From 812b131267a9fc93847e479f1bbd1c156cee0806 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 22 Mar 2023 13:04:26 -0500
Subject: [PATCH 001/115] draft of v2 standard for working group

---
 contracts/ExampleToken-v2.cdc     | 268 ++++++++++++++++++++++++++++++
 contracts/FungibleToken-v2.cdc    | 234 ++++++++++++++++++++++++++
 lib/go/contracts/contracts.go     |  19 ++-
 lib/go/test/token_test_helpers.go |  64 +++++++
 lib/go/test/token_v2_test.go      |  29 ++++
 5 files changed, 613 insertions(+), 1 deletion(-)
 create mode 100644 contracts/ExampleToken-v2.cdc
 create mode 100644 contracts/FungibleToken-v2.cdc
 create mode 100644 lib/go/test/token_v2_test.go

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
new file mode 100644
index 00000000..f85ba705
--- /dev/null
+++ b/contracts/ExampleToken-v2.cdc
@@ -0,0 +1,268 @@
+import FungibleToken from "./FungibleToken-v2.cdc"
+import MetadataViews from "./utility/MetadataViews.cdc"
+import FungibleTokenMetadataViews from "./FungibleTokenMetadataViews.cdc"
+
+pub contract ExampleToken: FungibleToken {
+
+    /// Total supply of ExampleTokens in existence
+    access(contract) var totalSupply: {Type: UFix64}
+
+    /// Admin Path
+    pub let AdminStoragePath: StoragePath
+
+    /// EVENTS
+    /// TokensWithdrawn
+    ///
+    /// The event that is emitted when tokens are withdrawn from a Vault
+    pub event TokensWithdrawn(amount: UFix64, from: Address?, type: Type)
+
+    /// TokensDeposited
+    ///
+    /// The event that is emitted when tokens are deposited to a Vault
+    pub event TokensDeposited(amount: UFix64, to: Address?, type: Type)
+
+    /// TokensTransferred
+    ///
+    /// The event that is emitted when tokens are transferred from one account to another
+    pub event TokensTransferred(amount: UFix64, from: Address?, to: Address?, type: Type)
+
+    /// TokensMinted
+    ///
+    /// The event that is emitted when new tokens are minted
+    pub event TokensMinted(amount: UFix64, type: Type)
+
+    /// TokensBurned
+    ///
+    /// The event that is emitted when tokens are destroyed
+    pub event TokensBurned(amount: UFix64, type: Type)
+
+    /// Function to return the types that the contract implements
+    pub fun getVaultTypes(): {Type: FungibleTokenMetadataViews.FTView} {
+        let typeDictionary: {Type: FungibleTokenMetadataViews.FTView} = {}
+
+        let vault <- create Vault(balance: 0.0)
+
+        typeDictionary[vault.getType()] = vault.resolveView(Type<FungibleTokenMetadataViews.FTView>()) as! FungibleTokenMetadataViews.FTView
+
+        destroy vault
+        
+        return typeDictionary
+    }
+
+    /// Vault
+    ///
+    /// Each user stores an instance of only the Vault in their storage
+    /// The functions in the Vault and governed by the pre and post conditions
+    /// in FungibleToken when they are called.
+    /// The checks happen at runtime whenever a function is called.
+    ///
+    /// Resources can only be created in the context of the contract that they
+    /// are defined in, so there is no way for a malicious user to create Vaults
+    /// out of thin air. A special Minter resource needs to be defined to mint
+    /// new tokens.
+    ///
+    pub resource Vault: FungibleToken.Vault, FungibleToken.Provider, FungibleToken.Transferable, FungibleToken.Receiver, FungibleToken.Balance {
+
+        /// The total balance of this vault
+        pub var balance: UFix64
+
+        access(self) var storagePath: StoragePath
+        access(self) var publicPath: PublicPath
+
+        pub fun getViews(): [Type] {
+            return [Type<FungibleTokenMetadataViews.FTView>(),
+                    Type<FungibleTokenMetadataViews.FTDisplay>(),
+                    Type<FungibleTokenMetadataViews.FTVaultData>()]
+        }
+
+        pub fun resolveView(_ view: Type): AnyStruct? {
+            switch view {
+                case Type<FungibleTokenMetadataViews.FTView>():
+                    return FungibleTokenMetadataViews.FTView(
+                        ftDisplay: self.resolveView(Type<FungibleTokenMetadataViews.FTDisplay>()) as! FungibleTokenMetadataViews.FTDisplay?,
+                        ftVaultData: self.resolveView(Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+                    )
+                case Type<FungibleTokenMetadataViews.FTDisplay>():
+                    let media = MetadataViews.Media(
+                            file: MetadataViews.HTTPFile(
+                            url: "https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.svg"
+                        ),
+                        mediaType: "image/svg+xml"
+                    )
+                    let medias = MetadataViews.Medias([media])
+                    return FungibleTokenMetadataViews.FTDisplay(
+                        name: "Example Fungible Token",
+                        symbol: "EFT",
+                        description: "This fungible token is used as an example to help you develop your next FT #onFlow.",
+                        externalURL: MetadataViews.ExternalURL("https://example-ft.onflow.org"),
+                        logos: medias,
+                        socials: {
+                            "twitter": MetadataViews.ExternalURL("https://twitter.com/flow_blockchain")
+                        }
+                    )
+                case Type<FungibleTokenMetadataViews.FTVaultData>():
+                    let vaultRef = self.account.borrow<&ExampleToken.Vault>(from: self.storagePath)
+                        ?? panic("Could not borrow a reference to the stored vault")
+                    return FungibleTokenMetadataViews.FTVaultData(
+                        storagePath: self.storagePath,
+                        receiverPath: self.publicPath,
+                        metadataPath: self.publicPath,
+                        providerPath: /private/exampleTokenVault,
+                        receiverLinkedType: Type<&ExampleToken.Vault{FungibleToken.Receiver}>(),
+                        metadataLinkedType: Type<&ExampleToken.Vault{FungibleToken.Balance, MetadataViews.Resolver}>(),
+                        providerLinkedType: Type<&ExampleToken.Vault{FungibleToken.Provider}>(),
+                        createEmptyVaultFunction: (fun (): @ExampleToken.Vault{FungibleToken.Vault} {
+                            return <-vaultRef.createEmptyVault
+                        })
+                    )
+            }
+            return nil
+        }
+
+        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
+        pub fun getSupportedVaultTypes(): {Type: Bool} {
+            let supportedTypes: {Type: Bool} = {}
+            supportedTypes[self.getType()] = true
+            return supportedTypes
+        }
+
+        // initialize the balance at resource creation time
+        init(balance: UFix64) {
+            self.balance = balance
+            let identifier = "exampleTokenVault"
+            self.storagePath = StoragePath(identifier: identifier)!
+            self.publicPath = PublicPath(identifier: identifier)!
+        }
+
+        /// Get the balance of the vault
+        pub fun getBalance(): UFix64 {
+            return self.balance
+        }
+
+        /// withdraw
+        ///
+        /// Function that takes an amount as an argument
+        /// and withdraws that amount from the Vault.
+        ///
+        /// It creates a new temporary Vault that is used to hold
+        /// the tokens that are being transferred. It returns the newly
+        /// created Vault to the context that called so it can be deposited
+        /// elsewhere.
+        ///
+        pub fun withdraw(amount: UFix64): @ExampleToken.Vault{FungibleToken.Vault} {
+            self.balance = self.balance - amount
+            emit TokensWithdrawn(amount: amount, from: self.owner?.address, type: self.getType())
+            return <-create Vault(balance: amount)
+        }
+
+        /// deposit
+        ///
+        /// Function that takes a Vault object as an argument and adds
+        /// its balance to the balance of the owners Vault.
+        ///
+        /// It is allowed to destroy the sent Vault because the Vault
+        /// was a temporary holder of the tokens. The Vault's balance has
+        /// been consumed and therefore can be destroyed.
+        ///
+        pub fun deposit(from: @AnyResource{FungibleToken.Vault}) {
+            let vault <- from as! @ExampleToken.Vault
+            self.balance = self.balance + vault.balance
+            emit TokensDeposited(amount: vault.balance, to: self.owner?.address, type: self.getType())
+            vault.balance = 0.0
+            destroy vault
+        }
+
+        pub fun transfer(amount: UFix64, recipient: Capability<&{FungibleToken.Receiver}>) {
+            let transferVault <- self.withdraw(amount: amount)
+
+            // Get a reference to the recipient's Receiver
+            let receiverRef = recipient.borrow()
+                ?? panic("Could not borrow receiver reference to the recipient's Vault")
+
+            // Deposit the withdrawn tokens in the recipient's receiver
+            receiverRef.deposit(from: <-transferVault)
+
+            emit TokensTransferred(amount: amount, from: self.owner?.address, to: receiverRef.owner?.address, type: self.getType())
+        }
+
+        /// createEmptyVault
+        ///
+        /// Function that creates a new Vault with a balance of zero
+        /// and returns it to the calling context. A user must call this function
+        /// and store the returned Vault in their storage in order to allow their
+        /// account to be able to receive deposits of this token type.
+        ///
+        pub fun createEmptyVault(): @ExampleToken.Vault{FungibleToken.Vault} {
+            return <-create Vault(balance: 0.0)
+        }
+
+        destroy() {
+            if self.balance > 0.0 {
+                ExampleToken.totalSupply[self.getType()] = ExampleToken.totalSupply[self.getType()]! - self.balance
+            }
+        }
+    }
+
+    /// Minter
+    ///
+    /// Resource object that token admin accounts can hold to mint new tokens.
+    ///
+    pub resource Minter {
+        /// mintTokens
+        ///
+        /// Function that mints new tokens, adds them to the total supply,
+        /// and returns them to the calling context.
+        ///
+        pub fun mintTokens(amount: UFix64): @ExampleToken.Vault {
+            ExampleToken.totalSupply[self.getType()] = ExampleToken.totalSupply[self.getType()]! + amount
+            emit TokensMinted(amount: amount, type: self.getType())
+            return <-create Vault(balance: amount)
+        }
+    }
+
+    /// createEmptyVault
+    ///
+    /// Function that creates a new Vault with a balance of zero
+    /// and returns it to the calling context. A user must call this function
+    /// and store the returned Vault in their storage in order to allow their
+    /// account to be able to receive deposits of this token type.
+    ///
+    pub fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault}? {
+        switch vaultType {
+            case Type<@ExampleToken.Vault>():
+                return <- create Vault(balance: 0.0)
+            default:
+                return nil
+        }
+    }
+
+    init() {
+        self.totalSupply = {}
+        self.totalSupply[Type<@ExampleToken.Vault>()] = 1000.0
+
+        self.AdminStoragePath = /storage/exampleTokenAdmin 
+
+        // Create the Vault with the total supply of tokens and save it in storage
+        //
+        let vault <- create Vault(balance: self.totalSupply[Type<@ExampleToken.Vault>()]!)
+        let ftView = vault.resolveView(Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData
+
+        let storagePath = ftView.storagePath
+        let receiverBalancePath = ftView.receiverPath
+
+        self.account.save(<-vault, to: storagePath)
+
+        // Create a public capability to the stored Vault that exposes
+        // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
+        // and the `getBalance()` method through the `Balance` interface
+        //
+        self.account.link<&{FungibleToken.Receiver, FungibleToken.Balance}>(
+            receiverBalancePath,
+            target: storagePath
+        )
+
+        let admin <- create Minter()
+        self.account.save(<-admin, to: self.AdminStoragePath)
+    }
+}
+ 
\ No newline at end of file
diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
new file mode 100644
index 00000000..ea6b5ab9
--- /dev/null
+++ b/contracts/FungibleToken-v2.cdc
@@ -0,0 +1,234 @@
+/**
+
+# The Flow Fungible Token standard
+
+## `FungibleToken` contract
+
+The Fungible Token standard is no longer an interface
+that all fungible token contracts would have to conform to.
+
+If a users wants to deploy a new token contract, their contract
+does not need to implement the FungibleToken interface, but their tokens
+do need to implement the interfaces defined in this contract.
+
+## `Vault` resource interface
+
+Each fungible token resource type needs to implement the `Vault` resource interface.
+
+## `Provider`, `Receiver`, and `Balance` resource interfaces
+
+These interfaces declare pre-conditions and post-conditions that restrict
+the execution of the functions in the Vault.
+
+They are separate because it gives the user the ability to share
+a reference to their Vault that only exposes the fields functions
+in one or more of the interfaces.
+
+It also gives users the ability to make custom resources that implement
+these interfaces to do various things with the tokens.
+For example, a faucet can be implemented by conforming
+to the Provider interface.
+
+*/
+
+import FungibleTokenMetadataViews from "./FungibleTokenMetadataViews.cdc"
+
+/// FungibleToken
+///
+/// Fungible Token implementations are no longer required to implement the fungible token
+/// interface. We still have it as an interface here because there are some useful
+/// utility methods that many projects will still want to have on their contracts,
+/// but they are by no means required. all that is required is that the token
+/// implements the `Vault` interface
+pub contract interface FungibleToken {
+
+    /// TokensWithdrawn
+    ///
+    /// The event that is emitted when tokens are withdrawn from a Vault
+    pub event TokensWithdrawn(amount: UFix64, from: Address?, type: Type, ftView: FungibleTokenMetadataViews.FTView)
+
+    /// TokensDeposited
+    ///
+    /// The event that is emitted when tokens are deposited to a Vault
+    pub event TokensDeposited(amount: UFix64, to: Address?, type: Type, ftView: FungibleTokenMetadataViews.FTView)
+
+    /// TokensTransferred
+    ///
+    /// The event that is emitted when tokens are transferred from one account to another
+    pub event TokensTransferred(amount: UFix64, from: Address?, to: Address?, type: Type, ftView: FungibleTokenMetadataViews.FTView)
+
+    /// TokensMinted
+    ///
+    /// The event that is emitted when new tokens are minted
+    pub event TokensMinted(amount: UFix64, type: Type, ftView: FungibleTokenMetadataViews.FTView)
+
+    /// Contains the total supply of the fungible tokens defined in this contract
+    access(contract) var totalSupply: {Type: UFix64}
+
+    /// Function to return the types that the contract implements
+    pub fun getVaultTypes(): {Type: FungibleTokenMetadataViews.FTView} {
+        post {
+            result.length > 0: "Must indicate what fungible token types this contract defines"
+        }
+    }
+
+    /// Provider
+    ///
+    /// The interface that enforces the requirements for withdrawing
+    /// tokens from the implementing type.
+    ///
+    /// It does not enforce requirements on `balance` here,
+    /// because it leaves open the possibility of creating custom providers
+    /// that do not necessarily need their own balance.
+    ///
+    pub resource interface Provider {
+
+        /// withdraw subtracts tokens from the owner's Vault
+        /// and returns a Vault with the removed tokens.
+        ///
+        /// The function's access level is public, but this is not a problem
+        /// because only the owner storing the resource in their account
+        /// can initially call this function.
+        ///
+        /// The owner may grant other accounts access by creating a private
+        /// capability that allows specific other users to access
+        /// the provider resource through a reference.
+        ///
+        /// The owner may also grant all accounts access by creating a public
+        /// capability that allows all users to access the provider
+        /// resource through a reference.
+        ///
+        pub fun withdraw(amount: UFix64): @AnyResource{Vault} {
+            post {
+                // `result` refers to the return value
+                result.getBalance() == amount:
+                    "Withdrawal amount must be the same as the balance of the withdrawn Vault"
+            }
+        }
+    }
+    
+    pub resource interface Transferable {
+        /// Function for a direct transfer instead of having to do a deposit and withdrawal
+        ///
+        pub fun transfer(amount: UFix64, recipient: Capability<&{FungibleToken.Receiver}>)
+    }
+
+    /// Receiver
+    ///
+    /// The interface that enforces the requirements for depositing
+    /// tokens into the implementing type.
+    ///
+    /// We do not include a condition that checks the balance because
+    /// we want to give users the ability to make custom receivers that
+    /// can do custom things with the tokens, like split them up and
+    /// send them to different places.
+    ///
+    pub resource interface Receiver {
+
+        /// deposit takes a Vault and deposits it into the implementing resource type
+        ///
+        pub fun deposit(from: @AnyResource{Vault})
+
+        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
+        pub fun getSupportedVaultTypes(): {Type: Bool}
+    }
+
+    /// Balance
+    ///
+    /// This interface is now a general purpose metadata interface because
+    /// a public interface is needed to get metadata, but adding a whole new interface
+    /// for every account to upgrade to is probably too much of a breaking change
+    pub resource interface Balance {
+
+        /// Method to get the balance
+        /// The balance could be a derived field,
+        /// so there is no need to require an explicit field
+        pub fun getBalance(): UFix64
+
+        pub fun getSupportedVaultTypes(): {Type: Bool}
+
+        /// MetadataViews Methods
+        ///
+        pub fun getViews(): [Type] {
+            return []
+        }
+
+        pub fun resolveView(_ view: Type): AnyStruct? {
+            return nil
+        }
+    }
+
+    /// Vault
+    ///
+    /// Ideally, this interface would also conform to Receiver, Balance, Transferable, and Provider,
+    /// but that is not supported yet
+    ///
+    pub resource interface Vault { //: Receiver, Balance, Transferable, Provider {
+
+        /// Get the balance of the vault
+        pub fun getBalance(): UFix64
+
+        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
+        pub fun getSupportedVaultTypes(): {Type: Bool}
+
+        pub fun getViews(): [Type]
+        pub fun resolveView(_ view: Type): AnyStruct?
+
+        /// withdraw subtracts `amount` from the Vault's balance
+        /// and returns a new Vault with the subtracted balance
+        ///
+        pub fun withdraw(amount: UFix64): @AnyResource{Vault} {
+            pre {
+                self.getBalance() >= amount:
+                    "Amount withdrawn must be less than or equal than the balance of the Vault"
+            }
+            post {
+                // use the special function `before` to get the value of the `balance` field
+                // at the beginning of the function execution
+                //
+                self.getBalance() == before(self.getBalance()) - amount:
+                    "New Vault balance must be the difference of the previous balance and the withdrawn Vault balance"
+            }
+        }
+
+        /// deposit takes a Vault and adds its balance to the balance of this Vault
+        ///
+        pub fun deposit(from: @AnyResource{FungibleToken.Vault}) {
+            // Assert that the concrete type of the deposited vault is the same
+            // as the vault that is accepting the deposit
+            pre {
+                from.isInstance(self.getType()): 
+                    "Cannot deposit an incompatible token type"
+            }
+            post {
+                self.getBalance() == before(self.getBalance()) + before(from.getBalance()):
+                    "New Vault balance must be the sum of the previous balance and the deposited Vault"
+            }
+        }
+
+        /// Function for a direct transfer instead of having to do a deposit and withdrawal
+        ///
+        pub fun transfer(amount: UFix64, recipient: Capability<&{FungibleToken.Receiver}>) {
+            post {
+                self.getBalance() == before(self.getBalance()) - amount:
+                    "New Vault balance from the sender must be the difference of the previous balance and the withdrawn Vault balance"
+            }
+        }
+
+        /// createEmptyVault allows any user to create a new Vault that has a zero balance
+        ///
+        pub fun createEmptyVault(): @AnyResource{Vault} {
+            post {
+                result.getBalance() == 0.0: "The newly created Vault must have zero balance"
+            }
+        }
+    }
+
+    /// createEmptyVault allows any user to create a new Vault that has a zero balance
+    ///
+    pub fun createEmptyVault(vaultType: Type): @AnyResource{Vault}? {
+        post {
+            result.getBalance() == 0.0: "The newly created Vault must have zero balance"
+        }
+    }
+}
\ No newline at end of file
diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index d7fcccd9..ea030569 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -20,11 +20,12 @@ var (
 
 const (
 	filenameFungibleToken    = "FungibleToken.cdc"
+	filenameFungibleTokenV2  = "FungibleToken-v2.cdc"
 	filenameExampleToken     = "ExampleToken.cdc"
+	filenameExampleTokenV2   = "ExampleToken-v2.cdc"
 	filenameTokenForwarding  = "utility/TokenForwarding.cdc"
 	filenamePrivateForwarder = "utility/PrivateReceiverForwarder.cdc"
 	filenameFTMetadataViews  = "FungibleTokenMetadataViews.cdc"
-	filenameFTSwitchboard    = "FungibleTokenSwitchboard.cdc"
 )
 
 // FungibleToken returns the FungibleToken contract interface.
@@ -34,6 +35,11 @@ func FungibleToken() []byte {
 	return []byte(code)
 }
 
+// FungibleTokenV2 returns the FungibleToken-v2 contract.
+func FungibleTokenV2() []byte {
+	return assets.MustAsset(filenameFungibleTokenV2)
+}
+
 // FungibleToken returns the FungibleToken contract interface.
 func FungibleTokenMetadataViews(fungibleTokenAddr, metadataViewsAddr string) []byte {
 	code := assets.MustAssetString(filenameFTMetadataViews)
@@ -66,6 +72,17 @@ func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr stri
 	return []byte(code)
 }
 
+// ExampleTokenV2 returns the second version of the ExampleToken contract.
+//
+// The returned contract will import the FungibleToken interface from the specified address.
+func ExampleTokenV2(fungibleTokenAddr string) []byte {
+	code := assets.MustAssetString(filenameExampleTokenV2)
+
+	code = placeholderFungibleTokenV2.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+
+	return []byte(code)
+}
+
 // CustomToken returns the ExampleToken contract with a custom name.
 //
 // The returned contract will import the FungibleToken interface from the specified address.
diff --git a/lib/go/test/token_test_helpers.go b/lib/go/test/token_test_helpers.go
index cff3ee92..a4bcd4aa 100644
--- a/lib/go/test/token_test_helpers.go
+++ b/lib/go/test/token_test_helpers.go
@@ -140,3 +140,67 @@ func DeployTokenContracts(
 
 	return fungibleAddr, tokenAddr, forwardingAddr, metadataViewsAddr, fungibleMetadataViewsAddr
 }
+
+// Deploys the FungibleToken-V2, ExampleToken, and TokenForwarding contracts
+// to different accounts and returns their addresses
+func DeployV2TokenContracts(
+	b *emulator.Blockchain,
+	t *testing.T,
+	key []*flow.AccountKey,
+) (
+	fungibleAddr flow.Address,
+	//tokenAddr flow.Address,
+	//forwardingAddr flow.Address,
+) {
+	var err error
+
+	// Deploy the FungibleToken contract
+	fungibleTokenCode := contracts.FungibleTokenV2()
+	fungibleAddr, err = b.CreateAccount(
+		nil,
+		[]sdktemplates.Contract{
+			{
+				Name:   "FungibleToken",
+				Source: string(fungibleTokenCode),
+			},
+		},
+	)
+	assert.NoError(t, err)
+
+	_, err = b.CommitBlock()
+	assert.NoError(t, err)
+
+	// Deploy the ExampleToken contract
+	exampleTokenCode := contracts.ExampleTokenV2(fungibleAddr.String())
+	_, err = b.CreateAccount(
+		key,
+		[]sdktemplates.Contract{
+			{
+				Name:   "ExampleToken",
+				Source: string(exampleTokenCode),
+			},
+		},
+	)
+	assert.NoError(t, err)
+
+	_, err = b.CommitBlock()
+	assert.NoError(t, err)
+
+	// // Deploy the TokenForwarding contract
+	// forwardingCode := contracts.TokenForwarding(fungibleAddr.String())
+	// forwardingAddr, err = b.CreateAccount(
+	// 	key,
+	// 	[]sdktemplates.Contract{
+	// 		{
+	// 			Name:   "TokenForwarding",
+	// 			Source: string(forwardingCode),
+	// 		},
+	// 	},
+	// )
+	// assert.NoError(t, err)
+
+	// _, err = b.CommitBlock()
+	// assert.NoError(t, err)
+
+	return fungibleAddr //, nil, nil
+}
diff --git a/lib/go/test/token_v2_test.go b/lib/go/test/token_v2_test.go
new file mode 100644
index 00000000..73d38c64
--- /dev/null
+++ b/lib/go/test/token_v2_test.go
@@ -0,0 +1,29 @@
+package test
+
+import (
+	"testing"
+
+	// sdktemplates "github.com/onflow/flow-go-sdk/templates"
+	// "github.com/stretchr/testify/assert"
+	// "github.com/stretchr/testify/require"
+
+	// "github.com/onflow/cadence"
+	// jsoncdc "github.com/onflow/cadence/encoding/json"
+	"github.com/onflow/flow-go-sdk"
+	// "github.com/onflow/flow-go-sdk/crypto"
+	// "github.com/onflow/flow-ft/lib/go/contracts"
+	// "github.com/onflow/flow-ft/lib/go/templates"
+)
+
+func TestV2TokenDeployment(t *testing.T) {
+	b, accountKeys := newTestSetup(t)
+
+	exampleTokenAccountKey, _ := accountKeys.NewWithSigner()
+	_ = DeployV2TokenContracts(b, t, []*flow.AccountKey{exampleTokenAccountKey})
+
+	// t.Run("Should have initialized Supply field correctly", func(t *testing.T) {
+	// 	script := templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+	// 	supply := executeScriptAndCheck(t, b, script, nil)
+	// 	assert.Equal(t, CadenceUFix64("1000.0"), supply)
+	// })
+}

From f52547a2c998d817d3f9681e7a81d5e55fb14834 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 2 May 2023 17:11:11 -0500
Subject: [PATCH 002/115] bring FT v2 up to latest design

---
 contracts/ExampleToken-v2.cdc              |  93 ++-
 contracts/FungibleToken-v2.cdc             | 124 ++--
 contracts/FungibleTokenMetadataViews.cdc   |  15 +-
 contracts/MultipleVaults.cdc               |  25 +
 contracts/utility/MetadataViews.cdc        | 637 ++++++++++-----------
 contracts/utility/ViewResolver.cdc         |  41 ++
 lib/go/contracts/contracts.go              |  43 +-
 lib/go/contracts/internal/assets/assets.go | 104 +++-
 lib/go/test/go.mod                         |  19 +-
 lib/go/test/go.sum                         | 326 +----------
 lib/go/test/token_test_helpers.go          |  25 +-
 lib/go/test/token_v2_test.go               |   8 +-
 12 files changed, 667 insertions(+), 793 deletions(-)
 create mode 100644 contracts/MultipleVaults.cdc
 create mode 100644 contracts/utility/ViewResolver.cdc

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index f85ba705..3315abd6 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -1,8 +1,13 @@
 import FungibleToken from "./FungibleToken-v2.cdc"
 import MetadataViews from "./utility/MetadataViews.cdc"
 import FungibleTokenMetadataViews from "./FungibleTokenMetadataViews.cdc"
+import MultipleVaults from "./MultipleVaults.cdc"
+import ViewResolver from "./utility/ViewResolver.cdc"
 
-pub contract ExampleToken: FungibleToken {
+pub contract ExampleToken: ViewResolver, MultipleVaults {
+
+    /// The event that is emitted when new tokens are minted
+    pub event TokensMinted(amount: UFix64, type: String)
 
     /// Total supply of ExampleTokens in existence
     access(contract) var totalSupply: {Type: UFix64}
@@ -10,43 +15,10 @@ pub contract ExampleToken: FungibleToken {
     /// Admin Path
     pub let AdminStoragePath: StoragePath
 
-    /// EVENTS
-    /// TokensWithdrawn
-    ///
-    /// The event that is emitted when tokens are withdrawn from a Vault
-    pub event TokensWithdrawn(amount: UFix64, from: Address?, type: Type)
-
-    /// TokensDeposited
-    ///
-    /// The event that is emitted when tokens are deposited to a Vault
-    pub event TokensDeposited(amount: UFix64, to: Address?, type: Type)
-
-    /// TokensTransferred
-    ///
-    /// The event that is emitted when tokens are transferred from one account to another
-    pub event TokensTransferred(amount: UFix64, from: Address?, to: Address?, type: Type)
-
-    /// TokensMinted
-    ///
-    /// The event that is emitted when new tokens are minted
-    pub event TokensMinted(amount: UFix64, type: Type)
-
-    /// TokensBurned
-    ///
-    /// The event that is emitted when tokens are destroyed
-    pub event TokensBurned(amount: UFix64, type: Type)
-
     /// Function to return the types that the contract implements
-    pub fun getVaultTypes(): {Type: FungibleTokenMetadataViews.FTView} {
-        let typeDictionary: {Type: FungibleTokenMetadataViews.FTView} = {}
-
-        let vault <- create Vault(balance: 0.0)
-
-        typeDictionary[vault.getType()] = vault.resolveView(Type<FungibleTokenMetadataViews.FTView>()) as! FungibleTokenMetadataViews.FTView
-
-        destroy vault
-        
-        return typeDictionary
+    pub fun getVaultTypes(): [Type] {
+        let typeArray: [Type] = [Type<@ExampleToken.Vault>()]
+        return typeArray
     }
 
     /// Vault
@@ -61,7 +33,7 @@ pub contract ExampleToken: FungibleToken {
     /// out of thin air. A special Minter resource needs to be defined to mint
     /// new tokens.
     ///
-    pub resource Vault: FungibleToken.Vault, FungibleToken.Provider, FungibleToken.Transferable, FungibleToken.Receiver, FungibleToken.Balance {
+    pub resource Vault: FungibleToken.Vault, FungibleToken.Provider, FungibleToken.Transferor, FungibleToken.Receiver, FungibleToken.Balance, ViewResolver.Resolver {
 
         /// The total balance of this vault
         pub var balance: UFix64
@@ -69,6 +41,16 @@ pub contract ExampleToken: FungibleToken {
         access(self) var storagePath: StoragePath
         access(self) var publicPath: PublicPath
 
+        /// Returns the storage path where the vault should typically be stored
+        pub fun getDefaultStoragePath(): StoragePath? {
+            return self.storagePath
+        }
+
+        /// Returns the public path where this vault should have a public capability
+        pub fun getDefaultPublicPath(): PublicPath? {
+            return self.publicPath
+        }
+
         pub fun getViews(): [Type] {
             return [Type<FungibleTokenMetadataViews.FTView>(),
                     Type<FungibleTokenMetadataViews.FTDisplay>(),
@@ -101,7 +83,7 @@ pub contract ExampleToken: FungibleToken {
                         }
                     )
                 case Type<FungibleTokenMetadataViews.FTVaultData>():
-                    let vaultRef = self.account.borrow<&ExampleToken.Vault>(from: self.storagePath)
+                    let vaultRef = ExampleToken.account.borrow<&ExampleToken.Vault>(from: self.storagePath)
                         ?? panic("Could not borrow a reference to the stored vault")
                     return FungibleTokenMetadataViews.FTVaultData(
                         storagePath: self.storagePath,
@@ -109,10 +91,10 @@ pub contract ExampleToken: FungibleToken {
                         metadataPath: self.publicPath,
                         providerPath: /private/exampleTokenVault,
                         receiverLinkedType: Type<&ExampleToken.Vault{FungibleToken.Receiver}>(),
-                        metadataLinkedType: Type<&ExampleToken.Vault{FungibleToken.Balance, MetadataViews.Resolver}>(),
+                        metadataLinkedType: Type<&ExampleToken.Vault{FungibleToken.Balance, ViewResolver.Resolver}>(),
                         providerLinkedType: Type<&ExampleToken.Vault{FungibleToken.Provider}>(),
                         createEmptyVaultFunction: (fun (): @ExampleToken.Vault{FungibleToken.Vault} {
-                            return <-vaultRef.createEmptyVault
+                            return <-vaultRef.createEmptyVault()
                         })
                     )
             }
@@ -126,6 +108,10 @@ pub contract ExampleToken: FungibleToken {
             return supportedTypes
         }
 
+        pub fun isSupportedVaultType(type: Type): Bool {
+            return self.getSupportedVaultTypes()[type] ?? false
+        }
+
         // initialize the balance at resource creation time
         init(balance: UFix64) {
             self.balance = balance
@@ -151,7 +137,6 @@ pub contract ExampleToken: FungibleToken {
         ///
         pub fun withdraw(amount: UFix64): @ExampleToken.Vault{FungibleToken.Vault} {
             self.balance = self.balance - amount
-            emit TokensWithdrawn(amount: amount, from: self.owner?.address, type: self.getType())
             return <-create Vault(balance: amount)
         }
 
@@ -167,22 +152,19 @@ pub contract ExampleToken: FungibleToken {
         pub fun deposit(from: @AnyResource{FungibleToken.Vault}) {
             let vault <- from as! @ExampleToken.Vault
             self.balance = self.balance + vault.balance
-            emit TokensDeposited(amount: vault.balance, to: self.owner?.address, type: self.getType())
             vault.balance = 0.0
             destroy vault
         }
 
-        pub fun transfer(amount: UFix64, recipient: Capability<&{FungibleToken.Receiver}>) {
+        pub fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
             let transferVault <- self.withdraw(amount: amount)
 
             // Get a reference to the recipient's Receiver
-            let receiverRef = recipient.borrow()
+            let receiverRef = receiver.borrow()
                 ?? panic("Could not borrow receiver reference to the recipient's Vault")
 
             // Deposit the withdrawn tokens in the recipient's receiver
             receiverRef.deposit(from: <-transferVault)
-
-            emit TokensTransferred(amount: amount, from: self.owner?.address, to: receiverRef.owner?.address, type: self.getType())
         }
 
         /// createEmptyVault
@@ -215,7 +197,7 @@ pub contract ExampleToken: FungibleToken {
         ///
         pub fun mintTokens(amount: UFix64): @ExampleToken.Vault {
             ExampleToken.totalSupply[self.getType()] = ExampleToken.totalSupply[self.getType()]! + amount
-            emit TokensMinted(amount: amount, type: self.getType())
+            emit TokensMinted(amount: amount, type: self.getType().identifier)
             return <-create Vault(balance: amount)
         }
     }
@@ -227,12 +209,12 @@ pub contract ExampleToken: FungibleToken {
     /// and store the returned Vault in their storage in order to allow their
     /// account to be able to receive deposits of this token type.
     ///
-    pub fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault}? {
+    pub fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault} {
         switch vaultType {
             case Type<@ExampleToken.Vault>():
                 return <- create Vault(balance: 0.0)
             default:
-                return nil
+                return <- create Vault(balance: 0.0)
         }
     }
 
@@ -245,20 +227,15 @@ pub contract ExampleToken: FungibleToken {
         // Create the Vault with the total supply of tokens and save it in storage
         //
         let vault <- create Vault(balance: self.totalSupply[Type<@ExampleToken.Vault>()]!)
-        let ftView = vault.resolveView(Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData
-
-        let storagePath = ftView.storagePath
-        let receiverBalancePath = ftView.receiverPath
-
-        self.account.save(<-vault, to: storagePath)
+        self.account.save(<-vault, to: /storage/exampleTokenVault)
 
         // Create a public capability to the stored Vault that exposes
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
         // and the `getBalance()` method through the `Balance` interface
         //
         self.account.link<&{FungibleToken.Receiver, FungibleToken.Balance}>(
-            receiverBalancePath,
-            target: storagePath
+            /public/exampleTokenVault,
+            target: /storage/exampleTokenVault
         )
 
         let admin <- create Minter()
diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index ea6b5ab9..db298ba8 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -31,7 +31,7 @@ to the Provider interface.
 
 */
 
-import FungibleTokenMetadataViews from "./FungibleTokenMetadataViews.cdc"
+import ViewResolver from "./utility/ViewResolver.cdc"
 
 /// FungibleToken
 ///
@@ -40,36 +40,37 @@ import FungibleTokenMetadataViews from "./FungibleTokenMetadataViews.cdc"
 /// utility methods that many projects will still want to have on their contracts,
 /// but they are by no means required. all that is required is that the token
 /// implements the `Vault` interface
-pub contract interface FungibleToken {
+pub contract FungibleToken {
 
-    /// TokensWithdrawn
-    ///
     /// The event that is emitted when tokens are withdrawn from a Vault
-    pub event TokensWithdrawn(amount: UFix64, from: Address?, type: Type, ftView: FungibleTokenMetadataViews.FTView)
+    pub event Withdraw(amount: UFix64, from: Address?, type: String)
+    access(self) fun emitWithdrawEvent(amount: UFix64, from: Address?, type: String): Bool {
+        emit Withdraw(amount: amount, from: from, type: type)
+        return true
+    }
 
-    /// TokensDeposited
-    ///
     /// The event that is emitted when tokens are deposited to a Vault
-    pub event TokensDeposited(amount: UFix64, to: Address?, type: Type, ftView: FungibleTokenMetadataViews.FTView)
+    pub event Deposit(amount: UFix64, to: Address?, type: String)
+    access(self) fun emitDepositEvent(amount: UFix64, to: Address?, type: String): Bool {
+        emit Deposit(amount: amount, to: to, type: type)
+        return true
+    }
 
-    /// TokensTransferred
-    ///
     /// The event that is emitted when tokens are transferred from one account to another
-    pub event TokensTransferred(amount: UFix64, from: Address?, to: Address?, type: Type, ftView: FungibleTokenMetadataViews.FTView)
-
-    /// TokensMinted
-    ///
-    /// The event that is emitted when new tokens are minted
-    pub event TokensMinted(amount: UFix64, type: Type, ftView: FungibleTokenMetadataViews.FTView)
+    pub event Transfer(amount: UFix64, from: Address?, to: Address?, type: String)
+    access(self) fun emitTransferEvent(amount: UFix64, from: Address?, to: Address?, type: String): Bool {
+        emit Transfer(amount: amount, from: from, to: to, type: type)
+        return true
+    }
 
-    /// Contains the total supply of the fungible tokens defined in this contract
-    access(contract) var totalSupply: {Type: UFix64}
+    /// Event emitted when tokens are destroyed
+    pub event Burn(amount: UFix64, type: String)
 
-    /// Function to return the types that the contract implements
-    pub fun getVaultTypes(): {Type: FungibleTokenMetadataViews.FTView} {
-        post {
-            result.length > 0: "Must indicate what fungible token types this contract defines"
+    access(self) fun emitBurnEvent(amount: UFix64, type: String): Bool {
+        if amount >= 0.0 {
+            emit Burn(amount: amount, type: type)
         }
+        return true
     }
 
     /// Provider
@@ -103,15 +104,10 @@ pub contract interface FungibleToken {
                 // `result` refers to the return value
                 result.getBalance() == amount:
                     "Withdrawal amount must be the same as the balance of the withdrawn Vault"
+                FungibleToken.emitWithdrawEvent(amount: amount, from: self.owner?.address, type: self.getType().identifier)
             }
         }
     }
-    
-    pub resource interface Transferable {
-        /// Function for a direct transfer instead of having to do a deposit and withdrawal
-        ///
-        pub fun transfer(amount: UFix64, recipient: Capability<&{FungibleToken.Receiver}>)
-    }
 
     /// Receiver
     ///
@@ -130,7 +126,33 @@ pub contract interface FungibleToken {
         pub fun deposit(from: @AnyResource{Vault})
 
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        pub fun getSupportedVaultTypes(): {Type: Bool}
+        pub fun getSupportedVaultTypes(): {Type: Bool} {
+            // Below check is implemented to make sure that run-time type would
+            // only get returned when the parent resource conforms with `FungibleToken.Vault`. 
+            if self.getType().isSubtype(of: Type<@AnyResource{FungibleToken.Vault}>()) {
+                return {self.getType(): true}
+            } else {
+                // Return an empty dictionary as the default value for resource who don't
+                // implement `FungibleToken.Vault`, such as `FungibleTokenSwitchboard`, `TokenForwarder` etc.
+                return {}
+            }
+        }
+
+        /// Returns whether or not the given type is accepted by the Receiver
+        /// A vault that can accept any type should just return true by default
+        pub fun isSupportedVaultType(type: Type): Bool {
+            return false
+        }
+    }
+
+    pub resource interface Transferor {
+        /// Function for a direct transfer instead of having to do a deposit and withdrawal
+        ///
+        pub fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
+            pre {
+                receiver.check(): "Could not borrow a reference to the NFT receiver"
+            }
+        }
     }
 
     /// Balance
@@ -138,7 +160,7 @@ pub contract interface FungibleToken {
     /// This interface is now a general purpose metadata interface because
     /// a public interface is needed to get metadata, but adding a whole new interface
     /// for every account to upgrade to is probably too much of a breaking change
-    pub resource interface Balance {
+    pub resource interface Balance { //: ViewResolver.Resolver {
 
         /// Method to get the balance
         /// The balance could be a derived field,
@@ -146,24 +168,20 @@ pub contract interface FungibleToken {
         pub fun getBalance(): UFix64
 
         pub fun getSupportedVaultTypes(): {Type: Bool}
+        pub fun isSupportedVaultType(type: Type): Bool
 
-        /// MetadataViews Methods
+        /// ViewResolver Methods
         ///
-        pub fun getViews(): [Type] {
-            return []
-        }
-
-        pub fun resolveView(_ view: Type): AnyStruct? {
-            return nil
-        }
+        pub fun getViews(): [Type]
+        pub fun resolveView(_ view: Type): AnyStruct?
     }
 
     /// Vault
     ///
-    /// Ideally, this interface would also conform to Receiver, Balance, Transferable, and Provider,
+    /// Ideally, this interface would also conform to Receiver, Balance, Transferor, Provider, and Resolver
     /// but that is not supported yet
     ///
-    pub resource interface Vault { //: Receiver, Balance, Transferable, Provider {
+    pub resource interface Vault { //: Receiver, Balance, Transferor, Provider, ViewResolver.Resolver {
 
         /// Get the balance of the vault
         pub fun getBalance(): UFix64
@@ -171,6 +189,18 @@ pub contract interface FungibleToken {
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
         pub fun getSupportedVaultTypes(): {Type: Bool}
 
+        pub fun isSupportedVaultType(type: Type): Bool
+
+        /// Returns the storage path where the vault should typically be stored
+        pub fun getDefaultStoragePath(): StoragePath? {
+            return nil
+        }
+
+        /// Returns the public path where this vault should have a public capability
+        pub fun getDefaultPublicPath(): PublicPath? {
+            return nil
+        }
+
         pub fun getViews(): [Type]
         pub fun resolveView(_ view: Type): AnyStruct?
 
@@ -199,6 +229,7 @@ pub contract interface FungibleToken {
             pre {
                 from.isInstance(self.getType()): 
                     "Cannot deposit an incompatible token type"
+                FungibleToken.emitDepositEvent(amount: from.getBalance(), to: self.owner?.address, type: from.getType().identifier)
             }
             post {
                 self.getBalance() == before(self.getBalance()) + before(from.getBalance()):
@@ -208,10 +239,11 @@ pub contract interface FungibleToken {
 
         /// Function for a direct transfer instead of having to do a deposit and withdrawal
         ///
-        pub fun transfer(amount: UFix64, recipient: Capability<&{FungibleToken.Receiver}>) {
+        pub fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
             post {
                 self.getBalance() == before(self.getBalance()) - amount:
                     "New Vault balance from the sender must be the difference of the previous balance and the withdrawn Vault balance"
+                FungibleToken.emitTransferEvent(amount: amount, from: self.owner?.address, to: receiver.borrow()?.owner?.address, type: self.getType().identifier)
             }
         }
 
@@ -222,13 +254,11 @@ pub contract interface FungibleToken {
                 result.getBalance() == 0.0: "The newly created Vault must have zero balance"
             }
         }
-    }
 
-    /// createEmptyVault allows any user to create a new Vault that has a zero balance
-    ///
-    pub fun createEmptyVault(vaultType: Type): @AnyResource{Vault}? {
-        post {
-            result.getBalance() == 0.0: "The newly created Vault must have zero balance"
+        destroy() {
+            pre {
+                FungibleToken.emitBurnEvent(amount: self.getBalance(), type: self.getType().identifier)
+            }
         }
     }
 }
\ No newline at end of file
diff --git a/contracts/FungibleTokenMetadataViews.cdc b/contracts/FungibleTokenMetadataViews.cdc
index d8dda1b7..62489a66 100644
--- a/contracts/FungibleTokenMetadataViews.cdc
+++ b/contracts/FungibleTokenMetadataViews.cdc
@@ -1,5 +1,6 @@
 import FungibleToken from "FungibleToken"
 import MetadataViews from "MetadataViews"
+import ViewResolver from "ViewResolver"
 
 /// This contract implements the metadata standard proposed
 /// in FLIP-1087.
@@ -33,7 +34,7 @@ pub contract FungibleTokenMetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A FTView struct
     ///
-    pub fun getFTView(viewResolver: &{MetadataViews.Resolver}): FTView {
+    pub fun getFTView(viewResolver: &{ViewResolver.Resolver}): FTView {
         let maybeFTView = viewResolver.resolveView(Type<FTView>())
         if let ftView = maybeFTView {
             return ftView as! FTView
@@ -97,7 +98,7 @@ pub contract FungibleTokenMetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return An optional FTDisplay struct
     ///
-    pub fun getFTDisplay(_ viewResolver: &{MetadataViews.Resolver}): FTDisplay? {
+    pub fun getFTDisplay(_ viewResolver: &{ViewResolver.Resolver}): FTDisplay? {
         if let maybeDisplayView = viewResolver.resolveView(Type<FTDisplay>()) {
             if let displayView = maybeDisplayView as? FTDisplay {
                 return displayView
@@ -129,7 +130,7 @@ pub contract FungibleTokenMetadataViews {
         pub let receiverLinkedType: Type
 
         /// Type that should be linked at the `receiverPath`. This is a restricted type requiring 
-        /// the `FungibleToken.Balance` and `MetadataViews.Resolver` interfaces.
+        /// the `FungibleToken.Balance` and `ViewResolver.Resolver` interfaces.
         pub let metadataLinkedType: Type
 
         /// Type that should be linked at the aforementioned private path. This 
@@ -138,7 +139,7 @@ pub contract FungibleTokenMetadataViews {
 
         /// Function that allows creation of an empty FT vault that is intended
         /// to store the funds.
-        pub let createEmptyVault: ((): @FungibleToken.Vault)
+        pub let createEmptyVault: ((): @{FungibleToken.Vault})
 
         init(
             storagePath: StoragePath,
@@ -148,11 +149,11 @@ pub contract FungibleTokenMetadataViews {
             receiverLinkedType: Type,
             metadataLinkedType: Type,
             providerLinkedType: Type,
-            createEmptyVaultFunction: ((): @FungibleToken.Vault)
+            createEmptyVaultFunction: ((): @{FungibleToken.Vault})
         ) {
             pre {
                 receiverLinkedType.isSubtype(of: Type<&{FungibleToken.Receiver}>()): "Receiver public type must include FungibleToken.Receiver."
-                metadataLinkedType.isSubtype(of: Type<&{FungibleToken.Balance, MetadataViews.Resolver}>()): "Metadata public type must include FungibleToken.Balance and MetadataViews.Resolver interfaces."
+                metadataLinkedType.isSubtype(of: Type<&{FungibleToken.Balance, ViewResolver.Resolver}>()): "Metadata public type must include FungibleToken.Balance and ViewResolver.Resolver interfaces."
                 providerLinkedType.isSubtype(of: Type<&{FungibleToken.Provider}>()): "Provider type must include FungibleToken.Provider interface."
             }
             self.storagePath = storagePath
@@ -171,7 +172,7 @@ pub contract FungibleTokenMetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional FTVaultData struct
     ///
-    pub fun getFTVaultData(_ viewResolver: &{MetadataViews.Resolver}): FTVaultData? {
+    pub fun getFTVaultData(_ viewResolver: &{ViewResolver.Resolver}): FTVaultData? {
         if let view = viewResolver.resolveView(Type<FTVaultData>()) {
             if let v = view as? FTVaultData {
                 return v
diff --git a/contracts/MultipleVaults.cdc b/contracts/MultipleVaults.cdc
new file mode 100644
index 00000000..46a4cce2
--- /dev/null
+++ b/contracts/MultipleVaults.cdc
@@ -0,0 +1,25 @@
+
+
+import FungibleToken from "./FungibleToken-v2.cdc"
+
+pub contract interface MultipleVaults {
+
+    /// Contains the total supply of the fungible tokens defined in this contract
+    access(contract) var totalSupply: {Type: UFix64}
+
+    /// Function to return the types that the contract implements
+    pub fun getVaultTypes(): [Type] {
+        post {
+            result.length > 0: "Must indicate what fungible token types this contract defines"
+        }
+    }
+
+    /// createEmptyVault allows any user to create a new Vault that has a zero balance
+    ///
+    pub fun createEmptyVault(vaultType: Type): @AnyResource{FungibleToken.Vault} {
+        post {
+            result.getBalance() == 0.0: "The newly created Vault must have zero balance"
+        }
+    }
+    
+}
\ No newline at end of file
diff --git a/contracts/utility/MetadataViews.cdc b/contracts/utility/MetadataViews.cdc
index 2934fdff..d1dcc84c 100644
--- a/contracts/utility/MetadataViews.cdc
+++ b/contracts/utility/MetadataViews.cdc
@@ -1,5 +1,6 @@
 import FungibleToken from "FungibleToken"
 import NonFungibleToken from "NonFungibleToken"
+import ViewResolver from "ViewResolver"
 
 /// This contract implements the metadata standard proposed
 /// in FLIP-0636.
@@ -13,81 +14,6 @@ import NonFungibleToken from "NonFungibleToken"
 ///
 pub contract MetadataViews {
 
-    /// Provides access to a set of metadata views. A struct or 
-    /// resource (e.g. an NFT) can implement this interface to provide access to 
-    /// the views that it supports.
-    ///
-    pub resource interface Resolver {
-        pub fun getViews(): [Type]
-        pub fun resolveView(_ view: Type): AnyStruct?
-    }
-
-    /// A group of view resolvers indexed by ID.
-    ///
-    pub resource interface ResolverCollection {
-        pub fun borrowViewResolver(id: UInt64): &{Resolver}
-        pub fun getIDs(): [UInt64]
-    }
-
-    /// NFTView wraps all Core views along `id` and `uuid` fields, and is used 
-    /// to give a complete picture of an NFT. Most NFTs should implement this 
-    /// view.
-    ///
-    pub struct NFTView {
-        pub let id: UInt64
-        pub let uuid: UInt64
-        pub let display: Display?
-        pub let externalURL: ExternalURL?
-        pub let collectionData: NFTCollectionData?
-        pub let collectionDisplay: NFTCollectionDisplay?
-        pub let royalties: Royalties?
-        pub let traits: Traits?
-
-        init(
-            id : UInt64,
-            uuid : UInt64,
-            display : Display?,
-            externalURL : ExternalURL?,
-            collectionData : NFTCollectionData?,
-            collectionDisplay : NFTCollectionDisplay?,
-            royalties : Royalties?,
-            traits: Traits?
-        ) {
-            self.id = id
-            self.uuid = uuid
-            self.display = display
-            self.externalURL = externalURL
-            self.collectionData = collectionData
-            self.collectionDisplay = collectionDisplay
-            self.royalties = royalties
-            self.traits = traits
-        }
-    }
-
-    /// Helper to get an NFT view 
-    ///
-    /// @param id: The NFT id
-    /// @param viewResolver: A reference to the resolver resource
-    /// @return A NFTView struct
-    ///
-    pub fun getNFTView(id: UInt64, viewResolver: &{Resolver}) : NFTView {
-        let nftView = viewResolver.resolveView(Type<NFTView>())
-        if nftView != nil {
-            return nftView! as! NFTView
-        }
-
-        return NFTView(
-            id : id,
-            uuid: viewResolver.uuid,
-            display: self.getDisplay(viewResolver),
-            externalURL : self.getExternalURL(viewResolver),
-            collectionData : self.getNFTCollectionData(viewResolver),
-            collectionDisplay : self.getNFTCollectionDisplay(viewResolver),
-            royalties : self.getRoyalties(viewResolver),
-            traits : self.getTraits(viewResolver)
-        )
-    }
-
     /// Display is a basic view that includes the name, description and
     /// thumbnail for an object. Most objects should implement this view.
     ///
@@ -130,7 +56,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return An optional Display struct
     ///
-    pub fun getDisplay(_ viewResolver: &{Resolver}) : Display? {
+    pub fun getDisplay(_ viewResolver: &{ViewResolver.Resolver}) : Display? {
         if let view = viewResolver.resolveView(Type<Display>()) {
             if let v = view as? Display {
                 return v
@@ -200,95 +126,103 @@ pub contract MetadataViews {
         }
     }
 
-    /// Optional view for collections that issue multiple objects
-    /// with the same or similar metadata, for example an X of 100 set. This 
-    /// information is useful for wallets and marketplaces.
-    /// An NFT might be part of multiple editions, which is why the edition 
-    /// information is returned as an arbitrary sized array
+    /// View to represent a file with an correspoiding mediaType.
     ///
-    pub struct Edition {
+    pub struct Media {
 
-        /// The name of the edition
-        /// For example, this could be Set, Play, Series,
-        /// or any other way a project could classify its editions
-        pub let name: String?
+        /// File for the media
+        ///
+        pub let file: AnyStruct{File}
 
-        /// The edition number of the object.
-        /// For an "24 of 100 (#24/100)" item, the number is 24.
-        pub let number: UInt64
+        /// media-type comes on the form of type/subtype as described here 
+        /// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types
+        ///
+        pub let mediaType: String
 
-        /// The max edition number of this type of objects.
-        /// This field should only be provided for limited-editioned objects.
-        /// For an "24 of 100 (#24/100)" item, max is 100.
-        /// For an item with unlimited edition, max should be set to nil.
-        /// 
-        pub let max: UInt64?
+        init(file: AnyStruct{File}, mediaType: String) {
+          self.file=file
+          self.mediaType=mediaType
+        }
+    }
 
-        init(name: String?, number: UInt64, max: UInt64?) {
-            if max != nil {
-                assert(number <= max!, message: "The number cannot be greater than the max number!")
-            }
-            self.name = name
-            self.number = number
-            self.max = max
+    /// Wrapper view for multiple media views
+    ///
+    pub struct Medias {
+
+        /// An arbitrary-sized list for any number of Media items
+        pub let items: [Media]
+
+        init(_ items: [Media]) {
+            self.items = items
         }
     }
 
-    /// Wrapper view for multiple Edition views
-    /// 
-    pub struct Editions {
+    /// Helper to get Medias in a typesafe way
+    ///
+    /// @param viewResolver: A reference to the resolver resource
+    /// @return A optional Medias struct
+    ///
+    pub fun getMedias(_ viewResolver: &{ViewResolver.Resolver}) : Medias? {
+        if let view = viewResolver.resolveView(Type<Medias>()) {
+            if let v = view as? Medias {
+                return v
+            }
+        }
+        return nil
+    }
 
-        /// An arbitrary-sized list for any number of editions
-        /// that the NFT might be a part of
-        pub let infoList: [Edition]
+    /// View to represent a license according to https://spdx.org/licenses/
+    /// This view can be used if the content of an NFT is licensed.
+    ///
+    pub struct License {
+        pub let spdxIdentifier: String
 
-        init(_ infoList: [Edition]) {
-            self.infoList = infoList
+        init(_ identifier: String) {
+            self.spdxIdentifier = identifier
         }
     }
 
-    /// Helper to get Editions in a typesafe way
+    /// Helper to get License in a typesafe way
     ///
     /// @param viewResolver: A reference to the resolver resource
-    /// @return An optional Editions struct
+    /// @return A optional License struct
     ///
-    pub fun getEditions(_ viewResolver: &{Resolver}) : Editions? {
-        if let view = viewResolver.resolveView(Type<Editions>()) {
-            if let v = view as? Editions {
+    pub fun getLicense(_ viewResolver: &{ViewResolver.Resolver}) : License? {
+        if let view = viewResolver.resolveView(Type<License>()) {
+            if let v = view as? License {
                 return v
             }
         }
         return nil
     }
 
-    /// View representing a project-defined serial number for a specific NFT
-    /// Projects have different definitions for what a serial number should be
-    /// Some may use the NFTs regular ID and some may use a different 
-    /// classification system. The serial number is expected to be unique among 
-    /// other NFTs within that project
+    /// View to expose a URL to this item on an external site.
+    /// This can be used by applications like .find and Blocto to direct users 
+    /// to the original link for an NFT or a project page that describes the NFT collection.
+    /// eg https://www.my-nft-project.com/overview-of-nft-collection
     ///
-    pub struct Serial {
-        pub let number: UInt64
+    pub struct ExternalURL {
+        pub let url: String
 
-        init(_ number: UInt64) {
-            self.number = number
+        init(_ url: String) {
+            self.url=url
         }
     }
 
-    /// Helper to get Serial in a typesafe way
+    /// Helper to get ExternalURL in a typesafe way
     ///
     /// @param viewResolver: A reference to the resolver resource
-    /// @return An optional Serial struct
+    /// @return A optional ExternalURL struct
     ///
-    pub fun getSerial(_ viewResolver: &{Resolver}) : Serial? {
-        if let view = viewResolver.resolveView(Type<Serial>()) {
-            if let v = view as? Serial {
+    pub fun getExternalURL(_ viewResolver: &{ViewResolver.Resolver}) : ExternalURL? {
+        if let view = viewResolver.resolveView(Type<ExternalURL>()) {
+            if let v = view as? ExternalURL {
                 return v
             }
         }
         return nil
     }
-    
+
     /// View that defines the composable royalty standard that gives marketplaces a 
     /// unified interface to support NFT royalties.
     ///
@@ -362,7 +296,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional Royalties struct
     ///
-    pub fun getRoyalties(_ viewResolver: &{Resolver}) : Royalties? {
+    pub fun getRoyalties(_ viewResolver: &{ViewResolver.Resolver}) : Royalties? {
         if let view = viewResolver.resolveView(Type<Royalties>()) {
             if let v = view as? Royalties {
                 return v
@@ -381,102 +315,284 @@ pub contract MetadataViews {
         return /public/GenericFTReceiver
     }
 
-    /// View to represent, a file with an correspoiding mediaType.
+    /// View to represent a single field of metadata on an NFT.
+    /// This is used to get traits of individual key/value pairs along with some
+    /// contextualized data about the trait
     ///
-    pub struct Media {
+    pub struct Trait {
+        // The name of the trait. Like Background, Eyes, Hair, etc.
+        pub let name: String
 
-        /// File for the media
-        ///
-        pub let file: AnyStruct{File}
+        // The underlying value of the trait, the rest of the fields of a trait provide context to the value.
+        pub let value: AnyStruct
 
-        /// media-type comes on the form of type/subtype as described here 
-        /// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types
-        ///
-        pub let mediaType: String
+        // displayType is used to show some context about what this name and value represent
+        // for instance, you could set value to a unix timestamp, and specify displayType as "Date" to tell
+        // platforms to consume this trait as a date and not a number
+        pub let displayType: String?
 
-        init(file: AnyStruct{File}, mediaType: String) {
-          self.file=file
-          self.mediaType=mediaType
+        // Rarity can also be used directly on an attribute.
+        //
+        // This is optional because not all attributes need to contribute to the NFT's rarity.
+        pub let rarity: Rarity?
+
+        init(name: String, value: AnyStruct, displayType: String?, rarity: Rarity?) {
+            self.name = name
+            self.value = value
+            self.displayType = displayType
+            self.rarity = rarity
         }
     }
 
-    /// Wrapper view for multiple media views
-    ///
-    pub struct Medias {
-
-        /// An arbitrary-sized list for any number of Media items
-        pub let items: [Media]
+    /// Wrapper view to return all the traits on an NFT.
+    /// This is used to return traits as individual key/value pairs along with
+    /// some contextualized data about each trait.
+    pub struct Traits {
+        pub let traits: [Trait]
 
-        init(_ items: [Media]) {
-            self.items = items
+        init(_ traits: [Trait]) {
+            self.traits = traits
+        }
+            
+        /// Adds a single Trait to the Traits view
+        /// 
+        /// @param Trait: The trait struct to be added
+        ///
+        pub fun addTrait(_ t: Trait) {
+            self.traits.append(t)
         }
     }
 
-    /// Helper to get Medias in a typesafe way
+    /// Helper to get Traits view in a typesafe way
     ///
     /// @param viewResolver: A reference to the resolver resource
-    /// @return A optional Medias struct
+    /// @return A optional Traits struct
     ///
-    pub fun getMedias(_ viewResolver: &{Resolver}) : Medias? {
-        if let view = viewResolver.resolveView(Type<Medias>()) {
-            if let v = view as? Medias {
+    pub fun getTraits(_ viewResolver: &{ViewResolver.Resolver}) : Traits? {
+        if let view = viewResolver.resolveView(Type<Traits>()) {
+            if let v = view as? Traits {
                 return v
             }
         }
         return nil
     }
 
-    /// View to represent a license according to https://spdx.org/licenses/
-    /// This view can be used if the content of an NFT is licensed.
+    /// Helper function to easily convert a dictionary to traits. For NFT 
+    /// collections that do not need either of the optional values of a Trait, 
+    /// this method should suffice to give them an array of valid traits.
     ///
-    pub struct License {
-        pub let spdxIdentifier: String
+    /// @param dict: The dictionary to be converted to Traits
+    /// @param excludedNames: An optional String array specifying the `dict`
+    ///         keys that are not wanted to become `Traits`
+    /// @return The generated Traits view
+    ///
+    pub fun dictToTraits(dict: {String: AnyStruct}, excludedNames: [String]?): Traits {
+        // Collection owners might not want all the fields in their metadata included.
+        // They might want to handle some specially, or they might just not want them included at all.
+        if excludedNames != nil {
+            for k in excludedNames! {
+                dict.remove(key: k)
+            }
+        }
 
-        init(_ identifier: String) {
-            self.spdxIdentifier = identifier
+        let traits: [Trait] = []
+        for k in dict.keys {
+            let trait = Trait(name: k, value: dict[k]!, displayType: nil, rarity: nil)
+            traits.append(trait)
         }
-    }
 
-    /// Helper to get License in a typesafe way
+        return Traits(traits)
+    }
+
+    /// Optional view for collections that issue multiple objects
+    /// with the same or similar metadata, for example an X of 100 set. This 
+    /// information is useful for wallets and marketplaces.
+    /// An NFT might be part of multiple editions, which is why the edition 
+    /// information is returned as an arbitrary sized array
+    ///
+    pub struct Edition {
+
+        /// The name of the edition
+        /// For example, this could be Set, Play, Series,
+        /// or any other way a project could classify its editions
+        pub let name: String?
+
+        /// The edition number of the object.
+        /// For an "24 of 100 (#24/100)" item, the number is 24.
+        pub let number: UInt64
+
+        /// The max edition number of this type of objects.
+        /// This field should only be provided for limited-editioned objects.
+        /// For an "24 of 100 (#24/100)" item, max is 100.
+        /// For an item with unlimited edition, max should be set to nil.
+        /// 
+        pub let max: UInt64?
+
+        init(name: String?, number: UInt64, max: UInt64?) {
+            if max != nil {
+                assert(number <= max!, message: "The number cannot be greater than the max number!")
+            }
+            self.name = name
+            self.number = number
+            self.max = max
+        }
+    }
+
+    /// Wrapper view for multiple Edition views
+    /// 
+    pub struct Editions {
+
+        /// An arbitrary-sized list for any number of editions
+        /// that the NFT might be a part of
+        pub let infoList: [Edition]
+
+        init(_ infoList: [Edition]) {
+            self.infoList = infoList
+        }
+    }
+
+    /// Helper to get Editions in a typesafe way
     ///
     /// @param viewResolver: A reference to the resolver resource
-    /// @return A optional License struct
+    /// @return An optional Editions struct
     ///
-    pub fun getLicense(_ viewResolver: &{Resolver}) : License? {
-        if let view = viewResolver.resolveView(Type<License>()) {
-            if let v = view as? License {
+    pub fun getEditions(_ viewResolver: &{ViewResolver.Resolver}) : Editions? {
+        if let view = viewResolver.resolveView(Type<Editions>()) {
+            if let v = view as? Editions {
                 return v
             }
         }
         return nil
     }
 
-    /// View to expose a URL to this item on an external site.
-    /// This can be used by applications like .find and Blocto to direct users 
-    /// to the original link for an NFT.
+    /// View representing a project-defined serial number for a specific NFT
+    /// Projects have different definitions for what a serial number should be
+    /// Some may use the NFTs regular ID and some may use a different 
+    /// classification system. The serial number is expected to be unique among 
+    /// other NFTs within that project
     ///
-    pub struct ExternalURL {
-        pub let url: String
+    pub struct Serial {
+        pub let number: UInt64
 
-        init(_ url: String) {
-            self.url=url
+        init(_ number: UInt64) {
+            self.number = number
         }
     }
 
-    /// Helper to get ExternalURL in a typesafe way
+    /// Helper to get Serial in a typesafe way
     ///
     /// @param viewResolver: A reference to the resolver resource
-    /// @return A optional ExternalURL struct
+    /// @return An optional Serial struct
     ///
-    pub fun getExternalURL(_ viewResolver: &{Resolver}) : ExternalURL? {
-        if let view = viewResolver.resolveView(Type<ExternalURL>()) {
-            if let v = view as? ExternalURL {
+    pub fun getSerial(_ viewResolver: &{ViewResolver.Resolver}) : Serial? {
+        if let view = viewResolver.resolveView(Type<Serial>()) {
+            if let v = view as? Serial {
                 return v
             }
         }
         return nil
     }
 
+    /// View to expose rarity information for a single rarity
+    /// Note that a rarity needs to have either score or description but it can 
+    /// have both
+    ///
+    pub struct Rarity {
+        /// The score of the rarity as a number
+        pub let score: UFix64?
+
+        /// The maximum value of score
+        pub let max: UFix64?
+
+        /// The description of the rarity as a string.
+        ///
+        /// This could be Legendary, Epic, Rare, Uncommon, Common or any other string value
+        pub let description: String?
+
+        init(score: UFix64?, max: UFix64?, description: String?) {
+            if score == nil && description == nil {
+                panic("A Rarity needs to set score, description or both")
+            }
+
+            self.score = score
+            self.max = max
+            self.description = description
+        }
+    }
+
+    /// Helper to get Rarity view in a typesafe way
+    ///
+    /// @param viewResolver: A reference to the resolver resource
+    /// @return A optional Rarity struct
+    ///
+    pub fun getRarity(_ viewResolver: &{ViewResolver.Resolver}) : Rarity? {
+        if let view = viewResolver.resolveView(Type<Rarity>()) {
+            if let v = view as? Rarity {
+                return v
+            }
+        }
+        return nil
+    }
+
+    /// NFTView wraps all Core views along `id` and `uuid` fields, and is used 
+    /// to give a complete picture of an NFT. Most NFTs should implement this 
+    /// view.
+    ///
+    pub struct NFTView {
+        pub let id: UInt64
+        pub let uuid: UInt64
+        pub let display: MetadataViews.Display?
+        pub let externalURL: MetadataViews.ExternalURL?
+        pub let collectionData: NFTCollectionData?
+        pub let collectionDisplay: NFTCollectionDisplay?
+        pub let royalties: Royalties?
+        pub let traits: Traits?
+
+        init(
+            id : UInt64,
+            uuid : UInt64,
+            display : MetadataViews.Display?,
+            externalURL : MetadataViews.ExternalURL?,
+            collectionData : NFTCollectionData?,
+            collectionDisplay : NFTCollectionDisplay?,
+            royalties : Royalties?,
+            traits: Traits?
+        ) {
+            self.id = id
+            self.uuid = uuid
+            self.display = display
+            self.externalURL = externalURL
+            self.collectionData = collectionData
+            self.collectionDisplay = collectionDisplay
+            self.royalties = royalties
+            self.traits = traits
+        }
+    }
+
+    /// Helper to get an NFT view 
+    ///
+    /// @param id: The NFT id
+    /// @param viewResolver: A reference to the resolver resource
+    /// @return A NFTView struct
+    ///
+    pub fun getNFTView(id: UInt64, viewResolver: &{ViewResolver.Resolver}) : NFTView {
+        let nftView = viewResolver.resolveView(Type<NFTView>())
+        if nftView != nil {
+            return nftView! as! NFTView
+        }
+
+        return NFTView(
+            id : id,
+            uuid: viewResolver.uuid,
+            display: MetadataViews.getDisplay(viewResolver),
+            externalURL : MetadataViews.getExternalURL(viewResolver),
+            collectionData : self.getNFTCollectionData(viewResolver),
+            collectionDisplay : self.getNFTCollectionDisplay(viewResolver),
+            royalties : self.getRoyalties(viewResolver),
+            traits : self.getTraits(viewResolver)
+        )
+    }
+
     /// View to expose the information needed store and retrieve an NFT.
     /// This can be used by applications to setup a NFT collection with proper 
     /// storage and public capabilities.
@@ -502,7 +618,7 @@ pub contract MetadataViews {
 
         /// Type that should be linked at the aforementioned public path. This is normally a
         /// restricted type with many interfaces. Notably the `NFT.CollectionPublic`,
-        /// `NFT.Receiver`, and `MetadataViews.ResolverCollection` interfaces are required.
+        /// `NFT.Receiver`, and `ViewResolver.ResolverCollection` interfaces are required.
         pub let publicLinkedType: Type
 
         /// Type that should be linked at the aforementioned private path. This is normally
@@ -511,7 +627,7 @@ pub contract MetadataViews {
 
         /// Function that allows creation of an empty NFT collection that is intended to store
         /// this NFT.
-        pub let createEmptyCollection: ((): @NonFungibleToken.Collection)
+        pub let createEmptyCollection: ((): @AnyResource{NonFungibleToken.Collection})
 
         init(
             storagePath: StoragePath,
@@ -520,11 +636,11 @@ pub contract MetadataViews {
             publicCollection: Type,
             publicLinkedType: Type,
             providerLinkedType: Type,
-            createEmptyCollectionFunction: ((): @NonFungibleToken.Collection)
+            createEmptyCollectionFunction: ((): @AnyResource{NonFungibleToken.Collection})
         ) {
             pre {
-                publicLinkedType.isSubtype(of: Type<&{NonFungibleToken.CollectionPublic, NonFungibleToken.Receiver, MetadataViews.ResolverCollection}>()): "Public type must include NonFungibleToken.CollectionPublic, NonFungibleToken.Receiver, and MetadataViews.ResolverCollection interfaces."
-                providerLinkedType.isSubtype(of: Type<&{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic, MetadataViews.ResolverCollection}>()): "Provider type must include NonFungibleToken.Provider, NonFungibleToken.CollectionPublic, and MetadataViews.ResolverCollection interface."
+                publicLinkedType.isSubtype(of: Type<&{NonFungibleToken.CollectionPublic, NonFungibleToken.Receiver, ViewResolver.ResolverCollection}>()): "Public type must include NonFungibleToken.CollectionPublic, NonFungibleToken.Receiver, and ViewResolver.ResolverCollection interfaces."
+                providerLinkedType.isSubtype(of: Type<&{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic, ViewResolver.ResolverCollection}>()): "Provider type must include NonFungibleToken.Provider, NonFungibleToken.CollectionPublic, and ViewResolver.ResolverCollection interface."
             }
             self.storagePath=storagePath
             self.publicPath=publicPath
@@ -541,7 +657,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional NFTCollectionData struct
     ///
-    pub fun getNFTCollectionData(_ viewResolver: &{Resolver}) : NFTCollectionData? {
+    pub fun getNFTCollectionData(_ viewResolver: &{ViewResolver.Resolver}) : NFTCollectionData? {
         if let view = viewResolver.resolveView(Type<NFTCollectionData>()) {
             if let v = view as? NFTCollectionData {
                 return v
@@ -562,25 +678,25 @@ pub contract MetadataViews {
         pub let description: String
 
         // External link to a URL to view more information about this collection.
-        pub let externalURL: ExternalURL
+        pub let externalURL: MetadataViews.ExternalURL
 
         // Square-sized image to represent this collection.
-        pub let squareImage: Media
+        pub let squareImage: MetadataViews.Media
 
         // Banner-sized image for this collection, recommended to have a size near 1200x630.
-        pub let bannerImage: Media
+        pub let bannerImage: MetadataViews.Media
 
         // Social links to reach this collection's social homepages.
         // Possible keys may be "instagram", "twitter", "discord", etc.
-        pub let socials: {String: ExternalURL}
+        pub let socials: {String: MetadataViews.ExternalURL}
 
         init(
             name: String,
             description: String,
-            externalURL: ExternalURL,
-            squareImage: Media,
-            bannerImage: Media,
-            socials: {String: ExternalURL}
+            externalURL: MetadataViews.ExternalURL,
+            squareImage: MetadataViews.Media,
+            bannerImage: MetadataViews.Media,
+            socials: {String: MetadataViews.ExternalURL}
         ) {
             self.name = name
             self.description = description
@@ -597,7 +713,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional NFTCollection struct
     ///
-    pub fun getNFTCollectionDisplay(_ viewResolver: &{Resolver}) : NFTCollectionDisplay? {
+    pub fun getNFTCollectionDisplay(_ viewResolver: &{ViewResolver.Resolver}) : NFTCollectionDisplay? {
         if let view = viewResolver.resolveView(Type<NFTCollectionDisplay>()) {
             if let v = view as? NFTCollectionDisplay {
                 return v
@@ -605,136 +721,5 @@ pub contract MetadataViews {
         }
         return nil
     }
-
-    /// View to expose rarity information for a single rarity
-    /// Note that a rarity needs to have either score or description but it can 
-    /// have both
-    ///
-    pub struct Rarity {
-        /// The score of the rarity as a number
-        pub let score: UFix64?
-
-        /// The maximum value of score
-        pub let max: UFix64?
-
-        /// The description of the rarity as a string.
-        ///
-        /// This could be Legendary, Epic, Rare, Uncommon, Common or any other string value
-        pub let description: String?
-
-        init(score: UFix64?, max: UFix64?, description: String?) {
-            if score == nil && description == nil {
-                panic("A Rarity needs to set score, description or both")
-            }
-
-            self.score = score
-            self.max = max
-            self.description = description
-        }
-    }
-
-    /// Helper to get Rarity view in a typesafe way
-    ///
-    /// @param viewResolver: A reference to the resolver resource
-    /// @return A optional Rarity struct
-    ///
-    pub fun getRarity(_ viewResolver: &{Resolver}) : Rarity? {
-        if let view = viewResolver.resolveView(Type<Rarity>()) {
-            if let v = view as? Rarity {
-                return v
-            }
-        }
-        return nil
-    }
-
-    /// View to represent a single field of metadata on an NFT.
-    /// This is used to get traits of individual key/value pairs along with some
-    /// contextualized data about the trait
-    ///
-    pub struct Trait {
-        // The name of the trait. Like Background, Eyes, Hair, etc.
-        pub let name: String
-
-        // The underlying value of the trait, the rest of the fields of a trait provide context to the value.
-        pub let value: AnyStruct
-
-        // displayType is used to show some context about what this name and value represent
-        // for instance, you could set value to a unix timestamp, and specify displayType as "Date" to tell
-        // platforms to consume this trait as a date and not a number
-        pub let displayType: String?
-
-        // Rarity can also be used directly on an attribute.
-        //
-        // This is optional because not all attributes need to contribute to the NFT's rarity.
-        pub let rarity: Rarity?
-
-        init(name: String, value: AnyStruct, displayType: String?, rarity: Rarity?) {
-            self.name = name
-            self.value = value
-            self.displayType = displayType
-            self.rarity = rarity
-        }
-    }
-
-    /// Wrapper view to return all the traits on an NFT.
-    /// This is used to return traits as individual key/value pairs along with
-    /// some contextualized data about each trait.
-    pub struct Traits {
-        pub let traits: [Trait]
-
-        init(_ traits: [Trait]) {
-            self.traits = traits
-        }
-            
-        /// Adds a single Trait to the Traits view
-        /// 
-        /// @param Trait: The trait struct to be added
-        ///
-        pub fun addTrait(_ t: Trait) {
-            self.traits.append(t)
-        }
-    }
-
-    /// Helper to get Traits view in a typesafe way
-    ///
-    /// @param viewResolver: A reference to the resolver resource
-    /// @return A optional Traits struct
-    ///
-    pub fun getTraits(_ viewResolver: &{Resolver}) : Traits? {
-        if let view = viewResolver.resolveView(Type<Traits>()) {
-            if let v = view as? Traits {
-                return v
-            }
-        }
-        return nil
-    }
-
-    /// Helper function to easily convert a dictionary to traits. For NFT 
-    /// collections that do not need either of the optional values of a Trait, 
-    /// this method should suffice to give them an array of valid traits.
-    ///
-    /// @param dict: The dictionary to be converted to Traits
-    /// @param excludedNames: An optional String array specifying the `dict`
-    ///         keys that are not wanted to become `Traits`
-    /// @return The generated Traits view
-    ///
-    pub fun dictToTraits(dict: {String: AnyStruct}, excludedNames: [String]?): Traits {
-        // Collection owners might not want all the fields in their metadata included.
-        // They might want to handle some specially, or they might just not want them included at all.
-        if excludedNames != nil {
-            for k in excludedNames! {
-                dict.remove(key: k)
-            }
-        }
-
-        let traits: [Trait] = []
-        for k in dict.keys {
-            let trait = Trait(name: k, value: dict[k]!, displayType: nil, rarity: nil)
-            traits.append(trait)
-        }
-
-        return Traits(traits)
-    }
-
 }
  
\ No newline at end of file
diff --git a/contracts/utility/ViewResolver.cdc b/contracts/utility/ViewResolver.cdc
new file mode 100644
index 00000000..05bd5dda
--- /dev/null
+++ b/contracts/utility/ViewResolver.cdc
@@ -0,0 +1,41 @@
+// Taken from the NFT Metadata standard, this contract exposes an interface to let 
+// anyone borrow a contract and resolve views on it.
+//
+// This will allow you to obtain information about a contract without necessarily knowing anything about it.
+// All you need is its address and name and you're good to go!
+pub contract interface ViewResolver {
+    /// Function that returns all the Metadata Views implemented by the resolving contract
+    ///
+    /// @return An array of Types defining the implemented views. This value will be used by
+    ///         developers to know which parameter to pass to the resolveView() method.
+    ///
+    pub fun getViews(): [Type] {
+        return []
+    }
+
+    /// Function that resolves a metadata view for this token.
+    ///
+    /// @param view: The Type of the desired view.
+    /// @return A structure representing the requested view.
+    ///
+    pub fun resolveView(_ view: Type): AnyStruct? {
+        return nil
+    }
+
+    /// Provides access to a set of metadata views. A struct or 
+    /// resource (e.g. an NFT) can implement this interface to provide access to 
+    /// the views that it supports.
+    ///
+    pub resource interface Resolver {
+        pub fun getViews(): [Type]
+        pub fun resolveView(_ view: Type): AnyStruct?
+    }
+
+    /// A group of view resolvers indexed by ID.
+    ///
+    pub resource interface ResolverCollection {
+        pub fun borrowViewResolver(id: UInt64): &{Resolver}?
+        pub fun getIDs(): [UInt64]
+    }
+}
+ 
\ No newline at end of file
diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index ea030569..ee626642 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -16,6 +16,10 @@ var (
 	placeholderExampleToken    = regexp.MustCompile(`"ExampleToken"`)
 	placeholderMetadataViews   = regexp.MustCompile(`"MetadataViews"`)
 	placeholderFTMetadataViews = regexp.MustCompile(`"FungibleTokenMetadataViews"`)
+	placeholderFungibleTokenV2 = regexp.MustCompile(`"FungibleToken-v2"`)
+	placeholderExampleTokenV2  = regexp.MustCompile(`"ExampleToken-v2"`)
+	placeholderViewResolver    = regexp.MustCompile(`"ViewResolver"`)
+	placeholderMultipleVaults  = regexp.MustCompile(`"MultipleVaults"`)
 )
 
 const (
@@ -25,7 +29,10 @@ const (
 	filenameExampleTokenV2   = "ExampleToken-v2.cdc"
 	filenameTokenForwarding  = "utility/TokenForwarding.cdc"
 	filenamePrivateForwarder = "utility/PrivateReceiverForwarder.cdc"
+	filenameFTSwitchboard    = "FungibleTokenSwitchboard.cdc"
 	filenameFTMetadataViews  = "FungibleTokenMetadataViews.cdc"
+	filenameViewResolver     = "utility/ViewResolver.cdc"
+	filenameMultipleVaults   = "MultipleVaults.cdc"
 )
 
 // FungibleToken returns the FungibleToken contract interface.
@@ -36,16 +43,21 @@ func FungibleToken() []byte {
 }
 
 // FungibleTokenV2 returns the FungibleToken-v2 contract.
-func FungibleTokenV2() []byte {
-	return assets.MustAsset(filenameFungibleTokenV2)
+func FungibleTokenV2(resolverAddr string) []byte {
+	code := assets.MustAssetString(filenameFungibleTokenV2)
+
+	code = placeholderViewResolver.ReplaceAllString(code, "0x"+resolverAddr)
+
+	return []byte(code)
 }
 
 // FungibleToken returns the FungibleToken contract interface.
-func FungibleTokenMetadataViews(fungibleTokenAddr, metadataViewsAddr string) []byte {
+func FungibleTokenMetadataViews(fungibleTokenAddr, metadataViewsAddr, viewResolverAddr string) []byte {
 	code := assets.MustAssetString(filenameFTMetadataViews)
 
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+	code = placeholderFungibleTokenV2.ReplaceAllString(code, "0x"+fungibleTokenAddr)
 	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
+	code = placeholderViewResolver.ReplaceAllString(code, "0x"+viewResolverAddr)
 
 	return []byte(code)
 }
@@ -59,6 +71,15 @@ func FungibleTokenSwitchboard(fungibleTokenAddr string) []byte {
 	return []byte(code)
 }
 
+// MultipleVaults returns the MultipleVaults contract.
+func MultipleVaults(fungibleTokenAddr string) []byte {
+	code := assets.MustAssetString(filenameMultipleVaults)
+
+	code = placeholderFungibleTokenV2.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+
+	return []byte(code)
+}
+
 // ExampleToken returns the ExampleToken contract.
 //
 // The returned contract will import the FungibleToken interface from the specified address.
@@ -75,10 +96,14 @@ func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr stri
 // ExampleTokenV2 returns the second version of the ExampleToken contract.
 //
 // The returned contract will import the FungibleToken interface from the specified address.
-func ExampleTokenV2(fungibleTokenAddr string) []byte {
+func ExampleTokenV2(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr, multipleVaultsAddr string) []byte {
 	code := assets.MustAssetString(filenameExampleTokenV2)
 
 	code = placeholderFungibleTokenV2.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
+	code = placeholderFTMetadataViews.ReplaceAllString(code, "0x"+ftMetadataViewsAddr)
+	code = placeholderViewResolver.ReplaceAllString(code, "0x"+viewResolverAddr)
+	code = placeholderMultipleVaults.ReplaceAllString(code, "0x"+multipleVaultsAddr)
 
 	return []byte(code)
 }
@@ -161,11 +186,3 @@ func PrivateReceiverForwarder(fungibleTokenAddr string) []byte {
 
 	return []byte(code)
 }
-
-func MetadataViews(fungibleTokenAddr string) []byte {
-	code := assets.MustAssetString(filenamePrivateForwarder)
-
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
-
-	return []byte(code)
-}
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 879d1a52..a3750e94 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,13 +1,17 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
+// ../../../contracts/ExampleToken-v2.cdc (10.591kB)
 // ../../../contracts/ExampleToken.cdc (11.792kB)
+// ../../../contracts/FungibleToken-v2.cdc (10.836kB)
 // ../../../contracts/FungibleToken.cdc (9.721kB)
-// ../../../contracts/FungibleTokenMetadataViews.cdc (7.241kB)
+// ../../../contracts/FungibleTokenMetadataViews.cdc (7.279kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (17.536kB)
-// ../../../contracts/utility/MetadataViews.cdc (26.322kB)
+// ../../../contracts/MultipleVaults.cdc (766B)
+// ../../../contracts/utility/MetadataViews.cdc (26.308kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (4.828kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.592kB)
 // ../../../contracts/utility/TokenForwarding.cdc (4.755kB)
+// ../../../contracts/utility/ViewResolver.cdc (1.5kB)
 
 package assets
 
@@ -77,6 +81,26 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x5f\x6f\x1b\x37\x12\x7f\xcf\xa7\x98\xe8\x80\x9e\x84\xda\xb2\xfb\x2f\xd7\x0a\x76\x5c\xb7\x89\xef\x0e\x68\x81\x20\x71\x73\x0f\x41\x10\x53\xbb\x23\x89\xe7\x5d\x72\x41\x72\x25\xab\x86\xbf\xfb\x61\xf8\x67\x77\xb9\xe2\xca\x8a\xd3\xd3\x8b\xa4\x25\x67\x38\x33\xfc\xcd\x70\x66\xb8\xbc\xac\xa4\x32\x70\x55\x8b\x25\x9f\x17\x78\x2d\x6f\x51\xc0\x42\xc9\x12\x46\xd3\x93\xe8\xe9\xf1\xfa\xdb\x69\x96\x67\xa3\x67\x9e\xe4\x77\x34\x2c\x67\x86\xbd\xe7\xb8\xd1\x0d\x49\x6d\x78\xc1\xcd\xf6\x24\x1a\x8d\xe8\x22\xa6\x69\x26\xc3\x53\x62\x09\xea\xc2\xf0\xaa\xc0\xf7\xac\x2e\x4c\x4b\x1d\x3f\x8e\x28\x88\xc7\x5b\xd4\xb2\x58\xa3\xda\x11\xb9\x3b\xe8\xa8\x9e\x55\xf5\x1c\x32\x29\x8c\x62\x99\x81\xd7\x77\xac\xac\xbc\x50\xb3\x88\xd5\x51\x5f\x94\xfb\x67\xcf\x00\x00\x4e\x4e\x4e\xe0\x7a\x85\x80\x6b\x14\x06\xcc\x8a\x19\xe0\x1a\xb0\xe4\xc6\x60\x0e\x9b\x15\x0a\x10\xb8\x01\x43\x1c\x35\x30\x85\x50\x72\x61\x30\xb7\xc4\xb4\xb6\x23\xb4\x2b\xea\xdf\xed\xd0\x98\x95\xb2\x16\x66\x06\x7f\x5c\xf1\xbb\x17\xdf\x1f\x81\xd9\x56\x38\x83\x77\x46\x71\xb1\x9c\x74\x96\x95\x86\x15\xa0\xeb\xaa\x2a\xb6\x20\x17\x91\xf0\x1a\xb8\x00\xbc\xe3\xda\xa0\xc8\xd0\x92\xb0\x2c\x43\xad\xc7\x41\xd7\x09\xac\x99\x02\x43\x3c\xde\x59\x16\x33\xb8\xbf\xb6\x0b\xb9\x65\x1f\xda\x85\x2e\xf3\x92\x0b\x78\xc3\xcc\xaa\x91\xba\x40\xe3\x1e\xbf\x33\x52\xb1\x25\xd2\x20\x89\xd8\xfc\x69\xa9\xaf\x6a\x91\x19\x2e\x05\x18\x09\x0a\x4d\xad\x04\x98\x15\x5a\xa5\xb4\x33\x18\xfd\x6d\xb6\x80\x93\x0e\x25\x0a\xa3\x9b\xc5\x16\xb5\x80\x25\x1a\x6b\x78\x12\x51\x8f\x27\x33\xf8\x40\xbf\x3e\xc2\xbd\x9d\x45\x1f\x12\x89\x98\x5e\x2a\xc5\xb6\xcd\xf8\xb9\xfb\x71\xf6\x73\xd7\x3a\x53\xcb\xea\xe5\x78\xf2\xb1\xa1\x0e\x92\x05\x06\x76\xa0\x63\x03\x4b\x11\xfe\x35\x4f\x5f\xb3\x6c\x05\xb5\x46\x05\xda\x48\x85\x1a\x98\x00\x2e\xb4\x61\x22\x43\xda\x12\x29\x8a\xad\x55\xcf\x92\xd3\x9e\x98\x15\x72\x37\x9b\x2d\x31\x42\xd0\xc2\xdb\x49\xfb\x69\x9e\x86\x89\x1c\x96\x72\x8d\x4a\x60\x0e\x73\xc7\xad\x52\x68\x9f\x57\x52\x1b\xb2\x5c\xce\x2d\x61\xc3\x8e\x8b\x9e\xb7\x5b\x1c\x9a\x15\x6e\x2d\x02\x33\x56\x14\x98\x4f\xa3\xd5\xb3\x15\x66\xb7\x1a\x56\xac\xaa\x50\x00\x33\xa0\x6a\x61\x78\x89\x96\x14\xc9\x97\x58\x23\x21\x21\xbc\xc7\xa3\xe1\x45\xfe\x52\xab\x0c\x69\x86\x70\xfa\xcf\x11\x32\x85\x8c\xfc\xc1\x6b\x46\x9b\x8d\x77\x86\x2c\x14\xed\x7d\x40\xc3\xb6\x61\x47\xe2\xe6\xb8\xe0\xc2\x12\x1f\x81\x96\x34\xae\x90\x44\x10\x12\x36\x6c\x0b\x0b\x49\xb2\x95\xac\xe0\x19\x97\xb5\x76\xdb\x61\xa4\x5f\xd3\x59\xb1\x35\x8d\xac\xfd\xb2\x5c\x00\xe3\x6a\x0a\x97\xa0\x2b\xcc\x38\x2b\xc0\x7a\x9f\x02\xe5\x35\x00\x81\x98\x6b\xe2\x34\x6f\x65\x30\xd2\xfa\x6f\xc3\xae\xf5\xed\xd8\x14\x04\xdb\x86\x91\x15\x61\x16\x6f\x89\x83\xe0\x51\xef\xe1\x1b\x25\xd7\x3c\xa7\x68\x13\x3f\xbf\x56\x4c\xe8\x05\x2a\xb9\x33\xf2\x16\x33\xe4\xeb\x5d\x8a\x5f\x58\x41\x20\x3c\x8a\x82\xd8\xb4\x09\x8c\x3e\x7a\x75\x11\x60\x43\x01\xcc\x1d\x9d\xb7\x91\x86\x75\x83\xfb\xa0\x16\x85\x0d\x3f\x2b\xc4\x8a\x96\x99\x0f\x32\x1a\x8b\x85\x0b\x30\x7a\x28\x3e\x0c\x52\x54\xf5\xbc\xe0\x99\x23\x78\xd3\xfc\x8e\xe5\x7d\x6b\xbd\x55\x5b\xf4\xf8\x15\xa0\x62\x66\x45\x68\x55\x68\x1f\x5b\xc1\x41\xaf\x64\x5d\xe4\xe4\xd6\x9c\x10\x6b\xc1\x68\x5d\x35\x8f\x74\xf2\x11\xe6\x15\x2e\x88\xaa\x23\x26\x45\x9a\xce\xdf\x8b\x4e\xbc\xe9\x44\x0d\x12\x7e\xaa\x13\xca\x3d\x0c\x8b\xed\xd4\x8c\xa5\x0e\xf6\x0e\x62\xaf\xd8\x1a\x81\x85\xa9\x19\xab\xd8\xdc\x9e\x63\x7b\x64\x6f\x2d\x46\xa2\xb7\xff\xf6\x49\xde\x5a\x3c\x25\x78\x37\x02\xd3\xf9\x9c\x0c\xbe\x1d\x96\x2e\xde\xee\x39\xdf\xaf\xae\xe9\xfb\xe5\x78\x72\x14\x91\x87\xcf\xe3\xe4\xaf\xb8\xae\x0a\xb6\xfd\x02\x0e\xd6\xf9\x5e\x31\xc3\xa2\x33\x20\xa1\xb4\x72\x0e\x43\x74\xe3\x4f\xb0\xe6\xb8\x99\x59\xf6\x93\x19\x5c\x8a\xed\x3b\xa3\xea\xcc\xf4\x4d\xab\x37\xdc\x64\x2b\x3b\xb9\x37\x42\x9f\x8c\x69\x3c\x44\x42\x67\xa2\x59\x52\x41\x6f\xe9\x47\x19\x8c\x93\xd4\xf4\x59\x18\x6f\xc4\x99\x83\x40\x57\xcf\xcf\xd9\x80\x09\x30\xfd\x7c\xbf\x20\x7e\xf2\x45\x7a\xaf\x9c\x30\xcd\x7e\x3c\x49\x9c\xee\x6e\x1e\x20\x50\x33\xfd\x22\x29\xd1\xe4\xa9\x5b\xd6\x5a\x25\xbd\x6b\x94\xa0\x94\x98\x73\x06\xe7\x71\x66\x3d\xfd\x9d\x9e\x0e\x6f\x96\xb5\x11\x2f\x70\xd6\x23\xfb\xd7\xf5\xf5\x9b\x2b\x5e\xe0\x7e\xca\x5a\x15\x33\x18\xad\x8c\xa9\xf4\xec\xe4\x84\x69\x8d\x46\x4f\x37\x38\xd7\xdc\xe0\x31\xb1\xd5\xd3\x4c\x96\x27\x3f\x2c\x5e\x7c\xfb\xd3\xf7\xd9\x69\xf6\x0f\xf6\x63\x96\xe7\x2f\xbe\xff\x6e\xfe\x4d\xf6\xe3\xb7\xa7\xbd\x01\xf6\xc3\x0f\xd9\xfc\x9b\xec\xa7\xef\x5e\x7c\xba\x2a\xe4\xe6\xd3\x7f\xa4\xca\x4b\xa6\x6e\xa7\x7a\xbd\x1c\x0d\xca\x31\xe0\xa8\xf4\xb1\x16\x71\x89\xe7\x88\x97\x6c\x89\x27\x7a\xbd\xfc\xfa\xae\x2c\xd2\xdc\x76\x77\x27\x32\xad\x4e\xdb\x56\x8f\x3f\xd8\xe1\x8f\x69\xf2\x43\xfc\xc9\xef\xee\xb0\xad\x05\x2b\x49\x07\x9f\x67\x36\xcc\x5c\x6a\x3f\x1a\x36\x80\xde\x96\x73\x49\x5b\xf4\xfa\xea\x7a\xcf\xb4\x1c\x75\xa6\x78\x45\xf9\xd7\x0c\x46\xd7\x74\x56\x2c\xc2\x12\x36\x03\xa1\x94\xa8\xd6\x98\x03\xb3\x69\x28\x7a\x39\x8c\x84\x15\x16\x15\x6c\x65\x0d\x39\xae\xb1\x90\xf6\xb7\x02\x41\x19\xd8\xd5\x35\xfc\x4d\x0a\xda\xc9\xe9\x9e\xb5\xf1\xce\xa0\x12\xac\xf8\xe3\xed\x6f\x7d\x0c\xbe\x6e\x87\xc6\x0d\xc8\xfc\xda\xc7\x0b\x33\x95\x62\x41\xcc\xa5\x5a\x8e\xf6\x80\xa0\x90\x4b\xa9\x67\x7e\x0b\xf7\x98\x4a\x52\xa2\xa6\x67\x89\xb0\xda\xfd\x8c\xcc\x86\xca\x2f\x35\x3a\x48\x58\x3f\xd9\x3a\x01\xc9\xfa\x69\x5e\xc8\xec\x36\x5b\x31\x2e\x46\x69\xb8\x80\x3d\x2b\x52\x4f\x9f\x1c\x3b\xba\x21\x6c\x38\x7a\xd8\xe4\xe0\x2d\x2e\xe0\x3c\x2a\xf6\xa6\x2c\xcb\xa8\x62\x9c\xce\xa5\x52\x72\x73\xf6\x55\xaa\xd6\xa1\x52\x78\xb6\x93\xa9\x0c\x2b\x78\x71\x01\x15\x13\x3c\x1b\x8f\x7e\xb5\xb9\x88\x90\x06\x1c\x7f\x60\xa0\x70\x81\x8a\x2a\x4b\x82\x57\x48\xc2\x30\x77\x02\x0e\x58\xed\xa0\x43\x2b\x98\x61\xd8\xcd\xa2\x84\xb2\xaf\xce\x30\x74\x94\xcf\x93\x3b\x74\x6d\xda\xb3\x2f\x3a\x39\x01\x3f\x93\xac\xf2\x79\xbc\x23\x3b\xa9\x14\x5f\x33\x83\xc1\x2f\xac\xea\x2e\xff\x7f\x54\xde\xdf\xb8\xb8\xc5\xdc\xc5\x47\x0b\xa3\xc4\xe6\xde\xa7\x4b\x82\x87\xc1\x04\xa9\xab\xd9\x13\x16\xd8\x5f\x5b\xec\x5f\x36\x58\xe6\x09\xcb\x86\xe2\x68\xff\x02\xae\xec\x7b\x5d\x56\x66\x6b\x99\x84\xf6\xc3\x0c\xc6\x94\xd0\x51\xf6\x9a\xe8\x05\xdc\x27\x8a\xb3\x87\x47\xc2\x8c\x07\xf4\xd9\x71\x70\xcb\x69\x7f\xed\xf1\x9e\xf8\x91\x1e\x8a\x9f\x3e\xa4\xf2\x6b\xc1\x8b\xa1\xfa\x62\x89\xe6\x5d\x5d\x55\x52\x19\xcc\xdb\x6e\x09\x48\x7b\x6a\xd8\xf2\x47\xf9\x0a\x84\x41\xc1\xb5\xad\x84\x5d\xc1\x11\x75\x63\xb8\x6e\xe0\x67\xcb\xb3\xca\xd7\xcf\x10\x57\x03\x89\xa5\xc8\xba\xbe\x8b\xf4\x8b\x94\x45\xdf\x82\x14\xc3\x74\xa0\xb2\x04\xbd\xe9\xe7\x70\x1f\xeb\x1c\xcf\xfe\x60\x1d\x70\x89\x76\xb1\xf1\xe4\x23\x9c\x83\x51\x35\x26\x0b\x9b\x88\x70\x5f\x8a\xcf\xf5\xae\x22\x63\xd3\x00\x73\xe2\x64\xdb\x53\x3e\x0d\x99\xe2\x83\xb1\x45\xd2\xc5\x05\x2c\x58\xa1\x31\xbd\x69\xc0\x05\x37\x9c\x15\xfc\x4f\x57\xb6\x86\xfa\x9b\x99\xb6\x7f\x60\x61\x65\x3b\x68\xbc\x6c\xd9\x10\xe1\xb8\x57\x88\x4f\xfa\xa5\x08\xc9\x17\x58\x9e\x07\xe6\x3b\x7b\xc2\x73\x14\x86\x2f\x38\x2a\x38\x87\xd1\x4e\x94\x1a\xed\xf2\xec\xc4\x5c\x38\xef\x56\xc8\xe3\x96\xd7\xac\xc3\x77\xf2\x7c\x97\x47\x1b\x48\xe1\xbc\x53\xa9\x3e\xce\xa1\x87\xfa\x7f\xa2\x89\x4c\xe7\xbb\x4a\xbb\x9d\x0b\x8f\x5b\x1f\xbe\x08\xab\xce\x6a\x7b\xf6\xb6\x6f\xb1\xde\xd2\x1b\x6e\x56\xb9\x62\x9b\xee\xc3\x68\x42\xdb\xfc\xb4\xae\xc5\x6e\x5d\x8f\xd0\x75\x78\x7d\xa6\xc6\xd4\xb2\x2e\x51\x98\x88\x90\x89\xbc\xe1\xee\x1d\xd3\x13\xd9\x9e\x76\xd3\x1f\x9c\x0e\x2e\xfd\x6f\xe3\x63\x21\x79\xbb\xed\x53\x61\x59\x49\xc5\xd4\xd6\x77\x16\x43\xb3\xda\x26\x8d\x94\x26\xca\x22\x8f\x38\xd8\x36\xad\xeb\x26\x3b\x01\x14\xc2\x1c\xb9\x58\x82\xf1\xfd\x28\x85\xf9\x94\x16\x52\x9d\xc6\x86\xc0\x4d\xb1\x8d\xf8\x84\xee\x9f\x5f\x56\x46\x3d\x40\xcb\xd9\x75\x13\x41\x4b\xe0\xc6\x36\x0e\x6d\xcb\xad\x92\x54\xa3\xc4\x32\x61\xa1\xd1\xb6\x4b\xd2\x8a\x87\x6d\x0e\xa6\xeb\xf5\xd2\x9f\x1e\xfc\x7b\x9e\x14\xfd\x3d\xf6\x5b\x93\x42\xd1\xd9\x71\xb7\x0f\xd9\xfa\xab\xa3\x98\x0c\x01\xcb\x2b\xff\x79\xb8\xf2\x06\x96\xf3\xff\x62\xd6\x07\x97\x05\x14\xcb\x73\x1d\xb1\xe1\x46\x37\x6e\xe3\xf7\xa5\xe7\x45\x72\x23\x50\xe9\x03\xb0\xc6\x35\xb0\xa2\x90\x1b\x87\xa5\x1c\xb5\x51\xd2\x75\xab\x35\x2d\xef\x44\x9b\x63\xc6\x6a\x8d\x2d\x7c\x63\x6f\x22\x91\x3b\x30\x25\x40\xa2\x0a\x92\xf8\x36\xab\xed\x55\x5a\xda\xbf\xb7\xb2\xaf\x58\xac\xd7\x1c\x51\x10\xc2\x74\x5d\x52\x41\x24\x72\xd7\x35\x5e\x48\xdb\xfd\xf6\xf0\xb2\x12\x86\x1e\xf6\x10\x90\xfc\x46\xf8\xf4\xf9\xe7\x4b\xb1\x0d\x1d\xee\x24\x6a\xfa\x01\xb8\xc9\xda\xe1\xec\xd8\x79\x2e\xd3\xcf\x53\x18\x3c\x18\x6c\x5f\x3b\x7e\x3b\x91\x89\x3e\xd1\x08\x9c\xc3\xe9\xf4\x34\x1a\x0f\xbb\x12\x87\xc6\xc4\x99\x18\xfc\x7b\xe7\x2a\x2a\xe4\x05\x33\xf8\xb5\xe9\x46\x9e\x7d\x35\x98\x80\xa6\xcc\x11\x78\xbf\x0f\x66\xb1\xea\xed\x38\x6c\x70\x90\x88\xde\x47\xfb\x44\x01\xa2\x30\xe3\x15\x47\x41\xa8\x08\xeb\xef\x2c\x1d\xa4\x77\x25\x54\xf8\xe7\xcb\xa6\x44\xb2\xb6\xa7\x06\x6a\x12\xa4\xbd\x92\xbc\xf7\xf5\x50\x5f\x89\x57\x0e\x55\x76\x7e\xd0\x5c\x84\x58\xeb\x2f\x49\xba\x7c\x54\x4a\xa3\x8e\x36\xd3\x18\xa6\x67\xc7\x91\x91\x07\xa3\x4c\x3f\x5f\x3d\x30\xdc\xc4\xc7\x8a\xdb\x47\xd2\x02\x58\x37\x7a\xfc\x89\x4a\xee\x1c\x69\xe1\xa0\xe0\xed\x39\xc0\x8a\x82\x8e\x14\x7f\x1e\x4c\xe1\xd2\xdd\xe0\x94\xb5\x76\xe7\x82\x4b\x48\xc3\xdd\xd3\x0e\x47\x5b\x79\x7a\x83\x11\xef\xe6\x9c\xe9\x5f\xb6\xd1\x03\xa9\x72\x77\x39\x64\x43\x95\x1b\x8f\x39\xba\x4a\xda\xdf\xfa\x30\xd7\x5c\x09\x96\x0e\xc1\x40\x37\xb7\x23\xae\xf1\x42\x79\xde\xfe\x28\xb2\x5b\x18\x3c\xf9\x20\x7a\xe4\x5c\x39\x9d\x9e\x26\xb7\xdb\xbb\xfe\xb8\xef\x91\x7c\x11\x87\x97\x97\xc4\x21\x51\xf8\x44\xc2\x76\x6e\x8d\x13\x29\xf9\xa1\x53\x9f\xc3\x71\x3a\xc9\x82\xa8\xf4\x71\xbf\x3a\x57\xb1\xee\x9e\xee\x19\x0c\xdc\x3c\x86\xf3\xcf\x9d\x8c\x76\x83\x98\xbd\xc0\xf6\x7b\xeb\x6e\x26\xe9\x6c\x09\xb7\x79\x87\xdd\xe2\xf9\xeb\xc1\xfb\x08\x2f\x44\xee\x2e\xdc\x0f\xf4\x1d\x22\xd0\x9d\x05\x8f\xec\xa1\x4c\x48\x2c\x83\x47\x98\xce\xbd\xfe\xd1\xa0\x07\x75\x29\xfa\x3e\xb4\x17\x8b\xad\xc8\x07\x25\x47\x3d\x2c\xfc\x5f\x70\xf0\x75\x2a\x81\xc2\x92\x0f\xbc\x17\xe1\xbe\xc3\x7b\x11\x31\xb7\x69\xa7\x62\xf8\xb2\x7c\xac\x87\xba\x64\xac\xec\xe2\xef\x8b\x62\xe4\x5f\x1b\x1f\xff\xda\xd8\xf8\x17\xc4\xc5\xae\x43\x25\xe3\xe1\x3a\xd4\xcd\x4d\xd1\xfd\xf3\x63\xc1\x30\x5c\xb3\x05\xca\x1e\x50\xdb\xc6\x6b\xfa\xd5\x8f\xdd\x2e\x6b\x83\x10\x38\x20\xb4\x82\x8d\xa9\xf6\xca\xf5\x0b\x39\x45\x48\xb3\x45\x7d\x37\x46\x5b\x74\x77\x9c\x27\x6e\x91\xf4\x47\xf7\xbe\xeb\x02\xe7\xf0\xcd\xe9\x29\xe5\x84\x31\x7d\xff\x3d\x1e\x38\x87\x13\x8f\x8b\xa8\x63\xe9\x5e\x03\x8a\x9a\x17\xbf\x3a\xf5\xda\xb7\x55\x2c\xc4\xfb\x41\xcc\xc2\xc2\xbf\x00\x45\xa8\x64\x6b\x24\x80\x73\x11\xbd\x07\xe3\x58\x36\x3f\xa3\xcc\x39\x6d\xc6\xcf\xd2\xfe\xf9\x24\xd6\x3a\xf4\xcc\x49\x9a\xb1\xef\xe1\x1d\x81\x91\xb3\xb4\xf2\x3e\x91\x4a\x28\x9f\xb8\x9f\xef\x75\xc5\x3b\xe5\x36\xde\x55\x52\x63\xf7\xb0\xb0\x13\x6f\xbc\x07\xdd\x40\x89\x66\x25\x5d\xc9\xb2\x44\x73\x69\xbb\x6f\xbe\x89\x15\xc6\xcc\x4a\xc9\x7a\xe9\xcc\x7c\x13\x72\xdd\x1b\xb0\xc7\xd3\x82\x65\x5d\x6b\x86\xd2\x07\x6e\xba\x7d\x8f\x9b\x24\x27\x3f\x9c\x66\x94\xb6\x5d\xc1\xc5\xed\x60\xf6\x3f\xf0\x46\xca\xc3\xcb\xb8\xb7\x7f\xe2\xac\xf7\x58\x6f\xdc\x30\xb5\x44\xb3\x6f\x73\x9a\xe9\x9d\x5d\x22\x10\xb9\xc3\xbf\x05\x91\x3b\xc7\xc7\xfb\xe1\x60\x89\x1c\x1c\x92\x3e\x32\xf1\x4e\xfb\xf0\x0c\xfe\x17\x00\x00\xff\xff\xcc\xaf\x04\x79\x5f\x29\x00\x00"
+
+func exampletokenV2CdcBytes() ([]byte, error) {
+	return bindataRead(
+		_exampletokenV2Cdc,
+		"ExampleToken-v2.cdc",
+	)
+}
+
+func exampletokenV2Cdc() (*asset, error) {
+	bytes, err := exampletokenV2CdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe8, 0x70, 0x82, 0x12, 0x43, 0xa, 0xa3, 0x3e, 0x8d, 0xa7, 0xa3, 0xa0, 0xda, 0x9c, 0x14, 0x9e, 0xd3, 0xa9, 0xf4, 0xcd, 0xa2, 0xfe, 0xed, 0x18, 0xdd, 0xa4, 0x82, 0x36, 0x5c, 0x4f, 0x76, 0x2e}}
+	return a, nil
+}
+
 var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\xeb\x6f\x1b\xb7\xb2\xff\xee\xbf\x62\xae\x2e\xd0\x2b\xa1\xb6\xec\xbe\x72\x5b\x21\x69\xe2\x9c\xc6\x38\x07\x68\x8b\xa0\x75\xdb\x0f\x45\x91\x50\xbb\x23\x89\xc7\xbb\xe4\x96\xe4\x4a\x56\x83\xfc\xef\x07\xc3\xc7\x2e\xb9\x0f\x49\x51\x7a\xf4\xc5\x96\x96\xf3\xe0\xcc\x6f\x66\xc8\x99\xe5\x65\x25\x95\x81\xbb\x5a\xac\xf9\xb2\xc0\x7b\xf9\x80\x02\x56\x4a\x96\x30\x49\x7e\x9b\x5c\xf8\x95\x3f\xa0\x61\x39\x33\xec\x57\x8e\x3b\xed\x57\x26\xbf\x35\x2b\x13\xfa\x21\xb2\xf1\x05\x93\x8b\x8b\xaa\x5e\x42\x26\x85\x51\x2c\x33\xf0\xea\x91\x95\x95\x5f\xb8\xe8\x28\xfb\xee\xe2\x02\x00\xe0\xfa\xfa\x1a\xee\xa5\x61\x05\xe8\xba\xaa\x8a\x3d\xc8\x55\x42\xa6\x81\x0b\xc0\x47\xae\x0d\x8a\x0c\x2d\x09\x89\xd8\x32\x05\x86\xc8\x7e\xb6\x54\x0b\xf8\xe5\x8e\x3f\x3e\xf9\xb2\xe5\xf9\xb3\x91\x8a\xad\x11\x98\xc8\xe1\x75\xbd\x2c\x78\x06\xaf\x99\xd9\xe8\x86\x43\x81\x06\x7e\x65\x75\x61\xfc\x4a\x7a\xba\x80\xe8\x4b\x7f\xa5\xe3\xe3\x16\xb6\xff\x27\xeb\x7e\xc2\x0c\xf9\x16\xd5\x09\x4b\x6f\xf3\x92\x8b\x51\xe1\xad\x71\x36\x08\xb8\x45\x61\xc0\x6c\x98\x01\xae\x01\x4b\x6e\x0c\xe6\xb0\xdb\xa0\x00\xb3\xc1\xd6\xde\x5c\x43\xa6\x90\x19\xcc\x1b\x49\x8e\xd4\x99\xf2\x5f\x82\x1b\xce\x0a\xfe\x17\xe6\x53\xee\xfe\x4f\xcd\x37\x3b\x5d\xac\xf3\x0d\x53\x08\x3b\x6e\x36\xb9\x62\x3b\x8f\x3f\xe6\x6c\x35\xa8\xc0\x6f\x61\xe9\x94\x95\xb2\x16\x26\xc8\xbd\xb4\xa4\x0b\xb8\xcd\x73\x85\x5a\x3f\x3f\x4b\x8f\x1c\x2b\xa9\x39\x3d\x31\xf2\xa0\x16\xdf\x85\x85\x3d\x2d\x8c\x3c\x47\x07\x81\xbb\x58\x8f\x92\x8b\x31\x07\xfc\x60\x1f\x75\xc4\x9e\xb9\x59\x6d\x94\xdc\x8f\xc8\x79\x59\x2b\xf1\x11\x72\x98\xdd\x92\xdd\x87\x02\x85\x5a\xd6\x2a\xc3\x71\x70\xd9\x5d\xa9\x7f\xb8\x67\x53\x56\x14\x72\x87\xf9\xed\x47\xc9\x5e\xd2\x06\x4e\x91\x6d\x77\xda\xc8\x8e\xc4\xbc\x62\xd9\x06\x6a\x8d\x0a\xb4\x91\x0a\x35\x30\x01\x5c\x68\xc3\x44\x86\x94\x63\xa4\x28\xf6\x36\x78\x2c\x4e\x28\xc9\x98\x0d\x72\xb7\x9a\xad\x31\x51\x77\x55\x8b\xcc\x70\xe9\x72\x51\x4b\x43\xa9\x65\x2d\xb7\x48\xb6\x86\xa5\xe3\x56\x29\x97\x72\x2a\xa9\x0d\xc5\x65\xce\x2d\x61\xc3\x8e\x8b\x4e\x1a\x0c\x41\xbc\xb7\x6e\xcd\x58\x51\x60\x3e\x4f\xa4\x67\x1b\xcc\x1e\x34\x6c\x58\x55\x91\x7d\x0c\xa8\x5a\x18\x5e\xa2\x25\xc5\x2d\x2a\x60\x8d\x86\xd6\x50\x29\x8f\x86\xd7\x4f\xde\x98\xb4\x42\xb8\xfd\x2f\x31\x98\x35\xec\x8c\x52\x09\x3e\x1a\xb2\x50\x92\x59\xac\xaf\x48\xcd\x86\x9d\x43\xe1\x8a\x0b\x4b\x7c\x09\x5a\xd2\x73\x65\x7d\x25\x24\xec\xd8\x1e\x56\x92\x74\x2b\x59\xc1\x33\x2e\x6b\xed\xdc\x61\xa4\x97\xe9\xac\xd8\x9a\x46\xd6\x5e\x2c\x17\xc0\xb8\x9a\xc3\x2d\xe8\x0a\x33\xce\x0a\x8f\xb0\x16\x0e\x02\x31\xd7\xc4\x69\xd9\xea\x60\xa4\x45\x6c\xc3\xae\x8d\xca\xd4\x14\x84\x9d\x86\x91\x55\xa1\x53\x99\xe6\xaf\x95\xdc\xf2\x1c\xd5\x65\xe7\xf7\x90\xdb\xbb\xbf\xbf\x64\x05\xa1\xea\x32\xad\xb1\x73\xb2\x77\x41\xee\xf1\x95\x2e\xf6\xa9\x2d\x5d\xb0\x74\x84\x7e\xd7\x1a\xb6\x4d\xca\x8a\xcb\x9c\x5f\x95\x96\xb8\xc0\xac\x4d\xe9\xd6\x5f\x81\x23\xa1\x24\xec\xd1\x5a\x9b\xb0\x41\xa0\x69\x88\x29\xff\x4f\x3b\xac\x67\xf0\xae\x79\x4e\x1f\x8d\xc5\x6a\x1e\x58\x3e\x0b\xcc\x9b\x25\xef\x53\x55\xee\x02\x06\x1d\x56\xd8\x83\x0b\x3a\x97\x84\x80\xb9\x2f\x6a\x5d\x97\x28\x4c\x42\x48\xf1\x12\x8a\x88\x76\xd4\x9e\xc8\x16\x94\x26\xe0\xe6\xe9\xce\x8d\xc7\x91\xf6\x39\xc3\x20\x9d\x5f\x98\xda\xfb\xf0\x0c\xe9\xa5\xd6\x0e\x1d\x1b\x59\xe4\x09\x07\x62\x5c\x4a\x81\xfb\x66\xe9\x12\xb9\x58\x83\x51\x4c\xe8\x15\x2a\x85\xf9\x9c\xc4\x28\x34\xb5\x12\xda\xae\x17\xb8\x2b\xf6\x09\x97\x10\x40\x5e\xa8\x4c\xc2\xc8\x32\x76\x01\x49\x01\xc2\x8d\x8d\xbd\x65\x54\xac\x12\x5e\x58\x68\xdc\x51\x10\x25\x5b\x4d\x96\xbc\xa8\x98\x62\x25\x84\xd4\x4e\x60\xf2\xc6\x22\x14\xb9\x02\xe1\x02\xa3\x53\x97\x49\xad\x14\x60\x96\x9d\xdb\x9c\xe5\xe3\x76\xd0\xe2\x46\x0a\xc3\xb8\xb0\x16\xd9\x24\xec\x6a\x91\xeb\x41\x05\x09\xb2\xab\x5a\x34\x6b\xbb\x15\x68\x01\x2f\xd2\xd0\x71\x22\x0f\xa2\x2e\xf9\x7a\xe5\x37\x9b\x10\x50\xfd\x18\x3d\x60\xb8\xbf\xe1\x80\x61\x99\xc9\x9d\x40\xf5\x7c\xce\x5c\xa1\x9f\x25\xbc\xbc\x39\x9e\x5e\xc5\x39\xaa\x8d\x13\xc7\x6d\xf6\x41\x21\xe0\xed\x2a\x97\xff\xc6\xac\x1b\x07\x16\xfb\x2c\x4f\xcd\x09\xdc\xe8\x26\x92\x3d\xa0\x92\x54\x81\x60\xb7\xa0\x47\xc2\x82\x6b\xf0\x45\x98\xa8\xfd\x49\xc1\x92\x69\x12\xe9\xd4\x59\x62\xc6\x6a\x8d\x6d\x74\x25\x5c\x76\xa4\x66\x14\x51\x14\x3b\xa8\x82\x74\x9f\x56\x5b\xd0\xfc\x5f\xab\xef\x86\xa5\x7b\x59\x22\x0a\x82\x92\xae\x4b\xcc\xed\x76\x6d\x95\x58\x49\x5b\xed\x7c\x2c\xf8\xb3\xcc\x51\xd4\x3b\x27\x1e\xc7\xaa\x45\xa8\x73\xc2\x8e\x17\xc5\x68\xc0\xf5\x80\xeb\x57\x4d\x9d\xa0\x21\xb0\x76\x73\x24\x9d\xe4\x6d\x58\xc1\xd3\x2b\x7f\x00\xd6\xff\x03\x2f\xe2\x2b\xcc\x3c\xb5\xef\x31\x8c\x7f\xea\xf8\xcd\xbb\xe9\xb6\x03\xf5\xfe\x29\x36\x21\x73\x87\xd9\xa3\x78\x4f\x68\xe0\x19\xdc\xcc\x6f\x92\xe7\x01\x3d\x69\xe6\x88\x60\xef\x17\x4c\xbb\x76\xe1\xab\x74\x57\xdf\x12\xeb\xce\x1a\xfa\x24\x86\x8a\x6e\x74\xf0\x6c\xfc\xd1\x55\xc2\x3a\x61\xf9\x7e\x2c\x34\x09\x34\x74\x26\x91\x2b\x58\xa3\x31\x84\x14\x56\x14\x16\x2d\xa1\x6c\x83\xbb\xe4\x72\x12\x4a\xc1\xe9\x4e\x75\xb1\x16\xe3\xf8\xf4\x79\xe3\x96\x42\x5b\x39\x31\xf7\xfb\x0a\xb5\x3b\x9e\x04\x5c\xc6\xac\xb7\xf6\x90\x00\xf7\xae\xf0\x17\x35\x36\x50\xb5\x05\x6b\x99\x56\x99\xd6\xdc\x5b\x2c\x64\x45\xc1\x6f\x24\x3c\x08\xb9\x83\xdd\x86\x67\x1b\xb0\x01\x82\xc6\x1d\xb0\x2a\xa6\x75\xc8\x1c\xca\x1d\x43\x68\x6f\xd3\x19\x94\x68\x36\x72\x24\xd0\x42\x10\xac\xd1\x58\x4b\x4c\x67\x0b\xf8\x9d\x76\xf1\x47\xc7\x6f\x7e\xb3\xbf\xf7\x9c\x49\x8b\x9f\x8e\xb7\x07\xe6\x77\xf7\xf4\xf7\xdb\xe9\xec\xf2\x0c\xd2\xef\xb8\xae\x0a\xb6\x3f\x93\xda\xc6\xe0\x77\xcc\xb0\xb3\xe8\xef\x5b\xf4\x7d\x3b\x4d\x23\xe8\x8f\x0f\x41\x5c\x8a\xb5\xf6\xc8\x8b\x27\xc2\xcc\xa5\x41\x82\x8e\x4b\x83\xa4\x77\xe0\x90\xa3\xe6\xca\x03\x6b\x3e\x8c\x4e\xd0\x46\xd5\x99\xa9\x15\xc1\xa2\x52\x48\xf5\x20\x60\x53\xe1\x9f\x35\x6a\x33\xc4\xa0\x87\x90\x18\x53\x6f\x82\x3a\xfb\x0a\x67\x0b\xb8\x15\xfb\x9f\xad\x90\xe7\xdd\xb2\xbe\xe3\x26\xdb\xd8\xc5\x03\x69\x20\x63\x1a\x4f\x87\xcf\xa2\x47\x0f\x2d\x2c\x8f\x32\x98\x0e\x52\xd3\x67\x65\x3c\xc8\x7c\xe6\x8c\xf7\xf9\x21\x00\x9d\xd9\x22\x70\xca\xe2\xe7\x7d\x2c\xb6\xca\x34\x98\x3d\x4b\x9d\x18\xf1\x27\x28\xd4\x2c\x7f\x3e\xa8\xd1\xec\x5c\x97\xb5\x56\x19\xf6\x1a\x15\xd0\x12\x73\xce\xe0\x59\xe7\x02\xf5\x03\xfd\x7a\xc0\x59\xbc\xc0\x45\x87\xe4\x9f\xf7\xf7\xaf\xef\x78\x81\xe3\x54\xf4\xa9\x55\xb1\x80\xc9\xc6\x98\x4a\x2f\xae\xaf\x99\xd6\x68\xf4\x7c\x87\x4b\x2a\xa7\x57\xc4\x56\xcf\x33\x59\x5e\x7f\xb5\x7a\xf2\xf9\x37\x5f\x66\x37\xd9\xff\xb3\xaf\xb3\x3c\x7f\xf2\xe5\x17\xcb\xcf\xb2\xaf\x3f\xbf\xe9\x3c\x60\x5f\x7d\x95\x2d\x3f\xcb\xbe\xf9\xe2\xc9\x9b\xbb\x42\xee\xde\xfc\x26\x55\x5e\x32\xf5\x30\xd7\xdb\xf5\x64\x54\x8f\x81\x24\x14\x3e\xd6\x1a\x64\xd8\x05\x4c\x78\xc9\xd6\x78\xad\xb7\xeb\x4f\x1f\xcb\x62\x98\x5b\xdf\x33\x89\x59\xf5\xb0\x5d\xf5\xf4\x77\xfb\xf8\x8f\x61\xf2\x53\x62\xc9\x7b\x76\xdc\xd6\x82\x95\xb4\x07\x9f\xda\x1a\x66\xee\x00\x33\x19\x37\x80\xde\x97\x4b\x49\x2e\x7a\x75\x77\x7f\x60\x59\x8e\x3a\x53\xbc\xa2\x03\xf7\x02\x26\xb6\x90\xae\x82\x08\x7b\x44\x6d\x6e\x7f\xee\xd0\x8d\x5e\x0f\xba\x0b\x62\x51\xc1\x5e\xd6\xa1\x9e\xd2\xff\x0a\x04\x5d\xd9\xee\xee\xe1\x7f\xa5\x20\x4f\xce\x0f\xc8\xc6\x47\x83\x4a\xb0\xe2\x97\x9f\xbe\xef\x62\xf0\x55\xfb\x68\xda\x80\xcc\xcb\xbe\x5a\x99\xb9\x14\x2b\x62\x2e\xd5\x7a\x72\x00\x04\x85\x5c\x4b\xbd\xf0\x2e\x3c\x60\x2a\x99\x71\x56\xe8\xc5\x40\x4a\x8d\x3f\x13\xb3\xe3\xc6\xa0\x9a\x9c\xa4\xac\x5f\x6c\x83\x80\x74\x7d\xb3\x2c\x64\xf6\x90\x6d\x18\x17\x93\x61\xb8\x40\x72\xf4\x8a\x3f\x67\xe7\x8d\x38\x7d\x7d\x44\xbe\x0f\x5c\xc6\x51\xaa\xe3\x16\x7c\xff\xdc\x1e\x35\xe5\xc7\xdd\xa0\x42\xdb\xbf\xcf\xa4\x3f\x11\x38\x14\xf9\x4e\xfb\x31\x5d\x4e\xe1\x51\xf9\xee\x95\xe3\x71\x5d\x29\xbe\x65\x06\x03\x00\x2d\x33\xcb\xeb\xf8\x66\xbe\xe7\xe2\x01\x73\x97\x88\xac\xbf\x3e\xe9\x6b\xf4\x6e\xb8\x45\xf6\x7e\xf0\x94\xd5\xdd\xe6\x19\x02\x8e\xf4\xda\x0e\xcb\x0d\xa6\x39\x43\x6e\xe8\x09\x1e\x16\xe0\x9a\x06\xaf\xca\xca\xec\x2d\x93\xd0\x0f\x58\xc0\x94\x8e\x4d\x74\xa0\x1e\xb8\x19\x1e\x89\xdd\xa6\x25\x91\x50\x76\x45\x4d\x0f\x04\xe6\xf0\xa3\x33\x23\x33\x3d\x0a\x9f\x1b\x99\x11\x97\x69\x32\xc7\x1b\xbb\xf4\xcd\x46\xae\x79\x91\x38\xc1\x8b\x8b\x74\xc1\xfb\x76\x1e\x90\xb6\x66\xd2\xce\xa1\xf3\xc2\x8e\x9b\x0d\xb0\xb8\xd3\xf2\x17\x2a\xd9\xf6\xbb\x45\xde\x74\x02\x79\xdb\xe8\x63\x45\x41\x27\x68\xdf\xf0\x9b\xc3\xad\xeb\x72\x97\xb5\x76\x8d\x3f\xd7\xd9\x0d\xfd\xf9\x84\x9b\x1d\x4c\xf8\xb3\xb7\xb1\x13\x9b\x91\x61\x04\xfd\x20\x55\xee\xee\x76\xb6\xb5\xe3\x9e\xb7\xdc\xb2\xcc\xb6\x00\x5d\xe3\x8f\xb9\x02\x18\xe2\x38\x34\x35\x74\xd3\x67\x76\xc5\xd1\xec\x2b\xec\x4f\x09\xe2\x86\x60\x6b\x9b\xd0\x68\xe9\x75\xd2\x09\xd6\x7d\x28\x2e\xe0\x45\x17\xd9\x47\x1a\x6b\x37\xf3\x9b\x59\xec\xb2\xa4\x4b\x6f\x27\xa5\x5c\x1b\xc5\x8c\xec\xb5\xd3\x47\x1c\x1b\x79\x6b\x70\x9c\x75\xb4\xc1\x9a\x8e\xb1\xc8\x1c\x25\x7b\xe4\x65\x5d\xc2\x9f\x35\x13\x86\x9b\x7d\xdc\x71\xf5\xe3\x91\x20\x25\x93\x75\x91\x7b\x65\x46\xfb\xad\xdd\xa9\x86\xeb\x57\x59\x4a\xef\x64\x37\xd2\xf0\x42\x0e\xde\xc8\x9c\xa8\x1f\x71\xe7\x98\x8e\x4c\xe1\x16\xf0\xc2\x0b\x7d\xd7\x6f\x2b\x1d\x1c\xe3\x25\x5f\x0f\xb7\x4c\x87\x35\x18\x61\x70\xb0\x81\x3a\xee\xcc\xce\x7c\xf0\x68\x5f\x86\xcc\xfd\xf2\x04\x9a\x9e\x39\x1d\x91\x45\xb4\xa7\x1f\xb0\x5c\x77\x08\x79\xc8\x3a\x81\xe1\x78\xa6\x0a\x73\xba\xd0\x31\x76\xd8\xb2\x21\xcb\x28\x10\x42\xb4\xbb\x39\xde\x46\x16\xcd\xec\xeb\xb4\x99\x57\x83\x80\x5e\xb7\xa2\x3f\x48\xe8\xc0\x3a\xed\x2c\x37\xe3\x36\x88\xa6\x55\x83\xc0\x3b\xe4\x64\xe2\xa2\x23\xcd\x2f\x6d\x3f\x9c\xa4\x96\x21\xc9\x9a\xe8\xfd\x90\xcb\x84\x55\x8c\x8c\x98\xa2\x9b\x96\x3f\x64\x9c\x32\x14\xde\x9d\xcd\x7e\xd8\xe4\xc4\xbd\x10\x70\x4a\x14\xd3\x4a\xd7\xdd\x1d\x98\x9c\x1c\x3d\x38\x54\x0a\x07\x8e\x12\xde\xa9\xb6\xff\xba\x80\x89\x73\x4c\xd0\xc9\x96\xa9\x25\xc2\xda\x82\x53\x91\x47\x84\x2d\x7b\xfd\xab\xa6\xe7\xf3\xd4\x77\xab\x3b\x7e\x1e\xe1\x5b\xa0\xd6\x8e\x29\x19\x22\x60\xc7\xb1\x9a\x1c\xa8\xe8\xe7\x74\x85\x3f\x1d\x9a\x0d\xf5\x75\x85\xa1\x0d\x1c\x1d\x2c\x75\xde\xdc\xe8\xce\x81\xe0\xa3\x46\x47\x76\x16\x3b\x9c\xb1\x87\x66\x63\xdd\xed\x24\xdf\xff\xee\xbc\x42\x99\xf6\x78\x4e\x69\x72\xe3\x81\x40\xf7\x93\x82\x76\x22\x16\x5e\xc7\xb8\x04\x5c\xad\x30\x33\x7c\x8b\xc5\xde\x0a\x0c\x91\x13\xcb\xed\xc6\x0c\x09\xf8\x51\x1a\x5c\xb8\xf9\x98\x3b\x3f\x45\x6f\xc8\xb0\xda\xc8\x92\x19\x4e\xa9\x60\x0f\xba\x5e\xda\x17\x19\x30\x6f\xa6\xa1\x09\xa7\x38\xc5\xa4\x6f\x79\x58\xb5\xeb\xcc\x48\xf5\xb7\x8d\xa7\xa2\x31\x6d\xad\x86\xbb\xbd\x21\x23\xd0\x02\x9f\x11\xfe\xdb\x33\x29\xa2\x62\x01\x53\xe3\x23\xa8\xe1\x89\x50\x27\x5c\x3a\x2f\x20\xf5\xb1\x1f\x61\xd3\xa2\x3f\xde\x82\x05\x79\x1a\xf4\x9f\xdd\xdc\xc4\x93\x29\xbb\xa2\x7b\x3b\x87\x67\x70\xed\x0f\xcc\xfd\xdb\xee\x00\x69\x7b\x99\x26\xca\xca\x7e\x4b\x08\xc3\x8d\x25\xa5\xed\xdf\xe7\x47\xc8\xc3\xc2\x94\xbc\xfb\xd6\xdf\x98\xd6\x76\x5d\x1c\x4e\xe0\xce\x17\x11\x32\xed\x85\xa5\x5b\x1f\xa3\xaa\x65\xef\x18\x6c\x8b\x74\x5d\xe1\x22\x5c\x26\x5a\x14\x27\x30\x19\x4e\x5a\x5d\x57\xcc\xd2\xcd\xf8\x8c\x31\x27\x29\xd3\xa7\x57\x96\x59\x34\x78\xec\x7a\x68\x36\xb4\x1f\x06\xce\x76\x90\xb1\x8a\x2d\x79\x41\x95\xd7\x57\x71\x7b\x41\xca\xe3\xd7\x39\xf0\xb1\x92\x1a\xe3\x22\x6a\x17\xbe\xf5\x57\x9c\xb7\x7e\xbe\x05\x66\xa3\x64\xbd\x76\xd6\x79\x1b\x1c\xf1\x16\xec\x29\x66\xc5\xb2\xc8\x08\xc9\x3e\x0a\x2e\x1e\x9e\x7e\x32\xde\xd3\xe8\xe7\xe2\x63\xdd\x1d\xc3\xd4\x1a\xcd\x88\x3d\x9a\x95\x1f\x6f\x18\xfb\x3a\xd7\x98\x75\xbc\x3b\xdf\xc2\x8a\x63\xd1\x0c\xe1\xe1\x6d\x34\x4f\x18\xb6\xdc\xcb\x40\xd8\x18\xee\x90\xdd\x4e\x6d\xde\x0c\x1a\xf2\x60\x7f\xeb\x83\xad\x68\x73\x99\x2d\x6a\x2d\xb4\x93\x5b\xe4\xf4\x30\x92\x2d\x6d\x84\xe4\x6e\xd4\xa6\x0e\x7b\x45\x89\x8f\x89\xf8\xb5\x46\xbd\x91\xbb\xe8\xfc\xdc\xbc\x47\xb7\x63\x1a\x78\xfb\x1a\x6e\xc3\x25\xca\x9d\x07\xde\xd2\x1d\x0e\xc7\xf7\x17\xef\x2f\xfe\x13\x00\x00\xff\xff\xe0\x60\x33\x77\x10\x2e\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
@@ -97,6 +121,26 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x4d\x8f\x1b\x37\xd2\xbe\xf7\xaf\x28\x4c\x80\xd7\x52\x5e\x45\xe3\xc3\x62\x0f\x42\x6c\xaf\x9d\xc4\x8b\x1c\x36\x08\xec\xd9\xe4\xb0\x58\xac\xa8\xee\x6a\x35\xe3\x6e\xb2\x43\xb2\x25\x6b\x8d\xf9\xef\x8b\x2a\x92\xfd\x2d\x8d\x66\xec\x00\x8b\x9d\xc3\x8c\xd4\x4d\x16\x8b\xc5\xa7\x9e\xfa\xe0\xdc\x7e\xfd\x75\x92\x7c\x05\x77\x05\xc2\xdb\x52\x1f\xe1\x6d\xa3\xf6\x72\x57\x22\xdc\xe9\x0f\xa8\xc0\x3a\xa1\x32\x61\xb2\x24\xf9\xea\x2b\xd8\xc6\x97\xfc\x6e\x0b\xa9\x56\xce\x88\xd4\x25\x09\x4f\x9f\x9f\x09\xd2\x82\xd2\x50\x6a\xb5\x47\x03\x42\x81\x54\x0e\x4d\x2e\x52\x4c\x5c\x21\x1c\x88\xb2\x84\x3c\x4e\x75\x3c\x35\xca\xb5\x70\xd4\x4d\x99\x41\x21\x0e\xf4\x8a\x9e\xe7\xda\x54\xe0\xf4\x3a\x49\x7e\xcc\x41\x40\x63\xd1\x58\x38\x0a\xe5\x2c\x0d\xc8\xb0\x2e\xf5\x09\x04\x28\x3c\x8e\x64\xad\xc0\x15\x28\x4d\xa7\x73\xa6\x91\x14\x73\xa0\x10\x33\x9a\x2c\xab\xba\xc4\x0a\x95\xa3\x91\x30\xd8\x6a\xa7\xf3\x0a\x76\x8d\x0b\xa2\x78\x01\x9b\x64\xfa\x8c\x88\x76\x92\x85\x0c\x73\xa9\x30\x03\xa9\xc0\x15\xd2\xb6\x5a\xac\xbd\x5d\x7f\x11\x4d\xe9\xb6\x60\xd0\xea\xc6\xa4\xbd\x99\x49\xf2\x83\x48\x8b\xb1\x7d\xda\x71\xee\x54\x23\x2f\x6e\xa7\xab\x9f\x17\x1a\x16\xfd\xd9\xe8\x83\xcc\xd0\x6c\x57\xb0\x7d\x87\x29\xca\x03\x7f\x16\x2a\x83\xed\x1b\x51\x0a\x95\xe2\xdc\x6c\xcb\xa7\x6d\x47\xdb\x4b\x4b\x61\x10\x6a\x83\xdf\xa4\x5a\x65\xd2\x49\xad\x2c\x8b\xaa\xb5\x75\xfd\x67\x7c\xe6\x06\xad\x33\x32\x75\x09\x29\x8a\x1f\x31\x6d\xe8\x25\xe8\x9c\x35\xcf\x1b\x95\xfa\xc1\x6c\x2e\x04\xde\xc9\x9a\xd7\x3d\x01\xad\x63\xb1\x16\x46\x38\x84\x1d\xa6\xa2\x21\x5d\x1c\xec\xe5\x01\x2d\x0f\x27\x50\xf0\x07\xb1\x93\xa5\x74\x27\xb2\x8d\x2d\x84\xc1\x44\x80\xc1\x1c\x0d\xaa\x94\xf1\xe4\x8f\x91\xa5\x7b\xbd\xb4\x2a\x4f\x80\x1f\x6b\x6d\x83\xa8\x5c\x62\x99\xd9\x4e\xa3\x44\x2a\xd0\x0a\x41\x1b\xa8\xb4\xc1\xa8\x71\x67\x0a\x02\x26\x61\xda\xea\xa0\x90\x47\xe8\x48\x9b\x4a\x7c\x40\x48\x1b\xeb\x74\xd5\x5a\x38\x98\xa6\x3d\x44\xb2\xcd\xd0\xca\x04\x70\x0d\x07\x61\xa4\x6e\x68\xb4\x54\x7b\x0b\x47\xe9\x0a\x16\xef\xd1\xb8\x4e\xde\x6a\x03\xf8\x51\x90\x98\x15\x08\xc8\x45\x93\xa2\x83\x54\x28\xd8\x61\x27\x1d\x33\xd8\x9d\xa2\x43\x49\xb5\x4f\xbc\x39\x20\x82\x62\x80\x96\xaf\x6f\x93\x44\x56\xb5\x36\x0e\x7e\x91\x78\x7c\x87\x56\x97\x07\x34\x90\x1b\x5d\xc1\xcd\xfa\xb6\x71\xbc\xb3\xdb\xfe\xcb\x75\x9a\xa5\x37\x49\x72\x7b\x7b\x3b\x74\x25\x7a\x32\x78\x1a\xe8\xa2\xd5\x4c\x04\xec\x18\xec\xd1\x86\xc1\xdf\x1b\x69\xe6\x9c\x6c\xe8\x1a\x2c\xb9\x53\x1d\x7e\x45\xb0\x4e\x96\xa5\xa7\x10\xe9\x40\xd8\x01\x05\x41\x81\xa6\x43\x91\xe3\x6f\x0c\x30\x5d\x31\x8e\xf2\xa6\x64\x91\x61\x87\x50\xa1\x2b\x74\x16\x8e\xaa\x12\xea\x04\xb5\xd1\xbf\x21\x53\x15\x2d\xe3\x17\x23\x3e\x22\x4d\x79\x51\xad\x46\xcc\x63\x57\x2c\x32\xf0\x88\x07\xf4\xee\x44\x9b\xad\x50\x28\xdb\xee\x75\xcd\xd4\xe8\x41\xd1\x3d\xa5\xcf\xfc\xac\x3d\x73\xbf\xe7\x68\x14\x3b\x70\xfe\x8e\x48\xea\x66\xd7\x6a\x30\x22\xb7\x4f\x49\x02\x00\x40\x62\x88\xc7\xf1\xe0\x6d\xeb\xd7\xc5\x4a\x3a\x42\xcb\xb1\x40\x15\x30\xc6\x1a\x13\xee\x32\x23\x8e\xca\xa3\x40\x78\x37\x62\x41\xb4\x94\x17\xf2\x6b\x18\xb4\x10\x95\x6e\x94\xdb\xc0\xdf\xdf\xca\x8f\x7f\xfe\xd3\x8a\xe7\x6c\xe0\x75\x96\x19\xb4\xf6\xd5\x8a\x89\x6c\x03\xef\x9d\x91\x6a\xbf\x64\x21\x22\x4d\xd1\xda\x85\xc5\x32\x5f\xd2\x21\xb3\x22\x51\xde\x0f\x24\xfd\x71\x42\x37\xf0\x46\xeb\x12\x3e\xb1\x70\xfa\x21\x79\x53\x05\xfd\xdf\x28\x8b\x7e\x47\x39\xf4\x7b\xd9\xce\x36\xe8\x1a\xa3\xc0\x99\x06\xf9\xd9\xfd\x53\x6c\x98\x61\xad\xad\x74\x1e\xd6\xf3\x16\xfc\xde\x0f\x99\xec\xd5\xe9\x27\x98\x2f\x08\x9b\xb7\xde\x05\x89\xf3\xb6\x1b\xab\x16\x4d\x47\x82\x9c\xfe\x03\xcd\xe6\x8c\x50\x36\x47\x43\xde\xc0\xe0\x23\x46\x16\x69\x4a\xcb\xb3\x25\x95\x26\x4f\x1e\x59\xf2\x2e\xcc\x7a\x18\x36\x4f\x31\x6d\x94\x7e\x25\x32\x1f\x6b\xeb\x89\xf2\xb3\x38\x7d\x9a\xe1\x59\xe5\x0b\x18\xb5\xce\xe8\x13\x66\x23\x73\xbe\x69\x8c\x9a\x62\x68\x60\xac\xf3\xd6\xa2\xc9\x67\x50\x78\xd1\x16\x32\x0f\x1b\x87\x97\x2f\xe0\xf9\xfa\x79\xef\x55\x6b\xaa\x81\x62\x2d\x26\x67\x4c\x72\x7f\x8d\x71\x62\x3c\x8c\x0f\x06\x70\xed\xc2\x08\x43\x16\x29\x98\xa6\x21\x73\x08\x7c\xed\x29\x39\xd7\xa6\x25\x4c\x0a\xb6\x51\x48\xb0\x33\x83\x98\xf3\x88\xc8\xe2\x52\xed\x59\xdb\xf5\x64\xdd\x1f\x1d\xb4\x99\x6b\x58\x70\xb8\x96\x56\xb0\xdd\xc5\xf4\x8d\x02\xda\xaa\x9d\xdb\xcb\x96\x4a\x14\x94\x9d\xe8\x1a\x7d\x8a\x55\x6b\x6b\x65\x48\x50\x74\x0e\xa9\x41\xc1\x4a\x84\x24\xa5\x0e\x66\xb0\x9d\xea\xb4\x63\x4a\x7d\x39\x83\xa6\x33\x16\x46\x96\xa7\x90\x0a\x73\xc0\xd3\x47\x05\x41\x93\xe1\x3e\x08\x45\xd3\xc4\xb2\xcb\x3d\x42\x40\x8a\x4b\x45\xcb\x81\x6d\x76\xa1\x2e\x18\x1b\x4e\x1f\x15\x9a\x67\xb6\x47\xa1\x71\x32\xe5\xa0\xfe\x7c\x6d\xa4\xd8\x2e\x67\x32\x58\xe9\x03\xd3\xaf\xcf\x9d\x7a\x13\x07\x42\xee\x7a\x59\xe9\x33\x1b\x30\x0d\x25\x1e\xb0\x24\xa2\xaa\x9b\x5d\x29\xd3\x58\x1a\x48\xeb\x4b\x1e\x07\x82\xec\xb6\x2b\xb1\x1a\x08\x8b\xa7\xc0\xc9\x66\xab\x3c\x58\xa7\x0d\x1f\x3b\xeb\xd5\x1a\x27\xd8\x32\xd0\xdb\x40\x50\xca\x99\x8c\x74\x52\x94\xe5\x09\x52\x9f\x2d\xc8\x2e\x5b\xbd\xbc\x1f\xbf\x6a\x25\x4e\xb0\x37\x94\xaf\x30\x67\xc6\x75\xda\x3d\x52\x92\x18\xb1\x40\xdb\x91\x07\xe1\x70\xa4\x45\xdd\x66\xb6\xa1\x9e\xd3\x47\x0b\xb6\xc6\x54\xe6\x32\x0d\x72\x43\x1a\xac\x83\xdc\x81\x04\xc6\x5f\x3c\xfb\xae\xb6\x29\x8c\x6e\xf6\x05\xf4\x72\xf6\x6b\x37\xe4\xd3\x6f\xde\x15\x19\xe5\x81\x3d\xf1\xe1\x5d\xb3\x25\x92\x35\xda\xc7\x40\xf7\x81\x8c\xc7\xef\x83\xbc\x82\x08\xf2\x38\x9f\x34\x2d\x37\xf0\x97\xd7\xea\xf4\x2e\xc8\xfd\xc4\x50\xbe\x1f\x31\x20\x55\x5b\xa3\x47\x7e\x19\xd8\x1a\xb4\xa1\x1e\xcc\xc3\x16\x3c\xd2\x98\xfa\x0e\xa2\x6c\x70\x32\xcd\x4f\x59\xef\xd1\x85\x7a\x70\xb1\x84\x17\x2f\x02\xa9\x6e\x26\xc3\xe9\xe7\x26\x66\x54\xa2\x8c\x54\x5d\x35\xd6\x51\xed\x41\xcb\x59\x51\x21\xe5\xe0\xf4\x39\x50\x43\xac\xa1\xba\x84\x92\x77\x76\x33\x11\x3f\x48\x5a\xd7\xe7\xd3\xc1\x61\x68\xa4\xc0\xb3\x66\x68\xbc\x5a\x0b\x1f\x72\x63\x38\xe0\x57\x7b\x74\x77\xa7\x1a\x17\xcb\xb5\xcc\x88\x78\x73\x89\x66\x39\x58\xfb\x7e\x14\x31\x7a\xd1\x21\x96\xcd\x9f\x1f\x1d\x42\x2a\x38\x13\x1c\xa4\x0a\x47\x75\x45\x70\xf8\x15\x23\x25\x4b\x95\x96\x4d\x86\x20\xa0\xad\xbd\xbd\x1a\x69\x81\xe9\x87\xe1\x01\x04\x42\x6a\xa5\x1c\xb1\xad\x60\xa8\x86\xbd\xa6\x84\xf5\x66\xf0\x95\x49\x02\x3d\x7e\xca\x74\x1c\x34\x5f\xaf\xae\xa0\x94\x1f\x10\x6c\x5d\x4a\x2e\x69\x2a\x68\x6a\xe2\xec\x56\x88\x45\x95\xf9\x17\x54\xfe\xca\x9c\x5d\xc8\x41\x5d\xfa\x6a\x1b\x1e\x0e\x2b\xf1\x90\xc6\x61\x25\x98\x1c\x9c\xf8\x80\x5d\x6c\xa0\x78\x11\xde\x58\x0a\x94\xf3\xe6\x1f\x74\x60\x2e\x7a\x73\x90\xb5\xf0\x68\x9c\xf1\xe0\xe5\x50\xab\x3d\xba\xf7\x4d\x4d\xb5\x36\x66\x3c\x80\xd0\x49\x81\x9a\x8e\x90\x89\xbe\x8b\x66\xa5\xb4\x8e\xdc\xe7\xe0\x3b\x18\x3c\x30\xd4\x86\x5c\x31\x86\x7d\x13\x55\xd5\xce\x4e\x54\x9b\x5f\x6a\xb1\xdc\xc0\xa7\x3b\x76\x10\xca\xbe\xc6\x0c\x73\x7b\x0b\x6f\xb0\xd4\x47\x0f\x24\x8a\x74\xfd\x9e\x42\x04\x86\x6d\x4c\x80\xbd\x69\xd4\x37\x4e\x56\xa1\x57\xc5\xfd\xbc\xb1\x3c\x0e\x84\x7b\x74\x61\x67\x6d\x12\x4a\xd4\x2a\xf8\xb4\x5b\x73\x87\x86\x45\x80\xd1\xb0\x1f\xb9\xf6\x35\xef\x1a\x06\xf2\x65\x3e\xf1\x73\xfb\xbe\xd9\x91\x36\x0b\x9d\x6f\x80\x1e\x7e\x3b\x38\x96\x19\xa1\xf7\x2f\x17\xcb\xe5\x0c\xaf\x06\xf6\xfc\x34\x5c\x61\xc3\x99\xe4\xfd\x90\x44\x00\x4b\x8b\xf3\xd4\xfc\xce\x4b\x11\x94\x1b\xd7\xee\x04\x99\xe4\xf0\x2d\xcc\x29\x52\x65\x86\x39\x1f\x31\xd3\x34\xf3\x45\x6b\x91\x63\xa1\x21\xd3\xea\x99\x9b\x93\xdc\xb5\x4a\x66\x4d\xb5\x02\xdb\xa4\x05\x2d\x32\x7c\xfd\xfe\x28\x5d\x5a\xec\xb4\x30\xd9\x76\x05\x5b\x7e\xf6\x56\x9b\xa3\x30\x19\x9a\x2d\xa0\x4b\xd7\x67\x4d\x71\x7f\x96\x3b\x07\x30\x7f\x17\x40\x7c\x2c\x90\xf3\x03\x6d\x98\xb6\x68\xb3\xc4\x39\xca\xc3\x45\xda\x00\x5e\xdf\xae\xa2\xb7\x03\xca\x8d\xd2\x5e\x47\x17\x60\x86\x13\x2a\xcc\x02\xa1\x4e\x5e\x90\x2d\xb8\x91\xfc\x1b\x85\xa2\x5e\xb6\x4f\x42\x83\x6d\x27\xde\x41\x30\x19\x3b\xc7\xc2\x07\x0e\xfa\x38\x2d\x4e\x7a\x56\xc8\x45\x69\x71\x3e\x6c\x9c\x21\xa9\x58\xe0\x69\xd3\x93\x18\xda\x64\x8c\x06\x3e\x75\x01\x99\x34\x98\xba\xb6\x04\x06\xa9\xac\x43\x91\x11\x0b\x14\xe2\xc0\x91\x81\xbb\x84\xa2\xa5\x37\x22\xb4\x63\x1b\x94\x2f\x72\x95\x3b\x57\x22\x47\x2a\xd9\xc0\x77\x6d\x6a\xf4\xed\xff\x8d\x3c\x25\x9e\xcc\xfd\xcb\xb1\xab\xd4\x66\x0e\xf9\x51\xe8\x9a\x99\x84\xdc\xe6\xe6\x3b\x3e\x25\x02\xc2\x4e\x1b\xa3\x8f\x30\x6d\xd8\xc2\x4f\x6f\xef\xda\xa9\x37\xd7\x06\xea\x90\xbf\xcc\xc4\x69\x69\x7b\xa7\xc0\x79\x3b\xad\xba\x47\x85\x46\x94\x50\x37\xa6\xd6\x16\xa1\x42\x27\x32\xe1\x44\x6f\xec\x38\x6a\xc6\x4c\x72\x24\x0e\x31\xf3\xbc\x48\x04\x17\xc5\xf8\x52\x41\x64\x99\x4f\x41\x8f\x85\x2e\x91\xef\x2c\xba\x7e\x5d\x14\x4b\xc7\x8e\x07\x24\x2e\xe8\x3a\x1c\x4d\xbd\x37\x22\x63\x93\x50\xf9\x61\xf4\x4e\xec\xa8\x98\xd0\x1a\x2a\xf2\x68\x9d\x83\x80\x9d\x41\xf1\x81\x6b\xb8\x42\xa8\x3d\x5e\x42\x5f\x30\x0f\x7c\x82\xdb\xdb\xcd\xa0\xc7\xbb\x6e\x9b\xbd\xa3\xe8\xf9\x37\xee\x84\xc6\x8d\xf5\xd2\x89\x49\x5e\x1e\xd3\x8c\x94\x0f\x77\x87\x8c\x4d\x23\xa9\xee\xe2\xf6\xfa\x6a\x30\xc3\xea\xd0\x86\xf5\xd7\x46\xf1\x66\x25\x24\x4c\x4c\x92\x1f\xeb\x52\xa6\xd2\xf9\xd9\x73\x51\xad\xcd\x56\x23\x82\x93\x27\xc6\xbe\x27\x92\xc2\xd0\x52\x83\x96\xb9\x37\x9b\xbd\xe8\x86\x7b\x74\x34\x87\xb5\xf9\x07\x89\xfd\xe7\x64\x88\xf1\xf2\x68\xd8\xe2\x5f\x70\x90\x78\x6c\x15\x78\xad\x4e\xef\x9d\x69\x52\xf7\x6a\xec\x04\x5d\x71\x3c\x68\x28\x64\x48\x69\xc5\x2a\x54\xae\x2d\x26\xfc\xd5\x1b\x97\x52\xdd\xbd\x5b\x4b\xbf\xab\x88\x99\x55\x8f\xba\x56\x6d\x09\xef\xaf\x91\xe2\xae\xbb\x06\x44\xd3\x75\xf7\xc8\xcb\x6d\x34\x26\x9c\xd0\x5d\x93\xcb\xf9\x1c\xcd\xc3\xf4\x6a\x55\xae\xc2\xf3\x5f\x87\x28\x8e\x55\xc9\x61\x36\x36\x5c\xc6\xd8\x7f\x65\x1a\x37\x75\x81\xa7\x60\x39\x86\x6d\xae\xe5\x9c\x36\x62\x4f\x39\x9a\x2b\x28\x8e\x1b\xec\x2c\x16\x03\xae\x3b\xd5\x32\xe5\xed\xee\xfc\x04\x9c\x75\xd8\xef\x7d\x0c\x7e\xef\x25\xfe\x2c\x5c\x41\xea\xf7\xbe\xbe\x9a\x8f\xb3\x4a\x96\x0f\x25\x18\x9c\x45\x7a\x62\x1e\x28\x2a\xed\x50\x53\xbe\xab\x69\x39\xbc\xeb\x00\x5c\x50\xf7\x67\x1e\x1b\xb5\xed\xbe\x3d\x4e\xd9\x2f\xee\xf5\x0f\xf5\xce\xb6\x3e\xba\x6f\xbb\xee\x19\x1f\xff\x33\x3b\xcb\xe0\xc3\xfe\x19\xc5\xa8\x51\x0f\x2d\x0a\xa6\x14\x6d\x3a\xff\xcb\x76\x37\x66\xf3\x88\x98\x7c\x77\x3d\x8a\x97\x0f\xf4\x28\x5e\xfb\xc6\x44\xd7\x71\x88\x2d\x8a\xd2\xb7\x74\x84\xa2\x7c\x14\x7f\x6f\x44\xe9\xbf\xcd\x10\xc3\x4c\x93\xe2\xfe\xca\x56\x4c\xb8\x6a\xf4\x2d\x32\x51\xb6\xfd\x3a\xd8\xee\x30\xd7\x06\xb7\xfd\xa8\xea\x53\xfe\xb0\x68\xd7\xd8\x1d\xc6\xbe\x9e\xf0\x70\x33\xb8\xc3\xbd\x54\x8a\xa2\xff\xe8\x52\xbd\xbb\x6e\x9f\x99\x7d\x85\x6d\x5f\xbc\x00\xaf\xe5\x62\xf2\x6e\x09\xdf\x5c\xb6\xfb\x4f\x2d\x7a\xa2\x31\xfb\xbd\xa1\x58\xdc\x77\x36\xae\x0d\x1e\xf8\xae\x3b\x0e\x17\xbe\x17\x30\xee\x15\xc5\xf7\xe7\xd3\xc1\x2b\x0b\x7f\x91\x65\x54\xf4\x77\x0b\x86\x9c\x73\x70\xf6\x72\xa6\xcd\xfc\x98\xb2\x7f\xae\xbe\x1c\x67\xcc\x54\xd3\x58\x8b\xc6\x75\x77\xbd\xa9\x56\xa9\x41\x17\x0a\xe9\x60\xa1\xee\x06\xd1\x93\x99\xb4\x6d\x9b\x6d\x2c\x2f\x94\x92\xbd\x42\xa9\xad\xae\x62\xdb\x39\x48\xbb\xc2\xe7\x68\x5b\x6b\x69\x7f\x54\xd6\xf1\xd9\x0f\x0b\xe0\xe5\x06\xe6\x01\xf0\x9d\x50\x14\xf6\xbb\xd2\x04\xa4\x4a\x75\x55\x0b\xd7\xfb\xef\x16\xda\xdf\x35\xdd\xbf\xd9\xdb\x4c\x56\xac\x0f\x4a\x7f\x2d\x76\xa1\x0b\x18\x67\x5c\xdd\x05\x84\xf3\xce\xfd\x48\x77\xf9\xff\xf8\x6e\xa2\xf5\xf2\x49\x1e\x64\x9b\xea\x41\xd7\xe9\x10\x73\x91\xc1\x46\x2e\xf3\x3f\x51\x85\x7e\x91\x33\x7b\x34\xc5\xb5\x51\xd6\xa2\xca\xd0\xfc\xa1\x94\x07\xb3\x8e\x32\x7f\x37\x7d\x4d\x9b\x5c\x6f\xba\x2a\xdd\x57\xe4\x8b\xe5\xab\x2f\xd7\x4d\x1f\x40\x8c\xaf\x64\xf0\x87\xaa\x76\xa7\x40\xc8\xe1\xd6\x45\x9d\xc2\x7f\x74\xe9\x30\x66\x90\x87\x30\x93\x15\x82\x78\xfc\xdf\x68\xf4\x55\x39\xc8\x78\xa9\xc5\xe7\xdc\xad\x9c\xb9\x24\x79\xbe\x7e\xbe\x81\x1b\xaa\x7f\x15\x1e\xcb\x70\xe3\x14\xbd\xce\x83\x80\x53\xce\xbe\xd2\x57\x38\x63\xb8\x8e\x5f\x5c\xd7\x62\x99\x62\x61\x7a\xf3\x3e\xc1\xf8\x67\x5f\x8f\xdc\xff\x27\x00\x00\xff\xff\x76\xbf\xbc\xdc\x54\x2a\x00\x00"
+
+func fungibletokenV2CdcBytes() ([]byte, error) {
+	return bindataRead(
+		_fungibletokenV2Cdc,
+		"FungibleToken-v2.cdc",
+	)
+}
+
+func fungibletokenV2Cdc() (*asset, error) {
+	bytes, err := fungibletokenV2CdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd3, 0x54, 0xca, 0x34, 0xcb, 0x48, 0x59, 0x4a, 0x1b, 0x6b, 0x38, 0xd8, 0x72, 0x26, 0xac, 0xe8, 0x6c, 0x8, 0xe4, 0xcc, 0x5c, 0x4a, 0x5d, 0x17, 0xa6, 0xcc, 0x2f, 0x3e, 0xbf, 0xfd, 0xe2, 0x15}}
+	return a, nil
+}
+
 var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x5a\xdd\x6f\x1b\xc7\x11\x7f\xbf\xbf\x62\x60\x3f\x58\x4a\x29\xca\x48\x8b\x00\x15\x9a\xc4\x76\x1a\x01\x06\xda\x22\x88\xd5\xe4\x21\x08\xca\xe5\xdd\x1c\xb9\xf0\xde\xee\x65\x77\x8f\xf4\xc5\xd0\xff\x5e\xcc\xec\xc7\x7d\xf0\x28\x29\xf6\x4b\x81\xfa\xc5\xe4\xf1\x76\xbe\xe7\x37\x1f\xab\xeb\x2f\xbe\x28\x8a\xe7\x70\xb7\x47\xb8\x55\xe6\x08\xb7\x9d\xde\xc9\xad\x42\xb8\x33\xef\x51\x83\xf3\x42\x57\xc2\x56\x45\xf1\xfc\x39\x6c\xd2\x8f\xfc\xdb\x06\x4a\xa3\xbd\x15\xa5\x07\xa9\x3d\xda\x5a\x94\x58\x14\x44\x28\x7f\x05\xbf\x17\x1e\x84\x52\x73\xb2\xe9\xa4\x83\xa3\xe9\x54\x05\x7b\x71\x40\xf0\x86\x9e\xd7\xc6\x36\xe0\xcd\xba\x78\x5b\x83\x80\xce\xa1\x75\x70\x14\xda\x3b\xfa\xbd\xc2\x56\x99\x1e\x04\x68\x3c\x82\x9f\x90\x5a\x81\xdf\xa3\xb4\xf9\x7b\x11\x28\x6b\xc4\x8a\x4e\xca\xa6\x55\xd8\xa0\xf6\xf4\x1a\x4c\x14\x19\xe4\x5d\xb3\xfc\x23\x22\x33\xf1\x6a\xa3\xc8\x46\xa4\x10\x51\xb1\x9d\x42\x07\x42\x57\xa0\x45\x23\xf5\xae\x60\x75\xfd\xc4\x02\xae\xc5\x52\xd6\x12\xdd\x3a\x98\xf0\x27\xd1\x29\xbf\x01\x8b\xce\x74\x96\x0c\xf6\xbd\x28\xf7\x20\xca\xd2\x74\x2c\x9b\xf0\x60\x8e\xda\x05\xe5\x92\x79\x92\x12\x2c\x87\x20\x81\xc9\x2f\x25\x16\xa6\x66\x76\x4c\x34\xd3\x04\xe7\x8d\xc5\x0a\xa4\x8e\x26\x49\xd4\xe9\xb9\xd8\x45\x2d\xe7\x87\xf6\xc2\x41\x83\x7e\x6f\x2a\x07\x59\x0f\x73\xd4\x68\x59\x43\xe3\xf7\x68\xa3\x3b\x4a\xa1\xa1\x14\x4a\x45\x95\x7e\xb0\xe6\x20\x2b\xb4\x9b\x15\x6c\x7e\xc4\x12\xe5\x81\x3f\xd3\xa9\xcd\x1b\xa1\x48\xd0\x41\xe1\xc1\x34\x8e\xc5\x70\xe3\x27\x50\x61\xa9\x84\x45\x68\x2d\x5e\x95\x46\x57\xd2\x4b\xa3\x83\x89\x5b\xe3\xfc\xf8\x19\xcb\x68\xd1\x79\x2b\x4b\x5f\x90\xb0\xf8\x01\xcb\x8e\x7e\x84\x68\x96\xba\xd3\x65\x78\x39\x98\x22\xa8\x1c\xd4\xef\x81\xf8\x38\x6c\x85\x15\x1e\x61\x8b\xa5\xe8\x48\x16\x0f\x3b\x79\x40\xc7\xaf\x93\xb6\xfc\x41\x6c\xa5\x92\xbe\x27\x17\xb8\xbd\xb0\x58\x08\xb0\x58\xa3\x45\x5d\x72\x5c\x04\x33\x07\x83\x06\x17\x6a\xd5\x03\x7e\x68\x8d\x8b\xa4\x6a\x89\xaa\x72\x83\x44\x85\xd4\x60\x34\x82\xb1\xd0\x18\x8b\x49\xe2\xc1\x14\xeb\xa2\x78\x4b\xa9\xe3\x4c\x14\x28\x98\x7e\x26\x4d\x23\xde\x23\x94\x9d\xf3\xa6\xc9\x16\x8e\xa6\xc9\x01\x4f\xb6\x99\x5a\x99\x12\xc9\xc0\x41\x58\x69\x3a\x7a\x5b\xea\x9d\x83\xa3\xf4\x7b\x26\x1f\x22\x6f\x5d\xdc\x1a\x0b\xf8\x41\x10\x99\x15\x08\xa8\x45\x57\xa2\x67\xdf\x6f\x71\xa0\x8e\x15\x6c\xfb\x94\xb7\x9c\x03\x6c\x0e\x48\x41\x31\x49\xae\x37\x3d\x74\x4e\xea\xdd\x48\x56\x72\xed\x20\xda\x2a\xaa\x69\xea\xb3\x88\x51\x90\x04\x0e\x75\xc5\x47\x6d\x88\xb7\x94\x2e\x2d\xa2\xbd\xf2\xe6\x8a\xfe\x5f\xb1\x4a\xa6\xf3\x94\x36\xc4\x94\x50\x80\x38\x31\x38\x90\xb6\x02\x4a\x24\xaa\x0a\x14\x56\x3b\xb4\xe0\x1a\x61\x7d\x66\xb5\x86\x3b\x13\x38\x45\xea\xde\x80\xd0\x43\x22\xac\x8a\x80\x4f\x31\x49\x1d\xd9\xa4\x67\xa6\x95\x15\xc7\x91\x2d\xa1\xb6\xa6\x19\x07\x09\x63\x55\xc8\x21\x8e\xdc\x0a\x5b\xe3\xa4\xcf\xe1\x01\x46\x4f\x38\xbd\x70\x29\xb8\x08\x22\xc9\xf4\x1e\x03\x7d\x2b\xb4\xab\xd1\xae\x8b\xe2\x8b\xeb\xa2\xb8\xbe\xbe\x86\x05\x00\x3e\x0b\xbe\xd9\x8b\x6b\x3a\x5a\xb4\xdd\x76\x01\xd3\x67\x60\xf9\xb1\x28\x00\x00\x12\x2b\x6f\xbc\x50\xa0\xbb\x66\x8b\x96\xa3\x38\x68\x2c\x35\xe0\x07\xe9\x3c\x65\xc8\x3a\x1f\x78\xeb\x41\x3a\xe8\xda\x98\x33\xa3\x28\xb2\xf4\x08\xb5\xeb\x2c\x0e\xe8\x13\x68\xbb\xae\x6d\x55\x9f\x69\x38\x2f\x7a\x47\x90\xd6\x71\xe2\x52\x10\x04\x82\x95\xf0\xc8\x6f\x91\x1a\x07\x61\xc3\xf1\x77\x7c\xfa\x06\xfe\x7d\x2b\x3f\x7c\xf5\x97\xa9\xec\x78\xc0\x84\xb9\xd2\x01\x36\xd2\x53\x38\x1f\xc9\x35\xc4\x7e\x30\x85\x83\xd2\xa2\xf0\x58\x65\xfa\xe1\x28\x5b\xc4\xbd\xd5\xd2\x4b\xa1\xe4\xef\x58\x5d\xc8\xf0\x79\xca\xf5\xf2\xe9\x6c\x83\xf5\x08\x9a\x52\x1c\xe9\x10\x3d\x22\x44\xc0\xa2\x00\x3f\xa7\x57\x2f\x44\x43\x40\x9f\xf8\xae\xf8\xe8\x0d\xbc\xae\x2a\x8b\xce\x7d\xfb\x49\x72\xc4\xd8\xe4\x7a\x42\x09\xf0\x80\x1c\x7f\x4f\xaf\x9e\xc8\xe1\xcd\x59\x29\x66\xb1\x8a\x04\x24\x65\x44\x4d\x8b\xbf\x75\xd2\x72\x84\x38\xa8\x8d\xcd\x46\x21\xa0\x49\x44\x66\x39\x36\x04\x15\xe7\x7c\xdf\x0e\xf1\x37\x8e\xc3\xca\xa0\x03\x6d\x32\xc3\x29\x2f\xa3\x61\xb3\x4d\xa5\x6b\x8f\x16\x57\xf9\xec\xa8\x52\x28\x14\x84\xcc\xa6\x8d\x01\xd3\x1a\xe7\x64\x04\x67\x53\x87\x98\x21\x21\x22\x40\xb7\x11\x12\xdd\x20\x3a\x69\x5c\x19\x96\x43\x63\x89\xce\x09\x2b\x55\x1f\xeb\x3d\xe3\x85\x39\x6a\x88\x92\x4c\xf5\x20\xe3\x9f\x16\xd5\x01\x77\x63\x9e\x26\x56\xef\xba\x6d\x4c\xfa\xb9\xbd\xb8\xc6\x27\x84\x99\x9c\x09\x00\xeb\x3b\x4b\xa1\x10\x11\x28\x97\x09\x8b\x8d\x39\x60\x95\xcb\xc5\xe8\xe0\x84\xc8\xdd\xa8\x10\xbf\xe0\xc4\x45\xe7\x40\xe1\x01\x15\x85\x5d\xdb\x6d\x95\x2c\x57\xb0\xed\x28\x14\xa5\xa3\x67\x64\x0e\x41\xe6\xda\x2a\x6c\x26\xc4\x92\xf1\xb9\xbe\x0e\x0d\x0a\x35\x36\xec\x6d\x96\x2b\xdb\x64\xda\xfe\x4c\x08\x95\xdc\x45\x71\xae\xaa\x9e\x81\x38\x70\x4f\x92\x3e\xac\x4f\xe0\xda\x88\x1e\x76\x56\x68\x1f\x9b\xa3\xc8\x27\xeb\x48\x75\x31\x85\x00\xa9\x23\x0f\x09\xa1\x06\x29\xda\x5c\xcc\x63\xa7\x6c\x8e\x2e\xf5\x8c\xe5\xa4\xe9\xa2\xdc\x63\xba\x13\x0a\x1c\x76\xc9\xe5\x59\x75\xbf\xb7\xa6\xdb\x51\x81\xcb\x6d\xca\x53\x15\x0a\x1d\x07\x6b\x45\x46\x79\x44\x27\x76\xde\x53\x54\x22\x5a\x33\x3d\x26\xb2\x4f\x68\x7c\x9a\x1e\xaf\xa8\x95\x6b\x20\x41\x0f\xa9\x15\x3e\x8f\xca\x92\x37\xd4\xbc\xcc\xa0\x95\xe4\x38\x9c\x04\xff\xab\x10\xf9\xb0\xd0\x2a\x53\x61\x10\x52\xa7\x88\x1b\x91\xeb\x74\x35\xf5\x4f\xfe\x42\xe9\x5a\x77\x3a\xbf\x3c\x83\xc8\xcb\x1b\x78\x15\xb8\x7c\xcc\x47\xf8\x98\x71\xf3\x47\x81\x34\x6c\x2c\xba\x38\x4a\xd4\xd1\xae\x21\xfc\x59\xea\x83\x50\x1d\x9e\x1c\x0b\x47\xd6\x11\x4f\xe0\xeb\xaf\x93\xb5\x4e\xde\xa4\x7f\xcf\x52\x5d\x11\x2a\x59\xb2\xe9\x9c\x27\x0b\x12\x27\x27\x1a\x04\x11\xdc\x98\x28\xc6\x36\x76\xb0\x08\xeb\xf4\x6c\x42\xfe\xbe\x98\x7e\xba\xff\x8c\x7a\x10\x8b\xd3\x42\x39\xe0\x62\xf5\xc4\x72\xf0\x33\x26\x10\x96\xba\x54\x5d\x85\xd4\x19\xa6\x49\x23\x88\x51\xee\xb1\x7c\x3f\xd5\x35\x62\x51\xa6\x72\x44\x9e\x53\xc9\x11\xd4\xb1\x3f\xa5\x61\x0f\xb3\x52\x68\xd8\x0b\x18\x41\x53\x65\xd2\x4b\xcb\xdd\xf9\x0a\x94\x7c\x4f\xc3\xa5\x92\xdc\x2a\x35\xd4\x03\x09\x5d\x0d\x5d\x12\xb7\xad\xf4\x03\x75\x46\xb2\xe6\xec\xf1\xd0\xaa\x30\x5b\xc0\xe3\x85\x24\x4d\x72\xf3\x42\x72\x27\xde\xe3\x50\x0e\xa8\x44\x44\x27\x38\x2a\x89\xcb\x66\x1f\x12\xba\x6f\xf1\xb1\x04\x0e\x3d\xcb\xe3\x69\xc7\xc9\x16\xbc\x73\x94\x4a\x51\x58\xe6\x5e\x65\x91\x47\x4a\xc1\xf8\xd6\x45\x60\x14\xd2\xee\x72\xaa\xe4\x1b\xa4\x39\x5f\xba\x01\x77\xaa\x01\x2b\x6e\xff\xf1\xf6\x07\x78\xfe\xd5\x5f\x61\xef\x7d\xeb\x6e\xae\xaf\x77\xd2\xef\xbb\xed\xba\x34\xcd\xb5\xd1\xb5\x32\xc7\xeb\x5a\xc9\xd6\x5d\x6f\x95\xd9\x5e\x37\x42\xea\xf8\xfd\xcb\x97\x5f\xfe\xf9\xe5\x97\x2f\xbf\xba\xaa\x63\x47\x7d\xc5\xde\xbc\x62\xf0\xb9\x22\xdb\x5c\x55\xd2\x95\xe6\x80\xb6\x5f\x37\xd5\x32\x90\xd0\x97\x1f\x63\x51\xe6\xd9\x41\x72\xc1\x12\x96\x7b\x8e\x38\x26\xf4\x2d\x8e\xa6\xf8\x90\x3a\xd1\x9d\xd2\x81\xa0\x59\x20\xe2\x70\x4b\x3e\x03\xf2\xde\x26\xda\x65\x13\xd7\x00\xb3\x3a\x23\x5d\x18\x5a\x64\x5a\x8a\x44\xa4\xd9\x7c\xbc\xeb\x5b\xfc\xdb\xab\x5b\x65\x8e\xdc\x06\xae\x59\x86\x6f\x2e\x2e\x6f\xc0\xdb\x0e\xef\x37\x61\xc6\xab\x41\xe8\x7e\x1e\xfa\x13\x1e\x5d\x1a\x96\x2b\xac\x59\x8d\x1c\x43\x22\x26\xe2\x02\x7b\x6c\x5a\xdf\x8f\x8d\x20\x1c\x6b\xd3\x0a\x0a\xf8\xe5\xb2\x42\xbd\x9f\x7e\xe1\xf3\xb6\x29\x27\xd7\x74\xc1\xb5\x9e\xed\x6a\xce\x97\x9e\xef\xa6\x5a\xcd\x04\x0f\x7d\x34\x7e\x68\xb1\xf4\x61\x8f\xd3\xb5\x3b\x2b\x2a\x9c\x6d\xac\x42\x6d\xac\x2a\xde\xf0\x4c\x28\xcc\x5c\x21\x3c\x0f\x45\xc6\x7a\x17\x1c\x13\x1c\x36\x6e\x4d\xa5\x03\x8a\x22\xae\x03\xec\x6e\x42\xcb\x34\xf1\x8b\xb6\x55\xb2\x8c\xb2\xc5\xb5\xd2\x03\x75\x35\x5a\x7a\x1a\x68\x51\x00\xcc\xe9\x1f\x4a\x68\x0c\xbd\x6d\x7f\x1e\x04\xd6\x0f\x17\xc8\x1d\xfa\x77\x89\x36\x3b\x80\xc2\xcb\x51\x34\x71\xa0\xdd\xc0\x1b\x63\xd4\xfd\xac\x26\xe6\x94\x65\x9c\x26\xed\xc7\x0b\x8a\x84\xbb\xc3\x74\x69\x3b\x7d\xe5\x65\x13\x00\x29\x04\xd4\x9c\x1e\xb7\x98\x3b\xf4\x31\xd0\xc6\x83\x61\x88\xad\x09\x30\x51\x1c\x45\x94\x5e\x0c\xa2\x35\x4c\xe8\xcb\x1a\x1c\xaa\x7a\xbd\x43\x56\xef\xe2\x72\x2d\x1d\x75\xe8\xf4\xd9\xd4\x37\x10\x53\xea\x94\xd0\x37\x17\x97\x97\x0b\xfd\x40\x74\xd1\xc7\x29\xd1\x98\x80\xd3\xea\x0b\xa8\x1c\x2e\xb7\x14\x01\x56\x28\xfc\x96\xb2\x6a\x9c\x99\xdc\x5e\x70\x4c\x65\x23\x1c\xf7\x06\x2a\xa3\x5f\xf8\x25\xca\xc3\xf6\x75\xd1\x3a\x2b\x70\x5d\xb9\x27\x26\xd3\x9f\xdf\x1d\xa5\x2f\xf7\x5b\x23\x6c\xb5\x59\xc1\x86\x9f\xdd\x1a\x7b\x14\xb6\x42\xbb\x01\xf4\xe5\xfa\xac\x29\xee\x3f\xa3\xe9\x88\x95\x26\xe8\x3c\x0c\x82\xbc\xc4\x83\xf1\xce\x35\x13\x21\x88\x1b\xb5\x2a\x54\x93\x28\x5a\x34\x1e\xc3\x8b\x01\x03\xe2\x16\x61\x35\xee\x23\x32\x09\x0a\xda\x61\x93\x00\xa5\xb1\x16\x4b\xaf\xfa\x27\x55\xeb\xb8\x67\x3d\x29\xd6\x79\x8b\x32\xea\xd0\xc4\x69\xb7\x3b\xc9\xc2\x83\xb0\xe9\xf5\xe9\xde\x84\x23\x57\x4b\x7f\x31\xfb\x75\x1e\x91\x67\x9a\x56\x0e\xce\x51\xef\x99\xa8\x2c\x37\x9f\x49\xa3\xd4\x72\x8e\x6d\x93\x7a\x8c\xf0\x28\x11\x3a\xdf\x66\x4e\x6c\x72\x9b\x96\x6c\x71\x83\x1c\xe7\xdb\xb8\xd3\xff\x27\x7a\x51\x09\x2f\xe0\x27\x89\x47\x37\xdf\x73\x8a\xd9\x2e\xed\x51\xd0\x7c\xad\x41\x58\x2b\x18\x32\x19\xc8\x28\x85\x86\x1e\x66\x4c\xfe\x40\x0c\xd7\x70\x47\x80\x1e\xf2\x2b\xb5\x35\x9d\x63\xee\x13\x06\xe9\x5f\x45\x83\xb4\x69\xe3\x04\xf0\x5e\x9b\x23\x1c\xf7\xb2\xdc\x03\x37\x53\x18\x37\x6b\xad\x70\xa3\x09\xc1\x19\x75\x40\xd2\xef\xe2\x32\x96\x8e\x65\xf4\x1f\x41\x32\x5b\x83\x10\xe5\x17\xd2\xe2\xd7\x99\x77\xa3\xb2\xbf\xfc\xfa\x54\x9b\xb3\x04\xd4\x45\x36\xc9\xdc\xa4\x3d\x03\x4a\x1a\xc3\x83\x95\xc3\x1d\x0f\x95\x93\xdc\xb9\x2f\x9a\x3b\xb4\x8e\x44\x24\xb4\x8e\x24\x65\xca\xd4\x0a\x9d\xb4\xd1\xc0\xeb\x65\x2f\x81\xf3\xb6\x2b\x3d\xd5\x07\x8b\xad\x45\x97\xe6\x85\x38\x74\xa0\xf3\x4b\x04\x4e\x2c\x35\xb6\xed\x7f\x92\x38\x7d\x8b\x97\x37\xf0\x5a\xf7\xef\x98\xc9\xb7\xcb\xc6\xd3\x52\x3d\x8c\x51\xa3\xa9\x78\x0e\x51\xc3\x45\x87\x37\xe7\x76\xe3\xeb\x09\xb1\x70\xd1\x22\xd2\x6d\x09\xcf\x3b\xa5\xe5\xb5\x32\x59\x4e\xea\xf0\x68\xbe\x0a\x6e\x50\xe8\xd9\xb8\x82\xdc\x67\x9c\x59\x31\xcf\xae\x22\xdc\x43\x97\x6f\x99\x22\x67\x3c\xa7\x09\x8e\x05\x9b\x5f\x9d\x65\x3b\x84\xda\x1b\xa3\xfb\xcc\x6d\xd4\x04\xa8\x87\x5b\xa9\xf1\xcd\x43\x18\x65\xf8\xfe\xc9\xc5\xce\x2c\xce\x9b\x55\xba\xbe\xa1\x57\x86\x2b\x1c\x38\x07\xcb\x2c\xe8\x4d\x5e\xc5\xad\xf2\x2c\xb5\xfa\x43\x38\x7d\xba\x97\x78\x14\x9d\x23\xa9\xe1\x3a\x26\xb8\x33\x5a\x34\xdc\xad\x0d\x9b\x2f\xf9\xfb\xa4\x03\x9f\x2c\x6c\xc2\x62\x26\xe3\xd4\x14\x69\x4f\x6b\x60\xa0\xf0\x70\x95\x38\xb7\x90\xdc\x84\xe5\xc2\x66\x98\xb0\x98\xee\x0b\x37\x29\x91\xb0\xb8\x94\xcc\x05\x76\x68\xe2\x5d\x24\x4c\x98\x79\x7a\xfe\x7f\x7e\x65\xf4\xd9\x1b\x23\xbb\xd4\xdd\x4d\x6a\xef\x37\x8f\xec\x7d\x5e\x07\x1b\x0c\x42\xa6\x1a\xac\xc2\xda\x4e\x68\x30\x16\xf0\xb7\x4e\xa8\xf0\x6d\x61\x05\xf4\xe0\xe2\x07\x1e\xdc\x6c\xd1\x08\xc3\x8e\x6c\xb1\xa4\xa0\xcb\xb7\x62\x9b\x2d\xd6\xc6\xe2\x86\x57\x2c\xe8\xa3\x17\xa8\x52\x46\xa6\xb3\x56\x6d\x89\x78\x1c\x89\xb7\xb8\x93\x9a\xdd\x31\xbb\x2b\x1e\x6e\x91\x17\x4e\x3f\xde\xd2\xb0\x80\x17\xe3\xc7\x97\x70\xf5\xb0\xb5\xff\x95\x43\x78\x3b\x6b\x79\xc2\x78\x5f\xa7\x8b\xe6\x28\x69\x6b\xf1\xc0\x63\x5c\x7a\x5d\x84\x55\xcf\xd3\xb7\x6e\xff\x0f\xfb\x9c\xd3\x01\xf1\xb5\x73\x68\xfd\xb0\x15\x99\x56\xbc\xdc\x2b\xa4\xdb\xae\x30\xce\x86\xad\x07\xef\x3a\xe7\xf4\xe2\x48\x74\x18\x6e\xfd\xa5\x8b\x2b\x95\xa4\x52\xa4\xf6\x84\xfc\x24\xd9\xd7\xd2\xbd\x8d\x7f\xd8\x71\x31\x1d\xe4\x2e\x6f\x60\x39\x76\xbe\x13\x5a\x1b\x9f\x47\x70\x86\xf6\xd2\x34\xad\xf0\xa3\xee\x89\xf4\xfb\x84\x4c\x7c\x52\x6c\xff\x29\x3d\x66\x05\xd2\xe3\x4f\x8a\x74\xd7\x35\x8f\x86\xf8\xe0\x9e\x3f\xb6\x58\x7e\x1d\x6f\x21\x74\x1f\xff\xa8\xc3\xc4\x59\x6c\x52\x42\xd8\x89\x7b\x41\xd9\xf0\x3b\x5a\x33\x9f\xd0\x32\xb5\x31\xce\x0f\xa7\xf3\x9f\xf4\xc0\xac\x2f\xa0\x18\x0d\xdc\xbe\xa7\xb1\x9a\xdf\xbe\x58\x82\xef\x05\x47\x9c\x6e\xec\x5f\xae\x5f\xde\xc0\xb3\xc8\x5a\xf5\x69\xa6\x8c\x42\xb0\x41\xf9\xcf\x84\xc6\x1a\x3c\x3b\xb1\xcc\x7d\xf1\xdf\x00\x00\x00\xff\xff\xb9\xc5\x60\x3c\xf9\x25\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
@@ -117,7 +161,7 @@ func fungibletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\x5f\x6f\x23\xb7\x11\x7f\xd7\xa7\x98\xea\x21\xb1\x01\x9f\x74\x77\x28\xda\x40\x88\x7a\xb9\x20\x16\x5a\xc0\x87\x33\x7c\xba\xf4\xb1\xa6\x76\x67\x25\xc2\x5c\x72\x4b\x72\xa5\x13\x0c\x7f\xf7\x62\x48\xee\x2e\xa9\xdd\x95\xed\xa4\x01\xa2\x07\x5b\x22\x87\x33\xbf\xf9\xcb\x19\xf2\xb2\x52\xda\xc2\xaa\x96\x5b\xbe\x11\xb8\x56\x0f\x28\xa1\xd0\xaa\x84\x69\xb2\x36\x9d\x04\xca\x4f\x68\x59\xce\x2c\xfb\x95\xe3\xc1\x04\xca\x64\x6d\x3a\x99\xcc\xe7\x73\x58\xef\xb8\x81\x4c\x49\xab\x59\x66\x81\x97\x95\xc0\x12\xa5\x35\x60\x77\x08\x65\x38\x00\xc6\x32\x99\x33\x9d\x43\xa5\x55\xa5\x0c\xe6\xee\x2c\x97\xb0\xba\xf9\xd7\xed\x9b\x77\x6f\x7f\xf8\xfb\xcc\xad\xb8\x3f\x77\x58\x2c\x60\x67\x6d\x65\x16\xf3\xf9\x96\xdb\x5d\xbd\x99\x65\xaa\x9c\x2b\x59\x08\x75\x98\x17\x82\x57\x66\xbe\x11\x6a\x33\x2f\x19\x97\x73\x56\x55\x82\x67\xcc\x72\x25\xe7\xef\xdf\xbe\x7f\xff\xf6\x87\x77\xef\xde\x14\x41\xa9\x37\x96\xb4\x32\x6f\x1a\x24\xb3\x32\xef\x04\x7d\xb1\xba\xce\xac\x01\x26\x73\xd0\x68\x54\xad\x33\x34\x90\x31\xd9\xe9\x01\x4a\x22\x28\x0d\xa5\xd2\xe8\xce\xb4\x2a\xd9\x63\x85\xe6\x0a\x32\x26\x04\xe6\xb0\x27\x93\xcc\xe0\x9a\x65\x3b\xf7\xdd\x6d\x83\xc6\x4a\xa3\x21\x73\xb8\xb3\x0c\x72\x5e\x14\xa8\x89\xef\x03\x97\x39\xa8\xa2\xe5\xe7\xf4\x9f\x54\xf5\xa6\x33\x66\xe2\x98\xd4\x1f\x8f\x93\x09\x00\x00\x31\x5d\xad\x69\x09\x0e\x9a\x55\x06\x56\xeb\x5f\xb8\xa9\x04\x3b\x3a\x9d\x56\xeb\x5f\x59\x2d\xec\x2f\xcc\xb2\x2b\xb7\xc0\x0d\xd4\x06\x73\xb0\x0a\xb6\x7c\x8f\xc0\x20\x53\xa4\xa9\x45\x68\xf9\x55\x3c\xb3\xb5\x46\xc2\xc6\x5a\x08\xe0\x30\xcc\xe0\x93\x32\xf6\x64\xb1\xc5\x6b\xc0\xec\x54\x2d\xf2\x8e\x55\x67\x45\x4b\x51\x42\x76\x99\x35\x9b\xee\x3f\xa9\x6b\x9c\x13\x1a\x35\x1e\xdd\x7a\xb3\x27\xd0\x42\x61\x83\x4a\x8b\x4e\xbb\x0f\x8e\x62\x80\xb4\xd5\x77\x11\x2b\xff\xa1\xa5\xe4\x92\xdb\x8b\xf6\x17\x7d\x06\xd9\x5f\x9d\x90\x3c\xc7\xf6\x32\xc2\x4d\x1f\x83\xa2\x98\xb5\x9c\x61\xd9\x49\x19\x22\x6b\x19\x3a\xc2\xf6\x57\x4b\xfa\x34\xf1\x7f\x5b\xbb\xfe\x13\x45\x85\xda\x79\x11\x2d\x79\x69\x3d\x60\x5b\x22\xfc\xa9\x62\x9a\x95\x6e\xf3\x0e\x8d\x12\x7b\xd4\x0b\xf8\x08\x1a\x5d\x10\x66\x48\x2c\x28\x4f\x75\xd8\x6c\xb3\xa0\xe3\xa0\xd1\xd6\x5a\xc2\xc7\xc6\x41\xde\x5d\x3d\x2f\x16\xb5\x24\x30\x9e\xe8\x22\x15\xf8\xdd\x63\x12\xbc\xb3\x66\xe7\xe9\x72\xd1\x77\x3b\xf9\xb1\x64\xc7\x0d\x86\x9d\x65\x82\x7e\x16\x90\x3a\x29\xeb\x63\x85\x3f\x7a\xb2\x7f\x5c\x5c\x5e\x76\x4e\x2e\x9a\x68\xf0\x0c\x62\x76\xa9\x9f\x82\x72\x81\x92\x99\xbf\x04\x3c\x27\xa6\x8f\x48\x83\x82\x63\x21\xe4\x3c\xea\xec\x10\x96\x12\x53\x5c\x9e\x89\xab\xee\x64\xbb\x98\x9e\xed\x82\xed\x34\x1c\x1c\x78\xab\x00\xbf\x51\x69\x75\x0e\xe5\xb2\x50\xba\x74\x35\x11\x24\x62\xee\x73\xde\xec\xd4\x21\x63\x8e\x84\x53\xad\x98\x75\xa9\xea\xcb\x38\x93\xb0\x41\x5f\x22\x36\x47\x88\x0a\xab\xe9\x4a\x86\x04\xb5\x47\xed\x6a\x1c\x95\x94\x96\xc3\x56\xb3\x6a\xc7\x33\x43\x85\x83\x20\xac\xd6\x67\x72\xbd\xc9\x8c\xce\x1d\x1e\x04\x42\x1e\x76\x24\x2b\x11\x0a\xa5\x3d\x56\x57\xc5\x67\x31\x71\x72\xf0\xfa\x1b\xa3\x52\xb3\x80\xe9\x4a\xa8\xc3\x74\x90\xae\x29\x12\xc4\x78\x41\xa5\x9f\xcb\xed\xa4\x27\x9e\x6d\x36\x1a\xf7\x9c\x59\xcc\xc1\x1c\xcb\x8d\x12\xbf\x05\xc4\xcd\xe7\x7f\x4f\x7b\x82\x3d\xbb\x61\xd1\x1f\x21\x47\x93\x69\x5e\x39\x8f\x91\xf9\x2a\xad\xf6\x3c\x47\x93\x18\xdc\x99\xf6\x35\x48\x48\x25\x42\xe3\x4f\x50\xfd\x27\xde\x92\x59\x72\x65\x56\x6b\xaa\x02\xc7\xd6\x63\x42\x1d\x40\xa2\x3d\x28\xfd\x30\xeb\xe3\x8f\x10\x0e\x2b\x71\xfd\xcd\xa2\x96\x4c\x80\xe0\xf2\x81\x02\x86\xc1\xd7\xbb\x1b\xfa\xe2\xc0\xd3\x15\x9a\x04\x26\xdb\xa8\xda\x3a\xc9\xcd\x6d\x7d\xaa\x58\x23\x1a\x03\xe7\xaf\x77\x37\x8b\xb4\x33\x99\x5d\x77\x5b\x29\x9a\xcf\xdd\xc5\x0d\x7b\xd4\xc6\x45\x71\xd0\x34\x95\x07\x42\x6d\x55\x5f\x28\xad\x9a\x53\x71\x9f\x30\xe7\xcc\xa4\x92\xbe\xa8\x8c\x07\xad\x5d\x9e\x68\xa4\x2e\xa0\x2f\xe7\x7b\x03\xc6\x93\xee\x54\x89\x15\xdb\xa2\x49\x7c\x08\xb7\xca\x18\x47\xfe\x80\x47\x43\x65\x8b\xb2\x71\xca\xa5\xb1\x6c\xab\x59\x39\xbd\x82\xa9\x3d\x70\x6b\x51\xd3\xd7\x9c\x9b\x4c\xe9\x7c\x7a\x05\x68\xb3\x3e\x7c\x2f\xca\x2c\xe0\xd1\xfb\xea\x8c\xe1\x9e\x26\x67\x2e\xc8\x38\x5f\xd2\xfa\x95\x06\x74\xba\x37\x10\x2c\x29\xc1\xcb\x5c\x9a\x9e\x39\xe3\x91\x13\x64\xaf\xd1\xbd\x39\x34\x78\x89\xbb\x32\xb4\x74\x46\xe8\x6f\x86\x02\xb1\x0c\x96\xe8\x13\xc4\x49\xbd\x8c\x6d\xd2\x27\x8d\xec\x01\xcb\xd8\x3a\x7d\x52\x67\x06\x58\x7a\x73\x0c\xa0\xf2\xca\x13\x2c\xff\xed\xa5\x8d\x44\x57\x96\xb9\x04\x06\x07\x76\x04\xbb\x63\x16\x0e\x5c\x88\xe6\xfe\xf3\x7d\x6f\x0e\xca\xa9\xc1\x44\x5b\xe3\xe1\x8f\x68\x3a\x64\x2b\x27\x02\xf7\x5c\x07\xd2\xdc\xbc\xff\x81\xd7\xb4\x21\x6d\x67\xf9\x78\xda\x47\xb8\xf6\x21\x6c\xbf\xb0\x25\x09\xd4\xd4\x95\x9c\x04\x55\xe0\x99\x27\xec\x7a\x12\x98\xf9\x30\x78\x49\x36\x9f\x60\x9f\x88\x4b\x42\xf2\x34\xde\xbf\x48\x2e\x7e\x5b\xfb\x60\x2c\x15\x52\x37\x44\x48\x8b\x6e\x3e\x39\x70\xbb\x0b\xdd\x27\xb5\x2c\xb3\x57\x35\x13\x06\x6d\x5d\x45\xa7\x3d\x37\x1a\x0f\x51\x77\xb1\x44\x52\xd9\xd6\xcb\xad\xea\x8d\xe0\x19\x64\xac\x62\x1b\x2e\xb8\xe5\x4d\xf9\x1c\x9e\x26\xda\xa6\x3a\xed\x31\x6e\x99\xdd\x51\x7c\x37\x9c\x0f\x3b\xd4\x6d\x43\x14\xa0\x70\x03\x1a\x33\x55\x96\x28\x43\xe7\xb4\x41\x6f\x80\x7c\xa0\xce\x7a\x46\xc4\x97\x2a\x5d\xfb\x23\xbd\x23\x6e\x3d\xf8\x8a\xa4\x1f\x76\x3c\xdb\x41\x59\x1b\x4b\x7c\xe9\xda\xf0\x42\x22\x07\x04\x5d\x35\x66\xc8\x29\x45\x5a\xa5\x8f\x7d\x00\x0d\x91\x47\xe0\x05\xfd\x6e\x00\x1b\x26\x18\xe5\x6a\x33\x1a\xbb\x44\x1d\xf5\x40\x0c\xa7\x19\x68\x9f\x81\xa3\xf9\x9e\x59\x8c\xf1\x84\xe9\x71\xd4\x24\xbe\x21\x8a\x6d\x41\x14\x14\x36\xb9\x66\x07\xca\xff\xdc\x40\x22\xc4\xbd\x5a\xd0\xd9\x28\x3e\x63\xa8\x0d\xcb\x00\xd5\x43\xea\x63\xa5\xa4\xf6\x95\xb0\x07\x91\xf9\xfe\xe5\x3e\xf6\xc1\xfd\xcc\x27\x00\x37\xc0\xc8\x76\x56\xf3\x8c\xda\xc9\xf0\x22\xf0\xdf\x9a\xd3\x95\x94\x22\x75\x4c\x92\x79\x7f\x76\x17\x58\xde\xfb\x84\x2b\x58\x86\xe3\xbe\xbf\x71\x70\x08\xe8\xc2\xc1\xfd\x33\x28\xf0\xb3\x0f\xa1\x7b\x17\x43\xf7\xc3\xb5\x37\x52\xee\x4c\x28\xfd\x5e\xed\x58\xa1\xb4\x7b\x87\xe0\x4a\x62\x0e\x55\x14\x7b\x41\xd5\x84\x21\x37\x20\xa9\xfc\x09\x71\x1c\x30\x80\xaf\x7a\x34\x76\x97\x5c\xf2\xb2\x2e\x87\x74\xbf\x0d\x91\x75\xd6\x79\x4d\xf8\x9d\x57\x6f\x55\xcb\x2c\x4c\x05\x24\x55\x08\x75\x30\x90\x69\xf4\xd5\x59\x15\x34\x20\x60\x59\xd9\x63\x57\xbf\x1c\x25\x39\x50\x5a\x57\xc1\x52\x4f\xa9\x50\xcb\x43\x83\x9a\x0f\x18\xde\xb1\xc7\x6b\xe2\xea\xea\xe8\x02\x2e\x2e\x2e\x17\xf0\x53\xaa\xa4\xdb\xba\x3c\xd7\x3b\x8e\xd5\xc6\xab\x93\x29\x7c\xb8\x80\xa5\x54\x63\x75\x25\xa5\x1a\x4d\xe9\x61\x91\xa7\xa6\x1f\x16\x79\x9e\x6a\xcc\x8d\x29\xd5\xa9\x49\x1b\xb7\x9e\x35\x6d\x73\xf8\xb4\x8b\xa8\x34\x0e\x76\x05\xa7\x4a\xcd\xb8\xf9\x52\x6f\x28\x6c\x2f\x54\xe1\x51\xfd\xf8\xdd\xe3\x70\x9d\x79\xa2\x6e\x65\x01\xd3\xe6\x77\x53\xed\x5d\xd0\xbb\xbb\x82\xcb\x4c\xd4\x39\xc2\xf0\xf9\x68\x62\x1c\xb7\xdf\x4b\x00\x85\xba\x71\x05\x23\xed\x5a\xc0\xd9\xec\xbe\x14\xe7\xcf\xd1\x8d\x36\xcc\x39\xae\x45\x7d\x65\xfa\x6e\x7e\x89\x32\x4d\x21\x68\x50\x37\xbf\x9f\x85\xdb\x12\x76\x05\x64\x3a\xd2\xe4\x41\xdb\xf9\x77\x19\x46\xdd\x7f\xd4\x8b\xf4\x48\xe3\x9c\x83\x65\x92\x82\x7d\xe2\x38\xf5\xa8\x5d\x8d\x7e\xf6\x89\xe3\x0c\x84\x65\x92\x90\xe3\x30\x3a\xa3\x46\x60\xba\xc5\x71\x48\xc9\xc1\xfe\xe2\x38\xbc\xe4\x60\x7f\xb1\x7f\xf0\x34\x81\x61\x39\x9a\xd3\x2f\x1f\xb8\xba\x2e\xf5\xf9\x91\xeb\xf3\xe9\xc8\xf5\x87\x3c\xf3\x46\x03\x57\x07\xee\xd9\x47\xdf\xf6\xc9\xf2\x75\x43\x57\xf7\x94\xde\x1f\xbb\xf6\x2f\x7c\xfd\x6d\x58\x8c\x0f\x5b\xfb\xc0\x26\x8c\x55\x43\x93\x41\xf3\x09\x66\xd8\xff\x7f\xc7\x29\xab\x2c\x13\x60\xea\xaa\x12\xed\x63\x9b\x43\xf1\x7d\x78\xca\x73\x87\x59\x96\xa1\x31\x17\x4c\x88\xcb\x66\x8c\x59\xd3\xc1\x2f\xfe\x5c\x07\x36\x26\x74\x13\x88\x23\x58\xc0\xd7\x15\xff\xf6\xb7\xbf\x9e\xdc\xc7\xb6\x63\xd1\x50\x0c\x3e\x74\x04\x74\x4b\x88\x0e\xf4\xe2\xf8\x69\x02\xff\x0b\x00\x00\xff\xff\xa3\x45\xf3\x23\x49\x1c\x00\x00"
+var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\x5f\x6f\xe3\xb8\x11\x7f\xf7\xa7\x98\xfa\xe1\x2e\x01\xb2\xf6\xee\xa2\x68\x0f\xc6\xb9\x7b\x7b\xb8\x04\x2d\x90\xc5\x06\xd9\xec\xf5\xb1\xa1\xa5\x91\x4d\x84\x22\x55\x92\xb2\xd7\x08\xf2\xdd\x8b\xe1\x1f\x89\xb4\x64\x27\xb9\xeb\x01\xe7\x87\x44\xa2\x86\x33\xbf\xf9\xcb\x19\xf2\xba\x51\xda\xc2\x55\x2b\xd7\x7c\x25\xf0\x4e\x3d\xa0\x84\x4a\xab\x1a\xa6\xd9\xda\x74\x12\x28\x3f\xa1\x65\x25\xb3\xec\x57\x8e\x3b\x13\x28\xb3\xb5\x8e\x92\xde\x6e\xd1\x28\xb1\x45\x1d\x08\xd3\xa5\xe9\x64\x32\x9f\xcf\xe1\x6e\xc3\x0d\x14\x4a\x5a\xcd\x0a\x0b\xbc\x6e\x04\xd6\x28\xad\x01\xbb\x41\xa8\x03\x63\x30\x96\xc9\x92\xe9\x12\x1a\xad\x1a\x65\xb0\x74\x7b\xb9\x84\xab\xeb\x7f\xdd\xbc\x79\xf7\xf6\x87\xbf\xcf\xdc\x8a\xfb\x73\x8b\xd5\x02\x36\xd6\x36\x66\x31\x9f\xaf\xb9\xdd\xb4\xab\x59\xa1\xea\xb9\x92\x95\x50\xbb\x79\x25\x78\x63\xe6\x2b\xa1\x56\xf3\x9a\x71\x39\x67\x4d\x23\x78\xc1\x2c\x57\x72\xfe\xfe\xed\xfb\xf7\x6f\x7f\x78\xf7\xee\x4d\x15\x94\x7f\x63\x49\x7b\xf3\x26\x22\x99\xd5\x65\x2f\xe8\x8b\xd5\x6d\x61\x0d\x30\x59\x82\x46\xa3\x5a\x5d\xa0\x81\x82\xc9\x5e\x0f\x50\x12\x41\x69\xa8\x95\x46\xb7\xa7\x53\xc9\xee\x1b\x34\x17\x50\x30\x21\xb0\x84\x2d\x99\x6e\x06\x97\xac\xd8\xb8\x67\xf7\x19\x34\x36\x1a\x0d\x99\xc3\xed\x65\x50\xf2\xaa\x42\x4d\x7c\x1f\xb8\x2c\x41\x55\x1d\x3f\xa7\xff\xa4\x69\x57\xbd\x31\x33\x07\xe6\x7e\x7b\x9c\x4c\x00\x00\x88\xe9\xd5\x1d\x2d\xc1\x4e\xb3\xc6\xc0\xd5\xdd\x2f\xdc\x34\x82\xed\x9d\x4e\x57\x77\xbf\xb2\x56\xd8\x5f\x98\x65\x17\x6e\x81\x1b\x68\x0d\x96\x60\x15\xac\xf9\x16\x81\x41\xa1\x48\x53\x8b\xd0\xf1\x6b\x78\x61\x5b\x8d\x84\x8d\x75\x10\xc0\x61\x98\xc1\x27\x65\xec\xc1\x62\x87\xd7\x80\xd9\xa8\x56\x94\x3d\xab\xde\x8a\x96\xa2\x84\xec\x32\x8b\x1f\xdd\x7f\x52\xd7\x38\x27\x44\x35\x1e\xdd\x7a\xfc\x26\xd0\x42\x65\x83\x4a\x8b\x5e\xbb\x0f\x8e\x62\x84\xb4\xd3\x77\x91\x2a\xff\xa1\xa3\xe4\x92\xdb\xb3\xee\x8d\x7e\xa3\xec\x2f\x0e\x48\x9e\x63\x7b\x9e\xe0\xa6\x9f\x41\x51\xcd\x3a\xce\xb0\xec\xa5\x8c\x91\x75\x0c\x1d\x61\xf7\xd6\x91\x3e\x4d\xfc\xdf\xce\xae\xff\x44\xd1\xa0\x76\x5e\x44\x4b\x5e\xba\x1b\xb1\x2d\x11\xfe\xd4\x30\xcd\x6a\xf7\x31\xa6\xed\x02\x3e\x82\x46\x17\x84\x05\x12\x0b\xca\x53\x1d\xd3\x3c\x66\x41\xcf\x41\xa3\x6d\xb5\x84\x8f\xd1\x41\xde\x5d\x03\x2f\x56\xad\x24\x30\x9e\xe8\x2c\x17\xf8\xdd\x63\x5a\x37\x66\xf1\xe1\xe9\x7c\x31\xf4\x3a\xb9\xb1\x66\xfb\x15\x86\x2f\xcb\x0c\xfc\x2c\x00\x75\x42\xee\xf6\x0d\xfe\xe8\xc9\xfe\x71\x76\x7e\xde\xfb\xb8\x8a\xc1\xe0\x19\xa4\xec\x72\x37\x05\xdd\x02\x25\x33\x7f\x09\x78\x0e\x2c\x9f\x90\x06\xfd\x8e\x45\x90\x73\xa8\x33\x43\x58\xca\x2c\x71\x7e\x22\xac\xfa\x9d\xdd\x62\xbe\xb7\x8f\xb5\xc3\x68\x70\xe0\xad\x02\xfc\x46\x95\xd5\xf9\x93\xcb\x4a\xe9\xda\x95\x44\x90\x88\xa5\x4f\x79\xb3\x51\xbb\x82\x39\x12\x4e\xa5\x62\xd6\x67\xaa\xaf\xe2\x4c\xc2\x0a\x7d\x85\x58\xed\x21\xa9\xab\xa6\xaf\x18\x12\xd4\x16\xb5\x2b\x71\x54\x51\x3a\x0e\x6b\xcd\x9a\x0d\x2f\x0c\xd5\x0d\x82\x70\x75\x77\x22\xd5\x63\x62\xf4\xee\xf0\x20\x10\xca\xf0\x45\xb2\x1a\xa1\x52\xda\x63\x75\x45\x7c\x96\x12\x67\x1b\x2f\xbf\x31\xaa\x34\x0b\x98\x5e\x09\xb5\x9b\x8e\xd2\xc5\x1a\x41\x8c\x17\x54\xf9\xb9\x5c\x4f\x06\xe2\xd9\x6a\xa5\x71\xcb\x99\xc5\x12\xcc\xbe\x5e\x29\xf1\x5b\x40\x5c\x7f\xfe\xf7\x74\x20\xd8\xb3\x1b\x17\xfd\x11\x4a\x34\x85\xe6\x8d\xf3\x18\x99\xaf\xd1\x6a\xcb\x4b\x34\x99\xc1\x9d\x69\x5f\x83\x84\x54\x22\x34\x7e\x07\x95\x7f\xe2\x2d\x99\x25\x57\x16\xad\xa6\x22\xb0\xef\x3c\x26\xd4\x0e\x24\xda\x9d\xd2\x0f\xb3\x21\xfe\x04\xe1\xb8\x12\x97\xdf\x2c\x6a\xc9\x04\x08\x2e\x1f\x28\x60\x18\x7c\xbd\xbd\xa6\x07\x07\x9e\x4e\xd0\x2c\x30\xd9\x4a\xb5\xd6\x49\x8e\x87\xf5\xa1\x62\x51\x34\x06\xce\x5f\x6f\xaf\x17\x79\x03\x33\xbb\xec\x3f\xe5\x68\x3e\xf7\xe7\x36\x6c\x51\x1b\x17\xc5\x41\xd3\x5c\x1e\x08\xb5\x56\x43\xa1\xb4\x6a\x0e\xc5\x7d\xc2\x92\x33\x93\x4b\xfa\xa2\x0a\x1e\xb4\x76\x79\xa2\x91\x9a\x80\xa1\x9c\xef\x0d\x18\x4f\xba\x51\x35\x36\x6c\x8d\x26\xf3\x21\xdc\x28\x63\x1c\xf9\x03\xee\x0d\x95\x2d\xca\xc6\x29\x97\xc6\xb2\xb5\x66\xf5\xf4\x02\xa6\x76\xc7\xad\x45\x4d\x8f\x25\x37\x85\xd2\xe5\xf4\x02\xd0\x16\x43\xf8\x5e\x94\x59\xc0\xa3\xf7\xd5\x09\xc3\x3d\x4d\x4e\x9c\x8f\x69\xbe\xe4\xf5\x2b\x0f\xe8\xfc\xdb\x48\xb0\xe4\x04\x2f\x73\x69\xbe\xe7\x84\x47\x0e\x90\xbd\x46\xf7\xb8\x69\xf4\x0c\x77\x65\x68\xe9\x8c\x30\xfc\x18\x0a\xc4\x32\x58\x62\x48\x90\x26\xf5\x32\xb5\xc9\x90\x34\xb1\x07\x2c\x53\xeb\x0c\x49\x9d\x19\x60\xe9\xcd\x31\x82\xca\x2b\x4f\xb0\xfc\xd3\x4b\xfb\x88\xbe\x2c\x73\x09\x0c\x76\x6c\x0f\x76\xc3\x2c\xec\xb8\x10\xf1\xfc\xf3\x6d\x6f\x09\xca\xa9\xc1\x44\x57\xe3\xe1\x8f\xe8\x39\x64\x27\x27\x01\xf7\x5c\x03\x12\x4f\xde\xff\xc0\x2b\xba\x90\xae\xaf\x7c\x3c\x6c\x23\x5c\xf7\x10\x3e\xbf\xb0\x23\x09\xd4\xd4\x94\x1c\xc4\x54\xe0\x59\x66\xec\x06\x12\x98\xf9\x30\x7a\x46\xc6\x5f\x30\x4f\xc2\x25\x23\x79\x3a\xde\xbe\x48\x2e\x7e\x5b\xf7\x60\x2c\xd5\x51\x37\x42\x48\x8b\x6e\x3a\xd9\x71\xbb\x09\xbd\x27\x75\x2c\xb3\x57\xf5\x12\x06\x6d\xdb\x24\xbb\x3d\x37\x1a\x0e\x51\xf7\xa1\x44\x52\xd9\xda\xcb\x6d\xda\x95\xe0\x05\x14\xac\x61\x2b\x2e\xb8\xe5\xb1\x7a\x8e\xcf\x12\x5d\x4b\x9d\xb7\x18\x37\xcc\x6e\x28\xbc\x23\xe7\xdd\x06\x75\xd7\x0f\x05\x28\xdc\x80\xc6\x42\xd5\x35\xca\xd0\x38\xad\xd0\x1b\xa0\x1c\x29\xb3\x9e\x11\xf1\xa5\x42\xd7\xbd\xe4\x47\xc4\x8d\x07\xdf\x90\xf4\xdd\x86\x17\x1b\xa8\x5b\x63\x89\x2f\x9d\x1a\x5e\x48\xe2\x80\xa0\xab\xc6\x02\x39\x65\x48\xa7\xf4\x7e\x08\x20\x12\x79\x04\x5e\xd0\xef\x06\xb0\x62\x82\x51\xaa\xc6\xc1\xd8\xe5\xe9\x51\x0f\xa4\x70\xe2\x38\xfb\x0c\x1c\xcd\xb7\xcc\x62\x8a\x27\xcc\x8e\x47\x4d\xe2\xfb\xa1\xd4\x16\x44\x41\x61\x53\x6a\xb6\xa3\xf4\x2f\x0d\x64\x42\xdc\x95\x05\xed\x4d\xe2\x33\x85\x1a\x59\x06\xa8\x1e\xd2\x10\x2b\x25\xb5\x2f\x84\x03\x88\xcc\xb7\x2f\xf7\xa9\x0f\xee\x67\x3e\x01\xb8\x01\x46\xb6\xb3\x9a\x17\xd4\x4d\x86\xfb\x80\xff\xb6\x9c\x4e\xa4\x1c\xa9\x63\x92\x4d\xfb\xb3\xdb\xc0\xf2\xde\x27\x5c\xc5\x0a\x3c\xee\xfb\x6b\x07\x87\x80\x2e\x1c\xdc\x3f\x83\x02\x3f\xfb\x10\xba\x77\x31\x74\x3f\x5a\x7a\x13\xdd\x4e\x44\xd2\xef\x55\x8e\x55\x4a\xbb\x4b\x08\xae\x24\x96\xd0\x24\xa1\x17\x34\xcd\x18\x72\x03\x92\xaa\x9f\x10\xfb\x11\xfd\x7d\xd1\xa3\x99\xbb\xe6\x92\xd7\x6d\x3d\xa6\xfa\x4d\x08\xac\x93\xbe\x8b\xd1\x77\x5a\xbd\xab\x56\x16\x61\x26\x20\xa9\x42\xa8\x9d\x81\x42\xa3\x2f\xce\xaa\xa2\xf1\x00\xeb\xc6\xee\xfb\xf2\xe5\x28\xc9\x7f\xd2\xba\x02\x96\x3b\x4a\x85\x52\x1e\xda\xd3\x72\xc4\xf0\x8e\x3d\x5e\x12\x57\x57\x46\x17\x70\x76\x76\xbe\x80\x9f\x1e\x73\x2d\xdd\xb7\xa7\xf3\x53\xbd\xe3\xb1\xe2\x78\x71\x30\x85\x8f\x57\xb0\x9c\xea\x58\x61\xc9\xa9\x8e\xe6\xf4\xb8\xc8\x43\xe3\x8f\x8b\x3c\x4d\x75\xcc\x91\x39\xd5\xa1\x51\xa3\x63\x9f\x31\x6e\xdc\x7e\xd8\x48\x34\x1a\x47\x1b\x83\x43\xb5\x66\xdc\x7c\x69\x57\x14\xba\x67\xaa\xf2\xb8\x7e\xfc\xee\x71\xbc\xd4\x3c\x51\xc3\xb2\x80\x69\x7c\x8f\x05\xdf\x05\xbe\x3b\x2e\xb8\x2c\x44\x5b\x22\x8c\xef\x4f\x66\xc6\xe3\x16\x7c\x09\xa0\x50\x3a\x2e\x60\xbc\x61\x0b\x30\x63\x4b\xff\x52\x98\x3f\x27\x67\xda\x28\xe3\xb4\x1a\x0d\x55\x19\xba\xf9\x25\xaa\xc4\x52\x10\x41\xc7\xf7\x67\xd1\x76\x84\x7d\x09\x99\x1e\xe9\xf2\xa0\xeb\xfc\xfb\x0c\xa3\xee\x3f\x69\x46\x06\xa4\x69\xce\xc1\x32\x4b\xc1\x21\x71\x9a\x7a\xd4\xaf\x26\xaf\x43\xe2\x34\x03\x61\x99\x25\xe4\x71\x18\xbd\x51\x13\x30\xfd\xe2\x71\x48\xd9\xc6\xe1\xe2\x71\x78\xd9\xc6\xe1\xe2\x70\xe3\x61\x02\xc3\xf2\x68\x4e\xbf\x7c\xe0\xea\xdb\xd4\xe7\x47\xae\xcf\x87\x23\xd7\x1f\x72\xcb\x9b\x0c\x5c\x3d\xb8\x67\xef\x7c\xbb\x2b\xcb\x57\x0d\x5d\xfd\x45\xfa\x70\xec\xda\xbe\xf0\xf2\x37\xb2\x38\x3e\x6c\x6d\x03\x9b\x30\x56\x8d\x4d\x06\xf1\x17\xac\xb0\xfd\xff\x8e\x53\x56\x59\x26\xc0\xb4\x4d\x23\xba\xbb\x36\x87\xe2\xfb\x70\x93\xe7\x36\xb3\xa2\x40\x63\xce\x98\x10\xe7\x71\x8c\xb9\xa3\x8d\x5f\xfc\xbe\x1e\x6c\x4a\xe8\x26\x10\x47\xb0\x80\xaf\x57\xfc\xdb\xdf\xfe\x7a\x70\x1c\xdb\x9e\x45\xa4\x18\xbd\xe7\x08\xe8\x96\x90\x6c\x18\x84\xf1\xd3\x04\xfe\x17\x00\x00\xff\xff\xb7\x17\x3c\x1d\x6f\x1c\x00\x00"
 
 func fungibletokenmetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -133,7 +177,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenMetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x97, 0xc4, 0xe2, 0x86, 0xa5, 0x74, 0x6f, 0x14, 0x3e, 0x5e, 0x69, 0xd7, 0xe9, 0xe, 0x85, 0x54, 0x40, 0x72, 0x2f, 0x6e, 0xcc, 0xe9, 0x73, 0xf8, 0xc5, 0xf8, 0x2, 0x3f, 0xca, 0x45, 0x97, 0x5e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa2, 0x3c, 0x15, 0x34, 0x62, 0x5a, 0xd5, 0x9b, 0xcd, 0x22, 0xbd, 0xb5, 0x2c, 0x8c, 0x94, 0x16, 0x98, 0xce, 0x27, 0xa0, 0x45, 0xc6, 0x3c, 0xfb, 0xab, 0x30, 0x43, 0x87, 0x5b, 0xb4, 0x0, 0x3}}
 	return a, nil
 }
 
@@ -157,7 +201,27 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x3d\x6b\x73\x1b\xb9\x91\xdf\xfd\x2b\xda\x4a\x95\x23\x5d\x28\x52\xde\xec\xb9\xee\x58\xcb\x38\x5e\xdb\xca\xea\xca\xf6\xa9\x64\x39\xb9\x2a\x97\xcb\x02\x67\x40\x12\xd1\x0c\x30\x0b\x60\x44\x31\x2e\xff\xf7\xab\x6e\x3c\x06\xf3\xe0\xc3\x8e\x77\xcd\x0f\x16\x39\x03\x34\x1a\x8d\x7e\xa3\x01\x8b\xb2\x52\xda\xc2\x79\x2d\x97\x62\x5e\xf0\x6b\x75\xcb\x25\x2c\xb4\x2a\xe1\xa8\xf5\xec\xe8\x81\x6f\xf9\x46\xc9\xa1\xc6\xdd\xc7\x47\x0f\x1e\x4c\x26\x13\xb8\x5e\x09\x03\x99\x92\x56\xb3\xcc\x82\x28\xab\x82\x97\x5c\x5a\x03\x76\xc5\xa1\xe4\x96\xe5\xcc\x32\x30\x96\xc9\x9c\xe9\x1c\x2a\xad\x2a\x65\x78\x4e\x7d\x85\x84\xf3\x57\x17\x97\xa7\x67\x4f\xfe\xfc\x64\x4c\x4f\xe8\x9f\x2b\xbe\x98\xc2\xca\xda\xca\x4c\x27\x93\xa5\xb0\xab\x7a\x3e\xce\x54\x39\x51\x72\x51\xa8\xf5\x64\x51\x88\xca\x4c\xe6\x85\x9a\x4f\x4a\x26\xe4\x84\x55\x55\x21\x32\x66\x85\x92\x93\x1f\xce\x7e\x78\x7c\xf6\xdf\x8f\x9f\x9c\xca\x85\x3d\x0d\xa3\x8f\xcb\xbc\x01\xfe\xd6\xea\x3a\xb3\x06\x98\xcc\x41\x73\xa3\x6a\x9d\x71\x03\x19\x93\x0d\xee\xa0\x24\x07\xa5\xa1\x54\x9a\x53\x9f\x38\x0d\xbb\xa9\xb8\x19\x41\xc6\x8a\x82\xe7\x70\x27\xf8\xda\x8c\xe1\x25\xcb\x56\xf4\x9d\x5e\x83\xe6\x95\xe6\x06\x49\x40\x7d\x19\xe4\x62\xb1\xe0\x1a\xe1\xde\x0a\x99\x83\x5a\x44\x78\x23\x30\x75\xb6\x02\x66\x80\x41\xa6\x39\xb3\x4a\xc3\x5c\xa8\xa5\x66\xd5\x6a\x43\xbd\x95\x06\x06\xff\x73\xf9\xf2\x6f\x20\x4a\xb6\xe4\xb0\x10\x05\x27\x4a\x3d\xa8\xea\x79\x43\xf6\xd7\x1e\xe0\xdf\x11\x23\xf8\xf4\xe0\x01\x00\x00\xf6\xbf\xd4\xea\x4e\xe4\xdc\x00\xcb\x32\x6e\x0c\x58\x05\x0c\x0c\xb7\x29\x16\x61\x1e\xcf\xc0\x10\x6d\x70\xd0\x08\x20\x90\x08\x8e\xf9\x78\x39\x06\x26\xe1\xcd\xf9\xf5\x49\x87\x5e\x16\x79\x40\x48\xcb\xf5\x82\x65\x1c\x07\xa9\xdc\xb8\xc9\xb0\x11\x22\xf2\x05\x8d\x08\x76\xc5\x2c\x08\x0b\xa6\xae\x90\xf1\xcc\x38\xb4\xa1\xbf\x38\xc1\x38\x7a\x03\xfc\x8a\x1b\x55\xdc\x71\x0d\x9f\xa8\x55\x68\xb9\xa8\x25\x2c\xb9\x25\x02\x1c\x9f\x4c\xe1\xfd\xf5\xa6\xe2\x1f\x7a\x4d\xb4\xeb\x8d\xcd\x8e\x3f\x12\x1a\x53\xc0\x96\x27\x53\x78\x26\x37\x8e\x37\x9e\x52\xaf\xcf\x0d\x11\x9f\xc1\x52\xab\xba\x42\x9a\xd1\x32\x7b\x20\x1a\xe7\x9c\xf3\x7b\x9e\xc3\x7c\x03\x17\x2f\xbe\x08\xfd\xe7\xaa\x28\x78\x86\x3c\x3b\x30\x91\xb9\xd2\x5a\xad\x11\xc9\xd0\xfc\x58\xe4\x53\x78\x77\x21\xed\x93\x1f\x4f\xa6\xf0\xe8\x53\x78\xfe\x79\x88\x08\x17\x2f\x1c\x09\x5c\xfb\x0f\xdd\xe9\xbc\x39\xbf\x46\xd0\xb0\xd6\xac\x32\xc0\x8a\x02\x9e\x2b\x1d\xd6\x84\x15\x4a\x2e\xe1\x46\xe4\x37\x24\x21\x37\x75\x8d\x5f\x17\x82\x17\xb9\x19\xd1\x23\x61\xa0\x36\x3c\x4f\x16\x54\xc1\x52\xdc\x71\xe4\x61\x85\x2c\x61\x39\x54\x22\xb3\xb5\xe6\x48\x31\xc7\x31\x63\x78\xad\x8c\xc5\x6f\x06\xcc\x4a\xd5\x45\xde\x65\x9f\x08\x0e\xf1\xe8\x93\xd2\xb3\x66\xc0\xbd\x4d\xb3\x82\x5b\x68\x08\xd4\x7b\x85\x73\xd8\xfa\x32\x17\xa6\x2a\xd8\x66\x0a\x2f\xdc\x97\xa7\xbd\x16\xfc\xde\x72\x2d\x59\xf1\xee\xea\xd5\x14\x5e\x36\x3f\xfa\x2d\xb3\xb8\xa8\x2f\x98\x65\x53\xc4\xf6\x79\xeb\xd1\xce\x2e\x01\x91\x76\xaf\x6d\x58\x69\xb5\x61\x85\x15\xdc\x4c\xe1\x2a\x7c\xed\xb7\xb2\x9a\x09\x6b\xa6\x70\x4d\x7f\x9f\x3e\x88\x0d\x84\x14\xf6\x38\xfe\xa2\x27\x39\x04\x22\x8d\x5a\x2f\x90\x7c\x5b\x5e\x79\xe2\x41\x43\xbd\xf6\xfb\x84\x74\xd0\xa6\x5d\xbb\x5d\x9b\x70\x30\x44\xb9\xad\x1d\x22\x0a\x83\x74\x6b\x77\x8b\x44\x83\x94\x6a\xed\x36\x5d\x92\x85\xe7\x27\x09\xd3\xe1\xc7\xf0\x62\x31\x16\x39\xcc\x40\xe4\xfd\x17\x44\xb4\x19\xd1\xae\xff\x32\x90\x6d\x16\x08\xd8\x6f\x92\x52\x6e\x96\xd2\xb1\xdf\xb4\x43\xbc\x59\x87\x9a\x3b\x3b\x44\x44\x7a\xcf\xfa\xdd\x1a\xe2\xcd\x1a\x42\xf6\x9b\x39\xfa\xc1\xcc\x13\x32\x36\xf8\xdc\xd5\x43\xbf\xf0\xa2\xe2\x9a\xd4\x07\xb7\x5e\x4f\x38\x05\xdb\x92\x7e\x6c\xfa\xd7\x8a\x69\x56\x92\x8c\x5f\xaf\x38\x35\xf4\x74\x4d\xde\xde\x25\xfa\x72\x0a\xcf\x40\x73\x32\xbb\xce\x20\xa1\xd5\x09\x7a\x3b\xea\xe5\x06\x82\xe6\xb6\xd6\x12\x9e\x45\x05\xe3\xf4\x4d\x4f\x0d\x79\x0d\xeb\x5b\x25\x5a\x79\xd4\x19\x3e\x51\xd1\x27\x8e\x37\x3b\x7a\x0b\xa5\x53\x2e\xc8\x60\xc1\xac\xd5\x79\x9c\x1a\x29\x34\x4e\x3f\xf9\xde\x7f\x39\x3e\x39\x69\x04\x78\x11\xbb\x3f\x9c\x81\x14\x45\x87\x3d\xfd\x8c\x7c\x9b\x87\xc0\xcc\xc3\x80\x45\xb2\x24\x0f\x3a\xcd\xc3\xc4\xfa\x9a\x41\xe4\x7d\xad\x30\x6d\xe3\x8d\x8f\x06\xf5\xc3\xd4\x71\xc6\x92\x5b\xcf\x5c\xc7\x69\xbf\x93\x5d\x3a\x23\x74\x4c\x74\xc7\xae\xce\x3d\x45\x12\xfa\xf7\x14\xca\x81\x50\xa2\x76\x19\x06\xb4\x7f\x3a\xa9\xca\x09\x30\xa2\xea\xd9\xd5\xd1\xcb\x51\xd3\xcb\x29\xa4\x76\x97\x46\x3b\x75\xa5\x2b\x60\x2e\xd0\xb9\x9c\x33\x23\x32\xef\xa3\x92\xd3\x25\xb3\xa2\x46\xb7\x10\xc5\x42\xb2\x92\x8f\x20\xe7\x26\xd3\xa2\x22\x8f\x84\xc9\x3c\x71\xd7\xea\x72\x2e\x99\x28\x60\x81\xce\xa8\x04\x35\xff\x27\xcf\xac\x37\xe8\xee\xc7\x36\x9b\xbe\xd3\x94\x07\x04\x3f\x35\x4c\xe8\xe2\x09\x87\x11\xfa\x0e\x88\x5d\x18\x2e\x6d\xd4\xe9\x20\x8c\x73\x50\x60\x2d\x8a\x02\xe6\x3c\xb0\x1d\xcf\x31\xc2\x28\x84\xf1\xee\xbe\x5d\x71\xcd\x17\xe8\xeb\x38\x74\x5b\x60\xe6\xf4\x54\x93\x22\xca\x94\xcc\x84\xe1\xe3\xc1\x31\x83\x69\x45\x24\xa7\x18\x4e\x08\xb9\x6c\x4f\xe1\x19\xac\xb5\xb0\x96\xcb\x16\x51\xbf\xd5\x7c\x18\xe4\xdc\x32\x11\x02\x90\x36\xdc\x51\x0b\x94\x51\xe4\xa8\xcf\x39\x85\x32\x70\xc7\xf5\x5c\x99\xe8\xca\x03\xaa\x4d\x8a\x35\x40\x48\x63\x39\xa3\xd8\x84\x81\x11\x72\x59\x70\x28\x84\xe4\x27\xbb\x49\x90\x4c\x6f\x1b\x25\x4c\x89\x0e\x66\xc3\x44\x31\x3a\x62\x03\x44\x39\x84\x26\x9e\xd3\xe6\xe8\x6f\xae\xf9\xfc\x74\xa1\x05\x97\x79\xb1\xa1\xd0\x08\x8e\xc5\x98\x53\xbc\x34\x82\xcb\x37\x7f\x3b\x69\x01\x21\xce\xf7\xf4\xe8\x73\xc8\x08\x27\x7c\x0b\x95\xe6\xe4\x08\x8f\x80\xdb\x6c\xf7\xec\xe3\xa4\x92\xd8\xe1\xd3\xb9\x28\xf8\xe7\x5d\x6e\x56\xca\x36\x1d\x65\xd9\xa7\x66\x47\x23\x6c\x1f\x30\x34\x19\x74\x52\x48\x9c\x66\x34\xf2\x80\x2f\x92\xb0\xe8\x2c\xc5\x61\xc0\xb2\xc7\x55\x9c\x35\xb8\x1c\x6a\xdf\xa3\x3e\x42\x0e\xa6\x38\x9a\x2d\x38\xac\xbd\xa3\x31\x60\xec\xbf\x85\x39\x97\xa0\x68\x2e\xac\x88\xe3\xef\x36\xec\x41\xa1\x7f\xdc\x6d\xce\x83\x77\x99\x50\x5b\x2c\x88\x29\xee\x0e\xb1\xe7\xbe\x3b\xda\xf3\xce\x7a\x05\x28\x1e\x04\x30\xf3\x34\x51\x94\xd0\xf9\xf8\x69\xde\xb5\x5e\x7c\x7e\xd0\xff\x16\x9c\x01\xbf\x5c\xc9\x22\xfd\x8d\x4b\xae\x45\x96\x46\xef\x28\x26\x4d\x12\x03\x98\x93\x2c\x63\x95\xe6\x39\xa0\xcc\x6a\x50\x8b\x05\x64\x2b\x26\xe4\x18\x90\xff\x92\xe8\xcd\xcb\x17\x45\x88\x56\x35\x8b\x66\x5c\x02\xc3\xa0\x9f\x94\x73\xe5\x14\xb2\x42\x8d\x0c\x25\xcf\x05\xdb\x6a\x26\x1a\xc4\x70\xa4\x81\x60\xb9\xd6\x02\xa3\x5d\xaf\x7e\x3a\xd3\x23\xff\xc8\x2a\xe0\xf7\x15\x6a\x3e\x3f\x17\x67\x03\x43\x52\x44\xcc\x0b\x0e\x8c\x14\xff\x2f\xd7\xd7\x97\x70\xac\x34\x7d\x79\x7b\x02\xef\xae\x5e\x8d\x61\x1b\x66\xd8\x06\x71\x9a\x0e\x61\x46\x71\xa7\x2e\xfa\x6a\x91\x34\x42\xf2\x66\x50\x62\x6b\x8d\x32\x56\xeb\x62\xc8\x55\x1b\x9c\xf8\xb0\xf7\x17\x80\x6d\x17\xd2\x61\x02\x35\x8b\x7d\x71\x79\xfe\x36\xae\x0d\xfd\xf2\x0b\x09\x4c\xf3\x66\x79\x29\x05\x62\x57\x5c\x68\x4a\x4a\xa1\x07\x20\x72\x2e\xad\x58\x08\xae\xe1\xf8\xf9\xc5\x8b\x93\x08\x44\x33\x5a\x76\xbb\x62\x64\xcc\x84\xe6\x99\x85\x77\x57\x17\x63\x78\x06\x59\x21\xb0\x6f\x92\xd2\x23\x8e\xaa\x0d\x77\x1e\xc5\xf3\x8b\x17\x69\xde\x61\x21\x64\x4e\x9c\x54\x28\x46\xf6\xdd\xa7\xc9\xee\x04\xc3\xe5\x24\x74\x97\xcc\xf2\x35\xdb\x6c\x65\x30\x6c\xd4\x5a\xc6\x96\xd1\x78\x7e\xf1\x02\x39\x05\x41\x0f\x4c\x0c\x5d\x22\xc2\x8b\x46\x72\xc9\xb9\xa4\x77\x0b\x52\x2b\xab\x99\xab\xcc\x8c\x45\xb5\x30\x63\xa1\x26\xe8\x6e\xf0\xca\x9a\x89\x1f\xe1\x94\xe5\xb9\x46\xc6\x94\xcb\xc9\x4e\x0b\x94\xa1\x0b\x3e\x64\x77\x2f\x99\x5d\x11\x83\x27\x0a\xb0\xc2\x67\x5e\x75\xd2\x22\x27\xd9\xa9\x48\x2c\xb7\x1a\x4a\x6f\x0e\xb2\xc5\xc2\x80\x92\xc5\x06\x24\xe7\x39\x9a\xd2\x45\x03\x9c\x12\x82\x86\x52\x80\x87\x00\x3d\x80\x38\x08\xf6\xd4\x6c\x8c\xe5\xa5\xd9\x4d\x16\x9c\x69\xa0\x4b\x37\xe5\x91\x90\x6c\xd4\x6e\x38\x28\x88\x19\x45\xf1\xd9\x50\x10\x4f\xf4\x9c\x11\x8c\x21\x29\x6d\x48\x55\x4b\x97\xe7\x73\x32\xe9\x78\x89\x88\x2d\x99\x15\x77\x1c\x95\x4c\xc3\x48\x3d\x1e\xda\x41\x9a\x95\x5a\x9f\x5a\x35\xf1\xdc\x72\x8a\x8f\x4f\x95\x3c\x5d\xf3\xf9\xe4\x0f\x0e\xf6\x69\xad\x0b\xb3\x95\xe8\xc1\x4c\xa2\xcb\x6d\x9c\x16\x41\x0e\x64\x42\xe2\xd7\xb8\x94\xb5\x16\x5b\xc9\xbd\x4f\x0f\x79\x7b\xe6\x69\xd5\xd0\x6d\xab\x2d\x3b\xc2\x59\x4c\x27\x93\xa3\x31\x2e\x3c\xb3\xc7\x61\x19\x4e\xc2\x83\xa3\xc9\x51\xfc\x8e\xb0\x4e\x3a\xd6\x6f\x48\x0f\x6e\x87\xba\x5d\x33\xfe\x6f\x10\x1c\x32\xc4\xb8\x40\x4d\x58\x18\x72\xd7\xc6\xd4\x1c\xca\xba\xb0\xa2\x2a\x82\x17\x6b\x22\x84\xb5\x40\x89\x43\xe2\x52\x3c\xa3\xc1\x88\x52\x14\x4c\x27\xf9\x7f\x04\xcb\xef\x19\x86\x4d\x28\x83\xff\x87\x0e\xf1\xe3\xb3\x33\x30\xdc\x8e\x1d\xfb\x44\x68\x42\x2e\x94\x2e\x9d\x4e\x74\x39\xd8\x45\xed\x82\xb2\x35\x2b\x0a\xee\x63\x9c\x92\xe9\x5b\x6e\xab\x82\x65\xbc\xc9\xa7\xa3\x23\xf4\xe6\xfc\x1a\x4a\xb1\x5c\x59\x34\xcf\x15\xd3\x6e\x0b\x20\xa0\xce\x73\x41\xf3\x1a\xc1\x7a\x25\x32\xd2\x1d\xeb\x15\x69\xf4\xf0\x6a\x2b\x22\x8e\xc4\x3c\xa7\x6d\x0c\x09\x4c\xcf\x85\xd5\x4c\x6f\xc0\x88\x7f\xe1\x53\xad\x3b\x3e\x5e\xa2\x7b\x5f\x7a\xd8\x7b\x62\x40\x8f\x42\xab\xcd\x79\x43\xb9\x91\x13\x9d\x2c\x04\x06\x6f\xb9\x1d\xc1\x65\xc1\x36\x23\x78\xcb\xb5\xe0\xa6\x1d\x15\x51\x18\xbb\xf1\xce\xc7\x9a\x6d\x30\x12\xd2\x0a\x97\xce\x83\xc8\x0a\x66\x8c\x58\x6c\x00\xe3\xef\x40\x99\x9d\xf1\xdf\xd3\x3e\xfe\x81\x6c\xb2\x2e\xe7\x5c\xef\x08\x74\x68\x26\x4c\xc2\xd1\x0f\x3f\x86\xd5\x3f\xfe\xc3\x0f\x3f\x4e\x1e\x9f\x9d\x9d\x1c\x81\xb0\xbc\x1c\xb9\x30\xdd\x01\x12\x06\x7e\xf8\x71\xdc\xc7\x86\xde\xc6\x2c\x77\x0f\x9d\x92\xdd\x0f\xa2\x84\xb6\x6d\x53\x11\xa5\x3d\xfb\x8e\xf7\x44\x5e\xa4\xf1\x91\x87\xdc\x16\x4f\x4e\x2c\x58\x88\x52\x58\x9e\x9f\xfa\x21\xd0\x77\x18\x82\x76\xc0\x54\x11\x51\x61\xf0\xdd\x60\x57\x6c\xe4\x04\xab\x96\x7e\xd0\x30\x2f\xd7\xb7\x89\x0f\x0d\xc6\x68\x0a\x9d\xde\x36\xa4\x1e\xed\x4a\x76\x1f\x08\xd7\x35\x17\xad\x45\x1e\x75\xa8\x3c\x6a\xf5\x1c\x70\xe5\x11\x9f\xc1\xe4\x1c\x7e\x98\x31\x5c\xdb\x63\xbf\x18\x3f\xcd\xb0\xf5\xc3\x11\x94\xdc\x18\xb6\xe4\x53\x38\xba\x6e\x16\x3d\x63\x52\x2a\x92\xdc\xa5\xe6\xcc\x06\xef\xc9\xfa\x85\x75\xad\x1e\x1e\x75\x55\x61\xfa\x6b\x7f\x24\xe8\xc7\x9a\x79\x70\xfd\x06\x38\x14\xa1\xb9\x5d\x69\xfe\x43\xb3\x0a\x83\xbe\xa8\x33\xa3\x86\x09\xa2\x4e\xd1\xf5\x83\xd6\x5a\xf4\x15\x82\xe9\x6a\x84\x67\x89\x62\x39\x75\x8a\x05\xa3\x76\x9f\x93\xda\x24\x2c\xdd\x93\xd7\x18\xfa\x5b\x9f\x39\x8e\x5a\x90\x05\x3d\xd8\xe3\x08\x54\x71\xaf\x84\xb1\x53\x78\xef\x31\xfa\xd0\x61\x8c\x8f\x43\x6d\x86\xb7\x08\x7c\x3b\x98\xc5\x2e\x87\xc6\xcc\x91\x1a\xdf\x2b\x68\x8e\x08\xec\x8e\x9a\x43\xb3\x7d\x61\x73\x68\xf7\xb5\x71\x73\xe8\x7f\x60\xe0\x9c\x30\x53\x57\xf8\xbe\x41\xe4\xfc\x77\xb7\x15\xec\xe3\x64\x74\x7d\xa2\x1d\x39\xcd\xf9\x42\xa0\x12\x34\x5c\x0b\x56\x04\xee\x24\x66\x05\x53\xf1\x4c\x2c\x44\x86\xbc\x18\x81\x5d\xba\x8e\x06\x56\xec\x8e\x27\x15\x03\x04\xc8\xcf\x82\x4c\x3d\x32\x32\xeb\xc0\x8d\x2a\x2f\x82\x7b\xab\x4a\xd4\x0c\x1b\x1f\x38\x71\xb7\xf1\xaa\xf9\xb2\x46\xf7\xe3\xe2\x05\xb9\x0a\x26\x6d\x94\x96\x29\x34\xc1\xbc\x33\x84\x21\x12\x73\xce\xf7\xd8\xf9\x8b\x2d\x0c\x84\xc1\x00\x92\x67\xd6\x45\xfd\x73\x0e\xb5\x14\xbf\xd6\x1c\x58\xa9\xe4\xb2\x01\xe8\x6c\x2e\x21\x83\x3a\x5c\x48\x27\x99\x9e\x6c\xdb\xbc\x84\xb7\x6e\xac\x7e\x80\xbd\xcd\xe8\x79\x09\x6d\xbf\x1e\x4e\x8d\x6d\xd1\x79\x7b\x04\xd3\x63\xf4\xbd\xc4\xd2\x0f\xbf\x5b\x28\x5d\xa3\x7d\x22\xe9\x5a\x7d\xad\x40\xba\xde\x07\x8a\x63\x6f\x19\xff\x7d\x61\xc4\x7f\x3b\xa9\x0c\xe4\x27\x27\x7e\x21\x6a\x2f\x2b\x65\xd8\x1c\x03\x5e\xda\x76\xd9\x34\xc5\x48\xd4\x78\x29\xee\xb8\x69\xf9\xcd\xc0\x1a\xa0\xb5\xc4\x48\x3f\x6f\x57\xb7\xf8\x82\x15\xb2\x26\x71\x7f\x67\x6b\x82\xe1\xca\x0f\xdb\x31\x69\x21\xf3\xd6\xae\xb5\xba\xe2\x19\x17\x77\x31\xb5\xc0\x61\xce\x25\x5f\x88\x4c\xa0\x47\xed\x9d\x48\x3f\x8f\x76\x9e\x82\xd1\xa2\x87\x44\x45\xa6\xb9\xe5\xd1\xb3\x73\x1c\xe6\x01\x93\xf3\x14\x7e\xd1\xbe\xd2\xa6\xe2\xc7\x27\x9d\x98\x33\x53\x65\xc9\x65\xee\x04\xff\x14\xde\x19\xae\xe3\x2e\x0f\x95\x2a\xa1\xca\x90\x7c\xed\xb2\xe6\x4e\xb3\x9d\x17\x6a\xed\x66\xd1\x02\xa6\xdb\x53\xa2\xd8\x05\xd5\xe5\x4d\xdc\x09\xdb\x84\x59\x5f\xd6\xf3\x42\x64\x97\xcc\xae\x8e\x4f\x6e\x5c\xb9\x09\xfa\x3d\x2d\x70\x41\xa5\xe5\x7c\xc1\xea\xc2\x26\xa3\xc6\x49\x39\xaf\x95\x76\x4f\x58\x51\xa8\x35\xf6\xd1\x54\x85\x54\x57\x39\xa2\xde\x71\x0e\x38\x64\xac\x62\x73\x51\x08\x4b\x09\x6a\x0a\x7d\x6b\xaa\x60\xc1\x3e\xa4\x1e\x69\x07\x65\xe9\xd7\xac\x69\xde\xd3\x49\x01\x89\x29\x3c\x8f\x8d\x7e\x7a\xf4\x4c\x6e\xae\xbc\x64\x7f\x6a\x2d\xf8\x38\x4c\xfd\xf3\x5f\xda\xec\xf1\xda\x39\x4e\x82\xeb\x98\x4c\xcd\x58\x91\xd5\x05\xe2\x8f\x08\xb2\x52\xd5\x92\xa2\x38\xc3\x0a\x0e\x77\xac\xa8\x39\x58\xcd\xa4\x59\x70\xad\x5d\x8f\xf6\x3a\x78\x3e\x6c\xc8\xf4\x46\x59\x0e\xa7\x70\x61\x13\xaf\x79\xce\xed\x9a\x73\x09\x67\xe3\x33\xa2\xff\xe3\xf1\x59\x1b\xcc\xcb\x7b\xec\xb2\xf0\x81\x6d\x1c\x59\x18\xb8\x77\x11\x68\x83\xb8\x30\x70\x36\xfe\xcf\x27\xd8\x54\xa6\x9c\xdb\x06\xe8\xfa\xaf\x03\x02\xd4\xe3\x3f\xe0\x7e\xdc\x97\x16\x56\x14\x1b\xa8\xb8\xce\xb8\xb4\x6c\xc9\x89\xe1\xa3\x05\x76\x7b\x39\x96\xeb\xd2\x20\x51\xe6\xcc\x08\x03\x95\x12\xd2\xb6\x7d\x41\x21\xc1\xa8\x42\xe4\xb8\xd6\x73\x86\xa4\x35\x25\xba\x81\xa1\x98\x0e\x23\x5f\x51\x20\x4b\xe4\xa4\xa1\x15\x9a\x45\x03\x37\xef\xce\xc5\xfd\x93\x1f\x6f\xba\xbc\x83\xf6\xb8\xd0\x9c\xe5\x9b\x58\xc7\xe6\xe4\x36\x19\x9f\x58\x28\x63\x06\xa9\x9b\x31\xfc\x81\x91\x65\x3b\x28\xad\xb8\x66\xce\xce\x33\xcd\x01\x3d\x0a\xcd\x8b\x0d\xe4\x1c\x67\x24\xa4\x30\xd6\x67\xe9\x97\xe8\xe7\x26\xad\xd1\x92\x7b\x7d\xd4\x96\x93\x0a\x39\xe0\xbf\x02\x0a\x6a\x01\x95\xe6\x99\x30\x42\xc9\x7e\xf8\x98\xd5\x76\x0a\x6e\x86\x6d\x36\x8c\x59\x90\xd6\xee\x94\x2b\xfa\x74\xa9\x7e\x27\x3e\x38\x29\x1c\x82\x6d\x42\xee\xc8\xaf\xf5\xa8\x27\x6b\x9a\x17\x0e\xf7\x95\xa8\x22\xbb\xe1\x8b\x1b\x97\xc8\xb8\x09\x9b\xb5\xa8\x5f\x47\x3e\x5c\x47\x67\x61\x09\xbc\x30\x7c\xd8\xb1\x57\x6b\xc9\xb5\x77\xed\xd7\x4c\x52\xe4\xe7\x3c\xad\x4d\x7f\xb6\x3b\xf7\x2d\xc9\x79\xf8\x7a\x29\x1e\xa5\xb4\x1c\x0d\x0d\xd5\xb5\x95\x95\xe6\x03\x46\x31\xab\x2d\xfc\x65\x46\x62\xf8\xe8\x11\xfd\xfa\x69\x46\xc2\x38\x85\xa3\xe7\xb5\xf5\x52\xd3\xc8\xad\x90\xf8\x48\xe4\xa0\x99\x5c\x72\x10\x63\x0e\xef\xcf\x46\x8f\x3f\x1c\xed\x8b\x09\xa3\x7a\x9e\x45\xcd\x30\x90\x07\xad\x31\x7e\xc9\x6a\xdb\x7f\xb5\x7f\x03\xf1\x0b\xa2\xc4\x60\x2b\x5d\x49\x6a\xec\xf0\x3a\xb5\xce\xc8\x77\xbf\xd6\x5c\x6f\x9c\x31\xb9\x89\xd5\x14\x37\xc1\xe2\x52\xc1\x32\x79\x99\x11\x02\xb2\x14\x09\x56\xe2\xa6\x56\x6c\x93\x94\x67\x38\x5d\xa0\x88\x15\x0d\x8f\x6e\xba\x63\xd5\x3d\xc6\x1d\xfb\x77\x23\x56\xad\xd9\xc6\xf3\xa7\x66\xd9\xad\xd3\x0a\x42\xe6\xe2\x4e\xe4\x35\x2b\x06\x4a\xa8\xdc\x76\x14\xe5\x26\x4f\x82\x54\x5e\xc8\x85\x32\x53\x78\xef\x09\xf3\xa1\xbd\x0d\xe4\x1d\xdd\x81\x76\x5d\x26\x43\xff\x08\xd9\xc3\x59\x0f\x66\xc1\xd4\x25\x6d\xf7\x17\x05\x31\x57\xa3\xb5\xa3\x99\x1f\xca\x38\x3c\x1e\x9f\xb5\xc0\xde\x31\xf4\x89\x2d\x2b\x9e\x13\x83\x9c\x75\x5e\xe3\xda\x06\x9d\x2f\x64\xc4\x73\x80\xdd\x13\x20\xf1\xeb\x9f\x42\xdf\x71\x97\xf1\xda\x6c\xec\x33\x29\xb1\x9f\x13\x94\x34\x95\xf2\xd6\x4d\x36\x8e\x7f\xf8\x6c\x3b\x39\x15\x5c\x58\x63\xc4\xd2\x29\xac\x00\x6f\x50\x5e\xdc\x48\xb3\x7e\xa3\xce\x26\xc1\x95\x73\x6a\x53\x78\x94\xdb\x48\x1b\xb5\x3a\x24\x11\x01\x25\x57\xd3\xa4\xbd\x2b\xb6\xe0\x09\x5b\x3b\x3e\x1d\xde\x04\x48\xa2\x85\xa6\x24\xe9\x24\xe1\xa2\x1d\xbb\x8a\x03\xd3\x82\x5d\x21\x53\x23\x28\xbf\x6b\xd4\xd4\x04\x4d\x57\x1d\x92\x6c\x8b\x9b\x1a\x4a\xec\x09\x9d\x9a\x02\xd2\xaf\x8c\x9e\x22\x80\x03\x03\xa8\x54\xd7\x74\xe5\xe7\x9b\x94\x02\x38\x53\xea\x36\x0a\x49\x47\x44\xeb\x42\x2e\x28\x49\x33\x99\x08\x64\xb5\xb6\xfe\x8a\xb9\x62\xaa\x37\x6b\x40\x90\x13\xce\xef\xb8\xb4\x35\x79\x6f\x29\x2c\x16\xfd\x69\xb3\x16\x36\x5b\xcd\x15\x06\x65\xc1\x08\x8d\x22\xdc\x95\x5b\xf3\xb0\x29\x30\xaf\x3d\xd8\x90\x89\x6e\x90\x8b\x04\xc2\x5f\x52\x75\x8a\xcf\xba\x7b\x5e\x4d\xb4\x11\xa3\xad\x80\x10\x06\x76\xa9\x31\xdc\xca\x27\x83\xa1\xcb\x34\x05\xfd\xa9\x4b\xfa\x49\x45\x2f\x27\x3e\x00\x3c\xbf\xbe\x4a\x47\x1a\xd8\x9b\x8f\x2e\xee\x28\xec\xcf\x53\x0c\x47\x85\x6a\x5a\x73\x53\x29\x91\xe3\x8a\x50\x21\x05\x72\xd6\x56\x6b\xf5\x1a\x5b\x74\x2d\x15\x6d\x7b\x07\x02\x10\x8c\xad\xca\x02\x59\x72\x41\x7b\xe5\x5b\x2b\x9e\xdc\x79\x99\x5c\xb0\x53\x8a\x3e\x33\x55\x72\xe3\xad\x2a\x0e\x42\x7a\x18\xdf\x4c\x4c\x3d\xa7\x16\xcc\x78\xa7\x61\xce\x73\x58\x71\xdd\x89\xce\xe2\xce\x27\xbf\xe3\x05\xfa\xbd\xe3\x52\xfd\x4b\x14\x05\x1b\x2b\xbd\x9c\x70\x79\xfa\xee\x2d\xed\x8a\x4e\xfe\xc1\xe7\x93\x5f\xae\xaf\x2f\x27\x3f\x33\x23\x32\xf3\x51\x2d\x3e\xd2\xcf\xd7\x17\xaf\x5f\x7e\x24\x75\xb3\x73\x5a\x91\x78\x5b\x3c\xc2\xc1\x69\x8f\xfa\xdd\xda\x82\x4c\xaa\x12\xbb\xce\xf0\x9f\xee\x8b\xd8\x79\x16\xbf\x7d\x8d\xd3\x44\x9d\xdb\x89\xf5\xc1\x85\xff\x37\xb2\xea\x8e\x71\x84\xe5\x65\x7f\x23\x8c\x9e\x4e\xe1\x3d\xb5\x19\xc8\x93\xb7\x5e\x0f\xa7\xc8\xb1\x09\xcc\x3a\xf0\xf7\x18\x14\x3f\xa5\xef\x64\x4d\xfc\xe8\xbb\x4d\x89\x6b\xb4\xcf\x8e\xb8\x56\x5f\x6b\x44\x5c\xef\x03\x2d\x48\x64\x03\xe8\x7c\xbe\x55\x3e\x3c\xd5\x56\xc0\xa0\x10\x19\x97\x86\x8e\x81\x29\x4d\x3a\xca\xaa\x28\xd1\xa6\xca\xef\x49\x88\x7d\x2b\x33\x69\x5b\x12\xc2\x3a\xad\x27\xf3\xf5\x25\xa1\x0e\x27\x1e\x2e\x42\x9b\xe3\x61\xe4\x5b\x55\xdf\x2b\x8f\x4a\x3f\x8b\x8c\x78\x5c\xc4\x9a\x9e\x2d\xe2\xff\x31\x29\xfb\xd9\x59\xba\xd5\x86\x46\xa7\x43\xc2\x8f\x43\x39\x3b\xa0\xfa\x9d\x58\x3b\x0c\xbf\x9b\xb7\x7d\xab\x7d\xcc\xed\x9b\x7d\x2d\x77\xfb\xee\x07\xb2\x77\x7f\x8d\x7f\x03\xfe\x8e\x95\x72\xef\xae\x5e\x39\xfa\xa2\xd7\x63\x79\x09\x54\x39\x1f\xcf\x2f\x80\x11\xb6\xb1\xc4\xad\x94\x09\x71\xf3\x7c\x93\x96\xb9\x21\x07\xdf\x72\x18\xc7\x8a\xb6\x9f\x0b\x95\x21\x74\x15\x2a\xe4\x5c\x0e\x33\xc2\xf3\x2b\xab\xb4\x58\x0a\x1c\xad\xc9\xc3\xba\x03\x77\xdb\xe4\x20\x39\x48\xf1\x45\x25\x8b\x1f\xe1\x80\xa2\xc5\xd9\xce\x5a\xc3\xce\xe6\x66\x82\xc8\x77\xe2\xf4\x14\x85\x3d\x3b\x9c\xc9\xf1\x93\x7d\x9b\x9c\xc9\x29\xb7\xaf\xdd\xe7\x6c\x40\x1c\xba\xd5\x39\xb8\xaa\xbf\x1d\xf7\xbb\x5c\x46\x53\x07\xe4\x2b\x00\xa9\x6e\xd4\x1f\xad\xb6\x5a\xf0\x3b\xde\x65\xc7\xfd\x72\x60\x15\x18\x6e\xeb\x0a\x18\xe9\xf6\xa6\xe8\xca\x79\xbd\x95\x46\x27\xb0\x91\x03\x1c\x92\x2d\xdd\xa0\xce\xb1\x6e\xb2\xf3\xbb\x76\x65\x7a\x07\x82\x12\xba\x35\x25\x94\x32\xc2\x5f\x93\x6b\x4a\xc2\xee\x4d\x8e\x0e\x9b\x24\x71\xd3\xd3\x95\xcd\xf6\xf3\x8d\x1e\xc6\xa5\x2f\x37\x8c\x3f\x3a\x45\x9b\x0e\x7b\x8a\x9d\x5c\x15\x56\x59\x1b\x4a\x4a\xa0\x6c\xbb\x41\x3c\xf9\x07\x26\x1a\xcb\x79\xc2\xb6\x32\xc4\x7c\x77\x56\xd4\x64\x7b\xe3\xbe\x17\x4d\x20\x6c\x68\xf9\xba\x31\x5f\x92\xe6\x4e\x01\x37\x2f\x7b\x73\xa9\x62\x64\x93\x46\x39\x9d\x99\x68\x71\xc7\x2c\x4f\xa7\xd2\x84\x92\xbd\xc9\x50\xcc\xe9\x8a\x89\x74\x0b\x4c\xb2\x29\x63\x15\xad\x7e\xae\xd9\xda\x25\xf6\x28\xc5\xe7\xbc\x81\xc8\x1f\x2b\x55\xd0\x3c\xb1\x41\x1f\x6f\x3f\x82\xc7\xdc\x61\xb8\x75\x11\x12\xa8\x14\xa4\x84\x8a\xf1\x56\xfa\xd0\x9f\x71\x37\xf5\x62\x21\x32\xaa\x5b\xd6\x9c\xe5\xa7\x14\x96\x36\x07\xdf\x03\xd5\x5b\xc3\x84\xa2\x50\x03\xc7\x39\xaf\x94\x11\x16\xfe\xe4\x8f\x6e\xc3\x9f\xfc\xf9\xef\x37\xe7\xd7\xed\x5d\xb9\x76\xe5\x2d\xea\xfa\x39\xcb\x6e\xd7\x4c\xe7\x86\xb6\x39\x99\x15\x9e\x5c\x24\x29\xbd\x72\x45\xaa\x2d\x90\xca\xfa\x0d\x25\xaa\xfa\x1c\xc0\xad\x7b\xd1\xc3\xb8\x91\x13\x4f\x9d\x66\x33\x74\xbd\xe2\x12\xc5\x95\xea\x1f\xea\x2a\x1d\x73\x4c\x25\x5b\x32\x39\x6e\x48\x6b\xda\x34\xf0\x65\x7b\x25\xdb\x24\xd5\x5a\x73\x0e\xfc\xd7\x9a\x15\x41\x9f\x13\xf5\x7d\x2e\xd6\xed\xf0\xdc\x38\x0e\x7c\x45\x6c\x84\xea\xf2\xa6\x2f\x70\xae\x49\x83\xb7\x3b\xe4\xdf\xa9\x8a\x8b\xeb\xda\xe3\x4d\xbf\xa7\xc0\x16\x4a\xd3\x69\x36\x57\xd1\x56\x35\xf2\x39\x8e\xb9\x0e\x89\x2a\xb0\xc0\x05\x6f\x01\xd7\xdc\x58\x2d\x1c\xa7\xe0\x38\xb4\x20\x25\xc6\x54\x8d\x68\xd1\xfe\x1b\x9b\x17\xae\xcc\xf2\x06\xb5\x64\x97\xd2\x37\xed\xdd\x13\x6a\x13\xb2\x05\x7e\x7f\xf4\xa6\x75\xf7\xc3\xb8\x7f\xbf\xc0\x4d\x4b\xd4\xa9\x68\xff\xd7\x5a\x0c\xea\xa9\x2e\x65\xbf\x0d\xd9\x12\x65\xd0\xa7\x5b\x0b\x36\x1b\xa6\x1b\x95\xbc\x94\x42\x8a\xb2\x2e\x1b\x5a\xf9\xab\x2d\x74\x32\xbf\xad\x42\xbf\x7b\x4a\xe7\xa1\x42\xdb\xef\xe6\x15\x6a\x6d\xdc\x26\xb7\x3f\xa2\x86\x5e\x5d\x59\xd9\x4d\xd7\x20\x05\xad\x80\x08\x04\x33\x40\x36\xa0\x05\x3e\x68\xe5\x81\x5d\x37\x4a\x36\xbf\x44\xd0\x29\xaf\x1e\x1f\x9f\x4c\xe1\xaf\x3b\xc4\xf0\x64\xd7\x01\xb3\x6d\xc6\xa6\x7d\x96\x6c\x58\x8d\x77\xda\x6c\x53\x99\x43\xa0\xba\xc2\x36\xd4\xa6\xbb\x0c\xc3\xc3\xed\x6e\x35\x48\xb3\xb0\x82\x07\xd1\x2e\x40\x3a\x6c\x1f\xae\x8b\xf9\x58\x98\xb7\x2e\x73\x75\xac\x16\x0e\xc1\x9f\x1e\x7d\xda\xab\x33\x47\x7d\xb5\x1a\x04\x79\x04\xfb\x44\xf8\x33\x7a\x81\x53\x38\xf2\xea\x97\x24\x83\x7c\x03\x7f\x8e\x77\xbf\xca\xde\x39\x3c\xaa\x91\x7d\x28\xa4\x7a\xeb\xa8\x4f\xa4\xde\xd2\x1d\x48\xa6\x20\xc4\x03\xf8\xf5\xa7\x70\x30\x99\x3c\xd0\x43\x08\xf5\x45\x08\x7c\x19\xa1\xc6\x7b\xb7\x5e\x13\x51\x9d\x25\xdf\xfb\x0d\x1b\x69\x9d\x35\x5f\x07\x9a\x25\x02\x0b\xb3\x96\xfc\x6e\x83\xd9\x20\x3e\xeb\x3e\xd8\xd6\xa5\x59\xe4\x59\xf7\xc1\x76\x94\x9a\x36\x09\x62\xbb\x3a\x0e\xca\xf9\x6c\xa7\xf4\x1f\x1a\x79\xf6\x5d\x7f\x8a\x3f\xd7\x61\xbf\x96\x36\x17\x7c\x28\xc4\x9c\x03\x98\xc7\x42\x88\xdf\x27\x32\xed\xa3\xb8\xf7\x42\x8a\xce\xf5\x06\x7b\xa2\xd4\xfe\x05\x2b\x5f\x19\xab\xf6\x00\x1d\x18\xb1\xee\x8a\xbf\xc2\xe7\x77\x8b\x5b\xd1\x6e\xaf\xd4\x9a\x4a\x74\x82\xb9\xfe\x63\xb3\xb1\xd5\x98\xfc\xf1\x41\xf1\xab\xbb\x0e\x49\x82\xba\xe3\xda\x4d\x58\x26\xf7\x25\xd1\x91\x7b\x91\x99\x50\x99\xd7\x73\x2a\x7c\x88\x39\xe7\x85\x92\x4b\x04\x78\x60\x10\xdb\x3b\x27\x8c\xce\x3c\x2b\x7b\xee\x1a\xa1\x4d\x9e\xbb\x3f\x06\xef\x4a\x76\xfc\xb0\xc9\x64\x7b\x0e\xcb\xb6\x3b\x0f\xe0\x45\x52\x04\x32\x34\xda\x10\x51\x42\xc0\xba\x6b\xc0\x3d\x37\x0c\xc4\xbc\x87\x4b\x7f\xd1\xed\x66\x3e\x2d\x47\x43\x50\xd1\x5e\xba\xde\x6c\xae\x6a\xbb\x7f\xd8\x6d\x57\x3e\xb5\xc6\x7e\xfb\x6b\xcd\x34\xf7\xfb\x26\xee\xdc\x69\x2b\xfd\xbd\x77\x14\x43\x00\x2e\x4a\xaa\x51\xa0\xd4\x7c\x0b\xfe\xcf\x4c\x4a\xae\x5b\xf0\x63\x05\x65\x03\x76\xd4\xcd\x43\x50\x94\xc7\xe8\xf4\x15\x48\xce\x34\x3c\xfe\xe1\xec\xec\xfe\xc9\x9f\xcf\xfa\x08\xcc\x69\x84\xad\x08\xbc\x55\x99\xf0\xa4\x35\x6e\x6a\x2c\x5b\x75\xc7\xff\xa3\x01\xe3\xda\xad\x54\xc9\x2b\xb6\xe4\xad\x33\x3f\x70\xa9\xfc\x09\xeb\x5b\xbe\x89\xc1\xde\x91\x90\xc6\xb2\xa5\x66\xe5\xd1\x08\x8e\xec\x5a\x58\xcb\x35\x7e\xcd\x85\xc9\x94\xce\x8f\x3a\xd7\x2f\x44\x8a\xd1\x48\x66\x0a\x9f\x1c\x2f\xb4\x16\xe7\xb7\xba\x76\x61\x1b\x33\xb4\x5b\xf5\x17\xb3\xfd\xbe\x4f\xeb\x4e\xff\xdd\x53\x0b\xcd\x7e\xd3\x0b\x1e\xbe\xe0\xd2\xa9\x64\xba\x30\x4b\x27\xdf\x6f\x9a\xcc\x1c\x66\x29\x1d\x06\xa0\x3a\x22\x20\x44\xf7\xed\xeb\x4c\x7a\x7a\xd5\xc4\xb0\x55\xf7\x46\x3d\x42\xfb\x8e\xd6\xfd\x8b\x2c\xfb\x61\xd7\x53\x0c\xde\x84\xf6\x4d\xec\xfb\x17\x5d\x5c\xb1\xc7\x3a\x85\xcf\xb7\xb7\xf2\x9a\x69\x57\xc9\xdd\x28\x7e\x7f\xf6\xc6\x5d\x6d\xe3\xde\xc7\xde\x54\x06\xed\x62\xff\xd0\x15\xfd\x02\x13\xb5\x29\x17\x74\x6e\x05\x55\x13\x9d\xe3\x4d\x45\x6a\x5e\xd3\x1d\x96\xe8\x11\x44\x80\xd4\x69\xae\xbc\xd7\x3d\x54\x35\xe8\x46\xf9\xd4\x49\xef\xf1\x30\x84\x2f\xd9\x77\xad\xe8\x7a\xd0\xce\xf9\x94\xa8\x10\xb1\x7d\xa8\x36\x1d\x38\x85\x5a\xb2\x7b\xca\x9a\xb8\x6a\x51\xb5\x70\x1d\x7a\x60\xdc\x39\xc6\x6d\x40\x06\x6e\x31\x4a\x51\x73\x47\xc7\xf7\x5c\x18\x10\x0f\xe7\xbe\xe2\x4b\x2e\x73\xa6\x37\x23\x78\x59\x61\x50\x75\xc5\x34\x1f\xc1\x3b\x89\x46\x0c\xcd\xd9\x73\xfa\xdb\x3e\xa5\xeb\x4f\xa7\xd3\x2c\x0e\xf1\x11\xba\xc7\x38\xdb\x64\x1a\xb5\xe6\x3b\x58\xa3\x3b\x74\x9a\xd3\xad\xcd\xcc\x9d\xe7\x7c\xf4\xa8\x45\x96\xd9\xb6\x53\x9e\x15\x93\x22\x3b\x3e\x7a\x16\x96\x3c\x32\x96\x09\xab\xd7\xbe\x7a\x4b\x69\x62\x9c\xde\x51\xce\x01\x5d\xe9\xd0\xe9\xac\x28\x6c\x3f\xac\x09\xff\x46\xc5\x6e\xa7\x96\xcf\xcd\x85\x04\xfd\x7b\x55\xf3\x39\x14\xf6\x94\xf2\x51\xa3\xbd\x75\x7c\xd4\xea\xab\x8b\xf8\xa8\xf7\xa1\x15\x7c\x5d\xb9\x0f\x9f\xdf\xa8\xfe\xc2\xeb\x3b\xb7\x67\x90\x5e\xf9\xeb\xb6\xaa\xfb\x1b\x73\xe1\x72\x57\xbf\xd0\xfe\x0e\x3a\xb5\x48\x0b\x97\x6f\xf9\x66\xe2\xf4\x49\xc5\x84\x0e\x57\xc6\x52\xa6\xd6\xa8\x92\x27\x51\x93\xb4\xfc\xde\xd6\xac\x20\x0f\x96\xc6\x0d\xfe\x37\x77\xa0\xb7\xe9\x47\xba\xea\xae\x1d\xc8\x74\xef\x04\xa0\xfe\x63\x78\x25\x6e\x39\xfc\xcc\xb2\xdb\xa5\x56\xb5\xcc\x47\xf0\x72\xc3\xcd\x08\x7e\x61\x42\x6f\xf1\x21\xb7\xc6\x30\x38\x42\x2d\x73\xae\x8b\x4d\x54\x36\xad\xd1\x46\x81\x4d\x6d\x78\xec\xee\xc5\x75\xd7\xa6\x51\x93\xb8\x29\xe4\x27\x1f\x78\x9b\x80\xf5\x71\xa1\xc7\x49\x55\x59\x0b\x1f\x1f\x9c\x51\xce\x24\x59\x17\x0c\x54\xdd\xd9\xcd\x30\x86\x23\xea\xda\x1d\x85\x10\xc6\x91\x09\x43\x4e\x37\x85\xc8\x10\x29\x70\xb4\x87\xe4\x84\xcb\x8c\x8f\x60\xa3\x6a\xaf\xa1\x4d\xc0\xca\x05\x53\xb5\x14\xf7\x60\x45\xc9\x8d\x65\x65\xe5\x32\x60\xfe\x58\x45\x0b\x3f\x66\xe0\xe8\x05\xb3\xfc\x88\x26\xcc\x8b\x22\x1d\xab\x2a\x98\x45\x4b\x4c\x7a\x2f\x53\xd2\xd4\xa5\x0f\xb3\x1d\xcd\xc8\x8a\x50\x65\x7a\x38\xf0\xb5\xd5\xde\x25\x63\x0e\xde\xbd\x10\x24\x0c\xcd\x31\x2b\x8c\x8a\x01\xa8\x2b\xa2\x28\x36\x9e\xf3\x99\xb5\x5a\xcc\x6b\xdb\xba\x6b\xa5\xcd\x0c\x4e\x1a\xa2\xc2\x09\x27\x77\x08\xbd\xa2\x68\x20\x18\xd2\xe9\x7e\x6a\xfe\x59\x58\x76\x4a\x23\x78\x63\xd9\x5f\x7d\xf7\x3c\x2a\xa0\x1d\x57\x0f\x8c\x7a\x9c\x32\x1a\x24\xc5\xa8\x0b\xf3\xcb\xc3\x05\xb7\xf8\xb3\x8e\xad\x85\xce\xd5\xb5\x3e\x91\x97\xfc\xea\x37\xf5\x3e\xc2\x2c\x75\xb7\x60\x6f\x65\x23\x69\x30\xe7\xa4\xfb\x5a\xf6\xa0\x84\xf6\xab\x2c\xdf\xd1\x77\xa0\xe2\xc0\x03\xb4\x56\x04\x97\x0a\xd5\x80\xd6\x72\xd1\x2f\xa9\x9d\x41\x7d\x65\x06\xea\x69\xc2\x65\xc2\xef\xa9\x45\xbf\x38\xb2\xf3\x7e\x70\xb9\x76\x5f\xa8\x1b\x3e\x2d\x97\xeb\x59\x9e\x9b\x46\xfd\x3b\x6d\xea\x59\xd2\xa3\x7a\x27\x3a\x1b\xb3\xad\x1f\xde\x64\x53\x5b\x77\xe5\xae\x93\x54\x3f\x5d\xb7\x4f\xcb\xf2\x9c\xe7\x83\x5e\x5f\x30\xc1\x2c\xcf\x09\x04\x4e\xd4\x5f\xa8\xbc\x63\x86\x63\xe4\x02\x99\x1f\xdb\x1d\x97\xf2\xb4\xfd\x90\x64\x2e\xdf\xcb\x0f\xf1\x28\xec\xf6\x43\xfc\xcd\xad\x7b\xfc\x10\x7f\xe1\xf4\x57\xfa\x21\xae\xf7\x81\x7e\x48\x8f\x5f\xc3\xe7\x1b\xf8\x21\x7e\x89\xe2\xb5\x57\x18\x96\x31\x23\x0a\x3a\xa7\x72\xc7\xb5\xa5\xbb\x06\xe8\x1d\xd3\x54\xd9\xe1\x97\x9f\xea\x05\xde\x9c\x5f\x27\xf7\x0f\x74\x2b\x18\x72\x45\xfa\x97\x14\xae\x0f\xca\xc2\xc5\x3a\xf1\xb6\x26\x94\x71\x6f\x92\xaf\x9d\xd5\x8e\xf0\x5c\xbd\x01\xb7\x2b\x15\x6f\xb3\x71\xc5\x1b\x3c\x26\x28\xed\x8a\x97\xee\x1a\x23\xcd\xe8\xc0\xb5\x3b\x54\xe7\x51\xdc\xc6\x53\x38\x1f\x27\x27\xed\x99\xcd\x79\x98\xb4\x53\x50\xd7\x8d\x04\x27\xbd\xf9\x3d\x6d\x4e\xe5\x6f\x58\xc9\xcd\xb4\x7d\xd2\xdf\x05\x3e\x0e\x1b\x6f\x78\xc3\x01\xcb\x1b\x1c\xeb\x26\x02\x0b\x1f\xca\xb3\xb9\x68\x56\x3b\x73\xb5\x66\x32\x5e\xcc\x90\xa1\x8e\xbb\x71\x78\xdc\xf4\x18\xfb\x3a\x1c\x81\x60\xd8\xa1\xab\x2a\xba\x9c\x8d\xe3\x5f\x2b\xcf\xdc\x8e\x04\x31\x79\x15\x0d\xd5\xe7\x51\x77\x7e\xef\x5d\x9b\x0f\x4f\x4f\xa6\x7d\x46\x9c\x4c\x20\x49\x8d\xd0\xa9\x4e\xe3\x8f\x75\x86\xa9\x44\xc3\xe0\xbd\x2f\x77\x60\x5b\x34\xd7\x6a\x85\xdd\xbe\x7c\xdc\x71\xef\x36\x9d\x03\xa2\x2b\x26\xf3\x82\x3b\xbd\x4f\xc4\x65\x45\xb1\xa1\x13\xa7\xb6\x69\xfc\xcf\xda\x24\x63\x13\x7f\x04\xf8\xe0\xca\x05\xc6\xa9\xc0\xb6\x26\x3b\x7c\xfb\x0f\xfa\x5e\xb7\x88\x76\xab\xed\xc3\x01\x71\x44\xa2\x8e\x35\x2f\xd5\x1d\x3f\xbe\xe5\x9b\x29\xdc\x6e\xbb\xe2\x27\x89\x10\x07\xec\x0e\xcc\xe0\x7d\xf3\x9f\x61\xc4\xf1\x09\x3c\xf1\x4b\x7b\xe8\x08\x01\x66\x6e\x85\xbc\x33\x72\x1b\xfd\x10\xec\xf9\xfe\xf6\xc3\xc3\x8e\x1b\x22\x45\xd1\xb8\x20\x52\x14\x6d\x6c\x3b\x6a\x9e\xcc\xc1\xd0\x04\x02\x33\x3a\xc6\x72\xbd\xe2\xfd\xd6\x9f\x1f\xc0\xff\x07\x00\x00\xff\xff\xa0\x22\xd7\x31\xd2\x66\x00\x00"
+var _multiplevaultsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xbb\x8e\xdb\x3a\x10\x86\x7b\x3d\xc5\x0f\x57\x76\x71\xe4\xc5\x41\x90\x42\xc0\x06\xb9\x20\xee\xb6\x49\x9c\x34\x41\x0a\x9a\x1a\x59\x44\xa8\x21\x41\x0e\xed\x28\x86\xdf\x3d\x20\x25\x7b\x57\x49\x13\x15\x84\x38\x18\xfd\x97\x0f\xaa\x2a\x33\x78\x17\x04\xbb\xc4\x47\x73\xb0\xb4\x77\x3f\x88\xd1\x05\x37\x60\x55\x6f\x17\xd3\xff\x4e\xff\xd7\xba\xd5\xab\xaa\xf2\xe9\x00\xed\x58\x82\xd2\x02\xc3\x42\xa1\x53\x9a\xf0\x94\xac\x18\x6f\xe9\xab\x4a\x56\x22\x2e\x55\x05\x00\xdb\xed\x16\x1f\x1c\x8b\x32\x1c\x21\x3d\x41\x9c\x28\x8b\x98\xbc\xb7\x23\x5c\x57\x66\xdd\x6c\x04\xc9\x4e\x11\x2d\x75\x86\xa9\x85\x61\x48\x6f\xe2\xdd\xad\x28\x2a\xad\x29\xc6\xf5\x6d\xb6\xc1\x49\x85\x49\xf5\x73\x11\x6d\x70\xd9\x8f\x9e\x1a\x7c\xd9\x99\x9f\xaf\x5f\x5d\x9f\x73\xec\x12\x6b\x31\x8e\x21\x0e\x81\x24\x05\x9e\x12\x8d\x9e\x72\x36\x25\xe5\xfa\x5c\x6d\xf0\x96\x06\x62\x89\x45\x21\xd7\xee\x12\xe3\x48\x52\x2a\x66\x93\xb8\xde\x34\xf8\x96\xdf\xbe\xe3\x52\xb6\xca\xa6\x8b\xf2\xe2\x9a\x9f\x40\x31\x59\xa9\x2d\xf1\x51\x7a\xbc\xc1\x43\x83\xd5\x53\x8a\x99\x5f\x6b\xb4\x12\xc2\x39\xfb\x2f\x41\xdc\x93\xbd\x40\x30\xb3\x89\xab\xbb\xfc\xb5\x9a\xce\x7b\x4d\x1d\x48\x09\x7d\x1c\xbc\x8c\x25\x28\x94\xb5\xee\x1c\xa1\x78\x44\x8a\x94\x61\xcd\x3b\x50\x60\x3a\x63\xda\x2a\x00\x7a\x15\xa1\xf0\x8b\x82\xc3\x41\x59\xc5\x9a\x6e\xb2\x0b\x06\x7f\x5a\xac\x4f\x37\x22\x0d\xf2\xb9\x69\xf0\xf6\x1d\x8f\x9f\x28\xba\x14\x34\x5d\x16\x7f\x52\x5d\x3e\xb9\xfe\x13\xb0\x23\xc9\xfb\x29\xc7\x7a\x83\xc7\x47\x3c\xd4\x99\xdc\xbe\xa7\x1c\xdc\x8e\x73\x90\x76\xae\x30\x64\xa2\xbd\x3a\xd1\xa2\xc1\xdf\xa8\xf2\x59\x5d\x7f\x07\x00\x00\xff\xff\xb5\xca\x01\x68\xfe\x02\x00\x00"
+
+func multiplevaultsCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_multiplevaultsCdc,
+		"MultipleVaults.cdc",
+	)
+}
+
+func multiplevaultsCdc() (*asset, error) {
+	bytes, err := multiplevaultsCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "MultipleVaults.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0xc0, 0x81, 0x48, 0x34, 0xe3, 0xb2, 0xca, 0x36, 0xf8, 0x9f, 0xb5, 0xd0, 0xcf, 0xca, 0x13, 0x42, 0x44, 0x15, 0x96, 0x23, 0xf3, 0x19, 0xf6, 0xa8, 0xcb, 0xfd, 0x44, 0xc4, 0xc8, 0xc5, 0x42}}
+	return a, nil
+}
+
+var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x3c\x6b\x73\x1b\xc7\x91\xdf\xf5\x2b\xda\x4c\x95\x43\x5e\x40\x80\x72\x7c\xae\x3b\x94\x11\x47\x96\xc4\x84\x57\xb6\x4e\x25\xd1\xc9\x55\xa9\x5c\xe6\x60\xb7\x01\x4c\xb8\xbb\xb3\x9e\x99\x25\x88\xa8\xf4\xdf\xaf\xba\xe7\xb1\xb3\x0f\x80\xa0\x22\x47\xfc\x20\x01\xd8\x99\x9e\x9e\x7e\x77\x4f\xcf\xca\xb2\x56\xda\xc2\x65\x53\xad\xe5\xb2\xc0\x6b\x75\x8b\x15\xac\xb4\x2a\xe1\xa4\xf3\xdb\xc9\x13\x3f\xf2\x95\xaa\xc6\x06\xf7\x7f\x8e\xe3\xff\x26\x71\xfb\x06\x8d\x2a\xee\x50\xfb\xb1\xe9\x4f\x27\x4f\x9e\xcc\x66\x33\xb8\xde\x48\x03\x99\xaa\xac\x16\x99\x05\x59\xd6\x05\x96\x58\x59\x03\x76\x83\x50\xa2\x15\xb9\xb0\x02\x8c\x15\x55\x2e\x74\x0e\xb5\x56\xb5\x32\x98\xf3\x5c\x59\xc1\xe5\x0f\x57\xaf\xcf\x2f\xbe\xf9\xe3\x37\x53\xfe\x85\xff\x79\x83\xab\x39\x6c\xac\xad\xcd\x7c\x36\x5b\x4b\xbb\x69\x96\xd3\x4c\x95\x33\x55\xad\x0a\xb5\x9d\xad\x0a\x59\x9b\xd9\xb2\x50\xcb\x59\x29\x64\x35\x13\x75\x5d\xc8\x4c\x58\xa9\xaa\xd9\x57\x17\x5f\x3d\xbd\xf8\xef\xa7\xdf\x9c\x57\x2b\x7b\x1e\x56\x9f\x96\x79\x0b\xfc\xad\xd5\x4d\x66\x0d\x88\x2a\x07\x8d\x46\x35\x3a\x43\x03\x99\xa8\x5a\xdc\x41\x55\x08\x4a\x43\xa9\x34\xf2\x9c\xb8\x0d\xbb\xab\xd1\x4c\x20\x13\x45\x81\x39\xdc\x49\xdc\x9a\x29\xbc\x14\xd9\x86\x3f\xf3\x63\xd0\x58\x6b\x34\x44\x02\x9e\x2b\x20\x97\xab\x15\x6a\x82\x7b\x2b\xab\x1c\xd4\x2a\xc2\x9b\x80\x69\xb2\x0d\x08\x03\x02\x32\x8d\xc2\x2a\x0d\x4b\xa9\xd6\x5a\xd4\x9b\x1d\xcf\x56\x1a\x04\xfc\xcf\xeb\x97\x7f\x01\x59\x8a\x35\xc2\x4a\x16\xc8\x94\x7a\x52\x37\xcb\x96\xec\x3f\x7a\x80\xc4\x1f\x03\xef\x9f\x3c\x01\x00\xa0\xf9\x2f\xa4\xa9\x0b\xb1\x03\x49\x4b\x2c\x85\x91\x99\xc7\x74\x23\x2c\xc8\x2a\x2b\x9a\x1c\x1d\xab\x2a\x51\xe2\x04\x72\x34\x99\x96\x35\xd1\x92\x28\x14\xe1\xd8\x4d\x53\x2e\x2b\x21\x0b\x58\x11\x4a\x15\xa8\xe5\x3f\x30\xb3\x53\xf8\x51\x19\xeb\xbf\x18\x30\x1b\xd5\x14\x79\x42\x48\x4b\xc2\x41\x0b\x4e\x03\x24\xfe\x9f\x70\x37\xcc\x87\x88\xa0\xc7\x39\xac\x77\xed\x31\x22\x6a\x11\x76\x61\xb9\x74\x50\x6f\x82\x34\xb0\x92\x58\xe4\xb0\x95\x45\x01\x4b\x84\xdc\x81\xc6\x9c\xe4\xac\x90\xc6\x33\xdd\x6e\x50\xe3\x4a\x69\xf4\xe8\x76\xc0\x2c\xf9\x57\x6d\x69\x8b\x99\xaa\x32\x69\x70\x3a\xba\x26\x6d\xa1\x40\xcb\x48\xce\x49\xa8\x64\xb5\xee\x6e\xe1\x19\x6c\xb5\xb4\x16\xab\x0e\x51\x3f\xd5\x7e\x04\xe4\x68\x85\x0c\x62\xd8\x85\x3b\xe9\x80\x32\x8a\xc5\x7b\x89\x2c\xd0\x70\x87\x7a\xa9\x0c\xc2\x29\x4e\xd7\x53\x10\x50\x0b\x2d\x58\xe2\x40\x56\xc6\xa2\x60\x09\x15\x60\x64\xb5\x2e\x10\x0a\x59\xe1\xd9\x61\x12\x24\xdb\xdb\x47\x09\x53\x8a\xa2\x48\x84\x28\xea\x88\x18\x21\xca\x31\x34\xf1\x92\xb6\x44\x10\xb0\xc5\xe5\xf9\x4a\x4b\xac\xf2\x62\xc7\x0a\x02\xa7\x72\x8a\xac\x35\x13\x78\xfd\xea\x2f\x67\x1d\x20\x2c\xf9\x9e\x1e\x43\x09\x99\xd0\x86\x6f\xa1\xd6\xc8\xca\x3d\x01\xb4\xd9\xe1\xdd\xc7\x4d\xcd\xe1\x59\xb5\x73\xd6\xe5\xfd\xa5\x2c\xf0\x43\x4b\x04\x59\x49\x7b\x1a\xbf\xd1\x5f\x2a\x36\x93\xce\x93\x11\x6a\x76\x07\x1c\x58\x30\x0c\x39\x83\xf7\x9d\x29\x06\x8b\xd5\x94\xd5\x69\xc1\x2b\x0f\x1f\xa6\x22\xba\x48\x71\x18\x0e\x6d\xb9\xb8\x68\x71\x89\xc3\x1c\x12\x1f\x5a\x0b\xf4\x57\x2c\x6a\xd4\x60\x15\xac\xb1\x55\x77\x96\x60\xb6\xa6\x62\x85\xb0\x15\xbb\x8e\x7d\xa0\x79\x7f\x26\xb9\x2c\x59\xb8\x83\xc7\x99\xc3\x33\xd0\xc8\xb6\x34\x43\x82\x48\x42\xa3\x83\x87\x0a\xc6\xbc\x85\xa0\xd1\x36\xba\x82\x67\x15\x28\xde\x8b\x28\xe2\xfa\xce\xfa\x0c\x8c\xd2\xaa\xa9\x08\x4d\x3f\xea\xf4\x97\xde\xf2\x5f\xbe\x4f\x1d\xe0\x34\x7c\xf8\x70\x06\xf3\x00\xf9\xbb\x84\xf4\x72\xc5\x12\xc2\xfa\xb9\xe8\x80\x9a\x7a\xac\x09\xdc\xe9\xf5\xae\xc6\x6f\xfd\xf4\x3f\x9d\x9e\xf5\x99\x17\xa0\x78\x10\x20\xcc\x77\x89\xd5\x84\xde\x9f\xdf\xf3\x5d\xe7\xc1\x87\x27\xc3\x4f\x7e\x60\xe5\x79\x97\x70\xec\x2f\x58\xa1\x96\x19\xc8\xca\xa2\x5e\x09\x22\x35\xe9\x4c\xeb\xd7\x40\x38\x35\x33\x56\x69\xcc\x81\x14\x58\x83\x5a\xad\x20\xdb\x08\x59\x4d\x81\x84\xd1\x40\x84\xe7\x95\xad\x31\x98\x13\xd3\x22\x07\x8d\xf3\x69\x66\x02\x77\x32\x47\xe5\xac\xb3\x22\xf3\x0c\x25\xe6\x52\xec\xf5\x19\x2d\x62\xb4\x52\x42\x84\xc0\xc2\x46\xcb\xd3\xb3\x68\x8b\x7a\xdb\xfb\x1b\xfb\x3f\x05\x78\x4f\x81\x48\xd8\x8b\x73\x88\x06\x44\x96\xa1\x31\x14\x0c\x81\x60\x2f\xf0\xd7\xeb\xeb\xd7\x70\xaa\x34\x7f\x78\x7b\x06\x3f\xbd\xf9\x61\x0a\xfb\x30\xa3\x31\x84\xd3\x7c\x0c\x33\xe2\x62\xa3\x8b\xa1\x8d\x64\xf3\x90\x3c\x19\x55\xdf\x46\x93\xc2\x35\x3a\x55\xb5\xc3\x1b\xef\x41\xf1\x0c\x0f\xc0\xf6\x6b\xec\x38\x81\x5a\x66\x5f\xbd\xbe\x7c\x1b\x79\xc3\xdf\x3c\x23\x41\x68\x6c\xd9\x9b\xc3\x72\x47\x1a\x2a\x35\xc7\x29\x14\x0e\xc8\x1c\x2b\x2b\x57\x12\x35\x9c\x3e\xbf\x7a\x71\x16\x81\x68\xc1\x6c\xb7\x1b\xc1\x9e\x4d\x6a\xcc\x2c\xfc\xf4\xe6\x6a\x0a\xcf\x20\x2b\x24\xcd\x4d\xa2\x3c\x96\xa8\xc6\xa0\x0b\x2f\x9e\x5f\xbd\x68\xc3\x14\x05\x2b\x8a\xb1\x48\x92\x0a\x25\xd8\xd9\xfb\xc8\xe9\x4e\x0a\x62\x27\xa3\xbb\x16\x16\xb7\x62\xb7\x57\xc0\x68\x50\x87\x8d\x1d\x0f\xf2\xfc\xea\x05\x49\x0a\x81\x1e\xd9\x18\xc5\x47\x8c\x17\xaf\xe4\xe2\xb5\x64\x76\x07\x52\x27\xd0\xcd\x55\x66\xa6\xb2\x5e\x99\xa9\x54\x33\x8a\x3d\xb0\xb6\x66\xe6\x57\x38\x17\x79\xae\x49\x30\xab\xf5\xec\xa0\x3b\xca\x64\x3e\xee\x84\x5f\x0b\xbb\x61\x01\x4f\xac\x61\x4d\xbf\x79\x3b\xca\x4c\x0e\x36\x94\xed\xb3\x27\x96\xe3\x86\xd2\xbb\xa3\x1c\xb3\x34\xa0\xaa\x62\x07\x15\x62\x4e\x7e\x75\xd5\x02\x97\x86\x22\x0c\x99\x63\x64\xf1\x41\xa0\x47\x10\x87\xc0\x9e\x9b\x9d\xb1\x58\x9a\xc3\x64\xa1\x9d\x06\xba\x7c\xd7\xd3\xbc\x84\x64\x93\xee\xc0\x51\x45\xcc\x64\x0e\x0b\xa2\xf3\xf0\x11\xd3\x73\xc1\x30\xc6\xb4\xb4\x25\x55\x53\x65\x2c\xc8\x4e\x27\x9d\x2c\x31\xb1\x2b\x61\xe5\x1d\x92\x91\x69\x05\x69\x20\x43\x07\x48\xb3\x51\xdb\x73\xab\x66\x5e\x5a\xce\xe9\xe7\x73\x55\x9d\x6f\x71\x39\xfb\x9d\x83\x7d\xde\xe8\xc2\xec\x25\x7a\xf0\x99\x14\x7f\x1b\x67\x45\x48\x02\x85\xac\xe8\x63\x64\x65\xa3\xe5\x5e\x72\x3f\x64\x87\xbc\x3f\xf3\xb4\x6a\xe9\xb6\xd7\x97\x9d\xd0\x2e\xe6\xb3\xd9\xc9\x94\x18\x2f\xec\x69\x60\xc3\x59\xf8\xe1\x64\x76\x12\x3f\x13\xac\xb3\x9e\xf7\x1b\xb3\x83\xfb\xa1\x3e\x6c\x19\xa3\x2b\x0c\xc6\x71\x2b\xed\xc6\xa5\x0c\x5a\xa3\xa9\x95\xcc\x69\xdf\xec\xc5\xc8\xbb\xef\x35\x34\x3f\xd2\x88\xbe\x7d\x61\x9b\xe3\xb8\x8f\x0e\xc6\x41\xd1\x5e\xb1\xa1\xda\x1b\x7b\xba\xfc\x35\x97\xe2\x9c\xb3\xd3\x4c\x95\x48\x2a\xea\x78\xa9\x74\xc9\xc1\xf7\xae\xc6\x99\x69\x96\x3c\x42\x18\x1f\xff\x2d\x31\x07\xca\x95\x3a\x49\x4a\x2b\x76\x78\x87\x85\xaa\x51\x4f\x4b\xf5\x4f\x59\x14\x62\xaa\xf4\x7a\x86\xd5\xf9\x4f\x6f\x59\x24\x67\x7f\xc7\xe5\x8c\xfc\xe1\xec\x7b\x4a\x3b\xcd\x2f\x6a\xf5\x0b\x7f\xfd\xf1\xea\xc7\x97\xbf\x70\xe8\x77\x70\x5b\x91\x78\x7b\xfc\xe5\xe8\xb6\x27\xc3\x69\x5d\x1d\x66\x26\xd3\xd4\x05\xfd\xd3\x7f\x10\x27\x2f\xe2\xa7\xfd\xc2\xf0\x77\x2d\x6a\x8a\x6c\x39\x28\x23\x76\x95\x4d\x61\x65\x5d\x78\x9e\xb9\xea\xc0\x41\xc6\x9b\x3e\xe7\x9f\x55\x20\xf4\x52\x5a\x2d\xf4\xee\xdc\xc8\x7f\x62\xce\x59\x89\xcf\xb9\x77\x50\x35\xe5\x12\x29\xd4\xf2\x82\x23\xc9\xf0\x0d\x28\xc7\xbf\xce\xe1\x1d\x8f\xf9\xb9\x47\xb6\x5f\x7a\x8f\x47\x4d\x1c\x0f\x81\x45\x0f\xfe\x03\xa1\xbd\xdf\xd2\xbf\x35\xb2\x6f\x5d\x99\x5f\xfd\x70\x5c\xef\x06\x3d\x2a\xac\x77\x53\x3e\x36\xaa\x77\xb3\x8f\x0c\xea\xa3\x4c\x40\xef\xef\x13\xc4\xf4\x63\x96\xab\x90\x19\x56\x14\xe0\x65\x99\xd2\x6c\xb0\xac\x8a\xea\x6d\xea\xfc\x9e\x35\xda\x8f\x32\x2d\xff\xae\x43\x51\xa7\x13\xd9\x7b\x4f\x1f\x22\x22\xb5\x22\x7b\xf8\xea\xf2\x9a\xdc\xbe\x87\x91\xef\xb5\x83\x3f\x78\x54\x86\x01\x33\xe1\x71\x15\xa3\xab\x3d\xb6\xe0\x97\x24\x00\x3b\x18\x44\x77\xa1\x91\x84\xc7\x2f\xc7\x8a\x79\x40\xf5\x33\xc9\x79\x58\xfe\xb0\xa0\xfb\x51\x8f\x92\x74\x3f\xe7\x63\x45\xdd\x4f\x3f\x52\xd6\x87\x0c\xff\x0d\x84\x3d\x26\x30\x14\x4e\x31\xb1\x29\x04\xb5\x58\x02\x57\x37\x01\xef\x2d\x6a\x22\xaa\x91\xb6\xf5\xd1\xbe\xa2\x9d\x88\xf6\x72\x97\x66\x1f\x24\xce\xb7\x08\xd3\x98\x68\x7c\x5f\xa8\x8c\xa0\xab\x90\xb8\x34\x06\x75\x92\xff\x7a\x36\x2b\x2d\xd7\x92\x56\xe3\x0a\x93\x2f\xa3\x92\x82\x70\x8d\xb7\xd6\xea\x1f\x34\xb7\xa6\x5c\x85\x93\xd1\xe0\x84\x5d\x74\x48\x03\x33\x55\x14\xc8\x81\x63\x8b\x2c\xae\xa3\xca\x6e\xb7\xdb\x69\xb9\xe3\xca\xb7\x87\xe6\xaa\xe6\x77\xa8\x89\xee\xe7\x6a\xc5\xcf\x5a\x28\xfb\xb4\xf1\xa5\xa7\x0b\x91\xed\x31\x29\xec\x2f\x70\x44\x12\xbb\x38\x98\x7b\x76\x75\x2d\x45\xe4\x33\xe9\x5b\x8a\xc2\x61\x9d\x4b\x46\x3e\x4a\xef\x92\x79\x1f\xab\x7b\x09\x88\x23\xf5\x6f\x9c\xc5\x9f\x5c\x07\x9d\x1c\xaf\x64\x85\x21\x5f\x2e\x6b\x65\xc4\x92\x52\x4d\xb5\x13\x85\xdd\xb5\x27\x43\x3c\x78\x2d\xef\xd0\x40\x29\xf4\x2d\xda\xba\x10\x19\x1a\x10\xad\x26\x35\x15\x99\xea\x3c\xad\x4c\x29\x30\x4d\xed\x8e\xb7\x2e\xaf\x3d\x50\x89\x66\xaf\xa7\x79\xe3\x97\xed\x45\x5e\xa1\xe6\xd5\x3d\x20\x7b\x83\x19\xca\xbb\x98\xd4\x23\x2c\xb1\xc2\x95\xcc\xa4\xd0\xbb\x50\xb4\xf6\xfb\xe8\x56\x08\x04\x4b\x44\x70\x88\x99\x46\x8b\xee\x70\x28\x4c\x0a\x80\x39\x71\x08\xdf\xa6\x6b\xb4\xc4\xcf\xd3\xb3\x5e\xb6\x97\xa9\xb2\xc4\x2a\x77\xc5\x8f\x73\xf8\x89\xed\x8b\x2f\x81\xf3\xb9\x11\x19\xb9\x0a\xb7\x89\x69\x81\xcb\x42\x6d\xdd\x2e\x3a\xc0\x74\x77\x4b\xd2\x40\x63\xc8\xf5\xdf\xac\xd1\x7a\xda\x84\x5d\xbf\x6e\x96\x85\xcc\x5e\x0b\xbb\x39\x3d\xbb\x99\xb0\xa9\xab\x94\xed\x82\x73\x55\x18\x24\x26\x8b\xa6\xb0\xc9\xaa\x71\x53\xce\x9e\xf2\x21\x86\x28\x0a\xb5\xf5\xe6\xd1\x2a\x68\xea\x9c\x50\xef\x00\x64\x92\x89\x5a\x2c\x65\x21\x2d\xd7\x89\x39\x51\x69\x6c\xa3\x99\xdb\x0d\x1b\x74\x3e\xc8\x58\x7b\x9e\xb5\xc3\x07\xb6\x2a\x20\x31\x87\xe7\x71\xd0\xb7\x5f\x3e\xab\x76\x6f\xbc\xea\xbf\xef\x30\x7c\x1a\xb6\xfe\xe1\x4f\x5d\xf1\xf8\xd1\x85\xf6\x14\x33\x84\x32\x66\x26\x8a\xac\x29\x08\x7f\x42\x50\x94\xaa\x71\x51\x8f\x11\x05\xc2\x9d\x28\x1a\x04\xab\x45\x65\x56\xa8\xb5\x9b\xd1\xe5\x83\x97\xc3\x96\x4c\xaf\x94\x45\x38\x87\x2b\x9b\x1c\x6e\x2c\xd1\x6e\x11\x2b\xb8\x98\x5e\x30\xfd\x9f\x4e\x2f\xba\x60\x5e\xde\xd3\x14\x27\x54\xc9\xca\xd2\xc0\x3d\x4f\x28\x5b\xc4\xa5\x81\x8b\xe9\x7f\x7e\x43\x43\xab\x54\x72\xbb\x00\xdd\xfc\x6d\x40\x80\x67\xfc\x07\xdc\x4f\x87\xda\x22\x8a\x62\x07\x35\xea\x0c\x2b\x4b\x4e\x6b\x8d\x49\x8d\xd8\x1d\xa9\x58\xd4\xa5\x21\xa2\x2c\x85\x91\x06\x6a\x25\x2b\xdb\xc9\xfa\x68\x90\x51\x85\xcc\x89\xd7\x4b\x41\xa4\x35\xa5\xd0\x36\x9e\x6c\x1a\xd8\x6e\x28\x1d\xce\x44\xce\x26\x5c\xad\x56\x24\x3c\x37\x3f\x5d\xca\xfb\x6f\xbe\xbe\xe9\xcb\x8e\xb0\x20\x0a\x8d\x22\xdf\x05\xb3\xe0\xec\x4e\xba\x3e\x8b\x50\x26\x0c\x51\x37\x13\xf4\x45\x5a\xd3\x05\x44\x69\xad\xf7\xf5\x42\x23\x50\x88\xa8\xb1\xd8\x41\x8e\xb4\x23\x59\x49\x63\x7d\x7d\x7c\x4d\xe9\x58\x32\xba\xca\xa3\x3d\xea\xea\x49\x4d\x12\xf0\x5f\x01\x05\xb5\x82\x5a\x63\x26\x4d\xf4\xe5\xa9\xd4\x66\x8d\x9d\x83\xdb\x61\x57\x0c\xff\x37\x78\xa5\xce\x21\x51\x1a\xaf\x38\xf5\xa1\x4d\xd1\x12\x62\x17\xaa\x36\x9e\xd7\x93\x81\xae\x69\x2c\x1c\xee\x1b\x59\x47\x71\xa3\x07\x37\x5b\x51\x14\x68\x6f\xc2\x99\x29\xd9\xd7\x09\xb8\x44\xd4\x6e\x08\x2e\x16\x06\x87\xf4\xe7\x50\x67\x5b\xa1\x86\x52\xae\x37\x16\xb6\xa2\xb2\x6c\xa6\x6b\xcc\xe4\x6a\x37\xdc\xed\xc1\xe3\x43\x8e\x2b\x3e\x5e\x8b\x27\x29\x2d\x27\x63\x4b\xf5\x9d\x65\xad\xc7\x82\xd2\xac\xb1\xf0\xa7\x05\xab\xe1\x97\x5f\xf2\xb7\x6f\x17\xac\x8c\x73\x38\x79\xde\x58\xaf\x35\xad\xde\xca\x8a\x7e\x92\x39\x68\x51\xad\x11\xe4\x14\xe1\xdd\xc5\xe4\xe9\xcf\x27\x7b\x3c\x2a\x84\x00\x29\x9a\xe7\x45\xb4\x0c\x23\x15\xc8\xc6\xc2\x82\xb0\x18\x3e\x7a\xf8\x1c\xef\x11\x75\x8c\xe0\x2b\x5d\x9f\x43\x9c\xf0\x63\xea\x9d\x49\xee\x7e\x6d\x50\xef\x9c\x33\xb9\x79\x13\x3c\xf0\x4d\xf0\xb8\xdc\x39\xf2\xea\xf2\x3a\x89\x88\x49\xa4\x58\xb1\xee\x6b\xcc\xac\xb3\x8e\xb5\xd8\xb5\xee\xdb\xdb\x02\x57\xa6\xa2\x6c\x87\x85\x27\x04\xe0\x0f\x38\x77\x9a\xdf\x2f\xac\x68\x2d\x76\x5e\x3e\xb5\xc8\x6e\x9d\x55\x90\x55\x2e\xef\x64\xde\x88\xa2\x5d\x39\x4e\x73\x07\x41\x5c\x15\x3c\x0b\x5a\x79\x55\xad\x94\x99\xc3\x3b\x4f\x98\x9f\xbb\x07\x30\x3e\x06\x1e\x19\xd7\x17\x32\x8a\x8f\x48\x3c\x9c\xf7\x10\x16\x4c\xc3\x75\x38\x51\x14\x2c\x5c\xad\xd5\x8e\x6e\x9e\x3c\xef\x12\x61\xcd\xde\xde\x9f\x94\x3c\x9d\x5e\x74\xc0\xde\x09\x8a\x9c\xad\x28\x9e\xb3\x80\x5c\xf4\x1e\x13\x6f\x83\xcd\x97\x55\xc4\x73\x44\xdc\x13\x20\xf1\xe3\x1f\xc2\xdc\x69\x5f\xf0\xba\x62\x2c\x8c\x41\x6d\x4f\xe3\x3c\xa7\x28\x13\x28\xd1\x18\xb1\xc6\x39\x9c\xbc\x75\x9b\x8d\xeb\x1f\xbf\xdb\x93\xb3\x3e\x19\x9f\x19\x23\xd7\xce\x60\x05\x78\xa3\xfa\xe2\x56\x5a\x0c\x07\xf5\x2a\xa5\x6f\x5c\x40\x9b\xc2\xe3\x12\xdc\x68\xa9\xb2\x77\xc8\x2c\x58\xc8\x92\x72\xb9\xeb\x79\xc0\x44\xac\x9d\x9c\xee\x2f\x7c\xfa\x54\x22\xca\xf1\xe9\x59\x22\x45\x07\xce\xf3\x46\xb6\x05\x87\x12\xab\x56\x51\x3e\x53\x5a\xf5\xa6\x47\x92\x7d\x49\x55\x4b\x89\xc7\xa4\x54\x71\xd6\xc7\x26\x54\x11\xc0\x91\xe9\x54\x6a\x78\xfa\xca\xf4\x49\x4e\xe4\x9d\x5f\x75\xe7\x75\x6c\x30\xa2\xab\xe1\x78\x94\x55\x9b\xfd\x05\xc9\x5d\xd7\x98\xc5\x92\x06\xf7\x80\xb5\x20\x38\x22\xc7\x3b\xac\x6c\xc3\xa1\x5c\x0a\x4b\xc4\xe0\xda\x6c\xa5\xcd\x36\x4b\x45\x19\x5a\xf0\x48\x93\x08\x77\xe3\x04\x20\x34\x6b\x2d\x1b\x0f\x96\x8f\x00\x3b\xc8\x45\x02\xd1\xb7\x4a\xf5\x1a\xc2\xfa\x47\x4f\x6d\xea\x11\x53\xaf\x80\x10\x65\x79\xa9\x67\xdc\x2b\x34\xa3\x79\xcc\x3c\x05\xfd\xbe\x4f\xfa\x59\xcd\x0f\x67\x3e\x1b\xbc\xbc\x7e\x93\xae\xf4\x40\x39\xd5\x37\x4c\xb9\x63\xd0\xa4\xc9\xcf\x17\x9b\x5e\x5d\x5e\x4f\x07\xfc\x08\xc9\x04\x27\x8b\x5a\x48\x17\x1a\x26\x7e\xe9\x16\x77\x33\x17\x5c\xd4\x42\x6a\x03\xa2\x50\xd5\xda\x65\x8d\x46\x95\xad\x8a\x71\xd9\xf5\x9e\x38\xc9\xa7\x06\xbc\xae\x58\xaa\xc6\xc9\x0d\x83\xde\xe7\x34\xaf\xe9\x61\x42\x8b\x91\xee\x3b\x9e\x3f\x85\x1f\xe4\x2d\xc2\xf7\x22\xbb\x5d\x6b\xd5\x54\xf9\x04\x5e\xee\xd0\x4c\xe0\xaf\x42\xea\x5e\xa3\xd4\x43\xdd\x71\xbc\x42\x53\xe5\xa8\x0b\x0e\x51\xdd\x16\xd3\xd5\x26\xc1\xa6\xd8\xf0\x33\x13\xd6\xb8\xe6\x34\x1e\x02\xb5\x56\x77\x32\xc7\xb0\xf9\x60\x88\x18\xd8\x10\x17\xfe\x39\x39\x31\xea\xe0\xe3\x3b\xc1\x48\xf9\x53\xbe\x98\x8d\xda\x32\xa1\xe3\x1a\x8e\xa8\x5b\x17\xe9\x4a\xe3\xc8\x44\xf1\x8c\xdb\x42\x14\x88\x14\x38\x89\xb0\xac\x8c\x15\x55\x86\x13\xd8\xa9\x06\x32\xd6\x5e\x13\xb0\xa2\xa5\x04\x34\x95\xbc\x07\x2b\x4b\x34\x56\x94\xb5\x4b\xb8\x7d\xd4\xdc\xc1\x4f\x18\x38\x79\x21\x2c\x9e\xf0\x86\xb1\x28\xd2\xb5\xea\x42\xd8\x95\xa2\xb4\x8b\x72\x54\x55\x99\xa6\xf4\x7d\x12\x8e\x66\xdc\x6b\xca\x81\x47\xc8\xe7\x85\x3f\x56\x1a\x06\xe6\xed\x9a\x23\x47\xe7\xe4\x2c\x85\xa6\xbc\x8d\x42\x40\x51\x18\x15\x15\xde\x95\x41\x8b\x9d\x97\x7c\x61\xad\x96\xcb\xc6\x76\x0e\xb1\xbb\xc2\xe0\xb4\x21\x7a\x87\x90\x98\x31\x7a\x45\xd1\x42\x30\xdc\x57\xe0\xb7\xe6\x7f\x0b\x6c\x7f\x75\x79\xfd\x7b\x03\x9a\x71\x1a\x72\xdf\xfd\x3e\xf7\x38\xf7\x5b\x00\x3a\xed\x78\x03\x49\x99\x8c\x92\x62\xd2\x87\xf9\xf8\xae\x3b\xc7\xfc\x85\x5b\x70\x24\x98\x4f\x98\xbe\x48\x71\x18\xc9\x1b\x1c\x2b\x16\x1e\xa7\x23\xa3\x7d\xb6\x60\x6c\xf9\x42\xa8\x12\x8c\xd0\xc3\x26\xcb\x4f\xf4\x13\xf8\xe0\xef\x08\xab\x15\xc1\xa5\x4a\x35\x62\xb5\x50\x64\x1b\x6f\x76\x46\xed\x95\x19\x29\x4c\x3b\x54\xe6\xf0\x8e\x47\x0c\x0f\x3e\x7b\xcf\x47\xd9\xe5\xb7\xb3\xf0\x83\x47\xbc\x34\xfd\x75\x73\x8b\x3c\x37\xad\xf9\x77\xd6\xd4\x8b\xa4\x47\x95\x68\xdd\x99\xd2\x8d\x20\x5d\x7c\xc5\x63\xe7\x6c\x18\x9d\xa6\xfa\xed\x5a\xd6\x2b\x91\xe7\x98\x1f\x0c\x1b\x45\x9e\x33\x08\xda\xe8\xdc\x41\x3b\xb0\xc3\x29\x49\x41\x95\x9f\xda\x03\xdd\x0e\xdd\x90\x31\xd9\xcb\xe7\x0a\x1a\x3d\x0a\x87\x23\x46\x37\xe8\x51\xe1\xa2\x9b\xf2\xb1\xb1\xa2\x9b\x7d\x64\xa0\x38\x10\xde\xf0\xf7\x09\xa2\x44\xcf\xaf\xd8\x5c\x64\x15\xa0\x30\xb2\xe0\x9c\xe4\x0e\xb5\xe5\xbe\x2b\x7e\x26\x28\x5f\x57\x5e\xc8\xa7\x70\xa9\x34\x97\xcf\x93\x70\x22\x9c\x11\x19\x5f\xc4\x57\x6c\x8c\xd9\xfa\xa2\xe4\x66\xbd\xd0\xb4\x1d\xb8\xc3\x0a\xef\xfd\xf3\xb5\x73\xe1\x11\x1e\x3b\xa0\x12\xed\x46\xc5\xd6\x6d\xd3\xac\x56\xd2\x09\xc2\x5a\xde\x71\x10\x59\xb2\xb7\xe0\x2c\x4a\xad\x7c\x01\xc5\xa3\xb8\x4f\xc0\x68\x3f\x4e\x69\xba\x3b\x5b\x62\xd8\xb4\xb3\x56\xd7\xad\x3a\x27\xb3\xf1\x9e\x2f\x40\xe4\xaf\x44\x89\x66\xde\x69\x14\xf6\xad\x4b\x0e\x1b\xef\x85\x43\x31\xed\x86\xd6\xba\x89\xc0\xc2\xdf\x2d\xee\x3c\xb5\x84\x76\xbe\x6b\x2b\x2a\xbf\xfe\x12\x33\x32\x78\x37\x0e\x8f\x9b\xd1\xa0\x97\x23\x5c\x41\x13\xfa\x76\xa3\x2f\xe6\xb4\xfe\xb5\xf2\x92\xee\x48\xf0\xde\x21\x9c\x78\xad\x0f\x93\xfe\xfe\xde\xb9\x31\x3f\x7f\x77\x36\x1f\x0a\xe2\x6c\x06\xcf\x23\xd7\x5d\x05\xcf\xf8\x12\x5e\xd8\x4a\xf4\x12\x3e\x14\x73\xc5\x79\xa9\xdb\x50\xd7\xdf\x28\xc9\xa7\xbd\x58\x6f\xd7\x2b\x06\x6e\x44\x95\x17\xe8\x9c\x00\x13\x97\x32\x10\xae\x2e\xda\x76\xf0\x3f\x1a\x93\xac\xcd\xf2\x11\xe0\x73\x6f\x6e\x51\x4c\x53\x85\xed\x6c\x16\xbe\x58\x90\x8a\xf4\x14\x8d\x02\xb1\x5b\x42\xbb\x33\xf6\x8b\x11\x75\x24\xa2\x4e\x35\x96\xea\x0e\x4f\x6f\x71\x37\x87\xdb\x7e\x4f\x59\xfb\x29\x7e\x1c\x71\x42\xb0\x80\x77\x3f\x3f\x19\xac\xcf\xe0\x59\x5e\xba\x4b\x47\x08\xb0\x70\x1c\xf2\x91\xc9\x6d\x0c\x4a\x68\xe6\xbb\xdb\x9f\xbf\xe8\xc5\x24\x95\x2c\xda\x78\xa4\x92\x45\x17\xdb\x9e\xcd\x67\xdf\x30\xb6\x81\x20\x8c\x4e\xb0\xdc\xac\xb3\xbe\x99\x89\x45\xe8\x58\x30\x1c\x58\x0b\x69\x4c\x83\x6d\x1d\xd1\x5f\x0f\x8a\x10\x38\x7d\x71\x27\x16\x25\x5f\xb4\x32\xb2\x94\x85\xd0\xc9\xbd\x28\x02\x8b\xf7\xa2\xa4\xe9\xa2\x82\xff\x23\x83\xf0\xf4\xe2\x82\x42\x66\x7f\xa0\x14\xa1\xc9\x8a\xe2\x5d\x77\x36\xe6\xe2\x93\x55\xe3\xae\x29\xb9\x0a\xb6\xab\xca\xa7\x47\x8a\x6d\x50\xf3\xcc\x9d\xc0\x3b\x79\x5b\x52\xb8\xa2\x39\xdf\x88\xa8\x63\x2e\x79\x5f\x13\xd8\x6e\x64\xc6\x0d\xb4\xdb\x0d\xb7\x35\x87\x47\x7b\x11\x71\xc4\x24\x59\x35\xce\xae\xf9\xc6\x2e\x70\x8d\x5d\x6c\x59\xf6\xe5\x64\x2f\x3d\xec\x07\x6e\x45\x79\x14\x3a\x63\x2e\x5b\xca\x4d\x9c\xdd\xcd\x42\xa9\xe0\x2d\xda\x09\xbc\x2e\xc4\x6e\x02\x6f\x51\x4b\x34\xdd\xe3\x00\xdf\x64\xe6\x3a\xf0\xb7\x62\x97\x74\x25\x38\x10\x59\x21\x8c\xa1\x6c\x84\x2c\x47\xa0\xcc\xc1\x9c\xef\xbb\x21\xfe\x81\x6c\x6d\x2f\xdb\x9e\xab\x3f\xbc\x13\x51\xc1\xc9\x57\x5f\x07\xee\x9f\xfe\xee\xab\xaf\x67\x4f\x2f\x2e\xce\x4e\xb8\x8d\xc3\xe5\x88\x1e\x90\x34\xf0\xd5\xd7\x23\x19\x28\x3f\x9d\xc3\x4f\x57\x95\xed\x1f\xa7\x10\x3a\xa5\xb8\x1f\x45\x89\x12\x26\x7f\x60\xeb\xc5\x77\xda\x9b\xdb\xbf\x8b\x14\x6a\x1e\x3e\x2b\x75\x75\x8f\x42\x96\xd2\x62\x7e\xee\x97\xc0\x7c\x1c\xda\x11\x5b\x25\x44\xa5\xa1\x67\xa3\x53\xb9\xad\x85\x15\xab\xa9\xfc\xa2\x61\x5f\x6e\x6e\x5b\x31\xa2\xb4\xd3\x2a\xb2\x12\xd3\xf1\xa8\x34\xb6\x60\x8a\xfb\x40\xb8\x43\x09\xd3\x77\x93\x1e\x95\x27\x9d\x99\x23\x61\x11\xe1\x33\x6a\xa0\xa1\x2d\x20\x7b\x66\x7c\xbb\xa0\xd1\x5f\xa4\xf5\xe3\xeb\x96\xe9\x99\xa8\xc6\x4a\xc5\xd6\x33\xd6\x8d\xfa\xe2\x64\x9f\xed\x86\xa3\xb2\x34\xbf\xd6\xa2\x9f\x27\xc7\x01\xb4\x14\xa3\x79\x64\xda\xd5\x39\x64\x09\xaa\xde\x69\x17\x85\x3d\x06\xe1\x5f\xe8\x18\x1d\xe8\x6b\xe7\xc4\xae\x63\x05\x45\xb0\x83\x03\x89\x20\x13\xf7\x83\x34\x76\x0e\xef\x3c\x46\x23\xfd\xa5\xc3\x31\xe3\x4d\xa6\x7e\x1c\x2c\xe2\x94\x63\x73\x91\x48\x8d\xcf\x75\x8d\x2c\x22\xf0\x40\x4b\x90\x1f\xf6\xb8\x7e\x20\x3f\xe9\xa3\x9b\x81\xfc\xfc\x63\x3b\x81\x5a\xc9\xea\x6b\xe2\xa7\x6a\x03\x8a\x45\x31\x8e\xa8\x83\x53\x39\x77\x8d\x41\x39\x18\xd4\x52\x14\x41\x54\x5d\xf9\x39\x1c\xf8\x91\x60\x46\x60\xaf\xdd\x44\x03\x1b\x71\x87\xc9\xb5\x6a\x06\xe4\x77\xc1\x7e\x9f\x63\xf0\x1e\xdc\x68\xff\x22\xb8\xb7\x14\x7d\x96\x62\x17\x9b\x58\xf8\x90\x52\xe3\xba\xa1\x58\xe4\xea\x85\x2b\xc0\xa5\x83\xd2\xbb\xdc\x6d\xae\xe4\xbc\x62\xb8\x9b\xe4\xae\xa3\x4c\xdd\x0d\x8a\x0e\x06\xd2\x74\x0e\x3c\x97\x08\x4d\x25\x7f\x6d\xb8\x79\xa4\x5a\xb7\x00\x9d\x03\x66\x64\xc8\xa0\x73\x94\x2d\x6c\x20\xdb\xbe\x90\xe1\xad\x5b\x6b\x58\x16\xd9\xe7\x01\xbd\xba\x76\x1f\x8f\xd7\xb0\xf6\x18\xc0\x07\xb4\xd4\x63\xf4\xb9\x74\xd4\x2f\x7f\x58\x43\xdd\xa0\x47\xe9\xa7\x9b\xf2\xb1\xda\xe9\x66\x1f\xa9\x9b\x03\x9e\x7e\x6a\xcd\x6c\x9b\x64\x7d\x01\x31\x8d\x61\xbd\x26\xba\xba\x56\x52\x57\xa4\xd9\xdc\xac\xe4\x72\xdd\x30\xb5\x42\xcc\x8d\x4b\xee\xee\x30\x14\x09\x4c\xa6\x34\x87\xf8\x69\x63\xc2\xb2\xb1\x20\xdd\x25\xec\x08\x90\x27\x2d\x55\x5b\x21\xec\xcb\xb7\x2f\x36\xbf\x1f\x44\x70\x7e\x09\xdf\x58\xe7\x46\x71\x95\x7b\x4f\x59\x9b\xc7\x87\x9e\x90\x91\x00\xb5\x14\xf7\xb2\x6c\xca\xf6\x4c\x82\x27\xec\x09\x8e\xf6\x01\x19\xb9\xf2\x9f\xa2\xe6\xae\x56\x3d\x70\xa1\x2e\xc6\xed\x3f\xe0\x1a\xab\x5c\xe8\xdd\x04\x5e\xd6\x32\x9b\x10\x2d\x70\x02\x3f\x55\x99\x2a\x4b\x8a\xef\x9e\xf3\xff\xdd\x00\xde\xdf\xde\xea\x96\x96\x0f\xf4\xdc\xf4\x23\xbc\x2e\x99\x26\x9d\xfd\x8e\x76\xd2\x8c\x05\x7a\x8e\x37\x0b\x17\xea\x7d\xf9\x65\x87\x2c\x8b\x7d\x01\x60\x2d\x2a\x99\x9d\x9e\x3c\x0b\x2c\x8f\x82\x65\x02\xf7\xba\xef\xa9\x50\x9a\x05\x67\x10\xe5\x0d\x0d\x99\x47\xa7\xc7\x51\xd8\x1f\xc7\xc1\xbf\xd0\x57\xd3\x3b\x71\x77\x7b\xf9\x9c\xe5\x53\x8f\xc2\x03\x07\xee\x3c\xe8\x71\xa7\xed\xee\xf8\xe3\x63\x8f\xda\x79\xf6\xb1\xe7\xec\x7d\x23\x10\xfe\x3e\x81\x41\x7c\x75\x79\xcd\x36\x71\xab\x45\x6d\xb8\xd4\xf5\x9c\x5f\x97\xc1\xaf\x54\x71\x27\x18\x37\x32\x77\xfd\x70\x37\x4d\x43\x1f\x5d\x1d\xcc\x9d\xd4\x85\xa3\x91\x08\x2f\x14\x36\x05\x77\x3d\x17\x68\x11\x6a\x99\x71\x1f\x6b\xbc\x1c\xe3\xdf\x9f\xc2\xbe\x7e\xfc\xe5\x29\x11\xdc\xc1\xb7\xa8\x04\xdc\x87\xde\x5f\xe6\xd1\xf3\xf7\x1f\xd1\x1e\xf6\x3e\xf4\xd5\xa5\x79\xf7\xd5\x32\xd3\xf0\x96\x83\xc1\x78\x6c\x1b\xca\xfb\x73\xd2\x06\xf7\xc1\xbc\xb6\x76\xf4\x42\x58\x31\xa7\x9d\x3c\xef\xfc\x74\x70\x4a\x40\xb2\x3b\x6b\x1f\x8e\xb1\x09\x21\xed\x10\x19\x8c\x0a\x15\x3c\x7f\x2a\x70\xe8\x2d\x1e\x32\x87\x98\xf3\x76\x1e\x10\x69\xf7\x3c\xf2\x84\x85\x7d\x94\xed\x8e\x4e\xc8\x3a\x98\x91\xd2\xb5\x3b\xab\x4b\x54\x18\xa3\xea\xde\x09\x11\xbd\x51\x9a\x76\xa7\xb5\x5d\x1d\x29\x45\x7b\xaf\x2b\xe9\x91\x33\xfc\x3e\x9e\x13\xe6\x7c\x27\x6b\xf8\x80\x09\xba\x60\xba\x8e\x18\x67\x8f\x73\x3c\x23\x1d\x0e\x49\xe9\xb8\x48\xa9\x3a\x1c\xda\x23\xde\xa2\x47\xcd\x83\x13\x22\x22\x83\xdf\x86\xd3\x5a\xe2\x2d\x46\xda\x0f\xe1\xb8\x13\xc9\xbd\xfe\xc6\xdf\x2d\x62\xcb\xb9\xcf\xbd\x90\xfa\x5f\xfb\xe4\x5f\xe6\xbf\x89\xf3\x09\x86\xe9\xb0\xd3\xf1\xa3\x4e\x5b\x7b\x34\x79\x84\xff\x19\x1a\x3f\x4e\x7b\x56\xf6\x6f\xc7\xf8\x1f\x3f\x9b\x1c\x50\xea\xbf\xc2\xf4\xd1\x32\x55\x70\x22\x6e\xcc\x17\x20\xcc\x17\x01\x8b\x84\x3f\x7d\x9f\x13\x76\x39\x34\x21\x32\x1f\x9a\x8f\x79\x17\x6f\xfa\x69\xd4\x90\xf4\xad\x42\xf2\xfa\x9a\x14\xc0\xd9\xf1\x76\xa5\x77\x97\xe9\x00\x94\x81\x9d\x61\x89\x75\x0c\xed\xda\x9b\x23\xa1\x44\xe3\x33\x0e\xe8\xe1\x7d\xa5\x16\x29\xc0\x68\x7b\x08\x0f\x4c\xf4\x6a\xd6\xce\xf2\x87\x20\x9d\x29\xad\xf1\x7a\x20\x9b\x72\xdd\xc5\x6d\x2a\xe5\xdf\x86\xc1\xef\x50\xf1\x6f\x9e\xb3\x5a\xe2\x1d\x8e\xb7\x59\x1c\xba\x7c\xe8\xe2\xe0\xa6\x06\xd1\xbb\x13\xe8\xaa\xbf\xb5\x56\x64\x05\x22\x3c\x5a\x52\xac\xdd\xa2\xae\xbb\xad\xbd\x2f\x73\xe8\x9e\xd4\x80\x83\xbd\xcc\xcb\xbd\x4e\xa4\x8a\xf0\xb7\xfc\xa6\x00\x0e\x59\xfc\xa5\x5f\x1d\xae\x2d\xc5\x72\x87\x7b\x85\xcc\xb0\x46\xef\x61\xbc\xf6\xaf\xde\x88\x5f\x7a\x2f\x30\x71\xd8\x73\x03\xa3\x3b\x8c\x29\x1b\xc3\xf5\xca\x42\x56\xb7\x6e\x11\x4f\xfe\x91\x8d\xc6\xaa\x7e\x28\x28\x41\x3c\xb5\xc9\x8a\x86\x6f\x3f\xc7\x9b\x68\xbc\x81\x70\xc5\xcc\x1f\x1f\x79\x0d\x71\xd1\x60\xfb\x70\xb0\x97\x3a\xb6\x17\xa6\xad\x86\xbd\x9d\x68\x79\x27\x2c\xa6\x5b\x69\xab\xf3\x83\xcd\x70\xe3\xa7\x3b\x53\xd0\x1d\x30\xc9\x35\x29\xab\x98\xfb\xb9\x16\x5b\x17\x4c\x72\xd3\xbd\xbb\x7e\x16\xe5\x63\xa3\x0a\xde\x27\x0d\x18\xe2\xed\x57\xf0\x98\x3b\x0c\xf7\x32\x21\x81\xca\xa7\x24\xe1\xed\x49\x9d\x86\x7e\xdf\x9d\xe7\x0e\xfa\xf9\x1d\x3e\x1a\x45\x7e\xce\xe7\x24\xae\xbb\x9e\x85\xd9\x53\xbd\xb3\x4c\xe8\x61\x30\x70\x9a\x63\xad\x8c\xb4\xf0\x07\x72\x14\x57\x2f\x0c\xfc\x01\x96\x4a\x6b\xb5\x7d\x75\x79\x7d\x36\x4c\x9a\xe3\x5b\x68\x56\x94\x16\x8a\xec\x76\x2b\x74\x6e\x38\x04\x17\x56\x7a\x72\xb1\xa6\x0c\x4e\x2d\xb9\x04\x51\x29\xeb\x5b\x9c\xf8\x0d\x28\x23\xb8\xf5\xdf\x97\x39\x6d\xf5\xc4\x53\xa7\xbd\x9e\xb8\xdd\x60\x45\xea\xca\x95\xcf\xa6\x4e\xd7\x74\x5d\x17\x55\xaf\x33\x28\x19\xe0\x4f\xef\x4a\xb1\x4b\x0e\x6d\x96\x08\xf8\x6b\x23\x8a\xe0\x83\x99\xfa\xbe\x58\xea\xee\x5c\xdd\x38\x09\xfc\x81\xc5\x88\x3c\xdc\xcd\x50\xe1\xdc\x90\x16\xef\x39\x70\x57\x59\x97\x9a\x91\xaf\x03\xd9\xf4\x67\x06\x62\xa5\x34\x67\x2a\xee\x60\xab\x6e\xf5\x73\x1a\xbb\xc5\x2a\x32\x81\x05\x31\xbc\x03\x5c\xa3\xb1\x5a\x3a\x49\xa1\x75\x98\x21\xa5\xa8\x76\x89\x6a\xf1\x8d\x38\xb1\x2c\xdc\x69\xeb\x0d\x59\xc9\x3e\xa5\x6f\xba\x07\x98\x3c\x26\xb4\xec\xfa\x1b\x8b\x37\xa3\x71\x43\x0b\xe8\xa6\xa3\xe9\xfc\xfe\xaa\x5f\x1b\x39\x6a\xa6\xfa\x84\xfd\x34\x54\x4b\x6c\xc1\x90\x6c\x1d\xd8\x62\x9c\x6c\x5c\x83\x2b\x65\xc5\x45\xab\x48\xaa\xd7\x5e\x9f\x93\xfd\xed\xd5\xf9\xc3\x5b\xba\x8c\xfd\x44\xee\x7a\x5d\xa1\xb6\xc6\xdd\x3a\xf5\xc5\x2d\x51\x01\x96\xb5\xdd\xf5\xfd\x51\x30\x0a\x84\x40\xf0\x02\xec\x02\x3a\xe0\x83\x51\x1e\xb9\x06\xc7\x47\x7a\x2f\x09\x74\x2a\xaa\xa7\xa7\x67\x73\xf8\x73\x7a\xfb\xeb\x80\x46\x7e\x38\x3b\x94\xbf\xed\x73\x3c\xdd\xd0\x60\xdc\xa4\xf7\xc6\xec\x33\x9f\x63\xa0\xfa\x8a\x37\x36\xa6\xcf\x93\xf1\xe5\x0e\x8f\x1a\x25\x60\x60\xe7\xe3\x09\x19\xc0\x1e\x77\x65\xae\xbf\x8d\xa9\x34\x6f\xdd\x1b\x86\x4e\xd5\xca\x61\xfb\xed\x97\x87\x56\x74\xa4\x9e\x0c\xed\x6d\xd0\xf0\x09\x3c\xa0\xdb\x1f\x28\xa8\x9f\xc3\x89\x37\xcb\xac\x32\x1c\x33\xf8\x36\xa2\x87\x4d\xf9\xc1\xd5\xc9\xbc\x3c\x80\x41\x6a\xce\x4e\x86\x24\x1a\x70\xf1\x48\x22\x05\xe5\x1e\x41\x6f\xb8\x83\x63\x89\xe4\x61\x1e\x43\xa6\x47\xad\xff\x28\x32\x4d\x1f\xbc\x21\x99\xe8\xec\x22\xf9\x3c\x1c\xd8\xaa\xed\xa2\xfd\x38\x32\x2c\xd1\x5c\x58\x74\x14\x79\x1f\xcc\x16\xf1\x45\xff\x87\x7d\x53\x5a\x16\x2f\xfa\x3f\xec\x47\xa9\x1d\x93\x20\x76\x68\xe2\xa8\xc2\x2f\x0e\x9a\x81\x63\xeb\x09\xc3\x7c\x80\xab\xd8\xdb\x70\xad\x92\xaf\xfd\x84\x66\x72\x17\x15\xe6\xb1\x55\xec\xdf\x53\xdf\x1e\xa2\xf8\x60\xd5\xa1\x97\xa4\x3e\xa6\xea\x3d\x2c\xa9\x7d\x64\x01\x7c\x00\xe8\xc8\x5a\xf8\xa1\x0c\x2d\xfc\x7d\xfa\x73\xc2\x3d\x99\xad\xbf\x2b\xc3\xd7\xea\x83\x47\xff\x7d\xdb\xce\x92\xbc\xb9\xe6\xa8\x0c\xd7\x15\xce\x2b\x08\xef\xae\x61\x23\x12\xa1\xf1\xdb\xaa\x65\x66\xc2\xc9\xda\x20\xee\xf0\x49\xe8\x12\x0b\x55\xad\x09\xe0\x91\x69\xee\xe0\xad\xba\x14\xee\x8b\x72\x10\xd1\x31\xda\x1c\xdb\xfb\x22\x8c\xeb\x0c\xf6\xcb\xf6\x5f\xd3\x03\xc7\x5c\x88\x7a\x91\x1c\x30\x8d\xad\x36\x46\x94\x90\xd2\x1e\x5a\xf0\x81\x97\x73\xc7\x17\xc1\xb8\x57\x87\xf0\x3d\x24\xff\xb6\x24\x5e\x82\x5f\xb4\x91\xf2\x3b\x5c\x2a\x7b\x60\xd9\xe3\x8e\x03\x3a\x98\xbc\xfd\xb5\x11\x1a\x7d\x13\x93\x7b\x67\x6b\xe7\x86\xdd\x83\x6b\x1a\x06\x70\x55\x72\x97\x58\x77\x4d\x7e\xb5\x5a\x67\xb5\xef\x45\x55\xa1\xee\xac\x16\xdf\x88\xd2\x2e\x32\xe9\x57\x31\x38\x47\x14\xdc\xc2\x09\x15\x0a\x0d\x4f\xbf\xba\xb8\xb8\xff\xe6\x8f\x17\x43\x74\x96\xbc\xc2\x91\xe8\xbc\x55\x99\xf4\x4c\x30\x6e\xdb\x7c\x01\xa6\x8b\xcd\xef\x0d\x18\x37\x6e\xa3\x4a\xac\xc5\x1a\x3b\x6d\x84\xf0\x5a\xf9\x37\x17\x73\x67\xb1\x4f\x1c\x4f\xf8\xe6\xd9\x5a\x8b\xf2\x64\x02\x27\x76\x2b\xad\x45\x4d\x1f\x73\x69\x32\xa5\xf3\x93\x3d\x57\xf7\xdc\x4a\x26\xe9\x2c\xdf\xcb\xc6\xdf\xea\x4d\xe7\xc7\x09\x51\x77\xce\x43\x42\xd0\x1d\xfd\x10\x8f\x7a\xb0\x1f\x43\x92\x30\xe9\x37\x7d\x17\xfb\x23\x8e\x35\x12\xc2\xc0\x22\x25\xd3\x70\x68\x42\x15\x58\xa4\x34\x1a\x81\xea\x48\x42\x10\xdd\xa7\x8f\x8b\x27\xd2\xb7\xc2\x8f\x87\x14\x3e\xa2\x88\xd0\x3e\x63\x68\xf1\xa8\xb0\xe2\x23\xde\x24\x3f\x7a\xf0\xf6\x49\x82\x8b\x47\xbd\x63\xfe\x01\xd7\x18\xfe\x3e\x3e\xc4\xf8\xf0\x04\xfe\x3f\x00\x00\xff\xff\x88\x50\x01\x42\xc4\x66\x00\x00"
 
 func utilityMetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -173,7 +237,7 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/MetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x38, 0x2b, 0x54, 0xa2, 0x25, 0xff, 0xbe, 0xa5, 0x57, 0x85, 0x51, 0xed, 0x64, 0x39, 0x67, 0x79, 0xc1, 0x4b, 0x1e, 0x56, 0x8, 0x4b, 0x57, 0x6a, 0x72, 0xd2, 0x2a, 0x7b, 0xe6, 0x12, 0x58, 0x71}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0x3a, 0xe1, 0xc, 0xba, 0xd9, 0x28, 0x82, 0x61, 0x70, 0xe4, 0x65, 0xb6, 0x24, 0xf2, 0x9f, 0x77, 0xfd, 0xfa, 0xf, 0xd8, 0xe, 0xc8, 0xde, 0xf0, 0xf7, 0x8d, 0xec, 0x39, 0x7f, 0x57, 0xe2}}
 	return a, nil
 }
 
@@ -237,6 +301,26 @@ func utilityTokenforwardingCdc() (*asset, error) {
 	return a, nil
 }
 
+var _utilityViewresolverCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x94\x4d\x6f\xdb\x38\x10\x86\xef\xfe\x15\xef\x5e\x76\x6d\x60\x21\x5d\x16\x7b\xf0\x25\x6b\x6c\x10\x20\x87\x0d\x16\xad\x9b\x4b\x10\x14\xb4\x38\xb6\x88\xc8\xa4\x3a\x1c\x59\x11\x82\xfc\xf7\x62\x48\xcb\x9f\x6d\xd1\xfa\x24\xd0\xe4\xfb\xf1\x88\xa3\xb2\xc4\xd2\xbc\x90\xc7\x9a\xc3\x16\x52\x13\x1e\xee\x96\xf8\x8f\xc4\x58\x23\x06\x51\x8c\xb7\x86\xed\x9f\x90\xda\x45\x54\xc1\x0b\x9b\x4a\x40\xaf\x6d\x88\x14\x61\x3c\x9c\x17\xe2\xb5\xa9\x08\x12\xd0\x90\x60\x52\x96\x30\x7e\x08\x9e\xb0\x0a\xcc\xa1\x87\x39\x1e\x34\xde\x82\x29\x86\x66\x47\xd8\x39\xea\x23\x82\x87\x93\x62\x52\x96\x7a\x6e\xa9\x2e\xbd\x6b\x1a\x98\xa6\x09\x3d\x86\xd0\xa9\x6c\x58\x89\x71\x6a\xb5\x0e\xbc\x35\xe2\x82\x87\x59\x85\x4e\x4e\x95\x7b\x27\xb5\x2e\x79\xaa\x28\x46\xc3\xae\x19\xf0\xe2\x43\xef\xfc\x46\xe3\x48\x9d\x1e\xd2\xa9\xec\x87\x45\xd3\x24\x03\x4f\x64\xe1\x22\x9c\x44\x18\x6b\x99\x62\x4c\x39\xbd\xd9\x52\x7a\x18\x42\xf7\x07\x13\x36\x21\x58\x4d\xb3\x09\xbf\x4d\xda\x6e\x75\xb4\x3e\x22\x78\x74\xd4\x7f\xc8\xf5\x18\x6f\x13\x00\x28\xcb\x12\x77\x9d\xaf\x52\x6a\xa9\x8d\x80\x49\x3a\xf6\x51\x2b\x26\xe2\x07\xda\x8f\x09\x88\xdb\xb6\x0d\x6d\xc9\x0b\x59\xac\x86\xb4\x23\x13\xd3\x02\xa3\xe7\x28\x7d\xb0\xf8\x27\xab\x62\xe1\x61\x98\xcd\x80\xb0\xc6\x72\x68\x29\xc2\xd2\xda\x79\x3d\xab\x4a\xa7\xe2\x89\x7f\x91\x99\xef\x4c\xd3\x51\x26\xbf\x22\x74\x31\x79\x1f\xc4\xc7\x9f\xa5\x1d\x35\xa1\x25\x8e\xca\x41\xe9\xa2\xaf\x5d\x55\xa3\x35\x6c\xb6\x24\xc4\xba\xde\x9a\x98\xfe\x3f\x26\x27\x6d\x36\x9d\x61\x4b\x52\x07\x5b\x9c\x85\x57\x92\xeb\xce\x63\x43\x92\xfa\x4f\x67\x73\x3c\x69\xf2\xe7\x3d\x40\xfd\xed\xcb\x3d\x3d\xa7\x95\xf7\xc9\x77\xc9\x26\xb7\x08\xa3\x56\x19\xaa\xb6\xc4\x3a\x70\xbe\xc1\x12\x5e\xc8\x17\xd7\xf4\x52\x81\xb4\x77\x8e\x65\x4d\x09\x9d\x22\xd4\x0e\x96\xa2\xe3\x3d\xaf\xe2\x1a\x38\xa2\x70\x57\x49\xc7\xda\xb6\x65\x8a\xe4\x65\xc4\xcd\xf4\xa5\xa3\x28\x97\x87\xcf\x8a\x9f\x22\xfa\x3c\x46\x18\x5a\x9a\xcd\xb1\xf0\xc3\xc7\x24\x7e\x73\xcd\xc2\xbb\xe6\x12\xc6\xff\x1c\x76\xce\x6a\xfd\x4a\x67\x40\xdf\x81\x41\x24\xd1\x22\x67\x3c\x62\x71\x88\x8d\xc0\x38\x08\x68\x94\x8e\x2b\xc2\x94\x8a\x4d\xa1\xd3\xfd\x70\xb7\x9c\xa1\xd2\x31\x1f\x2f\x4e\xe6\x78\x36\xf5\x6d\xf6\x3d\xb1\x3d\x28\x2a\x84\x3c\xe7\xe9\x05\x39\x41\xec\xda\x36\xb0\xc4\x6b\x18\x07\xf7\xa3\xf8\xc5\x2c\xfd\xf8\xbe\x5c\x6d\xf9\x29\xb2\x97\x10\x17\xd8\x70\xe8\x5a\x65\x96\xae\xce\x5e\x84\xb5\xb3\xa5\xd7\x3c\x94\xf7\xb7\xbf\x14\xff\xdf\xd0\x34\x94\xef\xe9\x75\x91\xfc\x91\x3c\xfd\x72\x4c\x9d\x9d\xe3\xd3\xbd\x97\xbf\xff\x9a\xcd\xf1\xfb\xdb\xb8\xfe\x7e\xf3\x2d\x0a\xf7\xb7\x99\x41\x3e\x30\x4e\xc8\xfb\x04\x5f\x03\x00\x00\xff\xff\x23\x45\xa5\x20\xdc\x05\x00\x00"
+
+func utilityViewresolverCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_utilityViewresolverCdc,
+		"utility/ViewResolver.cdc",
+	)
+}
+
+func utilityViewresolverCdc() (*asset, error) {
+	bytes, err := utilityViewresolverCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "utility/ViewResolver.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa4, 0x5e, 0xb0, 0x8a, 0xf6, 0x84, 0xb2, 0x21, 0xb7, 0x9a, 0x85, 0x36, 0xc5, 0x6b, 0x16, 0xb, 0xff, 0x85, 0xa5, 0x51, 0xfa, 0x5c, 0x5, 0xa5, 0x2e, 0x72, 0x51, 0x6c, 0x34, 0xcc, 0x79, 0xcb}}
+	return a, nil
+}
+
 // Asset loads and returns the asset for the given name.
 // It returns an error if the asset could not be found or
 // could not be loaded.
@@ -328,14 +412,18 @@ func AssetNames() []string {
 
 // _bindata is a table, holding each asset generator, mapped to its name.
 var _bindata = map[string]func() (*asset, error){
+	"ExampleToken-v2.cdc":                  exampletokenV2Cdc,
 	"ExampleToken.cdc":                     exampletokenCdc,
+	"FungibleToken-v2.cdc":                 fungibletokenV2Cdc,
 	"FungibleToken.cdc":                    fungibletokenCdc,
 	"FungibleTokenMetadataViews.cdc":       fungibletokenmetadataviewsCdc,
 	"FungibleTokenSwitchboard.cdc":         fungibletokenswitchboardCdc,
+	"MultipleVaults.cdc":                   multiplevaultsCdc,
 	"utility/MetadataViews.cdc":            utilityMetadataviewsCdc,
 	"utility/NonFungibleToken.cdc":         utilityNonfungibletokenCdc,
 	"utility/PrivateReceiverForwarder.cdc": utilityPrivatereceiverforwarderCdc,
 	"utility/TokenForwarding.cdc":          utilityTokenforwardingCdc,
+	"utility/ViewResolver.cdc":             utilityViewresolverCdc,
 }
 
 // AssetDebug is true if the assets were built with the debug flag enabled.
@@ -382,15 +470,19 @@ type bintree struct {
 }
 
 var _bintree = &bintree{nil, map[string]*bintree{
+	"ExampleToken-v2.cdc": {exampletokenV2Cdc, map[string]*bintree{}},
 	"ExampleToken.cdc": {exampletokenCdc, map[string]*bintree{}},
+	"FungibleToken-v2.cdc": {fungibletokenV2Cdc, map[string]*bintree{}},
 	"FungibleToken.cdc": {fungibletokenCdc, map[string]*bintree{}},
 	"FungibleTokenMetadataViews.cdc": {fungibletokenmetadataviewsCdc, map[string]*bintree{}},
 	"FungibleTokenSwitchboard.cdc": {fungibletokenswitchboardCdc, map[string]*bintree{}},
+	"MultipleVaults.cdc": {multiplevaultsCdc, map[string]*bintree{}},
 	"utility": {nil, map[string]*bintree{
 		"MetadataViews.cdc": {utilityMetadataviewsCdc, map[string]*bintree{}},
 		"NonFungibleToken.cdc": {utilityNonfungibletokenCdc, map[string]*bintree{}},
 		"PrivateReceiverForwarder.cdc": {utilityPrivatereceiverforwarderCdc, map[string]*bintree{}},
 		"TokenForwarding.cdc": {utilityTokenforwardingCdc, map[string]*bintree{}},
+		"ViewResolver.cdc": {utilityViewresolverCdc, map[string]*bintree{}},
 	}},
 }}
 
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index edab614c..7f401d7b 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -9,16 +9,13 @@ require (
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
 	github.com/onflow/flow-go-sdk v0.41.6
 	github.com/onflow/flow-nft/lib/go/contracts v1.1.0
+	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
 
 require (
-	github.com/Microsoft/go-winio v0.4.16 // indirect
-	github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 // indirect
-	github.com/acomagu/bufpipe v1.0.3 // indirect
 	github.com/beorn7/perks v1.0.1 // indirect
 	github.com/bits-and-blooms/bitset v1.5.0 // indirect
-	github.com/btcsuite/btcd v0.22.1 // indirect
 	github.com/btcsuite/btcd/btcec/v2 v2.2.1 // indirect
 	github.com/cenkalti/backoff/v4 v4.2.0 // indirect
 	github.com/cespare/xxhash v1.1.0 // indirect
@@ -32,15 +29,11 @@ require (
 	github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
 	github.com/dustin/go-humanize v1.0.1 // indirect
 	github.com/ef-ds/deque v1.0.4 // indirect
-	github.com/emirpasic/gods v1.12.0 // indirect
 	github.com/ethereum/go-ethereum v1.10.22 // indirect
 	github.com/fsnotify/fsnotify v1.6.0 // indirect
 	github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c // indirect
 	github.com/fxamacker/circlehash v0.3.0 // indirect
 	github.com/glebarez/go-sqlite v1.21.1 // indirect
-	github.com/go-git/gcfg v1.5.0 // indirect
-	github.com/go-git/go-billy/v5 v5.3.1 // indirect
-	github.com/go-git/go-git/v5 v5.4.2 // indirect
 	github.com/go-logr/logr v1.2.3 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
 	github.com/go-redis/redis/v8 v8.11.5 // indirect
@@ -55,7 +48,6 @@ require (
 	github.com/hashicorp/go-multierror v1.1.1 // indirect
 	github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect
 	github.com/hashicorp/hcl v1.0.0 // indirect
-	github.com/imdario/mergo v0.3.12 // indirect
 	github.com/inconshreveable/mousetrap v1.1.0 // indirect
 	github.com/ipfs/bbloom v0.0.4 // indirect
 	github.com/ipfs/go-block-format v0.0.3 // indirect
@@ -68,10 +60,8 @@ require (
 	github.com/ipfs/go-log v1.0.5 // indirect
 	github.com/ipfs/go-log/v2 v2.5.1 // indirect
 	github.com/ipfs/go-metrics-interface v0.0.1 // indirect
-	github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
 	github.com/jbenet/goprocess v0.1.4 // indirect
 	github.com/kevinburke/go-bindata v3.23.0+incompatible // indirect
-	github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect
 	github.com/klauspost/compress v1.15.15 // indirect
 	github.com/klauspost/cpuid/v2 v2.2.4 // indirect
 	github.com/libp2p/go-buffer-pool v0.1.0 // indirect
@@ -85,7 +75,6 @@ require (
 	github.com/mattn/go-pointer v0.0.1 // indirect
 	github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
 	github.com/minio/sha256-simd v1.0.0 // indirect
-	github.com/mitchellh/go-homedir v1.1.0 // indirect
 	github.com/mitchellh/mapstructure v1.5.0 // indirect
 	github.com/mr-tron/base58 v1.2.0 // indirect
 	github.com/multiformats/go-base32 v0.1.0 // indirect
@@ -106,7 +95,6 @@ require (
 	github.com/onflow/sdks v0.5.0 // indirect
 	github.com/opentracing/opentracing-go v1.2.0 // indirect
 	github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
-	github.com/pelletier/go-toml v1.9.5 // indirect
 	github.com/pelletier/go-toml/v2 v2.0.6 // indirect
 	github.com/pierrec/lz4 v2.6.1+incompatible // indirect
 	github.com/pkg/errors v0.9.1 // indirect
@@ -119,8 +107,6 @@ require (
 	github.com/psiemens/sconfig v0.1.0 // indirect
 	github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
 	github.com/rivo/uniseg v0.4.4 // indirect
-	github.com/rs/zerolog v1.29.0 // indirect
-	github.com/sergi/go-diff v1.1.0 // indirect
 	github.com/sethvargo/go-retry v0.2.3 // indirect
 	github.com/slok/go-http-metrics v0.10.0 // indirect
 	github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect
@@ -138,7 +124,6 @@ require (
 	github.com/vmihailenco/msgpack/v4 v4.3.11 // indirect
 	github.com/vmihailenco/tagparser v0.1.1 // indirect
 	github.com/x448/float16 v0.8.4 // indirect
-	github.com/xanzy/ssh-agent v0.3.0 // indirect
 	github.com/zeebo/blake3 v0.2.3 // indirect
 	go.opentelemetry.io/otel v1.14.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 // indirect
@@ -162,8 +147,6 @@ require (
 	google.golang.org/grpc v1.56.1 // indirect
 	google.golang.org/protobuf v1.30.0 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
-	gopkg.in/warnings.v0 v0.1.2 // indirect
-	gopkg.in/yaml.v2 v2.4.0 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 	lukechampine.com/blake3 v1.1.7 // indirect
 	modernc.org/libc v1.22.3 // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index fac97706..80e7b938 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -27,20 +27,14 @@ cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aD
 cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
 cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
 cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
-cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y=
 cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
 cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
 cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
 cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
 cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
 cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
-cloud.google.com/go/compute v1.6.1 h1:2sMmt8prCn7DPaG4Pmh0N3Inmc8cT8ae5k1M6VJ9Wqc=
-cloud.google.com/go/compute v1.19.1 h1:am86mquDUgjGNWxiGn+5PGLbmgiWXlE/yNWpIpNvuXY=
 cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
 cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
-cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
-cloud.google.com/go/iam v0.3.0 h1:exkAomrVUuzx9kWFI1wm3KI0uoDeUFPB4kKGzx6x+Gc=
-cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k=
 cloud.google.com/go/kms v1.0.0/go.mod h1:nhUehi+w7zht2XrUfvTRNpxrfayBHqP4lu2NSywui/0=
 cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
 cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
@@ -52,7 +46,6 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
 cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
 cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
 cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
-cloud.google.com/go/storage v1.22.1 h1:F6IlQJZrZM++apn9V5/VfS3gbTUYg98PS3EMQAzqtfg=
 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
 github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4=
 github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc=
@@ -69,60 +62,31 @@ github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6L
 github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
-github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
-github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
 github.com/OneOfOne/xxhash v1.2.5 h1:zl/OfRA6nftbBK9qTohYBJ5xvw6C/oNKizR7cZGl3cI=
 github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q=
-github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ=
-github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo=
 github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
 github.com/VictoriaMetrics/fastcache v1.5.3/go.mod h1:+jv9Ckb+za/P1ZRg/sulP5Ni1v49daAVERr0H3CuscE=
-github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk=
-github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4=
 github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
 github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
 github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
 github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM=
-github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
-github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
 github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
 github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ=
-github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
 github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
-github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
-github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
-github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
-github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
-github.com/aws/aws-sdk-go-v2 v1.9.0 h1:+S+dSqQCN3MSU5vJRu1HqHrq00cJn6heIMU7X9hcsoo=
-github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.5.1 h1:VGkV9KmhGqOQWnHyi4gLG98kE6OecT42fdrCGFWxJsc=
-github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.3.0 h1:gceOysEWNNwLd6cki65IMBZ4WAM0MwgBQq2n7kejoT8=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.0 h1:VNJ5NLBteVXEwE2F1zEXVmyIH58mZ6kIQGJoC7C+vkg=
-github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.7.0 h1:HWsM0YQWX76V6MOp07YuTYacm8k7h69ObJuw7Nck+og=
-github.com/aws/aws-sdk-go-v2/service/s3 v1.15.0 h1:nPLfLPfglacc29Y949sDxpr3X/blaY40s3B85WT2yZU=
-github.com/aws/smithy-go v1.8.0 h1:AEwwwXQZtUwP5Mz506FeXXrKBe0jA8gVM+1gEcSRooc=
 github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
+github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
-github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
-github.com/bits-and-blooms/bitset v1.3.0 h1:h7mv5q31cthBTd7V4kLAZaIThj1e8vPGcSqpPue9KVI=
-github.com/bits-and-blooms/bitset v1.3.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
 github.com/bits-and-blooms/bitset v1.5.0 h1:NpE8frKRLGHIcEzkR+gZhiioW1+WbYV6fKwD6ZIpQT8=
 github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
-github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
 github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ=
 github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ=
-github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c=
-github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y=
 github.com/btcsuite/btcd/btcec/v2 v2.2.1 h1:xP60mv8fvp+0khmrN0zTdPC3cNm24rfeE6lh2R/Yv3E=
 github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8=
-github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U=
 github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
 github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
 github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
@@ -132,8 +96,6 @@ github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtE
 github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
 github.com/bytecodealliance/wasmtime-go v0.22.0/go.mod h1:q320gUxqyI8yB+ZqRuaJOEnGkAnHh6WtJjMaT2CW4wI=
 github.com/c-bata/go-prompt v0.2.5/go.mod h1:vFnjEGDIIA/Lib7giyE4E9c50Lvl8j0S+7FVlAwDAVw=
-github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4=
-github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
 github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4=
 github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -142,7 +104,6 @@ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
 github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
 github.com/cespare/xxhash/v2 v2.0.1-0.20190104013014-3767db7a7e18/go.mod h1:HD5P3vAIAh+Y2GAxg0PrPN1P8WkepXGpjbUPDHJqqKM=
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
 github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
 github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ=
@@ -158,36 +119,29 @@ github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XP
 github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
 github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
-github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
 github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
 github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
-github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
 github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
-github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
 github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
 github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0=
-github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4=
 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc=
 github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o=
 github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk=
-github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de h1:t0UHb5vdojIDUqktM6+xJAfScFBsVpXZmqC9dsgJmeA=
 github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
 github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI=
 github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug=
@@ -198,7 +152,6 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/r
 github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
 github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
 github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
 github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
@@ -206,8 +159,6 @@ github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt
 github.com/ef-ds/deque v1.0.4 h1:iFAZNmveMT9WERAkqLJ+oaABF9AcVQ5AjXem/hroniI=
 github.com/ef-ds/deque v1.0.4/go.mod h1:gXDnTC3yqvBcHbq2lcExjtAcVrOnJCbMcZXmuj8Z4tg=
 github.com/elastic/gosigar v0.8.1-0.20180330100440-37f05ff46ffa/go.mod h1:cdorVVzy1fhmEqmtgqkoE3bYtCfSCkVyjTyCIo22xvs=
-github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
-github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
 github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -216,26 +167,18 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m
 github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
 github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
 github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
-github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/ethereum/go-ethereum v1.9.9/go.mod h1:a9TqabFudpDu1nucId+k9S8R9whYaHnGBLKFouA5EAo=
 github.com/ethereum/go-ethereum v1.10.22 h1:HbEgsDo1YTGIf4KB/NNpn+XH+PiNJXUZ9ksRxiqWyMc=
 github.com/ethereum/go-ethereum v1.10.22/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg=
 github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
-github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
-github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
 github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
 github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI=
-github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
 github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
 github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
-github.com/fxamacker/cbor/v2 v2.2.1-0.20201006223149-25f67fca9803/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
 github.com/fxamacker/cbor/v2 v2.2.1-0.20210927235116-3d6d5d1de29b/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
-github.com/fxamacker/cbor/v2 v2.4.1-0.20220515183430-ad2eae63303f h1:dxTR4AaxCwuQv9LAVTAC2r1szlS+epeuPT5ClLKT6ZY=
-github.com/fxamacker/cbor/v2 v2.4.1-0.20220515183430-ad2eae63303f/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
 github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c h1:5tm/Wbs9d9r+qZaUFXk59CWDD0+77PBqDREffYkyi5c=
 github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
 github.com/fxamacker/circlehash v0.1.0/go.mod h1:3aq3OfVvsWtkWMb6A1owjOQFA+TLsD5FgJflnaQwtMM=
@@ -245,26 +188,15 @@ github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/glebarez/go-sqlite v1.21.1 h1:7MZyUPh2XTrHS7xNEHQbrhfMZuPSzhkm2A1qgg0y5NY=
 github.com/glebarez/go-sqlite v1.21.1/go.mod h1:ISs8MF6yk5cL4n/43rSOmVMGJJjHYr7L2MbZZ5Q4E2E=
-github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0=
-github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
-github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
-github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
-github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
-github.com/go-git/go-billy/v5 v5.3.1 h1:CPiOUAzKtMRvolEKw+bG1PLRpT7D3LIs3/3ey4Aiu34=
-github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
-github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2SubfXjIWgci8=
-github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0=
-github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4=
-github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc=
 github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
 github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo=
+github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4=
+github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU=
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
-github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0=
 github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@@ -275,8 +207,6 @@ github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC
 github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/go-test/deep v1.0.5/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
-github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
-github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
 github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg=
 github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
@@ -286,7 +216,6 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
 github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ=
 github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
 github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
 github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
@@ -294,7 +223,6 @@ github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4er
 github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
 github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
 github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
 github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
@@ -322,7 +250,6 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
 github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
 github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
 github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
-github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
 github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
 github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
 github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
@@ -344,7 +271,7 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
+github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
 github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
 github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
 github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -364,6 +291,7 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe
 github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
 github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
 github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20221219190121-3cb0bae90811 h1:wORs2YN3R3ona/CXYuTvLM31QlgoNKHvlCNuArCDDCU=
 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -373,41 +301,24 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+
 github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
 github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
 github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
-github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk=
-github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA=
 github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
-github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
-github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
 github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
 github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
-github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 h1:BZHcxBETFHIdVyhyEfOvn/RdU/QGdLI4y34qQGjGWO0=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
 github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU=
 github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48=
-github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
-github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
 github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
 github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
-github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
-github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
-github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
-github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
 github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
 github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
-github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
-github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
-github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
-github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
-github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
-github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
 github.com/hashicorp/golang-lru v0.0.0-20160813221303-0a025b7e63ad/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
@@ -416,17 +327,10 @@ github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuW
 github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
 github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
-github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
-github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
-github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
-github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/huin/goupnp v0.0.0-20161224104101-679507af18f3/go.mod h1:MZ2ZmwcBpvOoJ22IJsc7va19ZwoheaBk43rKg12SKag=
 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
-github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
-github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
-github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
 github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
@@ -440,14 +344,12 @@ github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUP
 github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=
 github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog=
 github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I=
-github.com/ipfs/go-cid v0.2.0 h1:01JTiihFq9en9Vz0lc0VDWvZe/uBonGpzo4THP0vcQ0=
-github.com/ipfs/go-cid v0.2.0/go.mod h1:P+HXFDF4CVhaVayiEb4wkAy7zBHxBwsJyt0Y5U6MLro=
 github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc=
 github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw=
 github.com/ipfs/go-datastore v0.5.0/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk=
-github.com/ipfs/go-datastore v0.5.1 h1:WkRhLuISI+XPD0uk3OskB0fYFSyqK8Ob5ZYew9Qa1nQ=
 github.com/ipfs/go-datastore v0.6.0 h1:JKyz+Gvz1QEZw0LsX1IBn+JFCJQH4SJVFtM4uWU0Myk=
 github.com/ipfs/go-datastore v0.6.0/go.mod h1:rt5M3nNbSO/8q1t4LNkLyUwRs8HupMeN/8O4Vn9YAT8=
+github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk=
 github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps=
 github.com/ipfs/go-ipfs-blockstore v1.2.0 h1:n3WTeJ4LdICWs/0VSfjHrlqpPpl6MZ+ySd3j8qz0ykw=
 github.com/ipfs/go-ipfs-blockstore v1.2.0/go.mod h1:eh8eTFLiINYNSNawfZOC7HOxNTxpB1PFuA5E1m/7exE=
@@ -469,46 +371,31 @@ github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fG
 github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY=
 github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
 github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA=
-github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
-github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
 github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o=
 github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4=
 github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
-github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
-github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
-github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
 github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
-github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
-github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
 github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
 github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/k0kubun/go-ansi v0.0.0-20180517002512-3bf9e2903213/go.mod h1:vNUNkEQ1e29fT/6vq2aBdFsgNPmy8qMdSay1npru+Sw=
 github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
 github.com/kevinburke/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
 github.com/kevinburke/go-bindata v3.23.0+incompatible h1:rqNOXZlqrYhMVVAsQx8wuc+LaA73YcfbQ407wAykyS8=
 github.com/kevinburke/go-bindata v3.23.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
-github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck=
-github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
 github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
 github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
 github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
 github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
-github.com/klauspost/compress v1.15.1 h1:y9FcTHGyrebwfP0ZZqFiaxTaiDnUrGkJkI+f583BL1A=
-github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
 github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw=
 github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4=
 github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
 github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
 github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
-github.com/klauspost/cpuid/v2 v2.1.0 h1:eyi1Ad2aNJMW95zcSbmGg7Cg6cq3ADwLpMAP96d8rF0=
-github.com/klauspost/cpuid/v2 v2.1.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk=
 github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -516,18 +403,14 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
 github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
-github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
 github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
 github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
 github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
-github.com/libp2p/go-libp2p v0.22.0 h1:2Tce0kHOp5zASFKJbNzRElvh0iZwdtG5uZheNW8chIw=
-github.com/libp2p/go-libp2p v0.22.0/go.mod h1:UDolmweypBSjQb2f7xutPnwZ/fxioLbMBxSjRksxxU4=
 github.com/libp2p/go-libp2p v0.24.2 h1:iMViPIcLY0D6zr/f+1Yq9EavCZu2i7eDstsr1nEwSAk=
 github.com/libp2p/go-libp2p v0.24.2/go.mod h1:WuxtL2V8yGjam03D93ZBC19tvOUiPpewYv1xdFGWu1k=
 github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+Ooo=
@@ -537,16 +420,9 @@ github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczG
 github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
 github.com/logrusorgru/aurora/v4 v4.0.0 h1:sRjfPpun/63iADiSvGGjgA1cAYegEWMPCJdUpJYn9JA=
 github.com/logrusorgru/aurora/v4 v4.0.0/go.mod h1:lP0iIa2nrnT/qoFXcOZSrZQpJ1o6n2CUf/hyHi2Q4ZQ=
-github.com/m4ksio/wal v1.0.0 h1:PucHOZPz58BgWowe+Gf+gZUbgEdd4zFx+He45SGkHG0=
 github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
-github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
-github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
-github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
 github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
 github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
-github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A=
-github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA=
-github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
 github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
 github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
 github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
@@ -556,14 +432,12 @@ github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxec
 github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
 github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
 github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
-github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
 github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
 github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
 github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
 github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
 github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
 github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
-github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
 github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98=
 github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
@@ -573,57 +447,39 @@ github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp
 github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
-github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
 github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
 github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0=
-github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
-github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
 github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
 github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U=
 github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM=
 github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g=
 github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM=
-github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
+github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ=
 github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw=
-github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
 github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
-github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
-github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
-github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
 github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
 github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
 github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
 github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
 github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
 github.com/multiformats/go-base32 v0.0.3/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA=
-github.com/multiformats/go-base32 v0.0.4 h1:+qMh4a2f37b4xTNs6mqitDinryCI+tfO2dRVMN9mjSE=
-github.com/multiformats/go-base32 v0.0.4/go.mod h1:jNLFzjPZtp3aIARHbJRZIaPuspdH0J6q39uUM5pnABM=
 github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE=
 github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI=
-github.com/multiformats/go-base36 v0.1.0 h1:JR6TyF7JjGd3m6FbLU2cOxhC0Li8z8dLNGQ89tUg4F4=
 github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoRdUUOENyW/Vv6sM=
 github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0=
 github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4=
-github.com/multiformats/go-multiaddr v0.6.0 h1:qMnoOPj2s8xxPU5kZ57Cqdr0hHhARz7mFsPMIiYNqzg=
-github.com/multiformats/go-multiaddr v0.6.0/go.mod h1:F4IpaKZuPP360tOMn2Tpyu0At8w23aRyVqeK0DbFeGM=
 github.com/multiformats/go-multiaddr v0.8.0 h1:aqjksEcqK+iD/Foe1RRFsGZh8+XFiGo7FgUCZlpv3LU=
 github.com/multiformats/go-multiaddr v0.8.0/go.mod h1:Fs50eBDWvZu+l3/9S6xAE7ZYj6yhxlvaVZjakWN7xRs=
 github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs=
 github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc=
 github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyDW27ztsVTOI=
 github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8=
-github.com/multiformats/go-multicodec v0.5.0 h1:EgU6cBe/D7WRwQb1KmnBvU7lrcFGMggZVTPtOW9dDHs=
-github.com/multiformats/go-multicodec v0.5.0/go.mod h1:DiY2HFaEp5EhEXb/iYzVAunmyX/aSFMxq2KMKfWEues=
 github.com/multiformats/go-multicodec v0.7.0 h1:rTUjGOwjlhGHbEMbPoSUJowG1spZTVsITRANCjKTUAQ=
 github.com/multiformats/go-multicodec v0.7.0/go.mod h1:GUC8upxSBE4oG+q3kWZRw/+6yC1BqO550bjhWsJbZlw=
 github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U=
@@ -632,91 +488,60 @@ github.com/multiformats/go-multihash v0.0.14/go.mod h1:VdAWLKTwram9oKAatUcLxBNUj
 github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108=
 github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc=
 github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
-github.com/multiformats/go-varint v0.0.6 h1:gk85QWKxh3TazbLxED/NlDVv8+q+ReFJk7Y2W/KhfNY=
-github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
 github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
 github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
 github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
-github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
+github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/onflow/atree v0.1.0-beta1.0.20211027184039-559ee654ece9/go.mod h1:+6x071HgCF/0v5hQcaE5qqjc2UqN5gCU8h5Mk6uqpOg=
-github.com/onflow/atree v0.4.0 h1:+TbNisavAkukAKhgQ4plWnvR9o5+SkwPIsi3jaeAqKs=
-github.com/onflow/atree v0.4.0/go.mod h1:7Qe1xaW0YewvouLXrugzMFUYXNoRQ8MT/UsVAWx1Ndo=
 github.com/onflow/atree v0.6.0 h1:j7nQ2r8npznx4NX39zPpBYHmdy45f4xwoi+dm37Jk7c=
 github.com/onflow/atree v0.6.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVFi0tc=
-github.com/onflow/cadence v0.15.0/go.mod h1:KMzDF6cIv6nb5PJW9aITaqazbmJX8MMeibFcpPP385M=
 github.com/onflow/cadence v0.20.1/go.mod h1:7mzUvPZUIJztIbr9eTvs+fQjWWHTF8veC+yk4ihcNIA=
-github.com/onflow/cadence v0.28.0 h1:18A1V9xqGewibEhuzqBNEoNvqG6OwVqHg7gKu3UliaM=
-github.com/onflow/cadence v0.28.0/go.mod h1:h+SbY8RNl6Q6sT6l/2cvpUZUJNCbzJya+3Bkwe/0YwY=
 github.com/onflow/cadence v0.39.12 h1:bb3UdOe7nClUcaLbxSWGLSIJKuCrivpgxhPow99ikv0=
 github.com/onflow/cadence v0.39.12/go.mod h1:OIJLyVBPa339DCBQXBfGaorT4tBjQh9gSKe+ZAIyyh0=
-github.com/onflow/flow-core-contracts/lib/go/contracts v0.11.2-0.20220720151516-797b149ceaaa h1:hcEp3INfkLh9jFODC9PHPQeisAd9rterujabee9il8w=
-github.com/onflow/flow-core-contracts/lib/go/contracts v0.11.2-0.20220720151516-797b149ceaaa/go.mod h1:T6yhM+kWrFxiP6F3hh8lh9DcocHfmv48P4ITnjLhKSk=
 github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230703193002-53362441b57d h1:B7PdhdUNkve5MVrekWDuQf84XsGBxNZ/D3x+QQ8XeVs=
 github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230703193002-53362441b57d/go.mod h1:xAiV/7TKhw863r6iO3CS5RnQ4F+pBY1TxD272BsILlo=
-github.com/onflow/flow-core-contracts/lib/go/templates v0.11.2-0.20220720151516-797b149ceaaa h1:0brc9iDezo2Gc7yH3p7+La1iFe4WRDg6HYT6llyP8+E=
-github.com/onflow/flow-core-contracts/lib/go/templates v0.11.2-0.20220720151516-797b149ceaaa/go.mod h1:JB2hWVxUjhMshUDNVQKfn4dzhhawOO+i3XjlhLMV5MM=
 github.com/onflow/flow-core-contracts/lib/go/templates v1.2.3 h1:X25A1dNajNUtE+KoV76wQ6BR6qI7G65vuuRXxDDqX7E=
 github.com/onflow/flow-core-contracts/lib/go/templates v1.2.3/go.mod h1:dqAUVWwg+NlOhsuBHex7bEWmsUjsiExzhe/+t4xNH6A=
-github.com/onflow/flow-emulator v0.38.1 h1:ZfkbhCe2TA4tiZTuhGjuuzUCg+9Z4VWzh40dCtykSZk=
-github.com/onflow/flow-emulator v0.38.1/go.mod h1:EK8PWAwcCV5eEP1V1f0ummHW2QZSbeGmb42+SztmE2U=
 github.com/onflow/flow-emulator v0.51.2-0.20230704183611-ecad54e231b7 h1:UFcuL4WO1h41vTL6MVBNA6JSeCDrxgHXv2R7617ukeQ=
 github.com/onflow/flow-emulator v0.51.2-0.20230704183611-ecad54e231b7/go.mod h1:lwMNonHdLvfTF+YIU3yjz9huy/KSjqu+5exZ/TT7Hvc=
-github.com/onflow/flow-go v0.26.14-test-synchronization.0.20221012204608-ed91c80fee2b h1:QIEm7fAG1RjtJFof4p966IS34CpdDRqOyboFnc0hkIE=
-github.com/onflow/flow-go v0.26.14-test-synchronization.0.20221012204608-ed91c80fee2b/go.mod h1:WmDshMvR2IEQa4NOaz+edoSIR25b9zC22NuB64efvcM=
 github.com/onflow/flow-go v0.31.1-0.20230704154018-87a84e9d36c2 h1:PxqNnAgtsqPLPVbNzPLOMb4LR8p8FFgHeRqjV5QfF4g=
 github.com/onflow/flow-go v0.31.1-0.20230704154018-87a84e9d36c2/go.mod h1:ptH2kC9JMqhZYkLWeGt3cAZblwuURRApTxHD/AvZI3k=
-github.com/onflow/flow-go-sdk v0.20.0/go.mod h1:52QZyLwU3p3UZ2FXOy+sRl4JPdtvJoae1spIUBOFxA8=
 github.com/onflow/flow-go-sdk v0.24.0/go.mod h1:IoptMLPyFXWvyd9yYA6/4EmSeeozl6nJoIv4FaEMg74=
-github.com/onflow/flow-go-sdk v0.29.0 h1:dTQvTZkHsHMU3eEnHaE8JE2SOPeAIYx5CgTul5MgDYE=
-github.com/onflow/flow-go-sdk v0.29.0/go.mod h1:58y6+IddssbrUnrCdYXJuAh64cMHvxy+InUfBA3e8v0=
 github.com/onflow/flow-go-sdk v0.41.6 h1:x5HhmRDvbCWXRCzHITJxOp0Komq5JJ9zphoR2u6NOCg=
 github.com/onflow/flow-go-sdk v0.41.6/go.mod h1:AYypQvn6ecMONhF3M1vBOUX9b4oHKFWkkrw8bO4VEik=
-github.com/onflow/flow-go/crypto v0.12.0/go.mod h1:oXuvU0Dr4lHKgye6nHEFbBXIWNv+dBQUzoVW5Go38+o=
 github.com/onflow/flow-go/crypto v0.21.3/go.mod h1:vI6V4CY3R6c4JKBxdcRiR/AnjBfL8OSD97bJc60cLuQ=
-github.com/onflow/flow-go/crypto v0.24.4 h1:SwEtoVS2TidCIHYCZMgQ7U2YsqhI9upnw94fhdHTubM=
-github.com/onflow/flow-go/crypto v0.24.4/go.mod h1:dkVL98P6GHR48iD9zCB6XlnkJX8IQd00FKgt1reV90w=
 github.com/onflow/flow-go/crypto v0.24.7 h1:RCLuB83At4z5wkAyUCF7MYEnPoIIOHghJaODuJyEoW0=
 github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
-github.com/onflow/flow-nft/lib/go/contracts v1.0.1-0.20221115202801-85e14677ad61 h1:5UYgzYUmonhv9kwxXRwZYRLEUjPzK1mg1/VZmhD/w18=
-github.com/onflow/flow-nft/lib/go/contracts v1.0.1-0.20221115202801-85e14677ad61/go.mod h1:YsvzYng4htDgRB9sa9jxdwoTuuhjK8WYWXTyLkIigZY=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.0 h1:rhUDeD27jhLwOqQKI/23008CYfnqXErrJvc4EFRP2a0=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.0/go.mod h1:YsvzYng4htDgRB9sa9jxdwoTuuhjK8WYWXTyLkIigZY=
-github.com/onflow/flow/protobuf/go/flow v0.1.9/go.mod h1:kRugbzZjwQqvevJhrnnCFMJZNmoSJmxlKt6hTGXZojM=
 github.com/onflow/flow/protobuf/go/flow v0.2.2/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
-github.com/onflow/flow/protobuf/go/flow v0.3.1 h1:4I8ykG6naR3n8Or6eXrZDaGVaoztb3gP2KJ6XKyDufg=
-github.com/onflow/flow/protobuf/go/flow v0.3.1/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230602212908-08fc6536d391 h1:6uKg0gpLKpTZKMihrsFR0Gkq++1hykzfR1tQCKuOfw4=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230602212908-08fc6536d391/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/fusd/lib/go/contracts v0.0.0-20211021081023-ae9de8fb2c7e h1:RHaXPHvWCy3VM62+HTyu6DYq5T8rrK1gxxqogKuJ4S4=
 github.com/onflow/fusd/lib/go/contracts v0.0.0-20211021081023-ae9de8fb2c7e/go.mod h1:CRX9eXtc9zHaRVTW1Xh4Cf5pZgKkQuu1NuSEVyHXr/0=
 github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead h1:2j1Unqs76Z1b95Gu4C3Y28hzNUHBix7wL490e61SMSw=
 github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead/go.mod h1:E3ScfQb5XcWJCIAdtIeEnr5i5l2y60GT0BTXeIHseWg=
-github.com/onflow/sdks v0.4.4 h1:aJPGJJLAN+mlBWAQxsyuJXeRRMFeLwU6Mp4e/YL6bdU=
-github.com/onflow/sdks v0.4.4/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
 github.com/onflow/sdks v0.5.0 h1:2HCRibwqDaQ1c9oUApnkZtEAhWiNY2GTpRD5+ftdkN8=
 github.com/onflow/sdks v0.5.0/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
+github.com/onflow/wal v0.0.0-20230529184820-bc9f8244608d h1:gAEqYPn3DS83rHIKEpsajnppVD1+zwuYPFyeDVFaQvg=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
 github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
 github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
 github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
-github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
 github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0=
 github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y=
 github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34=
 github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
-github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
-github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
-github.com/pelletier/go-toml/v2 v2.0.2 h1:+jQXlF3scKIcSEKkdHzXhCTDLPFi5r1wnK6yPS+49Gw=
-github.com/pelletier/go-toml/v2 v2.0.2/go.mod h1:MovirKjgVRESsAvNZlAjtFwV867yGuwRkXbG66OzopI=
 github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU=
 github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek=
 github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0=
@@ -730,42 +555,33 @@ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qR
 github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
 github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
-github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk=
 github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=
 github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y=
 github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
 github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4=
 github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
 github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
 github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
-github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE=
 github.com/prometheus/common v0.39.0 h1:oOyhkDq05hPZKItWVBkJ6g6AtGxi+fy7F4JvUV8uhsI=
 github.com/prometheus/common v0.39.0/go.mod h1:6XBZ7lYdLCbkAVhwRsWTZn+IN5AB9F/NXd5w0BbEX0Y=
 github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
-github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo=
 github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI=
 github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY=
 github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
 github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
 github.com/psiemens/graceland v1.0.0 h1:L580AVV4Q2XLcPpmvxJRH9UpEAYr/eu2jBKmMglhvM8=
 github.com/psiemens/graceland v1.0.0/go.mod h1:1Tof+vt1LbmcZFE0lzgdwMN0QBymAChG3FRgDx8XisU=
-github.com/psiemens/sconfig v0.0.0-20190623041652-6e01eb1354fc/go.mod h1:+MLKqdledP/8G3rOBpknbLh0IclCf4WneJUtS26JB2U=
 github.com/psiemens/sconfig v0.1.0 h1:xfWqW+TRpih7mXZIqKYTmpRhlZLQ1kbxV8EjllPv76s=
 github.com/psiemens/sconfig v0.1.0/go.mod h1:+MLKqdledP/8G3rOBpknbLh0IclCf4WneJUtS26JB2U=
 github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
-github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
-github.com/rivo/uniseg v0.2.1-0.20211004051800-57c86be7915a h1:s7GrsqeorVkFR1vGmQ6WVL9nup0eyQCC+YVUeSQLH/Q=
-github.com/rivo/uniseg v0.2.1-0.20211004051800-57c86be7915a/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
 github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
 github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho=
@@ -776,33 +592,22 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
 github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
 github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
 github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ=
-github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
 github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
-github.com/rs/zerolog v1.26.1 h1:/ihwxqH+4z8UxyI70wM1z9yCvkWcfz/a3mj48k/Zngc=
-github.com/rs/zerolog v1.26.1/go.mod h1:/wSSJWX7lVrsOwlbyTRSOJvqRlc+WjWlfes+CiJ+tmc=
 github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w=
 github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0=
 github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
-github.com/schollz/progressbar/v3 v3.7.6/go.mod h1:Y9mmL2knZj3LUaBDyBEzFdPrymIr08hnlFMZmfxwbx4=
 github.com/schollz/progressbar/v3 v3.8.3/go.mod h1:pWnVCjSBZsT2X3nx9HfRdnCDrpbevliMeoEVhStwHko=
-github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
-github.com/segmentio/fasthash v1.0.2/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY=
-github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
-github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
+github.com/schollz/progressbar/v3 v3.13.1 h1:o8rySDYiQ59Mwzy2FELeHY5ZARXZTVJC7iHD6PEFUiE=
 github.com/sethvargo/go-retry v0.2.3 h1:oYlgvIvsju3jNbottWABtbnoLC+GDtLdBHxKWxQm/iU=
 github.com/sethvargo/go-retry v0.2.3/go.mod h1:1afjQuvh7s4gflMObvjLPaWgluLLyhA1wmVZ6KLpICw=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
-github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
 github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
 github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
 github.com/slok/go-http-metrics v0.10.0 h1:rh0LaYEKza5eaYRGDXujKrOln57nHBi4TtVhmNEpbgM=
 github.com/slok/go-http-metrics v0.10.0/go.mod h1:lFqdaS4kWMfUKCSukjC47PdCeTk+hXDUVm8kLHRqJ38=
-github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
-github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
 github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
 github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU=
 github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc=
@@ -811,17 +616,12 @@ github.com/spaolacci/murmur3 v1.0.1-0.20190317074736-539464a789e9/go.mod h1:JwIa
 github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
 github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
-github.com/spf13/afero v1.9.0 h1:sFSLUHgxdnN32Qy38hK3QkYBFXZj9DKjVjCUCtD7juY=
-github.com/spf13/afero v1.9.0/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
 github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk=
 github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
 github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
 github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
 github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
 github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
-github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo=
-github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU=
-github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM=
 github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
 github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
 github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
@@ -832,9 +632,6 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
 github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
 github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
-github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
-github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ=
-github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI=
 github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU=
 github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA=
 github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q=
@@ -842,8 +639,8 @@ github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8
 github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4=
 github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
 github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
@@ -852,19 +649,14 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
-github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
 github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
 github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
 github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
-github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
-github.com/subosito/gotenv v1.4.0 h1:yAzM1+SmVcz5R4tXGsNMu1jUl2aOJXoiWUCEwwnGrvs=
-github.com/subosito/gotenv v1.4.0/go.mod h1:mZd6rFysKEcUhUHXJk0C/08wAgyDBFuwEYL7vWWGaGo=
 github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
 github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
 github.com/supranational/blst v0.3.4/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
-github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344 h1:m+8fKfQwCAy1QjzINvKe/pYtLjo2dl59x2w9YSEJxuY=
+github.com/supranational/blst v0.3.10 h1:CMciDZ/h4pXDDXQASe8ZGTNKUiVNxVVA5hpci2Uuhuk=
 github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d/go.mod h1:9OrXJhf154huy1nPWmuSrkgjPUtUNhA+Zmy+6AESzuA=
 github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c h1:HelZ2kAFadG0La9d+4htN4HzQ68Bm2iM9qKMSMES6xg=
 github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c/go.mod h1:JlzghshsemAMDGZLytTFY8C1JQxQPhnatWqNwUXjggo=
@@ -885,8 +677,6 @@ github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1
 github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees=
 github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
 github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
-github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
-github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
 github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
 github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -894,7 +684,6 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
-github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
 github.com/zeebo/assert v1.1.0 h1:hU1L1vLTHsnO8x8c9KAR5GmM5QscxHg5RNU5z5qbUWY=
 github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
 github.com/zeebo/blake3 v0.2.0/go.mod h1:G9pM4qQwjRzF1/v7+vabMj/c5mWpGZ2Wzo3Eb4z0pb4=
@@ -910,35 +699,20 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
-go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
-go.opentelemetry.io/otel v1.8.0 h1:zcvBFizPbpa1q7FehvFiHbQwGzmPILebO0tyqIR5Djg=
-go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM=
 go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM=
 go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
-go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.8.0 h1:ao8CJIShCaIbaMsGxy+jp2YHSudketpDgDRcbirov78=
-go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.8.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY=
 go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 h1:/fXHZHGvro6MVqV34fJzDhi7sHGpX3Ej/Qjmfn003ho=
 go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0/go.mod h1:UFG7EBMRdXyFstOwH028U0sVf+AvukSGhF0g8+dmNG8=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.8.0 h1:LrHL1A3KqIgAgi6mK7Q0aczmzU414AONAGT5xtnp+uo=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.8.0/go.mod h1:w8aZL87GMOvOBa2lU/JlVXE1q4chk/0FX+8ai4513bw=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0 h1:TKf2uAs2ueguzLaxOCBXNpHxfO/aC7PAdDsSH0IbeRQ=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0/go.mod h1:HrbCVv40OOLTABmOn1ZWty6CHXkU8DK/Urc43tHug70=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.8.0 h1:00hCSGLIxdYK/Z7r8GkaX0QIlfvgU3tmnLlQvcnix6U=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.8.0/go.mod h1:twhIvtDQW2sWP1O2cT1N8nkSBgKCRZv2z6COTTBrf8Q=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 h1:ap+y8RXX3Mu9apKVtOkM6WSFESLM8K3wNQyOU8sWHcc=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0/go.mod h1:5w41DY6S9gZrbjuq6Y+753e96WfPha5IcsOSZTtullM=
-go.opentelemetry.io/otel/sdk v1.8.0 h1:xwu69/fNuwbSHWe/0PGS888RmjWY181OmcXDQKu7ZQk=
-go.opentelemetry.io/otel/sdk v1.8.0/go.mod h1:uPSfc+yfDH2StDM/Rm35WE8gXSNdvCg023J6HeGNO0c=
 go.opentelemetry.io/otel/sdk v1.14.0 h1:PDCppFRDq8A1jL9v6KMI6dYesaq+DFcDZvjsoGvxGzY=
 go.opentelemetry.io/otel/sdk v1.14.0/go.mod h1:bwIC5TjrNG6QDCHNWvW4HLHtUQ4I+VQDsnjhvyZCALM=
-go.opentelemetry.io/otel/trace v1.8.0 h1:cSy0DF9eGI5WIfNwZ1q2iUyGj00tGzP24dE1lOlHrfY=
-go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4=
 go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyKcFq/M=
 go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
-go.opentelemetry.io/proto/otlp v0.18.0 h1:W5hyXNComRa23tGpKwG+FRAc4rfF6ZUg1JReK+QHS80=
-go.opentelemetry.io/proto/otlp v0.18.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
 go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw=
 go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
 go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
@@ -946,29 +720,24 @@ go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
 go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
 go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
-go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
 go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
 go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
-go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
+go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
 go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
 go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
 go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
-go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
 go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI=
 go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ=
 go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
 go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
 go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
-go.uber.org/zap v1.22.0 h1:Zcye5DUgBloQ9BaT4qc9BnjOFog5TvBSAGkJ3Nf70c0=
 go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
 go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
 golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
@@ -976,15 +745,9 @@ golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
-golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
-golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.0.0-20211215165025-cf75a172585e/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
-golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU=
-golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
 golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
 golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
 golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1028,13 +791,11 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.6.0-dev.0.20220818022119-ed83ed61efb9 h1:VtCrPQXM5Wo9l7XN64SjBMczl48j8mkP+2e3OhYlz+0=
+golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -1070,12 +831,8 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
-golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g=
-golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
 golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
 golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1094,8 +851,6 @@ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ
 golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
 golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
 golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE=
-golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -1107,14 +862,11 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
 golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1131,10 +883,8 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1153,7 +903,6 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1164,16 +913,13 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210223095934-7937bea0104d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -1181,26 +927,20 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210910150752-751e447fb3d0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
-golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
 golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY=
+golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1209,8 +949,6 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
-golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
 golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1225,7 +963,6 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
@@ -1238,7 +975,6 @@ golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtn
 golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
@@ -1279,14 +1015,11 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
-golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
+golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f h1:uF6paiQQebLeSXkrTqHqz0MXhXXS1KgF41eUdBNvxK0=
-golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
 gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
@@ -1310,7 +1043,6 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
 google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
 google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
 google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
-google.golang.org/api v0.31.0/go.mod h1:CL+9IBCa2WWU6gRuBWaKqGWLFFwbEUXkfeMkHLQWYWo=
 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
 google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
 google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
@@ -1325,7 +1057,6 @@ google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqiv
 google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
 google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
 google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E=
-google.golang.org/api v0.81.0 h1:o8WF5AvfidafWbFjsRyupxyEQJNUWxLZJCK5NXrxZZ8=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -1364,7 +1095,6 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc
 google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200831141814-d751682dd103/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
@@ -1397,8 +1127,6 @@ google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ6
 google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20211007155348-82e027067bd4/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I=
-google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
 google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
@@ -1428,9 +1156,6 @@ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD
 google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
 google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
 google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
-google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
-google.golang.org/grpc v1.46.2 h1:u+MLGgVf7vRdjEYZ8wDFhAVNmhkbJ5hmrA1LMWK1CAQ=
-google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
 google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ=
 google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
@@ -1447,42 +1172,31 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
-google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
 google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
-gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
-gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
-gopkg.in/ini.v1 v1.66.6 h1:LATuAqN/shcYAOkv3wl2L4rkaKqkcgTBQjOyYDvcPKI=
-gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
 gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c=
 gopkg.in/olebedev/go-duktape.v3 v3.0.0-20190213234257-ec84240a7772/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns=
 gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
 gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78=
+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
 gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0=
-gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
-gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
 gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
diff --git a/lib/go/test/token_test_helpers.go b/lib/go/test/token_test_helpers.go
index a4bcd4aa..287570ab 100644
--- a/lib/go/test/token_test_helpers.go
+++ b/lib/go/test/token_test_helpers.go
@@ -149,13 +149,16 @@ func DeployV2TokenContracts(
 	key []*flow.AccountKey,
 ) (
 	fungibleAddr flow.Address,
-	//tokenAddr flow.Address,
+	tokenAddr flow.Address,
 	//forwardingAddr flow.Address,
 ) {
 	var err error
 
+	// Deploy the ViewResolver contract
+	resolverAddress := deploy(t, b, "ViewResolver", nftcontracts.Resolver())
+
 	// Deploy the FungibleToken contract
-	fungibleTokenCode := contracts.FungibleTokenV2()
+	fungibleTokenCode := contracts.FungibleTokenV2(resolverAddress.String())
 	fungibleAddr, err = b.CreateAccount(
 		nil,
 		[]sdktemplates.Contract{
@@ -170,9 +173,21 @@ func DeployV2TokenContracts(
 	_, err = b.CommitBlock()
 	assert.NoError(t, err)
 
+	// Deploy the NonFungibleToken contract (required for Metadata Views)
+	NFTAddress := deploy(t, b, "NonFungibleToken", nftcontracts.NonFungibleToken(resolverAddress))
+
+	// Deploy the MetadataViews contract
+	metadataViewsAddr := deploy(t, b, "MetadataViews", nftcontracts.MetadataViews(fungibleAddr, NFTAddress, resolverAddress))
+
+	// Deploy the FTMetadataViews contract
+	ftMetadataViewsAddr := deploy(t, b, "FungibleTokenMetadataViews", contracts.FungibleTokenMetadataViews(fungibleAddr.String(), metadataViewsAddr.String(), resolverAddress.String()))
+
+	// Deploy the MultipleVaults contract interface
+	multipleVaultsAddress := deploy(t, b, "MultipleVaults", contracts.MultipleVaults(fungibleAddr.String()))
+
 	// Deploy the ExampleToken contract
-	exampleTokenCode := contracts.ExampleTokenV2(fungibleAddr.String())
-	_, err = b.CreateAccount(
+	exampleTokenCode := contracts.ExampleTokenV2(fungibleAddr.String(), metadataViewsAddr.String(), ftMetadataViewsAddr.String(), resolverAddress.String(), multipleVaultsAddress.String())
+	exampleTokenAddress, err := b.CreateAccount(
 		key,
 		[]sdktemplates.Contract{
 			{
@@ -202,5 +217,5 @@ func DeployV2TokenContracts(
 	// _, err = b.CommitBlock()
 	// assert.NoError(t, err)
 
-	return fungibleAddr //, nil, nil
+	return fungibleAddr, exampleTokenAddress //, nil
 }
diff --git a/lib/go/test/token_v2_test.go b/lib/go/test/token_v2_test.go
index 73d38c64..a9cbb2f5 100644
--- a/lib/go/test/token_v2_test.go
+++ b/lib/go/test/token_v2_test.go
@@ -19,11 +19,5 @@ func TestV2TokenDeployment(t *testing.T) {
 	b, accountKeys := newTestSetup(t)
 
 	exampleTokenAccountKey, _ := accountKeys.NewWithSigner()
-	_ = DeployV2TokenContracts(b, t, []*flow.AccountKey{exampleTokenAccountKey})
-
-	// t.Run("Should have initialized Supply field correctly", func(t *testing.T) {
-	// 	script := templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-	// 	supply := executeScriptAndCheck(t, b, script, nil)
-	// 	assert.Equal(t, CadenceUFix64("1000.0"), supply)
-	// })
+	_, _ = DeployV2TokenContracts(b, t, []*flow.AccountKey{exampleTokenAccountKey})
 }

From 6e228a33f19dc65427f4ed873b75e8377beb21d8 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 11 Jul 2023 16:31:03 -0500
Subject: [PATCH 003/115] adds total supply view and updates dependencies

---
 lib/go/test/token_test_helpers.go | 79 -------------------------------
 1 file changed, 79 deletions(-)

diff --git a/lib/go/test/token_test_helpers.go b/lib/go/test/token_test_helpers.go
index 287570ab..cff3ee92 100644
--- a/lib/go/test/token_test_helpers.go
+++ b/lib/go/test/token_test_helpers.go
@@ -140,82 +140,3 @@ func DeployTokenContracts(
 
 	return fungibleAddr, tokenAddr, forwardingAddr, metadataViewsAddr, fungibleMetadataViewsAddr
 }
-
-// Deploys the FungibleToken-V2, ExampleToken, and TokenForwarding contracts
-// to different accounts and returns their addresses
-func DeployV2TokenContracts(
-	b *emulator.Blockchain,
-	t *testing.T,
-	key []*flow.AccountKey,
-) (
-	fungibleAddr flow.Address,
-	tokenAddr flow.Address,
-	//forwardingAddr flow.Address,
-) {
-	var err error
-
-	// Deploy the ViewResolver contract
-	resolverAddress := deploy(t, b, "ViewResolver", nftcontracts.Resolver())
-
-	// Deploy the FungibleToken contract
-	fungibleTokenCode := contracts.FungibleTokenV2(resolverAddress.String())
-	fungibleAddr, err = b.CreateAccount(
-		nil,
-		[]sdktemplates.Contract{
-			{
-				Name:   "FungibleToken",
-				Source: string(fungibleTokenCode),
-			},
-		},
-	)
-	assert.NoError(t, err)
-
-	_, err = b.CommitBlock()
-	assert.NoError(t, err)
-
-	// Deploy the NonFungibleToken contract (required for Metadata Views)
-	NFTAddress := deploy(t, b, "NonFungibleToken", nftcontracts.NonFungibleToken(resolverAddress))
-
-	// Deploy the MetadataViews contract
-	metadataViewsAddr := deploy(t, b, "MetadataViews", nftcontracts.MetadataViews(fungibleAddr, NFTAddress, resolverAddress))
-
-	// Deploy the FTMetadataViews contract
-	ftMetadataViewsAddr := deploy(t, b, "FungibleTokenMetadataViews", contracts.FungibleTokenMetadataViews(fungibleAddr.String(), metadataViewsAddr.String(), resolverAddress.String()))
-
-	// Deploy the MultipleVaults contract interface
-	multipleVaultsAddress := deploy(t, b, "MultipleVaults", contracts.MultipleVaults(fungibleAddr.String()))
-
-	// Deploy the ExampleToken contract
-	exampleTokenCode := contracts.ExampleTokenV2(fungibleAddr.String(), metadataViewsAddr.String(), ftMetadataViewsAddr.String(), resolverAddress.String(), multipleVaultsAddress.String())
-	exampleTokenAddress, err := b.CreateAccount(
-		key,
-		[]sdktemplates.Contract{
-			{
-				Name:   "ExampleToken",
-				Source: string(exampleTokenCode),
-			},
-		},
-	)
-	assert.NoError(t, err)
-
-	_, err = b.CommitBlock()
-	assert.NoError(t, err)
-
-	// // Deploy the TokenForwarding contract
-	// forwardingCode := contracts.TokenForwarding(fungibleAddr.String())
-	// forwardingAddr, err = b.CreateAccount(
-	// 	key,
-	// 	[]sdktemplates.Contract{
-	// 		{
-	// 			Name:   "TokenForwarding",
-	// 			Source: string(forwardingCode),
-	// 		},
-	// 	},
-	// )
-	// assert.NoError(t, err)
-
-	// _, err = b.CommitBlock()
-	// assert.NoError(t, err)
-
-	return fungibleAddr, exampleTokenAddress //, nil
-}

From 96cfcdece6576e0cef2161f99562ae29a9c5509d Mon Sep 17 00:00:00 2001
From: Daniel Sainati <sainatidaniel@gmail.com>
Date: Wed, 28 Jun 2023 13:34:56 -0400
Subject: [PATCH 004/115] update FungibleToken.cdc for Stable Cadence

---
 README.md                                  |   2 +-
 contracts/ExampleToken.cdc                 |  56 +--
 contracts/FungibleToken.cdc                |  41 +-
 lib/go/contracts/internal/assets/assets.go |  12 +-
 lib/go/templates/go.mod                    |  48 +-
 lib/go/templates/go.sum                    | 531 ++++-----------------
 lib/go/test/go.mod                         |  88 ++--
 lib/go/test/go.sum                         | 226 ++++-----
 8 files changed, 328 insertions(+), 676 deletions(-)

diff --git a/README.md b/README.md
index a64831e3..0691792f 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,7 @@ and `FungibleTokenSwitchboard` is still pending for emulator/canary, so you will
 
 The code for the standard is in `contracts/FungibleToken.cdc`. An example implementation of the standard that simulates what a simple token would be like is in `contracts/ExampleToken.cdc`. 
 
-The exact smart contract that is used for the official Flow Network Token is in `contracts/FlowToken.cdc`
+The exact smart contract that is used for the official Flow Network Token is in the `flow-core-contracts` repository.
 
 Example transactions that users could use to interact with fungible tokens are located in the `transactions/` directory. These templates are mostly generic and can be used with any fungible token implementation by providing the correct addresses, names, and values.
 
diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 7bc8707c..dd6a428e 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -2,37 +2,37 @@ import FungibleToken from "FungibleToken"
 import MetadataViews from "MetadataViews"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
-pub contract ExampleToken: FungibleToken {
+access(all) contract ExampleToken: FungibleToken {
 
     /// Total supply of ExampleTokens in existence
-    pub var totalSupply: UFix64
-
+    access(all) var totalSupply: UFix64
+    
     /// Storage and Public Paths
-    pub let VaultStoragePath: StoragePath
-    pub let VaultPublicPath: PublicPath
-    pub let ReceiverPublicPath: PublicPath
-    pub let AdminStoragePath: StoragePath
+    access(all) let VaultStoragePath: StoragePath
+    access(all) let VaultPublicPath: PublicPath
+    access(all) let ReceiverPublicPath: PublicPath
+    access(all) let AdminStoragePath: StoragePath
 
     /// The event that is emitted when the contract is created
-    pub event TokensInitialized(initialSupply: UFix64)
+    access(all) event TokensInitialized(initialSupply: UFix64)
 
     /// The event that is emitted when tokens are withdrawn from a Vault
-    pub event TokensWithdrawn(amount: UFix64, from: Address?)
+    access(all) event TokensWithdrawn(amount: UFix64, from: Address?)
 
     /// The event that is emitted when tokens are deposited to a Vault
-    pub event TokensDeposited(amount: UFix64, to: Address?)
+    access(all) event TokensDeposited(amount: UFix64, to: Address?)
 
     /// The event that is emitted when new tokens are minted
-    pub event TokensMinted(amount: UFix64)
+    access(all) event TokensMinted(amount: UFix64)
 
     /// The event that is emitted when tokens are destroyed
-    pub event TokensBurned(amount: UFix64)
+    access(all) event TokensBurned(amount: UFix64)
 
     /// The event that is emitted when a new minter resource is created
-    pub event MinterCreated(allowedAmount: UFix64)
+    access(all) event MinterCreated(allowedAmount: UFix64)
 
     /// The event that is emitted when a new burner resource is created
-    pub event BurnerCreated()
+    access(all) event BurnerCreated()
 
     /// Each user stores an instance of only the Vault in their storage
     /// The functions in the Vault and governed by the pre and post conditions
@@ -44,10 +44,10 @@ pub contract ExampleToken: FungibleToken {
     /// out of thin air. A special Minter resource needs to be defined to mint
     /// new tokens.
     ///
-    pub resource Vault: FungibleToken.Provider, FungibleToken.Receiver, FungibleToken.Balance, MetadataViews.Resolver {
+    access(all) resource Vault: FungibleToken.Provider, FungibleToken.Receiver, FungibleToken.Balance, MetadataViews.Resolver {
 
         /// The total balance of this vault
-        pub var balance: UFix64
+        access(all) var balance: UFix64
 
         /// Initialize the balance at resource creation time
         init(balance: UFix64) {
@@ -64,7 +64,7 @@ pub contract ExampleToken: FungibleToken {
         /// @param amount: The amount of tokens to be withdrawn from the vault
         /// @return The Vault resource containing the withdrawn funds
         ///
-        pub fun withdraw(amount: UFix64): @FungibleToken.Vault {
+        access(FungibleToken.Withdrawable) fun withdraw(amount: UFix64): @FungibleToken.Vault {
             self.balance = self.balance - amount
             emit TokensWithdrawn(amount: amount, from: self.owner?.address)
             return <-create Vault(balance: amount)
@@ -78,7 +78,7 @@ pub contract ExampleToken: FungibleToken {
         ///
         /// @param from: The Vault resource containing the funds that will be deposited
         ///
-        pub fun deposit(from: @FungibleToken.Vault) {
+        access(all) fun deposit(from: @FungibleToken.Vault) {
             let vault <- from as! @ExampleToken.Vault
             self.balance = self.balance + vault.balance
             emit TokensDeposited(amount: vault.balance, to: self.owner?.address)
@@ -111,7 +111,7 @@ pub contract ExampleToken: FungibleToken {
         /// @param view: The Type of the desired view.
         /// @return A structure representing the requested view.
         ///
-        pub fun resolveView(_ view: Type): AnyStruct? {
+        access(all) fun resolveView(_ view: Type): AnyStruct? {
             switch view {
                 case Type<FungibleTokenMetadataViews.FTView>():
                     return FungibleTokenMetadataViews.FTView(
@@ -163,18 +163,18 @@ pub contract ExampleToken: FungibleToken {
     ///
     /// @return The new Vault resource
     ///
-    pub fun createEmptyVault(): @Vault {
+    access(all) fun createEmptyVault(): @Vault {
         return <-create Vault(balance: 0.0)
     }
 
-    pub resource Administrator {
+    access(all) resource Administrator {
 
         /// Function that creates and returns a new minter resource
         ///
         /// @param allowedAmount: The maximum quantity of tokens that the minter could create
         /// @return The Minter resource that would allow to mint tokens
         ///
-        pub fun createNewMinter(allowedAmount: UFix64): @Minter {
+        access(all) fun createNewMinter(allowedAmount: UFix64): @Minter {
             emit MinterCreated(allowedAmount: allowedAmount)
             return <-create Minter(allowedAmount: allowedAmount)
         }
@@ -183,7 +183,7 @@ pub contract ExampleToken: FungibleToken {
         ///
         /// @return The Burner resource
         ///
-        pub fun createNewBurner(): @Burner {
+        access(all) fun createNewBurner(): @Burner {
             emit BurnerCreated()
             return <-create Burner()
         }
@@ -191,10 +191,10 @@ pub contract ExampleToken: FungibleToken {
 
     /// Resource object that token admin accounts can hold to mint new tokens.
     ///
-    pub resource Minter {
+    access(all) resource Minter {
 
         /// The amount of tokens that the minter is allowed to mint
-        pub var allowedAmount: UFix64
+        access(all) var allowedAmount: UFix64
 
         /// Function that mints new tokens, adds them to the total supply,
         /// and returns them to the calling context.
@@ -202,7 +202,7 @@ pub contract ExampleToken: FungibleToken {
         /// @param amount: The quantity of tokens to mint
         /// @return The Vault resource containing the minted tokens
         ///
-        pub fun mintTokens(amount: UFix64): @ExampleToken.Vault {
+        access(all) fun mintTokens(amount: UFix64): @ExampleToken.Vault {
             pre {
                 amount > 0.0: "Amount minted must be greater than zero"
                 amount <= self.allowedAmount: "Amount minted must be less than the allowed amount"
@@ -220,7 +220,7 @@ pub contract ExampleToken: FungibleToken {
 
     /// Resource object that token admin accounts can hold to burn tokens.
     ///
-    pub resource Burner {
+    access(all) resource Burner {
 
         /// Function that destroys a Vault instance, effectively burning the tokens.
         ///
@@ -229,7 +229,7 @@ pub contract ExampleToken: FungibleToken {
         ///
         /// @param from: The Vault resource containing the tokens to burn
         ///
-        pub fun burnTokens(from: @FungibleToken.Vault) {
+        access(all) fun burnTokens(from: @FungibleToken.Vault) {
             let vault <- from as! @ExampleToken.Vault
             let amount = vault.balance
             destroy vault
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 48b092d2..0e60510b 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -42,21 +42,24 @@ the deposit function on another user's Vault to complete the transfer.
 
 /// The interface that Fungible Token contracts implement.
 ///
-pub contract interface FungibleToken {
+access(all) contract interface FungibleToken {
+
+    // An entitlement for allowing the withdrawal of tokens from a Vault
+    access(all) entitlement Withdrawable
 
     /// The total number of tokens in existence.
     /// It is up to the implementer to ensure that the total supply
     /// stays accurate and up to date
-    pub var totalSupply: UFix64
+    access(all) var totalSupply: UFix64
 
     /// The event that is emitted when the contract is created
-    pub event TokensInitialized(initialSupply: UFix64)
+    access(all) event TokensInitialized(initialSupply: UFix64)
 
     /// The event that is emitted when tokens are withdrawn from a Vault
-    pub event TokensWithdrawn(amount: UFix64, from: Address?)
+    access(all) event TokensWithdrawn(amount: UFix64, from: Address?)
 
     /// The event that is emitted when tokens are deposited into a Vault
-    pub event TokensDeposited(amount: UFix64, to: Address?)
+    access(all) event TokensDeposited(amount: UFix64, to: Address?)
 
     /// The interface that enforces the requirements for withdrawing
     /// tokens from the implementing type.
@@ -65,7 +68,7 @@ pub contract interface FungibleToken {
     /// because it leaves open the possibility of creating custom providers
     /// that do not necessarily need their own balance.
     ///
-    pub resource interface Provider {
+    access(all) resource interface Provider {
 
         /// Subtracts tokens from the owner's Vault
         /// and returns a Vault with the removed tokens.
@@ -85,7 +88,7 @@ pub contract interface FungibleToken {
         /// @param amount: The amount of tokens to be withdrawn from the vault
         /// @return The Vault resource containing the withdrawn funds
         /// 
-        pub fun withdraw(amount: UFix64): @Vault {
+        access(Withdrawable) fun withdraw(amount: UFix64): @Vault {
             post {
                 // `result` refers to the return value
                 result.balance == amount:
@@ -102,13 +105,13 @@ pub contract interface FungibleToken {
     /// can do custom things with the tokens, like split them up and
     /// send them to different places.
     ///
-    pub resource interface Receiver {
+    access(all) resource interface Receiver {
 
         /// Takes a Vault and deposits it into the implementing resource type
         ///
         /// @param from: The Vault resource containing the funds that will be deposited
         ///
-        pub fun deposit(from: @Vault)
+        access(all) fun deposit(from: @Vault)
 
         /// Below is referenced from the FLIP #69 https://github.com/onflow/flips/blob/main/flips/20230206-fungible-token-vault-type-discovery.md
         /// 
@@ -122,7 +125,7 @@ pub contract interface FungibleToken {
         ///
         /// @return dictionary of supported deposit vault types by the implementing resource.
         /// 
-        pub fun getSupportedVaultTypes(): {Type: Bool} {
+        access(all) fun getSupportedVaultTypes(): {Type: Bool} {
             // Below check is implemented to make sure that run-time type would
             // only get returned when the parent resource conforms with `FungibleToken.Vault`. 
             if self.getType().isSubtype(of: Type<@FungibleToken.Vault>()) {
@@ -139,11 +142,11 @@ pub contract interface FungibleToken {
     /// and enforces that when new Vaults are created, the balance
     /// is initialized correctly.
     ///
-    pub resource interface Balance {
+    access(all) resource interface Balance {
 
         /// The total balance of a vault
         ///
-        pub var balance: UFix64
+        access(all) var balance: UFix64
 
         init(balance: UFix64) {
             post {
@@ -157,7 +160,7 @@ pub contract interface FungibleToken {
         /// @return An array of Types defining the implemented views. This value will be used by
         ///         developers to know which parameter to pass to the resolveView() method.
         ///
-        pub fun getViews(): [Type] {
+        access(all) fun getViews(): [Type] {
             return []
         }
 
@@ -166,7 +169,7 @@ pub contract interface FungibleToken {
         /// @param view: The Type of the desired view.
         /// @return A structure representing the requested view.
         ///
-        pub fun resolveView(_ view: Type): AnyStruct? {
+        access(all) fun resolveView(_ view: Type): AnyStruct? {
             return nil
         }
     }
@@ -177,10 +180,10 @@ pub contract interface FungibleToken {
     /// must define a concrete `Vault` resource that conforms to the `Provider`, `Receiver`,
     /// and `Balance` interfaces, and declares their required fields and functions
     ///
-    pub resource Vault: Provider, Receiver, Balance {
+    access(all) resource Vault: Provider, Receiver, Balance {
 
         /// The total balance of the vault
-        pub var balance: UFix64
+        access(all) var balance: UFix64
 
         // The conforming type must declare an initializer
         // that allows providing the initial balance of the Vault
@@ -193,7 +196,7 @@ pub contract interface FungibleToken {
         /// @param amount: The amount of tokens to be withdrawn from the vault
         /// @return The Vault resource containing the withdrawn funds
         ///
-        pub fun withdraw(amount: UFix64): @Vault {
+        access(Withdrawable) fun withdraw(amount: UFix64): @Vault {
             pre {
                 self.balance >= amount:
                     "Amount withdrawn must be less than or equal than the balance of the Vault"
@@ -211,7 +214,7 @@ pub contract interface FungibleToken {
         ///
         /// @param from: The Vault resource containing the funds that will be deposited
         ///
-        pub fun deposit(from: @Vault) {
+        access(all) fun deposit(from: @Vault) {
             // Assert that the concrete type of the deposited vault is the same
             // as the vault that is accepting the deposit
             pre {
@@ -229,7 +232,7 @@ pub contract interface FungibleToken {
     ///
     /// @return The new Vault resource
     ///
-    pub fun createEmptyVault(): @Vault {
+    access(all) fun createEmptyVault(): @Vault {
         post {
             result.balance == 0.0: "The newly created Vault must have zero balance"
         }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index a3750e94..e8d74406 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,9 +1,9 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken-v2.cdc (10.591kB)
-// ../../../contracts/ExampleToken.cdc (11.792kB)
+// ../../../contracts/ExampleToken.cdc (12.035kB)
 // ../../../contracts/FungibleToken-v2.cdc (10.836kB)
-// ../../../contracts/FungibleToken.cdc (9.721kB)
+// ../../../contracts/FungibleToken.cdc (10.006kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.279kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (17.536kB)
 // ../../../contracts/MultipleVaults.cdc (766B)
@@ -101,7 +101,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	return a, nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\xeb\x6f\x1b\xb7\xb2\xff\xee\xbf\x62\xae\x2e\xd0\x2b\xa1\xb6\xec\xbe\x72\x5b\x21\x69\xe2\x9c\xc6\x38\x07\x68\x8b\xa0\x75\xdb\x0f\x45\x91\x50\xbb\x23\x89\xc7\xbb\xe4\x96\xe4\x4a\x56\x83\xfc\xef\x07\xc3\xc7\x2e\xb9\x0f\x49\x51\x7a\xf4\xc5\x96\x96\xf3\xe0\xcc\x6f\x66\xc8\x99\xe5\x65\x25\x95\x81\xbb\x5a\xac\xf9\xb2\xc0\x7b\xf9\x80\x02\x56\x4a\x96\x30\x49\x7e\x9b\x5c\xf8\x95\x3f\xa0\x61\x39\x33\xec\x57\x8e\x3b\xed\x57\x26\xbf\x35\x2b\x13\xfa\x21\xb2\xf1\x05\x93\x8b\x8b\xaa\x5e\x42\x26\x85\x51\x2c\x33\xf0\xea\x91\x95\x95\x5f\xb8\xe8\x28\xfb\xee\xe2\x02\x00\xe0\xfa\xfa\x1a\xee\xa5\x61\x05\xe8\xba\xaa\x8a\x3d\xc8\x55\x42\xa6\x81\x0b\xc0\x47\xae\x0d\x8a\x0c\x2d\x09\x89\xd8\x32\x05\x86\xc8\x7e\xb6\x54\x0b\xf8\xe5\x8e\x3f\x3e\xf9\xb2\xe5\xf9\xb3\x91\x8a\xad\x11\x98\xc8\xe1\x75\xbd\x2c\x78\x06\xaf\x99\xd9\xe8\x86\x43\x81\x06\x7e\x65\x75\x61\xfc\x4a\x7a\xba\x80\xe8\x4b\x7f\xa5\xe3\xe3\x16\xb6\xff\x27\xeb\x7e\xc2\x0c\xf9\x16\xd5\x09\x4b\x6f\xf3\x92\x8b\x51\xe1\xad\x71\x36\x08\xb8\x45\x61\xc0\x6c\x98\x01\xae\x01\x4b\x6e\x0c\xe6\xb0\xdb\xa0\x00\xb3\xc1\xd6\xde\x5c\x43\xa6\x90\x19\xcc\x1b\x49\x8e\xd4\x99\xf2\x5f\x82\x1b\xce\x0a\xfe\x17\xe6\x53\xee\xfe\x4f\xcd\x37\x3b\x5d\xac\xf3\x0d\x53\x08\x3b\x6e\x36\xb9\x62\x3b\x8f\x3f\xe6\x6c\x35\xa8\xc0\x6f\x61\xe9\x94\x95\xb2\x16\x26\xc8\xbd\xb4\xa4\x0b\xb8\xcd\x73\x85\x5a\x3f\x3f\x4b\x8f\x1c\x2b\xa9\x39\x3d\x31\xf2\xa0\x16\xdf\x85\x85\x3d\x2d\x8c\x3c\x47\x07\x81\xbb\x58\x8f\x92\x8b\x31\x07\xfc\x60\x1f\x75\xc4\x9e\xb9\x59\x6d\x94\xdc\x8f\xc8\x79\x59\x2b\xf1\x11\x72\x98\xdd\x92\xdd\x87\x02\x85\x5a\xd6\x2a\xc3\x71\x70\xd9\x5d\xa9\x7f\xb8\x67\x53\x56\x14\x72\x87\xf9\xed\x47\xc9\x5e\xd2\x06\x4e\x91\x6d\x77\xda\xc8\x8e\xc4\xbc\x62\xd9\x06\x6a\x8d\x0a\xb4\x91\x0a\x35\x30\x01\x5c\x68\xc3\x44\x86\x94\x63\xa4\x28\xf6\x36\x78\x2c\x4e\x28\xc9\x98\x0d\x72\xb7\x9a\xad\x31\x51\x77\x55\x8b\xcc\x70\xe9\x72\x51\x4b\x43\xa9\x65\x2d\xb7\x48\xb6\x86\xa5\xe3\x56\x29\x97\x72\x2a\xa9\x0d\xc5\x65\xce\x2d\x61\xc3\x8e\x8b\x4e\x1a\x0c\x41\xbc\xb7\x6e\xcd\x58\x51\x60\x3e\x4f\xa4\x67\x1b\xcc\x1e\x34\x6c\x58\x55\x91\x7d\x0c\xa8\x5a\x18\x5e\xa2\x25\xc5\x2d\x2a\x60\x8d\x86\xd6\x50\x29\x8f\x86\xd7\x4f\xde\x98\xb4\x42\xb8\xfd\x2f\x31\x98\x35\xec\x8c\x52\x09\x3e\x1a\xb2\x50\x92\x59\xac\xaf\x48\xcd\x86\x9d\x43\xe1\x8a\x0b\x4b\x7c\x09\x5a\xd2\x73\x65\x7d\x25\x24\xec\xd8\x1e\x56\x92\x74\x2b\x59\xc1\x33\x2e\x6b\xed\xdc\x61\xa4\x97\xe9\xac\xd8\x9a\x46\xd6\x5e\x2c\x17\xc0\xb8\x9a\xc3\x2d\xe8\x0a\x33\xce\x0a\x8f\xb0\x16\x0e\x02\x31\xd7\xc4\x69\xd9\xea\x60\xa4\x45\x6c\xc3\xae\x8d\xca\xd4\x14\x84\x9d\x86\x91\x55\xa1\x53\x99\xe6\xaf\x95\xdc\xf2\x1c\xd5\x65\xe7\xf7\x90\xdb\xbb\xbf\xbf\x64\x05\xa1\xea\x32\xad\xb1\x73\xb2\x77\x41\xee\xf1\x95\x2e\xf6\xa9\x2d\x5d\xb0\x74\x84\x7e\xd7\x1a\xb6\x4d\xca\x8a\xcb\x9c\x5f\x95\x96\xb8\xc0\xac\x4d\xe9\xd6\x5f\x81\x23\xa1\x24\xec\xd1\x5a\x9b\xb0\x41\xa0\x69\x88\x29\xff\x4f\x3b\xac\x67\xf0\xae\x79\x4e\x1f\x8d\xc5\x6a\x1e\x58\x3e\x0b\xcc\x9b\x25\xef\x53\x55\xee\x02\x06\x1d\x56\xd8\x83\x0b\x3a\x97\x84\x80\xb9\x2f\x6a\x5d\x97\x28\x4c\x42\x48\xf1\x12\x8a\x88\x76\xd4\x9e\xc8\x16\x94\x26\xe0\xe6\xe9\xce\x8d\xc7\x91\xf6\x39\xc3\x20\x9d\x5f\x98\xda\xfb\xf0\x0c\xe9\xa5\xd6\x0e\x1d\x1b\x59\xe4\x09\x07\x62\x5c\x4a\x81\xfb\x66\xe9\x12\xb9\x58\x83\x51\x4c\xe8\x15\x2a\x85\xf9\x9c\xc4\x28\x34\xb5\x12\xda\xae\x17\xb8\x2b\xf6\x09\x97\x10\x40\x5e\xa8\x4c\xc2\xc8\x32\x76\x01\x49\x01\xc2\x8d\x8d\xbd\x65\x54\xac\x12\x5e\x58\x68\xdc\x51\x10\x25\x5b\x4d\x96\xbc\xa8\x98\x62\x25\x84\xd4\x4e\x60\xf2\xc6\x22\x14\xb9\x02\xe1\x02\xa3\x53\x97\x49\xad\x14\x60\x96\x9d\xdb\x9c\xe5\xe3\x76\xd0\xe2\x46\x0a\xc3\xb8\xb0\x16\xd9\x24\xec\x6a\x91\xeb\x41\x05\x09\xb2\xab\x5a\x34\x6b\xbb\x15\x68\x01\x2f\xd2\xd0\x71\x22\x0f\xa2\x2e\xf9\x7a\xe5\x37\x9b\x10\x50\xfd\x18\x3d\x60\xb8\xbf\xe1\x80\x61\x99\xc9\x9d\x40\xf5\x7c\xce\x5c\xa1\x9f\x25\xbc\xbc\x39\x9e\x5e\xc5\x39\xaa\x8d\x13\xc7\x6d\xf6\x41\x21\xe0\xed\x2a\x97\xff\xc6\xac\x1b\x07\x16\xfb\x2c\x4f\xcd\x09\xdc\xe8\x26\x92\x3d\xa0\x92\x54\x81\x60\xb7\xa0\x47\xc2\x82\x6b\xf0\x45\x98\xa8\xfd\x49\xc1\x92\x69\x12\xe9\xd4\x59\x62\xc6\x6a\x8d\x6d\x74\x25\x5c\x76\xa4\x66\x14\x51\x14\x3b\xa8\x82\x74\x9f\x56\x5b\xd0\xfc\x5f\xab\xef\x86\xa5\x7b\x59\x22\x0a\x82\x92\xae\x4b\xcc\xed\x76\x6d\x95\x58\x49\x5b\xed\x7c\x2c\xf8\xb3\xcc\x51\xd4\x3b\x27\x1e\xc7\xaa\x45\xa8\x73\xc2\x8e\x17\xc5\x68\xc0\xf5\x80\xeb\x57\x4d\x9d\xa0\x21\xb0\x76\x73\x24\x9d\xe4\x6d\x58\xc1\xd3\x2b\x7f\x00\xd6\xff\x03\x2f\xe2\x2b\xcc\x3c\xb5\xef\x31\x8c\x7f\xea\xf8\xcd\xbb\xe9\xb6\x03\xf5\xfe\x29\x36\x21\x73\x87\xd9\xa3\x78\x4f\x68\xe0\x19\xdc\xcc\x6f\x92\xe7\x01\x3d\x69\xe6\x88\x60\xef\x17\x4c\xbb\x76\xe1\xab\x74\x57\xdf\x12\xeb\xce\x1a\xfa\x24\x86\x8a\x6e\x74\xf0\x6c\xfc\xd1\x55\xc2\x3a\x61\xf9\x7e\x2c\x34\x09\x34\x74\x26\x91\x2b\x58\xa3\x31\x84\x14\x56\x14\x16\x2d\xa1\x6c\x83\xbb\xe4\x72\x12\x4a\xc1\xe9\x4e\x75\xb1\x16\xe3\xf8\xf4\x79\xe3\x96\x42\x5b\x39\x31\xf7\xfb\x0a\xb5\x3b\x9e\x04\x5c\xc6\xac\xb7\xf6\x90\x00\xf7\xae\xf0\x17\x35\x36\x50\xb5\x05\x6b\x99\x56\x99\xd6\xdc\x5b\x2c\x64\x45\xc1\x6f\x24\x3c\x08\xb9\x83\xdd\x86\x67\x1b\xb0\x01\x82\xc6\x1d\xb0\x2a\xa6\x75\xc8\x1c\xca\x1d\x43\x68\x6f\xd3\x19\x94\x68\x36\x72\x24\xd0\x42\x10\xac\xd1\x58\x4b\x4c\x67\x0b\xf8\x9d\x76\xf1\x47\xc7\x6f\x7e\xb3\xbf\xf7\x9c\x49\x8b\x9f\x8e\xb7\x07\xe6\x77\xf7\xf4\xf7\xdb\xe9\xec\xf2\x0c\xd2\xef\xb8\xae\x0a\xb6\x3f\x93\xda\xc6\xe0\x77\xcc\xb0\xb3\xe8\xef\x5b\xf4\x7d\x3b\x4d\x23\xe8\x8f\x0f\x41\x5c\x8a\xb5\xf6\xc8\x8b\x27\xc2\xcc\xa5\x41\x82\x8e\x4b\x83\xa4\x77\xe0\x90\xa3\xe6\xca\x03\x6b\x3e\x8c\x4e\xd0\x46\xd5\x99\xa9\x15\xc1\xa2\x52\x48\xf5\x20\x60\x53\xe1\x9f\x35\x6a\x33\xc4\xa0\x87\x90\x18\x53\x6f\x82\x3a\xfb\x0a\x67\x0b\xb8\x15\xfb\x9f\xad\x90\xe7\xdd\xb2\xbe\xe3\x26\xdb\xd8\xc5\x03\x69\x20\x63\x1a\x4f\x87\xcf\xa2\x47\x0f\x2d\x2c\x8f\x32\x98\x0e\x52\xd3\x67\x65\x3c\xc8\x7c\xe6\x8c\xf7\xf9\x21\x00\x9d\xd9\x22\x70\xca\xe2\xe7\x7d\x2c\xb6\xca\x34\x98\x3d\x4b\x9d\x18\xf1\x27\x28\xd4\x2c\x7f\x3e\xa8\xd1\xec\x5c\x97\xb5\x56\x19\xf6\x1a\x15\xd0\x12\x73\xce\xe0\x59\xe7\x02\xf5\x03\xfd\x7a\xc0\x59\xbc\xc0\x45\x87\xe4\x9f\xf7\xf7\xaf\xef\x78\x81\xe3\x54\xf4\xa9\x55\xb1\x80\xc9\xc6\x98\x4a\x2f\xae\xaf\x99\xd6\x68\xf4\x7c\x87\x4b\x2a\xa7\x57\xc4\x56\xcf\x33\x59\x5e\x7f\xb5\x7a\xf2\xf9\x37\x5f\x66\x37\xd9\xff\xb3\xaf\xb3\x3c\x7f\xf2\xe5\x17\xcb\xcf\xb2\xaf\x3f\xbf\xe9\x3c\x60\x5f\x7d\x95\x2d\x3f\xcb\xbe\xf9\xe2\xc9\x9b\xbb\x42\xee\xde\xfc\x26\x55\x5e\x32\xf5\x30\xd7\xdb\xf5\x64\x54\x8f\x81\x24\x14\x3e\xd6\x1a\x64\xd8\x05\x4c\x78\xc9\xd6\x78\xad\xb7\xeb\x4f\x1f\xcb\x62\x98\x5b\xdf\x33\x89\x59\xf5\xb0\x5d\xf5\xf4\x77\xfb\xf8\x8f\x61\xf2\x53\x62\xc9\x7b\x76\xdc\xd6\x82\x95\xb4\x07\x9f\xda\x1a\x66\xee\x00\x33\x19\x37\x80\xde\x97\x4b\x49\x2e\x7a\x75\x77\x7f\x60\x59\x8e\x3a\x53\xbc\xa2\x03\xf7\x02\x26\xb6\x90\xae\x82\x08\x7b\x44\x6d\x6e\x7f\xee\xd0\x8d\x5e\x0f\xba\x0b\x62\x51\xc1\x5e\xd6\xa1\x9e\xd2\xff\x0a\x04\x5d\xd9\xee\xee\xe1\x7f\xa5\x20\x4f\xce\x0f\xc8\xc6\x47\x83\x4a\xb0\xe2\x97\x9f\xbe\xef\x62\xf0\x55\xfb\x68\xda\x80\xcc\xcb\xbe\x5a\x99\xb9\x14\x2b\x62\x2e\xd5\x7a\x72\x00\x04\x85\x5c\x4b\xbd\xf0\x2e\x3c\x60\x2a\x99\x71\x56\xe8\xc5\x40\x4a\x8d\x3f\x13\xb3\xe3\xc6\xa0\x9a\x9c\xa4\xac\x5f\x6c\x83\x80\x74\x7d\xb3\x2c\x64\xf6\x90\x6d\x18\x17\x93\x61\xb8\x40\x72\xf4\x8a\x3f\x67\xe7\x8d\x38\x7d\x7d\x44\xbe\x0f\x5c\xc6\x51\xaa\xe3\x16\x7c\xff\xdc\x1e\x35\xe5\xc7\xdd\xa0\x42\xdb\xbf\xcf\xa4\x3f\x11\x38\x14\xf9\x4e\xfb\x31\x5d\x4e\xe1\x51\xf9\xee\x95\xe3\x71\x5d\x29\xbe\x65\x06\x03\x00\x2d\x33\xcb\xeb\xf8\x66\xbe\xe7\xe2\x01\x73\x97\x88\xac\xbf\x3e\xe9\x6b\xf4\x6e\xb8\x45\xf6\x7e\xf0\x94\xd5\xdd\xe6\x19\x02\x8e\xf4\xda\x0e\xcb\x0d\xa6\x39\x43\x6e\xe8\x09\x1e\x16\xe0\x9a\x06\xaf\xca\xca\xec\x2d\x93\xd0\x0f\x58\xc0\x94\x8e\x4d\x74\xa0\x1e\xb8\x19\x1e\x89\xdd\xa6\x25\x91\x50\x76\x45\x4d\x0f\x04\xe6\xf0\xa3\x33\x23\x33\x3d\x0a\x9f\x1b\x99\x11\x97\x69\x32\xc7\x1b\xbb\xf4\xcd\x46\xae\x79\x91\x38\xc1\x8b\x8b\x74\xc1\xfb\x76\x1e\x90\xb6\x66\xd2\xce\xa1\xf3\xc2\x8e\x9b\x0d\xb0\xb8\xd3\xf2\x17\x2a\xd9\xf6\xbb\x45\xde\x74\x02\x79\xdb\xe8\x63\x45\x41\x27\x68\xdf\xf0\x9b\xc3\xad\xeb\x72\x97\xb5\x76\x8d\x3f\xd7\xd9\x0d\xfd\xf9\x84\x9b\x1d\x4c\xf8\xb3\xb7\xb1\x13\x9b\x91\x61\x04\xfd\x20\x55\xee\xee\x76\xb6\xb5\xe3\x9e\xb7\xdc\xb2\xcc\xb6\x00\x5d\xe3\x8f\xb9\x02\x18\xe2\x38\x34\x35\x74\xd3\x67\x76\xc5\xd1\xec\x2b\xec\x4f\x09\xe2\x86\x60\x6b\x9b\xd0\x68\xe9\x75\xd2\x09\xd6\x7d\x28\x2e\xe0\x45\x17\xd9\x47\x1a\x6b\x37\xf3\x9b\x59\xec\xb2\xa4\x4b\x6f\x27\xa5\x5c\x1b\xc5\x8c\xec\xb5\xd3\x47\x1c\x1b\x79\x6b\x70\x9c\x75\xb4\xc1\x9a\x8e\xb1\xc8\x1c\x25\x7b\xe4\x65\x5d\xc2\x9f\x35\x13\x86\x9b\x7d\xdc\x71\xf5\xe3\x91\x20\x25\x93\x75\x91\x7b\x65\x46\xfb\xad\xdd\xa9\x86\xeb\x57\x59\x4a\xef\x64\x37\xd2\xf0\x42\x0e\xde\xc8\x9c\xa8\x1f\x71\xe7\x98\x8e\x4c\xe1\x16\xf0\xc2\x0b\x7d\xd7\x6f\x2b\x1d\x1c\xe3\x25\x5f\x0f\xb7\x4c\x87\x35\x18\x61\x70\xb0\x81\x3a\xee\xcc\xce\x7c\xf0\x68\x5f\x86\xcc\xfd\xf2\x04\x9a\x9e\x39\x1d\x91\x45\xb4\xa7\x1f\xb0\x5c\x77\x08\x79\xc8\x3a\x81\xe1\x78\xa6\x0a\x73\xba\xd0\x31\x76\xd8\xb2\x21\xcb\x28\x10\x42\xb4\xbb\x39\xde\x46\x16\xcd\xec\xeb\xb4\x99\x57\x83\x80\x5e\xb7\xa2\x3f\x48\xe8\xc0\x3a\xed\x2c\x37\xe3\x36\x88\xa6\x55\x83\xc0\x3b\xe4\x64\xe2\xa2\x23\xcd\x2f\x6d\x3f\x9c\xa4\x96\x21\xc9\x9a\xe8\xfd\x90\xcb\x84\x55\x8c\x8c\x98\xa2\x9b\x96\x3f\x64\x9c\x32\x14\xde\x9d\xcd\x7e\xd8\xe4\xc4\xbd\x10\x70\x4a\x14\xd3\x4a\xd7\xdd\x1d\x98\x9c\x1c\x3d\x38\x54\x0a\x07\x8e\x12\xde\xa9\xb6\xff\xba\x80\x89\x73\x4c\xd0\xc9\x96\xa9\x25\xc2\xda\x82\x53\x91\x47\x84\x2d\x7b\xfd\xab\xa6\xe7\xf3\xd4\x77\xab\x3b\x7e\x1e\xe1\x5b\xa0\xd6\x8e\x29\x19\x22\x60\xc7\xb1\x9a\x1c\xa8\xe8\xe7\x74\x85\x3f\x1d\x9a\x0d\xf5\x75\x85\xa1\x0d\x1c\x1d\x2c\x75\xde\xdc\xe8\xce\x81\xe0\xa3\x46\x47\x76\x16\x3b\x9c\xb1\x87\x66\x63\xdd\xed\x24\xdf\xff\xee\xbc\x42\x99\xf6\x78\x4e\x69\x72\xe3\x81\x40\xf7\x93\x82\x76\x22\x16\x5e\xc7\xb8\x04\x5c\xad\x30\x33\x7c\x8b\xc5\xde\x0a\x0c\x91\x13\xcb\xed\xc6\x0c\x09\xf8\x51\x1a\x5c\xb8\xf9\x98\x3b\x3f\x45\x6f\xc8\xb0\xda\xc8\x92\x19\x4e\xa9\x60\x0f\xba\x5e\xda\x17\x19\x30\x6f\xa6\xa1\x09\xa7\x38\xc5\xa4\x6f\x79\x58\xb5\xeb\xcc\x48\xf5\xb7\x8d\xa7\xa2\x31\x6d\xad\x86\xbb\xbd\x21\x23\xd0\x02\x9f\x11\xfe\xdb\x33\x29\xa2\x62\x01\x53\xe3\x23\xa8\xe1\x89\x50\x27\x5c\x3a\x2f\x20\xf5\xb1\x1f\x61\xd3\xa2\x3f\xde\x82\x05\x79\x1a\xf4\x9f\xdd\xdc\xc4\x93\x29\xbb\xa2\x7b\x3b\x87\x67\x70\xed\x0f\xcc\xfd\xdb\xee\x00\x69\x7b\x99\x26\xca\xca\x7e\x4b\x08\xc3\x8d\x25\xa5\xed\xdf\xe7\x47\xc8\xc3\xc2\x94\xbc\xfb\xd6\xdf\x98\xd6\x76\x5d\x1c\x4e\xe0\xce\x17\x11\x32\xed\x85\xa5\x5b\x1f\xa3\xaa\x65\xef\x18\x6c\x8b\x74\x5d\xe1\x22\x5c\x26\x5a\x14\x27\x30\x19\x4e\x5a\x5d\x57\xcc\xd2\xcd\xf8\x8c\x31\x27\x29\xd3\xa7\x57\x96\x59\x34\x78\xec\x7a\x68\x36\xb4\x1f\x06\xce\x76\x90\xb1\x8a\x2d\x79\x41\x95\xd7\x57\x71\x7b\x41\xca\xe3\xd7\x39\xf0\xb1\x92\x1a\xe3\x22\x6a\x17\xbe\xf5\x57\x9c\xb7\x7e\xbe\x05\x66\xa3\x64\xbd\x76\xd6\x79\x1b\x1c\xf1\x16\xec\x29\x66\xc5\xb2\xc8\x08\xc9\x3e\x0a\x2e\x1e\x9e\x7e\x32\xde\xd3\xe8\xe7\xe2\x63\xdd\x1d\xc3\xd4\x1a\xcd\x88\x3d\x9a\x95\x1f\x6f\x18\xfb\x3a\xd7\x98\x75\xbc\x3b\xdf\xc2\x8a\x63\xd1\x0c\xe1\xe1\x6d\x34\x4f\x18\xb6\xdc\xcb\x40\xd8\x18\xee\x90\xdd\x4e\x6d\xde\x0c\x1a\xf2\x60\x7f\xeb\x83\xad\x68\x73\x99\x2d\x6a\x2d\xb4\x93\x5b\xe4\xf4\x30\x92\x2d\x6d\x84\xe4\x6e\xd4\xa6\x0e\x7b\x45\x89\x8f\x89\xf8\xb5\x46\xbd\x91\xbb\xe8\xfc\xdc\xbc\x47\xb7\x63\x1a\x78\xfb\x1a\x6e\xc3\x25\xca\x9d\x07\xde\xd2\x1d\x0e\xc7\xf7\x17\xef\x2f\xfe\x13\x00\x00\xff\xff\xe0\x60\x33\x77\x10\x2e\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\xdd\x6f\xe3\x36\x12\x7f\xcf\x5f\x31\xe7\x03\x7a\x36\x9a\x38\xe9\xd7\x5e\x6b\xec\x76\x37\x7b\xdd\xe0\x0e\x68\x8b\x45\x9b\xb6\x0f\xc5\x62\x43\x4b\x63\x9b\x17\x89\x54\x49\xca\x8e\xbb\xc8\xff\x7e\x18\x7e\x48\xa4\x2c\xd9\x8e\xb7\xe7\x97\xc4\x16\x67\x38\x9c\xf9\xcd\x07\x67\xc4\xcb\x4a\x2a\x03\x37\xb5\x58\xf2\x79\x81\xb7\xf2\x1e\x05\x2c\x94\x2c\x61\x94\xfc\x36\x3a\xf3\x2b\x7f\x40\xc3\x72\x66\xd8\xaf\x1c\x37\xda\xaf\x4c\x7e\x6b\x56\x26\xf4\x7d\x64\xc3\x0b\x46\x67\x67\x2c\xcb\x50\xeb\x31\x2b\x8a\x09\x64\x52\x18\xc5\x32\x03\x6f\x1e\x58\x59\x79\x82\x59\x47\xe8\x0f\x67\x67\x00\x00\x97\x97\x97\x70\x2b\x0d\x2b\x40\xd7\x55\x55\x6c\x41\x2e\x12\x32\x0d\x5c\x00\x3e\x70\x6d\x50\x64\x68\x49\xe2\xad\xd6\x4c\x81\x21\xf2\x9f\x2d\xf5\x0c\x7e\xb9\xe1\x0f\xcf\xbe\xb4\xeb\x1a\xfe\x3f\x1b\xa9\xd8\x12\x81\x89\x1c\xde\xd6\xf3\x82\x67\xf0\x96\x99\x95\xde\xe1\x56\xa0\x81\x5f\x59\x5d\x18\x4f\x41\xab\x66\x10\x7d\x19\xa6\x70\x7c\x1d\x41\xfb\x7f\xef\xfa\x9f\x30\x43\xbe\x46\xf5\x04\x92\xeb\xbc\xe4\x62\x50\xa8\x56\x91\x2b\x04\x5c\xa3\x30\x60\x56\xcc\x00\xd7\x80\x25\x37\x06\x73\xd8\xac\x50\x80\x59\x61\x6b\x1b\xae\x21\x53\xc8\x0c\xe6\x3b\x3b\x3a\x16\x4e\xfd\xff\x11\xdc\x70\x56\xf0\x3f\x31\x1f\x73\xf7\x7f\xaa\xea\xc9\xf1\xdb\x3b\x7b\x32\x85\xb0\xe1\x66\x95\x2b\xb6\xf1\xd8\x65\x4e\x87\x7b\x05\xf9\x2d\x90\x8c\x59\x29\x6b\x61\xc2\xfe\xe7\x96\xc5\x0c\xae\xf3\x5c\xa1\xd6\x2f\x4f\x92\x27\xc7\x4a\x6a\x4e\x4f\x8c\x3c\x4a\x9a\xef\x02\xc1\x8e\x34\x46\x9e\x22\x8b\xc0\x4d\x2c\x4f\xc9\xc5\x21\xc3\xfc\x60\x97\x74\xb6\x3f\xf1\xf0\xda\x28\xb9\x3d\xb0\xdf\xeb\x5a\x89\x8f\xd8\x8f\xd9\x23\xda\x73\x29\x50\xa8\x65\xad\x32\x3c\x0c\x42\x7b\x4a\xf5\x2f\xb7\x86\x1e\xc8\x0d\xe6\xd7\x1f\x25\xc3\x9c\x0e\xf2\x14\x19\xec\xc9\x1b\x19\xa2\xed\xde\xb0\x6c\x05\xb5\x46\x05\xda\x48\x85\x1a\x98\x00\x2e\xb4\x61\x22\x43\x8a\x63\x52\x14\x5b\xeb\x74\x16\x4f\x14\xc8\xcc\x0a\xb9\x5b\xcd\x96\x98\x88\xbd\xa8\x45\x66\xb8\x74\xf1\xae\xa5\xa1\x90\xb5\x94\x6b\x24\xdd\xc3\xdc\x71\xab\x94\x0b\x65\x95\xd4\x86\xfc\x39\xe7\x96\xb0\x61\xc7\x45\x27\xd4\x06\xe7\xdf\x5a\x73\x67\xac\x28\x30\x9f\x26\xbb\x67\x2b\xcc\xee\x35\xac\x58\x55\x91\x9e\x0c\xa8\x5a\x18\x5e\xa2\x25\xc5\x35\x2a\x60\x8d\x84\x56\x61\x29\x8f\x86\xd7\x4f\x5e\xa9\xb4\x42\xb8\xf3\xcf\x31\xa8\x37\x9c\x8c\x42\x10\x3e\x18\xd2\x50\x12\x91\xac\xcd\x48\xcc\x86\x9d\x43\xe7\x82\x0b\x4b\x7c\x0e\x5a\xd2\x73\x65\x6d\x26\x24\x6c\xd8\x16\x16\x92\x64\x2b\x59\xc1\x33\x2e\x6b\xed\xcc\x61\xa4\xdf\xd3\x69\xb1\x55\x8d\xac\xfd\xb6\x5c\x00\xe3\x6a\x0a\xd7\xa0\x2b\xcc\x38\x2b\x3c\xd2\x5a\x58\x08\xc4\x5c\x13\xa7\x79\x2b\x83\x91\x16\xc1\x0d\xbb\xd6\x6b\x53\x55\xc4\x18\x6a\x18\x5a\x51\x3a\x59\x70\xfa\x56\xc9\x35\xcf\x51\x9d\x77\x7e\x0f\x39\xa2\xfb\xfb\x6b\x56\x10\xba\xce\xd3\xbc\x3e\x25\xbd\x17\x64\x26\x9f\x55\x63\xdb\xda\xf4\x08\x73\x47\xe8\x4f\xaf\x61\xdd\x84\xb8\xbe\x94\xea\x57\x37\xe9\x34\x61\xda\xa6\x04\x6b\xbf\xc0\x99\x50\x13\xce\x6a\xb5\x4f\x58\x21\x10\x35\xc4\x94\x3f\xc6\x1d\xd6\x13\xf8\xd0\x3c\xa7\x8f\xc6\x62\x31\x0d\x2c\x5f\x04\xe6\xcd\x92\xc7\x54\x94\x9b\x80\x49\x87\x1d\x76\xef\x9c\xd0\x05\x29\x60\xee\x8b\x5a\xd6\x25\x0a\x93\x10\x92\xff\x84\x24\xa4\x1d\xb5\x27\xb2\x09\xa9\x71\xc0\x69\x7a\x72\xe3\x71\xa5\x7d\x2c\x31\x48\xb5\x13\x53\x5b\xef\xae\x21\xec\xd4\xda\xa1\x65\x25\x8b\x3c\xe1\x40\x8c\x4b\x29\x70\xdb\x2c\x9d\x23\x17\x4b\x30\x8a\x09\xbd\x40\xa5\x30\x9f\xd2\x36\x0a\x4d\xad\x84\xb6\xeb\x05\x6e\x8a\x6d\xc2\x25\x38\x94\xdf\x54\x26\x6e\x65\x19\x3b\x07\x25\x87\xe1\xc6\xfa\xe2\x3c\x4a\x72\x09\x2f\x2c\x34\x6e\xc8\xa9\x92\xa3\x26\x4b\x5e\x55\x4c\xb1\x12\x42\xe8\x27\x50\x79\x65\x11\x9a\x5c\x22\x71\x8e\xd2\xc9\xeb\x24\x56\x0a\x34\xcb\xce\x1d\xce\xf2\x71\x27\x68\x71\x23\x85\x61\x5c\x58\x8d\xac\x12\x76\xb5\xc8\x75\xaf\x80\x1e\xba\xa9\x9b\x84\x62\x81\xcd\x0b\x9c\x10\x71\xc3\xaa\x9b\xc0\x66\xf0\x2a\x25\x75\x12\xed\x05\x65\xf2\xf5\xc2\xeb\x22\x21\xa0\xb4\x33\x58\xb7\xb8\xbf\xa1\x6e\xb1\xcc\xe4\x46\xa0\x7a\x39\x65\xae\x6e\x98\x24\xbc\xbc\xb6\x9e\x5f\xc4\x21\xad\x75\x23\xc7\x6d\xf2\x24\x0f\xf1\x6a\x97\xf3\xff\x62\xd6\x75\x13\xeb\x1a\x2c\x4f\xb5\x0d\xdc\xe8\xc6\xd1\x3d\xde\x92\x88\x82\x60\x8f\xa0\x07\xbc\x86\x6b\xf0\xb9\x9b\xa8\x7d\xc1\x61\xc9\x34\x6d\xe9\xc4\x99\x63\xc6\x6a\x8d\xad\xf3\x25\x5c\x36\x24\x66\xe4\x70\xe4\x5a\xa8\xc2\xee\x3e\x0a\xb7\x98\xfa\x47\x2b\xef\x8a\xa5\x67\x99\x23\x0a\x42\x9a\xae\x4b\xcc\xed\x71\x6d\x52\x59\x48\x9b\x1c\xbd\xab\xf8\x92\xe8\xa0\x53\x38\x23\x1e\x86\xb2\x05\xb0\x33\xc2\x86\x17\xc5\xa0\x3f\xf6\x86\x64\x02\xb0\x5f\x3d\x76\x1b\xf6\x81\xb6\x1b\x4a\xe9\xe2\x60\xbd\x0f\x9e\x5f\xf8\x3a\x5b\xff\x0d\x5e\xc5\xb7\xab\x69\xaa\xe7\x43\x58\xff\xd4\xf1\x9b\x76\xa3\x72\x07\xf2\xbb\xc5\x71\x42\xe6\x6a\xe4\x83\xb8\x4f\x68\xe0\x05\x5c\x4d\xaf\x92\xe7\x01\x45\x69\x80\x89\xe0\xef\x17\x8c\xbb\x7a\xe1\x8b\xf4\x54\xdf\x12\xeb\xce\x1a\xfa\x24\x8a\x8a\x2e\x99\xf0\x62\xf8\xd1\x45\xc2\x3a\x61\xf9\x38\xe4\xa2\x04\x1e\x2a\x65\xe4\x02\x96\x68\x0c\x21\x86\x15\x85\x45\x4d\xc8\xf2\xe0\xee\xe1\x9c\x36\x25\x27\x75\xc5\x60\x2c\xc5\x30\x4e\x7d\xfc\xb8\x26\x17\x57\x6e\x9b\xdb\x6d\x85\xda\x55\x35\x01\x9f\x31\xeb\xb5\xad\x29\xe0\xd6\xd5\x09\x45\x8d\x0d\x64\x6d\x5e\x9b\xa7\xc9\xa8\x55\xf7\x1a\x0b\x59\x51\x10\x30\x12\xee\x85\xdc\xc0\x66\xc5\xb3\x15\x58\x47\x41\xe3\xea\xb2\x8a\x69\x1d\x22\x88\x72\x55\x0b\x9d\x6d\x3c\x81\x12\xcd\x4a\x0e\x38\x5c\x55\xcf\xad\x13\x2c\xd1\x58\x4d\x8c\x27\x33\xf8\x9d\x4e\xf1\xae\x63\x37\x7f\xd8\xdf\x77\x8c\x49\x8b\x9f\x0f\x77\x30\xa6\x37\xb7\xf4\xf7\xdb\xf1\xe4\xfc\x04\xd2\xef\xb8\xae\x0a\xb6\x3d\x91\xda\xfa\xe0\x77\xcc\xb0\x93\xe8\x6f\x5b\xf4\x7d\x3b\x4e\x3d\xe8\xdd\x53\x10\x97\x62\xad\xad\x94\xf1\x48\x98\xb9\x70\x48\xd0\x71\xe1\x90\xe4\x0e\x1c\x72\xd4\x5c\x79\x60\x4d\xfb\xd1\x09\xda\xa8\x3a\x33\xb5\x22\x58\x54\x0a\x29\x2f\x04\x6c\x2a\xfc\xa3\x46\x6d\xfa\x18\x0c\x86\xcb\x18\x5b\xef\x83\x58\xdb\x0a\x27\x33\xb8\x16\xdb\x9f\xed\x66\x2f\xbb\x69\x7e\xc3\x4d\xb6\xb2\x8b\x7b\xc2\x41\xc6\x34\x1e\x0f\xa3\xd9\x0e\x3d\xb4\xf0\x3c\xc8\x60\xdc\x4b\x4d\x9f\x85\xf1\x60\xf3\x11\x34\x3e\xe7\x53\x80\x3a\xb1\xc9\xe0\x98\xc5\x2f\x77\x31\xd9\x0a\xd3\x60\xf7\x24\x71\x62\xe4\x1f\x21\x50\xb3\xfc\x65\xaf\x44\x93\x53\x4d\xd6\x6a\xa5\xdf\x6a\x94\x48\x4b\xcc\x39\x83\x17\x9d\x7b\xd7\x0f\xf4\xeb\x1e\x63\xf1\x02\x67\x1d\x92\x7f\xdf\xde\xbe\xbd\xe1\x05\x0e\x53\xd1\xa7\x56\xc5\x0c\x46\x2b\x63\x2a\x3d\xbb\xbc\x64\x5a\xa3\xd1\xd3\x0d\xce\x29\xad\x5e\x10\x5b\x3d\xcd\x64\x79\xf9\xd5\xe2\xd9\xe7\xdf\x7c\x99\x5d\x65\xff\x64\x5f\x67\x79\xfe\xec\xcb\x2f\xe6\x9f\x65\x5f\x7f\x7e\xd5\x79\xc0\xbe\xfa\x2a\x9b\x7f\x96\x7d\xf3\xc5\xb3\xf7\x37\x85\xdc\xbc\xff\x4d\xaa\xbc\x64\xea\x7e\xaa\xd7\xcb\xd1\xa0\x1c\x3d\xc1\x28\x7c\xac\x36\x48\xb1\x33\x18\xf1\x92\x2d\xf1\x52\xaf\x97\x9f\x3e\x94\x45\x3f\xb7\x5d\xcb\x24\x6a\xd5\xfd\x7a\xd5\xe3\xdf\xed\xe3\x77\xfd\xe4\xc7\xf8\x92\xb7\xec\xb0\xae\x05\x2b\xe9\x0c\x3e\xc4\x35\xcc\x5c\x21\x33\x1a\x56\x80\xde\x96\x73\x49\x26\x7a\x73\x73\xbb\x67\x59\x8e\x3a\x53\xbc\xa2\x02\x7c\x06\x23\x9b\x50\x17\x61\x0b\x5b\xb2\x36\x97\x45\x57\x84\xa3\x97\x83\xae\x8e\x58\x54\xb0\x95\x75\xc8\xab\xf4\xbf\x02\x41\x37\xbc\x9b\x5b\xf8\xbb\x14\x64\xc9\xe9\x9e\xbd\xf1\xc1\xa0\x12\xac\xf8\xe5\xa7\xef\xbb\x18\x7c\xd3\x3e\x1a\x37\x20\xf3\x7b\x5f\x2c\xcc\x54\x8a\x05\x31\x97\x6a\x39\xda\x03\x82\x42\x2e\xa5\x9e\x79\x13\xee\x51\x95\xcc\x38\x2b\xf4\xac\x27\xa4\xc6\x9f\x91\xd9\x70\x63\x50\x8d\x8e\x12\xd6\x2f\xb6\x4e\x40\xb2\xbe\x9f\x17\x32\xbb\xcf\x56\x8c\x8b\x51\x3f\x5c\x20\x29\xc1\xe2\xcf\xc9\x71\x23\x0e\x5f\x1f\x11\xef\x03\x97\x61\x94\xea\xb8\xf3\xbf\x5b\xbf\x47\xb3\x80\x61\x33\xa8\x30\x75\xd8\x65\xb2\x3b\x90\xd8\xe7\xf9\x4e\xfa\x21\x59\x8e\xe1\x51\xf9\xa6\x97\xe3\x71\x59\x29\xbe\x66\x06\x03\x00\x2d\x33\xcb\xeb\xf0\x61\xbe\xe7\xe2\x1e\x73\x17\x88\xac\xbd\x3e\xd9\x95\xe8\x43\x7f\x67\xed\xb1\xb7\xda\xea\x1e\xf3\x84\x0d\x0e\xb4\xe8\xf6\xef\x1b\x54\x73\xc2\xbe\xa1\x95\xb8\x7f\x03\xd7\x44\x78\x53\x56\x66\x6b\x99\x84\xfe\xc0\x0c\xc6\x54\x36\x51\x61\xdd\x73\x43\x3c\xe0\xbb\x4d\x8b\x22\xa1\xec\x6e\x35\xde\xe3\x98\xfd\x8f\x4e\xf4\xcc\xb4\x24\x3e\xd5\x33\x23\x2e\xe3\x64\xc4\x38\x74\xf9\x9b\x0c\x5c\xf7\xa2\xed\x04\x2f\xce\xd2\x05\x8f\xed\x38\x21\x6d\xd5\xa4\x8d\x46\x67\x85\x0d\x37\x2b\x60\x71\xe7\xe5\x4f\x54\xb2\x6d\x97\x8b\xbc\x69\x1c\xf2\xb6\x2f\xc8\x8a\x82\x2a\x69\xdf\x1f\x9c\xc2\xb5\x6b\x92\x97\xb5\x76\x7d\x42\xd7\x10\x0e\xed\xfd\x84\x9b\x9d\x6b\xf8\x1a\xdc\xd8\x01\xd0\xc0\x2c\x83\x7e\x90\x2a\x77\x77\x3c\xdb\xea\x71\xcf\x5b\x6e\x59\x66\x3b\x86\xae\x4f\xc8\x5c\x02\x0c\x7e\x1c\x9a\x1b\xba\x69\x4f\xbb\xe4\x68\xb6\x15\xee\x0e\x19\xe2\xfe\x61\xab\x9b\xd0\x78\x19\x6c\xc4\x13\xbc\x77\x21\x39\x83\x57\x5d\x84\x1f\x68\xb8\x5d\x4d\xaf\x26\xb1\xe9\x7a\x9b\xfd\x76\x60\xcb\xb5\x51\xcc\xc8\x9d\xae\xfc\x80\xa1\x23\xeb\xf5\x4e\xcb\x0e\xf6\x67\xd3\xe9\x18\xa9\xa7\x64\x0f\xbc\xac\x4b\xf8\xa3\x66\xc2\x70\xb3\x8d\x1b\xb6\x7e\xda\x12\x76\xc9\x64\x5d\xe4\x5e\x98\xc1\x76\x6d\x77\x48\xe2\xfa\x59\x96\xd2\x1b\xdd\x4d\x48\xfc\x26\x47\xdd\xd4\xdc\x96\x3f\xe2\xc6\x31\x1f\x18\xf2\xcd\xe0\x95\xdf\xfc\xc3\x6e\xdb\x69\xef\x94\x30\xf9\xba\xbf\xb5\xda\x2f\xc1\x00\x83\xbd\x8d\xd6\x61\xa3\x76\xc6\x8f\x07\xfb\x36\xa4\xf6\xd7\x47\xd0\x0c\xaa\xd5\x11\x5b\xa4\x7b\x3e\x3d\x1a\xec\xce\x38\xf7\x69\x29\x30\x1c\x8e\x64\x61\x0c\x18\x3a\xcc\x0e\x6b\xd6\xa5\x19\x39\x46\x88\x06\x6e\x4c\xb8\x92\x45\x33\x5a\x7b\xda\x48\xad\x41\xc4\x4e\x77\x63\x77\x3e\xd1\x81\x7b\xda\x91\x6e\xa6\x7a\xdd\xad\xd6\x4c\x75\xfd\xaa\x6f\x24\x96\x1a\x9f\xb8\xe9\xe8\x24\xe7\xb6\x9f\x4e\xbb\x97\x21\x28\x9b\xe8\x95\x97\xf3\x84\x55\x8c\x98\x98\xa2\x1b\xc6\x9f\x32\xad\xe9\x73\xff\xce\xa1\x9f\x36\x98\x71\xef\x27\x3c\xc5\xcb\x89\xc2\x75\x87\x7b\x26\x30\x07\x0b\x8e\x4a\x61\x4f\x09\xe2\x8d\x6c\xfb\xb7\x33\x18\x39\x03\x05\xd9\x6c\x7a\x9b\x23\x2c\x2d\x68\x15\x59\x46\xd8\x74\xb9\x7b\x45\xf5\x7c\x9e\xfb\x6e\x77\xc7\xde\x03\x7c\x0b\xd4\xda\x31\x25\x85\x04\x2c\x39\x56\xa3\x3d\x95\xc0\x29\x5d\xe5\x4f\xfb\x66\x4c\xbb\xb2\x42\xdf\x01\x0e\x0e\xa8\x3a\x2f\x92\x74\xe7\x49\xf0\x51\x23\x28\x3b\xf2\xed\x8f\xe8\x7d\x33\xb6\xee\x71\x92\xef\x7f\x75\xbc\xa1\x48\x7c\x7c\xac\x69\x62\xe7\x1e\xc7\xf7\x13\x87\x76\xc2\x16\xde\x06\x39\x07\x5c\x2c\x30\x33\x7c\x8d\xc5\xd6\x6e\x1c\x3c\x29\xde\xbf\xeb\x43\xb4\xc1\x8f\xd2\xe0\xcc\xcd\xdb\x5c\xfd\x15\xbd\xb8\xc3\x6a\x23\x4b\x66\x38\x85\x86\x2d\xe8\x7a\x6e\xdf\xa3\xc0\xbc\x19\xbe\x26\x9c\xe2\x90\x93\xbe\x64\x62\xc5\xae\x33\x23\xd5\x5f\x36\xee\x8a\xa6\xc2\xb5\xea\xef\x1a\x77\x23\x04\x2d\xf4\x11\xe2\xff\x3d\xe3\x22\x2a\x16\x30\x36\x3c\xd2\xea\x9f\x30\x75\xdc\xa7\xf3\x5e\xd4\xae\x2f\x44\x58\xb5\xde\x10\x1f\xc1\x82\x3e\x0d\x02\x9f\x5d\x5d\xc5\x93\x2e\xbb\xa2\x7b\xcb\x87\x17\x70\xe9\x0b\xef\xdd\x5b\x73\x0f\x69\x7b\x29\x27\xca\xca\x7e\x4b\x08\xc3\xcd\x27\xa5\xdd\xed\x0b\x0c\x90\x87\x85\x29\x79\xf7\xa5\xc5\x21\xa9\xed\xba\xd8\xad\xc0\xd5\x21\x11\x42\xed\xc5\xa7\x9b\x37\xa3\x6c\x66\xef\x2a\x6c\x8d\x74\xed\xe1\x22\x5c\x4a\x5a\x34\x27\x30\xe9\x0f\x62\x5d\x53\x4c\xd2\xc3\xf8\x08\x32\xa5\x5d\xc6\xcf\x2f\x2c\xb3\x68\x90\xd9\xb5\xd0\xa4\xef\x3c\x0c\x9c\xee\x20\x63\x15\x9b\xf3\x82\x32\xb2\xcf\xee\xf6\xa2\x95\xc7\x6f\x91\xe0\x43\x25\x35\xc6\xc9\xd5\x2e\xbc\xf3\x57\xa5\x3b\x3f\x2f\x03\xb3\x52\xb2\x5e\x3a\xed\xdc\x05\x43\xdc\x81\xad\x72\x16\x2c\x8b\x94\x90\x9c\xa3\xe0\xe2\xfe\xf9\x27\xc3\xbd\x91\xdd\xd8\x7c\xa8\x4b\x64\x98\x5a\xa2\x19\xd0\x47\xb3\xf2\xe3\x15\x63\xdf\x2a\x1b\xd2\x8e\x37\xe7\x1d\x2c\x38\x16\xcd\x70\x1f\xee\xa2\xb9\x44\xbf\xe6\x5e\x07\xc2\x46\x71\xfb\xf4\x76\x6c\x13\xa8\x57\x91\x7b\xfb\x64\x4f\xd6\xa2\x8d\x65\x36\xc9\xb5\xd0\x4e\x6e\x9f\xe3\xfd\x48\xb6\xb4\x11\x92\xbb\x5e\x9b\x1a\xec\x0d\x05\x3e\x26\xe2\xb7\x2c\xf5\x4a\x6e\xa2\xfa\xba\x79\x9d\x6f\xc3\x34\xf0\xf6\xed\xe1\x86\x4b\x14\x3b\xf7\xbc\x5c\xdc\xef\x8e\x8f\x67\x8f\x67\xff\x0b\x00\x00\xff\xff\x2b\x07\x79\x7d\x03\x2f\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -117,7 +117,7 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x89, 0xc, 0xc, 0x8c, 0xbb, 0xf, 0xf3, 0xcc, 0xbf, 0x41, 0x68, 0xbc, 0x2e, 0x16, 0xb6, 0x8b, 0x1a, 0xe7, 0x2, 0x65, 0xd7, 0xb1, 0x67, 0xa6, 0x63, 0x20, 0x83, 0xa8, 0xf9, 0x93, 0x91, 0xf1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdb, 0x84, 0x59, 0xac, 0xb3, 0x55, 0xa6, 0x4d, 0x67, 0x40, 0xca, 0x66, 0x2a, 0x4b, 0x3f, 0x17, 0x3a, 0xcd, 0x14, 0xcc, 0x14, 0xfd, 0x6f, 0xf0, 0xf2, 0xbf, 0x90, 0x2f, 0x2, 0xc4, 0xc4, 0x80}}
 	return a, nil
 }
 
@@ -141,7 +141,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x5a\xdd\x6f\x1b\xc7\x11\x7f\xbf\xbf\x62\x60\x3f\x58\x4a\x29\xca\x48\x8b\x00\x15\x9a\xc4\x76\x1a\x01\x06\xda\x22\x88\xd5\xe4\x21\x08\xca\xe5\xdd\x1c\xb9\xf0\xde\xee\x65\x77\x8f\xf4\xc5\xd0\xff\x5e\xcc\xec\xc7\x7d\xf0\x28\x29\xf6\x4b\x81\xfa\xc5\xe4\xf1\x76\xbe\xe7\x37\x1f\xab\xeb\x2f\xbe\x28\x8a\xe7\x70\xb7\x47\xb8\x55\xe6\x08\xb7\x9d\xde\xc9\xad\x42\xb8\x33\xef\x51\x83\xf3\x42\x57\xc2\x56\x45\xf1\xfc\x39\x6c\xd2\x8f\xfc\xdb\x06\x4a\xa3\xbd\x15\xa5\x07\xa9\x3d\xda\x5a\x94\x58\x14\x44\x28\x7f\x05\xbf\x17\x1e\x84\x52\x73\xb2\xe9\xa4\x83\xa3\xe9\x54\x05\x7b\x71\x40\xf0\x86\x9e\xd7\xc6\x36\xe0\xcd\xba\x78\x5b\x83\x80\xce\xa1\x75\x70\x14\xda\x3b\xfa\xbd\xc2\x56\x99\x1e\x04\x68\x3c\x82\x9f\x90\x5a\x81\xdf\xa3\xb4\xf9\x7b\x11\x28\x6b\xc4\x8a\x4e\xca\xa6\x55\xd8\xa0\xf6\xf4\x1a\x4c\x14\x19\xe4\x5d\xb3\xfc\x23\x22\x33\xf1\x6a\xa3\xc8\x46\xa4\x10\x51\xb1\x9d\x42\x07\x42\x57\xa0\x45\x23\xf5\xae\x60\x75\xfd\xc4\x02\xae\xc5\x52\xd6\x12\xdd\x3a\x98\xf0\x27\xd1\x29\xbf\x01\x8b\xce\x74\x96\x0c\xf6\xbd\x28\xf7\x20\xca\xd2\x74\x2c\x9b\xf0\x60\x8e\xda\x05\xe5\x92\x79\x92\x12\x2c\x87\x20\x81\xc9\x2f\x25\x16\xa6\x66\x76\x4c\x34\xd3\x04\xe7\x8d\xc5\x0a\xa4\x8e\x26\x49\xd4\xe9\xb9\xd8\x45\x2d\xe7\x87\xf6\xc2\x41\x83\x7e\x6f\x2a\x07\x59\x0f\x73\xd4\x68\x59\x43\xe3\xf7\x68\xa3\x3b\x4a\xa1\xa1\x14\x4a\x45\x95\x7e\xb0\xe6\x20\x2b\xb4\x9b\x15\x6c\x7e\xc4\x12\xe5\x81\x3f\xd3\xa9\xcd\x1b\xa1\x48\xd0\x41\xe1\xc1\x34\x8e\xc5\x70\xe3\x27\x50\x61\xa9\x84\x45\x68\x2d\x5e\x95\x46\x57\xd2\x4b\xa3\x83\x89\x5b\xe3\xfc\xf8\x19\xcb\x68\xd1\x79\x2b\x4b\x5f\x90\xb0\xf8\x01\xcb\x8e\x7e\x84\x68\x96\xba\xd3\x65\x78\x39\x98\x22\xa8\x1c\xd4\xef\x81\xf8\x38\x6c\x85\x15\x1e\x61\x8b\xa5\xe8\x48\x16\x0f\x3b\x79\x40\xc7\xaf\x93\xb6\xfc\x41\x6c\xa5\x92\xbe\x27\x17\xb8\xbd\xb0\x58\x08\xb0\x58\xa3\x45\x5d\x72\x5c\x04\x33\x07\x83\x06\x17\x6a\xd5\x03\x7e\x68\x8d\x8b\xa4\x6a\x89\xaa\x72\x83\x44\x85\xd4\x60\x34\x82\xb1\xd0\x18\x8b\x49\xe2\xc1\x14\xeb\xa2\x78\x4b\xa9\xe3\x4c\x14\x28\x98\x7e\x26\x4d\x23\xde\x23\x94\x9d\xf3\xa6\xc9\x16\x8e\xa6\xc9\x01\x4f\xb6\x99\x5a\x99\x12\xc9\xc0\x41\x58\x69\x3a\x7a\x5b\xea\x9d\x83\xa3\xf4\x7b\x26\x1f\x22\x6f\x5d\xdc\x1a\x0b\xf8\x41\x10\x99\x15\x08\xa8\x45\x57\xa2\x67\xdf\x6f\x71\xa0\x8e\x15\x6c\xfb\x94\xb7\x9c\x03\x6c\x0e\x48\x41\x31\x49\xae\x37\x3d\x74\x4e\xea\xdd\x48\x56\x72\xed\x20\xda\x2a\xaa\x69\xea\xb3\x88\x51\x90\x04\x0e\x75\xc5\x47\x6d\x88\xb7\x94\x2e\x2d\xa2\xbd\xf2\xe6\x8a\xfe\x5f\xb1\x4a\xa6\xf3\x94\x36\xc4\x94\x50\x80\x38\x31\x38\x90\xb6\x02\x4a\x24\xaa\x0a\x14\x56\x3b\xb4\xe0\x1a\x61\x7d\x66\xb5\x86\x3b\x13\x38\x45\xea\xde\x80\xd0\x43\x22\xac\x8a\x80\x4f\x31\x49\x1d\xd9\xa4\x67\xa6\x95\x15\xc7\x91\x2d\xa1\xb6\xa6\x19\x07\x09\x63\x55\xc8\x21\x8e\xdc\x0a\x5b\xe3\xa4\xcf\xe1\x01\x46\x4f\x38\xbd\x70\x29\xb8\x08\x22\xc9\xf4\x1e\x03\x7d\x2b\xb4\xab\xd1\xae\x8b\xe2\x8b\xeb\xa2\xb8\xbe\xbe\x86\x05\x00\x3e\x0b\xbe\xd9\x8b\x6b\x3a\x5a\xb4\xdd\x76\x01\xd3\x67\x60\xf9\xb1\x28\x00\x00\x12\x2b\x6f\xbc\x50\xa0\xbb\x66\x8b\x96\xa3\x38\x68\x2c\x35\xe0\x07\xe9\x3c\x65\xc8\x3a\x1f\x78\xeb\x41\x3a\xe8\xda\x98\x33\xa3\x28\xb2\xf4\x08\xb5\xeb\x2c\x0e\xe8\x13\x68\xbb\xae\x6d\x55\x9f\x69\x38\x2f\x7a\x47\x90\xd6\x71\xe2\x52\x10\x04\x82\x95\xf0\xc8\x6f\x91\x1a\x07\x61\xc3\xf1\x77\x7c\xfa\x06\xfe\x7d\x2b\x3f\x7c\xf5\x97\xa9\xec\x78\xc0\x84\xb9\xd2\x01\x36\xd2\x53\x38\x1f\xc9\x35\xc4\x7e\x30\x85\x83\xd2\xa2\xf0\x58\x65\xfa\xe1\x28\x5b\xc4\xbd\xd5\xd2\x4b\xa1\xe4\xef\x58\x5d\xc8\xf0\x79\xca\xf5\xf2\xe9\x6c\x83\xf5\x08\x9a\x52\x1c\xe9\x10\x3d\x22\x44\xc0\xa2\x00\x3f\xa7\x57\x2f\x44\x43\x40\x9f\xf8\xae\xf8\xe8\x0d\xbc\xae\x2a\x8b\xce\x7d\xfb\x49\x72\xc4\xd8\xe4\x7a\x42\x09\xf0\x80\x1c\x7f\x4f\xaf\x9e\xc8\xe1\xcd\x59\x29\x66\xb1\x8a\x04\x24\x65\x44\x4d\x8b\xbf\x75\xd2\x72\x84\x38\xa8\x8d\xcd\x46\x21\xa0\x49\x44\x66\x39\x36\x04\x15\xe7\x7c\xdf\x0e\xf1\x37\x8e\xc3\xca\xa0\x03\x6d\x32\xc3\x29\x2f\xa3\x61\xb3\x4d\xa5\x6b\x8f\x16\x57\xf9\xec\xa8\x52\x28\x14\x84\xcc\xa6\x8d\x01\xd3\x1a\xe7\x64\x04\x67\x53\x87\x98\x21\x21\x22\x40\xb7\x11\x12\xdd\x20\x3a\x69\x5c\x19\x96\x43\x63\x89\xce\x09\x2b\x55\x1f\xeb\x3d\xe3\x85\x39\x6a\x88\x92\x4c\xf5\x20\xe3\x9f\x16\xd5\x01\x77\x63\x9e\x26\x56\xef\xba\x6d\x4c\xfa\xb9\xbd\xb8\xc6\x27\x84\x99\x9c\x09\x00\xeb\x3b\x4b\xa1\x10\x11\x28\x97\x09\x8b\x8d\x39\x60\x95\xcb\xc5\xe8\xe0\x84\xc8\xdd\xa8\x10\xbf\xe0\xc4\x45\xe7\x40\xe1\x01\x15\x85\x5d\xdb\x6d\x95\x2c\x57\xb0\xed\x28\x14\xa5\xa3\x67\x64\x0e\x41\xe6\xda\x2a\x6c\x26\xc4\x92\xf1\xb9\xbe\x0e\x0d\x0a\x35\x36\xec\x6d\x96\x2b\xdb\x64\xda\xfe\x4c\x08\x95\xdc\x45\x71\xae\xaa\x9e\x81\x38\x70\x4f\x92\x3e\xac\x4f\xe0\xda\x88\x1e\x76\x56\x68\x1f\x9b\xa3\xc8\x27\xeb\x48\x75\x31\x85\x00\xa9\x23\x0f\x09\xa1\x06\x29\xda\x5c\xcc\x63\xa7\x6c\x8e\x2e\xf5\x8c\xe5\xa4\xe9\xa2\xdc\x63\xba\x13\x0a\x1c\x76\xc9\xe5\x59\x75\xbf\xb7\xa6\xdb\x51\x81\xcb\x6d\xca\x53\x15\x0a\x1d\x07\x6b\x45\x46\x79\x44\x27\x76\xde\x53\x54\x22\x5a\x33\x3d\x26\xb2\x4f\x68\x7c\x9a\x1e\xaf\xa8\x95\x6b\x20\x41\x0f\xa9\x15\x3e\x8f\xca\x92\x37\xd4\xbc\xcc\xa0\x95\xe4\x38\x9c\x04\xff\xab\x10\xf9\xb0\xd0\x2a\x53\x61\x10\x52\xa7\x88\x1b\x91\xeb\x74\x35\xf5\x4f\xfe\x42\xe9\x5a\x77\x3a\xbf\x3c\x83\xc8\xcb\x1b\x78\x15\xb8\x7c\xcc\x47\xf8\x98\x71\xf3\x47\x81\x34\x6c\x2c\xba\x38\x4a\xd4\xd1\xae\x21\xfc\x59\xea\x83\x50\x1d\x9e\x1c\x0b\x47\xd6\x11\x4f\xe0\xeb\xaf\x93\xb5\x4e\xde\xa4\x7f\xcf\x52\x5d\x11\x2a\x59\xb2\xe9\x9c\x27\x0b\x12\x27\x27\x1a\x04\x11\xdc\x98\x28\xc6\x36\x76\xb0\x08\xeb\xf4\x6c\x42\xfe\xbe\x98\x7e\xba\xff\x8c\x7a\x10\x8b\xd3\x42\x39\xe0\x62\xf5\xc4\x72\xf0\x33\x26\x10\x96\xba\x54\x5d\x85\xd4\x19\xa6\x49\x23\x88\x51\xee\xb1\x7c\x3f\xd5\x35\x62\x51\xa6\x72\x44\x9e\x53\xc9\x11\xd4\xb1\x3f\xa5\x61\x0f\xb3\x52\x68\xd8\x0b\x18\x41\x53\x65\xd2\x4b\xcb\xdd\xf9\x0a\x94\x7c\x4f\xc3\xa5\x92\xdc\x2a\x35\xd4\x03\x09\x5d\x0d\x5d\x12\xb7\xad\xf4\x03\x75\x46\xb2\xe6\xec\xf1\xd0\xaa\x30\x5b\xc0\xe3\x85\x24\x4d\x72\xf3\x42\x72\x27\xde\xe3\x50\x0e\xa8\x44\x44\x27\x38\x2a\x89\xcb\x66\x1f\x12\xba\x6f\xf1\xb1\x04\x0e\x3d\xcb\xe3\x69\xc7\xc9\x16\xbc\x73\x94\x4a\x51\x58\xe6\x5e\x65\x91\x47\x4a\xc1\xf8\xd6\x45\x60\x14\xd2\xee\x72\xaa\xe4\x1b\xa4\x39\x5f\xba\x01\x77\xaa\x01\x2b\x6e\xff\xf1\xf6\x07\x78\xfe\xd5\x5f\x61\xef\x7d\xeb\x6e\xae\xaf\x77\xd2\xef\xbb\xed\xba\x34\xcd\xb5\xd1\xb5\x32\xc7\xeb\x5a\xc9\xd6\x5d\x6f\x95\xd9\x5e\x37\x42\xea\xf8\xfd\xcb\x97\x5f\xfe\xf9\xe5\x97\x2f\xbf\xba\xaa\x63\x47\x7d\xc5\xde\xbc\x62\xf0\xb9\x22\xdb\x5c\x55\xd2\x95\xe6\x80\xb6\x5f\x37\xd5\x32\x90\xd0\x97\x1f\x63\x51\xe6\xd9\x41\x72\xc1\x12\x96\x7b\x8e\x38\x26\xf4\x2d\x8e\xa6\xf8\x90\x3a\xd1\x9d\xd2\x81\xa0\x59\x20\xe2\x70\x4b\x3e\x03\xf2\xde\x26\xda\x65\x13\xd7\x00\xb3\x3a\x23\x5d\x18\x5a\x64\x5a\x8a\x44\xa4\xd9\x7c\xbc\xeb\x5b\xfc\xdb\xab\x5b\x65\x8e\xdc\x06\xae\x59\x86\x6f\x2e\x2e\x6f\xc0\xdb\x0e\xef\x37\x61\xc6\xab\x41\xe8\x7e\x1e\xfa\x13\x1e\x5d\x1a\x96\x2b\xac\x59\x8d\x1c\x43\x22\x26\xe2\x02\x7b\x6c\x5a\xdf\x8f\x8d\x20\x1c\x6b\xd3\x0a\x0a\xf8\xe5\xb2\x42\xbd\x9f\x7e\xe1\xf3\xb6\x29\x27\xd7\x74\xc1\xb5\x9e\xed\x6a\xce\x97\x9e\xef\xa6\x5a\xcd\x04\x0f\x7d\x34\x7e\x68\xb1\xf4\x61\x8f\xd3\xb5\x3b\x2b\x2a\x9c\x6d\xac\x42\x6d\xac\x2a\xde\xf0\x4c\x28\xcc\x5c\x21\x3c\x0f\x45\xc6\x7a\x17\x1c\x13\x1c\x36\x6e\x4d\xa5\x03\x8a\x22\xae\x03\xec\x6e\x42\xcb\x34\xf1\x8b\xb6\x55\xb2\x8c\xb2\xc5\xb5\xd2\x03\x75\x35\x5a\x7a\x1a\x68\x51\x00\xcc\xe9\x1f\x4a\x68\x0c\xbd\x6d\x7f\x1e\x04\xd6\x0f\x17\xc8\x1d\xfa\x77\x89\x36\x3b\x80\xc2\xcb\x51\x34\x71\xa0\xdd\xc0\x1b\x63\xd4\xfd\xac\x26\xe6\x94\x65\x9c\x26\xed\xc7\x0b\x8a\x84\xbb\xc3\x74\x69\x3b\x7d\xe5\x65\x13\x00\x29\x04\xd4\x9c\x1e\xb7\x98\x3b\xf4\x31\xd0\xc6\x83\x61\x88\xad\x09\x30\x51\x1c\x45\x94\x5e\x0c\xa2\x35\x4c\xe8\xcb\x1a\x1c\xaa\x7a\xbd\x43\x56\xef\xe2\x72\x2d\x1d\x75\xe8\xf4\xd9\xd4\x37\x10\x53\xea\x94\xd0\x37\x17\x97\x97\x0b\xfd\x40\x74\xd1\xc7\x29\xd1\x98\x80\xd3\xea\x0b\xa8\x1c\x2e\xb7\x14\x01\x56\x28\xfc\x96\xb2\x6a\x9c\x99\xdc\x5e\x70\x4c\x65\x23\x1c\xf7\x06\x2a\xa3\x5f\xf8\x25\xca\xc3\xf6\x75\xd1\x3a\x2b\x70\x5d\xb9\x27\x26\xd3\x9f\xdf\x1d\xa5\x2f\xf7\x5b\x23\x6c\xb5\x59\xc1\x86\x9f\xdd\x1a\x7b\x14\xb6\x42\xbb\x01\xf4\xe5\xfa\xac\x29\xee\x3f\xa3\xe9\x88\x95\x26\xe8\x3c\x0c\x82\xbc\xc4\x83\xf1\xce\x35\x13\x21\x88\x1b\xb5\x2a\x54\x93\x28\x5a\x34\x1e\xc3\x8b\x01\x03\xe2\x16\x61\x35\xee\x23\x32\x09\x0a\xda\x61\x93\x00\xa5\xb1\x16\x4b\xaf\xfa\x27\x55\xeb\xb8\x67\x3d\x29\xd6\x79\x8b\x32\xea\xd0\xc4\x69\xb7\x3b\xc9\xc2\x83\xb0\xe9\xf5\xe9\xde\x84\x23\x57\x4b\x7f\x31\xfb\x75\x1e\x91\x67\x9a\x56\x0e\xce\x51\xef\x99\xa8\x2c\x37\x9f\x49\xa3\xd4\x72\x8e\x6d\x93\x7a\x8c\xf0\x28\x11\x3a\xdf\x66\x4e\x6c\x72\x9b\x96\x6c\x71\x83\x1c\xe7\xdb\xb8\xd3\xff\x27\x7a\x51\x09\x2f\xe0\x27\x89\x47\x37\xdf\x73\x8a\xd9\x2e\xed\x51\xd0\x7c\xad\x41\x58\x2b\x18\x32\x19\xc8\x28\x85\x86\x1e\x66\x4c\xfe\x40\x0c\xd7\x70\x47\x80\x1e\xf2\x2b\xb5\x35\x9d\x63\xee\x13\x06\xe9\x5f\x45\x83\xb4\x69\xe3\x04\xf0\x5e\x9b\x23\x1c\xf7\xb2\xdc\x03\x37\x53\x18\x37\x6b\xad\x70\xa3\x09\xc1\x19\x75\x40\xd2\xef\xe2\x32\x96\x8e\x65\xf4\x1f\x41\x32\x5b\x83\x10\xe5\x17\xd2\xe2\xd7\x99\x77\xa3\xb2\xbf\xfc\xfa\x54\x9b\xb3\x04\xd4\x45\x36\xc9\xdc\xa4\x3d\x03\x4a\x1a\xc3\x83\x95\xc3\x1d\x0f\x95\x93\xdc\xb9\x2f\x9a\x3b\xb4\x8e\x44\x24\xb4\x8e\x24\x65\xca\xd4\x0a\x9d\xb4\xd1\xc0\xeb\x65\x2f\x81\xf3\xb6\x2b\x3d\xd5\x07\x8b\xad\x45\x97\xe6\x85\x38\x74\xa0\xf3\x4b\x04\x4e\x2c\x35\xb6\xed\x7f\x92\x38\x7d\x8b\x97\x37\xf0\x5a\xf7\xef\x98\xc9\xb7\xcb\xc6\xd3\x52\x3d\x8c\x51\xa3\xa9\x78\x0e\x51\xc3\x45\x87\x37\xe7\x76\xe3\xeb\x09\xb1\x70\xd1\x22\xd2\x6d\x09\xcf\x3b\xa5\xe5\xb5\x32\x59\x4e\xea\xf0\x68\xbe\x0a\x6e\x50\xe8\xd9\xb8\x82\xdc\x67\x9c\x59\x31\xcf\xae\x22\xdc\x43\x97\x6f\x99\x22\x67\x3c\xa7\x09\x8e\x05\x9b\x5f\x9d\x65\x3b\x84\xda\x1b\xa3\xfb\xcc\x6d\xd4\x04\xa8\x87\x5b\xa9\xf1\xcd\x43\x18\x65\xf8\xfe\xc9\xc5\xce\x2c\xce\x9b\x55\xba\xbe\xa1\x57\x86\x2b\x1c\x38\x07\xcb\x2c\xe8\x4d\x5e\xc5\xad\xf2\x2c\xb5\xfa\x43\x38\x7d\xba\x97\x78\x14\x9d\x23\xa9\xe1\x3a\x26\xb8\x33\x5a\x34\xdc\xad\x0d\x9b\x2f\xf9\xfb\xa4\x03\x9f\x2c\x6c\xc2\x62\x26\xe3\xd4\x14\x69\x4f\x6b\x60\xa0\xf0\x70\x95\x38\xb7\x90\xdc\x84\xe5\xc2\x66\x98\xb0\x98\xee\x0b\x37\x29\x91\xb0\xb8\x94\xcc\x05\x76\x68\xe2\x5d\x24\x4c\x98\x79\x7a\xfe\x7f\x7e\x65\xf4\xd9\x1b\x23\xbb\xd4\xdd\x4d\x6a\xef\x37\x8f\xec\x7d\x5e\x07\x1b\x0c\x42\xa6\x1a\xac\xc2\xda\x4e\x68\x30\x16\xf0\xb7\x4e\xa8\xf0\x6d\x61\x05\xf4\xe0\xe2\x07\x1e\xdc\x6c\xd1\x08\xc3\x8e\x6c\xb1\xa4\xa0\xcb\xb7\x62\x9b\x2d\xd6\xc6\xe2\x86\x57\x2c\xe8\xa3\x17\xa8\x52\x46\xa6\xb3\x56\x6d\x89\x78\x1c\x89\xb7\xb8\x93\x9a\xdd\x31\xbb\x2b\x1e\x6e\x91\x17\x4e\x3f\xde\xd2\xb0\x80\x17\xe3\xc7\x97\x70\xf5\xb0\xb5\xff\x95\x43\x78\x3b\x6b\x79\xc2\x78\x5f\xa7\x8b\xe6\x28\x69\x6b\xf1\xc0\x63\x5c\x7a\x5d\x84\x55\xcf\xd3\xb7\x6e\xff\x0f\xfb\x9c\xd3\x01\xf1\xb5\x73\x68\xfd\xb0\x15\x99\x56\xbc\xdc\x2b\xa4\xdb\xae\x30\xce\x86\xad\x07\xef\x3a\xe7\xf4\xe2\x48\x74\x18\x6e\xfd\xa5\x8b\x2b\x95\xa4\x52\xa4\xf6\x84\xfc\x24\xd9\xd7\xd2\xbd\x8d\x7f\xd8\x71\x31\x1d\xe4\x2e\x6f\x60\x39\x76\xbe\x13\x5a\x1b\x9f\x47\x70\x86\xf6\xd2\x34\xad\xf0\xa3\xee\x89\xf4\xfb\x84\x4c\x7c\x52\x6c\xff\x29\x3d\x66\x05\xd2\xe3\x4f\x8a\x74\xd7\x35\x8f\x86\xf8\xe0\x9e\x3f\xb6\x58\x7e\x1d\x6f\x21\x74\x1f\xff\xa8\xc3\xc4\x59\x6c\x52\x42\xd8\x89\x7b\x41\xd9\xf0\x3b\x5a\x33\x9f\xd0\x32\xb5\x31\xce\x0f\xa7\xf3\x9f\xf4\xc0\xac\x2f\xa0\x18\x0d\xdc\xbe\xa7\xb1\x9a\xdf\xbe\x58\x82\xef\x05\x47\x9c\x6e\xec\x5f\xae\x5f\xde\xc0\xb3\xc8\x5a\xf5\x69\xa6\x8c\x42\xb0\x41\xf9\xcf\x84\xc6\x1a\x3c\x3b\xb1\xcc\x7d\xf1\xdf\x00\x00\x00\xff\xff\xb9\xc5\x60\x3c\xf9\x25\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x5a\x4b\x8f\x1b\xc7\xf1\xbf\xcf\xa7\x28\x48\x07\x2d\xfd\xe7\x92\x82\xff\x81\x81\x2c\x62\x5b\x2b\xc7\x0b\x08\x48\x02\xc3\xda\xd8\x07\xc3\x08\x9b\x33\x35\x64\x43\x3d\xdd\xe3\xee\x1e\x52\xb4\xa0\xef\x1e\x54\xf5\x63\x1e\x1c\xee\xae\xe4\x1c\x02\x44\x17\x91\xc3\xe9\x7a\xd7\xaf\x1e\xbd\xeb\x2f\xbe\x28\x8a\xe7\x70\xbf\x47\xb8\x53\xe6\x08\x77\x9d\xde\xc9\xad\x42\xb8\x37\xef\x50\x83\xf3\x42\x57\xc2\x56\x45\xf1\xfc\x39\x6c\xd2\x8f\xfc\xdb\x06\x4a\xa3\xbd\x15\xa5\x07\xa9\x3d\xda\x5a\x94\x58\x14\x44\x28\x7f\x05\xbf\x17\x1e\x84\x52\x53\xb2\xe9\xa4\x83\xa3\xe9\x54\x05\x7b\x71\x40\xf0\x86\x9e\xd7\xc6\x36\xe0\xcd\xaa\x78\x53\x83\x80\xce\xa1\x75\x70\x14\xda\x3b\xfa\xbd\xc2\x56\x99\x13\x08\xd0\x78\x04\x3f\x22\xb5\x04\xbf\x47\x69\xf3\xf7\x22\x50\xd6\x88\x15\x9d\x94\x4d\xab\xb0\x41\xed\xe9\x35\x18\x29\xd2\xcb\xbb\x62\xf9\x07\x44\x26\xe2\xd5\x46\x91\x8d\x48\x21\xa2\x62\x3b\x85\x0e\x84\xae\x40\x8b\x46\xea\x5d\xc1\xea\xfa\x91\x05\x5c\x8b\xa5\xac\x25\xba\x55\x30\xe1\x4f\xa2\x53\x7e\x03\x16\x9d\xe9\x2c\x19\xec\x7b\x51\xee\x41\x94\xa5\xe9\x58\x36\xe1\xc1\x1c\xb5\x0b\xca\x25\xf3\x24\x25\x58\x0e\x41\x02\x93\x5f\x4a\x2c\x4c\xcd\xec\x98\x68\xa6\x09\xce\x1b\x8b\x15\x48\x1d\x4d\x92\xa8\xd3\x73\xb1\x8b\x5a\x4e\x0f\xed\x85\x83\x06\xfd\xde\x54\x0e\xb2\x1e\xe6\xa8\xd1\xb2\x86\xc6\xef\xd1\x46\x77\x94\x42\x43\x29\x94\x8a\x2a\xfd\x60\xcd\x41\x56\x68\x37\x4b\xd8\xfc\x88\x25\xca\x03\x7f\xa6\x53\x9b\xd7\x42\x91\xa0\xbd\xc2\xbd\x69\x1c\x8b\xe1\x86\x4f\xa0\xc2\x52\x09\x8b\xd0\x5a\xbc\x2e\x8d\xae\xa4\x97\x46\x07\x13\xb7\xc6\xf9\xe1\x33\x96\xd1\xa2\xf3\x56\x96\xbe\x20\x61\xf1\x3d\x96\x1d\xfd\x08\xd1\x2c\x75\xa7\xcb\xf0\x72\x30\x45\x50\x39\xa8\x7f\x02\xe2\xe3\xb0\x15\x56\x78\x84\x2d\x96\xa2\x23\x59\x3c\xec\xe4\x01\x1d\xbf\x4e\xda\xf2\x07\xb1\x95\x4a\xfa\x13\xb9\xc0\xed\x85\xc5\x42\x80\xc5\x1a\x2d\xea\x92\xe3\x22\x98\x39\x18\x34\xb8\x50\xab\x13\xe0\xfb\xd6\xb8\x48\xaa\x96\xa8\x2a\xd7\x4b\x54\x48\x0d\x46\x23\x18\x0b\x8d\xb1\x98\x24\xee\x4d\xb1\x2a\x8a\x37\x94\x3a\xce\x44\x81\x82\xe9\x27\xd2\x34\xe2\x1d\x42\xd9\x39\x6f\x9a\x6c\xe1\x68\x9a\x1c\xf0\x64\x9b\xb1\x95\x29\x91\x0c\x1c\x84\x95\xa6\xa3\xb7\xa5\xde\x39\x38\x4a\xbf\x67\xf2\x21\xf2\x56\xc5\x9d\xb1\x80\xef\x05\x91\x59\x82\x80\x5a\x74\x25\x7a\xf6\xfd\x16\x7b\xea\x58\xc1\xf6\x94\xf2\x96\x73\x80\xcd\x01\x29\x28\x46\xc9\xf5\xfa\x04\x9d\x93\x7a\x37\x90\x95\x5c\xdb\x8b\xb6\x8c\x6a\x9a\xfa\x22\x62\x14\x24\x81\x43\x5d\xf1\x51\x1b\xe2\x2d\xa5\x4b\x8b\x68\xaf\xbd\xb9\xa6\xff\x97\xac\x92\xe9\x3c\xa5\x0d\x31\x25\x14\x20\x4e\x0c\x0e\xa4\xad\x80\x12\x89\xaa\x02\x85\xd5\x0e\x2d\xb8\x46\x58\x9f\x59\xad\xe0\xde\x04\x4e\x91\xba\x37\x20\x74\x9f\x08\xcb\x22\xe0\x53\x4c\x52\x47\x36\x39\x31\xd3\xca\x8a\xe3\xc0\x96\x50\x5b\xd3\x0c\x83\x84\xb1\x2a\xe4\x10\x47\x6e\x85\xad\x71\xd2\xe7\xf0\x00\xa3\x47\x9c\x5e\xb8\x14\x5c\x04\x91\x64\x7a\x8f\x81\xbe\x15\xda\xd5\x68\x57\x45\xf1\xc5\xba\x28\xd6\xeb\x35\xcc\x00\xf0\x45\xf0\xcd\x5e\x5c\xd1\xd1\x42\x94\x25\x3a\x77\x25\x94\x5a\xcc\x60\xfb\x04\x34\x3f\x14\x05\x00\xc0\x7a\x0d\xb7\x1a\x50\x7b\xe9\x23\xbe\xd6\xc6\x12\x42\x9a\x23\xdb\x7c\x8f\xd9\x22\x42\x71\x98\x0f\x4c\x22\x82\x5a\x4c\x68\xc8\x7c\x48\xee\xe7\x74\x7a\xab\x30\xb1\x0c\x5a\x7a\xe3\x85\x02\xdd\x35\x5b\xb4\x03\xca\x52\x03\xbe\x97\xce\x53\x72\xae\xf2\x81\x37\x1e\xa4\x83\xae\x8d\xe9\x3a\x08\x60\x4b\x8f\x50\xbb\xce\x62\x0f\x7c\x81\xb6\xeb\xda\x56\x9d\x32\x0d\xe7\xc5\xc9\x91\xa0\x1d\x63\x06\xc5\x5f\x20\x58\x09\x8f\x67\x4a\x1c\x84\x0d\x64\xde\x32\x95\x1b\xf8\xe7\x9d\x7c\xff\xd5\x9f\xc6\x3a\xe0\x01\x13\xec\x4b\x07\xd8\x48\x4f\x19\x75\xa4\xe8\x20\x31\x7a\x2f\x38\x28\x2d\x0a\x8f\xd5\xb9\xb1\x98\x04\x3b\xc5\xbd\xd1\xd2\x4b\xa1\xe4\xef\x58\x5d\xc9\xf0\x79\xcc\x7d\xf1\x74\xf6\xc1\x9a\x84\x92\xc9\x81\xfa\x11\xaf\x0d\x04\x49\x5e\xd3\x57\xa2\xa1\xda\x93\xf8\x2f\x99\xc4\x0d\xdc\x56\x95\x45\xe7\xbe\xfd\x2c\x79\x62\xba\x70\x89\xa3\x9c\x7c\x82\x3c\x7f\x4d\x47\xce\xe4\xf1\xe6\xa2\x34\x93\x34\x42\xc2\xb8\x32\x02\xba\xc5\xdf\x3a\x69\x39\x82\x1c\x87\x7c\x32\x12\x61\x60\x22\x32\x49\xff\x3e\xe8\x38\x35\x4e\x6d\x1f\x9f\xc3\x38\xad\x0c\x3a\xd0\x26\x33\x1c\xf3\x32\x1a\x36\xdb\x54\x55\xf7\x68\x71\x99\xcf\x0e\x8a\x98\x42\x41\x45\xc3\xb4\x31\x90\x5a\xe3\x9c\x8c\x75\xc3\xd4\x21\x96\x48\x88\x58\x3b\xda\x88\xd6\xae\x17\x9d\x34\xae\x0c\xcb\xa1\x91\x8c\x2a\xac\x54\xa7\xd8\x8a\x30\x94\x99\xa3\x86\x28\xc9\x58\x8f\xa1\x13\xce\xeb\x7e\x5f\x1a\x22\x84\x24\x96\x6f\xbb\x6d\xc4\xa5\xa9\xdd\xb8\x0d\x49\x20\x38\x3a\x13\x6a\x80\xef\x2c\x85\x46\x04\xc9\x5c\xc9\x2c\x36\xe6\x80\x55\xae\x68\x83\x83\x23\x22\xf7\x83\x5e\xe1\x85\x8b\xe2\x83\xc2\x03\x2a\x0a\xc3\xb6\xdb\x2a\x59\x2e\x61\xdb\x51\x68\x4a\x47\xcf\xc8\x2c\x82\xcc\xb6\x55\xd8\x8c\x88\x25\x27\x70\x0b\xd0\xf7\x50\xd4\x7b\x25\x40\x1c\xd8\x64\xdc\xa1\x8d\x08\x95\xdc\xe8\x71\x0e\xab\x13\xd7\x8a\xc0\x3d\x49\xfa\xb0\x3e\x81\x6b\x23\x4e\xb0\xb3\x42\xfb\xd8\xbf\x45\x3e\x59\x47\x2a\xdd\x29\x14\x48\x1d\x79\x48\x48\xd6\x4b\xd1\xe6\x7e\x23\x36\xf3\xe6\xe8\x52\x5b\x5b\x8e\xfa\x42\xca\x45\xa6\x3b\xa2\xc0\xe1\x97\x5c\x9e\x55\xf7\x7b\x6b\xba\x1d\xd5\xe0\xdc\x49\x3d\x55\xa1\xd0\x14\xb1\x56\x64\x94\x47\x74\x62\xe7\x3d\x45\x25\xa2\x35\xd1\x63\x24\xfb\x88\xc6\xe7\xe9\xf1\x8a\xba\xcd\x06\x12\x04\x91\x5a\xe1\xf3\xa0\x7c\x79\x43\xfd\xd5\x04\x72\x49\x8e\xc3\x59\xf0\xbf\x0a\x91\x0f\x33\xdd\x3c\x15\x0e\x21\xf5\xb4\x04\x6b\x8a\x9e\x6a\xec\x9f\xfc\x25\xa6\xed\xb0\xe0\x2e\xe8\xfd\x7c\x7a\x82\x9d\x8b\x1b\x78\x15\xd8\x7e\xc8\x34\xe8\x1f\x75\xea\x93\x47\x81\x17\x6c\x2c\xba\x38\xfe\xd4\xd1\xd0\x21\x1f\x58\x8d\x83\x50\x1d\x9e\x1d\x0b\x47\x56\x11\x68\xe0\xeb\xaf\x93\xf9\xce\xde\xa4\x7f\xcf\x7e\xee\x9b\x8d\x68\xda\xa6\x73\x9e\x4c\x4a\x9c\x9c\x68\x10\x44\xf0\x6b\xa2\x18\x5b\xef\xde\x44\xac\xd3\xb3\x11\xf9\x8f\xc5\xf8\xd3\xc7\x3f\x50\x28\x62\xf5\x9a\xa9\x13\x5c\xcd\x9e\x58\x27\x7e\xc6\x84\xce\x52\x97\xaa\xab\x90\xba\xd9\x34\x1d\x05\x31\xca\x3d\x96\xef\xc6\xba\x46\x70\xca\x54\x8e\xc8\xb3\x35\x39\x82\xa6\x8c\xa7\x0c\x19\x61\xbe\x0b\x43\x46\x01\x03\xac\xaa\x4c\x7a\x69\x7e\xa2\x58\x82\x92\xef\x68\x20\x56\x92\x7b\xac\x86\x9a\x27\xa1\xab\xbe\xbd\xe2\x56\x9b\x7e\xa0\x96\x4a\xd6\x9c\x4e\x1e\x5a\x15\xe6\x21\x78\x7a\x85\x49\x53\xe8\xb4\xc2\xdc\x8b\x77\xd8\xd7\x09\xaa\x1d\xd1\x19\x8e\x6a\xe6\xbc\xf9\xfb\x4c\x3f\xb5\xf8\x58\x66\x87\xe6\xe6\xf1\x7c\xe4\x2c\x0c\x5e\x3a\x4a\xa5\x28\x3c\x73\x53\x33\xcb\x63\xa8\x30\xa5\x64\x7c\xfb\x2a\x30\x0c\x69\xb8\x18\x2b\xfb\x1a\x95\x39\x52\xad\xca\xc0\x54\xf5\x60\x72\xf7\xb7\x37\x3f\xc0\xf3\xaf\xfe\x0c\x7b\xef\x5b\x77\xb3\x5e\xef\xa4\xdf\x77\xdb\x55\x69\x9a\xb5\xd1\xb5\x32\xc7\x75\xad\x64\xeb\xd6\x5b\x65\xb6\xeb\x46\x48\x1d\xbf\x7f\xf9\xf2\xcb\xff\x7f\xf9\xe5\xcb\xaf\xae\xeb\x38\x0d\x5c\xb3\x77\xaf\x19\x9d\xae\xc9\x46\xd7\x95\x74\xa5\x39\xa0\x3d\xad\x9a\x6a\x1e\x69\xe8\xcb\x8f\xb1\x6a\xf3\xfc\x23\xb9\xa2\x09\xcb\xcd\x49\x1c\x75\x4e\x2d\x0e\x36\x11\x21\x95\xa2\x5b\xa5\x03\x42\xa7\x04\xd4\x2d\xf9\x0e\xc8\x8b\x9b\x68\x97\x4d\x5c\x65\x4c\x0a\x91\x74\x61\xf0\x92\x69\xb1\x13\x91\x67\xf3\xe1\xfe\xd4\xe2\x5f\x5e\xdd\x29\x73\xe4\x7e\x71\xc5\x32\x7c\x73\xb5\xb8\x01\x6f\x3b\xfc\xb8\x09\x73\x6a\x0d\x42\x9f\xa6\xa9\x30\xe2\xd1\xa5\x81\xbf\xc2\x9a\xd5\xc8\xb1\x24\x62\x62\xce\xb0\xc7\xa6\xf5\xa7\xa1\x11\x84\x63\x6d\x5a\x41\x09\x30\x5f\x77\xa8\x49\xd4\x2f\x7c\xde\x98\xe5\x64\x1b\x2f\xe9\x56\x93\x7d\xd3\xe5\xda\xf4\xdd\x58\xab\x89\xe0\xa1\xf1\xc6\xf7\x2d\x96\x3e\xec\xa2\xba\x76\x67\x45\x85\x93\xad\x5b\x28\x9e\x55\xc5\x5b\xaa\x11\x85\x89\x2b\x84\xe7\xe9\xca\x58\xef\x82\x63\x82\xc3\x86\x3d\xac\x74\x40\x51\xc4\x75\x81\xdd\x4d\xe8\x99\xb6\x16\xa2\x6d\x95\x2c\xa3\x6c\x71\x35\xf6\x40\xe1\x8d\x96\x1e\x07\x5a\x14\x00\x33\x0c\x84\x1a\x1b\x43\x6f\x7b\xba\x0c\x06\xab\x07\x2b\x68\xce\xd2\x1d\xfa\xb7\x89\x07\x3b\x82\xc2\xcc\x51\x54\x71\xc0\xdd\xc0\x6b\x63\xd4\xc7\x49\xad\xcc\xa9\xcb\xf8\x4d\x56\x18\x2e\x5b\x12\x1e\xf7\xe3\xaa\xed\xf4\xb5\x97\x4d\x00\xa8\x10\x58\x53\x7a\xdc\x8b\xee\xd0\xc7\x80\x1b\x4e\x98\x21\xc6\x46\x40\x45\xf1\x14\xd1\x7b\x36\x98\x56\x30\xa2\x2f\x6b\x70\xa8\xea\xd5\x0e\x59\xbd\xab\xc5\x4a\x3a\x6a\xe5\xe9\xb3\xa9\x6f\x20\xa6\xd6\x39\xa1\x6f\xae\x16\x8b\x99\x3e\x21\xba\xea\xc3\x98\x68\x4c\xc4\x71\x55\x06\x54\x0e\xe7\x5b\x8d\x00\x2f\x14\x86\x73\xd9\x35\xcc\x50\x6e\x3b\x38\xb6\xb2\x11\x8e\x7b\x03\x95\xd1\x2f\xfc\x1c\xe5\x7e\x93\x3c\x6b\x9d\x25\xb8\xae\xdc\x13\x93\xf1\xcf\x6f\x8f\xd2\x97\xfb\xad\x11\xb6\xda\x2c\x61\xc3\xcf\xee\x8c\x3d\x0a\x5b\xa1\xdd\x00\xfa\x72\x75\xd1\x14\x1f\xff\x40\x33\x12\x2b\x4f\xd0\xb9\x9f\x1c\x79\x21\x09\xc3\xfd\x71\x26\x42\x50\x37\x68\x61\xa8\x46\x51\xb4\x68\x3c\x86\x17\x03\x16\xc4\x75\xc4\x72\xd8\x5f\x64\x12\x14\xb4\xfd\x2a\x02\x4a\x63\x2d\x96\x5e\x9d\x3e\xa9\x8a\xc7\xdd\xf1\x59\x11\xcf\xeb\x99\x41\x07\x27\xce\xdb\xe3\xd9\xac\x3c\x08\x9b\x8e\x8d\x17\x32\x1c\xc9\x5a\xfa\xab\xc9\xaf\xd3\x08\xbd\xd0\xdc\x72\xb0\x0e\x7a\xd4\x44\x65\xbe\x49\x4d\x9a\xa5\xd6\x74\x68\xab\xd4\x83\x84\x47\x89\xd0\xe5\x76\x74\x64\x9b\xbb\xb4\x40\x8c\xdb\xf1\x38\x18\xc7\xfb\x8a\xbf\xa3\x17\x95\xf0\x02\x7e\x92\x78\x74\xd3\x1d\xae\x98\xec\x09\x1f\x05\xd3\x5b\x0d\xc2\x5a\xc1\x50\xca\xc0\x46\x29\xd5\xf7\x38\x43\xf2\x07\x62\xb8\x82\x7b\x02\xfa\x90\x6f\xa9\xed\xe9\x1c\x73\x1f\x31\x48\xff\x2a\x9a\xc0\x4d\x1b\x27\x85\x77\xda\x1c\xe1\xb8\x97\xe5\x1e\xb8\xd9\xc2\xb8\xba\x6b\x85\x1b\x4c\x12\xce\xa8\x03\x92\x7e\x57\x8b\x58\x52\xe6\xab\xc2\x0c\x54\xb3\x55\x08\x69\x7e\x21\x6d\x7e\x9d\x78\x39\x2a\xfd\xcb\xaf\x4f\xb5\x3d\x4b\x42\xdd\x66\x93\xcc\x4e\x56\x60\xa0\x49\x73\x7c\xb0\x76\xb8\xc7\xa2\x72\x93\x3b\xfd\x59\xb3\x87\x16\x93\x88\x84\x16\x93\xa4\x4c\x19\x5c\xa1\x93\x36\x1a\x7a\x35\xef\x2d\x70\xde\x76\xa5\xa7\xba\x61\xb1\xb5\xe8\xd2\x7c\x11\x87\x14\x74\x7e\x8e\xc0\x45\x8b\x0d\x6d\xfd\xaf\x24\xd6\xa9\xc5\xc5\x0d\xdc\xea\xd3\x5b\x66\xf6\xed\xbc\x11\xb5\x54\x0f\x63\xd8\x60\xbc\x9e\x42\x58\x7f\xa9\xe3\xcd\xa5\x7b\x80\xd5\x88\x58\xb8\x54\x12\xe9\x66\x88\xe7\xa4\xd2\xf2\x0a\x9d\x2c\x28\x75\x78\x34\x5d\x77\x37\x28\xf4\x64\xcc\x41\xee\x47\x2e\xac\xd3\x27\xd7\x2e\xee\xa1\x8b\xc6\x4c\x91\x11\x80\xd3\x06\x87\x82\x4d\xaf\x09\xb3\x1d\x42\x6d\x8e\xd1\x7e\xe1\xe6\x6d\x04\xe4\xfd\x0d\xdc\xf0\x96\x25\x8c\x3e\x7c\xd7\xe6\x62\x07\x17\xe7\xd4\x2a\x5d\x55\xd1\x2b\xfd\x75\x15\x3c\x06\xdb\x2c\xf0\x4d\xde\xed\x2d\xf3\x0c\xb6\xfc\x24\x1c\x3f\x5f\x74\x3c\x19\xbd\x23\xc9\xfe\x2a\x2a\xb8\x37\x5a\x38\xdc\x2b\xf6\x2b\x35\xf9\xfb\xa8\x73\x1f\x6d\x82\xc2\xc6\x27\xe3\xd8\x18\x89\xcf\x6b\x66\xa0\xf0\x70\x15\xb9\xb4\xe9\xdc\x84\x25\xc5\xa6\x9f\xcc\x98\xee\x0b\x37\x2a\xa9\x30\xbb\xed\xcc\x05\xb9\x6f\xfe\x5d\x24\x4c\x98\x7a\x7e\xfe\xbf\x7e\x17\xf5\x9f\x5f\x45\xd9\xb9\xf6\x70\x54\xac\xbf\x79\x64\xa1\x74\x1b\x8c\xd2\x4b\x9d\x8a\xb6\x0a\x0b\x42\xa1\xc1\x58\xc0\xdf\x3a\xa1\xc2\xb7\x99\xdd\xd2\x83\x1b\x25\x78\x70\x65\x46\xb3\x10\x7b\xb6\xc5\x92\xa2\x30\x5f\x11\x6e\xb6\x58\x1b\x8b\x1b\xde\xdd\xa0\x8f\x6e\xa1\xd2\x1a\x99\x4e\x7a\xbd\x39\xe2\x71\xb6\xde\xe2\x4e\x6a\xf6\xcf\xe4\xe2\xbc\xbf\x52\x9f\x39\xfd\x78\x0f\xc4\x02\x5e\x0d\x1f\x2f\xe0\xfa\x61\x6b\xff\x23\xc7\xf4\x76\xd2\x23\x85\x3d\x41\x9d\x6e\xdd\xa3\xa4\xad\xc5\x03\xcf\x83\xe9\x75\x11\x76\x48\x4f\x5f\xe7\xfd\x2f\x2d\x88\xce\x27\xcd\x5b\xe7\xd0\xfa\x7e\xcd\x32\x2e\x8d\xb9\xb9\x48\xf7\x6d\x61\x3e\x0e\x6b\x14\x5e\xa6\x4e\xe9\xc5\xd9\xea\xd0\xff\x29\x84\x74\x71\x47\x93\x54\x8b\xd4\x9e\x90\xa7\x24\xfb\x4a\xba\x37\xf1\xaf\x5d\xae\xc6\x13\xe1\xe2\x06\xe6\x63\xe8\x3b\xa1\xb5\xf1\x79\xa6\x67\xcc\x2f\x4d\xd3\x0a\x3f\x68\xb7\x48\xbf\xcf\xc8\xc8\x27\xc5\xf8\xff\xa5\xc7\xac\x40\x7a\xfc\x59\x11\xef\xba\xe6\xd1\x50\xef\xdd\xf3\x69\x9b\xeb\xdb\x78\xef\xa1\x4f\xf1\x2f\x5d\x4c\x1c\xea\x46\xb5\x85\x9d\xb8\x17\x94\x15\xbf\xa3\x35\xd3\x51\x2f\x53\x1b\x16\x80\xfe\x74\xfe\x3b\x27\xb8\xd0\x40\x50\xac\x06\xae\xdf\xd3\x9c\xce\xa7\xae\xe6\xe0\x7c\xc6\x21\xe7\x57\x03\x2f\x57\x2f\x6f\xe0\x59\x14\x41\x9d\xd2\x90\x1a\x85\x61\xc3\xf2\xdf\x50\x0d\x35\x79\x76\x66\xa1\x8f\xc5\xbf\x03\x00\x00\xff\xff\x4f\x44\x1a\x86\x16\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -157,7 +157,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x68, 0x39, 0x37, 0x8c, 0x7c, 0x94, 0xfa, 0x5, 0x1d, 0xb4, 0xf6, 0x3f, 0xcc, 0x5c, 0x57, 0x2e, 0xe7, 0xa7, 0xf4, 0x9b, 0x96, 0x2f, 0x2d, 0x16, 0x1c, 0x8f, 0x2d, 0x73, 0x81, 0x80, 0x52, 0x99}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0xcb, 0x8c, 0x1c, 0x42, 0xd2, 0xa9, 0x6b, 0x82, 0x37, 0xef, 0xe, 0x66, 0x29, 0xb0, 0x52, 0xa3, 0x42, 0xb7, 0xde, 0x6, 0x86, 0x37, 0x47, 0xce, 0xee, 0x99, 0xd5, 0x6a, 0x40, 0x6, 0x28}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/go.mod b/lib/go/templates/go.mod
index 4b373488..5ace4686 100644
--- a/lib/go/templates/go.mod
+++ b/lib/go/templates/go.mod
@@ -4,27 +4,41 @@ go 1.18
 
 require (
 	github.com/kevinburke/go-bindata v3.22.0+incompatible
-	github.com/onflow/flow-go-sdk v0.20.0
+	github.com/onflow/flow-go-sdk v0.41.7-stable-cadence
 )
 
 require (
-	github.com/btcsuite/btcd v0.20.1-beta // indirect
-	github.com/cheekybits/genny v1.0.0 // indirect
+	github.com/SaveTheRbtz/mph v0.1.2 // indirect
+	github.com/bits-and-blooms/bitset v1.5.0 // indirect
+	github.com/btcsuite/btcd/btcec/v2 v2.2.1 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
-	github.com/ethereum/go-ethereum v1.9.9 // indirect
-	github.com/fxamacker/cbor/v2 v2.2.1-0.20201006223149-25f67fca9803 // indirect
-	github.com/go-test/deep v1.0.5 // indirect
-	github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381 // indirect
-	github.com/onflow/cadence v0.15.0 // indirect
-	github.com/onflow/flow-go/crypto v0.12.0 // indirect
-	github.com/pkg/errors v0.8.1 // indirect
+	github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
+	github.com/ethereum/go-ethereum v1.9.13 // indirect
+	github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c // indirect
+	github.com/fxamacker/circlehash v0.3.0 // indirect
+	github.com/go-test/deep v1.1.0 // indirect
+	github.com/k0kubun/pp v3.0.1+incompatible // indirect
+	github.com/klauspost/cpuid/v2 v2.2.4 // indirect
+	github.com/logrusorgru/aurora/v4 v4.0.0 // indirect
+	github.com/mattn/go-colorable v0.1.13 // indirect
+	github.com/mattn/go-isatty v0.0.16 // indirect
+	github.com/onflow/atree v0.6.0 // indirect
+	github.com/onflow/cadence v0.39.13-stable-cadence // indirect
+	github.com/onflow/flow-go/crypto v0.24.7 // indirect
+	github.com/pkg/errors v0.9.1 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
-	github.com/rivo/uniseg v0.2.0 // indirect
-	github.com/segmentio/fasthash v1.0.2 // indirect
-	github.com/stretchr/testify v1.7.0 // indirect
+	github.com/rivo/uniseg v0.4.4 // indirect
+	github.com/stretchr/testify v1.8.2 // indirect
+	github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c // indirect
+	github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d // indirect
 	github.com/x448/float16 v0.8.4 // indirect
-	golang.org/x/crypto v0.1.0 // indirect
-	golang.org/x/sys v0.1.0 // indirect
-	golang.org/x/text v0.4.0 // indirect
-	gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect
+	github.com/zeebo/blake3 v0.2.3 // indirect
+	github.com/zeebo/xxh3 v1.0.2 // indirect
+	go.opentelemetry.io/otel v1.14.0 // indirect
+	golang.org/x/crypto v0.7.0 // indirect
+	golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
+	golang.org/x/sys v0.6.0 // indirect
+	golang.org/x/text v0.8.0 // indirect
+	golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
+	gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff --git a/lib/go/templates/go.sum b/lib/go/templates/go.sum
index 4858e1f9..88d9dcd8 100644
--- a/lib/go/templates/go.sum
+++ b/lib/go/templates/go.sum
@@ -1,36 +1,3 @@
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
-cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
-cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
-cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
-cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
-cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
-cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
-cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
-cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
-cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
-cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
-cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
-cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
-cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
-cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
-cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
-cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
-cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
-cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
-cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
-cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
-cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
-cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
-cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
-cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
-cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
-cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
-cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
-cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
-cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
-dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
 github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4=
 github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc=
 github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4=
@@ -45,150 +12,85 @@ github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN
 github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
 github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
 github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q=
+github.com/SaveTheRbtz/mph v0.1.2 h1:5l3W496Up+7BNOVJQnJhzcGBh+wWfxWdmPUAkx3WmaM=
+github.com/SaveTheRbtz/mph v0.1.2/go.mod h1:V4+WtKQPe2+dEA5os1WnGsEB0NR9qgqqgIiSt73+sT4=
 github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
 github.com/VictoriaMetrics/fastcache v1.5.3/go.mod h1:+jv9Ckb+za/P1ZRg/sulP5Ni1v49daAVERr0H3CuscE=
-github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
-github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
 github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
 github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM=
 github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ=
+github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
+github.com/bits-and-blooms/bitset v1.5.0 h1:NpE8frKRLGHIcEzkR+gZhiioW1+WbYV6fKwD6ZIpQT8=
+github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
 github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ=
-github.com/btcsuite/btcd v0.20.1-beta h1:Ik4hyJqN8Jfyv3S4AGBOmyouMsYE3EdYODkMbQjwPGw=
-github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ=
-github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
-github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
-github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
-github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY=
-github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
-github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY=
-github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
-github.com/bytecodealliance/wasmtime-go v0.22.0/go.mod h1:q320gUxqyI8yB+ZqRuaJOEnGkAnHh6WtJjMaT2CW4wI=
-github.com/c-bata/go-prompt v0.2.5/go.mod h1:vFnjEGDIIA/Lib7giyE4E9c50Lvl8j0S+7FVlAwDAVw=
-github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/btcsuite/btcd/btcec/v2 v2.2.1 h1:xP60mv8fvp+0khmrN0zTdPC3cNm24rfeE6lh2R/Yv3E=
+github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8=
 github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s=
 github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
 github.com/cespare/xxhash/v2 v2.0.1-0.20190104013014-3767db7a7e18/go.mod h1:HD5P3vAIAh+Y2GAxg0PrPN1P8WkepXGpjbUPDHJqqKM=
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE=
-github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ=
-github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
-github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
-github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
 github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U=
-github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
+github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
+github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc=
+github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs=
 github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
 github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
+github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
 github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/dop251/goja v0.0.0-20200219165308-d1232e640a87/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA=
 github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
 github.com/elastic/gosigar v0.8.1-0.20180330100440-37f05ff46ffa/go.mod h1:cdorVVzy1fhmEqmtgqkoE3bYtCfSCkVyjTyCIo22xvs=
-github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
-github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/ethereum/go-ethereum v1.9.9 h1:jnoBvjH8aMH++iH14XmiJdAsnRcmZUM+B5fsnEZBVE0=
-github.com/ethereum/go-ethereum v1.9.9/go.mod h1:a9TqabFudpDu1nucId+k9S8R9whYaHnGBLKFouA5EAo=
+github.com/ethereum/go-ethereum v1.9.13 h1:rOPqjSngvs1VSYH2H+PMPiWt4VEulvNRbFgqiGqJM3E=
+github.com/ethereum/go-ethereum v1.9.13/go.mod h1:qwN9d1GLyDh0N7Ab8bMGd0H9knaji2jOBm2RrMGjXls=
 github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
-github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/fxamacker/cbor/v2 v2.2.1-0.20201006223149-25f67fca9803 h1:CS/w4nHgzo/lk+H/b5BRnfGRCKw/0DBdRjIRULZWLsg=
-github.com/fxamacker/cbor/v2 v2.2.1-0.20201006223149-25f67fca9803/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
+github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c h1:5tm/Wbs9d9r+qZaUFXk59CWDD0+77PBqDREffYkyi5c=
+github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
+github.com/fxamacker/circlehash v0.3.0 h1:XKdvTtIJV9t7DDUtsf0RIpC1OcxZtPbmgIH7ekx28WA=
+github.com/fxamacker/circlehash v0.3.0/go.mod h1:3aq3OfVvsWtkWMb6A1owjOQFA+TLsD5FgJflnaQwtMM=
 github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww=
-github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
 github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
+github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/go-test/deep v1.0.5 h1:AKODKU3pDH1RzZzm6YZu77YWtEAq6uh1rLIAQlay2qc=
-github.com/go-test/deep v1.0.5/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
+github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg=
+github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
-github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
 github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.2-0.20190517061210-b285ee9cfc6c/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
-github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
-github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
-github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
-github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
-github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
-github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
-github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
 github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
-github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
-github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
-github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
-github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
+github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
 github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
 github.com/hashicorp/golang-lru v0.0.0-20160813221303-0a025b7e63ad/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/huin/goupnp v0.0.0-20161224104101-679507af18f3/go.mod h1:MZ2ZmwcBpvOoJ22IJsc7va19ZwoheaBk43rKg12SKag=
-github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY=
 github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
-github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
-github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
-github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
+github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
 github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
-github.com/k0kubun/go-ansi v0.0.0-20180517002512-3bf9e2903213/go.mod h1:vNUNkEQ1e29fT/6vq2aBdFsgNPmy8qMdSay1npru+Sw=
+github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
+github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd9g2S9Z40=
+github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg=
 github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
 github.com/kevinburke/go-bindata v3.22.0+incompatible h1:/JmqEhIWQ7GRScV0WjX/0tqBrC5D21ALg0H0U/KZ/ts=
 github.com/kevinburke/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
-github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
+github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
+github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk=
+github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -196,37 +98,33 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
-github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381 h1:bqDmpDG49ZRnB5PcgP0RXtQvnMSgIF14M7CBd2shtXs=
-github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
+github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
+github.com/logrusorgru/aurora/v4 v4.0.0 h1:sRjfPpun/63iADiSvGGjgA1cAYegEWMPCJdUpJYn9JA=
+github.com/logrusorgru/aurora/v4 v4.0.0/go.mod h1:lP0iIa2nrnT/qoFXcOZSrZQpJ1o6n2CUf/hyHi2Q4ZQ=
 github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
-github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
-github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
+github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
+github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
 github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
 github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
 github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
-github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
-github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
-github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
+github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
+github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
-github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
-github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
-github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
-github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw=
 github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
 github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
-github.com/onflow/cadence v0.15.0 h1:CqvXDUTnN8W34lsrpPSxnw7aOioaABUGppC2hiYhkHQ=
-github.com/onflow/cadence v0.15.0/go.mod h1:KMzDF6cIv6nb5PJW9aITaqazbmJX8MMeibFcpPP385M=
-github.com/onflow/flow-go-sdk v0.20.0 h1:0xcSC7OGO8DWZ7GWk/TUorVNcaPRfudH67RTzc782Kw=
-github.com/onflow/flow-go-sdk v0.20.0/go.mod h1:52QZyLwU3p3UZ2FXOy+sRl4JPdtvJoae1spIUBOFxA8=
-github.com/onflow/flow-go/crypto v0.12.0 h1:TMsqn5nsW4vrCIFG/HRE/oy/a5/sffHrDRDYqicwO98=
-github.com/onflow/flow-go/crypto v0.12.0/go.mod h1:oXuvU0Dr4lHKgye6nHEFbBXIWNv+dBQUzoVW5Go38+o=
-github.com/onflow/flow/protobuf/go/flow v0.1.9/go.mod h1:kRugbzZjwQqvevJhrnnCFMJZNmoSJmxlKt6hTGXZojM=
+github.com/onflow/atree v0.6.0 h1:j7nQ2r8npznx4NX39zPpBYHmdy45f4xwoi+dm37Jk7c=
+github.com/onflow/atree v0.6.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVFi0tc=
+github.com/onflow/cadence v0.39.13-stable-cadence h1:A08/gb4xSsgRjuXo9fkFFvtG7dIkxxkDCNk/VdWrMp4=
+github.com/onflow/cadence v0.39.13-stable-cadence/go.mod h1:SxT8/IEkS1drFj2ofUEK9S6KyJ5GQbrm0LX4EFCp/7Q=
+github.com/onflow/flow-go-sdk v0.41.7-stable-cadence h1:GrmLLAPrxOyC27v/J/XG/sKiM1ynE1MYidiMXUfM0e4=
+github.com/onflow/flow-go-sdk v0.41.7-stable-cadence/go.mod h1:ejVN+bqcsTHVvRpDDJDoBNdmcxUfFMW4IvdTbMeQ/hQ=
+github.com/onflow/flow-go/crypto v0.24.7 h1:RCLuB83At4z5wkAyUCF7MYEnPoIIOHghJaODuJyEoW0=
+github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
@@ -234,354 +132,107 @@ github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFSt
 github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34=
 github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0=
 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
 github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
-github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
 github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
-github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
-github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
-github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
+github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
+github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
 github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho=
-github.com/robertkrimen/otto v0.0.0-20170205013659-6a77b7cbc37d/go.mod h1:xvqspoSXJTIpemEonrMDFq6XzwHYYgToXWj5eRX1OtY=
-github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
 github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-github.com/schollz/progressbar/v3 v3.7.6/go.mod h1:Y9mmL2knZj3LUaBDyBEzFdPrymIr08hnlFMZmfxwbx4=
-github.com/segmentio/fasthash v1.0.2 h1:86fGDl2hB+iSHYlccB/FP9qRGvLNuH/fhEEFn6gnQUs=
-github.com/segmentio/fasthash v1.0.2/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
 github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
-github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
 github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/spaolacci/murmur3 v1.0.1-0.20190317074736-539464a789e9/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q=
 github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw=
 github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
+github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
-github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
+github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/supranational/blst v0.3.10 h1:CMciDZ/h4pXDDXQASe8ZGTNKUiVNxVVA5hpci2Uuhuk=
 github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d/go.mod h1:9OrXJhf154huy1nPWmuSrkgjPUtUNhA+Zmy+6AESzuA=
+github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c h1:HelZ2kAFadG0La9d+4htN4HzQ68Bm2iM9qKMSMES6xg=
+github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c/go.mod h1:JlzghshsemAMDGZLytTFY8C1JQxQPhnatWqNwUXjggo=
+github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d h1:5JInRQbk5UBX8JfUvKh2oYTLMVwj3p6n+wapDDm7hko=
+github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d/go.mod h1:Nlx5Y115XQvNcIdIy7dZXaNSUpzwBSge4/Ivk93/Yog=
 github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs=
 github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
 github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees=
 github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
 github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
-github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
-go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
-go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.uber.org/goleak v1.0.0 h1:qsup4IcBdlmsnGfqyLl4Ntn3C2XCCuKAE7DwHpScyUo=
-go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
-golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
+github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
+github.com/zeebo/blake3 v0.2.3 h1:TFoLXsjeXqRNFxSbk35Dk4YtszE/MQQGK10BH4ptoTg=
+github.com/zeebo/blake3 v0.2.3/go.mod h1:mjJjZpnsyIVtVgTOSpJ9vmRE4wgDeyt2HU3qXvvKCaQ=
+github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo=
+github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4=
+github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
+github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
+go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM=
+go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
+go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
-golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU=
-golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
-golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
-golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
-golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
-golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
-golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
-golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
-golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
-golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
-golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
+golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
+golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
+golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
 golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k=
-golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
-golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
-golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
-golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
-golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
-golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
-golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210223095934-7937bea0104d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
-golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
-golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
+golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
-golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
+golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
-golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
-golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
-golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
-golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200828161849-5deb26317202/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
-gonum.org/v1/gonum v0.6.1/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
-gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
-gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
-google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
-google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
-google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
-google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
-google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
-google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
-google.golang.org/api v0.31.0/go.mod h1:CL+9IBCa2WWU6gRuBWaKqGWLFFwbEUXkfeMkHLQWYWo=
-google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
-google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
-google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
-google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
-google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
-google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200831141814-d751682dd103/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
-google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
-google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
-google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
-google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
-google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
-google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
-google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
-google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
-google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
-google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
-google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
+golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
+golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
+golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
-gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
 gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c=
-gopkg.in/olebedev/go-duktape.v3 v3.0.0-20190213234257-ec84240a7772/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns=
-gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78=
+gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200316214253-d7b0ff38cac9/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
 gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
-honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
-honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
-rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
-rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
-rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
+lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0=
+pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g=
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index 7f401d7b..e0c3d897 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -3,11 +3,11 @@ module github.com/onflow/flow-ft/lib/go/test
 go 1.18
 
 require (
-	github.com/onflow/cadence v0.39.12
-	github.com/onflow/flow-emulator v0.51.2-0.20230704183611-ecad54e231b7
+	github.com/onflow/cadence v0.40.0
+	github.com/onflow/flow-emulator v0.54.0
 	github.com/onflow/flow-ft/lib/go/contracts v0.7.0
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
-	github.com/onflow/flow-go-sdk v0.41.6
+	github.com/onflow/flow-go-sdk v0.41.10
 	github.com/onflow/flow-nft/lib/go/contracts v1.1.0
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
@@ -17,12 +17,12 @@ require (
 	github.com/beorn7/perks v1.0.1 // indirect
 	github.com/bits-and-blooms/bitset v1.5.0 // indirect
 	github.com/btcsuite/btcd/btcec/v2 v2.2.1 // indirect
-	github.com/cenkalti/backoff/v4 v4.2.0 // indirect
+	github.com/cenkalti/backoff/v4 v4.2.1 // indirect
 	github.com/cespare/xxhash v1.1.0 // indirect
 	github.com/cespare/xxhash/v2 v2.2.0 // indirect
 	github.com/coreos/go-semver v0.3.0 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
-	github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect
+	github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
 	github.com/dgraph-io/badger/v2 v2.2007.4 // indirect
 	github.com/dgraph-io/ristretto v0.1.0 // indirect
 	github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 // indirect
@@ -34,7 +34,7 @@ require (
 	github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c // indirect
 	github.com/fxamacker/circlehash v0.3.0 // indirect
 	github.com/glebarez/go-sqlite v1.21.1 // indirect
-	github.com/go-logr/logr v1.2.3 // indirect
+	github.com/go-logr/logr v1.2.4 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
 	github.com/go-redis/redis/v8 v8.11.5 // indirect
 	github.com/go-test/deep v1.1.0 // indirect
@@ -50,47 +50,45 @@ require (
 	github.com/hashicorp/hcl v1.0.0 // indirect
 	github.com/inconshreveable/mousetrap v1.1.0 // indirect
 	github.com/ipfs/bbloom v0.0.4 // indirect
-	github.com/ipfs/go-block-format v0.0.3 // indirect
-	github.com/ipfs/go-cid v0.3.2 // indirect
+	github.com/ipfs/go-block-format v0.1.2 // indirect
+	github.com/ipfs/go-cid v0.4.1 // indirect
 	github.com/ipfs/go-datastore v0.6.0 // indirect
-	github.com/ipfs/go-ipfs-blockstore v1.2.0 // indirect
+	github.com/ipfs/go-ipfs-blockstore v1.3.0 // indirect
 	github.com/ipfs/go-ipfs-ds-help v1.1.0 // indirect
 	github.com/ipfs/go-ipfs-util v0.0.2 // indirect
-	github.com/ipfs/go-ipld-format v0.3.0 // indirect
+	github.com/ipfs/go-ipld-format v0.5.0 // indirect
 	github.com/ipfs/go-log v1.0.5 // indirect
 	github.com/ipfs/go-log/v2 v2.5.1 // indirect
 	github.com/ipfs/go-metrics-interface v0.0.1 // indirect
 	github.com/jbenet/goprocess v0.1.4 // indirect
 	github.com/kevinburke/go-bindata v3.23.0+incompatible // indirect
-	github.com/klauspost/compress v1.15.15 // indirect
-	github.com/klauspost/cpuid/v2 v2.2.4 // indirect
+	github.com/klauspost/compress v1.16.5 // indirect
+	github.com/klauspost/cpuid/v2 v2.2.5 // indirect
 	github.com/libp2p/go-buffer-pool v0.1.0 // indirect
-	github.com/libp2p/go-libp2p v0.24.2 // indirect
-	github.com/libp2p/go-openssl v0.1.0 // indirect
+	github.com/libp2p/go-libp2p v0.28.1 // indirect
 	github.com/logrusorgru/aurora v2.0.3+incompatible // indirect
 	github.com/logrusorgru/aurora/v4 v4.0.0 // indirect
 	github.com/magiconair/properties v1.8.7 // indirect
 	github.com/mattn/go-colorable v0.1.13 // indirect
-	github.com/mattn/go-isatty v0.0.18 // indirect
-	github.com/mattn/go-pointer v0.0.1 // indirect
+	github.com/mattn/go-isatty v0.0.19 // indirect
 	github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
-	github.com/minio/sha256-simd v1.0.0 // indirect
+	github.com/minio/sha256-simd v1.0.1 // indirect
 	github.com/mitchellh/mapstructure v1.5.0 // indirect
 	github.com/mr-tron/base58 v1.2.0 // indirect
 	github.com/multiformats/go-base32 v0.1.0 // indirect
 	github.com/multiformats/go-base36 v0.2.0 // indirect
-	github.com/multiformats/go-multiaddr v0.8.0 // indirect
-	github.com/multiformats/go-multibase v0.1.1 // indirect
-	github.com/multiformats/go-multicodec v0.7.0 // indirect
-	github.com/multiformats/go-multihash v0.2.1 // indirect
+	github.com/multiformats/go-multiaddr v0.9.0 // indirect
+	github.com/multiformats/go-multibase v0.2.0 // indirect
+	github.com/multiformats/go-multicodec v0.9.0 // indirect
+	github.com/multiformats/go-multihash v0.2.3 // indirect
+	github.com/multiformats/go-multistream v0.4.1 // indirect
 	github.com/multiformats/go-varint v0.0.7 // indirect
 	github.com/onflow/atree v0.6.0 // indirect
 	github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230703193002-53362441b57d // indirect
 	github.com/onflow/flow-core-contracts/lib/go/templates v1.2.3 // indirect
-	github.com/onflow/flow-go v0.31.1-0.20230704154018-87a84e9d36c2 // indirect
-	github.com/onflow/flow-go/crypto v0.24.7 // indirect
-	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230602212908-08fc6536d391 // indirect
-	github.com/onflow/fusd/lib/go/contracts v0.0.0-20211021081023-ae9de8fb2c7e // indirect
+	github.com/onflow/flow-go v0.31.1-0.20230808172820-f074502a67e3 // indirect
+	github.com/onflow/flow-go/crypto v0.24.9 // indirect
+	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce // indirect
 	github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead // indirect
 	github.com/onflow/sdks v0.5.0 // indirect
 	github.com/opentracing/opentracing-go v1.2.0 // indirect
@@ -99,17 +97,16 @@ require (
 	github.com/pierrec/lz4 v2.6.1+incompatible // indirect
 	github.com/pkg/errors v0.9.1 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
-	github.com/prometheus/client_golang v1.14.0 // indirect
-	github.com/prometheus/client_model v0.3.0 // indirect
-	github.com/prometheus/common v0.39.0 // indirect
-	github.com/prometheus/procfs v0.9.0 // indirect
+	github.com/prometheus/client_golang v1.16.0 // indirect
+	github.com/prometheus/client_model v0.4.0 // indirect
+	github.com/prometheus/common v0.42.0 // indirect
+	github.com/prometheus/procfs v0.10.1 // indirect
 	github.com/psiemens/graceland v1.0.0 // indirect
 	github.com/psiemens/sconfig v0.1.0 // indirect
 	github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
 	github.com/rivo/uniseg v0.4.4 // indirect
 	github.com/sethvargo/go-retry v0.2.3 // indirect
 	github.com/slok/go-http-metrics v0.10.0 // indirect
-	github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect
 	github.com/spaolacci/murmur3 v1.1.0 // indirect
 	github.com/spf13/afero v1.9.3 // indirect
 	github.com/spf13/cast v1.5.0 // indirect
@@ -124,31 +121,34 @@ require (
 	github.com/vmihailenco/msgpack/v4 v4.3.11 // indirect
 	github.com/vmihailenco/tagparser v0.1.1 // indirect
 	github.com/x448/float16 v0.8.4 // indirect
+	github.com/zeebo/assert v1.3.0 // indirect
 	github.com/zeebo/blake3 v0.2.3 // indirect
-	go.opentelemetry.io/otel v1.14.0 // indirect
-	go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 // indirect
-	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0 // indirect
+	go.opentelemetry.io/otel v1.16.0 // indirect
+	go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 // indirect
+	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 // indirect
-	go.opentelemetry.io/otel/sdk v1.14.0 // indirect
-	go.opentelemetry.io/otel/trace v1.14.0 // indirect
+	go.opentelemetry.io/otel/metric v1.16.0 // indirect
+	go.opentelemetry.io/otel/sdk v1.16.0 // indirect
+	go.opentelemetry.io/otel/trace v1.16.0 // indirect
 	go.opentelemetry.io/proto/otlp v0.19.0 // indirect
-	go.uber.org/atomic v1.10.0 // indirect
-	go.uber.org/multierr v1.9.0 // indirect
+	go.uber.org/atomic v1.11.0 // indirect
+	go.uber.org/multierr v1.11.0 // indirect
 	go.uber.org/zap v1.24.0 // indirect
-	golang.org/x/crypto v0.7.0 // indirect
-	golang.org/x/exp v0.0.0-20221217163422-3c43f8badb15 // indirect
-	golang.org/x/net v0.9.0 // indirect
-	golang.org/x/sync v0.1.0 // indirect
-	golang.org/x/sys v0.7.0 // indirect
-	golang.org/x/text v0.9.0 // indirect
+	golang.org/x/crypto v0.10.0 // indirect
+	golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
+	golang.org/x/net v0.10.0 // indirect
+	golang.org/x/sync v0.2.0 // indirect
+	golang.org/x/sys v0.9.0 // indirect
+	golang.org/x/text v0.10.0 // indirect
 	golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
+	gonum.org/v1/gonum v0.13.0 // indirect
 	google.golang.org/appengine v1.6.7 // indirect
 	google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
 	google.golang.org/grpc v1.56.1 // indirect
 	google.golang.org/protobuf v1.30.0 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
-	lukechampine.com/blake3 v1.1.7 // indirect
+	lukechampine.com/blake3 v1.2.1 // indirect
 	modernc.org/libc v1.22.3 // indirect
 	modernc.org/mathutil v1.5.0 // indirect
 	modernc.org/memory v1.5.0 // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 80e7b938..f80f5ad6 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -76,7 +76,7 @@ github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kd
 github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ=
 github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
 github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
-github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
+github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -96,8 +96,8 @@ github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtE
 github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
 github.com/bytecodealliance/wasmtime-go v0.22.0/go.mod h1:q320gUxqyI8yB+ZqRuaJOEnGkAnHh6WtJjMaT2CW4wI=
 github.com/c-bata/go-prompt v0.2.5/go.mod h1:vFnjEGDIIA/Lib7giyE4E9c50Lvl8j0S+7FVlAwDAVw=
-github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4=
-github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
+github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
+github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s=
 github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
@@ -137,9 +137,9 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
-github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0=
-github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4=
-github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc=
+github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y=
+github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs=
+github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
 github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o=
 github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk=
 github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
@@ -198,8 +198,8 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
-github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0=
-github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
+github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
+github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
 github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
 github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
@@ -291,7 +291,7 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe
 github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
 github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
 github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20221219190121-3cb0bae90811 h1:wORs2YN3R3ona/CXYuTvLM31QlgoNKHvlCNuArCDDCU=
+github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 h1:hR7/MlvK23p6+lIw9SN1TigNLn9ZnF3W4SYRKq2gAHs=
 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -312,8 +312,6 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
-github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU=
-github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48=
 github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
 github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -322,9 +320,9 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9
 github.com/hashicorp/golang-lru v0.0.0-20160813221303-0a025b7e63ad/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
 github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs=
 github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
+github.com/hashicorp/golang-lru/v2 v2.0.2 h1:Dwmkdr5Nc/oBiXgJS3CDHNhJtIHkuZ3DZF5twqnfBdU=
 github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
@@ -337,31 +335,26 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf
 github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY=
 github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
 github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0=
-github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY=
-github.com/ipfs/go-block-format v0.0.3 h1:r8t66QstRp/pd/or4dpnbVfXT5Gt7lOqRvC+/dDTpMc=
-github.com/ipfs/go-block-format v0.0.3/go.mod h1:4LmD4ZUw0mhO+JSKdpWwrzATiEfM7WWgQ8H5l6P8MVk=
-github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=
-github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=
+github.com/ipfs/boxo v0.10.0 h1:tdDAxq8jrsbRkYoF+5Rcqyeb91hgWe2hp7iLu7ORZLY=
+github.com/ipfs/go-block-format v0.1.2 h1:GAjkfhVx1f4YTODS6Esrj1wt2HhrtwTnhEr+DyPUaJo=
+github.com/ipfs/go-block-format v0.1.2/go.mod h1:mACVcrxarQKstUU3Yf/RdwbC4DzPV6++rO2a3d+a/KE=
 github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog=
-github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I=
-github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc=
-github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw=
+github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s=
+github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk=
 github.com/ipfs/go-datastore v0.5.0/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk=
 github.com/ipfs/go-datastore v0.6.0 h1:JKyz+Gvz1QEZw0LsX1IBn+JFCJQH4SJVFtM4uWU0Myk=
 github.com/ipfs/go-datastore v0.6.0/go.mod h1:rt5M3nNbSO/8q1t4LNkLyUwRs8HupMeN/8O4Vn9YAT8=
 github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk=
 github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps=
-github.com/ipfs/go-ipfs-blockstore v1.2.0 h1:n3WTeJ4LdICWs/0VSfjHrlqpPpl6MZ+ySd3j8qz0ykw=
-github.com/ipfs/go-ipfs-blockstore v1.2.0/go.mod h1:eh8eTFLiINYNSNawfZOC7HOxNTxpB1PFuA5E1m/7exE=
+github.com/ipfs/go-ipfs-blockstore v1.3.0 h1:m2EXaWgwTzAfsmt5UdJ7Is6l4gJcaM/A12XwJyvYvMM=
+github.com/ipfs/go-ipfs-blockstore v1.3.0/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHvsw8u2Dlqy2MyRTE=
 github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
 github.com/ipfs/go-ipfs-ds-help v1.1.0 h1:yLE2w9RAsl31LtfMt91tRZcrx+e61O5mDxFRR994w4Q=
 github.com/ipfs/go-ipfs-ds-help v1.1.0/go.mod h1:YR5+6EaebOhfcqVCyqemItCLthrpVNot+rsOU/5IatU=
-github.com/ipfs/go-ipfs-util v0.0.1/go.mod h1:spsl5z8KUnrve+73pOhSVZND1SIxPW5RyBCNzQxlJBc=
 github.com/ipfs/go-ipfs-util v0.0.2 h1:59Sswnk1MFaiq+VcaknX7aYEyGyGDAA73ilhEK2POp8=
 github.com/ipfs/go-ipfs-util v0.0.2/go.mod h1:CbPtkWJzjLdEcezDns2XYaehFVNXG9zrdrtMecczcsQ=
-github.com/ipfs/go-ipld-format v0.3.0 h1:Mwm2oRLzIuUwEPewWAWyMuuBQUsn3awfFEYVb8akMOQ=
-github.com/ipfs/go-ipld-format v0.3.0/go.mod h1:co/SdBE8h99968X0hViiw1MNlh6fvxxnHpvVLnH7jSM=
-github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM=
+github.com/ipfs/go-ipld-format v0.5.0 h1:WyEle9K96MSrvr47zZHKKcDxJ/vlpET6PSiQsAFO+Ds=
+github.com/ipfs/go-ipld-format v0.5.0/go.mod h1:ImdZqJQaEouMjCvqCe0ORUS+uoBmf7Hf+EO/jh+nk3M=
 github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8=
 github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo=
 github.com/ipfs/go-log/v2 v2.1.3/go.mod h1:/8d0SH3Su5Ooc31QlL1WysJhvyOTDCjcCZ9Axpmri6g=
@@ -391,19 +384,17 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
 github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
 github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
-github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw=
-github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4=
-github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
-github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
+github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI=
+github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
 github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
-github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk=
-github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
+github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
+github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
+github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@@ -411,10 +402,13 @@ github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+
 github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
 github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
 github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
-github.com/libp2p/go-libp2p v0.24.2 h1:iMViPIcLY0D6zr/f+1Yq9EavCZu2i7eDstsr1nEwSAk=
-github.com/libp2p/go-libp2p v0.24.2/go.mod h1:WuxtL2V8yGjam03D93ZBC19tvOUiPpewYv1xdFGWu1k=
-github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+Ooo=
-github.com/libp2p/go-openssl v0.1.0/go.mod h1:OiOxwPpL3n4xlenjx2h7AwSGaFSC/KZvf6gNdOBQMtc=
+github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c=
+github.com/libp2p/go-libp2p v0.28.1 h1:YurK+ZAI6cKfASLJBVFkpVBdl3wGhFi6fusOt725ii8=
+github.com/libp2p/go-libp2p v0.28.1/go.mod h1:s3Xabc9LSwOcnv9UD4nORnXKTsWkPMkIMB/JIGXVnzk=
+github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLEQHwOCZ7s8s=
+github.com/libp2p/go-libp2p-kbucket v0.6.3 h1:p507271wWzpy2f1XxPzCQG9NiN6R6lHL9GiSErbQQo0=
+github.com/libp2p/go-libp2p-pubsub v0.9.3 h1:ihcz9oIBMaCK9kcx+yHWm3mLAFBMAUsM4ux42aikDxo=
+github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0=
 github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
 github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8=
 github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
@@ -424,7 +418,6 @@ github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP
 github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
 github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
 github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
-github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
 github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
 github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
 github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
@@ -433,16 +426,13 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
 github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
 github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
 github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
-github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
 github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
 github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
 github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
 github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
 github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
-github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98=
-github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0=
-github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc=
+github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
+github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
@@ -453,11 +443,11 @@ github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvr
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
+github.com/miekg/dns v1.1.54 h1:5jon9mWcb0sFJGpnI99tOMhCPyJ+RPVz5b63MQG0VWI=
 github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
-github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U=
 github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM=
-github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g=
-github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM=
+github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
+github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
 github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ=
 github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw=
 github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
@@ -471,22 +461,21 @@ github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjW
 github.com/multiformats/go-base32 v0.0.3/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA=
 github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE=
 github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI=
-github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoRdUUOENyW/Vv6sM=
 github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0=
 github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4=
-github.com/multiformats/go-multiaddr v0.8.0 h1:aqjksEcqK+iD/Foe1RRFsGZh8+XFiGo7FgUCZlpv3LU=
-github.com/multiformats/go-multiaddr v0.8.0/go.mod h1:Fs50eBDWvZu+l3/9S6xAE7ZYj6yhxlvaVZjakWN7xRs=
+github.com/multiformats/go-multiaddr v0.9.0 h1:3h4V1LHIk5w4hJHekMKWALPXErDfz/sggzwC/NcqbDQ=
+github.com/multiformats/go-multiaddr v0.9.0/go.mod h1:mI67Lb1EeTOYb8GQfL/7wpIZwc46ElrvzhYnoJOmTT0=
+github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A=
 github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs=
-github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc=
-github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyDW27ztsVTOI=
-github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8=
-github.com/multiformats/go-multicodec v0.7.0 h1:rTUjGOwjlhGHbEMbPoSUJowG1spZTVsITRANCjKTUAQ=
-github.com/multiformats/go-multicodec v0.7.0/go.mod h1:GUC8upxSBE4oG+q3kWZRw/+6yC1BqO550bjhWsJbZlw=
-github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U=
+github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g=
+github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk=
+github.com/multiformats/go-multicodec v0.9.0 h1:pb/dlPnzee/Sxv/j4PmkDRxCOi3hXTz3IbPKOXWJkmg=
+github.com/multiformats/go-multicodec v0.9.0/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI16i14xuaojr/H7Ai54k=
 github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc=
-github.com/multiformats/go-multihash v0.0.14/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc=
-github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108=
-github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc=
+github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7BFvVU9RSh+U=
+github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM=
+github.com/multiformats/go-multistream v0.4.1 h1:rFy0Iiyn3YT0asivDUIR05leAdwZq3de4741sbiSdfo=
+github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqdtyNUEhKSM0Lwar2p77Q=
 github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
 github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
 github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
@@ -501,29 +490,27 @@ github.com/onflow/atree v0.1.0-beta1.0.20211027184039-559ee654ece9/go.mod h1:+6x
 github.com/onflow/atree v0.6.0 h1:j7nQ2r8npznx4NX39zPpBYHmdy45f4xwoi+dm37Jk7c=
 github.com/onflow/atree v0.6.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVFi0tc=
 github.com/onflow/cadence v0.20.1/go.mod h1:7mzUvPZUIJztIbr9eTvs+fQjWWHTF8veC+yk4ihcNIA=
-github.com/onflow/cadence v0.39.12 h1:bb3UdOe7nClUcaLbxSWGLSIJKuCrivpgxhPow99ikv0=
-github.com/onflow/cadence v0.39.12/go.mod h1:OIJLyVBPa339DCBQXBfGaorT4tBjQh9gSKe+ZAIyyh0=
+github.com/onflow/cadence v0.40.0 h1:3pTdkyVTjMx2U5+YZYvIpyw74CSxabjk9PdAZUkJ1GU=
+github.com/onflow/cadence v0.40.0/go.mod h1:OIJLyVBPa339DCBQXBfGaorT4tBjQh9gSKe+ZAIyyh0=
 github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230703193002-53362441b57d h1:B7PdhdUNkve5MVrekWDuQf84XsGBxNZ/D3x+QQ8XeVs=
 github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230703193002-53362441b57d/go.mod h1:xAiV/7TKhw863r6iO3CS5RnQ4F+pBY1TxD272BsILlo=
 github.com/onflow/flow-core-contracts/lib/go/templates v1.2.3 h1:X25A1dNajNUtE+KoV76wQ6BR6qI7G65vuuRXxDDqX7E=
 github.com/onflow/flow-core-contracts/lib/go/templates v1.2.3/go.mod h1:dqAUVWwg+NlOhsuBHex7bEWmsUjsiExzhe/+t4xNH6A=
-github.com/onflow/flow-emulator v0.51.2-0.20230704183611-ecad54e231b7 h1:UFcuL4WO1h41vTL6MVBNA6JSeCDrxgHXv2R7617ukeQ=
-github.com/onflow/flow-emulator v0.51.2-0.20230704183611-ecad54e231b7/go.mod h1:lwMNonHdLvfTF+YIU3yjz9huy/KSjqu+5exZ/TT7Hvc=
-github.com/onflow/flow-go v0.31.1-0.20230704154018-87a84e9d36c2 h1:PxqNnAgtsqPLPVbNzPLOMb4LR8p8FFgHeRqjV5QfF4g=
-github.com/onflow/flow-go v0.31.1-0.20230704154018-87a84e9d36c2/go.mod h1:ptH2kC9JMqhZYkLWeGt3cAZblwuURRApTxHD/AvZI3k=
+github.com/onflow/flow-emulator v0.54.0 h1:GzqMPIjsNweiyBORs8naUXhgs3PhD0X4Ep4j/kGelq0=
+github.com/onflow/flow-emulator v0.54.0/go.mod h1:cPKNx2eaxUDtXNHN9nnrt/qydWUHNQRTa/9QnsaCSpo=
+github.com/onflow/flow-go v0.31.1-0.20230808172820-f074502a67e3 h1:3iDV59Das0YkeFnjI0UkOZMz+gS1JKpTNZ4oMGH4bDM=
+github.com/onflow/flow-go v0.31.1-0.20230808172820-f074502a67e3/go.mod h1:PdmGmlNDu9HOhg31NYAKLrIhmuTvFDgCS56CTs0af9Y=
 github.com/onflow/flow-go-sdk v0.24.0/go.mod h1:IoptMLPyFXWvyd9yYA6/4EmSeeozl6nJoIv4FaEMg74=
-github.com/onflow/flow-go-sdk v0.41.6 h1:x5HhmRDvbCWXRCzHITJxOp0Komq5JJ9zphoR2u6NOCg=
-github.com/onflow/flow-go-sdk v0.41.6/go.mod h1:AYypQvn6ecMONhF3M1vBOUX9b4oHKFWkkrw8bO4VEik=
+github.com/onflow/flow-go-sdk v0.41.10 h1:Cio6GJhtx532TUY+cqrqWglD5sZCXkWeM5QvaRha3p4=
+github.com/onflow/flow-go-sdk v0.41.10/go.mod h1:0a0LiQFbFt8RW/ptoMUU7YkvW9ArVcbjLE0XS78uz1E=
 github.com/onflow/flow-go/crypto v0.21.3/go.mod h1:vI6V4CY3R6c4JKBxdcRiR/AnjBfL8OSD97bJc60cLuQ=
-github.com/onflow/flow-go/crypto v0.24.7 h1:RCLuB83At4z5wkAyUCF7MYEnPoIIOHghJaODuJyEoW0=
-github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
+github.com/onflow/flow-go/crypto v0.24.9 h1:0EQp+kSZYJepMIiSypfJVe7tzsPcb6UXOdOtsTCDhBs=
+github.com/onflow/flow-go/crypto v0.24.9/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.0 h1:rhUDeD27jhLwOqQKI/23008CYfnqXErrJvc4EFRP2a0=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.0/go.mod h1:YsvzYng4htDgRB9sa9jxdwoTuuhjK8WYWXTyLkIigZY=
 github.com/onflow/flow/protobuf/go/flow v0.2.2/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
-github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230602212908-08fc6536d391 h1:6uKg0gpLKpTZKMihrsFR0Gkq++1hykzfR1tQCKuOfw4=
-github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230602212908-08fc6536d391/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
-github.com/onflow/fusd/lib/go/contracts v0.0.0-20211021081023-ae9de8fb2c7e h1:RHaXPHvWCy3VM62+HTyu6DYq5T8rrK1gxxqogKuJ4S4=
-github.com/onflow/fusd/lib/go/contracts v0.0.0-20211021081023-ae9de8fb2c7e/go.mod h1:CRX9eXtc9zHaRVTW1Xh4Cf5pZgKkQuu1NuSEVyHXr/0=
+github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce h1:YQKijiQaq8SF1ayNqp3VVcwbBGXSnuHNHq4GQmVGybE=
+github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead h1:2j1Unqs76Z1b95Gu4C3Y28hzNUHBix7wL490e61SMSw=
 github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead/go.mod h1:E3ScfQb5XcWJCIAdtIeEnr5i5l2y60GT0BTXeIHseWg=
 github.com/onflow/sdks v0.5.0 h1:2HCRibwqDaQ1c9oUApnkZtEAhWiNY2GTpRD5+ftdkN8=
@@ -534,7 +521,6 @@ github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
 github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
 github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
 github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
-github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
 github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
@@ -557,21 +543,21 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
 github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
-github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=
-github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y=
+github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8=
+github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc=
 github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4=
-github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
+github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY=
+github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
 github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
 github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
-github.com/prometheus/common v0.39.0 h1:oOyhkDq05hPZKItWVBkJ6g6AtGxi+fy7F4JvUV8uhsI=
-github.com/prometheus/common v0.39.0/go.mod h1:6XBZ7lYdLCbkAVhwRsWTZn+IN5AB9F/NXd5w0BbEX0Y=
+github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM=
+github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc=
 github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
-github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI=
-github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY=
+github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg=
+github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM=
 github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
 github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
 github.com/psiemens/graceland v1.0.0 h1:L580AVV4Q2XLcPpmvxJRH9UpEAYr/eu2jBKmMglhvM8=
@@ -609,8 +595,6 @@ github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE
 github.com/slok/go-http-metrics v0.10.0 h1:rh0LaYEKza5eaYRGDXujKrOln57nHBi4TtVhmNEpbgM=
 github.com/slok/go-http-metrics v0.10.0/go.mod h1:lFqdaS4kWMfUKCSukjC47PdCeTk+hXDUVm8kLHRqJ38=
 github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
-github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU=
-github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc=
 github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/spaolacci/murmur3 v1.0.1-0.20190317074736-539464a789e9/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
@@ -673,7 +657,6 @@ github.com/vmihailenco/msgpack/v4 v4.3.11 h1:Q47CePddpNGNhk4GCnAx9DDtASi2rasatE0
 github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
 github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY=
 github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
-github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM=
 github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees=
 github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
 github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
@@ -684,8 +667,9 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
-github.com/zeebo/assert v1.1.0 h1:hU1L1vLTHsnO8x8c9KAR5GmM5QscxHg5RNU5z5qbUWY=
 github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
+github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
+github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
 github.com/zeebo/blake3 v0.2.0/go.mod h1:G9pM4qQwjRzF1/v7+vabMj/c5mWpGZ2Wzo3Eb4z0pb4=
 github.com/zeebo/blake3 v0.2.3 h1:TFoLXsjeXqRNFxSbk35Dk4YtszE/MQQGK10BH4ptoTg=
 github.com/zeebo/blake3 v0.2.3/go.mod h1:mjJjZpnsyIVtVgTOSpJ9vmRE4wgDeyt2HU3qXvvKCaQ=
@@ -700,34 +684,36 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
-go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM=
-go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
-go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 h1:/fXHZHGvro6MVqV34fJzDhi7sHGpX3Ej/Qjmfn003ho=
-go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0/go.mod h1:UFG7EBMRdXyFstOwH028U0sVf+AvukSGhF0g8+dmNG8=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0 h1:TKf2uAs2ueguzLaxOCBXNpHxfO/aC7PAdDsSH0IbeRQ=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0/go.mod h1:HrbCVv40OOLTABmOn1ZWty6CHXkU8DK/Urc43tHug70=
+go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s=
+go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4=
+go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0=
+go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0/go.mod h1:vLarbg68dH2Wa77g71zmKQqlQ8+8Rq3GRG31uc0WcWI=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 h1:cbsD4cUcviQGXdw8+bo5x2wazq10SKz8hEbtCRPcU78=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0/go.mod h1:JgXSGah17croqhJfhByOLVY719k1emAXC8MVhCIJlRs=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 h1:ap+y8RXX3Mu9apKVtOkM6WSFESLM8K3wNQyOU8sWHcc=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0/go.mod h1:5w41DY6S9gZrbjuq6Y+753e96WfPha5IcsOSZTtullM=
-go.opentelemetry.io/otel/sdk v1.14.0 h1:PDCppFRDq8A1jL9v6KMI6dYesaq+DFcDZvjsoGvxGzY=
-go.opentelemetry.io/otel/sdk v1.14.0/go.mod h1:bwIC5TjrNG6QDCHNWvW4HLHtUQ4I+VQDsnjhvyZCALM=
-go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyKcFq/M=
-go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8=
+go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo=
+go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4=
+go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE=
+go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4=
+go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs=
+go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
 go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw=
 go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
 go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
 go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
-go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
-go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
+go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
+go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
 go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
 go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
 go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
 go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
 go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
 go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
-go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI=
-go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ=
+go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
+go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
 go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
 go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
@@ -737,7 +723,6 @@ go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
 golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
@@ -748,8 +733,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
 golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
-golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
+golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM=
+golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I=
 golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -763,8 +748,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
 golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/exp v0.0.0-20221217163422-3c43f8badb15 h1:5oN1Pz/eDhCpbMbLstvIPa0b/BEQo6g6nwV3pLjfM6w=
-golang.org/x/exp v0.0.0-20221217163422-3c43f8badb15/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
+golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
+golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
 golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@@ -791,7 +776,7 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=
+golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -799,7 +784,6 @@ golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73r
 golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190227160552-c95aed5357e7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -833,8 +817,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
-golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
+golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
+golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -862,8 +846,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
-golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=
+golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -871,7 +855,6 @@ golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5h
 golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -932,15 +915,15 @@ golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20210910150752-751e447fb3d0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
-golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s=
+golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ=
+golang.org/x/term v0.9.0 h1:GRRCnKYhdQrD8kfRAdQ6Zcw1P0OcELxGLKJvtjVMZ28=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -949,8 +932,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
-golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58=
+golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1015,7 +998,7 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
+golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1024,7 +1007,8 @@ golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3j
 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
 gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
 gonum.org/v1/gonum v0.6.1/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
-gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM=
+gonum.org/v1/gonum v0.13.0 h1:a0T3bh+7fhRyqeNbiC3qVHYmkiQgit3wnNan/2c0HMM=
+gonum.org/v1/gonum v0.13.0/go.mod h1:/WPYRckkfWrhWefxyYTfrTtQR0KH4iyHNuzxqXAKyAU=
 gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
 gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -1210,8 +1194,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
 honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
 honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0=
-lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA=
+lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI=
+lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k=
 modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY=
 modernc.org/libc v1.22.3/go.mod h1:MQrloYP209xa2zHome2a8HLiLm6k0UT8CoHpV74tOFw=
 modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=

From 6531350dfc7f8e4decca264721ba4a560c252175 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 18 Jul 2023 12:27:19 -0500
Subject: [PATCH 005/115] integrate stable cadence changes

---
 contracts/ExampleToken-v2.cdc              | 52 ++++++++---------
 contracts/ExampleToken.cdc                 |  2 +-
 contracts/FungibleToken-v2.cdc             | 67 +++++++++++-----------
 contracts/FungibleToken.cdc                |  6 +-
 contracts/FungibleTokenMetadataViews.cdc   | 48 ++++++++--------
 contracts/FungibleTokenSwitchboard.cdc     | 58 +++++++++----------
 contracts/MultipleVaults.cdc               |  8 +--
 lib/go/contracts/contracts.go              |  2 +-
 lib/go/contracts/internal/assets/assets.go | 42 +++++++-------
 9 files changed, 144 insertions(+), 141 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 3315abd6..8f8685b5 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -1,22 +1,22 @@
-import FungibleToken from "./FungibleToken-v2.cdc"
-import MetadataViews from "./utility/MetadataViews.cdc"
-import FungibleTokenMetadataViews from "./FungibleTokenMetadataViews.cdc"
-import MultipleVaults from "./MultipleVaults.cdc"
-import ViewResolver from "./utility/ViewResolver.cdc"
+import FungibleToken from "FungibleToken-v2"
+import MetadataViews from "MetadataViews"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import MultipleVaults from "MultipleVaults.cdc"
+import ViewResolver from "ViewResolver.cdc"
 
-pub contract ExampleToken: ViewResolver, MultipleVaults {
+access(all) contract ExampleToken: ViewResolver, MultipleVaults {
 
     /// The event that is emitted when new tokens are minted
-    pub event TokensMinted(amount: UFix64, type: String)
+    access(all) event TokensMinted(amount: UFix64, type: String)
 
     /// Total supply of ExampleTokens in existence
     access(contract) var totalSupply: {Type: UFix64}
 
     /// Admin Path
-    pub let AdminStoragePath: StoragePath
+    access(all) let AdminStoragePath: StoragePath
 
     /// Function to return the types that the contract implements
-    pub fun getVaultTypes(): [Type] {
+    access(all) view fun getVaultTypes(): [Type] {
         let typeArray: [Type] = [Type<@ExampleToken.Vault>()]
         return typeArray
     }
@@ -33,31 +33,31 @@ pub contract ExampleToken: ViewResolver, MultipleVaults {
     /// out of thin air. A special Minter resource needs to be defined to mint
     /// new tokens.
     ///
-    pub resource Vault: FungibleToken.Vault, FungibleToken.Provider, FungibleToken.Transferor, FungibleToken.Receiver, FungibleToken.Balance, ViewResolver.Resolver {
+    access(all) resource Vault: FungibleToken.Vault {
 
         /// The total balance of this vault
-        pub var balance: UFix64
+        access(all) var balance: UFix64
 
         access(self) var storagePath: StoragePath
         access(self) var publicPath: PublicPath
 
         /// Returns the storage path where the vault should typically be stored
-        pub fun getDefaultStoragePath(): StoragePath? {
+        access(all) view fun getDefaultStoragePath(): StoragePath? {
             return self.storagePath
         }
 
         /// Returns the public path where this vault should have a public capability
-        pub fun getDefaultPublicPath(): PublicPath? {
+        access(all) view fun getDefaultPublicPath(): PublicPath? {
             return self.publicPath
         }
 
-        pub fun getViews(): [Type] {
+        access(all) view fun getViews(): [Type] {
             return [Type<FungibleTokenMetadataViews.FTView>(),
                     Type<FungibleTokenMetadataViews.FTDisplay>(),
                     Type<FungibleTokenMetadataViews.FTVaultData>()]
         }
 
-        pub fun resolveView(_ view: Type): AnyStruct? {
+        access(all) view fun resolveView(_ view: Type): AnyStruct? {
             switch view {
                 case Type<FungibleTokenMetadataViews.FTView>():
                     return FungibleTokenMetadataViews.FTView(
@@ -93,7 +93,7 @@ pub contract ExampleToken: ViewResolver, MultipleVaults {
                         receiverLinkedType: Type<&ExampleToken.Vault{FungibleToken.Receiver}>(),
                         metadataLinkedType: Type<&ExampleToken.Vault{FungibleToken.Balance, ViewResolver.Resolver}>(),
                         providerLinkedType: Type<&ExampleToken.Vault{FungibleToken.Provider}>(),
-                        createEmptyVaultFunction: (fun (): @ExampleToken.Vault{FungibleToken.Vault} {
+                        createEmptyVaultFunction: (fun(): @ExampleToken.Vault{FungibleToken.Vault} {
                             return <-vaultRef.createEmptyVault()
                         })
                     )
@@ -102,13 +102,13 @@ pub contract ExampleToken: ViewResolver, MultipleVaults {
         }
 
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        pub fun getSupportedVaultTypes(): {Type: Bool} {
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
             let supportedTypes: {Type: Bool} = {}
             supportedTypes[self.getType()] = true
             return supportedTypes
         }
 
-        pub fun isSupportedVaultType(type: Type): Bool {
+        access(all) view fun isSupportedVaultType(type: Type): Bool {
             return self.getSupportedVaultTypes()[type] ?? false
         }
 
@@ -121,7 +121,7 @@ pub contract ExampleToken: ViewResolver, MultipleVaults {
         }
 
         /// Get the balance of the vault
-        pub fun getBalance(): UFix64 {
+        access(all) view fun getBalance(): UFix64 {
             return self.balance
         }
 
@@ -135,7 +135,7 @@ pub contract ExampleToken: ViewResolver, MultipleVaults {
         /// created Vault to the context that called so it can be deposited
         /// elsewhere.
         ///
-        pub fun withdraw(amount: UFix64): @ExampleToken.Vault{FungibleToken.Vault} {
+        access(FungibleToken.Withdrawable) fun withdraw(amount: UFix64): @ExampleToken.Vault{FungibleToken.Vault} {
             self.balance = self.balance - amount
             return <-create Vault(balance: amount)
         }
@@ -149,14 +149,14 @@ pub contract ExampleToken: ViewResolver, MultipleVaults {
         /// was a temporary holder of the tokens. The Vault's balance has
         /// been consumed and therefore can be destroyed.
         ///
-        pub fun deposit(from: @AnyResource{FungibleToken.Vault}) {
+        access(all) fun deposit(from: @AnyResource{FungibleToken.Vault}) {
             let vault <- from as! @ExampleToken.Vault
             self.balance = self.balance + vault.balance
             vault.balance = 0.0
             destroy vault
         }
 
-        pub fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
+        access(all) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
             let transferVault <- self.withdraw(amount: amount)
 
             // Get a reference to the recipient's Receiver
@@ -174,7 +174,7 @@ pub contract ExampleToken: ViewResolver, MultipleVaults {
         /// and store the returned Vault in their storage in order to allow their
         /// account to be able to receive deposits of this token type.
         ///
-        pub fun createEmptyVault(): @ExampleToken.Vault{FungibleToken.Vault} {
+        access(all) fun createEmptyVault(): @ExampleToken.Vault{FungibleToken.Vault} {
             return <-create Vault(balance: 0.0)
         }
 
@@ -189,13 +189,13 @@ pub contract ExampleToken: ViewResolver, MultipleVaults {
     ///
     /// Resource object that token admin accounts can hold to mint new tokens.
     ///
-    pub resource Minter {
+    access(all) resource Minter {
         /// mintTokens
         ///
         /// Function that mints new tokens, adds them to the total supply,
         /// and returns them to the calling context.
         ///
-        pub fun mintTokens(amount: UFix64): @ExampleToken.Vault {
+        access(all) fun mintTokens(amount: UFix64): @ExampleToken.Vault {
             ExampleToken.totalSupply[self.getType()] = ExampleToken.totalSupply[self.getType()]! + amount
             emit TokensMinted(amount: amount, type: self.getType().identifier)
             return <-create Vault(balance: amount)
@@ -209,7 +209,7 @@ pub contract ExampleToken: ViewResolver, MultipleVaults {
     /// and store the returned Vault in their storage in order to allow their
     /// account to be able to receive deposits of this token type.
     ///
-    pub fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault} {
+    access(all) fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault} {
         switch vaultType {
             case Type<@ExampleToken.Vault>():
                 return <- create Vault(balance: 0.0)
diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index dd6a428e..57a6f41f 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -145,7 +145,7 @@ access(all) contract ExampleToken: FungibleToken {
                         receiverLinkedType: Type<&ExampleToken.Vault{FungibleToken.Receiver}>(),
                         metadataLinkedType: Type<&ExampleToken.Vault{FungibleToken.Balance, MetadataViews.Resolver}>(),
                         providerLinkedType: Type<&ExampleToken.Vault{FungibleToken.Provider}>(),
-                        createEmptyVaultFunction: (fun (): @ExampleToken.Vault {
+                        createEmptyVaultFunction: (fun(): @ExampleToken.Vault {
                             return <-ExampleToken.createEmptyVault()
                         })
                     )
diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index db298ba8..6bea512e 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -31,7 +31,7 @@ to the Provider interface.
 
 */
 
-import ViewResolver from "./utility/ViewResolver.cdc"
+import ViewResolver from "ViewResolver"
 
 /// FungibleToken
 ///
@@ -40,31 +40,34 @@ import ViewResolver from "./utility/ViewResolver.cdc"
 /// utility methods that many projects will still want to have on their contracts,
 /// but they are by no means required. all that is required is that the token
 /// implements the `Vault` interface
-pub contract FungibleToken {
+access(all) contract FungibleToken {
+
+    // An entitlement for allowing the withdrawal of tokens from a Vault
+    access(all) entitlement Withdrawable
 
     /// The event that is emitted when tokens are withdrawn from a Vault
-    pub event Withdraw(amount: UFix64, from: Address?, type: String)
+    access(all) event Withdraw(amount: UFix64, from: Address?, type: String)
     access(self) fun emitWithdrawEvent(amount: UFix64, from: Address?, type: String): Bool {
         emit Withdraw(amount: amount, from: from, type: type)
         return true
     }
 
     /// The event that is emitted when tokens are deposited to a Vault
-    pub event Deposit(amount: UFix64, to: Address?, type: String)
+    access(all) event Deposit(amount: UFix64, to: Address?, type: String)
     access(self) fun emitDepositEvent(amount: UFix64, to: Address?, type: String): Bool {
         emit Deposit(amount: amount, to: to, type: type)
         return true
     }
 
     /// The event that is emitted when tokens are transferred from one account to another
-    pub event Transfer(amount: UFix64, from: Address?, to: Address?, type: String)
+    access(all) event Transfer(amount: UFix64, from: Address?, to: Address?, type: String)
     access(self) fun emitTransferEvent(amount: UFix64, from: Address?, to: Address?, type: String): Bool {
         emit Transfer(amount: amount, from: from, to: to, type: type)
         return true
     }
 
     /// Event emitted when tokens are destroyed
-    pub event Burn(amount: UFix64, type: String)
+    access(all) event Burn(amount: UFix64, type: String)
 
     access(self) fun emitBurnEvent(amount: UFix64, type: String): Bool {
         if amount >= 0.0 {
@@ -82,7 +85,7 @@ pub contract FungibleToken {
     /// because it leaves open the possibility of creating custom providers
     /// that do not necessarily need their own balance.
     ///
-    pub resource interface Provider {
+    access(all) resource interface Provider {
 
         /// withdraw subtracts tokens from the owner's Vault
         /// and returns a Vault with the removed tokens.
@@ -99,7 +102,7 @@ pub contract FungibleToken {
         /// capability that allows all users to access the provider
         /// resource through a reference.
         ///
-        pub fun withdraw(amount: UFix64): @AnyResource{Vault} {
+        access(Withdrawable) fun withdraw(amount: UFix64): @AnyResource{Vault} {
             post {
                 // `result` refers to the return value
                 result.getBalance() == amount:
@@ -119,14 +122,14 @@ pub contract FungibleToken {
     /// can do custom things with the tokens, like split them up and
     /// send them to different places.
     ///
-    pub resource interface Receiver {
+    access(all) resource interface Receiver {
 
         /// deposit takes a Vault and deposits it into the implementing resource type
         ///
-        pub fun deposit(from: @AnyResource{Vault})
+        access(all) fun deposit(from: @AnyResource{Vault})
 
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        pub fun getSupportedVaultTypes(): {Type: Bool} {
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
             // Below check is implemented to make sure that run-time type would
             // only get returned when the parent resource conforms with `FungibleToken.Vault`. 
             if self.getType().isSubtype(of: Type<@AnyResource{FungibleToken.Vault}>()) {
@@ -140,15 +143,15 @@ pub contract FungibleToken {
 
         /// Returns whether or not the given type is accepted by the Receiver
         /// A vault that can accept any type should just return true by default
-        pub fun isSupportedVaultType(type: Type): Bool {
+        access(all) view fun isSupportedVaultType(type: Type): Bool {
             return false
         }
     }
 
-    pub resource interface Transferor {
+    access(all) resource interface Transferor {
         /// Function for a direct transfer instead of having to do a deposit and withdrawal
         ///
-        pub fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
+        access(all) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
             pre {
                 receiver.check(): "Could not borrow a reference to the NFT receiver"
             }
@@ -160,20 +163,20 @@ pub contract FungibleToken {
     /// This interface is now a general purpose metadata interface because
     /// a public interface is needed to get metadata, but adding a whole new interface
     /// for every account to upgrade to is probably too much of a breaking change
-    pub resource interface Balance { //: ViewResolver.Resolver {
+    access(all) resource interface Balance { //: ViewResolver.Resolver {
 
         /// Method to get the balance
         /// The balance could be a derived field,
         /// so there is no need to require an explicit field
-        pub fun getBalance(): UFix64
+        access(all) view fun getBalance(): UFix64
 
-        pub fun getSupportedVaultTypes(): {Type: Bool}
-        pub fun isSupportedVaultType(type: Type): Bool
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool}
+        access(all) view fun isSupportedVaultType(type: Type): Bool
 
         /// ViewResolver Methods
         ///
-        pub fun getViews(): [Type]
-        pub fun resolveView(_ view: Type): AnyStruct?
+        access(all) view fun getViews(): [Type]
+        access(all) view fun resolveView(_ view: Type): AnyStruct?
     }
 
     /// Vault
@@ -181,33 +184,33 @@ pub contract FungibleToken {
     /// Ideally, this interface would also conform to Receiver, Balance, Transferor, Provider, and Resolver
     /// but that is not supported yet
     ///
-    pub resource interface Vault { //: Receiver, Balance, Transferor, Provider, ViewResolver.Resolver {
+    access(all) resource interface Vault: Receiver, Balance, Transferor, Provider, ViewResolver.Resolver {
 
         /// Get the balance of the vault
-        pub fun getBalance(): UFix64
+        access(all) view fun getBalance(): UFix64
 
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        pub fun getSupportedVaultTypes(): {Type: Bool}
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool}
 
-        pub fun isSupportedVaultType(type: Type): Bool
+        access(all) view fun isSupportedVaultType(type: Type): Bool
 
         /// Returns the storage path where the vault should typically be stored
-        pub fun getDefaultStoragePath(): StoragePath? {
+        access(all) view fun getDefaultStoragePath(): StoragePath? {
             return nil
         }
 
         /// Returns the public path where this vault should have a public capability
-        pub fun getDefaultPublicPath(): PublicPath? {
+        access(all) view fun getDefaultPublicPath(): PublicPath? {
             return nil
         }
 
-        pub fun getViews(): [Type]
-        pub fun resolveView(_ view: Type): AnyStruct?
+        access(all) view fun getViews(): [Type]
+        access(all) view fun resolveView(_ view: Type): AnyStruct?
 
         /// withdraw subtracts `amount` from the Vault's balance
         /// and returns a new Vault with the subtracted balance
         ///
-        pub fun withdraw(amount: UFix64): @AnyResource{Vault} {
+        access(Withdrawable) fun withdraw(amount: UFix64): @AnyResource{Vault} {
             pre {
                 self.getBalance() >= amount:
                     "Amount withdrawn must be less than or equal than the balance of the Vault"
@@ -223,7 +226,7 @@ pub contract FungibleToken {
 
         /// deposit takes a Vault and adds its balance to the balance of this Vault
         ///
-        pub fun deposit(from: @AnyResource{FungibleToken.Vault}) {
+        access(all) fun deposit(from: @AnyResource{FungibleToken.Vault}) {
             // Assert that the concrete type of the deposited vault is the same
             // as the vault that is accepting the deposit
             pre {
@@ -239,7 +242,7 @@ pub contract FungibleToken {
 
         /// Function for a direct transfer instead of having to do a deposit and withdrawal
         ///
-        pub fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
+        access(all) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
             post {
                 self.getBalance() == before(self.getBalance()) - amount:
                     "New Vault balance from the sender must be the difference of the previous balance and the withdrawn Vault balance"
@@ -249,7 +252,7 @@ pub contract FungibleToken {
 
         /// createEmptyVault allows any user to create a new Vault that has a zero balance
         ///
-        pub fun createEmptyVault(): @AnyResource{Vault} {
+        access(all) fun createEmptyVault(): @AnyResource{Vault} {
             post {
                 result.getBalance() == 0.0: "The newly created Vault must have zero balance"
             }
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 0e60510b..9e8fff28 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -125,7 +125,7 @@ access(all) contract interface FungibleToken {
         ///
         /// @return dictionary of supported deposit vault types by the implementing resource.
         /// 
-        access(all) fun getSupportedVaultTypes(): {Type: Bool} {
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
             // Below check is implemented to make sure that run-time type would
             // only get returned when the parent resource conforms with `FungibleToken.Vault`. 
             if self.getType().isSubtype(of: Type<@FungibleToken.Vault>()) {
@@ -160,7 +160,7 @@ access(all) contract interface FungibleToken {
         /// @return An array of Types defining the implemented views. This value will be used by
         ///         developers to know which parameter to pass to the resolveView() method.
         ///
-        access(all) fun getViews(): [Type] {
+        access(all) view fun getViews(): [Type] {
             return []
         }
 
@@ -169,7 +169,7 @@ access(all) contract interface FungibleToken {
         /// @param view: The Type of the desired view.
         /// @return A structure representing the requested view.
         ///
-        access(all) fun resolveView(_ view: Type): AnyStruct? {
+        access(all) view fun resolveView(_ view: Type): AnyStruct? {
             return nil
         }
     }
diff --git a/contracts/FungibleTokenMetadataViews.cdc b/contracts/FungibleTokenMetadataViews.cdc
index 62489a66..e8509f06 100644
--- a/contracts/FungibleTokenMetadataViews.cdc
+++ b/contracts/FungibleTokenMetadataViews.cdc
@@ -11,15 +11,15 @@ import ViewResolver from "ViewResolver"
 /// metadata types, called views. Each view type represents
 /// a different kind of metadata.
 ///
-pub contract FungibleTokenMetadataViews {
+access(all) contract FungibleTokenMetadataViews {
 
     /// FTView wraps FTDisplay and FTVaultData, and is used to give a complete 
     /// picture of a Fungible Token. Most Fungible Token contracts should 
     /// implement this view.
     ///
-    pub struct FTView {
-        pub let ftDisplay: FTDisplay?     
-        pub let ftVaultData: FTVaultData?
+    access(all) struct FTView {
+        access(all) let ftDisplay: FTDisplay?     
+        access(all) let ftVaultData: FTVaultData?
         init(
             ftDisplay: FTDisplay?,
             ftVaultData: FTVaultData?
@@ -34,7 +34,7 @@ pub contract FungibleTokenMetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A FTView struct
     ///
-    pub fun getFTView(viewResolver: &{ViewResolver.Resolver}): FTView {
+    access(all) view fun getFTView(viewResolver: &{ViewResolver.Resolver}): FTView {
         let maybeFTView = viewResolver.resolveView(Type<FTView>())
         if let ftView = maybeFTView {
             return ftView as! FTView
@@ -49,32 +49,32 @@ pub contract FungibleTokenMetadataViews {
     /// This can be used by applications to give an overview and 
     /// graphics of the FT.
     ///
-    pub struct FTDisplay {
+    access(all) struct FTDisplay {
         /// The display name for this token.
         ///
         /// Example: "Flow"
         ///
-        pub let name: String
+        access(all) let name: String
 
         /// The abbreviated symbol for this token.
         ///
         /// Example: "FLOW"
-        pub let symbol: String
+        access(all) let symbol: String
 
         /// A description the provides an overview of this token.
         ///
         /// Example: "The FLOW token is the native currency of the Flow network."
-        pub let description: String
+        access(all) let description: String
 
         /// External link to a URL to view more information about the fungible token.
-        pub let externalURL: MetadataViews.ExternalURL
+        access(all) let externalURL: MetadataViews.ExternalURL
 
         /// One or more versions of the fungible token logo.
-        pub let logos: MetadataViews.Medias
+        access(all) let logos: MetadataViews.Medias
 
         /// Social links to reach the fungible token's social homepages.
         /// Possible keys may be "instagram", "twitter", "discord", etc.
-        pub let socials: {String: MetadataViews.ExternalURL}
+        access(all) let socials: {String: MetadataViews.ExternalURL}
 
         init(
             name: String,
@@ -98,7 +98,7 @@ pub contract FungibleTokenMetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return An optional FTDisplay struct
     ///
-    pub fun getFTDisplay(_ viewResolver: &{ViewResolver.Resolver}): FTDisplay? {
+    access(all) view fun getFTDisplay(_ viewResolver: &{ViewResolver.Resolver}): FTDisplay? {
         if let maybeDisplayView = viewResolver.resolveView(Type<FTDisplay>()) {
             if let displayView = maybeDisplayView as? FTDisplay {
                 return displayView
@@ -111,35 +111,35 @@ pub contract FungibleTokenMetadataViews {
     /// This can be used by applications to setup a FT vault with proper 
     /// storage and public capabilities.
     ///
-    pub struct FTVaultData {
+    access(all) struct FTVaultData {
         /// Path in storage where this FT vault is recommended to be stored.
-        pub let storagePath: StoragePath
+        access(all) let storagePath: StoragePath
 
         /// Public path which must be linked to expose the public receiver capability.
-        pub let receiverPath: PublicPath
+        access(all) let receiverPath: PublicPath
 
         /// Public path which must be linked to expose the balance and resolver public capabilities.
-        pub let metadataPath: PublicPath
+        access(all) let metadataPath: PublicPath
 
         /// Private path which should be linked to expose the provider capability to withdraw funds 
         /// from the vault.
-        pub let providerPath: PrivatePath
+        access(all) let providerPath: PrivatePath
 
         /// Type that should be linked at the `receiverPath`. This is a restricted type requiring 
         /// the `FungibleToken.Receiver` interface.
-        pub let receiverLinkedType: Type
+        access(all) let receiverLinkedType: Type
 
         /// Type that should be linked at the `receiverPath`. This is a restricted type requiring 
         /// the `FungibleToken.Balance` and `ViewResolver.Resolver` interfaces.
-        pub let metadataLinkedType: Type
+        access(all) let metadataLinkedType: Type
 
         /// Type that should be linked at the aforementioned private path. This 
         /// is normally a restricted type with at a minimum the `FungibleToken.Provider` interface.
-        pub let providerLinkedType: Type
+        access(all) let providerLinkedType: Type
 
         /// Function that allows creation of an empty FT vault that is intended
         /// to store the funds.
-        pub let createEmptyVault: ((): @{FungibleToken.Vault})
+        access(all) let createEmptyVault: fun(): @{FungibleToken.Vault}
 
         init(
             storagePath: StoragePath,
@@ -149,7 +149,7 @@ pub contract FungibleTokenMetadataViews {
             receiverLinkedType: Type,
             metadataLinkedType: Type,
             providerLinkedType: Type,
-            createEmptyVaultFunction: ((): @{FungibleToken.Vault})
+            createEmptyVaultFunction: fun(): @{FungibleToken.Vault}
         ) {
             pre {
                 receiverLinkedType.isSubtype(of: Type<&{FungibleToken.Receiver}>()): "Receiver public type must include FungibleToken.Receiver."
@@ -172,7 +172,7 @@ pub contract FungibleTokenMetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional FTVaultData struct
     ///
-    pub fun getFTVaultData(_ viewResolver: &{ViewResolver.Resolver}): FTVaultData? {
+    access(all) view fun getFTVaultData(_ viewResolver: &{ViewResolver.Resolver}): FTVaultData? {
         if let view = viewResolver.resolveView(Type<FTVaultData>()) {
             if let v = view as? FTVaultData {
                 return v
diff --git a/contracts/FungibleTokenSwitchboard.cdc b/contracts/FungibleTokenSwitchboard.cdc
index 66a82cdd..52747530 100644
--- a/contracts/FungibleTokenSwitchboard.cdc
+++ b/contracts/FungibleTokenSwitchboard.cdc
@@ -6,49 +6,49 @@ import FungibleToken from "FungibleToken"
 /// `FungibleTokenSwitchboard.ReceiverPublicPath = /public/GenericFTReceiver`
 /// but it can be stored anywhere.
 /// 
-pub contract FungibleTokenSwitchboard {
+access(all) contract FungibleTokenSwitchboard {
   
     // Storage and Public Paths
-    pub let StoragePath: StoragePath
-    pub let PublicPath: PublicPath
-    pub let ReceiverPublicPath: PublicPath
+    access(all) let StoragePath: StoragePath
+    access(all) let PublicPath: PublicPath
+    access(all) let ReceiverPublicPath: PublicPath
 
     /// The event that is emitted when a new vault capability is added to a
     /// switchboard resource.
     /// 
-    pub event VaultCapabilityAdded(type: Type, switchboardOwner: Address?, 
+    access(all) event VaultCapabilityAdded(type: Type, switchboardOwner: Address?, 
                                     capabilityOwner: Address?)
 
     /// The event that is emitted when a vault capability is removed from a 
     /// switchboard resource.
     /// 
-    pub event VaultCapabilityRemoved(type: Type,  switchboardOwner: Address?, 
+    access(all) event VaultCapabilityRemoved(type: Type,  switchboardOwner: Address?, 
                                         capabilityOwner: Address?)
 
     /// The event that is emitted when a deposit can not be completed.
     /// 
-    pub event NotCompletedDeposit(type: Type, amount: UFix64, 
+    access(all) event NotCompletedDeposit(type: Type, amount: UFix64, 
                                     switchboardOwner: Address?)
 
     /// The interface that enforces the method to allow anyone to check on the
     /// available capabilities of a switchboard resource and also exposes the 
     /// deposit methods to deposit funds on it.
     /// 
-    pub resource interface SwitchboardPublic {
-        pub fun getVaultTypes(): [Type]
-        pub fun getVaultTypesWithAddress(): {Type: Address}
-        pub fun getSupportedVaultTypes(): {Type: Bool}
-        pub fun deposit(from: @FungibleToken.Vault)
-        pub fun safeDeposit(from: @FungibleToken.Vault): @FungibleToken.Vault?
-        pub fun checkReceiverByType(type: Type): Bool
-        pub fun safeBorrowByType(type: Type): &{FungibleToken.Receiver}?
+    access(all) resource interface SwitchboardPublic {
+        access(all) view fun getVaultTypes(): [Type]
+        access(all) view fun getVaultTypesWithAddress(): {Type: Address}
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool}
+        access(all) fun deposit(from: @FungibleToken.Vault)
+        access(all) fun safeDeposit(from: @FungibleToken.Vault): @FungibleToken.Vault?
+        access(all) view fun checkReceiverByType(type: Type): Bool
+        access(all) view fun safeBorrowByType(type: Type): &{FungibleToken.Receiver}?
     }
 
     /// The resource that stores the multiple fungible token receiver 
     /// capabilities, allowing the owner to add and remove them and anyone to 
     /// deposit any fungible token among the available types.
     /// 
-    pub resource Switchboard: FungibleToken.Receiver, SwitchboardPublic {
+    access(all) resource Switchboard: FungibleToken.Receiver, SwitchboardPublic {
        
         /// Dictionary holding the fungible token receiver capabilities, 
         /// indexed by the fungible token vault type.
@@ -62,7 +62,7 @@ pub contract FungibleTokenSwitchboard {
         /// token vault deposit function through `{FungibleToken.Receiver}` that
         /// will be added to the switchboard.
         /// 
-        pub fun addNewVault(capability: Capability<&{FungibleToken.Receiver}>) {
+        access(all) fun addNewVault(capability: Capability<&{FungibleToken.Receiver}>) {
             // Borrow a reference to the vault pointed to by the capability we 
             // want to store inside the switchboard
             let vaultRef = capability.borrow() 
@@ -89,7 +89,7 @@ pub contract FungibleTokenSwitchboard {
         /// @param paths: The paths where the public capabilities are stored.
         /// @param address: The address of the owner of the capabilities.
         /// 
-        pub fun addNewVaultsByPath(paths: [PublicPath], address: Address) {
+        access(all) fun addNewVaultsByPath(paths: [PublicPath], address: Address) {
             // Get the account where the public capabilities are stored
             let owner = getAccount(address)
             // For each path, get the saved capability and store it 
@@ -131,7 +131,7 @@ pub contract FungibleTokenSwitchboard {
         /// capability, rather than the `Type` from the reference borrowed from
         /// said capability
         /// 
-        pub fun addNewVaultWrapper(capability: Capability<&{FungibleToken.Receiver}>, 
+        access(all) fun addNewVaultWrapper(capability: Capability<&{FungibleToken.Receiver}>, 
                                                                         type: Type) {
             // Check if the capability is working
             assert(capability.check(), message: "The passed capability is not valid")
@@ -155,7 +155,7 @@ pub contract FungibleTokenSwitchboard {
         /// @param types: The types of the fungible token to be deposited on each path.
         /// @param address: The address of the owner of the capabilities.
         /// 
-        pub fun addNewVaultWrappersByPath(paths: [PublicPath], types: [Type], 
+        access(all) fun addNewVaultWrappersByPath(paths: [PublicPath], types: [Type], 
                                                                   address: Address) {
             // Get the account where the public capabilities are stored
             let owner = getAccount(address)
@@ -188,7 +188,7 @@ pub contract FungibleTokenSwitchboard {
         /// @param capability: The capability to a fungible token vault to be
         /// removed from the switchboard.
         /// 
-        pub fun removeVault(capability: Capability<&{FungibleToken.Receiver}>) {
+        access(all) fun removeVault(capability: Capability<&{FungibleToken.Receiver}>) {
             // Borrow a reference to the vault pointed to by the capability we 
             // want to remove from the switchboard
             let vaultRef = capability.borrow()
@@ -207,7 +207,7 @@ pub contract FungibleTokenSwitchboard {
         /// 
         /// @param from: The deposited fungible token vault resource.
         /// 
-        pub fun deposit(from: @FungibleToken.Vault) {
+        access(all) fun deposit(from: @FungibleToken.Vault) {
             // Get the capability from the ones stored at the switchboard
             let depositedVaultCapability 
                                           = self.receiverCapabilities[from.getType()] 
@@ -230,7 +230,7 @@ pub contract FungibleTokenSwitchboard {
         /// funds if the deposit was successful, or still containing the funds
         /// if the reference to the needed vault was not found.
         /// 
-        pub fun safeDeposit(from: @FungibleToken.Vault): @FungibleToken.Vault? {
+        access(all) fun safeDeposit(from: @FungibleToken.Vault): @FungibleToken.Vault? {
             // Try to get the proper vault capability from the switchboard
             // If the desired vault is present on the switchboard...
             if let depositedVaultCapability
@@ -258,7 +258,7 @@ pub contract FungibleTokenSwitchboard {
         /// @param vaultType: The type of the ft vault whose capability needs to be checked
         ///
         /// @return a boolean marking the capability for a type as valid or not
-        pub fun checkReceiverByType(type: Type): Bool {
+        access(all) view fun checkReceiverByType(type: Type): Bool {
             if self.receiverCapabilities[type] == nil {
                 return false
             }
@@ -274,7 +274,7 @@ pub contract FungibleTokenSwitchboard {
         /// @param vaultType: The type of the ft vault whose capability needs to be checked
         ///
         /// @return an optional receiver capability for consumers of the switchboard to check/validate on their own
-        pub fun safeBorrowByType(type: Type): &{FungibleToken.Receiver}? {
+        access(all) view fun safeBorrowByType(type: Type): &{FungibleToken.Receiver}? {
             if !self.checkReceiverByType(type: type) {
                 return nil
             }
@@ -289,7 +289,7 @@ pub contract FungibleTokenSwitchboard {
         /// `{FungibleToken.Receiver}` capabilities that can be effectively 
         /// borrowed.
         ///
-        pub fun getVaultTypes(): [Type] {
+        access(all) view fun getVaultTypes(): [Type] {
             let effectiveTypes: [Type] = []
             for vaultType in self.receiverCapabilities.keys {
                 if self.receiverCapabilities[vaultType]!.check() {
@@ -306,7 +306,7 @@ pub contract FungibleTokenSwitchboard {
         /// @return A dictionary mapping the `{FungibleToken.Receiver}` 
         /// type to the receiver owner's address 
         ///
-        pub fun getVaultTypesWithAddress(): {Type: Address} {
+        access(all) view fun getVaultTypesWithAddress(): {Type: Address} {
             let effectiveTypesWithAddress: {Type: Address} = {}
             // Check if each capability is live
             for vaultType in self.receiverCapabilities.keys {
@@ -323,7 +323,7 @@ pub contract FungibleTokenSwitchboard {
         /// which can be deposited using the 'deposit' function.
         ///
         /// @return Dictionary of FT types that can be deposited.
-        pub fun getSupportedVaultTypes(): {Type: Bool} { 
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool} { 
             let supportedVaults: {Type: Bool} = {}
             let vaultTypes = self.getVaultTypes()
             for vaultT in vaultTypes {
@@ -342,7 +342,7 @@ pub contract FungibleTokenSwitchboard {
     /// Function that allows to create a new blank switchboard. A user must call
     /// this function and store the returned resource in their storage.
     ///
-    pub fun createSwitchboard(): @Switchboard {
+    access(all) fun createSwitchboard(): @Switchboard {
         return <-create Switchboard()
     }
 
diff --git a/contracts/MultipleVaults.cdc b/contracts/MultipleVaults.cdc
index 46a4cce2..5d36fedc 100644
--- a/contracts/MultipleVaults.cdc
+++ b/contracts/MultipleVaults.cdc
@@ -1,14 +1,14 @@
 
 
-import FungibleToken from "./FungibleToken-v2.cdc"
+import FungibleToken from "FungibleToken-v2"
 
-pub contract interface MultipleVaults {
+access(all) contract interface MultipleVaults {
 
     /// Contains the total supply of the fungible tokens defined in this contract
     access(contract) var totalSupply: {Type: UFix64}
 
     /// Function to return the types that the contract implements
-    pub fun getVaultTypes(): [Type] {
+    access(all) view fun getVaultTypes(): [Type] {
         post {
             result.length > 0: "Must indicate what fungible token types this contract defines"
         }
@@ -16,7 +16,7 @@ pub contract interface MultipleVaults {
 
     /// createEmptyVault allows any user to create a new Vault that has a zero balance
     ///
-    pub fun createEmptyVault(vaultType: Type): @AnyResource{FungibleToken.Vault} {
+    access(all) fun createEmptyVault(vaultType: Type): @AnyResource{FungibleToken.Vault} {
         post {
             result.getBalance() == 0.0: "The newly created Vault must have zero balance"
         }
diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index ee626642..15921380 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -37,7 +37,7 @@ const (
 
 // FungibleToken returns the FungibleToken contract interface.
 func FungibleToken() []byte {
-	code := assets.MustAssetString(filenameFungibleToken)
+	code := assets.MustAssetString(filenameFungibleTokenV2)
 
 	return []byte(code)
 }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index e8d74406..6aaf7f69 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,12 +1,12 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (10.591kB)
-// ../../../contracts/ExampleToken.cdc (12.035kB)
-// ../../../contracts/FungibleToken-v2.cdc (10.836kB)
-// ../../../contracts/FungibleToken.cdc (10.006kB)
-// ../../../contracts/FungibleTokenMetadataViews.cdc (7.279kB)
-// ../../../contracts/FungibleTokenSwitchboard.cdc (17.536kB)
-// ../../../contracts/MultipleVaults.cdc (766B)
+// ../../../contracts/ExampleToken-v2.cdc (10.655kB)
+// ../../../contracts/ExampleToken.cdc (12.034kB)
+// ../../../contracts/FungibleToken-v2.cdc (11.268kB)
+// ../../../contracts/FungibleToken.cdc (10.021kB)
+// ../../../contracts/FungibleTokenMetadataViews.cdc (7.48kB)
+// ../../../contracts/FungibleTokenSwitchboard.cdc (17.818kB)
+// ../../../contracts/MultipleVaults.cdc (789B)
 // ../../../contracts/utility/MetadataViews.cdc (26.308kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (4.828kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.592kB)
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x5f\x6f\x1b\x37\x12\x7f\xcf\xa7\x98\xe8\x80\x9e\x84\xda\xb2\xfb\x2f\xd7\x0a\x76\x5c\xb7\x89\xef\x0e\x68\x81\x20\x71\x73\x0f\x41\x10\x53\xbb\x23\x89\xe7\x5d\x72\x41\x72\x25\xab\x86\xbf\xfb\x61\xf8\x67\x77\xb9\xe2\xca\x8a\xd3\xd3\x8b\xa4\x25\x67\x38\x33\xfc\xcd\x70\x66\xb8\xbc\xac\xa4\x32\x70\x55\x8b\x25\x9f\x17\x78\x2d\x6f\x51\xc0\x42\xc9\x12\x46\xd3\x93\xe8\xe9\xf1\xfa\xdb\x69\x96\x67\xa3\x67\x9e\xe4\x77\x34\x2c\x67\x86\xbd\xe7\xb8\xd1\x0d\x49\x6d\x78\xc1\xcd\xf6\x24\x1a\x8d\xe8\x22\xa6\x69\x26\xc3\x53\x62\x09\xea\xc2\xf0\xaa\xc0\xf7\xac\x2e\x4c\x4b\x1d\x3f\x8e\x28\x88\xc7\x5b\xd4\xb2\x58\xa3\xda\x11\xb9\x3b\xe8\xa8\x9e\x55\xf5\x1c\x32\x29\x8c\x62\x99\x81\xd7\x77\xac\xac\xbc\x50\xb3\x88\xd5\x51\x5f\x94\xfb\x67\xcf\x00\x00\x4e\x4e\x4e\xe0\x7a\x85\x80\x6b\x14\x06\xcc\x8a\x19\xe0\x1a\xb0\xe4\xc6\x60\x0e\x9b\x15\x0a\x10\xb8\x01\x43\x1c\x35\x30\x85\x50\x72\x61\x30\xb7\xc4\xb4\xb6\x23\xb4\x2b\xea\xdf\xed\xd0\x98\x95\xb2\x16\x66\x06\x7f\x5c\xf1\xbb\x17\xdf\x1f\x81\xd9\x56\x38\x83\x77\x46\x71\xb1\x9c\x74\x96\x95\x86\x15\xa0\xeb\xaa\x2a\xb6\x20\x17\x91\xf0\x1a\xb8\x00\xbc\xe3\xda\xa0\xc8\xd0\x92\xb0\x2c\x43\xad\xc7\x41\xd7\x09\xac\x99\x02\x43\x3c\xde\x59\x16\x33\xb8\xbf\xb6\x0b\xb9\x65\x1f\xda\x85\x2e\xf3\x92\x0b\x78\xc3\xcc\xaa\x91\xba\x40\xe3\x1e\xbf\x33\x52\xb1\x25\xd2\x20\x89\xd8\xfc\x69\xa9\xaf\x6a\x91\x19\x2e\x05\x18\x09\x0a\x4d\xad\x04\x98\x15\x5a\xa5\xb4\x33\x18\xfd\x6d\xb6\x80\x93\x0e\x25\x0a\xa3\x9b\xc5\x16\xb5\x80\x25\x1a\x6b\x78\x12\x51\x8f\x27\x33\xf8\x40\xbf\x3e\xc2\xbd\x9d\x45\x1f\x12\x89\x98\x5e\x2a\xc5\xb6\xcd\xf8\xb9\xfb\x71\xf6\x73\xd7\x3a\x53\xcb\xea\xe5\x78\xf2\xb1\xa1\x0e\x92\x05\x06\x76\xa0\x63\x03\x4b\x11\xfe\x35\x4f\x5f\xb3\x6c\x05\xb5\x46\x05\xda\x48\x85\x1a\x98\x00\x2e\xb4\x61\x22\x43\xda\x12\x29\x8a\xad\x55\xcf\x92\xd3\x9e\x98\x15\x72\x37\x9b\x2d\x31\x42\xd0\xc2\xdb\x49\xfb\x69\x9e\x86\x89\x1c\x96\x72\x8d\x4a\x60\x0e\x73\xc7\xad\x52\x68\x9f\x57\x52\x1b\xb2\x5c\xce\x2d\x61\xc3\x8e\x8b\x9e\xb7\x5b\x1c\x9a\x15\x6e\x2d\x02\x33\x56\x14\x98\x4f\xa3\xd5\xb3\x15\x66\xb7\x1a\x56\xac\xaa\x50\x00\x33\xa0\x6a\x61\x78\x89\x96\x14\xc9\x97\x58\x23\x21\x21\xbc\xc7\xa3\xe1\x45\xfe\x52\xab\x0c\x69\x86\x70\xfa\xcf\x11\x32\x85\x8c\xfc\xc1\x6b\x46\x9b\x8d\x77\x86\x2c\x14\xed\x7d\x40\xc3\xb6\x61\x47\xe2\xe6\xb8\xe0\xc2\x12\x1f\x81\x96\x34\xae\x90\x44\x10\x12\x36\x6c\x0b\x0b\x49\xb2\x95\xac\xe0\x19\x97\xb5\x76\xdb\x61\xa4\x5f\xd3\x59\xb1\x35\x8d\xac\xfd\xb2\x5c\x00\xe3\x6a\x0a\x97\xa0\x2b\xcc\x38\x2b\xc0\x7a\x9f\x02\xe5\x35\x00\x81\x98\x6b\xe2\x34\x6f\x65\x30\xd2\xfa\x6f\xc3\xae\xf5\xed\xd8\x14\x04\xdb\x86\x91\x15\x61\x16\x6f\x89\x83\xe0\x51\xef\xe1\x1b\x25\xd7\x3c\xa7\x68\x13\x3f\xbf\x56\x4c\xe8\x05\x2a\xb9\x33\xf2\x16\x33\xe4\xeb\x5d\x8a\x5f\x58\x41\x20\x3c\x8a\x82\xd8\xb4\x09\x8c\x3e\x7a\x75\x11\x60\x43\x01\xcc\x1d\x9d\xb7\x91\x86\x75\x83\xfb\xa0\x16\x85\x0d\x3f\x2b\xc4\x8a\x96\x99\x0f\x32\x1a\x8b\x85\x0b\x30\x7a\x28\x3e\x0c\x52\x54\xf5\xbc\xe0\x99\x23\x78\xd3\xfc\x8e\xe5\x7d\x6b\xbd\x55\x5b\xf4\xf8\x15\xa0\x62\x66\x45\x68\x55\x68\x1f\x5b\xc1\x41\xaf\x64\x5d\xe4\xe4\xd6\x9c\x10\x6b\xc1\x68\x5d\x35\x8f\x74\xf2\x11\xe6\x15\x2e\x88\xaa\x23\x26\x45\x9a\xce\xdf\x8b\x4e\xbc\xe9\x44\x0d\x12\x7e\xaa\x13\xca\x3d\x0c\x8b\xed\xd4\x8c\xa5\x0e\xf6\x0e\x62\xaf\xd8\x1a\x81\x85\xa9\x19\xab\xd8\xdc\x9e\x63\x7b\x64\x6f\x2d\x46\xa2\xb7\xff\xf6\x49\xde\x5a\x3c\x25\x78\x37\x02\xd3\xf9\x9c\x0c\xbe\x1d\x96\x2e\xde\xee\x39\xdf\xaf\xae\xe9\xfb\xe5\x78\x72\x14\x91\x87\xcf\xe3\xe4\xaf\xb8\xae\x0a\xb6\xfd\x02\x0e\xd6\xf9\x5e\x31\xc3\xa2\x33\x20\xa1\xb4\x72\x0e\x43\x74\xe3\x4f\xb0\xe6\xb8\x99\x59\xf6\x93\x19\x5c\x8a\xed\x3b\xa3\xea\xcc\xf4\x4d\xab\x37\xdc\x64\x2b\x3b\xb9\x37\x42\x9f\x8c\x69\x3c\x44\x42\x67\xa2\x59\x52\x41\x6f\xe9\x47\x19\x8c\x93\xd4\xf4\x59\x18\x6f\xc4\x99\x83\x40\x57\xcf\xcf\xd9\x80\x09\x30\xfd\x7c\xbf\x20\x7e\xf2\x45\x7a\xaf\x9c\x30\xcd\x7e\x3c\x49\x9c\xee\x6e\x1e\x20\x50\x33\xfd\x22\x29\xd1\xe4\xa9\x5b\xd6\x5a\x25\xbd\x6b\x94\xa0\x94\x98\x73\x06\xe7\x71\x66\x3d\xfd\x9d\x9e\x0e\x6f\x96\xb5\x11\x2f\x70\xd6\x23\xfb\xd7\xf5\xf5\x9b\x2b\x5e\xe0\x7e\xca\x5a\x15\x33\x18\xad\x8c\xa9\xf4\xec\xe4\x84\x69\x8d\x46\x4f\x37\x38\xd7\xdc\xe0\x31\xb1\xd5\xd3\x4c\x96\x27\x3f\x2c\x5e\x7c\xfb\xd3\xf7\xd9\x69\xf6\x0f\xf6\x63\x96\xe7\x2f\xbe\xff\x6e\xfe\x4d\xf6\xe3\xb7\xa7\xbd\x01\xf6\xc3\x0f\xd9\xfc\x9b\xec\xa7\xef\x5e\x7c\xba\x2a\xe4\xe6\xd3\x7f\xa4\xca\x4b\xa6\x6e\xa7\x7a\xbd\x1c\x0d\xca\x31\xe0\xa8\xf4\xb1\x16\x71\x89\xe7\x88\x97\x6c\x89\x27\x7a\xbd\xfc\xfa\xae\x2c\xd2\xdc\x76\x77\x27\x32\xad\x4e\xdb\x56\x8f\x3f\xd8\xe1\x8f\x69\xf2\x43\xfc\xc9\xef\xee\xb0\xad\x05\x2b\x49\x07\x9f\x67\x36\xcc\x5c\x6a\x3f\x1a\x36\x80\xde\x96\x73\x49\x5b\xf4\xfa\xea\x7a\xcf\xb4\x1c\x75\xa6\x78\x45\xf9\xd7\x0c\x46\xd7\x74\x56\x2c\xc2\x12\x36\x03\xa1\x94\xa8\xd6\x98\x03\xb3\x69\x28\x7a\x39\x8c\x84\x15\x16\x15\x6c\x65\x0d\x39\xae\xb1\x90\xf6\xb7\x02\x41\x19\xd8\xd5\x35\xfc\x4d\x0a\xda\xc9\xe9\x9e\xb5\xf1\xce\xa0\x12\xac\xf8\xe3\xed\x6f\x7d\x0c\xbe\x6e\x87\xc6\x0d\xc8\xfc\xda\xc7\x0b\x33\x95\x62\x41\xcc\xa5\x5a\x8e\xf6\x80\xa0\x90\x4b\xa9\x67\x7e\x0b\xf7\x98\x4a\x52\xa2\xa6\x67\x89\xb0\xda\xfd\x8c\xcc\x86\xca\x2f\x35\x3a\x48\x58\x3f\xd9\x3a\x01\xc9\xfa\x69\x5e\xc8\xec\x36\x5b\x31\x2e\x46\x69\xb8\x80\x3d\x2b\x52\x4f\x9f\x1c\x3b\xba\x21\x6c\x38\x7a\xd8\xe4\xe0\x2d\x2e\xe0\x3c\x2a\xf6\xa6\x2c\xcb\xa8\x62\x9c\xce\xa5\x52\x72\x73\xf6\x55\xaa\xd6\xa1\x52\x78\xb6\x93\xa9\x0c\x2b\x78\x71\x01\x15\x13\x3c\x1b\x8f\x7e\xb5\xb9\x88\x90\x06\x1c\x7f\x60\xa0\x70\x81\x8a\x2a\x4b\x82\x57\x48\xc2\x30\x77\x02\x0e\x58\xed\xa0\x43\x2b\x98\x61\xd8\xcd\xa2\x84\xb2\xaf\xce\x30\x74\x94\xcf\x93\x3b\x74\x6d\xda\xb3\x2f\x3a\x39\x01\x3f\x93\xac\xf2\x79\xbc\x23\x3b\xa9\x14\x5f\x33\x83\xc1\x2f\xac\xea\x2e\xff\x7f\x54\xde\xdf\xb8\xb8\xc5\xdc\xc5\x47\x0b\xa3\xc4\xe6\xde\xa7\x4b\x82\x87\xc1\x04\xa9\xab\xd9\x13\x16\xd8\x5f\x5b\xec\x5f\x36\x58\xe6\x09\xcb\x86\xe2\x68\xff\x02\xae\xec\x7b\x5d\x56\x66\x6b\x99\x84\xf6\xc3\x0c\xc6\x94\xd0\x51\xf6\x9a\xe8\x05\xdc\x27\x8a\xb3\x87\x47\xc2\x8c\x07\xf4\xd9\x71\x70\xcb\x69\x7f\xed\xf1\x9e\xf8\x91\x1e\x8a\x9f\x3e\xa4\xf2\x6b\xc1\x8b\xa1\xfa\x62\x89\xe6\x5d\x5d\x55\x52\x19\xcc\xdb\x6e\x09\x48\x7b\x6a\xd8\xf2\x47\xf9\x0a\x84\x41\xc1\xb5\xad\x84\x5d\xc1\x11\x75\x63\xb8\x6e\xe0\x67\xcb\xb3\xca\xd7\xcf\x10\x57\x03\x89\xa5\xc8\xba\xbe\x8b\xf4\x8b\x94\x45\xdf\x82\x14\xc3\x74\xa0\xb2\x04\xbd\xe9\xe7\x70\x1f\xeb\x1c\xcf\xfe\x60\x1d\x70\x89\x76\xb1\xf1\xe4\x23\x9c\x83\x51\x35\x26\x0b\x9b\x88\x70\x5f\x8a\xcf\xf5\xae\x22\x63\xd3\x00\x73\xe2\x64\xdb\x53\x3e\x0d\x99\xe2\x83\xb1\x45\xd2\xc5\x05\x2c\x58\xa1\x31\xbd\x69\xc0\x05\x37\x9c\x15\xfc\x4f\x57\xb6\x86\xfa\x9b\x99\xb6\x7f\x60\x61\x65\x3b\x68\xbc\x6c\xd9\x10\xe1\xb8\x57\x88\x4f\xfa\xa5\x08\xc9\x17\x58\x9e\x07\xe6\x3b\x7b\xc2\x73\x14\x86\x2f\x38\x2a\x38\x87\xd1\x4e\x94\x1a\xed\xf2\xec\xc4\x5c\x38\xef\x56\xc8\xe3\x96\xd7\xac\xc3\x77\xf2\x7c\x97\x47\x1b\x48\xe1\xbc\x53\xa9\x3e\xce\xa1\x87\xfa\x7f\xa2\x89\x4c\xe7\xbb\x4a\xbb\x9d\x0b\x8f\x5b\x1f\xbe\x08\xab\xce\x6a\x7b\xf6\xb6\x6f\xb1\xde\xd2\x1b\x6e\x56\xb9\x62\x9b\xee\xc3\x68\x42\xdb\xfc\xb4\xae\xc5\x6e\x5d\x8f\xd0\x75\x78\x7d\xa6\xc6\xd4\xb2\x2e\x51\x98\x88\x90\x89\xbc\xe1\xee\x1d\xd3\x13\xd9\x9e\x76\xd3\x1f\x9c\x0e\x2e\xfd\x6f\xe3\x63\x21\x79\xbb\xed\x53\x61\x59\x49\xc5\xd4\xd6\x77\x16\x43\xb3\xda\x26\x8d\x94\x26\xca\x22\x8f\x38\xd8\x36\xad\xeb\x26\x3b\x01\x14\xc2\x1c\xb9\x58\x82\xf1\xfd\x28\x85\xf9\x94\x16\x52\x9d\xc6\x86\xc0\x4d\xb1\x8d\xf8\x84\xee\x9f\x5f\x56\x46\x3d\x40\xcb\xd9\x75\x13\x41\x4b\xe0\xc6\x36\x0e\x6d\xcb\xad\x92\x54\xa3\xc4\x32\x61\xa1\xd1\xb6\x4b\xd2\x8a\x87\x6d\x0e\xa6\xeb\xf5\xd2\x9f\x1e\xfc\x7b\x9e\x14\xfd\x3d\xf6\x5b\x93\x42\xd1\xd9\x71\xb7\x0f\xd9\xfa\xab\xa3\x98\x0c\x01\xcb\x2b\xff\x79\xb8\xf2\x06\x96\xf3\xff\x62\xd6\x07\x97\x05\x14\xcb\x73\x1d\xb1\xe1\x46\x37\x6e\xe3\xf7\xa5\xe7\x45\x72\x23\x50\xe9\x03\xb0\xc6\x35\xb0\xa2\x90\x1b\x87\xa5\x1c\xb5\x51\xd2\x75\xab\x35\x2d\xef\x44\x9b\x63\xc6\x6a\x8d\x2d\x7c\x63\x6f\x22\x91\x3b\x30\x25\x40\xa2\x0a\x92\xf8\x36\xab\xed\x55\x5a\xda\xbf\xb7\xb2\xaf\x58\xac\xd7\x1c\x51\x10\xc2\x74\x5d\x52\x41\x24\x72\xd7\x35\x5e\x48\xdb\xfd\xf6\xf0\xb2\x12\x86\x1e\xf6\x10\x90\xfc\x46\xf8\xf4\xf9\xe7\x4b\xb1\x0d\x1d\xee\x24\x6a\xfa\x01\xb8\xc9\xda\xe1\xec\xd8\x79\x2e\xd3\xcf\x53\x18\x3c\x18\x6c\x5f\x3b\x7e\x3b\x91\x89\x3e\xd1\x08\x9c\xc3\xe9\xf4\x34\x1a\x0f\xbb\x12\x87\xc6\xc4\x99\x18\xfc\x7b\xe7\x2a\x2a\xe4\x05\x33\xf8\xb5\xe9\x46\x9e\x7d\x35\x98\x80\xa6\xcc\x11\x78\xbf\x0f\x66\xb1\xea\xed\x38\x6c\x70\x90\x88\xde\x47\xfb\x44\x01\xa2\x30\xe3\x15\x47\x41\xa8\x08\xeb\xef\x2c\x1d\xa4\x77\x25\x54\xf8\xe7\xcb\xa6\x44\xb2\xb6\xa7\x06\x6a\x12\xa4\xbd\x92\xbc\xf7\xf5\x50\x5f\x89\x57\x0e\x55\x76\x7e\xd0\x5c\x84\x58\xeb\x2f\x49\xba\x7c\x54\x4a\xa3\x8e\x36\xd3\x18\xa6\x67\xc7\x91\x91\x07\xa3\x4c\x3f\x5f\x3d\x30\xdc\xc4\xc7\x8a\xdb\x47\xd2\x02\x58\x37\x7a\xfc\x89\x4a\xee\x1c\x69\xe1\xa0\xe0\xed\x39\xc0\x8a\x82\x8e\x14\x7f\x1e\x4c\xe1\xd2\xdd\xe0\x94\xb5\x76\xe7\x82\x4b\x48\xc3\xdd\xd3\x0e\x47\x5b\x79\x7a\x83\x11\xef\xe6\x9c\xe9\x5f\xb6\xd1\x03\xa9\x72\x77\x39\x64\x43\x95\x1b\x8f\x39\xba\x4a\xda\xdf\xfa\x30\xd7\x5c\x09\x96\x0e\xc1\x40\x37\xb7\x23\xae\xf1\x42\x79\xde\xfe\x28\xb2\x5b\x18\x3c\xf9\x20\x7a\xe4\x5c\x39\x9d\x9e\x26\xb7\xdb\xbb\xfe\xb8\xef\x91\x7c\x11\x87\x97\x97\xc4\x21\x51\xf8\x44\xc2\x76\x6e\x8d\x13\x29\xf9\xa1\x53\x9f\xc3\x71\x3a\xc9\x82\xa8\xf4\x71\xbf\x3a\x57\xb1\xee\x9e\xee\x19\x0c\xdc\x3c\x86\xf3\xcf\x9d\x8c\x76\x83\x98\xbd\xc0\xf6\x7b\xeb\x6e\x26\xe9\x6c\x09\xb7\x79\x87\xdd\xe2\xf9\xeb\xc1\xfb\x08\x2f\x44\xee\x2e\xdc\x0f\xf4\x1d\x22\xd0\x9d\x05\x8f\xec\xa1\x4c\x48\x2c\x83\x47\x98\xce\xbd\xfe\xd1\xa0\x07\x75\x29\xfa\x3e\xb4\x17\x8b\xad\xc8\x07\x25\x47\x3d\x2c\xfc\x5f\x70\xf0\x75\x2a\x81\xc2\x92\x0f\xbc\x17\xe1\xbe\xc3\x7b\x11\x31\xb7\x69\xa7\x62\xf8\xb2\x7c\xac\x87\xba\x64\xac\xec\xe2\xef\x8b\x62\xe4\x5f\x1b\x1f\xff\xda\xd8\xf8\x17\xc4\xc5\xae\x43\x25\xe3\xe1\x3a\xd4\xcd\x4d\xd1\xfd\xf3\x63\xc1\x30\x5c\xb3\x05\xca\x1e\x50\xdb\xc6\x6b\xfa\xd5\x8f\xdd\x2e\x6b\x83\x10\x38\x20\xb4\x82\x8d\xa9\xf6\xca\xf5\x0b\x39\x45\x48\xb3\x45\x7d\x37\x46\x5b\x74\x77\x9c\x27\x6e\x91\xf4\x47\xf7\xbe\xeb\x02\xe7\xf0\xcd\xe9\x29\xe5\x84\x31\x7d\xff\x3d\x1e\x38\x87\x13\x8f\x8b\xa8\x63\xe9\x5e\x03\x8a\x9a\x17\xbf\x3a\xf5\xda\xb7\x55\x2c\xc4\xfb\x41\xcc\xc2\xc2\xbf\x00\x45\xa8\x64\x6b\x24\x80\x73\x11\xbd\x07\xe3\x58\x36\x3f\xa3\xcc\x39\x6d\xc6\xcf\xd2\xfe\xf9\x24\xd6\x3a\xf4\xcc\x49\x9a\xb1\xef\xe1\x1d\x81\x91\xb3\xb4\xf2\x3e\x91\x4a\x28\x9f\xb8\x9f\xef\x75\xc5\x3b\xe5\x36\xde\x55\x52\x63\xf7\xb0\xb0\x13\x6f\xbc\x07\xdd\x40\x89\x66\x25\x5d\xc9\xb2\x44\x73\x69\xbb\x6f\xbe\x89\x15\xc6\xcc\x4a\xc9\x7a\xe9\xcc\x7c\x13\x72\xdd\x1b\xb0\xc7\xd3\x82\x65\x5d\x6b\x86\xd2\x07\x6e\xba\x7d\x8f\x9b\x24\x27\x3f\x9c\x66\x94\xb6\x5d\xc1\xc5\xed\x60\xf6\x3f\xf0\x46\xca\xc3\xcb\xb8\xb7\x7f\xe2\xac\xf7\x58\x6f\xdc\x30\xb5\x44\xb3\x6f\x73\x9a\xe9\x9d\x5d\x22\x10\xb9\xc3\xbf\x05\x91\x3b\xc7\xc7\xfb\xe1\x60\x89\x1c\x1c\x92\x3e\x32\xf1\x4e\xfb\xf0\x0c\xfe\x17\x00\x00\xff\xff\xcc\xaf\x04\x79\x5f\x29\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xfa\x80\x3d\x1b\x4d\x9c\xb4\xdb\xf6\x76\x8d\xb8\x69\xb6\x6d\xee\x0e\xd8\x02\x45\x9b\xed\x3e\x14\x45\x43\x4b\x63\x9b\x17\x89\x14\x48\xca\x8e\x37\xc8\x77\x3f\xf0\x9f\x44\xca\x94\xe3\xa6\xdd\xbc\xc4\x96\x38\xc3\xf9\xf3\x9b\xe1\xcc\xd0\xb4\xac\xb8\x50\x70\x51\xb3\x05\x9d\x15\x78\xc9\xaf\x91\xc1\x5c\xf0\x12\x06\xd1\xb3\xa3\xd5\xd3\xc1\x81\x5b\xfc\x0e\x15\xc9\x89\x22\x9f\x28\xae\xa5\x5b\x1c\x3d\x6b\x56\x46\x2c\x52\x64\xfd\x0b\xda\xdd\xea\x42\xd1\xaa\xc0\x4f\xa4\x2e\x54\xb3\x5d\xf4\x70\x9c\xe5\x59\xb3\x5e\x53\x7f\x40\xc9\x8b\x15\x0a\xb7\x3a\x7c\x64\xd7\x1e\x90\x2c\x43\x29\x87\xa4\x28\x46\x90\x71\xa6\x04\xc9\x14\xbc\xbd\x21\x65\xe5\x84\x99\x44\x8c\x0e\xbb\x62\xdc\x1e\x1c\x00\x00\x1c\x1f\x1f\xc3\xe5\x12\x01\x57\xc8\x14\xa8\x25\x51\x40\x25\x60\x49\x95\xc2\x1c\xd6\x4b\x64\xc0\x70\x0d\x4a\x73\x94\x40\x04\x42\x49\x99\xc2\xdc\x10\x87\x32\x58\x06\x66\x67\xf9\xce\x2c\x19\x92\x92\xd7\x4c\x4d\xe0\x8f\x0b\x7a\xf3\xe2\xd9\x21\xa8\x4d\x85\x13\xf8\xa8\x04\x65\x8b\x51\xb0\x3d\x57\xa4\x00\x59\x57\x55\xb1\x01\x3e\x8f\x94\x90\x40\x19\xe0\x0d\x95\x0a\x59\x86\xe1\xa6\x5e\xe7\x11\xac\x88\x00\xa5\x79\x7c\x34\x2c\x26\x70\x7b\x69\x36\xb2\xdb\xde\xb5\x1b\x9d\xe7\x25\x65\xf0\x9e\xa8\xe5\x96\xf4\x05\x2a\xfb\xfa\xa3\xe2\x82\x2c\x50\x2f\xd2\xa2\x36\x5f\x5a\x2e\x17\x35\xcb\x14\xe5\x0c\x14\x07\x81\xaa\x16\x0c\xd4\x12\x8d\x72\xd2\x1a\x50\x7f\x6d\x5c\x42\xb5\x2e\x25\x32\x25\xb7\x36\x5d\x51\x5c\xc3\xbc\x66\xb0\x40\x65\xbc\xa2\xe5\x96\xc3\xd1\x04\x3e\xeb\x4f\x5f\xe0\xd6\x90\xe8\x3f\x2d\x9f\xde\xe1\x5c\x08\xb2\x69\xde\x4f\xed\x87\xd3\x57\xa1\xc9\xc6\x86\xd5\xcb\xe1\xe8\x4b\x43\xed\xc5\xf4\x0c\xcc\x8b\xc0\x30\x86\xc2\x7f\x6b\x9e\xbe\x25\xd9\x12\x6a\x89\x02\xa4\xe2\x02\x25\x10\x06\x94\x49\x45\x58\x86\xda\x4f\x9c\x15\x1b\xa3\xab\x21\xd7\x8e\x52\x4b\xa4\x76\x35\x59\x60\x04\xaf\xb9\x33\x9a\x74\xcb\x1c\x0d\x61\x39\x2c\xf8\x0a\x05\xc3\x1c\x66\x96\x5b\x25\xd0\x3c\xaf\xb8\x54\xda\x8c\x39\x35\x84\x0d\x3b\xca\x3a\xc1\x6e\x40\xaa\x96\xb8\x31\xf0\xcc\x48\x51\x60\x3e\x8e\x76\xcf\x96\x98\x5d\x4b\x58\x92\xaa\x42\x06\x44\x81\xa8\x99\xa2\x25\x1a\x52\xd4\x61\x46\x1a\x09\x35\xfc\x3b\x3c\x1a\x5e\x3a\x98\x6a\x91\xa1\x5e\xc1\xac\xfe\x33\x84\x4c\x20\xd1\xc1\xe2\x34\xd3\x9e\xc7\x1b\xa5\x2d\x14\x01\xc1\x43\x63\xd3\xb0\xd3\xe2\xe6\x38\xa7\xcc\x10\x1f\x82\xe4\xfa\xbd\x40\x2d\x02\xe3\xb0\x26\x1b\x98\x73\x2d\x5b\x49\x0a\x9a\x51\x5e\x4b\xeb\x0e\xc5\xdd\x9e\xd6\x8a\xad\x69\x78\xed\xb6\xa5\x0c\x08\x15\x63\x38\x07\x59\x61\x46\x49\x01\x26\x24\x05\x08\xa7\x01\x30\xc4\x5c\x6a\x4e\xb3\x56\x06\xc5\x4d\x70\x37\xec\xda\xc0\x8f\x4d\x11\x62\xb8\x61\x68\x44\x99\xc4\xae\xb1\x50\xf4\xa9\x26\xf4\x88\x89\x57\x98\x91\xc2\x83\x49\x2d\xa9\x84\x55\x83\xc3\xad\x50\x21\xc2\xaf\xf6\x81\x7d\xd0\x5d\x28\xb1\x98\xdb\x95\xb2\x2f\x88\x7b\x29\xaa\x7a\x56\xd0\xcc\x12\xbc\x6f\x3e\xc7\x72\x7f\x30\x51\x24\x8d\x57\xdd\x0e\x50\x11\xb5\xd4\x28\x12\x68\x1e\x1b\x05\x40\x2e\x79\x5d\xe4\x3a\xdc\xa8\x46\x92\x01\x89\x09\xa1\x3c\xad\x5b\x90\x06\xde\xe0\x5c\xb3\x08\x64\xd6\xe9\x20\xf8\x7a\x16\x24\x85\x20\xb4\xb5\x26\x63\x99\xd0\xf4\xae\x5f\x07\xab\x73\xac\x82\x77\x82\xd7\x61\x49\x56\x08\xc4\x2f\xcd\x48\x45\x66\xb4\xa0\x6a\xb3\xaf\x22\xad\x2d\xb5\x1e\xed\xb7\x5d\x6a\xb4\xbe\x48\x69\xd1\x9b\x40\xf5\x99\x9b\xcc\x9d\x01\x7f\x9b\x2e\xfb\xcf\xec\xf1\xc5\xa5\xfe\xff\x72\x38\x3a\x8c\xc8\xfd\xdf\xfd\xe4\x6f\xa8\xac\x0a\xb2\xf9\x0e\x0e\x26\x66\xde\x10\x45\xa2\x14\x7e\x9f\x05\x84\x3d\xe7\x35\x93\xe1\x57\xf3\x78\x62\xf6\x1a\x4d\xe0\x9c\x6d\x3e\x2a\x51\x67\xaa\x6b\x74\xb9\xa6\x2a\x5b\x5a\x1e\xb7\x5b\xd2\x66\x44\xe2\x3e\xe2\x5a\x7b\x4d\x92\xda\x3a\xb3\xdf\xcb\x60\x98\xa4\xd6\x7f\x73\xe5\x2c\x3a\xb1\xe0\x08\xf5\xfc\x16\x6f\x8c\x80\xc8\x47\xbb\x05\x71\x8b\xcf\xd2\x8e\xb3\xc2\x34\xce\x79\x90\x38\xa1\x6b\xf7\x10\xa8\x59\x7e\x96\x94\x68\xf4\x50\x97\xb5\x56\x49\x7b\x4d\x17\x1b\x25\xe6\x94\xc0\x34\x2e\x95\xc7\xef\xf4\xd3\x7e\x67\x19\x1b\xd1\x02\x27\x1d\xb2\xff\x5c\x5e\xbe\xbf\xa0\x05\xee\xa6\xac\x45\x31\x81\xc1\x52\xa9\x4a\x4e\x8e\x8f\x89\x94\xa8\xe4\x78\x8d\x33\x49\x15\x1e\x69\xb6\x72\x9c\xf1\xf2\xf8\xf9\xfc\xc5\xd3\x5f\x9f\x65\x27\xd9\xbf\xc8\x2f\x59\x9e\xbf\x78\xf6\xf3\xec\x49\xf6\xcb\xd3\x93\xce\x0b\xf2\xfc\x79\x36\x7b\x92\xfd\xfa\xf3\x8b\xaf\x17\x05\x5f\x7f\xfd\x93\x8b\xbc\x24\xe2\x7a\x2c\x57\x8b\x41\xaf\x1c\x3d\x51\xab\xff\x8c\x45\x6c\x65\x39\xa0\x25\x59\xe0\xb1\x5c\x2d\x1e\xdf\x94\x45\x9a\xdb\xb6\x77\x22\xd3\xca\xb4\x6d\xe5\xf0\xb3\x79\xfd\x25\x4d\xbe\x4f\x3c\x39\xef\xf6\xdb\x9a\x91\x52\xeb\xe0\x6a\xc6\x86\x99\xad\xdd\x07\xfd\x06\x90\x9b\x72\xc6\xb5\x8b\xde\x5e\x5c\xee\x58\x96\xa3\xcc\x04\xad\x74\x2d\x35\x81\xc1\xa5\x3e\x52\xe6\x7e\x0b\x53\x4d\xe8\xf2\xa6\x96\x98\x03\x31\x25\x25\x3a\x39\x14\x87\x25\x16\x15\x6c\x78\x0d\x39\xae\xb0\xe0\xe6\xb3\x00\xa6\xab\xa9\x8b\x4b\xf8\x07\x67\xda\x93\xe3\x1d\x7b\xe3\x8d\x42\xc1\x48\xf1\xc7\x87\xdf\xbb\x18\x7c\xdb\xbe\x1a\x36\x20\x73\x7b\x1f\xcd\xd5\x98\xb3\xb9\x66\xce\xc5\x62\xb0\x03\x04\x05\x5f\x70\x39\x71\x2e\xdc\x61\x2a\xae\x8b\x2e\x39\x49\xa4\xd5\xf0\x6f\xa0\xd6\xba\xcf\x12\x83\xbd\x84\x75\x8b\x4d\x10\x68\x59\xbf\xce\x0a\x9e\x5d\x67\x4b\x42\xd9\x20\x0d\x17\x30\x07\x47\xea\xe9\x83\x73\x47\x98\xc2\xfa\xb3\x87\xa9\x21\x3e\xe0\x1c\xa6\x51\x37\x37\x26\x59\xa6\x5b\xc2\xf1\x8c\x0b\xc1\xd7\xa7\x3f\xa5\xfa\x16\xdd\xf1\x4e\xb6\x0a\x9a\x7e\x05\xcf\xce\xa0\x22\x8c\x66\xc3\xc1\x6b\x53\xb2\x30\xae\xc0\xf2\x07\x02\x02\xe7\x28\x74\xeb\xa8\xe1\xe5\x0b\x37\xcc\xad\x80\x3d\x56\xdb\xeb\xd0\xf2\x66\xe8\x0f\xb3\xa8\x08\xed\xaa\xd3\x0f\x1d\x81\x19\xd2\x15\x8a\x80\xae\x2d\x88\x76\x65\x27\x2b\xe0\x37\x92\x55\x82\xaf\x68\xee\x77\x3b\xae\x04\x5d\x11\x85\x3e\x2e\x8c\xea\x46\xd5\xfb\xe5\xfd\x9d\xb2\x6b\xcc\x6d\x7e\x34\x30\x4a\x38\xf7\x36\xee\x0e\x3e\x38\xd2\xbb\xde\x6a\x29\xd4\xec\x01\x1b\xfc\x66\x3b\x86\xc3\x68\x12\x32\xf6\x1f\x76\x6f\xeb\x2d\xf3\x80\x6d\xdf\x3b\xd2\xdd\x1b\xd8\x16\xee\x6d\x59\xa9\x8d\x61\xe2\xe7\x0a\x13\x18\xce\x6b\xa6\x2b\xd9\x44\x5b\x7f\x9b\xe8\xaf\xee\xee\xc9\x32\x0e\xcf\xa7\x47\x3e\x2a\xc7\xdd\xad\x87\x3b\xd2\x47\xfa\x55\xfc\xf4\x2e\x55\x6b\x33\x5a\xf4\x75\x21\x0b\x54\x1f\xeb\xaa\xe2\x42\x61\xde\x0e\x3e\x80\x9b\x43\xc3\x74\x4c\xc2\xf5\x29\x04\x0a\x2a\x4d\x53\x6b\xdb\x92\x68\xca\x42\x65\x83\x3e\x53\x14\x57\xae\x15\x86\x1d\x6d\x42\x62\x5f\x6d\x6a\x37\x32\xfa\x8d\xf3\xa2\x6b\x4e\x9d\xcf\xa4\xa7\x32\x04\x9d\xe5\x53\xb8\x8d\x0d\x10\xaf\xfe\x6c\x82\x71\x81\x66\xb3\xe1\xe8\x0b\x4c\x41\x89\x1a\x93\xed\x4f\x44\xb8\x77\xed\x4f\xe5\xb6\x56\x43\xd5\x20\x76\x64\x05\xdd\xd1\x71\xf5\xd9\xe5\xb3\x32\xad\xd4\xd9\x19\xcc\x49\x21\x31\xed\x4e\xa0\x8c\x2a\x4a\x0a\xfa\x97\xed\x81\x7d\x53\x4f\x54\x3b\x1c\x30\x80\x33\x33\x33\x5a\xb6\x6c\x34\xe1\xb0\xd3\xd5\x8f\xba\x3d\x8a\x96\xcf\xb3\x9c\x7a\xe6\x5b\x0e\xa2\x39\x32\x45\xe7\x14\x05\x4c\x61\xb0\x95\xbe\x06\xdb\x3c\x83\x64\x0c\xd3\xb0\xc3\x1e\xb6\xbc\x26\x01\xdf\xd1\xa3\x6d\x1e\x6d\x86\x85\x69\xd0\xdc\xde\xcf\xa1\x13\x0f\xff\x46\x15\x99\xce\x8d\x8e\x76\x8c\x43\x02\x44\xbb\x24\xa7\x51\x6c\x4d\xb8\xc3\xd1\x5d\xf3\x75\xe4\x58\x53\xb5\xcc\x05\x59\x87\x0f\xa3\x05\xed\xec\xd3\x44\x20\xb9\xb6\x53\x41\x3b\xe8\x75\xf5\x1c\x11\x8b\xba\x44\xa6\x22\x42\xc2\xf2\x86\xbb\x8b\x5f\x47\x64\x06\xdc\xcd\x44\x70\xdc\xbb\xf5\x7f\x95\xcb\x98\x3a\x29\x98\xc9\x14\x96\x15\x17\x44\x6c\xdc\x2c\xd1\xcf\xae\x4d\x69\xa9\x8b\x49\x5e\xe4\x11\x07\x33\xa5\xb5\x43\x65\x2b\x80\x40\x98\x21\x65\x0b\x50\x82\x30\x39\x47\x21\x30\x1f\xeb\x8d\x44\x30\x25\x61\xb8\x2e\x36\x11\x1f\x3f\xef\x73\xdb\xf2\x68\xea\x67\x38\xdb\xf9\x21\x48\x0e\x54\x99\x51\xa1\x19\xb2\x55\x5c\x77\x32\xb1\x4c\x58\x48\x34\xb3\x97\xb4\xe2\xce\xe7\x71\xd2\xff\xd3\xd9\x91\xcc\x0a\x1c\x19\x14\x78\xcb\x76\x26\xee\x0f\x3f\x42\x3a\x51\x17\x7d\x3d\x72\x9e\x4b\x81\xec\xf4\x28\x1c\x4c\xb6\xb1\x6d\x29\x46\x7d\xb8\x73\xb6\xf9\x36\xd8\x39\xfb\xf3\xd9\xff\x30\xeb\x62\xcf\xe0\x8d\xe4\xb9\x8c\xd8\x50\x25\x9b\x10\x73\x6e\xeb\x44\x1c\x5f\x33\x14\x72\x0f\x28\x52\x09\xa4\x28\xf8\xda\x42\x2d\x47\xa9\x04\xb7\xe3\x6b\xa9\xb7\xb7\xa2\xcd\x30\x23\xb5\xc4\x16\xdd\x71\xb0\x69\x91\x03\x14\x6b\xbc\xa2\xf0\x92\xb8\xb9\xab\x19\x96\x1a\xda\x7f\xb6\xb2\x2f\x49\xac\xd7\x0c\x91\x69\x00\xca\xba\xd4\x5d\x15\xcb\xed\x18\x79\xce\xcd\x38\xdc\xa1\xcf\x48\xe8\x87\xda\x3d\x38\x33\xb9\x45\x03\xca\x39\xc4\xd5\xe2\xaf\xce\xd9\xc6\x8f\xbe\x93\xe8\xe9\x26\xed\xa6\x05\x80\xd3\x23\x1b\xe0\x44\x3e\x4a\x61\x71\x6f\xd0\x3d\xb6\xfc\xb6\x12\x98\xfe\x8b\xde\xc0\x14\x4e\xc6\x27\xd1\x7b\xef\x9d\x38\x9d\xf6\x1c\xaa\x5a\x7b\x9f\x0e\xb6\x2e\xb0\x7c\xb5\x31\x81\xd7\xcd\x24\xf4\xf4\xa7\xde\xaa\x36\x65\x16\xcf\xfb\x93\x37\x8f\x51\x73\x2b\x80\x7d\xc0\x44\xf4\xee\xa4\x48\x74\x35\x02\x33\x5a\x51\x64\x1a\x25\x7e\xff\xad\xad\xbd\xf4\xb6\x2f\xf3\xdf\x5c\x2f\x96\x28\x01\x77\x34\x56\x4d\xd9\xb5\x53\x92\x4f\xae\xc9\xea\x2a\xf1\xc6\xa2\xcb\xac\xf7\x9a\x33\x9f\x9a\xdd\x2d\x4a\xc8\x47\xa4\x34\x0a\xb4\x19\xc7\x70\x3d\x3d\x8a\x8c\xdc\x9b\x75\xba\x55\xf0\x9e\xe9\x27\x3e\x85\xac\x1f\xb5\x16\x40\xc2\x6c\xf2\x17\x0a\xbe\x75\x02\xfa\x73\x85\xb6\xc7\x06\x29\x0a\x7d\x02\xb9\xe3\x63\x0c\xe7\xf6\x8a\xa7\xac\xa5\x3d\x46\x6c\x99\xeb\x2f\xa7\xb6\x38\x9a\x76\xd6\x19\x4c\xf3\x6e\x8e\xa5\xee\x6d\x9c\x7e\xc0\x45\x6e\x6f\x8f\x4c\xea\xb2\xef\x63\x8e\xb6\x3d\x77\xd7\x42\xc4\x4e\x6c\xbc\xa5\x7d\x52\x90\xcd\x75\x8d\x9d\xe6\xe8\x1a\x71\xbf\xac\xb2\xdd\x76\x3c\xf8\x80\xba\xe7\xbc\x39\x19\x9f\x24\xdd\xee\x52\xc1\xb0\x1b\x99\x74\x1e\xa7\x9b\x97\x9a\x43\xa2\xad\x8a\x84\x0d\xee\x9c\x13\x35\xfe\xbe\x4b\x1f\xc1\x51\xba\x36\x83\xa8\xb1\xb2\x9f\x82\x3b\x5b\x7b\xa1\x77\x00\x3d\x57\x94\xfe\x5c\xb4\x27\xa6\x71\x14\x31\xd7\xdf\xce\xc7\xf6\x0a\x53\x9f\x39\xfe\xda\xef\xdb\xae\xfb\xdc\x7d\xe2\x6d\x84\x1f\xcd\xc6\x5e\xdb\xef\x19\x4b\x9a\x40\x06\x1b\x1f\x9a\x43\x5b\x23\xb3\xf4\x11\xa2\x82\x5f\x07\x1c\xf6\x46\x54\x48\xd1\x8d\xa9\xbd\xb0\xd9\x8a\xbe\x57\x11\xd5\xc1\xc6\xdf\x82\x8b\xc7\xa9\x42\x0b\x4b\xda\xf3\x2b\x0b\xfb\xdf\xff\xca\x22\xe6\x36\x0e\xba\x90\xef\xab\xdb\x3a\x28\x4c\xe6\xd0\x10\x8f\xdf\x95\x3b\x7f\x6c\xde\xfc\xb1\x39\xf3\x07\xe4\xcb\x54\x80\x25\xf3\xe4\xca\xf7\xe4\x4d\x43\xff\xea\xbe\x24\xe9\xef\xf6\x3c\x65\x07\xb0\xed\xb4\x37\xfd\xdb\x91\xed\xd1\x6e\x83\x14\xd8\x23\xe5\x82\xc9\xb5\xe6\x06\xf8\x3b\x39\x45\x88\x33\x03\x83\x30\x77\x1b\x94\x07\x41\x14\xcf\x62\xba\x6f\x77\xfe\x58\x06\xa6\xf0\xe4\xe4\x44\xd7\x8e\x31\x7d\xf7\x57\x41\x30\x85\x63\x87\x8f\x68\x4c\x6a\x7f\x5c\x14\x0d\x46\x5e\x5b\xf5\xda\x9f\xbb\x18\xa8\x77\x93\x9a\x81\x87\xfb\x79\x95\x46\x27\x59\xa1\x06\x3a\x65\xd1\x0f\x69\x2c\xcb\xe6\x63\x54\x61\xa7\xcd\xf8\x4d\xda\x3f\x1a\xc5\x5a\xfb\x41\xbd\x96\x66\xe8\x26\x87\x87\xa0\xf8\x24\xad\xbc\x2b\xb4\x12\xca\x27\x7e\x3b\xd0\x19\xc5\x07\xdd\x3b\xde\x54\x5c\x62\x78\x78\x98\x85\x57\x2e\x92\xae\xa0\x44\xb5\xe4\xb6\xc5\x59\xa0\x3a\x37\x33\x3f\x37\x2d\xf3\xef\xd4\x52\xf0\x7a\x61\xcd\x7c\xe5\x6b\xe1\x2b\x30\xc7\xd5\x9c\x64\xa1\x35\x7d\xab\x04\x57\xe1\x18\xe5\x2a\xc9\xc9\xbd\x4e\x33\x4a\xdb\xae\xa0\xec\xba\xb7\x3b\x38\x84\xe4\xa8\xfa\xee\x65\x7c\xa1\x70\x6c\xad\x77\xdf\x40\x5e\x11\xb1\x40\xb5\xcb\x39\xcd\xf2\xc0\x4b\x1a\x44\xb6\x28\x68\x41\x64\xcf\xf5\xe1\x6e\x38\x18\x22\x0b\x87\x64\x8c\x8c\x5c\xd0\xde\x1d\xc0\xff\x03\x00\x00\xff\xff\x1e\x5e\xd4\x96\x9f\x29\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,11 +97,11 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe8, 0x70, 0x82, 0x12, 0x43, 0xa, 0xa3, 0x3e, 0x8d, 0xa7, 0xa3, 0xa0, 0xda, 0x9c, 0x14, 0x9e, 0xd3, 0xa9, 0xf4, 0xcd, 0xa2, 0xfe, 0xed, 0x18, 0xdd, 0xa4, 0x82, 0x36, 0x5c, 0x4f, 0x76, 0x2e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xee, 0x95, 0x51, 0xde, 0x3, 0xd6, 0x24, 0x25, 0x7f, 0x56, 0x6f, 0xf6, 0x0, 0xd3, 0x2e, 0x76, 0x93, 0xa4, 0x50, 0x45, 0xdc, 0xcb, 0xb9, 0x1, 0x1a, 0x1b, 0x16, 0x57, 0xbe, 0x96, 0x60, 0xbd}}
 	return a, nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\xdd\x6f\xe3\x36\x12\x7f\xcf\x5f\x31\xe7\x03\x7a\x36\x9a\x38\xe9\xd7\x5e\x6b\xec\x76\x37\x7b\xdd\xe0\x0e\x68\x8b\x45\x9b\xb6\x0f\xc5\x62\x43\x4b\x63\x9b\x17\x89\x54\x49\xca\x8e\xbb\xc8\xff\x7e\x18\x7e\x48\xa4\x2c\xd9\x8e\xb7\xe7\x97\xc4\x16\x67\x38\x9c\xf9\xcd\x07\x67\xc4\xcb\x4a\x2a\x03\x37\xb5\x58\xf2\x79\x81\xb7\xf2\x1e\x05\x2c\x94\x2c\x61\x94\xfc\x36\x3a\xf3\x2b\x7f\x40\xc3\x72\x66\xd8\xaf\x1c\x37\xda\xaf\x4c\x7e\x6b\x56\x26\xf4\x7d\x64\xc3\x0b\x46\x67\x67\x2c\xcb\x50\xeb\x31\x2b\x8a\x09\x64\x52\x18\xc5\x32\x03\x6f\x1e\x58\x59\x79\x82\x59\x47\xe8\x0f\x67\x67\x00\x00\x97\x97\x97\x70\x2b\x0d\x2b\x40\xd7\x55\x55\x6c\x41\x2e\x12\x32\x0d\x5c\x00\x3e\x70\x6d\x50\x64\x68\x49\xe2\xad\xd6\x4c\x81\x21\xf2\x9f\x2d\xf5\x0c\x7e\xb9\xe1\x0f\xcf\xbe\xb4\xeb\x1a\xfe\x3f\x1b\xa9\xd8\x12\x81\x89\x1c\xde\xd6\xf3\x82\x67\xf0\x96\x99\x95\xde\xe1\x56\xa0\x81\x5f\x59\x5d\x18\x4f\x41\xab\x66\x10\x7d\x19\xa6\x70\x7c\x1d\x41\xfb\x7f\xef\xfa\x9f\x30\x43\xbe\x46\xf5\x04\x92\xeb\xbc\xe4\x62\x50\xa8\x56\x91\x2b\x04\x5c\xa3\x30\x60\x56\xcc\x00\xd7\x80\x25\x37\x06\x73\xd8\xac\x50\x80\x59\x61\x6b\x1b\xae\x21\x53\xc8\x0c\xe6\x3b\x3b\x3a\x16\x4e\xfd\xff\x11\xdc\x70\x56\xf0\x3f\x31\x1f\x73\xf7\x7f\xaa\xea\xc9\xf1\xdb\x3b\x7b\x32\x85\xb0\xe1\x66\x95\x2b\xb6\xf1\xd8\x65\x4e\x87\x7b\x05\xf9\x2d\x90\x8c\x59\x29\x6b\x61\xc2\xfe\xe7\x96\xc5\x0c\xae\xf3\x5c\xa1\xd6\x2f\x4f\x92\x27\xc7\x4a\x6a\x4e\x4f\x8c\x3c\x4a\x9a\xef\x02\xc1\x8e\x34\x46\x9e\x22\x8b\xc0\x4d\x2c\x4f\xc9\xc5\x21\xc3\xfc\x60\x97\x74\xb6\x3f\xf1\xf0\xda\x28\xb9\x3d\xb0\xdf\xeb\x5a\x89\x8f\xd8\x8f\xd9\x23\xda\x73\x29\x50\xa8\x65\xad\x32\x3c\x0c\x42\x7b\x4a\xf5\x2f\xb7\x86\x1e\xc8\x0d\xe6\xd7\x1f\x25\xc3\x9c\x0e\xf2\x14\x19\xec\xc9\x1b\x19\xa2\xed\xde\xb0\x6c\x05\xb5\x46\x05\xda\x48\x85\x1a\x98\x00\x2e\xb4\x61\x22\x43\x8a\x63\x52\x14\x5b\xeb\x74\x16\x4f\x14\xc8\xcc\x0a\xb9\x5b\xcd\x96\x98\x88\xbd\xa8\x45\x66\xb8\x74\xf1\xae\xa5\xa1\x90\xb5\x94\x6b\x24\xdd\xc3\xdc\x71\xab\x94\x0b\x65\x95\xd4\x86\xfc\x39\xe7\x96\xb0\x61\xc7\x45\x27\xd4\x06\xe7\xdf\x5a\x73\x67\xac\x28\x30\x9f\x26\xbb\x67\x2b\xcc\xee\x35\xac\x58\x55\x91\x9e\x0c\xa8\x5a\x18\x5e\xa2\x25\xc5\x35\x2a\x60\x8d\x84\x56\x61\x29\x8f\x86\xd7\x4f\x5e\xa9\xb4\x42\xb8\xf3\xcf\x31\xa8\x37\x9c\x8c\x42\x10\x3e\x18\xd2\x50\x12\x91\xac\xcd\x48\xcc\x86\x9d\x43\xe7\x82\x0b\x4b\x7c\x0e\x5a\xd2\x73\x65\x6d\x26\x24\x6c\xd8\x16\x16\x92\x64\x2b\x59\xc1\x33\x2e\x6b\xed\xcc\x61\xa4\xdf\xd3\x69\xb1\x55\x8d\xac\xfd\xb6\x5c\x00\xe3\x6a\x0a\xd7\xa0\x2b\xcc\x38\x2b\x3c\xd2\x5a\x58\x08\xc4\x5c\x13\xa7\x79\x2b\x83\x91\x16\xc1\x0d\xbb\xd6\x6b\x53\x55\xc4\x18\x6a\x18\x5a\x51\x3a\x59\x70\xfa\x56\xc9\x35\xcf\x51\x9d\x77\x7e\x0f\x39\xa2\xfb\xfb\x6b\x56\x10\xba\xce\xd3\xbc\x3e\x25\xbd\x17\x64\x26\x9f\x55\x63\xdb\xda\xf4\x08\x73\x47\xe8\x4f\xaf\x61\xdd\x84\xb8\xbe\x94\xea\x57\x37\xe9\x34\x61\xda\xa6\x04\x6b\xbf\xc0\x99\x50\x13\xce\x6a\xb5\x4f\x58\x21\x10\x35\xc4\x94\x3f\xc6\x1d\xd6\x13\xf8\xd0\x3c\xa7\x8f\xc6\x62\x31\x0d\x2c\x5f\x04\xe6\xcd\x92\xc7\x54\x94\x9b\x80\x49\x87\x1d\x76\xef\x9c\xd0\x05\x29\x60\xee\x8b\x5a\xd6\x25\x0a\x93\x10\x92\xff\x84\x24\xa4\x1d\xb5\x27\xb2\x09\xa9\x71\xc0\x69\x7a\x72\xe3\x71\xa5\x7d\x2c\x31\x48\xb5\x13\x53\x5b\xef\xae\x21\xec\xd4\xda\xa1\x65\x25\x8b\x3c\xe1\x40\x8c\x4b\x29\x70\xdb\x2c\x9d\x23\x17\x4b\x30\x8a\x09\xbd\x40\xa5\x30\x9f\xd2\x36\x0a\x4d\xad\x84\xb6\xeb\x05\x6e\x8a\x6d\xc2\x25\x38\x94\xdf\x54\x26\x6e\x65\x19\x3b\x07\x25\x87\xe1\xc6\xfa\xe2\x3c\x4a\x72\x09\x2f\x2c\x34\x6e\xc8\xa9\x92\xa3\x26\x4b\x5e\x55\x4c\xb1\x12\x42\xe8\x27\x50\x79\x65\x11\x9a\x5c\x22\x71\x8e\xd2\xc9\xeb\x24\x56\x0a\x34\xcb\xce\x1d\xce\xf2\x71\x27\x68\x71\x23\x85\x61\x5c\x58\x8d\xac\x12\x76\xb5\xc8\x75\xaf\x80\x1e\xba\xa9\x9b\x84\x62\x81\xcd\x0b\x9c\x10\x71\xc3\xaa\x9b\xc0\x66\xf0\x2a\x25\x75\x12\xed\x05\x65\xf2\xf5\xc2\xeb\x22\x21\xa0\xb4\x33\x58\xb7\xb8\xbf\xa1\x6e\xb1\xcc\xe4\x46\xa0\x7a\x39\x65\xae\x6e\x98\x24\xbc\xbc\xb6\x9e\x5f\xc4\x21\xad\x75\x23\xc7\x6d\xf2\x24\x0f\xf1\x6a\x97\xf3\xff\x62\xd6\x75\x13\xeb\x1a\x2c\x4f\xb5\x0d\xdc\xe8\xc6\xd1\x3d\xde\x92\x88\x82\x60\x8f\xa0\x07\xbc\x86\x6b\xf0\xb9\x9b\xa8\x7d\xc1\x61\xc9\x34\x6d\xe9\xc4\x99\x63\xc6\x6a\x8d\xad\xf3\x25\x5c\x36\x24\x66\xe4\x70\xe4\x5a\xa8\xc2\xee\x3e\x0a\xb7\x98\xfa\x47\x2b\xef\x8a\xa5\x67\x99\x23\x0a\x42\x9a\xae\x4b\xcc\xed\x71\x6d\x52\x59\x48\x9b\x1c\xbd\xab\xf8\x92\xe8\xa0\x53\x38\x23\x1e\x86\xb2\x05\xb0\x33\xc2\x86\x17\xc5\xa0\x3f\xf6\x86\x64\x02\xb0\x5f\x3d\x76\x1b\xf6\x81\xb6\x1b\x4a\xe9\xe2\x60\xbd\x0f\x9e\x5f\xf8\x3a\x5b\xff\x0d\x5e\xc5\xb7\xab\x69\xaa\xe7\x43\x58\xff\xd4\xf1\x9b\x76\xa3\x72\x07\xf2\xbb\xc5\x71\x42\xe6\x6a\xe4\x83\xb8\x4f\x68\xe0\x05\x5c\x4d\xaf\x92\xe7\x01\x45\x69\x80\x89\xe0\xef\x17\x8c\xbb\x7a\xe1\x8b\xf4\x54\xdf\x12\xeb\xce\x1a\xfa\x24\x8a\x8a\x2e\x99\xf0\x62\xf8\xd1\x45\xc2\x3a\x61\xf9\x38\xe4\xa2\x04\x1e\x2a\x65\xe4\x02\x96\x68\x0c\x21\x86\x15\x85\x45\x4d\xc8\xf2\xe0\xee\xe1\x9c\x36\x25\x27\x75\xc5\x60\x2c\xc5\x30\x4e\x7d\xfc\xb8\x26\x17\x57\x6e\x9b\xdb\x6d\x85\xda\x55\x35\x01\x9f\x31\xeb\xb5\xad\x29\xe0\xd6\xd5\x09\x45\x8d\x0d\x64\x6d\x5e\x9b\xa7\xc9\xa8\x55\xf7\x1a\x0b\x59\x51\x10\x30\x12\xee\x85\xdc\xc0\x66\xc5\xb3\x15\x58\x47\x41\xe3\xea\xb2\x8a\x69\x1d\x22\x88\x72\x55\x0b\x9d\x6d\x3c\x81\x12\xcd\x4a\x0e\x38\x5c\x55\xcf\xad\x13\x2c\xd1\x58\x4d\x8c\x27\x33\xf8\x9d\x4e\xf1\xae\x63\x37\x7f\xd8\xdf\x77\x8c\x49\x8b\x9f\x0f\x77\x30\xa6\x37\xb7\xf4\xf7\xdb\xf1\xe4\xfc\x04\xd2\xef\xb8\xae\x0a\xb6\x3d\x91\xda\xfa\xe0\x77\xcc\xb0\x93\xe8\x6f\x5b\xf4\x7d\x3b\x4e\x3d\xe8\xdd\x53\x10\x97\x62\xad\xad\x94\xf1\x48\x98\xb9\x70\x48\xd0\x71\xe1\x90\xe4\x0e\x1c\x72\xd4\x5c\x79\x60\x4d\xfb\xd1\x09\xda\xa8\x3a\x33\xb5\x22\x58\x54\x0a\x29\x2f\x04\x6c\x2a\xfc\xa3\x46\x6d\xfa\x18\x0c\x86\xcb\x18\x5b\xef\x83\x58\xdb\x0a\x27\x33\xb8\x16\xdb\x9f\xed\x66\x2f\xbb\x69\x7e\xc3\x4d\xb6\xb2\x8b\x7b\xc2\x41\xc6\x34\x1e\x0f\xa3\xd9\x0e\x3d\xb4\xf0\x3c\xc8\x60\xdc\x4b\x4d\x9f\x85\xf1\x60\xf3\x11\x34\x3e\xe7\x53\x80\x3a\xb1\xc9\xe0\x98\xc5\x2f\x77\x31\xd9\x0a\xd3\x60\xf7\x24\x71\x62\xe4\x1f\x21\x50\xb3\xfc\x65\xaf\x44\x93\x53\x4d\xd6\x6a\xa5\xdf\x6a\x94\x48\x4b\xcc\x39\x83\x17\x9d\x7b\xd7\x0f\xf4\xeb\x1e\x63\xf1\x02\x67\x1d\x92\x7f\xdf\xde\xbe\xbd\xe1\x05\x0e\x53\xd1\xa7\x56\xc5\x0c\x46\x2b\x63\x2a\x3d\xbb\xbc\x64\x5a\xa3\xd1\xd3\x0d\xce\x29\xad\x5e\x10\x5b\x3d\xcd\x64\x79\xf9\xd5\xe2\xd9\xe7\xdf\x7c\x99\x5d\x65\xff\x64\x5f\x67\x79\xfe\xec\xcb\x2f\xe6\x9f\x65\x5f\x7f\x7e\xd5\x79\xc0\xbe\xfa\x2a\x9b\x7f\x96\x7d\xf3\xc5\xb3\xf7\x37\x85\xdc\xbc\xff\x4d\xaa\xbc\x64\xea\x7e\xaa\xd7\xcb\xd1\xa0\x1c\x3d\xc1\x28\x7c\xac\x36\x48\xb1\x33\x18\xf1\x92\x2d\xf1\x52\xaf\x97\x9f\x3e\x94\x45\x3f\xb7\x5d\xcb\x24\x6a\xd5\xfd\x7a\xd5\xe3\xdf\xed\xe3\x77\xfd\xe4\xc7\xf8\x92\xb7\xec\xb0\xae\x05\x2b\xe9\x0c\x3e\xc4\x35\xcc\x5c\x21\x33\x1a\x56\x80\xde\x96\x73\x49\x26\x7a\x73\x73\xbb\x67\x59\x8e\x3a\x53\xbc\xa2\x02\x7c\x06\x23\x9b\x50\x17\x61\x0b\x5b\xb2\x36\x97\x45\x57\x84\xa3\x97\x83\xae\x8e\x58\x54\xb0\x95\x75\xc8\xab\xf4\xbf\x02\x41\x37\xbc\x9b\x5b\xf8\xbb\x14\x64\xc9\xe9\x9e\xbd\xf1\xc1\xa0\x12\xac\xf8\xe5\xa7\xef\xbb\x18\x7c\xd3\x3e\x1a\x37\x20\xf3\x7b\x5f\x2c\xcc\x54\x8a\x05\x31\x97\x6a\x39\xda\x03\x82\x42\x2e\xa5\x9e\x79\x13\xee\x51\x95\xcc\x38\x2b\xf4\xac\x27\xa4\xc6\x9f\x91\xd9\x70\x63\x50\x8d\x8e\x12\xd6\x2f\xb6\x4e\x40\xb2\xbe\x9f\x17\x32\xbb\xcf\x56\x8c\x8b\x51\x3f\x5c\x20\x29\xc1\xe2\xcf\xc9\x71\x23\x0e\x5f\x1f\x11\xef\x03\x97\x61\x94\xea\xb8\xf3\xbf\x5b\xbf\x47\xb3\x80\x61\x33\xa8\x30\x75\xd8\x65\xb2\x3b\x90\xd8\xe7\xf9\x4e\xfa\x21\x59\x8e\xe1\x51\xf9\xa6\x97\xe3\x71\x59\x29\xbe\x66\x06\x03\x00\x2d\x33\xcb\xeb\xf0\x61\xbe\xe7\xe2\x1e\x73\x17\x88\xac\xbd\x3e\xd9\x95\xe8\x43\x7f\x67\xed\xb1\xb7\xda\xea\x1e\xf3\x84\x0d\x0e\xb4\xe8\xf6\xef\x1b\x54\x73\xc2\xbe\xa1\x95\xb8\x7f\x03\xd7\x44\x78\x53\x56\x66\x6b\x99\x84\xfe\xc0\x0c\xc6\x54\x36\x51\x61\xdd\x73\x43\x3c\xe0\xbb\x4d\x8b\x22\xa1\xec\x6e\x35\xde\xe3\x98\xfd\x8f\x4e\xf4\xcc\xb4\x24\x3e\xd5\x33\x23\x2e\xe3\x64\xc4\x38\x74\xf9\x9b\x0c\x5c\xf7\xa2\xed\x04\x2f\xce\xd2\x05\x8f\xed\x38\x21\x6d\xd5\xa4\x8d\x46\x67\x85\x0d\x37\x2b\x60\x71\xe7\xe5\x4f\x54\xb2\x6d\x97\x8b\xbc\x69\x1c\xf2\xb6\x2f\xc8\x8a\x82\x2a\x69\xdf\x1f\x9c\xc2\xb5\x6b\x92\x97\xb5\x76\x7d\x42\xd7\x10\x0e\xed\xfd\x84\x9b\x9d\x6b\xf8\x1a\xdc\xd8\x01\xd0\xc0\x2c\x83\x7e\x90\x2a\x77\x77\x3c\xdb\xea\x71\xcf\x5b\x6e\x59\x66\x3b\x86\xae\x4f\xc8\x5c\x02\x0c\x7e\x1c\x9a\x1b\xba\x69\x4f\xbb\xe4\x68\xb6\x15\xee\x0e\x19\xe2\xfe\x61\xab\x9b\xd0\x78\x19\x6c\xc4\x13\xbc\x77\x21\x39\x83\x57\x5d\x84\x1f\x68\xb8\x5d\x4d\xaf\x26\xb1\xe9\x7a\x9b\xfd\x76\x60\xcb\xb5\x51\xcc\xc8\x9d\xae\xfc\x80\xa1\x23\xeb\xf5\x4e\xcb\x0e\xf6\x67\xd3\xe9\x18\xa9\xa7\x64\x0f\xbc\xac\x4b\xf8\xa3\x66\xc2\x70\xb3\x8d\x1b\xb6\x7e\xda\x12\x76\xc9\x64\x5d\xe4\x5e\x98\xc1\x76\x6d\x77\x48\xe2\xfa\x59\x96\xd2\x1b\xdd\x4d\x48\xfc\x26\x47\xdd\xd4\xdc\x96\x3f\xe2\xc6\x31\x1f\x18\xf2\xcd\xe0\x95\xdf\xfc\xc3\x6e\xdb\x69\xef\x94\x30\xf9\xba\xbf\xb5\xda\x2f\xc1\x00\x83\xbd\x8d\xd6\x61\xa3\x76\xc6\x8f\x07\xfb\x36\xa4\xf6\xd7\x47\xd0\x0c\xaa\xd5\x11\x5b\xa4\x7b\x3e\x3d\x1a\xec\xce\x38\xf7\x69\x29\x30\x1c\x8e\x64\x61\x0c\x18\x3a\xcc\x0e\x6b\xd6\xa5\x19\x39\x46\x88\x06\x6e\x4c\xb8\x92\x45\x33\x5a\x7b\xda\x48\xad\x41\xc4\x4e\x77\x63\x77\x3e\xd1\x81\x7b\xda\x91\x6e\xa6\x7a\xdd\xad\xd6\x4c\x75\xfd\xaa\x6f\x24\x96\x1a\x9f\xb8\xe9\xe8\x24\xe7\xb6\x9f\x4e\xbb\x97\x21\x28\x9b\xe8\x95\x97\xf3\x84\x55\x8c\x98\x98\xa2\x1b\xc6\x9f\x32\xad\xe9\x73\xff\xce\xa1\x9f\x36\x98\x71\xef\x27\x3c\xc5\xcb\x89\xc2\x75\x87\x7b\x26\x30\x07\x0b\x8e\x4a\x61\x4f\x09\xe2\x8d\x6c\xfb\xb7\x33\x18\x39\x03\x05\xd9\x6c\x7a\x9b\x23\x2c\x2d\x68\x15\x59\x46\xd8\x74\xb9\x7b\x45\xf5\x7c\x9e\xfb\x6e\x77\xc7\xde\x03\x7c\x0b\xd4\xda\x31\x25\x85\x04\x2c\x39\x56\xa3\x3d\x95\xc0\x29\x5d\xe5\x4f\xfb\x66\x4c\xbb\xb2\x42\xdf\x01\x0e\x0e\xa8\x3a\x2f\x92\x74\xe7\x49\xf0\x51\x23\x28\x3b\xf2\xed\x8f\xe8\x7d\x33\xb6\xee\x71\x92\xef\x7f\x75\xbc\xa1\x48\x7c\x7c\xac\x69\x62\xe7\x1e\xc7\xf7\x13\x87\x76\xc2\x16\xde\x06\x39\x07\x5c\x2c\x30\x33\x7c\x8d\xc5\xd6\x6e\x1c\x3c\x29\xde\xbf\xeb\x43\xb4\xc1\x8f\xd2\xe0\xcc\xcd\xdb\x5c\xfd\x15\xbd\xb8\xc3\x6a\x23\x4b\x66\x38\x85\x86\x2d\xe8\x7a\x6e\xdf\xa3\xc0\xbc\x19\xbe\x26\x9c\xe2\x90\x93\xbe\x64\x62\xc5\xae\x33\x23\xd5\x5f\x36\xee\x8a\xa6\xc2\xb5\xea\xef\x1a\x77\x23\x04\x2d\xf4\x11\xe2\xff\x3d\xe3\x22\x2a\x16\x30\x36\x3c\xd2\xea\x9f\x30\x75\xdc\xa7\xf3\x5e\xd4\xae\x2f\x44\x58\xb5\xde\x10\x1f\xc1\x82\x3e\x0d\x02\x9f\x5d\x5d\xc5\x93\x2e\xbb\xa2\x7b\xcb\x87\x17\x70\xe9\x0b\xef\xdd\x5b\x73\x0f\x69\x7b\x29\x27\xca\xca\x7e\x4b\x08\xc3\xcd\x27\xa5\xdd\xed\x0b\x0c\x90\x87\x85\x29\x79\xf7\xa5\xc5\x21\xa9\xed\xba\xd8\xad\xc0\xd5\x21\x11\x42\xed\xc5\xa7\x9b\x37\xa3\x6c\x66\xef\x2a\x6c\x8d\x74\xed\xe1\x22\x5c\x4a\x5a\x34\x27\x30\xe9\x0f\x62\x5d\x53\x4c\xd2\xc3\xf8\x08\x32\xa5\x5d\xc6\xcf\x2f\x2c\xb3\x68\x90\xd9\xb5\xd0\xa4\xef\x3c\x0c\x9c\xee\x20\x63\x15\x9b\xf3\x82\x32\xb2\xcf\xee\xf6\xa2\x95\xc7\x6f\x91\xe0\x43\x25\x35\xc6\xc9\xd5\x2e\xbc\xf3\x57\xa5\x3b\x3f\x2f\x03\xb3\x52\xb2\x5e\x3a\xed\xdc\x05\x43\xdc\x81\xad\x72\x16\x2c\x8b\x94\x90\x9c\xa3\xe0\xe2\xfe\xf9\x27\xc3\xbd\x91\xdd\xd8\x7c\xa8\x4b\x64\x98\x5a\xa2\x19\xd0\x47\xb3\xf2\xe3\x15\x63\xdf\x2a\x1b\xd2\x8e\x37\xe7\x1d\x2c\x38\x16\xcd\x70\x1f\xee\xa2\xb9\x44\xbf\xe6\x5e\x07\xc2\x46\x71\xfb\xf4\x76\x6c\x13\xa8\x57\x91\x7b\xfb\x64\x4f\xd6\xa2\x8d\x65\x36\xc9\xb5\xd0\x4e\x6e\x9f\xe3\xfd\x48\xb6\xb4\x11\x92\xbb\x5e\x9b\x1a\xec\x0d\x05\x3e\x26\xe2\xb7\x2c\xf5\x4a\x6e\xa2\xfa\xba\x79\x9d\x6f\xc3\x34\xf0\xf6\xed\xe1\x86\x4b\x14\x3b\xf7\xbc\x5c\xdc\xef\x8e\x8f\x67\x8f\x67\xff\x0b\x00\x00\xff\xff\x2b\x07\x79\x7d\x03\x2f\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\xdd\x6f\xe3\x36\x12\x7f\xcf\x5f\x31\xe7\x03\x7a\x36\x9a\x38\xe9\xd7\x5e\x6b\xec\x76\x37\x7b\xdd\xe0\x0e\x68\x8b\x45\x9b\xb6\x0f\xc5\x62\x43\x4b\x63\x9b\x17\x89\x54\x49\xca\x8e\xbb\xc8\xff\x7e\x18\x7e\x48\xa4\x2c\xd9\x8e\xb7\xe7\x97\xc4\x16\xe7\x83\x33\xbf\x99\x21\x67\xc4\xcb\x4a\x2a\x03\x37\xb5\x58\xf2\x79\x81\xb7\xf2\x1e\x05\x2c\x94\x2c\x61\x94\xfc\x36\x3a\xf3\x2b\x7f\x40\xc3\x72\x66\xd8\xaf\x1c\x37\xda\xaf\x4c\x7e\x6b\x56\x26\xf4\x7d\x64\xc3\x0b\x46\x67\x67\x2c\xcb\x50\xeb\x31\x2b\x8a\x09\x64\x52\x18\xc5\x32\x03\x6f\x1e\x58\x59\x79\x82\x59\x47\xe9\x0f\x67\x67\x00\x00\x97\x97\x97\x70\x2b\x0d\x2b\x40\xd7\x55\x55\x6c\x41\x2e\x12\x32\x0d\x5c\x00\x3e\x70\x6d\x50\x64\x68\x49\x62\x51\x6b\xa6\xc0\x10\xf9\xcf\x96\x7a\x06\xbf\xdc\xf0\x87\x67\x5f\xda\x75\x0d\xff\x9f\x8d\x54\x6c\x89\xc0\x44\x0e\x6f\xeb\x79\xc1\x33\x78\xcb\xcc\x4a\xef\x70\x2b\xd0\xc0\xaf\xac\x2e\x8c\xa7\xa0\x55\x33\x88\xbe\x0c\x53\x38\xbe\x8e\xa0\xfd\xbf\x77\xfd\x4f\x98\x21\x5f\xa3\x7a\x02\xc9\x75\x5e\x72\x31\xa8\x54\x6b\xc8\x15\x02\xae\x51\x18\x30\x2b\x66\x80\x6b\xc0\x92\x1b\x83\x39\x6c\x56\x28\xc0\xac\xb0\xf5\x0d\xd7\x90\x29\x64\x06\xf3\x1d\x89\x8e\x85\x33\xff\x7f\x04\x37\x9c\x15\xfc\x4f\xcc\xc7\xdc\xfd\x9f\x9a\x7a\x72\xbc\x78\xe7\x4f\xa6\x10\x36\xdc\xac\x72\xc5\x36\x1e\xbb\xcc\xd9\x70\xaf\x22\xbf\x05\x92\x31\x2b\x65\x2d\x4c\x90\x7f\x6e\x59\xcc\xe0\x3a\xcf\x15\x6a\xfd\xf2\x24\x7d\x72\xac\xa4\xe6\xf4\xc4\xc8\xa3\xb4\xf9\x2e\x10\xec\x68\x63\xe4\x29\xba\x08\xdc\xc4\xfa\x94\x5c\x1c\x72\xcc\x0f\x76\x49\x47\xfc\x89\x9b\xd7\x46\xc9\xed\x01\x79\xaf\x6b\x25\x3e\x42\x1e\xb3\x5b\xb4\xfb\x52\xa0\x50\xcb\x5a\x65\x78\x18\x84\x76\x97\xea\x5f\x6e\x0d\x3d\x90\x1b\xcc\xaf\x3f\x4a\x87\x39\x6d\xe4\x29\x3a\xd8\x9d\x37\x3a\x44\xe2\xde\xb0\x6c\x05\xb5\x46\x05\xda\x48\x85\x1a\x98\x00\x2e\xb4\x61\x22\x43\xca\x63\x52\x14\x5b\x1b\x74\x16\x4f\x94\xc8\xcc\x0a\xb9\x5b\xcd\x96\x98\xa8\xbd\xa8\x45\x66\xb8\x74\xf9\xae\xa5\xa1\x94\xb5\x94\x6b\x24\xdb\xc3\xdc\x71\xab\x94\x4b\x65\x95\xd4\x86\xe2\x39\xe7\x96\xb0\x61\xc7\x45\x27\xd5\x86\xe0\xdf\x5a\x77\x67\xac\x28\x30\x9f\x26\xd2\xb3\x15\x66\xf7\x1a\x56\xac\xaa\xc8\x4e\x06\x54\x2d\x0c\x2f\xd1\x92\xe2\x1a\x15\xb0\x46\x43\x6b\xb0\x94\x47\xc3\xeb\x27\x6f\x54\x5a\x21\xdc\xfe\xe7\x18\xcc\x1b\x76\x46\x29\x08\x1f\x0c\x59\x28\xc9\x48\xd6\x67\xa4\x66\xc3\xce\xa1\x73\xc1\x85\x25\x3e\x07\x2d\xe9\xb9\xb2\x3e\x13\x12\x36\x6c\x0b\x0b\x49\xba\x95\xac\xe0\x19\x97\xb5\x76\xee\x30\xd2\xcb\x74\x56\x6c\x4d\x23\x6b\x2f\x96\x0b\x60\x5c\x4d\xe1\x1a\x74\x85\x19\x67\x85\x47\x5a\x0b\x0b\x81\x98\x6b\xe2\x34\x6f\x75\x30\xd2\x22\xb8\x61\xd7\x46\x6d\x6a\x8a\x18\x43\x0d\x43\xab\x4a\xa7\x0a\x4e\xdf\x2a\xb9\xe6\x39\xaa\xf3\xce\xef\xa1\x46\x74\x7f\x7f\xcd\x0a\x42\xd7\x79\x5a\xd7\xa7\x64\xf7\x82\xdc\xe4\xab\x6a\xec\x5b\x5b\x1e\x61\xee\x08\xfd\xee\x35\xac\x9b\x14\xd7\x57\x52\xfd\xea\xa6\x9c\x26\x4c\xdb\x92\x60\xfd\x17\x38\x13\x6a\xc2\x5e\xad\xf5\x09\x2b\x04\xa2\x86\x98\xea\xc7\xb8\xc3\x7a\x02\x1f\x9a\xe7\xf4\xd1\x58\x2c\xa6\x81\xe5\x8b\xc0\xbc\x59\xf2\x98\xaa\x72\x13\x30\xe9\xb0\xc3\xee\x5d\x10\xba\x24\x05\xcc\x7d\x51\xcb\xba\x44\x61\x12\x42\x8a\x9f\x50\x84\xb4\xa3\xf6\x44\xb6\x20\x35\x01\x38\x4d\x77\x6e\x3c\xae\xb4\xcf\x25\x06\xe9\xec\xc4\xd4\xd6\x87\x6b\x48\x3b\xb5\x76\x68\x59\xc9\x22\x4f\x38\x10\xe3\x52\x0a\xdc\x36\x4b\xe7\xc8\xc5\x12\x8c\x62\x42\x2f\x50\x29\xcc\xa7\x24\x46\xa1\xa9\x95\xd0\x76\xbd\xc0\x4d\xb1\x4d\xb8\x84\x80\xf2\x42\x65\x12\x56\x96\xb1\x0b\x50\x0a\x18\x6e\x6c\x2c\xce\xa3\x22\x97\xf0\xc2\x42\xe3\x86\x82\x2a\xd9\x6a\xb2\xe4\x55\xc5\x14\x2b\x21\xa4\x7e\x02\x95\x37\x16\xa1\xc9\x15\x12\x17\x28\x9d\xba\x4e\x6a\xa5\x40\xb3\xec\xdc\xe6\x2c\x1f\xb7\x83\x16\x37\x52\x18\xc6\x85\xb5\xc8\x2a\x61\x57\x8b\x5c\xf7\x2a\xe8\xa1\x9b\x86\x49\x38\x2c\xb0\x79\x81\x13\x22\x6e\x58\x75\x0b\xd8\x0c\x5e\xa5\xa4\x4e\xa3\xbd\xa0\x4c\xbe\x5e\x78\x5b\x24\x04\x54\x76\x06\xcf\x2d\xee\x6f\x38\xb7\x58\x66\x72\x23\x50\xbd\x9c\x32\x77\x6e\x98\x24\xbc\xbc\xb5\x9e\x5f\xc4\x29\xad\x0d\x23\xc7\x6d\xf2\xa4\x08\xf1\x66\x97\xf3\xff\x62\xd6\x0d\x13\x1b\x1a\x2c\x4f\xad\x0d\xdc\xe8\x26\xd0\x3d\xde\x92\x8c\x82\x60\xb7\xa0\x07\xa2\x86\x6b\xf0\xb5\x9b\xa8\xfd\x81\xc3\x92\x69\x12\xe9\xd4\x99\x63\xc6\x6a\x8d\x6d\xf0\x25\x5c\x36\xa4\x66\x14\x70\x14\x5a\xa8\x82\x74\x9f\x85\x5b\x4c\xfd\xa3\xd5\x77\xc5\xd2\xbd\xcc\x11\x05\x21\x4d\xd7\x25\xe6\x76\xbb\xb6\xa8\x2c\xa4\x2d\x8e\x3e\x54\xfc\x91\xe8\x60\x50\x38\x27\x1e\x86\xb2\x05\xb0\x73\xc2\x86\x17\xc5\x60\x3c\xf6\xa6\x64\x02\xb0\x5f\x3d\x76\x02\xfb\x40\xdb\x4d\xa5\x74\x71\xb0\xd1\x07\xcf\x2f\xfc\x39\x5b\xff\x0d\x5e\xc5\xb7\xab\x69\x6a\xe7\x43\x58\xff\xd4\xf1\x9b\x76\xb3\x72\x07\xf2\xbb\x87\xe3\x84\xcc\x9d\x91\x0f\xe2\x3e\xa1\x81\x17\x70\x35\xbd\x4a\x9e\x07\x14\xa5\x09\x26\x82\xbf\x5f\x30\xee\xda\x85\x2f\xd2\x5d\x7d\x4b\xac\x3b\x6b\xe8\x93\x18\x2a\xba\x64\xc2\x8b\xe1\x47\x17\x09\xeb\x84\xe5\xe3\x50\x88\x12\x78\xe8\x28\x23\x17\xb0\x44\x63\x08\x31\xac\x28\x2c\x6a\x42\x95\x07\x77\x0f\xe7\x24\x94\x82\xd4\x1d\x06\x63\x2d\x86\x71\xea\xf3\xc7\x35\x85\xb8\x72\x62\x6e\xb7\x15\x6a\x77\xaa\x09\xf8\x8c\x59\xaf\xed\x99\x02\x6e\xdd\x39\xa1\xa8\xb1\x81\xac\xad\x6b\xf3\xb4\x18\xb5\xe6\x5e\x63\x21\x2b\x4a\x02\x46\xc2\xbd\x90\x1b\xd8\xac\x78\xb6\x02\x1b\x28\x68\xdc\xb9\xac\x62\x5a\x87\x0c\xa2\xdc\xa9\x85\xf6\x36\x9e\x40\x89\x66\x25\x07\x02\xae\xaa\xe7\x36\x08\x96\x68\xac\x25\xc6\x93\x19\xfc\x4e\xbb\x78\xd7\xf1\x9b\xdf\xec\xef\x3b\xce\xa4\xc5\xcf\x87\x3b\x18\xd3\x9b\x5b\xfa\xfb\xed\x78\x72\x7e\x02\xe9\x77\x5c\x57\x05\xdb\x9e\x48\x6d\x63\xf0\x3b\x66\xd8\x49\xf4\xb7\x2d\xfa\xbe\x1d\xa7\x11\xf4\xee\x29\x88\x4b\xb1\xd6\x9e\x94\xf1\x48\x98\xb9\x74\x48\xd0\x71\xe9\x90\xf4\x0e\x1c\x72\xd4\x5c\x79\x60\x4d\xfb\xd1\x09\xda\xa8\x3a\x33\xb5\x22\x58\x54\x0a\xa9\x2e\x04\x6c\x2a\xfc\xa3\x46\x6d\xfa\x18\x0c\xa6\xcb\x18\x5b\xef\x83\x5a\xdb\x0a\x27\x33\xb8\x16\xdb\x9f\xad\xb0\x97\xdd\x32\xbf\xe1\x26\x5b\xd9\xc5\x3d\xe9\x20\x63\x1a\x8f\x87\xd1\x6c\x87\x1e\x5a\x78\x1e\x64\x30\xee\xa5\xa6\xcf\xc2\x78\xb0\xf9\x0c\x1a\xef\xf3\x29\x40\x9d\xd8\x62\x70\xcc\xe2\x97\xbb\x98\x6c\x95\x69\xb0\x7b\x92\x3a\x31\xf2\x8f\x50\xa8\x59\xfe\xb2\x57\xa3\xc9\xa9\x2e\x6b\xad\xd2\xef\x35\x2a\xa4\x25\xe6\x9c\xc1\x8b\xce\xbd\xeb\x07\xfa\x75\x8f\xb3\x78\x81\xb3\x0e\xc9\xbf\x6f\x6f\xdf\xde\xf0\x02\x87\xa9\xe8\x53\xab\x62\x06\xa3\x95\x31\x95\x9e\x5d\x5e\x32\xad\xd1\xe8\xe9\x06\xe7\x54\x56\x2f\x88\xad\x9e\x66\xb2\xbc\xfc\x6a\xf1\xec\xf3\x6f\xbe\xcc\xae\xb2\x7f\xb2\xaf\xb3\x3c\x7f\xf6\xe5\x17\xf3\xcf\xb2\xaf\x3f\xbf\xea\x3c\x60\x5f\x7d\x95\xcd\x3f\xcb\xbe\xf9\xe2\xd9\xfb\x9b\x42\x6e\xde\xff\x26\x55\x5e\x32\x75\x3f\xd5\xeb\xe5\x68\x50\x8f\x9e\x64\x14\x3e\xd6\x1a\x64\xd8\x19\x8c\x78\xc9\x96\x78\xa9\xd7\xcb\x4f\x1f\xca\xa2\x9f\xdb\xae\x67\x12\xb3\xea\x7e\xbb\xea\xf1\xef\xf6\xf1\xbb\x7e\xf2\x63\x62\xc9\x7b\x76\xd8\xd6\x82\x95\xb4\x07\x9f\xe2\x1a\x66\xee\x20\x33\x1a\x36\x80\xde\x96\x73\x49\x2e\x7a\x73\x73\xbb\x67\x59\x8e\x3a\x53\xbc\xa2\x03\xf8\x0c\x46\xb6\xa0\x2e\x82\x08\x7b\x64\x6d\x2e\x8b\xee\x10\x8e\x5e\x0f\xba\x3a\x62\x51\xc1\x56\xd6\xa1\xae\xd2\xff\x0a\x04\xdd\xf0\x6e\x6e\xe1\xef\x52\x90\x27\xa7\x7b\x64\xe3\x83\x41\x25\x58\xf1\xcb\x4f\xdf\x77\x31\xf8\xa6\x7d\x34\x6e\x40\xe6\x65\x5f\x2c\xcc\x54\x8a\x05\x31\x97\x6a\x39\xda\x03\x82\x42\x2e\xa5\x9e\x79\x17\xee\x31\x95\xcc\x38\x2b\xf4\xac\x27\xa5\xc6\x9f\x91\xd9\x70\x63\x50\x8d\x8e\x52\xd6\x2f\xb6\x41\x40\xba\xbe\x9f\x17\x32\xbb\xcf\x56\x8c\x8b\x51\x3f\x5c\x20\x39\x82\xc5\x9f\x93\xf3\x46\x9c\xbe\x3e\x22\xdf\x07\x2e\xc3\x28\xd5\x71\xe7\x7f\xf7\xfc\x1e\xcd\x02\x86\xdd\xa0\xc2\xd4\x61\x97\xc9\xee\x40\x62\x5f\xe4\x3b\xed\x87\x74\x39\x86\x47\xe5\x9b\x5e\x8e\xc7\x65\xa5\xf8\x9a\x19\x0c\x00\xb4\xcc\x2c\xaf\xc3\x9b\xf9\x9e\x8b\x7b\xcc\x5d\x22\xb2\xfe\xfa\x64\x57\xa3\x0f\xfd\x9d\xb5\xc7\xde\xd3\x56\x77\x9b\x27\x08\x38\xd0\xa2\xdb\x2f\x37\x98\xe6\x04\xb9\xa1\x95\xb8\x5f\x80\x6b\x22\xbc\x29\x2b\xb3\xb5\x4c\x42\x7f\x60\x06\xe3\x45\x2d\xe8\x5c\xdd\x73\x41\x3c\x10\xba\x4d\x87\x22\xa1\xec\x4a\x1a\xef\x89\xcb\xfe\x47\x27\x06\x66\x7a\x22\x3e\x35\x30\x23\x2e\xe3\x64\xc2\x38\x74\xf7\x9b\x0c\xdc\xf6\x22\x71\x82\x17\x67\xe9\x82\xc7\x76\x9a\x90\x76\x6a\xd2\x3e\xa3\xf3\xc2\x86\x9b\x15\xb0\xb8\xf1\xf2\x27\x2a\xd9\x76\xcb\x45\xde\xf4\x0d\x79\xdb\x16\x64\x45\x41\x07\x69\xdf\x1e\x9c\xc2\xb5\xeb\x91\x97\xb5\x76\x6d\x42\xd7\x0f\x0e\xdd\xfd\x84\x9b\x1d\x6b\xf8\x23\xb8\xb1\xf3\x9f\x81\x51\x06\xfd\x20\x55\xee\xae\x78\xb6\xd3\xe3\x9e\xb7\xdc\xb2\xcc\x36\x0c\x5d\x9b\x90\xb9\xfa\x17\xc2\x38\xf4\x36\x74\xd3\x9d\x76\xb5\xd1\x6c\x2b\xdc\x9d\x31\xc4\xed\xc3\xd6\x36\xa1\xef\x32\xd8\x87\xa7\x4b\xc1\x2e\x24\x67\xf0\xaa\x8b\xf0\x03\xfd\xb6\xab\xe9\xd5\x24\x76\x5d\x6f\xaf\xdf\xce\x6b\xb9\x36\x8a\x19\xb9\xd3\x94\x1f\x70\x74\xe4\xbd\xde\x61\xd9\xc1\xf6\x6c\x3a\x1c\x23\xf3\x94\xec\x81\x97\x75\x09\x7f\xd4\x4c\x18\x6e\xb6\x71\xbf\xd6\x0f\x5b\x82\x94\x4c\xd6\x45\xee\x95\x19\xec\xd6\x76\x67\x24\xae\x9d\x65\x29\xbd\xd3\xdd\x80\xc4\x0b\x39\xea\xa2\xe6\x44\xfe\x88\x1b\xc7\x7c\x60\xc6\x37\x83\x57\x5e\xf8\x87\xdd\xae\xd3\xde\x21\x61\xf2\x75\x7f\x67\xb5\x5f\x83\x01\x06\x7b\xfb\xac\xc3\x4e\xed\x4c\x1f\x0f\xb6\x6d\xc8\xec\xaf\x8f\xa0\x19\x34\xab\x23\xb6\x48\xf7\x7c\x7a\x2c\xd8\x1d\x71\xee\xb3\x52\x60\x38\x9c\xc9\xc2\x14\x30\x34\x98\x1d\xd6\x6c\x48\x33\x0a\x8c\x90\x0d\xdc\x94\x70\x25\x8b\x66\xb2\xf6\xb4\x89\x5a\x83\x88\x9d\xe6\xc6\xee\x78\xa2\x03\xf7\xb4\x21\xdd\x0c\xf5\xba\xa2\xd6\x4c\x75\xe3\xaa\x6f\x22\x96\x3a\x9f\xb8\xe9\x68\x27\xe7\xb6\x9d\x4e\xd2\xcb\x90\x94\x4d\xf4\xc6\xcb\x79\xc2\x2a\x46\x4c\x4c\xd1\x4d\xe3\x4f\x19\xd6\xf4\x85\x7f\x67\xd3\x4f\x9b\xcb\xb8\xd7\x13\x9e\x12\xe5\x44\xe1\x9a\xc3\x3d\x03\x98\x83\x07\x8e\x4a\x61\xcf\x11\xc4\x3b\xd9\xb6\x6f\x67\x30\x72\x0e\x0a\xba\xd9\xf2\x36\x47\x58\x5a\xd0\x2a\xf2\x8c\xb0\xe5\x72\xf7\x86\xea\xf9\x3c\xf7\xcd\xee\x8e\xbf\x07\xf8\x16\xa8\xb5\x63\x4a\x06\x09\x58\x72\xac\x46\x7b\x4e\x02\xa7\x34\x95\x3f\xed\x1b\x31\xed\xea\x0a\x7d\x1b\x38\x38\x9f\xea\xbc\x47\xd2\x1d\x27\xc1\x47\x4d\xa0\xec\xc4\xb7\x3f\xa3\xf7\x8d\xd8\xba\xdb\x49\xbe\xff\xd5\xf9\x86\x32\xf1\xf1\xb9\xa6\xc9\x9d\x7b\x02\xdf\x0f\x1c\xda\x01\x5b\x78\x19\xe4\x1c\x70\xb1\xc0\xcc\xf0\x35\x16\x5b\x2b\x38\x44\x52\x2c\xbf\x1b\x43\x24\xe0\x47\x69\x70\xe6\xc6\x6d\xee\xfc\x15\xbd\xb7\xc3\x6a\x23\x4b\x66\x38\xa5\x86\x2d\xe8\x7a\x6e\x5f\xa3\xc0\xbc\x99\xbd\x26\x9c\xe2\x94\x93\xbe\x63\x62\xd5\xae\x33\x23\xd5\x5f\x36\xed\x8a\x86\xc2\xb5\xea\x6f\x1a\x77\x33\x04\x2d\xf4\x19\xe2\xff\x3d\xe2\x22\x2a\x16\x30\x36\x3c\xd1\xea\x1f\x30\x75\xc2\xa7\xf3\x5a\xd4\x6e\x2c\x44\x58\xb5\xd1\x10\x6f\xc1\x82\x3e\x4d\x02\x9f\x5d\x5d\xc5\x83\x2e\xbb\xa2\x7b\xc9\x87\x17\x70\xe9\x0f\xde\xbb\x97\xe6\x1e\xd2\xf6\x4e\x4e\x94\x95\xfd\x96\x10\x86\x9b\x4f\x4a\xbb\xdb\x16\x18\x20\x0f\x0b\x53\xf2\xee\x3b\x8b\x43\x5a\xdb\x75\x71\x58\x81\x3b\x87\x44\x08\xb5\x17\x9f\x6e\xdd\x8c\xaa\x99\xbd\xab\xb0\x35\xd2\xb5\x87\x8b\x70\x29\x69\xd1\x9c\xc0\xa4\x3f\x89\x75\x5d\x31\x49\x37\xe3\x33\xc8\x94\xa4\x8c\x9f\x5f\x58\x66\xd1\x1c\xb3\xeb\xa1\x49\xdf\x7e\x18\x38\xdb\x41\xc6\x2a\x36\xe7\x05\x55\x64\x5f\xdd\xed\x45\x2b\x8f\x5f\x22\xc1\x87\x4a\x6a\x8c\x8b\xab\x5d\x78\xe7\xaf\x4a\x77\x7e\x5c\x06\x66\xa5\x64\xbd\x74\xd6\xb9\x0b\x8e\xb8\x03\x7b\xca\x59\xb0\x2c\x32\x42\xb2\x8f\x82\x8b\xfb\xe7\x9f\x0c\xb7\x46\x76\x73\xf3\xa1\x26\x91\x61\x6a\x89\x66\xc0\x1e\xcd\xca\x8f\x37\x8c\x7d\xa9\x6c\xc8\x3a\xde\x9d\x77\xb0\xe0\x58\x34\xb3\x7d\xb8\x8b\xc6\x12\xfd\x96\x7b\x1d\x08\x1b\xc3\xed\xb3\xdb\xb1\x3d\xa0\x5e\x43\xee\x6d\x93\x3d\xd9\x8a\x36\x97\xd9\x22\xd7\x42\x3b\xb9\x7d\x8e\xf7\x23\xd9\xd2\x46\x48\xee\x46\x6d\xea\xb0\x37\x94\xf8\x98\x88\x5f\xb2\xd4\x2b\xb9\x89\xce\xd7\xcd\xdb\x7c\x1b\xa6\x81\xb7\x2f\x0f\x37\x5c\xa2\xdc\xb9\xe7\xdd\xe2\xfe\x70\x7c\x3c\x7b\x3c\xfb\x5f\x00\x00\x00\xff\xff\x3b\x60\x9c\x35\x02\x2f\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -117,11 +117,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdb, 0x84, 0x59, 0xac, 0xb3, 0x55, 0xa6, 0x4d, 0x67, 0x40, 0xca, 0x66, 0x2a, 0x4b, 0x3f, 0x17, 0x3a, 0xcd, 0x14, 0xcc, 0x14, 0xfd, 0x6f, 0xf0, 0xf2, 0xbf, 0x90, 0x2f, 0x2, 0xc4, 0xc4, 0x80}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x35, 0xa9, 0x9a, 0x9d, 0x76, 0x8b, 0xa1, 0xcb, 0x71, 0x43, 0x4f, 0xf1, 0xfd, 0xeb, 0xba, 0x67, 0x21, 0x33, 0x73, 0x17, 0x1d, 0x57, 0x4d, 0xb0, 0xbb, 0xe1, 0xe8, 0xab, 0xba, 0xa3, 0xd4, 0x67}}
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x4d\x8f\x1b\x37\xd2\xbe\xf7\xaf\x28\x4c\x80\xd7\x52\x5e\x45\xe3\xc3\x62\x0f\x42\x6c\xaf\x9d\xc4\x8b\x1c\x36\x08\xec\xd9\xe4\xb0\x58\xac\xa8\xee\x6a\x35\xe3\x6e\xb2\x43\xb2\x25\x6b\x8d\xf9\xef\x8b\x2a\x92\xfd\x2d\x8d\x66\xec\x00\x8b\x9d\xc3\x8c\xd4\x4d\x16\x8b\xc5\xa7\x9e\xfa\xe0\xdc\x7e\xfd\x75\x92\x7c\x05\x77\x05\xc2\xdb\x52\x1f\xe1\x6d\xa3\xf6\x72\x57\x22\xdc\xe9\x0f\xa8\xc0\x3a\xa1\x32\x61\xb2\x24\xf9\xea\x2b\xd8\xc6\x97\xfc\x6e\x0b\xa9\x56\xce\x88\xd4\x25\x09\x4f\x9f\x9f\x09\xd2\x82\xd2\x50\x6a\xb5\x47\x03\x42\x81\x54\x0e\x4d\x2e\x52\x4c\x5c\x21\x1c\x88\xb2\x84\x3c\x4e\x75\x3c\x35\xca\xb5\x70\xd4\x4d\x99\x41\x21\x0e\xf4\x8a\x9e\xe7\xda\x54\xe0\xf4\x3a\x49\x7e\xcc\x41\x40\x63\xd1\x58\x38\x0a\xe5\x2c\x0d\xc8\xb0\x2e\xf5\x09\x04\x28\x3c\x8e\x64\xad\xc0\x15\x28\x4d\xa7\x73\xa6\x91\x14\x73\xa0\x10\x33\x9a\x2c\xab\xba\xc4\x0a\x95\xa3\x91\x30\xd8\x6a\xa7\xf3\x0a\x76\x8d\x0b\xa2\x78\x01\x9b\x64\xfa\x8c\x88\x76\x92\x85\x0c\x73\xa9\x30\x03\xa9\xc0\x15\xd2\xb6\x5a\xac\xbd\x5d\x7f\x11\x4d\xe9\xb6\x60\xd0\xea\xc6\xa4\xbd\x99\x49\xf2\x83\x48\x8b\xb1\x7d\xda\x71\xee\x54\x23\x2f\x6e\xa7\xab\x9f\x17\x1a\x16\xfd\xd9\xe8\x83\xcc\xd0\x6c\x57\xb0\x7d\x87\x29\xca\x03\x7f\x16\x2a\x83\xed\x1b\x51\x0a\x95\xe2\xdc\x6c\xcb\xa7\x6d\x47\xdb\x4b\x4b\x61\x10\x6a\x83\xdf\xa4\x5a\x65\xd2\x49\xad\x2c\x8b\xaa\xb5\x75\xfd\x67\x7c\xe6\x06\xad\x33\x32\x75\x09\x29\x8a\x1f\x31\x6d\xe8\x25\xe8\x9c\x35\xcf\x1b\x95\xfa\xc1\x6c\x2e\x04\xde\xc9\x9a\xd7\x3d\x01\xad\x63\xb1\x16\x46\x38\x84\x1d\xa6\xa2\x21\x5d\x1c\xec\xe5\x01\x2d\x0f\x27\x50\xf0\x07\xb1\x93\xa5\x74\x27\xb2\x8d\x2d\x84\xc1\x44\x80\xc1\x1c\x0d\xaa\x94\xf1\xe4\x8f\x91\xa5\x7b\xbd\xb4\x2a\x4f\x80\x1f\x6b\x6d\x83\xa8\x5c\x62\x99\xd9\x4e\xa3\x44\x2a\xd0\x0a\x41\x1b\xa8\xb4\xc1\xa8\x71\x67\x0a\x02\x26\x61\xda\xea\xa0\x90\x47\xe8\x48\x9b\x4a\x7c\x40\x48\x1b\xeb\x74\xd5\x5a\x38\x98\xa6\x3d\x44\xb2\xcd\xd0\xca\x04\x70\x0d\x07\x61\xa4\x6e\x68\xb4\x54\x7b\x0b\x47\xe9\x0a\x16\xef\xd1\xb8\x4e\xde\x6a\x03\xf8\x51\x90\x98\x15\x08\xc8\x45\x93\xa2\x83\x54\x28\xd8\x61\x27\x1d\x33\xd8\x9d\xa2\x43\x49\xb5\x4f\xbc\x39\x20\x82\x62\x80\x96\xaf\x6f\x93\x44\x56\xb5\x36\x0e\x7e\x91\x78\x7c\x87\x56\x97\x07\x34\x90\x1b\x5d\xc1\xcd\xfa\xb6\x71\xbc\xb3\xdb\xfe\xcb\x75\x9a\xa5\x37\x49\x72\x7b\x7b\x3b\x74\x25\x7a\x32\x78\x1a\xe8\xa2\xd5\x4c\x04\xec\x18\xec\xd1\x86\xc1\xdf\x1b\x69\xe6\x9c\x6c\xe8\x1a\x2c\xb9\x53\x1d\x7e\x45\xb0\x4e\x96\xa5\xa7\x10\xe9\x40\xd8\x01\x05\x41\x81\xa6\x43\x91\xe3\x6f\x0c\x30\x5d\x31\x8e\xf2\xa6\x64\x91\x61\x87\x50\xa1\x2b\x74\x16\x8e\xaa\x12\xea\x04\xb5\xd1\xbf\x21\x53\x15\x2d\xe3\x17\x23\x3e\x22\x4d\x79\x51\xad\x46\xcc\x63\x57\x2c\x32\xf0\x88\x07\xf4\xee\x44\x9b\xad\x50\x28\xdb\xee\x75\xcd\xd4\xe8\x41\xd1\x3d\xa5\xcf\xfc\xac\x3d\x73\xbf\xe7\x68\x14\x3b\x70\xfe\x8e\x48\xea\x66\xd7\x6a\x30\x22\xb7\x4f\x49\x02\x00\x40\x62\x88\xc7\xf1\xe0\x6d\xeb\xd7\xc5\x4a\x3a\x42\xcb\xb1\x40\x15\x30\xc6\x1a\x13\xee\x32\x23\x8e\xca\xa3\x40\x78\x37\x62\x41\xb4\x94\x17\xf2\x6b\x18\xb4\x10\x95\x6e\x94\xdb\xc0\xdf\xdf\xca\x8f\x7f\xfe\xd3\x8a\xe7\x6c\xe0\x75\x96\x19\xb4\xf6\xd5\x8a\x89\x6c\x03\xef\x9d\x91\x6a\xbf\x64\x21\x22\x4d\xd1\xda\x85\xc5\x32\x5f\xd2\x21\xb3\x22\x51\xde\x0f\x24\xfd\x71\x42\x37\xf0\x46\xeb\x12\x3e\xb1\x70\xfa\x21\x79\x53\x05\xfd\xdf\x28\x8b\x7e\x47\x39\xf4\x7b\xd9\xce\x36\xe8\x1a\xa3\xc0\x99\x06\xf9\xd9\xfd\x53\x6c\x98\x61\xad\xad\x74\x1e\xd6\xf3\x16\xfc\xde\x0f\x99\xec\xd5\xe9\x27\x98\x2f\x08\x9b\xb7\xde\x05\x89\xf3\xb6\x1b\xab\x16\x4d\x47\x82\x9c\xfe\x03\xcd\xe6\x8c\x50\x36\x47\x43\xde\xc0\xe0\x23\x46\x16\x69\x4a\xcb\xb3\x25\x95\x26\x4f\x1e\x59\xf2\x2e\xcc\x7a\x18\x36\x4f\x31\x6d\x94\x7e\x25\x32\x1f\x6b\xeb\x89\xf2\xb3\x38\x7d\x9a\xe1\x59\xe5\x0b\x18\xb5\xce\xe8\x13\x66\x23\x73\xbe\x69\x8c\x9a\x62\x68\x60\xac\xf3\xd6\xa2\xc9\x67\x50\x78\xd1\x16\x32\x0f\x1b\x87\x97\x2f\xe0\xf9\xfa\x79\xef\x55\x6b\xaa\x81\x62\x2d\x26\x67\x4c\x72\x7f\x8d\x71\x62\x3c\x8c\x0f\x06\x70\xed\xc2\x08\x43\x16\x29\x98\xa6\x21\x73\x08\x7c\xed\x29\x39\xd7\xa6\x25\x4c\x0a\xb6\x51\x48\xb0\x33\x83\x98\xf3\x88\xc8\xe2\x52\xed\x59\xdb\xf5\x64\xdd\x1f\x1d\xb4\x99\x6b\x58\x70\xb8\x96\x56\xb0\xdd\xc5\xf4\x8d\x02\xda\xaa\x9d\xdb\xcb\x96\x4a\x14\x94\x9d\xe8\x1a\x7d\x8a\x55\x6b\x6b\x65\x48\x50\x74\x0e\xa9\x41\xc1\x4a\x84\x24\xa5\x0e\x66\xb0\x9d\xea\xb4\x63\x4a\x7d\x39\x83\xa6\x33\x16\x46\x96\xa7\x90\x0a\x73\xc0\xd3\x47\x05\x41\x93\xe1\x3e\x08\x45\xd3\xc4\xb2\xcb\x3d\x42\x40\x8a\x4b\x45\xcb\x81\x6d\x76\xa1\x2e\x18\x1b\x4e\x1f\x15\x9a\x67\xb6\x47\xa1\x71\x32\xe5\xa0\xfe\x7c\x6d\xa4\xd8\x2e\x67\x32\x58\xe9\x03\xd3\xaf\xcf\x9d\x7a\x13\x07\x42\xee\x7a\x59\xe9\x33\x1b\x30\x0d\x25\x1e\xb0\x24\xa2\xaa\x9b\x5d\x29\xd3\x58\x1a\x48\xeb\x4b\x1e\x07\x82\xec\xb6\x2b\xb1\x1a\x08\x8b\xa7\xc0\xc9\x66\xab\x3c\x58\xa7\x0d\x1f\x3b\xeb\xd5\x1a\x27\xd8\x32\xd0\xdb\x40\x50\xca\x99\x8c\x74\x52\x94\xe5\x09\x52\x9f\x2d\xc8\x2e\x5b\xbd\xbc\x1f\xbf\x6a\x25\x4e\xb0\x37\x94\xaf\x30\x67\xc6\x75\xda\x3d\x52\x92\x18\xb1\x40\xdb\x91\x07\xe1\x70\xa4\x45\xdd\x66\xb6\xa1\x9e\xd3\x47\x0b\xb6\xc6\x54\xe6\x32\x0d\x72\x43\x1a\xac\x83\xdc\x81\x04\xc6\x5f\x3c\xfb\xae\xb6\x29\x8c\x6e\xf6\x05\xf4\x72\xf6\x6b\x37\xe4\xd3\x6f\xde\x15\x19\xe5\x81\x3d\xf1\xe1\x5d\xb3\x25\x92\x35\xda\xc7\x40\xf7\x81\x8c\xc7\xef\x83\xbc\x82\x08\xf2\x38\x9f\x34\x2d\x37\xf0\x97\xd7\xea\xf4\x2e\xc8\xfd\xc4\x50\xbe\x1f\x31\x20\x55\x5b\xa3\x47\x7e\x19\xd8\x1a\xb4\xa1\x1e\xcc\xc3\x16\x3c\xd2\x98\xfa\x0e\xa2\x6c\x70\x32\xcd\x4f\x59\xef\xd1\x85\x7a\x70\xb1\x84\x17\x2f\x02\xa9\x6e\x26\xc3\xe9\xe7\x26\x66\x54\xa2\x8c\x54\x5d\x35\xd6\x51\xed\x41\xcb\x59\x51\x21\xe5\xe0\xf4\x39\x50\x43\xac\xa1\xba\x84\x92\x77\x76\x33\x11\x3f\x48\x5a\xd7\xe7\xd3\xc1\x61\x68\xa4\xc0\xb3\x66\x68\xbc\x5a\x0b\x1f\x72\x63\x38\xe0\x57\x7b\x74\x77\xa7\x1a\x17\xcb\xb5\xcc\x88\x78\x73\x89\x66\x39\x58\xfb\x7e\x14\x31\x7a\xd1\x21\x96\xcd\x9f\x1f\x1d\x42\x2a\x38\x13\x1c\xa4\x0a\x47\x75\x45\x70\xf8\x15\x23\x25\x4b\x95\x96\x4d\x86\x20\xa0\xad\xbd\xbd\x1a\x69\x81\xe9\x87\xe1\x01\x04\x42\x6a\xa5\x1c\xb1\xad\x60\xa8\x86\xbd\xa6\x84\xf5\x66\xf0\x95\x49\x02\x3d\x7e\xca\x74\x1c\x34\x5f\xaf\xae\xa0\x94\x1f\x10\x6c\x5d\x4a\x2e\x69\x2a\x68\x6a\xe2\xec\x56\x88\x45\x95\xf9\x17\x54\xfe\xca\x9c\x5d\xc8\x41\x5d\xfa\x6a\x1b\x1e\x0e\x2b\xf1\x90\xc6\x61\x25\x98\x1c\x9c\xf8\x80\x5d\x6c\xa0\x78\x11\xde\x58\x0a\x94\xf3\xe6\x1f\x74\x60\x2e\x7a\x73\x90\xb5\xf0\x68\x9c\xf1\xe0\xe5\x50\xab\x3d\xba\xf7\x4d\x4d\xb5\x36\x66\x3c\x80\xd0\x49\x81\x9a\x8e\x90\x89\xbe\x8b\x66\xa5\xb4\x8e\xdc\xe7\xe0\x3b\x18\x3c\x30\xd4\x86\x5c\x31\x86\x7d\x13\x55\xd5\xce\x4e\x54\x9b\x5f\x6a\xb1\xdc\xc0\xa7\x3b\x76\x10\xca\xbe\xc6\x0c\x73\x7b\x0b\x6f\xb0\xd4\x47\x0f\x24\x8a\x74\xfd\x9e\x42\x04\x86\x6d\x4c\x80\xbd\x69\xd4\x37\x4e\x56\xa1\x57\xc5\xfd\xbc\xb1\x3c\x0e\x84\x7b\x74\x61\x67\x6d\x12\x4a\xd4\x2a\xf8\xb4\x5b\x73\x87\x86\x45\x80\xd1\xb0\x1f\xb9\xf6\x35\xef\x1a\x06\xf2\x65\x3e\xf1\x73\xfb\xbe\xd9\x91\x36\x0b\x9d\x6f\x80\x1e\x7e\x3b\x38\x96\x19\xa1\xf7\x2f\x17\xcb\xe5\x0c\xaf\x06\xf6\xfc\x34\x5c\x61\xc3\x99\xe4\xfd\x90\x44\x00\x4b\x8b\xf3\xd4\xfc\xce\x4b\x11\x94\x1b\xd7\xee\x04\x99\xe4\xf0\x2d\xcc\x29\x52\x65\x86\x39\x1f\x31\xd3\x34\xf3\x45\x6b\x91\x63\xa1\x21\xd3\xea\x99\x9b\x93\xdc\xb5\x4a\x66\x4d\xb5\x02\xdb\xa4\x05\x2d\x32\x7c\xfd\xfe\x28\x5d\x5a\xec\xb4\x30\xd9\x76\x05\x5b\x7e\xf6\x56\x9b\xa3\x30\x19\x9a\x2d\xa0\x4b\xd7\x67\x4d\x71\x7f\x96\x3b\x07\x30\x7f\x17\x40\x7c\x2c\x90\xf3\x03\x6d\x98\xb6\x68\xb3\xc4\x39\xca\xc3\x45\xda\x00\x5e\xdf\xae\xa2\xb7\x03\xca\x8d\xd2\x5e\x47\x17\x60\x86\x13\x2a\xcc\x02\xa1\x4e\x5e\x90\x2d\xb8\x91\xfc\x1b\x85\xa2\x5e\xb6\x4f\x42\x83\x6d\x27\xde\x41\x30\x19\x3b\xc7\xc2\x07\x0e\xfa\x38\x2d\x4e\x7a\x56\xc8\x45\x69\x71\x3e\x6c\x9c\x21\xa9\x58\xe0\x69\xd3\x93\x18\xda\x64\x8c\x06\x3e\x75\x01\x99\x34\x98\xba\xb6\x04\x06\xa9\xac\x43\x91\x11\x0b\x14\xe2\xc0\x91\x81\xbb\x84\xa2\xa5\x37\x22\xb4\x63\x1b\x94\x2f\x72\x95\x3b\x57\x22\x47\x2a\xd9\xc0\x77\x6d\x6a\xf4\xed\xff\x8d\x3c\x25\x9e\xcc\xfd\xcb\xb1\xab\xd4\x66\x0e\xf9\x51\xe8\x9a\x99\x84\xdc\xe6\xe6\x3b\x3e\x25\x02\xc2\x4e\x1b\xa3\x8f\x30\x6d\xd8\xc2\x4f\x6f\xef\xda\xa9\x37\xd7\x06\xea\x90\xbf\xcc\xc4\x69\x69\x7b\xa7\xc0\x79\x3b\xad\xba\x47\x85\x46\x94\x50\x37\xa6\xd6\x16\xa1\x42\x27\x32\xe1\x44\x6f\xec\x38\x6a\xc6\x4c\x72\x24\x0e\x31\xf3\xbc\x48\x04\x17\xc5\xf8\x52\x41\x64\x99\x4f\x41\x8f\x85\x2e\x91\xef\x2c\xba\x7e\x5d\x14\x4b\xc7\x8e\x07\x24\x2e\xe8\x3a\x1c\x4d\xbd\x37\x22\x63\x93\x50\xf9\x61\xf4\x4e\xec\xa8\x98\xd0\x1a\x2a\xf2\x68\x9d\x83\x80\x9d\x41\xf1\x81\x6b\xb8\x42\xa8\x3d\x5e\x42\x5f\x30\x0f\x7c\x82\xdb\xdb\xcd\xa0\xc7\xbb\x6e\x9b\xbd\xa3\xe8\xf9\x37\xee\x84\xc6\x8d\xf5\xd2\x89\x49\x5e\x1e\xd3\x8c\x94\x0f\x77\x87\x8c\x4d\x23\xa9\xee\xe2\xf6\xfa\x6a\x30\xc3\xea\xd0\x86\xf5\xd7\x46\xf1\x66\x25\x24\x4c\x4c\x92\x1f\xeb\x52\xa6\xd2\xf9\xd9\x73\x51\xad\xcd\x56\x23\x82\x93\x27\xc6\xbe\x27\x92\xc2\xd0\x52\x83\x96\xb9\x37\x9b\xbd\xe8\x86\x7b\x74\x34\x87\xb5\xf9\x07\x89\xfd\xe7\x64\x88\xf1\xf2\x68\xd8\xe2\x5f\x70\x90\x78\x6c\x15\x78\xad\x4e\xef\x9d\x69\x52\xf7\x6a\xec\x04\x5d\x71\x3c\x68\x28\x64\x48\x69\xc5\x2a\x54\xae\x2d\x26\xfc\xd5\x1b\x97\x52\xdd\xbd\x5b\x4b\xbf\xab\x88\x99\x55\x8f\xba\x56\x6d\x09\xef\xaf\x91\xe2\xae\xbb\x06\x44\xd3\x75\xf7\xc8\xcb\x6d\x34\x26\x9c\xd0\x5d\x93\xcb\xf9\x1c\xcd\xc3\xf4\x6a\x55\xae\xc2\xf3\x5f\x87\x28\x8e\x55\xc9\x61\x36\x36\x5c\xc6\xd8\x7f\x65\x1a\x37\x75\x81\xa7\x60\x39\x86\x6d\xae\xe5\x9c\x36\x62\x4f\x39\x9a\x2b\x28\x8e\x1b\xec\x2c\x16\x03\xae\x3b\xd5\x32\xe5\xed\xee\xfc\x04\x9c\x75\xd8\xef\x7d\x0c\x7e\xef\x25\xfe\x2c\x5c\x41\xea\xf7\xbe\xbe\x9a\x8f\xb3\x4a\x96\x0f\x25\x18\x9c\x45\x7a\x62\x1e\x28\x2a\xed\x50\x53\xbe\xab\x69\x39\xbc\xeb\x00\x5c\x50\xf7\x67\x1e\x1b\xb5\xed\xbe\x3d\x4e\xd9\x2f\xee\xf5\x0f\xf5\xce\xb6\x3e\xba\x6f\xbb\xee\x19\x1f\xff\x33\x3b\xcb\xe0\xc3\xfe\x19\xc5\xa8\x51\x0f\x2d\x0a\xa6\x14\x6d\x3a\xff\xcb\x76\x37\x66\xf3\x88\x98\x7c\x77\x3d\x8a\x97\x0f\xf4\x28\x5e\xfb\xc6\x44\xd7\x71\x88\x2d\x8a\xd2\xb7\x74\x84\xa2\x7c\x14\x7f\x6f\x44\xe9\xbf\xcd\x10\xc3\x4c\x93\xe2\xfe\xca\x56\x4c\xb8\x6a\xf4\x2d\x32\x51\xb6\xfd\x3a\xd8\xee\x30\xd7\x06\xb7\xfd\xa8\xea\x53\xfe\xb0\x68\xd7\xd8\x1d\xc6\xbe\x9e\xf0\x70\x33\xb8\xc3\xbd\x54\x8a\xa2\xff\xe8\x52\xbd\xbb\x6e\x9f\x99\x7d\x85\x6d\x5f\xbc\x00\xaf\xe5\x62\xf2\x6e\x09\xdf\x5c\xb6\xfb\x4f\x2d\x7a\xa2\x31\xfb\xbd\xa1\x58\xdc\x77\x36\xae\x0d\x1e\xf8\xae\x3b\x0e\x17\xbe\x17\x30\xee\x15\xc5\xf7\xe7\xd3\xc1\x2b\x0b\x7f\x91\x65\x54\xf4\x77\x0b\x86\x9c\x73\x70\xf6\x72\xa6\xcd\xfc\x98\xb2\x7f\xae\xbe\x1c\x67\xcc\x54\xd3\x58\x8b\xc6\x75\x77\xbd\xa9\x56\xa9\x41\x17\x0a\xe9\x60\xa1\xee\x06\xd1\x93\x99\xb4\x6d\x9b\x6d\x2c\x2f\x94\x92\xbd\x42\xa9\xad\xae\x62\xdb\x39\x48\xbb\xc2\xe7\x68\x5b\x6b\x69\x7f\x54\xd6\xf1\xd9\x0f\x0b\xe0\xe5\x06\xe6\x01\xf0\x9d\x50\x14\xf6\xbb\xd2\x04\xa4\x4a\x75\x55\x0b\xd7\xfb\xef\x16\xda\xdf\x35\xdd\xbf\xd9\xdb\x4c\x56\xac\x0f\x4a\x7f\x2d\x76\xa1\x0b\x18\x67\x5c\xdd\x05\x84\xf3\xce\xfd\x48\x77\xf9\xff\xf8\x6e\xa2\xf5\xf2\x49\x1e\x64\x9b\xea\x41\xd7\xe9\x10\x73\x91\xc1\x46\x2e\xf3\x3f\x51\x85\x7e\x91\x33\x7b\x34\xc5\xb5\x51\xd6\xa2\xca\xd0\xfc\xa1\x94\x07\xb3\x8e\x32\x7f\x37\x7d\x4d\x9b\x5c\x6f\xba\x2a\xdd\x57\xe4\x8b\xe5\xab\x2f\xd7\x4d\x1f\x40\x8c\xaf\x64\xf0\x87\xaa\x76\xa7\x40\xc8\xe1\xd6\x45\x9d\xc2\x7f\x74\xe9\x30\x66\x90\x87\x30\x93\x15\x82\x78\xfc\xdf\x68\xf4\x55\x39\xc8\x78\xa9\xc5\xe7\xdc\xad\x9c\xb9\x24\x79\xbe\x7e\xbe\x81\x1b\xaa\x7f\x15\x1e\xcb\x70\xe3\x14\xbd\xce\x83\x80\x53\xce\xbe\xd2\x57\x38\x63\xb8\x8e\x5f\x5c\xd7\x62\x99\x62\x61\x7a\xf3\x3e\xc1\xf8\x67\x5f\x8f\xdc\xff\x27\x00\x00\xff\xff\x76\xbf\xbc\xdc\x54\x2a\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x8f\x1b\xb7\x11\x7f\xdf\x4f\x31\xb8\x00\xb5\x94\x2a\x3a\x3f\x14\x7d\x10\x62\xbb\x76\x12\x17\x79\x68\x10\xd8\xd7\xf8\xa1\x28\x2a\x6a\x77\x56\xcb\x78\x97\xdc\x90\x5c\xc9\xea\xe1\xbe\x7b\x31\x43\x72\xff\x69\xf5\xe7\x2e\x76\x51\xd4\x0f\x67\x69\x97\x1c\x0e\x87\x33\xbf\xf9\xcd\x50\xb7\x5f\x7f\x9d\x24\x5f\xc1\x5d\x81\xf0\xb6\xd4\x7b\x78\xdb\xa8\xad\xdc\x94\x08\x77\xfa\x23\x2a\xb0\x4e\xa8\x4c\x98\x2c\x49\xbe\xfa\x0a\xd6\xf1\x25\xbf\x5b\x43\xaa\x95\x33\x22\x75\x49\xc2\xd3\xa7\x67\x82\xb4\xa0\x34\x94\x5a\x6d\xd1\x80\x50\x20\x95\x43\x93\x8b\x14\x13\x57\x08\x07\xa2\x2c\x21\x8f\x53\x1d\x4f\x8d\x72\x2d\xec\x75\x53\x66\x50\x88\x1d\xbd\xa2\xe7\xb9\x36\x15\x38\xbd\x4c\x92\x1f\x73\x10\xd0\x58\x34\x16\xf6\x42\x39\x4b\x03\x32\xac\x4b\x7d\x00\x01\x0a\xf7\x23\x59\x0b\x70\x05\x4a\xd3\xe9\x9c\x69\x24\xc5\x1c\x28\xc4\x8c\x26\xcb\xaa\x2e\xb1\x42\xe5\x68\x24\x0c\xb6\xda\xe9\xbc\x80\x4d\xe3\x82\x28\x5e\xc0\x26\x99\x3e\x21\xa2\x9d\x64\x21\xc3\x5c\x2a\xcc\x40\x2a\x70\x85\xb4\xad\x16\x4b\x6f\xd7\x5f\x44\x53\xba\x35\x18\xb4\xba\x31\x69\x6f\x66\x92\xfc\x20\xd2\x62\x6c\x9f\x76\x9c\x3b\xd4\xc8\x8b\xdb\xe3\xd5\x4f\x0b\x0d\x8b\xfe\x6c\xf4\x4e\x66\x68\xd6\x0b\x58\xbf\xc3\x14\xe5\x8e\x3f\x0b\x95\xc1\xfa\x8d\x28\x85\x4a\x71\x6a\xb6\xe5\xd3\xb6\xa3\xed\xa5\xa5\x30\x08\xb5\xc1\x6f\x52\xad\x32\xe9\xa4\x56\x96\x45\xd5\xda\xba\xfe\x33\x3e\x73\x83\xd6\x19\x99\xba\x84\x14\xc5\x4f\x98\x36\xf4\x12\x74\xce\x9a\xe7\x8d\x4a\xfd\x60\x36\x17\x02\xef\x64\xc9\xeb\x1e\x80\xd6\xb1\x58\x0b\x23\x1c\xc2\x06\x53\xd1\x90\x2e\x0e\xb6\x72\x87\x96\x87\x93\x53\xf0\x07\xb1\x91\xa5\x74\x07\xb2\x8d\x2d\x84\xc1\x44\x80\xc1\x1c\x0d\xaa\x94\xfd\xc9\x1f\x23\x4b\xf7\x7a\x69\x55\x1e\x00\x3f\xd5\xda\x06\x51\xb9\xc4\x32\xb3\x9d\x46\x89\x54\xa0\x15\x82\x36\x50\x69\x83\x51\xe3\xce\x14\xe4\x98\xe4\xd3\x56\x07\x85\xbc\x87\x8e\xb4\xa9\xc4\x47\x84\xb4\xb1\x4e\x57\xad\x85\x83\x69\xda\x43\x24\xdb\x0c\xad\x4c\x0e\xae\x61\x27\x8c\xd4\x0d\x8d\x96\x6a\x6b\x61\x2f\x5d\xc1\xe2\xbd\x37\x2e\x93\xb7\xda\x00\x7e\x12\x24\x66\x01\x02\x72\xd1\xa4\xe8\x20\x15\x0a\x36\xd8\x49\xc7\x0c\x36\x87\x18\x50\x52\x6d\x13\x6f\x0e\x88\x4e\x31\xf0\x96\xaf\x6f\x93\x44\x56\xb5\x36\x0e\x7e\x91\xb8\x7f\x87\x56\x97\x3b\x34\x90\x1b\x5d\xc1\x4d\xff\xd1\x4d\x92\xdc\xde\xde\x0e\x83\x87\x9e\x0c\x9e\x06\x80\x68\x75\x11\xc1\x5b\x0c\xf6\x80\xc2\xe0\x6f\x8d\x34\x53\x61\x35\x0c\x06\x96\xdc\x29\x0b\x1f\x10\xac\x93\x65\xe9\x41\x43\x3a\x10\x76\x00\x3a\x50\xa0\xe9\xfc\xc6\xf1\x37\x76\x29\x5d\xb1\xe7\xe4\x4d\xc9\x22\x1b\xe7\x4f\xab\x42\x57\xe8\x2c\x1c\x4e\x25\xd4\x01\x6a\xa3\x7f\x45\x06\x27\x5a\xc6\x2f\x46\x08\x44\x9a\xf2\xa2\x5a\x8d\xb0\xc6\x2e\x58\x64\x40\x0e\xef\xc2\x9b\x03\x6d\xb6\x42\xa1\x6c\xbb\xd7\x25\x83\xa1\x77\x83\xee\x29\x7d\xe6\x67\xed\x29\xfb\x3d\x47\xa3\xd8\x41\xb8\x77\xd0\x21\xd2\x14\xad\x9d\x89\xb2\x9c\xb7\x9a\x8c\x60\xed\x3e\x49\x00\x00\x6e\x6f\xe1\xb5\x02\x54\x4e\xba\x60\xe7\x5c\x1b\xd2\x45\xef\xa5\xda\xb2\x78\x72\xb3\xcc\x88\xbd\x28\xd9\xe7\xd9\xd7\xfc\xf9\x0b\x1f\x40\x2c\xa8\xbf\x64\x5f\xdc\x87\x38\x7b\x53\x62\x5c\xf2\x96\x73\x0e\xee\xfc\xb1\xfa\x2d\x63\x25\x1d\xb9\xe6\xbe\x40\x15\x17\x21\x63\xc5\xd5\xd5\x85\x25\x77\xfd\xc5\x66\xa2\xd2\x8d\x72\x2b\xf8\xfb\x5b\xf9\xe9\xcf\x7f\x5a\xf0\xdc\x15\xbc\xce\x32\x83\xd6\xbe\x5a\x30\x7a\xae\xe0\xbd\x33\x52\x6d\xe7\x7d\x61\x16\xcb\x7c\x4e\x7e\xc6\x0a\x45\x79\x3f\x90\xf4\xc7\x09\x5d\xc1\x1b\xad\x4b\xb8\x67\xe1\xf4\x8f\xe4\x1d\x2b\xe8\xff\x8f\xb2\xe8\x6f\x94\x43\x7f\xe7\xed\x6c\x83\xae\x31\x0a\x9c\x69\x90\x9f\x3d\x3c\xc5\x96\x19\xd6\xda\x4a\xe7\x23\xeb\xbc\x25\xbf\xf7\x43\x8f\xf6\xec\xf4\x13\xcc\x18\x84\x4d\x5b\xf1\x8c\xc4\x69\x1b\x8e\x55\x8b\x26\x24\x41\x4e\x7f\x41\xf3\x39\x23\x94\xcd\xd1\x50\x60\xb2\x33\x52\x3a\x10\x69\x4a\xcb\xb3\x45\x95\x26\x50\x39\x61\xd1\xbb\x30\xfb\xb2\x1b\x3d\xc5\xc4\x51\xfa\x95\x9e\xfa\x58\x9b\x1f\x29\x3f\xe9\xb7\x4f\x3b\x00\x56\xf9\x8c\xcf\x5a\x67\xf4\x01\xb3\x13\x66\x7d\xd3\x18\x75\xec\x53\x03\xa3\x9d\xb6\x1a\x4d\x3e\xe1\x95\x67\x6d\x22\xf3\x60\x00\x78\xf9\x02\x9e\x2f\x9f\xf7\x5e\xb5\x26\x1b\x28\xd6\xfa\xe8\x84\x69\x1e\xae\x31\x52\x4c\xce\xf1\xc1\xc0\x7d\xbb\x0c\xc7\x2e\x8c\x94\xd9\xd3\x40\x63\x42\x2a\xf1\xd9\x82\xb0\x3d\x02\x2a\x65\xfe\x28\xa4\x0f\xea\x4c\x6a\x62\x82\xe1\x1c\x70\xa8\x71\x79\xb4\xee\x8f\x0e\x5a\x1a\x1d\x16\x1c\xae\xa5\x15\xac\x37\x91\x4b\x52\xae\x5d\xb4\x73\x7b\xd4\xad\x44\x41\x54\x49\xd7\xe8\xf9\x5e\xad\xad\x95\x81\x2d\xe9\x1c\x52\x83\x82\x95\x08\x8c\xa9\x0e\x66\xb0\x9d\xea\xb4\x63\xe2\xe1\x4c\xe7\xe9\x8c\x85\x91\xe5\x21\xf0\x72\xce\xc5\x7a\xaf\x20\x68\x32\xdc\x47\xdf\x9b\x8e\xd9\x6e\x47\x88\x42\xae\x8c\x4b\x46\x0b\x82\x6d\x36\xa1\x58\x19\x1b\x50\xef\x15\x9a\x67\xb6\x07\xb1\x71\x32\x11\x63\x7f\xce\x36\x42\x70\x47\xe4\x0c\x56\x7a\xc7\xf0\xec\x09\x5d\x6f\xe2\x40\xc8\x5d\x8f\x2a\x3f\xb3\x61\x1f\x50\xe2\x0e\x4b\x02\xb0\xba\xd9\x94\x32\x8d\xf5\x8a\xb4\xbe\x0e\x73\x20\xc8\x7e\x9b\x12\xab\x81\xb0\x78\x1a\xcc\x80\x5b\xe5\xc1\x3a\x6d\x22\x05\xe8\x19\x27\xd8\x34\xc0\xde\x40\x50\xca\x64\x4b\x3a\x29\xca\xf2\x00\xa9\x27\x34\xb2\xa3\xd0\xe7\xf7\xe3\x57\xad\xc4\x01\xb6\x86\x28\x15\x63\x69\x5c\xa7\xdd\x23\x31\xd7\xe8\x13\xb4\x1d\xb9\x13\x0e\x47\x5a\xd4\x2d\xdd\x0e\x45\xa6\xde\x5b\xb0\x35\xa6\x32\x97\x69\x90\x1b\xb8\xb9\x0e\x72\x07\x12\xd8\x0f\xe3\xd9\x77\x05\x57\x61\x74\xb3\x2d\xa0\x57\x48\x5c\xbb\x21\x5f\x13\xf0\xae\xc8\x28\x17\xf6\xc4\x87\x77\xcd\x96\x48\xd6\x68\x1f\x03\xdd\x07\x32\x1e\xbf\x8f\x10\x1d\x7d\x02\xe7\x91\x73\x3f\xcd\xb2\xe6\x2b\xf8\xcb\x6b\x75\x78\x17\x16\xba\x67\xdf\x7e\x18\x41\x23\xd5\x84\xa3\x47\x7e\x5d\x58\x1b\xb4\xa1\x6a\xcd\xc3\x9e\xbc\xeb\x31\x26\xee\x44\xd9\xe0\xd1\x34\x3f\x65\xb9\x45\x17\xaa\xd6\xd9\x1c\x5e\xbc\x08\x68\xbb\x3a\x1a\x4e\xff\x6e\x3e\x74\x74\x36\x60\x78\xd5\x58\x47\x15\x12\x2d\x67\x45\x85\x54\x37\xd0\xe7\x80\x19\xb1\xd2\xeb\x98\x28\xef\xec\xe6\x48\xfc\x80\x60\x2f\x4f\xf3\xc7\x61\xee\xa4\x8c\xb4\x64\x5f\x79\xb5\x14\x3e\x27\xc7\x3c\xc1\xaf\xb6\xe8\xee\x0e\x35\xce\xe6\x4b\x99\x11\x22\xe7\x12\xcd\x7c\xb0\xf6\xc3\x28\x95\xf4\xd2\x46\x2c\xee\x7f\x7f\xda\x08\xdc\x71\x22\x6b\x48\x15\x8e\xea\x8a\xac\xf1\x01\x23\x56\x4b\x95\x96\x4d\x86\x20\xa0\xed\x10\x78\x35\xd2\x02\xd3\x8f\xc3\x03\x08\x08\xd5\x4a\xd9\x63\x5b\x75\x51\xa5\x7d\x4d\xa1\xed\xcd\xe0\xab\xa9\x04\x7a\x80\x95\xe9\x38\x68\xba\xaa\x5e\x40\x29\x3f\x22\xd8\xba\x94\x5c\x86\x55\xd0\xd4\x04\xe2\xad\x10\x8b\x2a\xf3\x2f\xa8\x48\x97\x39\xc7\x94\x83\xba\xf4\x3d\x01\xb8\x3e\xdf\xc4\xc3\x1a\xe7\x9b\x60\x7a\x70\xe2\x23\x76\x49\x83\x12\x49\x78\x63\x29\x93\x4e\x1f\xc3\xa0\x5f\x74\x2e\xcc\x59\x29\x8a\xee\x20\x73\xe6\xbd\x73\x22\xa2\xe7\x43\xed\xb6\xe8\xde\x37\x75\xad\x8d\xc3\x8c\x07\x90\xb7\x52\x46\xa7\x23\xe5\x4c\xd0\xa5\xbb\x52\x5a\x47\xe1\xb4\xf3\x7d\x17\x1e\x18\xea\x5b\xae\x7a\xc3\xfe\x49\xa5\xda\xd9\x49\x15\x77\x12\xf7\xac\xe7\xf4\xba\xb3\xf9\x0a\xee\xef\x38\x7a\x88\xb3\x8d\xe1\xe7\xf6\x16\xde\x60\xa9\xf7\xde\xcb\x28\x2f\xf6\xdb\x22\xd1\x6b\x6c\x63\x42\x4c\x98\x46\x7d\xe3\x64\x15\xda\x6d\xdc\x92\x1c\xcb\xe3\xb4\xb9\x45\x17\xb6\xd9\x52\x58\x02\x62\xc1\xae\xd0\x9e\x41\xe8\xb9\x04\x1f\x1b\xb6\x54\x97\xbe\x88\x5f\xc2\x40\xbe\xcc\x8f\x40\xc0\xbe\x6f\x36\xa4\xcd\x4c\xe7\x2b\xa0\x87\xdf\x0e\xce\x68\x42\xe8\xc3\xcb\xd9\x7c\x3e\x01\xba\x01\x5a\xef\x87\x2b\xac\x98\x7f\x3e\x0c\x11\x06\xb0\xb4\x38\x8d\xdb\xef\xbc\x14\x41\x8c\xba\x76\x07\xc8\x24\x27\x7b\x61\x0e\x11\x47\x33\xcc\xf9\xbc\x19\xc3\x19\x4c\x5a\x8b\xec\x0b\x0d\x99\x56\xcf\xdc\x94\xe4\xae\xf7\x33\x69\xaa\x05\xd8\x26\x2d\x68\x91\xe1\xeb\xf7\x7b\xe9\xd2\x62\xa3\x85\xc9\xd6\x0b\x58\xf3\xb3\xb7\xda\xec\x85\xc9\xd0\xac\x01\x5d\xba\x3c\x69\x8a\x87\x93\xc0\x3a\xf0\xf9\x77\xc1\xa3\xf7\x05\x32\x9b\xd0\x86\x31\x8d\x36\x4b\x80\xa4\xbc\xbb\x48\x1b\x3c\xd9\x77\xdc\xe8\xed\x00\x8f\xa3\xb4\xd7\x31\x1e\x18\xfe\x84\x0a\xb3\x40\xa8\x83\x17\x64\x0b\xee\x85\xff\x4a\x79\xaa\x57\x23\x90\xd0\x60\xdb\xf3\xa1\x42\x3e\x33\x8e\x94\x99\x4f\x31\xf4\xf1\xb8\xbe\xe9\x99\x24\x17\xa5\xc5\xe9\x04\x73\x01\xce\x62\xcd\xa8\x4d\x4f\x72\x68\x06\xb2\x8b\xf8\x56\x13\x64\xd2\x60\xea\xda\xea\x1a\xa4\xb2\x0e\x45\x46\x38\x51\x88\x1d\xe7\x12\xee\x7e\x8a\x16\x08\x09\xfa\xba\xae\xd4\x55\xa8\xe6\x4e\x55\xdf\x11\x74\x56\xf0\x5d\xcb\xb2\xbe\xfd\xc3\x28\x8c\xe2\xb1\x3d\xbc\x1c\xc7\x51\x6d\xa6\xc2\x22\x0a\x5d\x32\xcc\x50\x4c\xdd\x7c\xc7\x47\x48\x5e\xb2\xd1\xc6\xe8\x3d\x1c\x37\xa4\xe1\xa7\xb7\x77\xed\xd4\x9b\x6b\x53\x7c\x60\x3e\x13\x19\x5e\xda\xde\x69\x70\x09\x40\xab\x6e\x51\xa1\x11\x25\xd4\x8d\xa9\xb5\x45\xa8\xd0\x89\x4c\x38\xd1\x1b\x3b\xce\xb7\x91\x94\x8e\xc4\x21\x66\x1e\x34\x09\xfd\xa2\x18\x5f\x75\x88\x2c\xf3\x6c\x76\x5f\xe8\x12\xf9\x4e\xa6\xeb\x4e\x46\xb1\x74\xfc\xb8\x43\x02\x8a\xae\x89\xd2\xd4\x5b\x23\x32\x36\x09\x55\x32\x46\x6f\xc4\x86\xea\x12\xad\xa1\xa2\x70\xd7\x39\x08\xd8\x18\x14\x1f\xb9\x2c\x2c\x84\xda\xe2\x35\xde\x18\xcc\x04\xf7\x70\x7b\xbb\x1a\xf4\xb2\x97\x6d\x53\x7b\x94\x77\xff\xc6\xfd\xdf\xb8\xc1\x1e\x21\x39\xa2\xfa\x91\xa8\xa4\x7c\xc8\x1b\x64\x5f\x35\x92\x4a\x39\xbe\x46\x58\x0c\x66\x58\x1d\x9a\xcf\xfe\x7a\x2c\xde\x20\x05\xca\xc5\x48\xfa\xa9\x2e\x65\x2a\x9d\x9f\x7d\x31\x0f\xb6\xe4\x37\xba\x75\xf2\x39\x52\xe7\xe7\xc0\x94\xa1\x41\x07\x37\x08\xde\xba\xf6\x62\xf4\xf6\xb5\x26\x01\xac\xe7\x3f\x68\x8d\x7f\x9e\x1f\x6f\xfc\x4a\x34\x67\xf6\x2f\x7e\xdc\xaa\xf6\x5a\x1d\xde\x3b\xd3\xa4\xee\xd5\x38\x9a\xba\x82\x7d\xd0\xec\xc8\x90\x98\xcc\x22\x54\xd3\xad\x53\xf9\x3b\x4a\x2e\xef\xba\x0b\xca\x16\xe4\x17\xd1\xe9\x16\x3d\x2c\x5c\xb4\x6d\x05\x7f\xdf\x16\xed\xd1\x35\x47\x9a\xae\x13\x49\x70\x61\xa3\x99\xe1\x80\xee\x31\x74\x92\xb7\xb2\xba\x5e\x9b\xab\x62\xe2\xaf\xc3\x48\x88\xb5\xd1\xee\x72\x12\x3a\xef\xa7\xff\xfb\x4c\xf2\x42\x4c\x3d\x25\x1e\x22\x8d\xe0\xc2\xd3\x69\x23\xb6\xc4\x19\x5d\x41\xbc\xc2\x60\x67\xd8\x48\x00\xdc\xa1\x96\x29\x1b\x62\xe3\x27\xe0\x65\x6c\xf8\xde\x13\x84\xf7\x5e\xfc\xcf\xc2\x15\xb4\xb1\xde\xd7\x57\xd3\x79\x5f\xc9\xf2\x12\xfb\x61\x8a\xeb\x13\xc3\x40\x6b\x69\x87\x6a\xf3\xcd\x58\x9b\x43\xba\x66\xc6\xb5\xba\xff\xcc\x13\xa3\xea\xdd\xb7\xc7\x69\xfe\x5f\xc4\x94\x4b\xdd\xc2\xb5\x27\x21\xeb\xae\x5f\xc8\x2e\xf3\xcc\x4e\x26\x98\x61\xc7\x90\x52\xe9\xa8\x6b\x18\x05\x13\xcd\x3c\x9e\xff\x85\xfb\x39\x93\xfc\x27\x56\x14\x5d\x57\xe6\xe5\x85\xae\xcc\x6b\xdf\x8a\xe9\x7a\x2c\xb1\x29\x53\xfa\xae\x96\x50\x44\xb2\xf1\xb7\x46\x94\xfe\xdb\x04\x08\x4d\xb4\x65\x1e\xae\x6c\x3e\x85\x0b\x61\xdf\x25\x14\x65\xdb\xb2\x84\xf5\x06\x73\x6d\x70\xdd\x67\x01\xbe\x8e\x09\x8b\x76\x3d\xee\x61\xae\xee\x09\x0f\xf7\xb7\x1b\xdc\x4a\xa5\x88\xb5\x8c\x7e\xec\xd0\xfd\x0c\x62\x62\xf6\x15\xb6\x7d\xf1\x02\xbc\x96\xb3\xa3\x77\x73\xf8\xe6\xbc\xdd\x7f\x6a\xdd\x29\x1a\xb3\xdf\x0d\x8b\xed\x8c\xce\xc6\xb5\xc1\x1d\xff\x06\x21\x0e\x17\xbe\xfb\x31\xee\x8e\xc5\xf7\xa7\x69\xec\x95\x2d\x0e\x91\x65\x16\xa4\xeb\x16\x0c\x5c\x79\x70\xf6\x72\xa2\xd3\xfe\x94\x06\xc7\x54\xf1\x3c\x66\xfc\x54\xb0\x59\x8b\xc6\x75\x37\xf3\xa9\x56\xa9\x41\x17\xba\x04\xc1\x52\xdd\x65\xab\x07\x43\x69\xdb\x06\xe3\x58\x5e\xa8\x93\x7b\x55\x60\x5b\x3a\xc6\x0e\x7c\x90\x76\x45\xec\xd1\xb6\x96\xd2\xfe\xa8\xac\x63\x1f\x18\x56\xf7\xf3\x15\x4c\x3b\xc2\x77\x42\x11\xdb\xe8\x4a\x2c\x90\x2a\xd5\x55\x2d\x5c\xef\xd7\x47\xb4\xbf\x6b\xfa\x9e\x93\x17\xbe\xac\x58\xdf\x39\xfd\x8d\xe1\x99\xfe\x67\x9c\x71\x75\xff\x13\x4e\x07\xf9\x23\xc3\xe6\x8f\xf1\xdd\x91\xd6\xf3\x27\x45\x92\x6d\xaa\x8b\x21\xd4\x79\xcc\x59\x24\x1b\x85\xce\xff\x55\x35\xfd\x59\xce\xee\xd1\x90\xd7\xa6\x61\x8b\x2a\x43\xf3\x45\x21\x10\x26\x03\x66\xfa\xfa\xfe\x9a\x8b\x02\xbd\xea\xba\x0d\xbe\xb3\x30\x9b\xbf\xfa\x7c\xf7\x09\x03\x57\xe3\x5b\x2a\xfc\xa1\xaa\xdd\x21\x00\x74\xb8\x88\x52\x87\xf0\xcb\x3b\x1d\xc6\x0c\x88\x0a\x23\x5a\x21\x08\xd7\xff\x8d\x46\x5f\x43\x52\x5a\x4f\x1b\x2f\x39\xfb\x3d\xb7\x4c\x27\xae\x8b\x9e\x2f\x9f\xaf\xe0\x86\xea\x78\x85\xfb\x32\x5c\xc6\xc5\x28\xf4\xce\xc0\x14\xb6\xaf\xfc\x15\xc1\x19\x7e\xb9\x30\xbb\xae\x65\x74\xec\x13\xc7\x3f\x4e\x38\xf2\xf5\xdf\x7d\x51\xf4\xf0\x9f\x00\x00\x00\xff\xff\x39\xd9\x0a\x8b\x04\x2c\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,11 +137,11 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd3, 0x54, 0xca, 0x34, 0xcb, 0x48, 0x59, 0x4a, 0x1b, 0x6b, 0x38, 0xd8, 0x72, 0x26, 0xac, 0xe8, 0x6c, 0x8, 0xe4, 0xcc, 0x5c, 0x4a, 0x5d, 0x17, 0xa6, 0xcc, 0x2f, 0x3e, 0xbf, 0xfd, 0xe2, 0x15}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0x41, 0xc8, 0x28, 0x21, 0x90, 0x1a, 0x45, 0x10, 0xfd, 0xee, 0x9c, 0xca, 0xb1, 0x9f, 0xd, 0x50, 0x5, 0x26, 0xdc, 0x8a, 0xe2, 0x6e, 0x6a, 0x93, 0x4c, 0xe0, 0x22, 0x5e, 0xe4, 0x83, 0x77}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x5a\x4b\x8f\x1b\xc7\xf1\xbf\xcf\xa7\x28\x48\x07\x2d\xfd\xe7\x92\x82\xff\x81\x81\x2c\x62\x5b\x2b\xc7\x0b\x08\x48\x02\xc3\xda\xd8\x07\xc3\x08\x9b\x33\x35\x64\x43\x3d\xdd\xe3\xee\x1e\x52\xb4\xa0\xef\x1e\x54\xf5\x63\x1e\x1c\xee\xae\xe4\x1c\x02\x44\x17\x91\xc3\xe9\x7a\xd7\xaf\x1e\xbd\xeb\x2f\xbe\x28\x8a\xe7\x70\xbf\x47\xb8\x53\xe6\x08\x77\x9d\xde\xc9\xad\x42\xb8\x37\xef\x50\x83\xf3\x42\x57\xc2\x56\x45\xf1\xfc\x39\x6c\xd2\x8f\xfc\xdb\x06\x4a\xa3\xbd\x15\xa5\x07\xa9\x3d\xda\x5a\x94\x58\x14\x44\x28\x7f\x05\xbf\x17\x1e\x84\x52\x53\xb2\xe9\xa4\x83\xa3\xe9\x54\x05\x7b\x71\x40\xf0\x86\x9e\xd7\xc6\x36\xe0\xcd\xaa\x78\x53\x83\x80\xce\xa1\x75\x70\x14\xda\x3b\xfa\xbd\xc2\x56\x99\x13\x08\xd0\x78\x04\x3f\x22\xb5\x04\xbf\x47\x69\xf3\xf7\x22\x50\xd6\x88\x15\x9d\x94\x4d\xab\xb0\x41\xed\xe9\x35\x18\x29\xd2\xcb\xbb\x62\xf9\x07\x44\x26\xe2\xd5\x46\x91\x8d\x48\x21\xa2\x62\x3b\x85\x0e\x84\xae\x40\x8b\x46\xea\x5d\xc1\xea\xfa\x91\x05\x5c\x8b\xa5\xac\x25\xba\x55\x30\xe1\x4f\xa2\x53\x7e\x03\x16\x9d\xe9\x2c\x19\xec\x7b\x51\xee\x41\x94\xa5\xe9\x58\x36\xe1\xc1\x1c\xb5\x0b\xca\x25\xf3\x24\x25\x58\x0e\x41\x02\x93\x5f\x4a\x2c\x4c\xcd\xec\x98\x68\xa6\x09\xce\x1b\x8b\x15\x48\x1d\x4d\x92\xa8\xd3\x73\xb1\x8b\x5a\x4e\x0f\xed\x85\x83\x06\xfd\xde\x54\x0e\xb2\x1e\xe6\xa8\xd1\xb2\x86\xc6\xef\xd1\x46\x77\x94\x42\x43\x29\x94\x8a\x2a\xfd\x60\xcd\x41\x56\x68\x37\x4b\xd8\xfc\x88\x25\xca\x03\x7f\xa6\x53\x9b\xd7\x42\x91\xa0\xbd\xc2\xbd\x69\x1c\x8b\xe1\x86\x4f\xa0\xc2\x52\x09\x8b\xd0\x5a\xbc\x2e\x8d\xae\xa4\x97\x46\x07\x13\xb7\xc6\xf9\xe1\x33\x96\xd1\xa2\xf3\x56\x96\xbe\x20\x61\xf1\x3d\x96\x1d\xfd\x08\xd1\x2c\x75\xa7\xcb\xf0\x72\x30\x45\x50\x39\xa8\x7f\x02\xe2\xe3\xb0\x15\x56\x78\x84\x2d\x96\xa2\x23\x59\x3c\xec\xe4\x01\x1d\xbf\x4e\xda\xf2\x07\xb1\x95\x4a\xfa\x13\xb9\xc0\xed\x85\xc5\x42\x80\xc5\x1a\x2d\xea\x92\xe3\x22\x98\x39\x18\x34\xb8\x50\xab\x13\xe0\xfb\xd6\xb8\x48\xaa\x96\xa8\x2a\xd7\x4b\x54\x48\x0d\x46\x23\x18\x0b\x8d\xb1\x98\x24\xee\x4d\xb1\x2a\x8a\x37\x94\x3a\xce\x44\x81\x82\xe9\x27\xd2\x34\xe2\x1d\x42\xd9\x39\x6f\x9a\x6c\xe1\x68\x9a\x1c\xf0\x64\x9b\xb1\x95\x29\x91\x0c\x1c\x84\x95\xa6\xa3\xb7\xa5\xde\x39\x38\x4a\xbf\x67\xf2\x21\xf2\x56\xc5\x9d\xb1\x80\xef\x05\x91\x59\x82\x80\x5a\x74\x25\x7a\xf6\xfd\x16\x7b\xea\x58\xc1\xf6\x94\xf2\x96\x73\x80\xcd\x01\x29\x28\x46\xc9\xf5\xfa\x04\x9d\x93\x7a\x37\x90\x95\x5c\xdb\x8b\xb6\x8c\x6a\x9a\xfa\x22\x62\x14\x24\x81\x43\x5d\xf1\x51\x1b\xe2\x2d\xa5\x4b\x8b\x68\xaf\xbd\xb9\xa6\xff\x97\xac\x92\xe9\x3c\xa5\x0d\x31\x25\x14\x20\x4e\x0c\x0e\xa4\xad\x80\x12\x89\xaa\x02\x85\xd5\x0e\x2d\xb8\x46\x58\x9f\x59\xad\xe0\xde\x04\x4e\x91\xba\x37\x20\x74\x9f\x08\xcb\x22\xe0\x53\x4c\x52\x47\x36\x39\x31\xd3\xca\x8a\xe3\xc0\x96\x50\x5b\xd3\x0c\x83\x84\xb1\x2a\xe4\x10\x47\x6e\x85\xad\x71\xd2\xe7\xf0\x00\xa3\x47\x9c\x5e\xb8\x14\x5c\x04\x91\x64\x7a\x8f\x81\xbe\x15\xda\xd5\x68\x57\x45\xf1\xc5\xba\x28\xd6\xeb\x35\xcc\x00\xf0\x45\xf0\xcd\x5e\x5c\xd1\xd1\x42\x94\x25\x3a\x77\x25\x94\x5a\xcc\x60\xfb\x04\x34\x3f\x14\x05\x00\xc0\x7a\x0d\xb7\x1a\x50\x7b\xe9\x23\xbe\xd6\xc6\x12\x42\x9a\x23\xdb\x7c\x8f\xd9\x22\x42\x71\x98\x0f\x4c\x22\x82\x5a\x4c\x68\xc8\x7c\x48\xee\xe7\x74\x7a\xab\x30\xb1\x0c\x5a\x7a\xe3\x85\x02\xdd\x35\x5b\xb4\x03\xca\x52\x03\xbe\x97\xce\x53\x72\xae\xf2\x81\x37\x1e\xa4\x83\xae\x8d\xe9\x3a\x08\x60\x4b\x8f\x50\xbb\xce\x62\x0f\x7c\x81\xb6\xeb\xda\x56\x9d\x32\x0d\xe7\xc5\xc9\x91\xa0\x1d\x63\x06\xc5\x5f\x20\x58\x09\x8f\x67\x4a\x1c\x84\x0d\x64\xde\x32\x95\x1b\xf8\xe7\x9d\x7c\xff\xd5\x9f\xc6\x3a\xe0\x01\x13\xec\x4b\x07\xd8\x48\x4f\x19\x75\xa4\xe8\x20\x31\x7a\x2f\x38\x28\x2d\x0a\x8f\xd5\xb9\xb1\x98\x04\x3b\xc5\xbd\xd1\xd2\x4b\xa1\xe4\xef\x58\x5d\xc9\xf0\x79\xcc\x7d\xf1\x74\xf6\xc1\x9a\x84\x92\xc9\x81\xfa\x11\xaf\x0d\x04\x49\x5e\xd3\x57\xa2\xa1\xda\x93\xf8\x2f\x99\xc4\x0d\xdc\x56\x95\x45\xe7\xbe\xfd\x2c\x79\x62\xba\x70\x89\xa3\x9c\x7c\x82\x3c\x7f\x4d\x47\xce\xe4\xf1\xe6\xa2\x34\x93\x34\x42\xc2\xb8\x32\x02\xba\xc5\xdf\x3a\x69\x39\x82\x1c\x87\x7c\x32\x12\x61\x60\x22\x32\x49\xff\x3e\xe8\x38\x35\x4e\x6d\x1f\x9f\xc3\x38\xad\x0c\x3a\xd0\x26\x33\x1c\xf3\x32\x1a\x36\xdb\x54\x55\xf7\x68\x71\x99\xcf\x0e\x8a\x98\x42\x41\x45\xc3\xb4\x31\x90\x5a\xe3\x9c\x8c\x75\xc3\xd4\x21\x96\x48\x88\x58\x3b\xda\x88\xd6\xae\x17\x9d\x34\xae\x0c\xcb\xa1\x91\x8c\x2a\xac\x54\xa7\xd8\x8a\x30\x94\x99\xa3\x86\x28\xc9\x58\x8f\xa1\x13\xce\xeb\x7e\x5f\x1a\x22\x84\x24\x96\x6f\xbb\x6d\xc4\xa5\xa9\xdd\xb8\x0d\x49\x20\x38\x3a\x13\x6a\x80\xef\x2c\x85\x46\x04\xc9\x5c\xc9\x2c\x36\xe6\x80\x55\xae\x68\x83\x83\x23\x22\xf7\x83\x5e\xe1\x85\x8b\xe2\x83\xc2\x03\x2a\x0a\xc3\xb6\xdb\x2a\x59\x2e\x61\xdb\x51\x68\x4a\x47\xcf\xc8\x2c\x82\xcc\xb6\x55\xd8\x8c\x88\x25\x27\x70\x0b\xd0\xf7\x50\xd4\x7b\x25\x40\x1c\xd8\x64\xdc\xa1\x8d\x08\x95\xdc\xe8\x71\x0e\xab\x13\xd7\x8a\xc0\x3d\x49\xfa\xb0\x3e\x81\x6b\x23\x4e\xb0\xb3\x42\xfb\xd8\xbf\x45\x3e\x59\x47\x2a\xdd\x29\x14\x48\x1d\x79\x48\x48\xd6\x4b\xd1\xe6\x7e\x23\x36\xf3\xe6\xe8\x52\x5b\x5b\x8e\xfa\x42\xca\x45\xa6\x3b\xa2\xc0\xe1\x97\x5c\x9e\x55\xf7\x7b\x6b\xba\x1d\xd5\xe0\xdc\x49\x3d\x55\xa1\xd0\x14\xb1\x56\x64\x94\x47\x74\x62\xe7\x3d\x45\x25\xa2\x35\xd1\x63\x24\xfb\x88\xc6\xe7\xe9\xf1\x8a\xba\xcd\x06\x12\x04\x91\x5a\xe1\xf3\xa0\x7c\x79\x43\xfd\xd5\x04\x72\x49\x8e\xc3\x59\xf0\xbf\x0a\x91\x0f\x33\xdd\x3c\x15\x0e\x21\xf5\xb4\x04\x6b\x8a\x9e\x6a\xec\x9f\xfc\x25\xa6\xed\xb0\xe0\x2e\xe8\xfd\x7c\x7a\x82\x9d\x8b\x1b\x78\x15\xd8\x7e\xc8\x34\xe8\x1f\x75\xea\x93\x47\x81\x17\x6c\x2c\xba\x38\xfe\xd4\xd1\xd0\x21\x1f\x58\x8d\x83\x50\x1d\x9e\x1d\x0b\x47\x56\x11\x68\xe0\xeb\xaf\x93\xf9\xce\xde\xa4\x7f\xcf\x7e\xee\x9b\x8d\x68\xda\xa6\x73\x9e\x4c\x4a\x9c\x9c\x68\x10\x44\xf0\x6b\xa2\x18\x5b\xef\xde\x44\xac\xd3\xb3\x11\xf9\x8f\xc5\xf8\xd3\xc7\x3f\x50\x28\x62\xf5\x9a\xa9\x13\x5c\xcd\x9e\x58\x27\x7e\xc6\x84\xce\x52\x97\xaa\xab\x90\xba\xd9\x34\x1d\x05\x31\xca\x3d\x96\xef\xc6\xba\x46\x70\xca\x54\x8e\xc8\xb3\x35\x39\x82\xa6\x8c\xa7\x0c\x19\x61\xbe\x0b\x43\x46\x01\x03\xac\xaa\x4c\x7a\x69\x7e\xa2\x58\x82\x92\xef\x68\x20\x56\x92\x7b\xac\x86\x9a\x27\xa1\xab\xbe\xbd\xe2\x56\x9b\x7e\xa0\x96\x4a\xd6\x9c\x4e\x1e\x5a\x15\xe6\x21\x78\x7a\x85\x49\x53\xe8\xb4\xc2\xdc\x8b\x77\xd8\xd7\x09\xaa\x1d\xd1\x19\x8e\x6a\xe6\xbc\xf9\xfb\x4c\x3f\xb5\xf8\x58\x66\x87\xe6\xe6\xf1\x7c\xe4\x2c\x0c\x5e\x3a\x4a\xa5\x28\x3c\x73\x53\x33\xcb\x63\xa8\x30\xa5\x64\x7c\xfb\x2a\x30\x0c\x69\xb8\x18\x2b\xfb\x1a\x95\x39\x52\xad\xca\xc0\x54\xf5\x60\x72\xf7\xb7\x37\x3f\xc0\xf3\xaf\xfe\x0c\x7b\xef\x5b\x77\xb3\x5e\xef\xa4\xdf\x77\xdb\x55\x69\x9a\xb5\xd1\xb5\x32\xc7\x75\xad\x64\xeb\xd6\x5b\x65\xb6\xeb\x46\x48\x1d\xbf\x7f\xf9\xf2\xcb\xff\x7f\xf9\xe5\xcb\xaf\xae\xeb\x38\x0d\x5c\xb3\x77\xaf\x19\x9d\xae\xc9\x46\xd7\x95\x74\xa5\x39\xa0\x3d\xad\x9a\x6a\x1e\x69\xe8\xcb\x8f\xb1\x6a\xf3\xfc\x23\xb9\xa2\x09\xcb\xcd\x49\x1c\x75\x4e\x2d\x0e\x36\x11\x21\x95\xa2\x5b\xa5\x03\x42\xa7\x04\xd4\x2d\xf9\x0e\xc8\x8b\x9b\x68\x97\x4d\x5c\x65\x4c\x0a\x91\x74\x61\xf0\x92\x69\xb1\x13\x91\x67\xf3\xe1\xfe\xd4\xe2\x5f\x5e\xdd\x29\x73\xe4\x7e\x71\xc5\x32\x7c\x73\xb5\xb8\x01\x6f\x3b\xfc\xb8\x09\x73\x6a\x0d\x42\x9f\xa6\xa9\x30\xe2\xd1\xa5\x81\xbf\xc2\x9a\xd5\xc8\xb1\x24\x62\x62\xce\xb0\xc7\xa6\xf5\xa7\xa1\x11\x84\x63\x6d\x5a\x41\x09\x30\x5f\x77\xa8\x49\xd4\x2f\x7c\xde\x98\xe5\x64\x1b\x2f\xe9\x56\x93\x7d\xd3\xe5\xda\xf4\xdd\x58\xab\x89\xe0\xa1\xf1\xc6\xf7\x2d\x96\x3e\xec\xa2\xba\x76\x67\x45\x85\x93\xad\x5b\x28\x9e\x55\xc5\x5b\xaa\x11\x85\x89\x2b\x84\xe7\xe9\xca\x58\xef\x82\x63\x82\xc3\x86\x3d\xac\x74\x40\x51\xc4\x75\x81\xdd\x4d\xe8\x99\xb6\x16\xa2\x6d\x95\x2c\xa3\x6c\x71\x35\xf6\x40\xe1\x8d\x96\x1e\x07\x5a\x14\x00\x33\x0c\x84\x1a\x1b\x43\x6f\x7b\xba\x0c\x06\xab\x07\x2b\x68\xce\xd2\x1d\xfa\xb7\x89\x07\x3b\x82\xc2\xcc\x51\x54\x71\xc0\xdd\xc0\x6b\x63\xd4\xc7\x49\xad\xcc\xa9\xcb\xf8\x4d\x56\x18\x2e\x5b\x12\x1e\xf7\xe3\xaa\xed\xf4\xb5\x97\x4d\x00\xa8\x10\x58\x53\x7a\xdc\x8b\xee\xd0\xc7\x80\x1b\x4e\x98\x21\xc6\x46\x40\x45\xf1\x14\xd1\x7b\x36\x98\x56\x30\xa2\x2f\x6b\x70\xa8\xea\xd5\x0e\x59\xbd\xab\xc5\x4a\x3a\x6a\xe5\xe9\xb3\xa9\x6f\x20\xa6\xd6\x39\xa1\x6f\xae\x16\x8b\x99\x3e\x21\xba\xea\xc3\x98\x68\x4c\xc4\x71\x55\x06\x54\x0e\xe7\x5b\x8d\x00\x2f\x14\x86\x73\xd9\x35\xcc\x50\x6e\x3b\x38\xb6\xb2\x11\x8e\x7b\x03\x95\xd1\x2f\xfc\x1c\xe5\x7e\x93\x3c\x6b\x9d\x25\xb8\xae\xdc\x13\x93\xf1\xcf\x6f\x8f\xd2\x97\xfb\xad\x11\xb6\xda\x2c\x61\xc3\xcf\xee\x8c\x3d\x0a\x5b\xa1\xdd\x00\xfa\x72\x75\xd1\x14\x1f\xff\x40\x33\x12\x2b\x4f\xd0\xb9\x9f\x1c\x79\x21\x09\xc3\xfd\x71\x26\x42\x50\x37\x68\x61\xa8\x46\x51\xb4\x68\x3c\x86\x17\x03\x16\xc4\x75\xc4\x72\xd8\x5f\x64\x12\x14\xb4\xfd\x2a\x02\x4a\x63\x2d\x96\x5e\x9d\x3e\xa9\x8a\xc7\xdd\xf1\x59\x11\xcf\xeb\x99\x41\x07\x27\xce\xdb\xe3\xd9\xac\x3c\x08\x9b\x8e\x8d\x17\x32\x1c\xc9\x5a\xfa\xab\xc9\xaf\xd3\x08\xbd\xd0\xdc\x72\xb0\x0e\x7a\xd4\x44\x65\xbe\x49\x4d\x9a\xa5\xd6\x74\x68\xab\xd4\x83\x84\x47\x89\xd0\xe5\x76\x74\x64\x9b\xbb\xb4\x40\x8c\xdb\xf1\x38\x18\xc7\xfb\x8a\xbf\xa3\x17\x95\xf0\x02\x7e\x92\x78\x74\xd3\x1d\xae\x98\xec\x09\x1f\x05\xd3\x5b\x0d\xc2\x5a\xc1\x50\xca\xc0\x46\x29\xd5\xf7\x38\x43\xf2\x07\x62\xb8\x82\x7b\x02\xfa\x90\x6f\xa9\xed\xe9\x1c\x73\x1f\x31\x48\xff\x2a\x9a\xc0\x4d\x1b\x27\x85\x77\xda\x1c\xe1\xb8\x97\xe5\x1e\xb8\xd9\xc2\xb8\xba\x6b\x85\x1b\x4c\x12\xce\xa8\x03\x92\x7e\x57\x8b\x58\x52\xe6\xab\xc2\x0c\x54\xb3\x55\x08\x69\x7e\x21\x6d\x7e\x9d\x78\x39\x2a\xfd\xcb\xaf\x4f\xb5\x3d\x4b\x42\xdd\x66\x93\xcc\x4e\x56\x60\xa0\x49\x73\x7c\xb0\x76\xb8\xc7\xa2\x72\x93\x3b\xfd\x59\xb3\x87\x16\x93\x88\x84\x16\x93\xa4\x4c\x19\x5c\xa1\x93\x36\x1a\x7a\x35\xef\x2d\x70\xde\x76\xa5\xa7\xba\x61\xb1\xb5\xe8\xd2\x7c\x11\x87\x14\x74\x7e\x8e\xc0\x45\x8b\x0d\x6d\xfd\xaf\x24\xd6\xa9\xc5\xc5\x0d\xdc\xea\xd3\x5b\x66\xf6\xed\xbc\x11\xb5\x54\x0f\x63\xd8\x60\xbc\x9e\x42\x58\x7f\xa9\xe3\xcd\xa5\x7b\x80\xd5\x88\x58\xb8\x54\x12\xe9\x66\x88\xe7\xa4\xd2\xf2\x0a\x9d\x2c\x28\x75\x78\x34\x5d\x77\x37\x28\xf4\x64\xcc\x41\xee\x47\x2e\xac\xd3\x27\xd7\x2e\xee\xa1\x8b\xc6\x4c\x91\x11\x80\xd3\x06\x87\x82\x4d\xaf\x09\xb3\x1d\x42\x6d\x8e\xd1\x7e\xe1\xe6\x6d\x04\xe4\xfd\x0d\xdc\xf0\x96\x25\x8c\x3e\x7c\xd7\xe6\x62\x07\x17\xe7\xd4\x2a\x5d\x55\xd1\x2b\xfd\x75\x15\x3c\x06\xdb\x2c\xf0\x4d\xde\xed\x2d\xf3\x0c\xb6\xfc\x24\x1c\x3f\x5f\x74\x3c\x19\xbd\x23\xc9\xfe\x2a\x2a\xb8\x37\x5a\x38\xdc\x2b\xf6\x2b\x35\xf9\xfb\xa8\x73\x1f\x6d\x82\xc2\xc6\x27\xe3\xd8\x18\x89\xcf\x6b\x66\xa0\xf0\x70\x15\xb9\xb4\xe9\xdc\x84\x25\xc5\xa6\x9f\xcc\x98\xee\x0b\x37\x2a\xa9\x30\xbb\xed\xcc\x05\xb9\x6f\xfe\x5d\x24\x4c\x98\x7a\x7e\xfe\xbf\x7e\x17\xf5\x9f\x5f\x45\xd9\xb9\xf6\x70\x54\xac\xbf\x79\x64\xa1\x74\x1b\x8c\xd2\x4b\x9d\x8a\xb6\x0a\x0b\x42\xa1\xc1\x58\xc0\xdf\x3a\xa1\xc2\xb7\x99\xdd\xd2\x83\x1b\x25\x78\x70\x65\x46\xb3\x10\x7b\xb6\xc5\x92\xa2\x30\x5f\x11\x6e\xb6\x58\x1b\x8b\x1b\xde\xdd\xa0\x8f\x6e\xa1\xd2\x1a\x99\x4e\x7a\xbd\x39\xe2\x71\xb6\xde\xe2\x4e\x6a\xf6\xcf\xe4\xe2\xbc\xbf\x52\x9f\x39\xfd\x78\x0f\xc4\x02\x5e\x0d\x1f\x2f\xe0\xfa\x61\x6b\xff\x23\xc7\xf4\x76\xd2\x23\x85\x3d\x41\x9d\x6e\xdd\xa3\xa4\xad\xc5\x03\xcf\x83\xe9\x75\x11\x76\x48\x4f\x5f\xe7\xfd\x2f\x2d\x88\xce\x27\xcd\x5b\xe7\xd0\xfa\x7e\xcd\x32\x2e\x8d\xb9\xb9\x48\xf7\x6d\x61\x3e\x0e\x6b\x14\x5e\xa6\x4e\xe9\xc5\xd9\xea\xd0\xff\x29\x84\x74\x71\x47\x93\x54\x8b\xd4\x9e\x90\xa7\x24\xfb\x4a\xba\x37\xf1\xaf\x5d\xae\xc6\x13\xe1\xe2\x06\xe6\x63\xe8\x3b\xa1\xb5\xf1\x79\xa6\x67\xcc\x2f\x4d\xd3\x0a\x3f\x68\xb7\x48\xbf\xcf\xc8\xc8\x27\xc5\xf8\xff\xa5\xc7\xac\x40\x7a\xfc\x59\x11\xef\xba\xe6\xd1\x50\xef\xdd\xf3\x69\x9b\xeb\xdb\x78\xef\xa1\x4f\xf1\x2f\x5d\x4c\x1c\xea\x46\xb5\x85\x9d\xb8\x17\x94\x15\xbf\xa3\x35\xd3\x51\x2f\x53\x1b\x16\x80\xfe\x74\xfe\x3b\x27\xb8\xd0\x40\x50\xac\x06\xae\xdf\xd3\x9c\xce\xa7\xae\xe6\xe0\x7c\xc6\x21\xe7\x57\x03\x2f\x57\x2f\x6f\xe0\x59\x14\x41\x9d\xd2\x90\x1a\x85\x61\xc3\xf2\xdf\x50\x0d\x35\x79\x76\x66\xa1\x8f\xc5\xbf\x03\x00\x00\xff\xff\x4f\x44\x1a\x86\x16\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x5a\x5b\x8f\xdb\xc6\xf5\x7f\xe7\xa7\x38\xb0\x1f\xbc\xca\x5f\x2b\x19\xf9\x17\x01\xba\x68\x12\xaf\xd3\x2c\x60\xa0\x2d\x82\x78\x9b\x3c\x04\x41\x35\x22\x0f\xa5\x81\x87\x33\xcc\xcc\x50\x34\x63\xf8\xbb\x17\xe7\xcc\x0c\x6f\xa2\x76\xd7\x4e\x1f\x0a\xd4\x2f\x96\x28\xce\xb9\x9f\xdf\xb9\xcc\x6e\xbf\xf8\x22\xcb\x9e\xc3\xfd\x11\xe1\x4e\x99\x16\xee\x1a\x7d\x90\x7b\x85\x70\x6f\xde\xa1\x06\xe7\x85\x2e\x84\x2d\xb2\xec\xf9\x73\xd8\xa5\x1f\xf9\xb7\x1d\xe4\x46\x7b\x2b\x72\x0f\x52\x7b\xb4\xa5\xc8\x31\xcb\x88\x50\xff\x15\xfc\x51\x78\x10\x4a\xcd\xc9\xa6\x93\x0e\x5a\xd3\xa8\x02\x8e\xe2\x84\xe0\x0d\x3d\x2f\x8d\xad\xc0\x9b\x4d\xf6\xa6\x04\x01\x8d\x43\xeb\xa0\x15\xda\x3b\xfa\xbd\xc0\x5a\x99\x0e\x04\x68\x6c\xc1\x4f\x48\xad\xc1\x1f\x51\xda\xfe\x7b\x16\x28\x6b\xc4\x82\x4e\xca\xaa\x56\x58\xa1\xf6\xf4\x1a\x4c\x14\x19\xe4\xdd\xb0\xfc\x23\x22\x33\xf1\x4a\xa3\xc8\x46\xa4\x10\x51\xb1\x8d\x42\x07\x42\x17\xa0\x45\x25\xf5\x21\x63\x75\xfd\xc4\x02\xae\xc6\x5c\x96\x12\xdd\x26\x98\xf0\x27\xd1\x28\xbf\x03\x8b\xce\x34\x96\x0c\xf6\xbd\xc8\x8f\x20\xf2\xdc\x34\x2c\x9b\xf0\x60\x5a\xed\x82\x72\xc9\x3c\x49\x09\x96\x43\x90\xc0\xe4\x97\x1c\x33\x53\x32\x3b\x26\xda\xd3\x04\xe7\x8d\xc5\x02\xa4\x8e\x26\x49\xd4\xe9\xb9\x38\x44\x2d\xe7\x87\x8e\xc2\x41\x85\xfe\x68\x0a\x07\xbd\x1e\xa6\xd5\x68\x59\x43\xe3\x8f\x68\xa3\x3b\x72\xa1\x21\x17\x4a\x45\x95\x7e\xb0\xe6\x24\x0b\xb4\xbb\x35\xec\x7e\xc4\x1c\xe5\x89\x3f\xd3\xa9\xdd\x6b\xa1\x48\xd0\x41\xe1\xc1\x34\x8e\xc5\x70\xe3\x27\x50\x60\xae\x84\x45\xa8\x2d\x5e\xe7\x46\x17\xd2\x4b\xa3\x83\x89\x6b\xe3\xfc\xf8\x19\xcb\x68\xd1\x79\x2b\x73\x9f\x91\xb0\xf8\x1e\xf3\x86\x7e\x84\x68\x96\xb2\xd1\x79\x78\x39\x98\x22\xa8\x1c\xd4\xef\x80\xf8\x38\xac\x85\x15\x1e\x61\x8f\xb9\x68\x48\x16\x0f\x07\x79\x42\xc7\xaf\x93\xb6\xfc\x41\xec\xa5\x92\xbe\x23\x17\xb8\xa3\xb0\x98\x09\xb0\x58\xa2\x45\x9d\x73\x5c\x04\x33\x07\x83\x06\x17\x6a\xd5\x01\xbe\xaf\x8d\x8b\xa4\x4a\x89\xaa\x70\x83\x44\x99\xd4\x60\x34\x82\xb1\x50\x19\x8b\x49\xe2\xc1\x14\x9b\x2c\x7b\x43\xa9\xe3\x4c\x14\x28\x98\x7e\x26\x4d\x25\xde\x21\xe4\x8d\xf3\xa6\xea\x2d\x1c\x4d\xd3\x07\x3c\xd9\x66\x6a\x65\x4a\x24\x03\x27\x61\xa5\x69\xe8\x6d\xa9\x0f\x0e\x5a\xe9\x8f\x4c\x3e\x44\xde\x26\xbb\x33\x16\xf0\xbd\x20\x32\x6b\x10\x50\x8a\x26\x47\xcf\xbe\xdf\xe3\x40\x1d\x0b\xd8\x77\x29\x6f\x39\x07\xd8\x1c\x90\x82\x62\x92\x5c\xaf\x3b\x68\x9c\xd4\x87\x91\xac\xe4\xda\x41\xb4\x75\x54\xd3\x94\x17\x11\x23\x23\x09\x1c\xea\x82\x8f\xda\x10\x6f\x29\x5d\x6a\x44\x7b\xed\xcd\x35\xfd\xbf\x66\x95\x4c\xe3\x29\x6d\x88\x29\xa1\x00\x71\x62\x70\x20\x6d\x05\xe4\x48\x54\x15\x28\x2c\x0e\x68\xc1\x55\xc2\xfa\x9e\xd5\x06\xee\x4d\xe0\x14\xa9\x7b\x03\x42\x0f\x89\xb0\xce\x02\x3e\xc5\x24\x75\x64\x93\x8e\x99\x16\x56\xb4\x23\x5b\x42\x69\x4d\x35\x0e\x12\xc6\xaa\x90\x43\x1c\xb9\x05\xd6\xc6\x49\xdf\x87\x07\x18\x3d\xe1\xf4\xc2\xa5\xe0\x22\x88\x24\xd3\x7b\x0c\xf4\xad\xd0\xae\x44\xbb\xc9\xb2\x2f\xb6\x59\xb6\xdd\x6e\x61\x01\x80\x2f\x82\x6f\xef\xc5\x0d\x1d\xcd\x44\x9e\xa3\x73\x57\x42\xa9\xd5\x02\xb6\xcf\x40\xf3\x43\x96\x01\x00\x6c\xb7\x70\xab\x01\xb5\x97\x3e\xe2\x6b\x69\x2c\x21\xa4\x69\xd9\xe6\x47\xec\x2d\x22\x14\x87\xf9\xc8\x24\x22\xa8\xc5\x84\xc6\xcc\xc7\xe4\x7e\x4e\xa7\xf7\x0a\x13\xcb\xa0\xa5\x37\x5e\x28\xd0\x4d\xb5\x47\x3b\xa2\x2c\x35\xe0\x7b\xe9\x3c\x25\xe7\xa6\x3f\xf0\xc6\x83\x74\xd0\xd4\x31\x5d\x47\x01\x6c\xe9\x11\x6a\xd7\x58\x1c\x80\x2f\xd0\x76\x4d\x5d\xab\xae\xa7\xe1\xbc\xe8\x1c\x09\xda\x30\x66\x50\xfc\x05\x82\x85\xf0\x78\xa6\xc4\x49\xd8\x40\xe6\x2d\x53\xb9\x81\x7f\xde\xc9\xf7\x5f\xfd\x69\xaa\x03\x9e\x30\xc1\xbe\x74\x80\x95\xf4\x94\x51\x2d\x45\x07\x89\x31\x78\xc1\x41\x6e\x51\x78\x2c\xce\x8d\xc5\x24\xd8\x29\xee\x8d\x96\x5e\x0a\x25\x7f\xc7\xe2\x4a\x86\xcf\x53\xee\xab\xa7\xb3\x0f\xd6\x24\x94\x4c\x0e\xd4\x8f\x78\x6d\x24\x48\xf2\x9a\xbe\x12\x15\xd5\x9e\xc4\x7f\xcd\x24\x6e\xe0\xb6\x28\x2c\x3a\xf7\xed\x67\xc9\x13\xd3\x85\x4b\x1c\xe5\xe4\x13\xe4\xf9\x6b\x3a\x72\x26\x8f\x37\x17\xa5\x99\xa5\x11\x12\xc6\xe5\x11\xd0\x2d\xfe\xd6\x48\xcb\x11\xe4\x38\xe4\x93\x91\x08\x03\x13\x91\x59\xfa\x0f\x41\xc7\xa9\xd1\xd5\x43\x7c\x8e\xe3\xb4\x30\xe8\x40\x9b\x9e\xe1\x94\x97\xd1\xb0\xdb\xa7\xaa\x7a\x44\x8b\xeb\xfe\xec\xa8\x88\x29\x14\x54\x34\x4c\x1d\x03\xa9\x36\xce\xc9\x58\x37\x4c\x19\x62\x89\x84\x88\xb5\xa3\x8e\x68\xed\x06\xd1\x49\xe3\xc2\xb0\x1c\x1a\xc9\xa8\xc2\x4a\xd5\xc5\x56\x84\xa1\xcc\xb4\x1a\xa2\x24\x53\x3d\xc6\x4e\x38\xaf\xfb\x43\x69\x88\x10\x92\x58\xbe\x6d\xf6\x11\x97\xe6\x76\xe3\x36\x24\x81\xe0\xe4\x4c\xa8\x01\xbe\xb1\x14\x1a\x11\x24\xfb\x4a\x66\xb1\x32\x27\x2c\xfa\x8a\x36\x3a\x38\x21\x72\x3f\xea\x15\x5e\xb8\x28\x3e\x28\x3c\xa1\xa2\x30\xac\x9b\xbd\x92\xf9\x1a\xf6\x0d\x85\xa6\x74\xf4\x8c\xcc\x22\xc8\x6c\x7b\x85\xd5\x84\x58\x72\x02\xb7\x00\x43\x0f\x45\xbd\x57\x02\xc4\x91\x4d\xa6\x1d\xda\x84\x50\xce\x8d\x1e\xe7\xb0\xea\xb8\x56\x04\xee\x49\xd2\x87\xf5\x09\x5c\x2b\xd1\xc1\xc1\x0a\xed\x63\xff\x16\xf9\xf4\x3a\x52\xe9\x4e\xa1\x40\xea\xc8\x53\x42\xb2\x41\x8a\xba\xef\x37\x62\x33\x6f\x5a\x97\xda\xda\x7c\xd2\x17\x52\x2e\x32\xdd\x09\x05\x0e\xbf\xe4\xf2\x5e\x75\x7f\xb4\xa6\x39\x50\x0d\xee\x3b\xa9\xa7\x2a\x14\x9a\x22\xd6\x8a\x8c\xf2\x88\x4e\xec\xbc\xa7\xa8\x44\xb4\x66\x7a\x4c\x64\x9f\xd0\xf8\x3c\x3d\x5e\x51\xb7\x59\x41\x82\x20\x52\x2b\x7c\x1e\x95\x2f\x6f\xa8\xbf\x9a\x41\x2e\xc9\x71\x3a\x0b\xfe\x57\x21\xf2\x61\xa1\x9b\xa7\xc2\x21\xa4\x9e\x97\x60\x4d\xd1\x53\x4c\xfd\xd3\x7f\x89\x69\x3b\x2e\xb8\x2b\x7a\xbf\x3f\x3d\xc3\xce\xd5\x0d\xbc\x0a\x6c\x3f\xf4\x34\xe8\x1f\x75\xea\xb3\x47\x81\x17\xec\x2c\xba\x38\xfe\x94\xd1\xd0\x21\x1f\x58\x8d\x93\x50\x0d\x9e\x1d\x0b\x47\x36\x11\x68\xe0\xeb\xaf\x93\xf9\xce\xde\xa4\x7f\xcf\x7e\x1e\x9a\x8d\x68\xda\xaa\x71\x9e\x4c\x4a\x9c\x9c\xa8\x10\x44\xf0\x6b\xa2\x18\x5b\xef\xc1\x44\xac\xd3\xb3\x09\xf9\x8f\xd9\xf4\xd3\xc7\x3f\x50\x28\x62\xf5\x5a\xa8\x13\x5c\xcd\x9e\x58\x27\x7e\xc6\x84\xce\x52\xe7\xaa\x29\x90\xba\xd9\x34\x1d\x05\x31\xf2\x23\xe6\xef\xa6\xba\x46\x70\xea\xa9\xb4\xc8\xb3\x35\x39\x82\xa6\x8c\xa7\x0c\x19\x61\xbe\x0b\x43\x46\x06\x23\xac\x2a\x4c\x7a\x69\x79\xa2\x58\x83\x92\xef\x68\x20\x56\x92\x7b\xac\x8a\x9a\x27\xa1\x8b\xa1\xbd\xe2\x56\x9b\x7e\xa0\x96\x4a\x96\x9c\x4e\x1e\x6a\x15\xe6\x21\x78\x7a\x85\x49\x53\xe8\xbc\xc2\xdc\x8b\x77\x38\xd4\x09\xaa\x1d\xd1\x19\x8e\x6a\xe6\xb2\xf9\x87\x4c\xef\x6a\x7c\x2c\xb3\x43\x73\xf3\x78\x3e\x72\x16\x06\x2f\xb5\x52\x29\x0a\xcf\xbe\xa9\x59\xe4\x31\x56\x98\x52\x32\xbe\x7d\x15\x18\x86\x34\x5c\x4d\x95\x7d\x8d\xca\xb4\x54\xab\x7a\x60\x2a\x06\x30\xb9\xfb\xdb\x9b\x1f\xe0\xf9\x57\x7f\x86\xa3\xf7\xb5\xbb\xd9\x6e\x0f\xd2\x1f\x9b\xfd\x26\x37\xd5\xd6\xe8\x52\x99\x76\x5b\x2a\x59\xbb\xed\x5e\x99\xfd\xb6\x12\x52\xc7\xef\x5f\xbe\xfc\xf2\xff\x5f\x7e\xf9\xf2\xab\xeb\x32\x4e\x03\xd7\xec\xdd\x6b\x46\xa7\x6b\xb2\xd1\x75\x21\x5d\x6e\x4e\x68\xbb\x4d\x55\x2c\x23\x0d\x7d\xf9\x31\x56\x6d\x9e\x7f\x24\x57\x34\x61\xb9\x39\x89\xa3\x4e\x57\xe3\x68\x13\x11\x52\x29\xba\x55\x3a\x20\x74\x4a\x40\x5d\x93\xef\x80\xbc\xb8\x8b\x76\xd9\xc5\x55\xc6\xac\x10\x49\x17\x06\x2f\x99\x16\x3b\x11\x79\x76\x1f\xee\xbb\x1a\xff\xf2\xea\x4e\x99\x96\xfb\xc5\x0d\xcb\xf0\xcd\xd5\xea\x06\xbc\x6d\xf0\xe3\x2e\xcc\xa9\x25\x08\xdd\xcd\x53\x61\xc2\xa3\x49\x03\x7f\x81\x25\xab\xd1\xc7\x92\x88\x89\xb9\xc0\x1e\xab\xda\x77\x63\x23\x08\xc7\xda\xd4\x82\x12\x60\xb9\xee\x50\x93\xa8\x5f\xf8\x7e\x63\xd6\x27\xdb\x74\x49\xb7\x99\xed\x9b\x2e\xd7\xa6\xef\xa6\x5a\xcd\x04\x0f\x8d\x37\xbe\xaf\x31\xf7\x61\x17\xd5\xd4\x07\x2b\x0a\x9c\x6d\xdd\x42\xf1\x2c\x0a\xde\x52\x4d\x28\xcc\x5c\x21\x3c\x4f\x57\xc6\x7a\x17\x1c\x13\x1c\x36\xee\x61\xa5\x03\x8a\x22\xae\x0b\xec\x6e\x42\xcf\xb4\xb5\x10\x75\xad\x64\x1e\x65\x8b\xab\xb1\x07\x0a\x6f\xb4\xf4\x34\xd0\xa2\x00\xd8\xc3\x40\xa8\xb1\x31\xf4\xf6\xdd\x65\x30\xd8\x3c\x58\x41\xc3\xf8\x27\xb1\xe5\x54\x3d\xa0\x7f\x9b\x18\xb1\x37\x28\xd6\x1c\x85\x16\x47\xdd\x0d\xbc\x36\x46\x7d\x9c\x15\xcc\x3e\x7f\x19\xc4\xc9\x14\xe3\x8d\x4b\x02\xe5\x61\x66\xb5\x8d\xbe\xf6\xb2\x0a\x28\x15\xa2\x6b\x4e\x8f\x1b\xd2\x03\xfa\x18\x75\xe3\x31\x33\x04\xda\x04\xad\x28\xa8\x22\x84\x2f\x46\xd4\x06\x26\xf4\x65\x09\x0e\x55\xb9\x39\x20\xab\x77\xb5\xda\x48\x47\xfd\x3c\x7d\x36\xe5\x0d\xc4\xfc\x3a\x27\xf4\xcd\xd5\x6a\xb5\xd0\x2c\x44\x7f\x7d\x98\x12\x8d\xd9\x38\x2d\xcd\x80\xca\xe1\x72\xbf\x11\x30\x86\x62\x71\x29\xc5\xc6\x69\xca\xbd\x07\x07\x58\x6f\x84\xf6\x68\xa0\x30\xfa\x85\x5f\xa2\x3c\xac\x93\x17\xad\xb3\x06\xd7\xe4\x47\x62\x32\xfd\xf9\x6d\x2b\x7d\x7e\xdc\x1b\x61\x8b\xdd\x1a\x76\xfc\xec\xce\xd8\x56\xd8\x02\xed\x0e\xd0\xe7\x9b\x8b\xa6\xf8\xf8\x07\x3a\x92\x58\x7e\x82\xce\xc3\xf8\xc8\x5b\x49\x18\x2f\x91\x7b\x22\x84\x77\xa3\x3e\x86\x0a\x15\x45\x8b\xc6\x36\xbc\x18\x00\x21\xee\x24\xd6\xe3\x26\xa3\x27\x41\x41\x3b\xec\x23\x20\x37\xd6\x62\xee\x55\xf7\x49\xa5\x3c\x2e\x90\xcf\x2a\x79\xbf\xa3\x19\xb5\x71\xe2\xbc\x47\x5e\x4e\x4d\x61\xd3\xb1\xe9\x56\x86\x23\x59\x4b\x7f\x35\xfb\x75\x1e\xa1\x17\x3a\x5c\x0e\xd6\x51\xa3\x9a\xa8\x2c\x77\xaa\x49\xb3\xd4\x9f\x8e\x6d\x95\x1a\x91\xf0\x28\x11\xba\xdc\x93\x4e\x6c\x73\x97\xb6\x88\x71\x45\x1e\xa7\xe3\x78\x69\xf1\x77\xf4\xa2\x10\x5e\xc0\x4f\x12\x5b\x37\x5f\xe4\x8a\xd9\xb2\xf0\x51\x44\xbd\xd5\x20\xac\x15\x8c\xa7\x0c\x6c\x94\x52\x43\xa3\x33\x26\x4f\x88\xe8\x36\x70\x4f\x68\x1f\xf2\x2d\xf5\x3e\x8d\x63\xee\x13\x06\xe9\x5f\x41\x63\xb8\xa9\xe3\xb8\xf0\x4e\x9b\x16\xda\xa3\xcc\x8f\xc0\x1d\x17\xc6\xfd\x5d\x2d\xdc\x68\x9c\x70\x46\x9d\x90\xf4\xbb\x5a\xc5\xba\xb2\x5c\x1a\x2e\xe1\x35\x9b\x86\xe0\xe6\x17\x52\xe9\xd7\x99\xab\xa3\xe6\xbf\xfc\xfa\x54\x07\xb0\x38\xd4\x77\x56\xc9\xf6\x81\x99\xb1\xfd\x44\x1f\x4c\x1e\x6e\xb4\xa8\xf0\xf4\x3d\xff\xa2\xed\x43\xb3\x49\x44\x42\xb3\x49\x52\xa6\x34\x2e\xd0\x49\x1b\xad\xbd\x59\x76\x19\x38\x6f\x9b\xdc\x53\xf1\xb0\x58\x5b\x74\x69\xd2\x88\xe3\x0a\x3a\xbf\x44\xe0\x61\xb3\x8d\xad\xfe\xaf\x24\x5b\x57\xe3\xea\x06\x6e\x75\xf7\x96\x39\x7e\xbb\x6c\x49\x2d\xd5\xc3\x68\x36\x9a\xb6\xe7\x60\x36\xdc\xf1\x78\x73\xe9\x5a\x60\x33\x21\x16\xee\x98\x44\xba\x28\xe2\xb1\x29\xb7\xbc\x51\x27\x33\x4a\x1d\x1e\xcd\xb7\xdf\x15\x0a\x3d\x9b\x7a\x90\xdb\x93\x0b\xdb\xf5\xd9\x2d\x8c\x7b\xe8\xde\xb1\xa7\xc8\x58\xc0\x09\x84\x63\xc1\xe6\xb7\x86\xbd\x1d\x42\x95\x8e\x71\x7f\xe1\x22\x6e\x02\xe9\xc3\x85\xdc\xf8\xd2\x25\x4c\x42\x7c\xf5\xe6\x62\x43\x17\xc7\xd6\x22\xdd\x5c\xd1\x2b\xc3\xed\x15\x3c\x06\xe0\x2c\xf0\x4d\xbf\xea\x5b\xf7\x23\xd9\xfa\x93\x10\xfd\x7c\xef\xf1\x64\x1c\x8f\x24\x87\x9b\xa9\xe0\xde\x68\xe1\x70\xcd\x38\x6c\xd8\xe4\xef\x93\x46\x7e\xb2\x18\x0a\x0b\xa0\x1e\xd1\xa6\x98\x7c\x5e\x3d\x03\x85\x87\xeb\xc9\xa5\xc5\xe7\x2e\xec\x2c\x76\xc3\xa0\xc6\x74\x5f\xb8\x49\x71\x85\xc5\xe5\x67\x5f\x9a\x87\x59\xc0\x45\xc2\x84\xae\xe7\xe7\xff\xeb\x57\x53\xff\xf9\xcd\x94\x5d\x6a\x14\x27\x65\xfb\x9b\x47\xf6\x4b\xb7\xc1\x28\x83\xd4\xa9\x7c\xab\xb0\x2f\x14\x1a\x8c\x05\xfc\xad\x11\x2a\x7c\x5b\x58\x35\x3d\xb8\x60\x82\x07\x37\x68\x34\x1a\xb1\x67\x6b\xcc\x29\x0a\xfb\x1b\xc3\xdd\x1e\x4b\x63\x71\xc7\xab\x1c\xf4\xd1\x2d\x54\x64\x23\xd3\x59\xd7\xb7\x44\x3c\x8e\xda\x7b\x3c\x48\xcd\xfe\x99\xdd\xa3\x0f\x37\xec\x0b\xa7\x1f\xef\x86\x58\xc0\xab\xf1\xe3\x15\x5c\x3f\x6c\xed\x7f\xf4\x31\xbd\x9f\x75\x4b\x61\x6d\x50\xa6\x4b\xf8\x28\x69\x6d\xf1\xc4\xe3\x61\x7a\x5d\x84\x95\xd2\xd3\xb7\x7b\xff\x4b\xfb\xa2\xf3\x99\xf3\xd6\x39\xb4\x7e\xd8\xba\x4c\x4b\x63\xdf\x61\xa4\xeb\xb7\x30\x2e\x87\xad\x0a\xef\x56\xe7\xf4\xe2\x94\x75\x1a\xfe\x32\x42\xba\xb8\xb2\x49\xaa\x45\x6a\x4f\xc8\x53\x92\x7d\x23\xdd\x9b\xf8\xc7\x2f\x57\xd3\xd9\x70\x75\x03\xcb\x31\xf4\x9d\xd0\xda\xf8\x7e\xc4\x67\xcc\xcf\x4d\x55\x0b\x3f\xea\xb9\x48\xbf\xcf\xc8\xc8\x27\xc5\xf8\xff\xa5\xc7\xac\x40\x7a\xfc\x59\x11\xef\x9a\xea\xd1\x50\x1f\xdc\xf3\x69\x8b\xec\xdb\x78\x0d\xa2\xbb\xf8\x87\x2f\x26\x8e\x77\x93\xda\xc2\x4e\x3c\x0a\xca\x8a\xdf\xd1\x9a\xf9\xd0\xd7\x53\x1b\x17\x80\xe1\x74\xff\x67\x4f\x70\xa1\x81\xa0\x58\x0d\x5c\xbf\xa7\x89\x9d\x4f\x5d\x2d\xc1\xf9\x82\x43\xce\x6f\x0a\x5e\x6e\x5e\xde\xc0\xb3\x28\x82\xea\xd2\xb8\x1a\x85\x61\xc3\xf2\x9f\x54\x8d\x35\x79\x76\x66\xa1\x8f\xd9\xbf\x03\x00\x00\xff\xff\x95\x15\x85\x70\x25\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -157,11 +157,11 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0xcb, 0x8c, 0x1c, 0x42, 0xd2, 0xa9, 0x6b, 0x82, 0x37, 0xef, 0xe, 0x66, 0x29, 0xb0, 0x52, 0xa3, 0x42, 0xb7, 0xde, 0x6, 0x86, 0x37, 0x47, 0xce, 0xee, 0x99, 0xd5, 0x6a, 0x40, 0x6, 0x28}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x22, 0xe6, 0xe4, 0x70, 0xd8, 0x4d, 0x30, 0xf1, 0x63, 0xa2, 0xf2, 0x95, 0x6f, 0x6b, 0xde, 0xde, 0x8b, 0xa8, 0x83, 0x58, 0x86, 0xb7, 0x7b, 0x31, 0x99, 0xe0, 0xe9, 0x65, 0xa2, 0x7d, 0xbe, 0x72}}
 	return a, nil
 }
 
-var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\x5f\x6f\xe3\xb8\x11\x7f\xf7\xa7\x98\xfa\xe1\x2e\x01\xb2\xf6\xee\xa2\x68\x0f\xc6\xb9\x7b\x7b\xb8\x04\x2d\x90\xc5\x06\xd9\xec\xf5\xb1\xa1\xa5\x91\x4d\x84\x22\x55\x92\xb2\xd7\x08\xf2\xdd\x8b\xe1\x1f\x89\xb4\x64\x27\xb9\xeb\x01\xe7\x87\x44\xa2\x86\x33\xbf\xf9\xcb\x19\xf2\xba\x51\xda\xc2\x55\x2b\xd7\x7c\x25\xf0\x4e\x3d\xa0\x84\x4a\xab\x1a\xa6\xd9\xda\x74\x12\x28\x3f\xa1\x65\x25\xb3\xec\x57\x8e\x3b\x13\x28\xb3\xb5\x8e\x92\xde\x6e\xd1\x28\xb1\x45\x1d\x08\xd3\xa5\xe9\x64\x32\x9f\xcf\xe1\x6e\xc3\x0d\x14\x4a\x5a\xcd\x0a\x0b\xbc\x6e\x04\xd6\x28\xad\x01\xbb\x41\xa8\x03\x63\x30\x96\xc9\x92\xe9\x12\x1a\xad\x1a\x65\xb0\x74\x7b\xb9\x84\xab\xeb\x7f\xdd\xbc\x79\xf7\xf6\x87\xbf\xcf\xdc\x8a\xfb\x73\x8b\xd5\x02\x36\xd6\x36\x66\x31\x9f\xaf\xb9\xdd\xb4\xab\x59\xa1\xea\xb9\x92\x95\x50\xbb\x79\x25\x78\x63\xe6\x2b\xa1\x56\xf3\x9a\x71\x39\x67\x4d\x23\x78\xc1\x2c\x57\x72\xfe\xfe\xed\xfb\xf7\x6f\x7f\x78\xf7\xee\x4d\x15\x94\x7f\x63\x49\x7b\xf3\x26\x22\x99\xd5\x65\x2f\xe8\x8b\xd5\x6d\x61\x0d\x30\x59\x82\x46\xa3\x5a\x5d\xa0\x81\x82\xc9\x5e\x0f\x50\x12\x41\x69\xa8\x95\x46\xb7\xa7\x53\xc9\xee\x1b\x34\x17\x50\x30\x21\xb0\x84\x2d\x99\x6e\x06\x97\xac\xd8\xb8\x67\xf7\x19\x34\x36\x1a\x0d\x99\xc3\xed\x65\x50\xf2\xaa\x42\x4d\x7c\x1f\xb8\x2c\x41\x55\x1d\x3f\xa7\xff\xa4\x69\x57\xbd\x31\x33\x07\xe6\x7e\x7b\x9c\x4c\x00\x00\x88\xe9\xd5\x1d\x2d\xc1\x4e\xb3\xc6\xc0\xd5\xdd\x2f\xdc\x34\x82\xed\x9d\x4e\x57\x77\xbf\xb2\x56\xd8\x5f\x98\x65\x17\x6e\x81\x1b\x68\x0d\x96\x60\x15\xac\xf9\x16\x81\x41\xa1\x48\x53\x8b\xd0\xf1\x6b\x78\x61\x5b\x8d\x84\x8d\x75\x10\xc0\x61\x98\xc1\x27\x65\xec\xc1\x62\x87\xd7\x80\xd9\xa8\x56\x94\x3d\xab\xde\x8a\x96\xa2\x84\xec\x32\x8b\x1f\xdd\x7f\x52\xd7\x38\x27\x44\x35\x1e\xdd\x7a\xfc\x26\xd0\x42\x65\x83\x4a\x8b\x5e\xbb\x0f\x8e\x62\x84\xb4\xd3\x77\x91\x2a\xff\xa1\xa3\xe4\x92\xdb\xb3\xee\x8d\x7e\xa3\xec\x2f\x0e\x48\x9e\x63\x7b\x9e\xe0\xa6\x9f\x41\x51\xcd\x3a\xce\xb0\xec\xa5\x8c\x91\x75\x0c\x1d\x61\xf7\xd6\x91\x3e\x4d\xfc\xdf\xce\xae\xff\x44\xd1\xa0\x76\x5e\x44\x4b\x5e\xba\x1b\xb1\x2d\x11\xfe\xd4\x30\xcd\x6a\xf7\x31\xa6\xed\x02\x3e\x82\x46\x17\x84\x05\x12\x0b\xca\x53\x1d\xd3\x3c\x66\x41\xcf\x41\xa3\x6d\xb5\x84\x8f\xd1\x41\xde\x5d\x03\x2f\x56\xad\x24\x30\x9e\xe8\x2c\x17\xf8\xdd\x63\x5a\x37\x66\xf1\xe1\xe9\x7c\x31\xf4\x3a\xb9\xb1\x66\xfb\x15\x86\x2f\xcb\x0c\xfc\x2c\x00\x75\x42\xee\xf6\x0d\xfe\xe8\xc9\xfe\x71\x76\x7e\xde\xfb\xb8\x8a\xc1\xe0\x19\xa4\xec\x72\x37\x05\xdd\x02\x25\x33\x7f\x09\x78\x0e\x2c\x9f\x90\x06\xfd\x8e\x45\x90\x73\xa8\x33\x43\x58\xca\x2c\x71\x7e\x22\xac\xfa\x9d\xdd\x62\xbe\xb7\x8f\xb5\xc3\x68\x70\xe0\xad\x02\xfc\x46\x95\xd5\xf9\x93\xcb\x4a\xe9\xda\x95\x44\x90\x88\xa5\x4f\x79\xb3\x51\xbb\x82\x39\x12\x4e\xa5\x62\xd6\x67\xaa\xaf\xe2\x4c\xc2\x0a\x7d\x85\x58\xed\x21\xa9\xab\xa6\xaf\x18\x12\xd4\x16\xb5\x2b\x71\x54\x51\x3a\x0e\x6b\xcd\x9a\x0d\x2f\x0c\xd5\x0d\x82\x70\x75\x77\x22\xd5\x63\x62\xf4\xee\xf0\x20\x10\xca\xf0\x45\xb2\x1a\xa1\x52\xda\x63\x75\x45\x7c\x96\x12\x67\x1b\x2f\xbf\x31\xaa\x34\x0b\x98\x5e\x09\xb5\x9b\x8e\xd2\xc5\x1a\x41\x8c\x17\x54\xf9\xb9\x5c\x4f\x06\xe2\xd9\x6a\xa5\x71\xcb\x99\xc5\x12\xcc\xbe\x5e\x29\xf1\x5b\x40\x5c\x7f\xfe\xf7\x74\x20\xd8\xb3\x1b\x17\xfd\x11\x4a\x34\x85\xe6\x8d\xf3\x18\x99\xaf\xd1\x6a\xcb\x4b\x34\x99\xc1\x9d\x69\x5f\x83\x84\x54\x22\x34\x7e\x07\x95\x7f\xe2\x2d\x99\x25\x57\x16\xad\xa6\x22\xb0\xef\x3c\x26\xd4\x0e\x24\xda\x9d\xd2\x0f\xb3\x21\xfe\x04\xe1\xb8\x12\x97\xdf\x2c\x6a\xc9\x04\x08\x2e\x1f\x28\x60\x18\x7c\xbd\xbd\xa6\x07\x07\x9e\x4e\xd0\x2c\x30\xd9\x4a\xb5\xd6\x49\x8e\x87\xf5\xa1\x62\x51\x34\x06\xce\x5f\x6f\xaf\x17\x79\x03\x33\xbb\xec\x3f\xe5\x68\x3e\xf7\xe7\x36\x6c\x51\x1b\x17\xc5\x41\xd3\x5c\x1e\x08\xb5\x56\x43\xa1\xb4\x6a\x0e\xc5\x7d\xc2\x92\x33\x93\x4b\xfa\xa2\x0a\x1e\xb4\x76\x79\xa2\x91\x9a\x80\xa1\x9c\xef\x0d\x18\x4f\xba\x51\x35\x36\x6c\x8d\x26\xf3\x21\xdc\x28\x63\x1c\xf9\x03\xee\x0d\x95\x2d\xca\xc6\x29\x97\xc6\xb2\xb5\x66\xf5\xf4\x02\xa6\x76\xc7\xad\x45\x4d\x8f\x25\x37\x85\xd2\xe5\xf4\x02\xd0\x16\x43\xf8\x5e\x94\x59\xc0\xa3\xf7\xd5\x09\xc3\x3d\x4d\x4e\x9c\x8f\x69\xbe\xe4\xf5\x2b\x0f\xe8\xfc\xdb\x48\xb0\xe4\x04\x2f\x73\x69\xbe\xe7\x84\x47\x0e\x90\xbd\x46\xf7\xb8\x69\xf4\x0c\x77\x65\x68\xe9\x8c\x30\xfc\x18\x0a\xc4\x32\x58\x62\x48\x90\x26\xf5\x32\xb5\xc9\x90\x34\xb1\x07\x2c\x53\xeb\x0c\x49\x9d\x19\x60\xe9\xcd\x31\x82\xca\x2b\x4f\xb0\xfc\xd3\x4b\xfb\x88\xbe\x2c\x73\x09\x0c\x76\x6c\x0f\x76\xc3\x2c\xec\xb8\x10\xf1\xfc\xf3\x6d\x6f\x09\xca\xa9\xc1\x44\x57\xe3\xe1\x8f\xe8\x39\x64\x27\x27\x01\xf7\x5c\x03\x12\x4f\xde\xff\xc0\x2b\xba\x90\xae\xaf\x7c\x3c\x6c\x23\x5c\xf7\x10\x3e\xbf\xb0\x23\x09\xd4\xd4\x94\x1c\xc4\x54\xe0\x59\x66\xec\x06\x12\x98\xf9\x30\x7a\x46\xc6\x5f\x30\x4f\xc2\x25\x23\x79\x3a\xde\xbe\x48\x2e\x7e\x5b\xf7\x60\x2c\xd5\x51\x37\x42\x48\x8b\x6e\x3a\xd9\x71\xbb\x09\xbd\x27\x75\x2c\xb3\x57\xf5\x12\x06\x6d\xdb\x24\xbb\x3d\x37\x1a\x0e\x51\xf7\xa1\x44\x52\xd9\xda\xcb\x6d\xda\x95\xe0\x05\x14\xac\x61\x2b\x2e\xb8\xe5\xb1\x7a\x8e\xcf\x12\x5d\x4b\x9d\xb7\x18\x37\xcc\x6e\x28\xbc\x23\xe7\xdd\x06\x75\xd7\x0f\x05\x28\xdc\x80\xc6\x42\xd5\x35\xca\xd0\x38\xad\xd0\x1b\xa0\x1c\x29\xb3\x9e\x11\xf1\xa5\x42\xd7\xbd\xe4\x47\xc4\x8d\x07\xdf\x90\xf4\xdd\x86\x17\x1b\xa8\x5b\x63\x89\x2f\x9d\x1a\x5e\x48\xe2\x80\xa0\xab\xc6\x02\x39\x65\x48\xa7\xf4\x7e\x08\x20\x12\x79\x04\x5e\xd0\xef\x06\xb0\x62\x82\x51\xaa\xc6\xc1\xd8\xe5\xe9\x51\x0f\xa4\x70\xe2\x38\xfb\x0c\x1c\xcd\xb7\xcc\x62\x8a\x27\xcc\x8e\x47\x4d\xe2\xfb\xa1\xd4\x16\x44\x41\x61\x53\x6a\xb6\xa3\xf4\x2f\x0d\x64\x42\xdc\x95\x05\xed\x4d\xe2\x33\x85\x1a\x59\x06\xa8\x1e\xd2\x10\x2b\x25\xb5\x2f\x84\x03\x88\xcc\xb7\x2f\xf7\xa9\x0f\xee\x67\x3e\x01\xb8\x01\x46\xb6\xb3\x9a\x17\xd4\x4d\x86\xfb\x80\xff\xb6\x9c\x4e\xa4\x1c\xa9\x63\x92\x4d\xfb\xb3\xdb\xc0\xf2\xde\x27\x5c\xc5\x0a\x3c\xee\xfb\x6b\x07\x87\x80\x2e\x1c\xdc\x3f\x83\x02\x3f\xfb\x10\xba\x77\x31\x74\x3f\x5a\x7a\x13\xdd\x4e\x44\xd2\xef\x55\x8e\x55\x4a\xbb\x4b\x08\xae\x24\x96\xd0\x24\xa1\x17\x34\xcd\x18\x72\x03\x92\xaa\x9f\x10\xfb\x11\xfd\x7d\xd1\xa3\x99\xbb\xe6\x92\xd7\x6d\x3d\xa6\xfa\x4d\x08\xac\x93\xbe\x8b\xd1\x77\x5a\xbd\xab\x56\x16\x61\x26\x20\xa9\x42\xa8\x9d\x81\x42\xa3\x2f\xce\xaa\xa2\xf1\x00\xeb\xc6\xee\xfb\xf2\xe5\x28\xc9\x7f\xd2\xba\x02\x96\x3b\x4a\x85\x52\x1e\xda\xd3\x72\xc4\xf0\x8e\x3d\x5e\x12\x57\x57\x46\x17\x70\x76\x76\xbe\x80\x9f\x1e\x73\x2d\xdd\xb7\xa7\xf3\x53\xbd\xe3\xb1\xe2\x78\x71\x30\x85\x8f\x57\xb0\x9c\xea\x58\x61\xc9\xa9\x8e\xe6\xf4\xb8\xc8\x43\xe3\x8f\x8b\x3c\x4d\x75\xcc\x91\x39\xd5\xa1\x51\xa3\x63\x9f\x31\x6e\xdc\x7e\xd8\x48\x34\x1a\x47\x1b\x83\x43\xb5\x66\xdc\x7c\x69\x57\x14\xba\x67\xaa\xf2\xb8\x7e\xfc\xee\x71\xbc\xd4\x3c\x51\xc3\xb2\x80\x69\x7c\x8f\x05\xdf\x05\xbe\x3b\x2e\xb8\x2c\x44\x5b\x22\x8c\xef\x4f\x66\xc6\xe3\x16\x7c\x09\xa0\x50\x3a\x2e\x60\xbc\x61\x0b\x30\x63\x4b\xff\x52\x98\x3f\x27\x67\xda\x28\xe3\xb4\x1a\x0d\x55\x19\xba\xf9\x25\xaa\xc4\x52\x10\x41\xc7\xf7\x67\xd1\x76\x84\x7d\x09\x99\x1e\xe9\xf2\xa0\xeb\xfc\xfb\x0c\xa3\xee\x3f\x69\x46\x06\xa4\x69\xce\xc1\x32\x4b\xc1\x21\x71\x9a\x7a\xd4\xaf\x26\xaf\x43\xe2\x34\x03\x61\x99\x25\xe4\x71\x18\xbd\x51\x13\x30\xfd\xe2\x71\x48\xd9\xc6\xe1\xe2\x71\x78\xd9\xc6\xe1\xe2\x70\xe3\x61\x02\xc3\xf2\x68\x4e\xbf\x7c\xe0\xea\xdb\xd4\xe7\x47\xae\xcf\x87\x23\xd7\x1f\x72\xcb\x9b\x0c\x5c\x3d\xb8\x67\xef\x7c\xbb\x2b\xcb\x57\x0d\x5d\xfd\x45\xfa\x70\xec\xda\xbe\xf0\xf2\x37\xb2\x38\x3e\x6c\x6d\x03\x9b\x30\x56\x8d\x4d\x06\xf1\x17\xac\xb0\xfd\xff\x8e\x53\x56\x59\x26\xc0\xb4\x4d\x23\xba\xbb\x36\x87\xe2\xfb\x70\x93\xe7\x36\xb3\xa2\x40\x63\xce\x98\x10\xe7\x71\x8c\xb9\xa3\x8d\x5f\xfc\xbe\x1e\x6c\x4a\xe8\x26\x10\x47\xb0\x80\xaf\x57\xfc\xdb\xdf\xfe\x7a\x70\x1c\xdb\x9e\x45\xa4\x18\xbd\xe7\x08\xe8\x96\x90\x6c\x18\x84\xf1\xd3\x04\xfe\x17\x00\x00\xff\xff\xb7\x17\x3c\x1d\x6f\x1c\x00\x00"
+var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\x5f\x6f\x1b\xb9\x11\x7f\xd7\xa7\x98\xea\xe1\xce\x06\x1c\x29\x09\x8a\xf6\x20\x9c\x9a\xcb\xe1\x6c\xb4\x80\x83\x18\x8e\x73\x7d\xac\xa9\xdd\x59\x8b\x30\x97\xdc\x92\x5c\x29\x82\xe1\xef\x5e\x0c\xc9\xdd\x25\xf7\x8f\x2c\xdf\xf5\x80\xd3\x83\x23\x91\xc3\x99\xdf\xfc\xe5\x0c\xc3\xcb\x4a\x69\x0b\x57\xb5\x7c\xe0\x1b\x81\x77\xea\x11\x25\x14\x5a\x95\x30\x4f\xd6\xe6\xb3\x40\xf9\x09\x2d\xcb\x99\x65\xbf\x72\xdc\x9b\x40\x99\xac\xb5\x94\xf4\xeb\x16\x8d\x12\x3b\xd4\x81\x30\x5e\x9a\xcf\x66\xcb\xe5\x12\xee\xb6\xdc\x40\xa6\xa4\xd5\x2c\xb3\xc0\xcb\x4a\x60\x89\xd2\x1a\xb0\x5b\x84\x32\x30\x06\x63\x99\xcc\x99\xce\xa1\xd2\xaa\x52\x06\x73\x77\x96\x4b\xb8\xba\xfe\xd7\xcd\x9b\x77\x6f\x7f\xf8\xfb\xc2\xad\xb8\x3f\xb7\x58\xac\x60\x6b\x6d\x65\x56\xcb\xe5\x03\xb7\xdb\x7a\xb3\xc8\x54\xb9\x54\xb2\x10\x6a\xbf\x2c\x04\xaf\xcc\x72\x23\xd4\x66\x59\x32\x2e\x97\xac\xaa\x04\xcf\x98\xe5\x4a\x2e\xdf\xbf\x7d\xff\xfe\xed\x0f\xef\xde\xbd\x29\x82\xf2\x6f\x2c\x69\x6f\xde\x34\x48\x16\x65\xde\x09\xfa\x62\x75\x9d\x59\x03\x4c\xe6\xa0\xd1\xa8\x5a\x67\x68\x20\x63\xb2\xd3\x03\x94\x44\x50\x1a\x4a\xa5\xd1\x9d\x69\x55\xb2\x87\x0a\xcd\x05\x64\x4c\x08\xcc\x61\x47\xa6\x5b\xc0\x25\xcb\xb6\xee\xbb\xdb\x06\x8d\x95\x46\x43\xe6\x70\x67\x19\xe4\xbc\x28\x50\x13\xdf\x47\x2e\x73\x50\x45\xcb\xcf\xe9\x3f\x63\x59\x86\xc6\x9c\x31\x21\xce\x3b\xa3\x26\x8e\x4c\xfd\xf7\x34\x9b\x01\x00\x10\xf3\xab\x3b\x5a\x82\xbd\x66\x95\x81\xab\xbb\x5f\xb8\xa9\x04\x3b\x38\xdd\xae\xee\x7e\x65\xb5\xb0\xbf\x30\xcb\x2e\xdc\x02\x37\x50\x1b\xcc\xc1\x2a\x78\xe0\x3b\x04\x06\x99\x22\x8d\x2d\x42\xcb\xaf\xe2\x99\xad\x35\x12\x46\xd6\x42\x00\x87\x61\x01\x9f\x94\xb1\xbd\xc5\x16\xaf\x01\xb3\x55\xb5\xc8\x3b\x56\x9d\x35\x2d\x45\x0b\xd9\x67\xd1\x6c\xba\x7f\x63\xb5\x8d\x73\x4a\xa3\xce\x93\xdb\xef\xd3\x08\xb4\x50\xd8\xa0\xe2\xaa\xd3\xf6\x83\xa3\x3c\x72\xa4\xb5\xc3\x2a\x36\xca\x87\xf6\x04\x97\xdc\x9e\xb5\xbf\xe8\x33\x2a\xe6\xa2\x47\xf2\x12\xdb\xf3\x48\x0f\xfa\x18\x14\xc5\xa2\xe5\x0c\xeb\x4e\xca\x18\x59\xcb\xd0\x11\xb6\xbf\x5a\xd2\xe7\x99\xff\xdb\xda\xfb\x9f\x28\x2a\xd4\xce\xbb\x68\xc9\x7b\x77\x23\x36\x27\xc2\x9f\x2a\xa6\x59\xe9\x36\x9b\xb4\x5e\xc1\x47\xd0\xe8\x82\x34\x43\x62\x41\x79\xac\x9b\x32\xd0\x64\x49\xc7\x41\xa3\xad\xb5\x84\x8f\x8d\xc3\xbc\xfb\x26\xbd\xeb\x72\xa3\xa8\x25\x21\xf3\x27\xce\x52\xe9\xdf\x3d\xc5\x45\x66\xd1\x7c\x79\x3e\x5f\x0d\x43\x82\x7c\x5a\xb2\xc3\x06\xc3\xce\x3a\xd1\x64\x11\x50\x3b\x21\x77\x87\x0a\x7f\xf4\x64\xff\x38\x3b\x3f\xef\x1c\x5e\x34\x91\xe1\x19\xc4\xec\x52\x9f\x05\x45\x03\x25\x33\x7f\x09\x78\x7a\x6e\x88\x48\x83\x7e\x53\xe1\xe4\xbc\xeb\xcc\x10\x96\x12\x4b\x9c\x1f\x89\xb1\xee\x64\xbb\x98\x9e\xed\x02\xaf\x1f\x1a\x0e\xbc\x55\x80\xdf\xa8\x0c\x3b\xe7\x72\x59\x28\x5d\xba\xfa\x09\x12\x31\xf7\x75\xc1\x6c\xd5\x3e\x63\x8e\x84\x53\x3d\x59\x74\xe9\xec\x4b\x3e\x93\xb0\x41\x5f\x46\x36\x07\x88\x8a\xb0\xe9\xca\x8a\x04\xb5\x43\xed\x7c\x4e\x65\xa7\xe5\xf0\xa0\x59\xb5\xe5\x99\xa1\xe2\x42\x10\xae\xee\x4e\xa8\x07\x4d\xb6\x74\x6e\xf1\x60\x10\xf2\xb0\x23\x59\x89\x50\x28\xed\x31\xbb\xca\xbf\x88\x89\x93\x83\x97\xdf\x18\x95\xa5\x15\xcc\xaf\x84\xda\xcf\x47\xe9\xfa\x05\x84\x04\xac\xe8\xda\xe0\xf2\x61\x36\x80\xc1\x36\x1b\x8d\x3b\xce\x2c\xe6\x60\x0e\xe5\x46\x89\xdf\x02\xe6\xfa\xf3\xbf\xe7\x93\x00\x3c\xdb\x71\x08\x1f\x21\x47\x93\x69\x5e\x39\x4f\x92\x59\x2b\xad\x76\x3c\x47\x93\x38\xc2\x99\xfc\x35\x88\x48\x35\x42\xe5\x4f\xd0\xdd\x41\xbc\x25\xb3\xe4\xe2\xac\xd6\x54\x29\x0e\xad\x27\x85\xda\x83\x44\xbb\x57\xfa\x71\x31\xad\x47\x84\x74\x5c\x99\xcb\x6f\x16\xb5\x64\x02\x04\x97\x8f\x14\x50\x0c\xbe\xde\x5e\xd3\x17\xa7\x04\x5d\xc7\x49\xe0\xb2\x8d\xaa\xad\x43\xd0\xdc\xfc\x7d\x05\xfb\x10\x30\x48\xf8\x7a\x7b\xbd\x4a\xbb\xa2\xc5\x65\xb7\x95\xa2\xfa\xdc\x35\x03\xb0\x43\x6d\x5c\xb4\x07\xcd\x53\xb9\x20\xd4\x83\x9a\x16\x4e\xbb\xa6\x2f\xf6\x13\xe6\x9c\x99\x54\xe2\x17\x95\xf1\x60\x05\x97\x57\x1a\xa9\xc3\x18\xca\xfb\xde\x80\xf1\xa4\x5b\x55\x62\xc5\x1e\xd0\x24\xbe\x85\x1b\x65\x8c\x23\x7f\xc4\x83\xa1\x32\x47\xd9\x3b\xe7\xd2\x58\xf6\xa0\x59\x39\xbf\x80\xb9\xdd\x73\x6b\x51\xd3\xd7\x9c\x9b\x4c\xe9\x7c\x7e\x01\x68\xb3\x69\x35\xbc\x48\xb3\x82\x27\xef\xc3\x23\x86\x7c\x9e\x1d\xb9\x64\xe3\xbc\x4a\xeb\x5e\x1a\xf0\xe9\xde\x48\x10\xa5\x04\xa7\xb9\x38\x3d\x73\xc4\x33\x3d\x64\xaf\xd1\xbd\x39\x34\xda\x08\xb8\xb2\xb5\x76\x46\x18\x6e\x86\x42\xb2\x0e\x96\x18\x12\xc4\x49\xbf\x8e\x6d\x32\x24\x8d\xec\x01\xeb\xd8\x3a\x43\x52\x67\x06\x58\x7b\x73\x8c\xa0\xf2\xca\x13\x2c\xff\xed\xd4\x66\xa4\x2b\xe3\x5c\x02\x83\x3d\x3b\x80\xdd\x32\x0b\x7b\x2e\x44\x73\x6f\xfa\xde\x3a\x07\xe5\xd4\x60\xa2\xbd\x1b\xe0\x8f\x68\x5c\x64\x2b\x27\x02\xf7\xaa\x2e\xa6\xb9\xbe\xff\x03\xaf\x68\x65\xda\x8e\xf5\xa9\xdf\x8b\xb8\x16\x24\x6c\x9f\xd8\xd6\x04\x6a\xea\x6c\x7a\x01\x16\x78\xe6\x09\xbb\x81\x04\x66\x3e\x8c\x5e\xb0\xcd\x27\xd8\x2a\xe2\x92\x90\x3c\x4f\xf7\x40\x92\x8b\xdf\xd6\x82\x18\x4b\x45\xd6\x0d\x2b\xd2\xa2\x9b\x83\xf6\xdc\x6e\x43\x37\x4b\x6d\xcf\xe2\x55\x0d\x89\x41\x5b\x57\xd1\x69\xcf\x8d\xc6\x51\xd4\x5d\x5c\x91\x54\xf6\xe0\xe5\x56\xf5\x46\xf0\x0c\x32\x56\xb1\x0d\x17\xdc\xf2\xa6\xa4\x1e\x9f\x5a\xda\x66\x3d\xed\x53\x6e\x98\xdd\x52\xcc\x37\x12\xf6\x5b\xd4\x6d\x73\x15\x20\x71\x03\x1a\x33\x55\x96\x28\x43\x17\xb6\x41\x6f\x88\xfc\x48\x0d\xf6\x0c\x89\x3f\x55\xc1\xf6\x47\x7a\x8f\xdc\x78\x65\x2a\x42\xb1\xdf\xf2\x6c\x0b\x65\x6d\x2c\xf1\xa7\xab\xc5\x0b\x8b\x1c\x12\x74\xd7\x98\x21\xa7\xf4\x69\x8d\x70\x98\x06\xd2\x10\x7b\x24\x5e\xe0\xef\x06\xb2\x61\x82\x51\x3e\x37\x23\xba\x4b\xe6\x49\xcf\x8c\xc1\x6a\x06\xec\x17\x60\x69\xbe\x63\x16\x63\x5c\x61\x8a\x9d\x34\x91\x6f\xae\x62\xdb\x10\x05\x85\x55\xae\x99\x2b\x0f\xb9\x81\x44\x88\x7b\x44\xa1\xb3\x51\xfc\x8e\x41\x6e\x58\x07\xc8\x1e\xda\x10\x33\x25\xbf\xaf\x9e\x03\xa8\xcc\xf7\x42\xf7\xb1\x4f\xee\x17\x3e\x51\xb8\x01\x46\xb6\xb4\x9a\x67\xd4\xaa\x86\x97\x8a\xff\xd6\x9c\xae\xb1\x14\xb1\x63\x92\xbc\x3f\x2c\x6e\x03\xcb\x7b\x9f\x98\x05\xcb\xf0\xe5\x98\xb8\x76\xb0\x08\xf0\xca\xc1\xfe\x33\x28\xf2\xb3\x0f\xad\x7b\x17\x5b\xf7\xa3\xa5\x3a\xd2\xf1\x84\x08\xfb\xbd\x4a\xb2\x42\x69\xf7\x4c\xc2\x95\xc4\x1c\xaa\x28\x24\x83\xc6\x09\x43\x6e\x40\x52\xd5\x14\xe2\x30\x62\x07\x5f\x2c\x69\xfa\x2f\xb9\xe4\x65\x5d\x8e\x99\xe0\x26\x04\xda\x49\xbe\x6c\xa2\xf2\xb8\x9a\x57\xb5\xcc\xc2\x00\x42\xd2\x85\x50\x7b\x03\x99\x46\x5f\xdc\x55\x41\xb3\x08\x96\x95\x3d\x74\x65\xcf\x51\x92\x3f\xa5\x75\x85\x2f\x75\x9c\x0a\x57\x41\xe8\x79\xf3\x23\x8e\x70\x62\xf0\x92\xb8\xbb\x32\xbc\xa2\x03\x67\xe7\x2b\xf8\xe9\x29\xd5\xdb\xed\x1e\xed\x48\xa7\xaa\xea\x45\xef\x4d\x60\xbc\xe4\xa5\x54\x53\x15\x28\xa5\x9a\x4c\xfa\x71\x91\x7d\x2f\x8c\x8b\x3c\x4e\x35\xe5\xd1\x94\xaa\x6f\xd5\xc6\xc3\x2f\x59\xb7\x39\xdf\x6f\x49\x2a\x8d\xa3\x2d\x46\x5f\xaf\x05\x37\x5f\xea\x0d\x05\xf3\x99\x2a\x3c\xb0\x1f\xbf\x7b\x1a\x2f\x46\xcf\xd4\xfa\xac\x60\xde\xfc\x6e\xae\x08\x97\x0a\xee\x82\xe1\x32\x13\x75\x8e\x30\x7e\x3e\x1a\x55\xa7\x4d\x78\x0a\xa0\x50\x54\x2e\x60\xbc\xf5\x0b\x30\x9b\x49\xe1\x54\x98\x3f\x47\xb7\xe0\x28\xe3\xb8\x4e\x0d\x55\x19\xfa\xf9\x14\x55\x9a\xe2\xd0\x80\x6e\x7e\xbf\x88\xb6\x25\xec\x8a\xca\x7c\xa2\x5f\x84\x76\xa0\xe8\x52\x8c\x86\x8a\xa8\x8d\x19\x90\xc6\x49\x07\xeb\x24\x07\x87\xc4\x71\xee\x51\xe7\x1b\xfd\x1c\x12\xc7\x29\x08\xeb\x24\x23\xa7\x61\x74\x46\x8d\xc0\x74\x8b\xd3\x90\x92\x83\xc3\xc5\x69\x78\xc9\xc1\xe1\xe2\xf0\x60\x3f\x83\x61\x3d\x99\xd4\xa7\xcf\x71\x5d\xa3\xfb\xf2\x24\xf7\xb9\x3f\xc9\xfd\x21\x2f\xd0\xd1\x1c\xd7\x81\x7b\xdd\x7b\x74\xfb\x9c\xfa\xaa\x59\xae\x7b\xf1\x1f\x4e\x73\xbb\x13\x1f\xa6\x1b\x16\xd3\x33\xdc\x2e\xb0\x09\xd3\xda\xd8\xa0\xd1\x7c\x82\x49\x76\xff\xdf\x29\xcd\x2a\xcb\x04\x98\xba\xaa\x44\xfb\xde\xe7\x50\x7c\x1f\x5e\x13\xa7\xa6\xa2\x3b\x3a\xf8\xc5\x9f\x9b\xfe\x0f\x1d\xcf\x78\x05\x5f\xaf\xf8\xb7\xbf\xfd\xb5\x77\x39\xdb\x8e\x45\x43\x31\xfa\x96\x12\xd0\xad\x21\x3a\x30\x88\xe9\xe7\x19\xfc\x2f\x00\x00\xff\xff\x84\x62\xaf\xd0\x38\x1d\x00\x00"
 
 func fungibletokenmetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -177,11 +177,11 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenMetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa2, 0x3c, 0x15, 0x34, 0x62, 0x5a, 0xd5, 0x9b, 0xcd, 0x22, 0xbd, 0xb5, 0x2c, 0x8c, 0x94, 0x16, 0x98, 0xce, 0x27, 0xa0, 0x45, 0xc6, 0x3c, 0xfb, 0xab, 0x30, 0x43, 0x87, 0x5b, 0xb4, 0x0, 0x3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd9, 0xda, 0x6e, 0x92, 0xb0, 0x36, 0x93, 0x34, 0xe, 0xe9, 0x75, 0x26, 0xab, 0x11, 0x7a, 0xb6, 0x55, 0x19, 0x43, 0xb, 0xbb, 0xe5, 0x5e, 0xdb, 0x47, 0x69, 0xd7, 0xff, 0x19, 0x6f, 0xe7, 0x2c}}
 	return a, nil
 }
 
-var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\x4d\x8f\xe3\x36\xd2\xbe\xf7\xaf\xa8\xf4\xe1\x1d\x37\xe0\xd8\x39\xbc\xd8\x43\x23\x9d\xf9\xdc\x09\x72\xc9\x06\x49\x67\xe7\x30\x18\xa0\x69\xa9\xd4\x22\x5a\x26\x05\x92\xb2\xc7\x19\xf4\x7f\x5f\x14\x49\x49\xa4\x44\xd9\xf2\x4c\x6f\x3e\x16\xd1\x61\xa6\x2d\x8b\xc5\xaa\x62\x55\x3d\x55\x2c\xca\x7c\x5b\x4b\x65\xe0\x6d\x23\xee\xf9\xa6\xc2\x5b\xf9\x80\x02\x0a\x25\xb7\x70\x19\xdd\xbb\xbc\xb8\x58\xaf\xd7\x70\x5b\x22\x64\x52\x18\xc5\x32\x03\xa6\x64\x06\x58\x55\xc9\xbd\x06\x26\x80\x65\x99\x6c\x84\x01\x23\x41\x61\x86\x7c\x87\x50\xb3\xc3\x16\x85\xd1\xc0\x05\x6c\x9b\xca\xf0\xba\x42\x28\x3c\x5d\x4b\xd0\x10\x71\x0d\x8d\xe6\xe2\x1e\x18\xd0\x7f\x15\xc2\xdd\xa7\x68\xf2\xd5\xcf\x8e\x9e\x7a\xbc\x83\x8c\xd5\x6c\xc3\x2b\x6e\x0e\x2b\xcf\x11\xd7\xc1\x4d\xd0\xa5\x6c\xaa\x1c\x78\x8e\xac\xaa\x0e\xb0\x41\xd0\x46\x2a\xcc\x81\x11\xc3\x08\x76\xd0\x5d\x44\xfe\x97\x3d\x37\x59\xb9\x91\x4c\xe5\xdd\x4c\x3f\x35\x9b\x8a\x67\x3f\x31\x53\xc2\x0d\xac\x6b\xfb\x69\xfd\x3d\x0a\x54\x3c\x7b\x7b\xdb\x3e\x75\x67\xa9\x6d\x1a\x03\xdc\x40\xc6\x44\x38\x9d\x38\xec\x4b\x54\xe8\xb8\xbc\xa8\x9b\x4d\xaf\xb8\xa9\xd9\xe1\xd3\x05\xc0\x05\x00\xc0\x7a\x0d\xbf\x18\xa9\xd8\x3d\x02\x13\x39\x38\x6e\x80\xd8\xd1\xf6\x7b\x22\x57\xa1\x69\x1f\xa2\x2f\xae\xc3\x0f\xd1\x43\xbd\x2c\xd7\xc1\xdf\xd1\x23\x63\xb1\xa3\x47\x3d\x4f\x6e\xfd\x71\x87\xc2\x2f\x3e\xd7\x80\x5b\x6e\x0c\xe6\xb0\x2f\x51\x00\x03\x81\x7b\xd8\xb1\xa6\x32\xe1\x9a\x70\x0d\x2c\xcf\x31\x27\xd3\x60\x1d\x2d\x1d\x08\xae\x50\xcb\x46\x65\xb8\xea\xbe\xed\xd8\x73\xd3\xfd\x9b\x68\xbe\xee\x48\xbe\x24\x72\x0b\x73\xa8\xf1\x1a\x6e\x0f\x35\x2e\x43\x6a\xff\xda\x0b\x54\xd7\xf0\x32\xcf\x15\x6a\xfd\x7c\xe9\x68\x9d\xba\x7a\x7e\x07\xe3\xaf\xce\x10\x3f\x25\xba\xc2\xad\xdc\x61\xee\xbc\x8a\xc1\x93\xc8\xff\xb3\xa3\x19\x69\xe0\xcb\x55\xf0\x64\x6a\xc8\xb1\x96\xda\xbb\x84\x90\x86\xdc\x22\x93\xdb\xba\x42\x83\xf9\xa4\x88\x3f\x4a\xf3\xba\x7d\xe8\x8d\x23\x10\xc9\xc7\xb6\x14\x5e\xae\xe1\xd7\xb7\xfc\xe3\x3f\xfe\x7f\xa6\x48\xd3\x3a\x19\xc8\xc3\x85\x41\x55\xb0\x0c\x9d\x4c\x28\x0a\xa9\x32\xd4\x36\x66\x6c\xd1\x94\xd2\x59\x2f\x45\x3b\xf2\x6d\x29\x90\x3e\x67\x25\x66\x0f\x20\x05\x3d\xd6\x91\x63\x3b\xc6\x2b\xb6\xa9\xb0\x57\x26\x47\x0d\xb2\xa0\x00\x97\x58\x74\xeb\xe2\xac\xd2\x12\xf0\x63\x2d\xb5\x9f\xb4\x23\xd7\x2a\xd3\x71\xa1\x69\xda\xf6\x56\xd1\x88\x5c\xd3\xf4\xdc\x24\xd4\xda\xd1\xef\x65\x0b\x82\x8d\x8f\x29\x9f\x3a\x35\xd2\x90\xa2\x11\x70\x8f\xc6\x5a\x1b\x69\x5d\x2f\xae\xae\xe1\x3d\xfd\xf5\xe1\xf8\x73\xef\xb8\x29\xbd\x66\x69\xc8\xa7\x5b\xbb\x70\xfe\xce\x63\x6a\xec\x2f\x4d\x4d\xd0\x83\x79\x3c\x99\x1f\xf9\x4a\xca\x6a\x3c\xcc\xcb\xbd\x20\x57\xba\x86\x17\x31\x48\x58\x3a\x57\xa3\x31\x9a\x15\xf8\xe6\xf4\xb8\xf4\xed\xe7\x23\x72\x76\xc5\xdb\x70\xf9\xea\x40\xdc\x06\x56\x7a\xe5\x38\x4f\x32\xf1\x4a\x2a\x25\xf7\xa9\x21\xff\x37\x05\x77\x6e\xfa\xc7\xd8\x52\xbb\x65\xb5\x86\x6a\xe1\xc6\x9b\xe9\x10\x61\x1d\xba\xb6\x68\xac\x7a\x93\x0a\xed\x72\xe9\x8c\x9a\xf0\x97\x88\x48\xf2\x12\x6b\xea\x79\x6e\x0d\xd3\x85\x2f\xfa\x6e\xeb\x0c\xb5\x33\xfe\x91\x85\x32\x71\x18\xce\xcd\xb6\xd2\x13\xee\xbd\x82\x64\xd7\xc7\xec\x35\xb0\xd2\x6b\x48\xab\x66\x79\xcc\x94\x3b\xf5\x13\xf9\x37\x3c\x33\x5c\x0a\xa6\x0e\x50\xca\x2a\x6f\xe5\x9c\xd2\x51\xac\x9a\x88\x12\x17\x39\x7e\xc4\x1c\x36\x87\x14\x05\x17\xfa\x49\xb6\x55\x34\xaa\xfb\xc0\xb2\x8c\xbc\xa3\xcd\x02\xae\x60\xc7\x54\x37\xef\xeb\x60\xda\xce\x09\xfa\x78\xff\xed\xa4\x89\x7c\xe7\xad\xa3\x9d\xee\x65\x9e\x6b\x8f\xc3\x27\x45\x3c\xd0\x2a\x92\x28\x61\x54\x8a\xa8\xc5\xb8\x34\x12\x89\x3e\xbc\xa8\x99\x62\xdb\x80\xe8\xb5\xcb\x12\xa3\x49\x5c\x60\x03\x06\x19\x2a\xc3\xb8\xe8\x93\xc0\x90\x54\xa8\xc8\x20\xc4\xd9\xf5\x03\x53\x2a\xd9\xdc\x97\xc7\x72\x43\x72\x88\x88\xe0\x9e\x57\x15\x81\x4f\x97\x7d\x0c\x84\x9d\x10\xab\xf5\x5a\x96\xe7\x3f\xe2\xde\x06\x82\x45\x28\xdf\xac\x75\xb9\x0a\x42\xab\x9b\x01\x5c\x04\x00\x06\x0a\x0b\x54\x28\x32\x6c\x79\x72\x32\xd7\x92\x22\xb5\x65\xd4\xdb\x58\xa0\xc5\x3d\xc2\x90\xde\x9e\xb9\x74\xdb\xc6\x00\xe0\x42\xf3\x1c\x87\x22\x46\x63\x28\xd5\xb3\x53\xfd\x8c\x05\xdc\x84\xb9\xf4\xc6\xb2\xb6\xb8\x9a\x46\xd5\xe7\xcf\xa1\x66\x82\x67\xb0\xb8\x7c\xcd\x84\x45\x75\x27\x4e\x24\x8c\x13\xc4\xa6\x3a\x3d\xf5\xcb\xab\x21\xe7\xaf\x2d\x6e\xf2\x82\xb8\x25\xd6\xc9\x64\x6b\x85\x3b\x2e\x9b\x28\x9b\x2f\xa4\x02\x43\x19\xbe\x35\x8d\x25\x8d\x10\xd2\x44\xd4\x78\x01\x0b\x8d\x55\xb1\x4a\xb9\xd2\xfb\x56\xda\xd5\x3d\x5a\x8c\x59\x5c\x7d\x80\x9b\x1b\x10\xbc\x1a\xae\x8f\xe7\xac\xd1\x18\xac\x48\x20\xdb\xa1\x46\x60\x1a\x1e\xd0\x71\x45\x3a\x6f\x63\x49\x8a\x4e\x20\x04\x45\x4d\x53\xa2\x18\x3d\x76\x26\xdb\x01\xcd\xd4\x8c\x94\x83\x59\x76\xc2\xd4\x4c\xe4\x3c\x63\xc6\x02\x04\x15\x6b\x36\x2e\x04\xac\x95\x4c\xc3\x06\x51\x24\x45\xb0\x5e\x33\xfa\xc2\x4e\x73\x24\x1d\x1f\xb3\xbe\x9c\x9d\x7c\xb6\x7a\x19\x25\x6d\x56\x53\x16\x9a\x9e\xaf\x98\x4b\x2a\xce\xc8\x69\xbb\x6b\x94\xdc\x06\x1e\xe0\xc9\xc6\xa6\xfa\x08\x58\x69\x4c\x5b\xca\x0f\xad\xf5\xee\x99\x06\x56\x29\x64\xf9\x81\x22\xdc\xd0\x7a\xa9\xf0\x74\xd6\x6b\xfd\x67\x44\xca\xde\x5d\x5c\xde\x76\x9e\xd0\x91\x72\x36\xc8\x6d\x76\x19\xe2\xdd\xc0\x2d\x06\xee\xd5\xa7\x4d\x13\xd0\xd0\x6c\x37\xa8\x28\x1d\x9d\x05\x12\x94\xba\x6e\x0e\xae\x42\x8f\xa3\x75\x49\x05\xbe\x29\x35\xd8\x42\x97\x3e\x1f\x80\xa9\xb6\x02\x8e\x63\x6b\xe2\x4a\xa1\x88\xa5\xe7\x00\x64\x40\x1a\x5c\x0d\x1e\xf3\x35\x35\x9b\xa7\xe6\x97\xd4\xd1\xf3\x1f\x48\xee\x3e\xcf\xf1\x1f\x42\xa2\xf3\x31\x41\xbf\x3a\x50\x75\xbc\xf0\x4c\xbf\xef\x0b\xe6\x0f\xcb\x7e\x6e\x9f\x03\x27\xe0\xe0\x7b\x74\xfe\xda\x6e\x9c\xcc\x95\x75\x14\xd2\x9d\x2c\x37\x94\x55\xbf\x74\xb4\x16\x49\x6b\x5e\xaf\xe1\xad\x54\x80\x2c\x2b\xad\x7a\x97\x34\xc2\x01\x06\xa3\x0a\x75\x10\xb3\x3c\xac\x98\x11\xee\x70\x31\x86\xd2\x67\x7a\xc2\x76\xf2\x2e\xff\x8a\xc8\x90\x09\x13\x0f\x64\xde\x6e\xa9\xc7\x4e\x46\xb2\x05\x3c\xdd\x38\x41\x29\xb0\xcc\x42\x60\xbb\x30\x57\x29\xd7\xfd\x22\x20\x4e\xc6\xca\x3d\x9e\x8f\xc6\x10\xc6\x11\x3f\x33\xc5\x12\x87\xab\x98\x83\x6e\x6c\xca\x58\x34\x55\x75\x58\xad\x56\xa3\xc1\xbc\x98\x83\xe8\x63\xbd\xfa\x89\x57\xab\x15\x2d\x73\x88\xc2\x42\x26\x61\xd8\xe5\x4f\x5d\x38\x9b\x22\x68\x43\x48\xf2\xcb\x79\x20\xfd\xd5\x3c\x94\x0e\x66\xfc\xf5\x29\xd0\x3a\xa0\x77\x04\x61\xdb\xeb\x5c\x31\xe6\xd0\x24\xb0\x15\xf9\x7c\x04\x4f\xd8\x60\x52\x88\x1e\xdf\xd3\x58\xde\x5e\x9f\x81\xe9\xc7\xd1\xf7\x29\x10\x7c\x04\xd6\xc9\x98\xd6\x5e\x8f\xa3\xbb\x8f\xe7\xa1\xe2\xd3\x16\x4c\xa0\x6b\xcc\x78\x71\x20\xa3\xdb\x97\x3c\x2b\xe1\x8e\x14\x77\x47\x88\x73\x97\xda\x69\xb8\x6b\xf7\x8f\x23\x72\xbe\x0a\x72\xa1\x88\x9b\x95\x35\x78\x6e\xc3\x0c\x17\x59\xd5\xe4\x14\x68\xe0\x20\x1b\x15\xb1\x74\xb9\x57\xac\xae\x51\x5d\x0e\x78\x73\xf2\x68\x0a\x2c\x25\xb9\x07\x83\xbb\x17\x96\x87\xb7\x52\xed\x99\xa2\xe2\x78\xe5\xff\x44\x75\xb7\x82\x1f\xdc\x16\x9e\xdd\x9b\xda\xc4\xb5\x5a\xa3\x1d\x53\x72\x87\x6a\xaf\xb8\x71\x7e\xe8\xfc\xce\x18\x96\x95\x7e\xbb\xb7\xab\xf8\xc2\x52\x86\x9b\x52\x36\x26\x16\xb5\x64\x3b\xeb\xa1\xb2\xdf\x71\x60\x51\xf8\x2f\xb8\xd2\x26\x42\xe7\xff\xcd\x3a\x34\x25\x95\xdf\x2e\x6a\x35\x2c\x8b\xa1\xad\x7a\x65\x59\x0b\x8a\x8c\x66\xc4\x4b\xaf\x90\x25\x28\x46\x91\x9f\x9e\x71\x39\xa6\xb7\x51\x5b\xbe\x19\xbb\xd5\xd4\x06\xd4\x0e\x93\xe8\xbb\x88\x9e\x66\x3c\x4f\xc5\xb8\x53\xd9\xd3\x3b\x67\xa2\xe7\x17\xd6\x9f\x93\xf8\x4f\x5c\xc1\x2e\xdc\x38\x3d\x0b\x6b\xd4\xc1\x96\xfe\x5e\xaa\x87\x30\x1d\xa6\x8b\x69\x8d\x2a\xdc\x27\x58\xd9\xad\x42\x0a\x95\x5b\xd4\x9a\xdd\xe3\x35\x5c\xba\xc4\x56\xeb\x38\xd9\xb2\xc0\x4b\x38\x5e\xf1\x7c\x5c\x2b\xb7\x18\x67\x57\xde\x9a\x03\x1a\x54\x21\xba\xc5\x0c\x46\xe3\xa7\xd1\x8a\xc8\x1d\x81\xa7\x27\x2d\x28\x93\xc5\xe4\x29\xd0\xa1\x7f\xff\xa2\xa5\x63\x0a\x62\x7e\x43\x25\x41\x2a\xd8\x52\x76\x38\xbb\xf2\xf2\xb1\x22\x0e\x95\xc9\x26\xc2\x04\xe0\xe8\x69\xc4\xd1\x03\xb2\xa9\xf0\xf1\x17\xc1\x1c\x1d\x81\xce\x08\x72\x48\x93\x73\x41\x87\xf0\x21\x1a\x38\xc6\x9d\x94\x7d\xfc\xf7\xab\x59\x2b\x67\x0f\x02\x5d\x25\x3b\x44\x02\x19\x2f\xa2\x14\x7d\xc1\xf7\x47\x54\xc9\x3e\xce\x1f\x2d\x96\xbd\x68\xae\xd1\xf4\x24\xf1\xfd\xef\xf2\xfb\x74\xf9\xcd\x97\xe7\x57\xe0\xa7\x97\xe6\xef\x1a\x3d\xba\xc6\x35\xfa\x17\x5b\xf7\x59\x45\xfe\x93\x55\xc8\xa7\xab\xe3\xe3\xb9\x86\x7e\xcf\x3f\xcc\x28\x87\x9f\xa8\x14\x3e\xbb\x0c\x9e\x93\x8d\x90\x08\x47\xa2\xd3\x97\xe6\x1e\xe7\x15\xbc\x9f\x5b\xef\xba\xa3\x23\x84\xc3\x33\xca\xdd\xae\x12\x48\xf9\xc7\x53\x36\x08\x47\xdc\xf8\x76\xea\x28\x07\x88\x4e\xd3\x9c\xd7\xce\x73\x43\xff\xfc\xed\x3c\x9f\x8a\x1c\xd5\x3d\xcc\xea\xe6\xfd\x3e\xcd\xbc\xc9\x10\x23\xa1\xe0\xae\xf7\x35\x58\x6d\x27\xe1\xbc\x42\x65\xe5\x1e\x5e\x3c\xe0\x21\xb5\x11\x35\xe2\xe6\x9f\x4f\x59\xb5\x78\x6b\x3b\x59\xb7\xc4\xe7\xb1\xfe\xea\x2d\x30\xff\x68\x10\x41\x60\x78\xcb\x1e\x46\x61\x0f\xa9\x38\xe2\xcc\xc0\x1e\x1d\x91\x0d\xe9\xdc\xd5\x0e\x36\xb1\x52\xb2\x46\xd5\x0f\x48\xec\xba\x24\xa3\x90\x54\x6d\x42\x4b\x10\xc5\xcd\xe9\x68\xe3\x4e\xfa\x50\x9c\xe9\x33\xe1\x24\x9f\x27\x02\xd8\x19\x27\x8f\xa6\x33\xcc\x54\x40\x95\x02\xf5\xe0\x68\xea\x31\x3f\xef\xa4\x18\x18\xde\x39\x16\x70\x73\x04\xa1\x89\xaf\x70\xdb\x7a\x44\x36\x88\x18\xb1\x56\x7d\x93\xd2\x6d\x61\xf4\x87\x7c\xec\x4e\x19\xd7\xa1\x50\xe3\xc8\xe1\x23\x68\xbc\xd5\xe4\x6d\x25\x47\xcd\x55\x4b\xff\x58\xdc\xfb\xac\x7c\x6a\x4a\x9f\x33\x0e\x42\x0c\xd5\xf1\xba\x3d\xe4\x38\x09\x07\x5d\x70\x1c\x68\xa0\x8b\x13\xb1\x75\x7d\xfb\x35\xfd\x3f\xb9\x9b\x70\xd2\xed\x8c\xf2\x3b\x07\xd6\xff\x46\xee\x17\x11\x9b\x93\x03\xc4\xde\xe7\x4b\xce\x7c\x78\x3a\x8a\xed\x24\xb7\xa7\xab\xac\x5e\x1e\xac\xa3\x86\x59\xf3\xd0\x42\xa6\x2b\xea\x94\x3f\xef\xda\x43\x82\xf1\x2e\xa8\x65\xc6\xb4\xc9\x02\xc5\x76\x02\x51\xed\x8b\xe0\xf4\x56\xfa\xb1\xe0\xa1\xd0\x34\x4a\x9c\x13\x37\x96\xdd\xc6\x42\x7b\x04\x34\x50\x6d\xae\x5b\x1d\xb4\xdb\xc8\x54\x3b\xf4\x25\xc3\x12\x6c\xe6\xcd\xab\xca\x1e\x0e\x67\x5c\x44\x1a\x8e\xc8\x79\x42\x23\xe3\x12\x88\x79\xe7\x86\x44\x9e\xb4\x5c\xc8\x46\x9c\x4a\x87\xbe\xec\x60\xe4\x38\xda\xdd\x2a\x8b\xed\x6d\x4d\xeb\x63\xfd\xe8\x44\xf4\xc9\xb4\xa6\x2f\xb7\xa2\x10\x40\x06\x54\x2b\xd4\x04\xea\xee\xc0\x6d\x94\xfa\x0d\x4a\x2f\x5f\x76\x4d\xb9\xf9\xec\x98\x71\x4e\xcc\x4c\x9e\x12\x79\x87\x60\x9c\x62\xa6\xe3\x43\x90\x67\x1d\xd9\xca\xed\x75\xb3\x47\xb7\x57\x77\x9c\xe0\xbc\x6a\xf4\x73\xc2\xe7\xe9\xe0\x39\x59\x8e\xbe\xeb\x5d\xa1\x33\x73\x5a\x4e\xdb\x45\x18\x87\xfa\xf6\x3a\x1a\x29\x57\xe4\x81\xb9\x62\xfb\x45\x7b\x44\xdc\xde\xdd\xb0\x8a\x89\x0c\xaf\xc6\x59\xf0\x54\xa5\xe4\x79\xe4\x45\xdf\xf5\x61\xbc\xf2\x9d\x6f\x2d\xb7\xe4\x7d\x4c\x4b\x31\xb4\xb4\x70\x3a\xf8\x0e\xbe\x59\x7d\x93\x50\x80\x4d\x1b\xa7\xcf\xb8\xc7\xc6\xd4\x9f\x76\x0f\x69\x9f\x9f\xef\xcd\x4a\x23\xaf\xe2\x31\xa3\x39\x7c\x50\x74\xca\x3e\xa2\xba\x1c\xb5\x51\xd2\x7b\xf8\x45\x82\x82\xe0\xd5\x14\xa8\xd9\x66\x8b\x4f\xcf\x87\xf5\x02\x6f\x5b\x89\x36\xea\x73\xed\x1a\x25\xa7\x5a\x66\x73\x10\x63\x1f\xef\xf6\x1e\x6c\x30\x6d\xd1\xc3\xb6\x6f\xf0\xc8\x3c\x5e\x2a\x06\x1b\x29\x2b\x64\x02\xb6\xcc\xb6\x85\x46\x39\x9f\x54\x2d\xf3\xcc\x33\x4f\x71\x3f\x3c\xc8\x78\xd6\xe9\xf2\x81\x71\xf1\xe2\x74\x97\xc7\x9e\xa5\x48\x18\xa5\x17\xa1\x60\x95\xc6\xc1\xca\xa6\x16\xf0\xc4\x3c\x5f\xb5\x2d\xaf\xa9\x55\xfe\x1e\x8d\xf6\x28\xe6\xf3\x0c\xa6\x35\xbf\x17\xed\x02\xd7\x4a\xee\x78\x8f\x66\xe3\xc3\xd4\xf6\x6d\x2f\xca\x24\x90\x10\x94\xa9\x03\x6c\x30\x63\x8d\xc6\x0e\x85\xb9\x59\x52\xc6\xe3\xb3\x8d\x5a\x6a\xed\xa1\x1b\x2a\x29\x1f\xa0\x11\x39\xba\x86\x59\x29\xa5\x3b\xe0\xae\x11\x49\x87\x6c\xaa\x89\xc9\xdd\xab\x1b\x02\xf0\x63\x8d\x99\x2d\xe8\xad\x2d\xd9\x15\x5c\x39\x96\x4a\xac\x6a\x0d\xf7\x0d\x53\x39\xb0\x7b\xc6\x85\xa6\xa2\xb3\xe0\x82\x1b\xac\x0e\x90\x95\x8c\x93\x90\x83\xbe\x07\xd1\x90\xb6\x03\xcb\x85\x33\x8b\x68\xe2\x2d\xab\x78\x66\x8f\xe2\x3c\x70\x1b\x26\x0b\x68\xea\xbc\x2f\x63\x33\xfb\xa6\x5b\xad\x5c\xa1\x5b\x71\x4d\xf9\x99\x76\xee\xb7\x41\xa2\xbf\x65\xb9\xef\xa3\x33\x85\xad\xe5\x09\x57\x76\x14\x4a\x0a\xa3\x4f\x76\x9e\x7f\x3f\x37\x12\x20\x6b\xbb\x55\x5d\x4d\xa6\xa1\x99\x14\xba\xd9\xa2\xea\xfa\x13\x61\x03\xaa\x7d\x1d\x67\x6d\xe5\x64\xc6\xd7\x20\xc8\x15\xc8\xbd\x48\xa6\x3f\x9f\xf3\x4a\xc6\xd8\xfb\xbe\xb2\x6e\x31\xed\xba\x26\xd1\x5f\x86\x74\x54\xfc\x02\xd7\x1b\xed\xf9\x0c\x9b\x90\x94\x99\x19\x57\x7d\xfb\x93\x0c\x12\x1e\x84\xdc\xfb\x76\xa1\x7f\x13\xb3\x3f\x1a\x71\xfa\x8c\x8b\xcb\xc8\x6a\xa6\x9c\xff\x7a\xee\x8e\x98\x54\x90\x5e\x3f\xe0\x41\xf7\x29\x4f\xdf\xa5\xa0\x95\xf5\x65\x71\x34\x76\xce\x2b\xa1\xbc\xf3\x0c\xd7\xc9\xc4\xa2\xc0\xcc\xf0\x1d\xb9\x60\x44\xac\xdd\xbd\x4f\xb3\x7a\xe2\x45\xa8\xc1\x4a\x52\x3e\xd5\x4d\x74\x1b\x36\xb2\xe0\x06\xde\x7f\x18\x75\x5d\x3a\x87\x02\x7e\x64\x55\x57\x56\x3f\x63\x9b\x39\x1a\xec\x3b\xd2\x7d\x24\x9e\xc8\xc4\x62\x86\x57\xac\xae\x51\xe4\x8b\x6e\xfc\x79\x29\x93\x5f\xd5\x98\xe6\x1f\x6e\x86\xc0\x2a\x29\xee\x2d\x2e\xb8\x36\x9f\xef\x6c\xda\x36\x5f\xbc\xf1\x64\xc3\x97\x9f\xb8\x3d\xaa\x93\x2e\x17\x93\xe6\xfc\x32\x34\xdf\x2d\xab\xeb\x36\x07\x38\x62\xb3\x31\x03\x64\x0d\x3e\x75\xef\x42\x9f\xcd\xd1\x9e\xe9\x8e\xef\xf9\xa6\x7a\xfc\x5d\xbc\x93\xe6\x1b\x0c\x1f\x0f\xbe\x81\x4f\xa3\x7c\xb9\x3b\x28\x63\x3b\x9b\xf1\xb9\x96\x8a\x0f\xf6\x79\xff\x34\x2e\xe0\x1b\x4d\xee\xdc\x40\xb0\x49\x32\xd0\xfb\x0c\xf7\x09\x14\x16\xcc\x7f\xce\xce\xd4\x3c\x79\xa6\x38\x3a\xdb\x37\x03\x86\xcf\x70\x53\x0a\xac\x8e\x9c\xcb\xe1\xfc\x71\x03\x7b\x14\x41\xb7\x2f\x73\xba\x4e\x87\x7d\xeb\xd9\xef\x8f\x44\x64\x9d\x8f\x8f\x0e\x9a\xb8\xd7\xff\x89\xe8\x33\x7f\xf3\x59\x37\xf1\x69\xff\x7b\x13\x81\xc7\xdb\x5b\xcf\x53\xf2\x48\xdc\x2a\xe5\x3a\x33\x5e\x45\x85\x4f\x30\x72\x1b\x1d\x0d\xd3\x83\x01\x23\x4f\xe9\x0a\x6f\x3b\x41\xbb\xb3\x30\x00\x99\x09\x5f\x21\x47\x09\xc6\x8e\x2d\x7a\xc0\xcb\x8a\x0b\x7b\x1a\xad\x6f\x9a\xdc\x2e\xc1\xa8\x06\xa7\x5e\x15\x09\x6c\x65\x40\x2a\x65\x21\x94\xd7\x8e\x1c\x6b\xbd\x86\x1f\x04\x37\x9c\x55\xfc\x37\x1c\x1d\x18\x99\x3a\x88\x30\x69\xfa\xb1\x02\xfd\xe4\xc1\xab\xb0\x6f\x23\xc3\xf4\x3f\x43\x41\x39\xa0\x42\xca\xfd\x5c\x8f\x67\x53\x31\xf1\x10\xed\x13\xc1\x4b\x68\x34\x2a\xd8\x36\x9a\xac\xa3\xaa\x3a\x82\xd6\x6c\x3b\x73\xef\x4f\x60\xb8\xa8\x4c\xaa\xc1\x3c\x7c\xa7\xda\xe7\x96\xda\xfd\xea\x42\xf7\x3e\xeb\x45\x68\x5c\x8e\x99\xe0\xd5\x1d\xb2\xab\x17\xc3\x9f\x7c\x88\xd4\xff\xed\xd7\x5e\x82\x68\x54\x28\xfd\x48\xfb\x56\x87\xc1\xaf\x3f\xc0\x0d\xac\x3d\x5b\xeb\x62\xe2\xb7\x26\xe2\xc1\xc9\x9f\xbb\x98\x1a\xea\x1e\x8e\x09\x9c\xf7\xbb\x19\xad\x34\x8f\x17\xff\x09\x00\x00\xff\xff\x0b\xe3\x25\x86\x80\x44\x00\x00"
+var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\xcf\x8f\xe3\xb6\xee\xbf\xcf\x5f\xc1\xce\xe1\xbb\x19\x20\x4d\x7a\xf8\xe2\x1d\x06\x9d\xee\xcf\xb7\x45\x2f\x7d\x45\x3b\x7d\x7b\x58\x2c\x30\x8a\x4d\x4f\x84\x71\x24\x43\x92\x93\x4d\x17\xfb\xbf\x3f\x50\x92\x6d\xc9\x96\x1d\x67\x76\x5e\x7f\x3c\x34\x87\x76\x93\x89\x28\x92\x22\xf9\x21\x45\x3a\x7c\x57\x49\x65\xe0\x6d\x2d\xee\xf9\xa6\xc4\x5b\xf9\x80\x02\x0a\x25\x77\x70\x19\x7d\x76\x79\x71\xb1\x5e\xaf\xe1\x76\x8b\x90\x49\x61\x14\xcb\x0c\x98\x2d\x33\xc0\xca\x52\x1e\x34\x30\x01\x2c\xcb\x64\x2d\x0c\x18\x09\x0a\x33\xe4\x7b\x84\x8a\x1d\x77\x28\x8c\x06\x2e\x60\x57\x97\x86\x57\x25\x42\xe1\xe9\x5a\x82\x86\x88\x6b\xa8\x35\x17\xf7\xc0\x80\xfe\x57\x22\xdc\x7d\x8a\x36\x5f\xfd\xec\xe8\xa9\xcf\x77\x90\xb1\x8a\x6d\x78\xc9\xcd\x71\xe5\x39\xe2\x3a\xf8\x10\xf4\x56\xd6\x65\x0e\x3c\x47\x56\x96\x47\xd8\x20\x68\x23\x15\xe6\xc0\x88\x61\x04\xbb\xe8\x2e\x22\xff\xcb\x81\x9b\x6c\xbb\x91\x4c\xe5\xed\x4e\x3f\xd5\x9b\x92\x67\x3f\x31\xb3\x85\x1b\x58\x57\xf6\xdd\xfa\x7b\x14\xa8\x78\xf6\xf6\xb6\xf9\xd6\x9d\xa5\xb6\xa9\x0d\x70\x03\x19\x13\xe1\x76\xe2\x78\xd8\xa2\x42\xc7\xe5\x05\xcb\x32\xd4\x7a\xc1\xca\xf2\xaa\x53\xe0\x18\x17\xf0\xe9\x02\xe0\x02\x00\x60\xbd\x86\x5f\x8c\x54\xec\x1e\x81\x89\x1c\x1c\x57\x40\x6c\x69\xfb\xf7\x90\x6c\x89\xa6\xf9\x32\x7d\xe1\x3a\x7c\x93\xfc\x72\x27\xe3\x75\xf0\xef\xe4\x57\x87\x6a\x89\x96\x78\x5e\x9d\x7d\xe0\x1e\x85\x37\x0e\xae\x01\x77\xdc\x18\xcc\xe1\xb0\x45\x01\x0c\x04\x1e\x60\xcf\xea\xd2\x84\x67\xc6\x35\xb0\x3c\xc7\x9c\x4c\x87\xb5\xb4\x74\xa0\x10\x85\x5a\xd6\x2a\xc3\x55\xfb\xd7\x01\x9b\x6e\xdb\x7f\x13\xed\xd7\x2d\xe9\x97\x44\x76\x61\x8e\x15\x5e\xc3\xed\xb1\xc2\x65\x48\xf5\x5f\x07\x81\xea\x1a\x5e\xe6\xb9\x42\xad\x9f\x2f\x1d\xcd\x53\xaf\x8e\xef\xde\xfa\xab\x33\xd4\x90\x52\x81\xc2\x9d\xdc\x63\xee\xbc\x8f\xc1\x93\xea\xe1\x67\x47\x3b\xd2\xc4\x97\xab\xe2\xc9\xd4\x91\x63\x25\xb5\x77\x21\x21\x0d\xb9\x51\x26\x77\x55\x89\x06\xf3\x93\xa2\xfe\x28\xcd\xeb\xe6\xcb\x6f\x1c\xa1\x48\x4e\xb6\xa3\xb0\x74\x0d\xbf\xbe\xe5\x1f\xff\xf1\xff\x33\x45\x1b\xd7\x4d\x4f\x2e\x2e\x0c\xaa\x82\x65\xe8\x64\x43\x51\x48\x95\xa1\xb6\xb1\x66\x87\x66\x2b\x9d\x55\x53\x94\xa4\x98\x20\x05\xd2\xfb\x6c\x8b\xd9\x03\x48\x41\x5f\x6b\xc9\xb1\x3d\xe3\x25\xdb\x94\xd8\x29\x95\xa3\x06\x59\x50\x60\x4c\x18\x81\x0d\x09\xac\xd4\x12\xf0\x63\x25\xb5\xdf\xb4\x25\xd7\x28\xd5\x71\xa1\x69\xdb\xe6\xa3\xa2\x16\xb9\xa6\xed\xb9\x99\x50\x6f\xbb\x4f\x27\x63\x10\xa4\x7c\x2c\xfa\xd4\xaa\x33\x5c\xba\xe7\x78\xa0\x5d\xe0\x1e\x8d\x35\x45\x3a\x0a\xbd\xb8\xba\x86\xf7\xf4\xaf\x0f\x67\x2c\x7a\xc7\xcd\xd6\xeb\x9e\xd6\x7f\xba\xb5\x47\xeb\x3f\xf9\x7c\x92\xd0\x2f\x75\x45\x08\x87\x79\xcc\x86\x27\xf3\x4a\xca\x32\x4d\x83\x96\x7b\x75\x2d\xc8\x23\xaf\xe1\x45\x8c\x49\x96\xde\xd5\xe8\x5a\xcd\x0a\x7c\x73\x7a\x7d\xfa\xe3\xe7\xd3\x62\x59\xeb\x69\x42\xf2\xab\x23\x89\x12\x58\xfc\x95\x13\x6b\x9a\x04\xb1\xf7\x4a\x2a\x25\x0f\xa9\xf5\xff\x37\x86\xbf\x8e\xb1\xcf\xb1\x0b\xb4\x76\x62\x3d\xc0\xe2\x9f\xb7\xff\x3e\xe4\x3b\xb8\x6f\xd2\x03\xd5\xd9\x6a\x68\xf0\x4b\xe7\x2d\x94\x10\x10\x11\x49\xee\x67\x7d\x28\xcf\xad\xc5\xbb\x38\x49\x7f\xdb\x39\x0f\x68\xbd\x6a\x60\xfa\x4c\x1c\xfb\x7b\xb3\x9d\xf4\x84\x3b\x77\x23\xd9\xf5\x1c\x47\x08\xcc\xff\x1a\xd2\x2a\x5a\x4e\xf9\x48\x7b\x26\xb4\xcd\x1b\x9e\x19\x2e\x05\x53\x47\xd8\xca\x32\x6f\xe4\x1d\xd3\x55\xac\xa2\x88\x12\x17\x39\x7e\xc4\x1c\x36\xc7\x14\x05\x87\x35\x24\xe3\x2a\x5a\xd5\x37\x90\x26\x2d\xb9\x82\x3d\x53\xed\xbe\xaf\x83\x6d\x5b\xb7\xe9\x80\xe5\xdb\x51\x53\xf9\xce\x5b\x49\xb3\xdd\xcb\x3c\xd7\x3e\x01\x38\x29\xe2\x91\x4e\x93\x44\x09\xc3\x5e\x44\x2d\x06\xc2\x81\x48\xf4\xe6\x45\xc5\x14\xdb\x05\x44\xaf\x5d\xfa\x1a\x6d\xe2\x22\x27\x30\xc8\x50\x19\xc6\x45\x97\x9d\x86\xa4\x42\x45\x06\x31\xd4\x9e\x1f\x98\xad\x92\xf5\xfd\x76\x2a\x69\x25\xc7\x88\x08\x1e\x78\x59\x12\xca\xb5\x69\x4f\x4f\xd8\xe9\x93\x6a\x83\x0c\xcb\xf3\x1f\xf1\x60\x43\xc6\x22\x94\x73\xd6\xf9\x5c\x05\xb1\xdb\xed\x04\x2e\x22\x00\x03\x85\x05\x2a\x14\x19\x36\xbc\x39\xd9\x2b\x49\x50\x60\x19\xf6\xb6\x16\x68\xf3\x80\xd0\xa7\x77\x60\xae\x1e\xb0\x31\x01\xb8\xd0\x3c\xc7\xbe\xa8\xd1\x1a\xca\x35\xed\x56\x3f\x63\x01\x37\x61\xb2\xbf\xb1\xac\x2d\xae\xc6\xe1\xfb\xf9\x73\xa8\x98\xe0\x19\x2c\x2e\x5f\x33\x61\xd3\x08\x27\x4e\x24\x8c\x13\xc4\xe6\x58\x1d\xf5\xcb\xab\x3e\xe7\xaf\x2d\x40\xf3\x82\xb8\x25\xd6\xc9\x74\x2b\x85\x7b\x2e\xeb\xa8\xdc\x28\xa4\x02\x43\x25\x88\x35\x91\x25\xad\x10\xd2\x44\xd4\x78\x01\x0b\x8d\x65\xb1\x4a\xb9\xd4\xfb\x46\xda\xd5\x3d\x5a\x74\x5a\x5c\x7d\x80\x9b\x1b\x10\xbc\xec\x9f\x8f\xe7\xac\xd6\x18\x9c\x48\x20\xdb\xb1\x42\x60\x1a\x1e\xd0\x71\x45\x3a\x6f\x62\x4a\x8a\x4e\x20\x04\x45\x51\xb3\x45\x31\xf8\xda\x99\x6c\x07\x34\x53\x3b\x52\xd2\x67\xd9\x09\x73\x41\x91\xf3\x8c\x19\x0b\x18\x54\x4d\xda\xf8\x10\xb0\xb6\x65\x1a\x36\x88\x22\x29\x82\xf5\x9e\xc1\x1f\xec\x36\x13\x75\xc0\x90\xf5\xe5\xec\x6c\xb7\xd1\xcb\x20\x3b\xb4\x9a\xb2\x50\xf5\x7c\xc5\x5c\x6e\x72\x46\x12\xdd\xbe\x06\xd9\x74\xe0\x01\x9e\x6c\x6c\xaa\x9f\x01\x4b\x8d\x69\x4b\xf9\xa1\xb1\xde\x03\xd3\xc0\x4a\x85\x2c\x3f\x52\xa4\xeb\x5b\x2f\x55\xc6\xce\x7a\xad\xff\x0c\x48\xd9\x4f\x17\x97\xb7\xad\x27\xb4\xa4\x9c\x0d\x72\x9b\xc6\x86\xb8\xd7\x73\x8b\x9e\x7b\x75\x09\xd7\x08\x44\xd4\xbb\x0d\x2a\xca\x7b\x67\x81\x05\xe5\xc8\x9b\xa3\xbb\x42\x88\xa3\xf6\x16\xa1\xa2\x52\x19\x6c\x25\x4e\xef\x8f\xc0\x54\x53\xa2\xc7\x31\x36\xf1\x4a\xa1\x89\xa5\xe7\x80\xa4\x47\x1a\xdc\x25\x41\xcc\xd7\xd8\x6e\x9e\x9a\x3f\x52\x47\xcf\xbf\x21\xb9\xbb\xbc\xc7\xbf\x09\x89\x9e\x8f\x0d\xfa\xd5\x91\xca\xf4\x85\x67\xfe\x7d\x57\xb9\x7f\x58\x76\x3c\xf8\x94\x3a\x01\x0b\xdf\xa3\xf3\xdb\xe6\x86\x67\xae\xcc\x83\xd0\xee\x64\xba\xa1\xbc\xfc\xa5\xa3\xb5\x48\x5a\xf5\x7a\x0d\x6f\xa5\x02\x64\xd9\xd6\xaa\x79\x49\x2b\x1c\x70\x30\x2a\x91\x7b\xb1\xcb\xc3\x8b\x19\xe0\x0f\x17\x43\x68\x7d\xa6\x47\x6c\x28\x6f\xf3\xb1\x88\x0c\x99\x32\xf1\x40\x66\xee\x8e\x7c\xe8\x6c\x24\x5b\xc0\xd3\x8d\x13\x94\x02\xcc\x2c\x24\xb6\x07\x73\x95\x72\xe1\x2f\x02\xe4\x64\xcc\x3c\xe0\xf9\xa8\x0c\x61\x3c\xf1\x3b\x53\x4c\x71\xf8\x8a\x39\xe8\xda\x1a\x5f\x51\x97\xe5\x71\xb5\x5a\x0d\x16\xf3\x62\x0e\xb2\x0f\xf5\xea\x37\x5e\xad\x56\x74\xcc\x21\x1a\x0b\x99\x84\x63\x97\x4f\xb5\x61\x6d\x8c\xa0\x0d\x25\xc9\x3f\xce\x03\xeb\xaf\xe6\xa1\x75\xb0\xe3\xaf\x4f\x81\xda\x01\xbd\x09\xa4\x6d\x5e\xe7\x8a\x31\x87\x26\x81\xae\xc8\xe7\x23\x79\xc2\x06\x93\x42\x74\x38\x9f\xc6\xf4\xe6\xf5\x08\x6c\x9f\x46\xe1\xa7\x40\xf2\x01\x68\x27\x63\x5a\xf3\xfa\x3c\xf8\xf4\xf3\x79\xe8\xf8\xb4\x05\x14\xe8\x0a\x33\x5e\x1c\xc9\xe8\x0e\x5b\x9e\x6d\xe1\x8e\x14\x77\x47\xc8\x73\x97\xba\x9b\xb8\x6b\x2e\xba\x23\x72\xbe\x2a\x72\xa1\x88\x9b\x95\x35\x78\x6e\xc3\x0c\x17\x59\x59\xe7\x14\x68\xe0\x28\x6b\x15\xb1\x74\x79\x50\xac\xaa\x50\x5d\xf6\x78\x73\xf2\x68\x0a\x2c\x5b\x72\x0f\x06\x77\x2f\x2c\x0f\x6f\xa5\x3a\x30\x45\xc5\xf2\xca\xff\x13\xd5\xdd\x0a\x7e\x70\x77\x87\xf6\x32\x6c\x13\xd7\x6e\xb5\x76\x4c\xc9\x3d\xaa\x83\xe2\xc6\xf9\xa1\xf3\x3b\x63\x58\xb6\xf5\xf7\xce\x6d\x05\x18\x96\x34\xdc\x6c\x65\x6d\x62\x51\xb7\x6c\x6f\x3d\x54\x76\x37\x11\x2c\x0a\xff\x05\x57\xda\x44\x28\xfd\xbf\x59\x97\xa6\xa4\xf2\xd7\x48\x8d\x86\x65\xd1\xb7\x55\xaf\x2c\x6b\x41\x91\xd1\x0c\x78\xe9\x14\xb2\x04\xc5\x28\xf2\xd3\x77\x5c\xae\xe9\x6d\xd4\x96\x71\xc6\x5e\x41\x35\x01\xb5\xc5\x24\xfa\x5b\x44\x4f\x33\x9e\xa7\x62\xdc\xdc\x2c\xea\x9d\x33\xd5\xf3\x0b\xed\xc7\x14\x02\x23\xaf\xe0\x96\x6e\x98\xa6\x85\x35\x6b\xaf\xb7\x70\x90\xea\x21\x4c\x8f\xad\xa8\x5a\xa3\x0a\xef\x0d\x56\xf6\x5e\x91\x42\xe6\x0e\xb5\x66\xf7\x78\x0d\x97\x2e\xd1\xd5\x3a\x4e\xba\x2c\x00\x13\x9e\x97\x3c\x1f\xd6\xce\x0d\xd6\x59\x0b\xb0\x66\x81\x06\x55\x88\x72\x31\x83\xd1\xfa\x71\xd4\x22\x72\x13\x30\xf5\xa4\x05\x66\xb2\xb8\x3c\x05\x3e\xf4\xdf\xbf\x68\x29\x99\x82\x9a\xdf\x50\x49\x90\x0a\x76\x94\x25\xce\xae\xc4\x7c\xcc\x88\x43\x66\xb2\x7b\x31\x02\x3c\x7a\x1c\x79\x74\x8f\x6c\x2a\x8c\xfc\x45\xb0\x47\x47\xe0\x33\x80\x1e\xd2\xe4\x5c\xf0\x21\x9c\x88\x16\x0e\xf1\x27\x65\x1f\xff\xfd\xea\xd6\xca\xd9\x81\x41\x5b\xd9\xf6\x11\x41\xc6\x87\x28\x45\x57\xf8\xfd\x91\x55\xb3\x8f\xf7\x93\xc5\xb3\x17\xd1\x35\xb5\x9e\x24\xce\xff\x5d\x8e\x9f\x2e\xc7\xf9\xf2\xfc\x8a\xfc\xf4\xd1\xfc\x5d\xb3\x47\xaf\x61\xcd\xfe\xc5\xd6\x7d\x56\xd1\xff\x64\x15\xf3\xe9\x6a\x79\x3a\xe7\xd0\xef\xf9\x87\x19\xe5\xf1\x13\x95\xc6\x67\x97\xc5\x73\xb2\x12\x12\x61\x22\x3a\x7d\x69\x0e\x72\x5e\x01\xfc\xd8\xfa\xd7\xcd\xb0\x10\x1e\xcf\x28\x7f\xdb\xca\x20\xe5\x1f\x4f\xd9\x40\x1c\x70\xe3\xdb\xad\x83\x5c\x20\x1a\xef\x79\x5c\xbb\xcf\x91\xf8\xf3\xb7\xfb\x7c\x6a\x32\x79\x06\x30\xab\xdb\xf7\xfb\x34\xfb\x46\x43\x8d\x84\x82\xbb\xde\x58\xef\xd4\x9d\x84\xf3\x0a\x97\x95\xfb\xf2\xe2\x01\x8f\xa9\x0b\xaa\x01\x37\xff\x7c\xca\x2a\xc6\x5b\xdd\xc9\x3a\x26\x1e\x10\xfb\xab\xb7\xc8\xfc\x57\x83\x48\x02\xfd\x8f\xec\xf0\x0a\x7b\x48\xc5\x13\x67\x06\x76\xd4\x44\xd6\xa4\x73\x57\x4b\xd8\x04\x4b\xc9\x0a\x55\xb7\x20\x71\x1b\x93\x8c\x46\x52\x35\x09\x2e\x41\x15\x37\xa7\xa3\x8e\x9b\x19\xa2\x78\xd3\x65\xc6\x49\x3e\x4f\x04\xb2\x47\xcc\x34\x8d\x67\x9c\xa9\x00\x2b\x05\xea\xde\x8c\xed\x94\xbf\xb7\xd2\xf4\x0c\xf0\x1c\x4b\xb8\x99\x40\x6c\xe2\x2b\xbc\xd6\x1e\x90\x0d\x22\x47\xac\x5d\xdf\xcc\x74\x57\x1b\xdd\x70\x90\xbd\x49\xe3\x3a\x14\x6a\x18\x41\x7c\x24\x8d\xaf\xa2\xbc\xcd\xe4\xa8\xb9\x6a\xe8\x4f\xc5\xbf\x47\xe5\x57\x63\xfa\x9c\x31\x30\xd1\x57\xc7\xeb\x66\xfa\x72\x14\x16\xda\x20\xd9\xd3\x40\x1b\x2f\x62\xeb\xfa\xf6\x6b\xfa\xff\xe8\x2d\xc3\x49\xf7\x33\xca\xdf\x28\x58\x3f\x1c\xb8\x61\x44\x6c\x4e\x4e\x10\x7b\xa1\x2f\x45\xf3\xfe\x34\x15\xdb\x4b\x6e\xa7\xb1\xac\x5e\x1e\xac\xc3\x86\x59\x74\xdf\x42\xc6\x2b\xed\x94\x5f\xef\x9b\x31\xc4\xf8\x96\xd4\x32\x63\x9a\xe4\x81\x62\x3c\x81\xa9\xf6\xc5\x71\xfa\xaa\x7d\x2a\x88\x28\x34\xb5\x12\xe7\xc4\x8f\x65\x7b\xe1\xd0\xcc\xa4\x06\xaa\xcd\x75\xa3\x83\xe6\x9a\x99\x6a\x89\xae\x84\x58\x82\xcd\xc4\x79\x59\xda\xe9\x76\xc6\x45\xa4\xe1\x88\x9c\x27\x34\x30\x2e\x81\x98\xb7\x6e\x48\xe4\x49\xcb\x85\xac\xc5\xdc\xf4\xe8\xcb\x46\x2e\x87\x51\xef\x56\x59\xac\x6f\x6a\x5d\x1f\xfb\x07\xa3\xdb\x27\xd3\x9c\xae\x0c\x8b\x42\x01\x19\x52\xa5\x50\x13\xc8\xbb\x49\xe0\x28\x25\xec\x95\x64\xbe\x1c\x1b\x73\xf7\xd9\xb1\xe3\x9c\xd8\x99\x9c\x2a\x79\x87\x60\x9c\x62\xc6\xe3\x44\x90\x77\x4d\x5c\xf5\x76\xba\x39\xa0\xbb\xcb\x9b\x26\x38\xaf\x4a\x7d\x4c\x18\x3d\x1d\x44\x47\xcb\xd4\x77\x9d\x4b\xb4\xe6\x4e\xc7\x69\xbb\x0d\xc3\x90\xdf\xbc\x26\x23\xe6\x8a\x3c\x31\x57\xec\xb0\x68\x66\xd7\xed\xa7\x1b\x56\x32\x91\xe1\xd5\x30\x2b\x1e\xab\xa0\x3c\x8f\xbc\xe8\xba\x43\x8c\x97\xbe\x43\xae\xe5\x8e\xbc\x90\x69\x29\xfa\x96\x16\x6e\x07\xdf\xc1\x37\xab\x6f\x12\x0a\xb0\x69\xe4\xf8\xf0\x7d\x6c\x4c\xdd\x18\x7e\x48\xfb\xfc\xfc\x6f\x56\x5a\x79\x15\xaf\x19\xec\xe1\x83\xa3\x53\xf6\x84\xea\x72\xd4\x46\x49\xef\xe1\x17\x09\x0a\x82\x97\x63\xe0\x66\x9b\x31\x3e\x5d\xef\xd7\x0f\xbc\x69\x39\xda\xe8\xcf\xb5\x6b\xa4\x9c\x6a\xad\xcd\x41\x8e\x43\x7c\x1b\x7c\xb4\x41\xb5\x41\x11\xdb\xde\xc1\x89\x7d\xbc\x54\x0c\x36\x52\x96\xc8\x04\xec\x98\x6d\x1b\x0d\x72\x3f\xa9\x1a\xe6\x99\x67\x9e\xe2\x7f\x38\xf8\xf8\xf8\xb9\xf5\x9e\xa5\xf1\xe2\x74\x4b\xc8\x0e\x60\x24\x2c\xd4\xcb\x53\xb0\x52\x63\xef\x98\x53\xa7\x79\x62\x9f\xaf\x9a\xfe\xd8\xd8\x91\x7f\x8f\x46\x7b\x68\xf3\xc9\x07\xd3\x9a\xdf\x8b\xe6\xb4\x2b\x25\xf7\xbc\x83\xb8\xe1\x44\xb6\x7d\x96\x8d\xd2\x0b\x24\xe5\x31\x75\x84\x0d\x66\xac\xd6\xd8\x42\x33\x37\x4b\x4a\x83\x7c\x0a\x52\x49\xad\x3d\x9e\x43\x29\xe5\x03\xd4\x22\x47\xd7\x5d\xdb\x4a\xe9\xa6\xe5\x35\x22\xe9\x90\x8d\x75\x3e\xb9\x7b\xc0\x44\x00\x7e\xac\x30\xb3\xd5\xbe\x35\x2c\x7b\x9c\x2b\xc7\xd2\x16\xcb\x4a\xc3\x7d\xcd\x54\x0e\xec\x9e\x71\xa1\xa9\x22\x2d\xb8\xe0\x06\xcb\x23\x64\x5b\xc6\x49\xc8\x5e\x93\x84\x68\x48\xdb\xb6\xe5\xc2\xd9\x48\xb4\xf1\x8e\x95\x3c\xb3\xf3\x3b\x0f\xdc\xc6\xcc\x02\xea\x2a\xef\x6a\xdc\xcc\x3e\xc7\x57\x29\x57\x05\x97\x5c\x53\xd2\xa6\x9d\x2f\x6e\x90\xe8\xef\x58\xee\x9b\xef\x4c\x61\x63\x86\xc2\xd5\x22\x85\x92\xc2\xe8\x93\xed\xea\xdf\xcf\xa7\x04\xc8\xca\xde\x67\x97\xa3\xb9\x69\x26\x85\xae\x77\xa8\xda\x66\x46\xd8\xad\x6a\x1e\x1a\x5a\x5b\x39\x99\xf1\x85\x09\x72\x05\xf2\x20\xa6\xfd\xee\xb1\x0f\x7b\x0c\x5d\xf1\x2b\xeb\x23\xe3\x7e\x6c\x12\x9d\x69\x48\xc7\xcb\x2f\xf0\xc3\xc1\xed\x50\xbf\x7d\x49\x39\x9b\x71\x75\xba\x9f\x85\x90\xf0\x20\xe4\xc1\x37\x1a\xfd\x43\xa7\xdd\x70\xc5\xe9\x29\x19\x97\xab\x55\x4c\x39\x67\xf6\xdc\x4d\xd8\x57\x90\x80\x3f\xe0\x51\x77\xc9\x50\xd7\xd7\xa0\x63\xf6\x85\x73\xb4\x76\xce\xd3\xaf\xbc\x75\x13\xd7\x03\xc5\xa2\xc0\xcc\xf0\x3d\xf9\x63\x44\xac\xb9\xef\x4f\xb3\x7a\xce\x33\x5b\xbd\x63\xa5\xb4\xab\xdd\xf5\x36\xec\x83\xc1\x0d\xbc\xff\x30\x68\xda\xb4\xae\x06\x7c\xe2\x88\x57\x56\x59\x43\x03\x9a\x84\x81\x96\x74\x17\xa3\x47\x12\xb6\x98\xe1\x15\xab\x2a\x14\xf9\xa2\x5d\x7f\x5e\x66\xe5\x8f\x38\xa6\xf9\x87\xdb\x24\xb0\x52\x8a\x7b\x8b\x18\xae\x4b\xe8\x1b\xa4\xb6\x4b\x18\xdf\x57\xd9\xc0\xe6\x37\x6e\x26\x7f\xd2\xd5\x65\xd2\xb6\x5f\x86\xb6\xbc\x63\x55\xd5\xa4\x0a\x13\x06\x1c\x33\x40\xd6\xe0\x33\xfc\x36\x28\xda\x54\xee\x99\x6e\xf9\x7e\xa4\xdd\x4e\x3f\x36\x78\xd2\x96\x83\xe5\xc3\xc5\x37\xf0\x69\x90\x63\xb7\xc3\x37\xb6\x4b\x1a\xcf\xca\x94\xbc\x77\x57\xfc\xa7\xf1\x07\xdf\xb4\x72\xb3\x08\xc1\x05\x4b\xef\x10\x66\xf8\x52\xa0\xb0\x60\xff\x73\x6e\xb5\xe6\xc9\x33\xc6\xd1\xd9\x8e\x1a\x30\x7c\x86\xcf\x52\xc8\x75\xe4\x5c\xaa\xe7\x47\x18\xec\x78\x83\x6e\x1e\x35\x75\xdd\x12\xfb\x48\xb7\xbf\x5b\x89\xc8\x3a\x87\x1f\x0c\xaf\xb8\xdf\x40\x20\xa2\xcf\xfc\x87\xcf\xda\x8d\x4f\x3b\xe3\x9b\x08\x56\xde\xde\x7a\x9e\x92\xe3\x76\xab\x93\x7e\x34\xe3\xa9\x59\xf8\x04\x03\x1f\xd2\xd1\x32\xdd\x5b\x30\x70\x9b\xb6\x72\xb7\x1b\x34\x57\x13\x3d\xf8\x19\x71\x1c\xf2\x9a\x60\xed\xd0\xbc\x7b\xbc\xac\xb8\xb0\xe3\x6e\x5d\x17\xe6\x76\x09\x46\xd5\x38\xf6\x6c\x4a\x60\x38\x3d\x52\x29\x73\xa1\x5c\x78\xe0\x65\xeb\x35\xfc\x20\xb8\xe1\xac\xe4\xbf\xe1\x60\x22\x65\x6c\xc2\x61\xd4\x0f\x62\x05\xfa\xcd\x83\x67\x71\xdf\x46\x56\xea\x7f\x98\x83\xf2\x46\x85\x94\x2f\xba\xa6\xd1\xa6\x64\xe2\x21\xba\x68\x82\x97\x50\x6b\x54\xb0\xab\x35\x99\x4a\x59\xb6\x04\xad\x0d\xb7\xb6\xdf\x8d\x76\xb8\x78\x4d\xaa\xc1\x3c\x7c\x4a\xdc\xe7\xa3\xda\xfd\xee\x44\xfb\x40\xed\x45\xdf\xd2\x6c\x2d\x68\x99\x0a\x9e\x19\x22\xfb\x7a\xd1\xff\x11\x8c\xe8\x18\xbe\xfd\xda\x4b\x12\xad\x0a\xb5\x30\x38\x05\xab\xcb\xe0\x77\x30\xe0\x06\xd6\x9e\xbd\x75\x31\xf2\xeb\x1b\xf1\xe2\xe4\x0f\x81\x8c\x2d\x75\x5f\x8e\x09\x9c\xf7\x8b\x22\x8d\x34\x9f\x2f\xfe\x13\x00\x00\xff\xff\xbf\xd0\x98\x62\x9a\x45\x00\x00"
 
 func fungibletokenswitchboardCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -197,11 +197,11 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenSwitchboard.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3, 0x82, 0x5f, 0x8b, 0xf8, 0x65, 0x9c, 0xcf, 0x94, 0x17, 0x96, 0x18, 0x59, 0xab, 0xcb, 0x2a, 0x7b, 0x4a, 0x76, 0xb9, 0x69, 0x19, 0xab, 0x8e, 0x80, 0x45, 0x8e, 0xe2, 0xaf, 0xf8, 0x6c, 0xdf}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0xec, 0xe0, 0x85, 0xda, 0x5e, 0xa6, 0x3e, 0xef, 0xb8, 0x34, 0x17, 0x7d, 0x86, 0x82, 0x80, 0x61, 0xc9, 0x37, 0x5, 0x51, 0xb3, 0x51, 0xd2, 0xf8, 0x7f, 0xb1, 0x65, 0xf0, 0x38, 0xcf, 0x56}}
 	return a, nil
 }
 
-var _multiplevaultsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xbb\x8e\xdb\x3a\x10\x86\x7b\x3d\xc5\x0f\x57\x76\x71\xe4\xc5\x41\x90\x42\xc0\x06\xb9\x20\xee\xb6\x49\x9c\x34\x41\x0a\x9a\x1a\x59\x44\xa8\x21\x41\x0e\xed\x28\x86\xdf\x3d\x20\x25\x7b\x57\x49\x13\x15\x84\x38\x18\xfd\x97\x0f\xaa\x2a\x33\x78\x17\x04\xbb\xc4\x47\x73\xb0\xb4\x77\x3f\x88\xd1\x05\x37\x60\x55\x6f\x17\xd3\xff\x4e\xff\xd7\xba\xd5\xab\xaa\xf2\xe9\x00\xed\x58\x82\xd2\x02\xc3\x42\xa1\x53\x9a\xf0\x94\xac\x18\x6f\xe9\xab\x4a\x56\x22\x2e\x55\x05\x00\xdb\xed\x16\x1f\x1c\x8b\x32\x1c\x21\x3d\x41\x9c\x28\x8b\x98\xbc\xb7\x23\x5c\x57\x66\xdd\x6c\x04\xc9\x4e\x11\x2d\x75\x86\xa9\x85\x61\x48\x6f\xe2\xdd\xad\x28\x2a\xad\x29\xc6\xf5\x6d\xb6\xc1\x49\x85\x49\xf5\x73\x11\x6d\x70\xd9\x8f\x9e\x1a\x7c\xd9\x99\x9f\xaf\x5f\x5d\x9f\x73\xec\x12\x6b\x31\x8e\x21\x0e\x81\x24\x05\x9e\x12\x8d\x9e\x72\x36\x25\xe5\xfa\x5c\x6d\xf0\x96\x06\x62\x89\x45\x21\xd7\xee\x12\xe3\x48\x52\x2a\x66\x93\xb8\xde\x34\xf8\x96\xdf\xbe\xe3\x52\xb6\xca\xa6\x8b\xf2\xe2\x9a\x9f\x40\x31\x59\xa9\x2d\xf1\x51\x7a\xbc\xc1\x43\x83\xd5\x53\x8a\x99\x5f\x6b\xb4\x12\xc2\x39\xfb\x2f\x41\xdc\x93\xbd\x40\x30\xb3\x89\xab\xbb\xfc\xb5\x9a\xce\x7b\x4d\x1d\x48\x09\x7d\x1c\xbc\x8c\x25\x28\x94\xb5\xee\x1c\xa1\x78\x44\x8a\x94\x61\xcd\x3b\x50\x60\x3a\x63\xda\x2a\x00\x7a\x15\xa1\xf0\x8b\x82\xc3\x41\x59\xc5\x9a\x6e\xb2\x0b\x06\x7f\x5a\xac\x4f\x37\x22\x0d\xf2\xb9\x69\xf0\xf6\x1d\x8f\x9f\x28\xba\x14\x34\x5d\x16\x7f\x52\x5d\x3e\xb9\xfe\x13\xb0\x23\xc9\xfb\x29\xc7\x7a\x83\xc7\x47\x3c\xd4\x99\xdc\xbe\xa7\x1c\xdc\x8e\x73\x90\x76\xae\x30\x64\xa2\xbd\x3a\xd1\xa2\xc1\xdf\xa8\xf2\x59\x5d\x7f\x07\x00\x00\xff\xff\xb5\xca\x01\x68\xfe\x02\x00\x00"
+var _multiplevaultsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\x3d\xaf\xd3\x30\x14\x86\xf7\xfc\x8a\x57\x9d\x9a\x81\xf6\x0a\x21\x86\x48\x17\xf1\x21\xba\xdd\x05\x0a\x0b\x62\x38\xd7\x3d\x69\x2c\x1c\xdb\xb2\x8f\x53\x42\xd5\xff\x8e\xec\xa4\xbd\x2d\x5d\xf0\x60\xc5\x47\xf6\xfb\xf1\x28\x55\xa5\x7b\xef\x82\x60\x93\xec\x5e\x3f\x1b\xde\xba\x5f\x6c\xd1\x06\xd7\x63\x71\x33\x7b\x35\xbc\x5e\x54\x15\x29\xc5\x31\x2e\xc9\x98\x1a\xca\x59\x09\xa4\x04\xda\x0a\x87\x96\x14\xe3\x29\x19\xd1\xde\xf0\x77\x4a\x46\x22\x8e\x55\x05\x00\xeb\xf5\x1a\x9f\x9c\x15\xd2\x36\x42\x3a\x86\x38\x21\x83\x98\xbc\x37\x23\x5c\x5b\x66\xed\x6c\x06\xc9\x6e\x11\x3b\x6e\xb5\xe5\x1d\xb4\x85\x74\x3a\x5e\xdc\x8a\xe2\x1c\xe3\x3c\xab\x31\x50\x98\x54\xbf\x16\xd1\x06\xc7\xed\xe8\xb9\xc1\xb7\x8d\xfe\xfd\xf6\xcd\xe9\x25\xc7\x26\x59\x25\xda\x59\x88\x43\x60\x49\xc1\x4e\x89\x46\xcf\x39\x1b\x49\x39\xbe\x54\xeb\xbd\xe1\x9e\xad\xc4\x6b\xdf\x52\x7f\xd0\x7c\xc8\xa9\xb1\x67\x29\x7d\xb3\x63\x5c\xd6\x0d\x7e\xe4\xaf\x9f\x38\x96\x27\x79\x79\x17\xe5\xea\x98\x57\xe0\x98\x8c\xac\x0c\xdb\xbd\x74\x78\x87\x87\x06\x8b\xa7\x14\x33\xcc\x9d\x56\x24\x8c\x43\x0e\x73\x4b\xe5\x12\xf3\x8a\xc7\x0c\x2a\x2e\x2e\xf2\xa7\x6a\xda\x2f\x9d\x55\x60\x12\xfe\xdc\x7b\x19\x4b\x50\x90\x31\xee\x10\x41\x76\x44\x8a\x9c\xc9\xcd\x77\x40\xb0\x7c\xc0\x74\xab\xd0\xe8\x28\x82\xf0\x87\x83\xc3\x33\x19\xb2\x8a\xcf\xb2\x77\x40\x32\x8b\x7f\xad\x96\xc3\x99\x4c\x83\xbc\xd7\x0d\xde\x7f\xb0\xe3\x17\x8e\x2e\x05\xc5\xc7\x9b\x5f\x6c\x55\x9e\x9c\xfe\x0b\xdc\x9e\xe5\xe3\x94\x67\x59\xe3\xf1\x11\x0f\xab\x4c\x70\xdb\x71\x2e\x60\xc6\x39\xc8\x6e\xae\xd2\x67\xb2\x1d\x0d\x7c\xd3\xe4\x1e\x59\xde\xab\xd3\xdf\x00\x00\x00\xff\xff\x04\xad\xff\x8d\x15\x03\x00\x00"
 
 func multiplevaultsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -217,7 +217,7 @@ func multiplevaultsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "MultipleVaults.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0xc0, 0x81, 0x48, 0x34, 0xe3, 0xb2, 0xca, 0x36, 0xf8, 0x9f, 0xb5, 0xd0, 0xcf, 0xca, 0x13, 0x42, 0x44, 0x15, 0x96, 0x23, 0xf3, 0x19, 0xf6, 0xa8, 0xcb, 0xfd, 0x44, 0xc4, 0xc8, 0xc5, 0x42}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0xb8, 0xb4, 0x8, 0xf9, 0x9b, 0x7, 0x1f, 0xfa, 0xda, 0xf2, 0x90, 0xe1, 0xa9, 0xa7, 0x6c, 0x4e, 0x82, 0x35, 0xce, 0x8b, 0xad, 0x4f, 0x9e, 0xce, 0x3b, 0xa4, 0xef, 0xce, 0xa8, 0xdd, 0xd2}}
 	return a, nil
 }
 

From d9e2b25fa8a6dc754fca6050e6d3e7cbdb417f90 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 18 Jul 2023 15:41:55 -0500
Subject: [PATCH 006/115] comment out events temp

---
 contracts/FungibleToken-v2.cdc             | 8 ++++----
 lib/go/contracts/contracts.go              | 2 +-
 lib/go/contracts/internal/assets/assets.go | 6 +++---
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index 6bea512e..f5ae099c 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -107,7 +107,7 @@ access(all) contract FungibleToken {
                 // `result` refers to the return value
                 result.getBalance() == amount:
                     "Withdrawal amount must be the same as the balance of the withdrawn Vault"
-                FungibleToken.emitWithdrawEvent(amount: amount, from: self.owner?.address, type: self.getType().identifier)
+                //FungibleToken.emitWithdrawEvent(amount: amount, from: self.owner?.address, type: self.getType().identifier)
             }
         }
     }
@@ -232,7 +232,7 @@ access(all) contract FungibleToken {
             pre {
                 from.isInstance(self.getType()): 
                     "Cannot deposit an incompatible token type"
-                FungibleToken.emitDepositEvent(amount: from.getBalance(), to: self.owner?.address, type: from.getType().identifier)
+                //FungibleToken.emitDepositEvent(amount: from.getBalance(), to: self.owner?.address, type: from.getType().identifier)
             }
             post {
                 self.getBalance() == before(self.getBalance()) + before(from.getBalance()):
@@ -246,7 +246,7 @@ access(all) contract FungibleToken {
             post {
                 self.getBalance() == before(self.getBalance()) - amount:
                     "New Vault balance from the sender must be the difference of the previous balance and the withdrawn Vault balance"
-                FungibleToken.emitTransferEvent(amount: amount, from: self.owner?.address, to: receiver.borrow()?.owner?.address, type: self.getType().identifier)
+                //FungibleToken.emitTransferEvent(amount: amount, from: self.owner?.address, to: receiver.borrow()?.owner?.address, type: self.getType().identifier)
             }
         }
 
@@ -260,7 +260,7 @@ access(all) contract FungibleToken {
 
         destroy() {
             pre {
-                FungibleToken.emitBurnEvent(amount: self.getBalance(), type: self.getType().identifier)
+                //FungibleToken.emitBurnEvent(amount: self.getBalance(), type: self.getType().identifier)
             }
         }
     }
diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index 15921380..ee626642 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -37,7 +37,7 @@ const (
 
 // FungibleToken returns the FungibleToken contract interface.
 func FungibleToken() []byte {
-	code := assets.MustAssetString(filenameFungibleTokenV2)
+	code := assets.MustAssetString(filenameFungibleToken)
 
 	return []byte(code)
 }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 6aaf7f69..0ce3821c 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -2,7 +2,7 @@
 // sources:
 // ../../../contracts/ExampleToken-v2.cdc (10.655kB)
 // ../../../contracts/ExampleToken.cdc (12.034kB)
-// ../../../contracts/FungibleToken-v2.cdc (11.268kB)
+// ../../../contracts/FungibleToken-v2.cdc (11.276kB)
 // ../../../contracts/FungibleToken.cdc (10.021kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.48kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (17.818kB)
@@ -121,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x8f\x1b\xb7\x11\x7f\xdf\x4f\x31\xb8\x00\xb5\x94\x2a\x3a\x3f\x14\x7d\x10\x62\xbb\x76\x12\x17\x79\x68\x10\xd8\xd7\xf8\xa1\x28\x2a\x6a\x77\x56\xcb\x78\x97\xdc\x90\x5c\xc9\xea\xe1\xbe\x7b\x31\x43\x72\xff\x69\xf5\xe7\x2e\x76\x51\xd4\x0f\x67\x69\x97\x1c\x0e\x87\x33\xbf\xf9\xcd\x50\xb7\x5f\x7f\x9d\x24\x5f\xc1\x5d\x81\xf0\xb6\xd4\x7b\x78\xdb\xa8\xad\xdc\x94\x08\x77\xfa\x23\x2a\xb0\x4e\xa8\x4c\x98\x2c\x49\xbe\xfa\x0a\xd6\xf1\x25\xbf\x5b\x43\xaa\x95\x33\x22\x75\x49\xc2\xd3\xa7\x67\x82\xb4\xa0\x34\x94\x5a\x6d\xd1\x80\x50\x20\x95\x43\x93\x8b\x14\x13\x57\x08\x07\xa2\x2c\x21\x8f\x53\x1d\x4f\x8d\x72\x2d\xec\x75\x53\x66\x50\x88\x1d\xbd\xa2\xe7\xb9\x36\x15\x38\xbd\x4c\x92\x1f\x73\x10\xd0\x58\x34\x16\xf6\x42\x39\x4b\x03\x32\xac\x4b\x7d\x00\x01\x0a\xf7\x23\x59\x0b\x70\x05\x4a\xd3\xe9\x9c\x69\x24\xc5\x1c\x28\xc4\x8c\x26\xcb\xaa\x2e\xb1\x42\xe5\x68\x24\x0c\xb6\xda\xe9\xbc\x80\x4d\xe3\x82\x28\x5e\xc0\x26\x99\x3e\x21\xa2\x9d\x64\x21\xc3\x5c\x2a\xcc\x40\x2a\x70\x85\xb4\xad\x16\x4b\x6f\xd7\x5f\x44\x53\xba\x35\x18\xb4\xba\x31\x69\x6f\x66\x92\xfc\x20\xd2\x62\x6c\x9f\x76\x9c\x3b\xd4\xc8\x8b\xdb\xe3\xd5\x4f\x0b\x0d\x8b\xfe\x6c\xf4\x4e\x66\x68\xd6\x0b\x58\xbf\xc3\x14\xe5\x8e\x3f\x0b\x95\xc1\xfa\x8d\x28\x85\x4a\x71\x6a\xb6\xe5\xd3\xb6\xa3\xed\xa5\xa5\x30\x08\xb5\xc1\x6f\x52\xad\x32\xe9\xa4\x56\x96\x45\xd5\xda\xba\xfe\x33\x3e\x73\x83\xd6\x19\x99\xba\x84\x14\xc5\x4f\x98\x36\xf4\x12\x74\xce\x9a\xe7\x8d\x4a\xfd\x60\x36\x17\x02\xef\x64\xc9\xeb\x1e\x80\xd6\xb1\x58\x0b\x23\x1c\xc2\x06\x53\xd1\x90\x2e\x0e\xb6\x72\x87\x96\x87\x93\x53\xf0\x07\xb1\x91\xa5\x74\x07\xb2\x8d\x2d\x84\xc1\x44\x80\xc1\x1c\x0d\xaa\x94\xfd\xc9\x1f\x23\x4b\xf7\x7a\x69\x55\x1e\x00\x3f\xd5\xda\x06\x51\xb9\xc4\x32\xb3\x9d\x46\x89\x54\xa0\x15\x82\x36\x50\x69\x83\x51\xe3\xce\x14\xe4\x98\xe4\xd3\x56\x07\x85\xbc\x87\x8e\xb4\xa9\xc4\x47\x84\xb4\xb1\x4e\x57\xad\x85\x83\x69\xda\x43\x24\xdb\x0c\xad\x4c\x0e\xae\x61\x27\x8c\xd4\x0d\x8d\x96\x6a\x6b\x61\x2f\x5d\xc1\xe2\xbd\x37\x2e\x93\xb7\xda\x00\x7e\x12\x24\x66\x01\x02\x72\xd1\xa4\xe8\x20\x15\x0a\x36\xd8\x49\xc7\x0c\x36\x87\x18\x50\x52\x6d\x13\x6f\x0e\x88\x4e\x31\xf0\x96\xaf\x6f\x93\x44\x56\xb5\x36\x0e\x7e\x91\xb8\x7f\x87\x56\x97\x3b\x34\x90\x1b\x5d\xc1\x4d\xff\xd1\x4d\x92\xdc\xde\xde\x0e\x83\x87\x9e\x0c\x9e\x06\x80\x68\x75\x11\xc1\x5b\x0c\xf6\x80\xc2\xe0\x6f\x8d\x34\x53\x61\x35\x0c\x06\x96\xdc\x29\x0b\x1f\x10\xac\x93\x65\xe9\x41\x43\x3a\x10\x76\x00\x3a\x50\xa0\xe9\xfc\xc6\xf1\x37\x76\x29\x5d\xb1\xe7\xe4\x4d\xc9\x22\x1b\xe7\x4f\xab\x42\x57\xe8\x2c\x1c\x4e\x25\xd4\x01\x6a\xa3\x7f\x45\x06\x27\x5a\xc6\x2f\x46\x08\x44\x9a\xf2\xa2\x5a\x8d\xb0\xc6\x2e\x58\x64\x40\x0e\xef\xc2\x9b\x03\x6d\xb6\x42\xa1\x6c\xbb\xd7\x25\x83\xa1\x77\x83\xee\x29\x7d\xe6\x67\xed\x29\xfb\x3d\x47\xa3\xd8\x41\xb8\x77\xd0\x21\xd2\x14\xad\x9d\x89\xb2\x9c\xb7\x9a\x8c\x60\xed\x3e\x49\x00\x00\x6e\x6f\xe1\xb5\x02\x54\x4e\xba\x60\xe7\x5c\x1b\xd2\x45\xef\xa5\xda\xb2\x78\x72\xb3\xcc\x88\xbd\x28\xd9\xe7\xd9\xd7\xfc\xf9\x0b\x1f\x40\x2c\xa8\xbf\x64\x5f\xdc\x87\x38\x7b\x53\x62\x5c\xf2\x96\x73\x0e\xee\xfc\xb1\xfa\x2d\x63\x25\x1d\xb9\xe6\xbe\x40\x15\x17\x21\x63\xc5\xd5\xd5\x85\x25\x77\xfd\xc5\x66\xa2\xd2\x8d\x72\x2b\xf8\xfb\x5b\xf9\xe9\xcf\x7f\x5a\xf0\xdc\x15\xbc\xce\x32\x83\xd6\xbe\x5a\x30\x7a\xae\xe0\xbd\x33\x52\x6d\xe7\x7d\x61\x16\xcb\x7c\x4e\x7e\xc6\x0a\x45\x79\x3f\x90\xf4\xc7\x09\x5d\xc1\x1b\xad\x4b\xb8\x67\xe1\xf4\x8f\xe4\x1d\x2b\xe8\xff\x8f\xb2\xe8\x6f\x94\x43\x7f\xe7\xed\x6c\x83\xae\x31\x0a\x9c\x69\x90\x9f\x3d\x3c\xc5\x96\x19\xd6\xda\x4a\xe7\x23\xeb\xbc\x25\xbf\xf7\x43\x8f\xf6\xec\xf4\x13\xcc\x18\x84\x4d\x5b\xf1\x8c\xc4\x69\x1b\x8e\x55\x8b\x26\x24\x41\x4e\x7f\x41\xf3\x39\x23\x94\xcd\xd1\x50\x60\xb2\x33\x52\x3a\x10\x69\x4a\xcb\xb3\x45\x95\x26\x50\x39\x61\xd1\xbb\x30\xfb\xb2\x1b\x3d\xc5\xc4\x51\xfa\x95\x9e\xfa\x58\x9b\x1f\x29\x3f\xe9\xb7\x4f\x3b\x00\x56\xf9\x8c\xcf\x5a\x67\xf4\x01\xb3\x13\x66\x7d\xd3\x18\x75\xec\x53\x03\xa3\x9d\xb6\x1a\x4d\x3e\xe1\x95\x67\x6d\x22\xf3\x60\x00\x78\xf9\x02\x9e\x2f\x9f\xf7\x5e\xb5\x26\x1b\x28\xd6\xfa\xe8\x84\x69\x1e\xae\x31\x52\x4c\xce\xf1\xc1\xc0\x7d\xbb\x0c\xc7\x2e\x8c\x94\xd9\xd3\x40\x63\x42\x2a\xf1\xd9\x82\xb0\x3d\x02\x2a\x65\xfe\x28\xa4\x0f\xea\x4c\x6a\x62\x82\xe1\x1c\x70\xa8\x71\x79\xb4\xee\x8f\x0e\x5a\x1a\x1d\x16\x1c\xae\xa5\x15\xac\x37\x91\x4b\x52\xae\x5d\xb4\x73\x7b\xd4\xad\x44\x41\x54\x49\xd7\xe8\xf9\x5e\xad\xad\x95\x81\x2d\xe9\x1c\x52\x83\x82\x95\x08\x8c\xa9\x0e\x66\xb0\x9d\xea\xb4\x63\xe2\xe1\x4c\xe7\xe9\x8c\x85\x91\xe5\x21\xf0\x72\xce\xc5\x7a\xaf\x20\x68\x32\xdc\x47\xdf\x9b\x8e\xd9\x6e\x47\x88\x42\xae\x8c\x4b\x46\x0b\x82\x6d\x36\xa1\x58\x19\x1b\x50\xef\x15\x9a\x67\xb6\x07\xb1\x71\x32\x11\x63\x7f\xce\x36\x42\x70\x47\xe4\x0c\x56\x7a\xc7\xf0\xec\x09\x5d\x6f\xe2\x40\xc8\x5d\x8f\x2a\x3f\xb3\x61\x1f\x50\xe2\x0e\x4b\x02\xb0\xba\xd9\x94\x32\x8d\xf5\x8a\xb4\xbe\x0e\x73\x20\xc8\x7e\x9b\x12\xab\x81\xb0\x78\x1a\xcc\x80\x5b\xe5\xc1\x3a\x6d\x22\x05\xe8\x19\x27\xd8\x34\xc0\xde\x40\x50\xca\x64\x4b\x3a\x29\xca\xf2\x00\xa9\x27\x34\xb2\xa3\xd0\xe7\xf7\xe3\x57\xad\xc4\x01\xb6\x86\x28\x15\x63\x69\x5c\xa7\xdd\x23\x31\xd7\xe8\x13\xb4\x1d\xb9\x13\x0e\x47\x5a\xd4\x2d\xdd\x0e\x45\xa6\xde\x5b\xb0\x35\xa6\x32\x97\x69\x90\x1b\xb8\xb9\x0e\x72\x07\x12\xd8\x0f\xe3\xd9\x77\x05\x57\x61\x74\xb3\x2d\xa0\x57\x48\x5c\xbb\x21\x5f\x13\xf0\xae\xc8\x28\x17\xf6\xc4\x87\x77\xcd\x96\x48\xd6\x68\x1f\x03\xdd\x07\x32\x1e\xbf\x8f\x10\x1d\x7d\x02\xe7\x91\x73\x3f\xcd\xb2\xe6\x2b\xf8\xcb\x6b\x75\x78\x17\x16\xba\x67\xdf\x7e\x18\x41\x23\xd5\x84\xa3\x47\x7e\x5d\x58\x1b\xb4\xa1\x6a\xcd\xc3\x9e\xbc\xeb\x31\x26\xee\x44\xd9\xe0\xd1\x34\x3f\x65\xb9\x45\x17\xaa\xd6\xd9\x1c\x5e\xbc\x08\x68\xbb\x3a\x1a\x4e\xff\x6e\x3e\x74\x74\x36\x60\x78\xd5\x58\x47\x15\x12\x2d\x67\x45\x85\x54\x37\xd0\xe7\x80\x19\xb1\xd2\xeb\x98\x28\xef\xec\xe6\x48\xfc\x80\x60\x2f\x4f\xf3\xc7\x61\xee\xa4\x8c\xb4\x64\x5f\x79\xb5\x14\x3e\x27\xc7\x3c\xc1\xaf\xb6\xe8\xee\x0e\x35\xce\xe6\x4b\x99\x11\x22\xe7\x12\xcd\x7c\xb0\xf6\xc3\x28\x95\xf4\xd2\x46\x2c\xee\x7f\x7f\xda\x08\xdc\x71\x22\x6b\x48\x15\x8e\xea\x8a\xac\xf1\x01\x23\x56\x4b\x95\x96\x4d\x86\x20\xa0\xed\x10\x78\x35\xd2\x02\xd3\x8f\xc3\x03\x08\x08\xd5\x4a\xd9\x63\x5b\x75\x51\xa5\x7d\x4d\xa1\xed\xcd\xe0\xab\xa9\x04\x7a\x80\x95\xe9\x38\x68\xba\xaa\x5e\x40\x29\x3f\x22\xd8\xba\x94\x5c\x86\x55\xd0\xd4\x04\xe2\xad\x10\x8b\x2a\xf3\x2f\xa8\x48\x97\x39\xc7\x94\x83\xba\xf4\x3d\x01\xb8\x3e\xdf\xc4\xc3\x1a\xe7\x9b\x60\x7a\x70\xe2\x23\x76\x49\x83\x12\x49\x78\x63\x29\x93\x4e\x1f\xc3\xa0\x5f\x74\x2e\xcc\x59\x29\x8a\xee\x20\x73\xe6\xbd\x73\x22\xa2\xe7\x43\xed\xb6\xe8\xde\x37\x75\xad\x8d\xc3\x8c\x07\x90\xb7\x52\x46\xa7\x23\xe5\x4c\xd0\xa5\xbb\x52\x5a\x47\xe1\xb4\xf3\x7d\x17\x1e\x18\xea\x5b\xae\x7a\xc3\xfe\x49\xa5\xda\xd9\x49\x15\x77\x12\xf7\xac\xe7\xf4\xba\xb3\xf9\x0a\xee\xef\x38\x7a\x88\xb3\x8d\xe1\xe7\xf6\x16\xde\x60\xa9\xf7\xde\xcb\x28\x2f\xf6\xdb\x22\xd1\x6b\x6c\x63\x42\x4c\x98\x46\x7d\xe3\x64\x15\xda\x6d\xdc\x92\x1c\xcb\xe3\xb4\xb9\x45\x17\xb6\xd9\x52\x58\x02\x62\xc1\xae\xd0\x9e\x41\xe8\xb9\x04\x1f\x1b\xb6\x54\x97\xbe\x88\x5f\xc2\x40\xbe\xcc\x8f\x40\xc0\xbe\x6f\x36\xa4\xcd\x4c\xe7\x2b\xa0\x87\xdf\x0e\xce\x68\x42\xe8\xc3\xcb\xd9\x7c\x3e\x01\xba\x01\x5a\xef\x87\x2b\xac\x98\x7f\x3e\x0c\x11\x06\xb0\xb4\x38\x8d\xdb\xef\xbc\x14\x41\x8c\xba\x76\x07\xc8\x24\x27\x7b\x61\x0e\x11\x47\x33\xcc\xf9\xbc\x19\xc3\x19\x4c\x5a\x8b\xec\x0b\x0d\x99\x56\xcf\xdc\x94\xe4\xae\xf7\x33\x69\xaa\x05\xd8\x26\x2d\x68\x91\xe1\xeb\xf7\x7b\xe9\xd2\x62\xa3\x85\xc9\xd6\x0b\x58\xf3\xb3\xb7\xda\xec\x85\xc9\xd0\xac\x01\x5d\xba\x3c\x69\x8a\x87\x93\xc0\x3a\xf0\xf9\x77\xc1\xa3\xf7\x05\x32\x9b\xd0\x86\x31\x8d\x36\x4b\x80\xa4\xbc\xbb\x48\x1b\x3c\xd9\x77\xdc\xe8\xed\x00\x8f\xa3\xb4\xd7\x31\x1e\x18\xfe\x84\x0a\xb3\x40\xa8\x83\x17\x64\x0b\xee\x85\xff\x4a\x79\xaa\x57\x23\x90\xd0\x60\xdb\xf3\xa1\x42\x3e\x33\x8e\x94\x99\x4f\x31\xf4\xf1\xb8\xbe\xe9\x99\x24\x17\xa5\xc5\xe9\x04\x73\x01\xce\x62\xcd\xa8\x4d\x4f\x72\x68\x06\xb2\x8b\xf8\x56\x13\x64\xd2\x60\xea\xda\xea\x1a\xa4\xb2\x0e\x45\x46\x38\x51\x88\x1d\xe7\x12\xee\x7e\x8a\x16\x08\x09\xfa\xba\xae\xd4\x55\xa8\xe6\x4e\x55\xdf\x11\x74\x56\xf0\x5d\xcb\xb2\xbe\xfd\xc3\x28\x8c\xe2\xb1\x3d\xbc\x1c\xc7\x51\x6d\xa6\xc2\x22\x0a\x5d\x32\xcc\x50\x4c\xdd\x7c\xc7\x47\x48\x5e\xb2\xd1\xc6\xe8\x3d\x1c\x37\xa4\xe1\xa7\xb7\x77\xed\xd4\x9b\x6b\x53\x7c\x60\x3e\x13\x19\x5e\xda\xde\x69\x70\x09\x40\xab\x6e\x51\xa1\x11\x25\xd4\x8d\xa9\xb5\x45\xa8\xd0\x89\x4c\x38\xd1\x1b\x3b\xce\xb7\x91\x94\x8e\xc4\x21\x66\x1e\x34\x09\xfd\xa2\x18\x5f\x75\x88\x2c\xf3\x6c\x76\x5f\xe8\x12\xf9\x4e\xa6\xeb\x4e\x46\xb1\x74\xfc\xb8\x43\x02\x8a\xae\x89\xd2\xd4\x5b\x23\x32\x36\x09\x55\x32\x46\x6f\xc4\x86\xea\x12\xad\xa1\xa2\x70\xd7\x39\x08\xd8\x18\x14\x1f\xb9\x2c\x2c\x84\xda\xe2\x35\xde\x18\xcc\x04\xf7\x70\x7b\xbb\x1a\xf4\xb2\x97\x6d\x53\x7b\x94\x77\xff\xc6\xfd\xdf\xb8\xc1\x1e\x21\x39\xa2\xfa\x91\xa8\xa4\x7c\xc8\x1b\x64\x5f\x35\x92\x4a\x39\xbe\x46\x58\x0c\x66\x58\x1d\x9a\xcf\xfe\x7a\x2c\xde\x20\x05\xca\xc5\x48\xfa\xa9\x2e\x65\x2a\x9d\x9f\x7d\x31\x0f\xb6\xe4\x37\xba\x75\xf2\x39\x52\xe7\xe7\xc0\x94\xa1\x41\x07\x37\x08\xde\xba\xf6\x62\xf4\xf6\xb5\x26\x01\xac\xe7\x3f\x68\x8d\x7f\x9e\x1f\x6f\xfc\x4a\x34\x67\xf6\x2f\x7e\xdc\xaa\xf6\x5a\x1d\xde\x3b\xd3\xa4\xee\xd5\x38\x9a\xba\x82\x7d\xd0\xec\xc8\x90\x98\xcc\x22\x54\xd3\xad\x53\xf9\x3b\x4a\x2e\xef\xba\x0b\xca\x16\xe4\x17\xd1\xe9\x16\x3d\x2c\x5c\xb4\x6d\x05\x7f\xdf\x16\xed\xd1\x35\x47\x9a\xae\x13\x49\x70\x61\xa3\x99\xe1\x80\xee\x31\x74\x92\xb7\xb2\xba\x5e\x9b\xab\x62\xe2\xaf\xc3\x48\x88\xb5\xd1\xee\x72\x12\x3a\xef\xa7\xff\xfb\x4c\xf2\x42\x4c\x3d\x25\x1e\x22\x8d\xe0\xc2\xd3\x69\x23\xb6\xc4\x19\x5d\x41\xbc\xc2\x60\x67\xd8\x48\x00\xdc\xa1\x96\x29\x1b\x62\xe3\x27\xe0\x65\x6c\xf8\xde\x13\x84\xf7\x5e\xfc\xcf\xc2\x15\xb4\xb1\xde\xd7\x57\xd3\x79\x5f\xc9\xf2\x12\xfb\x61\x8a\xeb\x13\xc3\x40\x6b\x69\x87\x6a\xf3\xcd\x58\x9b\x43\xba\x66\xc6\xb5\xba\xff\xcc\x13\xa3\xea\xdd\xb7\xc7\x69\xfe\x5f\xc4\x94\x4b\xdd\xc2\xb5\x27\x21\xeb\xae\x5f\xc8\x2e\xf3\xcc\x4e\x26\x98\x61\xc7\x90\x52\xe9\xa8\x6b\x18\x05\x13\xcd\x3c\x9e\xff\x85\xfb\x39\x93\xfc\x27\x56\x14\x5d\x57\xe6\xe5\x85\xae\xcc\x6b\xdf\x8a\xe9\x7a\x2c\xb1\x29\x53\xfa\xae\x96\x50\x44\xb2\xf1\xb7\x46\x94\xfe\xdb\x04\x08\x4d\xb4\x65\x1e\xae\x6c\x3e\x85\x0b\x61\xdf\x25\x14\x65\xdb\xb2\x84\xf5\x06\x73\x6d\x70\xdd\x67\x01\xbe\x8e\x09\x8b\x76\x3d\xee\x61\xae\xee\x09\x0f\xf7\xb7\x1b\xdc\x4a\xa5\x88\xb5\x8c\x7e\xec\xd0\xfd\x0c\x62\x62\xf6\x15\xb6\x7d\xf1\x02\xbc\x96\xb3\xa3\x77\x73\xf8\xe6\xbc\xdd\x7f\x6a\xdd\x29\x1a\xb3\xdf\x0d\x8b\xed\x8c\xce\xc6\xb5\xc1\x1d\xff\x06\x21\x0e\x17\xbe\xfb\x31\xee\x8e\xc5\xf7\xa7\x69\xec\x95\x2d\x0e\x91\x65\x16\xa4\xeb\x16\x0c\x5c\x79\x70\xf6\x72\xa2\xd3\xfe\x94\x06\xc7\x54\xf1\x3c\x66\xfc\x54\xb0\x59\x8b\xc6\x75\x37\xf3\xa9\x56\xa9\x41\x17\xba\x04\xc1\x52\xdd\x65\xab\x07\x43\x69\xdb\x06\xe3\x58\x5e\xa8\x93\x7b\x55\x60\x5b\x3a\xc6\x0e\x7c\x90\x76\x45\xec\xd1\xb6\x96\xd2\xfe\xa8\xac\x63\x1f\x18\x56\xf7\xf3\x15\x4c\x3b\xc2\x77\x42\x11\xdb\xe8\x4a\x2c\x90\x2a\xd5\x55\x2d\x5c\xef\xd7\x47\xb4\xbf\x6b\xfa\x9e\x93\x17\xbe\xac\x58\xdf\x39\xfd\x8d\xe1\x99\xfe\x67\x9c\x71\x75\xff\x13\x4e\x07\xf9\x23\xc3\xe6\x8f\xf1\xdd\x91\xd6\xf3\x27\x45\x92\x6d\xaa\x8b\x21\xd4\x79\xcc\x59\x24\x1b\x85\xce\xff\x55\x35\xfd\x59\xce\xee\xd1\x90\xd7\xa6\x61\x8b\x2a\x43\xf3\x45\x21\x10\x26\x03\x66\xfa\xfa\xfe\x9a\x8b\x02\xbd\xea\xba\x0d\xbe\xb3\x30\x9b\xbf\xfa\x7c\xf7\x09\x03\x57\xe3\x5b\x2a\xfc\xa1\xaa\xdd\x21\x00\x74\xb8\x88\x52\x87\xf0\xcb\x3b\x1d\xc6\x0c\x88\x0a\x23\x5a\x21\x08\xd7\xff\x8d\x46\x5f\x43\x52\x5a\x4f\x1b\x2f\x39\xfb\x3d\xb7\x4c\x27\xae\x8b\x9e\x2f\x9f\xaf\xe0\x86\xea\x78\x85\xfb\x32\x5c\xc6\xc5\x28\xf4\xce\xc0\x14\xb6\xaf\xfc\x15\xc1\x19\x7e\xb9\x30\xbb\xae\x65\x74\xec\x13\xc7\x3f\x4e\x38\xf2\xf5\xdf\x7d\x51\xf4\xf0\x9f\x00\x00\x00\xff\xff\x39\xd9\x0a\x8b\x04\x2c\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x8f\x1b\xb7\x11\x7f\xdf\x4f\x31\xb8\x00\xb5\x94\x2a\x3a\x3f\x14\x7d\x10\x62\xbb\x76\x12\x17\x79\x68\x10\xd8\xd7\xf8\xa1\x28\x2a\x6a\x77\x56\xcb\x78\x97\xdc\x90\x5c\xc9\xea\xe1\xbe\x7b\x31\x43\x72\xff\x69\xf5\xe7\x2e\x76\x51\xd4\x0f\x67\x69\x97\x1c\x0e\x87\x33\xbf\xf9\xcd\x50\xb7\x5f\x7f\x9d\x24\x5f\xc1\x5d\x81\xf0\xb6\xd4\x7b\x78\xdb\xa8\xad\xdc\x94\x08\x77\xfa\x23\x2a\xb0\x4e\xa8\x4c\x98\x2c\x49\xbe\xfa\x0a\xd6\xf1\x25\xbf\x5b\x43\xaa\x95\x33\x22\x75\x49\xc2\xd3\xa7\x67\x82\xb4\xa0\x34\x94\x5a\x6d\xd1\x80\x50\x20\x95\x43\x93\x8b\x14\x13\x57\x08\x07\xa2\x2c\x21\x8f\x53\x1d\x4f\x8d\x72\x2d\xec\x75\x53\x66\x50\x88\x1d\xbd\xa2\xe7\xb9\x36\x15\x38\xbd\x4c\x92\x1f\x73\x10\xd0\x58\x34\x16\xf6\x42\x39\x4b\x03\x32\xac\x4b\x7d\x00\x01\x0a\xf7\x23\x59\x0b\x70\x05\x4a\xd3\xe9\x9c\x69\x24\xc5\x1c\x28\xc4\x8c\x26\xcb\xaa\x2e\xb1\x42\xe5\x68\x24\x0c\xb6\xda\xe9\xbc\x80\x4d\xe3\x82\x28\x5e\xc0\x26\x99\x3e\x21\xa2\x9d\x64\x21\xc3\x5c\x2a\xcc\x40\x2a\x70\x85\xb4\xad\x16\x4b\x6f\xd7\x5f\x44\x53\xba\x35\x18\xb4\xba\x31\x69\x6f\x66\x92\xfc\x20\xd2\x62\x6c\x9f\x76\x9c\x3b\xd4\xc8\x8b\xdb\xe3\xd5\x4f\x0b\x0d\x8b\xfe\x6c\xf4\x4e\x66\x68\xd6\x0b\x58\xbf\xc3\x14\xe5\x8e\x3f\x0b\x95\xc1\xfa\x8d\x28\x85\x4a\x71\x6a\xb6\xe5\xd3\xb6\xa3\xed\xa5\xa5\x30\x08\xb5\xc1\x6f\x52\xad\x32\xe9\xa4\x56\x96\x45\xd5\xda\xba\xfe\x33\x3e\x73\x83\xd6\x19\x99\xba\x84\x14\xc5\x4f\x98\x36\xf4\x12\x74\xce\x9a\xe7\x8d\x4a\xfd\x60\x36\x17\x02\xef\x64\xc9\xeb\x1e\x80\xd6\xb1\x58\x0b\x23\x1c\xc2\x06\x53\xd1\x90\x2e\x0e\xb6\x72\x87\x96\x87\x93\x53\xf0\x07\xb1\x91\xa5\x74\x07\xb2\x8d\x2d\x84\xc1\x44\x80\xc1\x1c\x0d\xaa\x94\xfd\xc9\x1f\x23\x4b\xf7\x7a\x69\x55\x1e\x00\x3f\xd5\xda\x06\x51\xb9\xc4\x32\xb3\x9d\x46\x89\x54\xa0\x15\x82\x36\x50\x69\x83\x51\xe3\xce\x14\xe4\x98\xe4\xd3\x56\x07\x85\xbc\x87\x8e\xb4\xa9\xc4\x47\x84\xb4\xb1\x4e\x57\xad\x85\x83\x69\xda\x43\x24\xdb\x0c\xad\x4c\x0e\xae\x61\x27\x8c\xd4\x0d\x8d\x96\x6a\x6b\x61\x2f\x5d\xc1\xe2\xbd\x37\x2e\x93\xb7\xda\x00\x7e\x12\x24\x66\x01\x02\x72\xd1\xa4\xe8\x20\x15\x0a\x36\xd8\x49\xc7\x0c\x36\x87\x18\x50\x52\x6d\x13\x6f\x0e\x88\x4e\x31\xf0\x96\xaf\x6f\x93\x44\x56\xb5\x36\x0e\x7e\x91\xb8\x7f\x87\x56\x97\x3b\x34\x90\x1b\x5d\xc1\x4d\xff\xd1\x4d\x92\xdc\xde\xde\x0e\x83\x87\x9e\x0c\x9e\x06\x80\x68\x75\x11\xc1\x5b\x0c\xf6\x80\xc2\xe0\x6f\x8d\x34\x53\x61\x35\x0c\x06\x96\xdc\x29\x0b\x1f\x10\xac\x93\x65\xe9\x41\x43\x3a\x10\x76\x00\x3a\x50\xa0\xe9\xfc\xc6\xf1\x37\x76\x29\x5d\xb1\xe7\xe4\x4d\xc9\x22\x1b\xe7\x4f\xab\x42\x57\xe8\x2c\x1c\x4e\x25\xd4\x01\x6a\xa3\x7f\x45\x06\x27\x5a\xc6\x2f\x46\x08\x44\x9a\xf2\xa2\x5a\x8d\xb0\xc6\x2e\x58\x64\x40\x0e\xef\xc2\x9b\x03\x6d\xb6\x42\xa1\x6c\xbb\xd7\x25\x83\xa1\x77\x83\xee\x29\x7d\xe6\x67\xed\x29\xfb\x3d\x47\xa3\xd8\x41\xb8\x77\xd0\x21\xd2\x14\xad\x9d\x89\xb2\x9c\xb7\x9a\x8c\x60\xed\x3e\x49\x00\x00\x6e\x6f\xe1\xb5\x02\x54\x4e\xba\x60\xe7\x5c\x1b\xd2\x45\xef\xa5\xda\xb2\x78\x72\xb3\xcc\x88\xbd\x28\xd9\xe7\xd9\xd7\xfc\xf9\x0b\x1f\x40\x2c\xa8\xbf\x64\x5f\xdc\x87\x38\x7b\x53\x62\x5c\xf2\x96\x73\x0e\xee\xfc\xb1\xfa\x2d\x63\x25\x1d\xb9\xe6\xbe\x40\x15\x17\x21\x63\xc5\xd5\xd5\x85\x25\x77\xfd\xc5\x66\xa2\xd2\x8d\x72\x2b\xf8\xfb\x5b\xf9\xe9\xcf\x7f\x5a\xf0\xdc\x15\xbc\xce\x32\x83\xd6\xbe\x5a\x30\x7a\xae\xe0\xbd\x33\x52\x6d\xe7\x7d\x61\x16\xcb\x7c\x4e\x7e\xc6\x0a\x45\x79\x3f\x90\xf4\xc7\x09\x5d\xc1\x1b\xad\x4b\xb8\x67\xe1\xf4\x8f\xe4\x1d\x2b\xe8\xff\x8f\xb2\xe8\x6f\x94\x43\x7f\xe7\xed\x6c\x83\xae\x31\x0a\x9c\x69\x90\x9f\x3d\x3c\xc5\x96\x19\xd6\xda\x4a\xe7\x23\xeb\xbc\x25\xbf\xf7\x43\x8f\xf6\xec\xf4\x13\xcc\x18\x84\x4d\x5b\xf1\x8c\xc4\x69\x1b\x8e\x55\x8b\x26\x24\x41\x4e\x7f\x41\xf3\x39\x23\x94\xcd\xd1\x50\x60\xb2\x33\x52\x3a\x10\x69\x4a\xcb\xb3\x45\x95\x26\x50\x39\x61\xd1\xbb\x30\xfb\xb2\x1b\x3d\xc5\xc4\x51\xfa\x95\x9e\xfa\x58\x9b\x1f\x29\x3f\xe9\xb7\x4f\x3b\x00\x56\xf9\x8c\xcf\x5a\x67\xf4\x01\xb3\x13\x66\x7d\xd3\x18\x75\xec\x53\x03\xa3\x9d\xb6\x1a\x4d\x3e\xe1\x95\x67\x6d\x22\xf3\x60\x00\x78\xf9\x02\x9e\x2f\x9f\xf7\x5e\xb5\x26\x1b\x28\xd6\xfa\xe8\x84\x69\x1e\xae\x31\x52\x4c\xce\xf1\xc1\xc0\x7d\xbb\x0c\xc7\x2e\x8c\x94\xd9\xd3\x40\x63\x42\x2a\xf1\xd9\x82\xb0\x3d\x02\x2a\x65\xfe\x28\xa4\x0f\xea\x4c\x6a\x62\x82\xe1\x1c\x70\xa8\x71\x79\xb4\xee\x8f\x0e\x5a\x1a\x1d\x16\x1c\xae\xa5\x15\xac\x37\x91\x4b\x52\xae\x5d\xb4\x73\x7b\xd4\xad\x44\x41\x54\x49\xd7\xe8\xf9\x5e\xad\xad\x95\x81\x2d\xe9\x1c\x52\x83\x82\x95\x08\x8c\xa9\x0e\x66\xb0\x9d\xea\xb4\x63\xe2\xe1\x4c\xe7\xe9\x8c\x85\x91\xe5\x21\xf0\x72\xce\xc5\x7a\xaf\x20\x68\x32\xdc\x47\xdf\x9b\x8e\xd9\x6e\x47\x88\x42\xae\x8c\x4b\x46\x0b\x82\x6d\x36\xa1\x58\x19\x1b\x50\xef\x15\x9a\x67\xb6\x07\xb1\x71\x32\x11\x63\x7f\xce\x36\x42\x70\x47\xe4\x0c\x56\x7a\xc7\xf0\xec\x09\x5d\x6f\xe2\x40\xc8\x5d\x8f\x2a\x3f\xb3\x61\x1f\x50\xe2\x0e\x4b\x02\xb0\xba\xd9\x94\x32\x8d\xf5\x8a\xb4\xbe\x0e\x73\x20\xc8\x7e\x9b\x12\xab\x81\xb0\x78\x1a\xcc\x80\x5b\xe5\xc1\x3a\x6d\x22\x05\xe8\x19\x27\xd8\x34\xc0\xde\x40\x50\xca\x64\x4b\x3a\x29\xca\xf2\x00\xa9\x27\x34\xb2\xa3\xd0\xe7\xf7\xe3\x57\xad\xc4\x01\xb6\x86\x28\x15\x63\x69\x5c\xa7\xdd\x23\x31\xd7\xe8\x13\xb4\x1d\xb9\x13\x0e\x47\x5a\xd4\x2d\xdd\x0e\x45\xa6\xde\x5b\xb0\x35\xa6\x32\x97\x69\x90\x1b\xb8\xb9\x0e\x72\x07\x12\xd8\x0f\xe3\xd9\x77\x05\x57\x61\x74\xb3\x2d\xa0\x57\x48\x5c\xbb\x21\x5f\x13\xf0\xae\xc8\x28\x17\xf6\xc4\x87\x77\xcd\x96\x48\xd6\x68\x1f\x03\xdd\x07\x32\x1e\xbf\x8f\x10\x1d\x7d\x02\xe7\x91\x73\x3f\xcd\xb2\xe6\x2b\xf8\xcb\x6b\x75\x78\x17\x16\xba\x67\xdf\x7e\x18\x41\x23\xd5\x84\xa3\x47\x7e\x5d\x58\x1b\xb4\xa1\x6a\xcd\xc3\x9e\xbc\xeb\x31\x26\xee\x44\xd9\xe0\xd1\x34\x3f\x65\xb9\x45\x17\xaa\xd6\xd9\x1c\x5e\xbc\x08\x68\xbb\x3a\x1a\x4e\xff\x6e\x3e\x74\x74\x36\x60\x78\xd5\x58\x47\x15\x12\x2d\x67\x45\x85\x54\x37\xd0\xe7\x80\x19\xb1\xd2\xeb\x98\x28\xef\xec\x66\x62\x13\x03\x8a\xbd\x3c\xcd\x20\x87\xd9\x93\x72\xd2\x92\xbd\xe5\xd5\x52\xf8\xac\x1c\x33\x05\xbf\xda\xa2\xbb\x3b\xd4\x38\x9b\x2f\x65\x46\x98\x9c\x4b\x34\xf3\xc1\xea\x0f\xa3\x64\xd2\x4b\x1c\xb1\xbc\xff\xfd\x89\x23\xb0\xc7\x89\xbc\x21\x55\x38\xac\x2b\xf2\xc6\x07\x8c\x68\x2d\x55\x5a\x36\x19\x82\x80\xb6\x47\xe0\xd5\x48\x0b\x4c\x3f\x0e\x8f\x20\x60\x54\x2b\x65\x8f\x6d\xdd\x45\xb5\xf6\x35\xa5\xb6\x37\x83\xaf\xa7\x12\xe8\x41\x56\xa6\xe3\xa0\xe9\xba\x7a\x01\xa5\xfc\x88\x60\xeb\x52\x72\x21\x56\x41\x53\x13\x8c\xb7\x42\x2c\xaa\xcc\xbf\xa0\x32\x5d\xe6\x1c\x55\x0e\xea\xd2\x77\x05\xe0\xfa\x8c\x13\x0f\x6b\x9c\x71\x82\xe9\xc1\x89\x8f\xd8\xa5\x0d\x4a\x25\xe1\x8d\xa5\x5c\x3a\x7d\x0c\x83\x8e\xd1\xb9\x40\x67\xa5\x28\xbe\x83\xcc\x99\xf7\xce\x89\x98\x9e\x0f\xb5\xdb\xa2\x7b\xdf\xd4\xb5\x36\x0e\x33\x1e\x40\xde\x4a\x39\x9d\x8e\x94\x73\x41\x97\xf0\x4a\x69\x1d\x05\xd4\xce\x77\x5e\x78\x60\xa8\x70\xb9\xee\x0d\xfb\x27\x95\x6a\x67\x27\x55\xdc\x49\xdc\xb3\x9e\xd3\xeb\xce\xe6\x2b\xb8\xbf\xe3\xe8\x21\xd6\x36\x06\xa0\xdb\x5b\x78\x83\xa5\xde\x7b\x2f\xa3\xcc\xd8\x6f\x8c\x44\xaf\xb1\x8d\x09\x31\x61\x1a\xf5\x8d\x93\x55\x68\xb8\x71\x53\x72\x2c\x8f\x13\xe7\x16\x5d\xd8\x66\x4b\x62\x09\x8a\x05\xbb\x42\x7b\x06\xa1\xeb\x12\x7c\x6c\xd8\x54\x5d\xfa\x32\x7e\x09\x03\xf9\x32\x3f\x02\x01\xfb\xbe\xd9\x90\x36\x33\x9d\xaf\x80\x1e\x7e\x3b\x38\xa3\x09\xa1\x0f\x2f\x67\xf3\xf9\x04\xec\x06\x70\xbd\x1f\xae\xb0\x62\x06\xfa\x30\x44\x18\xc0\xd2\xe2\x34\x72\xbf\xf3\x52\x04\x71\xea\xda\x1d\x20\x93\x9c\xee\x85\x39\x44\x24\xcd\x30\xe7\xf3\x66\x14\x67\x30\x69\x2d\xb2\x2f\x34\x64\x5a\x3d\x73\x53\x92\xbb\xee\xcf\xa4\xa9\x16\x60\x9b\xb4\xa0\x45\x86\xaf\xdf\xef\xa5\x4b\x8b\x8d\x16\x26\x5b\x2f\x60\xcd\xcf\xde\x6a\xb3\x17\x26\x43\xb3\x06\x74\xe9\xf2\xa4\x29\x1e\x4e\x02\xeb\xc0\xe7\xdf\x05\x8f\xde\x17\xc8\x7c\x42\x1b\xc6\x34\xda\x2c\x01\x92\xf2\xee\x22\x6d\xf0\x64\xdf\x73\xa3\xb7\x03\x3c\x8e\xd2\x5e\xc7\x78\x60\xf8\x13\x2a\xcc\x02\xa1\x0e\x5e\x90\x2d\xb8\x1b\xfe\x2b\x65\xaa\x5e\x95\x40\x42\x83\x6d\xcf\x87\x0a\xf9\xcc\x38\x52\x66\x3e\xc5\xd0\xc7\xe3\x0a\xa7\x67\x92\x5c\x94\x16\xa7\x13\xcc\x05\x38\x8b\x55\xa3\x36\x3d\xc9\xa1\x1d\xc8\x2e\xe2\x9b\x4d\x90\x49\x83\xa9\x6b\xeb\x6b\x90\xca\x3a\x14\x19\xe1\x44\x21\x76\x9c\x4b\xb8\xff\x29\x5a\x20\x24\xe8\xeb\xfa\x52\x57\xa1\x9a\x3b\x55\x7f\x47\xd0\x59\xc1\x77\x2d\xcf\xfa\xf6\x0f\xa3\x30\x8a\xc7\xf6\xf0\x72\x1c\x47\xb5\x99\x0a\x8b\x28\x74\xc9\x30\x43\x31\x75\xf3\x1d\x1f\x21\x79\xc9\x46\x1b\xa3\xf7\x70\xdc\x92\x86\x9f\xde\xde\xb5\x53\x6f\xae\x4d\xf1\x81\xfb\x4c\x64\x78\x69\x7b\xa7\xc1\x45\x00\xad\xba\x45\x85\x46\x94\x50\x37\xa6\xd6\x16\xa1\x42\x27\x32\xe1\x44\x6f\xec\x38\xdf\x46\x5a\x3a\x12\x87\x98\x79\xd0\x24\xf4\x8b\x62\x7c\xdd\x21\xb2\xcc\xf3\xd9\x7d\xa1\x4b\xe4\x5b\x99\xae\x3f\x19\xc5\xd2\xf1\xe3\x0e\x09\x28\xba\x36\x4a\x53\x6f\x8d\xc8\xd8\x24\x54\xcb\x18\xbd\x11\x1b\xaa\x4c\xb4\x86\x8a\xc2\x5d\xe7\x20\x60\x63\x50\x7c\xe4\xc2\xb0\x10\x6a\x8b\xd7\x78\x63\x30\x13\xdc\xc3\xed\xed\x6a\xd0\xcd\x5e\xb6\x6d\xed\x51\xde\xfd\x1b\x77\x80\xe3\x06\x7b\x84\xe4\x88\xec\x47\xa2\x92\xf2\x21\x6f\x90\x7d\xd5\x48\x2a\xe6\xf8\x22\x61\x31\x98\x61\x75\x68\x3f\xfb\x0b\xb2\x78\x87\x14\x28\x17\x23\xe9\xa7\xba\x94\xa9\x74\x7e\xf6\xc5\x3c\xd8\xd2\xdf\xe8\xd6\xc9\xe7\x48\x9d\x9f\x03\x53\x86\x06\x1d\xdc\x21\x78\xeb\xda\x8b\xd1\xdb\xd7\x9a\x04\xb0\x9e\xff\xa0\x35\xfe\x79\x7e\xbc\xf1\x2b\xd1\x9c\xd9\xbf\xf8\x71\xab\xda\x6b\x75\x78\xef\x4c\x93\xba\x57\xe3\x68\xea\x4a\xf6\x41\xbb\x23\x43\x62\x32\x8b\x50\x4f\xb7\x4e\xe5\x6f\x29\xb9\xc0\xeb\xae\x28\x5b\x90\x5f\x44\xa7\x5b\xf4\xb0\x70\xd1\x36\x16\xfc\x8d\x5b\xb4\x47\xd7\x1e\x69\xba\x5e\x24\xc1\x85\x8d\x66\x86\x03\xba\xc7\xd0\x49\xde\xca\xea\x7a\x6d\xae\x8a\x89\xbf\x0e\x23\x21\x56\x47\xbb\xcb\x49\xe8\xbc\x9f\xfe\xef\x33\xc9\x0b\x31\xf5\x94\x78\x88\x34\x82\x4b\x4f\xa7\x8d\xd8\x12\x67\x74\x05\xf1\x0a\x83\x9d\x61\x23\x01\x70\x87\x5a\xa6\x6c\x88\x8d\x9f\x80\x97\xb1\xe1\x7b\x4f\x10\xde\x7b\xf1\x3f\x0b\x57\xd0\xc6\x7a\x5f\x5f\x4d\xe7\x7d\x25\xcb\x4b\xec\x87\x29\xae\x4f\x0c\x03\xad\xa5\x1d\xaa\xcd\x77\x63\x6d\x0e\xe9\xda\x19\xd7\xea\xfe\x33\x4f\x8c\xaa\x77\xdf\x1e\xa7\xf9\x7f\x11\x53\x2e\xf5\x0b\xd7\x9e\x84\xac\xbb\x8e\x21\xbb\xcc\x33\x3b\x99\x60\x86\x3d\x43\x4a\xa5\xa3\xbe\x61\x14\x4c\x34\xf3\x78\xfe\x17\xee\xe8\x4c\xf2\x9f\x58\x51\x74\x7d\x99\x97\x17\xfa\x32\xaf\x7d\x33\xa6\xeb\xb2\xc4\xb6\x4c\xe9\xfb\x5a\x42\x11\xc9\xc6\xdf\x1a\x51\xfa\x6f\x13\x20\x34\xd1\x98\x79\xb8\xb2\xfd\x14\xae\x84\x7d\x9f\x50\x94\x6d\xd3\x12\xd6\x1b\xcc\xb5\xc1\x75\x9f\x05\xf8\x3a\x26\x2c\xda\x75\xb9\x87\xb9\xba\x27\x3c\xdc\xe0\x6e\x70\x2b\x95\x22\xd6\x32\xfa\xb9\x43\xf7\x43\x88\x89\xd9\x57\xd8\xf6\xc5\x0b\xf0\x5a\xce\x8e\xde\xcd\xe1\x9b\xf3\x76\xff\xa9\x75\xa7\x68\xcc\x7e\x3f\x2c\xb6\x33\x3a\x1b\xd7\x06\x77\xfc\x2b\x84\x38\x5c\xf8\xee\xc7\xb8\x3f\x16\xdf\x9f\xa6\xb1\x57\xb6\x38\x44\x96\x59\x90\xae\x5b\x30\x70\xe5\xc1\xd9\xcb\x89\x5e\xfb\x53\x1a\x1c\x53\xc5\xf3\x98\xf1\x53\xc1\x66\x2d\x1a\xd7\xdd\xcd\xa7\x5a\xa5\x06\x5d\xe8\x12\x04\x4b\x75\xd7\xad\x1e\x0c\xa5\x6d\x5b\x8c\x63\x79\xa1\x4e\xee\x55\x81\x6d\xe9\x18\x7b\xf0\x41\xda\x15\xb1\x47\xdb\x5a\x4a\xfb\xa3\xb2\x8e\x7d\x60\x58\xdd\xcf\x57\x30\xed\x08\xdf\x09\x45\x6c\xa3\x2b\xb1\x40\xaa\x54\x57\xb5\x70\xbd\xdf\x1f\xd1\xfe\xae\xeb\x7c\x4e\x5e\xfa\xb2\x6a\x7d\xf7\xf4\xb7\x86\x67\x3a\xa0\x71\xc6\xd5\x1d\x50\x38\x1d\xe6\x8f\x0c\x9c\x3f\xc6\x77\x47\x5a\xcf\x9f\x14\x4b\xb6\xa9\x2e\x06\x51\xe7\x33\x67\xb1\x6c\x14\x3c\xff\x57\xf5\xf4\x67\x39\xbb\x47\x83\x5e\x9b\x88\x2d\xaa\x0c\xcd\x17\x05\x41\x38\x11\x32\xd3\x97\xf8\xd7\x5c\x16\xe8\x55\xd7\x71\xf0\xdd\x85\xd9\xfc\xd5\xe7\xbb\x53\x18\x38\x1b\xdf\x55\xe1\x0f\x55\xed\x0e\x01\xa4\xc3\x75\x94\x3a\x84\xdf\xdf\xe9\x30\x66\x40\x56\x18\xd5\x0a\x41\xd8\xfe\x6f\x34\xfa\x1a\xa2\xd2\xfa\xda\x78\xc9\xd9\xef\xb9\x6b\x3a\x71\x69\xf4\x7c\xf9\x7c\x05\x37\x54\xcb\x2b\xdc\x97\xe1\x4a\x2e\xc6\xa1\x77\x07\xa6\xb1\x7d\xe5\xaf\x08\xcf\xf0\xfb\x85\xd9\x75\x6d\xa3\x29\xaf\x38\xfe\x91\xc2\x91\xbf\xff\xee\xeb\xa2\x87\xff\x04\x00\x00\xff\xff\x0b\xe4\x7f\x09\x0c\x2c\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0x41, 0xc8, 0x28, 0x21, 0x90, 0x1a, 0x45, 0x10, 0xfd, 0xee, 0x9c, 0xca, 0xb1, 0x9f, 0xd, 0x50, 0x5, 0x26, 0xdc, 0x8a, 0xe2, 0x6e, 0x6a, 0x93, 0x4c, 0xe0, 0x22, 0x5e, 0xe4, 0x83, 0x77}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc8, 0xd8, 0xf0, 0x39, 0x71, 0xad, 0xe0, 0x83, 0x1, 0x49, 0xe4, 0x25, 0xd9, 0x53, 0x5b, 0xb5, 0x34, 0x39, 0x3c, 0x76, 0xc4, 0x6e, 0x86, 0xa3, 0xdf, 0xf9, 0x31, 0x2, 0xc1, 0x7a, 0xd9, 0x2d}}
 	return a, nil
 }
 

From b6555ebfc37112dcbdf72a11a8f36b90159ed67e Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 18 Jul 2023 16:20:38 -0500
Subject: [PATCH 007/115] add view to structs

---
 contracts/FungibleTokenMetadataViews.cdc   | 12 ++++++------
 lib/go/contracts/internal/assets/assets.go |  6 +++---
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/contracts/FungibleTokenMetadataViews.cdc b/contracts/FungibleTokenMetadataViews.cdc
index e8509f06..846df850 100644
--- a/contracts/FungibleTokenMetadataViews.cdc
+++ b/contracts/FungibleTokenMetadataViews.cdc
@@ -20,7 +20,7 @@ access(all) contract FungibleTokenMetadataViews {
     access(all) struct FTView {
         access(all) let ftDisplay: FTDisplay?     
         access(all) let ftVaultData: FTVaultData?
-        init(
+        view init(
             ftDisplay: FTDisplay?,
             ftVaultData: FTVaultData?
         ) {
@@ -76,7 +76,7 @@ access(all) contract FungibleTokenMetadataViews {
         /// Possible keys may be "instagram", "twitter", "discord", etc.
         access(all) let socials: {String: MetadataViews.ExternalURL}
 
-        init(
+        view init(
             name: String,
             symbol: String,
             description: String,
@@ -139,9 +139,9 @@ access(all) contract FungibleTokenMetadataViews {
 
         /// Function that allows creation of an empty FT vault that is intended
         /// to store the funds.
-        access(all) let createEmptyVault: fun(): @{FungibleToken.Vault}
+        access(all) let createEmptyVault: fun(): @AnyResource{FungibleToken.Vault}
 
-        init(
+        view init(
             storagePath: StoragePath,
             receiverPath: PublicPath,
             metadataPath: PublicPath,
@@ -149,7 +149,7 @@ access(all) contract FungibleTokenMetadataViews {
             receiverLinkedType: Type,
             metadataLinkedType: Type,
             providerLinkedType: Type,
-            createEmptyVaultFunction: fun(): @{FungibleToken.Vault}
+            createEmptyVaultFunction: fun(): @AnyResource{FungibleToken.Vault}
         ) {
             pre {
                 receiverLinkedType.isSubtype(of: Type<&{FungibleToken.Receiver}>()): "Receiver public type must include FungibleToken.Receiver."
@@ -185,7 +185,7 @@ access(all) contract FungibleTokenMetadataViews {
     access(all) struct TotalSupply {
         access(all) let supply: UFix64
 
-        init(totalSupply: UFix64) {
+        view init(totalSupply: UFix64) {
             self.supply = totalSupply
         }
     }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 0ce3821c..c2e697c0 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -4,7 +4,7 @@
 // ../../../contracts/ExampleToken.cdc (12.034kB)
 // ../../../contracts/FungibleToken-v2.cdc (11.276kB)
 // ../../../contracts/FungibleToken.cdc (10.021kB)
-// ../../../contracts/FungibleTokenMetadataViews.cdc (7.48kB)
+// ../../../contracts/FungibleTokenMetadataViews.cdc (7.522kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (17.818kB)
 // ../../../contracts/MultipleVaults.cdc (789B)
 // ../../../contracts/utility/MetadataViews.cdc (26.308kB)
@@ -161,7 +161,7 @@ func fungibletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\x5f\x6f\x1b\xb9\x11\x7f\xd7\xa7\x98\xea\xe1\xce\x06\x1c\x29\x09\x8a\xf6\x20\x9c\x9a\xcb\xe1\x6c\xb4\x80\x83\x18\x8e\x73\x7d\xac\xa9\xdd\x59\x8b\x30\x97\xdc\x92\x5c\x29\x82\xe1\xef\x5e\x0c\xc9\xdd\x25\xf7\x8f\x2c\xdf\xf5\x80\xd3\x83\x23\x91\xc3\x99\xdf\xfc\xe5\x0c\xc3\xcb\x4a\x69\x0b\x57\xb5\x7c\xe0\x1b\x81\x77\xea\x11\x25\x14\x5a\x95\x30\x4f\xd6\xe6\xb3\x40\xf9\x09\x2d\xcb\x99\x65\xbf\x72\xdc\x9b\x40\x99\xac\xb5\x94\xf4\xeb\x16\x8d\x12\x3b\xd4\x81\x30\x5e\x9a\xcf\x66\xcb\xe5\x12\xee\xb6\xdc\x40\xa6\xa4\xd5\x2c\xb3\xc0\xcb\x4a\x60\x89\xd2\x1a\xb0\x5b\x84\x32\x30\x06\x63\x99\xcc\x99\xce\xa1\xd2\xaa\x52\x06\x73\x77\x96\x4b\xb8\xba\xfe\xd7\xcd\x9b\x77\x6f\x7f\xf8\xfb\xc2\xad\xb8\x3f\xb7\x58\xac\x60\x6b\x6d\x65\x56\xcb\xe5\x03\xb7\xdb\x7a\xb3\xc8\x54\xb9\x54\xb2\x10\x6a\xbf\x2c\x04\xaf\xcc\x72\x23\xd4\x66\x59\x32\x2e\x97\xac\xaa\x04\xcf\x98\xe5\x4a\x2e\xdf\xbf\x7d\xff\xfe\xed\x0f\xef\xde\xbd\x29\x82\xf2\x6f\x2c\x69\x6f\xde\x34\x48\x16\x65\xde\x09\xfa\x62\x75\x9d\x59\x03\x4c\xe6\xa0\xd1\xa8\x5a\x67\x68\x20\x63\xb2\xd3\x03\x94\x44\x50\x1a\x4a\xa5\xd1\x9d\x69\x55\xb2\x87\x0a\xcd\x05\x64\x4c\x08\xcc\x61\x47\xa6\x5b\xc0\x25\xcb\xb6\xee\xbb\xdb\x06\x8d\x95\x46\x43\xe6\x70\x67\x19\xe4\xbc\x28\x50\x13\xdf\x47\x2e\x73\x50\x45\xcb\xcf\xe9\x3f\x63\x59\x86\xc6\x9c\x31\x21\xce\x3b\xa3\x26\x8e\x4c\xfd\xf7\x34\x9b\x01\x00\x10\xf3\xab\x3b\x5a\x82\xbd\x66\x95\x81\xab\xbb\x5f\xb8\xa9\x04\x3b\x38\xdd\xae\xee\x7e\x65\xb5\xb0\xbf\x30\xcb\x2e\xdc\x02\x37\x50\x1b\xcc\xc1\x2a\x78\xe0\x3b\x04\x06\x99\x22\x8d\x2d\x42\xcb\xaf\xe2\x99\xad\x35\x12\x46\xd6\x42\x00\x87\x61\x01\x9f\x94\xb1\xbd\xc5\x16\xaf\x01\xb3\x55\xb5\xc8\x3b\x56\x9d\x35\x2d\x45\x0b\xd9\x67\xd1\x6c\xba\x7f\x63\xb5\x8d\x73\x4a\xa3\xce\x93\xdb\xef\xd3\x08\xb4\x50\xd8\xa0\xe2\xaa\xd3\xf6\x83\xa3\x3c\x72\xa4\xb5\xc3\x2a\x36\xca\x87\xf6\x04\x97\xdc\x9e\xb5\xbf\xe8\x33\x2a\xe6\xa2\x47\xf2\x12\xdb\xf3\x48\x0f\xfa\x18\x14\xc5\xa2\xe5\x0c\xeb\x4e\xca\x18\x59\xcb\xd0\x11\xb6\xbf\x5a\xd2\xe7\x99\xff\xdb\xda\xfb\x9f\x28\x2a\xd4\xce\xbb\x68\xc9\x7b\x77\x23\x36\x27\xc2\x9f\x2a\xa6\x59\xe9\x36\x9b\xb4\x5e\xc1\x47\xd0\xe8\x82\x34\x43\x62\x41\x79\xac\x9b\x32\xd0\x64\x49\xc7\x41\xa3\xad\xb5\x84\x8f\x8d\xc3\xbc\xfb\x26\xbd\xeb\x72\xa3\xa8\x25\x21\xf3\x27\xce\x52\xe9\xdf\x3d\xc5\x45\x66\xd1\x7c\x79\x3e\x5f\x0d\x43\x82\x7c\x5a\xb2\xc3\x06\xc3\xce\x3a\xd1\x64\x11\x50\x3b\x21\x77\x87\x0a\x7f\xf4\x64\xff\x38\x3b\x3f\xef\x1c\x5e\x34\x91\xe1\x19\xc4\xec\x52\x9f\x05\x45\x03\x25\x33\x7f\x09\x78\x7a\x6e\x88\x48\x83\x7e\x53\xe1\xe4\xbc\xeb\xcc\x10\x96\x12\x4b\x9c\x1f\x89\xb1\xee\x64\xbb\x98\x9e\xed\x02\xaf\x1f\x1a\x0e\xbc\x55\x80\xdf\xa8\x0c\x3b\xe7\x72\x59\x28\x5d\xba\xfa\x09\x12\x31\xf7\x75\xc1\x6c\xd5\x3e\x63\x8e\x84\x53\x3d\x59\x74\xe9\xec\x4b\x3e\x93\xb0\x41\x5f\x46\x36\x07\x88\x8a\xb0\xe9\xca\x8a\x04\xb5\x43\xed\x7c\x4e\x65\xa7\xe5\xf0\xa0\x59\xb5\xe5\x99\xa1\xe2\x42\x10\xae\xee\x4e\xa8\x07\x4d\xb6\x74\x6e\xf1\x60\x10\xf2\xb0\x23\x59\x89\x50\x28\xed\x31\xbb\xca\xbf\x88\x89\x93\x83\x97\xdf\x18\x95\xa5\x15\xcc\xaf\x84\xda\xcf\x47\xe9\xfa\x05\x84\x04\xac\xe8\xda\xe0\xf2\x61\x36\x80\xc1\x36\x1b\x8d\x3b\xce\x2c\xe6\x60\x0e\xe5\x46\x89\xdf\x02\xe6\xfa\xf3\xbf\xe7\x93\x00\x3c\xdb\x71\x08\x1f\x21\x47\x93\x69\x5e\x39\x4f\x92\x59\x2b\xad\x76\x3c\x47\x93\x38\xc2\x99\xfc\x35\x88\x48\x35\x42\xe5\x4f\xd0\xdd\x41\xbc\x25\xb3\xe4\xe2\xac\xd6\x54\x29\x0e\xad\x27\x85\xda\x83\x44\xbb\x57\xfa\x71\x31\xad\x47\x84\x74\x5c\x99\xcb\x6f\x16\xb5\x64\x02\x04\x97\x8f\x14\x50\x0c\xbe\xde\x5e\xd3\x17\xa7\x04\x5d\xc7\x49\xe0\xb2\x8d\xaa\xad\x43\xd0\xdc\xfc\x7d\x05\xfb\x10\x30\x48\xf8\x7a\x7b\xbd\x4a\xbb\xa2\xc5\x65\xb7\x95\xa2\xfa\xdc\x35\x03\xb0\x43\x6d\x5c\xb4\x07\xcd\x53\xb9\x20\xd4\x83\x9a\x16\x4e\xbb\xa6\x2f\xf6\x13\xe6\x9c\x99\x54\xe2\x17\x95\xf1\x60\x05\x97\x57\x1a\xa9\xc3\x18\xca\xfb\xde\x80\xf1\xa4\x5b\x55\x62\xc5\x1e\xd0\x24\xbe\x85\x1b\x65\x8c\x23\x7f\xc4\x83\xa1\x32\x47\xd9\x3b\xe7\xd2\x58\xf6\xa0\x59\x39\xbf\x80\xb9\xdd\x73\x6b\x51\xd3\xd7\x9c\x9b\x4c\xe9\x7c\x7e\x01\x68\xb3\x69\x35\xbc\x48\xb3\x82\x27\xef\xc3\x23\x86\x7c\x9e\x1d\xb9\x64\xe3\xbc\x4a\xeb\x5e\x1a\xf0\xe9\xde\x48\x10\xa5\x04\xa7\xb9\x38\x3d\x73\xc4\x33\x3d\x64\xaf\xd1\xbd\x39\x34\xda\x08\xb8\xb2\xb5\x76\x46\x18\x6e\x86\x42\xb2\x0e\x96\x18\x12\xc4\x49\xbf\x8e\x6d\x32\x24\x8d\xec\x01\xeb\xd8\x3a\x43\x52\x67\x06\x58\x7b\x73\x8c\xa0\xf2\xca\x13\x2c\xff\xed\xd4\x66\xa4\x2b\xe3\x5c\x02\x83\x3d\x3b\x80\xdd\x32\x0b\x7b\x2e\x44\x73\x6f\xfa\xde\x3a\x07\xe5\xd4\x60\xa2\xbd\x1b\xe0\x8f\x68\x5c\x64\x2b\x27\x02\xf7\xaa\x2e\xa6\xb9\xbe\xff\x03\xaf\x68\x65\xda\x8e\xf5\xa9\xdf\x8b\xb8\x16\x24\x6c\x9f\xd8\xd6\x04\x6a\xea\x6c\x7a\x01\x16\x78\xe6\x09\xbb\x81\x04\x66\x3e\x8c\x5e\xb0\xcd\x27\xd8\x2a\xe2\x92\x90\x3c\x4f\xf7\x40\x92\x8b\xdf\xd6\x82\x18\x4b\x45\xd6\x0d\x2b\xd2\xa2\x9b\x83\xf6\xdc\x6e\x43\x37\x4b\x6d\xcf\xe2\x55\x0d\x89\x41\x5b\x57\xd1\x69\xcf\x8d\xc6\x51\xd4\x5d\x5c\x91\x54\xf6\xe0\xe5\x56\xf5\x46\xf0\x0c\x32\x56\xb1\x0d\x17\xdc\xf2\xa6\xa4\x1e\x9f\x5a\xda\x66\x3d\xed\x53\x6e\x98\xdd\x52\xcc\x37\x12\xf6\x5b\xd4\x6d\x73\x15\x20\x71\x03\x1a\x33\x55\x96\x28\x43\x17\xb6\x41\x6f\x88\xfc\x48\x0d\xf6\x0c\x89\x3f\x55\xc1\xf6\x47\x7a\x8f\xdc\x78\x65\x2a\x42\xb1\xdf\xf2\x6c\x0b\x65\x6d\x2c\xf1\xa7\xab\xc5\x0b\x8b\x1c\x12\x74\xd7\x98\x21\xa7\xf4\x69\x8d\x70\x98\x06\xd2\x10\x7b\x24\x5e\xe0\xef\x06\xb2\x61\x82\x51\x3e\x37\x23\xba\x4b\xe6\x49\xcf\x8c\xc1\x6a\x06\xec\x17\x60\x69\xbe\x63\x16\x63\x5c\x61\x8a\x9d\x34\x91\x6f\xae\x62\xdb\x10\x05\x85\x55\xae\x99\x2b\x0f\xb9\x81\x44\x88\x7b\x44\xa1\xb3\x51\xfc\x8e\x41\x6e\x58\x07\xc8\x1e\xda\x10\x33\x25\xbf\xaf\x9e\x03\xa8\xcc\xf7\x42\xf7\xb1\x4f\xee\x17\x3e\x51\xb8\x01\x46\xb6\xb4\x9a\x67\xd4\xaa\x86\x97\x8a\xff\xd6\x9c\xae\xb1\x14\xb1\x63\x92\xbc\x3f\x2c\x6e\x03\xcb\x7b\x9f\x98\x05\xcb\xf0\xe5\x98\xb8\x76\xb0\x08\xf0\xca\xc1\xfe\x33\x28\xf2\xb3\x0f\xad\x7b\x17\x5b\xf7\xa3\xa5\x3a\xd2\xf1\x84\x08\xfb\xbd\x4a\xb2\x42\x69\xf7\x4c\xc2\x95\xc4\x1c\xaa\x28\x24\x83\xc6\x09\x43\x6e\x40\x52\xd5\x14\xe2\x30\x62\x07\x5f\x2c\x69\xfa\x2f\xb9\xe4\x65\x5d\x8e\x99\xe0\x26\x04\xda\x49\xbe\x6c\xa2\xf2\xb8\x9a\x57\xb5\xcc\xc2\x00\x42\xd2\x85\x50\x7b\x03\x99\x46\x5f\xdc\x55\x41\xb3\x08\x96\x95\x3d\x74\x65\xcf\x51\x92\x3f\xa5\x75\x85\x2f\x75\x9c\x0a\x57\x41\xe8\x79\xf3\x23\x8e\x70\x62\xf0\x92\xb8\xbb\x32\xbc\xa2\x03\x67\xe7\x2b\xf8\xe9\x29\xd5\xdb\xed\x1e\xed\x48\xa7\xaa\xea\x45\xef\x4d\x60\xbc\xe4\xa5\x54\x53\x15\x28\xa5\x9a\x4c\xfa\x71\x91\x7d\x2f\x8c\x8b\x3c\x4e\x35\xe5\xd1\x94\xaa\x6f\xd5\xc6\xc3\x2f\x59\xb7\x39\xdf\x6f\x49\x2a\x8d\xa3\x2d\x46\x5f\xaf\x05\x37\x5f\xea\x0d\x05\xf3\x99\x2a\x3c\xb0\x1f\xbf\x7b\x1a\x2f\x46\xcf\xd4\xfa\xac\x60\xde\xfc\x6e\xae\x08\x97\x0a\xee\x82\xe1\x32\x13\x75\x8e\x30\x7e\x3e\x1a\x55\xa7\x4d\x78\x0a\xa0\x50\x54\x2e\x60\xbc\xf5\x0b\x30\x9b\x49\xe1\x54\x98\x3f\x47\xb7\xe0\x28\xe3\xb8\x4e\x0d\x55\x19\xfa\xf9\x14\x55\x9a\xe2\xd0\x80\x6e\x7e\xbf\x88\xb6\x25\xec\x8a\xca\x7c\xa2\x5f\x84\x76\xa0\xe8\x52\x8c\x86\x8a\xa8\x8d\x19\x90\xc6\x49\x07\xeb\x24\x07\x87\xc4\x71\xee\x51\xe7\x1b\xfd\x1c\x12\xc7\x29\x08\xeb\x24\x23\xa7\x61\x74\x46\x8d\xc0\x74\x8b\xd3\x90\x92\x83\xc3\xc5\x69\x78\xc9\xc1\xe1\xe2\xf0\x60\x3f\x83\x61\x3d\x99\xd4\xa7\xcf\x71\x5d\xa3\xfb\xf2\x24\xf7\xb9\x3f\xc9\xfd\x21\x2f\xd0\xd1\x1c\xd7\x81\x7b\xdd\x7b\x74\xfb\x9c\xfa\xaa\x59\xae\x7b\xf1\x1f\x4e\x73\xbb\x13\x1f\xa6\x1b\x16\xd3\x33\xdc\x2e\xb0\x09\xd3\xda\xd8\xa0\xd1\x7c\x82\x49\x76\xff\xdf\x29\xcd\x2a\xcb\x04\x98\xba\xaa\x44\xfb\xde\xe7\x50\x7c\x1f\x5e\x13\xa7\xa6\xa2\x3b\x3a\xf8\xc5\x9f\x9b\xfe\x0f\x1d\xcf\x78\x05\x5f\xaf\xf8\xb7\xbf\xfd\xb5\x77\x39\xdb\x8e\x45\x43\x31\xfa\x96\x12\xd0\xad\x21\x3a\x30\x88\xe9\xe7\x19\xfc\x2f\x00\x00\xff\xff\x84\x62\xaf\xd0\x38\x1d\x00\x00"
+var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\x5f\x6f\x1b\xb9\x11\x7f\xd7\xa7\x98\xea\xe1\xce\x06\x1c\x29\x09\x8a\xf6\x20\x9c\x9a\xcb\xe1\x6c\xb4\x80\x83\x18\x8e\x73\x7d\xac\xa9\xdd\x59\x8b\x30\x97\xdc\x92\x5c\x29\x82\xe1\xef\x5e\x0c\xc9\xdd\x25\xf7\x8f\x2c\xdf\xf5\x80\xd3\x43\x22\x91\xc3\x99\xdf\xfc\xe5\x0c\xcd\xcb\x4a\x69\x0b\x57\xb5\x7c\xe0\x1b\x81\x77\xea\x11\x25\x14\x5a\x95\x30\x4f\xd6\xe6\xb3\x40\xf9\x09\x2d\xcb\x99\x65\xbf\x72\xdc\x9b\x40\x99\xac\xb5\x94\xf4\xeb\x16\x8d\x12\x3b\xd4\x81\x30\x5e\x9a\xcf\x66\xcb\xe5\x12\xee\xb6\xdc\x40\xa6\xa4\xd5\x2c\xb3\xc0\xcb\x4a\x60\x89\xd2\x1a\xb0\x5b\x84\x32\x30\x06\x63\x99\xcc\x99\xce\xa1\xd2\xaa\x52\x06\x73\x77\x96\x4b\xb8\xba\xfe\xd7\xcd\x9b\x77\x6f\x7f\xf8\xfb\xc2\xad\xb8\x7f\x6e\xb1\x58\xc1\xd6\xda\xca\xac\x96\xcb\x07\x6e\xb7\xf5\x66\x91\xa9\x72\xa9\x64\x21\xd4\x7e\x59\x08\x5e\x99\xe5\x46\xa8\xcd\xb2\x64\x5c\x2e\x59\x55\x09\x9e\x31\xcb\x95\x5c\xbe\x7f\xfb\xfe\xfd\xdb\x1f\xde\xbd\x7b\x53\x04\xe5\xdf\x58\xd2\xde\xbc\x69\x90\x2c\xca\xbc\x13\xf4\xc5\xea\x3a\xb3\x06\x98\xcc\x41\xa3\x51\xb5\xce\xd0\x40\xc6\x64\xa7\x07\x28\x89\xa0\x34\x94\x4a\xa3\x3b\xd3\xaa\x64\x0f\x15\x9a\x0b\xc8\x98\x10\x98\xc3\x8e\x4c\xb7\x80\x4b\x96\x6d\xdd\x77\xb7\x0d\x1a\x2b\x8d\x86\xcc\xe1\xce\x32\xc8\x79\x51\xa0\x26\xbe\x8f\x5c\xe6\xa0\x8a\x96\x9f\xd3\x7f\xc6\xb2\x0c\x8d\x39\x63\x42\x9c\x77\x46\x4d\x1c\x99\xfa\xef\x69\x36\x03\x00\x20\xe6\x57\x77\xb4\x04\x7b\xcd\x2a\x03\x57\x77\xbf\x70\x53\x09\x76\x70\xba\x5d\xdd\xfd\xca\x6a\x61\x7f\x61\x96\x5d\xb8\x05\x6e\xa0\x36\x98\x83\x55\xf0\xc0\x77\x08\x0c\x32\x45\x1a\x5b\x84\x96\x5f\xc5\x33\x5b\x6b\x24\x8c\xac\x85\x00\x0e\xc3\x02\x3e\x29\x63\x7b\x8b\x2d\x5e\x03\x66\xab\x6a\x91\x77\xac\x3a\x6b\x5a\x8a\x16\xb2\xcf\xa2\xd9\x74\xff\xc7\x6a\x1b\xe7\x94\x46\x9d\x27\xb7\xdf\xa7\x11\x68\xa1\xb0\x41\xc5\x55\xa7\xed\x07\x47\x79\xe4\x48\x6b\x87\x55\x6c\x94\x0f\xed\x09\xe7\x3a\x2e\xb9\x3d\x6b\x97\xe8\x33\x2a\xeb\xa2\x47\xf2\x12\xef\xf3\x48\x19\xfa\x18\x14\xc5\xa2\xe5\x0c\xeb\x4e\xca\x18\x59\xcb\xd0\x11\xb6\xbf\x5a\xd2\xe7\x99\xff\xb7\x35\xfa\x3f\x51\x54\xa8\x9d\x8b\xd1\x92\x0b\xef\x46\x0c\x4f\x84\x3f\x55\x4c\xb3\xd2\x6d\x36\xb9\xbd\x82\x8f\xa0\xd1\x45\x6a\x86\xc4\x82\x92\x59\x37\xb5\xa0\x49\x95\x8e\x83\x46\x5b\x6b\x09\x1f\x1b\xaf\x79\x1f\x4e\xba\xd8\x59\xb9\xa8\x25\x21\xf3\x27\xce\x52\xe9\xdf\x3d\xc5\x95\x66\xd1\x7c\x79\x3e\x5f\x0d\xe3\x82\x1c\x5b\xb2\xc3\x06\xc3\xce\x3a\xd1\x64\x11\x50\x3b\x21\x77\x87\x0a\x7f\xf4\x64\xff\x38\x3b\x3f\x6f\x59\xf0\xa2\x09\x0f\xcf\x20\x66\x97\xfa\x2c\x28\x1a\x28\x99\xf9\x4b\xc0\xd3\x73\x43\x44\x1a\xf4\x9b\x0a\x27\xe7\x5d\x67\x86\xb0\x94\x58\xe2\xfc\x48\x8c\x75\x27\xdb\xc5\xf4\x6c\x17\x78\xfd\xd0\x70\xe0\xad\x02\xfc\x46\xb5\xd8\x39\x97\xcb\x42\xe9\xd2\x15\x51\x90\x88\xb9\x2f\x0e\x66\xab\xf6\x19\x73\x24\x9c\x8a\xca\xa2\xcb\x69\x5f\xf7\x99\x84\x0d\xfa\x5a\xb2\x39\x40\x54\x89\x4d\x57\x5b\x24\xa8\x1d\x6a\xe7\x73\xaa\x3d\x2d\x87\x07\xcd\xaa\x2d\xcf\x0c\x55\x18\x82\x70\x75\x77\x42\x51\x68\xb2\xa5\x73\x8b\x07\x83\x90\x87\x1d\xc9\x4a\x84\x42\x69\x8f\xd9\x95\xff\x45\x4c\x9c\x1c\xbc\xfc\xc6\xa8\x36\xad\x60\x7e\x25\xd4\x7e\x3e\x4a\xd7\xaf\x22\x24\x60\x45\x77\x07\x97\x0f\xb3\x01\x0c\xb6\xd9\x68\xdc\x71\x66\x31\x07\x73\x28\x37\x4a\xfc\x16\x30\xd7\x9f\xff\x3d\x9f\x04\xe0\xd9\x8e\x43\xf8\x08\x39\x9a\x4c\xf3\xca\x79\x92\xcc\x5a\x69\xb5\xe3\x39\x9a\xc4\x11\xce\xe4\xaf\x41\x44\xaa\x11\x2a\x7f\x82\x2e\x10\xe2\x2d\x99\x25\x17\x67\xb5\xa6\x4a\x71\x68\x3d\x29\xd4\x1e\x24\xda\xbd\xd2\x8f\x8b\x69\x3d\x22\xa4\xe3\xca\x5c\x7e\xb3\xa8\x25\x13\x20\xb8\x7c\xa4\x80\x62\xf0\xf5\xf6\x9a\xbe\x38\x25\xe8\x4e\x4e\x02\x97\x6d\x54\x6d\x1d\x82\xe6\xfa\xef\x2b\xd8\x87\x80\x41\xc2\xd7\xdb\xeb\x55\xda\x1a\x2d\x2e\xbb\xad\x14\xd5\xe7\xae\x23\x80\x1d\x6a\xe3\xa2\x3d\x68\x9e\xca\x05\xa1\x1e\xd4\xb4\x70\xda\x35\x7d\xb1\x9f\x30\xe7\xcc\xa4\x12\xbf\xa8\x8c\x07\x2b\xb8\xbc\xd2\x48\x6d\xc6\x50\xde\xf7\x06\x8c\x27\xdd\xaa\x12\x2b\xf6\x80\x26\xf1\x2d\xdc\x28\x63\x1c\xf9\x23\x1e\x0c\x95\x39\xca\xde\x39\x97\xc6\xb2\x07\xcd\xca\xf9\x05\xcc\xed\x9e\x5b\x8b\x9a\xbe\xe6\xdc\x64\x4a\xe7\xf3\x0b\x40\x9b\x4d\xab\xe1\x45\x9a\x15\x3c\x79\x1f\x1e\x31\xe4\xf3\xec\xa5\x9b\x36\x4e\xae\xb4\xf8\xa5\x51\x9f\xee\x8d\x44\x52\x4a\x70\x9a\x9f\xd3\x33\x47\xdc\xd3\x43\xf6\x1a\x03\x34\x87\x46\xbb\x01\x57\xbb\xd6\xce\x08\xc3\xcd\x50\x4d\xd6\xc1\x12\x43\x82\x38\xf3\xd7\xb1\x4d\x86\xa4\x91\x3d\x60\x1d\x5b\x67\x48\xea\xcc\x00\x6b\x6f\x8e\x11\x54\x5e\x79\x82\xe5\xbf\x9d\xda\x91\x74\xb5\x9c\x4b\x60\xb0\x67\x07\xb0\x5b\x66\x61\xcf\x85\x68\x2e\x4f\xdf\x65\xe7\xa0\x9c\x1a\x4c\xb4\x17\x04\xfc\x11\xdd\x8b\x6c\xe5\x44\xe0\x5e\xd5\xca\x34\x77\xf8\x7f\xe0\x15\xfd\x4c\xdb\xbb\x3e\xf5\x1b\x12\xd7\x87\x84\xed\x13\x7b\x9b\x40\x4d\xed\x4d\x2f\xc0\x02\xcf\x3c\x61\x37\x90\xc0\xcc\x87\xd1\x5b\xb6\xf9\x04\x5b\x45\x5c\x12\x92\xe7\xe9\x46\x48\x72\xf1\xdb\xfa\x10\x63\xa9\xd2\xba\xb1\x45\x5a\x74\x13\xd1\x9e\xdb\x6d\x68\x69\xa9\xf7\x59\xbc\xaa\x2b\x31\x68\xeb\x2a\x3a\xed\xb9\xd1\x60\x8a\xba\x8b\x2b\x92\xca\x1e\xbc\xdc\xaa\xde\x08\x9e\x41\xc6\x2a\xb6\xe1\x82\x5b\xde\xd4\xd5\xe3\xf3\x4b\xdb\xb1\xa7\xcd\xca\x0d\xb3\x5b\x8a\xf9\x46\xc2\x7e\x8b\xba\xed\xb0\x02\x24\x6e\x40\x63\xa6\xca\x12\x65\x68\xc5\x36\xe8\x0d\x91\x1f\x29\xc4\x9e\x21\xf1\xa7\x2a\xd8\xfe\x48\x2f\x93\x1b\xaf\x4c\x45\x28\xf6\x5b\x9e\x6d\xa1\xac\x8d\x25\xfe\x74\xbf\x78\x61\x91\x43\x82\xee\x1a\x33\xe4\x94\x3e\xad\x11\x0e\xd3\x40\x1a\x62\x8f\xc4\x0b\xfc\xdd\x40\x36\x4c\x30\xca\xe7\x66\x58\x77\xc9\x3c\xe9\x99\x31\x58\xcd\xa8\xfd\x02\x2c\xcd\x77\xcc\x62\x8c\x2b\xcc\xb3\x93\x26\xf2\x1d\x56\x6c\x1b\xa2\xa0\xb0\xca\x35\x73\xe5\x21\x37\x90\x08\x71\xcf\x29\x74\x36\x8a\xdf\x31\xc8\x0d\xeb\x00\xd9\x43\x1b\x62\xa6\xe4\xf7\xd5\x73\x00\x95\xf9\x86\xe8\x3e\xf6\xc9\xfd\xc2\x27\x0a\x37\xc0\xc8\x96\x56\xf3\x8c\xfa\xd5\xf0\x66\xf1\xdf\x9a\xd3\x35\x96\x22\x76\x4c\x92\x97\x88\xc5\x6d\x60\x79\xef\x13\xb3\x60\x19\xbe\x1c\x13\xd7\x0e\x16\x01\x5e\x39\xd8\x7f\x06\x45\x7e\xf6\xa1\x75\xef\x62\xeb\x7e\xb4\x54\x47\x3a\x9e\x10\x61\xbf\x57\x49\x56\x28\xed\x1e\x4c\xb8\x92\x98\x43\x15\x85\x64\xd0\x38\x61\xc8\x0d\x48\xaa\x9a\x42\x1c\x46\xec\xe0\x8b\xa5\x05\x06\x25\x97\xbc\xac\xcb\x31\x13\xdc\x84\x40\x3b\xc9\x97\x4d\x54\x1e\x57\xf3\xaa\x96\x59\x98\x42\x48\xba\x10\x6a\x6f\x20\xd3\xe8\x8b\xbb\x2a\x68\x20\xc1\xb2\xb2\x87\xae\xec\x39\x4a\xf2\xa7\xb4\xae\xf0\xa5\x8e\x53\xe1\x2a\x08\x8d\x6f\x7e\xc4\x11\x4e\x0c\x5e\x12\x77\x57\x86\x57\x74\xe0\xec\x7c\x05\x3f\x7d\x94\x87\xdb\xd0\x01\x3c\xa5\x26\x70\x84\x2f\x77\xa8\x53\x55\xf6\xa2\xf7\x50\x30\x5e\x02\x53\xaa\xa9\x8a\x94\x52\x4d\x16\x81\x71\x91\x7d\xaf\x8c\x8b\x3c\x4e\x35\xe5\xe1\x94\xaa\x6f\xe5\xc6\xe3\xaf\xb0\x76\xc3\xaa\xdf\xad\x54\x1a\x47\xbb\x8f\xbe\x8a\x0b\x6e\xbe\xd4\x1b\x8a\xf3\x33\x55\x78\x8c\x3f\x7e\xf7\x34\x5e\xa7\x9e\xa9\x2b\x5a\xc1\xbc\xf9\xdd\xdc\x1e\x2e\x4b\xdc\xdd\xc3\x65\x26\xea\x1c\x61\xfc\x7c\x34\xca\x4e\x5b\xf3\x14\x40\xa1\xde\x5c\xc0\x78\x57\x18\x60\x36\x43\xc4\xa9\x30\x7f\x8e\x2e\xc8\x51\xc6\x71\x09\x1b\xaa\x32\x74\xf9\x29\xaa\x34\x75\xa3\x01\xdd\xfc\x7e\x11\x6d\x4b\xd8\xd5\x9b\xf9\x44\x2b\x09\xed\xac\xd1\x65\x1b\xcd\x1b\x51\x87\x33\x20\x8d\xf3\x0f\xd6\x49\x3a\x0e\x89\xe3\x34\xa4\xa6\x38\xfa\x39\x24\x8e\xb3\x11\xd6\x49\x72\x4e\xc3\xe8\x8c\x1a\x81\xe9\x16\xa7\x21\x25\x07\x87\x8b\xd3\xf0\x92\x83\xc3\xc5\xe1\xc1\x7e\x32\xc3\x7a\x32\xbf\x4f\x1f\xf1\xba\x1e\xf8\xe5\x21\xef\x73\x7f\xc8\xfb\x43\x5e\xa8\xa3\x11\xaf\x03\xf7\xba\xf7\xea\xf6\xb9\xf5\x55\x63\x5e\xf7\x17\x81\xe1\xa0\xb7\x3b\xf1\xe1\xba\x61\x31\x3d\xde\xed\x02\x9b\x30\xc8\x8d\xcd\x20\xcd\x27\x98\x64\xf7\xff\x1d\xe0\xac\xb2\x4c\x80\xa9\xab\x4a\xb4\xef\x81\x0e\xc5\xf7\xe1\xb5\x71\x6a\x60\xba\xa3\x83\x5f\xfc\xb9\xe9\xbf\xfa\x78\xc6\x2b\xf8\x7a\xc5\xbf\xfd\xed\xaf\x63\x97\xb5\xed\xf8\x34\x64\xa3\x6f\x2d\x01\xe2\x1a\xa2\x03\x83\xc0\x7e\x9e\xc1\xff\x02\x00\x00\xff\xff\x7f\xc7\x1f\xa0\x62\x1d\x00\x00"
 
 func fungibletokenmetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -177,7 +177,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenMetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd9, 0xda, 0x6e, 0x92, 0xb0, 0x36, 0x93, 0x34, 0xe, 0xe9, 0x75, 0x26, 0xab, 0x11, 0x7a, 0xb6, 0x55, 0x19, 0x43, 0xb, 0xbb, 0xe5, 0x5e, 0xdb, 0x47, 0x69, 0xd7, 0xff, 0x19, 0x6f, 0xe7, 0x2c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0xa3, 0xdb, 0x55, 0x18, 0x4, 0xc4, 0xce, 0x1d, 0x8c, 0xc8, 0x3e, 0x4f, 0x6d, 0x26, 0xfb, 0x3c, 0x73, 0xf9, 0xa, 0xda, 0x36, 0xa3, 0x7e, 0xfa, 0x7e, 0x84, 0xd4, 0x6c, 0xe7, 0x33, 0xee}}
 	return a, nil
 }
 

From 8f0e1d192f7700df509ecd40ca1dce5e64cd9b6d Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 18 Jul 2023 16:46:00 -0500
Subject: [PATCH 008/115] use correct import placeholder

---
 lib/go/contracts/contracts.go | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index ee626642..66b8d396 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -16,8 +16,6 @@ var (
 	placeholderExampleToken    = regexp.MustCompile(`"ExampleToken"`)
 	placeholderMetadataViews   = regexp.MustCompile(`"MetadataViews"`)
 	placeholderFTMetadataViews = regexp.MustCompile(`"FungibleTokenMetadataViews"`)
-	placeholderFungibleTokenV2 = regexp.MustCompile(`"FungibleToken-v2"`)
-	placeholderExampleTokenV2  = regexp.MustCompile(`"ExampleToken-v2"`)
 	placeholderViewResolver    = regexp.MustCompile(`"ViewResolver"`)
 	placeholderMultipleVaults  = regexp.MustCompile(`"MultipleVaults"`)
 )
@@ -55,7 +53,7 @@ func FungibleTokenV2(resolverAddr string) []byte {
 func FungibleTokenMetadataViews(fungibleTokenAddr, metadataViewsAddr, viewResolverAddr string) []byte {
 	code := assets.MustAssetString(filenameFTMetadataViews)
 
-	code = placeholderFungibleTokenV2.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
 	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
 	code = placeholderViewResolver.ReplaceAllString(code, "0x"+viewResolverAddr)
 
@@ -75,7 +73,7 @@ func FungibleTokenSwitchboard(fungibleTokenAddr string) []byte {
 func MultipleVaults(fungibleTokenAddr string) []byte {
 	code := assets.MustAssetString(filenameMultipleVaults)
 
-	code = placeholderFungibleTokenV2.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
 
 	return []byte(code)
 }
@@ -99,7 +97,7 @@ func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr stri
 func ExampleTokenV2(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr, multipleVaultsAddr string) []byte {
 	code := assets.MustAssetString(filenameExampleTokenV2)
 
-	code = placeholderFungibleTokenV2.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
 	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
 	code = placeholderFTMetadataViews.ReplaceAllString(code, "0x"+ftMetadataViewsAddr)
 	code = placeholderViewResolver.ReplaceAllString(code, "0x"+viewResolverAddr)

From 102fac5475fafdf8cc64dbf2fe6a2d4a03f4e4c9 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 19 Jul 2023 10:17:52 -0500
Subject: [PATCH 009/115] remove view modifier from resolveView

---
 contracts/ExampleToken-v2.cdc              |  2 +-
 contracts/ExampleToken.cdc                 | 12 ++++-----
 contracts/FungibleToken-v2.cdc             |  4 +--
 contracts/FungibleToken.cdc                |  2 +-
 contracts/FungibleTokenMetadataViews.cdc   |  6 ++---
 lib/go/contracts/internal/assets/assets.go | 30 +++++++++++-----------
 6 files changed, 27 insertions(+), 29 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 8f8685b5..23a804bf 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -57,7 +57,7 @@ access(all) contract ExampleToken: ViewResolver, MultipleVaults {
                     Type<FungibleTokenMetadataViews.FTVaultData>()]
         }
 
-        access(all) view fun resolveView(_ view: Type): AnyStruct? {
+        access(all) fun resolveView(_ view: Type): AnyStruct? {
             switch view {
                 case Type<FungibleTokenMetadataViews.FTView>():
                     return FungibleTokenMetadataViews.FTView(
diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 57a6f41f..2e08584f 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -97,13 +97,11 @@ access(all) contract ExampleToken: FungibleToken {
         /// @return An array of Types defining the implemented views. This value will be used by
         ///         developers to know which parameter to pass to the resolveView() method.
         ///
-        pub fun getViews(): [Type] {
-            return [
-                Type<FungibleTokenMetadataViews.FTView>(),
-                Type<FungibleTokenMetadataViews.FTDisplay>(),
-                Type<FungibleTokenMetadataViews.FTVaultData>(),
-                Type<FungibleTokenMetadataViews.TotalSupply>()
-            ]
+        access(all) view fun getViews(): [Type]{
+            return [Type<FungibleTokenMetadataViews.FTView>(),
+                    Type<FungibleTokenMetadataViews.FTDisplay>(),
+                    Type<FungibleTokenMetadataViews.FTVaultData>(),
+                    Type<FungibleTokenMetadataViews.TotalSupply>()]
         }
 
         /// The way of getting a Metadata View out of the ExampleToken
diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index f5ae099c..bfcb9979 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -176,7 +176,7 @@ access(all) contract FungibleToken {
         /// ViewResolver Methods
         ///
         access(all) view fun getViews(): [Type]
-        access(all) view fun resolveView(_ view: Type): AnyStruct?
+        access(all) fun resolveView(_ view: Type): AnyStruct?
     }
 
     /// Vault
@@ -205,7 +205,7 @@ access(all) contract FungibleToken {
         }
 
         access(all) view fun getViews(): [Type]
-        access(all) view fun resolveView(_ view: Type): AnyStruct?
+        access(all) fun resolveView(_ view: Type): AnyStruct?
 
         /// withdraw subtracts `amount` from the Vault's balance
         /// and returns a new Vault with the subtracted balance
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 9e8fff28..dd85bc4d 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -169,7 +169,7 @@ access(all) contract interface FungibleToken {
         /// @param view: The Type of the desired view.
         /// @return A structure representing the requested view.
         ///
-        access(all) view fun resolveView(_ view: Type): AnyStruct? {
+        access(all) fun resolveView(_ view: Type): AnyStruct? {
             return nil
         }
     }
diff --git a/contracts/FungibleTokenMetadataViews.cdc b/contracts/FungibleTokenMetadataViews.cdc
index 846df850..d0a0c92d 100644
--- a/contracts/FungibleTokenMetadataViews.cdc
+++ b/contracts/FungibleTokenMetadataViews.cdc
@@ -34,7 +34,7 @@ access(all) contract FungibleTokenMetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A FTView struct
     ///
-    access(all) view fun getFTView(viewResolver: &{ViewResolver.Resolver}): FTView {
+    access(all) fun getFTView(viewResolver: &{ViewResolver.Resolver}): FTView {
         let maybeFTView = viewResolver.resolveView(Type<FTView>())
         if let ftView = maybeFTView {
             return ftView as! FTView
@@ -98,7 +98,7 @@ access(all) contract FungibleTokenMetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return An optional FTDisplay struct
     ///
-    access(all) view fun getFTDisplay(_ viewResolver: &{ViewResolver.Resolver}): FTDisplay? {
+    access(all) fun getFTDisplay(_ viewResolver: &{ViewResolver.Resolver}): FTDisplay? {
         if let maybeDisplayView = viewResolver.resolveView(Type<FTDisplay>()) {
             if let displayView = maybeDisplayView as? FTDisplay {
                 return displayView
@@ -172,7 +172,7 @@ access(all) contract FungibleTokenMetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional FTVaultData struct
     ///
-    access(all) view fun getFTVaultData(_ viewResolver: &{ViewResolver.Resolver}): FTVaultData? {
+    access(all) fun getFTVaultData(_ viewResolver: &{ViewResolver.Resolver}): FTVaultData? {
         if let view = viewResolver.resolveView(Type<FTVaultData>()) {
             if let v = view as? FTVaultData {
                 return v
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index c2e697c0..dcb1ad9e 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,10 +1,10 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (10.655kB)
-// ../../../contracts/ExampleToken.cdc (12.034kB)
-// ../../../contracts/FungibleToken-v2.cdc (11.276kB)
-// ../../../contracts/FungibleToken.cdc (10.021kB)
-// ../../../contracts/FungibleTokenMetadataViews.cdc (7.522kB)
+// ../../../contracts/ExampleToken-v2.cdc (10.65kB)
+// ../../../contracts/ExampleToken.cdc (12.028kB)
+// ../../../contracts/FungibleToken-v2.cdc (11.266kB)
+// ../../../contracts/FungibleToken.cdc (10.016kB)
+// ../../../contracts/FungibleTokenMetadataViews.cdc (7.507kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (17.818kB)
 // ../../../contracts/MultipleVaults.cdc (789B)
 // ../../../contracts/utility/MetadataViews.cdc (26.308kB)
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xfa\x80\x3d\x1b\x4d\x9c\xb4\xdb\xf6\x76\x8d\xb8\x69\xb6\x6d\xee\x0e\xd8\x02\x45\x9b\xed\x3e\x14\x45\x43\x4b\x63\x9b\x17\x89\x14\x48\xca\x8e\x37\xc8\x77\x3f\xf0\x9f\x44\xca\x94\xe3\xa6\xdd\xbc\xc4\x96\x38\xc3\xf9\xf3\x9b\xe1\xcc\xd0\xb4\xac\xb8\x50\x70\x51\xb3\x05\x9d\x15\x78\xc9\xaf\x91\xc1\x5c\xf0\x12\x06\xd1\xb3\xa3\xd5\xd3\xc1\x81\x5b\xfc\x0e\x15\xc9\x89\x22\x9f\x28\xae\xa5\x5b\x1c\x3d\x6b\x56\x46\x2c\x52\x64\xfd\x0b\xda\xdd\xea\x42\xd1\xaa\xc0\x4f\xa4\x2e\x54\xb3\x5d\xf4\x70\x9c\xe5\x59\xb3\x5e\x53\x7f\x40\xc9\x8b\x15\x0a\xb7\x3a\x7c\x64\xd7\x1e\x90\x2c\x43\x29\x87\xa4\x28\x46\x90\x71\xa6\x04\xc9\x14\xbc\xbd\x21\x65\xe5\x84\x99\x44\x8c\x0e\xbb\x62\xdc\x1e\x1c\x00\x00\x1c\x1f\x1f\xc3\xe5\x12\x01\x57\xc8\x14\xa8\x25\x51\x40\x25\x60\x49\x95\xc2\x1c\xd6\x4b\x64\xc0\x70\x0d\x4a\x73\x94\x40\x04\x42\x49\x99\xc2\xdc\x10\x87\x32\x58\x06\x66\x67\xf9\xce\x2c\x19\x92\x92\xd7\x4c\x4d\xe0\x8f\x0b\x7a\xf3\xe2\xd9\x21\xa8\x4d\x85\x13\xf8\xa8\x04\x65\x8b\x51\xb0\x3d\x57\xa4\x00\x59\x57\x55\xb1\x01\x3e\x8f\x94\x90\x40\x19\xe0\x0d\x95\x0a\x59\x86\xe1\xa6\x5e\xe7\x11\xac\x88\x00\xa5\x79\x7c\x34\x2c\x26\x70\x7b\x69\x36\xb2\xdb\xde\xb5\x1b\x9d\xe7\x25\x65\xf0\x9e\xa8\xe5\x96\xf4\x05\x2a\xfb\xfa\xa3\xe2\x82\x2c\x50\x2f\xd2\xa2\x36\x5f\x5a\x2e\x17\x35\xcb\x14\xe5\x0c\x14\x07\x81\xaa\x16\x0c\xd4\x12\x8d\x72\xd2\x1a\x50\x7f\x6d\x5c\x42\xb5\x2e\x25\x32\x25\xb7\x36\x5d\x51\x5c\xc3\xbc\x66\xb0\x40\x65\xbc\xa2\xe5\x96\xc3\xd1\x04\x3e\xeb\x4f\x5f\xe0\xd6\x90\xe8\x3f\x2d\x9f\xde\xe1\x5c\x08\xb2\x69\xde\x4f\xed\x87\xd3\x57\xa1\xc9\xc6\x86\xd5\xcb\xe1\xe8\x4b\x43\xed\xc5\xf4\x0c\xcc\x8b\xc0\x30\x86\xc2\x7f\x6b\x9e\xbe\x25\xd9\x12\x6a\x89\x02\xa4\xe2\x02\x25\x10\x06\x94\x49\x45\x58\x86\xda\x4f\x9c\x15\x1b\xa3\xab\x21\xd7\x8e\x52\x4b\xa4\x76\x35\x59\x60\x04\xaf\xb9\x33\x9a\x74\xcb\x1c\x0d\x61\x39\x2c\xf8\x0a\x05\xc3\x1c\x66\x96\x5b\x25\xd0\x3c\xaf\xb8\x54\xda\x8c\x39\x35\x84\x0d\x3b\xca\x3a\xc1\x6e\x40\xaa\x96\xb8\x31\xf0\xcc\x48\x51\x60\x3e\x8e\x76\xcf\x96\x98\x5d\x4b\x58\x92\xaa\x42\x06\x44\x81\xa8\x99\xa2\x25\x1a\x52\xd4\x61\x46\x1a\x09\x35\xfc\x3b\x3c\x1a\x5e\x3a\x98\x6a\x91\xa1\x5e\xc1\xac\xfe\x33\x84\x4c\x20\xd1\xc1\xe2\x34\xd3\x9e\xc7\x1b\xa5\x2d\x14\x01\xc1\x43\x63\xd3\xb0\xd3\xe2\xe6\x38\xa7\xcc\x10\x1f\x82\xe4\xfa\xbd\x40\x2d\x02\xe3\xb0\x26\x1b\x98\x73\x2d\x5b\x49\x0a\x9a\x51\x5e\x4b\xeb\x0e\xc5\xdd\x9e\xd6\x8a\xad\x69\x78\xed\xb6\xa5\x0c\x08\x15\x63\x38\x07\x59\x61\x46\x49\x01\x26\x24\x05\x08\xa7\x01\x30\xc4\x5c\x6a\x4e\xb3\x56\x06\xc5\x4d\x70\x37\xec\xda\xc0\x8f\x4d\x11\x62\xb8\x61\x68\x44\x99\xc4\xae\xb1\x50\xf4\xa9\x26\xf4\x88\x89\x57\x98\x91\xc2\x83\x49\x2d\xa9\x84\x55\x83\xc3\xad\x50\x21\xc2\xaf\xf6\x81\x7d\xd0\x5d\x28\xb1\x98\xdb\x95\xb2\x2f\x88\x7b\x29\xaa\x7a\x56\xd0\xcc\x12\xbc\x6f\x3e\xc7\x72\x7f\x30\x51\x24\x8d\x57\xdd\x0e\x50\x11\xb5\xd4\x28\x12\x68\x1e\x1b\x05\x40\x2e\x79\x5d\xe4\x3a\xdc\xa8\x46\x92\x01\x89\x09\xa1\x3c\xad\x5b\x90\x06\xde\xe0\x5c\xb3\x08\x64\xd6\xe9\x20\xf8\x7a\x16\x24\x85\x20\xb4\xb5\x26\x63\x99\xd0\xf4\xae\x5f\x07\xab\x73\xac\x82\x77\x82\xd7\x61\x49\x56\x08\xc4\x2f\xcd\x48\x45\x66\xb4\xa0\x6a\xb3\xaf\x22\xad\x2d\xb5\x1e\xed\xb7\x5d\x6a\xb4\xbe\x48\x69\xd1\x9b\x40\xf5\x99\x9b\xcc\x9d\x01\x7f\x9b\x2e\xfb\xcf\xec\xf1\xc5\xa5\xfe\xff\x72\x38\x3a\x8c\xc8\xfd\xdf\xfd\xe4\x6f\xa8\xac\x0a\xb2\xf9\x0e\x0e\x26\x66\xde\x10\x45\xa2\x14\x7e\x9f\x05\x84\x3d\xe7\x35\x93\xe1\x57\xf3\x78\x62\xf6\x1a\x4d\xe0\x9c\x6d\x3e\x2a\x51\x67\xaa\x6b\x74\xb9\xa6\x2a\x5b\x5a\x1e\xb7\x5b\xd2\x66\x44\xe2\x3e\xe2\x5a\x7b\x4d\x92\xda\x3a\xb3\xdf\xcb\x60\x98\xa4\xd6\x7f\x73\xe5\x2c\x3a\xb1\xe0\x08\xf5\xfc\x16\x6f\x8c\x80\xc8\x47\xbb\x05\x71\x8b\xcf\xd2\x8e\xb3\xc2\x34\xce\x79\x90\x38\xa1\x6b\xf7\x10\xa8\x59\x7e\x96\x94\x68\xf4\x50\x97\xb5\x56\x49\x7b\x4d\x17\x1b\x25\xe6\x94\xc0\x34\x2e\x95\xc7\xef\xf4\xd3\x7e\x67\x19\x1b\xd1\x02\x27\x1d\xb2\xff\x5c\x5e\xbe\xbf\xa0\x05\xee\xa6\xac\x45\x31\x81\xc1\x52\xa9\x4a\x4e\x8e\x8f\x89\x94\xa8\xe4\x78\x8d\x33\x49\x15\x1e\x69\xb6\x72\x9c\xf1\xf2\xf8\xf9\xfc\xc5\xd3\x5f\x9f\x65\x27\xd9\xbf\xc8\x2f\x59\x9e\xbf\x78\xf6\xf3\xec\x49\xf6\xcb\xd3\x93\xce\x0b\xf2\xfc\x79\x36\x7b\x92\xfd\xfa\xf3\x8b\xaf\x17\x05\x5f\x7f\xfd\x93\x8b\xbc\x24\xe2\x7a\x2c\x57\x8b\x41\xaf\x1c\x3d\x51\xab\xff\x8c\x45\x6c\x65\x39\xa0\x25\x59\xe0\xb1\x5c\x2d\x1e\xdf\x94\x45\x9a\xdb\xb6\x77\x22\xd3\xca\xb4\x6d\xe5\xf0\xb3\x79\xfd\x25\x4d\xbe\x4f\x3c\x39\xef\xf6\xdb\x9a\x91\x52\xeb\xe0\x6a\xc6\x86\x99\xad\xdd\x07\xfd\x06\x90\x9b\x72\xc6\xb5\x8b\xde\x5e\x5c\xee\x58\x96\xa3\xcc\x04\xad\x74\x2d\x35\x81\xc1\xa5\x3e\x52\xe6\x7e\x0b\x53\x4d\xe8\xf2\xa6\x96\x98\x03\x31\x25\x25\x3a\x39\x14\x87\x25\x16\x15\x6c\x78\x0d\x39\xae\xb0\xe0\xe6\xb3\x00\xa6\xab\xa9\x8b\x4b\xf8\x07\x67\xda\x93\xe3\x1d\x7b\xe3\x8d\x42\xc1\x48\xf1\xc7\x87\xdf\xbb\x18\x7c\xdb\xbe\x1a\x36\x20\x73\x7b\x1f\xcd\xd5\x98\xb3\xb9\x66\xce\xc5\x62\xb0\x03\x04\x05\x5f\x70\x39\x71\x2e\xdc\x61\x2a\xae\x8b\x2e\x39\x49\xa4\xd5\xf0\x6f\xa0\xd6\xba\xcf\x12\x83\xbd\x84\x75\x8b\x4d\x10\x68\x59\xbf\xce\x0a\x9e\x5d\x67\x4b\x42\xd9\x20\x0d\x17\x30\x07\x47\xea\xe9\x83\x73\x47\x98\xc2\xfa\xb3\x87\xa9\x21\x3e\xe0\x1c\xa6\x51\x37\x37\x26\x59\xa6\x5b\xc2\xf1\x8c\x0b\xc1\xd7\xa7\x3f\xa5\xfa\x16\xdd\xf1\x4e\xb6\x0a\x9a\x7e\x05\xcf\xce\xa0\x22\x8c\x66\xc3\xc1\x6b\x53\xb2\x30\xae\xc0\xf2\x07\x02\x02\xe7\x28\x74\xeb\xa8\xe1\xe5\x0b\x37\xcc\xad\x80\x3d\x56\xdb\xeb\xd0\xf2\x66\xe8\x0f\xb3\xa8\x08\xed\xaa\xd3\x0f\x1d\x81\x19\xd2\x15\x8a\x80\xae\x2d\x88\x76\x65\x27\x2b\xe0\x37\x92\x55\x82\xaf\x68\xee\x77\x3b\xae\x04\x5d\x11\x85\x3e\x2e\x8c\xea\x46\xd5\xfb\xe5\xfd\x9d\xb2\x6b\xcc\x6d\x7e\x34\x30\x4a\x38\xf7\x36\xee\x0e\x3e\x38\xd2\xbb\xde\x6a\x29\xd4\xec\x01\x1b\xfc\x66\x3b\x86\xc3\x68\x12\x32\xf6\x1f\x76\x6f\xeb\x2d\xf3\x80\x6d\xdf\x3b\xd2\xdd\x1b\xd8\x16\xee\x6d\x59\xa9\x8d\x61\xe2\xe7\x0a\x13\x18\xce\x6b\xa6\x2b\xd9\x44\x5b\x7f\x9b\xe8\xaf\xee\xee\xc9\x32\x0e\xcf\xa7\x47\x3e\x2a\xc7\xdd\xad\x87\x3b\xd2\x47\xfa\x55\xfc\xf4\x2e\x55\x6b\x33\x5a\xf4\x75\x21\x0b\x54\x1f\xeb\xaa\xe2\x42\x61\xde\x0e\x3e\x80\x9b\x43\xc3\x74\x4c\xc2\xf5\x29\x04\x0a\x2a\x4d\x53\x6b\xdb\x92\x68\xca\x42\x65\x83\x3e\x53\x14\x57\xae\x15\x86\x1d\x6d\x42\x62\x5f\x6d\x6a\x37\x32\xfa\x8d\xf3\xa2\x6b\x4e\x9d\xcf\xa4\xa7\x32\x04\x9d\xe5\x53\xb8\x8d\x0d\x10\xaf\xfe\x6c\x82\x71\x81\x66\xb3\xe1\xe8\x0b\x4c\x41\x89\x1a\x93\xed\x4f\x44\xb8\x77\xed\x4f\xe5\xb6\x56\x43\xd5\x20\x76\x64\x05\xdd\xd1\x71\xf5\xd9\xe5\xb3\x32\xad\xd4\xd9\x19\xcc\x49\x21\x31\xed\x4e\xa0\x8c\x2a\x4a\x0a\xfa\x97\xed\x81\x7d\x53\x4f\x54\x3b\x1c\x30\x80\x33\x33\x33\x5a\xb6\x6c\x34\xe1\xb0\xd3\xd5\x8f\xba\x3d\x8a\x96\xcf\xb3\x9c\x7a\xe6\x5b\x0e\xa2\x39\x32\x45\xe7\x14\x05\x4c\x61\xb0\x95\xbe\x06\xdb\x3c\x83\x64\x0c\xd3\xb0\xc3\x1e\xb6\xbc\x26\x01\xdf\xd1\xa3\x6d\x1e\x6d\x86\x85\x69\xd0\xdc\xde\xcf\xa1\x13\x0f\xff\x46\x15\x99\xce\x8d\x8e\x76\x8c\x43\x02\x44\xbb\x24\xa7\x51\x6c\x4d\xb8\xc3\xd1\x5d\xf3\x75\xe4\x58\x53\xb5\xcc\x05\x59\x87\x0f\xa3\x05\xed\xec\xd3\x44\x20\xb9\xb6\x53\x41\x3b\xe8\x75\xf5\x1c\x11\x8b\xba\x44\xa6\x22\x42\xc2\xf2\x86\xbb\x8b\x5f\x47\x64\x06\xdc\xcd\x44\x70\xdc\xbb\xf5\x7f\x95\xcb\x98\x3a\x29\x98\xc9\x14\x96\x15\x17\x44\x6c\xdc\x2c\xd1\xcf\xae\x4d\x69\xa9\x8b\x49\x5e\xe4\x11\x07\x33\xa5\xb5\x43\x65\x2b\x80\x40\x98\x21\x65\x0b\x50\x82\x30\x39\x47\x21\x30\x1f\xeb\x8d\x44\x30\x25\x61\xb8\x2e\x36\x11\x1f\x3f\xef\x73\xdb\xf2\x68\xea\x67\x38\xdb\xf9\x21\x48\x0e\x54\x99\x51\xa1\x19\xb2\x55\x5c\x77\x32\xb1\x4c\x58\x48\x34\xb3\x97\xb4\xe2\xce\xe7\x71\xd2\xff\xd3\xd9\x91\xcc\x0a\x1c\x19\x14\x78\xcb\x76\x26\xee\x0f\x3f\x42\x3a\x51\x17\x7d\x3d\x72\x9e\x4b\x81\xec\xf4\x28\x1c\x4c\xb6\xb1\x6d\x29\x46\x7d\xb8\x73\xb6\xf9\x36\xd8\x39\xfb\xf3\xd9\xff\x30\xeb\x62\xcf\xe0\x8d\xe4\xb9\x8c\xd8\x50\x25\x9b\x10\x73\x6e\xeb\x44\x1c\x5f\x33\x14\x72\x0f\x28\x52\x09\xa4\x28\xf8\xda\x42\x2d\x47\xa9\x04\xb7\xe3\x6b\xa9\xb7\xb7\xa2\xcd\x30\x23\xb5\xc4\x16\xdd\x71\xb0\x69\x91\x03\x14\x6b\xbc\xa2\xf0\x92\xb8\xb9\xab\x19\x96\x1a\xda\x7f\xb6\xb2\x2f\x49\xac\xd7\x0c\x91\x69\x00\xca\xba\xd4\x5d\x15\xcb\xed\x18\x79\xce\xcd\x38\xdc\xa1\xcf\x48\xe8\x87\xda\x3d\x38\x33\xb9\x45\x03\xca\x39\xc4\xd5\xe2\xaf\xce\xd9\xc6\x8f\xbe\x93\xe8\xe9\x26\xed\xa6\x05\x80\xd3\x23\x1b\xe0\x44\x3e\x4a\x61\x71\x6f\xd0\x3d\xb6\xfc\xb6\x12\x98\xfe\x8b\xde\xc0\x14\x4e\xc6\x27\xd1\x7b\xef\x9d\x38\x9d\xf6\x1c\xaa\x5a\x7b\x9f\x0e\xb6\x2e\xb0\x7c\xb5\x31\x81\xd7\xcd\x24\xf4\xf4\xa7\xde\xaa\x36\x65\x16\xcf\xfb\x93\x37\x8f\x51\x73\x2b\x80\x7d\xc0\x44\xf4\xee\xa4\x48\x74\x35\x02\x33\x5a\x51\x64\x1a\x25\x7e\xff\xad\xad\xbd\xf4\xb6\x2f\xf3\xdf\x5c\x2f\x96\x28\x01\x77\x34\x56\x4d\xd9\xb5\x53\x92\x4f\xae\xc9\xea\x2a\xf1\xc6\xa2\xcb\xac\xf7\x9a\x33\x9f\x9a\xdd\x2d\x4a\xc8\x47\xa4\x34\x0a\xb4\x19\xc7\x70\x3d\x3d\x8a\x8c\xdc\x9b\x75\xba\x55\xf0\x9e\xe9\x27\x3e\x85\xac\x1f\xb5\x16\x40\xc2\x6c\xf2\x17\x0a\xbe\x75\x02\xfa\x73\x85\xb6\xc7\x06\x29\x0a\x7d\x02\xb9\xe3\x63\x0c\xe7\xf6\x8a\xa7\xac\xa5\x3d\x46\x6c\x99\xeb\x2f\xa7\xb6\x38\x9a\x76\xd6\x19\x4c\xf3\x6e\x8e\xa5\xee\x6d\x9c\x7e\xc0\x45\x6e\x6f\x8f\x4c\xea\xb2\xef\x63\x8e\xb6\x3d\x77\xd7\x42\xc4\x4e\x6c\xbc\xa5\x7d\x52\x90\xcd\x75\x8d\x9d\xe6\xe8\x1a\x71\xbf\xac\xb2\xdd\x76\x3c\xf8\x80\xba\xe7\xbc\x39\x19\x9f\x24\xdd\xee\x52\xc1\xb0\x1b\x99\x74\x1e\xa7\x9b\x97\x9a\x43\xa2\xad\x8a\x84\x0d\xee\x9c\x13\x35\xfe\xbe\x4b\x1f\xc1\x51\xba\x36\x83\xa8\xb1\xb2\x9f\x82\x3b\x5b\x7b\xa1\x77\x00\x3d\x57\x94\xfe\x5c\xb4\x27\xa6\x71\x14\x31\xd7\xdf\xce\xc7\xf6\x0a\x53\x9f\x39\xfe\xda\xef\xdb\xae\xfb\xdc\x7d\xe2\x6d\x84\x1f\xcd\xc6\x5e\xdb\xef\x19\x4b\x9a\x40\x06\x1b\x1f\x9a\x43\x5b\x23\xb3\xf4\x11\xa2\x82\x5f\x07\x1c\xf6\x46\x54\x48\xd1\x8d\xa9\xbd\xb0\xd9\x8a\xbe\x57\x11\xd5\xc1\xc6\xdf\x82\x8b\xc7\xa9\x42\x0b\x4b\xda\xf3\x2b\x0b\xfb\xdf\xff\xca\x22\xe6\x36\x0e\xba\x90\xef\xab\xdb\x3a\x28\x4c\xe6\xd0\x10\x8f\xdf\x95\x3b\x7f\x6c\xde\xfc\xb1\x39\xf3\x07\xe4\xcb\x54\x80\x25\xf3\xe4\xca\xf7\xe4\x4d\x43\xff\xea\xbe\x24\xe9\xef\xf6\x3c\x65\x07\xb0\xed\xb4\x37\xfd\xdb\x91\xed\xd1\x6e\x83\x14\xd8\x23\xe5\x82\xc9\xb5\xe6\x06\xf8\x3b\x39\x45\x88\x33\x03\x83\x30\x77\x1b\x94\x07\x41\x14\xcf\x62\xba\x6f\x77\xfe\x58\x06\xa6\xf0\xe4\xe4\x44\xd7\x8e\x31\x7d\xf7\x57\x41\x30\x85\x63\x87\x8f\x68\x4c\x6a\x7f\x5c\x14\x0d\x46\x5e\x5b\xf5\xda\x9f\xbb\x18\xa8\x77\x93\x9a\x81\x87\xfb\x79\x95\x46\x27\x59\xa1\x06\x3a\x65\xd1\x0f\x69\x2c\xcb\xe6\x63\x54\x61\xa7\xcd\xf8\x4d\xda\x3f\x1a\xc5\x5a\xfb\x41\xbd\x96\x66\xe8\x26\x87\x87\xa0\xf8\x24\xad\xbc\x2b\xb4\x12\xca\x27\x7e\x3b\xd0\x19\xc5\x07\xdd\x3b\xde\x54\x5c\x62\x78\x78\x98\x85\x57\x2e\x92\xae\xa0\x44\xb5\xe4\xb6\xc5\x59\xa0\x3a\x37\x33\x3f\x37\x2d\xf3\xef\xd4\x52\xf0\x7a\x61\xcd\x7c\xe5\x6b\xe1\x2b\x30\xc7\xd5\x9c\x64\xa1\x35\x7d\xab\x04\x57\xe1\x18\xe5\x2a\xc9\xc9\xbd\x4e\x33\x4a\xdb\xae\xa0\xec\xba\xb7\x3b\x38\x84\xe4\xa8\xfa\xee\x65\x7c\xa1\x70\x6c\xad\x77\xdf\x40\x5e\x11\xb1\x40\xb5\xcb\x39\xcd\xf2\xc0\x4b\x1a\x44\xb6\x28\x68\x41\x64\xcf\xf5\xe1\x6e\x38\x18\x22\x0b\x87\x64\x8c\x8c\x5c\xd0\xde\x1d\xc0\xff\x03\x00\x00\xff\xff\x1e\x5e\xd4\x96\x9f\x29\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xfa\x80\x3d\x1b\x4d\x9c\xb4\xdb\xf6\x76\x8d\xb8\x69\xb6\x6d\xee\x0e\xd8\x02\x45\x9b\xed\x3e\x14\x45\x43\x4b\x63\x9b\x17\x89\x14\x48\xca\x8e\x37\xc8\x77\x3f\xf0\x9f\x44\xca\x94\xe3\xa6\xdd\xbc\xc4\x96\x38\xc3\xf9\xf3\x9b\xe1\xcc\xd0\xb4\xac\xb8\x50\x70\x51\xb3\x05\x9d\x15\x78\xc9\xaf\x91\xc1\x5c\xf0\x12\x06\xd1\xb3\xa3\xd5\xd3\xc1\x81\x5b\xfc\x0e\x15\xc9\x89\x22\x9f\x28\xae\xa5\x5b\x1c\x3d\x6b\x56\x46\x2c\x52\x64\xfd\x0b\xda\xdd\xea\x42\xd1\xaa\xc0\x4f\xa4\x2e\x54\xb3\x5d\xf4\x70\x9c\xe5\x59\xb3\x5e\x53\x7f\x40\xc9\x8b\x15\x0a\xb7\x3a\x7c\x64\xd7\x1e\x90\x2c\x43\x29\x87\xa4\x28\x46\x90\x71\xa6\x04\xc9\x14\xbc\xbd\x21\x65\xe5\x84\x99\x44\x8c\x0e\xbb\x62\xdc\x1e\x1c\x00\x00\x1c\x1f\x1f\xc3\xe5\x12\x01\x57\xc8\x14\xa8\x25\x51\x40\x25\x60\x49\x95\xc2\x1c\xd6\x4b\x64\xc0\x70\x0d\x4a\x73\x94\x40\x04\x42\x49\x99\xc2\xdc\x10\x87\x32\x58\x06\x66\x67\xf9\xce\x2c\x19\x92\x92\xd7\x4c\x4d\xe0\x8f\x0b\x7a\xf3\xe2\xd9\x21\xa8\x4d\x85\x13\xf8\xa8\x04\x65\x8b\x51\xb0\x3d\x57\xa4\x00\x59\x57\x55\xb1\x01\x3e\x8f\x94\x90\x40\x19\xe0\x0d\x95\x0a\x59\x86\xe1\xa6\x5e\xe7\x11\xac\x88\x00\xa5\x79\x7c\x34\x2c\x26\x70\x7b\x69\x36\xb2\xdb\xde\xb5\x1b\x9d\xe7\x25\x65\xf0\x9e\xa8\xe5\x96\xf4\x05\x2a\xfb\xfa\xa3\xe2\x82\x2c\x50\x2f\xd2\xa2\x36\x5f\x5a\x2e\x17\x35\xcb\x14\xe5\x0c\x14\x07\x81\xaa\x16\x0c\xd4\x12\x8d\x72\xd2\x1a\x50\x7f\x6d\x5c\x42\xb5\x2e\x25\x32\x25\xb7\x36\x5d\x51\x5c\xc3\xbc\x66\xb0\x40\x65\xbc\xa2\xe5\x96\xc3\xd1\x04\x3e\xeb\x4f\x5f\xe0\xd6\x90\xe8\x3f\x2d\x9f\xde\xe1\x5c\x08\xb2\x69\xde\x4f\xed\x87\xd3\x57\xa1\xc9\xc6\x86\xd5\xcb\xe1\xe8\x4b\x43\xed\xc5\xf4\x0c\xcc\x8b\xc0\x30\x86\xc2\x7f\x6b\x9e\xbe\x25\xd9\x12\x6a\x89\x02\xa4\xe2\x02\x25\x10\x06\x94\x49\x45\x58\x86\xda\x4f\x9c\x15\x1b\xa3\xab\x21\xd7\x8e\x52\x4b\xa4\x76\x35\x59\x60\x04\xaf\xb9\x33\x9a\x74\xcb\x1c\x0d\x61\x39\x2c\xf8\x0a\x05\xc3\x1c\x66\x96\x5b\x25\xd0\x3c\xaf\xb8\x54\xda\x8c\x39\x35\x84\x0d\x3b\xca\x3a\xc1\x6e\x40\xaa\x96\xb8\x31\xf0\xcc\x48\x51\x60\x3e\x8e\x76\xcf\x96\x98\x5d\x4b\x58\x92\xaa\x42\x06\x44\x81\xa8\x99\xa2\x25\x1a\x52\xd4\x61\x46\x1a\x09\x35\xfc\x3b\x3c\x1a\x5e\x3a\x98\x6a\x91\xa1\x5e\xc1\xac\xfe\x33\x84\x4c\x20\xd1\xc1\xe2\x34\xd3\x9e\xc7\x1b\xa5\x2d\x14\x01\xc1\x43\x63\xd3\xb0\xd3\xe2\xe6\x38\xa7\xcc\x10\x1f\x82\xe4\xfa\xbd\x40\x2d\x02\xe3\xb0\x26\x1b\x98\x73\x2d\x5b\x49\x0a\x9a\x51\x5e\x4b\xeb\x0e\xc5\xdd\x9e\xd6\x8a\xad\x69\x78\xed\xb6\xa5\x0c\x08\x15\x63\x38\x07\x59\x61\x46\x49\x01\x26\x24\x05\x08\xa7\x01\x30\xc4\x5c\x6a\x4e\xb3\x56\x06\xc5\x4d\x70\x37\xec\xda\xc0\x8f\x4d\x11\x62\xb8\x61\x68\x44\x99\xc4\xae\xb1\x50\xf4\xa9\x26\xf4\x88\x89\x57\x98\x91\xc2\x83\x49\x2d\xa9\x84\x55\x83\xc3\xad\x50\x21\xc2\xaf\xf6\x81\x7d\xd0\x5d\x28\xb1\x98\xdb\x95\xb2\x2f\x88\x7b\x29\xaa\x7a\x56\xd0\xcc\x12\xbc\x6f\x3e\xc7\x72\x7f\x30\x51\x24\x8d\x57\xdd\x0e\x50\x11\xb5\xd4\x28\x12\x68\x1e\x1b\x05\x40\x2e\x79\x5d\xe4\x3a\xdc\xa8\x46\x92\x01\x89\x09\xa1\x3c\xad\x5b\x90\x06\xde\xe0\x5c\xb3\x08\x64\xd6\xe9\x20\xf8\x7a\x16\x24\x85\x20\xb4\xb5\x26\x63\x99\xd0\xf4\xae\x5f\x07\xab\x73\xac\x82\x77\x82\xd7\x61\x49\x56\x08\xc4\x2f\xcd\x48\x45\x66\xb4\xa0\x6a\xb3\xaf\x22\xad\x2d\xb5\x1e\xed\xb7\x5d\x6a\xb4\xbe\x48\x69\xd1\x9b\x40\xf5\x99\x9b\xcc\x9d\x01\x7f\x9b\x2e\xfb\xcf\xec\xf1\xc5\xa5\xfe\xff\x72\x38\x3a\x8c\xc8\xfd\xdf\xfd\xe4\x6f\xa8\xac\x0a\xb2\xf9\x0e\x0e\x26\x66\xde\x10\x45\xa2\x14\xde\x63\x01\xad\xbc\xb0\x47\xbc\xa6\x1f\x7e\x35\x36\x99\x98\x6d\x46\x13\x38\x67\x9b\x8f\x4a\xd4\x99\xea\xda\x5b\xae\xa9\xca\x96\xd6\x80\xb7\x5b\x82\x66\x44\xe2\x3e\x92\x5a\x53\x4d\x92\x8a\x3a\x8b\xdf\xcb\x60\x98\xa4\xd6\x7f\x73\xe5\x8c\x39\xb1\xb8\x08\xf5\xfc\x16\x47\x8c\x80\xc8\x47\xbb\x05\x71\x8b\xcf\xd2\x3e\xb3\xc2\x34\x7e\x79\x90\x38\xa1\x57\xf7\x10\xa8\x59\x7e\x96\x94\x68\xf4\x50\x97\xb5\x56\x49\x7b\x4d\xd7\x19\x25\xe6\x94\xc0\x34\xae\x92\xc7\xef\xf4\xd3\x7e\x67\x19\x1b\xd1\x02\x27\x1d\xb2\xff\x5c\x5e\xbe\xbf\xa0\x05\xee\xa6\xac\x45\x31\x81\xc1\x52\xa9\x4a\x4e\x8e\x8f\x89\x94\xa8\xe4\x78\x8d\x33\x49\x15\x1e\x69\xb6\x72\x9c\xf1\xf2\xf8\xf9\xfc\xc5\xd3\x5f\x9f\x65\x27\xd9\xbf\xc8\x2f\x59\x9e\xbf\x78\xf6\xf3\xec\x49\xf6\xcb\xd3\x93\xce\x0b\xf2\xfc\x79\x36\x7b\x92\xfd\xfa\xf3\x8b\xaf\x17\x05\x5f\x7f\xfd\x93\x8b\xbc\x24\xe2\x7a\x2c\x57\x8b\x41\xaf\x1c\x3d\x01\xab\xff\x8c\x45\x6c\x51\x39\xa0\x25\x59\xe0\xb1\x5c\x2d\x1e\xdf\x94\x45\x9a\xdb\xb6\x77\x22\xd3\xca\xb4\x6d\xe5\xf0\xb3\x79\xfd\x25\x4d\xbe\x4f\x3c\x39\xef\xf6\xdb\x9a\x91\x52\xeb\xe0\xca\xc5\x86\x99\x2d\xdb\x07\xfd\x06\x90\x9b\x72\xc6\xb5\x8b\xde\x5e\x5c\xee\x58\x96\xa3\xcc\x04\xad\x74\x19\x35\x81\xc1\xa5\x3e\x4d\xe6\x7e\x0b\x53\x48\xe8\xca\xa6\x96\x98\x03\x31\xd5\x24\x3a\x39\x14\x87\x25\x16\x15\x6c\x78\x0d\x39\xae\xb0\xe0\xe6\xb3\x00\xa6\x0b\xa9\x8b\x4b\xf8\x07\x67\xda\x93\xe3\x1d\x7b\xe3\x8d\x42\xc1\x48\xf1\xc7\x87\xdf\xbb\x18\x7c\xdb\xbe\x1a\x36\x20\x73\x7b\x1f\xcd\xd5\x98\xb3\xb9\x66\xce\xc5\x62\xb0\x03\x04\x05\x5f\x70\x39\x71\x2e\xdc\x61\x2a\xae\xeb\x2d\x39\x49\xa4\xd5\xf0\x6f\xa0\xd6\xba\xc5\x12\x83\xbd\x84\x75\x8b\x4d\x10\x68\x59\xbf\xce\x0a\x9e\x5d\x67\x4b\x42\xd9\x20\x0d\x17\x30\x67\x46\xea\xe9\x83\x73\x47\x98\xc2\xfa\xb3\x87\x29\x1f\x3e\xe0\x1c\xa6\x51\x23\x37\x26\x59\xa6\xbb\xc1\xf1\x8c\x0b\xc1\xd7\xa7\x3f\xa5\x5a\x16\xdd\xec\x4e\xb6\x6a\x99\x7e\x05\xcf\xce\xa0\x22\x8c\x66\xc3\xc1\x6b\x53\xad\x30\xae\xc0\xf2\x07\x02\x02\xe7\x28\x74\xd7\xa8\xe1\xe5\x6b\x36\xcc\xad\x80\x3d\x56\xdb\xeb\xd0\xf2\x66\xe8\x0f\xb3\xa8\xfe\xec\xaa\xd3\x0f\x1d\x81\x19\xd2\x15\x8a\x80\xae\xad\x85\x76\x65\x27\x2b\xe0\x37\x92\x55\x82\xaf\x68\xee\x77\x3b\xae\x04\x5d\x11\x85\x3e\x2e\x8c\xea\x46\xd5\xfb\xe5\xfd\x9d\xb2\x6b\xcc\x6d\x7e\x34\x30\x4a\x38\xf7\x36\x6e\x0c\x3e\x38\xd2\xbb\xde\x42\x29\xd4\xec\x01\x1b\xfc\x66\x9b\x85\xc3\x68\x08\x32\xf6\x1f\x76\x6f\xeb\x2d\xf3\x80\x6d\xdf\x3b\xd2\xdd\x1b\xd8\xee\xed\x6d\x59\xa9\x8d\x61\xe2\x47\x0a\x13\x18\xce\x6b\xa6\x8b\xd8\x44\x47\x7f\x9b\x68\xad\xee\xee\xc9\x32\x0e\xcf\xa7\x47\x3e\x2a\xc7\xdd\xad\x87\x3b\xd2\x47\xfa\x55\xfc\xf4\x2e\x55\x66\x33\x5a\xf4\x35\x20\x0b\x54\x1f\xeb\xaa\xe2\x42\x61\xde\xce\x3c\x80\x9b\x43\xc3\x34\x4b\xc2\xb5\x28\x04\x0a\x2a\x4d\x3f\x6b\x3b\x92\x68\xc0\x42\x65\x83\x3e\x53\x0f\x57\xae\x0b\x86\x1d\x1d\x42\x62\x5f\x6d\x6a\x37\x2d\xfa\x8d\xf3\xa2\x6b\x4e\x9d\xcf\xa4\xa7\x32\x04\x9d\xe5\x53\xb8\x8d\x0d\x10\xaf\xfe\x6c\x82\x71\x81\x66\xb3\xe1\xe8\x0b\x4c\x41\x89\x1a\x93\x9d\x4f\x44\xb8\x77\xe3\x43\xe5\xb6\x56\x43\xd5\x20\x76\x64\x05\xdd\xd1\x6c\xf5\xd9\xe5\xb3\x32\x5d\xd4\xd9\x19\xcc\x49\x21\x31\xed\x4e\xa0\x8c\x2a\x4a\x0a\xfa\x97\x6d\x7f\x7d\x3f\x4f\x54\x3b\x17\x30\x80\x33\xe3\x32\x5a\xb6\x6c\x34\xe1\xb0\xd3\xd0\x8f\xba\x3d\x8a\x96\xcf\xb3\x9c\x7a\xe6\x5b\x0e\xa2\x39\x32\x45\xe7\x14\x05\x4c\x61\xb0\x95\xbe\x06\xdb\x3c\x83\x64\x0c\xd3\xb0\xb9\x1e\xb6\xbc\x26\x01\xdf\xd1\xa3\x6d\x1e\x6d\x86\x85\x69\xd0\xd7\xde\xcf\xa1\x13\x0f\xff\x46\x15\x99\xce\x4d\x8d\x76\x4c\x42\x02\x44\xbb\x24\xa7\x51\x6c\x4d\xb8\xc3\xd1\x5d\xf3\x75\xe4\x58\x53\xb5\xcc\x05\x59\x87\x0f\xa3\x05\xed\xd8\xd3\x44\x20\xb9\xb6\x03\x41\x3b\xe3\x75\xf5\x1c\x11\x8b\xba\x44\xa6\x22\x42\xc2\xf2\x86\xbb\x8b\x5f\x47\x64\x66\xdb\xcd\x30\x70\xdc\xbb\xf5\x7f\x95\xcb\x98\x3a\x29\x98\xa1\x14\x96\x15\x17\x44\x6c\xdc\x18\xd1\x8f\xad\x4d\x69\xa9\x8b\x49\x5e\xe4\x11\x07\x33\xa0\xb5\xf3\x64\x2b\x80\x40\x98\x21\x65\x0b\x50\x82\x30\x39\x47\x21\x30\x1f\xeb\x8d\x44\x30\x20\x61\xb8\x2e\x36\x11\x1f\x3f\xea\x73\xdb\xf2\x68\xe0\x67\x38\xdb\xd1\x21\x48\x0e\x54\x99\x29\xa1\x99\xaf\x55\x5c\x77\x32\xb1\x4c\x58\x48\x34\x63\x97\xb4\xe2\xce\xe7\x71\xd2\xff\xd3\xd9\x91\xcc\x0a\xb4\xcd\xbf\xb7\x6c\x67\xd8\xfe\xf0\x23\xa4\x13\x75\xd1\xd7\x23\xe7\xb9\x14\xc8\x4e\x8f\xc2\x99\x64\x1b\xdb\x96\x62\xd4\x87\x3b\x67\x9b\x6f\x83\x9d\xb3\x3f\x9f\xfd\x0f\xb3\x2e\xf6\x0c\xde\x48\x9e\xcb\x88\x0d\x55\xb2\x09\x31\xe7\xb6\x4e\xc4\xf1\x35\x43\x21\xf7\x80\x22\x95\x40\x8a\x82\xaf\x2d\xd4\x72\x94\x4a\x70\x3b\xb9\x96\x7a\x7b\x2b\xda\x0c\x33\x52\x4b\x6c\xd1\x1d\x07\x9b\x16\x39\x40\xb1\xc6\x2b\x0a\x2f\x89\x1b\xb9\x9a\x39\xa9\xa1\xfd\x67\x2b\xfb\x92\xc4\x7a\xcd\x10\x99\x06\xa0\xac\x4b\xdd\x55\xb1\xdc\x4e\x90\xe7\xdc\x4c\xc2\x1d\xfa\x8c\x84\x7e\x9e\xdd\x83\xb3\x66\x9a\xe4\x1c\xe2\x6a\xf1\x57\xe7\x6c\xe3\xa7\xde\x49\xf4\x74\x93\x76\xd3\x02\xc0\xe9\x91\x0d\x70\x22\x1f\xa5\xb0\xb8\x37\xe8\x1e\x5b\x7e\x5b\x09\x4c\xff\x45\x6f\x60\x0a\x27\xe3\x93\xe8\xbd\xf7\x4e\x9c\x4e\x77\xcc\xd2\x7c\x3a\xd8\xba\xbb\xf2\xd5\xc6\x04\x5e\x37\x43\xd0\xd3\x9f\x7a\xab\xda\x94\x59\x3c\xef\x4f\xde\x3c\x46\xcd\xad\x00\xf6\x01\x13\xd1\xbb\x93\x22\xd1\xd5\x08\xcc\x68\x45\x91\x69\x94\xf8\xfd\xb7\xb6\xf6\xd2\xdb\xbe\xcc\x7f\x73\xbd\x58\xa2\x04\xdc\xd1\x58\x35\x65\xd7\x4e\x49\x3e\xb9\x26\xab\xab\xc4\x1b\x8b\x2e\xb3\xde\x6b\xce\x7c\x6a\x76\x17\x28\x21\x1f\x91\xd2\x28\xd0\x66\x1c\xc3\xf5\xf4\x28\x32\x72\x6f\xd6\xe9\x56\xc1\x7b\xa6\x9f\xf8\x14\xb2\x7e\xd4\x5a\x00\x09\xb3\xc9\x5f\x28\xf8\xd6\x09\xe8\xcf\x15\xda\x1e\x1b\xa4\x28\xf4\x09\xe4\x8e\x8f\x31\x9c\xdb\xdb\x9d\xb2\x96\xf6\x18\xb1\x65\xae\xbf\x97\xda\xe2\x68\xda\x59\x67\x30\xcd\xbb\x39\x96\xba\x17\x71\xfa\x01\x17\xb9\xbd\x38\x32\xa9\xcb\xbe\x8f\x39\xda\xf6\xdc\xdd\x08\x11\x3b\xb1\xf1\x96\xf6\x49\x41\x36\x37\x35\x76\x9a\xa3\x6b\xc4\xfd\xb2\xca\x76\xdb\xf1\xe0\x03\xea\x9e\xf3\xe6\x64\x7c\x92\x74\xbb\x4b\x05\xc3\x6e\x64\xd2\x79\x9c\x6e\x5e\x6a\x0e\x89\xb6\x2a\x12\x36\xb8\x6e\x4e\xd4\xf8\xfb\x2e\x7d\x04\x47\xe9\xda\x0c\xa2\xc6\xca\x7e\x0a\xae\x6b\xed\x5d\xde\x01\xf4\xdc\x4e\xfa\x73\xd1\x9e\x98\xc6\x51\xc4\xdc\x7c\x3b\x1f\xdb\xdb\x4b\x7d\xe6\xf8\x1b\xbf\x6f\xbb\xe9\x73\x57\x89\xb7\x11\x7e\x34\x1b\x7b\x63\xbf\x67\x2c\x69\x02\x19\x6c\x7c\x68\x0e\x6d\x8d\xcc\xd2\x47\x88\x0a\x7e\x18\x70\xd8\x1b\x51\x21\x45\x37\xa6\xf6\xc2\x66\x2b\xfa\x5e\x45\x54\x07\x1b\x7f\x0b\x2e\x1e\xa7\x0a\x2d\x2c\x69\xcf\x0f\x2c\xec\x7f\xff\x03\x8b\x98\xdb\x38\xe8\x42\xbe\xaf\x6e\xeb\xa0\x30\x99\x43\x43\x3c\x7e\x57\xee\xfc\xb1\x79\xf3\xc7\xe6\xcc\x1f\x90\x2f\x53\x01\x96\xcc\x93\x2b\xdf\x93\x37\x0d\xfd\xab\xfb\x92\xa4\xbf\xdb\xf3\x94\x1d\xc0\xb6\xd3\xde\xf4\xcf\x46\xb6\x47\xbb\x0d\x52\x60\x8f\x94\x0b\x26\xd7\x9a\xcb\xdf\xef\xe4\x14\x21\xce\x0c\x0c\xc2\xdc\x6d\x50\x1e\x04\x51\x3c\x8b\xe9\xbe\xdd\xf9\x3b\x19\x98\xc2\x93\x93\x13\x5d\x3b\xc6\xf4\xdd\x1f\x04\xc1\x14\x8e\x1d\x3e\xa2\x31\xa9\xfd\x5d\x51\x34\x18\x79\x6d\xd5\x6b\x7f\xe9\x62\xa0\xde\x4d\x6a\x06\x1e\xee\x97\x55\x1a\x9d\x64\x85\x1a\xe8\x94\x45\xbf\xa1\xb1\x2c\x9b\x8f\x51\x85\x9d\x36\xe3\x37\x69\xff\x68\x14\x6b\xed\x07\xf5\x5a\x9a\xa1\x9b\x1c\x1e\x82\xe2\x93\xb4\xf2\xae\xd0\x4a\x28\x9f\xf8\xd9\x40\x67\x14\x1f\x74\xef\x78\x53\x71\x89\xe1\xe1\x61\x16\x5e\xb9\x48\xba\x82\x12\xd5\x92\xdb\x16\x67\x81\xea\xdc\xcc\xfc\xdc\xb4\xcc\xbf\x53\x4b\xc1\xeb\x85\x35\xf3\x95\xaf\x85\xaf\xc0\x1c\x57\x73\x92\x85\xd6\xf4\xad\x12\x5c\x85\x63\x94\xab\x24\x27\xf7\x3a\xcd\x28\x6d\xbb\x82\xb2\xeb\xde\xee\xe0\x10\x92\xa3\xea\xbb\x97\xf1\x85\xc2\xb1\xb5\xde\x7d\x03\x79\x45\xc4\x02\xd5\x2e\xe7\x34\xcb\x03\x2f\x69\x10\xd9\xa2\xa0\x05\x91\x3d\xd7\x87\xbb\xe1\x60\x88\x2c\x1c\x92\x31\x32\x72\x41\x7b\x77\x00\xff\x0f\x00\x00\xff\xff\x69\x35\x17\x52\x9a\x29\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,11 +97,11 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xee, 0x95, 0x51, 0xde, 0x3, 0xd6, 0x24, 0x25, 0x7f, 0x56, 0x6f, 0xf6, 0x0, 0xd3, 0x2e, 0x76, 0x93, 0xa4, 0x50, 0x45, 0xdc, 0xcb, 0xb9, 0x1, 0x1a, 0x1b, 0x16, 0x57, 0xbe, 0x96, 0x60, 0xbd}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x25, 0xa1, 0xa9, 0x9c, 0x5c, 0x55, 0x60, 0xff, 0x20, 0x7e, 0xf6, 0x8a, 0x13, 0x30, 0x4c, 0xb, 0x47, 0xe1, 0xe5, 0x16, 0x34, 0x21, 0xf1, 0x17, 0xe6, 0x0, 0xaf, 0xd3, 0x36, 0x43, 0xac, 0x1e}}
 	return a, nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\xdd\x6f\xe3\x36\x12\x7f\xcf\x5f\x31\xe7\x03\x7a\x36\x9a\x38\xe9\xd7\x5e\x6b\xec\x76\x37\x7b\xdd\xe0\x0e\x68\x8b\x45\x9b\xb6\x0f\xc5\x62\x43\x4b\x63\x9b\x17\x89\x54\x49\xca\x8e\xbb\xc8\xff\x7e\x18\x7e\x48\xa4\x2c\xd9\x8e\xb7\xe7\x97\xc4\x16\xe7\x83\x33\xbf\x99\x21\x67\xc4\xcb\x4a\x2a\x03\x37\xb5\x58\xf2\x79\x81\xb7\xf2\x1e\x05\x2c\x94\x2c\x61\x94\xfc\x36\x3a\xf3\x2b\x7f\x40\xc3\x72\x66\xd8\xaf\x1c\x37\xda\xaf\x4c\x7e\x6b\x56\x26\xf4\x7d\x64\xc3\x0b\x46\x67\x67\x2c\xcb\x50\xeb\x31\x2b\x8a\x09\x64\x52\x18\xc5\x32\x03\x6f\x1e\x58\x59\x79\x82\x59\x47\xe9\x0f\x67\x67\x00\x00\x97\x97\x97\x70\x2b\x0d\x2b\x40\xd7\x55\x55\x6c\x41\x2e\x12\x32\x0d\x5c\x00\x3e\x70\x6d\x50\x64\x68\x49\x62\x51\x6b\xa6\xc0\x10\xf9\xcf\x96\x7a\x06\xbf\xdc\xf0\x87\x67\x5f\xda\x75\x0d\xff\x9f\x8d\x54\x6c\x89\xc0\x44\x0e\x6f\xeb\x79\xc1\x33\x78\xcb\xcc\x4a\xef\x70\x2b\xd0\xc0\xaf\xac\x2e\x8c\xa7\xa0\x55\x33\x88\xbe\x0c\x53\x38\xbe\x8e\xa0\xfd\xbf\x77\xfd\x4f\x98\x21\x5f\xa3\x7a\x02\xc9\x75\x5e\x72\x31\xa8\x54\x6b\xc8\x15\x02\xae\x51\x18\x30\x2b\x66\x80\x6b\xc0\x92\x1b\x83\x39\x6c\x56\x28\xc0\xac\xb0\xf5\x0d\xd7\x90\x29\x64\x06\xf3\x1d\x89\x8e\x85\x33\xff\x7f\x04\x37\x9c\x15\xfc\x4f\xcc\xc7\xdc\xfd\x9f\x9a\x7a\x72\xbc\x78\xe7\x4f\xa6\x10\x36\xdc\xac\x72\xc5\x36\x1e\xbb\xcc\xd9\x70\xaf\x22\xbf\x05\x92\x31\x2b\x65\x2d\x4c\x90\x7f\x6e\x59\xcc\xe0\x3a\xcf\x15\x6a\xfd\xf2\x24\x7d\x72\xac\xa4\xe6\xf4\xc4\xc8\xa3\xb4\xf9\x2e\x10\xec\x68\x63\xe4\x29\xba\x08\xdc\xc4\xfa\x94\x5c\x1c\x72\xcc\x0f\x76\x49\x47\xfc\x89\x9b\xd7\x46\xc9\xed\x01\x79\xaf\x6b\x25\x3e\x42\x1e\xb3\x5b\xb4\xfb\x52\xa0\x50\xcb\x5a\x65\x78\x18\x84\x76\x97\xea\x5f\x6e\x0d\x3d\x90\x1b\xcc\xaf\x3f\x4a\x87\x39\x6d\xe4\x29\x3a\xd8\x9d\x37\x3a\x44\xe2\xde\xb0\x6c\x05\xb5\x46\x05\xda\x48\x85\x1a\x98\x00\x2e\xb4\x61\x22\x43\xca\x63\x52\x14\x5b\x1b\x74\x16\x4f\x94\xc8\xcc\x0a\xb9\x5b\xcd\x96\x98\xa8\xbd\xa8\x45\x66\xb8\x74\xf9\xae\xa5\xa1\x94\xb5\x94\x6b\x24\xdb\xc3\xdc\x71\xab\x94\x4b\x65\x95\xd4\x86\xe2\x39\xe7\x96\xb0\x61\xc7\x45\x27\xd5\x86\xe0\xdf\x5a\x77\x67\xac\x28\x30\x9f\x26\xd2\xb3\x15\x66\xf7\x1a\x56\xac\xaa\xc8\x4e\x06\x54\x2d\x0c\x2f\xd1\x92\xe2\x1a\x15\xb0\x46\x43\x6b\xb0\x94\x47\xc3\xeb\x27\x6f\x54\x5a\x21\xdc\xfe\xe7\x18\xcc\x1b\x76\x46\x29\x08\x1f\x0c\x59\x28\xc9\x48\xd6\x67\xa4\x66\xc3\xce\xa1\x73\xc1\x85\x25\x3e\x07\x2d\xe9\xb9\xb2\x3e\x13\x12\x36\x6c\x0b\x0b\x49\xba\x95\xac\xe0\x19\x97\xb5\x76\xee\x30\xd2\xcb\x74\x56\x6c\x4d\x23\x6b\x2f\x96\x0b\x60\x5c\x4d\xe1\x1a\x74\x85\x19\x67\x85\x47\x5a\x0b\x0b\x81\x98\x6b\xe2\x34\x6f\x75\x30\xd2\x22\xb8\x61\xd7\x46\x6d\x6a\x8a\x18\x43\x0d\x43\xab\x4a\xa7\x0a\x4e\xdf\x2a\xb9\xe6\x39\xaa\xf3\xce\xef\xa1\x46\x74\x7f\x7f\xcd\x0a\x42\xd7\x79\x5a\xd7\xa7\x64\xf7\x82\xdc\xe4\xab\x6a\xec\x5b\x5b\x1e\x61\xee\x08\xfd\xee\x35\xac\x9b\x14\xd7\x57\x52\xfd\xea\xa6\x9c\x26\x4c\xdb\x92\x60\xfd\x17\x38\x13\x6a\xc2\x5e\xad\xf5\x09\x2b\x04\xa2\x86\x98\xea\xc7\xb8\xc3\x7a\x02\x1f\x9a\xe7\xf4\xd1\x58\x2c\xa6\x81\xe5\x8b\xc0\xbc\x59\xf2\x98\xaa\x72\x13\x30\xe9\xb0\xc3\xee\x5d\x10\xba\x24\x05\xcc\x7d\x51\xcb\xba\x44\x61\x12\x42\x8a\x9f\x50\x84\xb4\xa3\xf6\x44\xb6\x20\x35\x01\x38\x4d\x77\x6e\x3c\xae\xb4\xcf\x25\x06\xe9\xec\xc4\xd4\xd6\x87\x6b\x48\x3b\xb5\x76\x68\x59\xc9\x22\x4f\x38\x10\xe3\x52\x0a\xdc\x36\x4b\xe7\xc8\xc5\x12\x8c\x62\x42\x2f\x50\x29\xcc\xa7\x24\x46\xa1\xa9\x95\xd0\x76\xbd\xc0\x4d\xb1\x4d\xb8\x84\x80\xf2\x42\x65\x12\x56\x96\xb1\x0b\x50\x0a\x18\x6e\x6c\x2c\xce\xa3\x22\x97\xf0\xc2\x42\xe3\x86\x82\x2a\xd9\x6a\xb2\xe4\x55\xc5\x14\x2b\x21\xa4\x7e\x02\x95\x37\x16\xa1\xc9\x15\x12\x17\x28\x9d\xba\x4e\x6a\xa5\x40\xb3\xec\xdc\xe6\x2c\x1f\xb7\x83\x16\x37\x52\x18\xc6\x85\xb5\xc8\x2a\x61\x57\x8b\x5c\xf7\x2a\xe8\xa1\x9b\x86\x49\x38\x2c\xb0\x79\x81\x13\x22\x6e\x58\x75\x0b\xd8\x0c\x5e\xa5\xa4\x4e\xa3\xbd\xa0\x4c\xbe\x5e\x78\x5b\x24\x04\x54\x76\x06\xcf\x2d\xee\x6f\x38\xb7\x58\x66\x72\x23\x50\xbd\x9c\x32\x77\x6e\x98\x24\xbc\xbc\xb5\x9e\x5f\xc4\x29\xad\x0d\x23\xc7\x6d\xf2\xa4\x08\xf1\x66\x97\xf3\xff\x62\xd6\x0d\x13\x1b\x1a\x2c\x4f\xad\x0d\xdc\xe8\x26\xd0\x3d\xde\x92\x8c\x82\x60\xb7\xa0\x07\xa2\x86\x6b\xf0\xb5\x9b\xa8\xfd\x81\xc3\x92\x69\x12\xe9\xd4\x99\x63\xc6\x6a\x8d\x6d\xf0\x25\x5c\x36\xa4\x66\x14\x70\x14\x5a\xa8\x82\x74\x9f\x85\x5b\x4c\xfd\xa3\xd5\x77\xc5\xd2\xbd\xcc\x11\x05\x21\x4d\xd7\x25\xe6\x76\xbb\xb6\xa8\x2c\xa4\x2d\x8e\x3e\x54\xfc\x91\xe8\x60\x50\x38\x27\x1e\x86\xb2\x05\xb0\x73\xc2\x86\x17\xc5\x60\x3c\xf6\xa6\x64\x02\xb0\x5f\x3d\x76\x02\xfb\x40\xdb\x4d\xa5\x74\x71\xb0\xd1\x07\xcf\x2f\xfc\x39\x5b\xff\x0d\x5e\xc5\xb7\xab\x69\x6a\xe7\x43\x58\xff\xd4\xf1\x9b\x76\xb3\x72\x07\xf2\xbb\x87\xe3\x84\xcc\x9d\x91\x0f\xe2\x3e\xa1\x81\x17\x70\x35\xbd\x4a\x9e\x07\x14\xa5\x09\x26\x82\xbf\x5f\x30\xee\xda\x85\x2f\xd2\x5d\x7d\x4b\xac\x3b\x6b\xe8\x93\x18\x2a\xba\x64\xc2\x8b\xe1\x47\x17\x09\xeb\x84\xe5\xe3\x50\x88\x12\x78\xe8\x28\x23\x17\xb0\x44\x63\x08\x31\xac\x28\x2c\x6a\x42\x95\x07\x77\x0f\xe7\x24\x94\x82\xd4\x1d\x06\x63\x2d\x86\x71\xea\xf3\xc7\x35\x85\xb8\x72\x62\x6e\xb7\x15\x6a\x77\xaa\x09\xf8\x8c\x59\xaf\xed\x99\x02\x6e\xdd\x39\xa1\xa8\xb1\x81\xac\xad\x6b\xf3\xb4\x18\xb5\xe6\x5e\x63\x21\x2b\x4a\x02\x46\xc2\xbd\x90\x1b\xd8\xac\x78\xb6\x02\x1b\x28\x68\xdc\xb9\xac\x62\x5a\x87\x0c\xa2\xdc\xa9\x85\xf6\x36\x9e\x40\x89\x66\x25\x07\x02\xae\xaa\xe7\x36\x08\x96\x68\xac\x25\xc6\x93\x19\xfc\x4e\xbb\x78\xd7\xf1\x9b\xdf\xec\xef\x3b\xce\xa4\xc5\xcf\x87\x3b\x18\xd3\x9b\x5b\xfa\xfb\xed\x78\x72\x7e\x02\xe9\x77\x5c\x57\x05\xdb\x9e\x48\x6d\x63\xf0\x3b\x66\xd8\x49\xf4\xb7\x2d\xfa\xbe\x1d\xa7\x11\xf4\xee\x29\x88\x4b\xb1\xd6\x9e\x94\xf1\x48\x98\xb9\x74\x48\xd0\x71\xe9\x90\xf4\x0e\x1c\x72\xd4\x5c\x79\x60\x4d\xfb\xd1\x09\xda\xa8\x3a\x33\xb5\x22\x58\x54\x0a\xa9\x2e\x04\x6c\x2a\xfc\xa3\x46\x6d\xfa\x18\x0c\xa6\xcb\x18\x5b\xef\x83\x5a\xdb\x0a\x27\x33\xb8\x16\xdb\x9f\xad\xb0\x97\xdd\x32\xbf\xe1\x26\x5b\xd9\xc5\x3d\xe9\x20\x63\x1a\x8f\x87\xd1\x6c\x87\x1e\x5a\x78\x1e\x64\x30\xee\xa5\xa6\xcf\xc2\x78\xb0\xf9\x0c\x1a\xef\xf3\x29\x40\x9d\xd8\x62\x70\xcc\xe2\x97\xbb\x98\x6c\x95\x69\xb0\x7b\x92\x3a\x31\xf2\x8f\x50\xa8\x59\xfe\xb2\x57\xa3\xc9\xa9\x2e\x6b\xad\xd2\xef\x35\x2a\xa4\x25\xe6\x9c\xc1\x8b\xce\xbd\xeb\x07\xfa\x75\x8f\xb3\x78\x81\xb3\x0e\xc9\xbf\x6f\x6f\xdf\xde\xf0\x02\x87\xa9\xe8\x53\xab\x62\x06\xa3\x95\x31\x95\x9e\x5d\x5e\x32\xad\xd1\xe8\xe9\x06\xe7\x54\x56\x2f\x88\xad\x9e\x66\xb2\xbc\xfc\x6a\xf1\xec\xf3\x6f\xbe\xcc\xae\xb2\x7f\xb2\xaf\xb3\x3c\x7f\xf6\xe5\x17\xf3\xcf\xb2\xaf\x3f\xbf\xea\x3c\x60\x5f\x7d\x95\xcd\x3f\xcb\xbe\xf9\xe2\xd9\xfb\x9b\x42\x6e\xde\xff\x26\x55\x5e\x32\x75\x3f\xd5\xeb\xe5\x68\x50\x8f\x9e\x64\x14\x3e\xd6\x1a\x64\xd8\x19\x8c\x78\xc9\x96\x78\xa9\xd7\xcb\x4f\x1f\xca\xa2\x9f\xdb\xae\x67\x12\xb3\xea\x7e\xbb\xea\xf1\xef\xf6\xf1\xbb\x7e\xf2\x63\x62\xc9\x7b\x76\xd8\xd6\x82\x95\xb4\x07\x9f\xe2\x1a\x66\xee\x20\x33\x1a\x36\x80\xde\x96\x73\x49\x2e\x7a\x73\x73\xbb\x67\x59\x8e\x3a\x53\xbc\xa2\x03\xf8\x0c\x46\xb6\xa0\x2e\x82\x08\x7b\x64\x6d\x2e\x8b\xee\x10\x8e\x5e\x0f\xba\x3a\x62\x51\xc1\x56\xd6\xa1\xae\xd2\xff\x0a\x04\xdd\xf0\x6e\x6e\xe1\xef\x52\x90\x27\xa7\x7b\x64\xe3\x83\x41\x25\x58\xf1\xcb\x4f\xdf\x77\x31\xf8\xa6\x7d\x34\x6e\x40\xe6\x65\x5f\x2c\xcc\x54\x8a\x05\x31\x97\x6a\x39\xda\x03\x82\x42\x2e\xa5\x9e\x79\x17\xee\x31\x95\xcc\x38\x2b\xf4\xac\x27\xa5\xc6\x9f\x91\xd9\x70\x63\x50\x8d\x8e\x52\xd6\x2f\xb6\x41\x40\xba\xbe\x9f\x17\x32\xbb\xcf\x56\x8c\x8b\x51\x3f\x5c\x20\x39\x82\xc5\x9f\x93\xf3\x46\x9c\xbe\x3e\x22\xdf\x07\x2e\xc3\x28\xd5\x71\xe7\x7f\xf7\xfc\x1e\xcd\x02\x86\xdd\xa0\xc2\xd4\x61\x97\xc9\xee\x40\x62\x5f\xe4\x3b\xed\x87\x74\x39\x86\x47\xe5\x9b\x5e\x8e\xc7\x65\xa5\xf8\x9a\x19\x0c\x00\xb4\xcc\x2c\xaf\xc3\x9b\xf9\x9e\x8b\x7b\xcc\x5d\x22\xb2\xfe\xfa\x64\x57\xa3\x0f\xfd\x9d\xb5\xc7\xde\xd3\x56\x77\x9b\x27\x08\x38\xd0\xa2\xdb\x2f\x37\x98\xe6\x04\xb9\xa1\x95\xb8\x5f\x80\x6b\x22\xbc\x29\x2b\xb3\xb5\x4c\x42\x7f\x60\x06\xe3\x45\x2d\xe8\x5c\xdd\x73\x41\x3c\x10\xba\x4d\x87\x22\xa1\xec\x4a\x1a\xef\x89\xcb\xfe\x47\x27\x06\x66\x7a\x22\x3e\x35\x30\x23\x2e\xe3\x64\xc2\x38\x74\xf7\x9b\x0c\xdc\xf6\x22\x71\x82\x17\x67\xe9\x82\xc7\x76\x9a\x90\x76\x6a\xd2\x3e\xa3\xf3\xc2\x86\x9b\x15\xb0\xb8\xf1\xf2\x27\x2a\xd9\x76\xcb\x45\xde\xf4\x0d\x79\xdb\x16\x64\x45\x41\x07\x69\xdf\x1e\x9c\xc2\xb5\xeb\x91\x97\xb5\x76\x6d\x42\xd7\x0f\x0e\xdd\xfd\x84\x9b\x1d\x6b\xf8\x23\xb8\xb1\xf3\x9f\x81\x51\x06\xfd\x20\x55\xee\xae\x78\xb6\xd3\xe3\x9e\xb7\xdc\xb2\xcc\x36\x0c\x5d\x9b\x90\xb9\xfa\x17\xc2\x38\xf4\x36\x74\xd3\x9d\x76\xb5\xd1\x6c\x2b\xdc\x9d\x31\xc4\xed\xc3\xd6\x36\xa1\xef\x32\xd8\x87\xa7\x4b\xc1\x2e\x24\x67\xf0\xaa\x8b\xf0\x03\xfd\xb6\xab\xe9\xd5\x24\x76\x5d\x6f\xaf\xdf\xce\x6b\xb9\x36\x8a\x19\xb9\xd3\x94\x1f\x70\x74\xe4\xbd\xde\x61\xd9\xc1\xf6\x6c\x3a\x1c\x23\xf3\x94\xec\x81\x97\x75\x09\x7f\xd4\x4c\x18\x6e\xb6\x71\xbf\xd6\x0f\x5b\x82\x94\x4c\xd6\x45\xee\x95\x19\xec\xd6\x76\x67\x24\xae\x9d\x65\x29\xbd\xd3\xdd\x80\xc4\x0b\x39\xea\xa2\xe6\x44\xfe\x88\x1b\xc7\x7c\x60\xc6\x37\x83\x57\x5e\xf8\x87\xdd\xae\xd3\xde\x21\x61\xf2\x75\x7f\x67\xb5\x5f\x83\x01\x06\x7b\xfb\xac\xc3\x4e\xed\x4c\x1f\x0f\xb6\x6d\xc8\xec\xaf\x8f\xa0\x19\x34\xab\x23\xb6\x48\xf7\x7c\x7a\x2c\xd8\x1d\x71\xee\xb3\x52\x60\x38\x9c\xc9\xc2\x14\x30\x34\x98\x1d\xd6\x6c\x48\x33\x0a\x8c\x90\x0d\xdc\x94\x70\x25\x8b\x66\xb2\xf6\xb4\x89\x5a\x83\x88\x9d\xe6\xc6\xee\x78\xa2\x03\xf7\xb4\x21\xdd\x0c\xf5\xba\xa2\xd6\x4c\x75\xe3\xaa\x6f\x22\x96\x3a\x9f\xb8\xe9\x68\x27\xe7\xb6\x9d\x4e\xd2\xcb\x90\x94\x4d\xf4\xc6\xcb\x79\xc2\x2a\x46\x4c\x4c\xd1\x4d\xe3\x4f\x19\xd6\xf4\x85\x7f\x67\xd3\x4f\x9b\xcb\xb8\xd7\x13\x9e\x12\xe5\x44\xe1\x9a\xc3\x3d\x03\x98\x83\x07\x8e\x4a\x61\xcf\x11\xc4\x3b\xd9\xb6\x6f\x67\x30\x72\x0e\x0a\xba\xd9\xf2\x36\x47\x58\x5a\xd0\x2a\xf2\x8c\xb0\xe5\x72\xf7\x86\xea\xf9\x3c\xf7\xcd\xee\x8e\xbf\x07\xf8\x16\xa8\xb5\x63\x4a\x06\x09\x58\x72\xac\x46\x7b\x4e\x02\xa7\x34\x95\x3f\xed\x1b\x31\xed\xea\x0a\x7d\x1b\x38\x38\x9f\xea\xbc\x47\xd2\x1d\x27\xc1\x47\x4d\xa0\xec\xc4\xb7\x3f\xa3\xf7\x8d\xd8\xba\xdb\x49\xbe\xff\xd5\xf9\x86\x32\xf1\xf1\xb9\xa6\xc9\x9d\x7b\x02\xdf\x0f\x1c\xda\x01\x5b\x78\x19\xe4\x1c\x70\xb1\xc0\xcc\xf0\x35\x16\x5b\x2b\x38\x44\x52\x2c\xbf\x1b\x43\x24\xe0\x47\x69\x70\xe6\xc6\x6d\xee\xfc\x15\xbd\xb7\xc3\x6a\x23\x4b\x66\x38\xa5\x86\x2d\xe8\x7a\x6e\x5f\xa3\xc0\xbc\x99\xbd\x26\x9c\xe2\x94\x93\xbe\x63\x62\xd5\xae\x33\x23\xd5\x5f\x36\xed\x8a\x86\xc2\xb5\xea\x6f\x1a\x77\x33\x04\x2d\xf4\x19\xe2\xff\x3d\xe2\x22\x2a\x16\x30\x36\x3c\xd1\xea\x1f\x30\x75\xc2\xa7\xf3\x5a\xd4\x6e\x2c\x44\x58\xb5\xd1\x10\x6f\xc1\x82\x3e\x4d\x02\x9f\x5d\x5d\xc5\x83\x2e\xbb\xa2\x7b\xc9\x87\x17\x70\xe9\x0f\xde\xbb\x97\xe6\x1e\xd2\xf6\x4e\x4e\x94\x95\xfd\x96\x10\x86\x9b\x4f\x4a\xbb\xdb\x16\x18\x20\x0f\x0b\x53\xf2\xee\x3b\x8b\x43\x5a\xdb\x75\x71\x58\x81\x3b\x87\x44\x08\xb5\x17\x9f\x6e\xdd\x8c\xaa\x99\xbd\xab\xb0\x35\xd2\xb5\x87\x8b\x70\x29\x69\xd1\x9c\xc0\xa4\x3f\x89\x75\x5d\x31\x49\x37\xe3\x33\xc8\x94\xa4\x8c\x9f\x5f\x58\x66\xd1\x1c\xb3\xeb\xa1\x49\xdf\x7e\x18\x38\xdb\x41\xc6\x2a\x36\xe7\x05\x55\x64\x5f\xdd\xed\x45\x2b\x8f\x5f\x22\xc1\x87\x4a\x6a\x8c\x8b\xab\x5d\x78\xe7\xaf\x4a\x77\x7e\x5c\x06\x66\xa5\x64\xbd\x74\xd6\xb9\x0b\x8e\xb8\x03\x7b\xca\x59\xb0\x2c\x32\x42\xb2\x8f\x82\x8b\xfb\xe7\x9f\x0c\xb7\x46\x76\x73\xf3\xa1\x26\x91\x61\x6a\x89\x66\xc0\x1e\xcd\xca\x8f\x37\x8c\x7d\xa9\x6c\xc8\x3a\xde\x9d\x77\xb0\xe0\x58\x34\xb3\x7d\xb8\x8b\xc6\x12\xfd\x96\x7b\x1d\x08\x1b\xc3\xed\xb3\xdb\xb1\x3d\xa0\x5e\x43\xee\x6d\x93\x3d\xd9\x8a\x36\x97\xd9\x22\xd7\x42\x3b\xb9\x7d\x8e\xf7\x23\xd9\xd2\x46\x48\xee\x46\x6d\xea\xb0\x37\x94\xf8\x98\x88\x5f\xb2\xd4\x2b\xb9\x89\xce\xd7\xcd\xdb\x7c\x1b\xa6\x81\xb7\x2f\x0f\x37\x5c\xa2\xdc\xb9\xe7\xdd\xe2\xfe\x70\x7c\x3c\x7b\x3c\xfb\x5f\x00\x00\x00\xff\xff\x3b\x60\x9c\x35\x02\x2f\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\xdd\x6f\xe3\x36\x12\x7f\xcf\x5f\x31\xe7\x03\x7a\x36\x9a\x38\xe9\xd7\x5e\x6b\xec\x76\x37\x7b\xdd\xe0\x0e\x68\x8b\x45\x9b\xb6\x0f\xc5\x62\x97\x96\xc6\x36\x2f\x12\xa9\x92\x94\x1d\x77\x91\xff\xfd\x30\xfc\x90\x48\x59\xb2\x1d\xa7\xe7\x97\xc4\x16\x67\x38\x9c\xf9\xcd\x07\x67\xc4\xcb\x4a\x2a\x03\x37\xb5\x58\xf2\x79\x81\xb7\xf2\x0e\x05\x2c\x94\x2c\x61\x94\xfc\x36\x3a\xf3\x2b\x7f\x40\xc3\x72\x66\xd8\xaf\x1c\x37\xda\xaf\x4c\x7e\x6b\x56\x26\xf4\x7d\x64\xc3\x0b\x46\x67\x67\x2c\xcb\x50\xeb\x31\x2b\x8a\x09\x64\x52\x18\xc5\x32\x03\x6f\xee\x59\x59\x79\x82\x59\x47\xe8\x8f\x67\x67\x00\x00\x97\x97\x97\x70\x2b\x0d\x2b\x40\xd7\x55\x55\x6c\x41\x2e\x12\x32\x0d\x5c\x00\xde\x73\x6d\x50\x64\x68\x49\xe2\xad\xd6\x4c\x81\x21\xf2\x9f\x2d\xf5\x0c\x7e\xb9\xe1\xf7\xcf\xbe\xb4\xeb\x1a\xfe\x3f\x1b\xa9\xd8\x12\x81\x89\x1c\xde\xd6\xf3\x82\x67\xf0\x96\x99\x95\xde\xe1\x56\xa0\x81\x5f\x59\x5d\x18\x4f\x41\xab\x66\x10\x7d\x19\xa6\x70\x7c\x1d\x41\xfb\x7f\xef\xfa\x9f\x30\x43\xbe\x46\xf5\x08\x92\xeb\xbc\xe4\x62\x50\xa8\x56\x91\x2b\x04\x5c\xa3\x30\x60\x56\xcc\x00\xd7\x80\x25\x37\x06\x73\xd8\xac\x50\x80\x59\x61\x6b\x1b\xae\x21\x53\xc8\x0c\xe6\x3b\x3b\x3a\x16\x4e\xfd\xff\x11\xdc\x70\x56\xf0\x3f\x31\x1f\x73\xf7\x7f\xaa\xea\xc9\xf1\xdb\x3b\x7b\x32\x85\xb0\xe1\x66\x95\x2b\xb6\xf1\xd8\x65\x4e\x87\x7b\x05\xf9\x2d\x90\x8c\x59\x29\x6b\x61\xc2\xfe\xe7\x96\xc5\x0c\xae\xf3\x5c\xa1\xd6\x2f\x4f\x92\x27\xc7\x4a\x6a\x4e\x4f\x8c\x3c\x4a\x9a\xef\x02\xc1\x8e\x34\x46\x9e\x22\x8b\xc0\x4d\x2c\x4f\xc9\xc5\x21\xc3\xfc\x60\x97\x74\xb6\x3f\xf1\xf0\xda\x28\xb9\x3d\xb0\xdf\xeb\x5a\x89\x27\xec\xc7\xec\x11\xed\xb9\x14\x28\xd4\xb2\x56\x19\x1e\x06\xa1\x3d\xa5\xfa\x97\x5b\x43\x0f\xe4\x06\xf3\xeb\x27\xc9\x30\xa7\x83\x3c\x46\x06\x7b\xf2\x46\x86\x68\xbb\x37\x2c\x5b\x41\xad\x51\x81\x36\x52\xa1\x06\x26\x80\x0b\x6d\x98\xc8\x90\xe2\x98\x14\xc5\xd6\x3a\x9d\xc5\x13\x05\x32\xb3\x42\xee\x56\xb3\x25\x26\x62\x2f\x6a\x91\x19\x2e\x5d\xbc\x6b\x69\x28\x64\x2d\xe5\x1a\x49\xf7\x30\x77\xdc\x2a\xe5\x42\x59\x25\xb5\x21\x7f\xce\xb9\x25\x6c\xd8\x71\xd1\x09\xb5\xc1\xf9\xb7\xd6\xdc\x19\x2b\x0a\xcc\xa7\xc9\xee\xd9\x0a\xb3\x3b\x0d\x2b\x56\x55\xa4\x27\x03\xaa\x16\x86\x97\x68\x49\x71\x8d\x0a\x58\x23\xa1\x55\x58\xca\xa3\xe1\xf5\x93\x57\x2a\xad\x10\xee\xfc\x73\x0c\xea\x0d\x27\xa3\x10\x84\xf7\x86\x34\x94\x44\x24\x6b\x33\x12\xb3\x61\xe7\xd0\xb9\xe0\xc2\x12\x9f\x83\x96\xf4\x5c\x59\x9b\x09\x09\x1b\xb6\x85\x85\x24\xd9\x4a\x56\xf0\x8c\xcb\x5a\x3b\x73\x18\xe9\xf7\x74\x5a\x6c\x55\x23\x6b\xbf\x2d\x17\xc0\xb8\x9a\xc2\x35\xe8\x0a\x33\xce\x0a\x8f\xb4\x16\x16\x02\x31\xd7\xc4\x69\xde\xca\x60\xa4\x45\x70\xc3\xae\xf5\xda\x54\x15\x31\x86\x1a\x86\x56\x94\x4e\x16\x9c\xbe\x55\x72\xcd\x73\x54\xe7\x9d\xdf\x43\x8e\xe8\xfe\xfe\x9a\x15\x84\xae\xf3\x34\xaf\x4f\x49\xef\x05\x99\xc9\x67\xd5\xd8\xb6\x36\x3d\xc2\xdc\x11\xfa\xd3\x6b\x58\x37\x21\xae\x2f\xa5\xfa\xd5\x4d\x3a\x4d\x98\xb6\x29\xc1\xda\x2f\x70\x26\xd4\x84\xb3\x5a\xed\x13\x56\x08\x44\x0d\x31\xe5\x8f\x71\x87\xf5\x04\x3e\x36\xcf\xe9\xa3\xb1\x58\x4c\x03\xcb\x17\x81\x79\xb3\xe4\x21\x15\xe5\x26\x60\xd2\x61\x87\xdd\x39\x27\x74\x41\x0a\x98\xfb\xa2\x96\x75\x89\xc2\x24\x84\xe4\x3f\x21\x09\x69\x47\xed\x89\x6c\x42\x6a\x1c\x70\x9a\x9e\xdc\x78\x5c\x69\x1f\x4b\x0c\x52\xed\xc4\xd4\xd6\xbb\x6b\x08\x3b\xb5\x76\x68\x59\xc9\x22\x4f\x38\x10\xe3\x52\x0a\xdc\x36\x4b\xe7\xc8\xc5\x12\x8c\x62\x42\x2f\x50\x29\xcc\xa7\xb4\x8d\x42\x53\x2b\xa1\xed\x7a\x81\x9b\x62\x9b\x70\x09\x0e\xe5\x37\x95\x89\x5b\x59\xc6\xce\x41\xc9\x61\xb8\xb1\xbe\x38\x8f\x92\x5c\xc2\x0b\x0b\x8d\x1b\x72\xaa\xe4\xa8\xc9\x92\x57\x15\x53\xac\x84\x10\xfa\x09\x54\x5e\x59\x84\x26\x97\x48\x9c\xa3\x74\xf2\x3a\x89\x95\x02\xcd\xb2\x73\x87\xb3\x7c\xdc\x09\x5a\xdc\x48\x61\x18\x17\x56\x23\xab\x84\x5d\x2d\x72\xdd\x2b\xa0\x87\x6e\xea\x26\xa1\x58\x60\xf3\x02\x27\x44\xdc\xb0\xea\x26\xb0\x19\xbc\x4a\x49\x9d\x44\x7b\x41\x99\x7c\xbd\xf0\xba\x48\x08\x28\xed\x0c\xd6\x2d\xee\x6f\xa8\x5b\x2c\x33\xb9\x11\xa8\x5e\x4e\x99\xab\x1b\x26\x09\x2f\xaf\xad\xe7\x17\x71\x48\x6b\xdd\xc8\x71\x9b\x3c\xca\x43\xbc\xda\xe5\xfc\xbf\x98\x75\xdd\xc4\xba\x06\xcb\x53\x6d\x03\x37\xba\x71\x74\x8f\xb7\x24\xa2\x20\xd8\x23\xe8\x01\xaf\xe1\x1a\x7c\xee\x26\x6a\x5f\x70\x58\x32\x4d\x5b\x3a\x71\xe6\x98\xb1\x5a\x63\xeb\x7c\x09\x97\x0d\x89\x19\x39\x1c\xb9\x16\xaa\xb0\xbb\x8f\xc2\x2d\xa6\xfe\xd1\xca\xbb\x62\xe9\x59\xe6\x88\x82\x90\xa6\xeb\x12\x73\x7b\x5c\x9b\x54\x16\xd2\x26\x47\xef\x2a\xbe\x24\x3a\xe8\x14\xce\x88\x87\xa1\x6c\x01\xec\x8c\xb0\xe1\x45\x31\xe8\x8f\xbd\x21\x99\x00\xec\x57\x8f\xdd\x86\x7d\xa0\xed\x86\x52\xba\x38\x58\xef\x83\xe7\x17\xbe\xce\xd6\x7f\x83\x57\xf1\xed\x6a\x9a\xea\xf9\x10\xd6\x3f\x75\xfc\xa6\xdd\xa8\xdc\x81\xfc\x6e\x71\x9c\x90\xb9\x1a\xf9\x20\xee\x13\x1a\x78\x01\x57\xd3\xab\xe4\x79\x40\x51\x1a\x60\x22\xf8\xfb\x05\xe3\xae\x5e\xf8\x22\x3d\xd5\xb7\xc4\xba\xb3\x86\x3e\x89\xa2\xa2\x4b\x26\xbc\x18\x7e\x74\x91\xb0\x4e\x58\x3e\x0c\xb9\x28\x81\x87\x4a\x19\xb9\x80\x25\x1a\x43\x88\x61\x45\x61\x51\x13\xb2\x3c\xb8\x7b\x38\xa7\x4d\xc9\x49\x5d\x31\x18\x4b\x31\x8c\x53\x1f\x3f\xae\xc9\xc5\x95\xdb\xe6\x76\x5b\xa1\x76\x55\x4d\xc0\x67\xcc\x7a\x6d\x6b\x0a\xb8\x75\x75\x42\x51\x63\x03\x59\x9b\xd7\xe6\x69\x32\x6a\xd5\xbd\xc6\x42\x56\x14\x04\x8c\x84\x3b\x21\x37\xb0\x59\xf1\x6c\x05\xd6\x51\xd0\xb8\xba\xac\x62\x5a\x87\x08\xa2\x5c\xd5\x42\x67\x1b\x4f\xa0\x44\xb3\x92\x03\x0e\x97\xd4\x27\x1c\x37\xd6\x23\x96\x68\xac\x5a\xc6\x93\x19\xfc\x4e\x47\x7a\xf7\xb1\x2f\x70\xda\x47\xcf\x87\x9b\x17\xd3\x9b\x5b\xfa\xfb\xed\x78\x72\xbe\x03\x01\xfa\x1c\x26\xff\x8e\xeb\xaa\x60\xdb\x27\x70\xb0\x6e\xf8\x1d\x33\xec\x64\x1e\xb7\x2d\x08\xbf\x1d\x4f\xde\x3d\x06\x6b\x29\xca\xda\x1a\x19\x8f\x04\x98\x0b\x84\x64\x16\x17\x08\x49\xd4\xc0\x21\x47\xcd\x95\x87\xd4\xb4\x1f\x97\xa0\x8d\xaa\x33\x53\x2b\x02\x44\xa5\x90\x32\x42\x40\xa5\xc2\x3f\x6a\xd4\xa6\x8f\xc1\x60\xa0\x8c\x51\xf5\x3e\x88\xb5\xad\x70\x32\x83\x6b\xb1\xfd\xd9\x6e\xf6\xb2\x9b\xe0\x37\xdc\x64\x2b\x07\xad\xdd\x40\x90\x31\x8d\xc7\x18\xd1\xa1\x68\xd6\x6b\x3f\x7f\xda\x83\x0c\xc6\xbd\xd4\xf4\x59\x18\x8f\x33\x1f\x3b\xe3\x73\x3e\x06\xa3\x13\x9b\x06\x8e\x59\xfc\xb2\x1f\x8a\x4e\x98\x06\xb2\x27\x89\x13\x03\xfe\x08\x81\x9a\xe5\x2f\x7b\x25\x9a\x9c\x6a\xb2\x56\x2b\xfd\x56\xa3\x14\x5a\x62\xce\x19\xbc\xe8\xdc\xb8\x7e\xa0\x5f\xf7\x18\x8b\x17\x38\xeb\x90\xfc\xfb\xf6\xf6\xed\x0d\x2f\x70\x98\x8a\x3e\xb5\x2a\x66\x30\x5a\x19\x53\xe9\xd9\xe5\x25\xd3\x1a\x8d\x9e\x6e\x70\x4e\x09\xf5\x82\xd8\xea\x69\x26\xcb\xcb\xaf\x16\xcf\x3e\xff\xe6\xcb\xec\x2a\xfb\x27\xfb\x3a\xcb\xf3\x67\x5f\x7e\x31\xff\x2c\xfb\xfa\xf3\xab\xce\x03\xf6\xd5\x57\xd9\xfc\xb3\xec\x9b\x2f\x9e\xbd\xbf\x29\xe4\xe6\xfd\x6f\x52\xe5\x25\x53\x77\x53\xbd\x5e\x8e\x06\xe5\x18\x88\x41\xf4\xb1\xda\x20\xc5\xce\x60\xc4\x4b\xb6\xc4\x4b\xbd\x5e\x7e\x7a\x5f\x16\xfd\xdc\x76\x2d\x93\xa8\x55\xf7\xeb\x55\x8f\x7f\xb7\x8f\xdf\xf5\x93\x1f\xe3\x4b\xde\xb2\xc3\xba\x16\xac\xa4\x33\xf8\x10\xd7\x30\x73\x25\xcc\x68\x58\x01\x7a\x5b\xce\x25\x99\xe8\xcd\xcd\xed\x9e\x65\x39\xea\x4c\xf1\x8a\x4a\xef\x19\x8c\x6c\x2a\x5d\x84\x2d\x6c\xb1\xda\x5c\x13\x5d\xf9\x8d\x5e\x0e\xba\x34\x62\x51\xc1\x56\xd6\x21\xa3\xd2\xff\x0a\x04\xdd\xed\x6e\x6e\xe1\xef\x52\x90\x25\xa7\x7b\xf6\xc6\x7b\x83\x4a\xb0\xe2\x97\x9f\xbe\xef\x62\xf0\x4d\xfb\x68\xdc\x80\xcc\xef\x7d\xb1\x30\x53\x29\x16\xc4\x5c\xaa\xe5\x68\x0f\x08\x0a\xb9\x94\x7a\xe6\x4d\xb8\x47\x55\x32\xe3\xac\xd0\xb3\x9e\x90\x1a\x7f\x46\x66\xc3\x8d\x41\x35\x3a\x4a\x58\xbf\xd8\x3a\x01\xc9\xfa\x7e\x5e\xc8\xec\x2e\x5b\x31\x2e\x46\xfd\x70\x81\xa4\xf8\x8a\x3f\x27\xc7\x8d\x38\x7c\x3d\x21\xde\x07\x2e\xc3\x28\xd5\x71\xcf\x7f\xb7\x72\x8f\xa6\x00\xc3\x66\x50\x61\xde\xb0\xcb\x64\x77\x14\xb1\xcf\xf3\x9d\xf4\x43\xb2\x1c\xc3\xa3\xf2\xed\x2e\xc7\xe3\xb2\x52\x7c\xcd\x0c\x06\x00\x5a\x66\x96\xd7\xe1\xc3\x7c\xcf\xc5\x1d\xe6\x2e\x10\x59\x7b\x7d\xb2\x2b\xd1\xc7\xfe\x9e\xda\xc3\x60\x91\x15\x1f\xf3\x84\x0d\x0e\x34\xe7\xf6\xef\x1b\x54\x73\xc2\xbe\xa1\x89\xb8\x7f\x03\xd7\x3e\x78\x53\x56\x66\x6b\x99\x84\xce\xc0\x0c\xc6\x8b\x5a\x50\x11\xdd\x73\x35\x3c\xe0\xba\x4d\x6f\x22\xa1\xec\xee\x34\xde\xe3\x97\xfd\x8f\x4e\x74\xcc\xb4\x08\x3e\xd5\x31\x23\x2e\xe3\x64\xb6\x38\x74\xeb\x9b\x0c\xdc\xf3\xa2\xed\x04\x2f\xce\xd2\x05\x0f\xed\x1c\x21\xed\xd1\xa4\x1d\x46\x67\x85\x0d\x37\x2b\x60\x71\xcb\xe5\x4f\x54\xb2\xed\x93\x8b\xbc\xe9\x18\xf2\xb6\x21\xc8\x8a\x82\x0a\x69\xdf\x18\x9c\xc2\xb5\xeb\x8e\x97\xb5\x76\x0d\x42\xd7\x09\x0e\x7d\xfd\x84\x9b\x1d\x68\xf8\x12\xdc\xd8\xc9\xcf\xc0\x10\x83\x7e\x90\x2a\x77\x97\x3b\xdb\xe3\x71\xcf\x5b\x6e\x59\x66\x5b\x85\xae\x41\xc8\x5c\xfe\x0b\x6e\x1c\xba\x1a\xba\xe9\x4b\xbb\xdc\x68\xb6\x15\xee\x4e\x17\xe2\xc6\x61\xab\x9b\xd0\x71\x19\xec\xc0\xd3\xa5\x60\x17\x92\x33\x78\xd5\x45\xf8\x81\x4e\xdb\xd5\xf4\x6a\x12\x9b\xae\xb7\xcb\x6f\x27\xb5\x5c\x1b\xc5\x8c\xdc\x69\xc7\x0f\x18\x3a\xb2\x5e\xef\x98\xec\x60\x63\x36\x1d\x8b\x91\x7a\x4a\x76\xcf\xcb\xba\x84\x3f\x6a\x26\x0c\x37\xdb\xb8\x53\xeb\xc7\x2c\x61\x97\x4c\xd6\x45\xee\x85\x19\xec\xd3\x76\xa7\x23\xae\x91\x65\x29\xbd\xd1\xdd\x68\xc4\x6f\x72\xd4\x45\xcd\x6d\xf9\x23\x6e\x1c\xf3\x81\xe9\xde\x0c\x5e\xf9\xcd\x3f\xee\xf6\x9b\xf6\x8e\x07\x93\xaf\xfb\x7b\xaa\xfd\x12\x0c\x30\xd8\xdb\x61\x1d\x36\x6a\x67\xee\x78\xb0\x61\x43\x6a\x7f\x7d\x04\xcd\xa0\x5a\x1d\xb1\x45\xba\xe7\xd3\xa3\xc1\xee\x70\x73\x9f\x96\x02\xc3\xe1\x48\x16\xe6\x7f\xa1\xb5\xec\xb0\x66\x5d\x9a\x91\x63\x84\x68\xe0\xe6\x83\x2b\x59\x34\x33\xb5\xc7\xcd\xd2\x1a\x44\xec\x34\x37\x76\x07\x13\x1d\xb8\xa7\xad\xe8\x66\x9c\xd7\xdd\x6a\xcd\x54\xd7\xaf\xfa\x66\x61\xa9\xf1\x89\x9b\x8e\x4e\x72\x6e\x1b\xe9\xb4\x7b\x19\x82\xb2\x89\xde\x75\x39\x4f\x58\xc5\x88\x89\x29\xba\x61\xfc\x31\x63\x9a\x3e\xf7\xef\x1c\xfa\x71\x13\x19\xf7\x62\xc2\x63\xbc\x9c\x28\x5c\x5b\xb8\x67\xf4\x72\xb0\xe0\xa8\x14\xf6\x94\x20\xde\xc8\xb6\x71\x3b\x83\x91\x33\x50\x90\xcd\xa6\xb7\x39\xc2\xd2\x82\x56\x91\x65\x84\x4d\x97\xbb\x37\x54\xcf\xe7\xb9\x6f\x73\x77\xec\x3d\xc0\xb7\x40\xad\x1d\x53\x52\x48\xc0\x92\x63\x35\xda\x53\x09\x9c\xd2\x4e\xfe\xb4\x6f\xb8\xb4\x2b\x2b\xf4\x1d\xe0\xe0\x64\xaa\xf3\x06\x49\x77\x90\x04\x4f\x9a\x3d\xd9\x59\x6f\x7f\x44\xef\x1b\xae\x75\x8f\x93\x7c\xff\xab\xe3\x0d\x45\xe2\xe3\x63\x4d\x13\x3b\xf7\x38\xbe\x1f\x35\xb4\xa3\xb5\xf0\x1a\xc8\x39\xe0\x62\x81\x99\xe1\x6b\x2c\xb6\x76\xe3\xe0\x49\xf1\xfe\x5d\x1f\xa2\x0d\x7e\x94\x06\x67\x6e\xd0\xe6\xea\xaf\xe8\x8d\x1d\x56\x1b\x59\x32\xc3\x29\x34\x6c\x41\xd7\x73\xfb\x02\x05\xe6\xcd\xd4\x35\xe1\x14\x87\x9c\xf4\xed\x12\x2b\x76\x9d\x19\xa9\xfe\xb2\x39\x57\x34\x0e\xae\x55\x7f\xd3\xb8\x1b\x21\x68\xa1\x8f\x10\xff\xef\xe1\x16\x51\xb1\x80\xb1\xe1\x59\x56\xff\x68\xa9\xe3\x3e\x9d\x17\xa2\x76\x7d\x21\xc2\xaa\xf5\x86\xf8\x08\x16\xf4\x69\x10\xf8\xec\xea\x2a\x1e\x71\xd9\x15\xdd\x4b\x3e\xbc\x80\x4b\x5f\x78\xef\x5e\x9a\x7b\x48\xdb\x3b\x39\x51\x56\xf6\x5b\x42\x18\x6e\x3e\x29\xed\x6e\x5b\x60\x80\x3c\x2c\x4c\xc9\xbb\x6f\x2b\x0e\x49\x6d\xd7\xc5\x6e\x05\xae\x0e\x89\x10\x6a\x2f\x3e\xdd\xbc\x19\x65\x33\x7b\x57\x61\x6b\xa4\x6b\x0f\x17\xe1\x52\xd2\xa2\x39\x81\x49\x7f\x10\xeb\x9a\x62\x92\x1e\xc6\x47\x90\x29\xed\x32\x7e\x7e\x61\x99\x45\x13\xcc\xae\x85\x26\x7d\xe7\x61\xe0\x74\x07\x19\xab\xd8\x9c\x17\x94\x91\x7d\x76\xb7\x17\xad\x3c\x7e\x7d\x04\xef\x2b\xa9\x31\x4e\xae\x76\xe1\x07\x7f\x55\xfa\xe0\x07\x65\x60\x56\x4a\xd6\x4b\xa7\x9d\x0f\xc1\x10\x1f\xc0\x56\x39\x0b\x96\x45\x4a\x48\xce\x51\x70\x71\xf7\xfc\x93\xe1\xd6\xc8\x6e\x6c\x3e\xd4\x24\x32\x4c\x2d\xd1\x0c\xe8\xa3\x59\xf9\x74\xc5\xd8\xd7\xc9\x86\xb4\xe3\xcd\xf9\x01\x16\x1c\x8b\x66\xaa\x0f\x1f\xa2\xb1\x44\xbf\xe6\x5e\x07\xc2\x46\x71\xfb\xf4\x76\x6c\x0f\xa8\x57\x91\x7b\xdb\x64\x8f\xd6\xa2\x8d\x65\x36\xc9\xb5\xd0\x4e\x6e\x9f\xe3\xfd\x48\xb6\xb4\x11\x92\xbb\x5e\x9b\x1a\xec\x0d\x05\x3e\x26\xe2\xd7\x2b\xf5\x4a\x6e\xa2\xfa\xba\x79\x8f\x6f\xc3\x34\xf0\xf6\xb5\xe1\x86\x4b\x14\x3b\xf7\xbc\x55\xdc\xef\x8e\x0f\x67\x0f\x67\xff\x0b\x00\x00\xff\xff\x29\x0b\xe9\x61\xfc\x2e\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -117,11 +117,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x35, 0xa9, 0x9a, 0x9d, 0x76, 0x8b, 0xa1, 0xcb, 0x71, 0x43, 0x4f, 0xf1, 0xfd, 0xeb, 0xba, 0x67, 0x21, 0x33, 0x73, 0x17, 0x1d, 0x57, 0x4d, 0xb0, 0xbb, 0xe1, 0xe8, 0xab, 0xba, 0xa3, 0xd4, 0x67}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0xec, 0xf9, 0x91, 0xa7, 0xf7, 0xce, 0x55, 0xdf, 0x68, 0xc3, 0x8c, 0x14, 0xd5, 0x80, 0x90, 0x67, 0xba, 0x37, 0x6c, 0xa1, 0x3d, 0x1e, 0x5f, 0x39, 0x22, 0x27, 0x2d, 0x6a, 0x34, 0xa5, 0xd6}}
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x8f\x1b\xb7\x11\x7f\xdf\x4f\x31\xb8\x00\xb5\x94\x2a\x3a\x3f\x14\x7d\x10\x62\xbb\x76\x12\x17\x79\x68\x10\xd8\xd7\xf8\xa1\x28\x2a\x6a\x77\x56\xcb\x78\x97\xdc\x90\x5c\xc9\xea\xe1\xbe\x7b\x31\x43\x72\xff\x69\xf5\xe7\x2e\x76\x51\xd4\x0f\x67\x69\x97\x1c\x0e\x87\x33\xbf\xf9\xcd\x50\xb7\x5f\x7f\x9d\x24\x5f\xc1\x5d\x81\xf0\xb6\xd4\x7b\x78\xdb\xa8\xad\xdc\x94\x08\x77\xfa\x23\x2a\xb0\x4e\xa8\x4c\x98\x2c\x49\xbe\xfa\x0a\xd6\xf1\x25\xbf\x5b\x43\xaa\x95\x33\x22\x75\x49\xc2\xd3\xa7\x67\x82\xb4\xa0\x34\x94\x5a\x6d\xd1\x80\x50\x20\x95\x43\x93\x8b\x14\x13\x57\x08\x07\xa2\x2c\x21\x8f\x53\x1d\x4f\x8d\x72\x2d\xec\x75\x53\x66\x50\x88\x1d\xbd\xa2\xe7\xb9\x36\x15\x38\xbd\x4c\x92\x1f\x73\x10\xd0\x58\x34\x16\xf6\x42\x39\x4b\x03\x32\xac\x4b\x7d\x00\x01\x0a\xf7\x23\x59\x0b\x70\x05\x4a\xd3\xe9\x9c\x69\x24\xc5\x1c\x28\xc4\x8c\x26\xcb\xaa\x2e\xb1\x42\xe5\x68\x24\x0c\xb6\xda\xe9\xbc\x80\x4d\xe3\x82\x28\x5e\xc0\x26\x99\x3e\x21\xa2\x9d\x64\x21\xc3\x5c\x2a\xcc\x40\x2a\x70\x85\xb4\xad\x16\x4b\x6f\xd7\x5f\x44\x53\xba\x35\x18\xb4\xba\x31\x69\x6f\x66\x92\xfc\x20\xd2\x62\x6c\x9f\x76\x9c\x3b\xd4\xc8\x8b\xdb\xe3\xd5\x4f\x0b\x0d\x8b\xfe\x6c\xf4\x4e\x66\x68\xd6\x0b\x58\xbf\xc3\x14\xe5\x8e\x3f\x0b\x95\xc1\xfa\x8d\x28\x85\x4a\x71\x6a\xb6\xe5\xd3\xb6\xa3\xed\xa5\xa5\x30\x08\xb5\xc1\x6f\x52\xad\x32\xe9\xa4\x56\x96\x45\xd5\xda\xba\xfe\x33\x3e\x73\x83\xd6\x19\x99\xba\x84\x14\xc5\x4f\x98\x36\xf4\x12\x74\xce\x9a\xe7\x8d\x4a\xfd\x60\x36\x17\x02\xef\x64\xc9\xeb\x1e\x80\xd6\xb1\x58\x0b\x23\x1c\xc2\x06\x53\xd1\x90\x2e\x0e\xb6\x72\x87\x96\x87\x93\x53\xf0\x07\xb1\x91\xa5\x74\x07\xb2\x8d\x2d\x84\xc1\x44\x80\xc1\x1c\x0d\xaa\x94\xfd\xc9\x1f\x23\x4b\xf7\x7a\x69\x55\x1e\x00\x3f\xd5\xda\x06\x51\xb9\xc4\x32\xb3\x9d\x46\x89\x54\xa0\x15\x82\x36\x50\x69\x83\x51\xe3\xce\x14\xe4\x98\xe4\xd3\x56\x07\x85\xbc\x87\x8e\xb4\xa9\xc4\x47\x84\xb4\xb1\x4e\x57\xad\x85\x83\x69\xda\x43\x24\xdb\x0c\xad\x4c\x0e\xae\x61\x27\x8c\xd4\x0d\x8d\x96\x6a\x6b\x61\x2f\x5d\xc1\xe2\xbd\x37\x2e\x93\xb7\xda\x00\x7e\x12\x24\x66\x01\x02\x72\xd1\xa4\xe8\x20\x15\x0a\x36\xd8\x49\xc7\x0c\x36\x87\x18\x50\x52\x6d\x13\x6f\x0e\x88\x4e\x31\xf0\x96\xaf\x6f\x93\x44\x56\xb5\x36\x0e\x7e\x91\xb8\x7f\x87\x56\x97\x3b\x34\x90\x1b\x5d\xc1\x4d\xff\xd1\x4d\x92\xdc\xde\xde\x0e\x83\x87\x9e\x0c\x9e\x06\x80\x68\x75\x11\xc1\x5b\x0c\xf6\x80\xc2\xe0\x6f\x8d\x34\x53\x61\x35\x0c\x06\x96\xdc\x29\x0b\x1f\x10\xac\x93\x65\xe9\x41\x43\x3a\x10\x76\x00\x3a\x50\xa0\xe9\xfc\xc6\xf1\x37\x76\x29\x5d\xb1\xe7\xe4\x4d\xc9\x22\x1b\xe7\x4f\xab\x42\x57\xe8\x2c\x1c\x4e\x25\xd4\x01\x6a\xa3\x7f\x45\x06\x27\x5a\xc6\x2f\x46\x08\x44\x9a\xf2\xa2\x5a\x8d\xb0\xc6\x2e\x58\x64\x40\x0e\xef\xc2\x9b\x03\x6d\xb6\x42\xa1\x6c\xbb\xd7\x25\x83\xa1\x77\x83\xee\x29\x7d\xe6\x67\xed\x29\xfb\x3d\x47\xa3\xd8\x41\xb8\x77\xd0\x21\xd2\x14\xad\x9d\x89\xb2\x9c\xb7\x9a\x8c\x60\xed\x3e\x49\x00\x00\x6e\x6f\xe1\xb5\x02\x54\x4e\xba\x60\xe7\x5c\x1b\xd2\x45\xef\xa5\xda\xb2\x78\x72\xb3\xcc\x88\xbd\x28\xd9\xe7\xd9\xd7\xfc\xf9\x0b\x1f\x40\x2c\xa8\xbf\x64\x5f\xdc\x87\x38\x7b\x53\x62\x5c\xf2\x96\x73\x0e\xee\xfc\xb1\xfa\x2d\x63\x25\x1d\xb9\xe6\xbe\x40\x15\x17\x21\x63\xc5\xd5\xd5\x85\x25\x77\xfd\xc5\x66\xa2\xd2\x8d\x72\x2b\xf8\xfb\x5b\xf9\xe9\xcf\x7f\x5a\xf0\xdc\x15\xbc\xce\x32\x83\xd6\xbe\x5a\x30\x7a\xae\xe0\xbd\x33\x52\x6d\xe7\x7d\x61\x16\xcb\x7c\x4e\x7e\xc6\x0a\x45\x79\x3f\x90\xf4\xc7\x09\x5d\xc1\x1b\xad\x4b\xb8\x67\xe1\xf4\x8f\xe4\x1d\x2b\xe8\xff\x8f\xb2\xe8\x6f\x94\x43\x7f\xe7\xed\x6c\x83\xae\x31\x0a\x9c\x69\x90\x9f\x3d\x3c\xc5\x96\x19\xd6\xda\x4a\xe7\x23\xeb\xbc\x25\xbf\xf7\x43\x8f\xf6\xec\xf4\x13\xcc\x18\x84\x4d\x5b\xf1\x8c\xc4\x69\x1b\x8e\x55\x8b\x26\x24\x41\x4e\x7f\x41\xf3\x39\x23\x94\xcd\xd1\x50\x60\xb2\x33\x52\x3a\x10\x69\x4a\xcb\xb3\x45\x95\x26\x50\x39\x61\xd1\xbb\x30\xfb\xb2\x1b\x3d\xc5\xc4\x51\xfa\x95\x9e\xfa\x58\x9b\x1f\x29\x3f\xe9\xb7\x4f\x3b\x00\x56\xf9\x8c\xcf\x5a\x67\xf4\x01\xb3\x13\x66\x7d\xd3\x18\x75\xec\x53\x03\xa3\x9d\xb6\x1a\x4d\x3e\xe1\x95\x67\x6d\x22\xf3\x60\x00\x78\xf9\x02\x9e\x2f\x9f\xf7\x5e\xb5\x26\x1b\x28\xd6\xfa\xe8\x84\x69\x1e\xae\x31\x52\x4c\xce\xf1\xc1\xc0\x7d\xbb\x0c\xc7\x2e\x8c\x94\xd9\xd3\x40\x63\x42\x2a\xf1\xd9\x82\xb0\x3d\x02\x2a\x65\xfe\x28\xa4\x0f\xea\x4c\x6a\x62\x82\xe1\x1c\x70\xa8\x71\x79\xb4\xee\x8f\x0e\x5a\x1a\x1d\x16\x1c\xae\xa5\x15\xac\x37\x91\x4b\x52\xae\x5d\xb4\x73\x7b\xd4\xad\x44\x41\x54\x49\xd7\xe8\xf9\x5e\xad\xad\x95\x81\x2d\xe9\x1c\x52\x83\x82\x95\x08\x8c\xa9\x0e\x66\xb0\x9d\xea\xb4\x63\xe2\xe1\x4c\xe7\xe9\x8c\x85\x91\xe5\x21\xf0\x72\xce\xc5\x7a\xaf\x20\x68\x32\xdc\x47\xdf\x9b\x8e\xd9\x6e\x47\x88\x42\xae\x8c\x4b\x46\x0b\x82\x6d\x36\xa1\x58\x19\x1b\x50\xef\x15\x9a\x67\xb6\x07\xb1\x71\x32\x11\x63\x7f\xce\x36\x42\x70\x47\xe4\x0c\x56\x7a\xc7\xf0\xec\x09\x5d\x6f\xe2\x40\xc8\x5d\x8f\x2a\x3f\xb3\x61\x1f\x50\xe2\x0e\x4b\x02\xb0\xba\xd9\x94\x32\x8d\xf5\x8a\xb4\xbe\x0e\x73\x20\xc8\x7e\x9b\x12\xab\x81\xb0\x78\x1a\xcc\x80\x5b\xe5\xc1\x3a\x6d\x22\x05\xe8\x19\x27\xd8\x34\xc0\xde\x40\x50\xca\x64\x4b\x3a\x29\xca\xf2\x00\xa9\x27\x34\xb2\xa3\xd0\xe7\xf7\xe3\x57\xad\xc4\x01\xb6\x86\x28\x15\x63\x69\x5c\xa7\xdd\x23\x31\xd7\xe8\x13\xb4\x1d\xb9\x13\x0e\x47\x5a\xd4\x2d\xdd\x0e\x45\xa6\xde\x5b\xb0\x35\xa6\x32\x97\x69\x90\x1b\xb8\xb9\x0e\x72\x07\x12\xd8\x0f\xe3\xd9\x77\x05\x57\x61\x74\xb3\x2d\xa0\x57\x48\x5c\xbb\x21\x5f\x13\xf0\xae\xc8\x28\x17\xf6\xc4\x87\x77\xcd\x96\x48\xd6\x68\x1f\x03\xdd\x07\x32\x1e\xbf\x8f\x10\x1d\x7d\x02\xe7\x91\x73\x3f\xcd\xb2\xe6\x2b\xf8\xcb\x6b\x75\x78\x17\x16\xba\x67\xdf\x7e\x18\x41\x23\xd5\x84\xa3\x47\x7e\x5d\x58\x1b\xb4\xa1\x6a\xcd\xc3\x9e\xbc\xeb\x31\x26\xee\x44\xd9\xe0\xd1\x34\x3f\x65\xb9\x45\x17\xaa\xd6\xd9\x1c\x5e\xbc\x08\x68\xbb\x3a\x1a\x4e\xff\x6e\x3e\x74\x74\x36\x60\x78\xd5\x58\x47\x15\x12\x2d\x67\x45\x85\x54\x37\xd0\xe7\x80\x19\xb1\xd2\xeb\x98\x28\xef\xec\x66\x62\x13\x03\x8a\xbd\x3c\xcd\x20\x87\xd9\x93\x72\xd2\x92\xbd\xe5\xd5\x52\xf8\xac\x1c\x33\x05\xbf\xda\xa2\xbb\x3b\xd4\x38\x9b\x2f\x65\x46\x98\x9c\x4b\x34\xf3\xc1\xea\x0f\xa3\x64\xd2\x4b\x1c\xb1\xbc\xff\xfd\x89\x23\xb0\xc7\x89\xbc\x21\x55\x38\xac\x2b\xf2\xc6\x07\x8c\x68\x2d\x55\x5a\x36\x19\x82\x80\xb6\x47\xe0\xd5\x48\x0b\x4c\x3f\x0e\x8f\x20\x60\x54\x2b\x65\x8f\x6d\xdd\x45\xb5\xf6\x35\xa5\xb6\x37\x83\xaf\xa7\x12\xe8\x41\x56\xa6\xe3\xa0\xe9\xba\x7a\x01\xa5\xfc\x88\x60\xeb\x52\x72\x21\x56\x41\x53\x13\x8c\xb7\x42\x2c\xaa\xcc\xbf\xa0\x32\x5d\xe6\x1c\x55\x0e\xea\xd2\x77\x05\xe0\xfa\x8c\x13\x0f\x6b\x9c\x71\x82\xe9\xc1\x89\x8f\xd8\xa5\x0d\x4a\x25\xe1\x8d\xa5\x5c\x3a\x7d\x0c\x83\x8e\xd1\xb9\x40\x67\xa5\x28\xbe\x83\xcc\x99\xf7\xce\x89\x98\x9e\x0f\xb5\xdb\xa2\x7b\xdf\xd4\xb5\x36\x0e\x33\x1e\x40\xde\x4a\x39\x9d\x8e\x94\x73\x41\x97\xf0\x4a\x69\x1d\x05\xd4\xce\x77\x5e\x78\x60\xa8\x70\xb9\xee\x0d\xfb\x27\x95\x6a\x67\x27\x55\xdc\x49\xdc\xb3\x9e\xd3\xeb\xce\xe6\x2b\xb8\xbf\xe3\xe8\x21\xd6\x36\x06\xa0\xdb\x5b\x78\x83\xa5\xde\x7b\x2f\xa3\xcc\xd8\x6f\x8c\x44\xaf\xb1\x8d\x09\x31\x61\x1a\xf5\x8d\x93\x55\x68\xb8\x71\x53\x72\x2c\x8f\x13\xe7\x16\x5d\xd8\x66\x4b\x62\x09\x8a\x05\xbb\x42\x7b\x06\xa1\xeb\x12\x7c\x6c\xd8\x54\x5d\xfa\x32\x7e\x09\x03\xf9\x32\x3f\x02\x01\xfb\xbe\xd9\x90\x36\x33\x9d\xaf\x80\x1e\x7e\x3b\x38\xa3\x09\xa1\x0f\x2f\x67\xf3\xf9\x04\xec\x06\x70\xbd\x1f\xae\xb0\x62\x06\xfa\x30\x44\x18\xc0\xd2\xe2\x34\x72\xbf\xf3\x52\x04\x71\xea\xda\x1d\x20\x93\x9c\xee\x85\x39\x44\x24\xcd\x30\xe7\xf3\x66\x14\x67\x30\x69\x2d\xb2\x2f\x34\x64\x5a\x3d\x73\x53\x92\xbb\xee\xcf\xa4\xa9\x16\x60\x9b\xb4\xa0\x45\x86\xaf\xdf\xef\xa5\x4b\x8b\x8d\x16\x26\x5b\x2f\x60\xcd\xcf\xde\x6a\xb3\x17\x26\x43\xb3\x06\x74\xe9\xf2\xa4\x29\x1e\x4e\x02\xeb\xc0\xe7\xdf\x05\x8f\xde\x17\xc8\x7c\x42\x1b\xc6\x34\xda\x2c\x01\x92\xf2\xee\x22\x6d\xf0\x64\xdf\x73\xa3\xb7\x03\x3c\x8e\xd2\x5e\xc7\x78\x60\xf8\x13\x2a\xcc\x02\xa1\x0e\x5e\x90\x2d\xb8\x1b\xfe\x2b\x65\xaa\x5e\x95\x40\x42\x83\x6d\xcf\x87\x0a\xf9\xcc\x38\x52\x66\x3e\xc5\xd0\xc7\xe3\x0a\xa7\x67\x92\x5c\x94\x16\xa7\x13\xcc\x05\x38\x8b\x55\xa3\x36\x3d\xc9\xa1\x1d\xc8\x2e\xe2\x9b\x4d\x90\x49\x83\xa9\x6b\xeb\x6b\x90\xca\x3a\x14\x19\xe1\x44\x21\x76\x9c\x4b\xb8\xff\x29\x5a\x20\x24\xe8\xeb\xfa\x52\x57\xa1\x9a\x3b\x55\x7f\x47\xd0\x59\xc1\x77\x2d\xcf\xfa\xf6\x0f\xa3\x30\x8a\xc7\xf6\xf0\x72\x1c\x47\xb5\x99\x0a\x8b\x28\x74\xc9\x30\x43\x31\x75\xf3\x1d\x1f\x21\x79\xc9\x46\x1b\xa3\xf7\x70\xdc\x92\x86\x9f\xde\xde\xb5\x53\x6f\xae\x4d\xf1\x81\xfb\x4c\x64\x78\x69\x7b\xa7\xc1\x45\x00\xad\xba\x45\x85\x46\x94\x50\x37\xa6\xd6\x16\xa1\x42\x27\x32\xe1\x44\x6f\xec\x38\xdf\x46\x5a\x3a\x12\x87\x98\x79\xd0\x24\xf4\x8b\x62\x7c\xdd\x21\xb2\xcc\xf3\xd9\x7d\xa1\x4b\xe4\x5b\x99\xae\x3f\x19\xc5\xd2\xf1\xe3\x0e\x09\x28\xba\x36\x4a\x53\x6f\x8d\xc8\xd8\x24\x54\xcb\x18\xbd\x11\x1b\xaa\x4c\xb4\x86\x8a\xc2\x5d\xe7\x20\x60\x63\x50\x7c\xe4\xc2\xb0\x10\x6a\x8b\xd7\x78\x63\x30\x13\xdc\xc3\xed\xed\x6a\xd0\xcd\x5e\xb6\x6d\xed\x51\xde\xfd\x1b\x77\x80\xe3\x06\x7b\x84\xe4\x88\xec\x47\xa2\x92\xf2\x21\x6f\x90\x7d\xd5\x48\x2a\xe6\xf8\x22\x61\x31\x98\x61\x75\x68\x3f\xfb\x0b\xb2\x78\x87\x14\x28\x17\x23\xe9\xa7\xba\x94\xa9\x74\x7e\xf6\xc5\x3c\xd8\xd2\xdf\xe8\xd6\xc9\xe7\x48\x9d\x9f\x03\x53\x86\x06\x1d\xdc\x21\x78\xeb\xda\x8b\xd1\xdb\xd7\x9a\x04\xb0\x9e\xff\xa0\x35\xfe\x79\x7e\xbc\xf1\x2b\xd1\x9c\xd9\xbf\xf8\x71\xab\xda\x6b\x75\x78\xef\x4c\x93\xba\x57\xe3\x68\xea\x4a\xf6\x41\xbb\x23\x43\x62\x32\x8b\x50\x4f\xb7\x4e\xe5\x6f\x29\xb9\xc0\xeb\xae\x28\x5b\x90\x5f\x44\xa7\x5b\xf4\xb0\x70\xd1\x36\x16\xfc\x8d\x5b\xb4\x47\xd7\x1e\x69\xba\x5e\x24\xc1\x85\x8d\x66\x86\x03\xba\xc7\xd0\x49\xde\xca\xea\x7a\x6d\xae\x8a\x89\xbf\x0e\x23\x21\x56\x47\xbb\xcb\x49\xe8\xbc\x9f\xfe\xef\x33\xc9\x0b\x31\xf5\x94\x78\x88\x34\x82\x4b\x4f\xa7\x8d\xd8\x12\x67\x74\x05\xf1\x0a\x83\x9d\x61\x23\x01\x70\x87\x5a\xa6\x6c\x88\x8d\x9f\x80\x97\xb1\xe1\x7b\x4f\x10\xde\x7b\xf1\x3f\x0b\x57\xd0\xc6\x7a\x5f\x5f\x4d\xe7\x7d\x25\xcb\x4b\xec\x87\x29\xae\x4f\x0c\x03\xad\xa5\x1d\xaa\xcd\x77\x63\x6d\x0e\xe9\xda\x19\xd7\xea\xfe\x33\x4f\x8c\xaa\x77\xdf\x1e\xa7\xf9\x7f\x11\x53\x2e\xf5\x0b\xd7\x9e\x84\xac\xbb\x8e\x21\xbb\xcc\x33\x3b\x99\x60\x86\x3d\x43\x4a\xa5\xa3\xbe\x61\x14\x4c\x34\xf3\x78\xfe\x17\xee\xe8\x4c\xf2\x9f\x58\x51\x74\x7d\x99\x97\x17\xfa\x32\xaf\x7d\x33\xa6\xeb\xb2\xc4\xb6\x4c\xe9\xfb\x5a\x42\x11\xc9\xc6\xdf\x1a\x51\xfa\x6f\x13\x20\x34\xd1\x98\x79\xb8\xb2\xfd\x14\xae\x84\x7d\x9f\x50\x94\x6d\xd3\x12\xd6\x1b\xcc\xb5\xc1\x75\x9f\x05\xf8\x3a\x26\x2c\xda\x75\xb9\x87\xb9\xba\x27\x3c\xdc\xe0\x6e\x70\x2b\x95\x22\xd6\x32\xfa\xb9\x43\xf7\x43\x88\x89\xd9\x57\xd8\xf6\xc5\x0b\xf0\x5a\xce\x8e\xde\xcd\xe1\x9b\xf3\x76\xff\xa9\x75\xa7\x68\xcc\x7e\x3f\x2c\xb6\x33\x3a\x1b\xd7\x06\x77\xfc\x2b\x84\x38\x5c\xf8\xee\xc7\xb8\x3f\x16\xdf\x9f\xa6\xb1\x57\xb6\x38\x44\x96\x59\x90\xae\x5b\x30\x70\xe5\xc1\xd9\xcb\x89\x5e\xfb\x53\x1a\x1c\x53\xc5\xf3\x98\xf1\x53\xc1\x66\x2d\x1a\xd7\xdd\xcd\xa7\x5a\xa5\x06\x5d\xe8\x12\x04\x4b\x75\xd7\xad\x1e\x0c\xa5\x6d\x5b\x8c\x63\x79\xa1\x4e\xee\x55\x81\x6d\xe9\x18\x7b\xf0\x41\xda\x15\xb1\x47\xdb\x5a\x4a\xfb\xa3\xb2\x8e\x7d\x60\x58\xdd\xcf\x57\x30\xed\x08\xdf\x09\x45\x6c\xa3\x2b\xb1\x40\xaa\x54\x57\xb5\x70\xbd\xdf\x1f\xd1\xfe\xae\xeb\x7c\x4e\x5e\xfa\xb2\x6a\x7d\xf7\xf4\xb7\x86\x67\x3a\xa0\x71\xc6\xd5\x1d\x50\x38\x1d\xe6\x8f\x0c\x9c\x3f\xc6\x77\x47\x5a\xcf\x9f\x14\x4b\xb6\xa9\x2e\x06\x51\xe7\x33\x67\xb1\x6c\x14\x3c\xff\x57\xf5\xf4\x67\x39\xbb\x47\x83\x5e\x9b\x88\x2d\xaa\x0c\xcd\x17\x05\x41\x38\x11\x32\xd3\x97\xf8\xd7\x5c\x16\xe8\x55\xd7\x71\xf0\xdd\x85\xd9\xfc\xd5\xe7\xbb\x53\x18\x38\x1b\xdf\x55\xe1\x0f\x55\xed\x0e\x01\xa4\xc3\x75\x94\x3a\x84\xdf\xdf\xe9\x30\x66\x40\x56\x18\xd5\x0a\x41\xd8\xfe\x6f\x34\xfa\x1a\xa2\xd2\xfa\xda\x78\xc9\xd9\xef\xb9\x6b\x3a\x71\x69\xf4\x7c\xf9\x7c\x05\x37\x54\xcb\x2b\xdc\x97\xe1\x4a\x2e\xc6\xa1\x77\x07\xa6\xb1\x7d\xe5\xaf\x08\xcf\xf0\xfb\x85\xd9\x75\x6d\xa3\x29\xaf\x38\xfe\x91\xc2\x91\xbf\xff\xee\xeb\xa2\x87\xff\x04\x00\x00\xff\xff\x0b\xe4\x7f\x09\x0c\x2c\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x8f\x1b\xb7\x11\x7f\xdf\x4f\x31\xb8\x00\xb5\x94\x2a\x92\x1f\x8a\x3e\x08\xb1\x5d\x3b\x89\x8b\x3c\x34\x08\xec\x6b\xfc\x50\x14\x15\xb5\x3b\xab\x65\xbc\x4b\x6e\x48\xae\x64\xf5\x70\xdf\xbd\x98\x21\xb9\xff\xb4\x3a\xe9\x2e\x76\x51\xd4\x0f\x67\x69\x97\x1c\x0e\x87\x33\xbf\xf9\xcd\x50\xab\xaf\xbf\x4e\x92\xaf\xe0\xb6\x40\x78\x5b\xea\x03\xbc\x6d\xd4\x4e\x6e\x4b\x84\x5b\xfd\x11\x15\x58\x27\x54\x26\x4c\x96\x24\x5f\x7d\x05\x9b\xf8\x92\xdf\x6d\x20\xd5\xca\x19\x91\xba\x24\xe1\xe9\xd3\x33\x41\x5a\x50\x1a\x4a\xad\x76\x68\x40\x28\x90\xca\xa1\xc9\x45\x8a\x89\x2b\x84\x03\x51\x96\x90\xc7\xa9\x8e\xa7\x46\xb9\x16\x0e\xba\x29\x33\x28\xc4\x9e\x5e\xd1\xf3\x5c\x9b\x0a\x9c\x5e\x26\xc9\x8f\x39\x08\x68\x2c\x1a\x0b\x07\xa1\x9c\xa5\x01\x19\xd6\xa5\x3e\x82\x00\x85\x87\x91\xac\x05\xb8\x02\xa5\xe9\x74\xce\x34\x92\x62\x0e\x14\x62\x46\x93\x65\x55\x97\x58\xa1\x72\x34\x12\x06\x5b\xed\x74\x5e\xc0\xb6\x71\x41\x14\x2f\x60\x93\x4c\x9f\x11\xd1\x4e\xb2\x90\x61\x2e\x15\x66\x20\x15\xb8\x42\xda\x56\x8b\xa5\xb7\xeb\x2f\xa2\x29\xdd\x06\x0c\x5a\xdd\x98\xb4\x37\x33\x49\x7e\x10\x69\x31\xb6\x4f\x3b\xce\x1d\x6b\xe4\xc5\xed\xe9\xea\xe7\x85\x86\x45\x7f\x36\x7a\x2f\x33\x34\x9b\x05\x6c\xde\x61\x8a\x72\xcf\x9f\x85\xca\x60\xf3\x46\x94\x42\xa5\x38\x35\xdb\xf2\x69\xdb\xd1\xf6\xd2\x52\x18\x84\xda\xe0\x37\xa9\x56\x99\x74\x52\x2b\xcb\xa2\x6a\x6d\x5d\xff\x19\x9f\xb9\x41\xeb\x8c\x4c\x5d\x42\x8a\xe2\x27\x4c\x1b\x7a\x09\x3a\x67\xcd\xf3\x46\xa5\x7e\x30\x9b\x0b\x81\x77\xb2\xe4\x75\x8f\x40\xeb\x58\xac\x85\x11\x0e\x61\x8b\xa9\x68\x48\x17\x07\x3b\xb9\x47\xcb\xc3\xc9\x29\xf8\x83\xd8\xca\x52\xba\x23\xd9\xc6\x16\xc2\x60\x22\xc0\x60\x8e\x06\x55\xca\xfe\xe4\x8f\x91\xa5\x7b\xbd\xb4\x2a\x8f\x80\x9f\x6a\x6d\x83\xa8\x5c\x62\x99\xd9\x4e\xa3\x44\x2a\xd0\x0a\x41\x1b\xa8\xb4\xc1\xa8\x71\x67\x0a\x72\x4c\xf2\x69\xab\x83\x42\xde\x43\x47\xda\x54\xe2\x23\x42\xda\x58\xa7\xab\xd6\xc2\xc1\x34\xed\x21\x92\x6d\x86\x56\x26\x07\xd7\xb0\x17\x46\xea\x86\x46\x4b\xb5\xb3\x70\x90\xae\x60\xf1\xde\x1b\x97\xc9\x5b\x6d\x00\x3f\x09\x12\xb3\x00\x01\xb9\x68\x52\x74\x90\x0a\x05\x5b\xec\xa4\x63\x06\xdb\x63\x0c\x28\xa9\x76\x89\x37\x07\x44\xa7\x18\x78\xcb\xd7\xab\x24\x91\x55\xad\x8d\x83\x5f\x24\x1e\xde\xa1\xd5\xe5\x1e\x0d\xe4\x46\x57\x70\xd3\x7f\x74\x93\x24\xab\xd5\x6a\x18\x3c\xf4\x64\xf0\x34\x00\x44\xab\x8b\x08\xde\x62\xb0\x07\x14\x06\x7f\x6b\xa4\x99\x0a\xab\x61\x30\xb0\xe4\x4e\x59\xf8\x80\x60\x9d\x2c\x4b\x0f\x1a\xd2\x81\xb0\x03\xd0\x81\x02\x4d\xe7\x37\x8e\xbf\xb1\x4b\xe9\x8a\x3d\x27\x6f\x4a\x16\xd9\x38\x7f\x5a\x15\xba\x42\x67\xe1\x70\x2a\xa1\x8e\x50\x1b\xfd\x2b\x32\x38\xd1\x32\x7e\x31\x42\x20\xd2\x94\x17\xd5\x6a\x84\x35\x76\xc1\x22\x03\x72\x78\x17\xde\x1e\x69\xb3\x15\x0a\x65\xdb\xbd\x2e\x19\x0c\xbd\x1b\x74\x4f\xe9\x33\x3f\x6b\x4f\xd9\xef\x39\x1a\xc5\x0e\xc2\xbd\x83\x0e\x91\xa6\x68\xed\x4c\x94\xe5\xbc\xd5\x64\x04\x6b\x77\x49\x02\x00\xb0\x5a\xc1\x6b\x05\xa8\x9c\x74\xc1\xce\xb9\x36\xa4\x8b\x3e\x48\xb5\x63\xf1\xe4\x66\x99\x11\x07\x51\xb2\xcf\xb3\xaf\xf9\xf3\x17\x3e\x80\x58\x50\x7f\xc9\xbe\xb8\x0f\x71\xf6\xb6\xc4\xb8\xe4\x8a\x73\x0e\xee\xfd\xb1\xfa\x2d\x63\x25\x1d\xb9\xe6\xa1\x40\x15\x17\x21\x63\xc5\xd5\xd5\x85\x25\xf7\xfd\xc5\x66\xa2\xd2\x8d\x72\x6b\xf8\xfb\x5b\xf9\xe9\xcf\x7f\x5a\xf0\xdc\x35\xbc\xce\x32\x83\xd6\xbe\x5a\x30\x7a\xae\xe1\xbd\x33\x52\xed\xe6\x7d\x61\x16\xcb\x7c\x4e\x7e\xc6\x0a\x45\x79\x3f\x90\xf4\xc7\x09\x5d\xc3\x1b\xad\x4b\xb8\x63\xe1\xf4\x8f\xe4\x9d\x2a\xe8\xff\x8f\xb2\xe8\x6f\x94\x43\x7f\xe7\xed\x6c\x83\xae\x31\x0a\x9c\x69\x90\x9f\xdd\x3f\xc5\x96\x19\xd6\xda\x4a\xe7\x23\xeb\x61\x4b\x7e\xef\x87\x9e\xec\xd9\xe9\x27\x98\x31\x08\x9b\xb6\xe2\x03\x12\xa7\x6d\x38\x56\x2d\x9a\x90\x04\x39\xfd\x05\xcd\xe7\x8c\x50\x36\x47\x43\x81\xc9\xce\x48\xe9\x40\xa4\x29\x2d\xcf\x16\x55\x9a\x40\xe5\x8c\x45\x6f\xc3\xec\xcb\x6e\xf4\x14\x13\x47\xe9\x57\x7a\xea\x63\x6d\x7e\xa2\xfc\xa4\xdf\x3e\xed\x00\x58\xe5\x07\x7c\xd6\x3a\xa3\x8f\x98\x9d\x31\xeb\x9b\xc6\xa8\x53\x9f\x1a\x18\xed\xbc\xd5\x68\xf2\x19\xaf\x7c\xd0\x26\x32\x0f\x06\x80\x97\x2f\xe0\xf9\xf2\x79\xef\x55\x6b\xb2\x81\x62\xad\x8f\x4e\x98\xe6\xfe\x1a\x23\xc5\xe4\x1c\x1f\x0c\xdc\xb7\xcb\x70\xec\xc2\x48\x99\x3d\x0d\x34\x26\xa4\x12\x9f\x2d\x08\xdb\x23\xa0\x52\xe6\x8f\x42\xfa\xa0\xce\xa4\x26\x26\x18\xce\x01\xc7\x1a\x97\x27\xeb\xfe\xe8\xa0\xa5\xd1\x61\xc1\xe1\x5a\x5a\xc1\x66\x1b\xb9\x24\xe5\xda\x45\x3b\xb7\x47\xdd\x4a\x14\x44\x95\x74\x8d\x9e\xef\xd5\xda\x5a\x19\xd8\x92\xce\x21\x35\x28\x58\x89\xc0\x98\xea\x60\x06\xdb\xa9\x4e\x3b\x26\x1e\xce\x74\x9e\xce\x58\x18\x59\x1e\x03\x2f\xe7\x5c\xac\x0f\x0a\x82\x26\xc3\x7d\xf4\xbd\xe9\x94\xed\x76\x84\x28\xe4\xca\xb8\x64\xb4\x20\xd8\x66\x1b\x8a\x95\xb1\x01\xf5\x41\xa1\x79\x66\x7b\x10\x1b\x27\x13\x31\xf6\xe7\x6c\x23\x04\x77\x44\xce\x60\xa5\xf7\x0c\xcf\x9e\xd0\xf5\x26\x0e\x84\xdc\xf6\xa8\xf2\x33\x1b\xf6\x01\x25\xee\xb1\x24\x00\xab\x9b\x6d\x29\xd3\x58\xaf\x48\xeb\xeb\x30\x07\x82\xec\xb7\x2d\xb1\x1a\x08\x8b\xa7\xc1\x0c\xb8\x55\x1e\xac\xd3\x26\x52\x80\x9e\x71\x82\x4d\x03\xec\x0d\x04\xa5\x4c\xb6\xa4\x93\xa2\x2c\x8f\x90\x7a\x42\x23\x3b\x0a\xfd\xf0\x7e\xfc\xaa\x95\x38\xc2\xce\x10\xa5\x62\x2c\x8d\xeb\xb4\x7b\x24\xe6\x1a\x7d\x82\xb6\x23\xf7\xc2\xe1\x48\x8b\xba\xa5\xdb\xa1\xc8\xd4\x07\x0b\xb6\xc6\x54\xe6\x32\x0d\x72\x03\x37\xd7\x41\xee\x40\x02\xfb\x61\x3c\xfb\xae\xe0\x2a\x8c\x6e\x76\x05\xf4\x0a\x89\x6b\x37\xe4\x6b\x02\xde\x15\x19\xe5\xc2\x9e\xf8\xf0\xae\xd9\x12\xc9\x1a\xed\x63\xa0\xfb\x40\xc6\xe3\xf7\x11\xa2\xa3\x4f\xe0\x3c\x72\x1e\xa6\x59\xd6\x7c\x0d\x7f\x79\xad\x8e\xef\xc2\x42\x77\xec\xdb\xf7\x23\x68\xa4\x9a\x70\xf4\xc8\xaf\x0b\x1b\x83\x36\x54\xad\x79\xd8\x93\x77\x3d\xc6\xc4\xbd\x28\x1b\x3c\x99\xe6\xa7\x2c\x77\xe8\x42\xd5\x3a\x9b\xc3\x8b\x17\x01\x6d\xd7\x27\xc3\xe9\xdf\xcd\x87\x8e\xce\x06\x0c\xaf\x1a\xeb\xa8\x42\xa2\xe5\xac\xa8\x90\xea\x06\xfa\x1c\x30\x23\x56\x7a\x1d\x13\xe5\x9d\xdd\x4c\x6c\x62\x40\xb1\x97\xe7\x19\xe4\x30\x7b\x52\x4e\x5a\xb2\xb7\xbc\x5a\x0a\x9f\x95\x63\xa6\xe0\x57\x3b\x74\xb7\xc7\x1a\x67\xf3\xa5\xcc\x08\x93\x73\x89\x66\x3e\x58\xfd\x7e\x94\x4c\x7a\x89\x23\x96\xf7\xbf\x3f\x71\x04\xf6\x38\x91\x37\xa4\x0a\x87\x75\x45\xde\xf8\x80\x11\xad\xa5\x4a\xcb\x26\x43\x10\xd0\xf6\x08\xbc\x1a\x69\x81\xe9\xc7\xe1\x11\x04\x8c\x6a\xa5\x1c\xb0\xad\xbb\xa8\xd6\xbe\xa6\xd4\xf6\x66\xf0\xf5\x54\x02\x3d\xc8\xca\x74\x1c\x34\x5d\x57\x2f\xa0\x94\x1f\x11\x6c\x5d\x4a\x2e\xc4\x2a\x68\x6a\x82\xf1\x56\x88\x45\x95\xf9\x17\x54\xa6\xcb\x9c\xa3\xca\x41\x5d\xfa\xae\x00\x5c\x9f\x71\xe2\x61\x8d\x33\x4e\x30\x3d\x38\xf1\x11\xbb\xb4\x41\xa9\x24\xbc\xb1\x94\x4b\xa7\x8f\x61\xd0\x31\x7a\x28\xd0\x59\x29\x8a\xef\x20\x73\xe6\xbd\x73\x22\xa6\xe7\x43\xed\x76\xe8\xde\x37\x75\xad\x8d\xc3\x8c\x07\x90\xb7\x52\x4e\xa7\x23\xe5\x5c\xd0\x25\xbc\x52\x5a\x47\x01\xb5\xf7\x9d\x17\x1e\x18\x2a\x5c\xae\x7b\xc3\xfe\x49\xa5\xda\xd9\x49\x15\xf7\x12\x0f\xac\xe7\xf4\xba\xb3\xf9\x1a\xee\x6e\x39\x7a\x88\xb5\x8d\x01\x68\xb5\x82\x37\x58\xea\x83\xf7\x32\xca\x8c\xfd\xc6\x48\xf4\x1a\xdb\x98\x10\x13\xa6\x51\xdf\x38\x59\x85\x86\x1b\x37\x25\xc7\xf2\x38\x71\xee\xd0\x85\x6d\xb6\x24\x96\xa0\x58\xb0\x2b\xb4\x67\x10\xba\x2e\xc1\xc7\x86\x4d\xd5\xa5\x2f\xe3\x97\x30\x90\x2f\xf3\x13\x10\xb0\xef\x9b\x2d\x69\x33\xd3\xf9\x1a\xe8\xe1\xb7\x83\x33\x9a\x10\x7a\xff\x72\x36\x9f\x4f\xc0\x6e\x00\xd7\xbb\xe1\x0a\x6b\x66\xa0\xf7\x43\x84\x01\x2c\x2d\x4e\x23\xf7\x3b\x2f\x45\x10\xa7\xae\xdd\x11\x32\xc9\xe9\x5e\x98\x63\x44\xd2\x0c\x73\x3e\x6f\x46\x71\x06\x93\xd6\x22\x87\x42\x43\xa6\xd5\x33\x37\x25\xb9\xeb\xfe\x4c\x9a\x6a\x01\xb6\x49\x0b\x5a\x64\xf8\xfa\xfd\x41\xba\xb4\xd8\x6a\x61\xb2\xcd\x02\x36\xfc\xec\xad\x36\x07\x61\x32\x34\x1b\x40\x97\x2e\xcf\x9a\xe2\xfe\x2c\xb0\x0e\x7c\xfe\x5d\xf0\xe8\x43\x81\xcc\x27\xb4\x61\x4c\xa3\xcd\x12\x20\x29\xef\x2e\xd2\x06\x4f\xf6\x3d\x37\x7a\x3b\xc0\xe3\x28\xed\x75\x8c\x07\x86\x3f\xa1\xc2\x2c\x10\xea\xe8\x05\xd9\x82\xbb\xe1\xbf\x52\xa6\xea\x55\x09\x24\x34\xd8\xf6\xe1\x50\x21\x9f\x19\x47\xca\xcc\xa7\x18\xfa\x78\x5a\xe1\xf4\x4c\x92\x8b\xd2\xe2\x74\x82\xb9\x00\x67\xb1\x6a\xd4\xa6\x27\x39\xb4\x03\xd9\x45\x7c\xb3\x09\x32\x69\x30\x75\x6d\x7d\x0d\x52\x59\x87\x22\x23\x9c\x28\xc4\x9e\x73\x09\xf7\x3f\x45\x0b\x84\x04\x7d\x5d\x5f\xea\x2a\x54\x73\xe7\xea\xef\x08\x3a\x6b\xf8\xae\xe5\x59\xdf\xfe\x61\x14\x46\xf1\xd8\xee\x5f\x8e\xe3\xa8\x36\x53\x61\x11\x85\x2e\x19\x66\x28\xa6\x6e\xbe\xe3\x23\x24\x2f\xd9\x6a\x63\xf4\x01\x4e\x5b\xd2\xf0\xd3\xdb\xdb\x76\xea\xcd\xb5\x29\x3e\x70\x9f\x89\x0c\x2f\x6d\xef\x34\xb8\x08\xa0\x55\x77\xa8\xd0\x88\x12\xea\xc6\xd4\xda\x22\x54\xe8\x44\x26\x9c\xe8\x8d\x1d\xe7\xdb\x48\x4b\x47\xe2\x10\x33\x0f\x9a\x84\x7e\x51\x8c\xaf\x3b\x44\x96\x79\x3e\x7b\x28\x74\x89\x7c\x2b\xd3\xf5\x27\xa3\x58\x3a\x7e\xdc\x23\x01\x45\xd7\x46\x69\xea\x9d\x11\x19\x9b\x84\x6a\x19\xa3\xb7\x62\x4b\x95\x89\xd6\x50\x51\xb8\xeb\x1c\x04\x6c\x0d\x8a\x8f\x5c\x18\x16\x42\xed\xf0\x1a\x6f\x0c\x66\x82\x3b\x58\xad\xd6\x83\x6e\xf6\xb2\x6d\x6b\x8f\xf2\xee\xdf\xb8\x03\x1c\x37\xd8\x23\x24\x27\x64\x3f\x12\x95\x94\x0f\x79\x8b\xec\xab\x46\x52\x31\xc7\x17\x09\x8b\xc1\x0c\xab\x43\xfb\xd9\x5f\x90\xc5\x3b\xa4\x40\xb9\x18\x49\x3f\xd5\xa5\x4c\xa5\xf3\xb3\x2f\xe6\xc1\x96\xfe\x46\xb7\x4e\x3e\x47\xea\xfc\x1c\x98\x32\x34\xe8\xe0\x0e\xc1\x5b\xd7\x5e\x8c\xde\xbe\xd6\x24\x80\xf5\xfc\x07\xad\xf1\xcf\xb3\xd1\x6e\xfc\x22\x34\x7c\xf6\x2f\x96\xd0\x6a\xf5\x5a\x1d\xdf\x3b\xd3\xa4\xee\xd5\x38\x90\xba\x6a\x7d\xd0\xe9\xc8\x90\x48\xcc\x22\x94\xd2\xad\x3f\xf9\x0b\x4a\xae\xed\xba\xdb\xc9\x16\xdf\x17\xd1\xdf\x16\x3d\x18\x5c\xb4\x3d\x05\x7f\xd9\x16\x4d\xd1\x75\x46\x9a\xae\x0d\x49\x48\x61\xa3\x85\xe1\x88\xee\x31\x4c\x92\xb7\xb2\xbe\x5e\x9b\xab\xc2\xe1\xaf\xc3\x20\x88\x85\xd1\xfe\x72\xfe\x79\xd8\x45\xff\xf7\x49\xe4\x85\x70\x7a\x4a\x28\x44\x06\xc1\x55\xa7\xd3\x46\xec\x88\x2e\xba\x82\x28\x85\xc1\xce\xb0\x31\xf7\xbb\x63\x2d\x53\x36\xc4\xd6\x4f\xc0\xcb\xb0\xf0\xbd\xe7\x06\xef\xbd\xf8\x9f\x85\x2b\x68\x63\xbd\xaf\xaf\xa6\x53\xbe\x92\xe5\x25\xe2\xc3\xec\xd6\xe7\x84\x81\xd6\xd2\x0e\xd5\xe6\x6b\xb1\x36\x7d\x74\x9d\x8c\x6b\x75\xff\x99\x27\x46\xd5\xbb\x6f\x8f\xd3\xfc\xbf\x03\x27\x97\xba\x84\x1b\x4f\x3d\x36\x5d\x9f\x90\xbd\xe5\x99\x9d\x4c\x2b\xc3\x4e\x21\x25\xd0\x51\xb7\x30\x0a\x26\x72\x79\x3a\xff\x0b\xf7\x71\x26\x59\x4f\xac\x23\xba\x6e\xcc\xcb\x0b\xdd\x98\xd7\xbe\x05\xd3\xf5\x56\x62\x33\xa6\xf4\xdd\x2c\xa1\x88\x5a\xe3\x6f\x8d\x28\xfd\xb7\x09\xfc\x99\x68\xc7\xdc\x5f\xd9\x74\x0a\x17\xc1\xbe\x3b\x28\xca\xb6\x55\x09\x9b\x2d\xe6\xda\xe0\xa6\x9f\xfb\x7d\xf5\x12\x16\xed\x7a\xdb\xc3\x0c\xdd\x13\x1e\xee\x6d\xb7\xb8\x93\x4a\x11\x57\x19\xfd\xc8\xa1\xfb\xf9\xc3\xc4\xec\x2b\x6c\xfb\xe2\x05\x78\x2d\x67\x27\xef\xe6\xf0\xcd\xc3\x76\xff\xa9\x75\xa7\x68\xcc\x7e\x17\x2c\x36\x31\x3a\x1b\xd7\x06\xf7\xfc\xdb\x83\x38\x5c\xf8\x9e\xc7\xb8\x2b\x16\xdf\x9f\x27\xaf\x57\x36\x36\x44\x96\x59\x90\xae\x5b\x30\x30\xe4\xc1\xd9\xcb\x89\x0e\xfb\x53\xda\x1a\x53\x25\xf3\x98\xe7\x53\x99\x66\x2d\x1a\xd7\xdd\xc8\xa7\x5a\xa5\x06\x5d\xe8\x0d\x04\x4b\x75\x97\xac\x1e\x07\xa5\x6d\x1b\x8b\x63\x79\xa1\x3a\xee\xd5\x7e\x6d\xc1\x18\x3b\xef\x41\xda\x15\xb1\x47\xdb\x5a\x4a\xfb\xa3\xb2\x8e\x7d\x60\x58\xd3\xcf\xd7\x30\xed\x08\xdf\x09\x45\x44\xa3\x2b\xac\x40\xaa\x54\x57\xb5\x70\xbd\x5f\x1d\xd1\xfe\xae\xeb\x77\x4e\x5e\xf5\xb2\x6a\x7d\xf7\xf4\x77\x85\x0f\xf4\x3d\xe3\x8c\xab\xfb\x9e\x70\x3e\xcc\x1f\x19\x38\x7f\x8c\xef\x4e\xb4\x9e\x3f\x29\x96\x6c\x53\x5d\x0c\xa2\xce\x67\x1e\xc4\xb2\x51\xf0\xfc\x5f\x55\xd1\x9f\xe5\xec\x1e\x0d\x7a\x6d\x22\xb6\xa8\x32\x34\x5f\x14\x04\xe1\x4c\xc8\x4c\x5f\xdd\x5f\x73\x45\xa0\xd7\x5d\x9f\xc1\xf7\x14\x66\xf3\x57\x9f\xef\x26\x61\xe0\x6c\x7c\x43\x85\x3f\x54\xb5\x3b\x06\x90\x0e\x97\x50\xea\x18\x7e\x75\xa7\xc3\x98\x01\x59\x61\x54\x2b\x04\x61\xfb\xbf\xd1\xe8\x6b\x88\x4a\xeb\x6b\xe3\x25\x67\xbf\xe7\x86\xe9\xcc\x55\xd1\xf3\xe5\xf3\x35\xdc\x50\x05\xaf\xf0\x50\x86\x8b\xb8\x18\x87\xde\x1d\x98\xc1\xf6\x95\xbf\x22\x3c\xc3\xaf\x16\x66\xd7\x35\x8b\xa6\xbc\xe2\xf4\xa7\x09\x27\xfe\xfe\xbb\x2f\x89\xee\xff\x13\x00\x00\xff\xff\xb9\x99\x05\xe8\x02\x2c\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,11 +137,11 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc8, 0xd8, 0xf0, 0x39, 0x71, 0xad, 0xe0, 0x83, 0x1, 0x49, 0xe4, 0x25, 0xd9, 0x53, 0x5b, 0xb5, 0x34, 0x39, 0x3c, 0x76, 0xc4, 0x6e, 0x86, 0xa3, 0xdf, 0xf9, 0x31, 0x2, 0xc1, 0x7a, 0xd9, 0x2d}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0xa5, 0x81, 0x6, 0xc7, 0xc5, 0xfa, 0x8e, 0xa9, 0x87, 0xc7, 0x36, 0xc7, 0xd4, 0xb8, 0x48, 0x52, 0x24, 0x45, 0xf6, 0xc5, 0x24, 0xbd, 0x2c, 0xcb, 0xf0, 0xb6, 0xa, 0x66, 0xe0, 0xd6, 0x35}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x5a\x5b\x8f\xdb\xc6\xf5\x7f\xe7\xa7\x38\xb0\x1f\xbc\xca\x5f\x2b\x19\xf9\x17\x01\xba\x68\x12\xaf\xd3\x2c\x60\xa0\x2d\x82\x78\x9b\x3c\x04\x41\x35\x22\x0f\xa5\x81\x87\x33\xcc\xcc\x50\x34\x63\xf8\xbb\x17\xe7\xcc\x0c\x6f\xa2\x76\xd7\x4e\x1f\x0a\xd4\x2f\x96\x28\xce\xb9\x9f\xdf\xb9\xcc\x6e\xbf\xf8\x22\xcb\x9e\xc3\xfd\x11\xe1\x4e\x99\x16\xee\x1a\x7d\x90\x7b\x85\x70\x6f\xde\xa1\x06\xe7\x85\x2e\x84\x2d\xb2\xec\xf9\x73\xd8\xa5\x1f\xf9\xb7\x1d\xe4\x46\x7b\x2b\x72\x0f\x52\x7b\xb4\xa5\xc8\x31\xcb\x88\x50\xff\x15\xfc\x51\x78\x10\x4a\xcd\xc9\xa6\x93\x0e\x5a\xd3\xa8\x02\x8e\xe2\x84\xe0\x0d\x3d\x2f\x8d\xad\xc0\x9b\x4d\xf6\xa6\x04\x01\x8d\x43\xeb\xa0\x15\xda\x3b\xfa\xbd\xc0\x5a\x99\x0e\x04\x68\x6c\xc1\x4f\x48\xad\xc1\x1f\x51\xda\xfe\x7b\x16\x28\x6b\xc4\x82\x4e\xca\xaa\x56\x58\xa1\xf6\xf4\x1a\x4c\x14\x19\xe4\xdd\xb0\xfc\x23\x22\x33\xf1\x4a\xa3\xc8\x46\xa4\x10\x51\xb1\x8d\x42\x07\x42\x17\xa0\x45\x25\xf5\x21\x63\x75\xfd\xc4\x02\xae\xc6\x5c\x96\x12\xdd\x26\x98\xf0\x27\xd1\x28\xbf\x03\x8b\xce\x34\x96\x0c\xf6\xbd\xc8\x8f\x20\xf2\xdc\x34\x2c\x9b\xf0\x60\x5a\xed\x82\x72\xc9\x3c\x49\x09\x96\x43\x90\xc0\xe4\x97\x1c\x33\x53\x32\x3b\x26\xda\xd3\x04\xe7\x8d\xc5\x02\xa4\x8e\x26\x49\xd4\xe9\xb9\x38\x44\x2d\xe7\x87\x8e\xc2\x41\x85\xfe\x68\x0a\x07\xbd\x1e\xa6\xd5\x68\x59\x43\xe3\x8f\x68\xa3\x3b\x72\xa1\x21\x17\x4a\x45\x95\x7e\xb0\xe6\x24\x0b\xb4\xbb\x35\xec\x7e\xc4\x1c\xe5\x89\x3f\xd3\xa9\xdd\x6b\xa1\x48\xd0\x41\xe1\xc1\x34\x8e\xc5\x70\xe3\x27\x50\x60\xae\x84\x45\xa8\x2d\x5e\xe7\x46\x17\xd2\x4b\xa3\x83\x89\x6b\xe3\xfc\xf8\x19\xcb\x68\xd1\x79\x2b\x73\x9f\x91\xb0\xf8\x1e\xf3\x86\x7e\x84\x68\x96\xb2\xd1\x79\x78\x39\x98\x22\xa8\x1c\xd4\xef\x80\xf8\x38\xac\x85\x15\x1e\x61\x8f\xb9\x68\x48\x16\x0f\x07\x79\x42\xc7\xaf\x93\xb6\xfc\x41\xec\xa5\x92\xbe\x23\x17\xb8\xa3\xb0\x98\x09\xb0\x58\xa2\x45\x9d\x73\x5c\x04\x33\x07\x83\x06\x17\x6a\xd5\x01\xbe\xaf\x8d\x8b\xa4\x4a\x89\xaa\x70\x83\x44\x99\xd4\x60\x34\x82\xb1\x50\x19\x8b\x49\xe2\xc1\x14\x9b\x2c\x7b\x43\xa9\xe3\x4c\x14\x28\x98\x7e\x26\x4d\x25\xde\x21\xe4\x8d\xf3\xa6\xea\x2d\x1c\x4d\xd3\x07\x3c\xd9\x66\x6a\x65\x4a\x24\x03\x27\x61\xa5\x69\xe8\x6d\xa9\x0f\x0e\x5a\xe9\x8f\x4c\x3e\x44\xde\x26\xbb\x33\x16\xf0\xbd\x20\x32\x6b\x10\x50\x8a\x26\x47\xcf\xbe\xdf\xe3\x40\x1d\x0b\xd8\x77\x29\x6f\x39\x07\xd8\x1c\x90\x82\x62\x92\x5c\xaf\x3b\x68\x9c\xd4\x87\x91\xac\xe4\xda\x41\xb4\x75\x54\xd3\x94\x17\x11\x23\x23\x09\x1c\xea\x82\x8f\xda\x10\x6f\x29\x5d\x6a\x44\x7b\xed\xcd\x35\xfd\xbf\x66\x95\x4c\xe3\x29\x6d\x88\x29\xa1\x00\x71\x62\x70\x20\x6d\x05\xe4\x48\x54\x15\x28\x2c\x0e\x68\xc1\x55\xc2\xfa\x9e\xd5\x06\xee\x4d\xe0\x14\xa9\x7b\x03\x42\x0f\x89\xb0\xce\x02\x3e\xc5\x24\x75\x64\x93\x8e\x99\x16\x56\xb4\x23\x5b\x42\x69\x4d\x35\x0e\x12\xc6\xaa\x90\x43\x1c\xb9\x05\xd6\xc6\x49\xdf\x87\x07\x18\x3d\xe1\xf4\xc2\xa5\xe0\x22\x88\x24\xd3\x7b\x0c\xf4\xad\xd0\xae\x44\xbb\xc9\xb2\x2f\xb6\x59\xb6\xdd\x6e\x61\x01\x80\x2f\x82\x6f\xef\xc5\x0d\x1d\xcd\x44\x9e\xa3\x73\x57\x42\xa9\xd5\x02\xb6\xcf\x40\xf3\x43\x96\x01\x00\x6c\xb7\x70\xab\x01\xb5\x97\x3e\xe2\x6b\x69\x2c\x21\xa4\x69\xd9\xe6\x47\xec\x2d\x22\x14\x87\xf9\xc8\x24\x22\xa8\xc5\x84\xc6\xcc\xc7\xe4\x7e\x4e\xa7\xf7\x0a\x13\xcb\xa0\xa5\x37\x5e\x28\xd0\x4d\xb5\x47\x3b\xa2\x2c\x35\xe0\x7b\xe9\x3c\x25\xe7\xa6\x3f\xf0\xc6\x83\x74\xd0\xd4\x31\x5d\x47\x01\x6c\xe9\x11\x6a\xd7\x58\x1c\x80\x2f\xd0\x76\x4d\x5d\xab\xae\xa7\xe1\xbc\xe8\x1c\x09\xda\x30\x66\x50\xfc\x05\x82\x85\xf0\x78\xa6\xc4\x49\xd8\x40\xe6\x2d\x53\xb9\x81\x7f\xde\xc9\xf7\x5f\xfd\x69\xaa\x03\x9e\x30\xc1\xbe\x74\x80\x95\xf4\x94\x51\x2d\x45\x07\x89\x31\x78\xc1\x41\x6e\x51\x78\x2c\xce\x8d\xc5\x24\xd8\x29\xee\x8d\x96\x5e\x0a\x25\x7f\xc7\xe2\x4a\x86\xcf\x53\xee\xab\xa7\xb3\x0f\xd6\x24\x94\x4c\x0e\xd4\x8f\x78\x6d\x24\x48\xf2\x9a\xbe\x12\x15\xd5\x9e\xc4\x7f\xcd\x24\x6e\xe0\xb6\x28\x2c\x3a\xf7\xed\x67\xc9\x13\xd3\x85\x4b\x1c\xe5\xe4\x13\xe4\xf9\x6b\x3a\x72\x26\x8f\x37\x17\xa5\x99\xa5\x11\x12\xc6\xe5\x11\xd0\x2d\xfe\xd6\x48\xcb\x11\xe4\x38\xe4\x93\x91\x08\x03\x13\x91\x59\xfa\x0f\x41\xc7\xa9\xd1\xd5\x43\x7c\x8e\xe3\xb4\x30\xe8\x40\x9b\x9e\xe1\x94\x97\xd1\xb0\xdb\xa7\xaa\x7a\x44\x8b\xeb\xfe\xec\xa8\x88\x29\x14\x54\x34\x4c\x1d\x03\xa9\x36\xce\xc9\x58\x37\x4c\x19\x62\x89\x84\x88\xb5\xa3\x8e\x68\xed\x06\xd1\x49\xe3\xc2\xb0\x1c\x1a\xc9\xa8\xc2\x4a\xd5\xc5\x56\x84\xa1\xcc\xb4\x1a\xa2\x24\x53\x3d\xc6\x4e\x38\xaf\xfb\x43\x69\x88\x10\x92\x58\xbe\x6d\xf6\x11\x97\xe6\x76\xe3\x36\x24\x81\xe0\xe4\x4c\xa8\x01\xbe\xb1\x14\x1a\x11\x24\xfb\x4a\x66\xb1\x32\x27\x2c\xfa\x8a\x36\x3a\x38\x21\x72\x3f\xea\x15\x5e\xb8\x28\x3e\x28\x3c\xa1\xa2\x30\xac\x9b\xbd\x92\xf9\x1a\xf6\x0d\x85\xa6\x74\xf4\x8c\xcc\x22\xc8\x6c\x7b\x85\xd5\x84\x58\x72\x02\xb7\x00\x43\x0f\x45\xbd\x57\x02\xc4\x91\x4d\xa6\x1d\xda\x84\x50\xce\x8d\x1e\xe7\xb0\xea\xb8\x56\x04\xee\x49\xd2\x87\xf5\x09\x5c\x2b\xd1\xc1\xc1\x0a\xed\x63\xff\x16\xf9\xf4\x3a\x52\xe9\x4e\xa1\x40\xea\xc8\x53\x42\xb2\x41\x8a\xba\xef\x37\x62\x33\x6f\x5a\x97\xda\xda\x7c\xd2\x17\x52\x2e\x32\xdd\x09\x05\x0e\xbf\xe4\xf2\x5e\x75\x7f\xb4\xa6\x39\x50\x0d\xee\x3b\xa9\xa7\x2a\x14\x9a\x22\xd6\x8a\x8c\xf2\x88\x4e\xec\xbc\xa7\xa8\x44\xb4\x66\x7a\x4c\x64\x9f\xd0\xf8\x3c\x3d\x5e\x51\xb7\x59\x41\x82\x20\x52\x2b\x7c\x1e\x95\x2f\x6f\xa8\xbf\x9a\x41\x2e\xc9\x71\x3a\x0b\xfe\x57\x21\xf2\x61\xa1\x9b\xa7\xc2\x21\xa4\x9e\x97\x60\x4d\xd1\x53\x4c\xfd\xd3\x7f\x89\x69\x3b\x2e\xb8\x2b\x7a\xbf\x3f\x3d\xc3\xce\xd5\x0d\xbc\x0a\x6c\x3f\xf4\x34\xe8\x1f\x75\xea\xb3\x47\x81\x17\xec\x2c\xba\x38\xfe\x94\xd1\xd0\x21\x1f\x58\x8d\x93\x50\x0d\x9e\x1d\x0b\x47\x36\x11\x68\xe0\xeb\xaf\x93\xf9\xce\xde\xa4\x7f\xcf\x7e\x1e\x9a\x8d\x68\xda\xaa\x71\x9e\x4c\x4a\x9c\x9c\xa8\x10\x44\xf0\x6b\xa2\x18\x5b\xef\xc1\x44\xac\xd3\xb3\x09\xf9\x8f\xd9\xf4\xd3\xc7\x3f\x50\x28\x62\xf5\x5a\xa8\x13\x5c\xcd\x9e\x58\x27\x7e\xc6\x84\xce\x52\xe7\xaa\x29\x90\xba\xd9\x34\x1d\x05\x31\xf2\x23\xe6\xef\xa6\xba\x46\x70\xea\xa9\xb4\xc8\xb3\x35\x39\x82\xa6\x8c\xa7\x0c\x19\x61\xbe\x0b\x43\x46\x06\x23\xac\x2a\x4c\x7a\x69\x79\xa2\x58\x83\x92\xef\x68\x20\x56\x92\x7b\xac\x8a\x9a\x27\xa1\x8b\xa1\xbd\xe2\x56\x9b\x7e\xa0\x96\x4a\x96\x9c\x4e\x1e\x6a\x15\xe6\x21\x78\x7a\x85\x49\x53\xe8\xbc\xc2\xdc\x8b\x77\x38\xd4\x09\xaa\x1d\xd1\x19\x8e\x6a\xe6\xb2\xf9\x87\x4c\xef\x6a\x7c\x2c\xb3\x43\x73\xf3\x78\x3e\x72\x16\x06\x2f\xb5\x52\x29\x0a\xcf\xbe\xa9\x59\xe4\x31\x56\x98\x52\x32\xbe\x7d\x15\x18\x86\x34\x5c\x4d\x95\x7d\x8d\xca\xb4\x54\xab\x7a\x60\x2a\x06\x30\xb9\xfb\xdb\x9b\x1f\xe0\xf9\x57\x7f\x86\xa3\xf7\xb5\xbb\xd9\x6e\x0f\xd2\x1f\x9b\xfd\x26\x37\xd5\xd6\xe8\x52\x99\x76\x5b\x2a\x59\xbb\xed\x5e\x99\xfd\xb6\x12\x52\xc7\xef\x5f\xbe\xfc\xf2\xff\x5f\x7e\xf9\xf2\xab\xeb\x32\x4e\x03\xd7\xec\xdd\x6b\x46\xa7\x6b\xb2\xd1\x75\x21\x5d\x6e\x4e\x68\xbb\x4d\x55\x2c\x23\x0d\x7d\xf9\x31\x56\x6d\x9e\x7f\x24\x57\x34\x61\xb9\x39\x89\xa3\x4e\x57\xe3\x68\x13\x11\x52\x29\xba\x55\x3a\x20\x74\x4a\x40\x5d\x93\xef\x80\xbc\xb8\x8b\x76\xd9\xc5\x55\xc6\xac\x10\x49\x17\x06\x2f\x99\x16\x3b\x11\x79\x76\x1f\xee\xbb\x1a\xff\xf2\xea\x4e\x99\x96\xfb\xc5\x0d\xcb\xf0\xcd\xd5\xea\x06\xbc\x6d\xf0\xe3\x2e\xcc\xa9\x25\x08\xdd\xcd\x53\x61\xc2\xa3\x49\x03\x7f\x81\x25\xab\xd1\xc7\x92\x88\x89\xb9\xc0\x1e\xab\xda\x77\x63\x23\x08\xc7\xda\xd4\x82\x12\x60\xb9\xee\x50\x93\xa8\x5f\xf8\x7e\x63\xd6\x27\xdb\x74\x49\xb7\x99\xed\x9b\x2e\xd7\xa6\xef\xa6\x5a\xcd\x04\x0f\x8d\x37\xbe\xaf\x31\xf7\x61\x17\xd5\xd4\x07\x2b\x0a\x9c\x6d\xdd\x42\xf1\x2c\x0a\xde\x52\x4d\x28\xcc\x5c\x21\x3c\x4f\x57\xc6\x7a\x17\x1c\x13\x1c\x36\xee\x61\xa5\x03\x8a\x22\xae\x0b\xec\x6e\x42\xcf\xb4\xb5\x10\x75\xad\x64\x1e\x65\x8b\xab\xb1\x07\x0a\x6f\xb4\xf4\x34\xd0\xa2\x00\xd8\xc3\x40\xa8\xb1\x31\xf4\xf6\xdd\x65\x30\xd8\x3c\x58\x41\xc3\xf8\x27\xb1\xe5\x54\x3d\xa0\x7f\x9b\x18\xb1\x37\x28\xd6\x1c\x85\x16\x47\xdd\x0d\xbc\x36\x46\x7d\x9c\x15\xcc\x3e\x7f\x19\xc4\xc9\x14\xe3\x8d\x4b\x02\xe5\x61\x66\xb5\x8d\xbe\xf6\xb2\x0a\x28\x15\xa2\x6b\x4e\x8f\x1b\xd2\x03\xfa\x18\x75\xe3\x31\x33\x04\xda\x04\xad\x28\xa8\x22\x84\x2f\x46\xd4\x06\x26\xf4\x65\x09\x0e\x55\xb9\x39\x20\xab\x77\xb5\xda\x48\x47\xfd\x3c\x7d\x36\xe5\x0d\xc4\xfc\x3a\x27\xf4\xcd\xd5\x6a\xb5\xd0\x2c\x44\x7f\x7d\x98\x12\x8d\xd9\x38\x2d\xcd\x80\xca\xe1\x72\xbf\x11\x30\x86\x62\x71\x29\xc5\xc6\x69\xca\xbd\x07\x07\x58\x6f\x84\xf6\x68\xa0\x30\xfa\x85\x5f\xa2\x3c\xac\x93\x17\xad\xb3\x06\xd7\xe4\x47\x62\x32\xfd\xf9\x6d\x2b\x7d\x7e\xdc\x1b\x61\x8b\xdd\x1a\x76\xfc\xec\xce\xd8\x56\xd8\x02\xed\x0e\xd0\xe7\x9b\x8b\xa6\xf8\xf8\x07\x3a\x92\x58\x7e\x82\xce\xc3\xf8\xc8\x5b\x49\x18\x2f\x91\x7b\x22\x84\x77\xa3\x3e\x86\x0a\x15\x45\x8b\xc6\x36\xbc\x18\x00\x21\xee\x24\xd6\xe3\x26\xa3\x27\x41\x41\x3b\xec\x23\x20\x37\xd6\x62\xee\x55\xf7\x49\xa5\x3c\x2e\x90\xcf\x2a\x79\xbf\xa3\x19\xb5\x71\xe2\xbc\x47\x5e\x4e\x4d\x61\xd3\xb1\xe9\x56\x86\x23\x59\x4b\x7f\x35\xfb\x75\x1e\xa1\x17\x3a\x5c\x0e\xd6\x51\xa3\x9a\xa8\x2c\x77\xaa\x49\xb3\xd4\x9f\x8e\x6d\x95\x1a\x91\xf0\x28\x11\xba\xdc\x93\x4e\x6c\x73\x97\xb6\x88\x71\x45\x1e\xa7\xe3\x78\x69\xf1\x77\xf4\xa2\x10\x5e\xc0\x4f\x12\x5b\x37\x5f\xe4\x8a\xd9\xb2\xf0\x51\x44\xbd\xd5\x20\xac\x15\x8c\xa7\x0c\x6c\x94\x52\x43\xa3\x33\x26\x4f\x88\xe8\x36\x70\x4f\x68\x1f\xf2\x2d\xf5\x3e\x8d\x63\xee\x13\x06\xe9\x5f\x41\x63\xb8\xa9\xe3\xb8\xf0\x4e\x9b\x16\xda\xa3\xcc\x8f\xc0\x1d\x17\xc6\xfd\x5d\x2d\xdc\x68\x9c\x70\x46\x9d\x90\xf4\xbb\x5a\xc5\xba\xb2\x5c\x1a\x2e\xe1\x35\x9b\x86\xe0\xe6\x17\x52\xe9\xd7\x99\xab\xa3\xe6\xbf\xfc\xfa\x54\x07\xb0\x38\xd4\x77\x56\xc9\xf6\x81\x99\xb1\xfd\x44\x1f\x4c\x1e\x6e\xb4\xa8\xf0\xf4\x3d\xff\xa2\xed\x43\xb3\x49\x44\x42\xb3\x49\x52\xa6\x34\x2e\xd0\x49\x1b\xad\xbd\x59\x76\x19\x38\x6f\x9b\xdc\x53\xf1\xb0\x58\x5b\x74\x69\xd2\x88\xe3\x0a\x3a\xbf\x44\xe0\x61\xb3\x8d\xad\xfe\xaf\x24\x5b\x57\xe3\xea\x06\x6e\x75\xf7\x96\x39\x7e\xbb\x6c\x49\x2d\xd5\xc3\x68\x36\x9a\xb6\xe7\x60\x36\xdc\xf1\x78\x73\xe9\x5a\x60\x33\x21\x16\xee\x98\x44\xba\x28\xe2\xb1\x29\xb7\xbc\x51\x27\x33\x4a\x1d\x1e\xcd\xb7\xdf\x15\x0a\x3d\x9b\x7a\x90\xdb\x93\x0b\xdb\xf5\xd9\x2d\x8c\x7b\xe8\xde\xb1\xa7\xc8\x58\xc0\x09\x84\x63\xc1\xe6\xb7\x86\xbd\x1d\x42\x95\x8e\x71\x7f\xe1\x22\x6e\x02\xe9\xc3\x85\xdc\xf8\xd2\x25\x4c\x42\x7c\xf5\xe6\x62\x43\x17\xc7\xd6\x22\xdd\x5c\xd1\x2b\xc3\xed\x15\x3c\x06\xe0\x2c\xf0\x4d\xbf\xea\x5b\xf7\x23\xd9\xfa\x93\x10\xfd\x7c\xef\xf1\x64\x1c\x8f\x24\x87\x9b\xa9\xe0\xde\x68\xe1\x70\xcd\x38\x6c\xd8\xe4\xef\x93\x46\x7e\xb2\x18\x0a\x0b\xa0\x1e\xd1\xa6\x98\x7c\x5e\x3d\x03\x85\x87\xeb\xc9\xa5\xc5\xe7\x2e\xec\x2c\x76\xc3\xa0\xc6\x74\x5f\xb8\x49\x71\x85\xc5\xe5\x67\x5f\x9a\x87\x59\xc0\x45\xc2\x84\xae\xe7\xe7\xff\xeb\x57\x53\xff\xf9\xcd\x94\x5d\x6a\x14\x27\x65\xfb\x9b\x47\xf6\x4b\xb7\xc1\x28\x83\xd4\xa9\x7c\xab\xb0\x2f\x14\x1a\x8c\x05\xfc\xad\x11\x2a\x7c\x5b\x58\x35\x3d\xb8\x60\x82\x07\x37\x68\x34\x1a\xb1\x67\x6b\xcc\x29\x0a\xfb\x1b\xc3\xdd\x1e\x4b\x63\x71\xc7\xab\x1c\xf4\xd1\x2d\x54\x64\x23\xd3\x59\xd7\xb7\x44\x3c\x8e\xda\x7b\x3c\x48\xcd\xfe\x99\xdd\xa3\x0f\x37\xec\x0b\xa7\x1f\xef\x86\x58\xc0\xab\xf1\xe3\x15\x5c\x3f\x6c\xed\x7f\xf4\x31\xbd\x9f\x75\x4b\x61\x6d\x50\xa6\x4b\xf8\x28\x69\x6d\xf1\xc4\xe3\x61\x7a\x5d\x84\x95\xd2\xd3\xb7\x7b\xff\x4b\xfb\xa2\xf3\x99\xf3\xd6\x39\xb4\x7e\xd8\xba\x4c\x4b\x63\xdf\x61\xa4\xeb\xb7\x30\x2e\x87\xad\x0a\xef\x56\xe7\xf4\xe2\x94\x75\x1a\xfe\x32\x42\xba\xb8\xb2\x49\xaa\x45\x6a\x4f\xc8\x53\x92\x7d\x23\xdd\x9b\xf8\xc7\x2f\x57\xd3\xd9\x70\x75\x03\xcb\x31\xf4\x9d\xd0\xda\xf8\x7e\xc4\x67\xcc\xcf\x4d\x55\x0b\x3f\xea\xb9\x48\xbf\xcf\xc8\xc8\x27\xc5\xf8\xff\xa5\xc7\xac\x40\x7a\xfc\x59\x11\xef\x9a\xea\xd1\x50\x1f\xdc\xf3\x69\x8b\xec\xdb\x78\x0d\xa2\xbb\xf8\x87\x2f\x26\x8e\x77\x93\xda\xc2\x4e\x3c\x0a\xca\x8a\xdf\xd1\x9a\xf9\xd0\xd7\x53\x1b\x17\x80\xe1\x74\xff\x67\x4f\x70\xa1\x81\xa0\x58\x0d\x5c\xbf\xa7\x89\x9d\x4f\x5d\x2d\xc1\xf9\x82\x43\xce\x6f\x0a\x5e\x6e\x5e\xde\xc0\xb3\x28\x82\xea\xd2\xb8\x1a\x85\x61\xc3\xf2\x9f\x54\x8d\x35\x79\x76\x66\xa1\x8f\xd9\xbf\x03\x00\x00\xff\xff\x95\x15\x85\x70\x25\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x5a\x5b\x8f\xdb\xc6\xf5\x7f\xe7\xa7\x38\xb0\x1f\xbc\xca\x5f\x2b\x19\xf9\x17\x01\xba\x68\x12\xaf\xd3\x2c\x60\xa0\x2d\x82\x78\x9b\x3c\x04\x41\x35\x22\x0f\xa5\x81\x87\x33\xcc\xcc\x50\x34\x63\xf8\xbb\x17\xe7\xcc\x0c\x6f\xa2\x76\xd7\x4e\x1f\x0a\xd4\x2f\x96\x28\xce\xb9\x9f\xdf\xb9\xcc\x6e\xbf\xf8\x22\xcb\x9e\xc3\xfd\x11\xe1\x4e\x99\x16\xee\x1a\x7d\x90\x7b\x85\x70\x6f\xde\xa1\x06\xe7\x85\x2e\x84\x2d\xb2\xec\xf9\x73\xd8\xa5\x1f\xf9\xb7\x1d\xe4\x46\x7b\x2b\x72\x0f\x52\x7b\xb4\xa5\xc8\x31\xcb\x88\x50\xff\x15\xfc\x51\x78\x10\x4a\xcd\xc9\xa6\x93\x0e\x5a\xd3\xa8\x02\x8e\xe2\x84\xe0\x0d\x3d\x2f\x8d\xad\xc0\x9b\x4d\xf6\xa6\x04\x01\x8d\x43\xeb\xa0\x15\xda\x3b\xfa\xbd\xc0\x5a\x99\x0e\x04\x68\x6c\xc1\x4f\x48\xad\xc1\x1f\x51\xda\xfe\x7b\x16\x28\x6b\xc4\x82\x4e\xca\xaa\x56\x58\xa1\xf6\xf4\x1a\x4c\x14\x19\xe4\xdd\xb0\xfc\x23\x22\x33\xf1\x4a\xa3\xc8\x46\xa4\x10\x51\xb1\x8d\x42\x07\x42\x17\xa0\x45\x25\xf5\x21\x63\x75\xfd\xc4\x02\xae\xc6\x5c\x96\x12\xdd\x26\x98\xf0\x27\xd1\x28\xbf\x03\x8b\xce\x34\x96\x0c\xf6\xbd\xc8\x8f\x20\xf2\xdc\x34\x2c\x9b\xf0\x60\x5a\xed\x82\x72\xc9\x3c\x49\x09\x96\x43\x90\xc0\xe4\x97\x1c\x33\x53\x32\x3b\x26\xda\xd3\x04\xe7\x8d\xc5\x02\xa4\x8e\x26\x49\xd4\xe9\xb9\x38\x44\x2d\xe7\x87\x8e\xc2\x41\x85\xfe\x68\x0a\x07\xbd\x1e\xa6\xd5\x68\x59\x43\xe3\x8f\x68\xa3\x3b\x72\xa1\x21\x17\x4a\x45\x95\x7e\xb0\xe6\x24\x0b\xb4\xbb\x35\xec\x7e\xc4\x1c\xe5\x89\x3f\xd3\xa9\xdd\x6b\xa1\x48\xd0\x41\xe1\xc1\x34\x8e\xc5\x70\xe3\x27\x50\x60\xae\x84\x45\xa8\x2d\x5e\xe7\x46\x17\xd2\x4b\xa3\x83\x89\x6b\xe3\xfc\xf8\x19\xcb\x68\xd1\x79\x2b\x73\x9f\x91\xb0\xf8\x1e\xf3\x86\x7e\x84\x68\x96\xb2\xd1\x79\x78\x39\x98\x22\xa8\x1c\xd4\xef\x80\xf8\x38\xac\x85\x15\x1e\x61\x8f\xb9\x68\x48\x16\x0f\x07\x79\x42\xc7\xaf\x93\xb6\xfc\x41\xec\xa5\x92\xbe\x23\x17\xb8\xa3\xb0\x98\x09\xb0\x58\xa2\x45\x9d\x73\x5c\x04\x33\x07\x83\x06\x17\x6a\xd5\x01\xbe\xaf\x8d\x8b\xa4\x4a\x89\xaa\x70\x83\x44\x99\xd4\x60\x34\x82\xb1\x50\x19\x8b\x49\xe2\xc1\x14\x9b\x2c\x7b\x43\xa9\xe3\x4c\x14\x28\x98\x7e\x26\x4d\x25\xde\x21\xe4\x8d\xf3\xa6\xea\x2d\x1c\x4d\xd3\x07\x3c\xd9\x66\x6a\x65\x4a\x24\x03\x27\x61\xa5\x69\xe8\x6d\xa9\x0f\x0e\x5a\xe9\x8f\x4c\x3e\x44\xde\x26\xbb\x33\x16\xf0\xbd\x20\x32\x6b\x10\x50\x8a\x26\x47\xcf\xbe\xdf\xe3\x40\x1d\x0b\xd8\x77\x29\x6f\x39\x07\xd8\x1c\x90\x82\x62\x92\x5c\xaf\x3b\x68\x9c\xd4\x87\x91\xac\xe4\xda\x41\xb4\x75\x54\xd3\x94\x17\x11\x23\x23\x09\x1c\xea\x82\x8f\xda\x10\x6f\x29\x5d\x6a\x44\x7b\xed\xcd\x35\xfd\xbf\x66\x95\x4c\xe3\x29\x6d\x88\x29\xa1\x00\x71\x62\x70\x20\x6d\x05\xe4\x48\x54\x15\x28\x2c\x0e\x68\xc1\x55\xc2\xfa\x9e\xd5\x06\xee\x4d\xe0\x14\xa9\x7b\x03\x42\x0f\x89\xb0\xce\x02\x3e\xc5\x24\x75\x64\x93\x8e\x99\x16\x56\xb4\x23\x5b\x42\x69\x4d\x35\x0e\x12\xc6\xaa\x90\x43\x1c\xb9\x05\xd6\xc6\x49\xdf\x87\x07\x18\x3d\xe1\xf4\xc2\xa5\xe0\x22\x88\x24\xd3\x7b\x0c\xf4\xad\xd0\xae\x44\xbb\xc9\xb2\x2f\xb6\x59\xb6\xdd\x6e\x61\x01\x80\x2f\x82\x6f\xef\xc5\x0d\x1d\xcd\x44\x9e\xa3\x73\x57\x42\xa9\xd5\x02\xb6\xcf\x40\xf3\x43\x96\x01\x00\x6c\xb7\x70\xab\x01\xb5\x97\x3e\xe2\x6b\x69\x2c\x21\xa4\x69\xd9\xe6\x47\xec\x2d\x22\x14\x87\xf9\xc8\x24\x22\xa8\xc5\x84\xc6\xcc\xc7\xe4\x7e\x4e\xa7\xf7\x0a\x13\xcb\xa0\xa5\x37\x5e\x28\xd0\x4d\xb5\x47\x3b\xa2\x2c\x35\xe0\x7b\xe9\x3c\x25\xe7\xa6\x3f\xf0\xc6\x83\x74\xd0\xd4\x31\x5d\x47\x01\x6c\xe9\x11\x6a\xd7\x58\x1c\x80\x2f\xd0\x76\x4d\x5d\xab\xae\xa7\xe1\xbc\xe8\x1c\x09\xda\x30\x66\x50\xfc\x05\x82\x85\xf0\x78\xa6\xc4\x49\xd8\x40\xe6\x2d\x53\xb9\x81\x7f\xde\xc9\xf7\x5f\xfd\x69\xaa\x03\x9e\x30\xc1\xbe\x74\x80\x95\xf4\x94\x51\x2d\x45\x07\x89\x31\x78\xc1\x41\x6e\x51\x78\x2c\xce\x8d\xc5\x24\xd8\x29\xee\x8d\x96\x5e\x0a\x25\x7f\xc7\xe2\x4a\x86\xcf\x53\xee\xab\xa7\xb3\x0f\xd6\x24\x94\x4c\x0e\xd4\x8f\x78\x6d\x24\x48\xf2\x9a\xbe\x12\x15\xd5\x9e\xc4\x7f\xcd\x24\x6e\xe0\xb6\x28\x2c\x3a\xf7\xed\x67\xc9\x13\xd3\x85\x4b\x1c\xe5\xe4\x13\xe4\xf9\x6b\x3a\x72\x26\x8f\x37\x17\xa5\x99\xa5\x11\x12\xc6\xe5\x11\xd0\x2d\xfe\xd6\x48\xcb\x11\xe4\x38\xe4\x93\x91\x08\x03\x13\x91\x59\xfa\x0f\x41\xc7\xa9\xd1\xd5\x43\x7c\x8e\xe3\xb4\x30\xe8\x40\x9b\x9e\xe1\x94\x97\xd1\xb0\xdb\xa7\xaa\x7a\x44\x8b\xeb\xfe\xec\xa8\x88\x29\x14\x54\x34\x4c\x1d\x03\xa9\x36\xce\xc9\x58\x37\x4c\x19\x62\x89\x84\x88\xb5\xa3\x8e\x68\xed\x06\xd1\x49\xe3\xc2\xb0\x1c\x1a\xc9\xa8\xc2\x4a\xd5\xc5\x56\x84\xa1\xcc\xb4\x1a\xa2\x24\x53\x3d\xc6\x4e\x38\xaf\xfb\x43\x69\x88\x10\x92\x58\xbe\x6d\xf6\x11\x97\xe6\x76\xe3\x36\x24\x81\xe0\xe4\x4c\xa8\x01\xbe\xb1\x14\x1a\x11\x24\xfb\x4a\x66\xb1\x32\x27\x2c\xfa\x8a\x36\x3a\x38\x21\x72\x3f\xea\x15\x5e\xb8\x28\x3e\x28\x3c\xa1\xa2\x30\xac\x9b\xbd\x92\xf9\x1a\xf6\x0d\x85\xa6\x74\xf4\x8c\xcc\x22\xc8\x6c\x7b\x85\xd5\x84\x58\x72\x02\xb7\x00\x43\x0f\x45\xbd\x57\x02\xc4\x91\x4d\xa6\x1d\xda\x84\x50\xce\x8d\x1e\xe7\xb0\xea\xb8\x56\x04\xee\x49\xd2\x87\xf5\x09\x5c\x2b\xd1\xc1\xc1\x0a\xed\x63\xff\x16\xf9\xf4\x3a\x52\xe9\x4e\xa1\x40\xea\xc8\x53\x42\xb2\x41\x8a\xba\xef\x37\x62\x33\x6f\x5a\x97\xda\xda\x7c\xd2\x17\x52\x2e\x32\xdd\x09\x05\x0e\xbf\xe4\xf2\x5e\x75\x7f\xb4\xa6\x39\x50\x0d\xee\x3b\xa9\xa7\x2a\x14\x9a\x22\xd6\x8a\x8c\xf2\x88\x4e\xec\xbc\xa7\xa8\x44\xb4\x66\x7a\x4c\x64\x9f\xd0\xf8\x3c\x3d\x5e\x51\xb7\x59\x41\x82\x20\x52\x2b\x7c\x1e\x95\x2f\x6f\xa8\xbf\x9a\x41\x2e\xc9\x71\x3a\x0b\xfe\x57\x21\xf2\x61\xa1\x9b\xa7\xc2\x21\xa4\x9e\x97\x60\x4d\xd1\x53\x4c\xfd\xd3\x7f\x89\x69\x3b\x2e\xb8\x2b\x7a\xbf\x3f\x3d\xc3\xce\xd5\x0d\xbc\x0a\x6c\x3f\xf4\x34\xe8\x1f\x75\xea\xb3\x47\x81\x17\xec\x2c\xba\x38\xfe\x94\xd1\xd0\x21\x1f\x58\x8d\x93\x50\x0d\x9e\x1d\x0b\x47\x36\x11\x68\xe0\xeb\xaf\x93\xf9\xce\xde\xa4\x7f\xcf\x7e\x1e\x9a\x8d\x68\xda\xaa\x71\x9e\x4c\x4a\x9c\x9c\xa8\x10\x44\xf0\x6b\xa2\x18\x5b\xef\xc1\x44\xac\xd3\xb3\x09\xf9\x8f\xd9\xf4\xd3\xc7\x3f\x50\x28\x62\xf5\x5a\xa8\x13\x5c\xcd\x9e\x58\x27\x7e\xc6\x84\xce\x52\xe7\xaa\x29\x90\xba\xd9\x34\x1d\x05\x31\xf2\x23\xe6\xef\xa6\xba\x46\x70\xea\xa9\xb4\xc8\xb3\x35\x39\x82\xa6\x8c\xa7\x0c\x19\x61\xbe\x0b\x43\x46\x06\x23\xac\x2a\x4c\x7a\x69\x79\xa2\x58\x83\x92\xef\x68\x20\x56\x92\x7b\xac\x8a\x9a\x27\xa1\x8b\xa1\xbd\xe2\x56\x9b\x7e\xa0\x96\x4a\x96\x9c\x4e\x1e\x6a\x15\xe6\x21\x78\x7a\x85\x49\x53\xe8\xbc\xc2\xdc\x8b\x77\x38\xd4\x09\xaa\x1d\xd1\x19\x8e\x6a\xe6\xb2\xf9\x87\x4c\xef\x6a\x7c\x2c\xb3\x43\x73\xf3\x78\x3e\x72\x16\x06\x2f\xb5\x52\x29\x0a\xcf\xbe\xa9\x59\xe4\x31\x56\x98\x52\x32\xbe\x7d\x15\x18\x86\x34\x5c\x4d\x95\x7d\x8d\xca\xb4\x54\xab\x7a\x60\x2a\x06\x30\xb9\xfb\xdb\x9b\x1f\xe0\xf9\x57\x7f\x86\xa3\xf7\xb5\xbb\xd9\x6e\x0f\xd2\x1f\x9b\xfd\x26\x37\xd5\xd6\xe8\x52\x99\x76\x5b\x2a\x59\xbb\xed\x5e\x99\xfd\xb6\x12\x52\xc7\xef\x5f\xbe\xfc\xf2\xff\x5f\x7e\xf9\xf2\xab\xeb\x32\x4e\x03\xd7\xec\xdd\x6b\x46\xa7\x6b\xb2\xd1\x75\x21\x5d\x6e\x4e\x68\xbb\x4d\x55\x2c\x23\x0d\x7d\xf9\x31\x56\x6d\x9e\x7f\x24\x57\x34\x61\xb9\x39\x89\xa3\x4e\x57\xe3\x68\x13\x11\x52\x29\xba\x55\x3a\x20\x74\x4a\x40\x5d\x93\xef\x80\xbc\xb8\x8b\x76\xd9\xc5\x55\xc6\xac\x10\x49\x17\x06\x2f\x99\x16\x3b\x11\x79\x76\x1f\xee\xbb\x1a\xff\xf2\xea\x4e\x99\x96\xfb\xc5\x0d\xcb\xf0\xcd\xd5\xea\x06\xbc\x6d\xf0\xe3\x2e\xcc\xa9\x25\x08\xdd\xcd\x53\x61\xc2\xa3\x49\x03\x7f\x81\x25\xab\xd1\xc7\x92\x88\x89\xb9\xc0\x1e\xab\xda\x77\x63\x23\x08\xc7\xda\xd4\x82\x12\x60\xb9\xee\x50\x93\xa8\x5f\xf8\x7e\x63\xd6\x27\xdb\x74\x49\xb7\x99\xed\x9b\x2e\xd7\xa6\xef\xa6\x5a\xcd\x04\x0f\x8d\x37\xbe\xaf\x31\xf7\x61\x17\xd5\xd4\x07\x2b\x0a\x9c\x6d\xdd\x42\xf1\x2c\x0a\xde\x52\x4d\x28\xcc\x5c\x21\x3c\x4f\x57\xc6\x7a\x17\x1c\x13\x1c\x36\xee\x61\xa5\x03\x8a\x22\xae\x0b\xec\x6e\x42\xcf\xb4\xb5\x10\x75\xad\x64\x1e\x65\x8b\xab\xb1\x07\x0a\x6f\xb4\xf4\x34\xd0\xa2\x00\xd8\xc3\x40\xa8\xb1\x31\xf4\xf6\xdd\x65\x30\xd8\x3c\x58\x41\xc3\xf8\x27\xb1\xe5\x54\x3d\xa0\x7f\x9b\x18\xb1\x37\x28\xd6\x1c\x85\x16\x47\xdd\x0d\xbc\x36\x46\x7d\x9c\x15\xcc\x3e\x7f\x19\xc4\xc9\x14\xe3\x8d\x4b\x02\xe5\x61\x66\xb5\x8d\xbe\xf6\xb2\x0a\x28\x15\xa2\x6b\x4e\x8f\x1b\xd2\x03\xfa\x18\x75\xe3\x31\x33\x04\xda\x04\xad\x28\xa8\x22\x84\x2f\x46\xd4\x06\x26\xf4\x65\x09\x0e\x55\xb9\x39\x20\xab\x77\xb5\xda\x48\x47\xfd\x3c\x7d\x36\xe5\x0d\xc4\xfc\x3a\x27\xf4\xcd\xd5\x6a\xb5\xd0\x2c\x44\x7f\x7d\x98\x12\x8d\xd9\x38\x2d\xcd\x80\xca\xe1\x72\xbf\x11\x30\x86\x62\x71\x29\xc5\xc6\x69\xca\xbd\x07\x07\x58\x6f\x84\xf6\x68\xa0\x30\xfa\x85\x5f\xa2\x3c\xac\x93\x17\xad\xb3\x06\xd7\xe4\x47\x62\x32\xfd\xf9\x6d\x2b\x7d\x7e\xdc\x1b\x61\x8b\xdd\x1a\x76\xfc\xec\xce\xd8\x56\xd8\x02\xed\x0e\xd0\xe7\x9b\x8b\xa6\xf8\xf8\x07\x3a\x92\x58\x7e\x82\xce\xc3\xf8\xc8\x5b\x49\x18\x2f\x91\x7b\x22\x84\x77\xa3\x3e\x86\x0a\x15\x45\x8b\xc6\x36\xbc\x18\x00\x21\xee\x24\xd6\xe3\x26\xa3\x27\x41\x41\x3b\xec\x23\x20\x37\xd6\x62\xee\x55\xf7\x49\xa5\x3c\x2e\x90\xcf\x2a\x79\xbf\xa3\x19\xb5\x71\xe2\xbc\x47\x5e\x4e\x4d\x61\xd3\xb1\xe9\x56\x86\x23\x59\x4b\x7f\x35\xfb\x75\x1e\xa1\x17\x3a\x5c\x0e\xd6\x51\xa3\x9a\xa8\x2c\x77\xaa\x49\xb3\xd4\x9f\x8e\x6d\x95\x1a\x91\xf0\x28\x11\xba\xdc\x93\x4e\x6c\x73\x97\xb6\x88\x71\x45\x1e\xa7\xe3\x78\x69\xf1\x77\xf4\xa2\x10\x5e\xc0\x4f\x12\x5b\x37\x5f\xe4\x8a\xd9\xb2\xf0\x51\x44\xbd\xd5\x20\xac\x15\x8c\xa7\x0c\x6c\x94\x52\x43\xa3\x33\x26\x4f\x88\xe8\x36\x70\x4f\x68\x1f\xf2\x2d\xf5\x3e\x8d\x63\xee\x13\x06\xe9\x5f\x41\x63\xb8\xa9\xe3\xb8\xf0\x4e\x9b\x16\xda\xa3\xcc\x8f\xc0\x1d\x17\xc6\xfd\x5d\x2d\xdc\x68\x9c\x70\x46\x9d\x90\xf4\xbb\x5a\xc5\xba\xb2\x5c\x1a\x2e\xe1\x35\x9b\x86\xe0\xe6\x17\x52\xe9\xd7\x99\xab\xa3\xe6\xbf\xfc\xfa\x54\x07\xb0\x38\xd4\x77\x56\xc9\xf6\x81\x99\xb1\xfd\x44\x1f\x4c\x1e\x6e\xb4\xa8\xf0\xf4\x3d\xff\xa2\xed\x43\xb3\x49\x44\x42\xb3\x49\x52\xa6\x34\x2e\xd0\x49\x1b\xad\xbd\x59\x76\x19\x38\x6f\x9b\xdc\x53\xf1\xb0\x58\x5b\x74\x69\xd2\x88\xe3\x0a\x3a\xbf\x44\xe0\x62\x33\x3a\x36\xf8\xbf\x92\x58\x5d\x8d\xab\x1b\xb8\xd5\xdd\x5b\x66\xf6\xed\xb2\x11\xb5\x54\x0f\x03\xd9\x68\xd0\x9e\xe3\xd8\x70\xbd\xe3\xcd\xa5\x1b\x81\xcd\x84\x58\xb8\x5e\x12\xe9\x8e\x88\x27\xa6\xdc\xf2\x32\x9d\x2c\x28\x75\x78\x34\x5f\x7c\x57\x28\xf4\x6c\xe0\x41\xee\x4c\x2e\x2c\xd6\x67\x17\x30\xee\xa1\x2b\xc7\x9e\x22\xc3\x00\xe7\x0e\x8e\x05\x9b\x5f\x18\xf6\x76\x08\x05\x3a\x86\xfc\x85\x3b\xb8\x09\x9a\x0f\x77\x71\xe3\xfb\x96\x30\x04\xf1\xad\x9b\x8b\xbd\x5c\x9c\x58\x8b\x74\x69\x45\xaf\x0c\x17\x57\xf0\x18\x76\xb3\xc0\x37\xfd\x96\x6f\xdd\x4f\x63\xeb\x4f\x02\xf3\xf3\x95\xc7\x93\x21\x3c\x92\x1c\x2e\xa5\x82\x7b\xa3\x85\xc3\x0d\xe3\xb0\x5c\x93\xbf\x4f\x7a\xf8\xc9\x4e\x28\xec\x7e\x7a\x30\x9b\xc2\xf1\x79\xe1\x0c\x14\x1e\x2e\x25\x97\x76\x9e\xbb\xb0\xae\xd8\x0d\x33\x1a\xd3\x7d\xe1\x26\x75\x15\x16\xf7\x9e\x7d\x55\x1e\xc6\x00\x17\x09\x13\xb0\x9e\x9f\xff\xaf\xdf\x4a\xfd\xe7\x97\x52\x76\xa9\x47\x9c\x54\xec\x6f\x1e\x59\x2d\xdd\x06\xa3\x0c\x52\xa7\xca\xad\xc2\xaa\x50\x68\x30\x16\xf0\xb7\x46\xa8\xf0\x6d\x61\xcb\xf4\xe0\x6e\x09\x1e\x5c\x9e\xd1\x54\xc4\x9e\xad\x31\xa7\x28\xec\x2f\x0b\x77\x7b\x2c\x8d\xc5\x1d\x6f\x71\xd0\x47\xb7\x50\x7d\x8d\x4c\x67\x0d\xdf\x12\xf1\x38\x65\xef\xf1\x20\x35\xfb\x67\x76\x85\x3e\x5c\xae\x2f\x9c\x7e\xbc\x11\x62\x01\xaf\xc6\x8f\x57\x70\xfd\xb0\xb5\xff\xd1\xc7\xf4\x7e\xd6\x28\x85\x8d\x41\x99\xee\xdf\xa3\xa4\xb5\xc5\x13\x4f\x86\xe9\x75\x11\xb6\x49\x4f\x5f\xec\xfd\x2f\xad\x8a\xce\xc7\xcd\x5b\xe7\xd0\xfa\x61\xe1\x32\x2d\x8d\x7d\x73\x91\x6e\xde\xc2\xa4\x1c\x16\x2a\xbc\x56\x9d\xd3\x8b\x03\xd6\x69\xf8\xa3\x08\xe9\xe2\xb6\x26\xa9\x16\xa9\x3d\x21\x4f\x49\xf6\x8d\x74\x6f\xe2\xdf\xbd\x5c\x4d\xc7\xc2\xd5\x0d\x2c\xc7\xd0\x77\x42\x6b\xe3\xfb\xe9\x9e\x31\x3f\x37\x55\x2d\xfc\xa8\xdd\x22\xfd\x3e\x23\x23\x9f\x14\xe3\xff\x97\x1e\xb3\x02\xe9\xf1\x67\x45\xbc\x6b\xaa\x47\x43\x7d\x70\xcf\xa7\xed\xb0\x6f\xe3\x0d\x88\xee\xe2\xdf\xbc\x98\x38\xd9\x4d\x6a\x0b\x3b\xf1\x28\x28\x2b\x7e\x47\x6b\xe6\xf3\x5e\x4f\x6d\x5c\x00\x86\xd3\xfd\x5f\x3c\xc1\x85\x06\x82\x62\x35\x70\xfd\x9e\x86\x75\x3e\x75\xb5\x04\xe7\x0b\x0e\x39\xbf\x24\x78\xb9\x79\x79\x03\xcf\xa2\x08\xaa\x4b\x93\x6a\x14\x86\x0d\xcb\x7f\x4d\x35\xd6\xe4\xd9\x99\x85\x3e\x66\xff\x0e\x00\x00\xff\xff\xa1\x3c\x04\x3f\x20\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -157,11 +157,11 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x22, 0xe6, 0xe4, 0x70, 0xd8, 0x4d, 0x30, 0xf1, 0x63, 0xa2, 0xf2, 0x95, 0x6f, 0x6b, 0xde, 0xde, 0x8b, 0xa8, 0x83, 0x58, 0x86, 0xb7, 0x7b, 0x31, 0x99, 0xe0, 0xe9, 0x65, 0xa2, 0x7d, 0xbe, 0x72}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x52, 0x36, 0x55, 0xb, 0xd2, 0x99, 0x3, 0x4a, 0xb1, 0x10, 0x3a, 0x8a, 0x68, 0xdc, 0x45, 0x66, 0xe8, 0xf2, 0x59, 0x1d, 0xe1, 0x20, 0xd7, 0x39, 0x91, 0x12, 0xd2, 0x59, 0x65, 0xe7, 0x3e, 0xcf}}
 	return a, nil
 }
 
-var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\x5f\x6f\x1b\xb9\x11\x7f\xd7\xa7\x98\xea\xe1\xce\x06\x1c\x29\x09\x8a\xf6\x20\x9c\x9a\xcb\xe1\x6c\xb4\x80\x83\x18\x8e\x73\x7d\xac\xa9\xdd\x59\x8b\x30\x97\xdc\x92\x5c\x29\x82\xe1\xef\x5e\x0c\xc9\xdd\x25\xf7\x8f\x2c\xdf\xf5\x80\xd3\x43\x22\x91\xc3\x99\xdf\xfc\xe5\x0c\xcd\xcb\x4a\x69\x0b\x57\xb5\x7c\xe0\x1b\x81\x77\xea\x11\x25\x14\x5a\x95\x30\x4f\xd6\xe6\xb3\x40\xf9\x09\x2d\xcb\x99\x65\xbf\x72\xdc\x9b\x40\x99\xac\xb5\x94\xf4\xeb\x16\x8d\x12\x3b\xd4\x81\x30\x5e\x9a\xcf\x66\xcb\xe5\x12\xee\xb6\xdc\x40\xa6\xa4\xd5\x2c\xb3\xc0\xcb\x4a\x60\x89\xd2\x1a\xb0\x5b\x84\x32\x30\x06\x63\x99\xcc\x99\xce\xa1\xd2\xaa\x52\x06\x73\x77\x96\x4b\xb8\xba\xfe\xd7\xcd\x9b\x77\x6f\x7f\xf8\xfb\xc2\xad\xb8\x7f\x6e\xb1\x58\xc1\xd6\xda\xca\xac\x96\xcb\x07\x6e\xb7\xf5\x66\x91\xa9\x72\xa9\x64\x21\xd4\x7e\x59\x08\x5e\x99\xe5\x46\xa8\xcd\xb2\x64\x5c\x2e\x59\x55\x09\x9e\x31\xcb\x95\x5c\xbe\x7f\xfb\xfe\xfd\xdb\x1f\xde\xbd\x7b\x53\x04\xe5\xdf\x58\xd2\xde\xbc\x69\x90\x2c\xca\xbc\x13\xf4\xc5\xea\x3a\xb3\x06\x98\xcc\x41\xa3\x51\xb5\xce\xd0\x40\xc6\x64\xa7\x07\x28\x89\xa0\x34\x94\x4a\xa3\x3b\xd3\xaa\x64\x0f\x15\x9a\x0b\xc8\x98\x10\x98\xc3\x8e\x4c\xb7\x80\x4b\x96\x6d\xdd\x77\xb7\x0d\x1a\x2b\x8d\x86\xcc\xe1\xce\x32\xc8\x79\x51\xa0\x26\xbe\x8f\x5c\xe6\xa0\x8a\x96\x9f\xd3\x7f\xc6\xb2\x0c\x8d\x39\x63\x42\x9c\x77\x46\x4d\x1c\x99\xfa\xef\x69\x36\x03\x00\x20\xe6\x57\x77\xb4\x04\x7b\xcd\x2a\x03\x57\x77\xbf\x70\x53\x09\x76\x70\xba\x5d\xdd\xfd\xca\x6a\x61\x7f\x61\x96\x5d\xb8\x05\x6e\xa0\x36\x98\x83\x55\xf0\xc0\x77\x08\x0c\x32\x45\x1a\x5b\x84\x96\x5f\xc5\x33\x5b\x6b\x24\x8c\xac\x85\x00\x0e\xc3\x02\x3e\x29\x63\x7b\x8b\x2d\x5e\x03\x66\xab\x6a\x91\x77\xac\x3a\x6b\x5a\x8a\x16\xb2\xcf\xa2\xd9\x74\xff\xc7\x6a\x1b\xe7\x94\x46\x9d\x27\xb7\xdf\xa7\x11\x68\xa1\xb0\x41\xc5\x55\xa7\xed\x07\x47\x79\xe4\x48\x6b\x87\x55\x6c\x94\x0f\xed\x09\xe7\x3a\x2e\xb9\x3d\x6b\x97\xe8\x33\x2a\xeb\xa2\x47\xf2\x12\xef\xf3\x48\x19\xfa\x18\x14\xc5\xa2\xe5\x0c\xeb\x4e\xca\x18\x59\xcb\xd0\x11\xb6\xbf\x5a\xd2\xe7\x99\xff\xb7\x35\xfa\x3f\x51\x54\xa8\x9d\x8b\xd1\x92\x0b\xef\x46\x0c\x4f\x84\x3f\x55\x4c\xb3\xd2\x6d\x36\xb9\xbd\x82\x8f\xa0\xd1\x45\x6a\x86\xc4\x82\x92\x59\x37\xb5\xa0\x49\x95\x8e\x83\x46\x5b\x6b\x09\x1f\x1b\xaf\x79\x1f\x4e\xba\xd8\x59\xb9\xa8\x25\x21\xf3\x27\xce\x52\xe9\xdf\x3d\xc5\x95\x66\xd1\x7c\x79\x3e\x5f\x0d\xe3\x82\x1c\x5b\xb2\xc3\x06\xc3\xce\x3a\xd1\x64\x11\x50\x3b\x21\x77\x87\x0a\x7f\xf4\x64\xff\x38\x3b\x3f\x6f\x59\xf0\xa2\x09\x0f\xcf\x20\x66\x97\xfa\x2c\x28\x1a\x28\x99\xf9\x4b\xc0\xd3\x73\x43\x44\x1a\xf4\x9b\x0a\x27\xe7\x5d\x67\x86\xb0\x94\x58\xe2\xfc\x48\x8c\x75\x27\xdb\xc5\xf4\x6c\x17\x78\xfd\xd0\x70\xe0\xad\x02\xfc\x46\xb5\xd8\x39\x97\xcb\x42\xe9\xd2\x15\x51\x90\x88\xb9\x2f\x0e\x66\xab\xf6\x19\x73\x24\x9c\x8a\xca\xa2\xcb\x69\x5f\xf7\x99\x84\x0d\xfa\x5a\xb2\x39\x40\x54\x89\x4d\x57\x5b\x24\xa8\x1d\x6a\xe7\x73\xaa\x3d\x2d\x87\x07\xcd\xaa\x2d\xcf\x0c\x55\x18\x82\x70\x75\x77\x42\x51\x68\xb2\xa5\x73\x8b\x07\x83\x90\x87\x1d\xc9\x4a\x84\x42\x69\x8f\xd9\x95\xff\x45\x4c\x9c\x1c\xbc\xfc\xc6\xa8\x36\xad\x60\x7e\x25\xd4\x7e\x3e\x4a\xd7\xaf\x22\x24\x60\x45\x77\x07\x97\x0f\xb3\x01\x0c\xb6\xd9\x68\xdc\x71\x66\x31\x07\x73\x28\x37\x4a\xfc\x16\x30\xd7\x9f\xff\x3d\x9f\x04\xe0\xd9\x8e\x43\xf8\x08\x39\x9a\x4c\xf3\xca\x79\x92\xcc\x5a\x69\xb5\xe3\x39\x9a\xc4\x11\xce\xe4\xaf\x41\x44\xaa\x11\x2a\x7f\x82\x2e\x10\xe2\x2d\x99\x25\x17\x67\xb5\xa6\x4a\x71\x68\x3d\x29\xd4\x1e\x24\xda\xbd\xd2\x8f\x8b\x69\x3d\x22\xa4\xe3\xca\x5c\x7e\xb3\xa8\x25\x13\x20\xb8\x7c\xa4\x80\x62\xf0\xf5\xf6\x9a\xbe\x38\x25\xe8\x4e\x4e\x02\x97\x6d\x54\x6d\x1d\x82\xe6\xfa\xef\x2b\xd8\x87\x80\x41\xc2\xd7\xdb\xeb\x55\xda\x1a\x2d\x2e\xbb\xad\x14\xd5\xe7\xae\x23\x80\x1d\x6a\xe3\xa2\x3d\x68\x9e\xca\x05\xa1\x1e\xd4\xb4\x70\xda\x35\x7d\xb1\x9f\x30\xe7\xcc\xa4\x12\xbf\xa8\x8c\x07\x2b\xb8\xbc\xd2\x48\x6d\xc6\x50\xde\xf7\x06\x8c\x27\xdd\xaa\x12\x2b\xf6\x80\x26\xf1\x2d\xdc\x28\x63\x1c\xf9\x23\x1e\x0c\x95\x39\xca\xde\x39\x97\xc6\xb2\x07\xcd\xca\xf9\x05\xcc\xed\x9e\x5b\x8b\x9a\xbe\xe6\xdc\x64\x4a\xe7\xf3\x0b\x40\x9b\x4d\xab\xe1\x45\x9a\x15\x3c\x79\x1f\x1e\x31\xe4\xf3\xec\xa5\x9b\x36\x4e\xae\xb4\xf8\xa5\x51\x9f\xee\x8d\x44\x52\x4a\x70\x9a\x9f\xd3\x33\x47\xdc\xd3\x43\xf6\x1a\x03\x34\x87\x46\xbb\x01\x57\xbb\xd6\xce\x08\xc3\xcd\x50\x4d\xd6\xc1\x12\x43\x82\x38\xf3\xd7\xb1\x4d\x86\xa4\x91\x3d\x60\x1d\x5b\x67\x48\xea\xcc\x00\x6b\x6f\x8e\x11\x54\x5e\x79\x82\xe5\xbf\x9d\xda\x91\x74\xb5\x9c\x4b\x60\xb0\x67\x07\xb0\x5b\x66\x61\xcf\x85\x68\x2e\x4f\xdf\x65\xe7\xa0\x9c\x1a\x4c\xb4\x17\x04\xfc\x11\xdd\x8b\x6c\xe5\x44\xe0\x5e\xd5\xca\x34\x77\xf8\x7f\xe0\x15\xfd\x4c\xdb\xbb\x3e\xf5\x1b\x12\xd7\x87\x84\xed\x13\x7b\x9b\x40\x4d\xed\x4d\x2f\xc0\x02\xcf\x3c\x61\x37\x90\xc0\xcc\x87\xd1\x5b\xb6\xf9\x04\x5b\x45\x5c\x12\x92\xe7\xe9\x46\x48\x72\xf1\xdb\xfa\x10\x63\xa9\xd2\xba\xb1\x45\x5a\x74\x13\xd1\x9e\xdb\x6d\x68\x69\xa9\xf7\x59\xbc\xaa\x2b\x31\x68\xeb\x2a\x3a\xed\xb9\xd1\x60\x8a\xba\x8b\x2b\x92\xca\x1e\xbc\xdc\xaa\xde\x08\x9e\x41\xc6\x2a\xb6\xe1\x82\x5b\xde\xd4\xd5\xe3\xf3\x4b\xdb\xb1\xa7\xcd\xca\x0d\xb3\x5b\x8a\xf9\x46\xc2\x7e\x8b\xba\xed\xb0\x02\x24\x6e\x40\x63\xa6\xca\x12\x65\x68\xc5\x36\xe8\x0d\x91\x1f\x29\xc4\x9e\x21\xf1\xa7\x2a\xd8\xfe\x48\x2f\x93\x1b\xaf\x4c\x45\x28\xf6\x5b\x9e\x6d\xa1\xac\x8d\x25\xfe\x74\xbf\x78\x61\x91\x43\x82\xee\x1a\x33\xe4\x94\x3e\xad\x11\x0e\xd3\x40\x1a\x62\x8f\xc4\x0b\xfc\xdd\x40\x36\x4c\x30\xca\xe7\x66\x58\x77\xc9\x3c\xe9\x99\x31\x58\xcd\xa8\xfd\x02\x2c\xcd\x77\xcc\x62\x8c\x2b\xcc\xb3\x93\x26\xf2\x1d\x56\x6c\x1b\xa2\xa0\xb0\xca\x35\x73\xe5\x21\x37\x90\x08\x71\xcf\x29\x74\x36\x8a\xdf\x31\xc8\x0d\xeb\x00\xd9\x43\x1b\x62\xa6\xe4\xf7\xd5\x73\x00\x95\xf9\x86\xe8\x3e\xf6\xc9\xfd\xc2\x27\x0a\x37\xc0\xc8\x96\x56\xf3\x8c\xfa\xd5\xf0\x66\xf1\xdf\x9a\xd3\x35\x96\x22\x76\x4c\x92\x97\x88\xc5\x6d\x60\x79\xef\x13\xb3\x60\x19\xbe\x1c\x13\xd7\x0e\x16\x01\x5e\x39\xd8\x7f\x06\x45\x7e\xf6\xa1\x75\xef\x62\xeb\x7e\xb4\x54\x47\x3a\x9e\x10\x61\xbf\x57\x49\x56\x28\xed\x1e\x4c\xb8\x92\x98\x43\x15\x85\x64\xd0\x38\x61\xc8\x0d\x48\xaa\x9a\x42\x1c\x46\xec\xe0\x8b\xa5\x05\x06\x25\x97\xbc\xac\xcb\x31\x13\xdc\x84\x40\x3b\xc9\x97\x4d\x54\x1e\x57\xf3\xaa\x96\x59\x98\x42\x48\xba\x10\x6a\x6f\x20\xd3\xe8\x8b\xbb\x2a\x68\x20\xc1\xb2\xb2\x87\xae\xec\x39\x4a\xf2\xa7\xb4\xae\xf0\xa5\x8e\x53\xe1\x2a\x08\x8d\x6f\x7e\xc4\x11\x4e\x0c\x5e\x12\x77\x57\x86\x57\x74\xe0\xec\x7c\x05\x3f\x7d\x94\x87\xdb\xd0\x01\x3c\xa5\x26\x70\x84\x2f\x77\xa8\x53\x55\xf6\xa2\xf7\x50\x30\x5e\x02\x53\xaa\xa9\x8a\x94\x52\x4d\x16\x81\x71\x91\x7d\xaf\x8c\x8b\x3c\x4e\x35\xe5\xe1\x94\xaa\x6f\xe5\xc6\xe3\xaf\xb0\x76\xc3\xaa\xdf\xad\x54\x1a\x47\xbb\x8f\xbe\x8a\x0b\x6e\xbe\xd4\x1b\x8a\xf3\x33\x55\x78\x8c\x3f\x7e\xf7\x34\x5e\xa7\x9e\xa9\x2b\x5a\xc1\xbc\xf9\xdd\xdc\x1e\x2e\x4b\xdc\xdd\xc3\x65\x26\xea\x1c\x61\xfc\x7c\x34\xca\x4e\x5b\xf3\x14\x40\xa1\xde\x5c\xc0\x78\x57\x18\x60\x36\x43\xc4\xa9\x30\x7f\x8e\x2e\xc8\x51\xc6\x71\x09\x1b\xaa\x32\x74\xf9\x29\xaa\x34\x75\xa3\x01\xdd\xfc\x7e\x11\x6d\x4b\xd8\xd5\x9b\xf9\x44\x2b\x09\xed\xac\xd1\x65\x1b\xcd\x1b\x51\x87\x33\x20\x8d\xf3\x0f\xd6\x49\x3a\x0e\x89\xe3\x34\xa4\xa6\x38\xfa\x39\x24\x8e\xb3\x11\xd6\x49\x72\x4e\xc3\xe8\x8c\x1a\x81\xe9\x16\xa7\x21\x25\x07\x87\x8b\xd3\xf0\x92\x83\xc3\xc5\xe1\xc1\x7e\x32\xc3\x7a\x32\xbf\x4f\x1f\xf1\xba\x1e\xf8\xe5\x21\xef\x73\x7f\xc8\xfb\x43\x5e\xa8\xa3\x11\xaf\x03\xf7\xba\xf7\xea\xf6\xb9\xf5\x55\x63\x5e\xf7\x17\x81\xe1\xa0\xb7\x3b\xf1\xe1\xba\x61\x31\x3d\xde\xed\x02\x9b\x30\xc8\x8d\xcd\x20\xcd\x27\x98\x64\xf7\xff\x1d\xe0\xac\xb2\x4c\x80\xa9\xab\x4a\xb4\xef\x81\x0e\xc5\xf7\xe1\xb5\x71\x6a\x60\xba\xa3\x83\x5f\xfc\xb9\xe9\xbf\xfa\x78\xc6\x2b\xf8\x7a\xc5\xbf\xfd\xed\xaf\x63\x97\xb5\xed\xf8\x34\x64\xa3\x6f\x2d\x01\xe2\x1a\xa2\x03\x83\xc0\x7e\x9e\xc1\xff\x02\x00\x00\xff\xff\x7f\xc7\x1f\xa0\x62\x1d\x00\x00"
+var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\x5f\x6f\x1b\xb9\x11\x7f\xd7\xa7\x98\xea\xe1\xce\x06\x1c\x29\x09\x8a\xf6\x20\x9c\x9a\xcb\xe1\x6c\xb4\x80\x83\x18\x8e\x73\x7d\xac\xa9\xdd\x59\x8b\x30\x97\xdc\x92\x5c\x29\x82\xe1\xef\x5e\x0c\xc9\xdd\x25\xf7\x8f\x2c\xdf\xf5\x80\xd3\x43\x22\x91\xc3\x99\xdf\xfc\xe5\x0c\xcd\xcb\x4a\x69\x0b\x57\xb5\x7c\xe0\x1b\x81\x77\xea\x11\x25\x14\x5a\x95\x30\x4f\xd6\xe6\xb3\x40\xf9\x09\x2d\xcb\x99\x65\xbf\x72\xdc\x9b\x40\x99\xac\xb5\x94\xf4\xeb\x16\x8d\x12\x3b\xd4\x81\x30\x5e\x9a\xcf\x66\xcb\xe5\x12\xee\xb6\xdc\x40\xa6\xa4\xd5\x2c\xb3\xc0\xcb\x4a\x60\x89\xd2\x1a\xb0\x5b\x84\x32\x30\x06\x63\x99\xcc\x99\xce\xa1\xd2\xaa\x52\x06\x73\x77\x96\x4b\xb8\xba\xfe\xd7\xcd\x9b\x77\x6f\x7f\xf8\xfb\xc2\xad\xb8\x7f\x6e\xb1\x58\xc1\xd6\xda\xca\xac\x96\xcb\x07\x6e\xb7\xf5\x66\x91\xa9\x72\xa9\x64\x21\xd4\x7e\x59\x08\x5e\x99\xe5\x46\xa8\xcd\xb2\x64\x5c\x2e\x59\x55\x09\x9e\x31\xcb\x95\x5c\xbe\x7f\xfb\xfe\xfd\xdb\x1f\xde\xbd\x7b\x53\x04\xe5\xdf\x58\xd2\xde\xbc\x69\x90\x2c\xca\xbc\x13\xf4\xc5\xea\x3a\xb3\x06\x98\xcc\x41\xa3\x51\xb5\xce\xd0\x40\xc6\x64\xa7\x07\x28\x89\xa0\x34\x94\x4a\xa3\x3b\xd3\xaa\x64\x0f\x15\x9a\x0b\xc8\x98\x10\x98\xc3\x8e\x4c\xb7\x80\x4b\x96\x6d\xdd\x77\xb7\x0d\x1a\x2b\x8d\x86\xcc\xe1\xce\x32\xc8\x79\x51\xa0\x26\xbe\x8f\x5c\xe6\xa0\x8a\x96\x9f\xd3\x7f\xc6\xb2\x0c\x8d\x39\x63\x42\x9c\x77\x46\x4d\x1c\x99\xfa\xef\x69\x36\x03\x00\x20\xe6\x57\x77\xb4\x04\x7b\xcd\x2a\x03\x57\x77\xbf\x70\x53\x09\x76\x70\xba\x5d\xdd\xfd\xca\x6a\x61\x7f\x61\x96\x5d\xb8\x05\x6e\xa0\x36\x98\x83\x55\xf0\xc0\x77\x08\x0c\x32\x45\x1a\x5b\x84\x96\x5f\xc5\x33\x5b\x6b\x24\x8c\xac\x85\x00\x0e\xc3\x02\x3e\x29\x63\x7b\x8b\x2d\x5e\x03\x66\xab\x6a\x91\x77\xac\x3a\x6b\x5a\x8a\x16\xb2\xcf\xa2\xd9\x74\xff\xc7\x6a\x1b\xe7\x94\x46\x9d\x27\xb7\xdf\xa7\x11\x68\xa1\xb0\x41\xc5\x55\xa7\xed\x07\x47\x79\xe4\x48\x6b\x87\x55\x6c\x94\x0f\xed\x09\xe7\x3a\x2e\xb9\x3d\x6b\x97\xe8\x33\x2a\xeb\xa2\x47\xf2\x12\xef\xf3\x48\x19\xfa\x18\x14\xc5\xa2\xe5\x0c\xeb\x4e\xca\x18\x59\xcb\xd0\x11\xb6\xbf\x5a\xd2\xe7\x99\xff\xb7\x35\xfa\x3f\x51\x54\xa8\x9d\x8b\xd1\x92\x0b\xef\x46\x0c\x4f\x84\x3f\x55\x4c\xb3\xd2\x6d\x36\xb9\xbd\x82\x8f\xa0\xd1\x45\x6a\x86\xc4\x82\x92\x59\x37\xb5\xa0\x49\x95\x8e\x83\x46\x5b\x6b\x09\x1f\x1b\xaf\x79\x1f\x4e\xba\xb8\xa8\x25\x81\xf2\xc4\x67\xa9\xe0\xef\x9e\xe2\x22\xb3\x68\xbe\x3c\x9f\xaf\x86\x21\x41\x3e\x2d\xd9\x61\x83\x61\x67\x9d\x28\xb1\x08\x80\x9d\x90\xbb\x43\x85\x3f\x7a\xb2\x7f\x9c\x9d\x9f\xb7\x2c\x78\xd1\x44\x86\x67\x10\xb3\x4b\xdd\x15\x74\x0c\x94\xcc\xfc\x25\xe0\xe9\x79\x20\x22\x0d\xfa\x4d\x45\x92\x73\xac\x33\x43\x58\x4a\x2c\x71\x7e\x24\xbc\xba\x93\xed\x62\x7a\xb6\x8b\xb9\x7e\x54\x38\xf0\x56\x01\x7e\xa3\x32\xec\xfc\xca\x65\xa1\x74\xe9\xea\x27\x48\xc4\xdc\xd7\x05\xb3\x55\xfb\x8c\x39\x12\x4e\xf5\x64\xd1\xa5\xb3\x2f\xf9\x4c\xc2\x06\x7d\x19\xd9\x1c\x20\x2a\xc2\xa6\x2b\x2b\x12\xd4\x0e\xb5\x4b\x2a\x2a\x3b\x2d\x87\x07\xcd\xaa\x2d\xcf\x0c\x15\x17\x82\x70\x75\x77\x42\x3d\x68\x12\xa5\x73\x8b\x07\x83\x90\x87\x1d\xc9\x4a\x84\x42\x69\x8f\xd9\x55\xfe\x45\x4c\x9c\x1c\xbc\xfc\xc6\xa8\x2c\xad\x60\x7e\x25\xd4\x7e\x3e\x4a\xd7\x2f\x20\x24\x60\x45\xd7\x06\x97\x0f\xb3\x01\x0c\xb6\xd9\x68\xdc\x71\x66\x31\x07\x73\x28\x37\x4a\xfc\x16\x30\xd7\x9f\xff\x3d\x9f\x04\xe0\xd9\x8e\x43\xf8\x08\x39\x9a\x4c\xf3\xca\x79\x92\xcc\x5a\x69\xb5\xe3\x39\x9a\xc4\x11\xce\xe4\xaf\x41\x44\xaa\x11\x2a\x7f\x82\xee\x0e\xe2\x2d\x99\x25\x17\x67\xb5\xa6\x22\x71\x68\x3d\x29\xd4\x1e\x24\xda\xbd\xd2\x8f\x8b\x69\x3d\x22\xa4\xe3\xca\x5c\x7e\xb3\xa8\x25\x13\x20\xb8\x7c\xa4\x80\x62\xf0\xf5\xf6\x9a\xbe\x38\x25\xe8\x3a\x4e\x02\x97\x6d\x54\x6d\x1d\x82\xe6\xe6\xef\x2b\xd8\x87\x80\x41\xc2\xd7\xdb\xeb\x55\xda\x15\x2d\x2e\xbb\xad\x14\xd5\xe7\xae\x19\x80\x1d\x6a\xe3\xa2\x3d\x68\x9e\xca\x05\xa1\x1e\xd4\xb4\x70\xda\x35\x7d\xb1\x9f\x30\xe7\xcc\xa4\x12\xbf\xa8\x8c\x07\x2b\xb8\xbc\xd2\x48\x1d\xc6\x50\xde\xf7\x06\x8c\x27\xdd\xaa\x12\x2b\xf6\x80\x26\xf1\x2d\xdc\x28\x63\x1c\xf9\x23\x1e\x0c\x95\x39\xca\xde\x39\x97\xc6\xb2\x07\xcd\xca\xf9\x05\xcc\xed\x9e\x5b\x8b\x9a\xbe\xe6\xdc\x64\x4a\xe7\xf3\x0b\x40\x9b\x4d\xab\xe1\x45\x9a\x15\x3c\x79\x1f\x1e\x31\xe4\xf3\xec\xa5\x4b\x36\x4e\xae\xb4\xf8\xa5\x51\x9f\xee\x8d\x44\x52\x4a\x70\x9a\x9f\xd3\x33\x47\xdc\xd3\x43\xf6\x1a\x03\x34\x87\x46\x1b\x01\x57\xbb\xd6\xce\x08\xc3\xcd\x50\x4d\xd6\xc1\x12\x43\x82\x38\xf3\xd7\xb1\x4d\x86\xa4\x91\x3d\x60\x1d\x5b\x67\x48\xea\xcc\x00\x6b\x6f\x8e\x11\x54\x5e\x79\x82\xe5\xbf\x9d\xda\x8c\x74\xb5\x9c\x4b\x60\xb0\x67\x07\xb0\x5b\x66\x61\xcf\x85\x68\x2e\x4f\xdf\x60\xe7\xa0\x9c\x1a\x4c\xb4\x17\x04\xfc\x11\x8d\x8b\x6c\xe5\x44\xe0\x4e\xed\x62\x9a\xeb\xfb\x3f\xf0\x8a\x56\xa6\xed\x58\x9f\xfa\xbd\x88\x6b\x41\xc2\xf6\x89\x6d\x4d\xa0\xa6\xce\xa6\x17\x5b\x81\x67\x9e\xb0\x1b\x48\x60\xe6\xc3\xe8\x05\xdb\x7c\x82\x99\x22\x2e\x09\xc9\xf3\x74\x0f\x24\xb9\xf8\x6d\x2d\x88\xb1\x54\x64\xdd\xb0\x22\x2d\xba\x39\x68\xcf\xed\x36\x34\xb2\xd4\xf6\x2c\x5e\xd5\x90\x18\xb4\x75\x15\x9d\xf6\xdc\x68\x1c\x45\xdd\x85\x14\x49\x65\x0f\x5e\x6e\x55\x6f\x04\xcf\x20\x63\x15\xdb\x70\xc1\x2d\x6f\x4a\xea\xf1\xa9\xa5\xed\xd3\xd3\x3e\xe5\x86\xd9\x2d\x85\x7b\x23\x61\xbf\x45\xdd\x36\x57\x01\x12\x37\xa0\x31\x53\x65\x89\x32\x74\x61\x1b\xf4\x86\xc8\x8f\xd4\x60\xcf\x90\xf8\x53\x01\x6c\x7f\xa4\xf7\xc8\x8d\x57\xa6\x22\x14\xfb\x2d\xcf\xb6\x50\xd6\xc6\x12\x7f\xba\x5a\xbc\xb0\xc8\x21\x41\x77\x8d\x19\x72\xca\x9c\xd6\x08\x87\x69\x20\x0d\xb1\x47\xe2\x05\xfe\x6e\x20\x1b\x26\x18\xa5\x72\x33\xa2\xbb\x3c\x9e\xf4\xcc\x18\xac\x66\xc0\x7e\x01\x96\xe6\x3b\x66\x31\xc6\x15\xa6\xd8\x49\x13\xf9\xe6\x2a\xb6\x0d\x51\x50\x58\xe5\x9a\xed\xa9\x3c\xe4\x06\x12\x21\xee\x11\x85\xce\x46\xf1\x3b\x06\xb9\x61\x1d\x20\x7b\x68\x43\xcc\x94\xfc\xbe\x70\x0e\xa0\x32\xdf\x0b\xdd\xc7\x3e\xb9\x5f\xf8\x44\xe1\x06\x18\xd9\xd2\x6a\x9e\x51\xab\x1a\x5e\x2a\xfe\x5b\x73\xba\xc1\x52\xc4\x8e\x49\xf2\xfe\xb0\xb8\x0d\x2c\xef\x7d\x62\x16\x2c\xc3\x97\x63\xe2\xda\xc1\x22\xc0\x2b\x07\xfb\xcf\xa0\xc8\xcf\x3e\xb4\xee\x5d\x6c\xdd\x8f\x96\xea\x48\xc7\x13\x22\xec\xf7\x2a\xc9\x0a\xa5\xdd\x33\x09\x57\x12\x73\xa8\xa2\x90\x0c\x1a\x27\x0c\xb9\x01\x49\x55\x53\x88\xc3\x88\x1d\x7c\xb1\xa4\xc1\xbf\xe4\x92\x97\x75\x39\x66\x82\x9b\x10\x68\x27\xf9\xb2\x89\xca\xe3\x6a\x5e\xd5\x32\x0b\x03\x08\x49\x17\x42\xed\x0d\x64\x1a\x7d\x71\x57\x05\xcd\x22\x58\x56\xf6\xd0\x95\x3d\x47\x49\xfe\x94\xd6\x15\xbe\xd4\x71\x2a\x5c\x05\xa1\xe7\xcd\x8f\x38\xc2\x89\xc1\x4b\xe2\xee\xca\xf0\x8a\x0e\x9c\x9d\xaf\xe0\xa7\x8f\xf2\x70\x1b\x2e\xff\xa7\xd4\x04\x8e\xf0\xe5\xe6\x74\xaa\xca\x5e\xf4\xde\x08\xc6\x4b\x60\x4a\x35\x55\x91\x52\xaa\xc9\x22\x30\x2e\xb2\xef\x95\x71\x91\xc7\xa9\xa6\x3c\x9c\x52\xf5\xad\xdc\x78\xfc\x15\xd6\x6e\x58\xf5\xbb\x95\x4a\xe3\x68\xf7\xd1\x57\x71\xc1\xcd\x97\x7a\x43\x71\x7e\xa6\x0a\x8f\xf1\xc7\xef\x9e\xc6\xeb\xd4\x33\x75\x45\x2b\x98\x37\xbf\x9b\xdb\xc3\x65\x89\xbb\x7b\xb8\xcc\x44\x9d\x23\x8c\x9f\x8f\xa6\xd8\x69\x6b\x9e\x02\x28\xd4\x9b\x0b\x18\xef\x0a\x03\xcc\x66\x7e\x38\x15\xe6\xcf\xd1\x05\x39\xca\x38\x2e\x61\x43\x55\x86\x2e\x3f\x45\x95\xa6\x6e\x34\xa0\x9b\xdf\x2f\xa2\x6d\x09\xbb\x7a\x33\x9f\x68\x25\xa1\x1d\x33\xba\x6c\xa3\x51\x23\xea\x70\x06\xa4\x71\xfe\xc1\x3a\x49\xc7\x21\x71\x9c\x86\xd4\x14\x47\x3f\x87\xc4\x71\x36\xc2\x3a\x49\xce\x69\x18\x9d\x51\x23\x30\xdd\xe2\x34\xa4\xe4\xe0\x70\x71\x1a\x5e\x72\x70\xb8\x38\x3c\xd8\x4f\x66\x58\x4f\xe6\xf7\xe9\xd3\x5d\xd7\x03\xbf\x3c\xdf\x7d\xee\xcf\x77\x7f\xc8\xbb\x74\x34\xdd\x75\xe0\x4e\x7e\xa5\x6e\x1f\x59\x5f\x35\xe1\x75\x7f\x02\x18\xce\x78\xbb\x13\x9f\xab\x1b\x16\xd3\x93\xdd\x2e\xb0\x09\x33\xdc\xd8\xf8\xd1\x7c\x82\x35\x76\xff\xdf\xd9\xcd\x2a\xcb\x04\x98\xba\xaa\x44\xfb\x0a\xe8\x50\x7c\x1f\xde\x18\xa7\x66\xa5\x3b\x3a\xf8\xc5\x9f\x9b\xfe\x33\x8f\x67\xbc\x82\xaf\x57\xfc\xdb\xdf\xfe\x3a\x76\x4f\xdb\x8e\x4f\x43\x36\xfa\xc2\x12\x20\xae\x21\x3a\x30\x88\xe9\xe7\x19\xfc\x2f\x00\x00\xff\xff\x87\x41\x46\xa9\x53\x1d\x00\x00"
 
 func fungibletokenmetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -177,7 +177,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenMetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0xa3, 0xdb, 0x55, 0x18, 0x4, 0xc4, 0xce, 0x1d, 0x8c, 0xc8, 0x3e, 0x4f, 0x6d, 0x26, 0xfb, 0x3c, 0x73, 0xf9, 0xa, 0xda, 0x36, 0xa3, 0x7e, 0xfa, 0x7e, 0x84, 0xd4, 0x6c, 0xe7, 0x33, 0xee}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0xf6, 0xa8, 0xb6, 0xf5, 0xc2, 0x65, 0x5c, 0xf0, 0xee, 0x2d, 0xf, 0xb4, 0x89, 0x2, 0xad, 0xcd, 0xb8, 0x52, 0xf6, 0x5c, 0xb0, 0xc5, 0xd1, 0xd8, 0xe6, 0xd5, 0x84, 0x17, 0x52, 0x8a, 0xc0}}
 	return a, nil
 }
 

From ac3d6fb821ff39eacb98f214699703135342ac56 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 19 Jul 2023 11:35:19 -0500
Subject: [PATCH 010/115] add default impl for getSupportedVaultTypes

---
 contracts/FungibleToken-v2.cdc             | 16 ++++++++++++++--
 lib/go/contracts/internal/assets/assets.go |  6 +++---
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index bfcb9979..b7ea7186 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -190,9 +190,21 @@ access(all) contract FungibleToken {
         access(all) view fun getBalance(): UFix64
 
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        access(all) view fun getSupportedVaultTypes(): {Type: Bool}
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
+            // Below check is implemented to make sure that run-time type would
+            // only get returned when the parent resource conforms with `FungibleToken.Vault`. 
+            if self.getType().isSubtype(of: Type<@AnyResource{FungibleToken.Vault}>()) {
+                return {self.getType(): true}
+            } else {
+                // Return an empty dictionary as the default value for resource who don't
+                // implement `FungibleToken.Vault`, such as `FungibleTokenSwitchboard`, `TokenForwarder` etc.
+                return {}
+            }
+        }
 
-        access(all) view fun isSupportedVaultType(type: Type): Bool
+        access(all) view fun isSupportedVaultType(type: Type): Bool {
+            return false
+        }
 
         /// Returns the storage path where the vault should typically be stored
         access(all) view fun getDefaultStoragePath(): StoragePath? {
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index dcb1ad9e..faf3d4aa 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -2,7 +2,7 @@
 // sources:
 // ../../../contracts/ExampleToken-v2.cdc (10.65kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
-// ../../../contracts/FungibleToken-v2.cdc (11.266kB)
+// ../../../contracts/FungibleToken-v2.cdc (11.85kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.507kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (17.818kB)
@@ -121,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x8f\x1b\xb7\x11\x7f\xdf\x4f\x31\xb8\x00\xb5\x94\x2a\x92\x1f\x8a\x3e\x08\xb1\x5d\x3b\x89\x8b\x3c\x34\x08\xec\x6b\xfc\x50\x14\x15\xb5\x3b\xab\x65\xbc\x4b\x6e\x48\xae\x64\xf5\x70\xdf\xbd\x98\x21\xb9\xff\xb4\x3a\xe9\x2e\x76\x51\xd4\x0f\x67\x69\x97\x1c\x0e\x87\x33\xbf\xf9\xcd\x50\xab\xaf\xbf\x4e\x92\xaf\xe0\xb6\x40\x78\x5b\xea\x03\xbc\x6d\xd4\x4e\x6e\x4b\x84\x5b\xfd\x11\x15\x58\x27\x54\x26\x4c\x96\x24\x5f\x7d\x05\x9b\xf8\x92\xdf\x6d\x20\xd5\xca\x19\x91\xba\x24\xe1\xe9\xd3\x33\x41\x5a\x50\x1a\x4a\xad\x76\x68\x40\x28\x90\xca\xa1\xc9\x45\x8a\x89\x2b\x84\x03\x51\x96\x90\xc7\xa9\x8e\xa7\x46\xb9\x16\x0e\xba\x29\x33\x28\xc4\x9e\x5e\xd1\xf3\x5c\x9b\x0a\x9c\x5e\x26\xc9\x8f\x39\x08\x68\x2c\x1a\x0b\x07\xa1\x9c\xa5\x01\x19\xd6\xa5\x3e\x82\x00\x85\x87\x91\xac\x05\xb8\x02\xa5\xe9\x74\xce\x34\x92\x62\x0e\x14\x62\x46\x93\x65\x55\x97\x58\xa1\x72\x34\x12\x06\x5b\xed\x74\x5e\xc0\xb6\x71\x41\x14\x2f\x60\x93\x4c\x9f\x11\xd1\x4e\xb2\x90\x61\x2e\x15\x66\x20\x15\xb8\x42\xda\x56\x8b\xa5\xb7\xeb\x2f\xa2\x29\xdd\x06\x0c\x5a\xdd\x98\xb4\x37\x33\x49\x7e\x10\x69\x31\xb6\x4f\x3b\xce\x1d\x6b\xe4\xc5\xed\xe9\xea\xe7\x85\x86\x45\x7f\x36\x7a\x2f\x33\x34\x9b\x05\x6c\xde\x61\x8a\x72\xcf\x9f\x85\xca\x60\xf3\x46\x94\x42\xa5\x38\x35\xdb\xf2\x69\xdb\xd1\xf6\xd2\x52\x18\x84\xda\xe0\x37\xa9\x56\x99\x74\x52\x2b\xcb\xa2\x6a\x6d\x5d\xff\x19\x9f\xb9\x41\xeb\x8c\x4c\x5d\x42\x8a\xe2\x27\x4c\x1b\x7a\x09\x3a\x67\xcd\xf3\x46\xa5\x7e\x30\x9b\x0b\x81\x77\xb2\xe4\x75\x8f\x40\xeb\x58\xac\x85\x11\x0e\x61\x8b\xa9\x68\x48\x17\x07\x3b\xb9\x47\xcb\xc3\xc9\x29\xf8\x83\xd8\xca\x52\xba\x23\xd9\xc6\x16\xc2\x60\x22\xc0\x60\x8e\x06\x55\xca\xfe\xe4\x8f\x91\xa5\x7b\xbd\xb4\x2a\x8f\x80\x9f\x6a\x6d\x83\xa8\x5c\x62\x99\xd9\x4e\xa3\x44\x2a\xd0\x0a\x41\x1b\xa8\xb4\xc1\xa8\x71\x67\x0a\x72\x4c\xf2\x69\xab\x83\x42\xde\x43\x47\xda\x54\xe2\x23\x42\xda\x58\xa7\xab\xd6\xc2\xc1\x34\xed\x21\x92\x6d\x86\x56\x26\x07\xd7\xb0\x17\x46\xea\x86\x46\x4b\xb5\xb3\x70\x90\xae\x60\xf1\xde\x1b\x97\xc9\x5b\x6d\x00\x3f\x09\x12\xb3\x00\x01\xb9\x68\x52\x74\x90\x0a\x05\x5b\xec\xa4\x63\x06\xdb\x63\x0c\x28\xa9\x76\x89\x37\x07\x44\xa7\x18\x78\xcb\xd7\xab\x24\x91\x55\xad\x8d\x83\x5f\x24\x1e\xde\xa1\xd5\xe5\x1e\x0d\xe4\x46\x57\x70\xd3\x7f\x74\x93\x24\xab\xd5\x6a\x18\x3c\xf4\x64\xf0\x34\x00\x44\xab\x8b\x08\xde\x62\xb0\x07\x14\x06\x7f\x6b\xa4\x99\x0a\xab\x61\x30\xb0\xe4\x4e\x59\xf8\x80\x60\x9d\x2c\x4b\x0f\x1a\xd2\x81\xb0\x03\xd0\x81\x02\x4d\xe7\x37\x8e\xbf\xb1\x4b\xe9\x8a\x3d\x27\x6f\x4a\x16\xd9\x38\x7f\x5a\x15\xba\x42\x67\xe1\x70\x2a\xa1\x8e\x50\x1b\xfd\x2b\x32\x38\xd1\x32\x7e\x31\x42\x20\xd2\x94\x17\xd5\x6a\x84\x35\x76\xc1\x22\x03\x72\x78\x17\xde\x1e\x69\xb3\x15\x0a\x65\xdb\xbd\x2e\x19\x0c\xbd\x1b\x74\x4f\xe9\x33\x3f\x6b\x4f\xd9\xef\x39\x1a\xc5\x0e\xc2\xbd\x83\x0e\x91\xa6\x68\xed\x4c\x94\xe5\xbc\xd5\x64\x04\x6b\x77\x49\x02\x00\xb0\x5a\xc1\x6b\x05\xa8\x9c\x74\xc1\xce\xb9\x36\xa4\x8b\x3e\x48\xb5\x63\xf1\xe4\x66\x99\x11\x07\x51\xb2\xcf\xb3\xaf\xf9\xf3\x17\x3e\x80\x58\x50\x7f\xc9\xbe\xb8\x0f\x71\xf6\xb6\xc4\xb8\xe4\x8a\x73\x0e\xee\xfd\xb1\xfa\x2d\x63\x25\x1d\xb9\xe6\xa1\x40\x15\x17\x21\x63\xc5\xd5\xd5\x85\x25\xf7\xfd\xc5\x66\xa2\xd2\x8d\x72\x6b\xf8\xfb\x5b\xf9\xe9\xcf\x7f\x5a\xf0\xdc\x35\xbc\xce\x32\x83\xd6\xbe\x5a\x30\x7a\xae\xe1\xbd\x33\x52\xed\xe6\x7d\x61\x16\xcb\x7c\x4e\x7e\xc6\x0a\x45\x79\x3f\x90\xf4\xc7\x09\x5d\xc3\x1b\xad\x4b\xb8\x63\xe1\xf4\x8f\xe4\x9d\x2a\xe8\xff\x8f\xb2\xe8\x6f\x94\x43\x7f\xe7\xed\x6c\x83\xae\x31\x0a\x9c\x69\x90\x9f\xdd\x3f\xc5\x96\x19\xd6\xda\x4a\xe7\x23\xeb\x61\x4b\x7e\xef\x87\x9e\xec\xd9\xe9\x27\x98\x31\x08\x9b\xb6\xe2\x03\x12\xa7\x6d\x38\x56\x2d\x9a\x90\x04\x39\xfd\x05\xcd\xe7\x8c\x50\x36\x47\x43\x81\xc9\xce\x48\xe9\x40\xa4\x29\x2d\xcf\x16\x55\x9a\x40\xe5\x8c\x45\x6f\xc3\xec\xcb\x6e\xf4\x14\x13\x47\xe9\x57\x7a\xea\x63\x6d\x7e\xa2\xfc\xa4\xdf\x3e\xed\x00\x58\xe5\x07\x7c\xd6\x3a\xa3\x8f\x98\x9d\x31\xeb\x9b\xc6\xa8\x53\x9f\x1a\x18\xed\xbc\xd5\x68\xf2\x19\xaf\x7c\xd0\x26\x32\x0f\x06\x80\x97\x2f\xe0\xf9\xf2\x79\xef\x55\x6b\xb2\x81\x62\xad\x8f\x4e\x98\xe6\xfe\x1a\x23\xc5\xe4\x1c\x1f\x0c\xdc\xb7\xcb\x70\xec\xc2\x48\x99\x3d\x0d\x34\x26\xa4\x12\x9f\x2d\x08\xdb\x23\xa0\x52\xe6\x8f\x42\xfa\xa0\xce\xa4\x26\x26\x18\xce\x01\xc7\x1a\x97\x27\xeb\xfe\xe8\xa0\xa5\xd1\x61\xc1\xe1\x5a\x5a\xc1\x66\x1b\xb9\x24\xe5\xda\x45\x3b\xb7\x47\xdd\x4a\x14\x44\x95\x74\x8d\x9e\xef\xd5\xda\x5a\x19\xd8\x92\xce\x21\x35\x28\x58\x89\xc0\x98\xea\x60\x06\xdb\xa9\x4e\x3b\x26\x1e\xce\x74\x9e\xce\x58\x18\x59\x1e\x03\x2f\xe7\x5c\xac\x0f\x0a\x82\x26\xc3\x7d\xf4\xbd\xe9\x94\xed\x76\x84\x28\xe4\xca\xb8\x64\xb4\x20\xd8\x66\x1b\x8a\x95\xb1\x01\xf5\x41\xa1\x79\x66\x7b\x10\x1b\x27\x13\x31\xf6\xe7\x6c\x23\x04\x77\x44\xce\x60\xa5\xf7\x0c\xcf\x9e\xd0\xf5\x26\x0e\x84\xdc\xf6\xa8\xf2\x33\x1b\xf6\x01\x25\xee\xb1\x24\x00\xab\x9b\x6d\x29\xd3\x58\xaf\x48\xeb\xeb\x30\x07\x82\xec\xb7\x2d\xb1\x1a\x08\x8b\xa7\xc1\x0c\xb8\x55\x1e\xac\xd3\x26\x52\x80\x9e\x71\x82\x4d\x03\xec\x0d\x04\xa5\x4c\xb6\xa4\x93\xa2\x2c\x8f\x90\x7a\x42\x23\x3b\x0a\xfd\xf0\x7e\xfc\xaa\x95\x38\xc2\xce\x10\xa5\x62\x2c\x8d\xeb\xb4\x7b\x24\xe6\x1a\x7d\x82\xb6\x23\xf7\xc2\xe1\x48\x8b\xba\xa5\xdb\xa1\xc8\xd4\x07\x0b\xb6\xc6\x54\xe6\x32\x0d\x72\x03\x37\xd7\x41\xee\x40\x02\xfb\x61\x3c\xfb\xae\xe0\x2a\x8c\x6e\x76\x05\xf4\x0a\x89\x6b\x37\xe4\x6b\x02\xde\x15\x19\xe5\xc2\x9e\xf8\xf0\xae\xd9\x12\xc9\x1a\xed\x63\xa0\xfb\x40\xc6\xe3\xf7\x11\xa2\xa3\x4f\xe0\x3c\x72\x1e\xa6\x59\xd6\x7c\x0d\x7f\x79\xad\x8e\xef\xc2\x42\x77\xec\xdb\xf7\x23\x68\xa4\x9a\x70\xf4\xc8\xaf\x0b\x1b\x83\x36\x54\xad\x79\xd8\x93\x77\x3d\xc6\xc4\xbd\x28\x1b\x3c\x99\xe6\xa7\x2c\x77\xe8\x42\xd5\x3a\x9b\xc3\x8b\x17\x01\x6d\xd7\x27\xc3\xe9\xdf\xcd\x87\x8e\xce\x06\x0c\xaf\x1a\xeb\xa8\x42\xa2\xe5\xac\xa8\x90\xea\x06\xfa\x1c\x30\x23\x56\x7a\x1d\x13\xe5\x9d\xdd\x4c\x6c\x62\x40\xb1\x97\xe7\x19\xe4\x30\x7b\x52\x4e\x5a\xb2\xb7\xbc\x5a\x0a\x9f\x95\x63\xa6\xe0\x57\x3b\x74\xb7\xc7\x1a\x67\xf3\xa5\xcc\x08\x93\x73\x89\x66\x3e\x58\xfd\x7e\x94\x4c\x7a\x89\x23\x96\xf7\xbf\x3f\x71\x04\xf6\x38\x91\x37\xa4\x0a\x87\x75\x45\xde\xf8\x80\x11\xad\xa5\x4a\xcb\x26\x43\x10\xd0\xf6\x08\xbc\x1a\x69\x81\xe9\xc7\xe1\x11\x04\x8c\x6a\xa5\x1c\xb0\xad\xbb\xa8\xd6\xbe\xa6\xd4\xf6\x66\xf0\xf5\x54\x02\x3d\xc8\xca\x74\x1c\x34\x5d\x57\x2f\xa0\x94\x1f\x11\x6c\x5d\x4a\x2e\xc4\x2a\x68\x6a\x82\xf1\x56\x88\x45\x95\xf9\x17\x54\xa6\xcb\x9c\xa3\xca\x41\x5d\xfa\xae\x00\x5c\x9f\x71\xe2\x61\x8d\x33\x4e\x30\x3d\x38\xf1\x11\xbb\xb4\x41\xa9\x24\xbc\xb1\x94\x4b\xa7\x8f\x61\xd0\x31\x7a\x28\xd0\x59\x29\x8a\xef\x20\x73\xe6\xbd\x73\x22\xa6\xe7\x43\xed\x76\xe8\xde\x37\x75\xad\x8d\xc3\x8c\x07\x90\xb7\x52\x4e\xa7\x23\xe5\x5c\xd0\x25\xbc\x52\x5a\x47\x01\xb5\xf7\x9d\x17\x1e\x18\x2a\x5c\xae\x7b\xc3\xfe\x49\xa5\xda\xd9\x49\x15\xf7\x12\x0f\xac\xe7\xf4\xba\xb3\xf9\x1a\xee\x6e\x39\x7a\x88\xb5\x8d\x01\x68\xb5\x82\x37\x58\xea\x83\xf7\x32\xca\x8c\xfd\xc6\x48\xf4\x1a\xdb\x98\x10\x13\xa6\x51\xdf\x38\x59\x85\x86\x1b\x37\x25\xc7\xf2\x38\x71\xee\xd0\x85\x6d\xb6\x24\x96\xa0\x58\xb0\x2b\xb4\x67\x10\xba\x2e\xc1\xc7\x86\x4d\xd5\xa5\x2f\xe3\x97\x30\x90\x2f\xf3\x13\x10\xb0\xef\x9b\x2d\x69\x33\xd3\xf9\x1a\xe8\xe1\xb7\x83\x33\x9a\x10\x7a\xff\x72\x36\x9f\x4f\xc0\x6e\x00\xd7\xbb\xe1\x0a\x6b\x66\xa0\xf7\x43\x84\x01\x2c\x2d\x4e\x23\xf7\x3b\x2f\x45\x10\xa7\xae\xdd\x11\x32\xc9\xe9\x5e\x98\x63\x44\xd2\x0c\x73\x3e\x6f\x46\x71\x06\x93\xd6\x22\x87\x42\x43\xa6\xd5\x33\x37\x25\xb9\xeb\xfe\x4c\x9a\x6a\x01\xb6\x49\x0b\x5a\x64\xf8\xfa\xfd\x41\xba\xb4\xd8\x6a\x61\xb2\xcd\x02\x36\xfc\xec\xad\x36\x07\x61\x32\x34\x1b\x40\x97\x2e\xcf\x9a\xe2\xfe\x2c\xb0\x0e\x7c\xfe\x5d\xf0\xe8\x43\x81\xcc\x27\xb4\x61\x4c\xa3\xcd\x12\x20\x29\xef\x2e\xd2\x06\x4f\xf6\x3d\x37\x7a\x3b\xc0\xe3\x28\xed\x75\x8c\x07\x86\x3f\xa1\xc2\x2c\x10\xea\xe8\x05\xd9\x82\xbb\xe1\xbf\x52\xa6\xea\x55\x09\x24\x34\xd8\xf6\xe1\x50\x21\x9f\x19\x47\xca\xcc\xa7\x18\xfa\x78\x5a\xe1\xf4\x4c\x92\x8b\xd2\xe2\x74\x82\xb9\x00\x67\xb1\x6a\xd4\xa6\x27\x39\xb4\x03\xd9\x45\x7c\xb3\x09\x32\x69\x30\x75\x6d\x7d\x0d\x52\x59\x87\x22\x23\x9c\x28\xc4\x9e\x73\x09\xf7\x3f\x45\x0b\x84\x04\x7d\x5d\x5f\xea\x2a\x54\x73\xe7\xea\xef\x08\x3a\x6b\xf8\xae\xe5\x59\xdf\xfe\x61\x14\x46\xf1\xd8\xee\x5f\x8e\xe3\xa8\x36\x53\x61\x11\x85\x2e\x19\x66\x28\xa6\x6e\xbe\xe3\x23\x24\x2f\xd9\x6a\x63\xf4\x01\x4e\x5b\xd2\xf0\xd3\xdb\xdb\x76\xea\xcd\xb5\x29\x3e\x70\x9f\x89\x0c\x2f\x6d\xef\x34\xb8\x08\xa0\x55\x77\xa8\xd0\x88\x12\xea\xc6\xd4\xda\x22\x54\xe8\x44\x26\x9c\xe8\x8d\x1d\xe7\xdb\x48\x4b\x47\xe2\x10\x33\x0f\x9a\x84\x7e\x51\x8c\xaf\x3b\x44\x96\x79\x3e\x7b\x28\x74\x89\x7c\x2b\xd3\xf5\x27\xa3\x58\x3a\x7e\xdc\x23\x01\x45\xd7\x46\x69\xea\x9d\x11\x19\x9b\x84\x6a\x19\xa3\xb7\x62\x4b\x95\x89\xd6\x50\x51\xb8\xeb\x1c\x04\x6c\x0d\x8a\x8f\x5c\x18\x16\x42\xed\xf0\x1a\x6f\x0c\x66\x82\x3b\x58\xad\xd6\x83\x6e\xf6\xb2\x6d\x6b\x8f\xf2\xee\xdf\xb8\x03\x1c\x37\xd8\x23\x24\x27\x64\x3f\x12\x95\x94\x0f\x79\x8b\xec\xab\x46\x52\x31\xc7\x17\x09\x8b\xc1\x0c\xab\x43\xfb\xd9\x5f\x90\xc5\x3b\xa4\x40\xb9\x18\x49\x3f\xd5\xa5\x4c\xa5\xf3\xb3\x2f\xe6\xc1\x96\xfe\x46\xb7\x4e\x3e\x47\xea\xfc\x1c\x98\x32\x34\xe8\xe0\x0e\xc1\x5b\xd7\x5e\x8c\xde\xbe\xd6\x24\x80\xf5\xfc\x07\xad\xf1\xcf\xb3\xd1\x6e\xfc\x22\x34\x7c\xf6\x2f\x96\xd0\x6a\xf5\x5a\x1d\xdf\x3b\xd3\xa4\xee\xd5\x38\x90\xba\x6a\x7d\xd0\xe9\xc8\x90\x48\xcc\x22\x94\xd2\xad\x3f\xf9\x0b\x4a\xae\xed\xba\xdb\xc9\x16\xdf\x17\xd1\xdf\x16\x3d\x18\x5c\xb4\x3d\x05\x7f\xd9\x16\x4d\xd1\x75\x46\x9a\xae\x0d\x49\x48\x61\xa3\x85\xe1\x88\xee\x31\x4c\x92\xb7\xb2\xbe\x5e\x9b\xab\xc2\xe1\xaf\xc3\x20\x88\x85\xd1\xfe\x72\xfe\x79\xd8\x45\xff\xf7\x49\xe4\x85\x70\x7a\x4a\x28\x44\x06\xc1\x55\xa7\xd3\x46\xec\x88\x2e\xba\x82\x28\x85\xc1\xce\xb0\x31\xf7\xbb\x63\x2d\x53\x36\xc4\xd6\x4f\xc0\xcb\xb0\xf0\xbd\xe7\x06\xef\xbd\xf8\x9f\x85\x2b\x68\x63\xbd\xaf\xaf\xa6\x53\xbe\x92\xe5\x25\xe2\xc3\xec\xd6\xe7\x84\x81\xd6\xd2\x0e\xd5\xe6\x6b\xb1\x36\x7d\x74\x9d\x8c\x6b\x75\xff\x99\x27\x46\xd5\xbb\x6f\x8f\xd3\xfc\xbf\x03\x27\x97\xba\x84\x1b\x4f\x3d\x36\x5d\x9f\x90\xbd\xe5\x99\x9d\x4c\x2b\xc3\x4e\x21\x25\xd0\x51\xb7\x30\x0a\x26\x72\x79\x3a\xff\x0b\xf7\x71\x26\x59\x4f\xac\x23\xba\x6e\xcc\xcb\x0b\xdd\x98\xd7\xbe\x05\xd3\xf5\x56\x62\x33\xa6\xf4\xdd\x2c\xa1\x88\x5a\xe3\x6f\x8d\x28\xfd\xb7\x09\xfc\x99\x68\xc7\xdc\x5f\xd9\x74\x0a\x17\xc1\xbe\x3b\x28\xca\xb6\x55\x09\x9b\x2d\xe6\xda\xe0\xa6\x9f\xfb\x7d\xf5\x12\x16\xed\x7a\xdb\xc3\x0c\xdd\x13\x1e\xee\x6d\xb7\xb8\x93\x4a\x11\x57\x19\xfd\xc8\xa1\xfb\xf9\xc3\xc4\xec\x2b\x6c\xfb\xe2\x05\x78\x2d\x67\x27\xef\xe6\xf0\xcd\xc3\x76\xff\xa9\x75\xa7\x68\xcc\x7e\x17\x2c\x36\x31\x3a\x1b\xd7\x06\xf7\xfc\xdb\x83\x38\x5c\xf8\x9e\xc7\xb8\x2b\x16\xdf\x9f\x27\xaf\x57\x36\x36\x44\x96\x59\x90\xae\x5b\x30\x30\xe4\xc1\xd9\xcb\x89\x0e\xfb\x53\xda\x1a\x53\x25\xf3\x98\xe7\x53\x99\x66\x2d\x1a\xd7\xdd\xc8\xa7\x5a\xa5\x06\x5d\xe8\x0d\x04\x4b\x75\x97\xac\x1e\x07\xa5\x6d\x1b\x8b\x63\x79\xa1\x3a\xee\xd5\x7e\x6d\xc1\x18\x3b\xef\x41\xda\x15\xb1\x47\xdb\x5a\x4a\xfb\xa3\xb2\x8e\x7d\x60\x58\xd3\xcf\xd7\x30\xed\x08\xdf\x09\x45\x44\xa3\x2b\xac\x40\xaa\x54\x57\xb5\x70\xbd\x5f\x1d\xd1\xfe\xae\xeb\x77\x4e\x5e\xf5\xb2\x6a\x7d\xf7\xf4\x77\x85\x0f\xf4\x3d\xe3\x8c\xab\xfb\x9e\x70\x3e\xcc\x1f\x19\x38\x7f\x8c\xef\x4e\xb4\x9e\x3f\x29\x96\x6c\x53\x5d\x0c\xa2\xce\x67\x1e\xc4\xb2\x51\xf0\xfc\x5f\x55\xd1\x9f\xe5\xec\x1e\x0d\x7a\x6d\x22\xb6\xa8\x32\x34\x5f\x14\x04\xe1\x4c\xc8\x4c\x5f\xdd\x5f\x73\x45\xa0\xd7\x5d\x9f\xc1\xf7\x14\x66\xf3\x57\x9f\xef\x26\x61\xe0\x6c\x7c\x43\x85\x3f\x54\xb5\x3b\x06\x90\x0e\x97\x50\xea\x18\x7e\x75\xa7\xc3\x98\x01\x59\x61\x54\x2b\x04\x61\xfb\xbf\xd1\xe8\x6b\x88\x4a\xeb\x6b\xe3\x25\x67\xbf\xe7\x86\xe9\xcc\x55\xd1\xf3\xe5\xf3\x35\xdc\x50\x05\xaf\xf0\x50\x86\x8b\xb8\x18\x87\xde\x1d\x98\xc1\xf6\x95\xbf\x22\x3c\xc3\xaf\x16\x66\xd7\x35\x8b\xa6\xbc\xe2\xf4\xa7\x09\x27\xfe\xfe\xbb\x2f\x89\xee\xff\x13\x00\x00\xff\xff\xb9\x99\x05\xe8\x02\x2c\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x4f\xb3\xdb\xb6\x11\xbf\xeb\x53\xec\xbc\xcc\xd4\x52\xaa\xe8\xf9\xd0\xe9\x41\x13\xdb\xb5\x93\xb8\x93\x43\x33\x19\xfb\x35\x3e\x74\x3a\x15\x44\x2e\x45\xc4\x20\xc0\x00\xa0\x64\xd5\xf3\xbe\x7b\x67\x17\x00\xff\x89\x7a\xd2\x73\x9c\x1e\xda\xe4\xe0\xe8\x91\xc0\x62\xb1\xd8\xfd\xed\x6f\x17\xbc\xfd\xf2\xcb\xd9\xec\x0b\xb8\x2b\x11\x5e\x2b\x73\x80\xd7\x8d\xde\xc9\xad\x42\xb8\x33\xef\x51\x83\xf3\x42\xe7\xc2\xe6\xb3\xd9\x17\x5f\xc0\x26\xbd\xe4\x77\x1b\xc8\x8c\xf6\x56\x64\x7e\x36\xe3\xe9\xd3\x33\x41\x3a\xd0\x06\x94\xd1\x3b\xb4\x20\x34\x48\xed\xd1\x16\x22\xc3\x99\x2f\x85\x07\xa1\x14\x14\x69\xaa\xe7\xa9\x49\xae\x83\x83\x69\x54\x0e\xa5\xd8\xd3\x2b\x7a\x5e\x18\x5b\x81\x37\xab\xd9\xec\xfb\x02\x04\x34\x0e\xad\x83\x83\xd0\xde\xd1\x80\x1c\x6b\x65\x8e\x20\x40\xe3\x61\x24\x6b\x09\xbe\x44\x69\x3b\x9d\x73\x83\xa4\x98\x07\x8d\x98\xd3\x64\x59\xd5\x0a\x2b\xd4\x9e\x46\xc2\x60\xab\x9d\xce\x4b\xd8\x36\x3e\x8a\xe2\x05\xdc\x2c\x37\x67\x44\xb4\x93\x1c\xe4\x58\x48\x8d\x39\x48\x0d\xbe\x94\xae\xd5\x62\x15\xec\xfa\x93\x68\x94\xdf\x80\x45\x67\x1a\x9b\xf5\x66\xce\x66\xdf\x89\xac\x1c\xdb\xa7\x1d\xe7\x8f\x35\xf2\xe2\xee\x74\xf5\xf3\x42\xe3\xa2\x3f\x5a\xb3\x97\x39\xda\xcd\x12\x36\x6f\x30\x43\xb9\xe7\xdf\x42\xe7\xb0\x79\x25\x94\xd0\x19\x4e\xcd\x76\x7c\xda\x6e\xb4\xbd\x4c\x09\x8b\x50\x5b\xfc\x2a\x33\x3a\x97\x5e\x1a\xed\x58\x54\x6d\x9c\xef\x3f\xe3\x33\xb7\xe8\xbc\x95\x99\x9f\x91\xa2\xf8\x01\xb3\x86\x5e\x82\x29\x58\xf3\xa2\xd1\x59\x18\xcc\xe6\x42\xe0\x9d\xac\x78\xdd\x23\xd0\x3a\x0e\x6b\x61\x85\x47\xd8\x62\x26\x1a\xd2\xc5\xc3\x4e\xee\xd1\xf1\x70\x72\x0a\xfe\x21\xb6\x52\x49\x7f\x24\xdb\xb8\x52\x58\x9c\x09\xb0\x58\xa0\x45\x9d\xb1\x3f\x85\x63\x64\xe9\x41\x2f\xa3\xd5\x11\xf0\x43\x6d\x5c\x14\x55\x48\x54\xb9\xeb\x34\x9a\x49\x0d\x46\x23\x18\x0b\x95\xb1\x98\x34\xee\x4c\x41\x8e\x49\x3e\xed\x4c\x54\x28\x78\xe8\x48\x9b\x4a\xbc\x47\xc8\x1a\xe7\x4d\xd5\x5a\x38\x9a\xa6\x3d\x44\xb2\xcd\xd0\xca\xe4\xe0\x06\xf6\xc2\x4a\xd3\xd0\x68\xa9\x77\x0e\x0e\xd2\x97\x2c\x3e\x78\xe3\x6a\xf6\xda\x58\xc0\x0f\x82\xc4\x2c\x41\x40\x21\x9a\x0c\x3d\x64\x42\xc3\x16\x3b\xe9\x98\xc3\xf6\x98\x02\x4a\xea\xdd\x2c\x98\x03\x92\x53\x0c\xbc\xe5\xcb\xdb\xd9\x4c\x56\xb5\xb1\x1e\x7e\x92\x78\x78\x83\xce\xa8\x3d\x5a\x28\xac\xa9\xe0\xa6\xff\xe8\x66\x36\xbb\xbd\xbd\x1d\x06\x0f\x3d\x19\x3c\x8d\x00\xd1\xea\x22\xa2\xb7\x58\xec\x01\x85\xc5\x5f\x1a\x69\xa7\xc2\x6a\x18\x0c\x2c\xb9\x53\x16\xde\x21\x38\x2f\x95\x0a\xa0\x21\x3d\x08\x37\x00\x1d\x28\xd1\x76\x7e\xe3\xf9\x2f\x76\x29\x53\xb1\xe7\x14\x8d\x62\x91\x8d\x0f\xa7\x55\xa1\x2f\x4d\x1e\x0f\xa7\x12\xfa\x08\xb5\x35\x3f\x23\x83\x13\x2d\x13\x16\x23\x04\x22\x4d\x79\x51\xa3\x47\x58\xe3\x96\x2c\x32\x22\x47\x70\xe1\xed\x91\x36\x5b\xa1\xd0\xae\xdd\xeb\x8a\xc1\x30\xb8\x41\xf7\x94\x7e\xf3\xb3\xf6\x94\xc3\x9e\x93\x51\xdc\x20\xdc\x3b\xe8\x10\x59\x86\xce\xcd\x85\x52\x8b\x56\x93\x11\xac\x7d\x9c\xcd\x00\x00\x6e\x6f\xe1\xa5\x06\xd4\x5e\xfa\x68\xe7\xc2\x58\xd2\xc5\x1c\xa4\xde\xb1\x78\x72\xb3\xdc\x8a\x83\x50\xec\xf3\xec\x6b\xe1\xfc\x45\x08\x20\x16\xd4\x5f\xb2\x2f\xee\x5d\x9a\xbd\x55\x98\x96\xbc\xe5\x9c\x83\xfb\x70\xac\x61\xcb\x58\x49\x4f\xae\x79\x28\x51\xa7\x45\xc8\x58\x69\x75\x7d\x61\xc9\x7d\x7f\xb1\xb9\xa8\x4c\xa3\xfd\x1a\xfe\xfe\x5a\x7e\xf8\xf3\x9f\x96\x3c\x77\x0d\x2f\xf3\xdc\xa2\x73\x2f\x96\x8c\x9e\x6b\x78\xeb\xad\xd4\xbb\x45\x5f\x98\x43\x55\x2c\xc8\xcf\x58\xa1\x24\xef\x3b\x92\xfe\x38\xa1\x6b\x78\x65\x8c\x82\x8f\x2c\x9c\xfe\x23\x79\xa7\x0a\x86\xff\x27\x59\xf4\x6f\x92\x43\xff\x2e\xda\xd9\x16\x7d\x63\x35\x78\xdb\x20\x3f\xbb\xff\x14\x5b\xe6\x58\x1b\x27\x7d\x88\xac\x87\x2d\xf9\x6d\x18\x7a\xb2\x67\x6f\x3e\xc1\x8c\x51\xd8\xb4\x15\x1f\x90\x38\x6d\xc3\xb1\x6a\xc9\x84\x24\xc8\x9b\xdf\xd0\x7c\xde\x0a\xed\x0a\xb4\x14\x98\xec\x8c\x94\x0e\x44\x96\xd1\xf2\x6c\x51\x6d\x08\x54\xce\x58\xf4\x2e\xce\xbe\xec\x46\x9f\x62\xe2\x24\xfd\x4a\x4f\x7d\xac\xcd\x4f\x94\x9f\xf4\xdb\x4f\x3b\x00\x56\xf9\x01\x9f\x75\xde\x9a\x23\xe6\x67\xcc\xfa\xaa\xb1\xfa\xd4\xa7\x06\x46\x3b\x6f\x35\x9a\x7c\xc6\x2b\x1f\xb4\x89\x2c\xa2\x01\xe0\xf9\x33\x78\xba\x7a\xda\x7b\xd5\x9a\x6c\xa0\x58\xeb\xa3\x13\xa6\xb9\xbf\xc6\x48\x29\x39\xa7\x07\x03\xf7\xed\x32\x1c\xbb\x30\x52\x66\xcf\x22\x8d\x89\xa9\x24\x64\x0b\xc2\xf6\x04\xa8\x94\xf9\x93\x90\x3e\xa8\x33\xa9\x49\x09\x86\x73\xc0\xb1\xc6\xd5\xc9\xba\xdf\x7b\x68\x69\x74\x5c\x70\xb8\x96\xd1\xb0\xd9\x26\x2e\x49\xb9\x76\xd9\xce\xed\x51\x37\x85\x82\xa8\x92\xa9\x31\xf0\xbd\xda\x38\x27\x23\x5b\x32\x05\x64\x16\x05\x2b\x11\x19\x53\x1d\xcd\xe0\x3a\xd5\x69\xc7\xc4\xc3\x99\xce\xd3\x19\x0b\x2b\xd5\x31\xf2\x72\xce\xc5\xe6\xa0\x21\x6a\x32\xdc\x47\xdf\x9b\x4e\xd9\x6e\x47\x88\x62\xae\x4c\x4b\x26\x0b\x82\x6b\xb6\xb1\x58\x19\x1b\xd0\x1c\x34\xda\x27\xae\x07\xb1\x69\x32\x11\xe3\x70\xce\x2e\x41\x70\x47\xe4\x2c\x56\x66\xcf\xf0\x1c\x08\x5d\x6f\xe2\x40\xc8\x5d\x8f\x2a\x3f\x71\x71\x1f\xa0\x70\x8f\x8a\x00\xac\x6e\xb6\x4a\x66\xa9\x5e\x91\x2e\xd4\x61\x1e\x04\xd9\x6f\xab\xb0\x1a\x08\x4b\xa7\xc1\x0c\xb8\x55\x1e\x9c\x37\x36\x51\x80\x9e\x71\xa2\x4d\x23\xec\x0d\x04\x65\x4c\xb6\xa4\x97\x42\xa9\x23\x64\x81\xd0\xc8\x8e\x42\x3f\xbc\x9f\xb0\x6a\x25\x8e\xb0\xb3\x44\xa9\x18\x4b\xd3\x3a\xed\x1e\x89\xb9\x26\x9f\xa0\xed\xc8\xbd\xf0\x38\xd2\xa2\x6e\xe9\x76\x2c\x32\xcd\xc1\x81\xab\x31\x93\x85\xcc\xa2\xdc\xc8\xcd\x4d\x94\x3b\x90\xc0\x7e\x98\xce\xbe\x2b\xb8\x4a\x6b\x9a\x5d\x09\xbd\x42\xe2\xda\x0d\x85\x9a\x80\x77\x45\x46\xb9\xb0\x27\x3e\xbc\x6b\xb6\x44\xb2\x46\xfb\x18\xe8\x3e\x90\xf1\xf8\x7d\xc4\xe8\xe8\x13\xb8\x80\x9c\x87\x69\x96\xb5\x58\xc3\x5f\x5e\xea\xe3\x9b\xb8\xd0\x47\xf6\xed\xfb\x11\x34\x52\x4d\x38\x7a\x14\xd6\x85\x8d\x45\x17\xab\xd6\x22\xee\x29\xb8\x1e\x63\xe2\x5e\xa8\x06\x4f\xa6\x85\x29\xab\x1d\xfa\x58\xb5\xce\x17\xf0\xec\x59\x44\xdb\xf5\xc9\x70\xfa\xef\xe6\x5d\x47\x67\x23\x86\x57\x8d\xf3\x54\x21\xd1\x72\x4e\x54\x48\x75\x03\xfd\x8e\x98\x91\x2a\xbd\x8e\x89\xf2\xce\x6e\x26\x36\x31\xa0\xd8\xab\xf3\x0c\x72\x98\x3d\x29\x27\xad\xd8\x5b\x5e\xac\x44\xc8\xca\x29\x53\xf0\xab\x1d\xfa\xbb\x63\x8d\xf3\xc5\x4a\xe6\x84\xc9\x85\x44\xbb\x18\xac\x7e\x3f\x4a\x26\xbd\xc4\x91\xca\xfb\x5f\x9f\x38\x22\x7b\x9c\xc8\x1b\x52\xc7\xc3\xba\x22\x6f\xbc\xc3\x84\xd6\x52\x67\xaa\xc9\x11\x04\xb4\x3d\x82\xa0\x46\x56\x62\xf6\x7e\x78\x04\x11\xa3\x5a\x29\x07\x6c\xeb\x2e\xaa\xb5\xaf\x29\xb5\x83\x19\x42\x3d\x35\x83\x1e\x64\xe5\x26\x0d\x9a\xae\xab\x97\xa0\xe4\x7b\x04\x57\x2b\xc9\x85\x58\x05\x4d\x4d\x30\xde\x0a\x71\xa8\xf3\xf0\x82\xca\x74\x59\x70\x54\x79\xa8\x55\xe8\x0a\xc0\xf5\x19\x27\x1d\xd6\x38\xe3\x44\xd3\x83\x17\xef\xb1\x4b\x1b\x94\x4a\xe2\x1b\x47\xb9\x74\xfa\x18\x06\x1d\xa3\x87\x02\x9d\x95\xa2\xf8\x8e\x32\xe7\xc1\x3b\x27\x62\x7a\x31\xd4\x6e\x87\xfe\x6d\x53\xd7\xc6\x7a\xcc\x79\x00\x79\x2b\xe5\x74\x3a\x52\xce\x05\x5d\xc2\x53\xd2\x79\x0a\xa8\x7d\xe8\xbc\xf0\xc0\x58\xe1\x72\xdd\x1b\xf7\x4f\x2a\xd5\xde\x4d\xaa\xb8\x97\x78\x60\x3d\xa7\xd7\x9d\x2f\xd6\xf0\xf1\x8e\xa3\x87\x58\xdb\x18\x80\x6e\x6f\xe1\x15\x2a\x73\x08\x5e\x46\x99\xb1\xdf\x18\x49\x5e\xe3\x1a\x1b\x63\xc2\x36\xfa\x2b\x2f\xab\xd8\x70\xe3\xa6\xe4\x58\x1e\x27\xce\x1d\xfa\xb8\xcd\x96\xc4\x12\x14\x0b\x76\x85\xf6\x0c\x62\xd7\x25\xfa\xd8\xb0\xa9\xba\x0a\x65\xfc\x0a\x06\xf2\x65\x71\x02\x02\xee\x6d\xb3\x25\x6d\xe6\xa6\x58\x03\x3d\xfc\x7a\x70\x46\x13\x42\xef\x9f\xcf\x17\x8b\x09\xd8\x8d\xe0\xfa\x71\xb8\xc2\x9a\x19\xe8\xfd\x10\x61\x00\x95\xc3\x69\xe4\x7e\x13\xa4\x08\xe2\xd4\xb5\x3f\x42\x2e\x39\xdd\x0b\x7b\x4c\x48\x9a\x63\xc1\xe7\xcd\x28\xce\x60\xd2\x5a\xe4\x50\x1a\xc8\x8d\x7e\xe2\xa7\x24\x77\xdd\x9f\x49\x53\x2d\xc1\x35\x59\x49\x8b\x0c\x5f\xbf\x3d\x48\x9f\x95\x5b\x23\x6c\xbe\x59\xc2\x86\x9f\xbd\x36\xf6\x20\x6c\x8e\x76\x03\xe8\xb3\xd5\x59\x53\xdc\x9f\x05\xd6\x81\xcf\xbf\x89\x1e\x7d\x28\x91\xf9\x84\xb1\x8c\x69\xb4\x59\x02\x24\x1d\xdc\x45\xba\xe8\xc9\xa1\xe7\x46\x6f\x07\x78\x9c\xa4\xbd\x4c\xf1\xc0\xf0\x27\x74\x9c\x05\x42\x1f\x83\x20\x57\x72\x37\xfc\x67\xca\x54\xbd\x2a\x81\x84\x46\xdb\x3e\x1c\x2a\xe4\x33\xe3\x48\x99\x87\x14\x43\x3f\x4f\x2b\x9c\x9e\x49\x0a\xa1\x1c\x4e\x27\x98\x0b\x70\x96\xaa\x46\x63\x7b\x92\x63\x3b\x90\x5d\x24\x34\x9b\x20\x97\x16\x33\xdf\xd6\xd7\x20\xb5\xf3\x28\x72\xc2\x89\x52\xec\x39\x97\x70\xff\x53\xb4\x40\x48\xd0\xd7\xf5\xa5\xae\x42\x35\x7f\xae\xfe\x4e\xa0\xb3\x86\x6f\x5a\x9e\xf5\xf5\x1f\x46\x61\x94\x8e\xed\xfe\xf9\x38\x8e\x6a\x3b\x15\x16\x49\xe8\x8a\x61\x86\x62\xea\xe6\x1b\x3e\x42\xf2\x92\xad\xb1\xd6\x1c\xe0\xb4\x25\x0d\x3f\xbc\xbe\x6b\xa7\xde\x5c\x9b\xe2\x23\xf7\x99\xc8\xf0\xd2\xf5\x4e\x83\x8b\x00\x5a\x75\x87\x1a\xad\x50\x50\x37\xb6\x36\x0e\xa1\x42\x2f\x72\xe1\x45\x6f\xec\x38\xdf\x26\x5a\x3a\x12\x87\x98\x07\xd0\x24\xf4\x4b\x62\x42\xdd\x21\xf2\x3c\xf0\xd9\x43\x69\x14\xf2\xad\x4c\xd7\x9f\x4c\x62\xe9\xf8\x71\x8f\x04\x14\x5d\x1b\xa5\xa9\x77\x56\xe4\x6c\x12\xaa\x65\xac\xd9\x8a\x2d\x55\x26\xc6\x40\x45\xe1\x6e\x0a\x10\xb0\xb5\x28\xde\x73\x61\x58\x0a\xbd\xc3\x6b\xbc\x31\x9a\x09\x3e\xc2\xed\xed\x7a\xd0\xcd\x5e\xb5\x6d\xed\x51\xde\xfd\x1b\x77\x80\xd3\x06\x7b\x84\xe4\x84\xec\x27\xa2\x92\xf1\x21\x6f\x91\x7d\xd5\x4a\x2a\xe6\xf8\x22\x61\x39\x98\xe1\x4c\x6c\x3f\x87\x0b\xb2\x74\x87\x14\x29\x17\x23\xe9\x87\x5a\xc9\x4c\xfa\x30\xfb\x62\x1e\x6c\xe9\x6f\x72\xeb\xd9\xe7\x48\x9d\x9f\x03\x53\x86\x06\x1d\xdc\x21\x04\xeb\xba\x8b\xd1\xdb\xd7\x9a\x04\xb0\x9e\xff\xa0\x35\xfe\x79\x36\xda\x6d\x58\x84\x86\xcf\xff\xc5\x12\x5a\xad\x5e\xea\xe3\x5b\x6f\x9b\xcc\xbf\x18\x07\x52\x57\xad\x0f\x3a\x1d\x39\x12\x89\x59\xc6\x52\xba\xf5\xa7\x70\x41\xc9\xb5\x5d\x77\x3b\xd9\xe2\xfb\x32\xf9\xdb\xb2\x07\x83\xcb\xb6\xa7\x10\x2e\xdb\x92\x29\xba\xce\x48\xd3\xb5\x21\x09\x29\x5c\xb2\x30\x1c\xd1\x3f\x86\x49\xf2\x56\xd6\xd7\x6b\x73\x55\x38\xfc\x75\x18\x04\xa9\x30\xda\x5f\xce\x3f\x0f\xbb\xe8\xef\x24\xf2\x77\x12\xf9\xff\x46\x22\x3f\x1b\xa4\x26\x26\xca\xdd\x0b\x6f\xac\xd8\x91\xc7\xf8\x92\xfc\xc7\x62\x17\xa0\x89\x43\xfa\x63\x2d\x33\x0e\xa8\x6d\x98\x80\x97\xd3\xcb\xb7\xc1\xf4\x6f\x83\xf8\x1f\x85\x2f\xe9\x80\x7b\x7f\xbe\x98\xa6\x8e\x5a\xaa\x4b\x04\x9a\x1d\x3c\x70\x8b\x81\xd6\xd2\x0d\xd5\xe6\xeb\xd5\x96\x86\x74\x1d\xb1\x6b\x75\xff\x91\x27\x26\xd5\xbb\xbf\x1e\xa7\xf9\x7f\x27\x2d\x5d\xea\x36\x6f\x02\x85\xdd\x74\xfd\x66\xf6\x96\x27\x6e\x92\x9e\x0c\x3b\xce\x44\xc4\x46\x5d\xe7\x24\x98\x8a\x94\xd3\xf9\xbf\x71\x3f\x70\x92\x3d\x27\x28\xe9\xba\x7a\xcf\x2f\x74\xf5\x5e\x86\x56\x5e\xd7\xa3\x4b\x4d\x3d\x15\xba\xa2\x42\x53\x89\x86\xbf\x34\x42\x85\xbf\x26\xf2\xd8\x44\x5b\xef\xfe\xca\xe6\x65\xfc\xa0\x20\x74\x99\x85\x6a\x5b\xde\xb0\xd9\x62\x61\x2c\x6e\xfa\x1c\x32\x00\x58\x5c\xb4\xbb\x23\x19\x32\xbd\x9e\xf0\x78\xff\xbf\xc5\x9d\xd4\x9a\x38\xef\xe8\x63\x99\xee\x33\x9a\x89\xd9\x57\xd8\xf6\xd9\x33\x08\x5a\xce\x4f\xde\x2d\xe0\xab\x87\xed\xfe\x43\xeb\x4e\xc9\x98\xfd\x6e\x6a\x6a\x86\x75\x36\xae\x2d\xee\xf9\x1b\x96\x34\x5c\x84\xde\xd9\xb8\xbb\x9a\xde\x9f\x2f\x82\xae\x6c\x90\x89\x3c\x77\x20\x7d\xb7\x60\xac\xb4\x06\x67\x2f\x27\x6e\x6a\x3e\xa5\x3d\x36\x95\x35\xc7\x29\x93\xca\x7d\xe7\xd0\xfa\xee\xcb\x8e\xcc\xe8\xcc\xa2\x8f\xf4\x20\x5a\xaa\xbb\xac\x0f\x38\x28\x5d\xdb\xa0\x1e\xcb\x8b\x09\xb2\xd7\x43\x68\x1b\x0f\xe9\x06\x27\x4a\xbb\x22\xf6\x68\x5b\x2b\xe9\xbe\xd7\xce\xb3\x0f\x0c\xd3\xfa\x62\x0d\xd3\x8e\xf0\x8d\xd0\x44\x58\xbb\x02\x1d\xa4\xce\x4c\x55\x0b\xdf\xfb\x7a\x8d\xf6\x77\x5d\xdf\x7c\xf2\x93\x01\x56\xad\xef\x9e\xe1\xce\xf9\x81\xfe\x79\x9a\x71\x75\xff\x1c\xce\x87\xf9\x23\x03\xe7\x8f\xe9\xdd\x89\xd6\x8b\x4f\x8a\x25\xd7\x54\x17\x83\xa8\xf3\x99\x07\xb1\x6c\x14\x3c\xff\x53\xdd\x98\xcf\x72\x76\x8f\x06\xbd\x36\x11\x3b\xd4\x39\xda\xdf\x14\x04\xe1\x4c\xc8\x4c\x7f\x02\x72\xcd\x55\x93\x59\x77\xfd\xaa\xd0\x9b\x9a\x2f\x5e\x7c\xbe\x1b\xa9\x81\xb3\xf1\x4d\x27\x7e\x47\x1c\x3f\x82\x74\xbc\xcc\xd4\xc7\xf8\xf5\xa6\x89\x63\x06\x64\x85\x51\xad\x14\x84\xed\xff\x46\x6b\xae\x21\x2a\xad\xaf\x8d\x97\x9c\xff\x9a\x9b\xca\x33\x57\x8e\x4f\x57\x4f\xd7\x70\x73\x57\x72\xa7\x4b\xc5\x0b\xdd\x14\x87\xc1\x1d\x98\xc1\xf6\x95\xbf\x22\x3c\xe3\xd7\x2f\xf3\xeb\x9a\x8e\x53\x5e\x71\xfa\x89\xcb\x89\xbf\xff\xea\xcb\xc6\xfb\xff\x04\x00\x00\xff\xff\x58\xdb\x3d\xe4\x4a\x2e\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0xa5, 0x81, 0x6, 0xc7, 0xc5, 0xfa, 0x8e, 0xa9, 0x87, 0xc7, 0x36, 0xc7, 0xd4, 0xb8, 0x48, 0x52, 0x24, 0x45, 0xf6, 0xc5, 0x24, 0xbd, 0x2c, 0xcb, 0xf0, 0xb6, 0xa, 0x66, 0xe0, 0xd6, 0x35}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6a, 0xca, 0x7d, 0xdc, 0x1c, 0x1c, 0xb1, 0xae, 0x1c, 0xba, 0x29, 0x12, 0xa6, 0x34, 0x25, 0x1b, 0x9a, 0xa0, 0xcd, 0x5c, 0x8f, 0x9a, 0x60, 0xcf, 0xc1, 0x59, 0x12, 0x15, 0xcc, 0x92, 0x80, 0x7f}}
 	return a, nil
 }
 

From 288542f65339dea9ec91d9e69c325c2e86e6c393 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 19 Jul 2023 11:45:46 -0500
Subject: [PATCH 011/115] remove default impl for getsupported

---
 contracts/FungibleToken-v2.cdc             | 16 ++--------------
 lib/go/contracts/internal/assets/assets.go |  6 +++---
 2 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index b7ea7186..69f7af79 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -129,23 +129,11 @@ access(all) contract FungibleToken {
         access(all) fun deposit(from: @AnyResource{Vault})
 
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
-            // Below check is implemented to make sure that run-time type would
-            // only get returned when the parent resource conforms with `FungibleToken.Vault`. 
-            if self.getType().isSubtype(of: Type<@AnyResource{FungibleToken.Vault}>()) {
-                return {self.getType(): true}
-            } else {
-                // Return an empty dictionary as the default value for resource who don't
-                // implement `FungibleToken.Vault`, such as `FungibleTokenSwitchboard`, `TokenForwarder` etc.
-                return {}
-            }
-        }
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool}
 
         /// Returns whether or not the given type is accepted by the Receiver
         /// A vault that can accept any type should just return true by default
-        access(all) view fun isSupportedVaultType(type: Type): Bool {
-            return false
-        }
+        access(all) view fun isSupportedVaultType(type: Type): Bool
     }
 
     access(all) resource interface Transferor {
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index faf3d4aa..4f48a137 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -2,7 +2,7 @@
 // sources:
 // ../../../contracts/ExampleToken-v2.cdc (10.65kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
-// ../../../contracts/FungibleToken-v2.cdc (11.85kB)
+// ../../../contracts/FungibleToken-v2.cdc (11.266kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.507kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (17.818kB)
@@ -121,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x4f\xb3\xdb\xb6\x11\xbf\xeb\x53\xec\xbc\xcc\xd4\x52\xaa\xe8\xf9\xd0\xe9\x41\x13\xdb\xb5\x93\xb8\x93\x43\x33\x19\xfb\x35\x3e\x74\x3a\x15\x44\x2e\x45\xc4\x20\xc0\x00\xa0\x64\xd5\xf3\xbe\x7b\x67\x17\x00\xff\x89\x7a\xd2\x73\x9c\x1e\xda\xe4\xe0\xe8\x91\xc0\x62\xb1\xd8\xfd\xed\x6f\x17\xbc\xfd\xf2\xcb\xd9\xec\x0b\xb8\x2b\x11\x5e\x2b\x73\x80\xd7\x8d\xde\xc9\xad\x42\xb8\x33\xef\x51\x83\xf3\x42\xe7\xc2\xe6\xb3\xd9\x17\x5f\xc0\x26\xbd\xe4\x77\x1b\xc8\x8c\xf6\x56\x64\x7e\x36\xe3\xe9\xd3\x33\x41\x3a\xd0\x06\x94\xd1\x3b\xb4\x20\x34\x48\xed\xd1\x16\x22\xc3\x99\x2f\x85\x07\xa1\x14\x14\x69\xaa\xe7\xa9\x49\xae\x83\x83\x69\x54\x0e\xa5\xd8\xd3\x2b\x7a\x5e\x18\x5b\x81\x37\xab\xd9\xec\xfb\x02\x04\x34\x0e\xad\x83\x83\xd0\xde\xd1\x80\x1c\x6b\x65\x8e\x20\x40\xe3\x61\x24\x6b\x09\xbe\x44\x69\x3b\x9d\x73\x83\xa4\x98\x07\x8d\x98\xd3\x64\x59\xd5\x0a\x2b\xd4\x9e\x46\xc2\x60\xab\x9d\xce\x4b\xd8\x36\x3e\x8a\xe2\x05\xdc\x2c\x37\x67\x44\xb4\x93\x1c\xe4\x58\x48\x8d\x39\x48\x0d\xbe\x94\xae\xd5\x62\x15\xec\xfa\x93\x68\x94\xdf\x80\x45\x67\x1a\x9b\xf5\x66\xce\x66\xdf\x89\xac\x1c\xdb\xa7\x1d\xe7\x8f\x35\xf2\xe2\xee\x74\xf5\xf3\x42\xe3\xa2\x3f\x5a\xb3\x97\x39\xda\xcd\x12\x36\x6f\x30\x43\xb9\xe7\xdf\x42\xe7\xb0\x79\x25\x94\xd0\x19\x4e\xcd\x76\x7c\xda\x6e\xb4\xbd\x4c\x09\x8b\x50\x5b\xfc\x2a\x33\x3a\x97\x5e\x1a\xed\x58\x54\x6d\x9c\xef\x3f\xe3\x33\xb7\xe8\xbc\x95\x99\x9f\x91\xa2\xf8\x01\xb3\x86\x5e\x82\x29\x58\xf3\xa2\xd1\x59\x18\xcc\xe6\x42\xe0\x9d\xac\x78\xdd\x23\xd0\x3a\x0e\x6b\x61\x85\x47\xd8\x62\x26\x1a\xd2\xc5\xc3\x4e\xee\xd1\xf1\x70\x72\x0a\xfe\x21\xb6\x52\x49\x7f\x24\xdb\xb8\x52\x58\x9c\x09\xb0\x58\xa0\x45\x9d\xb1\x3f\x85\x63\x64\xe9\x41\x2f\xa3\xd5\x11\xf0\x43\x6d\x5c\x14\x55\x48\x54\xb9\xeb\x34\x9a\x49\x0d\x46\x23\x18\x0b\x95\xb1\x98\x34\xee\x4c\x41\x8e\x49\x3e\xed\x4c\x54\x28\x78\xe8\x48\x9b\x4a\xbc\x47\xc8\x1a\xe7\x4d\xd5\x5a\x38\x9a\xa6\x3d\x44\xb2\xcd\xd0\xca\xe4\xe0\x06\xf6\xc2\x4a\xd3\xd0\x68\xa9\x77\x0e\x0e\xd2\x97\x2c\x3e\x78\xe3\x6a\xf6\xda\x58\xc0\x0f\x82\xc4\x2c\x41\x40\x21\x9a\x0c\x3d\x64\x42\xc3\x16\x3b\xe9\x98\xc3\xf6\x98\x02\x4a\xea\xdd\x2c\x98\x03\x92\x53\x0c\xbc\xe5\xcb\xdb\xd9\x4c\x56\xb5\xb1\x1e\x7e\x92\x78\x78\x83\xce\xa8\x3d\x5a\x28\xac\xa9\xe0\xa6\xff\xe8\x66\x36\xbb\xbd\xbd\x1d\x06\x0f\x3d\x19\x3c\x8d\x00\xd1\xea\x22\xa2\xb7\x58\xec\x01\x85\xc5\x5f\x1a\x69\xa7\xc2\x6a\x18\x0c\x2c\xb9\x53\x16\xde\x21\x38\x2f\x95\x0a\xa0\x21\x3d\x08\x37\x00\x1d\x28\xd1\x76\x7e\xe3\xf9\x2f\x76\x29\x53\xb1\xe7\x14\x8d\x62\x91\x8d\x0f\xa7\x55\xa1\x2f\x4d\x1e\x0f\xa7\x12\xfa\x08\xb5\x35\x3f\x23\x83\x13\x2d\x13\x16\x23\x04\x22\x4d\x79\x51\xa3\x47\x58\xe3\x96\x2c\x32\x22\x47\x70\xe1\xed\x91\x36\x5b\xa1\xd0\xae\xdd\xeb\x8a\xc1\x30\xb8\x41\xf7\x94\x7e\xf3\xb3\xf6\x94\xc3\x9e\x93\x51\xdc\x20\xdc\x3b\xe8\x10\x59\x86\xce\xcd\x85\x52\x8b\x56\x93\x11\xac\x7d\x9c\xcd\x00\x00\x6e\x6f\xe1\xa5\x06\xd4\x5e\xfa\x68\xe7\xc2\x58\xd2\xc5\x1c\xa4\xde\xb1\x78\x72\xb3\xdc\x8a\x83\x50\xec\xf3\xec\x6b\xe1\xfc\x45\x08\x20\x16\xd4\x5f\xb2\x2f\xee\x5d\x9a\xbd\x55\x98\x96\xbc\xe5\x9c\x83\xfb\x70\xac\x61\xcb\x58\x49\x4f\xae\x79\x28\x51\xa7\x45\xc8\x58\x69\x75\x7d\x61\xc9\x7d\x7f\xb1\xb9\xa8\x4c\xa3\xfd\x1a\xfe\xfe\x5a\x7e\xf8\xf3\x9f\x96\x3c\x77\x0d\x2f\xf3\xdc\xa2\x73\x2f\x96\x8c\x9e\x6b\x78\xeb\xad\xd4\xbb\x45\x5f\x98\x43\x55\x2c\xc8\xcf\x58\xa1\x24\xef\x3b\x92\xfe\x38\xa1\x6b\x78\x65\x8c\x82\x8f\x2c\x9c\xfe\x23\x79\xa7\x0a\x86\xff\x27\x59\xf4\x6f\x92\x43\xff\x2e\xda\xd9\x16\x7d\x63\x35\x78\xdb\x20\x3f\xbb\xff\x14\x5b\xe6\x58\x1b\x27\x7d\x88\xac\x87\x2d\xf9\x6d\x18\x7a\xb2\x67\x6f\x3e\xc1\x8c\x51\xd8\xb4\x15\x1f\x90\x38\x6d\xc3\xb1\x6a\xc9\x84\x24\xc8\x9b\xdf\xd0\x7c\xde\x0a\xed\x0a\xb4\x14\x98\xec\x8c\x94\x0e\x44\x96\xd1\xf2\x6c\x51\x6d\x08\x54\xce\x58\xf4\x2e\xce\xbe\xec\x46\x9f\x62\xe2\x24\xfd\x4a\x4f\x7d\xac\xcd\x4f\x94\x9f\xf4\xdb\x4f\x3b\x00\x56\xf9\x01\x9f\x75\xde\x9a\x23\xe6\x67\xcc\xfa\xaa\xb1\xfa\xd4\xa7\x06\x46\x3b\x6f\x35\x9a\x7c\xc6\x2b\x1f\xb4\x89\x2c\xa2\x01\xe0\xf9\x33\x78\xba\x7a\xda\x7b\xd5\x9a\x6c\xa0\x58\xeb\xa3\x13\xa6\xb9\xbf\xc6\x48\x29\x39\xa7\x07\x03\xf7\xed\x32\x1c\xbb\x30\x52\x66\xcf\x22\x8d\x89\xa9\x24\x64\x0b\xc2\xf6\x04\xa8\x94\xf9\x93\x90\x3e\xa8\x33\xa9\x49\x09\x86\x73\xc0\xb1\xc6\xd5\xc9\xba\xdf\x7b\x68\x69\x74\x5c\x70\xb8\x96\xd1\xb0\xd9\x26\x2e\x49\xb9\x76\xd9\xce\xed\x51\x37\x85\x82\xa8\x92\xa9\x31\xf0\xbd\xda\x38\x27\x23\x5b\x32\x05\x64\x16\x05\x2b\x11\x19\x53\x1d\xcd\xe0\x3a\xd5\x69\xc7\xc4\xc3\x99\xce\xd3\x19\x0b\x2b\xd5\x31\xf2\x72\xce\xc5\xe6\xa0\x21\x6a\x32\xdc\x47\xdf\x9b\x4e\xd9\x6e\x47\x88\x62\xae\x4c\x4b\x26\x0b\x82\x6b\xb6\xb1\x58\x19\x1b\xd0\x1c\x34\xda\x27\xae\x07\xb1\x69\x32\x11\xe3\x70\xce\x2e\x41\x70\x47\xe4\x2c\x56\x66\xcf\xf0\x1c\x08\x5d\x6f\xe2\x40\xc8\x5d\x8f\x2a\x3f\x71\x71\x1f\xa0\x70\x8f\x8a\x00\xac\x6e\xb6\x4a\x66\xa9\x5e\x91\x2e\xd4\x61\x1e\x04\xd9\x6f\xab\xb0\x1a\x08\x4b\xa7\xc1\x0c\xb8\x55\x1e\x9c\x37\x36\x51\x80\x9e\x71\xa2\x4d\x23\xec\x0d\x04\x65\x4c\xb6\xa4\x97\x42\xa9\x23\x64\x81\xd0\xc8\x8e\x42\x3f\xbc\x9f\xb0\x6a\x25\x8e\xb0\xb3\x44\xa9\x18\x4b\xd3\x3a\xed\x1e\x89\xb9\x26\x9f\xa0\xed\xc8\xbd\xf0\x38\xd2\xa2\x6e\xe9\x76\x2c\x32\xcd\xc1\x81\xab\x31\x93\x85\xcc\xa2\xdc\xc8\xcd\x4d\x94\x3b\x90\xc0\x7e\x98\xce\xbe\x2b\xb8\x4a\x6b\x9a\x5d\x09\xbd\x42\xe2\xda\x0d\x85\x9a\x80\x77\x45\x46\xb9\xb0\x27\x3e\xbc\x6b\xb6\x44\xb2\x46\xfb\x18\xe8\x3e\x90\xf1\xf8\x7d\xc4\xe8\xe8\x13\xb8\x80\x9c\x87\x69\x96\xb5\x58\xc3\x5f\x5e\xea\xe3\x9b\xb8\xd0\x47\xf6\xed\xfb\x11\x34\x52\x4d\x38\x7a\x14\xd6\x85\x8d\x45\x17\xab\xd6\x22\xee\x29\xb8\x1e\x63\xe2\x5e\xa8\x06\x4f\xa6\x85\x29\xab\x1d\xfa\x58\xb5\xce\x17\xf0\xec\x59\x44\xdb\xf5\xc9\x70\xfa\xef\xe6\x5d\x47\x67\x23\x86\x57\x8d\xf3\x54\x21\xd1\x72\x4e\x54\x48\x75\x03\xfd\x8e\x98\x91\x2a\xbd\x8e\x89\xf2\xce\x6e\x26\x36\x31\xa0\xd8\xab\xf3\x0c\x72\x98\x3d\x29\x27\xad\xd8\x5b\x5e\xac\x44\xc8\xca\x29\x53\xf0\xab\x1d\xfa\xbb\x63\x8d\xf3\xc5\x4a\xe6\x84\xc9\x85\x44\xbb\x18\xac\x7e\x3f\x4a\x26\xbd\xc4\x91\xca\xfb\x5f\x9f\x38\x22\x7b\x9c\xc8\x1b\x52\xc7\xc3\xba\x22\x6f\xbc\xc3\x84\xd6\x52\x67\xaa\xc9\x11\x04\xb4\x3d\x82\xa0\x46\x56\x62\xf6\x7e\x78\x04\x11\xa3\x5a\x29\x07\x6c\xeb\x2e\xaa\xb5\xaf\x29\xb5\x83\x19\x42\x3d\x35\x83\x1e\x64\xe5\x26\x0d\x9a\xae\xab\x97\xa0\xe4\x7b\x04\x57\x2b\xc9\x85\x58\x05\x4d\x4d\x30\xde\x0a\x71\xa8\xf3\xf0\x82\xca\x74\x59\x70\x54\x79\xa8\x55\xe8\x0a\xc0\xf5\x19\x27\x1d\xd6\x38\xe3\x44\xd3\x83\x17\xef\xb1\x4b\x1b\x94\x4a\xe2\x1b\x47\xb9\x74\xfa\x18\x06\x1d\xa3\x87\x02\x9d\x95\xa2\xf8\x8e\x32\xe7\xc1\x3b\x27\x62\x7a\x31\xd4\x6e\x87\xfe\x6d\x53\xd7\xc6\x7a\xcc\x79\x00\x79\x2b\xe5\x74\x3a\x52\xce\x05\x5d\xc2\x53\xd2\x79\x0a\xa8\x7d\xe8\xbc\xf0\xc0\x58\xe1\x72\xdd\x1b\xf7\x4f\x2a\xd5\xde\x4d\xaa\xb8\x97\x78\x60\x3d\xa7\xd7\x9d\x2f\xd6\xf0\xf1\x8e\xa3\x87\x58\xdb\x18\x80\x6e\x6f\xe1\x15\x2a\x73\x08\x5e\x46\x99\xb1\xdf\x18\x49\x5e\xe3\x1a\x1b\x63\xc2\x36\xfa\x2b\x2f\xab\xd8\x70\xe3\xa6\xe4\x58\x1e\x27\xce\x1d\xfa\xb8\xcd\x96\xc4\x12\x14\x0b\x76\x85\xf6\x0c\x62\xd7\x25\xfa\xd8\xb0\xa9\xba\x0a\x65\xfc\x0a\x06\xf2\x65\x71\x02\x02\xee\x6d\xb3\x25\x6d\xe6\xa6\x58\x03\x3d\xfc\x7a\x70\x46\x13\x42\xef\x9f\xcf\x17\x8b\x09\xd8\x8d\xe0\xfa\x71\xb8\xc2\x9a\x19\xe8\xfd\x10\x61\x00\x95\xc3\x69\xe4\x7e\x13\xa4\x08\xe2\xd4\xb5\x3f\x42\x2e\x39\xdd\x0b\x7b\x4c\x48\x9a\x63\xc1\xe7\xcd\x28\xce\x60\xd2\x5a\xe4\x50\x1a\xc8\x8d\x7e\xe2\xa7\x24\x77\xdd\x9f\x49\x53\x2d\xc1\x35\x59\x49\x8b\x0c\x5f\xbf\x3d\x48\x9f\x95\x5b\x23\x6c\xbe\x59\xc2\x86\x9f\xbd\x36\xf6\x20\x6c\x8e\x76\x03\xe8\xb3\xd5\x59\x53\xdc\x9f\x05\xd6\x81\xcf\xbf\x89\x1e\x7d\x28\x91\xf9\x84\xb1\x8c\x69\xb4\x59\x02\x24\x1d\xdc\x45\xba\xe8\xc9\xa1\xe7\x46\x6f\x07\x78\x9c\xa4\xbd\x4c\xf1\xc0\xf0\x27\x74\x9c\x05\x42\x1f\x83\x20\x57\x72\x37\xfc\x67\xca\x54\xbd\x2a\x81\x84\x46\xdb\x3e\x1c\x2a\xe4\x33\xe3\x48\x99\x87\x14\x43\x3f\x4f\x2b\x9c\x9e\x49\x0a\xa1\x1c\x4e\x27\x98\x0b\x70\x96\xaa\x46\x63\x7b\x92\x63\x3b\x90\x5d\x24\x34\x9b\x20\x97\x16\x33\xdf\xd6\xd7\x20\xb5\xf3\x28\x72\xc2\x89\x52\xec\x39\x97\x70\xff\x53\xb4\x40\x48\xd0\xd7\xf5\xa5\xae\x42\x35\x7f\xae\xfe\x4e\xa0\xb3\x86\x6f\x5a\x9e\xf5\xf5\x1f\x46\x61\x94\x8e\xed\xfe\xf9\x38\x8e\x6a\x3b\x15\x16\x49\xe8\x8a\x61\x86\x62\xea\xe6\x1b\x3e\x42\xf2\x92\xad\xb1\xd6\x1c\xe0\xb4\x25\x0d\x3f\xbc\xbe\x6b\xa7\xde\x5c\x9b\xe2\x23\xf7\x99\xc8\xf0\xd2\xf5\x4e\x83\x8b\x00\x5a\x75\x87\x1a\xad\x50\x50\x37\xb6\x36\x0e\xa1\x42\x2f\x72\xe1\x45\x6f\xec\x38\xdf\x26\x5a\x3a\x12\x87\x98\x07\xd0\x24\xf4\x4b\x62\x42\xdd\x21\xf2\x3c\xf0\xd9\x43\x69\x14\xf2\xad\x4c\xd7\x9f\x4c\x62\xe9\xf8\x71\x8f\x04\x14\x5d\x1b\xa5\xa9\x77\x56\xe4\x6c\x12\xaa\x65\xac\xd9\x8a\x2d\x55\x26\xc6\x40\x45\xe1\x6e\x0a\x10\xb0\xb5\x28\xde\x73\x61\x58\x0a\xbd\xc3\x6b\xbc\x31\x9a\x09\x3e\xc2\xed\xed\x7a\xd0\xcd\x5e\xb5\x6d\xed\x51\xde\xfd\x1b\x77\x80\xd3\x06\x7b\x84\xe4\x84\xec\x27\xa2\x92\xf1\x21\x6f\x91\x7d\xd5\x4a\x2a\xe6\xf8\x22\x61\x39\x98\xe1\x4c\x6c\x3f\x87\x0b\xb2\x74\x87\x14\x29\x17\x23\xe9\x87\x5a\xc9\x4c\xfa\x30\xfb\x62\x1e\x6c\xe9\x6f\x72\xeb\xd9\xe7\x48\x9d\x9f\x03\x53\x86\x06\x1d\xdc\x21\x04\xeb\xba\x8b\xd1\xdb\xd7\x9a\x04\xb0\x9e\xff\xa0\x35\xfe\x79\x36\xda\x6d\x58\x84\x86\xcf\xff\xc5\x12\x5a\xad\x5e\xea\xe3\x5b\x6f\x9b\xcc\xbf\x18\x07\x52\x57\xad\x0f\x3a\x1d\x39\x12\x89\x59\xc6\x52\xba\xf5\xa7\x70\x41\xc9\xb5\x5d\x77\x3b\xd9\xe2\xfb\x32\xf9\xdb\xb2\x07\x83\xcb\xb6\xa7\x10\x2e\xdb\x92\x29\xba\xce\x48\xd3\xb5\x21\x09\x29\x5c\xb2\x30\x1c\xd1\x3f\x86\x49\xf2\x56\xd6\xd7\x6b\x73\x55\x38\xfc\x75\x18\x04\xa9\x30\xda\x5f\xce\x3f\x0f\xbb\xe8\xef\x24\xf2\x77\x12\xf9\xff\x46\x22\x3f\x1b\xa4\x26\x26\xca\xdd\x0b\x6f\xac\xd8\x91\xc7\xf8\x92\xfc\xc7\x62\x17\xa0\x89\x43\xfa\x63\x2d\x33\x0e\xa8\x6d\x98\x80\x97\xd3\xcb\xb7\xc1\xf4\x6f\x83\xf8\x1f\x85\x2f\xe9\x80\x7b\x7f\xbe\x98\xa6\x8e\x5a\xaa\x4b\x04\x9a\x1d\x3c\x70\x8b\x81\xd6\xd2\x0d\xd5\xe6\xeb\xd5\x96\x86\x74\x1d\xb1\x6b\x75\xff\x91\x27\x26\xd5\xbb\xbf\x1e\xa7\xf9\x7f\x27\x2d\x5d\xea\x36\x6f\x02\x85\xdd\x74\xfd\x66\xf6\x96\x27\x6e\x92\x9e\x0c\x3b\xce\x44\xc4\x46\x5d\xe7\x24\x98\x8a\x94\xd3\xf9\xbf\x71\x3f\x70\x92\x3d\x27\x28\xe9\xba\x7a\xcf\x2f\x74\xf5\x5e\x86\x56\x5e\xd7\xa3\x4b\x4d\x3d\x15\xba\xa2\x42\x53\x89\x86\xbf\x34\x42\x85\xbf\x26\xf2\xd8\x44\x5b\xef\xfe\xca\xe6\x65\xfc\xa0\x20\x74\x99\x85\x6a\x5b\xde\xb0\xd9\x62\x61\x2c\x6e\xfa\x1c\x32\x00\x58\x5c\xb4\xbb\x23\x19\x32\xbd\x9e\xf0\x78\xff\xbf\xc5\x9d\xd4\x9a\x38\xef\xe8\x63\x99\xee\x33\x9a\x89\xd9\x57\xd8\xf6\xd9\x33\x08\x5a\xce\x4f\xde\x2d\xe0\xab\x87\xed\xfe\x43\xeb\x4e\xc9\x98\xfd\x6e\x6a\x6a\x86\x75\x36\xae\x2d\xee\xf9\x1b\x96\x34\x5c\x84\xde\xd9\xb8\xbb\x9a\xde\x9f\x2f\x82\xae\x6c\x90\x89\x3c\x77\x20\x7d\xb7\x60\xac\xb4\x06\x67\x2f\x27\x6e\x6a\x3e\xa5\x3d\x36\x95\x35\xc7\x29\x93\xca\x7d\xe7\xd0\xfa\xee\xcb\x8e\xcc\xe8\xcc\xa2\x8f\xf4\x20\x5a\xaa\xbb\xac\x0f\x38\x28\x5d\xdb\xa0\x1e\xcb\x8b\x09\xb2\xd7\x43\x68\x1b\x0f\xe9\x06\x27\x4a\xbb\x22\xf6\x68\x5b\x2b\xe9\xbe\xd7\xce\xb3\x0f\x0c\xd3\xfa\x62\x0d\xd3\x8e\xf0\x8d\xd0\x44\x58\xbb\x02\x1d\xa4\xce\x4c\x55\x0b\xdf\xfb\x7a\x8d\xf6\x77\x5d\xdf\x7c\xf2\x93\x01\x56\xad\xef\x9e\xe1\xce\xf9\x81\xfe\x79\x9a\x71\x75\xff\x1c\xce\x87\xf9\x23\x03\xe7\x8f\xe9\xdd\x89\xd6\x8b\x4f\x8a\x25\xd7\x54\x17\x83\xa8\xf3\x99\x07\xb1\x6c\x14\x3c\xff\x53\xdd\x98\xcf\x72\x76\x8f\x06\xbd\x36\x11\x3b\xd4\x39\xda\xdf\x14\x04\xe1\x4c\xc8\x4c\x7f\x02\x72\xcd\x55\x93\x59\x77\xfd\xaa\xd0\x9b\x9a\x2f\x5e\x7c\xbe\x1b\xa9\x81\xb3\xf1\x4d\x27\x7e\x47\x1c\x3f\x82\x74\xbc\xcc\xd4\xc7\xf8\xf5\xa6\x89\x63\x06\x64\x85\x51\xad\x14\x84\xed\xff\x46\x6b\xae\x21\x2a\xad\xaf\x8d\x97\x9c\xff\x9a\x9b\xca\x33\x57\x8e\x4f\x57\x4f\xd7\x70\x73\x57\x72\xa7\x4b\xc5\x0b\xdd\x14\x87\xc1\x1d\x98\xc1\xf6\x95\xbf\x22\x3c\xe3\xd7\x2f\xf3\xeb\x9a\x8e\x53\x5e\x71\xfa\x89\xcb\x89\xbf\xff\xea\xcb\xc6\xfb\xff\x04\x00\x00\xff\xff\x58\xdb\x3d\xe4\x4a\x2e\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x8f\x1b\xb7\x11\x7f\xd7\xa7\x18\x5c\x80\x5a\x4a\x15\x9d\x1f\x8a\x3e\x08\xb1\x5d\xe7\x8f\x8b\x3c\x34\x08\xec\x6b\xfc\x50\x14\x15\xb5\x3b\xab\x65\x8e\x4b\x6e\x48\xae\x64\xf5\x70\xdf\xbd\x98\x21\xb9\xff\xb4\xba\xd3\x5d\x9c\xa2\x68\x1e\x1c\x9d\x76\x39\x33\x1c\xfe\x66\xe6\x37\x43\x5d\x7f\xf9\xe5\x6c\xf6\x05\xdc\x94\x08\xef\x94\x39\xc0\xbb\x46\xef\xe4\x56\x21\xdc\x98\x5b\xd4\xe0\xbc\xd0\xb9\xb0\xf9\x6c\xf6\xc5\x17\xb0\x49\x0f\xf9\xd9\x06\x32\xa3\xbd\x15\x99\x9f\xcd\x78\xf9\xf4\x4a\x90\x0e\xb4\x01\x65\xf4\x0e\x2d\x08\x0d\x52\x7b\xb4\x85\xc8\x70\xe6\x4b\xe1\x41\x28\x05\x45\x5a\xea\x79\x69\x92\xeb\xe0\x60\x1a\x95\x43\x29\xf6\xf4\x88\xbe\x2f\x8c\xad\xc0\x9b\xd5\x6c\xf6\x43\x01\x02\x1a\x87\xd6\xc1\x41\x68\xef\xe8\x85\x1c\x6b\x65\x8e\x20\x40\xe3\x61\x24\x6b\x09\xbe\x44\x69\x3b\x9b\x73\x83\x64\x98\x07\x8d\x98\xd3\x62\x59\xd5\x0a\x2b\xd4\x9e\xde\x84\xc1\x56\x3b\x9b\x97\xb0\x6d\x7c\x14\xc5\x0a\xdc\x2c\x37\x67\x44\xb4\x8b\x1c\xe4\x58\x48\x8d\x39\x48\x0d\xbe\x94\xae\xb5\x62\x15\xfc\xfa\xb3\x68\x94\xdf\x80\x45\x67\x1a\x9b\xf5\x56\xce\x66\xdf\x8b\xac\x1c\xfb\xa7\x7d\xcf\x1f\x6b\x64\xe5\xee\x54\xfb\x79\xa1\x51\xe9\x4f\xd6\xec\x65\x8e\x76\xb3\x84\xcd\x7b\xcc\x50\xee\xf9\xb3\xd0\x39\x6c\xbe\x11\x4a\xe8\x0c\xa7\x56\x3b\x3e\x6d\x37\xda\x5e\xa6\x84\x45\xa8\x2d\x7e\x95\x19\x9d\x4b\x2f\x8d\x76\x2c\xaa\x36\xce\xf7\xbf\xe3\x33\xb7\xe8\xbc\x95\x99\x9f\x91\xa1\xf8\x09\xb3\x86\x1e\x82\x29\xd8\xf2\xa2\xd1\x59\x78\x99\xdd\x85\xc0\x3b\x59\xb1\xde\x23\x90\x1e\x87\xb5\xb0\xc2\x23\x6c\x31\x13\x0d\xd9\xe2\x61\x27\xf7\xe8\xf8\x75\x02\x05\x7f\x10\x5b\xa9\xa4\x3f\x92\x6f\x5c\x29\x2c\xce\x04\x58\x2c\xd0\xa2\xce\x18\x4f\xe1\x18\x59\x7a\xb0\xcb\x68\x75\x04\xfc\x54\x1b\x17\x45\x15\x12\x55\xee\x3a\x8b\x66\x52\x83\xd1\x08\xc6\x42\x65\x2c\x26\x8b\x3b\x57\x10\x30\x09\xd3\xce\x44\x83\x02\x42\x47\xd6\x54\xe2\x16\x21\x6b\x9c\x37\x55\xeb\xe1\xe8\x9a\xf6\x10\xc9\x37\x43\x2f\x13\xc0\x0d\xec\x85\x95\xa6\xa1\xb7\xa5\xde\x39\x38\x48\x5f\xb2\xf8\x80\xc6\xd5\xec\x9d\xb1\x80\x9f\x04\x89\x59\x82\x80\x42\x34\x19\x7a\xc8\x84\x86\x2d\x76\xd2\x31\x87\xed\x31\x05\x94\xd4\xbb\x59\x70\x07\x24\x50\x0c\xd0\xf2\xe5\xf5\x6c\x26\xab\xda\x58\x0f\x3f\x4b\x3c\xbc\x47\x67\xd4\x1e\x2d\x14\xd6\x54\x70\xd5\xff\xea\x6a\x36\xbb\xbe\xbe\x1e\x06\x0f\x7d\x33\xf8\x36\x26\x88\xd6\x16\x11\xd1\x62\xb1\x97\x28\x2c\xfe\xda\x48\x3b\x15\x56\xc3\x60\x60\xc9\x9d\xb1\xf0\x11\xc1\x79\xa9\x54\x48\x1a\xd2\x83\x70\x83\xa4\x03\x25\xda\x0e\x37\x9e\xff\x62\x48\x99\x8a\x91\x53\x34\x8a\x45\x36\x3e\x9c\x56\x85\xbe\x34\x79\x3c\x9c\x4a\xe8\x23\xd4\xd6\xfc\x82\x9c\x9c\x48\x4d\x50\x46\x19\x88\x2c\x65\xa5\x46\x8f\x72\x8d\x5b\xb2\xc8\x98\x39\x02\x84\xb7\x47\xda\x6c\x85\x42\xbb\x76\xaf\x2b\x4e\x86\x01\x06\xdd\xb7\xf4\x99\xbf\x6b\x4f\x39\xec\x39\x39\xc5\x0d\xc2\xbd\x4b\x1d\x22\xcb\xd0\xb9\xb9\x50\x6a\xd1\x5a\x32\x4a\x6b\x77\xb3\x19\x00\xc0\xf5\x35\xbc\xd5\x80\xda\x4b\x1f\xfd\x5c\x18\x4b\xb6\x98\x83\xd4\x3b\x16\x4f\x30\xcb\xad\x38\x08\xc5\x98\x67\xac\x85\xf3\x17\x21\x80\x58\x50\x5f\x65\x5f\xdc\xc7\xb4\x7a\xab\x30\xa9\xbc\xe6\x9a\x83\xfb\x70\xac\x61\xcb\x58\x49\x4f\xd0\x3c\x94\xa8\x93\x12\x72\x56\xd2\xae\x1f\x51\xb9\xef\x2b\x9b\x8b\xca\x34\xda\xaf\xe1\xef\xef\xe4\xa7\x3f\xff\x69\xc9\x6b\xd7\xf0\x36\xcf\x2d\x3a\xf7\x66\xc9\xd9\x73\x0d\x1f\xbc\x95\x7a\xb7\xe8\x0b\x73\xa8\x8a\x05\xe1\x8c\x0d\x4a\xf2\xbe\x27\xe9\x4f\x13\xba\x86\x6f\x8c\x51\x70\xc7\xc2\xe9\x3f\x92\x77\x6a\x60\xf8\x7f\x92\x45\xff\x26\x39\xf4\xef\xa2\x5d\x6d\xd1\x37\x56\x83\xb7\x0d\xf2\x77\xf7\xcf\xf1\x65\x8e\xb5\x71\xd2\x87\xc8\x7a\xd8\x93\xdf\x85\x57\x4f\xf6\xec\xcd\x33\xdc\x18\x85\x4d\x7b\xf1\x01\x89\xd3\x3e\x1c\x9b\x96\x5c\x48\x82\xbc\xf9\x1d\xdd\xe7\xad\xd0\xae\x40\x4b\x81\xc9\x60\xa4\x72\x20\xb2\x8c\xd4\xb3\x47\xb5\xa1\xa4\x72\xc6\xa3\x37\x71\xf5\xe3\x30\x7a\x8e\x8b\x93\xf4\x0b\x91\xfa\x54\x9f\x9f\x18\x3f\x89\xdb\xe7\x1d\x00\x9b\xfc\x00\x66\x9d\xb7\xe6\x88\xf9\x19\xb7\x7e\xd3\x58\x7d\x8a\xa9\x81\xd3\xce\x7b\x8d\x16\x9f\x41\xe5\x83\x3e\x91\x45\x74\x00\xbc\x7e\x05\x2f\x57\x2f\x7b\x8f\x5a\x97\x0d\x0c\x6b\x31\x3a\xe1\x9a\xfb\x4b\x9c\x94\x8a\x73\xfa\x62\x00\xdf\xae\xc2\x31\x84\x91\x2a\x7b\x16\x69\x4c\x2c\x25\xa1\x5a\x50\x6e\x4f\x09\x95\x2a\x7f\x12\xd2\x4f\xea\x4c\x6a\x52\x81\xe1\x1a\x70\xac\x71\x75\xa2\xf7\x07\x0f\x2d\x8d\x8e\x0a\x87\xba\x8c\x86\xcd\x36\x71\x49\xaa\xb5\xcb\x76\x6d\x8f\xba\x29\x14\x44\x95\x4c\x8d\x81\xef\xd5\xc6\x39\x19\xd9\x92\x29\x20\xb3\x28\xd8\x88\xc8\x98\xea\xe8\x06\xd7\x99\x4e\x3b\x26\x1e\xce\x74\x9e\xce\x58\x58\xa9\x8e\x91\x97\x73\x2d\x36\x07\x0d\xd1\x92\xe1\x3e\xfa\x68\x3a\x65\xbb\x1d\x21\x8a\xb5\x32\xa9\x4c\x1e\x04\xd7\x6c\x63\xb3\x32\x76\xa0\x39\x68\xb4\x2f\x5c\x2f\xc5\xa6\xc5\x44\x8c\xc3\x39\xbb\x94\x82\x3b\x22\x67\xb1\x32\x7b\x4e\xcf\x81\xd0\xf5\x16\x0e\x84\xdc\xf4\xa8\xf2\x0b\x17\xf7\x01\x0a\xf7\xa8\x28\x81\xd5\xcd\x56\xc9\x2c\xf5\x2b\xd2\x85\x3e\xcc\x83\x20\xff\x6d\x15\x56\x03\x61\xe9\x34\x98\x01\xb7\xc6\x83\xf3\xc6\x26\x0a\xd0\x73\x4e\xf4\x69\x4c\x7b\x03\x41\x19\x93\x2d\xe9\xa5\x50\xea\x08\x59\x20\x34\xb2\xa3\xd0\x0f\xef\x27\x68\xad\xc4\x11\x76\x96\x28\x15\xe7\xd2\xa4\xa7\xdd\x23\x31\xd7\x84\x09\xda\x8e\xdc\x0b\x8f\x23\x2b\xea\x96\x6e\xc7\x26\xd3\x1c\x1c\xb8\x1a\x33\x59\xc8\x2c\xca\x8d\xdc\xdc\x44\xb9\x03\x09\x8c\xc3\x74\xf6\x5d\xc3\x55\x5a\xd3\xec\x4a\xe8\x35\x12\x97\x6e\x28\xf4\x04\xbc\x2b\x72\xca\x23\x7b\xe2\xc3\xbb\x64\x4b\x24\x6b\xb4\x8f\x81\xed\x03\x19\x4f\xdf\x47\x8c\x8e\x3e\x81\x0b\x99\xf3\x30\xcd\xb2\x16\x6b\xf8\xcb\x5b\x7d\x7c\x1f\x15\xdd\x31\xb6\xef\x47\xa9\x91\x7a\xc2\xd1\x57\x41\x2f\x6c\x2c\xba\xd8\xb5\x16\x71\x4f\x01\x7a\x9c\x13\xf7\x42\x35\x78\xb2\x2c\x2c\x59\xed\xd0\xc7\xae\x75\xbe\x80\x57\xaf\x62\xb6\x5d\x9f\xbc\x4e\xff\x5d\x7d\xec\xe8\x6c\xcc\xe1\x55\xe3\x3c\x75\x48\xa4\xce\x89\x0a\xa9\x6f\xa0\xcf\x31\x67\xa4\x4e\xaf\x63\xa2\xbc\xb3\xab\x89\x4d\x0c\x28\xf6\xea\x3c\x83\x1c\x56\x4f\xaa\x49\x2b\x46\xcb\x9b\x95\x08\x55\x39\x55\x0a\x7e\xb4\x43\x7f\x73\xac\x71\xbe\x58\xc9\x9c\x72\x72\x21\xd1\x2e\x06\xda\xef\x47\xc5\xa4\x57\x38\x52\x7b\xff\xdb\x0b\x47\x64\x8f\x13\x75\x43\xea\x78\x58\x17\xd4\x8d\x8f\x98\xb2\xb5\xd4\x99\x6a\x72\x04\x01\xed\x8c\x20\x98\x91\x95\x98\xdd\x0e\x8f\x20\xe6\xa8\x56\xca\x01\xdb\xbe\x8b\x7a\xed\x4b\x5a\xed\xe0\x86\xd0\x4f\xcd\xa0\x97\xb2\x72\x93\x5e\x9a\xee\xab\x97\xa0\xe4\x2d\x82\xab\x95\xe4\x46\xac\x82\xa6\xa6\x34\xde\x0a\x71\xa8\xf3\xf0\x80\xda\x74\x59\x70\x54\x79\xa8\x55\x98\x0a\xc0\xe5\x15\x27\x1d\xd6\xb8\xe2\x44\xd7\x83\x17\xb7\xd8\x95\x0d\x2a\x25\xf1\x89\xa3\x5a\x3a\x7d\x0c\x83\x89\xd1\x43\x81\xce\x46\x51\x7c\x47\x99\xf3\x80\xce\x89\x98\x5e\x0c\xad\xdb\xa1\xff\xd0\xd4\xb5\xb1\x1e\x73\x7e\x81\xd0\x4a\x35\x9d\x8e\x94\x6b\x41\x57\xf0\x94\x74\x9e\x02\x6a\x1f\x26\x2f\xfc\x62\xec\x70\xb9\xef\x8d\xfb\x27\x93\x6a\xef\x26\x4d\xdc\x4b\x3c\xb0\x9d\xd3\x7a\xe7\x8b\x35\xdc\xdd\x70\xf4\x10\x6b\xbb\x1f\xda\xfa\x3e\x5a\x72\x28\x91\xeb\x80\xb1\x8c\x45\xf2\x1a\x01\x49\x87\xb9\x9a\x74\xd1\x82\x30\x2b\xa1\xa7\x83\x38\x4a\xd2\xde\xa6\x7d\x30\x6c\x85\x8e\xab\x40\xe8\x63\x10\xe4\x4a\x9e\x62\xfe\x42\x19\xa6\xc7\xee\x48\x68\x8e\xc5\x80\x1c\x4c\x6e\x51\xba\xd3\x1d\xce\x43\x6a\xa0\x8f\x91\x99\xf6\x63\xfe\x11\x84\x25\x22\x6f\x6c\x2f\x0b\xc7\x09\x0d\x17\xe9\xd0\xff\x43\x2e\x2d\x66\xbe\x6d\x79\x40\x6a\xe7\x51\xe4\x74\x74\xa5\xd8\x73\x78\xf3\x48\x4a\xb4\xd8\x24\x34\x76\xa3\x82\x8b\x80\xe6\xcf\xb5\x44\x09\x07\x6b\xf8\xb6\x2d\x7d\x5f\xff\xe1\x6e\x98\x5e\xd3\x89\xdc\xbf\x5e\x8c\x8b\x8c\xc5\x89\x1a\x93\x84\xae\x38\xbf\x10\x4c\xae\xbe\xe5\xd3\x21\x00\x6c\x8d\xb5\xe6\x00\xa7\x53\x42\xf8\xf1\xdd\x4d\xbb\xf4\xea\xd2\xac\x1b\xcb\xd1\x44\xd2\x95\xae\x77\x1a\xcc\xcb\x48\xeb\x0e\x35\x5a\xa1\xa0\x6e\x6c\x6d\x1c\x42\x85\x5e\xe4\xc2\x8b\xde\xbb\xe3\x14\x98\x98\xc2\x48\x1c\x62\x1e\xfa\xfb\x1d\xfa\x56\x4c\xa0\x82\x22\xcf\x03\xc5\x38\x94\x46\x21\x0f\xca\xbb\x91\x51\x12\x4b\xc7\x8f\x7b\xb4\xc7\x7e\x67\xdb\xd4\x3b\x2b\x72\x76\x09\xd1\x4b\x6b\xb6\x62\x4b\x64\xd1\x18\xa8\x9a\xac\x24\x54\x08\xd8\x5a\x14\xb7\xcc\xd5\x4b\xa1\x77\x78\x09\x1a\xa3\x9b\xe0\x0e\xae\xaf\xd7\x83\x01\xe3\xaa\x9d\x34\x8e\x52\xe1\xdf\x78\x28\x97\x36\xd8\xab\x11\x27\xfc\x2b\xd5\x8e\x8c\x0f\x79\x8b\x8c\x55\x2b\x89\x5f\xf3\x6c\x77\x39\x58\xe1\x4c\x9c\x08\x86\x3b\x8b\x34\xd6\x8f\x55\x10\x84\x06\xfc\x54\x2b\x99\x49\x1f\x56\x3f\x9a\x9a\x5a\x46\x92\x60\x3d\xfb\x2c\xd9\xec\x73\xa4\x8b\xc1\xc6\x07\x63\xdd\xe0\x5d\xf7\x68\xf4\xf6\xad\x26\x01\x6c\xe7\x3f\x48\xc7\x3f\xcf\x46\xbb\x0d\x4a\xe8\xf5\xf9\xbf\x58\x42\x6b\xd5\x5b\x7d\xfc\xe0\x6d\x93\xf9\x37\xe3\x40\xea\x1a\xa8\x41\xf3\x99\x23\xd5\x95\x65\xec\x6e\x5a\x3c\x85\x3b\x23\xa6\xdb\xdd\x85\x51\x9b\xba\x97\x09\x6f\xcb\x5e\x1a\x5c\xb6\x6d\x5e\xb8\xff\x48\xae\xe8\x9a\xd5\xa6\x9b\x0c\x51\xa6\x70\xc9\xc3\x70\x44\xff\x94\xe2\xce\x5b\x59\x5f\x6e\xcd\x45\xe1\xf0\xd7\x61\x10\x24\xae\xba\x7f\xbc\xb4\x3c\x0c\xd1\xff\xfd\xba\x3e\xca\xf0\x94\x74\x51\x99\x43\x60\x8f\x74\x58\xfd\x0b\x8f\xc4\x06\x5d\x63\x23\xd7\xb5\x8d\xfe\xca\xcb\x2a\x5e\xa4\x31\x70\xc6\xf2\xb8\x21\xa6\x2c\x13\xb6\xd9\x0e\xa7\xa8\xc5\x12\x4c\xf1\xda\x53\x8e\x68\x8b\xdc\x71\x78\x59\xba\x0a\xe3\xf9\x15\x0c\xe4\xcb\xe2\x84\xdc\xbb\x0f\xcd\x96\xac\x99\x9b\x22\x44\xc6\xd7\x03\xee\x35\x21\xf4\xfe\xf5\x7c\x31\x2e\x7e\xd0\x0d\x92\xee\x86\x1a\xd6\xcc\x3d\xee\x87\x35\x0c\x50\xb9\xa9\x6a\xd9\x72\x25\x4e\x7d\x55\xed\x8f\x90\x4b\x66\x08\x82\x6a\x43\x20\xdb\x91\xc3\x84\xee\x8c\x4b\x47\xeb\x91\x43\x49\xfc\x40\xbf\xf0\x53\x92\xbb\x5b\x9d\x49\x57\x2d\xc1\x51\x55\x11\x6e\xf4\xf8\xc3\x41\xfa\xac\xdc\x1a\x61\xf3\xcd\x12\x36\xfc\xdd\x3b\x63\x0f\xc2\xe6\x68\x37\x80\x3e\x5b\x9d\x75\xc5\xfd\xd9\xd2\xfd\x39\x52\xea\xc8\x81\x51\x69\x21\x94\xc3\x29\x4d\x7d\x26\xca\x5d\xa7\x37\x56\xec\x08\x56\xbe\x24\x90\x59\xec\xa2\x38\x71\x48\x7f\xac\x65\xc6\x51\xb7\x0d\x0b\xf0\xf1\x1a\xf4\x5d\x38\x9f\x0f\x41\xfc\x4f\xc2\x97\x84\x82\xde\x9f\x6f\xa6\x0d\xd7\x52\x5d\x62\x76\x24\x20\x03\xab\xa5\x1b\x9a\xcd\xd7\x62\x2d\x57\xe9\x26\x19\x97\xda\xfe\x13\x2f\x4c\xa6\x77\x7f\x3d\xcd\xf2\xff\x4e\xed\x7a\x6c\x4a\xb8\x09\x3c\x77\xd3\xcd\x09\x19\x52\x2f\xdc\x24\x87\x19\x4e\x0a\x89\xad\x8d\xa6\x85\x49\x30\x35\x29\xa7\xeb\x7f\xe7\x39\xce\x24\xc5\x4e\xf9\xa6\x9b\xc6\xbc\x7e\x64\x1a\xf3\x36\x8c\x60\xba\xd9\x4a\x1a\xc6\xa8\x30\xcd\x12\x9a\x5a\x34\xfc\xb5\x11\x2a\xfc\x35\x51\xec\x26\xc6\x31\xf7\x17\x0e\x9d\xe2\x45\x70\x98\x0e\x0a\xd5\x8e\x2a\x61\xb3\xc5\xc2\x58\xdc\xf4\x89\x66\xc8\x72\x51\x69\x37\xdb\x1e\xd2\xc1\x9e\xf0\x78\x6f\xbb\xc5\x9d\xd4\x9a\x88\xf1\xe8\x47\x0e\xdd\xcf\x1f\x26\x56\x5f\xe0\xdb\x57\xaf\x20\x58\x39\x3f\x79\xb6\x80\xaf\x1e\xf6\xfb\x8f\x2d\x9c\x92\x33\xfb\x53\xb0\x34\xc4\xe8\x7c\x5c\x5b\xdc\xf3\x6f\x0f\xd2\xeb\x22\xcc\x3c\xc6\x53\xb1\xf4\xfc\x7c\xa7\x74\xe1\x60\x43\xe4\xb9\x03\xe9\x3b\x85\xb1\x1d\x1b\x9c\xbd\x9c\x98\xb0\x3f\x67\xac\x31\x55\x5a\xc7\x75\x95\xda\x7d\xe7\xd0\xfa\xee\x46\x3e\x33\x3a\xb3\xe8\x23\x87\x88\x9e\xea\x2e\x59\x43\x1e\x94\xae\x1d\x2c\x8e\xe5\xc5\x2a\xda\x9b\x21\xb4\x83\x87\x34\x79\x8f\xd2\x2e\x88\x3d\xda\xd6\x4a\xba\x1f\xb4\xf3\x8c\x81\x61\xed\x5f\xac\x61\x1a\x08\xdf\x0a\x4d\xac\xb6\xeb\xe2\x41\xea\xcc\x54\xb5\xf0\xbd\x5f\x1d\xd1\xfe\x2e\x9b\x77\x4e\x5e\xf5\xb2\x69\x7d\x78\x86\xbb\xc2\x07\xe6\x9e\x69\xc5\xc5\x73\x4f\x38\x1f\xe6\x4f\x0c\x9c\x3f\xa6\x67\x27\x56\x2f\x9e\x15\x4b\xae\xa9\x1e\x0d\xa2\x0e\x33\x0f\xe6\xb2\x51\xf0\xfc\x5f\x8d\x6c\x3e\xcb\xd9\x3d\x39\xe9\xb5\x85\xd8\xa1\xce\xd1\xfe\xae\x49\x10\xce\x84\xcc\xf4\xd5\xfd\x25\x57\x04\x66\xdd\x0d\xb5\xc2\x00\x6b\xbe\x78\xf3\xf9\x6e\x12\x06\x60\xe3\x1b\x2a\xfc\x9e\x1a\x81\x98\xa4\xe3\x25\x94\x3e\xc6\x5f\xdd\x99\xf8\xce\x80\xac\x70\x56\x2b\x05\xe5\xf6\x7f\xa3\x35\x97\x10\x95\x16\x6b\x63\x95\xf3\xdf\x72\xc3\x74\xe6\xaa\xe8\xe5\xea\xe5\x1a\xae\x6e\x4a\x1e\x87\xa9\x78\x11\x97\xe2\x30\xc0\x81\x19\x6c\xdf\xf8\x0b\xc2\x33\xfe\x6a\x61\x7e\xd9\x64\x72\x0a\x15\xa7\x3f\x4d\x38\xc1\xfb\x6f\xbe\x24\xba\xff\x4f\x00\x00\x00\xff\xff\xfa\x13\x82\x56\x02\x2c\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6a, 0xca, 0x7d, 0xdc, 0x1c, 0x1c, 0xb1, 0xae, 0x1c, 0xba, 0x29, 0x12, 0xa6, 0x34, 0x25, 0x1b, 0x9a, 0xa0, 0xcd, 0x5c, 0x8f, 0x9a, 0x60, 0xcf, 0xc1, 0x59, 0x12, 0x15, 0xcc, 0x92, 0x80, 0x7f}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x87, 0x3f, 0x79, 0x61, 0xc0, 0x47, 0xbe, 0x4d, 0xda, 0xc7, 0xfe, 0x93, 0xc0, 0x2e, 0xd1, 0xc, 0xf1, 0xa1, 0xe1, 0x81, 0x52, 0xe9, 0x2c, 0x7c, 0x16, 0x4b, 0x60, 0xe2, 0x73, 0xb3, 0xd3, 0xbe}}
 	return a, nil
 }
 

From 3430bad0a1ab22a3b6fce400ae155970a7ad5bc7 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 19 Jul 2023 12:06:05 -0500
Subject: [PATCH 012/115] add Withdrawable to transfer

---
 contracts/FungibleToken-v2.cdc             | 4 ++--
 lib/go/contracts/internal/assets/assets.go | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index 69f7af79..32a49b37 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -139,7 +139,7 @@ access(all) contract FungibleToken {
     access(all) resource interface Transferor {
         /// Function for a direct transfer instead of having to do a deposit and withdrawal
         ///
-        access(all) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
+        access(Withdrawable) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
             pre {
                 receiver.check(): "Could not borrow a reference to the NFT receiver"
             }
@@ -242,7 +242,7 @@ access(all) contract FungibleToken {
 
         /// Function for a direct transfer instead of having to do a deposit and withdrawal
         ///
-        access(all) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
+        access(Withdrawable) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
             post {
                 self.getBalance() == before(self.getBalance()) - amount:
                     "New Vault balance from the sender must be the difference of the previous balance and the withdrawn Vault balance"
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 4f48a137..7f21a8ff 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -2,7 +2,7 @@
 // sources:
 // ../../../contracts/ExampleToken-v2.cdc (10.65kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
-// ../../../contracts/FungibleToken-v2.cdc (11.266kB)
+// ../../../contracts/FungibleToken-v2.cdc (11.284kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.507kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (17.818kB)
@@ -121,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x8f\x1b\xb7\x11\x7f\xd7\xa7\x18\x5c\x80\x5a\x4a\x15\x9d\x1f\x8a\x3e\x08\xb1\x5d\xe7\x8f\x8b\x3c\x34\x08\xec\x6b\xfc\x50\x14\x15\xb5\x3b\xab\x65\x8e\x4b\x6e\x48\xae\x64\xf5\x70\xdf\xbd\x98\x21\xb9\xff\xb4\xba\xd3\x5d\x9c\xa2\x68\x1e\x1c\x9d\x76\x39\x33\x1c\xfe\x66\xe6\x37\x43\x5d\x7f\xf9\xe5\x6c\xf6\x05\xdc\x94\x08\xef\x94\x39\xc0\xbb\x46\xef\xe4\x56\x21\xdc\x98\x5b\xd4\xe0\xbc\xd0\xb9\xb0\xf9\x6c\xf6\xc5\x17\xb0\x49\x0f\xf9\xd9\x06\x32\xa3\xbd\x15\x99\x9f\xcd\x78\xf9\xf4\x4a\x90\x0e\xb4\x01\x65\xf4\x0e\x2d\x08\x0d\x52\x7b\xb4\x85\xc8\x70\xe6\x4b\xe1\x41\x28\x05\x45\x5a\xea\x79\x69\x92\xeb\xe0\x60\x1a\x95\x43\x29\xf6\xf4\x88\xbe\x2f\x8c\xad\xc0\x9b\xd5\x6c\xf6\x43\x01\x02\x1a\x87\xd6\xc1\x41\x68\xef\xe8\x85\x1c\x6b\x65\x8e\x20\x40\xe3\x61\x24\x6b\x09\xbe\x44\x69\x3b\x9b\x73\x83\x64\x98\x07\x8d\x98\xd3\x62\x59\xd5\x0a\x2b\xd4\x9e\xde\x84\xc1\x56\x3b\x9b\x97\xb0\x6d\x7c\x14\xc5\x0a\xdc\x2c\x37\x67\x44\xb4\x8b\x1c\xe4\x58\x48\x8d\x39\x48\x0d\xbe\x94\xae\xb5\x62\x15\xfc\xfa\xb3\x68\x94\xdf\x80\x45\x67\x1a\x9b\xf5\x56\xce\x66\xdf\x8b\xac\x1c\xfb\xa7\x7d\xcf\x1f\x6b\x64\xe5\xee\x54\xfb\x79\xa1\x51\xe9\x4f\xd6\xec\x65\x8e\x76\xb3\x84\xcd\x7b\xcc\x50\xee\xf9\xb3\xd0\x39\x6c\xbe\x11\x4a\xe8\x0c\xa7\x56\x3b\x3e\x6d\x37\xda\x5e\xa6\x84\x45\xa8\x2d\x7e\x95\x19\x9d\x4b\x2f\x8d\x76\x2c\xaa\x36\xce\xf7\xbf\xe3\x33\xb7\xe8\xbc\x95\x99\x9f\x91\xa1\xf8\x09\xb3\x86\x1e\x82\x29\xd8\xf2\xa2\xd1\x59\x78\x99\xdd\x85\xc0\x3b\x59\xb1\xde\x23\x90\x1e\x87\xb5\xb0\xc2\x23\x6c\x31\x13\x0d\xd9\xe2\x61\x27\xf7\xe8\xf8\x75\x02\x05\x7f\x10\x5b\xa9\xa4\x3f\x92\x6f\x5c\x29\x2c\xce\x04\x58\x2c\xd0\xa2\xce\x18\x4f\xe1\x18\x59\x7a\xb0\xcb\x68\x75\x04\xfc\x54\x1b\x17\x45\x15\x12\x55\xee\x3a\x8b\x66\x52\x83\xd1\x08\xc6\x42\x65\x2c\x26\x8b\x3b\x57\x10\x30\x09\xd3\xce\x44\x83\x02\x42\x47\xd6\x54\xe2\x16\x21\x6b\x9c\x37\x55\xeb\xe1\xe8\x9a\xf6\x10\xc9\x37\x43\x2f\x13\xc0\x0d\xec\x85\x95\xa6\xa1\xb7\xa5\xde\x39\x38\x48\x5f\xb2\xf8\x80\xc6\xd5\xec\x9d\xb1\x80\x9f\x04\x89\x59\x82\x80\x42\x34\x19\x7a\xc8\x84\x86\x2d\x76\xd2\x31\x87\xed\x31\x05\x94\xd4\xbb\x59\x70\x07\x24\x50\x0c\xd0\xf2\xe5\xf5\x6c\x26\xab\xda\x58\x0f\x3f\x4b\x3c\xbc\x47\x67\xd4\x1e\x2d\x14\xd6\x54\x70\xd5\xff\xea\x6a\x36\xbb\xbe\xbe\x1e\x06\x0f\x7d\x33\xf8\x36\x26\x88\xd6\x16\x11\xd1\x62\xb1\x97\x28\x2c\xfe\xda\x48\x3b\x15\x56\xc3\x60\x60\xc9\x9d\xb1\xf0\x11\xc1\x79\xa9\x54\x48\x1a\xd2\x83\x70\x83\xa4\x03\x25\xda\x0e\x37\x9e\xff\x62\x48\x99\x8a\x91\x53\x34\x8a\x45\x36\x3e\x9c\x56\x85\xbe\x34\x79\x3c\x9c\x4a\xe8\x23\xd4\xd6\xfc\x82\x9c\x9c\x48\x4d\x50\x46\x19\x88\x2c\x65\xa5\x46\x8f\x72\x8d\x5b\xb2\xc8\x98\x39\x02\x84\xb7\x47\xda\x6c\x85\x42\xbb\x76\xaf\x2b\x4e\x86\x01\x06\xdd\xb7\xf4\x99\xbf\x6b\x4f\x39\xec\x39\x39\xc5\x0d\xc2\xbd\x4b\x1d\x22\xcb\xd0\xb9\xb9\x50\x6a\xd1\x5a\x32\x4a\x6b\x77\xb3\x19\x00\xc0\xf5\x35\xbc\xd5\x80\xda\x4b\x1f\xfd\x5c\x18\x4b\xb6\x98\x83\xd4\x3b\x16\x4f\x30\xcb\xad\x38\x08\xc5\x98\x67\xac\x85\xf3\x17\x21\x80\x58\x50\x5f\x65\x5f\xdc\xc7\xb4\x7a\xab\x30\xa9\xbc\xe6\x9a\x83\xfb\x70\xac\x61\xcb\x58\x49\x4f\xd0\x3c\x94\xa8\x93\x12\x72\x56\xd2\xae\x1f\x51\xb9\xef\x2b\x9b\x8b\xca\x34\xda\xaf\xe1\xef\xef\xe4\xa7\x3f\xff\x69\xc9\x6b\xd7\xf0\x36\xcf\x2d\x3a\xf7\x66\xc9\xd9\x73\x0d\x1f\xbc\x95\x7a\xb7\xe8\x0b\x73\xa8\x8a\x05\xe1\x8c\x0d\x4a\xf2\xbe\x27\xe9\x4f\x13\xba\x86\x6f\x8c\x51\x70\xc7\xc2\xe9\x3f\x92\x77\x6a\x60\xf8\x7f\x92\x45\xff\x26\x39\xf4\xef\xa2\x5d\x6d\xd1\x37\x56\x83\xb7\x0d\xf2\x77\xf7\xcf\xf1\x65\x8e\xb5\x71\xd2\x87\xc8\x7a\xd8\x93\xdf\x85\x57\x4f\xf6\xec\xcd\x33\xdc\x18\x85\x4d\x7b\xf1\x01\x89\xd3\x3e\x1c\x9b\x96\x5c\x48\x82\xbc\xf9\x1d\xdd\xe7\xad\xd0\xae\x40\x4b\x81\xc9\x60\xa4\x72\x20\xb2\x8c\xd4\xb3\x47\xb5\xa1\xa4\x72\xc6\xa3\x37\x71\xf5\xe3\x30\x7a\x8e\x8b\x93\xf4\x0b\x91\xfa\x54\x9f\x9f\x18\x3f\x89\xdb\xe7\x1d\x00\x9b\xfc\x00\x66\x9d\xb7\xe6\x88\xf9\x19\xb7\x7e\xd3\x58\x7d\x8a\xa9\x81\xd3\xce\x7b\x8d\x16\x9f\x41\xe5\x83\x3e\x91\x45\x74\x00\xbc\x7e\x05\x2f\x57\x2f\x7b\x8f\x5a\x97\x0d\x0c\x6b\x31\x3a\xe1\x9a\xfb\x4b\x9c\x94\x8a\x73\xfa\x62\x00\xdf\xae\xc2\x31\x84\x91\x2a\x7b\x16\x69\x4c\x2c\x25\xa1\x5a\x50\x6e\x4f\x09\x95\x2a\x7f\x12\xd2\x4f\xea\x4c\x6a\x52\x81\xe1\x1a\x70\xac\x71\x75\xa2\xf7\x07\x0f\x2d\x8d\x8e\x0a\x87\xba\x8c\x86\xcd\x36\x71\x49\xaa\xb5\xcb\x76\x6d\x8f\xba\x29\x14\x44\x95\x4c\x8d\x81\xef\xd5\xc6\x39\x19\xd9\x92\x29\x20\xb3\x28\xd8\x88\xc8\x98\xea\xe8\x06\xd7\x99\x4e\x3b\x26\x1e\xce\x74\x9e\xce\x58\x58\xa9\x8e\x91\x97\x73\x2d\x36\x07\x0d\xd1\x92\xe1\x3e\xfa\x68\x3a\x65\xbb\x1d\x21\x8a\xb5\x32\xa9\x4c\x1e\x04\xd7\x6c\x63\xb3\x32\x76\xa0\x39\x68\xb4\x2f\x5c\x2f\xc5\xa6\xc5\x44\x8c\xc3\x39\xbb\x94\x82\x3b\x22\x67\xb1\x32\x7b\x4e\xcf\x81\xd0\xf5\x16\x0e\x84\xdc\xf4\xa8\xf2\x0b\x17\xf7\x01\x0a\xf7\xa8\x28\x81\xd5\xcd\x56\xc9\x2c\xf5\x2b\xd2\x85\x3e\xcc\x83\x20\xff\x6d\x15\x56\x03\x61\xe9\x34\x98\x01\xb7\xc6\x83\xf3\xc6\x26\x0a\xd0\x73\x4e\xf4\x69\x4c\x7b\x03\x41\x19\x93\x2d\xe9\xa5\x50\xea\x08\x59\x20\x34\xb2\xa3\xd0\x0f\xef\x27\x68\xad\xc4\x11\x76\x96\x28\x15\xe7\xd2\xa4\xa7\xdd\x23\x31\xd7\x84\x09\xda\x8e\xdc\x0b\x8f\x23\x2b\xea\x96\x6e\xc7\x26\xd3\x1c\x1c\xb8\x1a\x33\x59\xc8\x2c\xca\x8d\xdc\xdc\x44\xb9\x03\x09\x8c\xc3\x74\xf6\x5d\xc3\x55\x5a\xd3\xec\x4a\xe8\x35\x12\x97\x6e\x28\xf4\x04\xbc\x2b\x72\xca\x23\x7b\xe2\xc3\xbb\x64\x4b\x24\x6b\xb4\x8f\x81\xed\x03\x19\x4f\xdf\x47\x8c\x8e\x3e\x81\x0b\x99\xf3\x30\xcd\xb2\x16\x6b\xf8\xcb\x5b\x7d\x7c\x1f\x15\xdd\x31\xb6\xef\x47\xa9\x91\x7a\xc2\xd1\x57\x41\x2f\x6c\x2c\xba\xd8\xb5\x16\x71\x4f\x01\x7a\x9c\x13\xf7\x42\x35\x78\xb2\x2c\x2c\x59\xed\xd0\xc7\xae\x75\xbe\x80\x57\xaf\x62\xb6\x5d\x9f\xbc\x4e\xff\x5d\x7d\xec\xe8\x6c\xcc\xe1\x55\xe3\x3c\x75\x48\xa4\xce\x89\x0a\xa9\x6f\xa0\xcf\x31\x67\xa4\x4e\xaf\x63\xa2\xbc\xb3\xab\x89\x4d\x0c\x28\xf6\xea\x3c\x83\x1c\x56\x4f\xaa\x49\x2b\x46\xcb\x9b\x95\x08\x55\x39\x55\x0a\x7e\xb4\x43\x7f\x73\xac\x71\xbe\x58\xc9\x9c\x72\x72\x21\xd1\x2e\x06\xda\xef\x47\xc5\xa4\x57\x38\x52\x7b\xff\xdb\x0b\x47\x64\x8f\x13\x75\x43\xea\x78\x58\x17\xd4\x8d\x8f\x98\xb2\xb5\xd4\x99\x6a\x72\x04\x01\xed\x8c\x20\x98\x91\x95\x98\xdd\x0e\x8f\x20\xe6\xa8\x56\xca\x01\xdb\xbe\x8b\x7a\xed\x4b\x5a\xed\xe0\x86\xd0\x4f\xcd\xa0\x97\xb2\x72\x93\x5e\x9a\xee\xab\x97\xa0\xe4\x2d\x82\xab\x95\xe4\x46\xac\x82\xa6\xa6\x34\xde\x0a\x71\xa8\xf3\xf0\x80\xda\x74\x59\x70\x54\x79\xa8\x55\x98\x0a\xc0\xe5\x15\x27\x1d\xd6\xb8\xe2\x44\xd7\x83\x17\xb7\xd8\x95\x0d\x2a\x25\xf1\x89\xa3\x5a\x3a\x7d\x0c\x83\x89\xd1\x43\x81\xce\x46\x51\x7c\x47\x99\xf3\x80\xce\x89\x98\x5e\x0c\xad\xdb\xa1\xff\xd0\xd4\xb5\xb1\x1e\x73\x7e\x81\xd0\x4a\x35\x9d\x8e\x94\x6b\x41\x57\xf0\x94\x74\x9e\x02\x6a\x1f\x26\x2f\xfc\x62\xec\x70\xb9\xef\x8d\xfb\x27\x93\x6a\xef\x26\x4d\xdc\x4b\x3c\xb0\x9d\xd3\x7a\xe7\x8b\x35\xdc\xdd\x70\xf4\x10\x6b\xbb\x1f\xda\xfa\x3e\x5a\x72\x28\x91\xeb\x80\xb1\x8c\x45\xf2\x1a\x01\x49\x87\xb9\x9a\x74\xd1\x82\x30\x2b\xa1\xa7\x83\x38\x4a\xd2\xde\xa6\x7d\x30\x6c\x85\x8e\xab\x40\xe8\x63\x10\xe4\x4a\x9e\x62\xfe\x42\x19\xa6\xc7\xee\x48\x68\x8e\xc5\x80\x1c\x4c\x6e\x51\xba\xd3\x1d\xce\x43\x6a\xa0\x8f\x91\x99\xf6\x63\xfe\x11\x84\x25\x22\x6f\x6c\x2f\x0b\xc7\x09\x0d\x17\xe9\xd0\xff\x43\x2e\x2d\x66\xbe\x6d\x79\x40\x6a\xe7\x51\xe4\x74\x74\xa5\xd8\x73\x78\xf3\x48\x4a\xb4\xd8\x24\x34\x76\xa3\x82\x8b\x80\xe6\xcf\xb5\x44\x09\x07\x6b\xf8\xb6\x2d\x7d\x5f\xff\xe1\x6e\x98\x5e\xd3\x89\xdc\xbf\x5e\x8c\x8b\x8c\xc5\x89\x1a\x93\x84\xae\x38\xbf\x10\x4c\xae\xbe\xe5\xd3\x21\x00\x6c\x8d\xb5\xe6\x00\xa7\x53\x42\xf8\xf1\xdd\x4d\xbb\xf4\xea\xd2\xac\x1b\xcb\xd1\x44\xd2\x95\xae\x77\x1a\xcc\xcb\x48\xeb\x0e\x35\x5a\xa1\xa0\x6e\x6c\x6d\x1c\x42\x85\x5e\xe4\xc2\x8b\xde\xbb\xe3\x14\x98\x98\xc2\x48\x1c\x62\x1e\xfa\xfb\x1d\xfa\x56\x4c\xa0\x82\x22\xcf\x03\xc5\x38\x94\x46\x21\x0f\xca\xbb\x91\x51\x12\x4b\xc7\x8f\x7b\xb4\xc7\x7e\x67\xdb\xd4\x3b\x2b\x72\x76\x09\xd1\x4b\x6b\xb6\x62\x4b\x64\xd1\x18\xa8\x9a\xac\x24\x54\x08\xd8\x5a\x14\xb7\xcc\xd5\x4b\xa1\x77\x78\x09\x1a\xa3\x9b\xe0\x0e\xae\xaf\xd7\x83\x01\xe3\xaa\x9d\x34\x8e\x52\xe1\xdf\x78\x28\x97\x36\xd8\xab\x11\x27\xfc\x2b\xd5\x8e\x8c\x0f\x79\x8b\x8c\x55\x2b\x89\x5f\xf3\x6c\x77\x39\x58\xe1\x4c\x9c\x08\x86\x3b\x8b\x34\xd6\x8f\x55\x10\x84\x06\xfc\x54\x2b\x99\x49\x1f\x56\x3f\x9a\x9a\x5a\x46\x92\x60\x3d\xfb\x2c\xd9\xec\x73\xa4\x8b\xc1\xc6\x07\x63\xdd\xe0\x5d\xf7\x68\xf4\xf6\xad\x26\x01\x6c\xe7\x3f\x48\xc7\x3f\xcf\x46\xbb\x0d\x4a\xe8\xf5\xf9\xbf\x58\x42\x6b\xd5\x5b\x7d\xfc\xe0\x6d\x93\xf9\x37\xe3\x40\xea\x1a\xa8\x41\xf3\x99\x23\xd5\x95\x65\xec\x6e\x5a\x3c\x85\x3b\x23\xa6\xdb\xdd\x85\x51\x9b\xba\x97\x09\x6f\xcb\x5e\x1a\x5c\xb6\x6d\x5e\xb8\xff\x48\xae\xe8\x9a\xd5\xa6\x9b\x0c\x51\xa6\x70\xc9\xc3\x70\x44\xff\x94\xe2\xce\x5b\x59\x5f\x6e\xcd\x45\xe1\xf0\xd7\x61\x10\x24\xae\xba\x7f\xbc\xb4\x3c\x0c\xd1\xff\xfd\xba\x3e\xca\xf0\x94\x74\x51\x99\x43\x60\x8f\x74\x58\xfd\x0b\x8f\xc4\x06\x5d\x63\x23\xd7\xb5\x8d\xfe\xca\xcb\x2a\x5e\xa4\x31\x70\xc6\xf2\xb8\x21\xa6\x2c\x13\xb6\xd9\x0e\xa7\xa8\xc5\x12\x4c\xf1\xda\x53\x8e\x68\x8b\xdc\x71\x78\x59\xba\x0a\xe3\xf9\x15\x0c\xe4\xcb\xe2\x84\xdc\xbb\x0f\xcd\x96\xac\x99\x9b\x22\x44\xc6\xd7\x03\xee\x35\x21\xf4\xfe\xf5\x7c\x31\x2e\x7e\xd0\x0d\x92\xee\x86\x1a\xd6\xcc\x3d\xee\x87\x35\x0c\x50\xb9\xa9\x6a\xd9\x72\x25\x4e\x7d\x55\xed\x8f\x90\x4b\x66\x08\x82\x6a\x43\x20\xdb\x91\xc3\x84\xee\x8c\x4b\x47\xeb\x91\x43\x49\xfc\x40\xbf\xf0\x53\x92\xbb\x5b\x9d\x49\x57\x2d\xc1\x51\x55\x11\x6e\xf4\xf8\xc3\x41\xfa\xac\xdc\x1a\x61\xf3\xcd\x12\x36\xfc\xdd\x3b\x63\x0f\xc2\xe6\x68\x37\x80\x3e\x5b\x9d\x75\xc5\xfd\xd9\xd2\xfd\x39\x52\xea\xc8\x81\x51\x69\x21\x94\xc3\x29\x4d\x7d\x26\xca\x5d\xa7\x37\x56\xec\x08\x56\xbe\x24\x90\x59\xec\xa2\x38\x71\x48\x7f\xac\x65\xc6\x51\xb7\x0d\x0b\xf0\xf1\x1a\xf4\x5d\x38\x9f\x0f\x41\xfc\x4f\xc2\x97\x84\x82\xde\x9f\x6f\xa6\x0d\xd7\x52\x5d\x62\x76\x24\x20\x03\xab\xa5\x1b\x9a\xcd\xd7\x62\x2d\x57\xe9\x26\x19\x97\xda\xfe\x13\x2f\x4c\xa6\x77\x7f\x3d\xcd\xf2\xff\x4e\xed\x7a\x6c\x4a\xb8\x09\x3c\x77\xd3\xcd\x09\x19\x52\x2f\xdc\x24\x87\x19\x4e\x0a\x89\xad\x8d\xa6\x85\x49\x30\x35\x29\xa7\xeb\x7f\xe7\x39\xce\x24\xc5\x4e\xf9\xa6\x9b\xc6\xbc\x7e\x64\x1a\xf3\x36\x8c\x60\xba\xd9\x4a\x1a\xc6\xa8\x30\xcd\x12\x9a\x5a\x34\xfc\xb5\x11\x2a\xfc\x35\x51\xec\x26\xc6\x31\xf7\x17\x0e\x9d\xe2\x45\x70\x98\x0e\x0a\xd5\x8e\x2a\x61\xb3\xc5\xc2\x58\xdc\xf4\x89\x66\xc8\x72\x51\x69\x37\xdb\x1e\xd2\xc1\x9e\xf0\x78\x6f\xbb\xc5\x9d\xd4\x9a\x88\xf1\xe8\x47\x0e\xdd\xcf\x1f\x26\x56\x5f\xe0\xdb\x57\xaf\x20\x58\x39\x3f\x79\xb6\x80\xaf\x1e\xf6\xfb\x8f\x2d\x9c\x92\x33\xfb\x53\xb0\x34\xc4\xe8\x7c\x5c\x5b\xdc\xf3\x6f\x0f\xd2\xeb\x22\xcc\x3c\xc6\x53\xb1\xf4\xfc\x7c\xa7\x74\xe1\x60\x43\xe4\xb9\x03\xe9\x3b\x85\xb1\x1d\x1b\x9c\xbd\x9c\x98\xb0\x3f\x67\xac\x31\x55\x5a\xc7\x75\x95\xda\x7d\xe7\xd0\xfa\xee\x46\x3e\x33\x3a\xb3\xe8\x23\x87\x88\x9e\xea\x2e\x59\x43\x1e\x94\xae\x1d\x2c\x8e\xe5\xc5\x2a\xda\x9b\x21\xb4\x83\x87\x34\x79\x8f\xd2\x2e\x88\x3d\xda\xd6\x4a\xba\x1f\xb4\xf3\x8c\x81\x61\xed\x5f\xac\x61\x1a\x08\xdf\x0a\x4d\xac\xb6\xeb\xe2\x41\xea\xcc\x54\xb5\xf0\xbd\x5f\x1d\xd1\xfe\x2e\x9b\x77\x4e\x5e\xf5\xb2\x69\x7d\x78\x86\xbb\xc2\x07\xe6\x9e\x69\xc5\xc5\x73\x4f\x38\x1f\xe6\x4f\x0c\x9c\x3f\xa6\x67\x27\x56\x2f\x9e\x15\x4b\xae\xa9\x1e\x0d\xa2\x0e\x33\x0f\xe6\xb2\x51\xf0\xfc\x5f\x8d\x6c\x3e\xcb\xd9\x3d\x39\xe9\xb5\x85\xd8\xa1\xce\xd1\xfe\xae\x49\x10\xce\x84\xcc\xf4\xd5\xfd\x25\x57\x04\x66\xdd\x0d\xb5\xc2\x00\x6b\xbe\x78\xf3\xf9\x6e\x12\x06\x60\xe3\x1b\x2a\xfc\x9e\x1a\x81\x98\xa4\xe3\x25\x94\x3e\xc6\x5f\xdd\x99\xf8\xce\x80\xac\x70\x56\x2b\x05\xe5\xf6\x7f\xa3\x35\x97\x10\x95\x16\x6b\x63\x95\xf3\xdf\x72\xc3\x74\xe6\xaa\xe8\xe5\xea\xe5\x1a\xae\x6e\x4a\x1e\x87\xa9\x78\x11\x97\xe2\x30\xc0\x81\x19\x6c\xdf\xf8\x0b\xc2\x33\xfe\x6a\x61\x7e\xd9\x64\x72\x0a\x15\xa7\x3f\x4d\x38\xc1\xfb\x6f\xbe\x24\xba\xff\x4f\x00\x00\x00\xff\xff\xfa\x13\x82\x56\x02\x2c\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x8f\x1b\xb7\x11\x7f\xd7\xa7\x18\x5c\x80\x5a\x4a\x15\x9d\x1f\x8a\x3e\x08\xb1\x5d\xe7\x8f\x8b\x3c\x34\x08\xec\x6b\xfc\x50\x14\x15\xb5\x3b\xab\x65\x8e\x4b\x6e\x48\xae\x64\xf5\x70\xdf\xbd\x98\x21\xb9\xff\xb4\xba\xd3\x5d\x9c\xa2\xa8\x1f\xce\xd2\x2e\x39\x33\x1c\xfe\x38\xf3\x9b\xa1\xae\xbf\xfc\x72\x36\xfb\x02\x6e\x4a\x84\x77\xca\x1c\xe0\x5d\xa3\x77\x72\xab\x10\x6e\xcc\x2d\x6a\x70\x5e\xe8\x5c\xd8\x7c\x36\xfb\xe2\x0b\xd8\xa4\x97\xfc\x6e\x03\x99\xd1\xde\x8a\xcc\xcf\x66\x3c\x7d\x7a\x26\x48\x07\xda\x80\x32\x7a\x87\x16\x84\x06\xa9\x3d\xda\x42\x64\x38\xf3\xa5\xf0\x20\x94\x82\x22\x4d\xf5\x3c\x35\xc9\x75\x70\x30\x8d\xca\xa1\x14\x7b\x7a\x45\xcf\x0b\x63\x2b\xf0\x66\x35\x9b\xfd\x50\x80\x80\xc6\xa1\x75\x70\x10\xda\x3b\x1a\x90\x63\xad\xcc\x11\x04\x68\x3c\x8c\x64\x2d\xc1\x97\x28\x6d\x67\x73\x6e\x90\x0c\xf3\xa0\x11\x73\x9a\x2c\xab\x5a\x61\x85\xda\xd3\x48\x18\x2c\xb5\xb3\x79\x09\xdb\xc6\x47\x51\xac\xc0\xcd\x72\x73\x46\x44\x3b\xc9\x41\x8e\x85\xd4\x98\x83\xd4\xe0\x4b\xe9\x5a\x2b\x56\xc1\xaf\x3f\x8b\x46\xf9\x0d\x58\x74\xa6\xb1\x59\x6f\xe6\x6c\xf6\xbd\xc8\xca\xb1\x7f\xda\x71\xfe\x58\x23\x2b\x77\xa7\xda\xcf\x0b\x8d\x4a\x7f\xb2\x66\x2f\x73\xb4\x9b\x25\x6c\xde\x63\x86\x72\xcf\x9f\x85\xce\x61\xf3\x8d\x50\x42\x67\x38\x35\xdb\xf1\x6e\xbb\xd1\xf2\x32\x25\x2c\x42\x6d\xf1\xab\xcc\xe8\x5c\x7a\x69\xb4\x63\x51\xb5\x71\xbe\xff\x8c\xf7\xdc\xa2\xf3\x56\x66\x7e\x46\x86\xe2\x27\xcc\x1a\x7a\x09\xa6\x60\xcb\x8b\x46\x67\x61\x30\xbb\x0b\x81\x57\xb2\x62\xbd\x47\x20\x3d\x0e\x6b\x61\x85\x47\xd8\x62\x26\x1a\xb2\xc5\xc3\x4e\xee\xd1\xf1\x70\x02\x05\x7f\x10\x5b\xa9\xa4\x3f\x92\x6f\x5c\x29\x2c\xce\x04\x58\x2c\xd0\xa2\xce\x18\x4f\x61\x1b\x59\x7a\xb0\xcb\x68\x75\x04\xfc\x54\x1b\x17\x45\x15\x12\x55\xee\x3a\x8b\x66\x52\x83\xd1\x08\xc6\x42\x65\x2c\x26\x8b\x3b\x57\x10\x30\x09\xd3\xce\x44\x83\x02\x42\x47\xd6\x54\xe2\x16\x21\x6b\x9c\x37\x55\xeb\xe1\xe8\x9a\x76\x13\xc9\x37\x43\x2f\x13\xc0\x0d\xec\x85\x95\xa6\xa1\xd1\x52\xef\x1c\x1c\xa4\x2f\x59\x7c\x40\xe3\x6a\xf6\xce\x58\xc0\x4f\x82\xc4\x2c\x41\x40\x21\x9a\x0c\x3d\x64\x42\xc3\x16\x3b\xe9\x98\xc3\xf6\x98\x0e\x94\xd4\xbb\x59\x70\x07\x24\x50\x0c\xd0\xf2\xe5\xf5\x6c\x26\xab\xda\x58\x0f\x3f\x4b\x3c\xbc\x47\x67\xd4\x1e\x2d\x14\xd6\x54\x70\xd5\x7f\x74\x35\x9b\x5d\x5f\x5f\x0f\x0f\x0f\x3d\x19\x3c\x8d\x01\xa2\xb5\x45\x44\xb4\x58\xec\x05\x0a\x8b\xbf\x36\xd2\x4e\x1d\xab\xe1\x61\x60\xc9\x9d\xb1\xf0\x11\xc1\x79\xa9\x54\x08\x1a\xd2\x83\x70\x83\xa0\x03\x25\xda\x0e\x37\x9e\xbf\x31\xa4\x4c\xc5\xc8\x29\x1a\xc5\x22\x1b\x1f\x76\xab\x42\x5f\x9a\x3c\x6e\x4e\x25\xf4\x11\x6a\x6b\x7e\x41\x0e\x4e\xa4\x26\x28\xa3\x08\x44\x96\xb2\x52\xa3\x47\xb1\xc6\x2d\x59\x64\x8c\x1c\x01\xc2\xdb\x23\x2d\xb6\x42\xa1\x5d\xbb\xd6\x15\x07\xc3\x00\x83\xee\x29\x7d\xe6\x67\xed\x2e\x87\x35\x27\xa7\xb8\xc1\x71\xef\x42\x87\xc8\x32\x74\x6e\x2e\x94\x5a\xb4\x96\x8c\xc2\xda\xdd\x6c\x06\x00\x70\x7d\x0d\x6f\x35\xa0\xf6\xd2\x47\x3f\x17\xc6\x92\x2d\xe6\x20\xf5\x8e\xc5\x13\xcc\x72\x2b\x0e\x42\x31\xe6\x19\x6b\x61\xff\x45\x38\x40\x2c\xa8\xaf\xb2\x2f\xee\x63\x9a\xbd\x55\x98\x54\x5e\x73\xce\xc1\x7d\xd8\xd6\xb0\x64\xac\xa4\x27\x68\x1e\x4a\xd4\x49\x09\x39\x2b\x69\xd7\x8f\xa8\xdc\xf7\x95\xcd\x45\x65\x1a\xed\xd7\xf0\xf7\x77\xf2\xd3\x9f\xff\xb4\xe4\xb9\x6b\x78\x9b\xe7\x16\x9d\x7b\xb3\xe4\xe8\xb9\x86\x0f\xde\x4a\xbd\x5b\xf4\x85\x39\x54\xc5\x82\x70\xc6\x06\x25\x79\xdf\x93\xf4\xa7\x09\x5d\xc3\x37\xc6\x28\xb8\x63\xe1\xf4\x8f\xe4\x9d\x1a\x18\xfe\x4f\xb2\xe8\x6f\x92\x43\x7f\x17\xed\x6c\x8b\xbe\xb1\x1a\xbc\x6d\x90\x9f\xdd\x3f\xc7\x97\x39\xd6\xc6\x49\x1f\x4e\xd6\xc3\x9e\xfc\x2e\x0c\x3d\x59\xb3\x37\xcf\x70\x63\x14\x36\xed\xc5\x07\x24\x4e\xfb\x70\x6c\x5a\x72\x21\x09\xf2\xe6\x77\x74\x9f\xb7\x42\xbb\x02\x2d\x1d\x4c\x06\x23\xa5\x03\x91\x65\xa4\x9e\x3d\xaa\x0d\x05\x95\x33\x1e\xbd\x89\xb3\x1f\x87\xd1\x73\x5c\x9c\xa4\x5f\x88\xd4\xa7\xfa\xfc\xc4\xf8\x49\xdc\x3e\x6f\x03\xd8\xe4\x07\x30\xeb\xbc\x35\x47\xcc\xcf\xb8\xf5\x9b\xc6\xea\x53\x4c\x0d\x9c\x76\xde\x6b\x34\xf9\x0c\x2a\x1f\xf4\x89\x2c\xa2\x03\xe0\xf5\x2b\x78\xb9\x7a\xd9\x7b\xd5\xba\x6c\x60\x58\x8b\xd1\x09\xd7\xdc\x5f\xe2\xa4\x94\x9c\xd3\x83\x01\x7c\xbb\x0c\xc7\x10\x46\xca\xec\x59\xa4\x31\x31\x95\x84\x6c\x41\xb1\x3d\x05\x54\xca\xfc\x49\x48\x3f\xa8\x33\xa9\x49\x09\x86\x73\xc0\xb1\xc6\xd5\x89\xde\x1f\x3c\xb4\x34\x3a\x2a\x1c\xea\x32\x1a\x36\xdb\xc4\x25\x29\xd7\x2e\xdb\xb9\x3d\xea\xa6\x50\x10\x55\x32\x35\x06\xbe\x57\x1b\xe7\x64\x64\x4b\xa6\x80\xcc\xa2\x60\x23\x22\x63\xaa\xa3\x1b\x5c\x67\x3a\xad\x98\x78\x38\xd3\x79\xda\x63\x61\xa5\x3a\x46\x5e\xce\xb9\xd8\x1c\x34\x44\x4b\x86\xeb\xe8\xa3\xe9\x94\xed\x76\x84\x28\xe6\xca\xa4\x32\x79\x10\x5c\xb3\x8d\xc5\xca\xd8\x81\xe6\xa0\xd1\xbe\x70\xbd\x10\x9b\x26\x13\x31\x0e\xfb\xec\x52\x08\xee\x88\x9c\xc5\xca\xec\x39\x3c\x07\x42\xd7\x9b\x38\x10\x72\xd3\xa3\xca\x2f\x5c\x5c\x07\x28\xdc\xa3\xa2\x00\x56\x37\x5b\x25\xb3\x54\xaf\x48\x17\xea\x30\x0f\x82\xfc\xb7\x55\x58\x0d\x84\xa5\xdd\x60\x06\xdc\x1a\x0f\xce\x1b\x9b\x28\x40\xcf\x39\xd1\xa7\x31\xec\x0d\x04\x65\x4c\xb6\xa4\x97\x42\xa9\x23\x64\x81\xd0\xc8\x8e\x42\x3f\xbc\x9e\xa0\xb5\x12\x47\xd8\x59\xa2\x54\x1c\x4b\x93\x9e\x76\x8d\xc4\x5c\x13\x26\x68\x39\x72\x2f\x3c\x8e\xac\xa8\x5b\xba\x1d\x8b\x4c\x73\x70\xe0\x6a\xcc\x64\x21\xb3\x28\x37\x72\x73\x13\xe5\x0e\x24\x30\x0e\xd3\xde\x77\x05\x57\x69\x4d\xb3\x2b\xa1\x57\x48\x5c\xba\xa0\x50\x13\xf0\xaa\xc8\x29\x8f\xac\x89\x37\xef\x92\x25\x91\xac\xd1\x3a\x06\xb6\x0f\x64\x3c\x7d\x1d\xf1\x74\xf4\x09\x5c\x88\x9c\x87\x69\x96\xb5\x58\xc3\x5f\xde\xea\xe3\xfb\xa8\xe8\x8e\xb1\x7d\x3f\x0a\x8d\x54\x13\x8e\x1e\x05\xbd\xb0\xb1\xe8\x62\xd5\x5a\xc4\x35\x05\xe8\x71\x4c\xdc\x0b\xd5\xe0\xc9\xb4\x30\x65\xb5\x43\x1f\xab\xd6\xf9\x02\x5e\xbd\x8a\xd1\x76\x7d\x32\x9c\xfe\x5d\x7d\xec\xe8\x6c\x8c\xe1\x55\xe3\x3c\x55\x48\xa4\xce\x89\x0a\xa9\x6e\xa0\xcf\x31\x66\xa4\x4a\xaf\x63\xa2\xbc\xb2\xab\x89\x45\x0c\x28\xf6\xea\x3c\x83\x1c\x66\x4f\xca\x49\x2b\x46\xcb\x9b\x95\x08\x59\x39\x65\x0a\x7e\xb5\x43\x7f\x73\xac\x71\xbe\x58\xc9\x9c\x62\x72\x21\xd1\x2e\x06\xda\xef\x47\xc9\xa4\x97\x38\x52\x79\xff\xdb\x13\x47\x64\x8f\x13\x79\x43\xea\xb8\x59\x17\xe4\x8d\x8f\x98\xa2\xb5\xd4\x99\x6a\x72\x04\x01\x6d\x8f\x20\x98\x91\x95\x98\xdd\x0e\xb7\x20\xc6\xa8\x56\xca\x01\xdb\xba\x8b\x6a\xed\x4b\x4a\xed\xe0\x86\x50\x4f\xcd\xa0\x17\xb2\x72\x93\x06\x4d\xd7\xd5\x4b\x50\xf2\x16\xc1\xd5\x4a\x72\x21\x56\x41\x53\x53\x18\x6f\x85\x38\xd4\x79\x78\x41\x65\xba\x2c\xf8\x54\x79\xa8\x55\xe8\x0a\xc0\xe5\x19\x27\x6d\xd6\x38\xe3\x44\xd7\x83\x17\xb7\xd8\xa5\x0d\x4a\x25\xf1\x8d\xa3\x5c\x3a\xbd\x0d\x83\x8e\xd1\x43\x07\x9d\x8d\xa2\xf3\x1d\x65\xce\x03\x3a\x27\xce\xf4\x62\x68\xdd\x0e\xfd\x87\xa6\xae\x8d\xf5\x98\xf3\x00\x42\x2b\xe5\x74\xda\x52\xce\x05\x5d\xc2\x53\xd2\x79\x3a\x50\xfb\xd0\x79\xe1\x81\xb1\xc2\xe5\xba\x37\xae\x9f\x4c\xaa\xbd\x9b\x34\x71\x2f\xf1\xc0\x76\x4e\xeb\x9d\x2f\xd6\x70\x77\xc3\xa7\x87\x58\xdb\xfd\xd0\xd6\xf7\xd1\x92\x43\x89\x9c\x07\x8c\x65\x2c\x92\xd7\x08\x48\x3a\xf4\xd5\xa4\x8b\x16\x84\x5e\x09\xbd\x1d\x9c\xa3\x24\xed\x6d\x5a\x07\xc3\x56\xe8\x38\x0b\x84\x3e\x06\x41\xae\xe4\x2e\xe6\x2f\x14\x61\x7a\xec\x8e\x84\xe6\x58\x0c\xc8\xc1\xe4\x12\xa5\x3b\x5d\xe1\x3c\x84\x06\xfa\x18\x99\x69\xff\xcc\x3f\x82\xb0\x44\xe4\x8d\xed\x45\xe1\xd8\xa1\xe1\x24\x1d\xea\x7f\xc8\xa5\xc5\xcc\xb7\x25\x0f\x48\xed\x3c\x8a\x9c\xb6\xae\x14\x7b\x3e\xde\xdc\x92\x12\x2d\x36\x09\x8d\x5d\xab\xe0\x69\x19\xc5\x9f\xab\x8d\x12\x20\xd6\xf0\x6d\x9b\x03\xbf\xfe\xc3\xdd\x30\xce\xa6\xad\xb9\x7f\xbd\x18\x67\x1b\x8b\x13\xc9\x26\x09\x5d\x71\xa0\x21\xbc\x5c\x7d\xcb\xdb\x44\x48\xd8\x1a\x6b\xcd\x01\x4e\xdb\x85\xf0\xe3\xbb\x9b\x76\xea\xd5\xa5\xe1\x37\xe6\xa5\x89\xe8\x2b\x5d\x6f\x5b\x98\xa0\x91\xd6\x1d\x6a\xb4\x42\x41\xdd\xd8\xda\x38\x84\x0a\xbd\xc8\x85\x17\xbd\xb1\xe3\x58\x98\x28\xc3\x48\x1c\x62\x1e\x0a\xfd\x1d\xfa\x56\x4c\xe0\x84\x22\xcf\x03\xd7\x38\x94\x46\x21\x77\xcc\xbb\xde\x51\x12\x4b\x38\xc0\x3d\xda\x63\xbf\xc4\x6d\xea\x9d\x15\x39\xbb\x84\x78\xa6\x35\x5b\xb1\x25\xd6\x68\x0c\x54\x4d\x56\x12\x3c\x04\x6c\x2d\x8a\x5b\x26\xed\xa5\xd0\x3b\xbc\x04\x96\xd1\x4d\x70\x07\xd7\xd7\xeb\x41\xa7\x71\xd5\xb6\x1c\x47\x31\xf1\x6f\xdc\x9d\x4b\x0b\xec\x25\x8b\x13\x22\x96\x92\x48\xc6\x9b\xbc\x45\x06\xad\x95\x44\xb4\xb9\xc9\xbb\x1c\xcc\x70\x26\xb6\x06\xc3\xe5\x45\xea\xef\xc7\x74\x08\x42\x03\x7e\xaa\x95\xcc\xa4\x0f\xb3\x1f\x8d\x51\x2d\x35\x49\xb0\x9e\x7d\x96\xb0\xf6\x39\xe2\xc6\x60\xe1\x83\xfe\x6e\xf0\xae\x7b\x34\x5f\xf4\xad\x26\x01\x6c\xe7\x3f\x48\xc7\x3f\xcf\xe6\x17\x1b\x94\xd0\xf0\xf9\xbf\x58\x42\x6b\xd5\x5b\x7d\xfc\xe0\x6d\x93\xf9\x37\xe3\x83\xd4\x55\x52\x83\x2a\x34\x47\x4a\x30\xcb\x58\xe6\xb4\x78\x0a\x97\x47\xcc\xbb\xbb\x9b\xa3\x36\x86\x2f\x13\xde\x96\xbd\x78\xb8\x6c\xeb\xbd\x70\x11\x92\x5c\xd1\x55\xad\x4d\xd7\x22\xa2\x48\xe1\x92\x87\xe1\x88\xfe\x29\x59\x9e\x97\xb2\xbe\xdc\x9a\x8b\x8e\xc3\x5f\x87\x87\x20\x91\xd6\xfd\xe3\x39\xe6\x61\x88\xfe\xef\x27\xf8\x51\x84\xa7\xa0\x8b\xca\x1c\x02\x8d\xa4\xcd\xea\xdf\x7c\x24\x5a\xe8\x1a\x1b\x49\xaf\x6d\xf4\x57\x5e\x56\xf1\x46\x8d\x81\x33\x96\xc7\x95\x31\x45\x99\xb0\xcc\xb6\x4b\x45\xb5\x96\x60\xae\xd7\xee\x72\x44\x5b\x24\x91\xc3\x5b\xd3\x55\xe8\xd3\xaf\x60\x20\x5f\x16\x27\x2c\xdf\x7d\x68\xb6\x64\xcd\xdc\x14\xe1\x64\x7c\x3d\x20\x61\x13\x42\xef\x5f\xcf\x17\xe3\xe4\x07\x5d\x47\xe9\x6e\xa8\x61\xcd\x24\xe4\x7e\x98\xc3\x00\x95\x9b\xca\x96\x2d\x69\xe2\xd0\x57\xd5\xfe\x08\xb9\x64\xaa\x20\x28\x37\x04\xd6\x1d\xc9\x4c\x28\xd3\x38\x75\xb4\x1e\x39\x94\x44\x14\xf4\x0b\x3f\x25\xb9\xbb\xde\x99\x74\xd5\x12\x1c\x65\x15\xe1\x46\xaf\x3f\x1c\xa4\xcf\xca\xad\x11\x36\xdf\x2c\x61\xc3\xcf\xde\x19\x7b\x10\x36\x47\xbb\x01\xf4\xd9\xea\xac\x2b\xee\xcf\xa6\xee\xcf\x11\x52\x47\x0e\x8c\x4a\x0b\xa1\x1c\x4e\x69\xea\x53\x52\x2e\x3f\xbd\xb1\x62\x47\xb0\xf2\x25\x81\xcc\x62\x77\x8a\x13\x99\xf4\xc7\x5a\x66\x7c\xea\xb6\x61\x02\x3e\x9e\x83\xbe\x0b\xfb\xf3\x21\x88\xff\x49\xf8\x92\x50\xd0\xfb\xfa\x66\xda\x70\x2d\xd5\x25\x66\x47\x02\x32\xb0\x5a\xba\xa1\xd9\x7c\x3f\xd6\x72\x95\xae\xa5\x71\xa9\xed\x3f\xf1\xc4\x64\x7a\xf7\xed\x69\x96\xff\x77\x72\xd7\x63\xed\xc2\x4d\xe0\xb9\x9b\xae\x61\xc8\x90\x7a\xe1\x26\x39\xcc\xb0\x65\x48\x6c\x6d\xd4\x36\x4c\x82\xa9\x5a\x39\x9d\xff\x3b\x37\x74\x26\x29\x76\x8a\x37\x5d\x5b\xe6\xf5\x23\x6d\x99\xb7\xa1\x17\xd3\x35\x59\x52\x57\x46\x85\xb6\x96\xd0\x54\xab\xe1\xaf\x8d\x50\xe1\xdb\x44\xb2\x9b\xe8\xcb\xdc\x5f\xd8\x7d\x8a\x37\xc2\xa1\x4d\x28\x54\xdb\xb3\x84\xcd\x16\x0b\x63\x71\xd3\x27\x9a\x21\xca\x45\xa5\x5d\x93\x7b\x48\x07\x7b\xc2\xe3\x05\xee\x16\x77\x52\x6b\x22\xc6\xa3\x5f\x3b\x74\xbf\x83\x98\x98\x7d\x81\x6f\x5f\xbd\x82\x60\xe5\xfc\xe4\xdd\x02\xbe\x7a\xd8\xef\x3f\xb6\x70\x4a\xce\xec\xb7\xc3\x52\x37\xa3\xf3\x71\x6d\x71\xcf\x3f\x42\x48\xc3\x45\x68\x7e\x8c\xdb\x63\xe9\xfd\xf9\x4a\xe9\xc2\x0e\x87\xc8\x73\x07\xd2\x77\x0a\x63\x39\x36\xd8\x7b\x39\xd1\x6a\x7f\x4e\x7f\x63\x2a\xb5\x8e\xf3\x2a\xd5\xfd\xce\xa1\xf5\xdd\xd5\x7c\x66\x74\x66\xd1\x47\x0e\x11\x3d\xd5\xdd\xb6\x86\x38\x28\x5d\xdb\x61\x1c\xcb\x8b\x59\xb4\xd7\x4c\x68\x3b\x10\xa9\x05\x1f\xa5\x5d\x70\xf6\x68\x59\x2b\xe9\x7e\xd0\xce\x33\x06\x86\xb9\x7f\xb1\x86\x69\x20\x7c\x2b\x34\xb1\xda\xae\x9c\x07\xa9\x33\x53\xd5\xc2\xf7\x7e\x7e\x44\xeb\xbb\xac\xf1\x39\x79\xe7\xcb\xa6\xf5\xe1\x19\x2e\x0d\x1f\x68\x80\xa6\x19\x17\x37\x40\xe1\xfc\x31\x7f\xe2\xc1\xf9\x63\x7a\x77\x62\xf5\xe2\x59\x67\xc9\x35\xd5\xa3\x87\xa8\xc3\xcc\x83\xb1\x6c\x74\x78\xfe\x3f\x7b\x37\x9f\x65\x13\x9f\x1c\xfd\xda\x8c\xec\x50\xe7\x68\x7f\xd7\x68\x08\x67\xce\xce\xf4\x65\xfe\x25\x97\x06\x66\xdd\x75\xb7\x42\x27\x6b\xbe\x78\xf3\xf9\xee\x16\x06\xa8\xe3\x3b\x2b\xfc\x9e\x2a\x82\x18\xad\xe3\xb5\x94\x3e\xc6\xdf\xe1\x99\x38\x66\xc0\x5a\x38\xbc\x95\x82\x82\xfc\xbf\xd1\x9a\x4b\x18\x4b\x1b\xb9\xc7\x2a\xe7\xbf\xe5\xce\xe9\xcc\xe5\xd1\xcb\xd5\xcb\x35\x5c\xdd\x94\xdc\x17\x53\xf1\x6a\x2e\x1d\xc8\x00\x07\xa6\xb2\x7d\xe3\x2f\x38\xa7\xf1\x77\x0c\xf3\xcb\x5a\x94\x53\xa8\x38\xfd\xb1\xc2\x09\xde\x7f\xf3\xb5\xd1\xfd\x7f\x02\x00\x00\xff\xff\x34\x85\xe0\x48\x14\x2c\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x87, 0x3f, 0x79, 0x61, 0xc0, 0x47, 0xbe, 0x4d, 0xda, 0xc7, 0xfe, 0x93, 0xc0, 0x2e, 0xd1, 0xc, 0xf1, 0xa1, 0xe1, 0x81, 0x52, 0xe9, 0x2c, 0x7c, 0x16, 0x4b, 0x60, 0xe2, 0x73, 0xb3, 0xd3, 0xbe}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0x4f, 0xd7, 0xc8, 0xab, 0xa1, 0x86, 0xae, 0xe7, 0xe, 0xd7, 0xf2, 0x2a, 0x7a, 0xbe, 0x3a, 0xf0, 0x13, 0x8b, 0x7c, 0x50, 0xf8, 0x3b, 0x50, 0x21, 0x38, 0xc7, 0x29, 0xeb, 0x15, 0x67, 0x3e}}
 	return a, nil
 }
 

From 0d4b4a912b33ce3f46585e4f63356307caa9739e Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 26 Jul 2023 13:39:18 -0500
Subject: [PATCH 013/115] remove AnyResource

---
 contracts/ExampleToken-v2.cdc              |  2 +-
 contracts/FungibleToken-v2.cdc             | 12 +++++------
 contracts/FungibleTokenMetadataViews.cdc   |  4 ++--
 contracts/MultipleVaults.cdc               |  2 +-
 lib/go/contracts/internal/assets/assets.go | 24 +++++++++++-----------
 5 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 23a804bf..e63d2a64 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -149,7 +149,7 @@ access(all) contract ExampleToken: ViewResolver, MultipleVaults {
         /// was a temporary holder of the tokens. The Vault's balance has
         /// been consumed and therefore can be destroyed.
         ///
-        access(all) fun deposit(from: @AnyResource{FungibleToken.Vault}) {
+        access(all) fun deposit(from: @{FungibleToken.Vault}) {
             let vault <- from as! @ExampleToken.Vault
             self.balance = self.balance + vault.balance
             vault.balance = 0.0
diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index 32a49b37..5902ebda 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -102,7 +102,7 @@ access(all) contract FungibleToken {
         /// capability that allows all users to access the provider
         /// resource through a reference.
         ///
-        access(Withdrawable) fun withdraw(amount: UFix64): @AnyResource{Vault} {
+        access(Withdrawable) fun withdraw(amount: UFix64): @{Vault} {
             post {
                 // `result` refers to the return value
                 result.getBalance() == amount:
@@ -126,7 +126,7 @@ access(all) contract FungibleToken {
 
         /// deposit takes a Vault and deposits it into the implementing resource type
         ///
-        access(all) fun deposit(from: @AnyResource{Vault})
+        access(all) fun deposit(from: @{Vault})
 
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
         access(all) view fun getSupportedVaultTypes(): {Type: Bool}
@@ -181,7 +181,7 @@ access(all) contract FungibleToken {
         access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
             // Below check is implemented to make sure that run-time type would
             // only get returned when the parent resource conforms with `FungibleToken.Vault`. 
-            if self.getType().isSubtype(of: Type<@AnyResource{FungibleToken.Vault}>()) {
+            if self.getType().isSubtype(of: Type<@{FungibleToken.Vault}>()) {
                 return {self.getType(): true}
             } else {
                 // Return an empty dictionary as the default value for resource who don't
@@ -210,7 +210,7 @@ access(all) contract FungibleToken {
         /// withdraw subtracts `amount` from the Vault's balance
         /// and returns a new Vault with the subtracted balance
         ///
-        access(Withdrawable) fun withdraw(amount: UFix64): @AnyResource{Vault} {
+        access(Withdrawable) fun withdraw(amount: UFix64): @{Vault} {
             pre {
                 self.getBalance() >= amount:
                     "Amount withdrawn must be less than or equal than the balance of the Vault"
@@ -226,7 +226,7 @@ access(all) contract FungibleToken {
 
         /// deposit takes a Vault and adds its balance to the balance of this Vault
         ///
-        access(all) fun deposit(from: @AnyResource{FungibleToken.Vault}) {
+        access(all) fun deposit(from: @{FungibleToken.Vault}) {
             // Assert that the concrete type of the deposited vault is the same
             // as the vault that is accepting the deposit
             pre {
@@ -252,7 +252,7 @@ access(all) contract FungibleToken {
 
         /// createEmptyVault allows any user to create a new Vault that has a zero balance
         ///
-        access(all) fun createEmptyVault(): @AnyResource{Vault} {
+        access(all) fun createEmptyVault(): @{Vault} {
             post {
                 result.getBalance() == 0.0: "The newly created Vault must have zero balance"
             }
diff --git a/contracts/FungibleTokenMetadataViews.cdc b/contracts/FungibleTokenMetadataViews.cdc
index d0a0c92d..b80ff1cb 100644
--- a/contracts/FungibleTokenMetadataViews.cdc
+++ b/contracts/FungibleTokenMetadataViews.cdc
@@ -139,7 +139,7 @@ access(all) contract FungibleTokenMetadataViews {
 
         /// Function that allows creation of an empty FT vault that is intended
         /// to store the funds.
-        access(all) let createEmptyVault: fun(): @AnyResource{FungibleToken.Vault}
+        access(all) let createEmptyVault: fun(): @{FungibleToken.Vault}
 
         view init(
             storagePath: StoragePath,
@@ -149,7 +149,7 @@ access(all) contract FungibleTokenMetadataViews {
             receiverLinkedType: Type,
             metadataLinkedType: Type,
             providerLinkedType: Type,
-            createEmptyVaultFunction: fun(): @AnyResource{FungibleToken.Vault}
+            createEmptyVaultFunction: fun(): @{FungibleToken.Vault}
         ) {
             pre {
                 receiverLinkedType.isSubtype(of: Type<&{FungibleToken.Receiver}>()): "Receiver public type must include FungibleToken.Receiver."
diff --git a/contracts/MultipleVaults.cdc b/contracts/MultipleVaults.cdc
index 5d36fedc..f465ae11 100644
--- a/contracts/MultipleVaults.cdc
+++ b/contracts/MultipleVaults.cdc
@@ -16,7 +16,7 @@ access(all) contract interface MultipleVaults {
 
     /// createEmptyVault allows any user to create a new Vault that has a zero balance
     ///
-    access(all) fun createEmptyVault(vaultType: Type): @AnyResource{FungibleToken.Vault} {
+    access(all) fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault} {
         post {
             result.getBalance() == 0.0: "The newly created Vault must have zero balance"
         }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 7f21a8ff..dc6cb6b7 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,12 +1,12 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (10.65kB)
+// ../../../contracts/ExampleToken-v2.cdc (10.639kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
-// ../../../contracts/FungibleToken-v2.cdc (11.284kB)
+// ../../../contracts/FungibleToken-v2.cdc (11.218kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
-// ../../../contracts/FungibleTokenMetadataViews.cdc (7.507kB)
+// ../../../contracts/FungibleTokenMetadataViews.cdc (7.485kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (17.818kB)
-// ../../../contracts/MultipleVaults.cdc (789B)
+// ../../../contracts/MultipleVaults.cdc (778B)
 // ../../../contracts/utility/MetadataViews.cdc (26.308kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (4.828kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.592kB)
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xfa\x80\x3d\x1b\x4d\x9c\xb4\xdb\xf6\x76\x8d\xb8\x69\xb6\x6d\xee\x0e\xd8\x02\x45\x9b\xed\x3e\x14\x45\x43\x4b\x63\x9b\x17\x89\x14\x48\xca\x8e\x37\xc8\x77\x3f\xf0\x9f\x44\xca\x94\xe3\xa6\xdd\xbc\xc4\x96\x38\xc3\xf9\xf3\x9b\xe1\xcc\xd0\xb4\xac\xb8\x50\x70\x51\xb3\x05\x9d\x15\x78\xc9\xaf\x91\xc1\x5c\xf0\x12\x06\xd1\xb3\xa3\xd5\xd3\xc1\x81\x5b\xfc\x0e\x15\xc9\x89\x22\x9f\x28\xae\xa5\x5b\x1c\x3d\x6b\x56\x46\x2c\x52\x64\xfd\x0b\xda\xdd\xea\x42\xd1\xaa\xc0\x4f\xa4\x2e\x54\xb3\x5d\xf4\x70\x9c\xe5\x59\xb3\x5e\x53\x7f\x40\xc9\x8b\x15\x0a\xb7\x3a\x7c\x64\xd7\x1e\x90\x2c\x43\x29\x87\xa4\x28\x46\x90\x71\xa6\x04\xc9\x14\xbc\xbd\x21\x65\xe5\x84\x99\x44\x8c\x0e\xbb\x62\xdc\x1e\x1c\x00\x00\x1c\x1f\x1f\xc3\xe5\x12\x01\x57\xc8\x14\xa8\x25\x51\x40\x25\x60\x49\x95\xc2\x1c\xd6\x4b\x64\xc0\x70\x0d\x4a\x73\x94\x40\x04\x42\x49\x99\xc2\xdc\x10\x87\x32\x58\x06\x66\x67\xf9\xce\x2c\x19\x92\x92\xd7\x4c\x4d\xe0\x8f\x0b\x7a\xf3\xe2\xd9\x21\xa8\x4d\x85\x13\xf8\xa8\x04\x65\x8b\x51\xb0\x3d\x57\xa4\x00\x59\x57\x55\xb1\x01\x3e\x8f\x94\x90\x40\x19\xe0\x0d\x95\x0a\x59\x86\xe1\xa6\x5e\xe7\x11\xac\x88\x00\xa5\x79\x7c\x34\x2c\x26\x70\x7b\x69\x36\xb2\xdb\xde\xb5\x1b\x9d\xe7\x25\x65\xf0\x9e\xa8\xe5\x96\xf4\x05\x2a\xfb\xfa\xa3\xe2\x82\x2c\x50\x2f\xd2\xa2\x36\x5f\x5a\x2e\x17\x35\xcb\x14\xe5\x0c\x14\x07\x81\xaa\x16\x0c\xd4\x12\x8d\x72\xd2\x1a\x50\x7f\x6d\x5c\x42\xb5\x2e\x25\x32\x25\xb7\x36\x5d\x51\x5c\xc3\xbc\x66\xb0\x40\x65\xbc\xa2\xe5\x96\xc3\xd1\x04\x3e\xeb\x4f\x5f\xe0\xd6\x90\xe8\x3f\x2d\x9f\xde\xe1\x5c\x08\xb2\x69\xde\x4f\xed\x87\xd3\x57\xa1\xc9\xc6\x86\xd5\xcb\xe1\xe8\x4b\x43\xed\xc5\xf4\x0c\xcc\x8b\xc0\x30\x86\xc2\x7f\x6b\x9e\xbe\x25\xd9\x12\x6a\x89\x02\xa4\xe2\x02\x25\x10\x06\x94\x49\x45\x58\x86\xda\x4f\x9c\x15\x1b\xa3\xab\x21\xd7\x8e\x52\x4b\xa4\x76\x35\x59\x60\x04\xaf\xb9\x33\x9a\x74\xcb\x1c\x0d\x61\x39\x2c\xf8\x0a\x05\xc3\x1c\x66\x96\x5b\x25\xd0\x3c\xaf\xb8\x54\xda\x8c\x39\x35\x84\x0d\x3b\xca\x3a\xc1\x6e\x40\xaa\x96\xb8\x31\xf0\xcc\x48\x51\x60\x3e\x8e\x76\xcf\x96\x98\x5d\x4b\x58\x92\xaa\x42\x06\x44\x81\xa8\x99\xa2\x25\x1a\x52\xd4\x61\x46\x1a\x09\x35\xfc\x3b\x3c\x1a\x5e\x3a\x98\x6a\x91\xa1\x5e\xc1\xac\xfe\x33\x84\x4c\x20\xd1\xc1\xe2\x34\xd3\x9e\xc7\x1b\xa5\x2d\x14\x01\xc1\x43\x63\xd3\xb0\xd3\xe2\xe6\x38\xa7\xcc\x10\x1f\x82\xe4\xfa\xbd\x40\x2d\x02\xe3\xb0\x26\x1b\x98\x73\x2d\x5b\x49\x0a\x9a\x51\x5e\x4b\xeb\x0e\xc5\xdd\x9e\xd6\x8a\xad\x69\x78\xed\xb6\xa5\x0c\x08\x15\x63\x38\x07\x59\x61\x46\x49\x01\x26\x24\x05\x08\xa7\x01\x30\xc4\x5c\x6a\x4e\xb3\x56\x06\xc5\x4d\x70\x37\xec\xda\xc0\x8f\x4d\x11\x62\xb8\x61\x68\x44\x99\xc4\xae\xb1\x50\xf4\xa9\x26\xf4\x88\x89\x57\x98\x91\xc2\x83\x49\x2d\xa9\x84\x55\x83\xc3\xad\x50\x21\xc2\xaf\xf6\x81\x7d\xd0\x5d\x28\xb1\x98\xdb\x95\xb2\x2f\x88\x7b\x29\xaa\x7a\x56\xd0\xcc\x12\xbc\x6f\x3e\xc7\x72\x7f\x30\x51\x24\x8d\x57\xdd\x0e\x50\x11\xb5\xd4\x28\x12\x68\x1e\x1b\x05\x40\x2e\x79\x5d\xe4\x3a\xdc\xa8\x46\x92\x01\x89\x09\xa1\x3c\xad\x5b\x90\x06\xde\xe0\x5c\xb3\x08\x64\xd6\xe9\x20\xf8\x7a\x16\x24\x85\x20\xb4\xb5\x26\x63\x99\xd0\xf4\xae\x5f\x07\xab\x73\xac\x82\x77\x82\xd7\x61\x49\x56\x08\xc4\x2f\xcd\x48\x45\x66\xb4\xa0\x6a\xb3\xaf\x22\xad\x2d\xb5\x1e\xed\xb7\x5d\x6a\xb4\xbe\x48\x69\xd1\x9b\x40\xf5\x99\x9b\xcc\x9d\x01\x7f\x9b\x2e\xfb\xcf\xec\xf1\xc5\xa5\xfe\xff\x72\x38\x3a\x8c\xc8\xfd\xdf\xfd\xe4\x6f\xa8\xac\x0a\xb2\xf9\x0e\x0e\x26\x66\xde\x10\x45\xa2\x14\xde\x63\x01\xad\xbc\xb0\x47\xbc\xa6\x1f\x7e\x35\x36\x99\x98\x6d\x46\x13\x38\x67\x9b\x8f\x4a\xd4\x99\xea\xda\x5b\xae\xa9\xca\x96\xd6\x80\xb7\x5b\x82\x66\x44\xe2\x3e\x92\x5a\x53\x4d\x92\x8a\x3a\x8b\xdf\xcb\x60\x98\xa4\xd6\x7f\x73\xe5\x8c\x39\xb1\xb8\x08\xf5\xfc\x16\x47\x8c\x80\xc8\x47\xbb\x05\x71\x8b\xcf\xd2\x3e\xb3\xc2\x34\x7e\x79\x90\x38\xa1\x57\xf7\x10\xa8\x59\x7e\x96\x94\x68\xf4\x50\x97\xb5\x56\x49\x7b\x4d\xd7\x19\x25\xe6\x94\xc0\x34\xae\x92\xc7\xef\xf4\xd3\x7e\x67\x19\x1b\xd1\x02\x27\x1d\xb2\xff\x5c\x5e\xbe\xbf\xa0\x05\xee\xa6\xac\x45\x31\x81\xc1\x52\xa9\x4a\x4e\x8e\x8f\x89\x94\xa8\xe4\x78\x8d\x33\x49\x15\x1e\x69\xb6\x72\x9c\xf1\xf2\xf8\xf9\xfc\xc5\xd3\x5f\x9f\x65\x27\xd9\xbf\xc8\x2f\x59\x9e\xbf\x78\xf6\xf3\xec\x49\xf6\xcb\xd3\x93\xce\x0b\xf2\xfc\x79\x36\x7b\x92\xfd\xfa\xf3\x8b\xaf\x17\x05\x5f\x7f\xfd\x93\x8b\xbc\x24\xe2\x7a\x2c\x57\x8b\x41\xaf\x1c\x3d\x01\xab\xff\x8c\x45\x6c\x51\x39\xa0\x25\x59\xe0\xb1\x5c\x2d\x1e\xdf\x94\x45\x9a\xdb\xb6\x77\x22\xd3\xca\xb4\x6d\xe5\xf0\xb3\x79\xfd\x25\x4d\xbe\x4f\x3c\x39\xef\xf6\xdb\x9a\x91\x52\xeb\xe0\xca\xc5\x86\x99\x2d\xdb\x07\xfd\x06\x90\x9b\x72\xc6\xb5\x8b\xde\x5e\x5c\xee\x58\x96\xa3\xcc\x04\xad\x74\x19\x35\x81\xc1\xa5\x3e\x4d\xe6\x7e\x0b\x53\x48\xe8\xca\xa6\x96\x98\x03\x31\xd5\x24\x3a\x39\x14\x87\x25\x16\x15\x6c\x78\x0d\x39\xae\xb0\xe0\xe6\xb3\x00\xa6\x0b\xa9\x8b\x4b\xf8\x07\x67\xda\x93\xe3\x1d\x7b\xe3\x8d\x42\xc1\x48\xf1\xc7\x87\xdf\xbb\x18\x7c\xdb\xbe\x1a\x36\x20\x73\x7b\x1f\xcd\xd5\x98\xb3\xb9\x66\xce\xc5\x62\xb0\x03\x04\x05\x5f\x70\x39\x71\x2e\xdc\x61\x2a\xae\xeb\x2d\x39\x49\xa4\xd5\xf0\x6f\xa0\xd6\xba\xc5\x12\x83\xbd\x84\x75\x8b\x4d\x10\x68\x59\xbf\xce\x0a\x9e\x5d\x67\x4b\x42\xd9\x20\x0d\x17\x30\x67\x46\xea\xe9\x83\x73\x47\x98\xc2\xfa\xb3\x87\x29\x1f\x3e\xe0\x1c\xa6\x51\x23\x37\x26\x59\xa6\xbb\xc1\xf1\x8c\x0b\xc1\xd7\xa7\x3f\xa5\x5a\x16\xdd\xec\x4e\xb6\x6a\x99\x7e\x05\xcf\xce\xa0\x22\x8c\x66\xc3\xc1\x6b\x53\xad\x30\xae\xc0\xf2\x07\x02\x02\xe7\x28\x74\xd7\xa8\xe1\xe5\x6b\x36\xcc\xad\x80\x3d\x56\xdb\xeb\xd0\xf2\x66\xe8\x0f\xb3\xa8\xfe\xec\xaa\xd3\x0f\x1d\x81\x19\xd2\x15\x8a\x80\xae\xad\x85\x76\x65\x27\x2b\xe0\x37\x92\x55\x82\xaf\x68\xee\x77\x3b\xae\x04\x5d\x11\x85\x3e\x2e\x8c\xea\x46\xd5\xfb\xe5\xfd\x9d\xb2\x6b\xcc\x6d\x7e\x34\x30\x4a\x38\xf7\x36\x6e\x0c\x3e\x38\xd2\xbb\xde\x42\x29\xd4\xec\x01\x1b\xfc\x66\x9b\x85\xc3\x68\x08\x32\xf6\x1f\x76\x6f\xeb\x2d\xf3\x80\x6d\xdf\x3b\xd2\xdd\x1b\xd8\xee\xed\x6d\x59\xa9\x8d\x61\xe2\x47\x0a\x13\x18\xce\x6b\xa6\x8b\xd8\x44\x47\x7f\x9b\x68\xad\xee\xee\xc9\x32\x0e\xcf\xa7\x47\x3e\x2a\xc7\xdd\xad\x87\x3b\xd2\x47\xfa\x55\xfc\xf4\x2e\x55\x66\x33\x5a\xf4\x35\x20\x0b\x54\x1f\xeb\xaa\xe2\x42\x61\xde\xce\x3c\x80\x9b\x43\xc3\x34\x4b\xc2\xb5\x28\x04\x0a\x2a\x4d\x3f\x6b\x3b\x92\x68\xc0\x42\x65\x83\x3e\x53\x0f\x57\xae\x0b\x86\x1d\x1d\x42\x62\x5f\x6d\x6a\x37\x2d\xfa\x8d\xf3\xa2\x6b\x4e\x9d\xcf\xa4\xa7\x32\x04\x9d\xe5\x53\xb8\x8d\x0d\x10\xaf\xfe\x6c\x82\x71\x81\x66\xb3\xe1\xe8\x0b\x4c\x41\x89\x1a\x93\x9d\x4f\x44\xb8\x77\xe3\x43\xe5\xb6\x56\x43\xd5\x20\x76\x64\x05\xdd\xd1\x6c\xf5\xd9\xe5\xb3\x32\x5d\xd4\xd9\x19\xcc\x49\x21\x31\xed\x4e\xa0\x8c\x2a\x4a\x0a\xfa\x97\x6d\x7f\x7d\x3f\x4f\x54\x3b\x17\x30\x80\x33\xe3\x32\x5a\xb6\x6c\x34\xe1\xb0\xd3\xd0\x8f\xba\x3d\x8a\x96\xcf\xb3\x9c\x7a\xe6\x5b\x0e\xa2\x39\x32\x45\xe7\x14\x05\x4c\x61\xb0\x95\xbe\x06\xdb\x3c\x83\x64\x0c\xd3\xb0\xb9\x1e\xb6\xbc\x26\x01\xdf\xd1\xa3\x6d\x1e\x6d\x86\x85\x69\xd0\xd7\xde\xcf\xa1\x13\x0f\xff\x46\x15\x99\xce\x4d\x8d\x76\x4c\x42\x02\x44\xbb\x24\xa7\x51\x6c\x4d\xb8\xc3\xd1\x5d\xf3\x75\xe4\x58\x53\xb5\xcc\x05\x59\x87\x0f\xa3\x05\xed\xd8\xd3\x44\x20\xb9\xb6\x03\x41\x3b\xe3\x75\xf5\x1c\x11\x8b\xba\x44\xa6\x22\x42\xc2\xf2\x86\xbb\x8b\x5f\x47\x64\x66\xdb\xcd\x30\x70\xdc\xbb\xf5\x7f\x95\xcb\x98\x3a\x29\x98\xa1\x14\x96\x15\x17\x44\x6c\xdc\x18\xd1\x8f\xad\x4d\x69\xa9\x8b\x49\x5e\xe4\x11\x07\x33\xa0\xb5\xf3\x64\x2b\x80\x40\x98\x21\x65\x0b\x50\x82\x30\x39\x47\x21\x30\x1f\xeb\x8d\x44\x30\x20\x61\xb8\x2e\x36\x11\x1f\x3f\xea\x73\xdb\xf2\x68\xe0\x67\x38\xdb\xd1\x21\x48\x0e\x54\x99\x29\xa1\x99\xaf\x55\x5c\x77\x32\xb1\x4c\x58\x48\x34\x63\x97\xb4\xe2\xce\xe7\x71\xd2\xff\xd3\xd9\x91\xcc\x0a\xb4\xcd\xbf\xb7\x6c\x67\xd8\xfe\xf0\x23\xa4\x13\x75\xd1\xd7\x23\xe7\xb9\x14\xc8\x4e\x8f\xc2\x99\x64\x1b\xdb\x96\x62\xd4\x87\x3b\x67\x9b\x6f\x83\x9d\xb3\x3f\x9f\xfd\x0f\xb3\x2e\xf6\x0c\xde\x48\x9e\xcb\x88\x0d\x55\xb2\x09\x31\xe7\xb6\x4e\xc4\xf1\x35\x43\x21\xf7\x80\x22\x95\x40\x8a\x82\xaf\x2d\xd4\x72\x94\x4a\x70\x3b\xb9\x96\x7a\x7b\x2b\xda\x0c\x33\x52\x4b\x6c\xd1\x1d\x07\x9b\x16\x39\x40\xb1\xc6\x2b\x0a\x2f\x89\x1b\xb9\x9a\x39\xa9\xa1\xfd\x67\x2b\xfb\x92\xc4\x7a\xcd\x10\x99\x06\xa0\xac\x4b\xdd\x55\xb1\xdc\x4e\x90\xe7\xdc\x4c\xc2\x1d\xfa\x8c\x84\x7e\x9e\xdd\x83\xb3\x66\x9a\xe4\x1c\xe2\x6a\xf1\x57\xe7\x6c\xe3\xa7\xde\x49\xf4\x74\x93\x76\xd3\x02\xc0\xe9\x91\x0d\x70\x22\x1f\xa5\xb0\xb8\x37\xe8\x1e\x5b\x7e\x5b\x09\x4c\xff\x45\x6f\x60\x0a\x27\xe3\x93\xe8\xbd\xf7\x4e\x9c\x4e\x77\xcc\xd2\x7c\x3a\xd8\xba\xbb\xf2\xd5\xc6\x04\x5e\x37\x43\xd0\xd3\x9f\x7a\xab\xda\x94\x59\x3c\xef\x4f\xde\x3c\x46\xcd\xad\x00\xf6\x01\x13\xd1\xbb\x93\x22\xd1\xd5\x08\xcc\x68\x45\x91\x69\x94\xf8\xfd\xb7\xb6\xf6\xd2\xdb\xbe\xcc\x7f\x73\xbd\x58\xa2\x04\xdc\xd1\x58\x35\x65\xd7\x4e\x49\x3e\xb9\x26\xab\xab\xc4\x1b\x8b\x2e\xb3\xde\x6b\xce\x7c\x6a\x76\x17\x28\x21\x1f\x91\xd2\x28\xd0\x66\x1c\xc3\xf5\xf4\x28\x32\x72\x6f\xd6\xe9\x56\xc1\x7b\xa6\x9f\xf8\x14\xb2\x7e\xd4\x5a\x00\x09\xb3\xc9\x5f\x28\xf8\xd6\x09\xe8\xcf\x15\xda\x1e\x1b\xa4\x28\xf4\x09\xe4\x8e\x8f\x31\x9c\xdb\xdb\x9d\xb2\x96\xf6\x18\xb1\x65\xae\xbf\x97\xda\xe2\x68\xda\x59\x67\x30\xcd\xbb\x39\x96\xba\x17\x71\xfa\x01\x17\xb9\xbd\x38\x32\xa9\xcb\xbe\x8f\x39\xda\xf6\xdc\xdd\x08\x11\x3b\xb1\xf1\x96\xf6\x49\x41\x36\x37\x35\x76\x9a\xa3\x6b\xc4\xfd\xb2\xca\x76\xdb\xf1\xe0\x03\xea\x9e\xf3\xe6\x64\x7c\x92\x74\xbb\x4b\x05\xc3\x6e\x64\xd2\x79\x9c\x6e\x5e\x6a\x0e\x89\xb6\x2a\x12\x36\xb8\x6e\x4e\xd4\xf8\xfb\x2e\x7d\x04\x47\xe9\xda\x0c\xa2\xc6\xca\x7e\x0a\xae\x6b\xed\x5d\xde\x01\xf4\xdc\x4e\xfa\x73\xd1\x9e\x98\xc6\x51\xc4\xdc\x7c\x3b\x1f\xdb\xdb\x4b\x7d\xe6\xf8\x1b\xbf\x6f\xbb\xe9\x73\x57\x89\xb7\x11\x7e\x34\x1b\x7b\x63\xbf\x67\x2c\x69\x02\x19\x6c\x7c\x68\x0e\x6d\x8d\xcc\xd2\x47\x88\x0a\x7e\x18\x70\xd8\x1b\x51\x21\x45\x37\xa6\xf6\xc2\x66\x2b\xfa\x5e\x45\x54\x07\x1b\x7f\x0b\x2e\x1e\xa7\x0a\x2d\x2c\x69\xcf\x0f\x2c\xec\x7f\xff\x03\x8b\x98\xdb\x38\xe8\x42\xbe\xaf\x6e\xeb\xa0\x30\x99\x43\x43\x3c\x7e\x57\xee\xfc\xb1\x79\xf3\xc7\xe6\xcc\x1f\x90\x2f\x53\x01\x96\xcc\x93\x2b\xdf\x93\x37\x0d\xfd\xab\xfb\x92\xa4\xbf\xdb\xf3\x94\x1d\xc0\xb6\xd3\xde\xf4\xcf\x46\xb6\x47\xbb\x0d\x52\x60\x8f\x94\x0b\x26\xd7\x9a\xcb\xdf\xef\xe4\x14\x21\xce\x0c\x0c\xc2\xdc\x6d\x50\x1e\x04\x51\x3c\x8b\xe9\xbe\xdd\xf9\x3b\x19\x98\xc2\x93\x93\x13\x5d\x3b\xc6\xf4\xdd\x1f\x04\xc1\x14\x8e\x1d\x3e\xa2\x31\xa9\xfd\x5d\x51\x34\x18\x79\x6d\xd5\x6b\x7f\xe9\x62\xa0\xde\x4d\x6a\x06\x1e\xee\x97\x55\x1a\x9d\x64\x85\x1a\xe8\x94\x45\xbf\xa1\xb1\x2c\x9b\x8f\x51\x85\x9d\x36\xe3\x37\x69\xff\x68\x14\x6b\xed\x07\xf5\x5a\x9a\xa1\x9b\x1c\x1e\x82\xe2\x93\xb4\xf2\xae\xd0\x4a\x28\x9f\xf8\xd9\x40\x67\x14\x1f\x74\xef\x78\x53\x71\x89\xe1\xe1\x61\x16\x5e\xb9\x48\xba\x82\x12\xd5\x92\xdb\x16\x67\x81\xea\xdc\xcc\xfc\xdc\xb4\xcc\xbf\x53\x4b\xc1\xeb\x85\x35\xf3\x95\xaf\x85\xaf\xc0\x1c\x57\x73\x92\x85\xd6\xf4\xad\x12\x5c\x85\x63\x94\xab\x24\x27\xf7\x3a\xcd\x28\x6d\xbb\x82\xb2\xeb\xde\xee\xe0\x10\x92\xa3\xea\xbb\x97\xf1\x85\xc2\xb1\xb5\xde\x7d\x03\x79\x45\xc4\x02\xd5\x2e\xe7\x34\xcb\x03\x2f\x69\x10\xd9\xa2\xa0\x05\x91\x3d\xd7\x87\xbb\xe1\x60\x88\x2c\x1c\x92\x31\x32\x72\x41\x7b\x77\x00\xff\x0f\x00\x00\xff\xff\x69\x35\x17\x52\x9a\x29\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x6d\x6f\xdb\x38\xf2\x7f\x9f\x4f\x31\xf5\x1f\xd8\xbf\x8d\x4d\x94\xec\x53\x6f\xd7\x88\x9b\xcd\x6e\x9b\xbb\x03\xb6\x40\xd1\x66\xbb\x2f\x8a\xa2\xa1\xa5\xb1\xcd\x8b\x44\x0a\x24\x65\xc7\x1b\xe4\xbb\x1f\xf8\x24\x91\x32\xe5\xb8\x69\x2f\x6f\x62\x4b\x9c\xe1\x3c\xfc\x66\x38\x33\x34\xad\x6a\x2e\x14\x5c\x35\x6c\x49\xe7\x25\x5e\xf3\x5b\x64\xb0\x10\xbc\x82\x51\xf4\xec\x64\xfd\xfd\xe8\xc8\x2d\x7e\x8d\x8a\x14\x44\x91\xf7\x14\x37\xd2\x2d\x8e\x9e\xb5\x2b\x23\x16\x29\xb2\xe1\x05\xdd\x6e\x4d\xa9\x68\x5d\xe2\x7b\xd2\x94\xaa\xdd\x2e\x7a\x98\xe5\x45\xde\xae\xd7\xd4\x6f\x51\xf2\x72\x8d\xc2\xad\x0e\x1f\xd9\xb5\x47\x24\xcf\x51\xca\x31\x29\xcb\x09\xe4\x9c\x29\x41\x72\x05\xaf\xee\x48\x55\x3b\x61\xa6\x11\xa3\xe3\xbe\x18\xf7\x47\x47\x00\x00\xa7\xa7\xa7\x70\xbd\x42\xc0\x35\x32\x05\x6a\x45\x14\x50\x09\x58\x51\xa5\xb0\x80\xcd\x0a\x19\x30\xdc\x80\xd2\x1c\x25\x10\x81\x50\x51\xa6\xb0\x30\xc4\xa1\x0c\x96\x81\xd9\x59\xbe\x36\x4b\xc6\xa4\xe2\x0d\x53\x53\xf8\xf3\x8a\xde\x3d\xff\xf1\x18\xd4\xb6\xc6\x29\xbc\x53\x82\xb2\xe5\x24\xd8\x9e\x2b\x52\x82\x6c\xea\xba\xdc\x02\x5f\x44\x4a\x48\xa0\x0c\xf0\x8e\x4a\x85\x2c\xc7\x70\x53\xaf\xf3\x04\xd6\x44\x80\xd2\x3c\xde\x19\x16\x53\xb8\xbf\x36\x1b\xd9\x6d\x1f\xba\x8d\x2e\x8b\x8a\x32\x78\x43\xd4\x6a\x47\xfa\x12\x95\x7d\xfd\x4e\x71\x41\x96\xa8\x17\x69\x51\xdb\x2f\x1d\x97\xab\x86\xe5\x8a\x72\x06\x8a\x83\x40\xd5\x08\x06\x6a\x85\x46\x39\x69\x0d\xa8\xbf\xb6\x2e\xa1\x5a\x97\x0a\x99\x92\x3b\x9b\xae\x29\x6e\x60\xd1\x30\x58\xa2\x32\x5e\xd1\x72\xcb\xf1\x64\x0a\x1f\xf4\xa7\x8f\x70\x6f\x48\xf4\x9f\x96\x4f\xef\x70\x29\x04\xd9\xb6\xef\x67\xf6\xc3\xf9\xaf\xa1\xc9\x32\xc3\xea\xc5\x78\xf2\xb1\xa5\xf6\x62\x7a\x06\xe6\x45\x60\x18\x43\xe1\xbf\xb5\x4f\x5f\x91\x7c\x05\x8d\x44\x01\x52\x71\x81\x12\x08\x03\xca\xa4\x22\x2c\x47\xed\x27\xce\xca\xad\xd1\xd5\x90\x6b\x47\xa9\x15\x52\xbb\x9a\x2c\x31\x82\xd7\xc2\x19\x4d\xba\x65\x8e\x86\xb0\x02\x96\x7c\x8d\x82\x61\x01\x73\xcb\xad\x16\x68\x9e\xd7\x5c\x2a\x6d\xc6\x82\x1a\xc2\x96\x1d\x65\xbd\x60\x37\x20\x55\x2b\xdc\x1a\x78\xe6\xa4\x2c\xb1\xc8\xa2\xdd\xf3\x15\xe6\xb7\x12\x56\xa4\xae\x91\x01\x51\x20\x1a\xa6\x68\x85\x86\x14\x75\x98\x91\x56\x42\x0d\xff\x1e\x8f\x96\x97\x0e\xa6\x46\xe4\xa8\x57\x30\xab\xff\x1c\x21\x17\x48\x74\xb0\x38\xcd\xb4\xe7\xf1\x4e\x69\x0b\x45\x40\xf0\xd0\xd8\xb6\xec\xb4\xb8\x05\x2e\x28\x33\xc4\xc7\x20\xb9\x7e\x2f\x50\x8b\xc0\x38\x6c\xc8\x16\x16\x5c\xcb\x56\x91\x92\xe6\x94\x37\xd2\xba\x43\x71\xb7\xa7\xb5\x62\x67\x1a\xde\xb8\x6d\x29\x03\x42\x45\x06\x97\x20\x6b\xcc\x29\x29\xc1\x84\xa4\x00\xe1\x34\x00\x86\x58\x48\xcd\x69\xde\xc9\xa0\xb8\x09\xee\x96\x5d\x17\xf8\xb1\x29\x42\x0c\xb7\x0c\x8d\x28\xd3\xd8\x35\x16\x8a\x3e\xd5\x84\x1e\x31\xf1\x0a\x73\x52\x7a\x30\xa9\x15\x95\xb0\x6e\x71\xb8\x13\x2a\x44\xf8\xd5\x3e\xb0\x8f\xfa\x0b\x25\x96\x0b\xbb\x52\x0e\x05\xf1\x20\x45\xdd\xcc\x4b\x9a\x5b\x82\x37\xed\xe7\x58\xee\xb7\x26\x8a\xa4\xf1\xaa\xdb\x01\x6a\xa2\x56\x1a\x45\x02\xcd\x63\xa3\x00\xc8\x15\x6f\xca\x42\x87\x1b\xd5\x48\x32\x20\x31\x21\x54\xa4\x75\x0b\xd2\xc0\x4b\x5c\x68\x16\x81\xcc\x3a\x1d\x04\x5f\x2f\x82\xa4\x10\x84\xb6\xd6\x24\x93\x09\x4d\x1f\x86\x75\xb0\x3a\xc7\x2a\x78\x27\x78\x1d\x56\x64\x8d\x40\xfc\xd2\x9c\xd4\x64\x4e\x4b\xaa\xb6\x87\x2a\xd2\xd9\x52\xeb\xd1\x7d\xdb\xa7\x46\xe7\x8b\x94\x16\x83\x09\x54\x9f\xb9\xc9\xdc\x19\xf0\xb7\xe9\x72\xf8\xcc\xce\xae\xae\xf5\xff\x17\xe3\xc9\x71\x44\xee\xff\x1e\x27\x7f\x49\x65\x5d\x92\xed\x17\x70\x30\x31\xf3\x92\x28\x12\xa5\xf0\x01\x0b\x68\xe5\x85\x3d\xe2\x35\xfd\xf8\x93\xb1\xc9\xd4\x6c\x33\x99\xc2\x25\xdb\xbe\x53\xa2\xc9\x55\xdf\xde\x72\x43\x55\xbe\xb2\x06\xbc\xdf\x11\x34\x27\x12\x0f\x91\xd4\x9a\x6a\x9a\x54\xd4\x59\xfc\x51\x06\xe3\x24\xb5\xfe\x5b\x28\x67\xcc\xa9\xc5\x45\xa8\xe7\xe7\x38\x62\x02\x44\x3e\xdb\x2f\x88\x5b\x7c\x91\xf6\x99\x15\xa6\xf5\xcb\x93\xc4\x09\xbd\x7a\x80\x40\xed\xf2\x8b\xa4\x44\x93\xa7\xba\xac\xb3\x4a\xda\x6b\xba\xce\xa8\xb0\xa0\x04\x66\x71\x95\x9c\xbd\xd6\x4f\x87\x9d\x65\x6c\x44\x4b\x9c\xf6\xc8\xfe\x75\x7d\xfd\xe6\x8a\x96\xb8\x9f\xb2\x11\xe5\x14\x46\x2b\xa5\x6a\x39\x3d\x3d\x25\x52\xa2\x92\xd9\x06\xe7\x92\x2a\x3c\xd1\x6c\x65\x96\xf3\xea\xf4\xa7\xc5\xf3\xef\x7f\xf9\x31\x3f\xcb\xff\x41\x7e\xce\x8b\xe2\xf9\x8f\x3f\xcc\xbf\xcb\x7f\xfe\xfe\xac\xf7\x82\xfc\xf4\x53\x3e\xff\x2e\xff\xe5\x87\xe7\x9f\xae\x4a\xbe\xf9\xf4\x17\x17\x45\x45\xc4\x6d\x26\xd7\xcb\xd1\xa0\x1c\x03\x01\xab\xff\x8c\x45\x6c\x51\x39\xa2\x15\x59\xe2\xa9\x5c\x2f\xbf\xbd\xab\xca\x34\xb7\x5d\xef\x44\xa6\x95\x69\xdb\xca\xf1\x07\xf3\xfa\x63\x9a\xfc\x90\x78\x72\xde\x1d\xb6\x35\x23\x95\xd6\xc1\x95\x8b\x2d\x33\x5b\xb6\x8f\x86\x0d\x20\xb7\xd5\x9c\x6b\x17\xbd\xba\xba\xde\xb3\xac\x40\x99\x0b\x5a\xeb\x32\x6a\x0a\xa3\x6b\x7d\x9a\x2c\xfc\x16\xa6\x90\xd0\x95\x4d\x23\xb1\x00\x62\xaa\x49\x74\x72\x28\x0e\x2b\x2c\x6b\xd8\xf2\x06\x0a\x5c\x63\xc9\xcd\x67\x01\x4c\x17\x52\x57\xd7\xf0\x7f\x9c\x69\x4f\x66\x7b\xf6\xc6\x3b\x85\x82\x91\xf2\xcf\xb7\x7f\xf4\x31\xf8\xaa\x7b\x35\x6e\x41\xe6\xf6\x3e\x59\xa8\x8c\xb3\x85\x66\xce\xc5\x72\xb4\x07\x04\x25\x5f\x72\x39\x75\x2e\xdc\x63\x2a\xae\xeb\x2d\x39\x4d\xa4\xd5\xf0\x6f\xa4\x36\xba\xc5\x12\xa3\x83\x84\x75\x8b\x4d\x10\x68\x59\x3f\xcd\x4b\x9e\xdf\xe6\x2b\x42\xd9\x28\x0d\x17\x30\x67\x46\xea\xe9\x93\x73\x47\x98\xc2\x86\xb3\x87\x29\x1f\xde\xe2\x02\x66\x51\x23\x97\x91\x3c\xd7\xdd\x60\x36\xe7\x42\xf0\xcd\xf9\x37\xa9\x96\x45\x37\xbb\xd3\x9d\x5a\x66\x58\xc1\x8b\x0b\xa8\x09\xa3\xf9\x78\xf4\xbb\xa9\x56\x18\x57\x60\xf9\x03\x01\x81\x0b\x14\xba\x6b\xd4\xf0\xf2\x35\x1b\x16\x56\xc0\x01\xab\x1d\x74\x68\x79\x33\x0c\x87\x59\x54\x7f\xf6\xd5\x19\x86\x8e\xc0\x1c\xe9\x1a\x45\x40\xd7\xd5\x42\xfb\xb2\x93\x15\xf0\x33\xc9\x6a\xc1\xd7\xb4\xf0\xbb\x9d\xd6\x82\xae\x89\x42\x1f\x17\x46\x75\xa3\xea\xe3\xf2\xfe\x41\xd9\x2d\x16\x36\x3f\x1a\x18\x25\x9c\x7b\x1f\x37\x06\x6f\x1d\xe9\xc3\x60\xa1\x14\x6a\xf6\x84\x0d\x7e\xb3\xcd\xc2\x71\x34\x04\xc9\xfc\x87\xfd\xdb\x7a\xcb\x3c\x61\xdb\x37\x8e\x74\xff\x06\xb6\x7b\x7b\x55\xd5\x6a\x6b\x98\xf8\x91\xc2\x14\xc6\x8b\x86\xe9\x22\x36\xd1\xd1\xdf\x27\x5a\xab\x87\x47\xb2\x8c\xc3\xf3\xf9\x89\x8f\xca\xac\xbf\xf5\x78\x4f\xfa\x48\xbf\x8a\x9f\x3e\xa4\xca\x6c\x46\xcb\xa1\x06\x64\x89\xea\x5d\x53\xd7\x5c\x28\x2c\xba\x99\x07\x70\x73\x68\x98\x66\x49\xb8\x16\x85\x40\x49\xa5\xe9\x67\x6d\x47\x12\x0d\x58\xa8\x6c\xd1\x67\xea\xe1\xda\x75\xc1\xb0\xa7\x43\x48\xec\xab\x4d\xed\xa6\x45\xbf\x71\x5e\xf6\xcd\xa9\xf3\x99\xf4\x54\x86\xa0\xb7\x7c\x06\xf7\xb1\x01\xe2\xd5\x1f\x4c\x30\x2e\xd1\x6c\x36\x9e\x7c\x84\x19\x28\xd1\x60\xb2\xf3\x89\x08\x0f\x6e\x7c\xa8\xdc\xd5\x6a\xac\x5a\xc4\x4e\xac\xa0\x7b\x9a\xad\x21\xbb\x7c\x50\xa6\x8b\xba\xb8\x80\x05\x29\x25\xa6\xdd\x09\x94\x51\x45\x49\x49\xff\xb6\xed\xaf\xef\xe7\x89\xea\xe6\x02\x06\x70\x66\x5c\x46\xab\x8e\x8d\x26\x1c\xf7\x1a\xfa\x49\xbf\x47\xd1\xf2\x79\x96\x33\xcf\x7c\xc7\x41\xb4\x40\xa6\xe8\x82\xa2\x80\x19\x8c\x76\xd2\xd7\x68\x97\x67\x90\x8c\x61\x16\x36\xd7\xe3\x8e\xd7\x34\xe0\x3b\x79\xb6\xcb\xa3\xcb\xb0\x30\x0b\xfa\xda\xc7\x39\xf4\xe2\xe1\x9f\xa8\x22\xd3\xb9\xa9\xd1\x9e\x49\x48\x80\x68\x97\xe4\x34\x8a\xad\x09\xf7\x38\xba\x6f\xbe\x9e\x1c\x1b\xaa\x56\x85\x20\x9b\xf0\x61\xb4\xa0\x1b\x7b\x9a\x08\x24\xb7\x76\x20\x68\x67\xbc\xae\x9e\x23\x62\xd9\x54\xc8\x54\x44\x48\x58\xd1\x72\x77\xf1\xeb\x88\xcc\x6c\xbb\x1d\x06\x66\x83\x5b\xff\x5b\xb9\x8c\xa9\x93\x82\x19\x4a\x61\x55\x73\x41\xc4\xd6\x8d\x11\xfd\xd8\xda\x94\x96\xba\x98\xe4\x65\x11\x71\x30\x03\x5a\x3b\x4f\xb6\x02\x08\x84\x39\x52\xb6\x04\x25\x08\x93\x0b\x14\x02\x8b\x4c\x6f\x24\x82\x01\x09\xc3\x4d\xb9\x8d\xf8\xf8\x51\x9f\xdb\x96\x47\x03\x3f\xc3\xd9\x8e\x0e\x41\x72\xa0\xca\x4c\x09\xcd\x7c\xad\xe6\xba\x93\x89\x65\xc2\x52\xa2\x19\xbb\xa4\x15\x77\x3e\x8f\x93\xfe\x5f\xce\x8e\x64\x5e\xa2\x6d\xfe\xbd\x65\x7b\xc3\xf6\xa7\x1f\x21\xbd\xa8\x8b\xbe\x9e\x38\xcf\xa5\x40\x76\x7e\x12\xce\x24\xbb\xd8\xb6\x14\x93\x21\xdc\x39\xdb\x7c\x1e\xec\x9c\xfd\xf9\xfc\x3f\x98\xf7\xb1\x67\xf0\x46\x8a\x42\x46\x6c\xa8\x92\x6d\x88\x39\xb7\xf5\x22\x8e\x6f\x18\x0a\x79\x00\x14\xa9\x04\x52\x96\x7c\x63\xa1\x56\xa0\x54\x82\xdb\xc9\xb5\xd4\xdb\x5b\xd1\xe6\x98\x93\x46\x62\x87\xee\x38\xd8\xb4\xc8\x01\x8a\x35\x5e\x51\x78\x49\xdc\xc8\xd5\xcc\x49\x0d\xed\xff\x77\xb2\xaf\x48\xac\xd7\x1c\x91\x69\x00\xca\xa6\xd2\x5d\x15\x2b\xec\x04\x79\xc1\xcd\x24\xdc\xa1\xcf\x48\xe8\xe7\xd9\x03\x38\x6b\xa7\x49\xce\x21\xae\x16\xff\x35\x09\x99\x7e\xa6\x6e\xeb\x7e\x38\x3f\xb1\x51\x4d\xe4\xb3\x14\x00\x0f\x46\xda\xb7\x96\xdf\x4e\xd6\xd2\x7f\xd1\x1b\x98\xc1\x59\x76\x16\xbd\xf7\x2e\x89\x73\xe8\x9e\x01\x9a\xcf\x01\x3b\x17\x56\xbe\xc4\x98\xc2\xef\xed\xe4\xf3\xfc\x9b\xc1\x52\x36\x65\x16\xcf\xfb\xbd\x37\x8f\x51\x73\x27\x6a\x7d\x94\x44\xf4\xee\x78\x48\xb4\x32\x02\x73\x5a\x53\x64\x1a\x1a\x7e\xff\x9d\xad\xbd\xf4\xb6\x19\xf3\xdf\x5c\x03\x96\xa8\xfb\xf6\x74\x53\x6d\xad\xb5\x57\x92\xf7\xae\xb3\xea\x2b\xf1\xd2\x42\xca\xac\xf7\x9a\x33\x9f\x8f\xdd\xad\x49\xc8\x47\xa4\x34\x0a\xb4\xc9\x62\x8c\x9e\x9f\x44\x46\x1e\x4c\x35\xfd\xd2\xf7\xc0\x9c\x13\x1f\x3d\xd6\x8f\x5a\x0b\x20\x61\x0a\xf9\x1b\x05\xdf\x39\xf6\xfc\x61\x42\xbb\xb3\x82\x94\xa5\x3e\x76\xdc\x99\x91\xc1\xa5\xbd\xd2\xa9\x1a\x69\xcf\x0e\x5b\xdb\xfa\xcb\xa8\x1d\x8e\xa6\x87\x75\x06\xd3\xbc\xdb\xb3\xa8\x7f\xfb\xa6\x1f\x70\x51\xd8\xdb\x22\x93\xaf\xec\xfb\x98\xa3\xed\xc9\xdd\x35\x10\xb1\x63\x1a\x6f\x69\x9f\x09\x64\x7b\x3d\x63\x47\x38\xba\x30\x3c\x2c\x95\xec\xf6\x1a\x4f\x3e\x95\x1e\x39\x64\xce\xb2\xb3\xa4\xdb\x5d\x2a\x18\xf7\x23\x93\x2e\xe2\x74\xf3\x42\x73\x48\xf4\x52\x91\xb0\xc1\x1d\x73\xa2\xb0\x3f\x74\xe9\x33\x38\x49\x17\x64\x10\x75\x53\xf6\x53\x70\x47\x6b\x2f\xf0\x8e\x60\xe0\x4a\xd2\x1f\x86\xf6\x98\x34\x8e\x22\xe6\xba\xdb\xf9\xd8\x5e\x59\xea\x83\xc6\x5f\xf3\x7d\xde\xf5\x9e\xbb\x3f\xbc\x8f\xf0\xa3\xd9\xd8\x6b\xfa\x03\x63\x49\x13\xc8\x60\xe3\x63\x73\x52\x6b\x64\x56\x3e\x42\x54\xf0\x6b\x80\xe3\xc1\x88\x0a\x29\xfa\x31\x75\x10\x36\x3b\xd1\x0f\xaa\x9c\x7a\xd8\xf8\x9f\xe0\xe2\xdb\x54\x75\x85\x15\x1d\xf8\x55\x85\xfd\xef\x7f\x55\x11\x73\xcb\x82\xd6\xe3\xcb\x8a\xb5\x1e\x0a\x93\x39\x34\xc4\xe3\x17\xe5\xce\xaf\x9b\x37\xbf\x6e\xce\xfc\x0a\xf9\x32\x15\x60\xc9\x3c\xb9\xf6\x8d\x78\xdb\xc5\xa7\xeb\xb0\x00\x95\xfe\x42\xcf\x53\xf6\x00\xdb\x8d\x78\xd3\xbf\x15\xd9\x9d\xe7\xb6\x48\x81\x03\x52\x2e\x98\x5c\x6b\x6e\x7c\xbf\x90\x53\x84\x38\x33\x25\x08\x73\xb7\x41\x79\x10\x44\xf1\x00\xa6\xff\x76\xef\x8f\x63\x60\x06\xdf\x9d\x9d\xe9\xda\x31\xa6\xef\xff\x0a\x08\x66\x70\xea\xf0\x11\xcd\x46\xed\x8f\x89\xa2\x69\xc8\xef\x56\xbd\xee\xe7\x2d\x06\xea\xfd\xa4\x66\xe0\xe1\x7e\x4e\xa5\xd1\x49\xd6\xa8\x81\x4e\x59\xf4\xc3\x19\xcb\xb2\xfd\x18\x55\xd8\x69\x33\x7e\x96\xf6\xcf\x26\xb1\xd6\x7e\x3a\xaf\xa5\x19\xbb\x71\xe1\x31\x28\x3e\x4d\x2b\xef\x0a\xad\x84\xf2\x89\xdf\x0a\xf4\xe6\xef\x41\xcb\x8e\x77\x35\x97\x18\x1e\x1e\x66\xe1\x8d\x8b\xa4\x1b\xa8\x50\xad\xb8\xed\x6b\x96\xa8\x2e\xcd\xa0\xcf\x8d\xc8\xfc\x3b\xb5\x12\xbc\x59\x5a\x33\xdf\xf8\x5a\xf8\x06\xcc\x71\xb5\x20\x79\x68\x4d\xdf\x1f\xc1\x4d\x38\x3b\xb9\x49\x72\x72\xaf\xd3\x8c\xd2\xb6\x2b\x29\xbb\x1d\xec\x0e\x8e\x21\x39\x9f\x7e\x78\x11\xdf\x22\x9c\x5a\xeb\x3d\x36\x85\x57\x44\x2c\x51\xed\x73\x4e\xbb\x3c\xf0\x92\x06\x91\x2d\x0a\x3a\x10\xd9\x73\x7d\xbc\x1f\x0e\x86\xc8\xc2\x21\x19\x23\x13\x17\xb4\x0f\x47\xf0\xdf\x00\x00\x00\xff\xff\x4f\xf0\x46\x99\x8f\x29\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,7 +97,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x25, 0xa1, 0xa9, 0x9c, 0x5c, 0x55, 0x60, 0xff, 0x20, 0x7e, 0xf6, 0x8a, 0x13, 0x30, 0x4c, 0xb, 0x47, 0xe1, 0xe5, 0x16, 0x34, 0x21, 0xf1, 0x17, 0xe6, 0x0, 0xaf, 0xd3, 0x36, 0x43, 0xac, 0x1e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x22, 0x89, 0x59, 0xa, 0x45, 0x26, 0x91, 0xe0, 0xfe, 0x35, 0xa1, 0x41, 0x6f, 0x55, 0xb6, 0xd5, 0xaa, 0x40, 0x62, 0xc4, 0x1d, 0xa0, 0x4d, 0xbd, 0x15, 0xfa, 0x1e, 0xba, 0x1, 0x7b, 0xed, 0xa7}}
 	return a, nil
 }
 
@@ -121,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x8f\x1b\xb7\x11\x7f\xd7\xa7\x18\x5c\x80\x5a\x4a\x15\x9d\x1f\x8a\x3e\x08\xb1\x5d\xe7\x8f\x8b\x3c\x34\x08\xec\x6b\xfc\x50\x14\x15\xb5\x3b\xab\x65\x8e\x4b\x6e\x48\xae\x64\xf5\x70\xdf\xbd\x98\x21\xb9\xff\xb4\xba\xd3\x5d\x9c\xa2\xa8\x1f\xce\xd2\x2e\x39\x33\x1c\xfe\x38\xf3\x9b\xa1\xae\xbf\xfc\x72\x36\xfb\x02\x6e\x4a\x84\x77\xca\x1c\xe0\x5d\xa3\x77\x72\xab\x10\x6e\xcc\x2d\x6a\x70\x5e\xe8\x5c\xd8\x7c\x36\xfb\xe2\x0b\xd8\xa4\x97\xfc\x6e\x03\x99\xd1\xde\x8a\xcc\xcf\x66\x3c\x7d\x7a\x26\x48\x07\xda\x80\x32\x7a\x87\x16\x84\x06\xa9\x3d\xda\x42\x64\x38\xf3\xa5\xf0\x20\x94\x82\x22\x4d\xf5\x3c\x35\xc9\x75\x70\x30\x8d\xca\xa1\x14\x7b\x7a\x45\xcf\x0b\x63\x2b\xf0\x66\x35\x9b\xfd\x50\x80\x80\xc6\xa1\x75\x70\x10\xda\x3b\x1a\x90\x63\xad\xcc\x11\x04\x68\x3c\x8c\x64\x2d\xc1\x97\x28\x6d\x67\x73\x6e\x90\x0c\xf3\xa0\x11\x73\x9a\x2c\xab\x5a\x61\x85\xda\xd3\x48\x18\x2c\xb5\xb3\x79\x09\xdb\xc6\x47\x51\xac\xc0\xcd\x72\x73\x46\x44\x3b\xc9\x41\x8e\x85\xd4\x98\x83\xd4\xe0\x4b\xe9\x5a\x2b\x56\xc1\xaf\x3f\x8b\x46\xf9\x0d\x58\x74\xa6\xb1\x59\x6f\xe6\x6c\xf6\xbd\xc8\xca\xb1\x7f\xda\x71\xfe\x58\x23\x2b\x77\xa7\xda\xcf\x0b\x8d\x4a\x7f\xb2\x66\x2f\x73\xb4\x9b\x25\x6c\xde\x63\x86\x72\xcf\x9f\x85\xce\x61\xf3\x8d\x50\x42\x67\x38\x35\xdb\xf1\x6e\xbb\xd1\xf2\x32\x25\x2c\x42\x6d\xf1\xab\xcc\xe8\x5c\x7a\x69\xb4\x63\x51\xb5\x71\xbe\xff\x8c\xf7\xdc\xa2\xf3\x56\x66\x7e\x46\x86\xe2\x27\xcc\x1a\x7a\x09\xa6\x60\xcb\x8b\x46\x67\x61\x30\xbb\x0b\x81\x57\xb2\x62\xbd\x47\x20\x3d\x0e\x6b\x61\x85\x47\xd8\x62\x26\x1a\xb2\xc5\xc3\x4e\xee\xd1\xf1\x70\x02\x05\x7f\x10\x5b\xa9\xa4\x3f\x92\x6f\x5c\x29\x2c\xce\x04\x58\x2c\xd0\xa2\xce\x18\x4f\x61\x1b\x59\x7a\xb0\xcb\x68\x75\x04\xfc\x54\x1b\x17\x45\x15\x12\x55\xee\x3a\x8b\x66\x52\x83\xd1\x08\xc6\x42\x65\x2c\x26\x8b\x3b\x57\x10\x30\x09\xd3\xce\x44\x83\x02\x42\x47\xd6\x54\xe2\x16\x21\x6b\x9c\x37\x55\xeb\xe1\xe8\x9a\x76\x13\xc9\x37\x43\x2f\x13\xc0\x0d\xec\x85\x95\xa6\xa1\xd1\x52\xef\x1c\x1c\xa4\x2f\x59\x7c\x40\xe3\x6a\xf6\xce\x58\xc0\x4f\x82\xc4\x2c\x41\x40\x21\x9a\x0c\x3d\x64\x42\xc3\x16\x3b\xe9\x98\xc3\xf6\x98\x0e\x94\xd4\xbb\x59\x70\x07\x24\x50\x0c\xd0\xf2\xe5\xf5\x6c\x26\xab\xda\x58\x0f\x3f\x4b\x3c\xbc\x47\x67\xd4\x1e\x2d\x14\xd6\x54\x70\xd5\x7f\x74\x35\x9b\x5d\x5f\x5f\x0f\x0f\x0f\x3d\x19\x3c\x8d\x01\xa2\xb5\x45\x44\xb4\x58\xec\x05\x0a\x8b\xbf\x36\xd2\x4e\x1d\xab\xe1\x61\x60\xc9\x9d\xb1\xf0\x11\xc1\x79\xa9\x54\x08\x1a\xd2\x83\x70\x83\xa0\x03\x25\xda\x0e\x37\x9e\xbf\x31\xa4\x4c\xc5\xc8\x29\x1a\xc5\x22\x1b\x1f\x76\xab\x42\x5f\x9a\x3c\x6e\x4e\x25\xf4\x11\x6a\x6b\x7e\x41\x0e\x4e\xa4\x26\x28\xa3\x08\x44\x96\xb2\x52\xa3\x47\xb1\xc6\x2d\x59\x64\x8c\x1c\x01\xc2\xdb\x23\x2d\xb6\x42\xa1\x5d\xbb\xd6\x15\x07\xc3\x00\x83\xee\x29\x7d\xe6\x67\xed\x2e\x87\x35\x27\xa7\xb8\xc1\x71\xef\x42\x87\xc8\x32\x74\x6e\x2e\x94\x5a\xb4\x96\x8c\xc2\xda\xdd\x6c\x06\x00\x70\x7d\x0d\x6f\x35\xa0\xf6\xd2\x47\x3f\x17\xc6\x92\x2d\xe6\x20\xf5\x8e\xc5\x13\xcc\x72\x2b\x0e\x42\x31\xe6\x19\x6b\x61\xff\x45\x38\x40\x2c\xa8\xaf\xb2\x2f\xee\x63\x9a\xbd\x55\x98\x54\x5e\x73\xce\xc1\x7d\xd8\xd6\xb0\x64\xac\xa4\x27\x68\x1e\x4a\xd4\x49\x09\x39\x2b\x69\xd7\x8f\xa8\xdc\xf7\x95\xcd\x45\x65\x1a\xed\xd7\xf0\xf7\x77\xf2\xd3\x9f\xff\xb4\xe4\xb9\x6b\x78\x9b\xe7\x16\x9d\x7b\xb3\xe4\xe8\xb9\x86\x0f\xde\x4a\xbd\x5b\xf4\x85\x39\x54\xc5\x82\x70\xc6\x06\x25\x79\xdf\x93\xf4\xa7\x09\x5d\xc3\x37\xc6\x28\xb8\x63\xe1\xf4\x8f\xe4\x9d\x1a\x18\xfe\x4f\xb2\xe8\x6f\x92\x43\x7f\x17\xed\x6c\x8b\xbe\xb1\x1a\xbc\x6d\x90\x9f\xdd\x3f\xc7\x97\x39\xd6\xc6\x49\x1f\x4e\xd6\xc3\x9e\xfc\x2e\x0c\x3d\x59\xb3\x37\xcf\x70\x63\x14\x36\xed\xc5\x07\x24\x4e\xfb\x70\x6c\x5a\x72\x21\x09\xf2\xe6\x77\x74\x9f\xb7\x42\xbb\x02\x2d\x1d\x4c\x06\x23\xa5\x03\x91\x65\xa4\x9e\x3d\xaa\x0d\x05\x95\x33\x1e\xbd\x89\xb3\x1f\x87\xd1\x73\x5c\x9c\xa4\x5f\x88\xd4\xa7\xfa\xfc\xc4\xf8\x49\xdc\x3e\x6f\x03\xd8\xe4\x07\x30\xeb\xbc\x35\x47\xcc\xcf\xb8\xf5\x9b\xc6\xea\x53\x4c\x0d\x9c\x76\xde\x6b\x34\xf9\x0c\x2a\x1f\xf4\x89\x2c\xa2\x03\xe0\xf5\x2b\x78\xb9\x7a\xd9\x7b\xd5\xba\x6c\x60\x58\x8b\xd1\x09\xd7\xdc\x5f\xe2\xa4\x94\x9c\xd3\x83\x01\x7c\xbb\x0c\xc7\x10\x46\xca\xec\x59\xa4\x31\x31\x95\x84\x6c\x41\xb1\x3d\x05\x54\xca\xfc\x49\x48\x3f\xa8\x33\xa9\x49\x09\x86\x73\xc0\xb1\xc6\xd5\x89\xde\x1f\x3c\xb4\x34\x3a\x2a\x1c\xea\x32\x1a\x36\xdb\xc4\x25\x29\xd7\x2e\xdb\xb9\x3d\xea\xa6\x50\x10\x55\x32\x35\x06\xbe\x57\x1b\xe7\x64\x64\x4b\xa6\x80\xcc\xa2\x60\x23\x22\x63\xaa\xa3\x1b\x5c\x67\x3a\xad\x98\x78\x38\xd3\x79\xda\x63\x61\xa5\x3a\x46\x5e\xce\xb9\xd8\x1c\x34\x44\x4b\x86\xeb\xe8\xa3\xe9\x94\xed\x76\x84\x28\xe6\xca\xa4\x32\x79\x10\x5c\xb3\x8d\xc5\xca\xd8\x81\xe6\xa0\xd1\xbe\x70\xbd\x10\x9b\x26\x13\x31\x0e\xfb\xec\x52\x08\xee\x88\x9c\xc5\xca\xec\x39\x3c\x07\x42\xd7\x9b\x38\x10\x72\xd3\xa3\xca\x2f\x5c\x5c\x07\x28\xdc\xa3\xa2\x00\x56\x37\x5b\x25\xb3\x54\xaf\x48\x17\xea\x30\x0f\x82\xfc\xb7\x55\x58\x0d\x84\xa5\xdd\x60\x06\xdc\x1a\x0f\xce\x1b\x9b\x28\x40\xcf\x39\xd1\xa7\x31\xec\x0d\x04\x65\x4c\xb6\xa4\x97\x42\xa9\x23\x64\x81\xd0\xc8\x8e\x42\x3f\xbc\x9e\xa0\xb5\x12\x47\xd8\x59\xa2\x54\x1c\x4b\x93\x9e\x76\x8d\xc4\x5c\x13\x26\x68\x39\x72\x2f\x3c\x8e\xac\xa8\x5b\xba\x1d\x8b\x4c\x73\x70\xe0\x6a\xcc\x64\x21\xb3\x28\x37\x72\x73\x13\xe5\x0e\x24\x30\x0e\xd3\xde\x77\x05\x57\x69\x4d\xb3\x2b\xa1\x57\x48\x5c\xba\xa0\x50\x13\xf0\xaa\xc8\x29\x8f\xac\x89\x37\xef\x92\x25\x91\xac\xd1\x3a\x06\xb6\x0f\x64\x3c\x7d\x1d\xf1\x74\xf4\x09\x5c\x88\x9c\x87\x69\x96\xb5\x58\xc3\x5f\xde\xea\xe3\xfb\xa8\xe8\x8e\xb1\x7d\x3f\x0a\x8d\x54\x13\x8e\x1e\x05\xbd\xb0\xb1\xe8\x62\xd5\x5a\xc4\x35\x05\xe8\x71\x4c\xdc\x0b\xd5\xe0\xc9\xb4\x30\x65\xb5\x43\x1f\xab\xd6\xf9\x02\x5e\xbd\x8a\xd1\x76\x7d\x32\x9c\xfe\x5d\x7d\xec\xe8\x6c\x8c\xe1\x55\xe3\x3c\x55\x48\xa4\xce\x89\x0a\xa9\x6e\xa0\xcf\x31\x66\xa4\x4a\xaf\x63\xa2\xbc\xb2\xab\x89\x45\x0c\x28\xf6\xea\x3c\x83\x1c\x66\x4f\xca\x49\x2b\x46\xcb\x9b\x95\x08\x59\x39\x65\x0a\x7e\xb5\x43\x7f\x73\xac\x71\xbe\x58\xc9\x9c\x62\x72\x21\xd1\x2e\x06\xda\xef\x47\xc9\xa4\x97\x38\x52\x79\xff\xdb\x13\x47\x64\x8f\x13\x79\x43\xea\xb8\x59\x17\xe4\x8d\x8f\x98\xa2\xb5\xd4\x99\x6a\x72\x04\x01\x6d\x8f\x20\x98\x91\x95\x98\xdd\x0e\xb7\x20\xc6\xa8\x56\xca\x01\xdb\xba\x8b\x6a\xed\x4b\x4a\xed\xe0\x86\x50\x4f\xcd\xa0\x17\xb2\x72\x93\x06\x4d\xd7\xd5\x4b\x50\xf2\x16\xc1\xd5\x4a\x72\x21\x56\x41\x53\x53\x18\x6f\x85\x38\xd4\x79\x78\x41\x65\xba\x2c\xf8\x54\x79\xa8\x55\xe8\x0a\xc0\xe5\x19\x27\x6d\xd6\x38\xe3\x44\xd7\x83\x17\xb7\xd8\xa5\x0d\x4a\x25\xf1\x8d\xa3\x5c\x3a\xbd\x0d\x83\x8e\xd1\x43\x07\x9d\x8d\xa2\xf3\x1d\x65\xce\x03\x3a\x27\xce\xf4\x62\x68\xdd\x0e\xfd\x87\xa6\xae\x8d\xf5\x98\xf3\x00\x42\x2b\xe5\x74\xda\x52\xce\x05\x5d\xc2\x53\xd2\x79\x3a\x50\xfb\xd0\x79\xe1\x81\xb1\xc2\xe5\xba\x37\xae\x9f\x4c\xaa\xbd\x9b\x34\x71\x2f\xf1\xc0\x76\x4e\xeb\x9d\x2f\xd6\x70\x77\xc3\xa7\x87\x58\xdb\xfd\xd0\xd6\xf7\xd1\x92\x43\x89\x9c\x07\x8c\x65\x2c\x92\xd7\x08\x48\x3a\xf4\xd5\xa4\x8b\x16\x84\x5e\x09\xbd\x1d\x9c\xa3\x24\xed\x6d\x5a\x07\xc3\x56\xe8\x38\x0b\x84\x3e\x06\x41\xae\xe4\x2e\xe6\x2f\x14\x61\x7a\xec\x8e\x84\xe6\x58\x0c\xc8\xc1\xe4\x12\xa5\x3b\x5d\xe1\x3c\x84\x06\xfa\x18\x99\x69\xff\xcc\x3f\x82\xb0\x44\xe4\x8d\xed\x45\xe1\xd8\xa1\xe1\x24\x1d\xea\x7f\xc8\xa5\xc5\xcc\xb7\x25\x0f\x48\xed\x3c\x8a\x9c\xb6\xae\x14\x7b\x3e\xde\xdc\x92\x12\x2d\x36\x09\x8d\x5d\xab\xe0\x69\x19\xc5\x9f\xab\x8d\x12\x20\xd6\xf0\x6d\x9b\x03\xbf\xfe\xc3\xdd\x30\xce\xa6\xad\xb9\x7f\xbd\x18\x67\x1b\x8b\x13\xc9\x26\x09\x5d\x71\xa0\x21\xbc\x5c\x7d\xcb\xdb\x44\x48\xd8\x1a\x6b\xcd\x01\x4e\xdb\x85\xf0\xe3\xbb\x9b\x76\xea\xd5\xa5\xe1\x37\xe6\xa5\x89\xe8\x2b\x5d\x6f\x5b\x98\xa0\x91\xd6\x1d\x6a\xb4\x42\x41\xdd\xd8\xda\x38\x84\x0a\xbd\xc8\x85\x17\xbd\xb1\xe3\x58\x98\x28\xc3\x48\x1c\x62\x1e\x0a\xfd\x1d\xfa\x56\x4c\xe0\x84\x22\xcf\x03\xd7\x38\x94\x46\x21\x77\xcc\xbb\xde\x51\x12\x4b\x38\xc0\x3d\xda\x63\xbf\xc4\x6d\xea\x9d\x15\x39\xbb\x84\x78\xa6\x35\x5b\xb1\x25\xd6\x68\x0c\x54\x4d\x56\x12\x3c\x04\x6c\x2d\x8a\x5b\x26\xed\xa5\xd0\x3b\xbc\x04\x96\xd1\x4d\x70\x07\xd7\xd7\xeb\x41\xa7\x71\xd5\xb6\x1c\x47\x31\xf1\x6f\xdc\x9d\x4b\x0b\xec\x25\x8b\x13\x22\x96\x92\x48\xc6\x9b\xbc\x45\x06\xad\x95\x44\xb4\xb9\xc9\xbb\x1c\xcc\x70\x26\xb6\x06\xc3\xe5\x45\xea\xef\xc7\x74\x08\x42\x03\x7e\xaa\x95\xcc\xa4\x0f\xb3\x1f\x8d\x51\x2d\x35\x49\xb0\x9e\x7d\x96\xb0\xf6\x39\xe2\xc6\x60\xe1\x83\xfe\x6e\xf0\xae\x7b\x34\x5f\xf4\xad\x26\x01\x6c\xe7\x3f\x48\xc7\x3f\xcf\xe6\x17\x1b\x94\xd0\xf0\xf9\xbf\x58\x42\x6b\xd5\x5b\x7d\xfc\xe0\x6d\x93\xf9\x37\xe3\x83\xd4\x55\x52\x83\x2a\x34\x47\x4a\x30\xcb\x58\xe6\xb4\x78\x0a\x97\x47\xcc\xbb\xbb\x9b\xa3\x36\x86\x2f\x13\xde\x96\xbd\x78\xb8\x6c\xeb\xbd\x70\x11\x92\x5c\xd1\x55\xad\x4d\xd7\x22\xa2\x48\xe1\x92\x87\xe1\x88\xfe\x29\x59\x9e\x97\xb2\xbe\xdc\x9a\x8b\x8e\xc3\x5f\x87\x87\x20\x91\xd6\xfd\xe3\x39\xe6\x61\x88\xfe\xef\x27\xf8\x51\x84\xa7\xa0\x8b\xca\x1c\x02\x8d\xa4\xcd\xea\xdf\x7c\x24\x5a\xe8\x1a\x1b\x49\xaf\x6d\xf4\x57\x5e\x56\xf1\x46\x8d\x81\x33\x96\xc7\x95\x31\x45\x99\xb0\xcc\xb6\x4b\x45\xb5\x96\x60\xae\xd7\xee\x72\x44\x5b\x24\x91\xc3\x5b\xd3\x55\xe8\xd3\xaf\x60\x20\x5f\x16\x27\x2c\xdf\x7d\x68\xb6\x64\xcd\xdc\x14\xe1\x64\x7c\x3d\x20\x61\x13\x42\xef\x5f\xcf\x17\xe3\xe4\x07\x5d\x47\xe9\x6e\xa8\x61\xcd\x24\xe4\x7e\x98\xc3\x00\x95\x9b\xca\x96\x2d\x69\xe2\xd0\x57\xd5\xfe\x08\xb9\x64\xaa\x20\x28\x37\x04\xd6\x1d\xc9\x4c\x28\xd3\x38\x75\xb4\x1e\x39\x94\x44\x14\xf4\x0b\x3f\x25\xb9\xbb\xde\x99\x74\xd5\x12\x1c\x65\x15\xe1\x46\xaf\x3f\x1c\xa4\xcf\xca\xad\x11\x36\xdf\x2c\x61\xc3\xcf\xde\x19\x7b\x10\x36\x47\xbb\x01\xf4\xd9\xea\xac\x2b\xee\xcf\xa6\xee\xcf\x11\x52\x47\x0e\x8c\x4a\x0b\xa1\x1c\x4e\x69\xea\x53\x52\x2e\x3f\xbd\xb1\x62\x47\xb0\xf2\x25\x81\xcc\x62\x77\x8a\x13\x99\xf4\xc7\x5a\x66\x7c\xea\xb6\x61\x02\x3e\x9e\x83\xbe\x0b\xfb\xf3\x21\x88\xff\x49\xf8\x92\x50\xd0\xfb\xfa\x66\xda\x70\x2d\xd5\x25\x66\x47\x02\x32\xb0\x5a\xba\xa1\xd9\x7c\x3f\xd6\x72\x95\xae\xa5\x71\xa9\xed\x3f\xf1\xc4\x64\x7a\xf7\xed\x69\x96\xff\x77\x72\xd7\x63\xed\xc2\x4d\xe0\xb9\x9b\xae\x61\xc8\x90\x7a\xe1\x26\x39\xcc\xb0\x65\x48\x6c\x6d\xd4\x36\x4c\x82\xa9\x5a\x39\x9d\xff\x3b\x37\x74\x26\x29\x76\x8a\x37\x5d\x5b\xe6\xf5\x23\x6d\x99\xb7\xa1\x17\xd3\x35\x59\x52\x57\x46\x85\xb6\x96\xd0\x54\xab\xe1\xaf\x8d\x50\xe1\xdb\x44\xb2\x9b\xe8\xcb\xdc\x5f\xd8\x7d\x8a\x37\xc2\xa1\x4d\x28\x54\xdb\xb3\x84\xcd\x16\x0b\x63\x71\xd3\x27\x9a\x21\xca\x45\xa5\x5d\x93\x7b\x48\x07\x7b\xc2\xe3\x05\xee\x16\x77\x52\x6b\x22\xc6\xa3\x5f\x3b\x74\xbf\x83\x98\x98\x7d\x81\x6f\x5f\xbd\x82\x60\xe5\xfc\xe4\xdd\x02\xbe\x7a\xd8\xef\x3f\xb6\x70\x4a\xce\xec\xb7\xc3\x52\x37\xa3\xf3\x71\x6d\x71\xcf\x3f\x42\x48\xc3\x45\x68\x7e\x8c\xdb\x63\xe9\xfd\xf9\x4a\xe9\xc2\x0e\x87\xc8\x73\x07\xd2\x77\x0a\x63\x39\x36\xd8\x7b\x39\xd1\x6a\x7f\x4e\x7f\x63\x2a\xb5\x8e\xf3\x2a\xd5\xfd\xce\xa1\xf5\xdd\xd5\x7c\x66\x74\x66\xd1\x47\x0e\x11\x3d\xd5\xdd\xb6\x86\x38\x28\x5d\xdb\x61\x1c\xcb\x8b\x59\xb4\xd7\x4c\x68\x3b\x10\xa9\x05\x1f\xa5\x5d\x70\xf6\x68\x59\x2b\xe9\x7e\xd0\xce\x33\x06\x86\xb9\x7f\xb1\x86\x69\x20\x7c\x2b\x34\xb1\xda\xae\x9c\x07\xa9\x33\x53\xd5\xc2\xf7\x7e\x7e\x44\xeb\xbb\xac\xf1\x39\x79\xe7\xcb\xa6\xf5\xe1\x19\x2e\x0d\x1f\x68\x80\xa6\x19\x17\x37\x40\xe1\xfc\x31\x7f\xe2\xc1\xf9\x63\x7a\x77\x62\xf5\xe2\x59\x67\xc9\x35\xd5\xa3\x87\xa8\xc3\xcc\x83\xb1\x6c\x74\x78\xfe\x3f\x7b\x37\x9f\x65\x13\x9f\x1c\xfd\xda\x8c\xec\x50\xe7\x68\x7f\xd7\x68\x08\x67\xce\xce\xf4\x65\xfe\x25\x97\x06\x66\xdd\x75\xb7\x42\x27\x6b\xbe\x78\xf3\xf9\xee\x16\x06\xa8\xe3\x3b\x2b\xfc\x9e\x2a\x82\x18\xad\xe3\xb5\x94\x3e\xc6\xdf\xe1\x99\x38\x66\xc0\x5a\x38\xbc\x95\x82\x82\xfc\xbf\xd1\x9a\x4b\x18\x4b\x1b\xb9\xc7\x2a\xe7\xbf\xe5\xce\xe9\xcc\xe5\xd1\xcb\xd5\xcb\x35\x5c\xdd\x94\xdc\x17\x53\xf1\x6a\x2e\x1d\xc8\x00\x07\xa6\xb2\x7d\xe3\x2f\x38\xa7\xf1\x77\x0c\xf3\xcb\x5a\x94\x53\xa8\x38\xfd\xb1\xc2\x09\xde\x7f\xf3\xb5\xd1\xfd\x7f\x02\x00\x00\xff\xff\x34\x85\xe0\x48\x14\x2c\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x4d\x8f\x1b\x37\xd2\xbe\xeb\x57\x14\x26\xc0\x6b\x29\xaf\xa2\xf1\x61\xb1\x07\x21\xb6\xe3\x7c\x78\x91\xc3\x06\x41\x66\x36\x3e\x2c\x16\x2b\xaa\xbb\x5a\xcd\x0c\x9b\xec\x90\x6c\xc9\xda\xc1\xfc\xf7\x45\x15\xc9\xfe\x52\x6b\x46\xe3\xd8\x8b\xc5\xfa\x30\x96\xba\xc9\xaa\x62\xf1\x61\xd5\x53\x45\x5d\x7f\xf9\xe5\x6c\xf6\x05\xdc\x96\x08\xef\x94\x39\xc0\xbb\x46\xef\xe4\x56\x21\xdc\x9a\x3b\xd4\xe0\xbc\xd0\xb9\xb0\xf9\x6c\xf6\xc5\x17\xb0\x49\x2f\xf9\xdd\x06\x32\xa3\xbd\x15\x99\x9f\xcd\x78\xfa\xf4\x4c\x90\x0e\xb4\x01\x65\xf4\x0e\x2d\x08\x0d\x52\x7b\xb4\x85\xc8\x70\xe6\x4b\xe1\x41\x28\x05\x45\x9a\xea\x79\x6a\x92\xeb\xe0\x60\x1a\x95\x43\x29\xf6\xf4\x8a\x9e\x17\xc6\x56\xe0\xcd\x6a\x36\xfb\xb1\x00\x01\x8d\x43\xeb\xe0\x20\xb4\x77\x34\x20\xc7\x5a\x99\x23\x08\xd0\x78\x18\xc9\x5a\x82\x2f\x51\xda\xce\xe6\xdc\x20\x19\xe6\x41\x23\xe6\x34\x59\x56\xb5\xc2\x0a\xb5\xa7\x91\x30\x58\x6a\x67\xf3\x12\xb6\x8d\x8f\xa2\x58\x81\x9b\xe5\xe6\x8c\x88\x76\x92\x83\x1c\x0b\xa9\x31\x07\xa9\xc1\x97\xd2\xb5\x56\xac\x82\x5f\x7f\x15\x8d\xf2\x1b\xb0\xe8\x4c\x63\xb3\xde\xcc\xd9\xec\x07\x91\x95\x63\xff\xb4\xe3\xfc\xb1\x46\x56\xee\x4e\xb5\x9f\x17\x1a\x95\xfe\x6c\xcd\x5e\xe6\x68\x37\x4b\xd8\xfc\x82\x19\xca\x3d\x7f\x16\x3a\x87\xcd\xb7\x42\x09\x9d\xe1\xd4\x6c\xc7\xbb\xed\x46\xcb\xcb\x94\xb0\x08\xb5\xc5\xaf\x32\xa3\x73\xe9\xa5\xd1\x8e\x45\xd5\xc6\xf9\xfe\x33\xde\x73\x8b\xce\x5b\x99\xf9\x19\x19\x8a\x1f\x30\x6b\xe8\x25\x98\x82\x2d\x2f\x1a\x9d\x85\xc1\xec\x2e\x04\x5e\xc9\x8a\xf5\x1e\x81\xf4\x38\xac\x85\x15\x1e\x61\x8b\x99\x68\xc8\x16\x0f\x3b\xb9\x47\xc7\xc3\x09\x14\xfc\x41\x6c\xa5\x92\xfe\x48\xbe\x71\xa5\xb0\x38\x13\x60\xb1\x40\x8b\x3a\x63\x3c\x85\x6d\x64\xe9\xc1\x2e\xa3\xd5\x11\xf0\x43\x6d\x5c\x14\x55\x48\x54\xb9\xeb\x2c\x9a\x49\x0d\x46\x23\x18\x0b\x95\xb1\x98\x2c\xee\x5c\x41\xc0\x24\x4c\x3b\x13\x0d\x0a\x08\x1d\x59\x53\x89\x3b\x84\xac\x71\xde\x54\xad\x87\xa3\x6b\xda\x4d\x24\xdf\x0c\xbd\x4c\x00\x37\xb0\x17\x56\x9a\x86\x46\x4b\xbd\x73\x70\x90\xbe\x64\xf1\x01\x8d\xab\xd9\x3b\x63\x01\x3f\x08\x12\xb3\x04\x01\x85\x68\x32\xf4\x90\x09\x0d\x5b\xec\xa4\x63\x0e\xdb\x63\x3a\x50\x52\xef\x66\xc1\x1d\x90\x40\x31\x40\xcb\x97\xd7\xb3\x99\xac\x6a\x63\x3d\xfc\x2a\xf1\xf0\x0b\x3a\xa3\xf6\x68\xa1\xb0\xa6\x82\xab\xfe\xa3\xab\xd9\xec\xfa\xfa\x7a\x78\x78\xe8\xc9\xe0\x69\x0c\x10\xad\x2d\x22\xa2\xc5\x62\x2f\x50\x58\xfc\xbd\x91\x76\xea\x58\x0d\x0f\x03\x4b\xee\x8c\x85\xf7\x08\xce\x4b\xa5\x42\xd0\x90\x1e\x84\x1b\x04\x1d\x28\xd1\x76\xb8\xf1\xfc\x8d\x21\x65\x2a\x46\x4e\xd1\x28\x16\xd9\xf8\xb0\x5b\x15\xfa\xd2\xe4\x71\x73\x2a\xa1\x8f\x50\x5b\xf3\x1b\x72\x70\x22\x35\x41\x19\x45\x20\xb2\x94\x95\x1a\x3d\x8a\x35\x6e\xc9\x22\x63\xe4\x08\x10\xde\x1e\x69\xb1\x15\x0a\xed\xda\xb5\xae\x38\x18\x06\x18\x74\x4f\xe9\x33\x3f\x6b\x77\x39\xac\x39\x39\xc5\x0d\x8e\x7b\x17\x3a\x44\x96\xa1\x73\x73\xa1\xd4\xa2\xb5\x64\x14\xd6\xee\x67\x33\x00\x80\xeb\x6b\x78\xab\x01\xb5\x97\x3e\xfa\xb9\x30\x96\x6c\x31\x07\xa9\x77\x2c\x9e\x60\x96\x5b\x71\x10\x8a\x31\xcf\x58\x0b\xfb\x2f\xc2\x01\x62\x41\x7d\x95\x7d\x71\xef\xd3\xec\xad\xc2\xa4\xf2\x9a\x73\x0e\xee\xc3\xb6\x86\x25\x63\x25\x3d\x41\xf3\x50\xa2\x4e\x4a\xc8\x59\x49\xbb\x7e\x42\xe5\xbe\xaf\x6c\x2e\x2a\xd3\x68\xbf\x86\xbf\xbd\x93\x1f\xfe\xfc\xa7\x25\xcf\x5d\xc3\xdb\x3c\xb7\xe8\xdc\x9b\x25\x47\xcf\x35\xdc\x78\x2b\xf5\x6e\xd1\x17\xe6\x50\x15\x0b\xc2\x19\x1b\x94\xe4\xfd\x40\xd2\x9f\x27\x74\x0d\xdf\x1a\xa3\xe0\x9e\x85\xd3\x3f\x92\x77\x6a\x60\xf8\x3f\xc9\xa2\xbf\x49\x0e\xfd\x5d\xb4\xb3\x2d\xfa\xc6\x6a\xf0\xb6\x41\x7e\xf6\xf0\x31\xbe\xcc\xb1\x36\x4e\xfa\x70\xb2\x1e\xf7\xe4\xf7\x61\xe8\xc9\x9a\xbd\xf9\x08\x37\x46\x61\xd3\x5e\x7c\x44\xe2\xb4\x0f\xc7\xa6\x25\x17\x92\x20\x6f\x3e\xa3\xfb\xbc\x15\xda\x15\x68\xe9\x60\x32\x18\x29\x1d\x88\x2c\x23\xf5\xec\x51\x6d\x28\xa8\x9c\xf1\xe8\x6d\x9c\xfd\x34\x8c\x3e\xc6\xc5\x49\xfa\x85\x48\x7d\xae\xcf\x4f\x8c\x9f\xc4\xed\xc7\x6d\x00\x9b\xfc\x08\x66\x9d\xb7\xe6\x88\xf9\x19\xb7\x7e\xdb\x58\x7d\x8a\xa9\x81\xd3\xce\x7b\x8d\x26\x9f\x41\xe5\xa3\x3e\x91\x45\x74\x00\xbc\x7e\x05\x2f\x57\x2f\x7b\xaf\x5a\x97\x0d\x0c\x6b\x31\x3a\xe1\x9a\x87\x4b\x9c\x94\x92\x73\x7a\x30\x80\x6f\x97\xe1\x18\xc2\x48\x99\x3d\x8b\x34\x26\xa6\x92\x90\x2d\x28\xb6\xa7\x80\x4a\x99\x3f\x09\xe9\x07\x75\x26\x35\x29\xc1\x70\x0e\x38\xd6\xb8\x3a\xd1\xfb\xa3\x87\x96\x46\x47\x85\x43\x5d\x46\xc3\x66\x9b\xb8\x24\xe5\xda\x65\x3b\xb7\x47\xdd\x14\x0a\xa2\x4a\xa6\xc6\xc0\xf7\x6a\xe3\x9c\x8c\x6c\xc9\x14\x90\x59\x14\x6c\x44\x64\x4c\x75\x74\x83\xeb\x4c\xa7\x15\x13\x0f\x67\x3a\x4f\x7b\x2c\xac\x54\xc7\xc8\xcb\x39\x17\x9b\x83\x86\x68\xc9\x70\x1d\x7d\x34\x9d\xb2\xdd\x8e\x10\xc5\x5c\x99\x54\x26\x0f\x82\x6b\xb6\xb1\x58\x19\x3b\xd0\x1c\x34\xda\x17\xae\x17\x62\xd3\x64\x22\xc6\x61\x9f\x5d\x0a\xc1\x1d\x91\xb3\x58\x99\x3d\x87\xe7\x40\xe8\x7a\x13\x07\x42\x6e\x7b\x54\xf9\x85\x8b\xeb\x00\x85\x7b\x54\x14\xc0\xea\x66\xab\x64\x96\xea\x15\xe9\x42\x1d\xe6\x41\x90\xff\xb6\x0a\xab\x81\xb0\xb4\x1b\xcc\x80\x5b\xe3\xc1\x79\x63\x13\x05\xe8\x39\x27\xfa\x34\x86\xbd\x81\xa0\x8c\xc9\x96\xf4\x52\x28\x75\x84\x2c\x10\x1a\xd9\x51\xe8\xc7\xd7\x13\xb4\x56\xe2\x08\x3b\x4b\x94\x8a\x63\x69\xd2\xd3\xae\x91\x98\x6b\xc2\x04\x2d\x47\xee\x85\xc7\x91\x15\x75\x4b\xb7\x63\x91\x69\x0e\x0e\x5c\x8d\x99\x2c\x64\x16\xe5\x46\x6e\x6e\xa2\xdc\x81\x04\xc6\x61\xda\xfb\xae\xe0\x2a\xad\x69\x76\x25\xf4\x0a\x89\x4b\x17\x14\x6a\x02\x5e\x15\x39\xe5\x89\x35\xf1\xe6\x5d\xb2\x24\x92\x35\x5a\xc7\xc0\xf6\x81\x8c\xe7\xaf\x23\x9e\x8e\x3e\x81\x0b\x91\xf3\x30\xcd\xb2\x16\x6b\xf8\xe6\x9e\x01\xfd\x30\x8a\x87\x54\x08\x8e\x1e\x05\x65\xb0\xb1\xe8\x62\xa9\x5a\xc4\x85\x04\xbc\x71\x20\xdc\x0b\xd5\xe0\xc9\xb4\x30\x65\xb5\x43\x1f\x4b\xd5\xf9\x02\x5e\xbd\x8a\x21\x76\x7d\x32\x9c\xfe\x5d\xbd\xef\x38\x6c\x0c\xdc\x55\xe3\x3c\x95\x45\xa4\xce\x89\x0a\xa9\x58\xa0\xcf\x31\x50\xa4\xf2\xae\xa3\x9f\xbc\xb2\xab\x89\x45\x0c\x78\xf5\xea\x3c\x6d\x1c\xa6\x4c\x4a\x44\x2b\x86\xc8\x9b\x95\x08\xa9\x38\xa5\x07\x7e\xb5\x43\x7f\x7b\xac\x71\xbe\x58\xc9\x9c\x02\x71\x21\xd1\x2e\x06\xda\x1f\x46\x19\xa4\x97\x2d\x52\x4d\xff\xc7\xb3\x45\xa4\x8c\x13\xc9\x42\xea\xb8\x59\x17\x24\x8b\xf7\x98\x42\xb4\xd4\x99\x6a\x72\x04\x01\x6d\x63\x20\x98\x91\x95\x98\xdd\x0d\xb7\x20\x06\xa6\x56\xca\x01\xdb\x62\x8b\x0a\xec\x4b\xea\xeb\xe0\x86\x50\x44\xcd\xa0\x17\xa7\x72\x93\x06\x4d\x17\xd3\x4b\x50\xf2\x0e\xc1\xd5\x4a\x72\xf5\x55\x41\x53\x53\xec\x6e\x85\x38\xd4\x79\x78\x41\xb5\xb9\x2c\xf8\x28\x79\xa8\x55\x68\x05\xc0\xe5\x69\x26\x6d\xd6\x38\xcd\x44\xd7\x83\x17\x77\xd8\xe5\x0a\xca\x1f\xf1\x8d\xa3\x04\x3a\xbd\x0d\x83\x36\xd1\x63\xa7\x9b\x8d\xa2\x43\x1d\x65\xce\x03\x3a\xd3\x41\x5e\x0c\x4d\xda\xa1\xbf\x69\xea\xda\x58\x8f\x39\x0f\x20\x88\x52\xf6\xa6\x7d\xe4\xa8\xdf\xa5\x36\x25\x9d\xa7\x53\xb4\x0f\x3d\x16\x1e\x18\x6b\x59\xae\x70\xe3\xa2\xc9\x8e\xda\xbb\x49\xbb\xf6\x12\x0f\x6c\xdc\xb4\xde\xf9\x62\x0d\xf7\xb7\x7c\x64\x88\x9f\x3d\x0c\x6d\xfd\x25\x5a\x72\x28\x91\x23\xbe\xb1\x0c\x40\x72\x15\xa1\x47\x87\x0e\x9a\x74\xd1\x82\xd0\x15\xa1\xb7\x83\xc3\x93\xa4\xbd\x4d\xeb\x60\xac\x0a\x1d\x67\x81\xd0\xc7\x20\xc8\x95\xdc\xaf\xfc\x8d\xc2\x4a\x8f\xc7\x91\xd0\x1c\x8b\x01\x0d\x98\x5c\xa2\x74\xa7\x2b\x9c\x87\x78\x40\x1f\x23\x07\xed\x1f\xf4\x27\x60\x95\x28\xbb\xb1\xbd\xd0\x1b\x7b\x31\x9c\x8e\x43\xa5\x0f\xb9\xb4\x98\xf9\xb6\xb8\x01\xa9\x9d\x47\x91\xd3\xd6\x95\x62\xcf\x67\x9a\x9b\x4f\xa2\x05\x24\x41\xb0\x6b\x0a\x3c\x2f\x77\xf8\x73\x55\x50\x02\xc4\x1a\xbe\x6b\xb3\xdd\xd7\xff\x77\x3f\x0c\xae\x69\x6b\x1e\x5e\x2f\xc6\x29\xc6\xe2\x44\x86\x49\x42\x57\x1c\x5d\x08\x2f\x57\xdf\xf1\x36\x11\x12\xb6\xc6\x5a\x73\x80\xd3\xc6\x20\xfc\xf4\xee\xb6\x9d\x7a\x75\x69\xcc\x8d\xc9\x68\x22\xe4\x4a\xd7\xdb\x16\xa6\x62\xa4\x75\x87\x1a\xad\x50\x50\x37\xb6\x36\x0e\xa1\x42\x2f\x72\xe1\x45\x6f\xec\x38\x00\x26\x72\x30\x12\x87\x98\x87\x92\x7e\x87\xbe\x15\x13\xd8\x9f\xc8\xf3\xc0\x2a\x0e\xa5\x51\xc8\xbd\xf1\xae\x4b\x94\xc4\x12\x0e\x70\x8f\xf6\xd8\x2f\x66\x9b\x7a\x67\x45\xce\x2e\x21\x46\x69\xcd\x56\x6c\x89\x1f\x1a\x03\x55\x93\x95\x04\x0f\x01\x5b\x8b\xe2\x8e\xe9\x79\x29\xf4\x0e\x2f\x81\x65\x74\x13\xdc\xc3\xf5\xf5\x7a\xd0\x53\x5c\xb5\xcd\xc5\x51\x20\xfc\x2b\xf7\xe1\xd2\x02\x7b\x19\xe2\x84\x72\xa5\xcc\x91\xf1\x26\x6f\x91\x41\x6b\x25\x51\x6a\x6e\xe7\x2e\x07\x33\x9c\x89\x4d\xc0\x70\x4d\x91\x3a\xf9\x31\x07\x82\xd0\x80\x1f\x6a\x25\x33\xe9\xc3\xec\x27\x63\x54\xcb\x47\x12\xac\x67\x9f\x24\xac\x7d\x8a\xb8\x31\x58\xf8\xa0\x93\x1b\xbc\xeb\x9e\x4c\x12\x7d\xab\x49\x00\xdb\xf9\x77\xd2\xf1\x8f\xb3\x49\xc5\x06\x25\x34\x7c\xfe\x4f\x96\xd0\x5a\xf5\x56\x1f\x6f\xbc\x6d\x32\xff\x66\x7c\x90\xba\x9a\x69\x50\x6f\xe6\x48\x09\x66\x19\x0b\x9a\x16\x4f\xe1\x9a\x88\x19\x76\x77\x47\xd4\xc6\xf0\x65\xc2\xdb\xb2\x17\x0f\x97\x6d\x65\x17\xae\x3c\x92\x2b\xba\xfa\xb4\xe9\x9a\x41\x14\x29\x5c\xf2\x30\x1c\xd1\x3f\x27\xb5\xf3\x52\xd6\x97\x5b\x73\xd1\x71\xf8\xcb\xf0\x10\x24\xa6\xba\x7f\x3a\xc7\x3c\x0e\xd1\xff\xfe\x04\x3f\x8a\xf0\x14\x74\x51\x99\x43\xe0\x8e\xb4\x59\xfd\x3b\x8e\xc4\x05\x5d\x63\x23\xd3\xb5\x8d\xfe\xca\xcb\x2a\xde\x9d\x31\x70\xc6\xf2\xb8\x06\xa6\x28\x13\x96\xd9\xf6\xa3\xa8\xaa\x12\x4c\xf0\xda\x5d\x8e\x68\x8b\xcc\x71\x78\x3f\xba\x0a\x1d\xf9\x15\x0c\xe4\xcb\xe2\x84\xda\xbb\x9b\x66\x4b\xd6\xcc\x4d\x11\x4e\xc6\xd7\xdf\xdc\x4f\x48\x7a\x78\x3d\x5f\x8c\x33\x1e\x74\x0d\xa3\xfb\xa1\xd8\x35\x33\x8f\x87\x61\xe2\x02\x54\x6e\x2a\x45\xb6\x4c\x89\xe3\x5d\x55\xfb\x23\xe4\x92\xf9\x81\xa0\x84\x10\xf8\x75\x64\x30\xa1\x20\xe3\x7c\xd1\xba\xe1\x50\x12\x3b\xd0\x2f\xfc\x94\xe4\xee\xf6\x66\xd2\x3f\x4b\x70\x94\x4a\x84\x1b\xbd\xbe\x39\x48\x9f\x95\x5b\x23\x6c\xbe\x59\xc2\x86\x9f\xbd\x33\xf6\x20\x6c\x8e\x76\x03\xe8\xb3\xd5\x59\x57\x3c\x9c\xcd\xd7\x9f\x22\x8e\x8e\x1c\x18\x95\x16\x42\x39\x9c\xd2\xd4\xe7\xa1\x5c\x68\x7a\x63\xc5\x8e\xb0\xe4\x4b\x42\x96\xc5\xee\xe8\x26\x06\xe9\x8f\xb5\xcc\xf8\xa8\x6d\xc3\x04\x7c\x3a\xf1\x7c\x1f\xf6\xe7\x26\x88\xff\x59\xf8\x92\x50\xd0\xfb\xfa\x66\xda\x70\x2d\xd5\x25\x66\x47\xd6\x31\xb0\x5a\xba\xa1\xd9\x7c\xfd\xd5\x12\x94\xae\x63\x71\xa9\xed\x3f\xf3\xc4\x64\x7a\xf7\xed\x79\x96\xff\x67\x12\xd6\x53\xdd\xc0\x4d\x20\xb7\x9b\xae\x1f\xc8\x90\x7a\xe1\x26\x89\xcb\xb0\x23\x48\x14\x6d\xd4\x15\x4c\x82\xa9\x44\x39\x9d\xff\x39\xfa\x35\x93\x64\x3a\x05\x99\xae\xeb\xf2\xfa\x89\xae\xcb\xdb\xd0\x6a\xe9\x7a\x28\xa9\xe9\xa2\x42\xab\x4a\x68\xaa\xca\xf0\xf7\x46\xa8\xf0\x6d\x22\xad\x4d\xb4\x5d\x1e\x2e\x6c\x2e\xc5\x5b\xde\xd0\xfa\x13\xaa\xed\x43\xc2\x66\x8b\x85\xb1\xb8\xe9\x53\xca\x10\xda\xa2\xd2\xae\x71\x3d\x24\x7e\x3d\xe1\xf1\x52\x76\x8b\x3b\xa9\x35\x51\xe0\xd1\x2f\x18\xba\xdf\x36\x4c\xcc\xbe\xc0\xb7\xaf\x5e\x41\xb0\x72\x7e\xf2\x6e\x01\x5f\x3d\xee\xf7\x9f\x5a\x0c\x25\x67\xf6\xbb\x5d\xa9\x59\xd1\xf9\xb8\xb6\xb8\xe7\x1f\x16\xa4\xe1\x22\xf4\x36\xc6\xdd\xaf\xf4\xfe\x7c\x4d\x74\x61\x03\x43\xe4\xb9\x03\xe9\x3b\x85\xb1\xf0\x1a\xec\xbd\x9c\x68\x9f\x5f\xdc\xbe\x98\x4a\xa2\xe3\x0c\x4a\x65\xbd\x73\x68\x7d\x77\xc7\x9e\x19\x9d\x59\xf4\x91\x22\x44\xf7\x74\xd7\xa6\x21\xe2\x49\xd7\x76\x0d\xc7\xf2\x62\xbe\xec\xf5\x0a\xda\x06\x43\xea\xa5\x47\x69\x17\x1c\x38\x5a\xcb\x4a\xba\x1f\xb5\xf3\xbc\xf1\xc3\x2c\xbf\x58\xc3\xf4\xee\x7f\x27\x34\x91\xd6\xae\x5a\x07\xa9\x33\x53\xd5\xc2\xf7\x7e\x47\x44\xeb\xbb\xac\x99\x39\x79\x79\xcb\xa6\xf5\x31\x19\x6e\xff\x1e\x69\x6a\xa6\x19\x17\x37\x35\xe1\xfc\xd9\x7e\xe6\x69\xf9\xff\xf4\xee\xc4\xea\xc5\x47\x1d\x20\xd7\x54\x4f\x9e\x9c\x0e\x33\x8f\x06\xb0\xd1\x89\xf9\xdf\x6c\xcd\x7c\x92\x4d\x7c\x76\xc8\x6b\x73\xaf\x43\x9d\xa3\xfd\xac\x21\x10\xce\x9c\x9d\xe9\x5b\xf9\x4b\x2e\x02\xcc\xba\x6b\x5e\x85\x46\xd5\x7c\xf1\xe6\xd3\xdd\x17\x0c\x50\xc7\x97\x4f\xf8\x03\x71\xff\x18\xa2\xe3\xfd\x92\x3e\xc6\x1f\xd4\x99\x38\x66\xc0\x4f\x38\xbc\x95\x82\x22\xfb\xbf\xd0\x9a\x4b\xb8\x49\x1b\xae\xc7\x2a\xe7\xcf\xbe\x3c\x3a\x73\x0b\xf4\x72\xf5\x72\x0d\x57\xb7\x25\xf7\xba\x54\xbc\x58\x4b\xa7\x30\x60\x80\x99\x6a\xdf\xe2\x0b\x0e\x67\xfc\x15\xc2\xfc\xb2\xb6\xe3\x14\x14\x4e\x7f\x6a\x70\x02\xf2\x3f\x7c\xff\xf3\xf0\xef\x00\x00\x00\xff\xff\xfa\x81\xfb\x0e\xd2\x2b\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0x4f, 0xd7, 0xc8, 0xab, 0xa1, 0x86, 0xae, 0xe7, 0xe, 0xd7, 0xf2, 0x2a, 0x7a, 0xbe, 0x3a, 0xf0, 0x13, 0x8b, 0x7c, 0x50, 0xf8, 0x3b, 0x50, 0x21, 0x38, 0xc7, 0x29, 0xeb, 0x15, 0x67, 0x3e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0xc1, 0x8c, 0x85, 0x92, 0x59, 0x7a, 0x54, 0x81, 0x9d, 0xeb, 0x8c, 0x56, 0x3e, 0xbd, 0xb0, 0xd5, 0x24, 0x85, 0xd0, 0x69, 0x30, 0xfd, 0xd9, 0xcd, 0x26, 0x66, 0x3b, 0xd4, 0xe9, 0xd4, 0xb0}}
 	return a, nil
 }
 
@@ -161,7 +161,7 @@ func fungibletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\x5f\x6f\x1b\xb9\x11\x7f\xd7\xa7\x98\xea\xe1\xce\x06\x1c\x29\x09\x8a\xf6\x20\x9c\x9a\xcb\xe1\x6c\xb4\x80\x83\x18\x8e\x73\x7d\xac\xa9\xdd\x59\x8b\x30\x97\xdc\x92\x5c\x29\x82\xe1\xef\x5e\x0c\xc9\xdd\x25\xf7\x8f\x2c\xdf\xf5\x80\xd3\x43\x22\x91\xc3\x99\xdf\xfc\xe5\x0c\xcd\xcb\x4a\x69\x0b\x57\xb5\x7c\xe0\x1b\x81\x77\xea\x11\x25\x14\x5a\x95\x30\x4f\xd6\xe6\xb3\x40\xf9\x09\x2d\xcb\x99\x65\xbf\x72\xdc\x9b\x40\x99\xac\xb5\x94\xf4\xeb\x16\x8d\x12\x3b\xd4\x81\x30\x5e\x9a\xcf\x66\xcb\xe5\x12\xee\xb6\xdc\x40\xa6\xa4\xd5\x2c\xb3\xc0\xcb\x4a\x60\x89\xd2\x1a\xb0\x5b\x84\x32\x30\x06\x63\x99\xcc\x99\xce\xa1\xd2\xaa\x52\x06\x73\x77\x96\x4b\xb8\xba\xfe\xd7\xcd\x9b\x77\x6f\x7f\xf8\xfb\xc2\xad\xb8\x7f\x6e\xb1\x58\xc1\xd6\xda\xca\xac\x96\xcb\x07\x6e\xb7\xf5\x66\x91\xa9\x72\xa9\x64\x21\xd4\x7e\x59\x08\x5e\x99\xe5\x46\xa8\xcd\xb2\x64\x5c\x2e\x59\x55\x09\x9e\x31\xcb\x95\x5c\xbe\x7f\xfb\xfe\xfd\xdb\x1f\xde\xbd\x7b\x53\x04\xe5\xdf\x58\xd2\xde\xbc\x69\x90\x2c\xca\xbc\x13\xf4\xc5\xea\x3a\xb3\x06\x98\xcc\x41\xa3\x51\xb5\xce\xd0\x40\xc6\x64\xa7\x07\x28\x89\xa0\x34\x94\x4a\xa3\x3b\xd3\xaa\x64\x0f\x15\x9a\x0b\xc8\x98\x10\x98\xc3\x8e\x4c\xb7\x80\x4b\x96\x6d\xdd\x77\xb7\x0d\x1a\x2b\x8d\x86\xcc\xe1\xce\x32\xc8\x79\x51\xa0\x26\xbe\x8f\x5c\xe6\xa0\x8a\x96\x9f\xd3\x7f\xc6\xb2\x0c\x8d\x39\x63\x42\x9c\x77\x46\x4d\x1c\x99\xfa\xef\x69\x36\x03\x00\x20\xe6\x57\x77\xb4\x04\x7b\xcd\x2a\x03\x57\x77\xbf\x70\x53\x09\x76\x70\xba\x5d\xdd\xfd\xca\x6a\x61\x7f\x61\x96\x5d\xb8\x05\x6e\xa0\x36\x98\x83\x55\xf0\xc0\x77\x08\x0c\x32\x45\x1a\x5b\x84\x96\x5f\xc5\x33\x5b\x6b\x24\x8c\xac\x85\x00\x0e\xc3\x02\x3e\x29\x63\x7b\x8b\x2d\x5e\x03\x66\xab\x6a\x91\x77\xac\x3a\x6b\x5a\x8a\x16\xb2\xcf\xa2\xd9\x74\xff\xc7\x6a\x1b\xe7\x94\x46\x9d\x27\xb7\xdf\xa7\x11\x68\xa1\xb0\x41\xc5\x55\xa7\xed\x07\x47\x79\xe4\x48\x6b\x87\x55\x6c\x94\x0f\xed\x09\xe7\x3a\x2e\xb9\x3d\x6b\x97\xe8\x33\x2a\xeb\xa2\x47\xf2\x12\xef\xf3\x48\x19\xfa\x18\x14\xc5\xa2\xe5\x0c\xeb\x4e\xca\x18\x59\xcb\xd0\x11\xb6\xbf\x5a\xd2\xe7\x99\xff\xb7\x35\xfa\x3f\x51\x54\xa8\x9d\x8b\xd1\x92\x0b\xef\x46\x0c\x4f\x84\x3f\x55\x4c\xb3\xd2\x6d\x36\xb9\xbd\x82\x8f\xa0\xd1\x45\x6a\x86\xc4\x82\x92\x59\x37\xb5\xa0\x49\x95\x8e\x83\x46\x5b\x6b\x09\x1f\x1b\xaf\x79\x1f\x4e\xba\xb8\xa8\x25\x81\xf2\xc4\x67\xa9\xe0\xef\x9e\xe2\x22\xb3\x68\xbe\x3c\x9f\xaf\x86\x21\x41\x3e\x2d\xd9\x61\x83\x61\x67\x9d\x28\xb1\x08\x80\x9d\x90\xbb\x43\x85\x3f\x7a\xb2\x7f\x9c\x9d\x9f\xb7\x2c\x78\xd1\x44\x86\x67\x10\xb3\x4b\xdd\x15\x74\x0c\x94\xcc\xfc\x25\xe0\xe9\x79\x20\x22\x0d\xfa\x4d\x45\x92\x73\xac\x33\x43\x58\x4a\x2c\x71\x7e\x24\xbc\xba\x93\xed\x62\x7a\xb6\x8b\xb9\x7e\x54\x38\xf0\x56\x01\x7e\xa3\x32\xec\xfc\xca\x65\xa1\x74\xe9\xea\x27\x48\xc4\xdc\xd7\x05\xb3\x55\xfb\x8c\x39\x12\x4e\xf5\x64\xd1\xa5\xb3\x2f\xf9\x4c\xc2\x06\x7d\x19\xd9\x1c\x20\x2a\xc2\xa6\x2b\x2b\x12\xd4\x0e\xb5\x4b\x2a\x2a\x3b\x2d\x87\x07\xcd\xaa\x2d\xcf\x0c\x15\x17\x82\x70\x75\x77\x42\x3d\x68\x12\xa5\x73\x8b\x07\x83\x90\x87\x1d\xc9\x4a\x84\x42\x69\x8f\xd9\x55\xfe\x45\x4c\x9c\x1c\xbc\xfc\xc6\xa8\x2c\xad\x60\x7e\x25\xd4\x7e\x3e\x4a\xd7\x2f\x20\x24\x60\x45\xd7\x06\x97\x0f\xb3\x01\x0c\xb6\xd9\x68\xdc\x71\x66\x31\x07\x73\x28\x37\x4a\xfc\x16\x30\xd7\x9f\xff\x3d\x9f\x04\xe0\xd9\x8e\x43\xf8\x08\x39\x9a\x4c\xf3\xca\x79\x92\xcc\x5a\x69\xb5\xe3\x39\x9a\xc4\x11\xce\xe4\xaf\x41\x44\xaa\x11\x2a\x7f\x82\xee\x0e\xe2\x2d\x99\x25\x17\x67\xb5\xa6\x22\x71\x68\x3d\x29\xd4\x1e\x24\xda\xbd\xd2\x8f\x8b\x69\x3d\x22\xa4\xe3\xca\x5c\x7e\xb3\xa8\x25\x13\x20\xb8\x7c\xa4\x80\x62\xf0\xf5\xf6\x9a\xbe\x38\x25\xe8\x3a\x4e\x02\x97\x6d\x54\x6d\x1d\x82\xe6\xe6\xef\x2b\xd8\x87\x80\x41\xc2\xd7\xdb\xeb\x55\xda\x15\x2d\x2e\xbb\xad\x14\xd5\xe7\xae\x19\x80\x1d\x6a\xe3\xa2\x3d\x68\x9e\xca\x05\xa1\x1e\xd4\xb4\x70\xda\x35\x7d\xb1\x9f\x30\xe7\xcc\xa4\x12\xbf\xa8\x8c\x07\x2b\xb8\xbc\xd2\x48\x1d\xc6\x50\xde\xf7\x06\x8c\x27\xdd\xaa\x12\x2b\xf6\x80\x26\xf1\x2d\xdc\x28\x63\x1c\xf9\x23\x1e\x0c\x95\x39\xca\xde\x39\x97\xc6\xb2\x07\xcd\xca\xf9\x05\xcc\xed\x9e\x5b\x8b\x9a\xbe\xe6\xdc\x64\x4a\xe7\xf3\x0b\x40\x9b\x4d\xab\xe1\x45\x9a\x15\x3c\x79\x1f\x1e\x31\xe4\xf3\xec\xa5\x4b\x36\x4e\xae\xb4\xf8\xa5\x51\x9f\xee\x8d\x44\x52\x4a\x70\x9a\x9f\xd3\x33\x47\xdc\xd3\x43\xf6\x1a\x03\x34\x87\x46\x1b\x01\x57\xbb\xd6\xce\x08\xc3\xcd\x50\x4d\xd6\xc1\x12\x43\x82\x38\xf3\xd7\xb1\x4d\x86\xa4\x91\x3d\x60\x1d\x5b\x67\x48\xea\xcc\x00\x6b\x6f\x8e\x11\x54\x5e\x79\x82\xe5\xbf\x9d\xda\x8c\x74\xb5\x9c\x4b\x60\xb0\x67\x07\xb0\x5b\x66\x61\xcf\x85\x68\x2e\x4f\xdf\x60\xe7\xa0\x9c\x1a\x4c\xb4\x17\x04\xfc\x11\x8d\x8b\x6c\xe5\x44\xe0\x4e\xed\x62\x9a\xeb\xfb\x3f\xf0\x8a\x56\xa6\xed\x58\x9f\xfa\xbd\x88\x6b\x41\xc2\xf6\x89\x6d\x4d\xa0\xa6\xce\xa6\x17\x5b\x81\x67\x9e\xb0\x1b\x48\x60\xe6\xc3\xe8\x05\xdb\x7c\x82\x99\x22\x2e\x09\xc9\xf3\x74\x0f\x24\xb9\xf8\x6d\x2d\x88\xb1\x54\x64\xdd\xb0\x22\x2d\xba\x39\x68\xcf\xed\x36\x34\xb2\xd4\xf6\x2c\x5e\xd5\x90\x18\xb4\x75\x15\x9d\xf6\xdc\x68\x1c\x45\xdd\x85\x14\x49\x65\x0f\x5e\x6e\x55\x6f\x04\xcf\x20\x63\x15\xdb\x70\xc1\x2d\x6f\x4a\xea\xf1\xa9\xa5\xed\xd3\xd3\x3e\xe5\x86\xd9\x2d\x85\x7b\x23\x61\xbf\x45\xdd\x36\x57\x01\x12\x37\xa0\x31\x53\x65\x89\x32\x74\x61\x1b\xf4\x86\xc8\x8f\xd4\x60\xcf\x90\xf8\x53\x01\x6c\x7f\xa4\xf7\xc8\x8d\x57\xa6\x22\x14\xfb\x2d\xcf\xb6\x50\xd6\xc6\x12\x7f\xba\x5a\xbc\xb0\xc8\x21\x41\x77\x8d\x19\x72\xca\x9c\xd6\x08\x87\x69\x20\x0d\xb1\x47\xe2\x05\xfe\x6e\x20\x1b\x26\x18\xa5\x72\x33\xa2\xbb\x3c\x9e\xf4\xcc\x18\xac\x66\xc0\x7e\x01\x96\xe6\x3b\x66\x31\xc6\x15\xa6\xd8\x49\x13\xf9\xe6\x2a\xb6\x0d\x51\x50\x58\xe5\x9a\xed\xa9\x3c\xe4\x06\x12\x21\xee\x11\x85\xce\x46\xf1\x3b\x06\xb9\x61\x1d\x20\x7b\x68\x43\xcc\x94\xfc\xbe\x70\x0e\xa0\x32\xdf\x0b\xdd\xc7\x3e\xb9\x5f\xf8\x44\xe1\x06\x18\xd9\xd2\x6a\x9e\x51\xab\x1a\x5e\x2a\xfe\x5b\x73\xba\xc1\x52\xc4\x8e\x49\xf2\xfe\xb0\xb8\x0d\x2c\xef\x7d\x62\x16\x2c\xc3\x97\x63\xe2\xda\xc1\x22\xc0\x2b\x07\xfb\xcf\xa0\xc8\xcf\x3e\xb4\xee\x5d\x6c\xdd\x8f\x96\xea\x48\xc7\x13\x22\xec\xf7\x2a\xc9\x0a\xa5\xdd\x33\x09\x57\x12\x73\xa8\xa2\x90\x0c\x1a\x27\x0c\xb9\x01\x49\x55\x53\x88\xc3\x88\x1d\x7c\xb1\xa4\xc1\xbf\xe4\x92\x97\x75\x39\x66\x82\x9b\x10\x68\x27\xf9\xb2\x89\xca\xe3\x6a\x5e\xd5\x32\x0b\x03\x08\x49\x17\x42\xed\x0d\x64\x1a\x7d\x71\x57\x05\xcd\x22\x58\x56\xf6\xd0\x95\x3d\x47\x49\xfe\x94\xd6\x15\xbe\xd4\x71\x2a\x5c\x05\xa1\xe7\xcd\x8f\x38\xc2\x89\xc1\x4b\xe2\xee\xca\xf0\x8a\x0e\x9c\x9d\xaf\xe0\xa7\x8f\xf2\x70\x1b\x2e\xff\xa7\xd4\x04\x8e\xf0\xe5\xe6\x74\xaa\xca\x5e\xf4\xde\x08\xc6\x4b\x60\x4a\x35\x55\x91\x52\xaa\xc9\x22\x30\x2e\xb2\xef\x95\x71\x91\xc7\xa9\xa6\x3c\x9c\x52\xf5\xad\xdc\x78\xfc\x15\xd6\x6e\x58\xf5\xbb\x95\x4a\xe3\x68\xf7\xd1\x57\x71\xc1\xcd\x97\x7a\x43\x71\x7e\xa6\x0a\x8f\xf1\xc7\xef\x9e\xc6\xeb\xd4\x33\x75\x45\x2b\x98\x37\xbf\x9b\xdb\xc3\x65\x89\xbb\x7b\xb8\xcc\x44\x9d\x23\x8c\x9f\x8f\xa6\xd8\x69\x6b\x9e\x02\x28\xd4\x9b\x0b\x18\xef\x0a\x03\xcc\x66\x7e\x38\x15\xe6\xcf\xd1\x05\x39\xca\x38\x2e\x61\x43\x55\x86\x2e\x3f\x45\x95\xa6\x6e\x34\xa0\x9b\xdf\x2f\xa2\x6d\x09\xbb\x7a\x33\x9f\x68\x25\xa1\x1d\x33\xba\x6c\xa3\x51\x23\xea\x70\x06\xa4\x71\xfe\xc1\x3a\x49\xc7\x21\x71\x9c\x86\xd4\x14\x47\x3f\x87\xc4\x71\x36\xc2\x3a\x49\xce\x69\x18\x9d\x51\x23\x30\xdd\xe2\x34\xa4\xe4\xe0\x70\x71\x1a\x5e\x72\x70\xb8\x38\x3c\xd8\x4f\x66\x58\x4f\xe6\xf7\xe9\xd3\x5d\xd7\x03\xbf\x3c\xdf\x7d\xee\xcf\x77\x7f\xc8\xbb\x74\x34\xdd\x75\xe0\x4e\x7e\xa5\x6e\x1f\x59\x5f\x35\xe1\x75\x7f\x02\x18\xce\x78\xbb\x13\x9f\xab\x1b\x16\xd3\x93\xdd\x2e\xb0\x09\x33\xdc\xd8\xf8\xd1\x7c\x82\x35\x76\xff\xdf\xd9\xcd\x2a\xcb\x04\x98\xba\xaa\x44\xfb\x0a\xe8\x50\x7c\x1f\xde\x18\xa7\x66\xa5\x3b\x3a\xf8\xc5\x9f\x9b\xfe\x33\x8f\x67\xbc\x82\xaf\x57\xfc\xdb\xdf\xfe\x3a\x76\x4f\xdb\x8e\x4f\x43\x36\xfa\xc2\x12\x20\xae\x21\x3a\x30\x88\xe9\xe7\x19\xfc\x2f\x00\x00\xff\xff\x87\x41\x46\xa9\x53\x1d\x00\x00"
+var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\x5f\x6f\x1b\xb9\x11\x7f\xd7\xa7\x98\xea\xe1\xce\x06\x1c\x29\x09\x8a\xf6\x20\x9c\x9a\xcb\xe1\x6c\xb4\x80\x83\x18\x8e\x73\x7d\xac\xa9\xdd\x59\x8b\x30\x97\xdc\x92\x5c\x29\x82\xe1\xef\x5e\x0c\xc9\xdd\x25\xf7\x8f\x2c\xdf\xf5\x80\xd3\x83\x23\x91\xc3\x99\xdf\xfc\xe5\x0c\xc3\xcb\x4a\x69\x0b\x57\xb5\x7c\xe0\x1b\x81\x77\xea\x11\x25\x14\x5a\x95\x30\x4f\xd6\xe6\xb3\x40\xf9\x09\x2d\xcb\x99\x65\xbf\x72\xdc\x9b\x40\x99\xac\xb5\x94\xf4\xeb\x16\x8d\x12\x3b\xd4\x81\x30\x5e\x9a\xcf\x66\xcb\xe5\x12\xee\xb6\xdc\x40\xa6\xa4\xd5\x2c\xb3\xc0\xcb\x4a\x60\x89\xd2\x1a\xb0\x5b\x84\x32\x30\x06\x63\x99\xcc\x99\xce\xa1\xd2\xaa\x52\x06\x73\x77\x96\x4b\xb8\xba\xfe\xd7\xcd\x9b\x77\x6f\x7f\xf8\xfb\xc2\xad\xb8\x3f\xb7\x58\xac\x60\x6b\x6d\x65\x56\xcb\xe5\x03\xb7\xdb\x7a\xb3\xc8\x54\xb9\x54\xb2\x10\x6a\xbf\x2c\x04\xaf\xcc\x72\x23\xd4\x66\x59\x32\x2e\x97\xac\xaa\x04\xcf\x98\xe5\x4a\x2e\xdf\xbf\x7d\xff\xfe\xed\x0f\xef\xde\xbd\x29\x82\xf2\x6f\x2c\x69\x6f\xde\x34\x48\x16\x65\xde\x09\xfa\x62\x75\x9d\x59\x03\x4c\xe6\xa0\xd1\xa8\x5a\x67\x68\x20\x63\xb2\xd3\x03\x94\x44\x50\x1a\x4a\xa5\xd1\x9d\x69\x55\xb2\x87\x0a\xcd\x05\x64\x4c\x08\xcc\x61\x47\xa6\x5b\xc0\x25\xcb\xb6\xee\xbb\xdb\x06\x8d\x95\x46\x43\xe6\x70\x67\x19\xe4\xbc\x28\x50\x13\xdf\x47\x2e\x73\x50\x45\xcb\xcf\xe9\x3f\x63\x59\x86\xc6\x9c\x31\x21\xce\x3b\xa3\x26\x8e\x4c\xfd\xf7\x34\x9b\x01\x00\x10\xf3\xab\x3b\x5a\x82\xbd\x66\x95\x81\xab\xbb\x5f\xb8\xa9\x04\x3b\x38\xdd\xae\xee\x7e\x65\xb5\xb0\xbf\x30\xcb\x2e\xdc\x02\x37\x50\x1b\xcc\xc1\x2a\x78\xe0\x3b\x04\x06\x99\x22\x8d\x2d\x42\xcb\xaf\xe2\x99\xad\x35\x12\x46\xd6\x42\x00\x87\x61\x01\x9f\x94\xb1\xbd\xc5\x16\xaf\x01\xb3\x55\xb5\xc8\x3b\x56\x9d\x35\x2d\x45\x0b\xd9\x67\xd1\x6c\xba\x7f\x63\xb5\x8d\x73\x4a\xa3\xce\x93\xdb\xef\xd3\x08\xb4\x50\xd8\xa0\xe2\xaa\xd3\xf6\x83\xa3\x3c\x72\xa4\xb5\xc3\x2a\x36\xca\x87\xf6\x84\x73\x1d\x97\xdc\x9e\xb5\x4b\xf4\x19\x95\x75\xd1\x23\x79\x89\xf7\x79\xa4\x0c\x7d\x0c\x8a\x62\xd1\x72\x86\x75\x27\x65\x8c\xac\x65\xe8\x08\xdb\x5f\x2d\xe9\xf3\xcc\xff\x6d\x8d\xfe\x4f\x14\x15\x6a\xe7\x62\xb4\xe4\xc2\xbb\x11\xc3\x13\xe1\x4f\x15\xd3\xac\x74\x9b\x4d\x6e\xaf\xe0\x23\x68\x74\x91\x9a\x21\xb1\xa0\x64\xd6\x4d\x2d\x68\x52\xa5\xe3\xa0\xd1\xd6\x5a\xc2\xc7\xc6\x6b\xde\x87\x93\x2e\x2e\x6a\x49\xa0\x3c\xf1\x59\x2a\xf8\xbb\xa7\xb8\xc8\x2c\x9a\x2f\xcf\xe7\xab\x61\x48\x90\x4f\x4b\x76\xd8\x60\xd8\x59\x27\x4a\x2c\x02\x60\x27\xe4\xee\x50\xe1\x8f\x9e\xec\x1f\x67\xe7\xe7\x2d\x0b\x5e\x34\x91\xe1\x19\xc4\xec\x52\x77\x05\x1d\x03\x25\x33\x7f\x09\x78\x7a\x1e\x88\x48\x83\x7e\x53\x91\xe4\x1c\xeb\xcc\x10\x96\x12\x4b\x9c\x1f\x09\xaf\xee\x64\xbb\x98\x9e\xed\x62\xae\x1f\x15\x0e\xbc\x55\x80\xdf\xa8\x0c\x3b\xbf\x72\x59\x28\x5d\xba\xfa\x09\x12\x31\xf7\x75\xc1\x6c\xd5\x3e\x63\x8e\x84\x53\x3d\x59\x74\xe9\xec\x4b\x3e\x93\xb0\x41\x5f\x46\x36\x07\x88\x8a\xb0\xe9\xca\x8a\x04\xb5\x43\xed\x92\x8a\xca\x4e\xcb\xe1\x41\xb3\x6a\xcb\x33\x43\xc5\x85\x20\x5c\xdd\x9d\x50\x0f\x9a\x44\xe9\xdc\xe2\xc1\x20\xe4\x61\x47\xb2\x12\xa1\x50\xda\x63\x76\x95\x7f\x11\x13\x27\x07\x2f\xbf\x31\x2a\x4b\x2b\x98\x5f\x09\xb5\x9f\x8f\xd2\xf5\x0b\x08\x09\x58\xd1\xb5\xc1\xe5\xc3\x6c\x00\x83\x6d\x36\x1a\x77\x9c\x59\xcc\xc1\x1c\xca\x8d\x12\xbf\x05\xcc\xf5\xe7\x7f\xcf\x27\x01\x78\xb6\xe3\x10\x3e\x42\x8e\x26\xd3\xbc\x72\x9e\x24\xb3\x56\x5a\xed\x78\x8e\x26\x71\x84\x33\xf9\x6b\x10\x91\x6a\x84\xca\x9f\xa0\xbb\x83\x78\x4b\x66\xc9\xc5\x59\xad\xa9\x48\x1c\x5a\x4f\x0a\xb5\x07\x89\x76\xaf\xf4\xe3\x62\x5a\x8f\x08\xe9\xb8\x32\x97\xdf\x2c\x6a\xc9\x04\x08\x2e\x1f\x29\xa0\x18\x7c\xbd\xbd\xa6\x2f\x4e\x09\xba\x8e\x93\xc0\x65\x1b\x55\x5b\x87\xa0\xb9\xf9\xfb\x0a\xf6\x21\x60\x90\xf0\xf5\xf6\x7a\x95\x76\x45\x8b\xcb\x6e\x2b\x45\xf5\xb9\x6b\x06\x60\x87\xda\xb8\x68\x0f\x9a\xa7\x72\x41\xa8\x07\x35\x2d\x9c\x76\x4d\x5f\xec\x27\xcc\x39\x33\xa9\xc4\x2f\x2a\xe3\xc1\x0a\x2e\xaf\x34\x52\x87\x31\x94\xf7\xbd\x01\xe3\x49\xb7\xaa\xc4\x8a\x3d\xa0\x49\x7c\x0b\x37\xca\x18\x47\xfe\x88\x07\x43\x65\x8e\xb2\x77\xce\xa5\xb1\xec\x41\xb3\x72\x7e\x01\x73\xbb\xe7\xd6\xa2\xa6\xaf\x39\x37\x99\xd2\xf9\xfc\x02\xd0\x66\xd3\x6a\x78\x91\x66\x05\x4f\xde\x87\x47\x0c\xf9\x3c\x7b\xe9\x92\x8d\x93\x2b\x2d\x7e\x69\xd4\xa7\x7b\x23\x91\x94\x12\x9c\xe6\xe7\xf4\xcc\x11\xf7\xf4\x90\xbd\xc6\x00\xcd\xa1\xd1\x46\xc0\xd5\xae\xb5\x33\xc2\x70\x33\x54\x93\x75\xb0\xc4\x90\x20\xce\xfc\x75\x6c\x93\x21\x69\x64\x0f\x58\xc7\xd6\x19\x92\x3a\x33\xc0\xda\x9b\x63\x04\x95\x57\x9e\x60\xf9\x6f\xa7\x36\x23\x5d\x2d\xe7\x12\x18\xec\xd9\x01\xec\x96\x59\xd8\x73\x21\x9a\xcb\xd3\x37\xd8\x39\x28\xa7\x06\x13\xed\x05\x01\x7f\x44\xe3\x22\x5b\x39\x11\xb8\x53\xbb\x98\xe6\xfa\xfe\x0f\xbc\xa2\x95\x69\x3b\xd6\xa7\x7e\x2f\xe2\x5a\x90\xb0\x7d\x62\x5b\x13\xa8\xa9\xb3\xe9\xc5\x56\xe0\x99\x27\xec\x06\x12\x98\xf9\x30\x7a\xc1\x36\x9f\x60\xa6\x88\x4b\x42\xf2\x3c\xdd\x03\x49\x2e\x7e\x5b\x0b\x62\x2c\x15\x59\x37\xac\x48\x8b\x6e\x0e\xda\x73\xbb\x0d\x8d\x2c\xb5\x3d\x8b\x57\x35\x24\x06\x6d\x5d\x45\xa7\x3d\x37\x1a\x47\x51\x77\x21\x45\x52\xd9\x83\x97\x5b\xd5\x1b\xc1\x33\xc8\x58\xc5\x36\x5c\x70\xcb\x9b\x92\x7a\x7c\x6a\x69\xfb\xf4\xb4\x4f\xb9\x61\x76\x4b\xe1\xde\x48\xd8\x6f\x51\xb7\xcd\x55\x80\xc4\x0d\x68\xcc\x54\x59\xa2\x0c\x5d\xd8\x06\xbd\x21\xf2\x23\x35\xd8\x33\x24\xfe\x54\x00\xdb\x1f\xe9\x3d\x72\xe3\x95\xa9\x08\xc5\x7e\xcb\xb3\x2d\x94\xb5\xb1\xc4\x9f\xae\x16\x2f\x2c\x72\x48\xd0\x5d\x63\x86\x9c\x32\xa7\x35\xc2\x61\x1a\x48\x43\xec\x91\x78\x81\xbf\x1b\xc8\x86\x09\x46\xa9\xdc\x8c\xe8\x2e\x8f\x27\x3d\x33\x06\xab\x19\xb0\x5f\x80\xa5\xf9\x8e\x59\x8c\x71\x85\x29\x76\xd2\x44\xbe\xb9\x8a\x6d\x43\x14\x14\x56\xb9\x66\x7b\x2a\x0f\xb9\x81\x44\x88\x7b\x44\xa1\xb3\x51\xfc\x8e\x41\x6e\x58\x07\xc8\x1e\xda\x10\x33\x25\xbf\x2f\x9c\x03\xa8\xcc\xf7\x42\xf7\xb1\x4f\xee\x17\x3e\x51\xb8\x01\x46\xb6\xb4\x9a\x67\xd4\xaa\x86\x97\x8a\xff\xd6\x9c\x6e\xb0\x14\xb1\x63\x92\xbc\x3f\x2c\x6e\x03\xcb\x7b\x9f\x98\x05\xcb\xf0\xe5\x98\xb8\x76\xb0\x08\xf0\xca\xc1\xfe\x33\x28\xf2\xb3\x0f\xad\x7b\x17\x5b\xf7\xa3\xa5\x3a\xd2\xf1\x84\x08\xfb\xbd\x4a\xb2\x42\x69\xf7\x4c\xc2\x95\xc4\x1c\xaa\x28\x24\x83\xc6\x09\x43\x6e\x40\x52\xd5\x14\xe2\x30\x62\x07\x5f\x2c\x69\xf0\x2f\xb9\xe4\x65\x5d\x8e\x99\xe0\x26\x04\xda\x49\xbe\x6c\xa2\xf2\xb8\x9a\x57\xb5\xcc\xc2\x00\x42\xd2\x85\x50\x7b\x03\x99\x46\x5f\xdc\x55\x41\xb3\x08\x96\x95\x3d\x74\x65\xcf\x51\x92\x3f\xa5\x75\x85\x2f\x75\x9c\x0a\x57\x41\xe8\x79\xf3\x23\x8e\x70\x62\xf0\x92\xb8\xbb\x32\xbc\xa2\x03\x67\xe7\x2b\xf8\xe9\x29\xd5\xdb\xed\xbe\xdc\x91\x4e\x95\xd6\x8b\xde\xc3\xc0\x78\xdd\x4b\xa9\xa6\xca\x50\x4a\x35\x99\xf9\xe3\x22\xfb\xae\x18\x17\x79\x9c\x6a\xca\xad\x29\x55\xdf\xb4\x8d\x9b\x5f\x32\x71\x73\xbe\xdf\x97\x54\x1a\x47\xfb\x8c\xbe\x5e\x0b\x6e\xbe\xd4\x1b\x8a\xe8\x33\x55\x78\x60\x3f\x7e\xf7\x34\x5e\x91\x9e\xa9\xff\x59\xc1\xbc\xf9\xdd\xdc\x13\x2e\x1f\xdc\x2d\xc3\x65\x26\xea\x1c\x61\xfc\x7c\x34\xaf\x4e\x9b\xf0\x14\x40\xa1\xb2\x5c\xc0\x78\xff\x17\x60\x36\x93\xc2\xa9\x30\x7f\x8e\xae\xc2\x51\xc6\x71\xb1\x1a\xaa\x32\xf4\xf3\x29\xaa\x34\x15\xa2\x01\xdd\xfc\x7e\x11\x6d\x4b\xd8\x55\x96\xf9\x44\xd3\x08\xed\x40\xd1\xa5\x18\x0d\x15\x51\x2f\x33\x20\x8d\x93\x0e\xd6\x49\x0e\x0e\x89\xe3\xdc\xa3\xf6\x37\xfa\x39\x24\x8e\x53\x10\xd6\x49\x46\x4e\xc3\xe8\x8c\x1a\x81\xe9\x16\xa7\x21\x25\x07\x87\x8b\xd3\xf0\x92\x83\xc3\xc5\xe1\xc1\x7e\x06\xc3\x7a\x32\xa9\x4f\x9f\xe3\xba\x6e\xf7\xe5\x49\xee\x73\x7f\x92\xfb\x43\x5e\xa0\xa3\x39\xae\x03\x77\xf2\x7b\x74\xfb\x9c\xfa\xaa\x59\xae\x7b\xec\x1f\x4e\x73\xbb\x13\x1f\xa6\x1b\x16\xd3\x33\xdc\x2e\xb0\x09\xd3\xda\xd8\xa0\xd1\x7c\x82\x35\x76\xff\xdf\x29\xcd\x2a\xcb\x04\x98\xba\xaa\x44\xfb\xde\xe7\x50\x7c\x1f\x5e\x13\xa7\xa6\xa2\x3b\x3a\xf8\xc5\x9f\x9b\xfe\x0f\x1d\xcf\x78\x05\x5f\xaf\xf8\xb7\xbf\xfd\x75\xec\x72\xb6\x1d\x9f\x86\x6c\xf4\x2d\x25\x40\x5c\x43\x74\x60\x10\xd3\xcf\x33\xf8\x5f\x00\x00\x00\xff\xff\x4a\xf6\x46\xcb\x3d\x1d\x00\x00"
 
 func fungibletokenmetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -177,7 +177,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenMetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0xf6, 0xa8, 0xb6, 0xf5, 0xc2, 0x65, 0x5c, 0xf0, 0xee, 0x2d, 0xf, 0xb4, 0x89, 0x2, 0xad, 0xcd, 0xb8, 0x52, 0xf6, 0x5c, 0xb0, 0xc5, 0xd1, 0xd8, 0xe6, 0xd5, 0x84, 0x17, 0x52, 0x8a, 0xc0}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0x14, 0xb0, 0x9d, 0x1c, 0x34, 0x34, 0xca, 0xfc, 0x55, 0x46, 0xa0, 0x9a, 0xb8, 0xa, 0x9c, 0x19, 0x32, 0x1, 0x50, 0x13, 0xa8, 0xf2, 0x6c, 0xe2, 0x24, 0xfb, 0x15, 0x19, 0xb1, 0x9e, 0x49}}
 	return a, nil
 }
 
@@ -201,7 +201,7 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	return a, nil
 }
 
-var _multiplevaultsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\x3d\xaf\xd3\x30\x14\x86\xf7\xfc\x8a\x57\x9d\x9a\x81\xf6\x0a\x21\x86\x48\x17\xf1\x21\xba\xdd\x05\x0a\x0b\x62\x38\xd7\x3d\x69\x2c\x1c\xdb\xb2\x8f\x53\x42\xd5\xff\x8e\xec\xa4\xbd\x2d\x5d\xf0\x60\xc5\x47\xf6\xfb\xf1\x28\x55\xa5\x7b\xef\x82\x60\x93\xec\x5e\x3f\x1b\xde\xba\x5f\x6c\xd1\x06\xd7\x63\x71\x33\x7b\x35\xbc\x5e\x54\x15\x29\xc5\x31\x2e\xc9\x98\x1a\xca\x59\x09\xa4\x04\xda\x0a\x87\x96\x14\xe3\x29\x19\xd1\xde\xf0\x77\x4a\x46\x22\x8e\x55\x05\x00\xeb\xf5\x1a\x9f\x9c\x15\xd2\x36\x42\x3a\x86\x38\x21\x83\x98\xbc\x37\x23\x5c\x5b\x66\xed\x6c\x06\xc9\x6e\x11\x3b\x6e\xb5\xe5\x1d\xb4\x85\x74\x3a\x5e\xdc\x8a\xe2\x1c\xe3\x3c\xab\x31\x50\x98\x54\xbf\x16\xd1\x06\xc7\xed\xe8\xb9\xc1\xb7\x8d\xfe\xfd\xf6\xcd\xe9\x25\xc7\x26\x59\x25\xda\x59\x88\x43\x60\x49\xc1\x4e\x89\x46\xcf\x39\x1b\x49\x39\xbe\x54\xeb\xbd\xe1\x9e\xad\xc4\x6b\xdf\x52\x7f\xd0\x7c\xc8\xa9\xb1\x67\x29\x7d\xb3\x63\x5c\xd6\x0d\x7e\xe4\xaf\x9f\x38\x96\x27\x79\x79\x17\xe5\xea\x98\x57\xe0\x98\x8c\xac\x0c\xdb\xbd\x74\x78\x87\x87\x06\x8b\xa7\x14\x33\xcc\x9d\x56\x24\x8c\x43\x0e\x73\x4b\xe5\x12\xf3\x8a\xc7\x0c\x2a\x2e\x2e\xf2\xa7\x6a\xda\x2f\x9d\x55\x60\x12\xfe\xdc\x7b\x19\x4b\x50\x90\x31\xee\x10\x41\x76\x44\x8a\x9c\xc9\xcd\x77\x40\xb0\x7c\xc0\x74\xab\xd0\xe8\x28\x82\xf0\x87\x83\xc3\x33\x19\xb2\x8a\xcf\xb2\x77\x40\x32\x8b\x7f\xad\x96\xc3\x99\x4c\x83\xbc\xd7\x0d\xde\x7f\xb0\xe3\x17\x8e\x2e\x05\xc5\xc7\x9b\x5f\x6c\x55\x9e\x9c\xfe\x0b\xdc\x9e\xe5\xe3\x94\x67\x59\xe3\xf1\x11\x0f\xab\x4c\x70\xdb\x71\x2e\x60\xc6\x39\xc8\x6e\xae\xd2\x67\xb2\x1d\x0d\x7c\xd3\xe4\x1e\x59\xde\xab\xd3\xdf\x00\x00\x00\xff\xff\x04\xad\xff\x8d\x15\x03\x00\x00"
+var _multiplevaultsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xc1\x8e\xd3\x30\x10\x86\xef\x79\x8a\x5f\x3d\x35\x07\xda\x15\x42\x1c\x22\x2d\x42\x20\x7a\xdb\x13\x85\x0b\xe2\x30\xeb\x4e\x1a\x0b\xc7\xb6\xec\x71\x4a\xa8\xfa\xee\xc8\x4e\xda\x6d\xd8\x0b\x3e\x58\xf5\x68\x3a\xff\x37\x9f\x52\x55\xba\xf7\x2e\x08\x76\xc9\x1e\xf5\xb3\xe1\xbd\xfb\xc5\x16\x6d\x70\x3d\x56\x8b\xda\x9b\xe1\xed\xaa\xaa\x48\x29\x8e\x71\x4d\xc6\xd4\x50\xce\x4a\x20\x25\xd0\x56\x38\xb4\xa4\x18\x4f\xc9\x88\xf6\x86\xbf\x53\x32\x12\x71\xae\x2a\x00\xd8\x6e\xb7\xf8\xec\xac\x90\xb6\x11\xd2\x31\xc4\x09\x19\xc4\xe4\xbd\x19\xe1\xda\x52\x6b\xe7\x30\x48\x4e\x8b\x38\x70\xab\x2d\x1f\xa0\x2d\xa4\xd3\xf1\x96\x56\x26\xce\x18\xd7\x5a\x8d\x81\xc2\x34\xf5\x6b\x19\xda\xe0\xbc\x1f\x3d\x37\xf8\xb6\xd3\xbf\xdf\xbf\xbb\xbc\x70\xec\x92\x55\xa2\x9d\x85\x38\x04\x96\x14\xec\x44\x34\x7a\xce\x6c\x24\xe5\xf9\xb2\x5a\xef\x0d\xf7\x6c\x25\xde\xe7\x96\xf5\x07\xcd\xa7\x4c\x8d\x23\x4b\xd9\x37\x27\xc6\x75\xdd\xe0\x47\xfe\xf5\x13\xe7\xf2\x97\x7c\xbc\x8b\x72\xf7\xcc\x27\x70\x4c\x46\x36\x86\xed\x51\x3a\x7c\xc0\x43\x83\xd5\x53\x8a\x59\xe6\x41\x2b\x12\xc6\x29\xc3\x2c\xad\xdc\x30\xef\x7c\xcc\xa2\xe2\xea\x36\xfe\x52\x4d\xf7\x6d\x67\x15\x98\x84\xbf\xf4\x5e\xc6\x02\x0a\x32\xc6\x9d\x22\xc8\x8e\x48\x91\xb3\xb9\xb9\x07\x04\xcb\x27\x4c\x5d\xc5\x46\x47\x11\x84\x3f\x1c\x1c\x9e\xc9\x90\x55\x7c\x1d\xfb\x4a\x48\x76\xf1\x6f\xd4\x7a\xb8\x9a\x69\x90\xef\xba\xc1\xc7\xf3\xe2\xbb\xda\x94\xbe\xcb\x7f\xd9\x3a\xb2\x7c\x9a\x20\xd6\x35\x1e\x1f\xf1\xb0\xc9\xda\xf6\x1d\x67\x6a\x33\xce\xe9\x87\x99\xbf\xcf\x3a\x3b\x1a\x78\x81\xff\xda\x53\xbe\xab\xcb\xdf\x00\x00\x00\xff\xff\xfb\xe4\x4c\x60\x0a\x03\x00\x00"
 
 func multiplevaultsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -217,7 +217,7 @@ func multiplevaultsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "MultipleVaults.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0xb8, 0xb4, 0x8, 0xf9, 0x9b, 0x7, 0x1f, 0xfa, 0xda, 0xf2, 0x90, 0xe1, 0xa9, 0xa7, 0x6c, 0x4e, 0x82, 0x35, 0xce, 0x8b, 0xad, 0x4f, 0x9e, 0xce, 0x3b, 0xa4, 0xef, 0xce, 0xa8, 0xdd, 0xd2}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc2, 0x4c, 0x8d, 0x93, 0x20, 0xfa, 0x5, 0xa0, 0xbd, 0x75, 0xac, 0x28, 0x2e, 0x9b, 0xa9, 0x15, 0x0, 0x51, 0xe1, 0x30, 0xcb, 0xde, 0x95, 0x17, 0x68, 0x5, 0x80, 0x7c, 0x52, 0xd1, 0x7d, 0x9c}}
 	return a, nil
 }
 

From b7d288348fd30f6132da597e1ba98c364aba69c4 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 15 Aug 2023 11:18:37 -0500
Subject: [PATCH 014/115] update dependencies for stable cadence

---
 lib/go/test/go.mod                |  22 +-
 lib/go/test/go.sum                | 973 ++++++++++++++++++++++++++++--
 lib/go/test/token_test_helpers.go |  79 +++
 3 files changed, 1004 insertions(+), 70 deletions(-)

diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index e0c3d897..bfb88fa9 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -3,17 +3,18 @@ module github.com/onflow/flow-ft/lib/go/test
 go 1.18
 
 require (
-	github.com/onflow/cadence v0.40.0
-	github.com/onflow/flow-emulator v0.54.0
-	github.com/onflow/flow-ft/lib/go/contracts v0.7.0
+	github.com/onflow/cadence v0.39.13-stable-cadence.0.20230811182010-c66466eb6b1a
+	github.com/onflow/flow-emulator v0.54.1-0.20230810231813-53e63bcc9c8f
+	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20230726183918-f90805445bfa
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
-	github.com/onflow/flow-go-sdk v0.41.10
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.0
+	github.com/onflow/flow-go-sdk v0.41.10-0.20230719221154-2a4946e41c23
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230811183441-b882831b7c12
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
 
 require (
+	github.com/SaveTheRbtz/mph v0.1.2 // indirect
 	github.com/beorn7/perks v1.0.1 // indirect
 	github.com/bits-and-blooms/bitset v1.5.0 // indirect
 	github.com/btcsuite/btcd/btcec/v2 v2.2.1 // indirect
@@ -61,7 +62,8 @@ require (
 	github.com/ipfs/go-log/v2 v2.5.1 // indirect
 	github.com/ipfs/go-metrics-interface v0.0.1 // indirect
 	github.com/jbenet/goprocess v0.1.4 // indirect
-	github.com/kevinburke/go-bindata v3.23.0+incompatible // indirect
+	github.com/k0kubun/pp v3.0.1+incompatible // indirect
+	github.com/kevinburke/go-bindata v3.24.0+incompatible // indirect
 	github.com/klauspost/compress v1.16.5 // indirect
 	github.com/klauspost/cpuid/v2 v2.2.5 // indirect
 	github.com/libp2p/go-buffer-pool v0.1.0 // indirect
@@ -84,9 +86,9 @@ require (
 	github.com/multiformats/go-multistream v0.4.1 // indirect
 	github.com/multiformats/go-varint v0.0.7 // indirect
 	github.com/onflow/atree v0.6.0 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230703193002-53362441b57d // indirect
-	github.com/onflow/flow-core-contracts/lib/go/templates v1.2.3 // indirect
-	github.com/onflow/flow-go v0.31.1-0.20230808172820-f074502a67e3 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230808220007-f00e74ca675b // indirect
+	github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230808220007-f00e74ca675b // indirect
+	github.com/onflow/flow-go v0.31.1-0.20230810172105-725d883609b7 // indirect
 	github.com/onflow/flow-go/crypto v0.24.9 // indirect
 	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce // indirect
 	github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead // indirect
@@ -121,8 +123,8 @@ require (
 	github.com/vmihailenco/msgpack/v4 v4.3.11 // indirect
 	github.com/vmihailenco/tagparser v0.1.1 // indirect
 	github.com/x448/float16 v0.8.4 // indirect
-	github.com/zeebo/assert v1.3.0 // indirect
 	github.com/zeebo/blake3 v0.2.3 // indirect
+	github.com/zeebo/xxh3 v1.0.2 // indirect
 	go.opentelemetry.io/otel v1.16.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index f80f5ad6..538006cb 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -27,26 +27,499 @@ cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aD
 cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
 cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
 cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
+cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA=
+cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U=
+cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A=
+cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc=
+cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU=
+cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA=
+cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM=
+cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I=
+cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY=
+cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4=
+cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw=
+cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E=
+cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o=
+cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE=
+cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM=
+cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw=
+cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY=
+cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg=
+cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ=
+cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI=
+cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4=
+cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M=
+cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE=
+cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk=
+cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc=
+cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8=
+cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc=
+cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04=
+cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8=
+cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY=
+cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM=
+cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU=
+cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI=
+cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno=
+cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak=
+cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84=
+cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4=
+cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0=
+cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY=
+cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k=
+cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ=
+cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk=
+cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0=
+cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc=
+cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI=
+cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ=
+cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o=
+cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s=
+cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0=
+cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ=
+cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY=
+cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo=
+cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY=
+cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw=
+cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI=
+cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo=
+cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0=
+cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E=
+cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0=
+cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8=
+cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8=
+cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM=
+cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU=
+cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc=
+cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI=
+cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss=
+cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE=
+cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE=
+cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g=
+cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4=
+cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8=
+cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM=
 cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
 cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
 cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
 cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
 cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
 cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
+cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA=
+cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw=
+cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc=
+cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E=
+cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac=
+cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY=
+cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s=
+cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI=
+cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y=
+cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss=
+cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM=
+cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI=
+cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0=
+cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk=
+cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q=
+cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg=
+cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590=
+cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8=
+cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk=
+cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk=
+cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE=
+cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U=
+cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA=
+cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M=
+cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg=
+cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM=
+cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk=
+cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA=
+cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY=
+cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI=
+cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4=
+cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI=
+cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y=
+cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow=
+cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM=
+cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M=
+cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s=
+cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU=
+cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U=
+cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU=
+cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU=
+cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU=
+cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE=
+cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo=
+cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA=
+cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs=
+cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU=
+cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
+cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
+cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
+cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY=
+cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck=
+cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w=
+cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg=
+cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo=
+cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4=
+cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I=
+cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4=
+cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI=
+cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0=
+cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs=
+cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc=
+cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE=
+cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM=
+cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M=
+cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0=
+cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM=
+cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ=
+cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE=
+cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo=
+cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE=
+cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0=
+cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA=
+cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38=
+cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w=
+cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8=
+cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I=
+cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ=
+cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM=
+cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA=
+cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A=
+cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ=
+cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s=
+cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI=
+cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4=
+cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo=
+cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA=
+cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c=
 cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
 cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
-cloud.google.com/go/kms v1.0.0/go.mod h1:nhUehi+w7zht2XrUfvTRNpxrfayBHqP4lu2NSywui/0=
+cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM=
+cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo=
+cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ=
+cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g=
+cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4=
+cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs=
+cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c=
+cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s=
+cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI=
+cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4=
+cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0=
+cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8=
+cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek=
+cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0=
+cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM=
+cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4=
+cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM=
+cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q=
+cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4=
+cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU=
+cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU=
+cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k=
+cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4=
+cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM=
+cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y=
+cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg=
+cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE=
+cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk=
+cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w=
+cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc=
+cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU=
+cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI=
+cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8=
+cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M=
+cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc=
+cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw=
+cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw=
+cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w=
+cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI=
+cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs=
+cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE=
+cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk=
+cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg=
+cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY=
+cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08=
+cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw=
+cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM=
+cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA=
+cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w=
+cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM=
+cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0=
+cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60=
+cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo=
+cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg=
+cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o=
+cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A=
+cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw=
+cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0=
+cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0=
+cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E=
+cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA=
+cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI=
+cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y=
+cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc=
+cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM=
+cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o=
+cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo=
+cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c=
+cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY=
+cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc=
+cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc=
+cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg=
+cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE=
+cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY=
+cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY=
+cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc=
+cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A=
+cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk=
+cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM=
+cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY=
+cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4=
+cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs=
+cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g=
+cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o=
+cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA=
+cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg=
+cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0=
+cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg=
+cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w=
+cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic=
+cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI=
+cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE=
+cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8=
+cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY=
+cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8=
+cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08=
+cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo=
+cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw=
+cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M=
+cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE=
+cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc=
+cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo=
+cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE=
+cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM=
+cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA=
+cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI=
+cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw=
+cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4=
+cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w=
+cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I=
+cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE=
+cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM=
+cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA=
+cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY=
+cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM=
+cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY=
+cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s=
+cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8=
+cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI=
+cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo=
+cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk=
+cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4=
+cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w=
+cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA=
+cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o=
+cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM=
+cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8=
+cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E=
+cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8=
+cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4=
+cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY=
+cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ=
+cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU=
+cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k=
+cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY=
+cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34=
+cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA=
+cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0=
+cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE=
+cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4=
+cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs=
+cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI=
+cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA=
+cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk=
+cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ=
+cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE=
+cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc=
+cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc=
+cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs=
+cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg=
+cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo=
+cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw=
+cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw=
+cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E=
+cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU=
+cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70=
+cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo=
+cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs=
+cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0=
+cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA=
+cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk=
+cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg=
+cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE=
+cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw=
+cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0=
+cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI=
+cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg=
 cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
 cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
 cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
 cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
+cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI=
+cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0=
+cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8=
+cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg=
+cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k=
+cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4=
+cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o=
+cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk=
+cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo=
+cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE=
+cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U=
+cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA=
+cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg=
+cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4=
+cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac=
+cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg=
+cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c=
+cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs=
+cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70=
+cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ=
+cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y=
+cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A=
+cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA=
+cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM=
+cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ=
+cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA=
+cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0=
+cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots=
+cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU=
+cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg=
+cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA=
+cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4=
+cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY=
+cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc=
+cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y=
+cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14=
+cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do=
+cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo=
+cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM=
+cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s=
+cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI=
+cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk=
+cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44=
+cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc=
+cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA=
+cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4=
+cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4=
+cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU=
+cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4=
+cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0=
+cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU=
+cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q=
+cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA=
+cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8=
+cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU=
+cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc=
+cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk=
+cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk=
+cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0=
+cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU=
+cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s=
+cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA=
+cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc=
+cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs=
+cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg=
+cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4=
+cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U=
+cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY=
+cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco=
+cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo=
+cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc=
+cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E=
+cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU=
+cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec=
+cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4=
+cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw=
+cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A=
+cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos=
+cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk=
+cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM=
+cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ=
+cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0=
+cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco=
+cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0=
 cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
 cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
 cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
 cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
 cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
 cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
+cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y=
+cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc=
+cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s=
+cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y=
+cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w=
+cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I=
+cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4=
+cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw=
+cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g=
+cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM=
+cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA=
+cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c=
+cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8=
+cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4=
+cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc=
+cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ=
+cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg=
+cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM=
+cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28=
+cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y=
+cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA=
+cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs=
+cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg=
+cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0=
+cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos=
+cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk=
+cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw=
+cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg=
+cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk=
+cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU=
+cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4=
+cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M=
+cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU=
+cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU=
+cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0=
+cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo=
+cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo=
+cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY=
+cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E=
+cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY=
+cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE=
+cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g=
+cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc=
+cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208=
+cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8=
+cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w=
+cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8=
+cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes=
+cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE=
+cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg=
+cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc=
+cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A=
+cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg=
+cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo=
+cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ=
+cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng=
+cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0=
+cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M=
+cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M=
+cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA=
+cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw=
 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
+git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc=
 github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4=
 github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc=
 github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4=
@@ -62,43 +535,66 @@ github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6L
 github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
 github.com/OneOfOne/xxhash v1.2.5 h1:zl/OfRA6nftbBK9qTohYBJ5xvw6C/oNKizR7cZGl3cI=
 github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q=
+github.com/SaveTheRbtz/mph v0.1.2 h1:5l3W496Up+7BNOVJQnJhzcGBh+wWfxWdmPUAkx3WmaM=
+github.com/SaveTheRbtz/mph v0.1.2/go.mod h1:V4+WtKQPe2+dEA5os1WnGsEB0NR9qgqqgIiSt73+sT4=
 github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
 github.com/VictoriaMetrics/fastcache v1.5.3/go.mod h1:+jv9Ckb+za/P1ZRg/sulP5Ni1v49daAVERr0H3CuscE=
-github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
+github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY=
+github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
 github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
+github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM=
 github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
 github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM=
+github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
 github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
+github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0=
+github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU=
 github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ=
 github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
+github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
+github.com/aws/aws-sdk-go-v2 v1.17.3/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
+github.com/aws/aws-sdk-go-v2 v1.17.7/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
+github.com/aws/aws-sdk-go-v2/config v1.18.19/go.mod h1:XvTmGMY8d52ougvakOv1RpiTLPz9dlG/OQHsKU/cMmY=
+github.com/aws/aws-sdk-go-v2/credentials v1.13.18/go.mod h1:vnwlwjIe+3XJPBYKu1et30ZPABG3VaXJYr8ryohpIyM=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1/go.mod h1:lfUx8puBRdM5lVVMQlwt2v+ofiG/X6Ms+dy0UkG/kXw=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27/go.mod h1:a1/UpzeyBBerajpnP5nGZa9mGzsBn5cOKxm6NWQsvoI=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31/go.mod h1:QT0BqUvX1Bh2ABdTGnjqEjvjzrCfIniM9Sc8zn9Yndo=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21/go.mod h1:+Gxn8jYn5k9ebfHEqlhrMirFjSW0v0C9fI+KN5vk2kE=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.25/go.mod h1:zBHOPwhBc3FlQjQJE/D3IfPWiWaQmT06Vq9aNukDo0k=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.3.32/go.mod h1:XGhIBZDEgfqmFIugclZ6FU7v75nHhBDtzuB4xB/tEi4=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.25/go.mod h1:/95IA+0lMnzW6XzqYJRpjjsAbKEORVeO0anQqjd2CNU=
+github.com/aws/aws-sdk-go-v2/service/kms v1.20.1/go.mod h1:13sjgMH7Xu4e46+0BEDhSnNh+cImHSYS5PpBjV3oXcU=
+github.com/aws/aws-sdk-go-v2/service/sso v1.12.6/go.mod h1:Y1VOmit/Fn6Tz1uFAeCO6Q7M2fmfXSCLeL5INVYsLuY=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6/go.mod h1:Lh/bc9XUf8CfOY6Jp5aIkQtN+j1mc+nExc+KXj9jx2s=
+github.com/aws/aws-sdk-go-v2/service/sts v1.18.7/go.mod h1:JuTnSoeePXmMVe9G8NcjjwgOKEfZ4cOjMuT2IBT/2eI=
+github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
 github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
 github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
+github.com/bits-and-blooms/bitset v1.2.2/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
 github.com/bits-and-blooms/bitset v1.5.0 h1:NpE8frKRLGHIcEzkR+gZhiioW1+WbYV6fKwD6ZIpQT8=
 github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
+github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
+github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
 github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ=
-github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ=
 github.com/btcsuite/btcd/btcec/v2 v2.2.1 h1:xP60mv8fvp+0khmrN0zTdPC3cNm24rfeE6lh2R/Yv3E=
 github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8=
-github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
-github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
-github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
-github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY=
-github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
-github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY=
-github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
-github.com/bytecodealliance/wasmtime-go v0.22.0/go.mod h1:q320gUxqyI8yB+ZqRuaJOEnGkAnHh6WtJjMaT2CW4wI=
+github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
+github.com/bytecodealliance/wasmtime-go/v7 v7.0.0/go.mod h1:bu6fic7trDt20w+LMooX7j3fsOwv4/ln6j8gAdP6vmA=
 github.com/c-bata/go-prompt v0.2.5/go.mod h1:vFnjEGDIIA/Lib7giyE4E9c50Lvl8j0S+7FVlAwDAVw=
 github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
 github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
 github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s=
 github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
 github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
@@ -106,7 +602,6 @@ github.com/cespare/xxhash/v2 v2.0.1-0.20190104013014-3767db7a7e18/go.mod h1:HD5P
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
 github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ=
 github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
 github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
 github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
@@ -116,10 +611,14 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX
 github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
 github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
 github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
 github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
 github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
@@ -132,12 +631,24 @@ github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfc
 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
-github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
+github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/dave/astrid v0.0.0-20170323122508-8c2895878b14/go.mod h1:Sth2QfxfATb/nW4EsrSi2KyJmbcniZ8TgTaji17D6ms=
+github.com/dave/brenda v1.1.0/go.mod h1:4wCUr6gSlu5/1Tk7akE5X7UorwiQ8Rij0SKH3/BGMOM=
+github.com/dave/courtney v0.3.0/go.mod h1:BAv3hA06AYfNUjfjQr+5gc6vxeBVOupLqrColj+QSD8=
+github.com/dave/dst v0.27.2/go.mod h1:jHh6EOibnHgcUW3WjKHisiooEkYwqpHLBSX1iOBhEyc=
+github.com/dave/gopackages v0.0.0-20170318123100-46e7023ec56e/go.mod h1:i00+b/gKdIDIxuLDFob7ustLAVqhsZRk2qVZrArELGQ=
+github.com/dave/jennifer v1.5.0/go.mod h1:4MnyiFIlZS3l5tSDn8VnzE6ffAhYBMB2SZntBsZGUok=
+github.com/dave/kerr v0.0.0-20170318121727-bc25dd6abe8e/go.mod h1:qZqlPyPvfsDJt+3wHJ1EvSXDuVjFTK0j2p/ca+gtsb8=
+github.com/dave/patsy v0.0.0-20210517141501-957256f50cba/go.mod h1:qfR88CgEGLoiqDaE+xxDCi5QA5v4vUoW0UCX2Nd5Tlc=
+github.com/dave/rebecca v0.9.1/go.mod h1:N6XYdMD/OKw3lkF3ywh8Z6wPGuwNFDNtWYEMFWEmXBA=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
+github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
 github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y=
+github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs=
 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs=
 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
 github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o=
@@ -151,7 +662,10 @@ github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUn
 github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
 github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
 github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
+github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
 github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
+github.com/dop251/goja v0.0.0-20200219165308-d1232e640a87/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
 github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
@@ -167,48 +681,64 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m
 github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
 github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
 github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
+github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
+github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/ethereum/go-ethereum v1.9.9/go.mod h1:a9TqabFudpDu1nucId+k9S8R9whYaHnGBLKFouA5EAo=
+github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo=
+github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w=
+github.com/ethereum/go-ethereum v1.9.13/go.mod h1:qwN9d1GLyDh0N7Ab8bMGd0H9knaji2jOBm2RrMGjXls=
 github.com/ethereum/go-ethereum v1.10.22 h1:HbEgsDo1YTGIf4KB/NNpn+XH+PiNJXUZ9ksRxiqWyMc=
 github.com/ethereum/go-ethereum v1.10.22/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg=
 github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
 github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
+github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
 github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
 github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
-github.com/fxamacker/cbor/v2 v2.2.1-0.20210927235116-3d6d5d1de29b/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
+github.com/fxamacker/cbor/v2 v2.4.1-0.20220515183430-ad2eae63303f/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
 github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c h1:5tm/Wbs9d9r+qZaUFXk59CWDD0+77PBqDREffYkyi5c=
 github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
-github.com/fxamacker/circlehash v0.1.0/go.mod h1:3aq3OfVvsWtkWMb6A1owjOQFA+TLsD5FgJflnaQwtMM=
 github.com/fxamacker/circlehash v0.3.0 h1:XKdvTtIJV9t7DDUtsf0RIpC1OcxZtPbmgIH7ekx28WA=
 github.com/fxamacker/circlehash v0.3.0/go.mod h1:3aq3OfVvsWtkWMb6A1owjOQFA+TLsD5FgJflnaQwtMM=
 github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/glebarez/go-sqlite v1.21.1 h1:7MZyUPh2XTrHS7xNEHQbrhfMZuPSzhkm2A1qgg0y5NY=
 github.com/glebarez/go-sqlite v1.21.1/go.mod h1:ISs8MF6yk5cL4n/43rSOmVMGJJjHYr7L2MbZZ5Q4E2E=
+github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
+github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
+github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
+github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
+github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
 github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
 github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
 github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4=
 github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU=
+github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
+github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk=
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
+github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
 github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
 github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
 github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
+github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
+github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
 github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
 github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
+github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/go-test/deep v1.0.5/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
 github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg=
 github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
+github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
 github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
@@ -259,6 +789,7 @@ github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
 github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
 github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -271,11 +802,15 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
+github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
+github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
 github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
 github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
 github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
+github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
 github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
 github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
 github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
@@ -297,10 +832,23 @@ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+
 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
 github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
+github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
+github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
+github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
+github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
 github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
 github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
 github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
 github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
+github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM=
+github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM=
+github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c=
+github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo=
+github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY=
+github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8=
+github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
+github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4=
 github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
@@ -327,6 +875,7 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/huin/goupnp v0.0.0-20161224104101-679507af18f3/go.mod h1:MZ2ZmwcBpvOoJ22IJsc7va19ZwoheaBk43rKg12SKag=
+github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
@@ -366,40 +915,58 @@ github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH
 github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA=
 github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o=
 github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4=
-github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
+github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
+github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
+github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
-github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
 github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
+github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
+github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
 github.com/k0kubun/go-ansi v0.0.0-20180517002512-3bf9e2903213/go.mod h1:vNUNkEQ1e29fT/6vq2aBdFsgNPmy8qMdSay1npru+Sw=
+github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd9g2S9Z40=
+github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg=
+github.com/k0kubun/pp/v3 v3.2.0/go.mod h1:ODtJQbQcIRfAD3N+theGCV1m/CBxweERz2dapdz1EwA=
 github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
+github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
 github.com/kevinburke/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
-github.com/kevinburke/go-bindata v3.23.0+incompatible h1:rqNOXZlqrYhMVVAsQx8wuc+LaA73YcfbQ407wAykyS8=
-github.com/kevinburke/go-bindata v3.23.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
+github.com/kevinburke/go-bindata v3.24.0+incompatible h1:qajFA3D0pH94OTLU4zcCCKCDgR+Zr2cZK/RPJHDdFoY=
+github.com/kevinburke/go-bindata v3.24.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
 github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
 github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
+github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE=
 github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
+github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
 github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI=
 github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
+github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
 github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
+github.com/klauspost/cpuid/v2 v2.2.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
+github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
 github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
+github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
+github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
+github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
 github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
+github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8=
 github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
 github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
 github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c=
@@ -409,11 +976,12 @@ github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLE
 github.com/libp2p/go-libp2p-kbucket v0.6.3 h1:p507271wWzpy2f1XxPzCQG9NiN6R6lHL9GiSErbQQo0=
 github.com/libp2p/go-libp2p-pubsub v0.9.3 h1:ihcz9oIBMaCK9kcx+yHWm3mLAFBMAUsM4ux42aikDxo=
 github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0=
-github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
 github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8=
 github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
 github.com/logrusorgru/aurora/v4 v4.0.0 h1:sRjfPpun/63iADiSvGGjgA1cAYegEWMPCJdUpJYn9JA=
 github.com/logrusorgru/aurora/v4 v4.0.0/go.mod h1:lP0iIa2nrnT/qoFXcOZSrZQpJ1o6n2CUf/hyHi2Q4ZQ=
+github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
+github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
 github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
 github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
 github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
@@ -439,12 +1007,15 @@ github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m
 github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
+github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
 github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
 github.com/miekg/dns v1.1.54 h1:5jon9mWcb0sFJGpnI99tOMhCPyJ+RPVz5b63MQG0VWI=
+github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY=
 github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
+github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE=
 github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM=
 github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
 github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
@@ -482,33 +1053,34 @@ github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOEL
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
 github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
+github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
 github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
-github.com/onflow/atree v0.1.0-beta1.0.20211027184039-559ee654ece9/go.mod h1:+6x071HgCF/0v5hQcaE5qqjc2UqN5gCU8h5Mk6uqpOg=
+github.com/onflow/atree v0.5.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVFi0tc=
 github.com/onflow/atree v0.6.0 h1:j7nQ2r8npznx4NX39zPpBYHmdy45f4xwoi+dm37Jk7c=
 github.com/onflow/atree v0.6.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVFi0tc=
-github.com/onflow/cadence v0.20.1/go.mod h1:7mzUvPZUIJztIbr9eTvs+fQjWWHTF8veC+yk4ihcNIA=
-github.com/onflow/cadence v0.40.0 h1:3pTdkyVTjMx2U5+YZYvIpyw74CSxabjk9PdAZUkJ1GU=
-github.com/onflow/cadence v0.40.0/go.mod h1:OIJLyVBPa339DCBQXBfGaorT4tBjQh9gSKe+ZAIyyh0=
-github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230703193002-53362441b57d h1:B7PdhdUNkve5MVrekWDuQf84XsGBxNZ/D3x+QQ8XeVs=
-github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230703193002-53362441b57d/go.mod h1:xAiV/7TKhw863r6iO3CS5RnQ4F+pBY1TxD272BsILlo=
-github.com/onflow/flow-core-contracts/lib/go/templates v1.2.3 h1:X25A1dNajNUtE+KoV76wQ6BR6qI7G65vuuRXxDDqX7E=
-github.com/onflow/flow-core-contracts/lib/go/templates v1.2.3/go.mod h1:dqAUVWwg+NlOhsuBHex7bEWmsUjsiExzhe/+t4xNH6A=
-github.com/onflow/flow-emulator v0.54.0 h1:GzqMPIjsNweiyBORs8naUXhgs3PhD0X4Ep4j/kGelq0=
-github.com/onflow/flow-emulator v0.54.0/go.mod h1:cPKNx2eaxUDtXNHN9nnrt/qydWUHNQRTa/9QnsaCSpo=
-github.com/onflow/flow-go v0.31.1-0.20230808172820-f074502a67e3 h1:3iDV59Das0YkeFnjI0UkOZMz+gS1JKpTNZ4oMGH4bDM=
-github.com/onflow/flow-go v0.31.1-0.20230808172820-f074502a67e3/go.mod h1:PdmGmlNDu9HOhg31NYAKLrIhmuTvFDgCS56CTs0af9Y=
-github.com/onflow/flow-go-sdk v0.24.0/go.mod h1:IoptMLPyFXWvyd9yYA6/4EmSeeozl6nJoIv4FaEMg74=
-github.com/onflow/flow-go-sdk v0.41.10 h1:Cio6GJhtx532TUY+cqrqWglD5sZCXkWeM5QvaRha3p4=
-github.com/onflow/flow-go-sdk v0.41.10/go.mod h1:0a0LiQFbFt8RW/ptoMUU7YkvW9ArVcbjLE0XS78uz1E=
-github.com/onflow/flow-go/crypto v0.21.3/go.mod h1:vI6V4CY3R6c4JKBxdcRiR/AnjBfL8OSD97bJc60cLuQ=
+github.com/onflow/cadence v0.39.13-stable-cadence/go.mod h1:SxT8/IEkS1drFj2ofUEK9S6KyJ5GQbrm0LX4EFCp/7Q=
+github.com/onflow/cadence v0.39.13-stable-cadence.0.20230811182010-c66466eb6b1a h1:HCsJfKZJXfbLF5N9BsNhgJgpNuqURq7D3EChRFr+MIY=
+github.com/onflow/cadence v0.39.13-stable-cadence.0.20230811182010-c66466eb6b1a/go.mod h1:SxT8/IEkS1drFj2ofUEK9S6KyJ5GQbrm0LX4EFCp/7Q=
+github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230808220007-f00e74ca675b h1:Z5W3qsSQlXfu6VU6rxkoTMe665DmaULiX1oQim+4myM=
+github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230808220007-f00e74ca675b/go.mod h1:6Jo+45NRYaqDDbY42rxAEQ+GrG47avd1UDqudttlBmI=
+github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230808220007-f00e74ca675b h1:f+5TwXPwlvtaDwn0ZlMIxibuPwbvmtlnSkeZgAm38Yw=
+github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230808220007-f00e74ca675b/go.mod h1:a9vPOJl7SwR0L6MMzPGEshp5HEsPQfay/pze+jrNlrw=
+github.com/onflow/flow-emulator v0.54.1-0.20230810231813-53e63bcc9c8f h1:St1LbDieRnbhIWh18wO0RvZvO+yQ2IMS8bqltGedc80=
+github.com/onflow/flow-emulator v0.54.1-0.20230810231813-53e63bcc9c8f/go.mod h1:XjNujgJxij7UBr8Syeg0m83HEuyNT3lNhZSFLI06vdI=
+github.com/onflow/flow-go v0.31.1-0.20230810172105-725d883609b7 h1:3ksDeoohaKtz1dQN0kXP2Fejm/VueOuheNDH07uel68=
+github.com/onflow/flow-go v0.31.1-0.20230810172105-725d883609b7/go.mod h1:u5HQAm9bfcxIxYwrYzz/uX3ImCeX/tOxS4Voyk7G+K0=
+github.com/onflow/flow-go-sdk v0.41.7-stable-cadence/go.mod h1:ejVN+bqcsTHVvRpDDJDoBNdmcxUfFMW4IvdTbMeQ/hQ=
+github.com/onflow/flow-go-sdk v0.41.10-0.20230719221154-2a4946e41c23 h1:2mE0uSQAXqeNcbOhuj7fDEcurouRlyebI30WVAuOT4s=
+github.com/onflow/flow-go-sdk v0.41.10-0.20230719221154-2a4946e41c23/go.mod h1:U5JP8mlCiOxaKZrQC8ww9yeko5yxBfTOsbZY0ziEtJQ=
+github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onflow/flow-go/crypto v0.24.9 h1:0EQp+kSZYJepMIiSypfJVe7tzsPcb6UXOdOtsTCDhBs=
 github.com/onflow/flow-go/crypto v0.24.9/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.0 h1:rhUDeD27jhLwOqQKI/23008CYfnqXErrJvc4EFRP2a0=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.0/go.mod h1:YsvzYng4htDgRB9sa9jxdwoTuuhjK8WYWXTyLkIigZY=
-github.com/onflow/flow/protobuf/go/flow v0.2.2/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230811183441-b882831b7c12 h1:dMAiRANcdlGhCuLBNz6jx8Fs8S3JoN04HCZKkw9skZs=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230811183441-b882831b7c12/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
+github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20221202093946-932d1c70e288/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce h1:YQKijiQaq8SF1ayNqp3VVcwbBGXSnuHNHq4GQmVGybE=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead h1:2j1Unqs76Z1b95Gu4C3Y28hzNUHBix7wL490e61SMSw=
@@ -531,12 +1103,18 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9
 github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU=
 github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek=
 github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0=
+github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
+github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
+github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
 github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
 github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
+github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
+github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
 github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
 github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -548,6 +1126,7 @@ github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lF
 github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY=
 github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
 github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
@@ -568,14 +1147,16 @@ github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qq
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
 github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
+github.com/rivo/uniseg v0.2.1-0.20211004051800-57c86be7915a/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
 github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
 github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho=
-github.com/robertkrimen/otto v0.0.0-20170205013659-6a77b7cbc37d/go.mod h1:xvqspoSXJTIpemEonrMDFq6XzwHYYgToXWj5eRX1OtY=
 github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
+github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
+github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
+github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
 github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
 github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ=
 github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
@@ -584,14 +1165,17 @@ github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6us
 github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
+github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk=
 github.com/schollz/progressbar/v3 v3.8.3/go.mod h1:pWnVCjSBZsT2X3nx9HfRdnCDrpbevliMeoEVhStwHko=
 github.com/schollz/progressbar/v3 v3.13.1 h1:o8rySDYiQ59Mwzy2FELeHY5ZARXZTVJC7iHD6PEFUiE=
+github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
 github.com/sethvargo/go-retry v0.2.3 h1:oYlgvIvsju3jNbottWABtbnoLC+GDtLdBHxKWxQm/iU=
 github.com/sethvargo/go-retry v0.2.3/go.mod h1:1afjQuvh7s4gflMObvjLPaWgluLLyhA1wmVZ6KLpICw=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
 github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
-github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
 github.com/slok/go-http-metrics v0.10.0 h1:rh0LaYEKza5eaYRGDXujKrOln57nHBi4TtVhmNEpbgM=
 github.com/slok/go-http-metrics v0.10.0/go.mod h1:lFqdaS4kWMfUKCSukjC47PdCeTk+hXDUVm8kLHRqJ38=
 github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
@@ -600,6 +1184,9 @@ github.com/spaolacci/murmur3 v1.0.1-0.20190317074736-539464a789e9/go.mod h1:JwIa
 github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
 github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
+github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
+github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
+github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
 github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk=
 github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
 github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
@@ -635,15 +1222,17 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
 github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
 github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
 github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
 github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
 github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
-github.com/supranational/blst v0.3.4/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
 github.com/supranational/blst v0.3.10 h1:CMciDZ/h4pXDDXQASe8ZGTNKUiVNxVVA5hpci2Uuhuk=
+github.com/supranational/blst v0.3.10/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
 github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d/go.mod h1:9OrXJhf154huy1nPWmuSrkgjPUtUNhA+Zmy+6AESzuA=
 github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c h1:HelZ2kAFadG0La9d+4htN4HzQ68Bm2iM9qKMSMES6xg=
 github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c/go.mod h1:JlzghshsemAMDGZLytTFY8C1JQxQPhnatWqNwUXjggo=
+github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
 github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d h1:5JInRQbk5UBX8JfUvKh2oYTLMVwj3p6n+wapDDm7hko=
 github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d/go.mod h1:Nlx5Y115XQvNcIdIy7dZXaNSUpzwBSge4/Ivk93/Yog=
@@ -667,15 +1256,17 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
 github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
 github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
-github.com/zeebo/blake3 v0.2.0/go.mod h1:G9pM4qQwjRzF1/v7+vabMj/c5mWpGZ2Wzo3Eb4z0pb4=
 github.com/zeebo/blake3 v0.2.3 h1:TFoLXsjeXqRNFxSbk35Dk4YtszE/MQQGK10BH4ptoTg=
 github.com/zeebo/blake3 v0.2.3/go.mod h1:mjJjZpnsyIVtVgTOSpJ9vmRE4wgDeyt2HU3qXvvKCaQ=
-github.com/zeebo/pcg v1.0.0/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4=
 github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo=
 github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4=
+github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
+github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
 go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
 go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
 go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
@@ -684,6 +1275,9 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
+go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
+go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM=
+go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
 go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s=
 go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4=
 go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0=
@@ -696,9 +1290,12 @@ go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26
 go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4=
 go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE=
 go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4=
+go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4=
+go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8=
 go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs=
 go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
+go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
 go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw=
 go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
 go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
@@ -720,19 +1317,23 @@ go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
 go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
 go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
 go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
-golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
+golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
 golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM=
 golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I=
 golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -742,17 +1343,30 @@ golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
 golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
+golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE=
 golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
 golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
 golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
 golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
+golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
+golang.org/x/exp v0.0.0-20221110155412-d0897a79cd37/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
 golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
 golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
 golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -776,6 +1390,12 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
+golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
+golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
+golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -817,6 +1437,27 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
+golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
+golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
+golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
 golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
 golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -835,6 +1476,18 @@ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ
 golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
 golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
 golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
+golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
+golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec=
+golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I=
+golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -846,6 +1499,11 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=
 golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -864,14 +1522,12 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -890,13 +1546,13 @@ golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201014080544-cc95f250f6bc/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -910,19 +1566,48 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210910150752-751e447fb3d0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s=
 golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
+golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
+golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
 golang.org/x/term v0.9.0 h1:GRRCnKYhdQrD8kfRAdQ6Zcw1P0OcELxGLKJvtjVMZ28=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -932,11 +1617,20 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
+golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58=
 golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -954,6 +1648,7 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw
 golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
@@ -984,9 +1679,9 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
 golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
 golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
 golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200828161849-5deb26317202/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
 golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
 golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
@@ -998,19 +1693,33 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
+golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
+golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
+golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
+golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
 golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
 gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
 gonum.org/v1/gonum v0.6.1/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
+gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
+gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
+gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA=
 gonum.org/v1/gonum v0.13.0 h1:a0T3bh+7fhRyqeNbiC3qVHYmkiQgit3wnNan/2c0HMM=
 gonum.org/v1/gonum v0.13.0/go.mod h1:/WPYRckkfWrhWefxyYTfrTtQR0KH4iyHNuzxqXAKyAU=
 gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
 gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
+gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY=
+gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
 google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
 google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
@@ -1040,7 +1749,34 @@ google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6
 google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
 google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
 google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
-google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E=
+google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
+google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
+google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g=
+google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA=
+google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8=
+google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs=
+google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
+google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
+google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw=
+google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg=
+google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o=
+google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g=
+google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw=
+google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw=
+google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI=
+google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08=
+google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70=
+google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo=
+google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0=
+google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI=
+google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0=
+google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -1090,6 +1826,7 @@ google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6D
 google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
 google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
 google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
 google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
@@ -1106,11 +1843,75 @@ google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEc
 google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
 google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
 google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
-google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
-google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20211007155348-82e027067bd4/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E=
+google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE=
+google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc=
+google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw=
+google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI=
+google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI=
+google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U=
+google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM=
+google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM=
+google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s=
+google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s=
+google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo=
+google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE=
+google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA=
+google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw=
+google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw=
+google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA=
+google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
 google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
 google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
@@ -1139,7 +1940,19 @@ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ
 google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
 google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
 google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
 google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
+google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
+google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
+google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
+google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
+google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
+google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
+google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw=
 google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ=
 google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
@@ -1156,21 +1969,26 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
 google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
 gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
 gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c=
-gopkg.in/olebedev/go-duktape.v3 v3.0.0-20190213234257-ec84240a7772/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns=
+gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200316214253-d7b0ff38cac9/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns=
 gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
-gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78=
+gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
 gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0=
@@ -1194,16 +2012,51 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
 honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
 honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
+lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA=
 lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI=
 lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k=
+lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
+lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
+modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc=
+modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw=
+modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
+modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
+modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws=
+modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo=
+modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
+modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM=
+modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
+modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A=
+modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU=
+modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU=
+modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
+modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0=
+modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s=
 modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY=
 modernc.org/libc v1.22.3/go.mod h1:MQrloYP209xa2zHome2a8HLiLm6k0UT8CoHpV74tOFw=
+modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
 modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
 modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
+modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
+modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
 modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
 modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
+modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
+modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4=
 modernc.org/sqlite v1.21.1 h1:GyDFqNnESLOhwwDRaHGdp2jKLDzpyT/rNLglX3ZkMSU=
 modernc.org/sqlite v1.21.1/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI=
+modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw=
+modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
+modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw=
+modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8=
 pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g=
 pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU=
 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
diff --git a/lib/go/test/token_test_helpers.go b/lib/go/test/token_test_helpers.go
index cff3ee92..467728e8 100644
--- a/lib/go/test/token_test_helpers.go
+++ b/lib/go/test/token_test_helpers.go
@@ -140,3 +140,82 @@ func DeployTokenContracts(
 
 	return fungibleAddr, tokenAddr, forwardingAddr, metadataViewsAddr, fungibleMetadataViewsAddr
 }
+
+// Deploys the FungibleToken-V2, ExampleToken, and TokenForwarding contracts
+// to different accounts and returns their addresses
+func DeployV2TokenContracts(
+	b *emulator.Blockchain,
+	t *testing.T,
+	key []*flow.AccountKey,
+) (
+	fungibleAddr flow.Address,
+	tokenAddr flow.Address,
+	//forwardingAddr flow.Address,
+) {
+	var err error
+
+	// Deploy the ViewResolver contract
+	resolverAddress := deploy(t, b, "ViewResolver", nftcontracts.Resolver())
+
+	// Deploy the FungibleToken contract
+	fungibleTokenCode := contracts.FungibleTokenV2(resolverAddress.String())
+	fungibleAddr, err = b.CreateAccount(
+		nil,
+		[]sdktemplates.Contract{
+			{
+				Name:   "FungibleToken",
+				Source: string(fungibleTokenCode),
+			},
+		},
+	)
+	assert.NoError(t, err)
+
+	_, err = b.CommitBlock()
+	assert.NoError(t, err)
+
+	// Deploy the NonFungibleToken contract (required for Metadata Views)
+	NFTAddress := deploy(t, b, "NonFungibleToken", nftcontracts.NonFungibleTokenV2(resolverAddress))
+
+	// Deploy the MetadataViews contract
+	metadataViewsAddr := deploy(t, b, "MetadataViews", nftcontracts.MetadataViews(fungibleAddr, NFTAddress, resolverAddress))
+
+	// Deploy the FTMetadataViews contract
+	ftMetadataViewsAddr := deploy(t, b, "FungibleTokenMetadataViews", contracts.FungibleTokenMetadataViews(fungibleAddr.String(), metadataViewsAddr.String(), resolverAddress.String()))
+
+	// Deploy the MultipleVaults contract interface
+	multipleVaultsAddress := deploy(t, b, "MultipleVaults", contracts.MultipleVaults(fungibleAddr.String()))
+
+	// Deploy the ExampleToken contract
+	exampleTokenCode := contracts.ExampleTokenV2(fungibleAddr.String(), metadataViewsAddr.String(), ftMetadataViewsAddr.String(), resolverAddress.String(), multipleVaultsAddress.String())
+	exampleTokenAddress, err := b.CreateAccount(
+		key,
+		[]sdktemplates.Contract{
+			{
+				Name:   "ExampleToken",
+				Source: string(exampleTokenCode),
+			},
+		},
+	)
+	assert.NoError(t, err)
+
+	_, err = b.CommitBlock()
+	assert.NoError(t, err)
+
+	// // Deploy the TokenForwarding contract
+	// forwardingCode := contracts.TokenForwarding(fungibleAddr.String())
+	// forwardingAddr, err = b.CreateAccount(
+	// 	key,
+	// 	[]sdktemplates.Contract{
+	// 		{
+	// 			Name:   "TokenForwarding",
+	// 			Source: string(forwardingCode),
+	// 		},
+	// 	},
+	// )
+	// assert.NoError(t, err)
+
+	// _, err = b.CommitBlock()
+	// assert.NoError(t, err)
+
+	return fungibleAddr, exampleTokenAddress //, nil
+}

From 95c819fa8340759f202db7f9be78a6e8d8782f29 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 15 Aug 2023 16:02:51 -0500
Subject: [PATCH 015/115] WIP updates to transactions for stable cadence

---
 contracts/ExampleToken-v2.cdc                 |  75 ++++++----
 contracts/FungibleTokenSwitchboard.cdc        |  38 +++--
 contracts/MultipleVaults.cdc                  |   2 +-
 contracts/utility/TokenForwarding.cdc         |  35 +++--
 lib/go/contracts/internal/assets/assets.go    |  24 +--
 lib/go/templates/forward_templates.go         |   8 +-
 lib/go/templates/internal/assets/assets.go    | 138 +++++++++---------
 lib/go/templates/script_templates.go          |   8 +-
 lib/go/templates/templates.go                 |   4 +-
 lib/go/templates/transaction_templates.go     |  16 +-
 lib/go/test/forwarding_test.go                |   2 +-
 lib/go/test/token_test.go                     |  20 +--
 lib/go/test/token_test_helpers.go             | 116 ++++-----------
 lib/go/test/token_v2_test.go                  |  23 ---
 transactions/burn_tokens.cdc                  |   2 +-
 transactions/generic_transfer.cdc             |   2 +-
 .../create_private_forwarder.cdc              |   2 +-
 .../setup_and_create_forwarder.cdc            |   2 +-
 .../transfer_private_many_accounts.cdc        |   4 +-
 transactions/safe_generic_transfer.cdc        |   2 +-
 transactions/scripts/get_balance.cdc          |   8 +-
 transactions/scripts/get_supply.cdc           |   2 +-
 .../scripts/get_supported_vault_types.cdc     |   2 +-
 .../scripts/metadata/get_token_metadata.cdc   |   6 +-
 .../scripts/metadata/get_vault_data.cdc       |   6 +-
 .../scripts/metadata/get_vault_display.cdc    |   6 +-
 .../metadata/get_vault_supply_view.cdc        |   6 +-
 .../switchboard/check_receiver_by_type.cdc    |   2 +-
 .../scripts/switchboard/get_vault_types.cdc   |   2 +-
 .../get_vault_types_and_address.cdc           |   2 +-
 .../tokenForwarder/is_recipient_valid.cdc     |   2 +-
 transactions/setup_account.cdc                |  17 +--
 .../switchboard/safe_transfer_tokens.cdc      |   4 +-
 .../switchboard/safe_transfer_tokens_v2.cdc   |   4 +-
 transactions/switchboard/transfer_tokens.cdc  |   2 +-
 transactions/transfer_many_accounts.cdc       |   4 +-
 transactions/transfer_tokens.cdc              |   2 +-
 37 files changed, 278 insertions(+), 322 deletions(-)
 delete mode 100644 lib/go/test/token_v2_test.go

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index e63d2a64..6f9b0f2a 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -1,26 +1,46 @@
-import FungibleToken from "FungibleToken-v2"
+import FungibleToken from "FungibleToken"
 import MetadataViews from "MetadataViews"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MultipleVaults from "MultipleVaults.cdc"
-import ViewResolver from "ViewResolver.cdc"
+import MultipleVaults from "MultipleVaults"
+import ViewResolver from "ViewResolver"
 
-access(all) contract ExampleToken: ViewResolver, MultipleVaults {
+access(all) contract ExampleToken: ViewResolver {
 
     /// The event that is emitted when new tokens are minted
     access(all) event TokensMinted(amount: UFix64, type: String)
 
     /// Total supply of ExampleTokens in existence
-    access(contract) var totalSupply: {Type: UFix64}
+    access(all) var totalSupply: UFix64
 
     /// Admin Path
     access(all) let AdminStoragePath: StoragePath
 
+    /// User Paths
+    access(all) let VaultStoragePath: StoragePath
+    access(all) let VaultPublicPath: PublicPath
+
     /// Function to return the types that the contract implements
     access(all) view fun getVaultTypes(): [Type] {
         let typeArray: [Type] = [Type<@ExampleToken.Vault>()]
         return typeArray
     }
 
+    access(all) view fun getViews(): [Type] {
+        let vaultRef = self.account.getCapability(/public/exampleTokenVault)
+            .borrow<&ExampleToken.Vault>()
+            ?? panic("Could not borrow a reference to the vault resolver")
+        
+        return vaultRef.getViews()
+    }
+
+    access(all) fun resolveView(_ view: Type): AnyStruct? {
+        let vaultRef = self.account.getCapability(/public/exampleTokenVault)
+            .borrow<&ExampleToken.Vault>()
+            ?? panic("Could not borrow a reference to the vault resolver")
+        
+        return vaultRef.resolveView(view)
+    }
+
     /// Vault
     ///
     /// Each user stores an instance of only the Vault in their storage
@@ -54,7 +74,8 @@ access(all) contract ExampleToken: ViewResolver, MultipleVaults {
         access(all) view fun getViews(): [Type] {
             return [Type<FungibleTokenMetadataViews.FTView>(),
                     Type<FungibleTokenMetadataViews.FTDisplay>(),
-                    Type<FungibleTokenMetadataViews.FTVaultData>()]
+                    Type<FungibleTokenMetadataViews.FTVaultData>(),
+                    Type<FungibleTokenMetadataViews.TotalSupply>()]
         }
 
         access(all) fun resolveView(_ view: Type): AnyStruct? {
@@ -90,10 +111,10 @@ access(all) contract ExampleToken: ViewResolver, MultipleVaults {
                         receiverPath: self.publicPath,
                         metadataPath: self.publicPath,
                         providerPath: /private/exampleTokenVault,
-                        receiverLinkedType: Type<&ExampleToken.Vault{FungibleToken.Receiver}>(),
-                        metadataLinkedType: Type<&ExampleToken.Vault{FungibleToken.Balance, ViewResolver.Resolver}>(),
-                        providerLinkedType: Type<&ExampleToken.Vault{FungibleToken.Provider}>(),
-                        createEmptyVaultFunction: (fun(): @ExampleToken.Vault{FungibleToken.Vault} {
+                        receiverLinkedType: Type<&ExampleToken.Vault>(),
+                        metadataLinkedType: Type<&ExampleToken.Vault>(),
+                        providerLinkedType: Type<&ExampleToken.Vault>(),
+                        createEmptyVaultFunction: (fun(): @{FungibleToken.Vault} {
                             return <-vaultRef.createEmptyVault()
                         })
                     )
@@ -135,7 +156,7 @@ access(all) contract ExampleToken: ViewResolver, MultipleVaults {
         /// created Vault to the context that called so it can be deposited
         /// elsewhere.
         ///
-        access(FungibleToken.Withdrawable) fun withdraw(amount: UFix64): @ExampleToken.Vault{FungibleToken.Vault} {
+        access(FungibleToken.Withdrawable) fun withdraw(amount: UFix64): @ExampleToken.Vault {
             self.balance = self.balance - amount
             return <-create Vault(balance: amount)
         }
@@ -156,7 +177,7 @@ access(all) contract ExampleToken: ViewResolver, MultipleVaults {
             destroy vault
         }
 
-        access(all) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
+        access(FungibleToken.Withdrawable) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
             let transferVault <- self.withdraw(amount: amount)
 
             // Get a reference to the recipient's Receiver
@@ -174,13 +195,13 @@ access(all) contract ExampleToken: ViewResolver, MultipleVaults {
         /// and store the returned Vault in their storage in order to allow their
         /// account to be able to receive deposits of this token type.
         ///
-        access(all) fun createEmptyVault(): @ExampleToken.Vault{FungibleToken.Vault} {
+        access(all) fun createEmptyVault(): @ExampleToken.Vault {
             return <-create Vault(balance: 0.0)
         }
 
         destroy() {
             if self.balance > 0.0 {
-                ExampleToken.totalSupply[self.getType()] = ExampleToken.totalSupply[self.getType()]! - self.balance
+                ExampleToken.totalSupply = ExampleToken.totalSupply - self.balance
             }
         }
     }
@@ -196,7 +217,7 @@ access(all) contract ExampleToken: ViewResolver, MultipleVaults {
         /// and returns them to the calling context.
         ///
         access(all) fun mintTokens(amount: UFix64): @ExampleToken.Vault {
-            ExampleToken.totalSupply[self.getType()] = ExampleToken.totalSupply[self.getType()]! + amount
+            ExampleToken.totalSupply = ExampleToken.totalSupply + amount
             emit TokensMinted(amount: amount, type: self.getType().identifier)
             return <-create Vault(balance: amount)
         }
@@ -209,33 +230,29 @@ access(all) contract ExampleToken: ViewResolver, MultipleVaults {
     /// and store the returned Vault in their storage in order to allow their
     /// account to be able to receive deposits of this token type.
     ///
-    access(all) fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault} {
-        switch vaultType {
-            case Type<@ExampleToken.Vault>():
-                return <- create Vault(balance: 0.0)
-            default:
-                return <- create Vault(balance: 0.0)
-        }
+    access(all) fun createEmptyVault(): @ExampleToken.Vault {
+        return <- create Vault(balance: 0.0)
     }
 
     init() {
-        self.totalSupply = {}
-        self.totalSupply[Type<@ExampleToken.Vault>()] = 1000.0
+        self.totalSupply = 1000.0
 
         self.AdminStoragePath = /storage/exampleTokenAdmin 
 
         // Create the Vault with the total supply of tokens and save it in storage
         //
-        let vault <- create Vault(balance: self.totalSupply[Type<@ExampleToken.Vault>()]!)
-        self.account.save(<-vault, to: /storage/exampleTokenVault)
+        let vault <- create Vault(balance: self.totalSupply)
+        self.VaultStoragePath = vault.getDefaultStoragePath()!
+        self.VaultPublicPath = vault.getDefaultPublicPath()!
+        self.account.save(<-vault, to: self.VaultStoragePath)
 
         // Create a public capability to the stored Vault that exposes
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
         // and the `getBalance()` method through the `Balance` interface
         //
-        self.account.link<&{FungibleToken.Receiver, FungibleToken.Balance}>(
-            /public/exampleTokenVault,
-            target: /storage/exampleTokenVault
+        self.account.link<&{FungibleToken.Receiver, FungibleToken.Balance, ViewResolver.Resolver}>(
+            self.VaultPublicPath,
+            target: self.VaultStoragePath
         )
 
         let admin <- create Minter()
diff --git a/contracts/FungibleTokenSwitchboard.cdc b/contracts/FungibleTokenSwitchboard.cdc
index 52747530..71f7b2dd 100644
--- a/contracts/FungibleTokenSwitchboard.cdc
+++ b/contracts/FungibleTokenSwitchboard.cdc
@@ -35,11 +35,11 @@ access(all) contract FungibleTokenSwitchboard {
     /// deposit methods to deposit funds on it.
     /// 
     access(all) resource interface SwitchboardPublic {
-        access(all) view fun getVaultTypes(): [Type]
+        access(all) fun getVaultTypes(): [Type]
         access(all) view fun getVaultTypesWithAddress(): {Type: Address}
         access(all) view fun getSupportedVaultTypes(): {Type: Bool}
-        access(all) fun deposit(from: @FungibleToken.Vault)
-        access(all) fun safeDeposit(from: @FungibleToken.Vault): @FungibleToken.Vault?
+        access(all) fun deposit(from: @{FungibleToken.Vault})
+        access(all) fun safeDeposit(from: @{FungibleToken.Vault}): @{FungibleToken.Vault}?
         access(all) view fun checkReceiverByType(type: Type): Bool
         access(all) view fun safeBorrowByType(type: Type): &{FungibleToken.Receiver}?
     }
@@ -117,7 +117,7 @@ access(all) contract FungibleTokenSwitchboard {
         }
 
         /// Adds a new fungible token receiver capability to the switchboard 
-        /// resource specifying which `Type` of `@FungibleToken.Vault` can be 
+        /// resource specifying which `Type` of `@{FungibleToken.Vault}` can be 
         /// deposited to it. Use it to include in your switchboard "wrapper"
         /// receivers such as a `@TokenForwarding.Forwarder`. It can also be
         /// used to overwrite the type attached to a certain capability without 
@@ -145,7 +145,7 @@ access(all) contract FungibleTokenSwitchboard {
         }
 
         /// Adds zero or more new fungible token receiver capabilities to the  
-        /// switchboard resource specifying which `Type`s of `@FungibleToken.Vault`s  
+        /// switchboard resource specifying which `Type`s of `@{FungibleToken.Vault}`s  
         /// can be deposited to it. Use it to include in your switchboard "wrapper"
         /// receivers such as a `@TokenForwarding.Forwarder`. It can also be
         /// used to overwrite the types attached to certain capabilities without 
@@ -207,7 +207,7 @@ access(all) contract FungibleTokenSwitchboard {
         /// 
         /// @param from: The deposited fungible token vault resource.
         /// 
-        access(all) fun deposit(from: @FungibleToken.Vault) {
+        access(all) fun deposit(from: @{FungibleToken.Vault}) {
             // Get the capability from the ones stored at the switchboard
             let depositedVaultCapability 
                                           = self.receiverCapabilities[from.getType()] 
@@ -230,7 +230,7 @@ access(all) contract FungibleTokenSwitchboard {
         /// funds if the deposit was successful, or still containing the funds
         /// if the reference to the needed vault was not found.
         /// 
-        access(all) fun safeDeposit(from: @FungibleToken.Vault): @FungibleToken.Vault? {
+        access(all) fun safeDeposit(from: @{FungibleToken.Vault}): @{FungibleToken.Vault}? {
             // Try to get the proper vault capability from the switchboard
             // If the desired vault is present on the switchboard...
             if let depositedVaultCapability
@@ -240,12 +240,12 @@ access(all) contract FungibleTokenSwitchboard {
                 if let vaultRef =  
                                                   depositedVaultCapability.borrow() {
                     // We deposit the funds on said vault
-                    vaultRef.deposit(from: <-from.withdraw(amount: from.balance))
+                    vaultRef.deposit(from: <-from.withdraw(amount: from.getBalance()))
                 }
             }
             // if deposit failed for some reason
-            if from.balance > 0.0 {
-                emit NotCompletedDeposit(type: from.getType(), amount: from.balance, 
+            if from.getBalance() > 0.0 {
+                emit NotCompletedDeposit(type: from.getType(), amount: from.getBalance(), 
                                                switchboardOwner: self.owner?.address)              
                 return <-from
             }
@@ -289,7 +289,7 @@ access(all) contract FungibleTokenSwitchboard {
         /// `{FungibleToken.Receiver}` capabilities that can be effectively 
         /// borrowed.
         ///
-        access(all) view fun getVaultTypes(): [Type] {
+        access(all) fun getVaultTypes(): [Type] {
             let effectiveTypes: [Type] = []
             for vaultType in self.receiverCapabilities.keys {
                 if self.receiverCapabilities[vaultType]!.check() {
@@ -325,13 +325,23 @@ access(all) contract FungibleTokenSwitchboard {
         /// @return Dictionary of FT types that can be deposited.
         access(all) view fun getSupportedVaultTypes(): {Type: Bool} { 
             let supportedVaults: {Type: Bool} = {}
-            let vaultTypes = self.getVaultTypes()
-            for vaultT in vaultTypes {
-                supportedVaults.insert(key: vaultT, true)
+            for vaultType in self.receiverCapabilities.keys {
+                if self.receiverCapabilities[vaultType]!.check() {
+                    supportedVaults[vaultType] = true
+                }
             }
             return supportedVaults
         }
 
+        /// Returns whether or not the given type is accepted by the Receiver
+        /// A vault that can accept any type should just return true by default
+        access(all) view fun isSupportedVaultType(type: Type): Bool {
+            let supportedVaults = self.getSupportedVaultTypes()
+            if let supported = supportedVaults[type] {
+                return supported
+            } else { return false }
+        }
+
         init() {
             // Initialize the capabilities dictionary
             self.receiverCapabilities = {}
diff --git a/contracts/MultipleVaults.cdc b/contracts/MultipleVaults.cdc
index f465ae11..11fb4378 100644
--- a/contracts/MultipleVaults.cdc
+++ b/contracts/MultipleVaults.cdc
@@ -1,6 +1,6 @@
 
 
-import FungibleToken from "FungibleToken-v2"
+import FungibleToken from "FungibleToken"
 
 access(all) contract interface MultipleVaults {
 
diff --git a/contracts/utility/TokenForwarding.cdc b/contracts/utility/TokenForwarding.cdc
index 60d69d09..9675f28d 100644
--- a/contracts/utility/TokenForwarding.cdc
+++ b/contracts/utility/TokenForwarding.cdc
@@ -16,16 +16,16 @@ their tokens to.
 
 import FungibleToken from "FungibleToken"
 
-pub contract TokenForwarding {
+access(all) contract TokenForwarding {
 
     // Event that is emitted when tokens are deposited to the target receiver
-    pub event ForwardedDeposit(amount: UFix64, from: Address?)
+    access(all) event ForwardedDeposit(amount: UFix64, from: Address?)
 
-    pub resource interface ForwarderPublic {
+    access(all) resource interface ForwarderPublic {
 
         /// Helper function to check whether set `recipient` capability
         /// is not latent or the capability tied to a type is valid.
-        pub fun check(): Bool
+        access(all) fun check(): Bool
 
         /// Gets the receiver assigned to a recipient capability.
         /// This is necessary because without it, it is not possible to look under the hood and see if a capability
@@ -33,10 +33,10 @@ pub contract TokenForwarding {
         /// malicious kinds of updates that could prevent listings from being made that are valid on storefronts.
         ///
         /// @return an optional receiver capability for consumers of the TokenForwarding to check/validate on their own
-        pub fun safeBorrow(): &{FungibleToken.Receiver}?
+        access(all) fun safeBorrow(): &{FungibleToken.Receiver}?
     }
 
-    pub resource Forwarder: FungibleToken.Receiver, ForwarderPublic {
+    access(all) resource Forwarder: FungibleToken.Receiver, ForwarderPublic {
 
         // This is where the deposited tokens will be sent.
         // The type indicates that it is a reference to a receiver
@@ -48,10 +48,10 @@ pub contract TokenForwarding {
         // Function that takes a Vault object as an argument and forwards
         // it to the recipient's Vault using the stored reference
         //
-        pub fun deposit(from: @FungibleToken.Vault) {
+        access(all) fun deposit(from: @{FungibleToken.Vault}) {
             let receiverRef = self.recipient.borrow<&{FungibleToken.Receiver}>()!
 
-            let balance = from.balance
+            let balance = from.getBalance()
 
             receiverRef.deposit(from: <-from)
 
@@ -60,7 +60,7 @@ pub contract TokenForwarding {
 
         /// Helper function to check whether set `recipient` capability
         /// is not latent or the capability tied to a type is valid.
-        pub fun check(): Bool {
+        access(all) fun check(): Bool {
             return self.recipient.check<&{FungibleToken.Receiver}>()
         }
 
@@ -70,13 +70,13 @@ pub contract TokenForwarding {
         /// malicious kinds of updates that could prevent listings from being made that are valid on storefronts.
         ///
         /// @return an optional receiver capability for consumers of the TokenForwarding to check/validate on their own
-        pub fun safeBorrow(): &{FungibleToken.Receiver}? {
+        access(all) fun safeBorrow(): &{FungibleToken.Receiver}? {
             return self.recipient.borrow<&{FungibleToken.Receiver}>()
         }
 
         // changeRecipient changes the recipient of the forwarder to the provided recipient
         //
-        pub fun changeRecipient(_ newRecipient: Capability) {
+        access(all) fun changeRecipient(_ newRecipient: Capability) {
             pre {
                 newRecipient.borrow<&{FungibleToken.Receiver}>() != nil: "Could not borrow Receiver reference from the Capability"
             }
@@ -87,7 +87,7 @@ pub contract TokenForwarding {
         /// which can be deposited using the 'deposit' function.
         ///
         /// @return Array of FT types that can be deposited.
-        pub fun getSupportedVaultTypes(): {Type: Bool} {
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
             if !self.recipient.check<&{FungibleToken.Receiver}>() {
                 return {}
             }
@@ -97,6 +97,15 @@ pub contract TokenForwarding {
             return supportedVaults
         }
 
+        /// Returns whether or not the given type is accepted by the Receiver
+        /// A vault that can accept any type should just return true by default
+        access(all) view fun isSupportedVaultType(type: Type): Bool {
+            let supportedVaults = self.getSupportedVaultTypes()
+            if let supported = supportedVaults[type] {
+                return supported
+            } else { return false }
+        }
+
         init(recipient: Capability) {
             pre {
                 recipient.borrow<&{FungibleToken.Receiver}>() != nil: "Could not borrow Receiver reference from the Capability"
@@ -107,7 +116,7 @@ pub contract TokenForwarding {
 
     // createNewForwarder creates a new Forwarder reference with the provided recipient
     //
-    pub fun createNewForwarder(recipient: Capability): @Forwarder {
+    access(all) fun createNewForwarder(recipient: Capability): @Forwarder {
         return <-create Forwarder(recipient: recipient)
     }
 }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index dc6cb6b7..e30494f3 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,16 +1,16 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (10.639kB)
+// ../../../contracts/ExampleToken-v2.cdc (11.053kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
 // ../../../contracts/FungibleToken-v2.cdc (11.218kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.485kB)
-// ../../../contracts/FungibleTokenSwitchboard.cdc (17.818kB)
-// ../../../contracts/MultipleVaults.cdc (778B)
+// ../../../contracts/FungibleTokenSwitchboard.cdc (18.32kB)
+// ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (26.308kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (4.828kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.592kB)
-// ../../../contracts/utility/TokenForwarding.cdc (4.755kB)
+// ../../../contracts/utility/TokenForwarding.cdc (5.29kB)
 // ../../../contracts/utility/ViewResolver.cdc (1.5kB)
 
 package assets
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x6d\x6f\xdb\x38\xf2\x7f\x9f\x4f\x31\xf5\x1f\xd8\xbf\x8d\x4d\x94\xec\x53\x6f\xd7\x88\x9b\xcd\x6e\x9b\xbb\x03\xb6\x40\xd1\x66\xbb\x2f\x8a\xa2\xa1\xa5\xb1\xcd\x8b\x44\x0a\x24\x65\xc7\x1b\xe4\xbb\x1f\xf8\x24\x91\x32\xe5\xb8\x69\x2f\x6f\x62\x4b\x9c\xe1\x3c\xfc\x66\x38\x33\x34\xad\x6a\x2e\x14\x5c\x35\x6c\x49\xe7\x25\x5e\xf3\x5b\x64\xb0\x10\xbc\x82\x51\xf4\xec\x64\xfd\xfd\xe8\xc8\x2d\x7e\x8d\x8a\x14\x44\x91\xf7\x14\x37\xd2\x2d\x8e\x9e\xb5\x2b\x23\x16\x29\xb2\xe1\x05\xdd\x6e\x4d\xa9\x68\x5d\xe2\x7b\xd2\x94\xaa\xdd\x2e\x7a\x98\xe5\x45\xde\xae\xd7\xd4\x6f\x51\xf2\x72\x8d\xc2\xad\x0e\x1f\xd9\xb5\x47\x24\xcf\x51\xca\x31\x29\xcb\x09\xe4\x9c\x29\x41\x72\x05\xaf\xee\x48\x55\x3b\x61\xa6\x11\xa3\xe3\xbe\x18\xf7\x47\x47\x00\x00\xa7\xa7\xa7\x70\xbd\x42\xc0\x35\x32\x05\x6a\x45\x14\x50\x09\x58\x51\xa5\xb0\x80\xcd\x0a\x19\x30\xdc\x80\xd2\x1c\x25\x10\x81\x50\x51\xa6\xb0\x30\xc4\xa1\x0c\x96\x81\xd9\x59\xbe\x36\x4b\xc6\xa4\xe2\x0d\x53\x53\xf8\xf3\x8a\xde\x3d\xff\xf1\x18\xd4\xb6\xc6\x29\xbc\x53\x82\xb2\xe5\x24\xd8\x9e\x2b\x52\x82\x6c\xea\xba\xdc\x02\x5f\x44\x4a\x48\xa0\x0c\xf0\x8e\x4a\x85\x2c\xc7\x70\x53\xaf\xf3\x04\xd6\x44\x80\xd2\x3c\xde\x19\x16\x53\xb8\xbf\x36\x1b\xd9\x6d\x1f\xba\x8d\x2e\x8b\x8a\x32\x78\x43\xd4\x6a\x47\xfa\x12\x95\x7d\xfd\x4e\x71\x41\x96\xa8\x17\x69\x51\xdb\x2f\x1d\x97\xab\x86\xe5\x8a\x72\x06\x8a\x83\x40\xd5\x08\x06\x6a\x85\x46\x39\x69\x0d\xa8\xbf\xb6\x2e\xa1\x5a\x97\x0a\x99\x92\x3b\x9b\xae\x29\x6e\x60\xd1\x30\x58\xa2\x32\x5e\xd1\x72\xcb\xf1\x64\x0a\x1f\xf4\xa7\x8f\x70\x6f\x48\xf4\x9f\x96\x4f\xef\x70\x29\x04\xd9\xb6\xef\x67\xf6\xc3\xf9\xaf\xa1\xc9\x32\xc3\xea\xc5\x78\xf2\xb1\xa5\xf6\x62\x7a\x06\xe6\x45\x60\x18\x43\xe1\xbf\xb5\x4f\x5f\x91\x7c\x05\x8d\x44\x01\x52\x71\x81\x12\x08\x03\xca\xa4\x22\x2c\x47\xed\x27\xce\xca\xad\xd1\xd5\x90\x6b\x47\xa9\x15\x52\xbb\x9a\x2c\x31\x82\xd7\xc2\x19\x4d\xba\x65\x8e\x86\xb0\x02\x96\x7c\x8d\x82\x61\x01\x73\xcb\xad\x16\x68\x9e\xd7\x5c\x2a\x6d\xc6\x82\x1a\xc2\x96\x1d\x65\xbd\x60\x37\x20\x55\x2b\xdc\x1a\x78\xe6\xa4\x2c\xb1\xc8\xa2\xdd\xf3\x15\xe6\xb7\x12\x56\xa4\xae\x91\x01\x51\x20\x1a\xa6\x68\x85\x86\x14\x75\x98\x91\x56\x42\x0d\xff\x1e\x8f\x96\x97\x0e\xa6\x46\xe4\xa8\x57\x30\xab\xff\x1c\x21\x17\x48\x74\xb0\x38\xcd\xb4\xe7\xf1\x4e\x69\x0b\x45\x40\xf0\xd0\xd8\xb6\xec\xb4\xb8\x05\x2e\x28\x33\xc4\xc7\x20\xb9\x7e\x2f\x50\x8b\xc0\x38\x6c\xc8\x16\x16\x5c\xcb\x56\x91\x92\xe6\x94\x37\xd2\xba\x43\x71\xb7\xa7\xb5\x62\x67\x1a\xde\xb8\x6d\x29\x03\x42\x45\x06\x97\x20\x6b\xcc\x29\x29\xc1\x84\xa4\x00\xe1\x34\x00\x86\x58\x48\xcd\x69\xde\xc9\xa0\xb8\x09\xee\x96\x5d\x17\xf8\xb1\x29\x42\x0c\xb7\x0c\x8d\x28\xd3\xd8\x35\x16\x8a\x3e\xd5\x84\x1e\x31\xf1\x0a\x73\x52\x7a\x30\xa9\x15\x95\xb0\x6e\x71\xb8\x13\x2a\x44\xf8\xd5\x3e\xb0\x8f\xfa\x0b\x25\x96\x0b\xbb\x52\x0e\x05\xf1\x20\x45\xdd\xcc\x4b\x9a\x5b\x82\x37\xed\xe7\x58\xee\xb7\x26\x8a\xa4\xf1\xaa\xdb\x01\x6a\xa2\x56\x1a\x45\x02\xcd\x63\xa3\x00\xc8\x15\x6f\xca\x42\x87\x1b\xd5\x48\x32\x20\x31\x21\x54\xa4\x75\x0b\xd2\xc0\x4b\x5c\x68\x16\x81\xcc\x3a\x1d\x04\x5f\x2f\x82\xa4\x10\x84\xb6\xd6\x24\x93\x09\x4d\x1f\x86\x75\xb0\x3a\xc7\x2a\x78\x27\x78\x1d\x56\x64\x8d\x40\xfc\xd2\x9c\xd4\x64\x4e\x4b\xaa\xb6\x87\x2a\xd2\xd9\x52\xeb\xd1\x7d\xdb\xa7\x46\xe7\x8b\x94\x16\x83\x09\x54\x9f\xb9\xc9\xdc\x19\xf0\xb7\xe9\x72\xf8\xcc\xce\xae\xae\xf5\xff\x17\xe3\xc9\x71\x44\xee\xff\x1e\x27\x7f\x49\x65\x5d\x92\xed\x17\x70\x30\x31\xf3\x92\x28\x12\xa5\xf0\x01\x0b\x68\xe5\x85\x3d\xe2\x35\xfd\xf8\x93\xb1\xc9\xd4\x6c\x33\x99\xc2\x25\xdb\xbe\x53\xa2\xc9\x55\xdf\xde\x72\x43\x55\xbe\xb2\x06\xbc\xdf\x11\x34\x27\x12\x0f\x91\xd4\x9a\x6a\x9a\x54\xd4\x59\xfc\x51\x06\xe3\x24\xb5\xfe\x5b\x28\x67\xcc\xa9\xc5\x45\xa8\xe7\xe7\x38\x62\x02\x44\x3e\xdb\x2f\x88\x5b\x7c\x91\xf6\x99\x15\xa6\xf5\xcb\x93\xc4\x09\xbd\x7a\x80\x40\xed\xf2\x8b\xa4\x44\x93\xa7\xba\xac\xb3\x4a\xda\x6b\xba\xce\xa8\xb0\xa0\x04\x66\x71\x95\x9c\xbd\xd6\x4f\x87\x9d\x65\x6c\x44\x4b\x9c\xf6\xc8\xfe\x75\x7d\xfd\xe6\x8a\x96\xb8\x9f\xb2\x11\xe5\x14\x46\x2b\xa5\x6a\x39\x3d\x3d\x25\x52\xa2\x92\xd9\x06\xe7\x92\x2a\x3c\xd1\x6c\x65\x96\xf3\xea\xf4\xa7\xc5\xf3\xef\x7f\xf9\x31\x3f\xcb\xff\x41\x7e\xce\x8b\xe2\xf9\x8f\x3f\xcc\xbf\xcb\x7f\xfe\xfe\xac\xf7\x82\xfc\xf4\x53\x3e\xff\x2e\xff\xe5\x87\xe7\x9f\xae\x4a\xbe\xf9\xf4\x17\x17\x45\x45\xc4\x6d\x26\xd7\xcb\xd1\xa0\x1c\x03\x01\xab\xff\x8c\x45\x6c\x51\x39\xa2\x15\x59\xe2\xa9\x5c\x2f\xbf\xbd\xab\xca\x34\xb7\x5d\xef\x44\xa6\x95\x69\xdb\xca\xf1\x07\xf3\xfa\x63\x9a\xfc\x90\x78\x72\xde\x1d\xb6\x35\x23\x95\xd6\xc1\x95\x8b\x2d\x33\x5b\xb6\x8f\x86\x0d\x20\xb7\xd5\x9c\x6b\x17\xbd\xba\xba\xde\xb3\xac\x40\x99\x0b\x5a\xeb\x32\x6a\x0a\xa3\x6b\x7d\x9a\x2c\xfc\x16\xa6\x90\xd0\x95\x4d\x23\xb1\x00\x62\xaa\x49\x74\x72\x28\x0e\x2b\x2c\x6b\xd8\xf2\x06\x0a\x5c\x63\xc9\xcd\x67\x01\x4c\x17\x52\x57\xd7\xf0\x7f\x9c\x69\x4f\x66\x7b\xf6\xc6\x3b\x85\x82\x91\xf2\xcf\xb7\x7f\xf4\x31\xf8\xaa\x7b\x35\x6e\x41\xe6\xf6\x3e\x59\xa8\x8c\xb3\x85\x66\xce\xc5\x72\xb4\x07\x04\x25\x5f\x72\x39\x75\x2e\xdc\x63\x2a\xae\xeb\x2d\x39\x4d\xa4\xd5\xf0\x6f\xa4\x36\xba\xc5\x12\xa3\x83\x84\x75\x8b\x4d\x10\x68\x59\x3f\xcd\x4b\x9e\xdf\xe6\x2b\x42\xd9\x28\x0d\x17\x30\x67\x46\xea\xe9\x93\x73\x47\x98\xc2\x86\xb3\x87\x29\x1f\xde\xe2\x02\x66\x51\x23\x97\x91\x3c\xd7\xdd\x60\x36\xe7\x42\xf0\xcd\xf9\x37\xa9\x96\x45\x37\xbb\xd3\x9d\x5a\x66\x58\xc1\x8b\x0b\xa8\x09\xa3\xf9\x78\xf4\xbb\xa9\x56\x18\x57\x60\xf9\x03\x01\x81\x0b\x14\xba\x6b\xd4\xf0\xf2\x35\x1b\x16\x56\xc0\x01\xab\x1d\x74\x68\x79\x33\x0c\x87\x59\x54\x7f\xf6\xd5\x19\x86\x8e\xc0\x1c\xe9\x1a\x45\x40\xd7\xd5\x42\xfb\xb2\x93\x15\xf0\x33\xc9\x6a\xc1\xd7\xb4\xf0\xbb\x9d\xd6\x82\xae\x89\x42\x1f\x17\x46\x75\xa3\xea\xe3\xf2\xfe\x41\xd9\x2d\x16\x36\x3f\x1a\x18\x25\x9c\x7b\x1f\x37\x06\x6f\x1d\xe9\xc3\x60\xa1\x14\x6a\xf6\x84\x0d\x7e\xb3\xcd\xc2\x71\x34\x04\xc9\xfc\x87\xfd\xdb\x7a\xcb\x3c\x61\xdb\x37\x8e\x74\xff\x06\xb6\x7b\x7b\x55\xd5\x6a\x6b\x98\xf8\x91\xc2\x14\xc6\x8b\x86\xe9\x22\x36\xd1\xd1\xdf\x27\x5a\xab\x87\x47\xb2\x8c\xc3\xf3\xf9\x89\x8f\xca\xac\xbf\xf5\x78\x4f\xfa\x48\xbf\x8a\x9f\x3e\xa4\xca\x6c\x46\xcb\xa1\x06\x64\x89\xea\x5d\x53\xd7\x5c\x28\x2c\xba\x99\x07\x70\x73\x68\x98\x66\x49\xb8\x16\x85\x40\x49\xa5\xe9\x67\x6d\x47\x12\x0d\x58\xa8\x6c\xd1\x67\xea\xe1\xda\x75\xc1\xb0\xa7\x43\x48\xec\xab\x4d\xed\xa6\x45\xbf\x71\x5e\xf6\xcd\xa9\xf3\x99\xf4\x54\x86\xa0\xb7\x7c\x06\xf7\xb1\x01\xe2\xd5\x1f\x4c\x30\x2e\xd1\x6c\x36\x9e\x7c\x84\x19\x28\xd1\x60\xb2\xf3\x89\x08\x0f\x6e\x7c\xa8\xdc\xd5\x6a\xac\x5a\xc4\x4e\xac\xa0\x7b\x9a\xad\x21\xbb\x7c\x50\xa6\x8b\xba\xb8\x80\x05\x29\x25\xa6\xdd\x09\x94\x51\x45\x49\x49\xff\xb6\xed\xaf\xef\xe7\x89\xea\xe6\x02\x06\x70\x66\x5c\x46\xab\x8e\x8d\x26\x1c\xf7\x1a\xfa\x49\xbf\x47\xd1\xf2\x79\x96\x33\xcf\x7c\xc7\x41\xb4\x40\xa6\xe8\x82\xa2\x80\x19\x8c\x76\xd2\xd7\x68\x97\x67\x90\x8c\x61\x16\x36\xd7\xe3\x8e\xd7\x34\xe0\x3b\x79\xb6\xcb\xa3\xcb\xb0\x30\x0b\xfa\xda\xc7\x39\xf4\xe2\xe1\x9f\xa8\x22\xd3\xb9\xa9\xd1\x9e\x49\x48\x80\x68\x97\xe4\x34\x8a\xad\x09\xf7\x38\xba\x6f\xbe\x9e\x1c\x1b\xaa\x56\x85\x20\x9b\xf0\x61\xb4\xa0\x1b\x7b\x9a\x08\x24\xb7\x76\x20\x68\x67\xbc\xae\x9e\x23\x62\xd9\x54\xc8\x54\x44\x48\x58\xd1\x72\x77\xf1\xeb\x88\xcc\x6c\xbb\x1d\x06\x66\x83\x5b\xff\x5b\xb9\x8c\xa9\x93\x82\x19\x4a\x61\x55\x73\x41\xc4\xd6\x8d\x11\xfd\xd8\xda\x94\x96\xba\x98\xe4\x65\x11\x71\x30\x03\x5a\x3b\x4f\xb6\x02\x08\x84\x39\x52\xb6\x04\x25\x08\x93\x0b\x14\x02\x8b\x4c\x6f\x24\x82\x01\x09\xc3\x4d\xb9\x8d\xf8\xf8\x51\x9f\xdb\x96\x47\x03\x3f\xc3\xd9\x8e\x0e\x41\x72\xa0\xca\x4c\x09\xcd\x7c\xad\xe6\xba\x93\x89\x65\xc2\x52\xa2\x19\xbb\xa4\x15\x77\x3e\x8f\x93\xfe\x5f\xce\x8e\x64\x5e\xa2\x6d\xfe\xbd\x65\x7b\xc3\xf6\xa7\x1f\x21\xbd\xa8\x8b\xbe\x9e\x38\xcf\xa5\x40\x76\x7e\x12\xce\x24\xbb\xd8\xb6\x14\x93\x21\xdc\x39\xdb\x7c\x1e\xec\x9c\xfd\xf9\xfc\x3f\x98\xf7\xb1\x67\xf0\x46\x8a\x42\x46\x6c\xa8\x92\x6d\x88\x39\xb7\xf5\x22\x8e\x6f\x18\x0a\x79\x00\x14\xa9\x04\x52\x96\x7c\x63\xa1\x56\xa0\x54\x82\xdb\xc9\xb5\xd4\xdb\x5b\xd1\xe6\x98\x93\x46\x62\x87\xee\x38\xd8\xb4\xc8\x01\x8a\x35\x5e\x51\x78\x49\xdc\xc8\xd5\xcc\x49\x0d\xed\xff\x77\xb2\xaf\x48\xac\xd7\x1c\x91\x69\x00\xca\xa6\xd2\x5d\x15\x2b\xec\x04\x79\xc1\xcd\x24\xdc\xa1\xcf\x48\xe8\xe7\xd9\x03\x38\x6b\xa7\x49\xce\x21\xae\x16\xff\x35\x09\x99\x7e\xa6\x6e\xeb\x7e\x38\x3f\xb1\x51\x4d\xe4\xb3\x14\x00\x0f\x46\xda\xb7\x96\xdf\x4e\xd6\xd2\x7f\xd1\x1b\x98\xc1\x59\x76\x16\xbd\xf7\x2e\x89\x73\xe8\x9e\x01\x9a\xcf\x01\x3b\x17\x56\xbe\xc4\x98\xc2\xef\xed\xe4\xf3\xfc\x9b\xc1\x52\x36\x65\x16\xcf\xfb\xbd\x37\x8f\x51\x73\x27\x6a\x7d\x94\x44\xf4\xee\x78\x48\xb4\x32\x02\x73\x5a\x53\x64\x1a\x1a\x7e\xff\x9d\xad\xbd\xf4\xb6\x19\xf3\xdf\x5c\x03\x96\xa8\xfb\xf6\x74\x53\x6d\xad\xb5\x57\x92\xf7\xae\xb3\xea\x2b\xf1\xd2\x42\xca\xac\xf7\x9a\x33\x9f\x8f\xdd\xad\x49\xc8\x47\xa4\x34\x0a\xb4\xc9\x62\x8c\x9e\x9f\x44\x46\x1e\x4c\x35\xfd\xd2\xf7\xc0\x9c\x13\x1f\x3d\xd6\x8f\x5a\x0b\x20\x61\x0a\xf9\x1b\x05\xdf\x39\xf6\xfc\x61\x42\xbb\xb3\x82\x94\xa5\x3e\x76\xdc\x99\x91\xc1\xa5\xbd\xd2\xa9\x1a\x69\xcf\x0e\x5b\xdb\xfa\xcb\xa8\x1d\x8e\xa6\x87\x75\x06\xd3\xbc\xdb\xb3\xa8\x7f\xfb\xa6\x1f\x70\x51\xd8\xdb\x22\x93\xaf\xec\xfb\x98\xa3\xed\xc9\xdd\x35\x10\xb1\x63\x1a\x6f\x69\x9f\x09\x64\x7b\x3d\x63\x47\x38\xba\x30\x3c\x2c\x95\xec\xf6\x1a\x4f\x3e\x95\x1e\x39\x64\xce\xb2\xb3\xa4\xdb\x5d\x2a\x18\xf7\x23\x93\x2e\xe2\x74\xf3\x42\x73\x48\xf4\x52\x91\xb0\xc1\x1d\x73\xa2\xb0\x3f\x74\xe9\x33\x38\x49\x17\x64\x10\x75\x53\xf6\x53\x70\x47\x6b\x2f\xf0\x8e\x60\xe0\x4a\xd2\x1f\x86\xf6\x98\x34\x8e\x22\xe6\xba\xdb\xf9\xd8\x5e\x59\xea\x83\xc6\x5f\xf3\x7d\xde\xf5\x9e\xbb\x3f\xbc\x8f\xf0\xa3\xd9\xd8\x6b\xfa\x03\x63\x49\x13\xc8\x60\xe3\x63\x73\x52\x6b\x64\x56\x3e\x42\x54\xf0\x6b\x80\xe3\xc1\x88\x0a\x29\xfa\x31\x75\x10\x36\x3b\xd1\x0f\xaa\x9c\x7a\xd8\xf8\x9f\xe0\xe2\xdb\x54\x75\x85\x15\x1d\xf8\x55\x85\xfd\xef\x7f\x55\x11\x73\xcb\x82\xd6\xe3\xcb\x8a\xb5\x1e\x0a\x93\x39\x34\xc4\xe3\x17\xe5\xce\xaf\x9b\x37\xbf\x6e\xce\xfc\x0a\xf9\x32\x15\x60\xc9\x3c\xb9\xf6\x8d\x78\xdb\xc5\xa7\xeb\xb0\x00\x95\xfe\x42\xcf\x53\xf6\x00\xdb\x8d\x78\xd3\xbf\x15\xd9\x9d\xe7\xb6\x48\x81\x03\x52\x2e\x98\x5c\x6b\x6e\x7c\xbf\x90\x53\x84\x38\x33\x25\x08\x73\xb7\x41\x79\x10\x44\xf1\x00\xa6\xff\x76\xef\x8f\x63\x60\x06\xdf\x9d\x9d\xe9\xda\x31\xa6\xef\xff\x0a\x08\x66\x70\xea\xf0\x11\xcd\x46\xed\x8f\x89\xa2\x69\xc8\xef\x56\xbd\xee\xe7\x2d\x06\xea\xfd\xa4\x66\xe0\xe1\x7e\x4e\xa5\xd1\x49\xd6\xa8\x81\x4e\x59\xf4\xc3\x19\xcb\xb2\xfd\x18\x55\xd8\x69\x33\x7e\x96\xf6\xcf\x26\xb1\xd6\x7e\x3a\xaf\xa5\x19\xbb\x71\xe1\x31\x28\x3e\x4d\x2b\xef\x0a\xad\x84\xf2\x89\xdf\x0a\xf4\xe6\xef\x41\xcb\x8e\x77\x35\x97\x18\x1e\x1e\x66\xe1\x8d\x8b\xa4\x1b\xa8\x50\xad\xb8\xed\x6b\x96\xa8\x2e\xcd\xa0\xcf\x8d\xc8\xfc\x3b\xb5\x12\xbc\x59\x5a\x33\xdf\xf8\x5a\xf8\x06\xcc\x71\xb5\x20\x79\x68\x4d\xdf\x1f\xc1\x4d\x38\x3b\xb9\x49\x72\x72\xaf\xd3\x8c\xd2\xb6\x2b\x29\xbb\x1d\xec\x0e\x8e\x21\x39\x9f\x7e\x78\x11\xdf\x22\x9c\x5a\xeb\x3d\x36\x85\x57\x44\x2c\x51\xed\x73\x4e\xbb\x3c\xf0\x92\x06\x91\x2d\x0a\x3a\x10\xd9\x73\x7d\xbc\x1f\x0e\x86\xc8\xc2\x21\x19\x23\x13\x17\xb4\x0f\x47\xf0\xdf\x00\x00\x00\xff\xff\x4f\xf0\x46\x99\x8f\x29\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x3a\x5b\x6f\xdb\x46\xd6\xef\xfe\x15\x27\xfa\x80\x7e\x12\x6a\xcb\xee\x2d\xdb\x0a\x76\xdc\xb4\x89\x77\x17\x68\x81\x20\x71\xd3\x87\x20\x48\x46\xe4\x91\x34\x6b\x72\x86\x98\x19\x4a\x56\x0d\xff\xf7\xc5\x99\x0b\x39\x43\x91\xb2\xec\xf4\x6d\xf9\x22\x91\x9c\x73\xe6\xdc\x6f\x43\x5e\x56\x52\x19\xb8\xaa\xc5\x92\xcf\x0b\xbc\x96\x37\x28\x60\xa1\x64\x09\xa3\xe4\xd9\xe8\xc8\xaf\xfc\x1d\x0d\xcb\x99\x61\xef\x39\x6e\xb4\x5f\x99\x3c\x6b\x56\x26\xf0\x7d\x60\xc3\x0b\xda\xdd\xea\xc2\xf0\xaa\xc0\xf7\xac\x2e\x4c\xb3\x5d\xf2\xb0\x59\x4b\x90\x6f\x51\xcb\x62\x8d\xca\xaf\x8c\x1f\x8d\x8e\x8e\x58\x96\xa1\xd6\x63\x56\x14\x13\xc8\xa4\x30\x8a\x65\x06\x5e\xdf\xb2\xb2\xf2\x44\xcc\x52\x24\x77\x47\x47\x00\x00\xa7\xa7\xa7\x70\xbd\x42\xc0\x35\x0a\x03\x66\xc5\x0c\x70\x0d\x58\x72\x63\x30\x87\xcd\x0a\x05\x08\xdc\x80\x21\x0c\x1a\x98\x42\x28\xb9\x30\x98\x5b\xe0\x78\x4f\x87\xc0\xee\xa4\x7f\xb7\x4b\xc6\xac\x94\xb5\x30\x33\xf8\xe3\x8a\xdf\x3e\xff\xfe\x18\xcc\xb6\xc2\x19\xbc\x33\x8a\x8b\xe5\x24\xda\x5e\x1a\x56\x80\xae\xab\xaa\xd8\x82\x5c\x24\x44\x6b\xe0\x02\xf0\x96\x6b\x83\x22\xc3\x9d\x4d\xd7\x4c\x81\x21\xf0\x77\x16\x3a\x6c\xd5\xe2\x7e\x99\x97\x5c\xc0\x1b\x66\x56\x3b\xb0\x05\x1a\xf7\xfa\x9d\x91\x8a\x2d\x91\x16\x11\x75\xcd\x4d\x8b\xe5\x0f\x8d\xca\x22\xd1\xbd\x58\xac\xae\x06\xb1\x0c\x42\xbc\xa9\xe7\x05\xcf\x1c\x40\xfb\xbf\xdd\xf5\xaa\x16\x99\xe1\x52\x80\x91\xa0\xd0\xd4\x4a\x80\x59\xa1\x95\xa2\x76\x9a\xa2\xdb\x46\xd7\x9c\x84\x56\xa2\x30\xbb\x44\xae\x39\x6e\x60\x51\x0b\x58\xa2\xb1\x5b\x5f\x13\x8e\xf1\x64\x06\x1f\xe8\xdf\x47\xb8\xb3\x20\x74\x11\x75\xb4\xc3\x4b\xa5\xd8\xb6\x79\x7f\xe1\xfe\x9c\xff\x1c\xeb\x66\x6a\x51\xbd\x18\x4f\x3e\x36\xd0\x81\xcc\x80\xc0\xbe\xb8\x3f\xda\x4f\x10\x39\xc5\x20\x2d\x6b\xda\xe3\x2d\x2e\xe0\x02\x34\x16\x8b\x29\xcb\x32\x32\xaa\xe9\x12\xcd\xaf\xac\x62\x73\x5e\x70\xb3\x1d\x9f\x56\x56\x7e\xa7\x18\x91\x67\xa9\x9b\x34\xc8\xe8\x9a\xce\xa5\x52\x72\x73\xfe\x55\x2f\x1b\xc9\xd2\xcb\x4b\xa8\x98\xe0\xd9\x78\xf4\xab\xac\x8b\x1c\x84\x34\xe0\xa0\x81\x81\xc2\x05\x2a\x32\x48\x52\x0d\x29\xc1\x52\x09\x2a\x78\x63\x8b\xaa\x2b\x99\xc0\xce\xb4\x65\x7c\x48\x46\x24\x1e\x8f\x91\x56\x8e\x3f\x59\xa9\xcd\x80\xa4\x34\x99\xc1\x4b\xb1\x7d\x67\x54\x9d\x99\xcb\xff\x11\x89\xc5\xb2\x20\x49\x24\x82\x23\x7f\xb1\x54\x85\xbb\xe6\xe9\x6b\x96\xad\xa0\x26\x07\xd6\x46\x2a\xd4\xc0\x04\x70\xa1\x0d\x23\x62\xe4\x02\xa4\x28\xb6\x96\x22\x0b\x4e\xe1\xc6\xac\x90\xbb\xd5\x6c\x89\x49\x90\x5c\x78\x8f\xd4\x7e\x99\x87\x61\x22\x87\xa5\x5c\xa3\x12\x98\xc3\xdc\x61\xab\x14\xda\xe7\x95\xd4\x86\x7c\x34\xe7\x16\xb0\x41\xc7\x45\x27\x2f\xd9\x50\x6b\x56\xb8\xb5\x41\x36\x63\x45\x81\xf9\x34\xd9\x3d\x5b\x61\x76\xa3\x61\xc5\xaa\x0a\x05\x30\x03\xaa\x16\x86\x97\x68\x41\x91\x62\x3a\x6b\x28\xa4\x20\xde\xc1\xd1\xe0\xa2\x14\x50\xab\x0c\x69\x85\x70\xfc\xcf\x11\x32\x85\x8c\x42\xbe\xe7\x8c\xc2\x0a\xde\x1a\x92\x50\x12\x65\x42\xdc\xd9\x36\xe8\x88\xdc\x1c\x17\x5c\x58\xe0\x63\xd0\x56\xc1\x0a\x89\x04\x21\x61\xc3\xb6\xb0\x90\x44\x5b\xc9\x0a\x9e\x71\x59\x6b\xa7\x0e\x23\xfd\x9e\x4e\x8a\xad\x68\x64\xed\xb7\xe5\x02\x18\x57\x53\x78\x09\xba\xc2\x8c\xb3\x02\x6c\x62\x51\xd6\x6c\x88\x03\x10\x88\xb9\x26\x4c\xf3\x96\x06\x23\x6d\x8a\x6a\xd0\xb5\xe9\x2b\x15\x45\xec\x6b\x0d\x42\x4b\xca\x2c\x55\x8d\x33\xf7\x90\x30\x63\x8d\xd8\xd4\x03\x73\x56\x04\x63\x32\x2b\xae\x9d\xc5\x36\x6b\xbb\xe9\xca\xaf\x4e\x53\x55\xb4\x90\x7c\xd6\xad\xd4\xfb\x32\x4a\x2f\x44\xb5\x27\xa3\xb4\xda\x27\xb7\xd2\x56\xab\x7e\x07\xa8\x98\x59\x91\x15\x29\x8c\x7c\x53\xaf\xac\x1b\x9b\x6d\xc5\xc9\x92\xac\x91\x58\x17\xca\xfb\x79\x8b\x42\xfa\x2b\x5c\x74\x52\x22\xc5\xf7\xe8\x36\x8e\x59\x91\xaf\xdb\x78\xa5\x7b\x38\xbd\x1f\xe6\xc1\xf1\x9c\xb2\x10\x94\x10\x78\x58\xb1\x35\x02\x0b\x4b\xb3\x26\x0a\x1e\xca\x48\x2b\x4b\xe2\xa3\xbd\xdb\xc7\x46\xab\x8b\x3e\x2e\x1e\x9f\x0c\x23\xfc\x2e\x17\x0f\x57\x98\xd3\xab\x6b\xfa\x7d\x31\x9e\x1c\x27\xe0\xe1\x7a\x18\xfc\x15\xd7\x55\xc1\xb6\x5f\x80\xc1\xfa\xcc\x2b\x66\xd8\x93\x71\x5c\xb7\x75\x5d\x52\x63\x0c\x48\xf1\x29\xe9\x92\x2e\xbd\xe1\x26\x5b\x39\x25\xdc\xed\x10\x9a\x31\x8d\x87\x70\xeb\xc4\x3d\xeb\x65\xd4\x6b\xed\x41\x04\xe3\x5e\x68\xba\x16\xc6\x2b\x64\xe6\x6c\x2b\xe6\xf3\x31\xca\x9c\x00\xd3\xcf\xf6\x13\xe2\x17\x5f\xf6\xeb\xcc\x11\xd3\xe8\xf6\x49\xe4\xc4\x96\x71\x00\x41\xcd\xf2\xcb\x5e\x8a\x26\x4f\x55\x59\x2b\x95\x7e\xad\x51\x29\x55\x62\xce\x19\x5c\xa4\x7d\xe1\xf4\x77\x7a\x3a\xac\x2c\x2b\x23\x5e\xe0\xac\x03\xf6\xaf\xeb\xeb\x37\x57\xbc\xc0\xfd\x90\xb5\x2a\x66\x30\x5a\x19\x53\xe9\xd9\xe9\x29\xd3\x1a\x8d\x9e\x6e\x70\xae\xb9\xc1\x13\x42\xab\xa7\x99\x2c\x4f\x7f\x58\x3c\xff\xf6\xa7\xef\xb3\xb3\xec\x1f\xec\xc7\x2c\xcf\x9f\x7f\xff\xdd\xfc\x9b\xec\xc7\x6f\xcf\x3a\x2f\xd8\x0f\x3f\x64\xf3\x6f\xb2\x9f\xbe\x7b\xfe\xe9\xaa\x90\x9b\x4f\x7f\x4a\x95\x97\x4c\xdd\x4c\xf5\x7a\x39\x1a\xa4\x63\xc0\x61\xe9\xb2\x12\xb9\xb6\x7d\xdc\x88\x97\x6c\x89\xa7\x7a\xbd\xfc\xfa\xb6\x2c\xfa\xb1\xed\x6a\x27\x11\xad\xee\x97\xad\x1e\x7f\xb0\xaf\x3f\xf6\x83\x1f\xe2\x4f\x5e\xbb\xc3\xb2\x16\xac\x24\x1e\x7c\x59\xdb\x20\x73\x0d\xec\x68\x58\x00\x7a\x5b\xce\x25\xa9\xe8\xf5\xd5\xf5\x9e\x65\x39\xea\x4c\xf1\x8a\x4a\xb1\x19\x8c\xae\x29\x23\x2d\xc2\x16\xb6\x18\xa1\xea\xa8\xd6\x98\x03\xb3\x15\xa9\x2f\xc3\xa9\x78\x59\x61\x51\xc1\x56\xd6\x90\xe3\x1a\x0b\x69\xff\x2b\x10\x54\x8c\x5d\x5d\xc3\xff\x49\x41\x9a\x9c\xee\xd9\x1b\x6f\x0d\x2a\xc1\x8a\x3f\xde\xfe\xd6\xb5\xc1\xd7\xed\xab\x71\x63\x64\x7e\xef\x93\x85\x99\x4a\xb1\x20\xe4\x52\x2d\x47\x7b\x8c\xa0\x90\x4b\xa9\x67\x5e\x85\x7b\x44\x25\xa9\x66\xd3\xb3\x9e\xb0\x1a\x5f\x23\xb3\xe1\xc6\xa0\x1a\x1d\x44\xac\x5f\x6c\x9d\x80\x68\xfd\x34\x2f\x64\x76\x93\xad\x18\x17\xa3\x7e\x73\x01\x9b\x33\xfa\x9e\x3e\x39\x76\xc4\x21\x6c\x38\x7a\x44\x8d\x58\xd2\x3d\x85\x86\x6c\x5f\x6b\xb5\x50\xb2\x9c\xed\xd4\x43\xc3\x0c\x3e\xae\xf9\x72\x65\x9c\x23\x70\x40\x6a\x07\x25\xad\x20\x86\x61\x37\x4b\x6a\xd8\x2e\x3b\xc3\xa6\xa3\x30\x43\xbe\x46\x15\xc1\xb5\xf5\xd4\xbe\xe8\xe4\x08\x7c\x24\x58\xa5\xe4\x9a\xe7\x61\xb7\xd3\x4a\xf1\x35\x33\xb8\xdb\x1a\x3f\x4c\xef\x6f\x5c\xdc\x60\xee\xe2\xa3\x35\xa3\xfe\xbe\xf9\x61\x0e\xbe\x18\x51\xe0\xe9\x8b\x11\xb9\x1e\xed\x75\x59\x99\xad\x5d\x1c\xa6\x52\x33\x18\x2f\x6a\x41\xa5\xea\xcf\x77\x3d\xed\xd2\xfd\x03\x5e\xef\xed\xeb\xfc\xa4\xe9\xef\xbb\x1b\x8d\xf7\xb8\x73\xff\xab\xf4\xe9\x7d\x5f\xe9\x2c\x78\x31\xd4\x54\x2c\xd1\x50\xb5\x29\x95\xc1\xbc\x1d\x92\x81\xb4\x41\xdc\x36\x40\xca\xb7\x1d\x0c\x0a\xae\x6d\x8f\xea\xba\x8c\x64\x22\xc7\x75\x63\x0d\xb6\x3e\xad\x7c\x67\x0b\x7b\xaa\xfe\x9e\x7d\x49\xb0\x77\x4e\x6d\xbf\x48\x59\x74\xc5\x49\xf1\x45\x07\x28\x0b\xd0\x59\x7e\x01\x77\xa9\x00\xd2\xd5\x1f\xac\x73\x2c\xd1\x6e\x36\x9e\x7c\x84\x0b\x30\xaa\xc6\xde\x6e\x26\x01\x3c\xb8\x99\xe1\x7a\x97\xab\xb1\x69\xec\x70\xe2\x08\xdd\xd3\x40\x0d\xc9\xe5\x83\xb1\x9d\xd1\xe5\x25\x2c\x58\xa1\xb1\x5f\x9d\xc0\x05\x37\x9c\x15\xfc\x2f\xd7\xd2\x86\x1e\x9d\x99\xb6\xd7\xb7\x06\x67\xe7\xab\xbc\x6c\xd1\x10\xe0\xb8\xd3\xa4\x4f\xba\x3d\x03\xd1\x17\x50\x5e\x04\xe4\x3b\x0a\xe2\x39\x0a\xc3\x17\x1c\x15\x5c\xc0\x68\x27\x9c\x8c\x76\x71\x46\xc1\x11\x2e\xe2\x86\x79\xdc\xe2\x9a\x45\x78\x27\xcf\x76\x71\xb4\x11\x0f\x2e\xa2\x5e\xf5\x61\x0c\x1d\x7f\xf8\x27\x9a\x44\x74\x7e\x12\xb4\x67\xba\x11\x59\xf4\x2f\x0e\x88\xac\xd8\x89\x70\x8f\xa2\xbb\xe2\xeb\xd0\xb1\xe1\x66\x95\x2b\xb6\x89\x1f\x26\x0b\xda\x39\xb9\xf5\x40\x76\xe3\x86\x7c\xee\xf4\xc1\xd7\x57\x4c\x2d\xeb\x12\x85\x49\x00\x99\xc8\x1b\xec\xde\x7f\x3d\x90\x3d\x61\x69\x06\x7c\xd3\xc1\xad\xff\x6d\x7c\x7c\xa4\xa0\x60\x07\x4d\x58\x56\x52\x31\xb5\xf5\xa3\xc1\x70\xa0\x62\x4b\x3d\x2a\xee\x64\x91\x27\x18\xec\x44\xdf\x9d\x74\x38\x02\x14\xc2\x1c\xb9\x58\x82\x51\x4c\xe8\x05\x2a\x85\xf9\x94\x36\x52\xd1\xd0\x43\xe0\xa6\xd8\x26\x78\xc2\xf8\xce\x6f\x2b\x93\x21\x9e\xc5\xec\xc6\x81\xa0\x25\x70\x63\x27\x7f\x76\x66\x56\x49\xea\x2c\x52\x9a\xb0\xd0\x68\x47\x29\xfd\x8c\x7b\x9d\xa7\x41\xff\x4f\x2f\x47\x36\x2f\xd0\x35\xe3\x41\xb2\x9d\x63\x20\x4a\x18\xbb\x29\x68\xbf\x83\x25\xb7\x27\x5e\x49\x7d\xf6\x74\x7e\x12\x8f\x14\x5b\x37\x76\x10\x93\x21\x13\xf3\x62\x78\x9c\x85\x79\x51\xcb\xf9\x7f\x30\xeb\x9a\x99\x35\x2d\x96\xe7\x3a\x41\xc3\x8d\x6e\xbc\xc9\x6b\xa8\xe3\x5c\x72\x23\x50\xe9\x03\xac\x8e\x6b\x60\x45\x21\x37\xce\xaa\x72\xd4\x46\x49\x37\x78\xd6\xb4\xbd\x23\x6d\x8e\x19\xab\x35\xb6\x86\x9c\xfa\x15\x91\x1c\x19\x2c\x99\x26\xaa\x40\x89\x9f\x98\xda\x31\xa7\x85\xfd\xff\x96\xf6\x15\x4b\xf9\x9a\x23\x0a\xb2\x35\x5d\x97\xd4\xd0\x88\xdc\x0d\x80\x17\xd2\x0e\xb2\xbd\xa1\x59\x0a\xc3\x38\x7a\xc0\xa4\x9a\x41\x8e\x57\x88\x2f\x83\xfb\x0b\x8c\x6e\x50\x6e\x4a\x6e\x38\x3f\x71\x0e\xcc\xf4\xb3\x3e\x5b\x3b\xd8\xd2\xbe\x76\xf8\x76\x02\x14\x5d\xc9\x1b\xb8\x80\xb3\xe9\x59\xf2\x3e\xa8\x24\x0d\x97\xbb\x49\xf3\x21\x2f\x0a\x51\x60\xe7\x30\x35\x14\x19\x33\x68\x4f\x75\xce\xbf\xea\x48\xea\xad\x5f\x74\xff\xa2\x4f\x5a\x01\xf7\xfb\x20\x35\xcb\xfd\x8e\xdf\x06\xe7\x49\xe0\x7d\x82\xe8\x69\x2e\x14\x66\xbc\xe2\x28\xc8\x62\xc2\xfe\x3b\x5b\x07\xea\x5d\x7b\x14\xee\x7c\x4b\xd4\x53\xf9\xed\xe9\x6f\x9a\x6a\x6b\x2f\x25\xef\x7d\xaf\xd3\x65\xe2\x95\xb3\x34\xbb\x3e\x70\x2e\x42\x44\xf6\x67\x21\x31\x1e\xd5\xc7\x51\xc4\xcd\x34\x35\xdd\xf3\x93\x44\xc8\x83\x11\xa8\x5b\xfc\x1e\x18\x8a\xd2\xe4\xe3\xf4\x48\x5c\x00\x8b\x23\xcb\x5f\xa8\xe4\x4e\xe2\x0b\xe9\x84\xb7\xd9\x82\x15\x05\x25\x1e\x9f\x35\xa6\xf0\xd2\x1d\xd4\x94\xb5\x76\xd9\xc3\x55\xb7\xe1\x88\x69\x07\xa3\xed\x2a\xbd\xc0\x08\x77\x93\x8d\xba\x67\x6a\xf4\x40\xaa\xdc\x9d\x01\xd9\x30\xe6\xde\xa7\x18\x5d\x97\xec\x0f\x77\x98\x1b\x9c\x04\x49\x87\x00\xa1\x9b\x43\x17\x37\x54\xa1\xd2\xf0\xb0\x08\xb3\xdb\x6d\x1c\x92\x97\x1e\x48\x33\x67\xd3\xb3\x5e\x0d\xfb\x60\x30\xee\x3a\x21\x5f\xa4\x01\xe7\x05\x61\xe8\x69\x9c\x12\xba\xa2\xef\x1d\xba\x93\x85\xf8\xd5\x49\x7f\x71\x05\x49\x67\xe4\xfe\x45\x67\xa8\xee\x80\xed\x08\x06\x8e\x0c\x43\xb6\x73\x79\xd0\x8a\x9c\xd9\x2f\x2c\xbc\xb6\xdc\x91\x22\x65\x92\x70\x0c\xf7\xb8\xe3\x37\x7f\xbe\x77\x97\x58\x02\xa1\x71\x1f\x83\x1c\xe8\x15\x04\xa0\xa3\x8d\x8f\x6d\x2a\x26\x1b\x2b\x83\xad\x9b\xe8\x9b\x93\xe3\x41\xdf\x88\x21\xba\xde\x71\x90\x95\xb5\xa4\x3f\xa5\x0a\x7a\x8a\xda\xbf\xee\xab\x8e\xb0\xe4\x03\x9f\xe6\xb8\xdf\xf0\x69\x4e\xda\x14\x4e\xa3\x2e\xe1\xcb\x8a\xad\x8e\x91\xf5\x06\xbb\xd8\xdc\xbe\x28\xc8\xfd\xbd\x01\xee\xef\x0d\x6e\x7f\x43\x60\xeb\xf3\x9f\xa7\x05\xb4\x46\x8d\xf0\x40\x34\xf3\xaa\xb3\x9d\x71\x1c\xc2\xac\xb9\xa4\x76\xf9\xcd\xd9\x19\x55\x42\xe9\x92\xee\x57\x56\x70\x01\xa7\x5e\x5a\xc9\x90\xcd\x7d\xac\x95\xb4\xf1\xbf\x3a\xca\xda\x6f\x2d\xac\xe2\xbb\x1e\x6c\x85\xe5\xbf\x50\x23\x5d\xb1\x35\x92\xda\xb9\x48\xbe\xe2\x70\x28\x9b\xbf\x49\xbd\xd8\x2f\x81\x2e\x83\x93\x94\xaf\xee\x77\x5f\x70\xe1\xcb\xc2\x81\x23\xf0\x67\x3d\xe0\x6f\xe2\x6e\xbd\x0b\x1d\x9f\x3b\x77\x80\xc3\x10\x99\x78\x1d\xfb\x29\xda\x31\x18\x39\xeb\x27\x6d\xd2\x27\xd5\x9e\x13\xf1\xce\x84\x38\x6a\x62\xf1\xb6\x92\x1a\xe3\x10\x6c\x17\x7e\xf6\x06\xfb\x19\x4a\x34\x2b\xe9\xca\xff\x25\x9a\x97\x76\xf4\xe5\x87\x46\xe1\x9d\x59\x29\x59\x2f\x9d\xfe\x3e\x87\xda\xf0\x33\xd8\xa0\xbf\x60\x59\xac\xa6\xd0\x46\xc0\xe7\x78\x9a\xf0\xb9\x17\x93\x7f\xdd\x8f\xa8\x5f\x6c\x05\x17\x37\x83\xd5\xf2\x71\xe7\xfb\x0f\x8f\xff\x38\xf9\x80\x72\x1a\xfe\xdc\xbf\x18\xef\x76\x14\x1d\xdd\xa6\xe3\x55\xc3\xd4\x12\xcd\x80\xa6\x9a\x95\x91\xca\xc8\x54\x5d\x9e\x6d\x4d\xd5\xa5\xca\xf1\x64\xaf\x59\x58\xa0\xc8\x2c\xba\x9e\x18\xfc\xfb\xfe\x08\xfe\x1b\x00\x00\xff\xff\x37\x20\x0d\x37\x2d\x2b\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,7 +97,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x22, 0x89, 0x59, 0xa, 0x45, 0x26, 0x91, 0xe0, 0xfe, 0x35, 0xa1, 0x41, 0x6f, 0x55, 0xb6, 0xd5, 0xaa, 0x40, 0x62, 0xc4, 0x1d, 0xa0, 0x4d, 0xbd, 0x15, 0xfa, 0x1e, 0xba, 0x1, 0x7b, 0xed, 0xa7}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x33, 0x87, 0xed, 0xf4, 0x63, 0xf7, 0x7c, 0x8c, 0xb2, 0xd0, 0x4a, 0xe7, 0x97, 0xee, 0xde, 0x70, 0x41, 0xbe, 0x1f, 0xd1, 0xdb, 0x2, 0x40, 0x88, 0xc9, 0x27, 0x1d, 0x4b, 0x69, 0x70, 0x4}}
 	return a, nil
 }
 
@@ -181,7 +181,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\xcf\x8f\xe3\xb6\xee\xbf\xcf\x5f\xc1\xce\xe1\xbb\x19\x20\x4d\x7a\xf8\xe2\x1d\x06\x9d\xee\xcf\xb7\x45\x2f\x7d\x45\x3b\x7d\x7b\x58\x2c\x30\x8a\x4d\x4f\x84\x71\x24\x43\x92\x93\x4d\x17\xfb\xbf\x3f\x50\x92\x6d\xc9\x96\x1d\x67\x76\x5e\x7f\x3c\x34\x87\x76\x93\x89\x28\x92\x22\xf9\x21\x45\x3a\x7c\x57\x49\x65\xe0\x6d\x2d\xee\xf9\xa6\xc4\x5b\xf9\x80\x02\x0a\x25\x77\x70\x19\x7d\x76\x79\x71\xb1\x5e\xaf\xe1\x76\x8b\x90\x49\x61\x14\xcb\x0c\x98\x2d\x33\xc0\xca\x52\x1e\x34\x30\x01\x2c\xcb\x64\x2d\x0c\x18\x09\x0a\x33\xe4\x7b\x84\x8a\x1d\x77\x28\x8c\x06\x2e\x60\x57\x97\x86\x57\x25\x42\xe1\xe9\x5a\x82\x86\x88\x6b\xa8\x35\x17\xf7\xc0\x80\xfe\x57\x22\xdc\x7d\x8a\x36\x5f\xfd\xec\xe8\xa9\xcf\x77\x90\xb1\x8a\x6d\x78\xc9\xcd\x71\xe5\x39\xe2\x3a\xf8\x10\xf4\x56\xd6\x65\x0e\x3c\x47\x56\x96\x47\xd8\x20\x68\x23\x15\xe6\xc0\x88\x61\x04\xbb\xe8\x2e\x22\xff\xcb\x81\x9b\x6c\xbb\x91\x4c\xe5\xed\x4e\x3f\xd5\x9b\x92\x67\x3f\x31\xb3\x85\x1b\x58\x57\xf6\xdd\xfa\x7b\x14\xa8\x78\xf6\xf6\xb6\xf9\xd6\x9d\xa5\xb6\xa9\x0d\x70\x03\x19\x13\xe1\x76\xe2\x78\xd8\xa2\x42\xc7\xe5\x05\xcb\x32\xd4\x7a\xc1\xca\xf2\xaa\x53\xe0\x18\x17\xf0\xe9\x02\xe0\x02\x00\x60\xbd\x86\x5f\x8c\x54\xec\x1e\x81\x89\x1c\x1c\x57\x40\x6c\x69\xfb\xf7\x90\x6c\x89\xa6\xf9\x32\x7d\xe1\x3a\x7c\x93\xfc\x72\x27\xe3\x75\xf0\xef\xe4\x57\x87\x6a\x89\x96\x78\x5e\x9d\x7d\xe0\x1e\x85\x37\x0e\xae\x01\x77\xdc\x18\xcc\xe1\xb0\x45\x01\x0c\x04\x1e\x60\xcf\xea\xd2\x84\x67\xc6\x35\xb0\x3c\xc7\x9c\x4c\x87\xb5\xb4\x74\xa0\x10\x85\x5a\xd6\x2a\xc3\x55\xfb\xd7\x01\x9b\x6e\xdb\x7f\x13\xed\xd7\x2d\xe9\x97\x44\x76\x61\x8e\x15\x5e\xc3\xed\xb1\xc2\x65\x48\xf5\x5f\x07\x81\xea\x1a\x5e\xe6\xb9\x42\xad\x9f\x2f\x1d\xcd\x53\xaf\x8e\xef\xde\xfa\xab\x33\xd4\x90\x52\x81\xc2\x9d\xdc\x63\xee\xbc\x8f\xc1\x93\xea\xe1\x67\x47\x3b\xd2\xc4\x97\xab\xe2\xc9\xd4\x91\x63\x25\xb5\x77\x21\x21\x0d\xb9\x51\x26\x77\x55\x89\x06\xf3\x93\xa2\xfe\x28\xcd\xeb\xe6\xcb\x6f\x1c\xa1\x48\x4e\xb6\xa3\xb0\x74\x0d\xbf\xbe\xe5\x1f\xff\xf1\xff\x33\x45\x1b\xd7\x4d\x4f\x2e\x2e\x0c\xaa\x82\x65\xe8\x64\x43\x51\x48\x95\xa1\xb6\xb1\x66\x87\x66\x2b\x9d\x55\x53\x94\xa4\x98\x20\x05\xd2\xfb\x6c\x8b\xd9\x03\x48\x41\x5f\x6b\xc9\xb1\x3d\xe3\x25\xdb\x94\xd8\x29\x95\xa3\x06\x59\x50\x60\x4c\x18\x81\x0d\x09\xac\xd4\x12\xf0\x63\x25\xb5\xdf\xb4\x25\xd7\x28\xd5\x71\xa1\x69\xdb\xe6\xa3\xa2\x16\xb9\xa6\xed\xb9\x99\x50\x6f\xbb\x4f\x27\x63\x10\xa4\x7c\x2c\xfa\xd4\xaa\x33\x5c\xba\xe7\x78\xa0\x5d\xe0\x1e\x8d\x35\x45\x3a\x0a\xbd\xb8\xba\x86\xf7\xf4\xaf\x0f\x67\x2c\x7a\xc7\xcd\xd6\xeb\x9e\xd6\x7f\xba\xb5\x47\xeb\x3f\xf9\x7c\x92\xd0\x2f\x75\x45\x08\x87\x79\xcc\x86\x27\xf3\x4a\xca\x32\x4d\x83\x96\x7b\x75\x2d\xc8\x23\xaf\xe1\x45\x8c\x49\x96\xde\xd5\xe8\x5a\xcd\x0a\x7c\x73\x7a\x7d\xfa\xe3\xe7\xd3\x62\x59\xeb\x69\x42\xf2\xab\x23\x89\x12\x58\xfc\x95\x13\x6b\x9a\x04\xb1\xf7\x4a\x2a\x25\x0f\xa9\xf5\xff\x37\x86\xbf\x8e\xb1\xcf\xb1\x0b\xb4\x76\x62\x3d\xc0\xe2\x9f\xb7\xff\x3e\xe4\x3b\xb8\x6f\xd2\x03\xd5\xd9\x6a\x68\xf0\x4b\xe7\x2d\x94\x10\x10\x11\x49\xee\x67\x7d\x28\xcf\xad\xc5\xbb\x38\x49\x7f\xdb\x39\x0f\x68\xbd\x6a\x60\xfa\x4c\x1c\xfb\x7b\xb3\x9d\xf4\x84\x3b\x77\x23\xd9\xf5\x1c\x47\x08\xcc\xff\x1a\xd2\x2a\x5a\x4e\xf9\x48\x7b\x26\xb4\xcd\x1b\x9e\x19\x2e\x05\x53\x47\xd8\xca\x32\x6f\xe4\x1d\xd3\x55\xac\xa2\x88\x12\x17\x39\x7e\xc4\x1c\x36\xc7\x14\x05\x87\x35\x24\xe3\x2a\x5a\xd5\x37\x90\x26\x2d\xb9\x82\x3d\x53\xed\xbe\xaf\x83\x6d\x5b\xb7\xe9\x80\xe5\xdb\x51\x53\xf9\xce\x5b\x49\xb3\xdd\xcb\x3c\xd7\x3e\x01\x38\x29\xe2\x91\x4e\x93\x44\x09\xc3\x5e\x44\x2d\x06\xc2\x81\x48\xf4\xe6\x45\xc5\x14\xdb\x05\x44\xaf\x5d\xfa\x1a\x6d\xe2\x22\x27\x30\xc8\x50\x19\xc6\x45\x97\x9d\x86\xa4\x42\x45\x06\x31\xd4\x9e\x1f\x98\xad\x92\xf5\xfd\x76\x2a\x69\x25\xc7\x88\x08\x1e\x78\x59\x12\xca\xb5\x69\x4f\x4f\xd8\xe9\x93\x6a\x83\x0c\xcb\xf3\x1f\xf1\x60\x43\xc6\x22\x94\x73\xd6\xf9\x5c\x05\xb1\xdb\xed\x04\x2e\x22\x00\x03\x85\x05\x2a\x14\x19\x36\xbc\x39\xd9\x2b\x49\x50\x60\x19\xf6\xb6\x16\x68\xf3\x80\xd0\xa7\x77\x60\xae\x1e\xb0\x31\x01\xb8\xd0\x3c\xc7\xbe\xa8\xd1\x1a\xca\x35\xed\x56\x3f\x63\x01\x37\x61\xb2\xbf\xb1\xac\x2d\xae\xc6\xe1\xfb\xf9\x73\xa8\x98\xe0\x19\x2c\x2e\x5f\x33\x61\xd3\x08\x27\x4e\x24\x8c\x13\xc4\xe6\x58\x1d\xf5\xcb\xab\x3e\xe7\xaf\x2d\x40\xf3\x82\xb8\x25\xd6\xc9\x74\x2b\x85\x7b\x2e\xeb\xa8\xdc\x28\xa4\x02\x43\x25\x88\x35\x91\x25\xad\x10\xd2\x44\xd4\x78\x01\x0b\x8d\x65\xb1\x4a\xb9\xd4\xfb\x46\xda\xd5\x3d\x5a\x74\x5a\x5c\x7d\x80\x9b\x1b\x10\xbc\xec\x9f\x8f\xe7\xac\xd6\x18\x9c\x48\x20\xdb\xb1\x42\x60\x1a\x1e\xd0\x71\x45\x3a\x6f\x62\x4a\x8a\x4e\x20\x04\x45\x51\xb3\x45\x31\xf8\xda\x99\x6c\x07\x34\x53\x3b\x52\xd2\x67\xd9\x09\x73\x41\x91\xf3\x8c\x19\x0b\x18\x54\x4d\xda\xf8\x10\xb0\xb6\x65\x1a\x36\x88\x22\x29\x82\xf5\x9e\xc1\x1f\xec\x36\x13\x75\xc0\x90\xf5\xe5\xec\x6c\xb7\xd1\xcb\x20\x3b\xb4\x9a\xb2\x50\xf5\x7c\xc5\x5c\x6e\x72\x46\x12\xdd\xbe\x06\xd9\x74\xe0\x01\x9e\x6c\x6c\xaa\x9f\x01\x4b\x8d\x69\x4b\xf9\xa1\xb1\xde\x03\xd3\xc0\x4a\x85\x2c\x3f\x52\xa4\xeb\x5b\x2f\x55\xc6\xce\x7a\xad\xff\x0c\x48\xd9\x4f\x17\x97\xb7\xad\x27\xb4\xa4\x9c\x0d\x72\x9b\xc6\x86\xb8\xd7\x73\x8b\x9e\x7b\x75\x09\xd7\x08\x44\xd4\xbb\x0d\x2a\xca\x7b\x67\x81\x05\xe5\xc8\x9b\xa3\xbb\x42\x88\xa3\xf6\x16\xa1\xa2\x52\x19\x6c\x25\x4e\xef\x8f\xc0\x54\x53\xa2\xc7\x31\x36\xf1\x4a\xa1\x89\xa5\xe7\x80\xa4\x47\x1a\xdc\x25\x41\xcc\xd7\xd8\x6e\x9e\x9a\x3f\x52\x47\xcf\xbf\x21\xb9\xbb\xbc\xc7\xbf\x09\x89\x9e\x8f\x0d\xfa\xd5\x91\xca\xf4\x85\x67\xfe\x7d\x57\xb9\x7f\x58\x76\x3c\xf8\x94\x3a\x01\x0b\xdf\xa3\xf3\xdb\xe6\x86\x67\xae\xcc\x83\xd0\xee\x64\xba\xa1\xbc\xfc\xa5\xa3\xb5\x48\x5a\xf5\x7a\x0d\x6f\xa5\x02\x64\xd9\xd6\xaa\x79\x49\x2b\x1c\x70\x30\x2a\x91\x7b\xb1\xcb\xc3\x8b\x19\xe0\x0f\x17\x43\x68\x7d\xa6\x47\x6c\x28\x6f\xf3\xb1\x88\x0c\x99\x32\xf1\x40\x66\xee\x8e\x7c\xe8\x6c\x24\x5b\xc0\xd3\x8d\x13\x94\x02\xcc\x2c\x24\xb6\x07\x73\x95\x72\xe1\x2f\x02\xe4\x64\xcc\x3c\xe0\xf9\xa8\x0c\x61\x3c\xf1\x3b\x53\x4c\x71\xf8\x8a\x39\xe8\xda\x1a\x5f\x51\x97\xe5\x71\xb5\x5a\x0d\x16\xf3\x62\x0e\xb2\x0f\xf5\xea\x37\x5e\xad\x56\x74\xcc\x21\x1a\x0b\x99\x84\x63\x97\x4f\xb5\x61\x6d\x8c\xa0\x0d\x25\xc9\x3f\xce\x03\xeb\xaf\xe6\xa1\x75\xb0\xe3\xaf\x4f\x81\xda\x01\xbd\x09\xa4\x6d\x5e\xe7\x8a\x31\x87\x26\x81\xae\xc8\xe7\x23\x79\xc2\x06\x93\x42\x74\x38\x9f\xc6\xf4\xe6\xf5\x08\x6c\x9f\x46\xe1\xa7\x40\xf2\x01\x68\x27\x63\x5a\xf3\xfa\x3c\xf8\xf4\xf3\x79\xe8\xf8\xb4\x05\x14\xe8\x0a\x33\x5e\x1c\xc9\xe8\x0e\x5b\x9e\x6d\xe1\x8e\x14\x77\x47\xc8\x73\x97\xba\x9b\xb8\x6b\x2e\xba\x23\x72\xbe\x2a\x72\xa1\x88\x9b\x95\x35\x78\x6e\xc3\x0c\x17\x59\x59\xe7\x14\x68\xe0\x28\x6b\x15\xb1\x74\x79\x50\xac\xaa\x50\x5d\xf6\x78\x73\xf2\x68\x0a\x2c\x5b\x72\x0f\x06\x77\x2f\x2c\x0f\x6f\xa5\x3a\x30\x45\xc5\xf2\xca\xff\x13\xd5\xdd\x0a\x7e\x70\x77\x87\xf6\x32\x6c\x13\xd7\x6e\xb5\x76\x4c\xc9\x3d\xaa\x83\xe2\xc6\xf9\xa1\xf3\x3b\x63\x58\xb6\xf5\xf7\xce\x6d\x05\x18\x96\x34\xdc\x6c\x65\x6d\x62\x51\xb7\x6c\x6f\x3d\x54\x76\x37\x11\x2c\x0a\xff\x05\x57\xda\x44\x28\xfd\xbf\x59\x97\xa6\xa4\xf2\xd7\x48\x8d\x86\x65\xd1\xb7\x55\xaf\x2c\x6b\x41\x91\xd1\x0c\x78\xe9\x14\xb2\x04\xc5\x28\xf2\xd3\x77\x5c\xae\xe9\x6d\xd4\x96\x71\xc6\x5e\x41\x35\x01\xb5\xc5\x24\xfa\x5b\x44\x4f\x33\x9e\xa7\x62\xdc\xdc\x2c\xea\x9d\x33\xd5\xf3\x0b\xed\xc7\x14\x02\x23\xaf\xe0\x96\x6e\x98\xa6\x85\x35\x6b\xaf\xb7\x70\x90\xea\x21\x4c\x8f\xad\xa8\x5a\xa3\x0a\xef\x0d\x56\xf6\x5e\x91\x42\xe6\x0e\xb5\x66\xf7\x78\x0d\x97\x2e\xd1\xd5\x3a\x4e\xba\x2c\x00\x13\x9e\x97\x3c\x1f\xd6\xce\x0d\xd6\x59\x0b\xb0\x66\x81\x06\x55\x88\x72\x31\x83\xd1\xfa\x71\xd4\x22\x72\x13\x30\xf5\xa4\x05\x66\xb2\xb8\x3c\x05\x3e\xf4\xdf\xbf\x68\x29\x99\x82\x9a\xdf\x50\x49\x90\x0a\x76\x94\x25\xce\xae\xc4\x7c\xcc\x88\x43\x66\xb2\x7b\x31\x02\x3c\x7a\x1c\x79\x74\x8f\x6c\x2a\x8c\xfc\x45\xb0\x47\x47\xe0\x33\x80\x1e\xd2\xe4\x5c\xf0\x21\x9c\x88\x16\x0e\xf1\x27\x65\x1f\xff\xfd\xea\xd6\xca\xd9\x81\x41\x5b\xd9\xf6\x11\x41\xc6\x87\x28\x45\x57\xf8\xfd\x91\x55\xb3\x8f\xf7\x93\xc5\xb3\x17\xd1\x35\xb5\x9e\x24\xce\xff\x5d\x8e\x9f\x2e\xc7\xf9\xf2\xfc\x8a\xfc\xf4\xd1\xfc\x5d\xb3\x47\xaf\x61\xcd\xfe\xc5\xd6\x7d\x56\xd1\xff\x64\x15\xf3\xe9\x6a\x79\x3a\xe7\xd0\xef\xf9\x87\x19\xe5\xf1\x13\x95\xc6\x67\x97\xc5\x73\xb2\x12\x12\x61\x22\x3a\x7d\x69\x0e\x72\x5e\x01\xfc\xd8\xfa\xd7\xcd\xb0\x10\x1e\xcf\x28\x7f\xdb\xca\x20\xe5\x1f\x4f\xd9\x40\x1c\x70\xe3\xdb\xad\x83\x5c\x20\x1a\xef\x79\x5c\xbb\xcf\x91\xf8\xf3\xb7\xfb\x7c\x6a\x32\x79\x06\x30\xab\xdb\xf7\xfb\x34\xfb\x46\x43\x8d\x84\x82\xbb\xde\x58\xef\xd4\x9d\x84\xf3\x0a\x97\x95\xfb\xf2\xe2\x01\x8f\xa9\x0b\xaa\x01\x37\xff\x7c\xca\x2a\xc6\x5b\xdd\xc9\x3a\x26\x1e\x10\xfb\xab\xb7\xc8\xfc\x57\x83\x48\x02\xfd\x8f\xec\xf0\x0a\x7b\x48\xc5\x13\x67\x06\x76\xd4\x44\xd6\xa4\x73\x57\x4b\xd8\x04\x4b\xc9\x0a\x55\xb7\x20\x71\x1b\x93\x8c\x46\x52\x35\x09\x2e\x41\x15\x37\xa7\xa3\x8e\x9b\x19\xa2\x78\xd3\x65\xc6\x49\x3e\x4f\x04\xb2\x47\xcc\x34\x8d\x67\x9c\xa9\x00\x2b\x05\xea\xde\x8c\xed\x94\xbf\xb7\xd2\xf4\x0c\xf0\x1c\x4b\xb8\x99\x40\x6c\xe2\x2b\xbc\xd6\x1e\x90\x0d\x22\x47\xac\x5d\xdf\xcc\x74\x57\x1b\xdd\x70\x90\xbd\x49\xe3\x3a\x14\x6a\x18\x41\x7c\x24\x8d\xaf\xa2\xbc\xcd\xe4\xa8\xb9\x6a\xe8\x4f\xc5\xbf\x47\xe5\x57\x63\xfa\x9c\x31\x30\xd1\x57\xc7\xeb\x66\xfa\x72\x14\x16\xda\x20\xd9\xd3\x40\x1b\x2f\x62\xeb\xfa\xf6\x6b\xfa\xff\xe8\x2d\xc3\x49\xf7\x33\xca\xdf\x28\x58\x3f\x1c\xb8\x61\x44\x6c\x4e\x4e\x10\x7b\xa1\x2f\x45\xf3\xfe\x34\x15\xdb\x4b\x6e\xa7\xb1\xac\x5e\x1e\xac\xc3\x86\x59\x74\xdf\x42\xc6\x2b\xed\x94\x5f\xef\x9b\x31\xc4\xf8\x96\xd4\x32\x63\x9a\xe4\x81\x62\x3c\x81\xa9\xf6\xc5\x71\xfa\xaa\x7d\x2a\x88\x28\x34\xb5\x12\xe7\xc4\x8f\x65\x7b\xe1\xd0\xcc\xa4\x06\xaa\xcd\x75\xa3\x83\xe6\x9a\x99\x6a\x89\xae\x84\x58\x82\xcd\xc4\x79\x59\xda\xe9\x76\xc6\x45\xa4\xe1\x88\x9c\x27\x34\x30\x2e\x81\x98\xb7\x6e\x48\xe4\x49\xcb\x85\xac\xc5\xdc\xf4\xe8\xcb\x46\x2e\x87\x51\xef\x56\x59\xac\x6f\x6a\x5d\x1f\xfb\x07\xa3\xdb\x27\xd3\x9c\xae\x0c\x8b\x42\x01\x19\x52\xa5\x50\x13\xc8\xbb\x49\xe0\x28\x25\xec\x95\x64\xbe\x1c\x1b\x73\xf7\xd9\xb1\xe3\x9c\xd8\x99\x9c\x2a\x79\x87\x60\x9c\x62\xc6\xe3\x44\x90\x77\x4d\x5c\xf5\x76\xba\x39\xa0\xbb\xcb\x9b\x26\x38\xaf\x4a\x7d\x4c\x18\x3d\x1d\x44\x47\xcb\xd4\x77\x9d\x4b\xb4\xe6\x4e\xc7\x69\xbb\x0d\xc3\x90\xdf\xbc\x26\x23\xe6\x8a\x3c\x31\x57\xec\xb0\x68\x66\xd7\xed\xa7\x1b\x56\x32\x91\xe1\xd5\x30\x2b\x1e\xab\xa0\x3c\x8f\xbc\xe8\xba\x43\x8c\x97\xbe\x43\xae\xe5\x8e\xbc\x90\x69\x29\xfa\x96\x16\x6e\x07\xdf\xc1\x37\xab\x6f\x12\x0a\xb0\x69\xe4\xf8\xf0\x7d\x6c\x4c\xdd\x18\x7e\x48\xfb\xfc\xfc\x6f\x56\x5a\x79\x15\xaf\x19\xec\xe1\x83\xa3\x53\xf6\x84\xea\x72\xd4\x46\x49\xef\xe1\x17\x09\x0a\x82\x97\x63\xe0\x66\x9b\x31\x3e\x5d\xef\xd7\x0f\xbc\x69\x39\xda\xe8\xcf\xb5\x6b\xa4\x9c\x6a\xad\xcd\x41\x8e\x43\x7c\x1b\x7c\xb4\x41\xb5\x41\x11\xdb\xde\xc1\x89\x7d\xbc\x54\x0c\x36\x52\x96\xc8\x04\xec\x98\x6d\x1b\x0d\x72\x3f\xa9\x1a\xe6\x99\x67\x9e\xe2\x7f\x38\xf8\xf8\xf8\xb9\xf5\x9e\xa5\xf1\xe2\x74\x4b\xc8\x0e\x60\x24\x2c\xd4\xcb\x53\xb0\x52\x63\xef\x98\x53\xa7\x79\x62\x9f\xaf\x9a\xfe\xd8\xd8\x91\x7f\x8f\x46\x7b\x68\xf3\xc9\x07\xd3\x9a\xdf\x8b\xe6\xb4\x2b\x25\xf7\xbc\x83\xb8\xe1\x44\xb6\x7d\x96\x8d\xd2\x0b\x24\xe5\x31\x75\x84\x0d\x66\xac\xd6\xd8\x42\x33\x37\x4b\x4a\x83\x7c\x0a\x52\x49\xad\x3d\x9e\x43\x29\xe5\x03\xd4\x22\x47\xd7\x5d\xdb\x4a\xe9\xa6\xe5\x35\x22\xe9\x90\x8d\x75\x3e\xb9\x7b\xc0\x44\x00\x7e\xac\x30\xb3\xd5\xbe\x35\x2c\x7b\x9c\x2b\xc7\xd2\x16\xcb\x4a\xc3\x7d\xcd\x54\x0e\xec\x9e\x71\xa1\xa9\x22\x2d\xb8\xe0\x06\xcb\x23\x64\x5b\xc6\x49\xc8\x5e\x93\x84\x68\x48\xdb\xb6\xe5\xc2\xd9\x48\xb4\xf1\x8e\x95\x3c\xb3\xf3\x3b\x0f\xdc\xc6\xcc\x02\xea\x2a\xef\x6a\xdc\xcc\x3e\xc7\x57\x29\x57\x05\x97\x5c\x53\xd2\xa6\x9d\x2f\x6e\x90\xe8\xef\x58\xee\x9b\xef\x4c\x61\x63\x86\xc2\xd5\x22\x85\x92\xc2\xe8\x93\xed\xea\xdf\xcf\xa7\x04\xc8\xca\xde\x67\x97\xa3\xb9\x69\x26\x85\xae\x77\xa8\xda\x66\x46\xd8\xad\x6a\x1e\x1a\x5a\x5b\x39\x99\xf1\x85\x09\x72\x05\xf2\x20\xa6\xfd\xee\xb1\x0f\x7b\x0c\x5d\xf1\x2b\xeb\x23\xe3\x7e\x6c\x12\x9d\x69\x48\xc7\xcb\x2f\xf0\xc3\xc1\xed\x50\xbf\x7d\x49\x39\x9b\x71\x75\xba\x9f\x85\x90\xf0\x20\xe4\xc1\x37\x1a\xfd\x43\xa7\xdd\x70\xc5\xe9\x29\x19\x97\xab\x55\x4c\x39\x67\xf6\xdc\x4d\xd8\x57\x90\x80\x3f\xe0\x51\x77\xc9\x50\xd7\xd7\xa0\x63\xf6\x85\x73\xb4\x76\xce\xd3\xaf\xbc\x75\x13\xd7\x03\xc5\xa2\xc0\xcc\xf0\x3d\xf9\x63\x44\xac\xb9\xef\x4f\xb3\x7a\xce\x33\x5b\xbd\x63\xa5\xb4\xab\xdd\xf5\x36\xec\x83\xc1\x0d\xbc\xff\x30\x68\xda\xb4\xae\x06\x7c\xe2\x88\x57\x56\x59\x43\x03\x9a\x84\x81\x96\x74\x17\xa3\x47\x12\xb6\x98\xe1\x15\xab\x2a\x14\xf9\xa2\x5d\x7f\x5e\x66\xe5\x8f\x38\xa6\xf9\x87\xdb\x24\xb0\x52\x8a\x7b\x8b\x18\xae\x4b\xe8\x1b\xa4\xb6\x4b\x18\xdf\x57\xd9\xc0\xe6\x37\x6e\x26\x7f\xd2\xd5\x65\xd2\xb6\x5f\x86\xb6\xbc\x63\x55\xd5\xa4\x0a\x13\x06\x1c\x33\x40\xd6\xe0\x33\xfc\x36\x28\xda\x54\xee\x99\x6e\xf9\x7e\xa4\xdd\x4e\x3f\x36\x78\xd2\x96\x83\xe5\xc3\xc5\x37\xf0\x69\x90\x63\xb7\xc3\x37\xb6\x4b\x1a\xcf\xca\x94\xbc\x77\x57\xfc\xa7\xf1\x07\xdf\xb4\x72\xb3\x08\xc1\x05\x4b\xef\x10\x66\xf8\x52\xa0\xb0\x60\xff\x73\x6e\xb5\xe6\xc9\x33\xc6\xd1\xd9\x8e\x1a\x30\x7c\x86\xcf\x52\xc8\x75\xe4\x5c\xaa\xe7\x47\x18\xec\x78\x83\x6e\x1e\x35\x75\xdd\x12\xfb\x48\xb7\xbf\x5b\x89\xc8\x3a\x87\x1f\x0c\xaf\xb8\xdf\x40\x20\xa2\xcf\xfc\x87\xcf\xda\x8d\x4f\x3b\xe3\x9b\x08\x56\xde\xde\x7a\x9e\x92\xe3\x76\xab\x93\x7e\x34\xe3\xa9\x59\xf8\x04\x03\x1f\xd2\xd1\x32\xdd\x5b\x30\x70\x9b\xb6\x72\xb7\x1b\x34\x57\x13\x3d\xf8\x19\x71\x1c\xf2\x9a\x60\xed\xd0\xbc\x7b\xbc\xac\xb8\xb0\xe3\x6e\x5d\x17\xe6\x76\x09\x46\xd5\x38\xf6\x6c\x4a\x60\x38\x3d\x52\x29\x73\xa1\x5c\x78\xe0\x65\xeb\x35\xfc\x20\xb8\xe1\xac\xe4\xbf\xe1\x60\x22\x65\x6c\xc2\x61\xd4\x0f\x62\x05\xfa\xcd\x83\x67\x71\xdf\x46\x56\xea\x7f\x98\x83\xf2\x46\x85\x94\x2f\xba\xa6\xd1\xa6\x64\xe2\x21\xba\x68\x82\x97\x50\x6b\x54\xb0\xab\x35\x99\x4a\x59\xb6\x04\xad\x0d\xb7\xb6\xdf\x8d\x76\xb8\x78\x4d\xaa\xc1\x3c\x7c\x4a\xdc\xe7\xa3\xda\xfd\xee\x44\xfb\x40\xed\x45\xdf\xd2\x6c\x2d\x68\x99\x0a\x9e\x19\x22\xfb\x7a\xd1\xff\x11\x8c\xe8\x18\xbe\xfd\xda\x4b\x12\xad\x0a\xb5\x30\x38\x05\xab\xcb\xe0\x77\x30\xe0\x06\xd6\x9e\xbd\x75\x31\xf2\xeb\x1b\xf1\xe2\xe4\x0f\x81\x8c\x2d\x75\x5f\x8e\x09\x9c\xf7\x8b\x22\x8d\x34\x9f\x2f\xfe\x13\x00\x00\xff\xff\xbf\xd0\x98\x62\x9a\x45\x00\x00"
+var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\x5f\x73\xe3\x36\x0e\x7f\xcf\xa7\x40\xf3\x70\xeb\xcc\xa4\x76\x1f\x6e\xee\x21\xd3\x74\xff\xde\x76\xfa\xd2\xeb\x6c\xd3\xdb\x87\x9d\x9d\x09\x2d\x41\x31\x2f\x32\xa9\x21\x29\x7b\xdd\x9d\x7c\xf7\x1b\x90\x94\x44\x4a\x94\x2c\x67\x73\xfd\x73\x53\x3d\xec\xc6\xb6\x08\x02\x20\x80\x1f\x40\x50\xe2\xdb\x4a\x2a\x03\x6f\x6b\x71\xc7\xd7\x25\xde\xc8\x7b\x14\x50\x28\xb9\x85\xf3\xe8\xbb\xf3\xb3\xb3\xd5\x6a\x05\x37\x1b\x84\x4c\x0a\xa3\x58\x66\xc0\x6c\x98\x01\x56\x96\x72\xaf\x81\x09\x60\x59\x26\x6b\x61\xc0\x48\x50\x98\x21\xdf\x21\x54\xec\xb0\x45\x61\x34\x70\x01\xdb\xba\x34\xbc\x2a\x11\x0a\x4f\xd7\x12\x34\x44\x5c\x43\xad\xb9\xb8\x03\x06\xf4\x5f\x89\x70\xfb\x39\x9a\x7c\xf9\xce\xd1\x53\x0f\xb7\x90\xb1\x8a\xad\x79\xc9\xcd\x61\xe9\x39\xe2\x3a\xf8\x12\xf4\x46\xd6\x65\x0e\x3c\x47\x56\x96\x07\x58\x23\x68\x23\x15\xe6\xc0\x88\x61\x04\x3b\xe8\x36\x22\xff\xf3\x9e\x9b\x6c\xb3\x96\x4c\xe5\xed\x4c\x3f\xd5\xeb\x92\x67\x3f\x31\xb3\x81\x6b\x58\x55\xf6\xd3\xea\x7b\x14\xa8\x78\xf6\xf6\xa6\xb9\xeb\xd6\x52\x5b\xd7\x06\xb8\x81\x8c\x89\x70\x3a\x71\xd8\x6f\x50\xa1\xe3\xf2\x8c\x65\x19\x6a\xbd\x60\x65\x79\xd1\x29\x70\x8c\x0b\xf8\x7c\x06\x70\x06\x00\xb0\x5a\xc1\xcf\x46\x2a\x76\x87\xc0\x44\x0e\x8e\x2b\x20\xb6\xb4\xfd\x3d\x24\x5b\xa2\x69\x6e\xa6\x1b\xae\xc2\x0f\xc9\x9b\x3b\x19\xaf\x82\xbf\x93\xb7\x0e\xd5\x12\x0d\xf1\xbc\x3a\xfb\xc0\x1d\x0a\x6f\x1c\x5c\x03\x6e\xb9\x31\x98\xc3\x7e\x83\x02\x18\x08\xdc\xc3\x8e\xd5\xa5\x09\xd7\x8c\x6b\x60\x79\x8e\x39\x99\x0e\x6b\x69\xe9\x40\x21\x0a\xb5\xac\x55\x86\xcb\xf6\xd7\x01\x9b\x6e\xda\x7f\x13\xed\xd7\x2d\xe9\x97\x44\x76\x61\x0e\x15\x5e\xc1\xcd\xa1\xc2\xcb\x90\xea\xbf\xf6\x02\xd5\x15\xbc\xcc\x73\x85\x5a\x3f\xbf\x74\x34\x8f\x5d\x1d\xdf\xbd\xf1\x17\x27\xa8\x21\xa5\x02\x85\x5b\xb9\xc3\xdc\x79\x1f\x83\x27\xd5\xc3\x3b\x47\x3b\xd2\xc4\x97\xab\xe2\xc9\xd4\x91\x63\x25\xb5\x77\x21\x21\x0d\xb9\x51\x26\xb7\x55\x89\x06\xf3\xa3\xa2\xfe\x28\xcd\xeb\xe6\xe6\x37\x8e\x50\x24\x27\xdb\x52\x58\xba\x82\x5f\xde\xf2\x4f\xff\xf8\xfb\x4c\xd1\xc6\x75\xd3\x93\x8b\x0b\x83\xaa\x60\x19\x3a\xd9\x50\x14\x52\x65\xa8\x6d\xac\xd9\xa2\xd9\x48\x67\xd5\x14\x25\x29\x26\x48\x81\xf4\x39\xdb\x60\x76\x0f\x52\xd0\x6d\x2d\x39\xb6\x63\xbc\x64\xeb\x12\x3b\xa5\x72\xd4\x20\x0b\x0a\x8c\x09\x23\xb0\x21\x81\x95\x5a\x02\x7e\xaa\xa4\xf6\x93\xb6\xe4\x1a\xa5\x3a\x2e\x34\x4d\xdb\x7c\x55\xd4\x22\xd7\x34\x3d\x37\x13\xea\x6d\xe7\xe9\x64\x0c\x82\x94\x8f\x45\x9f\x5b\x75\x86\x43\x8b\x5a\xc0\x1d\x1a\x6b\x85\xb4\x0a\x7a\x71\x71\x05\x1f\xe8\xaf\x8f\xc9\xfb\x77\x1c\xf7\xc3\x41\xef\xb9\xd9\x78\xb5\xd3\xf8\xcf\x37\x76\x55\xfd\x37\x0f\x47\x09\xfd\x5c\x57\x04\x6e\x98\xc7\x6c\x78\x32\xaf\xa4\x2c\xd3\x34\x68\xb8\xd7\xd4\x82\x9c\xf1\x0a\x5e\xf4\xf0\xc8\x12\x7c\xb8\x18\x1d\xad\x59\x81\x6f\xe6\x50\x18\xfb\xe1\xf9\xb4\x70\xd6\x7c\x9a\x98\xfc\xea\x40\x02\x05\x26\x7f\xe1\x84\x9b\x26\x41\x2c\xbe\x92\x4a\xc9\x7d\x6a\xfc\xdf\xc6\x00\xd8\x31\xf6\x10\xfb\x40\x6b\x28\xd6\x05\x2c\x00\x7a\x07\xe8\x63\xbe\xc3\xfb\x26\x3f\x50\x9d\xb1\x86\x16\x7f\xe9\xdc\x85\x32\x02\x22\x22\xc9\xff\xac\x13\xe5\xb9\x35\x79\x17\x28\xe9\xb7\xad\x73\x81\xd6\xad\x06\xb6\xcf\xc4\xa1\x3f\x37\xdb\x4a\x4f\xb8\xf3\x37\x92\x5d\xcf\xf1\x84\xc0\xfe\xaf\x20\xad\xa2\xcb\x29\x27\x69\xd7\x84\xa6\x79\xc3\x33\xc3\xa5\x60\xea\x00\x1b\x59\xe6\x8d\xbc\x63\xba\x8a\x55\x14\x51\xe2\x22\xc7\x4f\x98\xc3\xfa\x90\xa2\xe0\xc0\x86\x64\x5c\x46\xa3\xfa\x06\xd2\xe4\x25\x17\xb0\x63\xaa\x9d\xf7\x75\x30\x6d\xeb\x3c\x1d\xb2\x7c\x3b\x6a\x2a\xdf\x79\x2b\x69\xa6\x7b\x99\xe7\xda\x67\x00\x47\x45\x3c\xd0\x6a\x92\x28\x61\xdc\x8b\xa8\xc5\x48\x38\x10\x89\x3e\xbc\xa8\x98\x62\xdb\x80\xe8\x95\xcb\x5f\xa3\x49\x5c\xe8\x04\x06\x19\x2a\xc3\xb8\xe8\xd2\xd3\x90\x54\xa8\xc8\x20\x88\xda\xf5\x03\xb3\x51\xb2\xbe\xdb\x4c\x65\xad\xe4\x18\x11\xc1\x3d\x2f\x4b\x82\xb9\x36\xef\xe9\x09\x3b\xbd\x52\x6d\xa0\x61\x79\xfe\x23\xee\x6d\xcc\x58\x84\x72\xce\x5a\x9f\x8b\x20\x78\xbb\x99\xc0\x45\x04\x60\xa0\xb0\x40\x85\x22\xc3\x86\x37\x27\x7b\x25\x09\x0b\x2c\xc3\xde\xd6\x02\x6d\xee\x11\xfa\xf4\xf6\xcc\x15\x04\x36\x26\x00\x17\x9a\xe7\xd8\x17\x35\x1a\x43\xc9\xa6\x9d\xea\x1d\x16\x70\x1d\x66\xfb\x6b\xcb\xda\xe2\x62\x1c\xbf\x9f\x3f\x87\x8a\x09\x9e\xc1\xe2\xfc\x35\x13\x36\x8f\x70\xe2\x44\xc2\x38\x41\x6c\x92\xd5\x51\x3f\xbf\xe8\x73\xfe\xda\x22\x34\x2f\x88\x5b\x62\x9d\x4c\xb7\x52\xb8\xe3\xb2\x8e\xea\x8d\x42\x2a\x30\x54\x83\x58\x13\xb9\xa4\x11\x42\x9a\x88\x1a\x2f\x60\xa1\xb1\x2c\x96\x29\x97\xfa\xd0\x48\xbb\xbc\x43\x8b\x51\x8b\x8b\x8f\x70\x7d\x0d\x82\x97\xfd\xf5\xf1\x9c\xd5\x1a\x83\x15\x09\x64\x3b\x54\x08\x4c\xc3\x3d\x3a\xae\x48\xe7\x4d\x4c\x49\xd1\x09\x84\xa0\x28\x6a\x36\x28\x06\xb7\x9d\xc8\x76\x40\x33\x35\x23\x65\x7d\x96\x9d\x30\x19\x14\x39\xcf\x98\xb1\x80\x41\xe5\xa4\x8d\x0f\x01\x6b\x1b\xa6\x61\x8d\x28\x92\x22\x58\xef\x19\xfc\x60\xa7\x99\x28\x04\x86\xac\x5f\xce\x4e\x77\x1b\xbd\x0c\xd2\x43\xab\x29\x0b\x55\xcf\x97\xcc\x65\x28\x27\x64\xd1\xed\x35\x48\xa7\x03\x0f\xf0\x64\x63\x53\x7d\x00\x2c\x35\xa6\x2d\xe5\x87\xc6\x7a\xf7\x4c\x03\x2b\x15\xb2\xfc\x40\x91\xae\x6f\xbd\x54\x1a\x3b\xeb\xb5\xfe\x33\x20\x65\xbf\x5d\x9c\xdf\xb4\x9e\xd0\x92\x72\x36\xc8\x6d\x1e\x1b\xe2\x5e\xcf\x2d\x7a\xee\xd5\xa5\x5d\x23\x10\x51\x6f\xd7\xa8\x28\xf1\x9d\x05\x16\x94\x24\xaf\x0f\x6e\x0f\x21\x8e\xda\x1b\x84\x8a\x6a\x65\xb0\xa5\x38\x7d\x3e\x00\x53\x4d\x8d\x1e\xc7\xd8\xc4\x95\x42\x13\x4b\xcf\x01\x49\x8f\x34\xb8\x5d\x82\x98\xaf\xb1\xd9\x3c\x35\xbf\xa4\x8e\x9e\xff\x40\x72\x77\x79\x8f\xff\x10\x12\x3d\x1d\x1b\xf4\xab\x03\xd5\xe9\x0b\xcf\xfc\x87\xae\x74\xff\x78\xd9\xf1\xe0\x13\xeb\x04\x2c\x7c\x8f\xce\x6f\x9b\x2d\x9e\xb9\x32\x0f\x42\xbb\x93\xe9\x9a\xb2\xf3\x97\x8e\xd6\x22\x69\xd5\xab\x15\xbc\x95\x0a\x90\x65\x1b\xab\xe6\x4b\x1a\xe1\x80\x83\x51\x8d\xdc\x8b\x5d\x1e\x5e\xcc\x00\x7f\xb8\x18\x42\xeb\x33\x3d\x62\x43\x79\x9b\x8f\x45\x64\xc8\x94\x89\x07\x32\x73\xb7\xe4\x43\x67\x23\xd9\x02\x9e\xae\x9d\xa0\x14\x60\x66\x21\xb1\x5d\x98\x8b\x94\x0b\x7f\x11\x20\x27\x63\xe6\x1e\x4f\x47\x65\x08\xe3\x89\x9f\x99\x62\x8a\xc3\x57\xcc\x41\xd7\xd6\xf8\x8a\xba\x2c\x0f\xcb\xe5\x72\x30\x98\x17\x73\x90\x7d\xa8\x57\x3f\xf1\x72\xb9\xa4\x65\x0e\xd1\x58\xc8\x24\x1c\xbb\x7c\xaa\x0d\x6b\x63\x04\x6d\x28\x49\xfe\x38\x0f\xac\xbf\x9a\x87\xd6\xc1\x8c\xbf\x3c\x05\x6a\x07\xf4\x26\x90\xb6\xb9\x4e\x15\x63\x0e\x4d\x02\x5d\x91\xcf\x47\xf2\x84\x0d\x26\x85\xe8\x70\x3e\x8d\xe9\xcd\xf5\x08\x6c\x9f\x46\xe1\xa7\x40\xf2\x01\x68\x27\x63\x5a\x73\x3d\x0c\xbe\x7d\x38\x0d\x1d\x9f\xb6\x80\x02\x5d\x61\xc6\x8b\x03\x19\xdd\x7e\xc3\xb3\x0d\xdc\x92\xe2\x6e\x09\x79\x6e\xd3\xbb\x13\xb7\xcd\x5e\x77\x44\xd0\xd7\x45\x2e\x18\x71\xb3\xb4\x26\xcf\x6d\xa0\xe1\x22\x2b\xeb\x9c\x42\x0d\x1c\x64\xad\x22\xa6\xce\xf7\x8a\x55\x15\xaa\xf3\x1e\x77\x4e\x22\x4d\xa1\x65\x43\x0e\xc2\xe0\xf6\x85\x65\xe2\xad\x54\x7b\xa6\xa8\x5c\x5e\xfa\x3f\x51\xdd\x2e\xe1\x07\xb7\x7d\x68\xf7\xc3\xd6\x71\xf5\x56\x6b\xc7\x94\xdc\xa1\xda\x2b\x6e\x9c\x27\x3a\xcf\x33\x86\x65\x1b\xbf\xf5\xdc\xd6\x80\x61\x51\xc3\xcd\x46\xd6\x26\x16\x75\xc3\x76\xd6\x47\x65\xb7\x17\xc1\x22\x00\x28\xb8\xd2\x26\xc2\xe9\xff\xcf\xca\x34\x25\x95\xdf\x48\x6a\x34\x2c\x8b\xbe\xb5\x7a\x65\x59\x0b\x8a\x8c\x66\xc0\x4b\xa7\x90\x4b\x50\x8c\x62\x3f\xdd\xe3\xb2\x4d\x6f\xa5\xb6\x90\x33\x76\x13\xaa\x09\xa9\x2d\x2a\xd1\x6f\x11\x3d\xcd\x78\x9e\x8a\x72\x73\xf3\xa8\xf7\xce\x54\x4f\x2f\xb5\x1f\x53\x0a\x8c\x5c\xc1\x3e\xdd\x30\x51\x0b\xab\xd6\x5e\x7b\x61\x2f\xd5\x7d\x98\x20\x5b\x51\xb5\x46\x15\xee\x1c\x2c\xed\xce\x22\x05\xcd\x2d\x6a\xcd\xee\xf0\x0a\xce\x5d\xaa\xab\x75\x9c\x76\x59\x08\x26\x44\x2f\x79\x3e\xac\x9e\x1b\xb4\xb3\x16\x60\xcd\x02\x0d\xaa\x10\xe7\x62\x06\xa3\xf1\xe3\xb8\x45\xe4\x26\x80\xea\x49\x4b\xcc\x64\x79\x79\x0c\x7e\xe8\xdf\x3f\x69\x31\x99\x02\x9b\x5f\x51\x49\x90\x0a\xb6\x94\x27\xce\xae\xc5\x7c\xcc\x88\x43\x66\xb2\x81\x31\x02\x3d\x7a\x0a\x7b\x74\x8f\x70\x2a\x90\xfc\x49\xd0\x47\x47\xf0\x33\x00\x1f\xd2\xe5\x5c\xf8\x21\xa4\x88\x06\x0e\x11\x28\x65\x21\xff\xfb\x0a\xd7\xca\xd9\xc1\x41\x5b\xdd\xf6\x31\x41\xc6\x8b\x28\x45\x57\xfc\xfd\x9e\x95\xb3\x8f\xf8\x93\x05\xb4\x17\xd1\xb5\xb7\x9e\x24\xd2\xff\x55\x92\x1f\x2f\xc9\xf9\xe5\xe9\x55\xf9\xf1\xa5\xf9\xab\x6e\x8f\xae\x61\xdd\xfe\xc5\xd6\x7d\x52\xe1\xff\x64\x55\xf3\xf1\x8a\x79\x3a\xeb\xd0\x1f\xf8\xc7\x19\x25\xf2\x13\x95\xc7\x27\x97\xc6\x73\xf2\x12\x12\x61\x22\x3a\x7d\x69\x16\x72\x5a\x11\xfc\xd8\x1a\xd8\x1d\x64\x21\x3c\x9e\x51\x02\xb7\xb5\x41\xca\x3f\x9e\xb2\x89\x38\xe0\xc6\xb7\x5c\x07\xb9\x40\x74\xc6\xe7\x71\x2d\x3f\x47\xe2\x8f\xdf\xf2\xf3\xa9\xc9\xe4\x1a\xc0\xac\x8e\xdf\x6f\xd3\xf0\x1b\x0d\x35\x12\x0a\xee\xfa\x63\xbd\x55\x77\x12\xce\x2b\x5d\x96\xee\xe6\xc5\x3d\x1e\x52\x9b\x54\x03\x6e\xfe\xf9\x94\x75\x8c\xb7\xba\xa3\x95\x4c\x7c\x4a\xec\xcf\xde\x26\xf3\xb7\x06\x91\x04\xfa\x5f\xd9\x03\x2c\xec\x3e\x15\x4f\x9c\x19\xd8\xe3\x26\xb2\x26\x9d\xbb\x5a\xc2\x26\x58\x4a\x56\xa8\xba\x01\x89\xfd\x98\x64\x34\x92\xaa\x49\x70\x09\xaa\xb8\x39\x1e\x75\xdc\xd9\x21\x8a\x37\x5d\x66\x9c\xe4\xf3\x48\x20\x7b\xd4\xe9\xa6\xf1\x9c\x33\x15\x62\xa5\x40\xdd\x3b\x6a\x3b\xe5\xf1\xad\x3c\x3d\x13\x3c\xc5\x16\xae\x27\x30\x9b\xf8\x0a\x37\xb7\x07\x64\x83\xd8\x11\xeb\xd7\xb7\x34\xdd\xf6\x46\x77\x44\xc8\xee\xa6\x71\x1d\x0a\x35\x8c\x21\x3e\x96\xc6\xdb\x51\xde\x6a\x72\xd4\x5c\x35\xf4\xa7\x22\xe0\xa3\x32\xac\x31\x7d\xce\x38\x36\xd1\x57\xc7\xeb\xe6\x10\xe6\x28\x30\xb4\x61\xb2\xa7\x81\x36\x62\xc4\xf6\xf5\xed\xd7\xf4\xff\xe8\x4e\xc3\x51\x07\x34\xca\xef\x2a\x58\x4f\x1c\x38\x62\x44\x6c\x4e\x56\x10\xfb\xa1\x2f\x46\xf3\xfe\x99\x2a\xb6\x93\xdc\x9e\xc9\xb2\x7a\xb9\xb7\x2e\x1b\xe6\xd1\x7d\x0b\x19\xaf\xb5\x53\x9e\xbd\x6b\x8e\x24\xc6\x3b\xa5\x96\x19\xd3\xa4\x0f\x14\xe5\x09\x4e\xb5\x2f\x8f\xd3\xdb\xed\x53\x61\x44\xa1\xa9\x95\x38\x25\x82\x5c\xb6\x5b\x0e\xcd\xd1\xd4\x40\xb5\xb9\x6e\x74\xd0\x6c\x35\x53\x35\xd1\x15\x11\x97\x60\x73\x71\x5e\x96\xf6\x90\x3b\xe3\x22\xd2\x70\x44\xce\x13\x1a\x18\x97\x40\xcc\x5b\x37\x24\xf2\xa4\xe5\x42\xd6\x62\x6e\x82\xf4\xe5\x87\x2f\x87\x91\xef\x46\x59\xc4\x6f\x2a\x5e\x8f\x00\x83\x53\xdc\x47\x93\x9d\xae\x18\x8b\xc2\x01\x19\x53\xa5\x50\x13\xd4\xbb\x43\xc1\x51\x62\xd8\x2b\xcc\x7c\x51\x36\xe6\xf2\xb3\xe3\xc7\x29\xf1\x33\x79\xbe\xe4\x3d\x82\x71\x8a\x19\x8f\x15\x41\xf6\x35\xb1\xe5\xdb\xe9\x66\x8f\x6e\x47\x6f\x9a\xe0\xbc\x5a\xf5\x31\xa1\xf4\x78\x20\x1d\x2d\x56\xdf\x77\x6e\xd1\x9a\x3c\x2d\xa7\xed\x3a\x0c\xc3\x7e\x73\x4d\x46\xcd\x25\x79\x63\xae\xd8\x7e\xd1\x1c\x63\x6f\x56\xe6\x15\x2b\x99\xc8\x28\x77\x1c\x26\xc8\x63\xc5\x94\x67\x94\x17\x5d\xab\x88\xf1\xd2\x37\xcc\xb5\xdc\x92\x3b\x32\x2d\x45\xdf\xdc\x06\x73\xc2\x77\xf0\xcd\xf2\x9b\x84\x2a\x6c\x5a\x39\x7e\x22\x3f\x36\xab\xee\x6c\xfe\x60\x82\xd3\x93\xc2\x59\xb9\xe6\x45\x3c\x66\x30\x87\x8f\x97\x4e\xf7\x13\x4a\xcc\x51\x1b\x25\xbd\xc3\x9f\x25\x28\x08\x5e\x8e\xe1\x9d\xed\xd1\xf8\x1c\xbe\x5f\x54\xf0\xa6\x13\x69\x01\x81\x6b\xd7\x5f\x39\xd6\x71\x9b\x03\x26\xfb\x78\x8b\xf8\x60\xe3\x6c\x03\x2c\xb6\xeb\x83\x13\xf3\x78\xa9\x18\xac\xa5\x2c\x91\x09\xd8\x32\xdb\x4d\x1a\xa4\x83\x52\x35\xcc\x33\xcf\x3c\x41\x42\x78\x22\xf2\xf1\x07\xda\x7b\xe6\xc6\x8b\xe3\x9d\x22\x7b\x32\x23\x61\xa6\x5e\x9e\x82\x95\x1a\x7b\xcb\x9c\x5a\xcd\x23\xf3\x7c\xd5\xb4\xcd\xc6\x96\xfc\x7b\x34\xda\xa3\x9d\xcf\x47\x98\xd6\xfc\x4e\x34\xab\x5d\x29\xb9\xe3\x1d\xea\x0d\x8f\x6a\xdb\xa7\xdc\x28\xe3\x40\x52\x1e\x53\x07\x58\x63\xc6\x6a\x8d\x2d\x5a\x73\x73\x49\x99\x91\xcf\x4a\x2a\xa9\xb5\x87\x78\x28\xa5\xbc\x87\x5a\xe4\xe8\x9a\x6e\x1b\x29\xdd\x31\x7a\x8d\x48\x3a\x64\x63\x0d\x51\xee\x1e\x3d\x11\x80\x9f\x2a\xcc\xec\x16\x80\x35\x2c\xbb\x9c\x4b\xc7\xd2\x06\xcb\x4a\xc3\x5d\xcd\x54\x0e\xec\x8e\x71\xa1\xa9\x4c\x2d\xb8\xe0\x06\xcb\x03\x64\x1b\xc6\x49\xc8\x5e\xe7\x84\x68\x48\xdb\xcd\xe5\xc2\xd9\x48\x34\xf1\x96\x95\x3c\xb3\x07\x7b\xee\xb9\x0d\xa1\x05\xd4\x55\xde\x15\xbe\x99\x7d\xc2\xaf\x52\xae\x34\x2e\xb9\xa6\x3c\x4e\x3b\x5f\x5c\x23\xd1\xdf\xb2\xdc\xf7\xe4\x99\xc2\xc6\x0c\x85\x2b\x4f\x0a\x25\x85\xd1\x47\xbb\xd8\xbf\x9d\x4f\x09\x90\x95\xdd\xe4\x2e\x47\xd3\xd5\x4c\x0a\x5d\x6f\x51\xb5\x1d\x8e\xb0\x85\xd5\x3c\x4e\xb4\xb2\x72\x32\xe3\x6b\x15\xe4\x0a\xe4\x5e\x4c\xfb\xdd\x63\x9f\x02\x19\xba\xe2\x57\xd6\x47\xc6\xfd\xd8\x24\x1a\xd6\x90\x8e\x97\x5f\xe0\x87\x83\x2d\xa3\x7e\x57\x93\x52\x38\xe3\x8a\x77\x7f\x44\x42\xc2\xbd\x90\x7b\xdf\x7f\xf4\x8f\xa3\x76\x67\x2e\x8e\x1f\x9f\x71\xa9\x5b\xc5\x94\x73\x66\xcf\xdd\x84\x7d\x05\x39\xf9\x3d\x1e\x74\x97\x1b\x75\xcd\x0e\x5a\x66\x5f\x4b\x47\x63\xe7\x3c\x17\xcb\x5b\x37\x71\x8d\x51\x2c\x0a\xcc\x0c\xdf\x91\x3f\x46\xc4\x9a\x26\x40\x9a\xd5\x99\x4f\x73\xf5\x56\x94\x12\xb0\x76\xc2\x9b\xb0\x2f\x06\xd7\xf0\xe1\xe3\xa0\x89\xd3\x7a\x19\xf0\x89\xd5\x5d\x5a\x3d\x0d\x6d\x67\x12\x01\x5a\xd2\x5d\x78\x1e\x49\xdd\x62\x86\x97\xac\xaa\x50\xe4\x8b\x76\xfc\x69\xe9\x95\x5f\xdd\x98\xe6\xef\x6e\x8e\xc0\x4a\x29\xee\x2c\x58\xb8\xae\xa1\x6f\x98\xda\xae\x61\xbc\x7f\x65\x63\x9a\x9f\xb8\x39\x0b\x94\xae\x35\x93\x66\xfd\x32\x34\xe3\x2d\xab\xaa\x26\x4b\x98\xb0\xdd\x98\x01\xb2\x06\x9f\xeb\xb7\xf1\xd0\x66\x71\xcf\x74\xcb\xf7\x51\x93\x7d\xcc\x03\x85\x47\x6d\x39\x18\x3e\x1c\x7c\x0d\x9f\x07\x89\x76\x7b\x1c\xc7\x76\x4d\xe3\xd3\x33\x25\xef\xed\x1d\xff\x61\xfc\xc1\x37\xb1\xdc\xd9\x84\x60\xbb\xa5\xb7\x08\x33\x7c\x29\x50\x58\x30\xff\x29\x7b\x5c\xf3\xe4\x19\xe3\xe8\x64\x47\x0d\x18\x3e\xc1\x67\x29\xda\x3a\x72\x2e\xcb\xf3\x47\x1a\xec\x71\x07\xdd\x3c\x84\xea\xba\x27\xf6\x39\x6f\xbf\xd3\x12\x91\x75\x0e\x3f\x38\xcc\xe2\x5e\x8c\x40\x44\x9f\xf9\x2f\x9f\xb5\x13\x1f\x77\xc6\x37\x11\xa2\xbc\xbd\xf1\x3c\x25\x0f\xe0\x2d\x8f\xfa\xd1\x8c\xe7\x69\xe1\x33\x0c\x7c\x48\x47\xc3\x74\x6f\xc0\xc0\x6d\xfe\x30\x6e\xd0\xe3\x3b\x36\x60\xa3\x6a\x7c\x8c\xb9\xf5\x88\x8e\x19\xd9\x3b\x6f\x4d\xfb\x0d\xda\x3c\xd9\x25\xdd\xd6\x0e\xee\xf8\xce\x1b\x97\x7d\x14\x27\xcb\xb0\x32\xdd\xa3\x9f\x4d\x54\xed\x99\x6c\xb0\xa1\x98\xb9\x57\x75\x60\xe5\x9e\x8e\xb5\x84\xfc\x4b\x33\xfe\x53\xeb\xc6\x90\xad\x80\x44\x34\xc7\x22\xda\xb9\x48\x1a\x07\xd7\x43\xdb\x38\x5a\xbf\x25\x6c\xa3\xd9\x92\x1a\x33\xb6\xd4\x36\x58\xe7\x60\xd7\x83\x25\x33\x89\x14\x25\xb5\x18\xf1\xba\xf9\x27\xaa\xa2\x22\x31\xdd\x91\xa6\x3a\x67\x60\x3f\xab\x15\xfc\x20\xb8\xe1\xac\xe4\xbf\xe2\xe0\x08\xd2\xd8\x91\x96\x51\x8b\x8d\x3d\xc4\x4f\x1e\x3c\x80\xfd\x36\x0a\x43\xfe\x75\x2c\x54\x13\x28\xa4\x5a\xc0\x75\x09\xd7\x25\x13\xf7\xd1\x9e\x22\xbc\x84\x5a\xa3\x82\x2d\xad\x79\xc6\xca\xb2\x25\x68\x83\x54\x1b\xdc\xba\xb3\x3c\x0e\x90\x49\x25\x98\x87\xef\x06\xf0\xb5\x86\x76\x6f\x1b\x69\x9f\xa2\x3e\xeb\x5b\x8b\xad\xf3\x2d\x53\xc1\x83\x62\x14\x40\x5e\xf4\x5f\x7d\x12\x2d\xd2\xb7\x5f\x7b\x49\xa2\x51\xa1\x16\x06\xab\x60\x75\x19\xbc\xfd\x04\xae\x61\xe5\xd9\x5b\x15\x23\xef\x5c\x89\x07\x27\x5f\xff\x32\x36\xd4\xdd\x1c\x13\x38\xed\x3d\x32\x8d\x34\x0f\x67\xff\x0d\x00\x00\xff\xff\x3b\x7a\x2f\x68\x90\x47\x00\x00"
 
 func fungibletokenswitchboardCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -197,11 +197,11 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenSwitchboard.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0xec, 0xe0, 0x85, 0xda, 0x5e, 0xa6, 0x3e, 0xef, 0xb8, 0x34, 0x17, 0x7d, 0x86, 0x82, 0x80, 0x61, 0xc9, 0x37, 0x5, 0x51, 0xb3, 0x51, 0xd2, 0xf8, 0x7f, 0xb1, 0x65, 0xf0, 0x38, 0xcf, 0x56}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbb, 0x66, 0x1f, 0x65, 0xb0, 0x36, 0x8c, 0x6, 0x3b, 0x5f, 0xc5, 0x53, 0xf0, 0x80, 0x41, 0xe7, 0x17, 0x7, 0x59, 0xdd, 0x79, 0xe6, 0x1, 0xe6, 0x1d, 0xd4, 0x1c, 0xe2, 0x3f, 0x3b, 0x3, 0x4d}}
 	return a, nil
 }
 
-var _multiplevaultsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xc1\x8e\xd3\x30\x10\x86\xef\x79\x8a\x5f\x3d\x35\x07\xda\x15\x42\x1c\x22\x2d\x42\x20\x7a\xdb\x13\x85\x0b\xe2\x30\xeb\x4e\x1a\x0b\xc7\xb6\xec\x71\x4a\xa8\xfa\xee\xc8\x4e\xda\x6d\xd8\x0b\x3e\x58\xf5\x68\x3a\xff\x37\x9f\x52\x55\xba\xf7\x2e\x08\x76\xc9\x1e\xf5\xb3\xe1\xbd\xfb\xc5\x16\x6d\x70\x3d\x56\x8b\xda\x9b\xe1\xed\xaa\xaa\x48\x29\x8e\x71\x4d\xc6\xd4\x50\xce\x4a\x20\x25\xd0\x56\x38\xb4\xa4\x18\x4f\xc9\x88\xf6\x86\xbf\x53\x32\x12\x71\xae\x2a\x00\xd8\x6e\xb7\xf8\xec\xac\x90\xb6\x11\xd2\x31\xc4\x09\x19\xc4\xe4\xbd\x19\xe1\xda\x52\x6b\xe7\x30\x48\x4e\x8b\x38\x70\xab\x2d\x1f\xa0\x2d\xa4\xd3\xf1\x96\x56\x26\xce\x18\xd7\x5a\x8d\x81\xc2\x34\xf5\x6b\x19\xda\xe0\xbc\x1f\x3d\x37\xf8\xb6\xd3\xbf\xdf\xbf\xbb\xbc\x70\xec\x92\x55\xa2\x9d\x85\x38\x04\x96\x14\xec\x44\x34\x7a\xce\x6c\x24\xe5\xf9\xb2\x5a\xef\x0d\xf7\x6c\x25\xde\xe7\x96\xf5\x07\xcd\xa7\x4c\x8d\x23\x4b\xd9\x37\x27\xc6\x75\xdd\xe0\x47\xfe\xf5\x13\xe7\xf2\x97\x7c\xbc\x8b\x72\xf7\xcc\x27\x70\x4c\x46\x36\x86\xed\x51\x3a\x7c\xc0\x43\x83\xd5\x53\x8a\x59\xe6\x41\x2b\x12\xc6\x29\xc3\x2c\xad\xdc\x30\xef\x7c\xcc\xa2\xe2\xea\x36\xfe\x52\x4d\xf7\x6d\x67\x15\x98\x84\xbf\xf4\x5e\xc6\x02\x0a\x32\xc6\x9d\x22\xc8\x8e\x48\x91\xb3\xb9\xb9\x07\x04\xcb\x27\x4c\x5d\xc5\x46\x47\x11\x84\x3f\x1c\x1c\x9e\xc9\x90\x55\x7c\x1d\xfb\x4a\x48\x76\xf1\x6f\xd4\x7a\xb8\x9a\x69\x90\xef\xba\xc1\xc7\xf3\xe2\xbb\xda\x94\xbe\xcb\x7f\xd9\x3a\xb2\x7c\x9a\x20\xd6\x35\x1e\x1f\xf1\xb0\xc9\xda\xf6\x1d\x67\x6a\x33\xce\xe9\x87\x99\xbf\xcf\x3a\x3b\x1a\x78\x81\xff\xda\x53\xbe\xab\xcb\xdf\x00\x00\x00\xff\xff\xfb\xe4\x4c\x60\x0a\x03\x00\x00"
+var _multiplevaultsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xb1\x8e\x1a\x31\x10\x86\x7b\x3f\xc5\x2f\x2a\xb6\x81\x2b\xa2\x14\x2b\x5d\x14\x25\x0a\xdd\x55\x21\x69\xa2\x14\x73\x66\x96\xb5\xe2\xb5\x2d\x7b\x0c\xd9\x20\xde\x3d\xb2\x77\xe1\x20\x34\x71\x61\xe1\xd1\x30\xff\x37\x9f\x56\x29\x33\x04\x1f\x05\x9b\xec\xf6\xe6\xd5\xf2\xd6\xff\x62\x87\x2e\xfa\x01\x8b\xbb\xda\x42\x29\xd2\x9a\x53\x5a\x92\xb5\x0d\xb4\x77\x12\x49\x0b\x8c\x13\x8e\x1d\x69\xc6\x4b\xb6\x62\x82\xe5\xef\x94\xad\x24\x9c\x94\x02\x80\xf5\x7a\x8d\xcf\xde\x09\x19\x97\x20\x3d\x43\xbc\x90\x45\xca\x21\xd8\x11\xbe\xab\xb5\x6e\x4e\x82\x94\xa8\x84\x1d\x77\xc6\xf1\x0e\xc6\x41\x7a\x93\xae\x69\x75\xe2\x8c\x71\xa9\x35\x38\x50\x9c\xa6\x7e\xad\x43\x5b\x9c\xb6\x63\xe0\x16\xdf\x36\xe6\xf7\xfb\x77\xe7\x37\x8e\x4d\x76\x5a\x8c\x77\x10\x8f\xc8\x92\xa3\x9b\x88\xc6\xc0\x85\x8d\xa4\x3e\xdf\x56\x1b\x82\xe5\x81\x9d\xa4\xdb\xdc\xba\xfe\xc1\xf0\xb1\x50\x63\xcf\x52\xf7\x2d\x89\x69\xd9\xb4\xf8\x51\x7e\xfd\xc4\xa9\xfe\xa5\x9c\xe0\x93\xdc\x3c\xcb\x89\x9c\xb2\x95\x95\x65\xb7\x97\x1e\x1f\xf0\xd4\x62\xf1\x92\x53\x91\xb9\x33\x9a\x84\x71\x2c\x30\xf7\x56\xae\x98\x37\x3e\x66\x51\x69\x71\x1d\x7f\x56\xd3\x7d\xdd\x59\x47\x26\xe1\x2f\x43\x90\xb1\x82\x82\xac\xf5\xc7\x04\x72\x23\x72\xe2\x62\x6e\xee\x01\xc1\xf1\x11\x53\x57\xb5\xd1\x53\x02\xe1\x0f\x47\x8f\x57\xb2\xe4\x34\x5f\xc6\x3e\x08\x29\x2e\xfe\x8d\x5a\x1e\x2e\x66\x5a\x94\xbb\x69\xf1\xf1\x74\xf7\x51\xad\x6a\xdf\xf9\xbf\x6c\xed\x59\x3e\x4d\x10\xcb\x06\xcf\xcf\x78\x5a\x15\x6d\xdb\x9e\x0b\xb5\x1d\xe7\xf4\xdd\xcc\x3f\x14\x9d\x3d\x1d\xf8\x0e\xff\xd1\x53\xb9\xd5\xf9\x6f\x00\x00\x00\xff\xff\xe0\x68\x11\xe5\x07\x03\x00\x00"
 
 func multiplevaultsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -217,7 +217,7 @@ func multiplevaultsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "MultipleVaults.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc2, 0x4c, 0x8d, 0x93, 0x20, 0xfa, 0x5, 0xa0, 0xbd, 0x75, 0xac, 0x28, 0x2e, 0x9b, 0xa9, 0x15, 0x0, 0x51, 0xe1, 0x30, 0xcb, 0xde, 0x95, 0x17, 0x68, 0x5, 0x80, 0x7c, 0x52, 0xd1, 0x7d, 0x9c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x53, 0xe1, 0x53, 0x1, 0xa7, 0x8f, 0xfa, 0x71, 0xaf, 0xa5, 0xec, 0x46, 0xa0, 0xc7, 0x80, 0x89, 0xdd, 0x13, 0xdd, 0xc7, 0x89, 0x8c, 0x13, 0x8f, 0x83, 0x66, 0xc2, 0x55, 0xcd, 0x43, 0xb2, 0xfa}}
 	return a, nil
 }
 
@@ -281,7 +281,7 @@ func utilityPrivatereceiverforwarderCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityTokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x4d\x6f\xe4\x44\x10\xbd\xfb\x57\xd4\x06\x89\xcc\xac\xb2\x9e\x0b\xe2\x10\x6d\xd8\x2f\x08\x9c\x10\x0a\x01\x0e\x08\xb1\x3d\xed\xf2\xb8\x37\x3d\xdd\x56\x77\x79\xbc\xa3\x68\xfe\x3b\xaa\x6e\xbb\xfd\x91\x99\x90\x45\x08\x09\x69\x73\xc9\xd8\xea\xaa\x7a\x55\xf5\xea\x95\xed\xd5\xf3\xe7\x59\xf6\x05\x5c\x37\x66\xa3\xd6\x1a\xe1\xd6\xde\xa1\x81\x6b\xeb\x5a\xe1\x0a\x65\x36\xf0\xce\x1a\x72\x42\x52\x96\xdd\x56\xca\x83\xec\x2e\xc1\x57\xb6\xf5\x50\xd9\x16\x84\x01\x21\xa5\x6d\x0c\x81\xb4\x8d\x2e\xc0\x23\x41\x53\x83\x00\xd9\x78\xb2\xdb\xe4\x3c\xfa\xbe\x41\x89\x6a\x87\x2e\x23\x0b\x42\x6b\xdb\x02\x55\xb8\x05\xb2\x50\xc6\xa8\x40\x7c\xce\xf3\x1d\x01\x85\x2a\x4b\x74\x68\x28\xc5\x68\x2b\x34\xb8\x43\xc7\x66\x7b\x70\xd1\x5b\x67\x93\x33\x4a\xdc\x83\x14\x06\xea\x66\xad\x95\xaf\x80\x18\x76\x97\x10\x3a\x70\xe8\x6d\xe3\x24\x82\xf0\x20\x12\x18\x90\xa2\x16\x6b\xa5\x15\xed\xe1\x43\xe3\x09\xb4\xba\x43\x10\xf0\xab\x68\x34\x5d\x64\xc2\x14\x1c\x0e\x3c\x1a\xf6\x51\x58\xf4\xe6\x9c\x00\x77\x68\xc0\x20\x32\x64\xb8\x33\xb6\x05\x45\xa0\xfc\x00\x3a\xcf\xb2\xdf\x2a\x34\xe3\x12\xb5\xc2\x50\xc8\x4d\x3a\x14\xc4\x31\x12\xb6\x8b\x98\x92\x14\x5a\x87\x68\xf1\xc4\x8f\xd8\xa6\x13\x59\xd9\x18\x49\xca\xb2\xc7\x02\x6a\x67\x77\xaa\x40\x0e\xda\x2a\xaa\x82\x4d\x4a\xc8\x61\x80\x20\x11\xa8\x12\x14\x3d\x73\xec\x51\xa1\x33\xaa\x50\xb9\xa1\xdc\x79\x96\x3d\x5f\x65\x99\xda\xd6\xd6\xd1\xac\x6b\xa5\xb3\x5b\x38\x9b\xdc\x3b\xcb\xb2\xba\x59\x0f\x8c\x08\x37\x47\xcc\xb9\xcf\x32\x00\x80\xd5\x0a\xbe\xdb\x71\x03\x03\x0e\xe5\x01\xb7\x8a\x08\x8b\xd0\xc8\x3e\xb8\x70\x08\x05\xd6\xd6\x2b\x8a\xd5\xe4\x5c\x48\xb8\x0d\x52\xdf\x62\x17\xbc\x71\x44\x0c\xee\xfa\xa2\x14\xdf\x46\xbb\x85\xd8\x72\x81\x2f\xe1\x97\x6b\xf5\xf1\xeb\xaf\x2e\x02\xe4\x4b\x78\x53\x14\x0e\xbd\x7f\xb5\xcc\x92\x7d\xa2\x80\x32\x84\xae\x14\x12\x87\x1e\xfc\xc4\xac\x91\x3d\xf6\x88\x7f\x05\x3f\xa0\xae\xd1\x41\xaa\x3e\xb7\xaf\x42\x79\xc7\x39\x50\x85\x2e\x50\xfe\xbd\x43\xa9\x6a\x85\x86\xde\x8f\xe8\x34\xf1\xa3\x3c\x18\x4b\xa0\x05\x71\x06\xd6\xc5\x36\x0f\xd4\x23\x15\xb3\x17\x40\xfb\x1a\xf9\xf8\x4e\x68\x55\xe4\xc9\x09\xc3\x2f\x1b\x13\xa3\x2f\x96\x97\xf0\xd6\x5a\x3d\xc5\xfa\x3d\x32\xbf\x2a\x4c\x75\x03\xe1\xbd\xda\x98\xde\x73\x42\x39\x0a\x9c\x4f\x3c\x84\x41\x67\xa8\x28\xd1\x7b\xe1\xf6\xb0\x46\x29\x1a\x8f\x81\x66\xb6\x21\x50\x74\xd1\x51\x9d\xd3\xa9\xad\xf7\x41\x3c\xc8\x82\xb6\xf6\x0e\x9a\x30\x25\x8c\xa1\xb2\xb6\x08\x5c\xf5\x88\xa0\x4a\xd6\x84\x93\x95\xb1\x25\xcf\x09\x7e\xac\x51\x06\x12\x70\x05\xac\xe3\x08\x79\x84\x54\xa1\xae\x3d\x6c\x1a\xd6\x08\xb1\x11\xca\x78\x02\x65\x4a\x65\x14\xa1\xde\x83\xac\x84\xe2\x2c\xe7\x3c\xb4\x0e\x6c\x68\x92\x32\xa1\x9a\x30\x09\xbc\x15\x5a\x49\x65\x1b\x0f\x77\xca\x14\x01\x45\x53\x17\x82\xd0\x47\xc2\x46\x49\xab\x5d\x24\x9d\x56\x9e\x94\xd9\xf8\x38\x0f\x6b\x64\xff\x5b\x51\x74\x43\xc6\x2c\x8e\x21\xac\x01\x4f\xd6\x61\xe9\xac\x21\x3f\x29\xef\x24\xfa\x6b\x87\xd4\xb8\x20\x10\xb6\x66\x6a\x09\x3d\xf4\x6d\x44\x8c\xd2\x3a\x1e\x34\xdf\x6c\xd1\x05\x8c\x5c\xdc\x79\xa2\x3d\x2b\x57\x01\x03\x8b\x0b\x53\x35\xcc\xb8\x6d\xcd\x03\x0e\x79\x51\xe2\x5b\xeb\x9c\x6d\x99\x48\x5f\xde\x4f\x86\x3b\xef\x85\xe4\xf0\x2a\x18\x1e\x8e\x8c\x4f\x1a\x9a\x4b\x38\x6e\x7b\xf1\xf8\x5c\x25\xa2\xb5\x15\x3a\x0c\x29\x8d\x35\x20\x08\x43\xab\xb4\x86\x75\x50\x5e\xca\xa7\xb6\xd8\x0d\x89\x29\x94\x1c\xfa\x15\x69\x29\xc6\xfa\xd7\xb1\x7e\x10\x91\xe8\x22\xfd\x14\x92\x79\xbe\xf0\xa8\xcb\x25\xec\x84\x1b\x46\xe4\x12\xde\x0d\x74\x1d\x47\xef\x70\x1e\xf3\xb6\x5a\x71\x35\x3a\x9d\x08\xd2\x2b\xee\xd0\xf7\xbb\x04\xec\xfa\x03\x4a\x0a\xdb\xc7\x80\x70\x9b\x66\x1b\x96\x9b\x29\x7a\x55\xf6\x63\x4f\x8a\x7a\x31\x4c\x98\xce\x7d\xe7\xa9\xf1\xa1\xe9\xbc\x96\x98\x6a\xc5\x90\xf2\x31\x58\x7d\xd7\x3b\xe4\x8b\xa8\x8e\xaf\xa7\x8d\x0b\x8e\x97\x70\x9f\xac\xf8\x4f\x8f\x34\xf8\x06\x4b\xb8\x02\xae\x54\x9e\x00\xe5\xeb\x40\xa2\x97\x27\x19\xf4\xcd\x62\xf9\x2c\x7b\xe0\x72\x2d\xb4\xe0\xf6\x5c\x85\x59\xca\xbb\xcb\xe9\xb9\x51\xd8\x7c\x0a\xfc\xe5\x0b\xfe\xbf\x9c\x1e\xe7\xcd\x72\x7a\x2f\x74\x11\xfa\xc5\x10\x92\xb0\xad\x41\xf7\x2a\x17\x71\x49\x2c\x93\xb7\xc3\xff\x49\xff\x67\xfd\xea\x24\x65\xd6\xa4\x60\xf1\x68\x8f\x4e\x25\xff\x79\xa1\x7c\x5e\x28\xff\xea\x42\x79\x12\x5f\x9f\x20\x2a\xc7\x09\xcb\x6d\x33\x1b\xbc\x19\x58\x19\xae\xfd\x54\x45\xfb\x94\xcb\xf4\x62\xd0\xe9\x6c\xf7\x50\x5d\x0c\x47\x1f\x53\xd3\x59\xac\xc5\x9f\x60\xb0\xbd\x39\xb6\x3e\xe6\xaa\x5a\x3b\x9c\xdd\xe1\xbf\xb1\xf5\x53\x4a\x00\xcf\xae\xc0\x28\x7d\x09\x67\xef\x02\xad\x78\x7a\xa2\xd9\xb1\x37\x81\xc0\x31\x4e\x72\x80\x75\x36\x81\x70\x98\x5c\x4d\x3b\x02\x57\x13\x74\xa7\xd4\xe2\x0d\x6c\x90\x68\x22\x96\xcc\xe4\xd8\xe4\xd8\x84\xb0\xda\xc3\x38\x7a\xf0\x4d\xcd\x6f\x1b\x58\xc0\x7a\x1f\x5f\xd5\xfa\xc7\x8b\x8b\x89\xdb\xb6\x52\xb2\x0a\xef\x75\xeb\xf1\x53\xc2\xb0\x03\xcf\xbb\x9b\xe7\x29\xf0\xdf\x0f\xc9\x1b\xe7\xc4\x9e\x99\x70\x7d\xdb\xc1\x89\x13\x3a\x8b\xf2\x50\x7e\x37\x48\x3f\xf7\xc0\xc3\xce\xbc\x65\x6b\x66\xfd\x3d\xff\x8a\xb2\x7c\x98\xf5\x57\x95\xf0\xec\x93\x45\xf9\x08\x47\x3a\xf0\xf7\x87\x47\x5a\xc7\x0b\x76\xc7\xc0\xfe\xf9\xc2\x9e\xbb\xf3\x93\x84\xfd\x2c\xd5\xab\x39\x9e\xd9\xf1\xdf\x7b\x34\xf9\x06\x43\xb5\x16\xcb\x3f\xe0\x0a\xc8\x35\x78\x54\x0c\xa6\xd6\xc7\xc8\xc6\x2a\xbd\x38\xfa\xa4\xf6\xb4\x51\xfb\xa4\x72\xfc\xb7\x73\xf6\x50\x7a\x0e\xe3\x87\x70\xd6\xb8\x07\x9f\x06\xba\x5b\xfc\xa0\x69\xb0\x9d\x7c\xf0\xe8\x61\xa5\x8f\x04\x27\x34\xae\x9b\x92\xa4\x6d\x0f\x62\x9c\x28\x37\x3f\x46\xa6\x70\x43\xa1\xbb\x56\xbe\x7c\xd1\x7d\xe9\x38\xea\x26\xfd\x5c\x76\x19\x1e\xb2\xbf\x02\x00\x00\xff\xff\xa0\x39\x74\x80\x93\x12\x00\x00"
+var _utilityTokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x4d\x6f\x1b\x37\x13\xbe\xef\xaf\x98\xf8\x05\x5e\x4b\x81\x23\x5d\x8a\x1e\x8c\xb8\xf9\x6a\xdd\x9e\x8a\xc2\x75\xdb\x43\x11\x34\x14\x77\x56\xcb\x88\x22\x17\xe4\xac\x36\x82\xa1\xff\x5e\x0c\xc9\xfd\x94\xe4\x3a\x05\x5a\xa0\x40\x7c\x89\x76\x43\xce\x3c\x33\xf3\xcc\x33\xe4\x2e\x9f\x3f\xcf\xb2\xff\xc1\x6d\x6d\xd6\x6a\xa5\x11\xee\xed\x06\x0d\xdc\x5a\xd7\x08\x97\x2b\xb3\x86\x77\xd6\x90\x13\x92\xb2\xec\xbe\x54\x1e\x64\x7a\x04\x5f\xda\xc6\x43\x69\x1b\x10\x06\x84\x94\xb6\x36\x04\xd2\xd6\x3a\x07\x8f\x04\x75\x05\x02\x64\xed\xc9\x6e\x3b\xe3\xd1\xf6\x1d\x4a\x54\x3b\x74\x19\x59\x10\x5a\xdb\x06\xa8\xc4\x2d\x90\x85\x22\x7a\x05\xe2\x75\x9e\xdf\x08\xc8\x55\x51\xa0\x43\x43\x9d\x8f\xa6\x44\x83\x3b\x74\xbc\x6d\x0f\x2e\x5a\x4b\x7b\x16\x8c\x12\xf7\x20\x85\x81\xaa\x5e\x69\xe5\x4b\x20\x86\x9d\x02\x42\x07\x0e\xbd\xad\x9d\x44\x10\x1e\x44\x07\x06\xa4\xa8\xc4\x4a\x69\x45\x7b\xf8\x58\x7b\x02\xad\x36\x08\x02\x7e\x15\xb5\xa6\xab\x4c\x98\x9c\xdd\x81\x47\xc3\x36\x72\x8b\xde\x5c\x12\xe0\x0e\x0d\x18\x44\x86\x0c\x1b\x63\x1b\x50\x04\xca\xf7\xa0\x17\x59\xf6\x5b\x89\x66\x98\xa2\x46\x18\x0a\xb1\x49\x87\x82\xd8\x47\x87\xed\x2a\x86\x24\x85\xd6\xc1\x5b\x5c\xf1\x23\x36\xdd\x8a\xac\xa8\x8d\x24\x65\xd9\x62\x0e\x95\xb3\x3b\x95\x23\x3b\x6d\x14\x95\x61\x4f\x17\x90\xc3\x00\x41\x22\x50\x29\x28\x5a\x66\xdf\x83\x44\x67\x54\xa2\x72\x7d\xba\x17\x59\xf6\x7c\x99\x65\x6a\x5b\x59\x47\x93\xaa\x15\xce\x6e\xe1\x62\xf4\xee\x22\xcb\x84\x94\xe8\xfd\x4c\x68\x3d\xef\x99\x11\xfe\x73\xc0\xa0\x87\x2c\x03\x00\x58\x2e\xe1\xbb\x1d\x17\x32\xe0\x51\x1e\x70\xab\x88\x30\x0f\x05\x6d\x41\x08\x87\x90\x63\x65\xbd\xa2\x98\x55\x8e\x89\x84\x5b\x23\xb5\xa5\x76\xc1\xda\xd0\x33\x06\xb3\x6d\x92\xf2\x6f\xe3\xfe\x99\xd8\x72\xc2\xaf\xe1\x97\x5b\xf5\xe9\xeb\xaf\xae\x42\x08\xd7\xf0\x26\xcf\x1d\x7a\xff\x6a\x9e\x1d\xd9\xe9\xa8\xa1\x0c\xa1\x2b\x84\xc4\xbe\x36\x3f\x31\x9b\x64\x1b\x4b\x8c\x67\x09\x3f\xa0\xae\xd0\x41\x57\x15\x2e\x6b\x89\x72\xc3\x31\x51\x89\x2e\xb4\xc2\x07\x87\x52\x55\x0a\x0d\x7d\x18\xd0\x6c\x64\x47\x79\x30\x96\x40\x0b\xe2\x48\xac\x8b\xe5\xef\x29\x49\x2a\x66\x43\x00\xed\x2b\xe4\xe5\x3b\xa1\x55\xbe\xe8\x8c\x0c\xc3\x28\x6a\x13\x51\xcc\xe6\xd7\xf0\xd6\x5a\x3d\xc6\xfc\x3d\x32\xff\x4a\xec\xf2\x09\xc2\x7b\xb5\x36\xad\x87\x0e\xed\x00\xc0\x62\x64\x21\x08\x01\x43\x46\x76\x2a\xdc\x1e\x56\x28\x45\xed\x31\xd0\xd0\xd6\x04\x8a\xae\x52\x2b\x70\x58\x95\xf5\x3e\x88\x0b\x59\xd0\xd6\x6e\xa0\x0e\x5d\xc4\x18\x4a\x6b\xf3\xc0\x65\x8f\x08\xaa\x60\xcd\x38\x9b\x21\x5b\x70\x1f\xe1\xa7\x0a\x65\x20\x07\x67\xc2\x3a\xf6\xb0\x88\x90\x4a\xd4\x95\x87\x75\xcd\x1a\x22\xd6\x42\x19\x4f\xa0\x4c\xa1\x8c\x22\xd4\x7b\x90\xa5\x50\x1c\xe5\x94\x9f\xd6\x81\x0d\xc5\x52\x26\x64\x15\x46\x8e\xb7\x42\x2b\xa9\x6c\xed\x61\xa3\x4c\x1e\x50\xd4\x55\x2e\x08\x7d\x24\x72\x94\xbc\xca\x45\x12\x6a\xe5\x49\x99\xb5\x8f\xfd\xb2\x42\xb6\xbf\x15\x79\x6a\x42\x66\x77\x74\x61\x0d\x78\xb2\x0e\x0b\x67\x0d\xf9\x51\x7a\x47\xde\x5f\x3b\xa4\xda\x05\x01\xb1\x15\x53\x4c\xe8\xbe\x6e\x03\x82\x14\xd6\x71\x03\xfa\x7a\x8b\x2e\x60\xe4\xe4\x4e\x03\x6d\xd9\xb9\x0c\x18\x58\x7c\x98\xb2\x41\x03\x6c\x63\xce\x72\xc9\x8b\x02\xdf\x5a\xe7\x6c\xc3\x84\xfa\xff\xc3\x48\x04\x16\xad\xe0\x1c\x5e\x05\x03\x87\x47\xda\xaa\x6b\xa6\x6b\x38\x6d\xe3\xea\xf1\x7e\xeb\x88\xd7\x94\xe8\x30\x84\x38\xd4\x8a\x20\x20\x8d\xd2\x1a\x56\x41\xa9\x69\x31\xde\x8b\xa9\x79\x4c\xae\x64\x5f\xbf\x48\x53\x31\xd4\xcb\xd4\x05\xbd\xd8\x44\x13\xd3\x04\x79\xd4\xc5\x1c\x76\xc2\xf5\x2d\x73\x0d\xef\x7a\xfa\x0e\xbd\x27\x9c\xa7\xac\x2d\x97\x9c\x8d\xa4\x1f\x41\xaa\xc5\x06\x7d\x3b\x7b\xc0\xae\x3e\xa2\xa4\x30\xad\x0c\x08\xb7\xae\xb7\x61\x18\x9a\xbc\x55\x71\x3f\xb4\xa4\xa8\x15\xcd\x0e\xd3\xa5\x4f\x96\x6a\x1f\x48\xc0\x63\x8c\xa9\x97\xf7\x21\x3f\x12\x64\xc7\x82\x14\xc1\x2c\xaa\xe8\xeb\x09\x0b\x82\x87\xc3\x1c\x1e\xba\xfd\xfc\xa7\x07\xaa\x7d\x87\x05\xdc\x00\xe7\x6c\xd1\x41\x5b\xac\x02\xad\x5e\x9e\xe5\xd4\x37\xb3\xf9\xb3\xec\xc8\xe4\x4a\x68\xc1\x85\xba\x09\x5d\xb6\x58\x23\xbd\x8d\x6f\x66\xf3\xf1\xe2\x81\xef\xc5\x18\xff\xcb\x17\xfc\xef\x64\x39\x0f\xa4\xf3\x63\x24\x79\x6d\xe7\x48\x88\xc4\x36\x06\xdd\xab\x85\x88\x33\x65\xde\x59\x3b\xfc\x17\xc7\xc4\xa4\x78\x49\x79\x26\x15\x0b\x3b\x1e\x2d\xd8\xb9\x24\x7c\x99\x3b\x5f\xe6\xce\x3f\x32\x77\x9e\xc4\xdb\x27\x28\xcd\x69\xe2\x72\xf9\xcc\x1a\xef\x7a\x76\x86\x67\x3f\x16\xd9\x36\xf4\xa2\xbb\x67\x24\x19\x4e\x67\xf4\xbc\x5f\xfa\x14\xb1\x9d\xf8\x9c\xfd\x01\x06\x9b\xbb\x53\x53\x66\x2a\xb9\x95\xc3\xc9\x1b\xfe\x1b\xee\x7e\x4a\x2a\xe0\xd9\x0d\x18\xa5\xaf\xe1\xe2\x5d\xa0\x19\x77\x53\xdc\x76\xea\x82\x11\x38\xc7\xc1\xf6\xb0\x2e\x46\x10\x0e\xa3\xa7\x71\x65\xe0\x66\x84\xee\x9c\x7a\xbc\x81\x35\x12\x8d\x44\x94\x99\x1d\x8b\x1d\x8b\x11\x4e\x00\xa1\x3d\x3d\xf8\xba\xe2\x4b\x0c\xe6\xb0\xda\xc7\x1b\x60\x7b\x0a\xb9\x1a\x99\x6d\x4a\x25\xcb\x70\x5d\x5c\x0d\x0f\x13\xfd\xa8\xbc\x4c\x2f\x2f\x3b\xc7\x7f\xdd\x34\x6f\x9c\x13\x7b\x66\xc4\xed\x7d\x82\x13\x3b\x76\xe2\xe5\xb4\x2c\xef\x14\x36\x81\x03\x6b\xa4\x9f\xdb\x28\xc2\x78\xbd\x67\x53\xdc\x0a\x0f\xfc\x2b\x6a\xf6\x61\x52\x6c\x55\xc0\xb3\xcf\x56\xec\x13\x84\x49\x91\x3c\x1c\x1e\xa9\x23\x8f\xe2\x1d\x03\xfb\xfb\xa3\x7d\x6a\xce\x8f\x02\xf6\x93\x50\x6f\xa6\x78\x26\xcb\x7f\x6f\xd1\xf0\x91\x80\x37\xce\xe6\xef\xe1\x06\xc8\xd5\x78\x52\x21\xc6\xbb\xcf\x31\xef\x2e\x51\xac\x9d\xd5\x51\xfa\x03\x39\xd6\x6a\x97\x18\x17\xce\x90\x52\x62\xd5\x51\xae\xbf\x8a\x4f\x78\x1c\x40\xf6\x8c\x88\xbb\x40\x98\x7d\x34\xe4\xcb\xd0\x71\xe1\x23\x44\x02\xca\x01\xb0\xd1\x1c\x0b\xde\xfb\x38\x6d\x94\x3f\x66\xcd\x8c\x42\x16\xf9\xe7\xe9\x59\x7f\x22\xf7\x6d\x45\xcf\xd1\x70\x4a\xbb\x91\x09\xde\x3c\xa9\x0d\x43\x78\x7f\x9e\x69\xdd\xf2\x31\xe1\x00\xb5\x47\x78\x68\x57\x15\x82\x1f\x0f\xa7\x4a\xc5\xd3\x76\x76\xf2\x20\xfe\x34\x89\xfc\x2c\xe6\xfe\xbb\xfa\x78\x3c\x3a\x0e\xc3\xbb\x16\xcf\xa8\xa3\x2f\x45\xe9\x15\xdf\x23\x0c\x36\xa3\xef\x5f\x2d\xac\xee\x9b\xd1\x99\x19\x95\xd4\xed\x68\x36\x1d\xf9\x3a\x93\xf6\x6b\x78\xdd\xbb\xed\x13\x9e\x4a\xf9\xf2\x45\xfa\x00\x76\xd2\x4c\xf7\x73\x9e\x22\x3d\x64\x7f\x06\x00\x00\xff\xff\x04\xe4\x1e\xc0\xaa\x14\x00\x00"
 
 func utilityTokenforwardingCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -297,7 +297,7 @@ func utilityTokenforwardingCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/TokenForwarding.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa7, 0x61, 0x0, 0x39, 0xe1, 0x8, 0xdd, 0x52, 0xdc, 0x52, 0x6f, 0xcf, 0x1c, 0x71, 0xb0, 0xeb, 0x88, 0x67, 0x4e, 0x94, 0x1f, 0xcb, 0x3f, 0xc6, 0x69, 0x6c, 0xb3, 0x22, 0xe1, 0x68, 0x7f, 0xad}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0xb5, 0xd5, 0xf5, 0x6a, 0x36, 0xe3, 0x16, 0x78, 0x95, 0x1e, 0xf3, 0x8a, 0x26, 0x5e, 0x7, 0x3d, 0x80, 0x17, 0x4a, 0x61, 0x1, 0x34, 0x70, 0x30, 0x61, 0x56, 0x5f, 0xc, 0xc2, 0x5e, 0x49}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/forward_templates.go b/lib/go/templates/forward_templates.go
index d800b692..40815530 100644
--- a/lib/go/templates/forward_templates.go
+++ b/lib/go/templates/forward_templates.go
@@ -40,7 +40,7 @@ func GenerateCreatePrivateForwarderScript(fungibleAddr, forwardingAddr, tokenAdd
 		"0x"+forwardingAddr.String(),
 	)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
 
 func GenerateSetupAccountPrivateForwarderScript(fungibleAddr, forwardingAddr, tokenAddr flow.Address, tokenName string) []byte {
@@ -52,7 +52,7 @@ func GenerateSetupAccountPrivateForwarderScript(fungibleAddr, forwardingAddr, to
 		"0x"+forwardingAddr.String(),
 	)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
 
 func GenerateTransferPrivateManyAccountsScript(fungibleAddr, forwardingAddr, tokenAddr flow.Address, tokenName string) []byte {
@@ -64,7 +64,7 @@ func GenerateTransferPrivateManyAccountsScript(fungibleAddr, forwardingAddr, tok
 		"0x"+forwardingAddr.String(),
 	)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
 
 func GenerateCreateAccountPrivateForwarderScript(fungibleAddr, forwardingAddr, tokenAddr flow.Address, tokenName string) []byte {
@@ -76,5 +76,5 @@ func GenerateCreateAccountPrivateForwarderScript(fungibleAddr, forwardingAddr, t
 		"0x"+forwardingAddr.String(),
 	)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index e86e1834..46e8468d 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,42 +1,42 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../transactions/burn_tokens.cdc (1.412kB)
+// ../../../transactions/burn_tokens.cdc (1.445kB)
 // ../../../transactions/create_forwarder.cdc (2.319kB)
-// ../../../transactions/generic_transfer.cdc (1.216kB)
+// ../../../transactions/generic_transfer.cdc (1.249kB)
 // ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.839kB)
 // ../../../transactions/mint_tokens.cdc (1.707kB)
 // ../../../transactions/privateForwarder/create_account_private_forwarder.cdc (1.428kB)
-// ../../../transactions/privateForwarder/create_private_forwarder.cdc (961B)
+// ../../../transactions/privateForwarder/create_private_forwarder.cdc (943B)
 // ../../../transactions/privateForwarder/deploy_forwarder_contract.cdc (403B)
-// ../../../transactions/privateForwarder/setup_and_create_forwarder.cdc (1.82kB)
-// ../../../transactions/privateForwarder/transfer_private_many_accounts.cdc (1.144kB)
-// ../../../transactions/safe_generic_transfer.cdc (1.831kB)
-// ../../../transactions/scripts/get_balance.cdc (474B)
-// ../../../transactions/scripts/get_supply.cdc (187B)
-// ../../../transactions/scripts/get_supported_vault_types.cdc (971B)
-// ../../../transactions/scripts/metadata/get_token_metadata.cdc (554B)
-// ../../../transactions/scripts/metadata/get_vault_data.cdc (618B)
-// ../../../transactions/scripts/metadata/get_vault_display.cdc (612B)
-// ../../../transactions/scripts/metadata/get_vault_supply_view.cdc (695B)
-// ../../../transactions/scripts/switchboard/check_receiver_by_type.cdc (562B)
-// ../../../transactions/scripts/switchboard/get_vault_types.cdc (690B)
-// ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (721B)
-// ../../../transactions/scripts/tokenForwarder/is_recipient_valid.cdc (436B)
-// ../../../transactions/setup_account.cdc (1.323kB)
+// ../../../transactions/privateForwarder/setup_and_create_forwarder.cdc (1.802kB)
+// ../../../transactions/privateForwarder/transfer_private_many_accounts.cdc (1.21kB)
+// ../../../transactions/safe_generic_transfer.cdc (1.864kB)
+// ../../../transactions/scripts/get_balance.cdc (469B)
+// ../../../transactions/scripts/get_supply.cdc (195B)
+// ../../../transactions/scripts/get_supported_vault_types.cdc (979B)
+// ../../../transactions/scripts/metadata/get_token_metadata.cdc (559B)
+// ../../../transactions/scripts/metadata/get_vault_data.cdc (623B)
+// ../../../transactions/scripts/metadata/get_vault_display.cdc (617B)
+// ../../../transactions/scripts/metadata/get_vault_supply_view.cdc (700B)
+// ../../../transactions/scripts/switchboard/check_receiver_by_type.cdc (570B)
+// ../../../transactions/scripts/switchboard/get_vault_types.cdc (698B)
+// ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (729B)
+// ../../../transactions/scripts/tokenForwarder/is_recipient_valid.cdc (444B)
+// ../../../transactions/setup_account.cdc (1.061kB)
 // ../../../transactions/switchboard/add_vault_capability.cdc (1.415kB)
 // ../../../transactions/switchboard/add_vault_wrapper_capability.cdc (1.443kB)
 // ../../../transactions/switchboard/batch_add_vault_capabilities.cdc (1.34kB)
 // ../../../transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc (1.591kB)
 // ../../../transactions/switchboard/remove_vault_capability.cdc (1.155kB)
 // ../../../transactions/switchboard/safe_deposit_to_lnf.cdc (4.493kB)
-// ../../../transactions/switchboard/safe_transfer_tokens.cdc (2.087kB)
-// ../../../transactions/switchboard/safe_transfer_tokens_v2.cdc (1.866kB)
+// ../../../transactions/switchboard/safe_transfer_tokens.cdc (2.153kB)
+// ../../../transactions/switchboard/safe_transfer_tokens_v2.cdc (1.932kB)
 // ../../../transactions/switchboard/setup_account.cdc (1.685kB)
 // ../../../transactions/switchboard/setup_royalty_account.cdc (5.883kB)
 // ../../../transactions/switchboard/setup_royalty_account_by_paths.cdc (5.958kB)
-// ../../../transactions/switchboard/transfer_tokens.cdc (1.518kB)
-// ../../../transactions/transfer_many_accounts.cdc (1.35kB)
-// ../../../transactions/transfer_tokens.cdc (1.404kB)
+// ../../../transactions/switchboard/transfer_tokens.cdc (1.551kB)
+// ../../../transactions/transfer_many_accounts.cdc (1.416kB)
+// ../../../transactions/transfer_tokens.cdc (1.437kB)
 
 package assets
 
@@ -106,7 +106,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _burn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x4f\x6f\x9b\x4e\x10\xbd\xf3\x29\xe6\xc7\xe1\x27\xe7\x10\x68\xa5\xaa\x07\x2b\x6e\xea\x44\xcd\xb1\xaa\x1a\xb7\x3d\x2f\x30\x98\x6d\x61\x17\xcd\x0e\xb5\xad\x28\xdf\xbd\xda\x59\xc0\x4b\x13\x97\x83\x91\x77\xdf\xbc\x79\x6f\xfe\x90\xe7\xb0\x6b\xb4\x03\x26\x65\x9c\x2a\x59\x5b\x03\xda\x81\x02\xc6\xae\x6f\x15\x23\xd4\x96\xfc\xdf\xe8\x9e\x1b\xc5\x49\x9e\x43\x69\x87\xb6\x82\x02\x61\x70\x58\x41\x71\x02\x6e\x10\x54\xd5\x69\x03\xaa\x2c\xed\x60\x18\xd8\x42\x31\x90\x01\xb6\xbf\xd0\x38\x1f\x54\x93\xed\x3c\x50\x13\x38\xb6\x84\x15\x7c\x57\x43\xeb\xf9\x12\xd1\x82\x12\xa0\xcd\x1e\x54\x27\x14\x87\x29\x8b\x82\x5e\x91\xea\x90\x91\x3c\xaf\x4f\x16\xa9\x4a\x12\xdd\xf5\x96\x18\x1e\x06\xb3\xd7\x45\x8b\x3b\x9f\x32\xa4\x4b\x17\x67\xe9\x84\xfc\x74\x54\x5d\xbf\x04\xc6\x47\x69\x92\x44\xfc\xab\x20\x67\x0d\xdf\x1e\xf4\xf1\xfd\xbb\x2b\x78\x4a\x12\x00\x80\x3c\xcf\x83\x03\x20\x74\x76\xa0\x12\xa5\x3e\xd0\xd8\xb6\x72\x41\xa4\x78\x0f\xa7\x8a\x10\x0a\xf4\xee\xbc\x4b\xac\x84\xa2\x45\x86\xdf\x9e\x62\x0d\x1f\x17\x4a\xb3\x50\x9a\x39\xcf\x57\xac\x91\xd0\xf8\x14\xc1\xff\xc2\xc1\x56\x2a\x6f\x8b\x9f\x58\xf2\xcc\x2b\xed\x58\xc3\xff\x31\x32\x13\xa4\x76\x4c\x8a\x2d\x9d\xe9\x77\x22\x96\x55\x0b\x6e\xe8\xfb\xf6\x04\xb6\x9e\xc4\x17\x58\x5b\x42\xc9\xe9\x85\xcf\xf4\x01\x78\x27\xb7\x53\x69\x02\x61\x4f\xd8\x2b\xc2\x95\xd3\x7b\x83\xb4\x86\xed\xc0\xcd\x36\x4c\xc5\x5c\x3b\xff\x38\x6c\xeb\x2c\xa6\x81\xcd\xc2\x56\x26\x8a\x1e\x05\x70\x8e\xca\x73\xf8\xa1\xb9\xa9\x48\x1d\xe0\xed\x9b\x49\xe5\x34\x5b\xe3\x10\x4a\x4d\x41\x1b\x19\x34\xb5\xc7\x65\xce\x70\x7b\x73\x0d\x41\x61\x56\x58\x22\x7b\xb8\x59\x56\x4a\x1a\xf0\x61\xe5\x89\xd7\xf0\xf2\xe6\x31\x10\x7f\x51\xdc\x5c\xfd\x37\xd3\xfb\x27\x3b\x8c\xf2\xe6\xb9\x09\xef\xab\x85\x87\x7b\x42\xbf\x62\x0a\xe8\xef\xce\x8e\x6b\x24\xbf\xf3\x60\x5d\xb2\x12\x60\x9b\x7f\x3a\x59\xf4\xfc\x55\x47\x82\x88\x1d\x2d\x0c\xdd\xde\x42\xaf\x8c\x2e\x57\xe9\xbd\x2c\xa4\xb1\x0c\x21\xd1\x65\xf9\x93\xf0\x34\x50\x3d\x07\xef\x78\xc4\x72\x60\x84\xa7\x99\xdf\x4f\x92\xec\x03\x49\x3f\x66\x4b\x59\x29\xf5\xf9\x8c\x87\x3b\xb9\x5d\x45\xd5\x0b\xf8\xcc\xbf\x44\xbe\x1b\x2d\xdd\x5c\x9f\xbb\x1b\xc1\x2b\x74\x4c\xf6\x34\x86\xc5\x72\x7a\xeb\x38\xd2\x72\x69\xf6\x60\xb3\x79\x65\x56\xaf\x61\x6a\x6f\xfa\x62\x7b\xba\xc1\xb1\xff\x6e\x55\xe8\x6d\xc4\x9f\x48\x09\x49\x47\x11\xcf\xc9\x9f\x00\x00\x00\xff\xff\xe2\xec\xe9\x43\x84\x05\x00\x00"
+var _burn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\xcd\x6e\xd4\x30\x10\xbe\xe7\x29\x86\x1c\xd0\xee\xa1\x09\x48\x88\xc3\xaa\x4b\x69\x2b\x7a\x44\x88\x16\x38\x4f\x92\xd9\x8d\x21\xb1\xa3\xf1\x84\x6d\x55\xf5\xdd\x91\xc7\x9b\xd4\xe9\x0f\x39\x6c\xb4\xf6\xe7\xef\x67\x66\x9c\xb2\x84\x9b\xd6\x78\x10\x46\xeb\xb1\x16\xe3\x2c\x18\x0f\x08\x42\xfd\xd0\xa1\x10\xec\x1c\x87\xbf\xc9\xbe\xb4\x28\x59\x59\x42\xed\xc6\xae\x81\x8a\x60\xf4\xd4\x40\x75\x07\xd2\x12\x60\xd3\x1b\x0b\x58\xd7\x6e\xb4\x02\xe2\xa0\x1a\xd9\x82\xb8\x3f\x64\x7d\x38\xb4\x63\xd7\x07\xa0\x61\xf0\xe2\x98\x1a\xf8\x89\x63\x17\xf8\x32\xf5\x42\x7a\xc0\xd8\x3d\x60\xaf\x14\x87\x49\x05\x61\x40\xc6\x9e\x84\x38\xf0\x06\xb1\xc4\x55\x96\x99\x7e\x70\x2c\x70\x35\xda\xbd\xa9\x3a\xba\x09\x92\x51\x2e\x5f\xac\xe5\x13\xf2\xcb\x2d\xf6\xc3\x12\x98\x2e\xe5\x59\x96\xf0\xaf\xa2\x9d\x0d\xfc\xb8\x32\xb7\x1f\x3f\xac\xe1\x3e\xcb\x00\x00\xca\xb2\x8c\x09\x80\xc9\xbb\x91\x6b\xd2\xfa\x40\xeb\xba\xc6\x47\x93\x9a\x3d\xae\x22\x13\x54\x14\xd2\x85\x94\xd4\x28\x45\x47\x02\x7f\x03\xc5\x06\x3e\x2f\x9c\x16\xb1\x34\xb3\xce\x77\xda\x11\x93\x0d\x12\x31\xff\x22\xc1\xb9\x56\xde\x55\xbf\xa9\x96\x99\x57\xdb\xb1\x81\xb7\x29\xb2\x50\xa4\xf1\xc2\x28\x8e\x1f\xe9\x6f\xd4\xac\x60\x07\x7e\x1c\x86\xee\x0e\xdc\x6e\x32\x5f\xd1\xce\x31\xa9\x66\x30\x3e\xd3\x47\xe0\x85\xee\x4e\xa5\x89\x84\x03\xd3\x80\x4c\x2b\x6f\xf6\x96\x78\x03\xe7\xa3\xb4\xe7\x71\x2a\xe6\xda\x85\xc7\x53\xb7\x2b\x52\x1a\xd8\x2e\x62\x15\xea\xe8\x5a\x01\x8f\xa7\xca\x12\x7e\x19\x69\x1b\xc6\x03\xbc\x7f\x37\xb9\x9c\x66\xeb\x38\x84\x5a\x53\x30\x56\x07\x0d\xf7\xb4\xd4\x8c\xbb\xa7\x27\x10\x1d\x16\x95\x63\x76\x87\x53\x1c\xa5\x5d\x2d\xbb\x30\x29\x61\xd5\xd1\xfa\x49\x29\xb5\x43\x9f\x56\x41\x79\x03\xcf\x77\xae\xa3\xf2\x37\x94\x76\xfd\x66\xd6\x0f\x4f\x71\x38\xb2\xce\x83\x15\xdf\xeb\x45\xc8\x4b\xa6\x70\x07\x11\xf8\x69\xeb\x8f\xf7\x4c\x7f\xe7\xc9\x7b\x2d\x6b\x84\x6d\x9f\x44\xfd\xcf\x50\xbc\x98\x48\x11\x69\xa2\x45\xa0\xb3\x33\x18\xd0\x9a\x7a\x95\x5f\xea\x8d\xb5\x4e\x20\x0a\xbd\x6e\x7f\x32\x9e\x47\xaa\x87\x98\x9d\x6e\xa9\x1e\x85\xe0\x7e\xe6\x0f\xa3\xa6\x17\x86\xb5\x61\x73\xa4\xa2\xd6\xfa\x7c\xa5\xc3\x85\xee\xae\x92\xea\x45\x7c\x11\x5e\x6a\xdf\x1f\x23\x9d\x9e\x3c\xb6\x3f\x81\x37\xe4\x85\xdd\xdd\xf1\x58\x6a\x67\x70\x5e\x12\x2f\xaf\x0d\x27\x6c\xb7\x2f\x0c\xf3\x09\x4c\xed\xcd\x9f\x5d\xaf\x7e\xf4\x12\x3e\x6c\x0d\x85\x18\xe9\x37\x54\x8f\xe4\x47\x13\x0f\xd9\xbf\x00\x00\x00\xff\xff\x43\x71\x53\xb8\xa5\x05\x00\x00"
 
 func burn_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -122,7 +122,7 @@ func burn_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "burn_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbe, 0x91, 0xe, 0x82, 0x84, 0xc4, 0xe2, 0x8f, 0x0, 0xc0, 0x5, 0x19, 0x4d, 0x9a, 0x77, 0x5a, 0xed, 0x97, 0x1, 0xc5, 0xd6, 0x8, 0x0, 0x0, 0x57, 0x2a, 0x64, 0x4f, 0xb5, 0xc0, 0xf9, 0x77}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc3, 0x7, 0x64, 0xb4, 0x35, 0x10, 0xef, 0x1b, 0xff, 0xdc, 0xca, 0x44, 0x80, 0xe9, 0x74, 0x3a, 0x8c, 0xcf, 0x64, 0x26, 0x26, 0xb4, 0xf9, 0xf8, 0xb4, 0x67, 0xac, 0x3f, 0x3d, 0xc1, 0xa3, 0x2}}
 	return a, nil
 }
 
@@ -146,7 +146,7 @@ func create_forwarderCdc() (*asset, error) {
 	return a, nil
 }
 
-var _generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x54\x4d\x6f\xe3\x38\x0c\x3d\x37\xbf\xe2\x35\x87\xdd\x04\x48\xd3\xcb\x62\x0f\x41\x3f\x36\x28\xd0\xbd\x16\x9d\xce\xdc\x19\x89\xb6\x35\x75\x24\x83\xa2\xe3\x06\x45\xfe\xfb\x40\xb2\xe3\x24\x53\x4c\x2e\x56\x68\xf2\xf1\xf1\xf1\x59\x6e\xdb\x04\x51\x3c\xb7\xbe\x74\x9b\x9a\xdf\xc2\x3b\x7b\x14\x12\xb6\x98\x5e\xc4\xa6\x93\xc9\xed\xed\x2d\x9e\xc8\xa3\xa1\x18\xe1\x3c\xc8\xef\x11\x35\x08\x95\x8c\x86\xb4\x02\x79\x0b\x61\xc3\x6e\xc7\xd2\x47\x9c\x8f\xca\x64\x11\x0a\xfc\x6c\xa3\x42\x2b\x86\xe5\x82\xda\x5a\x97\x19\xef\xad\x72\x11\x35\x6b\xc4\x3e\xb4\x30\x55\x08\x91\x73\x96\x66\x22\x29\xd8\x91\x57\x68\x40\x64\x6f\x41\x11\x1d\xd7\x75\x4e\x31\xd4\xd0\xc6\xd5\x4e\xf7\x5f\xf3\x5c\x3a\xe6\x16\xb9\xcd\xda\xef\x07\xc4\x4c\xcb\x90\xc7\x86\xf3\x20\x9c\x31\xc9\x83\xa4\x6c\xb7\xec\x15\x15\x0b\x2f\x10\x03\x3a\xaa\x33\xb3\x58\x85\xb6\xb6\x19\xa7\x3f\xc2\x54\x6c\xde\x4f\x15\x3b\xaa\x5b\x8e\xa9\xf7\x96\xde\x19\xb1\x95\x7e\x06\xe7\x95\xbd\x65\x7b\xde\xda\xc5\x63\x5b\xe7\x33\x3d\x15\xf2\x91\x8c\xba\xe0\x67\xb4\x0d\xad\xd7\x15\xbe\x3f\xbb\x8f\x7f\xff\x59\x40\xc3\x0a\x6b\x6b\x85\x63\x5c\xe4\xb9\x58\x5e\x48\xab\x15\xbe\xf5\xb2\xa7\x3f\x8b\x51\xf2\xfe\xd5\x4b\xbb\xa9\x9d\x49\xe7\x39\x3e\x27\x13\x00\xc8\x3a\x33\x7e\x24\xd9\x21\x1c\x43\x2b\x26\x31\x24\x45\x15\x6a\x1b\x4f\x82\xc7\x3e\x4a\xc2\xd8\xb0\xf3\x25\x32\xbb\x82\x45\xd8\x66\xa8\x9a\x15\xca\xdb\x26\x63\xad\xf0\xdf\x85\x47\x96\x39\xda\xf7\x6c\x84\x1b\x12\x9e\x45\x57\x7a\x96\x15\xd6\xad\x56\x6b\x63\xd2\x7c\x23\xaf\x81\xdb\xff\xac\x20\x08\x17\x2c\xec\x13\xb1\x90\x09\xf5\x95\x7f\xc7\xec\x31\xb6\xd8\x65\xf0\x63\x5d\x22\x92\x23\xaf\x5c\xe0\x7e\x48\x5e\x6e\x82\x48\xe8\xee\xfe\xfa\xbc\xe4\xf5\x22\x61\xe7\x2c\xcb\xe1\x61\x96\xac\xbd\x3a\xd3\x72\x3e\xb9\xba\xba\x7a\x7c\x44\x43\xde\x99\xd9\xf4\x29\xef\xd7\x07\x45\x0f\xf5\x95\x56\xe8\x7a\x56\x79\xd6\xeb\xe9\xfc\x34\x4a\xe4\xba\x58\x8e\xe2\xe0\xee\x66\x24\xb8\xec\x9c\x56\x56\xa8\x1b\x37\xdc\x3f\x87\xe2\x43\xff\xe0\x0f\x36\xad\xf2\xb9\x3a\x69\x4a\x61\xe3\x1a\x97\x7c\x76\x8f\x92\x75\x10\x71\xa6\x61\xfe\x7b\x5a\x76\x41\xaf\xc7\x58\xb4\x2c\x59\x9f\xc6\x0f\xe5\x8b\x32\xaf\x43\xd5\xe1\x61\x76\x6e\xa3\x13\x74\xfa\x0d\xb2\xce\xe6\xd7\x17\x7b\x7b\x1b\xbc\x71\xb4\x4e\xbe\x35\xfe\xb8\xb9\xa3\x7e\xe3\x05\x71\xfa\x7c\x47\xd0\xb3\x19\x96\x96\x9b\x10\x9d\x0e\x0b\xbb\xbb\xb9\x54\x77\x3e\x08\x77\xf8\x15\x00\x00\xff\xff\xad\x94\x66\x8c\xc0\x04\x00\x00"
+var _generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x54\xc1\x6e\x22\x39\x10\x3d\x87\xaf\x78\xe1\xb0\xdb\x48\x84\x5c\x56\x7b\x40\x24\x59\x14\x29\x7b\x8d\x32\x99\x99\x73\x61\x17\xb4\x27\xc6\x6e\xd9\x65\x3a\x28\xe2\xdf\x47\x76\x37\x0d\x24\x1a\x2e\x6d\xca\x55\xaf\x5e\x3d\x3f\xdb\x6c\x1b\x1f\x04\x4f\xc9\x6d\xcc\xca\xf2\xab\x7f\x63\x87\x75\xf0\x5b\x8c\x2f\x62\xe3\xd1\xe8\xf6\xf6\x16\x8f\xe4\xd0\x50\x8c\x30\x0e\xe4\xf6\x88\xe2\x03\x6d\x18\x0d\x49\x0d\x72\x1a\x81\x15\x9b\x1d\x87\x2e\x62\x5c\x14\x26\x0d\xbf\xc6\xaf\x14\x05\x52\x33\x34\xaf\x29\x59\x99\x15\xbc\xd7\xda\x44\x58\x96\x88\xbd\x4f\x50\xb5\xf7\x91\x4b\x96\x14\x22\x39\xd8\x92\x13\x88\x47\x64\xa7\x41\x11\x2d\x5b\x5b\x52\x14\x35\xb4\x32\xd6\xc8\xfe\x6b\x9e\xc9\xcb\xd2\xa2\xb4\x59\xba\x7d\x8f\x58\x68\x29\x72\x58\x71\x19\x84\x0b\x26\x39\x50\xd8\xa4\x2d\x3b\x41\xcd\x81\xa7\x88\x1e\x2d\xd9\xc2\x2c\xd6\x3e\x59\x5d\x70\xba\x25\x54\xcd\xea\xed\x54\xb1\x23\x9b\x38\xe6\xde\x5b\x7a\x63\xc4\x14\xba\x19\x8c\x13\x76\x9a\xf5\x79\x6b\x13\x8f\x6d\x8d\x2b\xf4\x24\x90\x8b\xa4\xc4\x78\x57\xd1\xd6\x27\x27\x73\x7c\x7f\x32\xef\xff\xfe\x33\x85\xf8\x39\x96\x5a\x07\x8e\x71\x5a\xe6\xe2\xf0\x4c\x52\xcf\xf1\xad\x93\x3d\xff\x99\x0e\x92\x77\x5b\xcf\x69\x65\x8d\xca\xeb\x09\x3e\x46\x23\x00\x28\x3a\x33\x7e\x64\xd9\x11\x38\xfa\x14\x54\x66\x48\x82\xda\x5b\x1d\x4f\x82\xc7\x2e\x4a\x81\xb1\x62\xe3\x36\x28\xec\xd6\x1c\x02\xeb\x02\x65\x59\x20\xbc\x6d\x0a\xd6\x1c\xff\x5d\x78\x64\x56\xa2\x5d\xcf\x26\x70\x43\x81\xab\x68\x36\x8e\xc3\x1c\xcb\x24\xf5\x52\xa9\x3c\xdf\xc0\xab\xe7\xf6\x3f\x0b\x08\x81\xd7\x1c\xd8\x65\x62\xbe\x10\xea\x2a\xff\x8e\xc5\x63\xac\xb1\x2b\xe0\xc7\xba\x4c\xa4\x44\x5e\x78\x8d\xbb\x3e\x79\xb6\xf2\x21\xf8\x76\x41\x49\xea\xea\x92\xda\x4f\x23\xb5\x0e\xd4\xd2\xca\xf2\x04\x7f\x7d\x5c\xee\x3e\x07\xbf\x33\x9a\xc3\xe1\xbe\xca\xde\x9f\x9f\x89\x3d\x19\x5d\x5d\x5d\x3d\x3c\xa0\x21\x67\x54\x35\x7e\x2c\x06\x70\x5e\xd0\xf5\xfa\xca\xdb\xb7\x1d\xed\x22\xc6\xf5\x78\x72\x9a\x35\xb2\x5d\xcf\x06\xf5\xb0\xb8\x19\x26\x98\xb5\x3d\xbd\xc1\x02\xdd\xb7\x2f\x3e\x74\x1f\x7e\x67\x95\x84\xcf\xe5\xcb\x32\x04\x56\xa6\x31\xd9\x88\x77\xd8\xb0\xf4\x2a\x57\xe2\x27\x9f\xd3\x8a\x4d\x3a\xc1\x86\xa2\xd9\x86\xe5\x71\xb8\x49\x8b\xcf\xca\xbc\xf4\x55\x87\xfb\xea\xdc\x67\x27\xe8\xfc\xeb\x75\xaf\x26\xd7\x17\x07\xfb\xda\x9b\xe7\xe8\xad\xf2\xac\xfc\xf1\x68\x8f\xfa\x0d\x2f\xc8\xe9\x7e\x0f\xa0\x67\x33\xcc\x34\x37\x3e\x1a\xe9\x0f\x6c\x71\x73\xa9\xee\xa4\x17\xee\xf0\x3b\x00\x00\xff\xff\xb8\xde\x8f\x3a\xe1\x04\x00\x00"
 
 func generic_transferCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -162,7 +162,7 @@ func generic_transferCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "generic_transfer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5b, 0x68, 0xc3, 0xf5, 0x27, 0xf, 0xe0, 0x8f, 0x1b, 0xce, 0xc8, 0xc2, 0xc4, 0x41, 0x1e, 0x30, 0x28, 0x2c, 0xb5, 0x73, 0xbd, 0x65, 0xb8, 0x49, 0xd7, 0x4, 0x76, 0xba, 0xdc, 0x41, 0xee, 0x78}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x32, 0xf0, 0x89, 0x6e, 0x8b, 0xe2, 0x48, 0x4c, 0x6, 0x93, 0xf7, 0xf6, 0xec, 0x59, 0x93, 0x5e, 0x12, 0x21, 0xb9, 0xef, 0x42, 0x4d, 0x91, 0x79, 0xcb, 0xd1, 0x9a, 0x75, 0xcd, 0x16, 0xec, 0x1c}}
 	return a, nil
 }
 
@@ -226,7 +226,7 @@ func privateforwarderCreate_account_private_forwarderCdc() (*asset, error) {
 	return a, nil
 }
 
-var _privateforwarderCreate_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x52\xcd\x8a\xa3\x40\x10\xbe\xf7\x53\x14\x39\xec\x1a\x48\xf4\x2e\xd9\x85\xb0\x6c\x8e\x43\x98\x09\x73\x2f\x4d\x8d\x36\x31\xdd\x52\x96\x66\x82\xe4\xdd\x87\xf6\x0f\x4d\x22\x0c\xd3\x07\x69\xaa\xbe\x9f\xae\xaf\xd4\xe7\xdc\xb2\xc0\xae\x34\x89\x8e\x32\x3a\xd8\x13\x19\xf8\x60\x7b\x86\xc5\xa4\xb6\x50\x1d\xf2\xff\x27\x9e\xf3\x29\x70\x5c\x1a\x70\x7b\xd6\x15\x0a\xbd\x52\x4c\xba\x22\xde\x59\xbe\x20\x1f\x89\x3b\xce\x5c\x7b\xa1\x54\x10\xc0\x21\xd5\x05\x08\xa3\x29\x30\x16\x6d\x0d\xc4\x4c\x28\x54\x00\x82\xa1\x0b\xe4\x2d\x19\xb8\x63\x83\x36\x80\x06\x30\x8e\x6d\x69\x04\x24\x45\x01\x27\x73\xb4\x54\x98\xdf\x02\x98\x31\xe1\xf1\x0a\x29\x56\x04\xf8\x48\xb7\xec\xaa\x65\x94\xe9\x18\xa4\x19\xac\x6f\x39\x95\xa8\x94\x46\xe9\x5e\xe6\x1d\xcb\x4c\x94\x1a\x3f\xb3\x56\x0a\x00\x20\x67\xca\x91\xc9\x2b\x74\x62\x88\x43\xd8\x96\x92\x6e\xdb\xc7\x2d\xa1\x6e\x20\xee\xf4\x26\xff\x30\xc7\x48\x67\x5a\xae\xf0\x07\x5a\x8e\x9f\x69\x73\xda\xfc\x1a\x27\xeb\x37\x7e\xf5\x64\x2b\x7e\x9f\xdf\xed\xaf\x37\xc8\xba\x13\x74\x33\x06\x34\x52\xe8\xc1\xab\x09\x54\x90\x13\x92\x10\x1e\xbd\xde\xc4\x32\x26\xb4\x47\x49\x07\xc6\x52\x0d\xd7\x8c\x04\x2a\x87\x83\xcd\x7a\x76\xdd\x7e\xbb\xb9\x17\xba\x0c\x25\x8f\x29\xd6\xb9\x26\x23\xe1\x93\x08\x46\x06\x5d\x14\x05\x56\xe4\x6d\xd6\x8d\xd5\x0a\xc4\x86\xf3\x66\x77\x8d\xd1\x00\x8f\xb2\x6d\xc2\xf5\xac\xd6\x70\xbb\xcf\xf6\xbb\xee\xfb\xe6\x87\x72\xe6\xcf\x03\xff\xc1\x14\xa3\x35\xb8\xef\x4d\xdd\xd4\x57\x00\x00\x00\xff\xff\x21\x07\xb3\xdd\xc1\x03\x00\x00"
+var _privateforwarderCreate_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x52\x4f\x6b\xfa\x40\x10\xbd\xef\xa7\x18\x3c\xfc\x7e\x11\x34\xb9\x07\x5b\x90\x52\x8f\x45\x5a\xe9\x7d\x12\xa7\xc9\x62\xdc\x0d\x93\x49\xac\x88\xdf\xbd\x6c\xfe\x91\xa8\x81\xd2\x3d\x84\x65\xe6\xcd\x7b\xfb\xe6\x45\x1f\x73\xcb\x02\x9b\xd2\x24\x3a\xca\x68\x67\x0f\x64\xe0\x8b\xed\x11\x66\xa3\xda\x4c\xb5\xc8\xd7\x6f\x3c\xe6\x63\xe0\xb0\xd4\xe3\xb6\xac\x2b\x14\x7a\xa7\x98\x74\x45\xbc\xb1\x7c\x42\xde\x13\xb7\x33\x53\xed\x99\x52\x41\x00\xbb\x54\x17\x20\x8c\xa6\xc0\x58\xb4\x35\x10\x33\xa1\x50\x01\x08\x86\x4e\x90\x37\xc3\xc0\xed\x34\x68\x03\x68\x00\xe3\xd8\x96\x46\x40\x52\x14\x70\x34\x7b\x4b\x85\xf9\x2f\x80\x19\x13\xee\xcf\x90\x62\x45\x80\xf7\xe3\x96\x5d\xb5\x8c\x32\x1d\x83\xd4\xc6\xba\x96\x63\x89\x4a\xa9\x99\x6e\x69\x3e\xb1\xcc\x44\xa9\xe1\x33\x2f\x4a\x01\x00\xe4\x4c\x39\x32\x79\x85\x4e\x0c\x71\x08\xeb\x52\xd2\x75\xf3\xb8\x39\x5c\x6a\x88\x3b\x9d\xc8\x0b\xe6\x18\xe9\x4c\xcb\x19\x9e\xa0\x99\xf1\x33\x6d\x0e\xab\x7f\x97\x51\x06\x7e\xb7\xad\xeb\xb3\xd7\x93\xb8\x13\xb4\x8e\x02\x1a\x24\xd1\x81\x17\x23\xa8\x20\x27\x24\xe1\x28\x46\xbf\x76\xf2\x21\x96\x31\xa1\x2d\x4a\xda\x4f\xcc\x55\x7f\xcd\x48\xa0\x72\x38\x58\x2d\x27\xc3\xf5\x9b\x9c\xde\xe8\xd4\x97\x3c\xa6\x58\xe7\x9a\x8c\x84\x0f\x0c\x0f\x04\x5a\xe3\x05\x56\xe4\xad\x96\xb5\xd4\x02\xc4\x86\xd3\x62\x37\x8d\x81\x81\x7b\xda\x76\x9f\x93\x5c\xfd\xed\x76\xb7\xbf\x55\xdf\xd6\xbf\x8f\x13\x7f\xbc\xf0\x3f\xb8\x18\xc4\xe0\xbe\x57\x75\x55\x3f\x01\x00\x00\xff\xff\xff\x8d\xc1\x45\xaf\x03\x00\x00"
 
 func privateforwarderCreate_private_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -242,7 +242,7 @@ func privateforwarderCreate_private_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/create_private_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x4e, 0xba, 0x8, 0xf3, 0x78, 0x7c, 0xcc, 0x89, 0x26, 0x9c, 0x27, 0xee, 0xbf, 0x6c, 0xac, 0xf, 0x4e, 0xa6, 0x77, 0x19, 0x5b, 0x1a, 0x91, 0xd0, 0xda, 0xff, 0xa5, 0x82, 0x37, 0x2a, 0xc6}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x2, 0x94, 0x1, 0x6d, 0xcc, 0xdb, 0x68, 0x91, 0xb0, 0xe4, 0xc2, 0x90, 0xcc, 0xa7, 0xe0, 0x29, 0x1b, 0x67, 0x32, 0xcf, 0xdc, 0x56, 0x8a, 0x4b, 0xdb, 0x5b, 0xd9, 0x78, 0x14, 0x25, 0x37}}
 	return a, nil
 }
 
@@ -266,7 +266,7 @@ func privateforwarderDeploy_forwarder_contractCdc() (*asset, error) {
 	return a, nil
 }
 
-var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x4f\x8f\xa2\x4e\x10\xbd\xf3\x29\x2a\x73\x98\x40\xe2\xc8\xdd\xa0\xc9\xfc\x26\x33\xc7\x5f\xcc\xee\x64\xef\x65\x53\x42\x47\xec\x26\x45\xa1\x63\x8c\xdf\x7d\x43\x8b\x48\x8b\xec\xba\x9b\xe5\x44\xba\xfe\xbd\xaa\x57\xaf\x02\xbd\x2d\x2d\x0b\x7c\xd4\x26\xd3\xab\x82\x3e\xed\x86\x0c\xac\xd9\x6e\xe1\xc9\x7b\x7b\xba\x78\xbe\x7f\xe1\xb6\xf4\x1d\xfb\x4f\x9d\xdf\x92\xf5\x0e\x85\xbe\x91\x22\xbd\x23\xfe\xb0\xbc\x47\x4e\x89\xdb\x98\x31\xf3\x53\x10\xc4\x71\x0c\x9f\xb9\xae\x40\x18\x4d\x85\x4a\xb4\x35\x80\x69\x5a\x01\xc2\x0f\xac\x0b\x99\x00\x42\x79\x8e\x07\x6e\x13\xc0\xfa\x92\xc1\xc5\x23\xac\xb0\x40\xa3\x08\x14\x96\xb8\xd2\x85\x96\xc3\x04\xd0\xa4\x4d\x68\xbd\x2a\xb4\xea\x19\x9a\x58\x90\xfc\x9a\x2c\x08\xfa\xa5\x8f\x41\x00\x00\x50\x32\x95\xc8\x14\x56\x3a\x33\xc4\x33\x78\xad\x25\x7f\x55\xca\xd6\x46\x22\x38\x3a\x97\xe6\xd3\x6b\x38\x7b\x4c\x33\x92\xb7\xae\x46\xf2\x3c\xd6\xf1\xb4\xfb\x5b\x84\xa3\x3e\x37\x86\xa5\x6b\x61\x89\x92\x47\x53\x95\x93\xda\x84\x7d\x08\xcd\x17\xc7\xdd\x88\xba\xc9\xc0\x1e\x2b\xc0\x82\x09\xd3\x03\x54\x24\x50\x97\x5e\x0c\x93\xd4\x6c\xba\xa7\x53\x70\xa7\xa9\x95\x65\xb6\xfb\xe4\xb9\xcf\xf9\xd4\xb1\xb2\x08\x1b\x66\x67\x30\xb4\x7c\x17\xcb\x98\x91\x83\x0b\xf3\x39\x18\x5d\x0c\xd1\xbe\x31\x35\x60\x11\x0c\xed\xfd\x25\x73\x39\x1c\x77\x65\x2d\xa0\x05\xb4\x81\xea\x9c\xd2\x4b\xd2\x22\xac\x70\x47\xa1\x67\x68\xbe\xe4\xc5\xc3\xa5\x5c\xb5\xf7\x6d\x29\x07\x97\x3e\x8c\x26\x83\x10\xb1\xbf\x69\xc6\x8b\x88\xee\xcd\xad\x85\x54\x68\xb3\x49\x9e\x8f\x9e\xa0\xa6\x17\x2e\x4f\x0b\x1f\x6d\xdc\xf2\x16\x53\xaf\xf6\xc5\xd9\x47\x29\xc8\x19\xc9\xa3\x28\xa3\x2b\xae\x82\xa4\x5b\xf6\xeb\x8e\xc2\x7c\x64\x75\xc7\x91\xff\x12\x6c\xaf\x60\x9f\xe0\xa1\xfe\xc4\x3a\xf9\x9d\x89\x96\x1c\x05\xac\x29\x0e\x40\x5f\xa5\xad\xa8\xea\x27\x69\xdc\x2e\xca\x5e\x6b\x2a\x52\x90\x9c\x6d\x9d\xe5\xce\xf2\x5f\x6b\xd1\x46\x88\xd7\xa8\xe8\x3e\x11\xc3\x71\xdd\x34\xd8\xe6\xb9\x65\x66\x18\x77\xd5\xe1\x3f\x24\xe6\xaa\xd7\xe4\x65\xf4\x8c\xb6\x1b\xfc\x3f\xed\xbb\xa7\x90\x49\xe9\x52\x93\x91\xd9\x1d\x72\xa3\xc1\x56\x3a\xa1\x24\x2f\x5d\xb9\x89\xdb\xf8\x47\x4f\x50\x5f\xd4\x23\x0b\xff\xc8\xc5\xf3\xc6\xf6\xe7\xe7\xef\xfe\xd8\xff\xa2\x87\xc0\xd7\xf1\x29\x38\x05\x3f\x03\x00\x00\xff\xff\xa7\xc6\xef\xf9\x1c\x07\x00\x00"
+var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x41\x8f\xa2\x4c\x10\xbd\xf3\x2b\x2a\x73\x98\x40\xa2\x72\x37\x68\x32\xdf\x64\xe6\xf8\xc5\xec\x4e\xf6\x5e\x36\x25\x74\xc4\x6e\x52\x14\x3a\xc6\xf8\xdf\x37\xb4\x88\xf4\x20\xbb\xee\x66\x39\x91\xae\x7a\x55\xaf\xeb\xd5\xeb\x40\xef\x4a\xcb\x02\xef\xb5\xc9\xf4\xba\xa0\x0f\xbb\x25\x03\x1b\xb6\x3b\x78\xf2\xce\x9e\xae\x99\x6f\x9f\xb8\x2b\xfd\xc4\xfe\x51\x97\xb7\x62\xbd\x47\xa1\x6f\xa4\x48\xef\x89\xdf\x2d\x1f\x90\x53\xe2\x16\x33\x16\x7e\x0a\x82\x38\x8e\xe1\x23\xd7\x15\x08\xa3\xa9\x50\x89\xb6\x06\x30\x4d\x2b\x40\xf8\x81\x75\x21\x13\x40\x28\x2f\x78\xe0\xb6\x00\x6c\xae\x15\x1c\x1e\x61\x8d\x05\x1a\x45\xa0\xb0\xc4\xb5\x2e\xb4\x1c\x27\x80\x26\x6d\xa0\xf5\xba\xd0\xaa\x17\x68\xb0\x20\xf9\xad\x58\x10\xf4\x5b\x9f\x82\x00\x00\xa0\x64\x2a\x91\x29\xac\x74\x66\x88\xe7\xf0\x52\x4b\xfe\xa2\x94\xad\x8d\x44\x70\x72\x29\xcd\xa7\x37\x70\xc9\x98\x65\x24\xaf\x5d\x8f\xe4\x79\xec\xc6\xb3\xee\x6f\x19\x8e\xe6\x7c\x09\xac\xdc\x15\x56\x28\x79\x34\x53\x39\xa9\x6d\xd8\xa7\xd0\x7c\x71\xdc\x8d\xa8\x9b\x0c\x1c\xb0\x02\x2c\x98\x30\x3d\x42\x45\x02\x75\xe9\x61\x98\xa4\x66\xd3\x1d\x9d\x83\x3b\x97\x5a\x5b\x66\x7b\x48\x9e\xfb\x9a\xcf\x9c\x2a\xcb\xb0\x51\x76\x0e\xc3\xc8\x77\xb1\x8c\x19\x39\xba\xb0\x58\x80\xd1\xc5\x90\xed\x2b\x53\x43\x16\xc1\xd0\xc1\x5f\x32\x57\xc3\x69\x57\xd6\x02\x5a\x40\x1b\xa8\x2e\x25\xbd\x22\x2d\xc3\x0a\xf7\x14\x7a\x81\xe6\x4b\xa6\x1e\x2f\xe5\xba\xbd\xed\x4a\x39\xba\xf2\x61\x34\x19\x40\xc4\xfe\xe6\x32\x1e\x22\xba\x37\xb7\x96\x52\xa1\xcd\x36\x79\x3e\x79\x86\x9a\x5d\xb5\x3c\x2f\x7d\xb6\x71\xab\x5b\x4c\xbd\xde\xd7\x64\x9f\xa5\x20\x67\x24\x8f\xb2\x8c\x6e\xbc\x0a\x92\x6e\xd9\x6f\x3b\x0a\x8b\x91\xd5\x1d\x67\xfe\x4b\xb2\xbd\x86\x7d\x81\x87\xfe\x13\xeb\xec\x77\x11\x5a\x72\x14\xb0\xa6\x38\x02\x7d\x96\xb6\xa2\xaa\x5f\xa4\x49\xbb\x3a\x7b\xa3\xa9\x48\x41\x72\xb6\x75\x96\xbb\xc8\x7f\x6d\x44\x1b\x21\xde\xa0\xa2\x87\x84\x68\x51\x5f\x75\x18\x0e\xf5\xe6\xba\x7f\x28\xc3\xcd\x9d\xc9\x74\xf4\xd1\x6c\xf7\xf5\x7f\x3a\x74\x47\x21\x93\xd2\xa5\x26\x23\xf3\x3b\x52\x46\x83\x1d\x74\xb6\x48\xa6\x5d\xbb\x89\xdb\xef\x47\x1f\x9c\xbe\x85\x47\xd6\xfb\x91\xf7\xcd\x1b\xdb\x9f\x3f\x76\xf7\xc7\xfe\x17\x77\x08\x7c\xd7\x9e\x83\x73\xf0\x33\x00\x00\xff\xff\xa6\x15\x6c\x77\x0a\x07\x00\x00"
 
 func privateforwarderSetup_and_create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -282,11 +282,11 @@ func privateforwarderSetup_and_create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/setup_and_create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf0, 0x8, 0x6, 0xa0, 0xee, 0x62, 0x7e, 0x1f, 0xc8, 0xb4, 0xf4, 0xe4, 0xf0, 0x3c, 0x15, 0xd2, 0x12, 0xf6, 0xcc, 0x38, 0x19, 0x38, 0x62, 0x89, 0x46, 0xc1, 0x4e, 0x16, 0xb, 0xb4, 0xcd, 0x7}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x8c, 0x82, 0x7c, 0xd4, 0xe2, 0xcc, 0x1, 0xe4, 0xee, 0x59, 0x2d, 0xa9, 0xfb, 0xf0, 0x5d, 0xd0, 0x99, 0x94, 0x91, 0xbb, 0xb3, 0x7, 0xe2, 0xa2, 0x1e, 0x95, 0xf7, 0xdf, 0xc7, 0x1f, 0x51}}
 	return a, nil
 }
 
-var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6f\xda\x4e\x10\xc5\xcf\xec\xa7\x78\xe1\x90\x3f\x48\xff\x9a\x4b\xd5\x83\x95\x36\x42\x55\xe9\xa9\x52\x94\xa4\xbd\x54\x3d\x2c\xf6\xd8\x5e\xc5\xec\x5a\xb3\x63\x20\x8a\xf8\xee\x95\xbd\x8b\x65\x4a\x11\x97\x9e\x40\xb3\x6f\xde\xbe\xdf\xcc\xda\x6c\x1a\xc7\x82\x55\x6b\x4b\xb3\xae\xe9\xd9\xbd\x90\x45\xc1\x6e\x83\xe9\x49\x6d\xaa\xa2\xf2\xcb\x5e\x6f\x9a\x53\xe1\xb8\x34\xe8\x1e\xd8\x6c\xb5\xd0\x23\x65\x64\xb6\xc4\x2b\xc7\x3b\xcd\x39\x71\xec\xb9\x74\x3c\x55\x6a\xb1\x58\xe0\xb9\x32\x1e\xc2\xda\x7a\x9d\x89\x71\x36\xfc\x2f\x88\x3d\xc4\x61\xa3\xed\x2b\x74\x9e\x33\x79\x4f\x1e\x52\xb1\x6b\xcb\x0a\x52\x91\x61\x34\xc1\x19\x1c\xad\xbd\x52\x23\xa3\x59\x6c\x5b\x6e\x5c\x6b\xe5\x9b\x6e\x52\xbc\x2d\x43\x29\xc5\xf7\x95\xd9\x7f\x78\x7f\x98\xe3\x4d\x29\x00\xe8\x83\x10\x7e\xe8\xb6\x16\x30\x79\xd7\x72\x46\x90\x4a\x0b\x2a\x57\xe7\xdd\xcd\x04\xe9\xb0\x7d\xa8\x6a\x26\xac\xc9\xd8\x72\xc8\xcb\x94\xf7\x56\x35\x09\xb6\x9d\xcf\x23\x15\x29\x6e\xc7\x23\x4b\x7a\x7f\x35\xc8\x22\x40\x1c\x89\xb1\xe5\x13\xd9\x9c\x38\xc5\xed\xa5\xa1\x25\x41\x11\x2c\x1a\xa6\x46\x33\xcd\xbc\x29\x6d\xd7\xb5\x6c\xa5\x5a\x66\x59\x87\x3b\x80\x45\xb8\xaf\x24\xd0\x60\x2a\x88\xc9\x76\x64\xae\x27\x0a\x9d\xff\x79\x78\x71\x4c\x79\xc8\x3d\xf4\x79\xaa\x8b\xe4\x88\x82\x8f\x51\x9d\xac\x1d\xb3\xdb\xdd\xfd\x85\xec\xd3\xac\x5b\x79\x8a\xf3\x93\x27\x71\xac\x4b\x7a\xd0\x52\xcd\xd5\x64\x32\xb9\xbf\x47\xa3\xad\xc9\x66\xd3\xcf\xae\xad\x73\x58\x27\x08\xbe\xe7\x21\xdd\x2e\x64\xec\x8d\x6e\xa6\x73\x75\x1a\xf0\xc2\x10\xcf\xf3\x5e\x99\xe9\x31\xfc\x15\xd9\xbf\x27\x39\x84\x1f\xda\x53\xd6\x0a\x8d\x17\x57\x38\x3e\x3e\x7e\x18\x8b\x3f\x1f\x74\xf2\x42\xaf\x7e\xac\xbf\x36\x93\xc4\x93\xcd\x23\x5f\xbf\x1c\x7f\xfc\x48\xfe\x8f\x8f\x3b\xc5\xdd\xbb\x93\xb5\x27\x3b\x23\x55\xce\x7a\x37\xd3\xfd\xb5\xe9\x59\x8a\x9f\xb1\xf0\xeb\x66\x3e\x5a\xcd\x21\xa2\x1d\xd4\xef\x00\x00\x00\xff\xff\x92\x7f\xff\x83\x78\x04\x00\x00"
+var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6b\xdb\x40\x10\x85\xcf\xd9\x5f\xf1\xe2\x43\x2a\x43\x2b\x5f\x4a\x0f\x22\x6d\x30\xa5\xee\xa9\x10\x92\xb4\x3d\x94\x1e\xd6\xd2\x48\x5a\x22\xef\x8a\xd9\x91\xed\x10\xfc\xdf\x8b\xb4\x6b\x23\xd7\x18\x43\xe9\x49\x62\x76\xe6\xed\x7c\x6f\x76\xcc\xaa\x75\x2c\x58\x74\xb6\x32\xcb\x86\x9e\xdc\x33\x59\x94\xec\x56\x98\x1c\xc5\x26\x2a\x66\x7e\xd9\xea\x55\x7b\x9c\x38\x0e\x1d\xf2\xee\xd9\xac\xb5\xd0\x03\xe5\x64\xd6\xc4\x0b\xc7\x1b\xcd\x05\x71\xac\x39\x77\x3c\x51\x6a\x36\x9b\xe1\xa9\x36\x1e\xc2\xda\x7a\x9d\x8b\x71\x36\xfc\x97\xc4\x1e\xe2\xb0\xd2\xf6\x05\xba\x28\x98\xbc\x27\x0f\xa9\xd9\x75\x55\x0d\xa9\xc9\x30\xda\xa0\x0c\x8e\xd2\x5e\xa9\x91\x50\x12\xcb\xe6\x2b\xd7\x59\xf9\xa6\xdb\x0c\xaf\xf3\x10\xca\xf0\x7d\x61\xb6\x1f\xde\xef\xa6\x78\x55\x0a\x00\x86\x46\x08\x3f\x74\xd7\x08\x98\xbc\xeb\x38\x27\x48\xad\x05\xb5\x6b\x8a\xfe\x66\x82\xf4\xd8\x3e\x44\x35\x13\x96\x64\x6c\x75\xe8\x97\xa9\x18\xa4\x1a\x12\xac\x7b\x9d\x07\x2a\x33\xe8\x4e\xea\xe4\xc8\xdf\xf4\xa7\x91\xba\x60\xbd\xd1\xcb\x86\xa6\xb8\x19\x7b\x9a\x0e\x0d\xa8\x83\x4e\x24\x8c\x9e\x19\x5b\x3d\x92\x2d\x88\x33\xdc\x9c\x73\x35\x0d\x19\x41\xa2\x65\x6a\x35\x53\xe2\x4d\x65\xfb\xaa\x79\x27\xf5\x3c\xcf\x7b\x3f\x0e\xe4\x91\xfe\x2b\x09\x34\x98\x4a\x62\xb2\x3d\xba\x1b\x90\x43\xe5\x1b\x0f\x2f\x8e\xa9\x08\x60\x87\x3a\x4f\x4d\x99\xee\x59\xf1\x31\x66\xa7\x4b\xc7\xec\x36\xb7\xff\x82\xfe\x29\xe9\x1f\x4d\x86\xd3\x93\x47\x71\xac\x2b\xba\xd7\x52\x4f\xd5\xd5\xd5\xd5\xdd\x1d\x5a\x6d\x4d\x9e\x4c\x3e\xbb\xae\x29\x60\x9d\x20\x5c\x7c\x4a\xe1\x36\x01\x62\x10\xba\x9e\x4c\xd5\x31\xc1\x19\x97\x4f\x80\x2e\x99\xbe\x6f\xfe\x42\xda\xff\x27\xd9\x85\x0f\x6d\x29\xef\x84\xc6\x93\x2d\x1d\xef\xd7\x07\xc6\xe2\xef\x95\x48\x9f\xe9\xc5\x8f\xf3\x2f\x79\x92\x7a\xb2\x45\xe4\x1b\x86\xe3\xf7\x6b\xf6\x36\xae\x47\x86\xdb\x77\x47\xef\x22\xdd\xc4\xa1\x27\x7a\xb8\x36\x3b\xe9\xe2\x57\x0c\xfc\xbe\x9e\x8e\x46\xb3\x8b\x68\x3b\xf5\x27\x00\x00\xff\xff\x54\xc5\x91\xa8\xba\x04\x00\x00"
 
 func privateforwarderTransfer_private_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -302,11 +302,11 @@ func privateforwarderTransfer_private_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/transfer_private_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x55, 0x3f, 0x3f, 0x6a, 0x6c, 0x28, 0x39, 0x37, 0x44, 0xea, 0xf7, 0x2c, 0xaa, 0x34, 0xb6, 0x13, 0x4b, 0x70, 0xab, 0x38, 0x36, 0x94, 0xe7, 0xdd, 0xd6, 0xf6, 0x84, 0x5, 0x69, 0xc, 0x1d, 0xc0}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x2, 0x1, 0x88, 0x2d, 0xc9, 0x4b, 0x75, 0xcf, 0xdf, 0x35, 0xdf, 0x90, 0x78, 0xfc, 0xba, 0xdd, 0xa, 0xa8, 0x58, 0x4f, 0x23, 0x6a, 0x71, 0xcb, 0xa3, 0x49, 0xea, 0xc2, 0x93, 0xe2, 0xb4}}
 	return a, nil
 }
 
-var _safe_generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x95\xc1\x6e\xe3\x36\x10\x86\xcf\xf1\x53\xcc\xfa\xb0\x2b\x01\x5e\xe5\x52\xf4\x60\x24\x4d\xdd\x00\xe9\xa1\x87\x06\x89\xdb\x3b\x2d\x8e\x24\x36\x34\x29\x70\x46\x56\x0c\xc3\xef\x5e\x90\x94\x68\x2b\x4e\xda\xec\xc9\xf4\x98\x9c\xff\x9b\x9f\x33\xb4\xda\xb6\xd6\x31\x3c\x74\xa6\x56\x1b\x8d\x6b\xfb\x82\x06\x2a\x67\xb7\x30\x9f\xc4\xe6\xb3\xd9\xf5\xf5\x35\xdc\x0b\x03\xad\x20\x02\x65\x40\x98\x3d\x10\x5b\x27\x6a\x84\x56\x70\x03\xc2\x48\x70\x58\xa2\xda\xa1\x8b\x11\x65\x88\x51\x48\xb0\x15\xfc\xd3\x11\x03\x37\x08\x12\x2b\xd1\x69\x2e\x42\xbe\x75\xa3\x08\x34\x32\xc1\xde\x76\x50\x36\xd6\x12\x86\x5d\x1c\x40\x7c\xb0\x17\x86\x81\x2d\x10\x1a\x09\x82\xa0\x47\xad\xc3\x96\x52\xb4\x62\xa3\xb4\xe2\xfd\xe5\x3e\xe5\x97\x41\x22\xc8\xac\xcc\x7e\xc8\x18\xb0\x4a\x61\x60\x83\xa1\x10\x0c\x39\x85\x01\xe1\xea\x6e\x8b\x86\xa1\x41\x87\x0b\x20\x0b\xbd\xd0\x81\x8c\x1a\xdb\x69\x19\xf2\xc4\x25\x94\x0d\x96\x2f\xa7\x13\x3b\xa1\x3b\x24\xaf\xbd\x15\x2f\x08\xd4\xb9\x58\x83\x32\x8c\x46\xa2\x3c\x97\x56\x34\xca\x2a\x13\xf0\xd8\x09\x43\xa2\x64\x65\x4d\x26\xb6\xb6\x33\xbc\x84\xbf\x1e\xd4\xeb\xcf\x3f\x2d\x80\xed\x12\x56\x52\x3a\x24\x5a\x84\xba\xd0\x3d\x0a\x6e\x96\xf0\x1c\x6d\xf7\x5f\x16\xc9\xf2\xf8\xd3\x63\xb7\xd1\xaa\xf4\xeb\x1c\x0e\xb3\x19\x00\x40\xf0\x19\xe1\x6f\x6f\x3b\x38\x24\xdb\xb9\xd2\x13\x0a\x86\xc6\x6a\x49\x27\xc3\x29\x46\x85\x43\xd8\xa0\x32\x35\x04\xba\x0a\x9d\x43\x19\x52\x69\x64\x60\xdc\xb6\x21\xd7\x12\x7e\x9d\xf4\x48\x11\xa2\x49\xf3\x37\xeb\x9c\xed\x7d\xf9\x58\xa1\x43\x53\xe2\x88\x3a\x8a\xa9\x6a\x88\x78\x29\x51\x96\xbe\x7a\x90\x16\xc9\x7c\x63\xa0\xae\x0d\xad\xe9\xe1\x7c\xed\x01\xc7\x9f\x4b\x20\xd1\x91\xa7\xa1\xfc\x27\xac\x96\xf0\xf5\x10\x49\xc6\xe0\x31\xd2\xb4\x0e\x5b\xe1\x30\x23\x55\x1b\x74\x4b\x58\x75\xdc\xac\xa2\x5e\x72\x69\xa0\xfe\x1d\x19\x04\xb8\x84\xcc\x36\x12\x84\x93\xdf\x28\x74\x3c\x4a\xd8\x85\x52\xc7\x73\x9e\x26\x44\x9e\xb0\x82\xdb\x61\x73\xb1\x09\x06\xdc\x7c\x3d\x4c\x5d\x7a\x74\x76\xa7\x24\xba\xe3\x2f\x99\x1f\xb4\xe5\xd9\xcd\xe6\xb3\xab\xab\xab\xbb\x3b\x68\x85\x51\x65\x36\xbf\x0f\xdd\x66\x2c\x43\x4c\x75\x89\x65\xfb\x48\x15\x9c\xff\x32\xcf\x13\x51\x5a\x10\xea\xaa\xb8\x70\xea\x7f\x21\x93\x81\x3f\x0e\xf9\x51\xa6\x4f\xd0\x4f\xa9\x53\xa3\xc1\xcd\xf7\x64\x6f\xd1\x2b\x6e\xa4\x13\x7d\x9a\x96\xf8\x19\x4b\x1f\xee\x1b\x5f\xb1\xec\x18\xe1\x30\xb9\x21\x37\xa9\xbf\x46\x1e\x5a\x20\x63\x9b\x17\x35\xf2\x7d\x7a\x50\xfe\xcb\x8e\xf3\x71\xcb\x07\xfb\xb2\xfc\xcb\x44\x69\xe8\x5d\x94\x01\x7f\xbd\x6f\x91\xe0\xf6\x5c\xdf\xcb\x3d\x5f\x6e\xca\xf2\xf3\x56\xfc\xd3\xe8\x7d\x9a\xc0\x71\x66\xfa\x06\x4d\x30\x2f\xbd\xb4\x8a\xa0\x57\x5a\xc7\xf9\x38\x8d\x98\x9f\x69\xe1\x6a\x64\x94\xf0\xb0\x2e\x52\x62\x55\xbd\x87\x57\x94\xd6\xb0\x50\x86\xfe\xc0\x7d\x36\x75\xdf\xb3\xfa\x3d\x59\x9e\x9f\x19\x3a\x3e\x2c\x6f\xf0\xc2\x5f\xc7\x87\x03\x33\x5e\x7c\x62\x3f\xbd\xe1\x93\xc4\xe7\x4e\x49\x6c\x2d\x29\x1e\xda\xf0\xe6\xfb\x14\xee\x64\xd8\x11\x50\x13\xbe\x21\x7c\xbf\xfb\x3f\x9f\x73\x68\xaa\xe3\xbf\x01\x00\x00\xff\xff\x4c\xf3\x0f\xb7\x27\x07\x00\x00"
+var _safe_generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x95\xc1\x6e\xe3\x36\x10\x86\xcf\xf1\x53\xcc\xfa\xb0\x2b\x01\x5e\xe5\x52\xf4\x60\x24\x4d\xdd\x00\xe9\xa1\x87\x06\x89\xdb\x9e\xc7\xe2\x48\x62\x43\x93\x02\x39\xb2\x62\x18\x7e\xf7\x82\xa4\x44\x5b\x71\x52\x64\x4f\x61\x46\xe4\xfc\xdf\xfc\x9c\xa1\xe5\xb6\x35\x96\xe1\xa1\xd3\xb5\xdc\x28\x5a\x9b\x17\xd2\x50\x59\xb3\x85\xf9\x24\x36\x9f\xcd\xae\xaf\xaf\xe1\x1e\x35\xb4\xe8\x1c\x48\x0d\xa8\xf7\xe0\xd8\x58\xac\x09\x5a\xe4\x06\x50\x0b\xb0\x54\x92\xdc\x91\x8d\x11\xa9\x1d\x13\x0a\x30\x15\xfc\xdb\x39\x06\x6e\x08\x04\x55\xd8\x29\x2e\x42\xbe\x75\x23\x1d\x28\x62\x07\x7b\xd3\x41\xd9\x18\xe3\x28\xec\xe2\x00\xe2\x83\x3d\x6a\x06\x36\xe0\x48\x0b\x40\x07\x3d\x29\x15\xb6\x94\xd8\xe2\x46\x2a\xc9\xfb\xcb\x7d\xd2\x2f\x83\x44\x90\x59\xe9\xfd\x90\x31\x60\x95\xa8\x61\x43\xa1\x10\x0a\x39\x51\x03\xda\xba\xdb\x92\x66\x68\xc8\xd2\x02\x9c\x81\x1e\x55\x20\x73\x8d\xe9\x94\x08\x79\xe2\x12\xca\x86\xca\x97\xd3\x89\x1d\xaa\x8e\x9c\xd7\xde\xe2\x0b\x81\xeb\x6c\xac\x41\x6a\x26\x2d\x48\x9c\x4b\x4b\x37\xca\x4a\x1d\xf0\xd8\xa2\x76\x58\xb2\x34\x3a\xc3\xad\xe9\x34\x2f\xe1\xaf\x07\xf9\xfa\xf3\x4f\x0b\x60\xb3\x84\x95\x10\x96\x9c\x5b\x84\xba\xc8\x3e\x22\x37\x4b\x78\x8e\xb6\xfb\x7f\x16\xc9\xf2\xf8\xe9\xb1\xdb\x28\x59\xfa\x75\x0e\x87\xd9\x0c\x00\x20\xf8\x4c\xf0\xb7\xb7\x1d\x2c\x39\xd3\xd9\xd2\x13\x22\x43\x63\x94\x70\x27\xc3\x5d\x8c\xa2\x25\xd8\x90\xd4\x35\x04\xba\x8a\xac\x25\x11\x52\x29\x62\x60\xda\xb6\x21\xd7\x12\x7e\x9d\xf4\x48\x11\xa2\x49\xf3\x37\x63\xad\xe9\x7d\xf9\x54\x91\x25\x5d\xd2\x88\x3a\x8a\xc9\x6a\x88\x78\x29\x2c\x4b\x5f\x3d\x08\x43\x4e\x7f\x63\x70\x5d\x1b\x5a\xd3\xc3\xf9\xda\x03\x8e\x3f\x97\x40\xa2\x23\x4f\x43\xf9\x4f\x54\x2d\xe1\xeb\x21\x92\x8c\xc1\x63\xa4\x69\x2d\xb5\x68\x29\x73\xb2\xd6\x64\x97\xb0\xea\xb8\x59\x45\xbd\xe4\xd2\x40\xfd\x3b\x31\x20\xd8\x84\xcc\x26\x12\x84\x93\xdf\x5c\xe8\x78\x12\xb0\x0b\xa5\x8e\xe7\x3c\x4d\x88\x3c\x51\x05\xb7\xc3\xe6\x62\x13\x0c\xb8\xc1\x8e\x9b\x6c\x6a\xd4\x3f\x92\x1b\x61\xb1\xc7\x8d\xa2\x1c\xbe\x1e\xa6\x5f\x1f\xad\xd9\x49\x41\xf6\xf8\x4b\xe6\x27\x71\x79\x76\xf5\xf9\xec\xea\xea\xea\xee\x0e\x5a\xd4\xb2\xcc\xe6\xf7\xa1\x1d\xb5\x61\x88\x5a\x97\xdc\xa6\x8f\xd8\xe1\x6a\xbe\xcc\xf3\x84\x9c\x16\x8e\x54\x55\x5c\x58\x79\x51\xc5\x5b\xc8\xe4\xf0\x8f\x43\x7e\x94\xe9\x13\xf4\x53\xea\xd4\x89\x70\xf3\x3d\xf9\x5f\xf4\x83\xb9\x69\x9c\xe2\xdf\x58\xfa\xd0\x10\xf4\x4a\x65\xc7\x04\x87\xc9\x15\xda\x49\xfd\x35\xf1\xd0\x23\x19\x9b\xbc\xa8\x89\xef\xd3\x8b\xf3\x7f\x76\x9c\xcf\x63\x3e\xd8\x97\xe5\x5f\x26\x4a\x43\x73\x93\x08\xf8\xeb\x7d\x4b\x0e\x6e\xcf\xf5\xbd\xdc\xf3\xe5\xa6\x2c\x3f\xef\xd5\x3f\xb5\xda\xa7\x11\x1d\x87\xaa\x6f\x48\x07\xf3\xd2\x53\x2c\x1d\xf4\x52\xa9\x38\x40\xa7\x19\xf4\x43\x8f\xb6\x26\x26\x01\x0f\xeb\x22\x25\x96\xd5\x7b\x78\x45\x69\x34\xa3\xd4\xee\x0f\xda\x67\x53\xf7\x3d\xab\xdf\x93\xe5\xf9\x99\xa1\xe3\xcb\xf3\x06\x2f\xfc\xb6\x7c\x38\x51\xe3\xc5\x27\xf6\xd3\x23\x3f\x49\x7c\xee\x94\xa0\xd6\x38\xc9\x43\x1b\xde\x7c\x9f\xc2\x9d\x0c\x3b\x02\x29\x47\x6f\x08\xdf\xef\xfe\xcf\xe7\x1c\x9a\xea\xf8\x5f\x00\x00\x00\xff\xff\x5f\x5e\x68\x9b\x48\x07\x00\x00"
 
 func safe_generic_transferCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -322,11 +322,11 @@ func safe_generic_transferCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "safe_generic_transfer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe7, 0x43, 0xff, 0xd2, 0xb1, 0x4c, 0xd0, 0x65, 0x16, 0x78, 0xc7, 0x6a, 0xb1, 0x54, 0x83, 0x87, 0x59, 0x2d, 0x90, 0x42, 0x4e, 0x45, 0xd4, 0x4d, 0x2b, 0x54, 0xf2, 0x49, 0x52, 0x91, 0x7, 0x14}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc4, 0x6d, 0x61, 0x93, 0x3b, 0x93, 0x4b, 0x3, 0xaf, 0x69, 0x52, 0x75, 0xa0, 0xd9, 0x7b, 0xd6, 0xc0, 0x48, 0x4, 0x5c, 0x4, 0x41, 0x33, 0xa6, 0x25, 0xd3, 0x5d, 0x42, 0x52, 0x70, 0xb, 0x2}}
 	return a, nil
 }
 
-var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x91\x3f\x6f\xc2\x30\x10\xc5\x77\x7f\x8a\xa7\x0c\x6d\x58\x92\xa5\xea\x80\x4a\x11\x45\x65\x46\x15\xed\x7e\x49\x2e\x60\xd5\xb1\x23\xe7\xdc\x52\x21\xbe\x7b\x05\xc6\x94\xa8\x9e\xce\x77\xbf\xf7\x74\x7f\xca\x12\x9b\x9d\x1e\x30\xd4\x5e\xf7\x02\xcf\xd4\x0c\x90\x1d\xa3\x22\x43\xb6\x66\xb4\x9a\x4d\xa3\xca\x12\xae\x05\x59\x50\x5d\xbb\x60\xe5\x7e\xc0\xeb\x9e\xba\xde\xf0\xc6\x7d\xb2\xc5\x4b\xa4\x95\xd2\x5d\xef\xbc\x60\x15\xec\x56\x57\xa9\xda\x7a\xd7\x21\x1b\xe5\xb2\x44\x8e\x6c\x22\x78\x9b\xca\x94\xea\x43\x85\x36\x58\x74\xa4\x6d\x4e\x4d\xe3\x79\x18\xa6\x58\xc4\x60\x32\xc5\xfb\x4a\xef\x1f\x1f\x70\x50\x00\x60\x58\x52\x8f\x98\x61\xcb\xb2\x88\x9f\x24\x9c\x5c\xa9\x2f\x0a\x46\xde\xb8\xc5\x2c\x09\x8a\x2d\xcb\x92\x7a\xaa\xb4\xd1\xf2\x93\xdf\xb6\x51\x7c\x9c\xe8\x75\xa8\x8c\xae\xd7\x24\xbb\x68\x73\x7a\x45\xe5\xbc\x77\xdf\x4f\x77\xff\xf1\xc3\x68\xe2\xe2\xb2\xa3\xe3\x73\xfe\xa7\x9e\xcf\xd1\x93\xd5\x75\x9e\x2d\x5d\x30\x0d\xac\x13\x44\xc3\xb4\x52\x78\x6e\xd9\xf3\x29\x12\x77\xbe\xcc\xd9\x3b\x9b\xa8\xb3\x89\x67\x09\xde\x5e\x87\x29\x2e\x67\x53\x47\xf5\x1b\x00\x00\xff\xff\x86\x1f\x84\xe5\xda\x01\x00\x00"
+var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x91\xc1\x6e\xf2\x30\x10\x84\xef\x7e\x8a\x51\x0e\xff\x9f\x5c\x92\x4b\xd5\x03\x2a\x45\x14\x95\x33\xaa\x68\xef\x1b\x67\x03\x56\x1d\x3b\xb2\xd7\x2d\x15\xe2\xdd\xab\x10\x42\x21\xa7\xcd\x78\x66\xfc\xd9\xae\x2a\x6c\xf7\x26\x22\xea\x60\x7a\x41\x60\x6a\x22\x64\xcf\xa8\xc9\x92\xd3\x8c\xd6\xb0\x6d\x54\x55\xc1\xb7\x20\x07\xd2\xda\x27\x27\xff\x23\x5e\x0f\xd4\xf5\x96\xb7\xfe\x93\x1d\x5e\x46\xb7\x52\xa6\xeb\x7d\x10\xac\x93\xdb\x99\x7a\x5a\x6d\x83\xef\x90\xdd\x69\xd9\xe4\xbc\xab\x19\x8d\xb7\x52\xa6\x14\x69\xcd\x31\xe6\x64\x6d\x81\x36\x39\x74\x64\x5c\x4e\x4d\x13\x38\xc6\x19\x96\xe3\x50\xcc\xf0\xbe\x36\x87\xc7\x07\x1c\x15\x00\x58\x96\x89\x15\x73\xec\x58\x96\xe3\xcf\x14\x2c\xae\xae\x2f\x4a\x56\xde\xb8\xc5\x7c\x0a\x94\x3b\x96\x15\xf5\x54\x1b\x6b\xe4\xe7\xe9\xdf\xf1\x8e\xbc\xbc\x9c\xf5\xf4\x9c\xdf\x82\x96\x1f\x43\xcf\x26\xd5\xd6\xe8\x0d\xc9\x7e\xdc\x60\xf8\xca\xda\x87\xe0\xbf\xf3\x3f\x65\xb1\x40\x4f\xce\xe8\x3c\x5b\xf9\x64\x1b\x38\x2f\x18\x4d\xd3\x45\x22\x70\xcb\x81\x87\x49\xfc\xf9\x3d\xce\xf5\x59\xa1\xce\x25\x81\x25\x05\x77\x45\x1f\x80\x2f\xc1\xbc\x50\x27\xf5\x1b\x00\x00\xff\xff\xe3\x1d\xb9\xf4\xd5\x01\x00\x00"
 
 func scriptsGet_balanceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -342,11 +342,11 @@ func scriptsGet_balanceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_balance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x57, 0xbd, 0xcd, 0x3e, 0x2e, 0x5b, 0x5, 0xd, 0x3d, 0x3d, 0xdd, 0x7e, 0x9, 0x75, 0x67, 0x29, 0xcd, 0x32, 0x13, 0x3c, 0x9, 0xd4, 0x3b, 0x68, 0xa6, 0x10, 0x15, 0xd, 0x15, 0x67, 0x95}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0x21, 0xc8, 0x28, 0xfd, 0x65, 0xa1, 0x59, 0xda, 0x9d, 0xb0, 0xd1, 0x76, 0x3d, 0x80, 0xce, 0xaf, 0x56, 0x60, 0x75, 0xf7, 0x46, 0x7b, 0x8a, 0x53, 0xf5, 0x31, 0x86, 0xf, 0x8c, 0xb6, 0x15}}
 	return a, nil
 }
 
-var _scriptsGet_supplyCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\xce\x31\xae\xc2\x30\x10\x04\xd0\x7e\x4f\x31\x4a\xf5\x7f\x83\x1b\x44\x41\x0f\x17\x20\x1c\xc0\x24\xb6\x62\x61\x7b\x57\xeb\xb5\x14\x84\xb8\x3b\x52\x2a\xd2\xce\x8c\x46\xcf\x39\x8c\x4b\x6a\x68\x93\x26\x31\x68\xf0\x73\x83\x2d\x01\xc6\xe6\x33\x5a\x17\xc9\x2f\xc4\x14\xf2\x4c\xce\x81\xe3\x56\x5e\x56\x5f\x24\x87\x91\x9f\xa1\xa2\x15\xaf\x86\x89\xab\xa9\x9f\x8c\x28\x15\x61\xb5\xfd\x26\x2a\x17\x0c\xbf\xd1\x40\x24\xfd\x81\xd8\x2b\x8a\x4f\xf5\xef\xff\x8c\xfb\x35\xad\xa7\x23\xde\x04\x00\x1a\xac\x6b\xdd\xbd\x1c\x36\xd3\x6d\x23\xd1\x87\xbe\x01\x00\x00\xff\xff\x06\xc5\x37\x4e\xbb\x00\x00\x00"
+var _scriptsGet_supplyCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\xce\x3d\xaa\xc3\x30\x10\x04\xe0\x7e\x4f\x31\xb8\xb2\x9b\xa7\xe6\xf1\x8a\xd7\x27\x17\x88\x73\x80\x45\x96\xb0\x88\xfe\xd8\x5d\x83\x43\xc8\xdd\x03\xae\xe2\x76\x66\x18\x3e\xe7\x30\xaf\x49\xa1\x5e\x52\x37\x48\xe0\x45\x61\x6b\x80\x35\xe3\x0c\xdd\x7a\xcf\x4f\xc4\x14\xf2\x42\xce\xa1\xc5\xa3\xbc\xec\x5c\x7a\x0e\x73\x7b\x84\x0a\x2d\x2c\x06\xdf\xaa\x09\x7b\x23\x4a\xa5\x37\xb1\xf3\x26\x4a\x2b\x18\xbe\xa3\x81\x88\xbd\x0f\xaa\x23\xe7\x3c\x21\x6e\x15\x85\x53\x1d\xa7\x7f\xdc\xaf\x69\xff\xfb\xc5\x8b\x00\x40\x82\x6d\x52\x4f\x6f\x3f\x87\xed\x76\xd0\xe8\x4d\x9f\x00\x00\x00\xff\xff\x8f\xf7\xbd\x87\xc3\x00\x00\x00"
 
 func scriptsGet_supplyCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -362,11 +362,11 @@ func scriptsGet_supplyCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_supply.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbc, 0x3d, 0xd7, 0x2a, 0x1b, 0x2a, 0xd5, 0xeb, 0x39, 0x29, 0x29, 0x35, 0x13, 0xe0, 0x15, 0x56, 0xe1, 0x9c, 0xfa, 0x75, 0x51, 0x75, 0x93, 0x6b, 0x36, 0xd0, 0x9c, 0x42, 0xcf, 0xfc, 0x87, 0x98}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0xd5, 0xf3, 0x75, 0xbf, 0xc, 0x80, 0x25, 0xb3, 0x59, 0x1, 0x8c, 0xc6, 0x48, 0xfe, 0x86, 0xbb, 0x9, 0x17, 0xd, 0xcc, 0x8c, 0x6a, 0xbd, 0x42, 0x10, 0xf, 0x68, 0x44, 0x60, 0xad, 0x57}}
 	return a, nil
 }
 
-var _scriptsGet_supported_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x53\x4f\x6b\xdb\x4e\x10\xbd\xeb\x53\x3c\x7c\xf8\x45\x82\x1f\xf2\xdd\xb4\x0d\x69\xa1\xf4\x18\x92\xb4\x67\xad\x56\x23\xef\x92\x95\x46\xcc\x8e\x22\x8c\xf1\x77\x2f\x2b\xd9\x8d\x65\x12\x9f\xcc\x68\xde\x9f\x7d\x33\xe3\xbb\x81\x45\xf1\x73\xec\xf7\xbe\x0e\xf4\xc2\xaf\xd4\xa3\x15\xee\xb0\x59\xd5\x36\x59\xb6\xdd\x6e\xf1\xe2\x7c\x44\xb4\xe2\x07\x8d\x10\xd2\x51\xfa\x08\x75\x84\x38\x0e\x89\x88\x9a\x35\xd5\x5d\x84\x1e\x06\x42\x7d\x98\xbb\x06\xe1\x37\xdf\x50\x83\x4a\x8d\xec\x49\x2b\x98\xa6\x11\x8a\xb1\x9c\xd9\x6f\xab\x88\x8e\xc7\xd0\xc0\x71\x68\x66\xbc\x35\x83\xa9\x7d\xf0\x7a\xc0\xe4\xbc\x75\xb0\xdc\xb7\x2c\x5d\xc4\xe4\xd5\xad\xa5\xcb\x27\xb2\xe4\xdf\x48\x20\x14\x55\xbc\x4d\xe6\x92\x99\x59\x6a\x72\x3e\x10\xbc\xa2\x61\x8a\xfd\x9d\xa2\x33\xaa\x24\x98\x1c\xa9\x23\xb9\x56\x12\x6a\x49\x22\x94\xd1\x9e\xf9\xa1\x73\x4c\x2c\x30\xb0\x63\x54\xee\x20\x17\xb1\xe0\x5f\x09\xcb\x6b\x56\x76\x9e\x27\xaf\xd6\xd5\x6c\xa4\xa9\x12\xb2\x9a\xab\x17\x8f\x55\x89\x5f\x3c\x51\x22\x38\x87\xf0\x68\xd4\x55\x50\x0a\x21\x26\x53\x42\xb7\x01\x44\x65\xa1\x98\x0d\x63\x9d\x7c\xa1\x33\xbe\xcf\x17\xe8\x0e\x0f\x4b\x7e\xff\xe3\x9d\x6b\x87\xc7\xb1\x0e\xde\xa6\xff\xc5\x0e\xc7\x97\xc3\x40\x3b\x7c\x67\x0e\x27\x1c\xb3\x0c\x00\xb6\x5b\x3c\x58\x9b\x72\xbf\x91\x6a\x59\xd6\xe3\x5b\x68\x2f\x63\x9a\xc1\x81\xf4\x0a\xf2\x44\x2d\xbe\x62\x4f\xfa\x60\x2d\x8f\xbd\x9e\x9d\x15\x73\xeb\xed\xaf\xdc\x93\xfe\xf8\x07\xfd\xf2\xdf\xf1\xe3\x39\x9e\xbe\xe5\xef\xcf\xf9\x84\xa9\x66\x11\x9e\xf2\x02\x1f\x7e\xbe\xbf\xc7\x60\x7a\x6f\xf3\xcd\xef\xde\x2c\x73\xc4\x82\x58\x6d\x56\x5a\xa5\xab\x9d\x89\x63\xbd\x2c\xf1\x67\xbe\x96\x7b\x19\x8c\xba\x4d\x69\xb9\xb7\x46\xaf\x8c\x96\xca\xcf\x2a\xbe\xdf\xe7\x45\x51\x5c\x62\x7e\x9a\x2f\xe7\xe6\x70\xde\xcc\x18\x74\x56\x8a\xe5\xdc\xb8\xdc\xd7\x3a\xd5\x94\xd5\xf3\x05\xf2\x27\x21\xd2\x20\x63\x5e\x64\xa7\xbf\x01\x00\x00\xff\xff\x4f\x63\x8b\x60\xcb\x03\x00\x00"
+var _scriptsGet_supported_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x53\x4f\x8b\xdb\x3e\x10\xbd\xfb\x53\x3c\x72\xf8\xad\x0d\x3f\x9c\x7b\x68\xbb\x6c\x0b\xa5\xc7\x25\x49\x7b\xb6\x2c\x8f\x23\xb1\xb2\x65\x46\xe3\x98\x10\xf2\xdd\x8b\xe4\xa4\x1b\x87\xdd\x9c\xc2\x78\xde\x1f\xbd\x99\xb1\xdd\xe0\x59\xf0\x73\xec\x0f\xb6\x76\xb4\xf7\x6f\xd4\xa3\x65\xdf\x61\xb5\xa8\xad\xb2\x6c\xbd\x5e\x63\x6f\x6c\x40\xd0\x6c\x07\x09\x60\x92\x91\xfb\x00\x31\x84\x30\x0e\x91\x88\x9a\x25\xd5\x53\x80\x9c\x06\x42\x7d\x4a\x5d\x03\xfb\xa3\x6d\xa8\x41\x25\x8a\x0f\x24\x15\x54\xd3\x30\x85\x50\x26\xf6\xc7\x2a\x82\xf1\xa3\x6b\x60\xbc\x6b\x12\x5e\xab\x41\xd5\xd6\x59\x39\x61\x32\x56\x1b\x68\xdf\xb7\x9e\xbb\x80\xc9\x8a\x59\x4a\x97\x5b\xd2\x64\x8f\xc4\x60\x0a\xc2\x56\x47\x73\xd1\x4c\x92\x9a\x8c\x75\x04\x2b\x68\x3c\x85\xfe\x49\xd0\x29\x11\x62\x4c\x86\xc4\x10\xdf\x2b\x31\xb5\xc4\x01\xe2\xd1\x5e\xf9\x21\x29\x26\xcf\x50\xd0\x63\x10\xdf\x81\x6f\x62\xce\xbe\x11\xe6\xd7\x2c\xec\xec\x26\x2b\xda\xd4\x5e\x71\x53\x45\x64\x95\xaa\x37\x8f\x55\x89\x5f\x7e\xa2\x48\x70\x0d\xe1\x55\x89\xa9\x20\xe4\x5c\x88\xa6\x98\x1e\x03\x08\xe2\x99\x42\xa6\xb4\xa6\x10\x72\xe5\x5c\x11\xfd\xa1\x53\xb6\xcf\x67\x8a\x0d\x5e\xe6\x1c\xff\xc7\x3b\xe7\x06\xaf\x63\xed\xac\x8e\xff\x8b\x0d\xce\xfb\xd3\x40\x1b\x7c\xf7\xde\x5d\x70\xce\x32\x00\x58\xaf\xf1\x92\x58\x1f\x25\x5b\xcf\xcb\x31\xce\xb4\xb7\x71\x25\xb0\x23\xb9\x83\x6c\xa9\xc5\x57\x1c\x48\x5e\xb4\xf6\x63\x2f\x57\x67\x45\x6a\x7d\xfc\x95\x07\x92\x1f\xff\xa0\x5f\xfe\x3b\x7f\x3c\xcf\xcb\xb7\xfc\xfd\x39\x9f\x30\xd5\x9e\xd9\x4f\x79\x81\x0f\x3f\x3f\x3f\x63\x50\xbd\xd5\xf9\xea\x77\xaf\xe6\x79\x62\x46\x2c\x36\x2c\xae\xd4\xdd\xee\x84\xb1\x9e\x97\xf9\x33\x5f\xf3\xdd\x0c\x4a\xcc\xaa\xd4\xbe\xd7\x4a\xee\x8c\x96\xe2\x77\xc2\xb6\x3f\xe4\x45\x51\xdc\x62\xde\xa6\x0b\x7a\x38\xa0\xa3\x1a\x9d\x24\xa5\x50\xa6\xc6\xf9\xce\x96\xa9\xc6\xac\x76\x37\xc8\x9f\x88\x88\x83\x0c\x79\x91\x5d\xfe\x06\x00\x00\xff\xff\x68\x0a\x37\x89\xd3\x03\x00\x00"
 
 func scriptsGet_supported_vault_typesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -382,11 +382,11 @@ func scriptsGet_supported_vault_typesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_supported_vault_types.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x86, 0x41, 0x9, 0x4e, 0xa9, 0xac, 0x75, 0xc, 0x1d, 0x13, 0xf3, 0xf8, 0x1a, 0xc, 0xec, 0x9a, 0x27, 0x4f, 0x77, 0x1c, 0xd1, 0x65, 0x9f, 0x27, 0xd2, 0x91, 0x3e, 0x83, 0xa9, 0x98, 0xc2, 0xfb}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0xa7, 0x1a, 0xca, 0x78, 0x21, 0x6a, 0x9e, 0x9a, 0x54, 0x8, 0xc6, 0x88, 0x73, 0xfc, 0x67, 0x6a, 0x86, 0x23, 0x2a, 0xe7, 0xe0, 0x30, 0xcb, 0xe8, 0xba, 0x14, 0x9b, 0xf4, 0x2f, 0x40, 0x31}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x90\xc1\x6e\xf2\x30\x10\x84\xef\x7e\x8a\x51\x0e\xbf\xc2\x85\x07\x40\x3f\x45\x08\x95\x5b\x25\x84\x10\xf7\x4d\xb2\x09\x56\x1d\x3b\x72\xd6\xd0\x0a\xf1\xee\x55\x88\x13\xd2\xaa\x25\x97\xd8\xeb\xf9\x46\xb3\xa3\xeb\xc6\x79\xc1\xeb\x07\xd5\x8d\xe1\x83\x7b\x67\x8b\xd2\xbb\x1a\xc9\x74\x94\xa8\xa8\xdb\x06\x5b\xe9\x2c\x4e\xdf\x58\xa8\x20\xa1\xa3\xe6\x4b\x1b\xa9\xbf\x05\xa3\xc7\x6f\xd8\x0f\xa5\x6a\x42\x86\x32\x58\xd4\xa4\x6d\x4a\x45\xe1\xb9\x6d\x17\x58\xf7\x87\xd9\xe2\x49\x8e\xf9\xf6\xd0\xfd\x71\x55\x00\x60\x58\x40\x79\xee\x82\x15\x2c\x51\xb1\xac\xfb\xcb\xe0\x39\x53\xa3\xec\x4c\xc1\xc8\x9e\x4b\x2c\x07\xe2\xfe\xd4\x7d\xf3\x8a\x65\x43\x0d\x65\xda\x68\xf9\x4c\xa7\xcd\xcc\x8f\x1d\xb6\x0b\x99\xd1\xf9\x8e\xe4\x34\x7b\x40\x99\xf3\xde\x5d\xfe\xff\xbb\x7e\xcf\xb7\xe7\xd6\x99\x33\xfb\xdb\x4b\xfa\x10\xaf\x56\x68\xc8\xea\x3c\x4d\x36\x2e\x98\x02\xd6\x09\x7a\x1e\x04\xcf\x25\x7b\xb6\x39\x43\x1c\xe4\xc4\x7d\x54\xf8\x68\x94\x4c\x96\x28\xe5\xbe\xfc\xf2\x59\x41\x15\x4b\xdf\x51\x7a\xd6\x7c\x19\xe2\x2c\xc6\x02\xa2\x9d\x67\x09\xde\x46\x47\x75\x53\x5f\x01\x00\x00\xff\xff\xb0\x79\xad\x83\x2a\x02\x00\x00"
+var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x50\x41\x6e\xc2\x30\x10\xbc\xfb\x15\xab\x1c\x2a\xe7\x92\x07\xa0\x52\x84\x50\xb9\x55\x42\x08\x71\xdf\x38\x9b\x60\xd5\xb1\x23\x7b\x0d\xad\x10\x7f\xaf\x42\x1c\xf0\xa5\xe4\x92\xdd\xf5\xcc\x68\x66\x74\x3f\x38\xcf\xf0\xf9\x83\xfd\x60\xe8\xe0\xbe\xc9\x42\xeb\x5d\x0f\x45\x7e\x2a\x44\xc2\x6d\xa3\xed\x74\x9d\xae\x5f\xc4\xd8\x20\xe3\x51\xd3\x25\x24\xd6\xff\x80\x87\xc6\xb8\xed\x29\x38\x73\x26\x9f\x58\xf9\xa9\x10\x02\x95\xa2\x10\x24\x1a\x53\x42\x1b\x2d\xf4\xa8\xad\xc4\xa6\xf1\x14\xc2\x02\xd6\xd3\x50\x2e\x5e\xb8\xa9\xb6\x87\xf1\x0f\x57\x01\x00\x60\x88\x01\x95\x72\xd1\x32\x2c\xa1\x23\x5e\x4f\xcb\xac\x59\x8a\x07\xec\x8c\xd1\xf0\x9e\x5a\x58\xce\x8c\xfb\xd3\xf8\x55\x1d\xf1\x06\x07\xac\xb5\xd1\xfc\x2b\xf3\x7e\xaa\xe3\x48\xdb\xc5\xda\x68\xb5\x43\x3e\x95\x4f\x52\xed\xbc\x77\x97\xf7\xb7\x6b\x9e\xb1\x9a\x87\xdb\x87\x7c\x62\x57\x2b\x18\xd0\x6a\x25\x8b\x8d\x8b\xa6\x01\xeb\x18\x26\x3a\x20\x78\x6a\xc9\x93\x55\x04\xec\x80\x4f\x34\x39\x05\x3f\xb7\x96\x65\x68\xf9\x9e\x7d\xf9\xaa\x9f\x8e\x78\xaa\x48\x9e\x33\x5f\x8b\x47\xfe\x24\xe7\x89\xa3\xb7\x49\x51\xdc\xc4\x5f\x00\x00\x00\xff\xff\xc1\x67\x30\x82\x2f\x02\x00\x00"
 
 func scriptsMetadataGet_token_metadataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -402,11 +402,11 @@ func scriptsMetadataGet_token_metadataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_token_metadata.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2e, 0x89, 0xb8, 0x68, 0xb4, 0x7b, 0x3a, 0xf1, 0x23, 0xb6, 0xba, 0xd6, 0x20, 0xb4, 0xe5, 0x36, 0x8d, 0xa, 0xda, 0x17, 0xe9, 0x2, 0x38, 0x9c, 0x1b, 0x23, 0x3f, 0xf3, 0xca, 0xe2, 0x63, 0x66}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xeb, 0x4, 0x5d, 0xcc, 0x81, 0x83, 0xe1, 0x57, 0x2f, 0x6f, 0xe2, 0x42, 0xc2, 0x4c, 0x62, 0xcc, 0x6c, 0x6c, 0xb2, 0x2e, 0x80, 0x86, 0xde, 0x6b, 0xdc, 0x5c, 0xf7, 0xa5, 0x9c, 0x74, 0xfe, 0x25}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xcd\x6e\xc2\x30\x10\x84\xef\x7e\x8a\x51\x0e\x55\xb8\xf0\x00\xa8\x14\x21\x5a\x6e\x95\x10\x42\xdc\x37\xc9\x26\x58\x75\xec\xc8\x59\x43\x2b\xc4\xbb\x57\xe4\x87\xa4\x88\x92\x53\xb2\x99\x59\x7f\x33\xb2\x2e\x2b\xe7\x05\x1f\xdf\x54\x56\x86\x77\xee\x8b\x2d\x72\xef\x4a\x44\xe3\x51\xa4\x3a\xdd\x3a\xd8\x42\x27\xdd\xf4\x93\x85\x32\x12\xda\x6b\x3e\xd5\x9d\xeb\x7f\xc1\x6d\xc7\x23\xdb\x9d\x52\x55\x21\x41\x1e\x2c\x4a\xd2\x36\xa6\x2c\xf3\x5c\xd7\x33\x2c\xdb\x97\xc9\xec\x09\xc7\x74\xbd\xdb\x53\x30\xf2\x4e\x42\x38\x2b\x00\x30\x2c\xa0\x34\x75\xc1\x0a\xe6\x28\x58\x96\xed\x47\xbf\x78\xa2\x6e\xb2\xe3\xd5\xba\xe5\x1c\xf3\xde\xd1\xfc\xba\x3e\xd3\x82\x65\x45\x15\x25\xda\x68\xf9\x89\xc7\xf5\x4c\x9b\x13\x37\x21\x31\x3a\xdd\x90\x1c\x26\x83\x29\x71\xde\xbb\xd3\xeb\xcb\xf9\x2f\xe4\x96\x6b\x67\x8e\xec\x2f\x6f\xf1\x20\x5e\x2c\x50\x91\xd5\x69\x1c\xad\x5c\x30\x19\xac\x13\xb4\x7e\x10\x3c\xe7\xec\xd9\xa6\x0c\x71\x90\x03\xb7\xa8\xf0\xdd\xa2\xe8\x3e\x44\x93\x7f\xfe\xac\xa8\x82\x65\xd4\x55\xdc\x47\x7f\xc4\xd3\xde\x8b\xcc\x71\xdd\x40\xe9\x6b\xf2\x92\xad\x60\x5c\xf6\x51\xf3\xa9\xc7\xf0\x2c\xc1\xdb\x81\x44\x5d\xd4\x6f\x00\x00\x00\xff\xff\x7c\x3d\xc8\xc1\x6a\x02\x00\x00"
+var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x52\xcd\x6e\xf2\x30\x10\xbc\xfb\x29\x56\x39\x7c\x4a\x2e\x79\x00\xf4\x51\x84\x68\xb9\x55\x42\x08\x71\xdf\x38\x9b\x60\xd5\xb1\x23\x7b\x0d\xad\x10\xef\x5e\xe5\xc7\x60\x55\x2d\x3e\xed\xae\x67\xd6\x33\x23\xab\xae\xb7\x8e\xe1\xed\x13\xbb\x5e\xd3\xc1\x7e\x90\x81\xc6\xd9\x0e\xb2\x74\x94\x89\x19\xb7\x0d\xa6\x55\xd5\x3c\x7d\x27\xc6\x1a\x19\x8f\x8a\x2e\x7e\x66\xfd\x0d\xb8\xef\x18\xba\x3d\x79\xab\xcf\xe4\x66\x56\x3a\xca\x84\x40\x29\xc9\xfb\x1c\xb5\x2e\xa0\x09\x06\x3a\x54\x26\xc7\xba\x76\xe4\xfd\x02\xd6\x53\x51\x2c\x9e\xa8\x29\xb7\x87\x23\x06\xcd\xaf\xc8\x08\x57\x01\x00\xa0\x89\x01\xa5\xb4\xc1\x30\x2c\xa1\x25\x5e\x4f\x4d\x5c\x5c\x88\x3b\xec\x3c\x50\xf7\xd4\xc0\x32\x32\xc6\xab\xe1\x94\x2d\xf1\x06\x7b\xac\x94\x56\xfc\x95\xa7\x21\x95\xe3\x8b\xbb\x50\x69\x25\x77\xc8\xa7\xe2\x41\xaa\xac\x73\xf6\xf2\xff\xdf\x35\x35\x5a\xc6\xe2\xf6\x92\x3f\xb0\xab\x15\xf4\x68\x94\xcc\xb3\x8d\x0d\xba\x06\x63\x19\x26\x3a\x20\x38\x6a\xc8\x91\x91\x04\x6c\x81\x4f\x34\x29\x05\x17\xa3\xfb\xe9\x61\xb4\xbf\x7c\x96\x53\x4b\x9c\x44\x95\x47\xe7\xbf\xe9\x99\x3e\x47\x6d\xc9\x8f\xa2\xd4\x60\xbc\x23\xc3\x90\x66\x7d\x56\x74\x89\x32\x1c\x71\x70\xe6\xa1\x44\xdc\xc4\x77\x00\x00\x00\xff\xff\xdc\x42\xe6\x38\x6f\x02\x00\x00"
 
 func scriptsMetadataGet_vault_dataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -422,11 +422,11 @@ func scriptsMetadataGet_vault_dataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_data.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd1, 0x5d, 0x35, 0x37, 0x9c, 0x20, 0x9d, 0x73, 0xe, 0x3d, 0x27, 0x8c, 0xc3, 0x42, 0xe, 0xda, 0x6e, 0x97, 0xb7, 0xef, 0x97, 0xc1, 0x94, 0x44, 0x1, 0x48, 0xae, 0x3b, 0xc1, 0xc9, 0x9, 0xfd}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0xd9, 0xb2, 0xdd, 0x3e, 0x25, 0x45, 0xeb, 0xe9, 0x35, 0xac, 0xc6, 0x68, 0xff, 0x6b, 0x27, 0x94, 0xcc, 0x4f, 0xc7, 0x1f, 0xe0, 0x32, 0x85, 0x98, 0x5d, 0xe7, 0x92, 0xd9, 0x39, 0xac, 0x5c}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xc1\x6e\xc2\x30\x10\x44\xef\xf9\x8a\x51\x0e\x55\xb8\xf0\x01\xa8\x14\x21\x5a\x6e\x95\x10\x42\xdc\x37\xc9\x26\x58\x75\x6c\xcb\x5e\x43\x11\xe2\xdf\x2b\x48\x42\x68\x45\xc9\x29\x5e\xcf\xac\xde\x8c\xac\x1a\x67\xbd\xe0\xe3\x9b\x1a\xa7\x79\x63\xbf\xd8\xa0\xf2\xb6\x41\x7a\x3f\x4a\x93\x4e\xb7\x8c\xa6\x56\x79\x37\xfd\x64\xa1\x92\x84\xb6\x8a\x0f\xa1\x73\xfd\x2f\xb8\xed\x78\x64\xfb\xa3\x4c\x5c\xcc\x51\x45\x83\x86\x94\xc9\xa8\x2c\x3d\x87\x30\xc1\xbc\xfd\x19\x4d\x9e\x70\x8c\x97\x9b\x77\x15\x9c\xa6\x23\x4e\x09\x00\x68\x16\x50\x51\xd8\x68\x04\x53\xd4\x2c\xf3\xf6\xd0\xaf\x1d\x25\x37\xd9\x9e\xa2\x96\x35\x57\x98\xf6\x8e\xeb\xd5\xe5\x1b\xd7\x2c\x0b\x72\x94\x2b\xad\xe4\x98\xdd\x97\x33\xde\x5e\x6c\xab\x98\x6b\x55\xac\x48\x76\xa3\xc1\x94\x5b\xef\xed\xe1\xf5\xe5\xf4\x1b\x71\xcd\xc1\xea\x3d\xfb\xf3\x5b\x36\x88\x67\x33\x38\x32\xaa\xc8\xd2\x85\x8d\xba\x84\xb1\x82\xd6\x0f\x82\xe7\x8a\x3d\x9b\x82\x21\x16\xb2\xe3\x16\x15\xbe\x5b\x94\xde\x85\xa8\xa4\xcf\x3f\x7d\x56\x53\xcd\x72\x6b\x2a\xeb\x83\x3f\xa2\x69\xdf\x44\x69\x39\x5c\x91\xd4\x25\x77\xc3\x46\x30\x14\xbd\x57\x7c\xe8\x11\x3c\x4b\xf4\x66\xa0\x48\xce\xc9\x4f\x00\x00\x00\xff\xff\x0a\x42\x8f\xe8\x64\x02\x00\x00"
+var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x52\xc1\x6e\xea\x30\x10\xbc\xfb\x2b\x56\x39\x3c\x39\x97\x7c\x00\x7a\x14\x21\x5a\x6e\x95\x10\x42\xdc\x37\xce\x26\x58\x75\xec\xc8\x5e\x43\x11\xe2\xdf\xab\x90\x98\xe4\xd0\x92\xd3\xee\x64\x66\x35\x33\xb2\x6e\x3b\xe7\x19\x3e\xbe\xb1\xed\x0c\x1d\xdc\x17\x59\xa8\xbd\x6b\x21\x9b\x43\x99\x18\x79\xdb\x68\x1b\x5d\x8e\xe8\x27\x31\x56\xc8\x78\xd4\x74\x09\xa3\xea\x6f\xc2\xf3\x46\xbf\xed\x29\x38\x73\x26\x3f\xaa\xe6\x50\x26\x04\x2a\x45\x21\x48\x34\x26\x87\x3a\x5a\x68\x51\x5b\x89\x55\xe5\x29\x84\x05\xac\x87\x21\x5f\xbc\x70\x53\x6c\x0f\xef\x3a\x74\x06\xaf\x70\x13\x00\x00\x86\x18\x50\x29\x17\x2d\xc3\x12\x1a\xe2\xf5\xb0\xa4\xb3\xb9\x78\xd2\xce\x18\x0d\xef\xa9\x86\x65\x52\x3c\x7e\xf5\x5f\xd1\x10\x6f\xb0\xc3\x52\x1b\xcd\x57\x39\xaf\xa8\x38\xf6\xb2\x5d\x2c\x8d\x56\x3b\xe4\x53\x3e\x89\x4a\xe7\xbd\xbb\xfc\xff\x77\x9b\xc7\x2c\xd2\x70\x7f\x93\x13\x77\xb5\x82\x0e\xad\x56\x32\xdb\xb8\x68\x2a\xb0\x8e\x61\x90\x03\x82\xa7\x9a\x3c\x59\x45\xc0\x0e\xf8\x44\x83\x53\xf0\xa9\xb8\x59\x86\x9a\x53\xfc\xe5\xab\x96\x1a\xe2\x67\x51\x32\xe5\xfe\xcd\xcd\xf0\x30\x2a\x47\xe1\x61\x49\xf7\xb1\x5b\xb2\x0c\x53\xcf\x67\x4d\x97\x64\xc1\x13\x47\x6f\x27\x17\xe2\x2e\x7e\x02\x00\x00\xff\xff\x19\x3b\x78\xae\x69\x02\x00\x00"
 
 func scriptsMetadataGet_vault_displayCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -442,11 +442,11 @@ func scriptsMetadataGet_vault_displayCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_display.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2b, 0x88, 0xc5, 0xf0, 0xf3, 0x55, 0x38, 0xcc, 0xbc, 0x76, 0xcb, 0xd1, 0x4d, 0x6, 0xc7, 0x35, 0xf1, 0x9f, 0x3c, 0x68, 0x4e, 0xb0, 0x5f, 0x41, 0x46, 0x28, 0x24, 0xe0, 0x82, 0xc1, 0xe4, 0xad}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb7, 0xcd, 0xf3, 0xa8, 0x80, 0x29, 0x7f, 0x6c, 0x85, 0x8f, 0xa7, 0x7f, 0x6, 0x5a, 0x2a, 0xba, 0xcb, 0xc6, 0x1d, 0xb2, 0xb7, 0x22, 0x9b, 0x6b, 0x27, 0x67, 0xce, 0x88, 0x3e, 0x1, 0xf9, 0x34}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\x41\xef\x9a\x40\x10\xc5\xef\xfb\x29\x46\x0e\x2d\x5c\xf0\xd2\xf4\x60\x44\x63\x4c\xed\xa9\x89\xb1\xd6\xfb\x02\x83\x6e\xba\xec\x6e\x76\x67\x55\x62\xfc\xee\x0d\x2c\x02\x6d\xea\x9f\xd3\x32\xfb\xde\x6f\x98\x37\x88\xda\x68\x4b\xf0\xed\xce\x6b\x23\xf1\xa8\x7f\xa3\x82\xca\xea\x1a\xa2\x69\x29\x62\xbd\x6e\xe7\xd5\x59\xe4\x7d\xf5\x07\x12\x2f\x39\xf1\x93\xc0\x9b\xeb\x5d\xef\x05\x03\xe3\x7f\xb6\x7f\x94\x6c\x3e\x9f\xc3\x77\x24\x07\x74\x41\x20\x4d\x5c\x82\xf3\xc6\xc8\x06\x74\xd5\xd5\xae\xdc\x4b\xfa\xec\x80\xba\x2f\x2e\x85\xc5\x82\x64\x13\x68\xc3\x3d\x63\xc6\xe7\x50\x79\x05\x35\x17\x2a\xe6\x65\x69\xd1\xb9\x05\x6c\xc2\x21\x59\xc0\xaf\x9d\xb8\x7f\xfd\x02\x0f\x06\x00\x20\x91\x80\x17\x85\xf6\x8a\x20\x83\x33\xd2\x26\xbc\xbc\x8c\x09\x1b\x64\x1d\xfe\x80\x15\x64\x2f\x47\x77\xd5\x3e\xe9\x19\x69\xcb\x0d\xcf\x85\x14\xd4\xc4\xd3\x18\xd3\x53\x6b\xdb\xfb\x5c\x8a\x62\xcf\xe9\x92\x8c\xa6\x5c\x5b\xab\x6f\xcb\x4f\x8f\xbf\x92\x48\x0f\xe8\xb4\xbc\xa2\x7d\xae\xe2\x51\xbc\x5e\x83\xe1\x4a\x14\x71\xb4\xd5\x5e\x96\xa0\x34\x41\xf0\x03\x07\x8b\x15\x5a\x54\x45\x1b\xdb\x98\x04\xd8\x1e\x14\x4d\x86\xa8\xe8\x67\xc8\x34\x1b\xe6\x49\x7b\x5d\xdb\x3d\x3e\x36\x06\x97\xef\x17\x9a\x1e\xdb\xbd\x04\xc4\x2a\x4e\x92\xd9\x48\x0e\xbb\x6a\x55\x90\x8d\x6d\xb8\x9b\x7d\xf0\x03\x4d\x71\x81\x64\x91\xbc\x55\x13\x58\x1a\x8e\xec\xc9\xfe\x04\x00\x00\xff\xff\x64\xda\x15\x73\xb7\x02\x00\x00"
+var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x52\x3d\x6f\xdb\x30\x10\xdd\xf9\x2b\x2e\x1a\x5a\x69\x91\x97\xa2\x43\x10\x25\x08\x82\xa6\x53\x01\xc3\x75\xbd\x9f\xa8\x93\x4d\x94\x22\x05\xf2\x68\x5b\x30\xfc\xdf\x0b\x89\xfa\x5a\x5c\x4d\xc7\xc7\xf7\x1e\xef\xde\x49\x35\xad\x75\x0c\x3f\xae\xd8\xb4\x9a\xf6\xf6\x2f\x19\xa8\x9d\x6d\x20\x59\x43\x89\x18\x79\x9f\xc1\x1c\x55\x39\xa2\xbf\x88\xb1\x42\xc6\x83\xa2\x8b\x1f\x55\x8f\x09\xb3\x47\x7f\xda\x91\xb7\xfa\x4c\x6e\x54\xad\xa1\x44\x88\xcd\x66\x03\x3f\x89\x3d\xf0\x89\x80\x2d\xa3\x06\x1f\xda\x56\x77\x60\xeb\x01\x3b\x63\xd0\xfc\xd5\x03\x0f\xfd\x56\xca\x91\x64\xdd\x45\xb3\xf9\x5e\x08\x94\x92\xbc\x4f\x51\xeb\x0c\xea\x60\xa0\x41\x65\x52\xac\x2a\x47\xde\x3f\xc3\x7b\x2c\xb2\x67\xf8\xf3\xa9\xae\xdf\xbf\xc1\x4d\x00\x00\x68\x62\x40\x29\x6d\x30\x0c\x05\x1c\x89\xdf\xe3\x61\x12\x66\x62\xa6\x0d\xcf\xec\xa8\x86\x62\x52\x0c\x57\xfd\x97\x1f\x89\x3f\xb0\xc5\x52\x69\xc5\x5d\xba\x0e\x33\x3f\xf4\xb2\x6d\x28\xb5\x92\x5b\xe4\x53\xb6\x88\x4a\xeb\x9c\xbd\xbc\x7c\xb9\xad\x03\xc9\xa7\xe2\xfe\x9a\x2e\xdc\xb7\x37\x68\xd1\x28\x99\x26\x1f\x36\xe8\x0a\x8c\x65\x88\x72\x40\x70\x54\x93\x23\x23\xfb\xf4\x96\x40\xc0\x4d\x11\xaf\x66\xa8\xf9\x77\x8c\xb6\x98\xc7\xc9\x47\x5e\xdf\x44\xba\xef\x5a\x7a\x79\xbc\xd5\x7c\xdf\xaf\x27\x5a\xbc\xa6\x59\xf6\xb4\x38\xc7\x95\xf5\x2c\x28\x96\x67\xd0\x3f\xfd\xe7\x2f\x5a\xdb\x45\x27\x47\x1c\x9c\x59\x99\xe5\xb1\x14\x77\xf1\x2f\x00\x00\xff\xff\xaf\x06\xd2\x34\xbc\x02\x00\x00"
 
 func scriptsMetadataGet_vault_supply_viewCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -462,11 +462,11 @@ func scriptsMetadataGet_vault_supply_viewCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_supply_view.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0xf4, 0x97, 0x7, 0x1a, 0x5a, 0xb3, 0x78, 0x62, 0xda, 0xea, 0x72, 0xcd, 0x10, 0xe3, 0x91, 0x7b, 0xcd, 0x30, 0xb, 0x80, 0x58, 0xac, 0xef, 0x93, 0xab, 0x5f, 0xe9, 0x99, 0x1c, 0x8f, 0xc7}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0x38, 0xe6, 0xf9, 0x6b, 0xf9, 0xc3, 0xd, 0x5a, 0x63, 0xe2, 0xd0, 0x7, 0x2, 0xb, 0x5, 0x85, 0x2e, 0xfa, 0x1c, 0x69, 0x18, 0xff, 0xd5, 0xd2, 0x13, 0x3d, 0x84, 0x4e, 0xb8, 0x88, 0x54}}
 	return a, nil
 }
 
-var _scriptsSwitchboardCheck_receiver_by_typeCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x91\xc1\x6e\xe3\x20\x18\x84\xef\x7e\x8a\x91\x0f\x2b\x73\xf1\x03\x44\xd9\x64\x93\x55\x7b\x8e\x92\xb4\x77\xc0\xbf\x6d\x14\x0c\x08\xff\x34\xb5\xa2\xbc\x7b\x95\xda\x6d\xdd\x4a\x39\xf4\xf6\xc3\xcc\xc0\xc7\x60\xba\xe0\x23\xe3\x31\xb9\xc6\x28\x4b\x47\x7f\x22\x77\x38\x1b\xd6\xad\xf2\x32\x56\xa8\xa3\xef\x90\xdf\x93\xf3\x6c\xca\x3f\xbc\xca\x2e\x4c\xfa\x94\x99\x6f\xe5\x59\x16\x92\x42\x9d\x1c\x3a\x69\x5c\xd1\x7f\x1d\xb1\xc0\xa6\xaa\x22\xf5\xbd\x58\x60\xeb\xbd\xc5\x25\xb3\xc4\x98\x39\xf6\x54\xe3\x2f\x1a\xe2\x8d\xd6\x3e\x39\x9e\xa7\x45\x06\x00\x65\x43\xfc\x5f\x06\xa9\x8c\x35\x3c\x2c\xff\x5c\xee\xf1\x96\xb3\x79\x97\x94\x35\xfa\xba\x2a\xee\x9a\x47\xc7\x4e\x72\x3b\x5d\xa3\x7c\x8c\xfe\x5c\x08\xbc\x2f\xd7\x6b\x04\xe9\x8c\x2e\xf2\x27\x27\x95\x25\xb0\xc7\xe8\x80\xfe\x84\xc1\xd9\x70\x8b\x48\x3d\x47\xa3\x99\x2a\xf0\x10\x08\xbe\xc6\x6f\x18\xa7\x46\x4b\xed\x9d\x96\xdf\xde\x5f\xb2\x3f\x70\x34\xae\x29\x84\xf8\x90\x91\xcb\xb1\xa8\x5c\x8c\xdc\x91\x38\x45\xf7\xa3\xd2\x52\xb7\xa4\x4f\x7b\xd2\x64\x5e\x28\x6e\x87\xe3\x10\xa8\xb8\xc1\x2d\x70\x1b\x97\xff\xe6\xff\x57\x3e\xcb\x64\x79\x55\x08\x91\x5d\xdf\x02\x00\x00\xff\xff\xfb\xcb\x2f\x00\x32\x02\x00\x00"
+var _scriptsSwitchboardCheck_receiver_by_typeCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x91\x41\x6f\xe2\x30\x14\x84\xef\xf9\x15\xa3\x1c\x56\xf6\x25\x3f\x00\xb1\xb0\xb0\x6a\xcf\x08\x68\xef\xce\xcb\x4b\x62\xe1\xd8\x91\xf3\x52\x1a\x21\xfe\x7b\x45\x93\xb6\x69\x25\x0e\xbd\x3d\x7b\x66\xec\xcf\x63\xdb\xb4\x21\x0a\x1e\x7b\x5f\xd9\xdc\xf1\x31\x9c\xd8\x1f\xce\x56\xa8\xce\x83\x89\x05\xca\x18\x1a\xa4\xf7\xe4\x34\x99\xf2\x0f\xaf\xa6\x69\x27\x7d\xca\xcc\xb7\xd2\x24\x31\x44\xdc\x75\xca\x38\xa7\x51\xf6\x1e\x8d\xb1\x5e\x75\x5f\x47\x2d\xb0\x29\x8a\xc8\x5d\xa7\x17\xd8\x86\xe0\x70\x49\x1c\x0b\x66\x8e\x3d\x97\xf8\x8b\x8a\x65\x43\x14\x7a\x2f\xf3\xb4\x4e\x00\x20\xab\x58\xfe\x9b\xd6\xe4\xd6\x59\x19\x96\x7f\x2e\xf7\xb8\xb3\xd9\xbc\xeb\x73\x67\xe9\xba\x52\x77\xcd\xa3\x63\x67\xa4\x9e\xae\xc9\x43\x8c\xe1\xac\x34\xde\x97\xeb\x35\x5a\xe3\x2d\xa9\xf4\xc9\x9b\xdc\x31\x24\x60\x74\x80\x3e\x61\x70\xb6\x52\x23\x72\x27\xd1\x92\x70\x01\x19\x5a\x46\x28\xf1\x1b\xc6\xa9\xd9\x8c\x82\x27\xf3\xed\xfd\x99\x84\x83\x44\xeb\x2b\xa5\xf5\x87\x8c\xd4\x8c\x45\xa5\x7a\xe4\x8e\x2c\x7d\xf4\x3f\x2a\xcd\xa8\x66\x3a\xed\x99\xd8\xbe\x70\xdc\x0e\xc7\xa1\x65\x75\x83\x5b\xe0\x36\x2e\xff\xcd\xff\x31\x7b\x36\xbd\x93\x95\xd2\x3a\xb9\xbe\x05\x00\x00\xff\xff\xda\xcb\x5c\xb3\x3a\x02\x00\x00"
 
 func scriptsSwitchboardCheck_receiver_by_typeCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -482,11 +482,11 @@ func scriptsSwitchboardCheck_receiver_by_typeCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/switchboard/check_receiver_by_type.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0x6a, 0x82, 0xa3, 0xd9, 0xd7, 0x0, 0x73, 0xa9, 0xff, 0x8d, 0x6b, 0x2b, 0x4b, 0xa6, 0x55, 0x22, 0xfd, 0x77, 0x7, 0x8f, 0xbd, 0xb6, 0xdd, 0x72, 0xa1, 0x29, 0xeb, 0xcc, 0xd3, 0x61, 0x83}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0xb8, 0x6e, 0x4b, 0xcb, 0x6a, 0xa3, 0x48, 0xfb, 0xf, 0xdc, 0xa5, 0xe5, 0x47, 0xac, 0x7c, 0xae, 0xc4, 0x91, 0x8b, 0x70, 0x1, 0x95, 0xf7, 0x73, 0xee, 0xf6, 0x9e, 0x85, 0x22, 0xec, 0xc9}}
 	return a, nil
 }
 
-var _scriptsSwitchboardGet_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x91\x31\x0b\xdb\x30\x14\x84\x77\xfd\x8a\xc3\x43\xb1\x17\x7b\x0f\x4d\x43\x08\xb4\x6b\x48\x43\x97\x52\x88\x2c\x3f\xdb\xa2\xb6\x64\xa4\xa7\x86\x10\xf2\xdf\x8b\xac\xa6\x71\x4a\x02\xf5\x64\xa4\xef\xde\xe9\xdd\xe9\x71\xb2\x8e\xf1\x39\x98\x4e\xd7\x03\x1d\xed\x4f\x32\x68\x9d\x1d\x91\x3d\x9d\x65\xe2\x15\xf9\xf5\xac\x59\xf5\xb5\x95\xae\x79\x25\x5a\x5c\x67\x42\x54\x15\x8e\xbd\xf6\xf0\xca\xe9\x89\xe1\x48\x36\x1e\xdc\x13\x3c\x5b\x47\x0d\x7e\xc9\x30\x30\x94\x9c\x64\xad\x07\xcd\x9a\x7c\x9a\x29\xe1\x17\x36\xd6\x44\x4d\x1c\x36\x49\xef\xa9\x81\x54\xca\x06\xc3\x62\x0a\x35\xda\x60\x30\x4a\x6d\xf2\x3f\x87\x2b\x6c\x9b\xc6\x91\xf7\xc5\x0a\xdf\x8f\x97\x89\x7e\xe0\x2a\x04\x00\x0c\xc4\x51\xc9\x58\xa3\x23\xde\x26\xfc\x2e\x2b\x12\x53\x55\xf8\x12\x31\x38\x6a\xc9\x91\x51\x04\xb6\xe9\xc5\x8b\x07\x29\x6b\x5a\xeb\x46\x6d\xba\x78\xbb\x58\x79\x1f\xea\x41\xab\xbf\x6e\x0b\xcd\x81\x5a\xac\x67\xfb\xb2\x23\xde\xdd\x37\xbe\xe4\xef\xd2\x2b\xd3\xac\xbd\xe4\xbe\x98\x07\xc6\xaf\xac\xad\x73\xf6\xfc\xf1\xc3\x5b\xd5\xe2\xff\xfa\x3f\x50\x72\xb9\x7d\xca\x1f\x26\x9b\x0d\x26\x69\xb4\xca\xb3\x9d\x0d\x43\x03\x63\x19\xc9\xf7\x39\x95\xc5\x76\xd9\x23\xbe\x03\x71\x70\x73\x61\x70\xe4\x63\xbd\xb6\xc5\xa9\x23\xfe\x16\xbb\x8e\x85\xf8\xbc\x38\xcd\xb4\x4b\xe8\x73\x4a\xe5\x3f\xa8\x10\x37\xf1\x3b\x00\x00\xff\xff\xfb\x2b\x45\x36\xb2\x02\x00\x00"
+var _scriptsSwitchboardGet_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x91\xcd\x0a\xdb\x30\x10\x84\xef\x7a\x8a\xc1\x87\x62\x5f\xec\x7b\x68\x1a\x42\xa0\xbd\x86\x34\xf4\x52\x0a\x91\xe5\xb5\x2d\x2a\x4b\x46\x5a\x37\x84\x90\x77\x2f\xb2\x9a\xc6\x29\x09\xd4\x27\xa3\xfd\x66\x66\x7f\xf4\x30\x3a\xcf\xf8\x3c\xd9\x4e\xd7\x86\x8e\xee\x27\x59\xb4\xde\x0d\xc8\x9e\xde\x32\xf1\x8a\xfc\x7a\xd6\xac\xfa\xda\x49\xdf\xbc\x12\x2d\xca\x99\x10\x55\x85\x63\xaf\x03\x82\xf2\x7a\x64\x78\x92\x4d\x00\xf7\x84\xc0\xce\x53\x83\x5f\x72\x32\x0c\x25\x47\x59\x6b\xa3\x59\x53\x48\x9e\x12\x61\x11\xe3\x6c\xd4\x44\xb3\x51\x86\x40\x0d\xa4\x52\x6e\xb2\x2c\xa4\x52\x14\x42\x2e\x8d\x29\xd0\x4e\x16\x83\xd4\x36\xff\x53\x5c\x61\xdb\x34\x9e\x42\x28\x56\xf8\x7e\xbc\x8c\xf4\x03\x57\x21\x00\xc0\x10\x47\x07\xc6\x1a\x1d\xf1\x36\xe1\x77\x59\x91\x98\xaa\xc2\x97\x88\xc1\x53\x4b\x9e\xac\x22\xb0\x4b\x9d\x2f\x1a\x53\xce\xb6\xce\x0f\xda\x76\xb1\xba\x18\x7d\x3f\xd5\x46\xab\xbf\x69\x0b\xcd\x81\x5a\xac\xe7\xf8\xb2\x23\xde\xdd\x27\xbf\xe4\xef\xb6\x58\x26\xaf\xbd\xe4\xbe\x98\x0d\xe3\x57\xd6\xce\x7b\x77\xfe\xf8\xe1\xad\x6a\xf1\x7f\xfd\x1f\x28\xa5\xdc\x3e\xe5\x8f\x90\xcd\x06\xa3\xb4\x5a\xe5\xd9\xce\x4d\xa6\x81\x75\x8c\x94\xfb\xbc\x95\xc5\x74\xd9\x63\x7d\x07\xe2\xc9\xcf\x87\x83\xa7\x10\xcf\xec\x5a\x9c\x3a\xe2\x6f\xf1\xe6\xf1\x20\x21\x2f\x4e\x33\xed\x13\xfa\xbc\xa5\xf2\x1f\x54\x88\x9b\xf8\x1d\x00\x00\xff\xff\x0f\x40\x25\x01\xba\x02\x00\x00"
 
 func scriptsSwitchboardGet_vault_typesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -502,11 +502,11 @@ func scriptsSwitchboardGet_vault_typesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/switchboard/get_vault_types.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x69, 0xfb, 0xd8, 0x58, 0x9d, 0x15, 0x34, 0x8a, 0xe2, 0xfb, 0x58, 0x75, 0x8d, 0xe6, 0x9e, 0x1b, 0x57, 0xc3, 0x55, 0x9e, 0x21, 0x35, 0x9a, 0xd7, 0x46, 0x47, 0xcd, 0x80, 0x37, 0x2b, 0xc0, 0x1a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0x74, 0x9c, 0xc1, 0x57, 0xd3, 0x1b, 0xfe, 0x8, 0x2c, 0x71, 0xb9, 0x27, 0x9a, 0xd1, 0x61, 0xe0, 0x73, 0x5e, 0x58, 0xb4, 0xd9, 0x69, 0x25, 0x6f, 0x62, 0x61, 0x45, 0x1a, 0xbd, 0x79, 0x52}}
 	return a, nil
 }
 
-var _scriptsSwitchboardGet_vault_types_and_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x91\xcf\xca\xdb\x30\x10\xc4\xef\x7a\x8a\xc1\x87\x62\x5f\xec\xfb\x47\xbf\x86\x10\x68\xaf\x21\x0d\xed\x35\xb2\xbc\xb6\x45\x6d\xc9\x48\xab\x86\x10\xf2\xee\x45\x56\xfe\x38\x90\x40\x7d\x32\xab\xfd\xcd\xec\xee\xe8\x71\xb2\x8e\xf1\x3d\x98\x4e\xd7\x03\xed\xed\x1f\x32\x68\x9d\x1d\x91\x3d\xd5\x32\xf1\xaa\xf3\xe7\x51\xb3\xea\x6b\x2b\x5d\xf3\x0a\x5a\x3c\x67\x42\x54\x15\xf6\xbd\xf6\xf0\xca\xe9\x89\xe1\x48\x36\x1e\xdc\x13\x3c\x5b\x47\x0d\xfe\xca\x30\x30\x94\x9c\x64\xad\x07\xcd\x9a\x7c\xd2\x94\xf0\x0b\x1b\x6b\x22\x13\xc5\x26\xe9\x3d\x35\x90\x4a\xd9\x60\x58\x4c\xa1\x46\x1b\x0c\x46\xa9\x4d\x7e\x2d\x7e\x60\xdd\x34\x8e\xbc\x2f\x3e\x70\xde\x9f\x26\xba\x17\x2e\x38\x0b\x01\x00\x03\x71\x94\x60\x7c\xa2\x23\x5e\x27\xee\xc6\x17\xa9\xa7\xaa\xf0\x23\xb6\xc1\x51\x4b\x8e\x8c\x22\xb0\x4d\xa3\x2f\x26\x53\xd6\xb4\xd6\x8d\xda\x74\xf1\x75\xb1\xfb\x36\xd4\x83\x56\x77\xb7\x05\xb3\xa3\x16\x9f\xb3\x7d\xd9\x11\x6f\x6e\xab\x9f\xf2\x77\x67\x2c\x93\xd6\x56\x72\x5f\xcc\x82\xf1\x2b\x6b\xeb\x9c\x3d\x7e\xfd\xf2\x96\x5a\xfc\x9f\xff\xa7\x29\xb9\x5c\xbe\xe5\x0f\x93\xd5\x0a\x93\x34\x5a\xe5\xd9\xc6\x86\xa1\x81\xb1\x8c\xe4\xfb\x7c\x95\xc5\x76\xd9\xe3\x7c\x3b\xe2\xe0\xe6\xe4\xe0\xc8\xc7\x9c\x6d\x8b\x43\x47\xfc\x2b\x86\x1e\x93\xf1\xbf\x35\xf7\xd7\x70\xf2\xe2\x30\x83\x2e\x51\xcf\x07\x2b\xdf\x53\x42\x5c\xc4\xbf\x00\x00\x00\xff\xff\x3b\x85\x5a\x09\xd1\x02\x00\x00"
+var _scriptsSwitchboardGet_vault_types_and_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x91\xcf\xca\xdb\x30\x10\xc4\xef\x7a\x8a\xc1\x87\x62\x5f\xec\xfb\x47\xbf\x86\x10\x68\xaf\x21\x0d\xed\x35\xb2\xbc\xb6\x45\x65\xc9\x48\xeb\x86\x10\xf2\xee\x45\x56\xfe\x38\x90\x40\x7d\x32\xda\xfd\xcd\x48\x33\x7a\x18\x9d\x67\x7c\x9f\x6c\xa7\x6b\x43\x7b\xf7\x87\x2c\x5a\xef\x06\x64\x4f\x67\x99\x78\xb5\xf9\xf3\xa8\x59\xf5\xb5\x93\xbe\x79\x05\x2d\xc6\x99\x10\x55\x85\x7d\xaf\x03\x82\xf2\x7a\x64\x78\x92\x4d\x00\xf7\x84\xc0\xce\x53\x83\xbf\x72\x32\x0c\x25\x47\x59\x6b\xa3\x59\x53\x48\x9a\x12\x61\x61\xe3\x6c\x64\xa2\xd8\x28\x43\xa0\x06\x52\x29\x37\x59\x16\x52\x29\x0a\x21\x97\xc6\x14\x68\x27\x8b\x41\x6a\x9b\x5f\x87\x1f\x58\x37\x8d\xa7\x10\x8a\x0f\x9c\xf7\xa7\x91\xee\x07\x17\x9c\x85\x00\x00\x43\x1c\xa5\x18\x9f\xe8\x88\xd7\x89\xbb\xf1\x45\xda\xa9\x2a\xfc\x88\x6b\xf0\xd4\x92\x27\xab\x08\xec\xd2\x13\x16\x37\x54\xce\xb6\xce\x0f\xda\x76\x71\xba\xc8\x60\x3b\xd5\x46\xab\xbb\xdb\x82\xd9\x51\x8b\xcf\xd9\xbe\xec\x88\x37\xb7\x08\x4e\xf9\xbb\x38\xcb\xa4\xb5\x95\xdc\x17\xb3\x60\xfc\xca\xda\x79\xef\x8e\x5f\xbf\xbc\xa5\x16\xff\xe7\xff\x59\x4a\x2e\x97\x6f\xf9\xc3\x64\xb5\xc2\x28\xad\x56\x79\xb6\x71\x93\x69\x60\x1d\x23\xf9\x3e\xa7\xb2\x78\x5d\xf6\x88\x6f\x47\x3c\xf9\xb9\x41\x78\x0a\xb1\x6f\xd7\xe2\xd0\x11\xff\x8a\xe5\xc7\x66\xc2\x6f\xcd\xfd\xb5\x9c\xbc\x38\xcc\xa0\x4f\xd4\x73\x60\xe5\x7b\x4a\x88\x8b\xf8\x17\x00\x00\xff\xff\xa3\xe8\x69\xc6\xd9\x02\x00\x00"
 
 func scriptsSwitchboardGet_vault_types_and_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -522,11 +522,11 @@ func scriptsSwitchboardGet_vault_types_and_addressCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/switchboard/get_vault_types_and_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbb, 0x85, 0x7a, 0x8d, 0xe8, 0x53, 0x96, 0x74, 0xb7, 0x16, 0xcf, 0x4b, 0x9e, 0xba, 0x84, 0x74, 0xf3, 0xc9, 0xee, 0x30, 0x27, 0x8d, 0x28, 0xff, 0xe2, 0xe3, 0xb1, 0x25, 0x3e, 0x9, 0x9a, 0xad}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0xe6, 0xe9, 0x2e, 0x23, 0x2d, 0xf9, 0x64, 0x3, 0xf2, 0xc5, 0x39, 0xb7, 0x30, 0x55, 0xc, 0x68, 0xf4, 0x1e, 0xc9, 0x1e, 0x14, 0x1c, 0x6e, 0xd9, 0x90, 0x58, 0xc2, 0xfc, 0x82, 0x76, 0xd3}}
 	return a, nil
 }
 
-var _scriptsTokenforwarderIs_recipient_validCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x90\x51\x6a\xc3\x30\x10\x44\xff\x7d\x8a\xc1\x1f\xc5\x86\xe2\x03\x98\xb6\x21\x2d\xe4\x3b\x94\xf6\x00\xb2\xb4\x76\x44\x64\xad\x58\xaf\x08\x21\xe4\xee\xa5\x36\x2d\x24\x24\x44\x5f\x62\x79\x3b\x33\x3b\x7e\x4c\x2c\x8a\x2f\xde\x53\xdc\xb0\x1c\x8c\x38\x1f\x07\xf4\xc2\x23\xca\xab\x69\x59\x14\x29\x77\xe8\x73\xc4\x68\x7c\xac\x8c\x73\xd2\x62\xed\x9c\xd0\x34\x3d\x43\x2f\xe9\xad\xd1\x5d\x8b\x6d\xee\x82\xb7\xbf\xff\xba\xc5\x3b\x73\xc0\xa9\x00\x80\x40\x8a\x7e\x61\x49\x3e\xa9\xc7\x2b\x06\xd2\xb5\xb5\x9c\xa3\xce\xca\xf5\xcc\xdd\x78\xcd\x40\xfa\x61\x92\xe9\x7c\xf0\x7a\x7c\x79\x3a\x5d\xc5\x6c\x36\x7f\xba\x8b\xf9\xf9\xad\xba\x11\xed\xbe\x7c\xc7\x22\x7c\xa8\xee\x02\xab\x15\x92\x89\xde\x56\xe5\x77\x34\x5d\x20\x28\x63\xd9\xc1\xc3\x28\x10\x9a\x54\xbc\x55\xe8\x31\xd1\x52\xb3\x81\xfd\xbf\xa6\xac\x8b\xd9\x56\x48\xb3\xc4\x8b\x86\x1a\xbb\x23\xbb\xaf\xea\xe2\xfc\x13\x00\x00\xff\xff\xb3\xce\xc9\xb2\xb4\x01\x00\x00"
+var _scriptsTokenforwarderIs_recipient_validCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x50\x4b\x6a\xc3\x40\x0c\xdd\xfb\x14\x0f\x2f\xca\x18\x8a\x0f\x60\xda\x86\xb4\x90\x75\x28\xed\x01\xe4\xb1\xec\x0c\x19\x8f\x8c\x2c\x13\x42\xc8\xdd\x4b\x6d\x5a\x48\x48\x88\x56\x42\xbc\x9f\x5e\xe8\x07\x51\xc3\x97\xec\x39\x6d\x44\x0f\xa4\x4d\x48\x1d\x5a\x95\x1e\xf9\xd5\x35\xcf\x32\xf2\x9e\xc7\xd1\x51\x8c\x05\xda\x29\xa1\xa7\x90\x1c\x35\x8d\x56\x58\x37\x8d\xf2\x38\x3e\xc3\x2e\x59\x5b\xb2\x5d\x85\xed\x54\xc7\xe0\x7f\xf7\xa2\xc2\xbb\x48\xc4\x29\x03\x80\xc8\x86\x76\xc1\xb2\x7e\x72\x8b\x57\x74\x6c\x6b\xef\x65\x4a\x36\x2b\x17\x33\xee\xc6\x94\x1d\xdb\x07\x0d\x54\x87\x18\xec\xf8\xf2\x74\xba\x8a\x5b\x6e\xfe\x74\x17\xf3\xf3\x9b\xbb\x11\xed\xbe\x7c\x2d\xaa\x72\x70\x77\x01\xab\x15\x06\x4a\xc1\xbb\xfc\x3b\x51\x1d\x19\x26\x58\x38\x78\x18\x05\xca\xa3\x69\xf0\x06\x3b\x0e\xbc\xd4\x4d\xf0\xff\xdf\xe4\x45\x36\xdb\x2a\xdb\xa4\xe9\xa2\xa1\xd2\xef\xd8\xef\x5d\x91\x9d\x7f\x02\x00\x00\xff\xff\x1c\x3c\x53\x68\xbc\x01\x00\x00"
 
 func scriptsTokenforwarderIs_recipient_validCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -542,11 +542,11 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/tokenForwarder/is_recipient_valid.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb6, 0xad, 0x9e, 0x22, 0xd4, 0xc2, 0x63, 0x91, 0x2a, 0xff, 0xe3, 0x37, 0x70, 0xe5, 0xa, 0x40, 0x70, 0xa3, 0xb5, 0x5f, 0x14, 0xc3, 0x8, 0x79, 0xd4, 0xb9, 0xf6, 0x7, 0xd7, 0x51, 0x7a, 0xc8}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7a, 0x23, 0x4d, 0x2, 0xff, 0x47, 0x5f, 0xfa, 0x75, 0xc3, 0x97, 0xa7, 0xe, 0x25, 0x75, 0xe4, 0xab, 0xb9, 0x6d, 0xd0, 0x4a, 0x83, 0x54, 0x49, 0x43, 0x4e, 0x6f, 0xf8, 0x6a, 0xd6, 0x3b, 0xf9}}
 	return a, nil
 }
 
-var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x53\xc1\x6a\xdc\x30\x10\xbd\xfb\x2b\x5e\x73\x28\xbb\x90\xae\xef\x21\x0d\xa4\x25\xbd\x15\x42\x1a\x72\x9f\xb5\xc7\xb6\x88\x56\x32\xa3\x71\x36\x26\xec\xbf\x17\x69\xbd\xc6\x6a\x96\x16\x4a\xa9\x6f\x7a\x7a\x7a\x33\xef\x79\xa6\x2c\xf1\xd8\x99\x00\x15\x72\x81\x2a\x35\xde\xc1\x04\x10\x94\x77\xbd\x25\x65\x34\x5e\xe2\x71\x71\xaf\x1e\x64\xad\xdf\x17\x65\x09\x72\xa3\x77\x9c\xa0\xba\x06\xe1\x89\x06\xab\x10\x0e\x7e\x90\x2a\xe1\xda\xb1\x11\x50\x55\xf9\xc1\x29\x42\x04\x48\xe3\x53\xed\x78\x44\x45\x0e\x43\xe0\x78\x00\xbf\xd2\xae\xb7\xfc\xe8\x9f\xd9\x15\x85\xd9\xf5\x5e\x14\xdf\x06\xd7\x9a\xed\x84\xa2\x11\xbf\xc3\x45\x86\x5d\x9c\x98\x77\x8b\xe7\x13\x71\x09\xcd\xbc\xef\xac\x54\x93\xd2\x93\xe1\x7d\x98\x88\x19\x76\x51\x14\x4b\xbb\xab\x35\xde\x8a\x02\x00\x7a\xe1\x9e\x84\x57\xc1\xb4\x8e\xe5\x0a\xb7\x83\x76\xb7\x47\x63\x33\x27\x7e\x65\x89\x07\xd6\x41\x1c\x98\xc4\x8e\x30\x4d\xf2\x77\xca\x80\xac\x30\xd5\x23\x82\x7a\xe1\x98\x75\xd6\x79\x4a\x70\x96\x32\x0d\x8e\xd5\x36\x5b\x2f\xe2\xf7\xd7\x1f\x97\xe4\x4d\x22\xdf\xac\xa2\x89\x2b\xbc\xbf\xf9\xa1\x5e\xa8\xe5\x7b\xd2\x6e\x8d\x0f\x9f\xe1\x8c\xc5\xdb\xac\x1d\x3f\x49\x7d\xce\xd0\x21\x33\xf1\x55\x38\x4e\x00\xc1\xf1\xfe\x4c\x93\x20\x57\xa3\x1f\x14\x46\x61\x5c\xb2\x43\x2d\xcf\x02\x53\xdf\x81\x5e\x78\x95\xd5\xbc\xfe\x94\x75\x5a\xa5\x2a\x77\xbb\x5e\xc7\x24\xbb\x5a\x5f\x66\x74\xf5\x7f\xb0\x36\xb3\xd7\xe7\xbb\xef\x87\xad\x35\x15\x2a\xea\x69\x6b\xac\xd1\x71\x1a\xcb\xc9\x45\x9c\x47\x78\x67\x47\xf0\x6b\xef\x03\x87\xa5\x48\xa4\xd5\xdc\xfb\x60\x14\xcd\xe0\xa6\x05\xe8\xc4\x0f\x6d\x97\x2e\x1f\xb8\x62\xf3\xc2\x02\xe3\x94\xa5\xa1\xea\x5d\x00\xd6\xb8\xe7\x73\xbf\xed\x2d\x1b\xe3\xcd\x49\xe8\x70\x93\xa7\x95\x3d\x3c\x91\xee\x93\xa5\x68\xfe\x97\xac\x48\x5a\xd6\xff\x90\xd7\x14\x55\x82\xbf\x90\x25\x57\x71\x1a\x87\x07\x0e\xde\x66\x71\x84\xbf\xcc\x63\x52\xbd\xcc\xf7\x75\x73\x2a\xf0\xdb\x98\x92\xde\xbf\xca\xe8\xb8\x17\x87\xe2\x67\x00\x00\x00\xff\xff\xd1\xd3\xfa\x7f\x2b\x05\x00\x00"
+var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\x41\x6f\xe2\x30\x10\x85\xef\xf9\x15\x6f\x39\x54\x20\x51\x72\xaf\xd8\x4a\xdd\x55\xf7\x5c\xb1\x55\xef\x83\x19\xc0\xaa\x63\x47\xe3\x09\x34\x42\xfc\xf7\x95\x4d\x48\x93\x76\x57\x5b\x9f\xe2\xe7\xe7\xf1\x7c\x2f\x53\x96\x78\xde\xdb\x08\x15\xf2\x91\x8c\xda\xe0\x61\x23\x08\xca\x55\xed\x48\x19\xdb\x20\x69\x3b\x38\xd7\x00\x72\x2e\x1c\x8b\xb2\x04\xf9\x36\x78\xce\xd2\x66\x03\xc2\x0b\x35\x4e\x21\x1c\x43\x23\x26\xeb\xba\x67\x2b\x20\x63\x42\xe3\x15\x31\x09\xa4\xe9\xaa\xee\xb9\x85\x21\x8f\x26\x72\xda\x80\xdf\xa8\xaa\x1d\x3f\x87\x57\xf6\x45\x61\xab\x3a\x88\xe2\x57\xe3\x77\x76\xdd\xa9\xd8\x4a\xa8\x30\x19\x69\x93\xab\xf3\x71\x70\xbd\x33\x0e\xa5\xde\xf7\x62\xf9\xb8\xe2\x18\xdc\x81\xa5\xf3\x0d\xa5\x49\x51\x0c\x61\xa7\x33\x9c\x8a\x02\x00\x6a\xe1\x9a\x84\xa7\xd1\xee\x3c\xcb\x1d\x1e\x1a\xdd\x3f\x5c\xb0\x7a\x4f\x5a\x65\x89\x15\x6b\x23\x1e\x4c\xe2\x5a\xd8\x6d\xa6\xbb\x26\x40\x4e\x98\x36\x2d\xa2\x06\xe1\x94\xf4\xa8\xef\x9c\x5f\x5f\xca\x6e\x71\x79\x6d\xb1\x0e\x22\xe1\xb8\xbc\x19\x9a\x17\xd9\x7c\x3f\x4d\x0c\x77\xf8\x7c\xf2\x5b\x83\xd0\x8e\x9f\x48\xf7\x33\x7c\xfb\x0e\x6f\x1d\x4e\x7d\xed\xb4\x24\xf7\xd9\x4b\xe7\x77\x08\xc7\x8a\x43\xfe\x97\xcb\xdb\x71\x69\x23\x4c\xca\x8f\x55\xad\x6d\x7e\x65\x3a\x1b\xa1\xff\xcc\xc7\x20\x78\x3e\xfe\x05\x0d\xe4\x37\xa8\x1b\x85\x55\x58\x9f\x43\xa0\x1d\xf7\x05\x3a\xda\x48\x07\x9e\x8e\x3a\x5d\xde\xe6\x6e\xe6\x23\x51\xc3\x7f\xb0\x7b\xf7\x3f\x7a\xac\x9b\xb5\xb3\x06\x86\x6a\x5a\x5b\x67\xb5\xed\x06\xb6\xeb\x35\x4d\x2a\xf8\xad\x0e\x91\x63\x96\x57\x6c\xd8\x1e\x58\xe6\xf8\x41\x8e\xbc\xe1\x79\xe6\xe9\xa7\xc9\x7a\x65\xd9\x92\xe1\xf8\x91\xc8\x59\xff\xba\xbc\x39\x8d\x26\x77\xf1\x5e\x6e\xac\xf7\xc5\x87\x73\xb9\xb8\x7e\x9c\xef\xc7\xd1\x7c\x4e\xe0\x29\x63\xa5\x00\x3e\xe4\x45\xb2\x63\xfd\x7a\x66\x97\x99\x38\x17\x7f\x02\x00\x00\xff\xff\x4a\xf8\xc4\x5d\x25\x04\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -562,7 +562,7 @@ func setup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9e, 0x15, 0xa6, 0xb4, 0xe3, 0x94, 0x35, 0x36, 0xea, 0x97, 0xd0, 0x1a, 0xdb, 0xf6, 0x88, 0x5a, 0x71, 0x39, 0xa1, 0x41, 0xca, 0x9a, 0x62, 0xd4, 0x1b, 0xf1, 0x6c, 0x42, 0x62, 0xb9, 0xa0, 0x8b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2c, 0xe, 0x96, 0x72, 0x65, 0xe6, 0xd9, 0xb, 0x20, 0x5e, 0xd8, 0x4b, 0x0, 0xb, 0xed, 0x2, 0x6f, 0xd6, 0x2f, 0x95, 0x33, 0xf, 0xd1, 0x6a, 0xbb, 0x69, 0xca, 0x19, 0xff, 0xd0, 0x69, 0x63}}
 	return a, nil
 }
 
@@ -686,7 +686,7 @@ func switchboardSafe_deposit_to_lnfCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardSafe_transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x6f\xdc\x36\x10\x3d\x7b\x7f\xc5\x64\x0f\xb5\x16\x70\xe4\x4b\xd1\xc3\xc2\x49\x6a\x24\x75\xaf\x41\xe2\xb6\x67\x4a\x1c\x49\xac\xb5\x1c\x61\x38\xb2\xbc\x30\xfc\xdf\x0b\x7e\x48\x4b\xf9\x03\xb5\x0f\xb6\x48\x0e\x67\xe6\xbd\x79\x7c\x36\x87\x81\x58\xe0\x66\xb4\xad\xa9\x7a\xbc\xa5\x3b\xb4\xd0\x30\x1d\x60\xbb\xda\xdb\x6e\x5e\x8b\xfc\x39\x19\xa9\xbb\x8a\x14\xeb\xd7\x2e\x65\xc7\xcb\xfd\x3f\x1e\xd4\x61\x58\x17\xca\xb7\xb6\x9b\xcd\xe5\x25\xdc\x76\xc6\x81\xb0\xb2\x4e\xd5\x62\xc8\x82\x71\xa0\x40\xf0\x30\xf4\x4a\x10\x1a\x62\xbf\xcc\xce\xa5\x53\x02\x35\x8d\xbd\x86\x0a\x61\x74\xa8\xa1\x3a\x82\xb2\x47\xb2\x08\x3e\xa3\x10\x38\xb4\x1a\xc4\x17\x71\x7e\xa9\x2c\x49\x87\x0c\xaa\xae\x69\xb4\x02\xd2\x31\x8d\x6d\x07\x0a\x5c\x86\x6a\x74\xc6\xb6\x20\x1d\x82\x53\x0d\x7e\xc3\x81\x9c\x11\x9f\xf0\x80\xd2\x91\x2e\x63\xab\x71\x01\x93\xe9\x7b\xb0\x24\x30\x28\x6b\x6a\x30\x4d\xbc\x98\xa5\xd3\x84\x2e\x44\x74\xea\x1e\xfd\xa9\x4f\x55\xab\x41\x55\xa6\x37\x72\x0c\x6d\x0a\x71\x38\x02\x8d\xce\x30\x6a\xb8\xb9\xbd\x00\x46\x19\xd9\xce\xbd\xe8\xd8\x07\x6a\xb8\x57\x63\x2f\x60\xac\x13\x54\xba\x8c\xdc\x21\x4c\x46\x3a\xcd\x6a\x02\x75\x08\xd8\x94\x47\xde\xe1\x82\x35\xf0\xde\xa2\x5c\xa7\xf5\x34\x33\xe7\x83\x06\xc5\xea\x80\x82\xec\x66\xe6\xfc\x6e\xc6\x76\xb9\xc9\x16\x85\xd0\x1e\xae\xb5\x66\x74\xee\x22\xd5\xdb\xc3\x5f\x37\xe6\xe1\xb7\x5f\x77\xf0\xb8\x01\x00\x08\xbf\x52\x6b\x8c\x0d\x32\xda\x1a\xe7\xc4\x11\x41\xe8\x28\x56\x3f\x22\x9f\xbb\xb9\xd5\x70\xb5\x47\x89\x61\x3f\xb0\xd9\xc3\x2f\xb9\x5e\xca\xbf\xfd\x7e\x5e\x20\x6c\x00\xa3\xa3\x91\x7d\x15\xaf\x8c\x8e\x7a\xed\x22\x8c\x34\x7f\xbf\xab\x18\xa1\xc2\xc0\xa9\xc7\xd3\x20\x33\xea\xa5\xa0\x43\x2b\x21\xd7\x1e\x7e\x5f\xa9\x3a\x95\x0c\x81\x03\xe3\xa0\x18\x0b\x67\x5a\x8b\xbc\x87\xeb\x51\xba\x44\xaa\x07\x1f\x62\x52\x6f\x7f\xa2\x80\x7a\x09\x3f\xde\x3c\x77\x71\xee\x69\xa0\xcb\x3d\x87\x7d\x53\xce\xd0\xe1\x53\x8a\x2e\x2b\x62\xa6\xe9\xea\x15\x26\x3e\x17\x9e\xc9\x3d\xbc\x3c\xf9\x29\xc4\xaa\xc5\xef\x4a\xba\xdd\xe6\xec\xec\xec\xcb\x97\x28\xd3\x62\xfb\x35\x4c\xdf\xab\x32\xe6\x7d\xd9\x24\x4d\xb1\xc7\x90\xe8\xc3\x76\xb7\x02\xf6\xcf\x2c\xb6\xc4\xed\x32\xca\x77\x40\x5b\x48\x86\xab\x8f\x2b\xac\xe5\x2c\xe1\x62\x96\x54\xfc\xbb\x3b\x09\xea\x29\x76\x81\x0f\x58\x8f\x82\xaf\xb0\x2d\x41\x6e\xb5\x19\x0c\x5a\x39\x77\x30\x8c\x55\x6f\xea\xe5\x11\x50\xf5\x2f\xd6\xa7\x7e\xfc\xcc\x97\x68\xf8\x94\x3d\x8f\x42\x68\xf7\x9e\x51\xe6\xb5\x72\x67\xfc\x81\x35\x9a\x7b\xe4\x55\xa9\xcc\x15\xe2\x68\x97\xdb\x65\x8b\xf2\x75\xb1\x84\xe2\x2d\x47\x2d\xbf\x07\x38\x71\x9e\x90\xfd\x2c\xea\x78\xf3\x66\xf6\xfd\xf8\x9e\xa0\x58\xe9\xe9\x73\xf1\xff\xc2\x89\x48\xd7\xdc\x64\x50\x3f\x6c\x77\xcb\xfc\x56\x1f\x97\x97\x90\xcc\x35\x50\xd9\x8c\x56\x3b\x08\xc6\xbe\x32\xd0\x8b\xd9\x54\x93\x03\x9e\x0c\xb5\x26\xaf\x77\xc1\x3c\xa3\x0f\xcc\xad\x39\x9a\x68\x56\x20\xf9\x26\x50\x13\x21\xdd\x19\xdb\x5e\x80\x23\x98\x30\x39\x34\xe5\xf9\x18\x6b\xf2\xe8\xa4\x23\x97\x52\x2c\xc7\xa6\x09\x63\xb5\x24\xdf\x66\x73\x5e\x84\xbd\x1a\x75\x99\xfd\x23\x49\x8f\xf5\xea\xe3\xb3\xd7\xf0\xa6\xfa\x77\x8f\xab\x51\xaf\x9f\x8c\x7e\x96\xf4\x45\x2f\x27\x9d\x3c\x9d\xf4\xac\xd1\x09\xd3\xf1\x59\x07\xab\x67\xf6\xb4\xf9\x2f\x00\x00\xff\xff\x53\xe1\x5a\x5d\x27\x08\x00\x00"
+var _switchboardSafe_transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x4d\x6f\xdc\x36\x10\x3d\x7b\x7f\xc5\x64\x0f\xb1\x16\x70\xe4\x4b\xd1\xc3\xc2\x49\x6a\x24\x75\xaf\x41\xe2\xb6\x67\x4a\x1c\x89\x6c\xb4\x1c\x61\x38\xb2\xbc\x30\xfc\xdf\x0b\x92\x92\x96\xf2\x07\x6a\xd4\x07\xef\x92\x9c\x8f\xf7\x66\xde\xcc\xda\x43\x4f\x2c\x70\x33\xb8\xd6\x56\x1d\xde\xd2\x4f\x74\xd0\x30\x1d\x60\xbb\xba\xdb\x6e\x5e\xb2\xfc\x31\x5a\xa9\x4d\x45\x8a\xf5\x4b\x4e\xd9\xf3\xe2\xff\xfb\xbd\x3a\xf4\xeb\x44\xf9\xd5\x76\xb3\xb9\xbc\x84\x5b\x63\x3d\x08\x2b\xe7\x55\x2d\x96\x1c\x58\x0f\x0a\x04\x0f\x7d\xa7\x04\xa1\x21\x0e\xc7\xec\x5d\x8c\x12\xa8\x69\xe8\x34\x54\x08\x83\x47\x0d\xd5\x11\x94\x3b\x92\x43\x08\x11\x85\xc0\xa3\xd3\x20\x21\x89\x0f\x47\xe5\x48\x0c\x32\xa8\xba\xa6\xc1\x09\x88\x61\x1a\x5a\x03\x0a\x7c\xc6\x6a\xf0\xd6\xb5\x20\x06\xc1\xab\x06\xbf\x62\x4f\xde\x4a\x08\x78\x40\x31\xa4\xcb\x04\x35\x1d\x60\xb4\x5d\x07\x8e\x04\x7a\xe5\x6c\x0d\xb6\x49\x8e\x59\x38\x4d\xe8\xa3\x85\x51\x77\x18\x5e\x43\xa8\x5a\xf5\xaa\xb2\x9d\x95\x63\x84\x29\xc4\xf1\x09\x34\x7a\xcb\xa8\xe1\xe6\xf6\x02\x18\x65\x60\x37\x63\xd1\x09\x07\x6a\xb8\x53\x43\x27\x60\x9d\x17\x54\xba\x4c\xb5\x43\x18\xad\x18\xcd\x6a\x04\x75\x88\xdc\x54\x60\x6e\x70\xe1\x1a\xeb\xde\xa2\x5c\x4f\xe7\x71\xae\x5c\x30\xea\x15\xab\x03\x0a\xb2\x9f\x2b\x17\x6e\xb3\x6a\x97\x9b\xec\x50\x08\xed\xe1\x5a\x6b\x46\xef\x2f\xa6\x7c\x7b\xf8\xf3\xc6\xde\xff\xfa\xcb\x0e\x1e\x36\x00\x00\xf1\xdf\x04\x8d\xb1\x41\x46\x57\xe3\x1c\x38\x31\x88\x88\x52\xf6\x23\xf2\xb9\x9f\xa1\x46\xd7\x0e\x25\x99\x7d\xc7\x66\x0f\x6a\x10\x53\xac\x74\x56\xfe\x3d\xf1\x55\x55\x87\x3b\x78\x9f\x0b\xaa\xfc\x2b\x38\xe6\x08\xe2\x05\x30\x7a\x1a\x38\xc0\x08\xd2\x31\xd4\x69\x9f\x78\x4e\x02\x09\xb7\x8a\x11\x2a\x8c\x45\x0f\x84\x1b\x64\x46\xbd\x20\xf2\xe8\x24\xc6\xda\xc3\x6f\x6b\x38\x29\x65\x34\xec\x19\x7b\xc5\x58\x78\xdb\x3a\xe4\x3d\x5c\x0f\x62\xa6\xaa\x87\xea\x44\x9b\x09\xdb\x1f\x28\xa0\x9e\xd7\x27\x79\x9e\xfb\x24\x8c\xa9\xe3\x8b\x9f\xc7\xae\x29\xe7\xda\xc0\xc7\xc9\xba\xac\x88\x99\xc6\xab\xff\x53\xaa\x4f\x45\xe8\xc5\x1e\x9e\xbf\xfc\x10\x62\xd5\xe2\x37\x25\x66\xb7\x39\x3b\x3b\xfb\xfc\x39\x09\xbd\xd8\x7e\x89\xfa\x09\xba\x4e\x89\x9f\xb3\xa0\x31\x91\x88\x81\xde\x6d\x77\x2b\xe6\x33\xa6\xb9\xf8\x8b\x18\xde\xc0\x7d\xe9\x02\x5c\x7d\x58\x15\xa3\x9c\x87\xa0\x98\x45\x99\x3e\x77\x27\x49\x3e\x26\x14\x78\x8f\xf5\x20\xf8\x42\x3b\x24\x0a\xb6\xb6\xbd\x45\x27\xe7\x1e\xfa\xa1\xea\x6c\xbd\x8c\x11\x55\xff\x60\x7d\xc2\x13\x44\xb1\x58\xc3\xc7\x6c\xc0\x0a\xa1\xdd\x5b\x7a\x9d\xe7\xca\x77\xeb\x77\xac\xd1\xde\x21\xaf\x52\x65\x7b\x25\xf5\x7e\xf1\x2e\x5b\x94\x2f\xcb\x52\x29\x5e\xdb\xc9\xe5\xb7\x48\x27\xf5\x13\xb2\xbf\x59\x3e\xef\x5f\xf5\xcc\xbe\x3f\xbc\xc5\x28\x65\x7a\xfc\x54\xfc\xb7\x70\x12\xd3\x75\x6d\x32\xaa\xef\xb6\xbb\xa5\x7f\xab\x2f\x97\x97\x30\xad\xe7\x58\xca\x66\x70\xda\x43\xfc\x69\x58\xad\xe0\x8b\x79\x2d\x4f\x3b\xf4\xb4\x92\x6b\x0a\x7a\x17\xcc\x23\x06\xc3\x7c\xb9\xa7\x35\x9c\x25\x98\x36\x2f\x50\x93\x28\xfd\xb4\xae\xbd\x00\x4f\x30\xe2\xb4\xe3\x29\x8f\xc7\x58\x53\x60\x27\x86\xfc\x14\x62\x79\xb6\x4d\x6c\xab\x23\xf9\x3a\xaf\xf7\x45\xd8\xab\x56\x97\xd9\x4f\xd1\x34\xac\x57\x1f\x9e\x4c\xc3\xab\xea\xdf\x3d\xac\x5a\xbd\x1e\x19\xfd\x24\xe8\x33\x2c\x27\x9d\x3c\x9e\xf4\xac\xd1\x0b\xd3\xf1\x09\x82\xd5\x98\x3d\x6e\xfe\x0d\x00\x00\xff\xff\xc6\x5e\xa3\xf4\x69\x08\x00\x00"
 
 func switchboardSafe_transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -702,11 +702,11 @@ func switchboardSafe_transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0x86, 0x70, 0xee, 0x6e, 0x97, 0x1c, 0x9c, 0x3a, 0xb5, 0xce, 0x49, 0x1c, 0x37, 0x46, 0x5c, 0xb7, 0xce, 0x1, 0x38, 0x34, 0x5a, 0x92, 0xdc, 0x3b, 0xa1, 0xf9, 0xc3, 0x25, 0xb6, 0x5e, 0x29}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0x29, 0xd0, 0x42, 0x9b, 0x75, 0xbc, 0x64, 0x0, 0x59, 0x4, 0xa4, 0x2, 0x60, 0xe3, 0xb8, 0xe7, 0x2a, 0x4c, 0xf, 0x42, 0xa0, 0xfa, 0x1e, 0xf, 0x22, 0x14, 0xd5, 0xee, 0xc7, 0x38, 0x3e}}
 	return a, nil
 }
 
-var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\xe3\x38\x0c\x3d\x37\xbf\xe2\x35\x87\xad\x03\xec\xba\x97\xc5\x1e\x82\x7e\x17\xdb\xbd\x16\x6d\xb7\x73\x96\x6d\x3a\xd6\x54\x91\x0c\x89\xae\x63\x14\xf9\xef\x03\x59\x8e\x23\xa7\x29\xa6\xb9\xc4\x92\xc8\x47\x3e\x3e\x92\x72\x5d\x1b\xcb\x78\x68\xf4\x4a\x66\x8a\x5e\xcc\x1b\x69\x94\xd6\xac\x31\x9f\xdc\xcd\x67\xc7\x2c\x9f\x5b\xc9\x79\x95\x19\x61\x8b\x63\x4e\xd1\xf3\xe8\xff\xef\x46\xac\xeb\x69\xa0\xf8\x6a\x3e\x9b\x9d\x9f\xe3\xa5\x92\x0e\x6c\x85\x76\x22\x67\x69\x34\xa4\x83\x00\xd3\xba\x56\x82\x09\xa5\xb1\xfe\x18\xbd\x73\x25\x18\xb9\x69\x54\x81\x8c\xd0\x38\x2a\x90\x75\x10\xba\x33\x9a\xe0\x11\xd9\xc0\x91\x2e\xc0\x3e\x88\xf3\x47\xa1\x0d\x57\x64\x21\xf2\xdc\x34\x9a\xc1\x95\x35\xcd\xaa\x82\x80\x8b\x58\x35\x4e\xea\x15\xb8\x22\x14\x54\x1b\x27\xd9\x83\xad\x89\x2b\x53\x20\x6b\x18\x19\x95\xc6\x8e\x8f\xde\xb6\x25\xb4\x52\x29\xd0\xa6\x56\x32\x97\xac\x3a\xe4\x15\xe5\x6f\x68\x2b\xea\x03\x5a\xca\x49\xbe\x7b\xd3\x5c\xd4\x22\x93\x4a\x72\x07\xe9\x3c\x70\x66\xac\x35\xad\xc8\x14\xc1\x58\x68\xc3\x10\xba\x80\x2c\xd1\x91\xf3\x49\x68\x48\x0e\xe8\x43\xc0\x3e\xb3\x77\xd1\x28\xf6\x94\xfc\x21\xa0\x93\x8d\xc0\xd3\x59\x54\xaa\x84\xcd\x12\xb7\x45\x61\xc9\xb9\x3f\x21\xd6\x9e\xfb\x12\xff\x3f\xc8\xcd\x3f\x7f\x2f\xf0\x31\x9b\x01\x40\x2f\x81\xc7\x2a\xc9\x92\xce\x69\x07\x1e\x22\xf5\xaa\xf9\x63\x2d\x3a\xb2\x67\x6e\x57\xc2\xde\x55\x11\x07\xb3\x27\x2a\x97\xf8\x23\xd6\x36\x7d\xf5\xf7\x71\x80\xfe\x02\x96\x9c\x69\xac\x8f\xe2\x55\xac\x8c\x2a\x7a\xb2\xa3\x56\xfe\x56\x58\x42\x46\xbd\x16\x9e\x4b\x49\xd6\x52\x31\x06\x74\xa4\xb9\xc7\x5a\xe2\x66\xd2\x81\x43\xc8\xde\xb0\xb6\x54\x0b\x4b\x89\x93\x2b\x4d\x76\x89\xdb\x86\xab\xdb\x90\xf9\x48\x7c\xc8\xed\x3f\x62\x88\xcf\xf4\x83\xe7\x99\x83\x63\x63\xa9\x08\x3c\x47\x3f\x47\xaa\x4c\x77\xd4\x71\x39\x58\xa7\x41\xd3\x8b\x23\x95\xb8\x4a\x7c\x25\x97\xf8\xfc\xf2\xcc\xc6\x8a\x15\x3d\x0a\xae\x16\xb3\x93\x93\x93\xeb\x6b\xd4\x42\xcb\x3c\x99\xdf\xf7\x3d\xee\x3b\x23\xe0\x7e\x4e\xd2\xb4\x21\xc7\x1e\xe8\x74\xbe\x98\x10\xfb\x21\xb9\x2a\xac\x68\x77\xb5\x1d\xa5\xfc\x06\xb5\xb1\xc8\xb8\xf8\x6b\xc2\x35\x6d\x07\xd4\x64\xd7\x4e\xe1\x7f\x08\xbd\x0d\x7f\xb4\xa1\xbc\x61\x3a\x52\xe9\xa1\x6d\x65\x2d\x49\xf3\x99\x43\xdd\x64\x4a\xe6\xe3\x60\x9a\xec\x27\xe5\xfb\x5c\xbc\xde\xa3\x35\x2e\xb1\x22\x1e\x54\x4c\xd8\x2c\xbe\x23\x63\x1c\x2b\xde\x60\x4f\xc3\xe8\x4c\x42\x45\xcb\x20\xc8\x3a\x7a\xa7\x2b\xe2\xfb\x71\xc8\x92\xaf\x36\x5f\xfa\xd8\xd3\x09\x5a\x22\xfa\x8d\x9d\xf1\xa5\x67\xf4\xfd\xf1\x1d\xa3\x10\x69\x7b\x95\xfc\xbe\x69\x86\x25\x31\xa9\x4d\x44\xf5\x74\xbe\xf0\x29\x4e\xaa\xf9\x2a\x94\x2c\xfc\xfa\xdd\xaf\x99\x83\x25\x96\x75\xc3\xbe\x74\xa2\xa4\xbb\x3e\xd4\x5d\xf7\xd2\xd5\x34\xc2\xc8\x72\xa7\x5f\xf0\x1e\x26\x65\x52\xe3\xf4\xd0\x3b\xe1\xae\xa6\x25\xfc\xe7\xc5\xcd\xb1\x31\x5a\x2c\x3e\x26\x95\x3d\xc0\x1b\x76\xe5\x30\x6d\x43\xf3\x8e\xdd\xbc\x17\x65\x0b\x52\xce\x37\x68\x8c\x55\x90\x63\x6b\xba\x83\x11\xd8\xfb\xec\x5a\x7c\xfb\x2b\x00\x00\xff\xff\x27\xe8\xc0\x2f\x4a\x07\x00\x00"
+var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4d\x6f\xe3\x38\x0c\x3d\x37\xbf\xe2\x35\x87\xd6\x06\x76\xdd\xcb\x62\x0f\x41\xbf\x8b\xe9\x5c\x8b\xb6\xd3\x39\xcb\x36\x1d\x6b\xaa\x48\x86\x44\x37\x31\x8a\xfc\xf7\x81\x2c\xdb\xb1\xd3\x14\x53\x4c\x2e\xb1\x24\xf2\x91\x7c\x8f\xa4\x5c\x55\xc6\x32\xee\x6b\xbd\x94\xa9\xa2\x67\xf3\x4a\x1a\x85\x35\x2b\xcc\x27\x77\xf3\xd9\x21\xcb\xa7\xb5\xe4\xac\x4c\x8d\xb0\xf9\x21\xa7\xd1\xf3\xe0\xff\x6d\x23\x56\xd5\x34\xd0\xf8\x6a\x3e\x9b\x9d\x9d\xe1\xb9\x94\x0e\x6c\x85\x76\x22\x63\x69\x34\xa4\x83\x00\xd3\xaa\x52\x82\x09\x85\xb1\xfe\x38\x7a\xe7\x52\x30\x32\x53\xab\x1c\x29\xa1\x76\x94\x23\x6d\x20\x74\x63\x34\xc1\x23\xb2\x81\x23\x9d\x83\x7d\x10\xe7\x8f\x42\x1b\x2e\xc9\x42\x64\x99\xa9\x35\x83\x4b\x6b\xea\x65\x09\x01\x37\xaa\xaa\x76\x52\x2f\xc1\x25\x21\xa7\xca\x38\xc9\x1e\x6c\x45\x5c\x9a\x1c\x69\xcd\x48\xa9\x30\x76\x78\xf4\xb6\x6b\xc2\x5a\x2a\x05\xda\x54\x4a\x66\x92\x55\x83\xac\xa4\xec\x15\xeb\x92\xda\x80\x96\x32\x92\x6f\xde\x34\x13\x95\x48\xa5\x92\xdc\x40\x3a\x0f\x9c\x1a\x6b\xcd\x5a\xa4\x8a\x60\x2c\xb4\x61\x08\x9d\x43\x16\x68\xc8\xf9\x24\x34\x24\x07\xf4\x2e\x60\x9b\xd9\x9b\xa8\x15\xfb\x92\xfc\x21\xa0\x93\x1d\x81\x27\xb3\x11\x55\x11\x9b\x05\x6e\xf2\xdc\x92\x73\xff\x40\xac\x7c\xed\x0b\xfc\xb8\x97\x9b\xff\xff\x8b\xf1\x3e\x9b\x01\x40\x2b\x81\xc7\x2a\xc8\x92\xce\xa8\x07\x0f\x91\x5a\xd5\xfc\xb1\x12\x0d\xd9\x53\xd7\x53\xd8\xba\x2a\xe2\x60\xf6\x48\xc5\x02\xa2\xe6\x32\x9a\xf4\x44\xf2\x53\x72\x99\x5b\xd1\x56\x19\xe3\x64\x2c\x7e\xf2\xe2\x1d\xc7\x19\xb4\x17\xb0\xe4\x4c\x6d\x7d\x1a\x5e\xe6\xd2\xa8\xbc\x65\x63\x10\xd3\xdf\x0a\x4b\x48\xa9\x15\xcb\x17\x5b\x90\xb5\x94\x0f\x19\x39\xd2\xdc\x62\x2d\x70\x3d\x4d\x27\x84\x6c\x0d\x2b\x4b\x95\xb0\x14\x39\xb9\xd4\x64\x17\xb8\xa9\xb9\xbc\x09\xa5\x0d\xcc\x74\xb9\x7d\x27\x86\xf8\xc8\x4f\xf0\x3c\x75\x70\x6c\x2c\xe5\x81\x88\xc1\xcf\x91\x2a\x92\x9e\x1b\x5c\x74\xd6\x49\x10\xfd\xfc\x6f\xa8\xba\x8c\xbc\x16\x0b\x7c\x7c\x79\x62\x63\xc5\x92\x1e\x04\x97\xf1\xec\xe8\xe8\xe8\xea\x0a\x95\xd0\x32\x8b\xe6\x77\xed\x94\xf8\xde\x0a\x81\x3f\x56\x61\xd6\xa1\x88\x16\xe8\x78\x1e\x4f\x2a\xef\x73\xea\xc9\x1f\x9a\xe1\x0b\xb5\x0f\x2a\xe0\xfc\xdf\x09\x19\xc9\xba\x43\x8d\xfa\x86\x0c\xff\x5d\xe8\x6d\xf8\xa3\x0d\x65\x35\xd3\x01\x29\xba\xc6\x97\x95\x24\xcd\xa7\x0e\x55\x9d\x2a\x99\x0d\xa3\x6d\xd2\x5f\x94\xed\x72\xf1\x0d\x31\x58\xe3\x02\x4b\xe2\x4e\xe6\x88\x4d\xfc\x15\x9d\xc7\xb1\xc6\x3b\xf0\xb1\x1b\xbe\x49\xa8\xd1\x3a\x09\xba\x0f\xde\xc9\x92\xf8\x6e\x18\xd3\xe8\xb3\xdd\x99\x3c\xb4\xe5\x04\x2d\x31\xfa\xf5\xad\x73\xf2\xa9\xe7\xe8\xfb\xfd\x2b\x46\x21\xd2\xf6\x32\xfa\x73\xd3\x74\x6b\x66\xc2\xcd\xa8\xd4\xe3\x79\xec\x53\x9c\xb0\xf9\x22\x94\xcc\xfd\x02\xdf\x2d\xaa\xbd\x35\x98\x36\xdd\xc6\x75\xa2\xa0\xdb\x36\xd4\x6d\xf3\xdc\x54\x34\xc0\xc8\xa2\xd7\x2f\x78\x77\xa3\x34\xe1\x38\xd9\xf7\x8e\xb8\xa9\x68\x01\xff\x79\x7e\x7d\x68\x8c\xe2\xf8\x7d\xc2\xec\x1e\x5e\xb7\x6d\xbb\x69\xeb\x9a\x77\xe8\xe6\x9d\x28\x5b\x90\x72\xbe\x41\xc7\x58\x39\x39\xb6\xa6\xd9\x1b\x81\x9d\x4f\xdf\xe2\xdb\xdf\x01\x00\x00\xff\xff\xef\x92\x6f\xa2\x8c\x07\x00\x00"
 
 func switchboardSafe_transfer_tokens_v2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -722,7 +722,7 @@ func switchboardSafe_transfer_tokens_v2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens_v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd1, 0xa8, 0xe5, 0xd9, 0x92, 0x93, 0xd8, 0xb9, 0x8e, 0xfe, 0x39, 0x53, 0xee, 0x71, 0xfe, 0xeb, 0xb2, 0x79, 0x2c, 0xa0, 0xaf, 0xad, 0x55, 0x33, 0xff, 0x89, 0x59, 0x44, 0x9f, 0xcb, 0x9, 0x23}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbf, 0x44, 0x4c, 0xb2, 0x5b, 0x45, 0x85, 0x8e, 0x98, 0x69, 0xa5, 0xd1, 0xb1, 0x81, 0x9d, 0x55, 0xac, 0x5f, 0x97, 0x18, 0xcf, 0xcf, 0x7b, 0x5f, 0x99, 0x27, 0xf8, 0x9b, 0x75, 0x53, 0x61, 0x5e}}
 	return a, nil
 }
 
@@ -786,7 +786,7 @@ func switchboardSetup_royalty_account_by_pathsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardTransfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4f\x4f\xdb\x4e\x10\x3d\xe3\x4f\x31\xbf\x1c\x7e\x38\x52\x08\x97\xaa\x87\x88\x3f\x45\xb4\xf4\x8a\x28\x6d\xcf\x63\x7b\x62\x6f\xeb\xec\xac\x66\xc7\x84\x08\xf1\xdd\xab\xdd\xb5\x8d\x0d\x95\x68\x0e\x71\x3c\x3b\x7f\xde\xbc\xf7\x36\x66\xe7\x58\x14\x6e\x3a\x5b\x9b\xa2\xa5\x7b\xfe\x4d\x16\xb6\xc2\x3b\x58\xcc\x62\x8b\xac\xcf\xfc\xf2\x88\x3b\x37\x4f\x9c\x86\x16\x59\x76\x7a\x0a\xf7\x8d\xf1\xa0\x82\xd6\x63\xa9\x86\x2d\x18\x0f\x08\x4a\x3b\xd7\xa2\x12\x6c\x59\xc2\xeb\xe4\x5c\x1b\xd4\x50\x58\x72\xd7\x56\x50\x10\x74\x9e\x2a\x28\x0e\x80\xf6\xc0\x96\x40\x19\x3c\xd9\x0a\x34\xcc\xf0\xe1\x15\x2d\x6b\x43\x02\x58\x96\xdc\xd9\x58\xac\x8d\x70\x57\x37\x80\xe0\xf7\x46\xcb\xa6\x60\x94\x6a\x05\xe8\xa1\x65\x5b\x87\xa7\x36\x74\x80\x06\x1f\x08\x3c\x29\x74\x2e\x04\x8c\x84\xda\x49\x05\xa0\xad\x52\x12\x56\x55\xc8\x00\x27\xec\x48\xa0\x44\x87\x85\x69\x8d\x1e\x02\x00\x13\x66\xa6\x65\x63\xa6\x90\xf7\xc0\xdb\x58\x20\x54\x92\x79\x78\x41\xb7\x8a\x51\xdc\x85\xdf\xa1\x36\xae\xbe\xa5\x38\x39\x4c\x0b\xa7\xb7\x5d\xd1\x9a\xf2\x16\xb5\x89\xfc\x84\x50\x4d\x96\xc4\x94\x70\x73\xff\xd2\x71\x6f\xda\x36\x10\xa4\x0d\x85\x6a\x87\x82\x3b\x52\x12\x9f\x4d\xf8\xcc\x95\x37\x70\x95\x30\xad\xfa\xb9\x1b\xf8\x7e\x63\x1e\x3f\x7e\x58\x8d\xbd\xc2\xac\xcd\x64\xee\x12\x9e\xb2\x0c\x00\xa0\x5f\xea\x01\xbb\x56\x41\xc8\x73\x27\x25\x45\x8d\xa0\xe1\xb6\x8a\x3c\x8e\x52\x84\x28\x0a\x41\x41\xc6\xd6\xe3\x66\x42\x55\x6c\xd5\x92\x06\xe5\xf4\x47\xe8\xb5\x81\x4f\x33\x53\xad\x63\x34\xcd\x74\x42\x0e\x85\x72\x6f\x6a\x4b\xb2\x81\xab\x4e\x9b\xab\xc4\xde\x88\xab\xc7\xf6\x95\x14\x10\x84\xb6\x24\x64\xcb\x68\x8e\x00\x28\x55\x1e\x7b\xf0\xca\x42\x55\x82\x3f\xd6\x05\x20\x31\x72\x47\x5b\x38\xef\x93\xd7\x05\x8b\xf0\xfe\xec\xff\xa9\x85\x13\xaa\x8b\x3c\x98\x7b\x03\x6f\x4f\xbe\x29\x0b\xd6\x14\x19\xcb\x8e\x8e\x8e\x2e\x2f\xc1\xa1\x35\x65\xbe\xb8\x8e\xee\xb5\xac\x90\xfa\xbe\xc5\xc8\xfb\x04\x31\x36\xfa\x6f\xb1\x9c\xed\xf5\xd3\x68\x53\x09\xee\x07\x6a\xe3\xed\x7a\x7f\x33\x4f\xed\x76\x3d\x72\x0c\x67\x27\xe3\x9e\xeb\x7d\xdf\x31\x1f\x2c\x90\x9e\xcb\x58\x1b\xbf\x9e\x13\x02\x7a\xa4\xb2\x53\xfa\x0b\xd1\xbd\x9d\x8d\x33\x64\xf5\xd8\x83\x8b\x76\x19\x8c\x0d\x5c\xfc\xa2\x72\xce\xf2\x98\x0d\xe7\x50\x93\xf6\x22\xe6\xca\xcb\x7f\x51\x71\x3a\xeb\xae\x37\xea\xeb\xf6\x31\x98\x74\x1c\xd3\xc7\x9c\xf0\x59\xd7\xa4\xd7\xe3\x6d\xcd\xa7\x86\x5f\xce\x13\x07\x03\x3c\xcd\x8d\x39\x4c\x7e\xbe\xc8\xdf\xd7\xb8\xbf\x99\xb3\x55\x26\xff\x27\xaf\x65\xfe\x4c\x8e\xbd\x49\xcc\x0e\x02\xd9\x41\x73\x63\xdf\xb0\x20\xaf\x59\x98\x30\xb0\xae\x52\xb3\xde\xac\x67\x27\x73\x33\xcc\x85\x7e\xce\xfe\x04\x00\x00\xff\xff\x2d\x30\xef\xcf\xee\x05\x00\x00"
+var _switchboardTransfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\xdb\x38\x10\x3d\x47\xbf\x62\xd6\x87\x44\x06\x1c\xe7\xb2\xd8\x83\x91\x8f\x0d\xd2\xa6\xd7\x20\x4d\xdb\xf3\x88\x1a\x8b\x6c\x65\x92\x18\x8e\xe2\x18\x41\xfe\x7b\x41\x52\x52\xa4\xa4\x40\xea\x83\x65\x0d\xe7\xe3\xcd\x7b\x8f\x36\x3b\xef\x58\xe0\xb6\xb3\x8d\xa9\x5a\x7a\x70\xbf\xc8\xc2\x96\xdd\x0e\x16\xb3\xd8\xa2\xe8\x33\x3f\x3f\xe1\xce\xcf\x13\xa7\xa1\x45\x51\x9c\x9d\xc1\x83\x36\x01\x84\xd1\x06\x54\x62\x9c\x05\x13\x00\x41\x68\xe7\x5b\x14\x82\xad\xe3\xf8\x3a\x39\x17\x8d\x12\x0b\x95\xeb\xda\x1a\x2a\x82\x2e\x50\x0d\xd5\x01\xd0\x1e\x9c\x25\x10\x07\x81\x6c\x0d\x12\x67\x84\xf8\x8a\xd6\x89\x26\x06\x54\xca\x75\x36\x15\x8b\x66\xd7\x35\x1a\x10\xc2\xde\x88\xd2\x95\x43\xae\x57\x80\x01\x5a\x67\x9b\xf8\x14\x4d\x07\xd0\xf8\x48\x10\x48\xa0\xf3\x31\x60\x38\xd6\x4e\x2a\x00\x6d\x9d\x93\xb0\xae\x63\x06\x78\x76\x9e\x18\x14\x7a\xac\x4c\x6b\xe4\x10\x01\x98\x38\x33\x2f\x9b\x32\x99\x42\x00\xb7\x4d\x05\x4c\x8a\xcc\xe3\x2b\xba\x55\x8a\xe2\x2e\xfe\x8e\xb5\x69\xf5\x2d\xa5\xc9\x71\x5a\x3c\xbd\xeb\xaa\xd6\xa8\x3b\x14\x9d\xf8\x89\xa1\x86\x2c\xb1\x51\x70\xfb\xf0\xda\x71\x6f\xda\x36\x12\x24\x9a\x62\xb5\x47\xc6\x1d\x09\x71\x28\x26\x7c\x96\xe2\x36\x70\x9d\x31\xad\xfa\xb9\x1b\xf8\x76\x6b\x9e\xfe\xfb\x77\x35\xf6\x8a\xb3\x36\x93\xb9\x4b\x78\x2e\x0a\x00\x80\x7e\xa9\x47\xec\x5a\x01\xa6\xe0\x3a\x56\x94\x34\x02\xed\xda\x3a\xf1\x38\x4a\x11\xa3\xc8\x04\x15\x19\xdb\x8c\x9b\x31\xd5\xa9\x55\x4b\x12\x95\x93\xef\xb1\xd7\x06\xfe\x9f\x99\x6a\x9d\xa2\x79\xa6\x67\xf2\xc8\x54\x06\xd3\x58\xe2\x0d\x5c\x77\xa2\xaf\x33\x7b\x23\xae\x1e\xdb\x17\x12\x40\x60\xda\x12\x93\x55\xc9\x1c\x11\x50\xae\x3c\x09\x10\xc4\x31\xd5\x19\xfe\x58\x17\x81\xa4\xc8\x3d\x6d\xe1\xa2\x4f\x5e\x57\x8e\xd9\xed\xcf\xb1\x13\x5d\xce\xa1\xfd\x30\xa2\x6b\xc6\x3d\x56\x2d\x2d\xe1\x78\xea\xf1\x0c\xfb\xb2\x8c\xee\xdf\xc0\xfb\x93\xaf\xe2\x18\x1b\x4a\x94\x16\x47\x47\x47\x57\x57\xe0\xd1\x1a\x55\x2e\x6e\x92\xbd\xad\x13\xc8\x83\xdf\x2f\xe1\xf6\x79\x87\xd4\xe8\x9f\xc5\x72\xb6\xf8\x80\x69\xe0\x3e\x5d\xbf\x8f\x57\x0f\xd4\x6e\xd7\xa3\x08\x70\x7e\x3a\x12\xb1\xde\xf7\x1d\xcb\xc1\x23\xf9\xb9\x4c\xb5\xe9\xeb\x25\x23\xa0\x27\x52\x9d\xd0\x1f\x94\xe8\xfd\x6e\xbc\x21\x2b\x27\x01\x7c\xf2\xd3\xe0\x7c\x70\xd5\x4f\x52\x73\x19\xc6\x6c\xb8\x80\x86\xa4\x57\xb9\x14\xb7\xfc\x1b\x99\xa7\xb3\xee\x7b\x27\xbf\x6d\x9f\x82\x59\xe8\x31\x7d\xcc\x89\x9f\x75\x43\x72\x33\x5e\xe7\x72\x7a\x23\x96\xf3\xc4\xde\x21\xc7\xcf\x73\x7b\x0c\x93\x5f\x2e\xcb\x8f\x35\xee\xaf\xee\x6c\x95\xc9\x1f\xce\x5b\x99\x3f\x91\x77\xc1\x64\x66\x07\x81\xec\xa0\xb9\xb1\xef\x58\xe0\xb7\x2c\x4c\x18\x58\xd7\xb9\x59\x6f\xd6\xf3\xd3\xb9\x19\xe6\x42\xbf\x14\xbf\x03\x00\x00\xff\xff\x3f\x7d\x09\xec\x0f\x06\x00\x00"
 
 func switchboardTransfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -802,11 +802,11 @@ func switchboardTransfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0x42, 0x4f, 0x7e, 0xc3, 0x84, 0x4d, 0x7a, 0xf4, 0x33, 0x40, 0xa8, 0x15, 0xe6, 0x5c, 0xa9, 0x54, 0x16, 0x76, 0x6a, 0xee, 0x7d, 0x88, 0x23, 0xc2, 0xe3, 0xa1, 0xef, 0xaa, 0xd9, 0x6d, 0xa}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xa7, 0xa7, 0x4d, 0x8d, 0x23, 0x60, 0xab, 0x4, 0x57, 0x96, 0x4, 0x1a, 0x97, 0x6, 0xb7, 0x12, 0xaa, 0x97, 0x5e, 0xbc, 0x46, 0x86, 0x7e, 0xef, 0xc0, 0x58, 0x4e, 0xa3, 0xc5, 0xc4, 0x6a}}
 	return a, nil
 }
 
-var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x54\x4d\x6f\x9b\x40\x10\x3d\x87\x5f\x31\xe1\xd0\xe0\x43\xc8\xa5\xea\x01\x39\x89\xac\xb4\xe9\xa9\x52\x94\xa6\xed\xa1\xaa\x94\x05\x06\xd8\x06\xef\xae\x66\x87\xd8\x91\xe5\xff\x5e\x2d\xbb\x20\x6c\xac\xd4\x17\x4b\xf3\xf1\xe6\xcd\xbc\xc7\xca\xb5\xd1\xc4\x70\xdf\xa9\x5a\xe6\x2d\x3e\xe9\x17\x54\x50\x91\x5e\x43\x7c\x10\x8b\xa3\x50\xf9\x65\x2b\xd6\xe6\xb0\x70\x1a\x8a\xa3\xe8\xea\xea\x0a\x9e\x48\x28\x5b\x21\x59\x60\x17\x75\x7f\x20\xa0\x95\x96\x41\x57\x20\xca\x92\xd0\x5a\xb4\x60\x0d\x16\xb2\x92\x58\x82\x54\xc0\x0d\xc2\x73\xc8\xad\xd6\xba\x53\xfc\x4d\x98\x67\x30\x82\xc4\x1a\x19\x29\x8a\xd8\xc1\x8a\x82\xa5\x56\xc9\x71\x61\x06\xbb\x95\x0f\x65\xf0\xe3\x5e\x6e\x3f\x7d\xdc\x2f\x60\x17\x45\x00\x00\x8e\x51\x83\xf0\x53\x74\x2d\x03\xa1\xd5\x1d\x15\x08\xdc\x08\x86\x46\xb7\xa5\xed\x47\x0f\x4c\x5d\x54\x10\x42\x8e\x52\xd5\xc0\x61\x13\xc2\xb2\x87\x6a\x91\xe1\xd5\xe1\x3c\x62\x95\xc1\x87\xe9\xee\x69\x8f\xef\x27\x1a\x42\x23\x08\x13\x2b\x6b\x85\x94\xc1\xaa\xe3\x66\x55\x14\x8e\xeb\xc8\x2a\x30\xfb\x8a\x0c\x02\x08\x2b\x24\x54\x8e\x96\xee\xe9\xf8\xce\x0b\x0b\x96\x35\x61\xe9\x87\x8e\x7d\x16\xdb\x2a\x1d\x78\xc0\x75\xa8\x4e\x73\x4d\xa4\x37\xcb\x13\xb4\x6e\x12\x27\x56\x06\xf3\xcc\x77\xd6\x24\x6a\x7c\x10\xdc\x2c\xa2\xb3\xb3\xb3\xdb\x5b\x30\x42\xc9\x22\x89\xef\x74\xd7\x96\xa0\x34\x83\xc7\x9d\x93\xd4\x1b\xcf\xb1\x07\x3a\x8f\x17\x3d\xbf\xbd\x5f\x0f\xb7\x58\x74\x8c\xd3\x6d\x2b\x4d\x83\xf8\x4e\xf0\x63\x09\xd3\x17\x7c\xb3\xd3\xfa\x70\xa1\x5f\x92\x9b\x92\xc4\x66\x90\xa8\xb7\xdd\xff\x6f\x34\xc8\x65\x51\xb1\x97\x7e\x79\x79\x78\xb8\x74\x13\x90\x13\xd1\x73\xc8\x66\x94\x7e\x87\xc0\x9f\xf3\xc5\x8c\x96\x13\xce\xb1\x20\x2c\xa4\x91\xa8\xf8\xc2\x82\xe9\xf2\x56\x16\x20\xbc\xd4\xa0\xf3\xbf\x58\xcc\x19\x8d\x1d\x70\x0d\x35\x72\x30\xc6\x60\xe9\xd3\x93\x4e\x58\x64\x3a\xf8\x11\x0b\x94\xaf\x48\xa7\x66\xf5\x09\xef\x93\xb1\x25\xad\x91\xef\x84\x11\xb9\x6c\x25\xbf\x25\x07\xb6\x18\xb0\x1e\xfa\x65\xbc\x31\xe0\xe8\x37\x5a\x6d\x77\xf0\x4e\x8c\xbd\xfb\x9b\x64\xde\xf4\xae\xb5\x7c\xdf\xfb\x5b\xf6\x32\xc6\xf3\x03\x7d\x46\xa3\xad\xf4\x72\x0c\x9a\xaa\xc1\x2e\xe1\x69\x99\xe2\xd0\xa9\x6b\x4d\x2e\x95\x96\x1e\x30\x7c\x34\xcb\xcb\xd1\x43\x93\xd9\xfb\xe0\xf6\x7d\xf4\x2f\x00\x00\xff\xff\x59\x4e\x87\x84\x46\x05\x00\x00"
+var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x94\x4d\x4f\xdc\x30\x10\x86\xcf\xe4\x57\x0c\x7b\x80\xec\x81\x70\xa9\x7a\x88\xf8\xd0\x8a\x96\x9e\x2a\x21\x4a\xdb\x43\x55\x09\x27\x99\x24\x2e\x59\xdb\x1a\x4f\x58\x10\xda\xff\x5e\x39\xb6\x57\xc9\x66\x45\xa5\x72\x41\x1a\xcf\xc7\x3b\xef\x3c\x59\xb9\x36\x9a\x18\x6e\x7b\xd5\xc8\xa2\xc3\x07\xfd\x84\x0a\x6a\xd2\x6b\x58\x4c\x62\x8b\x24\x64\x7e\x7e\x11\x6b\x33\x4d\x1c\x87\x16\x49\x72\x7e\x7e\x0e\x0f\x24\x94\xad\x91\x2c\xb0\x8b\xba\x7f\x20\xa0\x93\x96\x41\xd7\x20\xaa\x8a\xd0\x5a\xb4\x60\x0d\x96\xb2\x96\x58\x81\x54\xc0\x2d\xc2\x63\x78\x5b\xad\x75\xaf\xf8\xab\x30\x8f\x60\x04\x89\x35\x32\x52\x92\xb0\x6b\x2b\x4a\x96\x5a\xa5\xfb\x89\x39\xbc\xad\x7c\x28\x87\xef\xb7\xf2\xe5\xe3\x87\xed\x12\xde\x92\x04\x00\xc0\x29\x6a\x11\x7e\x88\xbe\x63\x20\xb4\xba\xa7\x12\x81\x5b\xc1\xd0\xea\xae\xb2\xc3\xe8\xa8\xd4\x45\x05\x21\x14\x28\x55\x03\x1c\x36\x21\xac\x86\x56\x1d\x32\x3c\xbb\x3e\xf7\x58\xe7\x20\x7a\x6e\xd3\x89\x51\xd9\x4f\xc9\x6d\x45\x62\x23\x8a\x0e\x97\x70\x32\x36\x27\x1b\x04\x78\x49\x86\xd0\x08\xc2\xd4\xca\x46\x21\xe5\xb0\xea\xb9\x5d\x95\xa5\x5b\x66\x27\x3b\x48\xff\x82\x0c\x02\x08\x6b\x24\x54\x4e\xb7\x1e\xf4\xfa\xca\x53\x0b\x96\x35\x61\xe5\x55\xed\xea\x2c\x76\x75\x16\x85\xc2\x65\xc8\xce\x0a\x4d\xa4\x37\x17\xff\xa3\xfb\x2a\x75\xe7\xce\x61\xfe\xf2\x8d\x35\x89\x06\xef\x04\xb7\xcb\xe4\xe8\xe8\xe8\xfa\x1a\x8c\x50\xb2\x4c\x17\x37\xba\xef\x2a\x50\x9a\xc1\x0f\x9e\x6f\xa1\x37\x7e\x89\xa1\xd1\xf1\x62\x39\x2c\xb0\xf5\xfb\xe3\x0b\x96\x3d\xe3\xd8\x8e\x5a\x53\xc4\xc7\x21\xb3\x0f\x41\xf6\x84\xaf\x76\x9c\x1f\x2c\x8c\xcb\xc5\x23\x0f\xe0\xfe\xdb\xc4\x78\x70\x8b\x8a\x3d\x3c\x17\x67\x53\x67\xb3\x4d\xe8\x9c\x8a\x41\x43\x3e\x93\xf4\x2b\x04\x7e\x1f\x2f\x67\xb2\xdc\x65\x9d\x0a\xc2\x52\x1a\x89\x8a\x4f\x2d\x98\xbe\xe8\x64\x09\xc2\xb3\x00\xba\xf8\x83\xe5\x5c\xd1\xae\x02\x2e\xa1\x41\x0e\xe4\xc4\x8f\xe2\xf0\xa4\x03\x0c\x8d\x07\xdf\x63\x89\xf2\x19\xe9\xd0\xac\xe1\xc1\x83\xb4\x2b\xc9\x1a\xe4\x1b\x61\x44\x21\x3b\xc9\xaf\xe9\x04\x8b\xd8\xeb\x6e\x58\xc6\x83\x01\x7b\x7f\x91\xc5\x93\xb7\x29\x88\xb1\x76\x7b\x95\xce\x8b\xde\x45\xcb\xd7\xbd\xbf\xe5\x70\xc6\xc5\xdc\xa0\x4f\x68\xb4\x95\xfe\x1c\xf1\xa6\x2a\xe2\x12\x7e\x9c\xc6\x7d\xe8\x90\x5b\x23\xa7\xb2\xca\x37\x0c\x1f\xcd\xc5\xd9\x8e\xa1\xd1\xec\x6d\xa0\x7d\x9b\xfc\x0d\x00\x00\xff\xff\x5e\xe9\xfc\xf4\x88\x05\x00\x00"
 
 func transfer_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -822,11 +822,11 @@ func transfer_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x3a, 0x6, 0xa3, 0x37, 0xad, 0x9b, 0x2, 0xd, 0x14, 0x2a, 0xef, 0xa6, 0xe0, 0x60, 0x2f, 0xd6, 0xd2, 0xae, 0x2a, 0x85, 0x4e, 0x5d, 0xc2, 0xe7, 0x60, 0x62, 0x48, 0x4a, 0x73, 0x20, 0x55}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0x65, 0xb0, 0xa4, 0x7c, 0x24, 0x55, 0x8, 0xc3, 0xb, 0x38, 0xd5, 0x7d, 0x1a, 0x9e, 0x8a, 0xf, 0xb7, 0x52, 0xac, 0x4, 0xea, 0x6a, 0xc2, 0x19, 0xb3, 0x6f, 0xcb, 0x4a, 0xac, 0x53, 0x8e}}
 	return a, nil
 }
 
-var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x53\x4d\x6f\xd3\x40\x10\xbd\xfb\x57\x0c\x39\x50\x47\xa2\xce\x05\x71\x88\xfa\x41\x55\x28\xd7\xaa\x14\x38\xaf\xed\x97\x78\xc1\xd9\xb5\x66\xc7\x4d\xab\xaa\xff\x1d\xed\xae\xd7\xd8\x09\xe2\x23\x97\xc8\xe3\x99\x37\x6f\xde\x7b\x5e\xad\xe8\xbe\xd1\x8e\x84\x95\x71\xaa\x12\x6d\x0d\x69\x47\x8a\x04\xbb\xae\x55\x02\xda\x58\xf6\x8f\x93\xf7\xd2\x28\xc9\x56\x2b\xaa\x6c\xdf\xd6\x54\x82\x7a\x87\x9a\xca\x27\x52\xe6\xc9\x1a\x90\x58\x72\x30\x35\x89\xfd\x01\xe3\xfc\xa3\x32\x56\x1a\x30\xa9\xaa\xb2\xbd\x09\xc3\x1e\x84\x1a\xe5\xa8\x04\x0c\x39\x08\xf5\x9d\x6f\x65\x54\xd0\x0f\x18\x86\x8b\x6c\xb5\xca\x02\x47\xd0\x5e\x4b\x53\xb3\xda\x93\xda\x79\x10\x52\x7e\x45\x83\x04\x4a\x1b\xb6\x3b\xda\x42\xae\x7e\x2d\xd9\x27\x86\xbe\xaf\x53\xac\x76\x10\x70\xa0\xe4\x2b\x93\xa3\xb2\x4c\xef\x3a\xcb\x42\x37\xbd\xd9\xea\xb2\xc5\xbd\xdf\x1f\x31\x17\xb3\xda\x22\x75\x7e\x7c\x54\xbb\x6e\xde\x38\x2d\x2d\xb2\x6c\x82\x9f\x47\xd2\x6b\xfa\x72\xa3\x1f\xdf\xbd\x7d\x43\x62\xd7\x74\x55\xd7\x0c\xe7\x96\xf4\x9c\x65\x44\x44\xc3\xa1\x5f\x55\xdf\x0a\x31\x9c\xed\xb9\xc2\xa0\x94\x6d\x6b\x17\x49\x0f\xaa\xfa\xaa\x62\x50\x09\x6d\xb6\xf1\x94\x0d\x98\x51\x07\xa8\x16\xe2\x4d\x90\x80\xb5\xa6\xf7\xb3\x13\x8a\x50\x8d\x3b\x3b\x46\xa7\x18\xb9\xd3\x5b\x03\x5e\xd3\x55\x2f\xcd\xa0\xe0\xc8\x6b\xe0\xf6\x09\x42\x8a\x18\x1b\x30\x4c\x85\xa4\x62\x9c\x3c\x71\xe4\xc4\x32\x6a\x7a\x08\xe0\x69\xce\x13\x09\x95\x3b\x6c\xe8\x7c\x68\x2e\x4a\xcb\x6c\xf7\x67\xaf\xa7\x82\x45\x56\x17\xb9\x97\x72\x4d\xc7\x6f\x3e\x8b\x65\xb5\xc5\xad\x92\x66\x39\xc2\xfb\xdf\xe5\x25\x75\xca\xe8\x2a\x5f\x5c\x07\xbf\x8d\x15\x8a\x0b\x8e\xc9\xda\x7d\xe4\x1a\x10\x5f\x2d\x96\xb3\x03\xbf\xa5\x84\x0d\x1a\x07\x53\xff\x7e\xa2\x43\xbb\x29\x46\xb1\xe9\xec\x74\x3c\xb8\x48\x99\x1d\xed\x8f\xff\x91\xff\x4b\x5c\x8e\x47\x54\xbd\xe0\x37\x62\xfb\xd5\x8c\x4a\x77\x1a\x46\x4e\x1c\x75\x7d\xd9\xea\x6a\x0c\xbc\x2d\xbf\xa3\x9a\x2b\x3d\x76\xd3\xf9\xe4\x53\xc8\xc5\x2e\xff\xc5\xc9\xe9\xae\xbb\xf8\x1d\xf2\x21\x7c\x28\x46\x2f\xc7\xf6\x62\x0b\xb9\x56\x9d\x2a\x75\xab\xe5\x29\x9f\x59\x97\x70\x6e\x03\xf7\x63\xf3\xc6\x28\x3c\xcf\x23\x9a\xe6\x5e\x2e\xf2\xff\x70\x3b\xce\xfc\xf9\xb2\xe0\xd2\x81\xf3\x1f\xd0\x59\xa7\xa3\xe2\xc9\x33\x93\x62\xa0\xcd\x11\x06\x1f\xaa\x33\x51\xa6\xa8\x23\xd8\x10\xe4\xb3\xd3\x79\x3e\x92\xf7\x2f\xd9\xcf\x00\x00\x00\xff\xff\xf7\x59\xaf\xcf\x7c\x05\x00\x00"
+var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x53\x4f\x6f\xdb\x3e\x0c\xbd\xfb\x53\xf0\x97\x43\xeb\x00\xbf\x3a\x97\x61\x87\xa0\x7f\x56\x74\xeb\xae\x45\xd7\x6d\x67\x5a\x66\x62\x6d\x8e\x24\x50\x74\xd3\xa2\xe8\x77\x1f\x24\x59\x9e\x9d\x0c\xfb\xe3\x8b\x21\x8a\x7c\x7c\x7c\x8f\x5a\xad\xe0\xa1\xd5\x1e\x84\xd1\x78\x54\xa2\xad\x01\xed\x01\x41\x68\xe7\x3a\x14\x82\x8d\xe5\x70\x9c\xdc\x4b\x8b\x52\xac\x56\xa0\x6c\xdf\x35\x50\x13\xf4\x9e\x1a\xa8\x9f\x01\xcd\xb3\x35\x04\x62\xc1\x93\x69\x40\xec\x77\x32\x3e\x1c\xd1\x58\x69\x89\x01\x95\xb2\xbd\x89\xc5\x01\x04\x5a\xf4\x50\x13\x19\xf0\x24\xd0\xbb\x90\xca\xa4\x48\x3f\xd2\x50\x5c\x15\xab\x55\x11\x39\x12\xec\xb5\xb4\x0d\xe3\x1e\x70\x17\x40\x00\x43\x8b\x96\x32\x28\x6c\xd8\xee\x60\x4b\x72\xfd\xb3\xc9\x3e\x33\x0c\x79\x0e\x19\x77\x24\xc4\x91\x52\x88\x4c\x86\x2a\x0a\xbd\x73\x96\x05\x6e\x7b\xb3\xd5\x75\x47\x0f\xa1\x7f\xc2\x5c\xcc\x62\x8b\x9c\xf9\xe1\x09\x77\x6e\x9e\x38\x0d\x2d\x8a\x62\x82\x5f\x26\xd2\x6b\xf8\x7c\xab\x9f\xde\xbe\xf9\x1f\xc4\xae\xe1\xba\x69\x98\xbc\x5f\xc2\x4b\x51\x00\x00\x0c\x83\x7e\xc1\xbe\x13\x60\xf2\xb6\x67\x45\x83\x52\xb6\x6b\x7c\x22\x3d\xa8\x1a\xa2\xc8\x04\x35\x69\xb3\x4d\xa3\x6c\x88\x99\x9a\x08\xd5\x91\x04\x13\x24\x62\xad\xe1\xdd\x6c\x84\x2a\x46\x53\x4f\xc7\xe4\x90\xa9\xf4\x7a\x6b\x88\xd7\x70\xdd\x4b\x3b\x28\x38\xf2\x1a\xb8\x7d\x24\x01\x04\xa6\x0d\x31\x19\x45\x59\xc5\x54\x79\xea\xc1\x8b\x65\x6a\xe0\x31\x82\xe7\xba\x40\x24\x46\xee\x69\x03\x17\x43\x72\x55\x5b\x66\xbb\x3f\xc7\x5e\xda\x72\x4e\xed\xeb\xe0\x32\xd6\x1d\x2d\xe1\x64\xaa\x68\xa2\x7d\x59\x06\xad\xd7\x70\x7c\xf3\x49\x2c\xe3\x96\xee\x50\xda\xe5\xd8\x3f\x7c\x57\x57\xe0\xd0\x68\x55\x2e\x6e\xe2\x42\x18\x2b\x90\x18\x1c\x4f\x63\xf7\x69\x98\x88\xf8\xdf\x62\x39\x53\x20\x93\xcb\x26\x44\xd7\xff\xac\x81\xa7\x6e\x53\x8d\x6e\xc0\xf9\xd9\xa8\x48\x95\x97\x7a\xdc\x8f\xf4\x4f\xfc\x5f\x53\x73\x7a\x22\xd5\x0b\xfd\xc2\x8d\xd0\x9a\x49\x69\xa7\xc9\xc8\xa9\x07\xd7\xd7\x9d\x56\xe3\x8b\xb0\xf5\x37\x52\x73\x2b\xc6\x6c\xb8\x98\xbc\x95\x52\xec\xf2\x6f\xac\x9e\xf6\xba\x4f\x0f\x95\x0f\xe1\x63\x30\x99\x3d\xa6\x57\x5b\x92\x1b\x74\x58\xeb\x4e\xcb\x73\x39\xb3\x2e\xe3\xdc\x45\xee\xc7\xe6\xe5\x5d\x39\x79\x99\x2f\x4a\xae\x7b\xbd\x2c\xff\xc1\xed\x54\xf3\xfb\xc9\xa2\x4b\x07\xce\xbf\x27\x67\xbd\x4e\x8a\x67\xcf\x4c\x5e\x03\x6d\x8e\x30\xf8\x50\x9d\x89\x32\x55\x93\xc0\x86\x45\x3e\x3f\x9b\xef\x47\xf6\xfe\xb5\xf8\x11\x00\x00\xff\xff\x85\x73\xf9\x99\x9d\x05\x00\x00"
 
 func transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -842,7 +842,7 @@ func transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9d, 0x16, 0xc6, 0x17, 0xab, 0x4d, 0xba, 0x5d, 0xd7, 0x3e, 0xe9, 0x51, 0xf7, 0xc1, 0x21, 0x29, 0x68, 0xd8, 0x18, 0xbe, 0xb4, 0x85, 0xd9, 0xcb, 0x64, 0x28, 0x51, 0xe0, 0xca, 0xba, 0xde, 0x5a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x59, 0x33, 0x7d, 0x86, 0xb0, 0xdd, 0x7b, 0x77, 0x45, 0xfe, 0xe1, 0xd5, 0x1f, 0x9e, 0xc1, 0x2a, 0x7d, 0xe9, 0xc5, 0xbf, 0x53, 0xa, 0xd2, 0x93, 0x49, 0xc2, 0xeb, 0xb3, 0xdf, 0xc7, 0xd6, 0x80}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/script_templates.go b/lib/go/templates/script_templates.go
index 319b4910..faa8e6ac 100644
--- a/lib/go/templates/script_templates.go
+++ b/lib/go/templates/script_templates.go
@@ -18,7 +18,7 @@ const (
 func GenerateInspectVaultScript(fungibleAddr, tokenAddr flow.Address, tokenName string) []byte {
 	code := assets.MustAssetString(scriptsPath + readBalanceFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
 
 // GenerateInspectSupplyScript creates a script that reads
@@ -28,14 +28,14 @@ func GenerateInspectSupplyScript(fungibleAddr, tokenAddr flow.Address, tokenName
 
 	code := assets.MustAssetString(scriptsPath + readSupplyFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
 
 // GenerateInspectSupplyViewScript creates a script that reads
 // the total supply of tokens in existence through a metadata view
-func GenerateInspectSupplyViewScript(fungibleAddr, tokenAddr, metadataViewsAddr, ftMetadataViewsAddr flow.Address, tokenName string) []byte {
+func GenerateInspectSupplyViewScript(fungibleAddr, tokenAddr, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr flow.Address, tokenName string) []byte {
 
 	code := assets.MustAssetString(scriptsPath + readSupplyViewFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, metadataViewsAddr, ftMetadataViewsAddr, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr, tokenName)
 }
diff --git a/lib/go/templates/templates.go b/lib/go/templates/templates.go
index c37cc77d..c6d0737b 100644
--- a/lib/go/templates/templates.go
+++ b/lib/go/templates/templates.go
@@ -21,14 +21,16 @@ var (
 	placeholderForwarding      = regexp.MustCompile(`"TokenForwarding"`)
 	placeholderMetadataViews   = regexp.MustCompile(`"MetadataViews"`)
 	placeholderFTMetadataViews = regexp.MustCompile(`"FungibleTokenMetadataViews"`)
+	placeholderViewResolver    = regexp.MustCompile(`"ViewResolver"`)
 )
 
-func replaceAddresses(code string, ftAddress, tokenAddress, forwardingAddress, metadataViewsAddress, ftMetadataViewsAddr flow.Address, tokenName string) []byte {
+func replaceAddresses(code string, ftAddress, tokenAddress, forwardingAddress, metadataViewsAddress, ftMetadataViewsAddr, viewResolverAddr flow.Address, tokenName string) []byte {
 	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+ftAddress.String())
 	code = placeholderExampleToken.ReplaceAllString(code, "0x"+tokenAddress.String())
 	code = placeholderForwarding.ReplaceAllString(code, "0x"+forwardingAddress.String())
 	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddress.String())
 	code = placeholderFTMetadataViews.ReplaceAllString(code, "0x"+ftMetadataViewsAddr.String())
+	code = placeholderViewResolver.ReplaceAllString(code, "0x"+viewResolverAddr.String())
 
 	storageName := MakeFirstLowerCase(tokenName)
 	code = defaultTokenName.ReplaceAllString(code, tokenName)
diff --git a/lib/go/templates/transaction_templates.go b/lib/go/templates/transaction_templates.go
index cd77479f..f84de772 100644
--- a/lib/go/templates/transaction_templates.go
+++ b/lib/go/templates/transaction_templates.go
@@ -26,11 +26,11 @@ const (
 // a new Vault instance and stores it in storage.
 // balance is an argument to the Vault constructor.
 // The Vault must have been deployed already.
-func GenerateCreateTokenScript(fungibleAddr, tokenAddr, metadataViewsAddr flow.Address, tokenName string) []byte {
+func GenerateCreateTokenScript(fungibleAddr, tokenAddr, metadataViewsAddr, viewResolverAddr flow.Address, tokenName string) []byte {
 
 	code := assets.MustAssetString(setupAccountFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, metadataViewsAddr, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, metadataViewsAddr, flow.EmptyAddress, viewResolverAddr, tokenName)
 }
 
 // GenerateDestroyVaultScript creates a script that withdraws
@@ -65,7 +65,7 @@ func GenerateTransferVaultScript(fungibleAddr, tokenAddr flow.Address, tokenName
 
 	code := assets.MustAssetString(transferTokensFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
 
 // GenerateTransferGenericVaultScript creates a script that withdraws an tokens from an account
@@ -74,7 +74,7 @@ func GenerateTransferGenericVaultScript(fungibleAddr flow.Address) []byte {
 
 	code := assets.MustAssetString(genericTransferFilename)
 
-	return replaceAddresses(code, fungibleAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, "")
+	return replaceAddresses(code, fungibleAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, "")
 }
 
 // GenerateTransferManyAccountsScript creates a script that transfers the same number of tokens
@@ -83,7 +83,7 @@ func GenerateTransferManyAccountsScript(fungibleAddr, tokenAddr flow.Address, to
 
 	code := assets.MustAssetString(transferManyAccountsFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
 
 // GenerateMintTokensScript creates a script that uses the admin resource
@@ -92,7 +92,7 @@ func GenerateMintTokensScript(fungibleAddr, tokenAddr flow.Address, tokenName st
 
 	code := assets.MustAssetString(mintTokensFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
 
 // GenerateBurnTokensScript creates a script that uses the admin resource
@@ -100,7 +100,7 @@ func GenerateMintTokensScript(fungibleAddr, tokenAddr flow.Address, tokenName st
 func GenerateBurnTokensScript(fungibleAddr, tokenAddr flow.Address, tokenName string) []byte {
 	code := assets.MustAssetString(burnTokensFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
 
 // GenerateTransferInvalidVaultScript creates a script that withdraws an tokens from an account
@@ -140,5 +140,5 @@ func GenerateTransferInvalidVaultScript(fungibleAddr, tokenAddr, otherTokenAddr,
 func GenerateCreateForwarderScript(fungibleAddr, forwardingAddr, tokenAddr flow.Address, tokenName string) []byte {
 	code := assets.MustAssetString(createForwarderFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, forwardingAddr, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return replaceAddresses(code, fungibleAddr, tokenAddr, forwardingAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
 }
diff --git a/lib/go/test/forwarding_test.go b/lib/go/test/forwarding_test.go
index 2b85a279..f49a9555 100644
--- a/lib/go/test/forwarding_test.go
+++ b/lib/go/test/forwarding_test.go
@@ -23,7 +23,7 @@ func TestPrivateForwarder(t *testing.T) {
 	serviceSigner, _ := b.ServiceKey().Signer()
 
 	exampleTokenAccountKey, exampleTokenSigner := accountKeys.NewWithSigner()
-	fungibleAddr, exampleTokenAddr, _, _, _ :=
+	fungibleAddr, _, exampleTokenAddr, _, _, _ :=
 		DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
 
 	forwardingCode := contracts.PrivateReceiverForwarder(fungibleAddr.String())
diff --git a/lib/go/test/token_test.go b/lib/go/test/token_test.go
index f672e8ca..fb0c41a7 100644
--- a/lib/go/test/token_test.go
+++ b/lib/go/test/token_test.go
@@ -20,7 +20,7 @@ func TestTokenDeployment(t *testing.T) {
 	b, adapter, accountKeys := newTestSetup(t)
 
 	exampleTokenAccountKey, _ := accountKeys.NewWithSigner()
-	fungibleAddr, exampleTokenAddr, _, _, _ := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
+	fungibleAddr, _, exampleTokenAddr, _, _, _ := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
 
 	t.Run("Should have initialized Supply field correctly", func(t *testing.T) {
 		script := templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
@@ -35,13 +35,13 @@ func TestCreateToken(t *testing.T) {
 	serviceSigner, _ := b.ServiceKey().Signer()
 
 	exampleTokenAccountKey, _ := accountKeys.NewWithSigner()
-	fungibleAddr, exampleTokenAddr, _, metadataViewsAddr, fungibleMetadataViewsAddr := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
+	fungibleAddr, resolverAddr, exampleTokenAddr, _, metadataViewsAddr, fungibleMetadataViewsAddr := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
 
 	joshAccountKey, joshSigner := accountKeys.NewWithSigner()
 	joshAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{joshAccountKey}, nil)
 
 	t.Run("Should be able to create empty Vault that doesn't affect supply", func(t *testing.T) {
-		script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, "ExampleToken")
+		script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, resolverAddr, "ExampleToken")
 		tx := createTxWithTemplateAndAuthorizer(b, script, joshAddress)
 
 		signAndSubmit(
@@ -71,7 +71,7 @@ func TestCreateToken(t *testing.T) {
 		supply := executeScriptAndCheck(t, b, script, nil)
 		assert.Equal(t, CadenceUFix64("1000.0"), supply)
 
-		script = templates.GenerateInspectSupplyViewScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, fungibleMetadataViewsAddr, "ExampleToken")
+		script = templates.GenerateInspectSupplyViewScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, fungibleMetadataViewsAddr, resolverAddr, "ExampleToken")
 		supply = executeScriptAndCheck(t, b, script, [][]byte{
 			jsoncdc.MustEncode(cadence.Address(joshAddress)),
 		})
@@ -85,14 +85,14 @@ func TestExternalTransfers(t *testing.T) {
 	serviceSigner, _ := b.ServiceKey().Signer()
 
 	exampleTokenAccountKey, exampleTokenSigner := accountKeys.NewWithSigner()
-	fungibleAddr, exampleTokenAddr, forwardingAddr, metadataViewsAddr, _ :=
+	fungibleAddr, resolverAddr, exampleTokenAddr, forwardingAddr, metadataViewsAddr, _ :=
 		DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
 
 	joshAccountKey, joshSigner := accountKeys.NewWithSigner()
 	joshAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{joshAccountKey}, nil)
 
 	// then deploy the tokens to an account
-	script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, "ExampleToken")
+	script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, resolverAddr, "ExampleToken")
 	tx := createTxWithTemplateAndAuthorizer(b, script, joshAddress)
 
 	signAndSubmit(
@@ -395,13 +395,13 @@ func TestVaultDestroy(t *testing.T) {
 	serviceSigner, _ := b.ServiceKey().Signer()
 
 	exampleTokenAccountKey, exampleTokenSigner := accountKeys.NewWithSigner()
-	fungibleAddr, exampleTokenAddr, _, metadataViewsAddr, _ := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
+	fungibleAddr, resolverAddr, exampleTokenAddr, _, metadataViewsAddr, _ := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
 
 	joshAccountKey, joshSigner := accountKeys.NewWithSigner()
 	joshAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{joshAccountKey}, nil)
 
 	// then deploy the tokens to an account
-	script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, "ExampleToken")
+	script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, resolverAddr, "ExampleToken")
 	tx := flow.NewTransaction().
 		SetScript(script).
 		SetGasLimit(100).
@@ -524,13 +524,13 @@ func TestMintingAndBurning(t *testing.T) {
 	serviceSigner, _ := b.ServiceKey().Signer()
 
 	exampleTokenAccountKey, exampleTokenSigner := accountKeys.NewWithSigner()
-	fungibleAddr, exampleTokenAddr, _, metadataViewsAddr, _ := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
+	fungibleAddr, resolverAddr, exampleTokenAddr, _, metadataViewsAddr, _ := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
 
 	joshAccountKey, joshSigner := accountKeys.NewWithSigner()
 	joshAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{joshAccountKey}, nil)
 
 	// then deploy the tokens to an account
-	script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, "ExampleToken")
+	script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, resolverAddr, "ExampleToken")
 	tx := flow.NewTransaction().
 		SetScript(script).
 		SetGasLimit(100).
diff --git a/lib/go/test/token_test_helpers.go b/lib/go/test/token_test_helpers.go
index 467728e8..de60c5bd 100644
--- a/lib/go/test/token_test_helpers.go
+++ b/lib/go/test/token_test_helpers.go
@@ -25,6 +25,7 @@ func DeployTokenContracts(
 	key []*flow.AccountKey,
 ) (
 	fungibleAddr flow.Address,
+	viewResolverAddr flow.Address,
 	tokenAddr flow.Address,
 	forwardingAddr flow.Address,
 	metadataViewsAddr flow.Address,
@@ -32,8 +33,20 @@ func DeployTokenContracts(
 ) {
 	var err error
 
+	// Deploy the ViewResolver contract
+	resolverAddress, err := adapter.CreateAccount(context.Background(),
+		nil,
+		[]sdktemplates.Contract{
+			{
+				Name:   "ViewResolver",
+				Source: string(nftcontracts.Resolver()),
+			},
+		},
+	)
+	assert.NoError(t, err)
+
 	// Deploy the NonFungibleToken contract
-	nonFungibleTokenCode := nftcontracts.NonFungibleToken()
+	nonFungibleTokenCode := nftcontracts.NonFungibleTokenV2(resolverAddress)
 	nftAddress, err := adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
@@ -46,7 +59,7 @@ func DeployTokenContracts(
 	assert.NoError(t, err)
 
 	// Deploy the FungibleToken contract
-	fungibleTokenCode := contracts.FungibleToken()
+	fungibleTokenCode := contracts.FungibleTokenV2(resolverAddress.String())
 	fungibleAddr, err = adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
@@ -62,7 +75,7 @@ func DeployTokenContracts(
 	assert.NoError(t, err)
 
 	// Deploy the MetadataViews contract
-	metadataViewsCode := nftcontracts.MetadataViews(fungibleAddr, nftAddress)
+	metadataViewsCode := nftcontracts.MetadataViews(fungibleAddr, nftAddress, resolverAddress)
 	metadataViewsAddr, err = adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
@@ -75,7 +88,7 @@ func DeployTokenContracts(
 	assert.NoError(t, err)
 
 	// Deploy the FungibleTokenMetadataViews contract
-	fungibleTokenMetadataViewsCode := contracts.FungibleTokenMetadataViews(fungibleAddr.String(), metadataViewsAddr.String())
+	fungibleTokenMetadataViewsCode := contracts.FungibleTokenMetadataViews(fungibleAddr.String(), metadataViewsAddr.String(), resolverAddress.String())
 	fungibleMetadataViewsAddr, err = adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
@@ -90,8 +103,20 @@ func DeployTokenContracts(
 	_, err = b.CommitBlock()
 	assert.NoError(t, err)
 
+	// Deploy the MultipleVaults contract interface
+	multipleVaultsAddress, err := adapter.CreateAccount(context.Background(),
+		key,
+		[]sdktemplates.Contract{
+			{
+				Name:   "MultipleVaults",
+				Source: string(contracts.MultipleVaults(fungibleAddr.String())),
+			},
+		},
+	)
+	assert.NoError(t, err)
+
 	// Deploy the ExampleToken contract
-	exampleTokenCode := contracts.ExampleToken(fungibleAddr.String(), metadataViewsAddr.String(), fungibleMetadataViewsAddr.String())
+	exampleTokenCode := contracts.ExampleTokenV2(fungibleAddr.String(), metadataViewsAddr.String(), fungibleMetadataViewsAddr.String(), resolverAddress.String(), multipleVaultsAddress.String())
 	tokenAddr, err = adapter.CreateAccount(context.Background(),
 		key,
 		[]sdktemplates.Contract{
@@ -138,84 +163,5 @@ func DeployTokenContracts(
 	_, err = b.CommitBlock()
 	assert.NoError(t, err)
 
-	return fungibleAddr, tokenAddr, forwardingAddr, metadataViewsAddr, fungibleMetadataViewsAddr
-}
-
-// Deploys the FungibleToken-V2, ExampleToken, and TokenForwarding contracts
-// to different accounts and returns their addresses
-func DeployV2TokenContracts(
-	b *emulator.Blockchain,
-	t *testing.T,
-	key []*flow.AccountKey,
-) (
-	fungibleAddr flow.Address,
-	tokenAddr flow.Address,
-	//forwardingAddr flow.Address,
-) {
-	var err error
-
-	// Deploy the ViewResolver contract
-	resolverAddress := deploy(t, b, "ViewResolver", nftcontracts.Resolver())
-
-	// Deploy the FungibleToken contract
-	fungibleTokenCode := contracts.FungibleTokenV2(resolverAddress.String())
-	fungibleAddr, err = b.CreateAccount(
-		nil,
-		[]sdktemplates.Contract{
-			{
-				Name:   "FungibleToken",
-				Source: string(fungibleTokenCode),
-			},
-		},
-	)
-	assert.NoError(t, err)
-
-	_, err = b.CommitBlock()
-	assert.NoError(t, err)
-
-	// Deploy the NonFungibleToken contract (required for Metadata Views)
-	NFTAddress := deploy(t, b, "NonFungibleToken", nftcontracts.NonFungibleTokenV2(resolverAddress))
-
-	// Deploy the MetadataViews contract
-	metadataViewsAddr := deploy(t, b, "MetadataViews", nftcontracts.MetadataViews(fungibleAddr, NFTAddress, resolverAddress))
-
-	// Deploy the FTMetadataViews contract
-	ftMetadataViewsAddr := deploy(t, b, "FungibleTokenMetadataViews", contracts.FungibleTokenMetadataViews(fungibleAddr.String(), metadataViewsAddr.String(), resolverAddress.String()))
-
-	// Deploy the MultipleVaults contract interface
-	multipleVaultsAddress := deploy(t, b, "MultipleVaults", contracts.MultipleVaults(fungibleAddr.String()))
-
-	// Deploy the ExampleToken contract
-	exampleTokenCode := contracts.ExampleTokenV2(fungibleAddr.String(), metadataViewsAddr.String(), ftMetadataViewsAddr.String(), resolverAddress.String(), multipleVaultsAddress.String())
-	exampleTokenAddress, err := b.CreateAccount(
-		key,
-		[]sdktemplates.Contract{
-			{
-				Name:   "ExampleToken",
-				Source: string(exampleTokenCode),
-			},
-		},
-	)
-	assert.NoError(t, err)
-
-	_, err = b.CommitBlock()
-	assert.NoError(t, err)
-
-	// // Deploy the TokenForwarding contract
-	// forwardingCode := contracts.TokenForwarding(fungibleAddr.String())
-	// forwardingAddr, err = b.CreateAccount(
-	// 	key,
-	// 	[]sdktemplates.Contract{
-	// 		{
-	// 			Name:   "TokenForwarding",
-	// 			Source: string(forwardingCode),
-	// 		},
-	// 	},
-	// )
-	// assert.NoError(t, err)
-
-	// _, err = b.CommitBlock()
-	// assert.NoError(t, err)
-
-	return fungibleAddr, exampleTokenAddress //, nil
+	return fungibleAddr, resolverAddress, tokenAddr, forwardingAddr, metadataViewsAddr, fungibleMetadataViewsAddr
 }
diff --git a/lib/go/test/token_v2_test.go b/lib/go/test/token_v2_test.go
deleted file mode 100644
index a9cbb2f5..00000000
--- a/lib/go/test/token_v2_test.go
+++ /dev/null
@@ -1,23 +0,0 @@
-package test
-
-import (
-	"testing"
-
-	// sdktemplates "github.com/onflow/flow-go-sdk/templates"
-	// "github.com/stretchr/testify/assert"
-	// "github.com/stretchr/testify/require"
-
-	// "github.com/onflow/cadence"
-	// jsoncdc "github.com/onflow/cadence/encoding/json"
-	"github.com/onflow/flow-go-sdk"
-	// "github.com/onflow/flow-go-sdk/crypto"
-	// "github.com/onflow/flow-ft/lib/go/contracts"
-	// "github.com/onflow/flow-ft/lib/go/templates"
-)
-
-func TestV2TokenDeployment(t *testing.T) {
-	b, accountKeys := newTestSetup(t)
-
-	exampleTokenAccountKey, _ := accountKeys.NewWithSigner()
-	_, _ = DeployV2TokenContracts(b, t, []*flow.AccountKey{exampleTokenAccountKey})
-}
diff --git a/transactions/burn_tokens.cdc b/transactions/burn_tokens.cdc
index aadaff50..bdbdc9c3 100644
--- a/transactions/burn_tokens.cdc
+++ b/transactions/burn_tokens.cdc
@@ -23,7 +23,7 @@ transaction(amount: UFix64) {
         self.supplyBefore = ExampleToken.totalSupply
 
         // Withdraw 10 tokens from the admin vault in storage
-        self.vault <- signer.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)!
+        self.vault <- signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)!
             .withdraw(amount: amount)
 
         // Create a reference to the admin admin resource in storage
diff --git a/transactions/generic_transfer.cdc b/transactions/generic_transfer.cdc
index 0ff46941..5835bf7d 100644
--- a/transactions/generic_transfer.cdc
+++ b/transactions/generic_transfer.cdc
@@ -14,7 +14,7 @@ transaction(amount: UFix64, to: Address, senderPath: StoragePath, receiverPath:
     prepare(signer: AuthAccount) {
 
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.borrow<&{FungibleToken.Provider}>(from: senderPath)
+        let vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &{FungibleToken.Provider}>(from: senderPath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
         self.tempVault <- vaultRef.withdraw(amount: amount)
diff --git a/transactions/privateForwarder/create_private_forwarder.cdc b/transactions/privateForwarder/create_private_forwarder.cdc
index 6dc90aa1..5fc699c9 100644
--- a/transactions/privateForwarder/create_private_forwarder.cdc
+++ b/transactions/privateForwarder/create_private_forwarder.cdc
@@ -9,7 +9,7 @@ import PrivateReceiverForwarder from "PrivateReceiverForwarder"
 transaction {
 
     prepare(signer: AuthAccount) {
-        receiverCapability = signer.link<&ExampleToken.Vault{FungibleToken.Receiver}>(
+        receiverCapability = signer.link<&{FungibleToken.Receiver}>(
             /private/exampleTokenReceiver,
             target: ExampleToken.VaultStoragePath
         )
diff --git a/transactions/privateForwarder/setup_and_create_forwarder.cdc b/transactions/privateForwarder/setup_and_create_forwarder.cdc
index c957ef18..a2cf67b4 100644
--- a/transactions/privateForwarder/setup_and_create_forwarder.cdc
+++ b/transactions/privateForwarder/setup_and_create_forwarder.cdc
@@ -31,7 +31,7 @@ transaction {
 
         // Create a public capability to the Vault that only exposes
         // the balance field through the Balance interface
-        signer.link<&ExampleToken.Vault{FungibleToken.Balance}>(
+        signer.link<&{FungibleToken.Balance}>(
             ExampleToken.VaultPublicPath,
             target: ExampleToken.VaultStoragePath
         )
diff --git a/transactions/privateForwarder/transfer_private_many_accounts.cdc b/transactions/privateForwarder/transfer_private_many_accounts.cdc
index 7aebbfe3..8877c8f5 100644
--- a/transactions/privateForwarder/transfer_private_many_accounts.cdc
+++ b/transactions/privateForwarder/transfer_private_many_accounts.cdc
@@ -7,14 +7,14 @@ import PrivateReceiverForwarder from "PrivateReceiverForwarder"
 transaction(addressAmountMap: {Address: UFix64}) {
 
     // The Vault resource that holds the tokens that are being transferred
-    let vaultRef: &ExampleToken.Vault
+    let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
 
     let privateForwardingSender: &PrivateReceiverForwarder.Sender
 
     prepare(signer: AuthAccount) {
 
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
         self.privateForwardingSender = signer.borrow<&PrivateReceiverForwarder.Sender>(from: PrivateReceiverForwarder.SenderStoragePath)
diff --git a/transactions/safe_generic_transfer.cdc b/transactions/safe_generic_transfer.cdc
index ec1558be..63d109da 100644
--- a/transactions/safe_generic_transfer.cdc
+++ b/transactions/safe_generic_transfer.cdc
@@ -17,7 +17,7 @@ transaction(amount: UFix64, to: Address, senderPath: StoragePath, receiverPath:
     prepare(signer: AuthAccount) {
 
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.borrow<&{FungibleToken.Provider}>(from: senderPath)
+        let vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &{FungibleToken.Provider}>(from: senderPath)
 			?? panic("Could not borrow reference to the owner's Vault!")
         
         self.senderReceiverRef = signer.borrow<&{FungibleToken.Receiver}>(from: senderPath)
diff --git a/transactions/scripts/get_balance.cdc b/transactions/scripts/get_balance.cdc
index 5ecd644e..c404f50c 100644
--- a/transactions/scripts/get_balance.cdc
+++ b/transactions/scripts/get_balance.cdc
@@ -4,11 +4,11 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 
-pub fun main(address: Address): UFix64 {
+access(all) fun main(address: Address): UFix64 {
     let account = getAccount(address)
-    let vaultRef = account.getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&ExampleToken.Vault{FungibleToken.Balance}>()
+    let vaultRef = account.getCapability<&{FungibleToken.Balance}>(ExampleToken.VaultPublicPath)
+        .borrow()
         ?? panic("Could not borrow Balance reference to the Vault")
 
-    return vaultRef.balance
+    return vaultRef.getBalance()
 }
diff --git a/transactions/scripts/get_supply.cdc b/transactions/scripts/get_supply.cdc
index c5b7fee1..1c2ccd09 100644
--- a/transactions/scripts/get_supply.cdc
+++ b/transactions/scripts/get_supply.cdc
@@ -3,6 +3,6 @@
 
 import ExampleToken from "ExampleToken"
 
-pub fun main(): UFix64 {
+access(all) fun main(): UFix64 {
     return ExampleToken.totalSupply
 }
diff --git a/transactions/scripts/get_supported_vault_types.cdc b/transactions/scripts/get_supported_vault_types.cdc
index f5ed70ee..645f2845 100644
--- a/transactions/scripts/get_supported_vault_types.cdc
+++ b/transactions/scripts/get_supported_vault_types.cdc
@@ -4,7 +4,7 @@ import FungibleToken from "FungibleToken"
 /// `target` address should hold the capability which conforms with FungibleToken.Receiver restricted type
 /// while it doesn't matter whether capability refers to fungible token or a custom receiver like 
 /// `FungibleTokenSwitchboard` or `TokenReceiver`. However `targetPath` tells where the capability stores
-pub fun main(target: Address, targetPath: PublicPath): {Type: Bool} {
+access(all) fun main(target: Address, targetPath: PublicPath): {Type: Bool} {
 
     // Access the capability for the provided target address
     let capabilityRef = getAccount(target)
diff --git a/transactions/scripts/metadata/get_token_metadata.cdc b/transactions/scripts/metadata/get_token_metadata.cdc
index d307d082..3186d0e8 100644
--- a/transactions/scripts/metadata/get_token_metadata.cdc
+++ b/transactions/scripts/metadata/get_token_metadata.cdc
@@ -1,13 +1,13 @@
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MetadataViews from "MetadataViews"
+import ViewResolver from "ViewResolver"
 
-pub fun main(address: Address): FungibleTokenMetadataViews.FTView {
+access(all) fun main(address: Address): FungibleTokenMetadataViews.FTView {
     let account = getAccount(address)
 
     let vaultRef = account
         .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{MetadataViews.Resolver}>()
+        .borrow<&{ViewResolver.Resolver}>()
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftView = FungibleTokenMetadataViews.getFTView(viewResolver: vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_data.cdc b/transactions/scripts/metadata/get_vault_data.cdc
index a008e257..10f4d422 100644
--- a/transactions/scripts/metadata/get_vault_data.cdc
+++ b/transactions/scripts/metadata/get_vault_data.cdc
@@ -1,13 +1,13 @@
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MetadataViews from "MetadataViews"
+import ViewResolver from "ViewResolver"
 
-pub fun main(address: Address): FungibleTokenMetadataViews.FTVaultData {
+access(all) fun main(address: Address): FungibleTokenMetadataViews.FTVaultData {
     let account = getAccount(address)
 
     let vaultRef = account
         .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{MetadataViews.Resolver}>()
+        .borrow<&{ViewResolver.Resolver}>()
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let vaultData = FungibleTokenMetadataViews.getFTVaultData(vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_display.cdc b/transactions/scripts/metadata/get_vault_display.cdc
index 52893fcd..24e60a7e 100644
--- a/transactions/scripts/metadata/get_vault_display.cdc
+++ b/transactions/scripts/metadata/get_vault_display.cdc
@@ -1,13 +1,13 @@
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MetadataViews from "MetadataViews"
+import ViewResolver from "ViewResolver"
 
-pub fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
+access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let account = getAccount(address)
 
     let vaultRef = account
         .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{MetadataViews.Resolver}>()
+        .borrow<&{ViewResolver.Resolver}>()
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftDisplay = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_supply_view.cdc b/transactions/scripts/metadata/get_vault_supply_view.cdc
index 488c3576..f68eece8 100644
--- a/transactions/scripts/metadata/get_vault_supply_view.cdc
+++ b/transactions/scripts/metadata/get_vault_supply_view.cdc
@@ -1,15 +1,15 @@
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MetadataViews from "MetadataViews"
+import ViewResolver from "ViewResolver"
 
 /// Gets the total supply of the vault's token directly from the vault
 
-pub fun main(address: Address): UFix64 {
+access(all) fun main(address: Address): UFix64 {
     let account = getAccount(address)
 
     let vaultRef = account
         .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{MetadataViews.Resolver}>()
+        .borrow<&{ViewResolver.Resolver}>()
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftSupply = vaultRef.resolveView(Type<FungibleTokenMetadataViews.TotalSupply>())!
diff --git a/transactions/scripts/switchboard/check_receiver_by_type.cdc b/transactions/scripts/switchboard/check_receiver_by_type.cdc
index 808a33dd..15f0411f 100644
--- a/transactions/scripts/switchboard/check_receiver_by_type.cdc
+++ b/transactions/scripts/switchboard/check_receiver_by_type.cdc
@@ -1,7 +1,7 @@
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
 
-pub fun main(switchboard: Address): Bool {
+access(all) fun main(switchboard: Address): Bool {
 let switchboardRef = getAccount(switchboard)
     .getCapability<&{FungibleTokenSwitchboard.SwitchboardPublic}>(FungibleTokenSwitchboard.PublicPath)
     .borrow() 
diff --git a/transactions/scripts/switchboard/get_vault_types.cdc b/transactions/scripts/switchboard/get_vault_types.cdc
index d92e8183..e6802e60 100644
--- a/transactions/scripts/switchboard/get_vault_types.cdc
+++ b/transactions/scripts/switchboard/get_vault_types.cdc
@@ -3,7 +3,7 @@ import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 
 // This script reads the stored vault capabilities from a switchboard on the
 // passed account
-pub fun main(account: Address): [Type] {
+access(all) fun main(account: Address): [Type] {
 
     let acct = getAccount(account)
 
diff --git a/transactions/scripts/switchboard/get_vault_types_and_address.cdc b/transactions/scripts/switchboard/get_vault_types_and_address.cdc
index e6d0826c..3212a993 100644
--- a/transactions/scripts/switchboard/get_vault_types_and_address.cdc
+++ b/transactions/scripts/switchboard/get_vault_types_and_address.cdc
@@ -3,7 +3,7 @@ import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 
 // This script reads the stored vault capabilities from a switchboard on the
 // passed account
-pub fun main(account: Address): {Type: Address} {
+access(all) fun main(account: Address): {Type: Address} {
 
     let acct = getAccount(account)
 
diff --git a/transactions/scripts/tokenForwarder/is_recipient_valid.cdc b/transactions/scripts/tokenForwarder/is_recipient_valid.cdc
index c3bfc8a0..e66967da 100644
--- a/transactions/scripts/tokenForwarder/is_recipient_valid.cdc
+++ b/transactions/scripts/tokenForwarder/is_recipient_valid.cdc
@@ -1,6 +1,6 @@
 import TokenForwarding from "TokenForwarding"
 
-pub fun main(addr: Address, tokenForwardingPath: PublicPath): Bool {
+access(all) fun main(addr: Address, tokenForwardingPath: PublicPath): Bool {
     let forwarderRef = getAccount(addr)
                        .getCapability<&{TokenForwarding.ForwarderPublic}>(tokenForwardingPath)
                        .borrow()
diff --git a/transactions/setup_account.cdc b/transactions/setup_account.cdc
index 20a5a433..f38b242d 100644
--- a/transactions/setup_account.cdc
+++ b/transactions/setup_account.cdc
@@ -4,7 +4,7 @@
 
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
-import MetadataViews from "MetadataViews"
+import ViewResolver from "ViewResolver"
 
 transaction () {
 
@@ -15,21 +15,16 @@ transaction () {
             return
         }
 
+        let vault <- ExampleToken.createEmptyVault()
+
         // Create a new ExampleToken Vault and put it in storage
         signer.save(
-            <-ExampleToken.createEmptyVault(),
+            <-vault,
             to: ExampleToken.VaultStoragePath
         )
 
-        // Create a public capability to the Vault that only exposes
-        // the deposit function through the Receiver interface
-        signer.link<&ExampleToken.Vault{FungibleToken.Receiver}>(
-            ExampleToken.ReceiverPublicPath,
-            target: ExampleToken.VaultStoragePath
-        )
-
-        // Create a public capability to the Vault that exposes the Balance and Resolver interfaces
-        signer.link<&ExampleToken.Vault{FungibleToken.Balance, MetadataViews.Resolver}>(
+        // Create a public capability to the Vault that exposes the Receiver, Balance, and Resolver interfaces
+        signer.link<&{FungibleToken.Receiver, FungibleToken.Balance, ViewResolver.Resolver}>(
             ExampleToken.VaultPublicPath,
             target: ExampleToken.VaultStoragePath
         )
diff --git a/transactions/switchboard/safe_transfer_tokens.cdc b/transactions/switchboard/safe_transfer_tokens.cdc
index f1ea3ef6..9ad39e43 100644
--- a/transactions/switchboard/safe_transfer_tokens.cdc
+++ b/transactions/switchboard/safe_transfer_tokens.cdc
@@ -11,14 +11,14 @@ import ExampleToken from "ExampleToken"
 transaction(to: Address, amount: UFix64) {
     
     // The reference to the vault from the payer's account
-    let vaultRef: &ExampleToken.Vault
+    let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
     // The Vault resource that holds the tokens that are being transferred
     let sentVault: @FungibleToken.Vault
 
     prepare(signer: AuthAccount) {
 
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
         // Withdraw tokens from the signer's stored vault
diff --git a/transactions/switchboard/safe_transfer_tokens_v2.cdc b/transactions/switchboard/safe_transfer_tokens_v2.cdc
index 2d3e2f4e..b129cde5 100644
--- a/transactions/switchboard/safe_transfer_tokens_v2.cdc
+++ b/transactions/switchboard/safe_transfer_tokens_v2.cdc
@@ -9,14 +9,14 @@ import ExampleToken from "ExampleToken"
 transaction(to: Address, amount: UFix64) {
 
     // The reference to the vault from the payer's account
-    let vaultRef: &ExampleToken.Vault
+    let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
     // The Vault resource that holds the tokens that are being transferred
     let sentVault: @FungibleToken.Vault
 
     prepare(signer: AuthAccount) {
 
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
         // Withdraw tokens from the signer's stored vault
diff --git a/transactions/switchboard/transfer_tokens.cdc b/transactions/switchboard/transfer_tokens.cdc
index 7283ddf7..0682e115 100644
--- a/transactions/switchboard/transfer_tokens.cdc
+++ b/transactions/switchboard/transfer_tokens.cdc
@@ -17,7 +17,7 @@ transaction(to: Address, amount: UFix64, receiverPath: PublicPath) {
     prepare(signer: AuthAccount) {
 
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        let vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
         // Withdraw tokens from the signer's stored vault
diff --git a/transactions/transfer_many_accounts.cdc b/transactions/transfer_many_accounts.cdc
index 18af72db..0ad6f13b 100644
--- a/transactions/transfer_many_accounts.cdc
+++ b/transactions/transfer_many_accounts.cdc
@@ -6,12 +6,12 @@ import ExampleToken from "ExampleToken"
 transaction(addressAmountMap: {Address: UFix64}) {
 
     // The Vault resource that holds the tokens that are being transferred
-    let vaultRef: &ExampleToken.Vault
+    let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
 
     prepare(signer: AuthAccount) {
 
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
     }
 
diff --git a/transactions/transfer_tokens.cdc b/transactions/transfer_tokens.cdc
index 5cba8dfe..910fad04 100644
--- a/transactions/transfer_tokens.cdc
+++ b/transactions/transfer_tokens.cdc
@@ -16,7 +16,7 @@ transaction(amount: UFix64, to: Address) {
     prepare(signer: AuthAccount) {
 
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        let vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
             ?? panic("Could not borrow reference to the owner's Vault!")
 
         // Withdraw tokens from the signer's stored vault

From ab1b03e98a95d51354abf9c06f1d8f1fcd87da02 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 18 Aug 2023 15:08:53 -0500
Subject: [PATCH 016/115] comment out default functions and remove Balance

---
 contracts/FungibleToken-v2.cdc             | 49 ++++++++--------------
 contracts/FungibleTokenMetadataViews.cdc   |  4 +-
 lib/go/contracts/internal/assets/assets.go | 12 +++---
 lib/go/test/go.mod                         | 10 ++---
 lib/go/test/go.sum                         | 29 +++++++++++++
 5 files changed, 60 insertions(+), 44 deletions(-)

diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index 5902ebda..d7682dc0 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -128,12 +128,16 @@ access(all) contract FungibleToken {
         ///
         access(all) fun deposit(from: @{Vault})
 
-        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        access(all) view fun getSupportedVaultTypes(): {Type: Bool}
-
-        /// Returns whether or not the given type is accepted by the Receiver
-        /// A vault that can accept any type should just return true by default
-        access(all) view fun isSupportedVaultType(type: Type): Bool
+        // /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
+        // access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
+        //     pre { true: "dummy" }
+        // }
+
+        // /// Returns whether or not the given type is accepted by the Receiver
+        // /// A vault that can accept any type should just return true by default
+        // access(all) view fun isSupportedVaultType(type: Type): Bool {
+        //     pre { true: "dummy" }
+        // }
     }
 
     access(all) resource interface Transferor {
@@ -146,33 +150,12 @@ access(all) contract FungibleToken {
         }
     }
 
-    /// Balance
-    ///
-    /// This interface is now a general purpose metadata interface because
-    /// a public interface is needed to get metadata, but adding a whole new interface
-    /// for every account to upgrade to is probably too much of a breaking change
-    access(all) resource interface Balance { //: ViewResolver.Resolver {
-
-        /// Method to get the balance
-        /// The balance could be a derived field,
-        /// so there is no need to require an explicit field
-        access(all) view fun getBalance(): UFix64
-
-        access(all) view fun getSupportedVaultTypes(): {Type: Bool}
-        access(all) view fun isSupportedVaultType(type: Type): Bool
-
-        /// ViewResolver Methods
-        ///
-        access(all) view fun getViews(): [Type]
-        access(all) fun resolveView(_ view: Type): AnyStruct?
-    }
-
     /// Vault
     ///
     /// Ideally, this interface would also conform to Receiver, Balance, Transferor, Provider, and Resolver
     /// but that is not supported yet
     ///
-    access(all) resource interface Vault: Receiver, Balance, Transferor, Provider, ViewResolver.Resolver {
+    access(all) resource interface Vault: Receiver, Transferor, Provider, ViewResolver.Resolver { //,Balance {
 
         /// Get the balance of the vault
         access(all) view fun getBalance(): UFix64
@@ -191,7 +174,7 @@ access(all) contract FungibleToken {
         }
 
         access(all) view fun isSupportedVaultType(type: Type): Bool {
-            return false
+            return self.getSupportedVaultTypes()[type] ?? false
         }
 
         /// Returns the storage path where the vault should typically be stored
@@ -204,8 +187,12 @@ access(all) contract FungibleToken {
             return nil
         }
 
-        access(all) view fun getViews(): [Type]
-        access(all) fun resolveView(_ view: Type): AnyStruct?
+        // access(all) view fun getViews(): [Type] {
+        //     pre { true: "dummy" }
+        // }
+        // access(all) fun resolveView(_ view: Type): AnyStruct? {
+        //     pre { true: "dummy" }
+        // }
 
         /// withdraw subtracts `amount` from the Vault's balance
         /// and returns a new Vault with the subtracted balance
diff --git a/contracts/FungibleTokenMetadataViews.cdc b/contracts/FungibleTokenMetadataViews.cdc
index b80ff1cb..326d0314 100644
--- a/contracts/FungibleTokenMetadataViews.cdc
+++ b/contracts/FungibleTokenMetadataViews.cdc
@@ -130,7 +130,7 @@ access(all) contract FungibleTokenMetadataViews {
         access(all) let receiverLinkedType: Type
 
         /// Type that should be linked at the `receiverPath`. This is a restricted type requiring 
-        /// the `FungibleToken.Balance` and `ViewResolver.Resolver` interfaces.
+        /// the `ViewResolver.Resolver` interfaces.
         access(all) let metadataLinkedType: Type
 
         /// Type that should be linked at the aforementioned private path. This 
@@ -153,7 +153,7 @@ access(all) contract FungibleTokenMetadataViews {
         ) {
             pre {
                 receiverLinkedType.isSubtype(of: Type<&{FungibleToken.Receiver}>()): "Receiver public type must include FungibleToken.Receiver."
-                metadataLinkedType.isSubtype(of: Type<&{FungibleToken.Balance, ViewResolver.Resolver}>()): "Metadata public type must include FungibleToken.Balance and ViewResolver.Resolver interfaces."
+                metadataLinkedType.isSubtype(of: Type<&{ViewResolver.Resolver}>()): "Metadata public type must include ViewResolver.Resolver interfaces."
                 providerLinkedType.isSubtype(of: Type<&{FungibleToken.Provider}>()): "Provider type must include FungibleToken.Provider interface."
             }
             self.storagePath = storagePath
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index e30494f3..0bf233cd 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -2,9 +2,9 @@
 // sources:
 // ../../../contracts/ExampleToken-v2.cdc (11.053kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
-// ../../../contracts/FungibleToken-v2.cdc (11.218kB)
+// ../../../contracts/FungibleToken-v2.cdc (10.649kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
-// ../../../contracts/FungibleTokenMetadataViews.cdc (7.485kB)
+// ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.32kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (26.308kB)
@@ -121,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x4d\x8f\x1b\x37\xd2\xbe\xeb\x57\x14\x26\xc0\x6b\x29\xaf\xa2\xf1\x61\xb1\x07\x21\xb6\xe3\x7c\x78\x91\xc3\x06\x41\x66\x36\x3e\x2c\x16\x2b\xaa\xbb\x5a\xcd\x0c\x9b\xec\x90\x6c\xc9\xda\xc1\xfc\xf7\x45\x15\xc9\xfe\x52\x6b\x46\xe3\xd8\x8b\xc5\xfa\x30\x96\xba\xc9\xaa\x62\xf1\x61\xd5\x53\x45\x5d\x7f\xf9\xe5\x6c\xf6\x05\xdc\x96\x08\xef\x94\x39\xc0\xbb\x46\xef\xe4\x56\x21\xdc\x9a\x3b\xd4\xe0\xbc\xd0\xb9\xb0\xf9\x6c\xf6\xc5\x17\xb0\x49\x2f\xf9\xdd\x06\x32\xa3\xbd\x15\x99\x9f\xcd\x78\xfa\xf4\x4c\x90\x0e\xb4\x01\x65\xf4\x0e\x2d\x08\x0d\x52\x7b\xb4\x85\xc8\x70\xe6\x4b\xe1\x41\x28\x05\x45\x9a\xea\x79\x6a\x92\xeb\xe0\x60\x1a\x95\x43\x29\xf6\xf4\x8a\x9e\x17\xc6\x56\xe0\xcd\x6a\x36\xfb\xb1\x00\x01\x8d\x43\xeb\xe0\x20\xb4\x77\x34\x20\xc7\x5a\x99\x23\x08\xd0\x78\x18\xc9\x5a\x82\x2f\x51\xda\xce\xe6\xdc\x20\x19\xe6\x41\x23\xe6\x34\x59\x56\xb5\xc2\x0a\xb5\xa7\x91\x30\x58\x6a\x67\xf3\x12\xb6\x8d\x8f\xa2\x58\x81\x9b\xe5\xe6\x8c\x88\x76\x92\x83\x1c\x0b\xa9\x31\x07\xa9\xc1\x97\xd2\xb5\x56\xac\x82\x5f\x7f\x15\x8d\xf2\x1b\xb0\xe8\x4c\x63\xb3\xde\xcc\xd9\xec\x07\x91\x95\x63\xff\xb4\xe3\xfc\xb1\x46\x56\xee\x4e\xb5\x9f\x17\x1a\x95\xfe\x6c\xcd\x5e\xe6\x68\x37\x4b\xd8\xfc\x82\x19\xca\x3d\x7f\x16\x3a\x87\xcd\xb7\x42\x09\x9d\xe1\xd4\x6c\xc7\xbb\xed\x46\xcb\xcb\x94\xb0\x08\xb5\xc5\xaf\x32\xa3\x73\xe9\xa5\xd1\x8e\x45\xd5\xc6\xf9\xfe\x33\xde\x73\x8b\xce\x5b\x99\xf9\x19\x19\x8a\x1f\x30\x6b\xe8\x25\x98\x82\x2d\x2f\x1a\x9d\x85\xc1\xec\x2e\x04\x5e\xc9\x8a\xf5\x1e\x81\xf4\x38\xac\x85\x15\x1e\x61\x8b\x99\x68\xc8\x16\x0f\x3b\xb9\x47\xc7\xc3\x09\x14\xfc\x41\x6c\xa5\x92\xfe\x48\xbe\x71\xa5\xb0\x38\x13\x60\xb1\x40\x8b\x3a\x63\x3c\x85\x6d\x64\xe9\xc1\x2e\xa3\xd5\x11\xf0\x43\x6d\x5c\x14\x55\x48\x54\xb9\xeb\x2c\x9a\x49\x0d\x46\x23\x18\x0b\x95\xb1\x98\x2c\xee\x5c\x41\xc0\x24\x4c\x3b\x13\x0d\x0a\x08\x1d\x59\x53\x89\x3b\x84\xac\x71\xde\x54\xad\x87\xa3\x6b\xda\x4d\x24\xdf\x0c\xbd\x4c\x00\x37\xb0\x17\x56\x9a\x86\x46\x4b\xbd\x73\x70\x90\xbe\x64\xf1\x01\x8d\xab\xd9\x3b\x63\x01\x3f\x08\x12\xb3\x04\x01\x85\x68\x32\xf4\x90\x09\x0d\x5b\xec\xa4\x63\x0e\xdb\x63\x3a\x50\x52\xef\x66\xc1\x1d\x90\x40\x31\x40\xcb\x97\xd7\xb3\x99\xac\x6a\x63\x3d\xfc\x2a\xf1\xf0\x0b\x3a\xa3\xf6\x68\xa1\xb0\xa6\x82\xab\xfe\xa3\xab\xd9\xec\xfa\xfa\x7a\x78\x78\xe8\xc9\xe0\x69\x0c\x10\xad\x2d\x22\xa2\xc5\x62\x2f\x50\x58\xfc\xbd\x91\x76\xea\x58\x0d\x0f\x03\x4b\xee\x8c\x85\xf7\x08\xce\x4b\xa5\x42\xd0\x90\x1e\x84\x1b\x04\x1d\x28\xd1\x76\xb8\xf1\xfc\x8d\x21\x65\x2a\x46\x4e\xd1\x28\x16\xd9\xf8\xb0\x5b\x15\xfa\xd2\xe4\x71\x73\x2a\xa1\x8f\x50\x5b\xf3\x1b\x72\x70\x22\x35\x41\x19\x45\x20\xb2\x94\x95\x1a\x3d\x8a\x35\x6e\xc9\x22\x63\xe4\x08\x10\xde\x1e\x69\xb1\x15\x0a\xed\xda\xb5\xae\x38\x18\x06\x18\x74\x4f\xe9\x33\x3f\x6b\x77\x39\xac\x39\x39\xc5\x0d\x8e\x7b\x17\x3a\x44\x96\xa1\x73\x73\xa1\xd4\xa2\xb5\x64\x14\xd6\xee\x67\x33\x00\x80\xeb\x6b\x78\xab\x01\xb5\x97\x3e\xfa\xb9\x30\x96\x6c\x31\x07\xa9\x77\x2c\x9e\x60\x96\x5b\x71\x10\x8a\x31\xcf\x58\x0b\xfb\x2f\xc2\x01\x62\x41\x7d\x95\x7d\x71\xef\xd3\xec\xad\xc2\xa4\xf2\x9a\x73\x0e\xee\xc3\xb6\x86\x25\x63\x25\x3d\x41\xf3\x50\xa2\x4e\x4a\xc8\x59\x49\xbb\x7e\x42\xe5\xbe\xaf\x6c\x2e\x2a\xd3\x68\xbf\x86\xbf\xbd\x93\x1f\xfe\xfc\xa7\x25\xcf\x5d\xc3\xdb\x3c\xb7\xe8\xdc\x9b\x25\x47\xcf\x35\xdc\x78\x2b\xf5\x6e\xd1\x17\xe6\x50\x15\x0b\xc2\x19\x1b\x94\xe4\xfd\x40\xd2\x9f\x27\x74\x0d\xdf\x1a\xa3\xe0\x9e\x85\xd3\x3f\x92\x77\x6a\x60\xf8\x3f\xc9\xa2\xbf\x49\x0e\xfd\x5d\xb4\xb3\x2d\xfa\xc6\x6a\xf0\xb6\x41\x7e\xf6\xf0\x31\xbe\xcc\xb1\x36\x4e\xfa\x70\xb2\x1e\xf7\xe4\xf7\x61\xe8\xc9\x9a\xbd\xf9\x08\x37\x46\x61\xd3\x5e\x7c\x44\xe2\xb4\x0f\xc7\xa6\x25\x17\x92\x20\x6f\x3e\xa3\xfb\xbc\x15\xda\x15\x68\xe9\x60\x32\x18\x29\x1d\x88\x2c\x23\xf5\xec\x51\x6d\x28\xa8\x9c\xf1\xe8\x6d\x9c\xfd\x34\x8c\x3e\xc6\xc5\x49\xfa\x85\x48\x7d\xae\xcf\x4f\x8c\x9f\xc4\xed\xc7\x6d\x00\x9b\xfc\x08\x66\x9d\xb7\xe6\x88\xf9\x19\xb7\x7e\xdb\x58\x7d\x8a\xa9\x81\xd3\xce\x7b\x8d\x26\x9f\x41\xe5\xa3\x3e\x91\x45\x74\x00\xbc\x7e\x05\x2f\x57\x2f\x7b\xaf\x5a\x97\x0d\x0c\x6b\x31\x3a\xe1\x9a\x87\x4b\x9c\x94\x92\x73\x7a\x30\x80\x6f\x97\xe1\x18\xc2\x48\x99\x3d\x8b\x34\x26\xa6\x92\x90\x2d\x28\xb6\xa7\x80\x4a\x99\x3f\x09\xe9\x07\x75\x26\x35\x29\xc1\x70\x0e\x38\xd6\xb8\x3a\xd1\xfb\xa3\x87\x96\x46\x47\x85\x43\x5d\x46\xc3\x66\x9b\xb8\x24\xe5\xda\x65\x3b\xb7\x47\xdd\x14\x0a\xa2\x4a\xa6\xc6\xc0\xf7\x6a\xe3\x9c\x8c\x6c\xc9\x14\x90\x59\x14\x6c\x44\x64\x4c\x75\x74\x83\xeb\x4c\xa7\x15\x13\x0f\x67\x3a\x4f\x7b\x2c\xac\x54\xc7\xc8\xcb\x39\x17\x9b\x83\x86\x68\xc9\x70\x1d\x7d\x34\x9d\xb2\xdd\x8e\x10\xc5\x5c\x99\x54\x26\x0f\x82\x6b\xb6\xb1\x58\x19\x3b\xd0\x1c\x34\xda\x17\xae\x17\x62\xd3\x64\x22\xc6\x61\x9f\x5d\x0a\xc1\x1d\x91\xb3\x58\x99\x3d\x87\xe7\x40\xe8\x7a\x13\x07\x42\x6e\x7b\x54\xf9\x85\x8b\xeb\x00\x85\x7b\x54\x14\xc0\xea\x66\xab\x64\x96\xea\x15\xe9\x42\x1d\xe6\x41\x90\xff\xb6\x0a\xab\x81\xb0\xb4\x1b\xcc\x80\x5b\xe3\xc1\x79\x63\x13\x05\xe8\x39\x27\xfa\x34\x86\xbd\x81\xa0\x8c\xc9\x96\xf4\x52\x28\x75\x84\x2c\x10\x1a\xd9\x51\xe8\xc7\xd7\x13\xb4\x56\xe2\x08\x3b\x4b\x94\x8a\x63\x69\xd2\xd3\xae\x91\x98\x6b\xc2\x04\x2d\x47\xee\x85\xc7\x91\x15\x75\x4b\xb7\x63\x91\x69\x0e\x0e\x5c\x8d\x99\x2c\x64\x16\xe5\x46\x6e\x6e\xa2\xdc\x81\x04\xc6\x61\xda\xfb\xae\xe0\x2a\xad\x69\x76\x25\xf4\x0a\x89\x4b\x17\x14\x6a\x02\x5e\x15\x39\xe5\x89\x35\xf1\xe6\x5d\xb2\x24\x92\x35\x5a\xc7\xc0\xf6\x81\x8c\xe7\xaf\x23\x9e\x8e\x3e\x81\x0b\x91\xf3\x30\xcd\xb2\x16\x6b\xf8\xe6\x9e\x01\xfd\x30\x8a\x87\x54\x08\x8e\x1e\x05\x65\xb0\xb1\xe8\x62\xa9\x5a\xc4\x85\x04\xbc\x71\x20\xdc\x0b\xd5\xe0\xc9\xb4\x30\x65\xb5\x43\x1f\x4b\xd5\xf9\x02\x5e\xbd\x8a\x21\x76\x7d\x32\x9c\xfe\x5d\xbd\xef\x38\x6c\x0c\xdc\x55\xe3\x3c\x95\x45\xa4\xce\x89\x0a\xa9\x58\xa0\xcf\x31\x50\xa4\xf2\xae\xa3\x9f\xbc\xb2\xab\x89\x45\x0c\x78\xf5\xea\x3c\x6d\x1c\xa6\x4c\x4a\x44\x2b\x86\xc8\x9b\x95\x08\xa9\x38\xa5\x07\x7e\xb5\x43\x7f\x7b\xac\x71\xbe\x58\xc9\x9c\x02\x71\x21\xd1\x2e\x06\xda\x1f\x46\x19\xa4\x97\x2d\x52\x4d\xff\xc7\xb3\x45\xa4\x8c\x13\xc9\x42\xea\xb8\x59\x17\x24\x8b\xf7\x98\x42\xb4\xd4\x99\x6a\x72\x04\x01\x6d\x63\x20\x98\x91\x95\x98\xdd\x0d\xb7\x20\x06\xa6\x56\xca\x01\xdb\x62\x8b\x0a\xec\x4b\xea\xeb\xe0\x86\x50\x44\xcd\xa0\x17\xa7\x72\x93\x06\x4d\x17\xd3\x4b\x50\xf2\x0e\xc1\xd5\x4a\x72\xf5\x55\x41\x53\x53\xec\x6e\x85\x38\xd4\x79\x78\x41\xb5\xb9\x2c\xf8\x28\x79\xa8\x55\x68\x05\xc0\xe5\x69\x26\x6d\xd6\x38\xcd\x44\xd7\x83\x17\x77\xd8\xe5\x0a\xca\x1f\xf1\x8d\xa3\x04\x3a\xbd\x0d\x83\x36\xd1\x63\xa7\x9b\x8d\xa2\x43\x1d\x65\xce\x03\x3a\xd3\x41\x5e\x0c\x4d\xda\xa1\xbf\x69\xea\xda\x58\x8f\x39\x0f\x20\x88\x52\xf6\xa6\x7d\xe4\xa8\xdf\xa5\x36\x25\x9d\xa7\x53\xb4\x0f\x3d\x16\x1e\x18\x6b\x59\xae\x70\xe3\xa2\xc9\x8e\xda\xbb\x49\xbb\xf6\x12\x0f\x6c\xdc\xb4\xde\xf9\x62\x0d\xf7\xb7\x7c\x64\x88\x9f\x3d\x0c\x6d\xfd\x25\x5a\x72\x28\x91\x23\xbe\xb1\x0c\x40\x72\x15\xa1\x47\x87\x0e\x9a\x74\xd1\x82\xd0\x15\xa1\xb7\x83\xc3\x93\xa4\xbd\x4d\xeb\x60\xac\x0a\x1d\x67\x81\xd0\xc7\x20\xc8\x95\xdc\xaf\xfc\x8d\xc2\x4a\x8f\xc7\x91\xd0\x1c\x8b\x01\x0d\x98\x5c\xa2\x74\xa7\x2b\x9c\x87\x78\x40\x1f\x23\x07\xed\x1f\xf4\x27\x60\x95\x28\xbb\xb1\xbd\xd0\x1b\x7b\x31\x9c\x8e\x43\xa5\x0f\xb9\xb4\x98\xf9\xb6\xb8\x01\xa9\x9d\x47\x91\xd3\xd6\x95\x62\xcf\x67\x9a\x9b\x4f\xa2\x05\x24\x41\xb0\x6b\x0a\x3c\x2f\x77\xf8\x73\x55\x50\x02\xc4\x1a\xbe\x6b\xb3\xdd\xd7\xff\x77\x3f\x0c\xae\x69\x6b\x1e\x5e\x2f\xc6\x29\xc6\xe2\x44\x86\x49\x42\x57\x1c\x5d\x08\x2f\x57\xdf\xf1\x36\x11\x12\xb6\xc6\x5a\x73\x80\xd3\xc6\x20\xfc\xf4\xee\xb6\x9d\x7a\x75\x69\xcc\x8d\xc9\x68\x22\xe4\x4a\xd7\xdb\x16\xa6\x62\xa4\x75\x87\x1a\xad\x50\x50\x37\xb6\x36\x0e\xa1\x42\x2f\x72\xe1\x45\x6f\xec\x38\x00\x26\x72\x30\x12\x87\x98\x87\x92\x7e\x87\xbe\x15\x13\xd8\x9f\xc8\xf3\xc0\x2a\x0e\xa5\x51\xc8\xbd\xf1\xae\x4b\x94\xc4\x12\x0e\x70\x8f\xf6\xd8\x2f\x66\x9b\x7a\x67\x45\xce\x2e\x21\x46\x69\xcd\x56\x6c\x89\x1f\x1a\x03\x55\x93\x95\x04\x0f\x01\x5b\x8b\xe2\x8e\xe9\x79\x29\xf4\x0e\x2f\x81\x65\x74\x13\xdc\xc3\xf5\xf5\x7a\xd0\x53\x5c\xb5\xcd\xc5\x51\x20\xfc\x2b\xf7\xe1\xd2\x02\x7b\x19\xe2\x84\x72\xa5\xcc\x91\xf1\x26\x6f\x91\x41\x6b\x25\x51\x6a\x6e\xe7\x2e\x07\x33\x9c\x89\x4d\xc0\x70\x4d\x91\x3a\xf9\x31\x07\x82\xd0\x80\x1f\x6a\x25\x33\xe9\xc3\xec\x27\x63\x54\xcb\x47\x12\xac\x67\x9f\x24\xac\x7d\x8a\xb8\x31\x58\xf8\xa0\x93\x1b\xbc\xeb\x9e\x4c\x12\x7d\xab\x49\x00\xdb\xf9\x77\xd2\xf1\x8f\xb3\x49\xc5\x06\x25\x34\x7c\xfe\x4f\x96\xd0\x5a\xf5\x56\x1f\x6f\xbc\x6d\x32\xff\x66\x7c\x90\xba\x9a\x69\x50\x6f\xe6\x48\x09\x66\x19\x0b\x9a\x16\x4f\xe1\x9a\x88\x19\x76\x77\x47\xd4\xc6\xf0\x65\xc2\xdb\xb2\x17\x0f\x97\x6d\x65\x17\xae\x3c\x92\x2b\xba\xfa\xb4\xe9\x9a\x41\x14\x29\x5c\xf2\x30\x1c\xd1\x3f\x27\xb5\xf3\x52\xd6\x97\x5b\x73\xd1\x71\xf8\xcb\xf0\x10\x24\xa6\xba\x7f\x3a\xc7\x3c\x0e\xd1\xff\xfe\x04\x3f\x8a\xf0\x14\x74\x51\x99\x43\xe0\x8e\xb4\x59\xfd\x3b\x8e\xc4\x05\x5d\x63\x23\xd3\xb5\x8d\xfe\xca\xcb\x2a\xde\x9d\x31\x70\xc6\xf2\xb8\x06\xa6\x28\x13\x96\xd9\xf6\xa3\xa8\xaa\x12\x4c\xf0\xda\x5d\x8e\x68\x8b\xcc\x71\x78\x3f\xba\x0a\x1d\xf9\x15\x0c\xe4\xcb\xe2\x84\xda\xbb\x9b\x66\x4b\xd6\xcc\x4d\x11\x4e\xc6\xd7\xdf\xdc\x4f\x48\x7a\x78\x3d\x5f\x8c\x33\x1e\x74\x0d\xa3\xfb\xa1\xd8\x35\x33\x8f\x87\x61\xe2\x02\x54\x6e\x2a\x45\xb6\x4c\x89\xe3\x5d\x55\xfb\x23\xe4\x92\xf9\x81\xa0\x84\x10\xf8\x75\x64\x30\xa1\x20\xe3\x7c\xd1\xba\xe1\x50\x12\x3b\xd0\x2f\xfc\x94\xe4\xee\xf6\x66\xd2\x3f\x4b\x70\x94\x4a\x84\x1b\xbd\xbe\x39\x48\x9f\x95\x5b\x23\x6c\xbe\x59\xc2\x86\x9f\xbd\x33\xf6\x20\x6c\x8e\x76\x03\xe8\xb3\xd5\x59\x57\x3c\x9c\xcd\xd7\x9f\x22\x8e\x8e\x1c\x18\x95\x16\x42\x39\x9c\xd2\xd4\xe7\xa1\x5c\x68\x7a\x63\xc5\x8e\xb0\xe4\x4b\x42\x96\xc5\xee\xe8\x26\x06\xe9\x8f\xb5\xcc\xf8\xa8\x6d\xc3\x04\x7c\x3a\xf1\x7c\x1f\xf6\xe7\x26\x88\xff\x59\xf8\x92\x50\xd0\xfb\xfa\x66\xda\x70\x2d\xd5\x25\x66\x47\xd6\x31\xb0\x5a\xba\xa1\xd9\x7c\xfd\xd5\x12\x94\xae\x63\x71\xa9\xed\x3f\xf3\xc4\x64\x7a\xf7\xed\x79\x96\xff\x67\x12\xd6\x53\xdd\xc0\x4d\x20\xb7\x9b\xae\x1f\xc8\x90\x7a\xe1\x26\x89\xcb\xb0\x23\x48\x14\x6d\xd4\x15\x4c\x82\xa9\x44\x39\x9d\xff\x39\xfa\x35\x93\x64\x3a\x05\x99\xae\xeb\xf2\xfa\x89\xae\xcb\xdb\xd0\x6a\xe9\x7a\x28\xa9\xe9\xa2\x42\xab\x4a\x68\xaa\xca\xf0\xf7\x46\xa8\xf0\x6d\x22\xad\x4d\xb4\x5d\x1e\x2e\x6c\x2e\xc5\x5b\xde\xd0\xfa\x13\xaa\xed\x43\xc2\x66\x8b\x85\xb1\xb8\xe9\x53\xca\x10\xda\xa2\xd2\xae\x71\x3d\x24\x7e\x3d\xe1\xf1\x52\x76\x8b\x3b\xa9\x35\x51\xe0\xd1\x2f\x18\xba\xdf\x36\x4c\xcc\xbe\xc0\xb7\xaf\x5e\x41\xb0\x72\x7e\xf2\x6e\x01\x5f\x3d\xee\xf7\x9f\x5a\x0c\x25\x67\xf6\xbb\x5d\xa9\x59\xd1\xf9\xb8\xb6\xb8\xe7\x1f\x16\xa4\xe1\x22\xf4\x36\xc6\xdd\xaf\xf4\xfe\x7c\x4d\x74\x61\x03\x43\xe4\xb9\x03\xe9\x3b\x85\xb1\xf0\x1a\xec\xbd\x9c\x68\x9f\x5f\xdc\xbe\x98\x4a\xa2\xe3\x0c\x4a\x65\xbd\x73\x68\x7d\x77\xc7\x9e\x19\x9d\x59\xf4\x91\x22\x44\xf7\x74\xd7\xa6\x21\xe2\x49\xd7\x76\x0d\xc7\xf2\x62\xbe\xec\xf5\x0a\xda\x06\x43\xea\xa5\x47\x69\x17\x1c\x38\x5a\xcb\x4a\xba\x1f\xb5\xf3\xbc\xf1\xc3\x2c\xbf\x58\xc3\xf4\xee\x7f\x27\x34\x91\xd6\xae\x5a\x07\xa9\x33\x53\xd5\xc2\xf7\x7e\x47\x44\xeb\xbb\xac\x99\x39\x79\x79\xcb\xa6\xf5\x31\x19\x6e\xff\x1e\x69\x6a\xa6\x19\x17\x37\x35\xe1\xfc\xd9\x7e\xe6\x69\xf9\xff\xf4\xee\xc4\xea\xc5\x47\x1d\x20\xd7\x54\x4f\x9e\x9c\x0e\x33\x8f\x06\xb0\xd1\x89\xf9\xdf\x6c\xcd\x7c\x92\x4d\x7c\x76\xc8\x6b\x73\xaf\x43\x9d\xa3\xfd\xac\x21\x10\xce\x9c\x9d\xe9\x5b\xf9\x4b\x2e\x02\xcc\xba\x6b\x5e\x85\x46\xd5\x7c\xf1\xe6\xd3\xdd\x17\x0c\x50\xc7\x97\x4f\xf8\x03\x71\xff\x18\xa2\xe3\xfd\x92\x3e\xc6\x1f\xd4\x99\x38\x66\xc0\x4f\x38\xbc\x95\x82\x22\xfb\xbf\xd0\x9a\x4b\xb8\x49\x1b\xae\xc7\x2a\xe7\xcf\xbe\x3c\x3a\x73\x0b\xf4\x72\xf5\x72\x0d\x57\xb7\x25\xf7\xba\x54\xbc\x58\x4b\xa7\x30\x60\x80\x99\x6a\xdf\xe2\x0b\x0e\x67\xfc\x15\xc2\xfc\xb2\xb6\xe3\x14\x14\x4e\x7f\x6a\x70\x02\xf2\x3f\x7c\xff\xf3\xf0\xef\x00\x00\x00\xff\xff\xfa\x81\xfb\x0e\xd2\x2b\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x73\xdb\x36\x12\x7f\xe7\xa7\xd8\x71\x67\x2e\x52\x4f\x95\xf2\x70\x73\x0f\x9a\x26\x6e\xd2\xd6\x37\x7d\xe9\x74\x6a\x5f\xf3\xd0\xb9\x39\x41\xe4\x52\x44\x43\x02\x2c\x00\x4a\xd1\x79\xfc\xdd\x6f\x76\x01\xf0\x9f\x28\x5b\x76\x9b\x7b\xb8\x3c\x24\x36\x49\xec\x2e\x16\xbb\xbf\xfd\xed\x22\xab\x2f\xbf\x4c\x92\x2f\xe0\xae\x40\xb8\x29\xf5\x01\x6e\x1a\xb5\x93\xdb\x12\xe1\x4e\x7f\x44\x05\xd6\x09\x95\x09\x93\x25\xc9\x17\x5f\xc0\x26\xbe\xe4\x77\x1b\x48\xb5\x72\x46\xa4\x2e\x49\x78\xf9\xf4\x4a\x90\x16\x94\x86\x52\xab\x1d\x1a\x10\x0a\xa4\x72\x68\x72\x91\x62\xe2\x0a\xe1\x40\x94\x25\xe4\x71\xa9\xe3\xa5\x51\xae\x85\x83\x6e\xca\x0c\x0a\xb1\xa7\x57\xf4\x3c\xd7\xa6\x02\xa7\x97\x49\xf2\x43\x0e\x02\x1a\x8b\xc6\xc2\x41\x28\x67\xe9\x83\x0c\xeb\x52\x1f\x41\x80\xc2\xc3\x48\xd6\x02\x5c\x81\xd2\x74\x36\x67\x1a\xc9\x30\x07\x0a\x31\xa3\xc5\xb2\xaa\x4b\xac\x50\x39\xfa\x12\x06\x5b\xed\x6c\x5e\xc0\xb6\x71\x41\x14\x2b\xb0\x49\xa6\xcf\x88\x68\x17\x59\xc8\x30\x97\x0a\x33\x90\x0a\x5c\x21\x6d\x6b\xc5\xd2\xfb\xf5\x17\xd1\x94\x6e\x03\x06\xad\x6e\x4c\xda\x5b\x99\x24\xdf\x8b\xb4\x18\xfb\xa7\xfd\xce\x1d\x6b\x64\xe5\xf6\x54\xfb\x79\xa1\x41\xe9\x4f\x46\xef\x65\x86\x66\xb3\x80\xcd\xcf\x98\xa2\xdc\xf3\xcf\x42\x65\xb0\x79\x2f\x4a\xa1\x52\x9c\x5a\x6d\xf9\xb4\xed\x68\x7b\x69\x29\x0c\x42\x6d\xf0\xab\x54\xab\x4c\x3a\xa9\x95\x65\x51\xb5\xb6\xae\xff\x8c\xcf\xdc\xa0\x75\x46\xa6\x2e\x21\x43\xf1\x13\xa6\x0d\xbd\x04\x9d\xb3\xe5\x79\xa3\x52\xff\x31\xbb\x0b\x81\x77\xb2\x64\xbd\x47\x20\x3d\x16\x6b\x61\x84\x43\xd8\x62\x2a\x1a\xb2\xc5\xc1\x4e\xee\xd1\xf2\xe7\x14\x14\xfc\x83\xd8\xca\x52\xba\x23\xf9\xc6\x16\xc2\x60\x22\xc0\x60\x8e\x06\x55\xca\xf1\xe4\x8f\x91\xa5\x7b\xbb\xb4\x2a\x8f\x80\x9f\x6a\x6d\x83\xa8\x5c\x62\x99\xd9\xce\xa2\x44\x2a\xd0\x0a\x41\x1b\xa8\xb4\xc1\x68\x71\xe7\x0a\x0a\x4c\x8a\x69\xab\x83\x41\x3e\x42\x47\xd6\x54\xe2\x23\x42\xda\x58\xa7\xab\xd6\xc3\xc1\x35\xed\x21\x92\x6f\x86\x5e\xa6\x00\xd7\xb0\x17\x46\xea\x86\xbe\x96\x6a\x67\xe1\x20\x5d\xc1\xe2\x7d\x34\x2e\x93\x1b\x6d\x00\x3f\x09\x12\xb3\x00\x01\xb9\x68\x52\x74\x90\x0a\x05\x5b\xec\xa4\x63\x06\xdb\x63\x4c\x28\xa9\x76\x89\x77\x07\xc4\xa0\x18\x44\xcb\x97\xab\x24\x91\x55\xad\x8d\x83\x5f\x24\x1e\x7e\x46\xab\xcb\x3d\x1a\xc8\x8d\xae\xe0\xaa\xff\xe8\x2a\x49\x56\xab\xd5\x30\x79\xe8\xc9\xe0\x69\x00\x88\xd6\x16\x11\xa2\xc5\x60\x0f\x28\x0c\xfe\xde\x48\x33\x95\x56\xc3\x64\x60\xc9\x9d\xb1\xf0\x01\xc1\x3a\x59\x96\x1e\x34\xa4\x03\x61\x07\xa0\x03\x05\x9a\x2e\x6e\x1c\xff\xc6\x21\xa5\x2b\x8e\x9c\xbc\x29\x59\x64\xe3\xfc\x69\x55\xe8\x0a\x9d\x85\xc3\xa9\x84\x3a\x42\x6d\xf4\x6f\xc8\xe0\x44\x6a\xbc\x32\x42\x20\xb2\x94\x95\x6a\x35\xc2\x1a\xbb\x60\x91\x01\x39\x7c\x08\x6f\x8f\xb4\xd9\x0a\x85\xb2\xed\x5e\x97\x0c\x86\x3e\x0c\xba\xa7\xf4\x33\x3f\x6b\x4f\xd9\xef\x39\x3a\xc5\x0e\xd2\xbd\x83\x0e\x91\xa6\x68\xed\x4c\x94\xe5\xbc\xb5\x64\x04\x6b\xf7\x49\x02\x00\xb0\x5a\xc1\x3b\x05\xa8\x9c\x74\xc1\xcf\xb9\x36\x64\x8b\x3e\x48\xb5\x63\xf1\x14\x66\x99\x11\x07\x51\x72\xcc\x73\xac\xf9\xf3\x17\x3e\x81\x58\x50\x5f\x65\x5f\xdc\x87\xb8\x7a\x5b\x62\x54\xb9\xe2\x9a\x83\x7b\x7f\xac\x7e\xcb\x58\x49\x47\xa1\x79\x28\x50\x45\x25\xe4\xac\xa8\x5d\x3d\xa1\x72\xdf\x57\x36\x13\x95\x6e\x94\x5b\xc3\x3f\x6f\xe4\xa7\xbf\xff\x6d\xc1\x6b\xd7\xf0\x2e\xcb\x0c\x5a\x7b\xbd\x60\xf4\x5c\xc3\xad\x33\x52\xed\xe6\x7d\x61\x16\xcb\x7c\x4e\x71\xc6\x06\x45\x79\xdf\x93\xf4\xe7\x09\x5d\xc3\x7b\xad\x4b\xb8\x67\xe1\xf4\x87\xe4\x9d\x1a\xe8\xff\x8d\xb2\xe8\xef\x28\x87\xfe\x9e\xb7\xab\x0d\xba\xc6\x28\x70\xa6\x41\x7e\xf6\xf0\x12\x5f\x66\x58\x6b\x2b\x9d\xcf\xac\xc7\x3d\xf9\x9d\xff\xf4\x64\xcf\x4e\xbf\xc0\x8d\x41\xd8\xb4\x17\x1f\x91\x38\xed\xc3\xb1\x69\xd1\x85\x24\xc8\xe9\xcf\xe8\x3e\x67\x84\xb2\x39\x1a\x4a\x4c\x0e\x46\x2a\x07\x22\x4d\x49\x3d\x7b\x54\x69\x02\x95\x33\x1e\xbd\x0b\xab\x9f\x0e\xa3\x97\xb8\x38\x4a\xbf\x30\x52\x9f\xeb\xf3\x13\xe3\x27\xe3\xf6\x65\x07\xc0\x26\x3f\x12\xb3\xd6\x19\x7d\xc4\xec\x8c\x5b\xdf\x37\x46\x9d\xc6\xd4\xc0\x69\xe7\xbd\x46\x8b\xcf\x44\xe5\xa3\x3e\x91\x79\x70\x00\xbc\x7d\x03\xaf\x97\xaf\x7b\xaf\x5a\x97\x0d\x0c\x6b\x63\x74\xc2\x35\x0f\x97\x38\x29\x16\xe7\xf8\x60\x10\xbe\x5d\x85\xe3\x10\x46\xaa\xec\x69\xa0\x31\xa1\x94\xf8\x6a\x41\xd8\x1e\x01\x95\x2a\x7f\x14\xd2\x07\x75\x26\x35\xb1\xc0\x70\x0d\x38\xd6\xb8\x3c\xd1\xfb\x83\x83\x96\x46\x07\x85\x43\x5d\x5a\xc1\x66\x1b\xb9\x24\xd5\xda\x45\xbb\xb6\x47\xdd\x4a\x14\x44\x95\x74\x8d\x9e\xef\xd5\xda\x5a\x19\xd8\x92\xce\x21\x35\x28\xd8\x88\xc0\x98\xea\xe0\x06\xdb\x99\x4e\x3b\x26\x1e\xce\x74\x9e\xce\x58\x18\x59\x1e\x03\x2f\xe7\x5a\xac\x0f\x0a\x82\x25\xc3\x7d\xf4\xa3\xe9\x94\xed\x76\x84\x28\xd4\xca\xa8\x32\x7a\x10\x6c\xb3\x0d\xcd\xca\xd8\x81\xfa\xa0\xd0\xbc\xb2\x3d\x88\x8d\x8b\x89\x18\xfb\x73\xb6\x11\x82\x3b\x22\x67\xb0\xd2\x7b\x86\x67\x4f\xe8\x7a\x0b\x07\x42\xee\x7a\x54\xf9\x95\x0d\xfb\x80\x12\xf7\x58\x12\x80\xd5\xcd\xb6\x94\x69\xec\x57\xa4\xf5\x7d\x98\x03\x41\xfe\xdb\x96\x58\x0d\x84\xc5\xd3\x60\x06\xdc\x1a\x0f\xd6\x69\x13\x29\x40\xcf\x39\xc1\xa7\x01\xf6\x06\x82\x52\x26\x5b\xd2\x49\x51\x96\x47\x48\x3d\xa1\x91\x1d\x85\x7e\x7c\x3f\x5e\x6b\x25\x8e\xb0\x33\x44\xa9\x18\x4b\xa3\x9e\x76\x8f\xc4\x5c\x63\x4c\xd0\x76\xe4\x5e\x38\x1c\x59\x51\xb7\x74\x3b\x34\x99\xfa\x60\xc1\xd6\x98\xca\x5c\xa6\x41\x6e\xe0\xe6\x3a\xc8\x1d\x48\xe0\x38\x8c\x67\xdf\x35\x5c\x85\xd1\xcd\xae\x80\x5e\x23\x71\xe9\x86\x7c\x4f\xc0\xbb\x22\xa7\x3c\xb1\x27\x3e\xbc\x4b\xb6\x44\xb2\x46\xfb\x18\xd8\x3e\x90\xf1\xfc\x7d\x84\xec\xe8\x13\x38\x8f\x9c\x87\x69\x96\x35\x5f\xc3\x37\xf7\x1c\xd0\x0f\x23\x3c\xa4\x46\x70\xf4\xc8\x2b\x83\x8d\x41\x1b\x5a\xd5\x3c\x6c\xc4\xc7\x1b\x03\xe1\x5e\x94\x0d\x9e\x2c\xf3\x4b\x96\x3b\x74\xa1\x55\x9d\xcd\xe1\xcd\x9b\x00\xb1\xeb\x93\xcf\xe9\xcf\xd5\x87\x8e\xc3\x06\xe0\xae\x1a\xeb\xa8\x2d\x22\x75\x56\x54\x48\xcd\x02\xfd\x1c\x80\x22\xb6\x77\x1d\xfd\xe4\x9d\x5d\x4d\x6c\x62\xc0\xab\x97\xe7\x69\xe3\xb0\x64\x52\x21\x5a\x72\x88\x5c\x2f\x85\x2f\xc5\xb1\x3c\xf0\xab\x1d\xba\xbb\x63\x8d\xb3\xf9\x52\x66\x04\xc4\xb9\x44\x33\x1f\x68\x7f\x18\x55\x90\x5e\xb5\x88\x3d\xfd\x1f\xaf\x16\x81\x32\x4e\x14\x0b\xa9\xc2\x61\x5d\x50\x2c\x3e\x60\x84\x68\xa9\xd2\xb2\xc9\x10\x04\xb4\x83\x01\x6f\x46\x5a\x60\xfa\x71\x78\x04\x01\x98\x5a\x29\x07\x6c\x9b\x2d\x6a\xb0\x2f\xe9\xaf\xbd\x1b\x7c\x13\x95\x40\x0f\xa7\x32\x1d\x3f\x9a\x6e\xa6\x17\x50\xca\x8f\x08\xb6\x2e\x25\x77\x5f\x15\x34\x35\x61\x77\x2b\xc4\xa2\xca\xfc\x0b\xea\xcd\x65\xce\xa9\xe4\xa0\x2e\xfd\x28\x00\x2e\x2f\x33\xf1\xb0\xc6\x65\x26\xb8\x1e\x9c\xf8\x88\x5d\xad\xa0\xfa\x11\xde\x58\x2a\xa0\xd3\xc7\x30\x18\x13\x3d\x96\xdd\x6c\x14\x25\x75\x90\x39\xf3\xd1\x19\x13\x79\xde\x37\x89\xad\xda\xa1\xbb\x6d\xea\x5a\x1b\x87\x19\x7f\x43\x51\x4a\x05\x9c\x8e\x92\x81\xbf\xab\x6e\xa5\xb4\x8e\x12\x69\xef\xc7\x2c\xfc\x61\x68\x67\xb9\xc9\x0d\xfb\x26\x53\x6a\xd7\xc7\xe0\x81\x75\x7b\x89\x07\x36\x71\x5a\xf5\x6c\xbe\x86\xfb\x3b\x4e\x1c\x62\x69\x7d\xec\x59\xad\x3c\xfc\x18\x84\x7b\x66\x55\x6b\xb8\xca\x9a\xaa\x3a\x5e\xf5\x92\x67\xb5\x8a\x99\xd3\xdb\xe5\xcf\x61\x0f\x87\x02\xb9\x5c\x68\xc3\xd1\x4b\x7e\xa6\xd0\x53\x7e\xfc\x26\x6d\xb0\xdd\x8f\x54\xe8\xed\x20\xf3\x7a\x02\xdf\x45\x27\x70\xac\x0b\x15\x16\x82\x50\x47\x2f\xcb\x16\x3c\xef\xfc\x8d\x60\xa9\xc7\x03\x49\x6e\x86\xf9\x88\x46\x4c\xfb\x47\xda\x53\xf7\xcc\x3c\xa4\xd0\x8f\xa7\x34\xf6\x72\xff\xf4\xf0\xe5\x89\x68\x8e\x9d\x82\x36\x03\x45\x3c\x02\x62\x16\xe0\x07\x0c\x90\x49\x83\xa9\x6b\x7b\x2a\x90\xca\x3a\x14\x19\x85\x4b\x21\xf6\x0c\x25\x3c\xf3\x12\x6d\x1e\x50\xe4\x77\xb3\x88\xe7\x95\x2c\x77\xae\xf9\x8a\x41\xb8\x86\x6f\xdb\x22\xfb\xf5\x5f\xee\x87\x98\x1e\x0f\xf5\xe1\xed\x7c\x5c\xd9\xc8\x75\x13\x15\xca\x7f\xbf\x64\x50\xa3\x00\xbd\xfa\x96\x4f\x97\x62\x68\xab\x8d\xd1\x07\x38\x9d\x47\xc2\x8f\x37\x77\xed\xd2\xab\x4b\xa1\xbe\x63\x98\x03\x76\x9e\x21\xe5\xe2\x22\xd0\xbf\xf6\x74\xfc\x50\x9d\xf9\x48\x37\x51\x6f\x83\x76\x01\xa1\xa2\x2e\x7a\xc7\xb8\x68\x79\xb0\x1f\x10\xc7\x79\x5f\xc7\xe6\x9b\xae\x75\xa6\x0d\xda\x18\x84\x70\x44\xf7\x1c\x20\xe4\xad\xac\x7b\xd6\x4c\x1b\xd1\x1f\x3a\x2e\xdb\x81\xe4\x3d\xac\x56\x8b\x60\xfe\x18\x49\xff\x81\x6e\xaa\xb6\xef\x07\x59\x75\x0e\x72\x5a\x92\x11\x83\x66\x28\xfb\x7f\x80\x87\x7f\x0e\x18\x86\x5c\x7e\x8f\xa5\x3e\xf8\x6a\x4b\x07\xd6\x9f\x0a\xc7\xea\x69\x1b\x13\xb8\x81\x69\xd4\x57\x4e\x56\xe1\xb6\x81\x83\x67\x2c\x8f\xbb\x86\x1d\x46\xd0\x6a\x3b\x78\xe2\xa1\x82\x4b\x62\x7b\xd2\x21\xe2\x42\xad\x1d\xde\x28\x2d\xfd\x0c\x73\x09\x03\xf9\x32\x3f\x21\x43\xf6\xb6\xd9\x92\x35\x33\x9d\x7b\x58\xfb\xfa\x9b\xfb\x09\x49\x0f\x6f\x67\xf3\x71\xb2\x42\xd7\x62\xdf\x0f\xc5\xae\x19\xfd\x1e\x86\x39\x07\x58\xda\xa9\xec\x6e\xcb\x03\x08\x05\x58\xd5\xee\x08\x99\x64\x68\x13\xe6\x18\x69\x64\xc0\x6c\x4f\x61\x19\xf2\x5a\x37\x1c\x0a\x02\x36\xf5\xca\x4d\x49\xee\xe6\xdd\x93\xfe\x59\x80\x6d\xd2\x82\x94\x0c\x5f\xdf\x1e\xa4\x4b\x8b\xad\x16\x26\xdb\x2c\x60\xc3\xcf\x6e\xb4\x39\x08\x93\xa1\xd9\x00\xba\x74\x79\xd6\x15\x0f\x67\xa1\xe6\xf1\x08\x7c\x76\xb9\xe9\x29\x8d\xee\x9f\x0c\xe1\x5f\x49\xc8\xbf\xe0\xfa\x1a\x72\x51\x5a\x9c\x32\xa8\x5f\xa3\x99\xc1\x3b\x6d\xc4\x8e\x42\xce\x15\x14\x80\x06\xbb\x0c\x8f\xa5\xd5\x1d\x6b\x99\x72\x46\x6e\xfd\x02\xcc\x9e\x4c\xb1\xef\xfc\x31\xde\x7a\xf1\x3f\x09\x57\x50\xb0\xf4\x7e\xbd\x9e\xde\x9f\x92\xe5\x25\x66\xfb\x5e\x6f\x68\xb5\xb4\x43\xb3\xf9\x5e\x21\xb6\x85\xbd\x56\xf0\x52\xdb\x7f\xe2\x85\xd1\xf4\xee\xb7\xe7\x5a\x7e\x56\x0f\xe1\x31\x03\xcf\xaf\x77\x7c\x6e\x2f\xe5\x17\x13\x6a\x48\x83\xf1\x08\x4f\x5a\x66\xff\x66\xc5\x6d\x7c\xbd\x53\xc7\x5b\x67\x9a\xd4\x5d\xff\x51\xd2\x37\x39\xd4\xd9\x78\xb2\xb0\xe9\xc6\x3a\x1c\xa5\xaf\x6c\x2c\x24\x8f\x0c\x76\x14\x1e\xc6\xc3\x9d\x28\x98\xc8\xe2\xe9\xfa\xcf\xd1\x76\x4f\x92\x93\x98\x7a\x5d\xf3\xfc\xf6\x89\xe6\xf9\x9d\xef\x98\xbb\x56\x38\xf6\xce\xa5\x9f\x38\x08\x45\xfc\x18\x7f\x6f\x44\xe9\x7f\x9b\xa8\xb5\x13\xdd\xf3\xc3\x85\x33\x82\x70\x59\xe7\x27\x38\xa2\x6c\xc7\x49\xb0\xd9\x62\xae\x0d\x6e\xb8\x21\x0c\x25\xde\xe3\x6d\x50\xda\xcd\x1f\xf9\x32\x77\x4a\x78\xb8\x5b\xdb\xe2\x4e\x2a\x45\xac\x73\x74\x11\xdd\x5d\x51\x4f\xac\xbe\xc0\xb7\x6f\xde\x80\xb7\x72\x76\xf2\x6e\x0e\x5f\x3d\xee\xf7\x1f\xdb\x18\x8a\xce\xec\x0f\x2d\x62\xcf\xd9\xf9\xb8\x36\xb8\xe7\xfb\xe1\xf8\xb9\xf0\x2d\xea\x78\x88\x11\xdf\x9f\xe7\x98\x17\xf6\xa1\x22\xcb\xa8\x07\xed\x14\x06\x22\x3b\x38\x7b\x39\x31\x05\xbd\xb8\x0b\x9d\xaa\xec\xe3\xb2\x4e\xdd\x95\xb5\x68\x5c\x77\x55\x9a\x6a\x95\x1a\x74\x81\xb7\x04\xf7\x74\xb7\x5f\x1e\x5f\xa5\x6d\x87\x3f\x63\x79\xa1\x88\xf7\x5a\xb6\xb6\xd5\x8b\x23\xd1\x20\xed\x82\x84\xa3\xbd\x2c\xa5\xfd\x41\x59\xc7\x07\x3f\xa4\x1e\xf3\x35\x4c\x9f\xfe\xb7\x42\x11\x9b\xee\xba\x1f\x90\x2a\xd5\x55\x2d\x5c\xef\xbf\x83\xd0\xfe\x2e\x9b\x49\x4d\xde\xc1\xb1\x69\xfd\x98\xf4\x97\x38\x8f\xcc\xa6\xe2\x8a\x8b\x67\x53\x70\x3e\xb7\x9f\x99\x2d\x7f\x8d\xef\x4e\xac\x9e\xbf\x28\x81\x6c\x53\x3d\x99\x39\x5d\xcc\x3c\x0a\x60\xa3\x8c\xf9\xff\x6c\x75\xff\x94\x43\x7c\x36\xe4\xb5\xb5\xd7\xa2\xca\xd0\x7c\x56\x08\x84\x33\xb9\x33\x7d\xb9\x7a\xc9\x3c\x57\xaf\xbb\x61\x80\x6f\xfc\x67\xf3\xeb\x3f\x6f\xec\x3b\xbc\x25\x30\x28\x1c\x7e\x4f\x0d\x49\x80\xe8\x70\x4d\xa0\x8e\xe1\xff\x45\xe9\xf0\xcd\x80\x9f\x30\xbc\x15\x82\x90\xfd\x3f\x68\xf4\x25\xdc\xa4\x85\xeb\xb1\xca\xd9\xb3\xef\x00\xce\x0c\xf3\x5f\x2f\x5f\xaf\xe1\xea\xae\x40\x32\xb4\x0c\xf7\x23\x31\x0b\x7d\x0c\x30\x2f\xee\x5b\x7c\x41\x72\x86\xcb\xe4\xd9\x65\x63\x9c\xa9\x50\x38\xbd\x31\x3e\x09\xf2\x3f\x3c\xc6\x7f\xf8\x6f\x00\x00\x00\xff\xff\x8e\x7b\xad\x90\x99\x29\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0xc1, 0x8c, 0x85, 0x92, 0x59, 0x7a, 0x54, 0x81, 0x9d, 0xeb, 0x8c, 0x56, 0x3e, 0xbd, 0xb0, 0xd5, 0x24, 0x85, 0xd0, 0x69, 0x30, 0xfd, 0xd9, 0xcd, 0x26, 0x66, 0x3b, 0xd4, 0xe9, 0xd4, 0xb0}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0x93, 0xad, 0xff, 0x28, 0x94, 0x64, 0x2f, 0x31, 0xf5, 0x49, 0xa2, 0xd9, 0x59, 0x3, 0x48, 0xb4, 0xd3, 0xa4, 0x64, 0x1b, 0xfe, 0xd4, 0x35, 0x69, 0xef, 0x93, 0x51, 0xcc, 0xa4, 0xf5, 0xf6}}
 	return a, nil
 }
 
@@ -161,7 +161,7 @@ func fungibletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\x5f\x6f\x1b\xb9\x11\x7f\xd7\xa7\x98\xea\xe1\xce\x06\x1c\x29\x09\x8a\xf6\x20\x9c\x9a\xcb\xe1\x6c\xb4\x80\x83\x18\x8e\x73\x7d\xac\xa9\xdd\x59\x8b\x30\x97\xdc\x92\x5c\x29\x82\xe1\xef\x5e\x0c\xc9\xdd\x25\xf7\x8f\x2c\xdf\xf5\x80\xd3\x83\x23\x91\xc3\x99\xdf\xfc\xe5\x0c\xc3\xcb\x4a\x69\x0b\x57\xb5\x7c\xe0\x1b\x81\x77\xea\x11\x25\x14\x5a\x95\x30\x4f\xd6\xe6\xb3\x40\xf9\x09\x2d\xcb\x99\x65\xbf\x72\xdc\x9b\x40\x99\xac\xb5\x94\xf4\xeb\x16\x8d\x12\x3b\xd4\x81\x30\x5e\x9a\xcf\x66\xcb\xe5\x12\xee\xb6\xdc\x40\xa6\xa4\xd5\x2c\xb3\xc0\xcb\x4a\x60\x89\xd2\x1a\xb0\x5b\x84\x32\x30\x06\x63\x99\xcc\x99\xce\xa1\xd2\xaa\x52\x06\x73\x77\x96\x4b\xb8\xba\xfe\xd7\xcd\x9b\x77\x6f\x7f\xf8\xfb\xc2\xad\xb8\x3f\xb7\x58\xac\x60\x6b\x6d\x65\x56\xcb\xe5\x03\xb7\xdb\x7a\xb3\xc8\x54\xb9\x54\xb2\x10\x6a\xbf\x2c\x04\xaf\xcc\x72\x23\xd4\x66\x59\x32\x2e\x97\xac\xaa\x04\xcf\x98\xe5\x4a\x2e\xdf\xbf\x7d\xff\xfe\xed\x0f\xef\xde\xbd\x29\x82\xf2\x6f\x2c\x69\x6f\xde\x34\x48\x16\x65\xde\x09\xfa\x62\x75\x9d\x59\x03\x4c\xe6\xa0\xd1\xa8\x5a\x67\x68\x20\x63\xb2\xd3\x03\x94\x44\x50\x1a\x4a\xa5\xd1\x9d\x69\x55\xb2\x87\x0a\xcd\x05\x64\x4c\x08\xcc\x61\x47\xa6\x5b\xc0\x25\xcb\xb6\xee\xbb\xdb\x06\x8d\x95\x46\x43\xe6\x70\x67\x19\xe4\xbc\x28\x50\x13\xdf\x47\x2e\x73\x50\x45\xcb\xcf\xe9\x3f\x63\x59\x86\xc6\x9c\x31\x21\xce\x3b\xa3\x26\x8e\x4c\xfd\xf7\x34\x9b\x01\x00\x10\xf3\xab\x3b\x5a\x82\xbd\x66\x95\x81\xab\xbb\x5f\xb8\xa9\x04\x3b\x38\xdd\xae\xee\x7e\x65\xb5\xb0\xbf\x30\xcb\x2e\xdc\x02\x37\x50\x1b\xcc\xc1\x2a\x78\xe0\x3b\x04\x06\x99\x22\x8d\x2d\x42\xcb\xaf\xe2\x99\xad\x35\x12\x46\xd6\x42\x00\x87\x61\x01\x9f\x94\xb1\xbd\xc5\x16\xaf\x01\xb3\x55\xb5\xc8\x3b\x56\x9d\x35\x2d\x45\x0b\xd9\x67\xd1\x6c\xba\x7f\x63\xb5\x8d\x73\x4a\xa3\xce\x93\xdb\xef\xd3\x08\xb4\x50\xd8\xa0\xe2\xaa\xd3\xf6\x83\xa3\x3c\x72\xa4\xb5\xc3\x2a\x36\xca\x87\xf6\x84\x73\x1d\x97\xdc\x9e\xb5\x4b\xf4\x19\x95\x75\xd1\x23\x79\x89\xf7\x79\xa4\x0c\x7d\x0c\x8a\x62\xd1\x72\x86\x75\x27\x65\x8c\xac\x65\xe8\x08\xdb\x5f\x2d\xe9\xf3\xcc\xff\x6d\x8d\xfe\x4f\x14\x15\x6a\xe7\x62\xb4\xe4\xc2\xbb\x11\xc3\x13\xe1\x4f\x15\xd3\xac\x74\x9b\x4d\x6e\xaf\xe0\x23\x68\x74\x91\x9a\x21\xb1\xa0\x64\xd6\x4d\x2d\x68\x52\xa5\xe3\xa0\xd1\xd6\x5a\xc2\xc7\xc6\x6b\xde\x87\x93\x2e\x2e\x6a\x49\xa0\x3c\xf1\x59\x2a\xf8\xbb\xa7\xb8\xc8\x2c\x9a\x2f\xcf\xe7\xab\x61\x48\x90\x4f\x4b\x76\xd8\x60\xd8\x59\x27\x4a\x2c\x02\x60\x27\xe4\xee\x50\xe1\x8f\x9e\xec\x1f\x67\xe7\xe7\x2d\x0b\x5e\x34\x91\xe1\x19\xc4\xec\x52\x77\x05\x1d\x03\x25\x33\x7f\x09\x78\x7a\x1e\x88\x48\x83\x7e\x53\x91\xe4\x1c\xeb\xcc\x10\x96\x12\x4b\x9c\x1f\x09\xaf\xee\x64\xbb\x98\x9e\xed\x62\xae\x1f\x15\x0e\xbc\x55\x80\xdf\xa8\x0c\x3b\xbf\x72\x59\x28\x5d\xba\xfa\x09\x12\x31\xf7\x75\xc1\x6c\xd5\x3e\x63\x8e\x84\x53\x3d\x59\x74\xe9\xec\x4b\x3e\x93\xb0\x41\x5f\x46\x36\x07\x88\x8a\xb0\xe9\xca\x8a\x04\xb5\x43\xed\x92\x8a\xca\x4e\xcb\xe1\x41\xb3\x6a\xcb\x33\x43\xc5\x85\x20\x5c\xdd\x9d\x50\x0f\x9a\x44\xe9\xdc\xe2\xc1\x20\xe4\x61\x47\xb2\x12\xa1\x50\xda\x63\x76\x95\x7f\x11\x13\x27\x07\x2f\xbf\x31\x2a\x4b\x2b\x98\x5f\x09\xb5\x9f\x8f\xd2\xf5\x0b\x08\x09\x58\xd1\xb5\xc1\xe5\xc3\x6c\x00\x83\x6d\x36\x1a\x77\x9c\x59\xcc\xc1\x1c\xca\x8d\x12\xbf\x05\xcc\xf5\xe7\x7f\xcf\x27\x01\x78\xb6\xe3\x10\x3e\x42\x8e\x26\xd3\xbc\x72\x9e\x24\xb3\x56\x5a\xed\x78\x8e\x26\x71\x84\x33\xf9\x6b\x10\x91\x6a\x84\xca\x9f\xa0\xbb\x83\x78\x4b\x66\xc9\xc5\x59\xad\xa9\x48\x1c\x5a\x4f\x0a\xb5\x07\x89\x76\xaf\xf4\xe3\x62\x5a\x8f\x08\xe9\xb8\x32\x97\xdf\x2c\x6a\xc9\x04\x08\x2e\x1f\x29\xa0\x18\x7c\xbd\xbd\xa6\x2f\x4e\x09\xba\x8e\x93\xc0\x65\x1b\x55\x5b\x87\xa0\xb9\xf9\xfb\x0a\xf6\x21\x60\x90\xf0\xf5\xf6\x7a\x95\x76\x45\x8b\xcb\x6e\x2b\x45\xf5\xb9\x6b\x06\x60\x87\xda\xb8\x68\x0f\x9a\xa7\x72\x41\xa8\x07\x35\x2d\x9c\x76\x4d\x5f\xec\x27\xcc\x39\x33\xa9\xc4\x2f\x2a\xe3\xc1\x0a\x2e\xaf\x34\x52\x87\x31\x94\xf7\xbd\x01\xe3\x49\xb7\xaa\xc4\x8a\x3d\xa0\x49\x7c\x0b\x37\xca\x18\x47\xfe\x88\x07\x43\x65\x8e\xb2\x77\xce\xa5\xb1\xec\x41\xb3\x72\x7e\x01\x73\xbb\xe7\xd6\xa2\xa6\xaf\x39\x37\x99\xd2\xf9\xfc\x02\xd0\x66\xd3\x6a\x78\x91\x66\x05\x4f\xde\x87\x47\x0c\xf9\x3c\x7b\xe9\x92\x8d\x93\x2b\x2d\x7e\x69\xd4\xa7\x7b\x23\x91\x94\x12\x9c\xe6\xe7\xf4\xcc\x11\xf7\xf4\x90\xbd\xc6\x00\xcd\xa1\xd1\x46\xc0\xd5\xae\xb5\x33\xc2\x70\x33\x54\x93\x75\xb0\xc4\x90\x20\xce\xfc\x75\x6c\x93\x21\x69\x64\x0f\x58\xc7\xd6\x19\x92\x3a\x33\xc0\xda\x9b\x63\x04\x95\x57\x9e\x60\xf9\x6f\xa7\x36\x23\x5d\x2d\xe7\x12\x18\xec\xd9\x01\xec\x96\x59\xd8\x73\x21\x9a\xcb\xd3\x37\xd8\x39\x28\xa7\x06\x13\xed\x05\x01\x7f\x44\xe3\x22\x5b\x39\x11\xb8\x53\xbb\x98\xe6\xfa\xfe\x0f\xbc\xa2\x95\x69\x3b\xd6\xa7\x7e\x2f\xe2\x5a\x90\xb0\x7d\x62\x5b\x13\xa8\xa9\xb3\xe9\xc5\x56\xe0\x99\x27\xec\x06\x12\x98\xf9\x30\x7a\xc1\x36\x9f\x60\xa6\x88\x4b\x42\xf2\x3c\xdd\x03\x49\x2e\x7e\x5b\x0b\x62\x2c\x15\x59\x37\xac\x48\x8b\x6e\x0e\xda\x73\xbb\x0d\x8d\x2c\xb5\x3d\x8b\x57\x35\x24\x06\x6d\x5d\x45\xa7\x3d\x37\x1a\x47\x51\x77\x21\x45\x52\xd9\x83\x97\x5b\xd5\x1b\xc1\x33\xc8\x58\xc5\x36\x5c\x70\xcb\x9b\x92\x7a\x7c\x6a\x69\xfb\xf4\xb4\x4f\xb9\x61\x76\x4b\xe1\xde\x48\xd8\x6f\x51\xb7\xcd\x55\x80\xc4\x0d\x68\xcc\x54\x59\xa2\x0c\x5d\xd8\x06\xbd\x21\xf2\x23\x35\xd8\x33\x24\xfe\x54\x00\xdb\x1f\xe9\x3d\x72\xe3\x95\xa9\x08\xc5\x7e\xcb\xb3\x2d\x94\xb5\xb1\xc4\x9f\xae\x16\x2f\x2c\x72\x48\xd0\x5d\x63\x86\x9c\x32\xa7\x35\xc2\x61\x1a\x48\x43\xec\x91\x78\x81\xbf\x1b\xc8\x86\x09\x46\xa9\xdc\x8c\xe8\x2e\x8f\x27\x3d\x33\x06\xab\x19\xb0\x5f\x80\xa5\xf9\x8e\x59\x8c\x71\x85\x29\x76\xd2\x44\xbe\xb9\x8a\x6d\x43\x14\x14\x56\xb9\x66\x7b\x2a\x0f\xb9\x81\x44\x88\x7b\x44\xa1\xb3\x51\xfc\x8e\x41\x6e\x58\x07\xc8\x1e\xda\x10\x33\x25\xbf\x2f\x9c\x03\xa8\xcc\xf7\x42\xf7\xb1\x4f\xee\x17\x3e\x51\xb8\x01\x46\xb6\xb4\x9a\x67\xd4\xaa\x86\x97\x8a\xff\xd6\x9c\x6e\xb0\x14\xb1\x63\x92\xbc\x3f\x2c\x6e\x03\xcb\x7b\x9f\x98\x05\xcb\xf0\xe5\x98\xb8\x76\xb0\x08\xf0\xca\xc1\xfe\x33\x28\xf2\xb3\x0f\xad\x7b\x17\x5b\xf7\xa3\xa5\x3a\xd2\xf1\x84\x08\xfb\xbd\x4a\xb2\x42\x69\xf7\x4c\xc2\x95\xc4\x1c\xaa\x28\x24\x83\xc6\x09\x43\x6e\x40\x52\xd5\x14\xe2\x30\x62\x07\x5f\x2c\x69\xf0\x2f\xb9\xe4\x65\x5d\x8e\x99\xe0\x26\x04\xda\x49\xbe\x6c\xa2\xf2\xb8\x9a\x57\xb5\xcc\xc2\x00\x42\xd2\x85\x50\x7b\x03\x99\x46\x5f\xdc\x55\x41\xb3\x08\x96\x95\x3d\x74\x65\xcf\x51\x92\x3f\xa5\x75\x85\x2f\x75\x9c\x0a\x57\x41\xe8\x79\xf3\x23\x8e\x70\x62\xf0\x92\xb8\xbb\x32\xbc\xa2\x03\x67\xe7\x2b\xf8\xe9\x29\xd5\xdb\xed\xbe\xdc\x91\x4e\x95\xd6\x8b\xde\xc3\xc0\x78\xdd\x4b\xa9\xa6\xca\x50\x4a\x35\x99\xf9\xe3\x22\xfb\xae\x18\x17\x79\x9c\x6a\xca\xad\x29\x55\xdf\xb4\x8d\x9b\x5f\x32\x71\x73\xbe\xdf\x97\x54\x1a\x47\xfb\x8c\xbe\x5e\x0b\x6e\xbe\xd4\x1b\x8a\xe8\x33\x55\x78\x60\x3f\x7e\xf7\x34\x5e\x91\x9e\xa9\xff\x59\xc1\xbc\xf9\xdd\xdc\x13\x2e\x1f\xdc\x2d\xc3\x65\x26\xea\x1c\x61\xfc\x7c\x34\xaf\x4e\x9b\xf0\x14\x40\xa1\xb2\x5c\xc0\x78\xff\x17\x60\x36\x93\xc2\xa9\x30\x7f\x8e\xae\xc2\x51\xc6\x71\xb1\x1a\xaa\x32\xf4\xf3\x29\xaa\x34\x15\xa2\x01\xdd\xfc\x7e\x11\x6d\x4b\xd8\x55\x96\xf9\x44\xd3\x08\xed\x40\xd1\xa5\x18\x0d\x15\x51\x2f\x33\x20\x8d\x93\x0e\xd6\x49\x0e\x0e\x89\xe3\xdc\xa3\xf6\x37\xfa\x39\x24\x8e\x53\x10\xd6\x49\x46\x4e\xc3\xe8\x8c\x1a\x81\xe9\x16\xa7\x21\x25\x07\x87\x8b\xd3\xf0\x92\x83\xc3\xc5\xe1\xc1\x7e\x06\xc3\x7a\x32\xa9\x4f\x9f\xe3\xba\x6e\xf7\xe5\x49\xee\x73\x7f\x92\xfb\x43\x5e\xa0\xa3\x39\xae\x03\x77\xf2\x7b\x74\xfb\x9c\xfa\xaa\x59\xae\x7b\xec\x1f\x4e\x73\xbb\x13\x1f\xa6\x1b\x16\xd3\x33\xdc\x2e\xb0\x09\xd3\xda\xd8\xa0\xd1\x7c\x82\x35\x76\xff\xdf\x29\xcd\x2a\xcb\x04\x98\xba\xaa\x44\xfb\xde\xe7\x50\x7c\x1f\x5e\x13\xa7\xa6\xa2\x3b\x3a\xf8\xc5\x9f\x9b\xfe\x0f\x1d\xcf\x78\x05\x5f\xaf\xf8\xb7\xbf\xfd\x75\xec\x72\xb6\x1d\x9f\x86\x6c\xf4\x2d\x25\x40\x5c\x43\x74\x60\x10\xd3\xcf\x33\xf8\x5f\x00\x00\x00\xff\xff\x4a\xf6\x46\xcb\x3d\x1d\x00\x00"
+var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x59\xdf\x6f\x1b\xb9\xf1\x7f\xd7\x5f\x31\x5f\x3d\xdc\xd9\x80\x23\x25\xc1\x17\xed\x41\x38\x35\x17\xe0\x6c\xb4\x80\x83\x18\x8e\x73\x7d\x6c\xa8\xdd\x59\x89\x30\x97\xdc\x92\x5c\x29\x82\xe1\xff\xbd\x18\x92\xbb\x4b\xee\x0f\x59\xbe\xeb\xa1\x7a\x70\x24\x72\x38\xf3\x99\x9f\x9c\x61\x78\x59\x29\x6d\xe1\xa6\x96\x5b\xbe\x11\xf8\xa0\x1e\x51\x42\xa1\x55\x09\xf3\x64\x6d\x3e\x0b\x94\x9f\xd0\xb2\x9c\x59\xf6\x1b\xc7\x83\x09\x94\xc9\x5a\x4b\x49\xbf\xee\xd1\x28\xb1\x47\x1d\x08\xe3\xa5\xf9\x6c\xb6\x5c\x2e\xe1\x61\xc7\x0d\x64\x4a\x5a\xcd\x32\x0b\xbc\xac\x04\x96\x28\xad\x01\xbb\x43\x28\x03\x63\x30\x96\xc9\x9c\xe9\x1c\x2a\xad\x2a\x65\x30\x77\x67\xb9\x84\x9b\xdb\x7f\xdc\xbd\x79\xf7\xf6\xa7\xbf\x2e\xdc\x8a\xfb\x73\x8f\xc5\x0a\x76\xd6\x56\x66\xb5\x5c\x6e\xb9\xdd\xd5\x9b\x45\xa6\xca\xa5\x92\x85\x50\x87\x65\x21\x78\x65\x96\x1b\xa1\x36\xcb\x92\x71\xb9\x64\x55\x25\x78\xc6\x2c\x57\x72\xf9\xfe\xed\xfb\xf7\x6f\x7f\x7a\xf7\xee\x4d\x11\x94\x7f\x63\x49\x7b\xf3\xa6\x41\xb2\x28\xf3\x4e\xd0\x17\xab\xeb\xcc\x1a\x60\x32\x07\x8d\x46\xd5\x3a\x43\x03\x19\x93\x9d\x1e\xa0\x24\x82\xd2\x50\x2a\x8d\xee\x4c\xab\x92\x3d\x56\x68\xae\x20\x63\x42\x60\x0e\x7b\x32\xdd\x02\xae\x59\xb6\x73\xdf\xdd\x36\x68\xac\x34\x1a\x32\x87\x3b\xcb\x20\xe7\x45\x81\x9a\xf8\x3e\x72\x99\x83\x2a\x5a\x7e\x4e\xff\x19\xcb\x32\x34\xe6\x82\x09\x71\xd9\x19\x35\x71\x64\xea\xbf\xa7\xd9\x0c\x00\x80\x98\xdf\x3c\xd0\x12\x1c\x34\xab\x0c\xdc\x3c\xfc\xca\x4d\x25\xd8\xd1\xe9\x76\xf3\xf0\x1b\xab\x85\xfd\x95\x59\x76\xe5\x16\xb8\x81\xda\x60\x0e\x56\xc1\x96\xef\x11\x18\x64\x8a\x34\xb6\x08\x2d\xbf\x8a\x67\xb6\xd6\x48\x18\x59\x0b\x01\x1c\x86\x05\x7c\x52\xc6\xf6\x16\x5b\xbc\x06\xcc\x4e\xd5\x22\xef\x58\x75\xd6\xb4\x14\x2d\x64\x9f\x45\xb3\xe9\xfe\x8d\xd5\x36\xce\x29\x8d\x3a\x4f\x6e\xbf\x4f\x23\xd0\x42\x61\x83\x8a\xab\x4e\xdb\x0f\x8e\xf2\xc4\x91\xd6\x0e\xab\xd8\x28\x1f\xda\x13\xce\x75\x5c\x72\x7b\xd1\x2e\xd1\x67\x54\xd6\x55\x8f\xe4\x25\xde\x97\x91\x32\xf4\x31\x28\x8a\x45\xcb\x19\xd6\x9d\x94\x31\xb2\x96\xa1\x23\x6c\x7f\xb5\xa4\xcf\x33\xff\xb7\x35\xfa\xdf\x51\x54\xa8\x9d\x8b\xd1\x92\x0b\x1f\x46\x0c\x4f\x84\xbf\x54\x4c\xb3\xd2\x6d\x36\xb9\xbd\x82\x8f\xa0\xd1\x45\x6a\x86\xc4\x82\x92\x59\x37\xb5\xa0\x49\x95\x8e\x83\x46\x5b\x6b\x09\x1f\x1b\xaf\x79\x1f\x4e\xba\xb8\xa8\x25\x81\xf2\xc4\x17\xa9\xe0\x1f\x9e\xe2\x22\xb3\x68\xbe\x3c\x5f\xae\x86\x21\x41\x3e\x2d\xd9\x71\x83\x61\x67\x9d\x28\xb1\x08\x80\x9d\x90\x87\x63\x85\x3f\x7b\xb2\xbf\x5d\x5c\x5e\xb6\x2c\x78\xd1\x44\x86\x67\x10\xb3\x4b\xdd\x15\x74\x0c\x94\xcc\xfc\x5f\xc0\xd3\xf3\x40\x44\x1a\xf4\x9b\x8a\x24\xe7\x58\x67\x86\xb0\x94\x58\xe2\xf2\x44\x78\x75\x27\xdb\xc5\xf4\x6c\x17\x73\xfd\xa8\x70\xe0\xad\x02\xfc\x4e\x65\xd8\xf9\x95\xcb\x42\xe9\xd2\xd5\x4f\x90\x88\xb9\xaf\x0b\x66\xa7\x0e\x19\x73\x24\x9c\xea\xc9\xa2\x4b\x67\x5f\xf2\x99\x84\x0d\xfa\x32\xb2\x39\x42\x54\x84\x4d\x57\x56\x24\xa8\x3d\x6a\x97\x54\x54\x76\x5a\x0e\x5b\xcd\xaa\x1d\xcf\x0c\x15\x17\x82\x70\xf3\x70\x46\x3d\x68\x12\xa5\x73\x8b\x07\x83\x90\x87\x1d\xc9\x4a\x84\x42\x69\x8f\xd9\x55\xfe\x45\x4c\x9c\x1c\xbc\xfe\xce\xa8\x2c\xad\x60\x7e\x23\xd4\x61\x3e\x4a\xd7\x2f\x20\x24\x60\x45\xd7\x06\x97\xdb\xd9\x00\x06\xdb\x6c\x34\xee\x39\xb3\x98\x83\x39\x96\x1b\x25\x7e\x0f\x98\xdb\xcf\xff\x9c\x4f\x02\xf0\x6c\xc7\x21\x7c\x84\x1c\x4d\xa6\x79\xe5\x3c\x49\x66\xad\xb4\xda\xf3\x1c\x4d\xe2\x08\x67\xf2\xd7\x20\x22\xd5\x08\x95\x3f\x41\x77\x07\xf1\x96\xcc\x92\x8b\xb3\x5a\x53\x91\x38\xb6\x9e\x14\xea\x00\x12\xed\x41\xe9\xc7\xc5\xb4\x1e\x11\xd2\x71\x65\xae\xbf\x5b\xd4\x92\x09\x10\x5c\x3e\x52\x40\x31\xf8\x7a\x7f\x4b\x5f\x9c\x12\x74\x1d\x27\x81\xcb\x36\xaa\xb6\x0e\x41\x73\xf3\xf7\x15\xec\x43\xc0\x20\xe1\xeb\xfd\xed\x2a\xed\x8a\x16\xd7\xdd\x56\x8a\xea\x73\xd7\x0c\xc0\x1e\xb5\x71\xd1\x1e\x34\x4f\xe5\x82\x50\x5b\x35\x2d\x9c\x76\x4d\x5f\xec\x27\xcc\x39\x33\xa9\xc4\x2f\x2a\xe3\xc1\x0a\x2e\xaf\x34\x52\x87\x31\x94\xf7\xa3\x01\xe3\x49\x77\xaa\xc4\x8a\x6d\xd1\x24\xbe\x85\x3b\x65\x8c\x23\x7f\xc4\xa3\xa1\x32\x47\xd9\x3b\xe7\xd2\x58\xb6\xd5\xac\x9c\x5f\xc1\xdc\x1e\xb8\xb5\xa8\xe9\x6b\xce\x4d\xa6\x74\x3e\xbf\x02\xb4\xd9\xb4\x1a\x5e\xa4\x59\xc1\x93\xf7\xe1\x09\x43\x3e\xcf\x5e\xba\x64\xe3\xe4\x4a\x8b\x5f\x1a\xf5\xe9\xde\x48\x24\xa5\x04\xe7\xf9\x39\x3d\x73\xc2\x3d\x3d\x64\xaf\x31\x40\x73\x68\xb4\x11\x70\xb5\x6b\xed\x8c\x30\xdc\x0c\xd5\x64\x1d\x2c\x31\x24\x88\x33\x7f\x1d\xdb\x64\x48\x1a\xd9\x03\xd6\xb1\x75\x86\xa4\xce\x0c\xb0\xf6\xe6\x18\x41\xe5\x95\x27\x58\xfe\xdb\xb9\xcd\x48\x57\xcb\xb9\x04\x06\x07\x76\x04\xbb\x63\x16\x0e\x5c\x88\xe6\xf2\xf4\x0d\x76\x0e\xca\xa9\xc1\x44\x7b\x41\xc0\x9f\xd1\xb8\xc8\x56\x4e\x04\xee\xdc\x2e\xa6\xb9\xbe\xff\x05\xaf\x68\x65\xda\x8e\xf5\xa9\xdf\x8b\xb8\x16\x24\x6c\x9f\xd9\xd6\x04\x6a\xea\x6c\x7a\xb1\x15\x78\xe6\x09\xbb\x81\x04\x66\x3e\x8c\x5e\xb0\xcd\x27\x98\x29\xe2\x92\x90\x3c\x4f\xf7\x40\x92\x8b\xdf\xd7\x82\x18\x4b\x45\xd6\x0d\x2b\xd2\xa2\x9b\x83\x0e\xdc\xee\x42\x23\x4b\x6d\xcf\xe2\x55\x0d\x89\x41\x5b\x57\xd1\x69\xcf\x8d\xc6\x51\xd4\x5d\x48\x91\x54\xb6\xf5\x72\xab\x7a\x23\x78\x06\x19\xab\xd8\x86\x0b\x6e\x79\x53\x52\x4f\x4f\x2d\x6d\x9f\x9e\xf6\x29\x77\xcc\xee\x28\xdc\x1b\x09\x87\x1d\xea\xb6\xb9\x0a\x90\xb8\x01\x8d\x99\x2a\x4b\x94\xa1\x0b\xdb\xa0\x37\x44\x7e\xa2\x06\x7b\x86\xc4\x9f\x0a\x60\xfb\x23\xbd\x47\xee\xbc\x32\x15\xa1\x38\xec\x78\xb6\x83\xb2\x36\x96\xf8\xd3\xd5\xe2\x85\x45\x0e\x09\xba\x6b\xcc\x90\x53\xe6\xb4\x46\x38\x4e\x03\x69\x88\x3d\x12\x2f\xf0\x0f\x03\xd9\x30\xc1\x28\x95\x9b\x11\xdd\xe5\xf1\xa4\x67\xc6\x60\x35\x03\xf6\x0b\xb0\x34\xdf\x33\x8b\x31\xae\x30\xc5\x4e\x9a\xc8\x37\x57\xb1\x6d\x88\x82\xc2\x2a\xd7\xec\x40\xe5\x21\x37\x90\x08\x71\x8f\x28\x74\x36\x8a\xdf\x31\xc8\x0d\xeb\x00\xd9\x43\x1b\x62\xa6\xe4\xf7\x85\x73\x00\x95\xf9\x5e\xe8\x5b\xec\x93\x6f\x0b\x9f\x28\xdc\x00\x23\x5b\x5a\xcd\x33\x6a\x55\xc3\x4b\xc5\xbf\x6b\x4e\x37\x58\x8a\xd8\x31\x49\xde\x1f\x16\xf7\x81\xe5\x37\x9f\x98\x05\xcb\xf0\xe5\x98\xb8\x75\xb0\x08\xf0\xca\xc1\xfe\xdf\x28\x32\x5a\x8e\x23\x3d\xce\x88\xa2\x3f\xaa\x08\x2b\x94\x76\x4f\x21\x5c\x49\xcc\xa1\x8a\xc2\x2e\x68\x95\x30\xe4\x06\x24\x55\x46\x21\x8e\x23\xba\xfa\x82\x48\xc3\x7d\xc9\x25\x2f\xeb\x72\xcc\x5f\x77\x21\x98\xce\xf2\x57\x13\x79\xa7\xd5\xbc\xa9\x65\x16\x86\x0c\x92\x2e\x84\x3a\x18\xc8\x34\xfa\x02\xae\x0a\x9a\x37\xb0\xac\xec\xb1\x2b\x6d\x8e\x92\x7c\x26\xad\x2b\x6e\xa9\x73\x54\x28\xf7\xa1\xaf\xcd\x4f\x38\xc2\x89\xc1\x6b\xe2\xee\x4a\xed\x8a\x0e\x5c\x5c\xae\xe0\x97\xa7\x54\x6f\xb7\xfb\x72\xd7\x39\x55\x3e\xaf\x7a\xc3\xff\x78\x6d\x4b\xa9\xa6\x4a\x4d\x4a\x35\x99\xdd\xe3\x22\xfb\xae\x18\x17\x79\x9a\x6a\xca\xad\x29\x55\xdf\xb4\x8d\x9b\x5f\x32\x71\x73\xbe\xdf\x7b\x54\x1a\x47\x7b\x89\xbe\x5e\x0b\x6e\xbe\xd4\x1b\x8a\xe8\x0b\x55\x78\x60\x3f\xff\xf0\x34\x5e\x75\x9e\xa9\xc7\x59\xc1\xbc\xf9\xdd\xdc\x05\x2e\x1f\xdc\x4d\xc2\x65\x26\xea\x1c\x61\xfc\x7c\x34\x93\x4e\x9b\x70\x1c\xd0\x78\x33\x17\xf0\x34\x6d\xff\x34\x9e\xd1\xe3\x71\xed\x19\x22\x1b\xba\xed\x1c\x53\x35\x09\xdf\x40\x6b\x7e\xbf\x68\xa3\x96\xb0\x2b\x14\xf3\x89\x3e\x0f\xda\x19\xa0\xcb\x18\x9a\x03\xa2\xf6\x63\x40\x1a\xe7\x10\xac\x93\x94\x1a\x12\xc7\xa9\x44\x1d\x6b\xf4\x73\x48\x1c\x67\x14\xac\x93\x04\x9b\x86\xd1\x19\x35\x02\xd3\x2d\x4e\x43\x4a\x0e\x0e\x17\xa7\xe1\x25\x07\x87\x8b\xc3\x83\xfd\x84\x84\xf5\x64\x8e\x9e\x3f\x7a\x75\x0d\xea\xcb\xc3\xd7\xe7\xfe\xf0\xf5\xa7\x3c\x1a\x47\xa3\x57\x07\xee\xec\x27\xe4\xf6\x05\xf4\x55\xe3\x57\xf7\x3e\x3f\x1c\xc0\xf6\x67\xbe\x25\x37\x2c\xa6\xc7\xae\x7d\x60\x13\x06\xac\xb1\xd9\xa0\xf9\x04\x6b\xec\xff\xbb\x83\x95\x55\x96\x09\x30\x75\x55\x89\xf6\x89\xce\xa1\xf8\x31\x3c\x00\x4e\x0d\x32\x0f\x74\xf0\x8b\x3f\x37\xfd\x7f\x30\x9e\xf1\x0a\xbe\xde\xf0\xef\x7f\xf9\xff\xb1\xbb\xd6\x76\x7c\x1a\xb2\xd1\xe7\x8f\x00\x71\x0d\xd1\x81\x41\x4c\x3f\xcf\xe0\x3f\x01\x00\x00\xff\xff\x35\x36\x39\x20\xf0\x1c\x00\x00"
 
 func fungibletokenmetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -177,7 +177,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenMetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0x14, 0xb0, 0x9d, 0x1c, 0x34, 0x34, 0xca, 0xfc, 0x55, 0x46, 0xa0, 0x9a, 0xb8, 0xa, 0x9c, 0x19, 0x32, 0x1, 0x50, 0x13, 0xa8, 0xf2, 0x6c, 0xe2, 0x24, 0xfb, 0x15, 0x19, 0xb1, 0x9e, 0x49}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0x39, 0xaf, 0x0, 0x11, 0x9c, 0x6c, 0xcb, 0xe6, 0x87, 0x1e, 0xb0, 0x44, 0x66, 0xc3, 0xf2, 0x2f, 0x40, 0xf7, 0xfd, 0xe1, 0x6e, 0x5b, 0xb9, 0xf6, 0x42, 0xce, 0x5f, 0xce, 0xd0, 0x9d, 0x6b}}
 	return a, nil
 }
 
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index bfb88fa9..36fdd0f4 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -3,12 +3,12 @@ module github.com/onflow/flow-ft/lib/go/test
 go 1.18
 
 require (
-	github.com/onflow/cadence v0.39.13-stable-cadence.0.20230811182010-c66466eb6b1a
-	github.com/onflow/flow-emulator v0.54.1-0.20230810231813-53e63bcc9c8f
+	github.com/onflow/cadence v0.39.13-stable-cadence.0.20230815215130-fc15617946a1
+	github.com/onflow/flow-emulator v0.54.1-0.20230815221351-758e3a5bb92a
 	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20230726183918-f90805445bfa
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
-	github.com/onflow/flow-go-sdk v0.41.10-0.20230719221154-2a4946e41c23
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230811183441-b882831b7c12
+	github.com/onflow/flow-go-sdk v0.41.10-0.20230815215544-c3e9ce914aee
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200521-3acffe2472a3
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
@@ -88,7 +88,7 @@ require (
 	github.com/onflow/atree v0.6.0 // indirect
 	github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230808220007-f00e74ca675b // indirect
 	github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230808220007-f00e74ca675b // indirect
-	github.com/onflow/flow-go v0.31.1-0.20230810172105-725d883609b7 // indirect
+	github.com/onflow/flow-go v0.31.1-0.20230815221159-accf10b9fbaa // indirect
 	github.com/onflow/flow-go/crypto v0.24.9 // indirect
 	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce // indirect
 	github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 538006cb..fd860023 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -722,6 +722,7 @@ github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpx
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
+github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
@@ -860,6 +861,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
+github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU=
+github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48=
 github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
 github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -919,10 +922,13 @@ github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht
 github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
 github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
+github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
 github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
 github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
@@ -1025,6 +1031,8 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
 github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
 github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
 github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
 github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
@@ -1051,6 +1059,7 @@ github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXS
 github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
 github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
 github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
@@ -1064,22 +1073,40 @@ github.com/onflow/atree v0.6.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVF
 github.com/onflow/cadence v0.39.13-stable-cadence/go.mod h1:SxT8/IEkS1drFj2ofUEK9S6KyJ5GQbrm0LX4EFCp/7Q=
 github.com/onflow/cadence v0.39.13-stable-cadence.0.20230811182010-c66466eb6b1a h1:HCsJfKZJXfbLF5N9BsNhgJgpNuqURq7D3EChRFr+MIY=
 github.com/onflow/cadence v0.39.13-stable-cadence.0.20230811182010-c66466eb6b1a/go.mod h1:SxT8/IEkS1drFj2ofUEK9S6KyJ5GQbrm0LX4EFCp/7Q=
+github.com/onflow/cadence v0.39.13-stable-cadence.0.20230815215130-fc15617946a1 h1:ELu6aFiphx4QAQE64EbYidJjc5DQSF087QfJZfamnXY=
+github.com/onflow/cadence v0.39.13-stable-cadence.0.20230815215130-fc15617946a1/go.mod h1:SxT8/IEkS1drFj2ofUEK9S6KyJ5GQbrm0LX4EFCp/7Q=
 github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230808220007-f00e74ca675b h1:Z5W3qsSQlXfu6VU6rxkoTMe665DmaULiX1oQim+4myM=
 github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230808220007-f00e74ca675b/go.mod h1:6Jo+45NRYaqDDbY42rxAEQ+GrG47avd1UDqudttlBmI=
 github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230808220007-f00e74ca675b h1:f+5TwXPwlvtaDwn0ZlMIxibuPwbvmtlnSkeZgAm38Yw=
 github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230808220007-f00e74ca675b/go.mod h1:a9vPOJl7SwR0L6MMzPGEshp5HEsPQfay/pze+jrNlrw=
 github.com/onflow/flow-emulator v0.54.1-0.20230810231813-53e63bcc9c8f h1:St1LbDieRnbhIWh18wO0RvZvO+yQ2IMS8bqltGedc80=
 github.com/onflow/flow-emulator v0.54.1-0.20230810231813-53e63bcc9c8f/go.mod h1:XjNujgJxij7UBr8Syeg0m83HEuyNT3lNhZSFLI06vdI=
+github.com/onflow/flow-emulator v0.54.1-0.20230815221351-758e3a5bb92a h1:n4YjBCFzfJEcOJegcIVQ0iuFHSfouxwcoZVQTQM3U64=
+github.com/onflow/flow-emulator v0.54.1-0.20230815221351-758e3a5bb92a/go.mod h1:uwXXYMIXcIl6b+vYcbG3PxuoQ9jLg8zMsqh/a21z63k=
 github.com/onflow/flow-go v0.31.1-0.20230810172105-725d883609b7 h1:3ksDeoohaKtz1dQN0kXP2Fejm/VueOuheNDH07uel68=
 github.com/onflow/flow-go v0.31.1-0.20230810172105-725d883609b7/go.mod h1:u5HQAm9bfcxIxYwrYzz/uX3ImCeX/tOxS4Voyk7G+K0=
+github.com/onflow/flow-go v0.31.1-0.20230815221159-accf10b9fbaa h1:zyM+lQ1YHBTaKZCCZYcPuUOw/1c0PpmWHZmsk6WZv3I=
+github.com/onflow/flow-go v0.31.1-0.20230815221159-accf10b9fbaa/go.mod h1:XTo0N5HIT8Rnih7bP/Y/HGdOzH+BZpdykObJNTsCpAI=
 github.com/onflow/flow-go-sdk v0.41.7-stable-cadence/go.mod h1:ejVN+bqcsTHVvRpDDJDoBNdmcxUfFMW4IvdTbMeQ/hQ=
 github.com/onflow/flow-go-sdk v0.41.10-0.20230719221154-2a4946e41c23 h1:2mE0uSQAXqeNcbOhuj7fDEcurouRlyebI30WVAuOT4s=
 github.com/onflow/flow-go-sdk v0.41.10-0.20230719221154-2a4946e41c23/go.mod h1:U5JP8mlCiOxaKZrQC8ww9yeko5yxBfTOsbZY0ziEtJQ=
+github.com/onflow/flow-go-sdk v0.41.10-0.20230815215544-c3e9ce914aee h1:zU78xj/94YNYtf4CLGWogCTPyrR+1h3QTalsU/ZEKDg=
+github.com/onflow/flow-go-sdk v0.41.10-0.20230815215544-c3e9ce914aee/go.mod h1:JdN8uOpLMFaMTCFSoeck78fYPupTsV7ccvyrDM88nQU=
 github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onflow/flow-go/crypto v0.24.9 h1:0EQp+kSZYJepMIiSypfJVe7tzsPcb6UXOdOtsTCDhBs=
 github.com/onflow/flow-go/crypto v0.24.9/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230811183441-b882831b7c12 h1:dMAiRANcdlGhCuLBNz6jx8Fs8S3JoN04HCZKkw9skZs=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230811183441-b882831b7c12/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818195409-320a75e71fb5 h1:Uar1h7OL9f9X/4lfyniox3YAeOZ+NIDIGWKaWrnIBKA=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818195409-320a75e71fb5/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818195908-fc272624732e h1:gwVjfPh7dj2pc/w9CmcBtmFF+3sj9wbtO/obetT6hs4=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818195908-fc272624732e/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200022-c6352f05747c h1:1XSGHurlwM9g8pbfmcAgbprLwl3bpvNOKM6kxhrcX90=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200022-c6352f05747c/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200146-554fb8aac587 h1:1ArZdbG5fNqbtD6rt/3xkGboAGscxHrLpxUYiJu8sU4=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200146-554fb8aac587/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200521-3acffe2472a3 h1:JNDJQI1ID8qLvv8kynPkrUNo34II5RB/aw6PN9dpMV0=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200521-3acffe2472a3/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20221202093946-932d1c70e288/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce h1:YQKijiQaq8SF1ayNqp3VVcwbBGXSnuHNHq4GQmVGybE=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
@@ -1246,6 +1273,7 @@ github.com/vmihailenco/msgpack/v4 v4.3.11 h1:Q47CePddpNGNhk4GCnAx9DDtASi2rasatE0
 github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
 github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY=
 github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
+github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM=
 github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees=
 github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
 github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
@@ -1999,6 +2027,7 @@ gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
+gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

From 064ffb347d9c0b95328641a07a4d89443baa6087 Mon Sep 17 00:00:00 2001
From: Bjarte Stien Karlsen <bjarte@bjartek.org>
Date: Wed, 6 Sep 2023 17:53:17 +0200
Subject: [PATCH 017/115] remove restricted type from link

---
 contracts/ExampleToken-v2.cdc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 6f9b0f2a..79028962 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -250,7 +250,7 @@ access(all) contract ExampleToken: ViewResolver {
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
         // and the `getBalance()` method through the `Balance` interface
         //
-        self.account.link<&{FungibleToken.Receiver, FungibleToken.Balance, ViewResolver.Resolver}>(
+        self.account.link<&ExampleToken>(
             self.VaultPublicPath,
             target: self.VaultStoragePath
         )
@@ -259,4 +259,4 @@ access(all) contract ExampleToken: ViewResolver {
         self.account.save(<-admin, to: self.AdminStoragePath)
     }
 }
- 
\ No newline at end of file
+ 

From d501202e739a7f3c7b4d41ac4fcde172736b08e5 Mon Sep 17 00:00:00 2001
From: Supun Setunga <supun.setunga@gmail.com>
Date: Wed, 13 Sep 2023 09:06:46 -0700
Subject: [PATCH 018/115] Update sdk

---
 lib/go/contracts/go.mod |  9 ++++++---
 lib/go/contracts/go.sum | 31 ++++++++++++++++++++++---------
 lib/go/templates/go.mod | 21 +++++++++++++--------
 lib/go/templates/go.sum | 33 ++++++++++++++-------------------
 4 files changed, 55 insertions(+), 39 deletions(-)

diff --git a/lib/go/contracts/go.mod b/lib/go/contracts/go.mod
index 0eb735a7..9be2e445 100644
--- a/lib/go/contracts/go.mod
+++ b/lib/go/contracts/go.mod
@@ -4,11 +4,14 @@ go 1.18
 
 require (
 	github.com/kevinburke/go-bindata v3.22.0+incompatible
-	github.com/stretchr/testify v1.6.1
+	github.com/stretchr/testify v1.8.4
 )
 
 require (
-	github.com/davecgh/go-spew v1.1.0 // indirect
+	github.com/davecgh/go-spew v1.1.1 // indirect
+	github.com/kr/pretty v0.3.0 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
-	gopkg.in/yaml.v3 v3.0.0 // indirect
+	github.com/rogpeppe/go-internal v1.9.0 // indirect
+	gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
+	gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff --git a/lib/go/contracts/go.sum b/lib/go/contracts/go.sum
index 88306fae..3f366fe4 100644
--- a/lib/go/contracts/go.sum
+++ b/lib/go/contracts/go.sum
@@ -1,14 +1,27 @@
-github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/kevinburke/go-bindata v3.22.0+incompatible h1:/JmqEhIWQ7GRScV0WjX/0tqBrC5D21ALg0H0U/KZ/ts=
 github.com/kevinburke/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
+github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
+github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
+github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
-github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
+github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
+github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
+github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
+github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA=
-gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
+gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/lib/go/templates/go.mod b/lib/go/templates/go.mod
index a470471d..0324a651 100644
--- a/lib/go/templates/go.mod
+++ b/lib/go/templates/go.mod
@@ -4,7 +4,7 @@ go 1.18
 
 require (
 	github.com/kevinburke/go-bindata v3.22.0+incompatible
-	github.com/onflow/flow-go-sdk v0.41.7-stable-cadence
+	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230912230115-25ad6f515ce6
 )
 
 require (
@@ -22,18 +22,23 @@ require (
 	github.com/logrusorgru/aurora/v4 v4.0.0 // indirect
 	github.com/mattn/go-colorable v0.1.13 // indirect
 	github.com/mattn/go-isatty v0.0.16 // indirect
-	github.com/onflow/atree v0.6.0 // indirect
-	github.com/onflow/cadence v0.39.13-stable-cadence // indirect
+	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
+	github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230908213403-8f1134670ed0 // indirect
 	github.com/onflow/flow-go/crypto v0.24.7 // indirect
 	github.com/pkg/errors v0.9.1 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
 	github.com/rivo/uniseg v0.4.4 // indirect
-	github.com/stretchr/testify v1.8.2 // indirect
+	github.com/stretchr/testify v1.8.4 // indirect
 	github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c // indirect
 	github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d // indirect
 	github.com/x448/float16 v0.8.4 // indirect
-	golang.org/x/crypto v0.1.0 // indirect
-	golang.org/x/sys v0.1.0 // indirect
-	golang.org/x/text v0.4.0 // indirect
-	gopkg.in/yaml.v3 v3.0.0 // indirect
+	github.com/zeebo/blake3 v0.2.3 // indirect
+	github.com/zeebo/xxh3 v1.0.2 // indirect
+	go.opentelemetry.io/otel v1.14.0 // indirect
+	golang.org/x/crypto v0.7.0 // indirect
+	golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
+	golang.org/x/sys v0.6.0 // indirect
+	golang.org/x/text v0.8.0 // indirect
+	golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
+	gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff --git a/lib/go/templates/go.sum b/lib/go/templates/go.sum
index c7742293..05e9115b 100644
--- a/lib/go/templates/go.sum
+++ b/lib/go/templates/go.sum
@@ -92,8 +92,8 @@ github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZX
 github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
@@ -117,12 +117,12 @@ github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo
 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
-github.com/onflow/atree v0.6.0 h1:j7nQ2r8npznx4NX39zPpBYHmdy45f4xwoi+dm37Jk7c=
-github.com/onflow/atree v0.6.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVFi0tc=
-github.com/onflow/cadence v0.39.13-stable-cadence h1:A08/gb4xSsgRjuXo9fkFFvtG7dIkxxkDCNk/VdWrMp4=
-github.com/onflow/cadence v0.39.13-stable-cadence/go.mod h1:SxT8/IEkS1drFj2ofUEK9S6KyJ5GQbrm0LX4EFCp/7Q=
-github.com/onflow/flow-go-sdk v0.41.7-stable-cadence h1:GrmLLAPrxOyC27v/J/XG/sKiM1ynE1MYidiMXUfM0e4=
-github.com/onflow/flow-go-sdk v0.41.7-stable-cadence/go.mod h1:ejVN+bqcsTHVvRpDDJDoBNdmcxUfFMW4IvdTbMeQ/hQ=
+github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo=
+github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
+github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230908213403-8f1134670ed0 h1:8Mniwp17wrjLAv/KgCcZ6JH47/EjgCgkX0AXLfSXJEM=
+github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230908213403-8f1134670ed0/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
+github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230912230115-25ad6f515ce6 h1:wE5bXFvMKpreQtqesfVdLmb7SrZ+mu5j1+PuTjo8jkg=
+github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230912230115-25ad6f515ce6/go.mod h1:tc3I2xIc+ThMUIW2Jkam1pquKpuRDTLGP79INkCGZg4=
 github.com/onflow/flow-go/crypto v0.24.7 h1:RCLuB83At4z5wkAyUCF7MYEnPoIIOHghJaODuJyEoW0=
 github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
@@ -145,6 +145,7 @@ github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0
 github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
 github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
 github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho=
+github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
 github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
 github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@@ -156,16 +157,12 @@ github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZL
 github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw=
 github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
 github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
-github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
-github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
-github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
+github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
 github.com/supranational/blst v0.3.10 h1:CMciDZ/h4pXDDXQASe8ZGTNKUiVNxVVA5hpci2Uuhuk=
 github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d/go.mod h1:9OrXJhf154huy1nPWmuSrkgjPUtUNhA+Zmy+6AESzuA=
 github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c h1:HelZ2kAFadG0La9d+4htN4HzQ68Bm2iM9qKMSMES6xg=
@@ -194,7 +191,7 @@ golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
 golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
 golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
 golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
-golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k=
+golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
 golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -222,7 +219,7 @@ golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNq
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
 gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c=
 gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200316214253-d7b0ff38cac9/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns=
@@ -230,10 +227,8 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD
 gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA=
-gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
 lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0=
 pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g=

From 386ce14027f6fafc7913bde57d1007b2e49a17b3 Mon Sep 17 00:00:00 2001
From: Supun Setunga <supun.setunga@gmail.com>
Date: Wed, 20 Sep 2023 08:01:27 -0700
Subject: [PATCH 019/115] Update contracts

---
 contracts/ExampleToken-v2.cdc                 |  18 +--
 contracts/ExampleToken.cdc                    |  16 +--
 contracts/FungibleTokenSwitchboard.cdc        | 105 ++++++++-------
 lib/go/contracts/internal/assets/assets.go    |  16 +--
 lib/go/templates/internal/assets/assets.go    |  54 ++++----
 lib/go/test/go.mod                            |  25 ++--
 lib/go/test/go.sum                            | 127 ++++++++++--------
 transactions/burn_tokens.cdc                  |   6 +-
 transactions/create_forwarder.cdc             |  22 +--
 transactions/generic_transfer.cdc             |   9 +-
 .../setup_account_from_vault_reference.cdc    |  21 ++-
 transactions/mint_tokens.cdc                  |   7 +-
 transactions/safe_generic_transfer.cdc        |   8 +-
 transactions/setup_account.cdc                |  15 ++-
 transactions/transfer_many_accounts.cdc       |   8 +-
 transactions/transfer_tokens.cdc              |   7 +-
 16 files changed, 232 insertions(+), 232 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 79028962..e8da95b3 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -26,16 +26,14 @@ access(all) contract ExampleToken: ViewResolver {
     }
 
     access(all) view fun getViews(): [Type] {
-        let vaultRef = self.account.getCapability(/public/exampleTokenVault)
-            .borrow<&ExampleToken.Vault>()
+        let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
             ?? panic("Could not borrow a reference to the vault resolver")
         
         return vaultRef.getViews()
     }
 
     access(all) fun resolveView(_ view: Type): AnyStruct? {
-        let vaultRef = self.account.getCapability(/public/exampleTokenVault)
-            .borrow<&ExampleToken.Vault>()
+        let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
             ?? panic("Could not borrow a reference to the vault resolver")
         
         return vaultRef.resolveView(view)
@@ -104,7 +102,7 @@ access(all) contract ExampleToken: ViewResolver {
                         }
                     )
                 case Type<FungibleTokenMetadataViews.FTVaultData>():
-                    let vaultRef = ExampleToken.account.borrow<&ExampleToken.Vault>(from: self.storagePath)
+                    let vaultRef = ExampleToken.account.storage.borrow<&ExampleToken.Vault>(from: self.storagePath)
                         ?? panic("Could not borrow a reference to the stored vault")
                     return FungibleTokenMetadataViews.FTVaultData(
                         storagePath: self.storagePath,
@@ -244,19 +242,17 @@ access(all) contract ExampleToken: ViewResolver {
         let vault <- create Vault(balance: self.totalSupply)
         self.VaultStoragePath = vault.getDefaultStoragePath()!
         self.VaultPublicPath = vault.getDefaultPublicPath()!
-        self.account.save(<-vault, to: self.VaultStoragePath)
+        self.account.storage.save(<-vault, to: self.VaultStoragePath)
 
         // Create a public capability to the stored Vault that exposes
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
         // and the `getBalance()` method through the `Balance` interface
         //
-        self.account.link<&ExampleToken>(
-            self.VaultPublicPath,
-            target: self.VaultStoragePath
-        )
+        let exampleTokenCap = self.account.capabilities.storage.issue<&ExampleToken>(self.VaultStoragePath)
+        self.account.capabilities.publish(exampleTokenCap, at: self.VaultPublicPath)
 
         let admin <- create Minter()
-        self.account.save(<-admin, to: self.AdminStoragePath)
+        self.account.storage.save(<-admin, to: self.AdminStoragePath)
     }
 }
  
diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 2e08584f..7cb9d938 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -244,24 +244,20 @@ access(all) contract ExampleToken: FungibleToken {
 
         // Create the Vault with the total supply of tokens and save it in storage.
         let vault <- create Vault(balance: self.totalSupply)
-        self.account.save(<-vault, to: self.VaultStoragePath)
+        self.account.storage.save(<-vault, to: self.VaultStoragePath)
 
         // Create a public capability to the stored Vault that exposes
         // the `deposit` method through the `Receiver` interface.
-        self.account.link<&{FungibleToken.Receiver}>(
-            self.ReceiverPublicPath,
-            target: self.VaultStoragePath
-        )
+        let receiverCap = self.account.capabilities.storage.issue<&{FungibleToken.Receiver}>(self.VaultStoragePath)
+        self.account.capabilities.publish(receiverCap, at: self.ReceiverPublicPath)
 
         // Create a public capability to the stored Vault that only exposes
         // the `balance` field and the `resolveView` method through the `Balance` interface
-        self.account.link<&ExampleToken.Vault{FungibleToken.Balance}>(
-            self.VaultPublicPath,
-            target: self.VaultStoragePath
-        )
+        let vaultCap = self.account.capabilities.storage.issue<&ExampleToken.Vault>(self.VaultStoragePath)
+        self.account.capabilities.publish(vaultCap, at: self.VaultPublicPath)
 
         let admin <- create Administrator()
-        self.account.save(<-admin, to: self.AdminStoragePath)
+        self.account.storage.save(<-admin, to: self.AdminStoragePath)
 
         // Emit an event that shows that the contract was initialized
         emit TokensInitialized(initialSupply: self.totalSupply)
diff --git a/contracts/FungibleTokenSwitchboard.cdc b/contracts/FungibleTokenSwitchboard.cdc
index 71f7b2dd..f13ac74a 100644
--- a/contracts/FungibleTokenSwitchboard.cdc
+++ b/contracts/FungibleTokenSwitchboard.cdc
@@ -95,22 +95,23 @@ access(all) contract FungibleTokenSwitchboard {
             // For each path, get the saved capability and store it 
             // into the switchboard's receiver capabilities dictionary
             for path in paths {
-                let capability = owner.getCapability<&{FungibleToken.Receiver}>(path)
-                // Borrow a reference to the vault pointed to by the capability  
-                // we want to store inside the switchboard
-                // If the vault was borrowed successfully...
-                if let vaultRef = capability.borrow() {
-                    // ...and if there is no previous capability added for that 
-                    // token
-                    if (self.receiverCapabilities[vaultRef!.getType()] == nil) {
-                        // Use the vault reference type as key for storing the 
-                        // capability
-                        self.receiverCapabilities[vaultRef!.getType()] = capability
-                        // and emit the event that indicates that a new   
-                        // capability has been added
-                        emit VaultCapabilityAdded(type: vaultRef.getType(), 
-                            switchboardOwner: self.owner?.address, 
-                            capabilityOwner: address)
+                if let capability = owner.capabilities.get<&{FungibleToken.Receiver}>(path) {
+                    // Borrow a reference to the vault pointed to by the capability
+                    // we want to store inside the switchboard
+                    // If the vault was borrowed successfully...
+                    if let vaultRef = capability.borrow() {
+                        // ...and if there is no previous capability added for that token
+                        if (self.receiverCapabilities[vaultRef!.getType()] == nil) {
+                            // Use the vault reference type as key for storing the
+                            // capability
+                            self.receiverCapabilities[vaultRef!.getType()] = capability
+                            // and emit the event that indicates that a new
+                            // capability has been added
+                            emit VaultCapabilityAdded(type: vaultRef.getType(),
+                                switchboardOwner: self.owner?.address,
+                                capabilityOwner: address,
+                            )
+                        }
                     }
                 }
             }
@@ -139,9 +140,11 @@ access(all) contract FungibleTokenSwitchboard {
             self.receiverCapabilities[type] = capability
             // emit the event that indicates that a new capability has been 
             // added
-            emit VaultCapabilityAdded(type: type,
-                                               switchboardOwner: self.owner?.address, 
-                                                 capabilityOwner: capability.address)
+            emit VaultCapabilityAdded(
+                type: type,
+                switchboardOwner: self.owner?.address,
+                capabilityOwner: capability.address,
+            )
         }
 
         /// Adds zero or more new fungible token receiver capabilities to the  
@@ -162,22 +165,20 @@ access(all) contract FungibleTokenSwitchboard {
             // For each path, get the saved capability and store it 
             // into the switchboard's receiver capabilities dictionary
             for i, path in paths {
-                let capability = 
-                                 owner.getCapability<&{FungibleToken.Receiver}>(path)
-                // Borrow a reference to the vault pointed to by the capability  
-                // we want to store inside the switchboard
-                // If the vault was borrowed successfully...
-                if let vaultRef = 
-                                                                capability.borrow() {
-                    // Use the vault reference type as key for storing the 
-                    // capability
-                    self.receiverCapabilities[types[i]] = capability
-                    // and emit the event that indicates that a new   
-                    // capability has been added
-                    emit VaultCapabilityAdded(type: types[i], 
-                        switchboardOwner: self.owner?.address, 
-                        capabilityOwner: address)
-                    
+                if let capability = owner.capabilities.get<&{FungibleToken.Receiver}>(path) {
+                    // Borrow a reference to the vault pointed to by the capability
+                    // we want to store inside the switchboard
+                    // If the vault was borrowed successfully...
+                    if let vaultRef = capability.borrow() {
+                        // Use the vault reference type as key for storing the capability
+                        self.receiverCapabilities[types[i]] = capability
+                        // and emit the event that indicates that a new capability has been added
+                        emit VaultCapabilityAdded(
+                            type: types[i],
+                            switchboardOwner: self.owner?.address,
+                            capabilityOwner: address,
+                        )
+                    }
                 }
             }
         }
@@ -197,9 +198,11 @@ access(all) contract FungibleTokenSwitchboard {
             self.receiverCapabilities.remove(key: vaultRef.getType())
             // Emit the event that indicates that a new capability has been 
             // removed
-            emit VaultCapabilityRemoved(type: vaultRef.getType(),
-                                               switchboardOwner: self.owner?.address, 
-                                                 capabilityOwner: capability.address)       
+            emit VaultCapabilityRemoved(
+                type: vaultRef.getType(),
+                switchboardOwner: self.owner?.address,
+                capabilityOwner: capability.address,
+            )
         }
         
         /// Takes a fungible token vault and routes it to the proper fungible 
@@ -209,13 +212,13 @@ access(all) contract FungibleTokenSwitchboard {
         /// 
         access(all) fun deposit(from: @{FungibleToken.Vault}) {
             // Get the capability from the ones stored at the switchboard
-            let depositedVaultCapability 
-                                          = self.receiverCapabilities[from.getType()] 
+            let depositedVaultCapability = self.receiverCapabilities[from.getType()]
                 ?? panic ("The deposited vault is not available on this switchboard")
+
             // Borrow the reference to the desired vault
-            let vaultRef = 
-                                                    depositedVaultCapability.borrow() 
-                             ?? panic ("Can not borrow a reference to the the vault")
+            let vaultRef = depositedVaultCapability.borrow()
+                ?? panic ("Can not borrow a reference to the the vault")
+
             vaultRef.deposit(from: <-from)
         }
 
@@ -233,20 +236,21 @@ access(all) contract FungibleTokenSwitchboard {
         access(all) fun safeDeposit(from: @{FungibleToken.Vault}): @{FungibleToken.Vault}? {
             // Try to get the proper vault capability from the switchboard
             // If the desired vault is present on the switchboard...
-            if let depositedVaultCapability
-                                        = self.receiverCapabilities[from.getType()] {
+            if let depositedVaultCapability = self.receiverCapabilities[from.getType()] {
                 // We try to borrow a reference to the vault from the capability
                 // If we can borrow a reference to the vault...
-                if let vaultRef =  
-                                                  depositedVaultCapability.borrow() {
+                if let vaultRef = depositedVaultCapability.borrow() {
                     // We deposit the funds on said vault
                     vaultRef.deposit(from: <-from.withdraw(amount: from.getBalance()))
                 }
             }
             // if deposit failed for some reason
             if from.getBalance() > 0.0 {
-                emit NotCompletedDeposit(type: from.getType(), amount: from.getBalance(), 
-                                               switchboardOwner: self.owner?.address)              
+                emit NotCompletedDeposit(
+                    type: from.getType(),
+                    amount: from.getBalance(),
+                    switchboardOwner: self.owner?.address,
+                )
                 return <-from
             }
             destroy from 
@@ -312,8 +316,7 @@ access(all) contract FungibleTokenSwitchboard {
             for vaultType in self.receiverCapabilities.keys {
                 if self.receiverCapabilities[vaultType]!.check() {
                     // and attach it to the owner's address
-                    effectiveTypesWithAddress[vaultType] = 
-                                        self.receiverCapabilities[vaultType]!.address
+                    effectiveTypesWithAddress[vaultType] = self.receiverCapabilities[vaultType]!.address
                 }
             }
             return effectiveTypesWithAddress
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 0bf233cd..4b683248 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,11 +1,11 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken-v2.cdc (11.053kB)
-// ../../../contracts/ExampleToken.cdc (12.028kB)
+// ../../../contracts/ExampleToken.cdc (12.129kB)
 // ../../../contracts/FungibleToken-v2.cdc (10.649kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
-// ../../../contracts/FungibleTokenSwitchboard.cdc (18.32kB)
+// ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (26.308kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (4.828kB)
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x3a\x5b\x6f\xdb\x46\xd6\xef\xfe\x15\x27\xfa\x80\x7e\x12\x6a\xcb\xee\x2d\xdb\x0a\x76\xdc\xb4\x89\x77\x17\x68\x81\x20\x71\xd3\x87\x20\x48\x46\xe4\x91\x34\x6b\x72\x86\x98\x19\x4a\x56\x0d\xff\xf7\xc5\x99\x0b\x39\x43\x91\xb2\xec\xf4\x6d\xf9\x22\x91\x9c\x73\xe6\xdc\x6f\x43\x5e\x56\x52\x19\xb8\xaa\xc5\x92\xcf\x0b\xbc\x96\x37\x28\x60\xa1\x64\x09\xa3\xe4\xd9\xe8\xc8\xaf\xfc\x1d\x0d\xcb\x99\x61\xef\x39\x6e\xb4\x5f\x99\x3c\x6b\x56\x26\xf0\x7d\x60\xc3\x0b\xda\xdd\xea\xc2\xf0\xaa\xc0\xf7\xac\x2e\x4c\xb3\x5d\xf2\xb0\x59\x4b\x90\x6f\x51\xcb\x62\x8d\xca\xaf\x8c\x1f\x8d\x8e\x8e\x58\x96\xa1\xd6\x63\x56\x14\x13\xc8\xa4\x30\x8a\x65\x06\x5e\xdf\xb2\xb2\xf2\x44\xcc\x52\x24\x77\x47\x47\x00\x00\xa7\xa7\xa7\x70\xbd\x42\xc0\x35\x0a\x03\x66\xc5\x0c\x70\x0d\x58\x72\x63\x30\x87\xcd\x0a\x05\x08\xdc\x80\x21\x0c\x1a\x98\x42\x28\xb9\x30\x98\x5b\xe0\x78\x4f\x87\xc0\xee\xa4\x7f\xb7\x4b\xc6\xac\x94\xb5\x30\x33\xf8\xe3\x8a\xdf\x3e\xff\xfe\x18\xcc\xb6\xc2\x19\xbc\x33\x8a\x8b\xe5\x24\xda\x5e\x1a\x56\x80\xae\xab\xaa\xd8\x82\x5c\x24\x44\x6b\xe0\x02\xf0\x96\x6b\x83\x22\xc3\x9d\x4d\xd7\x4c\x81\x21\xf0\x77\x16\x3a\x6c\xd5\xe2\x7e\x99\x97\x5c\xc0\x1b\x66\x56\x3b\xb0\x05\x1a\xf7\xfa\x9d\x91\x8a\x2d\x91\x16\x11\x75\xcd\x4d\x8b\xe5\x0f\x8d\xca\x22\xd1\xbd\x58\xac\xae\x06\xb1\x0c\x42\xbc\xa9\xe7\x05\xcf\x1c\x40\xfb\xbf\xdd\xf5\xaa\x16\x99\xe1\x52\x80\x91\xa0\xd0\xd4\x4a\x80\x59\xa1\x95\xa2\x76\x9a\xa2\xdb\x46\xd7\x9c\x84\x56\xa2\x30\xbb\x44\xae\x39\x6e\x60\x51\x0b\x58\xa2\xb1\x5b\x5f\x13\x8e\xf1\x64\x06\x1f\xe8\xdf\x47\xb8\xb3\x20\x74\x11\x75\xb4\xc3\x4b\xa5\xd8\xb6\x79\x7f\xe1\xfe\x9c\xff\x1c\xeb\x66\x6a\x51\xbd\x18\x4f\x3e\x36\xd0\x81\xcc\x80\xc0\xbe\xb8\x3f\xda\x4f\x10\x39\xc5\x20\x2d\x6b\xda\xe3\x2d\x2e\xe0\x02\x34\x16\x8b\x29\xcb\x32\x32\xaa\xe9\x12\xcd\xaf\xac\x62\x73\x5e\x70\xb3\x1d\x9f\x56\x56\x7e\xa7\x18\x91\x67\xa9\x9b\x34\xc8\xe8\x9a\xce\xa5\x52\x72\x73\xfe\x55\x2f\x1b\xc9\xd2\xcb\x4b\xa8\x98\xe0\xd9\x78\xf4\xab\xac\x8b\x1c\x84\x34\xe0\xa0\x81\x81\xc2\x05\x2a\x32\x48\x52\x0d\x29\xc1\x52\x09\x2a\x78\x63\x8b\xaa\x2b\x99\xc0\xce\xb4\x65\x7c\x48\x46\x24\x1e\x8f\x91\x56\x8e\x3f\x59\xa9\xcd\x80\xa4\x34\x99\xc1\x4b\xb1\x7d\x67\x54\x9d\x99\xcb\xff\x11\x89\xc5\xb2\x20\x49\x24\x82\x23\x7f\xb1\x54\x85\xbb\xe6\xe9\x6b\x96\xad\xa0\x26\x07\xd6\x46\x2a\xd4\xc0\x04\x70\xa1\x0d\x23\x62\xe4\x02\xa4\x28\xb6\x96\x22\x0b\x4e\xe1\xc6\xac\x90\xbb\xd5\x6c\x89\x49\x90\x5c\x78\x8f\xd4\x7e\x99\x87\x61\x22\x87\xa5\x5c\xa3\x12\x98\xc3\xdc\x61\xab\x14\xda\xe7\x95\xd4\x86\x7c\x34\xe7\x16\xb0\x41\xc7\x45\x27\x2f\xd9\x50\x6b\x56\xb8\xb5\x41\x36\x63\x45\x81\xf9\x34\xd9\x3d\x5b\x61\x76\xa3\x61\xc5\xaa\x0a\x05\x30\x03\xaa\x16\x86\x97\x68\x41\x91\x62\x3a\x6b\x28\xa4\x20\xde\xc1\xd1\xe0\xa2\x14\x50\xab\x0c\x69\x85\x70\xfc\xcf\x11\x32\x85\x8c\x42\xbe\xe7\x8c\xc2\x0a\xde\x1a\x92\x50\x12\x65\x42\xdc\xd9\x36\xe8\x88\xdc\x1c\x17\x5c\x58\xe0\x63\xd0\x56\xc1\x0a\x89\x04\x21\x61\xc3\xb6\xb0\x90\x44\x5b\xc9\x0a\x9e\x71\x59\x6b\xa7\x0e\x23\xfd\x9e\x4e\x8a\xad\x68\x64\xed\xb7\xe5\x02\x18\x57\x53\x78\x09\xba\xc2\x8c\xb3\x02\x6c\x62\x51\xd6\x6c\x88\x03\x10\x88\xb9\x26\x4c\xf3\x96\x06\x23\x6d\x8a\x6a\xd0\xb5\xe9\x2b\x15\x45\xec\x6b\x0d\x42\x4b\xca\x2c\x55\x8d\x33\xf7\x90\x30\x63\x8d\xd8\xd4\x03\x73\x56\x04\x63\x32\x2b\xae\x9d\xc5\x36\x6b\xbb\xe9\xca\xaf\x4e\x53\x55\xb4\x90\x7c\xd6\xad\xd4\xfb\x32\x4a\x2f\x44\xb5\x27\xa3\xb4\xda\x27\xb7\xd2\x56\xab\x7e\x07\xa8\x98\x59\x91\x15\x29\x8c\x7c\x53\xaf\xac\x1b\x9b\x6d\xc5\xc9\x92\xac\x91\x58\x17\xca\xfb\x79\x8b\x42\xfa\x2b\x5c\x74\x52\x22\xc5\xf7\xe8\x36\x8e\x59\x91\xaf\xdb\x78\xa5\x7b\x38\xbd\x1f\xe6\xc1\xf1\x9c\xb2\x10\x94\x10\x78\x58\xb1\x35\x02\x0b\x4b\xb3\x26\x0a\x1e\xca\x48\x2b\x4b\xe2\xa3\xbd\xdb\xc7\x46\xab\x8b\x3e\x2e\x1e\x9f\x0c\x23\xfc\x2e\x17\x0f\x57\x98\xd3\xab\x6b\xfa\x7d\x31\x9e\x1c\x27\xe0\xe1\x7a\x18\xfc\x15\xd7\x55\xc1\xb6\x5f\x80\xc1\xfa\xcc\x2b\x66\xd8\x93\x71\x5c\xb7\x75\x5d\x52\x63\x0c\x48\xf1\x29\xe9\x92\x2e\xbd\xe1\x26\x5b\x39\x25\xdc\xed\x10\x9a\x31\x8d\x87\x70\xeb\xc4\x3d\xeb\x65\xd4\x6b\xed\x41\x04\xe3\x5e\x68\xba\x16\xc6\x2b\x64\xe6\x6c\x2b\xe6\xf3\x31\xca\x9c\x00\xd3\xcf\xf6\x13\xe2\x17\x5f\xf6\xeb\xcc\x11\xd3\xe8\xf6\x49\xe4\xc4\x96\x71\x00\x41\xcd\xf2\xcb\x5e\x8a\x26\x4f\x55\x59\x2b\x95\x7e\xad\x51\x29\x55\x62\xce\x19\x5c\xa4\x7d\xe1\xf4\x77\x7a\x3a\xac\x2c\x2b\x23\x5e\xe0\xac\x03\xf6\xaf\xeb\xeb\x37\x57\xbc\xc0\xfd\x90\xb5\x2a\x66\x30\x5a\x19\x53\xe9\xd9\xe9\x29\xd3\x1a\x8d\x9e\x6e\x70\xae\xb9\xc1\x13\x42\xab\xa7\x99\x2c\x4f\x7f\x58\x3c\xff\xf6\xa7\xef\xb3\xb3\xec\x1f\xec\xc7\x2c\xcf\x9f\x7f\xff\xdd\xfc\x9b\xec\xc7\x6f\xcf\x3a\x2f\xd8\x0f\x3f\x64\xf3\x6f\xb2\x9f\xbe\x7b\xfe\xe9\xaa\x90\x9b\x4f\x7f\x4a\x95\x97\x4c\xdd\x4c\xf5\x7a\x39\x1a\xa4\x63\xc0\x61\xe9\xb2\x12\xb9\xb6\x7d\xdc\x88\x97\x6c\x89\xa7\x7a\xbd\xfc\xfa\xb6\x2c\xfa\xb1\xed\x6a\x27\x11\xad\xee\x97\xad\x1e\x7f\xb0\xaf\x3f\xf6\x83\x1f\xe2\x4f\x5e\xbb\xc3\xb2\x16\xac\x24\x1e\x7c\x59\xdb\x20\x73\x0d\xec\x68\x58\x00\x7a\x5b\xce\x25\xa9\xe8\xf5\xd5\xf5\x9e\x65\x39\xea\x4c\xf1\x8a\x4a\xb1\x19\x8c\xae\x29\x23\x2d\xc2\x16\xb6\x18\xa1\xea\xa8\xd6\x98\x03\xb3\x15\xa9\x2f\xc3\xa9\x78\x59\x61\x51\xc1\x56\xd6\x90\xe3\x1a\x0b\x69\xff\x2b\x10\x54\x8c\x5d\x5d\xc3\xff\x49\x41\x9a\x9c\xee\xd9\x1b\x6f\x0d\x2a\xc1\x8a\x3f\xde\xfe\xd6\xb5\xc1\xd7\xed\xab\x71\x63\x64\x7e\xef\x93\x85\x99\x4a\xb1\x20\xe4\x52\x2d\x47\x7b\x8c\xa0\x90\x4b\xa9\x67\x5e\x85\x7b\x44\x25\xa9\x66\xd3\xb3\x9e\xb0\x1a\x5f\x23\xb3\xe1\xc6\xa0\x1a\x1d\x44\xac\x5f\x6c\x9d\x80\x68\xfd\x34\x2f\x64\x76\x93\xad\x18\x17\xa3\x7e\x73\x01\x9b\x33\xfa\x9e\x3e\x39\x76\xc4\x21\x6c\x38\x7a\x44\x8d\x58\xd2\x3d\x85\x86\x6c\x5f\x6b\xb5\x50\xb2\x9c\xed\xd4\x43\xc3\x0c\x3e\xae\xf9\x72\x65\x9c\x23\x70\x40\x6a\x07\x25\xad\x20\x86\x61\x37\x4b\x6a\xd8\x2e\x3b\xc3\xa6\xa3\x30\x43\xbe\x46\x15\xc1\xb5\xf5\xd4\xbe\xe8\xe4\x08\x7c\x24\x58\xa5\xe4\x9a\xe7\x61\xb7\xd3\x4a\xf1\x35\x33\xb8\xdb\x1a\x3f\x4c\xef\x6f\x5c\xdc\x60\xee\xe2\xa3\x35\xa3\xfe\xbe\xf9\x61\x0e\xbe\x18\x51\xe0\xe9\x8b\x11\xb9\x1e\xed\x75\x59\x99\xad\x5d\x1c\xa6\x52\x33\x18\x2f\x6a\x41\xa5\xea\xcf\x77\x3d\xed\xd2\xfd\x03\x5e\xef\xed\xeb\xfc\xa4\xe9\xef\xbb\x1b\x8d\xf7\xb8\x73\xff\xab\xf4\xe9\x7d\x5f\xe9\x2c\x78\x31\xd4\x54\x2c\xd1\x50\xb5\x29\x95\xc1\xbc\x1d\x92\x81\xb4\x41\xdc\x36\x40\xca\xb7\x1d\x0c\x0a\xae\x6d\x8f\xea\xba\x8c\x64\x22\xc7\x75\x63\x0d\xb6\x3e\xad\x7c\x67\x0b\x7b\xaa\xfe\x9e\x7d\x49\xb0\x77\x4e\x6d\xbf\x48\x59\x74\xc5\x49\xf1\x45\x07\x28\x0b\xd0\x59\x7e\x01\x77\xa9\x00\xd2\xd5\x1f\xac\x73\x2c\xd1\x6e\x36\x9e\x7c\x84\x0b\x30\xaa\xc6\xde\x6e\x26\x01\x3c\xb8\x99\xe1\x7a\x97\xab\xb1\x69\xec\x70\xe2\x08\xdd\xd3\x40\x0d\xc9\xe5\x83\xb1\x9d\xd1\xe5\x25\x2c\x58\xa1\xb1\x5f\x9d\xc0\x05\x37\x9c\x15\xfc\x2f\xd7\xd2\x86\x1e\x9d\x99\xb6\xd7\xb7\x06\x67\xe7\xab\xbc\x6c\xd1\x10\xe0\xb8\xd3\xa4\x4f\xba\x3d\x03\xd1\x17\x50\x5e\x04\xe4\x3b\x0a\xe2\x39\x0a\xc3\x17\x1c\x15\x5c\xc0\x68\x27\x9c\x8c\x76\x71\x46\xc1\x11\x2e\xe2\x86\x79\xdc\xe2\x9a\x45\x78\x27\xcf\x76\x71\xb4\x11\x0f\x2e\xa2\x5e\xf5\x61\x0c\x1d\x7f\xf8\x27\x9a\x44\x74\x7e\x12\xb4\x67\xba\x11\x59\xf4\x2f\x0e\x88\xac\xd8\x89\x70\x8f\xa2\xbb\xe2\xeb\xd0\xb1\xe1\x66\x95\x2b\xb6\x89\x1f\x26\x0b\xda\x39\xb9\xf5\x40\x76\xe3\x86\x7c\xee\xf4\xc1\xd7\x57\x4c\x2d\xeb\x12\x85\x49\x00\x99\xc8\x1b\xec\xde\x7f\x3d\x90\x3d\x61\x69\x06\x7c\xd3\xc1\xad\xff\x6d\x7c\x7c\xa4\xa0\x60\x07\x4d\x58\x56\x52\x31\xb5\xf5\xa3\xc1\x70\xa0\x62\x4b\x3d\x2a\xee\x64\x91\x27\x18\xec\x44\xdf\x9d\x74\x38\x02\x14\xc2\x1c\xb9\x58\x82\x51\x4c\xe8\x05\x2a\x85\xf9\x94\x36\x52\xd1\xd0\x43\xe0\xa6\xd8\x26\x78\xc2\xf8\xce\x6f\x2b\x93\x21\x9e\xc5\xec\xc6\x81\xa0\x25\x70\x63\x27\x7f\x76\x66\x56\x49\xea\x2c\x52\x9a\xb0\xd0\x68\x47\x29\xfd\x8c\x7b\x9d\xa7\x41\xff\x4f\x2f\x47\x36\x2f\xd0\x35\xe3\x41\xb2\x9d\x63\x20\x4a\x18\xbb\x29\x68\xbf\x83\x25\xb7\x27\x5e\x49\x7d\xf6\x74\x7e\x12\x8f\x14\x5b\x37\x76\x10\x93\x21\x13\xf3\x62\x78\x9c\x85\x79\x51\xcb\xf9\x7f\x30\xeb\x9a\x99\x35\x2d\x96\xe7\x3a\x41\xc3\x8d\x6e\xbc\xc9\x6b\xa8\xe3\x5c\x72\x23\x50\xe9\x03\xac\x8e\x6b\x60\x45\x21\x37\xce\xaa\x72\xd4\x46\x49\x37\x78\xd6\xb4\xbd\x23\x6d\x8e\x19\xab\x35\xb6\x86\x9c\xfa\x15\x91\x1c\x19\x2c\x99\x26\xaa\x40\x89\x9f\x98\xda\x31\xa7\x85\xfd\xff\x96\xf6\x15\x4b\xf9\x9a\x23\x0a\xb2\x35\x5d\x97\xd4\xd0\x88\xdc\x0d\x80\x17\xd2\x0e\xb2\xbd\xa1\x59\x0a\xc3\x38\x7a\xc0\xa4\x9a\x41\x8e\x57\x88\x2f\x83\xfb\x0b\x8c\x6e\x50\x6e\x4a\x6e\x38\x3f\x71\x0e\xcc\xf4\xb3\x3e\x5b\x3b\xd8\xd2\xbe\x76\xf8\x76\x02\x14\x5d\xc9\x1b\xb8\x80\xb3\xe9\x59\xf2\x3e\xa8\x24\x0d\x97\xbb\x49\xf3\x21\x2f\x0a\x51\x60\xe7\x30\x35\x14\x19\x33\x68\x4f\x75\xce\xbf\xea\x48\xea\xad\x5f\x74\xff\xa2\x4f\x5a\x01\xf7\xfb\x20\x35\xcb\xfd\x8e\xdf\x06\xe7\x49\xe0\x7d\x82\xe8\x69\x2e\x14\x66\xbc\xe2\x28\xc8\x62\xc2\xfe\x3b\x5b\x07\xea\x5d\x7b\x14\xee\x7c\x4b\xd4\x53\xf9\xed\xe9\x6f\x9a\x6a\x6b\x2f\x25\xef\x7d\xaf\xd3\x65\xe2\x95\xb3\x34\xbb\x3e\x70\x2e\x42\x44\xf6\x67\x21\x31\x1e\xd5\xc7\x51\xc4\xcd\x34\x35\xdd\xf3\x93\x44\xc8\x83\x11\xa8\x5b\xfc\x1e\x18\x8a\xd2\xe4\xe3\xf4\x48\x5c\x00\x8b\x23\xcb\x5f\xa8\xe4\x4e\xe2\x0b\xe9\x84\xb7\xd9\x82\x15\x05\x25\x1e\x9f\x35\xa6\xf0\xd2\x1d\xd4\x94\xb5\x76\xd9\xc3\x55\xb7\xe1\x88\x69\x07\xa3\xed\x2a\xbd\xc0\x08\x77\x93\x8d\xba\x67\x6a\xf4\x40\xaa\xdc\x9d\x01\xd9\x30\xe6\xde\xa7\x18\x5d\x97\xec\x0f\x77\x98\x1b\x9c\x04\x49\x87\x00\xa1\x9b\x43\x17\x37\x54\xa1\xd2\xf0\xb0\x08\xb3\xdb\x6d\x1c\x92\x97\x1e\x48\x33\x67\xd3\xb3\x5e\x0d\xfb\x60\x30\xee\x3a\x21\x5f\xa4\x01\xe7\x05\x61\xe8\x69\x9c\x12\xba\xa2\xef\x1d\xba\x93\x85\xf8\xd5\x49\x7f\x71\x05\x49\x67\xe4\xfe\x45\x67\xa8\xee\x80\xed\x08\x06\x8e\x0c\x43\xb6\x73\x79\xd0\x8a\x9c\xd9\x2f\x2c\xbc\xb6\xdc\x91\x22\x65\x92\x70\x0c\xf7\xb8\xe3\x37\x7f\xbe\x77\x97\x58\x02\xa1\x71\x1f\x83\x1c\xe8\x15\x04\xa0\xa3\x8d\x8f\x6d\x2a\x26\x1b\x2b\x83\xad\x9b\xe8\x9b\x93\xe3\x41\xdf\x88\x21\xba\xde\x71\x90\x95\xb5\xa4\x3f\xa5\x0a\x7a\x8a\xda\xbf\xee\xab\x8e\xb0\xe4\x03\x9f\xe6\xb8\xdf\xf0\x69\x4e\xda\x14\x4e\xa3\x2e\xe1\xcb\x8a\xad\x8e\x91\xf5\x06\xbb\xd8\xdc\xbe\x28\xc8\xfd\xbd\x01\xee\xef\x0d\x6e\x7f\x43\x60\xeb\xf3\x9f\xa7\x05\xb4\x46\x8d\xf0\x40\x34\xf3\xaa\xb3\x9d\x71\x1c\xc2\xac\xb9\xa4\x76\xf9\xcd\xd9\x19\x55\x42\xe9\x92\xee\x57\x56\x70\x01\xa7\x5e\x5a\xc9\x90\xcd\x7d\xac\x95\xb4\xf1\xbf\x3a\xca\xda\x6f\x2d\xac\xe2\xbb\x1e\x6c\x85\xe5\xbf\x50\x23\x5d\xb1\x35\x92\xda\xb9\x48\xbe\xe2\x70\x28\x9b\xbf\x49\xbd\xd8\x2f\x81\x2e\x83\x93\x94\xaf\xee\x77\x5f\x70\xe1\xcb\xc2\x81\x23\xf0\x67\x3d\xe0\x6f\xe2\x6e\xbd\x0b\x1d\x9f\x3b\x77\x80\xc3\x10\x99\x78\x1d\xfb\x29\xda\x31\x18\x39\xeb\x27\x6d\xd2\x27\xd5\x9e\x13\xf1\xce\x84\x38\x6a\x62\xf1\xb6\x92\x1a\xe3\x10\x6c\x17\x7e\xf6\x06\xfb\x19\x4a\x34\x2b\xe9\xca\xff\x25\x9a\x97\x76\xf4\xe5\x87\x46\xe1\x9d\x59\x29\x59\x2f\x9d\xfe\x3e\x87\xda\xf0\x33\xd8\xa0\xbf\x60\x59\xac\xa6\xd0\x46\xc0\xe7\x78\x9a\xf0\xb9\x17\x93\x7f\xdd\x8f\xa8\x5f\x6c\x05\x17\x37\x83\xd5\xf2\x71\xe7\xfb\x0f\x8f\xff\x38\xf9\x80\x72\x1a\xfe\xdc\xbf\x18\xef\x76\x14\x1d\xdd\xa6\xe3\x55\xc3\xd4\x12\xcd\x80\xa6\x9a\x95\x91\xca\xc8\x54\x5d\x9e\x6d\x4d\xd5\xa5\xca\xf1\x64\xaf\x59\x58\xa0\xc8\x2c\xba\x9e\x18\xfc\xfb\xfe\x08\xfe\x1b\x00\x00\xff\xff\x37\x20\x0d\x37\x2d\x2b\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x6f\xdb\x38\xd6\xef\xf9\x15\xa7\xfe\x80\xf9\x6c\x4c\xe2\x64\x6e\xdd\x19\x23\x6e\xa6\xd3\x36\xbb\x0b\xcc\x00\x45\x9b\xe9\x3c\x14\x45\x4b\x4b\xc7\x36\xb7\x12\x29\x90\x94\x1d\x4f\xd0\xff\xbe\x38\xbc\x48\xa4\x2c\x39\x6e\xda\xa7\xd5\x4b\x62\x91\xe7\xf0\xdc\x6f\x14\x2f\x2b\xa9\x0c\x5c\xd7\x62\xc5\x17\x05\xde\xc8\x8f\x28\x60\xa9\x64\x09\xa3\xe4\xdd\xe8\xc4\xef\xfc\x03\x0d\xcb\x99\x61\x6f\x38\x6e\xb5\xdf\x99\xbc\x6b\x76\x26\xf0\x7d\x60\xc3\x1b\xda\xd3\xea\xc2\xf0\xaa\xc0\x37\xac\x2e\x4c\x73\x5c\xf2\xb2\xd9\x4b\x90\xaf\x50\xcb\x62\x83\xca\xef\x8c\x5f\x8d\x4e\x4e\x58\x96\xa1\xd6\x63\x56\x14\x13\xc8\xa4\x30\x8a\x65\x06\x5e\xdc\xb2\xb2\xf2\x44\xcc\x52\x24\x77\x27\x27\x00\x00\xe7\xe7\xe7\x70\xb3\x46\xc0\x0d\x0a\x03\x66\xcd\x0c\x70\x0d\x58\x72\x63\x30\x87\xed\x1a\x05\x08\xdc\x82\x21\x0c\x1a\x98\x42\x28\xb9\x30\x98\x5b\xe0\xf8\x4c\x87\xc0\x9e\xa4\xff\xb0\x5b\xc6\xac\x94\xb5\x30\x33\xf8\xf3\x9a\xdf\x3e\xfe\xf1\x14\xcc\xae\xc2\x19\xbc\x36\x8a\x8b\xd5\x24\x3a\x5e\x1a\x56\x80\xae\xab\xaa\xd8\x81\x5c\x26\x44\x6b\xe0\x02\xf0\x96\x6b\x83\x22\xc3\xbd\x43\x37\x4c\x81\x21\xf0\xd7\x16\x3a\x1c\xd5\xe2\x7e\x9a\x97\x5c\xc0\x4b\x66\xd6\x7b\xb0\x05\x1a\xb7\xfc\xda\x48\xc5\x56\x48\x9b\x88\xba\xe6\x47\x8b\xe5\x4f\x8d\xca\x22\xd1\xbd\x58\xac\xae\x06\xb1\x0c\x42\xbc\xac\x17\x05\xcf\x1c\x40\xfb\x7f\x7b\xea\x75\x2d\x32\xc3\xa5\x00\x23\x41\xa1\xa9\x95\x00\xb3\x46\x2b\x45\xed\x34\x45\x3f\x1b\x5d\x73\x12\x5a\x89\xc2\xec\x13\xb9\xe1\xb8\x85\x65\x2d\x60\x85\xc6\x1e\x7d\x43\x38\xc6\x93\x19\xbc\xa5\xff\xde\xc1\x9d\x05\xa1\x87\xa8\xa3\x13\x9e\x2a\xc5\x76\xcd\xfa\xdc\xfd\x73\xf9\x6b\xac\x9b\xa9\x45\xf5\x64\x3c\x79\xd7\x40\x07\x32\x03\x02\xbb\xf0\xe9\xe4\x30\x41\xe4\x14\x83\xb4\x6c\xe8\x8c\x57\xb8\x84\x39\x68\x2c\x96\x53\x96\x65\x64\x54\xd3\x8c\x55\x6c\xc1\x0b\x6e\x38\xea\xe9\x42\x2a\x25\xb7\x97\xdf\xf4\x51\x77\x5e\x59\xd1\x9e\x63\xb4\x66\x97\x26\xcd\x39\xf4\x5c\x5d\x41\xc5\x04\xcf\xc6\xa3\x67\xb2\x2e\x72\x10\xd2\x80\x43\x0b\x0c\x14\x2e\x51\x91\x01\x92\x2a\x48\xe8\x96\x2a\x50\xc1\xfb\x5a\x54\x5d\x49\x04\xf2\xa7\x2d\xa3\x43\x32\x21\x71\x78\x8c\xb4\x73\xfc\xde\x4a\x69\x06\x24\x95\xc9\x0c\x9e\x8a\xdd\x6b\xa3\xea\xcc\x5c\xfd\x8f\x4a\x28\xe6\x9d\x38\x4f\x04\x45\xfe\x60\x69\x0a\xbf\x9a\xb7\x2f\x58\xb6\x86\x9a\x1c\x54\x1b\xa9\x50\x03\x13\xc0\x85\x36\x8c\x88\x91\x4b\x90\xa2\xd8\x59\x8a\x2c\x38\x85\x13\xb3\x46\xee\x76\xb3\x15\x26\x41\x70\xe9\x3d\x4e\xfb\x6d\x1e\x86\x89\x1c\x56\x72\x83\x4a\x60\x0e\x0b\x87\xad\x52\x68\xdf\x57\x52\x1b\xf2\xc1\x9c\x5b\xc0\x06\x1d\x17\x9d\xbc\x63\x43\xa9\x59\xe3\xce\x06\xd1\x8c\x15\x05\xe6\xd3\xe4\xf4\x6c\x8d\xd9\x47\x0d\x6b\x56\x55\x28\x80\x19\x50\xb5\x30\xbc\x44\x0b\x8a\x14\xb3\x59\x43\x21\x05\xe9\x0e\x8e\x06\x17\x85\xf8\x5a\x65\x48\x3b\x84\xe3\x7f\x81\x90\x29\x64\x14\xd2\x3d\x67\x14\x36\xf0\xd6\x90\x84\x92\x28\x12\xe2\xca\xae\x41\x47\xe4\xe6\xb8\xe4\xc2\x02\x9f\x82\xb6\x0a\x56\x48\x24\x08\x09\x5b\xb6\x83\xa5\x24\xda\x4a\x56\xf0\x8c\xcb\x5a\x3b\x75\x18\xe9\xcf\x74\x52\x6c\x45\x23\x6b\x7f\x2c\x17\xc0\xb8\x9a\xc2\x53\xd0\x15\x66\x9c\x15\x60\x13\x87\xb2\x66\x43\x1c\x80\x40\xcc\x35\x61\x5a\xb4\x34\x18\x69\x53\x50\x83\xae\x4d\x4f\xa9\x28\x62\xdf\x6a\x10\x5a\x52\x66\xa9\x6a\x9c\x1f\x84\x84\x18\x6b\xc4\xa6\x16\x58\xb0\x22\x18\x93\x59\x73\xed\x2c\xb6\xd9\xdb\x4d\x47\x7e\x77\x9a\x8a\xa2\x8d\xe4\xa3\x6e\xa7\x3e\x94\x31\x7a\x21\xaa\x03\x19\xa3\xd5\x3e\xb9\x95\xb6\x5a\xf5\x27\x40\xc5\xcc\x9a\xac\x48\x61\xe4\x9b\x7a\x6d\xdd\xd8\xec\x2a\x4e\x96\x64\x8d\xc4\xba\x50\xde\xcf\x5b\x14\xb2\x9f\xe3\xb2\x93\xf2\x28\x7e\x47\x3f\xe3\x18\x15\xf9\xba\x8d\x4f\xba\x87\xd3\x4f\xc3\x3c\x38\x9e\x53\x16\x82\x12\x02\x0f\x6b\xb6\x41\x60\x61\x6b\x13\xf8\x76\xc7\x32\xd2\xca\x92\xf8\x68\x7f\x1d\x62\xa3\xd5\x45\x1f\x17\x9f\x9f\xec\x22\xfc\x2e\xd7\x0e\x57\x90\xd3\xeb\x1b\xfa\xfb\x64\x3c\x39\x4d\xc0\xc3\x73\x3f\xf8\x73\xae\xab\x82\xed\xbe\x00\x83\xf5\x99\xe7\xcc\xb0\x07\xe3\xb8\x69\xeb\xb6\xa4\x86\x18\x90\xe2\x43\xd2\x23\x3d\x7a\xcb\x4d\xb6\x76\x4a\xb8\xdb\x23\x34\x63\x1a\x8f\xe1\xd6\x89\x7b\xd6\xcb\xa8\xd7\xda\xbd\x08\xc6\xbd\xd0\xf4\x2c\x8d\x57\xc8\xcc\xd9\x56\xcc\xe7\xe7\x28\x73\x02\x4c\x3f\x3a\x4c\x88\xdf\x7c\xd5\xaf\x33\x47\x4c\xa3\xdb\x07\x91\x13\x5b\xc6\x11\x04\x35\xdb\xaf\x7a\x29\x9a\x3c\x54\x65\xad\x54\xfa\xb5\x46\xa5\x53\x89\x39\x67\x30\x4f\xfb\xbe\xe9\x1f\xf4\x76\x58\x59\x56\x46\xbc\xc0\x59\x07\xec\x5f\x37\x37\x2f\xaf\x79\x81\x87\x21\x6b\x55\xcc\x60\xb4\x36\xa6\xd2\xb3\xf3\x73\xa6\x35\x1a\x3d\xdd\xe2\x42\x73\x83\x67\x84\x56\x4f\x33\x59\x9e\xff\xb4\x7c\xfc\xfd\x2f\x3f\x66\x17\xd9\x3f\xd8\xcf\x59\x9e\x3f\xfe\xf1\x87\xc5\x77\xd9\xcf\xdf\x5f\x74\x16\xd8\x4f\x3f\x65\x8b\xef\xb2\x5f\x7e\x78\xfc\xfe\xba\x90\xdb\xf7\x7f\x49\x95\x97\x4c\x7d\x9c\xea\xcd\x6a\x34\x48\xc7\x80\xc3\xd2\x63\x25\x72\x63\xfb\xb4\x11\x2f\xd9\x0a\xcf\xf5\x66\xf5\xed\x6d\x59\xf4\x63\xdb\xd7\x4e\x22\x5a\xdd\x2f\x5b\x3d\x7e\x6b\x97\xdf\xf5\x83\x1f\xe3\x4f\x5e\xbb\xc3\xb2\x16\xac\x24\x1e\x7c\xbd\xdb\x20\x73\x0d\xea\x68\x58\x00\x7a\x57\x2e\x24\xa9\xe8\xc5\xf5\xcd\x81\x6d\x39\xea\x4c\xf1\x8a\x4a\xb1\x19\x8c\x6e\x28\x23\x2d\xc3\x11\xb6\x18\xa1\xea\xa8\xd6\x98\x03\xb3\x15\xa9\xaf\xad\xa9\x78\x59\x63\x51\xc1\x4e\xd6\x90\xe3\x06\x0b\x69\xff\x57\x20\xa8\x18\xbb\xbe\x81\xff\x93\x82\x34\x39\x3d\x70\x36\xde\x1a\x54\x82\x15\x7f\xbe\xfa\xbd\x6b\x83\x2f\xda\xa5\x71\x63\x64\xfe\xec\xb3\xa5\x99\x4a\xb1\x24\xe4\x52\xad\x46\x07\x8c\xa0\x90\x2b\xa9\x67\x5e\x85\x07\x44\x25\xa9\x66\xd3\xb3\x9e\xb0\x1a\x3f\x23\xb3\xe5\xc6\xa0\x1a\x1d\x45\xac\xdf\x6c\x9d\x80\x68\x7d\xbf\x28\x64\xf6\x31\x5b\x33\x2e\x46\xfd\xe6\x02\x36\x67\xf4\xbd\x7d\x70\xec\x88\x43\xd8\x70\xf4\x88\x1a\xaf\xa4\xad\x0a\x0d\x98\x2f\x74\x0e\xf6\x5e\x4b\x25\xcb\xd9\x5e\x5d\x34\xcc\xe8\xe7\x35\x61\xae\x9c\x73\x84\x0e\x48\xef\xa8\xe4\x15\xc4\x31\xec\x6e\x49\x2d\xdb\x65\x67\xd8\x84\x14\x66\xc8\x37\xa8\x22\xb8\xb6\xae\x3a\x14\xa5\x1c\x81\x9f\x09\x56\x29\xb9\xe1\x79\x38\xed\xbc\x52\x7c\xc3\x0c\xee\xf7\xbd\xf7\xd3\xfb\x3b\x17\x1f\x31\x77\x71\xd2\x9a\x53\xaf\x72\x0f\xc6\x59\xc7\xc1\x17\x23\x0a\x3c\x7d\x31\x22\xd7\xab\xbd\x28\x2b\xb3\xb3\x9b\xc3\xf4\x69\x06\xe3\x65\x2d\xa8\x64\xfd\xf5\xae\xa7\x6d\xfa\x74\x8f\xf7\x7b\xfb\xba\x3c\x6b\xfa\xfc\xee\x41\xe3\x03\x6e\xdd\xbf\x94\xbe\xfd\xd4\x57\x42\x0b\x5e\x0c\x35\x17\x2b\x34\x54\x75\x4a\x65\x30\x6f\x87\x61\x20\x6d\x30\xb7\x8d\x90\xf2\xed\x07\x83\x82\x6b\xdb\xab\xba\x6e\x23\x99\xbc\x71\xdd\x58\x83\xad\x53\x2b\xdf\xe1\xc2\x81\xea\xbf\xe7\x5c\x12\xec\x9d\x53\xdb\x6f\x52\x16\x5d\x71\x52\x9c\xd1\x01\xca\x02\x74\xb6\xcf\xe1\x2e\x15\x40\xba\xfb\xad\x75\x8e\x15\xda\xc3\xc6\x93\x77\x30\x07\xa3\x6a\xec\xed\x6a\x12\xc0\xa3\x9b\x1a\xae\xf7\xb9\x1a\x9b\xc6\x0e\x27\x8e\xd0\x03\x8d\xd4\x90\x5c\xde\x1a\xdb\x21\x5d\x5d\xc1\x92\x15\x1a\xfb\xd5\x09\x5c\x70\xc3\x59\xc1\xff\x76\xad\x6d\xe8\xd5\x99\x69\x7b\x7e\x6b\x70\x76\x8e\xca\xcb\x16\x0d\x01\x8e\x3b\xcd\xfa\xa4\xdb\x3b\x10\x7d\x01\xe5\x3c\x20\xdf\x53\x10\xcf\x51\x18\xbe\xe4\xa8\x60\x0e\xa3\xbd\x70\x32\xda\xc7\x19\x05\x47\x98\xc7\x8d\xf3\xb8\xc5\x35\x8b\xf0\x4e\x1e\xed\xe3\x68\x23\x1e\xcc\xa3\x9e\xf5\x7e\x0c\x1d\x7f\xf8\x27\x9a\x44\x74\x7e\x22\x74\x60\xca\x11\x59\xf4\x6f\x0e\x88\xac\xd8\x89\xf0\x80\xa2\xbb\xe2\xeb\xd0\xb1\xe5\x66\x9d\x2b\xb6\x8d\x5f\x26\x1b\xda\x79\xb8\xf5\x40\xf6\xd1\x0d\xfb\xdc\x2d\x83\xaf\xb3\x98\x5a\xd5\x25\x0a\x93\x00\x32\x91\x37\xd8\xbd\xff\x7a\x20\x7b\x93\xd2\x0c\xfa\xa6\x83\x47\xff\xdb\xf8\xf8\x48\x41\xc1\x0e\x9c\xb0\xac\xa4\x62\x6a\xe7\x47\x84\xe1\xe2\xc4\x96\x7c\x54\xe4\xc9\x22\x4f\x30\xd8\xc9\xbd\xbb\xd1\x70\x04\x28\x84\x05\x72\xb1\x02\xa3\x98\xd0\x4b\x54\x0a\xf3\x29\x1d\xa4\xa2\xe1\x87\xc0\x6d\xb1\x4b\xf0\x84\x31\x9e\x3f\x56\x26\xc3\x3c\x8b\xd9\x8d\x05\x41\x4b\xe0\xc6\x4e\x00\xed\xec\xac\x92\xd4\x61\xa4\x34\x61\xa1\xd1\x8e\x54\xfa\x19\xf7\x3a\x4f\x83\xfe\x5f\x5e\x8e\x6c\x51\xa0\x6b\xca\x83\x64\x3b\xd7\x3d\x94\x30\xf6\x53\xd0\x61\x07\x4b\x7e\x9e\x79\x25\xf5\xd9\xd3\xe5\x59\x3c\x5a\x6c\xdd\xd8\x41\x4c\x86\x4c\xcc\x8b\xe1\xf3\x2c\xcc\x8b\x5a\x2e\xfe\x83\x59\xd7\xcc\xac\x69\xb1\x3c\xd7\x09\x1a\x6e\x74\xe3\x4d\x5e\x43\x1d\xe7\x92\x5b\x81\x4a\x1f\x61\x75\x5c\x03\x2b\x0a\xb9\x75\x56\x95\xa3\x36\x4a\xba\x01\xb4\xa6\xe3\x1d\x69\x0b\xcc\x58\xad\xb1\x35\xe4\xd4\xaf\x88\xe4\xc8\x60\xc9\x34\x51\x05\x4a\xfc\xe4\xd4\x8e\x3b\x2d\xec\xff\xb7\xb4\xaf\x59\xca\xd7\x02\x51\x90\xad\xe9\xba\xa4\xc6\x46\xe4\x6e\x10\xbc\x94\x76\xa0\xed\x0d\xcd\x52\x18\xc6\xd2\x03\x26\xd5\x0c\x74\xbc\x42\x7c\x19\xdc\x5f\x60\x74\x83\x72\x53\x7a\xc3\xe5\x99\x73\x60\xa6\x1f\xf5\xd9\xda\xd1\x96\xf6\xad\xc3\xb7\x17\xa0\xe8\x49\x56\x60\x0e\x17\xd3\x8b\x64\x3d\xa8\x24\x0d\x97\xfb\x49\xf3\x3e\x2f\x0a\x51\x60\xef\xd2\x34\x14\x19\x33\x78\xd6\xcc\x35\x2f\xbf\xe9\x48\xea\x95\xdf\xf4\xe9\x49\x9f\xb4\x02\xee\x37\x41\x6a\x96\xfb\x3d\xbf\x0d\xce\x93\xc0\xfb\x04\xd1\xd3\x5c\x28\xcc\x78\xc5\x51\x90\xc5\x84\xf3\xf7\x8e\x0e\xd4\xbb\x36\x29\xfc\xf2\x2d\x51\x4f\xe5\x77\xa0\xbf\x69\xaa\xad\x83\x94\xbc\xf1\xbd\x4e\x97\x89\xe7\xce\xd2\xec\xfe\xc0\xb9\x08\x11\xd9\xdf\x89\xc4\x78\x54\x1f\x47\x11\x37\xd3\xd4\x74\x2f\xcf\x12\x21\x0f\x46\xa0\x6e\xf1\x7b\x64\x28\x4a\x93\x8f\xd3\x23\x71\x01\x2c\x8e\x2c\x7f\xa3\x92\x7b\x89\x2f\xa4\x13\xde\x66\x0b\x56\x14\x94\x78\x7c\xd6\x98\xc2\x53\x77\x61\x53\xd6\xda\x65\x0f\x57\xdd\x86\xab\xa6\x3d\x8c\xb6\xab\xf4\x02\x23\xdc\x4d\x36\xea\xde\xad\xd1\x0b\xa9\x72\x77\x17\x64\xc3\x98\x5b\x4f\x31\xba\x6e\xd9\x5f\xf2\x30\x37\x40\x09\x92\x0e\x01\x42\x37\x97\x2f\x6e\xb8\x42\xa5\xe1\x71\x11\x66\xbf\xdb\x38\x26\x2f\xdd\x93\x66\x2e\xa6\x17\xbd\x1a\xf6\xc1\x60\xdc\x75\x42\xbe\x4c\x03\xce\x13\xc2\xd0\xd3\x38\x25\x74\x45\xdf\x35\x74\x27\x0c\xf1\xd2\x59\x7f\x71\x05\x49\x67\xe4\xfe\x8b\xee\x52\xdd\x45\xdb\x09\x0c\x5c\x1d\x86\x6c\xe7\xf2\xa0\x15\x39\xb3\x5f\x52\x78\x6d\xb9\xab\x45\xca\x24\xe1\x3a\xee\xf3\xae\xe1\xfc\x3d\xdf\x5d\x62\x09\x84\xc6\x7d\xf4\x71\xa4\x57\x10\x80\x8e\x0e\x3e\xb5\xa9\x98\x6c\xac\x0c\xb6\x6e\xa2\x6f\x4b\x4e\x07\x7d\x23\x86\xe8\x7a\xc7\x51\x56\xd6\x92\xfe\x90\x2a\xe8\x21\x6a\xff\xb6\xaf\x3a\xc2\x92\x0f\x7c\x82\xe3\xfe\x86\x4f\x70\xd2\xa6\x70\x1a\x75\x09\x5f\x56\x6c\x75\x8c\xac\x37\xd8\xc5\xe6\xf6\x45\x41\xee\xeb\x06\xb8\xaf\x1b\xdc\xbe\x42\x60\xeb\xf3\x9f\x87\x05\xb4\x46\x8d\x70\x4f\x34\xf3\xaa\xb3\x9d\x71\x1c\xc2\xac\xb9\xa4\x76\xf9\xdd\xc5\x05\x55\x42\xe9\x96\xee\xd7\x54\x30\x87\x73\x2f\xad\x64\xc8\xe6\x3e\xca\x4a\xda\xf8\x67\x8e\xb2\xf6\x9b\x0b\xab\xf8\xae\x07\x5b\x61\xf9\x2f\xd1\x48\x57\x6c\x83\xa4\x76\x2e\x92\xaf\x39\x1c\xca\xe6\xdf\xa4\x5e\xec\x97\x40\x97\xc1\x49\xca\x57\xf7\xfb\x2e\x98\xfb\xb2\x70\xe0\x2a\xfc\x51\x0f\xf8\xcb\xb8\x5b\xef\x42\xc7\xf7\xcf\x1d\xe0\xee\x30\x99\x78\x1e\xfb\x69\xda\x29\x18\x39\xeb\x27\x71\xd2\x27\xdd\x9e\x1b\xf2\xce\xa4\x38\x6a\x66\xf1\xb6\x92\x1a\xe3\x50\x6c\x37\x7e\xf0\x86\xfb\x01\x4a\x34\x6b\xe9\xda\x80\x15\x9a\xa7\x76\x04\xe6\x87\x47\x61\xcd\xac\x95\xac\x57\x4e\x8f\x1f\x42\x8d\xf8\x01\x6c\xf0\x5f\xb2\x2c\x56\x57\x68\x27\xe0\x43\x3c\x55\xf8\xd0\x8b\xc9\x2f\xf7\x23\x4a\xf4\x1e\x5b\xdd\x33\x56\x1d\xfc\x44\x2a\x48\x98\x6b\x5d\x77\xc6\xa7\x4f\xc6\x03\x42\xee\x55\x55\x82\xd5\x4a\x5c\xaf\xc7\x1d\x4a\x4e\x81\x99\x59\xaf\x79\x44\x9a\x23\x0e\x5c\xda\x6d\x2d\xd7\x65\xce\xf1\xc0\xd1\x1d\x2b\xb1\xc0\x91\x95\x74\x1d\x34\xb8\xfd\xa7\x13\x38\xf9\x6f\x00\x00\x00\xff\xff\x4d\x3e\xfc\xff\x2d\x2b\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,11 +97,11 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x33, 0x87, 0xed, 0xf4, 0x63, 0xf7, 0x7c, 0x8c, 0xb2, 0xd0, 0x4a, 0xe7, 0x97, 0xee, 0xde, 0x70, 0x41, 0xbe, 0x1f, 0xd1, 0xdb, 0x2, 0x40, 0x88, 0xc9, 0x27, 0x1d, 0x4b, 0x69, 0x70, 0x4}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0x90, 0x99, 0x14, 0x41, 0x57, 0x1b, 0xab, 0x91, 0x33, 0x41, 0xa9, 0x64, 0xa5, 0x5, 0x8d, 0xb6, 0x1f, 0xab, 0x8d, 0xc2, 0xa9, 0xf2, 0x7c, 0x3b, 0x9b, 0x1d, 0x46, 0xf4, 0x7a, 0x6f, 0xd5}}
 	return a, nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\xdd\x6f\xe3\x36\x12\x7f\xcf\x5f\x31\xe7\x03\x7a\x36\x9a\x38\xe9\xd7\x5e\x6b\xec\x76\x37\x7b\xdd\xe0\x0e\x68\x8b\x45\x9b\xb6\x0f\xc5\x62\x97\x96\xc6\x36\x2f\x12\xa9\x92\x94\x1d\x77\x91\xff\xfd\x30\xfc\x90\x48\x59\xb2\x1d\xa7\xe7\x97\xc4\x16\x67\x38\x9c\xf9\xcd\x07\x67\xc4\xcb\x4a\x2a\x03\x37\xb5\x58\xf2\x79\x81\xb7\xf2\x0e\x05\x2c\x94\x2c\x61\x94\xfc\x36\x3a\xf3\x2b\x7f\x40\xc3\x72\x66\xd8\xaf\x1c\x37\xda\xaf\x4c\x7e\x6b\x56\x26\xf4\x7d\x64\xc3\x0b\x46\x67\x67\x2c\xcb\x50\xeb\x31\x2b\x8a\x09\x64\x52\x18\xc5\x32\x03\x6f\xee\x59\x59\x79\x82\x59\x47\xe8\x8f\x67\x67\x00\x00\x97\x97\x97\x70\x2b\x0d\x2b\x40\xd7\x55\x55\x6c\x41\x2e\x12\x32\x0d\x5c\x00\xde\x73\x6d\x50\x64\x68\x49\xe2\xad\xd6\x4c\x81\x21\xf2\x9f\x2d\xf5\x0c\x7e\xb9\xe1\xf7\xcf\xbe\xb4\xeb\x1a\xfe\x3f\x1b\xa9\xd8\x12\x81\x89\x1c\xde\xd6\xf3\x82\x67\xf0\x96\x99\x95\xde\xe1\x56\xa0\x81\x5f\x59\x5d\x18\x4f\x41\xab\x66\x10\x7d\x19\xa6\x70\x7c\x1d\x41\xfb\x7f\xef\xfa\x9f\x30\x43\xbe\x46\xf5\x08\x92\xeb\xbc\xe4\x62\x50\xa8\x56\x91\x2b\x04\x5c\xa3\x30\x60\x56\xcc\x00\xd7\x80\x25\x37\x06\x73\xd8\xac\x50\x80\x59\x61\x6b\x1b\xae\x21\x53\xc8\x0c\xe6\x3b\x3b\x3a\x16\x4e\xfd\xff\x11\xdc\x70\x56\xf0\x3f\x31\x1f\x73\xf7\x7f\xaa\xea\xc9\xf1\xdb\x3b\x7b\x32\x85\xb0\xe1\x66\x95\x2b\xb6\xf1\xd8\x65\x4e\x87\x7b\x05\xf9\x2d\x90\x8c\x59\x29\x6b\x61\xc2\xfe\xe7\x96\xc5\x0c\xae\xf3\x5c\xa1\xd6\x2f\x4f\x92\x27\xc7\x4a\x6a\x4e\x4f\x8c\x3c\x4a\x9a\xef\x02\xc1\x8e\x34\x46\x9e\x22\x8b\xc0\x4d\x2c\x4f\xc9\xc5\x21\xc3\xfc\x60\x97\x74\xb6\x3f\xf1\xf0\xda\x28\xb9\x3d\xb0\xdf\xeb\x5a\x89\x27\xec\xc7\xec\x11\xed\xb9\x14\x28\xd4\xb2\x56\x19\x1e\x06\xa1\x3d\xa5\xfa\x97\x5b\x43\x0f\xe4\x06\xf3\xeb\x27\xc9\x30\xa7\x83\x3c\x46\x06\x7b\xf2\x46\x86\x68\xbb\x37\x2c\x5b\x41\xad\x51\x81\x36\x52\xa1\x06\x26\x80\x0b\x6d\x98\xc8\x90\xe2\x98\x14\xc5\xd6\x3a\x9d\xc5\x13\x05\x32\xb3\x42\xee\x56\xb3\x25\x26\x62\x2f\x6a\x91\x19\x2e\x5d\xbc\x6b\x69\x28\x64\x2d\xe5\x1a\x49\xf7\x30\x77\xdc\x2a\xe5\x42\x59\x25\xb5\x21\x7f\xce\xb9\x25\x6c\xd8\x71\xd1\x09\xb5\xc1\xf9\xb7\xd6\xdc\x19\x2b\x0a\xcc\xa7\xc9\xee\xd9\x0a\xb3\x3b\x0d\x2b\x56\x55\xa4\x27\x03\xaa\x16\x86\x97\x68\x49\x71\x8d\x0a\x58\x23\xa1\x55\x58\xca\xa3\xe1\xf5\x93\x57\x2a\xad\x10\xee\xfc\x73\x0c\xea\x0d\x27\xa3\x10\x84\xf7\x86\x34\x94\x44\x24\x6b\x33\x12\xb3\x61\xe7\xd0\xb9\xe0\xc2\x12\x9f\x83\x96\xf4\x5c\x59\x9b\x09\x09\x1b\xb6\x85\x85\x24\xd9\x4a\x56\xf0\x8c\xcb\x5a\x3b\x73\x18\xe9\xf7\x74\x5a\x6c\x55\x23\x6b\xbf\x2d\x17\xc0\xb8\x9a\xc2\x35\xe8\x0a\x33\xce\x0a\x8f\xb4\x16\x16\x02\x31\xd7\xc4\x69\xde\xca\x60\xa4\x45\x70\xc3\xae\xf5\xda\x54\x15\x31\x86\x1a\x86\x56\x94\x4e\x16\x9c\xbe\x55\x72\xcd\x73\x54\xe7\x9d\xdf\x43\x8e\xe8\xfe\xfe\x9a\x15\x84\xae\xf3\x34\xaf\x4f\x49\xef\x05\x99\xc9\x67\xd5\xd8\xb6\x36\x3d\xc2\xdc\x11\xfa\xd3\x6b\x58\x37\x21\xae\x2f\xa5\xfa\xd5\x4d\x3a\x4d\x98\xb6\x29\xc1\xda\x2f\x70\x26\xd4\x84\xb3\x5a\xed\x13\x56\x08\x44\x0d\x31\xe5\x8f\x71\x87\xf5\x04\x3e\x36\xcf\xe9\xa3\xb1\x58\x4c\x03\xcb\x17\x81\x79\xb3\xe4\x21\x15\xe5\x26\x60\xd2\x61\x87\xdd\x39\x27\x74\x41\x0a\x98\xfb\xa2\x96\x75\x89\xc2\x24\x84\xe4\x3f\x21\x09\x69\x47\xed\x89\x6c\x42\x6a\x1c\x70\x9a\x9e\xdc\x78\x5c\x69\x1f\x4b\x0c\x52\xed\xc4\xd4\xd6\xbb\x6b\x08\x3b\xb5\x76\x68\x59\xc9\x22\x4f\x38\x10\xe3\x52\x0a\xdc\x36\x4b\xe7\xc8\xc5\x12\x8c\x62\x42\x2f\x50\x29\xcc\xa7\xb4\x8d\x42\x53\x2b\xa1\xed\x7a\x81\x9b\x62\x9b\x70\x09\x0e\xe5\x37\x95\x89\x5b\x59\xc6\xce\x41\xc9\x61\xb8\xb1\xbe\x38\x8f\x92\x5c\xc2\x0b\x0b\x8d\x1b\x72\xaa\xe4\xa8\xc9\x92\x57\x15\x53\xac\x84\x10\xfa\x09\x54\x5e\x59\x84\x26\x97\x48\x9c\xa3\x74\xf2\x3a\x89\x95\x02\xcd\xb2\x73\x87\xb3\x7c\xdc\x09\x5a\xdc\x48\x61\x18\x17\x56\x23\xab\x84\x5d\x2d\x72\xdd\x2b\xa0\x87\x6e\xea\x26\xa1\x58\x60\xf3\x02\x27\x44\xdc\xb0\xea\x26\xb0\x19\xbc\x4a\x49\x9d\x44\x7b\x41\x99\x7c\xbd\xf0\xba\x48\x08\x28\xed\x0c\xd6\x2d\xee\x6f\xa8\x5b\x2c\x33\xb9\x11\xa8\x5e\x4e\x99\xab\x1b\x26\x09\x2f\xaf\xad\xe7\x17\x71\x48\x6b\xdd\xc8\x71\x9b\x3c\xca\x43\xbc\xda\xe5\xfc\xbf\x98\x75\xdd\xc4\xba\x06\xcb\x53\x6d\x03\x37\xba\x71\x74\x8f\xb7\x24\xa2\x20\xd8\x23\xe8\x01\xaf\xe1\x1a\x7c\xee\x26\x6a\x5f\x70\x58\x32\x4d\x5b\x3a\x71\xe6\x98\xb1\x5a\x63\xeb\x7c\x09\x97\x0d\x89\x19\x39\x1c\xb9\x16\xaa\xb0\xbb\x8f\xc2\x2d\xa6\xfe\xd1\xca\xbb\x62\xe9\x59\xe6\x88\x82\x90\xa6\xeb\x12\x73\x7b\x5c\x9b\x54\x16\xd2\x26\x47\xef\x2a\xbe\x24\x3a\xe8\x14\xce\x88\x87\xa1\x6c\x01\xec\x8c\xb0\xe1\x45\x31\xe8\x8f\xbd\x21\x99\x00\xec\x57\x8f\xdd\x86\x7d\xa0\xed\x86\x52\xba\x38\x58\xef\x83\xe7\x17\xbe\xce\xd6\x7f\x83\x57\xf1\xed\x6a\x9a\xea\xf9\x10\xd6\x3f\x75\xfc\xa6\xdd\xa8\xdc\x81\xfc\x6e\x71\x9c\x90\xb9\x1a\xf9\x20\xee\x13\x1a\x78\x01\x57\xd3\xab\xe4\x79\x40\x51\x1a\x60\x22\xf8\xfb\x05\xe3\xae\x5e\xf8\x22\x3d\xd5\xb7\xc4\xba\xb3\x86\x3e\x89\xa2\xa2\x4b\x26\xbc\x18\x7e\x74\x91\xb0\x4e\x58\x3e\x0c\xb9\x28\x81\x87\x4a\x19\xb9\x80\x25\x1a\x43\x88\x61\x45\x61\x51\x13\xb2\x3c\xb8\x7b\x38\xa7\x4d\xc9\x49\x5d\x31\x18\x4b\x31\x8c\x53\x1f\x3f\xae\xc9\xc5\x95\xdb\xe6\x76\x5b\xa1\x76\x55\x4d\xc0\x67\xcc\x7a\x6d\x6b\x0a\xb8\x75\x75\x42\x51\x63\x03\x59\x9b\xd7\xe6\x69\x32\x6a\xd5\xbd\xc6\x42\x56\x14\x04\x8c\x84\x3b\x21\x37\xb0\x59\xf1\x6c\x05\xd6\x51\xd0\xb8\xba\xac\x62\x5a\x87\x08\xa2\x5c\xd5\x42\x67\x1b\x4f\xa0\x44\xb3\x92\x03\x0e\x97\xd4\x27\x1c\x37\xd6\x23\x96\x68\xac\x5a\xc6\x93\x19\xfc\x4e\x47\x7a\xf7\xb1\x2f\x70\xda\x47\xcf\x87\x9b\x17\xd3\x9b\x5b\xfa\xfb\xed\x78\x72\xbe\x03\x01\xfa\x1c\x26\xff\x8e\xeb\xaa\x60\xdb\x27\x70\xb0\x6e\xf8\x1d\x33\xec\x64\x1e\xb7\x2d\x08\xbf\x1d\x4f\xde\x3d\x06\x6b\x29\xca\xda\x1a\x19\x8f\x04\x98\x0b\x84\x64\x16\x17\x08\x49\xd4\xc0\x21\x47\xcd\x95\x87\xd4\xb4\x1f\x97\xa0\x8d\xaa\x33\x53\x2b\x02\x44\xa5\x90\x32\x42\x40\xa5\xc2\x3f\x6a\xd4\xa6\x8f\xc1\x60\xa0\x8c\x51\xf5\x3e\x88\xb5\xad\x70\x32\x83\x6b\xb1\xfd\xd9\x6e\xf6\xb2\x9b\xe0\x37\xdc\x64\x2b\x07\xad\xdd\x40\x90\x31\x8d\xc7\x18\xd1\xa1\x68\xd6\x6b\x3f\x7f\xda\x83\x0c\xc6\xbd\xd4\xf4\x59\x18\x8f\x33\x1f\x3b\xe3\x73\x3e\x06\xa3\x13\x9b\x06\x8e\x59\xfc\xb2\x1f\x8a\x4e\x98\x06\xb2\x27\x89\x13\x03\xfe\x08\x81\x9a\xe5\x2f\x7b\x25\x9a\x9c\x6a\xb2\x56\x2b\xfd\x56\xa3\x14\x5a\x62\xce\x19\xbc\xe8\xdc\xb8\x7e\xa0\x5f\xf7\x18\x8b\x17\x38\xeb\x90\xfc\xfb\xf6\xf6\xed\x0d\x2f\x70\x98\x8a\x3e\xb5\x2a\x66\x30\x5a\x19\x53\xe9\xd9\xe5\x25\xd3\x1a\x8d\x9e\x6e\x70\x4e\x09\xf5\x82\xd8\xea\x69\x26\xcb\xcb\xaf\x16\xcf\x3e\xff\xe6\xcb\xec\x2a\xfb\x27\xfb\x3a\xcb\xf3\x67\x5f\x7e\x31\xff\x2c\xfb\xfa\xf3\xab\xce\x03\xf6\xd5\x57\xd9\xfc\xb3\xec\x9b\x2f\x9e\xbd\xbf\x29\xe4\xe6\xfd\x6f\x52\xe5\x25\x53\x77\x53\xbd\x5e\x8e\x06\xe5\x18\x88\x41\xf4\xb1\xda\x20\xc5\xce\x60\xc4\x4b\xb6\xc4\x4b\xbd\x5e\x7e\x7a\x5f\x16\xfd\xdc\x76\x2d\x93\xa8\x55\xf7\xeb\x55\x8f\x7f\xb7\x8f\xdf\xf5\x93\x1f\xe3\x4b\xde\xb2\xc3\xba\x16\xac\xa4\x33\xf8\x10\xd7\x30\x73\x25\xcc\x68\x58\x01\x7a\x5b\xce\x25\x99\xe8\xcd\xcd\xed\x9e\x65\x39\xea\x4c\xf1\x8a\x4a\xef\x19\x8c\x6c\x2a\x5d\x84\x2d\x6c\xb1\xda\x5c\x13\x5d\xf9\x8d\x5e\x0e\xba\x34\x62\x51\xc1\x56\xd6\x21\xa3\xd2\xff\x0a\x04\xdd\xed\x6e\x6e\xe1\xef\x52\x90\x25\xa7\x7b\xf6\xc6\x7b\x83\x4a\xb0\xe2\x97\x9f\xbe\xef\x62\xf0\x4d\xfb\x68\xdc\x80\xcc\xef\x7d\xb1\x30\x53\x29\x16\xc4\x5c\xaa\xe5\x68\x0f\x08\x0a\xb9\x94\x7a\xe6\x4d\xb8\x47\x55\x32\xe3\xac\xd0\xb3\x9e\x90\x1a\x7f\x46\x66\xc3\x8d\x41\x35\x3a\x4a\x58\xbf\xd8\x3a\x01\xc9\xfa\x7e\x5e\xc8\xec\x2e\x5b\x31\x2e\x46\xfd\x70\x81\xa4\xf8\x8a\x3f\x27\xc7\x8d\x38\x7c\x3d\x21\xde\x07\x2e\xc3\x28\xd5\x71\xcf\x7f\xb7\x72\x8f\xa6\x00\xc3\x66\x50\x61\xde\xb0\xcb\x64\x77\x14\xb1\xcf\xf3\x9d\xf4\x43\xb2\x1c\xc3\xa3\xf2\xed\x2e\xc7\xe3\xb2\x52\x7c\xcd\x0c\x06\x00\x5a\x66\x96\xd7\xe1\xc3\x7c\xcf\xc5\x1d\xe6\x2e\x10\x59\x7b\x7d\xb2\x2b\xd1\xc7\xfe\x9e\xda\xc3\x60\x91\x15\x1f\xf3\x84\x0d\x0e\x34\xe7\xf6\xef\x1b\x54\x73\xc2\xbe\xa1\x89\xb8\x7f\x03\xd7\x3e\x78\x53\x56\x66\x6b\x99\x84\xce\xc0\x0c\xc6\x8b\x5a\x50\x11\xdd\x73\x35\x3c\xe0\xba\x4d\x6f\x22\xa1\xec\xee\x34\xde\xe3\x97\xfd\x8f\x4e\x74\xcc\xb4\x08\x3e\xd5\x31\x23\x2e\xe3\x64\xb6\x38\x74\xeb\x9b\x0c\xdc\xf3\xa2\xed\x04\x2f\xce\xd2\x05\x0f\xed\x1c\x21\xed\xd1\xa4\x1d\x46\x67\x85\x0d\x37\x2b\x60\x71\xcb\xe5\x4f\x54\xb2\xed\x93\x8b\xbc\xe9\x18\xf2\xb6\x21\xc8\x8a\x82\x0a\x69\xdf\x18\x9c\xc2\xb5\xeb\x8e\x97\xb5\x76\x0d\x42\xd7\x09\x0e\x7d\xfd\x84\x9b\x1d\x68\xf8\x12\xdc\xd8\xc9\xcf\xc0\x10\x83\x7e\x90\x2a\x77\x97\x3b\xdb\xe3\x71\xcf\x5b\x6e\x59\x66\x5b\x85\xae\x41\xc8\x5c\xfe\x0b\x6e\x1c\xba\x1a\xba\xe9\x4b\xbb\xdc\x68\xb6\x15\xee\x4e\x17\xe2\xc6\x61\xab\x9b\xd0\x71\x19\xec\xc0\xd3\xa5\x60\x17\x92\x33\x78\xd5\x45\xf8\x81\x4e\xdb\xd5\xf4\x6a\x12\x9b\xae\xb7\xcb\x6f\x27\xb5\x5c\x1b\xc5\x8c\xdc\x69\xc7\x0f\x18\x3a\xb2\x5e\xef\x98\xec\x60\x63\x36\x1d\x8b\x91\x7a\x4a\x76\xcf\xcb\xba\x84\x3f\x6a\x26\x0c\x37\xdb\xb8\x53\xeb\xc7\x2c\x61\x97\x4c\xd6\x45\xee\x85\x19\xec\xd3\x76\xa7\x23\xae\x91\x65\x29\xbd\xd1\xdd\x68\xc4\x6f\x72\xd4\x45\xcd\x6d\xf9\x23\x6e\x1c\xf3\x81\xe9\xde\x0c\x5e\xf9\xcd\x3f\xee\xf6\x9b\xf6\x8e\x07\x93\xaf\xfb\x7b\xaa\xfd\x12\x0c\x30\xd8\xdb\x61\x1d\x36\x6a\x67\xee\x78\xb0\x61\x43\x6a\x7f\x7d\x04\xcd\xa0\x5a\x1d\xb1\x45\xba\xe7\xd3\xa3\xc1\xee\x70\x73\x9f\x96\x02\xc3\xe1\x48\x16\xe6\x7f\xa1\xb5\xec\xb0\x66\x5d\x9a\x91\x63\x84\x68\xe0\xe6\x83\x2b\x59\x34\x33\xb5\xc7\xcd\xd2\x1a\x44\xec\x34\x37\x76\x07\x13\x1d\xb8\xa7\xad\xe8\x66\x9c\xd7\xdd\x6a\xcd\x54\xd7\xaf\xfa\x66\x61\xa9\xf1\x89\x9b\x8e\x4e\x72\x6e\x1b\xe9\xb4\x7b\x19\x82\xb2\x89\xde\x75\x39\x4f\x58\xc5\x88\x89\x29\xba\x61\xfc\x31\x63\x9a\x3e\xf7\xef\x1c\xfa\x71\x13\x19\xf7\x62\xc2\x63\xbc\x9c\x28\x5c\x5b\xb8\x67\xf4\x72\xb0\xe0\xa8\x14\xf6\x94\x20\xde\xc8\xb6\x71\x3b\x83\x91\x33\x50\x90\xcd\xa6\xb7\x39\xc2\xd2\x82\x56\x91\x65\x84\x4d\x97\xbb\x37\x54\xcf\xe7\xb9\x6f\x73\x77\xec\x3d\xc0\xb7\x40\xad\x1d\x53\x52\x48\xc0\x92\x63\x35\xda\x53\x09\x9c\xd2\x4e\xfe\xb4\x6f\xb8\xb4\x2b\x2b\xf4\x1d\xe0\xe0\x64\xaa\xf3\x06\x49\x77\x90\x04\x4f\x9a\x3d\xd9\x59\x6f\x7f\x44\xef\x1b\xae\x75\x8f\x93\x7c\xff\xab\xe3\x0d\x45\xe2\xe3\x63\x4d\x13\x3b\xf7\x38\xbe\x1f\x35\xb4\xa3\xb5\xf0\x1a\xc8\x39\xe0\x62\x81\x99\xe1\x6b\x2c\xb6\x76\xe3\xe0\x49\xf1\xfe\x5d\x1f\xa2\x0d\x7e\x94\x06\x67\x6e\xd0\xe6\xea\xaf\xe8\x8d\x1d\x56\x1b\x59\x32\xc3\x29\x34\x6c\x41\xd7\x73\xfb\x02\x05\xe6\xcd\xd4\x35\xe1\x14\x87\x9c\xf4\xed\x12\x2b\x76\x9d\x19\xa9\xfe\xb2\x39\x57\x34\x0e\xae\x55\x7f\xd3\xb8\x1b\x21\x68\xa1\x8f\x10\xff\xef\xe1\x16\x51\xb1\x80\xb1\xe1\x59\x56\xff\x68\xa9\xe3\x3e\x9d\x17\xa2\x76\x7d\x21\xc2\xaa\xf5\x86\xf8\x08\x16\xf4\x69\x10\xf8\xec\xea\x2a\x1e\x71\xd9\x15\xdd\x4b\x3e\xbc\x80\x4b\x5f\x78\xef\x5e\x9a\x7b\x48\xdb\x3b\x39\x51\x56\xf6\x5b\x42\x18\x6e\x3e\x29\xed\x6e\x5b\x60\x80\x3c\x2c\x4c\xc9\xbb\x6f\x2b\x0e\x49\x6d\xd7\xc5\x6e\x05\xae\x0e\x89\x10\x6a\x2f\x3e\xdd\xbc\x19\x65\x33\x7b\x57\x61\x6b\xa4\x6b\x0f\x17\xe1\x52\xd2\xa2\x39\x81\x49\x7f\x10\xeb\x9a\x62\x92\x1e\xc6\x47\x90\x29\xed\x32\x7e\x7e\x61\x99\x45\x13\xcc\xae\x85\x26\x7d\xe7\x61\xe0\x74\x07\x19\xab\xd8\x9c\x17\x94\x91\x7d\x76\xb7\x17\xad\x3c\x7e\x7d\x04\xef\x2b\xa9\x31\x4e\xae\x76\xe1\x07\x7f\x55\xfa\xe0\x07\x65\x60\x56\x4a\xd6\x4b\xa7\x9d\x0f\xc1\x10\x1f\xc0\x56\x39\x0b\x96\x45\x4a\x48\xce\x51\x70\x71\xf7\xfc\x93\xe1\xd6\xc8\x6e\x6c\x3e\xd4\x24\x32\x4c\x2d\xd1\x0c\xe8\xa3\x59\xf9\x74\xc5\xd8\xd7\xc9\x86\xb4\xe3\xcd\xf9\x01\x16\x1c\x8b\x66\xaa\x0f\x1f\xa2\xb1\x44\xbf\xe6\x5e\x07\xc2\x46\x71\xfb\xf4\x76\x6c\x0f\xa8\x57\x91\x7b\xdb\x64\x8f\xd6\xa2\x8d\x65\x36\xc9\xb5\xd0\x4e\x6e\x9f\xe3\xfd\x48\xb6\xb4\x11\x92\xbb\x5e\x9b\x1a\xec\x0d\x05\x3e\x26\xe2\xd7\x2b\xf5\x4a\x6e\xa2\xfa\xba\x79\x8f\x6f\xc3\x34\xf0\xf6\xb5\xe1\x86\x4b\x14\x3b\xf7\xbc\x55\xdc\xef\x8e\x0f\x67\x0f\x67\xff\x0b\x00\x00\xff\xff\x29\x0b\xe9\x61\xfc\x2e\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x6d\x6f\x1b\x37\xf2\x7f\xef\x4f\x31\x7f\xfd\x81\x9e\x84\xda\xb2\xfb\x94\x6b\x85\xa4\x89\xd3\xc6\xb8\x03\xda\x22\x68\xdd\xf6\x45\x51\x24\xd4\xee\x48\xe2\x79\x97\xdc\x92\x5c\xc9\x6a\x90\xef\x7e\x18\x3e\xec\x92\xfb\x20\xc9\x4e\x4e\x6f\x6c\x69\x39\x0f\x9c\xf9\xcd\x0c\x39\xb3\xbc\xac\xa4\x32\x70\x53\x8b\x35\x5f\x16\x78\x2b\xef\x50\xc0\x4a\xc9\x12\x26\xc9\x6f\x93\x33\xbf\xf2\x47\x34\x2c\x67\x86\xfd\xc6\x71\xa7\xfd\xca\xe4\xb7\x66\x65\x42\x3f\x44\x36\xbe\x60\x72\x76\xc6\xb2\x0c\xb5\x9e\xb2\xa2\x98\x41\x26\x85\x51\x2c\x33\xf0\xea\x9e\x95\x95\x27\x58\x74\x94\x7e\x77\x76\x06\x00\x70\x79\x79\x09\xb7\xd2\xb0\x02\x74\x5d\x55\xc5\x1e\xe4\x2a\x21\xd3\xc0\x05\xe0\x3d\xd7\x06\x45\x86\x96\x24\x16\xb5\x65\x0a\x0c\x91\xff\x62\xa9\x17\xf0\xeb\x0d\xbf\x7f\xf2\xa5\x5d\xd7\xf0\xff\xc5\x48\xc5\xd6\x08\x4c\xe4\xf0\xba\x5e\x16\x3c\x83\xd7\xcc\x6c\x74\x8f\x5b\x81\x06\x7e\x63\x75\x61\x3c\x05\xad\x5a\x40\xf4\x65\x9c\xc2\xf1\x75\x04\xed\xff\x83\xeb\x7f\xc6\x0c\xf9\x16\xd5\x03\x48\xae\xf3\x92\x8b\x51\xa5\x5a\x43\x6e\x10\x70\x8b\xc2\x80\xd9\x30\x03\x5c\x03\x96\xdc\x18\xcc\x61\xb7\x41\x01\x66\x83\xad\x6f\xb8\x86\x4c\x21\x33\x98\xf7\x24\x3a\x16\xce\xfc\xff\x16\xdc\x70\x56\xf0\xbf\x31\x9f\x72\xf7\x7f\x6a\xea\xd9\xe9\xe2\x9d\x3f\x99\x42\xd8\x71\xb3\xc9\x15\xdb\x79\xec\x32\x67\xc3\x83\x8a\xfc\x1e\x48\xa6\xac\x94\xb5\x30\x41\xfe\xb9\x65\xb1\x80\xeb\x3c\x57\xa8\xf5\xf3\x47\xe9\x93\x63\x25\x35\xa7\x27\x46\x9e\xa4\xcd\xf7\x81\xa0\xa7\x8d\x91\x8f\xd1\x45\xe0\x2e\xd6\xa7\xe4\xe2\x98\x63\x7e\xb4\x4b\x3a\xe2\x1f\xb9\x79\x6d\x94\xdc\x1f\x91\xf7\xb2\x56\xe2\x03\xe4\x31\xbb\x45\xbb\x2f\x05\x0a\xb5\xac\x55\x86\xc7\x41\x68\x77\xa9\xbe\x73\x6b\xe8\x81\xdc\x61\x7e\xfd\x41\x3a\x2c\x69\x23\x0f\xd1\xc1\xee\xbc\xd1\x21\x12\xf7\x8a\x65\x1b\xa8\x35\x2a\xd0\x46\x2a\xd4\xc0\x04\x70\xa1\x0d\x13\x19\x52\x1e\x93\xa2\xd8\xdb\xa0\xb3\x78\xa2\x44\x66\x36\xc8\xdd\x6a\xb6\xc6\x44\xed\x55\x2d\x32\xc3\xa5\xcb\x77\x2d\x0d\xa5\xac\xb5\xdc\x22\xd9\x1e\x96\x8e\x5b\xa5\x5c\x2a\xab\xa4\x36\x14\xcf\x39\xb7\x84\x0d\x3b\x2e\x3a\xa9\x36\x04\xff\xde\xba\x3b\x63\x45\x81\xf9\x3c\x91\x9e\x6d\x30\xbb\xd3\xb0\x61\x55\x45\x76\x32\xa0\x6a\x61\x78\x89\x96\x14\xb7\xa8\x80\x35\x1a\x5a\x83\xa5\x3c\x1a\x5e\x3f\x7b\xa3\xd2\x0a\xe1\xf6\xbf\xc4\x60\xde\xb0\x33\x4a\x41\x78\x6f\xc8\x42\x49\x46\xb2\x3e\x23\x35\x1b\x76\x0e\x9d\x2b\x2e\x2c\xf1\x39\x68\x49\xcf\x95\xf5\x99\x90\xb0\x63\x7b\x58\x49\xd2\xad\x64\x05\xcf\xb8\xac\xb5\x73\x87\x91\x5e\xa6\xb3\x62\x6b\x1a\x59\x7b\xb1\x5c\x00\xe3\x6a\x0e\xd7\xa0\x2b\xcc\x38\x2b\x3c\xd2\x5a\x58\x08\xc4\x5c\x13\xa7\x65\xab\x83\x91\x16\xc1\x0d\xbb\x36\x6a\x53\x53\xc4\x18\x6a\x18\x5a\x55\x3a\x55\x70\xfe\x5a\xc9\x2d\xcf\x51\x9d\x77\x7e\x0f\x35\xa2\xfb\xfb\x4b\x56\x10\xba\xce\xd3\xba\x3e\x27\xbb\x17\xe4\x26\x5f\x55\x63\xdf\xda\xf2\x08\x4b\x47\xe8\x77\xaf\x61\xdb\xa4\xb8\xa1\x92\xea\x57\x37\xe5\x34\x61\xda\x96\x04\xeb\xbf\xc0\x99\x50\x13\xf6\x6a\xad\x4f\x58\x21\x10\x35\xc4\x54\x3f\xa6\x1d\xd6\x33\x78\xd7\x3c\xa7\x8f\xc6\x62\x35\x0f\x2c\x9f\x05\xe6\xcd\x92\xf7\xa9\x2a\x37\x01\x93\x0e\x3b\xec\xce\x05\xa1\x4b\x52\xc0\xdc\x17\xb5\xae\x4b\x14\x26\x21\xa4\xf8\x09\x45\x48\x3b\x6a\x4f\x64\x0b\x52\x13\x80\xf3\x74\xe7\xc6\xe3\x4a\xfb\x5c\x62\x90\xce\x4e\x4c\xed\x7d\xb8\x86\xb4\x53\x6b\x87\x96\x8d\x2c\xf2\x84\x03\x31\x2e\xa5\xc0\x7d\xb3\x74\x89\x5c\xac\xc1\x28\x26\xf4\x0a\x95\xc2\x7c\x4e\x62\x14\x9a\x5a\x09\x6d\xd7\x0b\xdc\x15\xfb\x84\x4b\x08\x28\x2f\x54\x26\x61\x65\x19\xbb\x00\xa5\x80\xe1\xc6\xc6\xe2\x32\x2a\x72\x09\x2f\x2c\x34\xee\x28\xa8\x92\xad\x26\x4b\x5e\x54\x4c\xb1\x12\x42\xea\x27\x50\x79\x63\x11\x9a\x5c\x21\x71\x81\xd2\xa9\xeb\xa4\x56\x0a\x34\xcb\xce\x6d\xce\xf2\x71\x3b\x68\x71\x23\x85\x61\x5c\x58\x8b\x6c\x12\x76\xb5\xc8\xf5\xa0\x82\x1e\xba\x69\x98\x84\xc3\x02\x5b\x16\x38\x23\xe2\x86\x55\xb7\x80\x2d\xe0\x45\x4a\xea\x34\x3a\x08\xca\xe4\xeb\x85\xb7\x45\x42\x40\x65\x67\xf4\xdc\xe2\xfe\x86\x73\x8b\x65\x26\x77\x02\xd5\xf3\x39\x73\xe7\x86\x59\xc2\xcb\x5b\xeb\xe9\x45\x9c\xd2\xda\x30\x72\xdc\x66\x0f\x8a\x10\x6f\x76\xb9\xfc\x0f\x66\xdd\x30\xb1\xa1\xc1\xf2\xd4\xda\xc0\x8d\x6e\x02\xdd\xe3\x2d\xc9\x28\x08\x76\x0b\x7a\x24\x6a\xb8\x06\x5f\xbb\x89\xda\x1f\x38\x2c\x99\x26\x91\x4e\x9d\x25\x66\xac\xd6\xd8\x06\x5f\xc2\x65\x47\x6a\x46\x01\x47\xa1\x85\x2a\x48\xf7\x59\xb8\xc5\xd4\x3f\x5a\x7d\x37\x2c\xdd\xcb\x12\x51\x10\xd2\x74\x5d\x62\x6e\xb7\x6b\x8b\xca\x4a\xda\xe2\xe8\x43\xc5\x1f\x89\x8e\x06\x85\x73\xe2\x71\x28\x5b\x00\x3b\x27\xec\x78\x51\x8c\xc6\xe3\x60\x4a\x26\x00\xfb\xd5\x53\x27\x70\x08\xb4\xdd\x54\x4a\x17\x07\x1b\x7d\xf0\xf4\xc2\x9f\xb3\xf5\xff\xc1\x8b\xf8\x76\x35\x4f\xed\x7c\x0c\xeb\x9f\x3a\x7e\xf3\x6e\x56\xee\x40\xbe\x7f\x38\x4e\xc8\xdc\x19\xf9\x28\xee\x13\x1a\x78\x06\x57\xf3\xab\xe4\x79\x40\x51\x9a\x60\x22\xf8\xfb\x05\xd3\xae\x5d\xf8\x2a\xdd\xd5\xb7\xc4\xba\xb3\x86\x3e\x89\xa1\xa2\x4b\x26\x3c\x1b\x7f\x74\x91\xb0\x4e\x58\xbe\x1f\x0b\x51\x02\x0f\x1d\x65\xe4\x0a\xd6\x68\x0c\x21\x86\x15\x85\x45\x4d\xa8\xf2\xe0\xee\xe1\x9c\x84\x52\x90\xba\xc3\x60\xac\xc5\x38\x4e\x7d\xfe\xb8\xa6\x10\x57\x4e\xcc\xed\xbe\x42\xed\x4e\x35\x01\x9f\x31\xeb\xad\x3d\x53\xc0\xad\x3b\x27\x14\x35\x36\x90\xb5\x75\x6d\x99\x16\xa3\xd6\xdc\x5b\x2c\x64\x45\x49\xc0\x48\xb8\x13\x72\x07\xbb\x0d\xcf\x36\x60\x03\x05\x8d\x3b\x97\x55\x4c\xeb\x90\x41\x94\x3b\xb5\xd0\xde\xa6\x33\x28\xd1\x6c\xe4\x48\xc0\x25\xe7\x13\x8e\x3b\x1b\x11\x6b\x34\xd6\x2c\xd3\xd9\x02\xfe\xa0\x2d\xfd\xf9\x6e\x28\x71\xda\x47\x4f\xc7\x9b\x17\xf3\x9b\x5b\xfa\xfb\xed\x74\x76\xde\x83\x00\x7d\x8e\x93\x7f\xcf\x75\x55\xb0\xfd\x07\x70\xb0\x61\xf8\x3d\x33\xec\xd1\x3c\x6e\x5b\x10\x7e\x3b\x9d\xfd\xf9\x10\xac\xa5\x28\x6b\xcf\xc8\x78\x22\xc0\x5c\x22\x24\xb7\xb8\x44\x48\xaa\x06\x0e\x39\x6a\xae\x3c\xa4\xe6\xc3\xb8\x04\x6d\x54\x9d\x99\x5a\x11\x20\x2a\x85\x54\x11\x02\x2a\x15\xfe\x55\xa3\x36\x43\x0c\x46\x13\x65\x8c\xaa\x37\x41\xad\x7d\x85\xb3\x05\x5c\x8b\xfd\x2f\x56\xd8\xf3\x6e\x81\xdf\x71\x93\x6d\x1c\xb4\xfa\x89\x20\x63\x1a\x4f\x71\xa2\x43\xd1\x62\xd0\x7f\x7e\xb7\x47\x19\x4c\x07\xa9\xe9\xb3\x32\x1e\x67\x3e\x77\xc6\xfb\x7c\x08\x46\x67\xb6\x0c\x9c\xb2\xf8\xf9\x30\x14\x9d\x32\x0d\x64\x1f\xa5\x4e\x0c\xf8\x13\x14\x6a\x96\x3f\x1f\xd4\x68\xf6\x58\x97\xb5\x56\x19\xf6\x1a\x95\xd0\x12\x73\xce\xe0\x59\xe7\xc6\xf5\x23\xfd\x7a\xc0\x59\xbc\xc0\x45\x87\xe4\x5f\xb7\xb7\xaf\x6f\x78\x81\xe3\x54\xf4\xa9\x55\xb1\x80\xc9\xc6\x98\x4a\x2f\x2e\x2f\x99\xd6\x68\xf4\x7c\x87\x4b\x2a\xa8\x17\xc4\x56\xcf\x33\x59\x5e\x7e\xb5\x7a\xf2\xf9\x37\x5f\x66\x57\xd9\x3f\xd9\xd7\x59\x9e\x3f\xf9\xf2\x8b\xe5\x67\xd9\xd7\x9f\x5f\x75\x1e\xb0\xaf\xbe\xca\x96\x9f\x65\xdf\x7c\xf1\xe4\xcd\x4d\x21\x77\x6f\x7e\x97\x2a\x2f\x99\xba\x9b\xeb\xed\x7a\x32\xaa\xc7\x48\x0e\xa2\x8f\xb5\x06\x19\x76\x01\x13\x5e\xb2\x35\x5e\xea\xed\xfa\xd3\xfb\xb2\x18\xe6\xd6\xf7\x4c\x62\x56\x3d\x6c\x57\x3d\xfd\xc3\x3e\xfe\x73\x98\xfc\x94\x58\xf2\x9e\x1d\xb7\xb5\x60\x25\xed\xc1\xa7\xb8\x86\x99\x3b\xc2\x4c\xc6\x0d\xa0\xf7\xe5\x52\x92\x8b\x5e\xdd\xdc\x1e\x58\x96\xa3\xce\x14\xaf\xe8\xe8\xbd\x80\x89\x2d\xa5\xab\x20\xc2\x1e\x56\x9b\x6b\xa2\x3b\x7e\xa3\xd7\x83\x2e\x8d\x58\x54\xb0\x97\x75\xa8\xa8\xf4\xbf\x02\x41\x77\xbb\x9b\x5b\xf8\x7f\x29\xc8\x93\xf3\x03\xb2\xf1\xde\xa0\x12\xac\xf8\xf5\xe7\x1f\xba\x18\x7c\xd5\x3e\x9a\x36\x20\xf3\xb2\x2f\x56\x66\x2e\xc5\x8a\x98\x4b\xb5\x9e\x1c\x00\x41\x21\xd7\x52\x2f\xbc\x0b\x0f\x98\x4a\x66\x9c\x15\x7a\x31\x90\x52\xe3\xcf\xc4\xec\xb8\x31\xa8\x26\x27\x29\xeb\x17\xdb\x20\x20\x5d\xdf\x2c\x0b\x99\xdd\x65\x1b\xc6\xc5\x64\x18\x2e\x90\x1c\xbe\xe2\xcf\xa3\xf3\x46\x9c\xbe\x3e\x20\xdf\x07\x2e\xe3\x28\xd5\x71\xcf\xbf\x7f\x72\x8f\xa6\x00\xe3\x6e\x50\x61\xde\xd0\x67\xd2\x1f\x45\x1c\x8a\x7c\xa7\xfd\x98\x2e\xa7\xf0\xa8\x7c\xbb\xcb\xf1\xb8\xac\x14\xdf\x32\x83\x01\x80\x96\x99\xe5\x75\x7c\x33\x3f\x70\x71\x87\xb9\x4b\x44\xd6\x5f\x9f\xf4\x35\x7a\x37\xdc\x53\x7b\x3f\x7a\xc8\x8a\xb7\xf9\x08\x01\x47\x9a\x73\x87\xe5\x06\xd3\x3c\x42\x6e\x68\x22\x1e\x16\xe0\xda\x07\xaf\xca\xca\xec\x2d\x93\xd0\x19\x58\xc0\x74\x55\x0b\x3a\x44\x0f\x5c\x0d\x8f\x84\x6e\xd3\x9b\x48\x28\xbb\x92\xa6\x07\xe2\x72\xf8\xd1\x23\x03\x33\x3d\x04\x3f\x36\x30\x23\x2e\xd3\x64\xb6\x38\x76\xeb\x9b\x8d\xdc\xf3\x22\x71\x82\x17\x67\xe9\x82\xf7\xed\x1c\x21\xed\xd1\xa4\x1d\x46\xe7\x85\x1d\x37\x1b\x60\x71\xcb\xe5\x6f\x54\xb2\xed\x93\x8b\xbc\xe9\x18\xf2\xb6\x21\xc8\x8a\x82\x0e\xd2\xbe\x31\x38\x87\x6b\xd7\x1d\x2f\x6b\xed\x1a\x84\xae\x13\x1c\xfa\xfa\x09\x37\x3b\xd0\xf0\x47\x70\x63\x27\x3f\x23\x43\x0c\xfa\x41\xaa\xdc\x5d\xee\x6c\x8f\xc7\x3d\x6f\xb9\x65\x99\x6d\x15\xba\x06\x21\x73\xf5\x2f\x84\x71\xe8\x6a\xe8\xa6\x2f\xed\x6a\xa3\xd9\x57\xd8\x9f\x2e\xc4\x8d\xc3\xd6\x36\xa1\xe3\x32\xda\x81\xa7\x4b\x41\x1f\x92\x0b\x78\xd1\x45\xf8\x91\x4e\xdb\xd5\xfc\x6a\x16\xbb\x6e\xb0\xcb\x6f\x27\xb5\x5c\x1b\xc5\x8c\xec\xb5\xe3\x47\x1c\x1d\x79\x6f\x70\x4c\x76\xb4\x31\x9b\x8e\xc5\xc8\x3c\x25\xbb\xe7\x65\x5d\xc2\x5f\x35\x13\x86\x9b\x7d\xdc\xa9\xf5\x63\x96\x20\x25\x93\x75\x91\x7b\x65\x46\xfb\xb4\xdd\xe9\x88\x6b\x64\x59\x4a\xef\x74\x37\x1a\xf1\x42\x4e\xba\xa8\x39\x91\x3f\xe1\xce\x31\x1f\x99\xee\x2d\xe0\x85\x17\xfe\xae\xdf\x6f\x3a\x38\x1e\x4c\xbe\x1e\xee\xa9\x0e\x6b\x30\xc2\xe0\x60\x87\x75\xdc\xa9\x9d\xb9\xe3\xd1\x86\x0d\x99\xfd\xe5\x09\x34\xa3\x66\x75\xc4\x16\xe9\x9e\xcf\x80\x05\xbb\xc3\xcd\x43\x56\x0a\x0c\xc7\x33\x59\x98\xff\x85\xd6\xb2\xc3\x9a\x0d\x69\x46\x81\x11\xb2\x81\x9b\x0f\x6e\x64\xd1\xcc\xd4\x1e\x36\x4b\x6b\x10\xd1\x6b\x6e\xf4\x07\x13\x1d\xb8\xa7\xad\xe8\x66\x9c\xd7\x15\xb5\x65\xaa\x1b\x57\x43\xb3\xb0\xd4\xf9\xc4\x4d\x47\x3b\x39\xb7\x8d\x74\x92\x5e\x86\xa4\x6c\xa2\x77\x5d\xce\x13\x56\x31\x62\x62\x8a\x6e\x1a\x7f\xc8\x98\x66\x28\xfc\x3b\x9b\x7e\xd8\x44\xc6\xbd\x98\xf0\x90\x28\x27\x0a\xd7\x16\x1e\x18\xbd\x1c\x3d\x70\x54\x0a\x07\x8e\x20\xde\xc9\xb6\x71\xbb\x80\x89\x73\x50\xd0\xcd\x96\xb7\x25\xc2\xda\x82\x56\x91\x67\x84\x2d\x97\xfd\x1b\xaa\xe7\xf3\xd4\xb7\xb9\x3b\xfe\x1e\xe1\x5b\xa0\xd6\x8e\x29\x19\x24\x60\xc9\xb1\x9a\x1c\x38\x09\x3c\xa6\x9d\xfc\xe9\xd0\x70\xa9\xaf\x2b\x0c\x6d\xe0\xe8\x64\xaa\xf3\x06\x49\x77\x90\x04\x1f\x34\x7b\xb2\xb3\xde\xe1\x8c\x3e\x34\x5c\xeb\x6e\x27\xf9\xfe\xb1\xf3\x0d\x65\xe2\xd3\x73\x4d\x93\x3b\x0f\x04\xbe\x1f\x35\xb4\xa3\xb5\xf0\x1a\xc8\x39\xe0\x6a\x85\x99\xe1\x5b\x2c\xf6\x56\x70\x88\xa4\x58\x7e\x37\x86\x48\xc0\x4f\xd2\xe0\xc2\x0d\xda\xdc\xf9\x2b\x7a\x63\x87\xd5\x46\x96\xcc\x70\x4a\x0d\x7b\xd0\xf5\xd2\xbe\x40\x81\x79\x33\x75\x4d\x38\xc5\x29\x27\x7d\xbb\xc4\xaa\x5d\x67\x46\xaa\x8f\x36\xe7\x8a\xc6\xc1\xb5\x1a\x6e\x1a\x77\x33\x04\x2d\xf4\x19\xe2\x7f\x3d\xdc\x22\x2a\x16\x30\x36\x3e\xcb\x1a\x1e\x2d\x75\xc2\xa7\xf3\x42\x54\x3f\x16\x22\xac\xda\x68\x88\xb7\x60\x41\x9f\x26\x81\xcf\xae\xae\xe2\x11\x97\x5d\xd1\xbd\xe4\xc3\x33\xb8\xf4\x07\xef\xfe\xa5\x79\x80\xb4\xbd\x93\x13\x65\x65\xbf\x25\x84\xe1\xe6\x93\xd2\xf6\xdb\x02\x23\xe4\x61\x61\x4a\xde\x7d\x5b\x71\x4c\x6b\xbb\x2e\x0e\x2b\x70\xe7\x90\x08\xa1\xf6\xe2\xd3\xad\x9b\x51\x35\xb3\x77\x15\xb6\x45\xba\xf6\x70\x11\x2e\x25\x2d\x9a\x13\x98\x0c\x27\xb1\xae\x2b\x66\xe9\x66\x7c\x06\x99\x07\xd6\x24\x6d\xfa\xf4\xc2\x32\x8d\x26\x99\x5d\x4f\xcd\x86\xf6\xc5\xc0\xd9\x10\x32\x56\xb1\x25\x2f\xa8\x32\xfb\x2a\x6f\x2f\x5c\x79\xfc\x1a\x09\xde\x57\x52\x63\x5c\x64\xed\xc2\xb7\xfe\xca\xf4\xd6\x0f\xcc\xc0\x6c\x94\xac\xd7\xce\x4a\x6f\x83\x43\xde\x82\x3d\xed\xac\x58\xd6\x31\x46\xe8\x9f\x7c\xc7\xaa\xa6\x6a\xf8\x1d\x36\x4a\x71\xd4\xcd\x76\xb9\xd6\x35\x3e\xfd\x64\xbc\x95\x32\xb2\xfb\x41\x1b\x26\x12\xac\x29\xf4\x66\x1a\x69\x74\x0e\xcc\x2c\xc6\x20\xf8\xe1\x16\xb5\xef\xa3\x8d\x99\xd5\xe3\xe1\x2d\xac\x38\x16\xcd\x6b\x01\xf0\x36\x9a\x6b\x0c\x9b\xfc\x65\x20\x6c\x2c\xde\x47\xdf\x03\xad\xdd\xcf\x62\x1f\xc1\xce\x41\x91\xc8\xc8\x9d\x1c\x11\x59\xd8\x26\x4a\x5b\x41\xdb\xb8\x49\xae\xb6\xd3\xd3\xc2\xc4\xf2\x88\xc2\xa4\x9b\x1a\x52\xa7\xbe\xa2\xec\xca\x44\xfc\x0e\xa7\xde\xc8\x5d\x74\x88\x6f\x5e\x16\xdc\x31\x0d\xbc\x7d\x37\xf9\x6c\x20\x41\x1f\x78\x75\x79\x38\xe6\xdf\x9f\xbd\x3f\xfb\x6f\x00\x00\x00\xff\xff\x22\x1d\x1a\xd3\x61\x2f\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -117,7 +117,7 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0xec, 0xf9, 0x91, 0xa7, 0xf7, 0xce, 0x55, 0xdf, 0x68, 0xc3, 0x8c, 0x14, 0xd5, 0x80, 0x90, 0x67, 0xba, 0x37, 0x6c, 0xa1, 0x3d, 0x1e, 0x5f, 0x39, 0x22, 0x27, 0x2d, 0x6a, 0x34, 0xa5, 0xd6}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf1, 0xd1, 0xf6, 0xde, 0xfb, 0x6a, 0xd3, 0x55, 0xee, 0x9, 0xc, 0x44, 0xa3, 0xcc, 0xfe, 0xab, 0x3b, 0x2f, 0x64, 0x25, 0xc3, 0x73, 0x26, 0x68, 0x12, 0x6f, 0xb3, 0xab, 0xae, 0x60, 0xf5, 0xe1}}
 	return a, nil
 }
 
@@ -181,7 +181,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\x5f\x73\xe3\x36\x0e\x7f\xcf\xa7\x40\xf3\x70\xeb\xcc\xa4\x76\x1f\x6e\xee\x21\xd3\x74\xff\xde\x76\xfa\xd2\xeb\x6c\xd3\xdb\x87\x9d\x9d\x09\x2d\x41\x31\x2f\x32\xa9\x21\x29\x7b\xdd\x9d\x7c\xf7\x1b\x90\x94\x44\x4a\x94\x2c\x67\x73\xfd\x73\x53\x3d\xec\xc6\xb6\x08\x02\x20\x80\x1f\x40\x50\xe2\xdb\x4a\x2a\x03\x6f\x6b\x71\xc7\xd7\x25\xde\xc8\x7b\x14\x50\x28\xb9\x85\xf3\xe8\xbb\xf3\xb3\xb3\xd5\x6a\x05\x37\x1b\x84\x4c\x0a\xa3\x58\x66\xc0\x6c\x98\x01\x56\x96\x72\xaf\x81\x09\x60\x59\x26\x6b\x61\xc0\x48\x50\x98\x21\xdf\x21\x54\xec\xb0\x45\x61\x34\x70\x01\xdb\xba\x34\xbc\x2a\x11\x0a\x4f\xd7\x12\x34\x44\x5c\x43\xad\xb9\xb8\x03\x06\xf4\x5f\x89\x70\xfb\x39\x9a\x7c\xf9\xce\xd1\x53\x0f\xb7\x90\xb1\x8a\xad\x79\xc9\xcd\x61\xe9\x39\xe2\x3a\xf8\x12\xf4\x46\xd6\x65\x0e\x3c\x47\x56\x96\x07\x58\x23\x68\x23\x15\xe6\xc0\x88\x61\x04\x3b\xe8\x36\x22\xff\xf3\x9e\x9b\x6c\xb3\x96\x4c\xe5\xed\x4c\x3f\xd5\xeb\x92\x67\x3f\x31\xb3\x81\x6b\x58\x55\xf6\xd3\xea\x7b\x14\xa8\x78\xf6\xf6\xa6\xb9\xeb\xd6\x52\x5b\xd7\x06\xb8\x81\x8c\x89\x70\x3a\x71\xd8\x6f\x50\xa1\xe3\xf2\x8c\x65\x19\x6a\xbd\x60\x65\x79\xd1\x29\x70\x8c\x0b\xf8\x7c\x06\x70\x06\x00\xb0\x5a\xc1\xcf\x46\x2a\x76\x87\xc0\x44\x0e\x8e\x2b\x20\xb6\xb4\xfd\x3d\x24\x5b\xa2\x69\x6e\xa6\x1b\xae\xc2\x0f\xc9\x9b\x3b\x19\xaf\x82\xbf\x93\xb7\x0e\xd5\x12\x0d\xf1\xbc\x3a\xfb\xc0\x1d\x0a\x6f\x1c\x5c\x03\x6e\xb9\x31\x98\xc3\x7e\x83\x02\x18\x08\xdc\xc3\x8e\xd5\xa5\x09\xd7\x8c\x6b\x60\x79\x8e\x39\x99\x0e\x6b\x69\xe9\x40\x21\x0a\xb5\xac\x55\x86\xcb\xf6\xd7\x01\x9b\x6e\xda\x7f\x13\xed\xd7\x2d\xe9\x97\x44\x76\x61\x0e\x15\x5e\xc1\xcd\xa1\xc2\xcb\x90\xea\xbf\xf6\x02\xd5\x15\xbc\xcc\x73\x85\x5a\x3f\xbf\x74\x34\x8f\x5d\x1d\xdf\xbd\xf1\x17\x27\xa8\x21\xa5\x02\x85\x5b\xb9\xc3\xdc\x79\x1f\x83\x27\xd5\xc3\x3b\x47\x3b\xd2\xc4\x97\xab\xe2\xc9\xd4\x91\x63\x25\xb5\x77\x21\x21\x0d\xb9\x51\x26\xb7\x55\x89\x06\xf3\xa3\xa2\xfe\x28\xcd\xeb\xe6\xe6\x37\x8e\x50\x24\x27\xdb\x52\x58\xba\x82\x5f\xde\xf2\x4f\xff\xf8\xfb\x4c\xd1\xc6\x75\xd3\x93\x8b\x0b\x83\xaa\x60\x19\x3a\xd9\x50\x14\x52\x65\xa8\x6d\xac\xd9\xa2\xd9\x48\x67\xd5\x14\x25\x29\x26\x48\x81\xf4\x39\xdb\x60\x76\x0f\x52\xd0\x6d\x2d\x39\xb6\x63\xbc\x64\xeb\x12\x3b\xa5\x72\xd4\x20\x0b\x0a\x8c\x09\x23\xb0\x21\x81\x95\x5a\x02\x7e\xaa\xa4\xf6\x93\xb6\xe4\x1a\xa5\x3a\x2e\x34\x4d\xdb\x7c\x55\xd4\x22\xd7\x34\x3d\x37\x13\xea\x6d\xe7\xe9\x64\x0c\x82\x94\x8f\x45\x9f\x5b\x75\x86\x43\x8b\x5a\xc0\x1d\x1a\x6b\x85\xb4\x0a\x7a\x71\x71\x05\x1f\xe8\xaf\x8f\xc9\xfb\x77\x1c\xf7\xc3\x41\xef\xb9\xd9\x78\xb5\xd3\xf8\xcf\x37\x76\x55\xfd\x37\x0f\x47\x09\xfd\x5c\x57\x04\x6e\x98\xc7\x6c\x78\x32\xaf\xa4\x2c\xd3\x34\x68\xb8\xd7\xd4\x82\x9c\xf1\x0a\x5e\xf4\xf0\xc8\x12\x7c\xb8\x18\x1d\xad\x59\x81\x6f\xe6\x50\x18\xfb\xe1\xf9\xb4\x70\xd6\x7c\x9a\x98\xfc\xea\x40\x02\x05\x26\x7f\xe1\x84\x9b\x26\x41\x2c\xbe\x92\x4a\xc9\x7d\x6a\xfc\xdf\xc6\x00\xd8\x31\xf6\x10\xfb\x40\x6b\x28\xd6\x05\x2c\x00\x7a\x07\xe8\x63\xbe\xc3\xfb\x26\x3f\x50\x9d\xb1\x86\x16\x7f\xe9\xdc\x85\x32\x02\x22\x22\xc9\xff\xac\x13\xe5\xb9\x35\x79\x17\x28\xe9\xb7\xad\x73\x81\xd6\xad\x06\xb6\xcf\xc4\xa1\x3f\x37\xdb\x4a\x4f\xb8\xf3\x37\x92\x5d\xcf\xf1\x84\xc0\xfe\xaf\x20\xad\xa2\xcb\x29\x27\x69\xd7\x84\xa6\x79\xc3\x33\xc3\xa5\x60\xea\x00\x1b\x59\xe6\x8d\xbc\x63\xba\x8a\x55\x14\x51\xe2\x22\xc7\x4f\x98\xc3\xfa\x90\xa2\xe0\xc0\x86\x64\x5c\x46\xa3\xfa\x06\xd2\xe4\x25\x17\xb0\x63\xaa\x9d\xf7\x75\x30\x6d\xeb\x3c\x1d\xb2\x7c\x3b\x6a\x2a\xdf\x79\x2b\x69\xa6\x7b\x99\xe7\xda\x67\x00\x47\x45\x3c\xd0\x6a\x92\x28\x61\xdc\x8b\xa8\xc5\x48\x38\x10\x89\x3e\xbc\xa8\x98\x62\xdb\x80\xe8\x95\xcb\x5f\xa3\x49\x5c\xe8\x04\x06\x19\x2a\xc3\xb8\xe8\xd2\xd3\x90\x54\xa8\xc8\x20\x88\xda\xf5\x03\xb3\x51\xb2\xbe\xdb\x4c\x65\xad\xe4\x18\x11\xc1\x3d\x2f\x4b\x82\xb9\x36\xef\xe9\x09\x3b\xbd\x52\x6d\xa0\x61\x79\xfe\x23\xee\x6d\xcc\x58\x84\x72\xce\x5a\x9f\x8b\x20\x78\xbb\x99\xc0\x45\x04\x60\xa0\xb0\x40\x85\x22\xc3\x86\x37\x27\x7b\x25\x09\x0b\x2c\xc3\xde\xd6\x02\x6d\xee\x11\xfa\xf4\xf6\xcc\x15\x04\x36\x26\x00\x17\x9a\xe7\xd8\x17\x35\x1a\x43\xc9\xa6\x9d\xea\x1d\x16\x70\x1d\x66\xfb\x6b\xcb\xda\xe2\x62\x1c\xbf\x9f\x3f\x87\x8a\x09\x9e\xc1\xe2\xfc\x35\x13\x36\x8f\x70\xe2\x44\xc2\x38\x41\x6c\x92\xd5\x51\x3f\xbf\xe8\x73\xfe\xda\x22\x34\x2f\x88\x5b\x62\x9d\x4c\xb7\x52\xb8\xe3\xb2\x8e\xea\x8d\x42\x2a\x30\x54\x83\x58\x13\xb9\xa4\x11\x42\x9a\x88\x1a\x2f\x60\xa1\xb1\x2c\x96\x29\x97\xfa\xd0\x48\xbb\xbc\x43\x8b\x51\x8b\x8b\x8f\x70\x7d\x0d\x82\x97\xfd\xf5\xf1\x9c\xd5\x1a\x83\x15\x09\x64\x3b\x54\x08\x4c\xc3\x3d\x3a\xae\x48\xe7\x4d\x4c\x49\xd1\x09\x84\xa0\x28\x6a\x36\x28\x06\xb7\x9d\xc8\x76\x40\x33\x35\x23\x65\x7d\x96\x9d\x30\x19\x14\x39\xcf\x98\xb1\x80\x41\xe5\xa4\x8d\x0f\x01\x6b\x1b\xa6\x61\x8d\x28\x92\x22\x58\xef\x19\xfc\x60\xa7\x99\x28\x04\x86\xac\x5f\xce\x4e\x77\x1b\xbd\x0c\xd2\x43\xab\x29\x0b\x55\xcf\x97\xcc\x65\x28\x27\x64\xd1\xed\x35\x48\xa7\x03\x0f\xf0\x64\x63\x53\x7d\x00\x2c\x35\xa6\x2d\xe5\x87\xc6\x7a\xf7\x4c\x03\x2b\x15\xb2\xfc\x40\x91\xae\x6f\xbd\x54\x1a\x3b\xeb\xb5\xfe\x33\x20\x65\xbf\x5d\x9c\xdf\xb4\x9e\xd0\x92\x72\x36\xc8\x6d\x1e\x1b\xe2\x5e\xcf\x2d\x7a\xee\xd5\xa5\x5d\x23\x10\x51\x6f\xd7\xa8\x28\xf1\x9d\x05\x16\x94\x24\xaf\x0f\x6e\x0f\x21\x8e\xda\x1b\x84\x8a\x6a\x65\xb0\xa5\x38\x7d\x3e\x00\x53\x4d\x8d\x1e\xc7\xd8\xc4\x95\x42\x13\x4b\xcf\x01\x49\x8f\x34\xb8\x5d\x82\x98\xaf\xb1\xd9\x3c\x35\xbf\xa4\x8e\x9e\xff\x40\x72\x77\x79\x8f\xff\x10\x12\x3d\x1d\x1b\xf4\xab\x03\xd5\xe9\x0b\xcf\xfc\x87\xae\x74\xff\x78\xd9\xf1\xe0\x13\xeb\x04\x2c\x7c\x8f\xce\x6f\x9b\x2d\x9e\xb9\x32\x0f\x42\xbb\x93\xe9\x9a\xb2\xf3\x97\x8e\xd6\x22\x69\xd5\xab\x15\xbc\x95\x0a\x90\x65\x1b\xab\xe6\x4b\x1a\xe1\x80\x83\x51\x8d\xdc\x8b\x5d\x1e\x5e\xcc\x00\x7f\xb8\x18\x42\xeb\x33\x3d\x62\x43\x79\x9b\x8f\x45\x64\xc8\x94\x89\x07\x32\x73\xb7\xe4\x43\x67\x23\xd9\x02\x9e\xae\x9d\xa0\x14\x60\x66\x21\xb1\x5d\x98\x8b\x94\x0b\x7f\x11\x20\x27\x63\xe6\x1e\x4f\x47\x65\x08\xe3\x89\x9f\x99\x62\x8a\xc3\x57\xcc\x41\xd7\xd6\xf8\x8a\xba\x2c\x0f\xcb\xe5\x72\x30\x98\x17\x73\x90\x7d\xa8\x57\x3f\xf1\x72\xb9\xa4\x65\x0e\xd1\x58\xc8\x24\x1c\xbb\x7c\xaa\x0d\x6b\x63\x04\x6d\x28\x49\xfe\x38\x0f\xac\xbf\x9a\x87\xd6\xc1\x8c\xbf\x3c\x05\x6a\x07\xf4\x26\x90\xb6\xb9\x4e\x15\x63\x0e\x4d\x02\x5d\x91\xcf\x47\xf2\x84\x0d\x26\x85\xe8\x70\x3e\x8d\xe9\xcd\xf5\x08\x6c\x9f\x46\xe1\xa7\x40\xf2\x01\x68\x27\x63\x5a\x73\x3d\x0c\xbe\x7d\x38\x0d\x1d\x9f\xb6\x80\x02\x5d\x61\xc6\x8b\x03\x19\xdd\x7e\xc3\xb3\x0d\xdc\x92\xe2\x6e\x09\x79\x6e\xd3\xbb\x13\xb7\xcd\x5e\x77\x44\xd0\xd7\x45\x2e\x18\x71\xb3\xb4\x26\xcf\x6d\xa0\xe1\x22\x2b\xeb\x9c\x42\x0d\x1c\x64\xad\x22\xa6\xce\xf7\x8a\x55\x15\xaa\xf3\x1e\x77\x4e\x22\x4d\xa1\x65\x43\x0e\xc2\xe0\xf6\x85\x65\xe2\xad\x54\x7b\xa6\xa8\x5c\x5e\xfa\x3f\x51\xdd\x2e\xe1\x07\xb7\x7d\x68\xf7\xc3\xd6\x71\xf5\x56\x6b\xc7\x94\xdc\xa1\xda\x2b\x6e\x9c\x27\x3a\xcf\x33\x86\x65\x1b\xbf\xf5\xdc\xd6\x80\x61\x51\xc3\xcd\x46\xd6\x26\x16\x75\xc3\x76\xd6\x47\x65\xb7\x17\xc1\x22\x00\x28\xb8\xd2\x26\xc2\xe9\xff\xcf\xca\x34\x25\x95\xdf\x48\x6a\x34\x2c\x8b\xbe\xb5\x7a\x65\x59\x0b\x8a\x8c\x66\xc0\x4b\xa7\x90\x4b\x50\x8c\x62\x3f\xdd\xe3\xb2\x4d\x6f\xa5\xb6\x90\x33\x76\x13\xaa\x09\xa9\x2d\x2a\xd1\x6f\x11\x3d\xcd\x78\x9e\x8a\x72\x73\xf3\xa8\xf7\xce\x54\x4f\x2f\xb5\x1f\x53\x0a\x8c\x5c\xc1\x3e\xdd\x30\x51\x0b\xab\xd6\x5e\x7b\x61\x2f\xd5\x7d\x98\x20\x5b\x51\xb5\x46\x15\xee\x1c\x2c\xed\xce\x22\x05\xcd\x2d\x6a\xcd\xee\xf0\x0a\xce\x5d\xaa\xab\x75\x9c\x76\x59\x08\x26\x44\x2f\x79\x3e\xac\x9e\x1b\xb4\xb3\x16\x60\xcd\x02\x0d\xaa\x10\xe7\x62\x06\xa3\xf1\xe3\xb8\x45\xe4\x26\x80\xea\x49\x4b\xcc\x64\x79\x79\x0c\x7e\xe8\xdf\x3f\x69\x31\x99\x02\x9b\x5f\x51\x49\x90\x0a\xb6\x94\x27\xce\xae\xc5\x7c\xcc\x88\x43\x66\xb2\x81\x31\x02\x3d\x7a\x0a\x7b\x74\x8f\x70\x2a\x90\xfc\x49\xd0\x47\x47\xf0\x33\x00\x1f\xd2\xe5\x5c\xf8\x21\xa4\x88\x06\x0e\x11\x28\x65\x21\xff\xfb\x0a\xd7\xca\xd9\xc1\x41\x5b\xdd\xf6\x31\x41\xc6\x8b\x28\x45\x57\xfc\xfd\x9e\x95\xb3\x8f\xf8\x93\x05\xb4\x17\xd1\xb5\xb7\x9e\x24\xd2\xff\x55\x92\x1f\x2f\xc9\xf9\xe5\xe9\x55\xf9\xf1\xa5\xf9\xab\x6e\x8f\xae\x61\xdd\xfe\xc5\xd6\x7d\x52\xe1\xff\x64\x55\xf3\xf1\x8a\x79\x3a\xeb\xd0\x1f\xf8\xc7\x19\x25\xf2\x13\x95\xc7\x27\x97\xc6\x73\xf2\x12\x12\x61\x22\x3a\x7d\x69\x16\x72\x5a\x11\xfc\xd8\x1a\xd8\x1d\x64\x21\x3c\x9e\x51\x02\xb7\xb5\x41\xca\x3f\x9e\xb2\x89\x38\xe0\xc6\xb7\x5c\x07\xb9\x40\x74\xc6\xe7\x71\x2d\x3f\x47\xe2\x8f\xdf\xf2\xf3\xa9\xc9\xe4\x1a\xc0\xac\x8e\xdf\x6f\xd3\xf0\x1b\x0d\x35\x12\x0a\xee\xfa\x63\xbd\x55\x77\x12\xce\x2b\x5d\x96\xee\xe6\xc5\x3d\x1e\x52\x9b\x54\x03\x6e\xfe\xf9\x94\x75\x8c\xb7\xba\xa3\x95\x4c\x7c\x4a\xec\xcf\xde\x26\xf3\xb7\x06\x91\x04\xfa\x5f\xd9\x03\x2c\xec\x3e\x15\x4f\x9c\x19\xd8\xe3\x26\xb2\x26\x9d\xbb\x5a\xc2\x26\x58\x4a\x56\xa8\xba\x01\x89\xfd\x98\x64\x34\x92\xaa\x49\x70\x09\xaa\xb8\x39\x1e\x75\xdc\xd9\x21\x8a\x37\x5d\x66\x9c\xe4\xf3\x48\x20\x7b\xd4\xe9\xa6\xf1\x9c\x33\x15\x62\xa5\x40\xdd\x3b\x6a\x3b\xe5\xf1\xad\x3c\x3d\x13\x3c\xc5\x16\xae\x27\x30\x9b\xf8\x0a\x37\xb7\x07\x64\x83\xd8\x11\xeb\xd7\xb7\x34\xdd\xf6\x46\x77\x44\xc8\xee\xa6\x71\x1d\x0a\x35\x8c\x21\x3e\x96\xc6\xdb\x51\xde\x6a\x72\xd4\x5c\x35\xf4\xa7\x22\xe0\xa3\x32\xac\x31\x7d\xce\x38\x36\xd1\x57\xc7\xeb\xe6\x10\xe6\x28\x30\xb4\x61\xb2\xa7\x81\x36\x62\xc4\xf6\xf5\xed\xd7\xf4\xff\xe8\x4e\xc3\x51\x07\x34\xca\xef\x2a\x58\x4f\x1c\x38\x62\x44\x6c\x4e\x56\x10\xfb\xa1\x2f\x46\xf3\xfe\x99\x2a\xb6\x93\xdc\x9e\xc9\xb2\x7a\xb9\xb7\x2e\x1b\xe6\xd1\x7d\x0b\x19\xaf\xb5\x53\x9e\xbd\x6b\x8e\x24\xc6\x3b\xa5\x96\x19\xd3\xa4\x0f\x14\xe5\x09\x4e\xb5\x2f\x8f\xd3\xdb\xed\x53\x61\x44\xa1\xa9\x95\x38\x25\x82\x5c\xb6\x5b\x0e\xcd\xd1\xd4\x40\xb5\xb9\x6e\x74\xd0\x6c\x35\x53\x35\xd1\x15\x11\x97\x60\x73\x71\x5e\x96\xf6\x90\x3b\xe3\x22\xd2\x70\x44\xce\x13\x1a\x18\x97\x40\xcc\x5b\x37\x24\xf2\xa4\xe5\x42\xd6\x62\x6e\x82\xf4\xe5\x87\x2f\x87\x91\xef\x46\x59\xc4\x6f\x2a\x5e\x8f\x00\x83\x53\xdc\x47\x93\x9d\xae\x18\x8b\xc2\x01\x19\x53\xa5\x50\x13\xd4\xbb\x43\xc1\x51\x62\xd8\x2b\xcc\x7c\x51\x36\xe6\xf2\xb3\xe3\xc7\x29\xf1\x33\x79\xbe\xe4\x3d\x82\x71\x8a\x19\x8f\x15\x41\xf6\x35\xb1\xe5\xdb\xe9\x66\x8f\x6e\x47\x6f\x9a\xe0\xbc\x5a\xf5\x31\xa1\xf4\x78\x20\x1d\x2d\x56\xdf\x77\x6e\xd1\x9a\x3c\x2d\xa7\xed\x3a\x0c\xc3\x7e\x73\x4d\x46\xcd\x25\x79\x63\xae\xd8\x7e\xd1\x1c\x63\x6f\x56\xe6\x15\x2b\x99\xc8\x28\x77\x1c\x26\xc8\x63\xc5\x94\x67\x94\x17\x5d\xab\x88\xf1\xd2\x37\xcc\xb5\xdc\x92\x3b\x32\x2d\x45\xdf\xdc\x06\x73\xc2\x77\xf0\xcd\xf2\x9b\x84\x2a\x6c\x5a\x39\x7e\x22\x3f\x36\xab\xee\x6c\xfe\x60\x82\xd3\x93\xc2\x59\xb9\xe6\x45\x3c\x66\x30\x87\x8f\x97\x4e\xf7\x13\x4a\xcc\x51\x1b\x25\xbd\xc3\x9f\x25\x28\x08\x5e\x8e\xe1\x9d\xed\xd1\xf8\x1c\xbe\x5f\x54\xf0\xa6\x13\x69\x01\x81\x6b\xd7\x5f\x39\xd6\x71\x9b\x03\x26\xfb\x78\x8b\xf8\x60\xe3\x6c\x03\x2c\xb6\xeb\x83\x13\xf3\x78\xa9\x18\xac\xa5\x2c\x91\x09\xd8\x32\xdb\x4d\x1a\xa4\x83\x52\x35\xcc\x33\xcf\x3c\x41\x42\x78\x22\xf2\xf1\x07\xda\x7b\xe6\xc6\x8b\xe3\x9d\x22\x7b\x32\x23\x61\xa6\x5e\x9e\x82\x95\x1a\x7b\xcb\x9c\x5a\xcd\x23\xf3\x7c\xd5\xb4\xcd\xc6\x96\xfc\x7b\x34\xda\xa3\x9d\xcf\x47\x98\xd6\xfc\x4e\x34\xab\x5d\x29\xb9\xe3\x1d\xea\x0d\x8f\x6a\xdb\xa7\xdc\x28\xe3\x40\x52\x1e\x53\x07\x58\x63\xc6\x6a\x8d\x2d\x5a\x73\x73\x49\x99\x91\xcf\x4a\x2a\xa9\xb5\x87\x78\x28\xa5\xbc\x87\x5a\xe4\xe8\x9a\x6e\x1b\x29\xdd\x31\x7a\x8d\x48\x3a\x64\x63\x0d\x51\xee\x1e\x3d\x11\x80\x9f\x2a\xcc\xec\x16\x80\x35\x2c\xbb\x9c\x4b\xc7\xd2\x06\xcb\x4a\xc3\x5d\xcd\x54\x0e\xec\x8e\x71\xa1\xa9\x4c\x2d\xb8\xe0\x06\xcb\x03\x64\x1b\xc6\x49\xc8\x5e\xe7\x84\x68\x48\xdb\xcd\xe5\xc2\xd9\x48\x34\xf1\x96\x95\x3c\xb3\x07\x7b\xee\xb9\x0d\xa1\x05\xd4\x55\xde\x15\xbe\x99\x7d\xc2\xaf\x52\xae\x34\x2e\xb9\xa6\x3c\x4e\x3b\x5f\x5c\x23\xd1\xdf\xb2\xdc\xf7\xe4\x99\xc2\xc6\x0c\x85\x2b\x4f\x0a\x25\x85\xd1\x47\xbb\xd8\xbf\x9d\x4f\x09\x90\x95\xdd\xe4\x2e\x47\xd3\xd5\x4c\x0a\x5d\x6f\x51\xb5\x1d\x8e\xb0\x85\xd5\x3c\x4e\xb4\xb2\x72\x32\xe3\x6b\x15\xe4\x0a\xe4\x5e\x4c\xfb\xdd\x63\x9f\x02\x19\xba\xe2\x57\xd6\x47\xc6\xfd\xd8\x24\x1a\xd6\x90\x8e\x97\x5f\xe0\x87\x83\x2d\xa3\x7e\x57\x93\x52\x38\xe3\x8a\x77\x7f\x44\x42\xc2\xbd\x90\x7b\xdf\x7f\xf4\x8f\xa3\x76\x67\x2e\x8e\x1f\x9f\x71\xa9\x5b\xc5\x94\x73\x66\xcf\xdd\x84\x7d\x05\x39\xf9\x3d\x1e\x74\x97\x1b\x75\xcd\x0e\x5a\x66\x5f\x4b\x47\x63\xe7\x3c\x17\xcb\x5b\x37\x71\x8d\x51\x2c\x0a\xcc\x0c\xdf\x91\x3f\x46\xc4\x9a\x26\x40\x9a\xd5\x99\x4f\x73\xf5\x56\x94\x12\xb0\x76\xc2\x9b\xb0\x2f\x06\xd7\xf0\xe1\xe3\xa0\x89\xd3\x7a\x19\xf0\x89\xd5\x5d\x5a\x3d\x0d\x6d\x67\x12\x01\x5a\xd2\x5d\x78\x1e\x49\xdd\x62\x86\x97\xac\xaa\x50\xe4\x8b\x76\xfc\x69\xe9\x95\x5f\xdd\x98\xe6\xef\x6e\x8e\xc0\x4a\x29\xee\x2c\x58\xb8\xae\xa1\x6f\x98\xda\xae\x61\xbc\x7f\x65\x63\x9a\x9f\xb8\x39\x0b\x94\xae\x35\x93\x66\xfd\x32\x34\xe3\x2d\xab\xaa\x26\x4b\x98\xb0\xdd\x98\x01\xb2\x06\x9f\xeb\xb7\xf1\xd0\x66\x71\xcf\x74\xcb\xf7\x51\x93\x7d\xcc\x03\x85\x47\x6d\x39\x18\x3e\x1c\x7c\x0d\x9f\x07\x89\x76\x7b\x1c\xc7\x76\x4d\xe3\xd3\x33\x25\xef\xed\x1d\xff\x61\xfc\xc1\x37\xb1\xdc\xd9\x84\x60\xbb\xa5\xb7\x08\x33\x7c\x29\x50\x58\x30\xff\x29\x7b\x5c\xf3\xe4\x19\xe3\xe8\x64\x47\x0d\x18\x3e\xc1\x67\x29\xda\x3a\x72\x2e\xcb\xf3\x47\x1a\xec\x71\x07\xdd\x3c\x84\xea\xba\x27\xf6\x39\x6f\xbf\xd3\x12\x91\x75\x0e\x3f\x38\xcc\xe2\x5e\x8c\x40\x44\x9f\xf9\x2f\x9f\xb5\x13\x1f\x77\xc6\x37\x11\xa2\xbc\xbd\xf1\x3c\x25\x0f\xe0\x2d\x8f\xfa\xd1\x8c\xe7\x69\xe1\x33\x0c\x7c\x48\x47\xc3\x74\x6f\xc0\xc0\x6d\xfe\x30\x6e\xd0\xe3\x3b\x36\x60\xa3\x6a\x7c\x8c\xb9\xf5\x88\x8e\x19\xd9\x3b\x6f\x4d\xfb\x0d\xda\x3c\xd9\x25\xdd\xd6\x0e\xee\xf8\xce\x1b\x97\x7d\x14\x27\xcb\xb0\x32\xdd\xa3\x9f\x4d\x54\xed\x99\x6c\xb0\xa1\x98\xb9\x57\x75\x60\xe5\x9e\x8e\xb5\x84\xfc\x4b\x33\xfe\x53\xeb\xc6\x90\xad\x80\x44\x34\xc7\x22\xda\xb9\x48\x1a\x07\xd7\x43\xdb\x38\x5a\xbf\x25\x6c\xa3\xd9\x92\x1a\x33\xb6\xd4\x36\x58\xe7\x60\xd7\x83\x25\x33\x89\x14\x25\xb5\x18\xf1\xba\xf9\x27\xaa\xa2\x22\x31\xdd\x91\xa6\x3a\x67\x60\x3f\xab\x15\xfc\x20\xb8\xe1\xac\xe4\xbf\xe2\xe0\x08\xd2\xd8\x91\x96\x51\x8b\x8d\x3d\xc4\x4f\x1e\x3c\x80\xfd\x36\x0a\x43\xfe\x75\x2c\x54\x13\x28\xa4\x5a\xc0\x75\x09\xd7\x25\x13\xf7\xd1\x9e\x22\xbc\x84\x5a\xa3\x82\x2d\xad\x79\xc6\xca\xb2\x25\x68\x83\x54\x1b\xdc\xba\xb3\x3c\x0e\x90\x49\x25\x98\x87\xef\x06\xf0\xb5\x86\x76\x6f\x1b\x69\x9f\xa2\x3e\xeb\x5b\x8b\xad\xf3\x2d\x53\xc1\x83\x62\x14\x40\x5e\xf4\x5f\x7d\x12\x2d\xd2\xb7\x5f\x7b\x49\xa2\x51\xa1\x16\x06\xab\x60\x75\x19\xbc\xfd\x04\xae\x61\xe5\xd9\x5b\x15\x23\xef\x5c\x89\x07\x27\x5f\xff\x32\x36\xd4\xdd\x1c\x13\x38\xed\x3d\x32\x8d\x34\x0f\x67\xff\x0d\x00\x00\xff\xff\x3b\x7a\x2f\x68\x90\x47\x00\x00"
+var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\xdf\x73\xdb\x36\xf2\x7f\xf7\x5f\xb1\xf5\xc3\x37\xf2\x8c\x2b\xf5\xe1\x3b\xf7\xe0\xa9\x9b\x9f\x97\x4e\x5f\x7a\x9d\xd4\xbd\x3c\x64\x32\x63\x88\x5c\x5a\x38\x53\x00\x07\x00\xa5\xa8\x19\xff\xef\x37\x0b\x80\x24\x40\x82\x14\xe5\xf8\x9a\xde\x4d\xf5\x90\x58\x12\xb1\xd8\x5d\xec\xee\x67\x17\x0b\x88\x6f\x2b\xa9\x0c\xbc\xad\xc5\x1d\x5f\x97\x78\x23\xef\x51\x40\xa1\xe4\x16\xce\xa3\xcf\xce\xcf\xce\x56\xab\x15\xdc\x6c\x10\x32\x29\x8c\x62\x99\x01\xb3\x61\x06\x58\x59\xca\xbd\x06\x26\x80\x65\x99\xac\x85\x01\x23\x41\x61\x86\x7c\x87\x50\xb1\xc3\x16\x85\xd1\xc0\x05\x6c\xeb\xd2\xf0\xaa\x44\x28\x3c\x5d\x4b\xd0\x10\x71\x0d\xb5\xe6\xe2\x0e\x18\xd0\x7f\x25\xc2\xed\xe7\x68\xf2\xe5\x3b\x47\x4f\x3d\xdc\x42\xc6\x2a\xb6\xe6\x25\x37\x87\xa5\xe7\x88\xeb\xe0\x43\xd0\x1b\x59\x97\x39\xf0\x1c\x59\x59\x1e\x60\x8d\xa0\x8d\x54\x98\x03\x23\x86\x11\xec\xa0\xdb\x88\xfc\xaf\x7b\x6e\xb2\xcd\x5a\x32\x95\xb7\x33\xfd\x52\xaf\x4b\x9e\xfd\xc2\xcc\x06\xae\x61\x55\xd9\x77\xab\x1f\x51\xa0\xe2\xd9\xdb\x9b\xe6\xa9\x5b\x4b\x6d\x5d\x1b\xe0\x06\x32\x26\xc2\xe9\xc4\x61\xbf\x41\x85\x8e\xcb\x33\x96\x65\xa8\xf5\x82\x95\xe5\x45\xa7\xc0\x31\x2e\xe0\xf3\x19\xc0\x19\x00\xc0\x6a\x05\xbf\x1a\xa9\xd8\x1d\x02\x13\x39\x38\xae\x80\xd8\xd2\xf6\xfb\x90\x6c\x89\xa6\x79\x98\x1e\xb8\x0a\xdf\x24\x1f\xee\x64\xbc\x0a\xfe\x4e\x3e\x3a\x54\x4b\x34\xc4\xf3\xea\xec\x03\x77\x28\xbc\x71\x70\x0d\xb8\xe5\xc6\x60\x0e\xfb\x0d\x0a\x60\x20\x70\x0f\x3b\x56\x97\x26\x5c\x33\xae\x81\xe5\x39\xe6\x64\x3a\xac\xa5\xa5\x03\x85\x28\xd4\xb2\x56\x19\x2e\xdb\x6f\x07\x6c\xba\x69\xff\x49\xb4\x5f\xb7\xa4\x5f\x12\xd9\x85\x39\x54\x78\x05\x37\x87\x0a\x2f\x43\xaa\xff\xd8\x0b\x54\x57\xf0\x32\xcf\x15\x6a\xfd\xfc\xd2\xd1\x3c\xf6\xea\xf8\xee\x8d\xbf\x38\x41\x0d\x29\x15\x28\xdc\xca\x1d\xe6\xce\xfb\x18\x3c\xa9\x1e\xde\x39\xda\x91\x26\xbe\x5c\x15\x4f\xa6\x8e\x1c\x2b\xa9\xbd\x0b\x09\x69\xc8\x8d\x32\xb9\xad\x4a\x34\x98\x1f\x15\xf5\x67\x69\x5e\x37\x0f\xbf\x71\x84\x22\x39\xd9\x96\xc2\xd2\x15\xfc\xf6\x96\x7f\xfa\xdb\xff\xcf\x14\x6d\x5c\x37\x3d\xb9\xb8\x30\xa8\x0a\x96\xa1\x93\x0d\x45\x21\x55\x86\xda\xc6\x9a\x2d\x9a\x8d\x74\x56\x4d\x51\x92\x62\x82\x14\x48\xef\xb3\x0d\x66\xf7\x20\x05\x3d\xd6\x92\x63\x3b\xc6\x4b\xb6\x2e\xb1\x53\x2a\x47\x0d\xb2\xa0\xc0\x98\x30\x02\x1b\x12\x58\xa9\x25\xe0\xa7\x4a\x6a\x3f\x69\x4b\xae\x51\xaa\xe3\x42\xd3\xb4\xcd\x47\x45\x2d\x72\x4d\xd3\x73\x33\xa1\xde\x76\x9e\x4e\xc6\x20\x48\xf9\x58\xf4\xb9\x55\x67\x38\xb4\xa8\x05\xdc\xa1\xb1\x56\x48\xab\xa0\x17\x17\x57\xf0\x81\xfe\xfa\x98\x7c\x7e\xc7\x71\x3f\x1c\xf4\x9e\x9b\x8d\x57\x3b\x8d\xff\x7c\x63\x57\xd5\x7f\xf2\x70\x94\xd0\xaf\x75\x45\xe0\x86\x79\xcc\x86\x27\xf3\x4a\xca\x32\x4d\x83\x86\x7b\x4d\x2d\xc8\x19\xaf\xe0\x45\x0f\x8f\x2c\xc1\x87\x8b\xd1\xd1\x9a\x15\xf8\x66\x0e\x85\xb1\x2f\x9e\x4f\x0b\x67\xcd\xa7\x89\xc9\xaf\x0e\x24\x50\x60\xf2\x17\x4e\xb8\x69\x12\xc4\xe2\x2b\xa9\x94\xdc\xa7\xc6\xff\xdf\x18\x00\x3b\xc6\x1e\x62\x1f\x68\x0d\xc5\xba\x80\x05\x40\xef\x00\x7d\xcc\x77\x78\xdf\xe4\x07\xaa\x33\xd6\xd0\xe2\x2f\x9d\xbb\x50\x46\x40\x44\x24\xf9\x9f\x75\xa2\x3c\xb7\x26\xef\x02\x25\x7d\xb7\x75\x2e\xd0\xba\xd5\xc0\xf6\x99\x38\xf4\xe7\x66\x5b\xe9\x09\x77\xfe\x46\xb2\xeb\x39\x9e\x10\xd8\xff\x15\xa4\x55\x74\x39\xe5\x24\xed\x9a\xd0\x34\x6f\x78\x66\xb8\x14\x4c\x1d\x60\x23\xcb\xbc\x91\x77\x4c\x57\xb1\x8a\x22\x4a\x5c\xe4\xf8\x09\x73\x58\x1f\x52\x14\x1c\xd8\x90\x8c\xcb\x68\x54\xdf\x40\x9a\xbc\xe4\x02\x76\x4c\xb5\xf3\xbe\x0e\xa6\x6d\x9d\xa7\x43\x96\xef\x47\x4d\xe5\x07\x6f\x25\xcd\x74\x2f\xf3\x5c\xfb\x0c\xe0\xa8\x88\x07\x5a\x4d\x12\x25\x8c\x7b\x11\xb5\x18\x09\x07\x22\xd1\x9b\x17\x15\x53\x6c\x1b\x10\xbd\x72\xf9\x6b\x34\x89\x0b\x9d\xc0\x20\x43\x65\x18\x17\x5d\x7a\x1a\x92\x0a\x15\x19\x04\x51\xbb\x7e\x60\x36\x4a\xd6\x77\x9b\xa9\xac\x95\x1c\x23\x22\xb8\xe7\x65\x49\x30\xd7\xe6\x3d\x3d\x61\xa7\x57\xaa\x0d\x34\x2c\xcf\x7f\xc6\xbd\x8d\x19\x8b\x50\xce\x59\xeb\x73\x11\x04\x6f\x37\x13\xb8\x88\x00\x0c\x14\x16\xa8\x50\x64\xd8\xf0\xe6\x64\xaf\x24\x61\x81\x65\xd8\xdb\x5a\xa0\xcd\x3d\x42\x9f\xde\x9e\xb9\x82\xc0\xc6\x04\xe0\x42\xf3\x1c\xfb\xa2\x46\x63\x28\xd9\xb4\x53\xbd\xc3\x02\xae\xc3\x6c\x7f\x6d\x59\x5b\x5c\x8c\xe3\xf7\xf3\xe7\x50\x31\xc1\x33\x58\x9c\xbf\x66\xc2\xe6\x11\x4e\x9c\x48\x18\x27\x88\x4d\xb2\x3a\xea\xe7\x17\x7d\xce\x5f\x5b\x84\xe6\x05\x71\x4b\xac\x93\xe9\x56\x0a\x77\x5c\xd6\x51\xbd\x51\x48\x05\x86\x6a\x10\x6b\x22\x97\x34\x42\x48\x13\x51\xe3\x05\x2c\x34\x96\xc5\x32\xe5\x52\x1f\x1a\x69\x97\x77\x68\x31\x6a\x71\xf1\x11\xae\xaf\x41\xf0\xb2\xbf\x3e\x9e\xb3\x5a\x63\xb0\x22\x81\x6c\x87\x0a\x81\x69\xb8\x47\xc7\x15\xe9\xbc\x89\x29\x29\x3a\x81\x10\x14\x45\xcd\x06\xc5\xe0\xb1\x13\xd9\x0e\x68\xa6\x66\xa4\xac\xcf\xb2\x13\x26\x83\x22\xe7\x19\x33\x16\x30\xa8\x9c\xb4\xf1\x21\x60\x6d\xc3\x34\xac\x11\x45\x52\x04\xeb\x3d\x83\x2f\xec\x34\x13\x85\xc0\x90\xf5\xcb\xd9\xe9\x6e\xa3\x97\x41\x7a\x68\x35\x65\xa1\xea\xf9\x92\xb9\x0c\xe5\x84\x2c\xba\x7d\x0d\xd2\xe9\xc0\x03\x3c\xd9\xd8\x54\x1f\x00\x4b\x8d\x69\x4b\xf9\xa9\xb1\xde\x3d\xd3\xc0\x4a\x85\x2c\x3f\x50\xa4\xeb\x5b\x2f\x95\xc6\xce\x7a\xad\xff\x0c\x48\xd9\x4f\x17\xe7\x37\xad\x27\xb4\xa4\x9c\x0d\x72\x9b\xc7\x86\xb8\xd7\x73\x8b\x9e\x7b\x75\x69\xd7\x08\x44\xd4\xdb\x35\x2a\x4a\x7c\x67\x81\x05\x25\xc9\xeb\x83\xdb\x43\x88\xa3\xf6\x06\xa1\xa2\x5a\x19\x6c\x29\x4e\xef\x0f\xc0\x54\x53\xa3\xc7\x31\x36\xf1\x4a\xa1\x89\xa5\xe7\x80\xa4\x47\x1a\xdc\x2e\x41\xcc\xd7\xd8\x6c\x9e\x9a\x5f\x52\x47\xcf\xbf\x21\xb9\xbb\xbc\xc7\xbf\x09\x89\x9e\x8e\x0d\xfa\xd5\x81\xea\xf4\x85\x67\xfe\x43\x57\xba\x7f\xbc\xec\x78\xf0\x89\x75\x02\x16\x7e\x44\xe7\xb7\xcd\x16\xcf\x5c\x99\x07\xa1\xdd\xc9\x74\x4d\xd9\xf9\x4b\x47\x6b\x91\xb4\xea\xd5\x0a\xde\x4a\x05\xc8\xb2\x8d\x55\xf3\x25\x8d\x70\xc0\xc1\xa8\x46\xee\xc5\x2e\x0f\x2f\x66\x80\x3f\x5c\x0c\xa1\xf5\x99\x1e\xb1\xa1\xbc\xcd\xc7\x22\x32\x64\xca\xc4\x03\x99\xb9\x5b\xf2\xa1\xb3\xf1\xc2\x8a\x17\xb0\x75\xed\x64\x5d\x46\x0b\x77\x87\x66\x02\x8f\xed\xf2\xa4\x82\x3e\x7c\x39\x38\x8f\xd1\xdc\xe3\xe9\x18\x1d\x0c\x77\x11\xc6\xcf\x4f\x51\xc6\x21\x2e\xe6\xa0\x6b\x6b\x8e\x45\x5d\x96\x87\xe5\x72\x99\x24\xe0\xb5\x76\x04\xef\xd3\xfa\xf0\x0c\x2c\x97\x4b\x32\x80\x10\xa7\x85\x4c\x02\xb5\xcb\xb4\xe2\x80\x37\x4a\x79\x1e\x64\x7f\x33\x0f\xb3\x7b\x2c\xff\x76\x3a\x7e\x1f\x23\x79\x64\x9d\x9b\xd7\xa9\x12\xcd\xa5\x4b\x48\x2c\xf2\xd9\xf0\x3e\x5f\x9a\x0e\xfd\xd3\x48\x1f\xbe\xfe\x13\xa8\x3f\x0f\xe6\x8f\x92\x19\x80\xfa\xac\x91\x17\xa3\xdf\x3e\x24\xbf\x19\x7e\xfa\x70\x1a\xea\x3e\x6d\x61\x06\xba\xc2\x8c\x17\x07\x32\xe1\xfd\x86\x67\x1b\xb8\x25\xb5\xdf\x12\xa2\xdd\xa6\x77\x3d\x6e\x9b\x3d\xf4\x88\xa0\xaf\xb7\x5c\x60\xe3\x66\x69\x1d\x88\xdb\x90\xc5\x45\x56\xd6\x39\x05\x2d\x38\xc8\x5a\x45\x4c\x9d\xef\x15\xab\x2a\x54\xe7\x3d\xee\x9c\x44\x9a\x02\xd4\x86\xdc\x8d\xc1\xed\x0b\xcb\xc4\x5b\xa9\xf6\x4c\x51\x19\xbe\xf4\x7f\xa2\xba\x5d\xc2\x4f\x6e\x5b\xd2\xee\xb3\xad\xe3\xaa\xb0\xd6\x8e\x29\xb9\x43\xb5\x57\xdc\x38\xbf\x76\x7e\x6c\x0c\xcb\x36\x7e\x4b\xbb\xad\x2d\xc3\x62\x89\x9b\x8d\xac\x4d\x2c\xea\x86\xed\xac\xc7\xcb\x6e\x8f\x83\x45\xa8\x52\x70\xa5\x4d\x84\xff\xff\x9b\x15\x6f\x4a\x2a\xbf\x41\xd5\x68\x58\x16\x7d\x6b\xf5\xca\xb2\x16\x14\x19\xcd\x80\x97\x4e\x21\x97\xa0\x18\x21\x07\x3d\xe3\xb2\x58\x6f\xa5\xb6\x40\x34\x76\x73\xab\x09\xd0\x2d\xb6\xd1\x77\x11\x3d\xcd\x78\x9e\x0a\x96\x73\xf3\xb3\xf7\xce\x54\x4f\x2f\xe1\x1f\x53\x62\x8c\xbc\x82\xfd\xbf\x61\x02\x18\x56\xc3\xbd\xb6\xc5\x5e\xaa\xfb\x30\xf1\xb6\xa2\x6a\x8d\x2a\xdc\x91\x58\xda\x1d\xcb\xc5\xc5\x25\x6c\x51\x6b\x76\x87\x57\x70\xee\x52\x68\xad\xe3\x74\xce\x02\x38\xe5\x04\x25\xcf\x87\x55\x79\x83\x9d\xd6\x02\xac\x59\xa0\x41\x15\xa2\xe6\x44\xda\x33\x0e\x7f\x44\x6e\x02\xef\x9e\xb4\x74\x4d\x96\xad\xe3\xe0\x35\x58\x5f\xb7\x4e\xf4\xef\x10\x3e\x1e\x89\x57\x33\x8a\xce\x78\xd0\xc5\x24\x94\xfc\x8e\x4a\x82\x54\xb0\xa5\x7c\x72\x76\x05\xe7\x23\x42\x1c\x10\x93\x6d\x8f\x11\x60\xd1\x53\xc8\xa2\x7b\x84\x53\x61\xe2\xbf\x04\x5b\x74\x04\x2e\x03\x68\x21\x5d\xce\x05\x17\xc2\x81\x68\xe0\x10\x5f\xfa\xb6\x02\x7f\x48\x5d\x6c\xe5\xec\x82\x7d\x5b\x13\xf7\x23\xbe\x8c\x17\x51\x8a\xae\x64\xfc\x9a\xf5\xb6\x8f\xe7\x93\x65\xb7\x17\xd1\x35\xc5\x9e\x24\x8e\xff\x55\xc8\x1f\x2f\xe4\xf9\xe5\x5f\xb5\xfc\xc8\xf0\xaf\x5e\xcb\x3f\xa2\x30\x9e\x53\xa1\x4e\xc3\xbe\xfe\xc0\x3f\xce\x2c\x75\x4f\x2c\x73\x1f\x51\xc7\x9e\x90\x06\x84\xaf\x2e\x25\x20\x69\xa6\xab\xca\x27\x28\x69\x4f\x2f\x67\xd3\xa5\xec\xa3\x0b\x56\x77\x9a\x85\xe0\x75\x46\xbd\xda\x26\xf2\x29\x17\x78\xca\x4e\xe2\x80\x1b\xdf\x77\x1d\x40\x7b\x74\xd0\xe7\x71\x7d\x3f\x47\xe2\xcf\xdf\xf7\xf3\x99\xc6\xe4\x1a\xc0\xac\xb6\xdf\x1f\xd3\xf5\x1b\x0d\x41\x12\x0a\xee\x9a\x64\xbd\x55\x77\x12\xce\xab\x33\x96\xee\xe1\xc5\x3d\x1e\x52\xfb\x51\x03\x6e\xfe\xfe\x94\x45\x87\xb7\xba\xa3\x65\x47\x73\x54\x6c\xa4\xf0\x98\xb3\x8d\xf6\x35\xca\x90\xe6\xaf\xc8\x7f\x6e\xd8\x7d\x2a\x4c\xb8\xd5\xb5\x47\x49\x64\x4d\xaa\x74\x19\xbf\x4d\x83\x94\xac\x50\x75\x03\x12\x7b\x22\xc9\x20\x23\x55\x93\x86\x12\x32\x71\x73\x3c\x98\xb8\x73\x41\x14\x46\xba\xfc\x35\xc9\xe7\x91\xf8\xf4\xa8\x93\x4b\xe3\x99\x61\x2a\x72\x4a\x81\xba\x77\x8c\x76\xca\x91\x5b\x79\x7a\x96\x05\xd7\x13\x58\x4c\x93\x05\x9b\xcf\x03\xe3\x08\xdc\x3c\xd6\x99\x6f\x41\xba\x6d\x83\xee\x48\x8f\xdd\xa5\xe2\x3a\x64\xf4\xfc\xe2\x6c\x24\xee\xc5\xfb\x3c\xde\x14\x72\xd4\x5c\x35\x13\x4c\x45\xab\x31\x79\xc7\x63\x57\x1c\xb3\x20\x08\x5a\x89\x08\xdc\xc6\xa3\x3e\xff\xad\x2b\xc6\x4b\xfe\xfd\xb7\xf4\xff\x68\x89\x7e\xd4\x27\x8c\xf2\xe5\xb8\x75\x8e\x81\x6f\x44\xc4\xe6\xe0\x6f\xec\x1a\xbe\x8a\xcb\xfb\x47\x98\xd8\x4e\x72\x7b\x04\xca\x2a\xe6\xde\x7a\x51\x98\x90\xf6\x17\x78\xbc\x48\x4d\x39\xdb\xae\x39\x01\x18\x6f\x20\x5a\x66\x4c\x03\xd4\x14\x4f\x09\xb8\xb4\xaf\x2b\xd3\xbb\xd0\x53\x9e\xad\xd0\xd4\x4a\x9c\xe2\xd4\x97\x6d\xad\x1e\xb6\x79\xbc\x6a\x73\xdd\xe8\xa0\xd9\x81\xa5\xb4\xbc\xcb\xc6\x2f\xc1\x66\xc3\xbc\x2c\xed\x99\x72\xc6\x45\xa4\xe1\x88\x9c\x27\x34\xb0\x2e\x81\x98\xb7\x5e\x44\xe4\x49\xcb\x85\xac\xc5\xdc\x54\xe4\xcb\xcf\x3a\x0e\x83\xd1\x8d\xb2\xd8\xda\x94\x8a\x3e\x28\x0f\x0e\x4d\x1f\x4d\x2b\xba\xaa\x26\x72\x66\x32\xa6\x4a\xa1\x26\x50\x75\x67\x70\xa3\x14\xac\x57\xe1\xf8\xca\xe6\x29\xa2\x5a\xfa\x98\xc6\x7b\x04\xe3\x04\x1e\x0f\x02\x41\xfe\x72\xa4\xec\x71\x32\xef\xd1\x6d\x71\x4d\x13\x4c\x15\x73\xc3\x42\xee\x68\x7c\x1b\x2f\x73\xdf\x77\xa6\xdb\x9a\x25\xa9\xdc\x6e\x98\x0f\x03\x6b\xf3\x9a\x8c\x6c\x4b\xf2\x98\x5c\xb1\xfd\xa2\x39\xd9\xdd\x68\xf9\x15\x2b\x99\xc8\x28\x93\x1a\x86\xdc\xb1\xd2\xc2\x33\xca\x8b\xae\xcb\xc1\x78\xe9\x3b\xc5\x5a\x6e\xc9\x65\x98\x96\xa2\x6f\x12\x83\x39\xe1\x07\xf8\x6e\xf9\x5d\x42\x15\x36\xc9\x4a\x1d\x52\x4f\x8a\xee\xb2\xac\xd8\x6e\xd2\x85\xd5\xa8\xf4\xe9\xc7\x1f\x99\x94\x0d\x35\xe9\x83\x9c\x5b\x8c\x09\xad\xe6\xa8\x8d\x92\xde\x4b\xcf\x12\x14\x04\x2f\xc7\x40\xca\xf6\x1b\x7c\x8a\xdb\xcf\xb9\x79\xd3\x55\xb3\x51\x9c\x6b\xd7\x2b\x38\xd6\x3d\x9a\x83\x00\xfb\x78\x43\xf4\x60\x83\x63\x83\x06\xb6\x83\x81\x13\xf3\x78\xa9\x18\xac\xa5\x2c\x91\x09\xd8\x32\xdb\x19\x19\xa4\x55\x52\x35\xcc\x33\xcf\x3c\xc5\xf1\xf0\xd4\xe0\xe3\x0f\x7d\xf7\xec\x8f\x17\xc7\xbb\x1e\xf6\xdc\x42\xc2\x6e\xbd\x3c\x05\x2b\x35\xf6\x96\x39\xb5\x9a\x47\xe6\xf9\xa6\x69\x01\x8d\x2d\xf9\x8f\x68\xb4\x87\x28\x9f\x44\x30\xad\xf9\x9d\x68\x56\xbb\x52\x72\xc7\x3b\xa8\x1a\x1e\x67\xb6\x37\xc1\x28\x4d\x40\x52\x1e\x53\x07\x58\x63\xc6\x6a\x8d\x2d\xc4\x72\x73\x49\xe9\x8c\x4f\x25\x2a\xa9\xb5\xc7\x65\x28\xa5\xbc\x87\x5a\xe4\xe8\x1a\x48\x1b\x29\xdd\x51\x73\x8d\x48\x3a\x64\x63\xcd\x3d\xee\xae\x67\x08\xc0\x4f\x15\x66\xb6\x42\xb6\x86\x65\x97\x73\xe9\x58\xda\x60\x59\x69\xb8\xab\x99\xca\x81\xdd\x31\x2e\x34\x55\x71\x05\x17\xdc\x60\x79\x80\x6c\xc3\x38\x09\xd9\xeb\x13\x10\x0d\x69\x3b\x93\x5c\x38\x1b\x89\x26\xde\xb2\x92\x67\xf6\x88\xcb\x3d\xb7\x31\xb5\x80\xba\xca\xbb\xba\x30\xb3\xb7\xe0\x2a\xe5\x2a\xc7\x92\x6b\x4a\xbe\xb4\xf3\xc5\x35\x12\xfd\x2d\xcb\x7d\x7f\x99\x29\x6c\xcc\x50\xb8\x34\xbf\x50\x52\x18\x7d\xb4\x23\xfb\xc7\xf9\x94\x00\x59\xd9\x2d\xdd\x72\x34\xc7\xcc\xa4\xd0\xf5\x16\x55\xbb\x9f\x1f\x36\x6c\x9a\x2b\x37\x2b\x2b\x27\x33\xbe\x3e\x40\xae\x40\xee\xc5\xb4\xdf\x3d\xf6\xa6\xc4\xd0\x15\xbf\xb1\x3e\x32\xee\xc7\x26\xd1\x7c\x85\x74\xbc\xfc\x02\x3f\x1c\x54\x25\xfd\x1e\x1e\xe5\x5d\xc6\x15\xc1\xbe\xdd\x2f\xe1\x5e\xc8\xbd\xef\xb6\xf9\x2b\x9b\xdd\xf9\x81\xe3\x47\x41\x5c\xbe\x55\x31\xe5\x9c\xd9\x73\x37\x61\x5f\x41\x22\x7d\x8f\x07\xdd\x25\x3e\xdd\xd6\x3e\x2d\xb3\xaf\x49\xa3\xb1\x73\xee\x8e\xf2\xd6\x4d\x5c\x1b\x10\x8b\x02\x33\xc3\x77\xe4\x8f\x11\xb1\x66\x0b\x3c\xcd\xea\xcc\x1b\x4f\xbd\x15\xa5\xec\xaa\x9d\xf0\x26\xec\x02\xc1\x35\x7c\xf8\x38\x68\x59\xb4\x5e\x06\x7c\x62\x75\x97\x56\x4f\xc9\x6e\xc6\x91\x63\x5f\x37\x51\x78\x1e\xc9\xe5\x62\x86\x97\xac\xaa\x50\xe4\x8b\x76\xfc\x69\xf9\x96\x5f\xdd\x98\xe6\x57\x37\x47\x60\xa5\x14\x77\x16\x2c\x5c\x8f\xcc\xb7\x07\x6d\x8f\x2c\xde\x07\xb2\x31\xcd\x4f\xdc\x9c\x6b\x49\x17\x88\x49\xb3\x7e\x19\x9a\xf1\x96\x55\x55\x93\x25\x4c\xd8\x6e\xcc\x00\x59\x83\x4f\xe4\xdb\x78\x68\x33\xb9\x67\xba\xe5\xfb\xa8\xc9\x3e\xe6\xd2\xdd\x51\x5b\x0e\x86\x0f\x07\x5f\xc3\xe7\x41\xe6\xdd\x1e\x2d\xb1\x3d\xc2\xf8\x24\x48\xc9\x7b\x5b\xab\x7f\x1a\x7f\xf0\xbd\x20\xd7\x89\x0f\xf6\x48\x7a\x8b\x30\xc3\x97\x02\x85\x05\xf3\x4f\x56\x95\x21\x9b\x63\x13\x9d\xec\x7f\x01\x1f\x27\xb8\x22\x05\x51\x47\xce\x25\x6f\xbe\x2f\x6f\x7b\xf6\xba\xb9\x7f\xe9\x7a\x06\xf6\x8a\xb3\xdf\xf5\x88\xc8\x3a\x3f\x1e\x9c\xc8\x70\xbf\x09\x40\x44\x9f\xf9\x0f\x9f\xb5\x13\x1f\xf7\xb1\x37\x11\x50\xbc\xbd\xf1\x3c\x25\xcf\x88\x2d\x8f\xba\xc7\x8c\xab\xa4\xf0\x19\x06\xae\xa1\xa3\x61\xba\x37\x60\xe0\x0d\x7f\x1a\xeb\xee\xf1\x1d\xdb\xa5\x51\xf5\xf0\x40\xf2\x0c\x73\xeb\x11\x1d\x33\xb2\x77\xde\x9a\xf6\x1b\xb4\xe9\xaf\xcb\xa5\xad\x1d\xdc\xf1\x9d\x37\x2e\x7b\x0b\x25\xcb\xb0\x32\xdd\xad\xc7\x26\x58\xf6\x4c\x36\xd8\xdc\xcb\xdc\xaf\x54\x60\xe5\x2e\x86\x5a\x42\xfe\xf7\x22\xfe\x55\xeb\xc6\x90\xad\x80\x44\x34\xc7\x22\xda\xa1\x48\x1a\x07\xd7\x43\xdb\x38\x5a\x96\x25\x6c\xa3\x71\xf8\x31\x63\x4b\x6d\x49\x75\x0e\x76\x3d\x58\x32\x93\xc8\x3c\x52\x8b\x11\xaf\x9b\xbf\x4c\x14\xd5\x7e\xe9\x3e\x2c\x95\x2f\x03\xfb\x59\xad\xe0\x27\xc1\x0d\x67\x25\xff\x1d\x07\xe7\x68\xc6\xce\x65\x8c\x5a\x6c\xec\x21\x7e\xf2\xe0\xee\xf1\xdb\x28\x0c\xf9\x5f\x22\xa1\x54\x5f\x21\xa5\xf8\xae\x37\xb6\x2e\x99\xb8\x8f\xf6\xf7\xe0\x25\xd4\x1a\x15\x6c\x69\xcd\x33\x56\x96\x2d\x41\x1b\xa4\xda\xe0\xd6\x1d\x48\x71\x38\x4b\x2a\xc1\x3c\xbc\x16\xef\x4b\x08\xed\x7e\x68\xa3\xbd\x40\x7c\xd6\xb7\x16\x5b\xbe\x5b\xa6\x82\x3b\x52\x14\x40\x5e\xf4\x7f\xf5\x23\x5a\xa4\xef\xbf\xf5\x92\x44\xa3\x42\x2d\x0c\x56\xc1\xea\x32\xf8\xe1\x0f\xb8\x86\x95\x67\x6f\x55\x8c\xfc\xdc\x48\x3c\x38\xf9\xcb\x27\x63\x43\xdd\xc3\x31\x81\xd3\x7e\x42\xa5\x91\xe6\xe1\xec\xdf\x01\x00\x00\xff\xff\xcb\xed\xd1\x73\x8b\x46\x00\x00"
 
 func fungibletokenswitchboardCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -197,7 +197,7 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenSwitchboard.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbb, 0x66, 0x1f, 0x65, 0xb0, 0x36, 0x8c, 0x6, 0x3b, 0x5f, 0xc5, 0x53, 0xf0, 0x80, 0x41, 0xe7, 0x17, 0x7, 0x59, 0xdd, 0x79, 0xe6, 0x1, 0xe6, 0x1d, 0xd4, 0x1c, 0xe2, 0x3f, 0x3b, 0x3, 0x4d}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4b, 0x93, 0x62, 0x48, 0xef, 0x46, 0xd7, 0x0, 0xb2, 0x7d, 0x83, 0x8f, 0xa4, 0x8d, 0x48, 0x8, 0x4a, 0x8a, 0xc3, 0xc7, 0xb3, 0xb4, 0x61, 0xe1, 0x89, 0xa6, 0xf1, 0xd7, 0xcd, 0x45, 0xcc, 0x63}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 46e8468d..c9eb01b7 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,16 +1,16 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../transactions/burn_tokens.cdc (1.445kB)
-// ../../../transactions/create_forwarder.cdc (2.319kB)
-// ../../../transactions/generic_transfer.cdc (1.249kB)
-// ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.839kB)
-// ../../../transactions/mint_tokens.cdc (1.707kB)
+// ../../../transactions/burn_tokens.cdc (1.476kB)
+// ../../../transactions/create_forwarder.cdc (2.528kB)
+// ../../../transactions/generic_transfer.cdc (1.254kB)
+// ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.986kB)
+// ../../../transactions/mint_tokens.cdc (1.714kB)
 // ../../../transactions/privateForwarder/create_account_private_forwarder.cdc (1.428kB)
 // ../../../transactions/privateForwarder/create_private_forwarder.cdc (943B)
 // ../../../transactions/privateForwarder/deploy_forwarder_contract.cdc (403B)
 // ../../../transactions/privateForwarder/setup_and_create_forwarder.cdc (1.802kB)
 // ../../../transactions/privateForwarder/transfer_private_many_accounts.cdc (1.21kB)
-// ../../../transactions/safe_generic_transfer.cdc (1.864kB)
+// ../../../transactions/safe_generic_transfer.cdc (1.892kB)
 // ../../../transactions/scripts/get_balance.cdc (469B)
 // ../../../transactions/scripts/get_supply.cdc (195B)
 // ../../../transactions/scripts/get_supported_vault_types.cdc (979B)
@@ -22,7 +22,7 @@
 // ../../../transactions/scripts/switchboard/get_vault_types.cdc (698B)
 // ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (729B)
 // ../../../transactions/scripts/tokenForwarder/is_recipient_valid.cdc (444B)
-// ../../../transactions/setup_account.cdc (1.061kB)
+// ../../../transactions/setup_account.cdc (1.245kB)
 // ../../../transactions/switchboard/add_vault_capability.cdc (1.415kB)
 // ../../../transactions/switchboard/add_vault_wrapper_capability.cdc (1.443kB)
 // ../../../transactions/switchboard/batch_add_vault_capabilities.cdc (1.34kB)
@@ -35,8 +35,8 @@
 // ../../../transactions/switchboard/setup_royalty_account.cdc (5.883kB)
 // ../../../transactions/switchboard/setup_royalty_account_by_paths.cdc (5.958kB)
 // ../../../transactions/switchboard/transfer_tokens.cdc (1.551kB)
-// ../../../transactions/transfer_many_accounts.cdc (1.416kB)
-// ../../../transactions/transfer_tokens.cdc (1.437kB)
+// ../../../transactions/transfer_many_accounts.cdc (1.418kB)
+// ../../../transactions/transfer_tokens.cdc (1.444kB)
 
 package assets
 
@@ -106,7 +106,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _burn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\xcd\x6e\xd4\x30\x10\xbe\xe7\x29\x86\x1c\xd0\xee\xa1\x09\x48\x88\xc3\xaa\x4b\x69\x2b\x7a\x44\x88\x16\x38\x4f\x92\xd9\x8d\x21\xb1\xa3\xf1\x84\x6d\x55\xf5\xdd\x91\xc7\x9b\xd4\xe9\x0f\x39\x6c\xb4\xf6\xe7\xef\x67\x66\x9c\xb2\x84\x9b\xd6\x78\x10\x46\xeb\xb1\x16\xe3\x2c\x18\x0f\x08\x42\xfd\xd0\xa1\x10\xec\x1c\x87\xbf\xc9\xbe\xb4\x28\x59\x59\x42\xed\xc6\xae\x81\x8a\x60\xf4\xd4\x40\x75\x07\xd2\x12\x60\xd3\x1b\x0b\x58\xd7\x6e\xb4\x02\xe2\xa0\x1a\xd9\x82\xb8\x3f\x64\x7d\x38\xb4\x63\xd7\x07\xa0\x61\xf0\xe2\x98\x1a\xf8\x89\x63\x17\xf8\x32\xf5\x42\x7a\xc0\xd8\x3d\x60\xaf\x14\x87\x49\x05\x61\x40\xc6\x9e\x84\x38\xf0\x06\xb1\xc4\x55\x96\x99\x7e\x70\x2c\x70\x35\xda\xbd\xa9\x3a\xba\x09\x92\x51\x2e\x5f\xac\xe5\x13\xf2\xcb\x2d\xf6\xc3\x12\x98\x2e\xe5\x59\x96\xf0\xaf\xa2\x9d\x0d\xfc\xb8\x32\xb7\x1f\x3f\xac\xe1\x3e\xcb\x00\x00\xca\xb2\x8c\x09\x80\xc9\xbb\x91\x6b\xd2\xfa\x40\xeb\xba\xc6\x47\x93\x9a\x3d\xae\x22\x13\x54\x14\xd2\x85\x94\xd4\x28\x45\x47\x02\x7f\x03\xc5\x06\x3e\x2f\x9c\x16\xb1\x34\xb3\xce\x77\xda\x11\x93\x0d\x12\x31\xff\x22\xc1\xb9\x56\xde\x55\xbf\xa9\x96\x99\x57\xdb\xb1\x81\xb7\x29\xb2\x50\xa4\xf1\xc2\x28\x8e\x1f\xe9\x6f\xd4\xac\x60\x07\x7e\x1c\x86\xee\x0e\xdc\x6e\x32\x5f\xd1\xce\x31\xa9\x66\x30\x3e\xd3\x47\xe0\x85\xee\x4e\xa5\x89\x84\x03\xd3\x80\x4c\x2b\x6f\xf6\x96\x78\x03\xe7\xa3\xb4\xe7\x71\x2a\xe6\xda\x85\xc7\x53\xb7\x2b\x52\x1a\xd8\x2e\x62\x15\xea\xe8\x5a\x01\x8f\xa7\xca\x12\x7e\x19\x69\x1b\xc6\x03\xbc\x7f\x37\xb9\x9c\x66\xeb\x38\x84\x5a\x53\x30\x56\x07\x0d\xf7\xb4\xd4\x8c\xbb\xa7\x27\x10\x1d\x16\x95\x63\x76\x87\x53\x1c\xa5\x5d\x2d\xbb\x30\x29\x61\xd5\xd1\xfa\x49\x29\xb5\x43\x9f\x56\x41\x79\x03\xcf\x77\xae\xa3\xf2\x37\x94\x76\xfd\x66\xd6\x0f\x4f\x71\x38\xb2\xce\x83\x15\xdf\xeb\x45\xc8\x4b\xa6\x70\x07\x11\xf8\x69\xeb\x8f\xf7\x4c\x7f\xe7\xc9\x7b\x2d\x6b\x84\x6d\x9f\x44\xfd\xcf\x50\xbc\x98\x48\x11\x69\xa2\x45\xa0\xb3\x33\x18\xd0\x9a\x7a\x95\x5f\xea\x8d\xb5\x4e\x20\x0a\xbd\x6e\x7f\x32\x9e\x47\xaa\x87\x98\x9d\x6e\xa9\x1e\x85\xe0\x7e\xe6\x0f\xa3\xa6\x17\x86\xb5\x61\x73\xa4\xa2\xd6\xfa\x7c\xa5\xc3\x85\xee\xae\x92\xea\x45\x7c\x11\x5e\x6a\xdf\x1f\x23\x9d\x9e\x3c\xb6\x3f\x81\x37\xe4\x85\xdd\xdd\xf1\x58\x6a\x67\x70\x5e\x12\x2f\xaf\x0d\x27\x6c\xb7\x2f\x0c\xf3\x09\x4c\xed\xcd\x9f\x5d\xaf\x7e\xf4\x12\x3e\x6c\x0d\x85\x18\xe9\x37\x54\x8f\xe4\x47\x13\x0f\xd9\xbf\x00\x00\x00\xff\xff\x43\x71\x53\xb8\xa5\x05\x00\x00"
+var _burn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x41\x6f\x9b\x4c\x10\xbd\xf3\x2b\xe6\xe3\x10\xd9\x87\xc0\x57\xa9\xea\xc1\x8a\x9b\x26\x51\x73\xac\xaa\x26\x4d\xcf\x03\x8c\xcd\xb6\xb0\x8b\x66\x87\x3a\x51\x94\xff\x5e\xed\x2c\x60\x68\xe2\x72\x30\xf2\xee\xdb\x37\xef\xcd\xbe\x21\xcf\xe1\xbe\x36\x1e\x84\xd1\x7a\x2c\xc5\x38\x0b\xc6\x03\x82\x50\xdb\x35\x28\x04\x3b\xc7\xe1\xef\x6c\x5f\x6a\x94\x24\xcf\xa1\x74\x7d\x53\x41\x41\xd0\x7b\xaa\xa0\x78\x02\xa9\x09\xb0\x6a\x8d\x05\x2c\x4b\xd7\x5b\x01\x71\x50\xf4\x6c\x41\xdc\x2f\xb2\x3e\x1c\xda\xb1\x6b\x03\xd0\x30\x78\x71\x4c\x15\x3c\x60\xdf\x04\xbe\x44\xb5\x90\x1e\x30\x76\x0f\xd8\x2a\xc5\x61\xac\x82\xd0\x21\x63\x4b\x42\x1c\x78\x43\xb1\x99\xaa\x24\x31\x6d\xe7\x58\xe0\xb6\xb7\x7b\x53\x34\x74\x1f\x4a\xc6\x72\xe9\x62\x2d\x1d\x91\x9f\x1f\xb1\xed\x96\xc0\xf9\x52\x9a\x24\x33\xfe\x55\x94\xb3\x81\xef\xb7\xe6\xf1\xc3\xfb\x35\x3c\x27\x09\x00\x40\x9e\xe7\xd1\x01\x30\x79\xd7\x73\x49\xda\x1f\xa8\x5d\x53\xf9\x28\x52\xbd\xc7\x55\x64\x82\x82\x82\xbb\xe0\x92\x2a\xa5\x68\x48\xe0\x77\xa0\xd8\xc0\xa7\x85\xd2\x2c\xb6\x66\xaa\xf3\x8d\x76\xc4\x64\x43\x89\xe8\x7f\xe1\xe0\x4a\x3b\xef\x8a\x9f\x54\xca\xc4\xab\xd7\xb1\x81\xb3\x39\x32\x53\xa4\xf1\xc2\x28\x8e\x8f\xf4\xf7\x2a\x56\xb0\x01\xdf\x77\x5d\xf3\x04\x6e\x37\x8a\x2f\x68\xe7\x98\xb4\x66\x10\x3e\xd1\x47\xe0\xb5\xee\x8e\xad\x89\x84\x1d\x53\x87\x4c\x2b\x6f\xf6\x96\x78\x03\xd8\x4b\xbd\xba\x76\xcc\xee\xf0\x80\x4d\x4f\x6b\x38\xbb\x8a\x21\x99\x5a\x19\x1e\x4f\xcd\x2e\x9b\xb3\xc2\x76\xe1\x32\x53\x81\x77\x0a\x38\x9e\xca\x73\xf8\x61\xa4\xae\x18\x0f\xf0\xee\xff\x51\xf4\x18\xb5\x21\x93\xda\x62\x30\x56\x73\x87\x7b\x5a\xd6\x8c\xbb\x17\xe7\x10\x05\x67\x03\x28\x2b\x54\xf2\x85\xca\x5f\x5e\xce\x58\x11\x8b\x26\xb8\x59\xa8\xd4\x8b\xfb\xb8\x0a\x0a\x36\xf0\x7a\xe7\x2e\x92\x7f\x45\xa9\xd7\xff\x4d\x3a\xc2\x93\x1d\x06\xd6\x29\x6f\xf1\xbd\x5e\x98\xbd\x61\x0a\xa3\x89\xc0\x7f\x27\x62\x18\x3f\xfd\x9d\x02\x79\xca\x73\x84\x6d\x4f\x58\xfe\x47\x66\xde\x74\xa6\x88\xb9\xb3\x85\xb1\xcb\x4b\xe8\xd0\x9a\x72\x95\xde\xe8\x40\x5b\x27\x10\x0b\x9d\xb6\x31\x1a\x48\x23\xd5\x4b\xec\x01\x3d\x52\xd9\x0b\xc1\xf3\xc4\x1f\x92\xa8\xf3\xc4\x7a\x81\x93\xb5\xac\xd4\x3e\x7d\xa1\xc3\xb5\xee\xae\x66\x5d\x8c\xf8\x2c\xbc\x54\xbe\x1f\x2c\x5d\x9c\x1f\xe3\x30\x83\x57\xe4\x85\xdd\xd3\x70\x6c\x2e\xa7\x73\x5e\x66\x5a\x4e\x85\x15\xb6\xdb\x37\xc2\x7d\x0e\xe3\x35\xa7\xaf\xa6\xaf\xed\xbd\x84\xef\x5e\x45\xc1\xc6\xfc\x13\xab\x47\xd2\x41\xc4\x4b\xf2\x27\x00\x00\xff\xff\x5a\xbe\xd0\x96\xc4\x05\x00\x00"
 
 func burn_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -122,11 +122,11 @@ func burn_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "burn_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc3, 0x7, 0x64, 0xb4, 0x35, 0x10, 0xef, 0x1b, 0xff, 0xdc, 0xca, 0x44, 0x80, 0xe9, 0x74, 0x3a, 0x8c, 0xcf, 0x64, 0x26, 0x26, 0xb4, 0xf9, 0xf8, 0xb4, 0x67, 0xac, 0x3f, 0x3d, 0xc1, 0xa3, 0x2}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd7, 0x15, 0x80, 0x8f, 0x10, 0xa, 0xff, 0x73, 0x76, 0x78, 0xd5, 0x83, 0xa2, 0x73, 0x18, 0xa8, 0xcd, 0x81, 0x7, 0xba, 0x49, 0x95, 0xc, 0xeb, 0xe7, 0x61, 0xbe, 0xb8, 0xfe, 0x37, 0xab, 0x67}}
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x54\x4d\x6f\xe3\x36\x10\xbd\xf3\x57\x0c\x72\x68\x9d\xc0\x91\xd1\xaf\x8b\x91\x16\x08\xb6\x4d\x51\xa0\x28\x16\x6d\xda\x6b\x77\x4c\x8e\x4d\x36\x12\x29\x90\x23\x6b\x8d\x45\xfe\x7b\x41\x52\xa2\x29\x63\x1b\x1f\xea\x93\x45\xce\xc7\x7b\xf3\x1e\x67\x73\x77\x27\xc4\xb3\x36\x01\xd8\xa3\x0d\x28\xd9\x38\x0b\x26\x00\x02\x53\xd7\xb7\xc8\x04\x7b\xe7\xe3\x67\x75\xcf\x1a\x19\xa4\x1b\x5a\x05\x3b\x82\x21\x90\x12\xec\x20\x10\xc3\xd0\x03\x5a\x40\x29\xdd\x60\x19\xd8\xc5\xe4\x11\xbd\x02\x45\xbd\x0b\x86\x49\x01\xbb\x17\xb2\x21\xde\xa1\x75\xac\xc9\x83\x27\x49\xe6\x48\xbe\x11\xe2\x97\x3d\xa0\x3d\x39\x4b\x10\xc8\xaa\x50\x07\xc7\x3e\xfe\xcb\x00\x4f\xb9\x22\x79\xf8\x7d\xca\x5b\x0b\xd6\x54\xbe\x60\x34\x6d\x0b\xff\x0c\x81\x4b\x73\xd6\x2e\x50\x55\x2b\x86\xff\x85\x43\xcb\x99\x89\xc6\x00\x3b\x22\x2b\x22\x03\x0c\xe9\xda\x93\x34\xbd\x21\xcb\x80\x56\x01\x75\x26\xfe\x01\x3a\xc6\x93\x94\x64\xac\x32\x12\x99\x82\x18\xb5\x91\x3a\xa1\x9b\x1b\x46\x96\x7a\x6e\xd8\x4c\x03\x1e\xf1\xb4\x06\x13\xf9\x81\xdb\xef\xef\xa5\x46\x63\x21\x90\x3f\x1a\x49\x30\xa2\xe5\x04\xad\x73\xd6\xb0\xf3\x30\x6a\x17\x65\x98\x0a\x1a\x7b\x10\x67\xf8\x86\xd7\x60\x18\x24\x5a\x18\x91\xa5\xce\xb0\xd2\x55\x20\x82\x51\x93\xa7\x0a\x00\x48\xec\x08\xf6\xde\x75\x8d\x10\x7f\x30\xf5\x53\x64\x56\x2b\x4b\x15\x60\x34\xac\x73\x42\x61\xe1\xb7\x42\x7c\xd5\xc0\xb3\x26\x78\x1a\xec\xc1\xec\x5a\x82\xe7\x14\x21\x9d\x65\x8f\x32\x4e\x81\xc9\xef\x51\x12\x04\x9d\xfc\x80\xad\x27\x54\xa7\xe8\x0b\x45\x7d\xeb\x4e\xa4\x20\xb8\x8e\x12\x28\xf1\x75\xae\x86\x7d\xdf\x1a\x89\xb1\x1e\x2f\xeb\x4d\x55\xaa\xec\x46\x7c\x93\x93\x2a\x45\x26\x7b\x4d\xc1\x1a\x8f\x04\x38\x09\x1a\xcd\xca\xc9\xcf\xb9\xb0\x27\x64\x52\x02\x00\x92\x90\x81\x9d\x27\x05\xc6\x82\xe1\x90\xbe\xf0\x40\x99\x3b\x42\x3f\xec\x5a\x13\x34\xa9\xe2\x25\xf1\x6d\x03\x3f\x26\x20\x69\x9e\x1f\x12\xfb\xa7\xa2\x49\x23\x95\xfc\x70\x06\x9f\x5c\xaa\xcc\x7e\x4f\xbe\x82\x29\xbe\x6b\xa2\x67\x01\xc1\xd2\x08\x8f\xf9\x70\x0b\xef\x12\xb2\x54\x76\xe6\x63\x9d\xef\xb0\x6d\x4f\xeb\x04\x97\x35\x59\xf0\x83\xcd\x9d\x33\x91\xbf\x8b\x34\xb9\x75\xf5\x28\x73\xd2\x81\x98\x8d\x3d\xc0\xe2\x41\x44\xe9\x17\x8d\xb2\x81\x2f\x8c\xde\x88\xbb\x8d\x10\xa6\xeb\x9d\xe7\xa2\x77\x96\x3b\x15\xb8\x59\x9c\xdd\xcc\x91\x3f\x7d\xc4\xae\x5f\x06\xd6\x47\x25\xee\x62\x74\x53\xe8\xc5\xe9\x8d\x10\x15\xa5\xd5\xbc\x18\xb6\xf0\xa8\x94\xa7\x10\x6e\xe1\x93\x48\x3c\x7b\x4f\x3d\x7a\x5a\xa1\x94\xbc\x85\xc7\x81\xf5\x34\xd8\x12\x11\x7f\x9b\x0d\xfc\x4c\x3c\xd3\xcc\xc3\x90\xd8\xe3\xce\xb4\x86\x4f\x93\x57\xce\x63\xd9\x51\x02\x76\x7e\xc3\xae\x54\x6a\x89\x2b\x03\x7e\x1f\xe7\x3c\x35\x2c\x20\x6f\x4b\x70\xfc\x35\x07\xe2\x77\xa5\xd5\xc3\x17\x9f\x16\xd3\x6b\x66\x6d\x5e\x7f\x58\xd5\xd3\x2a\xe7\xef\xa3\x15\xe5\x7b\x64\x7d\xbb\xa0\x53\xb9\xa6\x58\x21\x1b\x3b\x3e\x02\xc3\xf3\x76\xbb\x54\x5a\xb9\xd9\x15\xd5\x46\xa9\xc9\x1d\xd3\xeb\x79\xb8\xbf\xd4\xa9\xc9\xc6\xfb\x8d\xc6\xb2\x77\x57\x65\x10\xdb\xf3\x4c\xce\xec\xa3\x24\x4d\x84\xb3\x7a\xb8\x4f\x55\xd7\xc0\x6e\x0b\x9b\xe9\xb1\x6d\xa8\xe2\x5b\x6a\x2e\x59\xfe\x69\x5b\x63\x5f\x12\x5c\xfa\x68\x42\x72\xf4\x67\x04\x2c\x29\x71\xab\xc6\xae\x8b\x99\x5f\x1d\x6c\x23\x35\xc9\x97\xb7\xa4\x89\x66\xaa\x45\x4d\x4d\x86\x04\xee\xba\x6c\x73\xd2\xeb\x82\xda\xaf\x33\xb1\xb8\x0c\xce\x5a\xbc\x49\x2f\xb5\x8d\x4d\xdf\xc2\xba\x00\x7a\x05\xdc\x7a\x11\xcc\xe8\x0f\xc4\xd7\x14\x2a\x29\xb7\xff\xcd\xa7\x04\xe7\x56\xd7\xb8\x5c\x5a\xed\x22\xfd\x92\xd4\x26\xed\x67\xf9\x79\x78\xff\x93\x52\x16\xea\xf5\xdf\x00\x00\x00\xff\xff\x66\x2e\x02\x56\x0f\x09\x00\x00"
+var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x54\xcd\x6e\x1b\x37\x10\xbe\xf3\x29\x06\x3e\xa4\xb2\x21\xaf\xd0\xbf\x8b\xe0\x14\x48\xd3\xba\x28\x50\x14\x41\xeb\xe6\xda\x8c\xc8\x91\xc8\x7a\x45\x2e\xc8\x59\x6f\x84\xc0\xef\x5e\x90\xdc\xa5\xb8\xdb\x54\x69\x0f\xd1\x49\x4b\x0e\x67\xbe\x3f\x72\x73\x73\x23\xc4\x83\x36\x01\xd8\xa3\x0d\x28\xd9\x38\x0b\x26\x00\x02\xd3\xb1\x6b\x91\x09\xf6\xce\xc7\xcf\x6a\x9f\x35\x32\x48\xd7\xb7\x0a\x76\x04\x7d\x20\x25\xd8\x41\x20\x86\xbe\x03\xb4\x80\x52\xba\xde\x32\xb0\x8b\x87\x07\xf4\x0a\x14\x75\x2e\x18\x26\x05\xec\x1e\xc9\x86\xb8\x87\xd6\xb1\x26\x0f\x9e\x24\x99\x27\xf2\x8d\x10\x3f\xef\x01\xed\xc9\x59\x82\x40\x56\x85\xba\x38\xce\xf1\x5f\x04\xb8\xcf\x1d\xc9\xc3\x6f\xe3\xb9\xb5\x60\x4d\xe5\x0b\x06\xd3\xb6\xf0\x57\x1f\xb8\x0c\x67\xed\x02\x55\xbd\x62\xf9\x5b\xec\x5b\xce\x4c\x34\x06\xd8\x11\x59\x11\x19\x60\x48\xdb\x9e\xa4\xe9\x0c\x59\x06\xb4\x0a\xe8\x68\xe2\x1f\xa0\xa7\xb8\x92\x0e\x19\xab\x8c\x44\xa6\x20\x06\x6d\xa4\x4e\xe8\xa6\x81\x91\xa5\x9e\x06\x36\xa3\xc0\x03\x9e\xd6\x60\x22\x3f\x70\xfb\xfd\xad\xd4\x68\x2c\x04\xf2\x4f\x46\x12\x0c\x68\x39\x41\x3b\x3a\x6b\xd8\x79\x18\xb4\x8b\x36\x8c\x0d\x8d\x3d\x88\x33\x7c\xc3\x6b\x30\x0c\x12\x2d\x0c\xc8\x52\x67\x58\x69\x2b\x10\xc1\xa0\xc9\x53\x05\x00\x24\x1e\x09\xf6\xde\x1d\x1b\x21\x7e\x67\xea\xc6\xca\xec\x56\xb6\x2a\xc0\x60\x58\xe7\x03\x85\x85\xdf\x0a\xf1\x65\x03\x0f\x9a\xe0\xbe\xb7\x07\xb3\x6b\x09\x1e\x52\x85\x74\x96\x3d\xca\xa8\x02\x93\xdf\xa3\x24\x08\x3a\xe5\x01\x5b\x4f\xa8\x4e\x31\x17\x8a\xba\xd6\x9d\x48\x41\x70\x47\x4a\xa0\xc4\x57\xb9\x1b\x76\x5d\x6b\x24\xc6\x7e\x3c\xef\x37\x76\xa9\x4e\x37\xe2\xeb\x7c\xa8\x72\x64\x8c\xd7\x58\xac\xf1\x89\x00\x47\x43\x63\x58\x39\xe5\x39\x37\xf6\x84\x4c\x4a\x00\x40\x32\x32\xb0\xf3\xa4\xc0\x58\x30\x1c\xd2\x17\x1e\x28\x73\x47\xe8\xfa\x5d\x6b\x82\x26\x55\xb2\x24\xbe\x69\xe0\x87\x04\x24\xe9\xf9\x2e\xb1\xbf\x2f\x9e\x34\x52\xc9\x77\x67\xf0\x29\xa5\xca\xec\xf7\xe4\x2b\x98\xe2\xdb\x26\x66\x16\x10\x2c\x0d\xf0\x2a\x2f\x6e\xe1\x75\x42\x96\xda\x4e\x7c\xac\xf3\x47\x6c\xdb\xd3\x3a\xc1\x65\x4d\x16\x7c\x6f\xf3\xe4\x4c\xe4\xcf\x62\x4d\x1e\x5d\x5d\xca\x7c\xe8\x40\xcc\xc6\x1e\x60\x76\x21\xa2\xf5\xb3\x41\x39\xc0\x8b\xa0\x37\xe2\x66\x23\x84\x39\x76\xce\x73\xf1\x3b\xdb\x9d\x1a\x5c\xcd\xd6\xae\xa6\xca\x1f\xdf\xe3\xb1\x9b\x17\xd6\x4b\xa5\x6e\x21\xdd\x58\xba\x58\xbd\x12\xa2\xa2\xb4\x9a\x1e\x86\x2d\xbc\x52\xca\x53\x08\xd7\xf0\x41\x24\x9e\x9d\xa7\x0e\x3d\xad\x50\x4a\xde\x02\xf6\xac\x57\xdf\x3b\xef\xdd\xf0\x16\xdb\x9e\xae\xe1\xc5\xa8\x73\x39\x10\x7f\x9b\x0d\xfc\x44\x3c\xb1\xce\xda\x48\xec\x70\x67\x5a\xc3\xa7\x31\x3a\x67\x95\x76\x94\x70\x9e\xaf\xb4\x2b\x9d\x5a\xe2\x2a\x8f\x2f\xa3\xec\xe3\xc0\x82\xf9\xba\x14\xc7\x5f\x53\xe6\x18\x0a\xcd\x81\xf8\xee\xc5\x87\x99\x9e\xcd\xe4\xd6\xf3\x77\xab\x5a\xbf\xb2\xfe\x26\x86\x53\xbe\x41\xd6\xd7\x33\x46\x55\x8e\x4a\x38\x72\xd4\xe3\xb5\x30\x3c\xbd\x77\x4b\xef\x95\x9b\x72\x52\xbd\x31\x35\xbf\xa7\x74\x9f\xee\x6e\x97\xce\x35\x39\x8a\xbf\xd2\x50\x5e\xe2\x55\xd1\x62\x7b\x96\xe5\x2c\x40\x34\xa9\x19\xef\x5a\x13\x61\xad\xee\x6e\x53\xf7\x35\xb0\xdb\xc2\x66\xdc\xda\x50\xc5\xbb\xf4\x9e\xb3\xfd\xc3\xb6\xc6\x3e\x26\xd8\xf4\xde\x84\x94\xf5\x8f\x78\x59\x8e\xc4\xf7\x36\x4e\x5f\xca\xff\x49\x8d\x1b\xa9\x49\x3e\x5e\x72\x29\x46\xab\xb6\xf8\x9f\x73\x7a\x3b\xbe\x28\x9f\x76\x74\x6a\xf2\x3c\x63\xfb\xcb\xc4\x35\xbe\x1c\x67\x9b\x2e\x32\x8e\xd6\xa5\xb7\x6f\x1a\xf3\x1a\x3b\x78\xf9\x11\x74\x93\x21\x26\x84\x9e\x2e\x11\x9d\xb1\xbc\x6c\x56\x29\x5d\x98\x3f\x1b\x3c\x89\xb2\x44\xb9\x06\xe4\x2d\xfc\xaf\xf0\xcf\x04\x2a\x28\x72\xf5\x45\x71\x4a\xed\x7f\x55\x67\x79\x09\x16\xc3\x3e\xb7\x4c\x35\xde\xac\xd3\x26\xed\xcb\x7f\xbb\x34\x39\x4c\xcf\x7f\x07\x00\x00\xff\xff\xcb\x05\xda\x40\xe0\x09\x00\x00"
 
 func create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -142,11 +142,11 @@ func create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0xb, 0x4f, 0x5, 0xa7, 0x5a, 0xc1, 0x1a, 0x19, 0xbb, 0xe4, 0xc5, 0x2b, 0xb4, 0xdb, 0x55, 0xa8, 0x60, 0x5, 0x5e, 0xa, 0xc9, 0x86, 0xf8, 0xdf, 0xf8, 0x64, 0x3b, 0xea, 0xdd, 0x7, 0x2b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb, 0x7b, 0xa8, 0xd4, 0x3e, 0x33, 0xb4, 0x2f, 0x6, 0xd2, 0x23, 0x8e, 0x77, 0xa1, 0xa7, 0x3d, 0xcb, 0x60, 0xd, 0x70, 0xdd, 0x3c, 0x20, 0x1f, 0xf, 0x98, 0xd4, 0x54, 0x65, 0xdb, 0xaf, 0x43}}
 	return a, nil
 }
 
-var _generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x54\xc1\x6e\x22\x39\x10\x3d\x87\xaf\x78\xe1\xb0\xdb\x48\x84\x5c\x56\x7b\x40\x24\x59\x14\x29\x7b\x8d\x32\x99\x99\x73\x61\x17\xb4\x27\xc6\x6e\xd9\x65\x3a\x28\xe2\xdf\x47\x76\x37\x0d\x24\x1a\x2e\x6d\xca\x55\xaf\x5e\x3d\x3f\xdb\x6c\x1b\x1f\x04\x4f\xc9\x6d\xcc\xca\xf2\xab\x7f\x63\x87\x75\xf0\x5b\x8c\x2f\x62\xe3\xd1\xe8\xf6\xf6\x16\x8f\xe4\xd0\x50\x8c\x30\x0e\xe4\xf6\x88\xe2\x03\x6d\x18\x0d\x49\x0d\x72\x1a\x81\x15\x9b\x1d\x87\x2e\x62\x5c\x14\x26\x0d\xbf\xc6\xaf\x14\x05\x52\x33\x34\xaf\x29\x59\x99\x15\xbc\xd7\xda\x44\x58\x96\x88\xbd\x4f\x50\xb5\xf7\x91\x4b\x96\x14\x22\x39\xd8\x92\x13\x88\x47\x64\xa7\x41\x11\x2d\x5b\x5b\x52\x14\x35\xb4\x32\xd6\xc8\xfe\x6b\x9e\xc9\xcb\xd2\xa2\xb4\x59\xba\x7d\x8f\x58\x68\x29\x72\x58\x71\x19\x84\x0b\x26\x39\x50\xd8\xa4\x2d\x3b\x41\xcd\x81\xa7\x88\x1e\x2d\xd9\xc2\x2c\xd6\x3e\x59\x5d\x70\xba\x25\x54\xcd\xea\xed\x54\xb1\x23\x9b\x38\xe6\xde\x5b\x7a\x63\xc4\x14\xba\x19\x8c\x13\x76\x9a\xf5\x79\x6b\x13\x8f\x6d\x8d\x2b\xf4\x24\x90\x8b\xa4\xc4\x78\x57\xd1\xd6\x27\x27\x73\x7c\x7f\x32\xef\xff\xfe\x33\x85\xf8\x39\x96\x5a\x07\x8e\x71\x5a\xe6\xe2\xf0\x4c\x52\xcf\xf1\xad\x93\x3d\xff\x99\x0e\x92\x77\x5b\xcf\x69\x65\x8d\xca\xeb\x09\x3e\x46\x23\x00\x28\x3a\x33\x7e\x64\xd9\x11\x38\xfa\x14\x54\x66\x48\x82\xda\x5b\x1d\x4f\x82\xc7\x2e\x4a\x81\xb1\x62\xe3\x36\x28\xec\xd6\x1c\x02\xeb\x02\x65\x59\x20\xbc\x6d\x0a\xd6\x1c\xff\x5d\x78\x64\x56\xa2\x5d\xcf\x26\x70\x43\x81\xab\x68\x36\x8e\xc3\x1c\xcb\x24\xf5\x52\xa9\x3c\xdf\xc0\xab\xe7\xf6\x3f\x0b\x08\x81\xd7\x1c\xd8\x65\x62\xbe\x10\xea\x2a\xff\x8e\xc5\x63\xac\xb1\x2b\xe0\xc7\xba\x4c\xa4\x44\x5e\x78\x8d\xbb\x3e\x79\xb6\xf2\x21\xf8\x76\x41\x49\xea\xea\x92\xda\x4f\x23\xb5\x0e\xd4\xd2\xca\xf2\x04\x7f\x7d\x5c\xee\x3e\x07\xbf\x33\x9a\xc3\xe1\xbe\xca\xde\x9f\x9f\x89\x3d\x19\x5d\x5d\x5d\x3d\x3c\xa0\x21\x67\x54\x35\x7e\x2c\x06\x70\x5e\xd0\xf5\xfa\xca\xdb\xb7\x1d\xed\x22\xc6\xf5\x78\x72\x9a\x35\xb2\x5d\xcf\x06\xf5\xb0\xb8\x19\x26\x98\xb5\x3d\xbd\xc1\x02\xdd\xb7\x2f\x3e\x74\x1f\x7e\x67\x95\x84\xcf\xe5\xcb\x32\x04\x56\xa6\x31\xd9\x88\x77\xd8\xb0\xf4\x2a\x57\xe2\x27\x9f\xd3\x8a\x4d\x3a\xc1\x86\xa2\xd9\x86\xe5\x71\xb8\x49\x8b\xcf\xca\xbc\xf4\x55\x87\xfb\xea\xdc\x67\x27\xe8\xfc\xeb\x75\xaf\x26\xd7\x17\x07\xfb\xda\x9b\xe7\xe8\xad\xf2\xac\xfc\xf1\x68\x8f\xfa\x0d\x2f\xc8\xe9\x7e\x0f\xa0\x67\x33\xcc\x34\x37\x3e\x1a\xe9\x0f\x6c\x71\x73\xa9\xee\xa4\x17\xee\xf0\x3b\x00\x00\xff\xff\xb8\xde\x8f\x3a\xe1\x04\x00\x00"
+var _generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x94\xcb\x6e\xdb\x3c\x10\x85\xd7\xf1\x53\x9c\x78\xf1\xff\x36\xe0\x28\x9b\xa2\x0b\x23\x97\xa6\x01\xd2\x6d\x90\xa6\xe9\x7a\x2c\x8e\x2d\x36\x34\x29\x90\x23\x3b\x46\xe0\x77\x2f\x38\x92\x65\x2b\x41\x57\x96\x47\x73\xf9\xe6\xf0\x50\x76\x5d\x87\x28\x78\x68\xfc\xca\x2e\x1c\x3f\x87\x57\xf6\x58\xc6\xb0\xc6\x78\x10\x1b\x8f\x46\x97\x97\x97\xb8\x27\x8f\x9a\x52\x82\xf5\x20\xbf\x43\x92\x10\x69\xc5\xa8\x49\x2a\x90\x37\x88\x5c\xb2\xdd\x70\x6c\x23\xd6\x27\x61\x32\x08\x4b\xfc\x69\x92\x40\x2a\x86\xe1\x25\x35\x4e\x0a\xed\xf7\x5c\xd9\x04\xc7\x92\xb0\x0b\x0d\xca\x2a\x84\xc4\x9a\x25\x0a\x92\x83\x5b\xf2\x02\x09\x48\xec\x0d\x28\x61\xcb\xce\x69\x4a\x49\x35\x2d\xac\xb3\xb2\xfb\x9c\x67\xf3\xa3\x8e\xd0\x31\x77\x7e\xd7\x75\x54\xac\x92\x3c\x16\xac\x8b\xb0\xf6\x24\x0f\x8a\xab\x66\xcd\x5e\x50\x71\xe4\x19\x52\xc0\x96\x9c\x92\xa5\x2a\x34\xce\x68\x9f\xf6\x11\x65\xc5\xe5\xeb\xb1\x62\x43\xae\xe1\x94\x67\xaf\xe9\x95\x91\x9a\xd8\xee\x60\xbd\xb0\x37\x6c\x4e\x47\xdb\x74\x18\x6b\xbd\xe2\x49\x24\x9f\xa8\x14\x1b\xfc\x84\xd6\xa1\xf1\x32\xc7\xaf\x07\xfb\xf6\xf5\xcb\x0c\x12\xe6\xb8\x33\x26\x72\x4a\x33\xdd\x8b\xe3\x23\x49\x35\xc7\xcf\x56\xf6\xfc\x67\xd6\x4b\xde\xbe\x7a\x6c\x16\xce\x96\xf9\x79\x8a\xf7\xd1\x08\x00\x54\x67\xc6\x4b\x96\x1d\x91\x53\x68\x62\x99\x09\x49\x50\x05\x67\xd2\x51\xf0\xd4\x46\x29\x32\x16\x6c\xfd\x0a\x4a\xb7\xe4\x18\xd9\x68\x2b\xc7\x02\xe1\x75\xad\xbd\xe6\xf8\x36\xf0\x48\xa1\xd1\x76\x66\x1d\xb9\xa6\xc8\x93\x64\x57\x9e\xe3\x1c\xd4\x48\x35\xf9\x1e\x62\x0c\xdb\x97\x2c\xd7\x14\xff\xdd\x95\x65\x5e\xb7\xc7\xec\x50\x7f\xb0\x80\x10\x79\xc9\x91\x7d\xe6\x0c\xca\xd7\x36\xfa\x3f\xa9\xe5\xd8\x60\xa3\xb3\x0e\x75\x99\x4b\x23\x4f\xbc\xc4\x75\x97\x5c\x74\xee\x2c\x16\x3a\xf7\x4a\x19\x86\xc4\xbf\xad\x54\x26\xd2\x96\x16\x2e\x23\xbd\x0f\xdf\x3e\xc6\xb0\xb1\x86\xe3\xfe\x66\x92\xaf\xc4\xfc\xe4\x0c\xa6\xa3\xb3\xb3\xb3\xdb\x5b\xd4\xe4\x6d\x39\x19\xdf\xab\x2f\x7c\x10\xb4\xb3\x3e\xf3\x87\x6d\x8b\xaf\x1a\x9d\x8f\xa7\xc7\x9d\x13\xbb\x65\xd1\x8b\x8a\xab\x8b\x7e\x93\x62\xdb\xe1\xf5\xce\x68\x7f\xa7\x5a\xbb\x6f\x5b\xf0\x1b\x97\x8d\x30\xde\x07\x62\x44\x2e\x6d\x6d\xb3\x3b\xaf\xb1\x62\xe9\xb4\x9e\x48\x98\x7e\x4c\x53\xef\xb4\xb2\xf5\x45\x45\x7f\xb7\x2c\xa7\x83\x7c\x1f\xd5\x79\xea\x6a\xf7\x37\x93\x53\x0b\x4e\xcf\x07\xc7\xf9\xdc\x39\xe8\x60\x30\xfd\xb6\xfc\xf3\x40\x0f\x6a\xf5\x9f\x91\xe3\x25\xef\x9b\x9e\x30\x17\x86\xeb\x90\xac\x74\xc7\x73\x75\x31\xd4\xf2\xa0\xd3\xfe\x6f\x00\x00\x00\xff\xff\xf5\xe9\xda\xde\xe6\x04\x00\x00"
 
 func generic_transferCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -162,11 +162,11 @@ func generic_transferCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "generic_transfer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x32, 0xf0, 0x89, 0x6e, 0x8b, 0xe2, 0x48, 0x4c, 0x6, 0x93, 0xf7, 0xf6, 0xec, 0x59, 0x93, 0x5e, 0x12, 0x21, 0xb9, 0xef, 0x42, 0x4d, 0x91, 0x79, 0xcb, 0xd1, 0x9a, 0x75, 0xcd, 0x16, 0xec, 0x1c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0xa, 0x47, 0xee, 0x45, 0x10, 0x59, 0xa1, 0xa6, 0xab, 0x61, 0xf3, 0xf5, 0xf4, 0xbd, 0xaa, 0xa2, 0xec, 0xcb, 0x54, 0xad, 0x1c, 0x19, 0xf6, 0x3b, 0x15, 0x63, 0x2e, 0xb4, 0xc3, 0x47, 0xb}}
 	return a, nil
 }
 
-var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x94\x41\x6f\x9b\x4c\x10\x86\xef\xfc\x8a\x91\x0f\xf9\x88\xe4\xc0\xdd\x72\x12\x25\xf9\x9a\x9e\x2a\x45\xa9\xdb\xfb\x18\x06\x58\x05\x76\xd1\xee\x60\x1a\x45\xfe\xef\xd5\xee\xc2\x1a\x90\xdd\x56\x6a\x39\x58\x68\x3c\xef\xec\x33\xef\xce\x20\x9a\x56\x69\x86\xe7\x4e\x96\x62\x5f\xd3\x4e\xbd\x91\x84\x42\xab\x06\x56\xb3\xd8\x2a\x3a\x97\xf9\x85\x18\x73\x64\xfc\x2e\xa8\x37\xe7\x64\xb3\x84\x50\xe3\x9c\x2c\x53\x92\x35\x66\x6c\xd2\x8e\x45\x2d\xf8\x3d\x5d\x68\xa3\x34\x4d\x61\x57\x09\x03\xac\x51\x1a\xcc\x58\x28\x09\xc2\x40\x5f\x21\x03\x4a\xc0\x2c\x53\x9d\x64\xe8\x55\x57\xe7\xa0\x3b\xe9\x14\xac\xc0\x10\x83\x60\x43\x75\x01\x5d\x6b\x03\x0d\x4a\x2c\x09\x8a\x81\x14\xd8\xa2\x9a\xc4\x57\x2f\x3a\xe9\x4a\x3b\x75\x67\xc8\xc0\xc1\x61\xb2\x82\x37\xa9\x7a\xe8\x2b\xd2\x34\x96\xb5\xf5\x2a\x82\x03\x76\x35\x3b\x81\x90\x60\x58\x69\x5b\x1e\x65\x6e\xd3\x32\x4d\xc8\xe4\xd2\xa8\x69\xf9\xdd\x27\x27\x51\x34\x69\x23\xc6\x3c\xd7\x64\xcc\x06\x1e\xfc\xcb\x1a\xda\x6e\x5f\x8b\xec\x05\xb9\xda\xc0\x4b\x78\xbf\x86\x8f\x28\x02\x00\x68\x35\xb5\xa8\x29\x36\xa2\x94\xa4\x37\xf0\xd0\x71\xf5\xe0\x0d\xb0\x39\x30\x3c\x69\x0a\x8f\x4a\x6b\xd5\x03\x82\xa6\x82\x34\xc9\xcc\xc1\x07\x6a\x87\x4b\x39\x28\xe9\x62\x2d\x1a\x43\x79\xf0\x12\x79\x1a\x3d\x31\x85\x03\x6a\x62\xd0\x64\x54\x7d\x20\xfd\x4a\x05\xdc\x42\x49\x3c\x80\x8c\x5d\x5d\x87\x6c\xfb\x24\x25\xf1\x13\xb6\xb8\x77\xb7\x1c\x9f\x6a\x2e\xd2\xf6\x8e\x7b\x7b\xf5\x31\x9b\x83\xe4\x75\x38\xec\x78\x17\xcf\x05\xf7\xf7\xd0\xa2\x14\x59\xbc\x7a\x72\x03\x20\x15\xc3\xfe\x37\xbd\xdb\x9b\x0d\xf8\xb0\xba\x8e\xa6\xc6\x7d\x33\xf6\xd6\x90\xe7\x62\x4d\xac\x05\x1d\xfc\x85\x3e\xef\x2c\x14\xcc\xdc\x28\xd8\xc5\x6e\x7f\xb1\x29\xd6\x02\x2f\x8d\x2d\xc1\xd8\xd2\x66\xea\xe4\x9c\xe5\x33\xf1\x78\xa0\x05\xff\x1f\x19\x3d\xbc\x5b\x1e\xf7\x73\xe2\x59\xe2\x04\xc5\xed\x00\x97\x4c\x83\xa3\x6f\x10\xaf\x76\x15\x8d\xe3\xe0\xfd\xc9\x45\x2e\xff\x63\x10\x4d\x5b\x53\x43\x92\x27\xd6\xe5\x23\xc2\xc2\xb5\x27\x3f\xee\x08\x92\xfa\xe9\xc0\x43\x67\x84\x2c\x5d\x01\xbf\x11\x9f\xec\x7f\x0e\x23\xac\x1c\x08\x69\x44\x4e\xcb\x4e\x67\xfd\xd0\x49\xb6\xbd\x99\xf4\x91\x2c\xab\xc6\x73\xae\xaf\x78\x20\x10\x3c\xde\xff\x30\xe0\x21\xc3\xef\x51\x62\xf0\x40\xf1\xf6\xe6\x74\xc8\x1a\x58\x6d\xa6\x26\x26\xc3\x7a\xfb\x89\x3d\xdb\xb9\x1f\x69\xc8\xc2\x90\x43\xa1\xf4\xc4\x3a\xfa\xd1\xaa\x60\x86\xa6\x8c\x84\x9d\x3e\x21\x99\x74\x81\x19\x2d\x99\x6a\x21\xdf\xb6\x57\x1f\xb3\x71\x4a\x5e\x07\xd9\xf1\x2e\x9e\x6d\xc1\x94\x74\x2c\x6d\x51\xd7\xb3\x2c\x46\x5d\x12\x5f\xec\x2b\xe4\xfe\x8b\x06\xf7\x58\xa3\xdd\x1d\xfb\x39\x0c\xab\x16\x9a\x35\x7f\xd4\xed\xa3\xaf\xb1\x86\x8b\xdf\x82\x8b\x26\x34\x83\xe2\xaf\x4d\x38\x46\xc7\x08\x7e\x06\x00\x00\xff\xff\x05\xda\xfa\x5c\x2f\x07\x00\x00"
+var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x6e\xdb\x30\x0c\xbd\xfb\x2b\x88\x1c\x3a\x07\x48\x9d\x7b\x90\xb4\x68\xb3\x75\xa7\x01\x45\x97\xf5\xce\xd8\x74\x2c\xd4\x91\x0c\x89\x4e\x56\x14\xf9\xf7\x41\x92\xad\x58\x6e\xba\x1e\xb6\x1c\x02\x83\x26\x9f\xde\x7b\xe2\xb3\xd8\x37\x4a\x33\x3c\xb4\x72\x27\xb6\x35\x6d\xd4\x0b\x49\x28\xb5\xda\xc3\x24\xaa\x4d\x92\x4b\x9d\x3f\x88\xb1\x40\xc6\x67\x41\x47\x73\x69\x2c\x6a\x08\x18\x97\xc6\x72\x25\x59\x63\xce\x66\xde\xb2\xa8\x05\xbf\xce\x47\xb3\xc9\x7c\x3e\x87\x4d\x25\x0c\xb0\x46\x69\x30\x67\xa1\x24\x08\x03\xc7\x0a\x19\x50\x02\xe6\xb9\x6a\x25\xc3\x51\xb5\x75\x01\xba\x95\x6e\x82\x15\x18\x62\x10\x6c\xa8\x2e\xa1\x6d\x6c\x61\x8f\x12\x77\x04\x65\xc7\x14\xd8\x52\x35\x99\x47\x2f\x5b\xe9\xa0\xdd\x74\x6b\xc8\xc0\xc1\xd1\x64\x05\x2f\x52\x1d\xe1\x58\x91\xa6\x1e\xd6\xe2\x55\x04\x07\x6c\x6b\x76\x03\x42\x82\x61\xa5\x2d\x3c\xca\xc2\xb6\xe5\x9a\x90\xc9\xb5\xd1\xbe\xe1\x57\xdf\x9c\x25\xc9\x40\x46\x8a\x45\xa1\xc9\x98\x05\xdc\xf9\x87\x19\x34\xed\xb6\x16\xf9\x23\x72\xb5\x80\xc7\xf0\x3c\x85\xb7\x24\x01\x00\x68\x34\x35\xa8\x29\x35\x62\x27\x49\x2f\x00\x5b\xae\xd2\x9f\x78\xa0\x67\xac\x5b\x9a\xc1\x1a\x1b\xdc\x5a\x1f\x05\x99\x29\x5c\xdd\x79\x6f\xec\x38\x74\xbf\xf9\x1c\xee\x95\xd6\xea\x08\x08\x9a\x4a\xd2\x24\x73\xa7\x2b\x08\x72\x4a\xa8\x00\x25\x5d\xad\x41\x63\xa8\x08\x36\x23\x0f\xab\x67\xba\xe1\x80\x9a\x18\x34\x19\x55\x1f\x48\x3f\x51\x09\x2b\xd8\x11\x77\x44\x7a\xc1\xd3\xd0\x6d\x7f\x59\x3e\x60\x9d\x6d\x1d\xbb\xe5\xd5\x5b\xb4\x08\xd9\x53\x07\x79\xba\x49\xcf\x87\xc6\x38\xb7\xb7\xd0\xa0\x14\x79\x3a\x59\xbb\x5d\x90\x8a\x61\xfb\x89\x56\x7b\xc9\x81\x2e\x4c\xa6\xc9\xd0\xa8\x5f\xc6\x5e\x20\x72\x3c\xac\x89\xb5\xa0\x83\xbf\xdb\x87\x8d\xa5\x07\x91\xfa\x92\x5d\x6d\xf5\x97\xd0\x64\x3b\x62\x3f\x9a\x5a\x06\xbd\xb8\xc5\xd0\xb9\x98\xcb\x77\xe2\xfe\x40\x4b\xfc\x2b\x32\x7a\xf2\x2e\x47\xee\xef\xcc\x67\x4c\x27\x4c\xac\x3a\x72\xd9\xb0\xd8\xfb\x06\xe9\x64\x53\x51\x7f\xfd\xde\x9f\x42\x14\xf2\x0b\x83\xd8\x37\x35\xed\x49\xf2\xc0\xba\xa2\xa7\x30\x72\x6d\xed\x37\x1f\x41\xd2\x71\xb8\xfb\xd0\x1a\x21\x77\x0e\xc0\x87\xe3\x9b\x7d\xe7\x68\x84\xf4\x81\x90\x46\x14\x34\x56\x1a\xe9\xa1\xf3\xd8\xf2\x7a\xa0\x23\x1b\xa3\xa6\x31\x2f\x1b\x13\x10\xdc\xdf\x7f\xb7\xd0\xa1\xc3\x47\x2a\xeb\x62\x9c\x19\x3c\x50\xba\xbc\x3e\x1f\x36\x03\x56\x8b\xa1\x99\x7d\xab\x5f\xc4\x8b\x0e\xf8\x4d\x85\xb0\xdf\xaf\x50\x2a\x3d\xb0\x90\x7e\x37\x2a\x98\xa2\x29\x27\x61\xb7\x50\x48\x26\x5d\x62\x4e\xa3\x4c\xf9\xd7\x6b\x6c\x60\xd5\xb3\x8d\x92\xd3\x53\x17\xc6\xb4\xb4\xbc\x7a\x8b\xd6\x2f\x7b\xea\xe6\x4f\x37\xe9\x87\x22\x46\x5e\x44\xe8\x4e\x8b\xa9\xd2\x01\x8f\x19\x20\xc7\x96\xf4\x2f\xff\x97\x27\x5b\xac\xd1\xc6\xce\x7e\x54\x43\x4a\x83\x3f\x26\x32\x68\xef\x03\xd6\x67\xe9\x53\x9f\xe2\x6f\xd0\x65\xd3\xee\xfd\xf9\x33\xf8\xf0\x63\xf4\x4f\x5e\xbe\xa7\xfc\xde\xd2\xae\x07\xcf\xa8\xa7\xe4\x94\xc0\x9f\x00\x00\x00\xff\xff\xe4\xc6\x2b\xaf\xc2\x07\x00\x00"
 
 func metadataSetup_account_from_vault_referenceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -182,11 +182,11 @@ func metadataSetup_account_from_vault_referenceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "metadata/setup_account_from_vault_reference.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x57, 0x6c, 0xcd, 0x92, 0xe8, 0xa, 0x42, 0xf7, 0x79, 0x7a, 0x78, 0x52, 0x41, 0x12, 0xb9, 0x60, 0xec, 0x5a, 0xef, 0x2, 0x92, 0x3f, 0x63, 0x1e, 0x3a, 0x36, 0x98, 0xa, 0x43, 0xab, 0x81}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x36, 0xe6, 0x9e, 0x6c, 0x2f, 0x22, 0x26, 0x24, 0x76, 0xcb, 0x34, 0x9, 0x79, 0x38, 0xac, 0x7e, 0x8d, 0x84, 0x45, 0xa5, 0x5c, 0xe3, 0x9f, 0xf7, 0x74, 0x53, 0x17, 0x3e, 0xfe, 0xcd, 0x42}}
 	return a, nil
 }
 
-var _mint_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\xcb\x6e\xdb\x40\x0c\xbc\xeb\x2b\x08\x1d\x02\x19\x4d\xe4\x4b\xd1\x83\x11\x27\x70\xd2\xa6\xa7\x16\x41\x1e\xbd\xaf\x24\xca\xde\x56\xda\x15\xb8\x54\x1c\x23\xc8\xbf\x17\xfb\x92\x25\x3b\x8e\x2f\x06\x56\xc3\x21\x39\x1c\x52\xb6\x9d\x26\x86\xbb\x5e\xad\x65\xd1\xe0\x93\xfe\x87\x0a\x6a\xd2\x2d\xa4\x93\xb7\x34\x09\xc8\x1f\xaf\xa2\xed\xa6\xc0\xf1\x53\x9a\x24\xf3\xf9\x1c\x9e\x36\xd2\x00\x93\x50\x46\x94\x2c\xb5\x02\x69\x60\xbb\x11\x0c\xbc\x41\x68\xa5\x62\x24\x58\x95\xa5\xee\x15\x43\x6f\xd0\x00\x6b\xf7\x0c\x0a\xb7\xc0\x96\xc8\x04\x1e\xdc\x41\x47\xfa\x45\x56\xe8\x62\x09\x4b\xd9\x49\x54\x0c\xa2\xaa\x08\x8d\x01\xa1\x2a\x10\xad\x63\x0a\x24\xe7\xee\xcd\xa2\x47\x4c\x82\xd0\x17\x54\x23\x11\x56\x16\x6b\x11\x03\x4b\x6d\x4b\xb2\xd1\x52\xad\x93\x64\x54\x7a\x36\xa4\x5c\xc0\xca\xa3\xcf\x43\xc2\x05\x3c\xdf\xc9\xd7\x6f\x5f\x67\xf0\x96\x24\x00\x00\x36\xd1\x03\xd6\x48\xa8\x4a\x8c\x29\x82\x3c\xe0\x25\x5b\x55\xad\x54\xf0\x80\x46\xf7\x54\x22\xe8\xe2\x2f\x96\xec\x82\x1b\x64\x5f\xb0\x83\x2c\xe0\x6c\xac\x6b\xee\x1e\xa5\x61\x12\xac\xe9\x93\x6c\x71\x6a\x21\xdd\x03\x96\x28\x5f\x90\x40\xd7\x53\xfd\xa6\x29\x23\x6c\x01\x67\x6f\x93\xb9\xe7\xf1\xcb\xfb\x3e\xe7\x93\x53\x96\x45\x03\xa6\xef\xba\x66\xe7\xb8\x9d\xd2\x50\x60\xad\xc9\x4f\xaa\xe8\x49\x0d\x49\x3c\xf0\xc6\x7d\x8d\xaa\x79\xc2\x8e\xb0\x13\x84\x99\x91\x6b\x65\xf3\xaf\x7a\xde\x04\x67\x58\x59\x21\xfc\x0c\x36\x75\x3e\x66\x81\xe5\xc4\x8a\xb9\x2b\xe8\xd1\x01\x92\x21\x6a\x3e\x87\x1b\x4d\xa4\xb7\x20\x80\x0e\x95\x12\x6e\x12\xa3\x01\x0c\x79\xf6\x53\x80\x25\xf8\xc2\xf2\xc2\xf1\x5c\x7e\x32\x94\xab\xcc\xae\xc3\x02\x8e\x11\x8f\xac\x49\xac\xf1\x5e\xf0\x66\x36\x64\xb2\xbf\xeb\x6b\xe8\x84\x92\x65\x96\x3e\xba\x2c\x76\x4d\x94\xe6\xbd\x77\x7d\x91\xe9\x6c\xd2\xd2\x4f\xf4\x08\x11\x16\xe8\x70\xb4\xce\xfe\xc5\xa9\xbe\x25\x59\xa4\x9b\xe9\x07\x5d\x0f\x7e\x59\xc2\x1a\x39\x0c\x62\xbf\x02\xd3\xf2\xf3\x35\xf2\xad\xe8\x44\x21\x1b\xc9\xbb\x6c\xd2\x78\x24\xba\xef\x8b\x46\x96\xc7\xad\x0f\x82\x9e\xf2\xdb\x55\x76\x4a\xab\x67\x25\xac\xc1\x59\xc7\x26\x63\x3f\xfb\x5e\x53\x1f\x1b\x4c\x8b\xaf\x58\xf6\x8c\x71\x4b\x83\x8c\xb7\x84\x82\x11\x44\xbc\x47\x56\x35\x77\x83\xc2\xd5\x88\x50\xeb\xdf\x00\xb9\xbc\x38\x34\x48\x5e\x3a\x96\xdf\xb8\xfd\xe5\x20\x99\x68\x1a\xbd\xc5\x6a\x15\x0e\x84\x3f\x14\xb3\x63\xb2\xea\x8f\xe8\x1b\xb6\x8c\x9e\x3b\xb7\x7f\x4e\x02\x93\x89\x83\xe0\x71\xd5\xdf\xb1\xd3\x46\x3a\x03\xb4\xd1\xc9\xae\x7f\xfc\x7c\xa0\x79\xe5\x03\x83\x49\x2f\x2f\x46\x55\x8c\x32\x54\x68\x98\xf4\x2e\x14\x35\x16\xb1\xd3\x86\x47\x0b\x79\x6a\xf9\x60\xb9\xfc\x60\x59\xbf\x0c\x17\x33\x3d\xba\x1e\x6d\x6f\x18\x0a\x04\xa9\xac\x96\x06\x2b\x28\x76\xde\xdf\x2e\x24\x0d\x45\xbc\xff\x0f\x00\x00\xff\xff\xee\xc5\x65\x61\xab\x06\x00\x00"
+var _mint_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\xcb\x6e\xdb\x30\x10\xbc\xeb\x2b\x16\x3a\x04\x32\x9a\xc8\x97\xa2\x07\x23\x4e\xe0\xb4\x4d\x4f\x2d\x82\xbc\xee\x2b\x6a\x65\xb3\x95\x48\x81\x5c\xc5\x31\x82\xfc\x7b\xc1\x87\x64\xc9\x89\xed\x8b\x01\x6a\x76\x66\x38\xbb\x4b\xd9\xb4\xda\x30\xdc\x76\x6a\x2d\x8b\x9a\x1e\xf5\x3f\x52\x50\x19\xdd\x40\x3a\x39\x4b\x93\x88\xfc\xf9\x8a\x4d\x3b\x05\x8e\x8f\xd2\x24\x99\xcf\xe7\xf0\xb8\x91\x16\xd8\xa0\xb2\x28\x58\x6a\x05\xd2\xc2\x76\x83\x0c\xbc\x21\x68\xa4\x62\x32\xb0\x12\x42\x77\x8a\xa1\xb3\x64\x81\xb5\x3f\x06\x45\x5b\x60\x47\x64\x23\x0f\xed\xa0\x35\xfa\x45\x96\xe4\x6b\x0d\x09\xd9\x4a\x52\x0c\x58\x96\x86\xac\x05\x54\x25\x60\xe3\x99\x22\xc9\xb9\x3f\x73\xe8\x11\x13\x1a\x0a\x86\x2a\x32\x86\x4a\x87\x75\x88\x81\xa5\x72\x96\x5c\xb5\x54\xeb\x24\x19\x59\xcf\x06\xc9\x05\xac\x02\xfa\x3c\x0a\x2e\xe0\xe9\x56\xbe\x7e\xfb\x3a\x83\xb7\x24\x01\x00\x70\x42\xf7\x54\x91\x21\x25\xa8\x97\x88\xf1\x40\x88\x6c\x55\x36\x52\xc1\x3d\x59\xdd\x19\x41\xa0\x8b\xbf\x24\xd8\x17\xd7\xc4\xc1\xb0\x87\x2c\xe0\x6c\x9c\x6b\xee\x0f\xa5\x65\x83\xac\xcd\x09\xb5\xbe\x6b\x51\xee\x9e\x04\xc9\x17\x32\xa0\xab\x69\x7e\x53\xc9\x1e\xb6\x80\xb3\xb7\x49\xdf\xf3\xfe\xcb\xfb\x5e\xf3\xd1\x27\xcb\x58\x83\xed\xda\xb6\xde\x79\x6e\x9f\x34\x14\x54\x69\x13\x3a\x55\x74\x46\x0d\x22\x01\x78\xe3\xbf\xf6\xa9\x05\xc2\xd6\x50\x8b\x86\x32\x2b\xd7\xca\xe9\x63\xc7\x9b\xec\x46\x1b\xa3\xb7\xcf\x58\x77\x34\x83\xb3\x38\x28\x2e\x65\x88\x3f\x4b\x75\x95\x8f\x49\x61\x39\x99\xcc\xdc\xfb\x7b\xf0\x80\x64\xa8\x9a\xcf\x21\x30\x03\x82\x39\x0c\x0e\x7d\x63\x46\xfd\x18\x74\xf6\x4d\x81\x25\x04\x9f\xb9\x65\x6d\x70\x4d\x79\xe1\xf9\x2e\x4f\xf4\xea\x2a\x73\x5b\xb2\x80\x8f\x88\x87\xc0\x71\x87\xbc\x99\x0d\x8a\xee\x77\x7d\x0d\x2d\x2a\x29\xb2\xf4\xc1\xab\xb9\xed\x51\x9a\xf7\x23\x1d\xcc\xa6\xb3\xc9\xd5\x7e\x51\x40\x60\xdc\xab\xc3\x8e\xfb\xad\x28\x8e\xdd\x5f\x1a\x87\xf4\xad\xfe\xe4\xf6\xc3\x18\x2d\x61\x4d\x1c\x1b\xb2\xdf\x8c\xa9\xfd\x5c\x60\x8b\x85\xac\x25\x4b\xb2\x43\x42\xc7\xe6\xea\x2a\x9b\x24\xd3\x9f\xdf\x75\x45\x2d\xc5\xa9\x6c\x9e\x14\xba\x39\x67\xdd\x5f\xaa\xf7\xbf\xbf\x5b\x1a\x6a\xe3\xec\xd2\x2b\x89\x8e\xa9\x5f\xd6\x18\xdb\x77\x43\xc8\x04\xd8\x3f\x4b\x2e\x25\xff\x14\xc5\xc7\xa3\x87\xba\x31\x8e\x90\xcb\x8b\xc3\xc1\xc8\x85\x67\xf9\x43\xdb\xdf\x1e\x92\x61\x5d\xeb\x2d\x95\xab\xf8\x4e\x84\xf7\x62\xf6\x91\xac\x7c\xc6\xae\x66\xc7\x18\xb8\x73\xf7\xe7\x93\xb0\x19\x1e\x14\x8f\x5d\xff\xa0\x56\x5b\xe9\x1b\xde\xf4\x13\xec\xef\x4f\xa7\x1b\x98\x97\xa1\x30\x0e\xe5\xe5\xc5\xc8\xc5\x48\xa1\x24\xcb\x46\xef\xa2\xa9\x71\x88\xad\xb6\x3c\x5a\xc4\x63\x4b\x07\xcb\xe5\x27\x4b\xfa\x65\x78\x38\xd3\x0f\x8f\x48\xd3\x59\x86\x82\x40\x2a\x97\xa5\xa5\x12\x8a\x5d\x98\x67\x5f\x92\x46\x13\xef\xff\x03\x00\x00\xff\xff\xa5\x93\x00\x8d\xb2\x06\x00\x00"
 
 func mint_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -202,7 +202,7 @@ func mint_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "mint_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4a, 0xc0, 0xaf, 0x31, 0xa, 0x7f, 0x60, 0x76, 0xe3, 0xd, 0xeb, 0xc7, 0x4, 0x8b, 0x85, 0x48, 0xf4, 0x4a, 0x4c, 0xf3, 0xcb, 0x7e, 0xa7, 0x4c, 0xe0, 0xd8, 0x2b, 0x64, 0xc0, 0xdf, 0xa0, 0x9f}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0xc, 0x6e, 0xa7, 0x4b, 0x89, 0x2d, 0x33, 0x29, 0x41, 0x1d, 0xb5, 0x99, 0x75, 0x30, 0x68, 0x31, 0x85, 0xf6, 0xda, 0xc5, 0x2b, 0xe2, 0xdd, 0x8a, 0x2d, 0xd4, 0x2e, 0x86, 0xba, 0xaa, 0x3d}}
 	return a, nil
 }
 
@@ -306,7 +306,7 @@ func privateforwarderTransfer_private_many_accountsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _safe_generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x95\xc1\x6e\xe3\x36\x10\x86\xcf\xf1\x53\xcc\xfa\xb0\x2b\x01\x5e\xe5\x52\xf4\x60\x24\x4d\xdd\x00\xe9\xa1\x87\x06\x89\xdb\x9e\xc7\xe2\x48\x62\x43\x93\x02\x39\xb2\x62\x18\x7e\xf7\x82\xa4\x44\x5b\x71\x52\x64\x4f\x61\x46\xe4\xfc\xdf\xfc\x9c\xa1\xe5\xb6\x35\x96\xe1\xa1\xd3\xb5\xdc\x28\x5a\x9b\x17\xd2\x50\x59\xb3\x85\xf9\x24\x36\x9f\xcd\xae\xaf\xaf\xe1\x1e\x35\xb4\xe8\x1c\x48\x0d\xa8\xf7\xe0\xd8\x58\xac\x09\x5a\xe4\x06\x50\x0b\xb0\x54\x92\xdc\x91\x8d\x11\xa9\x1d\x13\x0a\x30\x15\xfc\xdb\x39\x06\x6e\x08\x04\x55\xd8\x29\x2e\x42\xbe\x75\x23\x1d\x28\x62\x07\x7b\xd3\x41\xd9\x18\xe3\x28\xec\xe2\x00\xe2\x83\x3d\x6a\x06\x36\xe0\x48\x0b\x40\x07\x3d\x29\x15\xb6\x94\xd8\xe2\x46\x2a\xc9\xfb\xcb\x7d\xd2\x2f\x83\x44\x90\x59\xe9\xfd\x90\x31\x60\x95\xa8\x61\x43\xa1\x10\x0a\x39\x51\x03\xda\xba\xdb\x92\x66\x68\xc8\xd2\x02\x9c\x81\x1e\x55\x20\x73\x8d\xe9\x94\x08\x79\xe2\x12\xca\x86\xca\x97\xd3\x89\x1d\xaa\x8e\x9c\xd7\xde\xe2\x0b\x81\xeb\x6c\xac\x41\x6a\x26\x2d\x48\x9c\x4b\x4b\x37\xca\x4a\x1d\xf0\xd8\xa2\x76\x58\xb2\x34\x3a\xc3\xad\xe9\x34\x2f\xe1\xaf\x07\xf9\xfa\xf3\x4f\x0b\x60\xb3\x84\x95\x10\x96\x9c\x5b\x84\xba\xc8\x3e\x22\x37\x4b\x78\x8e\xb6\xfb\x7f\x16\xc9\xf2\xf8\xe9\xb1\xdb\x28\x59\xfa\x75\x0e\x87\xd9\x0c\x00\x20\xf8\x4c\xf0\xb7\xb7\x1d\x2c\x39\xd3\xd9\xd2\x13\x22\x43\x63\x94\x70\x27\xc3\x5d\x8c\xa2\x25\xd8\x90\xd4\x35\x04\xba\x8a\xac\x25\x11\x52\x29\x62\x60\xda\xb6\x21\xd7\x12\x7e\x9d\xf4\x48\x11\xa2\x49\xf3\x37\x63\xad\xe9\x7d\xf9\x54\x91\x25\x5d\xd2\x88\x3a\x8a\xc9\x6a\x88\x78\x29\x2c\x4b\x5f\x3d\x08\x43\x4e\x7f\x63\x70\x5d\x1b\x5a\xd3\xc3\xf9\xda\x03\x8e\x3f\x97\x40\xa2\x23\x4f\x43\xf9\x4f\x54\x2d\xe1\xeb\x21\x92\x8c\xc1\x63\xa4\x69\x2d\xb5\x68\x29\x73\xb2\xd6\x64\x97\xb0\xea\xb8\x59\x45\xbd\xe4\xd2\x40\xfd\x3b\x31\x20\xd8\x84\xcc\x26\x12\x84\x93\xdf\x5c\xe8\x78\x12\xb0\x0b\xa5\x8e\xe7\x3c\x4d\x88\x3c\x51\x05\xb7\xc3\xe6\x62\x13\x0c\xb8\xc1\x8e\x9b\x6c\x6a\xd4\x3f\x92\x1b\x61\xb1\xc7\x8d\xa2\x1c\xbe\x1e\xa6\x5f\x1f\xad\xd9\x49\x41\xf6\xf8\x4b\xe6\x27\x71\x79\x76\xf5\xf9\xec\xea\xea\xea\xee\x0e\x5a\xd4\xb2\xcc\xe6\xf7\xa1\x1d\xb5\x61\x88\x5a\x97\xdc\xa6\x8f\xd8\xe1\x6a\xbe\xcc\xf3\x84\x9c\x16\x8e\x54\x55\x5c\x58\x79\x51\xc5\x5b\xc8\xe4\xf0\x8f\x43\x7e\x94\xe9\x13\xf4\x53\xea\xd4\x89\x70\xf3\x3d\xf9\x5f\xf4\x83\xb9\x69\x9c\xe2\xdf\x58\xfa\xd0\x10\xf4\x4a\x65\xc7\x04\x87\xc9\x15\xda\x49\xfd\x35\xf1\xd0\x23\x19\x9b\xbc\xa8\x89\xef\xd3\x8b\xf3\x7f\x76\x9c\xcf\x63\x3e\xd8\x97\xe5\x5f\x26\x4a\x43\x73\x93\x08\xf8\xeb\x7d\x4b\x0e\x6e\xcf\xf5\xbd\xdc\xf3\xe5\xa6\x2c\x3f\xef\xd5\x3f\xb5\xda\xa7\x11\x1d\x87\xaa\x6f\x48\x07\xf3\xd2\x53\x2c\x1d\xf4\x52\xa9\x38\x40\xa7\x19\xf4\x43\x8f\xb6\x26\x26\x01\x0f\xeb\x22\x25\x96\xd5\x7b\x78\x45\x69\x34\xa3\xd4\xee\x0f\xda\x67\x53\xf7\x3d\xab\xdf\x93\xe5\xf9\x99\xa1\xe3\xcb\xf3\x06\x2f\xfc\xb6\x7c\x38\x51\xe3\xc5\x27\xf6\xd3\x23\x3f\x49\x7c\xee\x94\xa0\xd6\x38\xc9\x43\x1b\xde\x7c\x9f\xc2\x9d\x0c\x3b\x02\x29\x47\x6f\x08\xdf\xef\xfe\xcf\xe7\x1c\x9a\xea\xf8\x5f\x00\x00\x00\xff\xff\x5f\x5e\x68\x9b\x48\x07\x00\x00"
+var _safe_generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x95\xc1\x6e\xdc\x36\x10\x86\xcf\xde\xa7\x98\xf8\x90\x48\x80\x23\x5f\x8a\x1e\x16\x4e\x53\x37\x80\x7b\xe8\xa1\x86\xe3\xa6\xe7\x59\x71\x24\xb1\xe6\x92\x02\x67\x64\x65\xb1\xd8\x77\x2f\x48\x4a\xdc\x95\x37\x06\x9c\xd3\x72\x47\xd4\xfc\xdf\xfc\x9c\xa1\xf4\xb6\x77\x5e\xe0\x6e\xb0\xad\xde\x18\x7a\x74\x4f\x64\xa1\xf1\x6e\x0b\x97\x8b\xd8\xe5\x6a\x75\x7d\x7d\x0d\x5f\xd0\x42\x8f\xcc\xa0\x2d\xa0\xdd\x01\x8b\xf3\xd8\x12\xf4\x28\x1d\xa0\x55\xe0\xa9\x26\xfd\x4c\x3e\x45\xb4\x65\x21\x54\xe0\x1a\xf8\x6f\x60\x01\xe9\x08\x14\x35\x38\x18\xa9\x62\xbe\xc7\x4e\x33\x18\x12\x86\x9d\x1b\xa0\xee\x9c\x63\x8a\xbb\x24\x82\x84\xe0\x88\x56\x40\x1c\x30\x59\x05\xc8\x30\x92\x31\x71\x4b\x8d\x3d\x6e\xb4\xd1\xb2\x3b\xdf\xa7\xc3\x32\x4a\x44\x99\x5b\xbb\x9b\x32\x46\xac\x1a\x2d\x6c\x28\x16\x42\x31\x27\x5a\x40\xdf\x0e\x5b\xb2\x02\x1d\x79\xba\x02\x76\x30\xa2\x89\x64\xdc\xb9\xc1\xa8\x98\x27\x2d\xa1\xee\xa8\x7e\x3a\xbe\xf1\x8c\x66\x20\x0e\xda\x5b\x7c\x22\xe0\xc1\xa7\x1a\xb4\x15\xb2\x8a\xd4\xa9\xb4\xe6\x59\x56\xdb\x88\x27\x1e\x2d\x63\x2d\xda\xd9\x02\xb7\x6e\xb0\xb2\x86\x7f\xee\xf4\xf7\x5f\x7f\xb9\x02\x71\x6b\xb8\x55\xca\x13\xf3\x55\xac\x8b\xfc\x3d\x4a\xb7\x86\xaf\xc9\xf6\xf0\xe7\x2a\x5b\x9e\x1e\xdd\x0f\x1b\xa3\xeb\xb0\x2e\x61\xbf\x5a\x01\x00\x44\x9f\x09\xbe\x05\xdb\xc1\x13\xbb\xc1\xd7\x81\x10\x05\x3a\x67\x14\x1f\x0d\xe7\x14\x45\x4f\xb0\x21\x6d\x5b\x88\x74\x0d\x79\x4f\x2a\xa6\x32\x24\x20\xb4\xed\x63\xae\x35\xfc\xbe\xe8\x91\x2a\x46\xb3\xe6\x1f\xce\x7b\x37\x86\xf2\xa9\x21\x4f\xb6\xa6\x19\x75\x16\xd3\xcd\x14\x09\x52\x58\xd7\xa1\x7a\x50\x8e\xd8\x7e\x10\xe0\xa1\x8f\xad\x19\xe0\x42\xed\x11\x27\xbc\x97\x41\x92\x23\x0f\x53\xf9\x0f\xd4\xac\xe1\xfd\x3e\x91\xcc\xc1\x43\xa2\xe9\x3d\xf5\xe8\xa9\x60\xdd\x5a\xf2\x6b\xc0\x41\xba\x22\xf1\x7d\x0b\x87\x57\xc2\xfb\xdb\x24\x9f\x4d\x9b\x8a\xf8\x93\x04\x10\x7c\xae\x40\x5c\x02\x8a\x89\x3e\x70\x1c\x00\x52\xf0\x1c\x2b\x9f\xdf\x0b\x70\x31\xf2\x40\x0d\x7c\x9a\x36\x57\xd3\xac\x54\x9b\xa8\x7b\x13\x19\x96\xfe\xfd\xab\xa5\x53\x1e\x47\xdc\x98\x80\xb4\x5f\x3e\xbd\xf7\xee\x59\x2b\xf2\x87\xdf\x8a\x30\xa0\xeb\x93\x8e\x28\x57\x17\x17\x17\x9f\x3f\x43\x8f\x56\xd7\xc5\xe5\x97\xd8\xa5\xd6\x09\x24\xad\x73\x7e\x37\x26\xfc\x78\x62\xef\x2e\xcb\x8c\x9e\x17\x4c\xa6\xa9\xce\x1c\x7e\xb5\x9a\x97\xb0\xf9\x00\x7e\x1e\xf6\xb5\x4c\x6f\xa8\x62\x49\x9f\x1b\x15\x6e\x3e\xe6\xf3\xa8\xc6\xc9\xe4\x3c\x6d\xe9\x37\x59\x30\xf5\x0b\x7d\xa7\x7a\x10\x82\xfd\xe2\x48\xfd\xc2\x87\x96\x64\xea\x99\x42\x5c\x59\xe5\xdb\x48\x13\xbf\xc1\x94\xd3\xa1\x2d\xdf\x2d\x64\xa6\xc6\x27\x15\xd9\x1f\x77\x3d\x31\x7c\x3a\x15\xaf\x5a\x92\xaf\xe7\x9b\x8a\xf2\xb4\x71\xff\xb6\x66\x97\xc7\x77\x1e\xb8\xb1\x23\x1b\x9d\xcb\xd7\xb4\x66\x18\xb5\x31\x69\xb8\x8e\xf3\x19\x2e\x04\xf4\x2d\x09\x29\xb8\x7b\xac\x72\x62\xdd\xfc\x08\xaf\xaa\x9d\x15\xd4\x96\xff\xa2\x5d\xb1\xb4\x3e\xb0\x86\x3d\x45\x59\x9e\xb8\x39\xdf\x4a\x2f\xf0\xe2\x77\xe7\xd5\xf1\x9a\x4f\x3d\xb3\x1f\x3f\x00\x8b\xc4\xa7\x4e\x29\xea\x1d\x6b\x99\x7a\xf0\xe6\xe3\x12\xee\x68\xd8\x01\xc8\x30\xbd\x20\xfc\xf1\x08\xbc\x3d\xe7\xd4\x51\x87\xff\x03\x00\x00\xff\xff\xed\x48\x9f\xd3\x64\x07\x00\x00"
 
 func safe_generic_transferCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -322,7 +322,7 @@ func safe_generic_transferCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "safe_generic_transfer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc4, 0x6d, 0x61, 0x93, 0x3b, 0x93, 0x4b, 0x3, 0xaf, 0x69, 0x52, 0x75, 0xa0, 0xd9, 0x7b, 0xd6, 0xc0, 0x48, 0x4, 0x5c, 0x4, 0x41, 0x33, 0xa6, 0x25, 0xd3, 0x5d, 0x42, 0x52, 0x70, 0xb, 0x2}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x82, 0x10, 0x32, 0x60, 0x4, 0x18, 0x52, 0x3, 0xf4, 0xbb, 0x9c, 0xb7, 0x48, 0xb, 0x67, 0xf9, 0xa3, 0xd5, 0x41, 0x24, 0xa8, 0x5a, 0xf0, 0x62, 0xa2, 0x8d, 0xd5, 0xa4, 0x3f, 0x7b, 0x29, 0xa6}}
 	return a, nil
 }
 
@@ -546,7 +546,7 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	return a, nil
 }
 
-var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\x41\x6f\xe2\x30\x10\x85\xef\xf9\x15\x6f\x39\x54\x20\x51\x72\xaf\xd8\x4a\xdd\x55\xf7\x5c\xb1\x55\xef\x83\x19\xc0\xaa\x63\x47\xe3\x09\x34\x42\xfc\xf7\x95\x4d\x48\x93\x76\x57\x5b\x9f\xe2\xe7\xe7\xf1\x7c\x2f\x53\x96\x78\xde\xdb\x08\x15\xf2\x91\x8c\xda\xe0\x61\x23\x08\xca\x55\xed\x48\x19\xdb\x20\x69\x3b\x38\xd7\x00\x72\x2e\x1c\x8b\xb2\x04\xf9\x36\x78\xce\xd2\x66\x03\xc2\x0b\x35\x4e\x21\x1c\x43\x23\x26\xeb\xba\x67\x2b\x20\x63\x42\xe3\x15\x31\x09\xa4\xe9\xaa\xee\xb9\x85\x21\x8f\x26\x72\xda\x80\xdf\xa8\xaa\x1d\x3f\x87\x57\xf6\x45\x61\xab\x3a\x88\xe2\x57\xe3\x77\x76\xdd\xa9\xd8\x4a\xa8\x30\x19\x69\x93\xab\xf3\x71\x70\xbd\x33\x0e\xa5\xde\xf7\x62\xf9\xb8\xe2\x18\xdc\x81\xa5\xf3\x0d\xa5\x49\x51\x0c\x61\xa7\x33\x9c\x8a\x02\x00\x6a\xe1\x9a\x84\xa7\xd1\xee\x3c\xcb\x1d\x1e\x1a\xdd\x3f\x5c\xb0\x7a\x4f\x5a\x65\x89\x15\x6b\x23\x1e\x4c\xe2\x5a\xd8\x6d\xa6\xbb\x26\x40\x4e\x98\x36\x2d\xa2\x06\xe1\x94\xf4\xa8\xef\x9c\x5f\x5f\xca\x6e\x71\x79\x6d\xb1\x0e\x22\xe1\xb8\xbc\x19\x9a\x17\xd9\x7c\x3f\x4d\x0c\x77\xf8\x7c\xf2\x5b\x83\xd0\x8e\x9f\x48\xf7\x33\x7c\xfb\x0e\x6f\x1d\x4e\x7d\xed\xb4\x24\xf7\xd9\x4b\xe7\x77\x08\xc7\x8a\x43\xfe\x97\xcb\xdb\x71\x69\x23\x4c\xca\x8f\x55\xad\x6d\x7e\x65\x3a\x1b\xa1\xff\xcc\xc7\x20\x78\x3e\xfe\x05\x0d\xe4\x37\xa8\x1b\x85\x55\x58\x9f\x43\xa0\x1d\xf7\x05\x3a\xda\x48\x07\x9e\x8e\x3a\x5d\xde\xe6\x6e\xe6\x23\x51\xc3\x7f\xb0\x7b\xf7\x3f\x7a\xac\x9b\xb5\xb3\x06\x86\x6a\x5a\x5b\x67\xb5\xed\x06\xb6\xeb\x35\x4d\x2a\xf8\xad\x0e\x91\x63\x96\x57\x6c\xd8\x1e\x58\xe6\xf8\x41\x8e\xbc\xe1\x79\xe6\xe9\xa7\xc9\x7a\x65\xd9\x92\xe1\xf8\x91\xc8\x59\xff\xba\xbc\x39\x8d\x26\x77\xf1\x5e\x6e\xac\xf7\xc5\x87\x73\xb9\xb8\x7e\x9c\xef\xc7\xd1\x7c\x4e\xe0\x29\x63\xa5\x00\x3e\xe4\x45\xb2\x63\xfd\x7a\x66\x97\x99\x38\x17\x7f\x02\x00\x00\xff\xff\x4a\xf8\xc4\x5d\x25\x04\x00\x00"
+var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x52\x4f\x6f\xe2\x3e\x10\xbd\xe7\x53\xbc\x1f\x07\x14\x24\x9a\xdc\x2b\x5a\xe9\xd7\xaa\x7b\xae\xd8\x8a\xfb\x10\x06\x62\xd5\xd8\x96\x3d\x81\x46\x88\xef\xbe\xb2\x09\x69\x42\xbb\xda\xbd\x6c\x4e\xf1\x9b\x7f\xef\xbd\x99\xb2\xc4\x5b\xad\x02\xc4\x93\x09\x54\x89\xb2\x06\x2a\x80\x20\xbc\x77\x9a\x84\xb1\xb5\x3e\x3e\x07\x71\xb1\x20\xad\xed\x31\x2b\x4b\x90\x69\xad\xe1\x04\x6d\x36\x20\xac\xa8\xd1\x02\xcf\xc1\x36\xbe\x4a\xb8\xd4\xac\x3c\xa8\xaa\x6c\x63\x04\x21\x02\x24\xb1\x54\x6a\x6e\x51\x91\x41\x13\x38\x3e\xc0\x1f\xb4\x77\x9a\xdf\xec\x3b\x9b\x2c\x53\x7b\x67\xbd\xe0\x47\x63\x76\x6a\xdd\xa1\xd8\x7a\xbb\xc7\x64\x84\x4d\xae\x99\x2f\x83\xf2\x2e\x71\x08\xf5\x79\x2b\xc5\xc7\x25\x07\xab\x0f\xec\xbb\xbc\x21\x34\xc9\xb2\xa1\xd8\x7c\x86\x53\x96\x01\x80\xf3\xec\xc8\x73\x1e\xd4\xce\xb0\xbf\x07\x35\x52\xe7\x4f\xd6\x7b\x7b\x5c\x91\x6e\x78\x86\xe9\xff\x17\x95\x7d\x49\xfc\xca\x12\x4b\x96\xc6\x1b\x30\x79\xdd\x42\x6d\x93\xd8\xab\x21\xa4\x3d\xd3\xa6\x45\x10\xeb\x39\x1a\x3f\x92\x91\xec\xec\x5b\xa9\x2d\x2e\xc3\x8b\x98\x4d\x3b\x2e\xd6\x69\xfc\x62\x3a\x2c\x2a\x52\xd1\x63\x1e\xa5\xdd\xe3\x6b\xe4\xe7\xa5\xf6\x95\xa4\x9e\xe1\xbf\x07\x18\xa5\x71\xea\x67\xc4\xcf\x27\xbe\x3d\x74\xfe\x14\xa3\x59\x70\x48\x2b\x5e\xdc\x8d\x5b\x57\x9e\x49\xf8\x65\xef\xa4\x4d\x53\xf2\xd9\xc8\x82\xe7\x14\x06\xc1\xf0\xf1\x1b\x89\x20\xb3\x81\x6b\x04\x4a\xa0\x0c\x3a\x79\x7d\x83\x1b\xd5\x81\x0e\x9c\x8f\x18\x2f\xee\x12\xab\xf9\x08\x14\xfb\x07\xf9\x7d\xf6\x6f\xb8\xba\x66\xad\x55\x85\x8a\x1c\xad\x95\x56\xd2\x76\xf7\xdc\x71\x8e\x87\x0c\xfe\x70\x36\x70\x48\xf0\x92\x2b\x56\x07\xf6\x73\x3c\x91\x26\x53\xf1\x3c\xe9\xea\x8f\x4d\x19\x61\xbf\xa5\x8a\xc3\x57\x43\x9f\xc9\xe1\xe1\x2a\x54\x2b\xf3\xbe\x98\x9e\x46\x77\x5e\x7c\x76\x1f\xe3\xfd\xac\xe1\x15\x17\xd7\x9f\xf3\xe3\xd8\xa9\xbf\x35\xe4\xc6\xfa\xde\x03\xc5\xa1\x48\xbe\x84\xfa\x1f\x31\xbc\xda\x31\x5e\x26\xc9\x77\xcb\x7c\x4d\x1b\x8a\xd4\xe7\x37\xdc\xcf\xd9\x39\xfb\x15\x00\x00\xff\xff\xfb\xe2\x4b\xdd\xdd\x04\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -562,7 +562,7 @@ func setup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2c, 0xe, 0x96, 0x72, 0x65, 0xe6, 0xd9, 0xb, 0x20, 0x5e, 0xd8, 0x4b, 0x0, 0xb, 0xed, 0x2, 0x6f, 0xd6, 0x2f, 0x95, 0x33, 0xf, 0xd1, 0x6a, 0xbb, 0x69, 0xca, 0x19, 0xff, 0xd0, 0x69, 0x63}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0x71, 0x4b, 0xe1, 0xd4, 0xaf, 0x39, 0xea, 0x62, 0xee, 0xff, 0x52, 0xb, 0xa8, 0xa8, 0x81, 0x2c, 0xaf, 0x43, 0xd, 0xb4, 0x9f, 0x39, 0xd3, 0xf4, 0x8f, 0xce, 0xd8, 0xf, 0x8, 0xcf, 0xc6}}
 	return a, nil
 }
 
@@ -806,7 +806,7 @@ func switchboardTransfer_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x94\x4d\x4f\xdc\x30\x10\x86\xcf\xe4\x57\x0c\x7b\x80\xec\x81\x70\xa9\x7a\x88\xf8\xd0\x8a\x96\x9e\x2a\x21\x4a\xdb\x43\x55\x09\x27\x99\x24\x2e\x59\xdb\x1a\x4f\x58\x10\xda\xff\x5e\x39\xb6\x57\xc9\x66\x45\xa5\x72\x41\x1a\xcf\xc7\x3b\xef\x3c\x59\xb9\x36\x9a\x18\x6e\x7b\xd5\xc8\xa2\xc3\x07\xfd\x84\x0a\x6a\xd2\x6b\x58\x4c\x62\x8b\x24\x64\x7e\x7e\x11\x6b\x33\x4d\x1c\x87\x16\x49\x72\x7e\x7e\x0e\x0f\x24\x94\xad\x91\x2c\xb0\x8b\xba\x7f\x20\xa0\x93\x96\x41\xd7\x20\xaa\x8a\xd0\x5a\xb4\x60\x0d\x96\xb2\x96\x58\x81\x54\xc0\x2d\xc2\x63\x78\x5b\xad\x75\xaf\xf8\xab\x30\x8f\x60\x04\x89\x35\x32\x52\x92\xb0\x6b\x2b\x4a\x96\x5a\xa5\xfb\x89\x39\xbc\xad\x7c\x28\x87\xef\xb7\xf2\xe5\xe3\x87\xed\x12\xde\x92\x04\x00\xc0\x29\x6a\x11\x7e\x88\xbe\x63\x20\xb4\xba\xa7\x12\x81\x5b\xc1\xd0\xea\xae\xb2\xc3\xe8\xa8\xd4\x45\x05\x21\x14\x28\x55\x03\x1c\x36\x21\xac\x86\x56\x1d\x32\x3c\xbb\x3e\xf7\x58\xe7\x20\x7a\x6e\xd3\x89\x51\xd9\x4f\xc9\x6d\x45\x62\x23\x8a\x0e\x97\x70\x32\x36\x27\x1b\x04\x78\x49\x86\xd0\x08\xc2\xd4\xca\x46\x21\xe5\xb0\xea\xb9\x5d\x95\xa5\x5b\x66\x27\x3b\x48\xff\x82\x0c\x02\x08\x6b\x24\x54\x4e\xb7\x1e\xf4\xfa\xca\x53\x0b\x96\x35\x61\xe5\x55\xed\xea\x2c\x76\x75\x16\x85\xc2\x65\xc8\xce\x0a\x4d\xa4\x37\x17\xff\xa3\xfb\x2a\x75\xe7\xce\x61\xfe\xf2\x8d\x35\x89\x06\xef\x04\xb7\xcb\xe4\xe8\xe8\xe8\xfa\x1a\x8c\x50\xb2\x4c\x17\x37\xba\xef\x2a\x50\x9a\xc1\x0f\x9e\x6f\xa1\x37\x7e\x89\xa1\xd1\xf1\x62\x39\x2c\xb0\xf5\xfb\xe3\x0b\x96\x3d\xe3\xd8\x8e\x5a\x53\xc4\xc7\x21\xb3\x0f\x41\xf6\x84\xaf\x76\x9c\x1f\x2c\x8c\xcb\xc5\x23\x0f\xe0\xfe\xdb\xc4\x78\x70\x8b\x8a\x3d\x3c\x17\x67\x53\x67\xb3\x4d\xe8\x9c\x8a\x41\x43\x3e\x93\xf4\x2b\x04\x7e\x1f\x2f\x67\xb2\xdc\x65\x9d\x0a\xc2\x52\x1a\x89\x8a\x4f\x2d\x98\xbe\xe8\x64\x09\xc2\xb3\x00\xba\xf8\x83\xe5\x5c\xd1\xae\x02\x2e\xa1\x41\x0e\xe4\xc4\x8f\xe2\xf0\xa4\x03\x0c\x8d\x07\xdf\x63\x89\xf2\x19\xe9\xd0\xac\xe1\xc1\x83\xb4\x2b\xc9\x1a\xe4\x1b\x61\x44\x21\x3b\xc9\xaf\xe9\x04\x8b\xd8\xeb\x6e\x58\xc6\x83\x01\x7b\x7f\x91\xc5\x93\xb7\x29\x88\xb1\x76\x7b\x95\xce\x8b\xde\x45\xcb\xd7\xbd\xbf\xe5\x70\xc6\xc5\xdc\xa0\x4f\x68\xb4\x95\xfe\x1c\xf1\xa6\x2a\xe2\x12\x7e\x9c\xc6\x7d\xe8\x90\x5b\x23\xa7\xb2\xca\x37\x0c\x1f\xcd\xc5\xd9\x8e\xa1\xd1\xec\x6d\xa0\x7d\x9b\xfc\x0d\x00\x00\xff\xff\x5e\xe9\xfc\xf4\x88\x05\x00\x00"
+var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\xcb\x6e\xdb\x40\x0c\x3c\x47\x5f\xc1\xf8\x90\xc8\x87\xc8\x97\xa2\x07\x23\x0f\xa4\x8f\xf4\x54\x20\x48\xd3\xf4\x50\x14\x08\x25\x51\xd6\x36\xf2\xae\xc0\xa5\xe2\x14\x81\xff\xbd\xd8\x97\x21\x3f\x90\x02\xdd\x8b\x01\x2e\x77\x38\x33\x1c\x59\x2d\x7b\xc3\x02\x37\x83\x5e\xa8\xb2\xa3\x7b\xf3\x44\x1a\x1a\x36\x4b\x98\x6c\xd5\x26\x59\xec\xfc\xfc\x82\xcb\x7e\xbb\x71\x5c\x9a\x64\xd9\x6c\x36\x83\x7b\x46\x6d\x1b\x62\x0b\xe2\xaa\xee\x07\x10\x3a\x65\x05\x4c\x03\x58\xd7\x4c\xd6\x92\x05\xdb\x53\xa5\x1a\x45\x35\x28\x0d\xd2\x12\x3c\xc6\xbb\xeb\xa5\x19\xb4\x7c\xc5\xfe\x11\x7a\x64\x5c\x92\x10\x67\x99\x38\x58\xac\x44\x19\x9d\xef\x36\xce\xe1\xf5\x3a\x94\xe6\xf0\xfd\x46\xbd\xbc\x7f\xb7\x9e\xc2\x6b\x96\x01\x00\x38\x46\x2d\xc1\x03\x0e\x9d\x00\x93\x35\x03\x57\x04\xd2\xa2\x40\x6b\xba\xda\xfa\xd1\x89\xa9\xab\x22\x13\x94\xa4\xf4\x02\x24\x2a\x61\xaa\x3d\x54\x47\x02\xcf\x0e\xe7\x8e\x9a\x39\xe0\x20\x6d\xbe\x65\x54\xf1\x43\x49\x5b\x33\xae\xb0\xec\x68\x0a\x27\x63\x73\x0a\x4f\x20\x50\xea\x99\x7a\x64\xca\xad\x5a\x68\xe2\x88\xf4\xc1\x30\x9b\xd5\x03\x76\x83\x7b\x7a\x5d\x55\x4e\x9b\x53\x01\xf1\xcc\x66\xf0\x85\x04\x10\x98\x1a\x62\xd2\x4e\x85\xf1\xec\x03\xce\xa9\x05\x2b\x86\xa9\x0e\x1c\x37\xef\x2c\x75\x4d\x91\x68\xc3\x45\xec\x2e\x5c\x2f\x2e\xa8\x28\xfd\xdc\xf3\xff\x51\x73\x99\xbb\x10\xcc\x61\xff\xe6\x5b\x00\xbf\x45\x69\xa7\xd9\xd1\xd1\xd1\xd5\x15\xf4\xa8\x55\x95\x4f\x3e\x9a\xa1\xab\x41\x1b\x81\x30\x78\x5f\x8d\x59\x05\x31\x1e\xe8\x78\x32\xf5\x42\xd6\xc1\x39\x7a\xa1\x6a\x10\x4a\xbb\x75\xa7\x31\x9c\x42\xe5\x82\xb4\x1b\x8d\xe2\x89\xfe\xd8\x71\x7f\xb4\x32\x89\x4b\xab\xf7\x71\xfe\xb7\x99\x29\x06\x96\xb4\x84\x48\x9d\x9f\x6d\x3b\x5c\xac\x22\x72\x8e\x9e\xc3\x7c\x8f\xd2\xcf\x58\xf8\x75\x3c\xdd\xa3\xe5\x36\xec\x58\x30\x55\xaa\x57\xa4\xe5\xd4\x42\x3f\x94\x9d\xaa\x00\x43\x24\xc0\x94\xbf\xa9\xda\x67\xb4\x79\x01\x17\xb0\x20\x89\x01\x4a\x9f\xca\xe1\x49\x07\xb2\x34\x1e\x7c\x47\x15\xa9\x67\xe2\x43\xb3\xfc\x45\x08\xd4\xe6\x49\x51\x61\x8f\xa5\xea\x94\x28\xb2\x29\x58\x27\xaf\xdb\xa9\x4a\xa0\xeb\xcb\x7c\x2b\x37\xa9\x7e\xeb\xd5\x86\xe4\xc0\xce\x79\x33\x46\xe1\xf9\xdb\x8a\xfc\xca\x26\xfb\x66\x7c\xa2\xde\x58\x15\xac\x4f\xfb\xd3\x29\x1a\xf1\xef\x69\x8c\xc3\x87\x9c\x19\xb9\x52\xd4\x01\x30\x7e\x20\xe7\x67\x9b\xbc\x8c\x66\xaf\x63\xb2\xd7\xd9\xdf\x00\x00\x00\xff\xff\x4d\x51\x2e\xb4\x8a\x05\x00\x00"
 
 func transfer_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -822,11 +822,11 @@ func transfer_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0x65, 0xb0, 0xa4, 0x7c, 0x24, 0x55, 0x8, 0xc3, 0xb, 0x38, 0xd5, 0x7d, 0x1a, 0x9e, 0x8a, 0xf, 0xb7, 0x52, 0xac, 0x4, 0xea, 0x6a, 0xc2, 0x19, 0xb3, 0x6f, 0xcb, 0x4a, 0xac, 0x53, 0x8e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0x1c, 0xce, 0xf7, 0x5e, 0xbf, 0x36, 0xce, 0xe6, 0x61, 0x21, 0x92, 0x14, 0xa2, 0xfe, 0xe9, 0x99, 0xf6, 0x73, 0xa, 0x1c, 0x11, 0xce, 0x36, 0x79, 0x26, 0xce, 0xed, 0x16, 0x11, 0x38, 0x18}}
 	return a, nil
 }
 
-var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x53\x4f\x6f\xdb\x3e\x0c\xbd\xfb\x53\xf0\x97\x43\xeb\x00\xbf\x3a\x97\x61\x87\xa0\x7f\x56\x74\xeb\xae\x45\xd7\x6d\x67\x5a\x66\x62\x6d\x8e\x24\x50\x74\xd3\xa2\xe8\x77\x1f\x24\x59\x9e\x9d\x0c\xfb\xe3\x8b\x21\x8a\x7c\x7c\x7c\x8f\x5a\xad\xe0\xa1\xd5\x1e\x84\xd1\x78\x54\xa2\xad\x01\xed\x01\x41\x68\xe7\x3a\x14\x82\x8d\xe5\x70\x9c\xdc\x4b\x8b\x52\xac\x56\xa0\x6c\xdf\x35\x50\x13\xf4\x9e\x1a\xa8\x9f\x01\xcd\xb3\x35\x04\x62\xc1\x93\x69\x40\xec\x77\x32\x3e\x1c\xd1\x58\x69\x89\x01\x95\xb2\xbd\x89\xc5\x01\x04\x5a\xf4\x50\x13\x19\xf0\x24\xd0\xbb\x90\xca\xa4\x48\x3f\xd2\x50\x5c\x15\xab\x55\x11\x39\x12\xec\xb5\xb4\x0d\xe3\x1e\x70\x17\x40\x00\x43\x8b\x96\x32\x28\x6c\xd8\xee\x60\x4b\x72\xfd\xb3\xc9\x3e\x33\x0c\x79\x0e\x19\x77\x24\xc4\x91\x52\x88\x4c\x86\x2a\x0a\xbd\x73\x96\x05\x6e\x7b\xb3\xd5\x75\x47\x0f\xa1\x7f\xc2\x5c\xcc\x62\x8b\x9c\xf9\xe1\x09\x77\x6e\x9e\x38\x0d\x2d\x8a\x62\x82\x5f\x26\xd2\x6b\xf8\x7c\xab\x9f\xde\xbe\xf9\x1f\xc4\xae\xe1\xba\x69\x98\xbc\x5f\xc2\x4b\x51\x00\x00\x0c\x83\x7e\xc1\xbe\x13\x60\xf2\xb6\x67\x45\x83\x52\xb6\x6b\x7c\x22\x3d\xa8\x1a\xa2\xc8\x04\x35\x69\xb3\x4d\xa3\x6c\x88\x99\x9a\x08\xd5\x91\x04\x13\x24\x62\xad\xe1\xdd\x6c\x84\x2a\x46\x53\x4f\xc7\xe4\x90\xa9\xf4\x7a\x6b\x88\xd7\x70\xdd\x4b\x3b\x28\x38\xf2\x1a\xb8\x7d\x24\x01\x04\xa6\x0d\x31\x19\x45\x59\xc5\x54\x79\xea\xc1\x8b\x65\x6a\xe0\x31\x82\xe7\xba\x40\x24\x46\xee\x69\x03\x17\x43\x72\x55\x5b\x66\xbb\x3f\xc7\x5e\xda\x72\x4e\xed\xeb\xe0\x32\xd6\x1d\x2d\xe1\x64\xaa\x68\xa2\x7d\x59\x06\xad\xd7\x70\x7c\xf3\x49\x2c\xe3\x96\xee\x50\xda\xe5\xd8\x3f\x7c\x57\x57\xe0\xd0\x68\x55\x2e\x6e\xe2\x42\x18\x2b\x90\x18\x1c\x4f\x63\xf7\x69\x98\x88\xf8\xdf\x62\x39\x53\x20\x93\xcb\x26\x44\xd7\xff\xac\x81\xa7\x6e\x53\x8d\x6e\xc0\xf9\xd9\xa8\x48\x95\x97\x7a\xdc\x8f\xf4\x4f\xfc\x5f\x53\x73\x7a\x22\xd5\x0b\xfd\xc2\x8d\xd0\x9a\x49\x69\xa7\xc9\xc8\xa9\x07\xd7\xd7\x9d\x56\xe3\x8b\xb0\xf5\x37\x52\x73\x2b\xc6\x6c\xb8\x98\xbc\x95\x52\xec\xf2\x6f\xac\x9e\xf6\xba\x4f\x0f\x95\x0f\xe1\x63\x30\x99\x3d\xa6\x57\x5b\x92\x1b\x74\x58\xeb\x4e\xcb\x73\x39\xb3\x2e\xe3\xdc\x45\xee\xc7\xe6\xe5\x5d\x39\x79\x99\x2f\x4a\xae\x7b\xbd\x2c\xff\xc1\xed\x54\xf3\xfb\xc9\xa2\x4b\x07\xce\xbf\x27\x67\xbd\x4e\x8a\x67\xcf\x4c\x5e\x03\x6d\x8e\x30\xf8\x50\x9d\x89\x32\x55\x93\xc0\x86\x45\x3e\x3f\x9b\xef\x47\xf6\xfe\xb5\xf8\x11\x00\x00\xff\xff\x85\x73\xf9\x99\x9d\x05\x00\x00"
+var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x53\x4b\x6f\xdb\x30\x0c\xbe\xfb\x57\x70\x39\xb4\x0e\xb0\x3a\x97\x61\x87\xa0\x8f\x75\x8f\xee\x5a\x74\x5d\x77\xa6\x65\x26\xd6\xe6\x48\x02\x45\x37\x2d\x8a\xfe\xf7\x41\x92\xe5\xd9\xcd\xb0\x47\x2e\x81\x29\xea\xe3\xf7\xa0\x56\x2b\xb8\x6d\xb5\x07\x61\x34\x1e\x95\x68\x6b\x40\x7b\x40\x10\xda\xb9\x0e\x85\x60\x63\x39\x7c\x4e\xce\xa5\x45\x29\x56\x2b\x50\xb6\xef\x1a\xa8\x09\x7a\x4f\x0d\xd4\x8f\x80\xe6\xd1\x1a\x02\xb1\xe0\xc9\x34\x20\xf6\x07\x19\x1f\x3e\xd1\x58\x69\x89\x01\x95\xb2\xbd\x89\x97\x03\x08\xb4\xe8\xa1\x26\x32\xe0\x49\xa0\x77\xa1\x95\x49\x91\xbe\xa7\xe1\x72\x55\xac\x56\x45\xe4\x48\xb0\xd7\xd2\x36\x8c\x7b\xc0\x5d\x00\x01\x0c\x23\x5a\xca\xa0\xb0\x61\xbb\x83\x2d\xc9\xe5\xaf\x21\xfb\xcc\x30\xf4\x39\x64\xdc\x91\x10\x47\x4a\xa1\x32\x11\x55\x14\x7a\xe7\x2c\x0b\x5c\xf5\x66\xab\xeb\x8e\x6e\xc3\xfc\x84\xb9\x98\xd5\x16\xb9\xf3\xd3\x03\xee\xdc\xbc\x71\x5a\x5a\x14\xc5\x04\xbf\x4c\xa4\xd7\xf0\xf5\x4a\x3f\xbc\x7d\xf3\x1a\xc4\xae\xe1\xb2\x69\x98\xbc\x5f\xc2\x53\x51\x00\x00\x0c\x42\xef\xb0\xef\x04\x98\xbc\xed\x59\xd1\xe0\x94\xed\x1a\x9f\x48\x0f\xae\x86\x2a\x32\x41\x4d\xda\x6c\x93\x94\x0d\x31\x53\x13\xa1\x3a\x92\x10\x82\x44\xac\x35\xbc\x9b\x49\xa8\x62\x35\xcd\x74\x4c\x0e\x99\x4a\xaf\xb7\x86\x78\x0d\xd8\x4b\x5b\xbe\xb7\xcc\x76\x7f\x87\x5d\x4f\x4b\x38\x1a\x0c\x1d\x69\x0e\x54\x3f\x93\x00\x02\xd3\x86\x98\x8c\xa2\x6c\x6a\x02\x3a\xf6\xe0\xc5\x32\x35\x70\x1f\x67\xe5\x7b\x81\x57\xac\xdc\xd0\x06\xce\x86\xe6\x2a\xb4\xe2\x96\xaa\x3a\xce\x3d\x8d\x1c\xe6\x8c\xbf\x0d\xe1\x63\xdd\x05\x4a\x53\xa3\x93\x9a\xf3\x32\x44\xb0\x86\xc3\x93\x2f\x09\xfc\x1a\xa5\x5d\x8e\x3c\xc2\xef\xe2\x02\x1c\x1a\xad\xca\xc5\x87\xb8\x27\xc6\x0a\x24\x06\x87\xaa\xec\x3e\x89\x8a\x88\xaf\x16\xcb\x99\x13\x99\x5c\xce\x26\x2e\xc3\xdf\xbd\xf0\xd4\x6d\xaa\x31\x24\x38\x3d\x19\x9d\xa9\xf2\xae\x8f\x6b\x93\xfe\x13\xff\xe7\x34\x9c\x1e\x48\xf5\x42\xbf\x49\x25\x8c\x66\x52\xda\x69\x32\x72\xec\xc1\xf5\x75\xa7\xd5\xf8\x50\x6c\xfd\x9d\xd4\x3c\x92\xb1\x1b\xce\x26\x4f\xa8\x14\xbb\xfc\x97\xc8\xa7\xb3\x6e\xd2\xfb\xe5\x97\xf0\xb1\x98\x42\x1f\xdb\x2b\x85\x0e\x6b\xdd\x69\xd1\xe4\x73\xf8\x47\x4f\xf3\xe4\x33\xe0\xf3\x79\x39\xcb\x36\xd7\xaf\xa3\xb8\xff\x4c\x37\x5d\xfd\xb3\x92\x98\xca\x8b\xa4\x3f\x92\xb3\x5e\x27\x87\x73\x46\x26\xc7\xae\xcd\x01\x06\xbf\x74\x63\xe2\x44\xd5\x24\xb0\x61\x71\x4f\x4f\xe6\xfb\x90\xb3\x7e\x2e\x7e\x06\x00\x00\xff\xff\x2e\x07\xe8\x48\xa4\x05\x00\x00"
 
 func transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -842,7 +842,7 @@ func transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x59, 0x33, 0x7d, 0x86, 0xb0, 0xdd, 0x7b, 0x77, 0x45, 0xfe, 0xe1, 0xd5, 0x1f, 0x9e, 0xc1, 0x2a, 0x7d, 0xe9, 0xc5, 0xbf, 0x53, 0xa, 0xd2, 0x93, 0x49, 0xc2, 0xeb, 0xb3, 0xdf, 0xc7, 0xd6, 0x80}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb6, 0xa4, 0x1b, 0x2, 0x72, 0xa5, 0x7d, 0x88, 0xf, 0xce, 0x4e, 0xc4, 0x7a, 0xb6, 0x71, 0x33, 0xf5, 0x6a, 0xd1, 0x45, 0x94, 0x5d, 0xb8, 0x19, 0x69, 0xf6, 0x22, 0xe4, 0xef, 0xe8, 0x7d, 0x33}}
 	return a, nil
 }
 
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index 36fdd0f4..d2d51ae0 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -3,12 +3,12 @@ module github.com/onflow/flow-ft/lib/go/test
 go 1.18
 
 require (
-	github.com/onflow/cadence v0.39.13-stable-cadence.0.20230815215130-fc15617946a1
-	github.com/onflow/flow-emulator v0.54.1-0.20230815221351-758e3a5bb92a
-	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20230726183918-f90805445bfa
+	github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230918153730-ec4d615b89d8
+	github.com/onflow/flow-emulator v0.54.1-0.20230919150501-db4da71c768b
+	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20230913160646-09adc7d3b513
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
-	github.com/onflow/flow-go-sdk v0.41.10-0.20230815215544-c3e9ce914aee
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200521-3acffe2472a3
+	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230915213126-68e7ffb5595f
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230915224343-ca2663ed82cf
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
@@ -85,14 +85,13 @@ require (
 	github.com/multiformats/go-multihash v0.2.3 // indirect
 	github.com/multiformats/go-multistream v0.4.1 // indirect
 	github.com/multiformats/go-varint v0.0.7 // indirect
-	github.com/onflow/atree v0.6.0 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230808220007-f00e74ca675b // indirect
-	github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230808220007-f00e74ca675b // indirect
-	github.com/onflow/flow-go v0.31.1-0.20230815221159-accf10b9fbaa // indirect
+	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
+	github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230915224512-fa9343b5af21 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230915224512-fa9343b5af21 // indirect
+	github.com/onflow/flow-go v0.31.1-0.20230915232445-43aebfd0ae6a // indirect
 	github.com/onflow/flow-go/crypto v0.24.9 // indirect
 	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce // indirect
-	github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead // indirect
-	github.com/onflow/sdks v0.5.0 // indirect
+	github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba // indirect
 	github.com/opentracing/opentracing-go v1.2.0 // indirect
 	github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
 	github.com/pelletier/go-toml/v2 v2.0.6 // indirect
@@ -137,10 +136,10 @@ require (
 	go.uber.org/multierr v1.11.0 // indirect
 	go.uber.org/zap v1.24.0 // indirect
 	golang.org/x/crypto v0.10.0 // indirect
-	golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
+	golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
 	golang.org/x/net v0.10.0 // indirect
 	golang.org/x/sync v0.2.0 // indirect
-	golang.org/x/sys v0.9.0 // indirect
+	golang.org/x/sys v0.11.0 // indirect
 	golang.org/x/text v0.10.0 // indirect
 	golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
 	gonum.org/v1/gonum v0.13.0 // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index fd860023..566da115 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -619,14 +619,17 @@ github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWH
 github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM=
 github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
 github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
 github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
 github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=
 github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
 github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
+github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
@@ -645,6 +648,7 @@ github.com/dave/rebecca v0.9.1/go.mod h1:N6XYdMD/OKw3lkF3ywh8Z6wPGuwNFDNtWYEMFWE
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU=
 github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
 github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
 github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y=
@@ -664,6 +668,7 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cu
 github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
 github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
 github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
 github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
 github.com/dop251/goja v0.0.0-20200219165308-d1232e640a87/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
@@ -673,6 +678,7 @@ github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt
 github.com/ef-ds/deque v1.0.4 h1:iFAZNmveMT9WERAkqLJ+oaABF9AcVQ5AjXem/hroniI=
 github.com/ef-ds/deque v1.0.4/go.mod h1:gXDnTC3yqvBcHbq2lcExjtAcVrOnJCbMcZXmuj8Z4tg=
 github.com/elastic/gosigar v0.8.1-0.20180330100440-37f05ff46ffa/go.mod h1:cdorVVzy1fhmEqmtgqkoE3bYtCfSCkVyjTyCIo22xvs=
+github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4=
 github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -691,8 +697,10 @@ github.com/ethereum/go-ethereum v1.10.22 h1:HbEgsDo1YTGIf4KB/NNpn+XH+PiNJXUZ9ksR
 github.com/ethereum/go-ethereum v1.10.22/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg=
 github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
+github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ=
 github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
 github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
+github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk=
 github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
@@ -702,6 +710,7 @@ github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c h1:5tm/Wbs9d9r
 github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
 github.com/fxamacker/circlehash v0.3.0 h1:XKdvTtIJV9t7DDUtsf0RIpC1OcxZtPbmgIH7ekx28WA=
 github.com/fxamacker/circlehash v0.3.0/go.mod h1:3aq3OfVvsWtkWMb6A1owjOQFA+TLsD5FgJflnaQwtMM=
+github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU=
 github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/glebarez/go-sqlite v1.21.1 h1:7MZyUPh2XTrHS7xNEHQbrhfMZuPSzhkm2A1qgg0y5NY=
@@ -722,7 +731,6 @@ github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpx
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
-github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
@@ -732,15 +740,20 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre
 github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
 github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
 github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
+github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
+github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
+github.com/go-playground/validator/v10 v10.14.1 h1:9c50NUPC30zyuKprjL3vNZ0m5oG+jU0zvx4AqHGnv4k=
 github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
 github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
 github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
 github.com/go-test/deep v1.0.5/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
 github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg=
 github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
 github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
 github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@@ -807,6 +820,7 @@ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8
 github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
 github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8=
 github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
 github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
 github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -853,6 +867,7 @@ github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+
 github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
 github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
 github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
@@ -861,8 +876,6 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
-github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU=
-github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48=
 github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
 github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -878,6 +891,7 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/huin/goupnp v0.0.0-20161224104101-679507af18f3/go.mod h1:MZ2ZmwcBpvOoJ22IJsc7va19ZwoheaBk43rKg12SKag=
+github.com/huin/goupnp v1.2.0 h1:uOKW26NG1hsSSbXIZ1IR7XP9Gjd1U8pnLaCMgntmkmY=
 github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
@@ -914,21 +928,21 @@ github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY=
 github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI=
 github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg=
 github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY=
+github.com/ipld/go-ipld-prime v0.20.0 h1:Ud3VwE9ClxpO2LkCYP7vWPc0Fo+dYdYzgxUJZ3uRG4g=
 github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
+github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus=
 github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA=
+github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk=
 github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o=
 github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4=
 github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
 github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
 github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
-github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
-github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
 github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
 github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
@@ -958,6 +972,7 @@ github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/q
 github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/koron/go-ssdp v0.0.4 h1:1IDwrghSKYM7yLf7XCzbByg2sJ/JcNOZRXS2jczTwz0=
 github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -973,15 +988,24 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
 github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
 github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8=
+github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q=
+github.com/libp2p/go-addr-util v0.1.0 h1:acKsntI33w2bTU7tC9a0SaPimJGfSI0bFKC18ChxeVI=
 github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
 github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
 github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c=
+github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM=
 github.com/libp2p/go-libp2p v0.28.1 h1:YurK+ZAI6cKfASLJBVFkpVBdl3wGhFi6fusOt725ii8=
 github.com/libp2p/go-libp2p v0.28.1/go.mod h1:s3Xabc9LSwOcnv9UD4nORnXKTsWkPMkIMB/JIGXVnzk=
 github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLEQHwOCZ7s8s=
+github.com/libp2p/go-libp2p-kad-dht v0.24.2 h1:zd7myKBKCmtZBhI3I0zm8xBkb28v3gmSEtQfBdAdFwc=
 github.com/libp2p/go-libp2p-kbucket v0.6.3 h1:p507271wWzpy2f1XxPzCQG9NiN6R6lHL9GiSErbQQo0=
 github.com/libp2p/go-libp2p-pubsub v0.9.3 h1:ihcz9oIBMaCK9kcx+yHWm3mLAFBMAUsM4ux42aikDxo=
+github.com/libp2p/go-libp2p-record v0.2.0 h1:oiNUOCWno2BFuxt3my4i1frNrt7PerzB3queqa1NkQ0=
 github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0=
+github.com/libp2p/go-nat v0.2.0 h1:Tyz+bUFAYqGyJ/ppPPymMGbIgNRH+WqC5QrT5fKrrGk=
+github.com/libp2p/go-netroute v0.2.1 h1:V8kVrpD8GK0Riv15/7VN6RbUQ3URNZVosw7H2v9tksU=
+github.com/libp2p/go-reuseport v0.3.0 h1:iiZslO5byUYZEg9iCwJGf5h+sf1Agmqx2V2FDjPyvUw=
+github.com/libp2p/go-yamux/v4 v4.0.0 h1:+Y80dV2Yx/kv7Y7JKu0LECyVdMXm1VUoko+VQ9rBfZQ=
 github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8=
 github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
 github.com/logrusorgru/aurora/v4 v4.0.0 h1:sRjfPpun/63iADiSvGGjgA1cAYegEWMPCJdUpJYn9JA=
@@ -991,6 +1015,7 @@ github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuz
 github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
 github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
 github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
+github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk=
 github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
 github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
 github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
@@ -1019,6 +1044,8 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5
 github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
 github.com/miekg/dns v1.1.54 h1:5jon9mWcb0sFJGpnI99tOMhCPyJ+RPVz5b63MQG0VWI=
+github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc=
+github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc=
 github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY=
 github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
 github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE=
@@ -1031,8 +1058,6 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
 github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
 github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
 github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
 github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
@@ -1045,6 +1070,7 @@ github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a
 github.com/multiformats/go-multiaddr v0.9.0 h1:3h4V1LHIk5w4hJHekMKWALPXErDfz/sggzwC/NcqbDQ=
 github.com/multiformats/go-multiaddr v0.9.0/go.mod h1:mI67Lb1EeTOYb8GQfL/7wpIZwc46ElrvzhYnoJOmTT0=
 github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A=
+github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E=
 github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs=
 github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g=
 github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk=
@@ -1059,7 +1085,6 @@ github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXS
 github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
 github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
 github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
@@ -1067,59 +1092,39 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
-github.com/onflow/atree v0.5.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVFi0tc=
-github.com/onflow/atree v0.6.0 h1:j7nQ2r8npznx4NX39zPpBYHmdy45f4xwoi+dm37Jk7c=
-github.com/onflow/atree v0.6.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVFi0tc=
-github.com/onflow/cadence v0.39.13-stable-cadence/go.mod h1:SxT8/IEkS1drFj2ofUEK9S6KyJ5GQbrm0LX4EFCp/7Q=
-github.com/onflow/cadence v0.39.13-stable-cadence.0.20230811182010-c66466eb6b1a h1:HCsJfKZJXfbLF5N9BsNhgJgpNuqURq7D3EChRFr+MIY=
-github.com/onflow/cadence v0.39.13-stable-cadence.0.20230811182010-c66466eb6b1a/go.mod h1:SxT8/IEkS1drFj2ofUEK9S6KyJ5GQbrm0LX4EFCp/7Q=
-github.com/onflow/cadence v0.39.13-stable-cadence.0.20230815215130-fc15617946a1 h1:ELu6aFiphx4QAQE64EbYidJjc5DQSF087QfJZfamnXY=
-github.com/onflow/cadence v0.39.13-stable-cadence.0.20230815215130-fc15617946a1/go.mod h1:SxT8/IEkS1drFj2ofUEK9S6KyJ5GQbrm0LX4EFCp/7Q=
-github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230808220007-f00e74ca675b h1:Z5W3qsSQlXfu6VU6rxkoTMe665DmaULiX1oQim+4myM=
-github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230808220007-f00e74ca675b/go.mod h1:6Jo+45NRYaqDDbY42rxAEQ+GrG47avd1UDqudttlBmI=
-github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230808220007-f00e74ca675b h1:f+5TwXPwlvtaDwn0ZlMIxibuPwbvmtlnSkeZgAm38Yw=
-github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230808220007-f00e74ca675b/go.mod h1:a9vPOJl7SwR0L6MMzPGEshp5HEsPQfay/pze+jrNlrw=
-github.com/onflow/flow-emulator v0.54.1-0.20230810231813-53e63bcc9c8f h1:St1LbDieRnbhIWh18wO0RvZvO+yQ2IMS8bqltGedc80=
-github.com/onflow/flow-emulator v0.54.1-0.20230810231813-53e63bcc9c8f/go.mod h1:XjNujgJxij7UBr8Syeg0m83HEuyNT3lNhZSFLI06vdI=
-github.com/onflow/flow-emulator v0.54.1-0.20230815221351-758e3a5bb92a h1:n4YjBCFzfJEcOJegcIVQ0iuFHSfouxwcoZVQTQM3U64=
-github.com/onflow/flow-emulator v0.54.1-0.20230815221351-758e3a5bb92a/go.mod h1:uwXXYMIXcIl6b+vYcbG3PxuoQ9jLg8zMsqh/a21z63k=
-github.com/onflow/flow-go v0.31.1-0.20230810172105-725d883609b7 h1:3ksDeoohaKtz1dQN0kXP2Fejm/VueOuheNDH07uel68=
-github.com/onflow/flow-go v0.31.1-0.20230810172105-725d883609b7/go.mod h1:u5HQAm9bfcxIxYwrYzz/uX3ImCeX/tOxS4Voyk7G+K0=
-github.com/onflow/flow-go v0.31.1-0.20230815221159-accf10b9fbaa h1:zyM+lQ1YHBTaKZCCZYcPuUOw/1c0PpmWHZmsk6WZv3I=
-github.com/onflow/flow-go v0.31.1-0.20230815221159-accf10b9fbaa/go.mod h1:XTo0N5HIT8Rnih7bP/Y/HGdOzH+BZpdykObJNTsCpAI=
-github.com/onflow/flow-go-sdk v0.41.7-stable-cadence/go.mod h1:ejVN+bqcsTHVvRpDDJDoBNdmcxUfFMW4IvdTbMeQ/hQ=
-github.com/onflow/flow-go-sdk v0.41.10-0.20230719221154-2a4946e41c23 h1:2mE0uSQAXqeNcbOhuj7fDEcurouRlyebI30WVAuOT4s=
-github.com/onflow/flow-go-sdk v0.41.10-0.20230719221154-2a4946e41c23/go.mod h1:U5JP8mlCiOxaKZrQC8ww9yeko5yxBfTOsbZY0ziEtJQ=
-github.com/onflow/flow-go-sdk v0.41.10-0.20230815215544-c3e9ce914aee h1:zU78xj/94YNYtf4CLGWogCTPyrR+1h3QTalsU/ZEKDg=
-github.com/onflow/flow-go-sdk v0.41.10-0.20230815215544-c3e9ce914aee/go.mod h1:JdN8uOpLMFaMTCFSoeck78fYPupTsV7ccvyrDM88nQU=
+github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo=
+github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
+github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230908213403-8f1134670ed0/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
+github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230918153730-ec4d615b89d8 h1:oMTG8eDUQ/6p22Nm3bBpEWiGYM9XhlPXb3KGnvfj2Rk=
+github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230918153730-ec4d615b89d8/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
+github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230915224512-fa9343b5af21 h1:v6Orh4HCFzPr+z1WfC7WLHSfzH+hK3kJq1LQHgsTfJI=
+github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230915224512-fa9343b5af21/go.mod h1:jynQxJ+wcEZ5LilKDUIUWY6IOO+CSYhcggWleswq20Y=
+github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230915224512-fa9343b5af21 h1:kfVOhI/hpyJeqicjedYzFjCofOQgGwY0wYA9Rh7GPy4=
+github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230915224512-fa9343b5af21/go.mod h1:AoTO8J5w/PMPAlccqBiC0rVmd6cU+0ggL2o2ohhjRzU=
+github.com/onflow/flow-emulator v0.54.1-0.20230919150501-db4da71c768b h1:wv8SNS+wAAh4aXy+rJUMh3yTi+EjHRBKMmrj9Ul8r1U=
+github.com/onflow/flow-emulator v0.54.1-0.20230919150501-db4da71c768b/go.mod h1:P3i4hk0kryL0tniig5/cOK+0GdlemwCF55yeOosd8L0=
+github.com/onflow/flow-go v0.31.1-0.20230915232445-43aebfd0ae6a h1:dIimYZH6Y2y7MFKKlKyWmz9n9JSMQ3n4sTj3qLFtPxE=
+github.com/onflow/flow-go v0.31.1-0.20230915232445-43aebfd0ae6a/go.mod h1:kqlBoVAVDSi2VbLX71WOmx/vfzRrQSTu3Yw0baUoHIg=
+github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230915213126-68e7ffb5595f h1:uHRzlxqvV+trNBEqlLstf92lwlkZtNV2ljQetjVCLxo=
+github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230915213126-68e7ffb5595f/go.mod h1:tc3I2xIc+ThMUIW2Jkam1pquKpuRDTLGP79INkCGZg4=
 github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onflow/flow-go/crypto v0.24.9 h1:0EQp+kSZYJepMIiSypfJVe7tzsPcb6UXOdOtsTCDhBs=
 github.com/onflow/flow-go/crypto v0.24.9/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230811183441-b882831b7c12 h1:dMAiRANcdlGhCuLBNz6jx8Fs8S3JoN04HCZKkw9skZs=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230811183441-b882831b7c12/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818195409-320a75e71fb5 h1:Uar1h7OL9f9X/4lfyniox3YAeOZ+NIDIGWKaWrnIBKA=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818195409-320a75e71fb5/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818195908-fc272624732e h1:gwVjfPh7dj2pc/w9CmcBtmFF+3sj9wbtO/obetT6hs4=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818195908-fc272624732e/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200022-c6352f05747c h1:1XSGHurlwM9g8pbfmcAgbprLwl3bpvNOKM6kxhrcX90=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200022-c6352f05747c/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200146-554fb8aac587 h1:1ArZdbG5fNqbtD6rt/3xkGboAGscxHrLpxUYiJu8sU4=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200146-554fb8aac587/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200521-3acffe2472a3 h1:JNDJQI1ID8qLvv8kynPkrUNo34II5RB/aw6PN9dpMV0=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230818200521-3acffe2472a3/go.mod h1:OKA2xWNugqqbaFSmxdb1VWixtuqSdz/VK1MlbdcIUxw=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230915224343-ca2663ed82cf h1:G3RFroB2Aj1d9CyJwl9JcZYWiOF75TB6L84/QSBUPds=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230915224343-ca2663ed82cf/go.mod h1:W7S4wW94sefM+/uAdtrQP1S2I4aVbYJPxWlyNAUT0yI=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20221202093946-932d1c70e288/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce h1:YQKijiQaq8SF1ayNqp3VVcwbBGXSnuHNHq4GQmVGybE=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
-github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead h1:2j1Unqs76Z1b95Gu4C3Y28hzNUHBix7wL490e61SMSw=
-github.com/onflow/nft-storefront/lib/go/contracts v0.0.0-20221222181731-14b90207cead/go.mod h1:E3ScfQb5XcWJCIAdtIeEnr5i5l2y60GT0BTXeIHseWg=
-github.com/onflow/sdks v0.5.0 h1:2HCRibwqDaQ1c9oUApnkZtEAhWiNY2GTpRD5+ftdkN8=
-github.com/onflow/sdks v0.5.0/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
+github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba h1:rIehuhO6bj4FkwE4VzwEjX7MoAlOhUJENBJLqDqVxAo=
+github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
 github.com/onflow/wal v0.0.0-20230529184820-bc9f8244608d h1:gAEqYPn3DS83rHIKEpsajnppVD1+zwuYPFyeDVFaQvg=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
+github.com/onsi/ginkgo/v2 v2.9.7 h1:06xGQy5www2oN160RtEZoTvnP2sPhEfePYmCDc2szss=
 github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
 github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
+github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0=
 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
 github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
@@ -1146,6 +1151,7 @@ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qR
 github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/polydawn/refmt v0.89.0 h1:ADJTApkvkeBZsN0tBTx8QjpD9JkmxbKp0cxfr9qszm4=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
 github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
 github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8=
@@ -1170,6 +1176,12 @@ github.com/psiemens/graceland v1.0.0 h1:L580AVV4Q2XLcPpmvxJRH9UpEAYr/eu2jBKmMglh
 github.com/psiemens/graceland v1.0.0/go.mod h1:1Tof+vt1LbmcZFE0lzgdwMN0QBymAChG3FRgDx8XisU=
 github.com/psiemens/sconfig v0.1.0 h1:xfWqW+TRpih7mXZIqKYTmpRhlZLQ1kbxV8EjllPv76s=
 github.com/psiemens/sconfig v0.1.0/go.mod h1:+MLKqdledP/8G3rOBpknbLh0IclCf4WneJUtS26JB2U=
+github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo=
+github.com/quic-go/qtls-go1-19 v0.3.2 h1:tFxjCFcTQzK+oMxG6Zcvp4Dq8dx4yD3dDiIiyc86Z5U=
+github.com/quic-go/qtls-go1-20 v0.2.2 h1:WLOPx6OY/hxtTxKV1Zrq20FtXtDEkeY00CGQm8GEa3E=
+github.com/quic-go/quic-go v0.33.0 h1:ItNoTDN/Fm/zBlq769lLJc8ECe9gYaW40veHCCco7y0=
+github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU=
+github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk=
 github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
@@ -1273,7 +1285,7 @@ github.com/vmihailenco/msgpack/v4 v4.3.11 h1:Q47CePddpNGNhk4GCnAx9DDtASi2rasatE0
 github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
 github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY=
 github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
-github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM=
+github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k=
 github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees=
 github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
 github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
@@ -1303,6 +1315,7 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
+go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
 go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
 go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM=
 go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
@@ -1331,6 +1344,8 @@ go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
 go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
 go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
+go.uber.org/dig v1.17.0 h1:5Chju+tUvcC+N7N6EV08BJz41UZuO3BmHcN4A287ZLI=
+go.uber.org/fx v1.19.2 h1:SyFgYQFr1Wl0AYstE8vyYIzP4bFz2URrScjwC4cwUvY=
 go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
 go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
 go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
@@ -1380,8 +1395,9 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH
 golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
 golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
 golang.org/x/exp v0.0.0-20221110155412-d0897a79cd37/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
-golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
 golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
+golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
+golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
 golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@@ -1424,7 +1440,7 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91
 golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
 golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
+golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -1626,8 +1642,8 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s=
-golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
+golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -2027,7 +2043,6 @@ gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
diff --git a/transactions/burn_tokens.cdc b/transactions/burn_tokens.cdc
index bdbdc9c3..fddae2d7 100644
--- a/transactions/burn_tokens.cdc
+++ b/transactions/burn_tokens.cdc
@@ -18,16 +18,16 @@ transaction(amount: UFix64) {
     /// The total supply of tokens before the burn
     let supplyBefore: UFix64
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         self.supplyBefore = ExampleToken.totalSupply
 
         // Withdraw 10 tokens from the admin vault in storage
-        self.vault <- signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)!
+        self.vault <- signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)!
             .withdraw(amount: amount)
 
         // Create a reference to the admin admin resource in storage
-        self.admin = signer.borrow<&ExampleToken.Administrator>(from: ExampleToken.AdminStoragePath)
+        self.admin = signer.storage.borrow<&ExampleToken.Administrator>(from: ExampleToken.AdminStoragePath)
             ?? panic("Could not borrow a reference to the admin resource")
     }
 
diff --git a/transactions/create_forwarder.cdc b/transactions/create_forwarder.cdc
index d6e627bb..9b6b11c4 100644
--- a/transactions/create_forwarder.cdc
+++ b/transactions/create_forwarder.cdc
@@ -29,31 +29,31 @@ import TokenForwarding from "TokenForwarding"
 
 transaction(receiver: Address) {
 
-    prepare(acct: AuthAccount) {
+    prepare(acct: auth(BorrowValue) &Account) {
 
         // Get the receiver capability for the account being forwarded to
         let recipient = getAccount(receiver)
-            .getCapability<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
+            .capabilities.get<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
 
         // Create the forwarder and save it to the account that is doing the forwarding
         let vault <- TokenForwarding.createNewForwarder(recipient: recipient)
-        acct.save(<-vault, to: /storage/exampleTokenForwarder)
+        acct.storage.save(<-vault, to: /storage/exampleTokenForwarder)
 
         // Unlink the existing receiver capability
-        if acct.getCapability(ExampleToken.ReceiverPublicPath).check<&{FungibleToken.Receiver}>() {
-            acct.unlink(ExampleToken.ReceiverPublicPath)
+        if acct.capabilities.get(ExampleToken.ReceiverPublicPath).check<&{FungibleToken.Receiver}>() {
+            acct.capabilities.unpublish(ExampleToken.ReceiverPublicPath)
         }
 
         // Link the new forwarding receiver capability
-        acct.link<&{FungibleToken.Receiver}>(
-            ExampleToken.ReceiverPublicPath,
-            target: /storage/exampleTokenForwarder
+        let tokenReceiverCap = acct.capabilities.storage.issue<&{FungibleToken.Receiver}>(
+            /storage/exampleTokenForwarder
         )
+        acct.capabilities.publish(tokenReceiverCap, at: ExampleToken.ReceiverPublicPath)
 
         // Link the new ForwarderPublic capability
-        acct.link<&{TokenForwarding.ForwarderPublic}>(
-            /public/exampleTokenForwarder,
-            target: /storage/exampleTokenForwarder
+        let tokenForwarderCap = acct.capabilities.storage.issue<&{TokenForwarding.ForwarderPublic}>(
+            /storage/exampleTokenForwarder
         )
+        acct.capabilities.publish(tokenForwarderCap, at: /public/exampleTokenForwarder)
     }
 }
\ No newline at end of file
diff --git a/transactions/generic_transfer.cdc b/transactions/generic_transfer.cdc
index 5835bf7d..697c1570 100644
--- a/transactions/generic_transfer.cdc
+++ b/transactions/generic_transfer.cdc
@@ -11,21 +11,18 @@ transaction(amount: UFix64, to: Address, senderPath: StoragePath, receiverPath:
     // The Vault resource that holds the tokens that are being transferred
     let tempVault: @FungibleToken.Vault
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &{FungibleToken.Provider}>(from: senderPath)
+        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &{FungibleToken.Provider}>(from: senderPath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
         self.tempVault <- vaultRef.withdraw(amount: amount)
-
     }
 
     execute {
-
         let recipient = getAccount(to)
-        let receiverRef = recipient.getCapability<&{FungibleToken.Receiver}>(receiverPath)
-            .borrow()!
+        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(receiverPath)!
 
         // Transfer tokens from the signer's stored vault to the receiver capability
         receiverRef.deposit(from: <-self.tempVault)
diff --git a/transactions/metadata/setup_account_from_vault_reference.cdc b/transactions/metadata/setup_account_from_vault_reference.cdc
index 63fa3f41..8efd6d37 100644
--- a/transactions/metadata/setup_account_from_vault_reference.cdc
+++ b/transactions/metadata/setup_account_from_vault_reference.cdc
@@ -9,11 +9,10 @@ import MetadataViews from "contracts/utility/MetadataViews"
 
 transaction(address: Address, publicPath: PublicPath) {
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(SaveValue, Capabilities) &Account) {
         // Borrow a reference to the vault stored on the passed account at the passed publicPath
         let resolverRef = getAccount(address)
-            .getCapability(publicPath)
-            .borrow<&{MetadataViews.Resolver}>()
+            .capabilities.borrow<&{MetadataViews.Resolver}>(publicPath)
             ?? panic("Could not borrow a reference to the vault view resolver ")
 
         // Use that reference to retrieve the FTView 
@@ -26,20 +25,16 @@ transaction(address: Address, publicPath: PublicPath) {
         let emptyVault <-ftVaultData.createEmptyVault()
 
         // Save it to the account
-        signer.save(<-emptyVault, to: ftVaultData.storagePath)
+        signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)
 
         // Create a public capability for the vault exposing the receiver interface
-        signer.link<&{FungibleToken.Receiver}>(
-            ftVaultData.receiverPath,
-            target: ftVaultData.storagePath
-        )
+        let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)
+        signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)
 
         // Create a public capability for the vault exposing the balance and resolver interfaces
-        signer.link<&{FungibleToken.Balance, MetadataViews.Resolver}>(
-            ftVaultData.metadataPath,
-            target: ftVaultData.storagePath
-        )
-
+        let metadatResolverCap = signer.capabilities.storage
+            .issue<&{FungibleToken.Balance, MetadataViews.Resolver}>(ftVaultData.storagePath)
+        signer.capabilities.publish(metadatResolverCap, at: ftVaultData.metadataPath)
     }
 }
  
\ No newline at end of file
diff --git a/transactions/mint_tokens.cdc b/transactions/mint_tokens.cdc
index b0357fab..97182432 100644
--- a/transactions/mint_tokens.cdc
+++ b/transactions/mint_tokens.cdc
@@ -16,17 +16,16 @@ transaction(recipient: Address, amount: UFix64) {
     /// The total supply of tokens before the burn
     let supplyBefore: UFix64
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
         self.supplyBefore = ExampleToken.totalSupply
 
         // Borrow a reference to the admin object
-        self.tokenAdmin = signer.borrow<&ExampleToken.Administrator>(from: ExampleToken.AdminStoragePath)
+        self.tokenAdmin = signer.storage.borrow<&ExampleToken.Administrator>(from: ExampleToken.AdminStoragePath)
             ?? panic("Signer is not the token admin")
 
         // Get the account of the recipient and borrow a reference to their receiver
         self.tokenReceiver = getAccount(recipient)
-            .getCapability(ExampleToken.ReceiverPublicPath)
-            .borrow<&{FungibleToken.Receiver}>()
+            .capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
             ?? panic("Unable to borrow receiver reference")
     }
 
diff --git a/transactions/safe_generic_transfer.cdc b/transactions/safe_generic_transfer.cdc
index 63d109da..23439b05 100644
--- a/transactions/safe_generic_transfer.cdc
+++ b/transactions/safe_generic_transfer.cdc
@@ -14,20 +14,20 @@ transaction(amount: UFix64, to: Address, senderPath: StoragePath, receiverPath:
     // Borrowed teference receive tokens if receiving account doesn't support the sending token
     let senderReceiverRef: &{Token.Receiver}
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &{FungibleToken.Provider}>(from: senderPath)
+        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &{FungibleToken.Provider}>(from: senderPath)
 			?? panic("Could not borrow reference to the owner's Vault!")
         
-        self.senderReceiverRef = signer.borrow<&{FungibleToken.Receiver}>(from: senderPath)
+        self.senderReceiverRef = signer.storage.borrow<&{FungibleToken.Receiver}>(from: senderPath)
 			?? panic("Could not borrow {FungibleToken.Receiver} reference to the owner's Vault!")
 
         self.tempVault <- vaultRef.withdraw(amount: amount)
     }
 
     execute {
-        let receiverRef = getAccount(to).getCapability<&{FungibleToken.Receiver}>(receiverPath).borrow()!
+        let receiverRef = getAccount(to).capabilities.borrow<&{FungibleToken.Receiver}>(receiverPath)!
         let supportedVaultTypes = receiverRef.getSupportedVaultTypes()
         // Only transfer tokens when the receiver is willing to receive the targeted FT.
         if supportedVaultTypes.containsKey(self.tempVault.getType()) {
diff --git a/transactions/setup_account.cdc b/transactions/setup_account.cdc
index f38b242d..08ee1ce6 100644
--- a/transactions/setup_account.cdc
+++ b/transactions/setup_account.cdc
@@ -8,25 +8,28 @@ import ViewResolver from "ViewResolver"
 
 transaction () {
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Return early if the account already stores a ExampleToken Vault
-        if signer.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath) != nil {
+        if signer.storage.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath) != nil {
             return
         }
 
         let vault <- ExampleToken.createEmptyVault()
 
         // Create a new ExampleToken Vault and put it in storage
-        signer.save(
+        signer.storage.save(
             <-vault,
             to: ExampleToken.VaultStoragePath
         )
 
         // Create a public capability to the Vault that exposes the Receiver, Balance, and Resolver interfaces
-        signer.link<&{FungibleToken.Receiver, FungibleToken.Balance, ViewResolver.Resolver}>(
-            ExampleToken.VaultPublicPath,
-            target: ExampleToken.VaultStoragePath
+        let vaultCap = signer.link<&{FungibleToken.Receiver, FungibleToken.Balance, ViewResolver.Resolver}>(
+            ExampleToken.VaultStoragePath
+        )
+        signer.capabilities.publish<&{FungibleToken.Receiver, FungibleToken.Balance, ViewResolver.Resolver}>(
+            vaultCap,
+            at: ExampleToken.VaultPublicPath,
         )
     }
 }
diff --git a/transactions/transfer_many_accounts.cdc b/transactions/transfer_many_accounts.cdc
index 0ad6f13b..edd94ab8 100644
--- a/transactions/transfer_many_accounts.cdc
+++ b/transactions/transfer_many_accounts.cdc
@@ -8,10 +8,9 @@ transaction(addressAmountMap: {Address: UFix64}) {
     // The Vault resource that holds the tokens that are being transferred
     let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
 
-    prepare(signer: AuthAccount) {
-
+    prepare(signer: auth(BorrowValue) &Account) {
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
     }
 
@@ -26,8 +25,7 @@ transaction(addressAmountMap: {Address: UFix64}) {
             let recipient = getAccount(address)
 
             // Get a reference to the recipient's Receiver
-            let receiverRef = recipient.getCapability(ExampleToken.ReceiverPublicPath)
-                .borrow<&{FungibleToken.Receiver}>()
+            let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
                 ?? panic("Could not borrow receiver reference to the recipient's Vault")
 
             // Deposit the withdrawn tokens in the recipient's receiver
diff --git a/transactions/transfer_tokens.cdc b/transactions/transfer_tokens.cdc
index 910fad04..0471c86f 100644
--- a/transactions/transfer_tokens.cdc
+++ b/transactions/transfer_tokens.cdc
@@ -13,10 +13,10 @@ transaction(amount: UFix64, to: Address) {
     // The Vault resource that holds the tokens that are being transferred
     let sentVault: @FungibleToken.Vault
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
             ?? panic("Could not borrow reference to the owner's Vault!")
 
         // Withdraw tokens from the signer's stored vault
@@ -29,8 +29,7 @@ transaction(amount: UFix64, to: Address) {
         let recipient = getAccount(to)
 
         // Get a reference to the recipient's Receiver
-        let receiverRef = recipient.getCapability(ExampleToken.ReceiverPublicPath)
-            .borrow<&{FungibleToken.Receiver}>()
+        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
             ?? panic("Could not borrow receiver reference to the recipient's Vault")
 
         // Deposit the withdrawn tokens in the recipient's receiver

From f3a52a7768628916b3a90eaf7e8f5c101b30aa32 Mon Sep 17 00:00:00 2001
From: Supun Setunga <supun.setunga@gmail.com>
Date: Wed, 20 Sep 2023 22:48:38 -0700
Subject: [PATCH 020/115] Update to Cadence v1.0.0-preview.1

---
 lib/go/templates/go.mod | 4 ++--
 lib/go/templates/go.sum | 8 ++++----
 lib/go/test/go.mod      | 4 ++--
 lib/go/test/go.sum      | 7 ++++---
 4 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/lib/go/templates/go.mod b/lib/go/templates/go.mod
index 0324a651..0b88caf7 100644
--- a/lib/go/templates/go.mod
+++ b/lib/go/templates/go.mod
@@ -4,7 +4,7 @@ go 1.18
 
 require (
 	github.com/kevinburke/go-bindata v3.22.0+incompatible
-	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230912230115-25ad6f515ce6
+	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2
 )
 
 require (
@@ -23,7 +23,7 @@ require (
 	github.com/mattn/go-colorable v0.1.13 // indirect
 	github.com/mattn/go-isatty v0.0.16 // indirect
 	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
-	github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230908213403-8f1134670ed0 // indirect
+	github.com/onflow/cadence v1.0.0-preview.1 // indirect
 	github.com/onflow/flow-go/crypto v0.24.7 // indirect
 	github.com/pkg/errors v0.9.1 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
diff --git a/lib/go/templates/go.sum b/lib/go/templates/go.sum
index 05e9115b..e3a54201 100644
--- a/lib/go/templates/go.sum
+++ b/lib/go/templates/go.sum
@@ -119,10 +119,10 @@ github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXW
 github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
-github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230908213403-8f1134670ed0 h1:8Mniwp17wrjLAv/KgCcZ6JH47/EjgCgkX0AXLfSXJEM=
-github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230908213403-8f1134670ed0/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
-github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230912230115-25ad6f515ce6 h1:wE5bXFvMKpreQtqesfVdLmb7SrZ+mu5j1+PuTjo8jkg=
-github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230912230115-25ad6f515ce6/go.mod h1:tc3I2xIc+ThMUIW2Jkam1pquKpuRDTLGP79INkCGZg4=
+github.com/onflow/cadence v1.0.0-preview.1 h1:Y/q/43aDc93/1Atsxx3+e2V/dZiQuF1TqkXEVboA5pY=
+github.com/onflow/cadence v1.0.0-preview.1/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
+github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2 h1:vUVO6m85BiT8c50Oc8YGc3CU+sGqiKW9FZbmiRph2dU=
+github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2/go.mod h1:mbLrR3MkYbi9LH3yasDj1jrR4QTR8vjRLVFCm4jMHn0=
 github.com/onflow/flow-go/crypto v0.24.7 h1:RCLuB83At4z5wkAyUCF7MYEnPoIIOHghJaODuJyEoW0=
 github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index d2d51ae0..85a7dfda 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -3,11 +3,11 @@ module github.com/onflow/flow-ft/lib/go/test
 go 1.18
 
 require (
-	github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230918153730-ec4d615b89d8
+	github.com/onflow/cadence v1.0.0-preview.1
 	github.com/onflow/flow-emulator v0.54.1-0.20230919150501-db4da71c768b
 	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20230913160646-09adc7d3b513
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
-	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230915213126-68e7ffb5595f
+	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2
 	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230915224343-ca2663ed82cf
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 566da115..9ac5438c 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -1095,8 +1095,8 @@ github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
 github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230908213403-8f1134670ed0/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
-github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230918153730-ec4d615b89d8 h1:oMTG8eDUQ/6p22Nm3bBpEWiGYM9XhlPXb3KGnvfj2Rk=
-github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230918153730-ec4d615b89d8/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
+github.com/onflow/cadence v1.0.0-preview.1 h1:Y/q/43aDc93/1Atsxx3+e2V/dZiQuF1TqkXEVboA5pY=
+github.com/onflow/cadence v1.0.0-preview.1/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
 github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230915224512-fa9343b5af21 h1:v6Orh4HCFzPr+z1WfC7WLHSfzH+hK3kJq1LQHgsTfJI=
 github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230915224512-fa9343b5af21/go.mod h1:jynQxJ+wcEZ5LilKDUIUWY6IOO+CSYhcggWleswq20Y=
 github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230915224512-fa9343b5af21 h1:kfVOhI/hpyJeqicjedYzFjCofOQgGwY0wYA9Rh7GPy4=
@@ -1105,8 +1105,9 @@ github.com/onflow/flow-emulator v0.54.1-0.20230919150501-db4da71c768b h1:wv8SNS+
 github.com/onflow/flow-emulator v0.54.1-0.20230919150501-db4da71c768b/go.mod h1:P3i4hk0kryL0tniig5/cOK+0GdlemwCF55yeOosd8L0=
 github.com/onflow/flow-go v0.31.1-0.20230915232445-43aebfd0ae6a h1:dIimYZH6Y2y7MFKKlKyWmz9n9JSMQ3n4sTj3qLFtPxE=
 github.com/onflow/flow-go v0.31.1-0.20230915232445-43aebfd0ae6a/go.mod h1:kqlBoVAVDSi2VbLX71WOmx/vfzRrQSTu3Yw0baUoHIg=
-github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230915213126-68e7ffb5595f h1:uHRzlxqvV+trNBEqlLstf92lwlkZtNV2ljQetjVCLxo=
 github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230915213126-68e7ffb5595f/go.mod h1:tc3I2xIc+ThMUIW2Jkam1pquKpuRDTLGP79INkCGZg4=
+github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2 h1:vUVO6m85BiT8c50Oc8YGc3CU+sGqiKW9FZbmiRph2dU=
+github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2/go.mod h1:mbLrR3MkYbi9LH3yasDj1jrR4QTR8vjRLVFCm4jMHn0=
 github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onflow/flow-go/crypto v0.24.9 h1:0EQp+kSZYJepMIiSypfJVe7tzsPcb6UXOdOtsTCDhBs=
 github.com/onflow/flow-go/crypto v0.24.9/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=

From c1363b458fe3bbb8b99111a754ce1a45b1851072 Mon Sep 17 00:00:00 2001
From: Supun Setunga <supun.setunga@gmail.com>
Date: Fri, 22 Sep 2023 12:08:48 -0700
Subject: [PATCH 021/115] Revert changes to ExampleToken.cdc

---
 contracts/ExampleToken.cdc                 | 16 ++++++++++------
 lib/go/contracts/internal/assets/assets.go |  6 +++---
 lib/go/test/go.mod                         |  2 +-
 lib/go/test/go.sum                         | 13 +++++++++++++
 4 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 7cb9d938..2e08584f 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -244,20 +244,24 @@ access(all) contract ExampleToken: FungibleToken {
 
         // Create the Vault with the total supply of tokens and save it in storage.
         let vault <- create Vault(balance: self.totalSupply)
-        self.account.storage.save(<-vault, to: self.VaultStoragePath)
+        self.account.save(<-vault, to: self.VaultStoragePath)
 
         // Create a public capability to the stored Vault that exposes
         // the `deposit` method through the `Receiver` interface.
-        let receiverCap = self.account.capabilities.storage.issue<&{FungibleToken.Receiver}>(self.VaultStoragePath)
-        self.account.capabilities.publish(receiverCap, at: self.ReceiverPublicPath)
+        self.account.link<&{FungibleToken.Receiver}>(
+            self.ReceiverPublicPath,
+            target: self.VaultStoragePath
+        )
 
         // Create a public capability to the stored Vault that only exposes
         // the `balance` field and the `resolveView` method through the `Balance` interface
-        let vaultCap = self.account.capabilities.storage.issue<&ExampleToken.Vault>(self.VaultStoragePath)
-        self.account.capabilities.publish(vaultCap, at: self.VaultPublicPath)
+        self.account.link<&ExampleToken.Vault{FungibleToken.Balance}>(
+            self.VaultPublicPath,
+            target: self.VaultStoragePath
+        )
 
         let admin <- create Administrator()
-        self.account.storage.save(<-admin, to: self.AdminStoragePath)
+        self.account.save(<-admin, to: self.AdminStoragePath)
 
         // Emit an event that shows that the contract was initialized
         emit TokensInitialized(initialSupply: self.totalSupply)
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 4b683248..0e497381 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken-v2.cdc (11.053kB)
-// ../../../contracts/ExampleToken.cdc (12.129kB)
+// ../../../contracts/ExampleToken.cdc (12.028kB)
 // ../../../contracts/FungibleToken-v2.cdc (10.649kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
@@ -101,7 +101,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	return a, nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x6d\x6f\x1b\x37\xf2\x7f\xef\x4f\x31\x7f\xfd\x81\x9e\x84\xda\xb2\xfb\x94\x6b\x85\xa4\x89\xd3\xc6\xb8\x03\xda\x22\x68\xdd\xf6\x45\x51\x24\xd4\xee\x48\xe2\x79\x97\xdc\x92\x5c\xc9\x6a\x90\xef\x7e\x18\x3e\xec\x92\xfb\x20\xc9\x4e\x4e\x6f\x6c\x69\x39\x0f\x9c\xf9\xcd\x0c\x39\xb3\xbc\xac\xa4\x32\x70\x53\x8b\x35\x5f\x16\x78\x2b\xef\x50\xc0\x4a\xc9\x12\x26\xc9\x6f\x93\x33\xbf\xf2\x47\x34\x2c\x67\x86\xfd\xc6\x71\xa7\xfd\xca\xe4\xb7\x66\x65\x42\x3f\x44\x36\xbe\x60\x72\x76\xc6\xb2\x0c\xb5\x9e\xb2\xa2\x98\x41\x26\x85\x51\x2c\x33\xf0\xea\x9e\x95\x95\x27\x58\x74\x94\x7e\x77\x76\x06\x00\x70\x79\x79\x09\xb7\xd2\xb0\x02\x74\x5d\x55\xc5\x1e\xe4\x2a\x21\xd3\xc0\x05\xe0\x3d\xd7\x06\x45\x86\x96\x24\x16\xb5\x65\x0a\x0c\x91\xff\x62\xa9\x17\xf0\xeb\x0d\xbf\x7f\xf2\xa5\x5d\xd7\xf0\xff\xc5\x48\xc5\xd6\x08\x4c\xe4\xf0\xba\x5e\x16\x3c\x83\xd7\xcc\x6c\x74\x8f\x5b\x81\x06\x7e\x63\x75\x61\x3c\x05\xad\x5a\x40\xf4\x65\x9c\xc2\xf1\x75\x04\xed\xff\x83\xeb\x7f\xc6\x0c\xf9\x16\xd5\x03\x48\xae\xf3\x92\x8b\x51\xa5\x5a\x43\x6e\x10\x70\x8b\xc2\x80\xd9\x30\x03\x5c\x03\x96\xdc\x18\xcc\x61\xb7\x41\x01\x66\x83\xad\x6f\xb8\x86\x4c\x21\x33\x98\xf7\x24\x3a\x16\xce\xfc\xff\x16\xdc\x70\x56\xf0\xbf\x31\x9f\x72\xf7\x7f\x6a\xea\xd9\xe9\xe2\x9d\x3f\x99\x42\xd8\x71\xb3\xc9\x15\xdb\x79\xec\x32\x67\xc3\x83\x8a\xfc\x1e\x48\xa6\xac\x94\xb5\x30\x41\xfe\xb9\x65\xb1\x80\xeb\x3c\x57\xa8\xf5\xf3\x47\xe9\x93\x63\x25\x35\xa7\x27\x46\x9e\xa4\xcd\xf7\x81\xa0\xa7\x8d\x91\x8f\xd1\x45\xe0\x2e\xd6\xa7\xe4\xe2\x98\x63\x7e\xb4\x4b\x3a\xe2\x1f\xb9\x79\x6d\x94\xdc\x1f\x91\xf7\xb2\x56\xe2\x03\xe4\x31\xbb\x45\xbb\x2f\x05\x0a\xb5\xac\x55\x86\xc7\x41\x68\x77\xa9\xbe\x73\x6b\xe8\x81\xdc\x61\x7e\xfd\x41\x3a\x2c\x69\x23\x0f\xd1\xc1\xee\xbc\xd1\x21\x12\xf7\x8a\x65\x1b\xa8\x35\x2a\xd0\x46\x2a\xd4\xc0\x04\x70\xa1\x0d\x13\x19\x52\x1e\x93\xa2\xd8\xdb\xa0\xb3\x78\xa2\x44\x66\x36\xc8\xdd\x6a\xb6\xc6\x44\xed\x55\x2d\x32\xc3\xa5\xcb\x77\x2d\x0d\xa5\xac\xb5\xdc\x22\xd9\x1e\x96\x8e\x5b\xa5\x5c\x2a\xab\xa4\x36\x14\xcf\x39\xb7\x84\x0d\x3b\x2e\x3a\xa9\x36\x04\xff\xde\xba\x3b\x63\x45\x81\xf9\x3c\x91\x9e\x6d\x30\xbb\xd3\xb0\x61\x55\x45\x76\x32\xa0\x6a\x61\x78\x89\x96\x14\xb7\xa8\x80\x35\x1a\x5a\x83\xa5\x3c\x1a\x5e\x3f\x7b\xa3\xd2\x0a\xe1\xf6\xbf\xc4\x60\xde\xb0\x33\x4a\x41\x78\x6f\xc8\x42\x49\x46\xb2\x3e\x23\x35\x1b\x76\x0e\x9d\x2b\x2e\x2c\xf1\x39\x68\x49\xcf\x95\xf5\x99\x90\xb0\x63\x7b\x58\x49\xd2\xad\x64\x05\xcf\xb8\xac\xb5\x73\x87\x91\x5e\xa6\xb3\x62\x6b\x1a\x59\x7b\xb1\x5c\x00\xe3\x6a\x0e\xd7\xa0\x2b\xcc\x38\x2b\x3c\xd2\x5a\x58\x08\xc4\x5c\x13\xa7\x65\xab\x83\x91\x16\xc1\x0d\xbb\x36\x6a\x53\x53\xc4\x18\x6a\x18\x5a\x55\x3a\x55\x70\xfe\x5a\xc9\x2d\xcf\x51\x9d\x77\x7e\x0f\x35\xa2\xfb\xfb\x4b\x56\x10\xba\xce\xd3\xba\x3e\x27\xbb\x17\xe4\x26\x5f\x55\x63\xdf\xda\xf2\x08\x4b\x47\xe8\x77\xaf\x61\xdb\xa4\xb8\xa1\x92\xea\x57\x37\xe5\x34\x61\xda\x96\x04\xeb\xbf\xc0\x99\x50\x13\xf6\x6a\xad\x4f\x58\x21\x10\x35\xc4\x54\x3f\xa6\x1d\xd6\x33\x78\xd7\x3c\xa7\x8f\xc6\x62\x35\x0f\x2c\x9f\x05\xe6\xcd\x92\xf7\xa9\x2a\x37\x01\x93\x0e\x3b\xec\xce\x05\xa1\x4b\x52\xc0\xdc\x17\xb5\xae\x4b\x14\x26\x21\xa4\xf8\x09\x45\x48\x3b\x6a\x4f\x64\x0b\x52\x13\x80\xf3\x74\xe7\xc6\xe3\x4a\xfb\x5c\x62\x90\xce\x4e\x4c\xed\x7d\xb8\x86\xb4\x53\x6b\x87\x96\x8d\x2c\xf2\x84\x03\x31\x2e\xa5\xc0\x7d\xb3\x74\x89\x5c\xac\xc1\x28\x26\xf4\x0a\x95\xc2\x7c\x4e\x62\x14\x9a\x5a\x09\x6d\xd7\x0b\xdc\x15\xfb\x84\x4b\x08\x28\x2f\x54\x26\x61\x65\x19\xbb\x00\xa5\x80\xe1\xc6\xc6\xe2\x32\x2a\x72\x09\x2f\x2c\x34\xee\x28\xa8\x92\xad\x26\x4b\x5e\x54\x4c\xb1\x12\x42\xea\x27\x50\x79\x63\x11\x9a\x5c\x21\x71\x81\xd2\xa9\xeb\xa4\x56\x0a\x34\xcb\xce\x6d\xce\xf2\x71\x3b\x68\x71\x23\x85\x61\x5c\x58\x8b\x6c\x12\x76\xb5\xc8\xf5\xa0\x82\x1e\xba\x69\x98\x84\xc3\x02\x5b\x16\x38\x23\xe2\x86\x55\xb7\x80\x2d\xe0\x45\x4a\xea\x34\x3a\x08\xca\xe4\xeb\x85\xb7\x45\x42\x40\x65\x67\xf4\xdc\xe2\xfe\x86\x73\x8b\x65\x26\x77\x02\xd5\xf3\x39\x73\xe7\x86\x59\xc2\xcb\x5b\xeb\xe9\x45\x9c\xd2\xda\x30\x72\xdc\x66\x0f\x8a\x10\x6f\x76\xb9\xfc\x0f\x66\xdd\x30\xb1\xa1\xc1\xf2\xd4\xda\xc0\x8d\x6e\x02\xdd\xe3\x2d\xc9\x28\x08\x76\x0b\x7a\x24\x6a\xb8\x06\x5f\xbb\x89\xda\x1f\x38\x2c\x99\x26\x91\x4e\x9d\x25\x66\xac\xd6\xd8\x06\x5f\xc2\x65\x47\x6a\x46\x01\x47\xa1\x85\x2a\x48\xf7\x59\xb8\xc5\xd4\x3f\x5a\x7d\x37\x2c\xdd\xcb\x12\x51\x10\xd2\x74\x5d\x62\x6e\xb7\x6b\x8b\xca\x4a\xda\xe2\xe8\x43\xc5\x1f\x89\x8e\x06\x85\x73\xe2\x71\x28\x5b\x00\x3b\x27\xec\x78\x51\x8c\xc6\xe3\x60\x4a\x26\x00\xfb\xd5\x53\x27\x70\x08\xb4\xdd\x54\x4a\x17\x07\x1b\x7d\xf0\xf4\xc2\x9f\xb3\xf5\xff\xc1\x8b\xf8\x76\x35\x4f\xed\x7c\x0c\xeb\x9f\x3a\x7e\xf3\x6e\x56\xee\x40\xbe\x7f\x38\x4e\xc8\xdc\x19\xf9\x28\xee\x13\x1a\x78\x06\x57\xf3\xab\xe4\x79\x40\x51\x9a\x60\x22\xf8\xfb\x05\xd3\xae\x5d\xf8\x2a\xdd\xd5\xb7\xc4\xba\xb3\x86\x3e\x89\xa1\xa2\x4b\x26\x3c\x1b\x7f\x74\x91\xb0\x4e\x58\xbe\x1f\x0b\x51\x02\x0f\x1d\x65\xe4\x0a\xd6\x68\x0c\x21\x86\x15\x85\x45\x4d\xa8\xf2\xe0\xee\xe1\x9c\x84\x52\x90\xba\xc3\x60\xac\xc5\x38\x4e\x7d\xfe\xb8\xa6\x10\x57\x4e\xcc\xed\xbe\x42\xed\x4e\x35\x01\x9f\x31\xeb\xad\x3d\x53\xc0\xad\x3b\x27\x14\x35\x36\x90\xb5\x75\x6d\x99\x16\xa3\xd6\xdc\x5b\x2c\x64\x45\x49\xc0\x48\xb8\x13\x72\x07\xbb\x0d\xcf\x36\x60\x03\x05\x8d\x3b\x97\x55\x4c\xeb\x90\x41\x94\x3b\xb5\xd0\xde\xa6\x33\x28\xd1\x6c\xe4\x48\xc0\x25\xe7\x13\x8e\x3b\x1b\x11\x6b\x34\xd6\x2c\xd3\xd9\x02\xfe\xa0\x2d\xfd\xf9\x6e\x28\x71\xda\x47\x4f\xc7\x9b\x17\xf3\x9b\x5b\xfa\xfb\xed\x74\x76\xde\x83\x00\x7d\x8e\x93\x7f\xcf\x75\x55\xb0\xfd\x07\x70\xb0\x61\xf8\x3d\x33\xec\xd1\x3c\x6e\x5b\x10\x7e\x3b\x9d\xfd\xf9\x10\xac\xa5\x28\x6b\xcf\xc8\x78\x22\xc0\x5c\x22\x24\xb7\xb8\x44\x48\xaa\x06\x0e\x39\x6a\xae\x3c\xa4\xe6\xc3\xb8\x04\x6d\x54\x9d\x99\x5a\x11\x20\x2a\x85\x54\x11\x02\x2a\x15\xfe\x55\xa3\x36\x43\x0c\x46\x13\x65\x8c\xaa\x37\x41\xad\x7d\x85\xb3\x05\x5c\x8b\xfd\x2f\x56\xd8\xf3\x6e\x81\xdf\x71\x93\x6d\x1c\xb4\xfa\x89\x20\x63\x1a\x4f\x71\xa2\x43\xd1\x62\xd0\x7f\x7e\xb7\x47\x19\x4c\x07\xa9\xe9\xb3\x32\x1e\x67\x3e\x77\xc6\xfb\x7c\x08\x46\x67\xb6\x0c\x9c\xb2\xf8\xf9\x30\x14\x9d\x32\x0d\x64\x1f\xa5\x4e\x0c\xf8\x13\x14\x6a\x96\x3f\x1f\xd4\x68\xf6\x58\x97\xb5\x56\x19\xf6\x1a\x95\xd0\x12\x73\xce\xe0\x59\xe7\xc6\xf5\x23\xfd\x7a\xc0\x59\xbc\xc0\x45\x87\xe4\x5f\xb7\xb7\xaf\x6f\x78\x81\xe3\x54\xf4\xa9\x55\xb1\x80\xc9\xc6\x98\x4a\x2f\x2e\x2f\x99\xd6\x68\xf4\x7c\x87\x4b\x2a\xa8\x17\xc4\x56\xcf\x33\x59\x5e\x7e\xb5\x7a\xf2\xf9\x37\x5f\x66\x57\xd9\x3f\xd9\xd7\x59\x9e\x3f\xf9\xf2\x8b\xe5\x67\xd9\xd7\x9f\x5f\x75\x1e\xb0\xaf\xbe\xca\x96\x9f\x65\xdf\x7c\xf1\xe4\xcd\x4d\x21\x77\x6f\x7e\x97\x2a\x2f\x99\xba\x9b\xeb\xed\x7a\x32\xaa\xc7\x48\x0e\xa2\x8f\xb5\x06\x19\x76\x01\x13\x5e\xb2\x35\x5e\xea\xed\xfa\xd3\xfb\xb2\x18\xe6\xd6\xf7\x4c\x62\x56\x3d\x6c\x57\x3d\xfd\xc3\x3e\xfe\x73\x98\xfc\x94\x58\xf2\x9e\x1d\xb7\xb5\x60\x25\xed\xc1\xa7\xb8\x86\x99\x3b\xc2\x4c\xc6\x0d\xa0\xf7\xe5\x52\x92\x8b\x5e\xdd\xdc\x1e\x58\x96\xa3\xce\x14\xaf\xe8\xe8\xbd\x80\x89\x2d\xa5\xab\x20\xc2\x1e\x56\x9b\x6b\xa2\x3b\x7e\xa3\xd7\x83\x2e\x8d\x58\x54\xb0\x97\x75\xa8\xa8\xf4\xbf\x02\x41\x77\xbb\x9b\x5b\xf8\x7f\x29\xc8\x93\xf3\x03\xb2\xf1\xde\xa0\x12\xac\xf8\xf5\xe7\x1f\xba\x18\x7c\xd5\x3e\x9a\x36\x20\xf3\xb2\x2f\x56\x66\x2e\xc5\x8a\x98\x4b\xb5\x9e\x1c\x00\x41\x21\xd7\x52\x2f\xbc\x0b\x0f\x98\x4a\x66\x9c\x15\x7a\x31\x90\x52\xe3\xcf\xc4\xec\xb8\x31\xa8\x26\x27\x29\xeb\x17\xdb\x20\x20\x5d\xdf\x2c\x0b\x99\xdd\x65\x1b\xc6\xc5\x64\x18\x2e\x90\x1c\xbe\xe2\xcf\xa3\xf3\x46\x9c\xbe\x3e\x20\xdf\x07\x2e\xe3\x28\xd5\x71\xcf\xbf\x7f\x72\x8f\xa6\x00\xe3\x6e\x50\x61\xde\xd0\x67\xd2\x1f\x45\x1c\x8a\x7c\xa7\xfd\x98\x2e\xa7\xf0\xa8\x7c\xbb\xcb\xf1\xb8\xac\x14\xdf\x32\x83\x01\x80\x96\x99\xe5\x75\x7c\x33\x3f\x70\x71\x87\xb9\x4b\x44\xd6\x5f\x9f\xf4\x35\x7a\x37\xdc\x53\x7b\x3f\x7a\xc8\x8a\xb7\xf9\x08\x01\x47\x9a\x73\x87\xe5\x06\xd3\x3c\x42\x6e\x68\x22\x1e\x16\xe0\xda\x07\xaf\xca\xca\xec\x2d\x93\xd0\x19\x58\xc0\x74\x55\x0b\x3a\x44\x0f\x5c\x0d\x8f\x84\x6e\xd3\x9b\x48\x28\xbb\x92\xa6\x07\xe2\x72\xf8\xd1\x23\x03\x33\x3d\x04\x3f\x36\x30\x23\x2e\xd3\x64\xb6\x38\x76\xeb\x9b\x8d\xdc\xf3\x22\x71\x82\x17\x67\xe9\x82\xf7\xed\x1c\x21\xed\xd1\xa4\x1d\x46\xe7\x85\x1d\x37\x1b\x60\x71\xcb\xe5\x6f\x54\xb2\xed\x93\x8b\xbc\xe9\x18\xf2\xb6\x21\xc8\x8a\x82\x0e\xd2\xbe\x31\x38\x87\x6b\xd7\x1d\x2f\x6b\xed\x1a\x84\xae\x13\x1c\xfa\xfa\x09\x37\x3b\xd0\xf0\x47\x70\x63\x27\x3f\x23\x43\x0c\xfa\x41\xaa\xdc\x5d\xee\x6c\x8f\xc7\x3d\x6f\xb9\x65\x99\x6d\x15\xba\x06\x21\x73\xf5\x2f\x84\x71\xe8\x6a\xe8\xa6\x2f\xed\x6a\xa3\xd9\x57\xd8\x9f\x2e\xc4\x8d\xc3\xd6\x36\xa1\xe3\x32\xda\x81\xa7\x4b\x41\x1f\x92\x0b\x78\xd1\x45\xf8\x91\x4e\xdb\xd5\xfc\x6a\x16\xbb\x6e\xb0\xcb\x6f\x27\xb5\x5c\x1b\xc5\x8c\xec\xb5\xe3\x47\x1c\x1d\x79\x6f\x70\x4c\x76\xb4\x31\x9b\x8e\xc5\xc8\x3c\x25\xbb\xe7\x65\x5d\xc2\x5f\x35\x13\x86\x9b\x7d\xdc\xa9\xf5\x63\x96\x20\x25\x93\x75\x91\x7b\x65\x46\xfb\xb4\xdd\xe9\x88\x6b\x64\x59\x4a\xef\x74\x37\x1a\xf1\x42\x4e\xba\xa8\x39\x91\x3f\xe1\xce\x31\x1f\x99\xee\x2d\xe0\x85\x17\xfe\xae\xdf\x6f\x3a\x38\x1e\x4c\xbe\x1e\xee\xa9\x0e\x6b\x30\xc2\xe0\x60\x87\x75\xdc\xa9\x9d\xb9\xe3\xd1\x86\x0d\x99\xfd\xe5\x09\x34\xa3\x66\x75\xc4\x16\xe9\x9e\xcf\x80\x05\xbb\xc3\xcd\x43\x56\x0a\x0c\xc7\x33\x59\x98\xff\x85\xd6\xb2\xc3\x9a\x0d\x69\x46\x81\x11\xb2\x81\x9b\x0f\x6e\x64\xd1\xcc\xd4\x1e\x36\x4b\x6b\x10\xd1\x6b\x6e\xf4\x07\x13\x1d\xb8\xa7\xad\xe8\x66\x9c\xd7\x15\xb5\x65\xaa\x1b\x57\x43\xb3\xb0\xd4\xf9\xc4\x4d\x47\x3b\x39\xb7\x8d\x74\x92\x5e\x86\xa4\x6c\xa2\x77\x5d\xce\x13\x56\x31\x62\x62\x8a\x6e\x1a\x7f\xc8\x98\x66\x28\xfc\x3b\x9b\x7e\xd8\x44\xc6\xbd\x98\xf0\x90\x28\x27\x0a\xd7\x16\x1e\x18\xbd\x1c\x3d\x70\x54\x0a\x07\x8e\x20\xde\xc9\xb6\x71\xbb\x80\x89\x73\x50\xd0\xcd\x96\xb7\x25\xc2\xda\x82\x56\x91\x67\x84\x2d\x97\xfd\x1b\xaa\xe7\xf3\xd4\xb7\xb9\x3b\xfe\x1e\xe1\x5b\xa0\xd6\x8e\x29\x19\x24\x60\xc9\xb1\x9a\x1c\x38\x09\x3c\xa6\x9d\xfc\xe9\xd0\x70\xa9\xaf\x2b\x0c\x6d\xe0\xe8\x64\xaa\xf3\x06\x49\x77\x90\x04\x1f\x34\x7b\xb2\xb3\xde\xe1\x8c\x3e\x34\x5c\xeb\x6e\x27\xf9\xfe\xb1\xf3\x0d\x65\xe2\xd3\x73\x4d\x93\x3b\x0f\x04\xbe\x1f\x35\xb4\xa3\xb5\xf0\x1a\xc8\x39\xe0\x6a\x85\x99\xe1\x5b\x2c\xf6\x56\x70\x88\xa4\x58\x7e\x37\x86\x48\xc0\x4f\xd2\xe0\xc2\x0d\xda\xdc\xf9\x2b\x7a\x63\x87\xd5\x46\x96\xcc\x70\x4a\x0d\x7b\xd0\xf5\xd2\xbe\x40\x81\x79\x33\x75\x4d\x38\xc5\x29\x27\x7d\xbb\xc4\xaa\x5d\x67\x46\xaa\x8f\x36\xe7\x8a\xc6\xc1\xb5\x1a\x6e\x1a\x77\x33\x04\x2d\xf4\x19\xe2\x7f\x3d\xdc\x22\x2a\x16\x30\x36\x3e\xcb\x1a\x1e\x2d\x75\xc2\xa7\xf3\x42\x54\x3f\x16\x22\xac\xda\x68\x88\xb7\x60\x41\x9f\x26\x81\xcf\xae\xae\xe2\x11\x97\x5d\xd1\xbd\xe4\xc3\x33\xb8\xf4\x07\xef\xfe\xa5\x79\x80\xb4\xbd\x93\x13\x65\x65\xbf\x25\x84\xe1\xe6\x93\xd2\xf6\xdb\x02\x23\xe4\x61\x61\x4a\xde\x7d\x5b\x71\x4c\x6b\xbb\x2e\x0e\x2b\x70\xe7\x90\x08\xa1\xf6\xe2\xd3\xad\x9b\x51\x35\xb3\x77\x15\xb6\x45\xba\xf6\x70\x11\x2e\x25\x2d\x9a\x13\x98\x0c\x27\xb1\xae\x2b\x66\xe9\x66\x7c\x06\x99\x07\xd6\x24\x6d\xfa\xf4\xc2\x32\x8d\x26\x99\x5d\x4f\xcd\x86\xf6\xc5\xc0\xd9\x10\x32\x56\xb1\x25\x2f\xa8\x32\xfb\x2a\x6f\x2f\x5c\x79\xfc\x1a\x09\xde\x57\x52\x63\x5c\x64\xed\xc2\xb7\xfe\xca\xf4\xd6\x0f\xcc\xc0\x6c\x94\xac\xd7\xce\x4a\x6f\x83\x43\xde\x82\x3d\xed\xac\x58\xd6\x31\x46\xe8\x9f\x7c\xc7\xaa\xa6\x6a\xf8\x1d\x36\x4a\x71\xd4\xcd\x76\xb9\xd6\x35\x3e\xfd\x64\xbc\x95\x32\xb2\xfb\x41\x1b\x26\x12\xac\x29\xf4\x66\x1a\x69\x74\x0e\xcc\x2c\xc6\x20\xf8\xe1\x16\xb5\xef\xa3\x8d\x99\xd5\xe3\xe1\x2d\xac\x38\x16\xcd\x6b\x01\xf0\x36\x9a\x6b\x0c\x9b\xfc\x65\x20\x6c\x2c\xde\x47\xdf\x03\xad\xdd\xcf\x62\x1f\xc1\xce\x41\x91\xc8\xc8\x9d\x1c\x11\x59\xd8\x26\x4a\x5b\x41\xdb\xb8\x49\xae\xb6\xd3\xd3\xc2\xc4\xf2\x88\xc2\xa4\x9b\x1a\x52\xa7\xbe\xa2\xec\xca\x44\xfc\x0e\xa7\xde\xc8\x5d\x74\x88\x6f\x5e\x16\xdc\x31\x0d\xbc\x7d\x37\xf9\x6c\x20\x41\x1f\x78\x75\x79\x38\xe6\xdf\x9f\xbd\x3f\xfb\x6f\x00\x00\x00\xff\xff\x22\x1d\x1a\xd3\x61\x2f\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\xdd\x6f\xe3\x36\x12\x7f\xcf\x5f\x31\xe7\x03\x7a\x36\x9a\x38\xe9\xd7\x5e\x6b\xec\x76\x37\x7b\xdd\xe0\x0e\x68\x8b\x45\x9b\xb6\x0f\xc5\x62\x97\x96\xc6\x36\x2f\x12\xa9\x92\x94\x1d\x77\x91\xff\xfd\x30\xfc\x90\x48\x59\xb2\x1d\xa7\xe7\x97\xc4\x16\x67\x38\x9c\xf9\xcd\x07\x67\xc4\xcb\x4a\x2a\x03\x37\xb5\x58\xf2\x79\x81\xb7\xf2\x0e\x05\x2c\x94\x2c\x61\x94\xfc\x36\x3a\xf3\x2b\x7f\x40\xc3\x72\x66\xd8\xaf\x1c\x37\xda\xaf\x4c\x7e\x6b\x56\x26\xf4\x7d\x64\xc3\x0b\x46\x67\x67\x2c\xcb\x50\xeb\x31\x2b\x8a\x09\x64\x52\x18\xc5\x32\x03\x6f\xee\x59\x59\x79\x82\x59\x47\xe8\x8f\x67\x67\x00\x00\x97\x97\x97\x70\x2b\x0d\x2b\x40\xd7\x55\x55\x6c\x41\x2e\x12\x32\x0d\x5c\x00\xde\x73\x6d\x50\x64\x68\x49\xe2\xad\xd6\x4c\x81\x21\xf2\x9f\x2d\xf5\x0c\x7e\xb9\xe1\xf7\xcf\xbe\xb4\xeb\x1a\xfe\x3f\x1b\xa9\xd8\x12\x81\x89\x1c\xde\xd6\xf3\x82\x67\xf0\x96\x99\x95\xde\xe1\x56\xa0\x81\x5f\x59\x5d\x18\x4f\x41\xab\x66\x10\x7d\x19\xa6\x70\x7c\x1d\x41\xfb\x7f\xef\xfa\x9f\x30\x43\xbe\x46\xf5\x08\x92\xeb\xbc\xe4\x62\x50\xa8\x56\x91\x2b\x04\x5c\xa3\x30\x60\x56\xcc\x00\xd7\x80\x25\x37\x06\x73\xd8\xac\x50\x80\x59\x61\x6b\x1b\xae\x21\x53\xc8\x0c\xe6\x3b\x3b\x3a\x16\x4e\xfd\xff\x11\xdc\x70\x56\xf0\x3f\x31\x1f\x73\xf7\x7f\xaa\xea\xc9\xf1\xdb\x3b\x7b\x32\x85\xb0\xe1\x66\x95\x2b\xb6\xf1\xd8\x65\x4e\x87\x7b\x05\xf9\x2d\x90\x8c\x59\x29\x6b\x61\xc2\xfe\xe7\x96\xc5\x0c\xae\xf3\x5c\xa1\xd6\x2f\x4f\x92\x27\xc7\x4a\x6a\x4e\x4f\x8c\x3c\x4a\x9a\xef\x02\xc1\x8e\x34\x46\x9e\x22\x8b\xc0\x4d\x2c\x4f\xc9\xc5\x21\xc3\xfc\x60\x97\x74\xb6\x3f\xf1\xf0\xda\x28\xb9\x3d\xb0\xdf\xeb\x5a\x89\x27\xec\xc7\xec\x11\xed\xb9\x14\x28\xd4\xb2\x56\x19\x1e\x06\xa1\x3d\xa5\xfa\x97\x5b\x43\x0f\xe4\x06\xf3\xeb\x27\xc9\x30\xa7\x83\x3c\x46\x06\x7b\xf2\x46\x86\x68\xbb\x37\x2c\x5b\x41\xad\x51\x81\x36\x52\xa1\x06\x26\x80\x0b\x6d\x98\xc8\x90\xe2\x98\x14\xc5\xd6\x3a\x9d\xc5\x13\x05\x32\xb3\x42\xee\x56\xb3\x25\x26\x62\x2f\x6a\x91\x19\x2e\x5d\xbc\x6b\x69\x28\x64\x2d\xe5\x1a\x49\xf7\x30\x77\xdc\x2a\xe5\x42\x59\x25\xb5\x21\x7f\xce\xb9\x25\x6c\xd8\x71\xd1\x09\xb5\xc1\xf9\xb7\xd6\xdc\x19\x2b\x0a\xcc\xa7\xc9\xee\xd9\x0a\xb3\x3b\x0d\x2b\x56\x55\xa4\x27\x03\xaa\x16\x86\x97\x68\x49\x71\x8d\x0a\x58\x23\xa1\x55\x58\xca\xa3\xe1\xf5\x93\x57\x2a\xad\x10\xee\xfc\x73\x0c\xea\x0d\x27\xa3\x10\x84\xf7\x86\x34\x94\x44\x24\x6b\x33\x12\xb3\x61\xe7\xd0\xb9\xe0\xc2\x12\x9f\x83\x96\xf4\x5c\x59\x9b\x09\x09\x1b\xb6\x85\x85\x24\xd9\x4a\x56\xf0\x8c\xcb\x5a\x3b\x73\x18\xe9\xf7\x74\x5a\x6c\x55\x23\x6b\xbf\x2d\x17\xc0\xb8\x9a\xc2\x35\xe8\x0a\x33\xce\x0a\x8f\xb4\x16\x16\x02\x31\xd7\xc4\x69\xde\xca\x60\xa4\x45\x70\xc3\xae\xf5\xda\x54\x15\x31\x86\x1a\x86\x56\x94\x4e\x16\x9c\xbe\x55\x72\xcd\x73\x54\xe7\x9d\xdf\x43\x8e\xe8\xfe\xfe\x9a\x15\x84\xae\xf3\x34\xaf\x4f\x49\xef\x05\x99\xc9\x67\xd5\xd8\xb6\x36\x3d\xc2\xdc\x11\xfa\xd3\x6b\x58\x37\x21\xae\x2f\xa5\xfa\xd5\x4d\x3a\x4d\x98\xb6\x29\xc1\xda\x2f\x70\x26\xd4\x84\xb3\x5a\xed\x13\x56\x08\x44\x0d\x31\xe5\x8f\x71\x87\xf5\x04\x3e\x36\xcf\xe9\xa3\xb1\x58\x4c\x03\xcb\x17\x81\x79\xb3\xe4\x21\x15\xe5\x26\x60\xd2\x61\x87\xdd\x39\x27\x74\x41\x0a\x98\xfb\xa2\x96\x75\x89\xc2\x24\x84\xe4\x3f\x21\x09\x69\x47\xed\x89\x6c\x42\x6a\x1c\x70\x9a\x9e\xdc\x78\x5c\x69\x1f\x4b\x0c\x52\xed\xc4\xd4\xd6\xbb\x6b\x08\x3b\xb5\x76\x68\x59\xc9\x22\x4f\x38\x10\xe3\x52\x0a\xdc\x36\x4b\xe7\xc8\xc5\x12\x8c\x62\x42\x2f\x50\x29\xcc\xa7\xb4\x8d\x42\x53\x2b\xa1\xed\x7a\x81\x9b\x62\x9b\x70\x09\x0e\xe5\x37\x95\x89\x5b\x59\xc6\xce\x41\xc9\x61\xb8\xb1\xbe\x38\x8f\x92\x5c\xc2\x0b\x0b\x8d\x1b\x72\xaa\xe4\xa8\xc9\x92\x57\x15\x53\xac\x84\x10\xfa\x09\x54\x5e\x59\x84\x26\x97\x48\x9c\xa3\x74\xf2\x3a\x89\x95\x02\xcd\xb2\x73\x87\xb3\x7c\xdc\x09\x5a\xdc\x48\x61\x18\x17\x56\x23\xab\x84\x5d\x2d\x72\xdd\x2b\xa0\x87\x6e\xea\x26\xa1\x58\x60\xf3\x02\x27\x44\xdc\xb0\xea\x26\xb0\x19\xbc\x4a\x49\x9d\x44\x7b\x41\x99\x7c\xbd\xf0\xba\x48\x08\x28\xed\x0c\xd6\x2d\xee\x6f\xa8\x5b\x2c\x33\xb9\x11\xa8\x5e\x4e\x99\xab\x1b\x26\x09\x2f\xaf\xad\xe7\x17\x71\x48\x6b\xdd\xc8\x71\x9b\x3c\xca\x43\xbc\xda\xe5\xfc\xbf\x98\x75\xdd\xc4\xba\x06\xcb\x53\x6d\x03\x37\xba\x71\x74\x8f\xb7\x24\xa2\x20\xd8\x23\xe8\x01\xaf\xe1\x1a\x7c\xee\x26\x6a\x5f\x70\x58\x32\x4d\x5b\x3a\x71\xe6\x98\xb1\x5a\x63\xeb\x7c\x09\x97\x0d\x89\x19\x39\x1c\xb9\x16\xaa\xb0\xbb\x8f\xc2\x2d\xa6\xfe\xd1\xca\xbb\x62\xe9\x59\xe6\x88\x82\x90\xa6\xeb\x12\x73\x7b\x5c\x9b\x54\x16\xd2\x26\x47\xef\x2a\xbe\x24\x3a\xe8\x14\xce\x88\x87\xa1\x6c\x01\xec\x8c\xb0\xe1\x45\x31\xe8\x8f\xbd\x21\x99\x00\xec\x57\x8f\xdd\x86\x7d\xa0\xed\x86\x52\xba\x38\x58\xef\x83\xe7\x17\xbe\xce\xd6\x7f\x83\x57\xf1\xed\x6a\x9a\xea\xf9\x10\xd6\x3f\x75\xfc\xa6\xdd\xa8\xdc\x81\xfc\x6e\x71\x9c\x90\xb9\x1a\xf9\x20\xee\x13\x1a\x78\x01\x57\xd3\xab\xe4\x79\x40\x51\x1a\x60\x22\xf8\xfb\x05\xe3\xae\x5e\xf8\x22\x3d\xd5\xb7\xc4\xba\xb3\x86\x3e\x89\xa2\xa2\x4b\x26\xbc\x18\x7e\x74\x91\xb0\x4e\x58\x3e\x0c\xb9\x28\x81\x87\x4a\x19\xb9\x80\x25\x1a\x43\x88\x61\x45\x61\x51\x13\xb2\x3c\xb8\x7b\x38\xa7\x4d\xc9\x49\x5d\x31\x18\x4b\x31\x8c\x53\x1f\x3f\xae\xc9\xc5\x95\xdb\xe6\x76\x5b\xa1\x76\x55\x4d\xc0\x67\xcc\x7a\x6d\x6b\x0a\xb8\x75\x75\x42\x51\x63\x03\x59\x9b\xd7\xe6\x69\x32\x6a\xd5\xbd\xc6\x42\x56\x14\x04\x8c\x84\x3b\x21\x37\xb0\x59\xf1\x6c\x05\xd6\x51\xd0\xb8\xba\xac\x62\x5a\x87\x08\xa2\x5c\xd5\x42\x67\x1b\x4f\xa0\x44\xb3\x92\x03\x0e\x97\xd4\x27\x1c\x37\xd6\x23\x96\x68\xac\x5a\xc6\x93\x19\xfc\x4e\x47\x7a\xf7\xb1\x2f\x70\xda\x47\xcf\x87\x9b\x17\xd3\x9b\x5b\xfa\xfb\xed\x78\x72\xbe\x03\x01\xfa\x1c\x26\xff\x8e\xeb\xaa\x60\xdb\x27\x70\xb0\x6e\xf8\x1d\x33\xec\x64\x1e\xb7\x2d\x08\xbf\x1d\x4f\xde\x3d\x06\x6b\x29\xca\xda\x1a\x19\x8f\x04\x98\x0b\x84\x64\x16\x17\x08\x49\xd4\xc0\x21\x47\xcd\x95\x87\xd4\xb4\x1f\x97\xa0\x8d\xaa\x33\x53\x2b\x02\x44\xa5\x90\x32\x42\x40\xa5\xc2\x3f\x6a\xd4\xa6\x8f\xc1\x60\xa0\x8c\x51\xf5\x3e\x88\xb5\xad\x70\x32\x83\x6b\xb1\xfd\xd9\x6e\xf6\xb2\x9b\xe0\x37\xdc\x64\x2b\x07\xad\xdd\x40\x90\x31\x8d\xc7\x18\xd1\xa1\x68\xd6\x6b\x3f\x7f\xda\x83\x0c\xc6\xbd\xd4\xf4\x59\x18\x8f\x33\x1f\x3b\xe3\x73\x3e\x06\xa3\x13\x9b\x06\x8e\x59\xfc\xb2\x1f\x8a\x4e\x98\x06\xb2\x27\x89\x13\x03\xfe\x08\x81\x9a\xe5\x2f\x7b\x25\x9a\x9c\x6a\xb2\x56\x2b\xfd\x56\xa3\x14\x5a\x62\xce\x19\xbc\xe8\xdc\xb8\x7e\xa0\x5f\xf7\x18\x8b\x17\x38\xeb\x90\xfc\xfb\xf6\xf6\xed\x0d\x2f\x70\x98\x8a\x3e\xb5\x2a\x66\x30\x5a\x19\x53\xe9\xd9\xe5\x25\xd3\x1a\x8d\x9e\x6e\x70\x4e\x09\xf5\x82\xd8\xea\x69\x26\xcb\xcb\xaf\x16\xcf\x3e\xff\xe6\xcb\xec\x2a\xfb\x27\xfb\x3a\xcb\xf3\x67\x5f\x7e\x31\xff\x2c\xfb\xfa\xf3\xab\xce\x03\xf6\xd5\x57\xd9\xfc\xb3\xec\x9b\x2f\x9e\xbd\xbf\x29\xe4\xe6\xfd\x6f\x52\xe5\x25\x53\x77\x53\xbd\x5e\x8e\x06\xe5\x18\x88\x41\xf4\xb1\xda\x20\xc5\xce\x60\xc4\x4b\xb6\xc4\x4b\xbd\x5e\x7e\x7a\x5f\x16\xfd\xdc\x76\x2d\x93\xa8\x55\xf7\xeb\x55\x8f\x7f\xb7\x8f\xdf\xf5\x93\x1f\xe3\x4b\xde\xb2\xc3\xba\x16\xac\xa4\x33\xf8\x10\xd7\x30\x73\x25\xcc\x68\x58\x01\x7a\x5b\xce\x25\x99\xe8\xcd\xcd\xed\x9e\x65\x39\xea\x4c\xf1\x8a\x4a\xef\x19\x8c\x6c\x2a\x5d\x84\x2d\x6c\xb1\xda\x5c\x13\x5d\xf9\x8d\x5e\x0e\xba\x34\x62\x51\xc1\x56\xd6\x21\xa3\xd2\xff\x0a\x04\xdd\xed\x6e\x6e\xe1\xef\x52\x90\x25\xa7\x7b\xf6\xc6\x7b\x83\x4a\xb0\xe2\x97\x9f\xbe\xef\x62\xf0\x4d\xfb\x68\xdc\x80\xcc\xef\x7d\xb1\x30\x53\x29\x16\xc4\x5c\xaa\xe5\x68\x0f\x08\x0a\xb9\x94\x7a\xe6\x4d\xb8\x47\x55\x32\xe3\xac\xd0\xb3\x9e\x90\x1a\x7f\x46\x66\xc3\x8d\x41\x35\x3a\x4a\x58\xbf\xd8\x3a\x01\xc9\xfa\x7e\x5e\xc8\xec\x2e\x5b\x31\x2e\x46\xfd\x70\x81\xa4\xf8\x8a\x3f\x27\xc7\x8d\x38\x7c\x3d\x21\xde\x07\x2e\xc3\x28\xd5\x71\xcf\x7f\xb7\x72\x8f\xa6\x00\xc3\x66\x50\x61\xde\xb0\xcb\x64\x77\x14\xb1\xcf\xf3\x9d\xf4\x43\xb2\x1c\xc3\xa3\xf2\xed\x2e\xc7\xe3\xb2\x52\x7c\xcd\x0c\x06\x00\x5a\x66\x96\xd7\xe1\xc3\x7c\xcf\xc5\x1d\xe6\x2e\x10\x59\x7b\x7d\xb2\x2b\xd1\xc7\xfe\x9e\xda\xc3\x60\x91\x15\x1f\xf3\x84\x0d\x0e\x34\xe7\xf6\xef\x1b\x54\x73\xc2\xbe\xa1\x89\xb8\x7f\x03\xd7\x3e\x78\x53\x56\x66\x6b\x99\x84\xce\xc0\x0c\xc6\x8b\x5a\x50\x11\xdd\x73\x35\x3c\xe0\xba\x4d\x6f\x22\xa1\xec\xee\x34\xde\xe3\x97\xfd\x8f\x4e\x74\xcc\xb4\x08\x3e\xd5\x31\x23\x2e\xe3\x64\xb6\x38\x74\xeb\x9b\x0c\xdc\xf3\xa2\xed\x04\x2f\xce\xd2\x05\x0f\xed\x1c\x21\xed\xd1\xa4\x1d\x46\x67\x85\x0d\x37\x2b\x60\x71\xcb\xe5\x4f\x54\xb2\xed\x93\x8b\xbc\xe9\x18\xf2\xb6\x21\xc8\x8a\x82\x0a\x69\xdf\x18\x9c\xc2\xb5\xeb\x8e\x97\xb5\x76\x0d\x42\xd7\x09\x0e\x7d\xfd\x84\x9b\x1d\x68\xf8\x12\xdc\xd8\xc9\xcf\xc0\x10\x83\x7e\x90\x2a\x77\x97\x3b\xdb\xe3\x71\xcf\x5b\x6e\x59\x66\x5b\x85\xae\x41\xc8\x5c\xfe\x0b\x6e\x1c\xba\x1a\xba\xe9\x4b\xbb\xdc\x68\xb6\x15\xee\x4e\x17\xe2\xc6\x61\xab\x9b\xd0\x71\x19\xec\xc0\xd3\xa5\x60\x17\x92\x33\x78\xd5\x45\xf8\x81\x4e\xdb\xd5\xf4\x6a\x12\x9b\xae\xb7\xcb\x6f\x27\xb5\x5c\x1b\xc5\x8c\xdc\x69\xc7\x0f\x18\x3a\xb2\x5e\xef\x98\xec\x60\x63\x36\x1d\x8b\x91\x7a\x4a\x76\xcf\xcb\xba\x84\x3f\x6a\x26\x0c\x37\xdb\xb8\x53\xeb\xc7\x2c\x61\x97\x4c\xd6\x45\xee\x85\x19\xec\xd3\x76\xa7\x23\xae\x91\x65\x29\xbd\xd1\xdd\x68\xc4\x6f\x72\xd4\x45\xcd\x6d\xf9\x23\x6e\x1c\xf3\x81\xe9\xde\x0c\x5e\xf9\xcd\x3f\xee\xf6\x9b\xf6\x8e\x07\x93\xaf\xfb\x7b\xaa\xfd\x12\x0c\x30\xd8\xdb\x61\x1d\x36\x6a\x67\xee\x78\xb0\x61\x43\x6a\x7f\x7d\x04\xcd\xa0\x5a\x1d\xb1\x45\xba\xe7\xd3\xa3\xc1\xee\x70\x73\x9f\x96\x02\xc3\xe1\x48\x16\xe6\x7f\xa1\xb5\xec\xb0\x66\x5d\x9a\x91\x63\x84\x68\xe0\xe6\x83\x2b\x59\x34\x33\xb5\xc7\xcd\xd2\x1a\x44\xec\x34\x37\x76\x07\x13\x1d\xb8\xa7\xad\xe8\x66\x9c\xd7\xdd\x6a\xcd\x54\xd7\xaf\xfa\x66\x61\xa9\xf1\x89\x9b\x8e\x4e\x72\x6e\x1b\xe9\xb4\x7b\x19\x82\xb2\x89\xde\x75\x39\x4f\x58\xc5\x88\x89\x29\xba\x61\xfc\x31\x63\x9a\x3e\xf7\xef\x1c\xfa\x71\x13\x19\xf7\x62\xc2\x63\xbc\x9c\x28\x5c\x5b\xb8\x67\xf4\x72\xb0\xe0\xa8\x14\xf6\x94\x20\xde\xc8\xb6\x71\x3b\x83\x91\x33\x50\x90\xcd\xa6\xb7\x39\xc2\xd2\x82\x56\x91\x65\x84\x4d\x97\xbb\x37\x54\xcf\xe7\xb9\x6f\x73\x77\xec\x3d\xc0\xb7\x40\xad\x1d\x53\x52\x48\xc0\x92\x63\x35\xda\x53\x09\x9c\xd2\x4e\xfe\xb4\x6f\xb8\xb4\x2b\x2b\xf4\x1d\xe0\xe0\x64\xaa\xf3\x06\x49\x77\x90\x04\x4f\x9a\x3d\xd9\x59\x6f\x7f\x44\xef\x1b\xae\x75\x8f\x93\x7c\xff\xab\xe3\x0d\x45\xe2\xe3\x63\x4d\x13\x3b\xf7\x38\xbe\x1f\x35\xb4\xa3\xb5\xf0\x1a\xc8\x39\xe0\x62\x81\x99\xe1\x6b\x2c\xb6\x76\xe3\xe0\x49\xf1\xfe\x5d\x1f\xa2\x0d\x7e\x94\x06\x67\x6e\xd0\xe6\xea\xaf\xe8\x8d\x1d\x56\x1b\x59\x32\xc3\x29\x34\x6c\x41\xd7\x73\xfb\x02\x05\xe6\xcd\xd4\x35\xe1\x14\x87\x9c\xf4\xed\x12\x2b\x76\x9d\x19\xa9\xfe\xb2\x39\x57\x34\x0e\xae\x55\x7f\xd3\xb8\x1b\x21\x68\xa1\x8f\x10\xff\xef\xe1\x16\x51\xb1\x80\xb1\xe1\x59\x56\xff\x68\xa9\xe3\x3e\x9d\x17\xa2\x76\x7d\x21\xc2\xaa\xf5\x86\xf8\x08\x16\xf4\x69\x10\xf8\xec\xea\x2a\x1e\x71\xd9\x15\xdd\x4b\x3e\xbc\x80\x4b\x5f\x78\xef\x5e\x9a\x7b\x48\xdb\x3b\x39\x51\x56\xf6\x5b\x42\x18\x6e\x3e\x29\xed\x6e\x5b\x60\x80\x3c\x2c\x4c\xc9\xbb\x6f\x2b\x0e\x49\x6d\xd7\xc5\x6e\x05\xae\x0e\x89\x10\x6a\x2f\x3e\xdd\xbc\x19\x65\x33\x7b\x57\x61\x6b\xa4\x6b\x0f\x17\xe1\x52\xd2\xa2\x39\x81\x49\x7f\x10\xeb\x9a\x62\x92\x1e\xc6\x47\x90\x29\xed\x32\x7e\x7e\x61\x99\x45\x13\xcc\xae\x85\x26\x7d\xe7\x61\xe0\x74\x07\x19\xab\xd8\x9c\x17\x94\x91\x7d\x76\xb7\x17\xad\x3c\x7e\x7d\x04\xef\x2b\xa9\x31\x4e\xae\x76\xe1\x07\x7f\x55\xfa\xe0\x07\x65\x60\x56\x4a\xd6\x4b\xa7\x9d\x0f\xc1\x10\x1f\xc0\x56\x39\x0b\x96\x45\x4a\x48\xce\x51\x70\x71\xf7\xfc\x93\xe1\xd6\xc8\x6e\x6c\x3e\xd4\x24\x32\x4c\x2d\xd1\x0c\xe8\xa3\x59\xf9\x74\xc5\xd8\xd7\xc9\x86\xb4\xe3\xcd\xf9\x01\x16\x1c\x8b\x66\xaa\x0f\x1f\xa2\xb1\x44\xbf\xe6\x5e\x07\xc2\x46\x71\xfb\xf4\x76\x6c\x0f\xa8\x57\x91\x7b\xdb\x64\x8f\xd6\xa2\x8d\x65\x36\xc9\xb5\xd0\x4e\x6e\x9f\xe3\xfd\x48\xb6\xb4\x11\x92\xbb\x5e\x9b\x1a\xec\x0d\x05\x3e\x26\xe2\xd7\x2b\xf5\x4a\x6e\xa2\xfa\xba\x79\x8f\x6f\xc3\x34\xf0\xf6\xb5\xe1\x86\x4b\x14\x3b\xf7\xbc\x55\xdc\xef\x8e\x0f\x67\x0f\x67\xff\x0b\x00\x00\xff\xff\x29\x0b\xe9\x61\xfc\x2e\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -117,7 +117,7 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf1, 0xd1, 0xf6, 0xde, 0xfb, 0x6a, 0xd3, 0x55, 0xee, 0x9, 0xc, 0x44, 0xa3, 0xcc, 0xfe, 0xab, 0x3b, 0x2f, 0x64, 0x25, 0xc3, 0x73, 0x26, 0x68, 0x12, 0x6f, 0xb3, 0xab, 0xae, 0x60, 0xf5, 0xe1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0xec, 0xf9, 0x91, 0xa7, 0xf7, 0xce, 0x55, 0xdf, 0x68, 0xc3, 0x8c, 0x14, 0xd5, 0x80, 0x90, 0x67, 0xba, 0x37, 0x6c, 0xa1, 0x3d, 0x1e, 0x5f, 0x39, 0x22, 0x27, 0x2d, 0x6a, 0x34, 0xa5, 0xd6}}
 	return a, nil
 }
 
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index 85a7dfda..17a70104 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -8,7 +8,7 @@ require (
 	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20230913160646-09adc7d3b513
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
 	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230915224343-ca2663ed82cf
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230921055127-6493dc1ba948
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 9ac5438c..d836ba75 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -731,6 +731,7 @@ github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpx
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
+github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
@@ -876,6 +877,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
+github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU=
+github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48=
 github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
 github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -939,10 +942,13 @@ github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht
 github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
 github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
+github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
 github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
 github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
@@ -1058,6 +1064,8 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
 github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
 github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
 github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
 github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
@@ -1085,6 +1093,7 @@ github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXS
 github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
 github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
 github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
@@ -1113,6 +1122,8 @@ github.com/onflow/flow-go/crypto v0.24.9 h1:0EQp+kSZYJepMIiSypfJVe7tzsPcb6UXOdOt
 github.com/onflow/flow-go/crypto v0.24.9/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230915224343-ca2663ed82cf h1:G3RFroB2Aj1d9CyJwl9JcZYWiOF75TB6L84/QSBUPds=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230915224343-ca2663ed82cf/go.mod h1:W7S4wW94sefM+/uAdtrQP1S2I4aVbYJPxWlyNAUT0yI=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230921055127-6493dc1ba948 h1:eQ+0hagtIcxzTy+6ONrxwABCjJQCQmBFfIU5qatUg0o=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230921055127-6493dc1ba948/go.mod h1:cWMAsK1grBHKPIKxYVUv2rX+Nz0Ttq+PEQz4OjqCmpU=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20221202093946-932d1c70e288/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce h1:YQKijiQaq8SF1ayNqp3VVcwbBGXSnuHNHq4GQmVGybE=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
@@ -1287,6 +1298,7 @@ github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+
 github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY=
 github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
 github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k=
+github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM=
 github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees=
 github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
 github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
@@ -2044,6 +2056,7 @@ gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
+gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

From 3a8e7c6f52e00f37fc7d23ec2a7eec478f5d2e17 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Fri, 29 Sep 2023 19:56:28 -0500
Subject: [PATCH 022/115] add Cadence test cases for Metadata

---
 .gitignore                                    |   4 +-
 test.sh                                       |   5 +
 test/MetadataViews_tests.cdc                  |  83 ++++++++++
 test/test_helpers.cdc                         | 146 ++++++++++++++++++
 .../setup_account_from_vault_reference.cdc    |   2 +-
 ...ample_token_vault_display_strict_equal.cdc |  44 ++++++
 6 files changed, 282 insertions(+), 2 deletions(-)
 create mode 100644 test.sh
 create mode 100644 test/MetadataViews_tests.cdc
 create mode 100644 test/test_helpers.cdc
 create mode 100644 transactions/scripts/test/example_token_vault_display_strict_equal.cdc

diff --git a/.gitignore b/.gitignore
index a5b04f96..c98e302c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
 lib/js/test/node_modules/*
 node_modules/*
-.env
\ No newline at end of file
+.env
+coverage.lcov
+coverage.json
diff --git a/test.sh b/test.sh
new file mode 100644
index 00000000..acc77415
--- /dev/null
+++ b/test.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+set -e
+
+flow test --cover --covercode="contracts" --coverprofile="coverage.lcov" test/*_tests.cdc
\ No newline at end of file
diff --git a/test/MetadataViews_tests.cdc b/test/MetadataViews_tests.cdc
new file mode 100644
index 00000000..e4ee151a
--- /dev/null
+++ b/test/MetadataViews_tests.cdc
@@ -0,0 +1,83 @@
+import Test
+import "test_helpers.cdc"
+
+access(all) let sourceAccount = blockchain.createAccount()
+access(all) let accounts: {String: Test.Account} = {}
+
+access(all) let exampleToken = "ExampleToken"
+
+/* Test Cases */
+
+access(all) fun testSetupAccountUsingFTView() {
+    let alice = blockchain.createAccount()
+    let bob = blockchain.createAccount()
+
+    setupExampleToken(alice)
+    let aliceBalance = getExampleTokenBalance(alice)
+    txExecutor("metadata/setup_account_from_vault_reference.cdc", [bob], [alice.address, /public/exampleTokenMetadata], nil, nil)
+    let bobBalance = getExampleTokenBalance(alice)
+
+    Test.assertEqual(0.0, aliceBalance)
+    Test.assertEqual(0.0, bobBalance)
+}
+
+access(all) fun testRetrieveVaultDisplayInfo() {
+    let alice = blockchain.createAccount()
+
+    setupExampleToken(alice)
+    let result = scriptExecutor("test/example_token_vault_display_strict_equal.cdc", [alice.address])! as! Bool
+
+    Test.assertEqual(true, result)
+}
+
+
+/* Transaction Helpers */
+
+access(all) fun setupExampleToken(_ acct: Test.Account) {
+    txExecutor("setup_account.cdc", [acct], [], nil, nil)
+}
+
+/* Script Helpers */
+
+access(all) fun getExampleTokenBalance(_ acct: Test.Account): UFix64 {
+    let balance: UFix64? = (scriptExecutor("get_balance.cdc", [acct.address])! as! UFix64)
+    return balance!
+}
+
+/* Test Helper */
+
+access(all) fun getTestAccount(_ name: String): Test.Account {
+    if accounts[name] == nil {
+        accounts[name] = blockchain.createAccount()
+    }
+
+    return accounts[name]!
+}
+
+/* Test Setup */
+
+access(all) fun setup() {
+
+    let sourceAccount = blockchain.createAccount()
+
+    accounts["FungibleToken"] = sourceAccount
+    accounts["NonFungibleToken"] = sourceAccount
+    accounts["MetadataViews"] = sourceAccount
+    accounts["FungibleTokenMetadataViews"] = sourceAccount
+    accounts["ExampleToken"] = sourceAccount
+
+    blockchain.useConfiguration(Test.Configuration({
+        "FungibleToken": sourceAccount.address,
+        "NonFungibleToken": sourceAccount.address,
+        "MetadataViews": sourceAccount.address,
+        "FungibleTokenMetadataViews": sourceAccount.address,
+        "ExampleToken": sourceAccount.address
+    }))
+
+    // helper nft contract so we can actually talk to nfts with tests
+    deploy("FungibleToken", sourceAccount, "../contracts/FungibleToken.cdc")
+    deploy("NonFungibleToken", sourceAccount, "../contracts/utility/NonFungibleToken.cdc")
+    deploy("MetadataViews", sourceAccount, "../contracts/utility/MetadataViews.cdc")
+    deploy("FungibleTokenMetadataViews", sourceAccount, "../contracts/FungibleTokenMetadataViews.cdc")
+    deploy("ExampleToken", sourceAccount, "../contracts/ExampleToken.cdc")
+}
diff --git a/test/test_helpers.cdc b/test/test_helpers.cdc
new file mode 100644
index 00000000..f4ddf637
--- /dev/null
+++ b/test/test_helpers.cdc
@@ -0,0 +1,146 @@
+// Helper functions. All of the following were taken from
+// https://github.com/onflow/Offers/blob/fd380659f0836e5ce401aa99a2975166b2da5cb0/lib/cadence/test/Offers.cdc
+// - deploy
+// - scriptExecutor
+// - txExecutor
+// - getErrorMessagePointer
+
+import Test
+
+pub let blockchain = Test.newEmulatorBlockchain()
+
+pub fun deploy(_ contractName: String, _ account: Test.Account, _ path: String) {
+    let err = blockchain.deployContract(
+        name: contractName,
+        code: Test.readFile(path),
+        account: account,
+        arguments: [],
+    )
+
+    Test.expect(err, Test.beNil())
+    if err != nil {
+        panic(err!.message)
+    }
+}
+
+pub fun scriptExecutor(_ scriptName: String, _ arguments: [AnyStruct]): AnyStruct? {
+    let scriptCode = loadCode(scriptName, "transactions/scripts")
+    let scriptResult = blockchain.executeScript(scriptCode, arguments)
+
+    if let failureError = scriptResult.error {
+        panic(
+            "Failed to execute the script because -:  ".concat(failureError.message)
+        )
+    }
+
+    return scriptResult.returnValue
+}
+
+pub fun expectScriptFailure(_ scriptName: String, _ arguments: [AnyStruct]): String {
+    let scriptCode = loadCode(scriptName, "transactions/scripts")
+    let scriptResult = blockchain.executeScript(scriptCode, arguments)
+
+    assert(scriptResult.error != nil, message: "script error was expected but there is no error message")
+    return scriptResult.error!.message
+}
+
+pub fun txExecutor(_ txName: String, _ signers: [Test.Account], _ arguments: [AnyStruct], _ expectedError: String?, _ expectedErrorType: ErrorType?): Bool {
+    let txCode = loadCode(txName, "transactions")
+
+    let authorizers: [Address] = []
+    for signer in signers {
+        authorizers.append(signer.address)
+    }
+
+    let tx = Test.Transaction(
+        code: txCode,
+        authorizers: authorizers,
+        signers: signers,
+        arguments: arguments,
+    )
+
+    let txResult = blockchain.executeTransaction(tx)
+    if let err = txResult.error {
+        if let expectedErrorMessage = expectedError {
+            let ptr = getErrorMessagePointer(errorType: expectedErrorType!)
+            let errMessage = err.message
+            let hasEmittedCorrectMessage = contains(errMessage, expectedErrorMessage)
+            let failureMessage = "Expecting - "
+                .concat(expectedErrorMessage)
+                .concat("\n")
+                .concat("But received - ")
+                .concat(err.message)
+            assert(hasEmittedCorrectMessage, message: failureMessage)
+            return true
+        }
+        panic(err.message)
+    } else {
+        if let expectedErrorMessage = expectedError {
+            panic("Expecting error - ".concat(expectedErrorMessage).concat(". While no error triggered"))
+        }
+    }
+
+    return txResult.status == Test.ResultStatus.succeeded
+}
+
+pub fun loadCode(_ fileName: String, _ baseDirectory: String): String {
+    return Test.readFile("../".concat(baseDirectory).concat("/").concat(fileName))
+}
+
+pub enum ErrorType: UInt8 {
+    pub case TX_PANIC
+    pub case TX_ASSERT
+    pub case TX_PRE
+}
+
+pub fun getErrorMessagePointer(errorType: ErrorType): Int {
+    switch errorType {
+        case ErrorType.TX_PANIC: return 159
+        case ErrorType.TX_ASSERT: return 170
+        case ErrorType.TX_PRE: return 174
+        default: panic("Invalid error type")
+    }
+
+    return 0
+}
+
+pub fun buildTypeIdentifier(_ acct: Test.Account, _ contractName: String, _ suffix: String): String {
+    let addrString = acct.address.toString()
+    return "A.".concat(addrString.slice(from: 2, upTo: addrString.length)).concat(".").concat(contractName).concat(".").concat(suffix)
+}
+
+// Copied functions from flow-utils so we can assert on error conditions
+// https://github.com/green-goo-dao/flow-utils/blob/main/cadence/contracts/StringUtils.cdc
+pub fun contains(_ s: String, _ substr: String): Bool {
+    if let index = index(s, substr, 0) {
+        return true
+    }
+    return false
+}
+
+// https://github.com/green-goo-dao/flow-utils/blob/main/cadence/contracts/StringUtils.cdc
+pub fun index(_ s: String, _ substr: String, _ startIndex: Int): Int? {
+    for i in range(startIndex, s.length - substr.length + 1) {
+        if s[i] == substr[0] && s.slice(from: i, upTo: i + substr.length) == substr {
+            return i
+        }
+    }
+    return nil
+}
+
+// https://github.com/green-goo-dao/flow-utils/blob/main/cadence/contracts/ArrayUtils.cdc
+pub fun rangeFunc(_ start: Int, _ end: Int, _ f: ((Int): Void)) {
+    var current = start
+    while current < end {
+        f(current)
+        current = current + 1
+    }
+}
+
+pub fun range(_ start: Int, _ end: Int): [Int] {
+    let res: [Int] = []
+    rangeFunc(start, end, fun (i: Int) {
+        res.append(i)
+    })
+    return res
+}
diff --git a/transactions/metadata/setup_account_from_vault_reference.cdc b/transactions/metadata/setup_account_from_vault_reference.cdc
index 63fa3f41..fa0ef776 100644
--- a/transactions/metadata/setup_account_from_vault_reference.cdc
+++ b/transactions/metadata/setup_account_from_vault_reference.cdc
@@ -1,6 +1,6 @@
 import FungibleToken from "FungibleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MetadataViews from "contracts/utility/MetadataViews"
+import MetadataViews from "MetadataViews"
 
 /// This transaction is what an account would run
 /// to set itself up to manage fungible tokens. This function
diff --git a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
new file mode 100644
index 00000000..f357ddb0
--- /dev/null
+++ b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
@@ -0,0 +1,44 @@
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import MetadataViews from "MetadataViews"
+import ExampleToken from "ExampleToken"
+
+/// Test helper script to validate ExampleToken serves FTDisplay as expected
+///
+access(all) fun main(address: Address): Bool {
+    let account = getAccount(address)
+
+    let expected = FungibleTokenMetadataViews.FTDisplay(
+            name: "Example Fungible Token",
+            symbol: "EFT",
+            description: "This fungible token is used as an example to help you develop your next FT #onFlow.",
+            externalURL: MetadataViews.ExternalURL("https://example-ft.onflow.org"),
+            logos: MetadataViews.Medias([
+                MetadataViews.Media(
+                    file: MetadataViews.HTTPFile(
+                        url: "https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.svg"
+                    ),
+                    mediaType: "image/svg+xml"
+                )]
+            ),
+            socials: {
+                "twitter": MetadataViews.ExternalURL("https://twitter.com/flow_blockchain")
+            }
+        )
+
+    let vaultRef = account
+        .getCapability(ExampleToken.VaultPublicPath)
+        .borrow<&{MetadataViews.Resolver}>()
+        ?? panic("Could not borrow a reference to the vault resolver")
+
+    let actual = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
+        ?? panic("Token does not implement FTDisplay view")
+
+    assert(actual.logos.items.length == expected.logos.items.length, message: "Medias length mismatch")
+
+    let expectedLogoMedia = expected.logos.items[0]
+    let actualLogoMedia = actual.logos.items[0]
+    return expected.name == actual.name && expected.symbol == actual.symbol &&
+        expected.description == actual.description && expected.externalURL.url == actual.externalURL.url && 
+        expectedLogoMedia.file.uri() == actualLogoMedia.file.uri() && expectedLogoMedia.mediaType == actualLogoMedia.mediaType
+}
+

From 4db8c4867d9e02aeefa74ac312abab3aee625f63 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Mon, 2 Oct 2023 17:02:47 -0500
Subject: [PATCH 023/115] add PrivateReceiverForwarder Cadence tests

---
 test/PrivateReceiverForwarder_tests.cdc | 110 ++++++++++++++++++++++++
 test/test_helpers.cdc                   |  14 +++
 2 files changed, 124 insertions(+)
 create mode 100644 test/PrivateReceiverForwarder_tests.cdc

diff --git a/test/PrivateReceiverForwarder_tests.cdc b/test/PrivateReceiverForwarder_tests.cdc
new file mode 100644
index 00000000..81dfee1d
--- /dev/null
+++ b/test/PrivateReceiverForwarder_tests.cdc
@@ -0,0 +1,110 @@
+import Test
+import "test_helpers.cdc"
+
+access(all) let sourceAccount = blockchain.createAccount()
+access(all) let accounts: {String: Test.Account} = {}
+
+access(all) let exampleToken = "ExampleToken"
+
+access(all) let senderStoragePath = /storage/Sender
+access(all) let privateReceiverStoragePath = /storage/PrivateReceiver
+access(all) let privateReceiverPublicPath = /public/PrivateReceiver
+
+/* Test Cases */
+
+access(all) fun testSetupForwader() {
+    let alice = blockchain.createAccount()
+    txExecutor("privateForwarder/setup_and_create_forwarder.cdc", [sourceAccount], [], nil, nil)
+}
+
+access(all) fun testTransferPrivateTokens() {
+    let sender = getTestAccount(exampleToken)
+    let senderBalanceBefore = getExampleTokenBalance(sender)
+    assert(senderBalanceBefore == 1000.0, message: "ExampleToken balance should be 1000.0")
+
+    let recipient = blockchain.createAccount()
+    let recipientAmount = 300.0
+
+    let pair = {recipient.address: recipientAmount}
+
+    txExecutor("privateForwarder/setup_and_create_forwarder.cdc", [recipient], [], nil, nil)
+    txExecutor("privateForwarder/transfer_private_many_accounts.cdc", [sender], [pair], nil, nil)
+
+    let recipientBalance = getExampleTokenBalance(recipient)
+    Test.assertEqual(recipientAmount, recipientBalance)
+
+    let senderBalanceAfter = getExampleTokenBalance(sender)
+    Test.assertEqual(senderBalanceBefore - recipientAmount, senderBalanceAfter)
+}
+
+
+/* Transaction Helpers */
+
+access(all) fun setupExampleToken(_ acct: Test.Account) {
+    txExecutor("setup_account.cdc", [acct], [], nil, nil)
+}
+
+access(all) fun mintExampleToken(_ acct: Test.Account, recipient: Address, amount: UFix64) {
+    txExecutor("mint_tokens.cdc", [acct], [recipient, amount], nil, nil)
+}
+
+access(all) fun setupTokenForwarder(_ acct: Test.Account) {
+    txExecutor("privateForwarder/setup_and_create_forwarder.cdc", [acct], [], nil, nil)
+}
+
+/* Script Helpers */
+
+access(all) fun getExampleTokenBalance(_ acct: Test.Account): UFix64 {
+    let balance: UFix64? = (scriptExecutor("get_balance.cdc", [acct.address])! as! UFix64)
+    return balance!
+}
+
+/* Test Helper */
+
+access(all) fun getTestAccount(_ name: String): Test.Account {
+    if accounts[name] == nil {
+        accounts[name] = blockchain.createAccount()
+    }
+
+    return accounts[name]!
+}
+
+/* Test Setup */
+
+access(all) fun setup() {
+
+    let sourceAccount = blockchain.createAccount()
+
+    accounts["FungibleToken"] = sourceAccount
+    accounts["NonFungibleToken"] = sourceAccount
+    accounts["MetadataViews"] = sourceAccount
+    accounts["FungibleTokenMetadataViews"] = sourceAccount
+    accounts["ExampleToken"] = sourceAccount
+    accounts["PrivateReceiverForwarder"] = sourceAccount
+
+    blockchain.useConfiguration(Test.Configuration({
+        "FungibleToken": sourceAccount.address,
+        "NonFungibleToken": sourceAccount.address,
+        "MetadataViews": sourceAccount.address,
+        "FungibleTokenMetadataViews": sourceAccount.address,
+        "ExampleToken": sourceAccount.address,
+        "PrivateReceiverForwarder": sourceAccount.address
+    }))
+
+    // helper nft contract so we can actually talk to nfts with tests
+    deploy("FungibleToken", sourceAccount, "../contracts/FungibleToken.cdc")
+    deploy("NonFungibleToken", sourceAccount, "../contracts/utility/NonFungibleToken.cdc")
+    deploy("MetadataViews", sourceAccount, "../contracts/utility/MetadataViews.cdc")
+    deploy("FungibleTokenMetadataViews", sourceAccount, "../contracts/FungibleTokenMetadataViews.cdc")
+    deploy("ExampleToken", sourceAccount, "../contracts/ExampleToken.cdc")
+    deployWithArgs(
+        "PrivateReceiverForwarder",
+        sourceAccount,
+        "../contracts/utility/PrivateReceiverForwarder.cdc",
+        args: [
+            senderStoragePath,
+            privateReceiverStoragePath,
+            privateReceiverPublicPath
+        ]
+    )
+}
diff --git a/test/test_helpers.cdc b/test/test_helpers.cdc
index f4ddf637..e969cfc1 100644
--- a/test/test_helpers.cdc
+++ b/test/test_helpers.cdc
@@ -23,6 +23,20 @@ pub fun deploy(_ contractName: String, _ account: Test.Account, _ path: String)
     }
 }
 
+pub fun deployWithArgs(_ contractName: String, _ account: Test.Account, _ path: String, args: [AnyStruct]) {
+    let err = blockchain.deployContract(
+        name: contractName,
+        code: Test.readFile(path),
+        account: account,
+        arguments: args,
+    )
+
+    Test.expect(err, Test.beNil())
+    if err != nil {
+        panic(err!.message)
+    }
+}
+
 pub fun scriptExecutor(_ scriptName: String, _ arguments: [AnyStruct]): AnyStruct? {
     let scriptCode = loadCode(scriptName, "transactions/scripts")
     let scriptResult = blockchain.executeScript(scriptCode, arguments)

From 23a7511ea99abd9a7c8a8d0bd5ec5f8c1564430d Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Mon, 2 Oct 2023 17:14:19 -0500
Subject: [PATCH 024/115] consolidate Cadence test directories

---
 Makefile                                                      | 4 ++--
 tests/{test_example_token.cdc => example_token_tests.cdc}     | 0
 .../MetadataViews_tests.cdc => tests/metadata_views_tests.cdc | 0
 .../private_receiver_forwarder_tests.cdc                      | 0
 tests/{test_switchboard.cdc => switchboard_tests.cdc}         | 0
 {test => tests}/test_helpers.cdc                              | 0
 6 files changed, 2 insertions(+), 2 deletions(-)
 rename tests/{test_example_token.cdc => example_token_tests.cdc} (100%)
 rename test/MetadataViews_tests.cdc => tests/metadata_views_tests.cdc (100%)
 rename test/PrivateReceiverForwarder_tests.cdc => tests/private_receiver_forwarder_tests.cdc (100%)
 rename tests/{test_switchboard.cdc => switchboard_tests.cdc} (100%)
 rename {test => tests}/test_helpers.cdc (100%)

diff --git a/Makefile b/Makefile
index 5ea53a9b..ad1e6cb5 100644
--- a/Makefile
+++ b/Makefile
@@ -2,9 +2,9 @@
 test:
 	$(MAKE) generate -C lib/go
 	$(MAKE) test -C lib/go
-	flow test --cover tests/*.cdc
+	flow test --cover tests/*_tests.cdc
 
 .PHONY: ci
 ci:
 	$(MAKE) ci -C lib/go
-	flow test --cover tests/*.cdc
+	flow test --cover tests/*_tests.cdc
diff --git a/tests/test_example_token.cdc b/tests/example_token_tests.cdc
similarity index 100%
rename from tests/test_example_token.cdc
rename to tests/example_token_tests.cdc
diff --git a/test/MetadataViews_tests.cdc b/tests/metadata_views_tests.cdc
similarity index 100%
rename from test/MetadataViews_tests.cdc
rename to tests/metadata_views_tests.cdc
diff --git a/test/PrivateReceiverForwarder_tests.cdc b/tests/private_receiver_forwarder_tests.cdc
similarity index 100%
rename from test/PrivateReceiverForwarder_tests.cdc
rename to tests/private_receiver_forwarder_tests.cdc
diff --git a/tests/test_switchboard.cdc b/tests/switchboard_tests.cdc
similarity index 100%
rename from tests/test_switchboard.cdc
rename to tests/switchboard_tests.cdc
diff --git a/test/test_helpers.cdc b/tests/test_helpers.cdc
similarity index 100%
rename from test/test_helpers.cdc
rename to tests/test_helpers.cdc

From 3e9883090e7342c28277d8a90194c6e0999544ee Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Mon, 2 Oct 2023 17:18:24 -0500
Subject: [PATCH 025/115] bump flow CLI version for ci automation

---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7d02608d..ef3afa63 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -17,7 +17,7 @@ jobs:
           restore-keys: |
             ${{ runner.os }}-go-
       - name: Install Flow CLI
-        run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.3.1
+        run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.4.4
       - name: Flow CLI Version
         run: flow version
       - name: Update PATH

From 78cf9f2098a2dbe4c399c3c46bb87e49316149a4 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Mon, 2 Oct 2023 17:18:42 -0500
Subject: [PATCH 026/115] update go assets

---
 lib/go/templates/internal/assets/assets.go | 105 +++++++++++++--------
 1 file changed, 65 insertions(+), 40 deletions(-)

diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index e86e1834..ed1df99a 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -3,7 +3,7 @@
 // ../../../transactions/burn_tokens.cdc (1.412kB)
 // ../../../transactions/create_forwarder.cdc (2.319kB)
 // ../../../transactions/generic_transfer.cdc (1.216kB)
-// ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.839kB)
+// ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.821kB)
 // ../../../transactions/mint_tokens.cdc (1.707kB)
 // ../../../transactions/privateForwarder/create_account_private_forwarder.cdc (1.428kB)
 // ../../../transactions/privateForwarder/create_private_forwarder.cdc (961B)
@@ -21,6 +21,7 @@
 // ../../../transactions/scripts/switchboard/check_receiver_by_type.cdc (562B)
 // ../../../transactions/scripts/switchboard/get_vault_types.cdc (690B)
 // ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (721B)
+// ../../../transactions/scripts/test/example_token_vault_display_strict_equal.cdc (1.996kB)
 // ../../../transactions/scripts/tokenForwarder/is_recipient_valid.cdc (436B)
 // ../../../transactions/setup_account.cdc (1.323kB)
 // ../../../transactions/switchboard/add_vault_capability.cdc (1.415kB)
@@ -166,7 +167,7 @@ func generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
-var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x94\x41\x6f\x9b\x4c\x10\x86\xef\xfc\x8a\x91\x0f\xf9\x88\xe4\xc0\xdd\x72\x12\x25\xf9\x9a\x9e\x2a\x45\xa9\xdb\xfb\x18\x06\x58\x05\x76\xd1\xee\x60\x1a\x45\xfe\xef\xd5\xee\xc2\x1a\x90\xdd\x56\x6a\x39\x58\x68\x3c\xef\xec\x33\xef\xce\x20\x9a\x56\x69\x86\xe7\x4e\x96\x62\x5f\xd3\x4e\xbd\x91\x84\x42\xab\x06\x56\xb3\xd8\x2a\x3a\x97\xf9\x85\x18\x73\x64\xfc\x2e\xa8\x37\xe7\x64\xb3\x84\x50\xe3\x9c\x2c\x53\x92\x35\x66\x6c\xd2\x8e\x45\x2d\xf8\x3d\x5d\x68\xa3\x34\x4d\x61\x57\x09\x03\xac\x51\x1a\xcc\x58\x28\x09\xc2\x40\x5f\x21\x03\x4a\xc0\x2c\x53\x9d\x64\xe8\x55\x57\xe7\xa0\x3b\xe9\x14\xac\xc0\x10\x83\x60\x43\x75\x01\x5d\x6b\x03\x0d\x4a\x2c\x09\x8a\x81\x14\xd8\xa2\x9a\xc4\x57\x2f\x3a\xe9\x4a\x3b\x75\x67\xc8\xc0\xc1\x61\xb2\x82\x37\xa9\x7a\xe8\x2b\xd2\x34\x96\xb5\xf5\x2a\x82\x03\x76\x35\x3b\x81\x90\x60\x58\x69\x5b\x1e\x65\x6e\xd3\x32\x4d\xc8\xe4\xd2\xa8\x69\xf9\xdd\x27\x27\x51\x34\x69\x23\xc6\x3c\xd7\x64\xcc\x06\x1e\xfc\xcb\x1a\xda\x6e\x5f\x8b\xec\x05\xb9\xda\xc0\x4b\x78\xbf\x86\x8f\x28\x02\x00\x68\x35\xb5\xa8\x29\x36\xa2\x94\xa4\x37\xf0\xd0\x71\xf5\xe0\x0d\xb0\x39\x30\x3c\x69\x0a\x8f\x4a\x6b\xd5\x03\x82\xa6\x82\x34\xc9\xcc\xc1\x07\x6a\x87\x4b\x39\x28\xe9\x62\x2d\x1a\x43\x79\xf0\x12\x79\x1a\x3d\x31\x85\x03\x6a\x62\xd0\x64\x54\x7d\x20\xfd\x4a\x05\xdc\x42\x49\x3c\x80\x8c\x5d\x5d\x87\x6c\xfb\x24\x25\xf1\x13\xb6\xb8\x77\xb7\x1c\x9f\x6a\x2e\xd2\xf6\x8e\x7b\x7b\xf5\x31\x9b\x83\xe4\x75\x38\xec\x78\x17\xcf\x05\xf7\xf7\xd0\xa2\x14\x59\xbc\x7a\x72\x03\x20\x15\xc3\xfe\x37\xbd\xdb\x9b\x0d\xf8\xb0\xba\x8e\xa6\xc6\x7d\x33\xf6\xd6\x90\xe7\x62\x4d\xac\x05\x1d\xfc\x85\x3e\xef\x2c\x14\xcc\xdc\x28\xd8\xc5\x6e\x7f\xb1\x29\xd6\x02\x2f\x8d\x2d\xc1\xd8\xd2\x66\xea\xe4\x9c\xe5\x33\xf1\x78\xa0\x05\xff\x1f\x19\x3d\xbc\x5b\x1e\xf7\x73\xe2\x59\xe2\x04\xc5\xed\x00\x97\x4c\x83\xa3\x6f\x10\xaf\x76\x15\x8d\xe3\xe0\xfd\xc9\x45\x2e\xff\x63\x10\x4d\x5b\x53\x43\x92\x27\xd6\xe5\x23\xc2\xc2\xb5\x27\x3f\xee\x08\x92\xfa\xe9\xc0\x43\x67\x84\x2c\x5d\x01\xbf\x11\x9f\xec\x7f\x0e\x23\xac\x1c\x08\x69\x44\x4e\xcb\x4e\x67\xfd\xd0\x49\xb6\xbd\x99\xf4\x91\x2c\xab\xc6\x73\xae\xaf\x78\x20\x10\x3c\xde\xff\x30\xe0\x21\xc3\xef\x51\x62\xf0\x40\xf1\xf6\xe6\x74\xc8\x1a\x58\x6d\xa6\x26\x26\xc3\x7a\xfb\x89\x3d\xdb\xb9\x1f\x69\xc8\xc2\x90\x43\xa1\xf4\xc4\x3a\xfa\xd1\xaa\x60\x86\xa6\x8c\x84\x9d\x3e\x21\x99\x74\x81\x19\x2d\x99\x6a\x21\xdf\xb6\x57\x1f\xb3\x71\x4a\x5e\x07\xd9\xf1\x2e\x9e\x6d\xc1\x94\x74\x2c\x6d\x51\xd7\xb3\x2c\x46\x5d\x12\x5f\xec\x2b\xe4\xfe\x8b\x06\xf7\x58\xa3\xdd\x1d\xfb\x39\x0c\xab\x16\x9a\x35\x7f\xd4\xed\xa3\xaf\xb1\x86\x8b\xdf\x82\x8b\x26\x34\x83\xe2\xaf\x4d\x38\x46\xc7\x08\x7e\x06\x00\x00\xff\xff\x05\xda\xfa\x5c\x2f\x07\x00\x00"
+var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x94\x41\x6f\x9b\x4c\x10\x86\xef\xfc\x8a\x91\x0f\xf9\x88\xe4\xe0\xbb\xe5\x24\x4a\xf2\x35\x3d\x55\x8a\x52\xb7\xf7\x31\x0c\xb0\x0a\xec\xa2\xdd\x01\x1a\x45\xfe\xef\xd5\xee\xc2\x1a\x90\xdd\x56\x6a\x39\x58\x68\x3c\x33\xfb\xbc\xef\xce\x20\xea\x46\x69\x86\xe7\x56\x16\xe2\x50\xd1\x5e\xbd\x91\x84\x5c\xab\x1a\x56\xb3\xd8\x2a\x3a\x97\xf9\x85\x18\x33\x64\xfc\x2e\xa8\x37\xe7\xca\x66\x09\xa1\xc7\xb9\xb2\x45\x66\xb4\xd9\x6c\x60\x5f\x0a\x03\xac\x51\x1a\x4c\x59\x28\x09\xc2\x40\x5f\x22\x03\x4a\xc0\x34\x55\xad\x64\xe8\x55\x5b\x65\xa0\x5b\xe9\x2a\x58\x81\x21\x06\xc1\x86\xaa\x1c\xda\xc6\x06\x6a\x94\x58\x10\xe4\x03\x17\xb0\x05\x33\x89\xef\x9e\xb7\xd2\xb5\x76\xd5\xad\x21\x03\x9d\x83\x62\x05\x6f\x52\xf5\xd0\x97\xa4\x69\x6c\x6b\xfb\x95\x04\x1d\xb6\x15\xbb\x02\x21\xc1\xb0\xd2\xb6\x3d\xca\xcc\xa6\xa5\x9a\x90\xc9\xa5\x51\xdd\xf0\xbb\x4f\x4e\xa2\x68\x22\x23\xc6\x2c\xd3\x64\xcc\x16\x1e\xfc\xcb\x1a\x9a\xf6\x50\x89\xf4\x05\xb9\xdc\xc2\x4b\x78\xbf\x86\x8f\x28\x02\x00\x68\x34\x35\xa8\x29\x36\xa2\x90\xa4\xb7\xf0\xd0\x72\xf9\xe0\x0d\xb0\x39\x30\x3c\x9b\x0d\x3c\x2a\xad\x55\x0f\x08\x9a\x72\xd2\x24\x53\x07\x1f\xa8\x1d\x2e\x65\xa0\xa4\x8b\x35\x68\x0c\x65\xc1\x4b\xe4\x69\xf4\xc4\x14\x0e\xa8\x88\x41\x93\x51\x55\x47\xfa\x95\x72\xb8\x85\x82\x78\x00\x19\x55\x5d\x87\x6c\xfb\x24\x05\xf1\x13\x36\x78\x10\x95\xe0\xf7\xf8\xd4\x73\x91\x76\x70\xdc\xbb\xab\x8f\xd9\x1c\x24\xaf\xc3\x61\xc7\xbb\x78\x5e\x70\x7f\x0f\x0d\x4a\x91\xc6\xab\x27\x37\x00\x52\x31\x1c\x7e\xa3\xdd\xde\x6c\xc0\x87\xd5\x75\x34\x35\xee\x9b\xb1\xb7\x86\x3c\x2f\xd6\xc4\x5a\x50\xe7\x2f\xf4\x79\x6f\xa1\x60\xe6\x46\xce\x2e\x76\xfb\x8b\xbd\xb0\x16\xf8\xd2\xd8\x12\x8c\x92\xb6\x53\x27\xe7\x2c\x9f\x89\xc7\x03\x2d\xf8\xff\xc8\xe8\xe1\xdd\xaa\xb8\x9f\x13\xcf\x12\x27\x54\xdc\x0e\x70\xc9\x34\x38\xfa\x06\xf1\x6a\x5f\xd2\x38\x0e\xde\x9f\x4c\x64\xf2\x3f\x06\x51\x37\x15\xd5\x24\x79\x62\x5d\x36\x22\x2c\x5c\x7b\xf2\xe3\x8e\x20\xa9\x9f\x0e\x3c\xb4\x46\xc8\xc2\x35\xf0\x1b\xf1\xc9\xfe\xe7\x30\xc2\xca\x81\x90\x46\x64\xb4\x54\x3a\xd3\x43\xa7\xb2\xdd\xcd\x44\x47\xb2\xec\x1a\xcf\xb9\xbe\x62\x47\x20\x78\xbc\xff\x61\xc0\x43\x86\xdf\xa3\xc4\x60\x47\xf1\xee\xe6\x74\xc8\x1a\x58\x6d\xa7\x26\x26\xc3\x7a\xfb\x89\x3d\xab\xdc\x8f\x34\xa4\x61\xc8\x21\x57\x7a\x62\x1d\xfd\x68\x54\x30\x43\x53\x4a\xc2\x4e\x9f\x90\x4c\x3a\xc7\x94\x96\x4c\x95\x90\x6f\xbb\xab\x8f\xd9\x38\x25\xaf\x43\xd9\xf1\x2e\x9e\x6d\xc1\x94\x74\x6c\x6d\x51\xd7\xb3\x2c\x46\x5d\x10\x5f\xd4\x15\x72\xff\x85\xc0\x03\x56\x68\x77\xc7\x7e\x0e\xc3\xaa\x05\xb1\xe6\x8f\xd4\x3e\xfa\x1e\x6b\xb8\xf8\x2d\xb8\x68\x42\x3d\x54\xfc\xb5\x09\xc7\xe8\x18\xc1\xcf\x00\x00\x00\xff\xff\x8e\xd5\x2a\x6e\x1d\x07\x00\x00"
 
 func metadataSetup_account_from_vault_referenceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -182,7 +183,7 @@ func metadataSetup_account_from_vault_referenceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "metadata/setup_account_from_vault_reference.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x57, 0x6c, 0xcd, 0x92, 0xe8, 0xa, 0x42, 0xf7, 0x79, 0x7a, 0x78, 0x52, 0x41, 0x12, 0xb9, 0x60, 0xec, 0x5a, 0xef, 0x2, 0x92, 0x3f, 0x63, 0x1e, 0x3a, 0x36, 0x98, 0xa, 0x43, 0xab, 0x81}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x39, 0x16, 0x6d, 0x0, 0x6c, 0x7a, 0xc8, 0x76, 0x3f, 0xb0, 0xce, 0xb8, 0xcc, 0x63, 0x93, 0xcf, 0x1a, 0x5c, 0x86, 0x57, 0x30, 0xe9, 0x1, 0x25, 0x82, 0xc1, 0xcd, 0xaf, 0x16, 0x16, 0x10}}
 	return a, nil
 }
 
@@ -526,6 +527,26 @@ func scriptsSwitchboardGet_vault_types_and_addressCdc() (*asset, error) {
 	return a, nil
 }
 
+var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xdb\x8e\xdb\x46\x0c\x7d\xd7\x57\x10\x2a\x60\xc8\x68\x22\x6f\x2e\xbb\x4d\x8c\xba\x41\x9a\xc6\xe8\x43\x02\x2c\x16\x6a\xfa\x10\x04\x0b\x6a\x44\xcb\x83\x1d\xcd\x08\x33\x94\x2f\x58\xec\xbf\x17\xa3\x9b\x65\x59\x5d\x84\x4f\xd2\xf0\xf0\x90\x3c\x33\xa4\x2c\x4a\x63\x19\xd6\x95\xce\x65\xaa\x28\x31\x0f\xa4\xbf\x12\x63\x86\x8c\xdf\x24\xed\x1d\x6c\xac\x29\x20\xfc\x7f\x40\x18\xb4\x1c\x53\x61\xd3\xc8\xcf\x07\x2c\xca\x96\xab\x05\x0e\x8f\xc2\x20\x58\x2c\x16\x90\x90\x63\xd8\x92\x2a\xc9\x82\x13\x56\x96\x0c\x6c\x60\x87\x4a\x66\xc8\x74\x4e\xe2\xc8\xee\xc8\xc1\x3a\xf9\x4b\xba\x52\xe1\x11\xd0\x01\x1d\x4a\x12\x4c\x99\x27\x0b\x50\x08\x72\x2e\x42\xa5\xe6\xb0\xa9\x34\x14\x28\x75\x84\x59\x66\xc9\xb9\x25\x7c\x6c\x3e\xe6\x4b\xf8\xd3\x18\x05\x8f\x01\x00\x80\x22\x06\x14\xc2\x54\x9a\x61\x05\x39\xf1\xc7\xe6\xa7\x0b\x9b\x07\x3d\xac\x4b\x05\xab\x67\x94\x8c\xfb\xea\xa2\x3a\xb0\x33\x8d\x05\x2d\x7b\x05\x7a\x02\x68\xb4\x78\x71\x86\x75\xc7\x22\x35\xca\xa3\xd7\xc9\xc8\x95\x51\x23\x92\x34\x7a\x09\x61\xb2\x95\xce\x37\xda\x50\x71\x2d\x92\x74\x50\x39\xca\xbc\x36\xa8\x81\xda\x7c\x6c\x6a\x91\xe1\x68\x2a\xc8\x68\x47\xca\xd4\xdf\x16\x34\x1d\x18\xd6\x09\xfc\x62\xf4\x5a\x99\x7d\x3c\xca\x47\x07\x26\xab\x51\xfd\x73\xf7\x65\x79\x7e\xf7\xf1\xe7\x93\x2b\x0a\xb7\xcc\xa5\x5b\x2e\x16\x6d\xbe\x97\x1b\x8e\x8d\xde\x78\x42\x63\xf3\x70\x7e\x4e\xaa\x4c\x6e\xdc\x98\xee\x2b\x65\x12\x5d\xf4\xfd\x0c\xe9\x6d\x02\x16\x5d\x80\xbc\x6d\xa4\xa2\x31\xeb\xdf\x49\x72\xbb\x96\x8a\xa6\x23\xbc\x55\xd6\x2b\xdd\xd5\x8f\xce\x11\xbb\x78\x4f\xa9\x93\x4c\x2f\x3d\xa5\x8b\x85\x29\x16\xd7\x9b\x9b\xd7\xef\xdf\x8a\x2b\xf1\x1b\xbe\x13\x59\x76\xf3\xf6\x4d\xfa\x4a\xbc\x7b\x7d\x35\x72\xe0\xf5\xb5\x48\x5f\x89\xf7\x6f\x6e\xee\xbd\x9c\xf7\xff\x1a\x9b\x15\x68\x1f\x62\xb7\xcb\xc3\xc9\x1a\x46\xda\x74\x56\xf8\x3e\x93\x63\xe9\x1f\x8d\x2c\x30\xa7\x85\xdb\xe5\xbf\x1e\x0a\x75\xc9\x32\xff\x11\x3c\x43\xe8\x8c\x90\xa8\xdc\xb2\x7d\xef\x43\x0b\x79\x2f\x99\xc9\x86\x3f\x75\xb5\x2d\xb8\x56\xc3\xdf\xec\x7d\xaa\x8c\x78\x10\x5b\x94\x3a\x9c\x9f\x71\x3f\xf5\x7f\x83\xe9\xd9\x61\xa5\xf8\x8e\x36\xb0\xea\xe6\xad\x47\xc5\x39\xf1\x27\x2c\x31\x95\x4a\xf2\x31\x1a\xce\x7c\xfc\xcd\x87\xdd\x56\xa9\x92\xe2\x16\x79\x7b\x4a\x14\xa7\xc6\x5a\xb3\xff\x7d\xf6\x78\x5e\xfb\x1d\x39\xa3\x76\x64\x9f\xfe\x88\x4e\xe0\x0f\x1f\xa0\x44\x2d\x45\x14\x7e\x32\x95\xca\x40\x1b\x86\x26\x1e\x10\x2c\x6d\xc8\x92\x16\xf5\x94\xf0\x96\x9a\x52\xc1\xb6\x44\xe1\xa0\x09\x14\x5c\xa1\x7a\x7e\x01\xe4\xc4\xa7\x1d\xd0\x75\x3d\x55\x4a\xb3\xd4\x32\x43\xae\xae\x47\xfa\xa6\x0b\xd2\x3c\x58\x70\x3b\x49\xfb\x2e\xbf\x7f\x9a\x96\xa3\xa6\x84\xb8\x9e\xa1\x58\x32\x15\x2e\x56\xa4\x73\xde\xc2\x6a\xd5\xaf\xa8\x09\xf7\x0b\x28\xc8\x39\xcc\xfd\x83\x6a\x66\x0d\xda\xb8\x42\xba\x02\x59\x6c\xc3\x89\x5d\xf7\xc5\xe4\xa6\x46\xc3\x34\xf9\xf7\xab\x1f\x23\x71\x86\x11\x97\xb5\x76\x78\x4b\x5c\x59\x7d\xa2\xf4\xeb\xd1\x37\xd0\x46\xd4\xbf\xb3\xd9\xc9\xdf\xac\xc4\x01\xa2\x3d\x98\xcd\x7a\x61\x7b\xec\x60\x47\x0e\x02\x86\xa7\x43\xe6\xc1\x86\x8b\x2b\x3b\x4c\x31\xf6\xcc\x66\x70\x91\xac\xef\x36\xf6\xab\x22\xae\xac\x8c\xe6\x27\x8a\x49\xef\x20\xf9\xc9\xdf\x8f\xfb\x54\x70\xef\x0c\x9e\x82\xe0\xbf\x00\x00\x00\xff\xff\xa9\x0d\x0e\x03\xcc\x07\x00\x00"
+
+func scriptsTestExample_token_vault_display_strict_equalCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_scriptsTestExample_token_vault_display_strict_equalCdc,
+		"scripts/test/example_token_vault_display_strict_equal.cdc",
+	)
+}
+
+func scriptsTestExample_token_vault_display_strict_equalCdc() (*asset, error) {
+	bytes, err := scriptsTestExample_token_vault_display_strict_equalCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "scripts/test/example_token_vault_display_strict_equal.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0xba, 0xe0, 0xe4, 0x4a, 0x17, 0xea, 0x85, 0x71, 0xb4, 0x8, 0x60, 0x14, 0xba, 0x95, 0x7f, 0x16, 0xbd, 0x48, 0xf0, 0x3a, 0xca, 0x29, 0x6e, 0xd3, 0xd9, 0xf3, 0x7f, 0xe8, 0xa3, 0x59, 0x1}}
+	return a, nil
+}
+
 var _scriptsTokenforwarderIs_recipient_validCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x90\x51\x6a\xc3\x30\x10\x44\xff\x7d\x8a\xc1\x1f\xc5\x86\xe2\x03\x98\xb6\x21\x2d\xe4\x3b\x94\xf6\x00\xb2\xb4\x76\x44\x64\xad\x58\xaf\x08\x21\xe4\xee\xa5\x36\x2d\x24\x24\x44\x5f\x62\x79\x3b\x33\x3b\x7e\x4c\x2c\x8a\x2f\xde\x53\xdc\xb0\x1c\x8c\x38\x1f\x07\xf4\xc2\x23\xca\xab\x69\x59\x14\x29\x77\xe8\x73\xc4\x68\x7c\xac\x8c\x73\xd2\x62\xed\x9c\xd0\x34\x3d\x43\x2f\xe9\xad\xd1\x5d\x8b\x6d\xee\x82\xb7\xbf\xff\xba\xc5\x3b\x73\xc0\xa9\x00\x80\x40\x8a\x7e\x61\x49\x3e\xa9\xc7\x2b\x06\xd2\xb5\xb5\x9c\xa3\xce\xca\xf5\xcc\xdd\x78\xcd\x40\xfa\x61\x92\xe9\x7c\xf0\x7a\x7c\x79\x3a\x5d\xc5\x6c\x36\x7f\xba\x8b\xf9\xf9\xad\xba\x11\xed\xbe\x7c\xc7\x22\x7c\xa8\xee\x02\xab\x15\x92\x89\xde\x56\xe5\x77\x34\x5d\x20\x28\x63\xd9\xc1\xc3\x28\x10\x9a\x54\xbc\x55\xe8\x31\xd1\x52\xb3\x81\xfd\xbf\xa6\xac\x8b\xd9\x56\x48\xb3\xc4\x8b\x86\x1a\xbb\x23\xbb\xaf\xea\xe2\xfc\x13\x00\x00\xff\xff\xb3\xce\xc9\xb2\xb4\x01\x00\x00"
 
 func scriptsTokenforwarderIs_recipient_validCdcBytes() ([]byte, error) {
@@ -937,43 +958,44 @@ func AssetNames() []string {
 
 // _bindata is a table, holding each asset generator, mapped to its name.
 var _bindata = map[string]func() (*asset, error){
-	"burn_tokens.cdc":                                       burn_tokensCdc,
-	"create_forwarder.cdc":                                  create_forwarderCdc,
-	"generic_transfer.cdc":                                  generic_transferCdc,
-	"metadata/setup_account_from_vault_reference.cdc":       metadataSetup_account_from_vault_referenceCdc,
-	"mint_tokens.cdc":                                       mint_tokensCdc,
-	"privateForwarder/create_account_private_forwarder.cdc": privateforwarderCreate_account_private_forwarderCdc,
-	"privateForwarder/create_private_forwarder.cdc":         privateforwarderCreate_private_forwarderCdc,
-	"privateForwarder/deploy_forwarder_contract.cdc":        privateforwarderDeploy_forwarder_contractCdc,
-	"privateForwarder/setup_and_create_forwarder.cdc":       privateforwarderSetup_and_create_forwarderCdc,
-	"privateForwarder/transfer_private_many_accounts.cdc":   privateforwarderTransfer_private_many_accountsCdc,
-	"safe_generic_transfer.cdc":                             safe_generic_transferCdc,
-	"scripts/get_balance.cdc":                               scriptsGet_balanceCdc,
-	"scripts/get_supply.cdc":                                scriptsGet_supplyCdc,
-	"scripts/get_supported_vault_types.cdc":                 scriptsGet_supported_vault_typesCdc,
-	"scripts/metadata/get_token_metadata.cdc":               scriptsMetadataGet_token_metadataCdc,
-	"scripts/metadata/get_vault_data.cdc":                   scriptsMetadataGet_vault_dataCdc,
-	"scripts/metadata/get_vault_display.cdc":                scriptsMetadataGet_vault_displayCdc,
-	"scripts/metadata/get_vault_supply_view.cdc":            scriptsMetadataGet_vault_supply_viewCdc,
-	"scripts/switchboard/check_receiver_by_type.cdc":        scriptsSwitchboardCheck_receiver_by_typeCdc,
-	"scripts/switchboard/get_vault_types.cdc":               scriptsSwitchboardGet_vault_typesCdc,
-	"scripts/switchboard/get_vault_types_and_address.cdc":   scriptsSwitchboardGet_vault_types_and_addressCdc,
-	"scripts/tokenForwarder/is_recipient_valid.cdc":         scriptsTokenforwarderIs_recipient_validCdc,
-	"setup_account.cdc":                                     setup_accountCdc,
-	"switchboard/add_vault_capability.cdc":                  switchboardAdd_vault_capabilityCdc,
-	"switchboard/add_vault_wrapper_capability.cdc":          switchboardAdd_vault_wrapper_capabilityCdc,
-	"switchboard/batch_add_vault_capabilities.cdc":          switchboardBatch_add_vault_capabilitiesCdc,
-	"switchboard/batch_add_vault_wrapper_capabilities.cdc":  switchboardBatch_add_vault_wrapper_capabilitiesCdc,
-	"switchboard/remove_vault_capability.cdc":               switchboardRemove_vault_capabilityCdc,
-	"switchboard/safe_deposit_to_lnf.cdc":                   switchboardSafe_deposit_to_lnfCdc,
-	"switchboard/safe_transfer_tokens.cdc":                  switchboardSafe_transfer_tokensCdc,
-	"switchboard/safe_transfer_tokens_v2.cdc":               switchboardSafe_transfer_tokens_v2Cdc,
-	"switchboard/setup_account.cdc":                         switchboardSetup_accountCdc,
-	"switchboard/setup_royalty_account.cdc":                 switchboardSetup_royalty_accountCdc,
-	"switchboard/setup_royalty_account_by_paths.cdc":        switchboardSetup_royalty_account_by_pathsCdc,
-	"switchboard/transfer_tokens.cdc":                       switchboardTransfer_tokensCdc,
-	"transfer_many_accounts.cdc":                            transfer_many_accountsCdc,
-	"transfer_tokens.cdc":                                   transfer_tokensCdc,
+	"burn_tokens.cdc":                                           burn_tokensCdc,
+	"create_forwarder.cdc":                                      create_forwarderCdc,
+	"generic_transfer.cdc":                                      generic_transferCdc,
+	"metadata/setup_account_from_vault_reference.cdc":           metadataSetup_account_from_vault_referenceCdc,
+	"mint_tokens.cdc":                                           mint_tokensCdc,
+	"privateForwarder/create_account_private_forwarder.cdc":     privateforwarderCreate_account_private_forwarderCdc,
+	"privateForwarder/create_private_forwarder.cdc":             privateforwarderCreate_private_forwarderCdc,
+	"privateForwarder/deploy_forwarder_contract.cdc":            privateforwarderDeploy_forwarder_contractCdc,
+	"privateForwarder/setup_and_create_forwarder.cdc":           privateforwarderSetup_and_create_forwarderCdc,
+	"privateForwarder/transfer_private_many_accounts.cdc":       privateforwarderTransfer_private_many_accountsCdc,
+	"safe_generic_transfer.cdc":                                 safe_generic_transferCdc,
+	"scripts/get_balance.cdc":                                   scriptsGet_balanceCdc,
+	"scripts/get_supply.cdc":                                    scriptsGet_supplyCdc,
+	"scripts/get_supported_vault_types.cdc":                     scriptsGet_supported_vault_typesCdc,
+	"scripts/metadata/get_token_metadata.cdc":                   scriptsMetadataGet_token_metadataCdc,
+	"scripts/metadata/get_vault_data.cdc":                       scriptsMetadataGet_vault_dataCdc,
+	"scripts/metadata/get_vault_display.cdc":                    scriptsMetadataGet_vault_displayCdc,
+	"scripts/metadata/get_vault_supply_view.cdc":                scriptsMetadataGet_vault_supply_viewCdc,
+	"scripts/switchboard/check_receiver_by_type.cdc":            scriptsSwitchboardCheck_receiver_by_typeCdc,
+	"scripts/switchboard/get_vault_types.cdc":                   scriptsSwitchboardGet_vault_typesCdc,
+	"scripts/switchboard/get_vault_types_and_address.cdc":       scriptsSwitchboardGet_vault_types_and_addressCdc,
+	"scripts/test/example_token_vault_display_strict_equal.cdc": scriptsTestExample_token_vault_display_strict_equalCdc,
+	"scripts/tokenForwarder/is_recipient_valid.cdc":             scriptsTokenforwarderIs_recipient_validCdc,
+	"setup_account.cdc":                                         setup_accountCdc,
+	"switchboard/add_vault_capability.cdc":                      switchboardAdd_vault_capabilityCdc,
+	"switchboard/add_vault_wrapper_capability.cdc":              switchboardAdd_vault_wrapper_capabilityCdc,
+	"switchboard/batch_add_vault_capabilities.cdc":              switchboardBatch_add_vault_capabilitiesCdc,
+	"switchboard/batch_add_vault_wrapper_capabilities.cdc":      switchboardBatch_add_vault_wrapper_capabilitiesCdc,
+	"switchboard/remove_vault_capability.cdc":                   switchboardRemove_vault_capabilityCdc,
+	"switchboard/safe_deposit_to_lnf.cdc":                       switchboardSafe_deposit_to_lnfCdc,
+	"switchboard/safe_transfer_tokens.cdc":                      switchboardSafe_transfer_tokensCdc,
+	"switchboard/safe_transfer_tokens_v2.cdc":                   switchboardSafe_transfer_tokens_v2Cdc,
+	"switchboard/setup_account.cdc":                             switchboardSetup_accountCdc,
+	"switchboard/setup_royalty_account.cdc":                     switchboardSetup_royalty_accountCdc,
+	"switchboard/setup_royalty_account_by_paths.cdc":            switchboardSetup_royalty_account_by_pathsCdc,
+	"switchboard/transfer_tokens.cdc":                           switchboardTransfer_tokensCdc,
+	"transfer_many_accounts.cdc":                                transfer_many_accountsCdc,
+	"transfer_tokens.cdc":                                       transfer_tokensCdc,
 }
 
 // AssetDebug is true if the assets were built with the debug flag enabled.
@@ -1050,6 +1072,9 @@ var _bintree = &bintree{nil, map[string]*bintree{
 			"get_vault_types.cdc": {scriptsSwitchboardGet_vault_typesCdc, map[string]*bintree{}},
 			"get_vault_types_and_address.cdc": {scriptsSwitchboardGet_vault_types_and_addressCdc, map[string]*bintree{}},
 		}},
+		"test": {nil, map[string]*bintree{
+			"example_token_vault_display_strict_equal.cdc": {scriptsTestExample_token_vault_display_strict_equalCdc, map[string]*bintree{}},
+		}},
 		"tokenForwarder": {nil, map[string]*bintree{
 			"is_recipient_valid.cdc": {scriptsTokenforwarderIs_recipient_validCdc, map[string]*bintree{}},
 		}},

From 56c5306fd338d204feaf833df93a716d105cb595 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Tue, 17 Oct 2023 16:33:13 -0500
Subject: [PATCH 027/115] update utility contracts

---
 contracts/utility/MetadataViews.cdc           | 299 ++++++++--------
 contracts/utility/NonFungibleToken.cdc        | 326 +++++++++++++-----
 .../utility/PrivateReceiverForwarder.cdc      |  29 +-
 contracts/utility/ViewResolver.cdc            |  33 +-
 flow.json                                     | 211 ++++++------
 5 files changed, 536 insertions(+), 362 deletions(-)

diff --git a/contracts/utility/MetadataViews.cdc b/contracts/utility/MetadataViews.cdc
index d1dcc84c..9d11e73f 100644
--- a/contracts/utility/MetadataViews.cdc
+++ b/contracts/utility/MetadataViews.cdc
@@ -4,46 +4,46 @@ import ViewResolver from "ViewResolver"
 
 /// This contract implements the metadata standard proposed
 /// in FLIP-0636.
-/// 
+///
 /// Ref: https://github.com/onflow/flips/blob/main/application/20210916-nft-metadata.md
-/// 
+///
 /// Structs and resources can implement one or more
 /// metadata types, called views. Each view type represents
 /// a different kind of metadata, such as a creator biography
 /// or a JPEG image file.
 ///
-pub contract MetadataViews {
+access(all) contract MetadataViews {
 
     /// Display is a basic view that includes the name, description and
     /// thumbnail for an object. Most objects should implement this view.
     ///
-    pub struct Display {
+    access(all) struct Display {
 
-        /// The name of the object. 
+        /// The name of the object.
         ///
         /// This field will be displayed in lists and therefore should
         /// be short an concise.
         ///
-        pub let name: String
+        access(all) let name: String
 
-        /// A written description of the object. 
+        /// A written description of the object.
         ///
         /// This field will be displayed in a detailed view of the object,
         /// so can be more verbose (e.g. a paragraph instead of a single line).
         ///
-        pub let description: String
+        access(all) let description: String
 
         /// A small thumbnail representation of the object.
         ///
         /// This field should be a web-friendly file (i.e JPEG, PNG)
         /// that can be displayed in lists, link previews, etc.
         ///
-        pub let thumbnail: AnyStruct{File}
+        access(all) let thumbnail: {File}
 
-        init(
+        view init(
             name: String,
             description: String,
-            thumbnail: AnyStruct{File}
+            thumbnail: {File}
         ) {
             self.name = name
             self.description = description
@@ -56,7 +56,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return An optional Display struct
     ///
-    pub fun getDisplay(_ viewResolver: &{ViewResolver.Resolver}) : Display? {
+    access(all) fun getDisplay(_ viewResolver: &{ViewResolver.Resolver}) : Display? {
         if let view = viewResolver.resolveView(Type<Display>()) {
             if let v = view as? Display {
                 return v
@@ -65,23 +65,23 @@ pub contract MetadataViews {
         return nil
     }
 
-    /// Generic interface that represents a file stored on or off chain. Files 
+    /// Generic interface that represents a file stored on or off chain. Files
     /// can be used to references images, videos and other media.
     ///
-    pub struct interface File {
-        pub fun uri(): String
+    access(all) struct interface File {
+        access(all) view fun uri(): String
     }
 
-    /// View to expose a file that is accessible at an HTTP (or HTTPS) URL. 
+    /// View to expose a file that is accessible at an HTTP (or HTTPS) URL.
     ///
-    pub struct HTTPFile: File {
-        pub let url: String
+    access(all) struct HTTPFile: File {
+        access(all) let url: String
 
-        init(url: String) {
+        view init(url: String) {
             self.url = url
         }
 
-        pub fun uri(): String {
+        access(all) view fun uri(): String {
             return self.url
         }
     }
@@ -91,13 +91,13 @@ pub contract MetadataViews {
     /// rather than a direct URI. A client application can use this CID
     /// to find and load the image via an IPFS gateway.
     ///
-    pub struct IPFSFile: File {
+    access(all) struct IPFSFile: File {
 
         /// CID is the content identifier for this IPFS file.
         ///
         /// Ref: https://docs.ipfs.io/concepts/content-addressing/
         ///
-        pub let cid: String
+        access(all) let cid: String
 
         /// Path is an optional path to the file resource in an IPFS directory.
         ///
@@ -105,9 +105,9 @@ pub contract MetadataViews {
         ///
         /// Ref: https://docs.ipfs.io/concepts/file-systems/
         ///
-        pub let path: String?
+        access(all) let path: String?
 
-        init(cid: String, path: String?) {
+        view init(cid: String, path: String?) {
             self.cid = cid
             self.path = path
         }
@@ -117,7 +117,7 @@ pub contract MetadataViews {
         ///
         /// @return The string containing the file uri
         ///
-        pub fun uri(): String {
+        access(all) view fun uri(): String {
             if let path = self.path {
                 return "ipfs://".concat(self.cid).concat("/").concat(path)
             }
@@ -128,18 +128,18 @@ pub contract MetadataViews {
 
     /// View to represent a file with an correspoiding mediaType.
     ///
-    pub struct Media {
+    access(all) struct Media {
 
         /// File for the media
         ///
-        pub let file: AnyStruct{File}
+        access(all) let file: {File}
 
-        /// media-type comes on the form of type/subtype as described here 
+        /// media-type comes on the form of type/subtype as described here
         /// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types
         ///
-        pub let mediaType: String
+        access(all) let mediaType: String
 
-        init(file: AnyStruct{File}, mediaType: String) {
+        view init(file: {File}, mediaType: String) {
           self.file=file
           self.mediaType=mediaType
         }
@@ -147,12 +147,12 @@ pub contract MetadataViews {
 
     /// Wrapper view for multiple media views
     ///
-    pub struct Medias {
+    access(all) struct Medias {
 
         /// An arbitrary-sized list for any number of Media items
-        pub let items: [Media]
+        access(all) let items: [Media]
 
-        init(_ items: [Media]) {
+        view init(_ items: [Media]) {
             self.items = items
         }
     }
@@ -162,7 +162,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional Medias struct
     ///
-    pub fun getMedias(_ viewResolver: &{ViewResolver.Resolver}) : Medias? {
+    access(all) fun getMedias(_ viewResolver: &{ViewResolver.Resolver}) : Medias? {
         if let view = viewResolver.resolveView(Type<Medias>()) {
             if let v = view as? Medias {
                 return v
@@ -174,10 +174,10 @@ pub contract MetadataViews {
     /// View to represent a license according to https://spdx.org/licenses/
     /// This view can be used if the content of an NFT is licensed.
     ///
-    pub struct License {
-        pub let spdxIdentifier: String
+    access(all) struct License {
+        access(all) let spdxIdentifier: String
 
-        init(_ identifier: String) {
+        view init(_ identifier: String) {
             self.spdxIdentifier = identifier
         }
     }
@@ -187,7 +187,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional License struct
     ///
-    pub fun getLicense(_ viewResolver: &{ViewResolver.Resolver}) : License? {
+    access(all) fun getLicense(_ viewResolver: &{ViewResolver.Resolver}) : License? {
         if let view = viewResolver.resolveView(Type<License>()) {
             if let v = view as? License {
                 return v
@@ -197,14 +197,14 @@ pub contract MetadataViews {
     }
 
     /// View to expose a URL to this item on an external site.
-    /// This can be used by applications like .find and Blocto to direct users 
+    /// This can be used by applications like .find and Blocto to direct users
     /// to the original link for an NFT or a project page that describes the NFT collection.
     /// eg https://www.my-nft-project.com/overview-of-nft-collection
     ///
-    pub struct ExternalURL {
-        pub let url: String
+    access(all) struct ExternalURL {
+        access(all) let url: String
 
-        init(_ url: String) {
+        view init(_ url: String) {
             self.url=url
         }
     }
@@ -214,7 +214,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional ExternalURL struct
     ///
-    pub fun getExternalURL(_ viewResolver: &{ViewResolver.Resolver}) : ExternalURL? {
+    access(all) fun getExternalURL(_ viewResolver: &{ViewResolver.Resolver}) : ExternalURL? {
         if let view = viewResolver.resolveView(Type<ExternalURL>()) {
             if let v = view as? ExternalURL {
                 return v
@@ -223,36 +223,36 @@ pub contract MetadataViews {
         return nil
     }
 
-    /// View that defines the composable royalty standard that gives marketplaces a 
+    /// View that defines the composable royalty standard that gives marketplaces a
     /// unified interface to support NFT royalties.
     ///
-    pub struct Royalty {
+    access(all) struct Royalty {
 
         /// Generic FungibleToken Receiver for the beneficiary of the royalty
         /// Can get the concrete type of the receiver with receiver.getType()
-        /// Recommendation - Users should create a new link for a FlowToken 
-        /// receiver for this using `getRoyaltyReceiverPublicPath()`, and not 
-        /// use the default FlowToken receiver. This will allow users to update 
+        /// Recommendation - Users should create a new link for a FlowToken
+        /// receiver for this using `getRoyaltyReceiverPublicPath()`, and not
+        /// use the default FlowToken receiver. This will allow users to update
         /// the capability in the future to use a more generic capability
-        pub let receiver: Capability<&AnyResource{FungibleToken.Receiver}>
+        access(all) let receiver: Capability<&{FungibleToken.Receiver}>
 
-        /// Multiplier used to calculate the amount of sale value transferred to 
-        /// royalty receiver. Note - It should be between 0.0 and 1.0 
-        /// Ex - If the sale value is x and multiplier is 0.56 then the royalty 
+        /// Multiplier used to calculate the amount of sale value transferred to
+        /// royalty receiver. Note - It should be between 0.0 and 1.0
+        /// Ex - If the sale value is x and multiplier is 0.56 then the royalty
         /// value would be 0.56 * x.
         /// Generally percentage get represented in terms of basis points
-        /// in solidity based smart contracts while cadence offers `UFix64` 
-        /// that already supports the basis points use case because its 
-        /// operations are entirely deterministic integer operations and support 
+        /// in solidity based smart contracts while cadence offers `UFix64`
+        /// that already supports the basis points use case because its
+        /// operations are entirely deterministic integer operations and support
         /// up to 8 points of precision.
-        pub let cut: UFix64
+        access(all) let cut: UFix64
 
         /// Optional description: This can be the cause of paying the royalty,
         /// the relationship between the `wallet` and the NFT, or anything else
         /// that the owner might want to specify.
-        pub let description: String
+        access(all) let description: String
 
-        init(receiver: Capability<&AnyResource{FungibleToken.Receiver}>, cut: UFix64, description: String) {
+        view init(receiver: Capability<&{FungibleToken.Receiver}>, cut: UFix64, description: String) {
             pre {
                 cut >= 0.0 && cut <= 1.0 : "Cut value should be in valid range i.e [0,1]"
             }
@@ -263,15 +263,15 @@ pub contract MetadataViews {
     }
 
     /// Wrapper view for multiple Royalty views.
-    /// Marketplaces can query this `Royalties` struct from NFTs 
+    /// Marketplaces can query this `Royalties` struct from NFTs
     /// and are expected to pay royalties based on these specifications.
     ///
-    pub struct Royalties {
+    access(all) struct Royalties {
 
         /// Array that tracks the individual royalties
         access(self) let cutInfos: [Royalty]
 
-        pub init(_ cutInfos: [Royalty]) {
+        access(all) view init(_ cutInfos: [Royalty]) {
             // Validate that sum of all cut multipliers should not be greater than 1.0
             var totalCut = 0.0
             for royalty in cutInfos {
@@ -286,7 +286,7 @@ pub contract MetadataViews {
         ///
         /// @return An array containing all the royalties structs
         ///
-        pub fun getRoyalties(): [Royalty] {
+        access(all) view fun getRoyalties(): [Royalty] {
             return self.cutInfos
         }
     }
@@ -296,7 +296,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional Royalties struct
     ///
-    pub fun getRoyalties(_ viewResolver: &{ViewResolver.Resolver}) : Royalties? {
+    access(all) fun getRoyalties(_ viewResolver: &{ViewResolver.Resolver}) : Royalties? {
         if let view = viewResolver.resolveView(Type<Royalties>()) {
             if let v = view as? Royalties {
                 return v
@@ -311,7 +311,7 @@ pub contract MetadataViews {
     ///
     /// @return The PublicPath for the generic FT receiver
     ///
-    pub fun getRoyaltyReceiverPublicPath(): PublicPath {
+    access(all) view fun getRoyaltyReceiverPublicPath(): PublicPath {
         return /public/GenericFTReceiver
     }
 
@@ -319,24 +319,24 @@ pub contract MetadataViews {
     /// This is used to get traits of individual key/value pairs along with some
     /// contextualized data about the trait
     ///
-    pub struct Trait {
+    access(all) struct Trait {
         // The name of the trait. Like Background, Eyes, Hair, etc.
-        pub let name: String
+        access(all) let name: String
 
         // The underlying value of the trait, the rest of the fields of a trait provide context to the value.
-        pub let value: AnyStruct
+        access(all) let value: AnyStruct
 
         // displayType is used to show some context about what this name and value represent
         // for instance, you could set value to a unix timestamp, and specify displayType as "Date" to tell
         // platforms to consume this trait as a date and not a number
-        pub let displayType: String?
+        access(all) let displayType: String?
 
         // Rarity can also be used directly on an attribute.
         //
         // This is optional because not all attributes need to contribute to the NFT's rarity.
-        pub let rarity: Rarity?
+        access(all) let rarity: Rarity?
 
-        init(name: String, value: AnyStruct, displayType: String?, rarity: Rarity?) {
+        view init(name: String, value: AnyStruct, displayType: String?, rarity: Rarity?) {
             self.name = name
             self.value = value
             self.displayType = displayType
@@ -347,18 +347,18 @@ pub contract MetadataViews {
     /// Wrapper view to return all the traits on an NFT.
     /// This is used to return traits as individual key/value pairs along with
     /// some contextualized data about each trait.
-    pub struct Traits {
-        pub let traits: [Trait]
+    access(all) struct Traits {
+        access(all) let traits: [Trait]
 
-        init(_ traits: [Trait]) {
+        view init(_ traits: [Trait]) {
             self.traits = traits
         }
-            
+
         /// Adds a single Trait to the Traits view
-        /// 
+        ///
         /// @param Trait: The trait struct to be added
         ///
-        pub fun addTrait(_ t: Trait) {
+        access(all) fun addTrait(_ t: Trait) {
             self.traits.append(t)
         }
     }
@@ -368,7 +368,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional Traits struct
     ///
-    pub fun getTraits(_ viewResolver: &{ViewResolver.Resolver}) : Traits? {
+    access(all) fun getTraits(_ viewResolver: &{ViewResolver.Resolver}) : Traits? {
         if let view = viewResolver.resolveView(Type<Traits>()) {
             if let v = view as? Traits {
                 return v
@@ -377,8 +377,8 @@ pub contract MetadataViews {
         return nil
     }
 
-    /// Helper function to easily convert a dictionary to traits. For NFT 
-    /// collections that do not need either of the optional values of a Trait, 
+    /// Helper function to easily convert a dictionary to traits. For NFT
+    /// collections that do not need either of the optional values of a Trait,
     /// this method should suffice to give them an array of valid traits.
     ///
     /// @param dict: The dictionary to be converted to Traits
@@ -386,7 +386,7 @@ pub contract MetadataViews {
     ///         keys that are not wanted to become `Traits`
     /// @return The generated Traits view
     ///
-    pub fun dictToTraits(dict: {String: AnyStruct}, excludedNames: [String]?): Traits {
+    access(all) fun dictToTraits(dict: {String: AnyStruct}, excludedNames: [String]?): Traits {
         // Collection owners might not want all the fields in their metadata included.
         // They might want to handle some specially, or they might just not want them included at all.
         if excludedNames != nil {
@@ -405,30 +405,30 @@ pub contract MetadataViews {
     }
 
     /// Optional view for collections that issue multiple objects
-    /// with the same or similar metadata, for example an X of 100 set. This 
+    /// with the same or similar metadata, for example an X of 100 set. This
     /// information is useful for wallets and marketplaces.
-    /// An NFT might be part of multiple editions, which is why the edition 
+    /// An NFT might be part of multiple editions, which is why the edition
     /// information is returned as an arbitrary sized array
     ///
-    pub struct Edition {
+    access(all) struct Edition {
 
         /// The name of the edition
         /// For example, this could be Set, Play, Series,
         /// or any other way a project could classify its editions
-        pub let name: String?
+        access(all) let name: String?
 
         /// The edition number of the object.
         /// For an "24 of 100 (#24/100)" item, the number is 24.
-        pub let number: UInt64
+        access(all) let number: UInt64
 
         /// The max edition number of this type of objects.
         /// This field should only be provided for limited-editioned objects.
         /// For an "24 of 100 (#24/100)" item, max is 100.
         /// For an item with unlimited edition, max should be set to nil.
-        /// 
-        pub let max: UInt64?
+        ///
+        access(all) let max: UInt64?
 
-        init(name: String?, number: UInt64, max: UInt64?) {
+        view init(name: String?, number: UInt64, max: UInt64?) {
             if max != nil {
                 assert(number <= max!, message: "The number cannot be greater than the max number!")
             }
@@ -439,14 +439,14 @@ pub contract MetadataViews {
     }
 
     /// Wrapper view for multiple Edition views
-    /// 
-    pub struct Editions {
+    ///
+    access(all) struct Editions {
 
         /// An arbitrary-sized list for any number of editions
         /// that the NFT might be a part of
-        pub let infoList: [Edition]
+        access(all) let infoList: [Edition]
 
-        init(_ infoList: [Edition]) {
+        view init(_ infoList: [Edition]) {
             self.infoList = infoList
         }
     }
@@ -456,7 +456,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return An optional Editions struct
     ///
-    pub fun getEditions(_ viewResolver: &{ViewResolver.Resolver}) : Editions? {
+    access(all) fun getEditions(_ viewResolver: &{ViewResolver.Resolver}) : Editions? {
         if let view = viewResolver.resolveView(Type<Editions>()) {
             if let v = view as? Editions {
                 return v
@@ -467,14 +467,14 @@ pub contract MetadataViews {
 
     /// View representing a project-defined serial number for a specific NFT
     /// Projects have different definitions for what a serial number should be
-    /// Some may use the NFTs regular ID and some may use a different 
-    /// classification system. The serial number is expected to be unique among 
+    /// Some may use the NFTs regular ID and some may use a different
+    /// classification system. The serial number is expected to be unique among
     /// other NFTs within that project
     ///
-    pub struct Serial {
-        pub let number: UInt64
+    access(all) struct Serial {
+        access(all) let number: UInt64
 
-        init(_ number: UInt64) {
+        view init(_ number: UInt64) {
             self.number = number
         }
     }
@@ -484,7 +484,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return An optional Serial struct
     ///
-    pub fun getSerial(_ viewResolver: &{ViewResolver.Resolver}) : Serial? {
+    access(all) fun getSerial(_ viewResolver: &{ViewResolver.Resolver}) : Serial? {
         if let view = viewResolver.resolveView(Type<Serial>()) {
             if let v = view as? Serial {
                 return v
@@ -494,22 +494,22 @@ pub contract MetadataViews {
     }
 
     /// View to expose rarity information for a single rarity
-    /// Note that a rarity needs to have either score or description but it can 
+    /// Note that a rarity needs to have either score or description but it can
     /// have both
     ///
-    pub struct Rarity {
+    access(all) struct Rarity {
         /// The score of the rarity as a number
-        pub let score: UFix64?
+        access(all) let score: UFix64?
 
         /// The maximum value of score
-        pub let max: UFix64?
+        access(all) let max: UFix64?
 
         /// The description of the rarity as a string.
         ///
         /// This could be Legendary, Epic, Rare, Uncommon, Common or any other string value
-        pub let description: String?
+        access(all) let description: String?
 
-        init(score: UFix64?, max: UFix64?, description: String?) {
+        view init(score: UFix64?, max: UFix64?, description: String?) {
             if score == nil && description == nil {
                 panic("A Rarity needs to set score, description or both")
             }
@@ -525,7 +525,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional Rarity struct
     ///
-    pub fun getRarity(_ viewResolver: &{ViewResolver.Resolver}) : Rarity? {
+    access(all) fun getRarity(_ viewResolver: &{ViewResolver.Resolver}) : Rarity? {
         if let view = viewResolver.resolveView(Type<Rarity>()) {
             if let v = view as? Rarity {
                 return v
@@ -534,21 +534,21 @@ pub contract MetadataViews {
         return nil
     }
 
-    /// NFTView wraps all Core views along `id` and `uuid` fields, and is used 
-    /// to give a complete picture of an NFT. Most NFTs should implement this 
+    /// NFTView wraps all Core views along `id` and `uuid` fields, and is used
+    /// to give a complete picture of an NFT. Most NFTs should implement this
     /// view.
     ///
-    pub struct NFTView {
-        pub let id: UInt64
-        pub let uuid: UInt64
-        pub let display: MetadataViews.Display?
-        pub let externalURL: MetadataViews.ExternalURL?
-        pub let collectionData: NFTCollectionData?
-        pub let collectionDisplay: NFTCollectionDisplay?
-        pub let royalties: Royalties?
-        pub let traits: Traits?
-
-        init(
+    access(all) struct NFTView {
+        access(all) let id: UInt64
+        access(all) let uuid: UInt64
+        access(all) let display: MetadataViews.Display?
+        access(all) let externalURL: MetadataViews.ExternalURL?
+        access(all) let collectionData: NFTCollectionData?
+        access(all) let collectionDisplay: NFTCollectionDisplay?
+        access(all) let royalties: Royalties?
+        access(all) let traits: Traits?
+
+        view init(
             id : UInt64,
             uuid : UInt64,
             display : MetadataViews.Display?,
@@ -569,13 +569,13 @@ pub contract MetadataViews {
         }
     }
 
-    /// Helper to get an NFT view 
+    /// Helper to get an NFT view
     ///
     /// @param id: The NFT id
     /// @param viewResolver: A reference to the resolver resource
     /// @return A NFTView struct
     ///
-    pub fun getNFTView(id: UInt64, viewResolver: &{ViewResolver.Resolver}) : NFTView {
+    access(all) fun getNFTView(id: UInt64, viewResolver: &{ViewResolver.Resolver}) : NFTView {
         let nftView = viewResolver.resolveView(Type<NFTView>())
         if nftView != nil {
             return nftView! as! NFTView
@@ -594,53 +594,51 @@ pub contract MetadataViews {
     }
 
     /// View to expose the information needed store and retrieve an NFT.
-    /// This can be used by applications to setup a NFT collection with proper 
+    /// This can be used by applications to setup a NFT collection with proper
     /// storage and public capabilities.
     ///
-    pub struct NFTCollectionData {
+    access(all) struct NFTCollectionData {
         /// Path in storage where this NFT is recommended to be stored.
-        pub let storagePath: StoragePath
+        access(all) let storagePath: StoragePath
 
         /// Public path which must be linked to expose public capabilities of this NFT
         /// including standard NFT interfaces and metadataviews interfaces
-        pub let publicPath: PublicPath
+        access(all) let publicPath: PublicPath
 
         /// Private path which should be linked to expose the provider
         /// capability to withdraw NFTs from the collection holding NFTs
-        pub let providerPath: PrivatePath
+        access(all) let providerPath: PrivatePath
 
         /// Public collection type that is expected to provide sufficient read-only access to standard
-        /// functions (deposit + getIDs + borrowNFT)
-        /// This field is for backwards compatibility with collections that have not used the standard
-        /// NonFungibleToken.CollectionPublic interface when setting up collections. For new
+        /// functions (deposit + getIDs + borrowNFT). For new
         /// collections, this may be set to be equal to the type specified in `publicLinkedType`.
-        pub let publicCollection: Type
+        access(all) let publicCollection: Type
 
         /// Type that should be linked at the aforementioned public path. This is normally a
-        /// restricted type with many interfaces. Notably the `NFT.CollectionPublic`,
+        /// restricted type with many interfaces. Notably the
         /// `NFT.Receiver`, and `ViewResolver.ResolverCollection` interfaces are required.
-        pub let publicLinkedType: Type
+        access(all) let publicLinkedType: Type
 
         /// Type that should be linked at the aforementioned private path. This is normally
         /// a restricted type with at a minimum the `NFT.Provider` interface
-        pub let providerLinkedType: Type
+        access(all) let providerLinkedType: Type
 
         /// Function that allows creation of an empty NFT collection that is intended to store
         /// this NFT.
-        pub let createEmptyCollection: ((): @AnyResource{NonFungibleToken.Collection})
+        access(all) let createEmptyCollection: fun(): @{NonFungibleToken.Collection}
 
-        init(
+        view init(
             storagePath: StoragePath,
             publicPath: PublicPath,
             providerPath: PrivatePath,
             publicCollection: Type,
             publicLinkedType: Type,
             providerLinkedType: Type,
-            createEmptyCollectionFunction: ((): @AnyResource{NonFungibleToken.Collection})
+            createEmptyCollectionFunction: fun(): @{NonFungibleToken.Collection}
         ) {
             pre {
-                publicLinkedType.isSubtype(of: Type<&{NonFungibleToken.CollectionPublic, NonFungibleToken.Receiver, ViewResolver.ResolverCollection}>()): "Public type must include NonFungibleToken.CollectionPublic, NonFungibleToken.Receiver, and ViewResolver.ResolverCollection interfaces."
-                providerLinkedType.isSubtype(of: Type<&{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic, ViewResolver.ResolverCollection}>()): "Provider type must include NonFungibleToken.Provider, NonFungibleToken.CollectionPublic, and ViewResolver.ResolverCollection interface."
+                publicLinkedType.isSubtype(of: Type<&{NonFungibleToken.Receiver, ViewResolver.ResolverCollection}>()): "Public type must include NonFungibleToken.Receiver and ViewResolver.ResolverCollection interfaces."
+                providerLinkedType.isSubtype(of: Type<&{NonFungibleToken.Provider, ViewResolver.ResolverCollection}>()): "Provider type must include NonFungibleToken.Provider and ViewResolver.ResolverCollection interface."
             }
             self.storagePath=storagePath
             self.publicPath=publicPath
@@ -657,7 +655,7 @@ pub contract MetadataViews {
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional NFTCollectionData struct
     ///
-    pub fun getNFTCollectionData(_ viewResolver: &{ViewResolver.Resolver}) : NFTCollectionData? {
+    access(all) fun getNFTCollectionData(_ viewResolver: &{ViewResolver.Resolver}) : NFTCollectionData? {
         if let view = viewResolver.resolveView(Type<NFTCollectionData>()) {
             if let v = view as? NFTCollectionData {
                 return v
@@ -667,30 +665,30 @@ pub contract MetadataViews {
     }
 
     /// View to expose the information needed to showcase this NFT's
-    /// collection. This can be used by applications to give an overview and 
+    /// collection. This can be used by applications to give an overview and
     /// graphics of the NFT collection this NFT belongs to.
     ///
-    pub struct NFTCollectionDisplay {
+    access(all) struct NFTCollectionDisplay {
         // Name that should be used when displaying this NFT collection.
-        pub let name: String
+        access(all) let name: String
 
         // Description that should be used to give an overview of this collection.
-        pub let description: String
+        access(all) let description: String
 
         // External link to a URL to view more information about this collection.
-        pub let externalURL: MetadataViews.ExternalURL
+        access(all) let externalURL: MetadataViews.ExternalURL
 
         // Square-sized image to represent this collection.
-        pub let squareImage: MetadataViews.Media
+        access(all) let squareImage: MetadataViews.Media
 
         // Banner-sized image for this collection, recommended to have a size near 1200x630.
-        pub let bannerImage: MetadataViews.Media
+        access(all) let bannerImage: MetadataViews.Media
 
         // Social links to reach this collection's social homepages.
         // Possible keys may be "instagram", "twitter", "discord", etc.
-        pub let socials: {String: MetadataViews.ExternalURL}
+        access(all) let socials: {String: MetadataViews.ExternalURL}
 
-        init(
+        view init(
             name: String,
             description: String,
             externalURL: MetadataViews.ExternalURL,
@@ -707,13 +705,13 @@ pub contract MetadataViews {
         }
     }
 
-    /// Helper to get NFTCollectionDisplay in a way that will return a typed 
+    /// Helper to get NFTCollectionDisplay in a way that will return a typed
     /// Optional
     ///
     /// @param viewResolver: A reference to the resolver resource
     /// @return A optional NFTCollection struct
     ///
-    pub fun getNFTCollectionDisplay(_ viewResolver: &{ViewResolver.Resolver}) : NFTCollectionDisplay? {
+    access(all) fun getNFTCollectionDisplay(_ viewResolver: &{ViewResolver.Resolver}) : NFTCollectionDisplay? {
         if let view = viewResolver.resolveView(Type<NFTCollectionDisplay>()) {
             if let v = view as? NFTCollectionDisplay {
                 return v
@@ -722,4 +720,3 @@ pub contract MetadataViews {
         return nil
     }
 }
- 
\ No newline at end of file
diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index 04f90d84..61e70f0f 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -4,11 +4,11 @@
 
 ## `NonFungibleToken` contract interface
 
-The interface that all Non-Fungible Token contracts could conform to.
+The interface that all Non-Fungible Token contracts should conform to.
 If a user wants to deploy a new NFT contract, their contract would need
 to implement the NonFungibleToken interface.
 
-Their contract would have to follow all the rules and naming
+Their contract must follow all the rules and naming
 that the interface specifies.
 
 ## `NFT` resource
@@ -41,104 +41,274 @@ Collection to complete the transfer.
 
 */
 
-// The main NFT contract interface. Other NFT contracts will
-// import and implement this interface
-//
-pub contract interface NonFungibleToken {
-
-    // The total number of tokens of this type in existence
-    pub var totalSupply: UInt64
-
-    // Event that emitted when the NFT contract is initialized
-    //
-    pub event ContractInitialized()
-
-    // Event that is emitted when a token is withdrawn,
-    // indicating the owner of the collection that it was withdrawn from.
-    //
-    // If the collection is not in an account's storage, `from` will be `nil`.
-    //
-    pub event Withdraw(id: UInt64, from: Address?)
-
-    // Event that emitted when a token is deposited to a collection.
-    //
-    // It indicates the owner of the collection that it was deposited to.
-    //
-    pub event Deposit(id: UInt64, to: Address?)
-
-    // Interface that the NFTs have to conform to
-    //
-    pub resource interface INFT {
-        // The unique ID that each NFT has
-        pub let id: UInt64
+import ViewResolver from "./ViewResolver.cdc"
+
+/// The main NFT contract interface. Other NFT contracts will
+/// import and implement this interface
+///
+access(all) contract NonFungibleToken {
+
+    // An entitlement for allowing the withdrawal of tokens from a Vault
+    access(all) entitlement Withdrawable
+
+    /// Event that is emitted when a token is withdrawn,
+    /// indicating the owner of the collection that it was withdrawn from.
+    ///
+    /// If the collection is not in an account's storage, `from` will be `nil`.
+    ///
+    access(all) event Withdraw(id: UInt64, uuid: UInt64, from: Address?, type: String)
+
+    access(self) fun emitNFTWithdraw(id: UInt64, uuid: UInt64, from: Address?, type: String): Bool
+    {
+        emit Withdraw(id: id, uuid: uuid, from: from, type: type)
+        return true
     }
 
-    // Requirement that all conforming NFT smart contracts have
-    // to define a resource called NFT that conforms to INFT
-    pub resource NFT: INFT {
-        pub let id: UInt64
+    /// Event that emitted when a token is deposited to a collection.
+    ///
+    /// It indicates the owner of the collection that it was deposited to.
+    ///
+    access(all) event Deposit(id: UInt64, uuid: UInt64, to: Address?, type: String)
+
+    access(self) fun emitNFTDeposit(id: UInt64, uuid: UInt64, to: Address?, type: String): Bool
+    {
+        emit Deposit(id: id, uuid: uuid, to: to, type: type)
+        return true
     }
 
-    // Interface to mediate withdraws from the Collection
-    //
-    pub resource interface Provider {
-        // withdraw removes an NFT from the collection and moves it to the caller
-        pub fun withdraw(withdrawID: UInt64): @NFT {
-            post {
-                result.id == withdrawID: "The ID of the withdrawn token must be the same as the requested ID"
+    /// Transfer
+    ///
+    /// The event that should be emitted when tokens are transferred from one account to another
+    ///
+    access(all) event Transfer(id: UInt64, uuid: UInt64, from: Address?, to: Address?, type: String)
+
+    access(self) fun emitNFTTransfer(id: UInt64, uuid: UInt64?, from: Address?, to: Address?, type: String?): Bool
+    {
+        // The transfer method can return false even if it didn't do a transfer
+        // in which case we don't want the event to be emitted
+        if uuid != nil && type != nil {
+            emit Transfer(id: id, uuid: uuid!, from: from, to: to, type: type!)
+            return true
+        } else {
+            return true
+        }
+    }
+
+    /// Destroy
+    ///
+    /// The event that should be emitted when an NFT is destroyed
+    access(all) event Destroy(id: UInt64, uuid: UInt64, type: String)
+
+    access(self) fun emitNFTDestroy(id: UInt64, uuid: UInt64, type: String): Bool
+    {
+        emit Destroy(id: id, uuid: uuid, type: type)
+        return true
+    }
+
+    /// Interface that the NFTs must conform to
+    ///
+    access(all) resource interface NFT: ViewResolver.Resolver {
+        /// The unique ID that each NFT has
+        access(all) view fun getID(): UInt64 {
+            return self.uuid
+        }
+
+        // access(all) view fun getViews(): [Type] {
+        //     return []
+        // }
+        // access(all) fun resolveView(_ view: Type): AnyStruct? {
+        //     return nil
+        // }
+
+        destroy() {
+            pre {
+                //NonFungibleToken.emitNFTDestroy(id: self.getID(), uuid: self.uuid, type: self.getType().identifier)
             }
         }
     }
 
-    // Interface to mediate deposits to the Collection
-    //
-    pub resource interface Receiver {
+    /// Interface to mediate withdraws from the Collection
+    ///
+    access(all) resource interface Provider {
+        /// Function for projects to indicate if they are using UUID or not
+        access(all) view fun usesUUID(): Bool {
+            return false
+        }
+
+        // We emit withdraw events from the provider interface because conficting withdraw
+        // events aren't as confusing to event listeners as conflicting deposit events
+
+        /// withdraw removes an NFT from the collection and moves it to the caller
+        /// It does not specify whether the ID is UUID or not
+        access(Withdrawable) fun withdraw(withdrawID: UInt64): @{NFT} {
+            post {
+                result.getID() == withdrawID: "The ID of the withdrawn token must be the same as the requested ID"
+                //NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
+            }
+        }
+
+        /// Alternate withdraw methods
+        /// The next three withdraw methods allow projects to have more flexibility
+        /// to indicate how their NFTs are meant to be used
+        /// With the v2 upgrade, some projects will be using UUID and others
+        /// will be using custom IDs, so projects can pick and choose which
+        /// of these withdraw methods applies to them
 
-        // deposit takes an NFT as an argument and adds it to the Collection
-        //
-        pub fun deposit(token: @NFT)
+        /// TODO: These will eventually have optional return types, but don't right now
+        /// because of a bug in Cadence
+
+        /// withdrawWithUUID removes an NFT from the collection, using its UUID, and moves it to the caller
+        access(Withdrawable) fun withdrawWithUUID(_ uuid: UInt64): @{NFT} {
+            post {
+                result == nil || result!.uuid == uuid: "The ID of the withdrawn token must be the same as the requested ID"
+                //NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
+            }
+        }
+
+        /// withdrawWithType removes an NFT from the collection, using its Type and ID and moves it to the caller
+        /// This would be used by a collection that can store multiple NFT types
+        access(Withdrawable) fun withdrawWithType(type: Type, withdrawID: UInt64): @{NFT} {
+            post {
+                result == nil || result.getID() == withdrawID: "The ID of the withdrawn token must be the same as the requested ID"
+                //NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
+            }
+        }
+
+        /// withdrawWithTypeAndUUID removes an NFT from the collection using its type and uuid and moves it to the caller
+        /// This would be used by a collection that can store multiple NFT types
+        access(Withdrawable) fun withdrawWithTypeAndUUID(type: Type, uuid: UInt64): @{NFT} {
+            post {
+                result == nil || result!.uuid == uuid: "The ID of the withdrawn token must be the same as the requested ID"
+                //NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
+            }
+        }
     }
 
-    // Interface that an account would commonly 
-    // publish for their collection
-    pub resource interface CollectionPublic {
-        pub fun deposit(token: @NFT)
-        pub fun getIDs(): [UInt64]
-        pub fun borrowNFT(id: UInt64): &NFT
+    /// Interface to mediate transfers between Collections
+    ///
+    access(all) resource interface Transferor {
+        /// transfer removes an NFT from the callers collection
+        /// and moves it to the collection specified by `receiver`
+        access(Withdrawable) fun transfer(id: UInt64, receiver: Capability<&{Receiver}>): Bool
     }
 
-    // Requirement for the concrete resource type
-    // to be declared in the implementing contract
-    //
-    pub resource Collection: Provider, Receiver, CollectionPublic {
+    /// Interface to mediate deposits to the Collection
+    ///
+    access(all) resource interface Receiver {
+
+        /// deposit takes an NFT as an argument and adds it to the Collection
+        ///
+        access(all) fun deposit(token: @{NFT})
 
-        // Dictionary to hold the NFTs in the Collection
-        pub var ownedNFTs: @{UInt64: NFT}
+        // /// getSupportedNFTTypes returns a list of NFT types that this receiver accepts
+        // access(all) view fun getSupportedNFTTypes(): {Type: Bool} {
+        //     return {}
+        // }
 
-        // withdraw removes an NFT from the collection and moves it to the caller
-        pub fun withdraw(withdrawID: UInt64): @NFT
+        // /// Returns whether or not the given type is accepted by the collection
+        // /// A collection that can accept any type should just return true by default
+        // access(all) view fun isSupportedNFTType(type: Type): Bool {
+        //     return false
+        // }
+    }
 
-        // deposit takes a NFT and adds it to the collections dictionary
-        // and adds the ID to the id array
-        pub fun deposit(token: @NFT)
+    /// Requirement for the concrete resource type
+    /// to be declared in the implementing contract
+    ///
+    access(all) resource interface Collection: Provider, Receiver, Transferor, ViewResolver.ResolverCollection {
 
-        // getIDs returns an array of the IDs that are in the collection
-        pub fun getIDs(): [UInt64]
+        /// Return the default storage path for the collection
+        access(all) view fun getDefaultStoragePath(): StoragePath? {
+            return nil
+        }
+
+        /// Return the default public path for the collection
+        access(all) view fun getDefaultPublicPath(): PublicPath? {
+            return nil
+        }
+
+        /// Normally we would require that the collection specify
+        /// a specific dictionary to store the NFTs, but this isn't necessary any more
+        /// as long as all the other functions are there
+
+        /// Returns the NFT types that this collection can store
+        /// If the collection can accept any NFT type, it should return
+        /// a one element dictionary with the key type as `@{NonFungibleToken.NFT}`
+        access(all) view fun getSupportedNFTTypes(): {Type: Bool} {
+            pre { true: "dummy" }
+        }
+
+        /// Returns whether or not the given type is accepted by the collection
+        access(all) view fun isSupportedNFTType(type: Type): Bool {
+            pre { true: "dummy" }
+        }
 
-        // Returns a borrowed reference to an NFT in the collection
-        // so that the caller can read data and call methods from it
-        pub fun borrowNFT(id: UInt64): &NFT {
+        /// createEmptyCollection creates an empty Collection
+        /// and returns it to the caller so that they can own NFTs
+        access(all) fun createEmptyCollection(): @{Collection} {
+            post {
+                result.getIDs().length == 0: "The created collection must be empty!"
+            }
+        }
+
+        // access(all) view fun usesUUID(): Bool {
+        //     return false
+        // }
+
+        /// withdraw removes an NFT from the collection and moves it to the caller
+        access(Withdrawable) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT}
+
+        /// deposit takes a NFT and adds it to the collections dictionary
+        /// and adds the ID to the id array
+        access(all) fun deposit(token: @{NonFungibleToken.NFT})
+        // {
+        //     pre {
+        //         // We emit the deposit event in the `Collection` interface
+        //         // because the `Collection` interface is almost always the final destination
+        //         // of tokens and deposit emissions from custom receivers could be confusing
+        //         // and hard to reconcile to event listeners
+        //         //NonFungibleToken.emitNFTDeposit(id: token.getID(), uuid: token.uuid, to: self.owner?.address, type: token.getType().identifier)
+        //     }
+        // }
+
+        /// Function for a direct transfer instead of having to do a deposit and withdrawal
+        /// This can and should return false if the transfer doesn't succeed and true if it does succeed
+        ///
+        access(Withdrawable) fun transfer(id: UInt64, receiver: Capability<&{NonFungibleToken.Receiver}>): Bool {
             pre {
-                self.ownedNFTs[id] != nil: "NFT does not exist in the collection!"
+                receiver.check(): "Could not borrow a reference to the NFT receiver"
+                //NonFungibleToken.emitNFTTransfer(id: id, uuid: self.borrowNFTSafe(id: id)?.uuid, from: self.owner?.address, to: receiver.borrow()?.owner?.address, type: self.borrowNFT(id).getType().identifier)
             }
         }
-    }
 
-    // createEmptyCollection creates an empty Collection
-    // and returns it to the caller so that they can own NFTs
-    pub fun createEmptyCollection(): @Collection {
-        post {
-            result.getIDs().length == 0: "The created collection must be empty!"
+        /// getIDs returns an array of the IDs that are in the collection
+        access(all) view fun getIDs(): [UInt64]
+
+        /// Gets the amount of NFTs stored in the collection
+        access(all) view fun getLength(): Int
+
+        /// getIDsWithTypes returns a list of IDs that are in the collection, keyed by type
+        /// Should only be used by collections that can store multiple NFT types
+        access(all) view fun getIDsWithTypes(): {Type: [UInt64]}
+
+        /// Returns a borrowed reference to an NFT in the collection
+        /// so that the caller can read data and call methods from it
+        access(all) view fun borrowNFT(_ id: UInt64): &{NonFungibleToken.NFT} {
+            pre { true: "dummy" }
+        }
+
+        /// From the ViewResolver Contract
+        /// borrows a reference to get metadata views for the NFTs that the contract contains
+        access(all) view fun borrowViewResolver(id: UInt64): &{ViewResolver.Resolver}? {
+            pre { true: "dummy" }
+        }
+
+        access(all) view fun borrowNFTSafe(id: UInt64): &{NonFungibleToken.NFT}? {
+            post {
+                (result == nil) || (result?.getID() == id):
+                    "Cannot borrow NFT reference: The ID of the returned reference does not match the ID that was specified"
+            }
+            return nil
         }
     }
 }
diff --git a/contracts/utility/PrivateReceiverForwarder.cdc b/contracts/utility/PrivateReceiverForwarder.cdc
index 63898a7e..ee147dc9 100644
--- a/contracts/utility/PrivateReceiverForwarder.cdc
+++ b/contracts/utility/PrivateReceiverForwarder.cdc
@@ -9,17 +9,17 @@ whose deposit function is only callable by an admin through a public capability.
 
 import FungibleToken from "FungibleToken"
 
-pub contract PrivateReceiverForwarder {
+access(all) contract PrivateReceiverForwarder {
 
     // Event that is emitted when tokens are deposited to the target receiver
-    pub event PrivateDeposit(amount: UFix64, to: Address?)
+    access(all) event PrivateDeposit(amount: UFix64, to: Address?)
 
-    pub let SenderStoragePath: StoragePath
+    access(all) let SenderStoragePath: StoragePath
 
-    pub let PrivateReceiverStoragePath: StoragePath
-    pub let PrivateReceiverPublicPath: PublicPath
+    access(all) let PrivateReceiverStoragePath: StoragePath
+    access(all) let PrivateReceiverPublicPath: PublicPath
 
-    pub resource Forwarder {
+    access(all) resource Forwarder {
 
         // This is where the deposited tokens will be sent.
         // The type indicates that it is a reference to a receiver
@@ -31,10 +31,10 @@ pub contract PrivateReceiverForwarder {
         // Function that takes a Vault object as an argument and forwards
         // it to the recipient's Vault using the stored reference
         //
-        access(contract) fun deposit(from: @FungibleToken.Vault) {
+        access(contract) fun deposit(from: @{FungibleToken.Vault}) {
             let receiverRef = self.recipient.borrow()!
 
-            let balance = from.balance
+            let balance = from.getBalance()
 
             receiverRef.deposit(from: <-from)
 
@@ -51,18 +51,19 @@ pub contract PrivateReceiverForwarder {
 
     // createNewForwarder creates a new Forwarder reference with the provided recipient
     //
-    pub fun createNewForwarder(recipient: Capability<&{FungibleToken.Receiver}>): @Forwarder {
+    access(all) fun createNewForwarder(recipient: Capability<&{FungibleToken.Receiver}>): @Forwarder {
         return <-create Forwarder(recipient: recipient)
     }
 
 
-    pub resource Sender {
-        pub fun sendPrivateTokens(_ address: Address, tokens: @FungibleToken.Vault) {
+    access(all) resource Sender {
+        access(all) fun sendPrivateTokens(_ address: Address, tokens: @{FungibleToken.Vault}) {
 
             let account = getAccount(address)
 
-            let privateReceiver = account.getCapability<&PrivateReceiverForwarder.Forwarder>(PrivateReceiverForwarder.PrivateReceiverPublicPath)
-                .borrow() ?? panic("Could not borrow reference to private forwarder")
+            let privateReceiver = account.capabilities.borrow<&PrivateReceiverForwarder.Forwarder>(
+                    PrivateReceiverForwarder.PrivateReceiverPublicPath
+                ) ?? panic("Could not borrow reference to private forwarder")
 
             privateReceiver.deposit(from: <-tokens)
             
@@ -76,7 +77,7 @@ pub contract PrivateReceiverForwarder {
         self.PrivateReceiverStoragePath = storagePath
         self.PrivateReceiverPublicPath = publicPath
 
-        self.account.save(<-create Sender(), to: self.SenderStoragePath)
+        self.account.storage.save(<-create Sender(), to: self.SenderStoragePath)
 
     }
 }
\ No newline at end of file
diff --git a/contracts/utility/ViewResolver.cdc b/contracts/utility/ViewResolver.cdc
index 05bd5dda..d84467a0 100644
--- a/contracts/utility/ViewResolver.cdc
+++ b/contracts/utility/ViewResolver.cdc
@@ -1,15 +1,15 @@
-// Taken from the NFT Metadata standard, this contract exposes an interface to let 
+// Taken from the NFT Metadata standard, this contract exposes an interface to let
 // anyone borrow a contract and resolve views on it.
 //
 // This will allow you to obtain information about a contract without necessarily knowing anything about it.
 // All you need is its address and name and you're good to go!
-pub contract interface ViewResolver {
+access(all) contract interface ViewResolver {
     /// Function that returns all the Metadata Views implemented by the resolving contract
     ///
     /// @return An array of Types defining the implemented views. This value will be used by
     ///         developers to know which parameter to pass to the resolveView() method.
     ///
-    pub fun getViews(): [Type] {
+    access(all) view fun getViews(): [Type] {
         return []
     }
 
@@ -18,24 +18,31 @@ pub contract interface ViewResolver {
     /// @param view: The Type of the desired view.
     /// @return A structure representing the requested view.
     ///
-    pub fun resolveView(_ view: Type): AnyStruct? {
+    access(all) fun resolveView(_ view: Type): AnyStruct? {
         return nil
     }
 
-    /// Provides access to a set of metadata views. A struct or 
-    /// resource (e.g. an NFT) can implement this interface to provide access to 
+    /// Provides access to a set of metadata views. A struct or
+    /// resource (e.g. an NFT) can implement this interface to provide access to
     /// the views that it supports.
     ///
-    pub resource interface Resolver {
-        pub fun getViews(): [Type]
-        pub fun resolveView(_ view: Type): AnyStruct?
+    access(all) resource interface Resolver {
+        access(all) view fun getViews(): [Type] {
+            return []
+        }
+        access(all) fun resolveView(_ view: Type): AnyStruct? {
+            return nil
+        }
     }
 
     /// A group of view resolvers indexed by ID.
     ///
-    pub resource interface ResolverCollection {
-        pub fun borrowViewResolver(id: UInt64): &{Resolver}?
-        pub fun getIDs(): [UInt64]
+    access(all) resource interface ResolverCollection {
+        access(all) view fun borrowViewResolver(id: UInt64): &{Resolver}? {
+            pre { true: "dummy" }
+        }
+        access(all) view fun getIDs(): [UInt64] {
+            pre { true: "dummy" }
+        }
     }
 }
- 
\ No newline at end of file
diff --git a/flow.json b/flow.json
index edabc9de..4c4472a3 100644
--- a/flow.json
+++ b/flow.json
@@ -1,108 +1,107 @@
 {
-    "contracts": {
-        "FungibleToken": {
-            "source": "./contracts/FungibleToken.cdc",
-            "aliases": {
-                "emulator": "0xee82856bf20e2aa6",
-                "testnet": "0x9a0766d93b6608b7",
-                "mainnet": "0xf233dcee88fe0abe"
-            }
-        },
-        "FungibleTokenSwitchboard": {
-            "source": "./contracts/FungibleTokenSwitchboard.cdc",
-            "aliases": {
-                "emulator": "0xf8d6e0586b0a20c7",
-                "mainnet": "0xf233dcee88fe0abe",
-                "testnet": "0x9a0766d93b6608b7"
-            }
-        },
-        "FungibleTokenMetadataViews": {
-            "source": "./contracts/utility/FungibleTokenMetadataViews.cdc",
-            "aliases": {
-                "emulator": "0xf8d6e0586b0a20c7",
-                "mainnet": "0xf233dcee88fe0abe",
-                "testnet": "0x9a0766d93b6608b7"
-            }
-        },    
-        "ExampleToken": {
-            "source": "./contracts/ExampleToken.cdc",
-            "alias": {
-                "emulator": "0xf8d6e0586b0a20c7"
-            }
-        },
-        "PrivateReceiverForwarder": {
-            "source": "./contracts/utility/PrivateReceiverForwarder.cdc",
-            "alias": {
-                "emulator": "0xf8d6e0586b0a20c7"
-            }
-        },
-        "TokenForwarding": {
-            "source": "./contracts/utility/TokenForwarding.cdc",
-            "alias": {
-                "emulator": "0xf8d6e0586b0a20c7"
-            }
-        },
-        "NonFungibleToken": {
-            "source": "./contracts/utility/NonFungibleToken.cdc",
-            "aliases": {
-                "emulator": "0xf8d6e0586b0a20c7",
-                "mainnet": "0x1d7e57aa55817448",
-                "testnet": "0x631e88ae7f1d7c20"
-            }
-        },
-        "MetadataViews": {
-            "source": "./contracts/utility/MetadataViews.cdc",
-            "aliases": {
-                "emulator": "0xf8d6e0586b0a20c7",
-                "mainnet": "0x1d7e57aa55817448",
-                "testnet": "0x631e88ae7f1d7c20"
-            }
-        },
-        "FlowToken": {
-            "source": "./contracts/utility/FlowToken.cdc",
-            "aliases": {
-                "emulator": "0x0ae53cb6e3f42a79",
-                "testnet": "0x7e60df042a9c0868",
-                "mainnet": "0x1654653399040a61"
-            }
-        },
-        "FiatToken": {
-            "source": "./contracts/utility/USDC/FiatToken.cdc",
-            "aliases": {
-                "testnet": "0xa983fecbed621163",
-                "mainnet": "0x1654653399040a61"
-            }
-        },
-        "LostAndFound": {
-            "source": "./contracts/utility/L&F/LostAndFound.cdc",
-            "aliases": {
-                "testnet": "0xbe4635353f55bbd4",
-                "mainnet": "0x473d6a2c37eab5be"
-            }
-        }
-    },
-    "networks": {
-        "emulator": "127.0.0.1:3569",
-        "testnet": "access.devnet.nodes.onflow.org:9000",
-        "mainnet": "access.mainnet.nodes.onflow.org:9000"
-    },
-    "accounts": {
-        "emulator-account": {
-            "address": "0xf8d6e0586b0a20c7",
-            "key": "1a05ba433be5af2988e814d1e4fa08f1574140e6cb5649a861cc6377718c51be"
-        }
-    },
-    "deployments": {
-        "emulator": {
-            "emulator-account": [
-                "FungibleToken",
-                "NonFungibleToken",
-                "MetadataViews",
-                "FungibleTokenMetadataViews",
-                "FungibleTokenSwitchboard",
-                "TokenForwarding"
-            ]
-        }
-    }
+	"contracts": {
+		"ExampleToken": "./contracts/ExampleToken.cdc",
+		"FiatToken": {
+			"source": "./contracts/utility/USDC/FiatToken.cdc",
+			"aliases": {
+				"mainnet": "1654653399040a61",
+				"testnet": "a983fecbed621163"
+			}
+		},
+		"FlowToken": {
+			"source": "./contracts/utility/FlowToken.cdc",
+			"aliases": {
+				"emulator": "0ae53cb6e3f42a79",
+				"mainnet": "1654653399040a61",
+				"testnet": "7e60df042a9c0868"
+			}
+		},
+		"FungibleToken": {
+			"source": "./contracts/FungibleToken.cdc",
+			"aliases": {
+				"emulator": "ee82856bf20e2aa6",
+				"mainnet": "f233dcee88fe0abe",
+				"testnet": "9a0766d93b6608b7"
+			}
+		},
+		"FungibleToken-v2": {
+			"source": "./contracts/FungibleToken-v2.cdc",
+			"aliases": {
+				"emulator": "ee82856bf20e2aa6"
+			}
+		},
+		"FungibleTokenMetadataViews": {
+			"source": "./contracts/FungibleTokenMetadataViews.cdc",
+			"aliases": {
+				"emulator": "f8d6e0586b0a20c7",
+				"mainnet": "f233dcee88fe0abe",
+				"testnet": "9a0766d93b6608b7"
+			}
+		},
+		"FungibleTokenSwitchboard": {
+			"source": "./contracts/FungibleTokenSwitchboard.cdc",
+			"aliases": {
+				"emulator": "f8d6e0586b0a20c7",
+				"mainnet": "f233dcee88fe0abe",
+				"testnet": "9a0766d93b6608b7"
+			}
+		},
+		"LostAndFound": {
+			"source": "./contracts/utility/L\u0026F/LostAndFound.cdc",
+			"aliases": {
+				"mainnet": "473d6a2c37eab5be",
+				"testnet": "be4635353f55bbd4"
+			}
+		},
+		"MetadataViews": {
+			"source": "./contracts/utility/MetadataViews.cdc",
+			"aliases": {
+				"emulator": "f8d6e0586b0a20c7",
+				"mainnet": "1d7e57aa55817448",
+				"testnet": "631e88ae7f1d7c20"
+			}
+		},
+		"NonFungibleToken": {
+			"source": "./contracts/utility/NonFungibleToken.cdc",
+			"aliases": {
+				"emulator": "f8d6e0586b0a20c7",
+				"mainnet": "1d7e57aa55817448",
+				"testnet": "631e88ae7f1d7c20"
+			}
+		},
+		"PrivateReceiverForwarder": "./contracts/utility/PrivateReceiverForwarder.cdc",
+		"TokenForwarding": "./contracts/utility/TokenForwarding.cdc",
+		"ViewResolver": {
+			"source": "./contracts/utility/ViewResolver.cdc",
+			"aliases": {
+				"emulator": "f8d6e0586b0a20c7",
+				"mainnet": "1d7e57aa55817448",
+				"testnet": "631e88ae7f1d7c20"
+			}
+		}
+	},
+	"networks": {
+		"emulator": "127.0.0.1:3569",
+		"mainnet": "access.mainnet.nodes.onflow.org:9000",
+		"testnet": "access.devnet.nodes.onflow.org:9000"
+	},
+	"accounts": {
+		"emulator-account": {
+			"address": "f8d6e0586b0a20c7",
+			"key": "1a05ba433be5af2988e814d1e4fa08f1574140e6cb5649a861cc6377718c51be"
+		}
+	},
+	"deployments": {
+		"emulator": {
+			"emulator-account": [
+				"FungibleToken-v2",
+				"NonFungibleToken",
+				"MetadataViews",
+				"FungibleTokenMetadataViews",
+				"FungibleTokenSwitchboard",
+				"TokenForwarding",
+				"PrivateReceiverForwarder"
+			]
+		}
+	}
 }
- 
\ No newline at end of file

From 14585f5c62ea1432bfe3c217a2888bda659ed027 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Tue, 17 Oct 2023 17:01:19 -0500
Subject: [PATCH 028/115] update ExampleToken-v2 Vault to return TotalSupply
 view

---
 contracts/ExampleToken-v2.cdc | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index e8da95b3..e51628ae 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -70,10 +70,12 @@ access(all) contract ExampleToken: ViewResolver {
         }
 
         access(all) view fun getViews(): [Type] {
-            return [Type<FungibleTokenMetadataViews.FTView>(),
-                    Type<FungibleTokenMetadataViews.FTDisplay>(),
-                    Type<FungibleTokenMetadataViews.FTVaultData>(),
-                    Type<FungibleTokenMetadataViews.TotalSupply>()]
+            return [
+                Type<FungibleTokenMetadataViews.FTView>(),
+                Type<FungibleTokenMetadataViews.FTDisplay>(),
+                Type<FungibleTokenMetadataViews.FTVaultData>(),
+                Type<FungibleTokenMetadataViews.TotalSupply>()
+            ]
         }
 
         access(all) fun resolveView(_ view: Type): AnyStruct? {
@@ -116,6 +118,10 @@ access(all) contract ExampleToken: ViewResolver {
                             return <-vaultRef.createEmptyVault()
                         })
                     )
+                case Type<FungibleTokenMetadataViews.TotalSupply>():
+                    return FungibleTokenMetadataViews.TotalSupply(
+                        totalSupply: ExampleToken.totalSupply
+                    )
             }
             return nil
         }

From 347505fd8dbbdf11b33a9ef0969eccc974c380c1 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Tue, 17 Oct 2023 18:36:00 -0500
Subject: [PATCH 029/115] update ExampleToken-v2 init to publish
 {FungibleToken.Vault} capability

---
 contracts/ExampleToken-v2.cdc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index e51628ae..b2a0309b 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -221,6 +221,9 @@ access(all) contract ExampleToken: ViewResolver {
         /// and returns them to the calling context.
         ///
         access(all) fun mintTokens(amount: UFix64): @ExampleToken.Vault {
+            pre {
+                amount > 0.0: "Amount minted must be greater than zero"
+            }
             ExampleToken.totalSupply = ExampleToken.totalSupply + amount
             emit TokensMinted(amount: amount, type: self.getType().identifier)
             return <-create Vault(balance: amount)
@@ -254,7 +257,7 @@ access(all) contract ExampleToken: ViewResolver {
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
         // and the `getBalance()` method through the `Balance` interface
         //
-        let exampleTokenCap = self.account.capabilities.storage.issue<&ExampleToken>(self.VaultStoragePath)
+        let exampleTokenCap = self.account.capabilities.storage.issue<&{FungibleToken.Vault}>(self.VaultStoragePath)
         self.account.capabilities.publish(exampleTokenCap, at: self.VaultPublicPath)
 
         let admin <- create Minter()

From ba3f9d53fee16a3be0d9d1ed8925d70d4bad8fd0 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Tue, 17 Oct 2023 18:36:41 -0500
Subject: [PATCH 030/115] update private forwarder transactions for Cadence 1.0

---
 .../create_account_private_forwarder.cdc      | 35 ++++++++-------
 .../create_private_forwarder.cdc              | 28 +++++++-----
 .../deploy_forwarder_contract.cdc             |  2 +-
 .../setup_and_create_forwarder.cdc            | 44 ++++++++++---------
 .../transfer_private_many_accounts.cdc        |  6 +--
 5 files changed, 62 insertions(+), 53 deletions(-)

diff --git a/transactions/privateForwarder/create_account_private_forwarder.cdc b/transactions/privateForwarder/create_account_private_forwarder.cdc
index af3cee6a..768f600b 100644
--- a/transactions/privateForwarder/create_account_private_forwarder.cdc
+++ b/transactions/privateForwarder/create_account_private_forwarder.cdc
@@ -7,35 +7,36 @@ import PrivateReceiverForwarder from "PrivateReceiverForwarder"
 transaction {
 
     /// New Account that will hold the forwarder
-    let newAccount: AuthAccount
+    let newAccount: auth(Storage, Contracts, Keys, Inbox, Capabilities) &Account
 
-    prepare(payer: AuthAccount) {
-        self.newAccount = AuthAccount(payer: payer)
+    prepare(payer: auth(BorrowValue) &Account) {
+        self.newAccount = Account(payer: payer)
     }
 
     execute {
 
         // Save a regular vault to the new account
-        self.newAccount.save(<-ExampleToken.createEmptyVault(),
-            to: ExampleToken.VaultStoragePath
-        )
+        self.newAccount.storage.save(<-ExampleToken.createEmptyVault(), to: ExampleToken.VaultStoragePath)
 
-        // Create a private receiver
-        let receiverCapability = self.newAccount.link<&{FungibleToken.Receiver}>(
-            /private/exampleTokenReceiver,
-            target: ExampleToken.VaultStoragePath
-        )!
+        // Issue a Receiver Capability targetting the ExampleToken Vault
+        let receiverCapability = self.newAccount.capabilities.storage.issue<&{FungibleToken.Receiver}>(
+            ExampleToken.VaultStoragePath
+        )
 
         // Use the private receiver to create a private forwarder
         let forwarder <- PrivateReceiverForwarder.createNewForwarder(recipient: receiverCapability)
 
         // Save the private forwarder to account storage
-        self.newAccount.save(<-forwarder, to: PrivateReceiverForwarder.PrivateReceiverStoragePath)
-
-        // Link the forwarder to a private path
-        self.newAccount.link<&PrivateReceiverForwarder.Forwarder>(
-            PrivateReceiverForwarder.PrivateReceiverPublicPath,
-            target: PrivateReceiverForwarder.PrivateReceiverStoragePath
+        self.newAccount.storage.save(<-forwarder, to: PrivateReceiverForwarder.PrivateReceiverStoragePath)
+
+        // Issue a Capability to the Forwarder resource
+        let forwarderCap = self.newAccount.capabilities.storage.issue<&PrivateReceiverForwarder.Forwarder>(
+                PrivateReceiverForwarder.PrivateReceiverStoragePath
+            )
+        // Publish the Capability to the Forwarder resource
+        self.newAccount.capabilities.publish(
+            forwarderCap,
+            at: PrivateReceiverForwarder.PrivateReceiverPublicPath
         )
 
     }
diff --git a/transactions/privateForwarder/create_private_forwarder.cdc b/transactions/privateForwarder/create_private_forwarder.cdc
index 5fc699c9..1a0c2709 100644
--- a/transactions/privateForwarder/create_private_forwarder.cdc
+++ b/transactions/privateForwarder/create_private_forwarder.cdc
@@ -8,19 +8,23 @@ import PrivateReceiverForwarder from "PrivateReceiverForwarder"
 
 transaction {
 
-    prepare(signer: AuthAccount) {
-        receiverCapability = signer.link<&{FungibleToken.Receiver}>(
-            /private/exampleTokenReceiver,
-            target: ExampleToken.VaultStoragePath
+    prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {
+        // Issue a Receiver Capability targetting the ExampleToken Vault
+        let receiverCapability = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(
+            ExampleToken.VaultStoragePath
         )
-
-        let vault <- PrivateReceiverForwarder.createNewForwarder(recipient: receiverCapability)
-
-        signer.save(<-vault, to: PrivateReceiverForwarder.PrivateReceiverStoragePath)
-
-        signer.link<&{PrivateReceiverForwarder.Forwarder}>(
-            PrivateReceiverForwarder.PrivateReceiverPublicPath,
-            target: PrivateReceiverForwarder.PrivateReceiverStoragePath
+        // Create the Forwarder resource
+        let forwarder <- PrivateReceiverForwarder.createNewForwarder(recipient: receiverCapability)
+        // Save the Forwarder resource to storage
+        signer.storage.save(<-forwarder, to: PrivateReceiverForwarder.PrivateReceiverStoragePath)
+        // Issue a Capability to the Forwarder resource
+        let forwarderCap = signer.capabilities.storage.issue<&PrivateReceiverForwarder.Forwarder>(
+                PrivateReceiverForwarder.PrivateReceiverStoragePath
+            )
+        // Publish the Capability to the Forwarder resource
+        signer.capabilities.publish(
+            forwarderCap,
+            at: PrivateReceiverForwarder.PrivateReceiverPublicPath
         )
     }
 }
diff --git a/transactions/privateForwarder/deploy_forwarder_contract.cdc b/transactions/privateForwarder/deploy_forwarder_contract.cdc
index 499a3019..f114a5bd 100644
--- a/transactions/privateForwarder/deploy_forwarder_contract.cdc
+++ b/transactions/privateForwarder/deploy_forwarder_contract.cdc
@@ -6,7 +6,7 @@ transaction(contractName: String,
             storagePath: StoragePath,
             publicPath: PublicPath) {
 
-  prepare(signer: AuthAccount) {
+  prepare(signer: auth(AddContract) &Account) {
 
     signer.contracts.add(name: contractName, code: code, senderStoragePath, storagePath, publicPath)
 
diff --git a/transactions/privateForwarder/setup_and_create_forwarder.cdc b/transactions/privateForwarder/setup_and_create_forwarder.cdc
index a2cf67b4..e24b61cc 100644
--- a/transactions/privateForwarder/setup_and_create_forwarder.cdc
+++ b/transactions/privateForwarder/setup_and_create_forwarder.cdc
@@ -8,41 +8,45 @@ import PrivateReceiverForwarder from "PrivateReceiverForwarder"
 
 transaction {
 
-    prepare(signer: AuthAccount) {
-        if signer.getCapability<&PrivateReceiverForwarder.Forwarder>(PrivateReceiverForwarder.PrivateReceiverPublicPath).check() {
+    prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {
+        if signer.capabilities.get<&PrivateReceiverForwarder.Forwarder>(PrivateReceiverForwarder.PrivateReceiverPublicPath) != nil {
             // private forwarder was already set up
             return
         }
 
-        if signer.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath) == nil {
+        if signer.storage.check<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath) == false {
             // Create a new ExampleToken Vault and put it in storage
-            signer.save(
+            signer.storage.save(
                 <-ExampleToken.createEmptyVault(),
                 to: ExampleToken.VaultStoragePath
             )
         }
 
-        signer.link<&{FungibleToken.Receiver}>(
-            /private/exampleTokenReceiver,
-            target: ExampleToken.VaultStoragePath
-        )
-
-        let receiverCapability = signer.getCapability<&{FungibleToken.Receiver}>(/private/exampleTokenReceiver)
+        // Create a public Vault Capability if needed
+        if signer.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath) == nil {
+            let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(
+                    ExampleToken.VaultStoragePath
+                )
+            signer.capabilities.publish(vaultCap, at: ExampleToken.VaultPublicPath)
+        }
 
-        // Create a public capability to the Vault that only exposes
-        // the balance field through the Balance interface
-        signer.link<&{FungibleToken.Balance}>(
-            ExampleToken.VaultPublicPath,
-            target: ExampleToken.VaultStoragePath
-        )
+        // Issue a Receiver Capability targetting the ExampleToken Vault
+        let receiverCapability = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(
+                ExampleToken.VaultStoragePath
+            )
 
         let forwarder <- PrivateReceiverForwarder.createNewForwarder(recipient: receiverCapability)
 
-        signer.save(<-forwarder, to: PrivateReceiverForwarder.PrivateReceiverStoragePath)
+        signer.storage.save(<-forwarder, to: PrivateReceiverForwarder.PrivateReceiverStoragePath)
 
-        signer.link<&PrivateReceiverForwarder.Forwarder>(
-            PrivateReceiverForwarder.PrivateReceiverPublicPath,
-            target: PrivateReceiverForwarder.PrivateReceiverStoragePath
+        // Issue a Capability to the Forwarder resource
+        let forwarderCap = signer.capabilities.storage.issue<&PrivateReceiverForwarder.Forwarder>(
+                PrivateReceiverForwarder.PrivateReceiverStoragePath
+            )
+        // Publish the Capability to the Forwarder resource
+        signer.capabilities.publish(
+            forwarderCap,
+            at: PrivateReceiverForwarder.PrivateReceiverPublicPath
         )
     }
 }
diff --git a/transactions/privateForwarder/transfer_private_many_accounts.cdc b/transactions/privateForwarder/transfer_private_many_accounts.cdc
index 8877c8f5..16c83ce4 100644
--- a/transactions/privateForwarder/transfer_private_many_accounts.cdc
+++ b/transactions/privateForwarder/transfer_private_many_accounts.cdc
@@ -11,13 +11,13 @@ transaction(addressAmountMap: {Address: UFix64}) {
 
     let privateForwardingSender: &PrivateReceiverForwarder.Sender
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
-        self.privateForwardingSender = signer.borrow<&PrivateReceiverForwarder.Sender>(from: PrivateReceiverForwarder.SenderStoragePath)
+        self.privateForwardingSender = signer.storage.borrow<&PrivateReceiverForwarder.Sender>(from: PrivateReceiverForwarder.SenderStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
     }

From 58ad55c384261bf9a9f45b69f3e66b5100d710d1 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Tue, 17 Oct 2023 18:38:03 -0500
Subject: [PATCH 031/115] update tests/scripts for Cadence 1.0

---
 tests/scripts/get_supported_vault_types.cdc |  8 +++-----
 tests/scripts/get_token_metadata.cdc        |  4 +---
 tests/scripts/get_unsupported_view.cdc      |  5 ++---
 tests/scripts/get_vault_data.cdc            | 12 +++++-------
 tests/scripts/get_vault_display.cdc         |  6 ++----
 tests/scripts/get_views.cdc                 |  5 ++---
 6 files changed, 15 insertions(+), 25 deletions(-)

diff --git a/tests/scripts/get_supported_vault_types.cdc b/tests/scripts/get_supported_vault_types.cdc
index 1505d039..5e0a068f 100644
--- a/tests/scripts/get_supported_vault_types.cdc
+++ b/tests/scripts/get_supported_vault_types.cdc
@@ -7,10 +7,8 @@ import FungibleToken from "FungibleToken"
 pub fun main(target: Address, targetPath: PublicPath): Int {
 
     // Access the capability for the provided target address
-    let capabilityRef = getAccount(target)
-                    .getCapability<&{FungibleToken.Receiver}>(targetPath)
-                    .borrow() 
-                    ?? panic("Unable to borrow capability with restricted sub type {FungibleToken.Receiver} from path".concat(targetPath.toString()))
+    let capabilityRef = getAccount(target).capabilities.borrow<&{FungibleToken.Receiver}>(targetPath)
+        ?? panic("Unable to borrow capability with restricted sub type {FungibleToken.Receiver} from path".concat(targetPath.toString()))
     // Return the supported vault types.
     return capabilityRef.getSupportedVaultTypes().keys.length
-}
\ No newline at end of file
+}
diff --git a/tests/scripts/get_token_metadata.cdc b/tests/scripts/get_token_metadata.cdc
index 049f84a7..d9564b7a 100644
--- a/tests/scripts/get_token_metadata.cdc
+++ b/tests/scripts/get_token_metadata.cdc
@@ -10,9 +10,7 @@ import MetadataViews from "MetadataViews"
 pub fun main(address: Address): Bool {
     let account = getAccount(address)
 
-    let vaultRef = account
-        .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{MetadataViews.Resolver}>()
+    let vaultRef = account.capabilities.borrow<&{MetadataViews.Resolver}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftView = FungibleTokenMetadataViews.getFTView(viewResolver: vaultRef)
diff --git a/tests/scripts/get_unsupported_view.cdc b/tests/scripts/get_unsupported_view.cdc
index 57f4e7ea..d2d828bb 100644
--- a/tests/scripts/get_unsupported_view.cdc
+++ b/tests/scripts/get_unsupported_view.cdc
@@ -3,13 +3,12 @@
 // in testing, since we cannot return on-chain types to
 // the test files yet.
 
+import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
-import MetadataViews from "MetadataViews"
 
 pub fun main(address: Address): Bool {
     let account = getAccount(address)
-    let vaultRef = account.getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&ExampleToken.Vault{MetadataViews.Resolver}>()
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow Balance reference to the Vault")
 
     assert(nil == vaultRef.resolveView(Type<String>()))
diff --git a/tests/scripts/get_vault_data.cdc b/tests/scripts/get_vault_data.cdc
index 06227224..a300cbb2 100644
--- a/tests/scripts/get_vault_data.cdc
+++ b/tests/scripts/get_vault_data.cdc
@@ -11,21 +11,19 @@ import MetadataViews from "MetadataViews"
 pub fun main(address: Address): Bool {
     let account = getAccount(address)
 
-    let vaultRef = account
-        .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{MetadataViews.Resolver}>()
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let vaultData = FungibleTokenMetadataViews.getFTVaultData(vaultRef)
         ?? panic("Token does not implement FTVaultData view")
 
     assert(ExampleToken.VaultStoragePath == vaultData.storagePath)
-    assert(ExampleToken.ReceiverPublicPath == vaultData.receiverPath)
+    assert(ExampleToken.VaultPublicPath == vaultData.receiverPath)
     assert(ExampleToken.VaultPublicPath == vaultData.metadataPath)
     assert(/private/exampleTokenVault == vaultData.providerPath)
-    assert(Type<&ExampleToken.Vault{FungibleToken.Receiver}>() == vaultData.receiverLinkedType)
-    assert(Type<&ExampleToken.Vault{FungibleToken.Provider}>() == vaultData.providerLinkedType)
-    assert(Type<&ExampleToken.Vault{FungibleToken.Balance, MetadataViews.Resolver}>() == vaultData.metadataLinkedType)
+    assert(Type<&ExampleToken.Vault>() == vaultData.receiverLinkedType)
+    assert(Type<&ExampleToken.Vault>() == vaultData.providerLinkedType)
+    assert(Type<&ExampleToken.Vault>() == vaultData.metadataLinkedType)
     let vault <- vaultData.createEmptyVault()
     let vaultIsEmpty = vault.balance == 0.0
     assert(vaultIsEmpty)
diff --git a/tests/scripts/get_vault_display.cdc b/tests/scripts/get_vault_display.cdc
index 54c4a23d..fbc4c7c1 100644
--- a/tests/scripts/get_vault_display.cdc
+++ b/tests/scripts/get_vault_display.cdc
@@ -5,14 +5,12 @@
 
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MetadataViews from "MetadataViews"
+import ViewResolver from "ViewResolver"
 
 pub fun main(address: Address): Bool {
     let account = getAccount(address)
 
-    let vaultRef = account
-        .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{MetadataViews.Resolver}>()
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftDisplay = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/tests/scripts/get_views.cdc b/tests/scripts/get_views.cdc
index 020ddd5e..4b5fb00d 100644
--- a/tests/scripts/get_views.cdc
+++ b/tests/scripts/get_views.cdc
@@ -10,9 +10,8 @@ import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 pub fun main(address: Address): Bool {
     let account = getAccount(address)
 
-    let vaultRef = account.getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&ExampleToken.Vault{MetadataViews.Resolver}>()
-        ?? panic("Could not borrow Balance reference to the Vault")
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
+        ?? panic("Could not borrow reference to the Vault")
 
     let views = vaultRef.getViews()
     let expected: [Type] = [

From 61fc175efe7fc8918c963f04d47e80d93b3eaa3c Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Tue, 17 Oct 2023 18:39:06 -0500
Subject: [PATCH 032/115] update go assets

---
 lib/go/contracts/internal/assets/assets.go |  30 ++---
 lib/go/templates/internal/assets/assets.go | 128 ++++++++++-----------
 2 files changed, 77 insertions(+), 81 deletions(-)

diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 0e497381..1247c9ba 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,17 +1,17 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (11.053kB)
+// ../../../contracts/ExampleToken-v2.cdc (11.404kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
 // ../../../contracts/FungibleToken-v2.cdc (10.649kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
-// ../../../contracts/utility/MetadataViews.cdc (26.308kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (4.828kB)
-// ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.592kB)
+// ../../../contracts/utility/MetadataViews.cdc (26.648kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (13.347kB)
+// ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.699kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.29kB)
-// ../../../contracts/utility/ViewResolver.cdc (1.5kB)
+// ../../../contracts/utility/ViewResolver.cdc (1.749kB)
 
 package assets
 
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x6f\xdb\x38\xd6\xef\xf9\x15\xa7\xfe\x80\xf9\x6c\x4c\xe2\x64\x6e\xdd\x19\x23\x6e\xa6\xd3\x36\xbb\x0b\xcc\x00\x45\x9b\xe9\x3c\x14\x45\x4b\x4b\xc7\x36\xb7\x12\x29\x90\x94\x1d\x4f\xd0\xff\xbe\x38\xbc\x48\xa4\x2c\x39\x6e\xda\xa7\xd5\x4b\x62\x91\xe7\xf0\xdc\x6f\x14\x2f\x2b\xa9\x0c\x5c\xd7\x62\xc5\x17\x05\xde\xc8\x8f\x28\x60\xa9\x64\x09\xa3\xe4\xdd\xe8\xc4\xef\xfc\x03\x0d\xcb\x99\x61\x6f\x38\x6e\xb5\xdf\x99\xbc\x6b\x76\x26\xf0\x7d\x60\xc3\x1b\xda\xd3\xea\xc2\xf0\xaa\xc0\x37\xac\x2e\x4c\x73\x5c\xf2\xb2\xd9\x4b\x90\xaf\x50\xcb\x62\x83\xca\xef\x8c\x5f\x8d\x4e\x4e\x58\x96\xa1\xd6\x63\x56\x14\x13\xc8\xa4\x30\x8a\x65\x06\x5e\xdc\xb2\xb2\xf2\x44\xcc\x52\x24\x77\x27\x27\x00\x00\xe7\xe7\xe7\x70\xb3\x46\xc0\x0d\x0a\x03\x66\xcd\x0c\x70\x0d\x58\x72\x63\x30\x87\xed\x1a\x05\x08\xdc\x82\x21\x0c\x1a\x98\x42\x28\xb9\x30\x98\x5b\xe0\xf8\x4c\x87\xc0\x9e\xa4\xff\xb0\x5b\xc6\xac\x94\xb5\x30\x33\xf8\xf3\x9a\xdf\x3e\xfe\xf1\x14\xcc\xae\xc2\x19\xbc\x36\x8a\x8b\xd5\x24\x3a\x5e\x1a\x56\x80\xae\xab\xaa\xd8\x81\x5c\x26\x44\x6b\xe0\x02\xf0\x96\x6b\x83\x22\xc3\xbd\x43\x37\x4c\x81\x21\xf0\xd7\x16\x3a\x1c\xd5\xe2\x7e\x9a\x97\x5c\xc0\x4b\x66\xd6\x7b\xb0\x05\x1a\xb7\xfc\xda\x48\xc5\x56\x48\x9b\x88\xba\xe6\x47\x8b\xe5\x4f\x8d\xca\x22\xd1\xbd\x58\xac\xae\x06\xb1\x0c\x42\xbc\xac\x17\x05\xcf\x1c\x40\xfb\x7f\x7b\xea\x75\x2d\x32\xc3\xa5\x00\x23\x41\xa1\xa9\x95\x00\xb3\x46\x2b\x45\xed\x34\x45\x3f\x1b\x5d\x73\x12\x5a\x89\xc2\xec\x13\xb9\xe1\xb8\x85\x65\x2d\x60\x85\xc6\x1e\x7d\x43\x38\xc6\x93\x19\xbc\xa5\xff\xde\xc1\x9d\x05\xa1\x87\xa8\xa3\x13\x9e\x2a\xc5\x76\xcd\xfa\xdc\xfd\x73\xf9\x6b\xac\x9b\xa9\x45\xf5\x64\x3c\x79\xd7\x40\x07\x32\x03\x02\xbb\xf0\xe9\xe4\x30\x41\xe4\x14\x83\xb4\x6c\xe8\x8c\x57\xb8\x84\x39\x68\x2c\x96\x53\x96\x65\x64\x54\xd3\x8c\x55\x6c\xc1\x0b\x6e\x38\xea\xe9\x42\x2a\x25\xb7\x97\xdf\xf4\x51\x77\x5e\x59\xd1\x9e\x63\xb4\x66\x97\x26\xcd\x39\xf4\x5c\x5d\x41\xc5\x04\xcf\xc6\xa3\x67\xb2\x2e\x72\x10\xd2\x80\x43\x0b\x0c\x14\x2e\x51\x91\x01\x92\x2a\x48\xe8\x96\x2a\x50\xc1\xfb\x5a\x54\x5d\x49\x04\xf2\xa7\x2d\xa3\x43\x32\x21\x71\x78\x8c\xb4\x73\xfc\xde\x4a\x69\x06\x24\x95\xc9\x0c\x9e\x8a\xdd\x6b\xa3\xea\xcc\x5c\xfd\x8f\x4a\x28\xe6\x9d\x38\x4f\x04\x45\xfe\x60\x69\x0a\xbf\x9a\xb7\x2f\x58\xb6\x86\x9a\x1c\x54\x1b\xa9\x50\x03\x13\xc0\x85\x36\x8c\x88\x91\x4b\x90\xa2\xd8\x59\x8a\x2c\x38\x85\x13\xb3\x46\xee\x76\xb3\x15\x26\x41\x70\xe9\x3d\x4e\xfb\x6d\x1e\x86\x89\x1c\x56\x72\x83\x4a\x60\x0e\x0b\x87\xad\x52\x68\xdf\x57\x52\x1b\xf2\xc1\x9c\x5b\xc0\x06\x1d\x17\x9d\xbc\x63\x43\xa9\x59\xe3\xce\x06\xd1\x8c\x15\x05\xe6\xd3\xe4\xf4\x6c\x8d\xd9\x47\x0d\x6b\x56\x55\x28\x80\x19\x50\xb5\x30\xbc\x44\x0b\x8a\x14\xb3\x59\x43\x21\x05\xe9\x0e\x8e\x06\x17\x85\xf8\x5a\x65\x48\x3b\x84\xe3\x7f\x81\x90\x29\x64\x14\xd2\x3d\x67\x14\x36\xf0\xd6\x90\x84\x92\x28\x12\xe2\xca\xae\x41\x47\xe4\xe6\xb8\xe4\xc2\x02\x9f\x82\xb6\x0a\x56\x48\x24\x08\x09\x5b\xb6\x83\xa5\x24\xda\x4a\x56\xf0\x8c\xcb\x5a\x3b\x75\x18\xe9\xcf\x74\x52\x6c\x45\x23\x6b\x7f\x2c\x17\xc0\xb8\x9a\xc2\x53\xd0\x15\x66\x9c\x15\x60\x13\x87\xb2\x66\x43\x1c\x80\x40\xcc\x35\x61\x5a\xb4\x34\x18\x69\x53\x50\x83\xae\x4d\x4f\xa9\x28\x62\xdf\x6a\x10\x5a\x52\x66\xa9\x6a\x9c\x1f\x84\x84\x18\x6b\xc4\xa6\x16\x58\xb0\x22\x18\x93\x59\x73\xed\x2c\xb6\xd9\xdb\x4d\x47\x7e\x77\x9a\x8a\xa2\x8d\xe4\xa3\x6e\xa7\x3e\x94\x31\x7a\x21\xaa\x03\x19\xa3\xd5\x3e\xb9\x95\xb6\x5a\xf5\x27\x40\xc5\xcc\x9a\xac\x48\x61\xe4\x9b\x7a\x6d\xdd\xd8\xec\x2a\x4e\x96\x64\x8d\xc4\xba\x50\xde\xcf\x5b\x14\xb2\x9f\xe3\xb2\x93\xf2\x28\x7e\x47\x3f\xe3\x18\x15\xf9\xba\x8d\x4f\xba\x87\xd3\x4f\xc3\x3c\x38\x9e\x53\x16\x82\x12\x02\x0f\x6b\xb6\x41\x60\x61\x6b\x13\xf8\x76\xc7\x32\xd2\xca\x92\xf8\x68\x7f\x1d\x62\xa3\xd5\x45\x1f\x17\x9f\x9f\xec\x22\xfc\x2e\xd7\x0e\x57\x90\xd3\xeb\x1b\xfa\xfb\x64\x3c\x39\x4d\xc0\xc3\x73\x3f\xf8\x73\xae\xab\x82\xed\xbe\x00\x83\xf5\x99\xe7\xcc\xb0\x07\xe3\xb8\x69\xeb\xb6\xa4\x86\x18\x90\xe2\x43\xd2\x23\x3d\x7a\xcb\x4d\xb6\x76\x4a\xb8\xdb\x23\x34\x63\x1a\x8f\xe1\xd6\x89\x7b\xd6\xcb\xa8\xd7\xda\xbd\x08\xc6\xbd\xd0\xf4\x2c\x8d\x57\xc8\xcc\xd9\x56\xcc\xe7\xe7\x28\x73\x02\x4c\x3f\x3a\x4c\x88\xdf\x7c\xd5\xaf\x33\x47\x4c\xa3\xdb\x07\x91\x13\x5b\xc6\x11\x04\x35\xdb\xaf\x7a\x29\x9a\x3c\x54\x65\xad\x54\xfa\xb5\x46\xa5\x53\x89\x39\x67\x30\x4f\xfb\xbe\xe9\x1f\xf4\x76\x58\x59\x56\x46\xbc\xc0\x59\x07\xec\x5f\x37\x37\x2f\xaf\x79\x81\x87\x21\x6b\x55\xcc\x60\xb4\x36\xa6\xd2\xb3\xf3\x73\xa6\x35\x1a\x3d\xdd\xe2\x42\x73\x83\x67\x84\x56\x4f\x33\x59\x9e\xff\xb4\x7c\xfc\xfd\x2f\x3f\x66\x17\xd9\x3f\xd8\xcf\x59\x9e\x3f\xfe\xf1\x87\xc5\x77\xd9\xcf\xdf\x5f\x74\x16\xd8\x4f\x3f\x65\x8b\xef\xb2\x5f\x7e\x78\xfc\xfe\xba\x90\xdb\xf7\x7f\x49\x95\x97\x4c\x7d\x9c\xea\xcd\x6a\x34\x48\xc7\x80\xc3\xd2\x63\x25\x72\x63\xfb\xb4\x11\x2f\xd9\x0a\xcf\xf5\x66\xf5\xed\x6d\x59\xf4\x63\xdb\xd7\x4e\x22\x5a\xdd\x2f\x5b\x3d\x7e\x6b\x97\xdf\xf5\x83\x1f\xe3\x4f\x5e\xbb\xc3\xb2\x16\xac\x24\x1e\x7c\xbd\xdb\x20\x73\x0d\xea\x68\x58\x00\x7a\x57\x2e\x24\xa9\xe8\xc5\xf5\xcd\x81\x6d\x39\xea\x4c\xf1\x8a\x4a\xb1\x19\x8c\x6e\x28\x23\x2d\xc3\x11\xb6\x18\xa1\xea\xa8\xd6\x98\x03\xb3\x15\xa9\xaf\xad\xa9\x78\x59\x63\x51\xc1\x4e\xd6\x90\xe3\x06\x0b\x69\xff\x57\x20\xa8\x18\xbb\xbe\x81\xff\x93\x82\x34\x39\x3d\x70\x36\xde\x1a\x54\x82\x15\x7f\xbe\xfa\xbd\x6b\x83\x2f\xda\xa5\x71\x63\x64\xfe\xec\xb3\xa5\x99\x4a\xb1\x24\xe4\x52\xad\x46\x07\x8c\xa0\x90\x2b\xa9\x67\x5e\x85\x07\x44\x25\xa9\x66\xd3\xb3\x9e\xb0\x1a\x3f\x23\xb3\xe5\xc6\xa0\x1a\x1d\x45\xac\xdf\x6c\x9d\x80\x68\x7d\xbf\x28\x64\xf6\x31\x5b\x33\x2e\x46\xfd\xe6\x02\x36\x67\xf4\xbd\x7d\x70\xec\x88\x43\xd8\x70\xf4\x88\x1a\xaf\xa4\xad\x0a\x0d\x98\x2f\x74\x0e\xf6\x5e\x4b\x25\xcb\xd9\x5e\x5d\x34\xcc\xe8\xe7\x35\x61\xae\x9c\x73\x84\x0e\x48\xef\xa8\xe4\x15\xc4\x31\xec\x6e\x49\x2d\xdb\x65\x67\xd8\x84\x14\x66\xc8\x37\xa8\x22\xb8\xb6\xae\x3a\x14\xa5\x1c\x81\x9f\x09\x56\x29\xb9\xe1\x79\x38\xed\xbc\x52\x7c\xc3\x0c\xee\xf7\xbd\xf7\xd3\xfb\x3b\x17\x1f\x31\x77\x71\xd2\x9a\x53\xaf\x72\x0f\xc6\x59\xc7\xc1\x17\x23\x0a\x3c\x7d\x31\x22\xd7\xab\xbd\x28\x2b\xb3\xb3\x9b\xc3\xf4\x69\x06\xe3\x65\x2d\xa8\x64\xfd\xf5\xae\xa7\x6d\xfa\x74\x8f\xf7\x7b\xfb\xba\x3c\x6b\xfa\xfc\xee\x41\xe3\x03\x6e\xdd\xbf\x94\xbe\xfd\xd4\x57\x42\x0b\x5e\x0c\x35\x17\x2b\x34\x54\x75\x4a\x65\x30\x6f\x87\x61\x20\x6d\x30\xb7\x8d\x90\xf2\xed\x07\x83\x82\x6b\xdb\xab\xba\x6e\x23\x99\xbc\x71\xdd\x58\x83\xad\x53\x2b\xdf\xe1\xc2\x81\xea\xbf\xe7\x5c\x12\xec\x9d\x53\xdb\x6f\x52\x16\x5d\x71\x52\x9c\xd1\x01\xca\x02\x74\xb6\xcf\xe1\x2e\x15\x40\xba\xfb\xad\x75\x8e\x15\xda\xc3\xc6\x93\x77\x30\x07\xa3\x6a\xec\xed\x6a\x12\xc0\xa3\x9b\x1a\xae\xf7\xb9\x1a\x9b\xc6\x0e\x27\x8e\xd0\x03\x8d\xd4\x90\x5c\xde\x1a\xdb\x21\x5d\x5d\xc1\x92\x15\x1a\xfb\xd5\x09\x5c\x70\xc3\x59\xc1\xff\x76\xad\x6d\xe8\xd5\x99\x69\x7b\x7e\x6b\x70\x76\x8e\xca\xcb\x16\x0d\x01\x8e\x3b\xcd\xfa\xa4\xdb\x3b\x10\x7d\x01\xe5\x3c\x20\xdf\x53\x10\xcf\x51\x18\xbe\xe4\xa8\x60\x0e\xa3\xbd\x70\x32\xda\xc7\x19\x05\x47\x98\xc7\x8d\xf3\xb8\xc5\x35\x8b\xf0\x4e\x1e\xed\xe3\x68\x23\x1e\xcc\xa3\x9e\xf5\x7e\x0c\x1d\x7f\xf8\x27\x9a\x44\x74\x7e\x22\x74\x60\xca\x11\x59\xf4\x6f\x0e\x88\xac\xd8\x89\xf0\x80\xa2\xbb\xe2\xeb\xd0\xb1\xe5\x66\x9d\x2b\xb6\x8d\x5f\x26\x1b\xda\x79\xb8\xf5\x40\xf6\xd1\x0d\xfb\xdc\x2d\x83\xaf\xb3\x98\x5a\xd5\x25\x0a\x93\x00\x32\x91\x37\xd8\xbd\xff\x7a\x20\x7b\x93\xd2\x0c\xfa\xa6\x83\x47\xff\xdb\xf8\xf8\x48\x41\xc1\x0e\x9c\xb0\xac\xa4\x62\x6a\xe7\x47\x84\xe1\xe2\xc4\x96\x7c\x54\xe4\xc9\x22\x4f\x30\xd8\xc9\xbd\xbb\xd1\x70\x04\x28\x84\x05\x72\xb1\x02\xa3\x98\xd0\x4b\x54\x0a\xf3\x29\x1d\xa4\xa2\xe1\x87\xc0\x6d\xb1\x4b\xf0\x84\x31\x9e\x3f\x56\x26\xc3\x3c\x8b\xd9\x8d\x05\x41\x4b\xe0\xc6\x4e\x00\xed\xec\xac\x92\xd4\x61\xa4\x34\x61\xa1\xd1\x8e\x54\xfa\x19\xf7\x3a\x4f\x83\xfe\x5f\x5e\x8e\x6c\x51\xa0\x6b\xca\x83\x64\x3b\xd7\x3d\x94\x30\xf6\x53\xd0\x61\x07\x4b\x7e\x9e\x79\x25\xf5\xd9\xd3\xe5\x59\x3c\x5a\x6c\xdd\xd8\x41\x4c\x86\x4c\xcc\x8b\xe1\xf3\x2c\xcc\x8b\x5a\x2e\xfe\x83\x59\xd7\xcc\xac\x69\xb1\x3c\xd7\x09\x1a\x6e\x74\xe3\x4d\x5e\x43\x1d\xe7\x92\x5b\x81\x4a\x1f\x61\x75\x5c\x03\x2b\x0a\xb9\x75\x56\x95\xa3\x36\x4a\xba\x01\xb4\xa6\xe3\x1d\x69\x0b\xcc\x58\xad\xb1\x35\xe4\xd4\xaf\x88\xe4\xc8\x60\xc9\x34\x51\x05\x4a\xfc\xe4\xd4\x8e\x3b\x2d\xec\xff\xb7\xb4\xaf\x59\xca\xd7\x02\x51\x90\xad\xe9\xba\xa4\xc6\x46\xe4\x6e\x10\xbc\x94\x76\xa0\xed\x0d\xcd\x52\x18\xc6\xd2\x03\x26\xd5\x0c\x74\xbc\x42\x7c\x19\xdc\x5f\x60\x74\x83\x72\x53\x7a\xc3\xe5\x99\x73\x60\xa6\x1f\xf5\xd9\xda\xd1\x96\xf6\xad\xc3\xb7\x17\xa0\xe8\x49\x56\x60\x0e\x17\xd3\x8b\x64\x3d\xa8\x24\x0d\x97\xfb\x49\xf3\x3e\x2f\x0a\x51\x60\xef\xd2\x34\x14\x19\x33\x78\xd6\xcc\x35\x2f\xbf\xe9\x48\xea\x95\xdf\xf4\xe9\x49\x9f\xb4\x02\xee\x37\x41\x6a\x96\xfb\x3d\xbf\x0d\xce\x93\xc0\xfb\x04\xd1\xd3\x5c\x28\xcc\x78\xc5\x51\x90\xc5\x84\xf3\xf7\x8e\x0e\xd4\xbb\x36\x29\xfc\xf2\x2d\x51\x4f\xe5\x77\xa0\xbf\x69\xaa\xad\x83\x94\xbc\xf1\xbd\x4e\x97\x89\xe7\xce\xd2\xec\xfe\xc0\xb9\x08\x11\xd9\xdf\x89\xc4\x78\x54\x1f\x47\x11\x37\xd3\xd4\x74\x2f\xcf\x12\x21\x0f\x46\xa0\x6e\xf1\x7b\x64\x28\x4a\x93\x8f\xd3\x23\x71\x01\x2c\x8e\x2c\x7f\xa3\x92\x7b\x89\x2f\xa4\x13\xde\x66\x0b\x56\x14\x94\x78\x7c\xd6\x98\xc2\x53\x77\x61\x53\xd6\xda\x65\x0f\x57\xdd\x86\xab\xa6\x3d\x8c\xb6\xab\xf4\x02\x23\xdc\x4d\x36\xea\xde\xad\xd1\x0b\xa9\x72\x77\x17\x64\xc3\x98\x5b\x4f\x31\xba\x6e\xd9\x5f\xf2\x30\x37\x40\x09\x92\x0e\x01\x42\x37\x97\x2f\x6e\xb8\x42\xa5\xe1\x71\x11\x66\xbf\xdb\x38\x26\x2f\xdd\x93\x66\x2e\xa6\x17\xbd\x1a\xf6\xc1\x60\xdc\x75\x42\xbe\x4c\x03\xce\x13\xc2\xd0\xd3\x38\x25\x74\x45\xdf\x35\x74\x27\x0c\xf1\xd2\x59\x7f\x71\x05\x49\x67\xe4\xfe\x8b\xee\x52\xdd\x45\xdb\x09\x0c\x5c\x1d\x86\x6c\xe7\xf2\xa0\x15\x39\xb3\x5f\x52\x78\x6d\xb9\xab\x45\xca\x24\xe1\x3a\xee\xf3\xae\xe1\xfc\x3d\xdf\x5d\x62\x09\x84\xc6\x7d\xf4\x71\xa4\x57\x10\x80\x8e\x0e\x3e\xb5\xa9\x98\x6c\xac\x0c\xb6\x6e\xa2\x6f\x4b\x4e\x07\x7d\x23\x86\xe8\x7a\xc7\x51\x56\xd6\x92\xfe\x90\x2a\xe8\x21\x6a\xff\xb6\xaf\x3a\xc2\x92\x0f\x7c\x82\xe3\xfe\x86\x4f\x70\xd2\xa6\x70\x1a\x75\x09\x5f\x56\x6c\x75\x8c\xac\x37\xd8\xc5\xe6\xf6\x45\x41\xee\xeb\x06\xb8\xaf\x1b\xdc\xbe\x42\x60\xeb\xf3\x9f\x87\x05\xb4\x46\x8d\x70\x4f\x34\xf3\xaa\xb3\x9d\x71\x1c\xc2\xac\xb9\xa4\x76\xf9\xdd\xc5\x05\x55\x42\xe9\x96\xee\xd7\x54\x30\x87\x73\x2f\xad\x64\xc8\xe6\x3e\xca\x4a\xda\xf8\x67\x8e\xb2\xf6\x9b\x0b\xab\xf8\xae\x07\x5b\x61\xf9\x2f\xd1\x48\x57\x6c\x83\xa4\x76\x2e\x92\xaf\x39\x1c\xca\xe6\xdf\xa4\x5e\xec\x97\x40\x97\xc1\x49\xca\x57\xf7\xfb\x2e\x98\xfb\xb2\x70\xe0\x2a\xfc\x51\x0f\xf8\xcb\xb8\x5b\xef\x42\xc7\xf7\xcf\x1d\xe0\xee\x30\x99\x78\x1e\xfb\x69\xda\x29\x18\x39\xeb\x27\x71\xd2\x27\xdd\x9e\x1b\xf2\xce\xa4\x38\x6a\x66\xf1\xb6\x92\x1a\xe3\x50\x6c\x37\x7e\xf0\x86\xfb\x01\x4a\x34\x6b\xe9\xda\x80\x15\x9a\xa7\x76\x04\xe6\x87\x47\x61\xcd\xac\x95\xac\x57\x4e\x8f\x1f\x42\x8d\xf8\x01\x6c\xf0\x5f\xb2\x2c\x56\x57\x68\x27\xe0\x43\x3c\x55\xf8\xd0\x8b\xc9\x2f\xf7\x23\x4a\xf4\x1e\x5b\xdd\x33\x56\x1d\xfc\x44\x2a\x48\x98\x6b\x5d\x77\xc6\xa7\x4f\xc6\x03\x42\xee\x55\x55\x82\xd5\x4a\x5c\xaf\xc7\x1d\x4a\x4e\x81\x99\x59\xaf\x79\x44\x9a\x23\x0e\x5c\xda\x6d\x2d\xd7\x65\xce\xf1\xc0\xd1\x1d\x2b\xb1\xc0\x91\x95\x74\x1d\x34\xb8\xfd\xa7\x13\x38\xf9\x6f\x00\x00\x00\xff\xff\x4d\x3e\xfc\xff\x2d\x2b\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x6f\xdb\x38\xd6\xef\xf9\x15\xa7\xfe\x80\xf9\x6c\x4c\xe2\x64\x6e\xdd\x19\x23\x69\x26\xd3\x36\xbb\x0b\xcc\x00\x45\x9b\xe9\x3c\x14\x45\x4b\x4b\xc7\x36\xb7\x12\x29\x90\x94\x1d\x4f\xd0\xff\xbe\x38\xbc\x48\xa4\x2c\x39\x4e\xda\xa7\xf5\x4b\x22\x91\xe7\xf0\xdc\x6f\x14\x2f\x2b\xa9\x0c\x5c\xd7\x62\xc9\xe7\x05\xde\xc8\x4f\x28\x60\xa1\x64\x09\xa3\xe4\xdd\xe8\xc8\xef\xfc\x03\x0d\xcb\x99\x61\x6f\x39\x6e\xb4\xdf\x99\xbc\x6b\x76\x26\xf0\x7d\x60\xc3\x1b\xda\xd3\xea\xc2\xf0\xaa\xc0\xb7\xac\x2e\x4c\x73\x5c\xf2\xb2\xd9\x4b\x90\xaf\x51\xcb\x62\x8d\xca\xef\x8c\x5f\x8d\x8e\x8e\x58\x96\xa1\xd6\x63\x56\x14\x13\xc8\xa4\x30\x8a\x65\x06\x5e\xde\xb2\xb2\xf2\x44\xcc\x52\x24\x77\x47\x47\x00\x00\xa7\xa7\xa7\x70\xb3\x42\xc0\x35\x0a\x03\x66\xc5\x0c\x70\x0d\x58\x72\x63\x30\x87\xcd\x0a\x05\x08\xdc\x80\x21\x0c\x1a\x98\x42\x28\xb9\x30\x98\x5b\xe0\xf8\x4c\x87\xc0\x9e\xa4\xff\xb0\x5b\xc6\xac\x94\xb5\x30\x33\xf8\xf3\x9a\xdf\x3e\xfd\xf1\x18\xcc\xb6\xc2\x19\xbc\x31\x8a\x8b\xe5\x24\x3a\x5e\x1a\x56\x80\xae\xab\xaa\xd8\x82\x5c\x24\x44\x6b\xe0\x02\xf0\x96\x6b\x83\x22\xc3\x9d\x43\xd7\x4c\x81\x21\xf0\x37\x16\x3a\x1c\xd5\xe2\xbe\xca\x4b\x2e\xe0\x15\x33\xab\x1d\xd8\x02\x8d\x5b\x7e\x63\xa4\x62\x4b\xa4\x4d\x44\x5d\xf3\xd0\x62\xf9\x53\xa3\xb2\x48\x74\x2f\x16\xab\xab\x41\x2c\x83\x10\xaf\xea\x79\xc1\x33\x07\xd0\xfe\xdf\x9e\x7a\x5d\x8b\xcc\x70\x29\xc0\x48\x50\x68\x6a\x25\xc0\xac\xd0\x4a\x51\x3b\x4d\xd1\x63\xa3\x6b\x4e\x42\x2b\x51\x98\x5d\x22\xd7\x1c\x37\xb0\xa8\x05\x2c\xd1\xd8\xa3\x6f\x08\xc7\x78\x32\x83\x77\xf4\xdf\x7b\xb8\xb3\x20\xf4\x23\xea\xe8\x84\x2b\xa5\xd8\xb6\x59\xbf\x70\xff\x9c\xff\x1a\xeb\x66\x6a\x51\x3d\x1b\x4f\xde\x37\xd0\x81\xcc\x80\xc0\x2e\x7c\x3e\xda\x4f\x10\x39\xc5\x20\x2d\x6b\x3a\xe3\x35\x2e\xe0\x02\x34\x16\x8b\x29\xcb\x32\x32\xaa\x69\xc6\x2a\x36\xe7\x05\x37\x1c\xf5\x74\x2e\x95\x92\x9b\xf3\x6f\xfa\xa8\x3b\xad\xac\x68\x4f\x31\x5a\xb3\x4b\x93\xe6\x1c\xfa\x5d\x5e\x42\xc5\x04\xcf\xc6\xa3\xe7\xb2\x2e\x72\x10\xd2\x80\x43\x0b\x0c\x14\x2e\x50\x91\x01\x92\x2a\x48\xe8\x96\x2a\x50\xc1\xfb\x5a\x54\x5d\x49\x04\xf2\xa7\x2d\xa3\x43\x32\x21\x71\x78\x8c\xb4\x73\xfc\xc1\x4a\x69\x06\x24\x95\xc9\x0c\xae\xc4\xf6\x8d\x51\x75\x66\x2e\xff\x47\x25\x14\xf3\x4e\x9c\x27\x82\x22\x7f\xb0\x34\x85\xa7\xe6\xed\x4b\x96\xad\xa0\x26\x07\xd5\x46\x2a\xd4\xc0\x04\x70\xa1\x0d\x23\x62\xe4\x02\xa4\x28\xb6\x96\x22\x0b\x4e\xe1\xc4\xac\x90\xbb\xdd\x6c\x89\x49\x10\x5c\x78\x8f\xd3\x7e\x9b\x87\x61\x22\x87\xa5\x5c\xa3\x12\x98\xc3\xdc\x61\xab\x14\xda\xf7\x95\xd4\x86\x7c\x30\xe7\x16\xb0\x41\xc7\x45\x27\xef\xd8\x50\x6a\x56\xb8\xb5\x41\x34\x63\x45\x81\xf9\x34\x39\x3d\x5b\x61\xf6\x49\xc3\x8a\x55\x15\x0a\x60\x06\x54\x2d\x0c\x2f\xd1\x82\x22\xc5\x6c\xd6\x50\x48\x41\xba\x83\xa3\xc1\x45\x21\xbe\x56\x19\xd2\x0e\xe1\xf8\x9f\x23\x64\x0a\x19\x85\x74\xcf\x19\x85\x0d\xbc\x35\x24\xa1\x24\x8a\x84\xb8\xb2\x6d\xd0\x11\xb9\x39\x2e\xb8\xb0\xc0\xc7\xa0\xad\x82\x15\x12\x09\x42\xc2\x86\x6d\x61\x21\x89\xb6\x92\x15\x3c\xe3\xb2\xd6\x4e\x1d\x46\xfa\x33\x9d\x14\x5b\xd1\xc8\xda\x1f\xcb\x05\x30\xae\xa6\x70\x05\xba\xc2\x8c\xb3\x02\x6c\xe2\x50\xd6\x6c\x88\x03\x10\x88\xb9\x26\x4c\xf3\x96\x06\x23\x6d\x0a\x6a\xd0\xb5\xe9\x29\x15\x45\xec\x5b\x0d\x42\x4b\xca\x2c\x55\x8d\xf3\x83\x90\x10\x63\x8d\xd8\xd4\x02\x73\x56\x04\x63\x32\x2b\xae\x9d\xc5\x36\x7b\xbb\xe9\xc8\xef\x4e\x53\x51\xb4\x91\x7c\xd4\xed\xd4\xfb\x32\x46\x2f\x44\xb5\x27\x63\xb4\xda\x27\xb7\xd2\x56\xab\xfe\x04\xa8\x98\x59\x91\x15\x29\x8c\x7c\x53\xaf\xac\x1b\x9b\x6d\xc5\xc9\x92\xac\x91\x58\x17\xca\xfb\x79\x8b\x42\xf6\x0b\x5c\x74\x52\x1e\xc5\xef\xe8\x31\x8e\x51\x91\xaf\xdb\xf8\xa4\x7b\x38\xfd\x3c\xcc\x83\xe3\x39\x65\x21\x28\x21\xf0\xb0\x62\x6b\x04\x16\xb6\x36\x81\x6f\x7b\x28\x23\xad\x2c\x89\x8f\xf6\x69\x1f\x1b\xad\x2e\xfa\xb8\x78\x78\xb2\x8b\xf0\xbf\x4b\x5e\xd2\xcf\x26\xdf\xe1\x92\x72\x7a\x7d\x43\x7f\x9f\x8d\x27\xc7\x8f\x00\x7d\xc1\x75\x55\xb0\xed\x23\xa1\xad\xf3\xbc\x60\x86\x3d\x0a\xfe\xa6\x2d\xde\x9e\x8d\xd3\x7c\xf3\xfe\x3e\xb9\x3e\x26\x61\xd2\x4f\x6f\xb8\xc9\x56\x4e\x2d\x77\x3b\x14\x67\x4c\xe3\xe1\xf2\x9e\xed\xc0\x47\x7a\xbc\x17\xc1\xb8\x17\x9a\x7e\x0b\xe3\xb5\x32\x73\xd6\x16\xf3\xf9\x10\x8d\x4e\x80\xe9\x27\xfb\x09\xf1\x9b\x2f\x77\x95\xd7\x12\xd3\x28\xf9\x51\xe4\xc4\x26\x72\x00\x41\xcd\xf6\xcb\x5e\x8a\x26\x8f\x55\x59\x2b\x95\x7e\xad\x51\x31\x55\x62\xce\x19\x5c\xa4\x9d\xe0\xf4\x0f\x7a\x3b\xac\x2c\x2b\x23\x5e\xe0\xac\x03\xf6\xaf\x9b\x9b\x57\xd7\xbc\xc0\xfd\x90\xb5\x2a\x66\x30\x5a\x19\x53\xe9\xd9\xe9\x29\xd3\x1a\x8d\x9e\x6e\x70\xae\xb9\xc1\x13\x42\xab\xa7\x99\x2c\x4f\x7f\x5a\x3c\xfd\xfe\x97\x1f\xb3\xb3\xec\x1f\xec\xe7\x2c\xcf\x9f\xfe\xf8\xc3\xfc\xbb\xec\xe7\xef\xcf\x3a\x0b\xec\xa7\x9f\xb2\xf9\x77\xd9\x2f\x3f\x3c\xfd\x70\x5d\xc8\xcd\x87\xbf\xa4\xca\x4b\xa6\x3e\x4d\xf5\x7a\x39\x1a\xa4\xa3\xc7\x73\xc3\xcf\x4a\xe4\xc6\x76\x6e\x23\x5e\xb2\x25\x9e\xea\xf5\xf2\xdb\xdb\xb2\xe8\xc7\xb6\xab\x9d\x44\xb4\xba\x5f\xb6\x7a\xfc\xce\x2e\xbf\xef\x07\x3f\xc4\x9f\xbc\x76\x87\x65\x2d\x58\x49\x3c\xf8\x0a\xb8\x41\xe6\x5a\xd6\xd1\xb0\x00\xf4\xb6\x9c\x4b\x52\xd1\xcb\xeb\x9b\x3d\xdb\x72\xd4\x99\xe2\x15\x15\x67\x33\x18\xdd\x50\x8e\x5a\x84\x23\x6c\x79\x42\xf5\x52\xad\x31\x07\x66\x6b\x54\x5f\x6d\x53\x39\xb3\xc2\xa2\x82\xad\xac\x21\xc7\x35\x16\xd2\xfe\xaf\x40\x50\x79\x76\x7d\x03\xff\x27\x05\x69\x72\xba\xe7\x6c\xbc\x35\xa8\x04\x2b\xfe\x7c\xfd\x7b\xd7\x06\x5f\xb6\x4b\xe3\xc6\xc8\xfc\xd9\x27\x0b\x33\x95\x62\x41\xc8\xa5\x5a\x8e\xf6\x18\x41\x21\x97\x52\xcf\xbc\x0a\xf7\x88\x4a\x52\x15\xa7\x67\x3d\x61\x35\xfe\x8d\xcc\x86\x1b\x83\x6a\x74\x10\xb1\x7e\xb3\x75\x02\xa2\xf5\xc3\xbc\x90\xd9\xa7\x6c\xc5\xb8\x18\xf5\x9b\x0b\xd8\x9c\xd1\xf7\xf6\xd1\xb1\x23\x0e\x61\xc3\xd1\x23\x6a\xc5\x92\x46\x2b\xb4\x64\xbe\xf4\xd9\xdb\x8d\x2d\x94\x2c\x67\x3b\x95\xd2\x30\xa3\x0f\x6b\xcb\x5c\x81\xe7\x08\x1d\x90\xde\x41\xc9\x2b\x88\x63\xd8\xdd\x92\xea\xb6\xcb\xce\xb0\x09\x29\xcc\x90\xaf\x51\x45\x70\x6d\xa5\xb5\x2f\x4a\x39\x02\x1f\x08\x56\x29\xb9\xe6\x79\x38\xed\xb4\x52\x7c\xcd\x0c\xee\x76\xc2\xf7\xd3\xfb\x3b\x17\x9f\x30\x77\x71\xd2\x9a\x53\xaf\x72\xf7\xc6\x59\xc7\xc1\x17\x23\x0a\x3c\x7d\x31\x22\xd7\xbd\xbd\x2c\x2b\xb3\xb5\x9b\xc3\x3c\x6a\x06\xe3\x45\x2d\xa8\x88\xfd\xf5\xae\xa7\x91\xfa\x7c\x8f\xf7\x7b\xfb\x3a\x3f\x69\x3a\xff\xee\x41\xe3\x3d\x6e\xdd\xbf\xf4\x48\xbf\x4e\xab\xcf\xc7\xd6\x72\x11\x96\x61\x77\x48\xa6\x94\x89\x22\xa2\x95\x03\x78\xfb\xdc\xd7\x30\x08\x5e\x0c\xb5\x52\x4b\x34\x84\x5b\x2a\x83\x79\x3b\xfa\x03\x69\x13\x95\x6d\xfb\x94\x6f\xb6\x18\x14\x5c\xdb\xce\xdc\xf5\x56\xc9\x9c\x91\xeb\xc6\xd2\x6d\x0d\x5e\xf9\x7e\x1e\xf6\xf4\x3a\x3d\xe7\x92\xd1\xdc\x39\x93\xfc\x4d\xca\xa2\x6b\x2a\x14\x43\x75\x80\xb2\x00\x9d\xed\x17\x70\x97\x0a\x20\xdd\xfd\xce\x3a\xfe\x12\xed\x61\xe3\xc9\x7b\xb8\x00\xa3\x6a\xec\xed\xe1\x12\xc0\x83\x5b\x38\xae\x77\xb9\x1a\x9b\xc6\xc7\x26\x8e\xd0\x3d\x6d\xe3\x90\x5c\xde\x19\xdb\x0f\x5e\x5e\xc2\x82\x15\x1a\xfb\xd5\x09\x5c\x70\xc3\x59\xc1\xff\x76\x8d\x7c\x98\x4c\x30\xd3\x4e\x38\xac\x33\xd9\xa9\x31\x2f\x5b\x34\x04\x38\xee\x8c\x26\x26\xdd\xbe\x88\xe8\x0b\x28\x2f\x02\xf2\x1d\x05\xf1\x1c\x85\xe1\x0b\x8e\x0a\x2e\x60\xb4\x13\x2a\x47\xbb\x38\xa3\xc0\x0f\x17\xf1\x98\x60\xdc\xe2\x9a\x45\x78\x27\x4f\x76\x71\xb4\xd1\x1c\x2e\xa2\x0e\xfd\x7e\x0c\x1d\x7f\xf8\x27\x9a\x44\x74\x7e\xfe\xb5\x67\xa6\x13\x59\xf4\x6f\x0e\x88\xac\xd8\x89\x70\x8f\xa2\xbb\xe2\xeb\xd0\xb1\xe1\x66\x95\x2b\xb6\x89\x5f\x26\x1b\xda\xe9\xbf\xf5\x40\xf6\xc9\x8d\x36\xdd\x9d\x8a\xaf\x21\x99\x5a\xd6\x25\x0a\x93\x00\x32\x91\x37\xd8\xbd\xff\x7a\x20\x7b\x6f\xd4\x8c\x35\xa7\x83\x47\xff\xdb\xf8\xd8\x4f\x41\xc1\x8e\xd7\xb0\xac\xa4\x62\x6a\xeb\x07\xa2\xe1\x9a\xc8\x96\xb3\x54\xc0\xca\x22\x4f\x30\xd8\x7b\x0a\x77\x7f\xe3\x08\x50\x08\x73\xe4\x62\x09\x46\x31\xa1\x17\xa8\x14\xe6\x53\x3a\x48\x45\xa3\x1e\x81\x9b\x28\x06\x12\x9e\x30\xb4\xf4\xc7\xca\x64\x74\x69\x31\xbb\x21\x28\x68\x09\xdc\xd8\x79\xa7\x9d\x14\x56\x92\xba\xa7\x94\x26\x2c\x34\xda\x01\x52\x3f\xe3\x5e\xe7\x69\x42\xfb\xcb\xcb\x91\xcd\x0b\x74\x03\x87\x20\xd9\xce\xe5\x16\x25\xc3\xdd\xf4\xba\xdf\xc1\x92\xc7\x13\xaf\xa4\x3e\x7b\x3a\x3f\x89\x07\xa9\xad\x1b\x3b\x88\xc9\x90\x89\x79\x31\x3c\xcc\xc2\xbc\xa8\xe5\xfc\x3f\x98\x75\xcd\xcc\x9a\x16\xcb\x73\x9d\xa0\xe1\x46\x37\xde\xe4\x35\xd4\x71\x2e\xb9\x11\xa8\xf4\x01\x56\xc7\x35\xb0\xa2\x90\x1b\x67\x55\x39\x6a\xa3\xa4\x1b\xb7\x6b\x3a\xde\x91\x36\xc7\x8c\xd5\x1a\x5b\x43\x4e\xfd\x8a\x48\x8e\x0c\x96\x4c\x13\x55\xa0\xc4\xcf\x89\xed\x70\xd7\xc2\xfe\x7f\x4b\xfb\x8a\xa5\x7c\xcd\x11\x05\xd9\x9a\xae\x4b\x6a\xda\x44\xee\xc6\xde\x0b\x69\xc7\xf7\xde\xd0\x2c\x85\x61\x08\x3f\x60\x52\xcd\xb0\xca\x2b\xc4\x97\xf8\xfd\xc5\x53\x37\x28\x37\x6d\x05\x9c\x9f\x38\x07\x66\xfa\x49\x9f\xad\x1d\x6c\x69\xdf\x3a\x7c\x3b\x01\x8a\x7e\xc9\x0a\x5c\xc0\xd9\xf4\x2c\x59\x0f\x2a\x49\xc3\xe5\x6e\xd2\xbc\xcf\x8b\x42\x14\xd8\xb9\x22\x0e\x45\xc6\x0c\x9e\x37\x53\xdc\xf3\x6f\x3a\x92\x7a\xed\x37\x7d\x7e\xd6\x27\xad\x80\xfb\x6d\x90\x9a\xe5\x7e\xc7\x6f\x83\xf3\x24\xf0\x3e\x41\xf4\x34\x4e\x0a\x33\x5e\x71\x14\x64\x31\xe1\xfc\x9d\xa3\x03\xf5\xae\x05\x0c\x4f\xbe\xdd\xeb\xa9\x6a\xf7\xf4\x6e\x4d\xb5\xb5\x97\x92\xb7\xbe\x8f\xeb\x32\xf1\xc2\x59\x9a\xdd\x1f\x38\x17\x21\x22\xfb\x1b\xa0\x18\x8f\xea\xe3\x28\xe2\x66\x9a\x9a\xee\xf9\x49\x22\xe4\xc1\x08\xd4\x2d\xec\x0f\x0c\x45\x69\xf2\x71\x7a\x24\x2e\x80\xc5\x91\xe5\x6f\x54\x72\x27\xf1\x85\x74\xc2\xdb\x6c\xc1\x8a\x82\x12\x8f\xcf\x1a\x53\xb8\x72\xd7\x53\x65\xad\x5d\xf6\x70\xd5\x6d\xb8\x58\xdb\xc1\x68\x3b\x66\x2f\x30\xc2\xdd\x64\xa3\xee\x4d\x22\xbd\x90\x2a\x77\x37\x5f\x36\x8c\xb9\xf5\x14\xa3\x9b\x04\xf8\x2b\x2d\xe6\x86\x43\x41\xd2\x21\x40\xe8\xe6\xaa\xc9\x0d\x8e\xa8\x34\x3c\x2c\xc2\xec\x76\x52\x87\xe4\xa5\x7b\xd2\xcc\xd9\xf4\xac\x57\xc3\x3e\x18\x8c\xbb\x4e\xc8\x17\x69\xc0\x79\x46\x18\x7a\x9a\xc2\xa1\x2e\xa8\x3b\x3d\x89\x97\x4e\xfa\x8b\x2b\x48\x3a\x23\xf7\x5f\x74\x73\xec\xae\x15\x8f\x60\xe0\xa2\x34\x64\x3b\x97\x07\xad\xc8\x99\xfd\x6e\xc4\x6b\xcb\x5d\xa4\x52\x26\x09\x97\x8f\x0f\xbb\x74\xf4\xb7\x9a\x77\x89\x25\x10\x1a\xf7\x89\xcb\x81\x5e\x41\x00\x3a\x3a\xf8\xd8\xa6\x62\xb2\xb1\x32\xd8\xba\x89\xbe\xa4\x39\x1e\xf4\x8d\x18\xa2\xeb\x1d\x07\x59\x59\x4b\xfa\x63\xaa\xa0\x4a\x61\x8f\x31\xf8\x12\xd5\xda\xca\x0c\x46\x57\xee\xd1\x7d\x6b\xe4\x7c\x75\x8e\xb0\xb4\xf6\xa9\x48\x1e\xc2\xfa\xff\x68\x4f\x6f\xfc\x18\xf3\xfa\xb6\xaf\x0a\xc3\x92\x0f\x7c\xd8\xe4\xfe\x86\x0f\x9b\xd2\xe6\x73\x1a\x75\x23\x5f\x56\xd4\x75\x8c\xb9\x37\xa8\xc6\x66\xfd\x45\xc1\xf4\xeb\x06\xd2\xaf\x1b\x44\xbf\x42\x00\xed\xf3\xd3\xc7\x05\xce\x46\x8d\x70\x4f\xd4\xf4\xaa\xb3\x1d\x78\x1c\x2a\xad\xb9\xa4\x76\xf9\xdd\xd9\x19\x55\x5c\xe9\x96\xee\x37\x6a\x70\x01\xa7\x5e\x5a\xc9\xa0\xd2\x7d\xea\x96\x8c\x0b\x9e\x3b\xca\xda\x2f\x59\xac\xe2\xbb\x91\xc2\x0a\xcb\x7f\xdf\x47\xba\x62\x6b\x24\xb5\x73\x91\x7c\x23\xe3\x50\x36\xff\x26\x75\x69\xbf\x04\xba\x0c\x4e\x52\xbe\xba\x5f\xcd\xc1\x85\x2f\x3f\x07\x3e\x30\x78\xd2\x03\xfe\x2a\x9e\x0a\x74\xa1\xe3\x5b\xfd\x0e\x70\x77\x20\x4f\x3c\x8f\xfd\x44\xf2\x18\x8c\x9c\xf5\x93\x38\xe9\x93\x6e\xcf\x77\x07\x9d\x69\x7b\xd4\x34\xe3\x6d\x25\x35\xc6\x21\xdf\x6e\xfc\xe8\x0d\xf7\x23\x94\x68\x56\xd2\xb5\x1b\x4b\x34\x57\x76\xd4\xe6\x87\x54\x61\xcd\xac\x94\xac\x97\x4e\x8f\x1f\x43\x2d\xfa\x11\x6c\x92\x59\xb0\x2c\x56\x57\x68\x5b\xe0\x63\x3c\xbd\xf8\xd8\x8b\xc9\x2f\xf7\x23\x4a\xf4\x1e\x5b\xdd\x73\x56\xed\xfd\xf0\x2c\x48\x98\x6b\x5d\xe3\x4e\x25\xef\x7a\x9e\x67\xe3\x01\x69\xf7\xea\x2c\x41\x6f\x45\xaf\x57\xe3\x0e\x49\xc7\xc0\xcc\xac\xd7\x4e\x22\x15\x12\x2b\x2e\xcf\xb7\x26\xec\x52\xf5\x78\xe0\xe8\x8e\xb9\x58\xe0\xc8\x5c\xba\x9e\x1a\xfc\xff\xf3\x11\x1c\xfd\x37\x00\x00\xff\xff\xfb\xb7\x34\x17\x8c\x2c\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,7 +97,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0x90, 0x99, 0x14, 0x41, 0x57, 0x1b, 0xab, 0x91, 0x33, 0x41, 0xa9, 0x64, 0xa5, 0x5, 0x8d, 0xb6, 0x1f, 0xab, 0x8d, 0xc2, 0xa9, 0xf2, 0x7c, 0x3b, 0x9b, 0x1d, 0x46, 0xf4, 0x7a, 0x6f, 0xd5}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x57, 0xda, 0x55, 0x2a, 0x19, 0xe6, 0xa, 0x59, 0x55, 0x5d, 0x5e, 0xd7, 0x4d, 0x9e, 0x2d, 0x8d, 0x33, 0xd2, 0xa0, 0x22, 0xb9, 0x31, 0xda, 0x13, 0x50, 0x16, 0x2f, 0x83, 0xa, 0x7, 0xb, 0x9e}}
 	return a, nil
 }
 
@@ -221,7 +221,7 @@ func multiplevaultsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x3c\x6b\x73\x1b\xc7\x91\xdf\xf5\x2b\xda\x4c\x95\x43\x5e\x40\x80\x72\x7c\xae\x3b\x94\x11\x47\x96\xc4\x84\x57\xb6\x4e\x25\xd1\xc9\x55\xa9\x5c\xe6\x60\xb7\x01\x4c\xb8\xbb\xb3\x9e\x99\x25\x88\xa8\xf4\xdf\xaf\xba\xe7\xb1\xb3\x0f\x80\xa0\x22\x47\xfc\x20\x01\xd8\x99\x9e\x9e\x7e\x77\x4f\xcf\xca\xb2\x56\xda\xc2\x65\x53\xad\xe5\xb2\xc0\x6b\x75\x8b\x15\xac\xb4\x2a\xe1\xa4\xf3\xdb\xc9\x13\x3f\xf2\x95\xaa\xc6\x06\xf7\x7f\x8e\xe3\xff\x26\x71\xfb\x06\x8d\x2a\xee\x50\xfb\xb1\xe9\x4f\x27\x4f\x9e\xcc\x66\x33\xb8\xde\x48\x03\x99\xaa\xac\x16\x99\x05\x59\xd6\x05\x96\x58\x59\x03\x76\x83\x50\xa2\x15\xb9\xb0\x02\x8c\x15\x55\x2e\x74\x0e\xb5\x56\xb5\x32\x98\xf3\x5c\x59\xc1\xe5\x0f\x57\xaf\xcf\x2f\xbe\xf9\xe3\x37\x53\xfe\x85\xff\x79\x83\xab\x39\x6c\xac\xad\xcd\x7c\x36\x5b\x4b\xbb\x69\x96\xd3\x4c\x95\x33\x55\xad\x0a\xb5\x9d\xad\x0a\x59\x9b\xd9\xb2\x50\xcb\x59\x29\x64\x35\x13\x75\x5d\xc8\x4c\x58\xa9\xaa\xd9\x57\x17\x5f\x3d\xbd\xf8\xef\xa7\xdf\x9c\x57\x2b\x7b\x1e\x56\x9f\x96\x79\x0b\xfc\xad\xd5\x4d\x66\x0d\x88\x2a\x07\x8d\x46\x35\x3a\x43\x03\x99\xa8\x5a\xdc\x41\x55\x08\x4a\x43\xa9\x34\xf2\x9c\xb8\x0d\xbb\xab\xd1\x4c\x20\x13\x45\x81\x39\xdc\x49\xdc\x9a\x29\xbc\x14\xd9\x86\x3f\xf3\x63\xd0\x58\x6b\x34\x44\x02\x9e\x2b\x20\x97\xab\x15\x6a\x82\x7b\x2b\xab\x1c\xd4\x2a\xc2\x9b\x80\x69\xb2\x0d\x08\x03\x02\x32\x8d\xc2\x2a\x0d\x4b\xa9\xd6\x5a\xd4\x9b\x1d\xcf\x56\x1a\x04\xfc\xcf\xeb\x97\x7f\x01\x59\x8a\x35\xc2\x4a\x16\xc8\x94\x7a\x52\x37\xcb\x96\xec\x3f\x7a\x80\xc4\x1f\x03\xef\x9f\x3c\x01\x00\xa0\xf9\x2f\xa4\xa9\x0b\xb1\x03\x49\x4b\x2c\x85\x91\x99\xc7\x74\x23\x2c\xc8\x2a\x2b\x9a\x1c\x1d\xab\x2a\x51\xe2\x04\x72\x34\x99\x96\x35\xd1\x92\x28\x14\xe1\xd8\x4d\x53\x2e\x2b\x21\x0b\x58\x11\x4a\x15\xa8\xe5\x3f\x30\xb3\x53\xf8\x51\x19\xeb\xbf\x18\x30\x1b\xd5\x14\x79\x42\x48\x4b\xc2\x41\x0b\x4e\x03\x24\xfe\x9f\x70\x37\xcc\x87\x88\xa0\xc7\x39\xac\x77\xed\x31\x22\x6a\x11\x76\x61\xb9\x74\x50\x6f\x82\x34\xb0\x92\x58\xe4\xb0\x95\x45\x01\x4b\x84\xdc\x81\xc6\x9c\xe4\xac\x90\xc6\x33\xdd\x6e\x50\xe3\x4a\x69\xf4\xe8\x76\xc0\x2c\xf9\x57\x6d\x69\x8b\x99\xaa\x32\x69\x70\x3a\xba\x26\x6d\xa1\x40\xcb\x48\xce\x49\xa8\x64\xb5\xee\x6e\xe1\x19\x6c\xb5\xb4\x16\xab\x0e\x51\x3f\xd5\x7e\x04\xe4\x68\x85\x0c\x62\xd8\x85\x3b\xe9\x80\x32\x8a\xc5\x7b\x89\x2c\xd0\x70\x87\x7a\xa9\x0c\xc2\x29\x4e\xd7\x53\x10\x50\x0b\x2d\x58\xe2\x40\x56\xc6\xa2\x60\x09\x15\x60\x64\xb5\x2e\x10\x0a\x59\xe1\xd9\x61\x12\x24\xdb\xdb\x47\x09\x53\x8a\xa2\x48\x84\x28\xea\x88\x18\x21\xca\x31\x34\xf1\x92\xb6\x44\x10\xb0\xc5\xe5\xf9\x4a\x4b\xac\xf2\x62\xc7\x0a\x02\xa7\x72\x8a\xac\x35\x13\x78\xfd\xea\x2f\x67\x1d\x20\x2c\xf9\x9e\x1e\x43\x09\x99\xd0\x86\x6f\xa1\xd6\xc8\xca\x3d\x01\xb4\xd9\xe1\xdd\xc7\x4d\xcd\xe1\x59\xb5\x73\xd6\xe5\xfd\xa5\x2c\xf0\x43\x4b\x04\x59\x49\x7b\x1a\xbf\xd1\x5f\x2a\x36\x93\xce\x93\x11\x6a\x76\x07\x1c\x58\x30\x0c\x39\x83\xf7\x9d\x29\x06\x8b\xd5\x94\xd5\x69\xc1\x2b\x0f\x1f\xa6\x22\xba\x48\x71\x18\x0e\x6d\xb9\xb8\x68\x71\x89\xc3\x1c\x12\x1f\x5a\x0b\xf4\x57\x2c\x6a\xd4\x60\x15\xac\xb1\x55\x77\x96\x60\xb6\xa6\x62\x85\xb0\x15\xbb\x8e\x7d\xa0\x79\x7f\x26\xb9\x2c\x59\xb8\x83\xc7\x99\xc3\x33\xd0\xc8\xb6\x34\x43\x82\x48\x42\xa3\x83\x87\x0a\xc6\xbc\x85\xa0\xd1\x36\xba\x82\x67\x15\x28\xde\x8b\x28\xe2\xfa\xce\xfa\x0c\x8c\xd2\xaa\xa9\x08\x4d\x3f\xea\xf4\x97\xde\xf2\x5f\xbe\x4f\x1d\xe0\x34\x7c\xf8\x70\x06\xf3\x00\xf9\xbb\x84\xf4\x72\xc5\x12\xc2\xfa\xb9\xe8\x80\x9a\x7a\xac\x09\xdc\xe9\xf5\xae\xc6\x6f\xfd\xf4\x3f\x9d\x9e\xf5\x99\x17\xa0\x78\x10\x20\xcc\x77\x89\xd5\x84\xde\x9f\xdf\xf3\x5d\xe7\xc1\x87\x27\xc3\x4f\x7e\x60\xe5\x79\x97\x70\xec\x2f\x58\xa1\x96\x19\xc8\xca\xa2\x5e\x09\x22\x35\xe9\x4c\xeb\xd7\x40\x38\x35\x33\x56\x69\xcc\x81\x14\x58\x83\x5a\xad\x20\xdb\x08\x59\x4d\x81\x84\xd1\x40\x84\xe7\x95\xad\x31\x98\x13\xd3\x22\x07\x8d\xf3\x69\x66\x02\x77\x32\x47\xe5\xac\xb3\x22\xf3\x0c\x25\xe6\x52\xec\xf5\x19\x2d\x62\xb4\x52\x42\x84\xc0\xc2\x46\xcb\xd3\xb3\x68\x8b\x7a\xdb\xfb\x1b\xfb\x3f\x05\x78\x4f\x81\x48\xd8\x8b\x73\x88\x06\x44\x96\xa1\x31\x14\x0c\x81\x60\x2f\xf0\xd7\xeb\xeb\xd7\x70\xaa\x34\x7f\x78\x7b\x06\x3f\xbd\xf9\x61\x0a\xfb\x30\xa3\x31\x84\xd3\x7c\x0c\x33\xe2\x62\xa3\x8b\xa1\x8d\x64\xf3\x90\x3c\x19\x55\xdf\x46\x93\xc2\x35\x3a\x55\xb5\xc3\x1b\xef\x41\xf1\x0c\x0f\xc0\xf6\x6b\xec\x38\x81\x5a\x66\x5f\xbd\xbe\x7c\x1b\x79\xc3\xdf\x3c\x23\x41\x68\x6c\xd9\x9b\xc3\x72\x47\x1a\x2a\x35\xc7\x29\x14\x0e\xc8\x1c\x2b\x2b\x57\x12\x35\x9c\x3e\xbf\x7a\x71\x16\x81\x68\xc1\x6c\xb7\x1b\xc1\x9e\x4d\x6a\xcc\x2c\xfc\xf4\xe6\x6a\x0a\xcf\x20\x2b\x24\xcd\x4d\xa2\x3c\x96\xa8\xc6\xa0\x0b\x2f\x9e\x5f\xbd\x68\xc3\x14\x05\x2b\x8a\xb1\x48\x92\x0a\x25\xd8\xd9\xfb\xc8\xe9\x4e\x0a\x62\x27\xa3\xbb\x16\x16\xb7\x62\xb7\x57\xc0\x68\x50\x87\x8d\x1d\x0f\xf2\xfc\xea\x05\x49\x0a\x81\x1e\xd9\x18\xc5\x47\x8c\x17\xaf\xe4\xe2\xb5\x64\x76\x07\x52\x27\xd0\xcd\x55\x66\xa6\xb2\x5e\x99\xa9\x54\x33\x8a\x3d\xb0\xb6\x66\xe6\x57\x38\x17\x79\xae\x49\x30\xab\xf5\xec\xa0\x3b\xca\x64\x3e\xee\x84\x5f\x0b\xbb\x61\x01\x4f\xac\x61\x4d\xbf\x79\x3b\xca\x4c\x0e\x36\x94\xed\xb3\x27\x96\xe3\x86\xd2\xbb\xa3\x1c\xb3\x34\xa0\xaa\x62\x07\x15\x62\x4e\x7e\x75\xd5\x02\x97\x86\x22\x0c\x99\x63\x64\xf1\x41\xa0\x47\x10\x87\xc0\x9e\x9b\x9d\xb1\x58\x9a\xc3\x64\xa1\x9d\x06\xba\x7c\xd7\xd3\xbc\x84\x64\x93\xee\xc0\x51\x45\xcc\x64\x0e\x0b\xa2\xf3\xf0\x11\xd3\x73\xc1\x30\xc6\xb4\xb4\x25\x55\x53\x65\x2c\xc8\x4e\x27\x9d\x2c\x31\xb1\x2b\x61\xe5\x1d\x92\x91\x69\x05\x69\x20\x43\x07\x48\xb3\x51\xdb\x73\xab\x66\x5e\x5a\xce\xe9\xe7\x73\x55\x9d\x6f\x71\x39\xfb\x9d\x83\x7d\xde\xe8\xc2\xec\x25\x7a\xf0\x99\x14\x7f\x1b\x67\x45\x48\x02\x85\xac\xe8\x63\x64\x65\xa3\xe5\x5e\x72\x3f\x64\x87\xbc\x3f\xf3\xb4\x6a\xe9\xb6\xd7\x97\x9d\xd0\x2e\xe6\xb3\xd9\xc9\x94\x18\x2f\xec\x69\x60\xc3\x59\xf8\xe1\x64\x76\x12\x3f\x13\xac\xb3\x9e\xf7\x1b\xb3\x83\xfb\xa1\x3e\x6c\x19\xa3\x2b\x0c\xc6\x71\x2b\xed\xc6\xa5\x0c\x5a\xa3\xa9\x95\xcc\x69\xdf\xec\xc5\xc8\xbb\xef\x35\x34\x3f\xd2\x88\xbe\x7d\x61\x9b\xe3\xb8\x8f\x0e\xc6\x41\xd1\x5e\xb1\xa1\xda\x1b\x7b\xba\xfc\x35\x97\xe2\x9c\xb3\xd3\x4c\x95\x48\x2a\xea\x78\xa9\x74\xc9\xc1\xf7\xae\xc6\x99\x69\x96\x3c\x42\x18\x1f\xff\x2d\x31\x07\xca\x95\x3a\x49\x4a\x2b\x76\x78\x87\x85\xaa\x51\x4f\x4b\xf5\x4f\x59\x14\x62\xaa\xf4\x7a\x86\xd5\xf9\x4f\x6f\x59\x24\x67\x7f\xc7\xe5\x8c\xfc\xe1\xec\x7b\x4a\x3b\xcd\x2f\x6a\xf5\x0b\x7f\xfd\xf1\xea\xc7\x97\xbf\x70\xe8\x77\x70\x5b\x91\x78\x7b\xfc\xe5\xe8\xb6\x27\xc3\x69\x5d\x1d\x66\x26\xd3\xd4\x05\xfd\xd3\x7f\x10\x27\x2f\xe2\xa7\xfd\xc2\xf0\x77\x2d\x6a\x8a\x6c\x39\x28\x23\x76\x95\x4d\x61\x65\x5d\x78\x9e\xb9\xea\xc0\x41\xc6\x9b\x3e\xe7\x9f\x55\x20\xf4\x52\x5a\x2d\xf4\xee\xdc\xc8\x7f\x62\xce\x59\x89\xcf\xb9\x77\x50\x35\xe5\x12\x29\xd4\xf2\x82\x23\xc9\xf0\x0d\x28\xc7\xbf\xce\xe1\x1d\x8f\xf9\xb9\x47\xb6\x5f\x7a\x8f\x47\x4d\x1c\x0f\x81\x45\x0f\xfe\x03\xa1\xbd\xdf\xd2\xbf\x35\xb2\x6f\x5d\x99\x5f\xfd\x70\x5c\xef\x06\x3d\x2a\xac\x77\x53\x3e\x36\xaa\x77\xb3\x8f\x0c\xea\xa3\x4c\x40\xef\xef\x13\xc4\xf4\x63\x96\xab\x90\x19\x56\x14\xe0\x65\x99\xd2\x6c\xb0\xac\x8a\xea\x6d\xea\xfc\x9e\x35\xda\x8f\x32\x2d\xff\xae\x43\x51\xa7\x13\xd9\x7b\x4f\x1f\x22\x22\xb5\x22\x7b\xf8\xea\xf2\x9a\xdc\xbe\x87\x91\xef\xb5\x83\x3f\x78\x54\x86\x01\x33\xe1\x71\x15\xa3\xab\x3d\xb6\xe0\x97\x24\x00\x3b\x18\x44\x77\xa1\x91\x84\xc7\x2f\xc7\x8a\x79\x40\xf5\x33\xc9\x79\x58\xfe\xb0\xa0\xfb\x51\x8f\x92\x74\x3f\xe7\x63\x45\xdd\x4f\x3f\x52\xd6\x87\x0c\xff\x0d\x84\x3d\x26\x30\x14\x4e\x31\xb1\x29\x04\xb5\x58\x02\x57\x37\x01\xef\x2d\x6a\x22\xaa\x91\xb6\xf5\xd1\xbe\xa2\x9d\x88\xf6\x72\x97\x66\x1f\x24\xce\xb7\x08\xd3\x98\x68\x7c\x5f\xa8\x8c\xa0\xab\x90\xb8\x34\x06\x75\x92\xff\x7a\x36\x2b\x2d\xd7\x92\x56\xe3\x0a\x93\x2f\xa3\x92\x82\x70\x8d\xb7\xd6\xea\x1f\x34\xb7\xa6\x5c\x85\x93\xd1\xe0\x84\x5d\x74\x48\x03\x33\x55\x14\xc8\x81\x63\x8b\x2c\xae\xa3\xca\x6e\xb7\xdb\x69\xb9\xe3\xca\xb7\x87\xe6\xaa\xe6\x77\xa8\x89\xee\xe7\x6a\xc5\xcf\x5a\x28\xfb\xb4\xf1\xa5\xa7\x0b\x91\xed\x31\x29\xec\x2f\x70\x44\x12\xbb\x38\x98\x7b\x76\x75\x2d\x45\xe4\x33\xe9\x5b\x8a\xc2\x61\x9d\x4b\x46\x3e\x4a\xef\x92\x79\x1f\xab\x7b\x09\x88\x23\xf5\x6f\x9c\xc5\x9f\x5c\x07\x9d\x1c\xaf\x64\x85\x21\x5f\x2e\x6b\x65\xc4\x92\x52\x4d\xb5\x13\x85\xdd\xb5\x27\x43\x3c\x78\x2d\xef\xd0\x40\x29\xf4\x2d\xda\xba\x10\x19\x1a\x10\xad\x26\x35\x15\x99\xea\x3c\xad\x4c\x29\x30\x4d\xed\x8e\xb7\x2e\xaf\x3d\x50\x89\x66\xaf\xa7\x79\xe3\x97\xed\x45\x5e\xa1\xe6\xd5\x3d\x20\x7b\x83\x19\xca\xbb\x98\xd4\x23\x2c\xb1\xc2\x95\xcc\xa4\xd0\xbb\x50\xb4\xf6\xfb\xe8\x56\x08\x04\x4b\x44\x70\x88\x99\x46\x8b\xee\x70\x28\x4c\x0a\x80\x39\x71\x08\xdf\xa6\x6b\xb4\xc4\xcf\xd3\xb3\x5e\xb6\x97\xa9\xb2\xc4\x2a\x77\xc5\x8f\x73\xf8\x89\xed\x8b\x2f\x81\xf3\xb9\x11\x19\xb9\x0a\xb7\x89\x69\x81\xcb\x42\x6d\xdd\x2e\x3a\xc0\x74\x77\x4b\xd2\x40\x63\xc8\xf5\xdf\xac\xd1\x7a\xda\x84\x5d\xbf\x6e\x96\x85\xcc\x5e\x0b\xbb\x39\x3d\xbb\x99\xb0\xa9\xab\x94\xed\x82\x73\x55\x18\x24\x26\x8b\xa6\xb0\xc9\xaa\x71\x53\xce\x9e\xf2\x21\x86\x28\x0a\xb5\xf5\xe6\xd1\x2a\x68\xea\x9c\x50\xef\x00\x64\x92\x89\x5a\x2c\x65\x21\x2d\xd7\x89\x39\x51\x69\x6c\xa3\x99\xdb\x0d\x1b\x74\x3e\xc8\x58\x7b\x9e\xb5\xc3\x07\xb6\x2a\x20\x31\x87\xe7\x71\xd0\xb7\x5f\x3e\xab\x76\x6f\xbc\xea\xbf\xef\x30\x7c\x1a\xb6\xfe\xe1\x4f\x5d\xf1\xf8\xd1\x85\xf6\x14\x33\x84\x32\x66\x26\x8a\xac\x29\x08\x7f\x42\x50\x94\xaa\x71\x51\x8f\x11\x05\xc2\x9d\x28\x1a\x04\xab\x45\x65\x56\xa8\xb5\x9b\xd1\xe5\x83\x97\xc3\x96\x4c\xaf\x94\x45\x38\x87\x2b\x9b\x1c\x6e\x2c\xd1\x6e\x11\x2b\xb8\x98\x5e\x30\xfd\x9f\x4e\x2f\xba\x60\x5e\xde\xd3\x14\x27\x54\xc9\xca\xd2\xc0\x3d\x4f\x28\x5b\xc4\xa5\x81\x8b\xe9\x7f\x7e\x43\x43\xab\x54\x72\xbb\x00\xdd\xfc\x6d\x40\x80\x67\xfc\x07\xdc\x4f\x87\xda\x22\x8a\x62\x07\x35\xea\x0c\x2b\x4b\x4e\x6b\x8d\x49\x8d\xd8\x1d\xa9\x58\xd4\xa5\x21\xa2\x2c\x85\x91\x06\x6a\x25\x2b\xdb\xc9\xfa\x68\x90\x51\x85\xcc\x89\xd7\x4b\x41\xa4\x35\xa5\xd0\x36\x9e\x6c\x1a\xd8\x6e\x28\x1d\xce\x44\xce\x26\x5c\xad\x56\x24\x3c\x37\x3f\x5d\xca\xfb\x6f\xbe\xbe\xe9\xcb\x8e\xb0\x20\x0a\x8d\x22\xdf\x05\xb3\xe0\xec\x4e\xba\x3e\x8b\x50\x26\x0c\x51\x37\x13\xf4\x45\x5a\xd3\x05\x44\x69\xad\xf7\xf5\x42\x23\x50\x88\xa8\xb1\xd8\x41\x8e\xb4\x23\x59\x49\x63\x7d\x7d\x7c\x4d\xe9\x58\x32\xba\xca\xa3\x3d\xea\xea\x49\x4d\x12\xf0\x5f\x01\x05\xb5\x82\x5a\x63\x26\x4d\xf4\xe5\xa9\xd4\x66\x8d\x9d\x83\xdb\x61\x57\x0c\xff\x37\x78\xa5\xce\x21\x51\x1a\xaf\x38\xf5\xa1\x4d\xd1\x12\x62\x17\xaa\x36\x9e\xd7\x93\x81\xae\x69\x2c\x1c\xee\x1b\x59\x47\x71\xa3\x07\x37\x5b\x51\x14\x68\x6f\xc2\x99\x29\xd9\xd7\x09\xb8\x44\xd4\x6e\x08\x2e\x16\x06\x87\xf4\xe7\x50\x67\x5b\xa1\x86\x52\xae\x37\x16\xb6\xa2\xb2\x6c\xa6\x6b\xcc\xe4\x6a\x37\xdc\xed\xc1\xe3\x43\x8e\x2b\x3e\x5e\x8b\x27\x29\x2d\x27\x63\x4b\xf5\x9d\x65\xad\xc7\x82\xd2\xac\xb1\xf0\xa7\x05\xab\xe1\x97\x5f\xf2\xb7\x6f\x17\xac\x8c\x73\x38\x79\xde\x58\xaf\x35\xad\xde\xca\x8a\x7e\x92\x39\x68\x51\xad\x11\xe4\x14\xe1\xdd\xc5\xe4\xe9\xcf\x27\x7b\x3c\x2a\x84\x00\x29\x9a\xe7\x45\xb4\x0c\x23\x15\xc8\xc6\xc2\x82\xb0\x18\x3e\x7a\xf8\x1c\xef\x11\x75\x8c\xe0\x2b\x5d\x9f\x43\x9c\xf0\x63\xea\x9d\x49\xee\x7e\x6d\x50\xef\x9c\x33\xb9\x79\x13\x3c\xf0\x4d\xf0\xb8\xdc\x39\xf2\xea\xf2\x3a\x89\x88\x49\xa4\x58\xb1\xee\x6b\xcc\xac\xb3\x8e\xb5\xd8\xb5\xee\xdb\xdb\x02\x57\xa6\xa2\x6c\x87\x85\x27\x04\xe0\x0f\x38\x77\x9a\xdf\x2f\xac\x68\x2d\x76\x5e\x3e\xb5\xc8\x6e\x9d\x55\x90\x55\x2e\xef\x64\xde\x88\xa2\x5d\x39\x4e\x73\x07\x41\x5c\x15\x3c\x0b\x5a\x79\x55\xad\x94\x99\xc3\x3b\x4f\x98\x9f\xbb\x07\x30\x3e\x06\x1e\x19\xd7\x17\x32\x8a\x8f\x48\x3c\x9c\xf7\x10\x16\x4c\xc3\x75\x38\x51\x14\x2c\x5c\xad\xd5\x8e\x6e\x9e\x3c\xef\x12\x61\xcd\xde\xde\x9f\x94\x3c\x9d\x5e\x74\xc0\xde\x09\x8a\x9c\xad\x28\x9e\xb3\x80\x5c\xf4\x1e\x13\x6f\x83\xcd\x97\x55\xc4\x73\x44\xdc\x13\x20\xf1\xe3\x1f\xc2\xdc\x69\x5f\xf0\xba\x62\x2c\x8c\x41\x6d\x4f\xe3\x3c\xa7\x28\x13\x28\xd1\x18\xb1\xc6\x39\x9c\xbc\x75\x9b\x8d\xeb\x1f\xbf\xdb\x93\xb3\x3e\x19\x9f\x19\x23\xd7\xce\x60\x05\x78\xa3\xfa\xe2\x56\x5a\x0c\x07\xf5\x2a\xa5\x6f\x5c\x40\x9b\xc2\xe3\x12\xdc\x68\xa9\xb2\x77\xc8\x2c\x58\xc8\x92\x72\xb9\xeb\x79\xc0\x44\xac\x9d\x9c\xee\x2f\x7c\xfa\x54\x22\xca\xf1\xe9\x59\x22\x45\x07\xce\xf3\x46\xb6\x05\x87\x12\xab\x56\x51\x3e\x53\x5a\xf5\xa6\x47\x92\x7d\x49\x55\x4b\x89\xc7\xa4\x54\x71\xd6\xc7\x26\x54\x11\xc0\x91\xe9\x54\x6a\x78\xfa\xca\xf4\x49\x4e\xe4\x9d\x5f\x75\xe7\x75\x6c\x30\xa2\xab\xe1\x78\x94\x55\x9b\xfd\x05\xc9\x5d\xd7\x98\xc5\x92\x06\xf7\x80\xb5\x20\x38\x22\xc7\x3b\xac\x6c\xc3\xa1\x5c\x0a\x4b\xc4\xe0\xda\x6c\xa5\xcd\x36\x4b\x45\x19\x5a\xf0\x48\x93\x08\x77\xe3\x04\x20\x34\x6b\x2d\x1b\x0f\x96\x8f\x00\x3b\xc8\x45\x02\xd1\xb7\x4a\xf5\x1a\xc2\xfa\x47\x4f\x6d\xea\x11\x53\xaf\x80\x10\x65\x79\xa9\x67\xdc\x2b\x34\xa3\x79\xcc\x3c\x05\xfd\xbe\x4f\xfa\x59\xcd\x0f\x67\x3e\x1b\xbc\xbc\x7e\x93\xae\xf4\x40\x39\xd5\x37\x4c\xb9\x63\xd0\xa4\xc9\xcf\x17\x9b\x5e\x5d\x5e\x4f\x07\xfc\x08\xc9\x04\x27\x8b\x5a\x48\x17\x1a\x26\x7e\xe9\x16\x77\x33\x17\x5c\xd4\x42\x6a\x03\xa2\x50\xd5\xda\x65\x8d\x46\x95\xad\x8a\x71\xd9\xf5\x9e\x38\xc9\xa7\x06\xbc\xae\x58\xaa\xc6\xc9\x0d\x83\xde\xe7\x34\xaf\xe9\x61\x42\x8b\x91\xee\x3b\x9e\x3f\x85\x1f\xe4\x2d\xc2\xf7\x22\xbb\x5d\x6b\xd5\x54\xf9\x04\x5e\xee\xd0\x4c\xe0\xaf\x42\xea\x5e\xa3\xd4\x43\xdd\x71\xbc\x42\x53\xe5\xa8\x0b\x0e\x51\xdd\x16\xd3\xd5\x26\xc1\xa6\xd8\xf0\x33\x13\xd6\xb8\xe6\x34\x1e\x02\xb5\x56\x77\x32\xc7\xb0\xf9\x60\x88\x18\xd8\x10\x17\xfe\x39\x39\x31\xea\xe0\xe3\x3b\xc1\x48\xf9\x53\xbe\x98\x8d\xda\x32\xa1\xe3\x1a\x8e\xa8\x5b\x17\xe9\x4a\xe3\xc8\x44\xf1\x8c\xdb\x42\x14\x88\x14\x38\x89\xb0\xac\x8c\x15\x55\x86\x13\xd8\xa9\x06\x32\xd6\x5e\x13\xb0\xa2\xa5\x04\x34\x95\xbc\x07\x2b\x4b\x34\x56\x94\xb5\x4b\xb8\x7d\xd4\xdc\xc1\x4f\x18\x38\x79\x21\x2c\x9e\xf0\x86\xb1\x28\xd2\xb5\xea\x42\xd8\x95\xa2\xb4\x8b\x72\x54\x55\x99\xa6\xf4\x7d\x12\x8e\x66\xdc\x6b\xca\x81\x47\xc8\xe7\x85\x3f\x56\x1a\x06\xe6\xed\x9a\x23\x47\xe7\xe4\x2c\x85\xa6\xbc\x8d\x42\x40\x51\x18\x15\x15\xde\x95\x41\x8b\x9d\x97\x7c\x61\xad\x96\xcb\xc6\x76\x0e\xb1\xbb\xc2\xe0\xb4\x21\x7a\x87\x90\x98\x31\x7a\x45\xd1\x42\x30\xdc\x57\xe0\xb7\xe6\x7f\x0b\x6c\x7f\x75\x79\xfd\x7b\x03\x9a\x71\x1a\x72\xdf\xfd\x3e\xf7\x38\xf7\x5b\x00\x3a\xed\x78\x03\x49\x99\x8c\x92\x62\xd2\x87\xf9\xf8\xae\x3b\xc7\xfc\x85\x5b\x70\x24\x98\x4f\x98\xbe\x48\x71\x18\xc9\x1b\x1c\x2b\x16\x1e\xa7\x23\xa3\x7d\xb6\x60\x6c\xf9\x42\xa8\x12\x8c\xd0\xc3\x26\xcb\x4f\xf4\x13\xf8\xe0\xef\x08\xab\x15\xc1\xa5\x4a\x35\x62\xb5\x50\x64\x1b\x6f\x76\x46\xed\x95\x19\x29\x4c\x3b\x54\xe6\xf0\x8e\x47\x0c\x0f\x3e\x7b\xcf\x47\xd9\xe5\xb7\xb3\xf0\x83\x47\xbc\x34\xfd\x75\x73\x8b\x3c\x37\xad\xf9\x77\xd6\xd4\x8b\xa4\x47\x95\x68\xdd\x99\xd2\x8d\x20\x5d\x7c\xc5\x63\xe7\x6c\x18\x9d\xa6\xfa\xed\x5a\xd6\x2b\x91\xe7\x98\x1f\x0c\x1b\x45\x9e\x33\x08\xda\xe8\xdc\x41\x3b\xb0\xc3\x29\x49\x41\x95\x9f\xda\x03\xdd\x0e\xdd\x90\x31\xd9\xcb\xe7\x0a\x1a\x3d\x0a\x87\x23\x46\x37\xe8\x51\xe1\xa2\x9b\xf2\xb1\xb1\xa2\x9b\x7d\x64\xa0\x38\x10\xde\xf0\xf7\x09\xa2\x44\xcf\xaf\xd8\x5c\x64\x15\xa0\x30\xb2\xe0\x9c\xe4\x0e\xb5\xe5\xbe\x2b\x7e\x26\x28\x5f\x57\x5e\xc8\xa7\x70\xa9\x34\x97\xcf\x93\x70\x22\x9c\x11\x19\x5f\xc4\x57\x6c\x8c\xd9\xfa\xa2\xe4\x66\xbd\xd0\xb4\x1d\xb8\xc3\x0a\xef\xfd\xf3\xb5\x73\xe1\x11\x1e\x3b\xa0\x12\xed\x46\xc5\xd6\x6d\xd3\xac\x56\xd2\x09\xc2\x5a\xde\x71\x10\x59\xb2\xb7\xe0\x2c\x4a\xad\x7c\x01\xc5\xa3\xb8\x4f\xc0\x68\x3f\x4e\x69\xba\x3b\x5b\x62\xd8\xb4\xb3\x56\xd7\xad\x3a\x27\xb3\xf1\x9e\x2f\x40\xe4\xaf\x44\x89\x66\xde\x69\x14\xf6\xad\x4b\x0e\x1b\xef\x85\x43\x31\xed\x86\xd6\xba\x89\xc0\xc2\xdf\x2d\xee\x3c\xb5\x84\x76\xbe\x6b\x2b\x2a\xbf\xfe\x12\x33\x32\x78\x37\x0e\x8f\x9b\xd1\xa0\x97\x23\x5c\x41\x13\xfa\x76\xa3\x2f\xe6\xb4\xfe\xb5\xf2\x92\xee\x48\xf0\xde\x21\x9c\x78\xad\x0f\x93\xfe\xfe\xde\xb9\x31\x3f\x7f\x77\x36\x1f\x0a\xe2\x6c\x06\xcf\x23\xd7\x5d\x05\xcf\xf8\x12\x5e\xd8\x4a\xf4\x12\x3e\x14\x73\xc5\x79\xa9\xdb\x50\xd7\xdf\x28\xc9\xa7\xbd\x58\x6f\xd7\x2b\x06\x6e\x44\x95\x17\xe8\x9c\x00\x13\x97\x32\x10\xae\x2e\xda\x76\xf0\x3f\x1a\x93\xac\xcd\xf2\x11\xe0\x73\x6f\x6e\x51\x4c\x53\x85\xed\x6c\x16\xbe\x58\x90\x8a\xf4\x14\x8d\x02\xb1\x5b\x42\xbb\x33\xf6\x8b\x11\x75\x24\xa2\x4e\x35\x96\xea\x0e\x4f\x6f\x71\x37\x87\xdb\x7e\x4f\x59\xfb\x29\x7e\x1c\x71\x42\xb0\x80\x77\x3f\x3f\x19\xac\xcf\xe0\x59\x5e\xba\x4b\x47\x08\xb0\x70\x1c\xf2\x91\xc9\x6d\x0c\x4a\x68\xe6\xbb\xdb\x9f\xbf\xe8\xc5\x24\x95\x2c\xda\x78\xa4\x92\x45\x17\xdb\x9e\xcd\x67\xdf\x30\xb6\x81\x20\x8c\x4e\xb0\xdc\xac\xb3\xbe\x99\x89\x45\xe8\x58\x30\x1c\x58\x0b\x69\x4c\x83\x6d\x1d\xd1\x5f\x0f\x8a\x10\x38\x7d\x71\x27\x16\x25\x5f\xb4\x32\xb2\x94\x85\xd0\xc9\xbd\x28\x02\x8b\xf7\xa2\xa4\xe9\xa2\x82\xff\x23\x83\xf0\xf4\xe2\x82\x42\x66\x7f\xa0\x14\xa1\xc9\x8a\xe2\x5d\x77\x36\xe6\xe2\x93\x55\xe3\xae\x29\xb9\x0a\xb6\xab\xca\xa7\x47\x8a\x6d\x50\xf3\xcc\x9d\xc0\x3b\x79\x5b\x52\xb8\xa2\x39\xdf\x88\xa8\x63\x2e\x79\x5f\x13\xd8\x6e\x64\xc6\x0d\xb4\xdb\x0d\xb7\x35\x87\x47\x7b\x11\x71\xc4\x24\x59\x35\xce\xae\xf9\xc6\x2e\x70\x8d\x5d\x6c\x59\xf6\xe5\x64\x2f\x3d\xec\x07\x6e\x45\x79\x14\x3a\x63\x2e\x5b\xca\x4d\x9c\xdd\xcd\x42\xa9\xe0\x2d\xda\x09\xbc\x2e\xc4\x6e\x02\x6f\x51\x4b\x34\xdd\xe3\x00\xdf\x64\xe6\x3a\xf0\xb7\x62\x97\x74\x25\x38\x10\x59\x21\x8c\xa1\x6c\x84\x2c\x47\xa0\xcc\xc1\x9c\xef\xbb\x21\xfe\x81\x6c\x6d\x2f\xdb\x9e\xab\x3f\xbc\x13\x51\xc1\xc9\x57\x5f\x07\xee\x9f\xfe\xee\xab\xaf\x67\x4f\x2f\x2e\xce\x4e\xb8\x8d\xc3\xe5\x88\x1e\x90\x34\xf0\xd5\xd7\x23\x19\x28\x3f\x9d\xc3\x4f\x57\x95\xed\x1f\xa7\x10\x3a\xa5\xb8\x1f\x45\x89\x12\x26\x7f\x60\xeb\xc5\x77\xda\x9b\xdb\xbf\x8b\x14\x6a\x1e\x3e\x2b\x75\x75\x8f\x42\x96\xd2\x62\x7e\xee\x97\xc0\x7c\x1c\xda\x11\x5b\x25\x44\xa5\xa1\x67\xa3\x53\xb9\xad\x85\x15\xab\xa9\xfc\xa2\x61\x5f\x6e\x6e\x5b\x31\xa2\xb4\xd3\x2a\xb2\x12\xd3\xf1\xa8\x34\xb6\x60\x8a\xfb\x40\xb8\x43\x09\xd3\x77\x93\x1e\x95\x27\x9d\x99\x23\x61\x11\xe1\x33\x6a\xa0\xa1\x2d\x20\x7b\x66\x7c\xbb\xa0\xd1\x5f\xa4\xf5\xe3\xeb\x96\xe9\x99\xa8\xc6\x4a\xc5\xd6\x33\xd6\x8d\xfa\xe2\x64\x9f\xed\x86\xa3\xb2\x34\xbf\xd6\xa2\x9f\x27\xc7\x01\xb4\x14\xa3\x79\x64\xda\xd5\x39\x64\x09\xaa\xde\x69\x17\x85\x3d\x06\xe1\x5f\xe8\x18\x1d\xe8\x6b\xe7\xc4\xae\x63\x05\x45\xb0\x83\x03\x89\x20\x13\xf7\x83\x34\x76\x0e\xef\x3c\x46\x23\xfd\xa5\xc3\x31\xe3\x4d\xa6\x7e\x1c\x2c\xe2\x94\x63\x73\x91\x48\x8d\xcf\x75\x8d\x2c\x22\xf0\x40\x4b\x90\x1f\xf6\xb8\x7e\x20\x3f\xe9\xa3\x9b\x81\xfc\xfc\x63\x3b\x81\x5a\xc9\xea\x6b\xe2\xa7\x6a\x03\x8a\x45\x31\x8e\xa8\x83\x53\x39\x77\x8d\x41\x39\x18\xd4\x52\x14\x41\x54\x5d\xf9\x39\x1c\xf8\x91\x60\x46\x60\xaf\xdd\x44\x03\x1b\x71\x87\xc9\xb5\x6a\x06\xe4\x77\xc1\x7e\x9f\x63\xf0\x1e\xdc\x68\xff\x22\xb8\xb7\x14\x7d\x96\x62\x17\x9b\x58\xf8\x90\x52\xe3\xba\xa1\x58\xe4\xea\x85\x2b\xc0\xa5\x83\xd2\xbb\xdc\x6d\xae\xe4\xbc\x62\xb8\x9b\xe4\xae\xa3\x4c\xdd\x0d\x8a\x0e\x06\xd2\x74\x0e\x3c\x97\x08\x4d\x25\x7f\x6d\xb8\x79\xa4\x5a\xb7\x00\x9d\x03\x66\x64\xc8\xa0\x73\x94\x2d\x6c\x20\xdb\xbe\x90\xe1\xad\x5b\x6b\x58\x16\xd9\xe7\x01\xbd\xba\x76\x1f\x8f\xd7\xb0\xf6\x18\xc0\x07\xb4\xd4\x63\xf4\xb9\x74\xd4\x2f\x7f\x58\x43\xdd\xa0\x47\xe9\xa7\x9b\xf2\xb1\xda\xe9\x66\x1f\xa9\x9b\x03\x9e\x7e\x6a\xcd\x6c\x9b\x64\x7d\x01\x31\x8d\x61\xbd\x26\xba\xba\x56\x52\x57\xa4\xd9\xdc\xac\xe4\x72\xdd\x30\xb5\x42\xcc\x8d\x4b\xee\xee\x30\x14\x09\x4c\xa6\x34\x87\xf8\x69\x63\xc2\xb2\xb1\x20\xdd\x25\xec\x08\x90\x27\x2d\x55\x5b\x21\xec\xcb\xb7\x2f\x36\xbf\x1f\x44\x70\x7e\x09\xdf\x58\xe7\x46\x71\x95\x7b\x4f\x59\x9b\xc7\x87\x9e\x90\x91\x00\xb5\x14\xf7\xb2\x6c\xca\xf6\x4c\x82\x27\xec\x09\x8e\xf6\x01\x19\xb9\xf2\x9f\xa2\xe6\xae\x56\x3d\x70\xa1\x2e\xc6\xed\x3f\xe0\x1a\xab\x5c\xe8\xdd\x04\x5e\xd6\x32\x9b\x10\x2d\x70\x02\x3f\x55\x99\x2a\x4b\x8a\xef\x9e\xf3\xff\xdd\x00\xde\xdf\xde\xea\x96\x96\x0f\xf4\xdc\xf4\x23\xbc\x2e\x99\x26\x9d\xfd\x8e\x76\xd2\x8c\x05\x7a\x8e\x37\x0b\x17\xea\x7d\xf9\x65\x87\x2c\x8b\x7d\x01\x60\x2d\x2a\x99\x9d\x9e\x3c\x0b\x2c\x8f\x82\x65\x02\xf7\xba\xef\xa9\x50\x9a\x05\x67\x10\xe5\x0d\x0d\x99\x47\xa7\xc7\x51\xd8\x1f\xc7\xc1\xbf\xd0\x57\xd3\x3b\x71\x77\x7b\xf9\x9c\xe5\x53\x8f\xc2\x03\x07\xee\x3c\xe8\x71\xa7\xed\xee\xf8\xe3\x63\x8f\xda\x79\xf6\xb1\xe7\xec\x7d\x23\x10\xfe\x3e\x81\x41\x7c\x75\x79\xcd\x36\x71\xab\x45\x6d\xb8\xd4\xf5\x9c\x5f\x97\xc1\xaf\x54\x71\x27\x18\x37\x32\x77\xfd\x70\x37\x4d\x43\x1f\x5d\x1d\xcc\x9d\xd4\x85\xa3\x91\x08\x2f\x14\x36\x05\x77\x3d\x17\x68\x11\x6a\x99\x71\x1f\x6b\xbc\x1c\xe3\xdf\x9f\xc2\xbe\x7e\xfc\xe5\x29\x11\xdc\xc1\xb7\xa8\x04\xdc\x87\xde\x5f\xe6\xd1\xf3\xf7\x1f\xd1\x1e\xf6\x3e\xf4\xd5\xa5\x79\xf7\xd5\x32\xd3\xf0\x96\x83\xc1\x78\x6c\x1b\xca\xfb\x73\xd2\x06\xf7\xc1\xbc\xb6\x76\xf4\x42\x58\x31\xa7\x9d\x3c\xef\xfc\x74\x70\x4a\x40\xb2\x3b\x6b\x1f\x8e\xb1\x09\x21\xed\x10\x19\x8c\x0a\x15\x3c\x7f\x2a\x70\xe8\x2d\x1e\x32\x87\x98\xf3\x76\x1e\x10\x69\xf7\x3c\xf2\x84\x85\x7d\x94\xed\x8e\x4e\xc8\x3a\x98\x91\xd2\xb5\x3b\xab\x4b\x54\x18\xa3\xea\xde\x09\x11\xbd\x51\x9a\x76\xa7\xb5\x5d\x1d\x29\x45\x7b\xaf\x2b\xe9\x91\x33\xfc\x3e\x9e\x13\xe6\x7c\x27\x6b\xf8\x80\x09\xba\x60\xba\x8e\x18\x67\x8f\x73\x3c\x23\x1d\x0e\x49\xe9\xb8\x48\xa9\x3a\x1c\xda\x23\xde\xa2\x47\xcd\x83\x13\x22\x22\x83\xdf\x86\xd3\x5a\xe2\x2d\x46\xda\x0f\xe1\xb8\x13\xc9\xbd\xfe\xc6\xdf\x2d\x62\xcb\xb9\xcf\xbd\x90\xfa\x5f\xfb\xe4\x5f\xe6\xbf\x89\xf3\x09\x86\xe9\xb0\xd3\xf1\xa3\x4e\x5b\x7b\x34\x79\x84\xff\x19\x1a\x3f\x4e\x7b\x56\xf6\x6f\xc7\xf8\x1f\x3f\x9b\x1c\x50\xea\xbf\xc2\xf4\xd1\x32\x55\x70\x22\x6e\xcc\x17\x20\xcc\x17\x01\x8b\x84\x3f\x7d\x9f\x13\x76\x39\x34\x21\x32\x1f\x9a\x8f\x79\x17\x6f\xfa\x69\xd4\x90\xf4\xad\x42\xf2\xfa\x9a\x14\xc0\xd9\xf1\x76\xa5\x77\x97\xe9\x00\x94\x81\x9d\x61\x89\x75\x0c\xed\xda\x9b\x23\xa1\x44\xe3\x33\x0e\xe8\xe1\x7d\xa5\x16\x29\xc0\x68\x7b\x08\x0f\x4c\xf4\x6a\xd6\xce\xf2\x87\x20\x9d\x29\xad\xf1\x7a\x20\x9b\x72\xdd\xc5\x6d\x2a\xe5\xdf\x86\xc1\xef\x50\xf1\x6f\x9e\xb3\x5a\xe2\x1d\x8e\xb7\x59\x1c\xba\x7c\xe8\xe2\xe0\xa6\x06\xd1\xbb\x13\xe8\xaa\xbf\xb5\x56\x64\x05\x22\x3c\x5a\x52\xac\xdd\xa2\xae\xbb\xad\xbd\x2f\x73\xe8\x9e\xd4\x80\x83\xbd\xcc\xcb\xbd\x4e\xa4\x8a\xf0\xb7\xfc\xa6\x00\x0e\x59\xfc\xa5\x5f\x1d\xae\x2d\xc5\x72\x87\x7b\x85\xcc\xb0\x46\xef\x61\xbc\xf6\xaf\xde\x88\x5f\x7a\x2f\x30\x71\xd8\x73\x03\xa3\x3b\x8c\x29\x1b\xc3\xf5\xca\x42\x56\xb7\x6e\x11\x4f\xfe\x91\x8d\xc6\xaa\x7e\x28\x28\x41\x3c\xb5\xc9\x8a\x86\x6f\x3f\xc7\x9b\x68\xbc\x81\x70\xc5\xcc\x1f\x1f\x79\x0d\x71\xd1\x60\xfb\x70\xb0\x97\x3a\xb6\x17\xa6\xad\x86\xbd\x9d\x68\x79\x27\x2c\xa6\x5b\x69\xab\xf3\x83\xcd\x70\xe3\xa7\x3b\x53\xd0\x1d\x30\xc9\x35\x29\xab\x98\xfb\xb9\x16\x5b\x17\x4c\x72\xd3\xbd\xbb\x7e\x16\xe5\x63\xa3\x0a\xde\x27\x0d\x18\xe2\xed\x57\xf0\x98\x3b\x0c\xf7\x32\x21\x81\xca\xa7\x24\xe1\xed\x49\x9d\x86\x7e\xdf\x9d\xe7\x0e\xfa\xf9\x1d\x3e\x1a\x45\x7e\xce\xe7\x24\xae\xbb\x9e\x85\xd9\x53\xbd\xb3\x4c\xe8\x61\x30\x70\x9a\x63\xad\x8c\xb4\xf0\x07\x72\x14\x57\x2f\x0c\xfc\x01\x96\x4a\x6b\xb5\x7d\x75\x79\x7d\x36\x4c\x9a\xe3\x5b\x68\x56\x94\x16\x8a\xec\x76\x2b\x74\x6e\x38\x04\x17\x56\x7a\x72\xb1\xa6\x0c\x4e\x2d\xb9\x04\x51\x29\xeb\x5b\x9c\xf8\x0d\x28\x23\xb8\xf5\xdf\x97\x39\x6d\xf5\xc4\x53\xa7\xbd\x9e\xb8\xdd\x60\x45\xea\xca\x95\xcf\xa6\x4e\xd7\x74\x5d\x17\x55\xaf\x33\x28\x19\xe0\x4f\xef\x4a\xb1\x4b\x0e\x6d\x96\x08\xf8\x6b\x23\x8a\xe0\x83\x99\xfa\xbe\x58\xea\xee\x5c\xdd\x38\x09\xfc\x81\xc5\x88\x3c\xdc\xcd\x50\xe1\xdc\x90\x16\xef\x39\x70\x57\x59\x97\x9a\x91\xaf\x03\xd9\xf4\x67\x06\x62\xa5\x34\x67\x2a\xee\x60\xab\x6e\xf5\x73\x1a\xbb\xc5\x2a\x32\x81\x05\x31\xbc\x03\x5c\xa3\xb1\x5a\x3a\x49\xa1\x75\x98\x21\xa5\xa8\x76\x89\x6a\xf1\x8d\x38\xb1\x2c\xdc\x69\xeb\x0d\x59\xc9\x3e\xa5\x6f\xba\x07\x98\x3c\x26\xb4\xec\xfa\x1b\x8b\x37\xa3\x71\x43\x0b\xe8\xa6\xa3\xe9\xfc\xfe\xaa\x5f\x1b\x39\x6a\xa6\xfa\x84\xfd\x34\x54\x4b\x6c\xc1\x90\x6c\x1d\xd8\x62\x9c\x6c\x5c\x83\x2b\x65\xc5\x45\xab\x48\xaa\xd7\x5e\x9f\x93\xfd\xed\xd5\xf9\xc3\x5b\xba\x8c\xfd\x44\xee\x7a\x5d\xa1\xb6\xc6\xdd\x3a\xf5\xc5\x2d\x51\x01\x96\xb5\xdd\xf5\xfd\x51\x30\x0a\x84\x40\xf0\x02\xec\x02\x3a\xe0\x83\x51\x1e\xb9\x06\xc7\x47\x7a\x2f\x09\x74\x2a\xaa\xa7\xa7\x67\x73\xf8\x73\x7a\xfb\xeb\x80\x46\x7e\x38\x3b\x94\xbf\xed\x73\x3c\xdd\xd0\x60\xdc\xa4\xf7\xc6\xec\x33\x9f\x63\xa0\xfa\x8a\x37\x36\xa6\xcf\x93\xf1\xe5\x0e\x8f\x1a\x25\x60\x60\xe7\xe3\x09\x19\xc0\x1e\x77\x65\xae\xbf\x8d\xa9\x34\x6f\xdd\x1b\x86\x4e\xd5\xca\x61\xfb\xed\x97\x87\x56\x74\xa4\x9e\x0c\xed\x6d\xd0\xf0\x09\x3c\xa0\xdb\x1f\x28\xa8\x9f\xc3\x89\x37\xcb\xac\x32\x1c\x33\xf8\x36\xa2\x87\x4d\xf9\xc1\xd5\xc9\xbc\x3c\x80\x41\x6a\xce\x4e\x86\x24\x1a\x70\xf1\x48\x22\x05\xe5\x1e\x41\x6f\xb8\x83\x63\x89\xe4\x61\x1e\x43\xa6\x47\xad\xff\x28\x32\x4d\x1f\xbc\x21\x99\xe8\xec\x22\xf9\x3c\x1c\xd8\xaa\xed\xa2\xfd\x38\x32\x2c\xd1\x5c\x58\x74\x14\x79\x1f\xcc\x16\xf1\x45\xff\x87\x7d\x53\x5a\x16\x2f\xfa\x3f\xec\x47\xa9\x1d\x93\x20\x76\x68\xe2\xa8\xc2\x2f\x0e\x9a\x81\x63\xeb\x09\xc3\x7c\x80\xab\xd8\xdb\x70\xad\x92\xaf\xfd\x84\x66\x72\x17\x15\xe6\xb1\x55\xec\xdf\x53\xdf\x1e\xa2\xf8\x60\xd5\xa1\x97\xa4\x3e\xa6\xea\x3d\x2c\xa9\x7d\x64\x01\x7c\x00\xe8\xc8\x5a\xf8\xa1\x0c\x2d\xfc\x7d\xfa\x73\xc2\x3d\x99\xad\xbf\x2b\xc3\xd7\xea\x83\x47\xff\x7d\xdb\xce\x92\xbc\xb9\xe6\xa8\x0c\xd7\x15\xce\x2b\x08\xef\xae\x61\x23\x12\xa1\xf1\xdb\xaa\x65\x66\xc2\xc9\xda\x20\xee\xf0\x49\xe8\x12\x0b\x55\xad\x09\xe0\x91\x69\xee\xe0\xad\xba\x14\xee\x8b\x72\x10\xd1\x31\xda\x1c\xdb\xfb\x22\x8c\xeb\x0c\xf6\xcb\xf6\x5f\xd3\x03\xc7\x5c\x88\x7a\x91\x1c\x30\x8d\xad\x36\x46\x94\x90\xd2\x1e\x5a\xf0\x81\x97\x73\xc7\x17\xc1\xb8\x57\x87\xf0\x3d\x24\xff\xb6\x24\x5e\x82\x5f\xb4\x91\xf2\x3b\x5c\x2a\x7b\x60\xd9\xe3\x8e\x03\x3a\x98\xbc\xfd\xb5\x11\x1a\x7d\x13\x93\x7b\x67\x6b\xe7\x86\xdd\x83\x6b\x1a\x06\x70\x55\x72\x97\x58\x77\x4d\x7e\xb5\x5a\x67\xb5\xef\x45\x55\xa1\xee\xac\x16\xdf\x88\xd2\x2e\x32\xe9\x57\x31\x38\x47\x14\xdc\xc2\x09\x15\x0a\x0d\x4f\xbf\xba\xb8\xb8\xff\xe6\x8f\x17\x43\x74\x96\xbc\xc2\x91\xe8\xbc\x55\x99\xf4\x4c\x30\x6e\xdb\x7c\x01\xa6\x8b\xcd\xef\x0d\x18\x37\x6e\xa3\x4a\xac\xc5\x1a\x3b\x6d\x84\xf0\x5a\xf9\x37\x17\x73\x67\xb1\x4f\x1c\x4f\xf8\xe6\xd9\x5a\x8b\xf2\x64\x02\x27\x76\x2b\xad\x45\x4d\x1f\x73\x69\x32\xa5\xf3\x93\x3d\x57\xf7\xdc\x4a\x26\xe9\x2c\xdf\xcb\xc6\xdf\xea\x4d\xe7\xc7\x09\x51\x77\xce\x43\x42\xd0\x1d\xfd\x10\x8f\x7a\xb0\x1f\x43\x92\x30\xe9\x37\x7d\x17\xfb\x23\x8e\x35\x12\xc2\xc0\x22\x25\xd3\x70\x68\x42\x15\x58\xa4\x34\x1a\x81\xea\x48\x42\x10\xdd\xa7\x8f\x8b\x27\xd2\xb7\xc2\x8f\x87\x14\x3e\xa2\x88\xd0\x3e\x63\x68\xf1\xa8\xb0\xe2\x23\xde\x24\x3f\x7a\xf0\xf6\x49\x82\x8b\x47\xbd\x63\xfe\x01\xd7\x18\xfe\x3e\x3e\xc4\xf8\xf0\x04\xfe\x3f\x00\x00\xff\xff\x88\x50\x01\x42\xc4\x66\x00\x00"
+var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x3c\x6b\x73\x1b\x37\x92\xdf\xfd\x2b\x3a\xda\xaa\xac\x74\x4b\x91\x4a\x36\x97\xba\x63\x85\x9b\x75\x6c\x6b\x57\x57\xb1\xcf\x65\xcb\xbb\x57\xe5\x4a\x59\xe0\x0c\x48\x62\x35\x03\x4c\x00\x8c\x28\xae\xcb\xff\xfd\xaa\x1b\x8f\xc1\x3c\x48\x8e\xb4\xce\xda\x1f\x12\x8a\x04\x1a\xdd\x8d\x7e\xa3\x01\x51\x56\x4a\x5b\xb8\xac\xe5\x5a\x2c\x0b\x7e\xad\x6e\xb9\x84\x95\x56\x25\x9c\xb4\xbe\x3b\x79\xe2\x47\xbe\x52\x72\x68\x70\xf7\xeb\x38\xfe\x6f\x82\x6f\xdf\x70\xa3\x8a\x3b\xae\xfd\xd8\xf4\xab\x93\x27\x4f\x66\xb3\x19\x5c\x6f\x84\x81\x4c\x49\xab\x59\x66\x41\x94\x55\xc1\x4b\x2e\xad\x01\xbb\xe1\x50\x72\xcb\x72\x66\x19\x18\xcb\x64\xce\x74\x0e\x95\x56\x95\x32\x3c\xa7\xb9\x42\xc2\xe5\xcf\x57\xaf\xcf\x2f\xbe\xff\xe3\xf7\x53\xfc\x86\xbe\x7d\xc3\x57\x73\xd8\x58\x5b\x99\xf9\x6c\xb6\x16\x76\x53\x2f\xa7\x99\x2a\x67\x4a\xae\x0a\xb5\x9d\xad\x0a\x51\x99\xd9\xb2\x50\xcb\x59\xc9\x84\x9c\xb1\xaa\x2a\x44\xc6\xac\x50\x72\xf6\xed\xc5\xb7\xdf\x5c\xfc\xf7\x37\xdf\x9f\xcb\x95\x3d\x0f\x8b\x4f\xcb\x3c\xc2\x7e\x6b\x75\x9d\x59\x03\x4c\xe6\xa0\xb9\x51\xb5\xce\xb8\x81\x8c\xc9\x06\x73\x50\x92\x83\xd2\x50\x2a\xcd\x69\x4e\x24\xc2\xee\x2a\x6e\x26\x90\xb1\xa2\xe0\x39\xdc\x09\xbe\x35\x53\x78\xc1\xb2\x0d\x7d\xa6\x9f\x41\xf3\x4a\x73\x83\x0c\xa0\xb9\x0c\x72\xb1\x5a\x71\x8d\x70\x6f\x85\xcc\x41\xad\x22\xbc\x09\x98\x3a\xdb\x00\x33\xc0\x20\xd3\x9c\x59\xa5\x61\x29\xd4\x5a\xb3\x6a\xb3\xa3\xd9\x4a\x03\x83\xff\x79\xfd\xe2\x2f\x20\x4a\xb6\xe6\xb0\x12\x05\x77\x7c\x62\x59\xc6\x8d\x39\x65\x45\x71\xd6\x30\xff\xa5\x07\x8c\xbb\x64\xe0\xe3\x93\x27\x00\x00\x08\xe7\xb9\x30\x55\xc1\x76\x20\x70\xa9\x25\x33\x22\xf3\x18\x6f\x98\x05\x21\xb3\xa2\xce\xb9\xdb\x30\xc9\x4a\x3e\x81\x9c\x9b\x4c\x8b\x0a\x59\x8a\x9c\x8a\x70\xec\xa6\x2e\x97\x92\x89\x02\x56\x88\x9a\x04\xb5\xfc\x07\xcf\xec\x14\x5e\x2a\x63\xfd\x1f\x06\xcc\x46\xd5\x45\x9e\x30\xd4\xa2\x88\xe0\x82\xd3\x00\x89\xfe\x9f\xd2\x60\x68\x5f\x22\xa2\x1e\xf7\xb0\xee\xb5\xc7\x0c\xb9\x87\x58\xfa\x65\xd3\x31\x9d\xf1\xc2\xc0\x4a\xf0\x22\x87\xad\x28\x0a\x58\x72\xc8\x1d\x64\x9e\xa3\xd0\x15\xc2\x78\x19\xb0\x1b\xae\xf9\x4a\x69\xee\xb1\x6e\x81\x59\xd2\xb7\xda\x22\xa5\x99\x92\x99\x30\x7c\x78\xcd\x94\x92\x82\x5b\xc2\x75\x8e\xb2\x26\xe4\xba\x4d\xc9\x53\xd8\x6a\x61\x2d\x97\x2d\x1e\x7f\x26\xb2\x18\xe4\xdc\x32\x11\x84\xb3\x0d\x76\xd2\x02\x65\x14\x09\xfd\x92\x93\x98\xc3\x1d\xd7\x4b\x65\x38\x9c\xf2\xe9\x7a\x0a\x0c\x2a\xa6\x19\xc9\x21\x08\x69\x2c\x67\x24\xb7\x0c\x8c\x90\xeb\x82\x43\x21\x24\x3f\x1b\xc7\x89\x84\xca\x7d\x0c\x31\x25\x2b\x8a\x44\xb4\xa2\x06\xb1\x47\xf2\xc6\xcb\xdf\x92\x03\x83\x2d\x5f\x9e\xaf\xb4\xe0\x32\x2f\x76\xa4\x3e\x70\x2a\xa6\x9c\x74\x6a\x02\xaf\x5f\xfd\xe5\xac\x05\x84\xf4\xc1\xf3\xa5\x2f\x30\x13\x24\xfc\x16\x2a\xcd\x49\xf5\x27\xc0\x6d\x36\x8e\x0b\x91\xb8\x39\x7c\xbc\x14\x05\xff\xd4\xf0\x80\x36\x4a\x48\x61\x4f\xe3\x57\xf8\x2f\x95\xa0\x49\xeb\x97\x01\x8e\xb6\x07\xf4\x17\x0b\xbf\x9c\xc1\xc7\xd6\x48\xc3\x8b\xd5\x94\xf4\x6a\x41\x0b\xf6\x7f\x4c\x85\x74\x91\x2e\xdd\x1f\xda\x6c\xe0\xa2\x41\x21\x0e\x73\x48\x7c\x6a\x4c\xd2\x5f\x79\x51\x71\x0d\x56\xc1\x9a\x37\x7a\x4f\x42\x4c\x66\x96\xad\x38\x6c\xd9\xae\x65\x30\x70\xde\x9f\x51\x34\x4b\x62\x5b\x70\x44\x73\x78\x0a\x9a\x93\x91\xcd\x38\x42\x44\x79\xd1\xc1\x71\x05\x2b\xdf\x40\xd0\xdc\xd6\x5a\xc2\x53\x09\x8a\x68\x61\x45\x5c\xdf\x99\xa1\xbd\x56\x6a\x55\x4b\x44\xd7\x8f\x3e\xfd\xd0\x41\xe3\xeb\x8f\xa9\x7f\x9c\x86\x0f\x9f\xce\x60\x1e\x56\xf8\x31\xd9\x02\xb1\x22\xe1\x20\x09\x58\xb4\x40\x4d\x3d\xf6\x08\xee\xf4\x7a\x57\xf1\x1f\xfc\xf4\x3f\x9d\x9e\x75\x37\x31\x40\xf1\x20\x80\x99\x1f\x13\x33\x0a\x9d\x7f\x9e\xf6\xbb\xd6\x0f\x9f\x9e\xf4\x3f\xf9\x81\xd2\xef\x61\xb2\x73\x7f\xe1\x92\x6b\x91\x81\x90\x96\xeb\x15\x43\x96\xa3\xda\x34\x8e\x0f\x98\xd3\x34\x63\x95\xe6\x39\xa0\x0e\x6b\x50\xab\x15\x64\x1b\x26\xe4\x14\x50\x28\x4d\x04\xe7\xd5\xad\x36\x3c\xc7\xbd\x8b\x1b\x69\x9c\xcf\x33\x13\xb8\x13\x39\x57\xce\x5c\x2b\xb4\xd7\x50\xf2\x5c\xb0\xa3\xbe\xa4\xc1\x0f\x17\x4c\x78\x91\x8e\x25\x96\xe1\xb6\xd6\x5a\x9c\x9e\x45\x13\xd5\x21\xf9\x6f\xe4\x2c\x15\xf0\x7b\x8c\x5d\x02\x7d\xce\x7b\x1a\x0f\x0f\xe3\x27\x60\xe4\x2b\xfe\x7a\x7d\xfd\x1a\x4e\x95\xa6\x0f\x6f\xcf\xe0\xdd\x9b\x9f\x8f\x62\x8b\x43\x11\xcf\xf9\x21\x6c\x71\xa3\x6b\x5d\xf4\x2d\x69\x63\x45\x92\x9f\x07\xd5\xbd\xd6\xa8\xa0\xb5\x4e\x55\xf3\x01\x9c\xe9\x80\xf4\x52\x12\x20\xef\x57\xf7\x61\x0e\x36\x12\x72\xf5\xfa\xf2\x6d\xe4\x11\xfd\xe5\xb7\x1f\x98\xe6\x8d\x50\xe4\xb0\xdc\xa1\x7a\x0b\x4d\x51\x0f\x06\x17\x22\xe7\xd2\x8a\x95\xe0\x1a\x4e\x9f\x5d\x3d\x3f\x8b\x40\x34\x23\x61\xb1\x1b\x46\x9e\x51\x68\x9e\x59\x78\xf7\xe6\x6a\x0a\x4f\x21\x2b\x04\xce\x4d\x42\x47\x92\xc3\xda\x70\x17\xac\x3c\xbb\x7a\xde\x04\x3d\x0a\x56\x18\xb9\xa1\xfc\x15\x8a\x51\xcc\xe0\xe3\xb1\x3b\xc1\x70\xbf\x09\xdd\x35\xb3\x7c\xcb\x76\x47\x37\x1a\x07\xb7\x36\xba\xe5\x81\x9e\x5d\x3d\x47\x91\xc2\x25\x06\x08\xc4\xa8\x8b\xf0\xa3\x15\x5d\x34\x98\xcc\x6e\x41\x6a\x45\xd1\xb9\xca\xcc\x54\x54\x2b\x33\x15\x6a\x86\xa1\x0c\xaf\xac\x99\xf9\x15\xce\x59\x9e\x6b\x94\x60\xb9\x9e\x8d\x72\x67\x99\xc8\x87\x9d\xf9\x6b\x66\x37\xa4\x11\x89\x69\xad\xf0\x3b\x6f\x94\x69\xd3\x83\x41\x26\x63\xef\x99\xe7\x76\x47\xe9\xdd\x28\x07\x2f\x0c\x28\x59\xec\x40\x72\x9e\xa3\x7f\x5e\x35\xc0\x85\xc1\x88\x45\xe4\x3c\x6e\xf9\x41\xa0\x23\x98\x84\x60\xcf\xcd\xce\x58\x5e\x9a\x71\xec\x41\x8a\x03\x7f\x7e\x1c\xd2\xd1\x84\x7f\x93\xf6\xe8\x41\x95\xcd\x44\x0e\x0b\x64\x7a\xff\x27\x62\xee\x82\x60\x0c\xe9\x73\xc3\xb7\x5a\x66\x24\xe5\x4e\x61\x9d\x80\x11\xe7\x25\xb3\xe2\x8e\xa3\x89\x6a\xa4\xab\x27\x58\x07\xf8\xb4\x51\xdb\x73\xab\x66\x5e\x84\xce\xf1\xeb\x73\x25\xcf\xb7\x7c\x39\xfb\x9d\x83\x7d\x5e\xeb\xc2\xec\xdd\x81\xe0\x8d\x31\xc4\x37\xce\xc4\xa0\x58\x32\x21\xf1\x63\xdc\xd7\x5a\x8b\xa3\xbc\x1f\x65\xb1\xbc\xbb\xf4\x8c\x6b\x98\xb8\xd7\x55\x9e\x20\x49\xf3\xd9\xec\x64\x8a\x22\xc1\xec\x69\xd8\x93\xb3\xf0\xc5\xc9\xec\x24\x7e\x46\x58\x67\x1d\xe7\x3a\x64\x31\xf7\x43\x3d\x6e\x43\xa3\xa7\x0d\x66\x74\x2b\xec\xc6\xe5\x28\x5a\x73\x53\x29\x91\x23\xdd\xe4\x25\x31\x78\x38\x6a\x92\x5e\xe2\xc8\xae\x25\x22\xeb\xe4\x44\x82\x3b\x58\xa3\x84\x7f\x45\xa6\xad\x1b\xe5\xba\x34\x3a\x17\xec\x9c\x92\xe4\x4c\x95\x1c\x75\xd8\xed\xaf\xd2\x25\x45\xf9\xbb\x8a\xcf\x4c\xbd\xa4\x11\xcc\xf8\x68\x73\xc9\x73\xc0\x1c\xad\x05\x2a\x4a\x22\xbf\xe3\x85\xaa\xb8\x9e\x96\xea\x9f\xa2\x28\xd8\x54\xe9\xf5\x8c\xcb\xf3\x77\x6f\x49\x4a\x67\x7f\xe7\xcb\x19\x7a\xd6\xd9\x4f\x98\xf4\x9a\x0f\x6a\xf5\x81\xfe\x7c\x79\xf5\xf2\xc5\x07\x8a\x33\x47\x11\x15\x59\x79\xc8\xf3\xa6\x94\x4f\xfa\x53\xda\xaa\x4d\xdb\x8d\x33\x16\xf8\x9f\xee\x0f\x71\xf2\x22\x7e\xda\x2f\x16\x7f\xd7\xac\xc2\x50\xda\x89\xbf\xd2\x50\xd6\x85\x15\x55\xe1\x77\xcd\xd5\x29\x46\x89\x80\xe9\xca\xc0\x53\x09\x4c\x2f\x85\xd5\x4c\xef\xce\x8d\xf8\x27\xcf\x29\x13\xf2\xd9\xff\x0e\x64\x5d\x2e\x39\xc6\x76\x5e\x84\x04\x1a\xc9\xbd\x5c\xa4\x5f\xe7\xf0\x9e\xc6\xfe\x32\xc4\xc2\x0f\x9d\x31\x83\xe6\x90\x86\xc0\xa2\xb3\xd8\x91\x04\xc3\xd3\xf7\x6f\xcd\x2f\x1a\x1f\xe8\x57\x1f\x97\x5d\xb8\xc1\x0f\x4a\x2e\xdc\x94\xc7\xe6\x16\x6e\xf6\xc8\xd4\x22\x0a\x0a\x74\xfe\x7d\x86\xcc\x62\xc8\xc0\x15\x22\xe3\x12\x23\xc6\x2c\x53\x9a\xec\x9a\x55\x51\xff\x4d\x95\xdf\x93\xca\xfb\x51\xa6\xd9\xc7\xeb\x50\x73\x6a\x25\x18\x3e\x54\x08\xa1\x95\x5a\xa1\xd9\x7c\x75\x79\x8d\x71\x83\x87\x91\x1f\x35\x97\x3f\x7b\x94\xf6\xc7\xe8\x88\xd7\x55\x0c\xdb\x0e\x19\x8d\x0f\x49\x78\x77\x30\x6e\x6f\x83\x44\xf1\x8f\x7f\x8c\xd5\x81\x80\xf7\x17\x52\x82\xb0\xfc\x38\x2d\xf0\xa3\x1f\xa4\x06\x7e\xce\x63\xf5\xc0\x4f\x1f\xa9\x08\x7d\x29\xf8\x0d\x34\x21\xa6\x4b\x18\x9f\x11\xd3\x31\xc0\xb5\xbc\x04\xaa\xcc\x02\xbf\xb7\x5c\x23\x73\x8d\xb0\x8d\x9f\xf7\x35\xf9\x44\xee\x97\xbb\x34\xd7\x41\x59\xbf\xe5\x30\x8d\x69\xcd\x4f\x85\xca\x10\xba\x0a\x69\x52\x6d\xb8\x36\x69\x06\x44\x25\x38\x2d\xd6\x02\x17\xa3\x32\x98\xaf\x00\xa3\xf2\x50\x99\xba\xd2\xea\x1f\x38\xb5\xc2\xc4\x88\x52\xe3\xe0\xc0\x5d\xb4\x89\x03\x33\x55\x14\x9c\x02\xd1\x06\x57\xbe\x8e\xea\xbc\xdd\x6e\xa7\xe5\x8e\x6a\xf7\x1e\x9a\xab\xfb\xdf\x71\x8d\x6c\x3f\x57\x2b\xfa\xad\x81\x72\x4c\x53\x5f\x78\xf6\x20\xf7\x1e\x9d\x51\x7f\x80\x11\x39\xf5\xe2\x60\xf6\xdb\xd6\xc3\x14\xab\x2f\xa4\x8b\x29\x0a\xe3\xf4\x31\x99\xf1\x20\x9d\x4c\xe6\x3d\x56\x2f\x13\x10\x23\x75\x73\x78\xdf\x3f\xbb\x7e\x3a\x21\x5f\x09\xc9\x43\xc6\x5e\x56\xca\xb0\x25\x26\xb9\x6a\xc7\x0a\xbb\x6b\xce\xbd\x68\xf0\x5a\xdc\x71\x03\x25\xd3\xb7\xdc\x56\x05\xcb\xb8\x01\x16\x61\xd6\x12\xad\x79\x9e\xd6\xd5\x14\x98\xba\x72\x67\x77\x97\xd7\x1e\xa6\xe0\xe6\xa8\x87\x7a\xe3\x57\xef\x84\x73\xa1\x72\xd7\x3e\x05\x7c\xc3\x33\x2e\xee\x62\x75\x81\xc3\x92\x4b\xbe\x12\x99\x60\x7a\x17\xaa\xef\x9e\x9c\x76\xa9\x82\x91\x60\x04\x87\x9a\x69\x6e\xb9\x3b\x03\x0b\x93\x02\x60\xca\x4f\xc2\x5f\xd3\x35\xb7\xb8\xad\xa7\x67\x9d\x0c\x33\x53\x65\xc9\x65\xee\xaa\x31\xe7\xf0\x0e\x4d\x50\xa8\xe5\xd3\xf1\x18\xda\x41\xc9\xb7\x89\xf9\x81\xcb\x42\x6d\x89\x8a\x16\x2c\xdd\xa6\x48\x18\xa8\x0d\x46\x0e\x37\x6b\x6e\x3d\x6b\x02\xd1\xaf\xeb\x65\x21\xb2\xd7\xcc\x6e\x4e\xcf\x6e\x26\x64\x0c\xa5\xb2\x2d\x68\xae\x28\xc4\x71\xa7\x59\x5d\xd8\x66\xcd\x86\x24\x67\x70\xe9\x4c\x86\x15\x85\xda\x3a\xfb\x89\xfb\x57\x57\x39\xb3\xed\xe4\x85\xf8\xc5\x2a\xb6\x14\x85\xb0\x54\xf2\xa6\x2c\xa8\xb6\xb5\xa6\x2d\xaf\xc9\xe0\xd3\xb1\xcc\xda\x6f\x58\x33\x7c\xaf\x11\x0b\xb8\xcc\xe1\x59\x1c\xfc\xc3\xd7\x1f\x5b\x5b\x3d\x0d\x54\x7f\xfa\x53\x5b\x30\x5e\xba\x8c\x01\x03\x8b\x50\x87\xcd\x58\x91\xd5\x05\x32\x1d\xb1\x63\xa5\xaa\x5d\xbc\x64\x58\xc1\xe1\x8e\x15\x35\x07\xab\x99\x34\x2b\xae\x35\xcd\x68\xef\x80\x17\xc0\x86\x43\xaf\x94\xe5\x70\x0e\x57\x36\x39\x9e\x59\x72\xbb\xe5\x5c\xc2\xc5\xf4\x82\x38\xff\xcd\xf4\xa2\x05\xe5\xc5\x3d\xce\x70\xc2\x94\xac\x2b\x0c\xdc\xd3\xf8\xb2\x41\x5b\x18\xb8\x98\xfe\xe7\xf7\x38\x54\xee\x95\x58\x37\x7d\x1b\x96\xa7\x09\xff\x01\xf7\xd3\xbe\x92\xb0\xa2\xd8\x41\xc5\x75\xc6\xa5\x45\x7f\xb6\xe6\x49\x81\xdb\x1d\x09\x59\xae\x4b\x83\x1c\x59\x32\x23\x0c\x54\x4a\x48\xdb\xca\x26\x71\x90\x51\x85\xc8\x71\x97\x97\x0c\xf9\x6a\x4a\xa6\x6d\x3c\xaf\x35\xb0\xdd\x60\x92\x9d\xb1\x9c\x0c\xb9\x5a\xad\x50\x6a\x6e\xde\x5d\x8a\xfb\xef\xbf\xbb\xe9\x08\x0d\xb3\xc0\x0a\xcd\x59\xbe\x0b\x46\xc1\x19\x9d\x74\x79\x92\x9d\x8c\x19\x64\x6d\xc6\xf0\x0f\xd1\xc1\x09\x93\x65\x1f\x03\x30\xcd\x01\x43\x48\xcd\x8b\x1d\xe4\x1c\xe9\x11\x52\x18\xeb\x4b\xfb\x6b\x4c\xec\x92\xd1\x32\x0f\xeb\xb6\xb5\xa3\x42\x69\xf9\xaf\x80\x80\x5a\x41\xa5\x79\x26\x4c\xf4\xf1\x43\xc2\x9a\xd5\x76\x0e\x8e\xcc\xb6\x20\xfe\x6f\x70\x50\xad\x53\xae\x34\x9c\x71\xda\x83\xa4\xe1\x52\x6c\x17\xaa\x44\x7e\xbf\x27\x3d\x55\xd3\xbc\x70\x24\x6c\x44\x15\x25\x0e\x7f\xb8\xd9\xb2\xa2\xe0\xf6\x26\x9c\x03\xa3\x8d\x9d\x80\xcb\x6c\xed\x06\xe1\xf2\xc2\x74\x55\x97\x39\x7b\xa7\xb6\x92\x6b\x28\xc5\x7a\x63\x61\xcb\xa4\x25\x53\x5d\xf1\x4c\xac\x76\xfb\xa9\x3e\x78\x16\xda\xc4\x1b\x0f\xd4\xe4\x49\xca\xcd\xc9\xd0\x22\x5d\x8f\x59\xe9\xa1\xa8\x35\xab\x2d\xfc\x69\x41\xba\xf8\xf5\xd7\xf4\xd7\x0f\x0b\xd4\x48\x98\xc3\xc9\xb3\xda\x7a\xe5\x69\x94\x57\x48\xfc\x4a\xe4\xa0\x99\x5c\x73\x10\x53\x0e\xef\x2f\x26\xdf\xfc\x72\xb2\xc7\xad\x42\x88\x96\xa2\x75\x5e\x44\xf3\x30\x50\xf3\xac\x2d\x2c\x10\x8b\xfe\x4f\xc7\xcf\x24\x1f\x50\x22\x09\x9e\xd2\x35\x73\xc4\x09\x2f\x53\x17\x8d\x92\xf7\x6b\xcd\xf5\xce\xf9\x92\x9b\x37\xc1\x0f\xdf\x04\x7f\x4b\xcd\x31\xaf\x2e\xaf\x9b\x90\x19\x65\x8a\x14\xec\xbe\xe2\x99\x75\x26\xb5\x62\xbb\xc6\x87\x7b\x8b\xe0\x6a\x60\x98\x15\x91\xf4\x84\x00\x7d\xa4\x87\x47\x38\xdd\x92\x8d\xd6\x6c\xe7\x05\x55\xb3\xec\xd6\x19\x09\x21\x73\x71\x27\xf2\x9a\x15\x0d\x06\x5d\x39\x45\xe6\x46\xf5\xbc\x92\x2b\x65\xe6\xf0\xde\xf3\xe7\x97\x03\x67\x44\x3e\x48\x1e\x98\xd4\x15\x3c\x0c\x9c\x50\x64\x9c\x57\x61\x16\x4c\x4d\x95\x3f\x56\x14\x24\x70\x8d\x3d\x8f\x8e\x5f\x2a\x8b\xc2\xb6\x26\xff\xef\x0f\x73\x52\x37\x41\xaa\xc3\x30\xb4\xb6\xac\x78\x46\x42\x73\xd1\xf9\x19\xf7\x3b\xf8\x23\x21\x23\x9e\x03\x2a\x90\x00\x89\x1f\xff\x10\xe6\x4e\xbb\xc2\xd8\x16\x6d\x66\x0c\xd7\xf6\x34\xce\x73\xca\x33\x81\x92\x1b\xc3\xd6\x7c\x0e\x27\x6f\x1d\xb1\x71\xfd\xf1\xd4\x9e\x9c\x75\xd9\xf8\xd4\x18\xb1\x76\x66\x2c\xc0\x1b\xd4\x21\xb7\xd2\xa2\x3f\xa8\x53\x9b\x7d\xe3\x22\xdd\x14\x1e\x55\xfa\x06\xab\xa3\x9d\x43\x74\x46\x12\x97\x14\xed\x5d\x3b\x07\x4f\x64\xdd\x09\xed\xf1\x5a\x6b\xac\xe0\xc7\x40\x4d\x70\x73\x7a\x96\x88\xd4\x81\xf3\xc7\x01\x1a\xe1\x50\x1a\xd6\xa8\xd0\x17\x4a\xc2\xde\x74\xf8\x73\x2c\x05\x6b\x38\xf2\x90\x04\x2c\xce\x7a\x6c\xfa\x15\x01\x8c\x4c\xbe\x52\xd3\xd4\xd5\xb0\xcf\xd2\x7e\xe0\x5c\xb0\x3b\x57\x24\x2b\x12\x7d\x12\x05\xaf\xa4\xef\xe4\x58\x50\x18\xdb\xe6\x2e\x16\x47\xa8\x13\xae\x01\x41\xa1\x3b\xbf\xe3\xd2\xd6\x14\xfa\xa5\xb0\x58\x0c\xc3\xcd\x56\xd8\x6c\xb3\x54\x98\xcf\x05\xd7\x35\x89\x70\x37\x4e\x10\x42\xab\xda\xb2\xf6\x60\xe9\xa8\xb2\x85\x5c\x64\x10\xfe\x25\x55\xa7\x2d\xae\x7b\x2a\xd6\xa4\x28\x31\x43\x0b\x08\x61\x52\x98\xba\xd0\x21\xe1\xe9\xeb\xd4\x60\xf2\x33\x4f\xd7\xf9\xd8\xdd\x87\x59\x45\x3f\xce\x7c\x06\x79\x79\xfd\x26\x5d\xf6\x48\x09\xd7\x77\x8d\xb9\xb3\xdb\xa4\xff\xd1\xd7\xb0\x5e\x5d\x5e\x4f\x7b\x9b\x13\xd2\x10\x4a\x30\x35\x13\x2e\xb4\x4c\xdc\xd8\x2d\xdf\xcd\x5c\x48\x52\x31\xa1\x0d\xb0\x42\xc9\xb5\xcb\x34\x8d\x2a\x1b\xbd\xa3\x52\xef\x3d\x6e\x2b\x1d\x5f\xd0\xba\x6c\xa9\x6a\x27\x44\x04\xfa\x98\xaf\xbd\xc6\x41\x09\x4f\x06\x1a\x12\x09\xce\x14\x7e\x16\xb7\x1c\x7e\x62\xd9\xed\x5a\xab\x5a\xe6\x13\x78\xb1\xe3\x66\x02\x7f\x65\x42\x77\xba\xc5\xc6\x76\x0c\xd2\x4a\xb5\xcc\xb9\x2e\x28\xd4\x75\x24\xa7\xab\x4e\x82\xe1\xb1\xe1\x6b\x62\xb4\x71\x1d\x7b\x34\x04\x2a\xad\xee\x44\xce\x03\x33\x82\xb5\x22\x60\xfb\x71\xa2\x9f\xe7\xf0\x54\xee\x5c\xd7\x6c\x0b\x2f\xdf\x1e\x87\x16\x22\xdd\x2f\xb3\x51\x5b\xda\x80\xb8\x96\x63\xf6\xd6\x45\xce\xc2\x38\xb6\x61\x78\xe4\x48\x89\x82\x92\x02\x47\x39\x17\xd2\x58\x26\x33\x3e\x81\x9d\xaa\x21\x23\x15\x37\x01\x2b\x5c\x8a\x41\x2d\xc5\x3d\x58\x51\x72\x63\x59\x59\xb9\xec\xdd\x47\xe1\x2d\xfc\x98\x81\x93\xe7\xcc\xf2\x13\x22\x9c\x17\x45\xba\x56\x55\x30\xbb\x52\x98\xcb\x61\xd6\xab\xa4\xa9\x4b\xdf\x04\xe2\x78\x47\xed\xb9\x14\xb2\xf8\xe2\x00\x30\x7f\xee\xb5\x3f\xd0\x6f\xd6\x1e\xe8\x03\x40\x77\xcb\x34\x26\x85\x18\x58\xb2\xc2\xa8\x68\x1d\x5c\xf5\xb5\xd8\x79\xcd\x60\xd6\x6a\xb1\xac\x6d\xeb\x30\xbe\x2d\x1c\x4e\x5b\xa2\x4b\x09\x69\x1f\xa1\x59\x14\x0d\x04\x43\xcd\x12\x9e\x44\xff\x5d\x10\x83\x57\x97\xd7\xbf\x37\xa0\x09\xa7\xfd\xd2\xe0\x7e\x9f\x7b\xdc\x07\xfb\x1a\x5a\x4d\x8b\x3d\xf1\x99\x0c\xf2\x65\xd2\x05\xfc\xf0\x26\x45\x27\x11\x0b\xb7\xe0\x40\xbe\x90\x48\xc2\x22\xc5\x61\x20\x35\x71\xfb\xb2\xf0\x38\x8d\x4c\x28\xc8\xdc\x91\x99\x0c\x91\x4f\xb0\x58\xc7\xed\x9b\x9f\xe8\x27\xd0\x09\xe5\x08\x13\x17\xc1\xa5\x9a\x36\x60\xe2\x38\xcb\x36\xde\x36\x1d\x34\x6e\xe6\x40\x75\xdc\xa1\x36\x87\xf7\x34\x72\xcf\xb1\x6d\x67\xd0\xe0\x1e\x7a\x1a\x17\x7e\xf0\xbe\x50\xf4\x69\x9e\x9b\xc6\x69\x38\xdb\xeb\x05\xd5\xe3\x8a\x0b\xef\x0f\x4c\x5d\xa4\x46\x43\xe7\x64\x3d\x9d\x1a\x7b\x72\x2d\x29\x1b\xcb\x73\x9e\x1f\x8d\x46\xd1\x69\xb2\x3c\x27\x50\x48\xe3\xdc\x41\x3d\x40\xdc\x14\xa5\x42\xe6\xa7\xf6\x40\x17\x47\x3b\x08\x4d\x48\xfa\x52\x61\xa8\x47\x61\x5c\x0c\xea\x06\x3f\x28\x00\x75\x53\x1e\x1b\x7d\xba\xd9\x23\x43\xcf\x9e\x30\x87\x7f\x9f\x21\xee\xf4\xfb\x16\x3b\xa9\xac\x02\xce\x8c\x28\x28\xf5\xb9\xe3\xda\x52\xc7\x19\xfd\xc6\xf4\x8e\x76\xc2\xc9\x04\x5c\x2a\x8d\x46\x20\x09\x49\xc2\xf9\x95\xf1\x67\x08\x8a\x0c\x36\x59\x68\x2e\xa8\x6b\x31\x74\xbd\x87\x4d\x22\x3b\xe0\x7d\x3a\x51\xd9\xc4\x9d\xe4\xab\x4a\x6e\x37\x2a\xb6\xbe\x9b\x7a\xb5\x12\x4e\x1c\xd6\xe2\x8e\x82\xd2\x92\x1c\x0a\xa5\x6a\x6a\xe5\x2b\x37\x1e\xc1\x7d\x62\x86\xd4\x38\x15\x6a\xd3\xb5\xe4\x81\x64\x67\xc3\xae\x1b\x7d\x4e\x66\xf3\x7b\xba\x56\x92\xbf\x62\x25\x37\xf3\x56\xb7\xb5\x6f\xcc\x72\xd8\x78\x87\x1d\xea\x78\x37\xb8\xd6\x4d\x04\x16\xfe\xdd\xf2\x9d\x67\x16\xd3\xce\xbd\x6d\x99\xf4\xeb\x2f\x79\x86\x66\xf0\xc6\xe1\x71\x33\x18\x44\x53\xc4\xcc\x70\x42\xd7\x88\xec\x13\x76\xc4\xe3\x5a\x79\x79\x77\xac\xf8\xe8\x10\x4f\x7c\xda\xa7\x49\x97\xce\xf7\x6e\xcc\x2f\x3f\x9e\xcd\xfb\xe2\x38\x9b\xc1\xb3\xb8\xf9\xae\x88\x68\x7c\x15\x31\x90\x14\x7d\x88\x8f\xe2\xdc\xf1\x80\xd0\x4d\xd4\xec\xef\xeb\xe4\xd3\x4e\x98\xb8\xeb\xd4\x23\x37\x4c\xe6\x05\x77\x2e\x82\x98\x8c\x99\x0d\x15\x38\x6d\x33\xf8\x1f\xb5\x49\xd6\x26\x39\x09\xf0\xa9\x99\xb9\x28\xa6\xa9\xda\xb6\x88\x85\xaf\x16\xa8\x28\x1d\x75\xc3\xd8\xed\x16\xd1\x6e\x8d\xfd\x6a\x40\x29\x91\xa9\x53\xcd\x4b\x75\xc7\x4f\x6f\xf9\x6e\x0e\xb7\xdd\xce\xb9\xe6\x53\xfc\x38\xe0\x92\x60\x01\xef\x7f\x79\xd2\x5b\x9f\xc0\x93\xdc\xb4\x97\x8e\x10\x60\xe1\x76\xc8\xc7\x2d\xb7\x31\x64\xc1\x99\xef\x6f\x7f\xf9\xaa\x13\xb1\x48\x51\x34\xd1\x8a\x14\x45\x1b\xdb\x8e\x07\x20\x4f\x31\x44\x40\x10\x4a\x27\x58\x6e\xd6\x59\xd7\xd8\xc4\x3a\x78\xac\x58\xf6\x8c\x86\x30\xa6\xe6\x4d\x21\xd3\x5f\xbe\x8a\x10\x28\x13\x72\x07\x27\x25\x5d\x67\x33\xa2\x14\x05\xd3\xc9\xed\x33\x04\xcb\xef\x59\x89\xd3\x99\x84\xff\x43\xc3\xf0\xcd\xc5\x05\x46\xd9\xee\x44\x2b\x02\x13\x12\x23\x64\x77\x32\xe7\x82\x97\x55\xed\xee\x80\xb9\x1a\xba\x3b\x1e\x48\xcf\x35\x9b\x88\xe7\xa9\xeb\x11\x70\xe2\xb6\xc4\x58\x46\x53\xa6\x12\x31\xe7\xb9\x20\xb2\x26\xb0\xdd\x88\x8c\xfa\x87\xb7\x1b\xea\xf2\x0e\x3f\xed\xc3\xc3\xb1\x12\x25\xd5\x38\xeb\xe6\x5b\xd5\xc0\xb5\xaa\x91\x7d\x39\x96\xdc\xbd\x70\x4b\x1c\xbb\x71\x96\x62\x12\xc6\x5c\x36\xfc\x9b\x38\x2b\x9c\x85\x42\xc4\x5b\x6e\x27\xf0\xba\x60\xbb\x09\xbc\xe5\x5a\x70\xd3\x3e\x97\xf0\xed\x73\xee\x36\xc3\x96\xed\x92\xf6\x09\x07\x22\x2b\x98\x31\x98\xc6\xa0\xfd\x08\x0c\x1a\x95\x3c\xfe\xd8\xa7\xc3\xcf\x4f\xba\xf5\xf6\x5c\xa8\x22\x8a\x98\x84\x93\x6f\xbf\x0b\xb2\x70\xfa\xbb\x6f\xbf\x9b\x7d\x73\x71\x71\x76\x42\x6d\x27\x2e\xd9\xf4\x80\x84\x81\x6f\xbf\x3b\x90\xd2\xd2\xa8\x39\xbc\xbb\x92\xb6\x7b\xce\x83\x68\x95\xec\x7e\x10\x35\xcc\xbc\xfc\x29\xb2\x17\xea\x69\x67\x6e\xf7\xa6\x57\xa8\xb0\xf8\x34\xd7\x55\x59\x0a\x51\x0a\xcb\xf3\x73\xbf\x04\xcf\x87\xa1\x8d\x20\x19\x11\x15\x06\x7f\x1b\x9c\x4a\xed\x38\xa4\x6e\xb5\xf4\x8b\x06\xba\xdc\xdc\xa6\x3e\x85\xf9\xab\x55\x68\x3b\xc6\xdd\x1b\x2b\xd9\x7d\xe0\xdf\xd1\x84\xeb\xc7\x49\x87\xe3\x93\xd6\xf4\x81\xf0\x09\x71\x1b\x34\xe1\xd0\xd4\xb3\xfd\xc6\xfc\xb0\xc0\xd1\x5f\xa5\xe5\xec\xeb\x46\x10\x32\x26\x87\x2a\xd7\xd6\x6f\xb2\x1b\xf5\xd5\xc9\x3e\xeb\x0e\xa3\xb2\x3c\xbf\xd6\xa2\x9b\x7c\xc7\x01\xb8\x14\xa1\x39\x32\x6d\x6b\x9d\x03\x05\x33\x30\xaa\x59\xd6\x0f\xfe\x17\xda\x65\x7b\x2a\xdd\x3a\x5d\x6c\xd9\x4b\x16\x2c\xe6\x5e\x29\x41\xab\xf8\xb3\x30\x76\x0e\xef\x3d\x66\xfb\x9a\x6b\xfb\x03\x87\x3b\x6c\xfd\x38\x58\xc4\x29\x63\xf3\x99\xc8\x9a\x2f\x75\x93\x2f\x22\x30\xb2\xad\xc9\x0f\x7f\x58\x4f\x93\x9f\xf4\xe8\x86\x26\x3f\x7f\x6c\x37\x53\x23\x6e\x5d\x2d\xfd\x5c\xad\x4c\xb1\x0a\x47\x71\x79\x70\x46\xe7\xae\xb9\x29\x07\xc3\xb5\x60\x45\x90\x5f\x57\x14\x0f\x07\x96\xad\xd4\xe6\xb5\x9b\x68\x60\xc3\xee\x78\x72\xf5\x9d\x00\x79\x2a\x28\x6c\xa0\x48\xbe\x03\x37\xda\xc9\x08\xee\x2d\xc6\xae\x25\xdb\xc5\x1e\x9c\x57\x97\xd7\xe8\xf6\xd7\x35\x46\x32\x57\xcf\x5d\xc5\x2f\x1d\x94\xdc\xb7\x6f\xf2\x2d\xe7\x4c\xc3\x45\x2f\x77\x97\x67\xea\x6e\x9c\xb4\x10\x10\xa6\x75\x5e\xbb\xe4\x50\x4b\xf1\x6b\x4d\xed\x2f\xfe\x52\x20\x79\x6f\x72\xdb\x84\x0a\x9a\x7d\x8a\xd0\x99\x0d\x4c\x3b\x66\x3c\xde\xba\x25\xf7\x17\x5c\xf6\xf9\xcd\x54\x93\xdb\x63\x86\x4b\x66\x7b\xec\xe5\x11\x05\xf6\xe8\x7d\x29\xf5\xf5\xcb\x8f\x53\x5e\x37\xf8\x41\xaa\xeb\xa6\x3c\x56\x71\xdd\xec\x91\x6a\xdb\xdb\xe8\xcf\xad\xb4\x4d\x7f\xb0\xaf\x5b\xa6\xe1\xb1\x57\x52\x57\x45\x4b\xca\x99\x38\x9b\x7a\xb1\x5c\x32\x1d\xa6\x4a\xce\x73\xe3\xb2\xc6\x3b\x1e\x8a\x10\x26\x53\x9a\x72\x87\xb4\xe5\x62\x59\x5b\x10\x74\x4b\x3e\xc2\xa3\x39\x4b\xd5\xd4\x25\xf7\xc9\xbe\xaf\x7b\x7f\xec\xc5\x82\x7e\x25\xdf\x37\xe8\x46\x51\xe1\xfd\x48\xa5\x9d\xe6\x85\xe6\x97\x81\xd0\xb7\x64\xf7\xa2\xac\xcb\xe6\xd8\x84\x26\x1c\x89\xb7\xf6\x01\x1b\x78\xb1\x21\x45\xd5\xdd\x5e\x3b\x72\x81\x31\x66\x08\x3f\xf3\x35\x97\x39\xd3\xbb\x09\xbc\xa8\x44\x36\x41\xde\xf0\x09\xbc\x93\x99\x2a\x4b\x8c\x1c\x9f\xd1\xff\xdb\xa9\x82\xbf\x20\xd7\x2e\x74\x8f\x68\x33\x1a\x0c\x1e\xdb\xbc\x9b\xb4\x88\x1f\xec\x23\x1a\x8a\x21\xdd\xc6\x2d\x5c\x14\xf9\xf5\xd7\x2d\x1e\x2d\xf6\xc5\x96\x15\x93\x22\x3b\x3d\x79\x1a\xe4\x21\x0a\x9f\x09\x5b\xda\x7e\x82\x44\x69\x92\xae\x5e\x00\xd9\x37\x7a\x1e\x9d\xce\x36\xc3\xfe\x10\x11\xfe\x85\xae\xa2\x4e\x3b\x81\xa3\xe5\x4b\x56\x72\x3d\x0a\x23\xbb\x09\x68\xf0\xc3\x5a\x09\xdc\x09\xcd\x63\xfb\x08\x68\xf6\xd8\x26\x82\xae\xa5\x08\xff\x3e\x83\xf1\x7c\x75\x79\x4d\xf6\x73\xab\x59\x65\xa8\xde\xf6\x8c\xde\x40\xa1\x57\x73\xdc\x21\xcb\x8d\xc8\x5d\x5f\xe0\x4d\x5d\xe3\x47\x57\x8c\x73\x27\x8c\xfe\xf4\x26\x82\x0b\x45\x56\x46\xfd\xdf\x05\xb7\x1c\x2a\x91\x51\x37\x6f\xbc\x5f\xe4\x5f\xc8\xa1\x98\x61\xf0\x79\x9c\x08\x6d\xd4\x33\x39\x81\x82\xfd\x41\x84\xc8\x63\x00\xb1\x6f\x08\x52\x76\x74\x90\x2f\x80\xcd\xdb\x6f\x0b\x4d\xc3\x6b\x16\x7b\xe7\xf1\xa6\x03\xbf\x3b\x37\xbd\x11\xb0\x77\x7e\x53\xee\x7a\xce\x2c\x9b\x23\xc5\xcf\x5a\x5f\x8d\x9a\x1a\x90\x6f\xcf\x3e\x86\x7b\xec\xcf\x48\x9b\x67\xf6\x8e\x0e\xc5\x48\x7f\xcc\x71\xf4\x65\x17\x91\x43\xcc\xd0\x5b\x3f\xe0\x7e\xec\xf9\xc9\xef\x02\xec\xdb\x86\xf6\xe8\x84\xf7\xbd\x19\x29\xf3\xdb\xb3\xda\x1c\x87\x21\x96\xef\x9d\x10\xd1\x1b\x64\x74\x7b\x5a\xd3\xfd\x92\xb2\xb7\xf3\x84\x4d\x87\xa7\xe1\xfb\xe1\x6c\x35\xa7\xdb\x70\xfd\x1f\x88\xa1\x0b\xe2\xeb\x80\xbd\xf7\x38\xc7\x13\xe1\xfe\x90\x94\x8f\x8b\x94\xab\xfd\xa1\x1d\xe6\x2d\x3a\xdc\x3c\x38\x21\x22\xd2\xfb\xae\x3f\xad\x61\xde\x62\xa0\x91\x13\x8e\x1f\xb5\xc2\x21\x17\xe6\xaf\x73\xf5\x8e\x46\x12\x87\x85\x26\xe3\xda\x97\x28\x44\xfe\x9b\xb8\xb3\x60\xdc\xc6\xb9\x31\x3f\xfa\xb4\xb1\x65\x93\x07\x78\xb4\xbe\x21\xa5\x0c\x6c\x65\xff\x36\xc6\xa3\xf9\xd9\xe8\xd2\x52\x8f\x18\xa6\x0f\xd6\xd6\x82\x5b\x72\x63\xbe\x02\x66\xbe\x0a\x58\x24\xdb\xd4\xf5\x62\x81\xca\xbe\x25\x11\x79\xdf\x8a\xcc\xdb\x78\xe3\x57\x83\xf6\xa4\x6b\x1c\x92\xa7\x8d\x52\x00\x67\xe3\xcd\x4b\xe7\xa2\xd8\x01\x28\x3d\x73\x43\x82\xeb\x36\xb4\x6d\x76\x46\x42\x89\x36\x68\x18\xd0\x71\xba\x52\xc3\x14\x60\x34\x2d\x97\x07\x26\x7a\x6d\x6b\x66\xf9\xb3\x9d\xd6\x94\xc6\x86\x1d\xc9\xe5\x5c\xbb\x76\x93\xc8\xf9\x47\x4e\xe8\xa9\x1c\xff\x6c\xa1\xd5\x82\xdf\xf1\xe1\xde\x92\x43\xb7\x3e\x5d\x84\x5d\x57\xc0\x3a\xb7\x31\x5d\xf9\xba\xd2\xaa\x6a\x1a\x09\x69\x45\xb6\x76\x6b\xba\xf6\xbf\xe6\x1e\xd2\x98\x4b\x68\xbd\x8d\xec\xe4\x7d\xee\xb1\x18\x19\xd7\xd9\x6e\xb8\xf6\x9d\x57\xfe\x46\xb6\x0e\x77\xc2\x62\x3d\xc6\x3d\x18\xb4\xff\xcc\xc1\xc3\x7a\xed\xdf\x54\x89\x7f\x74\x9e\xa9\x71\xd4\x50\xfb\xa7\x3b\x73\x2a\x6b\x43\xc5\xd6\x42\xc8\x5b\xb7\x98\xdf\x8d\x01\xc2\xe3\x29\x45\x28\x7c\x41\x3c\x9d\xca\x8a\x9a\xae\xa8\xc7\x5b\x7f\x44\x48\xb8\xcf\xe7\x4f\xc9\xbc\xc2\xb8\x70\xb3\xf9\x71\x2f\x4d\x55\xec\xcb\x4c\x7b\x34\x3b\x14\x69\x71\xc7\x2c\x4f\x49\x6a\x4e\x1d\x7a\x44\x51\xfb\xac\x3b\x2b\xd1\x2d\x30\xc9\xb5\x34\xab\x48\x28\x72\xcd\xb6\x2e\x6c\xa5\x3b\x0e\xee\xae\x5f\x14\x9b\x8d\x2a\x88\xde\x78\xf5\x61\x10\x7f\xbf\x92\xa7\xc0\x61\xba\x77\x53\x12\xe8\x74\x0a\x14\x1e\xd9\x6a\x5d\xa4\xf0\xed\x8c\xae\xcd\x81\x5e\x72\xd2\x9c\xe5\xe7\x74\x0e\xe4\x96\x27\x59\xf7\xbb\xd0\x5a\x26\xf4\x6f\x18\x38\xcd\x79\xa5\x8c\xb0\xf0\x07\xf4\x23\x57\xcf\x0d\xfc\x01\x96\x4a\x6b\xb5\x7d\x75\x79\x7d\xe6\xda\x36\x64\xbb\xd3\x28\x3d\x85\xf5\x47\x7e\x25\xdb\x25\x27\x3b\x4b\x0e\xfc\xd7\x9a\x15\xc1\xdf\x11\x09\xbe\x52\xea\xae\x8d\xdd\xb8\xed\xfc\x99\xf6\x04\xbd\xc8\xcd\x7e\x69\x76\x43\x1b\x25\x9a\x03\xb5\xad\xb5\xab\x0a\x91\x49\xbd\x0d\xf7\xa7\x09\x6c\xa5\x34\x25\x1a\xee\x14\xac\x6a\x84\x7f\x1a\xdb\xd1\x24\x9a\x9b\x02\xb9\xd7\x02\xae\xb9\xb1\x5a\x38\xb6\xe3\x3a\x64\x26\x4a\x26\x77\x89\xdc\xd2\xd5\x3e\xb6\x2c\xe8\xc4\xb6\x35\xfb\x06\xad\x53\x68\x14\xf6\x97\x2b\x6f\x06\x7d\x71\x43\xe2\x4d\x4b\x5d\xe8\xe9\xaf\x5f\x6b\x71\x50\xe7\xbb\x0c\xfd\x3c\x5c\x4a\x14\xaa\xcf\xa6\x16\x6c\x36\xcc\x26\xaa\xae\x95\x42\x52\xfd\x89\x3a\x5b\x90\x1d\xaf\xbd\x32\x24\x74\x1e\x55\x9c\xc3\xa4\x5d\xc6\x86\x24\x77\x45\xb0\x50\x5b\xe3\xee\xcb\xfa\x3a\x15\x93\xc0\xcb\xca\xee\xba\x36\x3f\x68\x16\x22\x12\x4c\x2c\xd9\xd7\x16\xf8\x60\xe9\x0e\x5c\xe6\xa3\x33\xbf\x17\xb8\x44\x2a\xaa\xab\x5a\x9e\x9e\xcd\xe1\xcf\x1f\xbb\xef\x0b\x4f\x9b\x51\xc7\xdf\xc1\xdc\x67\xd0\xdb\x1e\x78\xd8\x44\x76\xc6\xec\x33\x43\x43\xa0\xba\x3a\x37\x34\xa6\xbb\x2d\xc3\xcb\x1d\x1e\x35\xc8\xbb\xb0\xa3\x63\x79\x18\x80\x8d\xbb\xe7\xd7\x45\x7e\x2a\xcc\x5b\xf7\xe8\xd2\xa9\x5a\x39\x1c\x7f\xf8\xba\xbf\x60\xd0\xe3\x09\x1c\xd1\xe0\x4f\x18\x0e\xcf\xe1\xc4\xdb\x73\x52\x08\x72\xaf\xbe\xaf\xa8\xf7\x0c\x75\x04\x4d\x06\xe2\x08\xf4\xd4\xf0\x9c\xf4\x69\xeb\x31\x7d\x24\x75\x41\x2d\xc7\x53\xe7\x27\x8c\xa1\x2f\x8e\x7d\x10\x7d\xd3\xa3\x17\x29\x13\xdd\x58\x24\x9f\xfb\x03\x1b\xf5\x58\x34\x1f\x07\x86\x25\x1a\x02\x8b\x96\xc2\xec\x83\xd9\x20\xbe\xe8\x7e\xb1\x6f\x4a\xb3\x37\x8b\xee\x17\xfb\x51\x6a\xc6\x24\x88\x1d\x9a\x38\xa8\x58\x8b\x83\xea\x36\x36\x4b\xee\xc7\xb5\x54\xee\xdd\x86\x6b\x97\x74\xe9\x27\x34\x84\xbb\x28\x26\x8f\x0d\x5d\xff\x9e\x42\x70\x1f\xc5\xd1\xc9\x74\x27\xf7\x7a\x48\x79\xb8\x5f\x30\x7a\x64\xa5\xb8\x07\x68\x64\xd1\xf8\x50\xc6\x11\xfe\x7d\xfe\xc3\xb7\x3d\x09\x9b\xbf\x0c\x43\xb7\xf1\x83\x13\xfd\x7d\xf2\xec\x6d\xf3\x14\xce\xa8\xc4\xcd\x95\x98\x25\x84\xc7\x70\x5a\xef\xb2\xd3\x53\xdd\x22\x33\xe1\x58\xaa\xe7\xe9\x7d\x4e\xb5\xe4\x85\x92\x6b\x84\xf7\xc0\xec\xad\xf7\x9e\xf0\x6c\x06\xaf\x58\xd9\x8b\xa9\x08\xfb\xed\x86\xcb\x50\x62\x70\x6d\xbd\x7e\xf9\xee\xf3\x3f\xdd\xa5\x0f\x5e\x84\x7a\x9e\x1c\xd0\x0c\xad\x3a\xc4\xa3\x90\xa9\x8d\x59\xf8\xc8\x4b\xe5\xf1\x4d\x19\xf7\xfc\x08\xdd\x3f\xf2\x8f\x32\xd1\x52\xf4\x5e\x47\x2a\x06\xe1\x92\xd9\xc8\xe5\xc7\x15\xcc\x5b\x18\xbd\xfd\xb5\x66\x9a\xfb\x46\x23\xf7\x20\x6d\xeb\xe6\xdd\xe8\xb5\x0d\x01\xba\x2a\xa9\xb1\xab\xbd\x36\x3d\xf7\xd6\x5a\xf5\x27\x26\x25\xd7\xad\x55\xe3\x33\x2b\xcd\x62\x93\x6e\xf2\x4e\x67\xc4\x8c\x3a\x33\x41\x72\xa6\xe1\x9b\x6f\x2f\x2e\xee\xbf\xff\xe3\xc5\x7e\xb4\x96\xb4\xd2\x48\xb4\xde\xaa\x4c\xf8\xcd\x31\x8e\x0d\x74\xf7\xa5\x8d\xd5\xef\x0d\x18\x37\x6e\xa3\x4a\x5e\xb1\x35\x6f\x75\x03\xc2\x6b\xe5\xdf\x71\xa6\xb6\x61\x9f\xda\x9d\xd0\x4d\xb4\xb5\x66\xe5\xc9\x04\x4e\xec\x56\x58\xcb\x35\x7e\xcc\x85\xc9\x94\xce\x4f\x8e\x5c\xed\x73\x2b\x9a\xa4\x7d\x7c\xef\xf6\xfe\xa6\xef\xc2\x8f\x93\xb0\xf6\x9c\x63\x92\xd1\x1e\x7d\x6c\xc3\x3a\xb0\x1f\xc2\x97\x30\xe9\x37\x7d\xc2\xfe\x01\x05\xff\x84\x31\xb0\x48\xd9\xd4\x1f\x9a\x70\x05\x16\x29\x8f\x06\xa0\x3a\x96\x20\x44\xf7\xe9\x71\x31\x49\xfa\x98\xfe\x70\x58\xe2\xa2\x92\x08\xec\x0b\x46\x27\x8f\x8a\x4c\x1e\xf1\xfe\xfe\xe0\xc9\xd4\x67\x89\x4f\x1e\xf4\x32\xff\x11\xb7\x1a\xfe\x3d\x3e\x4a\xf9\xf4\xe4\xff\x03\x00\x00\xff\xff\x4c\xaf\xc2\x20\x18\x68\x00\x00"
 
 func utilityMetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -237,11 +237,11 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/MetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0x3a, 0xe1, 0xc, 0xba, 0xd9, 0x28, 0x82, 0x61, 0x70, 0xe4, 0x65, 0xb6, 0x24, 0xf2, 0x9f, 0x77, 0xfd, 0xfa, 0xf, 0xd8, 0xe, 0xc8, 0xde, 0xf0, 0xf7, 0x8d, 0xec, 0x39, 0x7f, 0x57, 0xe2}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0xce, 0xd4, 0xb0, 0xeb, 0x67, 0x9d, 0x13, 0xb3, 0x1, 0x14, 0xcd, 0x9e, 0xff, 0x27, 0x65, 0x19, 0xf, 0xf7, 0x45, 0x7a, 0x11, 0x49, 0xf6, 0xab, 0x24, 0xee, 0x8c, 0xe2, 0x41, 0x0, 0x1e}}
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x57\x41\x8f\xdb\xba\x11\xbe\xeb\x57\xcc\xcb\x03\x9a\xdd\xc0\xb1\x7b\x28\x7a\x30\x10\x34\xed\xdb\xb7\x80\x2f\xdb\x87\xad\x8b\x1e\x82\x00\xa6\xc5\x91\x4d\x2c\x45\x2a\x24\x65\xc7\x0d\xf6\xbf\x17\x33\x24\x25\xca\xf6\x26\x9b\x5b\x73\x89\x57\x22\x67\xbe\xf9\xe6\x9b\x8f\xd4\xe2\xdd\xbb\xaa\xfa\xf5\x57\x58\xef\x11\xee\xb5\x3d\xc2\x83\x35\xef\xef\x7b\xb3\x53\x5b\x8d\xb0\xb6\x4f\x68\xc0\x07\x61\xa4\x70\x92\x17\x6e\x1e\xac\xc9\xef\xf9\xf5\x06\x6a\x6b\x82\x13\x75\x00\x65\x02\xba\x46\xd4\x58\x55\x14\x6f\xf8\x13\xc2\x5e\x04\x10\x5a\x5f\x8b\x9e\x77\x7b\xa8\x6d\xaf\x25\xfd\xdd\x58\xd7\x42\xb0\xf3\x6a\xd5\x80\x80\xde\xa3\x83\xa3\x30\xc1\x43\xb0\x20\xb1\xd3\xf6\x04\x02\x0c\x1e\xe1\xe1\x7e\x3d\xec\x9f\x41\xd8\xa3\x72\x23\x9a\x23\x87\x33\x88\xb2\x0a\x16\x54\xdb\x69\x6c\xd1\x04\x5a\x06\xe7\x45\x8c\x58\xe7\x8c\xfd\x32\xce\x5e\x1c\x90\xf2\x37\x56\x13\x4d\x54\x0c\x05\x72\xbd\x46\x0f\xc2\x48\x30\xa2\x55\x66\x57\x71\xa9\x61\x52\xbd\xef\xb0\x56\x8d\x42\x3f\x4f\x0c\xde\xaf\x37\xe0\xd0\xdb\xde\x65\xaa\x6a\xeb\x70\x78\x04\xe1\xd4\x25\xce\x1c\x76\x0e\x3d\x52\xed\xc2\x70\xb9\xca\x70\x74\xdf\x0a\x17\x06\x8c\x29\xf0\x6f\x56\x6b\xac\x83\xb2\x66\x03\x8f\x93\xf8\x63\x68\x8a\xea\x83\x75\x84\x9a\xa9\x7d\xeb\x13\x8d\x79\xef\xbc\x5a\x51\x2b\x6b\xdd\x4b\x5e\xd4\xe0\x11\x9a\xde\xf0\x3b\x6e\x81\x60\x06\x08\x85\x3d\x1a\x74\xf4\x08\x85\x57\xfa\x54\xb5\x96\x49\x7a\x42\xe3\x09\x28\xd1\x62\xfb\x00\xb6\xe1\xd5\x65\x0a\xc6\xfb\x87\xb3\x07\x25\xd1\x6d\x78\xe5\xe6\x11\x6b\x54\x07\xfa\x73\x80\x3b\x90\xe8\xb9\x0e\x5f\x3e\x01\x89\xb5\x16\x0e\x0b\x70\x47\x15\xf6\xe0\x6d\x8b\xd0\x39\xe4\xa0\x9d\xf5\x4c\x93\x54\xbc\xa2\x4a\xac\x7e\xe9\x95\x43\x06\x35\x72\x56\x74\xb7\x46\x17\x84\x32\xa9\xa7\x1c\x68\x8b\x7b\x71\x50\xd6\x0d\xd3\xe0\xa3\x52\x4e\x40\x10\x3c\x76\xc2\x89\x80\xb0\xc5\x5a\xf4\x04\x33\xc0\x4e\x1d\xd0\x73\x0e\x56\x30\xfd\x10\x5b\xa5\x55\x38\x51\x26\xbf\xa7\x7d\x02\x1c\x36\xe8\xd0\xd4\x48\x22\x8d\x0a\x2e\x21\x11\x5c\x6b\xf4\x09\xf0\x6b\x67\x7d\x8a\xd7\x28\xd4\x32\xaa\x6e\xac\x5d\x19\xb0\x06\xc1\x3a\x68\xad\xc3\x2a\x71\x3e\xd2\x35\x87\x15\xcd\xa0\xb7\x09\x18\x81\xf2\xe7\xa8\x5a\xf1\x84\x50\xf7\x3e\xd8\x76\x68\x42\x22\x6d\x32\x40\xd3\x46\xd0\x58\x5a\x38\x08\xa7\x6c\x4f\x21\x95\xd9\xa5\x5e\x50\xf8\xa8\x87\x79\x55\xfd\xe3\x04\xbd\x27\x3e\x87\xc8\x5c\xc2\x18\x68\x96\x40\xd9\x86\x25\x39\xd5\xb8\x87\x5a\x18\xf0\x68\x64\x45\xbb\x5c\x14\x4b\x56\x5b\x87\xe8\xde\x07\xfb\x9e\xfe\x9f\x71\x6e\x12\x1e\xb5\xcc\xec\x08\x1f\x27\xe1\x69\x26\x58\x02\x6a\xa4\xa8\x1a\x34\xca\x1d\xba\xea\x62\x9c\xd6\x96\x53\xe5\xa9\x23\xd5\x1b\x1b\xf6\xe8\x18\xe2\x6c\xb0\x25\xf6\x06\x4f\xdc\x9c\x38\xb4\x74\x22\x8e\xc6\xc3\xfd\xba\x6a\x9c\x6d\x2f\x7a\xca\x3e\x65\xa0\xce\x0e\x22\xb1\xb3\x5e\x85\xa1\x93\x60\xcd\x24\xd7\x5b\x5f\x4d\x35\x5a\x5b\xea\x44\x88\xf2\x0d\x4e\x18\xdf\xa0\x9b\x57\xd5\xbb\x45\x55\x2d\x16\xec\xe4\x2d\x89\xb7\x34\xc7\xc2\xdf\xe0\x9f\x1c\xba\x7c\x4b\xcd\xd2\x9a\x36\xab\xb6\xb3\x2e\xc4\xb6\x14\xfd\x56\xbe\xf0\xf6\xc5\xa2\xea\xfa\xed\x95\xd0\x97\xae\xfa\xad\xaa\x00\x00\x12\xaa\x60\x83\xd0\x60\xfa\x76\x8b\x8e\x3d\x21\xb6\x8e\x95\xaa\x7c\x74\x3d\x65\x00\xbf\x2a\x1f\x78\x22\x68\x2f\xa5\x3a\x08\x17\x37\xff\xab\xef\x3a\x7d\x5a\xc2\xbf\x57\x26\xfc\xf5\x2f\x43\xf0\xdf\x0f\x11\xa6\x08\x80\xad\x0a\x01\x25\x1c\x89\xe3\xd4\x87\x02\x2a\xd5\xa1\x82\x12\x5a\xfd\x17\x65\xda\x3e\xa4\x41\x0e\xf3\x5b\x5a\xbc\x1a\x17\xde\xdc\x5e\x4b\xa5\xfc\x34\x9b\x88\x05\xd1\xf3\xac\x04\x33\xcb\xfb\x94\x91\xaa\x16\x81\xd5\x38\x18\xe7\x85\x2f\xa6\xc0\x01\x8e\xa2\x08\x02\xa4\xa3\x79\x89\x76\xb1\x80\xd5\xc5\x5e\xe5\xc1\xd8\x10\x7d\x17\x44\x5d\xdb\xde\x84\xb7\x9e\xcd\x5e\xec\x70\x06\x1b\x0a\xb3\xe1\x56\xc3\x16\x61\x63\x94\xde\xcc\xaf\x73\xf0\x9f\x94\xfa\x46\xc9\x4c\xf6\x8c\x51\x2c\xe1\xef\x52\x3a\xf4\xfe\x6f\x57\x29\x79\x89\x8f\xa4\x71\x94\x3c\x48\x93\x83\xe0\xac\xaa\x90\x99\x4a\x56\xf7\x1a\xa2\xca\xe8\x2f\x14\x74\x17\x97\x4c\xea\x09\xf6\x5a\x35\xab\xe9\xa5\x25\x49\xc8\x0f\xe7\xff\x78\x3d\x39\xcf\x74\x79\x68\xc1\x8a\xd4\xf7\x8d\x57\x14\x73\xd0\x1b\xf5\xa5\x47\x58\xdd\x25\xd2\x44\xbd\x67\x99\xee\x85\x1f\x96\x52\x40\x8d\x01\x46\xc0\xfc\xea\x79\xc0\xf9\x18\xcf\xb0\x76\xe0\x9e\xfc\x24\x81\x23\x95\x5d\x33\x50\xaa\x21\xef\xe7\xab\x54\xa3\x4c\x3c\x83\x12\x72\x32\x25\x94\xd1\xf1\x28\x66\x8a\xc7\x0e\x4f\xb5\x5c\xd6\xfa\x70\xbf\x5e\x9e\x97\xf9\x43\xec\x05\xc7\x16\x5a\x94\x8a\x4e\xce\x2c\x77\x0f\xd9\x36\x0b\xd3\x7c\x05\xd7\xf9\x32\x31\xe5\x7b\xf0\x64\x87\x74\x39\x19\xae\x51\x43\x8e\x42\x53\xe4\x7a\x71\x91\x0a\x10\x4f\xe3\xc8\x88\x9b\x94\xd6\xf4\x66\x08\x7b\x93\x7f\xac\xee\x72\xad\xb7\x4b\xf8\x38\xe5\x83\x37\xd2\x3d\x64\xfa\x88\xfe\x39\xf4\xbd\x0e\x73\x25\xe1\xc3\x07\x28\x63\xbd\x21\xa1\xac\xee\xb2\xf2\x47\x2f\x88\x33\xd5\xf6\x3e\xd0\x10\xf3\x55\x50\xb4\x08\x22\x8e\x0b\xdd\x6c\xd0\xd3\x28\xac\xee\xde\x4c\xb2\x3d\x57\xd3\x5f\x3f\xe8\x46\x9a\x29\x9f\x79\xf8\xa9\x56\xe4\x8b\x5c\xf6\xff\x94\x28\x9f\x74\x41\x3c\x8d\x8d\x10\xfc\x4b\xb8\x5d\xcf\x52\xa6\x1e\x08\x29\xcb\x16\x9c\xa5\x2e\xd2\x97\x1d\x49\xc1\x6f\x98\x9f\xd8\x82\xdb\x97\x0b\xe5\x81\x19\x5c\x32\x1d\xe3\xb5\x6d\x5b\xbe\x6b\xe5\x0d\x5d\xbf\xd5\xca\xef\xa1\xb1\x6e\xf8\xb8\x98\x60\x79\xa1\xfe\x11\xf1\x1f\x14\xa1\x3e\x9b\x8d\xef\xc2\x2d\x17\xed\x30\xac\xee\xfc\xcd\xed\x12\x3e\x45\x6d\x7d\xbe\x58\xb2\xb5\xce\xd9\xe3\xc3\xfd\xba\xb0\xb6\xdb\x25\xfc\x29\x0f\xeb\x75\xc3\x48\x05\xd1\x7c\xd7\x8e\xae\x12\x93\x4f\x8f\xc2\x22\xb6\x98\x6f\xd9\x32\x7f\x79\x0c\xf7\x02\x72\x99\xec\x2d\x2f\x8a\x62\xa4\x62\x39\x4c\xe8\x6c\x10\xc8\xec\x1a\x55\xa5\x64\xee\x14\xbf\x13\x8e\x6f\xa7\x7b\xab\xe5\xe8\xc8\x09\xcf\x15\x79\xe4\x3b\x03\x1d\x1e\x92\xd6\x2e\xe1\xe3\xb7\xc8\xcd\x92\xf6\x3e\x57\xff\x17\x16\xf1\xbd\xe1\x88\xb3\x71\x39\x0c\x23\x16\x0f\x72\x20\xa7\x0c\x34\x6c\x0a\xd1\x41\xd2\x46\x25\x41\x38\x27\x4e\xaf\x53\x62\x19\x30\xaa\x10\x1c\x86\xde\x99\x34\xad\x4e\x9c\xb2\x35\xd1\xbb\x38\x4f\x0e\x73\x4f\xea\xeb\x3d\x79\x41\xd3\x65\xb2\xc7\x9c\x25\x29\x1b\xe5\xf8\x85\x14\x6f\xe1\xe5\x57\xf0\x95\x3c\x8b\x05\x78\x3b\x9e\xdd\xb1\x39\xfc\xe9\xe0\x50\x48\x90\x22\x08\xa6\x88\xef\xdf\x2d\x86\xbd\x95\xe9\xc4\x51\xe1\x67\xa6\xeb\xdc\xdf\x1d\x5e\xb1\x77\x8f\xba\x99\x0f\x2a\xfc\xa4\xe4\x67\xf8\xe5\x03\x18\xa5\x97\xf0\x86\x62\x48\x8b\xf1\xd2\xc6\x77\xde\xcb\xaa\x7e\x79\xad\x87\xd7\x0e\x45\xc0\xdf\xdb\x2e\x9c\x8a\x8f\x85\xf8\x94\x5b\x86\xf4\xea\xd2\xc5\x21\x7e\x4a\x45\xce\xcf\x25\x5d\x12\x79\x62\x0a\xed\x91\xe9\xf7\x55\x49\xd2\xd5\xdc\xd4\xe0\x8f\x05\x94\xc2\x01\x2f\x4f\xc2\x74\x0a\x66\x69\xcc\x35\x9a\x5d\xd8\xd3\x91\xf8\xe7\x74\x12\xc6\x1c\xb2\x1c\xc5\x7c\x04\x72\x65\x05\x51\x99\x9a\xe7\xea\x7f\x01\x00\x00\xff\xff\x2c\x4f\xdd\x28\xdc\x12\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x5f\x6f\xe3\xb6\xb2\x7f\xd7\xa7\x98\x4d\x81\xae\x5d\xb8\xce\xc5\xc5\xc5\x7d\x30\x4e\x4f\xba\xdd\x34\x07\x01\x0e\xd2\x62\xd7\x6d\x1f\x8a\xa2\x61\xa4\xb1\xcd\xae\x44\xaa\x24\x65\xd7\xc8\xe6\xbb\x1f\xcc\x90\x94\x28\x4b\x4e\xe2\x6c\x0b\x9c\x87\xee\x43\xd6\x96\xc5\x1f\x87\xf3\xe7\xc7\x99\x21\xcf\xbf\xf8\x22\xcb\x3e\xfb\x0c\x96\x1b\x84\xab\x52\xef\xe0\x46\xab\x2f\xaf\x1a\xb5\x96\x77\x25\xc2\x52\x7f\x40\x05\xd6\x09\x55\x08\x53\xf0\x8b\xb7\x37\x5a\xc5\xdf\xf9\xe7\x5b\xc8\xb5\x72\x46\xe4\x0e\xa4\x72\x68\x56\x22\xc7\x2c\x23\xbc\xf6\x2b\xb8\x8d\x70\x20\xca\x72\x0c\x3d\x8e\xb6\x60\x37\xba\x29\x0b\x7a\xb0\xd2\xa6\x02\xa7\xe7\xd9\xf5\x0a\x04\x34\x16\x0d\xec\x84\x72\x16\x9c\x86\x02\xeb\x52\xef\x41\x80\xc2\x1d\xdc\x5c\x2d\x5b\x80\x19\xb8\x0d\x4a\xd3\x89\xb3\x63\x38\x85\x58\x64\x4e\x83\xac\xea\x12\x2b\x54\x8e\x5e\x83\xc3\x55\x74\xc2\xce\x59\xf8\x14\xa7\x6a\xac\x83\x95\x2e\x49\x3d\xb4\x08\x1a\x6f\x9a\x12\x2d\x08\x55\x80\x12\x95\x54\xeb\x8c\x97\xe8\x7a\xab\xb6\x35\xe6\x72\x25\xd1\xce\x83\xe6\xae\x96\xb7\x60\xd0\xea\xc6\x44\x15\xe5\xda\x60\xfb\x08\xdc\xbe\x0e\xba\x32\x58\x1b\xb4\x48\x4b\x16\x8a\x57\x29\x15\xa3\xdb\x4a\x18\xd7\x8a\x16\x80\xdf\xea\xb2\xc4\xdc\x49\xad\x6e\xe1\x5d\x0f\xbf\x83\x26\x54\xeb\xb4\x21\xa9\x59\xa3\xaf\x6d\xd0\x5e\x1c\x3b\xcf\xae\xc9\x84\x79\xd9\x14\xfc\xd2\x0a\x77\xb0\x6a\x14\xff\xc6\x9a\x17\xac\x01\x92\x42\xef\x14\x1a\x7a\x84\xc2\xca\x72\x9f\x55\x7a\x8b\xe0\x48\x8f\x96\x04\x25\xb5\xe8\xc6\x81\x5e\xf1\xdb\xe9\x14\x2c\xef\xf7\x46\x6f\x65\x81\xe6\x96\xdf\xbc\x7d\x87\x39\xca\x2d\x7d\x6d\xc5\x6d\x95\x68\x79\x1d\x36\x7d\x02\x05\xe6\xa5\x30\x98\x08\xb7\x93\x6e\x03\x56\x57\x08\xb5\x41\x06\xad\xb5\x65\x35\x15\x92\xdf\xc8\x82\x56\x7f\x6f\xa4\x41\x16\xaa\xd3\x19\xad\x23\x58\x37\x47\xe3\x84\x54\xc1\xa6\x0c\x74\x87\x1b\xb1\x95\xda\xb4\x51\x60\xbd\x83\xec\x81\x44\xb0\x58\x0b\x23\x1c\xc2\x1d\xe6\xa2\x21\x31\x1d\xac\xe5\x16\x2d\xcf\xc1\x8e\x4b\x1f\xc4\x9d\x2c\xa5\xdb\xd3\x4c\x76\x43\xe3\x04\x18\x5c\xa1\x41\x95\x23\xf9\xa6\x77\xdc\x54\x24\x12\x57\xab\x72\x0f\xf8\x47\xad\x6d\xc0\x5b\x49\x2c\x0b\xef\x75\xdd\xda\xa5\x02\xad\x10\xb4\x81\x4a\x1b\xcc\x82\xce\x3b\x75\xcd\xe1\x9a\x62\xcf\xea\x20\x18\x09\x65\x0f\xa5\xaa\xc4\x07\x84\xbc\xb1\x4e\x57\xad\x11\x82\xd2\x7a\x71\xd3\x37\x04\x45\xa3\x86\xad\x30\x52\x37\x04\x29\xd5\x3a\xd8\x82\xe0\xbd\x3f\xcc\xb3\xec\x9b\x3d\x34\x96\xf4\xd9\x22\xf3\x12\x3a\xa0\x59\x10\x4a\xaf\xd8\x25\xfb\x3e\x6e\x21\x17\x0a\x2c\xaa\x22\xa3\x51\xc6\x3b\x4b\xf4\xb6\x1a\xd1\x7c\xe9\xf4\x97\xf4\xff\x8c\xe7\x26\xc7\x23\x93\xa9\x35\xc9\xc7\x93\x30\x19\x90\x58\x02\x72\x24\xd4\x12\x4a\x2c\xd6\x68\xb2\x41\x38\x2d\x35\x4f\x15\xa3\x8e\xbc\x5e\x69\xb7\x41\xc3\x22\xce\x5a\x36\x62\x6a\xb1\xa4\x9b\x3d\x43\x17\x46\xf8\xd0\xb8\xb9\x5a\x66\x2b\xa3\xab\x81\x4d\x99\x9e\x14\xe4\x91\x41\x0a\xac\xb5\x95\xae\xb5\x24\x68\xd5\x9b\xeb\xb5\xcd\xfa\x3e\x9a\x6b\xb2\x84\xf3\xee\xeb\x8c\x50\x76\x85\x66\x9e\x65\x5f\x9c\x67\x99\xac\x6a\x6d\x1c\xfc\x28\x71\x47\x04\x50\x6e\xd1\x00\x4b\x71\x36\x3f\x4f\x1f\xce\xf3\x22\x3f\xcb\xb2\xf3\xf3\x73\x66\xfc\x8a\x9c\x3d\xe5\xd0\x84\x06\xe1\x3b\x16\x25\xfd\x95\x8c\x5b\x96\x3c\x3a\x4c\xc8\x76\x4c\x1c\x44\xda\x64\x13\x38\x3f\x3f\xcf\x44\x9e\xa3\xb5\x13\x51\x96\xd3\x6e\x92\x01\xf9\xde\x67\x19\x00\xc0\xf9\x39\xbc\x51\x80\xca\x49\x17\x10\x57\xda\x78\xda\x61\x73\x6e\xb0\xd5\xb5\x28\x99\x5d\xbc\x13\xf0\x4a\x05\xfc\x28\x9a\xd2\x31\x50\x3a\x6b\x0a\xf7\x53\x1c\x7d\x57\x62\x9c\xf2\x1c\xbe\xdd\x7a\xe1\xc9\xd9\x2d\x60\x25\x9d\xc3\x02\x76\x64\x2d\xe1\xa7\xa0\xe7\x71\x66\x35\x6b\x07\x4a\x55\xc8\x5c\xb8\x28\x9b\x67\xc5\x01\xe9\x05\x64\x07\x3b\x91\xa0\xb0\xd0\xf3\x08\xd5\x42\x5e\x0f\x46\x4b\x0b\x4a\x3b\x4f\xab\xb4\x30\xdd\x28\xf7\xda\x32\x97\x8b\x35\xce\xe0\x96\x80\x6e\xd9\x32\x70\x87\x70\xab\x64\x79\xdb\xc7\xed\x69\x63\x9b\xea\x61\x22\x8b\x05\xfc\x70\xad\xdc\xff\xff\xdf\x0c\x9a\x26\xfd\x46\xa8\x0b\x78\x53\x14\x06\xad\xbd\x98\xf1\xde\xb4\x80\xf7\xce\x48\xb5\x9e\x66\x29\xae\xc5\x72\x35\x25\x37\x66\xd5\xdd\x5c\x2d\x3f\x15\x7d\x01\xdf\x68\x5d\xf2\x14\xf7\xfc\x97\xfe\x11\x76\x5f\x6e\x59\x44\x54\xfa\x1b\x31\xe9\x6f\xc4\xa3\xbf\xd3\x16\xc1\xa0\x6b\x8c\x02\x67\x1a\xe4\x67\x0f\xa3\x1e\x70\xcc\xfc\x21\x5c\xb1\x60\x4e\xe8\xed\x69\x03\x1b\xba\xe8\x19\x81\xb7\x9f\xe3\x18\x29\xfe\x53\xe6\xbb\xf4\xef\x3e\xa2\x5f\xa7\x5f\x68\xbb\x4f\x82\x3e\x6e\xb8\x14\xf6\xd0\x6e\x04\xe8\xf4\xc9\x36\x5b\x06\x06\x1c\xa8\x9f\x88\x0d\x3b\x83\x86\xac\xf2\x0e\xfb\xa6\x0d\xd4\x41\x9b\x71\xe4\x52\x83\x85\xa7\x12\xda\x4f\x43\xa4\x25\x3b\xc0\x13\x46\x89\xf2\x9c\xe2\xf5\x2f\xb5\xd2\x93\x73\x5d\x9c\x32\xd9\xc5\xb8\xe1\x82\x2a\xa3\x76\xa0\x42\xb7\xd1\x05\xef\xc6\xc1\x2c\x2b\x51\x5a\xaf\x6b\x90\x2b\x72\xe4\x42\x16\xea\xb5\xa3\xa4\x40\xb4\xe3\x52\x3c\xa9\x60\xb7\x91\xf9\x06\x72\x61\x11\x76\x08\x85\xa6\xf7\x29\xb7\xe7\xd8\x08\x66\xd3\x89\xb5\xda\xe1\x72\xc5\x2b\x84\x57\x5f\x81\x92\x25\x7c\xfe\xb9\x4f\x97\xc3\xd7\x4e\xec\xd6\xe7\x7a\x4a\xea\x3b\xdd\xab\x03\xb6\x18\x78\xe0\xab\x69\x0f\xef\xd0\x0d\xd9\x15\x01\x69\xf5\xf7\x4f\xbf\x78\xe8\xb9\x97\x68\x9d\xd1\xfb\x17\x3a\x6e\xac\x07\x88\x32\x18\x27\xe8\x68\x8c\x26\xf8\xf7\xc7\x62\xf9\x14\x62\x38\x09\xec\x31\x2a\xe8\x80\x06\x54\x70\x1a\x05\x5c\xf7\x0b\xcc\x90\x7e\x59\x5f\xb0\x75\x65\xe4\xd1\xc0\x1d\x96\x1b\x34\x7e\xd1\x4b\xa3\xe6\x6d\x3e\x95\x46\x86\x37\x56\xa3\xe4\xef\x0d\xc2\xf5\x65\xd8\x3a\x44\xbe\x61\xdb\x6c\x84\x6d\xdf\x4d\xe7\xdb\x4a\x5f\x52\xc1\x1a\xdd\xf5\xe5\x64\x1a\x75\x37\xee\x44\x64\x82\x39\xe9\x25\xf1\xa4\x34\x98\x8e\x21\x93\xf4\x96\xc0\x7f\x5e\xee\x6b\xfc\xa5\x1f\xd1\x09\xfe\xcf\xbf\xa4\x3f\x3c\x1c\x83\x26\x54\xe3\x75\x40\xc8\x93\x5f\x79\xb2\x05\x10\xf8\x74\x01\x6f\xd4\xfe\xbd\x33\x4d\xee\x2e\x8e\x4e\xa4\x64\xd9\x9f\xa9\xfd\x16\x3c\x78\x32\x3d\xd0\x00\x55\x71\xfd\x27\x7e\xec\x61\xe2\x38\x1f\x71\x4e\x56\x5b\x50\x70\xf4\xae\x56\x95\xd1\xc5\xe2\x4b\xb4\x88\xc9\x74\x2e\x0b\xca\x12\x57\x12\x4d\x3f\xee\x1f\x8e\x07\x71\xe2\x7b\x1a\x2a\x2c\x24\x55\x81\x31\xbb\x0b\x29\x69\xbf\xce\x3c\xc5\x0d\x63\x85\x7c\xe0\x74\x57\xb1\x56\xa0\xbc\xb8\x36\xfa\x37\xcc\x7d\x53\x24\xe6\x1b\xc4\x92\x2e\x16\xa7\xbe\xe8\xfa\xe1\x87\xeb\x4b\xaa\x0e\x95\x76\x8f\x3b\x65\x63\xd1\xd2\xcb\x93\x10\xbc\xe3\x5e\xc9\x9c\x7f\xc4\x23\x7f\xf2\x54\xd5\x15\x44\xcc\x43\x89\x32\xea\xb8\xac\x6e\xa5\xb1\x70\xa6\x70\x95\x39\xe7\xd2\x71\x78\x0a\x1d\x90\x84\x41\xda\x30\x84\xe5\xf7\xfd\x02\x9d\x0e\x7c\x57\x4a\xeb\x50\x51\x21\x19\x7e\x2f\x03\x60\x2c\xb5\x3c\x48\xd6\x53\x69\x2b\xab\xc1\x4a\x6f\xb1\xed\xb7\xb4\x32\x27\xf9\x1a\x55\x3b\xfe\x25\xc9\xbb\x14\xff\x2c\xca\xb2\xb7\xc9\x71\xfe\x57\x68\xf4\x69\xbb\xef\x01\xed\x89\xba\xb9\x9c\xa2\x21\xd7\x97\xc4\xde\x8f\xd8\x25\x2d\x53\x7c\x00\x46\x29\x27\xf1\xc3\xf5\x65\x24\x8f\xe9\x02\xbe\xbe\xbf\xb9\x5a\x3e\x1c\xc6\x90\xb6\x6e\x24\x88\x0c\xda\xa6\x74\x31\x40\xe0\xab\xaf\x20\x85\x3c\x5b\x7a\xf9\x42\xae\xda\x55\x2b\x3e\x0f\x66\x62\xbd\xf3\x15\xa8\x15\x15\x92\xa2\xb9\x1b\x86\xbf\x37\x68\x69\x8b\xba\xbe\x3c\x3b\x21\x6e\x7b\xf9\x7c\x5f\xb2\x18\xba\xe1\x69\x9a\xe2\x73\xf0\x72\x4e\x7d\x31\x17\x3e\xa3\x89\x71\xdd\x61\x9c\x10\xd9\x3d\xe3\xbd\x29\x1d\x1a\x95\x06\x73\x48\x7c\xec\x80\xfe\x15\xfe\x41\x9b\x8e\xc1\xe1\xbb\xa1\x57\x96\x86\xe8\x46\x6c\x91\x5b\x34\xb0\x2a\xf1\x0f\xe9\x7b\x2f\x3d\xcc\x34\x8e\x37\xbe\xd3\x26\x8d\xdf\xd1\x28\x9c\x2b\x14\x6d\x72\xd4\xd8\x24\x33\xa2\xb1\x3f\xc5\xae\xcb\xf6\x7f\xa1\xa9\xd7\x46\x14\x38\x8b\x1d\xb1\x20\x43\xac\x10\x13\x5a\xe0\x46\x1d\xf9\xa5\x3d\x88\x89\xf4\xcd\xd0\x16\xba\xbe\xb4\x84\xd8\xe1\x51\x22\x58\xcb\xfc\x03\xa3\xe4\x1b\xad\x29\xa5\xa3\xec\xae\x87\xe5\x3d\xc9\x8e\xa9\xa8\xae\x4b\xe9\xbb\x48\x6e\x83\x55\xdf\x0c\xcb\xef\x2e\xbf\x5b\xc0\x32\x8c\x2c\x4b\x1f\xbb\x8d\x28\xcb\xbd\xd7\xa4\xae\x29\x24\x45\xd9\xe6\x07\xfb\x1a\xed\x0c\xee\x1a\x17\x92\x4a\x23\xd7\x1b\x07\x4a\xef\x7a\xb8\x91\x6e\xf4\x0a\x04\xdc\x35\x6b\x4a\x49\xdf\x8a\x82\x1b\x71\xa3\xbc\x40\x8a\x65\x5d\x3d\xcd\x0f\xb3\xa0\x30\xe9\x7c\x74\xcf\x9e\x43\x18\x4f\x86\x7c\x14\x60\xf2\x6b\x2f\xdf\x7a\x51\xd8\x53\xb8\x53\xb6\xfc\xf1\x63\x78\xf0\x8a\x03\x8b\x1e\x7b\xec\xbf\xe3\x3f\x55\x3b\x61\x9c\x68\x77\x1e\x42\x66\x0f\xd1\xf5\x8c\xed\x62\xb9\x91\x36\x34\x14\x43\x64\xc3\xdd\xbe\xd7\x62\xf0\xe9\x25\xb7\x41\x1d\x11\x48\xd5\x94\x4e\xd6\x25\xfa\x16\x25\x39\xfe\x69\xee\xc4\xba\xf1\x0a\xa3\x8f\x33\xf8\x93\x76\x95\x81\x7b\xfd\xbd\xcd\x3c\xd7\xcd\xde\xa8\xe2\x99\x2c\x93\x38\x9b\x8b\xce\xc6\x41\xfc\x5f\xed\x6e\x61\x7d\x3d\xaf\xfb\x9b\xce\xfe\x12\x3f\x83\x67\x14\x2a\xb1\x39\x63\xe1\x0e\xdd\x0e\x51\x25\x75\x8a\x3d\xa5\x50\x89\x4d\x16\x7d\x58\xaa\xb4\x6d\xa3\xa3\x1e\xcd\xae\x69\x13\xbf\xeb\x8d\x1f\xf5\xe6\xce\x45\xe3\xd9\x2a\x3b\xef\xad\x89\x27\x88\x4f\x3b\xa6\x1b\x6b\x9d\xc5\xf1\x0b\x78\x2b\xea\x70\x2c\xf6\x8f\xcf\xef\xe3\xc1\xe4\xc3\x3f\xd3\x7e\xc6\x53\xba\x0d\xd5\x46\x4c\x6c\x5e\x58\x01\xc6\xb9\xe3\xd9\x48\x9c\x32\xd6\x32\x4e\x7c\xe8\x94\x2a\xf8\x93\x30\xeb\x86\x8f\x39\x48\x77\xa2\x28\x52\xd5\xbd\x1d\xd5\xf2\x68\x41\x48\x5a\x0a\xb3\x4c\x38\x4e\x62\x68\x4e\x7b\xc5\x1e\x09\xb3\x46\xf7\xbe\xa9\x6b\x6d\x1c\x16\x37\x57\x4b\x72\x52\x1b\x12\x32\x0b\x82\x0b\xb2\x78\xa8\xc7\xbc\x11\xfb\x34\xd2\xb6\x2a\xe7\xa9\x6b\x67\x9f\xd3\xd9\x18\xcc\x45\xa5\xea\xfd\x92\x43\x85\xcc\xf3\x70\xb4\x05\x71\xff\x70\xa4\x03\x11\x16\xf2\x2e\xc8\x1c\xcb\x34\x5f\x97\xb1\xe6\xd6\x72\x8b\x3e\xbd\xa4\xaa\xcd\x4b\xeb\xdd\xae\xef\x92\x87\x90\x6f\x46\x19\xd5\x8f\x07\xa1\xf6\x1e\x32\x34\xf9\x7e\x23\x26\x4a\x3a\x5d\x04\x5f\xe0\xaa\x3d\xd0\x7a\x4c\x31\xd2\x1e\xea\x25\x61\xd9\x61\x2d\xdf\x57\x4c\xbf\x9c\x6f\xfb\x40\x89\x8f\xbf\xf3\x87\xe6\xed\x71\x9c\x5f\xb5\xca\x0d\xba\x83\xab\x0b\xed\x10\x5f\xa3\x84\x63\xfa\x22\x5e\x5d\x68\xcf\x09\xb9\xa8\x08\x67\x81\xa7\x84\x44\xe7\xc3\x8b\xb6\x41\x32\x6b\x03\x65\x96\x70\xd1\x6c\xbc\x85\x97\x9c\xa7\x1e\x44\xd5\xbb\xa0\x7a\x3e\x97\x65\xb5\xc7\x03\x36\xa8\x85\xdb\x24\x0b\x1f\x98\xfb\x98\xb3\x5e\x7a\x9c\xf7\x1e\xe6\x7b\xe1\x36\xe4\xad\xc9\xd7\x8b\xf1\x06\x4b\xda\x2d\x7b\x78\x52\xca\xba\xb9\x2b\x65\xfe\xa9\x42\x7e\xcf\x28\x51\xc6\xee\xdb\xe9\x22\xde\x68\x53\x71\x91\xb6\xc3\x90\x64\x74\x97\x2e\x42\x8b\x76\xc0\xe2\xfd\x2a\x58\x44\x6e\xcf\xa1\x90\xfc\x9a\x30\xfe\xe6\x04\x27\x23\xb1\xc9\xeb\x4b\x3d\x7f\xe2\x6c\xa9\xde\x53\x48\x4b\xa4\x77\x29\xb8\xf8\x2e\x44\x0f\xd6\x42\xa9\xd5\x9a\xa9\x32\x9c\xc0\xfb\xb3\xf6\xee\x26\x85\xf0\xf0\x06\xc7\xb4\x6e\xe3\xcc\x03\x26\x4b\xd6\xd3\xe6\x4c\xfd\x7e\xd0\xe0\xe0\xef\x80\x09\x22\xea\x8c\x08\x3b\x30\x82\x57\xf5\x81\x66\xb4\x42\xc0\x70\x96\x9d\x28\xa7\xbd\x72\xf1\x01\x03\xad\x08\x0b\xb7\x5f\xdf\x0f\xf2\x14\x62\xf1\xc1\x1e\xf9\x49\x34\x0b\xb1\x5b\xcb\xb4\xb5\x80\xb3\xa2\xa9\xaa\xfd\xd9\xf1\xc4\xf7\xcf\x64\xda\x3f\x83\x0e\x4f\x5e\x40\x6e\x50\x38\xfc\xb6\xaa\xdd\x3e\xe1\x13\xff\x94\xb7\x61\xa4\x9f\x8e\x6c\xb8\xe0\xaf\xb0\x78\x15\x1c\xa6\xe9\x60\x75\x1b\x25\x7b\xf6\x11\xbd\xe3\xfd\x7d\xfc\x34\x81\x16\x3b\x2a\xcc\x84\x93\xe9\xee\xfb\x0b\x3a\x83\x76\x32\x9d\x97\xa8\xd6\x6e\x43\xc9\xf4\xff\x84\x4c\xda\xcf\x56\xa4\x9e\x1c\x53\x68\x5e\xf4\xab\xb3\xe7\x14\x3f\x27\x77\x9f\x9f\xdc\xb1\xfe\xca\x86\xee\xcb\x5b\xb2\x63\xc1\xf7\x68\x2e\xe7\x53\xb9\x61\xee\xd6\x09\x6c\x93\xa8\x1f\xb8\x15\x8f\x0a\xfd\xe5\x30\x92\xaa\x42\x63\xc4\xfe\x84\x3c\x6f\x4c\xea\x69\xaa\xee\x81\x5d\xfa\x87\x35\xe1\x21\xf4\x4f\x04\xd2\x0b\x4f\xbe\x59\x1f\x92\x82\xde\xdd\xc5\xee\xea\xd0\x38\x5a\x6c\xde\x1d\x1f\xc8\xc4\x51\x56\xe4\xe0\xa2\xdc\x89\x7d\xbc\x37\xa7\x44\xc9\x87\x4d\x52\x89\xc3\x5c\x2d\xf9\xd8\xdd\x28\x22\x7d\xb6\xf2\x56\xd2\x5a\x56\x3e\xbb\x50\x7b\x4b\xce\xa7\x1d\xc4\xff\xa1\x96\x6e\x8f\x24\x8e\xc0\x13\xe8\x46\x18\xbe\x41\x62\x90\x72\x28\x59\xe2\xc8\xf1\xc5\xf8\xf0\xe3\x67\x5f\xdd\xd5\x0a\x96\xfe\xb0\xe4\xf4\x0f\xbb\xbb\x16\x8f\xd4\x9b\xed\xf8\x47\xca\xcd\x20\xd4\xf1\x84\xfa\xe0\x98\x4a\x40\x21\x0d\xe6\xae\xab\x08\xa5\xb2\x0e\x45\x41\xea\xee\x2e\xea\xf1\x9d\x81\xa8\x72\xd2\x54\x77\xd3\x6b\xd8\xbe\xe0\xfd\x53\x15\xfd\xbd\x32\x5c\x47\xf0\x27\x60\xdd\x6c\x85\x46\xce\x0f\x6c\x93\xe7\x88\xbe\x4d\xc2\x29\x76\xb8\xb2\xa0\xd1\xc6\xdf\x1e\x2b\x8d\x3e\xad\x92\x1c\x18\x6f\x50\x5a\x3e\xeb\x04\x34\xa2\xcf\xf3\x0d\xe6\x1f\x88\x2a\xcf\xde\xfa\x4b\xce\xda\xc1\x9d\x36\x46\xef\xd2\xab\xa5\x91\x06\x88\x57\xe2\xd0\x53\xfa\x19\x47\x6e\x50\xb0\x03\xf9\xd9\x6e\xae\x96\xef\xc5\x0a\xc3\x0b\xd3\x8b\x67\x34\x36\xf4\xa2\x5b\x86\x07\x99\x4c\x2f\x8e\xf8\x63\x7f\xa6\x89\x2c\xa6\x9f\xd2\x73\xf3\x3b\x5b\x57\x9f\x2a\x4f\x8e\xb1\x3b\x44\xbf\xf9\x8b\xea\x06\x23\x3d\x9d\x90\x4a\xf3\xa6\xb9\x80\x9f\xbd\x27\xfc\xd2\x9f\xfa\x5f\xe8\xc2\x9d\xdb\x8a\x6f\x15\xf9\xa2\xd8\xdf\xe2\xeb\x2a\xa4\x13\x66\xfb\x37\x6f\xce\x34\xe1\xb5\x72\x63\xcb\x8c\x8d\xb7\xb1\x7a\xfc\xf1\x95\xce\x28\x8d\x0c\x79\x57\xac\xea\x22\xf6\x7b\x1f\x70\x7c\x33\x39\xe9\x1e\xa6\x3b\xd4\xc9\xcd\xc3\x31\x4d\xb6\xd2\x27\xa9\x67\xd4\xec\x91\x84\x52\x84\x00\xc0\xa2\x1f\x00\xfd\xfb\xf3\x47\xba\x4d\x49\xe6\x15\x93\x31\x7f\xcf\x49\x14\x50\x08\x27\xfc\x19\x17\x15\x0e\xf1\xf4\x8a\xf7\x02\xf9\xc4\x91\x7a\xe7\xba\xbf\x42\xaf\xd7\x39\xc2\x08\x63\xcd\xcf\x53\xf2\xd2\xab\x98\xdf\xf4\x2e\x01\xbf\x4d\xeb\xec\xf8\xaa\x17\xcb\x1e\x52\xc5\x1a\x1d\x2d\x4f\xf0\x82\x69\x0d\xb6\x2d\x29\xd9\x59\x93\x0a\x2e\x5c\xe4\xa5\x0f\x42\xaa\x27\x4c\xea\xa7\x4b\xc5\x9a\x1c\x28\x63\xb4\x5a\x7f\x38\xac\x3e\x9f\xad\x8e\xc7\x6d\xd1\x12\xd6\x53\xd6\x18\xcc\x3f\x9e\x37\x4f\x7a\xcd\xe8\x29\x7c\xfc\x18\x1f\x5d\xa4\xe7\x1f\xb2\x98\x2e\x06\x63\xe9\xdf\xd9\x5b\xa1\x12\xfe\xf6\x64\x1d\xcc\xc2\x47\xa0\x49\x07\xdb\xc7\x72\xcf\xc5\xdb\xab\x06\x95\x70\xf9\xa6\x4d\x00\xc9\x56\x3b\x61\xbb\x46\xe9\xb1\xdc\x1c\x8e\xd5\xf5\xfe\xef\x43\xf6\x9f\x00\x00\x00\xff\xff\xf2\x21\xeb\x8f\x23\x34\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -257,11 +257,11 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x5d, 0x9e, 0xec, 0x8a, 0x6f, 0x3f, 0x81, 0xc, 0xe, 0x8, 0x81, 0x10, 0x25, 0x43, 0xea, 0x15, 0xd, 0x65, 0x3c, 0x48, 0xda, 0x58, 0x24, 0x6f, 0x18, 0x72, 0x7f, 0x6d, 0x9e, 0x26, 0xd8}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0x3c, 0x43, 0xbb, 0x2d, 0xee, 0x9f, 0xee, 0x2d, 0x38, 0xb8, 0xe1, 0x81, 0x15, 0xa5, 0x83, 0x24, 0x5a, 0x93, 0xc9, 0x82, 0x17, 0xc3, 0x14, 0x8d, 0x8, 0xd0, 0x85, 0x18, 0xcf, 0xd3, 0x4c}}
 	return a, nil
 }
 
-var _utilityPrivatereceiverforwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\xc1\x8e\xdb\x36\x10\xbd\xeb\x2b\x26\x2e\xd0\x4a\xc1\x46\xbe\x14\x3d\x18\xeb\x6c\x83\x6d\xf7\x58\x2c\x92\xb4\xd7\x62\x44\x8d\x2d\x36\x32\x29\x90\x23\xab\x8b\x85\xff\x3d\x20\x25\x51\xa2\x64\x07\xd8\xbd\xac\x28\x71\x66\xde\x7b\x7c\x33\xf4\xf6\x7d\x92\xfc\x04\x4f\xad\x3a\xca\xa2\x26\xf8\xaa\xbf\x91\x82\x67\x23\xcf\xc8\x04\x9f\x49\x90\x3c\x93\x81\x47\xad\xd8\xa0\xe0\x24\xf9\x5a\x49\x0b\x62\x58\x82\x3c\x35\x35\x9d\x48\xb1\x05\x04\xdb\x90\x90\x58\x83\x21\xab\x5b\x23\x08\x50\x95\x60\xc6\x14\x52\x31\x99\x03\x0a\x82\xa4\xab\xb4\x25\x28\xa9\xd1\x56\x32\x1c\x5a\x25\x58\x6a\x05\xd2\x82\x56\xf5\x0b\x08\xac\x6b\x74\x60\x8a\x17\x40\x05\x58\x9e\xa4\x02\xae\x8c\x6e\x8f\x15\x20\x34\x6d\x51\x4b\x01\x02\x1b\x2c\x64\x2d\xf9\x25\x4f\x92\xf7\xdb\x24\x91\xa7\x46\x1b\x0e\x54\x7a\x26\x07\xa3\x4f\xb0\x89\xde\x6d\x92\xa4\x69\x8b\x89\xc3\x40\x76\xe4\xfa\xa4\x4d\x87\xa6\x24\x03\xaf\x49\x02\x00\xb0\xdd\xc2\x9f\x67\x52\x0c\x5c\x21\x3b\x90\x74\x92\xcc\x54\x42\x57\x91\x02\x76\x29\x2d\xa0\x09\x84\xa8\x04\xd6\xc0\x15\x01\xa3\x39\x12\x07\x09\x7c\x36\x57\x9a\x7c\xba\xa1\xee\x1f\x7d\x54\x8a\x27\xdd\x2a\xde\xc1\xdf\x4f\xf2\xff\xdf\x7e\xbd\x03\xd6\x3b\xf8\x54\x96\x86\xac\x7d\xc8\x92\x10\x5b\x13\xc3\x17\x52\x25\x99\x2f\xac\x0d\x1e\xe9\x19\xb9\xda\xc1\x6c\x11\xef\x5d\xb0\xbb\x19\xf4\x83\x98\x67\x2f\x78\x1f\x32\x3d\x4f\x65\xc2\x79\xaf\xa4\x1b\xe4\xf3\x9e\x91\xd6\x09\x66\xc8\x2b\x33\x97\xca\xeb\xd7\xc9\xba\x86\x82\xc0\x92\xe2\x3c\x8e\x25\xe0\x97\x86\x40\xaa\x52\x0a\x64\xb2\xc3\x39\xf8\xa3\x40\x30\x74\x20\x43\x4a\x90\x13\x1d\x63\xad\xfb\x14\xe1\x11\x85\x20\x6b\x53\x4b\xf5\x21\x83\x33\x1a\xb7\x59\x36\x92\x9c\xea\x8f\xc1\x4d\xf7\x3f\xbf\x46\x76\xc9\x47\x19\x2e\x1f\x23\x52\x03\x85\x6b\x85\xb6\x5b\xe7\xc2\xde\xd4\x1e\x2c\xe3\x37\x72\x60\xff\xc1\xb6\x66\xd0\xc5\x7f\x24\x18\xd0\x7a\x77\x9b\x63\xeb\x1a\xc8\x37\xcb\xa1\x17\xd0\xce\x33\x49\x1e\xed\x14\xe0\xfe\x62\x87\x4c\xad\x95\xea\xe8\xbf\x59\xd6\x86\xca\x49\x8d\x1f\xf0\x1f\x8d\x9f\xb9\xce\x1b\x69\xa4\xae\x51\x76\xf0\x7b\x4c\xdd\x57\xc9\xe0\x35\xa4\x70\x7f\xf5\xcc\xd2\x9f\xe9\x00\x7b\x70\x8a\xe6\x01\x5d\x5e\x68\x63\x74\x97\x66\xef\x92\x55\x5c\x81\x35\xba\xb3\xda\xfb\xc6\xcc\x87\x65\xbc\x6f\x96\x3b\x8f\xd1\xdd\x7f\x70\xff\xb3\x78\xbb\xeb\xc6\x5b\xbd\x34\xe4\xef\x9b\xc9\xa3\xd4\x9d\x22\xf3\x90\x63\xdf\x58\x59\xc8\x74\x99\x92\x4a\x25\x39\x7d\xab\x35\x96\x22\x35\x86\x16\x6f\x06\x6a\x0b\x8d\xe0\xdd\x1e\x94\xac\x77\xb0\x79\xd4\x6d\x5d\x82\xd2\x0c\xfd\xb7\x69\xf8\x4e\x16\xf7\xd3\xcc\x1d\xf7\x84\x69\x13\x15\xb9\x44\xab\xf8\x5c\x60\x3f\xd5\x4f\xe2\x80\x4b\x98\x74\xc2\x10\x32\xfd\x45\xdd\xd4\xcb\xfd\x2b\x67\x5f\x45\xdd\xac\xc7\x27\x58\x9d\xe4\xca\xc3\x6a\x8c\x3e\xcb\xd2\xfb\x70\x5e\x68\xf0\xa0\x9b\x15\xce\x72\xeb\x1a\x6f\x97\xdb\x59\x75\x36\x6d\x26\x81\xb9\x35\x0a\xee\x3f\xf4\x35\xe0\x6a\x85\xf0\x98\x8d\xe4\xd7\xa3\xac\x1f\xb1\xb3\xcc\x23\x78\x4b\xaa\x1c\xdc\xe6\x41\xd9\xf4\x5f\x18\xdc\x14\xe6\xf5\xdd\x30\xd5\x6e\xf7\xd3\xaa\x31\x50\x08\x67\x59\xd8\xc3\x91\xf8\x53\xbf\x48\x83\x4b\x57\xdb\x9b\x78\x42\xc3\x7e\x4c\x90\x1f\x89\xe7\x0a\xde\xba\xdc\xf2\xf0\xf4\x31\xbd\xb9\xe7\xe6\x3d\x90\xad\x9c\x3d\x19\xfa\xe1\x01\x1a\x54\x52\xa4\x6b\x47\x47\xb3\x7a\xa0\x30\xce\x3c\x32\x9b\x05\xcf\x05\xc7\xd5\x2c\xe8\x35\x8e\xa1\x5c\xf7\xb5\xef\x68\xeb\x4f\x74\x75\xf1\xdd\xf9\xd1\x79\xed\x4a\xbc\x1b\x7e\x69\x2c\x2f\xbe\xe8\xfc\x7c\x8b\xad\xee\x63\x3f\x13\xc7\x72\x8b\xcd\xb7\x2f\x64\x17\xb5\xb8\x91\x6f\x45\x4d\x68\x60\x3f\x83\xb9\x28\x35\x7a\xc2\xe2\x99\xd2\xd0\x13\x3d\xda\x34\x9b\x4d\xc5\x15\x81\xe1\x28\x2e\xc9\xe5\x7b\x00\x00\x00\xff\xff\x21\x17\xfa\x34\x20\x0a\x00\x00"
+var _utilityPrivatereceiverforwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\x4d\x8f\xdb\x36\x10\xbd\xeb\x57\x4c\x5c\x20\x95\x82\x8d\x7c\x29\x7a\x30\xd6\xd9\xa4\xdb\xee\xb1\x58\x24\x69\xaf\xc5\x98\x1a\x5b\x6c\x68\x52\x20\x47\x56\x8d\x85\xff\x7b\x41\x8a\xfa\xb6\x83\xac\x2f\x2b\x51\x9c\x8f\x37\xf3\xde\xcc\xae\xdf\x25\xc9\x4f\xf0\x54\xeb\x83\xdc\x29\x82\xaf\xe6\x1b\x69\x78\xb6\xf2\x84\x4c\xf0\x99\x04\xc9\x13\x59\x78\x34\x9a\x2d\x0a\x4e\x92\xaf\xa5\x74\x20\xe2\x2b\xc8\x63\xa5\xe8\x48\x9a\x1d\x20\xb8\x8a\x84\x44\x05\x96\x9c\xa9\xad\x20\x40\x5d\x80\xed\x5c\x48\xcd\x64\xf7\x28\x08\x92\xa6\x34\x8e\xa0\xa0\xca\x38\xc9\xb0\xaf\xb5\x60\x69\x34\x48\x07\x46\xab\x33\x08\x54\x0a\x7d\x32\xbb\x33\xa0\x06\x2c\x8e\x52\x03\x97\xd6\xd4\x87\x12\x10\xaa\x7a\xa7\xa4\x00\x81\x15\xee\xa4\x92\x7c\xce\x93\xe4\xdd\x3a\x49\xe4\xb1\x32\x96\x7b\x28\x2d\x92\xbd\x35\x47\x58\x4d\xce\x56\x49\x82\x42\x90\x73\x29\x2a\x95\x0d\x58\x22\xe8\x0e\xf3\x93\xb1\x0d\xda\x82\x2c\xbc\x24\x09\x00\xc0\x7a\x0d\x7f\x9c\x48\x33\x70\x89\xec\x93\xa5\xa3\x64\xa6\x02\x9a\x92\x34\xb0\x77\xed\x00\x6d\x0f\x8c\x0a\x60\x03\x5c\x12\x30\xda\x03\x71\x5f\x8a\xe0\x6d\x9c\x02\x05\xb7\x31\xfe\xef\xad\x75\x8a\x47\x53\x6b\xde\xc0\x5f\x4f\xf2\xbf\x5f\x7f\xb9\x03\x36\x1b\xf8\x54\x14\x96\x9c\x7b\xc8\x92\x85\x0f\x45\x0c\x5f\x48\x17\x64\xbf\xb0\xb1\x78\xa0\x67\xe4\x72\x03\xa3\x97\xeb\x36\x33\xd4\x37\x8d\x7f\xc0\xf6\x39\x34\xa6\x35\x1d\x9e\x97\x61\x7b\x7e\x2c\x4a\x1c\xcb\x1c\x38\x26\x9d\x2f\xac\xa5\x50\xc1\x71\x49\x43\x9d\x1b\xa9\x14\xec\x08\x1c\x69\xce\xa7\xb6\x04\x7c\xae\x08\xa4\x2e\xa4\x40\x26\x17\xfb\x15\x5a\x86\x60\x69\x4f\x96\xb4\x20\xdf\x1c\x9c\xf6\xa4\x75\xd1\x3f\xc6\x9c\x1d\xa9\x7d\x06\x27\xb4\xfe\xb2\xac\x24\xf9\xae\x3c\xf6\xec\xbb\x7f\xfb\x32\xa1\x57\xde\x95\xe3\xf2\x61\x02\x2a\x42\xb8\x16\x68\xbd\xf6\xac\x6d\x45\x10\x92\x65\xfc\x46\x3e\xd9\xbf\xb1\x56\x0c\x66\xf7\x2f\x09\x06\x74\x41\x0d\xf6\x50\x7b\xc1\x05\x71\xed\xdb\x02\xba\xb1\x27\xc9\x1d\xed\xfa\x74\x7f\x76\xd1\x53\xed\xa4\x3e\x84\x6f\x8e\x8d\xa5\x62\xa8\xc6\x77\xf0\x77\x02\xc9\xbc\x52\x3b\x18\xa9\x17\xd6\x06\x3e\xce\xb0\x87\x30\x97\x0c\x5e\x7a\x27\xfe\xa7\x46\xe4\xff\x4c\x7b\xd8\x82\xaf\x69\xde\xe7\x97\xef\x8c\xb5\xa6\x49\xb3\x37\xc9\xc2\x6e\x87\x0a\x7d\xb7\xb6\x41\xca\xf9\x81\xf8\xb7\xf6\x24\xcd\xa6\x97\x47\x01\xf2\x69\x92\xf7\xef\xfd\xdf\xd9\x75\x2f\xde\x5b\x92\x8b\x31\x5b\xcd\x85\x54\x4d\xa3\xc9\x3e\xe4\xd8\xea\x2f\xeb\x3d\x5d\x06\xa7\x52\x4b\x4e\x5f\xcb\x90\x79\xa5\x2a\x4b\xb3\x93\x08\x6d\x56\x28\x78\xb3\x05\x2d\xd5\x06\x56\x8f\xa6\x56\x05\x68\xc3\xd0\x7e\x1b\x66\xf6\xc0\xf4\x30\x04\x7d\xd7\x87\x9c\x56\x93\x20\x97\xc9\xdb\xb4\x39\xb0\x1d\xe2\x27\x53\x83\x4b\x3f\x18\x85\x25\x64\xfa\x93\x9a\x41\xd2\xed\x91\x67\xb1\xa6\x66\x24\xf5\x21\xad\x46\x72\x19\xd2\xaa\xac\x39\xc9\x22\xd0\x71\x1c\x28\x52\x71\x3c\x3a\x3c\x03\x97\xb1\x5e\x5f\xf6\x0d\x7c\x1c\x0f\x9f\xa1\xd0\x5c\x5b\x0d\xf7\xef\xdb\x18\x70\x35\x42\xff\x98\x75\x45\xb8\x3d\xe1\xda\x89\x3c\x8a\x30\x07\xe3\x48\x17\x91\x85\x21\x49\x97\xfe\x03\x91\x65\xfd\xb8\xbf\x8b\x43\xef\x7b\x72\x5b\xe8\x06\x85\xf0\x64\x86\x2d\x1c\x88\x3f\xb5\x2f\x69\xcf\xdf\xc5\xf5\x6a\x3a\xca\x61\xdb\x39\xc8\xfb\x3d\x2b\xc9\x45\xfe\xdd\xbf\xbd\xb5\x2b\xf3\xfe\xe9\x43\xba\xa0\xb1\xff\xdd\x34\xbc\xb9\x4b\x16\x6e\x32\x78\x78\x80\x0a\xb5\x14\xe9\x92\xfd\x93\xf1\x1e\x41\x75\x63\x92\xec\x6a\x86\x7c\x86\x7a\x31\x37\xda\xba\x67\x13\x9b\xeb\x1a\x08\xea\x77\xa1\xdb\x8b\xdd\x79\x17\xa6\xed\xb5\xad\x7a\x17\xff\x99\x99\xef\xcc\x49\x47\x83\x1c\x17\xab\x3d\x0c\xd1\x2e\xdc\xec\xf2\xed\x9d\xee\xad\x66\x4b\xfd\x96\xd5\x90\x0d\x6c\x47\x69\xce\x42\x75\x2c\x89\x5e\x73\x87\x27\x4a\x7b\xfd\xb4\x59\xa7\xd9\x68\x92\x2e\x80\xc4\x96\x5c\x92\xcb\xff\x01\x00\x00\xff\xff\x7b\xc1\xfe\x66\x8b\x0a\x00\x00"
 
 func utilityPrivatereceiverforwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -277,7 +277,7 @@ func utilityPrivatereceiverforwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/PrivateReceiverForwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbb, 0xc2, 0xcb, 0x85, 0x75, 0x47, 0x18, 0xf0, 0xba, 0x31, 0xca, 0xab, 0xd5, 0xa7, 0x9d, 0x8e, 0x58, 0x30, 0x99, 0x10, 0xee, 0x24, 0x4f, 0xcb, 0x58, 0x6f, 0x9, 0xa4, 0x5f, 0xa2, 0xd5, 0x12}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x73, 0x35, 0x8b, 0x6c, 0x6a, 0x29, 0xdd, 0x19, 0x53, 0xf, 0x72, 0x97, 0x55, 0x52, 0x96, 0x5c, 0xb, 0x6c, 0x14, 0xc, 0xb8, 0xe, 0x2d, 0xb9, 0xc0, 0x35, 0x94, 0xab, 0x67, 0xd5, 0xd9}}
 	return a, nil
 }
 
@@ -301,7 +301,7 @@ func utilityTokenforwardingCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityViewresolverCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x94\x4d\x6f\xdb\x38\x10\x86\xef\xfe\x15\xef\x5e\x76\x6d\x60\x21\x5d\x16\x7b\xf0\x25\x6b\x6c\x10\x20\x87\x0d\x16\xad\x9b\x4b\x10\x14\xb4\x38\xb6\x88\xc8\xa4\x3a\x1c\x59\x11\x82\xfc\xf7\x62\x48\xcb\x9f\x6d\xd1\xfa\x24\xd0\xe4\xfb\xf1\x88\xa3\xb2\xc4\xd2\xbc\x90\xc7\x9a\xc3\x16\x52\x13\x1e\xee\x96\xf8\x8f\xc4\x58\x23\x06\x51\x8c\xb7\x86\xed\x9f\x90\xda\x45\x54\xc1\x0b\x9b\x4a\x40\xaf\x6d\x88\x14\x61\x3c\x9c\x17\xe2\xb5\xa9\x08\x12\xd0\x90\x60\x52\x96\x30\x7e\x08\x9e\xb0\x0a\xcc\xa1\x87\x39\x1e\x34\xde\x82\x29\x86\x66\x47\xd8\x39\xea\x23\x82\x87\x93\x62\x52\x96\x7a\x6e\xa9\x2e\xbd\x6b\x1a\x98\xa6\x09\x3d\x86\xd0\xa9\x6c\x58\x89\x71\x6a\xb5\x0e\xbc\x35\xe2\x82\x87\x59\x85\x4e\x4e\x95\x7b\x27\xb5\x2e\x79\xaa\x28\x46\xc3\xae\x19\xf0\xe2\x43\xef\xfc\x46\xe3\x48\x9d\x1e\xd2\xa9\xec\x87\x45\xd3\x24\x03\x4f\x64\xe1\x22\x9c\x44\x18\x6b\x99\x62\x4c\x39\xbd\xd9\x52\x7a\x18\x42\xf7\x07\x13\x36\x21\x58\x4d\xb3\x09\xbf\x4d\xda\x6e\x75\xb4\x3e\x22\x78\x74\xd4\x7f\xc8\xf5\x18\x6f\x13\x00\x28\xcb\x12\x77\x9d\xaf\x52\x6a\xa9\x8d\x80\x49\x3a\xf6\x51\x2b\x26\xe2\x07\xda\x8f\x09\x88\xdb\xb6\x0d\x6d\xc9\x0b\x59\xac\x86\xb4\x23\x13\xd3\x02\xa3\xe7\x28\x7d\xb0\xf8\x27\xab\x62\xe1\x61\x98\xcd\x80\xb0\xc6\x72\x68\x29\xc2\xd2\xda\x79\x3d\xab\x4a\xa7\xe2\x89\x7f\x91\x99\xef\x4c\xd3\x51\x26\xbf\x22\x74\x31\x79\x1f\xc4\xc7\x9f\xa5\x1d\x35\xa1\x25\x8e\xca\x41\xe9\xa2\xaf\x5d\x55\xa3\x35\x6c\xb6\x24\xc4\xba\xde\x9a\x98\xfe\x3f\x26\x27\x6d\x36\x9d\x61\x4b\x52\x07\x5b\x9c\x85\x57\x92\xeb\xce\x63\x43\x92\xfa\x4f\x67\x73\x3c\x69\xf2\xe7\x3d\x40\xfd\xed\xcb\x3d\x3d\xa7\x95\xf7\xc9\x77\xc9\x26\xb7\x08\xa3\x56\x19\xaa\xb6\xc4\x3a\x70\xbe\xc1\x12\x5e\xc8\x17\xd7\xf4\x52\x81\xb4\x77\x8e\x65\x4d\x09\x9d\x22\xd4\x0e\x96\xa2\xe3\x3d\xaf\xe2\x1a\x38\xa2\x70\x57\x49\xc7\xda\xb6\x65\x8a\xe4\x65\xc4\xcd\xf4\xa5\xa3\x28\x97\x87\xcf\x8a\x9f\x22\xfa\x3c\x46\x18\x5a\x9a\xcd\xb1\xf0\xc3\xc7\x24\x7e\x73\xcd\xc2\xbb\xe6\x12\xc6\xff\x1c\x76\xce\x6a\xfd\x4a\x67\x40\xdf\x81\x41\x24\xd1\x22\x67\x3c\x62\x71\x88\x8d\xc0\x38\x08\x68\x94\x8e\x2b\xc2\x94\x8a\x4d\xa1\xd3\xfd\x70\xb7\x9c\xa1\xd2\x31\x1f\x2f\x4e\xe6\x78\x36\xf5\x6d\xf6\x3d\xb1\x3d\x28\x2a\x84\x3c\xe7\xe9\x05\x39\x41\xec\xda\x36\xb0\xc4\x6b\x18\x07\xf7\xa3\xf8\xc5\x2c\xfd\xf8\xbe\x5c\x6d\xf9\x29\xb2\x97\x10\x17\xd8\x70\xe8\x5a\x65\x96\xae\xce\x5e\x84\xb5\xb3\xa5\xd7\x3c\x94\xf7\xb7\xbf\x14\xff\xdf\xd0\x34\x94\xef\xe9\x75\x91\xfc\x91\x3c\xfd\x72\x4c\x9d\x9d\xe3\xd3\xbd\x97\xbf\xff\x9a\xcd\xf1\xfb\xdb\xb8\xfe\x7e\xf3\x2d\x0a\xf7\xb7\x99\x41\x3e\x30\x4e\xc8\xfb\x04\x5f\x03\x00\x00\xff\xff\x23\x45\xa5\x20\xdc\x05\x00\x00"
+var _utilityViewresolverCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x94\x4f\x8b\x23\x37\x10\xc5\xef\xfe\x14\x2f\x7b\x48\x6c\x08\xee\x4b\xc8\xc1\x97\x64\xc8\x32\x30\x87\x2c\x21\x71\xf6\xb2\x2c\x41\x6e\x95\xdd\x62\xd4\x52\xa7\x54\xb2\xb7\x19\xe6\xbb\x87\x92\xfc\xa7\xc7\x9e\x25\xcb\xf8\xd4\xc8\x5d\xf5\x5e\xfd\x9e\xba\x9a\x06\x6b\xf3\x48\x01\x5b\x8e\x3d\xa4\x23\x7c\xb8\x5f\xe3\x77\x12\x63\x8d\x18\x24\x31\xc1\x1a\xb6\x3f\x42\x3a\x97\xd0\xc6\x20\x6c\x5a\x01\x7d\x19\x62\xa2\x04\x13\xe0\x82\x10\x6f\x4d\x4b\x90\x08\x4f\x32\x6b\x1a\x98\x30\xc6\x40\xd8\x44\xe6\x78\x80\xb9\xd4\x99\x60\xc1\x94\xa2\xdf\x13\xf6\x8e\x0e\x09\x31\xc0\xc9\x72\xd6\x34\x5a\xb7\x56\x91\x83\xf3\x1e\xc6\xfb\x78\xc0\x18\xb3\x76\x8d\x1b\x31\x4e\x95\xb6\x91\x7b\x23\x2e\x06\x98\x4d\xcc\x32\xed\x7c\x70\xd2\xe9\x51\xa0\x96\x52\x32\xec\xfc\x88\xc7\x10\x0f\x2e\xec\xd4\x8e\x74\xe5\xa1\x54\x55\x3d\xdc\x79\x5f\x04\x02\x91\x85\x4b\x70\x92\x60\xac\x65\x4a\xa9\xf8\x0c\xa6\xa7\xf2\x30\xc6\xfc\x03\x13\x76\x31\x5a\x75\xb3\x8b\xdf\xcd\x4c\xab\x2a\x73\xe3\xfd\xe2\x62\xe1\x42\xe2\xa3\xa3\xc3\x9f\x75\x4c\xc6\xd3\x0c\x00\x9a\xa6\xc1\x7d\x0e\x6d\x71\x2f\x9d\x11\x30\x49\xe6\x90\x74\xd4\x02\xfe\x0c\xfd\x63\x01\xe3\xfa\xc1\x53\x4f\x41\xc8\x62\x33\x96\x37\x2a\x39\x1d\xe4\xa4\x79\x6a\x7d\x96\xf8\xb5\x76\xc5\x5d\x80\x61\x36\x23\xe2\x16\xeb\x71\xa0\x04\x4b\x5b\x17\xb4\x56\x3b\x4d\x9b\x97\x1c\x96\x95\xfd\xde\xf8\x4c\x35\x81\x0d\x21\xa7\xa2\x7d\x6e\x7e\xfa\x59\xda\x93\x8f\x03\x71\x52\x1e\x4a\x19\x87\xce\xb5\x1d\x06\xc3\xa6\x27\x21\xd6\xf3\xc1\xa4\xf2\xff\xc5\x39\xe9\x64\xf3\x05\x7a\x92\x2e\xda\xe5\x0b\xf3\x53\xa2\xea\x08\xdb\x1c\xb0\x23\x29\x30\xe6\x8b\x15\x3e\xe9\x18\x9f\x8f\x34\xf5\x77\x9c\xf4\xd3\xe7\x72\xf2\x3c\xfb\x2a\xe6\x22\x9d\x60\x54\xb7\x12\xae\x02\x91\xeb\xad\x96\xf8\x48\x61\x79\x8b\xb2\x4c\x53\xde\x5d\x61\xdd\x51\xe1\xa8\x3c\x75\x20\x4b\xc9\xf1\x11\xde\xf2\x96\x3e\x92\x70\x6e\x25\xb3\x8e\x3e\x30\x25\x0a\x72\x62\xcf\xf4\x6f\xa6\x24\xd7\xc5\x37\x14\x14\xc0\x94\xdb\x3f\x27\x2b\xe3\x40\x8b\x15\xee\xc2\xf8\x57\x11\xf9\xe5\x96\x49\x70\xfe\x1a\xca\x1f\x1c\xf7\xce\x2a\x86\x22\xa1\xc1\x18\x24\x12\x1d\xe8\x05\x97\xb4\x3c\xdb\x47\xe4\x73\xbd\x3a\xc9\xdc\x12\xe6\xb4\xdc\x2d\xf5\xc3\xff\x70\xbf\x5e\xa0\xd5\x0d\x70\xba\x4c\x15\xe7\x8b\x85\x30\x54\xd9\x8b\xea\xb9\xa1\xa2\xa8\x2b\xa0\xc4\xe4\x04\x29\x0f\x43\x64\x49\x5f\x47\x72\x36\x71\xd1\xb8\xfa\xcc\xde\x76\x95\x6e\xaf\x53\xa5\xf7\x5a\xc7\xb7\xc4\xf2\x4a\x34\x17\x81\x49\x48\x77\xd8\x71\xcc\x83\x66\x52\x8c\x1f\x75\x58\xa1\x5a\xfa\x52\x37\xc1\xc3\xfb\x37\x01\xfa\x2d\x7a\x4f\xf5\xbb\xf8\x1f\x54\x75\x6d\x4f\x77\xd8\xdc\xd9\x15\xfe\x7e\x08\xf2\xf3\x4f\x8b\x15\xbe\x7f\x3a\x9d\x3f\x5f\x0f\x39\x30\xe1\x09\xc2\x99\x56\x78\x67\x73\xdf\x8f\xef\x26\x18\x5f\x07\x3a\x8d\xe8\xe1\x7d\x0d\xa8\x6a\x5d\x47\xf4\x2d\xdd\x9f\x67\xcf\xb3\xff\x02\x00\x00\xff\xff\xe7\x2e\x12\xaa\xd5\x06\x00\x00"
 
 func utilityViewresolverCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -317,7 +317,7 @@ func utilityViewresolverCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/ViewResolver.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa4, 0x5e, 0xb0, 0x8a, 0xf6, 0x84, 0xb2, 0x21, 0xb7, 0x9a, 0x85, 0x36, 0xc5, 0x6b, 0x16, 0xb, 0xff, 0x85, 0xa5, 0x51, 0xfa, 0x5c, 0x5, 0xa5, 0x2e, 0x72, 0x51, 0x6c, 0x34, 0xcc, 0x79, 0xcb}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x45, 0x7e, 0xf3, 0xe5, 0x5b, 0x39, 0x26, 0xa7, 0x5e, 0x11, 0x17, 0xf8, 0xb0, 0x7f, 0xc4, 0xf4, 0x39, 0xb1, 0xb2, 0x3c, 0xd, 0x4f, 0x47, 0xf3, 0x7b, 0x6f, 0x33, 0x4b, 0xf9, 0x42, 0x29, 0x37}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 0c2a1eaa..2f6cecc4 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,29 +1,29 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../transactions/burn_tokens.cdc (1.476kB)
-// ../../../transactions/create_forwarder.cdc (2.528kB)
+// ../../../transactions/create_forwarder.cdc (2.377kB)
 // ../../../transactions/generic_transfer.cdc (1.254kB)
-// ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.986kB)
-// ../../../transactions/mint_tokens.cdc (1.714kB)
-// ../../../transactions/privateForwarder/create_account_private_forwarder.cdc (1.428kB)
-// ../../../transactions/privateForwarder/create_private_forwarder.cdc (943B)
-// ../../../transactions/privateForwarder/deploy_forwarder_contract.cdc (403B)
-// ../../../transactions/privateForwarder/setup_and_create_forwarder.cdc (1.82kB)
-// ../../../transactions/privateForwarder/transfer_private_many_accounts.cdc (1.144kB)
-// ../../../transactions/safe_generic_transfer.cdc (1.831kB)
-// ../../../transactions/scripts/get_balance.cdc (474B)
-// ../../../transactions/scripts/get_supply.cdc (187B)
-// ../../../transactions/scripts/get_supported_vault_types.cdc (971B)
-// ../../../transactions/scripts/metadata/get_token_metadata.cdc (554B)
-// ../../../transactions/scripts/metadata/get_vault_data.cdc (618B)
-// ../../../transactions/scripts/metadata/get_vault_display.cdc (612B)
-// ../../../transactions/scripts/metadata/get_vault_supply_view.cdc (695B)
-// ../../../transactions/scripts/switchboard/check_receiver_by_type.cdc (562B)
-// ../../../transactions/scripts/switchboard/get_vault_types.cdc (690B)
-// ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (721B)
-// ../../../transactions/scripts/test/example_token_vault_display_strict_equal.cdc (1.996kB)
-// ../../../transactions/scripts/tokenForwarder/is_recipient_valid.cdc (436B)
-// ../../../transactions/setup_account.cdc (1.323kB)
+// ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.968kB)
+// ../../../transactions/mint_tokens.cdc (1.595kB)
+// ../../../transactions/privateForwarder/create_account_private_forwarder.cdc (1.683kB)
+// ../../../transactions/privateForwarder/create_private_forwarder.cdc (1.392kB)
+// ../../../transactions/privateForwarder/deploy_forwarder_contract.cdc (418B)
+// ../../../transactions/privateForwarder/setup_and_create_forwarder.cdc (2.218kB)
+// ../../../transactions/privateForwarder/transfer_private_many_accounts.cdc (1.241kB)
+// ../../../transactions/safe_generic_transfer.cdc (1.892kB)
+// ../../../transactions/scripts/get_balance.cdc (423B)
+// ../../../transactions/scripts/get_supply.cdc (195B)
+// ../../../transactions/scripts/get_supported_vault_types.cdc (979B)
+// ../../../transactions/scripts/metadata/get_token_metadata.cdc (538B)
+// ../../../transactions/scripts/metadata/get_vault_data.cdc (602B)
+// ../../../transactions/scripts/metadata/get_vault_display.cdc (596B)
+// ../../../transactions/scripts/metadata/get_vault_supply_view.cdc (679B)
+// ../../../transactions/scripts/switchboard/check_receiver_by_type.cdc (570B)
+// ../../../transactions/scripts/switchboard/get_vault_types.cdc (698B)
+// ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (729B)
+// ../../../transactions/scripts/test/example_token_vault_display_strict_equal.cdc (2.014kB)
+// ../../../transactions/scripts/tokenForwarder/is_recipient_valid.cdc (444B)
+// ../../../transactions/setup_account.cdc (1.14kB)
 // ../../../transactions/switchboard/add_vault_capability.cdc (1.415kB)
 // ../../../transactions/switchboard/add_vault_wrapper_capability.cdc (1.443kB)
 // ../../../transactions/switchboard/batch_add_vault_capabilities.cdc (1.34kB)
@@ -32,12 +32,12 @@
 // ../../../transactions/switchboard/safe_deposit_to_lnf.cdc (4.493kB)
 // ../../../transactions/switchboard/safe_transfer_tokens.cdc (2.153kB)
 // ../../../transactions/switchboard/safe_transfer_tokens_v2.cdc (1.932kB)
-// ../../../transactions/switchboard/setup_account.cdc (1.685kB)
+// ../../../transactions/switchboard/setup_account.cdc (1.849kB)
 // ../../../transactions/switchboard/setup_royalty_account.cdc (5.883kB)
 // ../../../transactions/switchboard/setup_royalty_account_by_paths.cdc (5.958kB)
 // ../../../transactions/switchboard/transfer_tokens.cdc (1.551kB)
-// ../../../transactions/transfer_many_accounts.cdc (1.418kB)
-// ../../../transactions/transfer_tokens.cdc (1.444kB)
+// ../../../transactions/transfer_many_accounts.cdc (1.415kB)
+// ../../../transactions/transfer_tokens.cdc (1.443kB)
 
 package assets
 
@@ -127,7 +127,7 @@ func burn_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x54\xcd\x6e\x1b\x37\x10\xbe\xf3\x29\x06\x3e\xa4\xb2\x21\xaf\xd0\xbf\x8b\xe0\x14\x48\xd3\xba\x28\x50\x14\x41\xeb\xe6\xda\x8c\xc8\x91\xc8\x7a\x45\x2e\xc8\x59\x6f\x84\xc0\xef\x5e\x90\xdc\xa5\xb8\xdb\x54\x69\x0f\xd1\x49\x4b\x0e\x67\xbe\x3f\x72\x73\x73\x23\xc4\x83\x36\x01\xd8\xa3\x0d\x28\xd9\x38\x0b\x26\x00\x02\xd3\xb1\x6b\x91\x09\xf6\xce\xc7\xcf\x6a\x9f\x35\x32\x48\xd7\xb7\x0a\x76\x04\x7d\x20\x25\xd8\x41\x20\x86\xbe\x03\xb4\x80\x52\xba\xde\x32\xb0\x8b\x87\x07\xf4\x0a\x14\x75\x2e\x18\x26\x05\xec\x1e\xc9\x86\xb8\x87\xd6\xb1\x26\x0f\x9e\x24\x99\x27\xf2\x8d\x10\x3f\xef\x01\xed\xc9\x59\x82\x40\x56\x85\xba\x38\xce\xf1\x5f\x04\xb8\xcf\x1d\xc9\xc3\x6f\xe3\xb9\xb5\x60\x4d\xe5\x0b\x06\xd3\xb6\xf0\x57\x1f\xb8\x0c\x67\xed\x02\x55\xbd\x62\xf9\x5b\xec\x5b\xce\x4c\x34\x06\xd8\x11\x59\x11\x19\x60\x48\xdb\x9e\xa4\xe9\x0c\x59\x06\xb4\x0a\xe8\x68\xe2\x1f\xa0\xa7\xb8\x92\x0e\x19\xab\x8c\x44\xa6\x20\x06\x6d\xa4\x4e\xe8\xa6\x81\x91\xa5\x9e\x06\x36\xa3\xc0\x03\x9e\xd6\x60\x22\x3f\x70\xfb\xfd\xad\xd4\x68\x2c\x04\xf2\x4f\x46\x12\x0c\x68\x39\x41\x3b\x3a\x6b\xd8\x79\x18\xb4\x8b\x36\x8c\x0d\x8d\x3d\x88\x33\x7c\xc3\x6b\x30\x0c\x12\x2d\x0c\xc8\x52\x67\x58\x69\x2b\x10\xc1\xa0\xc9\x53\x05\x00\x24\x1e\x09\xf6\xde\x1d\x1b\x21\x7e\x67\xea\xc6\xca\xec\x56\xb6\x2a\xc0\x60\x58\xe7\x03\x85\x85\xdf\x0a\xf1\x65\x03\x0f\x9a\xe0\xbe\xb7\x07\xb3\x6b\x09\x1e\x52\x85\x74\x96\x3d\xca\xa8\x02\x93\xdf\xa3\x24\x08\x3a\xe5\x01\x5b\x4f\xa8\x4e\x31\x17\x8a\xba\xd6\x9d\x48\x41\x70\x47\x4a\xa0\xc4\x57\xb9\x1b\x76\x5d\x6b\x24\xc6\x7e\x3c\xef\x37\x76\xa9\x4e\x37\xe2\xeb\x7c\xa8\x72\x64\x8c\xd7\x58\xac\xf1\x89\x00\x47\x43\x63\x58\x39\xe5\x39\x37\xf6\x84\x4c\x4a\x00\x40\x32\x32\xb0\xf3\xa4\xc0\x58\x30\x1c\xd2\x17\x1e\x28\x73\x47\xe8\xfa\x5d\x6b\x82\x26\x55\xb2\x24\xbe\x69\xe0\x87\x04\x24\xe9\xf9\x2e\xb1\xbf\x2f\x9e\x34\x52\xc9\x77\x67\xf0\x29\xa5\xca\xec\xf7\xe4\x2b\x98\xe2\xdb\x26\x66\x16\x10\x2c\x0d\xf0\x2a\x2f\x6e\xe1\x75\x42\x96\xda\x4e\x7c\xac\xf3\x47\x6c\xdb\xd3\x3a\xc1\x65\x4d\x16\x7c\x6f\xf3\xe4\x4c\xe4\xcf\x62\x4d\x1e\x5d\x5d\xca\x7c\xe8\x40\xcc\xc6\x1e\x60\x76\x21\xa2\xf5\xb3\x41\x39\xc0\x8b\xa0\x37\xe2\x66\x23\x84\x39\x76\xce\x73\xf1\x3b\xdb\x9d\x1a\x5c\xcd\xd6\xae\xa6\xca\x1f\xdf\xe3\xb1\x9b\x17\xd6\x4b\xa5\x6e\x21\xdd\x58\xba\x58\xbd\x12\xa2\xa2\xb4\x9a\x1e\x86\x2d\xbc\x52\xca\x53\x08\xd7\xf0\x41\x24\x9e\x9d\xa7\x0e\x3d\xad\x50\x4a\xde\x02\xf6\xac\x57\xdf\x3b\xef\xdd\xf0\x16\xdb\x9e\xae\xe1\xc5\xa8\x73\x39\x10\x7f\x9b\x0d\xfc\x44\x3c\xb1\xce\xda\x48\xec\x70\x67\x5a\xc3\xa7\x31\x3a\x67\x95\x76\x94\x70\x9e\xaf\xb4\x2b\x9d\x5a\xe2\x2a\x8f\x2f\xa3\xec\xe3\xc0\x82\xf9\xba\x14\xc7\x5f\x53\xe6\x18\x0a\xcd\x81\xf8\xee\xc5\x87\x99\x9e\xcd\xe4\xd6\xf3\x77\xab\x5a\xbf\xb2\xfe\x26\x86\x53\xbe\x41\xd6\xd7\x33\x46\x55\x8e\x4a\x38\x72\xd4\xe3\xb5\x30\x3c\xbd\x77\x4b\xef\x95\x9b\x72\x52\xbd\x31\x35\xbf\xa7\x74\x9f\xee\x6e\x97\xce\x35\x39\x8a\xbf\xd2\x50\x5e\xe2\x55\xd1\x62\x7b\x96\xe5\x2c\x40\x34\xa9\x19\xef\x5a\x13\x61\xad\xee\x6e\x53\xf7\x35\xb0\xdb\xc2\x66\xdc\xda\x50\xc5\xbb\xf4\x9e\xb3\xfd\xc3\xb6\xc6\x3e\x26\xd8\xf4\xde\x84\x94\xf5\x8f\x78\x59\x8e\xc4\xf7\x36\x4e\x5f\xca\xff\x49\x8d\x1b\xa9\x49\x3e\x5e\x72\x29\x46\xab\xb6\xf8\x9f\x73\x7a\x3b\xbe\x28\x9f\x76\x74\x6a\xf2\x3c\x63\xfb\xcb\xc4\x35\xbe\x1c\x67\x9b\x2e\x32\x8e\xd6\xa5\xb7\x6f\x1a\xf3\x1a\x3b\x78\xf9\x11\x74\x93\x21\x26\x84\x9e\x2e\x11\x9d\xb1\xbc\x6c\x56\x29\x5d\x98\x3f\x1b\x3c\x89\xb2\x44\xb9\x06\xe4\x2d\xfc\xaf\xf0\xcf\x04\x2a\x28\x72\xf5\x45\x71\x4a\xed\x7f\x55\x67\x79\x09\x16\xc3\x3e\xb7\x4c\x35\xde\xac\xd3\x26\xed\xcb\x7f\xbb\x34\x39\x4c\xcf\x7f\x07\x00\x00\xff\xff\xcb\x05\xda\x40\xe0\x09\x00\x00"
+var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x54\x4f\x8f\xdb\xb6\x13\xbd\xf3\x53\x0c\xf6\x90\x9f\xbd\xf0\xca\xf8\xf5\xcf\xc5\xd8\x04\x48\xd3\x6e\x51\xa0\x28\x82\x76\x9b\x6b\x33\x26\xc7\x26\x1b\x89\x14\xc8\x91\x15\x23\xd8\xef\x5e\x90\x94\x68\xca\x4d\x17\x6d\x81\xfa\x64\x91\x33\x6f\xde\xbc\x79\xc3\xed\xed\xad\x10\x8f\xda\x04\x60\x8f\x36\xa0\x64\xe3\x2c\x98\x00\x08\x4c\x5d\xdf\x22\x13\x1c\x9c\x8f\x9f\xd5\x3d\x6b\x64\x90\x6e\x68\x15\xec\x09\x86\x40\x4a\xb0\x83\x40\x0c\x43\x0f\x68\x01\xa5\x74\x83\x65\x60\x17\x93\x47\xf4\x0a\x14\xf5\x2e\x18\x26\x05\xec\x3e\x90\x0d\xf1\x0e\xad\x63\x4d\x1e\x3c\x49\x32\x27\xf2\x8d\x10\x3f\x1c\x00\xed\xd9\x59\x82\x40\x56\x85\x3a\x38\xd6\xf1\xff\x0b\xf0\x90\x11\xc9\xc3\xcf\x53\xde\x46\xb0\xa6\xf2\x05\xa3\x69\x5b\xf8\x7d\x08\x5c\x8a\xb3\x76\x81\x2a\xac\x18\xfe\x0e\x87\x96\x73\x27\x1a\x03\xec\x89\xac\x88\x1d\x60\x48\xd7\x9e\xa4\xe9\x0d\x59\x06\xb4\x0a\xa8\x33\xf1\x0f\xd0\x29\x9e\xa4\x24\x63\x95\x91\xc8\x14\xc4\xa8\x8d\xd4\x89\xdd\x5c\x30\x76\xa9\xe7\x82\xcd\x24\xf0\x88\xe7\x0d\x98\xd8\x1f\xb8\xc3\xe1\x4e\x6a\x34\x16\x02\xf9\x93\x91\x04\x23\x5a\x4e\xd4\x3a\x67\x0d\x3b\x0f\xa3\x76\x71\x0c\x13\xa0\xb1\x47\x71\xa1\x6f\x78\x03\x86\x41\xa2\x85\x11\x59\xea\x4c\x2b\x5d\x05\x22\x18\x35\x79\xaa\x08\x80\xc4\x8e\xe0\xe0\x5d\xd7\x08\xf1\x0b\x53\x3f\x45\xe6\x69\xe5\x51\x05\x18\x0d\xeb\x9c\x50\xba\xf0\x3b\x21\xfe\xdf\xc0\xa3\x26\x78\x18\xec\xd1\xec\x5b\x82\xc7\x14\x21\x9d\x65\x8f\x32\xaa\xc0\xe4\x0f\x28\x09\x82\x4e\x7e\xc0\xd6\x13\xaa\x73\xf4\x85\xa2\xbe\x75\x67\x52\x10\x5c\x47\x89\x94\xf8\x22\xa3\x61\xdf\xb7\x46\x62\xc4\xe3\x25\xde\x84\x52\x65\x37\xe2\xcb\x9c\x54\x4d\x64\xb2\xd7\x14\xac\xf1\x44\x80\xd3\x40\xa3\x59\x39\xf9\x39\x03\x7b\x42\x26\x25\x00\x20\x0d\x32\xb0\xf3\xa4\xc0\x58\x30\x1c\xd2\x17\x1e\x29\xf7\x8e\xd0\x0f\xfb\xd6\x04\x4d\xaa\x78\x49\x7c\xd5\xc0\xb7\x89\x48\xd2\xf3\x7d\xea\xfe\xa1\xcc\xa4\x91\x4a\xbe\xbf\x90\x4f\x2e\x55\xe6\x70\x20\x5f\xd1\x14\x5f\x37\xd1\xb3\x80\x60\x69\x84\xd7\xf9\x70\x07\x6f\x12\xb3\x04\x3b\xf7\x63\x9d\xef\xb0\x6d\xcf\x9b\x44\x97\x35\x59\xf0\x83\xcd\x95\x73\x23\xbf\x95\xd1\xe4\xd2\xd5\x52\xe6\xa4\x23\x31\x1b\x7b\x84\xc5\x42\xc4\xd1\x2f\x0a\x65\x03\x5f\x19\xbd\x11\xb7\x5b\x21\x4c\xd7\x3b\xcf\x65\xde\x79\xdc\x09\xe0\x66\x71\x76\x33\x47\x7e\xf7\x11\xbb\x7e\x19\x58\x1f\x95\xb8\x2b\xe9\xa6\xd0\xab\xd3\x1b\x21\xaa\x96\x56\xf3\xc3\xb0\x83\xd7\x4a\x79\x0a\x61\x0d\x9f\x44\xea\xb3\xf7\xd4\xa3\xa7\x15\x4a\xc9\x3b\xc0\x81\xf5\xea\x1b\xe7\xbd\x1b\xdf\x61\x3b\xd0\x1a\x5e\x4c\x3a\x97\x84\xf8\xdb\x6e\xe1\x7b\xe2\xb9\xeb\xac\x8d\xc4\x1e\xf7\xa6\x35\x7c\x9e\xac\x73\x51\x69\x4f\x89\xe7\x65\xa5\x5d\x41\x6a\x89\x2b\x3f\xbe\x8c\xb2\x4f\x05\x0b\xe7\x75\x53\xa0\x0d\x85\xe6\x48\x7c\xff\xe2\xd3\x42\xc2\x26\x39\xf6\xe9\xd5\xaa\xd6\x2b\x1f\xbe\x8d\x4e\x94\x6f\x91\xf5\x7a\x41\xbf\x32\x4d\x71\x42\xf6\x75\xdc\x01\xc3\xf3\xe3\x76\x3d\x68\xe5\x66\x53\x54\x0f\x4a\xdd\xcc\x29\x2d\xcf\xfd\xdd\xf5\x98\x9a\xec\xbb\x9f\x68\x2c\xcf\xee\xaa\x34\xbe\xbb\x68\xb0\x2e\x68\x71\x22\xcd\xb4\x58\x4d\xa4\xb5\xba\xbf\x4b\xe8\x1b\x60\xb7\x83\xed\x74\xb5\xa5\xaa\xe9\x82\xbd\xec\xf6\x57\xdb\x1a\xfb\x21\xd1\xa6\x8f\x26\x24\x63\x5f\xe6\xb5\xac\xb8\x10\x7b\xb0\xd3\x2a\xff\x03\x69\x7f\x9c\x4b\xc5\x2d\xbd\xa8\xf4\x39\xa7\x2c\x94\x4b\xef\xcc\xbc\x6a\x6f\xb0\x87\x97\x9f\x21\x34\xeb\x61\x42\x18\xe8\x4f\x3e\x98\xb3\x9f\x5e\xad\x0a\x74\x62\xf5\xac\x56\x25\x74\xfd\x8c\x12\xb3\x0e\xd7\x2c\x37\x80\xbc\x83\x7f\xa9\x4e\xa1\x90\xa3\x9f\x55\xa6\xc4\xfe\x5d\x69\xae\x0d\x78\x55\xec\xbf\xd6\xa8\xe6\x9b\x45\xda\xa6\x7b\xf9\x57\x86\x8d\x98\x4f\xe2\xe9\x8f\x00\x00\x00\xff\xff\x78\x88\x1f\x2f\x49\x09\x00\x00"
 
 func create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -143,7 +143,7 @@ func create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb, 0x7b, 0xa8, 0xd4, 0x3e, 0x33, 0xb4, 0x2f, 0x6, 0xd2, 0x23, 0x8e, 0x77, 0xa1, 0xa7, 0x3d, 0xcb, 0x60, 0xd, 0x70, 0xdd, 0x3c, 0x20, 0x1f, 0xf, 0x98, 0xd4, 0x54, 0x65, 0xdb, 0xaf, 0x43}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb9, 0x49, 0xf7, 0x75, 0x81, 0xea, 0x3d, 0x14, 0xfe, 0x29, 0x20, 0xee, 0x33, 0x58, 0x2c, 0xf0, 0xc1, 0x79, 0xf0, 0x68, 0x3e, 0x89, 0xc8, 0x46, 0xf2, 0x5f, 0xc4, 0x6c, 0x8c, 0xc3, 0x4, 0x74}}
 	return a, nil
 }
 
@@ -167,11 +167,7 @@ func generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
-<<<<<<< HEAD
-var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x6e\xdb\x30\x0c\xbd\xfb\x2b\x88\x1c\x3a\x07\x48\x9d\x7b\x90\xb4\x68\xb3\x75\xa7\x01\x45\x97\xf5\xce\xd8\x74\x2c\xd4\x91\x0c\x89\x4e\x56\x14\xf9\xf7\x41\x92\xad\x58\x6e\xba\x1e\xb6\x1c\x02\x83\x26\x9f\xde\x7b\xe2\xb3\xd8\x37\x4a\x33\x3c\xb4\x72\x27\xb6\x35\x6d\xd4\x0b\x49\x28\xb5\xda\xc3\x24\xaa\x4d\x92\x4b\x9d\x3f\x88\xb1\x40\xc6\x67\x41\x47\x73\x69\x2c\x6a\x08\x18\x97\xc6\x72\x25\x59\x63\xce\x66\xde\xb2\xa8\x05\xbf\xce\x47\xb3\xc9\x7c\x3e\x87\x4d\x25\x0c\xb0\x46\x69\x30\x67\xa1\x24\x08\x03\xc7\x0a\x19\x50\x02\xe6\xb9\x6a\x25\xc3\x51\xb5\x75\x01\xba\x95\x6e\x82\x15\x18\x62\x10\x6c\xa8\x2e\xa1\x6d\x6c\x61\x8f\x12\x77\x04\x65\xc7\x14\xd8\x52\x35\x99\x47\x2f\x5b\xe9\xa0\xdd\x74\x6b\xc8\xc0\xc1\xd1\x64\x05\x2f\x52\x1d\xe1\x58\x91\xa6\x1e\xd6\xe2\x55\x04\x07\x6c\x6b\x76\x03\x42\x82\x61\xa5\x2d\x3c\xca\xc2\xb6\xe5\x9a\x90\xc9\xb5\xd1\xbe\xe1\x57\xdf\x9c\x25\xc9\x40\x46\x8a\x45\xa1\xc9\x98\x05\xdc\xf9\x87\x19\x34\xed\xb6\x16\xf9\x23\x72\xb5\x80\xc7\xf0\x3c\x85\xb7\x24\x01\x00\x68\x34\x35\xa8\x29\x35\x62\x27\x49\x2f\x00\x5b\xae\xd2\x9f\x78\xa0\x67\xac\x5b\x9a\xc1\x1a\x1b\xdc\x5a\x1f\x05\x99\x29\x5c\xdd\x79\x6f\xec\x38\x74\xbf\xf9\x1c\xee\x95\xd6\xea\x08\x08\x9a\x4a\xd2\x24\x73\xa7\x2b\x08\x72\x4a\xa8\x00\x25\x5d\xad\x41\x63\xa8\x08\x36\x23\x0f\xab\x67\xba\xe1\x80\x9a\x18\x34\x19\x55\x1f\x48\x3f\x51\x09\x2b\xd8\x11\x77\x44\x7a\xc1\xd3\xd0\x6d\x7f\x59\x3e\x60\x9d\x6d\x1d\xbb\xe5\xd5\x5b\xb4\x08\xd9\x53\x07\x79\xba\x49\xcf\x87\xc6\x38\xb7\xb7\xd0\xa0\x14\x79\x3a\x59\xbb\x5d\x90\x8a\x61\xfb\x89\x56\x7b\xc9\x81\x2e\x4c\xa6\xc9\xd0\xa8\x5f\xc6\x5e\x20\x72\x3c\xac\x89\xb5\xa0\x83\xbf\xdb\x87\x8d\xa5\x07\x91\xfa\x92\x5d\x6d\xf5\x97\xd0\x64\x3b\x62\x3f\x9a\x5a\x06\xbd\xb8\xc5\xd0\xb9\x98\xcb\x77\xe2\xfe\x40\x4b\xfc\x2b\x32\x7a\xf2\x2e\x47\xee\xef\xcc\x67\x4c\x27\x4c\xac\x3a\x72\xd9\xb0\xd8\xfb\x06\xe9\x64\x53\x51\x7f\xfd\xde\x9f\x42\x14\xf2\x0b\x83\xd8\x37\x35\xed\x49\xf2\xc0\xba\xa2\xa7\x30\x72\x6d\xed\x37\x1f\x41\xd2\x71\xb8\xfb\xd0\x1a\x21\x77\x0e\xc0\x87\xe3\x9b\x7d\xe7\x68\x84\xf4\x81\x90\x46\x14\x34\x56\x1a\xe9\xa1\xf3\xd8\xf2\x7a\xa0\x23\x1b\xa3\xa6\x31\x2f\x1b\x13\x10\xdc\xdf\x7f\xb7\xd0\xa1\xc3\x47\x2a\xeb\x62\x9c\x19\x3c\x50\xba\xbc\x3e\x1f\x36\x03\x56\x8b\xa1\x99\x7d\xab\x5f\xc4\x8b\x0e\xf8\x4d\x85\xb0\xdf\xaf\x50\x2a\x3d\xb0\x90\x7e\x37\x2a\x98\xa2\x29\x27\x61\xb7\x50\x48\x26\x5d\x62\x4e\xa3\x4c\xf9\xd7\x6b\x6c\x60\xd5\xb3\x8d\x92\xd3\x53\x17\xc6\xb4\xb4\xbc\x7a\x8b\xd6\x2f\x7b\xea\xe6\x4f\x37\xe9\x87\x22\x46\x5e\x44\xe8\x4e\x8b\xa9\xd2\x01\x8f\x19\x20\xc7\x96\xf4\x2f\xff\x97\x27\x5b\xac\xd1\xc6\xce\x7e\x54\x43\x4a\x83\x3f\x26\x32\x68\xef\x03\xd6\x67\xe9\x53\x9f\xe2\x6f\xd0\x65\xd3\xee\xfd\xf9\x33\xf8\xf0\x63\xf4\x4f\x5e\xbe\xa7\xfc\xde\xd2\xae\x07\xcf\xa8\xa7\xe4\x94\xc0\x9f\x00\x00\x00\xff\xff\xe4\xc6\x2b\xaf\xc2\x07\x00\x00"
-=======
-var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x94\x41\x6f\x9b\x4c\x10\x86\xef\xfc\x8a\x91\x0f\xf9\x88\xe4\xe0\xbb\xe5\x24\x4a\xf2\x35\x3d\x55\x8a\x52\xb7\xf7\x31\x0c\xb0\x0a\xec\xa2\xdd\x01\x1a\x45\xfe\xef\xd5\xee\xc2\x1a\x90\xdd\x56\x6a\x39\x58\x68\x3c\x33\xfb\xbc\xef\xce\x20\xea\x46\x69\x86\xe7\x56\x16\xe2\x50\xd1\x5e\xbd\x91\x84\x5c\xab\x1a\x56\xb3\xd8\x2a\x3a\x97\xf9\x85\x18\x33\x64\xfc\x2e\xa8\x37\xe7\xca\x66\x09\xa1\xc7\xb9\xb2\x45\x66\xb4\xd9\x6c\x60\x5f\x0a\x03\xac\x51\x1a\x4c\x59\x28\x09\xc2\x40\x5f\x22\x03\x4a\xc0\x34\x55\xad\x64\xe8\x55\x5b\x65\xa0\x5b\xe9\x2a\x58\x81\x21\x06\xc1\x86\xaa\x1c\xda\xc6\x06\x6a\x94\x58\x10\xe4\x03\x17\xb0\x05\x33\x89\xef\x9e\xb7\xd2\xb5\x76\xd5\xad\x21\x03\x9d\x83\x62\x05\x6f\x52\xf5\xd0\x97\xa4\x69\x6c\x6b\xfb\x95\x04\x1d\xb6\x15\xbb\x02\x21\xc1\xb0\xd2\xb6\x3d\xca\xcc\xa6\xa5\x9a\x90\xc9\xa5\x51\xdd\xf0\xbb\x4f\x4e\xa2\x68\x22\x23\xc6\x2c\xd3\x64\xcc\x16\x1e\xfc\xcb\x1a\x9a\xf6\x50\x89\xf4\x05\xb9\xdc\xc2\x4b\x78\xbf\x86\x8f\x28\x02\x00\x68\x34\x35\xa8\x29\x36\xa2\x90\xa4\xb7\xf0\xd0\x72\xf9\xe0\x0d\xb0\x39\x30\x3c\x9b\x0d\x3c\x2a\xad\x55\x0f\x08\x9a\x72\xd2\x24\x53\x07\x1f\xa8\x1d\x2e\x65\xa0\xa4\x8b\x35\x68\x0c\x65\xc1\x4b\xe4\x69\xf4\xc4\x14\x0e\xa8\x88\x41\x93\x51\x55\x47\xfa\x95\x72\xb8\x85\x82\x78\x00\x19\x55\x5d\x87\x6c\xfb\x24\x05\xf1\x13\x36\x78\x10\x95\xe0\xf7\xf8\xd4\x73\x91\x76\x70\xdc\xbb\xab\x8f\xd9\x1c\x24\xaf\xc3\x61\xc7\xbb\x78\x5e\x70\x7f\x0f\x0d\x4a\x91\xc6\xab\x27\x37\x00\x52\x31\x1c\x7e\xa3\xdd\xde\x6c\xc0\x87\xd5\x75\x34\x35\xee\x9b\xb1\xb7\x86\x3c\x2f\xd6\xc4\x5a\x50\xe7\x2f\xf4\x79\x6f\xa1\x60\xe6\x46\xce\x2e\x76\xfb\x8b\xbd\xb0\x16\xf8\xd2\xd8\x12\x8c\x92\xb6\x53\x27\xe7\x2c\x9f\x89\xc7\x03\x2d\xf8\xff\xc8\xe8\xe1\xdd\xaa\xb8\x9f\x13\xcf\x12\x27\x54\xdc\x0e\x70\xc9\x34\x38\xfa\x06\xf1\x6a\x5f\xd2\x38\x0e\xde\x9f\x4c\x64\xf2\x3f\x06\x51\x37\x15\xd5\x24\x79\x62\x5d\x36\x22\x2c\x5c\x7b\xf2\xe3\x8e\x20\xa9\x9f\x0e\x3c\xb4\x46\xc8\xc2\x35\xf0\x1b\xf1\xc9\xfe\xe7\x30\xc2\xca\x81\x90\x46\x64\xb4\x54\x3a\xd3\x43\xa7\xb2\xdd\xcd\x44\x47\xb2\xec\x1a\xcf\xb9\xbe\x62\x47\x20\x78\xbc\xff\x61\xc0\x43\x86\xdf\xa3\xc4\x60\x47\xf1\xee\xe6\x74\xc8\x1a\x58\x6d\xa7\x26\x26\xc3\x7a\xfb\x89\x3d\xab\xdc\x8f\x34\xa4\x61\xc8\x21\x57\x7a\x62\x1d\xfd\x68\x54\x30\x43\x53\x4a\xc2\x4e\x9f\x90\x4c\x3a\xc7\x94\x96\x4c\x95\x90\x6f\xbb\xab\x8f\xd9\x38\x25\xaf\x43\xd9\xf1\x2e\x9e\x6d\xc1\x94\x74\x6c\x6d\x51\xd7\xb3\x2c\x46\x5d\x10\x5f\xd4\x15\x72\xff\x85\xc0\x03\x56\x68\x77\xc7\x7e\x0e\xc3\xaa\x05\xb1\xe6\x8f\xd4\x3e\xfa\x1e\x6b\xb8\xf8\x2d\xb8\x68\x42\x3d\x54\xfc\xb5\x09\xc7\xe8\x18\xc1\xcf\x00\x00\x00\xff\xff\x8e\xd5\x2a\x6e\x1d\x07\x00\x00"
->>>>>>> sisyphusSmiling/cadence-test-framework
+var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x6e\xdb\x30\x0c\xbd\xfb\x2b\x88\x1c\x3a\x07\x48\x9d\x7b\x90\xb4\x68\xb3\x75\xa7\x01\x45\x97\xf5\xce\xd8\x74\x2c\xd4\x91\x0c\x89\x4e\x56\x14\xf9\xf7\x41\x92\xad\x58\x6e\xba\x1e\xb6\x1c\x02\x83\x26\x9f\xde\x7b\xe2\xb3\xd8\x37\x4a\x33\x3c\xb4\x72\x27\xb6\x35\x6d\xd4\x0b\x49\x28\xb5\xda\xc3\x24\xaa\x4d\x92\x4b\x9d\x3f\x88\xb1\x40\xc6\x67\x41\x47\x73\x69\x2c\x6a\x08\x18\x97\xc6\x46\x9d\xc9\x7c\x3e\x87\x4d\x25\x0c\xb0\x46\x69\x30\x67\xa1\x24\x08\x03\xc7\x0a\x19\x50\x02\xe6\xb9\x6a\x25\xc3\x51\xb5\x75\x01\xba\x95\x6e\x82\x15\x18\x62\x10\x6c\xa8\x2e\xa1\x6d\x6c\x61\x8f\x12\x77\x04\x65\xc7\x0b\xd8\x12\x33\x99\x47\x2f\x5b\xe9\xa0\xdd\x74\x6b\xc8\xc0\xc1\x91\x62\x05\x2f\x52\x1d\xe1\x58\x91\xa6\x1e\xd6\xe2\x55\x04\x07\x6c\x6b\x76\x03\x42\x82\x61\xa5\x2d\x3c\xca\xc2\xb6\xe5\x9a\x90\xc9\xb5\xd1\xbe\xe1\x57\xdf\x9c\x25\xc9\x40\x46\x8a\x45\xa1\xc9\x98\x05\xdc\xf9\x87\x19\x34\xed\xb6\x16\xf9\x23\x72\xb5\x80\xc7\xf0\x3c\x85\xb7\x24\x01\x00\x68\x34\x35\xa8\x29\x35\x62\x27\x49\x2f\x00\x5b\xae\xd2\x9f\x78\xa0\x67\xac\x5b\x9a\xc1\x1a\x1b\xdc\x8a\x5a\xb0\x20\x33\x85\xab\x3b\xef\x8d\x1d\x87\xee\x37\x9f\xc3\xbd\xd2\x5a\x1d\x01\x41\x53\x49\x9a\x64\xee\x74\x05\x41\x4e\x09\x15\xa0\xa4\xab\x35\x68\x0c\x15\xc1\x66\xe4\x61\xf5\x4c\x37\x1c\x50\x13\x83\x26\xa3\xea\x03\xe9\x27\x2a\x61\x05\x3b\xe2\x8e\x48\x2f\x78\x1a\xba\xed\x2f\xcb\x07\xac\xb3\xad\x63\xb7\xbc\x7a\x8b\x16\x21\x7b\xea\x20\x4f\x37\xe9\xf9\xd0\x18\xe7\xf6\x16\x1a\x94\x22\x4f\x27\x6b\xb7\x0b\x52\x31\x6c\x3f\xd1\x6a\x2f\x39\xd0\x85\xc9\x34\x19\x1a\xf5\xcb\xd8\x0b\x44\x8e\x87\x35\xb1\x16\x74\xf0\x77\xfb\xb0\xb1\xf4\x20\x52\x5f\xb2\xab\xad\xfe\x12\x91\x6c\x47\xec\x47\x53\xcb\xa0\x17\xb7\x18\x3a\x17\x73\xf9\x4e\xdc\x1f\x68\x89\x7f\x45\x46\x4f\xde\xa5\xc6\xfd\x9d\xf9\x8c\xe9\x84\x89\x55\x47\x2e\x1b\x16\x7b\xdf\x20\x9d\x6c\x2a\xea\xaf\xdf\xfb\x53\x88\x42\x7e\x61\x10\xfb\xa6\xa6\x3d\x49\x1e\x58\x57\xf4\x14\x46\xae\xad\xfd\xe6\x23\x48\x3a\x0e\x77\x1f\x5a\x23\xe4\xce\x01\xf8\x70\x7c\xb3\xef\x1c\x8d\x90\x3e\x10\xd2\x88\x82\xc6\x4a\x23\x3d\x74\x1e\x5b\x5e\x0f\x74\x64\x63\xd4\x34\xe6\x65\x63\x02\x82\xfb\xfb\xef\x16\x3a\x74\xf8\x48\x65\x5d\x8c\x33\x83\x07\x4a\x97\xd7\xe7\xc3\x66\xc0\x6a\x31\x34\xb3\x6f\xf5\x8b\x78\xd1\x01\xbf\xa9\x10\xf6\xfb\x15\x4a\xa5\x07\x16\xd2\xef\x46\x05\x53\x34\xe5\x24\xec\x16\x0a\xc9\xa4\x4b\xcc\x69\x94\x29\xff\x7a\x8d\x0d\xac\x7a\xb6\x51\x72\x7a\xea\xc2\x98\x96\x96\x57\x6f\xd1\xfa\x65\x4f\xdd\xfc\xe9\x26\xfd\x50\xc4\xc8\x8b\x08\xdd\x69\x31\x55\x3a\xe0\x31\x03\xe4\xd8\x92\xfe\xe5\xff\xf2\x64\x8b\x35\xda\xd8\xd9\x8f\x6a\x48\x69\xf0\xc7\x44\x06\xed\x7d\xc0\xfa\x2c\x7d\xea\x53\xfc\x0d\xba\x6c\xda\xbd\x3f\x7f\x06\x1f\x7e\x8c\xfe\xc9\xcb\xf7\x94\xdf\x5b\xda\xf5\xe0\x19\xf5\x94\x9c\x12\xf8\x13\x00\x00\xff\xff\x4f\x83\xc5\x38\xb0\x07\x00\x00"
 
 func metadataSetup_account_from_vault_referenceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -187,11 +183,11 @@ func metadataSetup_account_from_vault_referenceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "metadata/setup_account_from_vault_reference.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x39, 0x16, 0x6d, 0x0, 0x6c, 0x7a, 0xc8, 0x76, 0x3f, 0xb0, 0xce, 0xb8, 0xcc, 0x63, 0x93, 0xcf, 0x1a, 0x5c, 0x86, 0x57, 0x30, 0xe9, 0x1, 0x25, 0x82, 0xc1, 0xcd, 0xaf, 0x16, 0x16, 0x10}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x61, 0x7f, 0x33, 0xe2, 0x11, 0xae, 0x96, 0x7, 0xd3, 0x95, 0x90, 0x54, 0x8a, 0x97, 0xef, 0x16, 0x69, 0x42, 0x4b, 0x7c, 0xe5, 0x79, 0xec, 0x3a, 0x81, 0x9b, 0x1a, 0x97, 0xb2, 0xe4, 0xf6, 0xcd}}
 	return a, nil
 }
 
-var _mint_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\xcb\x6e\xdb\x30\x10\xbc\xeb\x2b\x16\x3a\x04\x32\x9a\xc8\x97\xa2\x07\x23\x4e\xe0\xb4\x4d\x4f\x2d\x82\xbc\xee\x2b\x6a\x65\xb3\x95\x48\x81\x5c\xc5\x31\x82\xfc\x7b\xc1\x87\x64\xc9\x89\xed\x8b\x01\x6a\x76\x66\x38\xbb\x4b\xd9\xb4\xda\x30\xdc\x76\x6a\x2d\x8b\x9a\x1e\xf5\x3f\x52\x50\x19\xdd\x40\x3a\x39\x4b\x93\x88\xfc\xf9\x8a\x4d\x3b\x05\x8e\x8f\xd2\x24\x99\xcf\xe7\xf0\xb8\x91\x16\xd8\xa0\xb2\x28\x58\x6a\x05\xd2\xc2\x76\x83\x0c\xbc\x21\x68\xa4\x62\x32\xb0\x12\x42\x77\x8a\xa1\xb3\x64\x81\xb5\x3f\x06\x45\x5b\x60\x47\x64\x23\x0f\xed\xa0\x35\xfa\x45\x96\xe4\x6b\x0d\x09\xd9\x4a\x52\x0c\x58\x96\x86\xac\x05\x54\x25\x60\xe3\x99\x22\xc9\xb9\x3f\x73\xe8\x11\x13\x1a\x0a\x86\x2a\x32\x86\x4a\x87\x75\x88\x81\xa5\x72\x96\x5c\xb5\x54\xeb\x24\x19\x59\xcf\x06\xc9\x05\xac\x02\xfa\x3c\x0a\x2e\xe0\xe9\x56\xbe\x7e\xfb\x3a\x83\xb7\x24\x01\x00\x70\x42\xf7\x54\x91\x21\x25\xa8\x97\x88\xf1\x40\x88\x6c\x55\x36\x52\xc1\x3d\x59\xdd\x19\x41\xa0\x8b\xbf\x24\xd8\x17\xd7\xc4\xc1\xb0\x87\x2c\xe0\x6c\x9c\x6b\xee\x0f\xa5\x65\x83\xac\xcd\x09\xb5\xbe\x6b\x51\xee\x9e\x04\xc9\x17\x32\xa0\xab\x69\x7e\x53\xc9\x1e\xb6\x80\xb3\xb7\x49\xdf\xf3\xfe\xcb\xfb\x5e\xf3\xd1\x27\xcb\x58\x83\xed\xda\xb6\xde\x79\x6e\x9f\x34\x14\x54\x69\x13\x3a\x55\x74\x46\x0d\x22\x01\x78\xe3\xbf\xf6\xa9\x05\xc2\xd6\x50\x8b\x86\x32\x2b\xd7\xca\xe9\x63\xc7\x9b\xec\x46\x1b\xa3\xb7\xcf\x58\x77\x34\x83\xb3\x38\x28\x2e\x65\x88\x3f\x4b\x75\x95\x8f\x49\x61\x39\x99\xcc\xdc\xfb\x7b\xf0\x80\x64\xa8\x9a\xcf\x21\x30\x03\x82\x39\x0c\x0e\x7d\x63\x46\xfd\x18\x74\xf6\x4d\x81\x25\x04\x9f\xb9\x65\x6d\x70\x4d\x79\xe1\xf9\x2e\x4f\xf4\xea\x2a\x73\x5b\xb2\x80\x8f\x88\x87\xc0\x71\x87\xbc\x99\x0d\x8a\xee\x77\x7d\x0d\x2d\x2a\x29\xb2\xf4\xc1\xab\xb9\xed\x51\x9a\xf7\x23\x1d\xcc\xa6\xb3\xc9\xd5\x7e\x51\x40\x60\xdc\xab\xc3\x8e\xfb\xad\x28\x8e\xdd\x5f\x1a\x87\xf4\xad\xfe\xe4\xf6\xc3\x18\x2d\x61\x4d\x1c\x1b\xb2\xdf\x8c\xa9\xfd\x5c\x60\x8b\x85\xac\x25\x4b\xb2\x43\x42\xc7\xe6\xea\x2a\x9b\x24\xd3\x9f\xdf\x75\x45\x2d\xc5\xa9\x6c\x9e\x14\xba\x39\x67\xdd\x5f\xaa\xf7\xbf\xbf\x5b\x1a\x6a\xe3\xec\xd2\x2b\x89\x8e\xa9\x5f\xd6\x18\xdb\x77\x43\xc8\x04\xd8\x3f\x4b\x2e\x25\xff\x14\xc5\xc7\xa3\x87\xba\x31\x8e\x90\xcb\x8b\xc3\xc1\xc8\x85\x67\xf9\x43\xdb\xdf\x1e\x92\x61\x5d\xeb\x2d\x95\xab\xf8\x4e\x84\xf7\x62\xf6\x91\xac\x7c\xc6\xae\x66\xc7\x18\xb8\x73\xf7\xe7\x93\xb0\x19\x1e\x14\x8f\x5d\xff\xa0\x56\x5b\xe9\x1b\xde\xf4\x13\xec\xef\x4f\xa7\x1b\x98\x97\xa1\x30\x0e\xe5\xe5\xc5\xc8\xc5\x48\xa1\x24\xcb\x46\xef\xa2\xa9\x71\x88\xad\xb6\x3c\x5a\xc4\x63\x4b\x07\xcb\xe5\x27\x4b\xfa\x65\x78\x38\xd3\x0f\x8f\x48\xd3\x59\x86\x82\x40\x2a\x97\xa5\xa5\x12\x8a\x5d\x98\x67\x5f\x92\x46\x13\xef\xff\x03\x00\x00\xff\xff\xa5\x93\x00\x8d\xb2\x06\x00\x00"
+var _mint_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x4b\x6f\xdc\x3c\x0c\xbc\xfb\x57\x10\x3e\x04\x36\xbe\xc4\x7b\xf9\xd0\xc3\x22\x9b\x20\x69\x9b\x9e\x0a\x04\x79\xdd\x65\x99\xde\x55\x6b\x4b\x06\x45\xe7\x81\x20\xff\xbd\xd0\xc3\x5e\x2b\xd9\xc4\x17\x03\xd2\x90\x33\x1c\x92\x52\xfd\x60\x88\xe1\x6a\xd4\x5b\x55\x77\x78\x67\xfe\xa2\x86\x96\x4c\x0f\x79\x72\x96\x67\x11\xf9\xf3\x59\xf4\x43\x0a\x5c\x1e\xe5\x59\xb6\x5a\xad\xe0\x6e\xa7\x2c\x30\x09\x6d\x85\x64\x65\x34\x28\x0b\x4f\x3b\xc1\xc0\x3b\x84\x5e\x69\x46\x82\x0b\x29\xcd\xa8\x19\x46\x8b\x16\xd8\xf8\x63\xd0\xf8\x04\xec\x12\xd9\x98\x07\x5f\x60\x20\xf3\xa8\x1a\xf4\xb1\x84\x52\x0d\x0a\x35\x83\x68\x1a\x42\x6b\x41\xe8\x06\x44\xef\x33\xc5\x24\xc7\xfe\xcc\xa1\x17\x99\x04\x61\x10\xd4\x22\x11\x36\x0e\xeb\x10\x73\x96\xd6\x49\x72\xd1\x4a\x6f\xb3\x6c\x21\xbd\x98\x29\xd7\x70\x11\xd0\xc7\x91\x70\x0d\xf7\x57\xea\xf9\xdb\xff\x25\xbc\x66\x19\x00\x80\x23\xba\xc1\x16\x09\xb5\xc4\x89\x22\xda\x03\xc1\xb2\xdf\xa1\xf8\x1b\xb4\x66\x24\x89\x60\xea\x3f\x28\xd9\x47\x77\xc8\x41\x71\xc0\xac\xe1\x68\xe9\x6c\x15\x4e\xbf\x20\x9a\x1a\x16\x99\x6e\x50\xa2\x7a\x44\x02\xd3\xa6\xd6\xa5\x64\x13\x6c\x0d\x47\xaf\x49\xcb\xab\x07\x31\x76\xfc\xb6\x27\xbc\xf3\x8e\xb2\xe8\xc0\x8e\xc3\xd0\xbd\xf8\xc4\xde\x61\xa8\xb1\x35\x14\x3a\x54\x8f\xa4\x67\x86\x00\xbc\xf4\xb7\x93\x5b\x21\xe1\x40\x38\x08\xc2\xc2\xaa\xad\x76\xe4\x62\xe4\x5d\x71\x69\x88\xcc\xd3\x83\xe8\x46\x2c\xe1\x28\x0e\x88\x73\x17\xe2\x67\xb1\x6b\xab\x65\x52\xd8\x24\x13\x59\x79\x7d\xb7\x1e\x90\xcd\x51\xab\x15\x84\xcc\x20\x80\xde\xbb\x26\x9a\x5e\xe9\x65\x1b\x66\x9e\x45\x2f\x60\x03\x41\x68\x65\xd9\x90\xd8\x62\x55\xfb\x84\xa7\x87\x5a\x74\x56\xb8\xbd\x58\xa7\xc2\x2e\x1c\xcd\x6d\x08\xbe\x16\xbc\x2b\x67\x2e\xf7\x9d\x9f\xc3\x20\xb4\x92\x45\x7e\xeb\x69\xdc\xbe\x68\xc3\xfb\x21\x0e\x32\xf3\x32\x29\xea\x17\x06\x84\x88\x9b\xf4\xbe\xd1\x7e\x0f\xea\xcf\x2a\x57\xe4\x90\xbe\xf7\x07\xea\x9e\xa7\x67\x03\x5b\xe4\xd8\x8a\xfd\x2e\x94\x95\x14\x83\xa8\x55\xa7\x58\xa1\x9d\xdd\x38\x38\x41\x67\x45\x52\xab\xfb\x12\x6b\x3c\xea\x7a\xac\x3b\x25\x9d\x33\x09\xb8\x5c\x58\x73\xaf\x85\x9b\x6e\x36\x53\x4d\x93\xfc\x7d\x69\x79\xb0\x35\x0e\x2d\x3e\xa3\x1c\x19\xa7\xed\x8c\xae\x7d\x27\x14\x1c\x5e\xa1\xe9\x81\x98\x6e\xdd\xc8\xfa\xd7\xa9\xf1\x9a\xe0\xf4\xe4\xc3\x24\x54\xee\xde\xeb\xb6\xc5\xf4\x0a\x84\x7f\xda\x9b\x1f\x38\x18\xab\x7c\x7f\xfa\x69\xd4\xbc\x5e\xfc\xda\xef\xaa\x09\x81\x71\x86\x4e\x4f\x16\x7a\x92\xe2\x06\x63\x79\xb1\x19\x9f\x6d\x01\x6c\x36\x07\xb6\xe6\xbf\xf9\x05\xcb\x3f\x6c\x75\x3f\x5a\x86\x1a\x41\x69\x49\x28\x2c\x36\x50\xbf\x84\x31\xf3\x21\x79\x14\xf1\xf6\x2f\x00\x00\xff\xff\xbb\x86\x5a\x5c\x3b\x06\x00\x00"
 
 func mint_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -207,11 +203,11 @@ func mint_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "mint_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0xc, 0x6e, 0xa7, 0x4b, 0x89, 0x2d, 0x33, 0x29, 0x41, 0x1d, 0xb5, 0x99, 0x75, 0x30, 0x68, 0x31, 0x85, 0xf6, 0xda, 0xc5, 0x2b, 0xe2, 0xdd, 0x8a, 0x2d, 0xd4, 0x2e, 0x86, 0xba, 0xaa, 0x3d}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x44, 0xb7, 0x69, 0xe4, 0x6d, 0x5b, 0x93, 0xb6, 0x7d, 0x54, 0x15, 0x98, 0x88, 0x3d, 0x23, 0xf6, 0x6c, 0xe5, 0x6b, 0x1, 0x9b, 0xa8, 0x1, 0x20, 0x8d, 0x3f, 0xf7, 0xe8, 0xf3, 0xf6, 0x10, 0x59}}
 	return a, nil
 }
 
-var _privateforwarderCreate_account_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x53\x4d\x6f\xdb\x30\x0c\xbd\xfb\x57\x70\x39\x6c\x36\xd0\xda\xf7\x22\x1d\x50\x14\xcd\x69\x28\x82\xb5\xdb\x9d\x71\x98\x58\x88\x62\x09\x32\x6d\x37\x08\xf2\xdf\x07\xf9\x43\x95\x9c\x1a\x2b\xea\x4b\x1b\xea\xf1\xe9\xf1\xf1\x49\x1c\xb5\x32\x0c\xab\xba\xdc\x8b\x8d\xa4\x57\x75\xa0\x12\x76\x46\x1d\x61\x11\xd4\x16\xd1\x80\x7c\x7a\xc3\xa3\x0e\x81\x7e\xc9\xe1\xd6\x46\x34\xc8\xf4\x9b\x72\x12\x0d\x99\x95\x32\x2d\x9a\x2d\x99\xa1\x67\xee\x78\x11\x45\x59\x96\xc1\x6b\x21\x2a\x60\x83\x65\x85\x39\x0b\x55\x82\xa8\xa0\xae\x68\x0b\xac\x20\x37\x84\x4c\x80\xb6\x60\x7e\x54\xb0\x92\xaa\x05\xcc\x73\x55\x97\x0c\xad\xe0\x02\x10\x74\x4f\x0f\xbb\x91\x37\x8a\x7c\xb6\x73\x14\x01\x00\xd8\x9b\x9e\xa9\x85\x87\xa1\x99\x0b\xb4\x0c\x52\x42\xa1\xe4\x16\xb8\xf0\x09\x6c\x83\x24\x86\x92\xda\x01\x7f\x07\x0f\x35\x17\xc3\x8f\x9e\x51\x1b\xd2\x68\x28\xd6\x78\x22\x13\x9c\x27\x70\xee\x10\xf6\xab\x48\xee\xd2\x77\x1e\xb8\xf7\x81\x63\x6f\xf7\x27\xe9\x7a\x2e\x3d\x39\xbd\x51\x5e\x33\x8d\xea\xfb\x09\xe0\x05\x1b\x6b\x86\xa1\x7d\x2d\xd1\x40\x83\xb5\x64\x6b\x93\x55\x5f\x92\x73\x66\xee\xf2\xb4\xc2\x86\xe2\xe5\xad\xbf\xc4\xb4\xb7\xf8\xe9\xa8\xf9\xf4\xd7\xf2\xc5\xc9\x8d\xeb\xb7\x1f\xab\xbb\x20\x08\x69\x87\x7a\x61\x65\x70\x4f\x6b\xe4\xc2\xa1\x93\x40\xeb\xe3\xb8\xba\x71\x3f\x66\xd8\xbf\x03\x59\x87\xc7\xe2\x23\x6a\xdc\x08\x29\xf8\x04\xf7\x57\xb2\xa5\x28\x0f\xcb\xef\xe7\x20\xa4\xe9\x18\xa7\xcb\xcf\x38\xd0\x9b\x0d\xf7\x65\xe4\x89\x1e\xc1\x93\xd1\xd0\xec\x89\x3f\x3d\xde\xb7\x60\xbe\x3f\x15\x75\xbe\x4f\xc7\x0b\x62\x7b\x9d\x4d\x7f\x78\x57\x85\xe5\xed\xec\x23\x1a\x16\xf4\x4c\xad\x2b\xc5\x86\x72\xa1\x05\xd9\x58\x5e\x1b\x98\x5c\x47\xc6\xd7\xf9\x7e\x29\x2b\xf7\x94\xaa\x7e\xde\xff\x05\xc7\xf5\xde\x74\xb1\x98\x95\x3c\x39\xf0\xdc\x0c\xc5\xfd\x12\xe5\x21\x7c\x7a\x9d\x28\xa7\x55\xfb\xfe\x7f\x9c\x8a\x59\x0d\xee\xbf\x49\x3e\x3e\x2b\x7a\x5d\x6f\xa4\xc8\xad\xe6\x8f\x43\xf3\x85\xe1\xa7\x2f\xe5\x12\x5d\xfe\x05\x00\x00\xff\xff\x94\xdc\x66\x5c\x94\x05\x00\x00"
+var _privateforwarderCreate_account_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4f\x6b\xe3\x4e\x0c\xbd\xfb\x53\x88\x1e\xfa\xb3\xc1\x75\xef\x25\xfd\xc1\x6e\x68\xa0\x2c\x94\xb0\xed\xf6\xae\x38\x4a\x3c\xec\xc4\x63\x34\x72\x9c\x10\xf2\xdd\x97\xf1\xbf\xcc\x34\x4d\xb7\xdd\xb9\x24\x68\xa4\xa7\xf7\xa4\x37\x56\x9b\xca\xb0\xc0\xac\x2e\xd7\x6a\xa1\xe9\xc5\xfc\xa6\x12\x56\x6c\x36\x70\x15\xc4\xae\xa2\x3e\xf3\x61\x87\x9b\x2a\x4c\xf4\x43\x63\xde\x9c\xd5\x16\x85\x7e\x52\x4e\x6a\x4b\x3c\x33\xdc\x20\x2f\x89\xfb\x9a\x4b\xd7\x57\x51\x74\x7b\x7b\x0b\x2f\x85\xb2\x20\x8c\xa5\xc5\x5c\x94\x29\x41\x59\xa8\x2d\x2d\x41\x0c\xe4\x4c\x28\x04\xe8\x02\xfc\x9f\x85\x99\x36\x0d\x60\x9e\x9b\xba\x14\x68\x94\x14\x80\x50\x75\xf0\xb0\x1a\x70\xa3\xc8\x47\x3b\x44\x11\x00\x80\xeb\xf4\x44\x0d\x7c\xeb\x8b\xa5\x40\x87\xa0\x35\x14\x46\x2f\x41\x0a\x1f\xc0\x15\x68\x12\x28\xa9\xe9\xf3\xef\x00\x6b\x29\xe2\x67\x31\x8c\x6b\x4a\x61\x6a\x4a\x61\xcc\xc5\xa6\xf0\x83\xf6\x36\x85\xc7\x72\x61\x76\x29\x4c\xb1\xc2\x85\xd2\x4a\x14\xd9\x04\xae\xfb\xea\x8e\x42\xc5\x54\x21\x53\x5c\xe1\x9e\xb8\x07\xfc\x6e\x98\x4d\xf3\x8a\xba\xa6\x53\x7a\x02\x87\xb6\xc0\x1d\x4b\x7a\x95\x9d\x78\xc0\xfd\xa0\x60\x80\x69\x7f\x92\x36\xff\xd8\xf5\xa1\x1d\xe5\xb5\xd0\xa0\xbc\x53\x0f\xcf\xb8\x75\x83\x64\x5a\xd7\x1a\x19\xb6\x58\x6b\x71\x23\x76\xca\x4b\x1a\xa7\x7a\xa9\x71\x66\x3b\xe9\x99\xc5\x2d\xc5\x93\x1b\xdf\x08\x59\xb7\xa6\x87\x4d\x25\xfb\x57\x87\x1b\x27\x29\x88\xb9\x0b\x0c\x94\xb5\x37\xfd\x00\xe7\x28\x45\x12\xd0\x7b\xb4\xb6\x76\xfc\x06\x97\x9c\x26\xb9\x07\x41\x5e\x93\x88\x2a\xd7\x2d\xdb\xc0\x96\x2d\xea\x08\xe4\x96\xc6\x3d\x82\x07\x70\x7f\xa6\x26\xf7\xf6\x34\x4a\x53\x8e\xc3\xe4\xfa\x10\xbc\x86\x6c\x60\x74\xfc\x3f\x1e\xfb\xb8\xf3\xa1\xb8\x31\x33\x54\xf9\xcb\x52\x2b\x61\xf0\xec\xc0\x35\xf0\xfa\xb9\xa1\x7d\x79\x63\x14\x26\x37\x17\x5f\x5e\xbf\x91\x27\x6a\xc6\x50\xcc\x94\xab\x4a\x91\xf3\xf2\xf9\x88\x92\x73\xaf\xf8\x3c\x4f\x4d\xc5\x8c\xef\xaf\x1f\xdb\x67\x1d\x33\x62\x74\xde\xb8\x48\xfd\xcd\xc5\x5f\x1d\xe3\x1b\xa5\xb3\xf3\xe9\x03\xc4\x64\x4d\xcd\x39\xbd\x3f\xc1\x29\x56\x5f\xb4\xc6\x45\xd2\xe3\xbf\x37\x26\x71\xe7\x1f\x94\x06\x18\x89\xaf\x7a\x5e\x2f\xb4\xb2\x45\xab\xf3\x4b\xca\x3f\x94\x59\x75\xa8\x21\x77\x7f\x4e\x69\x70\x83\xf2\xf9\xfd\xb5\x84\xf3\xf7\xde\xc4\x31\x3a\xfe\x09\x00\x00\xff\xff\x2a\x78\x13\x75\x93\x06\x00\x00"
 
 func privateforwarderCreate_account_private_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -227,11 +223,11 @@ func privateforwarderCreate_account_private_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/create_account_private_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0xae, 0x85, 0xaa, 0x7c, 0xb6, 0x13, 0x58, 0x3, 0x26, 0xd6, 0x65, 0xed, 0xe9, 0x24, 0xa8, 0x29, 0xe3, 0x4f, 0x83, 0x97, 0x77, 0xe9, 0x6f, 0xf0, 0x1b, 0x90, 0x3b, 0xc8, 0xb, 0xb3, 0x96}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5b, 0xda, 0x24, 0x45, 0xc8, 0x6d, 0x3d, 0xb2, 0x99, 0xe9, 0x9e, 0x81, 0xf3, 0x5e, 0xc6, 0xb7, 0x25, 0x6c, 0x5, 0x8e, 0xfa, 0x9c, 0x2d, 0x95, 0xef, 0xad, 0xf8, 0xe6, 0x65, 0x23, 0x2e, 0xd1}}
 	return a, nil
 }
 
-var _privateforwarderCreate_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x52\x4f\x6b\xfa\x40\x10\xbd\xef\xa7\x18\x3c\xfc\x7e\x11\x34\xb9\x07\x5b\x90\x52\x8f\x45\x5a\xe9\x7d\x12\xa7\xc9\x62\xdc\x0d\x93\x49\xac\x88\xdf\xbd\x6c\xfe\x91\xa8\x81\xd2\x3d\x84\x65\xe6\xcd\x7b\xfb\xe6\x45\x1f\x73\xcb\x02\x9b\xd2\x24\x3a\xca\x68\x67\x0f\x64\xe0\x8b\xed\x11\x66\xa3\xda\x4c\xb5\xc8\xd7\x6f\x3c\xe6\x63\xe0\xb0\xd4\xe3\xb6\xac\x2b\x14\x7a\xa7\x98\x74\x45\xbc\xb1\x7c\x42\xde\x13\xb7\x33\x53\xed\x99\x52\x41\x00\xbb\x54\x17\x20\x8c\xa6\xc0\x58\xb4\x35\x10\x33\xa1\x50\x01\x08\x86\x4e\x90\x37\xc3\xc0\xed\x34\x68\x03\x68\x00\xe3\xd8\x96\x46\x40\x52\x14\x70\x34\x7b\x4b\x85\xf9\x2f\x80\x19\x13\xee\xcf\x90\x62\x45\x80\xf7\xe3\x96\x5d\xb5\x8c\x32\x1d\x83\xd4\xc6\xba\x96\x63\x89\x4a\xa9\x99\x6e\x69\x3e\xb1\xcc\x44\xa9\xe1\x33\x2f\x4a\x01\x00\xe4\x4c\x39\x32\x79\x85\x4e\x0c\x71\x08\xeb\x52\xd2\x75\xf3\xb8\x39\x5c\x6a\x88\x3b\x9d\xc8\x0b\xe6\x18\xe9\x4c\xcb\x19\x9e\xa0\x99\xf1\x33\x6d\x0e\xab\x7f\x97\x51\x06\x7e\xb7\xad\xeb\xb3\xd7\x93\xb8\x13\xb4\x8e\x02\x1a\x24\xd1\x81\x17\x23\xa8\x20\x27\x24\xe1\x28\x46\xbf\x76\xf2\x21\x96\x31\xa1\x2d\x4a\xda\x4f\xcc\x55\x7f\xcd\x48\xa0\x72\x38\x58\x2d\x27\xc3\xf5\x9b\x9c\xde\xe8\xd4\x97\x3c\xa6\x58\xe7\x9a\x8c\x84\x0f\x0c\x0f\x04\x5a\xe3\x05\x56\xe4\xad\x96\xb5\xd4\x02\xc4\x86\xd3\x62\x37\x8d\x81\x81\x7b\xda\x76\x9f\x93\x5c\xfd\xed\x76\xb7\xbf\x55\xdf\xd6\xbf\x8f\x13\x7f\xbc\xf0\x3f\xb8\x18\xc4\xe0\xbe\x57\x75\x55\x3f\x01\x00\x00\xff\xff\xff\x8d\xc1\x45\xaf\x03\x00\x00"
+var _privateforwarderCreate_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x53\x4d\x6b\xdb\x4c\x10\xbe\xeb\x57\x3c\xf8\x90\xd7\x06\x47\xbe\x1b\xbf\x85\x62\x1a\xe8\xa5\x98\x26\xe4\x3e\x5e\x4f\xac\xa5\xf2\xae\x98\x1d\xd9\x0d\xc6\xff\xbd\xe8\xd3\x5a\xd7\x82\xa4\x7b\x12\x33\x3b\xcf\x3e\x1f\x23\x7b\x28\xbc\x28\x9e\x4a\xb7\xb7\xdb\x9c\x5f\xfc\x2f\x76\x78\x13\x7f\xc0\x24\xaa\x4d\x92\xf6\xe6\xb7\xdf\x74\x28\xe2\x8b\xc3\x52\x7f\x6f\x23\xf6\x48\xca\x3f\xd9\xb0\x3d\xb2\x3c\x79\x39\x91\xec\x58\xda\x99\xb1\xf6\x24\x49\x16\x0b\xbc\x64\x36\x40\x85\x5c\x20\xa3\xd6\x3b\x18\x61\x52\x0e\x20\x38\x3e\xa1\x68\x86\x21\xed\x34\xac\x03\x39\x90\x31\xbe\x74\x0a\xcd\x48\x51\xc1\xec\x3c\x07\xf7\x9f\x82\x72\x61\xda\xbd\x23\xa3\x23\x83\xfe\x1e\xf7\x52\x55\xcb\x6d\x6e\x0d\xb4\x16\xd6\xb5\x2a\x94\x6d\xa9\x35\xd2\x2d\xcc\x2b\x95\xb9\x26\xc9\x90\xe6\x39\x49\x00\xa0\x10\x2e\x48\x78\x1a\xec\xde\xb1\x2c\x41\xa5\x66\xd3\xef\x21\x94\xfc\xac\x5e\x68\xcf\x6b\x2a\x68\x6b\x73\xab\xef\x6b\xef\x54\x7c\x9e\xb3\xcc\xb1\xa9\x18\x84\xec\xda\x9c\xe3\x99\x8e\xfc\x4a\x79\xc9\x33\x3c\x7c\x6d\xe4\xcd\x70\xae\x1f\xa9\xce\x62\x81\x1a\x16\x84\xce\x49\x5c\xc7\xa1\x24\x7b\x56\xb5\x6e\x0f\xcd\x38\x8e\xae\x61\xdf\x01\xe5\xac\xbd\xe6\x01\xc0\xff\x68\x24\xa4\xa6\xab\x59\x0e\x69\x68\x44\xa4\xb6\x7a\x7a\xf5\x70\x8e\x16\x25\xed\x88\x5c\xbe\x4c\x7b\xf8\xea\x0c\x5f\x4f\xeb\xd7\x5b\x33\x36\xa4\x59\x7f\x73\x36\xd4\xb6\xae\x53\xaf\xb9\x5f\xf7\x47\x38\xf8\x52\x0c\x47\xdc\xdf\xfa\xf6\xea\x71\x74\xf5\xd2\x66\x8b\x7e\xf0\xa9\x2f\x4d\x85\x8d\x2d\x2c\x3b\x5d\xde\xd1\x1f\x91\xa9\xa2\x18\xa1\x02\xf5\x68\x4d\xe9\x27\x5a\xe3\x3a\xaf\x02\x1d\x79\xba\x7a\xec\x79\xce\xa1\x7e\x39\xce\xf4\xa6\x31\x70\x6a\x76\x2f\xfc\x61\xe6\xfe\x53\x7e\xad\xa9\xf8\x58\xca\xa3\x54\xfb\xaf\x9b\xbc\xab\xf3\x0f\xfa\x22\x8c\x48\x6c\xfb\x7b\xd4\xf2\x3e\x25\xf8\x9e\xba\xa2\x01\x8b\x29\x0f\x5d\x99\x47\x1d\xd2\x8f\x87\x55\xf3\x34\x77\xb6\xfa\x92\x5c\x92\x3f\x01\x00\x00\xff\xff\x39\x74\x40\x0c\x70\x05\x00\x00"
 
 func privateforwarderCreate_private_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -247,11 +243,11 @@ func privateforwarderCreate_private_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/create_private_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x2, 0x94, 0x1, 0x6d, 0xcc, 0xdb, 0x68, 0x91, 0xb0, 0xe4, 0xc2, 0x90, 0xcc, 0xa7, 0xe0, 0x29, 0x1b, 0x67, 0x32, 0xcf, 0xdc, 0x56, 0x8a, 0x4b, 0xdb, 0x5b, 0xd9, 0x78, 0x14, 0x25, 0x37}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x63, 0xf7, 0x2d, 0x8e, 0x52, 0xb, 0x72, 0x82, 0xf0, 0xdf, 0xf7, 0xe4, 0x17, 0x39, 0x77, 0xea, 0xb8, 0x5c, 0x89, 0xff, 0xef, 0x4c, 0x59, 0x7d, 0xa4, 0xb8, 0xcd, 0x45, 0xa3, 0xf4, 0x39, 0xa1}}
 	return a, nil
 }
 
-var _privateforwarderDeploy_forwarder_contractCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x8f\x4d\x4b\x03\x31\x10\x86\xef\xf9\x15\x73\xdc\x42\xe8\x5e\x65\x6f\x05\x11\xbc\x48\xa1\x7a\x12\x0f\x63\x32\xee\x0e\xb6\x33\x61\x32\x4b\x11\xe9\x7f\x97\xed\x17\xab\x5e\x9a\x43\x48\x78\x9f\x64\xde\xa7\x6d\x5b\xb8\xa7\xb2\xd5\xaf\x0a\x3e\x10\x3c\xeb\x27\xc9\x83\xda\x1e\x2d\xb3\xf4\x90\x54\xdc\x30\x39\xec\xd9\x87\x23\x51\x0b\x25\xfe\x60\xca\xc0\xc2\x0e\x05\x0d\x77\xe4\x64\x35\x04\x37\x94\x8a\xc9\x59\xa5\xb9\x3c\x7c\xc2\x1d\x75\xb0\x71\x63\xe9\x63\x80\xd9\x4a\x9a\xa9\x83\xd7\x97\x47\xf1\xbb\xb7\xdf\x51\x25\xc9\x64\x1b\x57\xc3\x9e\xd6\xe8\xc3\xf4\xc3\xf5\xf2\x87\xbd\x89\x2a\xe3\xfb\x96\xd3\x09\x5a\x5f\xcf\x0b\xf8\x0e\x01\xa0\x18\x15\x34\x6a\x2a\xf7\x42\xd6\xc1\x6a\xf4\x61\x95\x92\x8e\xe2\x67\x02\xe0\x94\x2d\x2f\x5a\x75\x89\x39\x37\x72\x94\x9b\xab\xc6\xb3\xd6\xb4\xc7\xff\x1e\x71\x5e\x37\xce\x5a\x2d\xa6\x29\x87\x70\x08\x10\x7e\x02\x00\x00\xff\xff\xf7\x8a\xb2\xb8\x93\x01\x00\x00"
+var _privateforwarderDeploy_forwarder_contractCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x8f\xc1\x4a\x03\x31\x10\x86\xef\x79\x8a\x39\xc9\x2e\x84\xee\x55\xf6\x56\x14\xc1\x8b\x14\xaa\x27\xf1\x30\x26\xe3\xee\x60\x3b\x09\x93\x59\x8a\x48\xdf\x5d\xb6\xdd\x2e\xab\x5e\x9a\x43\x48\xc8\xf7\x67\xfe\xaf\x69\x1a\xb8\xa7\xbc\x4b\x5f\x05\xac\x27\x78\x4e\x9f\x24\x0f\x49\x0f\xa8\x91\xa5\x83\x90\xc4\x14\x83\xc1\x81\xad\x3f\x11\x25\x53\xe0\x0f\xa6\x08\x2c\x6c\x90\x51\x71\x4f\x46\x5a\x9c\x33\x45\x29\x18\x8c\x93\x54\x97\xe0\x13\xee\xa9\x85\xad\x29\x4b\xe7\x1d\x2c\x56\x48\x91\x5a\x78\x7d\x79\x14\xbb\x7d\xfb\xfd\x54\x48\x22\xe9\xd6\x92\x62\x47\x1b\xb4\x7e\xfc\x61\xbe\xfc\x61\xaf\xa2\xf2\xf0\xbe\xe3\x70\x86\x36\xf3\xb9\x86\x6f\xe7\x00\xb2\x52\x46\xa5\xaa\x70\x27\xa4\x2d\xe0\x60\x7d\xb5\x8e\xf1\x6e\x72\xa8\xe1\x66\x1d\x42\x1a\xc4\xa6\x00\xc0\x19\x5d\x5d\x2c\xcb\x0a\x63\xac\xe4\xe4\xba\x34\xf7\x93\xe5\xb8\xfb\xff\x5a\x7e\xd9\xde\x2f\x4a\xd6\xe3\x94\xa3\x3b\x3a\x70\x3f\x01\x00\x00\xff\xff\xb6\x45\x50\xb4\xa2\x01\x00\x00"
 
 func privateforwarderDeploy_forwarder_contractCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -267,11 +263,11 @@ func privateforwarderDeploy_forwarder_contractCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/deploy_forwarder_contract.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x63, 0x44, 0x17, 0x78, 0x41, 0x47, 0x73, 0xf, 0x19, 0xd3, 0x94, 0xb2, 0xd3, 0xfb, 0xbe, 0x5e, 0xe7, 0xd4, 0xa4, 0x53, 0x61, 0x2e, 0x62, 0x52, 0xcd, 0xb6, 0xd4, 0x6b, 0x79, 0xbb, 0x6e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0x7f, 0x10, 0x12, 0xa4, 0xc2, 0xb6, 0x67, 0x4e, 0x42, 0xbd, 0x4e, 0xe5, 0x57, 0xd4, 0x8, 0xc8, 0x9d, 0x79, 0xd0, 0x13, 0x4e, 0x7e, 0x14, 0xe3, 0x37, 0x17, 0x7a, 0x3a, 0xb, 0x3b, 0x67}}
 	return a, nil
 }
 
-var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x41\x8f\xa2\x4c\x10\xbd\xf3\x2b\x2a\x73\x98\x40\xa2\x72\x37\x68\x32\xdf\x64\xe6\xf8\xc5\xec\x4e\xf6\x5e\x36\x25\x74\xc4\x6e\x52\x14\x3a\xc6\xf8\xdf\x37\xb4\x88\xf4\x20\xbb\xee\x66\x39\x91\xae\x7a\x55\xaf\xeb\xd5\xeb\x40\xef\x4a\xcb\x02\xef\xb5\xc9\xf4\xba\xa0\x0f\xbb\x25\x03\x1b\xb6\x3b\x78\xf2\xce\x9e\xae\x99\x6f\x9f\xb8\x2b\xfd\xc4\xfe\x51\x97\xb7\x62\xbd\x47\xa1\x6f\xa4\x48\xef\x89\xdf\x2d\x1f\x90\x53\xe2\x16\x33\x16\x7e\x0a\x82\x38\x8e\xe1\x23\xd7\x15\x08\xa3\xa9\x50\x89\xb6\x06\x30\x4d\x2b\x40\xf8\x81\x75\x21\x13\x40\x28\x2f\x78\xe0\xb6\x00\x6c\xae\x15\x1c\x1e\x61\x8d\x05\x1a\x45\xa0\xb0\xc4\xb5\x2e\xb4\x1c\x27\x80\x26\x6d\xa0\xf5\xba\xd0\xaa\x17\x68\xb0\x20\xf9\xad\x58\x10\xf4\x5b\x9f\x82\x00\x00\xa0\x64\x2a\x91\x29\xac\x74\x66\x88\xe7\xf0\x52\x4b\xfe\xa2\x94\xad\x8d\x44\x70\x72\x29\xcd\xa7\x37\x70\xc9\x98\x65\x24\xaf\x5d\x8f\xe4\x79\xec\xc6\xb3\xee\x6f\x19\x8e\xe6\x7c\x09\xac\xdc\x15\x56\x28\x79\x34\x53\x39\xa9\x6d\xd8\xa7\xd0\x7c\x71\xdc\x8d\xa8\x9b\x0c\x1c\xb0\x02\x2c\x98\x30\x3d\x42\x45\x02\x75\xe9\x61\x98\xa4\x66\xd3\x1d\x9d\x83\x3b\x97\x5a\x5b\x66\x7b\x48\x9e\xfb\x9a\xcf\x9c\x2a\xcb\xb0\x51\x76\x0e\xc3\xc8\x77\xb1\x8c\x19\x39\xba\xb0\x58\x80\xd1\xc5\x90\xed\x2b\x53\x43\x16\xc1\xd0\xc1\x5f\x32\x57\xc3\x69\x57\xd6\x02\x5a\x40\x1b\xa8\x2e\x25\xbd\x22\x2d\xc3\x0a\xf7\x14\x7a\x81\xe6\x4b\xa6\x1e\x2f\xe5\xba\xbd\xed\x4a\x39\xba\xf2\x61\x34\x19\x40\xc4\xfe\xe6\x32\x1e\x22\xba\x37\xb7\x96\x52\xa1\xcd\x36\x79\x3e\x79\x86\x9a\x5d\xb5\x3c\x2f\x7d\xb6\x71\xab\x5b\x4c\xbd\xde\xd7\x64\x9f\xa5\x20\x67\x24\x8f\xb2\x8c\x6e\xbc\x0a\x92\x6e\xd9\x6f\x3b\x0a\x8b\x91\xd5\x1d\x67\xfe\x4b\xb2\xbd\x86\x7d\x81\x87\xfe\x13\xeb\xec\x77\x11\x5a\x72\x14\xb0\xa6\x38\x02\x7d\x96\xb6\xa2\xaa\x5f\xa4\x49\xbb\x3a\x7b\xa3\xa9\x48\x41\x72\xb6\x75\x96\xbb\xc8\x7f\x6d\x44\x1b\x21\xde\xa0\xa2\x87\x84\x68\x51\x5f\x75\x18\x0e\xf5\xe6\xba\x7f\x28\xc3\xcd\x9d\xc9\x74\xf4\xd1\x6c\xf7\xf5\x7f\x3a\x74\x47\x21\x93\xd2\xa5\x26\x23\xf3\x3b\x52\x46\x83\x1d\x74\xb6\x48\xa6\x5d\xbb\x89\xdb\xef\x47\x1f\x9c\xbe\x85\x47\xd6\xfb\x91\xf7\xcd\x1b\xdb\x9f\x3f\x76\xf7\xc7\xfe\x17\x77\x08\x7c\xd7\x9e\x83\x73\xf0\x33\x00\x00\xff\xff\xa6\x15\x6c\x77\x0a\x07\x00\x00"
+var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x4d\x6b\xe3\x30\x10\xbd\xfb\x57\xcc\xf6\x10\x1c\x48\xe3\x7b\x49\x0a\x4b\x68\x61\x2f\x4b\xd9\x96\xde\x27\xf2\x24\x11\x75\x24\x23\x8d\x93\x2d\x25\xff\x7d\x91\xfc\x11\xa9\xb6\xb7\x49\x75\x32\xd2\x7c\xbc\x79\xf3\x66\x9c\xc8\x7d\xa9\x0d\xc3\x63\xa5\xb6\x72\x5d\xd0\x8b\x7e\x23\x05\x1b\xa3\xf7\x70\x13\xdd\xdd\xb4\x96\x0f\x7f\x71\x5f\xc6\x86\xe1\x55\x67\xf7\x64\xe4\x01\x99\xfe\x90\x20\x79\x20\xf3\xa8\xcd\x11\x4d\x4e\xa6\xf1\x19\x7b\xbe\x49\x92\x2c\xcb\xe0\x65\x27\x2d\xb0\x41\x65\x51\xb0\xd4\x0a\x30\xcf\x2d\x20\xbc\x62\x55\xf0\x0c\x10\xca\xda\x1f\x4c\x13\x00\x36\x6d\x04\xef\x8f\xb0\xc6\x02\x95\x20\x10\x58\xe2\x5a\x16\x92\xdf\x67\x80\x2a\x77\xae\xd5\xba\x90\x22\x78\x70\xbe\xc0\xbb\x73\xb0\x24\x09\x53\x7f\x24\x09\x00\x40\x69\xa8\x44\x43\xa9\x95\x5b\x45\xe6\x0e\xb0\xe2\x5d\xfa\xcb\xda\x8a\x9e\x59\x1b\xdc\xd2\xaa\x0b\xb8\xd2\x8a\x8d\x2e\x0a\x32\x33\x78\x72\xd9\xec\x6e\x15\xc0\x78\xc6\x03\xbd\x62\x51\xd1\x14\x26\x3f\x85\xd0\x95\xe2\x29\x7c\xf8\x24\xee\xc8\x0d\xd4\x39\xe6\x1d\x44\x49\x76\xbe\x25\x5e\x4c\xc6\x68\x9b\x77\x5f\xf7\xe9\xa8\xcd\xa7\x07\x8f\x4c\x3c\x21\xef\xa6\xf0\x63\x09\x4a\x16\x01\x08\x77\xb2\xac\xa3\xb9\x63\x17\x8e\x68\x01\x0b\x43\x98\xbf\x83\x25\x86\xaa\x8c\x7c\x0c\x71\x65\x54\x77\x75\x4a\x06\xca\xb2\x35\x5f\x73\xb1\x23\xf1\xb6\x98\x84\xf2\x99\xfb\x06\xdf\xa7\x4e\x24\x77\xd0\x7f\x69\xa8\xae\x41\x2f\x97\xb0\xc1\xc2\x52\x1f\xf6\xca\x90\x43\x8d\xa0\xe8\x18\x2b\xd6\x47\xf1\x42\x28\x2b\x06\xc9\x20\x15\x34\x78\xa2\x20\x9f\xa0\x5a\x3c\x50\x1a\x19\xb8\xb3\xb8\x8d\x10\x0a\x9f\xf5\x61\x5f\xf2\xbb\x4f\x93\x4e\x67\x3d\x17\xd6\x5f\x94\x15\x79\x4c\x87\x88\x0c\xeb\x6b\xb4\x5c\x57\x75\xd6\x98\x23\x5b\x11\xe5\x94\x7f\xa5\xaa\xb5\x36\x46\x1f\x17\x93\x8f\x68\xda\x6b\x54\xa7\xfb\xb4\x0f\x35\x54\xcd\x72\x48\x35\x05\x31\x1c\x9c\xe5\x0a\x4b\x58\x0e\x26\x6d\x59\x95\x6e\x7a\x46\x73\xf7\xb8\x73\xe7\x72\xee\x62\xfe\x82\x9e\x46\x50\xca\x7a\x3c\xd3\x16\xf1\x0c\x90\x87\x3a\x14\x94\x3d\xd2\x13\xbf\x0a\x00\xa1\x1d\xaf\xb0\x1d\x8c\x66\x4b\xcc\x52\x6d\xfd\x9e\xe9\x2b\x32\x09\xd9\x6b\xd7\x50\x10\xe0\x3b\x3c\xb6\x40\x86\xa8\xbc\x46\x82\x11\xb6\xf3\x22\x58\xdc\x8e\xee\xf8\x66\x12\x7e\xd3\xb1\xbb\x4a\x0d\x09\x59\x4a\x52\x7c\x37\x50\x5f\x90\x64\x68\xf0\x16\xb7\x5d\xda\x99\x9f\xa0\x4b\x57\x5c\xb8\x2e\x06\x9b\x15\xf6\x48\xfb\xde\x9c\x7f\x54\x86\xac\xae\x8c\xa0\xe1\xfa\x2f\x56\xf7\x25\x2b\xbb\xd7\x9f\x6f\x14\x38\xb2\x38\xb2\xac\xfd\x05\xf9\xf2\xae\x2a\xf8\x7f\x03\x13\xa5\x0b\x59\x89\x77\x9e\x9b\xa6\xeb\x7f\x48\x49\x5c\xc7\x29\x39\x25\xff\x02\x00\x00\xff\xff\x5a\xa6\x3f\x2a\xaa\x08\x00\x00"
 
 func privateforwarderSetup_and_create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -287,11 +283,11 @@ func privateforwarderSetup_and_create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/setup_and_create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x8c, 0x82, 0x7c, 0xd4, 0xe2, 0xcc, 0x1, 0xe4, 0xee, 0x59, 0x2d, 0xa9, 0xfb, 0xf0, 0x5d, 0xd0, 0x99, 0x94, 0x91, 0xbb, 0xb3, 0x7, 0xe2, 0xa2, 0x1e, 0x95, 0xf7, 0xdf, 0xc7, 0x1f, 0x51}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x79, 0x86, 0xe3, 0x73, 0x11, 0x57, 0xa, 0xf2, 0xd8, 0x1b, 0x2b, 0x9a, 0x9a, 0xc3, 0xb3, 0x56, 0xe6, 0x1e, 0x6e, 0xca, 0x66, 0x3d, 0x74, 0x30, 0x58, 0x4c, 0xe4, 0xbf, 0xa7, 0xed, 0x9c, 0x28}}
 	return a, nil
 }
 
-var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6b\xdb\x40\x10\x85\xcf\xd9\x5f\xf1\xe2\x43\x2a\x43\x2b\x5f\x4a\x0f\x22\x6d\x30\xa5\xee\xa9\x10\x92\xb4\x3d\x94\x1e\xd6\xd2\x48\x5a\x22\xef\x8a\xd9\x91\xed\x10\xfc\xdf\x8b\xb4\x6b\x23\xd7\x18\x43\xe9\x49\x62\x76\xe6\xed\x7c\x6f\x76\xcc\xaa\x75\x2c\x58\x74\xb6\x32\xcb\x86\x9e\xdc\x33\x59\x94\xec\x56\x98\x1c\xc5\x26\x2a\x66\x7e\xd9\xea\x55\x7b\x9c\x38\x0e\x1d\xf2\xee\xd9\xac\xb5\xd0\x03\xe5\x64\xd6\xc4\x0b\xc7\x1b\xcd\x05\x71\xac\x39\x77\x3c\x51\x6a\x36\x9b\xe1\xa9\x36\x1e\xc2\xda\x7a\x9d\x8b\x71\x36\xfc\x97\xc4\x1e\xe2\xb0\xd2\xf6\x05\xba\x28\x98\xbc\x27\x0f\xa9\xd9\x75\x55\x0d\xa9\xc9\x30\xda\xa0\x0c\x8e\xd2\x5e\xa9\x91\x50\x12\xcb\xe6\x2b\xd7\x59\xf9\xa6\xdb\x0c\xaf\xf3\x10\xca\xf0\x7d\x61\xb6\x1f\xde\xef\xa6\x78\x55\x0a\x00\x86\x46\x08\x3f\x74\xd7\x08\x98\xbc\xeb\x38\x27\x48\xad\x05\xb5\x6b\x8a\xfe\x66\x82\xf4\xd8\x3e\x44\x35\x13\x96\x64\x6c\x75\xe8\x97\xa9\x18\xa4\x1a\x12\xac\x7b\x9d\x07\x2a\x33\xe8\x4e\xea\xe4\xc8\xdf\xf4\xa7\x91\xba\x60\xbd\xd1\xcb\x86\xa6\xb8\x19\x7b\x9a\x0e\x0d\xa8\x83\x4e\x24\x8c\x9e\x19\x5b\x3d\x92\x2d\x88\x33\xdc\x9c\x73\x35\x0d\x19\x41\xa2\x65\x6a\x35\x53\xe2\x4d\x65\xfb\xaa\x79\x27\xf5\x3c\xcf\x7b\x3f\x0e\xe4\x91\xfe\x2b\x09\x34\x98\x4a\x62\xb2\x3d\xba\x1b\x90\x43\xe5\x1b\x0f\x2f\x8e\xa9\x08\x60\x87\x3a\x4f\x4d\x99\xee\x59\xf1\x31\x66\xa7\x4b\xc7\xec\x36\xb7\xff\x82\xfe\x29\xe9\x1f\x4d\x86\xd3\x93\x47\x71\xac\x2b\xba\xd7\x52\x4f\xd5\xd5\xd5\xd5\xdd\x1d\x5a\x6d\x4d\x9e\x4c\x3e\xbb\xae\x29\x60\x9d\x20\x5c\x7c\x4a\xe1\x36\x01\x62\x10\xba\x9e\x4c\xd5\x31\xc1\x19\x97\x4f\x80\x2e\x99\xbe\x6f\xfe\x42\xda\xff\x27\xd9\x85\x0f\x6d\x29\xef\x84\xc6\x93\x2d\x1d\xef\xd7\x07\xc6\xe2\xef\x95\x48\x9f\xe9\xc5\x8f\xf3\x2f\x79\x92\x7a\xb2\x45\xe4\x1b\x86\xe3\xf7\x6b\xf6\x36\xae\x47\x86\xdb\x77\x47\xef\x22\xdd\xc4\xa1\x27\x7a\xb8\x36\x3b\xe9\xe2\x57\x0c\xfc\xbe\x9e\x8e\x46\xb3\x8b\x68\x3b\xf5\x27\x00\x00\xff\xff\x54\xc5\x91\xa8\xba\x04\x00\x00"
+var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x6a\xdb\x40\x10\x3d\x7b\xbf\x62\xe2\x43\x2a\x43\x2b\x5f\x4a\x0f\x22\x6d\x70\x4b\xdd\x53\x21\x24\x69\x7a\x28\x3d\x8c\xb5\x23\x69\x89\xbc\x2b\x66\x47\xb6\x43\xf0\xbf\x17\x69\xd7\x46\xaa\x31\x86\xd2\x93\xc4\xec\x9b\x37\xf3\xde\xcc\x98\x75\xe3\x58\x60\xd9\xda\xd2\xac\x6a\x7a\x74\xcf\x64\xa1\x60\xb7\x86\xe9\x28\x36\x55\x11\xf9\x75\x87\xeb\x66\x0c\x1c\x86\x8e\xb8\x3b\x36\x1b\x14\xba\xa7\x9c\xcc\x86\x78\xe9\x78\x8b\xac\x89\x63\xce\xb9\xe7\xa9\x52\xf3\xf9\x1c\x1e\x2b\xe3\x41\x18\xad\xc7\x5c\x8c\xb3\xe1\xbf\x20\xf6\x20\x0e\xd6\x68\x5f\x00\xb5\x66\xf2\x9e\x3c\x48\xc5\xae\x2d\x2b\x90\x8a\x0c\x43\x13\x98\x81\x23\xb5\x57\x6a\x40\x94\xc4\xb4\xc5\xda\xb5\x56\xbe\x63\x93\xc1\xeb\x22\x84\x32\xf8\xb1\x34\xbb\x0f\xef\xf7\x33\x78\x55\x0a\x00\xa0\x6f\x84\xe0\x09\xdb\x5a\x80\xc9\xbb\x96\x73\x02\xa9\x50\xa0\x72\xb5\xee\x2a\x13\x48\x27\xdb\x87\x28\x32\xc1\x8a\x8c\x2d\x8f\xfd\x32\xe9\x9e\xaa\x26\x81\x4d\xc7\x73\x4f\x45\x06\xd8\x4a\x95\x8c\xfc\x4d\x7f\x1a\xa9\x34\xe3\x16\x57\x35\xcd\xe0\x7a\xe8\x69\xda\x37\xa0\x8e\x3c\x51\x61\xf4\xcc\xd8\xf2\x81\xac\x26\xce\xe0\xfa\x9c\xab\x69\x40\x04\x8a\x86\xa9\x41\xa6\xc4\x9b\xd2\x76\x59\x7d\x33\x9f\x1d\xb3\xdb\x3e\x61\xdd\x76\xd5\x17\x79\xde\xd9\x73\x34\x22\x9a\xf1\x8d\x04\x10\x98\x0a\x62\xb2\x9d\x13\xae\x77\x20\x10\xbd\xf1\xe0\xc5\x31\xe9\xa0\xf3\x98\xe7\xa9\x2e\xd2\x83\x74\xf8\x18\xd1\x69\x87\xc5\x92\xd2\x55\x5f\xf8\xe6\x5f\x1c\xf9\x94\x74\xbb\x94\xc1\xe9\xcb\x43\x20\xbf\x43\xa9\x66\x6a\x32\x99\xdc\xde\x42\x83\xd6\xe4\xc9\xf4\x8b\x6b\x6b\x0d\xd6\x09\x84\xc2\xa7\x6a\xdc\x36\x88\xe9\x89\xae\xa6\x33\x35\x56\x72\xc6\xfc\xb3\xc2\x2e\xcd\xe4\x20\xe2\x02\xec\xff\x2b\xda\x87\x0f\xed\x28\x6f\x85\x86\x93\x2e\x1c\x1f\xae\x0b\x8c\x85\xbf\x2f\x26\x7d\xa6\x17\x3f\xc4\x5f\xf2\x26\xf5\x64\x75\xd4\xd7\x0f\xc9\x1f\xae\xf0\x6d\xbc\x9e\x0c\x6e\xde\x8d\xf6\x24\xdd\xc6\xe1\x27\xd8\x97\xcd\x4e\xba\xf8\x15\x03\xbf\xaf\x66\x83\x11\xed\xa3\xb4\xbd\xfa\x13\x00\x00\xff\xff\xc4\xa9\xac\xca\xd9\x04\x00\x00"
 
 func privateforwarderTransfer_private_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -307,7 +303,7 @@ func privateforwarderTransfer_private_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/transfer_private_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x2, 0x1, 0x88, 0x2d, 0xc9, 0x4b, 0x75, 0xcf, 0xdf, 0x35, 0xdf, 0x90, 0x78, 0xfc, 0xba, 0xdd, 0xa, 0xa8, 0x58, 0x4f, 0x23, 0x6a, 0x71, 0xcb, 0xa3, 0x49, 0xea, 0xc2, 0x93, 0xe2, 0xb4}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1d, 0xa5, 0x2d, 0xa, 0x7c, 0xa5, 0xc4, 0x27, 0x83, 0xe8, 0x34, 0x3e, 0xcb, 0x7f, 0x2e, 0x5f, 0x21, 0x5e, 0xd8, 0x5f, 0x69, 0x16, 0x8d, 0x29, 0x61, 0x0, 0x1c, 0xeb, 0x45, 0x22, 0xd1, 0x57}}
 	return a, nil
 }
 
@@ -331,7 +327,7 @@ func safe_generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x91\xc1\x6e\xf2\x30\x10\x84\xef\x7e\x8a\x51\x0e\xff\x9f\x5c\x92\x4b\xd5\x03\x2a\x45\x14\x95\x33\xaa\x68\xef\x1b\x67\x03\x56\x1d\x3b\xb2\xd7\x2d\x15\xe2\xdd\xab\x10\x42\x21\xa7\xcd\x78\x66\xfc\xd9\xae\x2a\x6c\xf7\x26\x22\xea\x60\x7a\x41\x60\x6a\x22\x64\xcf\xa8\xc9\x92\xd3\x8c\xd6\xb0\x6d\x54\x55\xc1\xb7\x20\x07\xd2\xda\x27\x27\xff\x23\x5e\x0f\xd4\xf5\x96\xb7\xfe\x93\x1d\x5e\x46\xb7\x52\xa6\xeb\x7d\x10\xac\x93\xdb\x99\x7a\x5a\x6d\x83\xef\x90\xdd\x69\xd9\xe4\xbc\xab\x19\x8d\xb7\x52\xa6\x14\x69\xcd\x31\xe6\x64\x6d\x81\x36\x39\x74\x64\x5c\x4e\x4d\x13\x38\xc6\x19\x96\xe3\x50\xcc\xf0\xbe\x36\x87\xc7\x07\x1c\x15\x00\x58\x96\x89\x15\x73\xec\x58\x96\xe3\xcf\x14\x2c\xae\xae\x2f\x4a\x56\xde\xb8\xc5\x7c\x0a\x94\x3b\x96\x15\xf5\x54\x1b\x6b\xe4\xe7\xe9\xdf\xf1\x8e\xbc\xbc\x9c\xf5\xf4\x9c\xdf\x82\x96\x1f\x43\xcf\x26\xd5\xd6\xe8\x0d\xc9\x7e\xdc\x60\xf8\xca\xda\x87\xe0\xbf\xf3\x3f\x65\xb1\x40\x4f\xce\xe8\x3c\x5b\xf9\x64\x1b\x38\x2f\x18\x4d\xd3\x45\x22\x70\xcb\x81\x87\x49\xfc\xf9\x3d\xce\xf5\x59\xa1\xce\x25\x81\x25\x05\x77\x45\x1f\x80\x2f\xc1\xbc\x50\x27\xf5\x1b\x00\x00\xff\xff\xe3\x1d\xb9\xf4\xd5\x01\x00\x00"
+var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x91\x31\x4f\xc3\x30\x10\x85\x77\xff\x8a\xa7\x0c\x90\x2c\xc9\x82\x18\x2a\x44\x55\x10\x9d\x3b\x14\xf6\x8b\x73\x69\x4f\x38\x76\x64\x9f\x45\xa5\xaa\xff\x1d\xd1\x90\xaa\xf1\x74\x7a\xfe\x7c\xef\xe9\xb9\x69\xb0\x3f\x4a\x42\xb2\x51\x46\x45\x64\xea\x12\xf4\xc8\x68\xc9\x91\xb7\x8c\x5e\xd8\x75\xa6\x69\x10\x7a\x90\x07\x59\x1b\xb2\xd7\xc7\x84\x8f\x13\x0d\xa3\xe3\x7d\xf8\x66\x8f\xb7\x89\x36\x46\x86\x31\x44\xc5\x36\xfb\x83\xb4\xf3\x6d\x1f\xc3\x80\x62\xa1\x15\x33\xb9\x58\x33\x81\xf7\x52\x61\x0c\x59\xcb\x29\x95\xe4\x5c\x85\x3e\x7b\x0c\x24\xbe\xa4\xae\x8b\x9c\xd2\x0a\x9b\x69\xa8\x56\xf8\xdc\xca\xe9\xf9\x09\x67\x03\x00\x91\x35\x47\x8f\x03\xeb\x66\x4a\x3c\xbf\xa8\x6a\x4b\x23\xb5\xe2\x44\x85\x53\xdd\x86\x18\xc3\xcf\xcb\xc3\x79\x91\xae\xfe\xa2\xec\xf4\xf2\x5a\x5e\x77\xcd\xe7\x3e\xd7\x44\xec\x72\xeb\xc4\xee\x48\x8f\x37\xb0\x5a\xd7\x07\xd6\xff\x3e\xca\xea\xa6\xaf\xd7\x18\xc9\x8b\x2d\x8b\xf7\x90\x5d\x07\x1f\x14\x93\xf9\x5c\x1e\x22\xf7\x1c\xf9\x6f\xd2\x70\xfd\x83\xab\x47\x51\x99\x8b\xf9\x0d\x00\x00\xff\xff\xbf\x5b\xb9\x6a\xa7\x01\x00\x00"
 
 func scriptsGet_balanceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -347,7 +343,7 @@ func scriptsGet_balanceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_balance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0x21, 0xc8, 0x28, 0xfd, 0x65, 0xa1, 0x59, 0xda, 0x9d, 0xb0, 0xd1, 0x76, 0x3d, 0x80, 0xce, 0xaf, 0x56, 0x60, 0x75, 0xf7, 0x46, 0x7b, 0x8a, 0x53, 0xf5, 0x31, 0x86, 0xf, 0x8c, 0xb6, 0x15}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x3d, 0x8f, 0x6d, 0xc4, 0x72, 0x2e, 0x58, 0x1d, 0x1a, 0x12, 0x9, 0x55, 0xf, 0x38, 0x14, 0x1, 0xcf, 0x52, 0x4a, 0xdb, 0x36, 0x3f, 0x5f, 0xbf, 0x72, 0x9c, 0xbc, 0xf1, 0x41, 0x77, 0x17}}
 	return a, nil
 }
 
@@ -391,7 +387,7 @@ func scriptsGet_supported_vault_typesCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x50\x41\x6e\xc2\x30\x10\xbc\xfb\x15\xab\x1c\x2a\xe7\x92\x07\xa0\x52\x84\x50\xb9\x55\x42\x08\x71\xdf\x38\x9b\x60\xd5\xb1\x23\x7b\x0d\xad\x10\x7f\xaf\x42\x1c\xf0\xa5\xe4\x92\xdd\xf5\xcc\x68\x66\x74\x3f\x38\xcf\xf0\xf9\x83\xfd\x60\xe8\xe0\xbe\xc9\x42\xeb\x5d\x0f\x45\x7e\x2a\x44\xc2\x6d\xa3\xed\x74\x9d\xae\x5f\xc4\xd8\x20\xe3\x51\xd3\x25\x24\xd6\xff\x80\x87\xc6\xb8\xed\x29\x38\x73\x26\x9f\x58\xf9\xa9\x10\x02\x95\xa2\x10\x24\x1a\x53\x42\x1b\x2d\xf4\xa8\xad\xc4\xa6\xf1\x14\xc2\x02\xd6\xd3\x50\x2e\x5e\xb8\xa9\xb6\x87\xf1\x0f\x57\x01\x00\x60\x88\x01\x95\x72\xd1\x32\x2c\xa1\x23\x5e\x4f\xcb\xac\x59\x8a\x07\xec\x8c\xd1\xf0\x9e\x5a\x58\xce\x8c\xfb\xd3\xf8\x55\x1d\xf1\x06\x07\xac\xb5\xd1\xfc\x2b\xf3\x7e\xaa\xe3\x48\xdb\xc5\xda\x68\xb5\x43\x3e\x95\x4f\x52\xed\xbc\x77\x97\xf7\xb7\x6b\x9e\xb1\x9a\x87\xdb\x87\x7c\x62\x57\x2b\x18\xd0\x6a\x25\x8b\x8d\x8b\xa6\x01\xeb\x18\x26\x3a\x20\x78\x6a\xc9\x93\x55\x04\xec\x80\x4f\x34\x39\x05\x3f\xb7\x96\x65\x68\xf9\x9e\x7d\xf9\xaa\x9f\x8e\x78\xaa\x48\x9e\x33\x5f\x8b\x47\xfe\x24\xe7\x89\xa3\xb7\x49\x51\xdc\xc4\x5f\x00\x00\x00\xff\xff\xc1\x67\x30\x82\x2f\x02\x00\x00"
+var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x90\xc1\x8a\x83\x30\x10\x86\xef\x79\x8a\xc1\xc3\xa2\x17\x1f\x40\xd6\x2d\x65\xd9\xde\x16\x4a\x29\xbd\x8f\x71\xb4\x61\x63\x22\xc9\xc4\x2e\x94\xbe\xfb\x62\x8d\x92\xcb\xd6\x8b\x33\xc3\xfc\x5f\xfe\xf9\xd5\x30\x5a\xc7\xf0\xf5\x8b\xc3\xa8\xe9\x6c\x7f\xc8\x40\xe7\xec\x00\x59\x3a\xca\x44\xdc\x3b\x04\xd3\xab\x26\x4e\xbf\x89\xb1\x45\xc6\x8b\xa2\x9b\x8f\xaa\xff\x17\x36\xc6\xdc\x9d\xc8\x5b\x3d\x91\x8b\xaa\x74\x94\x09\x81\x52\x92\xf7\x39\x6a\x5d\x40\x17\x0c\x0c\xa8\x4c\x8e\x6d\xeb\xc8\xfb\x0a\xf6\x4b\x51\x54\x2f\xdc\x94\x87\xf3\xfc\x87\xbb\x00\x00\xd0\xc4\x80\x52\xda\x60\x18\x6a\xe8\x89\xf7\x4b\xb3\x32\x0b\xb1\xad\x4d\x18\x34\x9f\xa8\x83\x7a\x55\x94\x12\x47\x6c\x94\x56\xac\xc8\x97\x8d\x75\xce\xde\xde\xdf\xee\xa9\xe5\x72\x2d\x1e\x1f\x79\x1a\x5b\x79\x99\x69\xc7\xd0\x68\x25\x8f\xc8\xd7\xe2\xf9\xcc\xfc\xed\x76\x30\xa2\x51\x32\xcf\x3e\x6d\xd0\x2d\x18\xcb\xb0\xa0\x01\xc1\x51\x47\x8e\x8c\x24\x60\x0b\x7c\xa5\xc5\x14\xb8\x35\xa0\xc4\x6e\xc7\xcf\x33\xeb\x57\x51\xf4\xc4\x4b\x1a\xf9\x94\x78\xae\xb6\x53\x23\xce\x11\x07\x67\x22\x51\x3c\xc4\x5f\x00\x00\x00\xff\xff\x48\x12\x3f\xca\x1a\x02\x00\x00"
 
 func scriptsMetadataGet_token_metadataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -407,11 +403,11 @@ func scriptsMetadataGet_token_metadataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_token_metadata.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xeb, 0x4, 0x5d, 0xcc, 0x81, 0x83, 0xe1, 0x57, 0x2f, 0x6f, 0xe2, 0x42, 0xc2, 0x4c, 0x62, 0xcc, 0x6c, 0x6c, 0xb2, 0x2e, 0x80, 0x86, 0xde, 0x6b, 0xdc, 0x5c, 0xf7, 0xa5, 0x9c, 0x74, 0xfe, 0x25}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd, 0xc, 0x14, 0x2b, 0x3c, 0xff, 0xa6, 0x9f, 0xb6, 0xd8, 0x95, 0xa7, 0x74, 0xd0, 0xee, 0x21, 0xf5, 0xa5, 0x4f, 0x4b, 0x3, 0x9d, 0x14, 0xad, 0xc3, 0x7d, 0x18, 0x2, 0xbe, 0x26, 0xc5, 0x18}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x52\xcd\x6e\xf2\x30\x10\xbc\xfb\x29\x56\x39\x7c\x4a\x2e\x79\x00\xf4\x51\x84\x68\xb9\x55\x42\x08\x71\xdf\x38\x9b\x60\xd5\xb1\x23\x7b\x0d\xad\x10\xef\x5e\xe5\xc7\x60\x55\x2d\x3e\xed\xae\x67\xd6\x33\x23\xab\xae\xb7\x8e\xe1\xed\x13\xbb\x5e\xd3\xc1\x7e\x90\x81\xc6\xd9\x0e\xb2\x74\x94\x89\x19\xb7\x0d\xa6\x55\xd5\x3c\x7d\x27\xc6\x1a\x19\x8f\x8a\x2e\x7e\x66\xfd\x0d\xb8\xef\x18\xba\x3d\x79\xab\xcf\xe4\x66\x56\x3a\xca\x84\x40\x29\xc9\xfb\x1c\xb5\x2e\xa0\x09\x06\x3a\x54\x26\xc7\xba\x76\xe4\xfd\x02\xd6\x53\x51\x2c\x9e\xa8\x29\xb7\x87\x23\x06\xcd\xaf\xc8\x08\x57\x01\x00\xa0\x89\x01\xa5\xb4\xc1\x30\x2c\xa1\x25\x5e\x4f\x4d\x5c\x5c\x88\x3b\xec\x3c\x50\xf7\xd4\xc0\x32\x32\xc6\xab\xe1\x94\x2d\xf1\x06\x7b\xac\x94\x56\xfc\x95\xa7\x21\x95\xe3\x8b\xbb\x50\x69\x25\x77\xc8\xa7\xe2\x41\xaa\xac\x73\xf6\xf2\xff\xdf\x35\x35\x5a\xc6\xe2\xf6\x92\x3f\xb0\xab\x15\xf4\x68\x94\xcc\xb3\x8d\x0d\xba\x06\x63\x19\x26\x3a\x20\x38\x6a\xc8\x91\x91\x04\x6c\x81\x4f\x34\x29\x05\x17\xa3\xfb\xe9\x61\xb4\xbf\x7c\x96\x53\x4b\x9c\x44\x95\x47\xe7\xbf\xe9\x99\x3e\x47\x6d\xc9\x8f\xa2\xd4\x60\xbc\x23\xc3\x90\x66\x7d\x56\x74\x89\x32\x1c\x71\x70\xe6\xa1\x44\xdc\xc4\x77\x00\x00\x00\xff\xff\xdc\x42\xe6\x38\x6f\x02\x00\x00"
+var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xcf\x6a\xc3\x30\x0c\xc6\xef\x7e\x0a\x91\xc3\x48\x2e\x79\x80\xb2\xae\x94\x6d\xbd\x0d\x4a\x29\xbd\x2b\x8e\xd2\x9a\x39\x76\xb0\xe5\x64\x50\xfa\xee\x23\x7f\xdc\x99\xb1\x35\x27\x49\xe8\x53\x7e\xdf\x87\x55\xdb\x59\xc7\xf0\xfe\x85\x6d\xa7\xe9\x68\x3f\xc9\x40\xe3\x6c\x0b\x59\x3a\xca\xc4\xb2\xb7\x0b\xe6\xac\xaa\x65\xfa\x41\x8c\x35\x32\x9e\x14\x0d\x7e\x51\xfd\xbf\x70\xbf\x31\x76\x07\xf2\x56\xf7\xe4\x16\x55\x3a\xca\x84\x40\x29\xc9\xfb\x1c\xb5\x2e\xa0\x09\x06\x5a\x54\x26\xc7\xba\x76\xe4\xfd\x0a\xb6\x73\x51\xac\x1e\xd0\x94\xbb\xe3\x09\x83\xe6\x37\x64\x84\xab\x00\x00\xd0\xc4\x80\x52\xda\x60\x18\xd6\x70\x26\xde\xce\x4d\x3c\x5c\x88\xfb\x5a\x3f\x4a\x0f\xd4\xc0\x3a\x2a\x4a\x89\x1d\x56\x4a\x2b\x56\xe4\xcb\xca\x3a\x67\x87\xe7\xa7\x6b\xca\x5d\xc6\xe2\xf6\x92\xa7\xd9\x95\x13\xc8\x3e\x54\x5a\xc9\x3d\xf2\xa5\x98\x7e\x33\x7e\x9b\x0d\x74\x68\x94\xcc\xb3\x57\x1b\x74\x0d\xc6\x32\xcc\xa7\x01\xc1\x51\x43\x8e\x8c\x24\x60\x0b\x7c\xa1\x19\x0a\x5c\x4c\xe9\x37\xee\xe4\x74\xfd\x28\x92\x33\x71\x92\x4a\x1e\x4d\xfe\xc5\x33\xbf\x83\xda\x92\x9f\xa0\xd4\x68\xa6\x25\xc3\x90\xc6\xda\x2b\x1a\x22\x86\x23\x0e\xce\xfc\x90\x88\x9b\xf8\x0e\x00\x00\xff\xff\xdb\xdf\x30\xe8\x5a\x02\x00\x00"
 
 func scriptsMetadataGet_vault_dataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -427,11 +423,11 @@ func scriptsMetadataGet_vault_dataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_data.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0xd9, 0xb2, 0xdd, 0x3e, 0x25, 0x45, 0xeb, 0xe9, 0x35, 0xac, 0xc6, 0x68, 0xff, 0x6b, 0x27, 0x94, 0xcc, 0x4f, 0xc7, 0x1f, 0xe0, 0x32, 0x85, 0x98, 0x5d, 0xe7, 0x92, 0xd9, 0x39, 0xac, 0x5c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcc, 0x59, 0x4, 0xe2, 0x48, 0x77, 0x97, 0x7f, 0x1f, 0xf5, 0x74, 0x99, 0x6a, 0x9d, 0x95, 0x78, 0xf1, 0xa, 0x59, 0x74, 0xa8, 0xc0, 0x6d, 0x92, 0xa0, 0xac, 0x67, 0x7a, 0xfb, 0xd7, 0x1c, 0x39}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x52\xc1\x6e\xea\x30\x10\xbc\xfb\x2b\x56\x39\x3c\x39\x97\x7c\x00\x7a\x14\x21\x5a\x6e\x95\x10\x42\xdc\x37\xce\x26\x58\x75\xec\xc8\x5e\x43\x11\xe2\xdf\xab\x90\x98\xe4\xd0\x92\xd3\xee\x64\x66\x35\x33\xb2\x6e\x3b\xe7\x19\x3e\xbe\xb1\xed\x0c\x1d\xdc\x17\x59\xa8\xbd\x6b\x21\x9b\x43\x99\x18\x79\xdb\x68\x1b\x5d\x8e\xe8\x27\x31\x56\xc8\x78\xd4\x74\x09\xa3\xea\x6f\xc2\xf3\x46\xbf\xed\x29\x38\x73\x26\x3f\xaa\xe6\x50\x26\x04\x2a\x45\x21\x48\x34\x26\x87\x3a\x5a\x68\x51\x5b\x89\x55\xe5\x29\x84\x05\xac\x87\x21\x5f\xbc\x70\x53\x6c\x0f\xef\x3a\x74\x06\xaf\x70\x13\x00\x00\x86\x18\x50\x29\x17\x2d\xc3\x12\x1a\xe2\xf5\xb0\xa4\xb3\xb9\x78\xd2\xce\x18\x0d\xef\xa9\x86\x65\x52\x3c\x7e\xf5\x5f\xd1\x10\x6f\xb0\xc3\x52\x1b\xcd\x57\x39\xaf\xa8\x38\xf6\xb2\x5d\x2c\x8d\x56\x3b\xe4\x53\x3e\x89\x4a\xe7\xbd\xbb\xfc\xff\x77\x9b\xc7\x2c\xd2\x70\x7f\x93\x13\x77\xb5\x82\x0e\xad\x56\x32\xdb\xb8\x68\x2a\xb0\x8e\x61\x90\x03\x82\xa7\x9a\x3c\x59\x45\xc0\x0e\xf8\x44\x83\x53\xf0\xa9\xb8\x59\x86\x9a\x53\xfc\xe5\xab\x96\x1a\xe2\x67\x51\x32\xe5\xfe\xcd\xcd\xf0\x30\x2a\x47\xe1\x61\x49\xf7\xb1\x5b\xb2\x0c\x53\xcf\x67\x4d\x97\x64\xc1\x13\x47\x6f\x27\x17\xe2\x2e\x7e\x02\x00\x00\xff\xff\x19\x3b\x78\xae\x69\x02\x00\x00"
+var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xc1\x6e\xfa\x30\x0c\xc6\xef\x79\x0a\xab\x87\xbf\xda\x4b\x1f\x00\xfd\x19\x42\xdb\xb8\x4d\x42\x08\x71\x77\x53\x17\xac\xa5\x49\x95\x38\xb0\x09\xf1\xee\x53\x69\x53\x7a\xd8\xe8\xc9\xb6\xec\xaf\xbf\xef\x53\xb8\xed\x9c\x17\x78\xff\xc2\xb6\x33\xb4\x77\x9f\x64\xa1\xf1\xae\x85\x6c\x3e\xca\xd4\xb8\xb7\x89\xf6\xc8\xd5\x38\xfd\x20\xc1\x1a\x05\x0f\x4c\x97\x30\x5e\xfd\xbd\x30\x69\xf4\xdd\x8e\x82\x33\x67\xf2\xe3\xd5\x7c\x94\x29\x85\x5a\x53\x08\x39\x1a\x53\x40\x13\x2d\xb4\xc8\x36\xc7\xba\xf6\x14\xc2\x02\xd6\x43\x51\x2c\x9e\xd0\x94\x9b\xfd\x1b\x87\xce\xe0\x37\x5c\x15\x00\x80\x21\x01\xd4\xda\x45\x2b\xb0\x84\x23\xc9\x7a\x68\x92\x6c\xa1\xa6\xb5\x33\x46\x23\x3b\x6a\x60\x99\x2e\x4a\x8d\x1d\x56\x6c\x58\x98\x42\x59\x39\xef\xdd\xe5\xff\xbf\xeb\x9c\xba\x4c\xc5\xed\x25\x9f\x27\x57\x1e\x7a\xb5\x6d\xac\x0c\xeb\x2d\xca\xa9\xb8\xff\xa6\xff\x56\x2b\xe8\xd0\xb2\xce\xb3\x57\x17\x4d\x0d\xd6\x09\x0c\xd2\x80\xe0\xa9\x21\x4f\x56\x13\x88\x03\x39\xd1\x00\x05\x3e\x65\x34\xc3\x6d\x24\x39\x5d\x3e\x0b\xe4\x48\x32\x65\x92\x27\x8b\xbf\xd1\x0c\x6f\xa0\x76\x14\xee\x48\xdc\x5b\x69\xc9\x0a\x3c\x22\x3d\x33\x5d\x12\x82\x27\x89\xde\x3e\x28\xd4\x4d\xfd\x04\x00\x00\xff\xff\x91\x4f\x45\x33\x54\x02\x00\x00"
 
 func scriptsMetadataGet_vault_displayCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -447,11 +443,11 @@ func scriptsMetadataGet_vault_displayCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_display.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb7, 0xcd, 0xf3, 0xa8, 0x80, 0x29, 0x7f, 0x6c, 0x85, 0x8f, 0xa7, 0x7f, 0x6, 0x5a, 0x2a, 0xba, 0xcb, 0xc6, 0x1d, 0xb2, 0xb7, 0x22, 0x9b, 0x6b, 0x27, 0x67, 0xce, 0x88, 0x3e, 0x1, 0xf9, 0x34}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0xde, 0xb0, 0x70, 0x3a, 0xe7, 0x87, 0xcc, 0x2a, 0x19, 0xce, 0x4a, 0xed, 0x42, 0xc7, 0xe7, 0x9, 0x44, 0x63, 0xce, 0x63, 0xab, 0x3e, 0x9d, 0x4, 0x41, 0x19, 0x89, 0xf, 0x91, 0xdc, 0x86}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x52\x3d\x6f\xdb\x30\x10\xdd\xf9\x2b\x2e\x1a\x5a\x69\x91\x97\xa2\x43\x10\x25\x08\x82\xa6\x53\x01\xc3\x75\xbd\x9f\xa8\x93\x4d\x94\x22\x05\xf2\x68\x5b\x30\xfc\xdf\x0b\x89\xfa\x5a\x5c\x4d\xc7\xc7\xf7\x1e\xef\xde\x49\x35\xad\x75\x0c\x3f\xae\xd8\xb4\x9a\xf6\xf6\x2f\x19\xa8\x9d\x6d\x20\x59\x43\x89\x18\x79\x9f\xc1\x1c\x55\x39\xa2\xbf\x88\xb1\x42\xc6\x83\xa2\x8b\x1f\x55\x8f\x09\xb3\x47\x7f\xda\x91\xb7\xfa\x4c\x6e\x54\xad\xa1\x44\x88\xcd\x66\x03\x3f\x89\x3d\xf0\x89\x80\x2d\xa3\x06\x1f\xda\x56\x77\x60\xeb\x01\x3b\x63\xd0\xfc\xd5\x03\x0f\xfd\x56\xca\x91\x64\xdd\x45\xb3\xf9\x5e\x08\x94\x92\xbc\x4f\x51\xeb\x0c\xea\x60\xa0\x41\x65\x52\xac\x2a\x47\xde\x3f\xc3\x7b\x2c\xb2\x67\xf8\xf3\xa9\xae\xdf\xbf\xc1\x4d\x00\x00\x68\x62\x40\x29\x6d\x30\x0c\x05\x1c\x89\xdf\xe3\x61\x12\x66\x62\xa6\x0d\xcf\xec\xa8\x86\x62\x52\x0c\x57\xfd\x97\x1f\x89\x3f\xb0\xc5\x52\x69\xc5\x5d\xba\x0e\x33\x3f\xf4\xb2\x6d\x28\xb5\x92\x5b\xe4\x53\xb6\x88\x4a\xeb\x9c\xbd\xbc\x7c\xb9\xad\x03\xc9\xa7\xe2\xfe\x9a\x2e\xdc\xb7\x37\x68\xd1\x28\x99\x26\x1f\x36\xe8\x0a\x8c\x65\x88\x72\x40\x70\x54\x93\x23\x23\xfb\xf4\x96\x40\xc0\x4d\x11\xaf\x66\xa8\xf9\x77\x8c\xb6\x98\xc7\xc9\x47\x5e\xdf\x44\xba\xef\x5a\x7a\x79\xbc\xd5\x7c\xdf\xaf\x27\x5a\xbc\xa6\x59\xf6\xb4\x38\xc7\x95\xf5\x2c\x28\x96\x67\xd0\x3f\xfd\xe7\x2f\x5a\xdb\x45\x27\x47\x1c\x9c\x59\x99\xe5\xb1\x14\x77\xf1\x2f\x00\x00\xff\xff\xaf\x06\xd2\x34\xbc\x02\x00\x00"
+var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xbf\x8e\xdb\x30\x0c\xc6\x77\x3d\x05\xcf\x43\x6b\x2f\xce\x52\x74\x38\x9c\x13\x04\x45\xd3\xa9\x40\x90\xa6\xd9\x69\x99\x4e\x84\xca\x92\x21\x51\xf9\x83\x20\xef\x5e\xd8\xb2\x1d\x2f\x39\x4f\x14\xfd\xf1\x47\xea\xa3\x54\xd3\x5a\xc7\xf0\xf3\x8a\x4d\xab\x69\x6f\xff\x91\x81\xda\xd9\x06\x92\x79\x2a\x11\x83\x6e\x13\xcc\x51\x95\x43\xf6\x37\x31\x56\xc8\x78\x50\x74\xf1\x43\xd5\x6b\xc1\xc4\xe8\x4e\x3b\xf2\x56\x9f\xc9\x0d\x55\xf3\x54\x22\xc4\x62\xb1\x80\x5f\xc4\x1e\xf8\x44\xc0\x96\x51\x83\x0f\x6d\xab\x6f\x60\xeb\x3e\x77\xc6\xa0\xf9\xab\x07\xee\xe7\xad\x94\x23\xc9\xfa\x16\x61\xd3\x7f\x21\x50\x4a\xf2\x3e\x45\xad\x33\xa8\x83\x81\x06\x95\x49\xb1\xaa\x1c\x79\xff\x0e\xeb\x18\x64\xef\xf0\x77\xa3\xae\xdf\xbf\xc1\x5d\x00\x00\x68\x62\x40\x29\x6d\x30\x0c\x05\x1c\x89\xd7\xf1\x30\x16\x66\x62\x92\xf5\x6d\x76\x54\x43\x31\x56\xe4\x12\x5b\x2c\x95\x56\xac\xc8\xe7\xa5\x75\xce\x5e\x3e\xbe\xdc\xe7\xf7\xcb\xc7\xe0\xb1\x4c\xe7\x1e\xe7\x87\x8e\xb6\x0d\xa5\x56\x72\x8b\x7c\xca\xfa\x36\xdd\xb7\x5a\x41\x8b\x46\xc9\x34\xf9\x61\x83\xae\xc0\x58\x86\x88\x06\x04\x47\x35\x39\x32\xb2\x33\xea\x79\x77\x70\xa3\x9b\xb3\x71\x6b\xfe\x13\x5d\x2c\xa6\xc9\xf3\x41\xd7\x0d\x98\xee\x6f\x2d\x7d\xbc\x5e\x60\xbe\xef\x36\x11\x11\xcb\x34\xcb\xde\x9e\xe4\xb8\x9d\x4e\x05\xc5\xb3\x0d\xfa\xb7\x4f\x1e\xcc\x1c\x17\x49\x8e\x38\x38\x33\x83\xe5\x31\x14\x0f\xf1\x3f\x00\x00\xff\xff\x54\x98\x60\xd6\xa7\x02\x00\x00"
 
 func scriptsMetadataGet_vault_supply_viewCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -467,7 +463,7 @@ func scriptsMetadataGet_vault_supply_viewCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_supply_view.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0x38, 0xe6, 0xf9, 0x6b, 0xf9, 0xc3, 0xd, 0x5a, 0x63, 0xe2, 0xd0, 0x7, 0x2, 0xb, 0x5, 0x85, 0x2e, 0xfa, 0x1c, 0x69, 0x18, 0xff, 0xd5, 0xd2, 0x13, 0x3d, 0x84, 0x4e, 0xb8, 0x88, 0x54}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe8, 0x4c, 0x76, 0x40, 0x21, 0x6a, 0x87, 0x6e, 0xef, 0x77, 0x92, 0xca, 0x2f, 0x6a, 0xfa, 0xbd, 0xcc, 0xf0, 0x27, 0x53, 0x71, 0xfd, 0xf7, 0x92, 0x64, 0x4, 0xa3, 0x49, 0x0, 0xf2, 0x5a, 0xb0}}
 	return a, nil
 }
 
@@ -531,7 +527,7 @@ func scriptsSwitchboardGet_vault_types_and_addressCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xdb\x8e\xdb\x46\x0c\x7d\xd7\x57\x10\x2a\x60\xc8\x68\x22\x6f\x2e\xbb\x4d\x8c\xba\x41\x9a\xc6\xe8\x43\x02\x2c\x16\x6a\xfa\x10\x04\x0b\x6a\x44\xcb\x83\x1d\xcd\x08\x33\x94\x2f\x58\xec\xbf\x17\xa3\x9b\x65\x59\x5d\x84\x4f\xd2\xf0\xf0\x90\x3c\x33\xa4\x2c\x4a\x63\x19\xd6\x95\xce\x65\xaa\x28\x31\x0f\xa4\xbf\x12\x63\x86\x8c\xdf\x24\xed\x1d\x6c\xac\x29\x20\xfc\x7f\x40\x18\xb4\x1c\x53\x61\xd3\xc8\xcf\x07\x2c\xca\x96\xab\x05\x0e\x8f\xc2\x20\x58\x2c\x16\x90\x90\x63\xd8\x92\x2a\xc9\x82\x13\x56\x96\x0c\x6c\x60\x87\x4a\x66\xc8\x74\x4e\xe2\xc8\xee\xc8\xc1\x3a\xf9\x4b\xba\x52\xe1\x11\xd0\x01\x1d\x4a\x12\x4c\x99\x27\x0b\x50\x08\x72\x2e\x42\xa5\xe6\xb0\xa9\x34\x14\x28\x75\x84\x59\x66\xc9\xb9\x25\x7c\x6c\x3e\xe6\x4b\xf8\xd3\x18\x05\x8f\x01\x00\x80\x22\x06\x14\xc2\x54\x9a\x61\x05\x39\xf1\xc7\xe6\xa7\x0b\x9b\x07\x3d\xac\x4b\x05\xab\x67\x94\x8c\xfb\xea\xa2\x3a\xb0\x33\x8d\x05\x2d\x7b\x05\x7a\x02\x68\xb4\x78\x71\x86\x75\xc7\x22\x35\xca\xa3\xd7\xc9\xc8\x95\x51\x23\x92\x34\x7a\x09\x61\xb2\x95\xce\x37\xda\x50\x71\x2d\x92\x74\x50\x39\xca\xbc\x36\xa8\x81\xda\x7c\x6c\x6a\x91\xe1\x68\x2a\xc8\x68\x47\xca\xd4\xdf\x16\x34\x1d\x18\xd6\x09\xfc\x62\xf4\x5a\x99\x7d\x3c\xca\x47\x07\x26\xab\x51\xfd\x73\xf7\x65\x79\x7e\xf7\xf1\xe7\x93\x2b\x0a\xb7\xcc\xa5\x5b\x2e\x16\x6d\xbe\x97\x1b\x8e\x8d\xde\x78\x42\x63\xf3\x70\x7e\x4e\xaa\x4c\x6e\xdc\x98\xee\x2b\x65\x12\x5d\xf4\xfd\x0c\xe9\x6d\x02\x16\x5d\x80\xbc\x6d\xa4\xa2\x31\xeb\xdf\x49\x72\xbb\x96\x8a\xa6\x23\xbc\x55\xd6\x2b\xdd\xd5\x8f\xce\x11\xbb\x78\x4f\xa9\x93\x4c\x2f\x3d\xa5\x8b\x85\x29\x16\xd7\x9b\x9b\xd7\xef\xdf\x8a\x2b\xf1\x1b\xbe\x13\x59\x76\xf3\xf6\x4d\xfa\x4a\xbc\x7b\x7d\x35\x72\xe0\xf5\xb5\x48\x5f\x89\xf7\x6f\x6e\xee\xbd\x9c\xf7\xff\x1a\x9b\x15\x68\x1f\x62\xb7\xcb\xc3\xc9\x1a\x46\xda\x74\x56\xf8\x3e\x93\x63\xe9\x1f\x8d\x2c\x30\xa7\x85\xdb\xe5\xbf\x1e\x0a\x75\xc9\x32\xff\x11\x3c\x43\xe8\x8c\x90\xa8\xdc\xb2\x7d\xef\x43\x0b\x79\x2f\x99\xc9\x86\x3f\x75\xb5\x2d\xb8\x56\xc3\xdf\xec\x7d\xaa\x8c\x78\x10\x5b\x94\x3a\x9c\x9f\x71\x3f\xf5\x7f\x83\xe9\xd9\x61\xa5\xf8\x8e\x36\xb0\xea\xe6\xad\x47\xc5\x39\xf1\x27\x2c\x31\x95\x4a\xf2\x31\x1a\xce\x7c\xfc\xcd\x87\xdd\x56\xa9\x92\xe2\x16\x79\x7b\x4a\x14\xa7\xc6\x5a\xb3\xff\x7d\xf6\x78\x5e\xfb\x1d\x39\xa3\x76\x64\x9f\xfe\x88\x4e\xe0\x0f\x1f\xa0\x44\x2d\x45\x14\x7e\x32\x95\xca\x40\x1b\x86\x26\x1e\x10\x2c\x6d\xc8\x92\x16\xf5\x94\xf0\x96\x9a\x52\xc1\xb6\x44\xe1\xa0\x09\x14\x5c\xa1\x7a\x7e\x01\xe4\xc4\xa7\x1d\xd0\x75\x3d\x55\x4a\xb3\xd4\x32\x43\xae\xae\x47\xfa\xa6\x0b\xd2\x3c\x58\x70\x3b\x49\xfb\x2e\xbf\x7f\x9a\x96\xa3\xa6\x84\xb8\x9e\xa1\x58\x32\x15\x2e\x56\xa4\x73\xde\xc2\x6a\xd5\xaf\xa8\x09\xf7\x0b\x28\xc8\x39\xcc\xfd\x83\x6a\x66\x0d\xda\xb8\x42\xba\x02\x59\x6c\xc3\x89\x5d\xf7\xc5\xe4\xa6\x46\xc3\x34\xf9\xf7\xab\x1f\x23\x71\x86\x11\x97\xb5\x76\x78\x4b\x5c\x59\x7d\xa2\xf4\xeb\xd1\x37\xd0\x46\xd4\xbf\xb3\xd9\xc9\xdf\xac\xc4\x01\xa2\x3d\x98\xcd\x7a\x61\x7b\xec\x60\x47\x0e\x02\x86\xa7\x43\xe6\xc1\x86\x8b\x2b\x3b\x4c\x31\xf6\xcc\x66\x70\x91\xac\xef\x36\xf6\xab\x22\xae\xac\x8c\xe6\x27\x8a\x49\xef\x20\xf9\xc9\xdf\x8f\xfb\x54\x70\xef\x0c\x9e\x82\xe0\xbf\x00\x00\x00\xff\xff\xa9\x0d\x0e\x03\xcc\x07\x00\x00"
+var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x8f\xdb\x36\x10\xbd\xeb\x57\x0c\x54\xc0\x90\xd1\x44\xde\x7c\xec\x36\x31\xea\x06\x69\x1b\xa3\x87\x04\x58\x2c\xd4\xf4\x10\x04\x0b\x8a\x1a\xcb\xc4\x52\xa4\xc0\x19\xd9\x5e\x04\xfb\xdf\x0b\xea\xcb\xb4\xad\x2e\xca\x93\xc8\x79\xf3\x66\xf8\xc4\x79\xaa\xaa\xad\x63\x58\x37\xa6\x54\xb9\xc6\xcc\x3e\xa0\xf9\x82\x2c\x0a\xc1\xe2\xab\xc2\x3d\xc1\xc6\xd9\x0a\xe2\xff\x06\xc4\x51\xcf\x31\x95\x36\x8d\xf4\xbb\x3b\x24\xab\x77\xe8\x7a\x60\x78\x34\xe2\x3e\x1d\x44\x55\xf7\x35\x7b\x5c\x78\x14\x47\xd1\x62\xb1\x80\x0c\x89\x61\x8b\xba\x46\x07\x24\x9d\xaa\x19\xd8\xc2\x4e\x68\x55\x08\xc6\x53\x12\x42\xb7\x43\x82\x75\xf6\xa7\xa2\x5a\x8b\x47\x10\x04\x78\xa8\x51\x32\x16\x9e\x2c\x12\x52\x22\x51\x22\xb4\x9e\xc3\xa6\x31\x50\x09\x65\x12\x51\x14\x0e\x89\x96\xf0\xb1\xfb\x98\x2f\xe1\x77\x6b\x35\xfc\x88\x00\x00\x34\x32\x08\x29\x6d\x63\x18\x56\x50\x22\x7f\xec\x36\x43\xda\x3c\x1a\x61\x43\x29\x58\x3d\xa3\x78\x3a\x76\x97\xb4\x89\xc3\x32\xa2\xc2\xe5\xa8\xc0\x48\x00\x9d\x16\x2f\x4e\xb0\xf4\x58\xe5\x56\x7b\xf4\x3a\x3b\x0b\x15\xd8\x89\xa4\xac\x59\x42\x9c\x6d\x15\xf9\x8b\x76\x54\xdc\x8a\xa4\x08\x1a\xc2\xc2\x6b\x23\x0c\x60\x5f\x8f\x6d\x2b\x32\x3c\xda\x06\x0a\xdc\xa1\xb6\xed\xb7\x03\x83\x07\x86\x75\x06\x3f\x59\xb3\xd6\x76\x9f\x9e\xd5\xc3\x03\xa3\x33\x42\xff\x7d\xf7\x79\x79\xfa\x46\xd2\x4f\xc7\x50\x12\x6f\x99\x6b\x5a\x2e\x16\x7d\xbd\x97\x1b\x4e\xad\xd9\x78\x42\xeb\xca\x78\x7e\x4a\xaa\x6d\x69\xe9\x9c\xee\x0b\x16\x4a\x50\xf2\xed\x04\xe9\xd7\x04\x2c\xb9\x00\xf9\xb5\x51\x1a\xcf\x59\xff\xca\xb2\xdb\xb5\xd2\x38\x9d\xe1\x57\xe3\xbc\xd2\x43\xff\x82\x08\x99\xd2\x3d\xe6\xa4\x18\x5f\x7a\x4a\x4a\xa5\xad\x16\xd7\x9b\x9b\xd7\xef\xdf\xca\x2b\xf9\x8b\x78\x27\x8b\xe2\xe6\xed\x9b\xfc\x95\x7c\xf7\xfa\xea\x2c\x20\xae\xaf\x65\xfe\x4a\xbe\x7f\x73\x73\xef\xe5\xbc\xff\xc7\xba\xa2\x12\xee\x21\xa5\x5d\x19\x4f\xf6\x70\xa6\xcd\xb0\x2a\x7f\xcf\xec\xb1\xf6\x8f\x46\x55\xa2\xc4\x05\xed\xca\x9f\x0f\x95\xbe\x64\x99\x7f\x8f\x9e\x21\x24\x2b\x95\xd0\xb4\xec\xdf\x7b\xb8\x62\xde\x2b\x66\x74\xf1\xff\xfa\xb5\x3d\xb8\x55\xc3\xff\xd9\xfb\x5c\x5b\xf9\x20\xb7\x42\x99\x78\x7e\xc2\xfd\x34\xee\x82\xe9\xd9\x89\x46\xf3\x1d\x6e\x60\x35\xcc\x5b\x2a\x45\x2d\x72\xa5\x15\x2b\xa4\x34\xb7\xce\xd9\xfd\xaf\xb3\x1f\xa1\x99\xa4\xc3\xc7\xd3\x6f\x49\x68\x05\xe9\x57\xcf\x76\xdb\xe4\x5a\xc9\x5b\xc1\xdb\x63\xfd\x0f\x1f\xa0\x16\x46\xc9\x24\xfe\xc3\x36\xba\x00\x63\x19\x3a\x6a\x10\xe0\x70\x83\x0e\x8d\x6c\xe7\x81\xb7\xd8\x35\x05\x6e\xb0\xae\xa0\x5d\x21\xb9\x11\xfa\xf9\x51\x2f\x91\x8f\xd3\x3e\xdc\x6f\xaa\x95\xce\xbe\x0a\x8b\xd4\xf6\xa3\xfc\x3d\x2a\x34\x1c\x58\xd9\x4e\xe1\x7e\xa8\xef\x1f\xa1\xe3\xa4\x6b\x21\x6d\xa7\x25\x55\x8c\x15\xa5\x1a\x4d\xc9\x5b\x58\xad\x46\x33\x9a\x08\xbf\x80\x0a\x89\x44\xe9\x9f\x4e\x37\x55\xd0\xe7\x55\x8a\x2a\xc1\x72\x1b\x4f\xb8\xda\x67\x5b\xda\x16\x0d\xd3\xe4\xdf\xae\xbe\x9f\x89\x13\x66\x5c\xf6\x3a\xe0\x1d\x72\xe3\xcc\x91\xd2\x1b\xa1\xbf\x40\x9f\xd1\x6e\x67\xb3\x63\xbc\x33\xbf\x00\xd1\x1f\xcc\x66\xa3\xb0\x23\x36\x70\xc3\x20\x21\x3c\x0d\x99\x03\x2f\x4b\x1b\x17\x96\x38\x8f\xcc\x66\x70\x51\x6c\xbc\x6d\xea\x4d\x21\x6d\x9c\x4a\xe6\x47\x8a\xc9\x68\x50\xfc\x18\x1f\x07\x7b\x2a\x79\x0c\x46\x4f\x51\xf4\x6f\x00\x00\x00\xff\xff\x90\x1e\x92\x8c\xde\x07\x00\x00"
 
 func scriptsTestExample_token_vault_display_strict_equalCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -547,11 +543,11 @@ func scriptsTestExample_token_vault_display_strict_equalCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/test/example_token_vault_display_strict_equal.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0xba, 0xe0, 0xe4, 0x4a, 0x17, 0xea, 0x85, 0x71, 0xb4, 0x8, 0x60, 0x14, 0xba, 0x95, 0x7f, 0x16, 0xbd, 0x48, 0xf0, 0x3a, 0xca, 0x29, 0x6e, 0xd3, 0xd9, 0xf3, 0x7f, 0xe8, 0xa3, 0x59, 0x1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0xa1, 0x11, 0xd4, 0xb8, 0x6e, 0x2f, 0x2b, 0xc7, 0x13, 0xb2, 0xdd, 0x50, 0x7b, 0x8a, 0xe5, 0xdc, 0x85, 0xb2, 0x93, 0x2c, 0xae, 0x97, 0x1c, 0x7e, 0xf9, 0x12, 0x8e, 0x8e, 0x90, 0x42, 0x5b}}
 	return a, nil
 }
 
-var _scriptsTokenforwarderIs_recipient_validCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x90\x51\x6a\xc3\x30\x10\x44\xff\x7d\x8a\xc1\x1f\xc5\x86\xe2\x03\x98\xb6\x21\x2d\xe4\x3b\x94\xf6\x00\xb2\xb4\x76\x44\x64\xad\x58\xaf\x08\x21\xe4\xee\xa5\x36\x2d\x24\x24\x44\x5f\x62\x79\x3b\x33\x3b\x7e\x4c\x2c\x8a\x2f\xde\x53\xdc\xb0\x1c\x8c\x38\x1f\x07\xf4\xc2\x23\xca\xab\x69\x59\x14\x29\x77\xe8\x73\xc4\x68\x7c\xac\x8c\x73\xd2\x62\xed\x9c\xd0\x34\x3d\x43\x2f\xe9\xad\xd1\x5d\x8b\x6d\xee\x82\xb7\xbf\xff\xba\xc5\x3b\x73\xc0\xa9\x00\x80\x40\x8a\x7e\x61\x49\x3e\xa9\xc7\x2b\x06\xd2\xb5\xb5\x9c\xa3\xce\xca\xf5\xcc\xdd\x78\xcd\x40\xfa\x61\x92\xe9\x7c\xf0\x7a\x7c\x79\x3a\x5d\xc5\x6c\x36\x7f\xba\x8b\xf9\xf9\xad\xba\x11\xed\xbe\x7c\xc7\x22\x7c\xa8\xee\x02\xab\x15\x92\x89\xde\x56\xe5\x77\x34\x5d\x20\x28\x63\xd9\xc1\xc3\x28\x10\x9a\x54\xbc\x55\xe8\x31\xd1\x52\xb3\x81\xfd\xbf\xa6\xac\x8b\xd9\x56\x48\xb3\xc4\x8b\x86\x1a\xbb\x23\xbb\xaf\xea\xe2\xfc\x13\x00\x00\xff\xff\xb3\xce\xc9\xb2\xb4\x01\x00\x00"
+var _scriptsTokenforwarderIs_recipient_validCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x50\x4b\x6a\xc3\x40\x0c\xdd\xfb\x14\x0f\x2f\xca\x18\x8a\x0f\x60\xda\x86\xb4\x90\x75\x28\xed\x01\xe4\xb1\xec\x0c\x19\x8f\x8c\x2c\x13\x42\xc8\xdd\x4b\x6d\x5a\x48\x48\x88\x56\x42\xbc\x9f\x5e\xe8\x07\x51\xc3\x97\xec\x39\x6d\x44\x0f\xa4\x4d\x48\x1d\x5a\x95\x1e\xf9\xd5\x35\xcf\x32\xf2\x9e\xc7\xd1\x51\x8c\x05\xda\x29\xa1\xa7\x90\x1c\x35\x8d\x56\x58\x37\x8d\xf2\x38\x3e\xc3\x2e\x59\x5b\xb2\x5d\x85\xed\x54\xc7\xe0\x7f\xf7\xa2\xc2\xbb\x48\xc4\x29\x03\x80\xc8\x86\x76\xc1\xb2\x7e\x72\x8b\x57\x74\x6c\x6b\xef\x65\x4a\x36\x2b\x17\x33\xee\xc6\x94\x1d\xdb\x07\x0d\x54\x87\x18\xec\xf8\xf2\x74\xba\x8a\x5b\x6e\xfe\x74\x17\xf3\xf3\x9b\xbb\x11\xed\xbe\x7c\x2d\xaa\x72\x70\x77\x01\xab\x15\x06\x4a\xc1\xbb\xfc\x3b\x51\x1d\x19\x26\x58\x38\x78\x18\x05\xca\xa3\x69\xf0\x06\x3b\x0e\xbc\xd4\x4d\xf0\xff\xdf\xe4\x45\x36\xdb\x2a\xdb\xa4\xe9\xa2\xa1\xd2\xef\xd8\xef\x5d\x91\x9d\x7f\x02\x00\x00\xff\xff\x1c\x3c\x53\x68\xbc\x01\x00\x00"
 
 func scriptsTokenforwarderIs_recipient_validCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -571,7 +567,7 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	return a, nil
 }
 
-var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x52\x4f\x6f\xe2\x3e\x10\xbd\xe7\x53\xbc\x1f\x07\x14\x24\x9a\xdc\x2b\x5a\xe9\xd7\xaa\x7b\xae\xd8\x8a\xfb\x10\x06\x62\xd5\xd8\x96\x3d\x81\x46\x88\xef\xbe\xb2\x09\x69\x42\xbb\xda\xbd\x6c\x4e\xf1\x9b\x7f\xef\xbd\x99\xb2\xc4\x5b\xad\x02\xc4\x93\x09\x54\x89\xb2\x06\x2a\x80\x20\xbc\x77\x9a\x84\xb1\xb5\x3e\x3e\x07\x71\xb1\x20\xad\xed\x31\x2b\x4b\x90\x69\xad\xe1\x04\x6d\x36\x20\xac\xa8\xd1\x02\xcf\xc1\x36\xbe\x4a\xb8\xd4\xac\x3c\xa8\xaa\x6c\x63\x04\x21\x02\x24\xb1\x54\x6a\x6e\x51\x91\x41\x13\x38\x3e\xc0\x1f\xb4\x77\x9a\xdf\xec\x3b\x9b\x2c\x53\x7b\x67\xbd\xe0\x47\x63\x76\x6a\xdd\xa1\xd8\x7a\xbb\xc7\x64\x84\x4d\xae\x99\x2f\x83\xf2\x2e\x71\x08\xf5\x79\x2b\xc5\xc7\x25\x07\xab\x0f\xec\xbb\xbc\x21\x34\xc9\xb2\xa1\xd8\x7c\x86\x53\x96\x01\x80\xf3\xec\xc8\x73\x1e\xd4\xce\xb0\xbf\x07\x35\x52\xe7\x4f\xd6\x7b\x7b\x5c\x91\x6e\x78\x86\xe9\xff\x17\x95\x7d\x49\xfc\xca\x12\x4b\x96\xc6\x1b\x30\x79\xdd\x42\x6d\x93\xd8\xab\x21\xa4\x3d\xd3\xa6\x45\x10\xeb\x39\x1a\x3f\x92\x91\xec\xec\x5b\xa9\x2d\x2e\xc3\x8b\x98\x4d\x3b\x2e\xd6\x69\xfc\x62\x3a\x2c\x2a\x52\xd1\x63\x1e\xa5\xdd\xe3\x6b\xe4\xe7\xa5\xf6\x95\xa4\x9e\xe1\xbf\x07\x18\xa5\x71\xea\x67\xc4\xcf\x27\xbe\x3d\x74\xfe\x14\xa3\x59\x70\x48\x2b\x5e\xdc\x8d\x5b\x57\x9e\x49\xf8\x65\xef\xa4\x4d\x53\xf2\xd9\xc8\x82\xe7\x14\x06\xc1\xf0\xf1\x1b\x89\x20\xb3\x81\x6b\x04\x4a\xa0\x0c\x3a\x79\x7d\x83\x1b\xd5\x81\x0e\x9c\x8f\x18\x2f\xee\x12\xab\xf9\x08\x14\xfb\x07\xf9\x7d\xf6\x6f\xb8\xba\x66\xad\x55\x85\x8a\x1c\xad\x95\x56\xd2\x76\xf7\xdc\x71\x8e\x87\x0c\xfe\x70\x36\x70\x48\xf0\x92\x2b\x56\x07\xf6\x73\x3c\x91\x26\x53\xf1\x3c\xe9\xea\x8f\x4d\x19\x61\xbf\xa5\x8a\xc3\x57\x43\x9f\xc9\xe1\xe1\x2a\x54\x2b\xf3\xbe\x98\x9e\x46\x77\x5e\x7c\x76\x1f\xe3\xfd\xac\xe1\x15\x17\xd7\x9f\xf3\xe3\xd8\xa9\xbf\x35\xe4\xc6\xfa\xde\x03\xc5\xa1\x48\xbe\x84\xfa\x1f\x31\xbc\xda\x31\x5e\x26\xc9\x77\xcb\x7c\x4d\x1b\x8a\xd4\xe7\x37\xdc\xcf\xd9\x39\xfb\x15\x00\x00\xff\xff\xfb\xe2\x4b\xdd\xdd\x04\x00\x00"
+var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x53\xc1\x4e\xe3\x30\x10\xbd\xe7\x2b\xde\x72\x40\xa9\x14\xc8\x1d\x15\xa4\xa5\x62\xa5\xbd\x21\x40\xdc\xa7\xee\x94\x58\xeb\xda\x96\x3d\x69\x89\x50\xff\x7d\x65\x27\x0d\x09\x54\xbb\xb9\xf9\x79\xc6\xf3\xde\x9b\x97\xba\xc6\x4b\xa3\x23\x24\x90\x8d\xa4\x44\x3b\x0b\x1d\x41\x10\xde\x79\x43\xc2\xd8\xba\x90\x8e\x93\x7b\x71\x20\x63\xdc\xa1\xa8\x6b\x90\xed\x9c\xe5\x0c\x6d\x36\x20\xbc\x52\x6b\x04\x81\xa3\x6b\x83\xca\xb8\x34\xac\x03\x48\x29\xd7\x5a\x41\x4c\x00\x49\x6a\x95\x86\x3b\x28\xb2\x68\x23\xa7\x03\xf8\x9d\x76\xde\xf0\x8b\xfb\xc3\xb6\x28\xf4\xce\xbb\x20\xf8\xd5\xda\x37\xbd\x1e\x50\x6c\x83\xdb\xe1\x62\x86\x5d\x9c\x2a\x1f\x26\xed\x43\xe1\x14\x1a\xeb\x5e\x35\x1f\x9e\x38\x3a\xb3\xe7\x30\xd4\x4d\xa1\x8b\xa2\x98\x8a\x2d\x17\xf8\x28\x0a\x00\xf0\x81\x3d\x05\x2e\xa3\x7e\xb3\x1c\x6e\x40\xad\x34\xe5\xbd\x0b\xc1\x1d\x5e\xc9\xb4\x5c\xe1\x77\x8c\x2d\x3f\x8b\x0b\xf4\xc6\x2b\xf2\xb4\xd6\x46\x4b\xb7\x72\x56\x82\x33\x86\x43\x85\xc7\x76\x6d\x74\x6c\x3e\x2f\x2b\x3c\xd3\x9e\x73\xff\x02\x97\x3f\x7b\x97\xc6\x91\xe9\xab\x6b\x3c\xb1\xb4\xc1\x82\x29\x98\x0e\x7a\x9b\xcd\x3a\x19\x4a\x26\x30\x6d\x3a\x44\x71\x81\xd3\xe2\x66\x36\xe4\x75\x8c\x4f\xe9\x2d\x7a\xf2\xd7\xb1\x27\x79\xbd\xce\xf4\x97\x97\xd3\xa6\xeb\xdc\x74\x57\x26\x6b\x6e\xf0\xfd\x66\x10\xf8\x48\xd2\x2c\xf0\xe3\x16\x56\x1b\x7c\x8c\x33\xd2\x17\x32\xdf\x11\x3a\x7e\x8a\x31\x2c\xd8\xe7\x88\x2c\xaf\xe6\x4f\xab\xc0\x24\xfc\xb0\xf3\xd2\xe5\x29\xe5\x62\x66\xc1\x2a\x5f\x83\x60\xf9\x70\x46\x22\xc8\x6e\xe0\x5b\x81\x16\x68\x8b\x41\xde\xf8\xc0\x17\xd5\x91\xf6\x5c\x2e\xaf\x32\x91\x0a\xe2\xfe\xa7\xf2\x3c\x13\x9f\x76\xa9\xa0\xc6\x5d\x0e\x69\x1f\x18\xa5\x98\x83\xdf\xbd\x8b\x1c\x33\xfc\xc4\x8a\xf5\x3e\xa5\xe0\x9e\x0c\x59\xc5\x55\x66\x3d\x46\x51\x5b\xe1\xb0\x25\xc5\xf1\xbb\x5d\x2b\xf2\xb8\x3d\xc9\x18\x27\x6a\x8e\xa3\x26\x9d\xb2\xb7\xbc\xfc\x98\xfd\x1b\xbd\x94\xe3\x5d\x39\x5b\xcf\x3f\xc5\x8e\x95\x8b\xaf\xee\xcd\xc6\xfa\x3e\xc8\xe5\x89\x5d\x05\x92\x73\x36\xe6\xc0\xab\xde\xc5\x3e\x0b\xc7\xe2\x6f\x00\x00\x00\xff\xff\x48\xbd\xae\xa7\x74\x04\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -587,7 +583,7 @@ func setup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0x71, 0x4b, 0xe1, 0xd4, 0xaf, 0x39, 0xea, 0x62, 0xee, 0xff, 0x52, 0xb, 0xa8, 0xa8, 0x81, 0x2c, 0xaf, 0x43, 0xd, 0xb4, 0x9f, 0x39, 0xd3, 0xf4, 0x8f, 0xce, 0xd8, 0xf, 0x8, 0xcf, 0xc6}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe1, 0x89, 0x22, 0x5e, 0x13, 0x51, 0x4a, 0x4a, 0x8, 0x44, 0x23, 0x99, 0xca, 0x91, 0xef, 0x4b, 0x73, 0x71, 0xb5, 0x44, 0x57, 0x1, 0x21, 0xaa, 0x12, 0xd1, 0x20, 0xaf, 0x28, 0x6e, 0xad, 0x20}}
 	return a, nil
 }
 
@@ -751,7 +747,7 @@ func switchboardSafe_transfer_tokens_v2Cdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardSetup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x53\xdb\x6a\xe3\x30\x10\x7d\xf7\x57\x1c\xf2\xb0\x24\x90\x4d\xde\x4b\x5b\x28\x0b\xfb\x5c\xb6\xfd\x81\xb1\x3c\x8e\x44\x14\xc9\x48\xa3\x66\x43\xc8\xbf\x2f\xb2\x9b\x60\x37\x71\xf1\x42\x2b\x02\xd1\x6d\x8e\xce\x65\x6c\x76\x8d\x0f\x82\xdf\xc9\x6d\x4c\x69\xf9\xd5\x6f\xd9\xbd\xec\x8d\x28\x5d\x7a\x0a\x15\xea\xe0\x77\x98\x8d\x1d\xcf\x8a\x5b\xf5\xb7\x8a\x66\x45\xb1\x5e\xe3\x55\x9b\x08\x09\xe4\x22\x29\x31\xde\xc1\x44\x10\x84\x77\x8d\x25\x61\xd4\x3e\xe4\x65\xef\x5c\x34\x09\x94\x4f\xb6\x42\xc9\x48\x91\x2b\x94\x07\x64\x28\x72\x07\xef\x18\xe2\xf3\x8f\xaa\x0a\x84\x3e\xef\xc0\xd1\xa7\xa0\xba\x0b\x9a\x4d\x00\x29\xe5\x93\x13\x44\xdf\xa1\x8a\xe6\x03\x14\xb9\x0c\x16\x58\xb1\x79\x63\xec\x92\x15\xd3\x58\x46\xfd\xce\x1d\x92\xc9\x47\xa4\x68\xdc\x06\x84\xfc\x67\x19\xc7\x81\xb6\xd5\x9f\xae\x3c\x9c\x8a\x3e\xf7\x63\x51\x00\x40\x13\xb8\xa1\xc0\x73\x52\x4a\xee\xf0\x94\x44\x3f\x75\x4c\x16\xe7\x1b\x79\xac\xd7\xf8\xa5\x59\x6d\x61\xea\xcc\xec\xc2\x96\x6c\x60\xaa\x0e\xd0\x14\x47\x14\x5e\x20\x4c\x9d\xab\x64\x55\xfa\x10\xfc\xfe\xfe\xc7\x58\x68\xab\xde\xfc\xf1\x52\x0d\xcc\x73\x6c\x77\xa3\xad\xb0\x7a\x11\x1f\x68\xc3\xcf\x24\x7a\x81\x87\x07\x38\x63\x71\xec\xd5\x03\x83\x45\x56\x14\x38\xc7\x4a\x70\xbc\xbf\x9d\x0e\xb9\x0a\x4d\x12\x18\x81\x71\xe2\x11\xbb\x37\x06\x40\xad\xa8\x48\x6f\x3c\x1f\x6c\xe7\x71\xff\x73\x9c\xae\x6a\x1f\xef\xed\xcc\x17\x4b\x5c\x21\x88\x9f\xa8\xb8\x18\x15\xd7\xa4\xd2\x1a\x05\x45\x0d\x95\xc6\x1a\x39\xbc\xf7\xdc\x40\x31\xff\x6d\x7c\xdb\x43\xf9\xa0\xe2\xbc\x90\x8f\x88\x75\x72\xe7\xae\x0f\x3e\x6d\x74\x7b\x77\xac\xd5\xb2\x5f\x1c\x6a\x52\x37\xcc\xb2\xc6\x6d\xa7\xe5\x3f\x86\xfe\x78\xed\xf5\x28\xdc\xb9\xe8\xb9\xf5\x21\x9b\xb5\xbc\xb6\x99\xc2\x86\x65\x9a\xd5\x83\xe2\xc5\xb4\x06\xfb\xbf\x0c\x4a\x2f\xad\xb9\x1f\xe1\x8e\x53\x2c\xeb\x64\x9e\xda\xd6\xcd\x2f\x7c\x0e\x72\x2b\xb0\xf8\x75\x89\x7d\xca\x71\x89\x2f\x48\xf7\x9b\x53\xbd\x4c\x4e\xdd\x07\x76\x2a\x8a\x53\xf1\x2f\x00\x00\xff\xff\xb5\xea\xbe\xcb\x95\x06\x00\x00"
+var _switchboardSetup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x41\x6b\xe3\x3c\x10\xbd\xfb\x57\x3c\x7a\x28\x0e\xe4\x4b\xee\xa5\x2d\x7c\x1b\x58\xd8\x5b\x69\xcb\xde\xc7\xf2\x38\x16\x55\x24\x23\x8d\xda\x0d\x21\xff\x7d\x91\x9d\x7a\xe3\xda\xee\x66\x97\x15\xa5\x89\x32\x9a\x99\xf7\xe6\xbd\xd1\xbb\xc6\x79\xc1\xd7\x68\xb7\xba\x30\xfc\xec\x5e\xd8\x3e\xbd\x69\x51\x75\xe1\xc8\x97\xa8\xbc\xdb\xe1\x6a\x2e\x7c\x95\x4d\xe5\x4f\x25\x5d\x65\xd9\x7a\x8d\xe7\x5a\x07\x88\x27\x1b\x48\x89\x76\x16\x3a\x80\x20\xbc\x6b\x0c\x09\xa3\x72\x3e\x5d\xcf\xe2\x52\x93\x40\xb9\x68\x4a\x14\x8c\x18\xb8\x44\xb1\x47\x2a\x45\x76\xef\x2c\x43\x5c\xfa\xa3\xb2\x04\xe1\x1c\xb7\xe7\xe0\xa2\x57\xdd\x83\x9a\xb5\x07\x29\xe5\xa2\x15\x04\xd7\x55\x95\x9a\xf7\x50\x64\x53\x31\xcf\x8a\xf5\x2b\x63\x17\x8d\xe8\xc6\x30\xaa\x13\x76\x48\x02\x1f\x10\x83\xb6\x5b\x10\xd2\x87\x61\x1c\x06\xdc\x56\x8f\x5d\xba\x3f\x66\xe7\xd8\x0f\x59\x06\x00\x8d\xe7\x86\x3c\xe7\xa4\x94\xdc\x80\xa2\xd4\xf9\x17\xe7\xbd\x7b\xfb\x4e\x26\xf2\x12\xdf\x42\x88\xfc\x24\xce\xd3\x96\x37\xd4\x50\xa1\x8d\x96\xfd\xc6\x59\xf1\xce\x18\xf6\x4b\x3c\xc4\xc2\xe8\x50\xff\x0a\x2e\xf1\x44\xaf\xdc\xe6\x2f\x70\xfd\x7f\x47\x6c\xf1\xde\x30\x9d\xf5\x1a\x9b\x9a\xd5\x0b\x74\x95\x88\xf6\xe4\xc9\x78\xa6\x72\x8f\x9a\xc2\xcc\xc0\xfa\x12\xba\x4a\x59\xb2\x0a\x1d\xb4\x55\xd1\x82\xbe\xbd\x9e\xf3\xc2\xea\xec\xfb\x7d\x9e\x2c\x70\x33\x6b\xab\xd5\x89\xef\x03\x49\xbd\xc0\xdd\x1d\xac\x36\x38\xf4\xad\xd3\x19\x5c\x12\x1d\xcf\xc9\x22\x04\xcb\x6f\xd3\x4a\x93\x2d\xd1\x44\x81\x16\x68\x2b\x0e\x27\xe0\x83\x42\x03\x46\x81\x5e\x39\x1f\x84\xd3\xb9\xfd\x6f\x1e\xb6\x6a\x41\x9c\xfd\x92\x2f\x96\x18\x55\x10\x77\x19\xf3\x41\xe2\x22\x9b\x65\xdc\x24\xfd\x15\x54\xaf\xff\xc9\xd4\x83\x31\xf0\x8f\xc6\xb5\x26\x4d\x81\x92\xd3\x45\x3e\x56\xac\xa2\x7d\x5f\x2b\xef\xe2\xb6\x6e\xdf\xce\x79\x39\x0d\x91\x7d\x45\x6a\x38\x41\xc3\xf2\xbe\x2e\xbe\x35\xa6\xda\x50\x83\xbb\x6e\xb2\x3d\x44\xcd\xa1\x1f\xb3\x4e\x06\xbf\xbd\x9e\xeb\x73\x9f\x5f\xe4\x92\xb1\x8c\x83\x66\x4d\xb7\x23\xf9\x08\xda\x12\x24\x9f\xc8\xf1\x38\x78\x3f\xee\xf4\x8f\x44\x29\x9c\xb4\xd3\xfe\x58\xee\x70\xc9\x36\x75\xd8\x8e\xad\xc1\x53\x87\xcf\x8b\x4c\x29\x18\x46\x12\x86\x8f\xe5\xff\x4a\xc5\x4f\x01\x2f\x31\xab\xf8\x68\x65\xd2\xf9\xe3\x95\xe9\xd6\xe6\x32\x5f\x4c\xf1\xfd\x8d\x35\xa6\x2c\x71\xcc\xba\xff\xc7\xec\x67\x00\x00\x00\xff\xff\x14\x3a\xb7\xb9\x39\x07\x00\x00"
 
 func switchboardSetup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -767,7 +763,7 @@ func switchboardSetup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x74, 0x85, 0x63, 0x21, 0x54, 0xb9, 0x53, 0x38, 0xac, 0x89, 0xdc, 0xfe, 0x4a, 0x2, 0xa9, 0xbc, 0xd5, 0xef, 0x31, 0x1b, 0x1a, 0xb7, 0x3d, 0xb0, 0x31, 0x7b, 0xf5, 0xb8, 0xe3, 0x43, 0xa7, 0x3b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x41, 0xd3, 0x32, 0x12, 0xdb, 0x67, 0x6f, 0xa6, 0xd5, 0x29, 0x5d, 0x99, 0x7a, 0x99, 0x67, 0x46, 0x87, 0x5d, 0xa5, 0xd1, 0x4e, 0x8a, 0xd6, 0xec, 0xfb, 0x9a, 0xa6, 0xe, 0x23, 0xfd, 0x32, 0x2f}}
 	return a, nil
 }
 
@@ -831,7 +827,7 @@ func switchboardTransfer_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\xcb\x6e\xdb\x40\x0c\x3c\x47\x5f\xc1\xf8\x90\xc8\x87\xc8\x97\xa2\x07\x23\x0f\xa4\x8f\xf4\x54\x20\x48\xd3\xf4\x50\x14\x08\x25\x51\xd6\x36\xf2\xae\xc0\xa5\xe2\x14\x81\xff\xbd\xd8\x97\x21\x3f\x90\x02\xdd\x8b\x01\x2e\x77\x38\x33\x1c\x59\x2d\x7b\xc3\x02\x37\x83\x5e\xa8\xb2\xa3\x7b\xf3\x44\x1a\x1a\x36\x4b\x98\x6c\xd5\x26\x59\xec\xfc\xfc\x82\xcb\x7e\xbb\x71\x5c\x9a\x64\xd9\x6c\x36\x83\x7b\x46\x6d\x1b\x62\x0b\xe2\xaa\xee\x07\x10\x3a\x65\x05\x4c\x03\x58\xd7\x4c\xd6\x92\x05\xdb\x53\xa5\x1a\x45\x35\x28\x0d\xd2\x12\x3c\xc6\xbb\xeb\xa5\x19\xb4\x7c\xc5\xfe\x11\x7a\x64\x5c\x92\x10\x67\x99\x38\x58\xac\x44\x19\x9d\xef\x36\xce\xe1\xf5\x3a\x94\xe6\xf0\xfd\x46\xbd\xbc\x7f\xb7\x9e\xc2\x6b\x96\x01\x00\x38\x46\x2d\xc1\x03\x0e\x9d\x00\x93\x35\x03\x57\x04\xd2\xa2\x40\x6b\xba\xda\xfa\xd1\x89\xa9\xab\x22\x13\x94\xa4\xf4\x02\x24\x2a\x61\xaa\x3d\x54\x47\x02\xcf\x0e\xe7\x8e\x9a\x39\xe0\x20\x6d\xbe\x65\x54\xf1\x43\x49\x5b\x33\xae\xb0\xec\x68\x0a\x27\x63\x73\x0a\x4f\x20\x50\xea\x99\x7a\x64\xca\xad\x5a\x68\xe2\x88\xf4\xc1\x30\x9b\xd5\x03\x76\x83\x7b\x7a\x5d\x55\x4e\x9b\x53\x01\xf1\xcc\x66\xf0\x85\x04\x10\x98\x1a\x62\xd2\x4e\x85\xf1\xec\x03\xce\xa9\x05\x2b\x86\xa9\x0e\x1c\x37\xef\x2c\x75\x4d\x91\x68\xc3\x45\xec\x2e\x5c\x2f\x2e\xa8\x28\xfd\xdc\xf3\xff\x51\x73\x99\xbb\x10\xcc\x61\xff\xe6\x5b\x00\xbf\x45\x69\xa7\xd9\xd1\xd1\xd1\xd5\x15\xf4\xa8\x55\x95\x4f\x3e\x9a\xa1\xab\x41\x1b\x81\x30\x78\x5f\x8d\x59\x05\x31\x1e\xe8\x78\x32\xf5\x42\xd6\xc1\x39\x7a\xa1\x6a\x10\x4a\xbb\x75\xa7\x31\x9c\x42\xe5\x82\xb4\x1b\x8d\xe2\x89\xfe\xd8\x71\x7f\xb4\x32\x89\x4b\xab\xf7\x71\xfe\xb7\x99\x29\x06\x96\xb4\x84\x48\x9d\x9f\x6d\x3b\x5c\xac\x22\x72\x8e\x9e\xc3\x7c\x8f\xd2\xcf\x58\xf8\x75\x3c\xdd\xa3\xe5\x36\xec\x58\x30\x55\xaa\x57\xa4\xe5\xd4\x42\x3f\x94\x9d\xaa\x00\x43\x24\xc0\x94\xbf\xa9\xda\x67\xb4\x79\x01\x17\xb0\x20\x89\x01\x4a\x9f\xca\xe1\x49\x07\xb2\x34\x1e\x7c\x47\x15\xa9\x67\xe2\x43\xb3\xfc\x45\x08\xd4\xe6\x49\x51\x61\x8f\xa5\xea\x94\x28\xb2\x29\x58\x27\xaf\xdb\xa9\x4a\xa0\xeb\xcb\x7c\x2b\x37\xa9\x7e\xeb\xd5\x86\xe4\xc0\xce\x79\x33\x46\xe1\xf9\xdb\x8a\xfc\xca\x26\xfb\x66\x7c\xa2\xde\x58\x15\xac\x4f\xfb\xd3\x29\x1a\xf1\xef\x69\x8c\xc3\x87\x9c\x19\xb9\x52\xd4\x01\x30\x7e\x20\xe7\x67\x9b\xbc\x8c\x66\xaf\x63\xb2\xd7\xd9\xdf\x00\x00\x00\xff\xff\x4d\x51\x2e\xb4\x8a\x05\x00\x00"
+var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4d\x6f\xdb\x30\x0c\x3d\xd7\xbf\x82\xf5\xa1\x75\x0e\x75\x2e\xc3\x0e\x41\x3f\xd0\x7d\x74\xa7\x01\x45\xd7\x75\x87\x61\x40\x69\x9b\x8e\xb5\x3a\x92\x41\xd1\x4d\x87\x22\xff\x7d\x90\x25\x05\x4e\x1c\x74\xc0\x74\x09\x40\x51\x8f\xef\x3d\x3e\x47\xad\x3a\xc3\x02\x37\xbd\x5e\xaa\xa2\xa5\x7b\xf3\x44\x1a\x6a\x36\x2b\x48\x77\x6a\x69\x12\x3a\x3f\xbf\xe0\xaa\xdb\x6d\x1c\x97\xd2\x24\x99\xcf\xe7\x70\xcf\xa8\x6d\x4d\x6c\x41\x5c\xd5\xfd\x00\x42\xab\xac\x80\xa9\x01\xab\x8a\xc9\x5a\xb2\x60\x3b\x2a\x55\xad\xa8\x02\xa5\x41\x1a\x82\xc7\x70\x77\xbd\x32\xbd\x96\xaf\xd8\x3d\x42\x87\x8c\x2b\x12\xe2\x24\x11\x07\x8b\xa5\x28\xa3\xb3\xfd\xc6\x05\xbc\x5e\xfb\xd2\x02\xbe\xdf\xa8\x97\xf7\xef\x36\x33\x78\x4d\x12\x00\x00\xc7\xa8\x21\x78\xc0\xbe\x15\x60\xb2\xa6\xe7\x92\x40\x1a\x14\x68\x4c\x5b\xd9\x61\x74\x64\xea\xaa\xc8\x04\x05\x29\xbd\x04\x09\x4a\x98\xaa\x01\xaa\x25\x81\x67\x87\x73\x47\xf5\x02\xb0\x97\x26\xdb\x31\x2a\xff\xa1\xa4\xa9\x18\xd7\x58\xb4\x34\x83\x93\xb1\x39\xf9\x40\xc0\x53\xea\x98\x3a\x64\xca\xac\x5a\x6a\xe2\x80\xf4\xc1\x30\x9b\xf5\x03\xb6\xbd\x7b\x7a\x5d\x96\x4e\x9b\x53\x01\xe1\xcc\xe7\xf0\x85\x04\x10\x98\x6a\x62\xd2\x4e\x85\x19\xd8\x7b\x9c\x53\x0b\x56\x0c\x53\xe5\x39\x6e\xdf\x59\x6a\xeb\x3c\xd2\x86\x8b\xd0\x9d\xbb\x5e\x5c\x52\x5e\x0c\x73\xcf\xff\x47\xcd\x65\xe6\x42\xb0\x80\xe9\xcd\x37\x0f\x7e\x8b\xd2\xcc\x92\xa3\xa3\xa3\xab\x2b\xe8\x50\xab\x32\x4b\x3f\x9a\xbe\xad\x40\x1b\x01\x3f\x78\xaa\xc6\xac\xbd\x98\x01\xe8\x38\x9d\x0d\x42\x36\xde\x39\x7a\xa1\xb2\x17\x8a\xbb\x75\xa7\x36\x1c\x43\xe5\x82\xb4\x1f\x8d\xfc\x89\xfe\xd8\x71\x7f\xb0\x32\x8a\x8b\xab\x1f\xe2\xfc\x6f\x33\x63\x0c\x2c\x69\xf1\x91\x3a\x3f\xdb\x75\x38\x5f\x07\xe4\x0c\x07\x0e\x8b\x09\xa5\x9f\xa1\xf0\xeb\x78\x36\xa1\xe5\x36\xec\x58\x30\x95\xaa\x53\xa4\xe5\xd4\x42\xd7\x17\xad\x2a\x01\x7d\x24\xc0\x14\xbf\xa9\x9c\x32\xda\xbe\x80\x0b\x58\x92\x84\x00\xc5\x4f\xe5\xf0\xa4\x03\x59\x1a\x0f\xbe\xa3\x92\xd4\x33\xf1\xa1\x59\xc3\x85\x0f\xd4\xf6\x49\x5e\x62\x87\x85\x6a\x95\x28\xb2\x31\x58\x27\xaf\xbb\xa9\x8a\xa0\x9b\xcb\x6c\x9a\x9b\xdb\x41\xaa\x8f\x0d\xec\x9d\x37\x33\xe4\x31\xdf\x96\x33\x4c\x48\xa7\x4e\x7c\xa2\xce\x58\xe5\x7d\x8f\xcb\xd3\x31\x17\xe1\xbf\x69\x8c\xc3\x87\x6c\x19\x59\x92\x57\x1e\x30\x7c\x1d\xe7\x67\xdb\xb0\x8c\x66\x6f\x42\xac\x37\xc9\xdf\x00\x00\x00\xff\xff\x9c\x43\xb2\x1d\x87\x05\x00\x00"
 
 func transfer_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -847,11 +843,11 @@ func transfer_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0x1c, 0xce, 0xf7, 0x5e, 0xbf, 0x36, 0xce, 0xe6, 0x61, 0x21, 0x92, 0x14, 0xa2, 0xfe, 0xe9, 0x99, 0xf6, 0x73, 0xa, 0x1c, 0x11, 0xce, 0x36, 0x79, 0x26, 0xce, 0xed, 0x16, 0x11, 0x38, 0x18}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0x3c, 0xab, 0xcb, 0x42, 0xcb, 0x79, 0xc4, 0xa6, 0x96, 0xce, 0x23, 0x84, 0x50, 0xe3, 0x93, 0x84, 0xeb, 0x16, 0xe3, 0xc, 0x4, 0xdc, 0x3a, 0x3e, 0xb7, 0xea, 0x18, 0x41, 0x97, 0xc6, 0x23}}
 	return a, nil
 }
 
-var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x53\x4b\x6f\xdb\x30\x0c\xbe\xfb\x57\x70\x39\xb4\x0e\xb0\x3a\x97\x61\x87\xa0\x8f\x75\x8f\xee\x5a\x74\x5d\x77\xa6\x65\x26\xd6\xe6\x48\x02\x45\x37\x2d\x8a\xfe\xf7\x41\x92\xe5\xd9\xcd\xb0\x47\x2e\x81\x29\xea\xe3\xf7\xa0\x56\x2b\xb8\x6d\xb5\x07\x61\x34\x1e\x95\x68\x6b\x40\x7b\x40\x10\xda\xb9\x0e\x85\x60\x63\x39\x7c\x4e\xce\xa5\x45\x29\x56\x2b\x50\xb6\xef\x1a\xa8\x09\x7a\x4f\x0d\xd4\x8f\x80\xe6\xd1\x1a\x02\xb1\xe0\xc9\x34\x20\xf6\x07\x19\x1f\x3e\xd1\x58\x69\x89\x01\x95\xb2\xbd\x89\x97\x03\x08\xb4\xe8\xa1\x26\x32\xe0\x49\xa0\x77\xa1\x95\x49\x91\xbe\xa7\xe1\x72\x55\xac\x56\x45\xe4\x48\xb0\xd7\xd2\x36\x8c\x7b\xc0\x5d\x00\x01\x0c\x23\x5a\xca\xa0\xb0\x61\xbb\x83\x2d\xc9\xe5\xaf\x21\xfb\xcc\x30\xf4\x39\x64\xdc\x91\x10\x47\x4a\xa1\x32\x11\x55\x14\x7a\xe7\x2c\x0b\x5c\xf5\x66\xab\xeb\x8e\x6e\xc3\xfc\x84\xb9\x98\xd5\x16\xb9\xf3\xd3\x03\xee\xdc\xbc\x71\x5a\x5a\x14\xc5\x04\xbf\x4c\xa4\xd7\xf0\xf5\x4a\x3f\xbc\x7d\xf3\x1a\xc4\xae\xe1\xb2\x69\x98\xbc\x5f\xc2\x53\x51\x00\x00\x0c\x42\xef\xb0\xef\x04\x98\xbc\xed\x59\xd1\xe0\x94\xed\x1a\x9f\x48\x0f\xae\x86\x2a\x32\x41\x4d\xda\x6c\x93\x94\x0d\x31\x53\x13\xa1\x3a\x92\x10\x82\x44\xac\x35\xbc\x9b\x49\xa8\x62\x35\xcd\x74\x4c\x0e\x99\x4a\xaf\xb7\x86\x78\x0d\xd8\x4b\x5b\xbe\xb7\xcc\x76\x7f\x87\x5d\x4f\x4b\x38\x1a\x0c\x1d\x69\x0e\x54\x3f\x93\x00\x02\xd3\x86\x98\x8c\xa2\x6c\x6a\x02\x3a\xf6\xe0\xc5\x32\x35\x70\x1f\x67\xe5\x7b\x81\x57\xac\xdc\xd0\x06\xce\x86\xe6\x2a\xb4\xe2\x96\xaa\x3a\xce\x3d\x8d\x1c\xe6\x8c\xbf\x0d\xe1\x63\xdd\x05\x4a\x53\xa3\x93\x9a\xf3\x32\x44\xb0\x86\xc3\x93\x2f\x09\xfc\x1a\xa5\x5d\x8e\x3c\xc2\xef\xe2\x02\x1c\x1a\xad\xca\xc5\x87\xb8\x27\xc6\x0a\x24\x06\x87\xaa\xec\x3e\x89\x8a\x88\xaf\x16\xcb\x99\x13\x99\x5c\xce\x26\x2e\xc3\xdf\xbd\xf0\xd4\x6d\xaa\x31\x24\x38\x3d\x19\x9d\xa9\xf2\xae\x8f\x6b\x93\xfe\x13\xff\xe7\x34\x9c\x1e\x48\xf5\x42\xbf\x49\x25\x8c\x66\x52\xda\x69\x32\x72\xec\xc1\xf5\x75\xa7\xd5\xf8\x50\x6c\xfd\x9d\xd4\x3c\x92\xb1\x1b\xce\x26\x4f\xa8\x14\xbb\xfc\x97\xc8\xa7\xb3\x6e\xd2\xfb\xe5\x97\xf0\xb1\x98\x42\x1f\xdb\x2b\x85\x0e\x6b\xdd\x69\xd1\xe4\x73\xf8\x47\x4f\xf3\xe4\x33\xe0\xf3\x79\x39\xcb\x36\xd7\xaf\xa3\xb8\xff\x4c\x37\x5d\xfd\xb3\x92\x98\xca\x8b\xa4\x3f\x92\xb3\x5e\x27\x87\x73\x46\x26\xc7\xae\xcd\x01\x06\xbf\x74\x63\xe2\x44\xd5\x24\xb0\x61\x71\x4f\x4f\xe6\xfb\x90\xb3\x7e\x2e\x7e\x06\x00\x00\xff\xff\x2e\x07\xe8\x48\xa4\x05\x00\x00"
+var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x53\x4b\x6f\xdb\x30\x0c\xbe\xfb\x57\x70\x39\xb4\x0e\xb0\x3a\x97\x61\x87\xa0\x8f\x75\x8f\xee\x5a\x74\x5d\x77\xa6\x65\x26\xd6\x66\x4b\x06\x45\x37\x2d\x8a\xfc\xf7\x41\x92\xe5\xd9\xc9\xb0\x47\x2e\x81\x29\xea\xe3\xf7\xa0\x56\x2b\xb8\xaf\xb5\x03\x61\x34\x0e\x95\x68\x6b\x40\x3b\x40\x10\x6a\xbb\x06\x85\x60\x63\xd9\x7f\x4e\xce\xa5\x46\xc9\x56\x2b\x50\xb6\x6f\x2a\x28\x09\x7a\x47\x15\x94\xcf\x80\xe6\xd9\x1a\x02\xb1\xe0\xc8\x54\x20\xf6\x07\x19\xe7\x3f\xd1\x58\xa9\x89\x01\x95\xb2\xbd\x09\x97\x3d\x08\xd4\xe8\xa0\x24\x32\xe0\x48\xa0\xef\x7c\x2b\x93\x22\xfd\x48\xc3\xe5\x22\x5b\xad\xb2\xc0\x91\x60\xa7\xa5\xae\x18\x77\x80\xad\x07\x01\xf4\x23\x6a\x4a\xa0\xb0\x61\xdb\xc2\x96\xe4\xfa\xd7\x90\x5d\x62\xe8\xfb\x3a\x64\x6c\x49\x88\x03\x25\x5f\x99\x88\xca\x32\xdd\x76\x96\x05\x6e\x7a\xb3\xd5\x65\x43\xf7\x7e\x7e\xc4\x5c\xcc\x6a\x8b\xd4\xf9\xe9\x09\xdb\x6e\xde\x38\x2d\x2d\xb2\x6c\x82\x9f\x47\xd2\x6b\xf8\x7a\xa3\x9f\xde\xbe\x79\x0d\x62\xd7\x70\x5d\x55\x4c\xce\x2d\xe1\x25\xcb\x00\x00\x06\xa1\x0f\xd8\x37\x02\x4c\xce\xf6\xac\x68\x70\xca\x36\x95\x8b\xa4\x07\x57\x7d\x15\x99\xa0\x24\x6d\xb6\x51\xca\x86\x98\xa9\x0a\x50\x0d\x89\x0f\x41\x02\xd6\x1a\xde\xbd\xcc\x34\x14\xa1\xbc\x8f\x53\x3b\xa6\x0e\x99\x72\xa7\xb7\x86\x78\x0d\xd8\x4b\x9d\xbf\xb7\xcc\x76\xf7\x80\x4d\x4f\x4b\x38\x19\x2c\x1d\x89\x0e\x64\x3f\x93\x00\x02\xd3\x86\x98\x8c\xa2\x64\x6b\x04\x3a\x75\xe0\xc4\x32\x55\xf0\xe8\x87\x8d\xf7\x3c\xb3\x50\xb9\xa3\x0d\x5c\x0c\xcd\x85\x6f\xc5\x2d\x15\x65\x98\x7b\x1e\x38\xcc\x29\x7f\x1b\xe2\xc7\xb2\xf1\x94\xa6\x56\x47\x39\x97\xb9\x0f\x61\x0d\xc7\x27\x5f\x22\xf8\x2d\x4a\xbd\x1c\x79\xf8\xdf\xd5\x15\x74\x68\xb4\xca\x17\x1f\xc2\xa6\x18\x2b\x10\x19\x1c\xab\xb2\xbb\x28\x2a\x20\xbe\x5a\x2c\x67\x4e\x24\x72\x29\x9d\xb0\x0e\x7f\xf7\xc2\x51\xb3\x29\xc6\x98\xe0\xfc\x6c\x74\xa6\x48\xdb\x3e\x2e\x4e\xfc\x8f\xfc\x87\xe4\xe8\x89\x54\x2f\xf4\x9b\x54\xfc\x68\x26\xa5\x3b\x4d\x46\x4e\x1d\x74\x7d\xd9\x68\x35\x3e\x15\x5b\x7e\x27\x35\x8f\x64\xec\x86\x8b\xc9\x23\xca\xc5\x2e\xff\x25\xf2\xe9\xac\xbb\xf8\x82\xf9\x10\x3e\x14\x63\xe8\x63\x7b\xa1\xb0\xc3\x52\x37\x5a\x34\xb9\x14\xfe\xc9\xc1\xb2\x26\xc0\xfd\x65\x7e\x9c\xed\x6d\x50\xf6\x9f\xd1\x46\xbc\x3f\xcb\x08\xe8\x07\x31\x7f\xa4\xce\x3a\x1d\xed\x4d\x01\x99\x94\xb9\x36\x47\x18\x7c\x68\xc5\xc4\x86\xa2\x8a\x60\xc3\xd6\x9e\x9f\xcd\x97\x21\x05\xbd\xcf\x7e\x06\x00\x00\xff\xff\x3f\xc1\xa2\x6c\xa3\x05\x00\x00"
 
 func transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -867,7 +863,7 @@ func transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb6, 0xa4, 0x1b, 0x2, 0x72, 0xa5, 0x7d, 0x88, 0xf, 0xce, 0x4e, 0xc4, 0x7a, 0xb6, 0x71, 0x33, 0xf5, 0x6a, 0xd1, 0x45, 0x94, 0x5d, 0xb8, 0x19, 0x69, 0xf6, 0x22, 0xe4, 0xef, 0xe8, 0x7d, 0x33}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0xe0, 0xf1, 0xd0, 0xc9, 0x65, 0x55, 0xf7, 0x3, 0x4f, 0x6e, 0xbc, 0x3a, 0xb2, 0x45, 0xaa, 0x40, 0x93, 0x1a, 0xd6, 0x95, 0x5e, 0xfa, 0x3c, 0x44, 0x4b, 0x9d, 0x83, 0xb, 0x8a, 0x3e, 0x60}}
 	return a, nil
 }
 

From 6d70cf3556d7fd3719381e1ef1cdf17d3a329f3c Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Tue, 17 Oct 2023 18:39:45 -0500
Subject: [PATCH 033/115] update go transaction templates

---
 lib/go/templates/transaction_templates.go | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/go/templates/transaction_templates.go b/lib/go/templates/transaction_templates.go
index f84de772..9d48821f 100644
--- a/lib/go/templates/transaction_templates.go
+++ b/lib/go/templates/transaction_templates.go
@@ -43,13 +43,13 @@ func GenerateDestroyVaultScript(fungibleAddr, tokenAddr flow.Address, tokenName
 		import %[3]s from 0x%[2]s
 
 		transaction {
-		  prepare(acct: AuthAccount) {
-			let vault <- acct.load<@%[3]s.Vault>(from: /storage/%[4]sVault)
+		  prepare(acct: auth(SaveValue, LoadValue) &Account) {
+			let vault <- acct.storage.load<@%[3]s.Vault>(from: /storage/%[4]sVault)
 				?? panic("Couldn't load Vault from storage")
 			
 			let withdrawVault <- vault.withdraw(amount: %[5]d.0)
 
-			acct.save(<-vault, to: /storage/%[4]sVault) 
+			acct.storage.save(<-vault, to: /storage/%[4]sVault) 
 
 			destroy withdrawVault
 		  }
@@ -116,13 +116,13 @@ func GenerateTransferInvalidVaultScript(fungibleAddr, tokenAddr, otherTokenAddr,
 		import %s from 0x%s
 
 		transaction {
-			prepare(acct: AuthAccount) {
+			prepare(acct: &Account) {
 				let recipient = getAccount(0x%s)
 
-				let providerRef = acct.borrow<&{FungibleToken.Provider}>(from: /storage/%sVault)
+				let providerRef = acct.storage.borrow<&{FungibleToken.Provider}>(from: /storage/%sVault)
 					?? panic("Could not borrow Provider reference to the Vault!")
 
-				let receiverRef = recipient.getCapability(/public/%sReceiver)!.borrow<&{FungibleToken.Receiver}>()
+				let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(/public/%sReceiver)
 					?? panic("Could not borrow receiver reference to the recipient's Vault")
 
 				let tokens <- providerRef.withdraw(amount: %d.0)

From a6db1e36e9ce02f6564e3559deeefb4d6a263585 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Tue, 17 Oct 2023 18:41:34 -0500
Subject: [PATCH 034/115] update transactions for Cadence 1.0

---
 transactions/create_forwarder.cdc       | 11 ++++-------
 transactions/mint_tokens.cdc            | 21 +++++++++------------
 transactions/setup_account.cdc          | 14 ++++----------
 transactions/transfer_many_accounts.cdc |  2 +-
 transactions/transfer_tokens.cdc        |  4 ++--
 5 files changed, 20 insertions(+), 32 deletions(-)

diff --git a/transactions/create_forwarder.cdc b/transactions/create_forwarder.cdc
index 9b6b11c4..84a5df2d 100644
--- a/transactions/create_forwarder.cdc
+++ b/transactions/create_forwarder.cdc
@@ -32,23 +32,20 @@ transaction(receiver: Address) {
     prepare(acct: auth(BorrowValue) &Account) {
 
         // Get the receiver capability for the account being forwarded to
-        let recipient = getAccount(receiver)
-            .capabilities.get<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
+        let recipient = getAccount(receiver).capabilities.get<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
 
         // Create the forwarder and save it to the account that is doing the forwarding
         let vault <- TokenForwarding.createNewForwarder(recipient: recipient)
         acct.storage.save(<-vault, to: /storage/exampleTokenForwarder)
 
-        // Unlink the existing receiver capability
-        if acct.capabilities.get(ExampleToken.ReceiverPublicPath).check<&{FungibleToken.Receiver}>() {
-            acct.capabilities.unpublish(ExampleToken.ReceiverPublicPath)
-        }
+        // Unlink the existing capability
+        acct.capabilities.unpublish(ExampleToken.VaultPublicPath)
 
         // Link the new forwarding receiver capability
         let tokenReceiverCap = acct.capabilities.storage.issue<&{FungibleToken.Receiver}>(
             /storage/exampleTokenForwarder
         )
-        acct.capabilities.publish(tokenReceiverCap, at: ExampleToken.ReceiverPublicPath)
+        acct.capabilities.publish(tokenReceiverCap, at: ExampleToken.VaultPublicPath)
 
         // Link the new ForwarderPublic capability
         let tokenForwarderCap = acct.capabilities.storage.issue<&{TokenForwarding.ForwarderPublic}>(
diff --git a/transactions/mint_tokens.cdc b/transactions/mint_tokens.cdc
index 97182432..b8ca4e21 100644
--- a/transactions/mint_tokens.cdc
+++ b/transactions/mint_tokens.cdc
@@ -7,11 +7,11 @@ import ExampleToken from "ExampleToken"
 
 transaction(recipient: Address, amount: UFix64) {
 
-    /// Reference to the Example Token Admin Resource object
-    let tokenAdmin: &ExampleToken.Administrator
+    /// Reference to the Example Token Minter Resource object
+    let tokenMinter: &ExampleToken.Minter
 
     /// Reference to the Fungible Token Receiver of the recipient
-    let tokenReceiver: &{FungibleToken.Receiver}
+    let tokenReceiver: &{FungibleToken.Vault}
 
     /// The total supply of tokens before the burn
     let supplyBefore: UFix64
@@ -20,25 +20,22 @@ transaction(recipient: Address, amount: UFix64) {
         self.supplyBefore = ExampleToken.totalSupply
 
         // Borrow a reference to the admin object
-        self.tokenAdmin = signer.storage.borrow<&ExampleToken.Administrator>(from: ExampleToken.AdminStoragePath)
+        self.tokenMinter = signer.storage.borrow<&ExampleToken.Minter>(from: ExampleToken.AdminStoragePath)
             ?? panic("Signer is not the token admin")
 
         // Get the account of the recipient and borrow a reference to their receiver
-        self.tokenReceiver = getAccount(recipient)
-            .capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
-            ?? panic("Unable to borrow receiver reference")
+        self.tokenReceiver = getAccount(recipient).capabilities.borrow<&{FungibleToken.Vault}>(
+                ExampleToken.VaultPublicPath
+            ) ?? panic("Unable to borrow receiver reference")
     }
 
     execute {
 
-        // Create a minter and mint tokens
-        let minter <- self.tokenAdmin.createNewMinter(allowedAmount: amount)
-        let mintedVault <- minter.mintTokens(amount: amount)
+        // Create mint tokens
+        let mintedVault <- self.tokenMinter.mintTokens(amount: amount)
 
         // Deposit them to the receiever
         self.tokenReceiver.deposit(from: <-mintedVault)
-
-        destroy minter
     }
 
     post {
diff --git a/transactions/setup_account.cdc b/transactions/setup_account.cdc
index 08ee1ce6..1616d13e 100644
--- a/transactions/setup_account.cdc
+++ b/transactions/setup_account.cdc
@@ -8,7 +8,7 @@ import ViewResolver from "ViewResolver"
 
 transaction () {
 
-    prepare(signer: auth(BorrowValue) &Account) {
+    prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {
 
         // Return early if the account already stores a ExampleToken Vault
         if signer.storage.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath) != nil {
@@ -18,18 +18,12 @@ transaction () {
         let vault <- ExampleToken.createEmptyVault()
 
         // Create a new ExampleToken Vault and put it in storage
-        signer.storage.save(
-            <-vault,
-            to: ExampleToken.VaultStoragePath
-        )
+        signer.storage.save(<-vault, to: ExampleToken.VaultStoragePath)
 
         // Create a public capability to the Vault that exposes the Receiver, Balance, and Resolver interfaces
-        let vaultCap = signer.link<&{FungibleToken.Receiver, FungibleToken.Balance, ViewResolver.Resolver}>(
+        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(
             ExampleToken.VaultStoragePath
         )
-        signer.capabilities.publish<&{FungibleToken.Receiver, FungibleToken.Balance, ViewResolver.Resolver}>(
-            vaultCap,
-            at: ExampleToken.VaultPublicPath,
-        )
+        signer.capabilities.publish(vaultCap, at: ExampleToken.VaultPublicPath)
     }
 }
diff --git a/transactions/transfer_many_accounts.cdc b/transactions/transfer_many_accounts.cdc
index edd94ab8..95710496 100644
--- a/transactions/transfer_many_accounts.cdc
+++ b/transactions/transfer_many_accounts.cdc
@@ -25,7 +25,7 @@ transaction(addressAmountMap: {Address: UFix64}) {
             let recipient = getAccount(address)
 
             // Get a reference to the recipient's Receiver
-            let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
+            let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.VaultPublicPath)
                 ?? panic("Could not borrow receiver reference to the recipient's Vault")
 
             // Deposit the withdrawn tokens in the recipient's receiver
diff --git a/transactions/transfer_tokens.cdc b/transactions/transfer_tokens.cdc
index 0471c86f..6318dcf4 100644
--- a/transactions/transfer_tokens.cdc
+++ b/transactions/transfer_tokens.cdc
@@ -11,7 +11,7 @@ import ExampleToken from "ExampleToken"
 transaction(amount: UFix64, to: Address) {
 
     // The Vault resource that holds the tokens that are being transferred
-    let sentVault: @FungibleToken.Vault
+    let sentVault: @{FungibleToken.Vault}
 
     prepare(signer: auth(BorrowValue) &Account) {
 
@@ -29,7 +29,7 @@ transaction(amount: UFix64, to: Address) {
         let recipient = getAccount(to)
 
         // Get a reference to the recipient's Receiver
-        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
+        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.VaultPublicPath)
             ?? panic("Could not borrow receiver reference to the recipient's Vault")
 
         // Deposit the withdrawn tokens in the recipient's receiver

From 543d4e0e54e99354d3d403de67636ac8bc3ea099 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Tue, 17 Oct 2023 18:41:57 -0500
Subject: [PATCH 035/115] update scripts for Cadence 1.0

---
 transactions/scripts/get_balance.cdc                      | 8 +++-----
 transactions/scripts/metadata/get_token_metadata.cdc      | 4 +---
 transactions/scripts/metadata/get_vault_data.cdc          | 4 +---
 transactions/scripts/metadata/get_vault_display.cdc       | 4 +---
 transactions/scripts/metadata/get_vault_supply_view.cdc   | 4 +---
 .../test/example_token_vault_display_strict_equal.cdc     | 5 ++---
 6 files changed, 9 insertions(+), 20 deletions(-)

diff --git a/transactions/scripts/get_balance.cdc b/transactions/scripts/get_balance.cdc
index c404f50c..a4f03f2c 100644
--- a/transactions/scripts/get_balance.cdc
+++ b/transactions/scripts/get_balance.cdc
@@ -5,10 +5,8 @@ import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 
 access(all) fun main(address: Address): UFix64 {
-    let account = getAccount(address)
-    let vaultRef = account.getCapability<&{FungibleToken.Balance}>(ExampleToken.VaultPublicPath)
-        .borrow()
+    return getAccount(address).capabilities.borrow<&{FungibleToken.Vault}>(
+            ExampleToken.VaultPublicPath
+        )?.getBalance()
         ?? panic("Could not borrow Balance reference to the Vault")
-
-    return vaultRef.getBalance()
 }
diff --git a/transactions/scripts/metadata/get_token_metadata.cdc b/transactions/scripts/metadata/get_token_metadata.cdc
index 3186d0e8..c338c957 100644
--- a/transactions/scripts/metadata/get_token_metadata.cdc
+++ b/transactions/scripts/metadata/get_token_metadata.cdc
@@ -5,9 +5,7 @@ import ViewResolver from "ViewResolver"
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTView {
     let account = getAccount(address)
 
-    let vaultRef = account
-        .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{ViewResolver.Resolver}>()
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftView = FungibleTokenMetadataViews.getFTView(viewResolver: vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_data.cdc b/transactions/scripts/metadata/get_vault_data.cdc
index 10f4d422..84f68f10 100644
--- a/transactions/scripts/metadata/get_vault_data.cdc
+++ b/transactions/scripts/metadata/get_vault_data.cdc
@@ -5,9 +5,7 @@ import ViewResolver from "ViewResolver"
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTVaultData {
     let account = getAccount(address)
 
-    let vaultRef = account
-        .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{ViewResolver.Resolver}>()
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let vaultData = FungibleTokenMetadataViews.getFTVaultData(vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_display.cdc b/transactions/scripts/metadata/get_vault_display.cdc
index 24e60a7e..2a77d80c 100644
--- a/transactions/scripts/metadata/get_vault_display.cdc
+++ b/transactions/scripts/metadata/get_vault_display.cdc
@@ -5,9 +5,7 @@ import ViewResolver from "ViewResolver"
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let account = getAccount(address)
 
-    let vaultRef = account
-        .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{ViewResolver.Resolver}>()
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftDisplay = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_supply_view.cdc b/transactions/scripts/metadata/get_vault_supply_view.cdc
index f68eece8..7d9e02f7 100644
--- a/transactions/scripts/metadata/get_vault_supply_view.cdc
+++ b/transactions/scripts/metadata/get_vault_supply_view.cdc
@@ -7,9 +7,7 @@ import ViewResolver from "ViewResolver"
 access(all) fun main(address: Address): UFix64 {
     let account = getAccount(address)
 
-    let vaultRef = account
-        .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{ViewResolver.Resolver}>()
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftSupply = vaultRef.resolveView(Type<FungibleTokenMetadataViews.TotalSupply>())!
diff --git a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
index f357ddb0..ab393ebb 100644
--- a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
+++ b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
@@ -1,5 +1,6 @@
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 import MetadataViews from "MetadataViews"
+import ViewResolver from "ViewResolver"
 import ExampleToken from "ExampleToken"
 
 /// Test helper script to validate ExampleToken serves FTDisplay as expected
@@ -25,9 +26,7 @@ access(all) fun main(address: Address): Bool {
             }
         )
 
-    let vaultRef = account
-        .getCapability(ExampleToken.VaultPublicPath)
-        .borrow<&{MetadataViews.Resolver}>()
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let actual = FungibleTokenMetadataViews.getFTDisplay(vaultRef)

From 0a7e0f4e94415d2349d933515931ab8d5cc8cc2e Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 09:58:52 -0500
Subject: [PATCH 036/115] bump go version

---
 .github/workflows/ci.yml | 2 +-
 lib/go/contracts/go.mod  | 2 +-
 lib/go/templates/go.mod  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ef3afa63..5a73824b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -9,7 +9,7 @@ jobs:
       - uses: actions/checkout@v2
       - uses: actions/setup-go@v2
         with:
-          go-version: '1.18.x'
+          go-version: '1.19.x'
       - uses: actions/cache@v1
         with:
           path: ~/go/pkg/mod
diff --git a/lib/go/contracts/go.mod b/lib/go/contracts/go.mod
index 9be2e445..af827c20 100644
--- a/lib/go/contracts/go.mod
+++ b/lib/go/contracts/go.mod
@@ -1,6 +1,6 @@
 module github.com/onflow/flow-ft/lib/go/contracts
 
-go 1.18
+go 1.19
 
 require (
 	github.com/kevinburke/go-bindata v3.22.0+incompatible
diff --git a/lib/go/templates/go.mod b/lib/go/templates/go.mod
index 0b88caf7..24932a5c 100644
--- a/lib/go/templates/go.mod
+++ b/lib/go/templates/go.mod
@@ -1,6 +1,6 @@
 module github.com/onflow/flow-ft/lib/go/templates
 
-go 1.18
+go 1.19
 
 require (
 	github.com/kevinburke/go-bindata v3.22.0+incompatible

From decf6f1a2ecfb3fec5c05ef5dce302508e4564bf Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 11:47:18 -0500
Subject: [PATCH 037/115] add public burn method in ExampleToken-v2

---
 contracts/ExampleToken-v2.cdc | 12 ++++++++++
 transactions/burn_tokens.cdc  | 41 +++++++++++++++--------------------
 2 files changed, 30 insertions(+), 23 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index b2a0309b..0970dacb 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -203,6 +203,8 @@ access(all) contract ExampleToken: ViewResolver {
             return <-create Vault(balance: 0.0)
         }
 
+        // TODO: Revisit if removal of custom destructors passes
+        // See https://github.com/onflow/flips/pull/131
         destroy() {
             if self.balance > 0.0 {
                 ExampleToken.totalSupply = ExampleToken.totalSupply - self.balance
@@ -241,6 +243,16 @@ access(all) contract ExampleToken: ViewResolver {
         return <- create Vault(balance: 0.0)
     }
 
+    /// Function that destroys a Vault instance, effectively burning the tokens.
+    ///
+    /// @param from: The Vault resource containing the tokens to burn
+    ///
+    // TODO: Revisit if removal of custom destructors passes
+    // See https://github.com/onflow/flips/pull/131
+    access(all) fun burnTokens(from: @ExampleToken.Vault) {
+        destroy from
+    }
+
     init() {
         self.totalSupply = 1000.0
 
diff --git a/transactions/burn_tokens.cdc b/transactions/burn_tokens.cdc
index fddae2d7..6f7ee0b6 100644
--- a/transactions/burn_tokens.cdc
+++ b/transactions/burn_tokens.cdc
@@ -1,45 +1,40 @@
-// This transaction is a template for a transaction that
-// could be used by the admin account to burn tokens
-// from their stored Vault
-//
-// The burning amount would be a parameter to the transaction
-
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 
+/// This transaction is a template for a transaction that could be used by the admin account to burn tokens from their
+/// stored Vault
+///
+/// The burning amount would be a parameter to the transaction
+///
 transaction(amount: UFix64) {
 
-    /// Vault resource that holds the tokens that are being burned
-    let vault: @FungibleToken.Vault
-
-    /// Reference to the ExampleToken Admin object
-    let admin: &ExampleToken.Administrator
-
     /// The total supply of tokens before the burn
     let supplyBefore: UFix64
 
+    /// Vault resource that holds the tokens that are being burned
+    let burnVault: @ExampleToken.Vault
+
     prepare(signer: auth(BorrowValue) &Account) {
 
         self.supplyBefore = ExampleToken.totalSupply
 
-        // Withdraw 10 tokens from the admin vault in storage
-        self.vault <- signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)!
-            .withdraw(amount: amount)
-
-        // Create a reference to the admin admin resource in storage
-        self.admin = signer.storage.borrow<&ExampleToken.Administrator>(from: ExampleToken.AdminStoragePath)
-            ?? panic("Could not borrow a reference to the admin resource")
+        // Withdraw tokens from the signer's vault in storage
+        let sourceVault = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(
+                from: ExampleToken.VaultStoragePath
+            ) ?? panic("Could not borrow a reference to the signer's ExampleToken vault")
+        self.burnVault <- sourceVault.withdraw(amount: amount) as! @ExampleToken.Vault
     }
 
     execute {
-        let burner <- self.admin.createNewBurner()
 
-        burner.burnTokens(from: <-self.vault)
+        ExampleToken.burnTokens(from: <-self.burnVault)
 
-        destroy burner
     }
 
     post {
-        ExampleToken.totalSupply == self.supplyBefore - amount: "The total supply must be decreased by the amount"
+        ExampleToken.totalSupply == (self.supplyBefore - amount):
+            "Before: ".concat(self.supplyBefore.toString())
+            .concat(" | After: ".concat(ExampleToken.totalSupply.toString()))
+            .concat(" | Expected: ".concat((self.supplyBefore - amount).toString()))
     }
 }

From 96c6233fd04fb2010583e6740304255b90a49a2a Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 11:48:11 -0500
Subject: [PATCH 038/115] update create_forwarder & generic_transfer txns for
 Cadence 1.0

---
 transactions/create_forwarder.cdc | 13 +++++++------
 transactions/generic_transfer.cdc |  5 +++--
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/transactions/create_forwarder.cdc b/transactions/create_forwarder.cdc
index 84a5df2d..64901bc3 100644
--- a/transactions/create_forwarder.cdc
+++ b/transactions/create_forwarder.cdc
@@ -29,10 +29,11 @@ import TokenForwarding from "TokenForwarding"
 
 transaction(receiver: Address) {
 
-    prepare(acct: auth(BorrowValue) &Account) {
+    prepare(acct: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
 
         // Get the receiver capability for the account being forwarded to
         let recipient = getAccount(receiver).capabilities.get<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
+            ?? panic("Could not borrow receiver capability from recipient account")
 
         // Create the forwarder and save it to the account that is doing the forwarding
         let vault <- TokenForwarding.createNewForwarder(recipient: recipient)
@@ -43,14 +44,14 @@ transaction(receiver: Address) {
 
         // Link the new forwarding receiver capability
         let tokenReceiverCap = acct.capabilities.storage.issue<&{FungibleToken.Receiver}>(
-            /storage/exampleTokenForwarder
-        )
+                /storage/exampleTokenForwarder
+            )
         acct.capabilities.publish(tokenReceiverCap, at: ExampleToken.VaultPublicPath)
 
         // Link the new ForwarderPublic capability
         let tokenForwarderCap = acct.capabilities.storage.issue<&{TokenForwarding.ForwarderPublic}>(
-            /storage/exampleTokenForwarder
-        )
+                /storage/exampleTokenForwarder
+            )
         acct.capabilities.publish(tokenForwarderCap, at: /public/exampleTokenForwarder)
     }
-}
\ No newline at end of file
+}
diff --git a/transactions/generic_transfer.cdc b/transactions/generic_transfer.cdc
index 697c1570..9b50bafa 100644
--- a/transactions/generic_transfer.cdc
+++ b/transactions/generic_transfer.cdc
@@ -9,7 +9,7 @@ import FungibleToken from "FungibleToken"
 transaction(amount: UFix64, to: Address, senderPath: StoragePath, receiverPath: PublicPath) {
 
     // The Vault resource that holds the tokens that are being transferred
-    let tempVault: @FungibleToken.Vault
+    let tempVault: @{FungibleToken.Vault}
 
     prepare(signer: auth(BorrowValue) &Account) {
 
@@ -22,7 +22,8 @@ transaction(amount: UFix64, to: Address, senderPath: StoragePath, receiverPath:
 
     execute {
         let recipient = getAccount(to)
-        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(receiverPath)!
+        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(receiverPath)
+            ?? panic("Could not borrow reference to the recipient's Receiver!")
 
         // Transfer tokens from the signer's stored vault to the receiver capability
         receiverRef.deposit(from: <-self.tempVault)

From 0e2e2a9e8cd5955495a3d6ccfca7c62b6c46f561 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 11:48:36 -0500
Subject: [PATCH 039/115] update go assets

---
 lib/go/contracts/internal/assets/assets.go |  6 +++---
 lib/go/templates/internal/assets/assets.go | 24 +++++++++++-----------
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 1247c9ba..42978cce 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,6 +1,6 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (11.404kB)
+// ../../../contracts/ExampleToken-v2.cdc (11.893kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
 // ../../../contracts/FungibleToken-v2.cdc (10.649kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x6f\xdb\x38\xd6\xef\xf9\x15\xa7\xfe\x80\xf9\x6c\x4c\xe2\x64\x6e\xdd\x19\x23\x69\x26\xd3\x36\xbb\x0b\xcc\x00\x45\x9b\xe9\x3c\x14\x45\x4b\x4b\xc7\x36\xb7\x12\x29\x90\x94\x1d\x4f\xd0\xff\xbe\x38\xbc\x48\xa4\x2c\x39\x4e\xda\xa7\xf5\x4b\x22\x91\xe7\xf0\xdc\x6f\x14\x2f\x2b\xa9\x0c\x5c\xd7\x62\xc9\xe7\x05\xde\xc8\x4f\x28\x60\xa1\x64\x09\xa3\xe4\xdd\xe8\xc8\xef\xfc\x03\x0d\xcb\x99\x61\x6f\x39\x6e\xb4\xdf\x99\xbc\x6b\x76\x26\xf0\x7d\x60\xc3\x1b\xda\xd3\xea\xc2\xf0\xaa\xc0\xb7\xac\x2e\x4c\x73\x5c\xf2\xb2\xd9\x4b\x90\xaf\x51\xcb\x62\x8d\xca\xef\x8c\x5f\x8d\x8e\x8e\x58\x96\xa1\xd6\x63\x56\x14\x13\xc8\xa4\x30\x8a\x65\x06\x5e\xde\xb2\xb2\xf2\x44\xcc\x52\x24\x77\x47\x47\x00\x00\xa7\xa7\xa7\x70\xb3\x42\xc0\x35\x0a\x03\x66\xc5\x0c\x70\x0d\x58\x72\x63\x30\x87\xcd\x0a\x05\x08\xdc\x80\x21\x0c\x1a\x98\x42\x28\xb9\x30\x98\x5b\xe0\xf8\x4c\x87\xc0\x9e\xa4\xff\xb0\x5b\xc6\xac\x94\xb5\x30\x33\xf8\xf3\x9a\xdf\x3e\xfd\xf1\x18\xcc\xb6\xc2\x19\xbc\x31\x8a\x8b\xe5\x24\x3a\x5e\x1a\x56\x80\xae\xab\xaa\xd8\x82\x5c\x24\x44\x6b\xe0\x02\xf0\x96\x6b\x83\x22\xc3\x9d\x43\xd7\x4c\x81\x21\xf0\x37\x16\x3a\x1c\xd5\xe2\xbe\xca\x4b\x2e\xe0\x15\x33\xab\x1d\xd8\x02\x8d\x5b\x7e\x63\xa4\x62\x4b\xa4\x4d\x44\x5d\xf3\xd0\x62\xf9\x53\xa3\xb2\x48\x74\x2f\x16\xab\xab\x41\x2c\x83\x10\xaf\xea\x79\xc1\x33\x07\xd0\xfe\xdf\x9e\x7a\x5d\x8b\xcc\x70\x29\xc0\x48\x50\x68\x6a\x25\xc0\xac\xd0\x4a\x51\x3b\x4d\xd1\x63\xa3\x6b\x4e\x42\x2b\x51\x98\x5d\x22\xd7\x1c\x37\xb0\xa8\x05\x2c\xd1\xd8\xa3\x6f\x08\xc7\x78\x32\x83\x77\xf4\xdf\x7b\xb8\xb3\x20\xf4\x23\xea\xe8\x84\x2b\xa5\xd8\xb6\x59\xbf\x70\xff\x9c\xff\x1a\xeb\x66\x6a\x51\x3d\x1b\x4f\xde\x37\xd0\x81\xcc\x80\xc0\x2e\x7c\x3e\xda\x4f\x10\x39\xc5\x20\x2d\x6b\x3a\xe3\x35\x2e\xe0\x02\x34\x16\x8b\x29\xcb\x32\x32\xaa\x69\xc6\x2a\x36\xe7\x05\x37\x1c\xf5\x74\x2e\x95\x92\x9b\xf3\x6f\xfa\xa8\x3b\xad\xac\x68\x4f\x31\x5a\xb3\x4b\x93\xe6\x1c\xfa\x5d\x5e\x42\xc5\x04\xcf\xc6\xa3\xe7\xb2\x2e\x72\x10\xd2\x80\x43\x0b\x0c\x14\x2e\x50\x91\x01\x92\x2a\x48\xe8\x96\x2a\x50\xc1\xfb\x5a\x54\x5d\x49\x04\xf2\xa7\x2d\xa3\x43\x32\x21\x71\x78\x8c\xb4\x73\xfc\xc1\x4a\x69\x06\x24\x95\xc9\x0c\xae\xc4\xf6\x8d\x51\x75\x66\x2e\xff\x47\x25\x14\xf3\x4e\x9c\x27\x82\x22\x7f\xb0\x34\x85\xa7\xe6\xed\x4b\x96\xad\xa0\x26\x07\xd5\x46\x2a\xd4\xc0\x04\x70\xa1\x0d\x23\x62\xe4\x02\xa4\x28\xb6\x96\x22\x0b\x4e\xe1\xc4\xac\x90\xbb\xdd\x6c\x89\x49\x10\x5c\x78\x8f\xd3\x7e\x9b\x87\x61\x22\x87\xa5\x5c\xa3\x12\x98\xc3\xdc\x61\xab\x14\xda\xf7\x95\xd4\x86\x7c\x30\xe7\x16\xb0\x41\xc7\x45\x27\xef\xd8\x50\x6a\x56\xb8\xb5\x41\x34\x63\x45\x81\xf9\x34\x39\x3d\x5b\x61\xf6\x49\xc3\x8a\x55\x15\x0a\x60\x06\x54\x2d\x0c\x2f\xd1\x82\x22\xc5\x6c\xd6\x50\x48\x41\xba\x83\xa3\xc1\x45\x21\xbe\x56\x19\xd2\x0e\xe1\xf8\x9f\x23\x64\x0a\x19\x85\x74\xcf\x19\x85\x0d\xbc\x35\x24\xa1\x24\x8a\x84\xb8\xb2\x6d\xd0\x11\xb9\x39\x2e\xb8\xb0\xc0\xc7\xa0\xad\x82\x15\x12\x09\x42\xc2\x86\x6d\x61\x21\x89\xb6\x92\x15\x3c\xe3\xb2\xd6\x4e\x1d\x46\xfa\x33\x9d\x14\x5b\xd1\xc8\xda\x1f\xcb\x05\x30\xae\xa6\x70\x05\xba\xc2\x8c\xb3\x02\x6c\xe2\x50\xd6\x6c\x88\x03\x10\x88\xb9\x26\x4c\xf3\x96\x06\x23\x6d\x0a\x6a\xd0\xb5\xe9\x29\x15\x45\xec\x5b\x0d\x42\x4b\xca\x2c\x55\x8d\xf3\x83\x90\x10\x63\x8d\xd8\xd4\x02\x73\x56\x04\x63\x32\x2b\xae\x9d\xc5\x36\x7b\xbb\xe9\xc8\xef\x4e\x53\x51\xb4\x91\x7c\xd4\xed\xd4\xfb\x32\x46\x2f\x44\xb5\x27\x63\xb4\xda\x27\xb7\xd2\x56\xab\xfe\x04\xa8\x98\x59\x91\x15\x29\x8c\x7c\x53\xaf\xac\x1b\x9b\x6d\xc5\xc9\x92\xac\x91\x58\x17\xca\xfb\x79\x8b\x42\xf6\x0b\x5c\x74\x52\x1e\xc5\xef\xe8\x31\x8e\x51\x91\xaf\xdb\xf8\xa4\x7b\x38\xfd\x3c\xcc\x83\xe3\x39\x65\x21\x28\x21\xf0\xb0\x62\x6b\x04\x16\xb6\x36\x81\x6f\x7b\x28\x23\xad\x2c\x89\x8f\xf6\x69\x1f\x1b\xad\x2e\xfa\xb8\x78\x78\xb2\x8b\xf0\xbf\x4b\x5e\xd2\xcf\x26\xdf\xe1\x92\x72\x7a\x7d\x43\x7f\x9f\x8d\x27\xc7\x8f\x00\x7d\xc1\x75\x55\xb0\xed\x23\xa1\xad\xf3\xbc\x60\x86\x3d\x0a\xfe\xa6\x2d\xde\x9e\x8d\xd3\x7c\xf3\xfe\x3e\xb9\x3e\x26\x61\xd2\x4f\x6f\xb8\xc9\x56\x4e\x2d\x77\x3b\x14\x67\x4c\xe3\xe1\xf2\x9e\xed\xc0\x47\x7a\xbc\x17\xc1\xb8\x17\x9a\x7e\x0b\xe3\xb5\x32\x73\xd6\x16\xf3\xf9\x10\x8d\x4e\x80\xe9\x27\xfb\x09\xf1\x9b\x2f\x77\x95\xd7\x12\xd3\x28\xf9\x51\xe4\xc4\x26\x72\x00\x41\xcd\xf6\xcb\x5e\x8a\x26\x8f\x55\x59\x2b\x95\x7e\xad\x51\x31\x55\x62\xce\x19\x5c\xa4\x9d\xe0\xf4\x0f\x7a\x3b\xac\x2c\x2b\x23\x5e\xe0\xac\x03\xf6\xaf\x9b\x9b\x57\xd7\xbc\xc0\xfd\x90\xb5\x2a\x66\x30\x5a\x19\x53\xe9\xd9\xe9\x29\xd3\x1a\x8d\x9e\x6e\x70\xae\xb9\xc1\x13\x42\xab\xa7\x99\x2c\x4f\x7f\x5a\x3c\xfd\xfe\x97\x1f\xb3\xb3\xec\x1f\xec\xe7\x2c\xcf\x9f\xfe\xf8\xc3\xfc\xbb\xec\xe7\xef\xcf\x3a\x0b\xec\xa7\x9f\xb2\xf9\x77\xd9\x2f\x3f\x3c\xfd\x70\x5d\xc8\xcd\x87\xbf\xa4\xca\x4b\xa6\x3e\x4d\xf5\x7a\x39\x1a\xa4\xa3\xc7\x73\xc3\xcf\x4a\xe4\xc6\x76\x6e\x23\x5e\xb2\x25\x9e\xea\xf5\xf2\xdb\xdb\xb2\xe8\xc7\xb6\xab\x9d\x44\xb4\xba\x5f\xb6\x7a\xfc\xce\x2e\xbf\xef\x07\x3f\xc4\x9f\xbc\x76\x87\x65\x2d\x58\x49\x3c\xf8\x0a\xb8\x41\xe6\x5a\xd6\xd1\xb0\x00\xf4\xb6\x9c\x4b\x52\xd1\xcb\xeb\x9b\x3d\xdb\x72\xd4\x99\xe2\x15\x15\x67\x33\x18\xdd\x50\x8e\x5a\x84\x23\x6c\x79\x42\xf5\x52\xad\x31\x07\x66\x6b\x54\x5f\x6d\x53\x39\xb3\xc2\xa2\x82\xad\xac\x21\xc7\x35\x16\xd2\xfe\xaf\x40\x50\x79\x76\x7d\x03\xff\x27\x05\x69\x72\xba\xe7\x6c\xbc\x35\xa8\x04\x2b\xfe\x7c\xfd\x7b\xd7\x06\x5f\xb6\x4b\xe3\xc6\xc8\xfc\xd9\x27\x0b\x33\x95\x62\x41\xc8\xa5\x5a\x8e\xf6\x18\x41\x21\x97\x52\xcf\xbc\x0a\xf7\x88\x4a\x52\x15\xa7\x67\x3d\x61\x35\xfe\x8d\xcc\x86\x1b\x83\x6a\x74\x10\xb1\x7e\xb3\x75\x02\xa2\xf5\xc3\xbc\x90\xd9\xa7\x6c\xc5\xb8\x18\xf5\x9b\x0b\xd8\x9c\xd1\xf7\xf6\xd1\xb1\x23\x0e\x61\xc3\xd1\x23\x6a\xc5\x92\x46\x2b\xb4\x64\xbe\xf4\xd9\xdb\x8d\x2d\x94\x2c\x67\x3b\x95\xd2\x30\xa3\x0f\x6b\xcb\x5c\x81\xe7\x08\x1d\x90\xde\x41\xc9\x2b\x88\x63\xd8\xdd\x92\xea\xb6\xcb\xce\xb0\x09\x29\xcc\x90\xaf\x51\x45\x70\x6d\xa5\xb5\x2f\x4a\x39\x02\x1f\x08\x56\x29\xb9\xe6\x79\x38\xed\xb4\x52\x7c\xcd\x0c\xee\x76\xc2\xf7\xd3\xfb\x3b\x17\x9f\x30\x77\x71\xd2\x9a\x53\xaf\x72\xf7\xc6\x59\xc7\xc1\x17\x23\x0a\x3c\x7d\x31\x22\xd7\xbd\xbd\x2c\x2b\xb3\xb5\x9b\xc3\x3c\x6a\x06\xe3\x45\x2d\xa8\x88\xfd\xf5\xae\xa7\x91\xfa\x7c\x8f\xf7\x7b\xfb\x3a\x3f\x69\x3a\xff\xee\x41\xe3\x3d\x6e\xdd\xbf\xf4\x48\xbf\x4e\xab\xcf\xc7\xd6\x72\x11\x96\x61\x77\x48\xa6\x94\x89\x22\xa2\x95\x03\x78\xfb\xdc\xd7\x30\x08\x5e\x0c\xb5\x52\x4b\x34\x84\x5b\x2a\x83\x79\x3b\xfa\x03\x69\x13\x95\x6d\xfb\x94\x6f\xb6\x18\x14\x5c\xdb\xce\xdc\xf5\x56\xc9\x9c\x91\xeb\xc6\xd2\x6d\x0d\x5e\xf9\x7e\x1e\xf6\xf4\x3a\x3d\xe7\x92\xd1\xdc\x39\x93\xfc\x4d\xca\xa2\x6b\x2a\x14\x43\x75\x80\xb2\x00\x9d\xed\x17\x70\x97\x0a\x20\xdd\xfd\xce\x3a\xfe\x12\xed\x61\xe3\xc9\x7b\xb8\x00\xa3\x6a\xec\xed\xe1\x12\xc0\x83\x5b\x38\xae\x77\xb9\x1a\x9b\xc6\xc7\x26\x8e\xd0\x3d\x6d\xe3\x90\x5c\xde\x19\xdb\x0f\x5e\x5e\xc2\x82\x15\x1a\xfb\xd5\x09\x5c\x70\xc3\x59\xc1\xff\x76\x8d\x7c\x98\x4c\x30\xd3\x4e\x38\xac\x33\xd9\xa9\x31\x2f\x5b\x34\x04\x38\xee\x8c\x26\x26\xdd\xbe\x88\xe8\x0b\x28\x2f\x02\xf2\x1d\x05\xf1\x1c\x85\xe1\x0b\x8e\x0a\x2e\x60\xb4\x13\x2a\x47\xbb\x38\xa3\xc0\x0f\x17\xf1\x98\x60\xdc\xe2\x9a\x45\x78\x27\x4f\x76\x71\xb4\xd1\x1c\x2e\xa2\x0e\xfd\x7e\x0c\x1d\x7f\xf8\x27\x9a\x44\x74\x7e\xfe\xb5\x67\xa6\x13\x59\xf4\x6f\x0e\x88\xac\xd8\x89\x70\x8f\xa2\xbb\xe2\xeb\xd0\xb1\xe1\x66\x95\x2b\xb6\x89\x5f\x26\x1b\xda\xe9\xbf\xf5\x40\xf6\xc9\x8d\x36\xdd\x9d\x8a\xaf\x21\x99\x5a\xd6\x25\x0a\x93\x00\x32\x91\x37\xd8\xbd\xff\x7a\x20\x7b\x6f\xd4\x8c\x35\xa7\x83\x47\xff\xdb\xf8\xd8\x4f\x41\xc1\x8e\xd7\xb0\xac\xa4\x62\x6a\xeb\x07\xa2\xe1\x9a\xc8\x96\xb3\x54\xc0\xca\x22\x4f\x30\xd8\x7b\x0a\x77\x7f\xe3\x08\x50\x08\x73\xe4\x62\x09\x46\x31\xa1\x17\xa8\x14\xe6\x53\x3a\x48\x45\xa3\x1e\x81\x9b\x28\x06\x12\x9e\x30\xb4\xf4\xc7\xca\x64\x74\x69\x31\xbb\x21\x28\x68\x09\xdc\xd8\x79\xa7\x9d\x14\x56\x92\xba\xa7\x94\x26\x2c\x34\xda\x01\x52\x3f\xe3\x5e\xe7\x69\x42\xfb\xcb\xcb\x91\xcd\x0b\x74\x03\x87\x20\xd9\xce\xe5\x16\x25\xc3\xdd\xf4\xba\xdf\xc1\x92\xc7\x13\xaf\xa4\x3e\x7b\x3a\x3f\x89\x07\xa9\xad\x1b\x3b\x88\xc9\x90\x89\x79\x31\x3c\xcc\xc2\xbc\xa8\xe5\xfc\x3f\x98\x75\xcd\xcc\x9a\x16\xcb\x73\x9d\xa0\xe1\x46\x37\xde\xe4\x35\xd4\x71\x2e\xb9\x11\xa8\xf4\x01\x56\xc7\x35\xb0\xa2\x90\x1b\x67\x55\x39\x6a\xa3\xa4\x1b\xb7\x6b\x3a\xde\x91\x36\xc7\x8c\xd5\x1a\x5b\x43\x4e\xfd\x8a\x48\x8e\x0c\x96\x4c\x13\x55\xa0\xc4\xcf\x89\xed\x70\xd7\xc2\xfe\x7f\x4b\xfb\x8a\xa5\x7c\xcd\x11\x05\xd9\x9a\xae\x4b\x6a\xda\x44\xee\xc6\xde\x0b\x69\xc7\xf7\xde\xd0\x2c\x85\x61\x08\x3f\x60\x52\xcd\xb0\xca\x2b\xc4\x97\xf8\xfd\xc5\x53\x37\x28\x37\x6d\x05\x9c\x9f\x38\x07\x66\xfa\x49\x9f\xad\x1d\x6c\x69\xdf\x3a\x7c\x3b\x01\x8a\x7e\xc9\x0a\x5c\xc0\xd9\xf4\x2c\x59\x0f\x2a\x49\xc3\xe5\x6e\xd2\xbc\xcf\x8b\x42\x14\xd8\xb9\x22\x0e\x45\xc6\x0c\x9e\x37\x53\xdc\xf3\x6f\x3a\x92\x7a\xed\x37\x7d\x7e\xd6\x27\xad\x80\xfb\x6d\x90\x9a\xe5\x7e\xc7\x6f\x83\xf3\x24\xf0\x3e\x41\xf4\x34\x4e\x0a\x33\x5e\x71\x14\x64\x31\xe1\xfc\x9d\xa3\x03\xf5\xae\x05\x0c\x4f\xbe\xdd\xeb\xa9\x6a\xf7\xf4\x6e\x4d\xb5\xb5\x97\x92\xb7\xbe\x8f\xeb\x32\xf1\xc2\x59\x9a\xdd\x1f\x38\x17\x21\x22\xfb\x1b\xa0\x18\x8f\xea\xe3\x28\xe2\x66\x9a\x9a\xee\xf9\x49\x22\xe4\xc1\x08\xd4\x2d\xec\x0f\x0c\x45\x69\xf2\x71\x7a\x24\x2e\x80\xc5\x91\xe5\x6f\x54\x72\x27\xf1\x85\x74\xc2\xdb\x6c\xc1\x8a\x82\x12\x8f\xcf\x1a\x53\xb8\x72\xd7\x53\x65\xad\x5d\xf6\x70\xd5\x6d\xb8\x58\xdb\xc1\x68\x3b\x66\x2f\x30\xc2\xdd\x64\xa3\xee\x4d\x22\xbd\x90\x2a\x77\x37\x5f\x36\x8c\xb9\xf5\x14\xa3\x9b\x04\xf8\x2b\x2d\xe6\x86\x43\x41\xd2\x21\x40\xe8\xe6\xaa\xc9\x0d\x8e\xa8\x34\x3c\x2c\xc2\xec\x76\x52\x87\xe4\xa5\x7b\xd2\xcc\xd9\xf4\xac\x57\xc3\x3e\x18\x8c\xbb\x4e\xc8\x17\x69\xc0\x79\x46\x18\x7a\x9a\xc2\xa1\x2e\xa8\x3b\x3d\x89\x97\x4e\xfa\x8b\x2b\x48\x3a\x23\xf7\x5f\x74\x73\xec\xae\x15\x8f\x60\xe0\xa2\x34\x64\x3b\x97\x07\xad\xc8\x99\xfd\x6e\xc4\x6b\xcb\x5d\xa4\x52\x26\x09\x97\x8f\x0f\xbb\x74\xf4\xb7\x9a\x77\x89\x25\x10\x1a\xf7\x89\xcb\x81\x5e\x41\x00\x3a\x3a\xf8\xd8\xa6\x62\xb2\xb1\x32\xd8\xba\x89\xbe\xa4\x39\x1e\xf4\x8d\x18\xa2\xeb\x1d\x07\x59\x59\x4b\xfa\x63\xaa\xa0\x4a\x61\x8f\x31\xf8\x12\xd5\xda\xca\x0c\x46\x57\xee\xd1\x7d\x6b\xe4\x7c\x75\x8e\xb0\xb4\xf6\xa9\x48\x1e\xc2\xfa\xff\x68\x4f\x6f\xfc\x18\xf3\xfa\xb6\xaf\x0a\xc3\x92\x0f\x7c\xd8\xe4\xfe\x86\x0f\x9b\xd2\xe6\x73\x1a\x75\x23\x5f\x56\xd4\x75\x8c\xb9\x37\xa8\xc6\x66\xfd\x45\xc1\xf4\xeb\x06\xd2\xaf\x1b\x44\xbf\x42\x00\xed\xf3\xd3\xc7\x05\xce\x46\x8d\x70\x4f\xd4\xf4\xaa\xb3\x1d\x78\x1c\x2a\xad\xb9\xa4\x76\xf9\xdd\xd9\x19\x55\x5c\xe9\x96\xee\x37\x6a\x70\x01\xa7\x5e\x5a\xc9\xa0\xd2\x7d\xea\x96\x8c\x0b\x9e\x3b\xca\xda\x2f\x59\xac\xe2\xbb\x91\xc2\x0a\xcb\x7f\xdf\x47\xba\x62\x6b\x24\xb5\x73\x91\x7c\x23\xe3\x50\x36\xff\x26\x75\x69\xbf\x04\xba\x0c\x4e\x52\xbe\xba\x5f\xcd\xc1\x85\x2f\x3f\x07\x3e\x30\x78\xd2\x03\xfe\x2a\x9e\x0a\x74\xa1\xe3\x5b\xfd\x0e\x70\x77\x20\x4f\x3c\x8f\xfd\x44\xf2\x18\x8c\x9c\xf5\x93\x38\xe9\x93\x6e\xcf\x77\x07\x9d\x69\x7b\xd4\x34\xe3\x6d\x25\x35\xc6\x21\xdf\x6e\xfc\xe8\x0d\xf7\x23\x94\x68\x56\xd2\xb5\x1b\x4b\x34\x57\x76\xd4\xe6\x87\x54\x61\xcd\xac\x94\xac\x97\x4e\x8f\x1f\x43\x2d\xfa\x11\x6c\x92\x59\xb0\x2c\x56\x57\x68\x5b\xe0\x63\x3c\xbd\xf8\xd8\x8b\xc9\x2f\xf7\x23\x4a\xf4\x1e\x5b\xdd\x73\x56\xed\xfd\xf0\x2c\x48\x98\x6b\x5d\xe3\x4e\x25\xef\x7a\x9e\x67\xe3\x01\x69\xf7\xea\x2c\x41\x6f\x45\xaf\x57\xe3\x0e\x49\xc7\xc0\xcc\xac\xd7\x4e\x22\x15\x12\x2b\x2e\xcf\xb7\x26\xec\x52\xf5\x78\xe0\xe8\x8e\xb9\x58\xe0\xc8\x5c\xba\x9e\x1a\xfc\xff\xf3\x11\x1c\xfd\x37\x00\x00\xff\xff\xfb\xb7\x34\x17\x8c\x2c\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x8f\xdb\x36\x97\xef\xf3\x2b\x4e\xbc\x40\xd7\x46\x67\xec\x49\x2f\xd9\xd6\xc8\x24\x4d\x93\xcc\xee\x02\x2d\x1a\x24\xd3\xf4\x21\x08\x12\x5a\x3a\xb2\xf9\x45\x22\x05\x92\xb2\xe3\x06\xf9\xef\x1f\x0e\x2f\x12\x29\x4b\x1e\x67\xd2\xa7\xcf\x2f\x33\x92\x78\x0e\xcf\xfd\x46\xf2\xaa\x96\xca\xc0\x75\x23\xd6\x7c\x55\xe2\x8d\xfc\x80\x02\x0a\x25\x2b\x98\x24\xef\x26\x67\x7e\xe5\xef\x68\x58\xce\x0c\x7b\xcd\x71\xa7\xfd\xca\xe4\x5d\xbb\x32\x81\x1f\x02\x1b\x5f\xd0\xed\xd6\x94\x86\xd7\x25\xbe\x66\x4d\x69\xda\xed\x92\x97\xed\x5a\x82\x7c\x89\x5a\x96\x5b\x54\x7e\x65\xfc\x6a\x72\x76\xc6\xb2\x0c\xb5\x9e\xb2\xb2\x9c\x41\x26\x85\x51\x2c\x33\xf0\xfc\x23\xab\x6a\x4f\xc4\x32\x45\xf2\xe9\xec\x0c\x00\x60\xb1\x58\xc0\xcd\x06\x01\xb7\x28\x0c\x98\x0d\x33\xc0\x35\x60\xc5\x8d\xc1\x1c\x76\x1b\x14\x20\x70\x07\x86\x30\x68\x60\x0a\xa1\xe2\xc2\x60\x6e\x81\xe3\x3d\x1d\x02\xbb\x93\xfe\xdd\x2e\x99\xb2\x4a\x36\xc2\x2c\xe1\xcf\x6b\xfe\xf1\xc1\x0f\xe7\x60\xf6\x35\x2e\xe1\x95\x51\x5c\xac\x67\xd1\xf6\xd2\xb0\x12\x74\x53\xd7\xe5\x1e\x64\x91\x10\xad\x81\x0b\xc0\x8f\x5c\x1b\x14\x19\x1e\x6c\xba\x65\x0a\x0c\x81\xbf\xb2\xd0\x61\xab\x0e\xf7\x93\xbc\xe2\x02\x5e\x30\xb3\x39\x80\x2d\xd1\xb8\xcf\xaf\x8c\x54\x6c\x8d\xb4\x88\xa8\x6b\x1f\x3a\x2c\x7f\x6a\x54\x16\x89\x1e\xc4\x62\x75\x35\x8a\x65\x14\xe2\x45\xb3\x2a\x79\xe6\x00\xba\xff\xbb\x5d\xaf\x1b\x91\x19\x2e\x05\x18\x09\x0a\x4d\xa3\x04\x98\x0d\x5a\x29\x6a\xa7\x29\x7a\x6c\x75\xcd\x49\x68\x15\x0a\x73\x48\xe4\x96\xe3\x0e\x8a\x46\xc0\x1a\x8d\xdd\xfa\x86\x70\x4c\x67\x4b\x78\x43\xff\xbd\x85\x4f\x16\x84\x7e\x44\x1d\xed\xf0\x44\x29\xb6\x6f\xbf\x5f\xb9\x7f\x1e\xfe\x12\xeb\x66\x6e\x51\x3d\x9a\xce\xde\xb6\xd0\x81\xcc\x80\xc0\x7e\xf8\x7c\x76\x9c\x20\x72\x8a\x51\x5a\xb6\xb4\xc7\x4b\x2c\xe0\x0a\x34\x96\xc5\x9c\x65\x19\x19\xd5\x3c\x63\x35\x5b\xf1\x92\x1b\x8e\x7a\xbe\x92\x4a\xc9\xdd\xc3\x6f\x86\xa8\x5b\xd4\x56\xb4\x0b\x8c\xbe\xd9\x4f\xb3\x76\x1f\xfa\x3d\x7e\x0c\x35\x13\x3c\x9b\x4e\x9e\xca\xa6\xcc\x41\x48\x03\x0e\x2d\x30\x50\x58\xa0\x22\x03\x24\x55\x90\xd0\x2d\x55\xa0\x82\xf7\x75\xa8\xfa\x92\x08\xe4\xcf\x3b\x46\xc7\x64\x42\xe2\xf0\x18\x69\xe5\xf4\x9d\x95\xd2\x12\x48\x2a\xb3\x25\x3c\x11\xfb\x57\x46\x35\x99\x79\xfc\x1f\x2a\xa1\x98\x77\xe2\x3c\x11\x14\xf9\x83\xa5\x29\x3c\xb5\x6f\x9f\xb3\x6c\x03\x0d\x39\xa8\x36\x52\xa1\x06\x26\x80\x0b\x6d\x18\x11\x23\x0b\x90\xa2\xdc\x5b\x8a\x2c\x38\x85\x13\xb3\x41\xee\x56\xb3\x35\x26\x41\xb0\xf0\x1e\xa7\xfd\x32\x0f\xc3\x44\x0e\x6b\xb9\x45\x25\x30\x87\x95\xc3\x56\x2b\xb4\xef\x6b\xa9\x0d\xf9\x60\xce\x2d\x60\x8b\x8e\x8b\x5e\xde\xb1\xa1\xd4\x6c\x70\x6f\x83\x68\xc6\xca\x12\xf3\x79\xb2\x7b\xb6\xc1\xec\x83\x86\x0d\xab\x6b\x14\xc0\x0c\xa8\x46\x18\x5e\xa1\x05\x45\x8a\xd9\xac\xa5\x90\x82\x74\x0f\x47\x8b\x8b\x42\x7c\xa3\x32\xa4\x15\xc2\xf1\xbf\x42\xc8\x14\x32\x0a\xe9\x9e\x33\x0a\x1b\xf8\xd1\x90\x84\x92\x28\x12\xe2\xca\xbe\x45\x47\xe4\xe6\x58\x70\x61\x81\xcf\x41\x5b\x05\x2b\x24\x12\x84\x84\x1d\xdb\x43\x21\x89\xb6\x8a\x95\x3c\xe3\xb2\xd1\x4e\x1d\x46\xfa\x3d\x9d\x14\x3b\xd1\xc8\xc6\x6f\xcb\x05\x30\xae\xe6\xf0\x04\x74\x8d\x19\x67\x25\xd8\xc4\xa1\xac\xd9\x10\x07\x20\x10\x73\x4d\x98\x56\x1d\x0d\x46\xda\x14\xd4\xa2\xeb\xd2\x53\x2a\x8a\xd8\xb7\x5a\x84\x96\x94\x65\xaa\x1a\xe7\x07\x21\x21\xc6\x1a\xb1\xa9\x05\x56\xac\x0c\xc6\x64\x36\x5c\x3b\x8b\x6d\xd7\xf6\xd3\x91\x5f\x9d\xa6\xa2\x68\x21\xf9\xa8\x5b\xa9\x8f\x65\x8c\x41\x88\xfa\x48\xc6\xe8\xb4\x4f\x6e\xa5\xad\x56\xfd\x0e\x50\x33\xb3\x21\x2b\x52\x18\xf9\xa6\xde\x58\x37\x36\xfb\x9a\x93\x25\x59\x23\xb1\x2e\x94\x0f\xf3\x16\x85\xec\x67\x58\xf4\x52\x1e\xc5\xef\xe8\x31\x8e\x51\x91\xaf\xdb\xf8\xa4\x07\x38\xfd\x3c\xce\x83\xe3\x39\x65\x21\x28\x21\xf0\xb0\x61\x5b\x04\x16\x96\xb6\x81\x6f\x7f\x2a\x23\x9d\x2c\x89\x8f\xee\xe9\x18\x1b\x9d\x2e\x86\xb8\xf8\xf2\x64\x17\xe1\x7f\x93\xbc\xa4\x9f\x4d\xbe\xe3\x25\xe5\xfc\xfa\x86\xfe\x3e\x9a\xce\xce\xef\x00\xfa\x8c\xeb\xba\x64\xfb\x3b\x42\x5b\xe7\x79\xc6\x0c\xbb\x13\xfc\x4d\x57\xbc\x3d\x9a\xa6\xf9\xe6\xed\x6d\x72\xbd\x4b\xc2\xa4\x9f\xde\x71\x93\x6d\x9c\x5a\x3e\x1d\x50\x9c\x31\x8d\xa7\xcb\x7b\x79\x00\x1f\xe9\xf1\x56\x04\xd3\x41\x68\xfa\x15\xc6\x6b\x65\xe9\xac\x2d\xe6\xf3\x4b\x34\x3a\x03\xa6\xef\x1d\x27\xc4\x2f\x7e\x7c\xa8\xbc\x8e\x98\x56\xc9\x77\x22\x27\x36\x91\x13\x08\x6a\x97\x3f\x1e\xa4\x68\x76\x57\x95\x75\x52\x19\xd6\x1a\x15\x53\x15\xe6\x9c\xc1\x55\xda\x09\xce\x7f\xa7\xb7\xe3\xca\xb2\x32\xe2\x25\x2e\x7b\x60\xff\x77\x73\xf3\xe2\x9a\x97\x78\x1c\xb2\x51\xe5\x12\x26\x1b\x63\x6a\xbd\x5c\x2c\x98\xd6\x68\xf4\x7c\x87\x2b\xcd\x0d\x5e\x10\x5a\x3d\xcf\x64\xb5\xf8\xb1\x78\xf0\xdd\xcf\x3f\x64\x97\xd9\xff\xb0\x9f\xb2\x3c\x7f\xf0\xc3\xf7\xab\xfb\xd9\x4f\xdf\x5d\xf6\x3e\xb0\x1f\x7f\xcc\x56\xf7\xb3\x9f\xbf\x7f\xf0\xee\xba\x94\xbb\x77\x7f\x49\x95\x57\x4c\x7d\x98\xeb\xed\x7a\x32\x4a\xc7\x80\xe7\x86\x9f\x95\xc8\x8d\xed\xdc\x26\xbc\x62\x6b\x5c\xe8\xed\xfa\xdb\x8f\x55\x39\x8c\xed\x50\x3b\x89\x68\xf5\xb0\x6c\xf5\xf4\x8d\xfd\xfc\x76\x18\xfc\x14\x7f\xf2\xda\x1d\x97\xb5\x60\x15\xf1\xe0\x2b\xe0\x16\x99\x6b\x59\x27\xe3\x02\xd0\xfb\x6a\x25\x49\x45\xcf\xaf\x6f\x8e\x2c\xcb\x51\x67\x8a\xd7\x54\x9c\x2d\x61\x72\x43\x39\xaa\x08\x5b\xd8\xf2\x84\xea\xa5\x46\x63\x0e\xcc\xd6\xa8\xbe\xda\xa6\x72\x66\x83\x65\x0d\x7b\xd9\x40\x8e\x5b\x2c\xa5\xfd\x5f\x81\xa0\xf2\xec\xfa\x06\xfe\x4b\x0a\xd2\xe4\xfc\xc8\xde\xf8\xd1\xa0\x12\xac\xfc\xf3\xe5\x6f\x7d\x1b\x7c\xde\x7d\x9a\xb6\x46\xe6\xf7\xbe\x28\xcc\x5c\x8a\x82\x90\x4b\xb5\x9e\x1c\x31\x82\x52\xae\xa5\x5e\x7a\x15\x1e\x11\x95\xa4\x2a\x4e\x2f\x07\xc2\x6a\xfc\x9b\x98\x1d\x37\x06\xd5\xe4\x24\x62\xfd\x62\xeb\x04\x44\xeb\xbb\x55\x29\xb3\x0f\xd9\x86\x71\x31\x19\x36\x17\xb0\x39\x63\xe8\xed\x9d\x63\x47\x1c\xc2\xc6\xa3\x47\xd4\x8a\x25\x8d\x56\x68\xc9\x7c\xe9\x73\xb4\x1b\x2b\x94\xac\x96\x07\x95\xd2\x38\xa3\x5f\xd6\x96\xb9\x02\xcf\x11\x3a\x22\xbd\x93\x92\x57\x10\xc7\xb8\xbb\x25\xd5\x6d\x9f\x9d\x71\x13\x52\x98\x21\xdf\xa2\x8a\xe0\xba\x4a\xeb\x58\x94\x72\x04\x7e\x21\x58\xad\xe4\x96\xe7\x61\xb7\x45\xad\xf8\x96\x19\x3c\xec\x84\x6f\xa7\xf7\x37\x2e\x3e\x60\xee\xe2\xa4\x35\xa7\x41\xe5\x1e\x8d\xb3\x8e\x83\xaf\x46\x14\x78\xfa\x6a\x44\xae\x7b\x7b\x5e\xd5\x66\x6f\x17\x87\x79\xd4\x12\xa6\x45\x23\xa8\x88\xfd\xe5\xd3\x40\x23\xf5\xf9\x16\xef\xf7\xf6\xf5\xf0\xa2\xed\xfc\xfb\x1b\x4d\x8f\xb8\xf5\xf0\xa7\x3b\xfa\x75\x5a\x7d\xde\xb5\x96\x8b\xb0\x8c\xbb\x43\x32\xa5\x4c\x14\x11\x7d\x39\x81\xb7\xcf\x43\x0d\x83\xe0\xe5\x58\x2b\xb5\x46\x43\xb8\xa5\x32\x98\x77\xa3\x3f\x90\x36\x51\xd9\xb6\x4f\xf9\x66\x8b\x41\xc9\xb5\xed\xcc\x5d\x6f\x95\xcc\x19\xb9\x6e\x2d\xdd\xd6\xe0\xb5\xef\xe7\xe1\x48\xaf\x33\xb0\x2f\x19\xcd\x27\x67\x92\xbf\x4a\x59\xf6\x4d\x85\x62\xa8\x0e\x50\x16\xa0\xb7\xfc\x0a\x3e\xa5\x02\x48\x57\xbf\xb1\x8e\xbf\x46\xbb\xd9\x74\xf6\x16\xae\xc0\xa8\x06\x07\x7b\xb8\x04\xf0\xe4\x16\x8e\xeb\x43\xae\xa6\xa6\xf5\xb1\x99\x23\xf4\x48\xdb\x38\x26\x97\x37\xc6\xf6\x83\x8f\x1f\x43\xc1\x4a\x8d\xc3\xea\x04\x2e\xb8\xe1\xac\xe4\x7f\xbb\x46\x3e\x4c\x26\x98\xe9\x26\x1c\xd6\x99\xec\xd4\x98\x57\x1d\x1a\x02\x9c\xf6\x46\x13\xb3\x7e\x5f\x44\xf4\x05\x94\x57\x01\xf9\x81\x82\x78\x8e\xc2\xf0\x82\xa3\x82\x2b\x98\x1c\x84\xca\xc9\x21\xce\x28\xf0\xc3\x55\x3c\x26\x98\x76\xb8\x96\x11\xde\xd9\xbd\x43\x1c\x5d\x34\x87\xab\xa8\x43\xbf\x1d\x43\xcf\x1f\xfe\x17\x4d\x22\x3a\x3f\xff\x3a\x32\xd3\x89\x2c\xfa\x57\x07\x44\x56\xec\x44\x78\x44\xd1\x7d\xf1\xf5\xe8\xd8\x71\xb3\xc9\x15\xdb\xc5\x2f\x93\x05\xdd\xf4\xdf\x7a\x20\xfb\xe0\x46\x9b\xee\x4c\xc5\xd7\x90\x4c\xad\x9b\x0a\x85\x49\x00\x99\xc8\x5b\xec\xde\x7f\x3d\x90\x3d\x37\x6a\xc7\x9a\xf3\xd1\xad\xff\xdf\xf8\xd8\x4f\x41\xc1\x8e\xd7\xb0\xaa\xa5\x62\x6a\xef\x07\xa2\xe1\x98\xc8\x96\xb3\x54\xc0\xca\x32\x4f\x30\xd8\x73\x0a\x77\x7e\xe3\x08\x50\x08\x2b\xe4\x62\x0d\x46\x31\xa1\x0b\x54\x0a\xf3\x39\x6d\xa4\xa2\x51\x8f\xc0\x5d\x14\x03\x09\x4f\x18\x5a\xfa\x6d\x65\x32\xba\xb4\x98\xdd\x10\x14\xb4\x04\x6e\xec\xbc\xd3\x4e\x0a\x6b\x49\xdd\x53\x4a\x13\x96\x1a\xed\x00\x69\x98\x71\xaf\xf3\x34\xa1\xfd\xe5\xe5\xc8\x56\x25\xba\x81\x43\x90\x6c\xef\x70\x8b\x92\xe1\x61\x7a\x3d\xee\x60\xc9\xe3\x85\x57\xd2\x90\x3d\x3d\xbc\x88\x07\xa9\x9d\x1b\x3b\x88\xd9\x98\x89\x79\x31\x7c\x99\x85\x79\x51\xcb\xd5\xbf\x30\xeb\x9b\x99\x35\x2d\x96\xe7\x3a\x41\xc3\x8d\x6e\xbd\xc9\x6b\xa8\xe7\x5c\x72\x27\x50\xe9\x13\xac\x8e\x6b\x60\x65\x29\x77\xce\xaa\x72\xd4\x46\x49\x37\x6e\xd7\xb4\xbd\x23\x6d\x85\x19\x6b\x34\x76\x86\x9c\xfa\x15\x91\x1c\x19\x2c\x99\x26\xaa\x40\x89\x9f\x13\xdb\xe1\xae\x85\xfd\xef\x8e\xf6\x0d\x4b\xf9\x5a\x21\x0a\xb2\x35\xdd\x54\xd4\xb4\x89\xdc\x8d\xbd\x0b\x69\xc7\xf7\xde\xd0\x2c\x85\x61\x08\x3f\x62\x52\xed\xb0\xca\x2b\xc4\x97\xf8\xc3\xc5\x53\x3f\x28\xb7\x6d\x05\x3c\xbc\x70\x0e\xcc\xf4\xbd\x21\x5b\x3b\xd9\xd2\xbe\x75\xf8\x0e\x02\x14\xfd\x92\x2f\x70\x05\x97\xf3\xcb\xe4\x7b\x50\x49\x1a\x2e\x0f\x93\xe6\x6d\x5e\x14\xa2\xc0\xc1\x11\x71\x28\x32\x96\xf0\xb4\x9d\xe2\x3e\xfc\xa6\x27\xa9\x97\x7e\xd1\xe7\x47\x43\xd2\x0a\xb8\x5f\x07\xa9\x59\xee\x0f\xfc\x36\x38\x4f\x02\xef\x13\xc4\x40\xe3\xa4\x30\xe3\x35\x47\x41\x16\x13\xf6\x3f\xd8\x3a\x50\xef\x5a\xc0\xf0\xe4\xdb\xbd\x81\xaa\xf6\x48\xef\xd6\x56\x5b\x47\x29\x79\xed\xfb\xb8\x3e\x13\xcf\x9c\xa5\xd9\xf5\x81\x73\x11\x22\xb2\x3f\x01\x8a\xf1\xa8\x21\x8e\x22\x6e\xe6\xa9\xe9\x3e\xbc\x48\x84\x3c\x1a\x81\xfa\x85\xfd\x89\xa1\x28\x4d\x3e\x4e\x8f\xc4\x05\xb0\x38\xb2\xfc\x8d\x4a\x1e\x24\xbe\x90\x4e\x78\x97\x2d\x58\x59\x52\xe2\xf1\x59\x63\x0e\x4f\xdc\xf1\x54\xd5\x68\x97\x3d\x5c\x75\x1b\x0e\xd6\x0e\x30\xda\x8e\xd9\x0b\x8c\x70\xb7\xd9\xa8\x7f\x92\x48\x2f\xa4\xca\xdd\xc9\x97\x0d\x63\xee\x7b\x8a\xd1\x4d\x02\xfc\x91\x16\x73\xc3\xa1\x20\xe9\x10\x20\x74\x7b\xd4\xe4\x06\x47\x54\x1a\x9e\x16\x61\x0e\x3b\xa9\x53\xf2\xd2\x2d\x69\xe6\x72\x7e\x39\xa2\x61\xb8\xf9\xe3\xd9\x1f\x4b\x78\x89\x5b\x4e\xd6\xc6\x0b\x50\x58\xc9\x2d\x2b\x89\x81\xac\xd1\x46\x56\x2e\x64\x34\x99\x91\x4a\x43\xcd\xb4\xc6\x38\xca\xc2\x2b\x44\x08\x83\x9e\x35\x37\x9b\x66\x65\xe7\x3c\x6e\x2a\xb5\x28\x4a\x5e\xeb\x45\xdd\x94\xe5\xe2\xfe\xf7\xf7\x5b\x38\x1f\x85\xa6\x7d\xef\xe7\x45\x1a\xe9\x1e\x11\xe9\x03\xdd\xe8\x58\xfb\xd5\x1f\xdb\xc4\x9f\x2e\x86\xab\x3a\x48\x5a\x32\xf7\x5f\x74\x64\xed\xce\x33\xcf\x60\xe4\x84\x36\xa4\x59\x97\x80\xad\xae\x99\xbd\xb0\xe2\xcd\xc4\x9d\xe0\x52\x0a\x0b\xa7\x9e\x5f\x76\xda\xe9\x8f\x53\x3f\x25\x26\x48\x68\xdc\xdd\x9a\x13\xdd\x91\x00\x74\xb4\xf1\xb9\xad\x01\xc8\xb8\xab\xe0\x64\x26\xba\xc2\x73\x3e\xea\x94\x31\x44\xdf\x2d\x4f\x32\xef\x8e\xf4\xbb\x94\x5f\xb5\xc2\x01\x63\xf0\xb5\xb1\xb5\x95\x25\x4c\x9e\xb8\x47\x77\xc9\xc9\x05\x89\x15\xc2\xda\x3a\x86\x22\x79\x08\x1b\x78\x26\x47\x9a\xf2\xbb\x98\xd7\xb7\x43\xe5\x1f\x56\x7c\xe4\x46\x95\xfb\x1b\x6e\x54\xa5\x5d\xef\x3c\x6a\x83\xbe\xae\x9a\xec\x19\xf3\x60\x34\x8f\xcd\xfa\xab\xa2\xf8\x3f\x1b\xc1\xff\xd9\xe8\xfd\x0f\x44\xee\x21\x3f\xbd\x5b\xc4\x6e\xd5\x08\xb7\x84\xeb\xcf\x43\x57\xc9\x48\x33\x3e\x7e\x76\xd5\x7e\xb8\x2f\x73\x0e\x58\x14\x98\x19\xbe\xc5\x72\x0f\xab\x46\x09\xdb\xb2\x75\x85\xf3\x81\xca\x7f\xa9\x99\x62\x15\xb8\xb2\xa0\xad\xaa\xa3\x69\x84\x14\x86\xf1\x1e\x1a\x2b\xc3\x46\x89\x1e\xb6\xaf\xc8\x26\x77\xc9\x24\x7d\x4d\x10\x45\x3e\xb8\xf8\x02\xfd\x50\x0d\x71\xc6\x09\xb5\x30\x2d\x8e\xe5\x6d\x47\x2d\xf1\x42\xeb\x9e\x69\x1c\xb8\x7f\x79\x49\xa5\x75\xba\xa4\x7f\x19\x11\xae\x60\xe1\xad\x33\x99\x48\xbb\x3b\x8d\x49\x1e\x7e\xea\x2c\xa1\xbb\xb2\x64\x1d\xad\x1f\x99\xad\x71\xfa\x8b\x9c\xe4\x1b\x6c\x8b\xe4\x66\x5c\x24\x97\xa1\x1c\xca\xf6\xdf\xa4\x01\x19\xb6\xb8\x3e\x83\xb3\x94\xaf\xfe\xf5\x48\xb8\xf2\x7d\xc6\xc8\x4d\x92\x7b\x03\xe0\x2f\xe2\xf1\x4f\x1f\x3a\xbe\xbe\xd1\x03\xee\x9f\xbc\x10\xcf\x53\x3f\x7a\x3e\x07\x23\x97\xc3\x24\xce\x86\xa4\x3b\x70\xc1\xa4\x77\xac\x12\x4d\x47\xf0\x63\x2d\x7b\xb5\x0e\x2d\x7c\xef\x03\xc5\x7b\xa8\xd0\x6c\xa4\xeb\x2b\xd7\x68\x9e\xd8\x99\xaa\x9f\x46\x86\x6f\x66\xa3\x64\xb3\x76\x7a\x7c\x1f\x9a\x8e\xf7\x60\x93\x7a\xc1\xb2\x58\x5d\xa1\x3f\x85\xf7\xf1\x98\xea\xfd\x20\x26\xff\x79\x18\x51\xa2\xf7\xd8\xea\x9e\xb2\xfa\xe8\x0d\xc3\x20\x61\xae\x75\x83\x07\x2d\x9b\x6b\x6e\x1f\x4d\x47\xa4\x3d\xa8\xb3\x04\xbd\x15\xbd\xde\x4c\x7b\x24\x9d\x03\x33\xcb\x41\x3b\x89\x54\x48\xac\xb8\xba\xaa\x33\x61\x57\x1a\x4d\x47\xb6\xee\x99\x8b\x05\x8e\xcc\xa5\xef\xa9\x21\xde\x7e\x3e\x83\xb3\x7f\x07\x00\x00\xff\xff\xfd\x6c\x01\x8c\x75\x2e\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,7 +97,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x57, 0xda, 0x55, 0x2a, 0x19, 0xe6, 0xa, 0x59, 0x55, 0x5d, 0x5e, 0xd7, 0x4d, 0x9e, 0x2d, 0x8d, 0x33, 0xd2, 0xa0, 0x22, 0xb9, 0x31, 0xda, 0x13, 0x50, 0x16, 0x2f, 0x83, 0xa, 0x7, 0xb, 0x9e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5a, 0x4d, 0xa, 0xd0, 0x49, 0xd8, 0x34, 0xb6, 0x1f, 0x3b, 0xae, 0x94, 0xe6, 0x2b, 0xc9, 0x36, 0x71, 0x1a, 0xae, 0x6c, 0x1, 0xc2, 0x96, 0x15, 0x77, 0xc0, 0x3c, 0x32, 0x89, 0xdf, 0x74, 0x93}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 2f6cecc4..fa7c7392 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,8 +1,8 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../transactions/burn_tokens.cdc (1.476kB)
-// ../../../transactions/create_forwarder.cdc (2.377kB)
-// ../../../transactions/generic_transfer.cdc (1.254kB)
+// ../../../transactions/burn_tokens.cdc (1.402kB)
+// ../../../transactions/create_forwarder.cdc (2.563kB)
+// ../../../transactions/generic_transfer.cdc (1.335kB)
 // ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.968kB)
 // ../../../transactions/mint_tokens.cdc (1.595kB)
 // ../../../transactions/privateForwarder/create_account_private_forwarder.cdc (1.683kB)
@@ -32,7 +32,7 @@
 // ../../../transactions/switchboard/safe_deposit_to_lnf.cdc (4.493kB)
 // ../../../transactions/switchboard/safe_transfer_tokens.cdc (2.153kB)
 // ../../../transactions/switchboard/safe_transfer_tokens_v2.cdc (1.932kB)
-// ../../../transactions/switchboard/setup_account.cdc (1.849kB)
+// ../../../transactions/switchboard/setup_account.cdc (1.685kB)
 // ../../../transactions/switchboard/setup_royalty_account.cdc (5.883kB)
 // ../../../transactions/switchboard/setup_royalty_account_by_paths.cdc (5.958kB)
 // ../../../transactions/switchboard/transfer_tokens.cdc (1.551kB)
@@ -107,7 +107,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _burn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x41\x6f\x9b\x4c\x10\xbd\xf3\x2b\xe6\xe3\x10\xd9\x87\xc0\x57\xa9\xea\xc1\x8a\x9b\x26\x51\x73\xac\xaa\x26\x4d\xcf\x03\x8c\xcd\xb6\xb0\x8b\x66\x87\x3a\x51\x94\xff\x5e\xed\x2c\x60\x68\xe2\x72\x30\xf2\xee\xdb\x37\xef\xcd\xbe\x21\xcf\xe1\xbe\x36\x1e\x84\xd1\x7a\x2c\xc5\x38\x0b\xc6\x03\x82\x50\xdb\x35\x28\x04\x3b\xc7\xe1\xef\x6c\x5f\x6a\x94\x24\xcf\xa1\x74\x7d\x53\x41\x41\xd0\x7b\xaa\xa0\x78\x02\xa9\x09\xb0\x6a\x8d\x05\x2c\x4b\xd7\x5b\x01\x71\x50\xf4\x6c\x41\xdc\x2f\xb2\x3e\x1c\xda\xb1\x6b\x03\xd0\x30\x78\x71\x4c\x15\x3c\x60\xdf\x04\xbe\x44\xb5\x90\x1e\x30\x76\x0f\xd8\x2a\xc5\x61\xac\x82\xd0\x21\x63\x4b\x42\x1c\x78\x43\xb1\x99\xaa\x24\x31\x6d\xe7\x58\xe0\xb6\xb7\x7b\x53\x34\x74\x1f\x4a\xc6\x72\xe9\x62\x2d\x1d\x91\x9f\x1f\xb1\xed\x96\xc0\xf9\x52\x9a\x24\x33\xfe\x55\x94\xb3\x81\xef\xb7\xe6\xf1\xc3\xfb\x35\x3c\x27\x09\x00\x40\x9e\xe7\xd1\x01\x30\x79\xd7\x73\x49\xda\x1f\xa8\x5d\x53\xf9\x28\x52\xbd\xc7\x55\x64\x82\x82\x82\xbb\xe0\x92\x2a\xa5\x68\x48\xe0\x77\xa0\xd8\xc0\xa7\x85\xd2\x2c\xb6\x66\xaa\xf3\x8d\x76\xc4\x64\x43\x89\xe8\x7f\xe1\xe0\x4a\x3b\xef\x8a\x9f\x54\xca\xc4\xab\xd7\xb1\x81\xb3\x39\x32\x53\xa4\xf1\xc2\x28\x8e\x8f\xf4\xf7\x2a\x56\xb0\x01\xdf\x77\x5d\xf3\x04\x6e\x37\x8a\x2f\x68\xe7\x98\xb4\x66\x10\x3e\xd1\x47\xe0\xb5\xee\x8e\xad\x89\x84\x1d\x53\x87\x4c\x2b\x6f\xf6\x96\x78\x03\xd8\x4b\xbd\xba\x76\xcc\xee\xf0\x80\x4d\x4f\x6b\x38\xbb\x8a\x21\x99\x5a\x19\x1e\x4f\xcd\x2e\x9b\xb3\xc2\x76\xe1\x32\x53\x81\x77\x0a\x38\x9e\xca\x73\xf8\x61\xa4\xae\x18\x0f\xf0\xee\xff\x51\xf4\x18\xb5\x21\x93\xda\x62\x30\x56\x73\x87\x7b\x5a\xd6\x8c\xbb\x17\xe7\x10\x05\x67\x03\x28\x2b\x54\xf2\x85\xca\x5f\x5e\xce\x58\x11\x8b\x26\xb8\x59\xa8\xd4\x8b\xfb\xb8\x0a\x0a\x36\xf0\x7a\xe7\x2e\x92\x7f\x45\xa9\xd7\xff\x4d\x3a\xc2\x93\x1d\x06\xd6\x29\x6f\xf1\xbd\x5e\x98\xbd\x61\x0a\xa3\x89\xc0\x7f\x27\x62\x18\x3f\xfd\x9d\x02\x79\xca\x73\x84\x6d\x4f\x58\xfe\x47\x66\xde\x74\xa6\x88\xb9\xb3\x85\xb1\xcb\x4b\xe8\xd0\x9a\x72\x95\xde\xe8\x40\x5b\x27\x10\x0b\x9d\xb6\x31\x1a\x48\x23\xd5\x4b\xec\x01\x3d\x52\xd9\x0b\xc1\xf3\xc4\x1f\x92\xa8\xf3\xc4\x7a\x81\x93\xb5\xac\xd4\x3e\x7d\xa1\xc3\xb5\xee\xae\x66\x5d\x8c\xf8\x2c\xbc\x54\xbe\x1f\x2c\x5d\x9c\x1f\xe3\x30\x83\x57\xe4\x85\xdd\xd3\x70\x6c\x2e\xa7\x73\x5e\x66\x5a\x4e\x85\x15\xb6\xdb\x37\xc2\x7d\x0e\xe3\x35\xa7\xaf\xa6\xaf\xed\xbd\x84\xef\x5e\x45\xc1\xc6\xfc\x13\xab\x47\xd2\x41\xc4\x4b\xf2\x27\x00\x00\xff\xff\x5a\xbe\xd0\x96\xc4\x05\x00\x00"
+var _burn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x53\x41\x73\x9b\x3c\x10\xbd\xf3\x2b\xde\xc7\xe1\x2b\x1c\x82\x2f\x9d\x1e\x3c\x71\xd3\xa4\x93\x9c\x3b\x93\x34\x3d\x2f\xb0\x18\x4d\x41\x62\xa4\xa5\x76\x26\xcd\x7f\xef\x48\x32\x04\xea\xa4\x5c\x6c\x89\x7d\x6f\xdf\x7b\xbb\xa8\x7e\x30\x56\x70\x37\xea\xbd\x2a\x3b\x7e\x30\x3f\x59\xa3\xb1\xa6\x47\xba\xba\x4b\x93\x53\xe5\xed\x91\xfa\x61\x5d\xb8\xbc\x4a\x93\x64\xb3\xd9\xe0\xa1\x55\x0e\x62\x49\x3b\xaa\x44\x19\x0d\xe5\x40\x10\xee\x87\x8e\x84\xd1\x18\xeb\x8f\x8b\xf7\xd2\x92\xa0\x32\x63\x57\xa3\x64\x8c\x8e\x6b\x94\x4f\x90\x96\x41\x75\xaf\x34\xa8\xaa\xcc\xa8\x05\x62\x50\x8e\x56\x43\x7c\x33\x17\x05\x48\xcb\xca\x86\xb6\x4e\x8c\xe5\x1a\x8f\x34\x76\xe2\x2f\x4e\x5a\x38\x60\x94\xde\x83\xfa\xc0\x72\x98\x1a\x11\x06\xb2\xd4\xb3\xb0\xf5\xd4\xbe\xdf\x42\x55\xa0\x58\x9c\xb3\x08\xdf\xe2\xfb\x9d\x3a\x7e\xfa\x98\xe3\x39\x49\x00\x60\xea\x22\x46\xa8\x83\x1b\x87\xa1\x7b\x82\x69\x26\x91\x25\x37\xc6\x72\x20\xf7\x3a\x02\xa4\x63\x39\x15\xde\x84\xb7\x13\xe7\x2b\x61\x30\x01\xcb\xce\x8c\xb6\xe2\x18\x50\x6b\xba\xda\x45\x95\x91\x3a\xdc\x92\x65\x94\xec\xed\x79\x7a\xae\xe7\x06\xfe\x18\x68\xb6\xf8\xb2\x1c\x52\x11\x03\x0a\x75\x83\xe5\x81\x2c\x67\x4e\xed\x35\xdb\x2d\x68\x94\x36\xbb\x31\xd6\x9a\xc3\x23\x75\x23\xe7\xf8\xff\x3a\x66\x3f\xdb\xf5\x8f\xe3\xae\x29\x96\x06\xb0\x5b\xad\x46\x11\xb2\xb8\x0f\x05\xaf\xa8\xcd\x06\x3f\x94\xb4\xb5\xa5\xc3\xdf\x13\x44\x14\xf0\xc1\xe1\x57\x30\xae\x74\x98\x26\xed\x79\x46\x87\xcc\x42\x1a\x31\x9b\xdd\x09\x53\x9c\x0a\x8b\x32\xc8\xbe\x0c\x16\x56\xdb\x5b\x4c\x5d\xa9\xec\xbc\xa3\xf3\x30\x3e\x67\x73\x9b\xe9\xf1\xca\xb6\x38\x2f\xbd\x8f\xdd\xbe\x91\xb4\x2b\x4c\x8e\xab\x2b\x0c\xa4\x55\x95\xa5\x5f\xc3\x82\x69\x23\x88\x9a\x40\xb0\xdc\xb0\x65\xed\x47\x69\xd6\x86\x57\x9f\x54\x70\x9f\xe6\xeb\xa0\xe7\x41\xe2\xf2\x62\x19\x41\x71\x38\xf9\x9a\x37\x33\xfe\xe6\x20\xf7\xdf\x9b\x33\xf7\x94\x2f\x71\x20\x7c\xe4\x6a\x14\x5e\x4e\x75\x05\xf0\x4d\xc3\x3f\x97\xc5\x28\x2e\x2f\xd6\x62\xf2\x64\x49\x37\x18\x27\x78\x7e\x9b\x6a\xb1\x0c\xd8\xed\x90\x9d\x6f\xcf\xc5\xa4\x7c\xbb\xca\x34\x9d\xbe\x8e\xb4\xa8\x8c\xae\x48\xce\xa1\x85\x98\x7b\xb1\x4a\xef\xb3\x3c\x5f\x61\x27\x44\x8a\xdf\xb8\x6e\xc4\x2f\xf7\xcc\xf2\x9e\xba\x25\xd9\xfb\x6c\xb7\xc7\x81\x2b\xe1\x7a\x41\xf8\x2f\x4b\xe7\xa4\x2f\xc9\x4b\xf2\x27\x00\x00\xff\xff\x14\x34\x67\xde\x7a\x05\x00\x00"
 
 func burn_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -123,11 +123,11 @@ func burn_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "burn_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd7, 0x15, 0x80, 0x8f, 0x10, 0xa, 0xff, 0x73, 0x76, 0x78, 0xd5, 0x83, 0xa2, 0x73, 0x18, 0xa8, 0xcd, 0x81, 0x7, 0xba, 0x49, 0x95, 0xc, 0xeb, 0xe7, 0x61, 0xbe, 0xb8, 0xfe, 0x37, 0xab, 0x67}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x68, 0xe, 0xcf, 0x4, 0xdf, 0x35, 0xbf, 0xd6, 0x31, 0x77, 0x6f, 0xcd, 0xdc, 0xfe, 0x93, 0xa0, 0x8, 0x58, 0xdd, 0x76, 0x1b, 0x3e, 0x33, 0xb0, 0xe6, 0x41, 0xf7, 0x3, 0xa7, 0x15, 0xb0, 0xc0}}
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x54\x4f\x8f\xdb\xb6\x13\xbd\xf3\x53\x0c\xf6\x90\x9f\xbd\xf0\xca\xf8\xf5\xcf\xc5\xd8\x04\x48\xd3\x6e\x51\xa0\x28\x82\x76\x9b\x6b\x33\x26\xc7\x26\x1b\x89\x14\xc8\x91\x15\x23\xd8\xef\x5e\x90\x94\x68\xca\x4d\x17\x6d\x81\xfa\x64\x91\x33\x6f\xde\xbc\x79\xc3\xed\xed\xad\x10\x8f\xda\x04\x60\x8f\x36\xa0\x64\xe3\x2c\x98\x00\x08\x4c\x5d\xdf\x22\x13\x1c\x9c\x8f\x9f\xd5\x3d\x6b\x64\x90\x6e\x68\x15\xec\x09\x86\x40\x4a\xb0\x83\x40\x0c\x43\x0f\x68\x01\xa5\x74\x83\x65\x60\x17\x93\x47\xf4\x0a\x14\xf5\x2e\x18\x26\x05\xec\x3e\x90\x0d\xf1\x0e\xad\x63\x4d\x1e\x3c\x49\x32\x27\xf2\x8d\x10\x3f\x1c\x00\xed\xd9\x59\x82\x40\x56\x85\x3a\x38\xd6\xf1\xff\x0b\xf0\x90\x11\xc9\xc3\xcf\x53\xde\x46\xb0\xa6\xf2\x05\xa3\x69\x5b\xf8\x7d\x08\x5c\x8a\xb3\x76\x81\x2a\xac\x18\xfe\x0e\x87\x96\x73\x27\x1a\x03\xec\x89\xac\x88\x1d\x60\x48\xd7\x9e\xa4\xe9\x0d\x59\x06\xb4\x0a\xa8\x33\xf1\x0f\xd0\x29\x9e\xa4\x24\x63\x95\x91\xc8\x14\xc4\xa8\x8d\xd4\x89\xdd\x5c\x30\x76\xa9\xe7\x82\xcd\x24\xf0\x88\xe7\x0d\x98\xd8\x1f\xb8\xc3\xe1\x4e\x6a\x34\x16\x02\xf9\x93\x91\x04\x23\x5a\x4e\xd4\x3a\x67\x0d\x3b\x0f\xa3\x76\x71\x0c\x13\xa0\xb1\x47\x71\xa1\x6f\x78\x03\x86\x41\xa2\x85\x11\x59\xea\x4c\x2b\x5d\x05\x22\x18\x35\x79\xaa\x08\x80\xc4\x8e\xe0\xe0\x5d\xd7\x08\xf1\x0b\x53\x3f\x45\xe6\x69\xe5\x51\x05\x18\x0d\xeb\x9c\x50\xba\xf0\x3b\x21\xfe\xdf\xc0\xa3\x26\x78\x18\xec\xd1\xec\x5b\x82\xc7\x14\x21\x9d\x65\x8f\x32\xaa\xc0\xe4\x0f\x28\x09\x82\x4e\x7e\xc0\xd6\x13\xaa\x73\xf4\x85\xa2\xbe\x75\x67\x52\x10\x5c\x47\x89\x94\xf8\x22\xa3\x61\xdf\xb7\x46\x62\xc4\xe3\x25\xde\x84\x52\x65\x37\xe2\xcb\x9c\x54\x4d\x64\xb2\xd7\x14\xac\xf1\x44\x80\xd3\x40\xa3\x59\x39\xf9\x39\x03\x7b\x42\x26\x25\x00\x20\x0d\x32\xb0\xf3\xa4\xc0\x58\x30\x1c\xd2\x17\x1e\x29\xf7\x8e\xd0\x0f\xfb\xd6\x04\x4d\xaa\x78\x49\x7c\xd5\xc0\xb7\x89\x48\xd2\xf3\x7d\xea\xfe\xa1\xcc\xa4\x91\x4a\xbe\xbf\x90\x4f\x2e\x55\xe6\x70\x20\x5f\xd1\x14\x5f\x37\xd1\xb3\x80\x60\x69\x84\xd7\xf9\x70\x07\x6f\x12\xb3\x04\x3b\xf7\x63\x9d\xef\xb0\x6d\xcf\x9b\x44\x97\x35\x59\xf0\x83\xcd\x95\x73\x23\xbf\x95\xd1\xe4\xd2\xd5\x52\xe6\xa4\x23\x31\x1b\x7b\x84\xc5\x42\xc4\xd1\x2f\x0a\x65\x03\x5f\x19\xbd\x11\xb7\x5b\x21\x4c\xd7\x3b\xcf\x65\xde\x79\xdc\x09\xe0\x66\x71\x76\x33\x47\x7e\xf7\x11\xbb\x7e\x19\x58\x1f\x95\xb8\x2b\xe9\xa6\xd0\xab\xd3\x1b\x21\xaa\x96\x56\xf3\xc3\xb0\x83\xd7\x4a\x79\x0a\x61\x0d\x9f\x44\xea\xb3\xf7\xd4\xa3\xa7\x15\x4a\xc9\x3b\xc0\x81\xf5\xea\x1b\xe7\xbd\x1b\xdf\x61\x3b\xd0\x1a\x5e\x4c\x3a\x97\x84\xf8\xdb\x6e\xe1\x7b\xe2\xb9\xeb\xac\x8d\xc4\x1e\xf7\xa6\x35\x7c\x9e\xac\x73\x51\x69\x4f\x89\xe7\x65\xa5\x5d\x41\x6a\x89\x2b\x3f\xbe\x8c\xb2\x4f\x05\x0b\xe7\x75\x53\xa0\x0d\x85\xe6\x48\x7c\xff\xe2\xd3\x42\xc2\x26\x39\xf6\xe9\xd5\xaa\xd6\x2b\x1f\xbe\x8d\x4e\x94\x6f\x91\xf5\x7a\x41\xbf\x32\x4d\x71\x42\xf6\x75\xdc\x01\xc3\xf3\xe3\x76\x3d\x68\xe5\x66\x53\x54\x0f\x4a\xdd\xcc\x29\x2d\xcf\xfd\xdd\xf5\x98\x9a\xec\xbb\x9f\x68\x2c\xcf\xee\xaa\x34\xbe\xbb\x68\xb0\x2e\x68\x71\x22\xcd\xb4\x58\x4d\xa4\xb5\xba\xbf\x4b\xe8\x1b\x60\xb7\x83\xed\x74\xb5\xa5\xaa\xe9\x82\xbd\xec\xf6\x57\xdb\x1a\xfb\x21\xd1\xa6\x8f\x26\x24\x63\x5f\xe6\xb5\xac\xb8\x10\x7b\xb0\xd3\x2a\xff\x03\x69\x7f\x9c\x4b\xc5\x2d\xbd\xa8\xf4\x39\xa7\x2c\x94\x4b\xef\xcc\xbc\x6a\x6f\xb0\x87\x97\x9f\x21\x34\xeb\x61\x42\x18\xe8\x4f\x3e\x98\xb3\x9f\x5e\xad\x0a\x74\x62\xf5\xac\x56\x25\x74\xfd\x8c\x12\xb3\x0e\xd7\x2c\x37\x80\xbc\x83\x7f\xa9\x4e\xa1\x90\xa3\x9f\x55\xa6\xc4\xfe\x5d\x69\xae\x0d\x78\x55\xec\xbf\xd6\xa8\xe6\x9b\x45\xda\xa6\x7b\xf9\x57\x86\x8d\x98\x4f\xe2\xe9\x8f\x00\x00\x00\xff\xff\x78\x88\x1f\x2f\x49\x09\x00\x00"
+var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x6f\x1b\x37\x10\xbd\xf3\x57\x0c\x74\x48\x25\x43\x5e\xa1\x5f\x17\xc1\x49\x90\xaa\x75\x11\xa0\x28\x82\xda\xc9\xb5\x19\x91\x23\x91\xcd\x8a\x5c\x90\xb3\xda\x08\x81\xff\x7b\x41\x72\x97\xda\x95\x5d\xb7\xe8\x21\x3a\x79\xc9\xf9\x78\xf3\xde\x1b\x7a\x75\x75\x25\xc4\xbd\x36\x01\xd8\xa3\x0d\x28\xd9\x38\x0b\x26\x00\x02\xd3\xa1\xa9\x91\x09\x76\xce\xc7\xcf\xd1\x3d\x6b\x64\x90\xae\xad\x15\x6c\x09\xda\x40\x4a\xb0\x83\x40\x0c\x6d\x03\x68\x01\xa5\x74\xad\x65\x60\x17\x93\x3b\xf4\x0a\x14\x35\x2e\x18\x26\x05\xec\x3e\x91\x0d\xf1\x0e\xad\x63\x4d\x1e\x3c\x49\x32\x47\xf2\x95\x10\x6f\x77\x80\xf6\xe4\x2c\x41\x20\xab\xc2\x38\x38\xf6\xf1\xdf\x04\xb8\xcd\x15\xc9\xc3\x1f\x7d\xde\x52\xb0\xa6\xf2\x05\x9d\xa9\x6b\xf8\xab\x0d\x5c\x9a\xb3\x76\x81\x46\xb5\x62\xf8\x07\x6c\x6b\xce\x93\x68\x0c\xb0\x25\xb2\x22\x4e\x80\x21\x5d\x7b\x92\xa6\x31\x64\x19\xd0\x2a\xa0\x83\x89\x7f\x00\x1d\xe3\x49\x4a\x32\x56\x19\x89\x4c\x41\x74\xda\x48\x9d\xd0\x0d\x0d\xe3\x94\x7a\x68\x58\xf5\x04\x77\x78\x5a\x82\x89\xf3\x81\xdb\xed\xae\xa5\x46\x63\x21\x90\x3f\x1a\x49\xd0\xa1\xe5\x04\xed\xe0\xac\x61\xe7\xa1\xd3\x2e\xca\xd0\x17\x34\x76\x2f\xce\xf0\x0d\x2f\xc1\x30\x48\xb4\xd0\x21\x4b\x9d\x61\xa5\xab\x40\x04\x9d\x26\x4f\x23\x00\x20\xf1\x40\xb0\xf3\xee\x50\x09\x71\xc7\xd4\xf4\x91\x59\xad\x2c\x55\x80\xce\xb0\xce\x09\x65\x0a\xbf\x16\xe2\xdb\x0a\xee\x35\xc1\x6d\x6b\xf7\x66\x5b\x13\xdc\xa7\x08\xe9\x2c\x7b\x94\x91\x05\x26\xbf\x43\x49\x10\x74\xf2\x03\xd6\x9e\x50\x9d\xa2\x2f\x14\x35\xb5\x3b\x91\x82\xe0\x0e\x94\x40\x89\xef\x72\x35\x6c\x9a\xda\x48\x8c\xf5\x78\x5a\xaf\xaf\x32\xca\xae\xc4\xf7\x39\x69\xa4\x48\x6f\xaf\x3e\x58\xe3\x91\x00\x7b\x41\xa3\x59\x39\xf9\x39\x17\xf6\x84\x4c\x4a\x00\x40\x12\x32\xb0\xf3\xa4\xc0\x58\x30\x1c\xd2\x17\xee\x29\xcf\x8e\xd0\xb4\xdb\xda\x04\x4d\xaa\x78\x49\xfc\x50\xc1\xcf\x09\x48\xe2\xf3\x63\x9a\xfe\xb6\x68\x52\x49\x25\x3f\x9e\xc1\x27\x97\x2a\xb3\xdb\x91\x1f\xc1\x14\x3f\x56\xd1\xb3\x80\x60\xa9\x83\x37\xf9\x70\x0d\x9b\x84\x2c\x95\x1d\xe6\xb1\xce\x1f\xb0\xae\x4f\xcb\x04\x97\x35\x59\xf0\xad\xcd\x9d\xf3\x20\x7f\x16\x69\x72\xeb\xd1\x52\xe6\xa4\x3d\x31\x1b\xbb\x87\xc9\x42\x44\xe9\x27\x8d\xb2\x81\x2f\x8c\x5e\x89\xab\x95\x10\xe6\xd0\x38\xcf\x45\xef\x2c\x77\x2a\x30\x9b\x9c\xcd\x86\xc8\x5f\x3e\xe3\xa1\x99\x06\x8e\x8f\x4a\xdc\x05\x75\x7d\xe8\xc5\xe9\x4c\x88\xd1\x48\xf3\xe1\x61\x58\xc3\x1b\xa5\x3c\x85\xb0\x80\x2f\x22\xcd\xd9\x78\x6a\xd0\xd3\x1c\xa5\xe4\x35\x60\xcb\x7a\xfe\x93\xf3\xde\x75\x1f\xb0\x6e\x69\x09\x6f\x43\x68\xe9\x2e\xcb\xbb\xc1\x06\xb7\xa6\x36\x7c\xda\x44\xa5\x5c\x5d\x93\x5f\xc2\xbb\x2c\xf6\xf9\x72\x09\x77\x78\xa4\x3e\xff\xbd\x6d\x2e\xef\x17\xf0\xa2\x17\xaf\xa0\x88\xbf\xd5\x0a\x7e\x25\x1e\xa8\xcc\x84\xcb\x92\xd4\xfb\xf1\x4c\xfd\x96\xd2\xf0\xe7\x77\xc2\x95\x4a\x35\xf1\xc8\xe4\x2f\xa3\x96\x7d\xc3\x42\xc4\xa2\x2a\xa5\x0d\x85\x6a\x4f\x7c\xf3\xe2\xcb\x44\x97\x2a\xad\xc1\xc3\xab\xf9\x58\x84\x7c\x98\x26\x96\xef\x90\xf5\xa2\xf4\x8c\xbf\xd7\xaf\xa1\x41\x6b\xe4\x7c\xb6\x49\xfb\x64\x1d\xc3\x36\x91\xf9\xf4\x44\x51\xb8\x47\xcb\x38\x5b\x4c\x28\x19\xb9\xbb\x58\x36\x2f\x60\x5c\x56\xc3\xc3\x2b\x7c\xe9\x48\xe5\x06\xf7\x8e\x5e\xbe\x31\x41\xc7\xb4\xe5\x37\xd7\x97\x7e\xaa\xf2\x82\xfc\x4e\x5d\xf9\xff\x30\x2f\x20\xd7\x67\xbc\xe7\xd1\xa3\x75\xaa\xfe\x05\xa8\x22\xac\xf9\xcd\x75\xaa\xbe\x04\x76\x6b\x58\xf5\x57\x2b\x1a\x11\x59\x6a\x4f\xa7\x7d\x6f\x6b\x63\x3f\x25\xd8\xf4\xd9\x84\xb4\x81\x67\xc6\xa6\x1d\x27\x02\xb6\x83\xcd\xfe\x45\xae\x71\xb3\xdf\x86\x56\xf1\x39\x39\xb3\xf4\x94\x56\x13\xe6\xd2\x83\x38\xbc\x09\x1b\x6c\xe0\xe5\x13\x80\x06\x3e\x4c\xdc\x9f\x47\xde\x1a\xb2\x1f\x5e\xcd\x27\x0e\x4a\xc8\x9e\xe5\x6b\x12\xbe\x78\x86\x91\x81\x8f\x4b\xb4\x4b\x40\x5e\xc3\xff\x64\xa9\xc0\xc8\xd1\xcf\x32\x54\x62\xff\x2b\x45\x97\x46\xbc\x68\xf6\xb5\xb8\x1a\xe3\xce\x64\xad\xd2\xbd\xfc\x27\x03\xc7\x9a\x0f\xe2\x41\xfc\x1d\x00\x00\xff\xff\xf1\xe7\xe1\x06\x03\x0a\x00\x00"
 
 func create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -143,11 +143,11 @@ func create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb9, 0x49, 0xf7, 0x75, 0x81, 0xea, 0x3d, 0x14, 0xfe, 0x29, 0x20, 0xee, 0x33, 0x58, 0x2c, 0xf0, 0xc1, 0x79, 0xf0, 0x68, 0x3e, 0x89, 0xc8, 0x46, 0xf2, 0x5f, 0xc4, 0x6c, 0x8c, 0xc3, 0x4, 0x74}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe4, 0x4, 0xad, 0x2, 0xa3, 0x71, 0x6c, 0x9d, 0xb2, 0xe9, 0x58, 0x4, 0x98, 0xeb, 0x6d, 0xa5, 0x1e, 0x9f, 0xbe, 0x4, 0xfd, 0xef, 0xa8, 0xee, 0x41, 0x6c, 0x4f, 0x86, 0x9a, 0xed, 0x6b, 0x9a}}
 	return a, nil
 }
 
-var _generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x94\xcb\x6e\xdb\x3c\x10\x85\xd7\xf1\x53\x9c\x78\xf1\xff\x36\xe0\x28\x9b\xa2\x0b\x23\x97\xa6\x01\xd2\x6d\x90\xa6\xe9\x7a\x2c\x8e\x2d\x36\x34\x29\x90\x23\x3b\x46\xe0\x77\x2f\x38\x92\x65\x2b\x41\x57\x96\x47\x73\xf9\xe6\xf0\x50\x76\x5d\x87\x28\x78\x68\xfc\xca\x2e\x1c\x3f\x87\x57\xf6\x58\xc6\xb0\xc6\x78\x10\x1b\x8f\x46\x97\x97\x97\xb8\x27\x8f\x9a\x52\x82\xf5\x20\xbf\x43\x92\x10\x69\xc5\xa8\x49\x2a\x90\x37\x88\x5c\xb2\xdd\x70\x6c\x23\xd6\x27\x61\x32\x08\x4b\xfc\x69\x92\x40\x2a\x86\xe1\x25\x35\x4e\x0a\xed\xf7\x5c\xd9\x04\xc7\x92\xb0\x0b\x0d\xca\x2a\x84\xc4\x9a\x25\x0a\x92\x83\x5b\xf2\x02\x09\x48\xec\x0d\x28\x61\xcb\xce\x69\x4a\x49\x35\x2d\xac\xb3\xb2\xfb\x9c\x67\xf3\xa3\x8e\xd0\x31\x77\x7e\xd7\x75\x54\xac\x92\x3c\x16\xac\x8b\xb0\xf6\x24\x0f\x8a\xab\x66\xcd\x5e\x50\x71\xe4\x19\x52\xc0\x96\x9c\x92\xa5\x2a\x34\xce\x68\x9f\xf6\x11\x65\xc5\xe5\xeb\xb1\x62\x43\xae\xe1\x94\x67\xaf\xe9\x95\x91\x9a\xd8\xee\x60\xbd\xb0\x37\x6c\x4e\x47\xdb\x74\x18\x6b\xbd\xe2\x49\x24\x9f\xa8\x14\x1b\xfc\x84\xd6\xa1\xf1\x32\xc7\xaf\x07\xfb\xf6\xf5\xcb\x0c\x12\xe6\xb8\x33\x26\x72\x4a\x33\xdd\x8b\xe3\x23\x49\x35\xc7\xcf\x56\xf6\xfc\x67\xd6\x4b\xde\xbe\x7a\x6c\x16\xce\x96\xf9\x79\x8a\xf7\xd1\x08\x00\x54\x67\xc6\x4b\x96\x1d\x91\x53\x68\x62\x99\x09\x49\x50\x05\x67\xd2\x51\xf0\xd4\x46\x29\x32\x16\x6c\xfd\x0a\x4a\xb7\xe4\x18\xd9\x68\x2b\xc7\x02\xe1\x75\xad\xbd\xe6\xf8\x36\xf0\x48\xa1\xd1\x76\x66\x1d\xb9\xa6\xc8\x93\x64\x57\x9e\xe3\x1c\xd4\x48\x35\xf9\x1e\x62\x0c\xdb\x97\x2c\xd7\x14\xff\xdd\x95\x65\x5e\xb7\xc7\xec\x50\x7f\xb0\x80\x10\x79\xc9\x91\x7d\xe6\x0c\xca\xd7\x36\xfa\x3f\xa9\xe5\xd8\x60\xa3\xb3\x0e\x75\x99\x4b\x23\x4f\xbc\xc4\x75\x97\x5c\x74\xee\x2c\x16\x3a\xf7\x4a\x19\x86\xc4\xbf\xad\x54\x26\xd2\x96\x16\x2e\x23\xbd\x0f\xdf\x3e\xc6\xb0\xb1\x86\xe3\xfe\x66\x92\xaf\xc4\xfc\xe4\x0c\xa6\xa3\xb3\xb3\xb3\xdb\x5b\xd4\xe4\x6d\x39\x19\xdf\xab\x2f\x7c\x10\xb4\xb3\x3e\xf3\x87\x6d\x8b\xaf\x1a\x9d\x8f\xa7\xc7\x9d\x13\xbb\x65\xd1\x8b\x8a\xab\x8b\x7e\x93\x62\xdb\xe1\xf5\xce\x68\x7f\xa7\x5a\xbb\x6f\x5b\xf0\x1b\x97\x8d\x30\xde\x07\x62\x44\x2e\x6d\x6d\xb3\x3b\xaf\xb1\x62\xe9\xb4\x9e\x48\x98\x7e\x4c\x53\xef\xb4\xb2\xf5\x45\x45\x7f\xb7\x2c\xa7\x83\x7c\x1f\xd5\x79\xea\x6a\xf7\x37\x93\x53\x0b\x4e\xcf\x07\xc7\xf9\xdc\x39\xe8\x60\x30\xfd\xb6\xfc\xf3\x40\x0f\x6a\xf5\x9f\x91\xe3\x25\xef\x9b\x9e\x30\x17\x86\xeb\x90\xac\x74\xc7\x73\x75\x31\xd4\xf2\xa0\xd3\xfe\x6f\x00\x00\x00\xff\xff\xf5\xe9\xda\xde\xe6\x04\x00\x00"
+var _generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4d\x6f\xe2\x4a\x10\x3c\x87\x5f\x51\x8f\xc3\x0b\x48\xc4\xb9\x3c\xbd\x03\xca\xc7\x66\x23\x65\xaf\x51\x36\x9b\x3d\x37\x9e\x06\xcf\x66\x98\xb1\x66\xda\x38\x28\xe2\xbf\xaf\xa6\x6d\x0c\x24\xda\xc3\x72\xc1\x34\xdd\x55\xd5\x35\xe5\xb1\xeb\x3a\x44\xc1\x43\xe3\x57\x76\xe1\xf8\x39\xbc\xb2\xc7\x32\x86\x35\xc6\x27\xb5\xf1\x68\x74\x79\x79\x89\x7b\xf2\xa8\x29\x25\x58\x0f\xf2\x5b\x24\x09\x91\x56\x8c\x9a\xa4\x02\x79\x83\xc8\x25\xdb\x0d\xc7\xae\x62\x7d\x12\x26\x83\xb0\xc4\xaf\x26\x09\xa4\x62\x18\x5e\x52\xe3\xa4\x50\xbc\xe7\xca\x26\x38\x96\x84\x6d\x68\x50\x56\x21\x24\xd6\x2e\x51\x21\xb9\xd8\x92\x17\x48\x40\x62\x6f\x40\x09\x2d\x3b\xa7\x2d\x25\xd5\xb4\xb0\xce\xca\xf6\x73\x9f\xcd\x8f\x4a\xa1\x34\x77\x7e\xdb\x23\xaa\xac\x92\x3c\x16\xac\x8b\xb0\x62\x92\x07\xc5\x55\xb3\x66\x2f\xa8\x38\xf2\x0c\x29\xa0\x25\xa7\xca\x52\x15\x1a\x67\x14\xa7\x7b\x44\x59\x71\xf9\x7a\x98\xd8\x90\x6b\x38\x65\xee\x35\xbd\x32\x52\x13\xbb\x1d\xac\x17\xf6\x86\xcd\x31\xb5\x4d\x7b\x5a\xeb\x55\x9e\x44\xf2\x89\x4a\xb1\xc1\x4f\x68\x1d\x1a\x2f\x73\xfc\x78\xb0\x6f\xff\xff\x37\x83\x84\x39\xee\x8c\x89\x9c\xd2\x4c\xf7\xe2\xf8\x48\x52\xcd\xf1\xbd\xb3\x3d\xff\x98\x0d\x96\x77\x7f\x3d\x36\x0b\x67\xcb\xfc\x3c\xc5\xfb\x68\x04\x00\xea\x33\xe3\x25\xdb\x8e\xc8\x29\x34\xb1\xcc\x0a\x49\x50\x05\x67\xd2\xc1\xf0\xd4\x55\x29\x32\x16\x6c\xfd\x0a\xaa\x6e\xc9\x31\xb2\x51\x28\xc7\x02\xe1\x75\xad\x58\x73\x7c\x79\x3f\x09\x49\xa1\xe5\x5d\xc7\x5a\x47\xae\x29\xf2\x24\xd9\x95\xe7\x38\x07\x35\x52\x4d\xbe\x86\x18\x43\xfb\x92\x0d\x9b\xe2\xdf\xbb\xb2\xcc\x0b\x0f\x42\x7b\xb1\xdf\x58\x40\x88\xbc\xe4\xc8\x3e\x2b\x0d\xaa\xb0\x03\x3a\x4f\x1a\x3a\x36\xd8\x64\xb2\x61\x2e\x2b\xd3\xca\x13\x2f\x71\xdd\x37\x17\x7d\x3e\x8b\x85\xf2\x5e\xa9\x86\x53\xc9\x3f\xad\x54\x26\x52\x4b\x0b\x97\x25\x7d\x58\xe8\x31\x86\x8d\x35\x1c\x77\x37\x93\xfc\x52\xcc\x8f\x4e\x61\x3a\x3a\x3b\x3b\xbb\xbd\x45\x4d\xde\x96\x93\xf1\xbd\x26\xc3\x07\x41\xc7\xf5\x59\x7f\x68\x3b\xf9\x6a\xd2\x3f\xe3\xe9\x61\xe7\xc4\x6e\x59\x0c\xb6\xe2\xea\x62\xd8\xa4\x68\x7b\x79\x43\x36\xba\xef\xa9\xce\xf6\x4e\xf3\x1b\x97\x8d\x30\xde\x4f\xcc\x88\x5c\xda\xda\xe6\x7c\x5e\x63\xc5\xd2\x7b\x3d\x91\x30\xfd\xd8\xa6\xe9\xe9\x6c\x1b\x86\x8a\xe1\xed\xb2\x9c\xf6\xf6\x7d\x74\xe7\xa9\x9f\xdd\xdd\x4c\x8e\x43\x78\x20\xc8\x9f\xbf\xb1\x68\xa0\x3f\x4f\xd8\x83\x9f\x38\x95\xa3\xdc\x47\x72\x9f\x58\xbd\xac\xfe\x98\x8f\x23\xe4\xee\x5e\x3a\xdc\x1a\x03\xe8\x91\x05\x85\xe1\x3a\x24\x2b\xfd\x69\x5f\x5d\x9c\x1e\xcd\xde\xf6\xdd\xef\x00\x00\x00\xff\xff\x15\x5d\xa5\x6a\x37\x05\x00\x00"
 
 func generic_transferCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -163,7 +163,7 @@ func generic_transferCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "generic_transfer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0xa, 0x47, 0xee, 0x45, 0x10, 0x59, 0xa1, 0xa6, 0xab, 0x61, 0xf3, 0xf5, 0xf4, 0xbd, 0xaa, 0xa2, 0xec, 0xcb, 0x54, 0xad, 0x1c, 0x19, 0xf6, 0x3b, 0x15, 0x63, 0x2e, 0xb4, 0xc3, 0x47, 0xb}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x89, 0x4b, 0xde, 0x50, 0x0, 0xa3, 0xbc, 0x3c, 0xa7, 0xcb, 0xa, 0x73, 0x89, 0xea, 0x33, 0xa1, 0x6c, 0xe4, 0xcf, 0xf9, 0x6, 0x1f, 0xc8, 0x76, 0x65, 0x38, 0x63, 0x45, 0x8d, 0x97, 0x73, 0x38}}
 	return a, nil
 }
 
@@ -747,7 +747,7 @@ func switchboardSafe_transfer_tokens_v2Cdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardSetup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x41\x6b\xe3\x3c\x10\xbd\xfb\x57\x3c\x7a\x28\x0e\xe4\x4b\xee\xa5\x2d\x7c\x1b\x58\xd8\x5b\x69\xcb\xde\xc7\xf2\x38\x16\x55\x24\x23\x8d\xda\x0d\x21\xff\x7d\x91\x9d\x7a\xe3\xda\xee\x66\x97\x15\xa5\x89\x32\x9a\x99\xf7\xe6\xbd\xd1\xbb\xc6\x79\xc1\xd7\x68\xb7\xba\x30\xfc\xec\x5e\xd8\x3e\xbd\x69\x51\x75\xe1\xc8\x97\xa8\xbc\xdb\xe1\x6a\x2e\x7c\x95\x4d\xe5\x4f\x25\x5d\x65\xd9\x7a\x8d\xe7\x5a\x07\x88\x27\x1b\x48\x89\x76\x16\x3a\x80\x20\xbc\x6b\x0c\x09\xa3\x72\x3e\x5d\xcf\xe2\x52\x93\x40\xb9\x68\x4a\x14\x8c\x18\xb8\x44\xb1\x47\x2a\x45\x76\xef\x2c\x43\x5c\xfa\xa3\xb2\x04\xe1\x1c\xb7\xe7\xe0\xa2\x57\xdd\x83\x9a\xb5\x07\x29\xe5\xa2\x15\x04\xd7\x55\x95\x9a\xf7\x50\x64\x53\x31\xcf\x8a\xf5\x2b\x63\x17\x8d\xe8\xc6\x30\xaa\x13\x76\x48\x02\x1f\x10\x83\xb6\x5b\x10\xd2\x87\x61\x1c\x06\xdc\x56\x8f\x5d\xba\x3f\x66\xe7\xd8\x0f\x59\x06\x00\x8d\xe7\x86\x3c\xe7\xa4\x94\xdc\x80\xa2\xd4\xf9\x17\xe7\xbd\x7b\xfb\x4e\x26\xf2\x12\xdf\x42\x88\xfc\x24\xce\xd3\x96\x37\xd4\x50\xa1\x8d\x96\xfd\xc6\x59\xf1\xce\x18\xf6\x4b\x3c\xc4\xc2\xe8\x50\xff\x0a\x2e\xf1\x44\xaf\xdc\xe6\x2f\x70\xfd\x7f\x47\x6c\xf1\xde\x30\x9d\xf5\x1a\x9b\x9a\xd5\x0b\x74\x95\x88\xf6\xe4\xc9\x78\xa6\x72\x8f\x9a\xc2\xcc\xc0\xfa\x12\xba\x4a\x59\xb2\x0a\x1d\xb4\x55\xd1\x82\xbe\xbd\x9e\xf3\xc2\xea\xec\xfb\x7d\x9e\x2c\x70\x33\x6b\xab\xd5\x89\xef\x03\x49\xbd\xc0\xdd\x1d\xac\x36\x38\xf4\xad\xd3\x19\x5c\x12\x1d\xcf\xc9\x22\x04\xcb\x6f\xd3\x4a\x93\x2d\xd1\x44\x81\x16\x68\x2b\x0e\x27\xe0\x83\x42\x03\x46\x81\x5e\x39\x1f\x84\xd3\xb9\xfd\x6f\x1e\xb6\x6a\x41\x9c\xfd\x92\x2f\x96\x18\x55\x10\x77\x19\xf3\x41\xe2\x22\x9b\x65\xdc\x24\xfd\x15\x54\xaf\xff\xc9\xd4\x83\x31\xf0\x8f\xc6\xb5\x26\x4d\x81\x92\xd3\x45\x3e\x56\xac\xa2\x7d\x5f\x2b\xef\xe2\xb6\x6e\xdf\xce\x79\x39\x0d\x91\x7d\x45\x6a\x38\x41\xc3\xf2\xbe\x2e\xbe\x35\xa6\xda\x50\x83\xbb\x6e\xb2\x3d\x44\xcd\xa1\x1f\xb3\x4e\x06\xbf\xbd\x9e\xeb\x73\x9f\x5f\xe4\x92\xb1\x8c\x83\x66\x4d\xb7\x23\xf9\x08\xda\x12\x24\x9f\xc8\xf1\x38\x78\x3f\xee\xf4\x8f\x44\x29\x9c\xb4\xd3\xfe\x58\xee\x70\xc9\x36\x75\xd8\x8e\xad\xc1\x53\x87\xcf\x8b\x4c\x29\x18\x46\x12\x86\x8f\xe5\xff\x4a\xc5\x4f\x01\x2f\x31\xab\xf8\x68\x65\xd2\xf9\xe3\x95\xe9\xd6\xe6\x32\x5f\x4c\xf1\xfd\x8d\x35\xa6\x2c\x71\xcc\xba\xff\xc7\xec\x67\x00\x00\x00\xff\xff\x14\x3a\xb7\xb9\x39\x07\x00\x00"
+var _switchboardSetup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x53\xdb\x6a\xe3\x30\x10\x7d\xf7\x57\x1c\xf2\xb0\x24\x90\x4d\xde\x4b\x5b\x28\x0b\xfb\x5c\xb6\xfd\x81\xb1\x3c\x8e\x44\x14\xc9\x48\xa3\x66\x43\xc8\xbf\x2f\xb2\x9b\x60\x37\x71\xf1\x42\x2b\x02\xd1\x6d\x8e\xce\x65\x6c\x76\x8d\x0f\x82\xdf\xc9\x6d\x4c\x69\xf9\xd5\x6f\xd9\xbd\xec\x8d\x28\x5d\x7a\x0a\x15\xea\xe0\x77\x98\x8d\x1d\xcf\x8a\x5b\xf5\xb7\x8a\x66\x45\xb1\x5e\xe3\x55\x9b\x08\x09\xe4\x22\x29\x31\xde\xc1\x44\x10\x84\x77\x8d\x25\x61\xd4\x3e\xe4\x65\xef\x5c\x34\x09\x94\x4f\xb6\x42\xc9\x48\x91\x2b\x94\x07\x64\x28\x72\x07\xef\x18\xe2\xf3\x8f\xaa\x0a\x84\x3e\xef\xc0\xd1\xa7\xa0\xba\x0b\x9a\x4d\x00\x29\xe5\x93\x13\x44\xdf\xa1\x8a\xe6\x03\x14\xb9\x0c\x16\x58\xb1\x79\x63\xec\x92\x15\xd3\x58\x46\xfd\xce\x1d\x92\xc9\x47\xa4\x68\xdc\x06\x84\xfc\x67\x19\xc7\x81\xb6\xd5\x9f\xae\x3c\x9c\x8a\x3e\xf7\x63\x51\x00\x40\x13\xb8\xa1\xc0\x73\x52\x4a\xee\xf0\x94\x44\x3f\x75\x4c\x16\xe7\x1b\x79\xac\xd7\xf8\xa5\x59\x6d\x61\xea\xcc\xec\xc2\x96\x6c\x60\xaa\x0e\xd0\x14\x47\x14\x5e\x20\x4c\x9d\xab\x64\x55\xfa\x10\xfc\xfe\xfe\xc7\x58\x68\xab\xde\xfc\xf1\x52\x0d\xcc\x73\x6c\x77\xa3\xad\xb0\x7a\x11\x1f\x68\xc3\xcf\x24\x7a\x81\x87\x07\x38\x63\x71\xec\xd5\x03\x83\x45\x56\x14\x38\xc7\x4a\x70\xbc\xbf\x9d\x0e\xb9\x0a\x4d\x12\x18\x81\x71\xe2\x11\xbb\x37\x06\x40\xad\xa8\x48\x6f\x3c\x1f\x6c\xe7\x71\xff\x73\x9c\xae\x6a\x1f\xef\xed\xcc\x17\x4b\x5c\x21\x88\x9f\xa8\xb8\x18\x15\xd7\xa4\xd2\x1a\x05\x45\x0d\x95\xc6\x1a\x39\xbc\xf7\xdc\x40\x31\xff\x6d\x7c\xdb\x43\xf9\xa0\xe2\xbc\x90\x8f\x88\x75\x72\xe7\xae\x0f\x3e\x6d\x74\x7b\x77\xac\xd5\xb2\x5f\x1c\x6a\x52\x37\xcc\xb2\xc6\x6d\xa7\xe5\x3f\x86\xfe\x78\xed\xf5\x28\xdc\xb9\xe8\xb9\xf5\x21\x9b\xb5\xbc\xb6\x99\xc2\x86\x65\x9a\xd5\x83\xe2\xc5\xb4\x06\xfb\xbf\x0c\x4a\x2f\xad\xb9\x1f\xe1\x8e\x53\x2c\xeb\x64\x9e\xda\xd6\xcd\x2f\x7c\x0e\x72\x2b\xb0\xf8\x75\x89\x7d\xca\x71\x89\x2f\x48\xf7\x9b\x53\xbd\x4c\x4e\xdd\x07\x76\x2a\x8a\x53\xf1\x2f\x00\x00\xff\xff\xb5\xea\xbe\xcb\x95\x06\x00\x00"
 
 func switchboardSetup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -763,7 +763,7 @@ func switchboardSetup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x41, 0xd3, 0x32, 0x12, 0xdb, 0x67, 0x6f, 0xa6, 0xd5, 0x29, 0x5d, 0x99, 0x7a, 0x99, 0x67, 0x46, 0x87, 0x5d, 0xa5, 0xd1, 0x4e, 0x8a, 0xd6, 0xec, 0xfb, 0x9a, 0xa6, 0xe, 0x23, 0xfd, 0x32, 0x2f}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x74, 0x85, 0x63, 0x21, 0x54, 0xb9, 0x53, 0x38, 0xac, 0x89, 0xdc, 0xfe, 0x4a, 0x2, 0xa9, 0xbc, 0xd5, 0xef, 0x31, 0x1b, 0x1a, 0xb7, 0x3d, 0xb0, 0x31, 0x7b, 0xf5, 0xb8, 0xe3, 0x43, 0xa7, 0x3b}}
 	return a, nil
 }
 

From b728ef283f62bb29e45af7057fdd543f70d7ec05 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 12:41:05 -0500
Subject: [PATCH 040/115] add ReceiverPublicPath to ExampleToken-v2 & update go
 tests + txns

---
 contracts/ExampleToken-v2.cdc           | 13 ++++++++++++-
 transactions/create_forwarder.cdc       |  4 ++--
 transactions/setup_account.cdc          |  8 +++++++-
 transactions/transfer_many_accounts.cdc |  2 +-
 transactions/transfer_tokens.cdc        |  2 +-
 5 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 0970dacb..97294d43 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -18,6 +18,7 @@ access(all) contract ExampleToken: ViewResolver {
     /// User Paths
     access(all) let VaultStoragePath: StoragePath
     access(all) let VaultPublicPath: PublicPath
+    access(all) let ReceiverPublicPath: PublicPath
 
     /// Function to return the types that the contract implements
     access(all) view fun getVaultTypes(): [Type] {
@@ -58,6 +59,7 @@ access(all) contract ExampleToken: ViewResolver {
 
         access(self) var storagePath: StoragePath
         access(self) var publicPath: PublicPath
+        access(self) var receiverPath: PublicPath
 
         /// Returns the storage path where the vault should typically be stored
         access(all) view fun getDefaultStoragePath(): StoragePath? {
@@ -69,6 +71,11 @@ access(all) contract ExampleToken: ViewResolver {
             return self.publicPath
         }
 
+        /// Returns the public path where this vault's Receiver should have a public capability
+        access(all) view fun getDefaultReceiverPath(): PublicPath? {
+            return self.receiverPath
+        }
+
         access(all) view fun getViews(): [Type] {
             return [
                 Type<FungibleTokenMetadataViews.FTView>(),
@@ -108,7 +115,7 @@ access(all) contract ExampleToken: ViewResolver {
                         ?? panic("Could not borrow a reference to the stored vault")
                     return FungibleTokenMetadataViews.FTVaultData(
                         storagePath: self.storagePath,
-                        receiverPath: self.publicPath,
+                        receiverPath: self.receiverPath,
                         metadataPath: self.publicPath,
                         providerPath: /private/exampleTokenVault,
                         receiverLinkedType: Type<&ExampleToken.Vault>(),
@@ -143,6 +150,7 @@ access(all) contract ExampleToken: ViewResolver {
             let identifier = "exampleTokenVault"
             self.storagePath = StoragePath(identifier: identifier)!
             self.publicPath = PublicPath(identifier: identifier)!
+            self.receiverPath = PublicPath(identifier: "exampleTokenReceiver")!
         }
 
         /// Get the balance of the vault
@@ -263,6 +271,7 @@ access(all) contract ExampleToken: ViewResolver {
         let vault <- create Vault(balance: self.totalSupply)
         self.VaultStoragePath = vault.getDefaultStoragePath()!
         self.VaultPublicPath = vault.getDefaultPublicPath()!
+        self.ReceiverPublicPath = vault.getDefaultReceiverPath()!
         self.account.storage.save(<-vault, to: self.VaultStoragePath)
 
         // Create a public capability to the stored Vault that exposes
@@ -271,6 +280,8 @@ access(all) contract ExampleToken: ViewResolver {
         //
         let exampleTokenCap = self.account.capabilities.storage.issue<&{FungibleToken.Vault}>(self.VaultStoragePath)
         self.account.capabilities.publish(exampleTokenCap, at: self.VaultPublicPath)
+        let receiverCap = self.account.capabilities.storage.issue<&{FungibleToken.Receiver}>(self.VaultStoragePath)
+        self.account.capabilities.publish(receiverCap, at: self.ReceiverPublicPath)
 
         let admin <- create Minter()
         self.account.storage.save(<-admin, to: self.AdminStoragePath)
diff --git a/transactions/create_forwarder.cdc b/transactions/create_forwarder.cdc
index 64901bc3..1f19fcfd 100644
--- a/transactions/create_forwarder.cdc
+++ b/transactions/create_forwarder.cdc
@@ -40,13 +40,13 @@ transaction(receiver: Address) {
         acct.storage.save(<-vault, to: /storage/exampleTokenForwarder)
 
         // Unlink the existing capability
-        acct.capabilities.unpublish(ExampleToken.VaultPublicPath)
+        acct.capabilities.unpublish(ExampleToken.ReceiverPublicPath)
 
         // Link the new forwarding receiver capability
         let tokenReceiverCap = acct.capabilities.storage.issue<&{FungibleToken.Receiver}>(
                 /storage/exampleTokenForwarder
             )
-        acct.capabilities.publish(tokenReceiverCap, at: ExampleToken.VaultPublicPath)
+        acct.capabilities.publish(tokenReceiverCap, at: ExampleToken.ReceiverPublicPath)
 
         // Link the new ForwarderPublic capability
         let tokenForwarderCap = acct.capabilities.storage.issue<&{TokenForwarding.ForwarderPublic}>(
diff --git a/transactions/setup_account.cdc b/transactions/setup_account.cdc
index 1616d13e..d56fb941 100644
--- a/transactions/setup_account.cdc
+++ b/transactions/setup_account.cdc
@@ -20,10 +20,16 @@ transaction () {
         // Create a new ExampleToken Vault and put it in storage
         signer.storage.save(<-vault, to: ExampleToken.VaultStoragePath)
 
-        // Create a public capability to the Vault that exposes the Receiver, Balance, and Resolver interfaces
+        // Create a public capability to the Vault that exposes the Vault interfaces
         let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(
             ExampleToken.VaultStoragePath
         )
         signer.capabilities.publish(vaultCap, at: ExampleToken.VaultPublicPath)
+
+        // Create a public Capability to the Vault's Receiver functionality
+        let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(
+            ExampleToken.VaultStoragePath
+        )
+        signer.capabilities.publish(receiverCap, at: ExampleToken.ReceiverPublicPath)
     }
 }
diff --git a/transactions/transfer_many_accounts.cdc b/transactions/transfer_many_accounts.cdc
index 95710496..edd94ab8 100644
--- a/transactions/transfer_many_accounts.cdc
+++ b/transactions/transfer_many_accounts.cdc
@@ -25,7 +25,7 @@ transaction(addressAmountMap: {Address: UFix64}) {
             let recipient = getAccount(address)
 
             // Get a reference to the recipient's Receiver
-            let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.VaultPublicPath)
+            let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
                 ?? panic("Could not borrow receiver reference to the recipient's Vault")
 
             // Deposit the withdrawn tokens in the recipient's receiver
diff --git a/transactions/transfer_tokens.cdc b/transactions/transfer_tokens.cdc
index 6318dcf4..eb30bac0 100644
--- a/transactions/transfer_tokens.cdc
+++ b/transactions/transfer_tokens.cdc
@@ -29,7 +29,7 @@ transaction(amount: UFix64, to: Address) {
         let recipient = getAccount(to)
 
         // Get a reference to the recipient's Receiver
-        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.VaultPublicPath)
+        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
             ?? panic("Could not borrow receiver reference to the recipient's Vault")
 
         // Deposit the withdrawn tokens in the recipient's receiver

From c88b5ccb0f4f0c88d5810a8cd631fc11407aa8af Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 12:41:32 -0500
Subject: [PATCH 041/115] update go assets

---
 lib/go/contracts/internal/assets/assets.go | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 42978cce..c5767116 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,6 +1,6 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (11.893kB)
+// ../../../contracts/ExampleToken-v2.cdc (12.555kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
 // ../../../contracts/FungibleToken-v2.cdc (10.649kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x8f\xdb\x36\x97\xef\xf3\x2b\x4e\xbc\x40\xd7\x46\x67\xec\x49\x2f\xd9\xd6\xc8\x24\x4d\x93\xcc\xee\x02\x2d\x1a\x24\xd3\xf4\x21\x08\x12\x5a\x3a\xb2\xf9\x45\x22\x05\x92\xb2\xe3\x06\xf9\xef\x1f\x0e\x2f\x12\x29\x4b\x1e\x67\xd2\xa7\xcf\x2f\x33\x92\x78\x0e\xcf\xfd\x46\xf2\xaa\x96\xca\xc0\x75\x23\xd6\x7c\x55\xe2\x8d\xfc\x80\x02\x0a\x25\x2b\x98\x24\xef\x26\x67\x7e\xe5\xef\x68\x58\xce\x0c\x7b\xcd\x71\xa7\xfd\xca\xe4\x5d\xbb\x32\x81\x1f\x02\x1b\x5f\xd0\xed\xd6\x94\x86\xd7\x25\xbe\x66\x4d\x69\xda\xed\x92\x97\xed\x5a\x82\x7c\x89\x5a\x96\x5b\x54\x7e\x65\xfc\x6a\x72\x76\xc6\xb2\x0c\xb5\x9e\xb2\xb2\x9c\x41\x26\x85\x51\x2c\x33\xf0\xfc\x23\xab\x6a\x4f\xc4\x32\x45\xf2\xe9\xec\x0c\x00\x60\xb1\x58\xc0\xcd\x06\x01\xb7\x28\x0c\x98\x0d\x33\xc0\x35\x60\xc5\x8d\xc1\x1c\x76\x1b\x14\x20\x70\x07\x86\x30\x68\x60\x0a\xa1\xe2\xc2\x60\x6e\x81\xe3\x3d\x1d\x02\xbb\x93\xfe\xdd\x2e\x99\xb2\x4a\x36\xc2\x2c\xe1\xcf\x6b\xfe\xf1\xc1\x0f\xe7\x60\xf6\x35\x2e\xe1\x95\x51\x5c\xac\x67\xd1\xf6\xd2\xb0\x12\x74\x53\xd7\xe5\x1e\x64\x91\x10\xad\x81\x0b\xc0\x8f\x5c\x1b\x14\x19\x1e\x6c\xba\x65\x0a\x0c\x81\xbf\xb2\xd0\x61\xab\x0e\xf7\x93\xbc\xe2\x02\x5e\x30\xb3\x39\x80\x2d\xd1\xb8\xcf\xaf\x8c\x54\x6c\x8d\xb4\x88\xa8\x6b\x1f\x3a\x2c\x7f\x6a\x54\x16\x89\x1e\xc4\x62\x75\x35\x8a\x65\x14\xe2\x45\xb3\x2a\x79\xe6\x00\xba\xff\xbb\x5d\xaf\x1b\x91\x19\x2e\x05\x18\x09\x0a\x4d\xa3\x04\x98\x0d\x5a\x29\x6a\xa7\x29\x7a\x6c\x75\xcd\x49\x68\x15\x0a\x73\x48\xe4\x96\xe3\x0e\x8a\x46\xc0\x1a\x8d\xdd\xfa\x86\x70\x4c\x67\x4b\x78\x43\xff\xbd\x85\x4f\x16\x84\x7e\x44\x1d\xed\xf0\x44\x29\xb6\x6f\xbf\x5f\xb9\x7f\x1e\xfe\x12\xeb\x66\x6e\x51\x3d\x9a\xce\xde\xb6\xd0\x81\xcc\x80\xc0\x7e\xf8\x7c\x76\x9c\x20\x72\x8a\x51\x5a\xb6\xb4\xc7\x4b\x2c\xe0\x0a\x34\x96\xc5\x9c\x65\x19\x19\xd5\x3c\x63\x35\x5b\xf1\x92\x1b\x8e\x7a\xbe\x92\x4a\xc9\xdd\xc3\x6f\x86\xa8\x5b\xd4\x56\xb4\x0b\x8c\xbe\xd9\x4f\xb3\x76\x1f\xfa\x3d\x7e\x0c\x35\x13\x3c\x9b\x4e\x9e\xca\xa6\xcc\x41\x48\x03\x0e\x2d\x30\x50\x58\xa0\x22\x03\x24\x55\x90\xd0\x2d\x55\xa0\x82\xf7\x75\xa8\xfa\x92\x08\xe4\xcf\x3b\x46\xc7\x64\x42\xe2\xf0\x18\x69\xe5\xf4\x9d\x95\xd2\x12\x48\x2a\xb3\x25\x3c\x11\xfb\x57\x46\x35\x99\x79\xfc\x1f\x2a\xa1\x98\x77\xe2\x3c\x11\x14\xf9\x83\xa5\x29\x3c\xb5\x6f\x9f\xb3\x6c\x03\x0d\x39\xa8\x36\x52\xa1\x06\x26\x80\x0b\x6d\x18\x11\x23\x0b\x90\xa2\xdc\x5b\x8a\x2c\x38\x85\x13\xb3\x41\xee\x56\xb3\x35\x26\x41\xb0\xf0\x1e\xa7\xfd\x32\x0f\xc3\x44\x0e\x6b\xb9\x45\x25\x30\x87\x95\xc3\x56\x2b\xb4\xef\x6b\xa9\x0d\xf9\x60\xce\x2d\x60\x8b\x8e\x8b\x5e\xde\xb1\xa1\xd4\x6c\x70\x6f\x83\x68\xc6\xca\x12\xf3\x79\xb2\x7b\xb6\xc1\xec\x83\x86\x0d\xab\x6b\x14\xc0\x0c\xa8\x46\x18\x5e\xa1\x05\x45\x8a\xd9\xac\xa5\x90\x82\x74\x0f\x47\x8b\x8b\x42\x7c\xa3\x32\xa4\x15\xc2\xf1\xbf\x42\xc8\x14\x32\x0a\xe9\x9e\x33\x0a\x1b\xf8\xd1\x90\x84\x92\x28\x12\xe2\xca\xbe\x45\x47\xe4\xe6\x58\x70\x61\x81\xcf\x41\x5b\x05\x2b\x24\x12\x84\x84\x1d\xdb\x43\x21\x89\xb6\x8a\x95\x3c\xe3\xb2\xd1\x4e\x1d\x46\xfa\x3d\x9d\x14\x3b\xd1\xc8\xc6\x6f\xcb\x05\x30\xae\xe6\xf0\x04\x74\x8d\x19\x67\x25\xd8\xc4\xa1\xac\xd9\x10\x07\x20\x10\x73\x4d\x98\x56\x1d\x0d\x46\xda\x14\xd4\xa2\xeb\xd2\x53\x2a\x8a\xd8\xb7\x5a\x84\x96\x94\x65\xaa\x1a\xe7\x07\x21\x21\xc6\x1a\xb1\xa9\x05\x56\xac\x0c\xc6\x64\x36\x5c\x3b\x8b\x6d\xd7\xf6\xd3\x91\x5f\x9d\xa6\xa2\x68\x21\xf9\xa8\x5b\xa9\x8f\x65\x8c\x41\x88\xfa\x48\xc6\xe8\xb4\x4f\x6e\xa5\xad\x56\xfd\x0e\x50\x33\xb3\x21\x2b\x52\x18\xf9\xa6\xde\x58\x37\x36\xfb\x9a\x93\x25\x59\x23\xb1\x2e\x94\x0f\xf3\x16\x85\xec\x67\x58\xf4\x52\x1e\xc5\xef\xe8\x31\x8e\x51\x91\xaf\xdb\xf8\xa4\x07\x38\xfd\x3c\xce\x83\xe3\x39\x65\x21\x28\x21\xf0\xb0\x61\x5b\x04\x16\x96\xb6\x81\x6f\x7f\x2a\x23\x9d\x2c\x89\x8f\xee\xe9\x18\x1b\x9d\x2e\x86\xb8\xf8\xf2\x64\x17\xe1\x7f\x93\xbc\xa4\x9f\x4d\xbe\xe3\x25\xe5\xfc\xfa\x86\xfe\x3e\x9a\xce\xce\xef\x00\xfa\x8c\xeb\xba\x64\xfb\x3b\x42\x5b\xe7\x79\xc6\x0c\xbb\x13\xfc\x4d\x57\xbc\x3d\x9a\xa6\xf9\xe6\xed\x6d\x72\xbd\x4b\xc2\xa4\x9f\xde\x71\x93\x6d\x9c\x5a\x3e\x1d\x50\x9c\x31\x8d\xa7\xcb\x7b\x79\x00\x1f\xe9\xf1\x56\x04\xd3\x41\x68\xfa\x15\xc6\x6b\x65\xe9\xac\x2d\xe6\xf3\x4b\x34\x3a\x03\xa6\xef\x1d\x27\xc4\x2f\x7e\x7c\xa8\xbc\x8e\x98\x56\xc9\x77\x22\x27\x36\x91\x13\x08\x6a\x97\x3f\x1e\xa4\x68\x76\x57\x95\x75\x52\x19\xd6\x1a\x15\x53\x15\xe6\x9c\xc1\x55\xda\x09\xce\x7f\xa7\xb7\xe3\xca\xb2\x32\xe2\x25\x2e\x7b\x60\xff\x77\x73\xf3\xe2\x9a\x97\x78\x1c\xb2\x51\xe5\x12\x26\x1b\x63\x6a\xbd\x5c\x2c\x98\xd6\x68\xf4\x7c\x87\x2b\xcd\x0d\x5e\x10\x5a\x3d\xcf\x64\xb5\xf8\xb1\x78\xf0\xdd\xcf\x3f\x64\x97\xd9\xff\xb0\x9f\xb2\x3c\x7f\xf0\xc3\xf7\xab\xfb\xd9\x4f\xdf\x5d\xf6\x3e\xb0\x1f\x7f\xcc\x56\xf7\xb3\x9f\xbf\x7f\xf0\xee\xba\x94\xbb\x77\x7f\x49\x95\x57\x4c\x7d\x98\xeb\xed\x7a\x32\x4a\xc7\x80\xe7\x86\x9f\x95\xc8\x8d\xed\xdc\x26\xbc\x62\x6b\x5c\xe8\xed\xfa\xdb\x8f\x55\x39\x8c\xed\x50\x3b\x89\x68\xf5\xb0\x6c\xf5\xf4\x8d\xfd\xfc\x76\x18\xfc\x14\x7f\xf2\xda\x1d\x97\xb5\x60\x15\xf1\xe0\x2b\xe0\x16\x99\x6b\x59\x27\xe3\x02\xd0\xfb\x6a\x25\x49\x45\xcf\xaf\x6f\x8e\x2c\xcb\x51\x67\x8a\xd7\x54\x9c\x2d\x61\x72\x43\x39\xaa\x08\x5b\xd8\xf2\x84\xea\xa5\x46\x63\x0e\xcc\xd6\xa8\xbe\xda\xa6\x72\x66\x83\x65\x0d\x7b\xd9\x40\x8e\x5b\x2c\xa5\xfd\x5f\x81\xa0\xf2\xec\xfa\x06\xfe\x4b\x0a\xd2\xe4\xfc\xc8\xde\xf8\xd1\xa0\x12\xac\xfc\xf3\xe5\x6f\x7d\x1b\x7c\xde\x7d\x9a\xb6\x46\xe6\xf7\xbe\x28\xcc\x5c\x8a\x82\x90\x4b\xb5\x9e\x1c\x31\x82\x52\xae\xa5\x5e\x7a\x15\x1e\x11\x95\xa4\x2a\x4e\x2f\x07\xc2\x6a\xfc\x9b\x98\x1d\x37\x06\xd5\xe4\x24\x62\xfd\x62\xeb\x04\x44\xeb\xbb\x55\x29\xb3\x0f\xd9\x86\x71\x31\x19\x36\x17\xb0\x39\x63\xe8\xed\x9d\x63\x47\x1c\xc2\xc6\xa3\x47\xd4\x8a\x25\x8d\x56\x68\xc9\x7c\xe9\x73\xb4\x1b\x2b\x94\xac\x96\x07\x95\xd2\x38\xa3\x5f\xd6\x96\xb9\x02\xcf\x11\x3a\x22\xbd\x93\x92\x57\x10\xc7\xb8\xbb\x25\xd5\x6d\x9f\x9d\x71\x13\x52\x98\x21\xdf\xa2\x8a\xe0\xba\x4a\xeb\x58\x94\x72\x04\x7e\x21\x58\xad\xe4\x96\xe7\x61\xb7\x45\xad\xf8\x96\x19\x3c\xec\x84\x6f\xa7\xf7\x37\x2e\x3e\x60\xee\xe2\xa4\x35\xa7\x41\xe5\x1e\x8d\xb3\x8e\x83\xaf\x46\x14\x78\xfa\x6a\x44\xae\x7b\x7b\x5e\xd5\x66\x6f\x17\x87\x79\xd4\x12\xa6\x45\x23\xa8\x88\xfd\xe5\xd3\x40\x23\xf5\xf9\x16\xef\xf7\xf6\xf5\xf0\xa2\xed\xfc\xfb\x1b\x4d\x8f\xb8\xf5\xf0\xa7\x3b\xfa\x75\x5a\x7d\xde\xb5\x96\x8b\xb0\x8c\xbb\x43\x32\xa5\x4c\x14\x11\x7d\x39\x81\xb7\xcf\x43\x0d\x83\xe0\xe5\x58\x2b\xb5\x46\x43\xb8\xa5\x32\x98\x77\xa3\x3f\x90\x36\x51\xd9\xb6\x4f\xf9\x66\x8b\x41\xc9\xb5\xed\xcc\x5d\x6f\x95\xcc\x19\xb9\x6e\x2d\xdd\xd6\xe0\xb5\xef\xe7\xe1\x48\xaf\x33\xb0\x2f\x19\xcd\x27\x67\x92\xbf\x4a\x59\xf6\x4d\x85\x62\xa8\x0e\x50\x16\xa0\xb7\xfc\x0a\x3e\xa5\x02\x48\x57\xbf\xb1\x8e\xbf\x46\xbb\xd9\x74\xf6\x16\xae\xc0\xa8\x06\x07\x7b\xb8\x04\xf0\xe4\x16\x8e\xeb\x43\xae\xa6\xa6\xf5\xb1\x99\x23\xf4\x48\xdb\x38\x26\x97\x37\xc6\xf6\x83\x8f\x1f\x43\xc1\x4a\x8d\xc3\xea\x04\x2e\xb8\xe1\xac\xe4\x7f\xbb\x46\x3e\x4c\x26\x98\xe9\x26\x1c\xd6\x99\xec\xd4\x98\x57\x1d\x1a\x02\x9c\xf6\x46\x13\xb3\x7e\x5f\x44\xf4\x05\x94\x57\x01\xf9\x81\x82\x78\x8e\xc2\xf0\x82\xa3\x82\x2b\x98\x1c\x84\xca\xc9\x21\xce\x28\xf0\xc3\x55\x3c\x26\x98\x76\xb8\x96\x11\xde\xd9\xbd\x43\x1c\x5d\x34\x87\xab\xa8\x43\xbf\x1d\x43\xcf\x1f\xfe\x17\x4d\x22\x3a\x3f\xff\x3a\x32\xd3\x89\x2c\xfa\x57\x07\x44\x56\xec\x44\x78\x44\xd1\x7d\xf1\xf5\xe8\xd8\x71\xb3\xc9\x15\xdb\xc5\x2f\x93\x05\xdd\xf4\xdf\x7a\x20\xfb\xe0\x46\x9b\xee\x4c\xc5\xd7\x90\x4c\xad\x9b\x0a\x85\x49\x00\x99\xc8\x5b\xec\xde\x7f\x3d\x90\x3d\x37\x6a\xc7\x9a\xf3\xd1\xad\xff\xdf\xf8\xd8\x4f\x41\xc1\x8e\xd7\xb0\xaa\xa5\x62\x6a\xef\x07\xa2\xe1\x98\xc8\x96\xb3\x54\xc0\xca\x32\x4f\x30\xd8\x73\x0a\x77\x7e\xe3\x08\x50\x08\x2b\xe4\x62\x0d\x46\x31\xa1\x0b\x54\x0a\xf3\x39\x6d\xa4\xa2\x51\x8f\xc0\x5d\x14\x03\x09\x4f\x18\x5a\xfa\x6d\x65\x32\xba\xb4\x98\xdd\x10\x14\xb4\x04\x6e\xec\xbc\xd3\x4e\x0a\x6b\x49\xdd\x53\x4a\x13\x96\x1a\xed\x00\x69\x98\x71\xaf\xf3\x34\xa1\xfd\xe5\xe5\xc8\x56\x25\xba\x81\x43\x90\x6c\xef\x70\x8b\x92\xe1\x61\x7a\x3d\xee\x60\xc9\xe3\x85\x57\xd2\x90\x3d\x3d\xbc\x88\x07\xa9\x9d\x1b\x3b\x88\xd9\x98\x89\x79\x31\x7c\x99\x85\x79\x51\xcb\xd5\xbf\x30\xeb\x9b\x99\x35\x2d\x96\xe7\x3a\x41\xc3\x8d\x6e\xbd\xc9\x6b\xa8\xe7\x5c\x72\x27\x50\xe9\x13\xac\x8e\x6b\x60\x65\x29\x77\xce\xaa\x72\xd4\x46\x49\x37\x6e\xd7\xb4\xbd\x23\x6d\x85\x19\x6b\x34\x76\x86\x9c\xfa\x15\x91\x1c\x19\x2c\x99\x26\xaa\x40\x89\x9f\x13\xdb\xe1\xae\x85\xfd\xef\x8e\xf6\x0d\x4b\xf9\x5a\x21\x0a\xb2\x35\xdd\x54\xd4\xb4\x89\xdc\x8d\xbd\x0b\x69\xc7\xf7\xde\xd0\x2c\x85\x61\x08\x3f\x62\x52\xed\xb0\xca\x2b\xc4\x97\xf8\xc3\xc5\x53\x3f\x28\xb7\x6d\x05\x3c\xbc\x70\x0e\xcc\xf4\xbd\x21\x5b\x3b\xd9\xd2\xbe\x75\xf8\x0e\x02\x14\xfd\x92\x2f\x70\x05\x97\xf3\xcb\xe4\x7b\x50\x49\x1a\x2e\x0f\x93\xe6\x6d\x5e\x14\xa2\xc0\xc1\x11\x71\x28\x32\x96\xf0\xb4\x9d\xe2\x3e\xfc\xa6\x27\xa9\x97\x7e\xd1\xe7\x47\x43\xd2\x0a\xb8\x5f\x07\xa9\x59\xee\x0f\xfc\x36\x38\x4f\x02\xef\x13\xc4\x40\xe3\xa4\x30\xe3\x35\x47\x41\x16\x13\xf6\x3f\xd8\x3a\x50\xef\x5a\xc0\xf0\xe4\xdb\xbd\x81\xaa\xf6\x48\xef\xd6\x56\x5b\x47\x29\x79\xed\xfb\xb8\x3e\x13\xcf\x9c\xa5\xd9\xf5\x81\x73\x11\x22\xb2\x3f\x01\x8a\xf1\xa8\x21\x8e\x22\x6e\xe6\xa9\xe9\x3e\xbc\x48\x84\x3c\x1a\x81\xfa\x85\xfd\x89\xa1\x28\x4d\x3e\x4e\x8f\xc4\x05\xb0\x38\xb2\xfc\x8d\x4a\x1e\x24\xbe\x90\x4e\x78\x97\x2d\x58\x59\x52\xe2\xf1\x59\x63\x0e\x4f\xdc\xf1\x54\xd5\x68\x97\x3d\x5c\x75\x1b\x0e\xd6\x0e\x30\xda\x8e\xd9\x0b\x8c\x70\xb7\xd9\xa8\x7f\x92\x48\x2f\xa4\xca\xdd\xc9\x97\x0d\x63\xee\x7b\x8a\xd1\x4d\x02\xfc\x91\x16\x73\xc3\xa1\x20\xe9\x10\x20\x74\x7b\xd4\xe4\x06\x47\x54\x1a\x9e\x16\x61\x0e\x3b\xa9\x53\xf2\xd2\x2d\x69\xe6\x72\x7e\x39\xa2\x61\xb8\xf9\xe3\xd9\x1f\x4b\x78\x89\x5b\x4e\xd6\xc6\x0b\x50\x58\xc9\x2d\x2b\x89\x81\xac\xd1\x46\x56\x2e\x64\x34\x99\x91\x4a\x43\xcd\xb4\xc6\x38\xca\xc2\x2b\x44\x08\x83\x9e\x35\x37\x9b\x66\x65\xe7\x3c\x6e\x2a\xb5\x28\x4a\x5e\xeb\x45\xdd\x94\xe5\xe2\xfe\xf7\xf7\x5b\x38\x1f\x85\xa6\x7d\xef\xe7\x45\x1a\xe9\x1e\x11\xe9\x03\xdd\xe8\x58\xfb\xd5\x1f\xdb\xc4\x9f\x2e\x86\xab\x3a\x48\x5a\x32\xf7\x5f\x74\x64\xed\xce\x33\xcf\x60\xe4\x84\x36\xa4\x59\x97\x80\xad\xae\x99\xbd\xb0\xe2\xcd\xc4\x9d\xe0\x52\x0a\x0b\xa7\x9e\x5f\x76\xda\xe9\x8f\x53\x3f\x25\x26\x48\x68\xdc\xdd\x9a\x13\xdd\x91\x00\x74\xb4\xf1\xb9\xad\x01\xc8\xb8\xab\xe0\x64\x26\xba\xc2\x73\x3e\xea\x94\x31\x44\xdf\x2d\x4f\x32\xef\x8e\xf4\xbb\x94\x5f\xb5\xc2\x01\x63\xf0\xb5\xb1\xb5\x95\x25\x4c\x9e\xb8\x47\x77\xc9\xc9\x05\x89\x15\xc2\xda\x3a\x86\x22\x79\x08\x1b\x78\x26\x47\x9a\xf2\xbb\x98\xd7\xb7\x43\xe5\x1f\x56\x7c\xe4\x46\x95\xfb\x1b\x6e\x54\xa5\x5d\xef\x3c\x6a\x83\xbe\xae\x9a\xec\x19\xf3\x60\x34\x8f\xcd\xfa\xab\xa2\xf8\x3f\x1b\xc1\xff\xd9\xe8\xfd\x0f\x44\xee\x21\x3f\xbd\x5b\xc4\x6e\xd5\x08\xb7\x84\xeb\xcf\x43\x57\xc9\x48\x33\x3e\x7e\x76\xd5\x7e\xb8\x2f\x73\x0e\x58\x14\x98\x19\xbe\xc5\x72\x0f\xab\x46\x09\xdb\xb2\x75\x85\xf3\x81\xca\x7f\xa9\x99\x62\x15\xb8\xb2\xa0\xad\xaa\xa3\x69\x84\x14\x86\xf1\x1e\x1a\x2b\xc3\x46\x89\x1e\xb6\xaf\xc8\x26\x77\xc9\x24\x7d\x4d\x10\x45\x3e\xb8\xf8\x02\xfd\x50\x0d\x71\xc6\x09\xb5\x30\x2d\x8e\xe5\x6d\x47\x2d\xf1\x42\xeb\x9e\x69\x1c\xb8\x7f\x79\x49\xa5\x75\xba\xa4\x7f\x19\x11\xae\x60\xe1\xad\x33\x99\x48\xbb\x3b\x8d\x49\x1e\x7e\xea\x2c\xa1\xbb\xb2\x64\x1d\xad\x1f\x99\xad\x71\xfa\x8b\x9c\xe4\x1b\x6c\x8b\xe4\x66\x5c\x24\x97\xa1\x1c\xca\xf6\xdf\xa4\x01\x19\xb6\xb8\x3e\x83\xb3\x94\xaf\xfe\xf5\x48\xb8\xf2\x7d\xc6\xc8\x4d\x92\x7b\x03\xe0\x2f\xe2\xf1\x4f\x1f\x3a\xbe\xbe\xd1\x03\xee\x9f\xbc\x10\xcf\x53\x3f\x7a\x3e\x07\x23\x97\xc3\x24\xce\x86\xa4\x3b\x70\xc1\xa4\x77\xac\x12\x4d\x47\xf0\x63\x2d\x7b\xb5\x0e\x2d\x7c\xef\x03\xc5\x7b\xa8\xd0\x6c\xa4\xeb\x2b\xd7\x68\x9e\xd8\x99\xaa\x9f\x46\x86\x6f\x66\xa3\x64\xb3\x76\x7a\x7c\x1f\x9a\x8e\xf7\x60\x93\x7a\xc1\xb2\x58\x5d\xa1\x3f\x85\xf7\xf1\x98\xea\xfd\x20\x26\xff\x79\x18\x51\xa2\xf7\xd8\xea\x9e\xb2\xfa\xe8\x0d\xc3\x20\x61\xae\x75\x83\x07\x2d\x9b\x6b\x6e\x1f\x4d\x47\xa4\x3d\xa8\xb3\x04\xbd\x15\xbd\xde\x4c\x7b\x24\x9d\x03\x33\xcb\x41\x3b\x89\x54\x48\xac\xb8\xba\xaa\x33\x61\x57\x1a\x4d\x47\xb6\xee\x99\x8b\x05\x8e\xcc\xa5\xef\xa9\x21\xde\x7e\x3e\x83\xb3\x7f\x07\x00\x00\xff\xff\xfd\x6c\x01\x8c\x75\x2e\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x5b\x72\x7a\xc9\xb6\x1a\x3b\xae\x9b\xc4\xbb\x3b\xd3\x4e\x33\x89\x9a\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x1d\xdc\x48\x80\x17\x59\x91\xf3\xb4\x7a\xb1\x49\xe2\x1c\x9c\xfb\x0d\xa0\x45\xc9\x85\x82\x9b\x8a\xad\xe8\x32\xc7\x05\xff\x8c\x0c\x32\xc1\x0b\x18\x45\xef\x46\x27\x6e\xe5\xef\xa8\x48\x4a\x14\x79\x47\x71\x2b\xdd\xca\xe8\x5d\xbd\x32\x82\xef\x03\x1b\x5e\xd0\xec\x56\xe5\x8a\x96\x39\xbe\x23\x55\xae\xea\xed\xa2\x97\xf5\x5a\x0d\xf9\x06\x25\xcf\x37\x28\xdc\xca\xf0\xd5\xe8\xe4\x84\x24\x09\x4a\x39\x26\x79\x3e\x81\x84\x33\x25\x48\xa2\xe0\xd5\x2d\x29\x4a\x47\xc4\x3c\x46\x72\x77\x72\x02\x00\x30\x9b\xcd\x60\xb1\x46\xc0\x0d\x32\x05\x6a\x4d\x14\x50\x09\x58\x50\xa5\x30\x85\xed\x1a\x19\x30\xdc\x82\xd2\x18\x24\x10\x81\x50\x50\xa6\x30\x35\xc0\xe1\x9e\x16\x81\xd9\x49\xfe\x6e\x96\x8c\x49\xc1\x2b\xa6\xe6\xf0\xe7\x0d\xbd\x7d\xf6\xc3\x29\xa8\x5d\x89\x73\x78\xab\x04\x65\xab\x49\xb0\x3d\x57\x24\x07\x59\x95\x65\xbe\x03\x9e\x45\x44\x4b\xa0\x0c\xf0\x96\x4a\x85\x2c\xc1\xce\xa6\x1b\x22\x40\x69\xf0\xb7\x06\xda\x6f\xd5\xe0\xbe\x4e\x0b\xca\xe0\x35\x51\xeb\x0e\x6c\x8e\xca\x7e\x7e\xab\xb8\x20\x2b\xd4\x8b\x34\x75\xf5\x43\x83\xe5\x4f\x89\xc2\x20\x91\xbd\x58\x8c\xae\x06\xb1\x0c\x42\xbc\xae\x96\x39\x4d\x2c\x40\xf3\x7f\xef\xfa\x37\x98\x20\xdd\xa0\x18\x00\xa9\x09\xbd\xa9\x58\xa2\x28\x67\xa0\x38\x08\x54\x95\x60\xa0\xd6\x68\x04\x2f\xad\x72\xf5\x63\x6d\x1e\x54\xcb\xb9\x40\xa6\xba\x7c\x6d\x28\x6e\x21\xab\x18\xac\x50\x19\x6a\x17\x1a\xc7\x78\x32\x87\xf7\xfa\xbf\x0f\x70\x67\x40\xf4\x4f\x13\xa8\x77\xb8\x16\x82\xec\xea\xef\x97\xf6\x9f\x8b\x5f\x42\x75\x4e\x0d\xaa\xe7\xe3\xc9\x87\x1a\xda\x93\xe9\x11\x98\x0f\xf7\x27\xfb\x09\xd2\x7e\x34\x48\xcb\x46\xef\xf1\x06\x33\xb8\x04\x89\x79\x36\x25\x49\xa2\xed\x70\x9a\x90\x92\x2c\x69\x4e\x15\x45\x39\x5d\x72\x21\xf8\xf6\xe2\x9b\x3e\xea\x66\xa5\x11\xed\x0c\x83\x6f\xe6\xd3\xa4\xde\x47\xff\xae\xae\xa0\x24\x8c\x26\xe3\xd1\x0b\x5e\xe5\x29\x30\xae\xc0\xa2\x05\x02\x02\x33\x14\xda\x66\xb5\x2a\xb4\xd0\x0d\x55\x20\xbc\xc3\x36\xa8\xda\x92\xf0\xe4\x4f\x1b\x46\x87\x64\xa2\xc5\xe1\x30\xea\x95\xe3\x8f\x46\x4a\x73\xd0\x52\x99\xcc\xe1\x9a\xed\xde\x2a\x51\x25\xea\xea\x7f\x54\x42\x21\xef\x9a\xf3\x48\x50\xda\x1f\x0c\x4d\xfe\xa9\x7e\xfb\x8a\x24\x6b\xa8\xb4\x4f\x4b\xc5\x05\x4a\x20\x0c\x28\x93\x8a\x68\x62\x78\x06\x9c\xe5\x3b\x43\x91\x01\xd7\x11\x48\xad\x91\xda\xd5\x64\x85\x51\xdc\xcc\x9c\xc7\x49\xb7\xcc\xc1\x10\x96\xc2\x8a\x6f\x50\x30\x4c\x61\x69\xb1\x95\x02\xcd\xfb\x92\x4b\xa5\x7d\x30\xa5\x06\xb0\x46\x47\x59\x2b\x55\x99\xe8\xab\xd6\xb8\x33\x71\x37\x21\x79\x8e\xe9\x34\xda\x3d\x59\x63\xf2\x59\xc2\x9a\x94\x25\x32\x20\x0a\x44\xc5\x14\x2d\xd0\x80\xa2\x0e\xf3\xa4\xa6\x50\xc7\xf5\x16\x8e\x1a\x97\xce\x0a\x95\x48\x50\xaf\x60\x96\xff\x25\x42\x22\x90\xe8\x2c\xe0\x38\xd3\x61\x03\x6f\x95\x96\x50\x14\x45\x7c\x5c\xd9\xd5\xe8\x34\xb9\x29\x66\x94\x19\xe0\x53\x90\x46\xc1\x02\x35\x09\x8c\xc3\x96\xec\x20\xe3\x9a\xb6\x82\xe4\x34\xa1\xbc\x92\x56\x1d\x8a\xbb\x3d\xad\x14\x1b\xd1\xf0\xca\x6d\x4b\x19\x10\x2a\xa6\x70\x0d\xb2\xc4\x84\x92\x1c\x4c\xae\x11\xc6\x6c\x34\x07\xc0\x10\x53\xa9\x31\x2d\x1b\x1a\x14\x37\x59\xab\x46\xd7\x64\xb4\x58\x14\xa1\x6f\xd5\x08\x0d\x29\xf3\x58\x35\xd6\x0f\x7c\x0e\x0d\x35\x62\xb2\x11\x2c\x49\xee\x8d\x49\xad\xa9\xb4\x16\x5b\xaf\x6d\x67\x30\xb7\x3a\xce\x5e\xc1\x42\xed\xa3\x76\xa5\xdc\x97\x64\x7a\x21\xca\xe1\x24\xd3\xbb\x5e\xf8\x4c\xd3\x9b\x63\x1a\x7b\xd1\x8e\x28\x8d\x1d\x38\x9a\xa0\x24\x6a\xad\xed\x4e\x60\xe0\xcd\x72\x6d\x1c\x5f\xed\x4a\xaa\x6d\xcf\x98\x95\x71\xba\xb4\x5f\x1a\x41\x90\x7f\x89\x59\x2b\xaf\xea\x88\x1f\x3c\x86\x51\x2d\x88\x0e\x26\xa2\xc9\x1e\xd9\xdc\x0f\xf3\x60\xa5\x14\xb3\xe0\xd5\xe6\x79\x58\x93\x0d\x02\xf1\x4b\xeb\x50\xb9\x3b\x94\x91\x46\x96\x9a\x8f\xe6\x69\x1f\x1b\x65\x57\x63\x47\x72\xf1\xff\xb2\x2e\x22\xbe\x16\x43\x6f\x02\x53\x39\x9c\xa5\xd0\xc0\xfa\x98\xfa\xf2\x9c\x1f\xec\xf0\x3e\x7a\xa9\x7f\xa6\x06\x19\x2e\xc6\xa7\x37\x0b\xfd\xf7\xf9\x78\x72\x7a\x04\xe8\x4b\x2a\xcb\x9c\xec\x8e\x84\x36\x31\xe4\x25\x51\xe4\x28\xf8\x45\x53\xf6\x3e\x1f\xc7\x69\xf7\xc3\x43\x72\x3d\xa6\x6e\xd0\x3f\xb9\xa5\x2a\x59\x5b\xb5\xdc\x75\x28\x4e\x88\xc4\xc3\xe5\x3d\xef\xc0\x07\x7a\x7c\x10\xc1\xb8\x17\x5a\xff\x32\xe5\xb4\x32\xf7\xf6\xd6\xf0\xf9\x25\x1a\x9d\x00\x91\x4f\xf6\x13\xe2\x16\x5f\x75\x95\xd7\x10\x53\x2b\xf9\x28\x72\x42\x13\x39\x80\xa0\x7a\xf9\x55\x2f\x45\x93\x63\x55\xd6\x48\xa5\x5f\x6b\xba\xa6\x2c\x30\xa5\x04\x2e\xe3\x1e\x7a\xfa\xbb\x7e\x3b\xac\x2c\x23\x23\x9a\xe3\xbc\x05\xf6\xaf\xc5\xe2\xf5\x0d\xcd\x71\x3f\x64\x25\xf2\x39\x8c\xd6\x4a\x95\x72\x3e\x9b\x11\x29\x51\xc9\xe9\x16\x97\x92\x2a\x3c\xd3\x68\xe5\x34\xe1\xc5\xec\xc7\xec\xd9\x77\x3f\xff\x90\x9c\x27\xff\x20\x3f\x25\x69\xfa\xec\x87\xef\x97\x4f\x93\x9f\xbe\x3b\x6f\x7d\x20\x3f\xfe\x98\x2c\x9f\x26\x3f\x7f\xff\xec\xe3\x4d\xce\xb7\x1f\xff\xe2\x22\x2d\x88\xf8\x3c\x95\x9b\xd5\x68\x90\x8e\x1e\xcf\xf5\x3f\x23\x91\x85\xe9\x79\x47\xb4\x20\x2b\x9c\xc9\xcd\xea\xdb\xdb\x22\xef\xc7\xd6\xd5\x4e\x24\x5a\xd9\x2f\x5b\x39\x7e\x6f\x3e\x7f\xe8\x07\x3f\xc4\x9f\x9c\x76\x87\x65\xcd\x48\xa1\x79\x70\x8d\x40\x8d\xcc\x36\xfb\xa3\x61\x01\xc8\x5d\xb1\xe4\x5a\x45\xaf\x6e\x16\x7b\x96\xa5\x28\x13\x41\x4b\x5d\xa3\xce\x61\xb4\xd0\x29\x2b\xf3\x5b\x98\x2a\x4d\x97\x8d\x95\xc4\x14\x88\x29\xd5\x5d\xd3\xa1\xab\xba\x35\xe6\x25\xec\x78\x05\x29\x6e\x30\xe7\xe6\x7f\x01\x4c\x57\xa9\x37\x0b\xf8\x3f\xce\xb4\x26\xa7\x7b\xf6\xc6\x5b\x85\x82\x91\xfc\xcf\x37\xbf\xb5\x6d\xf0\x55\xf3\x69\x5c\x1b\x99\xdb\xfb\x2c\x53\x53\xce\x32\x8d\x9c\x8b\xd5\x68\x8f\x11\xe4\x7c\xc5\xe5\xdc\xa9\x70\x8f\xa8\xb8\x2e\x66\xe5\xbc\x27\xac\x86\xbf\x91\xda\x52\xa5\x50\x8c\x0e\x22\xd6\x2d\x36\x4e\xa0\x69\xfd\xb8\xcc\x79\xf2\x39\x59\x13\xca\x46\xfd\xe6\x02\x26\x67\xf4\xbd\x3d\x3a\x76\x84\x21\x6c\x38\x7a\x04\x1d\x69\xd4\x6f\xfa\xce\xd4\xd5\x73\x7b\x9b\xd2\x4c\xf0\x62\xde\x29\xff\x86\x19\xfd\xb2\xee\xd4\x56\xad\x96\xd0\x01\xe9\x1d\x94\xbc\xbc\x38\x86\xdd\x2d\x2a\xf2\xdb\xec\x0c\x9b\x50\x5c\xb9\x77\x6a\xad\x7d\x71\xca\x92\x18\x00\x36\x75\xe7\x30\x58\x29\xf8\x86\xa6\x7e\xbf\x59\x29\xe8\x86\x28\xec\x8e\x04\x1e\xa6\xf8\x37\xca\x3e\x63\x6a\x23\xa5\x31\xa8\x5e\xf5\xee\x8d\xb4\x96\x83\x47\x23\xf2\x3c\x3d\x1a\x91\x6d\x63\x5f\x15\xa5\xda\x99\xc5\x7e\x30\x37\x87\x71\x56\x31\x5d\xc6\xfe\x72\xd7\xd3\x51\xde\x3f\xe0\xff\xce\xc2\x2e\xce\xea\x11\x48\x7b\xa3\xf1\x1e\xc7\xee\xff\x74\xa4\x67\xc7\xf5\xe7\xb1\xd5\x5c\x80\x65\xd8\x21\xa2\x09\x6f\xa4\x88\xe0\xcb\x01\xbc\xdd\xf7\xb5\x0c\x8c\xe6\x43\xbd\xd5\x0a\x95\xc6\xcd\x85\xc2\xb4\x99\x81\x02\x37\xa9\xca\x74\xb3\xc2\x75\x5f\x04\x72\x2a\xcd\x88\xc2\xb6\x8c\xd1\xc0\x95\xca\xda\xd2\x4d\x15\x5e\xba\xc1\x06\xec\xe9\x76\x7a\xf6\xd5\x46\x73\x67\x4d\xf2\x57\xce\xf3\xb6\xa9\xe8\x28\x2a\x3d\x94\x01\x68\x2d\xbf\x84\xbb\x58\x00\xf1\xea\xf7\xc6\xf1\x57\x68\x36\x1b\x4f\x3e\xc0\x25\x28\x51\x61\x6f\x1f\x17\x01\x1e\xdc\xc4\x51\xd9\xe5\x6a\xac\x6a\x1f\x9b\x58\x42\xf7\xb4\x8e\x43\x72\x79\xaf\x4c\x47\x78\x75\x05\x19\xc9\x25\xf6\xab\x13\x28\xa3\x8a\x92\x9c\xfe\x6d\xe7\x13\x7e\x44\x43\x54\x33\xea\x31\xce\x64\xc6\xe7\xb4\x68\xd0\x68\xc0\x71\x6b\x46\x33\x69\x77\x46\x9a\x3e\x8f\xf2\xd2\x23\xef\x28\x88\xa6\xc8\x14\xcd\x28\x0a\xb8\x84\x51\x27\x54\x8e\xba\x38\x83\xd0\x0f\x97\xe1\xf4\x63\xdc\xe0\x9a\x07\x78\x27\x4f\xba\x38\x9a\x68\x0e\x97\x41\x97\xfe\x05\x18\xc2\x44\x32\x8c\x23\x62\xc8\x4f\x07\x46\x01\xbe\x96\x7f\xfd\x13\x55\xa4\x0a\x37\x58\xdc\x33\x2c\x0b\x3c\xe4\x57\x0b\xa4\xbd\xc2\xaa\x64\x8f\xe1\xb4\xd5\xd1\xa2\x63\x4b\xd5\x3a\x15\x64\x1b\xbe\x8c\x16\x34\xc7\x2a\xc6\xa3\xc9\x67\x3b\x33\xb6\xe7\x5b\xae\x2a\x25\x62\x55\x15\xc8\x54\x04\x48\x58\x5a\x63\x77\xf1\xc0\x01\x99\x33\xbc\x7a\x5e\x3c\x1d\xdc\xfa\xdf\xca\xe5\x12\x1d\x64\xcc\xdc\x12\x8b\x92\x0b\x22\x76\x6e\xd2\xec\x8f\xec\x4c\x81\xac\x4b\x62\x9e\xa7\x11\x06\x73\x00\x64\xcf\xd2\x2c\x01\x02\x61\x89\x94\xad\x40\x09\xc2\x64\x86\x42\x60\x3a\xd5\x1b\x89\x60\x96\xc4\x70\x1b\xc4\x54\x8d\xc7\x4f\x83\xdd\xb6\x3c\x9a\x09\x1b\xcc\x76\xba\x0c\x92\x03\x55\x66\x90\x6c\x46\xb0\x25\xd7\xfd\x58\x4c\x13\xe6\x12\xcd\x84\xaa\x9f\x71\xa7\xf3\x38\x41\xfe\xe5\xe4\x48\x96\x39\xda\x11\x86\x97\x6c\xeb\xa0\x51\x27\xd7\x6e\xba\xde\xef\xb0\xd1\xe3\x99\x53\x52\x9f\x3d\x5d\x9c\x85\x13\xea\x26\x2c\x58\x88\xc9\x90\x89\x39\x31\x7c\x99\x85\x39\x51\xf3\xe5\x7f\x30\x69\x9b\x99\x31\x2d\x92\xa6\x32\x42\x43\x95\xac\xbd\xc9\x69\xa8\xe5\x5c\x7c\xcb\x50\xc8\x03\xac\x8e\x4a\x20\x79\xce\xb7\xd6\xaa\x52\x94\x4a\x70\x7b\x8e\x21\xf5\xf6\x96\xb4\x25\x26\xa4\x92\xd8\x18\x72\xec\x57\x9a\xe4\xc0\x60\xb5\x69\xa2\xf0\x94\xb8\x01\xbc\x99\x9a\xbf\x73\x23\x4a\x4f\xec\x9a\xc4\x7c\x2d\x11\x99\xb6\x35\x59\x15\xba\x0d\x64\xa9\x3d\x4f\xc8\xb8\x39\x17\x71\x86\x66\x28\xf4\xa7\x1b\x03\x26\x55\x8f\xbf\x9c\x42\x5c\xd3\xd0\x5f\x8c\xb5\x83\x7c\xdd\xa8\xc0\xc5\x99\x75\x60\x22\x9f\xf4\xd9\xda\xc1\x96\xf6\xad\xc5\xd7\x09\x50\xfa\x17\x7d\x81\x4b\x38\x9f\x9e\x47\xdf\xbd\x4a\xe2\x70\xd9\x4d\xc2\x0f\x79\x91\x8f\x02\x9d\xe3\x7a\x1f\xf4\xe7\xf0\xa2\x9e\x0d\x5f\x7c\xd3\x92\x94\x0f\xf3\xf7\xcf\xfb\xa4\xe5\x71\xbf\xf3\x52\x33\xdc\x77\xfc\xd6\x3b\x4f\x04\xef\x12\x44\x4f\x2b\x26\x30\xa1\x25\x45\x16\x0e\xb5\x3b\x5b\x7b\xea\x6d\x53\xe9\x9f\x5c\x03\xd9\x53\x25\xef\xe9\x06\xeb\xea\x6d\x2f\x25\xef\x5c\x67\xd8\x66\xe2\xa5\xb5\x34\xb3\xde\x73\xce\x7c\x44\x76\x47\x6b\x21\x1e\xd1\xc7\x51\xc0\xcd\x34\x36\xdd\x8b\xb3\x48\xc8\x83\x11\xa8\xdd\x28\x1c\x18\x8a\xe2\xe4\x63\xf5\xa8\xb9\x00\x12\x46\x96\xbf\x51\xf0\x4e\xe2\xf3\xe9\x84\x36\xd9\x82\xe4\xb9\x4e\x3c\x2e\x6b\x4c\xe1\xda\x9e\xfb\x15\x95\xb4\xd9\xc3\x56\xcb\xfe\xc4\xb2\x83\xd1\xf4\xe0\x4e\x60\x1a\x77\x9d\x8d\xda\x47\xb4\xfa\x05\x17\xa9\x3d\x52\x34\x61\xcc\x7e\x8f\x31\xda\xd9\x82\x3b\x2b\x24\x76\xdc\xe4\x25\xed\x03\x84\xac\xcf\xf0\xec\x28\x4a\x97\x9a\x87\x45\x98\x6e\x67\x76\x48\x5e\x7a\x20\xcd\x9c\x4f\xcf\x07\x34\x0c\x8b\x3f\x5e\xfe\x31\x87\x37\xb8\xa1\xda\xda\x68\x06\x02\x0b\xbe\x21\xb9\x66\x20\xa9\xa4\xe2\x85\x0d\x19\x55\xa2\xb8\x90\x50\x12\x29\x31\x8c\xb2\xf0\x16\x11\xfc\xe8\x68\x45\xd5\xba\x5a\x9a\xc9\x91\x9d\x73\xcd\xb2\x9c\x96\x72\x56\x56\x79\x3e\x7b\xfa\xfd\xd3\x1a\xce\x45\xa1\x71\xdb\xfb\x69\x16\x47\xba\xe7\x9a\xf4\x9e\xee\x76\xa8\x9d\x6b\x0f\x82\xc2\x4f\x67\xfd\x55\x1d\x44\x2d\x9e\xfd\x2f\xb8\x0b\x60\x0f\x8a\x4f\x60\xe0\xe8\xdb\xa7\x59\x9b\x80\x8d\xae\x89\xb9\x3c\xe4\xcc\xc4\x1e\x8d\xeb\x14\xe6\x8f\x93\xbf\xec\x18\xd9\x9d\x53\xdf\x45\x26\xa8\xd1\xd8\x7b\x4e\x07\xba\xa3\x06\x90\xc1\xc6\xa7\xa6\x06\xd0\xc6\x5d\x78\x27\x53\xc1\x75\xaa\xd3\x41\xa7\x0c\x21\xda\x6e\x79\x90\x79\x37\xa4\x1f\x53\x7e\x95\x02\x7b\x8c\xc1\xd5\xc6\xc6\x56\xe6\x30\xba\xb6\x8f\xf6\xc2\x99\x0d\x12\x4b\x84\x95\x71\x0c\xa1\xe5\xc1\x4c\xe0\x19\xed\x69\xf2\x8f\x31\xaf\x6f\xfb\xca\x3f\x2c\xe8\xc0\xed\x36\xfb\xd7\xdf\x6e\x8b\xbb\xe8\x69\xd0\x56\x3d\xae\x9a\x6c\x19\x73\x6f\x34\x0f\xcd\xfa\x51\x51\xfc\xeb\x46\xf0\xaf\x1b\xbd\xbf\x42\xe4\xee\xf3\xd3\xe3\x22\x76\xad\x46\x78\x20\x5c\xdf\xf7\xdd\xd1\xd3\x9a\x71\xf1\xb3\xa9\xf6\xfd\x45\xa4\x53\xc0\x2c\xc3\x44\xd1\x0d\xe6\x3b\x58\x56\x82\x99\x96\xad\x29\x9c\x3b\x2a\xff\xa5\x24\x82\x14\x60\xcb\x82\xba\xaa\x0e\xa6\x1b\x9c\x29\x42\x5b\x68\x8c\x0c\x2b\xc1\x5a\xd8\x1e\x91\x4d\x8e\xc9\x24\x6d\x4d\x68\x8a\x5c\x70\x71\x05\x7a\x57\x0d\x61\xc6\xf1\xb5\xb0\x5e\x1c\xca\xdb\x8c\x6e\xc2\x85\xc6\x3d\xe3\x38\xf0\xf4\xfc\x5c\x97\xd6\xf1\x92\xf6\xc5\x50\xb8\x84\x99\xb3\xce\x68\xc2\x6d\xef\x97\x46\x79\xf8\x85\xb5\x84\xe6\x2e\x98\x71\xb4\x76\x64\x36\xc6\xe9\x2e\xd5\x6a\xdf\x20\x1b\xd4\x6e\x46\x59\x74\xcb\xcc\xa2\xac\xff\x8d\x1a\x90\x7e\x8b\x6b\x33\x38\x89\xf9\x6a\x5f\x55\x85\x4b\xd7\x67\x0c\x5c\xb8\x79\xd2\x03\xfe\x3a\x1c\x27\xb5\xa1\xc3\x5b\x2e\x2d\xe0\xee\x25\xd6\x1e\xf8\xf8\x52\x49\x0b\x43\xfb\x34\x48\x4b\x6d\xec\x86\xe1\xa7\xa0\xf8\xbc\x9f\xc9\x49\x9f\x7e\x7a\x2e\xbe\xb4\x8e\x7a\x82\xf9\x0a\xde\x96\xbc\x55\x2d\xe9\x85\x9f\x5c\xa8\xf9\x04\x05\xaa\x35\xb7\x9d\xe9\x0a\xd5\xb5\x99\xf2\xba\xf9\xa8\xff\xa6\xd6\x82\x57\x2b\x6b\x09\x9f\x3c\x9b\x9f\xc0\x94\x05\x19\x49\x42\x85\xfb\x0e\x17\x3e\x85\x83\xae\x4f\xbd\x98\xdc\xe7\x7e\x44\x91\xe5\x84\x76\xfb\x82\x94\x7b\x2f\x7f\x7a\x09\x53\x29\x2b\xec\x34\x7d\xb6\x3d\x7e\x3e\x1e\x90\x76\xaf\xce\x22\xf4\x46\xf4\x72\x3d\x6e\x91\x74\x0a\x44\xcd\x7b\x2d\x6d\x12\x71\xe2\xbb\xa1\xc7\x71\xd1\xb4\xae\x8f\x67\x24\xa0\x28\x60\xa2\x6b\xf1\x81\x29\x6a\x46\x6c\x85\xd9\x38\xb3\x2d\x12\xc7\x03\x3b\xb7\xcc\xde\x00\x07\x66\xdf\x8e\x59\x3e\xf3\xdc\x9f\xc0\xc9\x7f\x03\x00\x00\xff\xff\xf6\xd0\x0d\x8d\x0b\x31\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,7 +97,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5a, 0x4d, 0xa, 0xd0, 0x49, 0xd8, 0x34, 0xb6, 0x1f, 0x3b, 0xae, 0x94, 0xe6, 0x2b, 0xc9, 0x36, 0x71, 0x1a, 0xae, 0x6c, 0x1, 0xc2, 0x96, 0x15, 0x77, 0xc0, 0x3c, 0x32, 0x89, 0xdf, 0x74, 0x93}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb3, 0x44, 0x2f, 0x21, 0x55, 0xc5, 0x16, 0x1d, 0xe9, 0x3d, 0xfb, 0xdf, 0x3c, 0x2c, 0xc7, 0xc, 0x13, 0xef, 0xde, 0xff, 0xe9, 0xfa, 0x29, 0xc, 0x6e, 0x48, 0x4c, 0xd2, 0xc1, 0x9a, 0xdd, 0x91}}
 	return a, nil
 }
 

From f6f74bde2591fbb3f85705f92da444697df7d447 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 12:42:24 -0500
Subject: [PATCH 042/115] update go assets

---
 lib/go/templates/internal/assets/assets.go | 24 +++++++++++-----------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index fa7c7392..5a3b3c4d 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../transactions/burn_tokens.cdc (1.402kB)
-// ../../../transactions/create_forwarder.cdc (2.563kB)
+// ../../../transactions/create_forwarder.cdc (2.569kB)
 // ../../../transactions/generic_transfer.cdc (1.335kB)
 // ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.968kB)
 // ../../../transactions/mint_tokens.cdc (1.595kB)
@@ -23,7 +23,7 @@
 // ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (729B)
 // ../../../transactions/scripts/test/example_token_vault_display_strict_equal.cdc (2.014kB)
 // ../../../transactions/scripts/tokenForwarder/is_recipient_valid.cdc (444B)
-// ../../../transactions/setup_account.cdc (1.14kB)
+// ../../../transactions/setup_account.cdc (1.417kB)
 // ../../../transactions/switchboard/add_vault_capability.cdc (1.415kB)
 // ../../../transactions/switchboard/add_vault_wrapper_capability.cdc (1.443kB)
 // ../../../transactions/switchboard/batch_add_vault_capabilities.cdc (1.34kB)
@@ -36,8 +36,8 @@
 // ../../../transactions/switchboard/setup_royalty_account.cdc (5.883kB)
 // ../../../transactions/switchboard/setup_royalty_account_by_paths.cdc (5.958kB)
 // ../../../transactions/switchboard/transfer_tokens.cdc (1.551kB)
-// ../../../transactions/transfer_many_accounts.cdc (1.415kB)
-// ../../../transactions/transfer_tokens.cdc (1.443kB)
+// ../../../transactions/transfer_many_accounts.cdc (1.418kB)
+// ../../../transactions/transfer_tokens.cdc (1.446kB)
 
 package assets
 
@@ -127,7 +127,7 @@ func burn_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x6f\x1b\x37\x10\xbd\xf3\x57\x0c\x74\x48\x25\x43\x5e\xa1\x5f\x17\xc1\x49\x90\xaa\x75\x11\xa0\x28\x82\xda\xc9\xb5\x19\x91\x23\x91\xcd\x8a\x5c\x90\xb3\xda\x08\x81\xff\x7b\x41\x72\x97\xda\x95\x5d\xb7\xe8\x21\x3a\x79\xc9\xf9\x78\xf3\xde\x1b\x7a\x75\x75\x25\xc4\xbd\x36\x01\xd8\xa3\x0d\x28\xd9\x38\x0b\x26\x00\x02\xd3\xa1\xa9\x91\x09\x76\xce\xc7\xcf\xd1\x3d\x6b\x64\x90\xae\xad\x15\x6c\x09\xda\x40\x4a\xb0\x83\x40\x0c\x6d\x03\x68\x01\xa5\x74\xad\x65\x60\x17\x93\x3b\xf4\x0a\x14\x35\x2e\x18\x26\x05\xec\x3e\x91\x0d\xf1\x0e\xad\x63\x4d\x1e\x3c\x49\x32\x47\xf2\x95\x10\x6f\x77\x80\xf6\xe4\x2c\x41\x20\xab\xc2\x38\x38\xf6\xf1\xdf\x04\xb8\xcd\x15\xc9\xc3\x1f\x7d\xde\x52\xb0\xa6\xf2\x05\x9d\xa9\x6b\xf8\xab\x0d\x5c\x9a\xb3\x76\x81\x46\xb5\x62\xf8\x07\x6c\x6b\xce\x93\x68\x0c\xb0\x25\xb2\x22\x4e\x80\x21\x5d\x7b\x92\xa6\x31\x64\x19\xd0\x2a\xa0\x83\x89\x7f\x00\x1d\xe3\x49\x4a\x32\x56\x19\x89\x4c\x41\x74\xda\x48\x9d\xd0\x0d\x0d\xe3\x94\x7a\x68\x58\xf5\x04\x77\x78\x5a\x82\x89\xf3\x81\xdb\xed\xae\xa5\x46\x63\x21\x90\x3f\x1a\x49\xd0\xa1\xe5\x04\xed\xe0\xac\x61\xe7\xa1\xd3\x2e\xca\xd0\x17\x34\x76\x2f\xce\xf0\x0d\x2f\xc1\x30\x48\xb4\xd0\x21\x4b\x9d\x61\xa5\xab\x40\x04\x9d\x26\x4f\x23\x00\x20\xf1\x40\xb0\xf3\xee\x50\x09\x71\xc7\xd4\xf4\x91\x59\xad\x2c\x55\x80\xce\xb0\xce\x09\x65\x0a\xbf\x16\xe2\xdb\x0a\xee\x35\xc1\x6d\x6b\xf7\x66\x5b\x13\xdc\xa7\x08\xe9\x2c\x7b\x94\x91\x05\x26\xbf\x43\x49\x10\x74\xf2\x03\xd6\x9e\x50\x9d\xa2\x2f\x14\x35\xb5\x3b\x91\x82\xe0\x0e\x94\x40\x89\xef\x72\x35\x6c\x9a\xda\x48\x8c\xf5\x78\x5a\xaf\xaf\x32\xca\xae\xc4\xf7\x39\x69\xa4\x48\x6f\xaf\x3e\x58\xe3\x91\x00\x7b\x41\xa3\x59\x39\xf9\x39\x17\xf6\x84\x4c\x4a\x00\x40\x12\x32\xb0\xf3\xa4\xc0\x58\x30\x1c\xd2\x17\xee\x29\xcf\x8e\xd0\xb4\xdb\xda\x04\x4d\xaa\x78\x49\xfc\x50\xc1\xcf\x09\x48\xe2\xf3\x63\x9a\xfe\xb6\x68\x52\x49\x25\x3f\x9e\xc1\x27\x97\x2a\xb3\xdb\x91\x1f\xc1\x14\x3f\x56\xd1\xb3\x80\x60\xa9\x83\x37\xf9\x70\x0d\x9b\x84\x2c\x95\x1d\xe6\xb1\xce\x1f\xb0\xae\x4f\xcb\x04\x97\x35\x59\xf0\xad\xcd\x9d\xf3\x20\x7f\x16\x69\x72\xeb\xd1\x52\xe6\xa4\x3d\x31\x1b\xbb\x87\xc9\x42\x44\xe9\x27\x8d\xb2\x81\x2f\x8c\x5e\x89\xab\x95\x10\xe6\xd0\x38\xcf\x45\xef\x2c\x77\x2a\x30\x9b\x9c\xcd\x86\xc8\x5f\x3e\xe3\xa1\x99\x06\x8e\x8f\x4a\xdc\x05\x75\x7d\xe8\xc5\xe9\x4c\x88\xd1\x48\xf3\xe1\x61\x58\xc3\x1b\xa5\x3c\x85\xb0\x80\x2f\x22\xcd\xd9\x78\x6a\xd0\xd3\x1c\xa5\xe4\x35\x60\xcb\x7a\xfe\x93\xf3\xde\x75\x1f\xb0\x6e\x69\x09\x6f\x43\x68\xe9\x2e\xcb\xbb\xc1\x06\xb7\xa6\x36\x7c\xda\x44\xa5\x5c\x5d\x93\x5f\xc2\xbb\x2c\xf6\xf9\x72\x09\x77\x78\xa4\x3e\xff\xbd\x6d\x2e\xef\x17\xf0\xa2\x17\xaf\xa0\x88\xbf\xd5\x0a\x7e\x25\x1e\xa8\xcc\x84\xcb\x92\xd4\xfb\xf1\x4c\xfd\x96\xd2\xf0\xe7\x77\xc2\x95\x4a\x35\xf1\xc8\xe4\x2f\xa3\x96\x7d\xc3\x42\xc4\xa2\x2a\xa5\x0d\x85\x6a\x4f\x7c\xf3\xe2\xcb\x44\x97\x2a\xad\xc1\xc3\xab\xf9\x58\x84\x7c\x98\x26\x96\xef\x90\xf5\xa2\xf4\x8c\xbf\xd7\xaf\xa1\x41\x6b\xe4\x7c\xb6\x49\xfb\x64\x1d\xc3\x36\x91\xf9\xf4\x44\x51\xb8\x47\xcb\x38\x5b\x4c\x28\x19\xb9\xbb\x58\x36\x2f\x60\x5c\x56\xc3\xc3\x2b\x7c\xe9\x48\xe5\x06\xf7\x8e\x5e\xbe\x31\x41\xc7\xb4\xe5\x37\xd7\x97\x7e\xaa\xf2\x82\xfc\x4e\x5d\xf9\xff\x30\x2f\x20\xd7\x67\xbc\xe7\xd1\xa3\x75\xaa\xfe\x05\xa8\x22\xac\xf9\xcd\x75\xaa\xbe\x04\x76\x6b\x58\xf5\x57\x2b\x1a\x11\x59\x6a\x4f\xa7\x7d\x6f\x6b\x63\x3f\x25\xd8\xf4\xd9\x84\xb4\x81\x67\xc6\xa6\x1d\x27\x02\xb6\x83\xcd\xfe\x45\xae\x71\xb3\xdf\x86\x56\xf1\x39\x39\xb3\xf4\x94\x56\x13\xe6\xd2\x83\x38\xbc\x09\x1b\x6c\xe0\xe5\x13\x80\x06\x3e\x4c\xdc\x9f\x47\xde\x1a\xb2\x1f\x5e\xcd\x27\x0e\x4a\xc8\x9e\xe5\x6b\x12\xbe\x78\x86\x91\x81\x8f\x4b\xb4\x4b\x40\x5e\xc3\xff\x64\xa9\xc0\xc8\xd1\xcf\x32\x54\x62\xff\x2b\x45\x97\x46\xbc\x68\xf6\xb5\xb8\x1a\xe3\xce\x64\xad\xd2\xbd\xfc\x27\x03\xc7\x9a\x0f\xe2\x41\xfc\x1d\x00\x00\xff\xff\xf1\xe7\xe1\x06\x03\x0a\x00\x00"
+var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x6f\x1b\x37\x10\xbd\xf3\x57\x0c\x7c\x48\x25\x43\x5e\xa1\x5f\x17\xc1\x49\x90\xaa\x75\x11\xa0\x28\x82\xda\xc9\xb5\x19\x71\x47\x22\x9b\x15\xb9\x20\x67\xb5\x11\x02\xff\xf7\x82\xe4\x2e\xc5\xdd\xb8\x46\xd1\x43\x75\xf2\x92\xf3\xf1\xe6\xbd\x37\xf4\xfa\xfa\x5a\x88\x07\xa5\x3d\xb0\x43\xe3\x51\xb2\xb6\x06\xb4\x07\x04\xa6\x63\xdb\x20\x13\xec\xad\x0b\x9f\xc5\x3d\x2b\x64\x90\xb6\x6b\x6a\xd8\x11\x74\x9e\x6a\xc1\x16\x3c\x31\x74\x2d\xa0\x01\x94\xd2\x76\x86\x81\x6d\x48\xee\xd1\xd5\x50\x53\x6b\xbd\x66\xaa\x81\xed\x27\x32\x3e\xdc\xa1\xb1\xac\xc8\x81\x23\x49\xfa\x44\xae\x12\xe2\xed\x1e\xd0\x9c\xad\x21\xf0\x64\x6a\x5f\x06\x87\x3e\xee\x1b\x0f\x77\xa9\x22\x39\xf8\x63\xc8\x5b\x09\x56\x94\xbf\xa0\xd7\x4d\x03\x7f\x75\x9e\x73\x73\x56\xd6\x53\x51\x2b\x84\x7f\xc0\xae\xe1\x34\x89\x42\x0f\x3b\x22\x23\xc2\x04\xe8\xe3\xb5\x23\xa9\x5b\x4d\x86\x01\x4d\x0d\x74\xd4\xe1\x0f\xa0\x53\x38\x89\x49\xda\xd4\x5a\x22\x93\x17\xbd\xd2\x52\x45\x74\x63\xc3\x30\xa5\x1a\x1b\x56\x03\xc1\x3d\x9e\x57\xa0\xc3\x7c\x60\xf7\xfb\x1b\xa9\x50\x1b\xf0\xe4\x4e\x5a\x12\xf4\x68\x38\x42\x3b\x5a\xa3\xd9\x3a\xe8\x95\x0d\x32\x0c\x05\xb5\x39\x88\x0b\x7c\xcd\x2b\xd0\x0c\x12\x0d\xf4\xc8\x52\x25\x58\xf1\xca\x13\x41\xaf\xc8\x51\x01\x00\x24\x1e\x09\xf6\xce\x1e\x2b\x21\xee\x99\xda\x21\x32\xa9\x95\xa4\xf2\xd0\x6b\x56\x29\x21\x4f\xe1\x36\x42\x7c\x5b\xc1\x83\x22\xb8\xeb\xcc\x41\xef\x1a\x82\x87\x18\x21\xad\x61\x87\x32\xb0\xc0\xe4\xf6\x28\x09\xbc\x8a\x7e\xc0\xc6\x11\xd6\xe7\xe0\x8b\x9a\xda\xc6\x9e\xa9\x06\x6f\x8f\x14\x41\x89\xef\x52\x35\x6c\xdb\x46\x4b\x0c\xf5\x78\x5a\x6f\xa8\x52\x64\x57\xe2\xfb\x94\x54\x28\x32\xd8\x6b\x08\x56\x78\x22\xc0\x41\xd0\x60\x56\x8e\x7e\x4e\x85\x1d\x21\x53\x2d\x00\x20\x0a\xe9\xd9\x3a\xaa\x41\x1b\xd0\xec\xe3\x17\x1e\x28\xcd\x8e\xd0\x76\xbb\x46\x7b\x45\x75\xf6\x92\xf8\xa1\x82\x9f\x23\x90\xc8\xe7\xc7\x38\xfd\x5d\xd6\xa4\x92\xb5\xfc\x78\x01\x1f\x5d\x5a\xeb\xfd\x9e\x5c\x01\x53\xfc\x58\x05\xcf\x02\x82\xa1\x1e\xde\xa4\xc3\x0d\x6c\x23\xb2\x58\x76\x9c\xc7\x58\x77\xc4\xa6\x39\xaf\x22\x5c\x56\x64\xc0\x75\x26\x75\x4e\x83\xfc\x99\xa5\x49\xad\x8b\xa5\x4c\x49\x07\x62\xd6\xe6\x00\x93\x85\x08\xd2\x4f\x1a\x25\x03\xcf\x8c\x5e\x89\xeb\xb5\x10\xfa\xd8\x5a\xc7\x59\xef\x24\x77\x2c\x70\x35\x39\xbb\x1a\x23\x7f\xf9\x8c\xc7\x76\x1a\x58\x1e\xe5\xb8\x19\x75\x43\xe8\xec\xf4\x4a\x88\x62\xa4\xc5\xf8\x30\x6c\xe0\x4d\x5d\x3b\xf2\x7e\x09\x5f\x44\x9c\xb3\x75\xd4\xa2\xa3\x05\x4a\xc9\x1b\xc0\x8e\xd5\xe2\x27\xeb\x9c\xed\x3f\x60\xd3\xd1\x0a\xde\x7a\xdf\xd1\x7d\x92\x77\x8b\x2d\xee\x74\xa3\xf9\xbc\x0d\x4a\xd9\xa6\x21\xb7\x82\x77\x49\xec\xcb\xe5\x0a\xee\xf1\x44\x43\xfe\x7b\xd3\xce\xef\x97\xf0\x62\x10\x2f\xa3\x08\xbf\xf5\x1a\x7e\x25\x1e\xa9\x4c\x84\xcb\x9c\x34\xf8\xf1\x42\xfd\x8e\xe2\xf0\x97\x77\xc2\xe6\x4a\x0d\x71\x61\xf2\x97\x41\xcb\xa1\x61\x26\x62\x59\xe5\xd2\x9a\x7c\x75\x20\xbe\x7d\xf1\x65\xa2\x4b\x15\xd7\xe0\xf1\xd5\xa2\x14\x21\x1d\xc6\x89\xe5\x3b\x64\xb5\xcc\x3d\xc3\xef\xf5\x6b\x68\xd1\x68\xb9\xb8\xda\xc6\x7d\x32\x96\x61\x17\xc9\x7c\x7a\xa2\x20\xdc\x57\xcb\x78\xb5\x9c\x50\x52\xb8\x3b\x5b\x36\x2d\x60\x58\x56\xcd\xe3\x2b\x3c\x77\x64\x6d\x47\xf7\x16\x2f\x5f\x49\xd0\x29\x6e\xf9\xed\xcd\xdc\x4f\x55\x5a\x90\xdf\xa9\xcf\xff\x1f\x16\x19\xe4\xe6\x82\xf7\x32\x7a\xb0\x4e\x35\xbc\x00\x55\x80\xb5\xb8\xbd\x89\xd5\x57\xc0\x76\x03\xeb\xe1\x6a\x4d\x05\x91\xb9\xf6\x74\xda\xf7\xa6\xd1\xe6\x53\x84\x4d\x9f\xb5\x8f\x1b\x78\x61\x6c\xda\x71\x22\x60\x37\xda\x6c\x2a\xd7\xb8\xb9\xa5\x62\x65\xbf\xdf\xc6\x6e\xe1\x45\xb9\x10\xf5\x94\x5c\x13\xf2\xe2\x9b\x38\x16\xdf\x62\x0b\x2f\x9f\xc0\x34\x52\xa2\xc3\x0a\x7d\x65\xaf\x31\xfb\xf1\xd5\x62\x62\xa2\x88\xec\x59\xca\x26\xe1\xcb\x67\x48\x19\x29\x99\xa3\x5d\x01\xf2\x06\xfe\x3b\x51\x19\x49\x8a\x7e\x96\xa4\x1c\xfb\x6f\x59\x9a\xdb\x71\xd6\xec\xff\xa2\xab\xc4\x9d\xf8\x5a\xc7\x7b\xf9\x4f\x36\x0e\x35\x1f\xc5\xa3\xf8\x3b\x00\x00\xff\xff\xb0\x0a\x8c\x7d\x09\x0a\x00\x00"
 
 func create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -143,7 +143,7 @@ func create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe4, 0x4, 0xad, 0x2, 0xa3, 0x71, 0x6c, 0x9d, 0xb2, 0xe9, 0x58, 0x4, 0x98, 0xeb, 0x6d, 0xa5, 0x1e, 0x9f, 0xbe, 0x4, 0xfd, 0xef, 0xa8, 0xee, 0x41, 0x6c, 0x4f, 0x86, 0x9a, 0xed, 0x6b, 0x9a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x43, 0x9e, 0x1b, 0xb5, 0xbe, 0xa6, 0x21, 0x2f, 0x23, 0x99, 0x61, 0xc9, 0xd3, 0x2, 0xa5, 0x30, 0xd2, 0x8c, 0x8b, 0x7b, 0x14, 0x75, 0x52, 0x10, 0xf9, 0x31, 0xd1, 0x62, 0xd, 0x44, 0xc3}}
 	return a, nil
 }
 
@@ -567,7 +567,7 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	return a, nil
 }
 
-var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x53\xc1\x4e\xe3\x30\x10\xbd\xe7\x2b\xde\x72\x40\xa9\x14\xc8\x1d\x15\xa4\xa5\x62\xa5\xbd\x21\x40\xdc\xa7\xee\x94\x58\xeb\xda\x96\x3d\x69\x89\x50\xff\x7d\x65\x27\x0d\x09\x54\xbb\xb9\xf9\x79\xc6\xf3\xde\x9b\x97\xba\xc6\x4b\xa3\x23\x24\x90\x8d\xa4\x44\x3b\x0b\x1d\x41\x10\xde\x79\x43\xc2\xd8\xba\x90\x8e\x93\x7b\x71\x20\x63\xdc\xa1\xa8\x6b\x90\xed\x9c\xe5\x0c\x6d\x36\x20\xbc\x52\x6b\x04\x81\xa3\x6b\x83\xca\xb8\x34\xac\x03\x48\x29\xd7\x5a\x41\x4c\x00\x49\x6a\x95\x86\x3b\x28\xb2\x68\x23\xa7\x03\xf8\x9d\x76\xde\xf0\x8b\xfb\xc3\xb6\x28\xf4\xce\xbb\x20\xf8\xd5\xda\x37\xbd\x1e\x50\x6c\x83\xdb\xe1\x62\x86\x5d\x9c\x2a\x1f\x26\xed\x43\xe1\x14\x1a\xeb\x5e\x35\x1f\x9e\x38\x3a\xb3\xe7\x30\xd4\x4d\xa1\x8b\xa2\x98\x8a\x2d\x17\xf8\x28\x0a\x00\xf0\x81\x3d\x05\x2e\xa3\x7e\xb3\x1c\x6e\x40\xad\x34\xe5\xbd\x0b\xc1\x1d\x5e\xc9\xb4\x5c\xe1\x77\x8c\x2d\x3f\x8b\x0b\xf4\xc6\x2b\xf2\xb4\xd6\x46\x4b\xb7\x72\x56\x82\x33\x86\x43\x85\xc7\x76\x6d\x74\x6c\x3e\x2f\x2b\x3c\xd3\x9e\x73\xff\x02\x97\x3f\x7b\x97\xc6\x91\xe9\xab\x6b\x3c\xb1\xb4\xc1\x82\x29\x98\x0e\x7a\x9b\xcd\x3a\x19\x4a\x26\x30\x6d\x3a\x44\x71\x81\xd3\xe2\x66\x36\xe4\x75\x8c\x4f\xe9\x2d\x7a\xf2\xd7\xb1\x27\x79\xbd\xce\xf4\x97\x97\xd3\xa6\xeb\xdc\x74\x57\x26\x6b\x6e\xf0\xfd\x66\x10\xf8\x48\xd2\x2c\xf0\xe3\x16\x56\x1b\x7c\x8c\x33\xd2\x17\x32\xdf\x11\x3a\x7e\x8a\x31\x2c\xd8\xe7\x88\x2c\xaf\xe6\x4f\xab\xc0\x24\xfc\xb0\xf3\xd2\xe5\x29\xe5\x62\x66\xc1\x2a\x5f\x83\x60\xf9\x70\x46\x22\xc8\x6e\xe0\x5b\x81\x16\x68\x8b\x41\xde\xf8\xc0\x17\xd5\x91\xf6\x5c\x2e\xaf\x32\x91\x0a\xe2\xfe\xa7\xf2\x3c\x13\x9f\x76\xa9\xa0\xc6\x5d\x0e\x69\x1f\x18\xa5\x98\x83\xdf\xbd\x8b\x1c\x33\xfc\xc4\x8a\xf5\x3e\xa5\xe0\x9e\x0c\x59\xc5\x55\x66\x3d\x46\x51\x5b\xe1\xb0\x25\xc5\xf1\xbb\x5d\x2b\xf2\xb8\x3d\xc9\x18\x27\x6a\x8e\xa3\x26\x9d\xb2\xb7\xbc\xfc\x98\xfd\x1b\xbd\x94\xe3\x5d\x39\x5b\xcf\x3f\xc5\x8e\x95\x8b\xaf\xee\xcd\xc6\xfa\x3e\xc8\xe5\x89\x5d\x05\x92\x73\x36\xe6\xc0\xab\xde\xc5\x3e\x0b\xc7\xe2\x6f\x00\x00\x00\xff\xff\x48\xbd\xae\xa7\x74\x04\x00\x00"
+var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x93\x41\x4f\xe3\x3e\x10\xc5\xef\xf9\x14\xef\xcf\x81\x7f\x2a\x15\x7a\x47\x05\x69\xb7\x62\xa5\xbd\x21\x40\xdc\xa7\xe9\x94\x5a\xeb\xda\xd6\x78\xdc\x52\x21\xbe\xfb\xca\x6e\x12\x12\xa8\x16\x69\xa5\xcd\x2d\xcf\x33\x9e\x37\xbf\x19\xcf\x66\x78\xdc\x98\x08\x15\x72\x91\x1a\x35\xde\xc1\x44\x10\x94\xb7\xc1\x92\x32\xd6\x5e\xf2\xef\xe0\x5c\x3d\xc8\x5a\xbf\xaf\x66\x33\x90\x3b\x78\xc7\x45\x5a\xad\x40\x78\xa2\x64\x15\xc2\xd1\x27\x69\x8a\xae\x1b\x36\x02\x6a\x1a\x9f\x9c\x22\x66\x81\x34\xa7\xea\x86\x0f\x68\xc8\x21\x45\xce\x3f\xe0\x17\xda\x06\xcb\x8f\xfe\x17\xbb\xaa\x32\xdb\xe0\x45\xf1\x23\xb9\x67\xb3\x6c\x55\xac\xc5\x6f\x71\x36\xd2\xce\xba\xc8\xdb\x41\x7a\x1b\x38\x94\xfa\xb8\x27\xc3\xfb\x7b\x8e\xde\xee\x58\xda\xb8\xa1\x74\x56\x55\xc3\x66\xeb\x09\x5e\xab\x0a\x00\x82\x70\x20\xe1\x3a\x9a\x67\xc7\x72\x05\x4a\xba\xa9\xbf\x7b\x11\xbf\x7f\x22\x9b\x78\x8a\x9f\x31\x26\x7e\x50\x2f\xf4\xcc\x0b\x0a\xb4\x34\xd6\xe8\x61\xe1\x9d\x8a\xb7\x96\x65\x8a\xbb\xb4\xb4\x26\x6e\xde\x0f\xa7\x78\xa0\x1d\x97\xfc\x09\xce\xbf\x1d\x29\xf5\x25\xf3\x37\x9b\xe1\x9e\x35\x89\x03\x93\xd8\x03\xcc\xba\xc0\xea\x80\x92\x15\xa6\xd5\x01\x51\xbd\x70\x1e\xdc\x08\x43\x19\x47\x7f\x95\x59\xe3\x68\xfe\x32\x1e\x4d\x5e\x2e\x8b\xfd\xf9\xf9\x30\xe9\xb2\x24\xdd\xd4\x19\xcd\x15\x3e\x9f\xb4\x0d\xde\x91\x6e\x26\xf8\xef\x1a\xce\x58\xbc\xf6\x35\xf2\x27\xc5\x6f\x2f\xbd\xbd\x37\x63\x59\xb1\x2b\x2b\x32\xbf\x18\x5f\xdd\x08\x93\xf2\xed\x36\xe8\xa1\x54\xa9\x27\x23\x04\x8b\x72\x0c\x82\xe3\xfd\x89\x16\x41\x6e\x85\x90\x14\x46\x61\x1c\xda\xf6\xfa\x0b\x3e\x74\x1d\x69\xc7\xf5\xfc\xa2\x18\x99\x42\xfd\x57\x5d\x9e\x76\x12\xf2\x2c\x1b\x34\xfd\x2c\xdb\x6d\x6f\x1d\xe5\x35\x07\xbf\x04\x1f\x39\x0e\x64\xe3\x94\x65\x4d\x0d\xc7\xcf\x50\x16\x14\x70\xdd\x99\xed\xef\x35\x1c\x7b\xe7\x26\x6f\xd8\xfc\xfc\x75\xf4\x02\x8e\x86\xdf\x6e\xea\xd1\x10\xfe\xd8\x52\x1f\x39\xf9\xc8\x68\x54\x36\x1c\xd7\xb5\xee\xdc\x4d\x41\x7a\x0a\x56\x59\xeb\xe6\x6b\x56\x8b\xd3\xac\xfe\x8f\xb8\xe7\x86\x4d\x79\x90\xc9\x95\x87\x47\x39\x6a\x84\x48\xda\x90\xbf\xa5\xd4\x95\xf8\x97\xa0\x06\x1e\x4f\xb0\xea\x1c\x0c\x71\x1d\x1f\xc8\x5b\xf5\x3b\x00\x00\xff\xff\x08\x94\x25\x2a\x89\x05\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -583,7 +583,7 @@ func setup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe1, 0x89, 0x22, 0x5e, 0x13, 0x51, 0x4a, 0x4a, 0x8, 0x44, 0x23, 0x99, 0xca, 0x91, 0xef, 0x4b, 0x73, 0x71, 0xb5, 0x44, 0x57, 0x1, 0x21, 0xaa, 0x12, 0xd1, 0x20, 0xaf, 0x28, 0x6e, 0xad, 0x20}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x94, 0x28, 0xc3, 0xbd, 0xe8, 0x3c, 0x1e, 0xcc, 0x88, 0xa8, 0xce, 0xe7, 0xc3, 0x90, 0x9d, 0xad, 0x4a, 0x7b, 0x4a, 0x5a, 0x8e, 0xac, 0x4d, 0xbc, 0x22, 0x7d, 0xe5, 0x3f, 0x90, 0x7d, 0x57, 0xd}}
 	return a, nil
 }
 
@@ -827,7 +827,7 @@ func switchboardTransfer_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4d\x6f\xdb\x30\x0c\x3d\xd7\xbf\x82\xf5\xa1\x75\x0e\x75\x2e\xc3\x0e\x41\x3f\xd0\x7d\x74\xa7\x01\x45\xd7\x75\x87\x61\x40\x69\x9b\x8e\xb5\x3a\x92\x41\xd1\x4d\x87\x22\xff\x7d\x90\x25\x05\x4e\x1c\x74\xc0\x74\x09\x40\x51\x8f\xef\x3d\x3e\x47\xad\x3a\xc3\x02\x37\xbd\x5e\xaa\xa2\xa5\x7b\xf3\x44\x1a\x6a\x36\x2b\x48\x77\x6a\x69\x12\x3a\x3f\xbf\xe0\xaa\xdb\x6d\x1c\x97\xd2\x24\x99\xcf\xe7\x70\xcf\xa8\x6d\x4d\x6c\x41\x5c\xd5\xfd\x00\x42\xab\xac\x80\xa9\x01\xab\x8a\xc9\x5a\xb2\x60\x3b\x2a\x55\xad\xa8\x02\xa5\x41\x1a\x82\xc7\x70\x77\xbd\x32\xbd\x96\xaf\xd8\x3d\x42\x87\x8c\x2b\x12\xe2\x24\x11\x07\x8b\xa5\x28\xa3\xb3\xfd\xc6\x05\xbc\x5e\xfb\xd2\x02\xbe\xdf\xa8\x97\xf7\xef\x36\x33\x78\x4d\x12\x00\x00\xc7\xa8\x21\x78\xc0\xbe\x15\x60\xb2\xa6\xe7\x92\x40\x1a\x14\x68\x4c\x5b\xd9\x61\x74\x64\xea\xaa\xc8\x04\x05\x29\xbd\x04\x09\x4a\x98\xaa\x01\xaa\x25\x81\x67\x87\x73\x47\xf5\x02\xb0\x97\x26\xdb\x31\x2a\xff\xa1\xa4\xa9\x18\xd7\x58\xb4\x34\x83\x93\xb1\x39\xf9\x40\xc0\x53\xea\x98\x3a\x64\xca\xac\x5a\x6a\xe2\x80\xf4\xc1\x30\x9b\xf5\x03\xb6\xbd\x7b\x7a\x5d\x96\x4e\x9b\x53\x01\xe1\xcc\xe7\xf0\x85\x04\x10\x98\x6a\x62\xd2\x4e\x85\x19\xd8\x7b\x9c\x53\x0b\x56\x0c\x53\xe5\x39\x6e\xdf\x59\x6a\xeb\x3c\xd2\x86\x8b\xd0\x9d\xbb\x5e\x5c\x52\x5e\x0c\x73\xcf\xff\x47\xcd\x65\xe6\x42\xb0\x80\xe9\xcd\x37\x0f\x7e\x8b\xd2\xcc\x92\xa3\xa3\xa3\xab\x2b\xe8\x50\xab\x32\x4b\x3f\x9a\xbe\xad\x40\x1b\x01\x3f\x78\xaa\xc6\xac\xbd\x98\x01\xe8\x38\x9d\x0d\x42\x36\xde\x39\x7a\xa1\xb2\x17\x8a\xbb\x75\xa7\x36\x1c\x43\xe5\x82\xb4\x1f\x8d\xfc\x89\xfe\xd8\x71\x7f\xb0\x32\x8a\x8b\xab\x1f\xe2\xfc\x6f\x33\x63\x0c\x2c\x69\xf1\x91\x3a\x3f\xdb\x75\x38\x5f\x07\xe4\x0c\x07\x0e\x8b\x09\xa5\x9f\xa1\xf0\xeb\x78\x36\xa1\xe5\x36\xec\x58\x30\x95\xaa\x53\xa4\xe5\xd4\x42\xd7\x17\xad\x2a\x01\x7d\x24\xc0\x14\xbf\xa9\x9c\x32\xda\xbe\x80\x0b\x58\x92\x84\x00\xc5\x4f\xe5\xf0\xa4\x03\x59\x1a\x0f\xbe\xa3\x92\xd4\x33\xf1\xa1\x59\xc3\x85\x0f\xd4\xf6\x49\x5e\x62\x87\x85\x6a\x95\x28\xb2\x31\x58\x27\xaf\xbb\xa9\x8a\xa0\x9b\xcb\x6c\x9a\x9b\xdb\x41\xaa\x8f\x0d\xec\x9d\x37\x33\xe4\x31\xdf\x96\x33\x4c\x48\xa7\x4e\x7c\xa2\xce\x58\xe5\x7d\x8f\xcb\xd3\x31\x17\xe1\xbf\x69\x8c\xc3\x87\x6c\x19\x59\x92\x57\x1e\x30\x7c\x1d\xe7\x67\xdb\xb0\x8c\x66\x6f\x42\xac\x37\xc9\xdf\x00\x00\x00\xff\xff\x9c\x43\xb2\x1d\x87\x05\x00\x00"
+var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\xcb\x6e\xdb\x40\x0c\x3c\x47\x5f\xc1\xf8\x90\xc8\x87\xc8\x97\xa2\x07\x23\x0f\xa4\x8f\xf4\x54\x20\x48\xd3\xf4\x50\x14\x08\x25\x51\xd6\x36\xf2\xae\xc0\xa5\xe2\x14\x81\xff\xbd\xd8\x97\x21\x3f\x90\x02\xdd\x8b\x01\x2e\x77\x38\x33\x1c\x59\x2d\x7b\xc3\x02\x37\x83\x5e\xa8\xb2\xa3\x7b\xf3\x44\x1a\x1a\x36\x4b\x98\x6c\xd5\x26\x59\xec\xfc\xfc\x82\xcb\x7e\xbb\x71\x5c\x9a\x64\xd9\x6c\x36\x83\x7b\x46\x6d\x1b\x62\x0b\xe2\xaa\xee\x07\x10\x3a\x65\x05\x4c\x03\x58\xd7\x4c\xd6\x92\x05\xdb\x53\xa5\x1a\x45\x35\x28\x0d\xd2\x12\x3c\xc6\xbb\xeb\xa5\x19\xb4\x7c\xc5\xfe\x11\x7a\x64\x5c\x92\x10\x67\x99\x38\x58\xac\x44\x19\x9d\xef\x36\xce\xe1\xf5\x3a\x94\xe6\xf0\xfd\x46\xbd\xbc\x7f\xb7\x9e\xc2\x6b\x96\x01\x00\x38\x46\x2d\xc1\x03\x0e\x9d\x00\x93\x35\x03\x57\x04\xd2\xa2\x40\x6b\xba\xda\xfa\xd1\x89\xa9\xab\x22\x13\x94\xa4\xf4\x02\x24\x2a\x61\xaa\x3d\x54\x47\x02\xcf\x0e\xe7\x8e\x9a\x39\xe0\x20\x6d\xbe\x65\x54\xf1\x43\x49\x5b\x33\xae\xb0\xec\x68\x0a\x27\x63\x73\x0a\x4f\x20\x50\xea\x99\x7a\x64\xca\xad\x5a\x68\xe2\x88\xf4\xc1\x30\x9b\xd5\x03\x76\x83\x7b\x7a\x5d\x55\x4e\x9b\x53\x01\xf1\xcc\x66\xf0\x85\x04\x10\x98\x1a\x62\xd2\x4e\x85\xf1\xec\x03\xce\xa9\x05\x2b\x86\xa9\x0e\x1c\x37\xef\x2c\x75\x4d\x91\x68\xc3\x45\xec\x2e\x5c\x2f\x2e\xa8\x28\xfd\xdc\xf3\xff\x51\x73\x99\xbb\x10\xcc\x61\xff\xe6\x5b\x00\xbf\x45\x69\xa7\xd9\xd1\xd1\xd1\xd5\x15\xf4\xa8\x55\x95\x4f\x3e\x9a\xa1\xab\x41\x1b\x81\x30\x78\x5f\x8d\x59\x05\x31\x1e\xe8\x78\x32\xf5\x42\xd6\xc1\x39\x7a\xa1\x6a\x10\x4a\xbb\x75\xa7\x31\x9c\x42\xe5\x82\xb4\x1b\x8d\xe2\x89\xfe\xd8\x71\x7f\xb4\x32\x89\x4b\xab\xf7\x71\xfe\xb7\x99\x29\x06\x96\xb4\x84\x48\x9d\x9f\x6d\x3b\x5c\xac\x22\x72\x8e\x9e\xc3\x7c\x8f\xd2\xcf\x58\xf8\x75\x3c\xdd\xa3\xe5\x36\xec\x58\x30\x55\xaa\x57\xa4\xe5\xd4\x42\x3f\x94\x9d\xaa\x00\x43\x24\xc0\x94\xbf\xa9\xda\x67\xb4\x79\x01\x17\xb0\x20\x89\x01\x4a\x9f\xca\xe1\x49\x07\xb2\x34\x1e\x7c\x47\x15\xa9\x67\xe2\x43\xb3\xfc\x45\x08\xd4\xe6\x49\x51\x61\x8f\xa5\xea\x94\x28\xb2\x29\x58\x27\xaf\xdb\xa9\x4a\xa0\xeb\xcb\x7c\x2b\x37\xa9\x7e\xeb\xd5\x86\xe4\xc0\xce\x79\x33\x46\xe1\xf9\xdb\x8a\xfc\xca\x26\xfb\x66\x7c\xa2\xde\x58\x15\xac\x4f\xfb\xd3\x29\x1a\xf1\xef\x69\x8c\xc3\x87\x9c\x19\xb9\x52\xd4\x01\x30\x7e\x20\xe7\x67\x9b\xbc\x8c\x66\xaf\x63\xb2\xd7\xd9\xdf\x00\x00\x00\xff\xff\x4d\x51\x2e\xb4\x8a\x05\x00\x00"
 
 func transfer_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -843,11 +843,11 @@ func transfer_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0x3c, 0xab, 0xcb, 0x42, 0xcb, 0x79, 0xc4, 0xa6, 0x96, 0xce, 0x23, 0x84, 0x50, 0xe3, 0x93, 0x84, 0xeb, 0x16, 0xe3, 0xc, 0x4, 0xdc, 0x3a, 0x3e, 0xb7, 0xea, 0x18, 0x41, 0x97, 0xc6, 0x23}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0x1c, 0xce, 0xf7, 0x5e, 0xbf, 0x36, 0xce, 0xe6, 0x61, 0x21, 0x92, 0x14, 0xa2, 0xfe, 0xe9, 0x99, 0xf6, 0x73, 0xa, 0x1c, 0x11, 0xce, 0x36, 0x79, 0x26, 0xce, 0xed, 0x16, 0x11, 0x38, 0x18}}
 	return a, nil
 }
 
-var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x53\x4b\x6f\xdb\x30\x0c\xbe\xfb\x57\x70\x39\xb4\x0e\xb0\x3a\x97\x61\x87\xa0\x8f\x75\x8f\xee\x5a\x74\x5d\x77\xa6\x65\x26\xd6\x66\x4b\x06\x45\x37\x2d\x8a\xfc\xf7\x41\x92\xe5\xd9\xc9\xb0\x47\x2e\x81\x29\xea\xe3\xf7\xa0\x56\x2b\xb8\xaf\xb5\x03\x61\x34\x0e\x95\x68\x6b\x40\x3b\x40\x10\x6a\xbb\x06\x85\x60\x63\xd9\x7f\x4e\xce\xa5\x46\xc9\x56\x2b\x50\xb6\x6f\x2a\x28\x09\x7a\x47\x15\x94\xcf\x80\xe6\xd9\x1a\x02\xb1\xe0\xc8\x54\x20\xf6\x07\x19\xe7\x3f\xd1\x58\xa9\x89\x01\x95\xb2\xbd\x09\x97\x3d\x08\xd4\xe8\xa0\x24\x32\xe0\x48\xa0\xef\x7c\x2b\x93\x22\xfd\x48\xc3\xe5\x22\x5b\xad\xb2\xc0\x91\x60\xa7\xa5\xae\x18\x77\x80\xad\x07\x01\xf4\x23\x6a\x4a\xa0\xb0\x61\xdb\xc2\x96\xe4\xfa\xd7\x90\x5d\x62\xe8\xfb\x3a\x64\x6c\x49\x88\x03\x25\x5f\x99\x88\xca\x32\xdd\x76\x96\x05\x6e\x7a\xb3\xd5\x65\x43\xf7\x7e\x7e\xc4\x5c\xcc\x6a\x8b\xd4\xf9\xe9\x09\xdb\x6e\xde\x38\x2d\x2d\xb2\x6c\x82\x9f\x47\xd2\x6b\xf8\x7a\xa3\x9f\xde\xbe\x79\x0d\x62\xd7\x70\x5d\x55\x4c\xce\x2d\xe1\x25\xcb\x00\x00\x06\xa1\x0f\xd8\x37\x02\x4c\xce\xf6\xac\x68\x70\xca\x36\x95\x8b\xa4\x07\x57\x7d\x15\x99\xa0\x24\x6d\xb6\x51\xca\x86\x98\xa9\x0a\x50\x0d\x89\x0f\x41\x02\xd6\x1a\xde\xbd\xcc\x34\x14\xa1\xbc\x8f\x53\x3b\xa6\x0e\x99\x72\xa7\xb7\x86\x78\x0d\xd8\x4b\x9d\xbf\xb7\xcc\x76\xf7\x80\x4d\x4f\x4b\x38\x19\x2c\x1d\x89\x0e\x64\x3f\x93\x00\x02\xd3\x86\x98\x8c\xa2\x64\x6b\x04\x3a\x75\xe0\xc4\x32\x55\xf0\xe8\x87\x8d\xf7\x3c\xb3\x50\xb9\xa3\x0d\x5c\x0c\xcd\x85\x6f\xc5\x2d\x15\x65\x98\x7b\x1e\x38\xcc\x29\x7f\x1b\xe2\xc7\xb2\xf1\x94\xa6\x56\x47\x39\x97\xb9\x0f\x61\x0d\xc7\x27\x5f\x22\xf8\x2d\x4a\xbd\x1c\x79\xf8\xdf\xd5\x15\x74\x68\xb4\xca\x17\x1f\xc2\xa6\x18\x2b\x10\x19\x1c\xab\xb2\xbb\x28\x2a\x20\xbe\x5a\x2c\x67\x4e\x24\x72\x29\x9d\xb0\x0e\x7f\xf7\xc2\x51\xb3\x29\xc6\x98\xe0\xfc\x6c\x74\xa6\x48\xdb\x3e\x2e\x4e\xfc\x8f\xfc\x87\xe4\xe8\x89\x54\x2f\xf4\x9b\x54\xfc\x68\x26\xa5\x3b\x4d\x46\x4e\x1d\x74\x7d\xd9\x68\x35\x3e\x15\x5b\x7e\x27\x35\x8f\x64\xec\x86\x8b\xc9\x23\xca\xc5\x2e\xff\x25\xf2\xe9\xac\xbb\xf8\x82\xf9\x10\x3e\x14\x63\xe8\x63\x7b\xa1\xb0\xc3\x52\x37\x5a\x34\xb9\x14\xfe\xc9\xc1\xb2\x26\xc0\xfd\x65\x7e\x9c\xed\x6d\x50\xf6\x9f\xd1\x46\xbc\x3f\xcb\x08\xe8\x07\x31\x7f\xa4\xce\x3a\x1d\xed\x4d\x01\x99\x94\xb9\x36\x47\x18\x7c\x68\xc5\xc4\x86\xa2\x8a\x60\xc3\xd6\x9e\x9f\xcd\x97\x21\x05\xbd\xcf\x7e\x06\x00\x00\xff\xff\x3f\xc1\xa2\x6c\xa3\x05\x00\x00"
+var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x53\x4b\x6f\xdb\x30\x0c\xbe\xfb\x57\x70\x39\xb4\x0e\xb0\x3a\x97\x61\x87\xa0\x8f\x75\x8f\xee\x5a\x74\x5d\x77\xa6\x65\x26\xd6\xe6\x48\x02\x45\x37\x2d\x8a\xfe\xf7\x41\x92\xe5\xd9\xe9\xb0\x47\x2e\x81\x29\xea\xe3\xf7\xa0\x56\x2b\xb8\x6d\xb5\x07\x61\x34\x1e\x95\x68\x6b\x40\x7b\x40\x10\xda\xb9\x0e\x85\x60\x63\x39\x7c\x4e\xce\xa5\x45\x29\x56\x2b\x50\xb6\xef\x1a\xa8\x09\x7a\x4f\x0d\xd4\x8f\x80\xe6\xd1\x1a\x02\xb1\xe0\xc9\x34\x20\xf6\x07\x19\x1f\x3e\xd1\x58\x69\x89\x01\x95\xb2\xbd\x89\x97\x03\x08\xb4\xe8\xa1\x26\x32\xe0\x49\xa0\x77\xa1\x95\x49\x91\xbe\xa7\xe1\x72\x55\xac\x56\x45\xe4\x48\xb0\xd7\xd2\x36\x8c\x7b\xc0\x5d\x00\x01\x0c\x23\x5a\xca\xa0\xb0\x61\xbb\x83\x2d\xc9\xe5\xaf\x21\xfb\xcc\x30\xf4\x39\x64\xdc\x91\x10\x47\x4a\xa1\x32\x11\x55\x14\x7a\xe7\x2c\x0b\x5c\xf5\x66\xab\xeb\x8e\x6e\xc3\xfc\x84\xb9\x98\xd5\x16\xb9\xf3\xd3\x03\xee\xdc\xbc\x71\x5a\x5a\x14\xc5\x04\xbf\x4c\xa4\xd7\xf0\xf5\x4a\x3f\xbc\x7d\xf3\x1a\xc4\xae\xe1\xb2\x69\x98\xbc\x5f\xc2\x53\x51\x00\x00\x0c\x42\xef\xb0\xef\x04\x98\xbc\xed\x59\xd1\xe0\x94\xed\x1a\x9f\x48\x0f\xae\x86\x2a\x32\x41\x4d\xda\x6c\x93\x94\x0d\x31\x53\x13\xa1\x3a\x92\x10\x82\x44\xac\x35\xbc\x7b\x9a\x69\xa8\x62\xf9\x39\x4d\x75\x4c\x0e\x99\x4a\xaf\xb7\x86\x78\x0d\xd8\x4b\x5b\xbe\xb7\xcc\x76\x7f\x87\x5d\x4f\x4b\x38\x1a\x2c\x1d\x89\x0e\x64\x3f\x93\x00\x02\xd3\x86\x98\x8c\xa2\x6c\x6b\x02\x3a\xf6\xe0\xc5\x32\x35\x70\x1f\x86\x8d\xf7\x02\xb3\x58\xb9\xa1\x0d\x9c\x0d\xcd\x55\x68\xc5\x2d\x55\x75\x9c\x7b\x1a\x39\xcc\x29\x7f\x1b\xe2\xc7\xba\x0b\x94\xa6\x56\x27\x39\xe7\x65\x08\x61\x0d\x2f\x4f\xbe\x24\xf0\x6b\x94\x76\x39\xf2\x08\xbf\x8b\x0b\x70\x68\xb4\x2a\x17\x1f\xe2\xa6\x18\x2b\x90\x18\xbc\x54\x65\xf7\x49\x54\x44\x7c\xb5\x58\xce\x9c\xc8\xe4\x72\x3a\x71\x1d\xfe\xee\x85\xa7\x6e\x53\x8d\x31\xc1\xe9\xc9\xe8\x4c\x95\xb7\x7d\x5c\x9c\xf4\x9f\xf8\x0f\xc9\xd1\x03\xa9\x5e\xe8\x37\xa9\x84\xd1\x4c\x4a\x3b\x4d\x46\x8e\x3d\xb8\xbe\xee\xb4\x1a\x9f\x8a\xad\xbf\x93\x9a\x47\x32\x76\xc3\xd9\xe4\x11\x95\x62\x97\xff\x12\xf9\x74\xd6\x4d\x7a\xc1\x7c\x08\x1f\x8b\x29\xf4\xb1\xbd\x52\xe8\xb0\xd6\x9d\x16\x4d\x3e\x87\x7f\x74\xb0\xac\x19\xf0\xf9\xbc\x9c\x65\x9b\xeb\xd7\x51\xdc\x7f\xa6\x9b\xae\xfe\x59\x49\x4c\xe5\x20\xe9\x8f\xe4\xac\xd7\xc9\xe1\x9c\x91\xc9\xb1\x6b\xf3\x02\x83\x0f\xdd\x98\x38\x51\x35\x09\x6c\x58\xdc\xd3\x93\xf9\x3e\xe4\xac\x9f\x8b\x9f\x01\x00\x00\xff\xff\x10\xe8\xaf\x10\xa6\x05\x00\x00"
 
 func transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -863,7 +863,7 @@ func transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0xe0, 0xf1, 0xd0, 0xc9, 0x65, 0x55, 0xf7, 0x3, 0x4f, 0x6e, 0xbc, 0x3a, 0xb2, 0x45, 0xaa, 0x40, 0x93, 0x1a, 0xd6, 0x95, 0x5e, 0xfa, 0x3c, 0x44, 0x4b, 0x9d, 0x83, 0xb, 0x8a, 0x3e, 0x60}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0xbd, 0xbb, 0xb0, 0x2c, 0x7a, 0x2c, 0xa8, 0xe5, 0xee, 0x3, 0xa2, 0xb3, 0x6d, 0x1b, 0xbc, 0x94, 0x89, 0xf5, 0xb3, 0x96, 0x9, 0xc4, 0x1c, 0x48, 0xa4, 0x3, 0x37, 0x50, 0x47, 0xaf, 0x7a}}
 	return a, nil
 }
 

From ebef173c92201ed2bda9512542e5bca28619b870 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 16:26:32 -0500
Subject: [PATCH 043/115] rm ExampleToken-v2 dependency on MultipleVaults

---
 contracts/ExampleToken-v2.cdc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 97294d43..443f7ff6 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -1,8 +1,8 @@
 import FungibleToken from "FungibleToken"
 import MetadataViews from "MetadataViews"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MultipleVaults from "MultipleVaults"
 import ViewResolver from "ViewResolver"
+// import MultipleVaults from "MultipleVaults"
 
 access(all) contract ExampleToken: ViewResolver {
 
@@ -272,6 +272,7 @@ access(all) contract ExampleToken: ViewResolver {
         self.VaultStoragePath = vault.getDefaultStoragePath()!
         self.VaultPublicPath = vault.getDefaultPublicPath()!
         self.ReceiverPublicPath = vault.getDefaultReceiverPath()!
+
         self.account.storage.save(<-vault, to: self.VaultStoragePath)
 
         // Create a public capability to the stored Vault that exposes
@@ -287,4 +288,3 @@ access(all) contract ExampleToken: ViewResolver {
         self.account.storage.save(<-admin, to: self.AdminStoragePath)
     }
 }
- 

From 156e4b6b56e226640ec91b633f302a0130ea98f6 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 16:27:04 -0500
Subject: [PATCH 044/115] update NonFungibleToken import syntax

---
 contracts/utility/NonFungibleToken.cdc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index 61e70f0f..fae0e93b 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -41,7 +41,7 @@ Collection to complete the transfer.
 
 */
 
-import ViewResolver from "./ViewResolver.cdc"
+import ViewResolver from "ViewResolver"
 
 /// The main NFT contract interface. Other NFT contracts will
 /// import and implement this interface

From 7c8c7e5b08a4e4ed7e21929ca093fdbc3a484a8a Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 16:28:44 -0500
Subject: [PATCH 045/115] update flow config with up to date dependencies

---
 flow.json | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

diff --git a/flow.json b/flow.json
index 4c4472a3..9ec4f7b1 100644
--- a/flow.json
+++ b/flow.json
@@ -1,6 +1,11 @@
 {
 	"contracts": {
-		"ExampleToken": "./contracts/ExampleToken.cdc",
+		"ExampleToken": {
+			"source": "./contracts/ExampleToken-v2.cdc",
+			"aliases": {
+				"emulator": "f8d6e0586b0a20c7"
+			}
+		},
 		"FiatToken": {
 			"source": "./contracts/utility/USDC/FiatToken.cdc",
 			"aliases": {
@@ -17,14 +22,6 @@
 			}
 		},
 		"FungibleToken": {
-			"source": "./contracts/FungibleToken.cdc",
-			"aliases": {
-				"emulator": "ee82856bf20e2aa6",
-				"mainnet": "f233dcee88fe0abe",
-				"testnet": "9a0766d93b6608b7"
-			}
-		},
-		"FungibleToken-v2": {
 			"source": "./contracts/FungibleToken-v2.cdc",
 			"aliases": {
 				"emulator": "ee82856bf20e2aa6"
@@ -46,13 +43,6 @@
 				"testnet": "9a0766d93b6608b7"
 			}
 		},
-		"LostAndFound": {
-			"source": "./contracts/utility/L\u0026F/LostAndFound.cdc",
-			"aliases": {
-				"mainnet": "473d6a2c37eab5be",
-				"testnet": "be4635353f55bbd4"
-			}
-		},
 		"MetadataViews": {
 			"source": "./contracts/utility/MetadataViews.cdc",
 			"aliases": {
@@ -94,13 +84,15 @@
 	"deployments": {
 		"emulator": {
 			"emulator-account": [
-				"FungibleToken-v2",
+				"ViewResolver",
+				"FungibleToken",
 				"NonFungibleToken",
 				"MetadataViews",
 				"FungibleTokenMetadataViews",
 				"FungibleTokenSwitchboard",
 				"TokenForwarding",
-				"PrivateReceiverForwarder"
+				"PrivateReceiverForwarder",
+				"ExampleToken"
 			]
 		}
 	}

From 1e11fdd54e539584106b302fa691f3b7282c1a3d Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 16:29:30 -0500
Subject: [PATCH 046/115] update MetadataViews Cadence tests, scripts & txns

---
 tests/metadata_views_tests.cdc                | 39 +++++++++++--------
 tests/scripts/get_supported_vault_types.cdc   |  2 +-
 tests/scripts/get_token_metadata.cdc          |  2 +-
 tests/scripts/get_unsupported_view.cdc        |  2 +-
 tests/scripts/get_vault_data.cdc              |  6 +--
 tests/scripts/get_vault_display.cdc           |  2 +-
 tests/scripts/get_views.cdc                   |  2 +-
 .../setup_account_from_vault_reference.cdc    | 12 +++---
 8 files changed, 37 insertions(+), 30 deletions(-)

diff --git a/tests/metadata_views_tests.cdc b/tests/metadata_views_tests.cdc
index e4ee151a..f1d9370a 100644
--- a/tests/metadata_views_tests.cdc
+++ b/tests/metadata_views_tests.cdc
@@ -1,8 +1,9 @@
 import Test
 import "test_helpers.cdc"
 
+// access(all) let blockchain = Test.newEmulatorBlockchain()
 access(all) let sourceAccount = blockchain.createAccount()
-access(all) let accounts: {String: Test.Account} = {}
+access(all) let accounts: {String: Test.TestAccount} = {}
 
 access(all) let exampleToken = "ExampleToken"
 
@@ -14,7 +15,7 @@ access(all) fun testSetupAccountUsingFTView() {
 
     setupExampleToken(alice)
     let aliceBalance = getExampleTokenBalance(alice)
-    txExecutor("metadata/setup_account_from_vault_reference.cdc", [bob], [alice.address, /public/exampleTokenMetadata], nil, nil)
+    txExecutor("metadata/setup_account_from_vault_reference.cdc", [bob], [alice.address, /public/exampleTokenVault], nil, nil)
     let bobBalance = getExampleTokenBalance(alice)
 
     Test.assertEqual(0.0, aliceBalance)
@@ -33,20 +34,20 @@ access(all) fun testRetrieveVaultDisplayInfo() {
 
 /* Transaction Helpers */
 
-access(all) fun setupExampleToken(_ acct: Test.Account) {
+access(all) fun setupExampleToken(_ acct: Test.TestAccount) {
     txExecutor("setup_account.cdc", [acct], [], nil, nil)
 }
 
 /* Script Helpers */
 
-access(all) fun getExampleTokenBalance(_ acct: Test.Account): UFix64 {
+access(all) fun getExampleTokenBalance(_ acct: Test.TestAccount): UFix64 {
     let balance: UFix64? = (scriptExecutor("get_balance.cdc", [acct.address])! as! UFix64)
     return balance!
 }
 
 /* Test Helper */
 
-access(all) fun getTestAccount(_ name: String): Test.Account {
+access(all) fun getTestAccount(_ name: String): Test.TestAccount {
     if accounts[name] == nil {
         accounts[name] = blockchain.createAccount()
     }
@@ -62,22 +63,28 @@ access(all) fun setup() {
 
     accounts["FungibleToken"] = sourceAccount
     accounts["NonFungibleToken"] = sourceAccount
+    accounts["ViewResolver"] = sourceAccount
     accounts["MetadataViews"] = sourceAccount
     accounts["FungibleTokenMetadataViews"] = sourceAccount
     accounts["ExampleToken"] = sourceAccount
 
-    blockchain.useConfiguration(Test.Configuration({
-        "FungibleToken": sourceAccount.address,
-        "NonFungibleToken": sourceAccount.address,
-        "MetadataViews": sourceAccount.address,
-        "FungibleTokenMetadataViews": sourceAccount.address,
-        "ExampleToken": sourceAccount.address
-    }))
-
-    // helper nft contract so we can actually talk to nfts with tests
-    deploy("FungibleToken", sourceAccount, "../contracts/FungibleToken.cdc")
+    blockchain.useConfiguration(
+        Test.Configuration(
+            addresses: {
+                "FungibleToken": sourceAccount.address,
+                "NonFungibleToken": sourceAccount.address,
+                "ViewResolver": sourceAccount.address,
+                "MetadataViews": sourceAccount.address,
+                "FungibleTokenMetadataViews": sourceAccount.address,
+                "ExampleToken": sourceAccount.address
+            }
+        )
+    )
+
+    deploy("ViewResolver", sourceAccount, "../contracts/utility/ViewResolver.cdc")
+    deploy("FungibleToken", sourceAccount, "../contracts/FungibleToken-v2.cdc")
     deploy("NonFungibleToken", sourceAccount, "../contracts/utility/NonFungibleToken.cdc")
     deploy("MetadataViews", sourceAccount, "../contracts/utility/MetadataViews.cdc")
     deploy("FungibleTokenMetadataViews", sourceAccount, "../contracts/FungibleTokenMetadataViews.cdc")
-    deploy("ExampleToken", sourceAccount, "../contracts/ExampleToken.cdc")
+    deploy("ExampleToken", sourceAccount, "../contracts/ExampleToken-v2.cdc")
 }
diff --git a/tests/scripts/get_supported_vault_types.cdc b/tests/scripts/get_supported_vault_types.cdc
index 5e0a068f..74748ab1 100644
--- a/tests/scripts/get_supported_vault_types.cdc
+++ b/tests/scripts/get_supported_vault_types.cdc
@@ -4,7 +4,7 @@ import FungibleToken from "FungibleToken"
 /// `target` address should hold the capability which conforms with FungibleToken.Receiver restricted type
 /// while it doesn't matter whether capability refers to fungible token or a custom receiver like 
 /// `FungibleTokenSwitchboard` or `TokenReceiver`. However `targetPath` tells where the capability stores
-pub fun main(target: Address, targetPath: PublicPath): Int {
+access(all) fun main(target: Address, targetPath: PublicPath): Int {
 
     // Access the capability for the provided target address
     let capabilityRef = getAccount(target).capabilities.borrow<&{FungibleToken.Receiver}>(targetPath)
diff --git a/tests/scripts/get_token_metadata.cdc b/tests/scripts/get_token_metadata.cdc
index d9564b7a..eb824f46 100644
--- a/tests/scripts/get_token_metadata.cdc
+++ b/tests/scripts/get_token_metadata.cdc
@@ -7,7 +7,7 @@ import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 import MetadataViews from "MetadataViews"
 
-pub fun main(address: Address): Bool {
+access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
 
     let vaultRef = account.capabilities.borrow<&{MetadataViews.Resolver}>(ExampleToken.VaultPublicPath)
diff --git a/tests/scripts/get_unsupported_view.cdc b/tests/scripts/get_unsupported_view.cdc
index d2d828bb..f1bba0d7 100644
--- a/tests/scripts/get_unsupported_view.cdc
+++ b/tests/scripts/get_unsupported_view.cdc
@@ -6,7 +6,7 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 
-pub fun main(address: Address): Bool {
+access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
     let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow Balance reference to the Vault")
diff --git a/tests/scripts/get_vault_data.cdc b/tests/scripts/get_vault_data.cdc
index a300cbb2..df12ccc8 100644
--- a/tests/scripts/get_vault_data.cdc
+++ b/tests/scripts/get_vault_data.cdc
@@ -8,7 +8,7 @@ import FungibleToken from "FungibleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 import MetadataViews from "MetadataViews"
 
-pub fun main(address: Address): Bool {
+access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
 
     let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
@@ -18,14 +18,14 @@ pub fun main(address: Address): Bool {
         ?? panic("Token does not implement FTVaultData view")
 
     assert(ExampleToken.VaultStoragePath == vaultData.storagePath)
-    assert(ExampleToken.VaultPublicPath == vaultData.receiverPath)
+    assert(ExampleToken.ReceiverPublicPath == vaultData.receiverPath)
     assert(ExampleToken.VaultPublicPath == vaultData.metadataPath)
     assert(/private/exampleTokenVault == vaultData.providerPath)
     assert(Type<&ExampleToken.Vault>() == vaultData.receiverLinkedType)
     assert(Type<&ExampleToken.Vault>() == vaultData.providerLinkedType)
     assert(Type<&ExampleToken.Vault>() == vaultData.metadataLinkedType)
     let vault <- vaultData.createEmptyVault()
-    let vaultIsEmpty = vault.balance == 0.0
+    let vaultIsEmpty = vault.getBalance() == 0.0
     assert(vaultIsEmpty)
 
     destroy vault
diff --git a/tests/scripts/get_vault_display.cdc b/tests/scripts/get_vault_display.cdc
index fbc4c7c1..1a98977f 100644
--- a/tests/scripts/get_vault_display.cdc
+++ b/tests/scripts/get_vault_display.cdc
@@ -7,7 +7,7 @@ import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 import ViewResolver from "ViewResolver"
 
-pub fun main(address: Address): Bool {
+access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
 
     let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
diff --git a/tests/scripts/get_views.cdc b/tests/scripts/get_views.cdc
index 4b5fb00d..94109cd7 100644
--- a/tests/scripts/get_views.cdc
+++ b/tests/scripts/get_views.cdc
@@ -7,7 +7,7 @@ import MetadataViews from "MetadataViews"
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
-pub fun main(address: Address): Bool {
+access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
 
     let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
diff --git a/transactions/metadata/setup_account_from_vault_reference.cdc b/transactions/metadata/setup_account_from_vault_reference.cdc
index 6f6e9376..6dd7e15f 100644
--- a/transactions/metadata/setup_account_from_vault_reference.cdc
+++ b/transactions/metadata/setup_account_from_vault_reference.cdc
@@ -1,6 +1,6 @@
 import FungibleToken from "FungibleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MetadataViews from "MetadataViews"
+import ViewResolver from "ViewResolver"
 
 /// This transaction is what an account would run
 /// to set itself up to manage fungible tokens. This function
@@ -12,7 +12,7 @@ transaction(address: Address, publicPath: PublicPath) {
     prepare(signer: auth(SaveValue, Capabilities) &Account) {
         // Borrow a reference to the vault stored on the passed account at the passed publicPath
         let resolverRef = getAccount(address)
-            .capabilities.borrow<&{MetadataViews.Resolver}>(publicPath)
+            .capabilities.borrow<&{ViewResolver.Resolver}>(publicPath)
             ?? panic("Could not borrow a reference to the vault view resolver ")
 
         // Use that reference to retrieve the FTView 
@@ -26,15 +26,15 @@ transaction(address: Address, publicPath: PublicPath) {
 
         // Save it to the account
         signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)
+        
+        // Create a public capability for the vault which includes the .Resolver interface
+        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)
+        signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)
 
         // Create a public capability for the vault exposing the receiver interface
         let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)
         signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)
 
-        // Create a public capability for the vault exposing the balance and resolver interfaces
-        let metadatResolverCap = signer.capabilities.storage
-            .issue<&{FungibleToken.Balance, MetadataViews.Resolver}>(ftVaultData.storagePath)
-        signer.capabilities.publish(metadatResolverCap, at: ftVaultData.metadataPath)
     }
 }
  
\ No newline at end of file

From 0834d1b9eac2838a22c51f5d01509aa94afd307f Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 16:30:06 -0500
Subject: [PATCH 047/115] update test_helpers.cdc to Cadence 1.0 syntax

---
 tests/test_helpers.cdc | 36 +++++++++++++++++-------------------
 1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/tests/test_helpers.cdc b/tests/test_helpers.cdc
index e969cfc1..aba50fe7 100644
--- a/tests/test_helpers.cdc
+++ b/tests/test_helpers.cdc
@@ -7,9 +7,9 @@
 
 import Test
 
-pub let blockchain = Test.newEmulatorBlockchain()
+access(all) let blockchain = Test.newEmulatorBlockchain()
 
-pub fun deploy(_ contractName: String, _ account: Test.Account, _ path: String) {
+access(all) fun deploy(_ contractName: String, _ account: Test.TestAccount, _ path: String) {
     let err = blockchain.deployContract(
         name: contractName,
         code: Test.readFile(path),
@@ -23,7 +23,7 @@ pub fun deploy(_ contractName: String, _ account: Test.Account, _ path: String)
     }
 }
 
-pub fun deployWithArgs(_ contractName: String, _ account: Test.Account, _ path: String, args: [AnyStruct]) {
+access(all) fun deployWithArgs(_ contractName: String, _ account: Test.TestAccount, _ path: String, args: [AnyStruct]) {
     let err = blockchain.deployContract(
         name: contractName,
         code: Test.readFile(path),
@@ -37,7 +37,7 @@ pub fun deployWithArgs(_ contractName: String, _ account: Test.Account, _ path:
     }
 }
 
-pub fun scriptExecutor(_ scriptName: String, _ arguments: [AnyStruct]): AnyStruct? {
+access(all) fun scriptExecutor(_ scriptName: String, _ arguments: [AnyStruct]): AnyStruct? {
     let scriptCode = loadCode(scriptName, "transactions/scripts")
     let scriptResult = blockchain.executeScript(scriptCode, arguments)
 
@@ -50,7 +50,7 @@ pub fun scriptExecutor(_ scriptName: String, _ arguments: [AnyStruct]): AnyStruc
     return scriptResult.returnValue
 }
 
-pub fun expectScriptFailure(_ scriptName: String, _ arguments: [AnyStruct]): String {
+access(all) fun expectScriptFailure(_ scriptName: String, _ arguments: [AnyStruct]): String {
     let scriptCode = loadCode(scriptName, "transactions/scripts")
     let scriptResult = blockchain.executeScript(scriptCode, arguments)
 
@@ -58,7 +58,7 @@ pub fun expectScriptFailure(_ scriptName: String, _ arguments: [AnyStruct]): Str
     return scriptResult.error!.message
 }
 
-pub fun txExecutor(_ txName: String, _ signers: [Test.Account], _ arguments: [AnyStruct], _ expectedError: String?, _ expectedErrorType: ErrorType?): Bool {
+access(all) fun txExecutor(_ txName: String, _ signers: [Test.TestAccount], _ arguments: [AnyStruct], _ expectedError: String?, _ expectedErrorType: ErrorType?): Bool {
     let txCode = loadCode(txName, "transactions")
 
     let authorizers: [Address] = []
@@ -97,35 +97,33 @@ pub fun txExecutor(_ txName: String, _ signers: [Test.Account], _ arguments: [An
     return txResult.status == Test.ResultStatus.succeeded
 }
 
-pub fun loadCode(_ fileName: String, _ baseDirectory: String): String {
+access(all) fun loadCode(_ fileName: String, _ baseDirectory: String): String {
     return Test.readFile("../".concat(baseDirectory).concat("/").concat(fileName))
 }
 
-pub enum ErrorType: UInt8 {
-    pub case TX_PANIC
-    pub case TX_ASSERT
-    pub case TX_PRE
+access(all) enum ErrorType: UInt8 {
+    access(all) case TX_PANIC
+    access(all) case TX_ASSERT
+    access(all) case TX_PRE
 }
 
-pub fun getErrorMessagePointer(errorType: ErrorType): Int {
+access(all) fun getErrorMessagePointer(errorType: ErrorType): Int {
     switch errorType {
         case ErrorType.TX_PANIC: return 159
         case ErrorType.TX_ASSERT: return 170
         case ErrorType.TX_PRE: return 174
         default: panic("Invalid error type")
     }
-
-    return 0
 }
 
-pub fun buildTypeIdentifier(_ acct: Test.Account, _ contractName: String, _ suffix: String): String {
+access(all) fun buildTypeIdentifier(_ acct: Test.TestAccount, _ contractName: String, _ suffix: String): String {
     let addrString = acct.address.toString()
     return "A.".concat(addrString.slice(from: 2, upTo: addrString.length)).concat(".").concat(contractName).concat(".").concat(suffix)
 }
 
 // Copied functions from flow-utils so we can assert on error conditions
 // https://github.com/green-goo-dao/flow-utils/blob/main/cadence/contracts/StringUtils.cdc
-pub fun contains(_ s: String, _ substr: String): Bool {
+access(all) fun contains(_ s: String, _ substr: String): Bool {
     if let index = index(s, substr, 0) {
         return true
     }
@@ -133,7 +131,7 @@ pub fun contains(_ s: String, _ substr: String): Bool {
 }
 
 // https://github.com/green-goo-dao/flow-utils/blob/main/cadence/contracts/StringUtils.cdc
-pub fun index(_ s: String, _ substr: String, _ startIndex: Int): Int? {
+access(all) fun index(_ s: String, _ substr: String, _ startIndex: Int): Int? {
     for i in range(startIndex, s.length - substr.length + 1) {
         if s[i] == substr[0] && s.slice(from: i, upTo: i + substr.length) == substr {
             return i
@@ -143,7 +141,7 @@ pub fun index(_ s: String, _ substr: String, _ startIndex: Int): Int? {
 }
 
 // https://github.com/green-goo-dao/flow-utils/blob/main/cadence/contracts/ArrayUtils.cdc
-pub fun rangeFunc(_ start: Int, _ end: Int, _ f: ((Int): Void)) {
+access(all) fun rangeFunc(_ start: Int, _ end: Int, _ f: (fun (Int): Void)) {
     var current = start
     while current < end {
         f(current)
@@ -151,7 +149,7 @@ pub fun rangeFunc(_ start: Int, _ end: Int, _ f: ((Int): Void)) {
     }
 }
 
-pub fun range(_ start: Int, _ end: Int): [Int] {
+access(all) fun range(_ start: Int, _ end: Int): [Int] {
     let res: [Int] = []
     rangeFunc(start, end, fun (i: Int) {
         res.append(i)

From e8ab90f5855c9ab79cd30f8199ad83d1e3991fa2 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 16:30:40 -0500
Subject: [PATCH 048/115] update PrivateReceiverForwarder Cadence tests

---
 tests/private_receiver_forwarder_tests.cdc | 41 +++++++++++++---------
 1 file changed, 25 insertions(+), 16 deletions(-)

diff --git a/tests/private_receiver_forwarder_tests.cdc b/tests/private_receiver_forwarder_tests.cdc
index 81dfee1d..95588465 100644
--- a/tests/private_receiver_forwarder_tests.cdc
+++ b/tests/private_receiver_forwarder_tests.cdc
@@ -1,8 +1,10 @@
 import Test
 import "test_helpers.cdc"
 
+// access(all) let blockchain = Test.newEmulatorBlockchain()
+
 access(all) let sourceAccount = blockchain.createAccount()
-access(all) let accounts: {String: Test.Account} = {}
+access(all) let accounts: {String: Test.TestAccount} = {}
 
 access(all) let exampleToken = "ExampleToken"
 
@@ -40,28 +42,28 @@ access(all) fun testTransferPrivateTokens() {
 
 /* Transaction Helpers */
 
-access(all) fun setupExampleToken(_ acct: Test.Account) {
+access(all) fun setupExampleToken(_ acct: Test.TestAccount) {
     txExecutor("setup_account.cdc", [acct], [], nil, nil)
 }
 
-access(all) fun mintExampleToken(_ acct: Test.Account, recipient: Address, amount: UFix64) {
+access(all) fun mintExampleToken(_ acct: Test.TestAccount, recipient: Address, amount: UFix64) {
     txExecutor("mint_tokens.cdc", [acct], [recipient, amount], nil, nil)
 }
 
-access(all) fun setupTokenForwarder(_ acct: Test.Account) {
+access(all) fun setupTokenForwarder(_ acct: Test.TestAccount) {
     txExecutor("privateForwarder/setup_and_create_forwarder.cdc", [acct], [], nil, nil)
 }
 
 /* Script Helpers */
 
-access(all) fun getExampleTokenBalance(_ acct: Test.Account): UFix64 {
+access(all) fun getExampleTokenBalance(_ acct: Test.TestAccount): UFix64 {
     let balance: UFix64? = (scriptExecutor("get_balance.cdc", [acct.address])! as! UFix64)
     return balance!
 }
 
 /* Test Helper */
 
-access(all) fun getTestAccount(_ name: String): Test.Account {
+access(all) fun getTestAccount(_ name: String): Test.TestAccount {
     if accounts[name] == nil {
         accounts[name] = blockchain.createAccount()
     }
@@ -77,26 +79,33 @@ access(all) fun setup() {
 
     accounts["FungibleToken"] = sourceAccount
     accounts["NonFungibleToken"] = sourceAccount
+    accounts["ViewResolver"] = sourceAccount
     accounts["MetadataViews"] = sourceAccount
     accounts["FungibleTokenMetadataViews"] = sourceAccount
     accounts["ExampleToken"] = sourceAccount
     accounts["PrivateReceiverForwarder"] = sourceAccount
 
-    blockchain.useConfiguration(Test.Configuration({
-        "FungibleToken": sourceAccount.address,
-        "NonFungibleToken": sourceAccount.address,
-        "MetadataViews": sourceAccount.address,
-        "FungibleTokenMetadataViews": sourceAccount.address,
-        "ExampleToken": sourceAccount.address,
-        "PrivateReceiverForwarder": sourceAccount.address
-    }))
+    blockchain.useConfiguration(
+        Test.Configuration(
+            addresses: {
+                "FungibleToken": sourceAccount.address,
+                "NonFungibleToken": sourceAccount.address,
+                "ViewResolver": sourceAccount.address,
+                "MetadataViews": sourceAccount.address,
+                "FungibleTokenMetadataViews": sourceAccount.address,
+                "ExampleToken": sourceAccount.address,
+                "PrivateReceiverForwarder": sourceAccount.address
+            }
+        )
+    )
 
     // helper nft contract so we can actually talk to nfts with tests
-    deploy("FungibleToken", sourceAccount, "../contracts/FungibleToken.cdc")
+    deploy("ViewResolver", sourceAccount, "../contracts/utility/ViewResolver.cdc")
+    deploy("FungibleToken", sourceAccount, "../contracts/FungibleToken-v2.cdc")
     deploy("NonFungibleToken", sourceAccount, "../contracts/utility/NonFungibleToken.cdc")
     deploy("MetadataViews", sourceAccount, "../contracts/utility/MetadataViews.cdc")
     deploy("FungibleTokenMetadataViews", sourceAccount, "../contracts/FungibleTokenMetadataViews.cdc")
-    deploy("ExampleToken", sourceAccount, "../contracts/ExampleToken.cdc")
+    deploy("ExampleToken", sourceAccount, "../contracts/ExampleToken-v2.cdc")
     deployWithArgs(
         "PrivateReceiverForwarder",
         sourceAccount,

From add978f5af59fb140b187a7499b4c6f18e3871b2 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 17:59:53 -0500
Subject: [PATCH 049/115] enable
 FungibleToken.Receiver.getSupportedVaultTypes() in v2 standard impl

---
 contracts/FungibleToken-v2.cdc | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index d7682dc0..a3f6eaec 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -128,16 +128,16 @@ access(all) contract FungibleToken {
         ///
         access(all) fun deposit(from: @{Vault})
 
-        // /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        // access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
-        //     pre { true: "dummy" }
-        // }
+        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
+            pre { true: "dummy" }
+        }
 
-        // /// Returns whether or not the given type is accepted by the Receiver
-        // /// A vault that can accept any type should just return true by default
-        // access(all) view fun isSupportedVaultType(type: Type): Bool {
-        //     pre { true: "dummy" }
-        // }
+        /// Returns whether or not the given type is accepted by the Receiver
+        /// A vault that can accept any type should just return true by default
+        access(all) view fun isSupportedVaultType(type: Type): Bool {
+            pre { true: "dummy" }
+        }
     }
 
     access(all) resource interface Transferor {

From d03d0dfbb876885fc3e4dc691c72e36d278ab5ff Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 18:01:04 -0500
Subject: [PATCH 050/115] update switchboard Cadence tests & supporting scripts
 & txns

---
 tests/switchboard_tests.cdc                   | 88 +++++++----------
 .../scripts/get_supported_vault_types.cdc     |  6 +-
 .../get_vault_types_and_address.cdc           | 12 +--
 .../switchboard/add_vault_capability.cdc      | 63 +++++++++---
 .../add_vault_wrapper_capability.cdc          | 39 ++++----
 .../batch_add_vault_capabilities.cdc          | 20 ++--
 .../batch_add_vault_wrapper_capabilities.cdc  | 23 +++--
 .../switchboard/remove_vault_capability.cdc   | 29 +++---
 .../switchboard/safe_deposit_to_lnf.cdc       | 96 -------------------
 .../switchboard/safe_transfer_tokens.cdc      | 24 ++---
 .../switchboard/safe_transfer_tokens_v2.cdc   | 36 ++++---
 transactions/switchboard/setup_account.cdc    | 48 +++++-----
 transactions/switchboard/transfer_tokens.cdc  | 33 +++----
 13 files changed, 217 insertions(+), 300 deletions(-)
 delete mode 100644 transactions/switchboard/safe_deposit_to_lnf.cdc

diff --git a/tests/switchboard_tests.cdc b/tests/switchboard_tests.cdc
index 5c0f0c65..a0cef9a8 100644
--- a/tests/switchboard_tests.cdc
+++ b/tests/switchboard_tests.cdc
@@ -1,58 +1,38 @@
 import Test
+import "test_helpers.cdc"
+
+// access(all) let blockchain = Test.newEmulatorBlockchain()
+access(all) let admin = blockchain.createAccount()
+access(all) let recipient = blockchain.createAccount()
+
+access(all) fun setup() {
+    blockchain.useConfiguration(
+        Test.Configuration(
+            addresses: {
+                "ViewResolver": admin.address,
+                "FungibleToken": admin.address,
+                "NonFungibleToken": admin.address,
+                "MetadataViews": admin.address,
+                "FungibleTokenMetadataViews": admin.address,
+                "ExampleToken": admin.address,
+                "FungibleTokenSwitchboard": admin.address,
+                "TokenForwarding": admin.address
+            }
+        )
+    )
+
+    deploy("ViewResolver", admin, "../contracts/utility/ViewResolver.cdc")
+    deploy("FungibleToken", admin, "../contracts/FungibleToken-v2.cdc")
+    deploy("NonFungibleToken", admin, "../contracts/utility/NonFungibleToken.cdc")
+    deploy("MetadataViews", admin, "../contracts/utility/MetadataViews.cdc")
+    deploy("FungibleTokenMetadataViews", admin, "../contracts/FungibleTokenMetadataViews.cdc")
+    deploy("ExampleToken", admin, "../contracts/ExampleToken-v2.cdc")
+    deploy("FungibleTokenSwitchboard", admin, "../contracts/FungibleTokenSwitchboard.cdc")
+    deploy("TokenForwarding", admin, "../contracts/utility/TokenForwarding.cdc")
 
-pub let blockchain = Test.newEmulatorBlockchain()
-pub let admin = blockchain.createAccount()
-pub let recipient = blockchain.createAccount()
-
-pub fun setup() {
-    blockchain.useConfiguration(Test.Configuration({
-        "FungibleTokenMetadataViews": admin.address,
-        "ExampleToken": admin.address,
-        "FungibleTokenSwitchboard": admin.address,
-        "TokenForwarding": admin.address
-    }))
-
-    var code = Test.readFile("../contracts/FungibleTokenMetadataViews.cdc")
-    var err = blockchain.deployContract(
-        name: "FungibleTokenMetadataViews",
-        code: code,
-        account: admin,
-        arguments: []
-    )
-    Test.expect(err, Test.beNil())
-
-    code = Test.readFile("../contracts/ExampleToken.cdc")
-    err = blockchain.deployContract(
-        name: "ExampleToken",
-        code: code,
-        account: admin,
-        arguments: []
-    )
-
-    Test.expect(err, Test.beNil())
-
-    code = Test.readFile("../contracts/FungibleTokenSwitchboard.cdc")
-    err = blockchain.deployContract(
-        name: "FungibleTokenSwitchboard",
-        code: code,
-        account: admin,
-        arguments: []
-    )
-
-    Test.expect(err, Test.beNil())
-
-    code = Test.readFile("../contracts/utility/TokenForwarding.cdc")
-    err = blockchain.deployContract(
-        name: "TokenForwarding",
-        code: code,
-        account: admin,
-        arguments: []
-    )
-
-    Test.expect(err, Test.beNil())
 }
 
-pub fun testSetupSwitchboard() {
+access(all) fun testSetupSwitchboard() {
     var code = Test.readFile("../transactions/setup_account.cdc")
     var tx = Test.Transaction(
         code: code,
@@ -112,7 +92,7 @@ pub fun testSetupSwitchboard() {
     Test.assertEqual(1, numTypes)
 }
 
-pub fun testUseSwitchboard() {
+access(all) fun testUseSwitchboard() {
     var code = Test.readFile("../transactions/switchboard/safe_transfer_tokens_v2.cdc")
     var tx = Test.Transaction(
         code: code,
@@ -149,7 +129,7 @@ pub fun testUseSwitchboard() {
 
 }
 
-pub fun testRemoveVaultTypeFromSwitchboard() {
+access(all) fun testRemoveVaultTypeFromSwitchboard() {
     var code = Test.readFile("../transactions/switchboard/remove_vault_capability.cdc")
     var tx = Test.Transaction(
         code: code,
@@ -187,7 +167,7 @@ pub fun testRemoveVaultTypeFromSwitchboard() {
 
 }
 
-pub fun testUseSwitchboardWithForwarder() {
+access(all) fun testUseSwitchboardWithForwarder() {
     var code = Test.readFile("../transactions/create_forwarder.cdc")
     var tx = Test.Transaction(
         code: code,
diff --git a/transactions/scripts/get_supported_vault_types.cdc b/transactions/scripts/get_supported_vault_types.cdc
index 645f2845..b7dcc1fc 100644
--- a/transactions/scripts/get_supported_vault_types.cdc
+++ b/transactions/scripts/get_supported_vault_types.cdc
@@ -7,10 +7,8 @@ import FungibleToken from "FungibleToken"
 access(all) fun main(target: Address, targetPath: PublicPath): {Type: Bool} {
 
     // Access the capability for the provided target address
-    let capabilityRef = getAccount(target)
-                    .getCapability<&{FungibleToken.Receiver}>(targetPath)
-                    .borrow() 
-                    ?? panic("Unable to borrow capability with restricted sub type {FungibleToken.Receiver} from path".concat(targetPath.toString()))
+    let capabilityRef = getAccount(target).capabilities.borrow<&{FungibleToken.Receiver}>(targetPath)
+        ?? panic("Unable to borrow capability with restricted sub type {FungibleToken.Receiver} from path".concat(targetPath.toString()))
     // Return the supported vault types.
     return capabilityRef.getSupportedVaultTypes()
 }
\ No newline at end of file
diff --git a/transactions/scripts/switchboard/get_vault_types_and_address.cdc b/transactions/scripts/switchboard/get_vault_types_and_address.cdc
index 3212a993..d4fd046e 100644
--- a/transactions/scripts/switchboard/get_vault_types_and_address.cdc
+++ b/transactions/scripts/switchboard/get_vault_types_and_address.cdc
@@ -1,16 +1,14 @@
 import FungibleToken from "FungibleToken"
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 
-// This script reads the stored vault capabilities from a switchboard on the
-// passed account
+/// This script reads the stored vault capabilities from a switchboard on the passed account
+///
 access(all) fun main(account: Address): {Type: Address} {
 
-    let acct = getAccount(account)
-
     // Get a reference to the switchboard conforming to SwitchboardPublic
-    let switchboardRef = acct.getCapability(FungibleTokenSwitchboard.PublicPath)
-        .borrow<&FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic}>()
-        ?? panic("Could not borrow reference to switchboard")
+    let switchboardRef = getAccount(account).capabilities.borrow<&{FungibleTokenSwitchboard.SwitchboardPublic}>(
+            FungibleTokenSwitchboard.PublicPath
+        ) ?? panic("Could not borrow reference to switchboard")
 
     // Return the result of `getVaultTypesWithAddress()`
     return switchboardRef.getVaultTypesWithAddress()
diff --git a/transactions/switchboard/add_vault_capability.cdc b/transactions/switchboard/add_vault_capability.cdc
index 83c6e5a8..1357c6f3 100644
--- a/transactions/switchboard/add_vault_capability.cdc
+++ b/transactions/switchboard/add_vault_capability.cdc
@@ -2,29 +2,68 @@ import FungibleToken from "FungibleToken"
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
 
-// This transaction is a template for a transaction that
-// could be used by anyone to add a new fungible token vault
-// capability to their switchboard resource
+/// This transaction is a template for a transaction that could be used by anyone to add a new fungible token vault
+/// capability to their switchboard resource
+///
 transaction {
 
     let exampleTokenVaultCapability: Capability<&{FungibleToken.Receiver}>
     let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
 
+        /* ExampleToken Vault configuration */
+        //
+        // Configure an ExampleToken Vault if needed
+        if signer.storage.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath) == nil {
+            // Create a new ExampleToken Vault and save it in storage
+            signer.storage.save(<-ExampleToken.createEmptyVault(), to: ExampleToken.VaultStoragePath)
+            // Clear existing Capabilities at canonical paths
+            signer.capabilities.unpublish(ExampleToken.VaultPublicPath)
+            signer.capabilities.unpublish(ExampleToken.ReceiverPublicPath)
+            // Issue Vault & Receiver Capabilities
+            let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ExampleToken.VaultStoragePath)
+            let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ExampleToken.VaultStoragePath)
+            // Publish Capabilities
+            signer.capabilities.publish(vaultCap, at: ExampleToken.VaultPublicPath)
+            signer.capabilities.publish(receiverCap, at: ExampleToken.ReceiverPublicPath)
+        }
+        
         // Get the example token vault capability from the signer's account
-        self.exampleTokenVaultCapability = 
-            signer.getCapability<&{FungibleToken.Receiver}>
-                                (ExampleToken.ReceiverPublicPath)
+        self.exampleTokenVaultCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(
+                ExampleToken.ReceiverPublicPath
+            ) ?? panic("Signer does not have a Example Token receiver capability")
         
         // Check if the receiver capability exists
-        assert(self.exampleTokenVaultCapability.check(), 
-            message: "Signer does not have a Example Token receiver capability")
+        assert(
+            self.exampleTokenVaultCapability.check(), 
+            message: "Signer does not have a Example Token receiver capability"
+        )
         
+        /* Switchboard setup */
+        //
+        // Configure .Switchboard if needed
+        if signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(from: FungibleTokenSwitchboard.StoragePath) == nil {
+            // Create a new Switchboard and save it in storage
+            signer.storage.save(<-FungibleTokenSwitchboard.createSwitchboard(), to: FungibleTokenSwitchboard.StoragePath)
+            // Clear existing Capabilities at canonical paths
+            signer.capabilities.unpublish(FungibleTokenSwitchboard.ReceiverPublicPath)
+            signer.capabilities.unpublish(FungibleTokenSwitchboard.PublicPath)
+            // Issue Receiver & Switchboard Capabilities
+            let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(
+                    FungibleTokenSwitchboard.StoragePath
+                )
+            let switchboardPublicCap = signer.capabilities.storage.issue<&{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}>(
+                    FungibleTokenSwitchboard.StoragePath
+                )
+            // Publish Capabilities
+            signer.capabilities.publish(receiverCap, at: FungibleTokenSwitchboard.ReceiverPublicPath)
+            signer.capabilities.publish(switchboardPublicCap, at: FungibleTokenSwitchboard.PublicPath)
+        }
         // Get a reference to the signers switchboard
-        self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
-            (from: FungibleTokenSwitchboard.StoragePath) 
-            ?? panic("Could not borrow reference to switchboard")
+        self.switchboardRef = signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(
+                from: FungibleTokenSwitchboard.StoragePath
+            ) ?? panic("Could not borrow reference to switchboard")
     
     }
 
diff --git a/transactions/switchboard/add_vault_wrapper_capability.cdc b/transactions/switchboard/add_vault_wrapper_capability.cdc
index 936d1cab..99dffa2a 100644
--- a/transactions/switchboard/add_vault_wrapper_capability.cdc
+++ b/transactions/switchboard/add_vault_wrapper_capability.cdc
@@ -2,37 +2,42 @@ import FungibleToken from "FungibleToken"
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
 
-// This transaction is a template for a transaction that
-// could be used by anyone to add a new vault wrapper
-// capability to their switchboard resource
+/// This transaction is a template for a transaction that could be used by anyone to add a new vault wrapper capability
+/// to their switchboard resource
+///
 transaction {
 
     let tokenForwarderCapability: Capability<&{FungibleToken.Receiver}>
     let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Get the token forwarder capability from the signer's account
-        self.tokenForwarderCapability = 
-            signer.getCapability<&{FungibleToken.Receiver}>
-                                (ExampleToken.ReceiverPublicPath)
-        
+        self.tokenForwarderCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(
+                ExampleToken.ReceiverPublicPath
+            )
+
         // Check if the receiver capability exists
-        assert(self.tokenForwarderCapability.check(), 
-            message: "Signer does not have a working fungible token receiver capability")
-        
+        assert(
+            self.tokenForwarderCapability.check(),
+            message: "Signer does not have a working fungible token receiver capability"
+        )
+
         // Get a reference to the signers switchboard
-        self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
-            (from: FungibleTokenSwitchboard.StoragePath) 
-            ?? panic("Could not borrow reference to switchboard")
-    
+        self.switchboardRef = signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(
+                from: FungibleTokenSwitchboard.StoragePath
+            ) ?? panic("Could not borrow reference to switchboard")
+
     }
 
     execute {
 
         // Add the capability to the switchboard using addNewVault method
-        self.switchboardRef.addNewVaultWrapper(capability: self.tokenForwarderCapability, type: Type<@ExampleToken.Vault>())
-    
+        self.switchboardRef.addNewVaultWrapper(
+            capability: self.tokenForwarderCapability,
+            type: Type<@ExampleToken.Vault>()
+        )
+
     }
 
 }
diff --git a/transactions/switchboard/batch_add_vault_capabilities.cdc b/transactions/switchboard/batch_add_vault_capabilities.cdc
index 5f12f5c3..427cf649 100644
--- a/transactions/switchboard/batch_add_vault_capabilities.cdc
+++ b/transactions/switchboard/batch_add_vault_capabilities.cdc
@@ -1,16 +1,16 @@
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
 
-// This transaction is a template for a transaction that could be used by anyone
-// to add several new fungible token vaults, belonging to a certain `Address` to 
-// their switchboard resource.
+/// This transaction is a template for a transaction that could be used by anyone to add several new fungible token
+/// vaults, belonging to a certain `Address` to their switchboard resource.
+///
 transaction (address: Address) {
 
     let exampleTokenVaultPath: PublicPath
     let vaultPaths: [PublicPath]
     let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Get the example token vault path from the contract
         self.exampleTokenVaultPath = ExampleToken.ReceiverPublicPath
@@ -21,17 +21,17 @@ transaction (address: Address) {
         self.vaultPaths.append(self.exampleTokenVaultPath)
       
         // Get a reference to the signers switchboard
-        self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
-                            (from: FungibleTokenSwitchboard.StoragePath) 
-                            ?? panic("Could not borrow reference to switchboard")
+        self.switchboardRef = signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(
+                from: FungibleTokenSwitchboard.StoragePath
+            ) ?? panic("Could not borrow reference to switchboard")
     
     }
 
     execute {
 
-      // Add the capability to the switchboard using addNewVault method
-      self.switchboardRef.addNewVaultsByPath (paths: self.vaultPaths, address: address)
+        // Add the capability to the switchboard using addNewVault method
+        self.switchboardRef.addNewVaultsByPath (paths: self.vaultPaths, address: address)
 
     }
 
-}
\ No newline at end of file
+}
diff --git a/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc b/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
index 3c025f2e..e626d68d 100644
--- a/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
+++ b/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
@@ -1,16 +1,16 @@
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
 
-// This transaction is a template for a transaction that could be used by anyone
-// to add several capabilities that point to fungible token vaults of a different   
-// `Type` and belong to a certain `Address`, to their switchboard resource.
+/// This transaction is a template for a transaction that could be used by anyone to add several capabilities that point
+/// to fungible token vaults of a different `Type` and belong to a certain `Address`, to their switchboard resource.
+///
 transaction (address: Address) {
 
     let vaultPaths: [PublicPath]
     let vaultTypes: [Type]
     let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Store the Example Token receiver's public path in the array of public 
         // paths that will be passed to the switchboard method
@@ -23,17 +23,20 @@ transaction (address: Address) {
         self.vaultTypes.append(Type<@ExampleToken.Vault>())
       
         // Get a reference to the signers switchboard
-        self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
-                                         (from: FungibleTokenSwitchboard.StoragePath) 
-                                ?? panic("Could not borrow reference to switchboard")
+        self.switchboardRef = signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(
+                from: FungibleTokenSwitchboard.StoragePath
+            ) ?? panic("Could not borrow reference to switchboard")
     
     }
 
     execute {
 
-      // Add the capability(ies) to the switchboard using addNewVaultWrappersByPath
-      self.switchboardRef.addNewVaultWrappersByPath(paths: self.vaultPaths, 
-                                            types: self.vaultTypes, address: address)
+        // Add the capability(ies) to the switchboard using addNewVaultWrappersByPath
+        self.switchboardRef.addNewVaultWrappersByPath(
+            paths: self.vaultPaths, 
+            types: self.vaultTypes,
+            address: address
+        )
 
     }
 
diff --git a/transactions/switchboard/remove_vault_capability.cdc b/transactions/switchboard/remove_vault_capability.cdc
index 682061c4..7af656ee 100644
--- a/transactions/switchboard/remove_vault_capability.cdc
+++ b/transactions/switchboard/remove_vault_capability.cdc
@@ -2,33 +2,32 @@ import FungibleToken from "FungibleToken"
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
 
-// This transaction is a template for a transaction that
-// could be used by anyone to remove fungible token vault
-// capability from their switchboard resource
+/// This transaction is a template for a transaction that could be used by anyone to remove fungible token vault
+/// capability from their switchboard resource
+///
 transaction(path: PublicPath) {
 
     let exampleTokenVaultCapabilty: Capability<&{FungibleToken.Receiver}>
     let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
-      // Get the capability from the signer's account
-      self.exampleTokenVaultCapabilty = signer.getCapability
-                    <&{FungibleToken.Receiver}>(path)
-      
-      // Get a reference to the signers switchboard  
-      self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
-        (from: FungibleTokenSwitchboard.StoragePath) 
-          ?? panic("Could not borrow reference to switchboard")
+        // Get the capability from the signer's account
+        self.exampleTokenVaultCapabilty = signer.capabilities.get<&{FungibleToken.Receiver}>(path)
+            ?? panic("Signer does not have Receiver Capability at given path")
+
+        // Get a reference to the signers switchboard
+        self.switchboardRef = signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(
+                from: FungibleTokenSwitchboard.StoragePath
+            ) ?? panic("Could not borrow reference to switchboard")
 
     }
 
     execute {
 
-      // Remove the capability from the switchboard using the 
-      // removeVault method
+      // Remove the capability from the switchboard using the .removeVault() method
       self.switchboardRef.removeVault(capability: self.exampleTokenVaultCapabilty)
-    
+
     }
 
 }
diff --git a/transactions/switchboard/safe_deposit_to_lnf.cdc b/transactions/switchboard/safe_deposit_to_lnf.cdc
deleted file mode 100644
index 30cd364a..00000000
--- a/transactions/switchboard/safe_deposit_to_lnf.cdc
+++ /dev/null
@@ -1,96 +0,0 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import FiatToken from "FiatToken"
-import LostAndFound from "LostAndFound"
-import FlowToken from "FlowToken"
-
-// This transaction templates how to send USDC funds `to` any `Address` without knowing 
-// if it holds a vault of that specific token type. The transaction will attempt to 
-// deposit the funds into the receiver's switchboard, if no capability for routing 
-// that specific FT is found on the switchboard, then it will deposit the funds 
-// into the LostAndFound contract.
-//
-transaction(to: Address, amount: UFix64) {
-    
-    // The reference to the vault from the payer's account
-    let vaultRef: &FiatToken.Vault
-    // The Vault resource that holds the tokens that are being transferred
-    let sentVault: @FungibleToken.Vault
-    // A reference to the signer's flow vault, that will be used for paying the L&F fees 
-    let flowProviderRef: &{FungibleToken.Provider}
-    // A capability to the signer's flow token receiver for recovering the L&F fees
-    let flowReceiver: Capability<&FlowToken.Vault{FungibleToken.Receiver}>?
-
-    prepare(signer: AuthAccount) {
-
-        // Get a reference to the signer's stored vault
-        self.vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)
-			?? panic("Could not borrow reference to the owner's Vault!")
-        // Withdraw tokens from the signer's stored vault
-        self.sentVault <-self.vaultRef.withdraw(amount: amount)
-
-        // Borrow a reference to the signer's flow token provider
-        self.flowProviderRef = signer.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)
-            ?? panic("Could not borrow signer's flow vault provider")
-
-        // Get the capability of the signer's flow token receiver
-        self.flowReceiver = signer.getCapability<&FlowToken.Vault{FungibleToken.Receiver}>(/public/flowTokenReceiver)
-    
-    }
-
-    execute {
-
-        // Get the recipient's public account object
-        let recipient = getAccount(to)
-
-        if let switchboardRef = recipient.getCapability(FungibleTokenSwitchboard.PublicPath)
-            .borrow<&FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic}>() {
-            // Attempt to deposit the USDC funds into the receiver's switchboard 
-            if let notDepositedVault <-switchboardRef.safeDeposit(from: <- self.sentVault.withdraw(amount: amount)) {
-                // If a vault is returned, then their deposit didn't succeed, so we put
-                // the funds into Lost And Found
-                let memo = "Due royalties"
-                let depositEstimate <- LostAndFound.estimateDeposit(redeemer: to, item: <-notDepositedVault, memo: memo, display: nil)
-                let storageFee <- self.flowProviderRef.withdraw(amount: depositEstimate.storageFee)
-                let resource <- depositEstimate.withdraw()
-
-                LostAndFound.deposit(
-                    redeemer: to,
-                    item: <-resource,
-                    memo: memo,
-                    display: nil,
-                    storagePayment: &storageFee as &FungibleToken.Vault,
-                    flowTokenRepayment: self.flowReceiver
-                )
-
-                // Return any remaining storage fees in this vault to the configured
-                // flow receiver
-                self.flowReceiver!.borrow()!.deposit(from: <-storageFee)
-                destroy depositEstimate
-            }
-            destroy self.sentVault
-        } else {
-            // If the user did not had a switchboard we deposit the funds into L&F
-            let memo = "Due royalties"
-            let depositEstimate <- LostAndFound.estimateDeposit(redeemer: to, item: <-self.sentVault, memo: memo, display: nil)
-            let storageFee <- self.flowProviderRef.withdraw(amount: depositEstimate.storageFee)
-            let resource <- depositEstimate.withdraw()
-            LostAndFound.deposit(
-                redeemer: to,
-                item: <-resource,
-                memo: memo,
-                display: nil,
-                storagePayment: &storageFee as &FungibleToken.Vault,
-                flowTokenRepayment: self.flowReceiver
-            )
-            // Return any remaining storage fees in this vault to the configured
-            // flow receiver
-            self.flowReceiver!.borrow()!.deposit(from: <-storageFee)
-            destroy depositEstimate
-
-
-        }
-    }
-
-}
- 
\ No newline at end of file
diff --git a/transactions/switchboard/safe_transfer_tokens.cdc b/transactions/switchboard/safe_transfer_tokens.cdc
index 9ad39e43..7d2e02a8 100644
--- a/transactions/switchboard/safe_transfer_tokens.cdc
+++ b/transactions/switchboard/safe_transfer_tokens.cdc
@@ -9,21 +9,16 @@ import ExampleToken from "ExampleToken"
 // The withdraw amount and the account from getAccount would be the parameters 
 // to the transaction.
 transaction(to: Address, amount: UFix64) {
-    
+
     // The reference to the vault from the payer's account
     let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
-    // The Vault resource that holds the tokens that are being transferred
-    let sentVault: @FungibleToken.Vault
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
-        // Withdraw tokens from the signer's stored vault
-        self.sentVault <-self.vaultRef.withdraw(amount: amount)
-    
     }
 
     execute {
@@ -31,20 +26,21 @@ transaction(to: Address, amount: UFix64) {
         // Get the recipient's public account object
         let recipient = getAccount(to)
 
+        let sentVault <- self.vaultRef.withdraw(amount: amount)
+
         // Get a reference to the recipient's Switchboard Receiver
         let switchboardRef = recipient.getCapability(FungibleTokenSwitchboard.PublicPath)
             .borrow<&FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic}>()
 			?? panic("Could not borrow receiver reference to switchboard!")    
-        
-        // Deposit the funds on the switchboard, if the deposit does not complete
-        // the method will return the funds instead of panicking, so we have to
-        // recover those funds
-        if let notDepositedVault <-switchboardRef.safeDeposit(from: <- self.sentVault.withdraw(amount: amount)){
+
+        // Deposit the funds on the switchboard, if the deposit does not complete the method will return the funds
+        // instead of panicking, so we have to recover those funds
+        if let notDepositedVault <- switchboardRef.safeDeposit(from: <- sentVault.withdraw(amount: amount)){
             self.vaultRef.deposit(from: <-notDepositedVault)
         }
 
         destroy self.sentVault
-    
+
     }
 
 }
diff --git a/transactions/switchboard/safe_transfer_tokens_v2.cdc b/transactions/switchboard/safe_transfer_tokens_v2.cdc
index b129cde5..e53a6a3c 100644
--- a/transactions/switchboard/safe_transfer_tokens_v2.cdc
+++ b/transactions/switchboard/safe_transfer_tokens_v2.cdc
@@ -2,26 +2,21 @@ import FungibleToken from "FungibleToken"
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
 
-// This transaction is a template for a transaction that could be used by anyone 
-// to send tokens to another account through a switchboard using the deposit
-// method but before depositing we will explicitly check whether receiving capability is
-// borrowable or not and if yes then it will deposit the vault to the receiver capability.
+/// This transaction is a template for a transaction that could be used by anyone to send tokens to another account
+/// through a switchboard using the deposit method but before depositing we will explicitly check whether receiving
+/// capability is borrowable or not and if yes then it will deposit the vault to the receiver capability.
+///
 transaction(to: Address, amount: UFix64) {
 
     // The reference to the vault from the payer's account
     let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
-    // The Vault resource that holds the tokens that are being transferred
-    let sentVault: @FungibleToken.Vault
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
-        // Withdraw tokens from the signer's stored vault
-        self.sentVault <-self.vaultRef.withdraw(amount: amount)
-
     }
 
     execute {
@@ -29,17 +24,20 @@ transaction(to: Address, amount: UFix64) {
         // Get the recipient's public account object
         let recipient = getAccount(to)
 
-        // Get a reference to the recipient's Switchboard Receiver
-        let switchboardRef = recipient.getCapability(FungibleTokenSwitchboard.PublicPath)
-            .borrow<&FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic}>()
-			?? panic("Could not borrow receiver reference to switchboard!")    
+        let sentVault <- self.vaultRef.withdraw(amount: amount)
+
+        // Get a reference to the recipient's SwitchboardPublic
+        let switchboardRef = recipient.capabilities.borrow<&{FungibleTokenSwitchboard.SwitchboardPublic}>(
+                FungibleTokenSwitchboard.PublicPath
+            ) ?? panic("Could not borrow receiver reference to switchboard!")    
 
         // Validate the receiving capability by using safeBorrowByType
-        if let receivingRef = switchboardRef.safeBorrowByType(type: Type<@ExampleToken.Vault>()){
-            switchboardRef.deposit(from: <-self.sentVault)
+        if let receivingRef = switchboardRef.safeBorrowByType(type: Type<@ExampleToken.Vault>()) {
+            switchboardRef.deposit(from: <-sentVault)
         } else {
-            destroy self.sentVault
+            // Return funds to signer's account if receiver is not configured to receive the funds
+            self.vaultRef.deposit(from: <-sentVault)
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/transactions/switchboard/setup_account.cdc b/transactions/switchboard/setup_account.cdc
index 533e6135..8787f597 100644
--- a/transactions/switchboard/setup_account.cdc
+++ b/transactions/switchboard/setup_account.cdc
@@ -6,33 +6,37 @@ import FungibleToken from "FungibleToken"
 // receive multiple fungible tokens using a single {FungibleToken.Receiver}
 transaction {
 
-    prepare(acct: AuthAccount) {
+    prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
 
-        // Check if the account already has a Switchboard resource
-        if acct.borrow<&FungibleTokenSwitchboard.Switchboard>
-          (from: FungibleTokenSwitchboard.StoragePath) == nil {
+        // Check if the account already has a Switchboard resource, return early if so
+        if signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(from: FungibleTokenSwitchboard.StoragePath) != nil {
+            return
+        }
             
-            // Create a new Switchboard resource and put it into storage
-            acct.save(
-                <- FungibleTokenSwitchboard.createSwitchboard(), 
-                to: FungibleTokenSwitchboard.StoragePath)
+        // Create a new Switchboard resource and put it into storage
+        signer.storage.save(
+            <- FungibleTokenSwitchboard.createSwitchboard(),
+            to: FungibleTokenSwitchboard.StoragePath
+        )
 
-            // Create a public capability to the Switchboard exposing the deposit
-            // function through the {FungibleToken.Receiver} interface
-            acct.link<&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>(
-                FungibleTokenSwitchboard.ReceiverPublicPath,
-                target: FungibleTokenSwitchboard.StoragePath
-            )
-            
-            // Create a public capability to the Switchboard exposing both the
-            // {FungibleTokenSwitchboard.SwitchboardPublic} and the 
-            // {FungibleToken.Receiver} interfaces
-            acct.link<&FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}>(
-                FungibleTokenSwitchboard.PublicPath,
-                target: FungibleTokenSwitchboard.StoragePath
+        // Clear existing Capabilities at canonical paths
+        signer.capabilities.unpublish(FungibleTokenSwitchboard.ReceiverPublicPath)
+        signer.capabilities.unpublish(FungibleTokenSwitchboard.PublicPath)
+
+        // Create a public capability to the Switchboard exposing the deposit
+        // function through the {FungibleToken.Receiver} interface
+        let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(
+                FungibleTokenSwitchboard.StoragePath
             )
+        signer.capabilities.publish(receiverCap, at: FungibleTokenSwitchboard.ReceiverPublicPath)
         
-        }
+        // Create a public capability to the Switchboard exposing both the
+        // {FungibleTokenSwitchboard.SwitchboardPublic} and the 
+        // {FungibleToken.Receiver} interfaces
+        let switchboardPublicCap = signer.capabilities.storage.issue<&{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}>(
+                FungibleTokenSwitchboard.StoragePath
+            )
+        signer.capabilities.publish(switchboardPublicCap, at: FungibleTokenSwitchboard.PublicPath)
 
     }
 
diff --git a/transactions/switchboard/transfer_tokens.cdc b/transactions/switchboard/transfer_tokens.cdc
index 0682e115..b8b4923e 100644
--- a/transactions/switchboard/transfer_tokens.cdc
+++ b/transactions/switchboard/transfer_tokens.cdc
@@ -1,28 +1,23 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 
-// This transaction is a template for a transaction that
-// could be used by anyone to send tokens to another account
-// through a switchboard, as long as they have set up their
-// switchboard and have add the proper capability to it
-//
-// The address of the receiver account, the amount to transfer
-// and the PublicPath for the generic FT receiver will be the
-// parameters
+/// This transaction is a template for a transaction that could be used by anyone to send tokens to another account
+/// through a switchboard, as long as they have set up their switchboard and have add the proper capability to it
+///
+/// The address of the receiver account, the amount to transfer and the PublicPath for the generic FT receiver will be
+/// the parameters
+///
 transaction(to: Address, amount: UFix64, receiverPath: PublicPath) {
 
-    // The vault resource that holds the tokens that are being transferred
-    let sentVault: @FungibleToken.Vault
+    // The signer's vault to withdraw from
+    let sourceVault: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue) &Account) {
 
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.sourceVault = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
-        // Withdraw tokens from the signer's stored vault
-        self.sentVault <- vaultRef.withdraw(amount: amount)
-    
     }
 
     execute {
@@ -31,14 +26,12 @@ transaction(to: Address, amount: UFix64, receiverPath: PublicPath) {
         let recipient = getAccount(to)
 
         // Get a reference to the recipient's Receiver
-        let receiverRef = recipient
-            .getCapability(receiverPath)
-            .borrow<&{FungibleToken.Receiver}>()
+        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(receiverPath)
 			?? panic("Could not borrow receiver reference to switchboard!")
 
         // Deposit the withdrawn tokens in the recipient's receiver
-        receiverRef.deposit(from: <-self.sentVault)
-    
+        receiverRef.deposit(from: <-self.sourceVault.withdraw(amount: amount))
+
     }
 
 }

From b10b7b5c82496e19f8dad25bc0c76a77e6c1b662 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 18:01:40 -0500
Subject: [PATCH 051/115] update ExampleToken-v2 Cadence tests

---
 tests/example_token_tests.cdc | 99 +++++++++++++++++------------------
 1 file changed, 49 insertions(+), 50 deletions(-)

diff --git a/tests/example_token_tests.cdc b/tests/example_token_tests.cdc
index 6ef8783b..a1d96f5b 100644
--- a/tests/example_token_tests.cdc
+++ b/tests/example_token_tests.cdc
@@ -1,42 +1,41 @@
 import Test
-
-pub let blockchain = Test.newEmulatorBlockchain()
-pub let admin = blockchain.createAccount()
-pub let recipient = blockchain.createAccount()
-
-pub fun setup() {
-    blockchain.useConfiguration(Test.Configuration({
-        "FungibleTokenMetadataViews": admin.address,
-        "ExampleToken": admin.address
-    }))
-
-    var code = Test.readFile("../contracts/FungibleTokenMetadataViews.cdc")
-    var err = blockchain.deployContract(
-        name: "FungibleTokenMetadataViews",
-        code: code,
-        account: admin,
-        arguments: []
+import "test_helpers.cdc"
+
+// access(all) let blockchain = Test.newEmulatorBlockchain()
+access(all) let admin = blockchain.createAccount()
+access(all) let recipient = blockchain.createAccount()
+
+access(all) fun setup() {
+    blockchain.useConfiguration(
+        Test.Configuration(
+            addresses: {
+                "ViewResolver": admin.address,
+                "FungibleToken": admin.address,
+                "NonFungibleToken": admin.address,
+                "MetadataViews": admin.address,
+                "FungibleTokenMetadataViews": admin.address,
+                "ExampleToken": admin.address
+            }
+        )
     )
-    Test.expect(err, Test.beNil())
 
-    code = Test.readFile("../contracts/ExampleToken.cdc")
-    err = blockchain.deployContract(
-        name: "ExampleToken",
-        code: code,
-        account: admin,
-        arguments: []
-    )
-
-    Test.expect(err, Test.beNil())
+    deploy("ViewResolver", admin, "../contracts/utility/ViewResolver.cdc")
+    deploy("FungibleToken", admin, "../contracts/FungibleToken-v2.cdc")
+    deploy("NonFungibleToken", admin, "../contracts/utility/NonFungibleToken.cdc")
+    deploy("MetadataViews", admin, "../contracts/utility/MetadataViews.cdc")
+    deploy("FungibleTokenMetadataViews", admin, "../contracts/FungibleTokenMetadataViews.cdc")
+    deploy("ExampleToken", admin, "../contracts/ExampleToken-v2.cdc")
 }
 
-pub fun testTokensInitializedEventEmitted() {
-    let typ = CompositeType("A.01cf0e2f2f715450.ExampleToken.TokensInitialized")!
-
+access(all) fun testTokensInitializedEventEmitted() {
+    let addrString = admin.address.toString()
+    let identifier = "A.".concat(addrString.slice(from: 2, upTo: addrString.length)).concat(".").concat("ExampleToken").concat(".").concat("TokensInitialized")
+    let typ = CompositeType(identifier)
+        ?? panic("Problem constructing CompositeType")
     Test.assertEqual(1, blockchain.eventsOfType(typ).length)
 }
 
-pub fun testGetTotalSupply() {
+access(all) fun testGetTotalSupply() {
     let code = Test.readFile("../transactions/scripts/get_supply.cdc")
     let scriptResult = blockchain.executeScript(code, [])
 
@@ -46,7 +45,7 @@ pub fun testGetTotalSupply() {
     Test.assertEqual(1000.0, totalSupply)
 }
 
-pub fun testGetAdminBalance() {
+access(all) fun testGetAdminBalance() {
     let code = Test.readFile("../transactions/scripts/get_balance.cdc")
     let scriptResult = blockchain.executeScript(
         code,
@@ -59,7 +58,7 @@ pub fun testGetAdminBalance() {
     Test.assertEqual(1000.0, balance)
 }
 
-pub fun testSetupAccount() {
+access(all) fun testSetupAccount() {
     var code = Test.readFile("../transactions/setup_account.cdc")
     let tx = Test.Transaction(
         code: code,
@@ -84,7 +83,7 @@ pub fun testSetupAccount() {
     Test.assertEqual(0.0, balance)
 }
 
-pub fun testMintTokens() {
+access(all) fun testMintTokens() {
     var code = Test.readFile("../transactions/mint_tokens.cdc")
     let tx = Test.Transaction(
         code: code,
@@ -97,13 +96,13 @@ pub fun testMintTokens() {
     Test.expect(txResult, Test.beSucceeded())
 
     // Test that the proper events were emitted
-    var typ = CompositeType("A.01cf0e2f2f715450.ExampleToken.TokensMinted")!
+    var typ = CompositeType(buildTypeIdentifier(admin, "ExampleToken", "TokensMinted"))!
     Test.assertEqual(1, blockchain.eventsOfType(typ).length)
 
-    typ = CompositeType("A.01cf0e2f2f715450.ExampleToken.MinterCreated")!
+    typ = CompositeType(buildTypeIdentifier(admin, "ExampleToken", "MinterCreated"))!
     Test.assertEqual(1, blockchain.eventsOfType(typ).length)
 
-    typ = CompositeType("A.01cf0e2f2f715450.ExampleToken.TokensDeposited")!
+    typ = CompositeType(buildTypeIdentifier(admin, "ExampleToken", "TokensDeposited"))!
     Test.assertEqual(1, blockchain.eventsOfType(typ).length)
 
     // Test that the totalSupply increased by the amount of minted tokens
@@ -116,7 +115,7 @@ pub fun testMintTokens() {
     Test.assertEqual(1250.0, totalSupply)
 }
 
-pub fun testTransferTokens() {
+access(all) fun testTransferTokens() {
     var code = Test.readFile("../transactions/transfer_tokens.cdc")
     let tx = Test.Transaction(
         code: code,
@@ -128,10 +127,10 @@ pub fun testTransferTokens() {
 
     Test.expect(txResult, Test.beSucceeded())
 
-    var typ = CompositeType("A.01cf0e2f2f715450.ExampleToken.TokensDeposited")!
+    var typ = CompositeType(buildTypeIdentifier(admin, "ExampleToken", "TokensDeposited"))!
     Test.assertEqual(2, blockchain.eventsOfType(typ).length)
 
-    typ = CompositeType("A.01cf0e2f2f715450.ExampleToken.TokensWithdrawn")!
+    typ = CompositeType(buildTypeIdentifier(admin, "ExampleToken", "TokensWithdrawn"))!
     Test.assertEqual(1, blockchain.eventsOfType(typ).length)
 
     code = Test.readFile("../transactions/scripts/get_balance.cdc")
@@ -159,7 +158,7 @@ pub fun testTransferTokens() {
     Test.assertEqual(1050.0, balance)
 }
 
-pub fun testTransferTokenAmountGreaterThanBalance() {
+access(all) fun testTransferTokenAmountGreaterThanBalance() {
     var code = Test.readFile("../transactions/transfer_tokens.cdc")
     let tx = Test.Transaction(
         code: code,
@@ -176,7 +175,7 @@ pub fun testTransferTokenAmountGreaterThanBalance() {
     )
 }
 
-pub fun testBurnTokens() {
+access(all) fun testBurnTokens() {
     var code = Test.readFile("../transactions/burn_tokens.cdc")
     let tx = Test.Transaction(
         code: code,
@@ -188,10 +187,10 @@ pub fun testBurnTokens() {
 
     Test.expect(txResult, Test.beSucceeded())
 
-    var typ = CompositeType("A.01cf0e2f2f715450.ExampleToken.BurnerCreated")!
-    Test.assertEqual(1, blockchain.eventsOfType(typ).length)
+    // var typ = CompositeType(buildTypeIdentifier(admin, "ExampleToken", "BurnerCreated"))!
+    // Test.assertEqual(1, blockchain.eventsOfType(typ).length)
 
-    typ = CompositeType("A.01cf0e2f2f715450.ExampleToken.TokensBurned")!
+    var typ = CompositeType(buildTypeIdentifier(admin, "FungibleToken", "Burrn"))!
     Test.assertEqual(1, blockchain.eventsOfType(typ).length)
 
     code = Test.readFile("../transactions/scripts/get_balance.cdc")
@@ -207,7 +206,7 @@ pub fun testBurnTokens() {
     Test.assertEqual(1000.0, balance)
 }
 
-pub fun testVaultTypes() {
+access(all) fun testVaultTypes() {
     let code = Test.readFile("./scripts/get_views.cdc")
     let scriptResult = blockchain.executeScript(code, [recipient.address])
 
@@ -216,28 +215,28 @@ pub fun testVaultTypes() {
     Test.expect(scriptResult, Test.beSucceeded())
 }
 
-pub fun testGetVaultDisplay() {
+access(all) fun testGetVaultDisplay() {
     let code = Test.readFile("./scripts/get_vault_display.cdc")
     let scriptResult = blockchain.executeScript(code, [recipient.address])
 
     Test.expect(scriptResult, Test.beSucceeded())
 }
 
-pub fun testGetVaultData() {
+access(all) fun testGetVaultData() {
     let code = Test.readFile("./scripts/get_vault_data.cdc")
     let scriptResult = blockchain.executeScript(code, [recipient.address])
 
     Test.expect(scriptResult, Test.beSucceeded())
 }
 
-pub fun testGetTokenMetadata() {
+access(all) fun testGetTokenMetadata() {
     let code = Test.readFile("./scripts/get_token_metadata.cdc")
     let scriptResult = blockchain.executeScript(code, [recipient.address])
 
     Test.expect(scriptResult, Test.beSucceeded())
 }
 
-pub fun testGetUnsupportedViewType() {
+access(all) fun testGetUnsupportedViewType() {
     let code = Test.readFile("./scripts/get_unsupported_view.cdc")
     let scriptResult = blockchain.executeScript(code, [recipient.address])
 

From 643745887cc13b65e7979477ec3fe74c76af72a3 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 18:01:56 -0500
Subject: [PATCH 052/115] update go assets

---
 lib/go/contracts/internal/assets/assets.go | 18 +++++++++---------
 lib/go/templates/internal/assets/assets.go | 12 ++++++------
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index c5767116..bb86caeb 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,14 +1,14 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (12.555kB)
+// ../../../contracts/ExampleToken-v2.cdc (12.557kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
-// ../../../contracts/FungibleToken-v2.cdc (10.649kB)
+// ../../../contracts/FungibleToken-v2.cdc (10.622kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (26.648kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (13.347kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (13.341kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.699kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.29kB)
 // ../../../contracts/utility/ViewResolver.cdc (1.749kB)
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x5b\x72\x7a\xc9\xb6\x1a\x3b\xae\x9b\xc4\xbb\x3b\xd3\x4e\x33\x89\x9a\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x1d\xdc\x48\x80\x17\x59\x91\xf3\xb4\x7a\xb1\x49\xe2\x1c\x9c\xfb\x0d\xa0\x45\xc9\x85\x82\x9b\x8a\xad\xe8\x32\xc7\x05\xff\x8c\x0c\x32\xc1\x0b\x18\x45\xef\x46\x27\x6e\xe5\xef\xa8\x48\x4a\x14\x79\x47\x71\x2b\xdd\xca\xe8\x5d\xbd\x32\x82\xef\x03\x1b\x5e\xd0\xec\x56\xe5\x8a\x96\x39\xbe\x23\x55\xae\xea\xed\xa2\x97\xf5\x5a\x0d\xf9\x06\x25\xcf\x37\x28\xdc\xca\xf0\xd5\xe8\xe4\x84\x24\x09\x4a\x39\x26\x79\x3e\x81\x84\x33\x25\x48\xa2\xe0\xd5\x2d\x29\x4a\x47\xc4\x3c\x46\x72\x77\x72\x02\x00\x30\x9b\xcd\x60\xb1\x46\xc0\x0d\x32\x05\x6a\x4d\x14\x50\x09\x58\x50\xa5\x30\x85\xed\x1a\x19\x30\xdc\x82\xd2\x18\x24\x10\x81\x50\x50\xa6\x30\x35\xc0\xe1\x9e\x16\x81\xd9\x49\xfe\x6e\x96\x8c\x49\xc1\x2b\xa6\xe6\xf0\xe7\x0d\xbd\x7d\xf6\xc3\x29\xa8\x5d\x89\x73\x78\xab\x04\x65\xab\x49\xb0\x3d\x57\x24\x07\x59\x95\x65\xbe\x03\x9e\x45\x44\x4b\xa0\x0c\xf0\x96\x4a\x85\x2c\xc1\xce\xa6\x1b\x22\x40\x69\xf0\xb7\x06\xda\x6f\xd5\xe0\xbe\x4e\x0b\xca\xe0\x35\x51\xeb\x0e\x6c\x8e\xca\x7e\x7e\xab\xb8\x20\x2b\xd4\x8b\x34\x75\xf5\x43\x83\xe5\x4f\x89\xc2\x20\x91\xbd\x58\x8c\xae\x06\xb1\x0c\x42\xbc\xae\x96\x39\x4d\x2c\x40\xf3\x7f\xef\xfa\x37\x98\x20\xdd\xa0\x18\x00\xa9\x09\xbd\xa9\x58\xa2\x28\x67\xa0\x38\x08\x54\x95\x60\xa0\xd6\x68\x04\x2f\xad\x72\xf5\x63\x6d\x1e\x54\xcb\xb9\x40\xa6\xba\x7c\x6d\x28\x6e\x21\xab\x18\xac\x50\x19\x6a\x17\x1a\xc7\x78\x32\x87\xf7\xfa\xbf\x0f\x70\x67\x40\xf4\x4f\x13\xa8\x77\xb8\x16\x82\xec\xea\xef\x97\xf6\x9f\x8b\x5f\x42\x75\x4e\x0d\xaa\xe7\xe3\xc9\x87\x1a\xda\x93\xe9\x11\x98\x0f\xf7\x27\xfb\x09\xd2\x7e\x34\x48\xcb\x46\xef\xf1\x06\x33\xb8\x04\x89\x79\x36\x25\x49\xa2\xed\x70\x9a\x90\x92\x2c\x69\x4e\x15\x45\x39\x5d\x72\x21\xf8\xf6\xe2\x9b\x3e\xea\x66\xa5\x11\xed\x0c\x83\x6f\xe6\xd3\xa4\xde\x47\xff\xae\xae\xa0\x24\x8c\x26\xe3\xd1\x0b\x5e\xe5\x29\x30\xae\xc0\xa2\x05\x02\x02\x33\x14\xda\x66\xb5\x2a\xb4\xd0\x0d\x55\x20\xbc\xc3\x36\xa8\xda\x92\xf0\xe4\x4f\x1b\x46\x87\x64\xa2\xc5\xe1\x30\xea\x95\xe3\x8f\x46\x4a\x73\xd0\x52\x99\xcc\xe1\x9a\xed\xde\x2a\x51\x25\xea\xea\x7f\x54\x42\x21\xef\x9a\xf3\x48\x50\xda\x1f\x0c\x4d\xfe\xa9\x7e\xfb\x8a\x24\x6b\xa8\xb4\x4f\x4b\xc5\x05\x4a\x20\x0c\x28\x93\x8a\x68\x62\x78\x06\x9c\xe5\x3b\x43\x91\x01\xd7\x11\x48\xad\x91\xda\xd5\x64\x85\x51\xdc\xcc\x9c\xc7\x49\xb7\xcc\xc1\x10\x96\xc2\x8a\x6f\x50\x30\x4c\x61\x69\xb1\x95\x02\xcd\xfb\x92\x4b\xa5\x7d\x30\xa5\x06\xb0\x46\x47\x59\x2b\x55\x99\xe8\xab\xd6\xb8\x33\x71\x37\x21\x79\x8e\xe9\x34\xda\x3d\x59\x63\xf2\x59\xc2\x9a\x94\x25\x32\x20\x0a\x44\xc5\x14\x2d\xd0\x80\xa2\x0e\xf3\xa4\xa6\x50\xc7\xf5\x16\x8e\x1a\x97\xce\x0a\x95\x48\x50\xaf\x60\x96\xff\x25\x42\x22\x90\xe8\x2c\xe0\x38\xd3\x61\x03\x6f\x95\x96\x50\x14\x45\x7c\x5c\xd9\xd5\xe8\x34\xb9\x29\x66\x94\x19\xe0\x53\x90\x46\xc1\x02\x35\x09\x8c\xc3\x96\xec\x20\xe3\x9a\xb6\x82\xe4\x34\xa1\xbc\x92\x56\x1d\x8a\xbb\x3d\xad\x14\x1b\xd1\xf0\xca\x6d\x4b\x19\x10\x2a\xa6\x70\x0d\xb2\xc4\x84\x92\x1c\x4c\xae\x11\xc6\x6c\x34\x07\xc0\x10\x53\xa9\x31\x2d\x1b\x1a\x14\x37\x59\xab\x46\xd7\x64\xb4\x58\x14\xa1\x6f\xd5\x08\x0d\x29\xf3\x58\x35\xd6\x0f\x7c\x0e\x0d\x35\x62\xb2\x11\x2c\x49\xee\x8d\x49\xad\xa9\xb4\x16\x5b\xaf\x6d\x67\x30\xb7\x3a\xce\x5e\xc1\x42\xed\xa3\x76\xa5\xdc\x97\x64\x7a\x21\xca\xe1\x24\xd3\xbb\x5e\xf8\x4c\xd3\x9b\x63\x1a\x7b\xd1\x8e\x28\x8d\x1d\x38\x9a\xa0\x24\x6a\xad\xed\x4e\x60\xe0\xcd\x72\x6d\x1c\x5f\xed\x4a\xaa\x6d\xcf\x98\x95\x71\xba\xb4\x5f\x1a\x41\x90\x7f\x89\x59\x2b\xaf\xea\x88\x1f\x3c\x86\x51\x2d\x88\x0e\x26\xa2\xc9\x1e\xd9\xdc\x0f\xf3\x60\xa5\x14\xb3\xe0\xd5\xe6\x79\x58\x93\x0d\x02\xf1\x4b\xeb\x50\xb9\x3b\x94\x91\x46\x96\x9a\x8f\xe6\x69\x1f\x1b\x65\x57\x63\x47\x72\xf1\xff\xb2\x2e\x22\xbe\x16\x43\x6f\x02\x53\x39\x9c\xa5\xd0\xc0\xfa\x98\xfa\xf2\x9c\x1f\xec\xf0\x3e\x7a\xa9\x7f\xa6\x06\x19\x2e\xc6\xa7\x37\x0b\xfd\xf7\xf9\x78\x72\x7a\x04\xe8\x4b\x2a\xcb\x9c\xec\x8e\x84\x36\x31\xe4\x25\x51\xe4\x28\xf8\x45\x53\xf6\x3e\x1f\xc7\x69\xf7\xc3\x43\x72\x3d\xa6\x6e\xd0\x3f\xb9\xa5\x2a\x59\x5b\xb5\xdc\x75\x28\x4e\x88\xc4\xc3\xe5\x3d\xef\xc0\x07\x7a\x7c\x10\xc1\xb8\x17\x5a\xff\x32\xe5\xb4\x32\xf7\xf6\xd6\xf0\xf9\x25\x1a\x9d\x00\x91\x4f\xf6\x13\xe2\x16\x5f\x75\x95\xd7\x10\x53\x2b\xf9\x28\x72\x42\x13\x39\x80\xa0\x7a\xf9\x55\x2f\x45\x93\x63\x55\xd6\x48\xa5\x5f\x6b\xba\xa6\x2c\x30\xa5\x04\x2e\xe3\x1e\x7a\xfa\xbb\x7e\x3b\xac\x2c\x23\x23\x9a\xe3\xbc\x05\xf6\xaf\xc5\xe2\xf5\x0d\xcd\x71\x3f\x64\x25\xf2\x39\x8c\xd6\x4a\x95\x72\x3e\x9b\x11\x29\x51\xc9\xe9\x16\x97\x92\x2a\x3c\xd3\x68\xe5\x34\xe1\xc5\xec\xc7\xec\xd9\x77\x3f\xff\x90\x9c\x27\xff\x20\x3f\x25\x69\xfa\xec\x87\xef\x97\x4f\x93\x9f\xbe\x3b\x6f\x7d\x20\x3f\xfe\x98\x2c\x9f\x26\x3f\x7f\xff\xec\xe3\x4d\xce\xb7\x1f\xff\xe2\x22\x2d\x88\xf8\x3c\x95\x9b\xd5\x68\x90\x8e\x1e\xcf\xf5\x3f\x23\x91\x85\xe9\x79\x47\xb4\x20\x2b\x9c\xc9\xcd\xea\xdb\xdb\x22\xef\xc7\xd6\xd5\x4e\x24\x5a\xd9\x2f\x5b\x39\x7e\x6f\x3e\x7f\xe8\x07\x3f\xc4\x9f\x9c\x76\x87\x65\xcd\x48\xa1\x79\x70\x8d\x40\x8d\xcc\x36\xfb\xa3\x61\x01\xc8\x5d\xb1\xe4\x5a\x45\xaf\x6e\x16\x7b\x96\xa5\x28\x13\x41\x4b\x5d\xa3\xce\x61\xb4\xd0\x29\x2b\xf3\x5b\x98\x2a\x4d\x97\x8d\x95\xc4\x14\x88\x29\xd5\x5d\xd3\xa1\xab\xba\x35\xe6\x25\xec\x78\x05\x29\x6e\x30\xe7\xe6\x7f\x01\x4c\x57\xa9\x37\x0b\xf8\x3f\xce\xb4\x26\xa7\x7b\xf6\xc6\x5b\x85\x82\x91\xfc\xcf\x37\xbf\xb5\x6d\xf0\x55\xf3\x69\x5c\x1b\x99\xdb\xfb\x2c\x53\x53\xce\x32\x8d\x9c\x8b\xd5\x68\x8f\x11\xe4\x7c\xc5\xe5\xdc\xa9\x70\x8f\xa8\xb8\x2e\x66\xe5\xbc\x27\xac\x86\xbf\x91\xda\x52\xa5\x50\x8c\x0e\x22\xd6\x2d\x36\x4e\xa0\x69\xfd\xb8\xcc\x79\xf2\x39\x59\x13\xca\x46\xfd\xe6\x02\x26\x67\xf4\xbd\x3d\x3a\x76\x84\x21\x6c\x38\x7a\x04\x1d\x69\xd4\x6f\xfa\xce\xd4\xd5\x73\x7b\x9b\xd2\x4c\xf0\x62\xde\x29\xff\x86\x19\xfd\xb2\xee\xd4\x56\xad\x96\xd0\x01\xe9\x1d\x94\xbc\xbc\x38\x86\xdd\x2d\x2a\xf2\xdb\xec\x0c\x9b\x50\x5c\xb9\x77\x6a\xad\x7d\x71\xca\x92\x18\x00\x36\x75\xe7\x30\x58\x29\xf8\x86\xa6\x7e\xbf\x59\x29\xe8\x86\x28\xec\x8e\x04\x1e\xa6\xf8\x37\xca\x3e\x63\x6a\x23\xa5\x31\xa8\x5e\xf5\xee\x8d\xb4\x96\x83\x47\x23\xf2\x3c\x3d\x1a\x91\x6d\x63\x5f\x15\xa5\xda\x99\xc5\x7e\x30\x37\x87\x71\x56\x31\x5d\xc6\xfe\x72\xd7\xd3\x51\xde\x3f\xe0\xff\xce\xc2\x2e\xce\xea\x11\x48\x7b\xa3\xf1\x1e\xc7\xee\xff\x74\xa4\x67\xc7\xf5\xe7\xb1\xd5\x5c\x80\x65\xd8\x21\xa2\x09\x6f\xa4\x88\xe0\xcb\x01\xbc\xdd\xf7\xb5\x0c\x8c\xe6\x43\xbd\xd5\x0a\x95\xc6\xcd\x85\xc2\xb4\x99\x81\x02\x37\xa9\xca\x74\xb3\xc2\x75\x5f\x04\x72\x2a\xcd\x88\xc2\xb6\x8c\xd1\xc0\x95\xca\xda\xd2\x4d\x15\x5e\xba\xc1\x06\xec\xe9\x76\x7a\xf6\xd5\x46\x73\x67\x4d\xf2\x57\xce\xf3\xb6\xa9\xe8\x28\x2a\x3d\x94\x01\x68\x2d\xbf\x84\xbb\x58\x00\xf1\xea\xf7\xc6\xf1\x57\x68\x36\x1b\x4f\x3e\xc0\x25\x28\x51\x61\x6f\x1f\x17\x01\x1e\xdc\xc4\x51\xd9\xe5\x6a\xac\x6a\x1f\x9b\x58\x42\xf7\xb4\x8e\x43\x72\x79\xaf\x4c\x47\x78\x75\x05\x19\xc9\x25\xf6\xab\x13\x28\xa3\x8a\x92\x9c\xfe\x6d\xe7\x13\x7e\x44\x43\x54\x33\xea\x31\xce\x64\xc6\xe7\xb4\x68\xd0\x68\xc0\x71\x6b\x46\x33\x69\x77\x46\x9a\x3e\x8f\xf2\xd2\x23\xef\x28\x88\xa6\xc8\x14\xcd\x28\x0a\xb8\x84\x51\x27\x54\x8e\xba\x38\x83\xd0\x0f\x97\xe1\xf4\x63\xdc\xe0\x9a\x07\x78\x27\x4f\xba\x38\x9a\x68\x0e\x97\x41\x97\xfe\x05\x18\xc2\x44\x32\x8c\x23\x62\xc8\x4f\x07\x46\x01\xbe\x96\x7f\xfd\x13\x55\xa4\x0a\x37\x58\xdc\x33\x2c\x0b\x3c\xe4\x57\x0b\xa4\xbd\xc2\xaa\x64\x8f\xe1\xb4\xd5\xd1\xa2\x63\x4b\xd5\x3a\x15\x64\x1b\xbe\x8c\x16\x34\xc7\x2a\xc6\xa3\xc9\x67\x3b\x33\xb6\xe7\x5b\xae\x2a\x25\x62\x55\x15\xc8\x54\x04\x48\x58\x5a\x63\x77\xf1\xc0\x01\x99\x33\xbc\x7a\x5e\x3c\x1d\xdc\xfa\xdf\xca\xe5\x12\x1d\x64\xcc\xdc\x12\x8b\x92\x0b\x22\x76\x6e\xd2\xec\x8f\xec\x4c\x81\xac\x4b\x62\x9e\xa7\x11\x06\x73\x00\x64\xcf\xd2\x2c\x01\x02\x61\x89\x94\xad\x40\x09\xc2\x64\x86\x42\x60\x3a\xd5\x1b\x89\x60\x96\xc4\x70\x1b\xc4\x54\x8d\xc7\x4f\x83\xdd\xb6\x3c\x9a\x09\x1b\xcc\x76\xba\x0c\x92\x03\x55\x66\x90\x6c\x46\xb0\x25\xd7\xfd\x58\x4c\x13\xe6\x12\xcd\x84\xaa\x9f\x71\xa7\xf3\x38\x41\xfe\xe5\xe4\x48\x96\x39\xda\x11\x86\x97\x6c\xeb\xa0\x51\x27\xd7\x6e\xba\xde\xef\xb0\xd1\xe3\x99\x53\x52\x9f\x3d\x5d\x9c\x85\x13\xea\x26\x2c\x58\x88\xc9\x90\x89\x39\x31\x7c\x99\x85\x39\x51\xf3\xe5\x7f\x30\x69\x9b\x99\x31\x2d\x92\xa6\x32\x42\x43\x95\xac\xbd\xc9\x69\xa8\xe5\x5c\x7c\xcb\x50\xc8\x03\xac\x8e\x4a\x20\x79\xce\xb7\xd6\xaa\x52\x94\x4a\x70\x7b\x8e\x21\xf5\xf6\x96\xb4\x25\x26\xa4\x92\xd8\x18\x72\xec\x57\x9a\xe4\xc0\x60\xb5\x69\xa2\xf0\x94\xb8\x01\xbc\x99\x9a\xbf\x73\x23\x4a\x4f\xec\x9a\xc4\x7c\x2d\x11\x99\xb6\x35\x59\x15\xba\x0d\x64\xa9\x3d\x4f\xc8\xb8\x39\x17\x71\x86\x66\x28\xf4\xa7\x1b\x03\x26\x55\x8f\xbf\x9c\x42\x5c\xd3\xd0\x5f\x8c\xb5\x83\x7c\xdd\xa8\xc0\xc5\x99\x75\x60\x22\x9f\xf4\xd9\xda\xc1\x96\xf6\xad\xc5\xd7\x09\x50\xfa\x17\x7d\x81\x4b\x38\x9f\x9e\x47\xdf\xbd\x4a\xe2\x70\xd9\x4d\xc2\x0f\x79\x91\x8f\x02\x9d\xe3\x7a\x1f\xf4\xe7\xf0\xa2\x9e\x0d\x5f\x7c\xd3\x92\x94\x0f\xf3\xf7\xcf\xfb\xa4\xe5\x71\xbf\xf3\x52\x33\xdc\x77\xfc\xd6\x3b\x4f\x04\xef\x12\x44\x4f\x2b\x26\x30\xa1\x25\x45\x16\x0e\xb5\x3b\x5b\x7b\xea\x6d\x53\xe9\x9f\x5c\x03\xd9\x53\x25\xef\xe9\x06\xeb\xea\x6d\x2f\x25\xef\x5c\x67\xd8\x66\xe2\xa5\xb5\x34\xb3\xde\x73\xce\x7c\x44\x76\x47\x6b\x21\x1e\xd1\xc7\x51\xc0\xcd\x34\x36\xdd\x8b\xb3\x48\xc8\x83\x11\xa8\xdd\x28\x1c\x18\x8a\xe2\xe4\x63\xf5\xa8\xb9\x00\x12\x46\x96\xbf\x51\xf0\x4e\xe2\xf3\xe9\x84\x36\xd9\x82\xe4\xb9\x4e\x3c\x2e\x6b\x4c\xe1\xda\x9e\xfb\x15\x95\xb4\xd9\xc3\x56\xcb\xfe\xc4\xb2\x83\xd1\xf4\xe0\x4e\x60\x1a\x77\x9d\x8d\xda\x47\xb4\xfa\x05\x17\xa9\x3d\x52\x34\x61\xcc\x7e\x8f\x31\xda\xd9\x82\x3b\x2b\x24\x76\xdc\xe4\x25\xed\x03\x84\xac\xcf\xf0\xec\x28\x4a\x97\x9a\x87\x45\x98\x6e\x67\x76\x48\x5e\x7a\x20\xcd\x9c\x4f\xcf\x07\x34\x0c\x8b\x3f\x5e\xfe\x31\x87\x37\xb8\xa1\xda\xda\x68\x06\x02\x0b\xbe\x21\xb9\x66\x20\xa9\xa4\xe2\x85\x0d\x19\x55\xa2\xb8\x90\x50\x12\x29\x31\x8c\xb2\xf0\x16\x11\xfc\xe8\x68\x45\xd5\xba\x5a\x9a\xc9\x91\x9d\x73\xcd\xb2\x9c\x96\x72\x56\x56\x79\x3e\x7b\xfa\xfd\xd3\x1a\xce\x45\xa1\x71\xdb\xfb\x69\x16\x47\xba\xe7\x9a\xf4\x9e\xee\x76\xa8\x9d\x6b\x0f\x82\xc2\x4f\x67\xfd\x55\x1d\x44\x2d\x9e\xfd\x2f\xb8\x0b\x60\x0f\x8a\x4f\x60\xe0\xe8\xdb\xa7\x59\x9b\x80\x8d\xae\x89\xb9\x3c\xe4\xcc\xc4\x1e\x8d\xeb\x14\xe6\x8f\x93\xbf\xec\x18\xd9\x9d\x53\xdf\x45\x26\xa8\xd1\xd8\x7b\x4e\x07\xba\xa3\x06\x90\xc1\xc6\xa7\xa6\x06\xd0\xc6\x5d\x78\x27\x53\xc1\x75\xaa\xd3\x41\xa7\x0c\x21\xda\x6e\x79\x90\x79\x37\xa4\x1f\x53\x7e\x95\x02\x7b\x8c\xc1\xd5\xc6\xc6\x56\xe6\x30\xba\xb6\x8f\xf6\xc2\x99\x0d\x12\x4b\x84\x95\x71\x0c\xa1\xe5\xc1\x4c\xe0\x19\xed\x69\xf2\x8f\x31\xaf\x6f\xfb\xca\x3f\x2c\xe8\xc0\xed\x36\xfb\xd7\xdf\x6e\x8b\xbb\xe8\x69\xd0\x56\x3d\xae\x9a\x6c\x19\x73\x6f\x34\x0f\xcd\xfa\x51\x51\xfc\xeb\x46\xf0\xaf\x1b\xbd\xbf\x42\xe4\xee\xf3\xd3\xe3\x22\x76\xad\x46\x78\x20\x5c\xdf\xf7\xdd\xd1\xd3\x9a\x71\xf1\xb3\xa9\xf6\xfd\x45\xa4\x53\xc0\x2c\xc3\x44\xd1\x0d\xe6\x3b\x58\x56\x82\x99\x96\xad\x29\x9c\x3b\x2a\xff\xa5\x24\x82\x14\x60\xcb\x82\xba\xaa\x0e\xa6\x1b\x9c\x29\x42\x5b\x68\x8c\x0c\x2b\xc1\x5a\xd8\x1e\x91\x4d\x8e\xc9\x24\x6d\x4d\x68\x8a\x5c\x70\x71\x05\x7a\x57\x0d\x61\xc6\xf1\xb5\xb0\x5e\x1c\xca\xdb\x8c\x6e\xc2\x85\xc6\x3d\xe3\x38\xf0\xf4\xfc\x5c\x97\xd6\xf1\x92\xf6\xc5\x50\xb8\x84\x99\xb3\xce\x68\xc2\x6d\xef\x97\x46\x79\xf8\x85\xb5\x84\xe6\x2e\x98\x71\xb4\x76\x64\x36\xc6\xe9\x2e\xd5\x6a\xdf\x20\x1b\xd4\x6e\x46\x59\x74\xcb\xcc\xa2\xac\xff\x8d\x1a\x90\x7e\x8b\x6b\x33\x38\x89\xf9\x6a\x5f\x55\x85\x4b\xd7\x67\x0c\x5c\xb8\x79\xd2\x03\xfe\x3a\x1c\x27\xb5\xa1\xc3\x5b\x2e\x2d\xe0\xee\x25\xd6\x1e\xf8\xf8\x52\x49\x0b\x43\xfb\x34\x48\x4b\x6d\xec\x86\xe1\xa7\xa0\xf8\xbc\x9f\xc9\x49\x9f\x7e\x7a\x2e\xbe\xb4\x8e\x7a\x82\xf9\x0a\xde\x96\xbc\x55\x2d\xe9\x85\x9f\x5c\xa8\xf9\x04\x05\xaa\x35\xb7\x9d\xe9\x0a\xd5\xb5\x99\xf2\xba\xf9\xa8\xff\xa6\xd6\x82\x57\x2b\x6b\x09\x9f\x3c\x9b\x9f\xc0\x94\x05\x19\x49\x42\x85\xfb\x0e\x17\x3e\x85\x83\xae\x4f\xbd\x98\xdc\xe7\x7e\x44\x91\xe5\x84\x76\xfb\x82\x94\x7b\x2f\x7f\x7a\x09\x53\x29\x2b\xec\x34\x7d\xb6\x3d\x7e\x3e\x1e\x90\x76\xaf\xce\x22\xf4\x46\xf4\x72\x3d\x6e\x91\x74\x0a\x44\xcd\x7b\x2d\x6d\x12\x71\xe2\xbb\xa1\xc7\x71\xd1\xb4\xae\x8f\x67\x24\xa0\x28\x60\xa2\x6b\xf1\x81\x29\x6a\x46\x6c\x85\xd9\x38\xb3\x2d\x12\xc7\x03\x3b\xb7\xcc\xde\x00\x07\x66\xdf\x8e\x59\x3e\xf3\xdc\x9f\xc0\xc9\x7f\x03\x00\x00\xff\xff\xf6\xd0\x0d\x8d\x0b\x31\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x5b\x72\x7a\xc9\xb6\x1a\x3b\xae\x9b\xc4\xbb\x3b\xd3\x4e\x33\x89\x9a\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x1d\xdc\x48\x80\x17\x59\x91\xf3\xb4\x7a\xb1\x49\xe2\x1c\x9c\xfb\x0d\xa0\x45\xc9\x85\x82\x9b\x8a\xad\xe8\x32\xc7\x05\xff\x8c\x0c\x32\xc1\x0b\x18\x45\xef\x46\x27\x6e\xe5\xef\xa8\x48\x4a\x14\x79\x47\x71\x2b\xdd\xca\xe8\x5d\xbd\x32\x82\xef\x03\x1b\x5e\x50\xe3\xd0\x4f\x6f\x50\xf2\x7c\x83\xc2\x41\x85\xaf\x46\x27\xb3\x19\x78\xc2\xaa\x5c\xd1\x32\xc7\x77\xa4\xca\x55\x4d\x59\xf4\x72\x74\x72\x42\x92\x04\xa5\x1c\x93\x3c\x9f\x40\xc2\x99\x12\x24\x51\xf0\xea\x96\x14\xa5\xa3\x63\x1e\xef\x79\x77\x72\x02\x00\x30\x9b\xcd\x60\xb1\x46\xc0\x0d\x32\x05\x6a\x4d\x14\x50\x09\x58\x50\xa5\x30\x85\xed\x1a\x19\x30\xdc\x82\xd2\x18\x24\x10\x81\x50\x50\xa6\x30\x35\xc0\xe1\x9e\x16\x81\xd9\x49\xfe\x6e\x96\x8c\x49\xc1\x2b\xa6\xe6\xf0\xe7\x0d\xbd\x7d\xf6\xc3\x29\xa8\x5d\x89\x73\x78\xab\x04\x65\xab\x49\xb0\x3d\x57\x24\x07\x59\x95\x65\xbe\x03\x9e\x45\x44\x4b\xa0\x0c\xf0\x96\x4a\x85\x2c\xc1\xce\xa6\x1b\x22\x40\x69\xf0\xb7\x06\xda\x6f\xd5\xe0\xbe\x4e\x0b\xca\xe0\x35\x51\xeb\x0e\x6c\x8e\xca\x7e\x7e\xab\xb8\x20\x2b\xd4\x8b\x34\x75\xf5\x43\x83\xe5\x4f\x89\xc2\x20\x91\xbd\x58\x8c\x0e\x06\xb1\x0c\x42\xbc\xae\x96\x39\x4d\x2c\x40\xf3\x7f\xef\xfa\x37\x98\x20\xdd\xa0\x18\x00\xa9\x09\xbd\xa9\x58\xa2\x28\x67\xa0\x38\x08\x54\x95\x60\xa0\xd6\x68\x04\x2f\xad\x72\xf5\x63\x6d\x1e\x54\xcb\xb9\x40\xa6\xba\x7c\x6d\x28\x6e\x21\xab\x18\xac\x50\x19\x6a\x17\x1a\xc7\x78\x32\x87\xf7\xfa\xbf\x0f\x70\x67\x40\xf4\x4f\x13\xa8\x77\xb8\x16\x82\xec\xea\xef\x97\xf6\x9f\x8b\x5f\x42\x75\x4e\x0d\xaa\xe7\xe3\xc9\x87\x1a\xda\x93\xe9\x11\x98\x0f\xf7\x27\xfb\x09\xd2\xae\x34\x48\xcb\x46\xef\xf1\x06\x33\xb8\x04\x89\x79\x36\x25\x49\xa2\xed\x70\x9a\x90\x92\x2c\x69\x4e\x15\x45\x39\x5d\x72\x21\xf8\xf6\xe2\x9b\x3e\xea\x66\xa5\x11\xed\x0c\x83\x6f\xe6\xd3\xa4\xde\x47\xff\xae\xae\xa0\x24\x8c\x26\xe3\xd1\x0b\x5e\xe5\x29\x30\xae\xc0\xa2\x05\x02\x02\x33\x14\xda\x66\xb5\x2a\xb4\xd0\x0d\x55\x20\xbc\x7f\x37\xa8\xda\x92\xf0\xe4\x4f\x1b\x46\x87\x64\xa2\xc5\xe1\x30\xea\x95\xe3\x8f\x46\x4a\x73\xd0\x52\x99\xcc\xe1\x9a\xed\xde\x2a\x51\x25\xea\xea\x7f\x54\x42\x21\xef\x9a\xf3\x48\x50\xda\x1f\x0c\x4d\xfe\xa9\x7e\xfb\x8a\x24\x6b\xa8\xb4\x4f\x4b\xc5\x05\x4a\x20\x0c\x28\x93\x8a\x68\x62\x78\x06\x9c\xe5\x3b\x43\x91\x01\xd7\x11\x48\xad\x91\xda\xd5\x64\x85\x51\xdc\xcc\x9c\xc7\x49\xb7\xcc\xc1\x10\x96\xc2\x8a\x6f\x50\x30\x4c\x61\x69\xb1\x95\x02\xcd\xfb\x92\x4b\xa5\x7d\x30\xa5\x06\xb0\x46\x47\x59\x2b\x5b\x99\xe8\xab\xd6\xb8\x33\x71\x37\x21\x79\x8e\xe9\x34\xda\x3d\x59\x63\xf2\x59\xc2\x9a\x94\x25\x32\x20\x0a\x44\xc5\x14\x2d\xd0\x80\xa2\x0e\xf3\xa4\xa6\x50\xc7\xf5\x16\x8e\x1a\x97\xce\x0a\x95\x48\x50\xaf\x60\x96\xff\x25\x42\x22\x90\xe8\x2c\xe0\x38\xd3\x61\x03\x6f\x95\x96\x50\x14\x45\x7c\x5c\xd9\xd5\xe8\x34\xb9\x29\x66\x94\x19\xe0\x53\x90\x46\xc1\x02\x35\x09\x8c\xc3\x96\xec\x20\xe3\x9a\xb6\x82\xe4\x34\xa1\xbc\x92\x56\x1d\x8a\xbb\x3d\xad\x14\x1b\xd1\xf0\xca\x6d\x4b\x19\x10\x2a\xa6\x70\x0d\xb2\xc4\x84\x92\x1c\x4c\xae\x11\xc6\x6c\x34\x07\xc0\x10\x53\xa9\x31\x2d\x1b\x1a\x14\x37\x59\xab\x46\xd7\x64\xb4\x58\x14\xa1\x6f\xd5\x08\x0d\x29\xf3\x58\x35\xd6\x0f\x7c\x0e\x0d\x35\x62\xb2\x11\x2c\x49\xee\x8d\x49\xad\xa9\xb4\x16\x5b\xaf\x6d\x67\x30\xb7\x3a\xce\x5e\xc1\x42\xed\xa3\x76\xa5\xdc\x97\x64\x7a\x21\xca\xe1\x24\xd3\xbb\x5e\xf8\x4c\xd3\x9b\x63\x1a\x7b\xd1\x8e\x28\x8d\x1d\x38\x9a\xa0\x24\x6a\xad\xed\x4e\x60\xe0\xcd\x72\x6d\x1c\x5f\xed\x4a\xaa\x6d\xcf\x98\x95\x71\xba\xb4\x5f\x1a\x41\x90\x7f\x89\x59\x2b\xaf\xea\x88\x1f\x3c\x86\x51\x2d\x88\x0e\x26\xa2\xc9\x1e\xd9\xdc\x0f\xf3\x60\xa5\x14\xb3\xe0\xd5\xe6\x79\x58\x93\x0d\x02\xf1\x4b\xeb\x50\xb9\x3b\x94\x91\x46\x96\x9a\x8f\xe6\x69\x1f\x1b\x65\x57\x63\x47\x72\xf1\xff\xb2\x2e\x22\xbe\x16\x43\x6f\x02\x53\x39\x9c\xa5\xd0\xc0\xfa\x98\xfa\xf2\x9c\x1f\xec\xf0\x3e\x7a\xa9\x7f\xa6\x06\x19\xae\xc7\xa7\x37\x0b\xfd\xf7\xf9\x78\x72\x7a\x04\xe8\x4b\x2a\xcb\x9c\xec\x8e\x84\x36\x31\xe4\x25\x51\xe4\x28\xf8\x45\x53\xf6\x3e\x1f\xc7\x69\xf7\xc3\x43\x72\x3d\xa6\x6e\xd0\x3f\xb9\xa5\x2a\x59\x5b\xb5\xdc\x75\x28\x4e\x88\xc4\xc3\xe5\x3d\xef\xc0\x07\x7a\x7c\x10\xc1\xb8\x17\x5a\xff\x32\xe5\xb4\x32\xf7\xf6\xd6\xf0\xf9\x25\x1a\x9d\x00\x91\x4f\xf6\x13\xe2\x16\x5f\x75\x95\xd7\x10\x53\x2b\xf9\x28\x72\x42\x13\x39\x80\xa0\x7a\xf9\x55\x2f\x45\x93\x63\x55\xd6\x48\xa5\x5f\x6b\xba\xa6\x2c\x30\xa5\x04\x2e\xe3\x36\x7a\xfa\xbb\x7e\x3b\xac\x2c\x23\x23\x9a\xe3\xbc\x05\xf6\xaf\xc5\xe2\xf5\x0d\xcd\x71\x3f\x64\x25\xf2\x39\x8c\xd6\x4a\x95\x72\x3e\x9b\x11\x29\x51\xc9\xe9\x16\x97\x92\x2a\x3c\xd3\x68\xe5\x34\xe1\xc5\xec\xc7\xec\xd9\x77\x3f\xff\x90\x9c\x27\xff\x20\x3f\x25\x69\xfa\xec\x87\xef\x97\x4f\x93\x9f\xbe\x3b\x6f\x7d\x20\x3f\xfe\x98\x2c\x9f\x26\x3f\x7f\xff\xec\xe3\x4d\xce\xb7\x1f\xff\xe2\x22\x2d\x88\xf8\x3c\x95\x9b\xd5\x68\x90\x8e\x1e\xcf\xf5\x3f\x23\x91\x85\xe9\x79\x47\xb4\x20\x2b\x9c\xc9\xcd\xea\xdb\xdb\x22\xef\xc7\xd6\xd5\x4e\x24\x5a\xd9\x2f\x5b\x39\x7e\x6f\x3e\x7f\xe8\x07\x3f\xc4\x9f\x9c\x76\x87\x65\xcd\x48\xa1\x79\x70\x8d\x40\x8d\xcc\x36\xfb\xa3\x61\x01\xc8\x5d\xb1\xe4\x5a\x45\xaf\x6e\x16\x7b\x96\xa5\x28\x13\x41\x4b\x5d\xa3\xce\x61\xb4\xd0\x29\x2b\xf3\x5b\x98\x2a\x4d\x97\x8d\x95\xc4\x14\x88\x29\xd5\x5d\xd3\xa1\xab\xba\x35\xe6\x25\xec\x78\x05\x29\x6e\x30\xe7\xe6\x7f\x01\x4c\x57\xa9\x37\x0b\xf8\x3f\xce\xb4\x26\xa7\x7b\xf6\xc6\x5b\x85\x82\x91\xfc\xcf\x37\xbf\xb5\x6d\xf0\x55\xf3\x69\x5c\x1b\x99\xdb\xfb\x2c\x53\x53\xce\x32\x8d\x9c\x8b\xd5\x68\x8f\x11\xe4\x7c\xc5\xe5\xdc\xa9\x70\x8f\xa8\xb8\x2e\x66\xe5\xbc\x27\xac\x86\xbf\x91\xda\x52\xa5\x50\x8c\x0e\x22\xd6\x2d\x36\x4e\xa0\x69\xfd\xb8\xcc\x79\xf2\x39\x59\x13\xca\x46\xfd\xe6\x02\x26\x67\xf4\xbd\x3d\x3a\x76\x84\x21\x6c\x38\x7a\x04\x1d\x69\xd4\x6f\xfa\xce\xd4\xd5\x73\x7b\x9b\xd2\x4c\xf0\x62\xde\x29\xff\x86\x19\xfd\xb2\xee\xd4\x56\xad\x96\xd0\x01\xe9\x1d\x94\xbc\xbc\x38\x86\xdd\x2d\x2a\xf2\xdb\xec\x0c\x9b\x50\x5c\xb9\x77\x6a\xad\x7d\x71\xca\x92\x18\x00\x36\x75\xe7\x30\x58\x29\xf8\x86\xa6\x7e\xbf\x59\x29\xe8\x86\x28\xec\x8e\x04\x1e\xa6\xf8\x37\xca\x3e\x63\x6a\x23\xa5\x31\xa8\x5e\xf5\xee\x8d\xb4\x96\x83\x47\x23\xf2\x3c\x3d\x1a\x91\x6d\x63\x5f\x15\xa5\xda\x99\xc5\x7e\x30\x37\x87\x71\x56\x31\x5d\xc6\xfe\x72\xd7\xd3\x51\xde\x3f\xe0\xff\xce\xc2\x2e\xce\xea\x11\x48\x7b\xa3\xf1\x1e\xc7\xee\xff\x74\xa4\x67\xc7\xf5\xe7\xb1\xd5\x5c\x80\x65\xd8\x21\xa2\x09\x6f\xa4\x88\xe0\xcb\x01\xbc\xdd\xf7\xb5\x0c\x8c\xe6\x43\xbd\xd5\x0a\x95\xc6\xcd\x85\xc2\xb4\x99\x81\x02\x37\xa9\xca\x74\xb3\xc2\x75\x5f\x04\x72\x2a\xcd\x88\xc2\xb6\x8c\xd1\xc0\x95\xca\xda\xd2\x4d\x15\x5e\xba\xc1\x06\xec\xe9\x76\x7a\xf6\xd5\x46\x73\x67\x4d\xf2\x57\xce\xf3\xb6\xa9\xe8\x28\x2a\x3d\x94\x01\x68\x2d\xbf\x84\xbb\x58\x00\xf1\xea\xf7\xc6\xf1\x57\x68\x36\x1b\x4f\x3e\xc0\x25\x28\x51\x61\x6f\x1f\x17\x01\x1e\xdc\xc4\x51\xd9\xe5\x6a\xac\x6a\x1f\x9b\x58\x42\xf7\xb4\x8e\x43\x72\x79\xaf\x4c\x47\x78\x75\x05\x19\xc9\x25\xf6\xab\x13\x28\xa3\x8a\x92\x9c\xfe\x6d\xe7\x13\x7e\x44\x43\x54\x33\xea\x31\xce\x64\xc6\xe7\xb4\x68\xd0\x68\xc0\x71\x6b\x46\x33\x69\x77\x46\x9a\x3e\x8f\xf2\xd2\x23\xef\x28\x88\xa6\xc8\x14\xcd\x28\x0a\xb8\x84\x51\x27\x54\x8e\xba\x38\x83\xd0\x0f\x97\xe1\xf4\x63\xdc\xe0\x9a\x07\x78\x27\x4f\xba\x38\x9a\x68\x0e\x97\x41\x97\xfe\x05\x18\xc2\x44\x32\x8c\x23\x62\xc8\x4f\x07\x46\x01\xbe\x96\x7f\xfd\x13\x55\xa4\x0a\x37\x58\xdc\x33\x2c\x0b\x3c\xe4\x57\x0b\xa4\xbd\xc2\xaa\x64\x8f\xe1\xb4\xd5\xd1\xa2\x63\x4b\xd5\x3a\x15\x64\x1b\xbe\x8c\x16\x34\xc7\x2a\xc6\xa3\xc9\x67\x3b\x33\xb6\xe7\x5b\xae\x2a\x25\x62\x55\x15\xc8\x54\x04\x48\x58\x5a\x63\x77\xf1\xc0\x01\x99\x53\xbc\x7a\x5e\x3c\x1d\xdc\xfa\xdf\xca\xe5\x12\x1d\x64\xcc\xdc\x12\x8b\x92\x0b\x22\x76\x6e\xd2\xec\x8f\xec\x4c\x81\xac\x4b\x62\x9e\xa7\x11\x06\x73\x00\x64\xcf\xd2\x2c\x01\x02\x61\x89\x94\xad\x40\x09\xc2\x64\x86\x42\x60\x3a\xd5\x1b\x89\x60\x96\xc4\x70\x1b\xc4\x54\x8d\xc7\x4f\x83\xdd\xb6\x3c\x9a\x09\x1b\xcc\x76\xba\x0c\x92\x03\x55\x66\x90\x6c\x46\xb0\x25\xd7\xfd\x58\x4c\x13\xe6\x12\xcd\x84\xaa\x9f\x71\xa7\xf3\x38\x41\xfe\xe5\xe4\x48\x96\x39\xda\x11\x86\x97\x6c\xeb\xa0\x51\x27\xd7\x6e\xba\xde\xef\xb0\xd1\xe3\x99\x53\x52\x9f\x3d\x5d\x9c\x85\x13\xea\x26\x2c\x58\x88\xc9\x90\x89\x39\x31\x7c\x99\x85\x39\x51\xf3\xe5\x7f\x30\x69\x9b\x99\x31\x2d\x92\xa6\x32\x42\x43\x95\xac\xbd\xc9\x69\xa8\xe5\x5c\x7c\xcb\x50\xc8\x03\xac\x8e\x4a\x20\x79\xce\xb7\xd6\xaa\x52\x94\x4a\x70\x7b\x8e\x21\xf5\xf6\x96\xb4\x25\x26\xa4\x92\xd8\x18\x72\xec\x57\x9a\xe4\xc0\x60\xb5\x69\xa2\xf0\x94\xb8\x01\xbc\x99\x9a\xbf\x73\x23\x4a\x4f\xec\x9a\xc4\x7c\x2d\x11\x99\xb6\x35\x59\x15\xba\x0d\x64\xa9\x3d\x4f\xc8\xb8\x39\x17\x71\x86\x66\x28\xf4\xa7\x1b\x03\x26\x55\x8f\xbf\x9c\x42\x5c\xd3\xd0\x5f\x8c\xb5\x83\x7c\xdd\xa8\xc0\xc5\x99\x75\x60\x22\x9f\xf4\xd9\xda\xc1\x96\xf6\xad\xc5\xd7\x09\x50\xfa\x17\x7d\x81\x4b\x38\x9f\x9e\x47\xdf\xbd\x4a\xe2\x70\xd9\x4d\xc2\x0f\x79\x91\x8f\x02\x9d\xe3\x7a\x1f\xf4\xe7\xf0\xa2\x9e\x0d\x5f\x7c\xd3\x92\x94\x0f\xf3\xf7\xcf\xfb\xa4\xe5\x71\xbf\xf3\x52\x33\xdc\x77\xfc\xd6\x3b\x4f\x04\xef\x12\x44\x4f\x2b\x26\x30\xa1\x25\x45\x16\x0e\xb5\x3b\x5b\x7b\xea\x6d\x53\xe9\x9f\x5c\x03\xd9\x53\x25\xef\xe9\x06\xeb\xea\x6d\x2f\x25\xef\x5c\x67\xd8\x66\xe2\xa5\xb5\x34\xb3\xde\x73\xce\x7c\x44\x76\x47\x6b\x21\x1e\xd1\xc7\x51\xc0\xcd\x34\x36\xdd\x8b\xb3\x48\xc8\x83\x11\xa8\xdd\x28\x1c\x18\x8a\xe2\xe4\x63\xf5\xa8\xb9\x00\x12\x46\x96\xbf\x51\xf0\x4e\xe2\xf3\xe9\x84\x36\xd9\x82\xe4\xb9\x4e\x3c\x2e\x6b\x4c\xe1\xda\x9e\xfb\x15\x95\xb4\xd9\xc3\x56\xcb\xfe\xc4\xb2\x83\xd1\xf4\xe0\x4e\x60\x1a\x77\x9d\x8d\xda\x47\xb4\xfa\x05\x17\xa9\x3d\x52\x34\x61\xcc\x7e\x8f\x31\xda\xd9\x82\x3b\x2b\x24\x76\xdc\xe4\x25\xed\x03\x84\xac\xcf\xf0\xec\x28\x4a\x97\x9a\x87\x45\x98\x6e\x67\x76\x48\x5e\x7a\x20\xcd\x9c\x4f\xcf\x07\x34\x0c\x8b\x3f\x5e\xfe\x31\x87\x37\xb8\xa1\xda\xda\x68\x06\x02\x0b\xbe\x21\xb9\x66\x20\xa9\xa4\xe2\x85\x0d\x19\x55\xa2\xb8\x90\x50\x12\x29\x31\x8c\xb2\xf0\x16\x11\xfc\xe8\x68\x45\xd5\xba\x5a\x9a\xc9\x91\x9d\x73\xcd\xb2\x9c\x96\x72\x56\x56\x79\x3e\x7b\xfa\xfd\xd3\x1a\xce\x45\xa1\x71\xdb\xfb\x69\x16\x47\xba\xe7\x9a\xf4\x9e\xee\x76\xa8\x9d\x6b\x0f\x82\xc2\x4f\x67\xfd\x55\x1d\x44\x2d\x9e\xfd\x2f\xb8\x0b\x60\x0f\x8a\x4f\x60\xe0\xe8\xdb\xa7\x59\x9b\x80\x8d\xae\x89\xb9\x3c\xe4\xcc\xc4\x1e\x8d\xeb\x14\xe6\x8f\x93\xbf\xec\x18\xd9\x9d\x53\xdf\x45\x26\xa8\xd1\xd8\x7b\x4e\x07\xba\xa3\x06\x90\xc1\xc6\xa7\xa6\x06\xd0\xc6\x5d\x78\x27\x53\xc1\x75\xaa\xd3\x41\xa7\x0c\x21\xda\x6e\x79\x90\x79\x37\xa4\x1f\x53\x7e\x95\x02\x7b\x8c\xc1\xd5\xc6\xc6\x56\xe6\x30\xba\xb6\x8f\xf6\xc2\x99\x0d\x12\x4b\x84\x95\x71\x0c\xa1\xe5\xc1\x4c\xe0\x19\xed\x69\xf2\x8f\x31\xaf\x6f\xfb\xca\x3f\x2c\xe8\xc0\xed\x36\xfb\xd7\xdf\x6e\x8b\xbb\xe8\x69\xd0\x56\x3d\xae\x9a\x6c\x19\x73\x6f\x34\x0f\xcd\xfa\x51\x51\xfc\xeb\x46\xf0\xaf\x1b\xbd\xbf\x42\xe4\xee\xf3\xd3\xe3\x22\x76\xad\x46\x78\x20\x5c\xdf\xf7\xdd\xd1\xd3\x9a\x71\xf1\xb3\xa9\xf6\xfd\x45\xa4\x53\xc0\x2c\xc3\x44\xd1\x0d\xe6\x3b\x58\x56\x82\x99\x96\xad\x29\x9c\x3b\x2a\xff\xa5\x24\x82\x14\x60\xcb\x82\xba\xaa\x0e\xa6\x1b\x9c\x29\x42\x5b\x68\x8c\x0c\x2b\xc1\x5a\xd8\x1e\x91\x4d\x8e\xc9\x24\x6d\x4d\x68\x8a\x5c\x70\x71\x05\x7a\x57\x0d\x61\xc6\xf1\xb5\xb0\x5e\x1c\xca\xdb\x8c\x6e\xc2\x85\xc6\x3d\xe3\x38\xf0\xf4\xfc\x5c\x97\xd6\xf1\x92\xf6\xc5\x50\xb8\x84\x99\xb3\xce\x68\xc2\x6d\xef\x97\x46\x79\xf8\x85\xb5\x84\xe6\x2e\x98\x71\xb4\x76\x64\x36\xc6\xe9\x2e\xd5\x6a\xdf\x20\x1b\xd4\x6e\x46\x59\x74\xcb\xcc\xa2\xac\xff\x8d\x1a\x90\x7e\x8b\x6b\x33\x38\x89\xf9\x6a\x5f\x55\x85\x4b\xd7\x67\x0c\x5c\xb8\x79\xd2\x03\xfe\x3a\x1c\x27\xb5\xa1\xc3\x5b\x2e\x2d\xe0\xee\x25\xd6\x1e\xf8\xf8\x52\xc9\x93\x96\x5a\xda\xc7\x41\x5a\x6c\x63\x37\x0d\x3f\x05\xc5\xe7\xfd\x5c\x4e\xfa\x14\xd4\x73\xf3\xa5\x75\xd6\x13\x0c\x58\xf0\xb6\xe4\xad\x72\x49\x2f\xfc\xe4\x62\xcd\x27\x28\x50\xad\xb9\x6d\x4d\x57\xa8\xae\xcd\x98\xd7\x0d\x48\xfd\x37\xb5\x16\xbc\x5a\x59\x53\xf8\xe4\xf9\xfc\x04\xa6\x2e\xc8\x48\x12\x6a\xdc\xb7\xb8\xf0\x29\x9c\x74\x7d\xea\xc5\xe4\x3e\xf7\x23\x8a\x4c\x27\x34\xdc\x17\xa4\xdc\x7b\xfb\xd3\x4b\x98\x4a\x59\x61\xa7\xeb\xb3\xfd\xf1\xf3\xf1\x80\xb4\x7b\x75\x16\xa1\x37\xa2\x97\xeb\x71\x8b\xa4\x53\x20\x6a\xde\x6b\x6a\x93\x88\x13\xdf\x0e\x3d\x8e\x8b\xa6\x77\x7d\x3c\x23\x01\x45\x01\x13\x5d\x93\x0f\x4c\x51\x33\x62\x4b\xcc\xc6\x9b\x6d\x95\x38\x1e\xd8\xb9\x65\xf6\x06\x38\x30\xfb\x76\xd0\xf2\xa9\xe7\xfe\xe4\xbf\x01\x00\x00\xff\xff\xeb\x71\xcb\x40\x0d\x31\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,7 +97,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb3, 0x44, 0x2f, 0x21, 0x55, 0xc5, 0x16, 0x1d, 0xe9, 0x3d, 0xfb, 0xdf, 0x3c, 0x2c, 0xc7, 0xc, 0x13, 0xef, 0xde, 0xff, 0xe9, 0xfa, 0x29, 0xc, 0x6e, 0x48, 0x4c, 0xd2, 0xc1, 0x9a, 0xdd, 0x91}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0xc6, 0x7a, 0xa6, 0xbe, 0x8, 0x9f, 0xf3, 0x66, 0xfc, 0xe8, 0xd3, 0x22, 0x4c, 0xf6, 0xe0, 0x74, 0x37, 0x31, 0x17, 0x5f, 0x48, 0x67, 0xf4, 0xf, 0xd4, 0xfc, 0xec, 0x60, 0x27, 0x64, 0xd3}}
 	return a, nil
 }
 
@@ -121,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x73\xdb\x36\x12\x7f\xe7\xa7\xd8\x71\x67\x2e\x52\x4f\x95\xf2\x70\x73\x0f\x9a\x26\x6e\xd2\xd6\x37\x7d\xe9\x74\x6a\x5f\xf3\xd0\xb9\x39\x41\xe4\x52\x44\x43\x02\x2c\x00\x4a\xd1\x79\xfc\xdd\x6f\x76\x01\xf0\x9f\x28\x5b\x76\x9b\x7b\xb8\x3c\x24\x36\x49\xec\x2e\x16\xbb\xbf\xfd\xed\x22\xab\x2f\xbf\x4c\x92\x2f\xe0\xae\x40\xb8\x29\xf5\x01\x6e\x1a\xb5\x93\xdb\x12\xe1\x4e\x7f\x44\x05\xd6\x09\x95\x09\x93\x25\xc9\x17\x5f\xc0\x26\xbe\xe4\x77\x1b\x48\xb5\x72\x46\xa4\x2e\x49\x78\xf9\xf4\x4a\x90\x16\x94\x86\x52\xab\x1d\x1a\x10\x0a\xa4\x72\x68\x72\x91\x62\xe2\x0a\xe1\x40\x94\x25\xe4\x71\xa9\xe3\xa5\x51\xae\x85\x83\x6e\xca\x0c\x0a\xb1\xa7\x57\xf4\x3c\xd7\xa6\x02\xa7\x97\x49\xf2\x43\x0e\x02\x1a\x8b\xc6\xc2\x41\x28\x67\xe9\x83\x0c\xeb\x52\x1f\x41\x80\xc2\xc3\x48\xd6\x02\x5c\x81\xd2\x74\x36\x67\x1a\xc9\x30\x07\x0a\x31\xa3\xc5\xb2\xaa\x4b\xac\x50\x39\xfa\x12\x06\x5b\xed\x6c\x5e\xc0\xb6\x71\x41\x14\x2b\xb0\x49\xa6\xcf\x88\x68\x17\x59\xc8\x30\x97\x0a\x33\x90\x0a\x5c\x21\x6d\x6b\xc5\xd2\xfb\xf5\x17\xd1\x94\x6e\x03\x06\xad\x6e\x4c\xda\x5b\x99\x24\xdf\x8b\xb4\x18\xfb\xa7\xfd\xce\x1d\x6b\x64\xe5\xf6\x54\xfb\x79\xa1\x41\xe9\x4f\x46\xef\x65\x86\x66\xb3\x80\xcd\xcf\x98\xa2\xdc\xf3\xcf\x42\x65\xb0\x79\x2f\x4a\xa1\x52\x9c\x5a\x6d\xf9\xb4\xed\x68\x7b\x69\x29\x0c\x42\x6d\xf0\xab\x54\xab\x4c\x3a\xa9\x95\x65\x51\xb5\xb6\xae\xff\x8c\xcf\xdc\xa0\x75\x46\xa6\x2e\x21\x43\xf1\x13\xa6\x0d\xbd\x04\x9d\xb3\xe5\x79\xa3\x52\xff\x31\xbb\x0b\x81\x77\xb2\x64\xbd\x47\x20\x3d\x16\x6b\x61\x84\x43\xd8\x62\x2a\x1a\xb2\xc5\xc1\x4e\xee\xd1\xf2\xe7\x14\x14\xfc\x83\xd8\xca\x52\xba\x23\xf9\xc6\x16\xc2\x60\x22\xc0\x60\x8e\x06\x55\xca\xf1\xe4\x8f\x91\xa5\x7b\xbb\xb4\x2a\x8f\x80\x9f\x6a\x6d\x83\xa8\x5c\x62\x99\xd9\xce\xa2\x44\x2a\xd0\x0a\x41\x1b\xa8\xb4\xc1\x68\x71\xe7\x0a\x0a\x4c\x8a\x69\xab\x83\x41\x3e\x42\x47\xd6\x54\xe2\x23\x42\xda\x58\xa7\xab\xd6\xc3\xc1\x35\xed\x21\x92\x6f\x86\x5e\xa6\x00\xd7\xb0\x17\x46\xea\x86\xbe\x96\x6a\x67\xe1\x20\x5d\xc1\xe2\x7d\x34\x2e\x93\x1b\x6d\x00\x3f\x09\x12\xb3\x00\x01\xb9\x68\x52\x74\x90\x0a\x05\x5b\xec\xa4\x63\x06\xdb\x63\x4c\x28\xa9\x76\x89\x77\x07\xc4\xa0\x18\x44\xcb\x97\xab\x24\x91\x55\xad\x8d\x83\x5f\x24\x1e\x7e\x46\xab\xcb\x3d\x1a\xc8\x8d\xae\xe0\xaa\xff\xe8\x2a\x49\x56\xab\xd5\x30\x79\xe8\xc9\xe0\x69\x00\x88\xd6\x16\x11\xa2\xc5\x60\x0f\x28\x0c\xfe\xde\x48\x33\x95\x56\xc3\x64\x60\xc9\x9d\xb1\xf0\x01\xc1\x3a\x59\x96\x1e\x34\xa4\x03\x61\x07\xa0\x03\x05\x9a\x2e\x6e\x1c\xff\xc6\x21\xa5\x2b\x8e\x9c\xbc\x29\x59\x64\xe3\xfc\x69\x55\xe8\x0a\x9d\x85\xc3\xa9\x84\x3a\x42\x6d\xf4\x6f\xc8\xe0\x44\x6a\xbc\x32\x42\x20\xb2\x94\x95\x6a\x35\xc2\x1a\xbb\x60\x91\x01\x39\x7c\x08\x6f\x8f\xb4\xd9\x0a\x85\xb2\xed\x5e\x97\x0c\x86\x3e\x0c\xba\xa7\xf4\x33\x3f\x6b\x4f\xd9\xef\x39\x3a\xc5\x0e\xd2\xbd\x83\x0e\x91\xa6\x68\xed\x4c\x94\xe5\xbc\xb5\x64\x04\x6b\xf7\x49\x02\x00\xb0\x5a\xc1\x3b\x05\xa8\x9c\x74\xc1\xcf\xb9\x36\x64\x8b\x3e\x48\xb5\x63\xf1\x14\x66\x99\x11\x07\x51\x72\xcc\x73\xac\xf9\xf3\x17\x3e\x81\x58\x50\x5f\x65\x5f\xdc\x87\xb8\x7a\x5b\x62\x54\xb9\xe2\x9a\x83\x7b\x7f\xac\x7e\xcb\x58\x49\x47\xa1\x79\x28\x50\x45\x25\xe4\xac\xa8\x5d\x3d\xa1\x72\xdf\x57\x36\x13\x95\x6e\x94\x5b\xc3\x3f\x6f\xe4\xa7\xbf\xff\x6d\xc1\x6b\xd7\xf0\x2e\xcb\x0c\x5a\x7b\xbd\x60\xf4\x5c\xc3\xad\x33\x52\xed\xe6\x7d\x61\x16\xcb\x7c\x4e\x71\xc6\x06\x45\x79\xdf\x93\xf4\xe7\x09\x5d\xc3\x7b\xad\x4b\xb8\x67\xe1\xf4\x87\xe4\x9d\x1a\xe8\xff\x8d\xb2\xe8\xef\x28\x87\xfe\x9e\xb7\xab\x0d\xba\xc6\x28\x70\xa6\x41\x7e\xf6\xf0\x12\x5f\x66\x58\x6b\x2b\x9d\xcf\xac\xc7\x3d\xf9\x9d\xff\xf4\x64\xcf\x4e\xbf\xc0\x8d\x41\xd8\xb4\x17\x1f\x91\x38\xed\xc3\xb1\x69\xd1\x85\x24\xc8\xe9\xcf\xe8\x3e\x67\x84\xb2\x39\x1a\x4a\x4c\x0e\x46\x2a\x07\x22\x4d\x49\x3d\x7b\x54\x69\x02\x95\x33\x1e\xbd\x0b\xab\x9f\x0e\xa3\x97\xb8\x38\x4a\xbf\x30\x52\x9f\xeb\xf3\x13\xe3\x27\xe3\xf6\x65\x07\xc0\x26\x3f\x12\xb3\xd6\x19\x7d\xc4\xec\x8c\x5b\xdf\x37\x46\x9d\xc6\xd4\xc0\x69\xe7\xbd\x46\x8b\xcf\x44\xe5\xa3\x3e\x91\x79\x70\x00\xbc\x7d\x03\xaf\x97\xaf\x7b\xaf\x5a\x97\x0d\x0c\x6b\x63\x74\xc2\x35\x0f\x97\x38\x29\x16\xe7\xf8\x60\x10\xbe\x5d\x85\xe3\x10\x46\xaa\xec\x69\xa0\x31\xa1\x94\xf8\x6a\x41\xd8\x1e\x01\x95\x2a\x7f\x14\xd2\x07\x75\x26\x35\xb1\xc0\x70\x0d\x38\xd6\xb8\x3c\xd1\xfb\x83\x83\x96\x46\x07\x85\x43\x5d\x5a\xc1\x66\x1b\xb9\x24\xd5\xda\x45\xbb\xb6\x47\xdd\x4a\x14\x44\x95\x74\x8d\x9e\xef\xd5\xda\x5a\x19\xd8\x92\xce\x21\x35\x28\xd8\x88\xc0\x98\xea\xe0\x06\xdb\x99\x4e\x3b\x26\x1e\xce\x74\x9e\xce\x58\x18\x59\x1e\x03\x2f\xe7\x5a\xac\x0f\x0a\x82\x25\xc3\x7d\xf4\xa3\xe9\x94\xed\x76\x84\x28\xd4\xca\xa8\x32\x7a\x10\x6c\xb3\x0d\xcd\xca\xd8\x81\xfa\xa0\xd0\xbc\xb2\x3d\x88\x8d\x8b\x89\x18\xfb\x73\xb6\x11\x82\x3b\x22\x67\xb0\xd2\x7b\x86\x67\x4f\xe8\x7a\x0b\x07\x42\xee\x7a\x54\xf9\x95\x0d\xfb\x80\x12\xf7\x58\x12\x80\xd5\xcd\xb6\x94\x69\xec\x57\xa4\xf5\x7d\x98\x03\x41\xfe\xdb\x96\x58\x0d\x84\xc5\xd3\x60\x06\xdc\x1a\x0f\xd6\x69\x13\x29\x40\xcf\x39\xc1\xa7\x01\xf6\x06\x82\x52\x26\x5b\xd2\x49\x51\x96\x47\x48\x3d\xa1\x91\x1d\x85\x7e\x7c\x3f\x5e\x6b\x25\x8e\xb0\x33\x44\xa9\x18\x4b\xa3\x9e\x76\x8f\xc4\x5c\x63\x4c\xd0\x76\xe4\x5e\x38\x1c\x59\x51\xb7\x74\x3b\x34\x99\xfa\x60\xc1\xd6\x98\xca\x5c\xa6\x41\x6e\xe0\xe6\x3a\xc8\x1d\x48\xe0\x38\x8c\x67\xdf\x35\x5c\x85\xd1\xcd\xae\x80\x5e\x23\x71\xe9\x86\x7c\x4f\xc0\xbb\x22\xa7\x3c\xb1\x27\x3e\xbc\x4b\xb6\x44\xb2\x46\xfb\x18\xd8\x3e\x90\xf1\xfc\x7d\x84\xec\xe8\x13\x38\x8f\x9c\x87\x69\x96\x35\x5f\xc3\x37\xf7\x1c\xd0\x0f\x23\x3c\xa4\x46\x70\xf4\xc8\x2b\x83\x8d\x41\x1b\x5a\xd5\x3c\x6c\xc4\xc7\x1b\x03\xe1\x5e\x94\x0d\x9e\x2c\xf3\x4b\x96\x3b\x74\xa1\x55\x9d\xcd\xe1\xcd\x9b\x00\xb1\xeb\x93\xcf\xe9\xcf\xd5\x87\x8e\xc3\x06\xe0\xae\x1a\xeb\xa8\x2d\x22\x75\x56\x54\x48\xcd\x02\xfd\x1c\x80\x22\xb6\x77\x1d\xfd\xe4\x9d\x5d\x4d\x6c\x62\xc0\xab\x97\xe7\x69\xe3\xb0\x64\x52\x21\x5a\x72\x88\x5c\x2f\x85\x2f\xc5\xb1\x3c\xf0\xab\x1d\xba\xbb\x63\x8d\xb3\xf9\x52\x66\x04\xc4\xb9\x44\x33\x1f\x68\x7f\x18\x55\x90\x5e\xb5\x88\x3d\xfd\x1f\xaf\x16\x81\x32\x4e\x14\x0b\xa9\xc2\x61\x5d\x50\x2c\x3e\x60\x84\x68\xa9\xd2\xb2\xc9\x10\x04\xb4\x83\x01\x6f\x46\x5a\x60\xfa\x71\x78\x04\x01\x98\x5a\x29\x07\x6c\x9b\x2d\x6a\xb0\x2f\xe9\xaf\xbd\x1b\x7c\x13\x95\x40\x0f\xa7\x32\x1d\x3f\x9a\x6e\xa6\x17\x50\xca\x8f\x08\xb6\x2e\x25\x77\x5f\x15\x34\x35\x61\x77\x2b\xc4\xa2\xca\xfc\x0b\xea\xcd\x65\xce\xa9\xe4\xa0\x2e\xfd\x28\x00\x2e\x2f\x33\xf1\xb0\xc6\x65\x26\xb8\x1e\x9c\xf8\x88\x5d\xad\xa0\xfa\x11\xde\x58\x2a\xa0\xd3\xc7\x30\x18\x13\x3d\x96\xdd\x6c\x14\x25\x75\x90\x39\xf3\xd1\x19\x13\x79\xde\x37\x89\xad\xda\xa1\xbb\x6d\xea\x5a\x1b\x87\x19\x7f\x43\x51\x4a\x05\x9c\x8e\x92\x81\xbf\xab\x6e\xa5\xb4\x8e\x12\x69\xef\xc7\x2c\xfc\x61\x68\x67\xb9\xc9\x0d\xfb\x26\x53\x6a\xd7\xc7\xe0\x81\x75\x7b\x89\x07\x36\x71\x5a\xf5\x6c\xbe\x86\xfb\x3b\x4e\x1c\x62\x69\x7d\xec\x59\xad\x3c\xfc\x18\x84\x7b\x66\x55\x6b\xb8\xca\x9a\xaa\x3a\x5e\xf5\x92\x67\xb5\x8a\x99\xd3\xdb\xe5\xcf\x61\x0f\x87\x02\xb9\x5c\x68\xc3\xd1\x4b\x7e\xa6\xd0\x53\x7e\xfc\x26\x6d\xb0\xdd\x8f\x54\xe8\xed\x20\xf3\x7a\x02\xdf\x45\x27\x70\xac\x0b\x15\x16\x82\x50\x47\x2f\xcb\x16\x3c\xef\xfc\x8d\x60\xa9\xc7\x03\x49\x6e\x86\xf9\x88\x46\x4c\xfb\x47\xda\x53\xf7\xcc\x3c\xa4\xd0\x8f\xa7\x34\xf6\x72\xff\xf4\xf0\xe5\x89\x68\x8e\x9d\x82\x36\x03\x45\x3c\x02\x62\x16\xe0\x07\x0c\x90\x49\x83\xa9\x6b\x7b\x2a\x90\xca\x3a\x14\x19\x85\x4b\x21\xf6\x0c\x25\x3c\xf3\x12\x6d\x1e\x50\xe4\x77\xb3\x88\xe7\x95\x2c\x77\xae\xf9\x8a\x41\xb8\x86\x6f\xdb\x22\xfb\xf5\x5f\xee\x87\x98\x1e\x0f\xf5\xe1\xed\x7c\x5c\xd9\xc8\x75\x13\x15\xca\x7f\xbf\x64\x50\xa3\x00\xbd\xfa\x96\x4f\x97\x62\x68\xab\x8d\xd1\x07\x38\x9d\x47\xc2\x8f\x37\x77\xed\xd2\xab\x4b\xa1\xbe\x63\x98\x03\x76\x9e\x21\xe5\xe2\x22\xd0\xbf\xf6\x74\xfc\x50\x9d\xf9\x48\x37\x51\x6f\x83\x76\x01\xa1\xa2\x2e\x7a\xc7\xb8\x68\x79\xb0\x1f\x10\xc7\x79\x5f\xc7\xe6\x9b\xae\x75\xa6\x0d\xda\x18\x84\x70\x44\xf7\x1c\x20\xe4\xad\xac\x7b\xd6\x4c\x1b\xd1\x1f\x3a\x2e\xdb\x81\xe4\x3d\xac\x56\x8b\x60\xfe\x18\x49\xff\x81\x6e\xaa\xb6\xef\x07\x59\x75\x0e\x72\x5a\x92\x11\x83\x66\x28\xfb\x7f\x80\x87\x7f\x0e\x18\x86\x5c\x7e\x8f\xa5\x3e\xf8\x6a\x4b\x07\xd6\x9f\x0a\xc7\xea\x69\x1b\x13\xb8\x81\x69\xd4\x57\x4e\x56\xe1\xb6\x81\x83\x67\x2c\x8f\xbb\x86\x1d\x46\xd0\x6a\x3b\x78\xe2\xa1\x82\x4b\x62\x7b\xd2\x21\xe2\x42\xad\x1d\xde\x28\x2d\xfd\x0c\x73\x09\x03\xf9\x32\x3f\x21\x43\xf6\xb6\xd9\x92\x35\x33\x9d\x7b\x58\xfb\xfa\x9b\xfb\x09\x49\x0f\x6f\x67\xf3\x71\xb2\x42\xd7\x62\xdf\x0f\xc5\xae\x19\xfd\x1e\x86\x39\x07\x58\xda\xa9\xec\x6e\xcb\x03\x08\x05\x58\xd5\xee\x08\x99\x64\x68\x13\xe6\x18\x69\x64\xc0\x6c\x4f\x61\x19\xf2\x5a\x37\x1c\x0a\x02\x36\xf5\xca\x4d\x49\xee\xe6\xdd\x93\xfe\x59\x80\x6d\xd2\x82\x94\x0c\x5f\xdf\x1e\xa4\x4b\x8b\xad\x16\x26\xdb\x2c\x60\xc3\xcf\x6e\xb4\x39\x08\x93\xa1\xd9\x00\xba\x74\x79\xd6\x15\x0f\x67\xa1\xe6\xf1\x08\x7c\x76\xb9\xe9\x29\x8d\xee\x9f\x0c\xe1\x5f\x49\xc8\xbf\xe0\xfa\x1a\x72\x51\x5a\x9c\x32\xa8\x5f\xa3\x99\xc1\x3b\x6d\xc4\x8e\x42\xce\x15\x14\x80\x06\xbb\x0c\x8f\xa5\xd5\x1d\x6b\x99\x72\x46\x6e\xfd\x02\xcc\x9e\x4c\xb1\xef\xfc\x31\xde\x7a\xf1\x3f\x09\x57\x50\xb0\xf4\x7e\xbd\x9e\xde\x9f\x92\xe5\x25\x66\xfb\x5e\x6f\x68\xb5\xb4\x43\xb3\xf9\x5e\x21\xb6\x85\xbd\x56\xf0\x52\xdb\x7f\xe2\x85\xd1\xf4\xee\xb7\xe7\x5a\x7e\x56\x0f\xe1\x31\x03\xcf\xaf\x77\x7c\x6e\x2f\xe5\x17\x13\x6a\x48\x83\xf1\x08\x4f\x5a\x66\xff\x66\xc5\x6d\x7c\xbd\x53\xc7\x5b\x67\x9a\xd4\x5d\xff\x51\xd2\x37\x39\xd4\xd9\x78\xb2\xb0\xe9\xc6\x3a\x1c\xa5\xaf\x6c\x2c\x24\x8f\x0c\x76\x14\x1e\xc6\xc3\x9d\x28\x98\xc8\xe2\xe9\xfa\xcf\xd1\x76\x4f\x92\x93\x98\x7a\x5d\xf3\xfc\xf6\x89\xe6\xf9\x9d\xef\x98\xbb\x56\x38\xf6\xce\xa5\x9f\x38\x08\x45\xfc\x18\x7f\x6f\x44\xe9\x7f\x9b\xa8\xb5\x13\xdd\xf3\xc3\x85\x33\x82\x70\x59\xe7\x27\x38\xa2\x6c\xc7\x49\xb0\xd9\x62\xae\x0d\x6e\xb8\x21\x0c\x25\xde\xe3\x6d\x50\xda\xcd\x1f\xf9\x32\x77\x4a\x78\xb8\x5b\xdb\xe2\x4e\x2a\x45\xac\x73\x74\x11\xdd\x5d\x51\x4f\xac\xbe\xc0\xb7\x6f\xde\x80\xb7\x72\x76\xf2\x6e\x0e\x5f\x3d\xee\xf7\x1f\xdb\x18\x8a\xce\xec\x0f\x2d\x62\xcf\xd9\xf9\xb8\x36\xb8\xe7\xfb\xe1\xf8\xb9\xf0\x2d\xea\x78\x88\x11\xdf\x9f\xe7\x98\x17\xf6\xa1\x22\xcb\xa8\x07\xed\x14\x06\x22\x3b\x38\x7b\x39\x31\x05\xbd\xb8\x0b\x9d\xaa\xec\xe3\xb2\x4e\xdd\x95\xb5\x68\x5c\x77\x55\x9a\x6a\x95\x1a\x74\x81\xb7\x04\xf7\x74\xb7\x5f\x1e\x5f\xa5\x6d\x87\x3f\x63\x79\xa1\x88\xf7\x5a\xb6\xb6\xd5\x8b\x23\xd1\x20\xed\x82\x84\xa3\xbd\x2c\xa5\xfd\x41\x59\xc7\x07\x3f\xa4\x1e\xf3\x35\x4c\x9f\xfe\xb7\x42\x11\x9b\xee\xba\x1f\x90\x2a\xd5\x55\x2d\x5c\xef\xbf\x83\xd0\xfe\x2e\x9b\x49\x4d\xde\xc1\xb1\x69\xfd\x98\xf4\x97\x38\x8f\xcc\xa6\xe2\x8a\x8b\x67\x53\x70\x3e\xb7\x9f\x99\x2d\x7f\x8d\xef\x4e\xac\x9e\xbf\x28\x81\x6c\x53\x3d\x99\x39\x5d\xcc\x3c\x0a\x60\xa3\x8c\xf9\xff\x6c\x75\xff\x94\x43\x7c\x36\xe4\xb5\xb5\xd7\xa2\xca\xd0\x7c\x56\x08\x84\x33\xb9\x33\x7d\xb9\x7a\xc9\x3c\x57\xaf\xbb\x61\x80\x6f\xfc\x67\xf3\xeb\x3f\x6f\xec\x3b\xbc\x25\x30\x28\x1c\x7e\x4f\x0d\x49\x80\xe8\x70\x4d\xa0\x8e\xe1\xff\x45\xe9\xf0\xcd\x80\x9f\x30\xbc\x15\x82\x90\xfd\x3f\x68\xf4\x25\xdc\xa4\x85\xeb\xb1\xca\xd9\xb3\xef\x00\xce\x0c\xf3\x5f\x2f\x5f\xaf\xe1\xea\xae\x40\x32\xb4\x0c\xf7\x23\x31\x0b\x7d\x0c\x30\x2f\xee\x5b\x7c\x41\x72\x86\xcb\xe4\xd9\x65\x63\x9c\xa9\x50\x38\xbd\x31\x3e\x09\xf2\x3f\x3c\xc6\x7f\xf8\x6f\x00\x00\x00\xff\xff\x8e\x7b\xad\x90\x99\x29\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x73\xdb\x36\x12\x7f\xe7\xa7\xd8\x71\x67\x2e\x52\x4f\x95\xf2\x70\x73\x0f\x9a\x26\x6e\xd2\xd6\x37\x7d\xe9\x74\x6a\x5f\xf3\xd0\xb9\x39\x41\xe4\x52\x44\x43\x02\x2c\x00\x4a\xd1\x79\xfc\xdd\x6f\x76\x01\xf0\x9f\x28\x5b\x76\x9b\x87\xbb\x3c\x24\x36\x49\xec\x2e\x16\xbf\xdd\xfd\xed\x22\xab\x2f\xbf\x4c\x92\x2f\xe0\xae\x40\xb8\x29\xf5\x01\x6e\x1a\xb5\x93\xdb\x12\xe1\x4e\x7f\x44\x05\xd6\x09\x95\x09\x93\x25\xc9\x17\x5f\xc0\x26\xbe\xe4\x77\x1b\x48\xb5\x72\x46\xa4\x2e\x49\x78\xf9\xf4\x4a\x90\x16\x94\x86\x52\xab\x1d\x1a\x10\x0a\xa4\x72\x68\x72\x91\x62\xe2\x0a\xe1\x40\x94\x25\xe4\x71\xa9\xe3\xa5\x51\xae\x85\x83\x6e\xca\x0c\x0a\xb1\xa7\x57\xf4\x3c\xd7\xa6\x02\xa7\x97\x49\xf2\x43\x0e\x02\x1a\x8b\xc6\xc2\x41\x28\x67\xe9\x83\x0c\xeb\x52\x1f\x41\x80\xc2\xc3\x48\xd6\x02\x5c\x81\xd2\x74\x36\x67\x1a\xc9\x30\x07\x0a\x31\xa3\xc5\xb2\xaa\x4b\xac\x50\x39\xfa\x12\x06\x5b\xed\x6c\x5e\xc0\xb6\x71\x41\x14\x2b\xb0\x49\xa6\xcf\x88\x68\x17\x59\xc8\x30\x97\x0a\x33\x90\x0a\x5c\x21\x6d\x6b\xc5\xd2\xfb\xf5\x17\xd1\x94\x6e\x03\x06\xad\x6e\x4c\xda\x5b\x99\x24\xdf\x8b\xb4\x18\xfb\xa7\xfd\xce\x1d\x6b\x64\xe5\xf6\x54\xfb\x79\xa1\x41\xe9\x4f\x46\xef\x65\x86\x66\xb3\x80\xcd\xcf\x98\xa2\xdc\xf3\xcf\x42\x65\xb0\x79\x2f\x4a\xa1\x52\x9c\x5a\x6d\xf9\xb4\xed\x68\x7b\x69\x29\x0c\x42\x6d\xf0\xab\x54\xab\x4c\x3a\xa9\x95\x65\x51\xb5\xb6\xae\xff\x8c\xcf\xdc\xa0\x75\x46\xa6\x2e\x21\x43\xf1\x13\xa6\x0d\xbd\x04\x9d\xb3\xe5\x79\xa3\x52\xff\x31\xbb\x0b\x81\x77\xb2\x64\xbd\x47\x20\x3d\x16\x6b\x61\x84\x43\xd8\x62\x2a\x1a\xb2\xc5\xc1\x4e\xee\xd1\xf2\xe7\x04\x0a\xfe\x41\x6c\x65\x29\xdd\x91\x7c\x63\x0b\x61\x30\x11\x60\x30\x47\x83\x2a\x65\x3c\xf9\x63\x64\xe9\xde\x2e\xad\xca\x23\xe0\xa7\x5a\xdb\x20\x2a\x97\x58\x66\xb6\xb3\x28\x91\x0a\xb4\x42\xd0\x06\x2a\x6d\x30\x5a\xdc\xb9\x82\x80\x49\x98\xb6\x3a\x18\xe4\x11\x3a\xb2\xa6\x12\x1f\x11\xd2\xc6\x3a\x5d\xb5\x1e\x0e\xae\x69\x0f\x91\x7c\x33\xf4\x32\x01\x5c\xc3\x5e\x18\xa9\x1b\xfa\x5a\xaa\x9d\x85\x83\x74\x05\x8b\xf7\x68\x5c\x26\x37\xda\x00\x7e\x12\x24\x66\x01\x02\x72\xd1\xa4\xe8\x20\x15\x0a\xb6\xd8\x49\xc7\x0c\xb6\xc7\x18\x50\x52\xed\x12\xef\x0e\x88\xa0\x18\xa0\xe5\xcb\x55\x92\xc8\xaa\xd6\xc6\xc1\x2f\x12\x0f\x3f\xa3\xd5\xe5\x1e\x0d\xe4\x46\x57\x70\xd5\x7f\x74\x95\x24\xab\xd5\x6a\x18\x3c\xf4\x64\xf0\x34\x24\x88\xd6\x16\x11\xd0\x62\xb0\x97\x28\x0c\xfe\xde\x48\x33\x15\x56\xc3\x60\x60\xc9\x9d\xb1\xf0\x01\xc1\x3a\x59\x96\x3e\x69\x48\x07\xc2\x0e\x92\x0e\x14\x68\x3a\xdc\x38\xfe\x8d\x21\xa5\x2b\x46\x4e\xde\x94\x2c\xb2\x71\xfe\xb4\x2a\x74\x85\xce\xc2\xe1\x54\x42\x1d\xa1\x36\xfa\x37\xe4\xe4\x44\x6a\xbc\x32\xca\x40\x64\x29\x2b\xd5\x6a\x94\x6b\xec\x82\x45\x86\xcc\xe1\x21\xbc\x3d\xd2\x66\x2b\x14\xca\xb6\x7b\x5d\x72\x32\xf4\x30\xe8\x9e\xd2\xcf\xfc\xac\x3d\x65\xbf\xe7\xe8\x14\x3b\x08\xf7\x2e\x75\x88\x34\x45\x6b\x67\xa2\x2c\xe7\xad\x25\xa3\xb4\x76\x9f\x24\x00\x00\xab\x15\xbc\x53\x80\xca\x49\x17\xfc\x9c\x6b\x43\xb6\xe8\x83\x54\x3b\x16\x4f\x30\xcb\x8c\x38\x88\x92\x31\xcf\x58\xf3\xe7\x2f\x7c\x00\xb1\xa0\xbe\xca\xbe\xb8\x0f\x71\xf5\xb6\xc4\xa8\x72\xc5\x35\x07\xf7\xfe\x58\xfd\x96\xb1\x92\x8e\xa0\x79\x28\x50\x45\x25\xe4\xac\xa8\x5d\x3d\xa1\x72\xdf\x57\x36\x13\x95\x6e\x94\x5b\xc3\x3f\x6f\xe4\xa7\xbf\xff\x6d\xc1\x6b\xd7\xf0\x2e\xcb\x0c\x5a\x7b\xbd\xe0\xec\xb9\x86\x5b\x67\xa4\xda\xcd\xfb\xc2\x2c\x96\xf9\x9c\x70\xc6\x06\x45\x79\xdf\x93\xf4\xe7\x09\x5d\xc3\x7b\xad\x4b\xb8\x67\xe1\xf4\x87\xe4\x9d\x1a\xe8\xff\x8d\xb2\xe8\xef\x28\x87\xfe\x9e\xb7\xab\x0d\xba\xc6\x28\x70\xa6\x41\x7e\xf6\xf0\x12\x5f\x66\x58\x6b\x2b\x9d\x8f\xac\xc7\x3d\xf9\x9d\xff\xf4\x64\xcf\x4e\xbf\xc0\x8d\x41\xd8\xb4\x17\x1f\x91\x38\xed\xc3\xb1\x69\xd1\x85\x24\xc8\xe9\xcf\xe8\x3e\x67\x84\xb2\x39\x1a\x0a\x4c\x06\x23\x95\x03\x91\xa6\xa4\x9e\x3d\xaa\x34\x25\x95\x33\x1e\xbd\x0b\xab\x9f\x86\xd1\x4b\x5c\x1c\xa5\x5f\x88\xd4\xe7\xfa\xfc\xc4\xf8\x49\xdc\xbe\xec\x00\xd8\xe4\x47\x30\x6b\x9d\xd1\x47\xcc\xce\xb8\xf5\x7d\x63\xd4\x29\xa6\x06\x4e\x3b\xef\x35\x5a\x7c\x06\x95\x8f\xfa\x44\xe6\xc1\x01\xf0\xf6\x0d\xbc\x5e\xbe\xee\xbd\x6a\x5d\x36\x30\xac\xc5\xe8\x84\x6b\x1e\x2e\x71\x52\x2c\xce\xf1\xc1\x00\xbe\x5d\x85\x63\x08\x23\x55\xf6\x34\xd0\x98\x50\x4a\x7c\xb5\xa0\xdc\x1e\x13\x2a\x55\xfe\x28\xa4\x9f\xd4\x99\xd4\xc4\x02\xc3\x35\xe0\x58\xe3\xf2\x44\xef\x0f\x0e\x5a\x1a\x1d\x14\x0e\x75\x69\x05\x9b\x6d\xe4\x92\x54\x6b\x17\xed\xda\x1e\x75\x2b\x51\x10\x55\xd2\x35\x7a\xbe\x57\x6b\x6b\x65\x60\x4b\x3a\x87\xd4\xa0\x60\x23\x02\x63\xaa\x83\x1b\x6c\x67\x3a\xed\x98\x78\x38\xd3\x79\x3a\x63\x61\x64\x79\x0c\xbc\x9c\x6b\xb1\x3e\x28\x08\x96\x0c\xf7\xd1\x47\xd3\x29\xdb\xed\x08\x51\xa8\x95\x51\x65\xf4\x20\xd8\x66\x1b\x9a\x95\xb1\x03\xf5\x41\xa1\x79\x65\x7b\x29\x36\x2e\x26\x62\xec\xcf\xd9\xc6\x14\xdc\x11\x39\x83\x95\xde\x73\x7a\xf6\x84\xae\xb7\x70\x20\xe4\xae\x47\x95\x5f\xd9\xb0\x0f\x28\x71\x8f\x25\x25\xb0\xba\xd9\x96\x32\x8d\xfd\x8a\xb4\xbe\x0f\x73\x20\xc8\x7f\xdb\x12\xab\x81\xb0\x78\x1a\xcc\x80\x5b\xe3\xc1\x3a\x6d\x22\x05\xe8\x39\x27\xf8\x34\xa4\xbd\x81\xa0\x94\xc9\x96\x74\x52\x94\xe5\x11\x52\x4f\x68\x64\x47\xa1\x1f\xdf\x8f\xd7\x5a\x89\x23\xec\x0c\x51\x2a\xce\xa5\x51\x4f\xbb\x47\x62\xae\x11\x13\xb4\x1d\xb9\x17\x0e\x47\x56\xd4\x2d\xdd\x0e\x4d\xa6\x3e\x58\xb0\x35\xa6\x32\x97\x69\x90\x1b\xb8\xb9\x0e\x72\x07\x12\x18\x87\xf1\xec\xbb\x86\xab\x30\xba\xd9\x15\xd0\x6b\x24\x2e\xdd\x90\xef\x09\x78\x57\xe4\x94\x27\xf6\xc4\x87\x77\xc9\x96\x48\xd6\x68\x1f\x03\xdb\x07\x32\x9e\xbf\x8f\x10\x1d\x7d\x02\xe7\x33\xe7\x61\x9a\x65\xcd\xd7\xf0\xcd\x3d\x03\xfa\x61\x94\x0f\xa9\x11\x1c\x3d\xf2\xca\x60\x63\xd0\x86\x56\x35\x0f\x1b\xf1\x78\xe3\x44\xb8\x17\x65\x83\x27\xcb\xfc\x92\xe5\x0e\x5d\x68\x55\x67\x73\x78\xf3\x26\xa4\xd8\xf5\xc9\xe7\xf4\xe7\xea\x43\xc7\x61\x43\xe2\xae\x1a\xeb\xa8\x2d\x22\x75\x56\x54\x48\xcd\x02\xfd\x1c\x12\x45\x6c\xef\x3a\xfa\xc9\x3b\xbb\x9a\xd8\xc4\x80\x57\x2f\xcf\xd3\xc6\x61\xc9\xa4\x42\xb4\x64\x88\x5c\x2f\x85\x2f\xc5\xb1\x3c\xf0\xab\x1d\xba\xbb\x63\x8d\xb3\xf9\x52\x66\x94\x88\x73\x89\x66\x3e\xd0\xfe\x30\xaa\x20\xbd\x6a\x11\x7b\xfa\x3f\x5e\x2d\x02\x65\x9c\x28\x16\x52\x85\xc3\xba\xa0\x58\x7c\xc0\x98\xa2\xa5\x4a\xcb\x26\x43\x10\xd0\x0e\x06\xbc\x19\x69\x81\xe9\xc7\xe1\x11\x84\xc4\xd4\x4a\x39\x60\xdb\x6c\x51\x83\x7d\x49\x7f\xed\xdd\xe0\x9b\xa8\x04\x7a\x79\x2a\xd3\xf1\xa3\xe9\x66\x7a\x01\xa5\xfc\x88\x60\xeb\x52\x72\xf7\x55\x41\x53\x53\xee\x6e\x85\x58\x54\x99\x7f\x41\xbd\xb9\xcc\x39\x94\x1c\xd4\xa5\x1f\x05\xc0\xe5\x65\x26\x1e\xd6\xb8\xcc\x04\xd7\x83\x13\x1f\xb1\xab\x15\x54\x3f\xc2\x1b\x4b\x05\x74\xfa\x18\x06\x63\xa2\xc7\xa2\x9b\x8d\xa2\xa0\x0e\x32\x67\x1e\x9d\x31\x90\xe7\x43\x93\x76\xe8\x6e\x9b\xba\xd6\xc6\x61\xc6\x1f\x10\x44\xa9\x7a\xd3\x39\x72\xd6\xef\x4a\x5b\x29\xad\xa3\x28\xda\xfb\x19\x0b\x7f\x18\x7a\x59\xee\x70\xc3\xa6\xc9\x8e\xda\xd9\x49\xbb\xf6\x12\x0f\x6c\xdc\xb4\xde\xd9\x7c\x0d\xf7\x77\x1c\x32\xc4\xcf\x4e\xb2\x8e\x41\xb8\x67\x32\xb5\x86\xab\xac\xa9\xaa\xe3\xd5\x20\x66\x06\x3b\xfb\x39\xd8\x7d\x28\x90\xeb\x83\x36\x0c\x57\x72\x2c\x61\x4d\xf9\x79\x9b\xb4\xc1\x5e\x3f\x43\xa1\xb7\x83\x50\x8b\xd2\xde\xc5\x5d\x33\xb2\x85\x0a\xab\x40\xa8\xa3\x17\x64\x0b\x9e\x6e\xfe\x46\x49\xa8\xc7\xfa\x48\x68\x86\xf9\x80\x34\x4c\x3a\x44\xda\x53\x7f\xcc\x7c\xf6\xa0\x1f\x4f\x19\xeb\x25\x0e\xe9\xb9\xe5\x09\xc8\xc6\x76\x40\x9b\x9e\x8a\x30\xe7\xe1\x52\xef\xa7\x08\x90\x49\x83\xa9\x6b\x1b\x27\x90\xca\x3a\x14\x19\xc1\xa2\x10\x7b\xce\x17\x3c\xd8\x12\x2d\xd8\x09\xde\xdd\xc0\xe1\x79\x75\xc9\x9d\xeb\xb0\x22\xd8\xd6\xf0\x6d\x5b\x49\xbf\xfe\xcb\xfd\x30\x71\xc7\x83\x7c\x78\x3b\x9f\xf2\xdb\x44\x19\xf2\xdf\x2f\x39\x73\x11\x16\xaf\xbe\xe5\x43\x25\xdc\x6c\xb5\x31\xfa\x00\xa7\x43\x47\xf8\xf1\xe6\xae\x5d\x7a\x75\x69\x3e\xef\x68\xe4\x80\x82\x67\x48\x31\xb7\x08\x1c\xaf\x3d\x1d\x3f\x39\x67\xd2\xd1\x8d\xcd\x5b\xa0\x2e\x20\x94\xcd\x45\xef\x18\x17\x2d\xd9\xf5\x53\xe0\x38\xd4\xeb\x28\x7b\xd3\xf5\xc7\xb4\x41\x1b\xe1\x07\x47\x74\xcf\xc9\x76\xbc\x95\x75\xcf\x9a\x69\x23\xfa\x93\xc5\x65\x3b\x75\xbc\x87\xd5\x6a\x11\xcc\x1f\xa7\xcb\x7f\xa0\x9b\x2a\xe0\xfb\xa7\x83\xa9\xcf\x24\x22\x68\xfe\x87\xf3\xde\x6a\x05\xef\xb1\xd4\x07\x5f\x52\xe9\xc0\xfa\xa3\xdf\x58\x22\x6d\x63\x02\x01\x30\x8d\xfa\xca\xc9\x2a\x5c\x29\x30\x78\xc6\xf2\xb8\x35\xd8\x61\xcc\x55\x6d\x9b\x4e\x64\x53\x70\xdd\x6b\x4f\x3a\x20\x2e\x14\xd4\xe1\xb5\xd1\xd2\x0f\x2a\x97\x30\x90\x2f\xf3\x13\xc6\x63\x6f\x9b\x2d\x59\x33\xd3\xb9\x4f\x68\x5f\x7f\x73\x3f\x21\xe9\xe1\xed\x6c\x3e\x0e\x56\xe8\xfa\xe8\xfb\xa1\xd8\x35\xa7\xbe\x87\x61\xcc\x01\x96\x76\x2a\xba\xdb\x92\x00\x42\x01\x56\xb5\x3b\x42\x26\x39\xb5\x09\x73\x8c\x5c\x31\xa4\x6a\xcf\x53\x39\xe5\xb5\x6e\x38\x14\x94\xd8\xd4\x2b\x37\x25\xb9\x1b\x6a\x4f\xfa\x67\x01\xb6\x49\x0b\x52\x32\x7c\x7d\x7b\x90\x2e\x2d\xb6\x5a\x98\x6c\xb3\x80\x0d\x3f\xbb\xd1\xe6\x20\x4c\x86\x66\x03\xe8\xd2\xe5\x59\x57\x3c\x9c\x4d\x35\x9f\xa1\xd0\x04\xa5\xd1\xfd\x93\x10\xfe\x95\x84\xfc\x0b\xae\xaf\x21\x17\xa5\xc5\xa7\xea\x32\xd3\x74\xa7\x8d\xd8\x11\xe4\x5c\x41\x00\x34\xd8\x45\x78\xac\xa8\xee\x58\xcb\x94\x23\x72\xeb\x17\x60\xf6\x64\x88\x7d\xe7\x8f\xf1\xd6\x8b\xff\x49\xb8\x82\xc0\xd2\xfb\xf5\x7a\x7a\x7f\x4a\x96\x97\x98\xed\x1b\xba\xa1\xd5\xd2\x0e\xcd\xe6\xcb\x83\xd8\xfb\xf5\xfa\xbd\x4b\x6d\xff\x89\x17\x46\xd3\xbb\xdf\x9e\x6b\xf9\x59\x3d\x94\x8f\x39\xf1\xfc\x7a\xc7\xe7\xd6\x2f\xfb\xfc\xcf\xe3\xe4\x62\xb5\x1a\xfe\x32\x66\x9f\xc6\x67\x78\xd2\x32\xfb\x37\x2b\x6e\xf1\xf5\x4e\x1d\x6f\x9d\x69\x52\x77\xfd\x22\xa5\x4f\x4d\x6e\x36\x9e\x2c\x6c\xba\xd9\x0d\xa3\xf4\x95\x8d\x85\xe4\x91\xe9\x8d\xc2\xc3\x78\x82\x13\x05\x13\x41\x3c\x5d\xff\x39\x7a\xeb\x49\x72\x12\x43\xaf\xeb\x90\xdf\x3e\xd1\x21\xbf\xf3\x6d\x71\xd7\xef\xc6\x06\xb9\xf4\x63\x05\xa1\x88\x13\xe3\xef\x8d\x28\xfd\x6f\x13\xb5\x76\xa2\x45\x7e\xb8\x70\x10\x10\x6e\xe4\xfc\x98\x46\x94\xed\xcc\x08\x36\x5b\xcc\xb5\xc1\x0d\x77\x7d\xa1\xc4\xfb\x7c\x1b\x94\x76\x43\x46\xbe\xb1\x9d\x12\x1e\x2e\xd0\xb6\xb8\x93\x4a\x11\xeb\x1c\xdd\x36\x77\xf7\xd0\x13\xab\x2f\xf0\xed\x9b\x37\xe0\xad\x9c\x9d\xbc\x9b\xc3\x57\x8f\xfb\xfd\xc7\x16\x43\xd1\x99\xfd\xc9\x44\x6c\x2c\x3b\x1f\xd7\x06\xf7\x7c\x09\x1c\x3f\x17\xbe\x0f\x1d\x4f\x2a\xe2\xfb\xf3\x1c\xf3\xc2\x66\x53\x64\x19\x35\x9a\x9d\xc2\x40\x64\x07\x67\x2f\x27\x46\x9d\x17\xb7\x9a\x53\x95\x7d\x5c\xd6\xa9\xa9\xb2\x16\x8d\xeb\xee\x43\x53\xad\x52\x83\x2e\xf0\x96\xe0\x9e\xee\x8a\xcb\xe7\x57\x69\xdb\x09\xcf\x58\x5e\x28\xe2\xbd\x4e\xad\x6d\xef\xe2\xdc\x33\x48\xbb\x20\xe0\x68\x2f\x4b\x69\x7f\x50\xd6\xf1\xc1\x0f\xa9\xc7\x7c\x0d\xd3\xa7\xff\xad\x50\xc4\xa6\xbb\xee\x07\xa4\x4a\x75\x55\x0b\xd7\xfb\x3f\x1f\xb4\xbf\xcb\x06\x4f\x93\x17\x6d\x6c\x5a\x1f\x93\xfe\xa6\xe6\x91\x01\x54\x5c\x71\xf1\x00\x0a\xce\xc7\xf6\x33\xa3\xe5\xaf\xf1\xdd\x89\xd5\xf3\x17\x05\x90\x6d\xaa\x27\x23\xa7\xc3\xcc\xa3\x09\x6c\x14\x31\xff\x9f\xad\xee\x9f\x72\x88\xcf\x4e\x79\x6d\xed\xb5\xa8\x32\x34\x9f\x35\x05\xc2\x99\xd8\x99\xbe\x41\xbd\x64\x68\xab\xd7\xdd\x30\xc0\x37\xfe\xb3\xf9\xf5\x9f\x37\xdb\x1d\x5e\x05\x18\x14\x0e\xbf\xa7\x86\x24\xa4\xe8\x70\x17\xa0\x8e\xe1\x3f\x3f\xe9\xf0\xcd\x80\x9f\x70\x7a\x2b\x04\x65\xf6\xff\xa0\xd1\x97\x70\x93\x36\x5d\x8f\x55\xce\x9e\x3d\xe8\x3f\x33\xb1\x7f\xbd\x7c\xbd\x86\xab\xbb\x02\xc9\xd0\x32\x5c\x82\xc4\x28\xf4\x18\x60\x5e\xdc\xb7\xf8\x82\xe0\x0c\x37\xc6\xb3\xcb\xc6\x38\x53\x50\x38\xbd\x16\x3e\x01\xf9\x1f\x9e\xd5\x3f\xfc\x37\x00\x00\xff\xff\x97\xfd\x57\xec\x7e\x29\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0x93, 0xad, 0xff, 0x28, 0x94, 0x64, 0x2f, 0x31, 0xf5, 0x49, 0xa2, 0xd9, 0x59, 0x3, 0x48, 0xb4, 0xd3, 0xa4, 0x64, 0x1b, 0xfe, 0xd4, 0x35, 0x69, 0xef, 0x93, 0x51, 0xcc, 0xa4, 0xf5, 0xf6}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x85, 0x1c, 0xe0, 0x46, 0x2e, 0x3d, 0xaf, 0x29, 0xc0, 0xb1, 0x41, 0x73, 0xf7, 0x61, 0x21, 0xd2, 0x22, 0x73, 0x2d, 0x83, 0xa5, 0x3a, 0x43, 0xaf, 0x4c, 0x5, 0x12, 0x3d, 0xe7, 0x4d, 0x91, 0x71}}
 	return a, nil
 }
 
@@ -241,7 +241,7 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x5f\x6f\xe3\xb6\xb2\x7f\xd7\xa7\x98\x4d\x81\xae\x5d\xb8\xce\xc5\xc5\xc5\x7d\x30\x4e\x4f\xba\xdd\x34\x07\x01\x0e\xd2\x62\xd7\x6d\x1f\x8a\xa2\x61\xa4\xb1\xcd\xae\x44\xaa\x24\x65\xd7\xc8\xe6\xbb\x1f\xcc\x90\x94\x28\x4b\x4e\xe2\x6c\x0b\x9c\x87\xee\x43\xd6\x96\xc5\x1f\x87\xf3\xe7\xc7\x99\x21\xcf\xbf\xf8\x22\xcb\x3e\xfb\x0c\x96\x1b\x84\xab\x52\xef\xe0\x46\xab\x2f\xaf\x1a\xb5\x96\x77\x25\xc2\x52\x7f\x40\x05\xd6\x09\x55\x08\x53\xf0\x8b\xb7\x37\x5a\xc5\xdf\xf9\xe7\x5b\xc8\xb5\x72\x46\xe4\x0e\xa4\x72\x68\x56\x22\xc7\x2c\x23\xbc\xf6\x2b\xb8\x8d\x70\x20\xca\x72\x0c\x3d\x8e\xb6\x60\x37\xba\x29\x0b\x7a\xb0\xd2\xa6\x02\xa7\xe7\xd9\xf5\x0a\x04\x34\x16\x0d\xec\x84\x72\x16\x9c\x86\x02\xeb\x52\xef\x41\x80\xc2\x1d\xdc\x5c\x2d\x5b\x80\x19\xb8\x0d\x4a\xd3\x89\xb3\x63\x38\x85\x58\x64\x4e\x83\xac\xea\x12\x2b\x54\x8e\x5e\x83\xc3\x55\x74\xc2\xce\x59\xf8\x14\xa7\x6a\xac\x83\x95\x2e\x49\x3d\xb4\x08\x1a\x6f\x9a\x12\x2d\x08\x55\x80\x12\x95\x54\xeb\x8c\x97\xe8\x7a\xab\xb6\x35\xe6\x72\x25\xd1\xce\x83\xe6\xae\x96\xb7\x60\xd0\xea\xc6\x44\x15\xe5\xda\x60\xfb\x08\xdc\xbe\x0e\xba\x32\x58\x1b\xb4\x48\x4b\x16\x8a\x57\x29\x15\xa3\xdb\x4a\x18\xd7\x8a\x16\x80\xdf\xea\xb2\xc4\xdc\x49\xad\x6e\xe1\x5d\x0f\xbf\x83\x26\x54\xeb\xb4\x21\xa9\x59\xa3\xaf\x6d\xd0\x5e\x1c\x3b\xcf\xae\xc9\x84\x79\xd9\x14\xfc\xd2\x0a\x77\xb0\x6a\x14\xff\xc6\x9a\x17\xac\x01\x92\x42\xef\x14\x1a\x7a\x84\xc2\xca\x72\x9f\x55\x7a\x8b\xe0\x48\x8f\x96\x04\x25\xb5\xe8\xc6\x81\x5e\xf1\xdb\xe9\x14\x2c\xef\xf7\x46\x6f\x65\x81\xe6\x96\xdf\xbc\x7d\x87\x39\xca\x2d\x7d\x6d\xc5\x6d\x95\x68\x79\x1d\x36\x7d\x02\x05\xe6\xa5\x30\x98\x08\xb7\x93\x6e\x03\x56\x57\x08\xb5\x41\x06\xad\xb5\x65\x35\x15\x92\xdf\xc8\x82\x56\x7f\x6f\xa4\x41\x16\xaa\xd3\x19\xad\x23\x58\x37\x47\xe3\x84\x54\xc1\xa6\x0c\x74\x87\x1b\xb1\x95\xda\xb4\x51\x60\xbd\x83\xec\x81\x44\xb0\x58\x0b\x23\x1c\xc2\x1d\xe6\xa2\x21\x31\x1d\xac\xe5\x16\x2d\xcf\xc1\x8e\x4b\x1f\xc4\x9d\x2c\xa5\xdb\xd3\x4c\x76\x43\xe3\x04\x18\x5c\xa1\x41\x95\x23\xf9\xa6\x77\xdc\x54\x24\x12\x57\xab\x72\x0f\xf8\x47\xad\x6d\xc0\x5b\x49\x2c\x0b\xef\x75\xdd\xda\xa5\x02\xad\x10\xb4\x81\x4a\x1b\xcc\x82\xce\x3b\x75\xcd\xe1\x9a\x62\xcf\xea\x20\x18\x09\x65\x0f\xa5\xaa\xc4\x07\x84\xbc\xb1\x4e\x57\xad\x11\x82\xd2\x7a\x71\xd3\x37\x04\x45\xa3\x86\xad\x30\x52\x37\x04\x29\xd5\x3a\xd8\x82\xe0\xbd\x3f\xcc\xb3\xec\x9b\x3d\x34\x96\xf4\xd9\x22\xf3\x12\x3a\xa0\x59\x10\x4a\xaf\xd8\x25\xfb\x3e\x6e\x21\x17\x0a\x2c\xaa\x22\xa3\x51\xc6\x3b\x4b\xf4\xb6\x1a\xd1\x7c\xe9\xf4\x97\xf4\xff\x8c\xe7\x26\xc7\x23\x93\xa9\x35\xc9\xc7\x93\x30\x19\x90\x58\x02\x72\x24\xd4\x12\x4a\x2c\xd6\x68\xb2\x41\x38\x2d\x35\x4f\x15\xa3\x8e\xbc\x5e\x69\xb7\x41\xc3\x22\xce\x5a\x36\x62\x6a\xb1\xa4\x9b\x3d\x43\x17\x46\xf8\xd0\xb8\xb9\x5a\x66\x2b\xa3\xab\x81\x4d\x99\x9e\x14\xe4\x91\x41\x0a\xac\xb5\x95\xae\xb5\x24\x68\xd5\x9b\xeb\xb5\xcd\xfa\x3e\x9a\x6b\xb2\x84\xf3\xee\xeb\x8c\x50\x76\x85\x66\x9e\x65\x5f\x9c\x67\x99\xac\x6a\x6d\x1c\xfc\x28\x71\x47\x04\x50\x6e\xd1\x00\x4b\x71\x36\x3f\x4f\x1f\xce\xf3\x22\x3f\xcb\xb2\xf3\xf3\x73\x66\xfc\x8a\x9c\x3d\xe5\xd0\x84\x06\xe1\x3b\x16\x25\xfd\x95\x8c\x5b\x96\x3c\x3a\x4c\xc8\x76\x4c\x1c\x44\xda\x64\x13\x38\x3f\x3f\xcf\x44\x9e\xa3\xb5\x13\x51\x96\xd3\x6e\x92\x01\xf9\xde\x67\x19\x00\xc0\xf9\x39\xbc\x51\x80\xca\x49\x17\x10\x57\xda\x78\xda\x61\x73\x6e\xb0\xd5\xb5\x28\x99\x5d\xbc\x13\xf0\x4a\x05\xfc\x28\x9a\xd2\x31\x50\x3a\x6b\x0a\xf7\x53\x1c\x7d\x57\x62\x9c\xf2\x1c\xbe\xdd\x7a\xe1\xc9\xd9\x2d\x60\x25\x9d\xc3\x02\x76\x64\x2d\xe1\xa7\xa0\xe7\x71\x66\x35\x6b\x07\x4a\x55\xc8\x5c\xb8\x28\x9b\x67\xc5\x01\xe9\x05\x64\x07\x3b\x91\xa0\xb0\xd0\xf3\x08\xd5\x42\x5e\x0f\x46\x4b\x0b\x4a\x3b\x4f\xab\xb4\x30\xdd\x28\xf7\xda\x32\x97\x8b\x35\xce\xe0\x96\x80\x6e\xd9\x32\x70\x87\x70\xab\x64\x79\xdb\xc7\xed\x69\x63\x9b\xea\x61\x22\x8b\x05\xfc\x70\xad\xdc\xff\xff\xdf\x0c\x9a\x26\xfd\x46\xa8\x0b\x78\x53\x14\x06\xad\xbd\x98\xf1\xde\xb4\x80\xf7\xce\x48\xb5\x9e\x66\x29\xae\xc5\x72\x35\x25\x37\x66\xd5\xdd\x5c\x2d\x3f\x15\x7d\x01\xdf\x68\x5d\xf2\x14\xf7\xfc\x97\xfe\x11\x76\x5f\x6e\x59\x44\x54\xfa\x1b\x31\xe9\x6f\xc4\xa3\xbf\xd3\x16\xc1\xa0\x6b\x8c\x02\x67\x1a\xe4\x67\x0f\xa3\x1e\x70\xcc\xfc\x21\x5c\xb1\x60\x4e\xe8\xed\x69\x03\x1b\xba\xe8\x19\x81\xb7\x9f\xe3\x18\x29\xfe\x53\xe6\xbb\xf4\xef\x3e\xa2\x5f\xa7\x5f\x68\xbb\x4f\x82\x3e\x6e\xb8\x14\xf6\xd0\x6e\x04\xe8\xf4\xc9\x36\x5b\x06\x06\x1c\xa8\x9f\x88\x0d\x3b\x83\x86\xac\xf2\x0e\xfb\xa6\x0d\xd4\x41\x9b\x71\xe4\x52\x83\x85\xa7\x12\xda\x4f\x43\xa4\x25\x3b\xc0\x13\x46\x89\xf2\x9c\xe2\xf5\x2f\xb5\xd2\x93\x73\x5d\x9c\x32\xd9\xc5\xb8\xe1\x82\x2a\xa3\x76\xa0\x42\xb7\xd1\x05\xef\xc6\xc1\x2c\x2b\x51\x5a\xaf\x6b\x90\x2b\x72\xe4\x42\x16\xea\xb5\xa3\xa4\x40\xb4\xe3\x52\x3c\xa9\x60\xb7\x91\xf9\x06\x72\x61\x11\x76\x08\x85\xa6\xf7\x29\xb7\xe7\xd8\x08\x66\xd3\x89\xb5\xda\xe1\x72\xc5\x2b\x84\x57\x5f\x81\x92\x25\x7c\xfe\xb9\x4f\x97\xc3\xd7\x4e\xec\xd6\xe7\x7a\x4a\xea\x3b\xdd\xab\x03\xb6\x18\x78\xe0\xab\x69\x0f\xef\xd0\x0d\xd9\x15\x01\x69\xf5\xf7\x4f\xbf\x78\xe8\xb9\x97\x68\x9d\xd1\xfb\x17\x3a\x6e\xac\x07\x88\x32\x18\x27\xe8\x68\x8c\x26\xf8\xf7\xc7\x62\xf9\x14\x62\x38\x09\xec\x31\x2a\xe8\x80\x06\x54\x70\x1a\x05\x5c\xf7\x0b\xcc\x90\x7e\x59\x5f\xb0\x75\x65\xe4\xd1\xc0\x1d\x96\x1b\x34\x7e\xd1\x4b\xa3\xe6\x6d\x3e\x95\x46\x86\x37\x56\xa3\xe4\xef\x0d\xc2\xf5\x65\xd8\x3a\x44\xbe\x61\xdb\x6c\x84\x6d\xdf\x4d\xe7\xdb\x4a\x5f\x52\xc1\x1a\xdd\xf5\xe5\x64\x1a\x75\x37\xee\x44\x64\x82\x39\xe9\x25\xf1\xa4\x34\x98\x8e\x21\x93\xf4\x96\xc0\x7f\x5e\xee\x6b\xfc\xa5\x1f\xd1\x09\xfe\xcf\xbf\xa4\x3f\x3c\x1c\x83\x26\x54\xe3\x75\x40\xc8\x93\x5f\x79\xb2\x05\x10\xf8\x74\x01\x6f\xd4\xfe\xbd\x33\x4d\xee\x2e\x8e\x4e\xa4\x64\xd9\x9f\xa9\xfd\x16\x3c\x78\x32\x3d\xd0\x00\x55\x71\xfd\x27\x7e\xec\x61\xe2\x38\x1f\x71\x4e\x56\x5b\x50\x70\xf4\xae\x56\x95\xd1\xc5\xe2\x4b\xb4\x88\xc9\x74\x2e\x0b\xca\x12\x57\x12\x4d\x3f\xee\x1f\x8e\x07\x71\xe2\x7b\x1a\x2a\x2c\x24\x55\x81\x31\xbb\x0b\x29\x69\xbf\xce\x3c\xc5\x0d\x63\x85\x7c\xe0\x74\x57\xb1\x56\xa0\xbc\xb8\x36\xfa\x37\xcc\x7d\x53\x24\xe6\x1b\xc4\x92\x2e\x16\xa7\xbe\xe8\xfa\xe1\x87\xeb\x4b\xaa\x0e\x95\x76\x8f\x3b\x65\x63\xd1\xd2\xcb\x93\x10\xbc\xe3\x5e\xc9\x9c\x7f\xc4\x23\x7f\xf2\x54\xd5\x15\x44\xcc\x43\x89\x32\xea\xb8\xac\x6e\xa5\xb1\x70\xa6\x70\x95\x39\xe7\xd2\x71\x78\x0a\x1d\x90\x84\x41\xda\x30\x84\xe5\xf7\xfd\x02\x9d\x0e\x7c\x57\x4a\xeb\x50\x51\x21\x19\x7e\x2f\x03\x60\x2c\xb5\x3c\x48\xd6\x53\x69\x2b\xab\xc1\x4a\x6f\xb1\xed\xb7\xb4\x32\x27\xf9\x1a\x55\x3b\xfe\x25\xc9\xbb\x14\xff\x2c\xca\xb2\xb7\xc9\x71\xfe\x57\x68\xf4\x69\xbb\xef\x01\xed\x89\xba\xb9\x9c\xa2\x21\xd7\x97\xc4\xde\x8f\xd8\x25\x2d\x53\x7c\x00\x46\x29\x27\xf1\xc3\xf5\x65\x24\x8f\xe9\x02\xbe\xbe\xbf\xb9\x5a\x3e\x1c\xc6\x90\xb6\x6e\x24\x88\x0c\xda\xa6\x74\x31\x40\xe0\xab\xaf\x20\x85\x3c\x5b\x7a\xf9\x42\xae\xda\x55\x2b\x3e\x0f\x66\x62\xbd\xf3\x15\xa8\x15\x15\x92\xa2\xb9\x1b\x86\xbf\x37\x68\x69\x8b\xba\xbe\x3c\x3b\x21\x6e\x7b\xf9\x7c\x5f\xb2\x18\xba\xe1\x69\x9a\xe2\x73\xf0\x72\x4e\x7d\x31\x17\x3e\xa3\x89\x71\xdd\x61\x9c\x10\xd9\x3d\xe3\xbd\x29\x1d\x1a\x95\x06\x73\x48\x7c\xec\x80\xfe\x15\xfe\x41\x9b\x8e\xc1\xe1\xbb\xa1\x57\x96\x86\xe8\x46\x6c\x91\x5b\x34\xb0\x2a\xf1\x0f\xe9\x7b\x2f\x3d\xcc\x34\x8e\x37\xbe\xd3\x26\x8d\xdf\xd1\x28\x9c\x2b\x14\x6d\x72\xd4\xd8\x24\x33\xa2\xb1\x3f\xc5\xae\xcb\xf6\x7f\xa1\xa9\xd7\x46\x14\x38\x8b\x1d\xb1\x20\x43\xac\x10\x13\x5a\xe0\x46\x1d\xf9\xa5\x3d\x88\x89\xf4\xcd\xd0\x16\xba\xbe\xb4\x84\xd8\xe1\x51\x22\x58\xcb\xfc\x03\xa3\xe4\x1b\xad\x29\xa5\xa3\xec\xae\x87\xe5\x3d\xc9\x8e\xa9\xa8\xae\x4b\xe9\xbb\x48\x6e\x83\x55\xdf\x0c\xcb\xef\x2e\xbf\x5b\xc0\x32\x8c\x2c\x4b\x1f\xbb\x8d\x28\xcb\xbd\xd7\xa4\xae\x29\x24\x45\xd9\xe6\x07\xfb\x1a\xed\x0c\xee\x1a\x17\x92\x4a\x23\xd7\x1b\x07\x4a\xef\x7a\xb8\x91\x6e\xf4\x0a\x04\xdc\x35\x6b\x4a\x49\xdf\x8a\x82\x1b\x71\xa3\xbc\x40\x8a\x65\x5d\x3d\xcd\x0f\xb3\xa0\x30\xe9\x7c\x74\xcf\x9e\x43\x18\x4f\x86\x7c\x14\x60\xf2\x6b\x2f\xdf\x7a\x51\xd8\x53\xb8\x53\xb6\xfc\xf1\x63\x78\xf0\x8a\x03\x8b\x1e\x7b\xec\xbf\xe3\x3f\x55\x3b\x61\x9c\x68\x77\x1e\x42\x66\x0f\xd1\xf5\x8c\xed\x62\xb9\x91\x36\x34\x14\x43\x64\xc3\xdd\xbe\xd7\x62\xf0\xe9\x25\xb7\x41\x1d\x11\x48\xd5\x94\x4e\xd6\x25\xfa\x16\x25\x39\xfe\x69\xee\xc4\xba\xf1\x0a\xa3\x8f\x33\xf8\x93\x76\x95\x81\x7b\xfd\xbd\xcd\x3c\xd7\xcd\xde\xa8\xe2\x99\x2c\x93\x38\x9b\x8b\xce\xc6\x41\xfc\x5f\xed\x6e\x61\x7d\x3d\xaf\xfb\x9b\xce\xfe\x12\x3f\x83\x67\x14\x2a\xb1\x39\x63\xe1\x0e\xdd\x0e\x51\x25\x75\x8a\x3d\xa5\x50\x89\x4d\x16\x7d\x58\xaa\xb4\x6d\xa3\xa3\x1e\xcd\xae\x69\x13\xbf\xeb\x8d\x1f\xf5\xe6\xce\x45\xe3\xd9\x2a\x3b\xef\xad\x89\x27\x88\x4f\x3b\xa6\x1b\x6b\x9d\xc5\xf1\x0b\x78\x2b\xea\x70\x2c\xf6\x8f\xcf\xef\xe3\xc1\xe4\xc3\x3f\xd3\x7e\xc6\x53\xba\x0d\xd5\x46\x4c\x6c\x5e\x58\x01\xc6\xb9\xe3\xd9\x48\x9c\x32\xd6\x32\x4e\x7c\xe8\x94\x2a\xf8\x93\x30\xeb\x86\x8f\x39\x48\x77\xa2\x28\x52\xd5\xbd\x1d\xd5\xf2\x68\x41\x48\x5a\x0a\xb3\x4c\x38\x4e\x62\x68\x4e\x7b\xc5\x1e\x09\xb3\x46\xf7\xbe\xa9\x6b\x6d\x1c\x16\x37\x57\x4b\x72\x52\x1b\x12\x32\x0b\x82\x0b\xb2\x78\xa8\xc7\xbc\x11\xfb\x34\xd2\xb6\x2a\xe7\xa9\x6b\x67\x9f\xd3\xd9\x18\xcc\x45\xa5\xea\xfd\x92\x43\x85\xcc\xf3\x70\xb4\x05\x71\xff\x70\xa4\x03\x11\x16\xf2\x2e\xc8\x1c\xcb\x34\x5f\x97\xb1\xe6\xd6\x72\x8b\x3e\xbd\xa4\xaa\xcd\x4b\xeb\xdd\xae\xef\x92\x87\x90\x6f\x46\x19\xd5\x8f\x07\xa1\xf6\x1e\x32\x34\xf9\x7e\x23\x26\x4a\x3a\x5d\x04\x5f\xe0\xaa\x3d\xd0\x7a\x4c\x31\xd2\x1e\xea\x25\x61\xd9\x61\x2d\xdf\x57\x4c\xbf\x9c\x6f\xfb\x40\x89\x8f\xbf\xf3\x87\xe6\xed\x71\x9c\x5f\xb5\xca\x0d\xba\x83\xab\x0b\xed\x10\x5f\xa3\x84\x63\xfa\x22\x5e\x5d\x68\xcf\x09\xb9\xa8\x08\x67\x81\xa7\x84\x44\xe7\xc3\x8b\xb6\x41\x32\x6b\x03\x65\x96\x70\xd1\x6c\xbc\x85\x97\x9c\xa7\x1e\x44\xd5\xbb\xa0\x7a\x3e\x97\x65\xb5\xc7\x03\x36\xa8\x85\xdb\x24\x0b\x1f\x98\xfb\x98\xb3\x5e\x7a\x9c\xf7\x1e\xe6\x7b\xe1\x36\xe4\xad\xc9\xd7\x8b\xf1\x06\x4b\xda\x2d\x7b\x78\x52\xca\xba\xb9\x2b\x65\xfe\xa9\x42\x7e\xcf\x28\x51\xc6\xee\xdb\xe9\x22\xde\x68\x53\x71\x91\xb6\xc3\x90\x64\x74\x97\x2e\x42\x8b\x76\xc0\xe2\xfd\x2a\x58\x44\x6e\xcf\xa1\x90\xfc\x9a\x30\xfe\xe6\x04\x27\x23\xb1\xc9\xeb\x4b\x3d\x7f\xe2\x6c\xa9\xde\x53\x48\x4b\xa4\x77\x29\xb8\xf8\x2e\x44\x0f\xd6\x42\xa9\xd5\x9a\xa9\x32\x9c\xc0\xfb\xb3\xf6\xee\x26\x85\xf0\xf0\x06\xc7\xb4\x6e\xe3\xcc\x03\x26\x4b\xd6\xd3\xe6\x4c\xfd\x7e\xd0\xe0\xe0\xef\x80\x09\x22\xea\x8c\x08\x3b\x30\x82\x57\xf5\x81\x66\xb4\x42\xc0\x70\x96\x9d\x28\xa7\xbd\x72\xf1\x01\x03\xad\x08\x0b\xb7\x5f\xdf\x0f\xf2\x14\x62\xf1\xc1\x1e\xf9\x49\x34\x0b\xb1\x5b\xcb\xb4\xb5\x80\xb3\xa2\xa9\xaa\xfd\xd9\xf1\xc4\xf7\xcf\x64\xda\x3f\x83\x0e\x4f\x5e\x40\x6e\x50\x38\xfc\xb6\xaa\xdd\x3e\xe1\x13\xff\x94\xb7\x61\xa4\x9f\x8e\x6c\xb8\xe0\xaf\xb0\x78\x15\x1c\xa6\xe9\x60\x75\x1b\x25\x7b\xf6\x11\xbd\xe3\xfd\x7d\xfc\x34\x81\x16\x3b\x2a\xcc\x84\x93\xe9\xee\xfb\x0b\x3a\x83\x76\x32\x9d\x97\xa8\xd6\x6e\x43\xc9\xf4\xff\x84\x4c\xda\xcf\x56\xa4\x9e\x1c\x53\x68\x5e\xf4\xab\xb3\xe7\x14\x3f\x27\x77\x9f\x9f\xdc\xb1\xfe\xca\x86\xee\xcb\x5b\xb2\x63\xc1\xf7\x68\x2e\xe7\x53\xb9\x61\xee\xd6\x09\x6c\x93\xa8\x1f\xb8\x15\x8f\x0a\xfd\xe5\x30\x92\xaa\x42\x63\xc4\xfe\x84\x3c\x6f\x4c\xea\x69\xaa\xee\x81\x5d\xfa\x87\x35\xe1\x21\xf4\x4f\x04\xd2\x0b\x4f\xbe\x59\x1f\x92\x82\xde\xdd\xc5\xee\xea\xd0\x38\x5a\x6c\xde\x1d\x1f\xc8\xc4\x51\x56\xe4\xe0\xa2\xdc\x89\x7d\xbc\x37\xa7\x44\xc9\x87\x4d\x52\x89\xc3\x5c\x2d\xf9\xd8\xdd\x28\x22\x7d\xb6\xf2\x56\xd2\x5a\x56\x3e\xbb\x50\x7b\x4b\xce\xa7\x1d\xc4\xff\xa1\x96\x6e\x8f\x24\x8e\xc0\x13\xe8\x46\x18\xbe\x41\x62\x90\x72\x28\x59\xe2\xc8\xf1\xc5\xf8\xf0\xe3\x67\x5f\xdd\xd5\x0a\x96\xfe\xb0\xe4\xf4\x0f\xbb\xbb\x16\x8f\xd4\x9b\xed\xf8\x47\xca\xcd\x20\xd4\xf1\x84\xfa\xe0\x98\x4a\x40\x21\x0d\xe6\xae\xab\x08\xa5\xb2\x0e\x45\x41\xea\xee\x2e\xea\xf1\x9d\x81\xa8\x72\xd2\x54\x77\xd3\x6b\xd8\xbe\xe0\xfd\x53\x15\xfd\xbd\x32\x5c\x47\xf0\x27\x60\xdd\x6c\x85\x46\xce\x0f\x6c\x93\xe7\x88\xbe\x4d\xc2\x29\x76\xb8\xb2\xa0\xd1\xc6\xdf\x1e\x2b\x8d\x3e\xad\x92\x1c\x18\x6f\x50\x5a\x3e\xeb\x04\x34\xa2\xcf\xf3\x0d\xe6\x1f\x88\x2a\xcf\xde\xfa\x4b\xce\xda\xc1\x9d\x36\x46\xef\xd2\xab\xa5\x91\x06\x88\x57\xe2\xd0\x53\xfa\x19\x47\x6e\x50\xb0\x03\xf9\xd9\x6e\xae\x96\xef\xc5\x0a\xc3\x0b\xd3\x8b\x67\x34\x36\xf4\xa2\x5b\x86\x07\x99\x4c\x2f\x8e\xf8\x63\x7f\xa6\x89\x2c\xa6\x9f\xd2\x73\xf3\x3b\x5b\x57\x9f\x2a\x4f\x8e\xb1\x3b\x44\xbf\xf9\x8b\xea\x06\x23\x3d\x9d\x90\x4a\xf3\xa6\xb9\x80\x9f\xbd\x27\xfc\xd2\x9f\xfa\x5f\xe8\xc2\x9d\xdb\x8a\x6f\x15\xf9\xa2\xd8\xdf\xe2\xeb\x2a\xa4\x13\x66\xfb\x37\x6f\xce\x34\xe1\xb5\x72\x63\xcb\x8c\x8d\xb7\xb1\x7a\xfc\xf1\x95\xce\x28\x8d\x0c\x79\x57\xac\xea\x22\xf6\x7b\x1f\x70\x7c\x33\x39\xe9\x1e\xa6\x3b\xd4\xc9\xcd\xc3\x31\x4d\xb6\xd2\x27\xa9\x67\xd4\xec\x91\x84\x52\x84\x00\xc0\xa2\x1f\x00\xfd\xfb\xf3\x47\xba\x4d\x49\xe6\x15\x93\x31\x7f\xcf\x49\x14\x50\x08\x27\xfc\x19\x17\x15\x0e\xf1\xf4\x8a\xf7\x02\xf9\xc4\x91\x7a\xe7\xba\xbf\x42\xaf\xd7\x39\xc2\x08\x63\xcd\xcf\x53\xf2\xd2\xab\x98\xdf\xf4\x2e\x01\xbf\x4d\xeb\xec\xf8\xaa\x17\xcb\x1e\x52\xc5\x1a\x1d\x2d\x4f\xf0\x82\x69\x0d\xb6\x2d\x29\xd9\x59\x93\x0a\x2e\x5c\xe4\xa5\x0f\x42\xaa\x27\x4c\xea\xa7\x4b\xc5\x9a\x1c\x28\x63\xb4\x5a\x7f\x38\xac\x3e\x9f\xad\x8e\xc7\x6d\xd1\x12\xd6\x53\xd6\x18\xcc\x3f\x9e\x37\x4f\x7a\xcd\xe8\x29\x7c\xfc\x18\x1f\x5d\xa4\xe7\x1f\xb2\x98\x2e\x06\x63\xe9\xdf\xd9\x5b\xa1\x12\xfe\xf6\x64\x1d\xcc\xc2\x47\xa0\x49\x07\xdb\xc7\x72\xcf\xc5\xdb\xab\x06\x95\x70\xf9\xa6\x4d\x00\xc9\x56\x3b\x61\xbb\x46\xe9\xb1\xdc\x1c\x8e\xd5\xf5\xfe\xef\x43\xf6\x9f\x00\x00\x00\xff\xff\xf2\x21\xeb\x8f\x23\x34\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x5f\x6f\xe3\xb6\xb2\x7f\xd7\xa7\x98\x4d\x81\xae\x5d\xb8\xce\xc5\xc5\xc5\x7d\x30\x4e\x4f\xba\xdd\x34\x07\x01\x0e\xd2\x62\xd7\x6d\x1f\x8a\xa2\x61\xa4\xb1\xcd\xae\x44\xaa\x24\x65\xd7\xc8\xe6\xbb\x1f\xcc\x90\x94\x28\x4b\x4e\xe2\x6c\x0b\x9c\x87\xee\x43\xd6\x96\xc5\x1f\x87\xf3\xe7\xc7\x99\x21\xcf\xbf\xf8\x22\xcb\x3e\xfb\x0c\x96\x1b\x84\xab\x52\xef\xe0\x46\xab\x2f\xaf\x1a\xb5\x96\x77\x25\xc2\x52\x7f\x40\x05\xd6\x09\x55\x08\x53\xf0\x8b\xb7\x37\x5a\xc5\xdf\xf9\xe7\x5b\xc8\xb5\x72\x46\xe4\x0e\xa4\x72\x68\x56\x22\xc7\x2c\x23\xbc\xf6\x2b\xb8\x8d\x70\x20\xca\x72\x0c\x3d\x8e\xb6\x60\x37\xba\x29\x0b\x7a\xb0\xd2\xa6\x02\xa7\xe7\xd9\xf5\x0a\x04\x34\x16\x0d\xec\x84\x72\x16\x9c\x86\x02\xeb\x52\xef\x41\x80\xc2\x1d\xdc\x5c\x2d\x5b\x80\x19\xb8\x0d\x4a\xd3\x89\xb3\x63\x38\x85\x58\x64\x4e\x83\xac\xea\x12\x2b\x54\x8e\x5e\x83\xc3\x55\x74\xc2\xce\x59\xf8\x14\xa7\x6a\xac\x83\x95\x2e\x49\x3d\xb4\x08\x1a\x6f\x9a\x12\x2d\x08\x55\x80\x12\x95\x54\xeb\x8c\x97\xe8\x7a\xab\xb6\x35\xe6\x72\x25\xd1\xce\x83\xe6\xae\x96\xb7\x60\xd0\xea\xc6\x44\x15\xe5\xda\x60\xfb\x08\xdc\xbe\x0e\xba\x32\x58\x1b\xb4\x48\x4b\x16\x8a\x57\x29\x15\xa3\xdb\x4a\x18\xd7\x8a\x16\x80\xdf\xea\xb2\xc4\xdc\x49\xad\x6e\xe1\x5d\x0f\xbf\x83\x26\x54\xeb\xb4\x21\xa9\x59\xa3\xaf\x6d\xd0\x5e\x1c\x3b\xcf\xae\xc9\x84\x79\xd9\x14\xfc\xd2\x0a\x77\xb0\x6a\x14\xff\xc6\x9a\x17\xac\x01\x92\x42\xef\x14\x1a\x7a\x84\xc2\xca\x72\x9f\x55\x7a\x8b\xe0\x48\x8f\x96\x04\x25\xb5\xe8\xc6\x81\x5e\xf1\xdb\xe9\x14\x2c\xef\xf7\x46\x6f\x65\x81\xe6\x96\xdf\xbc\x7d\x87\x39\xca\x2d\x7d\x6d\xc5\x6d\x95\x68\x79\x1d\x36\x7d\x02\x05\xe6\xa5\x30\x98\x08\xb7\x93\x6e\x03\x56\x57\x08\xb5\x41\x06\xad\xb5\x65\x35\x15\x92\xdf\xc8\x82\x56\x7f\x6f\xa4\x41\x16\xaa\xd3\x19\xad\x23\x58\x37\x47\xe3\x84\x54\xc1\xa6\x0c\x74\x87\x1b\xb1\x95\xda\xb4\x51\x60\xbd\x83\xec\x81\x44\xb0\x58\x0b\x23\x1c\xc2\x1d\xe6\xa2\x21\x31\x1d\xac\xe5\x16\x2d\xcf\xc1\x8e\x4b\x1f\xc4\x9d\x2c\xa5\xdb\xd3\x4c\x76\x43\xe3\x04\x18\x5c\xa1\x41\x95\x23\xf9\xa6\x77\xdc\x54\x24\x12\x57\xab\x72\x0f\xf8\x47\xad\x6d\xc0\x5b\x49\x2c\x0b\xef\x75\xdd\xda\xa5\x02\xad\x10\xb4\x81\x4a\x1b\xcc\x82\xce\x3b\x75\xcd\xe1\x9a\x62\xcf\xea\x20\x18\x09\x65\x0f\xa5\xaa\xc4\x07\x84\xbc\xb1\x4e\x57\xad\x11\x82\xd2\x7a\x71\xd3\x37\x04\x45\xa3\x86\xad\x30\x52\x37\x04\x29\xd5\x3a\xd8\x82\xe0\xbd\x3f\xcc\xb3\xec\x9b\x3d\x34\x96\xf4\xd9\x22\xf3\x12\x3a\xa0\x59\x10\x4a\xaf\xd8\x25\xfb\x3e\x6e\x21\x17\x0a\x2c\xaa\x22\xa3\x51\xc6\x3b\x4b\xf4\xb6\x1a\xd1\x7c\xe9\xf4\x97\xf4\xff\x8c\xe7\x26\xc7\x23\x93\xa9\x35\xc9\xc7\x93\x30\x19\x90\x58\x02\x72\x24\xd4\x12\x4a\x2c\xd6\x68\xb2\x41\x38\x2d\x35\x4f\x15\xa3\x8e\xbc\x5e\x69\xb7\x41\xc3\x22\xce\x5a\x36\x62\x6a\xb1\xa4\x9b\x3d\x43\x17\x46\xf8\xd0\xb8\xb9\x5a\x66\x2b\xa3\xab\x81\x4d\x99\x9e\x14\xe4\x91\x41\x0a\xac\xb5\x95\xae\xb5\x24\x68\xd5\x9b\xeb\xb5\xcd\xfa\x3e\x9a\x6b\xb2\x84\xf3\xee\xeb\x8c\x50\x76\x85\x66\x9e\x65\x5f\x9c\x67\x99\xac\x6a\x6d\x1c\xfc\x28\x71\x47\x04\x50\x6e\xd1\x00\x4b\x71\x96\x3e\x3a\xcb\xb2\xf3\xf3\x73\xe6\xfa\x8a\xdc\x3c\x65\xcf\x84\x00\xe1\x3b\x16\x22\xfd\x95\xcc\x5a\x96\x3c\x3a\x4c\xc5\x16\x4c\x5c\x43\xda\x84\xfe\xcf\xcf\xcf\x33\x91\xe7\x68\xed\x44\x94\xe5\xb4\x9b\x64\x40\xbb\xf7\x59\x06\x00\x70\x7e\x0e\x6f\x14\xa0\x72\xd2\x05\xc4\x95\x36\x9e\x70\xd8\x90\x1b\x6c\xb5\x2c\x4a\xe6\x15\x6f\x7e\x5e\xa3\x80\x1f\x45\x53\x3a\x06\x4a\x67\x4d\xe1\x7e\x8a\xa3\xef\x4a\x8c\x53\x9e\xc3\xb7\x5b\x2f\x3c\xb9\xb9\x05\xac\xa4\x73\x58\xc0\x8e\xec\x24\xfc\x14\xf4\x3c\xce\xac\x66\xed\x40\xa9\x0a\x99\x0b\x17\x65\xf3\x7c\x38\xa0\xbb\x80\xec\x60\x27\x12\x14\x16\x7a\x1e\xa1\x5a\xc8\xeb\xc1\x68\x69\x41\x69\xe7\x09\x95\x16\xa6\x1b\xe5\x5e\x5b\x66\x71\xb1\xc6\x19\xdc\x12\xd0\x2d\x5b\x06\xee\x10\x6e\x95\x2c\x6f\xfb\xb8\x3d\x6d\x6c\x53\x3d\x4c\x64\xb1\x80\x1f\xae\x95\xfb\xff\xff\x9b\x41\xd3\xa4\xdf\x08\x75\x01\x6f\x8a\xc2\xa0\xb5\x17\x33\xde\x95\x16\xf0\xde\x19\xa9\xd6\xd3\x2c\xc5\xb5\x58\xae\xa6\xe4\xc0\xac\xba\x9b\xab\xe5\xa7\xa2\x2f\xe0\x1b\xad\x4b\x9e\xe2\x9e\xff\xd2\x3f\xc2\xee\xcb\x2d\x8b\x88\x4a\x7f\x23\x26\xfd\x8d\x78\xf4\x77\xda\x22\x18\x74\x8d\x51\xe0\x4c\x83\xfc\xec\x61\xd4\x03\x8e\x99\x3f\x04\x2a\x16\xcc\x06\xbd\xdd\x6c\x60\x43\x17\x3d\x23\x30\xf6\x73\x1c\x23\xc5\x7f\xca\x7c\x97\xfe\xdd\x47\xf4\xeb\xf4\x0b\x6d\xf7\x49\xd0\xc7\x0d\x97\xc2\x1e\xda\x8d\x00\x9d\x3e\xd9\x66\xcb\xc0\x7d\x03\xf5\x13\xb1\x61\x67\xd0\x90\x4f\xde\x61\xdf\xb4\x81\x3a\x68\x1b\x8e\x2c\x6a\xb0\xf0\x54\x42\x3b\x69\x88\xb4\x84\xfb\x9f\x30\x4a\x94\xe7\x14\xaf\x7f\xa9\x95\x9e\x9c\xeb\xe2\x94\xc9\x2e\xc6\x0d\x17\x54\x19\xb5\x03\x15\xba\x8d\x2e\x78\x1f\x0e\x66\x59\x89\xd2\x7a\x5d\x83\x5c\x91\x23\x17\xb2\x50\xaf\x1d\xa5\x03\xa2\x1d\x97\xe2\x49\x05\xbb\x8d\xcc\x37\x90\x0b\x8b\xb0\x43\x28\x34\xbd\x4f\x59\x3d\xc7\x46\x30\x9b\x4e\xac\xd5\x0e\x97\x2b\x5e\x21\xbc\xfa\x0a\x94\x2c\xe1\xf3\xcf\x7d\xa2\x1c\xbe\x76\x62\xb7\x3e\xd7\x53\x52\xdf\xe9\x5e\x1d\xb0\xc5\xc0\x03\x5f\x4d\x7b\x78\x87\x6e\xc8\xae\x08\x48\xab\xbf\x7f\xfa\xc5\x43\xcf\xbd\x44\xeb\x8c\xde\xbf\xd0\x71\x63\x25\x40\x94\xc1\x38\x41\x47\x63\x34\xc1\xbf\x3f\x16\xcb\xa7\x10\xc3\x49\x60\x8f\x51\x41\x07\x34\xa0\x82\xd3\x28\xe0\xba\x5f\x5a\x86\xc4\xcb\xfa\x52\xad\x2b\x20\x8f\x06\xee\xb0\xd0\xa0\xf1\x8b\x5e\x02\x35\x6f\x33\xa9\x34\x32\xbc\xb1\x1a\x25\x7f\x6f\x10\xae\x2f\xc3\xd6\x21\xf2\x0d\xdb\x66\x23\x6c\xfb\x6e\x3a\xdf\x56\xfa\x62\x0a\xd6\xe8\xae\x2f\x27\xd3\xa8\xbb\x71\x27\x22\x13\xcc\x49\x2f\x89\x27\xa5\xc1\x74\x0c\x99\xa4\xb7\x04\xfe\xf3\x72\x5f\xe3\x2f\xfd\x88\x4e\xf0\x7f\xfe\x25\xfd\xe1\xe1\x18\x34\xa1\x1a\xaf\x03\x42\x9e\xfc\xca\x93\x2d\x80\xc0\xa7\x0b\x78\xa3\xf6\xef\x9d\x69\x72\x77\x71\x74\x22\x25\xcb\xfe\x4c\xed\xb7\xe0\xc1\x93\xe9\x81\x06\xa8\x7e\xeb\x3f\xf1\x63\x0f\x13\xc7\xf9\x88\x73\xb2\xda\x82\x82\xa3\x77\xb5\xaa\x8c\x2e\x16\x5f\xa2\x45\x4c\xa6\x73\x59\x50\x96\xb8\x92\x68\xfa\x71\xff\x70\x3c\x88\x13\xdf\xd3\x50\x61\x21\xa9\xfe\x8b\xd9\x5d\x48\x49\xfb\x15\xe6\x29\x6e\x18\x6b\xe3\x03\xa7\xbb\x8a\x55\x02\xe5\xc5\xb5\xd1\xbf\x61\xee\xdb\x21\x31\xdf\x20\x96\x74\xb1\x2c\xf5\xe5\xd6\x0f\x3f\x5c\x5f\x52\x5d\xa8\xb4\x7b\xdc\x29\x1b\x8b\x96\x5e\x9e\x84\xe0\x1d\xf7\x4a\xe6\xfc\x23\x1e\xf9\x93\xa7\xaa\xae\x14\x62\x1e\x4a\x94\x51\xc7\x65\x75\x2b\x8d\x25\x33\x85\xab\xcc\x39\x97\x8e\xc3\x53\xe8\x80\x24\x0c\xd2\x86\x21\x2c\xbf\xef\x17\xe8\x74\xe0\xbb\x52\x5a\x87\x8a\x4a\xc8\xf0\x7b\x19\x00\x63\x91\xe5\x41\xb2\x9e\x4a\x5b\x59\x0d\x56\x7a\x8b\x6d\xa7\xa5\x95\x39\xc9\xd7\xa8\xda\xf1\x2f\x49\xde\xa5\xf8\x67\x51\x96\xbd\x4d\x8e\xf3\xbf\x42\xa3\x4f\xdb\x7d\xf7\x67\x4f\xd4\xcd\xe5\x14\x0d\xb9\xbe\x24\xf6\x7e\xc4\x2e\x69\x99\xe2\x03\x30\x4a\x39\x89\x1f\xae\x2f\x23\x79\x4c\x17\xf0\xf5\xfd\xcd\xd5\xf2\xe1\x30\x86\xb4\x75\x23\x41\x64\xd0\x36\xa5\x8b\x01\x02\x5f\x7d\x05\x29\xe4\xd9\xd2\xcb\x17\x72\xd5\xae\x5a\xf1\x79\x30\x13\xeb\x9d\xaf\x3d\xad\xa8\x90\x14\xcd\x7d\x30\xfc\xbd\x41\x4b\x5b\xd4\xf5\xe5\xd9\x09\x71\xdb\xcb\xe7\xfb\x92\xc5\xd0\x0d\x4f\xd3\x14\x9f\x83\x97\x73\xea\x8b\xb9\xf0\x19\x4d\x8c\xeb\x0e\xe3\x84\xc8\xee\x19\xef\x4d\xe9\xd0\xa8\x34\x98\x43\xe2\x63\x07\xf4\xaf\xf0\x0f\xda\x74\x0c\x0e\xdf\x0d\x5d\xb2\x34\x44\x37\x62\x8b\xdc\x9c\x81\x55\x89\x7f\x48\xdf\x75\xe9\x61\xa6\x71\xbc\xf1\x3d\x36\x69\xfc\x8e\x46\xe1\x5c\xa1\x68\x93\xa3\xc6\x26\x99\x11\x8d\xfd\x29\xf6\x5b\xb6\xff\x0b\x4d\xbd\x36\xa2\xc0\x59\xec\x85\x05\x19\x62\x85\x98\xd0\x02\xb7\xe8\xc8\x2f\xed\x41\x4c\xa4\x6f\x86\x86\xd0\xf5\xa5\x25\xc4\x0e\x8f\x12\xc1\x5a\xe6\x1f\x18\x25\xdf\x68\x4d\x29\x1d\x65\x77\x3d\x2c\xef\x49\x76\x4c\x45\x75\x5d\x4a\xdf\x3f\x72\x1b\xac\xfa\x66\x58\x7e\x77\xf9\xdd\x02\x96\x61\x64\x59\xfa\xd8\x6d\x44\x59\xee\xbd\x26\x75\x4d\x21\x29\xca\x36\x3f\xd8\xd7\x68\x67\x70\xd7\xb8\x90\x54\x1a\xb9\xde\x38\x50\x7a\xd7\xc3\x8d\x74\xa3\x57\x20\xe0\xae\x59\x53\x4a\xfa\x56\x14\xdc\x82\x1b\xe5\x05\x52\x2c\xeb\xea\x69\x7e\x98\x05\x85\x49\xe7\xa3\x7b\xf6\x1c\xc2\x78\x32\xe4\xa3\x00\x93\x5f\x7b\xf9\xd6\x8b\xc2\x9e\xc2\x9d\xb2\xe5\x8f\x1f\xc3\x83\x57\x1c\x58\xf4\xd8\x63\xff\x1d\xff\xa9\xda\x09\xe3\x44\xbb\xf3\x10\x32\x7b\x88\xae\x67\x6c\x17\xcb\x8d\xb4\xa1\x95\x18\x22\x1b\xee\xf6\xbd\x16\x83\x4f\x2f\xb9\x01\xea\x88\x40\xaa\xa6\x74\xb2\x2e\xd1\x37\x27\xc9\xf1\x4f\x73\x27\xd6\x8d\x57\x18\x7d\x9c\xc1\x9f\xb4\xab\x0c\xdc\xeb\xef\x6d\xe6\xb9\x6e\xf6\x46\x15\xcf\x64\x99\xc4\xd9\x5c\x74\x36\x0e\xe2\xff\x6a\x77\x0b\xeb\xeb\x79\xdd\xdf\x74\xf6\x97\xf8\x19\x3c\xa3\x50\x89\xcd\x19\x0b\x77\xe8\x76\x88\x2a\xa9\x53\xec\x29\x85\x4a\x6c\xb2\xe8\xc3\x52\xa5\x6d\x1b\x1d\xf5\x68\x76\x4d\x9b\xf8\x5d\x6f\xfc\xa8\x37\x77\x2e\x1a\x4f\x55\xd9\x79\x6f\x4d\x3c\x3b\x7c\xda\x31\xdd\x58\xeb\x2c\x8e\x5f\xc0\x5b\x51\x87\x03\xb1\x7f\x7c\x7e\x1f\x8f\x24\x1f\xfe\x99\xf6\x33\x9e\xd2\x6d\xa8\x36\x62\x62\xf3\xc2\x0a\x30\xce\x1d\xcf\x46\xe2\x94\xb1\x96\x71\xe2\x43\xa7\x54\xc1\x9f\x84\x59\x37\x7c\xcc\x41\xba\x13\x45\x91\xaa\xee\xed\xa8\x96\x47\x0b\x42\xd2\x52\x98\x65\xc2\x71\x12\x43\x73\xda\x2b\xf6\x48\x98\x35\xba\xf7\x4d\x5d\x6b\xe3\xb0\xb8\xb9\x5a\x92\x93\xda\x90\x90\x59\x10\x5c\x90\xc5\xe3\x3c\xe6\x8d\xd8\xa7\x91\xb6\x55\x39\x4f\x5d\x3b\xfb\x9c\xce\xc6\x60\x2e\x2a\x55\xef\x97\x1c\x2a\x64\x9e\x87\xa3\x2d\x88\xfb\x87\x23\x1d\x88\xb0\x90\x77\x41\xe6\x58\xa6\xf9\xba\x8c\x35\xb7\x96\x5b\xf4\xe9\x25\x55\x6d\x5e\x5a\xef\x76\x7d\x97\x3c\x84\x7c\x33\xca\xa8\x7e\x3c\x08\xb5\xf7\x90\xa1\xc9\xf7\x1b\x31\x51\xd2\xe9\x22\xf8\x02\x57\xed\x81\xd6\x63\x8a\x91\xf6\x50\x2f\x09\xcb\x0e\x6b\xf9\xbe\x62\xfa\xe5\x7c\xdb\x07\x4a\x7c\xfc\x9d\x3f\x2e\x6f\x8f\xe3\xfc\xaa\x55\x6e\xd0\x1d\x5c\x5a\x68\x87\xf8\x1a\x25\x1c\xd0\x17\xf1\xd2\x42\x7b\x4e\xc8\x45\x45\x38\x0b\x3c\x25\x24\x3a\x1f\x5e\xb4\x0d\x92\x59\x1b\x28\xb3\x84\x8b\x66\xe3\x2d\xbc\xe4\x24\xf5\x20\xaa\xde\x05\xd5\xf3\x89\x2c\xab\x3d\x1e\xb0\x41\x2d\xdc\x26\x59\xf8\xc0\xdc\xc7\x9c\xf5\xd2\xe3\xbc\xf7\x30\xdf\x0b\xb7\x21\x6f\x4d\xbe\x5e\x8c\x37\x58\xd2\x6e\xd9\xc3\x93\x52\xd6\xcd\x5d\x29\xf3\x4f\x15\xf2\x7b\x46\x89\x32\x76\xdf\x4e\x17\xf1\x46\x9b\x8a\x8b\xb4\x1d\x86\x24\xa3\xbb\x6e\x11\x5a\xb4\x03\x16\xef\x57\xc1\x22\x72\x7b\x0e\x85\xe4\xd7\x84\xf1\x77\x26\x38\x19\x89\x4d\x5e\x5f\xea\xf9\x13\x67\x4b\xf5\x9e\x42\x5a\x22\xbd\x4b\xc1\xc5\xb7\x20\x7a\xb0\x16\x4a\xad\xd6\x4c\x95\xe1\xec\xdd\x9f\xb2\x77\x77\x28\x84\x87\x37\x38\xa6\x75\x1b\x67\x1e\x30\x59\xb2\x9e\x36\x67\xea\xf7\x83\x06\x07\x7f\x07\x4c\x10\x51\x67\x44\xd8\x81\x11\xbc\xaa\x0f\x34\xa3\x15\x02\x86\xb3\xec\x44\x39\xed\x65\x8b\x0f\x18\x68\x45\x58\xb8\xfd\xfa\x7e\x90\xa7\x10\x8b\x0f\xf6\xc8\x4f\xa2\x59\x88\xdd\x5a\xa6\xad\x05\x9c\x15\x4d\x55\xed\xcf\x8e\x27\xbe\x7f\x26\xd3\xfe\x19\x74\x78\xf2\x02\x72\x83\xc2\xe1\xb7\x55\xed\xf6\x09\x9f\xf8\xa7\xbc\x0d\x23\xfd\x74\x64\xc3\x05\x7f\x79\xc5\xab\xe0\x30\x4d\x07\xab\xdb\x28\xd9\xb3\x8f\xe8\x1d\xef\xef\xe3\xa7\x09\xb4\xd8\x51\x61\x26\x9c\x4c\x77\xdf\x5f\xd0\x19\xb4\x93\xe9\xbc\x44\xb5\x76\x1b\x4a\xa6\xff\x27\x64\xd2\x7e\xb6\x22\xf5\xe4\x98\x42\xf3\xa2\x5f\x9d\x3d\xa7\xf8\x39\xb9\xfb\xfc\xe4\x8e\xf5\x57\x36\x74\x5f\xde\x92\x1d\x0b\xbe\x47\x73\x39\x9f\xca\x0d\x73\xb7\x4e\x60\x9b\x44\xfd\xc0\xad\x78\x54\xe8\x2f\x87\x91\x54\x15\x1a\x23\xf6\x27\xe4\x79\x63\x52\x4f\x53\x75\x0f\xec\xd2\x3f\xac\x09\x0f\xa1\x7f\x22\x90\x5e\x75\xf2\xcd\xfa\x90\x14\xf4\x6e\x2d\x76\x57\x87\xc6\xd1\x62\xf3\xee\xf8\x40\x26\x8e\xb2\x22\x07\x17\xe5\x4e\xec\xe3\x8d\x39\x25\x4a\x3e\x6c\x92\x4a\x1c\xe6\x6a\xc9\xc7\xee\x46\x11\xe9\xb3\x95\xb7\x92\xd6\xb2\xf2\xd9\x85\xda\xfb\x71\x3e\xed\x20\xfe\x0f\xb5\x74\x7b\x24\x71\x04\x9e\x40\x37\xc2\xf0\x0d\x12\x83\x94\x43\xc9\x12\x47\x8e\x2f\xc6\x87\x1f\x3f\xfb\xea\xae\x56\xb0\xf4\x87\x25\xa7\x7f\xd8\xdd\xb5\x78\xa4\xde\x6c\xc7\x3f\x52\x6e\x06\xa1\x8e\x27\xd4\x07\xc7\x54\x02\x0a\x69\x30\x77\x5d\x45\x28\x95\x75\x28\x0a\x52\x77\x77\x45\x8f\xef\x0c\x44\x95\x93\xa6\xba\x9b\x5e\xc3\xf6\x05\xef\x9f\xaa\xe8\xef\x95\xe1\x3a\x82\x3f\x01\xeb\x66\x2b\x34\x72\x7e\x60\x9b\x3c\x47\xf4\x6d\x12\x4e\xb1\xc3\x95\x05\x8d\x36\xfe\xf6\x58\x69\xf4\x69\x95\xe4\xc0\x78\x83\xd2\xf2\x59\x27\xa0\x11\x7d\x9e\x6f\x30\xff\x40\x54\x79\xf6\xd6\x5f\x6f\xd6\x0e\xee\xb4\x31\x7a\x97\x5e\x2a\x8d\x34\x40\xbc\x12\x87\x9e\xd2\xcf\x38\x72\x83\x82\x1d\xc8\xcf\x76\x73\xb5\x7c\x2f\x56\x18\x5e\x98\x5e\x3c\xa3\xb1\xa1\x17\xdd\x32\x3c\xc8\x64\x7a\x71\xc4\x1f\xfb\x33\x4d\x64\x31\xfd\x94\x9e\x9b\xdf\xd9\xba\xfa\x54\x79\x72\x8c\xdd\x21\xfa\xcd\x5f\x51\x37\x18\xe9\xe9\x84\x54\x9a\x37\xcd\x05\xfc\xec\x3d\xe1\x97\xfe\xd4\xff\x42\x17\x6e\xdb\x56\x7c\xab\xc8\x17\xc5\xfe\x16\x5f\x57\x21\x9d\x30\xdb\xbf\x79\x73\xa6\x09\xaf\x95\x1b\x5b\x66\x6c\xbc\x8d\xd5\xe3\x8f\xaf\x74\x46\x69\x64\xc8\xbb\x62\x55\x17\xb1\xdf\xfb\x80\xe3\x3b\xc9\x49\xf7\x30\xdd\xa1\x4e\x6e\x1e\x8e\x69\xb2\x95\x3e\x49\x3d\xa3\x66\x8f\x24\x94\x22\x04\x00\x16\xfd\x00\xe8\xdf\x9c\x3f\xd2\x6d\x4a\x32\xaf\x98\x8c\xf9\x7b\x4e\xa2\x80\x42\x38\xe1\xcf\xb8\xa8\x70\x88\xa7\x57\xbc\x17\xc8\x27\x8e\xd4\x3b\xd7\xfd\x15\x7a\xbd\xce\x11\x46\x18\x6b\x7e\x9e\x92\x97\x5e\xc5\xfc\xa6\x77\xfd\xf7\x6d\x5a\x67\xc7\x57\xbd\x58\xf6\x90\x2a\xd6\xe8\x68\x79\x82\x17\x4c\x6b\xb0\x6d\x49\xc9\xce\x9a\x54\x70\xe1\x22\x2f\x7d\x10\x52\x3d\x61\x52\x3f\x5d\x2a\xd6\xe4\x40\x19\xa3\xd5\xfa\xc3\x61\xf5\xf9\x6c\x75\x3c\x6e\x8b\x96\xb0\x9e\xb2\xc6\x60\xfe\xf1\xbc\x79\xd2\x6b\x46\x4f\xe1\xe3\xc7\xf8\xe8\x22\x3d\xff\x90\xc5\x74\x31\x18\x4b\xff\xce\xde\x0a\x95\xf0\xb7\x27\xeb\x60\x16\x3e\x02\x4d\x3a\xd8\x3e\x96\x7b\x2e\xde\x5e\x35\xa8\x84\xcb\x37\x6d\x02\x48\xb6\xda\x09\xdb\x35\x4a\x8f\xe5\xe6\x70\xac\xae\xf7\x7f\x1f\xb2\xff\x04\x00\x00\xff\xff\x2c\x64\xe0\xf4\x1d\x34\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -257,7 +257,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0x3c, 0x43, 0xbb, 0x2d, 0xee, 0x9f, 0xee, 0x2d, 0x38, 0xb8, 0xe1, 0x81, 0x15, 0xa5, 0x83, 0x24, 0x5a, 0x93, 0xc9, 0x82, 0x17, 0xc3, 0x14, 0x8d, 0x8, 0xd0, 0x85, 0x18, 0xcf, 0xd3, 0x4c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x58, 0x3f, 0x79, 0xfa, 0x4b, 0x9e, 0x15, 0xec, 0x89, 0x2f, 0x66, 0xb5, 0x4f, 0xe1, 0x73, 0xb1, 0x7e, 0xf0, 0x6e, 0xa, 0x7, 0x5f, 0x6, 0x5, 0xdb, 0x8f, 0xf5, 0x9c, 0x68, 0xc8, 0x1d, 0xe3}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 5a3b3c4d..54321223 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -3,7 +3,7 @@
 // ../../../transactions/burn_tokens.cdc (1.402kB)
 // ../../../transactions/create_forwarder.cdc (2.569kB)
 // ../../../transactions/generic_transfer.cdc (1.335kB)
-// ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.968kB)
+// ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.909kB)
 // ../../../transactions/mint_tokens.cdc (1.595kB)
 // ../../../transactions/privateForwarder/create_account_private_forwarder.cdc (1.683kB)
 // ../../../transactions/privateForwarder/create_private_forwarder.cdc (1.392kB)
@@ -32,7 +32,7 @@
 // ../../../transactions/switchboard/safe_deposit_to_lnf.cdc (4.493kB)
 // ../../../transactions/switchboard/safe_transfer_tokens.cdc (2.153kB)
 // ../../../transactions/switchboard/safe_transfer_tokens_v2.cdc (1.932kB)
-// ../../../transactions/switchboard/setup_account.cdc (1.685kB)
+// ../../../transactions/switchboard/setup_account.cdc (1.698kB)
 // ../../../transactions/switchboard/setup_royalty_account.cdc (5.883kB)
 // ../../../transactions/switchboard/setup_royalty_account_by_paths.cdc (5.958kB)
 // ../../../transactions/switchboard/transfer_tokens.cdc (1.551kB)
@@ -167,7 +167,7 @@ func generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
-var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x6e\xdb\x30\x0c\xbd\xfb\x2b\x88\x1c\x3a\x07\x48\x9d\x7b\x90\xb4\x68\xb3\x75\xa7\x01\x45\x97\xf5\xce\xd8\x74\x2c\xd4\x91\x0c\x89\x4e\x56\x14\xf9\xf7\x41\x92\xad\x58\x6e\xba\x1e\xb6\x1c\x02\x83\x26\x9f\xde\x7b\xe2\xb3\xd8\x37\x4a\x33\x3c\xb4\x72\x27\xb6\x35\x6d\xd4\x0b\x49\x28\xb5\xda\xc3\x24\xaa\x4d\x92\x4b\x9d\x3f\x88\xb1\x40\xc6\x67\x41\x47\x73\x69\x2c\x6a\x08\x18\x97\xc6\x46\x9d\xc9\x7c\x3e\x87\x4d\x25\x0c\xb0\x46\x69\x30\x67\xa1\x24\x08\x03\xc7\x0a\x19\x50\x02\xe6\xb9\x6a\x25\xc3\x51\xb5\x75\x01\xba\x95\x6e\x82\x15\x18\x62\x10\x6c\xa8\x2e\xa1\x6d\x6c\x61\x8f\x12\x77\x04\x65\xc7\x0b\xd8\x12\x33\x99\x47\x2f\x5b\xe9\xa0\xdd\x74\x6b\xc8\xc0\xc1\x91\x62\x05\x2f\x52\x1d\xe1\x58\x91\xa6\x1e\xd6\xe2\x55\x04\x07\x6c\x6b\x76\x03\x42\x82\x61\xa5\x2d\x3c\xca\xc2\xb6\xe5\x9a\x90\xc9\xb5\xd1\xbe\xe1\x57\xdf\x9c\x25\xc9\x40\x46\x8a\x45\xa1\xc9\x98\x05\xdc\xf9\x87\x19\x34\xed\xb6\x16\xf9\x23\x72\xb5\x80\xc7\xf0\x3c\x85\xb7\x24\x01\x00\x68\x34\x35\xa8\x29\x35\x62\x27\x49\x2f\x00\x5b\xae\xd2\x9f\x78\xa0\x67\xac\x5b\x9a\xc1\x1a\x1b\xdc\x8a\x5a\xb0\x20\x33\x85\xab\x3b\xef\x8d\x1d\x87\xee\x37\x9f\xc3\xbd\xd2\x5a\x1d\x01\x41\x53\x49\x9a\x64\xee\x74\x05\x41\x4e\x09\x15\xa0\xa4\xab\x35\x68\x0c\x15\xc1\x66\xe4\x61\xf5\x4c\x37\x1c\x50\x13\x83\x26\xa3\xea\x03\xe9\x27\x2a\x61\x05\x3b\xe2\x8e\x48\x2f\x78\x1a\xba\xed\x2f\xcb\x07\xac\xb3\xad\x63\xb7\xbc\x7a\x8b\x16\x21\x7b\xea\x20\x4f\x37\xe9\xf9\xd0\x18\xe7\xf6\x16\x1a\x94\x22\x4f\x27\x6b\xb7\x0b\x52\x31\x6c\x3f\xd1\x6a\x2f\x39\xd0\x85\xc9\x34\x19\x1a\xf5\xcb\xd8\x0b\x44\x8e\x87\x35\xb1\x16\x74\xf0\x77\xfb\xb0\xb1\xf4\x20\x52\x5f\xb2\xab\xad\xfe\x12\x91\x6c\x47\xec\x47\x53\xcb\xa0\x17\xb7\x18\x3a\x17\x73\xf9\x4e\xdc\x1f\x68\x89\x7f\x45\x46\x4f\xde\xa5\xc6\xfd\x9d\xf9\x8c\xe9\x84\x89\x55\x47\x2e\x1b\x16\x7b\xdf\x20\x9d\x6c\x2a\xea\xaf\xdf\xfb\x53\x88\x42\x7e\x61\x10\xfb\xa6\xa6\x3d\x49\x1e\x58\x57\xf4\x14\x46\xae\xad\xfd\xe6\x23\x48\x3a\x0e\x77\x1f\x5a\x23\xe4\xce\x01\xf8\x70\x7c\xb3\xef\x1c\x8d\x90\x3e\x10\xd2\x88\x82\xc6\x4a\x23\x3d\x74\x1e\x5b\x5e\x0f\x74\x64\x63\xd4\x34\xe6\x65\x63\x02\x82\xfb\xfb\xef\x16\x3a\x74\xf8\x48\x65\x5d\x8c\x33\x83\x07\x4a\x97\xd7\xe7\xc3\x66\xc0\x6a\x31\x34\xb3\x6f\xf5\x8b\x78\xd1\x01\xbf\xa9\x10\xf6\xfb\x15\x4a\xa5\x07\x16\xd2\xef\x46\x05\x53\x34\xe5\x24\xec\x16\x0a\xc9\xa4\x4b\xcc\x69\x94\x29\xff\x7a\x8d\x0d\xac\x7a\xb6\x51\x72\x7a\xea\xc2\x98\x96\x96\x57\x6f\xd1\xfa\x65\x4f\xdd\xfc\xe9\x26\xfd\x50\xc4\xc8\x8b\x08\xdd\x69\x31\x55\x3a\xe0\x31\x03\xe4\xd8\x92\xfe\xe5\xff\xf2\x64\x8b\x35\xda\xd8\xd9\x8f\x6a\x48\x69\xf0\xc7\x44\x06\xed\x7d\xc0\xfa\x2c\x7d\xea\x53\xfc\x0d\xba\x6c\xda\xbd\x3f\x7f\x06\x1f\x7e\x8c\xfe\xc9\xcb\xf7\x94\xdf\x5b\xda\xf5\xe0\x19\xf5\x94\x9c\x12\xf8\x13\x00\x00\xff\xff\x4f\x83\xc5\x38\xb0\x07\x00\x00"
+var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\xcd\x6e\xf3\x36\x10\xbc\xeb\x29\x06\x3e\xa4\x32\xe0\xc8\x77\xc3\x4e\x90\xba\x4d\x4f\x05\x82\xd4\xcd\x7d\x2d\xad\x2c\x22\x32\x29\x90\x2b\xab\x41\xe0\x77\x2f\x44\xfd\x98\x72\xdd\x2f\x40\x3e\x1d\x0c\x7a\xb9\xbb\x9c\x99\x9d\x55\xc7\xca\x58\xc1\x73\xad\x0f\x6a\x5f\xf2\xce\xbc\xb3\x46\x6e\xcd\x11\xb3\x49\x6c\x16\xdd\xca\xfc\x93\x85\x32\x12\x7a\x53\xdc\xb8\x5b\x65\x93\x84\xb1\x47\xfb\xef\x95\x9d\x29\x4f\x6c\xfb\xaa\x30\x34\x8b\xa2\xe5\x72\x89\x5d\xa1\x1c\xc4\x92\x76\x94\x8a\x32\x1a\xca\xa1\x29\x48\x40\x1a\x94\xa6\xa6\xd6\x82\xc6\xd4\x65\x06\x5b\x6b\x5f\x21\x06\x8e\x05\x4a\x1c\x97\x39\xea\xaa\x0d\x1c\x49\xd3\x81\x91\xf7\xa8\x20\x2d\x2c\x97\x74\xdd\xf3\x5a\xfb\xd6\xbe\xba\x76\xec\x70\xf2\x4c\xc4\xe0\x5d\x9b\x06\x4d\xc1\x96\x87\xb6\x6d\xbf\x82\x71\xa2\xba\x14\x5f\xa0\x34\x9c\x18\xdb\xb6\x27\x9d\xb5\x69\xa9\x65\x12\xf6\x69\x7c\xac\xe4\xa3\x4b\x4e\xa2\x28\xa0\x11\x53\x96\x59\x76\x6e\x85\xa7\xee\xb0\x40\x55\xef\x4b\x95\xbe\x90\x14\x2b\xbc\x8c\xe7\x39\x3e\xa3\x08\x00\x2a\xcb\x15\x59\x8e\x9d\x3a\x68\xb6\x2b\x50\x2d\x45\xfc\x17\x9d\xf8\x8d\xca\x9a\x17\xd8\x52\x45\x7b\x55\x2a\x51\xec\xe6\xb8\x7b\xea\xb4\x69\xcb\xd1\x7f\xcb\x25\x7e\x35\xd6\x9a\x06\x04\xcb\x39\x5b\xd6\xa9\xe7\x35\x12\xf2\x4c\x38\x83\xd1\x3e\x56\x91\x73\x9c\x8d\x32\x93\x84\xd1\x0b\xdc\xf1\x81\x92\x05\xb6\x1f\xdf\x2b\xe7\xd8\xe0\xc0\xd2\x03\x19\x08\xcf\xc7\xec\xf6\x4b\xd2\x00\x75\xb2\xf7\xe8\xd6\x77\x9f\xa1\x0f\x92\xe1\x70\x7e\x88\x2f\x6f\x4e\xdb\x3c\x3e\xa2\x22\xad\xd2\x78\xb6\xf5\x56\xd0\x46\xb0\xff\x82\x6a\x3b\xe3\x11\x2d\x66\xf3\x28\xd4\xe9\x6f\xd7\xce\x8f\x64\x5a\x6c\x59\xac\xe2\x53\x37\xda\xe7\x5d\x8b\x12\x13\xf2\xb9\xf8\xd8\xe6\x07\xfb\x91\x1c\x58\xba\xd2\xf8\x14\xb0\x5c\x85\xc2\x4d\xb1\xfc\xc1\x32\x3c\xd8\x02\xff\x8d\x84\x3a\xf0\x7e\x67\xfc\xcf\x05\xcf\x35\x9c\xb1\x62\xd3\x83\x4b\xc2\xe0\xa0\x1b\xe2\xd9\xae\xe0\x61\xfa\x9d\x3e\x99\xca\xf4\x2f\x02\x75\xac\x4a\x3e\xb2\x96\x40\xba\x6c\x80\x70\xa5\xda\xb6\x33\x3e\x41\x73\x13\x5a\x1f\xb5\x53\xfa\xe0\x1b\x74\xbb\xf1\x7b\x7b\xe7\x61\x8c\xcb\x07\xa5\x9d\xca\xf8\x9a\xe9\x84\x0f\x5f\xca\xd6\xf7\x01\x8f\xe4\xba\x6b\x3c\xc5\xd5\x6e\x09\x94\x0c\xf3\xef\xfd\x3c\x66\x74\x1b\x95\xf4\x5b\x9c\x38\x3a\x71\xbc\xbe\xbf\x3c\xb6\x80\x98\x55\x28\xe6\x90\x3a\x35\xe2\x4d\x25\x3a\xc7\x62\xb4\xf9\x07\x72\x63\x03\x29\x9b\x42\xa5\x05\x94\x4e\xcb\x3a\x63\xe7\x2f\x46\xc3\x43\x69\x61\x9b\x53\xca\x13\x15\x7c\xe1\x96\x2a\x6c\x06\xe4\x93\x25\x1a\x68\x28\xe7\x6a\x5e\xdf\x7d\x4e\xac\x98\x78\x0e\xe7\x87\xf8\x4b\x36\xb7\x5a\x7b\x32\xae\x88\x07\x04\x0b\x90\x4c\x85\x39\xf6\x56\xef\x7a\x7d\x4b\x11\xfe\xa7\x32\xa3\x5d\x2c\xa7\xac\xfe\x5f\x8a\xe1\xfa\xbb\x6a\xbc\xf6\xf5\x3f\x2b\x48\x80\xe3\xbf\x9a\x0c\x97\x81\x26\xe7\xe8\x1c\xe1\xdf\x00\x00\x00\xff\xff\x0c\xf6\xf8\x93\x75\x07\x00\x00"
 
 func metadataSetup_account_from_vault_referenceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -183,7 +183,7 @@ func metadataSetup_account_from_vault_referenceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "metadata/setup_account_from_vault_reference.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x61, 0x7f, 0x33, 0xe2, 0x11, 0xae, 0x96, 0x7, 0xd3, 0x95, 0x90, 0x54, 0x8a, 0x97, 0xef, 0x16, 0x69, 0x42, 0x4b, 0x7c, 0xe5, 0x79, 0xec, 0x3a, 0x81, 0x9b, 0x1a, 0x97, 0xb2, 0xe4, 0xf6, 0xcd}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x75, 0x50, 0xf5, 0xd5, 0x57, 0x5a, 0xa1, 0xb4, 0x46, 0xae, 0xe1, 0xfc, 0x2a, 0x15, 0x3, 0x58, 0xb6, 0x64, 0x95, 0xa3, 0x6e, 0x91, 0xc6, 0x84, 0xa0, 0xda, 0x3, 0x2a, 0xaa, 0x94, 0x36, 0xba}}
 	return a, nil
 }
 
@@ -747,7 +747,7 @@ func switchboardSafe_transfer_tokens_v2Cdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardSetup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x53\xdb\x6a\xe3\x30\x10\x7d\xf7\x57\x1c\xf2\xb0\x24\x90\x4d\xde\x4b\x5b\x28\x0b\xfb\x5c\xb6\xfd\x81\xb1\x3c\x8e\x44\x14\xc9\x48\xa3\x66\x43\xc8\xbf\x2f\xb2\x9b\x60\x37\x71\xf1\x42\x2b\x02\xd1\x6d\x8e\xce\x65\x6c\x76\x8d\x0f\x82\xdf\xc9\x6d\x4c\x69\xf9\xd5\x6f\xd9\xbd\xec\x8d\x28\x5d\x7a\x0a\x15\xea\xe0\x77\x98\x8d\x1d\xcf\x8a\x5b\xf5\xb7\x8a\x66\x45\xb1\x5e\xe3\x55\x9b\x08\x09\xe4\x22\x29\x31\xde\xc1\x44\x10\x84\x77\x8d\x25\x61\xd4\x3e\xe4\x65\xef\x5c\x34\x09\x94\x4f\xb6\x42\xc9\x48\x91\x2b\x94\x07\x64\x28\x72\x07\xef\x18\xe2\xf3\x8f\xaa\x0a\x84\x3e\xef\xc0\xd1\xa7\xa0\xba\x0b\x9a\x4d\x00\x29\xe5\x93\x13\x44\xdf\xa1\x8a\xe6\x03\x14\xb9\x0c\x16\x58\xb1\x79\x63\xec\x92\x15\xd3\x58\x46\xfd\xce\x1d\x92\xc9\x47\xa4\x68\xdc\x06\x84\xfc\x67\x19\xc7\x81\xb6\xd5\x9f\xae\x3c\x9c\x8a\x3e\xf7\x63\x51\x00\x40\x13\xb8\xa1\xc0\x73\x52\x4a\xee\xf0\x94\x44\x3f\x75\x4c\x16\xe7\x1b\x79\xac\xd7\xf8\xa5\x59\x6d\x61\xea\xcc\xec\xc2\x96\x6c\x60\xaa\x0e\xd0\x14\x47\x14\x5e\x20\x4c\x9d\xab\x64\x55\xfa\x10\xfc\xfe\xfe\xc7\x58\x68\xab\xde\xfc\xf1\x52\x0d\xcc\x73\x6c\x77\xa3\xad\xb0\x7a\x11\x1f\x68\xc3\xcf\x24\x7a\x81\x87\x07\x38\x63\x71\xec\xd5\x03\x83\x45\x56\x14\x38\xc7\x4a\x70\xbc\xbf\x9d\x0e\xb9\x0a\x4d\x12\x18\x81\x71\xe2\x11\xbb\x37\x06\x40\xad\xa8\x48\x6f\x3c\x1f\x6c\xe7\x71\xff\x73\x9c\xae\x6a\x1f\xef\xed\xcc\x17\x4b\x5c\x21\x88\x9f\xa8\xb8\x18\x15\xd7\xa4\xd2\x1a\x05\x45\x0d\x95\xc6\x1a\x39\xbc\xf7\xdc\x40\x31\xff\x6d\x7c\xdb\x43\xf9\xa0\xe2\xbc\x90\x8f\x88\x75\x72\xe7\xae\x0f\x3e\x6d\x74\x7b\x77\xac\xd5\xb2\x5f\x1c\x6a\x52\x37\xcc\xb2\xc6\x6d\xa7\xe5\x3f\x86\xfe\x78\xed\xf5\x28\xdc\xb9\xe8\xb9\xf5\x21\x9b\xb5\xbc\xb6\x99\xc2\x86\x65\x9a\xd5\x83\xe2\xc5\xb4\x06\xfb\xbf\x0c\x4a\x2f\xad\xb9\x1f\xe1\x8e\x53\x2c\xeb\x64\x9e\xda\xd6\xcd\x2f\x7c\x0e\x72\x2b\xb0\xf8\x75\x89\x7d\xca\x71\x89\x2f\x48\xf7\x9b\x53\xbd\x4c\x4e\xdd\x07\x76\x2a\x8a\x53\xf1\x2f\x00\x00\xff\xff\xb5\xea\xbe\xcb\x95\x06\x00\x00"
+var _switchboardSetup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x53\xdd\x6a\xdb\x30\x14\xbe\xf7\x53\x7c\xe4\x62\x24\x90\x25\xf7\xa5\x2d\x94\xc1\xae\xcb\xda\x17\x38\x96\x8f\x23\x11\x45\x32\xd2\x51\xb3\x10\xf2\xee\x43\x76\x13\xec\xc6\x2e\xd9\xe8\x4c\x20\xfa\x3b\x9f\xbe\x9f\x23\xb3\x6b\x7c\x10\xfc\x4c\x6e\x63\x4a\xcb\xaf\x7e\xcb\xee\x65\x6f\x44\xe9\xd2\x53\xa8\x50\x07\xbf\xc3\x6c\x6a\x7b\x56\x8c\xd5\x8f\x15\xcd\x8a\x62\xbd\xc6\xab\x36\x11\x12\xc8\x45\x52\x62\xbc\x83\x89\x20\x08\xef\x1a\x4b\xc2\xa8\x7d\xc8\xd3\xde\xbe\x68\x12\x28\x9f\x6c\x85\x92\x91\x22\x57\x28\x0f\xc8\x50\xe4\x0e\xde\x31\xc4\xe7\x1f\x55\x15\x08\x7d\xde\x81\xa3\x4f\x41\x75\x07\x34\x9b\x00\x52\xca\x27\x27\x88\xbe\x43\x15\xcd\x07\x28\x72\x19\x2c\xb0\x62\xf3\xc6\xd8\x25\x2b\xa6\xb1\x8c\xfa\x9d\x3b\x24\x93\x8f\x48\xd1\xb8\x0d\x08\xf9\xcf\x32\x8e\x03\x6d\xab\x5f\x5d\x79\x38\x15\x7d\xee\xc7\xa2\x00\x80\x26\x70\x43\x81\xe7\xa4\x94\xdc\xe1\x29\x89\x7e\xea\x98\x2c\xce\x27\xf2\xb7\x5e\xe3\x87\x66\xb5\x85\xa9\x33\xb3\x0b\x5b\xb2\x81\xa9\x3a\x40\x53\x9c\x50\x78\x81\x30\x75\xae\x92\x55\xe9\x43\xf0\xfb\xfb\x6f\x53\xa1\xad\x7a\xe3\xc7\x4b\x35\x30\xcf\xb1\xdd\x4d\xb6\xc2\xea\x45\x7c\xa0\x0d\x3f\x93\xe8\x05\x1e\x1e\xe0\x8c\xc5\xb1\x57\x0f\x0c\x26\x59\x51\xe0\x1c\x2b\xc1\xf1\x7e\x3c\x1d\x72\x15\x9a\x24\x30\x02\xe3\xc4\x23\x76\x77\x0c\x80\x5a\x51\x91\xde\x78\x3e\x58\xce\xdf\xfd\xf7\x69\xba\xaa\xbd\xbc\xb7\x32\x5f\x2c\x71\x85\x20\xfe\x36\xc5\x83\xc2\x45\x31\xa9\xb4\x49\xa5\x35\x0a\x8a\x1a\x2a\x8d\x35\x72\x78\x6f\xc0\x81\x7c\xfe\xdd\xf8\xb6\xa1\xf2\x46\xc5\x79\x22\x1f\x11\xeb\xe4\xce\x4f\x20\xf8\xb4\xd1\xed\xd9\xa9\xbe\xcb\xe6\x71\xa8\x49\x8d\x38\x67\x8d\xdb\xde\xd6\x0c\x53\xe8\x8f\xd7\xc6\x4f\xc2\x9d\x8b\x9e\x5b\x1f\xb2\x73\xcb\x6b\xcf\x29\x6c\x58\xfe\xc9\xf7\x9b\xba\xed\xef\x32\x28\xbd\xb4\xe6\x7e\x84\x3b\xde\x62\x59\x27\xf3\xd4\xf6\x71\xbe\xe1\x73\x90\xb1\xc0\xe2\xd7\x25\xf6\x29\xc7\x25\xbe\x20\xdd\xff\x9c\xea\x65\x70\xea\x1e\xd8\xa9\x28\x4e\xc5\x9f\x00\x00\x00\xff\xff\x7e\x23\xaf\xa6\xa2\x06\x00\x00"
 
 func switchboardSetup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -763,7 +763,7 @@ func switchboardSetup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x74, 0x85, 0x63, 0x21, 0x54, 0xb9, 0x53, 0x38, 0xac, 0x89, 0xdc, 0xfe, 0x4a, 0x2, 0xa9, 0xbc, 0xd5, 0xef, 0x31, 0x1b, 0x1a, 0xb7, 0x3d, 0xb0, 0x31, 0x7b, 0xf5, 0xb8, 0xe3, 0x43, 0xa7, 0x3b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x51, 0xab, 0xfd, 0x49, 0x8, 0x59, 0xc4, 0xc3, 0xd5, 0x74, 0x24, 0xc4, 0xaa, 0xd2, 0xf5, 0x4, 0x29, 0x1e, 0xb2, 0x82, 0x2d, 0x40, 0xaf, 0x9f, 0x7d, 0xda, 0xc2, 0x0, 0x7e, 0x5, 0x68, 0xf9}}
 	return a, nil
 }
 

From dc693f7f05a03909e959feed453ee990b1e7cbb3 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 18:03:32 -0500
Subject: [PATCH 053/115] bump flow cli version to v1.5.0-stable-cadence.3

---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 5a73824b..c876ab69 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -17,7 +17,7 @@ jobs:
           restore-keys: |
             ${{ runner.os }}-go-
       - name: Install Flow CLI
-        run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.4.4
+        run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.5.0-stable-cadence.3
       - name: Flow CLI Version
         run: flow version
       - name: Update PATH

From 7a265630db527e953cbd3c18e047dc45b7bfde2a Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 18:12:32 -0500
Subject: [PATCH 054/115] fix test script bugs & update go assets

---
 lib/go/templates/internal/assets/assets.go | 89 ++++++++--------------
 tests/scripts/get_token_metadata.cdc       |  4 +-
 tests/scripts/get_views.cdc                |  1 +
 3 files changed, 36 insertions(+), 58 deletions(-)

diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 54321223..c61317a0 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -13,29 +13,28 @@
 // ../../../transactions/safe_generic_transfer.cdc (1.892kB)
 // ../../../transactions/scripts/get_balance.cdc (423B)
 // ../../../transactions/scripts/get_supply.cdc (195B)
-// ../../../transactions/scripts/get_supported_vault_types.cdc (979B)
+// ../../../transactions/scripts/get_supported_vault_types.cdc (921B)
 // ../../../transactions/scripts/metadata/get_token_metadata.cdc (538B)
 // ../../../transactions/scripts/metadata/get_vault_data.cdc (602B)
 // ../../../transactions/scripts/metadata/get_vault_display.cdc (596B)
 // ../../../transactions/scripts/metadata/get_vault_supply_view.cdc (679B)
 // ../../../transactions/scripts/switchboard/check_receiver_by_type.cdc (570B)
 // ../../../transactions/scripts/switchboard/get_vault_types.cdc (698B)
-// ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (729B)
+// ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (676B)
 // ../../../transactions/scripts/test/example_token_vault_display_strict_equal.cdc (2.014kB)
 // ../../../transactions/scripts/tokenForwarder/is_recipient_valid.cdc (444B)
 // ../../../transactions/setup_account.cdc (1.417kB)
-// ../../../transactions/switchboard/add_vault_capability.cdc (1.415kB)
-// ../../../transactions/switchboard/add_vault_wrapper_capability.cdc (1.443kB)
-// ../../../transactions/switchboard/batch_add_vault_capabilities.cdc (1.34kB)
-// ../../../transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc (1.591kB)
-// ../../../transactions/switchboard/remove_vault_capability.cdc (1.155kB)
-// ../../../transactions/switchboard/safe_deposit_to_lnf.cdc (4.493kB)
-// ../../../transactions/switchboard/safe_transfer_tokens.cdc (2.153kB)
-// ../../../transactions/switchboard/safe_transfer_tokens_v2.cdc (1.932kB)
-// ../../../transactions/switchboard/setup_account.cdc (1.698kB)
+// ../../../transactions/switchboard/add_vault_capability.cdc (4.038kB)
+// ../../../transactions/switchboard/add_vault_wrapper_capability.cdc (1.491kB)
+// ../../../transactions/switchboard/batch_add_vault_capabilities.cdc (1.342kB)
+// ../../../transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc (1.575kB)
+// ../../../transactions/switchboard/remove_vault_capability.cdc (1.241kB)
+// ../../../transactions/switchboard/safe_transfer_tokens.cdc (1.968kB)
+// ../../../transactions/switchboard/safe_transfer_tokens_v2.cdc (1.871kB)
+// ../../../transactions/switchboard/setup_account.cdc (2.091kB)
 // ../../../transactions/switchboard/setup_royalty_account.cdc (5.883kB)
 // ../../../transactions/switchboard/setup_royalty_account_by_paths.cdc (5.958kB)
-// ../../../transactions/switchboard/transfer_tokens.cdc (1.551kB)
+// ../../../transactions/switchboard/transfer_tokens.cdc (1.451kB)
 // ../../../transactions/transfer_many_accounts.cdc (1.418kB)
 // ../../../transactions/transfer_tokens.cdc (1.446kB)
 
@@ -367,7 +366,7 @@ func scriptsGet_supplyCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsGet_supported_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x53\x4f\x8b\xdb\x3e\x10\xbd\xfb\x53\x3c\x72\xf8\xad\x0d\x3f\x9c\x7b\x68\xbb\x6c\x0b\xa5\xc7\x25\x49\x7b\xb6\x2c\x8f\x23\xb1\xb2\x65\x46\xe3\x98\x10\xf2\xdd\x8b\xe4\xa4\x1b\x87\xdd\x9c\xc2\x78\xde\x1f\xbd\x99\xb1\xdd\xe0\x59\xf0\x73\xec\x0f\xb6\x76\xb4\xf7\x6f\xd4\xa3\x65\xdf\x61\xb5\xa8\xad\xb2\x6c\xbd\x5e\x63\x6f\x6c\x40\xd0\x6c\x07\x09\x60\x92\x91\xfb\x00\x31\x84\x30\x0e\x91\x88\x9a\x25\xd5\x53\x80\x9c\x06\x42\x7d\x4a\x5d\x03\xfb\xa3\x6d\xa8\x41\x25\x8a\x0f\x24\x15\x54\xd3\x30\x85\x50\x26\xf6\xc7\x2a\x82\xf1\xa3\x6b\x60\xbc\x6b\x12\x5e\xab\x41\xd5\xd6\x59\x39\x61\x32\x56\x1b\x68\xdf\xb7\x9e\xbb\x80\xc9\x8a\x59\x4a\x97\x5b\xd2\x64\x8f\xc4\x60\x0a\xc2\x56\x47\x73\xd1\x4c\x92\x9a\x8c\x75\x04\x2b\x68\x3c\x85\xfe\x49\xd0\x29\x11\x62\x4c\x86\xc4\x10\xdf\x2b\x31\xb5\xc4\x01\xe2\xd1\x5e\xf9\x21\x29\x26\xcf\x50\xd0\x63\x10\xdf\x81\x6f\x62\xce\xbe\x11\xe6\xd7\x2c\xec\xec\x26\x2b\xda\xd4\x5e\x71\x53\x45\x64\x95\xaa\x37\x8f\x55\x89\x5f\x7e\xa2\x48\x70\x0d\xe1\x55\x89\xa9\x20\xe4\x5c\x88\xa6\x98\x1e\x03\x08\xe2\x99\x42\xa6\xb4\xa6\x10\x72\xe5\x5c\x11\xfd\xa1\x53\xb6\xcf\x67\x8a\x0d\x5e\xe6\x1c\xff\xc7\x3b\xe7\x06\xaf\x63\xed\xac\x8e\xff\x8b\x0d\xce\xfb\xd3\x40\x1b\x7c\xf7\xde\x5d\x70\xce\x32\x00\x58\xaf\xf1\x92\x58\x1f\x25\x5b\xcf\xcb\x31\xce\xb4\xb7\x71\x25\xb0\x23\xb9\x83\x6c\xa9\xc5\x57\x1c\x48\x5e\xb4\xf6\x63\x2f\x57\x67\x45\x6a\x7d\xfc\x95\x07\x92\x1f\xff\xa0\x5f\xfe\x3b\x7f\x3c\xcf\xcb\xb7\xfc\xfd\x39\x9f\x30\xd5\x9e\xd9\x4f\x79\x81\x0f\x3f\x3f\x3f\x63\x50\xbd\xd5\xf9\xea\x77\xaf\xe6\x79\x62\x46\x2c\x36\x2c\xae\xd4\xdd\xee\x84\xb1\x9e\x97\xf9\x33\x5f\xf3\xdd\x0c\x4a\xcc\xaa\xd4\xbe\xd7\x4a\xee\x8c\x96\xe2\x77\xc2\xb6\x3f\xe4\x45\x51\xdc\x62\xde\xa6\x0b\x7a\x38\xa0\xa3\x1a\x9d\x24\xa5\x50\xa6\xc6\xf9\xce\x96\xa9\xc6\xac\x76\x37\xc8\x9f\x88\x88\x83\x0c\x79\x91\x5d\xfe\x06\x00\x00\xff\xff\x68\x0a\x37\x89\xd3\x03\x00\x00"
+var _scriptsGet_supported_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x53\x4d\x8f\x9b\x30\x10\xbd\xf3\x2b\x9e\x72\xe8\x82\x54\x91\x7b\xd4\x76\x95\x1e\xaa\x1e\x57\x49\xda\x33\xc6\x0c\xb1\xb5\x06\xa3\xf1\x10\x14\x45\xf9\xef\x95\x4d\xd2\x0d\x51\xcb\x09\x8d\xe6\x7d\xf8\xcd\x8c\xed\x06\xcf\x82\x1f\x63\x7f\xb4\xb5\xa3\x83\x7f\xa7\x1e\x2d\xfb\x0e\xab\x45\x6d\x95\x65\xeb\xf5\x1a\x07\x63\x03\x82\x66\x3b\x48\x00\x93\x8c\xdc\x07\x88\x21\x84\x71\x88\x44\xd4\x2c\xa9\x5e\x02\xe4\x3c\x10\xea\x73\xea\x1a\xd8\x9f\x6c\x43\x0d\x2a\x51\x7c\x24\xa9\xa0\x9a\x86\x29\x84\x32\xb1\x3f\x57\x11\x8c\x1f\x5d\x03\xe3\x5d\x93\xf0\x5a\x0d\xaa\xb6\xce\xca\x19\x93\xb1\xda\x40\xfb\xbe\xf5\xdc\x05\x4c\x56\xcc\x52\xba\xdc\x91\x26\x7b\x22\x06\x53\x10\xb6\x3a\x9a\x8b\x66\x92\xd4\x64\xac\x23\x58\x41\xe3\x29\xf4\x2f\x82\x4e\x89\x10\x63\x32\x24\x86\xf8\x51\x89\xa9\x25\x0e\x10\x8f\xf6\xc6\x0f\x49\x31\x79\x86\x82\x1e\x83\xf8\x0e\x7c\x17\x73\xf6\x9d\x30\xbf\x66\x61\x67\x3f\x59\xd1\xa6\xf6\x8a\x9b\x2a\x22\xab\x54\xbd\x7b\xac\x4a\xfc\xf4\x13\x45\x82\x5b\x08\x6f\x4a\x4c\x05\x21\xe7\x42\x34\xc5\xf4\x1c\x40\x10\xcf\x14\x32\xa5\x35\x85\x90\x2b\xe7\x8a\xe8\x0f\x9d\xb2\x7d\x3e\x53\x6c\xb0\x9d\x73\xfc\x8c\x0f\xce\x0d\xde\xc6\xda\x59\x1d\xff\x8b\x0d\x2e\x87\xf3\x40\x1b\x7c\xf7\xde\x5d\x71\xc9\x32\x00\x58\xaf\xb1\x4d\xac\xcf\x92\xad\xe7\xe5\x18\x67\xda\xfb\xb8\x12\xd8\x91\x3c\x40\x76\xd4\xe2\x2b\x8e\x24\x5b\xad\xfd\xd8\xcb\xcd\x59\x51\xfe\x6d\xb1\x14\xca\xda\x33\xfb\xe9\xcb\xa7\xcb\xbf\x07\x78\xfd\x96\x7f\xf8\x2f\x92\x4a\xfc\x5e\x5f\x31\xa8\xde\xea\x7c\xf5\xab\x57\xf3\x54\x30\x33\x2d\xf6\x24\x2e\xc6\xc3\x06\x84\xb1\x9e\x57\xf2\x7f\x62\xf3\xf6\x0f\x4a\xcc\xaa\xd4\xbe\xd7\x4a\x1e\xd4\x4b\xf1\x7b\x61\xdb\x1f\xf3\xa2\x28\xee\x61\xed\xd2\x1d\x3c\x9d\xc1\x49\x8d\x4e\x92\x52\x28\x53\xe3\x7c\x2d\xcb\x6c\xca\x23\xc9\xfe\x0e\xf9\x1d\x11\x71\x1c\x21\x2f\xb2\xeb\x9f\x00\x00\x00\xff\xff\x7f\xdd\x37\x37\x99\x03\x00\x00"
 
 func scriptsGet_supported_vault_typesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -383,7 +382,7 @@ func scriptsGet_supported_vault_typesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_supported_vault_types.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0xa7, 0x1a, 0xca, 0x78, 0x21, 0x6a, 0x9e, 0x9a, 0x54, 0x8, 0xc6, 0x88, 0x73, 0xfc, 0x67, 0x6a, 0x86, 0x23, 0x2a, 0xe7, 0xe0, 0x30, 0xcb, 0xe8, 0xba, 0x14, 0x9b, 0xf4, 0x2f, 0x40, 0x31}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0x4, 0x1a, 0x9c, 0x9f, 0x51, 0xb3, 0xec, 0xab, 0x13, 0xc, 0x39, 0xf6, 0x88, 0xd5, 0x1c, 0x77, 0x74, 0x44, 0x9a, 0x7, 0xb2, 0x58, 0xf0, 0x1e, 0x1e, 0x32, 0x3, 0xcf, 0x2f, 0x96, 0xbd}}
 	return a, nil
 }
 
@@ -507,7 +506,7 @@ func scriptsSwitchboardGet_vault_typesCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsSwitchboardGet_vault_types_and_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x91\xcf\xca\xdb\x30\x10\xc4\xef\x7a\x8a\xc1\x87\x62\x5f\xec\xfb\x47\xbf\x86\x10\x68\xaf\x21\x0d\xed\x35\xb2\xbc\xb6\x45\x65\xc9\x48\xeb\x86\x10\xf2\xee\x45\x56\xfe\x38\x90\x40\x7d\x32\xda\xfd\xcd\x48\x33\x7a\x18\x9d\x67\x7c\x9f\x6c\xa7\x6b\x43\x7b\xf7\x87\x2c\x5a\xef\x06\x64\x4f\x67\x99\x78\xb5\xf9\xf3\xa8\x59\xf5\xb5\x93\xbe\x79\x05\x2d\xc6\x99\x10\x55\x85\x7d\xaf\x03\x82\xf2\x7a\x64\x78\x92\x4d\x00\xf7\x84\xc0\xce\x53\x83\xbf\x72\x32\x0c\x25\x47\x59\x6b\xa3\x59\x53\x48\x9a\x12\x61\x61\xe3\x6c\x64\xa2\xd8\x28\x43\xa0\x06\x52\x29\x37\x59\x16\x52\x29\x0a\x21\x97\xc6\x14\x68\x27\x8b\x41\x6a\x9b\x5f\x87\x1f\x58\x37\x8d\xa7\x10\x8a\x0f\x9c\xf7\xa7\x91\xee\x07\x17\x9c\x85\x00\x00\x43\x1c\xa5\x18\x9f\xe8\x88\xd7\x89\xbb\xf1\x45\xda\xa9\x2a\xfc\x88\x6b\xf0\xd4\x92\x27\xab\x08\xec\xd2\x13\x16\x37\x54\xce\xb6\xce\x0f\xda\x76\x71\xba\xc8\x60\x3b\xd5\x46\xab\xbb\xdb\x82\xd9\x51\x8b\xcf\xd9\xbe\xec\x88\x37\xb7\x08\x4e\xf9\xbb\x38\xcb\xa4\xb5\x95\xdc\x17\xb3\x60\xfc\xca\xda\x79\xef\x8e\x5f\xbf\xbc\xa5\x16\xff\xe7\xff\x59\x4a\x2e\x97\x6f\xf9\xc3\x64\xb5\xc2\x28\xad\x56\x79\xb6\x71\x93\x69\x60\x1d\x23\xf9\x3e\xa7\xb2\x78\x5d\xf6\x88\x6f\x47\x3c\xf9\xb9\x41\x78\x0a\xb1\x6f\xd7\xe2\xd0\x11\xff\x8a\xe5\xc7\x66\xc2\x6f\xcd\xfd\xb5\x9c\xbc\x38\xcc\xa0\x4f\xd4\x73\x60\xe5\x7b\x4a\x88\x8b\xf8\x17\x00\x00\xff\xff\xa3\xe8\x69\xc6\xd9\x02\x00\x00"
+var _scriptsSwitchboardGet_vault_types_and_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x91\x41\x6f\xa3\x30\x10\x85\xef\xfe\x15\x4f\x1c\x56\x70\x81\x7b\xb4\xbb\x51\xb4\xd2\xf6\x1a\xa5\x51\x7b\x8d\x31\x03\x58\x35\x36\x1a\x0f\x8d\xaa\x28\xff\xbd\x02\x92\x88\xa8\x89\x8f\x9e\xf9\xe6\xbd\x79\x63\xbb\x3e\xb0\xe0\xff\xe0\x1b\x5b\x3a\xda\x87\x0f\xf2\xa8\x39\x74\x48\xee\xfe\x12\xf5\xa8\xf3\xf5\x68\xc5\xb4\x65\xd0\x5c\x3d\x82\x16\xe5\x44\xa9\xa2\x28\xb0\x6f\x6d\x44\x34\x6c\x7b\x01\x93\xae\x22\xa4\x25\x44\x09\x4c\x15\x3e\xf5\xe0\x04\x46\xf7\xba\xb4\xce\x8a\xa5\x38\x0f\xd5\x88\x0b\x9d\xe0\x27\xa6\xd7\x31\x52\x05\x6d\x4c\x18\xbc\x8c\xc3\x95\x36\x86\x62\x4c\xb5\x73\x19\xea\xc1\xa3\xd3\xd6\xa7\x97\x86\x15\x36\x55\xc5\x14\x63\xb6\xc2\x69\xff\xd5\xd3\xed\xe3\x8c\x93\x52\x00\x50\x14\x78\x21\x81\x06\x53\x4d\x4c\xde\x10\x24\xcc\xfe\x16\xf2\x26\xf8\x3a\x70\x67\x7d\x33\x56\x17\x1b\x6e\x87\xd2\x59\x33\x4d\x72\x24\x4b\x66\x47\x35\xfe\xa0\x21\xd9\xcc\x5e\xae\x9e\xb2\x7c\xb9\x6b\x5e\x06\xe6\x70\xfc\xfd\xeb\xf4\x2c\xc3\xfc\x87\xda\xf9\x6f\x3a\x09\x5e\xdf\x53\x72\x6e\xdf\x6a\x69\x6f\xfd\x19\xd6\x6b\xf4\xda\x5b\x93\x26\xff\xc2\xe0\x2a\xf8\x20\x98\x4d\xdc\x47\xb0\x58\x25\xc9\x6e\x59\xed\x48\x06\x9e\x6f\xc1\x14\xc7\xcb\x85\x1a\x87\x86\xe4\x6d\x3c\xe3\x18\x71\x7c\xb7\xd2\x5e\x52\x4e\xb3\xc3\x04\xf2\x4c\xdd\xa7\x93\x3f\xa7\x94\x3a\xab\xef\x00\x00\x00\xff\xff\x7f\x15\x84\x88\xa4\x02\x00\x00"
 
 func scriptsSwitchboardGet_vault_types_and_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -523,7 +522,7 @@ func scriptsSwitchboardGet_vault_types_and_addressCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/switchboard/get_vault_types_and_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0xe6, 0xe9, 0x2e, 0x23, 0x2d, 0xf9, 0x64, 0x3, 0xf2, 0xc5, 0x39, 0xb7, 0x30, 0x55, 0xc, 0x68, 0xf4, 0x1e, 0xc9, 0x1e, 0x14, 0x1c, 0x6e, 0xd9, 0x90, 0x58, 0xc2, 0xfc, 0x82, 0x76, 0xd3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0x17, 0x56, 0x85, 0xb2, 0xb9, 0xd7, 0x4f, 0x34, 0xc6, 0xf8, 0xef, 0x17, 0xce, 0xe0, 0x3, 0x4e, 0x33, 0x6c, 0x36, 0xe4, 0xa5, 0x3a, 0xa8, 0x49, 0xdf, 0xda, 0xe2, 0x4c, 0x71, 0xeb, 0x71}}
 	return a, nil
 }
 
@@ -587,7 +586,7 @@ func setup_accountCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\x9b\x40\x10\xbd\xf3\x2b\x9e\x38\xa4\x44\xaa\xf0\xdd\x4a\x1a\x45\x51\xdb\x5b\x15\x25\x51\xef\xc3\x32\xc0\x2a\xb0\x8b\x76\x07\x7f\x28\xf2\x7f\xaf\x16\x6c\xba\xb4\x8e\x13\x0e\x16\x86\x99\xb7\xef\xbd\x79\x83\xee\x7a\xeb\x04\x3f\x06\x53\xeb\xa2\xe5\x17\xfb\xca\x06\x95\xb3\x1d\xd2\xc5\xb3\x34\x39\x57\xf9\xbc\xd5\xa2\x9a\xc2\x92\x2b\xcf\x35\x45\xaf\xe7\xfe\xef\x3b\xea\xfa\xe5\x41\xf1\xa3\x34\x49\x56\x2b\xbc\x34\xda\x43\x1c\x19\x4f\x4a\xb4\x35\xd0\x1e\x04\xe1\xae\x6f\x49\x18\x95\x75\xe1\x6f\xf4\x5e\x1a\x92\xd0\xa8\xec\xd0\x96\x28\x18\x83\xe7\x12\xc5\x1e\x64\xf6\xd6\x30\xc4\x82\xca\x12\x04\xc3\x5b\x54\x47\x8e\x90\x91\xc4\x86\x86\x76\x6a\xa6\x9e\x0a\xdd\x6a\xd9\x87\x7a\x69\x58\x3b\xf8\x48\xa1\x63\x6f\x07\xa7\x38\x89\x4f\x7e\x4b\x12\x00\x68\x59\xc0\x91\x8e\xdf\x01\xf4\x61\x06\x5c\xe3\xef\xfd\xcd\xd5\xdb\xc2\xa5\xfc\x89\x15\xeb\x0d\xbb\xc3\xb7\x19\x2a\x3a\xf6\x89\xab\x35\x70\xf5\x9e\xb1\x79\x74\x3f\x51\xe9\x1d\xf7\xe4\x38\xf3\xba\x36\xec\xd6\xb8\x1f\xa4\xb9\x57\xca\x0e\x46\xae\x4f\x74\xc3\xb5\x5a\xe1\x27\x4b\xd0\x79\x62\x1e\x1b\x12\xbb\x31\x8e\x29\xd4\x4d\x90\x5f\x3c\x68\xc2\x9b\xb1\x3c\xb7\x55\x7e\x41\x3f\x6e\x31\xd7\x8e\xf5\x23\x50\x5e\xb3\x7c\xde\x97\x4b\x57\x16\x67\x68\x6e\x7c\x1c\x8a\x56\xab\x47\x92\xe6\x7a\x46\x88\xe5\x3f\x34\xac\x5e\xa1\xab\x51\x9b\x3b\x36\xc5\xc2\x79\xa7\xbd\xf8\xb9\x85\xbc\x67\x27\xd9\x47\x62\x73\x15\x70\xb3\xeb\xaf\x4b\xcd\x1d\x7b\x4f\x35\xaf\x91\x3e\x8f\xea\x51\x5a\xf6\x30\x56\xd0\xd0\x86\x41\xa7\xd5\xc0\xb4\x1b\x67\xf8\xa4\xe7\x65\x84\x29\x12\x1c\x57\xec\xd8\x28\x3e\x86\xf7\xe8\xb1\x8f\xb3\xb4\x9c\xd7\x32\x64\xb8\x3d\x4d\xa5\xb0\xce\xd9\xed\xcd\xa7\x22\xb7\x1c\x4d\x16\x92\xb2\x7e\xf7\x1b\x91\x3f\x8b\x75\x54\xf3\x38\x91\xa5\x39\x77\x77\xe8\xc9\x68\x95\xa5\x0f\xe3\x0a\x07\x5b\x26\x1e\x4b\x61\x11\xe7\xa3\x1b\xe3\xcf\x61\x8a\x35\xef\x58\x0d\xc2\xff\xa4\xfc\xbe\x2c\x47\x43\xfe\xdb\xef\xc5\x76\x0f\x5e\x9b\x3a\x7c\x25\x7e\xf1\x76\x1c\x28\x3a\x96\xc6\x5e\xf4\x2c\x8f\xca\x33\x15\x6d\xfb\x47\x11\x59\x52\x3f\x24\x7f\x02\x00\x00\xff\xff\xde\x10\x3c\x68\x87\x05\x00\x00"
+var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xdb\x38\x10\xbd\xfb\x57\x0c\x7c\xf0\xda\x81\x57\xba\x1b\x49\x8a\xae\xd1\x5d\xec\x65\x51\x34\xdd\xde\xc7\xd4\xc8\x22\x2a\x93\x02\x39\x72\x12\x04\xf9\xef\x0b\xea\x93\xac\x24\x7f\x6d\x51\x5f\xa2\x88\x9c\x99\x37\x6f\x86\xf3\x44\x79\x28\xb4\x61\xf8\xb3\x54\x7b\xb9\xcb\xe9\xab\xfe\x4e\x0a\x52\xa3\x0f\x30\x0f\xde\xcd\x67\x63\x3b\x9f\x9e\x25\x8b\x6c\xa7\xd1\x24\x63\x46\xde\x72\x67\xff\xe9\x05\x0f\x45\x18\xc8\x7f\x35\x9f\xcd\xe2\x38\x86\xaf\x99\xb4\xc0\x06\x95\x45\xc1\x52\x2b\x90\x16\x10\x98\x0e\x45\x8e\x4c\x90\x6a\xe3\xfe\xf5\xd6\x39\x43\x06\xa1\xcb\x3c\x81\x1d\x41\x69\x29\x81\xdd\x2b\xa0\x7a\xd5\x8a\x80\x35\x60\x92\x00\x82\xa2\x67\x48\x1b\x84\xc0\x15\x84\x23\x96\x39\x57\x31\x05\x16\xb8\x93\xb9\xe4\x57\x67\xc0\x19\x49\x03\xd6\x4b\xd0\x90\xd5\xa5\x11\xe4\x36\xcf\xfc\xd8\x6f\xb3\x19\x00\x40\x4e\x0c\xe4\xa5\xf2\xcd\x79\xde\x76\x4e\x37\xd0\x3f\xdf\x2f\xde\x02\xa2\xa2\x2f\x24\x48\x1e\xc9\xbc\x3f\x76\xae\xbc\xd0\x5f\x28\xdd\x00\x2c\xa6\xb8\x8d\xbc\xe7\x1a\x4a\x61\xa8\x40\x43\x4b\x2b\xf7\x8a\xcc\x06\xb0\xe4\x6c\xf9\x87\x36\x46\x3f\x7f\xc3\xbc\xa4\x35\xfc\x6d\x6d\x49\x4f\xac\x0d\xee\xa9\xc7\xb5\xd5\x8a\x8d\xce\x73\x32\x6b\xf8\x5c\xee\x72\x69\xb3\x7e\x71\x0d\x4f\x78\xa4\xc6\xfe\x5f\x55\xfc\xb8\xbe\x82\xc5\x47\x21\x74\xa9\x78\xd5\x52\xe2\x7e\xf1\x5d\x58\xf3\x8a\x16\x10\x5a\xa5\x72\x5f\x1a\xac\x18\xbc\x8b\xfb\xed\xfe\x23\x6c\x9b\x6d\x04\xa8\xc6\xdc\xc8\x14\x14\x51\x42\x49\x67\x24\x53\xa8\xb3\x8e\x6c\x9d\x5d\xb4\xab\xf2\xbe\x5f\xf8\xe6\x51\x65\xfe\xb8\x74\x0d\xb8\x81\xe1\x4a\xc3\xcc\x67\xe4\x6c\x05\x0f\x0f\xa0\x64\x0e\x6f\x5d\x8c\x16\x9c\x21\xd7\x8c\x75\x5b\x8d\x80\x43\x95\x80\xc5\x23\x81\x64\x90\x0a\x1a\x3c\x81\x97\x1f\xa0\xba\xdd\xcb\xfb\xdf\x03\x3c\xa2\x8a\xf2\xe9\x50\xf0\x6b\xe5\x76\xb9\x5a\x03\xeb\x73\xa0\x07\x58\x73\x42\x03\xf4\x22\x2d\x4b\xb5\xef\x5b\x51\x92\x05\x77\x72\x50\x69\x25\x05\xe6\x50\x20\x67\x76\x0c\xa3\xf0\x4c\xa2\xb2\x2d\xff\x72\x08\xa3\x6a\x1c\x31\x44\x71\x85\x9f\xf6\x38\x4c\xb9\x8a\xe3\xba\x81\x1b\xa2\x17\xd0\x1a\x04\x89\x05\x26\xee\x48\x1d\x9b\x13\x09\x0f\xa3\x60\xda\x2a\x48\xe7\x7a\x70\x44\xab\x50\xef\x8f\x23\x09\x4f\xf2\xee\x62\x9a\x06\xd9\xad\x61\xfb\xc9\x70\x4d\xe4\x38\x6e\xcf\xef\x34\x23\x63\x58\xda\x6a\xb4\x4c\xad\x01\x79\xac\xd5\xae\xa9\x71\xeb\xd3\x63\x62\xc4\xed\xa9\x92\xbf\x77\x4f\xfe\x6c\xf8\x8b\xd8\x4d\xe9\x76\xe6\xfa\xf3\xdc\x9f\xe5\x95\xc6\xb8\x7d\x35\xb6\xdf\x2c\x60\x3d\xa5\x3a\x5f\x96\xf2\x34\x3a\x31\xb9\x27\xea\xb6\x27\x3e\x55\xad\x80\x17\xf7\x3b\x93\x6e\xb0\x7f\x05\x1f\x3e\x40\x81\x4a\x8a\xe5\xfc\xa9\x8a\x0d\x89\x26\x0b\x4a\x33\x64\x6e\xa4\x60\xeb\x0e\xea\x89\xd3\x92\xeb\x65\x3e\x5f\x8d\xd2\xb6\xcd\x48\x7c\x77\x63\xd2\x71\x32\x62\x56\x0f\x89\xbe\x55\xd0\x5a\x32\x1c\xa6\x73\x8e\xb1\x48\xb8\x20\x6e\x52\x05\x66\x07\xb2\x16\xf7\xb4\x81\xdb\x73\xea\xfc\x8d\x25\x77\x07\xfe\x07\x89\x25\x2e\x8b\x4b\xa4\xc5\xd7\xcf\xab\x14\xe5\x12\x41\x6e\x35\x66\x7a\xef\xd5\x52\xe3\xc3\xbd\x59\x63\x26\xf1\xd4\x7a\xe3\xbd\x69\x05\xe7\xa2\x0c\x7e\x99\xee\x4c\xa2\x39\xa7\x1d\x37\xba\x3d\x2b\x45\x9d\x04\x2d\x82\x02\x9d\x14\xa4\x9f\x28\x0e\x83\x71\xe3\x7e\x97\x94\x6c\x60\x38\xd4\x30\xef\x53\xb4\xa6\xe1\x46\xbc\x13\x47\xa4\xf6\xb9\x86\x5f\x9e\xdb\xff\x55\xc9\x81\xa2\xfd\xd4\xa6\x6c\xa3\x8c\xb1\x7f\x26\xdc\x69\x11\x6d\xb4\x13\xc1\x50\x4a\x86\x94\xa0\xe6\xc2\xd3\xc0\xb0\x7e\xc1\x43\x95\x0c\x2f\x25\x7d\x0f\xdc\x36\x19\x07\xe5\xb9\x7c\x54\x4e\xaa\xe5\xb6\xba\x03\x3a\x4d\xa9\xb1\x84\x49\x7a\xf8\x1b\x79\x9c\xd5\xdc\x54\x7f\xe8\x85\x44\xc9\x14\xdc\x5e\x62\xf8\x98\x24\x15\x39\x83\xfb\x61\x70\x3b\x2c\xad\x9b\x6f\x98\x24\xff\xd0\x73\xfd\x55\x7a\x20\xce\xf4\x49\xfe\x22\x6f\xfb\x52\x78\x37\xc5\x73\xfa\x1a\x42\x7f\x9f\xfd\x17\x00\x00\xff\xff\x97\x3a\xe1\x86\xc6\x0f\x00\x00"
 
 func switchboardAdd_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -603,11 +602,11 @@ func switchboardAdd_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x1b, 0x91, 0x9c, 0x2d, 0x7, 0x8c, 0xba, 0x72, 0x99, 0x5d, 0xd0, 0xd8, 0x0, 0xf0, 0xd, 0x43, 0x69, 0x1e, 0xcd, 0x9, 0x7d, 0x70, 0xf7, 0x1e, 0xb2, 0x37, 0x90, 0xe8, 0x12, 0x64, 0x58}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x62, 0x8e, 0xe0, 0x21, 0x13, 0xcd, 0x5c, 0x4a, 0xcc, 0xf4, 0x47, 0xd, 0x78, 0xb1, 0x13, 0xc6, 0x5a, 0xf8, 0x20, 0x62, 0x51, 0xc7, 0x13, 0xaf, 0xfc, 0x29, 0x86, 0xd1, 0x6, 0x35, 0xfe, 0x5c}}
 	return a, nil
 }
 
-var _switchboardAdd_vault_wrapper_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xcd\x6e\xa4\x3c\x10\xbc\xf3\x14\xad\x39\xe4\x63\xa4\x88\xb9\x8f\xf2\xf3\x45\xd1\x66\x6f\xab\x28\x89\x76\xcf\x8d\x69\xc0\x0a\xd8\xa8\xdd\x84\x8c\xa2\xbc\xfb\xca\x86\xb0\xf6\xee\x64\x14\x0e\x23\x06\x77\x97\xab\xaa\xcb\xd6\xfd\x60\x59\xe0\x6e\x34\x8d\x2e\x3b\x7a\xb2\xcf\x64\xa0\x66\xdb\xc3\x26\xf9\xb6\xc9\x8e\x55\x3e\x4e\x5a\x54\x5b\x5a\xe4\xea\x58\x53\xb4\xbc\xf6\x7f\x7b\xc5\x7e\x48\x37\x8a\x3f\x6d\xb2\x6c\xb7\x83\xa7\x56\x3b\x10\x46\xe3\x50\x89\xb6\x06\xb4\x03\x04\xa1\x7e\xe8\x50\x08\x6a\xcb\xfe\x6f\xb4\x2e\x2d\x8a\x6f\x54\x76\xec\x2a\x28\x09\x46\x47\x15\x94\x07\x40\x73\xb0\x86\x40\x2c\x60\x55\x01\x82\xa1\x09\x5e\x70\xec\x04\x26\xc6\x61\x20\x0e\x5d\x38\x60\xa9\x3b\x2d\x07\x5f\x28\x2d\x69\x06\x17\x49\x63\x72\x76\x64\x45\x59\xbc\xe5\x5b\x96\x01\x00\x74\x24\x20\x9e\xf9\x9d\xe5\x09\xb9\x22\xbe\x5d\xd1\xf6\xf0\xe7\xfd\xe2\xec\x2d\xf1\xa6\x78\x20\x45\xfa\x85\xf8\xfd\x6a\xc5\x89\xf6\x7c\xa0\x7a\x0f\x70\xf6\x99\x9d\x45\xf4\x3e\xf3\x18\x98\x06\x64\xca\x9d\x6e\x0c\xf1\x1e\x6e\x46\x69\x6f\x94\xb2\xa3\x91\xed\x07\x57\xff\xec\x76\xf0\xdd\x53\x6e\x69\xa6\xed\xcd\x9c\x79\xc7\x36\x84\xc1\xf8\x9a\x19\xee\x3f\x07\x38\x63\xad\x38\x8e\xba\xba\xf8\x4c\x38\x5c\xc2\x5a\x18\x8a\x03\x4a\xd1\x90\x7c\xdd\x90\x53\x4f\x1e\x47\x66\x6d\xbc\x1f\xcb\x4e\xab\x7b\x94\x76\xbb\x22\xc4\xba\x6f\x5b\x52\xcf\xa0\xeb\x20\x8c\x97\xa6\x58\x35\xbd\x6a\x27\x6e\x6d\x41\xe7\x88\x25\x3f\xa9\xb4\x50\x1e\x34\xdf\x9e\xa7\x82\x7b\x72\x0e\x1b\xda\xc3\xe6\x31\x48\x87\xca\x92\x03\x63\x05\x5a\x7c\x21\x40\x98\x2c\x3f\x6b\xd3\x40\xbd\x58\xb0\x0c\xe3\x08\xab\xcd\x71\x31\x7e\x88\x08\x4c\x35\x31\x19\x45\x4b\x70\x17\xa7\x5d\x1c\xa5\x74\x64\x69\xc6\xe0\xf2\x63\x36\xa5\x65\xb6\xd3\xc5\x97\x12\x97\x0e\x28\xf7\x61\xd9\x7f\x7a\x31\x14\x8f\x62\x19\x1b\x0a\x73\x49\x5d\xba\xbe\x86\x01\x8d\x56\xf9\xe6\x36\x9c\x5b\xef\xcf\xcc\x23\x15\x16\x71\x5e\xdc\x08\x3f\xef\x73\xaa\xe9\x95\xd4\x28\xf4\x57\xc8\x6f\xaa\x2a\x18\xf2\xcf\xd9\x4e\x4e\xf6\xe8\xfc\x10\xb0\xaa\x7e\xd0\xf4\x33\x5c\x0b\x3d\x49\x6b\x4f\x7a\x56\x44\xe5\xbf\xe6\x4b\x24\x57\xd1\x99\x3f\x99\x97\x73\x90\xc3\x40\x7b\x78\x3a\x0c\x74\xf1\x7f\x12\xe3\x00\x78\x95\x6f\x53\x85\xef\xd9\xef\x00\x00\x00\xff\xff\x36\x7e\xb8\x46\xa3\x05\x00\x00"
+var _switchboardAdd_vault_wrapper_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xcd\x6e\x9c\x30\x10\xbe\xf3\x14\x23\x0e\xe9\xae\x54\xb1\x77\x94\x26\x4d\xa3\xa6\xb7\x2a\x4a\xa2\xf4\x3c\x98\x01\xac\x80\x8d\xc6\x43\xc8\x2a\xda\x77\xaf\x0c\x84\xd8\xe9\x66\x55\x2e\xcb\xe2\xf9\xfb\x7e\x3c\xba\xeb\x2d\x0b\xdc\x0c\xa6\xd6\x45\x4b\x0f\xf6\x89\x0c\x54\x6c\x3b\x48\xa3\x6f\x69\x72\x2c\xf2\x7e\xd4\xa2\x9a\xc2\x22\x97\xc7\x92\x82\xe3\x35\xff\xe7\x0b\x76\x7d\xdc\x28\xfc\x94\x26\xc9\x6e\xb7\x83\x87\x46\x3b\x10\x46\xe3\x50\x89\xb6\x06\xb4\x03\x04\xa1\xae\x6f\x51\x08\x2a\xcb\xfe\x6f\x70\x2e\x0d\x0a\x28\x3b\xb4\x25\x14\x04\x83\xa3\x12\x8a\x3d\xa0\xd9\x5b\x43\x20\x16\xb0\x2c\x01\xc1\xd0\x08\xcf\x38\xb4\x02\x23\x63\xdf\x13\x83\xc2\x1e\x0b\xdd\x6a\xd9\x4f\x7d\xc5\x82\x34\xa4\x19\x5c\x80\x8c\xc9\xd9\x81\x15\xf9\x88\x24\x6c\xfa\x9a\x24\x00\x00\x2d\x09\x88\x1f\xfe\xc6\xf2\x88\x5c\x12\x5f\xaf\x55\x73\x78\x7f\x3f\x3f\x7b\x8d\xe8\xc9\xee\x48\x91\x7e\x26\x3e\x5c\xac\x75\x82\xbe\x77\x54\xe5\x00\x67\x9f\x31\x9a\x05\xef\xf3\x1c\x3d\x53\x8f\x4c\x1b\xa7\x6b\x43\x9c\x03\x0e\xd2\x6c\x7e\x58\x66\x3b\x3e\x62\x3b\xd0\x16\xce\xae\x94\xb2\x83\x91\xed\xdb\xe8\xfe\xd9\xed\xe0\x97\x47\xd0\xd0\x8c\xc2\xb3\x3b\xc3\x08\xd8\x99\xa5\xf2\x31\x73\xf5\x2f\x0e\x70\xae\xb5\xd6\x71\xd4\x56\xd9\x67\x3c\xc0\xb7\x25\x31\x5b\x6b\x6a\x72\x59\x4d\x72\x82\x95\xcd\x5a\xfb\xed\x09\xad\xb2\x06\xde\x0e\x45\xab\xd5\x2d\x4a\x13\xc5\x6f\x23\x88\xd7\x0d\xa9\x27\xd0\xd5\x84\x81\x97\xcc\x10\x20\xbd\x68\x27\x6e\x4d\x41\xe7\x88\x25\x9e\xe0\x24\xc2\x4c\xf9\x0e\x9b\xed\xd7\x28\xa5\x23\xe7\xb0\xa6\x1c\xd2\xfb\x09\x3e\x94\x96\x1c\x18\x2b\xd0\xe0\x33\x01\xc2\x68\xf9\x49\x9b\x1a\xaa\x85\x83\x45\x83\x23\x13\xa6\xc9\x71\x64\x5e\x3c\x04\xa6\x8a\x98\x8c\xa2\xc5\xc3\x0b\xdd\x2e\x74\x54\x2c\x55\x6c\xb5\x77\x81\x9c\x58\xc6\x9a\xb2\x62\x72\xce\xf9\x7f\x19\xf0\x88\x54\xde\x30\xf9\xa7\xeb\x22\xbb\x9f\xbb\xfc\xab\x1a\x5c\x5e\x42\x8f\x46\xab\x4d\x7a\x3d\xdd\x67\x4f\xd6\x3c\x4b\x0c\x32\x98\x3f\x5d\x18\x39\xcc\x3f\xf4\x42\x6a\x10\xfa\x60\xf2\xab\xb2\x9c\x88\x09\x34\x7f\xa3\x2a\xb8\xec\x83\xf3\x6a\x60\x59\xfe\xa6\xf1\x71\x5a\x15\x1d\x49\x63\x4f\x72\x97\x05\xe1\x7f\xe6\xc5\x12\xf3\xa1\x82\x7d\x70\xd2\x44\xb1\x79\x64\xdf\x53\x0e\x0f\xfb\x9e\xce\xbf\x47\xce\x9f\x3a\x5d\x6c\xb6\x1f\x1d\x71\x48\x92\x43\xf2\x37\x00\x00\xff\xff\xc4\xb1\x66\x01\xd3\x05\x00\x00"
 
 func switchboardAdd_vault_wrapper_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -623,11 +622,11 @@ func switchboardAdd_vault_wrapper_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_wrapper_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xac, 0xe9, 0x7a, 0x55, 0xa, 0x8a, 0xf4, 0x72, 0xbd, 0xd7, 0x2f, 0x41, 0xe6, 0x48, 0xd, 0x3e, 0x1e, 0x4, 0xd7, 0x8, 0x57, 0x68, 0x93, 0x92, 0x3c, 0xe0, 0xf6, 0xec, 0xfd, 0x79, 0x1, 0xaa}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1e, 0xc1, 0x57, 0x2e, 0xd5, 0xba, 0xb1, 0xad, 0xf, 0x5f, 0xd7, 0xb1, 0x2, 0x3e, 0x71, 0x3b, 0xd7, 0x74, 0x90, 0x89, 0x6a, 0xf1, 0xe1, 0x79, 0xfd, 0xa5, 0x22, 0xf4, 0x33, 0xec, 0x30, 0x80}}
 	return a, nil
 }
 
-var _switchboardBatch_add_vault_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x53\x41\x6b\xdb\x4c\x10\xbd\xeb\x57\x3c\x7c\xf8\x70\x20\xc8\x77\xf3\xa5\xc1\x2d\x6d\x6f\x25\x24\xa1\x97\x10\xc8\x68\x77\x64\x2d\x95\x77\x97\xdd\x91\x1d\x53\xf2\xdf\xcb\x4a\x8a\xbc\x0a\x76\xa9\x0e\x66\xad\xd9\x37\x7a\x6f\xde\x1b\xb3\xf3\x2e\x08\xbe\x75\x76\x6b\xaa\x96\x1f\xdd\x2f\xb6\x0f\x07\x23\xaa\xa9\x1c\x05\x8d\x3a\xb8\x1d\x16\x97\xca\x8b\x62\xc4\x7f\x7d\xa5\x9d\x1f\xeb\x23\x26\x7f\xb5\x28\x8a\xd5\x0a\x8f\x8d\x89\x90\x40\x36\x92\x12\xe3\x2c\x4c\x04\x41\x78\xe7\x5b\x12\x46\xed\x42\xfa\x9b\xd5\xa5\x21\x81\x72\x5d\xab\x51\x31\xba\xc8\x1a\xd5\x11\x64\x8f\xce\x72\x6a\x28\x0e\xa4\x35\x22\xef\x39\x50\x0b\xcb\x07\xd4\x23\x53\x48\x4f\x65\x4f\x5d\x2b\xf1\x1a\x15\xb7\xce\x6e\x8d\xdd\xf6\x18\x28\x0e\x42\xc6\xe2\x65\xa3\x75\xe0\x18\x5f\xd2\xeb\xbe\x63\xc3\x26\x20\x66\x03\x08\x1c\x5d\x17\x14\x97\x45\xce\x6c\x49\x03\x70\x8d\xb1\xc3\x15\x7e\x17\x05\x00\xb4\x2c\xe0\x4c\xfa\xcf\xc4\xe0\x8e\xa4\x59\xe3\xae\xab\x5a\xa3\xd2\x79\xba\xb9\x7f\xaf\xc6\x35\x9e\x4e\xf5\xe7\xe9\x42\x46\xe5\x9e\xeb\x35\xf0\xdf\x25\x2f\xca\xec\x3c\x50\xf1\x81\x3d\x05\x5e\x46\xb3\xb5\x1c\xd6\xd8\x74\xd2\x6c\x94\x72\x9d\x95\x89\x6e\x7a\x56\x2b\x7c\x67\x49\xda\xdf\x99\xe7\xd3\x83\x27\x69\x06\x4f\xd3\x0d\xe5\xac\x04\x52\x32\xa1\x23\xb7\x75\x79\x56\x31\x6e\x66\xb9\x28\xef\x59\xb1\xd9\x73\xf8\x30\x07\x20\x67\xb2\xb1\x1a\x51\x5c\x60\x18\x81\xb1\xfd\x37\x29\x04\x3a\xc2\xd5\xf0\x3d\xb2\x67\x14\x87\x74\x1c\x4c\xdb\xa6\x70\x78\x8a\x29\x1e\xe2\x12\x20\xef\x97\x7b\xb9\x63\x69\x9c\x9e\x33\x3f\x39\x80\x1b\x3c\x3d\x5f\x2a\x96\xe4\x3d\x5b\xbd\xbc\xac\xf6\xea\x8c\x98\x34\x56\x42\xe0\x9a\x03\x5b\xc5\x23\x3d\x0c\x86\xc4\x9c\xdb\xfc\xbb\x73\xd7\x71\x33\x22\xca\xca\x85\xe0\x0e\xff\xff\x53\x06\x3e\x4d\x2d\xcf\x3d\xcb\x64\xe8\xfa\xe2\xde\x97\x0f\xe2\x02\x6d\xb9\x17\x86\xbf\x76\xba\xbd\x85\x27\x6b\xd4\x72\xf1\xa5\xdf\x54\xeb\x04\x03\xcf\xb9\xf0\x4c\xd3\x62\x98\x55\xff\xf3\x36\xe4\x90\x5f\x59\x75\xc2\xa7\x58\xa6\x28\x68\x3d\x44\x8e\x3c\x55\xa6\x35\x72\x9c\x06\x98\x99\xda\xc5\xb4\xd6\xa4\xf5\x0f\x3e\xf4\x66\xcc\x6d\x3e\x33\xcf\x32\xbb\x1c\x3f\x1f\xfb\xa8\x2e\xfd\xb0\x84\x1f\x6c\xbf\xc6\xb4\xe8\xe3\xe1\xaa\x78\xa7\xfd\xf6\x27\x00\x00\xff\xff\xc4\xdc\x11\x4a\x3c\x05\x00\x00"
+var _switchboardBatch_add_vault_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xc1\x6a\xeb\x3a\x10\xdd\xfb\x2b\x0e\x59\x14\x07\x8a\xb3\x0f\xaf\xaf\xa4\x8f\xf7\xde\xee\x52\xda\xd2\x4d\x29\x74\x2c\x8d\x63\x71\x1d\xc9\x48\xe3\xa4\xe1\xd2\x7f\xbf\xc8\x72\x5c\xa5\x34\x70\xb5\x08\x8a\x46\xa3\x39\x73\xce\x19\x9b\x5d\xef\xbc\xe0\xbf\xc1\x6e\x4d\xdd\xf1\x93\xfb\xc9\xf6\xf1\x60\x44\xb5\xb5\x23\xaf\xd1\x78\xb7\xc3\xe2\x52\x78\x51\x4c\xf9\xff\xbe\xd3\xae\x9f\xe2\x53\x4e\x7e\xb4\x28\x8a\xd5\x6a\x85\xa7\xd6\x04\x88\x27\x1b\x48\x89\x71\x16\x26\x80\x20\xbc\xeb\x3b\x12\x46\xe3\x7c\xfc\x9b\xc5\xa5\x25\x81\x72\x43\xa7\x51\x33\x86\xc0\x1a\xf5\x11\x64\x8f\xce\x32\xc4\x81\xb4\x46\xe0\x3d\x7b\xea\x60\xf9\x80\x66\xc2\x09\x89\x55\xc7\x9a\x7b\x1a\x3a\x09\xd7\xa8\xb9\x73\x76\x6b\xec\x76\xcc\x83\x62\x2f\x64\x2c\xde\x36\x5a\x7b\x0e\xe1\x2d\x1e\x4b\xcb\xc6\x23\x64\xed\x7b\x0e\x6e\xf0\x8a\xab\xf8\x56\x91\x43\x2b\x29\x25\xae\x31\xbd\xb0\xc4\xaf\xa2\x00\x80\x8e\x05\x9c\x35\xff\x1c\x11\xdc\x93\xb4\x6b\xdc\x0f\x75\x67\x54\xdc\xcf\x37\xf7\xa7\x68\x58\xe3\xe5\x33\xfe\x3a\x5f\xc8\xe0\x3c\x70\xb3\x06\xae\x2e\xa9\x51\x65\xfb\x04\xa5\xf7\xdc\x93\xe7\x32\x98\xad\x65\xbf\x06\x0d\xd2\x96\x77\xce\x7b\x77\x78\xa6\x6e\xe0\x25\xae\x36\x4a\xb9\xc1\xca\x8c\x3e\xae\xd5\x0a\xff\xb3\x44\x3a\x4e\x8d\x24\x42\x13\x58\xf4\x24\x6d\x12\x39\xde\x50\xce\x8a\x27\x25\x73\x76\xe0\xae\xa9\xbe\x25\x00\x37\x67\x46\xa9\x1e\x58\xb1\xd9\xb3\xff\x42\x0b\x90\x23\xd9\x58\x8d\x20\xce\x33\x8c\xc0\xd8\xb1\x26\x79\x4f\x47\xb8\x06\xfd\x98\x39\x22\x0a\xc9\x2d\x07\xd3\x75\xd1\x2c\x3d\x85\x68\x97\xa4\x6a\xfe\x5e\x2e\xef\x8e\xa5\x75\xfa\x1c\xf9\xa7\x20\xb8\xc1\xcb\xeb\xa5\x60\x45\x7d\xcf\x56\x97\x97\xbb\x5d\x7e\xd3\x4c\xa4\x95\xe0\xb9\x61\xcf\x56\xf1\x04\x0f\x49\x9f\x90\x63\x3b\xaf\x7b\x6e\x02\xdc\x4c\x19\x55\x24\x86\xb6\x5c\xd5\xa3\xa6\x7f\xfd\x91\x35\xfe\x2e\xe7\xb7\x4f\x2b\x8a\xb9\xbe\xf8\x11\xa8\x1e\x53\x95\x4c\xa0\xb4\x96\xb8\xbd\x45\x4f\xd6\xa8\x72\xf1\xcf\x38\xa5\xd6\x09\x12\x96\xf3\x26\x33\xfc\x8b\xc4\xcb\xf8\xf3\x91\x3c\xc7\xef\xac\x06\xe1\x2f\x16\xdc\x68\x9d\x0c\x46\x3d\xd5\xa6\x33\x72\x9c\xe9\xca\x24\x1c\x42\x9c\x69\xd2\xfa\x07\x1f\x46\xea\xbf\x15\xf5\x9c\xbf\x2a\xbb\x1e\xee\x8e\xa3\x35\xcb\x3e\xcd\xe0\x17\x99\xaf\x31\xcf\xf9\xb4\x59\x16\x27\xe8\x1f\xc5\xef\x00\x00\x00\xff\xff\x91\x8e\x8e\x74\x3e\x05\x00\x00"
 
 func switchboardBatch_add_vault_capabilitiesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -643,11 +642,11 @@ func switchboardBatch_add_vault_capabilitiesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/batch_add_vault_capabilities.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x29, 0x7f, 0x18, 0x77, 0xaf, 0x95, 0x78, 0xd4, 0x66, 0xec, 0x46, 0x64, 0x6b, 0x3d, 0x15, 0x4f, 0xec, 0x65, 0xfd, 0x3b, 0xef, 0xcf, 0x5f, 0x71, 0x3e, 0x8, 0xd6, 0x61, 0x3a, 0xa2, 0x71, 0x41}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x55, 0xd4, 0x30, 0x3e, 0x91, 0xe, 0xf1, 0x69, 0x71, 0x33, 0xbd, 0xbb, 0x17, 0xd2, 0xee, 0x5a, 0x11, 0xf5, 0x28, 0xb, 0x4f, 0x4d, 0x99, 0x74, 0x5d, 0xf6, 0xa1, 0x5e, 0xb2, 0x46, 0x8e}}
 	return a, nil
 }
 
-var _switchboardBatch_add_vault_wrapper_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\xcd\x6e\xdb\x3c\x10\xbc\xeb\x29\x06\x3e\x7c\x91\x81\x40\xbe\x1b\xf9\xf9\xd2\xa2\xed\xad\x08\x92\xa0\x3d\x04\x01\xbc\x96\x56\x16\x51\x99\x24\xc8\x55\x1c\xa1\xc8\xbb\x17\xa4\x14\x9b\x4e\x23\x24\xe5\xc1\x16\xb9\x3f\xdc\x99\x59\xae\xda\x5a\xe3\x04\x5f\x3b\xbd\x51\xeb\x96\xef\xcc\x2f\xd6\xb7\x3b\x25\x65\xb3\x36\xe4\x2a\xd4\xce\x6c\x31\x9b\x32\xcf\xb2\x31\xfe\xcb\x13\x6d\xed\x68\x1f\x63\xd2\xa3\x59\x96\x2d\x16\xb8\x6b\x94\x87\x38\xd2\x9e\x4a\x51\x46\x43\x79\x10\x84\xb7\xb6\x25\x61\xd4\xc6\x85\x6d\x62\x97\x86\x04\xa5\xe9\xda\x0a\x6b\x46\xe7\xb9\xc2\xba\x07\xe9\xde\x68\x0e\x09\xc5\x80\xaa\x0a\x9e\x1f\xd9\x51\x8b\x92\x2c\xad\x55\xab\x44\xb1\x1f\x62\xad\x51\x5a\x82\x5b\x3d\x02\x80\xc4\x0a\x1f\xa9\x6b\xc5\xc3\xd4\x20\x54\xaa\xae\xd9\xb1\x16\x00\x21\xe9\xea\xae\xb7\xbc\x02\xe9\x70\x69\x6b\xf4\x26\x5e\x83\x92\x9d\x90\xd2\x58\x5d\x55\x95\x63\xef\x57\xa7\xe1\x5c\x1a\x56\x0e\x3e\x21\xcc\xb1\x37\x9d\x2b\xb9\xc8\x52\x24\x39\x0d\x51\x4b\x8c\xe1\x73\xfc\xce\x32\x00\x68\x59\x86\x72\xae\x49\x1a\xbf\xc4\xfd\x75\xb7\x6e\x55\x19\x76\x0f\xc7\x0e\xa1\xae\xe0\x10\xfe\x0f\xa6\xe4\xee\x1b\xae\x97\xc0\x7f\x53\x62\x15\xc9\xf7\x70\xb7\x75\x6c\xc9\x71\xee\xd5\x46\xb3\x5b\xe2\xaa\x93\xe6\xaa\x2c\x4d\xa7\x65\x5f\x5f\x58\x8b\x05\x6e\xc5\x38\x0e\x70\x5f\xa4\xc6\xa0\xb5\xe3\x92\xd5\x23\xbb\x13\x0f\x1b\x0b\x87\x25\x69\xa0\x74\xf4\x25\xe7\xa8\x0f\x34\x8f\xb6\x34\x63\xf0\x1b\x65\xda\xa9\xb6\x0d\x0a\x5b\xf2\x41\xe3\x81\xd7\x23\x56\xb7\x2c\x8d\xa9\xf6\xe1\x9e\xdb\xba\x38\xb0\x86\x73\xdc\x3f\x4c\x19\x0b\xb2\x96\x75\x95\xa7\xfd\x58\xdc\x8c\x65\x1f\xc8\x9e\x7f\x04\xee\x89\x87\xf4\x96\xff\x82\x17\x0e\xdf\xc6\x92\x26\xfd\x17\x5c\x51\xec\x29\x5c\xd1\xf8\x82\x2b\x6c\xce\xfe\x3f\x42\xf7\x23\x38\x5d\xe4\xf3\xf9\x18\x9b\x16\xf1\x8d\x05\x04\xc7\xb1\xe7\x4b\xde\x17\x15\x5b\xc0\xa7\xc5\x1d\x5f\x7c\xdc\x67\x38\x1f\x23\x8a\xb5\x71\xce\xec\xce\x3e\xd4\x75\x17\xfb\x94\xef\xae\x3c\x0c\x91\xe5\xe4\x5c\x2a\x82\x40\xb4\xe1\xa8\x1c\xde\x4d\x7b\x79\x09\x4b\x5a\x95\xf9\xec\x73\x9c\x26\xda\x08\x86\xc2\x8f\x99\x48\x40\xce\x06\xf2\xe2\xcf\xf3\xd0\x1b\xfc\xc4\x65\x27\x7c\x78\x19\x8b\x45\x78\xce\x91\xbf\xfd\xec\xe9\x73\xc5\x7e\xfe\x96\xd6\x9d\x57\x7a\x13\x06\xd6\x77\xde\x45\x85\x7e\xba\x20\xa1\xf3\x9f\xfa\x00\x23\x9b\x24\xbb\x98\x8c\xc9\xed\x30\x34\x5e\xb5\xfc\xe9\xfb\x8c\xa4\x4b\x86\xc1\xf2\xaa\xbf\x4e\xb1\x9f\x59\xe3\xc7\xf8\x44\x9e\xb3\xec\xf9\x4f\x00\x00\x00\xff\xff\xf1\xb3\x2c\x41\x37\x06\x00\x00"
+var _switchboardBatch_add_vault_wrapper_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\xcd\x4e\xdb\x40\x10\xbe\xfb\x29\x3e\xe5\x00\x8e\x84\x9c\x7b\xc4\x4f\xa1\x6a\x7b\xab\x10\x20\x7a\x40\x48\x19\xdb\xe3\x78\x55\x67\x77\xb5\x3b\x26\x58\x15\xef\x5e\xed\xda\x18\x9b\x12\x89\xfa\x90\xd8\x9e\x99\x9d\xef\x67\x3c\x6a\x67\x8d\x13\x7c\x6f\xf5\x56\xe5\x0d\xdf\x99\xdf\xac\x6f\xf7\x4a\x8a\x3a\x37\xe4\x4a\x54\xce\xec\xb0\x38\x14\x5e\x24\x43\xfd\xb7\x67\xda\xd9\x21\x3e\xd4\x4c\x5f\x2d\x92\x64\xb5\x5a\xe1\xae\x56\x1e\xe2\x48\x7b\x2a\x44\x19\x0d\xe5\x41\x10\xde\xd9\x86\x84\x51\x19\x17\x1e\x27\x71\xa9\x49\x50\x98\xb6\x29\x91\x33\x5a\xcf\x25\xf2\x0e\xa4\x3b\xa3\x19\x62\x40\x65\x09\xcf\x4f\xec\xa8\x41\x41\x96\x72\xd5\x28\x51\xec\xfb\x42\x6b\x94\x96\xd8\x58\x0c\xaa\x81\x02\x24\x62\x7c\xa2\xb6\x11\x0f\x53\x81\x50\xaa\xaa\x62\xc7\x5a\xb0\xb9\xeb\x2c\x6f\x40\x3a\xf4\x6b\x8c\xde\xc6\x26\x28\xd8\x09\x29\x8d\xcd\x65\x59\x3a\xf6\x7e\x73\x12\xde\x4b\xcd\xca\xc1\x4f\xc4\x72\xec\x4d\xeb\x0a\xce\x42\xd3\x64\x4a\x24\xa5\xbe\x72\x8d\xe1\x88\x25\xfe\x24\x09\x00\x34\x2c\x3d\x98\x6b\x92\xda\xaf\xf1\x70\xdd\xe6\x8d\x2a\xc2\xd3\xe3\x3c\x21\x60\x0b\x09\xe1\xff\x2d\x34\xe9\x7f\xc3\xd5\x1a\x38\x3a\x64\x56\x36\xb9\xef\x7b\x5b\xc7\x96\x1c\xa7\x5e\x6d\x35\xbb\x35\xa8\x95\x3a\xbd\x32\xce\x99\xfd\x3d\x35\x2d\x2f\x71\x74\x59\x14\xa6\xd5\x32\xc2\x0d\xd7\x6a\x85\x5b\x31\x8e\x83\x02\xaf\xce\xa3\xb7\xde\x71\xc1\xea\x89\xdd\xb1\x87\x8d\x3c\x60\x49\x6a\x28\x1d\x73\xc9\x39\xea\x82\xe6\x43\x6c\x7a\x62\xc8\x1b\x7c\xdb\xab\xa6\x09\x7e\x5b\xf2\xc1\xf1\x5e\xea\x99\xd0\x3b\x96\xda\x94\x63\xb9\xe7\xa6\xca\xde\x44\xc4\x19\x1e\x1e\x0f\x05\x33\xb2\x96\x75\x99\x4e\xc7\x33\xbb\x19\x60\xbf\x69\xbf\xfc\x0c\xdd\x63\x0f\xe9\x2c\xff\x43\x2f\xbc\xfc\x98\xcb\xf4\xd0\xff\xe1\x15\xbd\x3f\xc4\x2b\x06\x5f\x79\x85\x87\xd3\x2f\x33\x76\xf7\x21\xe9\x3c\x5d\x2e\x87\xda\x29\x88\x1f\x2c\x20\x38\x8e\x1f\x40\xc1\x23\xa8\x38\x11\x7e\x0a\x6e\xde\x78\x3e\x76\x38\x1b\x2a\x32\x2f\xc6\xd1\x96\xb3\x3c\x4e\xd1\xe9\xa7\x86\xf1\x3c\x1d\xcf\x7e\xbd\xc2\x0a\x59\x1f\xdc\x4a\xd9\x6d\xdf\x25\x18\x35\x2b\x5d\xe2\xe2\x02\x96\xb4\x2a\xd2\xc5\xd7\xb8\x36\xb4\x11\xf4\x58\xe6\x24\x27\xf8\x17\xbd\x2e\xf1\xe7\xa5\xb7\x9d\x9f\xb9\x68\x85\xdf\x0d\xfd\x65\x59\x46\x71\xc6\x4d\xd3\xa5\x8a\xfd\xf2\x23\x23\x5b\xaf\xf4\x36\xac\xa7\x9f\xbc\x8f\xf2\xff\x72\xc1\x1f\xe7\xaf\xba\x19\xe8\x0f\xb4\xcc\x0e\x56\xcd\x65\xb2\xfd\xbe\x78\x37\xde\x27\x98\x25\x49\xbf\x33\xde\xcd\xca\xc9\x2c\x67\x5c\x4d\xc3\xcd\x18\x1c\xbe\x81\x97\x24\x79\xf9\x1b\x00\x00\xff\xff\xa7\x8d\x25\x9d\x27\x06\x00\x00"
 
 func switchboardBatch_add_vault_wrapper_capabilitiesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -663,11 +662,11 @@ func switchboardBatch_add_vault_wrapper_capabilitiesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/batch_add_vault_wrapper_capabilities.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf6, 0x59, 0x81, 0xe6, 0x82, 0x64, 0x28, 0x6c, 0x45, 0x37, 0xa2, 0xf2, 0x24, 0xed, 0x3f, 0x27, 0x80, 0x7a, 0x68, 0x23, 0x1c, 0x69, 0x57, 0xc4, 0xd2, 0x59, 0x17, 0xa6, 0x21, 0x36, 0x70, 0x29}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0xca, 0xc1, 0x6a, 0x84, 0xc2, 0xd7, 0xfe, 0xd7, 0xd1, 0x85, 0x60, 0xaa, 0xc, 0xaa, 0xda, 0x58, 0xc0, 0x46, 0x74, 0x7f, 0xd3, 0x27, 0x1c, 0x8d, 0x42, 0xe, 0x1c, 0x17, 0x7, 0x13, 0xa1}}
 	return a, nil
 }
 
-var _switchboardRemove_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x53\xcf\x6f\x9b\x30\x14\xbe\xf3\x57\x7c\xe2\xd0\x91\x0b\xb9\xa3\xae\x55\x15\x6d\xbb\x56\x69\xb5\xbb\x71\x1e\x60\x0d\x6c\x64\x3f\xa7\x8d\xa2\xfc\xef\x13\x98\x81\x91\xc2\xb6\x5c\x02\xb6\x3f\xbe\x5f\xcf\xaa\xeb\x8d\x65\x7c\xf7\xba\x56\x65\x4b\xef\xe6\x17\x69\x54\xd6\x74\x48\x57\x6b\x69\x72\xef\xe4\xdb\x87\x62\xd9\x94\x46\xd8\xd3\x3d\x50\xb4\x3d\xe3\xbf\x7d\x8a\xae\x5f\x13\xc5\x4b\x69\x92\xec\xf7\x78\x6f\x94\x03\x5b\xa1\x9d\x90\xac\x8c\x86\x72\x10\x60\xea\xfa\x56\x30\xa1\x32\x76\x78\x8d\xf6\xb9\x11\x3c\x00\xa5\xf1\xed\x09\x25\xc1\x3b\x3a\xa1\xbc\x40\xe8\x8b\xd1\x04\x36\xb0\xd4\x99\x33\xa1\x9a\x04\x82\x47\x05\x67\xe1\xdb\x80\x14\xbd\x28\x55\xab\xf8\x12\x54\x71\x43\xca\xc2\x45\x06\x2d\x39\xe3\xad\xa4\x24\x22\xce\x7a\xc1\x4d\x81\x57\x5f\xb6\x4a\xbe\x0a\x6e\x76\xb8\x26\x09\x00\xb4\xc4\xa0\xc8\xd8\xcf\x81\xe8\x10\x48\xf8\x52\xe0\x30\xf3\x3d\x3e\x5c\x57\xa9\xe5\x47\x92\xa4\xce\x64\x6f\x4f\xf3\x97\x22\x1d\x47\xaa\x0a\xe0\x61\x2b\xe8\x3c\x7a\x0e\x4a\x7a\x4b\xbd\xb0\x94\x39\x55\x6b\xb2\x05\x5e\x3c\x37\x2f\x52\x1a\xaf\x79\x56\x0b\xec\xf7\xf8\x41\x3c\xd8\xbe\x17\x05\x02\xf8\x8b\x83\x08\xc8\x09\xe5\xa8\xad\xf2\x6d\x9b\xf8\x3a\x01\xf3\x9a\x78\x71\x3c\x81\xd7\xbf\xbf\xc4\x30\xa6\xbc\x9b\x50\x6b\xbd\x02\x96\x2a\xb2\xa4\xe5\x58\xf2\x22\xd5\xad\xba\x43\xac\x77\x1d\xe6\xa2\xb1\x34\xd6\x9a\x8f\xc7\xff\x8a\xf6\x69\xf6\x90\x0d\x19\x15\x9b\xf7\x22\x7f\x63\x63\x45\x4d\x61\x38\x22\xe7\xcf\xcf\xe8\x85\x56\x32\x4b\x0f\xe3\xd0\x6a\xc3\x08\x0a\xd6\x96\x22\xb5\xe9\x2e\xb4\x75\x0b\x7f\xf4\x49\xd2\x33\xad\x3a\x3c\x86\x29\xdf\xac\x31\xca\xc4\x3b\xa5\xeb\x71\x75\x81\x87\x4b\x32\x96\x88\x8e\xb8\x31\xa7\xed\xe0\xf2\xe8\x70\xb6\x90\x15\xff\x1a\x8a\x50\xe4\x1f\x23\xb7\xe4\x77\x00\x00\x00\xff\xff\x36\x73\x1f\x58\x83\x04\x00\x00"
+var _switchboardRemove_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x93\x41\x6f\xa3\x3e\x10\xc5\xef\x7c\x8a\xa7\x1c\xfa\x87\x0b\xdc\x51\xff\xad\x76\xab\xdd\xbd\x56\x49\xd5\xfb\xe0\x0c\x60\x2d\xd8\xc8\x1e\xd2\x46\x55\xbe\xfb\xca\xd0\x10\xa3\x4d\x76\xd7\x97\x04\xdb\x33\x6f\xde\xcf\x33\xba\x1f\xac\x13\x7c\x1f\x4d\xa3\xab\x8e\x5f\xec\x4f\x36\xa8\x9d\xed\xb1\x59\xed\x6d\x92\x6b\x37\x77\x6f\x5a\x54\x5b\x59\x72\xfb\x6b\x41\xd1\xf1\x12\xff\xed\x9d\xfa\x61\x2d\x14\x6f\x6d\x92\xa4\x28\x0a\xbc\xb4\xda\x43\x1c\x19\x4f\x4a\xb4\x35\xd0\x1e\x04\xe1\x7e\xe8\x48\x18\xb5\x75\xe1\x33\x3a\x97\x96\x04\xca\x8e\xdd\x1e\x15\x63\xf4\xbc\x47\x75\x04\x99\xa3\x35\x0c\xb1\x70\xdc\xdb\x03\xa3\xfe\x2c\x0f\x32\xe9\x1f\x68\xec\x64\x12\x54\x34\x50\xa5\x3b\x2d\xc7\xb9\x28\x69\x59\x3b\xf8\xc8\x9f\x63\x6f\x47\xa7\x38\x5c\x4f\x22\xe9\x74\x20\x69\x4b\x3c\x8f\x55\xa7\xd5\x33\x49\x9b\xe1\x23\x49\x00\xa0\x63\x01\x47\xde\x5e\x83\xda\xd3\x2c\x24\xc7\x12\x4f\x8b\xe6\xfd\xdd\xc7\x0a\x5c\xbe\x65\xc5\xfa\xc0\xee\xf4\xb0\x64\x8a\x6a\xd9\x72\x5d\x02\x77\xb7\x58\xe7\xd1\xff\xb9\x92\xc1\xf1\x40\x8e\x53\xaf\x1b\xc3\xae\x04\x8d\xd2\xa6\x5f\xad\x73\xf6\xed\x95\xba\x91\x33\xdc\x7d\x51\xca\x8e\x46\x96\xe2\xc3\x2a\x0a\xfc\x60\x09\x2c\xae\xf1\xc1\x9c\xed\x3f\x0f\x9a\x63\x97\x38\xcf\x5d\x9d\xdf\x76\x8e\xff\x3f\x43\xf3\x25\xab\x66\x9f\x37\x2c\x7f\xe0\x30\x61\xce\x16\x89\xb0\x1e\x1f\x31\x90\xd1\x2a\xdd\xec\xa6\x74\xd8\x5b\xf6\x30\x56\xd0\xd2\x81\x71\x8e\x8d\x38\x83\x04\x8d\x3e\xb0\x41\xc8\xb6\xc9\x7e\xb3\x4a\x70\x5c\xb3\x63\xa3\xa6\xae\xb9\xb8\xf4\x31\xff\xb5\xd1\xf5\xc3\x5c\xcc\x79\xb1\x8e\x1a\xce\xab\x89\xf3\xfd\x3f\x3d\xd7\x43\xba\x72\x18\x56\xc0\x5d\xde\x1c\xbb\x7c\x37\xab\x84\xc6\x5b\x85\x66\x11\x9e\xa7\x69\x2e\x02\x98\xb9\x96\xb5\xc9\xa8\xfe\x33\x91\xd3\xfc\xc3\xef\xac\x46\xe1\x4b\x4b\x14\x05\xb6\xf3\x20\xdd\xec\x89\x68\x62\x46\xaf\x4d\x33\xed\xe6\xf3\xf8\x4d\x6d\x90\x66\xe8\x59\x5a\x7b\xa6\x78\x85\xe1\xea\xfa\x45\xa5\xfc\x5b\x63\x5d\xaa\x3f\x25\xbf\x02\x00\x00\xff\xff\x3d\x55\x3c\x24\xd9\x04\x00\x00"
 
 func switchboardRemove_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -683,31 +682,11 @@ func switchboardRemove_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/remove_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xac, 0xcb, 0x2b, 0x62, 0x7b, 0xca, 0x3f, 0xde, 0x8c, 0x12, 0x9, 0xaa, 0x96, 0xba, 0xca, 0x21, 0xe8, 0x13, 0x67, 0xf6, 0x7a, 0xe9, 0xc3, 0x3a, 0x82, 0xd7, 0xe7, 0xb2, 0xe1, 0xc0, 0x8c, 0x39}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x4f, 0xc7, 0x3c, 0x6, 0x9f, 0xb3, 0x52, 0xf6, 0x12, 0x96, 0x57, 0x15, 0xd1, 0xdc, 0x4f, 0x26, 0x26, 0x38, 0x2c, 0x8f, 0x74, 0xd4, 0xb9, 0xd7, 0x51, 0x0, 0x6f, 0xcd, 0x1e, 0x92, 0x28}}
 	return a, nil
 }
 
-var _switchboardSafe_deposit_to_lnfCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x57\x4d\x6f\xe3\x36\x10\x3d\xaf\x7f\xc5\xac\x0f\x5e\x1b\x70\xec\x4b\xd1\x83\x91\x8f\xba\x49\x5d\x2c\xb0\x87\x20\xc9\xb6\xd7\xd0\xd2\xc8\x62\x57\x26\x05\x72\x14\xad\x11\xf8\xbf\x17\x24\x45\x49\x94\x64\x6f\xb6\x48\x75\xf0\xae\xa8\x99\xe1\x9b\xc7\x79\x33\x0c\xdf\xe7\x52\x11\x6c\x0a\xb1\xe3\xdb\x0c\x9f\xe4\x37\x14\x90\x28\xb9\x87\x71\xb0\x36\x1e\x0d\x59\x3e\x96\x9c\xa2\x74\x2b\x99\x8a\x87\x9c\x5a\x9f\x1b\x7f\xce\x28\xd8\xc5\xbf\xd7\x16\x5f\xa4\xa6\xb5\x88\x37\xb2\x10\x3e\x6a\x7b\xa9\x89\x94\xc9\x32\x88\xe4\xdf\xc7\xa3\xd1\x72\x09\x4f\x29\xd7\x40\x8a\x09\xcd\x22\xe2\x52\x00\xe1\x3e\xcf\x18\xa1\x86\x54\x96\x40\x12\x34\x8a\x18\xbe\x3e\xde\xdd\x42\x52\x88\x58\xc3\x33\xc9\x67\x60\xe2\x00\xcf\xeb\x38\x56\xa8\xf5\x33\x94\x9c\x52\x59\x10\x7c\x13\xb2\xe4\x62\x07\x26\x30\x4f\x80\x13\xa4\x32\x8b\x35\x30\x78\x61\x45\x46\x20\x13\xa0\x94\x11\xe8\x1c\x23\x9e\xf0\x08\xc8\x02\xa3\x43\x8e\x0b\x78\x4a\x31\x00\x52\xf2\x2c\x03\x46\x06\x0f\x19\x1c\x26\x68\x8c\xb9\xd4\x9c\x80\x52\xac\xd0\x70\x41\xd2\xbe\x2a\x8c\x90\xbf\xa0\xfa\xa4\x41\x37\x84\xce\x0d\x0e\x21\x21\x62\x39\xdb\xf2\x8c\xd3\x01\x12\xa9\x40\xc9\x82\x3c\xd0\x10\xd1\xe6\x09\xb8\x86\xc4\xb2\x6a\xd8\x48\x31\x0c\x47\x29\x0a\x93\x98\x45\xd7\x87\x63\x33\xf7\x90\x82\x23\x8a\xa4\x20\xc5\x22\x5a\x8c\x96\xcb\x51\x2b\xcf\x29\xc9\x15\x54\x4c\xce\x81\xed\x65\x21\x68\x05\x5f\x37\xfc\xfb\xaf\xbf\xcc\xe0\x75\x04\x00\x60\x7f\xec\x61\x99\x3c\x13\x54\x28\x22\x84\x6a\x17\x47\xad\x3d\x5c\xf3\x9a\xb3\x83\x25\x81\x45\x91\x09\x65\x5d\x33\x24\x67\xf6\x80\xc9\x0a\x26\x75\x31\x2d\xfe\x32\x8b\xed\xe8\x76\x01\x14\x6a\x59\x28\xb3\x85\xe1\xc6\x9d\xa1\x89\x6d\x8f\x4b\xbb\x55\xa6\x10\xb6\x68\x48\xb4\xc9\x24\xa8\x14\xc6\xf5\x6e\x1a\x05\xd9\x58\x2b\xf8\x2d\x28\xf6\x70\xcb\x75\x3f\x1d\xcd\x77\xc2\x26\x90\x64\xb2\x74\xa8\xe7\x6e\x47\x4b\xf9\x16\xa1\xd0\x18\xdb\x53\xcc\xd9\xc1\xee\x6f\xa8\x9e\x6c\x20\x41\xd4\x50\x23\x30\xee\xf7\x4a\xbe\xf0\x18\x95\x4b\xfb\x35\x04\xe2\x3f\x1e\x1b\x30\xad\x2a\x19\x44\xe3\xca\xd5\x57\x9a\xab\x24\x8c\xe4\x0b\xaa\x2e\x8e\x00\xc6\x43\xe5\xb0\x82\xdb\x7a\x83\xcb\x49\x2d\x44\x47\x49\x07\x9d\xf7\x39\x5e\xdf\x8c\x6c\xb0\x5c\x61\xce\x14\x4e\x1d\xa2\x15\xac\x0b\x4a\xd7\xee\x8c\x4d\x99\x58\x9b\x2a\x91\x3f\x91\x80\x9d\x61\x56\x93\x54\x18\x3b\x6e\x6b\x3f\x8d\x59\xb2\xf0\x45\x02\x57\x95\xf5\x62\x2b\x95\x92\xe5\x65\xb7\x66\xae\xa7\xa6\xe0\x56\xd0\x59\x7e\x24\xa9\xd8\x0e\xef\x19\xa5\xb3\xd1\x87\x0f\x1f\x6e\x6e\x20\x67\x82\x47\xd3\xf1\xad\x2c\xb2\x18\x84\x24\x70\x11\xfb\xf0\x64\xe9\xd0\xd9\x40\x1f\xc7\xb3\x76\x46\x7f\x73\x4a\x63\xc5\x4a\x5f\x81\x75\xb5\xbf\x21\xa7\xba\x14\xe1\xf2\x22\x48\x72\x51\x56\x51\xa7\x5e\x75\xee\xdf\x59\x40\xe6\xef\x0e\xee\x39\x3e\x5b\xb5\x91\x57\x45\x15\x42\xe8\xd4\x62\x9f\xdd\x53\xa5\xe9\x69\x5e\x6a\x47\xec\x32\xf1\x45\x63\x33\x6a\x38\x32\xcf\x19\xb2\x07\x44\x55\x43\x1d\xcf\x7a\xc5\x63\xb2\x6b\x69\xc1\xb6\xed\xf3\x5a\xe8\xe7\xeb\x0b\xb8\x49\x76\x87\xf4\x5f\xea\x7f\xba\xcc\x8b\x6d\xc6\xa3\x26\x77\xff\x6d\xd6\x34\xc7\xa3\xcb\x01\xbf\x63\x54\x10\x0e\xe8\xa1\x1a\x11\x3c\xe7\x28\xe8\x93\x06\x17\xd3\x77\x49\x90\xdb\x7f\x30\x6a\x0a\xc7\x28\xb7\xb6\x86\x2b\xd8\x21\x55\x5a\x9b\x92\x6c\xf1\xc5\x13\xd7\xed\x9a\x09\xe1\x8e\xb7\xf6\x0d\x93\x9e\x9e\x9a\xfb\x8b\x7b\x0b\xc7\xe9\xa6\x7d\xa6\x8d\xfe\x4e\x79\xb6\xfe\xff\xfa\x16\x23\xb7\xd3\xf1\x7a\xea\x87\x4b\x8b\xa8\x75\x33\x6d\xdb\xa3\xad\x35\xfc\x7f\x30\x6e\x21\x88\x58\xb1\x23\x24\xdd\xb9\x68\x18\xd7\x42\x0c\x18\x5b\x68\x96\x60\x65\x53\x55\xfc\xe5\x45\x47\xbd\x27\xd5\xda\xcd\xa3\xca\xe5\x73\x52\x5f\x3b\xb8\x06\x85\x54\x28\x81\x7e\x80\x53\x8a\x5c\xd5\x39\xc6\x3c\x16\x9f\x08\x74\x11\x45\x68\x4c\xb4\x84\x12\x21\x2f\x68\x28\x6e\xe7\xea\x61\x66\x3c\xac\x45\x0c\x76\xca\xf7\x1c\x4c\xfe\x7b\xdc\x4b\xb8\x82\xf1\x5d\x81\xa0\xe4\x81\x65\xc4\x51\x8f\x07\x4d\x2b\x44\x7f\x68\xe2\x7b\x46\x68\x58\x68\x5f\x22\x16\x58\x7d\xf0\x5c\x29\x8c\x11\xf7\x66\x1c\x90\x9c\x03\x27\xb4\xcc\xf5\x08\x9f\x5b\x0c\x2b\xfb\x3b\x87\x98\xeb\x3c\x63\x87\x15\x08\x9e\xcd\x06\x61\x54\xdd\x66\x83\x58\x9f\x43\xa7\x85\xf5\x4f\xa3\x03\x7d\xd1\xc4\x18\xde\xa3\xbe\x63\x5c\x5e\xf4\x7c\xeb\xe0\x2d\xa9\xf9\x27\xe0\xa3\x72\x9c\xf6\xac\xcc\x13\x90\x33\x68\xe1\x09\xf3\x58\x86\xad\x5a\xdc\x0d\x7e\x6f\xf3\x39\x6c\xa1\xfd\x58\x3c\xec\xd1\x70\x35\x69\x11\xcc\x34\x4c\x06\x6e\x48\xc3\x81\x5a\x2d\x30\xf7\xc1\x7a\x1d\xb7\xe7\x39\xc0\xe2\x72\x09\x0f\x56\x12\xf6\x26\xaf\x70\xcf\xb8\x30\x77\x98\x0a\x98\xbb\x4b\x71\x23\x14\xae\x2b\x15\x55\xc2\x8f\xa4\x48\xf8\xae\xf0\x97\xbd\x4e\x50\x3b\x1a\x7a\x43\xa1\xe6\xa1\x0b\xf5\x63\xd5\xdf\xa6\xb3\x8f\xf5\x59\x7a\xfd\x9f\x2b\xa0\x18\x35\x29\x79\xe8\x16\x4e\x60\x77\x1c\x0d\x79\x84\x4d\xa5\x36\x39\x02\x66\x1a\xfb\x1d\xf1\xb3\x1b\x7d\x85\x46\x65\xda\x84\x9d\xa9\x29\x8b\x81\x05\x5d\xaf\xc4\x53\x7f\x99\x7c\x99\x6c\x82\x90\x6f\xec\x07\xef\xd7\x0b\xc2\x7c\xdf\xda\x08\xfe\xef\x26\xf0\x13\x0d\xa0\xed\xf6\x36\xed\x9f\xd7\xfd\x8f\x35\x7f\x4e\xef\xe7\xb5\xfe\x2e\x3a\xff\x79\x8d\xcf\xba\x55\xfb\xbe\xd2\x3e\x2b\xeb\x77\x91\xf4\x29\x39\x37\x7d\xeb\xe8\x6f\x79\xc7\x11\xfc\x1b\x00\x00\xff\xff\xfd\x84\x52\xd0\x8d\x11\x00\x00"
-
-func switchboardSafe_deposit_to_lnfCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_switchboardSafe_deposit_to_lnfCdc,
-		"switchboard/safe_deposit_to_lnf.cdc",
-	)
-}
-
-func switchboardSafe_deposit_to_lnfCdc() (*asset, error) {
-	bytes, err := switchboardSafe_deposit_to_lnfCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "switchboard/safe_deposit_to_lnf.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0x5a, 0x67, 0x79, 0x0, 0x7b, 0x1d, 0x2a, 0xd, 0x55, 0x35, 0xb6, 0xc4, 0x4b, 0xa9, 0x5e, 0xbf, 0x8d, 0x29, 0x23, 0xde, 0x9d, 0xfe, 0x59, 0xb5, 0xa3, 0xb4, 0x70, 0x0, 0x9, 0x5a, 0x96}}
-	return a, nil
-}
-
-var _switchboardSafe_transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x4d\x6f\xdc\x36\x10\x3d\x7b\x7f\xc5\x64\x0f\xb1\x16\x70\xe4\x4b\xd1\xc3\xc2\x49\x6a\x24\x75\xaf\x41\xe2\xb6\x67\x4a\x1c\x89\x6c\xb4\x1c\x61\x38\xb2\xbc\x30\xfc\xdf\x0b\x92\x92\x96\xf2\x07\x6a\xd4\x07\xef\x92\x9c\x8f\xf7\x66\xde\xcc\xda\x43\x4f\x2c\x70\x33\xb8\xd6\x56\x1d\xde\xd2\x4f\x74\xd0\x30\x1d\x60\xbb\xba\xdb\x6e\x5e\xb2\xfc\x31\x5a\xa9\x4d\x45\x8a\xf5\x4b\x4e\xd9\xf3\xe2\xff\xfb\xbd\x3a\xf4\xeb\x44\xf9\xd5\x76\xb3\xb9\xbc\x84\x5b\x63\x3d\x08\x2b\xe7\x55\x2d\x96\x1c\x58\x0f\x0a\x04\x0f\x7d\xa7\x04\xa1\x21\x0e\xc7\xec\x5d\x8c\x12\xa8\x69\xe8\x34\x54\x08\x83\x47\x0d\xd5\x11\x94\x3b\x92\x43\x08\x11\x85\xc0\xa3\xd3\x20\x21\x89\x0f\x47\xe5\x48\x0c\x32\xa8\xba\xa6\xc1\x09\x88\x61\x1a\x5a\x03\x0a\x7c\xc6\x6a\xf0\xd6\xb5\x20\x06\xc1\xab\x06\xbf\x62\x4f\xde\x4a\x08\x78\x40\x31\xa4\xcb\x04\x35\x1d\x60\xb4\x5d\x07\x8e\x04\x7a\xe5\x6c\x0d\xb6\x49\x8e\x59\x38\x4d\xe8\xa3\x85\x51\x77\x18\x5e\x43\xa8\x5a\xf5\xaa\xb2\x9d\x95\x63\x84\x29\xc4\xf1\x09\x34\x7a\xcb\xa8\xe1\xe6\xf6\x02\x18\x65\x60\x37\x63\xd1\x09\x07\x6a\xb8\x53\x43\x27\x60\x9d\x17\x54\xba\x4c\xb5\x43\x18\xad\x18\xcd\x6a\x04\x75\x88\xdc\x54\x60\x6e\x70\xe1\x1a\xeb\xde\xa2\x5c\x4f\xe7\x71\xae\x5c\x30\xea\x15\xab\x03\x0a\xb2\x9f\x2b\x17\x6e\xb3\x6a\x97\x9b\xec\x50\x08\xed\xe1\x5a\x6b\x46\xef\x2f\xa6\x7c\x7b\xf8\xf3\xc6\xde\xff\xfa\xcb\x0e\x1e\x36\x00\x00\xf1\xdf\x04\x8d\xb1\x41\x46\x57\xe3\x1c\x38\x31\x88\x88\x52\xf6\x23\xf2\xb9\x9f\xa1\x46\xd7\x0e\x25\x99\x7d\xc7\x66\x0f\x6a\x10\x53\xac\x74\x56\xfe\x3d\xf1\x55\x55\x87\x3b\x78\x9f\x0b\xaa\xfc\x2b\x38\xe6\x08\xe2\x05\x30\x7a\x1a\x38\xc0\x08\xd2\x31\xd4\x69\x9f\x78\x4e\x02\x09\xb7\x8a\x11\x2a\x8c\x45\x0f\x84\x1b\x64\x46\xbd\x20\xf2\xe8\x24\xc6\xda\xc3\x6f\x6b\x38\x29\x65\x34\xec\x19\x7b\xc5\x58\x78\xdb\x3a\xe4\x3d\x5c\x0f\x62\xa6\xaa\x87\xea\x44\x9b\x09\xdb\x1f\x28\xa0\x9e\xd7\x27\x79\x9e\xfb\x24\x8c\xa9\xe3\x8b\x9f\xc7\xae\x29\xe7\xda\xc0\xc7\xc9\xba\xac\x88\x99\xc6\xab\xff\x53\xaa\x4f\x45\xe8\xc5\x1e\x9e\xbf\xfc\x10\x62\xd5\xe2\x37\x25\x66\xb7\x39\x3b\x3b\xfb\xfc\x39\x09\xbd\xd8\x7e\x89\xfa\x09\xba\x4e\x89\x9f\xb3\xa0\x31\x91\x88\x81\xde\x6d\x77\x2b\xe6\x33\xa6\xb9\xf8\x8b\x18\xde\xc0\x7d\xe9\x02\x5c\x7d\x58\x15\xa3\x9c\x87\xa0\x98\x45\x99\x3e\x77\x27\x49\x3e\x26\x14\x78\x8f\xf5\x20\xf8\x42\x3b\x24\x0a\xb6\xb6\xbd\x45\x27\xe7\x1e\xfa\xa1\xea\x6c\xbd\x8c\x11\x55\xff\x60\x7d\xc2\x13\x44\xb1\x58\xc3\xc7\x6c\xc0\x0a\xa1\xdd\x5b\x7a\x9d\xe7\xca\x77\xeb\x77\xac\xd1\xde\x21\xaf\x52\x65\x7b\x25\xf5\x7e\xf1\x2e\x5b\x94\x2f\xcb\x52\x29\x5e\xdb\xc9\xe5\xb7\x48\x27\xf5\x13\xb2\xbf\x59\x3e\xef\x5f\xf5\xcc\xbe\x3f\xbc\xc5\x28\x65\x7a\xfc\x54\xfc\xb7\x70\x12\xd3\x75\x6d\x32\xaa\xef\xb6\xbb\xa5\x7f\xab\x2f\x97\x97\x30\xad\xe7\x58\xca\x66\x70\xda\x43\xfc\x69\x58\xad\xe0\x8b\x79\x2d\x4f\x3b\xf4\xb4\x92\x6b\x0a\x7a\x17\xcc\x23\x06\xc3\x7c\xb9\xa7\x35\x9c\x25\x98\x36\x2f\x50\x93\x28\xfd\xb4\xae\xbd\x00\x4f\x30\xe2\xb4\xe3\x29\x8f\xc7\x58\x53\x60\x27\x86\xfc\x14\x62\x79\xb6\x4d\x6c\xab\x23\xf9\x3a\xaf\xf7\x45\xd8\xab\x56\x97\xd9\x4f\xd1\x34\xac\x57\x1f\x9e\x4c\xc3\xab\xea\xdf\x3d\xac\x5a\xbd\x1e\x19\xfd\x24\xe8\x33\x2c\x27\x9d\x3c\x9e\xf4\xac\xd1\x0b\xd3\xf1\x09\x82\xd5\x98\x3d\x6e\xfe\x0d\x00\x00\xff\xff\xc6\x5e\xa3\xf4\x69\x08\x00\x00"
+var _switchboardSafe_transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4f\x4f\xfc\x36\x10\x3d\x93\x4f\x31\xbf\x3d\xfc\x48\xa4\x6d\xb8\x54\x3d\xac\xf8\x23\x0a\xa5\x57\x04\x94\x9e\x9d\x78\x92\xb8\x64\x3d\x91\x3d\x21\xac\xd0\x7e\xf7\xca\x76\x92\x75\x58\x50\x51\xf7\x92\x75\x3c\x7f\xde\xbc\x79\x79\x6a\xdb\x91\x61\xb8\xeb\x75\xad\x8a\x16\x9f\xe8\x05\x35\x54\x86\xb6\xb0\x5a\xbc\x5b\x25\x9f\x45\x3e\x0e\x8a\xcb\xa6\x20\x61\xe4\x67\x49\xd1\xf5\x9c\xff\xc7\x9b\xd8\x76\xcb\x46\xf1\xab\x55\x92\x9c\x9d\xc1\x53\xa3\x2c\xb0\x11\xda\x8a\x92\x15\x69\x50\x16\x04\x30\x6e\xbb\x56\x30\x42\x45\xc6\x1d\xa3\x7b\x6e\x04\x43\x49\x7d\x2b\xa1\x40\xe8\x2d\x4a\x28\x76\x20\xf4\x8e\x34\x82\xab\xc8\x04\x16\xb5\x04\x76\x4d\xac\x3b\x0a\x4d\xdc\xa0\x01\x51\x96\xd4\x6b\x06\x6e\x0c\xf5\x75\x03\x02\x6c\x34\x55\x6f\x95\xae\x81\x1b\x04\x2b\x2a\xbc\xc5\x8e\xac\x62\x57\x70\x8b\xdc\x90\xcc\x03\xd4\x70\x80\x41\xb5\x2d\x68\x62\xe8\x84\x56\x25\xa8\x2a\x24\x46\xe5\x24\xa1\xf5\x11\x8d\x78\x45\x77\xeb\x4a\x95\xa2\x13\x85\x6a\x15\xef\x3c\x4c\x26\xe3\xaf\x40\xa2\x55\x06\x25\xdc\x3d\xad\xc1\x20\xf7\x46\x4f\x58\x64\xc0\x81\x12\x5e\x45\xdf\x32\x28\x6d\x19\x85\xcc\x03\x77\x08\x83\xe2\x46\x1a\x31\x80\xd8\xfa\xd9\x84\x9b\xbc\xc1\x79\x56\xcf\x7b\x8d\x7c\x3d\x9e\x87\x89\x39\x17\xd4\x09\x23\xb6\xc8\x68\xec\xc4\x9c\x7b\x1b\xb1\x9d\x27\xd1\x21\x65\xda\xc0\xb5\x94\x06\xad\x5d\x8f\xfd\x36\xf0\xd7\x9d\x7a\xfb\xed\xd7\x0c\xde\x93\x04\x00\x60\x84\x65\xb0\x42\x83\xba\xc4\xa9\x68\x40\xef\xd1\x84\xce\x3b\x34\xa7\x76\x82\xe9\x53\x5b\xe4\x10\xf6\x80\xd5\x06\x44\xcf\x4d\xba\xd0\x58\xfe\xf7\x38\xab\x28\x5a\xcc\xe0\x67\x2c\xa6\xfc\xd9\x25\x06\x08\x9d\xc1\x4e\x18\x4c\xad\xaa\x35\x9a\xb1\xd2\xef\x64\x0c\x0d\xcf\xa2\xed\x5d\xea\xc8\xc6\x8c\x7a\x44\xfe\x27\x32\x88\x63\xec\xa1\xd0\xa9\x0d\x0b\x1b\x37\x31\xe7\x59\x6c\xab\x7c\xc2\x0d\x17\x63\x74\xee\x62\x45\x8d\x79\xe1\x1b\x9f\xff\x9f\x71\x2e\x53\xc7\xd7\x06\x8e\x6f\x1e\x43\xf1\x7b\xc1\x4d\x96\x9c\x9c\x9c\x5c\x5d\x05\x21\xa6\xab\x1b\xbf\x5f\xa7\xbb\xd0\xf8\x78\x1a\x1a\xc2\x30\xbe\xd0\x8f\x55\x16\x18\xd8\x87\x07\xbe\x61\xd9\x33\x7e\xc2\x0b\xfb\xad\x96\xaa\x53\xa8\xf9\xd4\x42\xd7\x17\xad\x2a\x67\x9d\x51\xf1\x0f\x96\x07\x52\xdc\x2e\xe7\x68\xb8\x88\x14\x98\x32\x65\xc9\x22\xce\xa2\x66\x0f\x06\xce\x7f\x59\xb2\x99\x4f\xea\x4e\x27\xb5\x85\x67\xf6\x9d\xad\xc5\x60\x63\xf7\x7a\xc0\x12\xd5\x2b\x9a\x25\x86\x43\x40\xd8\xe2\x9c\x9d\xd7\xc8\x37\xf3\x67\x9b\x7e\xe5\x7a\xf9\xbd\xe7\x23\x6c\x04\xa2\xdf\x24\x80\x9f\x5f\x66\x46\xff\xdf\xbf\x13\x14\x3a\xed\x2f\xd3\xff\x5e\x7d\x98\x74\xc9\x4d\x34\xea\x8f\x55\xe6\x20\x2e\xd8\x1c\x8d\xcf\x53\x58\xf5\x5a\x5a\xf0\xa6\xbb\x30\xb7\xf5\x64\x78\xa3\x3b\x1d\xcc\xae\x24\xa7\x54\x0e\xf6\x12\x7b\x65\x70\xb5\x43\xd5\xb8\xe5\xe8\x69\x40\x55\x18\xe5\x45\xe9\x7a\x0d\x96\x60\xc0\xd1\x3d\xc9\xcd\x42\x6e\x14\x6e\xc8\x7e\x2c\xa1\x2a\xbf\x43\x4d\x7c\x3b\xb9\xe5\x41\x4f\x8b\xc5\xe6\x91\xb5\x8f\x1f\x97\xd7\xdc\x28\xc0\x2f\xf5\x96\xbd\x2f\x76\xba\x14\xa9\xfc\x50\xef\x08\xc7\x41\x10\xfb\x03\xd5\x12\x2d\x1b\xda\x85\x5a\x33\x82\xf9\x63\xdc\x27\xff\x06\x00\x00\xff\xff\x42\x29\x45\xe0\xb0\x07\x00\x00"
 
 func switchboardSafe_transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -723,11 +702,11 @@ func switchboardSafe_transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0x29, 0xd0, 0x42, 0x9b, 0x75, 0xbc, 0x64, 0x0, 0x59, 0x4, 0xa4, 0x2, 0x60, 0xe3, 0xb8, 0xe7, 0x2a, 0x4c, 0xf, 0x42, 0xa0, 0xfa, 0x1e, 0xf, 0x22, 0x14, 0xd5, 0xee, 0xc7, 0x38, 0x3e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x13, 0x4e, 0x4, 0xb5, 0xb1, 0x7c, 0xf2, 0x2d, 0xa8, 0xd3, 0x90, 0xde, 0x3f, 0x7a, 0x1f, 0xb7, 0x67, 0x47, 0xa0, 0xfd, 0xfa, 0xea, 0xc5, 0xb2, 0xd, 0x9f, 0x56, 0xf6, 0x2a, 0x79, 0x88, 0xb2}}
 	return a, nil
 }
 
-var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4d\x6f\xe3\x38\x0c\x3d\x37\xbf\xe2\x35\x87\xd6\x06\x76\xdd\xcb\x62\x0f\x41\xbf\x8b\xe9\x5c\x8b\xb6\xd3\x39\xcb\x36\x1d\x6b\xaa\x48\x86\x44\x37\x31\x8a\xfc\xf7\x81\x2c\xdb\xb1\xd3\x14\x53\x4c\x2e\xb1\x24\xf2\x91\x7c\x8f\xa4\x5c\x55\xc6\x32\xee\x6b\xbd\x94\xa9\xa2\x67\xf3\x4a\x1a\x85\x35\x2b\xcc\x27\x77\xf3\xd9\x21\xcb\xa7\xb5\xe4\xac\x4c\x8d\xb0\xf9\x21\xa7\xd1\xf3\xe0\xff\x6d\x23\x56\xd5\x34\xd0\xf8\x6a\x3e\x9b\x9d\x9d\xe1\xb9\x94\x0e\x6c\x85\x76\x22\x63\x69\x34\xa4\x83\x00\xd3\xaa\x52\x82\x09\x85\xb1\xfe\x38\x7a\xe7\x52\x30\x32\x53\xab\x1c\x29\xa1\x76\x94\x23\x6d\x20\x74\x63\x34\xc1\x23\xb2\x81\x23\x9d\x83\x7d\x10\xe7\x8f\x42\x1b\x2e\xc9\x42\x64\x99\xa9\x35\x83\x4b\x6b\xea\x65\x09\x01\x37\xaa\xaa\x76\x52\x2f\xc1\x25\x21\xa7\xca\x38\xc9\x1e\x6c\x45\x5c\x9a\x1c\x69\xcd\x48\xa9\x30\x76\x78\xf4\xb6\x6b\xc2\x5a\x2a\x05\xda\x54\x4a\x66\x92\x55\x83\xac\xa4\xec\x15\xeb\x92\xda\x80\x96\x32\x92\x6f\xde\x34\x13\x95\x48\xa5\x92\xdc\x40\x3a\x0f\x9c\x1a\x6b\xcd\x5a\xa4\x8a\x60\x2c\xb4\x61\x08\x9d\x43\x16\x68\xc8\xf9\x24\x34\x24\x07\xf4\x2e\x60\x9b\xd9\x9b\xa8\x15\xfb\x92\xfc\x21\xa0\x93\x1d\x81\x27\xb3\x11\x55\x11\x9b\x05\x6e\xf2\xdc\x92\x73\xff\x40\xac\x7c\xed\x0b\xfc\xb8\x97\x9b\xff\xff\x8b\xf1\x3e\x9b\x01\x40\x2b\x81\xc7\x2a\xc8\x92\xce\xa8\x07\x0f\x91\x5a\xd5\xfc\xb1\x12\x0d\xd9\x53\xd7\x53\xd8\xba\x2a\xe2\x60\xf6\x48\xc5\x02\xa2\xe6\x32\x9a\xf4\x44\xf2\x53\x72\x99\x5b\xd1\x56\x19\xe3\x64\x2c\x7e\xf2\xe2\x1d\xc7\x19\xb4\x17\xb0\xe4\x4c\x6d\x7d\x1a\x5e\xe6\xd2\xa8\xbc\x65\x63\x10\xd3\xdf\x0a\x4b\x48\xa9\x15\xcb\x17\x5b\x90\xb5\x94\x0f\x19\x39\xd2\xdc\x62\x2d\x70\x3d\x4d\x27\x84\x6c\x0d\x2b\x4b\x95\xb0\x14\x39\xb9\xd4\x64\x17\xb8\xa9\xb9\xbc\x09\xa5\x0d\xcc\x74\xb9\x7d\x27\x86\xf8\xc8\x4f\xf0\x3c\x75\x70\x6c\x2c\xe5\x81\x88\xc1\xcf\x91\x2a\x92\x9e\x1b\x5c\x74\xd6\x49\x10\xfd\xfc\x6f\xa8\xba\x8c\xbc\x16\x0b\x7c\x7c\x79\x62\x63\xc5\x92\x1e\x04\x97\xf1\xec\xe8\xe8\xe8\xea\x0a\x95\xd0\x32\x8b\xe6\x77\xed\x94\xf8\xde\x0a\x81\x3f\x56\x61\xd6\xa1\x88\x16\xe8\x78\x1e\x4f\x2a\xef\x73\xea\xc9\x1f\x9a\xe1\x0b\xb5\x0f\x2a\xe0\xfc\xdf\x09\x19\xc9\xba\x43\x8d\xfa\x86\x0c\xff\x5d\xe8\x6d\xf8\xa3\x0d\x65\x35\xd3\x01\x29\xba\xc6\x97\x95\x24\xcd\xa7\x0e\x55\x9d\x2a\x99\x0d\xa3\x6d\xd2\x5f\x94\xed\x72\xf1\x0d\x31\x58\xe3\x02\x4b\xe2\x4e\xe6\x88\x4d\xfc\x15\x9d\xc7\xb1\xc6\x3b\xf0\xb1\x1b\xbe\x49\xa8\xd1\x3a\x09\xba\x0f\xde\xc9\x92\xf8\x6e\x18\xd3\xe8\xb3\xdd\x99\x3c\xb4\xe5\x04\x2d\x31\xfa\xf5\xad\x73\xf2\xa9\xe7\xe8\xfb\xfd\x2b\x46\x21\xd2\xf6\x32\xfa\x73\xd3\x74\x6b\x66\xc2\xcd\xa8\xd4\xe3\x79\xec\x53\x9c\xb0\xf9\x22\x94\xcc\xfd\x02\xdf\x2d\xaa\xbd\x35\x98\x36\xdd\xc6\x75\xa2\xa0\xdb\x36\xd4\x6d\xf3\xdc\x54\x34\xc0\xc8\xa2\xd7\x2f\x78\x77\xa3\x34\xe1\x38\xd9\xf7\x8e\xb8\xa9\x68\x01\xff\x79\x7e\x7d\x68\x8c\xe2\xf8\x7d\xc2\xec\x1e\x5e\xb7\x6d\xbb\x69\xeb\x9a\x77\xe8\xe6\x9d\x28\x5b\x90\x72\xbe\x41\xc7\x58\x39\x39\xb6\xa6\xd9\x1b\x81\x9d\x4f\xdf\xe2\xdb\xdf\x01\x00\x00\xff\xff\xef\x92\x6f\xa2\x8c\x07\x00\x00"
+var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\xcf\x4f\xf3\x38\x10\x3d\x93\xbf\x62\xe8\x01\x12\x69\x49\x2f\xab\x3d\x54\x05\x16\x56\xcb\x5e\x11\xb0\xec\xd9\x71\x26\xc9\x2c\xae\x1d\xd9\x13\xda\x08\xf5\x7f\xff\xe4\x38\x49\x13\x5a\x3e\xa1\x8f\x4b\x71\xec\xf7\xe6\xcd\x9b\x1f\xb4\xa9\x8d\x65\x78\x68\x74\x49\x99\xc2\x17\xf3\x86\x1a\x0a\x6b\x36\xb0\x98\x7d\x5b\x44\xa7\x5e\x3e\x6f\x89\x65\x95\x19\x61\xf3\x53\xa0\xc9\xf5\x88\xff\x7b\x27\x36\xf5\x3c\xd0\xf4\xd3\x22\x8a\x96\xcb\x25\xbc\x54\xe4\x80\xad\xd0\x4e\x48\x26\xa3\x81\x1c\x08\x60\xdc\xd4\x4a\x30\x42\x61\xac\x3f\x4e\xee\xb9\x12\x0c\xd2\x34\x2a\x87\x0c\xa1\x71\x98\x43\xd6\x82\xd0\xad\xd1\x08\x6c\xc0\xa1\xce\x81\x7d\x04\xe7\x8f\x42\x1b\xae\xd0\x82\x90\xd2\x34\x9a\xbb\x98\x5c\x59\xd3\x94\x15\x08\x70\x93\xb4\x1a\x47\xba\x04\xae\x10\x72\xac\x8d\x23\x86\x0d\x72\x65\x72\xc8\x1a\x86\x0c\x0b\x63\xc7\x1b\xff\x70\x8b\xb0\x25\xa5\x00\x77\xb5\x22\x49\xac\x5a\x90\x15\xca\x37\xd8\x56\xd8\x45\xb4\x28\x91\xde\x49\x97\x5d\x4c\x29\x6a\x91\x91\x22\x6e\x7d\x86\x99\xb1\xd6\x6c\x45\xa6\x10\x8c\x05\x6d\x18\x84\xce\x81\x0a\x68\xd1\x79\x09\x1a\x88\x03\xfd\xa0\xc5\xeb\x7a\x17\x8d\x62\x9f\x94\x3f\x04\x7a\xb4\x13\xe6\xd4\x47\x8a\x26\x66\xc5\x6c\x56\x70\x97\xe7\x16\x9d\xfb\x0d\xc4\xc6\x3b\xb0\x82\x7f\x1f\x68\xf7\xc7\xef\x09\x7c\x44\x11\x00\x40\x57\x04\xcf\x57\xa0\x45\x2d\x71\x08\x10\xa2\x75\x85\xf3\xc7\x5a\xb4\x68\x2f\xdd\x68\xa4\x87\x2a\xe4\xf0\xec\x09\x8b\x15\x88\x86\xab\x78\xd6\x16\xe9\x7f\xc4\x55\x6e\x45\x97\x69\x02\x17\xd3\xfa\xa7\xaf\x1e\x18\x24\xd4\x16\x6b\x61\x31\x76\x54\x6a\xb4\x3d\xd3\x7d\xe7\xd1\xab\x50\x8d\x87\xde\x85\xb0\xa3\xea\x5e\xf9\x3f\xc8\x20\x8e\xb5\x07\xa2\x4b\x07\x8e\x8d\xc5\x3c\x88\x1c\x71\x0e\x55\x91\x0e\xba\xe1\xba\x7f\x9d\xfa\xb7\xa2\xc4\x34\x14\x67\xfd\x2b\xe9\xdc\xc4\xde\xaf\x15\x1c\xdf\x3c\x07\xf2\x47\xc1\x55\x12\x9d\x9d\x9d\xdd\xde\x42\x2d\x34\xc9\x78\xf1\x57\xd7\xcb\xbe\x07\x42\xe0\xe3\x6c\xcc\x36\x24\xd3\x11\x9d\x2f\x92\xe0\xc0\x3e\xfc\xe0\x0e\x65\xc3\x78\xc2\x97\xbe\x4b\xa8\x26\xd4\x7c\xe9\xa0\x6e\x32\x45\x72\x28\x20\x98\xec\x7f\x94\x07\x53\x7c\x2d\xc7\xd7\x70\x0d\x25\x72\xef\x79\xcc\x26\x89\x66\xef\x1c\x6a\xee\xc4\xc0\xfa\x6a\xee\x66\xba\xed\x2d\x8a\x87\x6e\x0b\xbf\xc9\x77\xaa\x36\x15\x3b\xd9\x28\x8f\x9d\xee\xb9\x80\xc3\x6d\x28\xe1\x08\x4d\xc7\x71\x20\x74\x43\x29\x2f\x3e\xbe\xda\x56\xe9\x51\x9c\xfd\x4d\x3c\x86\x1a\xfe\xbe\x44\x07\x88\x2f\xea\x0c\x93\xc0\x4f\xcb\xdb\x0f\xee\x2c\xff\x49\x46\xe7\x8b\xc4\x93\xcc\x1c\x7b\x15\x8a\x72\xbf\x10\x0f\xa3\xef\x97\xd0\x64\xab\x64\x6d\xbf\xc1\x9c\x28\x30\xcc\xce\x7d\xfb\xd2\xd6\x38\xd2\x50\x31\x14\x39\xa0\xfb\xe6\x9f\x59\x99\x7e\x46\xc7\xdc\xd6\xb8\x02\xff\xef\xfa\xcf\x53\x0d\x9f\xf8\x91\x9c\x26\xff\x89\xb0\x5f\x60\xfd\x60\xac\xaf\xc6\xde\x49\x46\xd4\x1e\x50\x39\xfc\x44\xb3\x5c\xc2\x13\x72\x63\x35\x14\x8d\xce\xbb\x5d\x3e\x4e\xf5\xd0\xc2\x54\x1c\xdc\x24\xd7\x99\x2c\x8d\x2e\xa8\x6c\xfc\xd0\xb3\x19\x6e\x3b\xd7\x3a\x9a\xb9\xd2\x59\xe7\x7e\x47\xe8\x30\x78\xfb\xe8\x47\x00\x00\x00\xff\xff\xad\x3f\x42\x1f\x4f\x07\x00\x00"
 
 func switchboardSafe_transfer_tokens_v2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -743,11 +722,11 @@ func switchboardSafe_transfer_tokens_v2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens_v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbf, 0x44, 0x4c, 0xb2, 0x5b, 0x45, 0x85, 0x8e, 0x98, 0x69, 0xa5, 0xd1, 0xb1, 0x81, 0x9d, 0x55, 0xac, 0x5f, 0x97, 0x18, 0xcf, 0xcf, 0x7b, 0x5f, 0x99, 0x27, 0xf8, 0x9b, 0x75, 0x53, 0x61, 0x5e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9e, 0xc7, 0xc4, 0x34, 0x37, 0x71, 0xd6, 0x98, 0x12, 0xd8, 0xd7, 0xbe, 0xbd, 0xe4, 0xd1, 0x69, 0x80, 0x98, 0x6e, 0xd4, 0xba, 0xe8, 0xf0, 0x84, 0xd2, 0x76, 0x6c, 0x67, 0xc5, 0xdc, 0xd7, 0x84}}
 	return a, nil
 }
 
-var _switchboardSetup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x53\xdd\x6a\xdb\x30\x14\xbe\xf7\x53\x7c\xe4\x62\x24\x90\x25\xf7\xa5\x2d\x94\xc1\xae\xcb\xda\x17\x38\x96\x8f\x23\x11\x45\x32\xd2\x51\xb3\x10\xf2\xee\x43\x76\x13\xec\xc6\x2e\xd9\xe8\x4c\x20\xfa\x3b\x9f\xbe\x9f\x23\xb3\x6b\x7c\x10\xfc\x4c\x6e\x63\x4a\xcb\xaf\x7e\xcb\xee\x65\x6f\x44\xe9\xd2\x53\xa8\x50\x07\xbf\xc3\x6c\x6a\x7b\x56\x8c\xd5\x8f\x15\xcd\x8a\x62\xbd\xc6\xab\x36\x11\x12\xc8\x45\x52\x62\xbc\x83\x89\x20\x08\xef\x1a\x4b\xc2\xa8\x7d\xc8\xd3\xde\xbe\x68\x12\x28\x9f\x6c\x85\x92\x91\x22\x57\x28\x0f\xc8\x50\xe4\x0e\xde\x31\xc4\xe7\x1f\x55\x15\x08\x7d\xde\x81\xa3\x4f\x41\x75\x07\x34\x9b\x00\x52\xca\x27\x27\x88\xbe\x43\x15\xcd\x07\x28\x72\x19\x2c\xb0\x62\xf3\xc6\xd8\x25\x2b\xa6\xb1\x8c\xfa\x9d\x3b\x24\x93\x8f\x48\xd1\xb8\x0d\x08\xf9\xcf\x32\x8e\x03\x6d\xab\x5f\x5d\x79\x38\x15\x7d\xee\xc7\xa2\x00\x80\x26\x70\x43\x81\xe7\xa4\x94\xdc\xe1\x29\x89\x7e\xea\x98\x2c\xce\x27\xf2\xb7\x5e\xe3\x87\x66\xb5\x85\xa9\x33\xb3\x0b\x5b\xb2\x81\xa9\x3a\x40\x53\x9c\x50\x78\x81\x30\x75\xae\x92\x55\xe9\x43\xf0\xfb\xfb\x6f\x53\xa1\xad\x7a\xe3\xc7\x4b\x35\x30\xcf\xb1\xdd\x4d\xb6\xc2\xea\x45\x7c\xa0\x0d\x3f\x93\xe8\x05\x1e\x1e\xe0\x8c\xc5\xb1\x57\x0f\x0c\x26\x59\x51\xe0\x1c\x2b\xc1\xf1\x7e\x3c\x1d\x72\x15\x9a\x24\x30\x02\xe3\xc4\x23\x76\x77\x0c\x80\x5a\x51\x91\xde\x78\x3e\x58\xce\xdf\xfd\xf7\x69\xba\xaa\xbd\xbc\xb7\x32\x5f\x2c\x71\x85\x20\xfe\x36\xc5\x83\xc2\x45\x31\xa9\xb4\x49\xa5\x35\x0a\x8a\x1a\x2a\x8d\x35\x72\x78\x6f\xc0\x81\x7c\xfe\xdd\xf8\xb6\xa1\xf2\x46\xc5\x79\x22\x1f\x11\xeb\xe4\xce\x4f\x20\xf8\xb4\xd1\xed\xd9\xa9\xbe\xcb\xe6\x71\xa8\x49\x8d\x38\x67\x8d\xdb\xde\xd6\x0c\x53\xe8\x8f\xd7\xc6\x4f\xc2\x9d\x8b\x9e\x5b\x1f\xb2\x73\xcb\x6b\xcf\x29\x6c\x58\xfe\xc9\xf7\x9b\xba\xed\xef\x32\x28\xbd\xb4\xe6\x7e\x84\x3b\xde\x62\x59\x27\xf3\xd4\xf6\x71\xbe\xe1\x73\x90\xb1\xc0\xe2\xd7\x25\xf6\x29\xc7\x25\xbe\x20\xdd\xff\x9c\xea\x65\x70\xea\x1e\xd8\xa9\x28\x4e\xc5\x9f\x00\x00\x00\xff\xff\x7e\x23\xaf\xa6\xa2\x06\x00\x00"
+var _switchboardSetup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x54\x5d\x6b\xe3\x3a\x10\x7d\xf7\xaf\x38\xb7\x0f\x25\x81\xdc\xe4\xbd\xb4\x85\x7b\x03\x17\xee\x5b\xd9\x76\xf7\x7d\x2c\x4f\x62\x51\x45\x32\xd2\xa8\x6d\x08\xf9\xef\x8b\xec\xd8\xb5\xb3\x76\xb6\xfb\x01\x2b\x0a\x8d\x3c\x9a\xa3\x39\x73\xce\x48\xef\x2a\xe7\x05\xff\x45\xbb\xd5\xb9\xe1\x27\xf7\xcc\xf6\xf1\x55\x8b\x2a\x73\x47\xbe\xc0\xc6\xbb\x1d\xae\xa6\xc2\x57\xd9\x58\xfe\x58\xd2\x55\x96\xad\x56\x78\x2a\x75\x80\x78\xb2\x81\x94\x68\x67\xa1\x03\x08\xc2\xbb\xca\x90\x30\x36\xce\xa7\x6d\x2f\x2e\x25\x09\x94\x8b\xa6\x40\xce\x88\x81\x0b\xe4\x7b\x24\x28\xb2\x7b\x67\x19\xe2\xd2\x1f\x15\x05\x08\xfd\xba\x3d\x07\x17\xbd\x6a\x0e\x94\xac\x3d\x48\x29\x17\xad\x20\xb8\x06\x55\x4a\xde\x43\x91\x4d\x60\x9e\x15\xeb\x17\xc6\x2e\x1a\xd1\x95\x61\x6c\x4e\xb5\x43\x52\xf1\x01\x31\x68\xbb\x05\x21\xfd\x33\x8c\xc3\x80\xdb\xf2\x53\x93\xee\x8f\x59\xbf\xf6\x43\x96\x01\x40\xe5\xb9\x22\xcf\xb3\xa0\xb7\x96\xfd\x0d\x28\x4a\x39\xfb\xd7\x79\xef\x5e\xbf\x90\x89\xbc\xc0\xff\x21\x44\x7e\x14\xe7\x69\xcb\x6b\xaa\x28\xd7\x46\xcb\x7e\xed\xac\x78\x67\x0c\xfb\x05\x1e\x62\x6e\x74\x28\xdf\x83\x0b\x3c\xd2\x0b\x9f\xf2\x3f\xdb\xea\x3c\x3e\xc7\xf5\x3f\x0d\xdf\x79\x5b\x47\x5a\xab\x15\xd6\x25\xab\x67\xe8\x4d\xe2\xdf\xf5\x84\x8c\x67\x2a\xf6\x28\x29\x4c\xf4\x71\x01\xcf\x12\xbd\x05\x93\x37\xfb\x94\x1f\x5c\x07\x9b\x76\x35\xbb\x65\x68\x58\x2c\xf3\x9a\xdf\xed\xf5\x94\x71\x96\xbd\xdf\xf7\xb3\xe4\x97\x9b\x49\x0f\x2e\x4f\xad\x79\x20\x29\xe7\xf8\xeb\x0e\x56\x1b\x1c\xba\xcb\xd3\x6a\x6a\xeb\x3e\x1d\x07\xc1\x01\x7b\xcf\xc9\x68\x04\xcb\xaf\xe3\x7e\x21\x5b\xa0\x8a\x02\x2d\xd0\x56\x1c\x4e\x8c\x3a\x90\x33\xa2\x81\x5e\x78\x36\xb8\xee\xf6\xef\x69\x26\xaa\xbe\xbe\xf7\x65\x36\x5f\x0c\x92\xc5\x7d\xac\x0f\x5d\xd2\x7c\x28\xae\x61\xf2\xe0\x37\x1d\x24\xf9\xb5\xf3\x83\xe6\x80\x34\x48\x64\x9d\xd5\x8a\x0c\x2a\x92\x32\x9c\x73\x52\xbd\xe3\xcb\xd8\x9a\x6a\x36\x59\x4f\x6b\xfb\xda\x9d\xaa\x96\xe7\x57\x21\xfb\x50\xa3\xba\xd5\x08\x0a\x1d\xee\xfe\x34\xe0\x03\x31\xf9\xad\x72\xf5\xc0\xa6\x40\xc1\x69\x23\x7d\xb4\x4d\xb4\xed\xf3\xe2\x5d\xdc\x96\xf5\xb9\xa9\x99\x4e\x36\x60\xbf\x21\xf5\xee\x01\xc3\xd2\x3e\x19\x7e\x4d\x15\xee\x46\xe9\xb6\x16\xd1\x69\xbc\x6f\xaf\xa7\xf0\xef\x87\xf6\x49\xeb\x87\x1c\xd0\xb8\xe0\x52\xdf\xdb\xae\xf7\x4a\x5e\x80\xe4\x82\xd3\x2e\x29\xfb\x1b\x64\xc9\x9d\xd4\x3d\xef\x43\x1d\x3e\xf2\x54\x34\xf5\x1c\xeb\x21\x4d\xe8\xd3\x00\x63\xfa\x85\x81\x80\xe1\x1c\xf6\x27\x95\xbc\x58\xea\x02\x7f\x5c\xf5\x31\x9e\xdf\x91\xff\x9b\x29\x3c\x66\xd9\x31\xfb\x1a\x00\x00\xff\xff\xd7\x8b\x14\x2a\x2b\x08\x00\x00"
 
 func switchboardSetup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -763,7 +742,7 @@ func switchboardSetup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x51, 0xab, 0xfd, 0x49, 0x8, 0x59, 0xc4, 0xc3, 0xd5, 0x74, 0x24, 0xc4, 0xaa, 0xd2, 0xf5, 0x4, 0x29, 0x1e, 0xb2, 0x82, 0x2d, 0x40, 0xaf, 0x9f, 0x7d, 0xda, 0xc2, 0x0, 0x7e, 0x5, 0x68, 0xf9}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x92, 0xf5, 0x43, 0x80, 0x12, 0x2b, 0xe9, 0xd6, 0xc5, 0x8d, 0x39, 0xa0, 0xb7, 0xb, 0x9a, 0xc2, 0x9a, 0x3a, 0xec, 0x9, 0xab, 0xe, 0xda, 0xed, 0x5d, 0xcf, 0xd4, 0xa5, 0x0, 0x38, 0xa7, 0x4d}}
 	return a, nil
 }
 
@@ -807,7 +786,7 @@ func switchboardSetup_royalty_account_by_pathsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardTransfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\xdb\x38\x10\x3d\x47\xbf\x62\xd6\x87\x44\x06\x1c\xe7\xb2\xd8\x83\x91\x8f\x0d\xd2\xa6\xd7\x20\x4d\xdb\xf3\x88\x1a\x8b\x6c\x65\x92\x18\x8e\xe2\x18\x41\xfe\x7b\x41\x52\x52\xa4\xa4\x40\xea\x83\x65\x0d\xe7\xe3\xcd\x7b\x8f\x36\x3b\xef\x58\xe0\xb6\xb3\x8d\xa9\x5a\x7a\x70\xbf\xc8\xc2\x96\xdd\x0e\x16\xb3\xd8\xa2\xe8\x33\x3f\x3f\xe1\xce\xcf\x13\xa7\xa1\x45\x51\x9c\x9d\xc1\x83\x36\x01\x84\xd1\x06\x54\x62\x9c\x05\x13\x00\x41\x68\xe7\x5b\x14\x82\xad\xe3\xf8\x3a\x39\x17\x8d\x12\x0b\x95\xeb\xda\x1a\x2a\x82\x2e\x50\x0d\xd5\x01\xd0\x1e\x9c\x25\x10\x07\x81\x6c\x0d\x12\x67\x84\xf8\x8a\xd6\x89\x26\x06\x54\xca\x75\x36\x15\x8b\x66\xd7\x35\x1a\x10\xc2\xde\x88\xd2\x95\x43\xae\x57\x80\x01\x5a\x67\x9b\xf8\x14\x4d\x07\xd0\xf8\x48\x10\x48\xa0\xf3\x31\x60\x38\xd6\x4e\x2a\x00\x6d\x9d\x93\xb0\xae\x63\x06\x78\x76\x9e\x18\x14\x7a\xac\x4c\x6b\xe4\x10\x01\x98\x38\x33\x2f\x9b\x32\x99\x42\x00\xb7\x4d\x05\x4c\x8a\xcc\xe3\x2b\xba\x55\x8a\xe2\x2e\xfe\x8e\xb5\x69\xf5\x2d\xa5\xc9\x71\x5a\x3c\xbd\xeb\xaa\xd6\xa8\x3b\x14\x9d\xf8\x89\xa1\x86\x2c\xb1\x51\x70\xfb\xf0\xda\x71\x6f\xda\x36\x12\x24\x9a\x62\xb5\x47\xc6\x1d\x09\x71\x28\x26\x7c\x96\xe2\x36\x70\x9d\x31\xad\xfa\xb9\x1b\xf8\x76\x6b\x9e\xfe\xfb\x77\x35\xf6\x8a\xb3\x36\x93\xb9\x4b\x78\x2e\x0a\x00\x80\x7e\xa9\x47\xec\x5a\x01\xa6\xe0\x3a\x56\x94\x34\x02\xed\xda\x3a\xf1\x38\x4a\x11\xa3\xc8\x04\x15\x19\xdb\x8c\x9b\x31\xd5\xa9\x55\x4b\x12\x95\x93\xef\xb1\xd7\x06\xfe\x9f\x99\x6a\x9d\xa2\x79\xa6\x67\xf2\xc8\x54\x06\xd3\x58\xe2\x0d\x5c\x77\xa2\xaf\x33\x7b\x23\xae\x1e\xdb\x17\x12\x40\x60\xda\x12\x93\x55\xc9\x1c\x11\x50\xae\x3c\x09\x10\xc4\x31\xd5\x19\xfe\x58\x17\x81\xa4\xc8\x3d\x6d\xe1\xa2\x4f\x5e\x57\x8e\xd9\xed\xcf\xb1\x13\x5d\xce\xa1\xfd\x30\xa2\x6b\xc6\x3d\x56\x2d\x2d\xe1\x78\xea\xf1\x0c\xfb\xb2\x8c\xee\xdf\xc0\xfb\x93\xaf\xe2\x18\x1b\x4a\x94\x16\x47\x47\x47\x57\x57\xe0\xd1\x1a\x55\x2e\x6e\x92\xbd\xad\x13\xc8\x83\xdf\x2f\xe1\xf6\x79\x87\xd4\xe8\x9f\xc5\x72\xb6\xf8\x80\x69\xe0\x3e\x5d\xbf\x8f\x57\x0f\xd4\x6e\xd7\xa3\x08\x70\x7e\x3a\x12\xb1\xde\xf7\x1d\xcb\xc1\x23\xf9\xb9\x4c\xb5\xe9\xeb\x25\x23\xa0\x27\x52\x9d\xd0\x1f\x94\xe8\xfd\x6e\xbc\x21\x2b\x27\x01\x7c\xf2\xd3\xe0\x7c\x70\xd5\x4f\x52\x73\x19\xc6\x6c\xb8\x80\x86\xa4\x57\xb9\x14\xb7\xfc\x1b\x99\xa7\xb3\xee\x7b\x27\xbf\x6d\x9f\x82\x59\xe8\x31\x7d\xcc\x89\x9f\x75\x43\x72\x33\x5e\xe7\x72\x7a\x23\x96\xf3\xc4\xde\x21\xc7\xcf\x73\x7b\x0c\x93\x5f\x2e\xcb\x8f\x35\xee\xaf\xee\x6c\x95\xc9\x1f\xce\x5b\x99\x3f\x91\x77\xc1\x64\x66\x07\x81\xec\xa0\xb9\xb1\xef\x58\xe0\xb7\x2c\x4c\x18\x58\xd7\xb9\x59\x6f\xd6\xf3\xd3\xb9\x19\xe6\x42\xbf\x14\xbf\x03\x00\x00\xff\xff\x3f\x7d\x09\xec\x0f\x06\x00\x00"
+var _switchboardTransfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\xcb\x6e\x1b\x39\x10\x3c\x5b\x5f\x51\xab\x83\x3d\x02\xb4\xe3\xcb\x62\x0f\x82\x1f\xf0\x6e\xe2\x5c\x0d\xc7\x71\xce\x3d\x9c\x96\x86\xc9\x88\x24\xc8\x1e\xcb\x82\xe1\x7f\x0f\xf8\x90\x34\xb2\x03\x24\xc8\x89\x1a\xb2\xba\xab\xab\x58\x94\x5e\x3b\xeb\x05\xb7\x83\x59\xe9\xa6\xe7\x07\xfb\x9d\x0d\x96\xde\xae\x31\x3d\xda\x9b\x4e\x0a\xf2\xe3\x33\xad\xdd\x31\x70\xbc\x35\x9d\x4c\xce\xcf\xcf\xf1\xd0\xe9\x00\xf1\x64\x02\x29\xd1\xd6\x40\x07\x10\x84\xd7\xae\x27\x61\x2c\xad\x8f\x9f\xa3\x73\xe9\x48\xa0\xec\xd0\xb7\x68\x18\x43\xe0\x16\xcd\x16\x64\xb6\xd6\x30\xc4\x22\xb0\x69\x21\x91\x21\xc4\x4f\x32\x56\x3a\xf6\x20\xa5\xec\x60\x24\x71\x4a\xe7\xed\xb0\xea\x40\x08\x1b\x2d\xaa\x6b\x2c\xf9\x76\x0e\x0a\xe8\xad\x59\xc5\x55\x3a\xde\xa2\xa3\x27\x46\x60\xc1\xe0\xe2\x86\xf6\x63\x38\xc8\xb4\x19\x41\x6d\x1b\x8f\xe1\xbc\x75\xec\xa1\xc8\x51\xa3\x7b\x2d\xdb\x48\xaf\x13\x63\x51\x9a\xb0\x9e\x43\x80\x5d\xa6\x12\xcf\x8a\xf5\xd3\x61\xba\x79\xda\xa5\x75\xfc\x1d\xab\x93\xee\x65\x3c\x37\x99\xe3\x6e\x68\x7a\xad\xee\x48\xba\xe4\x4c\xdc\x5a\xb1\x61\xaf\x15\x6e\x1f\x0e\xed\x36\xba\xef\xd1\x70\x11\xcb\x70\xe4\x69\xcd\xc2\x3e\xa4\x69\x46\x76\x56\x62\x17\xb8\xc9\x53\xcd\x0b\xf3\x02\x5f\x6e\xf5\xf3\xbf\xff\xcc\xf7\x0d\x23\xe1\x62\x44\x3e\xc3\xcb\x64\x02\x00\x45\x56\xd0\x2b\xc3\xfe\x2c\xe0\x89\x86\x3e\x4d\xbe\xd1\xd2\xb5\x9e\x36\xe9\xe2\x13\xb4\x67\x41\xb0\x83\x57\xfc\x18\x41\x0b\xd0\x20\x5d\x75\x14\x9d\xfa\x6b\xa9\xa2\xa6\xe7\x19\x4e\xc7\x71\xa9\x53\x55\x66\x75\x9e\x1d\x79\xae\x32\x6d\xe9\xf4\x9f\xf5\xde\x6e\x1e\xa9\x1f\x62\xe9\x4d\x36\x74\x3f\x68\x19\xf6\x13\x0b\x08\x9e\x97\xec\xd9\xa8\x94\x17\x19\xcf\x1f\xc4\x7a\x6e\xb3\x8c\x7d\x5d\xe0\x7e\x59\x8f\x46\xc7\x65\x29\xa8\x23\x9c\x56\x5c\x37\x89\xfb\xe2\x4f\x14\x5d\x55\xd1\xa1\x05\xde\x9f\x7c\xce\xcd\x93\xdf\x93\x93\x93\x93\xeb\x6b\x38\x32\x5a\x55\xd3\xff\x53\xfa\x8d\x15\x64\xe2\xf7\x82\xec\x26\xeb\x49\x8d\xfe\x9a\xce\xb2\x09\xaf\x79\xe1\x67\x56\x83\xf0\x4f\xac\x29\x99\xd4\x4e\xb3\x91\xb3\x00\x97\x6e\x7c\x97\x4e\xd8\xe6\x1b\xab\x83\x2f\xf1\x46\xf7\x68\x5c\x62\xc5\x52\x6c\xaf\xc4\xce\x7e\xc7\xf7\x31\xd7\x7d\xc9\xda\xdb\xf6\x69\xf3\x9e\x97\xb8\x3c\xc0\xeb\xfd\x23\xd3\x1c\x76\xee\x9f\xbe\x1c\x5b\xbf\x6b\xf8\x7a\x55\x8d\x73\xfc\x6b\x2f\xcb\x23\x3a\x9a\x76\xf4\xf2\xf7\x76\x16\x6d\x1f\xd8\xd9\xa0\xb3\x79\xbb\xd8\x9b\xdd\x3f\x90\x36\xef\x84\xfa\xb7\x42\x47\x22\xeb\x36\x37\x2b\xa1\xb8\xf8\xfb\x6d\xf6\xea\x1d\x43\xb5\x7b\xab\x79\x9d\x1d\xae\xf8\x75\xf2\x23\x00\x00\xff\xff\x63\xde\xd7\x69\xab\x05\x00\x00"
 
 func switchboardTransfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -823,7 +802,7 @@ func switchboardTransfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xa7, 0xa7, 0x4d, 0x8d, 0x23, 0x60, 0xab, 0x4, 0x57, 0x96, 0x4, 0x1a, 0x97, 0x6, 0xb7, 0x12, 0xaa, 0x97, 0x5e, 0xbc, 0x46, 0x86, 0x7e, 0xef, 0xc0, 0x58, 0x4e, 0xa3, 0xc5, 0xc4, 0x6a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x60, 0xc2, 0x5b, 0x5, 0x87, 0x4e, 0xed, 0x30, 0xbe, 0xf5, 0x83, 0x1f, 0x9b, 0x38, 0xcc, 0xa2, 0xc7, 0xab, 0x51, 0x3c, 0xb5, 0x2d, 0xb3, 0x2d, 0x5b, 0x85, 0xa6, 0xbd, 0xe8, 0x98, 0xaf}}
 	return a, nil
 }
 
@@ -987,7 +966,6 @@ var _bindata = map[string]func() (*asset, error){
 	"switchboard/batch_add_vault_capabilities.cdc":              switchboardBatch_add_vault_capabilitiesCdc,
 	"switchboard/batch_add_vault_wrapper_capabilities.cdc":      switchboardBatch_add_vault_wrapper_capabilitiesCdc,
 	"switchboard/remove_vault_capability.cdc":                   switchboardRemove_vault_capabilityCdc,
-	"switchboard/safe_deposit_to_lnf.cdc":                       switchboardSafe_deposit_to_lnfCdc,
 	"switchboard/safe_transfer_tokens.cdc":                      switchboardSafe_transfer_tokensCdc,
 	"switchboard/safe_transfer_tokens_v2.cdc":                   switchboardSafe_transfer_tokens_v2Cdc,
 	"switchboard/setup_account.cdc":                             switchboardSetup_accountCdc,
@@ -1086,7 +1064,6 @@ var _bintree = &bintree{nil, map[string]*bintree{
 		"batch_add_vault_capabilities.cdc": {switchboardBatch_add_vault_capabilitiesCdc, map[string]*bintree{}},
 		"batch_add_vault_wrapper_capabilities.cdc": {switchboardBatch_add_vault_wrapper_capabilitiesCdc, map[string]*bintree{}},
 		"remove_vault_capability.cdc": {switchboardRemove_vault_capabilityCdc, map[string]*bintree{}},
-		"safe_deposit_to_lnf.cdc": {switchboardSafe_deposit_to_lnfCdc, map[string]*bintree{}},
 		"safe_transfer_tokens.cdc": {switchboardSafe_transfer_tokensCdc, map[string]*bintree{}},
 		"safe_transfer_tokens_v2.cdc": {switchboardSafe_transfer_tokens_v2Cdc, map[string]*bintree{}},
 		"setup_account.cdc": {switchboardSetup_accountCdc, map[string]*bintree{}},
diff --git a/tests/scripts/get_token_metadata.cdc b/tests/scripts/get_token_metadata.cdc
index eb824f46..406fb8bc 100644
--- a/tests/scripts/get_token_metadata.cdc
+++ b/tests/scripts/get_token_metadata.cdc
@@ -5,12 +5,12 @@
 
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MetadataViews from "MetadataViews"
+import ViewResolver from "ViewResolver"
 
 access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
 
-    let vaultRef = account.capabilities.borrow<&{MetadataViews.Resolver}>(ExampleToken.VaultPublicPath)
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftView = FungibleTokenMetadataViews.getFTView(viewResolver: vaultRef)
diff --git a/tests/scripts/get_views.cdc b/tests/scripts/get_views.cdc
index 94109cd7..0fc6e4a4 100644
--- a/tests/scripts/get_views.cdc
+++ b/tests/scripts/get_views.cdc
@@ -3,6 +3,7 @@
 // since we cannot return on-chain types to the test
 // files yet.
 
+import FungibleToken from "FungibleToken"
 import MetadataViews from "MetadataViews"
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"

From 28fc3bae9445c8bd7686db23152ccbcc6afdcd70 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 18 Oct 2023 18:14:43 -0500
Subject: [PATCH 055/115] update example_token_tests

---
 tests/example_token_tests.cdc | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tests/example_token_tests.cdc b/tests/example_token_tests.cdc
index a1d96f5b..09908daa 100644
--- a/tests/example_token_tests.cdc
+++ b/tests/example_token_tests.cdc
@@ -28,9 +28,7 @@ access(all) fun setup() {
 }
 
 access(all) fun testTokensInitializedEventEmitted() {
-    let addrString = admin.address.toString()
-    let identifier = "A.".concat(addrString.slice(from: 2, upTo: addrString.length)).concat(".").concat("ExampleToken").concat(".").concat("TokensInitialized")
-    let typ = CompositeType(identifier)
+    let typ = CompositeType(buildTypeIdentifier(admin, "ExampleToken", "TokensInitialized"))
         ?? panic("Problem constructing CompositeType")
     Test.assertEqual(1, blockchain.eventsOfType(typ).length)
 }

From 0b218d84cc33fcd7f2d07539a5baa1cf7678f493 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Thu, 19 Oct 2023 16:08:20 -0500
Subject: [PATCH 056/115] remove ExampleToken.Minter.mintTokens() pre condition

---
 contracts/ExampleToken-v2.cdc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 443f7ff6..175b3790 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -231,9 +231,6 @@ access(all) contract ExampleToken: ViewResolver {
         /// and returns them to the calling context.
         ///
         access(all) fun mintTokens(amount: UFix64): @ExampleToken.Vault {
-            pre {
-                amount > 0.0: "Amount minted must be greater than zero"
-            }
             ExampleToken.totalSupply = ExampleToken.totalSupply + amount
             emit TokensMinted(amount: amount, type: self.getType().identifier)
             return <-create Vault(balance: amount)

From 766e809b31c6d58ab49dce0c88a7d523d75beef4 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Fri, 20 Oct 2023 14:27:17 -0500
Subject: [PATCH 057/115] add FT.Vault.getDefaultReceiverPath() method

---
 contracts/FungibleToken-v2.cdc | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index a3f6eaec..48dcb9f5 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -187,6 +187,13 @@ access(all) contract FungibleToken {
             return nil
         }
 
+        /// Returns the public path where this vault's Receiver should have a public capability
+        /// Publishing a Receiver Capability at a different path enables alternate Receiver implementations to be used
+        /// in the same canonical namespace as the underlying Vault.
+        access(all) view fun getDefaultReceiverPath(): PublicPath? {
+            return nil
+        }
+
         // access(all) view fun getViews(): [Type] {
         //     pre { true: "dummy" }
         // }

From d68662ab917ac30f5afa41d5359feef09c9ea1bd Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Fri, 20 Oct 2023 14:53:45 -0500
Subject: [PATCH 058/115] update ExampleToken.Vault Capability setup & go
 assets

---
 contracts/ExampleToken-v2.cdc                 |  2 +-
 lib/go/contracts/internal/assets/assets.go    | 12 ++---
 lib/go/templates/internal/assets/assets.go    | 18 +++----
 lib/go/test/token_test.go                     | 48 -------------------
 .../setup_and_create_forwarder.cdc            |  2 +-
 transactions/setup_account.cdc                |  2 +-
 .../switchboard/add_vault_capability.cdc      |  2 +-
 7 files changed, 19 insertions(+), 67 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 175b3790..ae2a4b2f 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -276,7 +276,7 @@ access(all) contract ExampleToken: ViewResolver {
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
         // and the `getBalance()` method through the `Balance` interface
         //
-        let exampleTokenCap = self.account.capabilities.storage.issue<&{FungibleToken.Vault}>(self.VaultStoragePath)
+        let exampleTokenCap = self.account.capabilities.storage.issue<&Vault>(self.VaultStoragePath)
         self.account.capabilities.publish(exampleTokenCap, at: self.VaultPublicPath)
         let receiverCap = self.account.capabilities.storage.issue<&{FungibleToken.Receiver}>(self.VaultStoragePath)
         self.account.capabilities.publish(receiverCap, at: self.ReceiverPublicPath)
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index bb86caeb..8cc1f1b3 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,8 +1,8 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (12.557kB)
+// ../../../contracts/ExampleToken-v2.cdc (12.437kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
-// ../../../contracts/FungibleToken-v2.cdc (10.622kB)
+// ../../../contracts/FungibleToken-v2.cdc (11.009kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x5b\x72\x7a\xc9\xb6\x1a\x3b\xae\x9b\xc4\xbb\x3b\xd3\x4e\x33\x89\x9a\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x1d\xdc\x48\x80\x17\x59\x91\xf3\xb4\x7a\xb1\x49\xe2\x1c\x9c\xfb\x0d\xa0\x45\xc9\x85\x82\x9b\x8a\xad\xe8\x32\xc7\x05\xff\x8c\x0c\x32\xc1\x0b\x18\x45\xef\x46\x27\x6e\xe5\xef\xa8\x48\x4a\x14\x79\x47\x71\x2b\xdd\xca\xe8\x5d\xbd\x32\x82\xef\x03\x1b\x5e\x50\xe3\xd0\x4f\x6f\x50\xf2\x7c\x83\xc2\x41\x85\xaf\x46\x27\xb3\x19\x78\xc2\xaa\x5c\xd1\x32\xc7\x77\xa4\xca\x55\x4d\x59\xf4\x72\x74\x72\x42\x92\x04\xa5\x1c\x93\x3c\x9f\x40\xc2\x99\x12\x24\x51\xf0\xea\x96\x14\xa5\xa3\x63\x1e\xef\x79\x77\x72\x02\x00\x30\x9b\xcd\x60\xb1\x46\xc0\x0d\x32\x05\x6a\x4d\x14\x50\x09\x58\x50\xa5\x30\x85\xed\x1a\x19\x30\xdc\x82\xd2\x18\x24\x10\x81\x50\x50\xa6\x30\x35\xc0\xe1\x9e\x16\x81\xd9\x49\xfe\x6e\x96\x8c\x49\xc1\x2b\xa6\xe6\xf0\xe7\x0d\xbd\x7d\xf6\xc3\x29\xa8\x5d\x89\x73\x78\xab\x04\x65\xab\x49\xb0\x3d\x57\x24\x07\x59\x95\x65\xbe\x03\x9e\x45\x44\x4b\xa0\x0c\xf0\x96\x4a\x85\x2c\xc1\xce\xa6\x1b\x22\x40\x69\xf0\xb7\x06\xda\x6f\xd5\xe0\xbe\x4e\x0b\xca\xe0\x35\x51\xeb\x0e\x6c\x8e\xca\x7e\x7e\xab\xb8\x20\x2b\xd4\x8b\x34\x75\xf5\x43\x83\xe5\x4f\x89\xc2\x20\x91\xbd\x58\x8c\x0e\x06\xb1\x0c\x42\xbc\xae\x96\x39\x4d\x2c\x40\xf3\x7f\xef\xfa\x37\x98\x20\xdd\xa0\x18\x00\xa9\x09\xbd\xa9\x58\xa2\x28\x67\xa0\x38\x08\x54\x95\x60\xa0\xd6\x68\x04\x2f\xad\x72\xf5\x63\x6d\x1e\x54\xcb\xb9\x40\xa6\xba\x7c\x6d\x28\x6e\x21\xab\x18\xac\x50\x19\x6a\x17\x1a\xc7\x78\x32\x87\xf7\xfa\xbf\x0f\x70\x67\x40\xf4\x4f\x13\xa8\x77\xb8\x16\x82\xec\xea\xef\x97\xf6\x9f\x8b\x5f\x42\x75\x4e\x0d\xaa\xe7\xe3\xc9\x87\x1a\xda\x93\xe9\x11\x98\x0f\xf7\x27\xfb\x09\xd2\xae\x34\x48\xcb\x46\xef\xf1\x06\x33\xb8\x04\x89\x79\x36\x25\x49\xa2\xed\x70\x9a\x90\x92\x2c\x69\x4e\x15\x45\x39\x5d\x72\x21\xf8\xf6\xe2\x9b\x3e\xea\x66\xa5\x11\xed\x0c\x83\x6f\xe6\xd3\xa4\xde\x47\xff\xae\xae\xa0\x24\x8c\x26\xe3\xd1\x0b\x5e\xe5\x29\x30\xae\xc0\xa2\x05\x02\x02\x33\x14\xda\x66\xb5\x2a\xb4\xd0\x0d\x55\x20\xbc\x7f\x37\xa8\xda\x92\xf0\xe4\x4f\x1b\x46\x87\x64\xa2\xc5\xe1\x30\xea\x95\xe3\x8f\x46\x4a\x73\xd0\x52\x99\xcc\xe1\x9a\xed\xde\x2a\x51\x25\xea\xea\x7f\x54\x42\x21\xef\x9a\xf3\x48\x50\xda\x1f\x0c\x4d\xfe\xa9\x7e\xfb\x8a\x24\x6b\xa8\xb4\x4f\x4b\xc5\x05\x4a\x20\x0c\x28\x93\x8a\x68\x62\x78\x06\x9c\xe5\x3b\x43\x91\x01\xd7\x11\x48\xad\x91\xda\xd5\x64\x85\x51\xdc\xcc\x9c\xc7\x49\xb7\xcc\xc1\x10\x96\xc2\x8a\x6f\x50\x30\x4c\x61\x69\xb1\x95\x02\xcd\xfb\x92\x4b\xa5\x7d\x30\xa5\x06\xb0\x46\x47\x59\x2b\x5b\x99\xe8\xab\xd6\xb8\x33\x71\x37\x21\x79\x8e\xe9\x34\xda\x3d\x59\x63\xf2\x59\xc2\x9a\x94\x25\x32\x20\x0a\x44\xc5\x14\x2d\xd0\x80\xa2\x0e\xf3\xa4\xa6\x50\xc7\xf5\x16\x8e\x1a\x97\xce\x0a\x95\x48\x50\xaf\x60\x96\xff\x25\x42\x22\x90\xe8\x2c\xe0\x38\xd3\x61\x03\x6f\x95\x96\x50\x14\x45\x7c\x5c\xd9\xd5\xe8\x34\xb9\x29\x66\x94\x19\xe0\x53\x90\x46\xc1\x02\x35\x09\x8c\xc3\x96\xec\x20\xe3\x9a\xb6\x82\xe4\x34\xa1\xbc\x92\x56\x1d\x8a\xbb\x3d\xad\x14\x1b\xd1\xf0\xca\x6d\x4b\x19\x10\x2a\xa6\x70\x0d\xb2\xc4\x84\x92\x1c\x4c\xae\x11\xc6\x6c\x34\x07\xc0\x10\x53\xa9\x31\x2d\x1b\x1a\x14\x37\x59\xab\x46\xd7\x64\xb4\x58\x14\xa1\x6f\xd5\x08\x0d\x29\xf3\x58\x35\xd6\x0f\x7c\x0e\x0d\x35\x62\xb2\x11\x2c\x49\xee\x8d\x49\xad\xa9\xb4\x16\x5b\xaf\x6d\x67\x30\xb7\x3a\xce\x5e\xc1\x42\xed\xa3\x76\xa5\xdc\x97\x64\x7a\x21\xca\xe1\x24\xd3\xbb\x5e\xf8\x4c\xd3\x9b\x63\x1a\x7b\xd1\x8e\x28\x8d\x1d\x38\x9a\xa0\x24\x6a\xad\xed\x4e\x60\xe0\xcd\x72\x6d\x1c\x5f\xed\x4a\xaa\x6d\xcf\x98\x95\x71\xba\xb4\x5f\x1a\x41\x90\x7f\x89\x59\x2b\xaf\xea\x88\x1f\x3c\x86\x51\x2d\x88\x0e\x26\xa2\xc9\x1e\xd9\xdc\x0f\xf3\x60\xa5\x14\xb3\xe0\xd5\xe6\x79\x58\x93\x0d\x02\xf1\x4b\xeb\x50\xb9\x3b\x94\x91\x46\x96\x9a\x8f\xe6\x69\x1f\x1b\x65\x57\x63\x47\x72\xf1\xff\xb2\x2e\x22\xbe\x16\x43\x6f\x02\x53\x39\x9c\xa5\xd0\xc0\xfa\x98\xfa\xf2\x9c\x1f\xec\xf0\x3e\x7a\xa9\x7f\xa6\x06\x19\xae\xc7\xa7\x37\x0b\xfd\xf7\xf9\x78\x72\x7a\x04\xe8\x4b\x2a\xcb\x9c\xec\x8e\x84\x36\x31\xe4\x25\x51\xe4\x28\xf8\x45\x53\xf6\x3e\x1f\xc7\x69\xf7\xc3\x43\x72\x3d\xa6\x6e\xd0\x3f\xb9\xa5\x2a\x59\x5b\xb5\xdc\x75\x28\x4e\x88\xc4\xc3\xe5\x3d\xef\xc0\x07\x7a\x7c\x10\xc1\xb8\x17\x5a\xff\x32\xe5\xb4\x32\xf7\xf6\xd6\xf0\xf9\x25\x1a\x9d\x00\x91\x4f\xf6\x13\xe2\x16\x5f\x75\x95\xd7\x10\x53\x2b\xf9\x28\x72\x42\x13\x39\x80\xa0\x7a\xf9\x55\x2f\x45\x93\x63\x55\xd6\x48\xa5\x5f\x6b\xba\xa6\x2c\x30\xa5\x04\x2e\xe3\x36\x7a\xfa\xbb\x7e\x3b\xac\x2c\x23\x23\x9a\xe3\xbc\x05\xf6\xaf\xc5\xe2\xf5\x0d\xcd\x71\x3f\x64\x25\xf2\x39\x8c\xd6\x4a\x95\x72\x3e\x9b\x11\x29\x51\xc9\xe9\x16\x97\x92\x2a\x3c\xd3\x68\xe5\x34\xe1\xc5\xec\xc7\xec\xd9\x77\x3f\xff\x90\x9c\x27\xff\x20\x3f\x25\x69\xfa\xec\x87\xef\x97\x4f\x93\x9f\xbe\x3b\x6f\x7d\x20\x3f\xfe\x98\x2c\x9f\x26\x3f\x7f\xff\xec\xe3\x4d\xce\xb7\x1f\xff\xe2\x22\x2d\x88\xf8\x3c\x95\x9b\xd5\x68\x90\x8e\x1e\xcf\xf5\x3f\x23\x91\x85\xe9\x79\x47\xb4\x20\x2b\x9c\xc9\xcd\xea\xdb\xdb\x22\xef\xc7\xd6\xd5\x4e\x24\x5a\xd9\x2f\x5b\x39\x7e\x6f\x3e\x7f\xe8\x07\x3f\xc4\x9f\x9c\x76\x87\x65\xcd\x48\xa1\x79\x70\x8d\x40\x8d\xcc\x36\xfb\xa3\x61\x01\xc8\x5d\xb1\xe4\x5a\x45\xaf\x6e\x16\x7b\x96\xa5\x28\x13\x41\x4b\x5d\xa3\xce\x61\xb4\xd0\x29\x2b\xf3\x5b\x98\x2a\x4d\x97\x8d\x95\xc4\x14\x88\x29\xd5\x5d\xd3\xa1\xab\xba\x35\xe6\x25\xec\x78\x05\x29\x6e\x30\xe7\xe6\x7f\x01\x4c\x57\xa9\x37\x0b\xf8\x3f\xce\xb4\x26\xa7\x7b\xf6\xc6\x5b\x85\x82\x91\xfc\xcf\x37\xbf\xb5\x6d\xf0\x55\xf3\x69\x5c\x1b\x99\xdb\xfb\x2c\x53\x53\xce\x32\x8d\x9c\x8b\xd5\x68\x8f\x11\xe4\x7c\xc5\xe5\xdc\xa9\x70\x8f\xa8\xb8\x2e\x66\xe5\xbc\x27\xac\x86\xbf\x91\xda\x52\xa5\x50\x8c\x0e\x22\xd6\x2d\x36\x4e\xa0\x69\xfd\xb8\xcc\x79\xf2\x39\x59\x13\xca\x46\xfd\xe6\x02\x26\x67\xf4\xbd\x3d\x3a\x76\x84\x21\x6c\x38\x7a\x04\x1d\x69\xd4\x6f\xfa\xce\xd4\xd5\x73\x7b\x9b\xd2\x4c\xf0\x62\xde\x29\xff\x86\x19\xfd\xb2\xee\xd4\x56\xad\x96\xd0\x01\xe9\x1d\x94\xbc\xbc\x38\x86\xdd\x2d\x2a\xf2\xdb\xec\x0c\x9b\x50\x5c\xb9\x77\x6a\xad\x7d\x71\xca\x92\x18\x00\x36\x75\xe7\x30\x58\x29\xf8\x86\xa6\x7e\xbf\x59\x29\xe8\x86\x28\xec\x8e\x04\x1e\xa6\xf8\x37\xca\x3e\x63\x6a\x23\xa5\x31\xa8\x5e\xf5\xee\x8d\xb4\x96\x83\x47\x23\xf2\x3c\x3d\x1a\x91\x6d\x63\x5f\x15\xa5\xda\x99\xc5\x7e\x30\x37\x87\x71\x56\x31\x5d\xc6\xfe\x72\xd7\xd3\x51\xde\x3f\xe0\xff\xce\xc2\x2e\xce\xea\x11\x48\x7b\xa3\xf1\x1e\xc7\xee\xff\x74\xa4\x67\xc7\xf5\xe7\xb1\xd5\x5c\x80\x65\xd8\x21\xa2\x09\x6f\xa4\x88\xe0\xcb\x01\xbc\xdd\xf7\xb5\x0c\x8c\xe6\x43\xbd\xd5\x0a\x95\xc6\xcd\x85\xc2\xb4\x99\x81\x02\x37\xa9\xca\x74\xb3\xc2\x75\x5f\x04\x72\x2a\xcd\x88\xc2\xb6\x8c\xd1\xc0\x95\xca\xda\xd2\x4d\x15\x5e\xba\xc1\x06\xec\xe9\x76\x7a\xf6\xd5\x46\x73\x67\x4d\xf2\x57\xce\xf3\xb6\xa9\xe8\x28\x2a\x3d\x94\x01\x68\x2d\xbf\x84\xbb\x58\x00\xf1\xea\xf7\xc6\xf1\x57\x68\x36\x1b\x4f\x3e\xc0\x25\x28\x51\x61\x6f\x1f\x17\x01\x1e\xdc\xc4\x51\xd9\xe5\x6a\xac\x6a\x1f\x9b\x58\x42\xf7\xb4\x8e\x43\x72\x79\xaf\x4c\x47\x78\x75\x05\x19\xc9\x25\xf6\xab\x13\x28\xa3\x8a\x92\x9c\xfe\x6d\xe7\x13\x7e\x44\x43\x54\x33\xea\x31\xce\x64\xc6\xe7\xb4\x68\xd0\x68\xc0\x71\x6b\x46\x33\x69\x77\x46\x9a\x3e\x8f\xf2\xd2\x23\xef\x28\x88\xa6\xc8\x14\xcd\x28\x0a\xb8\x84\x51\x27\x54\x8e\xba\x38\x83\xd0\x0f\x97\xe1\xf4\x63\xdc\xe0\x9a\x07\x78\x27\x4f\xba\x38\x9a\x68\x0e\x97\x41\x97\xfe\x05\x18\xc2\x44\x32\x8c\x23\x62\xc8\x4f\x07\x46\x01\xbe\x96\x7f\xfd\x13\x55\xa4\x0a\x37\x58\xdc\x33\x2c\x0b\x3c\xe4\x57\x0b\xa4\xbd\xc2\xaa\x64\x8f\xe1\xb4\xd5\xd1\xa2\x63\x4b\xd5\x3a\x15\x64\x1b\xbe\x8c\x16\x34\xc7\x2a\xc6\xa3\xc9\x67\x3b\x33\xb6\xe7\x5b\xae\x2a\x25\x62\x55\x15\xc8\x54\x04\x48\x58\x5a\x63\x77\xf1\xc0\x01\x99\x53\xbc\x7a\x5e\x3c\x1d\xdc\xfa\xdf\xca\xe5\x12\x1d\x64\xcc\xdc\x12\x8b\x92\x0b\x22\x76\x6e\xd2\xec\x8f\xec\x4c\x81\xac\x4b\x62\x9e\xa7\x11\x06\x73\x00\x64\xcf\xd2\x2c\x01\x02\x61\x89\x94\xad\x40\x09\xc2\x64\x86\x42\x60\x3a\xd5\x1b\x89\x60\x96\xc4\x70\x1b\xc4\x54\x8d\xc7\x4f\x83\xdd\xb6\x3c\x9a\x09\x1b\xcc\x76\xba\x0c\x92\x03\x55\x66\x90\x6c\x46\xb0\x25\xd7\xfd\x58\x4c\x13\xe6\x12\xcd\x84\xaa\x9f\x71\xa7\xf3\x38\x41\xfe\xe5\xe4\x48\x96\x39\xda\x11\x86\x97\x6c\xeb\xa0\x51\x27\xd7\x6e\xba\xde\xef\xb0\xd1\xe3\x99\x53\x52\x9f\x3d\x5d\x9c\x85\x13\xea\x26\x2c\x58\x88\xc9\x90\x89\x39\x31\x7c\x99\x85\x39\x51\xf3\xe5\x7f\x30\x69\x9b\x99\x31\x2d\x92\xa6\x32\x42\x43\x95\xac\xbd\xc9\x69\xa8\xe5\x5c\x7c\xcb\x50\xc8\x03\xac\x8e\x4a\x20\x79\xce\xb7\xd6\xaa\x52\x94\x4a\x70\x7b\x8e\x21\xf5\xf6\x96\xb4\x25\x26\xa4\x92\xd8\x18\x72\xec\x57\x9a\xe4\xc0\x60\xb5\x69\xa2\xf0\x94\xb8\x01\xbc\x99\x9a\xbf\x73\x23\x4a\x4f\xec\x9a\xc4\x7c\x2d\x11\x99\xb6\x35\x59\x15\xba\x0d\x64\xa9\x3d\x4f\xc8\xb8\x39\x17\x71\x86\x66\x28\xf4\xa7\x1b\x03\x26\x55\x8f\xbf\x9c\x42\x5c\xd3\xd0\x5f\x8c\xb5\x83\x7c\xdd\xa8\xc0\xc5\x99\x75\x60\x22\x9f\xf4\xd9\xda\xc1\x96\xf6\xad\xc5\xd7\x09\x50\xfa\x17\x7d\x81\x4b\x38\x9f\x9e\x47\xdf\xbd\x4a\xe2\x70\xd9\x4d\xc2\x0f\x79\x91\x8f\x02\x9d\xe3\x7a\x1f\xf4\xe7\xf0\xa2\x9e\x0d\x5f\x7c\xd3\x92\x94\x0f\xf3\xf7\xcf\xfb\xa4\xe5\x71\xbf\xf3\x52\x33\xdc\x77\xfc\xd6\x3b\x4f\x04\xef\x12\x44\x4f\x2b\x26\x30\xa1\x25\x45\x16\x0e\xb5\x3b\x5b\x7b\xea\x6d\x53\xe9\x9f\x5c\x03\xd9\x53\x25\xef\xe9\x06\xeb\xea\x6d\x2f\x25\xef\x5c\x67\xd8\x66\xe2\xa5\xb5\x34\xb3\xde\x73\xce\x7c\x44\x76\x47\x6b\x21\x1e\xd1\xc7\x51\xc0\xcd\x34\x36\xdd\x8b\xb3\x48\xc8\x83\x11\xa8\xdd\x28\x1c\x18\x8a\xe2\xe4\x63\xf5\xa8\xb9\x00\x12\x46\x96\xbf\x51\xf0\x4e\xe2\xf3\xe9\x84\x36\xd9\x82\xe4\xb9\x4e\x3c\x2e\x6b\x4c\xe1\xda\x9e\xfb\x15\x95\xb4\xd9\xc3\x56\xcb\xfe\xc4\xb2\x83\xd1\xf4\xe0\x4e\x60\x1a\x77\x9d\x8d\xda\x47\xb4\xfa\x05\x17\xa9\x3d\x52\x34\x61\xcc\x7e\x8f\x31\xda\xd9\x82\x3b\x2b\x24\x76\xdc\xe4\x25\xed\x03\x84\xac\xcf\xf0\xec\x28\x4a\x97\x9a\x87\x45\x98\x6e\x67\x76\x48\x5e\x7a\x20\xcd\x9c\x4f\xcf\x07\x34\x0c\x8b\x3f\x5e\xfe\x31\x87\x37\xb8\xa1\xda\xda\x68\x06\x02\x0b\xbe\x21\xb9\x66\x20\xa9\xa4\xe2\x85\x0d\x19\x55\xa2\xb8\x90\x50\x12\x29\x31\x8c\xb2\xf0\x16\x11\xfc\xe8\x68\x45\xd5\xba\x5a\x9a\xc9\x91\x9d\x73\xcd\xb2\x9c\x96\x72\x56\x56\x79\x3e\x7b\xfa\xfd\xd3\x1a\xce\x45\xa1\x71\xdb\xfb\x69\x16\x47\xba\xe7\x9a\xf4\x9e\xee\x76\xa8\x9d\x6b\x0f\x82\xc2\x4f\x67\xfd\x55\x1d\x44\x2d\x9e\xfd\x2f\xb8\x0b\x60\x0f\x8a\x4f\x60\xe0\xe8\xdb\xa7\x59\x9b\x80\x8d\xae\x89\xb9\x3c\xe4\xcc\xc4\x1e\x8d\xeb\x14\xe6\x8f\x93\xbf\xec\x18\xd9\x9d\x53\xdf\x45\x26\xa8\xd1\xd8\x7b\x4e\x07\xba\xa3\x06\x90\xc1\xc6\xa7\xa6\x06\xd0\xc6\x5d\x78\x27\x53\xc1\x75\xaa\xd3\x41\xa7\x0c\x21\xda\x6e\x79\x90\x79\x37\xa4\x1f\x53\x7e\x95\x02\x7b\x8c\xc1\xd5\xc6\xc6\x56\xe6\x30\xba\xb6\x8f\xf6\xc2\x99\x0d\x12\x4b\x84\x95\x71\x0c\xa1\xe5\xc1\x4c\xe0\x19\xed\x69\xf2\x8f\x31\xaf\x6f\xfb\xca\x3f\x2c\xe8\xc0\xed\x36\xfb\xd7\xdf\x6e\x8b\xbb\xe8\x69\xd0\x56\x3d\xae\x9a\x6c\x19\x73\x6f\x34\x0f\xcd\xfa\x51\x51\xfc\xeb\x46\xf0\xaf\x1b\xbd\xbf\x42\xe4\xee\xf3\xd3\xe3\x22\x76\xad\x46\x78\x20\x5c\xdf\xf7\xdd\xd1\xd3\x9a\x71\xf1\xb3\xa9\xf6\xfd\x45\xa4\x53\xc0\x2c\xc3\x44\xd1\x0d\xe6\x3b\x58\x56\x82\x99\x96\xad\x29\x9c\x3b\x2a\xff\xa5\x24\x82\x14\x60\xcb\x82\xba\xaa\x0e\xa6\x1b\x9c\x29\x42\x5b\x68\x8c\x0c\x2b\xc1\x5a\xd8\x1e\x91\x4d\x8e\xc9\x24\x6d\x4d\x68\x8a\x5c\x70\x71\x05\x7a\x57\x0d\x61\xc6\xf1\xb5\xb0\x5e\x1c\xca\xdb\x8c\x6e\xc2\x85\xc6\x3d\xe3\x38\xf0\xf4\xfc\x5c\x97\xd6\xf1\x92\xf6\xc5\x50\xb8\x84\x99\xb3\xce\x68\xc2\x6d\xef\x97\x46\x79\xf8\x85\xb5\x84\xe6\x2e\x98\x71\xb4\x76\x64\x36\xc6\xe9\x2e\xd5\x6a\xdf\x20\x1b\xd4\x6e\x46\x59\x74\xcb\xcc\xa2\xac\xff\x8d\x1a\x90\x7e\x8b\x6b\x33\x38\x89\xf9\x6a\x5f\x55\x85\x4b\xd7\x67\x0c\x5c\xb8\x79\xd2\x03\xfe\x3a\x1c\x27\xb5\xa1\xc3\x5b\x2e\x2d\xe0\xee\x25\xd6\x1e\xf8\xf8\x52\xc9\x93\x96\x5a\xda\xc7\x41\x5a\x6c\x63\x37\x0d\x3f\x05\xc5\xe7\xfd\x5c\x4e\xfa\x14\xd4\x73\xf3\xa5\x75\xd6\x13\x0c\x58\xf0\xb6\xe4\xad\x72\x49\x2f\xfc\xe4\x62\xcd\x27\x28\x50\xad\xb9\x6d\x4d\x57\xa8\xae\xcd\x98\xd7\x0d\x48\xfd\x37\xb5\x16\xbc\x5a\x59\x53\xf8\xe4\xf9\xfc\x04\xa6\x2e\xc8\x48\x12\x6a\xdc\xb7\xb8\xf0\x29\x9c\x74\x7d\xea\xc5\xe4\x3e\xf7\x23\x8a\x4c\x27\x34\xdc\x17\xa4\xdc\x7b\xfb\xd3\x4b\x98\x4a\x59\x61\xa7\xeb\xb3\xfd\xf1\xf3\xf1\x80\xb4\x7b\x75\x16\xa1\x37\xa2\x97\xeb\x71\x8b\xa4\x53\x20\x6a\xde\x6b\x6a\x93\x88\x13\xdf\x0e\x3d\x8e\x8b\xa6\x77\x7d\x3c\x23\x01\x45\x01\x13\x5d\x93\x0f\x4c\x51\x33\x62\x4b\xcc\xc6\x9b\x6d\x95\x38\x1e\xd8\xb9\x65\xf6\x06\x38\x30\xfb\x76\xd0\xf2\xa9\xe7\xfe\xe4\xbf\x01\x00\x00\xff\xff\xeb\x71\xcb\x40\x0d\x31\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x5b\x72\x7a\xc9\xb6\x1a\x3b\x6e\x9a\xc4\xbb\x3b\xd3\x4e\x33\x89\x9a\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x1d\xdc\x48\x80\x17\x59\x96\xf3\xb4\x7a\xb1\x49\xe2\x1c\x9c\xfb\x0d\xa0\x45\xc9\x85\x82\xeb\x8a\xad\xe8\x32\xc7\x05\xff\x82\x0c\x32\xc1\x0b\x18\x45\xef\x46\x27\x6e\xe5\xef\xa8\x48\x4a\x14\x79\x4f\x71\x2b\xdd\xca\xe8\x5d\xbd\x32\x82\xef\x03\x1b\x5e\x50\xe3\xd0\x4f\x6f\x51\xf2\x7c\x83\xc2\x41\x85\xaf\x46\x27\xb3\x19\x78\xc2\xaa\x5c\xd1\x32\xc7\xf7\xa4\xca\x55\x4d\x59\xf4\x72\x74\x72\x42\x92\x04\xa5\x1c\x93\x3c\x9f\x40\xc2\x99\x12\x24\x51\xf0\xfa\x86\x14\xa5\xa3\x63\x1e\xef\x79\x7b\x72\x02\x00\x30\x9b\xcd\x60\xb1\x46\xc0\x0d\x32\x05\x6a\x4d\x14\x50\x09\x58\x50\xa5\x30\x85\xed\x1a\x19\x30\xdc\x82\xd2\x18\x24\x10\x81\x50\x50\xa6\x30\x35\xc0\xe1\x9e\x16\x81\xd9\x49\xfe\x6e\x96\x8c\x49\xc1\x2b\xa6\xe6\xf0\xe7\x35\xbd\x79\xf6\xc3\x29\xa8\x5d\x89\x73\x78\xa7\x04\x65\xab\x49\xb0\x3d\x57\x24\x07\x59\x95\x65\xbe\x03\x9e\x45\x44\x4b\xa0\x0c\xf0\x86\x4a\x85\x2c\xc1\xce\xa6\x1b\x22\x40\x69\xf0\x77\x06\xda\x6f\xd5\xe0\x7e\x91\x16\x94\xc1\x1b\xa2\xd6\x1d\xd8\x1c\x95\xfd\xfc\x4e\x71\x41\x56\xa8\x17\x69\xea\xea\x87\x06\xcb\x9f\x12\x85\x41\x22\x7b\xb1\x18\x1d\x0c\x62\x19\x84\x78\x53\x2d\x73\x9a\x58\x80\xe6\xff\xde\xf5\x6f\x31\x41\xba\x41\x31\x00\x52\x13\x7a\x5d\xb1\x44\x51\xce\x40\x71\x10\xa8\x2a\xc1\x40\xad\xd1\x08\x5e\x5a\xe5\xea\xc7\xda\x3c\xa8\x96\x73\x81\x4c\x75\xf9\xda\x50\xdc\x42\x56\x31\x58\xa1\x32\xd4\x2e\x34\x8e\xf1\x64\x0e\x1f\xf4\x7f\x1f\xe1\xd6\x80\xe8\x9f\x26\x50\xef\xf0\x42\x08\xb2\xab\xbf\x5f\xda\x7f\x2e\x7e\x09\xd5\x39\x35\xa8\x9e\x8f\x27\x1f\x6b\x68\x4f\xa6\x47\x60\x3e\xdc\x9d\xec\x27\x48\xbb\xd2\x20\x2d\x1b\xbd\xc7\x5b\xcc\xe0\x12\x24\xe6\xd9\x94\x24\x89\xb6\xc3\x69\x42\x4a\xb2\xa4\x39\x55\x14\xe5\x74\xc9\x85\xe0\xdb\x8b\x6f\xfa\xa8\x9b\x95\x46\xb4\x33\x0c\xbe\x99\x4f\x93\x7a\x1f\xfd\xbb\xba\x82\x92\x30\x9a\x8c\x47\x2f\x79\x95\xa7\xc0\xb8\x02\x8b\x16\x08\x08\xcc\x50\x68\x9b\xd5\xaa\xd0\x42\x37\x54\x81\xf0\xfe\xdd\xa0\x6a\x4b\xc2\x93\x3f\x6d\x18\x1d\x92\x89\x16\x87\xc3\xa8\x57\x8e\x3f\x19\x29\xcd\x41\x4b\x65\x32\x87\x17\x6c\xf7\x4e\x89\x2a\x51\x57\xff\xa3\x12\x0a\x79\xd7\x9c\x47\x82\xd2\xfe\x60\x68\xf2\x4f\xf5\xdb\xd7\x24\x59\x43\xa5\x7d\x5a\x2a\x2e\x50\x02\x61\x40\x99\x54\x44\x13\xc3\x33\xe0\x2c\xdf\x19\x8a\x0c\xb8\x8e\x40\x6a\x8d\xd4\xae\x26\x2b\x8c\xe2\x66\xe6\x3c\x4e\xba\x65\x0e\x86\xb0\x14\x56\x7c\x83\x82\x61\x0a\x4b\x8b\xad\x14\x68\xde\x97\x5c\x2a\xed\x83\x29\x35\x80\x35\x3a\xca\x5a\xd9\xca\x44\x5f\xb5\xc6\x9d\x89\xbb\x09\xc9\x73\x4c\xa7\xd1\xee\xc9\x1a\x93\x2f\x12\xd6\xa4\x2c\x91\x01\x51\x20\x2a\xa6\x68\x81\x06\x14\x75\x98\x27\x35\x85\x3a\xae\xb7\x70\xd4\xb8\x74\x56\xa8\x44\x82\x7a\x05\xb3\xfc\x2f\x11\x12\x81\x44\x67\x01\xc7\x99\x0e\x1b\x78\xa3\xb4\x84\xa2\x28\xe2\xe3\xca\xae\x46\xa7\xc9\x4d\x31\xa3\xcc\x00\x9f\x82\x34\x0a\x16\xa8\x49\x60\x1c\xb6\x64\x07\x19\xd7\xb4\x15\x24\xa7\x09\xe5\x95\xb4\xea\x50\xdc\xed\x69\xa5\xd8\x88\x86\x57\x6e\x5b\xca\x80\x50\x31\x85\x17\x20\x4b\x4c\x28\xc9\xc1\xe4\x1a\x61\xcc\x46\x73\x00\x0c\x31\x95\x1a\xd3\xb2\xa1\x41\x71\x93\xb5\x6a\x74\x4d\x46\x8b\x45\x11\xfa\x56\x8d\xd0\x90\x32\x8f\x55\x63\xfd\xc0\xe7\xd0\x50\x23\x26\x1b\xc1\x92\xe4\xde\x98\xd4\x9a\x4a\x6b\xb1\xf5\xda\x76\x06\x73\xab\xe3\xec\x15\x2c\xd4\x3e\x6a\x57\xca\x7d\x49\xa6\x17\xa2\x1c\x4e\x32\xbd\xeb\x85\xcf\x34\xbd\x39\xa6\xb1\x17\xed\x88\xd2\xd8\x81\xa3\x09\x4a\xa2\xd6\xda\xee\x04\x06\xde\x2c\xd7\xc6\xf1\xd5\xae\xa4\xda\xf6\x8c\x59\x19\xa7\x4b\xfb\xa5\x11\x04\xf9\x57\x98\xb5\xf2\xaa\x8e\xf8\xc1\x63\x18\xd5\x82\xe8\x60\x22\x9a\xec\x91\xcd\xdd\x30\x0f\x56\x4a\x31\x0b\x5e\x6d\x9e\x87\x35\xd9\x20\x10\xbf\xb4\x0e\x95\xbb\x43\x19\x69\x64\xa9\xf9\x68\x9e\xf6\xb1\x51\x76\x35\x76\x24\x17\xff\x2f\xeb\x22\xe2\x6b\x31\xf4\x36\x30\x95\xc3\x59\x0a\x0d\xac\x8f\xa9\x87\xe7\xfc\x60\x87\x0f\xd1\x4b\xfd\x33\x35\xc8\x70\x3d\x3e\xbd\x5e\xe8\xbf\xcf\xc7\x93\xd3\x23\x40\x5f\x51\x59\xe6\x64\x77\x24\xb4\x89\x21\xaf\x88\x22\x47\xc1\x2f\x9a\xb2\xf7\xf9\x38\x4e\xbb\x1f\xef\x93\xeb\x31\x75\x83\xfe\xc9\x2d\x55\xc9\xda\xaa\xe5\xb6\x43\x71\x42\x24\x1e\x2e\xef\x79\x07\x3e\xd0\xe3\xbd\x08\xc6\xbd\xd0\xfa\x97\x29\xa7\x95\xb9\xb7\xb7\x86\xcf\x87\x68\x74\x02\x44\x3e\xd9\x4f\x88\x5b\x7c\xd5\x55\x5e\x43\x4c\xad\xe4\xa3\xc8\x09\x4d\xe4\x00\x82\xea\xe5\x57\xbd\x14\x4d\x8e\x55\x59\x23\x95\x7e\xad\xe9\x9a\xb2\xc0\x94\x12\xb8\x8c\xdb\xe8\xe9\xef\xfa\xed\xb0\xb2\x8c\x8c\x68\x8e\xf3\x16\xd8\xbf\x16\x8b\x37\xd7\x34\xc7\xfd\x90\x95\xc8\xe7\x30\x5a\x2b\x55\xca\xf9\x6c\x46\xa4\x44\x25\xa7\x5b\x5c\x4a\xaa\xf0\x4c\xa3\x95\xd3\x84\x17\xb3\x1f\xb3\x67\xdf\xfd\xfc\x43\x72\x9e\xfc\x83\xfc\x94\xa4\xe9\xb3\x1f\xbe\x5f\x3e\x4d\x7e\xfa\xee\xbc\xf5\x81\xfc\xf8\x63\xb2\x7c\x9a\xfc\xfc\xfd\xb3\x4f\xd7\x39\xdf\x7e\xfa\x8b\x8b\xb4\x20\xe2\xcb\x54\x6e\x56\xa3\x41\x3a\x7a\x3c\xd7\xff\x8c\x44\x16\xa6\xe7\x1d\xd1\x82\xac\x70\x26\x37\xab\x6f\x6f\x8a\xbc\x1f\x5b\x57\x3b\x91\x68\x65\xbf\x6c\xe5\xf8\x83\xf9\xfc\xb1\x1f\xfc\x10\x7f\x72\xda\x1d\x96\x35\x23\x85\xe6\xc1\x35\x02\x35\x32\xdb\xec\x8f\x86\x05\x20\x77\xc5\x92\x6b\x15\xbd\xbe\x5e\xec\x59\x96\xa2\x4c\x04\x2d\x75\x8d\x3a\x87\xd1\x42\xa7\xac\xcc\x6f\x61\xaa\x34\x5d\x36\x56\x12\x53\x20\xa6\x54\x77\x4d\x87\xae\xea\xd6\x98\x97\xb0\xe3\x15\xa4\xb8\xc1\x9c\x9b\xff\x05\x30\x5d\xa5\x5e\x2f\xe0\xff\x38\xd3\x9a\x9c\xee\xd9\x1b\x6f\x14\x0a\x46\xf2\x3f\xdf\xfe\xd6\xb6\xc1\xd7\xcd\xa7\x71\x6d\x64\x6e\xef\xb3\x4c\x4d\x39\xcb\x34\x72\x2e\x56\xa3\x3d\x46\x90\xf3\x15\x97\x73\xa7\xc2\x3d\xa2\xe2\xba\x98\x95\xf3\x9e\xb0\x1a\xfe\x46\x6a\x4b\x95\x42\x31\x3a\x88\x58\xb7\xd8\x38\x81\xa6\xf5\xd3\x32\xe7\xc9\x97\x64\x4d\x28\x1b\xf5\x9b\x0b\x98\x9c\xd1\xf7\xf6\xe8\xd8\x11\x86\xb0\xe1\xe8\x11\x74\xa4\x51\xbf\xe9\x3b\x53\x57\xcf\xed\x6d\x4a\x33\xc1\x8b\x79\xa7\xfc\x1b\x66\xf4\x61\xdd\xa9\xad\x5a\x2d\xa1\x03\xd2\x3b\x28\x79\x79\x71\x0c\xbb\x5b\x54\xe4\xb7\xd9\x19\x36\xa1\xb8\x72\xef\xd4\x5a\xfb\xe2\x94\x25\x31\x00\x6c\xea\xce\x61\xb0\x52\xf0\x0d\x4d\xfd\x7e\xb3\x52\xd0\x0d\x51\xd8\x1d\x09\xdc\x4f\xf1\x6f\x94\x7d\xc1\xd4\x46\x4a\x63\x50\xbd\xea\xdd\x1b\x69\x2d\x07\x8f\x46\xe4\x79\x7a\x34\x22\xdb\xc6\xbe\x2e\x4a\xb5\x33\x8b\xfd\x60\x6e\x0e\xe3\xac\x62\xba\x8c\xfd\xe5\xb6\xa7\xa3\xbc\xbb\xc7\xff\x9d\x85\x5d\x9c\xd5\x23\x90\xf6\x46\xe3\x3d\x8e\xdd\xff\xe9\x48\xcf\x8e\xeb\xcf\x63\xab\xb9\x00\xcb\xb0\x43\x44\x13\xde\x48\x11\xc1\x97\x03\x78\xbb\xeb\x6b\x19\x18\xcd\x87\x7a\xab\x15\x2a\x8d\x9b\x0b\x85\x69\x33\x03\x05\x6e\x52\x95\xe9\x66\x85\xeb\xbe\x08\xe4\x54\x9a\x11\x85\x6d\x19\xa3\x81\x2b\x95\xb5\xa5\x9b\x2a\xbc\x74\x83\x0d\xd8\xd3\xed\xf4\xec\xab\x8d\xe6\xd6\x9a\xe4\xaf\x9c\xe7\x6d\x53\xd1\x51\x54\x7a\x28\x03\xd0\x5a\x7e\x09\xb7\xb1\x00\xe2\xd5\x1f\x8c\xe3\xaf\xd0\x6c\x36\x9e\x7c\x84\x4b\x50\xa2\xc2\xde\x3e\x2e\x02\x3c\xb8\x89\xa3\xb2\xcb\xd5\x58\xd5\x3e\x36\xb1\x84\xee\x69\x1d\x87\xe4\xf2\x41\x99\x8e\xf0\xea\x0a\x32\x92\x4b\xec\x57\x27\x50\x46\x15\x25\x39\xfd\xdb\xce\x27\xfc\x88\x86\xa8\x66\xd4\x63\x9c\xc9\x8c\xcf\x69\xd1\xa0\xd1\x80\xe3\xd6\x8c\x66\xd2\xee\x8c\x34\x7d\x1e\xe5\xa5\x47\xde\x51\x10\x4d\x91\x29\x9a\x51\x14\x70\x09\xa3\x4e\xa8\x1c\x75\x71\x06\xa1\x1f\x2e\xc3\xe9\xc7\xb8\xc1\x35\x0f\xf0\x4e\x9e\x74\x71\x34\xd1\x1c\x2e\x83\x2e\xfd\x01\x18\xc2\x44\x32\x8c\x23\x62\xc8\x4f\x07\x46\x01\xbe\x96\x7f\xfd\x13\x55\xa4\x0a\x37\x58\xdc\x33\x2c\x0b\x3c\xe4\x57\x0b\xa4\xbd\xc2\xaa\x64\x8f\xe1\xb4\xd5\xd1\xa2\x63\x4b\xd5\x3a\x15\x64\x1b\xbe\x8c\x16\x34\xc7\x2a\xc6\xa3\xc9\x17\x3b\x33\xb6\xe7\x5b\xae\x2a\x25\x62\x55\x15\xc8\x54\x04\x48\x58\x5a\x63\x77\xf1\xc0\x01\x99\x53\xbc\x7a\x5e\x3c\x1d\xdc\xfa\xdf\xca\xe5\x12\x1d\x64\xcc\xdc\x12\x8b\x92\x0b\x22\x76\x6e\xd2\xec\x8f\xec\x4c\x81\xac\x4b\x62\x9e\xa7\x11\x06\x73\x00\x64\xcf\xd2\x2c\x01\x02\x61\x89\x94\xad\x40\x09\xc2\x64\x86\x42\x60\x3a\xd5\x1b\x89\x60\x96\xc4\x70\x1b\xc4\x54\x8d\xc7\x4f\x83\xdd\xb6\x3c\x9a\x09\x1b\xcc\x76\xba\x0c\x92\x03\x55\x66\x90\x6c\x46\xb0\x25\xd7\xfd\x58\x4c\x13\xe6\x12\xcd\x84\xaa\x9f\x71\xa7\xf3\x38\x41\xfe\xe5\xe4\x48\x96\x39\xda\x11\x86\x97\x6c\xeb\xa0\x51\x27\xd7\x6e\xba\xde\xef\xb0\xd1\xe3\x99\x53\x52\x9f\x3d\x5d\x9c\x85\x13\xea\x26\x2c\x58\x88\xc9\x90\x89\x39\x31\x3c\xcc\xc2\x9c\xa8\xf9\xf2\x3f\x98\xb4\xcd\xcc\x98\x16\x49\x53\x19\xa1\xa1\x4a\xd6\xde\xe4\x34\xd4\x72\x2e\xbe\x65\x28\xe4\x01\x56\x47\x25\x90\x3c\xe7\x5b\x6b\x55\x29\x4a\x25\xb8\x3d\xc7\x90\x7a\x7b\x4b\xda\x12\x13\x52\x49\x6c\x0c\x39\xf6\x2b\x4d\x72\x60\xb0\xda\x34\x51\x78\x4a\xdc\x00\xde\x4c\xcd\xdf\xbb\x11\xa5\x27\x76\x4d\x62\xbe\x96\x88\x4c\xdb\x9a\xac\x0a\xdd\x06\xb2\xd4\x9e\x27\x64\xdc\x9c\x8b\x38\x43\x33\x14\xfa\xd3\x8d\x01\x93\xaa\xc7\x5f\x4e\x21\xae\x69\xe8\x2f\xc6\xda\x41\xbe\x6e\x54\xe0\xe2\xcc\x3a\x30\x91\x4f\xfa\x6c\xed\x60\x4b\xfb\xd6\xe2\xeb\x04\x28\xfd\x8b\xbe\xc0\x25\x9c\x4f\xcf\xa3\xef\x5e\x25\x71\xb8\xec\x26\xe1\xfb\xbc\xc8\x47\x81\xce\x71\xbd\x0f\xfa\x73\x78\x59\xcf\x86\x2f\xbe\x69\x49\xca\x87\xf9\xbb\xe7\x7d\xd2\xf2\xb8\xdf\x7b\xa9\x19\xee\x3b\x7e\xeb\x9d\x27\x82\x77\x09\xa2\xa7\x15\x13\x98\xd0\x92\x22\x0b\x87\xda\x9d\xad\x3d\xf5\xb6\xa9\xf4\x4f\xae\x81\xec\xa9\x92\xf7\x74\x83\x75\xf5\xb6\x97\x92\xf7\xae\x33\x6c\x33\xf1\xca\x5a\x9a\x59\xef\x39\x67\x3e\x22\xbb\xa3\xb5\x10\x8f\xe8\xe3\x28\xe0\x66\x1a\x9b\xee\xc5\x59\x24\xe4\xc1\x08\xd4\x6e\x14\x0e\x0c\x45\x71\xf2\xb1\x7a\xd4\x5c\x00\x09\x23\xcb\xdf\x28\x78\x27\xf1\xf9\x74\x42\x9b\x6c\x41\xf2\x5c\x27\x1e\x97\x35\xa6\xf0\xc2\x9e\xfb\x15\x95\xb4\xd9\xc3\x56\xcb\xfe\xc4\xb2\x83\xd1\xf4\xe0\x4e\x60\x1a\x77\x9d\x8d\xda\x47\xb4\xfa\x05\x17\xa9\x3d\x52\x34\x61\xcc\x7e\x8f\x31\xda\xd9\x82\x3b\x2b\x24\x76\xdc\xe4\x25\xed\x03\x84\xac\xcf\xf0\xec\x28\x4a\x97\x9a\x87\x45\x98\x6e\x67\x76\x48\x5e\xba\x27\xcd\x9c\x4f\xcf\x07\x34\x0c\x8b\x3f\x5e\xfd\x31\x87\xb7\xb8\xa1\xda\xda\x68\x06\x02\x0b\xbe\x21\xb9\x66\x20\xa9\xa4\xe2\x85\x0d\x19\x55\xa2\xb8\x90\x50\x12\x29\x31\x8c\xb2\xf0\x0e\x11\xfc\xe8\x68\x45\xd5\xba\x5a\x9a\xc9\x91\x9d\x73\xcd\xb2\x9c\x96\x72\x56\x56\x79\x3e\x7b\xfa\xfd\xd3\x1a\xce\x45\xa1\x71\xdb\xfb\x69\x16\x47\xba\xe7\x9a\xf4\x9e\xee\x76\xa8\x9d\x6b\x0f\x82\xc2\x4f\x67\xfd\x55\x1d\x44\x2d\x9e\xfd\x2f\xb8\x0b\x60\x0f\x8a\x4f\x60\xe0\xe8\xdb\xa7\x59\x9b\x80\x8d\xae\x89\xb9\x3c\xe4\xcc\xc4\x1e\x8d\xeb\x14\xe6\x8f\x93\x1f\x76\x8c\xec\xce\xa9\x6f\x23\x13\xd4\x68\xec\x3d\xa7\x03\xdd\x51\x03\xc8\x60\xe3\x53\x53\x03\x68\xe3\x2e\xbc\x93\xa9\xe0\x3a\xd5\xe9\xa0\x53\x86\x10\x6d\xb7\x3c\xc8\xbc\x1b\xd2\x8f\x29\xbf\x8e\x51\xfb\xb7\x7d\x65\x19\x16\x74\xe0\xd6\x99\xfd\xeb\x6f\x9d\xc5\xdd\xed\x34\x68\x77\x1e\x57\xe5\xb5\x8c\xac\x37\xca\x86\xe6\xf6\xa8\xe8\xfa\x75\x23\xeb\xd7\x8d\xaa\x5f\x21\xa2\xf6\xf9\xcf\x71\x91\xb4\x56\x23\xdc\x13\x46\xef\xfa\xee\xce\x69\xcd\xb8\xb8\xd6\x54\xe1\xfe\x82\xd0\x29\x60\x96\x61\xa2\xe8\x06\xf3\x1d\x2c\x2b\xc1\x4c\x2b\xd5\x14\xb4\x1d\x95\xff\x52\x12\x41\x0a\xb0\xe9\xba\xae\x76\x83\xa9\x03\x67\x8a\xd0\x16\x1a\x23\xc3\x4a\xb0\x16\xb6\x47\x44\xf9\x63\x22\x7c\x5b\x13\x9a\x22\xe7\xf4\xae\x70\xee\xaa\x21\xcc\x04\xbe\x46\xd5\x8b\x43\x79\x9b\x91\x4a\xb8\xd0\xb8\x67\x1c\x07\x9e\x9e\x9f\xeb\x92\x37\x5e\xd2\xbe\xb0\x09\x97\x30\x73\xd6\x19\x4d\x9e\xed\xbd\xcf\x28\x3f\xbe\xb4\x96\xd0\xdc\xd1\x32\x8e\xd6\x8e\x98\xc6\x38\xdd\x65\x57\xed\x1b\x64\x83\xda\xcd\x28\x8b\x6e\x7f\x59\x94\xf5\xbf\x51\x63\xd0\x6f\x71\x6d\x06\x27\x31\x5f\xed\x2b\xa4\x70\xe9\xea\xff\x81\x8b\x30\x4f\x7a\xc0\xdf\x84\x63\x9e\x36\x74\x78\xfb\xa4\x05\xdc\xbd\x5c\xda\x03\x1f\x5f\xf6\x78\xd2\x52\x4b\xfb\x98\x46\x8b\x6d\xec\xa6\xd4\xa7\xa0\xf8\xbc\x9f\xcb\x49\x9f\x82\x7a\x6e\xa4\xb4\xce\x60\x82\xc1\x07\xde\x94\xbc\x55\xc6\xe8\x85\x9f\x5d\xac\xf9\x0c\x05\xaa\x35\xb7\x2d\xe3\x0a\xd5\x0b\x33\x7e\x75\x83\x4b\xff\x4d\xad\x05\xaf\x56\xd6\x14\x3e\x7b\x3e\x3f\x83\xc9\xd7\x19\x49\x42\x8d\xfb\xd6\x13\x3e\x87\x13\xa8\xcf\xbd\x98\xdc\xe7\x7e\x44\x91\xe9\x84\x86\xfb\x92\x94\x7b\x6f\x65\x7a\x09\x53\x29\x2b\xbc\xf8\xc6\x9d\x44\x0c\x48\xb7\x57\x47\x11\x3a\x23\x6a\xb9\x1e\xb7\x48\x38\x05\xa2\xe6\xbd\xa6\x35\x89\x28\xf7\x6d\xc9\x03\xa9\x1e\xec\x21\x1f\xcf\x48\x40\x51\xc0\x44\xd7\xc4\x03\xd3\xd3\x8c\xd8\x52\xaf\xf1\x5e\x5b\xad\x8d\x07\x76\x6e\x99\xb9\x01\x0e\xcc\xbc\x1d\xa4\x7c\xaa\xb9\x3b\xf9\x6f\x00\x00\x00\xff\xff\x3c\x94\x64\x1a\x95\x30\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,7 +97,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0xc6, 0x7a, 0xa6, 0xbe, 0x8, 0x9f, 0xf3, 0x66, 0xfc, 0xe8, 0xd3, 0x22, 0x4c, 0xf6, 0xe0, 0x74, 0x37, 0x31, 0x17, 0x5f, 0x48, 0x67, 0xf4, 0xf, 0xd4, 0xfc, 0xec, 0x60, 0x27, 0x64, 0xd3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x40, 0x45, 0x66, 0x78, 0x53, 0x40, 0x1a, 0x39, 0xff, 0xec, 0x67, 0x57, 0x38, 0x71, 0x5a, 0x26, 0x7d, 0xea, 0x24, 0x28, 0x84, 0x4d, 0x19, 0xee, 0x6e, 0x77, 0x9e, 0x7f, 0x49, 0xe0, 0x49, 0xa4}}
 	return a, nil
 }
 
@@ -121,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x73\xdb\x36\x12\x7f\xe7\xa7\xd8\x71\x67\x2e\x52\x4f\x95\xf2\x70\x73\x0f\x9a\x26\x6e\xd2\xd6\x37\x7d\xe9\x74\x6a\x5f\xf3\xd0\xb9\x39\x41\xe4\x52\x44\x43\x02\x2c\x00\x4a\xd1\x79\xfc\xdd\x6f\x76\x01\xf0\x9f\x28\x5b\x76\x9b\x87\xbb\x3c\x24\x36\x49\xec\x2e\x16\xbf\xdd\xfd\xed\x22\xab\x2f\xbf\x4c\x92\x2f\xe0\xae\x40\xb8\x29\xf5\x01\x6e\x1a\xb5\x93\xdb\x12\xe1\x4e\x7f\x44\x05\xd6\x09\x95\x09\x93\x25\xc9\x17\x5f\xc0\x26\xbe\xe4\x77\x1b\x48\xb5\x72\x46\xa4\x2e\x49\x78\xf9\xf4\x4a\x90\x16\x94\x86\x52\xab\x1d\x1a\x10\x0a\xa4\x72\x68\x72\x91\x62\xe2\x0a\xe1\x40\x94\x25\xe4\x71\xa9\xe3\xa5\x51\xae\x85\x83\x6e\xca\x0c\x0a\xb1\xa7\x57\xf4\x3c\xd7\xa6\x02\xa7\x97\x49\xf2\x43\x0e\x02\x1a\x8b\xc6\xc2\x41\x28\x67\xe9\x83\x0c\xeb\x52\x1f\x41\x80\xc2\xc3\x48\xd6\x02\x5c\x81\xd2\x74\x36\x67\x1a\xc9\x30\x07\x0a\x31\xa3\xc5\xb2\xaa\x4b\xac\x50\x39\xfa\x12\x06\x5b\xed\x6c\x5e\xc0\xb6\x71\x41\x14\x2b\xb0\x49\xa6\xcf\x88\x68\x17\x59\xc8\x30\x97\x0a\x33\x90\x0a\x5c\x21\x6d\x6b\xc5\xd2\xfb\xf5\x17\xd1\x94\x6e\x03\x06\xad\x6e\x4c\xda\x5b\x99\x24\xdf\x8b\xb4\x18\xfb\xa7\xfd\xce\x1d\x6b\x64\xe5\xf6\x54\xfb\x79\xa1\x41\xe9\x4f\x46\xef\x65\x86\x66\xb3\x80\xcd\xcf\x98\xa2\xdc\xf3\xcf\x42\x65\xb0\x79\x2f\x4a\xa1\x52\x9c\x5a\x6d\xf9\xb4\xed\x68\x7b\x69\x29\x0c\x42\x6d\xf0\xab\x54\xab\x4c\x3a\xa9\x95\x65\x51\xb5\xb6\xae\xff\x8c\xcf\xdc\xa0\x75\x46\xa6\x2e\x21\x43\xf1\x13\xa6\x0d\xbd\x04\x9d\xb3\xe5\x79\xa3\x52\xff\x31\xbb\x0b\x81\x77\xb2\x64\xbd\x47\x20\x3d\x16\x6b\x61\x84\x43\xd8\x62\x2a\x1a\xb2\xc5\xc1\x4e\xee\xd1\xf2\xe7\x04\x0a\xfe\x41\x6c\x65\x29\xdd\x91\x7c\x63\x0b\x61\x30\x11\x60\x30\x47\x83\x2a\x65\x3c\xf9\x63\x64\xe9\xde\x2e\xad\xca\x23\xe0\xa7\x5a\xdb\x20\x2a\x97\x58\x66\xb6\xb3\x28\x91\x0a\xb4\x42\xd0\x06\x2a\x6d\x30\x5a\xdc\xb9\x82\x80\x49\x98\xb6\x3a\x18\xe4\x11\x3a\xb2\xa6\x12\x1f\x11\xd2\xc6\x3a\x5d\xb5\x1e\x0e\xae\x69\x0f\x91\x7c\x33\xf4\x32\x01\x5c\xc3\x5e\x18\xa9\x1b\xfa\x5a\xaa\x9d\x85\x83\x74\x05\x8b\xf7\x68\x5c\x26\x37\xda\x00\x7e\x12\x24\x66\x01\x02\x72\xd1\xa4\xe8\x20\x15\x0a\xb6\xd8\x49\xc7\x0c\xb6\xc7\x18\x50\x52\xed\x12\xef\x0e\x88\xa0\x18\xa0\xe5\xcb\x55\x92\xc8\xaa\xd6\xc6\xc1\x2f\x12\x0f\x3f\xa3\xd5\xe5\x1e\x0d\xe4\x46\x57\x70\xd5\x7f\x74\x95\x24\xab\xd5\x6a\x18\x3c\xf4\x64\xf0\x34\x24\x88\xd6\x16\x11\xd0\x62\xb0\x97\x28\x0c\xfe\xde\x48\x33\x15\x56\xc3\x60\x60\xc9\x9d\xb1\xf0\x01\xc1\x3a\x59\x96\x3e\x69\x48\x07\xc2\x0e\x92\x0e\x14\x68\x3a\xdc\x38\xfe\x8d\x21\xa5\x2b\x46\x4e\xde\x94\x2c\xb2\x71\xfe\xb4\x2a\x74\x85\xce\xc2\xe1\x54\x42\x1d\xa1\x36\xfa\x37\xe4\xe4\x44\x6a\xbc\x32\xca\x40\x64\x29\x2b\xd5\x6a\x94\x6b\xec\x82\x45\x86\xcc\xe1\x21\xbc\x3d\xd2\x66\x2b\x14\xca\xb6\x7b\x5d\x72\x32\xf4\x30\xe8\x9e\xd2\xcf\xfc\xac\x3d\x65\xbf\xe7\xe8\x14\x3b\x08\xf7\x2e\x75\x88\x34\x45\x6b\x67\xa2\x2c\xe7\xad\x25\xa3\xb4\x76\x9f\x24\x00\x00\xab\x15\xbc\x53\x80\xca\x49\x17\xfc\x9c\x6b\x43\xb6\xe8\x83\x54\x3b\x16\x4f\x30\xcb\x8c\x38\x88\x92\x31\xcf\x58\xf3\xe7\x2f\x7c\x00\xb1\xa0\xbe\xca\xbe\xb8\x0f\x71\xf5\xb6\xc4\xa8\x72\xc5\x35\x07\xf7\xfe\x58\xfd\x96\xb1\x92\x8e\xa0\x79\x28\x50\x45\x25\xe4\xac\xa8\x5d\x3d\xa1\x72\xdf\x57\x36\x13\x95\x6e\x94\x5b\xc3\x3f\x6f\xe4\xa7\xbf\xff\x6d\xc1\x6b\xd7\xf0\x2e\xcb\x0c\x5a\x7b\xbd\xe0\xec\xb9\x86\x5b\x67\xa4\xda\xcd\xfb\xc2\x2c\x96\xf9\x9c\x70\xc6\x06\x45\x79\xdf\x93\xf4\xe7\x09\x5d\xc3\x7b\xad\x4b\xb8\x67\xe1\xf4\x87\xe4\x9d\x1a\xe8\xff\x8d\xb2\xe8\xef\x28\x87\xfe\x9e\xb7\xab\x0d\xba\xc6\x28\x70\xa6\x41\x7e\xf6\xf0\x12\x5f\x66\x58\x6b\x2b\x9d\x8f\xac\xc7\x3d\xf9\x9d\xff\xf4\x64\xcf\x4e\xbf\xc0\x8d\x41\xd8\xb4\x17\x1f\x91\x38\xed\xc3\xb1\x69\xd1\x85\x24\xc8\xe9\xcf\xe8\x3e\x67\x84\xb2\x39\x1a\x0a\x4c\x06\x23\x95\x03\x91\xa6\xa4\x9e\x3d\xaa\x34\x25\x95\x33\x1e\xbd\x0b\xab\x9f\x86\xd1\x4b\x5c\x1c\xa5\x5f\x88\xd4\xe7\xfa\xfc\xc4\xf8\x49\xdc\xbe\xec\x00\xd8\xe4\x47\x30\x6b\x9d\xd1\x47\xcc\xce\xb8\xf5\x7d\x63\xd4\x29\xa6\x06\x4e\x3b\xef\x35\x5a\x7c\x06\x95\x8f\xfa\x44\xe6\xc1\x01\xf0\xf6\x0d\xbc\x5e\xbe\xee\xbd\x6a\x5d\x36\x30\xac\xc5\xe8\x84\x6b\x1e\x2e\x71\x52\x2c\xce\xf1\xc1\x00\xbe\x5d\x85\x63\x08\x23\x55\xf6\x34\xd0\x98\x50\x4a\x7c\xb5\xa0\xdc\x1e\x13\x2a\x55\xfe\x28\xa4\x9f\xd4\x99\xd4\xc4\x02\xc3\x35\xe0\x58\xe3\xf2\x44\xef\x0f\x0e\x5a\x1a\x1d\x14\x0e\x75\x69\x05\x9b\x6d\xe4\x92\x54\x6b\x17\xed\xda\x1e\x75\x2b\x51\x10\x55\xd2\x35\x7a\xbe\x57\x6b\x6b\x65\x60\x4b\x3a\x87\xd4\xa0\x60\x23\x02\x63\xaa\x83\x1b\x6c\x67\x3a\xed\x98\x78\x38\xd3\x79\x3a\x63\x61\x64\x79\x0c\xbc\x9c\x6b\xb1\x3e\x28\x08\x96\x0c\xf7\xd1\x47\xd3\x29\xdb\xed\x08\x51\xa8\x95\x51\x65\xf4\x20\xd8\x66\x1b\x9a\x95\xb1\x03\xf5\x41\xa1\x79\x65\x7b\x29\x36\x2e\x26\x62\xec\xcf\xd9\xc6\x14\xdc\x11\x39\x83\x95\xde\x73\x7a\xf6\x84\xae\xb7\x70\x20\xe4\xae\x47\x95\x5f\xd9\xb0\x0f\x28\x71\x8f\x25\x25\xb0\xba\xd9\x96\x32\x8d\xfd\x8a\xb4\xbe\x0f\x73\x20\xc8\x7f\xdb\x12\xab\x81\xb0\x78\x1a\xcc\x80\x5b\xe3\xc1\x3a\x6d\x22\x05\xe8\x39\x27\xf8\x34\xa4\xbd\x81\xa0\x94\xc9\x96\x74\x52\x94\xe5\x11\x52\x4f\x68\x64\x47\xa1\x1f\xdf\x8f\xd7\x5a\x89\x23\xec\x0c\x51\x2a\xce\xa5\x51\x4f\xbb\x47\x62\xae\x11\x13\xb4\x1d\xb9\x17\x0e\x47\x56\xd4\x2d\xdd\x0e\x4d\xa6\x3e\x58\xb0\x35\xa6\x32\x97\x69\x90\x1b\xb8\xb9\x0e\x72\x07\x12\x18\x87\xf1\xec\xbb\x86\xab\x30\xba\xd9\x15\xd0\x6b\x24\x2e\xdd\x90\xef\x09\x78\x57\xe4\x94\x27\xf6\xc4\x87\x77\xc9\x96\x48\xd6\x68\x1f\x03\xdb\x07\x32\x9e\xbf\x8f\x10\x1d\x7d\x02\xe7\x33\xe7\x61\x9a\x65\xcd\xd7\xf0\xcd\x3d\x03\xfa\x61\x94\x0f\xa9\x11\x1c\x3d\xf2\xca\x60\x63\xd0\x86\x56\x35\x0f\x1b\xf1\x78\xe3\x44\xb8\x17\x65\x83\x27\xcb\xfc\x92\xe5\x0e\x5d\x68\x55\x67\x73\x78\xf3\x26\xa4\xd8\xf5\xc9\xe7\xf4\xe7\xea\x43\xc7\x61\x43\xe2\xae\x1a\xeb\xa8\x2d\x22\x75\x56\x54\x48\xcd\x02\xfd\x1c\x12\x45\x6c\xef\x3a\xfa\xc9\x3b\xbb\x9a\xd8\xc4\x80\x57\x2f\xcf\xd3\xc6\x61\xc9\xa4\x42\xb4\x64\x88\x5c\x2f\x85\x2f\xc5\xb1\x3c\xf0\xab\x1d\xba\xbb\x63\x8d\xb3\xf9\x52\x66\x94\x88\x73\x89\x66\x3e\xd0\xfe\x30\xaa\x20\xbd\x6a\x11\x7b\xfa\x3f\x5e\x2d\x02\x65\x9c\x28\x16\x52\x85\xc3\xba\xa0\x58\x7c\xc0\x98\xa2\xa5\x4a\xcb\x26\x43\x10\xd0\x0e\x06\xbc\x19\x69\x81\xe9\xc7\xe1\x11\x84\xc4\xd4\x4a\x39\x60\xdb\x6c\x51\x83\x7d\x49\x7f\xed\xdd\xe0\x9b\xa8\x04\x7a\x79\x2a\xd3\xf1\xa3\xe9\x66\x7a\x01\xa5\xfc\x88\x60\xeb\x52\x72\xf7\x55\x41\x53\x53\xee\x6e\x85\x58\x54\x99\x7f\x41\xbd\xb9\xcc\x39\x94\x1c\xd4\xa5\x1f\x05\xc0\xe5\x65\x26\x1e\xd6\xb8\xcc\x04\xd7\x83\x13\x1f\xb1\xab\x15\x54\x3f\xc2\x1b\x4b\x05\x74\xfa\x18\x06\x63\xa2\xc7\xa2\x9b\x8d\xa2\xa0\x0e\x32\x67\x1e\x9d\x31\x90\xe7\x43\x93\x76\xe8\x6e\x9b\xba\xd6\xc6\x61\xc6\x1f\x10\x44\xa9\x7a\xd3\x39\x72\xd6\xef\x4a\x5b\x29\xad\xa3\x28\xda\xfb\x19\x0b\x7f\x18\x7a\x59\xee\x70\xc3\xa6\xc9\x8e\xda\xd9\x49\xbb\xf6\x12\x0f\x6c\xdc\xb4\xde\xd9\x7c\x0d\xf7\x77\x1c\x32\xc4\xcf\x4e\xb2\x8e\x41\xb8\x67\x32\xb5\x86\xab\xac\xa9\xaa\xe3\xd5\x20\x66\x06\x3b\xfb\x39\xd8\x7d\x28\x90\xeb\x83\x36\x0c\x57\x72\x2c\x61\x4d\xf9\x79\x9b\xb4\xc1\x5e\x3f\x43\xa1\xb7\x83\x50\x8b\xd2\xde\xc5\x5d\x33\xb2\x85\x0a\xab\x40\xa8\xa3\x17\x64\x0b\x9e\x6e\xfe\x46\x49\xa8\xc7\xfa\x48\x68\x86\xf9\x80\x34\x4c\x3a\x44\xda\x53\x7f\xcc\x7c\xf6\xa0\x1f\x4f\x19\xeb\x25\x0e\xe9\xb9\xe5\x09\xc8\xc6\x76\x40\x9b\x9e\x8a\x30\xe7\xe1\x52\xef\xa7\x08\x90\x49\x83\xa9\x6b\x1b\x27\x90\xca\x3a\x14\x19\xc1\xa2\x10\x7b\xce\x17\x3c\xd8\x12\x2d\xd8\x09\xde\xdd\xc0\xe1\x79\x75\xc9\x9d\xeb\xb0\x22\xd8\xd6\xf0\x6d\x5b\x49\xbf\xfe\xcb\xfd\x30\x71\xc7\x83\x7c\x78\x3b\x9f\xf2\xdb\x44\x19\xf2\xdf\x2f\x39\x73\x11\x16\xaf\xbe\xe5\x43\x25\xdc\x6c\xb5\x31\xfa\x00\xa7\x43\x47\xf8\xf1\xe6\xae\x5d\x7a\x75\x69\x3e\xef\x68\xe4\x80\x82\x67\x48\x31\xb7\x08\x1c\xaf\x3d\x1d\x3f\x39\x67\xd2\xd1\x8d\xcd\x5b\xa0\x2e\x20\x94\xcd\x45\xef\x18\x17\x2d\xd9\xf5\x53\xe0\x38\xd4\xeb\x28\x7b\xd3\xf5\xc7\xb4\x41\x1b\xe1\x07\x47\x74\xcf\xc9\x76\xbc\x95\x75\xcf\x9a\x69\x23\xfa\x93\xc5\x65\x3b\x75\xbc\x87\xd5\x6a\x11\xcc\x1f\xa7\xcb\x7f\xa0\x9b\x2a\xe0\xfb\xa7\x83\xa9\xcf\x24\x22\x68\xfe\x87\xf3\xde\x6a\x05\xef\xb1\xd4\x07\x5f\x52\xe9\xc0\xfa\xa3\xdf\x58\x22\x6d\x63\x02\x01\x30\x8d\xfa\xca\xc9\x2a\x5c\x29\x30\x78\xc6\xf2\xb8\x35\xd8\x61\xcc\x55\x6d\x9b\x4e\x64\x53\x70\xdd\x6b\x4f\x3a\x20\x2e\x14\xd4\xe1\xb5\xd1\xd2\x0f\x2a\x97\x30\x90\x2f\xf3\x13\xc6\x63\x6f\x9b\x2d\x59\x33\xd3\xb9\x4f\x68\x5f\x7f\x73\x3f\x21\xe9\xe1\xed\x6c\x3e\x0e\x56\xe8\xfa\xe8\xfb\xa1\xd8\x35\xa7\xbe\x87\x61\xcc\x01\x96\x76\x2a\xba\xdb\x92\x00\x42\x01\x56\xb5\x3b\x42\x26\x39\xb5\x09\x73\x8c\x5c\x31\xa4\x6a\xcf\x53\x39\xe5\xb5\x6e\x38\x14\x94\xd8\xd4\x2b\x37\x25\xb9\x1b\x6a\x4f\xfa\x67\x01\xb6\x49\x0b\x52\x32\x7c\x7d\x7b\x90\x2e\x2d\xb6\x5a\x98\x6c\xb3\x80\x0d\x3f\xbb\xd1\xe6\x20\x4c\x86\x66\x03\xe8\xd2\xe5\x59\x57\x3c\x9c\x4d\x35\x9f\xa1\xd0\x04\xa5\xd1\xfd\x93\x10\xfe\x95\x84\xfc\x0b\xae\xaf\x21\x17\xa5\xc5\xa7\xea\x32\xd3\x74\xa7\x8d\xd8\x11\xe4\x5c\x41\x00\x34\xd8\x45\x78\xac\xa8\xee\x58\xcb\x94\x23\x72\xeb\x17\x60\xf6\x64\x88\x7d\xe7\x8f\xf1\xd6\x8b\xff\x49\xb8\x82\xc0\xd2\xfb\xf5\x7a\x7a\x7f\x4a\x96\x97\x98\xed\x1b\xba\xa1\xd5\xd2\x0e\xcd\xe6\xcb\x83\xd8\xfb\xf5\xfa\xbd\x4b\x6d\xff\x89\x17\x46\xd3\xbb\xdf\x9e\x6b\xf9\x59\x3d\x94\x8f\x39\xf1\xfc\x7a\xc7\xe7\xd6\x2f\xfb\xfc\xcf\xe3\xe4\x62\xb5\x1a\xfe\x32\x66\x9f\xc6\x67\x78\xd2\x32\xfb\x37\x2b\x6e\xf1\xf5\x4e\x1d\x6f\x9d\x69\x52\x77\xfd\x22\xa5\x4f\x4d\x6e\x36\x9e\x2c\x6c\xba\xd9\x0d\xa3\xf4\x95\x8d\x85\xe4\x91\xe9\x8d\xc2\xc3\x78\x82\x13\x05\x13\x41\x3c\x5d\xff\x39\x7a\xeb\x49\x72\x12\x43\xaf\xeb\x90\xdf\x3e\xd1\x21\xbf\xf3\x6d\x71\xd7\xef\xc6\x06\xb9\xf4\x63\x05\xa1\x88\x13\xe3\xef\x8d\x28\xfd\x6f\x13\xb5\x76\xa2\x45\x7e\xb8\x70\x10\x10\x6e\xe4\xfc\x98\x46\x94\xed\xcc\x08\x36\x5b\xcc\xb5\xc1\x0d\x77\x7d\xa1\xc4\xfb\x7c\x1b\x94\x76\x43\x46\xbe\xb1\x9d\x12\x1e\x2e\xd0\xb6\xb8\x93\x4a\x11\xeb\x1c\xdd\x36\x77\xf7\xd0\x13\xab\x2f\xf0\xed\x9b\x37\xe0\xad\x9c\x9d\xbc\x9b\xc3\x57\x8f\xfb\xfd\xc7\x16\x43\xd1\x99\xfd\xc9\x44\x6c\x2c\x3b\x1f\xd7\x06\xf7\x7c\x09\x1c\x3f\x17\xbe\x0f\x1d\x4f\x2a\xe2\xfb\xf3\x1c\xf3\xc2\x66\x53\x64\x19\x35\x9a\x9d\xc2\x40\x64\x07\x67\x2f\x27\x46\x9d\x17\xb7\x9a\x53\x95\x7d\x5c\xd6\xa9\xa9\xb2\x16\x8d\xeb\xee\x43\x53\xad\x52\x83\x2e\xf0\x96\xe0\x9e\xee\x8a\xcb\xe7\x57\x69\xdb\x09\xcf\x58\x5e\x28\xe2\xbd\x4e\xad\x6d\xef\xe2\xdc\x33\x48\xbb\x20\xe0\x68\x2f\x4b\x69\x7f\x50\xd6\xf1\xc1\x0f\xa9\xc7\x7c\x0d\xd3\xa7\xff\xad\x50\xc4\xa6\xbb\xee\x07\xa4\x4a\x75\x55\x0b\xd7\xfb\x3f\x1f\xb4\xbf\xcb\x06\x4f\x93\x17\x6d\x6c\x5a\x1f\x93\xfe\xa6\xe6\x91\x01\x54\x5c\x71\xf1\x00\x0a\xce\xc7\xf6\x33\xa3\xe5\xaf\xf1\xdd\x89\xd5\xf3\x17\x05\x90\x6d\xaa\x27\x23\xa7\xc3\xcc\xa3\x09\x6c\x14\x31\xff\x9f\xad\xee\x9f\x72\x88\xcf\x4e\x79\x6d\xed\xb5\xa8\x32\x34\x9f\x35\x05\xc2\x99\xd8\x99\xbe\x41\xbd\x64\x68\xab\xd7\xdd\x30\xc0\x37\xfe\xb3\xf9\xf5\x9f\x37\xdb\x1d\x5e\x05\x18\x14\x0e\xbf\xa7\x86\x24\xa4\xe8\x70\x17\xa0\x8e\xe1\x3f\x3f\xe9\xf0\xcd\x80\x9f\x70\x7a\x2b\x04\x65\xf6\xff\xa0\xd1\x97\x70\x93\x36\x5d\x8f\x55\xce\x9e\x3d\xe8\x3f\x33\xb1\x7f\xbd\x7c\xbd\x86\xab\xbb\x02\xc9\xd0\x32\x5c\x82\xc4\x28\xf4\x18\x60\x5e\xdc\xb7\xf8\x82\xe0\x0c\x37\xc6\xb3\xcb\xc6\x38\x53\x50\x38\xbd\x16\x3e\x01\xf9\x1f\x9e\xd5\x3f\xfc\x37\x00\x00\xff\xff\x97\xfd\x57\xec\x7e\x29\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x73\xe3\xb6\x11\x7f\xd7\xa7\xd8\x71\x66\x7a\x52\xaa\x48\xf7\xd0\xe9\x83\x26\x77\xce\x5d\x12\x77\xf2\x92\xc9\xc4\x6e\xee\x21\xd3\xa9\x20\x72\x29\x22\x47\x02\x0c\x00\x4a\xa7\x7a\xfc\xdd\x3b\xbb\x00\xf8\x4f\x94\x4d\x3b\xb9\x87\xd6\x0f\xb6\x44\x02\xbb\x8b\xfd\xfb\xdb\x85\xd7\x5f\x7e\x39\x9b\x7d\x01\x77\x39\xc2\x4d\xa1\x8f\x70\x53\xab\xbd\xdc\x15\x08\x77\xfa\x23\x2a\xb0\x4e\xa8\x54\x98\x74\x36\xfb\xe2\x0b\xd8\xc6\x97\xfc\x6e\x0b\x89\x56\xce\x88\xc4\xcd\x66\xbc\x7d\x7c\x27\x48\x0b\x4a\x43\xa1\xd5\x1e\x0d\x08\x05\x52\x39\x34\x99\x48\x70\xe6\x72\xe1\x40\x14\x05\x64\x71\xab\xe3\xad\x91\xae\x85\xa3\xae\x8b\x14\x72\x71\xa0\x57\xf4\x3c\xd3\xa6\x04\xa7\x57\xb3\xd9\x0f\x19\x08\xa8\x2d\x1a\x0b\x47\xa1\x9c\xa5\x05\x29\x56\x85\x3e\x81\x00\x85\xc7\x01\xad\x25\xb8\x1c\xa5\x69\x65\x4e\x35\x92\x60\x0e\x14\x62\x4a\x9b\x65\x59\x15\x58\xa2\x72\xb4\x12\x7a\x47\x6d\x65\x5e\xc2\xae\x76\x81\x14\x33\xb0\xb3\x54\x5f\x20\xd1\x6c\xb2\x90\x62\x26\x15\xa6\x20\x15\xb8\x5c\xda\x46\x8a\x95\xd7\xeb\x2f\xa2\x2e\xdc\x16\x0c\x5a\x5d\x9b\xa4\xb3\x73\x36\xfb\x5e\x24\xf9\x50\x3f\xcd\x3a\x77\xaa\x90\x99\xdb\x73\xee\x97\x89\x06\xa6\x3f\x19\x7d\x90\x29\x9a\xed\x12\xb6\x3f\x63\x82\xf2\xc0\x9f\x85\x4a\x61\xfb\x5e\x14\x42\x25\x38\xb6\xdb\xb2\xb5\xed\xe0\x78\x49\x21\x0c\x42\x65\xf0\xab\x44\xab\x54\x3a\xa9\x95\x65\x52\x95\xb6\xae\xfb\x8c\x6d\x6e\xd0\x3a\x23\x13\x37\x23\x41\xf1\x13\x26\x35\xbd\x04\x9d\xb1\xe4\x59\xad\x12\xbf\x98\xd5\x85\xc0\x27\x59\x31\xdf\x13\x10\x1f\x8b\x95\x30\xc2\x21\xec\x30\x11\x35\xc9\xe2\x60\x2f\x0f\x68\x79\x39\x39\x05\x7f\x10\x3b\x59\x48\x77\x22\xdd\xd8\x5c\x18\x9c\x09\x30\x98\xa1\x41\x95\xb0\x3f\x79\x33\x32\x75\x2f\x97\x56\xc5\x09\xf0\x53\xa5\x6d\x20\x95\x49\x2c\x52\xdb\x4a\x34\x93\x0a\xb4\x42\xd0\x06\x4a\x6d\x30\x4a\xdc\xaa\x82\x1c\x93\x7c\xda\xea\x20\x90\xf7\xd0\x81\x34\xa5\xf8\x88\x90\xd4\xd6\xe9\xb2\xd1\x70\x50\x4d\x63\x44\xd2\x4d\x5f\xcb\xe4\xe0\x1a\x0e\xc2\x48\x5d\xd3\x6a\xa9\xf6\x16\x8e\xd2\xe5\x4c\xde\x7b\xe3\x6a\x76\xa3\x0d\xe0\x27\x41\x64\x96\x20\x20\x13\x75\x82\x0e\x12\xa1\x60\x87\x2d\x75\x4c\x61\x77\x8a\x01\x25\xd5\x7e\xe6\xd5\x01\xd1\x29\x7a\xde\xf2\xe5\x7a\x36\x93\x65\xa5\x8d\x83\x5f\x24\x1e\x7f\x46\xab\x8b\x03\x1a\xc8\x8c\x2e\xe1\xaa\xfb\xe8\x6a\x36\x5b\xaf\xd7\xfd\xe0\xa1\x27\xbd\xa7\x21\x41\x34\xb2\x88\xe0\x2d\x06\x3b\x89\xc2\xe0\xef\xb5\x34\x63\x61\xd5\x0f\x06\xa6\xdc\x0a\x0b\x1f\x10\xac\x93\x45\xe1\x93\x86\x74\x20\x6c\x2f\xe9\x40\x8e\xa6\xf5\x1b\xc7\xdf\xd8\xa5\x74\xc9\x9e\x93\xd5\x05\x93\xac\x9d\xb7\x56\x89\x2e\xd7\x69\x30\x4e\x29\xd4\x09\x2a\xa3\x7f\x43\x4e\x4e\xc4\xc6\x33\xa3\x0c\x44\x92\x32\x53\xad\x06\xb9\xc6\x2e\x99\x64\xc8\x1c\xde\x85\x77\x27\x3a\x6c\x89\x42\xd9\xe6\xac\x2b\x4e\x86\xde\x0d\xda\xa7\xf4\x99\x9f\x35\x56\xf6\x67\x8e\x4a\xb1\xbd\x70\x6f\x53\x87\x48\x12\xb4\x76\x2e\x8a\x62\xd1\x48\x32\x48\x6b\xf7\xb3\x19\x00\xc0\x7a\x0d\xef\x14\xa0\x72\xd2\x05\x3d\x67\xda\x90\x2c\xfa\x28\xd5\x9e\xc9\x93\x9b\xa5\x46\x1c\x45\xc1\x3e\xcf\xbe\xe6\xed\x2f\x7c\x00\x31\xa1\x2e\xcb\x2e\xb9\x0f\x71\xf7\xae\xc0\xc8\x72\xcd\x35\x07\x0f\xde\xac\xfe\xc8\x58\x4a\x47\xae\x79\xcc\x51\x45\x26\xa4\xac\xc8\x5d\x3d\xc1\xf2\xd0\x65\x36\x17\xa5\xae\x95\xdb\xc0\x3f\x6f\xe4\xa7\xbf\xff\x6d\xc9\x7b\x37\xf0\x2e\x4d\x0d\x5a\x7b\xbd\xe4\xec\xb9\x81\x5b\x67\xa4\xda\x2f\xba\xc4\x2c\x16\xd9\x82\xfc\x8c\x05\x8a\xf4\xbe\x27\xea\xcf\x23\xba\x81\xf7\x5a\x17\x70\xcf\xc4\xe9\x87\xe8\x9d\x0b\xe8\xff\x46\x5a\xf4\x3b\xd2\xa1\xdf\x8b\x66\xb7\x41\x57\x1b\x05\xce\xd4\xc8\xcf\x1e\x5e\xa2\xcb\x14\x2b\x6d\xa5\xf3\x91\xf5\xb8\x26\xbf\xf3\x4b\xcf\xce\xec\xf4\x0b\xd4\x18\x88\x8d\x6b\xf1\x11\x8a\xe3\x3a\x1c\x8a\x16\x55\x48\x84\x9c\xfe\x8c\xea\x73\x46\x28\x9b\xa1\xa1\xc0\x64\x67\xa4\x72\x20\x92\x84\xd8\xb3\x46\x95\xa6\xa4\x72\x41\xa3\x77\x61\xf7\xd3\x6e\xf4\x12\x15\x47\xea\x13\x3d\xf5\xb9\x3a\x3f\x13\x7e\xd4\x6f\x5f\x66\x00\x16\xf9\x11\x9f\xb5\xce\xe8\x13\xa6\x17\xd4\xfa\xbe\x36\xea\xdc\xa7\x7a\x4a\xbb\xac\x35\xda\x7c\xc1\x2b\x1f\xd5\x89\xcc\x82\x02\xe0\xed\x1b\x78\xbd\x7a\xdd\x79\xd5\xa8\xac\x27\x58\xe3\xa3\x23\xaa\x79\x98\xa2\xa4\x58\x9c\xe3\x83\x9e\xfb\xb6\x15\x8e\x5d\x18\xa9\xb2\x27\x01\xc6\x84\x52\xe2\xab\x05\xe5\xf6\x98\x50\xa9\xf2\x47\x22\xdd\xa4\xce\xa0\x26\x16\x18\xae\x01\xa7\x0a\x57\x67\x7c\x7f\x70\xd0\xc0\xe8\xc0\xb0\xcf\x4b\x2b\xd8\xee\x22\x96\xa4\x5a\xbb\x6c\xf6\x76\xa0\x5b\x81\x82\xa0\x92\xae\xd0\xe3\xbd\x4a\x5b\x2b\x03\x5a\xd2\x19\x24\x06\x05\x0b\x11\x10\x53\x15\xd4\x60\x5b\xd1\xe9\xc4\x84\xc3\x19\xce\x93\x8d\x85\x91\xc5\x29\xe0\x72\xae\xc5\xfa\xa8\x20\x48\xd2\x3f\x47\xd7\x9b\xce\xd1\x6e\x0b\x88\x42\xad\x8c\x2c\xa3\x06\xc1\xd6\xbb\xd0\xac\x0c\x15\xa8\x8f\x0a\xcd\x2b\xdb\x49\xb1\x71\x33\x01\x63\x6f\x67\x1b\x53\x70\x0b\xe4\x0c\x96\xfa\xc0\xe9\xd9\x03\xba\xce\xc6\x1e\x91\xbb\x0e\x54\x7e\x65\xc3\x39\xa0\xc0\x03\x16\x94\xc0\xaa\x7a\x57\xc8\x24\xf6\x2b\xd2\xfa\x3e\xcc\x81\x20\xfd\xed\x0a\x2c\x7b\xc4\xa2\x35\x18\x01\x37\xc2\x83\x75\xda\x44\x08\xd0\x51\x4e\xd0\x69\x48\x7b\x3d\x42\x09\x83\x2d\xe9\xa4\x28\x8a\x13\x24\x1e\xd0\xc8\x16\x42\x3f\x7e\x1e\xcf\xb5\x14\x27\xd8\x1b\x82\x54\x9c\x4b\x23\x9f\xe6\x8c\x84\x5c\xa3\x4f\xd0\x71\xe4\x41\x38\x1c\x48\x51\x35\x70\x3b\x34\x99\xfa\x68\xc1\x56\x98\xc8\x4c\x26\x81\x6e\xc0\xe6\x3a\xd0\xed\x51\x60\x3f\x8c\xb6\x6f\x1b\xae\xdc\xe8\x7a\x9f\x43\xa7\x91\x98\x7a\x20\xdf\x13\xf0\xa9\x48\x29\x4f\x9c\x89\x8d\x37\xe5\x48\x44\x6b\x70\x8e\x9e\xec\x3d\x1a\xcf\x3f\x47\x88\x8e\x2e\x80\xf3\x99\xf3\x38\x8e\xb2\x16\x1b\xf8\xe6\x9e\x1d\xfa\x61\x90\x0f\xa9\x11\x1c\x3c\xf2\xcc\x60\x6b\xd0\x86\x56\x35\x0b\x07\xf1\xfe\xc6\x89\xf0\x20\x8a\x1a\xcf\xb6\xf9\x2d\xab\x3d\xba\xd0\xaa\xce\x17\xf0\xe6\x4d\x48\xb1\x9b\xb3\xe5\xf4\x73\xf5\xa1\xc5\xb0\x21\x71\x97\xb5\x75\xd4\x16\x11\x3b\x2b\x4a\xa4\x66\x81\x3e\x87\x44\x11\xdb\xbb\x16\x7e\xf2\xc9\xae\x46\x0e\xd1\xc3\xd5\xab\xcb\xb0\xb1\x5f\x32\xa9\x10\xad\xd8\x45\xae\x57\xc2\x97\xe2\x58\x1e\xf8\xd5\x1e\xdd\xdd\xa9\xc2\xf9\x62\x25\x53\x4a\xc4\x99\x44\xb3\xe8\x71\x7f\x18\x54\x90\x4e\xb5\x88\x3d\xfd\x1f\xaf\x16\x01\x32\x8e\x14\x0b\xa9\x82\xb1\x26\x14\x8b\x0f\x18\x53\xb4\x54\x49\x51\xa7\x08\x02\x9a\xc1\x80\x17\x23\xc9\x31\xf9\xd8\x37\x41\x48\x4c\x0d\x95\x23\x36\xcd\x16\x35\xd8\x53\xfa\x6b\xaf\x06\xdf\x44\xcd\xa0\x93\xa7\x52\x1d\x17\x8d\x37\xd3\x4b\x28\xe4\x47\x04\x5b\x15\x92\xbb\xaf\x12\xea\x8a\x72\x77\x43\xc4\xa2\x4a\xfd\x0b\xea\xcd\x65\xc6\xa1\xe4\xa0\x2a\xfc\x28\x00\xa6\x97\x99\x68\xac\x61\x99\x09\xaa\x07\x27\x3e\x62\x5b\x2b\xa8\x7e\x84\x37\x96\x0a\xe8\xb8\x19\x7a\x63\xa2\xc7\xa2\x9b\x85\xa2\xa0\x0e\x34\xe7\xde\x3b\x63\x20\x2f\xfa\x22\xed\xd1\xdd\xd6\x55\xa5\x8d\xc3\x94\x17\x90\x8b\x52\xf5\x26\x3b\x72\xd6\x6f\x4b\x5b\x21\xad\xa3\x28\x3a\xf8\x19\x0b\x2f\x0c\xbd\x2c\x77\xb8\xe1\xd0\x24\x47\xe5\xec\xa8\x5c\x07\x89\x47\x16\x6e\x9c\xef\x7c\xb1\x81\xfb\x3b\x0e\x19\xc2\x67\x67\x59\xc7\x20\xdc\x33\x98\xda\xc0\x55\x5a\x97\xe5\xe9\xaa\x17\x33\xbd\x93\xfd\x1c\xe4\x3e\xe6\xc8\xf5\x41\x1b\x76\x57\x52\x2c\xf9\x9a\xf2\xf3\x36\x69\x83\xbc\x7e\x86\x42\x6f\x7b\xa1\x16\xa9\xbd\x8b\xa7\x66\xcf\x16\x2a\xec\x02\xa1\x4e\x9e\x90\xcd\x79\xba\xf9\x1b\x25\xa1\x0e\xea\x23\xa2\x29\x66\x3d\xd0\x30\xaa\x10\x69\xcf\xf5\x31\xf7\xd9\x83\x3e\x9e\x23\xd6\x29\x0a\xe9\xa8\xe5\x09\x97\x8d\xed\x80\x36\x1d\x16\x61\xce\xc3\xa5\xde\x4f\x11\x20\x95\x06\x13\xd7\x34\x4e\x20\x95\x75\x28\x52\x72\x8b\x5c\x1c\x38\x5f\xf0\x60\x4b\x34\xce\x4e\xee\xdd\x0e\x1c\x9e\x57\x97\xdc\xa5\x0e\x2b\x3a\xdb\x06\xbe\x6d\x2a\xe9\xd7\x7f\xb9\xef\x27\xee\x68\xc8\x87\xb7\x8b\x31\xbd\x8d\x94\x21\xbf\x7e\xc5\x99\x8b\x7c\xf1\xea\x5b\x36\x2a\xf9\xcd\x4e\x1b\xa3\x8f\x70\x3e\x74\x84\x1f\x6f\xee\x9a\xad\x57\x53\xf3\x79\x0b\x23\x7b\x10\x3c\x45\x8a\xb9\x65\xc0\x78\x8d\x75\xfc\xe4\x9c\x41\x47\x3b\x36\x6f\x1c\x75\x09\xa1\x6c\x2e\x3b\x66\x5c\x36\x60\xd7\x4f\x81\xe3\x50\xaf\x85\xec\x75\xdb\x1f\xd3\x01\x6d\x74\x3f\x38\xa1\x7b\x4e\xb6\xe3\xa3\x6c\x3a\xd2\x8c\x0b\xd1\x9d\x2c\xae\x9a\xa9\xe3\x3d\xac\xd7\xcb\x20\xfe\x30\x5d\xfe\x03\xdd\x58\x01\x3f\x3c\x1d\x4c\x5d\x24\x11\x9d\xe6\x7f\x38\xef\xad\xd7\xf0\x1e\x0b\x7d\xf4\x25\x95\x0c\xd6\x1d\xfd\xc6\x12\x69\x6b\x13\x00\x80\xa9\xd5\x57\x4e\x96\xe1\x4a\x81\x9d\x67\x48\x8f\x5b\x83\x3d\xc6\x5c\xd5\xb4\xe9\x04\x36\x05\xd7\xbd\xc6\xd2\xc1\xe3\x42\x41\xed\x5f\x1b\xad\xfc\xa0\x72\x05\x3d\xfa\x32\x3b\x43\x3c\xf6\xb6\xde\x91\x34\x73\x9d\xf9\x84\xf6\xf5\x37\xf7\x23\x94\x1e\xde\xce\x17\xc3\x60\x85\xb6\x8f\xbe\xef\x93\xdd\x70\xea\x7b\xe8\xc7\x1c\x60\x61\xc7\xa2\xbb\x29\x09\x20\x14\x60\x59\xb9\x13\xa4\x92\x53\x9b\x30\xa7\x88\x15\x43\xaa\xf6\x38\x95\x53\x5e\xa3\x86\x63\x4e\x89\x4d\xbd\x72\x63\x94\xdb\xa1\xf6\xa8\x7e\x96\x60\xeb\x24\x27\x26\xfd\xd7\xb7\x47\xe9\x92\x7c\xa7\x85\x49\xb7\x4b\xd8\xf2\xb3\x1b\x6d\x8e\xc2\xa4\x68\xb6\x80\x2e\x59\x5d\x54\xc5\xc3\xc5\x54\xf3\x19\x0a\x4d\x60\x1a\xd5\x3f\xea\xc2\xbf\x12\x91\x7f\xc1\xf5\x35\x64\xa2\xb0\xf8\x54\x5d\x66\x98\xee\xb4\x11\x7b\x72\x39\x97\x93\x03\x1a\x6c\x23\x3c\x56\x54\x77\xaa\x64\xc2\x11\xb9\xf3\x1b\x30\x7d\x32\xc4\xbe\xf3\x66\xbc\xf5\xe4\x7f\x12\x2e\x27\x67\xe9\x7c\xbd\x1e\x3f\x9f\x92\xc5\x14\xb1\x7d\x43\xd7\x97\x5a\xda\xbe\xd8\x7c\x79\x10\x7b\xbf\x4e\xbf\x37\x55\xf6\x9f\x78\x63\x14\xbd\xfd\xf6\xf9\x24\x7f\x65\x5b\xe0\x3a\xf5\x10\x3c\xc8\xa2\xb7\x36\xf7\xbd\x6e\x43\xa1\xad\xcb\x40\xfd\x6d\x17\x50\x13\x73\x54\x54\xe5\xa9\xe3\x75\x68\x94\x70\x1d\xd0\x3c\xbc\x4a\x72\x9a\x2c\x5f\xdb\x8e\xdd\xfd\x35\x51\xdb\xe9\x25\x42\x69\x45\x5e\x02\x4a\x94\x68\x2b\x2a\x4b\x21\xa2\x6b\x95\xa2\x29\x4e\x24\x5d\xb8\x79\x9c\x68\x80\x28\xcf\x1f\x37\xc1\x45\x4e\x54\x12\x39\xf7\xff\x7a\xc7\xa1\xd3\x45\x5e\xfc\xe7\x71\x7c\xb7\x5e\xf7\xbf\x0c\x1b\x00\xe3\x8b\x2c\x71\x99\xff\x9b\x19\x37\x21\xfe\x4e\x9d\x6e\x9d\xa9\x13\x77\xfd\x22\xa6\x4f\x0d\xcf\xb6\x1e\xaf\x6d\xdb\xf1\xd9\x2f\xc1\xc3\x42\x2d\x7f\x64\x80\xa6\xf0\x38\x1c\xa2\x45\xc2\x84\xd1\xcf\xf7\x7f\x8e\xf1\xc6\x28\x3e\x8c\xd9\xaf\x1d\x52\xbc\x7d\x62\x48\xf1\xce\x4f\x26\xda\x91\x43\x9c\x51\x14\x7e\xb2\x23\x14\xb5\x25\xf8\x7b\x2d\x0a\xff\x6d\x04\xee\x8c\x4c\x29\x1e\x26\xce\x62\xc2\xa5\xa8\x9f\x94\x89\xa2\x19\xdb\xc1\x76\x87\x99\x36\xb8\xe5\xc6\x3b\xa0\x2c\x5f\xf2\x02\xd3\x76\xce\xcb\x97\xe6\x63\xc4\xc3\x1d\xe6\x0e\xf7\x52\x29\x0a\xaf\xc1\x85\x7f\xfb\xaf\x00\x23\xbb\x27\xe8\xf6\xcd\x1b\xf0\x52\xce\xcf\xde\x2d\xe0\xab\xc7\xf5\xfe\x63\xe3\x43\x51\x99\xdd\xe1\x50\x4c\x45\xad\x8e\x2b\x83\x07\xbe\x87\x8f\xcb\x85\x1f\x05\x0c\x87\x45\xf1\xfd\x65\x98\x3f\xb1\xdf\x17\x69\x4a\xbd\x7e\xcb\x30\xf4\x12\x3d\xdb\xcb\x91\x69\xf3\xe4\x6e\x7f\x0c\x5c\x0d\x91\x15\xf5\xb5\xd6\xa2\x71\xed\x95\x74\xa2\x55\x62\xd0\x05\xe8\x18\xd4\xd3\xde\x32\xfa\x12\x27\x6d\x93\x7a\x87\xf4\x42\xd6\xed\x34\xcb\x4d\x87\x1d\x47\xcf\x81\xda\x84\x80\xa3\xb3\xac\xa4\xfd\x41\x59\xc7\x86\xef\xa3\xbf\xc5\x06\xc6\xad\xff\xad\x50\xd4\xd0\xb4\x0d\x28\x48\x95\xe8\xb2\x12\xae\xf3\x6f\x37\x74\xbe\x69\xb3\xbf\xd1\xbb\x4e\x16\xad\xeb\x93\xfe\xb2\xec\x91\x19\x60\xdc\x31\x79\x06\x08\x97\x63\xfb\x99\xd1\xf2\xd7\xf8\xee\x4c\xea\xc5\x8b\x02\xc8\xd6\xe5\x93\x91\xd3\xfa\xcc\xa3\x09\x6c\x10\x31\xff\x9f\xd3\x86\x3f\xc5\x88\xcf\x4e\x79\x4d\xed\xb5\x48\x18\xe8\xb3\xa6\x40\xb8\x10\x3b\xe3\x97\xd8\x53\xe6\xe6\x7a\xd3\xce\x63\xfc\xec\x65\xbe\xb8\xfe\xf3\xc6\xeb\xfd\xdb\x18\x83\xc2\xe1\xf7\xd4\x13\x86\x14\x1d\xae\x63\xd4\x29\xfc\xff\x99\x0e\x6b\x7a\xf8\x84\xd3\x5b\x2e\x28\xb3\xff\x07\x8d\x9e\x82\x4d\x9a\x74\x3d\x64\x39\x7f\xf6\x5d\xcb\x85\x4b\x93\xd7\xab\xd7\x1b\xb8\xba\xcb\x91\x04\x2d\xc2\x3d\x54\x8c\x42\xef\x03\x8c\xea\xbb\x12\x4f\x08\xce\x70\x69\x3f\x9f\x36\x49\x1b\x73\x85\xf3\x9b\xf9\x33\x27\xff\xc3\xd7\x25\x0f\xff\x0d\x00\x00\xff\xff\xe9\x29\xeb\x76\x01\x2b\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x85, 0x1c, 0xe0, 0x46, 0x2e, 0x3d, 0xaf, 0x29, 0xc0, 0xb1, 0x41, 0x73, 0xf7, 0x61, 0x21, 0xd2, 0x22, 0x73, 0x2d, 0x83, 0xa5, 0x3a, 0x43, 0xaf, 0x4c, 0x5, 0x12, 0x3d, 0xe7, 0x4d, 0x91, 0x71}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x37, 0xcb, 0x40, 0x9f, 0xc8, 0x19, 0xeb, 0x38, 0x46, 0xc9, 0x4b, 0xf6, 0x55, 0x21, 0x12, 0x92, 0x81, 0x83, 0xfe, 0xb9, 0x3e, 0x10, 0xc1, 0xe6, 0xc2, 0xa8, 0x5, 0xce, 0xf9, 0x7, 0x88, 0x3}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index c61317a0..4abdc4e9 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -8,7 +8,7 @@
 // ../../../transactions/privateForwarder/create_account_private_forwarder.cdc (1.683kB)
 // ../../../transactions/privateForwarder/create_private_forwarder.cdc (1.392kB)
 // ../../../transactions/privateForwarder/deploy_forwarder_contract.cdc (418B)
-// ../../../transactions/privateForwarder/setup_and_create_forwarder.cdc (2.218kB)
+// ../../../transactions/privateForwarder/setup_and_create_forwarder.cdc (2.215kB)
 // ../../../transactions/privateForwarder/transfer_private_many_accounts.cdc (1.241kB)
 // ../../../transactions/safe_generic_transfer.cdc (1.892kB)
 // ../../../transactions/scripts/get_balance.cdc (423B)
@@ -23,8 +23,8 @@
 // ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (676B)
 // ../../../transactions/scripts/test/example_token_vault_display_strict_equal.cdc (2.014kB)
 // ../../../transactions/scripts/tokenForwarder/is_recipient_valid.cdc (444B)
-// ../../../transactions/setup_account.cdc (1.417kB)
-// ../../../transactions/switchboard/add_vault_capability.cdc (4.038kB)
+// ../../../transactions/setup_account.cdc (1.414kB)
+// ../../../transactions/switchboard/add_vault_capability.cdc (4.035kB)
 // ../../../transactions/switchboard/add_vault_wrapper_capability.cdc (1.491kB)
 // ../../../transactions/switchboard/batch_add_vault_capabilities.cdc (1.342kB)
 // ../../../transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc (1.575kB)
@@ -266,7 +266,7 @@ func privateforwarderDeploy_forwarder_contractCdc() (*asset, error) {
 	return a, nil
 }
 
-var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x4d\x6b\xe3\x30\x10\xbd\xfb\x57\xcc\xf6\x10\x1c\x48\xe3\x7b\x49\x0a\x4b\x68\x61\x2f\x4b\xd9\x96\xde\x27\xf2\x24\x11\x75\x24\x23\x8d\x93\x2d\x25\xff\x7d\x91\xfc\x11\xa9\xb6\xb7\x49\x75\x32\xd2\x7c\xbc\x79\xf3\x66\x9c\xc8\x7d\xa9\x0d\xc3\x63\xa5\xb6\x72\x5d\xd0\x8b\x7e\x23\x05\x1b\xa3\xf7\x70\x13\xdd\xdd\xb4\x96\x0f\x7f\x71\x5f\xc6\x86\xe1\x55\x67\xf7\x64\xe4\x01\x99\xfe\x90\x20\x79\x20\xf3\xa8\xcd\x11\x4d\x4e\xa6\xf1\x19\x7b\xbe\x49\x92\x2c\xcb\xe0\x65\x27\x2d\xb0\x41\x65\x51\xb0\xd4\x0a\x30\xcf\x2d\x20\xbc\x62\x55\xf0\x0c\x10\xca\xda\x1f\x4c\x13\x00\x36\x6d\x04\xef\x8f\xb0\xc6\x02\x95\x20\x10\x58\xe2\x5a\x16\x92\xdf\x67\x80\x2a\x77\xae\xd5\xba\x90\x22\x78\x70\xbe\xc0\xbb\x73\xb0\x24\x09\x53\x7f\x24\x09\x00\x40\x69\xa8\x44\x43\xa9\x95\x5b\x45\xe6\x0e\xb0\xe2\x5d\xfa\xcb\xda\x8a\x9e\x59\x1b\xdc\xd2\xaa\x0b\xb8\xd2\x8a\x8d\x2e\x0a\x32\x33\x78\x72\xd9\xec\x6e\x15\xc0\x78\xc6\x03\xbd\x62\x51\xd1\x14\x26\x3f\x85\xd0\x95\xe2\x29\x7c\xf8\x24\xee\xc8\x0d\xd4\x39\xe6\x1d\x44\x49\x76\xbe\x25\x5e\x4c\xc6\x68\x9b\x77\x5f\xf7\xe9\xa8\xcd\xa7\x07\x8f\x4c\x3c\x21\xef\xa6\xf0\x63\x09\x4a\x16\x01\x08\x77\xb2\xac\xa3\xb9\x63\x17\x8e\x68\x01\x0b\x43\x98\xbf\x83\x25\x86\xaa\x8c\x7c\x0c\x71\x65\x54\x77\x75\x4a\x06\xca\xb2\x35\x5f\x73\xb1\x23\xf1\xb6\x98\x84\xf2\x99\xfb\x06\xdf\xa7\x4e\x24\x77\xd0\x7f\x69\xa8\xae\x41\x2f\x97\xb0\xc1\xc2\x52\x1f\xf6\xca\x90\x43\x8d\xa0\xe8\x18\x2b\xd6\x47\xf1\x42\x28\x2b\x06\xc9\x20\x15\x34\x78\xa2\x20\x9f\xa0\x5a\x3c\x50\x1a\x19\xb8\xb3\xb8\x8d\x10\x0a\x9f\xf5\x61\x5f\xf2\xbb\x4f\x93\x4e\x67\x3d\x17\xd6\x5f\x94\x15\x79\x4c\x87\x88\x0c\xeb\x6b\xb4\x5c\x57\x75\xd6\x98\x23\x5b\x11\xe5\x94\x7f\xa5\xaa\xb5\x36\x46\x1f\x17\x93\x8f\x68\xda\x6b\x54\xa7\xfb\xb4\x0f\x35\x54\xcd\x72\x48\x35\x05\x31\x1c\x9c\xe5\x0a\x4b\x58\x0e\x26\x6d\x59\x95\x6e\x7a\x46\x73\xf7\xb8\x73\xe7\x72\xee\x62\xfe\x82\x9e\x46\x50\xca\x7a\x3c\xd3\x16\xf1\x0c\x90\x87\x3a\x14\x94\x3d\xd2\x13\xbf\x0a\x00\xa1\x1d\xaf\xb0\x1d\x8c\x66\x4b\xcc\x52\x6d\xfd\x9e\xe9\x2b\x32\x09\xd9\x6b\xd7\x50\x10\xe0\x3b\x3c\xb6\x40\x86\xa8\xbc\x46\x82\x11\xb6\xf3\x22\x58\xdc\x8e\xee\xf8\x66\x12\x7e\xd3\xb1\xbb\x4a\x0d\x09\x59\x4a\x52\x7c\x37\x50\x5f\x90\x64\x68\xf0\x16\xb7\x5d\xda\x99\x9f\xa0\x4b\x57\x5c\xb8\x2e\x06\x9b\x15\xf6\x48\xfb\xde\x9c\x7f\x54\x86\xac\xae\x8c\xa0\xe1\xfa\x2f\x56\xf7\x25\x2b\xbb\xd7\x9f\x6f\x14\x38\xb2\x38\xb2\xac\xfd\x05\xf9\xf2\xae\x2a\xf8\x7f\x03\x13\xa5\x0b\x59\x89\x77\x9e\x9b\xa6\xeb\x7f\x48\x49\x5c\xc7\x29\x39\x25\xff\x02\x00\x00\xff\xff\x5a\xa6\x3f\x2a\xaa\x08\x00\x00"
+var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x4f\x6f\xe2\x3e\x10\xbd\xe7\x53\xcc\xaf\x07\x14\x24\x0a\xf7\x0a\x2a\xfd\x84\x5a\x69\x2f\xab\x6a\x5b\xf5\x3e\x38\x03\x58\x0d\x76\x34\x9e\xc0\x56\x15\xdf\x7d\x65\x87\x04\xbb\x09\x5b\xba\x3e\x45\xf6\xfc\x79\xf3\xe6\xcd\x24\xd3\xbb\xca\xb2\xc0\x63\x6d\x36\x7a\x55\xd2\x8b\x7d\x23\x03\x6b\xb6\x3b\xb8\x49\xee\x6e\x5a\xcb\x87\xdf\xb8\xab\x52\xc3\xf8\xaa\xb3\x7b\x62\xbd\x47\xa1\x5f\xa4\x48\xef\x89\x1f\x2d\x1f\x90\x0b\xe2\x93\xcf\xa5\xe7\x9b\x2c\x9b\xcd\x66\xf0\xb2\xd5\x0e\x84\xd1\x38\x54\xa2\xad\x01\x2c\x0a\x07\x08\xaf\x58\x97\x32\x01\x84\xaa\xf1\x07\x3e\x05\x80\x75\x1b\x21\xf8\x23\xac\xb0\x44\xa3\x08\x14\x56\xb8\xd2\xa5\x96\xf7\x09\xa0\x29\xbc\x6b\xbd\x2a\xb5\x8a\x1e\xbc\x2f\xc8\xf6\x1c\x2c\xcb\xe2\xd4\x1f\x59\x06\x00\x50\x31\x55\xc8\x94\x3b\xbd\x31\xc4\x77\x80\xb5\x6c\xf3\x1f\xce\xd5\xf4\x2c\x96\x71\x43\xcb\x2e\xe0\xd2\x1a\x61\x5b\x96\xc4\x13\x78\xf2\xd9\xdc\x76\x19\xc1\x78\xc6\x3d\xbd\x62\x59\xd3\x18\x46\xff\x2b\x65\x6b\x23\x63\xf8\x08\x49\xfc\xd1\x6b\x68\x72\x4c\x3b\x88\x9a\xdc\x74\x43\x32\x1f\x5d\xa2\x6d\xda\x7d\xdd\xe7\x17\x6d\x3e\x3d\x04\x64\xea\x09\x65\x3b\x86\xff\x16\x60\x74\x19\x81\xf0\x67\x36\xeb\x68\xee\xd8\x85\x03\x3a\xc0\x92\x09\x8b\x77\x70\x24\x50\x57\x89\x0f\x93\xd4\x6c\xba\xab\x63\x36\x50\x96\x6b\xf8\x9a\xaa\x2d\xa9\xb7\xf9\x28\x96\xcf\x34\x34\xf8\x3e\xf7\x22\xb9\x83\xfe\xcb\x89\xea\x06\xf4\x62\x01\x6b\x2c\x1d\xf5\x61\x2f\x99\x3c\x6a\x04\x43\x87\x54\xb1\x21\x4a\x10\x42\x55\x0b\x68\x01\x6d\xe0\x84\x27\x09\xf2\x09\xaa\xc3\x3d\xe5\x89\x81\x3f\xf3\xdb\x04\xa1\x0a\x59\x1f\x76\x95\xbc\x87\x34\xf9\x78\xd2\x73\x11\xfb\x45\x59\x89\xc7\x78\x88\xc8\xb8\xbe\x93\x96\x9b\xaa\xce\x1a\xf3\x64\x1b\xa2\x82\x8a\xaf\x54\xb5\xb2\xcc\xf6\x30\x1f\x7d\x24\xd3\xde\xa0\x3a\xde\xe7\x7d\xa8\xb1\x6a\x16\x43\xaa\x29\x49\x60\xef\x2d\x97\x58\xc1\x62\x30\x69\xcb\xaa\xf6\xd3\x33\x2c\x80\x1e\x71\xfe\x5c\x4f\x5c\x4a\x5e\xd4\xd0\x04\x47\xd5\xcc\x66\xde\xc2\x9d\x00\xca\x50\x7b\xa2\x9a\x2f\x34\x24\xec\x01\x40\x68\x67\x2b\xee\x85\x20\x6f\x48\x44\x9b\x4d\x58\x32\x7d\x39\x66\x31\x75\xed\x0e\x8a\x02\x5c\x45\xe2\xa7\x06\xb6\x40\x8e\x03\x54\x7e\x47\x7f\x09\xb6\xf3\x16\x98\xdf\x5e\x5c\xf0\xa7\x31\xf8\x49\x87\xee\x2a\x67\x52\xba\xd2\x64\xe4\x6e\xa0\xbe\x28\xc9\xd0\xd4\xcd\x6f\xbb\xb4\x93\x30\x3e\xd7\xee\xb7\x78\x57\x0c\x36\x2b\xee\x91\x0d\xbd\x39\xff\xa5\x98\x9c\xad\x59\xd1\x70\xfd\x57\x4b\xfb\x9a\x7d\xdd\xeb\xcf\x3f\x14\x78\x61\x6b\xcc\x66\xed\xff\x27\x94\xf7\xad\x82\xff\x36\x30\x49\xba\x98\x95\x74\xe1\xf9\x69\xfa\xfe\xdf\x28\x4b\xeb\x38\x66\xc7\xec\x4f\x00\x00\x00\xff\xff\xdd\x40\xea\x6c\xa7\x08\x00\x00"
 
 func privateforwarderSetup_and_create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -282,7 +282,7 @@ func privateforwarderSetup_and_create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/setup_and_create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x79, 0x86, 0xe3, 0x73, 0x11, 0x57, 0xa, 0xf2, 0xd8, 0x1b, 0x2b, 0x9a, 0x9a, 0xc3, 0xb3, 0x56, 0xe6, 0x1e, 0x6e, 0xca, 0x66, 0x3d, 0x74, 0x30, 0x58, 0x4c, 0xe4, 0xbf, 0xa7, 0xed, 0x9c, 0x28}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x35, 0x5b, 0x14, 0x7f, 0x94, 0x67, 0xd0, 0xa1, 0xde, 0x63, 0x63, 0x5b, 0xdf, 0x54, 0x0, 0x1e, 0x1, 0xdd, 0x20, 0xad, 0xb1, 0xeb, 0x68, 0x84, 0x30, 0x5b, 0x39, 0x9d, 0x57, 0x92, 0x8d, 0x69}}
 	return a, nil
 }
 
@@ -566,7 +566,7 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	return a, nil
 }
 
-var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x93\x41\x4f\xe3\x3e\x10\xc5\xef\xf9\x14\xef\xcf\x81\x7f\x2a\x15\x7a\x47\x05\x69\xb7\x62\xa5\xbd\x21\x40\xdc\xa7\xe9\x94\x5a\xeb\xda\xd6\x78\xdc\x52\x21\xbe\xfb\xca\x6e\x12\x12\xa8\x16\x69\xa5\xcd\x2d\xcf\x33\x9e\x37\xbf\x19\xcf\x66\x78\xdc\x98\x08\x15\x72\x91\x1a\x35\xde\xc1\x44\x10\x94\xb7\xc1\x92\x32\xd6\x5e\xf2\xef\xe0\x5c\x3d\xc8\x5a\xbf\xaf\x66\x33\x90\x3b\x78\xc7\x45\x5a\xad\x40\x78\xa2\x64\x15\xc2\xd1\x27\x69\x8a\xae\x1b\x36\x02\x6a\x1a\x9f\x9c\x22\x66\x81\x34\xa7\xea\x86\x0f\x68\xc8\x21\x45\xce\x3f\xe0\x17\xda\x06\xcb\x8f\xfe\x17\xbb\xaa\x32\xdb\xe0\x45\xf1\x23\xb9\x67\xb3\x6c\x55\xac\xc5\x6f\x71\x36\xd2\xce\xba\xc8\xdb\x41\x7a\x1b\x38\x94\xfa\xb8\x27\xc3\xfb\x7b\x8e\xde\xee\x58\xda\xb8\xa1\x74\x56\x55\xc3\x66\xeb\x09\x5e\xab\x0a\x00\x82\x70\x20\xe1\x3a\x9a\x67\xc7\x72\x05\x4a\xba\xa9\xbf\x7b\x11\xbf\x7f\x22\x9b\x78\x8a\x9f\x31\x26\x7e\x50\x2f\xf4\xcc\x0b\x0a\xb4\x34\xd6\xe8\x61\xe1\x9d\x8a\xb7\x96\x65\x8a\xbb\xb4\xb4\x26\x6e\xde\x0f\xa7\x78\xa0\x1d\x97\xfc\x09\xce\xbf\x1d\x29\xf5\x25\xf3\x37\x9b\xe1\x9e\x35\x89\x03\x93\xd8\x03\xcc\xba\xc0\xea\x80\x92\x15\xa6\xd5\x01\x51\xbd\x70\x1e\xdc\x08\x43\x19\x47\x7f\x95\x59\xe3\x68\xfe\x32\x1e\x4d\x5e\x2e\x8b\xfd\xf9\xf9\x30\xe9\xb2\x24\xdd\xd4\x19\xcd\x15\x3e\x9f\xb4\x0d\xde\x91\x6e\x26\xf8\xef\x1a\xce\x58\xbc\xf6\x35\xf2\x27\xc5\x6f\x2f\xbd\xbd\x37\x63\x59\xb1\x2b\x2b\x32\xbf\x18\x5f\xdd\x08\x93\xf2\xed\x36\xe8\xa1\x54\xa9\x27\x23\x04\x8b\x72\x0c\x82\xe3\xfd\x89\x16\x41\x6e\x85\x90\x14\x46\x61\x1c\xda\xf6\xfa\x0b\x3e\x74\x1d\x69\xc7\xf5\xfc\xa2\x18\x99\x42\xfd\x57\x5d\x9e\x76\x12\xf2\x2c\x1b\x34\xfd\x2c\xdb\x6d\x6f\x1d\xe5\x35\x07\xbf\x04\x1f\x39\x0e\x64\xe3\x94\x65\x4d\x0d\xc7\xcf\x50\x16\x14\x70\xdd\x99\xed\xef\x35\x1c\x7b\xe7\x26\x6f\xd8\xfc\xfc\x75\xf4\x02\x8e\x86\xdf\x6e\xea\xd1\x10\xfe\xd8\x52\x1f\x39\xf9\xc8\x68\x54\x36\x1c\xd7\xb5\xee\xdc\x4d\x41\x7a\x0a\x56\x59\xeb\xe6\x6b\x56\x8b\xd3\xac\xfe\x8f\xb8\xe7\x86\x4d\x79\x90\xc9\x95\x87\x47\x39\x6a\x84\x48\xda\x90\xbf\xa5\xd4\x95\xf8\x97\xa0\x06\x1e\x4f\xb0\xea\x1c\x0c\x71\x1d\x1f\xc8\x5b\xf5\x3b\x00\x00\xff\xff\x08\x94\x25\x2a\x89\x05\x00\x00"
+var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x54\x4d\x4f\x1b\x31\x10\xbd\xef\xaf\x78\xe5\x40\x37\x52\x48\xee\x08\x2a\xb5\x11\x95\x7a\x43\x80\xb8\x4f\x36\x13\x62\xd5\xb1\xad\xf1\x38\x21\x42\xfc\xf7\xca\xce\x66\xd9\x85\x55\xe9\xa5\x7b\xf3\xf3\x7c\xbc\xf7\x66\xbc\xf3\x39\x1e\x36\x26\x42\x85\x5c\xa4\x46\x8d\x77\x30\x11\x04\xe5\x6d\xb0\xa4\x8c\xb5\x97\x7c\xec\xdd\xab\x07\x59\xeb\xf7\xd5\x7c\x0e\x72\x07\xef\xb8\x40\xab\x15\x08\x8f\x94\xac\x42\x38\xfa\x24\x4d\xc1\x75\xc3\x46\x40\x4d\xe3\x93\x53\xc4\x0c\x90\xe6\x54\xdd\xf0\x01\x0d\x39\xa4\xc8\xf9\x00\x7e\xa6\x6d\xb0\xfc\xe0\x7f\xb3\xab\x2a\xb3\x0d\x5e\x14\x3f\x93\x7b\x32\xcb\x16\xc5\x5a\xfc\x16\x67\x03\xec\xec\x14\x79\xd3\x4b\x6f\x03\xfb\x50\x17\xf7\x68\x78\x7f\xc7\xd1\xdb\x1d\x4b\x1b\xd7\x87\xce\xaa\xaa\x2f\xb6\x9e\xe0\xa5\xaa\x00\x20\x08\x07\x12\xae\xa3\x79\x72\x2c\x97\xa0\xa4\x9b\xfa\x87\x17\xf1\xfb\x47\xb2\x89\xa7\xf8\x15\x63\xe2\x7b\xf5\x42\x4f\xbc\xa0\x40\x4b\x63\x8d\x1e\x16\xde\xa9\x78\x6b\x59\xa6\xb8\x4d\x4b\x6b\xe2\xe6\xed\x72\x8a\x7b\xda\x71\xc9\x9f\xe0\xfc\xfb\xd1\xa5\xae\x65\xfe\xe6\x73\xdc\xb1\x26\x71\x60\x12\x7b\x80\x59\x17\xb3\x4e\x86\x92\x15\xa6\xd5\x01\x51\xbd\x70\x1e\xdc\xc0\x86\x32\x8e\xae\x94\x59\xe3\x48\x7e\x16\x8f\x24\x67\xcb\x42\xff\xea\xbc\x9f\x34\x2b\x49\xdf\xea\x6c\xcd\x25\x3e\xde\xb4\x02\x6f\x49\x37\x13\x7c\xb9\x86\x33\x16\x2f\x5d\x8f\xfc\x49\xe1\xdb\x41\xaf\x6f\x62\x2c\x2b\x76\x65\x45\xae\x2e\x86\xa5\x1b\x61\x52\xbe\xd9\x06\x3d\x94\x2e\xf5\x64\x60\xc1\xa2\x5c\x83\xe0\x78\x3f\x22\x11\xe4\x56\x08\x49\x61\x14\xc6\xa1\x95\xd7\x15\x78\xa7\x3a\xd2\x8e\xeb\xab\x8b\x42\x64\x0a\xf5\x9f\xa9\x1c\x67\x12\xf2\x2c\x1b\x34\xdd\x2c\xdb\x6d\x6f\x19\xe5\x35\x07\x3f\x07\x1f\x39\xf6\x60\xe3\x94\x65\x4d\x0d\xc7\x8f\xa6\x2c\x28\xe0\xfa\x44\xb6\xab\x6b\x38\x76\xcc\x4d\xde\xb0\xf1\x71\x0d\x26\xf0\x57\x3d\x5d\xe4\xe4\xbd\x41\x83\x9e\xe1\xb8\xab\xf5\x89\xda\x14\xa4\x63\x4e\x95\x9d\x6e\x3e\x37\x6a\x31\x6e\xd4\xd7\x88\x3b\x6e\xd8\x94\xd7\x98\x5c\x79\x75\x94\xa3\x06\xfe\x48\x1b\xf2\xcf\x16\xbd\x0c\x7e\x12\xb3\x53\x8b\xd7\xff\x68\x54\x8f\xe3\x88\x57\x27\x06\x7d\xbb\x8e\xaf\xe3\xb5\xfa\x13\x00\x00\xff\xff\x6e\xf9\x6f\xd9\x86\x05\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -582,11 +582,11 @@ func setup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x94, 0x28, 0xc3, 0xbd, 0xe8, 0x3c, 0x1e, 0xcc, 0x88, 0xa8, 0xce, 0xe7, 0xc3, 0x90, 0x9d, 0xad, 0x4a, 0x7b, 0x4a, 0x5a, 0x8e, 0xac, 0x4d, 0xbc, 0x22, 0x7d, 0xe5, 0x3f, 0x90, 0x7d, 0x57, 0xd}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6a, 0xc5, 0x72, 0xc0, 0xea, 0x1f, 0x77, 0x39, 0x2a, 0x8d, 0xe0, 0x22, 0x19, 0x7c, 0xf5, 0x83, 0xa1, 0xf2, 0xb, 0xc5, 0x4f, 0x6c, 0xca, 0x14, 0x2c, 0x4e, 0x5f, 0x6b, 0xa6, 0xc0, 0xfb, 0x27}}
 	return a, nil
 }
 
-var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xdb\x38\x10\xbd\xfb\x57\x0c\x7c\xf0\xda\x81\x57\xba\x1b\x49\x8a\xae\xd1\x5d\xec\x65\x51\x34\xdd\xde\xc7\xd4\xc8\x22\x2a\x93\x02\x39\x72\x12\x04\xf9\xef\x0b\xea\x93\xac\x24\x7f\x6d\x51\x5f\xa2\x88\x9c\x99\x37\x6f\x86\xf3\x44\x79\x28\xb4\x61\xf8\xb3\x54\x7b\xb9\xcb\xe9\xab\xfe\x4e\x0a\x52\xa3\x0f\x30\x0f\xde\xcd\x67\x63\x3b\x9f\x9e\x25\x8b\x6c\xa7\xd1\x24\x63\x46\xde\x72\x67\xff\xe9\x05\x0f\x45\x18\xc8\x7f\x35\x9f\xcd\xe2\x38\x86\xaf\x99\xb4\xc0\x06\x95\x45\xc1\x52\x2b\x90\x16\x10\x98\x0e\x45\x8e\x4c\x90\x6a\xe3\xfe\xf5\xd6\x39\x43\x06\xa1\xcb\x3c\x81\x1d\x41\x69\x29\x81\xdd\x2b\xa0\x7a\xd5\x8a\x80\x35\x60\x92\x00\x82\xa2\x67\x48\x1b\x84\xc0\x15\x84\x23\x96\x39\x57\x31\x05\x16\xb8\x93\xb9\xe4\x57\x67\xc0\x19\x49\x03\xd6\x4b\xd0\x90\xd5\xa5\x11\xe4\x36\xcf\xfc\xd8\x6f\xb3\x19\x00\x40\x4e\x0c\xe4\xa5\xf2\xcd\x79\xde\x76\x4e\x37\xd0\x3f\xdf\x2f\xde\x02\xa2\xa2\x2f\x24\x48\x1e\xc9\xbc\x3f\x76\xae\xbc\xd0\x5f\x28\xdd\x00\x2c\xa6\xb8\x8d\xbc\xe7\x1a\x4a\x61\xa8\x40\x43\x4b\x2b\xf7\x8a\xcc\x06\xb0\xe4\x6c\xf9\x87\x36\x46\x3f\x7f\xc3\xbc\xa4\x35\xfc\x6d\x6d\x49\x4f\xac\x0d\xee\xa9\xc7\xb5\xd5\x8a\x8d\xce\x73\x32\x6b\xf8\x5c\xee\x72\x69\xb3\x7e\x71\x0d\x4f\x78\xa4\xc6\xfe\x5f\x55\xfc\xb8\xbe\x82\xc5\x47\x21\x74\xa9\x78\xd5\x52\xe2\x7e\xf1\x5d\x58\xf3\x8a\x16\x10\x5a\xa5\x72\x5f\x1a\xac\x18\xbc\x8b\xfb\xed\xfe\x23\x6c\x9b\x6d\x04\xa8\xc6\xdc\xc8\x14\x14\x51\x42\x49\x67\x24\x53\xa8\xb3\x8e\x6c\x9d\x5d\xb4\xab\xf2\xbe\x5f\xf8\xe6\x51\x65\xfe\xb8\x74\x0d\xb8\x81\xe1\x4a\xc3\xcc\x67\xe4\x6c\x05\x0f\x0f\xa0\x64\x0e\x6f\x5d\x8c\x16\x9c\x21\xd7\x8c\x75\x5b\x8d\x80\x43\x95\x80\xc5\x23\x81\x64\x90\x0a\x1a\x3c\x81\x97\x1f\xa0\xba\xdd\xcb\xfb\xdf\x03\x3c\xa2\x8a\xf2\xe9\x50\xf0\x6b\xe5\x76\xb9\x5a\x03\xeb\x73\xa0\x07\x58\x73\x42\x03\xf4\x22\x2d\x4b\xb5\xef\x5b\x51\x92\x05\x77\x72\x50\x69\x25\x05\xe6\x50\x20\x67\x76\x0c\xa3\xf0\x4c\xa2\xb2\x2d\xff\x72\x08\xa3\x6a\x1c\x31\x44\x71\x85\x9f\xf6\x38\x4c\xb9\x8a\xe3\xba\x81\x1b\xa2\x17\xd0\x1a\x04\x89\x05\x26\xee\x48\x1d\x9b\x13\x09\x0f\xa3\x60\xda\x2a\x48\xe7\x7a\x70\x44\xab\x50\xef\x8f\x23\x09\x4f\xf2\xee\x62\x9a\x06\xd9\xad\x61\xfb\xc9\x70\x4d\xe4\x38\x6e\xcf\xef\x34\x23\x63\x58\xda\x6a\xb4\x4c\xad\x01\x79\xac\xd5\xae\xa9\x71\xeb\xd3\x63\x62\xc4\xed\xa9\x92\xbf\x77\x4f\xfe\x6c\xf8\x8b\xd8\x4d\xe9\x76\xe6\xfa\xf3\xdc\x9f\xe5\x95\xc6\xb8\x7d\x35\xb6\xdf\x2c\x60\x3d\xa5\x3a\x5f\x96\xf2\x34\x3a\x31\xb9\x27\xea\xb6\x27\x3e\x55\xad\x80\x17\xf7\x3b\x93\x6e\xb0\x7f\x05\x1f\x3e\x40\x81\x4a\x8a\xe5\xfc\xa9\x8a\x0d\x89\x26\x0b\x4a\x33\x64\x6e\xa4\x60\xeb\x0e\xea\x89\xd3\x92\xeb\x65\x3e\x5f\x8d\xd2\xb6\xcd\x48\x7c\x77\x63\xd2\x71\x32\x62\x56\x0f\x89\xbe\x55\xd0\x5a\x32\x1c\xa6\x73\x8e\xb1\x48\xb8\x20\x6e\x52\x05\x66\x07\xb2\x16\xf7\xb4\x81\xdb\x73\xea\xfc\x8d\x25\x77\x07\xfe\x07\x89\x25\x2e\x8b\x4b\xa4\xc5\xd7\xcf\xab\x14\xe5\x12\x41\x6e\x35\x66\x7a\xef\xd5\x52\xe3\xc3\xbd\x59\x63\x26\xf1\xd4\x7a\xe3\xbd\x69\x05\xe7\xa2\x0c\x7e\x99\xee\x4c\xa2\x39\xa7\x1d\x37\xba\x3d\x2b\x45\x9d\x04\x2d\x82\x02\x9d\x14\xa4\x9f\x28\x0e\x83\x71\xe3\x7e\x97\x94\x6c\x60\x38\xd4\x30\xef\x53\xb4\xa6\xe1\x46\xbc\x13\x47\xa4\xf6\xb9\x86\x5f\x9e\xdb\xff\x55\xc9\x81\xa2\xfd\xd4\xa6\x6c\xa3\x8c\xb1\x7f\x26\xdc\x69\x11\x6d\xb4\x13\xc1\x50\x4a\x86\x94\xa0\xe6\xc2\xd3\xc0\xb0\x7e\xc1\x43\x95\x0c\x2f\x25\x7d\x0f\xdc\x36\x19\x07\xe5\xb9\x7c\x54\x4e\xaa\xe5\xb6\xba\x03\x3a\x4d\xa9\xb1\x84\x49\x7a\xf8\x1b\x79\x9c\xd5\xdc\x54\x7f\xe8\x85\x44\xc9\x14\xdc\x5e\x62\xf8\x98\x24\x15\x39\x83\xfb\x61\x70\x3b\x2c\xad\x9b\x6f\x98\x24\xff\xd0\x73\xfd\x55\x7a\x20\xce\xf4\x49\xfe\x22\x6f\xfb\x52\x78\x37\xc5\x73\xfa\x1a\x42\x7f\x9f\xfd\x17\x00\x00\xff\xff\x97\x3a\xe1\x86\xc6\x0f\x00\x00"
+var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xdb\x38\x10\xbd\xfb\x57\x0c\x7c\xf0\xca\x81\x57\xba\x1b\x49\x8b\xae\xd1\x5d\xec\x65\x51\x34\xdd\xde\xc7\xd4\xc8\x22\x2a\x93\x02\x39\x72\x12\x04\xf9\xef\x0b\xea\xcb\x64\x25\xf9\x6b\x8b\xf8\x12\x45\xe4\xcc\xbc\x79\x33\x9c\x27\xca\x7d\xa9\x0d\xc3\x9f\x95\xda\xc9\x6d\x41\xdf\xf4\x0f\x52\x90\x19\xbd\x87\x79\xf0\x6e\x3e\x1b\xdb\xf9\xf8\x24\x59\xe4\x5b\x8d\x26\x1d\x33\xf2\x96\x7b\xfb\xcf\xcf\xb8\x2f\xc3\x40\xfe\xab\xf9\x6c\x96\x24\x09\x7c\xcb\xa5\x05\x36\xa8\x2c\x0a\x96\x5a\x81\xb4\x80\xc0\xb4\x2f\x0b\x64\x82\x4c\x1b\xf7\xaf\xb7\xce\x39\x32\x08\x5d\x15\x29\x6c\x09\x2a\x4b\x29\x6c\x5f\x00\xd5\x8b\x56\x04\xac\x01\xd3\x14\x10\x14\x3d\x41\xd6\x22\x04\xae\x21\x1c\xb0\x2a\xb8\x8e\x29\xb0\xc4\xad\x2c\x24\xbf\x38\x03\xce\x49\x1a\xb0\x5e\x82\x86\xac\xae\x8c\x20\xb7\x79\xe6\xc7\x7e\x9d\xcd\x00\x00\x0a\x62\x20\x2f\x95\xef\xce\xf3\xa6\x77\xba\x86\xe3\xf3\xfd\xe2\x35\x20\x2a\xfe\x4a\x82\xe4\x81\xcc\xdb\x87\xde\x95\x17\xfa\x2b\x65\x6b\x80\xc5\x14\xb7\xb1\xf7\xdc\x40\x29\x0d\x95\x68\x28\xb2\x72\xa7\xc8\xac\x01\x2b\xce\xa3\x3f\xb4\x31\xfa\xe9\x3b\x16\x15\xad\xe0\x6f\x6b\x2b\x7a\x64\x6d\x70\x47\x47\x5c\x1b\xad\xd8\xe8\xa2\x20\xb3\x82\x2f\xd5\xb6\x90\x36\x3f\x2e\xae\xe0\x11\x0f\xd4\xda\xff\xab\xca\x9f\xd7\x97\xb0\xf8\x24\x84\xae\x14\x2f\x3b\x4a\xdc\x2f\xb9\x0b\x6b\x5e\xd3\x02\x42\xab\x4c\xee\x2a\x83\x35\x83\x77\xc9\x71\xbb\xff\x08\x9b\x76\x1b\x01\xaa\x31\x37\x32\x03\x45\x94\x52\xda\x1b\xc9\x0c\x9a\xac\x63\xdb\x64\x17\x6f\xeb\xbc\xef\x17\xbe\x79\x5c\x9b\x7f\x88\x5c\x03\xae\x61\xb8\xd2\x32\xf3\x05\x39\x5f\xc2\xc3\x03\x28\x59\xc0\x6b\x1f\xa3\x03\x67\xc8\x35\x63\xd3\x56\x23\xe0\x50\xa5\x60\xf1\x40\x20\x19\xa4\x82\x16\x4f\xe0\xe5\x27\xa8\x6e\x77\x74\xff\x7b\x80\x47\xd4\x51\x3e\xef\x4b\x7e\xa9\xdd\x46\xcb\x15\xb0\x3e\x07\x7a\x80\xb5\x20\x34\x40\xcf\xd2\xb2\x54\xbb\x63\x2b\x4a\xb2\xe0\x4e\x0e\x2a\xad\xa4\xc0\x02\x4a\xe4\xdc\x8e\x61\x14\x9e\x49\x5c\x75\xe5\x8f\x86\x30\xea\xc6\x11\x43\x14\x57\xf8\xe9\x8e\xc3\x94\xab\x24\x69\x1a\xb8\x25\x7a\x01\x9d\x41\x90\x58\x60\xe2\x8e\xd4\xa1\x3d\x91\xf0\x30\x0a\xa6\xab\x82\x74\xae\xc7\xfb\xe5\x0a\xd2\x5d\x40\xd3\xc2\xba\x38\xe6\xe4\x58\xb8\x26\x72\x92\x74\x87\x77\x9a\x8e\x31\x2c\x5d\x29\x3a\x9a\x56\x80\x3c\xd6\x67\xd7\x14\xb8\xf3\xe9\x31\x31\xe2\xf6\x54\xbd\xdf\xfa\x27\x7f\x30\xfc\x45\xec\x46\x74\x37\x70\xfd\x61\xee\x0f\xf2\x5a\x60\xdc\xbe\x06\xdb\x6f\x16\xb0\x19\x51\xbd\x2f\x4b\x45\x16\x9f\x18\xdb\x13\x75\xdb\x11\x9f\xaa\x56\xc0\x8b\xfb\x9d\x49\x37\xd8\xbf\x84\x8f\x1f\xa1\x44\x25\x45\x34\x7f\xac\x63\x43\xaa\xc9\x82\xd2\x0c\xb9\x9b\x27\xd8\xb9\x83\x66\xdc\x74\xe4\x7a\x99\xcf\x97\xa3\xb4\x6d\x72\x12\x3f\xdc\x8c\x74\x9c\x8c\x98\x35\x13\xe2\xd8\x2a\x68\x2d\x19\x0e\xd3\x39\xc7\x58\x2c\x5c\x10\x37\xa6\x02\xb3\x3d\x59\x8b\x3b\x5a\xc3\xed\x39\xf5\xfe\xc6\x92\xbb\x03\xff\x6b\xc4\x12\x57\xe5\x25\xba\xe2\x8b\xe7\x55\x72\x72\x89\x1a\x77\x02\x33\xbd\xf7\x6a\x9d\xf1\xe1\xde\x2c\x30\x93\x78\x1a\xb1\xf1\xde\x74\x6a\x73\x51\x06\xef\x26\x3a\x93\x68\xce\x09\xc7\x8d\x6e\xcf\xea\x50\xaf\x3f\x8b\xa0\x40\x27\xd5\xe8\x17\x8a\xc3\x60\xdc\xb8\xdf\x25\x25\x1b\x18\x0e\x35\xcc\xfb\x0e\x6d\x68\xb8\x11\xef\xc4\x11\x69\x7c\xae\xe0\xdd\x73\xfb\xbf\x2a\x39\x50\xb4\x5f\xda\x94\x5d\x94\x31\xf6\xcf\x84\x3b\x2d\xa2\xad\x76\x22\x18\xca\xc8\x90\x12\xd4\xde\x76\x5a\x18\xd6\x2f\x78\xa8\x92\xe1\x8d\xe4\xd8\x03\xb7\x4d\xc6\x41\x79\x2e\x1f\x95\x93\x6a\xb9\xa9\x2f\x80\x4e\x53\x1a\x2c\x61\x92\x1e\xfe\x56\x1e\x67\x0d\x37\xf5\x1f\x7a\x26\x51\x31\x05\x57\x97\x04\x3e\xa5\x69\x4d\xce\xe0\x72\x18\x5c\x0d\x2b\xeb\xe6\x1b\xa6\xe9\x3f\xf4\xd4\x7c\x92\xee\x89\x73\x7d\x92\xbf\xd8\xdb\x1e\x09\xef\x9a\x78\x4e\x5f\x43\xe8\x6f\xb3\xff\x02\x00\x00\xff\xff\x38\x97\x93\x3b\xc3\x0f\x00\x00"
 
 func switchboardAdd_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -602,7 +602,7 @@ func switchboardAdd_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x62, 0x8e, 0xe0, 0x21, 0x13, 0xcd, 0x5c, 0x4a, 0xcc, 0xf4, 0x47, 0xd, 0x78, 0xb1, 0x13, 0xc6, 0x5a, 0xf8, 0x20, 0x62, 0x51, 0xc7, 0x13, 0xaf, 0xfc, 0x29, 0x86, 0xd1, 0x6, 0x35, 0xfe, 0x5c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x43, 0x8, 0xf4, 0xbb, 0x70, 0xf5, 0x5e, 0xaf, 0xc3, 0x10, 0x16, 0x22, 0x8a, 0xbd, 0xaf, 0x7d, 0x4c, 0xd2, 0x4e, 0x50, 0xa, 0x56, 0xc7, 0x9a, 0xd3, 0x23, 0x71, 0xcc, 0xab, 0xa3, 0xb6, 0x65}}
 	return a, nil
 }
 
diff --git a/lib/go/test/token_test.go b/lib/go/test/token_test.go
index fb0c41a7..3205c9bd 100644
--- a/lib/go/test/token_test.go
+++ b/lib/go/test/token_test.go
@@ -555,54 +555,6 @@ func TestMintingAndBurning(t *testing.T) {
 		false,
 	)
 
-	t.Run("Shouldn't be able to mint zero tokens", func(t *testing.T) {
-		script := templates.GenerateMintTokensScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		tx := createTxWithTemplateAndAuthorizer(
-			b, script, exampleTokenAddr)
-
-		_ = tx.AddArgument(cadence.NewAddress(joshAddress))
-		_ = tx.AddArgument(CadenceUFix64("0.0"))
-
-		signAndSubmit(
-			t, b, tx,
-			[]flow.Address{
-				b.ServiceKey().Address,
-				exampleTokenAddr,
-			},
-			[]crypto.Signer{
-				serviceSigner,
-				exampleTokenSigner,
-			},
-			true,
-		)
-
-		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		result := executeScriptAndCheck(t, b,
-			script,
-			[][]byte{
-				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
-			},
-		)
-
-		assert.Equal(t, CadenceUFix64("1000.0"), result)
-
-		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		result = executeScriptAndCheck(t, b,
-			script,
-			[][]byte{
-				jsoncdc.MustEncode(cadence.Address(joshAddress)),
-			},
-		)
-
-		assert.Equal(t, CadenceUFix64("0.0"), result)
-
-		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		supply := executeScriptAndCheck(t, b, script, nil)
-		assert.Equal(t, CadenceUFix64("1000.0"), supply)
-	})
-
 	t.Run("Should mint tokens, deposit, and update balance and total supply", func(t *testing.T) {
 		script := templates.GenerateMintTokensScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
 		tx := createTxWithTemplateAndAuthorizer(
diff --git a/transactions/privateForwarder/setup_and_create_forwarder.cdc b/transactions/privateForwarder/setup_and_create_forwarder.cdc
index e24b61cc..5792a822 100644
--- a/transactions/privateForwarder/setup_and_create_forwarder.cdc
+++ b/transactions/privateForwarder/setup_and_create_forwarder.cdc
@@ -24,7 +24,7 @@ transaction {
 
         // Create a public Vault Capability if needed
         if signer.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath) == nil {
-            let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(
+            let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(
                     ExampleToken.VaultStoragePath
                 )
             signer.capabilities.publish(vaultCap, at: ExampleToken.VaultPublicPath)
diff --git a/transactions/setup_account.cdc b/transactions/setup_account.cdc
index d56fb941..416d08dd 100644
--- a/transactions/setup_account.cdc
+++ b/transactions/setup_account.cdc
@@ -21,7 +21,7 @@ transaction () {
         signer.storage.save(<-vault, to: ExampleToken.VaultStoragePath)
 
         // Create a public capability to the Vault that exposes the Vault interfaces
-        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(
+        let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(
             ExampleToken.VaultStoragePath
         )
         signer.capabilities.publish(vaultCap, at: ExampleToken.VaultPublicPath)
diff --git a/transactions/switchboard/add_vault_capability.cdc b/transactions/switchboard/add_vault_capability.cdc
index 1357c6f3..f2d04352 100644
--- a/transactions/switchboard/add_vault_capability.cdc
+++ b/transactions/switchboard/add_vault_capability.cdc
@@ -22,7 +22,7 @@ transaction {
             signer.capabilities.unpublish(ExampleToken.VaultPublicPath)
             signer.capabilities.unpublish(ExampleToken.ReceiverPublicPath)
             // Issue Vault & Receiver Capabilities
-            let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ExampleToken.VaultStoragePath)
+            let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(ExampleToken.VaultStoragePath)
             let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ExampleToken.VaultStoragePath)
             // Publish Capabilities
             signer.capabilities.publish(vaultCap, at: ExampleToken.VaultPublicPath)

From 0cb177ae05144e600994feb40343d52f987e366c Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 25 Oct 2023 11:40:54 -0500
Subject: [PATCH 059/115] rm unused import from ExampleToken-v2

---
 contracts/ExampleToken-v2.cdc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index ae2a4b2f..2a837e2e 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -2,7 +2,6 @@ import FungibleToken from "FungibleToken"
 import MetadataViews from "MetadataViews"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 import ViewResolver from "ViewResolver"
-// import MultipleVaults from "MultipleVaults"
 
 access(all) contract ExampleToken: ViewResolver {
 

From a1be91b436544b5bd67b5551dc38bbd62274bf4f Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 25 Oct 2023 11:44:34 -0500
Subject: [PATCH 060/115] update NonFungibleToken-v2 implementation from source
 repo

---
 contracts/utility/NonFungibleToken.cdc     | 42 +++++++++++-----------
 lib/go/contracts/internal/assets/assets.go | 12 +++----
 2 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index fae0e93b..85667a90 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -58,7 +58,7 @@ access(all) contract NonFungibleToken {
     ///
     access(all) event Withdraw(id: UInt64, uuid: UInt64, from: Address?, type: String)
 
-    access(self) fun emitNFTWithdraw(id: UInt64, uuid: UInt64, from: Address?, type: String): Bool
+    access(self) view fun emitNFTWithdraw(id: UInt64, uuid: UInt64, from: Address?, type: String): Bool
     {
         emit Withdraw(id: id, uuid: uuid, from: from, type: type)
         return true
@@ -70,7 +70,7 @@ access(all) contract NonFungibleToken {
     ///
     access(all) event Deposit(id: UInt64, uuid: UInt64, to: Address?, type: String)
 
-    access(self) fun emitNFTDeposit(id: UInt64, uuid: UInt64, to: Address?, type: String): Bool
+    access(self) view fun emitNFTDeposit(id: UInt64, uuid: UInt64, to: Address?, type: String): Bool
     {
         emit Deposit(id: id, uuid: uuid, to: to, type: type)
         return true
@@ -82,7 +82,7 @@ access(all) contract NonFungibleToken {
     ///
     access(all) event Transfer(id: UInt64, uuid: UInt64, from: Address?, to: Address?, type: String)
 
-    access(self) fun emitNFTTransfer(id: UInt64, uuid: UInt64?, from: Address?, to: Address?, type: String?): Bool
+    access(self) view fun emitNFTTransfer(id: UInt64, uuid: UInt64?, from: Address?, to: Address?, type: String?): Bool
     {
         // The transfer method can return false even if it didn't do a transfer
         // in which case we don't want the event to be emitted
@@ -99,7 +99,7 @@ access(all) contract NonFungibleToken {
     /// The event that should be emitted when an NFT is destroyed
     access(all) event Destroy(id: UInt64, uuid: UInt64, type: String)
 
-    access(self) fun emitNFTDestroy(id: UInt64, uuid: UInt64, type: String): Bool
+    access(self) view fun emitNFTDestroy(id: UInt64, uuid: UInt64, type: String): Bool
     {
         emit Destroy(id: id, uuid: uuid, type: type)
         return true
@@ -122,7 +122,7 @@ access(all) contract NonFungibleToken {
 
         destroy() {
             pre {
-                //NonFungibleToken.emitNFTDestroy(id: self.getID(), uuid: self.uuid, type: self.getType().identifier)
+                NonFungibleToken.emitNFTDestroy(id: self.getID(), uuid: self.uuid, type: self.getType().identifier)
             }
         }
     }
@@ -143,7 +143,7 @@ access(all) contract NonFungibleToken {
         access(Withdrawable) fun withdraw(withdrawID: UInt64): @{NFT} {
             post {
                 result.getID() == withdrawID: "The ID of the withdrawn token must be the same as the requested ID"
-                //NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
+                NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
             }
         }
 
@@ -161,7 +161,7 @@ access(all) contract NonFungibleToken {
         access(Withdrawable) fun withdrawWithUUID(_ uuid: UInt64): @{NFT} {
             post {
                 result == nil || result!.uuid == uuid: "The ID of the withdrawn token must be the same as the requested ID"
-                //NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
+                NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
             }
         }
 
@@ -170,7 +170,7 @@ access(all) contract NonFungibleToken {
         access(Withdrawable) fun withdrawWithType(type: Type, withdrawID: UInt64): @{NFT} {
             post {
                 result == nil || result.getID() == withdrawID: "The ID of the withdrawn token must be the same as the requested ID"
-                //NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
+                NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
             }
         }
 
@@ -179,7 +179,7 @@ access(all) contract NonFungibleToken {
         access(Withdrawable) fun withdrawWithTypeAndUUID(type: Type, uuid: UInt64): @{NFT} {
             post {
                 result == nil || result!.uuid == uuid: "The ID of the withdrawn token must be the same as the requested ID"
-                //NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
+                NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
             }
         }
     }
@@ -260,16 +260,15 @@ access(all) contract NonFungibleToken {
 
         /// deposit takes a NFT and adds it to the collections dictionary
         /// and adds the ID to the id array
-        access(all) fun deposit(token: @{NonFungibleToken.NFT})
-        // {
-        //     pre {
-        //         // We emit the deposit event in the `Collection` interface
-        //         // because the `Collection` interface is almost always the final destination
-        //         // of tokens and deposit emissions from custom receivers could be confusing
-        //         // and hard to reconcile to event listeners
-        //         //NonFungibleToken.emitNFTDeposit(id: token.getID(), uuid: token.uuid, to: self.owner?.address, type: token.getType().identifier)
-        //     }
-        // }
+        access(all) fun deposit(token: @{NonFungibleToken.NFT}) {
+            pre {
+                // We emit the deposit event in the `Collection` interface
+                // because the `Collection` interface is almost always the final destination
+                // of tokens and deposit emissions from custom receivers could be confusing
+                // and hard to reconcile to event listeners
+                NonFungibleToken.emitNFTDeposit(id: token.getID(), uuid: token.uuid, to: self.owner?.address, type: token.getType().identifier)
+            }
+        }
 
         /// Function for a direct transfer instead of having to do a deposit and withdrawal
         /// This can and should return false if the transfer doesn't succeed and true if it does succeed
@@ -277,7 +276,8 @@ access(all) contract NonFungibleToken {
         access(Withdrawable) fun transfer(id: UInt64, receiver: Capability<&{NonFungibleToken.Receiver}>): Bool {
             pre {
                 receiver.check(): "Could not borrow a reference to the NFT receiver"
-                //NonFungibleToken.emitNFTTransfer(id: id, uuid: self.borrowNFTSafe(id: id)?.uuid, from: self.owner?.address, to: receiver.borrow()?.owner?.address, type: self.borrowNFT(id).getType().identifier)
+                self.getIDs().contains(id): "The collection does not contain the specified ID"
+                NonFungibleToken.emitNFTTransfer(id: id, uuid: self.borrowNFTSafe(id: id)?.uuid, from: self.owner?.address, to: receiver.borrow()?.owner?.address, type: self.borrowNFT(id).getType().identifier)
             }
         }
 
@@ -305,7 +305,7 @@ access(all) contract NonFungibleToken {
 
         access(all) view fun borrowNFTSafe(id: UInt64): &{NonFungibleToken.NFT}? {
             post {
-                (result == nil) || (result?.getID() == id):
+                (result == nil) || (result?.getID() == id): 
                     "Cannot borrow NFT reference: The ID of the returned reference does not match the ID that was specified"
             }
             return nil
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 8cc1f1b3..b04a824c 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,6 +1,6 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (12.437kB)
+// ../../../contracts/ExampleToken-v2.cdc (12.39kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
 // ../../../contracts/FungibleToken-v2.cdc (11.009kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
@@ -8,7 +8,7 @@
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (26.648kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (13.341kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (13.408kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.699kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.29kB)
 // ../../../contracts/utility/ViewResolver.cdc (1.749kB)
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x5b\x72\x7a\xc9\xb6\x1a\x3b\x6e\x9a\xc4\xbb\x3b\xd3\x4e\x33\x89\x9a\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x1d\xdc\x48\x80\x17\x59\x96\xf3\xb4\x7a\xb1\x49\xe2\x1c\x9c\xfb\x0d\xa0\x45\xc9\x85\x82\xeb\x8a\xad\xe8\x32\xc7\x05\xff\x82\x0c\x32\xc1\x0b\x18\x45\xef\x46\x27\x6e\xe5\xef\xa8\x48\x4a\x14\x79\x4f\x71\x2b\xdd\xca\xe8\x5d\xbd\x32\x82\xef\x03\x1b\x5e\x50\xe3\xd0\x4f\x6f\x51\xf2\x7c\x83\xc2\x41\x85\xaf\x46\x27\xb3\x19\x78\xc2\xaa\x5c\xd1\x32\xc7\xf7\xa4\xca\x55\x4d\x59\xf4\x72\x74\x72\x42\x92\x04\xa5\x1c\x93\x3c\x9f\x40\xc2\x99\x12\x24\x51\xf0\xfa\x86\x14\xa5\xa3\x63\x1e\xef\x79\x7b\x72\x02\x00\x30\x9b\xcd\x60\xb1\x46\xc0\x0d\x32\x05\x6a\x4d\x14\x50\x09\x58\x50\xa5\x30\x85\xed\x1a\x19\x30\xdc\x82\xd2\x18\x24\x10\x81\x50\x50\xa6\x30\x35\xc0\xe1\x9e\x16\x81\xd9\x49\xfe\x6e\x96\x8c\x49\xc1\x2b\xa6\xe6\xf0\xe7\x35\xbd\x79\xf6\xc3\x29\xa8\x5d\x89\x73\x78\xa7\x04\x65\xab\x49\xb0\x3d\x57\x24\x07\x59\x95\x65\xbe\x03\x9e\x45\x44\x4b\xa0\x0c\xf0\x86\x4a\x85\x2c\xc1\xce\xa6\x1b\x22\x40\x69\xf0\x77\x06\xda\x6f\xd5\xe0\x7e\x91\x16\x94\xc1\x1b\xa2\xd6\x1d\xd8\x1c\x95\xfd\xfc\x4e\x71\x41\x56\xa8\x17\x69\xea\xea\x87\x06\xcb\x9f\x12\x85\x41\x22\x7b\xb1\x18\x1d\x0c\x62\x19\x84\x78\x53\x2d\x73\x9a\x58\x80\xe6\xff\xde\xf5\x6f\x31\x41\xba\x41\x31\x00\x52\x13\x7a\x5d\xb1\x44\x51\xce\x40\x71\x10\xa8\x2a\xc1\x40\xad\xd1\x08\x5e\x5a\xe5\xea\xc7\xda\x3c\xa8\x96\x73\x81\x4c\x75\xf9\xda\x50\xdc\x42\x56\x31\x58\xa1\x32\xd4\x2e\x34\x8e\xf1\x64\x0e\x1f\xf4\x7f\x1f\xe1\xd6\x80\xe8\x9f\x26\x50\xef\xf0\x42\x08\xb2\xab\xbf\x5f\xda\x7f\x2e\x7e\x09\xd5\x39\x35\xa8\x9e\x8f\x27\x1f\x6b\x68\x4f\xa6\x47\x60\x3e\xdc\x9d\xec\x27\x48\xbb\xd2\x20\x2d\x1b\xbd\xc7\x5b\xcc\xe0\x12\x24\xe6\xd9\x94\x24\x89\xb6\xc3\x69\x42\x4a\xb2\xa4\x39\x55\x14\xe5\x74\xc9\x85\xe0\xdb\x8b\x6f\xfa\xa8\x9b\x95\x46\xb4\x33\x0c\xbe\x99\x4f\x93\x7a\x1f\xfd\xbb\xba\x82\x92\x30\x9a\x8c\x47\x2f\x79\x95\xa7\xc0\xb8\x02\x8b\x16\x08\x08\xcc\x50\x68\x9b\xd5\xaa\xd0\x42\x37\x54\x81\xf0\xfe\xdd\xa0\x6a\x4b\xc2\x93\x3f\x6d\x18\x1d\x92\x89\x16\x87\xc3\xa8\x57\x8e\x3f\x19\x29\xcd\x41\x4b\x65\x32\x87\x17\x6c\xf7\x4e\x89\x2a\x51\x57\xff\xa3\x12\x0a\x79\xd7\x9c\x47\x82\xd2\xfe\x60\x68\xf2\x4f\xf5\xdb\xd7\x24\x59\x43\xa5\x7d\x5a\x2a\x2e\x50\x02\x61\x40\x99\x54\x44\x13\xc3\x33\xe0\x2c\xdf\x19\x8a\x0c\xb8\x8e\x40\x6a\x8d\xd4\xae\x26\x2b\x8c\xe2\x66\xe6\x3c\x4e\xba\x65\x0e\x86\xb0\x14\x56\x7c\x83\x82\x61\x0a\x4b\x8b\xad\x14\x68\xde\x97\x5c\x2a\xed\x83\x29\x35\x80\x35\x3a\xca\x5a\xd9\xca\x44\x5f\xb5\xc6\x9d\x89\xbb\x09\xc9\x73\x4c\xa7\xd1\xee\xc9\x1a\x93\x2f\x12\xd6\xa4\x2c\x91\x01\x51\x20\x2a\xa6\x68\x81\x06\x14\x75\x98\x27\x35\x85\x3a\xae\xb7\x70\xd4\xb8\x74\x56\xa8\x44\x82\x7a\x05\xb3\xfc\x2f\x11\x12\x81\x44\x67\x01\xc7\x99\x0e\x1b\x78\xa3\xb4\x84\xa2\x28\xe2\xe3\xca\xae\x46\xa7\xc9\x4d\x31\xa3\xcc\x00\x9f\x82\x34\x0a\x16\xa8\x49\x60\x1c\xb6\x64\x07\x19\xd7\xb4\x15\x24\xa7\x09\xe5\x95\xb4\xea\x50\xdc\xed\x69\xa5\xd8\x88\x86\x57\x6e\x5b\xca\x80\x50\x31\x85\x17\x20\x4b\x4c\x28\xc9\xc1\xe4\x1a\x61\xcc\x46\x73\x00\x0c\x31\x95\x1a\xd3\xb2\xa1\x41\x71\x93\xb5\x6a\x74\x4d\x46\x8b\x45\x11\xfa\x56\x8d\xd0\x90\x32\x8f\x55\x63\xfd\xc0\xe7\xd0\x50\x23\x26\x1b\xc1\x92\xe4\xde\x98\xd4\x9a\x4a\x6b\xb1\xf5\xda\x76\x06\x73\xab\xe3\xec\x15\x2c\xd4\x3e\x6a\x57\xca\x7d\x49\xa6\x17\xa2\x1c\x4e\x32\xbd\xeb\x85\xcf\x34\xbd\x39\xa6\xb1\x17\xed\x88\xd2\xd8\x81\xa3\x09\x4a\xa2\xd6\xda\xee\x04\x06\xde\x2c\xd7\xc6\xf1\xd5\xae\xa4\xda\xf6\x8c\x59\x19\xa7\x4b\xfb\xa5\x11\x04\xf9\x57\x98\xb5\xf2\xaa\x8e\xf8\xc1\x63\x18\xd5\x82\xe8\x60\x22\x9a\xec\x91\xcd\xdd\x30\x0f\x56\x4a\x31\x0b\x5e\x6d\x9e\x87\x35\xd9\x20\x10\xbf\xb4\x0e\x95\xbb\x43\x19\x69\x64\xa9\xf9\x68\x9e\xf6\xb1\x51\x76\x35\x76\x24\x17\xff\x2f\xeb\x22\xe2\x6b\x31\xf4\x36\x30\x95\xc3\x59\x0a\x0d\xac\x8f\xa9\x87\xe7\xfc\x60\x87\x0f\xd1\x4b\xfd\x33\x35\xc8\x70\x3d\x3e\xbd\x5e\xe8\xbf\xcf\xc7\x93\xd3\x23\x40\x5f\x51\x59\xe6\x64\x77\x24\xb4\x89\x21\xaf\x88\x22\x47\xc1\x2f\x9a\xb2\xf7\xf9\x38\x4e\xbb\x1f\xef\x93\xeb\x31\x75\x83\xfe\xc9\x2d\x55\xc9\xda\xaa\xe5\xb6\x43\x71\x42\x24\x1e\x2e\xef\x79\x07\x3e\xd0\xe3\xbd\x08\xc6\xbd\xd0\xfa\x97\x29\xa7\x95\xb9\xb7\xb7\x86\xcf\x87\x68\x74\x02\x44\x3e\xd9\x4f\x88\x5b\x7c\xd5\x55\x5e\x43\x4c\xad\xe4\xa3\xc8\x09\x4d\xe4\x00\x82\xea\xe5\x57\xbd\x14\x4d\x8e\x55\x59\x23\x95\x7e\xad\xe9\x9a\xb2\xc0\x94\x12\xb8\x8c\xdb\xe8\xe9\xef\xfa\xed\xb0\xb2\x8c\x8c\x68\x8e\xf3\x16\xd8\xbf\x16\x8b\x37\xd7\x34\xc7\xfd\x90\x95\xc8\xe7\x30\x5a\x2b\x55\xca\xf9\x6c\x46\xa4\x44\x25\xa7\x5b\x5c\x4a\xaa\xf0\x4c\xa3\x95\xd3\x84\x17\xb3\x1f\xb3\x67\xdf\xfd\xfc\x43\x72\x9e\xfc\x83\xfc\x94\xa4\xe9\xb3\x1f\xbe\x5f\x3e\x4d\x7e\xfa\xee\xbc\xf5\x81\xfc\xf8\x63\xb2\x7c\x9a\xfc\xfc\xfd\xb3\x4f\xd7\x39\xdf\x7e\xfa\x8b\x8b\xb4\x20\xe2\xcb\x54\x6e\x56\xa3\x41\x3a\x7a\x3c\xd7\xff\x8c\x44\x16\xa6\xe7\x1d\xd1\x82\xac\x70\x26\x37\xab\x6f\x6f\x8a\xbc\x1f\x5b\x57\x3b\x91\x68\x65\xbf\x6c\xe5\xf8\x83\xf9\xfc\xb1\x1f\xfc\x10\x7f\x72\xda\x1d\x96\x35\x23\x85\xe6\xc1\x35\x02\x35\x32\xdb\xec\x8f\x86\x05\x20\x77\xc5\x92\x6b\x15\xbd\xbe\x5e\xec\x59\x96\xa2\x4c\x04\x2d\x75\x8d\x3a\x87\xd1\x42\xa7\xac\xcc\x6f\x61\xaa\x34\x5d\x36\x56\x12\x53\x20\xa6\x54\x77\x4d\x87\xae\xea\xd6\x98\x97\xb0\xe3\x15\xa4\xb8\xc1\x9c\x9b\xff\x05\x30\x5d\xa5\x5e\x2f\xe0\xff\x38\xd3\x9a\x9c\xee\xd9\x1b\x6f\x14\x0a\x46\xf2\x3f\xdf\xfe\xd6\xb6\xc1\xd7\xcd\xa7\x71\x6d\x64\x6e\xef\xb3\x4c\x4d\x39\xcb\x34\x72\x2e\x56\xa3\x3d\x46\x90\xf3\x15\x97\x73\xa7\xc2\x3d\xa2\xe2\xba\x98\x95\xf3\x9e\xb0\x1a\xfe\x46\x6a\x4b\x95\x42\x31\x3a\x88\x58\xb7\xd8\x38\x81\xa6\xf5\xd3\x32\xe7\xc9\x97\x64\x4d\x28\x1b\xf5\x9b\x0b\x98\x9c\xd1\xf7\xf6\xe8\xd8\x11\x86\xb0\xe1\xe8\x11\x74\xa4\x51\xbf\xe9\x3b\x53\x57\xcf\xed\x6d\x4a\x33\xc1\x8b\x79\xa7\xfc\x1b\x66\xf4\x61\xdd\xa9\xad\x5a\x2d\xa1\x03\xd2\x3b\x28\x79\x79\x71\x0c\xbb\x5b\x54\xe4\xb7\xd9\x19\x36\xa1\xb8\x72\xef\xd4\x5a\xfb\xe2\x94\x25\x31\x00\x6c\xea\xce\x61\xb0\x52\xf0\x0d\x4d\xfd\x7e\xb3\x52\xd0\x0d\x51\xd8\x1d\x09\xdc\x4f\xf1\x6f\x94\x7d\xc1\xd4\x46\x4a\x63\x50\xbd\xea\xdd\x1b\x69\x2d\x07\x8f\x46\xe4\x79\x7a\x34\x22\xdb\xc6\xbe\x2e\x4a\xb5\x33\x8b\xfd\x60\x6e\x0e\xe3\xac\x62\xba\x8c\xfd\xe5\xb6\xa7\xa3\xbc\xbb\xc7\xff\x9d\x85\x5d\x9c\xd5\x23\x90\xf6\x46\xe3\x3d\x8e\xdd\xff\xe9\x48\xcf\x8e\xeb\xcf\x63\xab\xb9\x00\xcb\xb0\x43\x44\x13\xde\x48\x11\xc1\x97\x03\x78\xbb\xeb\x6b\x19\x18\xcd\x87\x7a\xab\x15\x2a\x8d\x9b\x0b\x85\x69\x33\x03\x05\x6e\x52\x95\xe9\x66\x85\xeb\xbe\x08\xe4\x54\x9a\x11\x85\x6d\x19\xa3\x81\x2b\x95\xb5\xa5\x9b\x2a\xbc\x74\x83\x0d\xd8\xd3\xed\xf4\xec\xab\x8d\xe6\xd6\x9a\xe4\xaf\x9c\xe7\x6d\x53\xd1\x51\x54\x7a\x28\x03\xd0\x5a\x7e\x09\xb7\xb1\x00\xe2\xd5\x1f\x8c\xe3\xaf\xd0\x6c\x36\x9e\x7c\x84\x4b\x50\xa2\xc2\xde\x3e\x2e\x02\x3c\xb8\x89\xa3\xb2\xcb\xd5\x58\xd5\x3e\x36\xb1\x84\xee\x69\x1d\x87\xe4\xf2\x41\x99\x8e\xf0\xea\x0a\x32\x92\x4b\xec\x57\x27\x50\x46\x15\x25\x39\xfd\xdb\xce\x27\xfc\x88\x86\xa8\x66\xd4\x63\x9c\xc9\x8c\xcf\x69\xd1\xa0\xd1\x80\xe3\xd6\x8c\x66\xd2\xee\x8c\x34\x7d\x1e\xe5\xa5\x47\xde\x51\x10\x4d\x91\x29\x9a\x51\x14\x70\x09\xa3\x4e\xa8\x1c\x75\x71\x06\xa1\x1f\x2e\xc3\xe9\xc7\xb8\xc1\x35\x0f\xf0\x4e\x9e\x74\x71\x34\xd1\x1c\x2e\x83\x2e\xfd\x01\x18\xc2\x44\x32\x8c\x23\x62\xc8\x4f\x07\x46\x01\xbe\x96\x7f\xfd\x13\x55\xa4\x0a\x37\x58\xdc\x33\x2c\x0b\x3c\xe4\x57\x0b\xa4\xbd\xc2\xaa\x64\x8f\xe1\xb4\xd5\xd1\xa2\x63\x4b\xd5\x3a\x15\x64\x1b\xbe\x8c\x16\x34\xc7\x2a\xc6\xa3\xc9\x17\x3b\x33\xb6\xe7\x5b\xae\x2a\x25\x62\x55\x15\xc8\x54\x04\x48\x58\x5a\x63\x77\xf1\xc0\x01\x99\x53\xbc\x7a\x5e\x3c\x1d\xdc\xfa\xdf\xca\xe5\x12\x1d\x64\xcc\xdc\x12\x8b\x92\x0b\x22\x76\x6e\xd2\xec\x8f\xec\x4c\x81\xac\x4b\x62\x9e\xa7\x11\x06\x73\x00\x64\xcf\xd2\x2c\x01\x02\x61\x89\x94\xad\x40\x09\xc2\x64\x86\x42\x60\x3a\xd5\x1b\x89\x60\x96\xc4\x70\x1b\xc4\x54\x8d\xc7\x4f\x83\xdd\xb6\x3c\x9a\x09\x1b\xcc\x76\xba\x0c\x92\x03\x55\x66\x90\x6c\x46\xb0\x25\xd7\xfd\x58\x4c\x13\xe6\x12\xcd\x84\xaa\x9f\x71\xa7\xf3\x38\x41\xfe\xe5\xe4\x48\x96\x39\xda\x11\x86\x97\x6c\xeb\xa0\x51\x27\xd7\x6e\xba\xde\xef\xb0\xd1\xe3\x99\x53\x52\x9f\x3d\x5d\x9c\x85\x13\xea\x26\x2c\x58\x88\xc9\x90\x89\x39\x31\x3c\xcc\xc2\x9c\xa8\xf9\xf2\x3f\x98\xb4\xcd\xcc\x98\x16\x49\x53\x19\xa1\xa1\x4a\xd6\xde\xe4\x34\xd4\x72\x2e\xbe\x65\x28\xe4\x01\x56\x47\x25\x90\x3c\xe7\x5b\x6b\x55\x29\x4a\x25\xb8\x3d\xc7\x90\x7a\x7b\x4b\xda\x12\x13\x52\x49\x6c\x0c\x39\xf6\x2b\x4d\x72\x60\xb0\xda\x34\x51\x78\x4a\xdc\x00\xde\x4c\xcd\xdf\xbb\x11\xa5\x27\x76\x4d\x62\xbe\x96\x88\x4c\xdb\x9a\xac\x0a\xdd\x06\xb2\xd4\x9e\x27\x64\xdc\x9c\x8b\x38\x43\x33\x14\xfa\xd3\x8d\x01\x93\xaa\xc7\x5f\x4e\x21\xae\x69\xe8\x2f\xc6\xda\x41\xbe\x6e\x54\xe0\xe2\xcc\x3a\x30\x91\x4f\xfa\x6c\xed\x60\x4b\xfb\xd6\xe2\xeb\x04\x28\xfd\x8b\xbe\xc0\x25\x9c\x4f\xcf\xa3\xef\x5e\x25\x71\xb8\xec\x26\xe1\xfb\xbc\xc8\x47\x81\xce\x71\xbd\x0f\xfa\x73\x78\x59\xcf\x86\x2f\xbe\x69\x49\xca\x87\xf9\xbb\xe7\x7d\xd2\xf2\xb8\xdf\x7b\xa9\x19\xee\x3b\x7e\xeb\x9d\x27\x82\x77\x09\xa2\xa7\x15\x13\x98\xd0\x92\x22\x0b\x87\xda\x9d\xad\x3d\xf5\xb6\xa9\xf4\x4f\xae\x81\xec\xa9\x92\xf7\x74\x83\x75\xf5\xb6\x97\x92\xf7\xae\x33\x6c\x33\xf1\xca\x5a\x9a\x59\xef\x39\x67\x3e\x22\xbb\xa3\xb5\x10\x8f\xe8\xe3\x28\xe0\x66\x1a\x9b\xee\xc5\x59\x24\xe4\xc1\x08\xd4\x6e\x14\x0e\x0c\x45\x71\xf2\xb1\x7a\xd4\x5c\x00\x09\x23\xcb\xdf\x28\x78\x27\xf1\xf9\x74\x42\x9b\x6c\x41\xf2\x5c\x27\x1e\x97\x35\xa6\xf0\xc2\x9e\xfb\x15\x95\xb4\xd9\xc3\x56\xcb\xfe\xc4\xb2\x83\xd1\xf4\xe0\x4e\x60\x1a\x77\x9d\x8d\xda\x47\xb4\xfa\x05\x17\xa9\x3d\x52\x34\x61\xcc\x7e\x8f\x31\xda\xd9\x82\x3b\x2b\x24\x76\xdc\xe4\x25\xed\x03\x84\xac\xcf\xf0\xec\x28\x4a\x97\x9a\x87\x45\x98\x6e\x67\x76\x48\x5e\xba\x27\xcd\x9c\x4f\xcf\x07\x34\x0c\x8b\x3f\x5e\xfd\x31\x87\xb7\xb8\xa1\xda\xda\x68\x06\x02\x0b\xbe\x21\xb9\x66\x20\xa9\xa4\xe2\x85\x0d\x19\x55\xa2\xb8\x90\x50\x12\x29\x31\x8c\xb2\xf0\x0e\x11\xfc\xe8\x68\x45\xd5\xba\x5a\x9a\xc9\x91\x9d\x73\xcd\xb2\x9c\x96\x72\x56\x56\x79\x3e\x7b\xfa\xfd\xd3\x1a\xce\x45\xa1\x71\xdb\xfb\x69\x16\x47\xba\xe7\x9a\xf4\x9e\xee\x76\xa8\x9d\x6b\x0f\x82\xc2\x4f\x67\xfd\x55\x1d\x44\x2d\x9e\xfd\x2f\xb8\x0b\x60\x0f\x8a\x4f\x60\xe0\xe8\xdb\xa7\x59\x9b\x80\x8d\xae\x89\xb9\x3c\xe4\xcc\xc4\x1e\x8d\xeb\x14\xe6\x8f\x93\x1f\x76\x8c\xec\xce\xa9\x6f\x23\x13\xd4\x68\xec\x3d\xa7\x03\xdd\x51\x03\xc8\x60\xe3\x53\x53\x03\x68\xe3\x2e\xbc\x93\xa9\xe0\x3a\xd5\xe9\xa0\x53\x86\x10\x6d\xb7\x3c\xc8\xbc\x1b\xd2\x8f\x29\xbf\x8e\x51\xfb\xb7\x7d\x65\x19\x16\x74\xe0\xd6\x99\xfd\xeb\x6f\x9d\xc5\xdd\xed\x34\x68\x77\x1e\x57\xe5\xb5\x8c\xac\x37\xca\x86\xe6\xf6\xa8\xe8\xfa\x75\x23\xeb\xd7\x8d\xaa\x5f\x21\xa2\xf6\xf9\xcf\x71\x91\xb4\x56\x23\xdc\x13\x46\xef\xfa\xee\xce\x69\xcd\xb8\xb8\xd6\x54\xe1\xfe\x82\xd0\x29\x60\x96\x61\xa2\xe8\x06\xf3\x1d\x2c\x2b\xc1\x4c\x2b\xd5\x14\xb4\x1d\x95\xff\x52\x12\x41\x0a\xb0\xe9\xba\xae\x76\x83\xa9\x03\x67\x8a\xd0\x16\x1a\x23\xc3\x4a\xb0\x16\xb6\x47\x44\xf9\x63\x22\x7c\x5b\x13\x9a\x22\xe7\xf4\xae\x70\xee\xaa\x21\xcc\x04\xbe\x46\xd5\x8b\x43\x79\x9b\x91\x4a\xb8\xd0\xb8\x67\x1c\x07\x9e\x9e\x9f\xeb\x92\x37\x5e\xd2\xbe\xb0\x09\x97\x30\x73\xd6\x19\x4d\x9e\xed\xbd\xcf\x28\x3f\xbe\xb4\x96\xd0\xdc\xd1\x32\x8e\xd6\x8e\x98\xc6\x38\xdd\x65\x57\xed\x1b\x64\x83\xda\xcd\x28\x8b\x6e\x7f\x59\x94\xf5\xbf\x51\x63\xd0\x6f\x71\x6d\x06\x27\x31\x5f\xed\x2b\xa4\x70\xe9\xea\xff\x81\x8b\x30\x4f\x7a\xc0\xdf\x84\x63\x9e\x36\x74\x78\xfb\xa4\x05\xdc\xbd\x5c\xda\x03\x1f\x5f\xf6\x78\xd2\x52\x4b\xfb\x98\x46\x8b\x6d\xec\xa6\xd4\xa7\xa0\xf8\xbc\x9f\xcb\x49\x9f\x82\x7a\x6e\xa4\xb4\xce\x60\x82\xc1\x07\xde\x94\xbc\x55\xc6\xe8\x85\x9f\x5d\xac\xf9\x0c\x05\xaa\x35\xb7\x2d\xe3\x0a\xd5\x0b\x33\x7e\x75\x83\x4b\xff\x4d\xad\x05\xaf\x56\xd6\x14\x3e\x7b\x3e\x3f\x83\xc9\xd7\x19\x49\x42\x8d\xfb\xd6\x13\x3e\x87\x13\xa8\xcf\xbd\x98\xdc\xe7\x7e\x44\x91\xe9\x84\x86\xfb\x92\x94\x7b\x6f\x65\x7a\x09\x53\x29\x2b\xbc\xf8\xc6\x9d\x44\x0c\x48\xb7\x57\x47\x11\x3a\x23\x6a\xb9\x1e\xb7\x48\x38\x05\xa2\xe6\xbd\xa6\x35\x89\x28\xf7\x6d\xc9\x03\xa9\x1e\xec\x21\x1f\xcf\x48\x40\x51\xc0\x44\xd7\xc4\x03\xd3\xd3\x8c\xd8\x52\xaf\xf1\x5e\x5b\xad\x8d\x07\x76\x6e\x99\xb9\x01\x0e\xcc\xbc\x1d\xa4\x7c\xaa\xb9\x3b\xf9\x6f\x00\x00\x00\xff\xff\x3c\x94\x64\x1a\x95\x30\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x5b\x72\x7a\xc9\xb6\x1a\x3b\x6e\x9a\xc4\xbb\x3b\xd3\x4e\x33\x89\x9a\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x1d\xdc\x48\x80\x17\x59\x96\xf3\xb4\x7a\xb1\x49\xe2\x1c\x9c\xfb\x0d\xa0\x45\xc9\x85\x82\xeb\x8a\xad\xe8\x32\xc7\x05\xff\x82\x0c\x32\xc1\x0b\x18\x45\xef\x46\x27\x6e\xe5\xef\xa8\x48\x4a\x14\x79\x4f\x71\x2b\xdd\xca\xe8\x5d\xbd\x32\x82\xef\x03\x1b\x5e\x50\xe3\xd0\x4f\x6f\x51\xf2\x7c\x83\xc2\x41\x85\xaf\x46\x27\x27\x24\x49\x50\xca\x31\xc9\xf3\x09\x24\x9c\x29\x41\x12\x05\xaf\x6f\x48\x51\x3a\xc4\xf3\x18\xc9\xed\xc9\x09\x00\xc0\x6c\x36\x83\xc5\x1a\x01\x37\xc8\x14\xa8\x35\x51\x40\x25\x60\x41\x95\xc2\x14\xb6\x6b\x64\xc0\x70\x0b\x4a\x63\x90\x40\x04\x42\x41\x99\xc2\xd4\x00\x87\x7b\x5a\x04\x66\x27\xf9\xbb\x59\x32\x26\x05\xaf\x98\x9a\xc3\x9f\xd7\xf4\xe6\xd9\x0f\xa7\xa0\x76\x25\xce\xe1\x9d\x12\x94\xad\x26\xc1\xf6\x5c\x91\x1c\x64\x55\x96\xf9\x0e\x78\x16\x11\x2d\x81\x32\xc0\x1b\x2a\x15\xb2\x04\x3b\x9b\x6e\x88\x00\xa5\xc1\xdf\x19\x68\xbf\x55\x83\xfb\x45\x5a\x50\x06\x6f\x88\x5a\x77\x60\x73\x54\xf6\xf3\x3b\xc5\x05\x59\xa1\x5e\xa4\xa9\xab\x1f\x1a\x2c\x7f\x4a\x14\x06\x89\xec\xc5\xf2\x9e\x54\xb9\x1a\xc4\x32\x08\xf1\xa6\x5a\xe6\x34\xb1\x00\xcd\xff\xbd\xeb\xdf\x62\x82\x74\x83\x62\x00\xa4\x26\xf4\xba\x62\x89\xa2\x9c\x81\xe2\x20\x50\x55\x82\x81\x5a\xa3\x11\xbc\xb4\xca\xd5\x8f\xb5\x79\x50\x2d\xe7\x02\x99\xea\xf2\xb5\xa1\xb8\x85\xac\x62\xb0\x42\x65\xa8\x5d\x68\x1c\xe3\xc9\x1c\x3e\xe8\xff\x3e\xc2\xad\x01\xd1\x3f\x4d\xa0\xde\xe1\x85\x10\x64\x57\x7f\xbf\xb4\xff\x5c\xfc\x12\xaa\x73\x6a\x50\x3d\x1f\x4f\x3e\xd6\xd0\x9e\x4c\x8f\xc0\x7c\xb8\x3b\xd9\x4f\x90\xf6\x8d\x41\x5a\x36\x7a\x8f\xb7\x98\xc1\x25\x48\xcc\xb3\x29\x49\x12\x6d\x87\xd3\x84\x94\x64\x49\x73\xaa\x28\xca\xe9\x92\x0b\xc1\xb7\x17\xdf\xf4\x51\x37\x2b\x8d\x68\x67\x18\x7c\x33\x9f\x26\xf5\x3e\xfa\x77\x75\x05\x25\x61\x34\x19\x8f\x5e\xf2\x2a\x4f\x81\x71\x05\x16\x2d\x10\x10\x98\xa1\xd0\x36\xab\x55\xa1\x85\x6e\xa8\x02\xe1\x1d\xb6\x41\xd5\x96\x84\x27\x7f\xda\x30\x3a\x24\x13\x2d\x0e\x87\x51\xaf\x1c\x7f\x32\x52\x9a\x83\x96\xca\x64\x0e\x2f\xd8\xee\x9d\x12\x55\xa2\xae\xfe\x47\x25\x14\xf2\xae\x39\x8f\x04\xa5\xfd\xc1\xd0\xe4\x9f\xea\xb7\xaf\x49\xb2\x86\x4a\xfb\xb4\x54\x5c\xa0\x04\xc2\x80\x32\xa9\x88\x26\x86\x67\xc0\x59\xbe\x33\x14\x19\x70\x1d\x81\xd4\x1a\xa9\x5d\x4d\x56\x18\xc5\xcd\xcc\x79\x9c\x74\xcb\x1c\x0c\x61\x29\xac\xf8\x06\x05\xc3\x14\x96\x16\x5b\x29\xd0\xbc\x2f\xb9\x54\xda\x07\x53\x6a\x00\x6b\x74\x94\xb5\xd2\x8f\x89\xbe\x6a\x8d\x3b\x13\x77\x13\x92\xe7\x98\x4e\xa3\xdd\x93\x35\x26\x5f\x24\xac\x49\x59\x22\x03\xa2\x40\x54\x4c\xd1\x02\x0d\x28\xea\x30\x4f\x6a\x0a\x75\x5c\x6f\xe1\xa8\x71\xe9\xac\x50\x89\x04\xf5\x0a\x66\xf9\x5f\x22\x24\x02\x89\xce\x02\x8e\x33\x1d\x36\xf0\x46\x69\x09\x45\x51\xc4\xc7\x95\x5d\x8d\x4e\x93\x9b\x62\x46\x99\x01\x3e\x05\x69\x14\x2c\x50\x93\xc0\x38\x6c\xc9\x0e\x32\xae\x69\x2b\x48\x4e\x13\xca\x2b\x69\xd5\xa1\xb8\xdb\xd3\x4a\xb1\x11\x0d\xaf\xdc\xb6\x94\x01\xa1\x62\x0a\x2f\x40\x96\x98\x50\x92\x83\xc9\x35\xc2\x98\x8d\xe6\x00\x18\x62\x2a\x35\xa6\x65\x43\x83\xe2\x26\x6b\xd5\xe8\x9a\x8c\x16\x8b\x22\xf4\xad\x1a\xa1\x21\x65\x1e\xab\xc6\xfa\x81\xcf\xa1\xa1\x46\x4c\x36\x82\x25\xc9\xbd\x31\xa9\x35\x95\xd6\x62\xeb\xb5\xed\x0c\xe6\x56\xc7\xd9\x2b\x58\xa8\x7d\xd4\xae\x94\xfb\x92\x4c\x2f\x44\x39\x9c\x64\x7a\xd7\x0b\x9f\x69\x7a\x73\x4c\x63\x2f\xda\x11\xa5\xb1\x03\x47\x13\x94\x44\xad\xb5\xdd\x09\x0c\xbc\x59\xae\x8d\xe3\xab\x5d\x49\xb5\xed\x19\xb3\x32\x4e\x97\xf6\x4b\x23\x08\xf2\xaf\x30\x6b\xe5\x55\x1d\xf1\x83\xc7\x30\xaa\x05\xd1\xc1\x44\x34\xd9\x23\x9b\xbb\x61\x1e\xac\x94\x62\x16\xbc\xda\x3c\x0f\x6b\xb2\x41\x20\x7e\x69\x1d\x2a\x77\x87\x32\xd2\xc8\x52\xf3\xd1\x3c\xed\x63\xa3\xec\x6a\xec\x48\x2e\xfe\x5f\xd6\x45\xc4\xd7\x62\xe8\x6d\x60\x2a\x87\xb3\x14\x1a\x58\x1f\x53\x0f\xcf\xf9\xc1\x0e\x1f\xa2\x97\xfa\x67\x6a\x90\xe1\x02\x7b\x7a\xbd\xd0\x7f\x9f\x8f\x27\xa7\x47\x80\xbe\xa2\xb2\xcc\xc9\xee\x48\x68\x13\x43\x5e\x11\x45\x8e\x82\x5f\x34\x65\xef\xf3\x71\x9c\x76\x3f\xde\x27\xd7\x63\xea\x06\xfd\x93\x5b\xaa\x92\xb5\x55\xcb\x6d\x87\xe2\x84\x48\x3c\x5c\xde\xf3\x0e\x7c\xa0\xc7\x7b\x11\x8c\x7b\xa1\xf5\x2f\x53\x4e\x2b\x73\x6f\x6f\x0d\x9f\x0f\xd1\xe8\x04\x88\x7c\xb2\x9f\x10\xb7\xf8\xaa\xab\xbc\x86\x98\x5a\xc9\x47\x91\x13\x9a\xc8\x01\x04\xd5\xcb\xaf\x7a\x29\x9a\x1c\xab\xb2\x46\x2a\xfd\x5a\xd3\x35\x65\x81\x29\x25\x70\x19\xf7\xc5\xd3\xdf\xf5\xdb\x61\x65\x19\x19\xd1\x1c\xe7\x2d\xb0\x7f\x2d\x16\x6f\xae\x69\x8e\xfb\x21\x2b\x91\xcf\x61\xb4\x56\xaa\x94\xf3\xd9\x8c\x48\x89\x4a\x4e\xb7\xb8\x94\x54\xe1\x99\x46\x2b\xa7\x09\x2f\x66\x3f\x66\xcf\xbe\xfb\xf9\x87\xe4\x3c\xf9\x07\xf9\x29\x49\xd3\x67\x3f\x7c\xbf\x7c\x9a\xfc\xf4\xdd\x79\xeb\x03\xf9\xf1\xc7\x64\xf9\x34\xf9\xf9\xfb\x67\x9f\xae\x73\xbe\xfd\xf4\x17\x17\x69\x41\xc4\x97\xa9\xdc\xac\x46\x83\x74\xf4\x78\xae\xff\x19\x89\x2c\x4c\xcf\x3b\xa2\x05\x59\xe1\x4c\x6e\x56\xdf\xde\x14\x79\x3f\xb6\xae\x76\x22\xd1\xca\x7e\xd9\xca\xf1\x07\xf3\xf9\x63\x3f\xf8\x21\xfe\xe4\xb4\x3b\x2c\x6b\x46\x0a\xcd\x83\x6b\x04\x6a\x64\xb6\xd9\x1f\x0d\x0b\x40\xee\x8a\x25\xd7\x2a\x7a\x7d\xbd\xd8\xb3\x2c\x45\x99\x08\x5a\xea\x1a\x75\x0e\xa3\x85\x4e\x59\x99\xdf\xc2\x54\x69\xba\x6c\xac\x24\xa6\x40\x4c\xa9\xee\x9a\x0e\x5d\xd5\xad\x31\x2f\x61\xc7\x2b\x48\x71\x83\x39\x37\xff\x0b\x60\xba\x4a\xbd\x5e\xc0\xff\x71\xa6\x35\x39\xdd\xb3\x37\xde\x28\x14\x8c\xe4\x7f\xbe\xfd\xad\x6d\x83\xaf\x9b\x4f\xe3\xda\xc8\xdc\xde\x67\x99\x9a\x72\x96\x69\xe4\x5c\xac\x46\x7b\x8c\x20\xe7\x2b\x2e\xe7\x4e\x85\x7b\x44\xc5\x75\x31\x2b\xe7\x3d\x61\x35\xfc\x8d\xd4\x96\x2a\x85\x62\x74\x10\xb1\x6e\xb1\x71\x02\x4d\xeb\xa7\x65\xce\x93\x2f\xc9\x9a\x50\x36\xea\x37\x17\x30\x39\xa3\xef\xed\xd1\xb1\x23\x0c\x61\xc3\xd1\x23\xe8\x48\xa3\x7e\xd3\x77\xa6\xae\x9e\xdb\xdb\x94\x66\x82\x17\xf3\x4e\xf9\x37\xcc\xe8\xc3\xba\x53\x5b\xb5\x5a\x42\x07\xa4\x77\x50\xf2\xf2\xe2\x18\x76\xb7\xa8\xc8\x6f\xb3\x33\x6c\x42\x71\xe5\xde\xa9\xb5\xf6\xc5\x29\x4b\x62\x00\xd8\xd4\x9d\xc3\x60\xa5\xe0\x1b\x9a\xfa\xfd\x66\xa5\xa0\x1b\xa2\xb0\x3b\x12\xb8\x9f\xe2\xdf\x28\xfb\x82\xa9\x8d\x94\xc6\xa0\x7a\xd5\xbb\x37\xd2\x5a\x0e\x1e\x8d\xc8\xf3\xf4\x68\x44\xb6\x8d\x7d\x5d\x94\x6a\x67\x16\xfb\xc1\xdc\x1c\xc6\x59\xc5\x74\x19\xfb\xcb\x6d\x4f\x47\x79\x77\x8f\xff\x3b\x0b\xbb\x38\xab\x47\x20\xed\x8d\xc6\x7b\x1c\xbb\xff\xd3\x91\x9e\x1d\xd7\x9f\xc7\x56\x73\x01\x96\x61\x87\x88\x26\xbc\x91\x22\x82\x2f\x07\xf0\x76\xd7\xd7\x32\x30\x9a\x0f\xf5\x56\x2b\x54\x1a\x37\x17\x0a\xd3\x66\x06\x0a\xdc\xa4\x2a\xd3\xcd\x0a\xd7\x7d\x11\xc8\xa9\x34\x23\x0a\xdb\x32\x46\x03\x57\x2a\x6b\x4b\x37\x55\x78\xe9\x06\x1b\xb0\xa7\xdb\xe9\xd9\x57\x1b\xcd\xad\x35\xc9\x5f\x39\xcf\xdb\xa6\xa2\xa3\xa8\xf4\x50\x06\xa0\xb5\xfc\x12\x6e\x63\x01\xc4\xab\x3f\x18\xc7\x5f\xa1\xd9\x6c\x3c\xf9\x08\x97\xa0\x44\x85\xbd\x7d\x5c\x04\x78\x70\x13\x47\x65\x97\xab\xb1\xaa\x7d\x6c\x62\x09\xdd\xd3\x3a\x0e\xc9\xe5\x83\x32\x1d\xe1\xd5\x15\x64\x24\x97\xd8\xaf\x4e\xa0\x8c\x2a\x4a\x72\xfa\xb7\x9d\x4f\xf8\x11\x0d\x51\xcd\xa8\xc7\x38\x93\x19\x9f\xd3\xa2\x41\xa3\x01\xc7\xad\x19\xcd\xa4\xdd\x19\x69\xfa\x3c\xca\x4b\x8f\xbc\xa3\x20\x9a\x22\x53\x34\xa3\x28\xe0\x12\x46\x9d\x50\x39\xea\xe2\x0c\x42\x3f\x5c\x86\xd3\x8f\x71\x83\x6b\x1e\xe0\x9d\x3c\xe9\xe2\x68\xa2\x39\x5c\x06\x5d\xfa\x03\x30\x84\x89\x64\x18\x47\xc4\x90\x9f\x0e\x8c\x02\x7c\x2d\xff\xfa\x27\xaa\x48\x15\x6e\xb0\xb8\x67\x58\x16\x78\xc8\xaf\x16\x48\x7b\x85\x55\xc9\x1e\xc3\x69\xab\xa3\x45\xc7\x96\xaa\x75\x2a\xc8\x36\x7c\x19\x2d\x68\x8e\x55\x8c\x47\x93\x2f\x76\x66\x6c\xcf\xb7\x5c\x55\x4a\xc4\xaa\x2a\x90\xa9\x08\x90\xb0\xb4\xc6\xee\xe2\x81\x03\x32\x67\x78\xf5\xbc\x78\x3a\xb8\xf5\xbf\x95\xcb\x25\x3a\xc8\x98\xb9\x25\x16\x25\x17\x44\xec\xdc\xa4\xd9\x1f\xd9\x99\x02\x59\x97\xc4\x3c\x4f\x23\x0c\xe6\x00\xc8\x9e\xa5\x59\x02\x04\xc2\x12\x29\x5b\x81\x12\x84\xc9\x0c\x85\xc0\x74\xaa\x37\x12\xc1\x2c\x89\xe1\x36\x88\xa9\x1a\x8f\x9f\x06\xbb\x6d\x79\x34\x13\x36\x98\xed\x74\x19\x24\x07\xaa\xcc\x20\xd9\x8c\x60\x4b\xae\xfb\xb1\x98\x26\xcc\x25\x9a\x09\x55\x3f\xe3\x4e\xe7\x71\x82\xfc\xcb\xc9\x91\x2c\x73\xb4\x23\x0c\x2f\xd9\xd6\x41\xa3\x4e\xae\xdd\x74\xbd\xdf\x61\xa3\xc7\x33\xa7\xa4\x3e\x7b\xba\x38\x0b\x27\xd4\x4d\x58\xb0\x10\x93\x21\x13\x73\x62\x78\x98\x85\x39\x51\xf3\xe5\x7f\x30\x69\x9b\x99\x31\x2d\x92\xa6\x32\x42\x43\x95\xac\xbd\xc9\x69\xa8\xe5\x5c\x7c\xcb\x50\xc8\x03\xac\x8e\x4a\x20\x79\xce\xb7\xd6\xaa\x52\x94\x4a\x70\x7b\x8e\x21\xf5\xf6\x96\xb4\x25\x26\xa4\x92\xd8\x18\x72\xec\x57\x9a\xe4\xc0\x60\xb5\x69\xa2\xf0\x94\xb8\x01\xbc\x99\x9a\xbf\x77\x23\x4a\x4f\xec\x9a\xc4\x7c\x2d\x11\x99\xb6\x35\x59\x15\xba\x0d\x64\xa9\x3d\x4f\xc8\xb8\x39\x17\x71\x86\x66\x28\xf4\xa7\x1b\x03\x26\x55\x8f\xbf\x9c\x42\x5c\xd3\xd0\x5f\x8c\xb5\x83\x7c\xdd\xa8\xc0\xc5\x99\x75\x60\x22\x9f\xf4\xd9\xda\xc1\x96\xf6\xad\xc5\xd7\x09\x50\xfa\x17\x7d\x81\x4b\x38\x9f\x9e\x47\xdf\xbd\x4a\xe2\x70\xd9\x4d\xc2\xf7\x79\x91\x8f\x02\x9d\xe3\x7a\x1f\xf4\xe7\xf0\xb2\x9e\x0d\x5f\x7c\xd3\x92\x94\x0f\xf3\x77\xcf\xfb\xa4\xe5\x71\xbf\xf7\x52\x33\xdc\x77\xfc\xd6\x3b\x4f\x04\xef\x12\x44\x4f\x2b\x26\x30\xa1\x25\x45\x16\x0e\xb5\x3b\x5b\x7b\xea\x6d\x53\xe9\x9f\x5c\x03\xd9\x53\x25\xef\xe9\x06\xeb\xea\x6d\x2f\x25\xef\x5d\x67\xd8\x66\xe2\x95\xb5\x34\xb3\xde\x73\xce\x7c\x44\x76\x47\x6b\x21\x1e\xd1\xc7\x51\xc0\xcd\x34\x36\xdd\x8b\xb3\x48\xc8\x83\x11\xa8\xdd\x28\x1c\x18\x8a\xe2\xe4\x63\xf5\xa8\xb9\x00\x12\x46\x96\xbf\x51\xf0\x4e\xe2\xf3\xe9\x84\x36\xd9\x82\xe4\xb9\x4e\x3c\x2e\x6b\x4c\xe1\x85\x3d\xf7\x2b\x2a\x69\xb3\x87\xad\x96\xfd\x89\x65\x07\xa3\xe9\xc1\x9d\xc0\x34\xee\x3a\x1b\xb5\x8f\x68\xf5\x0b\x2e\x52\x7b\xa4\x68\xc2\x98\xfd\x1e\x63\xb4\xb3\x05\x77\x56\x48\xec\xb8\xc9\x4b\xda\x07\x08\x59\x9f\xe1\xd9\x51\x94\x2e\x35\x0f\x8b\x30\xdd\xce\xec\x90\xbc\x74\x4f\x9a\x39\x9f\x9e\x0f\x68\x18\x16\x7f\xbc\xfa\x63\x0e\x6f\x71\x43\xb5\xb5\xd1\x0c\x04\x16\x7c\x43\x72\xcd\x40\x52\x49\xc5\x0b\x1b\x32\xaa\x44\x71\x21\xa1\x24\x52\x62\x18\x65\xe1\x1d\x22\xf8\xd1\xd1\x8a\xaa\x75\xb5\x34\x93\x23\x3b\xe7\x9a\x65\x39\x2d\xe5\xac\xac\xf2\x7c\xf6\xf4\xfb\xa7\x35\x9c\x8b\x42\xe3\xb6\xf7\xd3\x2c\x8e\x74\xcf\x35\xe9\x3d\xdd\xed\x50\x3b\xd7\x1e\x04\x85\x9f\xce\xfa\xab\x3a\x88\x5a\x3c\xfb\x5f\x70\x17\xc0\x1e\x14\x9f\xc0\xc0\xd1\xb7\x4f\xb3\x36\x01\x1b\x5d\x13\x73\x79\xc8\x99\x89\x3d\x1a\xd7\x29\xcc\x1f\x27\x3f\xec\x18\xd9\x9d\x53\xdf\x46\x26\xa8\xd1\xd8\x7b\x4e\x07\xba\xa3\x06\x90\xc1\xc6\xa7\xa6\x06\xd0\xc6\x5d\x78\x27\x53\xc1\x75\xaa\xd3\x41\xa7\x0c\x21\xda\x6e\x79\x90\x79\x37\xa4\x1f\x53\x7e\x1d\xa3\xf6\x6f\xfb\xca\x32\x2c\xe8\xc0\xad\x33\xfb\xd7\xdf\x3a\x8b\xbb\xdb\x69\xd0\xee\x3c\xae\xca\x6b\x19\x59\x6f\x94\x0d\xcd\xed\x51\xd1\xf5\xeb\x46\xd6\xaf\x1b\x55\xbf\x42\x44\xed\xf3\x9f\xe3\x22\x69\xad\x46\xb8\x27\x8c\xde\xf5\xdd\x9d\xd3\x9a\x71\x71\xad\xa9\xc2\xfd\x05\xa1\x53\xc0\x2c\xc3\x44\xd1\x0d\xe6\x3b\x58\x56\x82\x99\x56\xaa\x29\x68\x3b\x2a\xff\xa5\x24\x82\x14\x60\xd3\x75\x5d\xed\x06\x53\x07\xce\x14\xa1\x2d\x34\x46\x86\x95\x60\x2d\x6c\x8f\x88\xf2\xc7\x44\xf8\xb6\x26\x34\x45\xce\xe9\x5d\xe1\xdc\x55\x43\x98\x09\x7c\x8d\xaa\x17\x87\xf2\x36\x23\x95\x70\xa1\x71\xcf\x38\x0e\x3c\x3d\x3f\xd7\x25\x6f\xbc\xa4\x7d\x61\x13\x2e\x61\xe6\xac\x33\x9a\x3c\xdb\x7b\x9f\x51\x7e\x7c\x69\x2d\xa1\xb9\xa3\x65\x1c\xad\x1d\x31\x8d\x71\xba\xcb\xae\xda\x37\xc8\x06\xb5\x9b\x51\x16\xdd\xfe\xb2\x28\xeb\x7f\xa3\xc6\xa0\xdf\xe2\xda\x0c\x4e\x62\xbe\xda\x57\x48\xe1\xd2\xd5\xff\x03\x17\x61\x9e\xf4\x80\xbf\x09\xc7\x3c\x6d\xe8\xf0\xf6\x49\x0b\xb8\x7b\xb9\xb4\x07\x3e\xbe\xec\xf1\xa4\xa5\x96\xf6\x31\x8d\x16\xdb\xd8\x4d\xa9\x4f\x41\xf1\x79\x3f\x97\x93\x3e\x05\xf5\xdc\x48\x69\x9d\xc1\x04\x83\x0f\xbc\x29\x79\xab\x8c\xd1\x0b\x3f\xbb\x58\xf3\x19\x0a\x54\x6b\x6e\x5b\xc6\x15\xaa\x17\x66\xfc\xea\x06\x97\xfe\x9b\x5a\x0b\x5e\xad\xac\x29\x7c\xf6\x7c\x7e\x06\x93\xaf\x33\x92\x84\x1a\xf7\xad\x27\x7c\x0e\x27\x50\x9f\x7b\x31\xb9\xcf\xfd\x88\x22\xd3\x09\x0d\xf7\x25\x29\xf7\xde\xca\xf4\x12\xa6\x52\x56\x78\xf1\x8d\x3b\x89\x18\x90\x6e\xaf\x8e\x22\x74\x46\xd4\x72\x3d\x6e\x91\x70\x0a\x44\xcd\x7b\x4d\x6b\x12\x51\xee\xdb\x92\x07\x52\x3d\xd8\x43\x3e\x9e\x91\x80\xa2\x80\x89\xae\x89\x07\xa6\xa7\x19\xb1\xa5\x5e\xe3\xbd\xb6\x5a\x1b\x0f\xec\xdc\x32\x73\x03\x1c\x98\x79\x3b\x48\xf9\x54\x73\x77\xf2\xdf\x00\x00\x00\xff\xff\x11\x3b\x52\x79\x66\x30\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,7 +97,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x40, 0x45, 0x66, 0x78, 0x53, 0x40, 0x1a, 0x39, 0xff, 0xec, 0x67, 0x57, 0x38, 0x71, 0x5a, 0x26, 0x7d, 0xea, 0x24, 0x28, 0x84, 0x4d, 0x19, 0xee, 0x6e, 0x77, 0x9e, 0x7f, 0x49, 0xe0, 0x49, 0xa4}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc4, 0x3b, 0xb8, 0x17, 0xd3, 0xfa, 0x73, 0xba, 0xe6, 0x8f, 0xe7, 0x32, 0x88, 0xef, 0x79, 0x14, 0x34, 0x32, 0xc5, 0x5, 0xa0, 0xc2, 0x37, 0x84, 0x80, 0x12, 0xd9, 0x7c, 0xa9, 0x8e, 0x2a, 0x22}}
 	return a, nil
 }
 
@@ -241,7 +241,7 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x5f\x6f\xe3\xb6\xb2\x7f\xd7\xa7\x98\x4d\x81\xae\x5d\xb8\xce\xc5\xc5\xc5\x7d\x30\x4e\x4f\xba\xdd\x34\x07\x01\x0e\xd2\x62\xd7\x6d\x1f\x8a\xa2\x61\xa4\xb1\xcd\xae\x44\xaa\x24\x65\xd7\xc8\xe6\xbb\x1f\xcc\x90\x94\x28\x4b\x4e\xe2\x6c\x0b\x9c\x87\xee\x43\xd6\x96\xc5\x1f\x87\xf3\xe7\xc7\x99\x21\xcf\xbf\xf8\x22\xcb\x3e\xfb\x0c\x96\x1b\x84\xab\x52\xef\xe0\x46\xab\x2f\xaf\x1a\xb5\x96\x77\x25\xc2\x52\x7f\x40\x05\xd6\x09\x55\x08\x53\xf0\x8b\xb7\x37\x5a\xc5\xdf\xf9\xe7\x5b\xc8\xb5\x72\x46\xe4\x0e\xa4\x72\x68\x56\x22\xc7\x2c\x23\xbc\xf6\x2b\xb8\x8d\x70\x20\xca\x72\x0c\x3d\x8e\xb6\x60\x37\xba\x29\x0b\x7a\xb0\xd2\xa6\x02\xa7\xe7\xd9\xf5\x0a\x04\x34\x16\x0d\xec\x84\x72\x16\x9c\x86\x02\xeb\x52\xef\x41\x80\xc2\x1d\xdc\x5c\x2d\x5b\x80\x19\xb8\x0d\x4a\xd3\x89\xb3\x63\x38\x85\x58\x64\x4e\x83\xac\xea\x12\x2b\x54\x8e\x5e\x83\xc3\x55\x74\xc2\xce\x59\xf8\x14\xa7\x6a\xac\x83\x95\x2e\x49\x3d\xb4\x08\x1a\x6f\x9a\x12\x2d\x08\x55\x80\x12\x95\x54\xeb\x8c\x97\xe8\x7a\xab\xb6\x35\xe6\x72\x25\xd1\xce\x83\xe6\xae\x96\xb7\x60\xd0\xea\xc6\x44\x15\xe5\xda\x60\xfb\x08\xdc\xbe\x0e\xba\x32\x58\x1b\xb4\x48\x4b\x16\x8a\x57\x29\x15\xa3\xdb\x4a\x18\xd7\x8a\x16\x80\xdf\xea\xb2\xc4\xdc\x49\xad\x6e\xe1\x5d\x0f\xbf\x83\x26\x54\xeb\xb4\x21\xa9\x59\xa3\xaf\x6d\xd0\x5e\x1c\x3b\xcf\xae\xc9\x84\x79\xd9\x14\xfc\xd2\x0a\x77\xb0\x6a\x14\xff\xc6\x9a\x17\xac\x01\x92\x42\xef\x14\x1a\x7a\x84\xc2\xca\x72\x9f\x55\x7a\x8b\xe0\x48\x8f\x96\x04\x25\xb5\xe8\xc6\x81\x5e\xf1\xdb\xe9\x14\x2c\xef\xf7\x46\x6f\x65\x81\xe6\x96\xdf\xbc\x7d\x87\x39\xca\x2d\x7d\x6d\xc5\x6d\x95\x68\x79\x1d\x36\x7d\x02\x05\xe6\xa5\x30\x98\x08\xb7\x93\x6e\x03\x56\x57\x08\xb5\x41\x06\xad\xb5\x65\x35\x15\x92\xdf\xc8\x82\x56\x7f\x6f\xa4\x41\x16\xaa\xd3\x19\xad\x23\x58\x37\x47\xe3\x84\x54\xc1\xa6\x0c\x74\x87\x1b\xb1\x95\xda\xb4\x51\x60\xbd\x83\xec\x81\x44\xb0\x58\x0b\x23\x1c\xc2\x1d\xe6\xa2\x21\x31\x1d\xac\xe5\x16\x2d\xcf\xc1\x8e\x4b\x1f\xc4\x9d\x2c\xa5\xdb\xd3\x4c\x76\x43\xe3\x04\x18\x5c\xa1\x41\x95\x23\xf9\xa6\x77\xdc\x54\x24\x12\x57\xab\x72\x0f\xf8\x47\xad\x6d\xc0\x5b\x49\x2c\x0b\xef\x75\xdd\xda\xa5\x02\xad\x10\xb4\x81\x4a\x1b\xcc\x82\xce\x3b\x75\xcd\xe1\x9a\x62\xcf\xea\x20\x18\x09\x65\x0f\xa5\xaa\xc4\x07\x84\xbc\xb1\x4e\x57\xad\x11\x82\xd2\x7a\x71\xd3\x37\x04\x45\xa3\x86\xad\x30\x52\x37\x04\x29\xd5\x3a\xd8\x82\xe0\xbd\x3f\xcc\xb3\xec\x9b\x3d\x34\x96\xf4\xd9\x22\xf3\x12\x3a\xa0\x59\x10\x4a\xaf\xd8\x25\xfb\x3e\x6e\x21\x17\x0a\x2c\xaa\x22\xa3\x51\xc6\x3b\x4b\xf4\xb6\x1a\xd1\x7c\xe9\xf4\x97\xf4\xff\x8c\xe7\x26\xc7\x23\x93\xa9\x35\xc9\xc7\x93\x30\x19\x90\x58\x02\x72\x24\xd4\x12\x4a\x2c\xd6\x68\xb2\x41\x38\x2d\x35\x4f\x15\xa3\x8e\xbc\x5e\x69\xb7\x41\xc3\x22\xce\x5a\x36\x62\x6a\xb1\xa4\x9b\x3d\x43\x17\x46\xf8\xd0\xb8\xb9\x5a\x66\x2b\xa3\xab\x81\x4d\x99\x9e\x14\xe4\x91\x41\x0a\xac\xb5\x95\xae\xb5\x24\x68\xd5\x9b\xeb\xb5\xcd\xfa\x3e\x9a\x6b\xb2\x84\xf3\xee\xeb\x8c\x50\x76\x85\x66\x9e\x65\x5f\x9c\x67\x99\xac\x6a\x6d\x1c\xfc\x28\x71\x47\x04\x50\x6e\xd1\x00\x4b\x71\x96\x3e\x3a\xcb\xb2\xf3\xf3\x73\xe6\xfa\x8a\xdc\x3c\x65\xcf\x84\x00\xe1\x3b\x16\x22\xfd\x95\xcc\x5a\x96\x3c\x3a\x4c\xc5\x16\x4c\x5c\x43\xda\x84\xfe\xcf\xcf\xcf\x33\x91\xe7\x68\xed\x44\x94\xe5\xb4\x9b\x64\x40\xbb\xf7\x59\x06\x00\x70\x7e\x0e\x6f\x14\xa0\x72\xd2\x05\xc4\x95\x36\x9e\x70\xd8\x90\x1b\x6c\xb5\x2c\x4a\xe6\x15\x6f\x7e\x5e\xa3\x80\x1f\x45\x53\x3a\x06\x4a\x67\x4d\xe1\x7e\x8a\xa3\xef\x4a\x8c\x53\x9e\xc3\xb7\x5b\x2f\x3c\xb9\xb9\x05\xac\xa4\x73\x58\xc0\x8e\xec\x24\xfc\x14\xf4\x3c\xce\xac\x66\xed\x40\xa9\x0a\x99\x0b\x17\x65\xf3\x7c\x38\xa0\xbb\x80\xec\x60\x27\x12\x14\x16\x7a\x1e\xa1\x5a\xc8\xeb\xc1\x68\x69\x41\x69\xe7\x09\x95\x16\xa6\x1b\xe5\x5e\x5b\x66\x71\xb1\xc6\x19\xdc\x12\xd0\x2d\x5b\x06\xee\x10\x6e\x95\x2c\x6f\xfb\xb8\x3d\x6d\x6c\x53\x3d\x4c\x64\xb1\x80\x1f\xae\x95\xfb\xff\xff\x9b\x41\xd3\xa4\xdf\x08\x75\x01\x6f\x8a\xc2\xa0\xb5\x17\x33\xde\x95\x16\xf0\xde\x19\xa9\xd6\xd3\x2c\xc5\xb5\x58\xae\xa6\xe4\xc0\xac\xba\x9b\xab\xe5\xa7\xa2\x2f\xe0\x1b\xad\x4b\x9e\xe2\x9e\xff\xd2\x3f\xc2\xee\xcb\x2d\x8b\x88\x4a\x7f\x23\x26\xfd\x8d\x78\xf4\x77\xda\x22\x18\x74\x8d\x51\xe0\x4c\x83\xfc\xec\x61\xd4\x03\x8e\x99\x3f\x04\x2a\x16\xcc\x06\xbd\xdd\x6c\x60\x43\x17\x3d\x23\x30\xf6\x73\x1c\x23\xc5\x7f\xca\x7c\x97\xfe\xdd\x47\xf4\xeb\xf4\x0b\x6d\xf7\x49\xd0\xc7\x0d\x97\xc2\x1e\xda\x8d\x00\x9d\x3e\xd9\x66\xcb\xc0\x7d\x03\xf5\x13\xb1\x61\x67\xd0\x90\x4f\xde\x61\xdf\xb4\x81\x3a\x68\x1b\x8e\x2c\x6a\xb0\xf0\x54\x42\x3b\x69\x88\xb4\x84\xfb\x9f\x30\x4a\x94\xe7\x14\xaf\x7f\xa9\x95\x9e\x9c\xeb\xe2\x94\xc9\x2e\xc6\x0d\x17\x54\x19\xb5\x03\x15\xba\x8d\x2e\x78\x1f\x0e\x66\x59\x89\xd2\x7a\x5d\x83\x5c\x91\x23\x17\xb2\x50\xaf\x1d\xa5\x03\xa2\x1d\x97\xe2\x49\x05\xbb\x8d\xcc\x37\x90\x0b\x8b\xb0\x43\x28\x34\xbd\x4f\x59\x3d\xc7\x46\x30\x9b\x4e\xac\xd5\x0e\x97\x2b\x5e\x21\xbc\xfa\x0a\x94\x2c\xe1\xf3\xcf\x7d\xa2\x1c\xbe\x76\x62\xb7\x3e\xd7\x53\x52\xdf\xe9\x5e\x1d\xb0\xc5\xc0\x03\x5f\x4d\x7b\x78\x87\x6e\xc8\xae\x08\x48\xab\xbf\x7f\xfa\xc5\x43\xcf\xbd\x44\xeb\x8c\xde\xbf\xd0\x71\x63\x25\x40\x94\xc1\x38\x41\x47\x63\x34\xc1\xbf\x3f\x16\xcb\xa7\x10\xc3\x49\x60\x8f\x51\x41\x07\x34\xa0\x82\xd3\x28\xe0\xba\x5f\x5a\x86\xc4\xcb\xfa\x52\xad\x2b\x20\x8f\x06\xee\xb0\xd0\xa0\xf1\x8b\x5e\x02\x35\x6f\x33\xa9\x34\x32\xbc\xb1\x1a\x25\x7f\x6f\x10\xae\x2f\xc3\xd6\x21\xf2\x0d\xdb\x66\x23\x6c\xfb\x6e\x3a\xdf\x56\xfa\x62\x0a\xd6\xe8\xae\x2f\x27\xd3\xa8\xbb\x71\x27\x22\x13\xcc\x49\x2f\x89\x27\xa5\xc1\x74\x0c\x99\xa4\xb7\x04\xfe\xf3\x72\x5f\xe3\x2f\xfd\x88\x4e\xf0\x7f\xfe\x25\xfd\xe1\xe1\x18\x34\xa1\x1a\xaf\x03\x42\x9e\xfc\xca\x93\x2d\x80\xc0\xa7\x0b\x78\xa3\xf6\xef\x9d\x69\x72\x77\x71\x74\x22\x25\xcb\xfe\x4c\xed\xb7\xe0\xc1\x93\xe9\x81\x06\xa8\x7e\xeb\x3f\xf1\x63\x0f\x13\xc7\xf9\x88\x73\xb2\xda\x82\x82\xa3\x77\xb5\xaa\x8c\x2e\x16\x5f\xa2\x45\x4c\xa6\x73\x59\x50\x96\xb8\x92\x68\xfa\x71\xff\x70\x3c\x88\x13\xdf\xd3\x50\x61\x21\xa9\xfe\x8b\xd9\x5d\x48\x49\xfb\x15\xe6\x29\x6e\x18\x6b\xe3\x03\xa7\xbb\x8a\x55\x02\xe5\xc5\xb5\xd1\xbf\x61\xee\xdb\x21\x31\xdf\x20\x96\x74\xb1\x2c\xf5\xe5\xd6\x0f\x3f\x5c\x5f\x52\x5d\xa8\xb4\x7b\xdc\x29\x1b\x8b\x96\x5e\x9e\x84\xe0\x1d\xf7\x4a\xe6\xfc\x23\x1e\xf9\x93\xa7\xaa\xae\x14\x62\x1e\x4a\x94\x51\xc7\x65\x75\x2b\x8d\x25\x33\x85\xab\xcc\x39\x97\x8e\xc3\x53\xe8\x80\x24\x0c\xd2\x86\x21\x2c\xbf\xef\x17\xe8\x74\xe0\xbb\x52\x5a\x87\x8a\x4a\xc8\xf0\x7b\x19\x00\x63\x91\xe5\x41\xb2\x9e\x4a\x5b\x59\x0d\x56\x7a\x8b\x6d\xa7\xa5\x95\x39\xc9\xd7\xa8\xda\xf1\x2f\x49\xde\xa5\xf8\x67\x51\x96\xbd\x4d\x8e\xf3\xbf\x42\xa3\x4f\xdb\x7d\xf7\x67\x4f\xd4\xcd\xe5\x14\x0d\xb9\xbe\x24\xf6\x7e\xc4\x2e\x69\x99\xe2\x03\x30\x4a\x39\x89\x1f\xae\x2f\x23\x79\x4c\x17\xf0\xf5\xfd\xcd\xd5\xf2\xe1\x30\x86\xb4\x75\x23\x41\x64\xd0\x36\xa5\x8b\x01\x02\x5f\x7d\x05\x29\xe4\xd9\xd2\xcb\x17\x72\xd5\xae\x5a\xf1\x79\x30\x13\xeb\x9d\xaf\x3d\xad\xa8\x90\x14\xcd\x7d\x30\xfc\xbd\x41\x4b\x5b\xd4\xf5\xe5\xd9\x09\x71\xdb\xcb\xe7\xfb\x92\xc5\xd0\x0d\x4f\xd3\x14\x9f\x83\x97\x73\xea\x8b\xb9\xf0\x19\x4d\x8c\xeb\x0e\xe3\x84\xc8\xee\x19\xef\x4d\xe9\xd0\xa8\x34\x98\x43\xe2\x63\x07\xf4\xaf\xf0\x0f\xda\x74\x0c\x0e\xdf\x0d\x5d\xb2\x34\x44\x37\x62\x8b\xdc\x9c\x81\x55\x89\x7f\x48\xdf\x75\xe9\x61\xa6\x71\xbc\xf1\x3d\x36\x69\xfc\x8e\x46\xe1\x5c\xa1\x68\x93\xa3\xc6\x26\x99\x11\x8d\xfd\x29\xf6\x5b\xb6\xff\x0b\x4d\xbd\x36\xa2\xc0\x59\xec\x85\x05\x19\x62\x85\x98\xd0\x02\xb7\xe8\xc8\x2f\xed\x41\x4c\xa4\x6f\x86\x86\xd0\xf5\xa5\x25\xc4\x0e\x8f\x12\xc1\x5a\xe6\x1f\x18\x25\xdf\x68\x4d\x29\x1d\x65\x77\x3d\x2c\xef\x49\x76\x4c\x45\x75\x5d\x4a\xdf\x3f\x72\x1b\xac\xfa\x66\x58\x7e\x77\xf9\xdd\x02\x96\x61\x64\x59\xfa\xd8\x6d\x44\x59\xee\xbd\x26\x75\x4d\x21\x29\xca\x36\x3f\xd8\xd7\x68\x67\x70\xd7\xb8\x90\x54\x1a\xb9\xde\x38\x50\x7a\xd7\xc3\x8d\x74\xa3\x57\x20\xe0\xae\x59\x53\x4a\xfa\x56\x14\xdc\x82\x1b\xe5\x05\x52\x2c\xeb\xea\x69\x7e\x98\x05\x85\x49\xe7\xa3\x7b\xf6\x1c\xc2\x78\x32\xe4\xa3\x00\x93\x5f\x7b\xf9\xd6\x8b\xc2\x9e\xc2\x9d\xb2\xe5\x8f\x1f\xc3\x83\x57\x1c\x58\xf4\xd8\x63\xff\x1d\xff\xa9\xda\x09\xe3\x44\xbb\xf3\x10\x32\x7b\x88\xae\x67\x6c\x17\xcb\x8d\xb4\xa1\x95\x18\x22\x1b\xee\xf6\xbd\x16\x83\x4f\x2f\xb9\x01\xea\x88\x40\xaa\xa6\x74\xb2\x2e\xd1\x37\x27\xc9\xf1\x4f\x73\x27\xd6\x8d\x57\x18\x7d\x9c\xc1\x9f\xb4\xab\x0c\xdc\xeb\xef\x6d\xe6\xb9\x6e\xf6\x46\x15\xcf\x64\x99\xc4\xd9\x5c\x74\x36\x0e\xe2\xff\x6a\x77\x0b\xeb\xeb\x79\xdd\xdf\x74\xf6\x97\xf8\x19\x3c\xa3\x50\x89\xcd\x19\x0b\x77\xe8\x76\x88\x2a\xa9\x53\xec\x29\x85\x4a\x6c\xb2\xe8\xc3\x52\xa5\x6d\x1b\x1d\xf5\x68\x76\x4d\x9b\xf8\x5d\x6f\xfc\xa8\x37\x77\x2e\x1a\x4f\x55\xd9\x79\x6f\x4d\x3c\x3b\x7c\xda\x31\xdd\x58\xeb\x2c\x8e\x5f\xc0\x5b\x51\x87\x03\xb1\x7f\x7c\x7e\x1f\x8f\x24\x1f\xfe\x99\xf6\x33\x9e\xd2\x6d\xa8\x36\x62\x62\xf3\xc2\x0a\x30\xce\x1d\xcf\x46\xe2\x94\xb1\x96\x71\xe2\x43\xa7\x54\xc1\x9f\x84\x59\x37\x7c\xcc\x41\xba\x13\x45\x91\xaa\xee\xed\xa8\x96\x47\x0b\x42\xd2\x52\x98\x65\xc2\x71\x12\x43\x73\xda\x2b\xf6\x48\x98\x35\xba\xf7\x4d\x5d\x6b\xe3\xb0\xb8\xb9\x5a\x92\x93\xda\x90\x90\x59\x10\x5c\x90\xc5\xe3\x3c\xe6\x8d\xd8\xa7\x91\xb6\x55\x39\x4f\x5d\x3b\xfb\x9c\xce\xc6\x60\x2e\x2a\x55\xef\x97\x1c\x2a\x64\x9e\x87\xa3\x2d\x88\xfb\x87\x23\x1d\x88\xb0\x90\x77\x41\xe6\x58\xa6\xf9\xba\x8c\x35\xb7\x96\x5b\xf4\xe9\x25\x55\x6d\x5e\x5a\xef\x76\x7d\x97\x3c\x84\x7c\x33\xca\xa8\x7e\x3c\x08\xb5\xf7\x90\xa1\xc9\xf7\x1b\x31\x51\xd2\xe9\x22\xf8\x02\x57\xed\x81\xd6\x63\x8a\x91\xf6\x50\x2f\x09\xcb\x0e\x6b\xf9\xbe\x62\xfa\xe5\x7c\xdb\x07\x4a\x7c\xfc\x9d\x3f\x2e\x6f\x8f\xe3\xfc\xaa\x55\x6e\xd0\x1d\x5c\x5a\x68\x87\xf8\x1a\x25\x1c\xd0\x17\xf1\xd2\x42\x7b\x4e\xc8\x45\x45\x38\x0b\x3c\x25\x24\x3a\x1f\x5e\xb4\x0d\x92\x59\x1b\x28\xb3\x84\x8b\x66\xe3\x2d\xbc\xe4\x24\xf5\x20\xaa\xde\x05\xd5\xf3\x89\x2c\xab\x3d\x1e\xb0\x41\x2d\xdc\x26\x59\xf8\xc0\xdc\xc7\x9c\xf5\xd2\xe3\xbc\xf7\x30\xdf\x0b\xb7\x21\x6f\x4d\xbe\x5e\x8c\x37\x58\xd2\x6e\xd9\xc3\x93\x52\xd6\xcd\x5d\x29\xf3\x4f\x15\xf2\x7b\x46\x89\x32\x76\xdf\x4e\x17\xf1\x46\x9b\x8a\x8b\xb4\x1d\x86\x24\xa3\xbb\x6e\x11\x5a\xb4\x03\x16\xef\x57\xc1\x22\x72\x7b\x0e\x85\xe4\xd7\x84\xf1\x77\x26\x38\x19\x89\x4d\x5e\x5f\xea\xf9\x13\x67\x4b\xf5\x9e\x42\x5a\x22\xbd\x4b\xc1\xc5\xb7\x20\x7a\xb0\x16\x4a\xad\xd6\x4c\x95\xe1\xec\xdd\x9f\xb2\x77\x77\x28\x84\x87\x37\x38\xa6\x75\x1b\x67\x1e\x30\x59\xb2\x9e\x36\x67\xea\xf7\x83\x06\x07\x7f\x07\x4c\x10\x51\x67\x44\xd8\x81\x11\xbc\xaa\x0f\x34\xa3\x15\x02\x86\xb3\xec\x44\x39\xed\x65\x8b\x0f\x18\x68\x45\x58\xb8\xfd\xfa\x7e\x90\xa7\x10\x8b\x0f\xf6\xc8\x4f\xa2\x59\x88\xdd\x5a\xa6\xad\x05\x9c\x15\x4d\x55\xed\xcf\x8e\x27\xbe\x7f\x26\xd3\xfe\x19\x74\x78\xf2\x02\x72\x83\xc2\xe1\xb7\x55\xed\xf6\x09\x9f\xf8\xa7\xbc\x0d\x23\xfd\x74\x64\xc3\x05\x7f\x79\xc5\xab\xe0\x30\x4d\x07\xab\xdb\x28\xd9\xb3\x8f\xe8\x1d\xef\xef\xe3\xa7\x09\xb4\xd8\x51\x61\x26\x9c\x4c\x77\xdf\x5f\xd0\x19\xb4\x93\xe9\xbc\x44\xb5\x76\x1b\x4a\xa6\xff\x27\x64\xd2\x7e\xb6\x22\xf5\xe4\x98\x42\xf3\xa2\x5f\x9d\x3d\xa7\xf8\x39\xb9\xfb\xfc\xe4\x8e\xf5\x57\x36\x74\x5f\xde\x92\x1d\x0b\xbe\x47\x73\x39\x9f\xca\x0d\x73\xb7\x4e\x60\x9b\x44\xfd\xc0\xad\x78\x54\xe8\x2f\x87\x91\x54\x15\x1a\x23\xf6\x27\xe4\x79\x63\x52\x4f\x53\x75\x0f\xec\xd2\x3f\xac\x09\x0f\xa1\x7f\x22\x90\x5e\x75\xf2\xcd\xfa\x90\x14\xf4\x6e\x2d\x76\x57\x87\xc6\xd1\x62\xf3\xee\xf8\x40\x26\x8e\xb2\x22\x07\x17\xe5\x4e\xec\xe3\x8d\x39\x25\x4a\x3e\x6c\x92\x4a\x1c\xe6\x6a\xc9\xc7\xee\x46\x11\xe9\xb3\x95\xb7\x92\xd6\xb2\xf2\xd9\x85\xda\xfb\x71\x3e\xed\x20\xfe\x0f\xb5\x74\x7b\x24\x71\x04\x9e\x40\x37\xc2\xf0\x0d\x12\x83\x94\x43\xc9\x12\x47\x8e\x2f\xc6\x87\x1f\x3f\xfb\xea\xae\x56\xb0\xf4\x87\x25\xa7\x7f\xd8\xdd\xb5\x78\xa4\xde\x6c\xc7\x3f\x52\x6e\x06\xa1\x8e\x27\xd4\x07\xc7\x54\x02\x0a\x69\x30\x77\x5d\x45\x28\x95\x75\x28\x0a\x52\x77\x77\x45\x8f\xef\x0c\x44\x95\x93\xa6\xba\x9b\x5e\xc3\xf6\x05\xef\x9f\xaa\xe8\xef\x95\xe1\x3a\x82\x3f\x01\xeb\x66\x2b\x34\x72\x7e\x60\x9b\x3c\x47\xf4\x6d\x12\x4e\xb1\xc3\x95\x05\x8d\x36\xfe\xf6\x58\x69\xf4\x69\x95\xe4\xc0\x78\x83\xd2\xf2\x59\x27\xa0\x11\x7d\x9e\x6f\x30\xff\x40\x54\x79\xf6\xd6\x5f\x6f\xd6\x0e\xee\xb4\x31\x7a\x97\x5e\x2a\x8d\x34\x40\xbc\x12\x87\x9e\xd2\xcf\x38\x72\x83\x82\x1d\xc8\xcf\x76\x73\xb5\x7c\x2f\x56\x18\x5e\x98\x5e\x3c\xa3\xb1\xa1\x17\xdd\x32\x3c\xc8\x64\x7a\x71\xc4\x1f\xfb\x33\x4d\x64\x31\xfd\x94\x9e\x9b\xdf\xd9\xba\xfa\x54\x79\x72\x8c\xdd\x21\xfa\xcd\x5f\x51\x37\x18\xe9\xe9\x84\x54\x9a\x37\xcd\x05\xfc\xec\x3d\xe1\x97\xfe\xd4\xff\x42\x17\x6e\xdb\x56\x7c\xab\xc8\x17\xc5\xfe\x16\x5f\x57\x21\x9d\x30\xdb\xbf\x79\x73\xa6\x09\xaf\x95\x1b\x5b\x66\x6c\xbc\x8d\xd5\xe3\x8f\xaf\x74\x46\x69\x64\xc8\xbb\x62\x55\x17\xb1\xdf\xfb\x80\xe3\x3b\xc9\x49\xf7\x30\xdd\xa1\x4e\x6e\x1e\x8e\x69\xb2\x95\x3e\x49\x3d\xa3\x66\x8f\x24\x94\x22\x04\x00\x16\xfd\x00\xe8\xdf\x9c\x3f\xd2\x6d\x4a\x32\xaf\x98\x8c\xf9\x7b\x4e\xa2\x80\x42\x38\xe1\xcf\xb8\xa8\x70\x88\xa7\x57\xbc\x17\xc8\x27\x8e\xd4\x3b\xd7\xfd\x15\x7a\xbd\xce\x11\x46\x18\x6b\x7e\x9e\x92\x97\x5e\xc5\xfc\xa6\x77\xfd\xf7\x6d\x5a\x67\xc7\x57\xbd\x58\xf6\x90\x2a\xd6\xe8\x68\x79\x82\x17\x4c\x6b\xb0\x6d\x49\xc9\xce\x9a\x54\x70\xe1\x22\x2f\x7d\x10\x52\x3d\x61\x52\x3f\x5d\x2a\xd6\xe4\x40\x19\xa3\xd5\xfa\xc3\x61\xf5\xf9\x6c\x75\x3c\x6e\x8b\x96\xb0\x9e\xb2\xc6\x60\xfe\xf1\xbc\x79\xd2\x6b\x46\x4f\xe1\xe3\xc7\xf8\xe8\x22\x3d\xff\x90\xc5\x74\x31\x18\x4b\xff\xce\xde\x0a\x95\xf0\xb7\x27\xeb\x60\x16\x3e\x02\x4d\x3a\xd8\x3e\x96\x7b\x2e\xde\x5e\x35\xa8\x84\xcb\x37\x6d\x02\x48\xb6\xda\x09\xdb\x35\x4a\x8f\xe5\xe6\x70\xac\xae\xf7\x7f\x1f\xb2\xff\x04\x00\x00\xff\xff\x2c\x64\xe0\xf4\x1d\x34\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x5f\x6f\xe3\xb6\xb2\x7f\xd7\xa7\x98\x4d\x81\xae\x5d\xb8\xce\xc5\xc5\xc5\x7d\x08\x6e\x6f\xba\xdd\x34\x07\x01\x0e\xd2\x62\xd7\x6d\x1f\x8a\xa2\x61\xa4\xb1\xcd\xae\x44\xaa\x24\x65\xd7\xc8\xe6\xbb\x1f\xcc\x90\x94\x28\x4b\x4e\xec\x4d\x0b\x1c\xe0\x74\x1f\xbc\xb1\x2c\xfe\x38\x9c\x3f\x3f\xce\x0c\x79\xfe\xc5\x17\x59\xf6\xd9\x67\xb0\x58\x23\x5c\x97\x7a\x0b\xb7\x5a\x7d\x79\xdd\xa8\x95\xbc\x2f\x11\x16\xfa\x03\x2a\xb0\x4e\xa8\x42\x98\x82\x5f\xbc\xbb\xd5\x2a\xfe\xce\x3f\xdf\x41\xae\x95\x33\x22\x77\x20\x95\x43\xb3\x14\x39\x66\x19\xe1\xb5\x5f\xc1\xad\x85\x03\x51\x96\x63\xe8\x71\xb4\x05\xbb\xd6\x4d\x59\xd0\x83\xa5\x36\x15\x38\x3d\xcf\x6e\x96\x20\xa0\xb1\x68\x60\x2b\x94\xb3\xe0\x34\x14\x58\x97\x7a\x07\x02\x14\x6e\xe1\xf6\x7a\xd1\x02\xcc\xc0\xad\x51\x9a\x4e\x9c\x2d\xc3\x29\xc4\x22\x73\x1a\x64\x55\x97\x58\xa1\x72\xf4\x1a\xec\xaf\xa2\x13\x76\xce\xc2\xa7\x38\x55\x63\x1d\x2c\x75\x49\xea\xa1\x45\xd0\x78\xd3\x94\x68\x41\xa8\x02\x94\xa8\xa4\x5a\x65\xbc\x44\xd7\x5b\xb5\xad\x31\x97\x4b\x89\x76\x1e\x34\x77\xbd\xb8\x03\x83\x56\x37\x26\xaa\x28\xd7\x06\xdb\x47\xe0\x76\x75\xd0\x95\xc1\xda\xa0\x45\x5a\xb2\x50\xbc\x4a\xa9\x18\xdd\x56\xc2\xb8\x56\xb4\x00\xfc\x56\x97\x25\xe6\x4e\x6a\x75\x07\xef\x7a\xf8\x1d\x34\xa1\x5a\xa7\x0d\x49\xcd\x1a\x7d\x6d\x83\xf6\xe2\xd8\x79\x76\x43\x26\xcc\xcb\xa6\xe0\x97\x96\xb8\x85\x65\xa3\xf8\x37\xd6\xbc\x60\x0d\x90\x14\x7a\xab\xd0\xd0\x23\x14\x56\x96\xbb\xac\xd2\x1b\x04\x47\x7a\xb4\x24\x28\xa9\x45\x37\x0e\xf4\x92\xdf\x4e\xa7\x60\x79\xbf\x37\x7a\x23\x0b\x34\x77\xfc\xe6\xdd\x3b\xcc\x51\x6e\xe8\x6b\x2b\x6e\xab\x44\xcb\xeb\xb0\xe9\x13\x28\x30\x2f\x85\xc1\x44\xb8\xad\x74\x6b\xb0\xba\x42\xa8\x0d\x32\x68\xad\x2d\xab\xa9\x90\xfc\x46\x16\xb4\xfa\x7b\x23\x0d\xb2\x50\x9d\xce\x68\x1d\xc1\xba\x39\x1a\x27\xa4\x0a\x36\x65\xa0\x7b\x5c\x8b\x8d\xd4\xa6\x8d\x02\xeb\x1d\x64\x07\x24\x82\xc5\x5a\x18\xe1\x10\xee\x31\x17\x0d\x89\xe9\x60\x25\x37\x68\x79\x0e\x76\x5c\xfa\x43\xdc\xcb\x52\xba\x1d\xcd\x64\xd7\x34\x4e\x80\xc1\x25\x1a\x54\x39\x92\x6f\x7a\xc7\x4d\x45\x22\x71\xb5\x2a\x77\x80\x7f\xd4\xda\x06\xbc\xa5\xc4\xb2\xf0\x5e\xd7\xad\x5d\x2a\xd0\x0a\x41\x1b\xa8\xb4\xc1\x2c\xe8\xbc\x53\xd7\x1c\x6e\x28\xf6\xac\x0e\x82\x91\x50\x76\x5f\xaa\x4a\x7c\x40\xc8\x1b\xeb\x74\xd5\x1a\x21\x28\xad\x17\x37\x7d\x43\x50\x34\x6a\xd8\x08\x23\x75\x43\x90\x52\xad\x82\x2d\x08\xde\xfb\xc3\x3c\xcb\xbe\xd9\x41\x63\x49\x9f\x2d\x32\x2f\xa1\x03\x9a\x05\xa1\xf4\x92\x5d\xb2\xef\xe3\x16\x72\xa1\xc0\xa2\x2a\x32\x1a\x65\xbc\xb3\x44\x6f\xab\x11\xcd\x97\x4e\x7f\x49\xff\xcf\x78\x6e\x72\x3c\x32\x99\x5a\x91\x7c\x3c\x09\x93\x01\x89\x25\x20\x47\x42\x2d\xa1\xc4\x62\x85\x26\x1b\x84\xd3\x42\xf3\x54\x31\xea\xc8\xeb\x95\x76\x6b\x34\x2c\xe2\xac\x65\x23\xa6\x16\x4b\xba\xd9\x31\x74\x61\x84\x0f\x8d\xdb\xeb\x45\xb6\x34\xba\x1a\xd8\x94\xe9\x49\x41\x1e\x19\xa4\xc0\x5a\x5b\xe9\x5a\x4b\x82\x56\xbd\xb9\x5e\xdb\xac\xef\xa3\xb9\x26\x4b\x38\xef\xbe\xce\x08\x65\x97\x68\xe6\x59\xf6\xc5\x79\x96\xc9\xaa\xd6\xc6\xc1\x8f\x12\xb7\x44\x00\xe5\x06\x0d\xb0\x14\x67\xe9\xa3\xb3\x2c\x3b\x3f\x3f\x67\xae\xaf\xc8\xcd\x53\xf6\x4c\x08\x10\xbe\x63\x21\xd2\x5f\xc9\xac\x65\xc9\xa3\xc3\x54\x6c\xc1\xc4\x35\xa4\x4d\xe8\xff\xfc\xfc\x3c\x13\x79\x8e\xd6\x4e\x44\x59\x4e\xbb\x49\x06\xb4\xfb\x90\x65\x00\x00\xe7\xe7\xf0\x46\x01\x2a\x27\x5d\x40\x5c\x6a\xe3\x09\x87\x0d\xb9\xc6\x56\xcb\xa2\x64\x5e\xf1\xe6\xe7\x35\x0a\xf8\x51\x34\xa5\x63\xa0\x74\xd6\x14\xee\xa7\x38\xfa\xbe\xc4\x38\xe5\x39\x7c\xbb\xf1\xc2\x93\x9b\x5b\xc0\x4a\x3a\x87\x05\x6c\xc9\x4e\xc2\x4f\x41\xcf\xe3\xcc\x6a\xd6\x0e\x94\xaa\x90\xb9\x70\x51\x36\xcf\x87\x03\xba\x0b\xc8\x0e\xb6\x22\x41\x61\xa1\xe7\x11\xaa\x85\xbc\x19\x8c\x96\x16\x94\x76\x9e\x50\x69\x61\xba\x51\xee\xb5\x65\x16\x17\x2b\x9c\xc1\x1d\x01\xdd\xb1\x65\xe0\x1e\xe1\x4e\xc9\xf2\xae\x8f\xdb\xd3\xc6\x26\xd5\xc3\x44\x16\x17\xf0\xc3\x8d\x72\xff\xfb\x3f\x33\x68\x9a\xf4\x1b\xa1\x5e\xc0\x9b\xa2\x30\x68\xed\xe5\x8c\x77\xa5\x0b\x78\xef\x8c\x54\xab\x69\x96\xe2\x5a\x2c\x97\x53\xd8\x48\xbf\x51\xb0\xfe\x6e\xaf\x17\x2f\x9d\xe2\x02\xbe\xd1\xba\xe4\x79\x1e\xf8\x93\xfe\x11\x76\x5f\x78\x59\x44\x54\xfa\x8c\x98\xf4\x19\xf1\xe8\x73\xda\x22\x18\x74\x8d\x51\xe0\x4c\x83\xfc\xec\x71\xd4\x0d\x0e\xf9\x40\x88\x56\x2c\x98\x12\x7a\x5b\xda\xc0\x90\x2e\xba\x47\xa0\xed\x63\xbc\x23\xc5\x7f\xce\x86\x57\xfe\xdd\x27\xf4\xeb\xf4\x4b\x0c\xf8\x22\xfc\xc3\xd6\x4b\x61\xf7\x8d\x47\x80\x4e\x9f\x6c\xb8\x45\x60\xc1\x81\x0d\x88\xe2\xb0\xb3\x6a\xc8\x2c\xef\xb1\x6f\xdf\x40\x22\xb4\x21\x47\x3e\x35\x58\x78\x52\xa1\x3d\x35\xc4\x5c\xb2\x0b\x3c\x63\x99\x28\xcf\x29\xae\xff\x22\x53\x3d\x3b\xe1\xe5\x29\x33\x5e\x8e\x5b\x2f\xe8\x33\xaa\x08\x2a\x74\x6b\x5d\xf0\xb6\x1c\x6c\xb3\x14\xa5\xf5\x0a\x07\xb9\x24\x97\x2e\x64\xa1\x5e\x3b\xca\x0e\x44\x3b\x2e\xc5\x93\x0a\xb6\x6b\x99\xaf\x21\x17\x16\x61\x8b\x50\x68\x7a\x9f\x92\x7c\x8e\x92\x60\x3b\x9d\x98\xac\x1d\x2e\x97\xbc\x42\x78\xf5\x15\x28\x59\xc2\xe7\x9f\xfb\xbc\x39\x7c\xed\xc4\x6e\x1d\xaf\xa7\xa4\xbe\xe7\xbd\xda\xe3\x8d\x81\x1b\xbe\x9a\xf6\xf0\xf6\x7d\x91\xfd\x11\x90\x56\xff\xf0\xfc\x8b\xfb\xee\x7b\x85\xd6\x19\xbd\xfb\x44\xef\x8d\x85\x01\x91\x07\xe3\x04\x1d\x8d\x11\x06\xff\xfe\x54\x40\x9f\x4c\x11\x27\x21\x3e\x45\x0a\x1d\xd0\x80\x14\x4e\x23\x83\x9b\x7e\xb9\x19\x92\x31\xeb\xcb\xb7\xae\xa8\x3c\x18\xc2\xc3\xe2\x83\xc6\x5f\xf4\x92\xaa\x79\x9b\x5d\xa5\xe1\xe1\x2d\xd6\x28\xf9\x7b\x83\x70\x73\x15\x76\x12\x91\xaf\xd9\x40\x6b\x61\xdb\x77\xd3\xf9\x5a\x9d\xae\xd0\xdd\x5c\x4d\xa6\x51\x77\xe3\x9e\x44\x76\x98\x93\x5e\x12\x77\x4a\x23\xea\x10\x32\x49\x6f\x09\xfc\xe7\xc5\xae\xc6\x5f\xfa\x61\x9d\xe0\xff\xfc\x4b\xfa\xc3\xe3\x21\x68\x42\x35\x5e\x07\x84\x3c\xf9\x95\x27\xbb\x00\x02\x9f\x5e\xc0\x1b\xb5\x7b\xef\x4c\x93\xbb\xcb\x83\x13\x29\x59\xf6\x67\x6a\xbf\x05\x37\x9e\x4c\xf7\x34\x40\x35\x5d\xff\x09\xfd\xdb\x4f\x25\xe7\x23\xae\xc9\x4a\x0b\xea\x8d\xbe\xd5\x2a\x32\x3a\x58\x7c\x89\x96\x30\x99\xce\x65\x41\x79\xe3\x52\xa2\xe9\x87\xfe\xe3\xe1\x38\x4e\x3c\x4f\x43\x85\x85\xa4\x8a\x30\xe6\x7b\x21\x49\xed\xd7\x9c\xa7\x38\x61\xac\x96\xf7\x5c\xee\x3a\xd6\x0d\x94\x29\xd7\x46\xff\x86\xb9\x6f\x90\xc4\xe4\x83\x88\xd2\xc5\x42\xd5\x17\x60\x3f\xfc\x70\x73\x45\x95\xa2\xd2\xee\x69\x97\x6c\x2c\x5a\x7a\x79\x12\x42\x77\xdc\x27\x99\xf6\x0f\xf8\xe3\x4f\x9e\xad\xba\xe2\x88\xa9\x28\x51\x46\x1d\x97\xd5\xad\x34\x16\xd1\x14\xac\x32\xe7\xec\x3a\x0e\x4f\xa1\x03\x92\x30\x48\x7b\x86\xb0\xfc\xbe\x5f\xa0\xd3\x81\xf2\x4a\x69\x1d\x2a\x2a\x2a\xc3\xef\x65\x00\x8c\x65\x97\x07\xc9\x7a\x2a\x6d\x65\x35\x58\xe9\x0d\xb6\xbd\x97\x56\xe6\x24\x79\xa3\xfa\xc7\xbf\x24\x79\xa3\xe2\x9f\x45\x59\xf6\xf6\x39\x4e\x06\x0b\x8d\x3e\x91\xf7\xfd\xa0\x1d\xb1\x37\x17\x58\x34\xe4\xe6\x8a\x08\xfc\x09\xbb\xa4\x85\x8b\x0f\xbf\x28\xe5\x24\xfe\x71\x73\x15\xa9\x63\x7a\x01\x5f\x3f\xdc\x5e\x2f\x1e\xf7\x23\x48\x5b\x37\x12\x42\x06\x6d\x53\xba\x18\x20\xf0\xd5\x57\x90\x42\x9e\x2d\xbc\x7c\x21\x71\xed\xea\x17\x9f\x14\x33\xad\xde\xfb\x6a\xd4\x8a\x0a\x49\xd1\xdc\x19\xc3\xdf\x1b\xb4\xb4\x4b\xdd\x5c\x9d\x1d\x1d\xb5\xbd\xd4\xbe\x2f\x57\x0c\xdc\xf0\x34\xcd\xf6\x39\x74\x39\xbd\xbe\x9c\x0b\x9f\xd2\xc4\xa8\xee\x30\x4e\x88\xeb\x9e\xe9\xde\x94\x0e\x8d\x4a\x43\x39\x64\x3e\x76\x40\xfd\x0a\xff\xa0\x0d\xc7\xe0\xf0\xdd\xd0\x35\x4b\x03\x74\x2d\x36\xc8\xcd\x1a\x58\x96\xf8\x87\xf4\x5d\x98\x1e\x66\x1a\xc5\x6b\xdf\x73\x93\xc6\xef\x66\x14\xcc\x15\x8a\x36\x3b\x6a\x6c\x92\x1a\xd1\xd8\x9f\x62\xff\x65\xf3\xdf\xd0\xd4\x2b\x23\x0a\x9c\xc5\xde\x58\x90\x21\x56\x8c\x09\x29\x70\xcb\x8e\xbc\xd2\xee\x45\x44\xfa\x66\x68\x10\xdd\x5c\x59\x42\xec\xf0\x28\x13\xac\x65\xfe\x81\x51\xf2\xb5\xd6\x94\xd3\x51\x7a\xd7\xc3\xf2\x7e\x64\xc7\x54\x54\xd7\xa5\xf4\xfd\x24\xb7\xc6\xaa\x6f\x86\xc5\x77\x57\xdf\x5d\xc0\x22\x8c\x2c\x4b\x1f\xb9\x8d\x28\xcb\x9d\xd7\xa4\xae\x29\x20\x45\xd9\xe6\x06\xbb\x1a\xed\x0c\xee\x1b\x17\xb2\x4a\x23\x57\x6b\x07\x4a\x6f\x7b\xb8\x91\x6c\xf4\x12\x04\xdc\x37\x2b\xca\x49\xdf\x8a\x82\x5b\x72\xa3\xac\x40\x8a\x65\x5d\x3d\xcf\x0e\xb3\xa0\x30\xe9\x7c\x6c\xcf\x8e\xa1\x8b\x67\x03\x3e\x0a\x30\xf9\xb5\x97\x6b\x7d\x52\xd0\x53\xb0\x53\xba\xfc\xf1\x63\x78\xf0\x8a\x03\x8b\x1e\x7b\xec\xff\xf4\xe8\x4f\x95\x4e\x18\x27\x5a\x9d\x87\x90\xd1\x43\x6c\x1d\xb1\x55\x2c\xd6\xd2\x86\xc6\x62\x88\x6b\xb8\xdf\xf5\x7a\x0d\x3e\xb1\xe4\x76\xa8\x23\xfa\xa8\x9a\xd2\xc9\xba\x44\xdf\xaa\x24\xb7\x3f\xcd\x99\x58\x37\x5e\x61\xf4\xe7\x0c\xfe\xa4\x1d\x65\xe0\x5c\x7f\x6f\x31\xc7\x39\xd9\x1b\x55\x1c\xc9\x30\x89\xab\xb9\xe8\x6a\x1c\xc0\xff\xd6\xce\x16\xd6\xd7\xf3\xb9\xbf\xa9\xec\x2f\xf0\x32\x38\xa2\x40\x89\x7d\x19\x0b\xf7\xe8\xb6\x88\x2a\xa9\x4f\xec\x29\x05\x4a\xec\xaf\xe8\xfd\x12\xa5\xed\x18\x1d\xf4\x67\x76\x4c\x9b\x78\x5d\x6f\xfc\xa8\x2f\x77\x0e\x1a\xcf\x57\xd9\x75\xef\x4c\x3c\x45\x7c\xde\x2d\xdd\x58\xd7\x2c\x8e\xbf\x80\xb7\xa2\x0e\x47\x63\xff\xf7\xf9\x43\x3c\x9c\x7c\xfc\xff\xb4\x8b\xf1\x9c\x6e\x43\x95\x11\x53\x9a\x4f\xac\xfc\xe2\xdc\xf1\x94\x24\x4e\x19\x6b\x18\x27\x3e\x74\x4a\x15\xfc\x97\x30\xab\x86\x0f\x3c\x48\x77\xa2\x28\x52\xd5\xbd\x1d\xd5\xf2\x68\x21\x48\x5a\x0a\xb3\x4c\x38\x4a\x62\x60\x4e\x7b\x45\x1e\x09\xb3\x42\xf7\xbe\xa9\x6b\x6d\x1c\x16\xb7\xd7\x0b\x72\x52\x1b\x52\x31\x0b\x82\x0b\xb1\x78\xb0\xc7\xac\x11\xbb\x33\xd2\xb6\x2a\xe7\xa9\x6b\x67\x8f\xe9\x67\x0c\xe6\xa2\x12\xf5\x61\xc1\xa1\x42\xe6\x79\x3c\xd8\x78\x78\x78\x3c\xd0\x77\x08\x0b\x79\x17\x64\x8e\xe5\x99\xaf\xc7\x58\x73\x2b\xb9\x41\x9f\x58\x52\xb5\xe6\xa5\xf5\x6e\xd7\x77\xc9\x7d\xc8\x37\xa3\x7c\xea\xc7\x83\x50\x3b\x0f\x19\xfa\x7b\xbf\x11\x0f\x25\xfd\x2d\x82\x2f\x70\xd9\x1e\x6d\x3d\xa5\x18\x69\xf7\xf5\x92\x70\xec\xb0\x86\xef\x2b\xa6\x5f\xc6\xb7\xdd\x9f\xc4\xc7\xdf\xf9\x83\xf3\xf6\x60\xce\xaf\x5a\xe5\x06\xdd\xde\xf5\x85\x76\x88\xaf\x4e\xc2\x51\x7d\x11\xaf\x2f\xb4\x27\x86\x5c\x4e\x84\x53\xc1\x53\x42\xa2\xf3\xe1\x8b\xb6\x31\x32\x6b\x03\x65\x96\x70\xd1\x6c\xbc\x71\x97\x9c\xa9\xee\x45\xd5\xbb\xa0\x7a\x3e\x9b\x65\xb5\xc7\xa3\x36\xa8\x85\x5b\x27\x0b\x1f\x98\xfb\x90\xb3\x5e\x79\x9c\xf7\x1e\xe6\x7b\xe1\xd6\xe4\xad\xc9\xd7\xcb\xf1\xc6\x4a\xda\x23\x7b\x7c\x56\xca\xba\xb9\x2f\x65\xfe\x52\x21\xbf\x67\x94\x28\x63\xf7\xed\x74\x11\x6f\xb5\xa9\xb8\x3c\xdb\x62\x48\x31\xba\x8b\x17\xa1\x31\x3b\x60\xf1\x7e\xfd\x2b\x22\xb7\xe7\x50\x48\x7e\x4d\x18\x7f\x7b\x82\x53\x91\xd8\xda\xf5\x45\x9e\x3f\x7b\xb6\x54\xe9\x29\xa4\x25\xd2\xbb\x14\x5c\x7c\x1f\xa2\x07\x6b\xa1\xd4\x6a\xc5\x54\x19\x4e\xe1\xfd\x79\x7b\x77\x9b\x42\x78\x78\x83\x63\x5a\xb7\x71\xe6\x01\x93\x25\xeb\x69\x33\xa6\x7e\x1f\x68\x70\xfa\xb7\xc7\x04\x11\x75\x46\x84\x1d\x18\xc1\xab\x7a\x4f\x33\x5a\x21\x60\x38\xd5\x4e\x94\xd3\x5e\xbb\xf8\x80\x81\x56\x84\x85\xbb\xaf\x1f\x06\x79\x0a\xb1\xf8\x60\x8f\x7c\x11\xcd\x42\xec\xd1\x32\x6d\x5d\xc0\x59\xd1\x54\xd5\xee\xec\x70\xda\xfb\x67\x32\xed\x9f\x41\x87\x27\x2f\x20\x37\x28\x1c\x7e\x5b\xd5\x6e\x97\xf0\x89\x7f\xca\xdb\x30\xd2\x4f\x07\x36\x5c\xf0\xd7\x58\xbc\x0a\xf6\x93\x74\xb0\xba\x8d\x92\x1d\xfb\x88\xde\xf2\xfe\x3e\x7e\x86\x40\x8b\x1d\x15\x66\xc2\xa9\x74\xf7\xfd\x13\x3a\x82\x76\x32\x9d\x97\xa8\x56\x6e\x4d\xa9\xf4\x7f\x85\x3c\xda\xcf\x56\xa4\x9e\x1c\x13\x68\x5e\xf4\xab\xb3\x63\x4a\x9f\x93\xbb\xce\xcf\xee\x58\x7f\x65\x23\xf7\xd3\x5b\xb1\x63\xc1\xf7\x64\x2e\xe7\x53\xb9\x61\xee\xd6\x09\x6c\x93\xa8\x1f\xb8\x15\x8f\x0a\x7d\xe5\x30\x92\x6a\x42\x63\xc4\xee\x84\x3c\x6f\x4c\xea\xe3\x0e\x65\x92\xc6\x7f\x7a\xc7\xc9\xf7\xe4\x43\x0e\xd0\xbb\xae\xd8\xdd\x19\x1a\x81\x8a\x2d\xba\xc3\xa3\x98\x24\xca\x8a\x9c\x59\x94\x5b\xb1\x8b\xf7\xe4\x94\x28\xf9\x38\x49\x2a\xd1\x0b\xbf\x04\xbc\xbb\x44\x44\x8a\x6b\x25\xad\xa4\xb5\xac\x65\xf6\x95\xf6\x4a\x9c\xcf\x2f\x88\xe8\x43\xc9\xdc\x9e\x39\x8c\x61\x13\xe2\x5a\x18\xbe\x2c\x62\x90\x32\x25\x59\xe2\xc8\xe1\xc4\x09\x87\x5a\xdd\xdd\x09\x96\x7a\xbf\xa6\xf4\x0f\xbb\xcb\x14\x4f\x14\x94\xed\xf8\x4f\xed\x5a\xf4\x4e\x9e\x04\x14\xd2\x60\xee\xba\x62\x4f\x2a\xeb\x50\x14\xa4\xe0\xee\x1e\x1e\xdf\x04\x88\x4a\x26\xf5\x74\xd7\xb9\x86\x7d\x09\xde\x1a\x55\xd1\xdf\x06\xc3\x25\x03\x7f\xa8\xd5\xcd\x56\x68\xe4\xad\xdf\x36\x79\x8e\xe8\xfb\x1f\x9c\x3d\x87\x8b\x08\x1a\x6d\xfc\xed\xa9\xaa\xe7\x65\x45\xe2\xc0\x6c\x83\xaa\xf1\xa8\xe8\x89\xe8\xf3\x7c\x8d\xf9\x07\x62\xc1\xb3\xb7\xfe\x0e\xb3\x76\x70\xaf\x8d\xd1\xdb\xf4\xe6\x68\x8c\x70\xa2\x8c\x38\x74\xd8\xa8\xe8\xce\x40\x89\xd0\x29\xe7\x16\x52\xd9\x89\x2c\xa6\x91\xd1\x3b\x2e\x6c\x8f\xaa\xc2\x6b\xbe\x27\xd2\x96\xd9\xa7\xf4\x41\x0e\x5c\xba\x60\x69\xfc\x52\x6e\xaf\x17\xef\xc5\x12\xc3\x0b\xd3\xcb\x23\x1a\x22\xfa\xa2\xd3\x91\x07\x99\x4c\x2f\x0f\xb8\x79\x7f\x26\x5a\xef\x4b\x7c\xde\x2b\xb0\xab\x6b\x95\x27\xd5\xd8\x53\xa2\xdf\xfc\x25\x77\x83\x91\xe7\x4e\x48\xc1\xd9\x36\x17\xf0\xb3\x77\xb3\x5f\xfa\x53\xff\x03\x5d\xb8\xaf\x5b\xf1\x6d\x24\x5f\x4c\xfb\x7b\x80\x5d\x65\x75\xc2\x6c\xff\xe4\x4d\x9d\x26\xbc\x51\x6e\x6c\x99\xb1\x5d\x37\x56\xc7\x3f\xbd\xd2\x19\xa5\x9f\x21\x5f\x8b\xd5\x60\xc4\x7e\xef\xa3\x99\x6f\x35\x27\x3d\xc7\x74\x67\x3b\xb9\xe5\x38\xa6\xc9\x56\xfa\x24\x65\x8d\x9a\x3d\x90\x88\x8a\x10\x5d\x58\xf4\xa3\xab\x7f\xf7\xfe\x40\x97\x2a\xc9\xd8\x62\x12\xe7\xaf\x46\x89\x02\x0a\xe1\x84\x3f\x15\xa3\x82\x23\x9e\x77\xf1\xd6\x22\x9f\x39\x82\xef\x5c\xf7\x57\xe8\x75\x48\x47\xe8\x66\xac\x65\x7a\x4a\x3e\x7b\x1d\xf3\xa2\xde\x05\xe2\xb7\x69\x7d\x1e\x5f\xf5\x62\xd9\x7d\x1e\x5a\xa1\xa3\xe5\x09\x5e\x30\xad\xc1\xb6\xa5\x28\x3b\x6b\x52\xf9\x85\xab\xc0\x91\x89\x8e\xd1\x42\x2a\xd6\x64\x4f\x19\xa3\x55\xfe\xe3\x7e\xd5\x7a\xb4\x3a\x9e\xb6\x45\x4b\x58\xcf\x59\x63\x30\xff\x78\xbe\x3d\xe9\xb5\xb0\xa7\xf0\xf1\x63\x7c\x74\x99\x9e\x99\x30\x59\x0f\x06\xd3\xbf\xb3\xb7\x42\x25\xbb\x83\xdf\x0a\x82\x5d\xf8\xd4\x34\x69\x7c\xfb\x60\xee\xf9\x78\x4b\xf8\x95\x70\xf9\xba\xcd\x1c\xc9\x58\x5b\x61\x3b\xea\x3f\x94\xd4\xc3\xa1\x86\x80\xff\x7c\xcc\xfe\x15\x00\x00\xff\xff\x41\xb5\x10\xb9\x60\x34\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -257,7 +257,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x58, 0x3f, 0x79, 0xfa, 0x4b, 0x9e, 0x15, 0xec, 0x89, 0x2f, 0x66, 0xb5, 0x4f, 0xe1, 0x73, 0xb1, 0x7e, 0xf0, 0x6e, 0xa, 0x7, 0x5f, 0x6, 0x5, 0xdb, 0x8f, 0xf5, 0x9c, 0x68, 0xc8, 0x1d, 0xe3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x86, 0x76, 0x73, 0xbe, 0x2, 0xac, 0x80, 0xd9, 0xd1, 0xe6, 0x1f, 0xe4, 0x94, 0x2d, 0xc8, 0xac, 0x28, 0x22, 0xd0, 0xf3, 0x1e, 0x47, 0xb3, 0x7e, 0x6f, 0xfb, 0xbe, 0x23, 0xb4, 0x3e, 0x7e, 0x6a}}
 	return a, nil
 }
 

From bd585d9f71c0e89d7c157267dd0127f9f9d29986 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 25 Oct 2023 11:50:00 -0500
Subject: [PATCH 061/115] fix go GenerateTransferInvalidVaultScript() template
 txn generation

---
 lib/go/templates/transaction_templates.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/go/templates/transaction_templates.go b/lib/go/templates/transaction_templates.go
index 9d48821f..bfcae22d 100644
--- a/lib/go/templates/transaction_templates.go
+++ b/lib/go/templates/transaction_templates.go
@@ -116,7 +116,7 @@ func GenerateTransferInvalidVaultScript(fungibleAddr, tokenAddr, otherTokenAddr,
 		import %s from 0x%s
 
 		transaction {
-			prepare(acct: &Account) {
+			prepare(acct: auth(BorrowValue) &Account) {
 				let recipient = getAccount(0x%s)
 
 				let providerRef = acct.storage.borrow<&{FungibleToken.Provider}>(from: /storage/%sVault)

From 5aa68d856c0a2cf9be6dadb51d0cc334cdd855ec Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 25 Oct 2023 12:08:09 -0500
Subject: [PATCH 062/115] rm test bash script in favor of Makefile

---
 test.sh | 5 -----
 1 file changed, 5 deletions(-)
 delete mode 100644 test.sh

diff --git a/test.sh b/test.sh
deleted file mode 100644
index acc77415..00000000
--- a/test.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-set -e
-
-flow test --cover --covercode="contracts" --coverprofile="coverage.lcov" test/*_tests.cdc
\ No newline at end of file

From 6c7ce69a28b35bac90445fc063f10479d34d610a Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Wed, 25 Oct 2023 12:12:09 -0500
Subject: [PATCH 063/115] fix example_token_tests burn event check

---
 tests/example_token_tests.cdc | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/tests/example_token_tests.cdc b/tests/example_token_tests.cdc
index 09908daa..dddd1bff 100644
--- a/tests/example_token_tests.cdc
+++ b/tests/example_token_tests.cdc
@@ -185,10 +185,7 @@ access(all) fun testBurnTokens() {
 
     Test.expect(txResult, Test.beSucceeded())
 
-    // var typ = CompositeType(buildTypeIdentifier(admin, "ExampleToken", "BurnerCreated"))!
-    // Test.assertEqual(1, blockchain.eventsOfType(typ).length)
-
-    var typ = CompositeType(buildTypeIdentifier(admin, "FungibleToken", "Burrn"))!
+    var typ = CompositeType(buildTypeIdentifier(admin, "FungibleToken", "Burn"))!
     Test.assertEqual(1, blockchain.eventsOfType(typ).length)
 
     code = Test.readFile("../transactions/scripts/get_balance.cdc")

From 91dd36716254207351526c1e9c6dfd30121a89f9 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Mon, 6 Nov 2023 18:30:48 -0600
Subject: [PATCH 064/115] Apply suggestions from code review

Co-authored-by: Joshua Hannan <hannanjoshua19@gmail.com>
---
 contracts/ExampleToken-v2.cdc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 2a837e2e..5443250d 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -252,6 +252,7 @@ access(all) contract ExampleToken: ViewResolver {
     /// @param from: The Vault resource containing the tokens to burn
     ///
     // TODO: Revisit if removal of custom destructors passes
+    // Will need to add an update to total supply
     // See https://github.com/onflow/flips/pull/131
     access(all) fun burnTokens(from: @ExampleToken.Vault) {
         destroy from

From 1283415b023aead7045fcfc28a51331d11492e60 Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Mon, 6 Nov 2023 18:47:17 -0600
Subject: [PATCH 065/115] update ExampleToken-v2.Vault receiverLinkedType +
 tests & go assets

---
 contracts/ExampleToken-v2.cdc              |    2 +-
 coverage.json                              | 2623 ++++++++++++++++----
 lib/go/contracts/internal/assets/assets.go |    6 +-
 tests/private_receiver_forwarder_tests.cdc |    2 -
 tests/scripts/get_vault_data.cdc           |    2 +-
 5 files changed, 2162 insertions(+), 473 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index 5443250d..d7ceeb45 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -117,7 +117,7 @@ access(all) contract ExampleToken: ViewResolver {
                         receiverPath: self.receiverPath,
                         metadataPath: self.publicPath,
                         providerPath: /private/exampleTokenVault,
-                        receiverLinkedType: Type<&ExampleToken.Vault>(),
+                        receiverLinkedType: Type<&{FungibleToken.Receiver}>(),
                         metadataLinkedType: Type<&ExampleToken.Vault>(),
                         providerLinkedType: Type<&ExampleToken.Vault>(),
                         createEmptyVaultFunction: (fun(): @{FungibleToken.Vault} {
diff --git a/coverage.json b/coverage.json
index 56d8fafe..35710280 100644
--- a/coverage.json
+++ b/coverage.json
@@ -1,73 +1,451 @@
 {
   "coverage": {
-    "A.01cf0e2f2f715450.ExampleToken": {
-      "line_hits": {
-        "101": 1,
-        "115": 6,
-        "117": 1,
-        "122": 2,
-        "128": 2,
-        "129": 2,
-        "140": 2,
-        "149": 1,
-        "153": 0,
-        "155": 1,
-        "167": 3,
-        "178": 1,
-        "179": 1,
-        "187": 1,
-        "188": 1,
-        "207": 1,
-        "208": 1,
+    "A.0000000000000001.MetadataViews": {
+      "line_hits": {
+        "111": 0,
+        "112": 0,
+        "121": 0,
+        "122": 0,
+        "125": 0,
+        "143": 4,
+        "144": 4,
+        "156": 4,
+        "166": 0,
+        "167": 0,
+        "168": 0,
+        "171": 0,
+        "181": 0,
+        "191": 0,
+        "192": 0,
+        "193": 0,
+        "196": 0,
+        "208": 8,
+        "218": 0,
+        "219": 0,
+        "220": 0,
+        "223": 0,
+        "257": 0,
+        "259": 0,
+        "260": 0,
+        "261": 0,
+        "276": 0,
+        "277": 0,
+        "278": 0,
+        "280": 0,
+        "282": 0,
+        "290": 0,
+        "300": 0,
+        "301": 0,
+        "302": 0,
+        "305": 0,
+        "315": 0,
+        "340": 0,
+        "341": 0,
+        "342": 0,
+        "343": 0,
+        "354": 0,
+        "362": 0,
+        "372": 0,
+        "373": 0,
+        "374": 0,
+        "377": 0,
+        "392": 0,
+        "393": 0,
+        "394": 0,
+        "398": 0,
+        "399": 0,
+        "400": 0,
+        "401": 0,
+        "404": 0,
+        "432": 0,
+        "433": 0,
+        "435": 0,
+        "436": 0,
+        "437": 0,
+        "450": 0,
+        "460": 0,
+        "461": 0,
+        "462": 0,
+        "465": 0,
+        "478": 0,
+        "48": 0,
+        "488": 0,
+        "489": 0,
+        "49": 0,
+        "490": 0,
+        "493": 0,
+        "50": 0,
+        "513": 0,
+        "514": 0,
+        "517": 0,
+        "518": 0,
+        "519": 0,
+        "529": 0,
+        "530": 0,
+        "531": 0,
+        "534": 0,
+        "561": 0,
+        "562": 0,
+        "563": 0,
+        "564": 0,
+        "565": 0,
+        "566": 0,
+        "567": 0,
+        "568": 0,
+        "579": 0,
+        "580": 0,
+        "581": 0,
+        "584": 0,
+        "60": 0,
+        "61": 0,
+        "62": 0,
+        "640": 0,
+        "641": 0,
+        "643": 0,
+        "644": 0,
+        "645": 0,
+        "646": 0,
+        "647": 0,
+        "648": 0,
+        "649": 0,
+        "65": 0,
+        "659": 0,
+        "660": 0,
+        "661": 0,
+        "664": 0,
+        "699": 0,
+        "700": 0,
+        "701": 0,
+        "702": 0,
+        "703": 0,
+        "704": 0,
+        "715": 0,
+        "716": 0,
+        "717": 0,
+        "720": 0,
+        "81": 4,
+        "85": 0
+      },
+      "missed_lines": [
+        48,
+        49,
+        50,
+        60,
+        61,
+        62,
+        65,
+        85,
+        111,
+        112,
+        121,
+        122,
+        125,
+        166,
+        167,
+        168,
+        171,
+        181,
+        191,
+        192,
+        193,
+        196,
+        218,
+        219,
+        220,
+        223,
+        257,
+        259,
+        260,
+        261,
+        276,
+        277,
+        278,
+        280,
+        282,
+        290,
+        300,
+        301,
+        302,
+        305,
+        315,
+        340,
+        341,
+        342,
+        343,
+        354,
+        362,
+        372,
+        373,
+        374,
+        377,
+        392,
+        393,
+        394,
+        398,
+        399,
+        400,
+        401,
+        404,
+        432,
+        433,
+        435,
+        436,
+        437,
+        450,
+        460,
+        461,
+        462,
+        465,
+        478,
+        488,
+        489,
+        490,
+        493,
+        513,
+        514,
+        517,
+        518,
+        519,
+        529,
+        530,
+        531,
+        534,
+        561,
+        562,
+        563,
+        564,
+        565,
+        566,
+        567,
+        568,
+        579,
+        580,
+        581,
+        584,
+        640,
+        641,
+        643,
+        644,
+        645,
+        646,
+        647,
+        648,
+        649,
+        659,
+        660,
+        661,
+        664,
+        699,
+        700,
+        701,
+        702,
+        703,
+        704,
+        715,
+        716,
+        717,
+        720
+      ],
+      "statements": 123,
+      "percentage": "4.1%"
+    },
+    "A.0000000000000002.FungibleTokenMetadataViews": {
+      "line_hits": {
+        "102": 0,
+        "103": 0,
+        "104": 0,
+        "107": 0,
+        "155": 4,
+        "156": 4,
+        "157": 4,
+        "159": 4,
+        "160": 4,
+        "161": 4,
+        "162": 4,
+        "163": 4,
+        "164": 4,
+        "165": 4,
+        "166": 4,
+        "176": 0,
+        "177": 0,
+        "178": 0,
+        "181": 0,
+        "189": 0,
+        "27": 4,
+        "28": 4,
+        "38": 0,
+        "39": 0,
+        "40": 0,
+        "42": 0,
+        "87": 4,
+        "88": 4,
+        "89": 4,
+        "90": 4,
+        "91": 4,
+        "92": 4
+      },
+      "missed_lines": [
+        38,
+        39,
+        40,
+        42,
+        102,
+        103,
+        104,
+        107,
+        176,
+        177,
+        178,
+        181,
+        189
+      ],
+      "statements": 32,
+      "percentage": "59.4%"
+    },
+    "A.0000000000000005.ExampleToken": {
+      "line_hits": {
+        "101": 2,
+        "102": 2,
+        "113": 2,
+        "115": 2,
+        "124": 1,
+        "128": 0,
+        "132": 1,
+        "137": 0,
+        "138": 0,
+        "139": 0,
+        "143": 0,
+        "148": 12,
+        "149": 12,
+        "150": 12,
+        "151": 12,
+        "152": 12,
+        "157": 48,
+        "171": 6,
+        "172": 6,
+        "185": 5,
+        "186": 5,
+        "187": 5,
+        "188": 5,
+        "192": 0,
+        "195": 0,
+        "199": 0,
         "210": 1,
-        "211": 1,
-        "212": 1,
-        "213": 1,
+        "216": 7,
         "217": 1,
         "233": 1,
         "234": 1,
         "235": 1,
-        "236": 1,
-        "241": 2,
-        "242": 2,
-        "243": 2,
-        "244": 2,
-        "245": 2,
-        "248": 2,
-        "249": 2,
-        "253": 2,
-        "260": 2,
-        "265": 2,
-        "266": 2,
+        "24": 0,
+        "247": 2,
+        "25": 0,
+        "258": 1,
+        "262": 2,
+        "264": 2,
+        "268": 2,
         "269": 2,
-        "54": 12,
-        "68": 6,
-        "69": 6,
-        "70": 6,
-        "82": 5,
-        "83": 5,
-        "84": 5,
-        "85": 5,
-        "86": 5,
-        "90": 7,
-        "91": 1
+        "270": 2,
+        "271": 2,
+        "273": 2,
+        "279": 2,
+        "280": 2,
+        "281": 2,
+        "282": 2,
+        "284": 2,
+        "285": 2,
+        "29": 0,
+        "32": 0,
+        "36": 0,
+        "39": 0,
+        "65": 2,
+        "70": 2,
+        "75": 2,
+        "79": 1,
+        "88": 6,
+        "90": 1,
+        "95": 2
+      },
+      "missed_lines": [
+        24,
+        25,
+        29,
+        32,
+        36,
+        39,
+        128,
+        137,
+        138,
+        139,
+        143,
+        192,
+        195,
+        199
+      ],
+      "statements": 60,
+      "percentage": "76.7%"
+    },
+    "A.0000000000000005.FungibleToken": {
+      "line_hits": {
+        "108": 6,
+        "133": 4,
+        "139": 0,
+        "148": 0,
+        "167": 0,
+        "168": 0,
+        "172": 0,
+        "177": 0,
+        "182": 0,
+        "187": 0,
+        "194": 0,
+        "209": 7,
+        "216": 13,
+        "227": 5,
+        "232": 15,
+        "241": 0,
+        "251": 1,
+        "51": 0,
+        "52": 0,
+        "58": 0,
+        "59": 0,
+        "65": 0,
+        "66": 0,
+        "73": 0,
+        "74": 0,
+        "76": 0
       },
       "missed_lines": [
-        153
+        51,
+        52,
+        58,
+        59,
+        65,
+        66,
+        73,
+        74,
+        76,
+        139,
+        148,
+        167,
+        168,
+        172,
+        177,
+        182,
+        187,
+        194,
+        241
       ],
-      "statements": 49,
-      "percentage": "98.0%"
+      "statements": 26,
+      "percentage": "26.9%"
     },
-    "A.01cf0e2f2f715450.FungibleTokenMetadataViews": {
+    "A.0000000000000005.FungibleTokenMetadataViews": {
       "line_hits": {
-        "101": 1,
         "102": 1,
         "103": 1,
-        "106": 0,
-        "154": 2,
+        "104": 1,
+        "107": 0,
         "155": 2,
         "156": 2,
-        "158": 2,
+        "157": 2,
         "159": 2,
         "160": 2,
         "161": 2,
@@ -75,88 +453,93 @@
         "163": 2,
         "164": 2,
         "165": 2,
-        "175": 1,
+        "166": 2,
         "176": 1,
         "177": 1,
-        "180": 0,
-        "188": 0,
-        "26": 1,
+        "178": 1,
+        "181": 0,
+        "189": 0,
         "27": 1,
-        "37": 1,
+        "28": 1,
         "38": 1,
         "39": 1,
-        "41": 0,
-        "86": 2,
+        "40": 1,
+        "42": 0,
         "87": 2,
         "88": 2,
         "89": 2,
         "90": 2,
-        "91": 2
+        "91": 2,
+        "92": 2
       },
       "missed_lines": [
-        41,
-        106,
-        180,
-        188
+        42,
+        107,
+        181,
+        189
       ],
       "statements": 32,
       "percentage": "87.5%"
     },
-    "A.01cf0e2f2f715450.FungibleTokenSwitchboard": {
+    "A.0000000000000005.FungibleTokenSwitchboard": {
       "line_hits": {
         "102": 0,
-        "105": 0,
-        "108": 0,
-        "111": 0,
-        "137": 0,
-        "139": 0,
-        "142": 0,
-        "161": 1,
+        "104": 0,
+        "107": 0,
+        "110": 0,
+        "138": 0,
+        "140": 0,
+        "143": 0,
         "164": 1,
-        "165": 1,
-        "170": 1,
+        "167": 1,
+        "168": 1,
+        "172": 1,
         "174": 1,
-        "177": 1,
-        "194": 1,
-        "197": 1,
-        "200": 1,
-        "212": 4,
-        "216": 3,
+        "176": 1,
+        "195": 1,
+        "198": 1,
+        "201": 1,
+        "215": 4,
         "219": 3,
-        "236": 0,
-        "240": 0,
-        "243": 0,
-        "247": 0,
+        "222": 3,
+        "239": 0,
+        "242": 0,
+        "244": 0,
         "248": 0,
-        "250": 0,
-        "252": 0,
-        "253": 0,
-        "262": 1,
-        "263": 0,
+        "249": 0,
+        "254": 0,
+        "256": 0,
+        "257": 0,
         "266": 1,
-        "278": 1,
-        "279": 0,
+        "267": 0,
+        "270": 1,
         "282": 1,
-        "293": 4,
-        "294": 4,
-        "295": 2,
-        "296": 2,
-        "299": 4,
-        "310": 0,
-        "312": 0,
-        "313": 0,
-        "315": 0,
+        "283": 0,
+        "286": 1,
+        "297": 0,
+        "298": 0,
+        "299": 0,
+        "300": 0,
+        "303": 0,
+        "314": 0,
+        "316": 0,
+        "317": 0,
         "319": 0,
-        "327": 4,
-        "328": 4,
-        "329": 4,
-        "330": 2,
-        "332": 4,
-        "337": 1,
-        "346": 1,
+        "322": 0,
+        "330": 4,
+        "331": 4,
+        "332": 2,
+        "333": 2,
+        "336": 4,
+        "342": 0,
+        "343": 0,
+        "344": 0,
+        "345": 0,
         "350": 1,
-        "351": 1,
-        "352": 1,
+        "359": 1,
+        "363": 1,
+        "364": 1,
+        "365": 1,
         "68": 1,
         "71": 1,
         "74": 1,
@@ -172,36 +555,297 @@
         97,
         98,
         102,
-        105,
-        108,
-        111,
-        137,
-        139,
-        142,
-        236,
-        240,
-        243,
-        247,
+        104,
+        107,
+        110,
+        138,
+        140,
+        143,
+        239,
+        242,
+        244,
         248,
-        250,
-        252,
-        253,
-        263,
-        279,
-        310,
-        312,
-        313,
+        249,
+        254,
+        256,
+        257,
+        267,
+        283,
+        297,
+        298,
+        299,
+        300,
+        303,
+        314,
+        316,
+        317,
+        319,
+        322,
+        342,
+        343,
+        344,
+        345
+      ],
+      "statements": 65,
+      "percentage": "46.2%"
+    },
+    "A.0000000000000005.MetadataViews": {
+      "line_hits": {
+        "111": 0,
+        "112": 0,
+        "121": 0,
+        "122": 0,
+        "125": 0,
+        "143": 2,
+        "144": 2,
+        "156": 2,
+        "166": 0,
+        "167": 0,
+        "168": 0,
+        "171": 0,
+        "181": 0,
+        "191": 0,
+        "192": 0,
+        "193": 0,
+        "196": 0,
+        "208": 4,
+        "218": 0,
+        "219": 0,
+        "220": 0,
+        "223": 0,
+        "257": 0,
+        "259": 0,
+        "260": 0,
+        "261": 0,
+        "276": 0,
+        "277": 0,
+        "278": 0,
+        "280": 0,
+        "282": 0,
+        "290": 0,
+        "300": 0,
+        "301": 0,
+        "302": 0,
+        "305": 0,
+        "315": 0,
+        "340": 0,
+        "341": 0,
+        "342": 0,
+        "343": 0,
+        "354": 0,
+        "362": 0,
+        "372": 0,
+        "373": 0,
+        "374": 0,
+        "377": 0,
+        "392": 0,
+        "393": 0,
+        "394": 0,
+        "398": 0,
+        "399": 0,
+        "400": 0,
+        "401": 0,
+        "404": 0,
+        "432": 0,
+        "433": 0,
+        "435": 0,
+        "436": 0,
+        "437": 0,
+        "450": 0,
+        "460": 0,
+        "461": 0,
+        "462": 0,
+        "465": 0,
+        "478": 0,
+        "48": 0,
+        "488": 0,
+        "489": 0,
+        "49": 0,
+        "490": 0,
+        "493": 0,
+        "50": 0,
+        "513": 0,
+        "514": 0,
+        "517": 0,
+        "518": 0,
+        "519": 0,
+        "529": 0,
+        "530": 0,
+        "531": 0,
+        "534": 0,
+        "561": 0,
+        "562": 0,
+        "563": 0,
+        "564": 0,
+        "565": 0,
+        "566": 0,
+        "567": 0,
+        "568": 0,
+        "579": 0,
+        "580": 0,
+        "581": 0,
+        "584": 0,
+        "60": 0,
+        "61": 0,
+        "62": 0,
+        "640": 0,
+        "641": 0,
+        "643": 0,
+        "644": 0,
+        "645": 0,
+        "646": 0,
+        "647": 0,
+        "648": 0,
+        "649": 0,
+        "65": 0,
+        "659": 0,
+        "660": 0,
+        "661": 0,
+        "664": 0,
+        "699": 0,
+        "700": 0,
+        "701": 0,
+        "702": 0,
+        "703": 0,
+        "704": 0,
+        "715": 0,
+        "716": 0,
+        "717": 0,
+        "720": 0,
+        "81": 2,
+        "85": 1
+      },
+      "missed_lines": [
+        48,
+        49,
+        50,
+        60,
+        61,
+        62,
+        65,
+        111,
+        112,
+        121,
+        122,
+        125,
+        166,
+        167,
+        168,
+        171,
+        181,
+        191,
+        192,
+        193,
+        196,
+        218,
+        219,
+        220,
+        223,
+        257,
+        259,
+        260,
+        261,
+        276,
+        277,
+        278,
+        280,
+        282,
+        290,
+        300,
+        301,
+        302,
+        305,
         315,
-        319
+        340,
+        341,
+        342,
+        343,
+        354,
+        362,
+        372,
+        373,
+        374,
+        377,
+        392,
+        393,
+        394,
+        398,
+        399,
+        400,
+        401,
+        404,
+        432,
+        433,
+        435,
+        436,
+        437,
+        450,
+        460,
+        461,
+        462,
+        465,
+        478,
+        488,
+        489,
+        490,
+        493,
+        513,
+        514,
+        517,
+        518,
+        519,
+        529,
+        530,
+        531,
+        534,
+        561,
+        562,
+        563,
+        564,
+        565,
+        566,
+        567,
+        568,
+        579,
+        580,
+        581,
+        584,
+        640,
+        641,
+        643,
+        644,
+        645,
+        646,
+        647,
+        648,
+        649,
+        659,
+        660,
+        661,
+        664,
+        699,
+        700,
+        701,
+        702,
+        703,
+        704,
+        715,
+        716,
+        717,
+        720
       ],
-      "statements": 61,
-      "percentage": "57.4%"
+      "statements": 123,
+      "percentage": "4.9%"
     },
-    "A.01cf0e2f2f715450.TokenForwarding": {
+    "A.0000000000000005.TokenForwarding": {
       "line_hits": {
-        "102": 1,
-        "104": 1,
+        "103": 0,
+        "104": 0,
+        "105": 0,
+        "106": 0,
         "111": 1,
+        "113": 1,
+        "120": 1,
         "52": 1,
         "54": 1,
         "56": 1,
@@ -227,45 +871,623 @@
         94,
         95,
         96,
-        97
+        97,
+        103,
+        104,
+        105,
+        106
+      ],
+      "statements": 21,
+      "percentage": "33.3%"
+    },
+    "A.0000000000000006.ExampleToken": {
+      "line_hits": {
+        "101": 2,
+        "102": 2,
+        "113": 1,
+        "115": 1,
+        "124": 1,
+        "128": 0,
+        "132": 0,
+        "137": 0,
+        "138": 0,
+        "139": 0,
+        "143": 0,
+        "148": 8,
+        "149": 8,
+        "150": 8,
+        "151": 8,
+        "152": 8,
+        "157": 14,
+        "171": 1,
+        "172": 1,
+        "185": 1,
+        "186": 1,
+        "187": 1,
+        "188": 1,
+        "192": 0,
+        "195": 0,
+        "199": 0,
+        "210": 1,
+        "216": 1,
+        "217": 0,
+        "233": 0,
+        "234": 0,
+        "235": 0,
+        "24": 0,
+        "247": 4,
+        "25": 0,
+        "258": 0,
+        "262": 2,
+        "264": 2,
+        "268": 2,
+        "269": 2,
+        "270": 2,
+        "271": 2,
+        "273": 2,
+        "279": 2,
+        "280": 2,
+        "281": 2,
+        "282": 2,
+        "284": 2,
+        "285": 2,
+        "29": 0,
+        "32": 0,
+        "36": 0,
+        "39": 0,
+        "65": 2,
+        "70": 2,
+        "75": 2,
+        "79": 0,
+        "88": 4,
+        "90": 1,
+        "95": 2
+      },
+      "missed_lines": [
+        24,
+        25,
+        29,
+        32,
+        36,
+        39,
+        79,
+        128,
+        132,
+        137,
+        138,
+        139,
+        143,
+        192,
+        195,
+        199,
+        217,
+        233,
+        234,
+        235,
+        258
+      ],
+      "statements": 60,
+      "percentage": "65.0%"
+    },
+    "A.0000000000000006.FungibleToken": {
+      "line_hits": {
+        "108": 1,
+        "133": 0,
+        "139": 0,
+        "148": 0,
+        "167": 0,
+        "168": 0,
+        "172": 0,
+        "177": 0,
+        "182": 0,
+        "187": 0,
+        "194": 0,
+        "209": 1,
+        "216": 2,
+        "227": 1,
+        "232": 3,
+        "241": 0,
+        "251": 1,
+        "51": 0,
+        "52": 0,
+        "58": 0,
+        "59": 0,
+        "65": 0,
+        "66": 0,
+        "73": 0,
+        "74": 0,
+        "76": 0
+      },
+      "missed_lines": [
+        51,
+        52,
+        58,
+        59,
+        65,
+        66,
+        73,
+        74,
+        76,
+        133,
+        139,
+        148,
+        167,
+        168,
+        172,
+        177,
+        182,
+        187,
+        194,
+        241
+      ],
+      "statements": 26,
+      "percentage": "23.1%"
+    },
+    "A.0000000000000006.FungibleTokenMetadataViews": {
+      "line_hits": {
+        "102": 1,
+        "103": 1,
+        "104": 1,
+        "107": 0,
+        "155": 1,
+        "156": 1,
+        "157": 1,
+        "159": 1,
+        "160": 1,
+        "161": 1,
+        "162": 1,
+        "163": 1,
+        "164": 1,
+        "165": 1,
+        "166": 1,
+        "176": 0,
+        "177": 0,
+        "178": 0,
+        "181": 0,
+        "189": 0,
+        "27": 1,
+        "28": 1,
+        "38": 1,
+        "39": 1,
+        "40": 1,
+        "42": 0,
+        "87": 3,
+        "88": 3,
+        "89": 3,
+        "90": 3,
+        "91": 3,
+        "92": 3
+      },
+      "missed_lines": [
+        42,
+        107,
+        176,
+        177,
+        178,
+        181,
+        189
+      ],
+      "statements": 32,
+      "percentage": "78.1%"
+    },
+    "A.0000000000000006.MetadataViews": {
+      "line_hits": {
+        "111": 0,
+        "112": 0,
+        "121": 0,
+        "122": 0,
+        "125": 0,
+        "143": 3,
+        "144": 3,
+        "156": 3,
+        "166": 0,
+        "167": 0,
+        "168": 0,
+        "171": 0,
+        "181": 0,
+        "191": 0,
+        "192": 0,
+        "193": 0,
+        "196": 0,
+        "208": 6,
+        "218": 0,
+        "219": 0,
+        "220": 0,
+        "223": 0,
+        "257": 0,
+        "259": 0,
+        "260": 0,
+        "261": 0,
+        "276": 0,
+        "277": 0,
+        "278": 0,
+        "280": 0,
+        "282": 0,
+        "290": 0,
+        "300": 0,
+        "301": 0,
+        "302": 0,
+        "305": 0,
+        "315": 0,
+        "340": 0,
+        "341": 0,
+        "342": 0,
+        "343": 0,
+        "354": 0,
+        "362": 0,
+        "372": 0,
+        "373": 0,
+        "374": 0,
+        "377": 0,
+        "392": 0,
+        "393": 0,
+        "394": 0,
+        "398": 0,
+        "399": 0,
+        "400": 0,
+        "401": 0,
+        "404": 0,
+        "432": 0,
+        "433": 0,
+        "435": 0,
+        "436": 0,
+        "437": 0,
+        "450": 0,
+        "460": 0,
+        "461": 0,
+        "462": 0,
+        "465": 0,
+        "478": 0,
+        "48": 0,
+        "488": 0,
+        "489": 0,
+        "49": 0,
+        "490": 0,
+        "493": 0,
+        "50": 0,
+        "513": 0,
+        "514": 0,
+        "517": 0,
+        "518": 0,
+        "519": 0,
+        "529": 0,
+        "530": 0,
+        "531": 0,
+        "534": 0,
+        "561": 0,
+        "562": 0,
+        "563": 0,
+        "564": 0,
+        "565": 0,
+        "566": 0,
+        "567": 0,
+        "568": 0,
+        "579": 0,
+        "580": 0,
+        "581": 0,
+        "584": 0,
+        "60": 0,
+        "61": 0,
+        "62": 0,
+        "640": 0,
+        "641": 0,
+        "643": 0,
+        "644": 0,
+        "645": 0,
+        "646": 0,
+        "647": 0,
+        "648": 0,
+        "649": 0,
+        "65": 0,
+        "659": 0,
+        "660": 0,
+        "661": 0,
+        "664": 0,
+        "699": 0,
+        "700": 0,
+        "701": 0,
+        "702": 0,
+        "703": 0,
+        "704": 0,
+        "715": 0,
+        "716": 0,
+        "717": 0,
+        "720": 0,
+        "81": 3,
+        "85": 2
+      },
+      "missed_lines": [
+        48,
+        49,
+        50,
+        60,
+        61,
+        62,
+        65,
+        111,
+        112,
+        121,
+        122,
+        125,
+        166,
+        167,
+        168,
+        171,
+        181,
+        191,
+        192,
+        193,
+        196,
+        218,
+        219,
+        220,
+        223,
+        257,
+        259,
+        260,
+        261,
+        276,
+        277,
+        278,
+        280,
+        282,
+        290,
+        300,
+        301,
+        302,
+        305,
+        315,
+        340,
+        341,
+        342,
+        343,
+        354,
+        362,
+        372,
+        373,
+        374,
+        377,
+        392,
+        393,
+        394,
+        398,
+        399,
+        400,
+        401,
+        404,
+        432,
+        433,
+        435,
+        436,
+        437,
+        450,
+        460,
+        461,
+        462,
+        465,
+        478,
+        488,
+        489,
+        490,
+        493,
+        513,
+        514,
+        517,
+        518,
+        519,
+        529,
+        530,
+        531,
+        534,
+        561,
+        562,
+        563,
+        564,
+        565,
+        566,
+        567,
+        568,
+        579,
+        580,
+        581,
+        584,
+        640,
+        641,
+        643,
+        644,
+        645,
+        646,
+        647,
+        648,
+        649,
+        659,
+        660,
+        661,
+        664,
+        699,
+        700,
+        701,
+        702,
+        703,
+        704,
+        715,
+        716,
+        717,
+        720
+      ],
+      "statements": 123,
+      "percentage": "4.9%"
+    },
+    "A.0000000000000006.PrivateReceiverForwarder": {
+      "line_hits": {
+        "35": 1,
+        "37": 1,
+        "39": 1,
+        "41": 1,
+        "46": 2,
+        "48": 2,
+        "55": 2,
+        "62": 1,
+        "64": 1,
+        "68": 1,
+        "75": 1,
+        "77": 1,
+        "78": 1,
+        "80": 1
+      },
+      "missed_lines": [],
+      "statements": 14,
+      "percentage": "100.0%"
+    },
+    "S.test_helpers.cdc": {
+      "line_hits": {
+        "101": 12,
+        "111": 0,
+        "112": 0,
+        "113": 0,
+        "114": 0,
+        "115": 0,
+        "120": 4,
+        "121": 4,
+        "127": 0,
+        "128": 0,
+        "13": 26,
+        "130": 0,
+        "135": 0,
+        "136": 0,
+        "137": 0,
+        "140": 0,
+        "145": 0,
+        "146": 0,
+        "147": 0,
+        "148": 0,
+        "153": 0,
+        "154": 0,
+        "155": 0,
+        "157": 0,
+        "20": 26,
+        "21": 26,
+        "22": 0,
+        "27": 1,
+        "34": 1,
+        "35": 1,
+        "36": 0,
+        "41": 6,
+        "42": 6,
+        "44": 6,
+        "45": 0,
+        "50": 6,
+        "54": 0,
+        "55": 0,
+        "57": 0,
+        "58": 0,
+        "62": 6,
+        "64": 6,
+        "65": 6,
+        "66": 6,
+        "69": 6,
+        "76": 6,
+        "77": 6,
+        "78": 0,
+        "79": 0,
+        "80": 0,
+        "81": 0,
+        "82": 0,
+        "87": 0,
+        "88": 0,
+        "90": 0,
+        "92": 6,
+        "93": 0,
+        "97": 6
+      },
+      "missed_lines": [
+        22,
+        36,
+        45,
+        54,
+        55,
+        57,
+        58,
+        78,
+        79,
+        80,
+        81,
+        82,
+        87,
+        88,
+        90,
+        93,
+        111,
+        112,
+        113,
+        114,
+        115,
+        127,
+        128,
+        130,
+        135,
+        136,
+        137,
+        140,
+        145,
+        146,
+        147,
+        148,
+        153,
+        154,
+        155,
+        157
       ],
-      "statements": 17,
-      "percentage": "41.2%"
+      "statements": 58,
+      "percentage": "37.9%"
     },
-    "s.1d96c4c8ce3dcfeb51c5b582fa92db1add3c3b1cf48219c6e56ac58ed6097663": {
+    "s.0178708f612fcd38aad604c7a34765ed02e8c02d21402fa97d8eb1f807449e97": {
       "line_hits": {
-        "7": 2
+        "11": 1,
+        "29": 1,
+        "32": 1,
+        "35": 1,
+        "37": 1,
+        "38": 1,
+        "39": 1,
+        "9": 1
       },
       "missed_lines": [],
-      "statements": 1,
+      "statements": 8,
       "percentage": "100.0%"
     },
-    "s.41a7e15842b5b20dd06b65f8165930466bdca8a743f69abec261df4eb1ebd053": {
+    "s.1c2ae16c88a02a785df5e1cd1d13ac7480ea9d1d535c0b7a51e385f401312290": {
       "line_hits": {
-        "13": 7,
-        "8": 7,
-        "9": 7
+        "7": 1
       },
       "missed_lines": [],
-      "statements": 3,
+      "statements": 1,
       "percentage": "100.0%"
     },
-    "s.52cf53a5513441758921ef660b66ee487efde7f55f6cde9d2f4c85f88cde13fd": {
+    "s.5e5199bcd53f1ca1f47a00f09c8813741c57aeb0fe0116df0030d4de8584961d": {
       "line_hits": {
-        "10": 1,
         "11": 1,
-        "15": 1,
-        "17": 1
+        "13": 1,
+        "16": 1,
+        "19": 1,
+        "20": 1,
+        "21": 1,
+        "22": 1,
+        "23": 1,
+        "24": 1,
+        "26": 1
       },
       "missed_lines": [],
-      "statements": 4,
+      "statements": 10,
       "percentage": "100.0%"
     },
-    "s.5d48d12ba6d418eef6d4eb6db39fa3976e266fdb31c52c518fd36367299fbf36": {
+    "s.968860617d44655c8151028ecde7930f88886bec1ffc0f84e3e31e7f6987298c": {
       "line_hits": {
         "12": 1,
         "14": 1,
-        "19": 1,
+        "17": 1,
+        "20": 1,
+        "21": 1,
         "22": 1,
         "23": 1,
         "24": 1,
@@ -274,56 +1496,56 @@
         "27": 1,
         "28": 1,
         "29": 1,
-        "30": 1,
         "31": 1,
-        "33": 1,
-        "35": 1
+        "33": 1
       },
       "missed_lines": [],
       "statements": 15,
       "percentage": "100.0%"
     },
-    "s.6bce1ab49cad52353eafb9fba45e392f1ef1e492539ccfff9c7ee1ec2b8697b2": {
+    "s.a0c911887b25ae1e94167a43a0eafb691a21e42e0352e46086d0680d7ea371ea": {
       "line_hits": {
         "10": 4,
-        "15": 4
+        "13": 4
       },
       "missed_lines": [],
       "statements": 2,
       "percentage": "100.0%"
     },
-    "s.7335c8ce2351851b63b76a10918b6f2ae06917c8256e042681cf6ca3dcbabf59": {
+    "s.b460d9db17658d985790a9fef2a69d7bf43f4201c0017a19abacb58cbd84c481": {
       "line_hits": {
-        "11": 1,
-        "13": 1,
-        "18": 1,
-        "21": 1,
-        "22": 1,
-        "23": 1,
-        "24": 1,
-        "25": 1,
-        "26": 1,
-        "28": 1
+        "8": 5
       },
       "missed_lines": [],
-      "statements": 10,
+      "statements": 1,
       "percentage": "100.0%"
     },
-    "s.8b84b07f38923d2d86e6e3948458ae313ff63d983f3ad741e30a91a2f9dbe2e5": {
+    "s.bbf425446dfcc52dc8bf55b6ba6846f7c9d75a5a0fb7ad21b38eb86a926a5b0c": {
       "line_hits": {
+        "10": 1,
         "11": 1,
-        "13": 1,
-        "18": 1,
-        "20": 1
+        "14": 1,
+        "16": 1
       },
       "missed_lines": [],
       "statements": 4,
       "percentage": "100.0%"
     },
-    "s.dd19d3895e8e5be594b205172cf385e11550cd61a202681ff6bf70be0e8221f5": {
+    "s.cfde43c8a8e8aa0091187d6dc0c6fcfdc9d9b34391b646ae48d442ea96972580": {
       "line_hits": {
         "11": 1,
         "13": 1,
+        "16": 1,
+        "18": 1
+      },
+      "missed_lines": [],
+      "statements": 4,
+      "percentage": "100.0%"
+    },
+    "s.d73baed538ea82e8e511054f83365951b4544201019e03acc58f5f00aebfdf66": {
+      "line_hits": {
+        "12": 1,
+        "14": 1,
         "17": 1,
         "18": 1,
         "25": 1,
@@ -333,90 +1555,220 @@
       "statements": 6,
       "percentage": "100.0%"
     },
-    "t.00c0089ba57a0db13d06ad748c7ad393af593bda39d46bacfb50e0814691a134": {
+    "s.fbc367fa0fbbaaa2c2f38bc45573895b2dbc50de782f23b913f6885c01ce7c09": {
       "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
+        "8": 4
       },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
     },
-    "t.0b2dcd2022e9ae574c8739d40cc7a7a4f8a5a324b0486b77c7c8f9148c81dbea": {
+    "t.002288cb94db4814eeb83dc76fa9b34f253a2f50102c25b3cff29ed9b9511786": {
       "line_hits": {
-        "3": 1
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.11640d95d583cf70ab11a13c721bcdce2cc1e60b62b8b3d95e8d022dde046cfc": {
+    "t.01b95976b38b86e784e6bc28191374498a60805b531973c692afb95d39825a16": {
       "line_hits": {
-        "20": 1,
-        "24": 1,
-        "31": 1,
-        "34": 1,
-        "40": 1
+        "17": 4,
+        "20": 4,
+        "24": 4,
+        "25": 16,
+        "27": 16,
+        "28": 16,
+        "29": 12,
+        "32": 16,
+        "35": 16
       },
       "missed_lines": [],
-      "statements": 5,
+      "statements": 9,
       "percentage": "100.0%"
     },
-    "t.146c6706c5cde1bfac08e0c69a3f75073cf5c1be7039511547769766e4483b2b": {
+    "t.0810507f3f482461f71c33a4d021407239b11eac3a3f5ceb9a913bb9a9dc4cc3": {
+      "line_hits": {
+        "12": 1,
+        "14": 0,
+        "17": 1,
+        "19": 1,
+        "26": 1,
+        "27": 1,
+        "30": 1,
+        "34": 1,
+        "38": 1,
+        "40": 1,
+        "43": 1,
+        "47": 1
+      },
+      "missed_lines": [
+        14
+      ],
+      "statements": 12,
+      "percentage": "91.7%"
+    },
+    "t.089833d285884dcf5976a68ed5a96759376cf436a552fc1b3149f08417322010": {
       "line_hits": {
-        "4": 2,
-        "5": 2
+        "12": 4,
+        "17": 4
       },
       "missed_lines": [],
       "statements": 2,
       "percentage": "100.0%"
     },
-    "t.14966eba5a49b59dcfb2a5f2bba70b8846f885118f60d960b27c5fb0d3c1a21c": {
+    "t.0b1d83a6cae2d91606ff21c070df3ea14debe3a0413412628965747d48fffb57": {
       "line_hits": {
-        "3": 1
+        "19": 1,
+        "23": 1,
+        "29": 1,
+        "32": 1,
+        "36": 1
       },
       "missed_lines": [],
-      "statements": 1,
+      "statements": 5,
       "percentage": "100.0%"
     },
-    "t.181ce3b2d98f4b21bcf95b79dd4d0877d5c1bd421bc08d471973db42adf8975e": {
+    "t.0c50dc22c32ef385a7f077e5df07472782506b26edb27fbeed68e989f072a3c3": {
       "line_hits": {
-        "16": 2,
-        "17": 2,
-        "18": 2,
-        "19": 0,
-        "20": 0,
-        "23": 2
+        "3": 4
       },
-      "missed_lines": [
-        19,
-        20
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.0ccbe00a98f7a8cc6c8483f276ad775312f07c0ef69e0b6f79ccfc30a0cbfbaa": {
+      "line_hits": {
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
+      },
+      "missed_lines": [
+        14
       ],
-      "statements": 6,
-      "percentage": "66.7%"
+      "statements": 5,
+      "percentage": "80.0%"
     },
-    "t.1ae42f498b3abbb4c57a741416a295ebddd548f4b89ef7031e42ef7cee9e643e": {
+    "t.0d7b4546b7995fe75ec1d855928885348e3c7b38a9986c5fd4b9af2a96bec10a": {
       "line_hits": {
-        "3": 2
+        "3": 4
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.1ccc05826161f18c7ff8fac4d71a233e9eaf97a319b26ab037af3808fca346bf": {
+    "t.0f44c79fd649804fdca9750a6d29f5d206a0c73964ffd6e51c54c5c2571744f9": {
       "line_hits": {
-        "4": 2
+        "3": 1
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.109f8f33bc4945c2d3faff8aee29abc36037e0edfe68bbca32008a7aaaaa0d6f": {
+      "line_hits": {
+        "10": 4,
+        "12": 4,
+        "6": 4
+      },
+      "missed_lines": [],
+      "statements": 3,
+      "percentage": "100.0%"
+    },
+    "t.18b05afb55daff4000a9bbcc715448a930373f9e04af0ba8a9cd02b875571b44": {
+      "line_hits": {
+        "35": 1,
+        "39": 1,
+        "40": 1,
+        "43": 1,
+        "46": 1,
+        "49": 1,
+        "52": 1,
+        "55": 1
+      },
+      "missed_lines": [],
+      "statements": 8,
+      "percentage": "100.0%"
+    },
+    "t.1a30eff2a1c3e4eccb89ea97b1f65c5edc4e2503260c10173da23a2770092113": {
+      "line_hits": {
+        "12": 1,
+        "14": 0,
+        "17": 1,
+        "19": 1,
+        "26": 1,
+        "27": 1,
+        "30": 1,
+        "34": 1,
+        "38": 1,
+        "40": 1,
+        "43": 1,
+        "47": 1
+      },
+      "missed_lines": [
+        14
+      ],
+      "statements": 12,
+      "percentage": "91.7%"
+    },
+    "t.1c105c70572b4f988eceb8009d97c64cb131c2057b250b281bb403dcf69a07ee": {
+      "line_hits": {
+        "3": 4
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.27d1302c0c423768b4ebbd19af89ec6cda49588b6c0c93b54f9c4e46b2cb3869": {
+      "line_hits": {
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
+      },
+      "missed_lines": [
+        14
+      ],
+      "statements": 5,
+      "percentage": "80.0%"
+    },
+    "t.28d67993f18685ca2f376ffe66eebb217610fb57317cfa4e9af6d5eea953c94e": {
+      "line_hits": {
+        "4": 4,
+        "5": 4
+      },
+      "missed_lines": [],
+      "statements": 2,
+      "percentage": "100.0%"
+    },
+    "t.2a1f5b74af939ba03e679f0209f1480c3cefb26f6a509394b2035215b43102b0": {
+      "line_hits": {
+        "4": 4
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.2bd6abc997796cb6fa5c47934c2d223ce70e05bbd5bcdeab08924e5e2c57ff13": {
+      "line_hits": {
+        "4": 1
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.2cce7a9d299f39bf7573616a60415cff27f4fc7616984a34c07ffc4481b8c9aa": {
+      "line_hits": {
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.20c9c674877f887bc3b2b1171a6330e289809a3439c3e545a57fc18a506c1cf6": {
+    "t.2d7cc2da0848b2f1a685f1d43031f2c8a21b50f7cd45c28a23109bd452b1dc20": {
       "line_hits": {
         "13": 1,
         "14": 0,
@@ -430,15 +1782,68 @@
       "statements": 5,
       "percentage": "80.0%"
     },
-    "t.262222dbc7c8b1bf2b1f92f007880d4d9bd45c397964df80e9bfa4e49fb8f21c": {
+    "t.2e9b747ec3b2a797fa34117673fd9676eb124a503a2c7773694d702e7cf0d2f2": {
       "line_hits": {
-        "3": 2
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.32375e07b6cd2f3d0bd1ed6ef18ef1fe1c8bb9b2baa519c149064640af50888b": {
+    "t.376768733562cedfb07c678bb5a6545f73681e96c36e94214665e9b451429ef0": {
+      "line_hits": {
+        "17": 1,
+        "18": 1,
+        "22": 1,
+        "23": 1,
+        "26": 1,
+        "35": 1
+      },
+      "missed_lines": [],
+      "statements": 6,
+      "percentage": "100.0%"
+    },
+    "t.380b9f276aa043d167c6bec5f78a57a3f458ca9eca6b69b58682af7dc3d6ecde": {
+      "line_hits": {
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
+      },
+      "missed_lines": [
+        14
+      ],
+      "statements": 5,
+      "percentage": "80.0%"
+    },
+    "t.3925e4ced5cdd4e48bcc8ff2a28fc082e47f76200806d2d36cc6bd4ac61ca11c": {
+      "line_hits": {
+        "4": 1
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.403af29116a053dde8748bfd86519bd838f875ff0e2c7b4458d0046697911b05": {
+      "line_hits": {
+        "12": 1,
+        "13": 0,
+        "17": 1,
+        "23": 1,
+        "24": 1,
+        "28": 1,
+        "31": 1,
+        "36": 1,
+        "39": 1
+      },
+      "missed_lines": [
+        13
+      ],
+      "statements": 9,
+      "percentage": "88.9%"
+    },
+    "t.42e55c78c2fb91dc7ee0f7621614a13bde82abe9b93466864fe19a42169b50ea": {
       "line_hits": {
         "3": 2,
         "4": 2
@@ -447,85 +1852,212 @@
       "statements": 2,
       "percentage": "100.0%"
     },
-    "t.385efc3703889a37ee358ea653e96a14f630c84df87452c96fc985ce57d990f2": {
+    "t.4a812e7899cdaea4ab83cf230867f23b7497c421612ea676c5fd3b5858cf8557": {
+      "line_hits": {
+        "3": 4
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.4a9e4c6c786320fc2e262590e43f52ef3a8aafa1962da81ab7826fcc5fe69497": {
+      "line_hits": {
+        "4": 1
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.4eb78b824d5830920f96ea19fbc697fa7b4e2035a85b721cdaa82a55745d6a72": {
+      "line_hits": {
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
+      },
+      "missed_lines": [
+        14
+      ],
+      "statements": 5,
+      "percentage": "80.0%"
+    },
+    "t.51cb7e31a44623b75940d365996ce5b57960758784a827e0ff210452118a9e31": {
+      "line_hits": {
+        "4": 1
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.51cc20374d74a4eaf93e58bb4e7b3b0f3122689fa728be862cd5f187c2ed7c2c": {
+      "line_hits": {
+        "10": 4,
+        "14": 4,
+        "20": 4,
+        "21": 4,
+        "23": 4,
+        "25": 4
+      },
+      "missed_lines": [],
+      "statements": 6,
+      "percentage": "100.0%"
+    },
+    "t.5277aba887fdb3e748e0c930cb1ed59ccb5d957973ee59497c8219de52ac9f1c": {
+      "line_hits": {
+        "14": 1,
+        "15": 0,
+        "18": 1,
+        "21": 1,
+        "24": 1,
+        "27": 1,
+        "30": 1,
+        "33": 1
+      },
+      "missed_lines": [
+        15
+      ],
+      "statements": 8,
+      "percentage": "87.5%"
+    },
+    "t.54895ac6257422ac1dffdf1dff930d7b697b3a33f1e3b4d6c8790b01e5db4012": {
+      "line_hits": {
+        "4": 1
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.559dbd7c1167821a83e1d7d39f4496c13ea3a3c8219d2e6003462a59812dce38": {
+      "line_hits": {
+        "3": 1,
+        "4": 1
+      },
+      "missed_lines": [],
+      "statements": 2,
+      "percentage": "100.0%"
+    },
+    "t.57f6efe965b4e98ca3023c087f287326a30def559b8e0ecdc56300cace21bca9": {
+      "line_hits": {
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
+      },
+      "missed_lines": [
+        14
+      ],
+      "statements": 5,
+      "percentage": "80.0%"
+    },
+    "t.58b60466e0278f2b134451ad96f46838047ec93a5d9f3ece83e6a7c9a8af5172": {
+      "line_hits": {
+        "3": 4
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.5c4a703caebcb0226d7e73a10eb8d2031741eabddf0d74ab1b055969427f3305": {
       "line_hits": {
         "19": 1,
         "23": 1,
         "29": 0,
         "32": 0,
-        "37": 0
+        "36": 0
       },
       "missed_lines": [
         29,
         32,
-        37
+        36
       ],
       "statements": 5,
       "percentage": "40.0%"
     },
-    "t.3ee9cabb29837e00e70a3b6f255c76f2162bfedd7f1ea1da2919386614a58e1e": {
+    "t.5d2cd3f8cf88755b546a097afee8392611acf19899dc8e44fc47abeeb07d10b8": {
       "line_hits": {
-        "3": 1
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.44c94dfb5a72cfcd4ba286969ba175116b18629fe8812f06649ee93ee84397ed": {
+    "t.5ecf8dd319c86aa28e8a2b0c43a7cbc28237d51a3107b6e1b7f71217d3739f62": {
       "line_hits": {
-        "3": 1
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.46e2f84fd1642e4ac90ce5410356e0c2b141912d9fc5c4fa252f783993b2543c": {
+    "t.5fb45291fa90424025dabf7c1de686d01df74cbd163eb232c71e0b1a2b17f6be": {
       "line_hits": {
-        "3": 1
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.4c8a73a6a77f16b167fb968a64f4f3ae0a70cf47c3330a50acbed6aa704ded4c": {
+    "t.65eaea8fc9e65893facc065a5e27d2bc6a206e2f4ec80d909228d31129b2ffc5": {
       "line_hits": {
-        "35": 1,
-        "39": 1,
-        "40": 1,
-        "43": 1,
-        "44": 1,
-        "48": 1,
-        "54": 1
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
+      },
+      "missed_lines": [
+        14
+      ],
+      "statements": 5,
+      "percentage": "80.0%"
+    },
+    "t.6a5b53bb76e8c0b38ea23026ed6ca3cfbba62818926517efee9f7534a443e663": {
+      "line_hits": {
+        "19": 1,
+        "22": 1,
+        "25": 1,
+        "30": 1,
+        "35": 1
       },
       "missed_lines": [],
-      "statements": 7,
+      "statements": 4,
       "percentage": "100.0%"
     },
-    "t.513a0514f2cea3bb4272bb6281f57877da2c4c4f8ba34d1e011ce548ca67557d": {
+    "t.6c69213faaf020ef60df106e58985b4c29fa447e0851b4e49ca6cc526142d283": {
       "line_hits": {
-        "14": 1,
-        "15": 0,
-        "19": 1,
-        "26": 1,
-        "32": 1
+        "3": 4,
+        "4": 4
+      },
+      "missed_lines": [],
+      "statements": 2,
+      "percentage": "100.0%"
+    },
+    "t.6e5c97bf075a91092b07eb80400948577f4cf1ffb08d83e6ab3b1123c48aa36b": {
+      "line_hits": {
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
       },
       "missed_lines": [
-        15
+        14
       ],
       "statements": 5,
       "percentage": "80.0%"
     },
-    "t.5371237dabf71e68440e29dcf62d6c2636fae6b63117c5671600cd1290c9b9e9": {
+    "t.6e858341e7b33642272ffc86eed2cec0798b5e65e99e9070bfbdc0e8d0fb3927": {
       "line_hits": {
-        "16": 1,
-        "20": 1,
-        "30": 1
+        "3": 1,
+        "4": 1
       },
       "missed_lines": [],
-      "statements": 3,
+      "statements": 2,
       "percentage": "100.0%"
     },
-    "t.58271af589bd464d1c6f17f111e43e19b2ca4b949b47cf21950ee1f6e5786da7": {
+    "t.70c6d04aa77c68e850a1976b5c6440f12f7b7656bf8d998fbf19404e824a5576": {
       "line_hits": {
         "13": 1,
         "14": 0,
@@ -539,100 +2071,250 @@
       "statements": 5,
       "percentage": "80.0%"
     },
-    "t.5b606a5e88b6bf4e432d699edbf684b46c8920f986e69ee1e16510cfcf677821": {
+    "t.722c5b65e4df8305439d702b3a41e07f5f833fe0519b3bde1f96a3bd8c4d2a23": {
+      "line_hits": {
+        "3": 4
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.740fa139eecd88b9b7b1a68ad5a4376bbef0cdaefffde380c7ad1d914bade581": {
+      "line_hits": {
+        "4": 1
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.77dc9b5052b70a5fc8935459390f6e5f6eaf9193eb91af1b6ba951ef9cfd3e28": {
+      "line_hits": {
+        "3": 1
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.7a579aacf3fd16c085c5bfe6aefe35fca78232eec159b0a87b40151cf74fd859": {
+      "line_hits": {
+        "3": 1
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.7db863f3f3ae492382da5a2cc1698a38b260ac536fa77fd37585d2c235e5a469": {
+      "line_hits": {
+        "10": 4,
+        "13": 4,
+        "14": 4,
+        "15": 4,
+        "16": 4,
+        "7": 4
+      },
+      "missed_lines": [],
+      "statements": 6,
+      "percentage": "100.0%"
+    },
+    "t.7dddc82e5999307971f82f7343e9405acc7eb0b7a6cc505b5941754aad235184": {
+      "line_hits": {
+        "3": 4,
+        "4": 4
+      },
+      "missed_lines": [],
+      "statements": 2,
+      "percentage": "100.0%"
+    },
+    "t.7e23ce1054b879e26553b8ef6c30986cd324bc299c11456ac745d1172b6cb6e2": {
+      "line_hits": {
+        "3": 4
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.8258709f1a8e2c0eb7d2a0300b496f74acf9a30773321c6c84118fa1e671c8bb": {
+      "line_hits": {
+        "17": 1,
+        "20": 1,
+        "27": 1,
+        "29": 1
+      },
+      "missed_lines": [],
+      "statements": 4,
+      "percentage": "100.0%"
+    },
+    "t.87ea1a30814a7f615863a314de41fc276108950de8036af388c9596aa01d0fc3": {
+      "line_hits": {
+        "3": 4
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.883049d293a35a2595cbaa3cf9b9299ab6476bea109918408aa136b4cc51a061": {
+      "line_hits": {
+        "4": 1
+      },
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
+    },
+    "t.8b1a9afb70ca26edc4d9c92c799643be55298c473c08303cebff712efe747ceb": {
+      "line_hits": {
+        "18": 1,
+        "26": 1,
+        "29": 1,
+        "33": 1
+      },
+      "missed_lines": [],
+      "statements": 4,
+      "percentage": "100.0%"
+    },
+    "t.8ba2f0b89a9528ffe70098b6b25d35e7084d592cc6b5230805a49e1cecddbb25": {
+      "line_hits": {
+        "14": 1,
+        "15": 0,
+        "18": 1,
+        "21": 1,
+        "24": 1,
+        "27": 1,
+        "30": 1,
+        "33": 1
+      },
+      "missed_lines": [
+        15
+      ],
+      "statements": 8,
+      "percentage": "87.5%"
+    },
+    "t.8ec2bdd41232721508b99fb380d3e49b1b644070f7cefd317571274eab46a3ba": {
       "line_hits": {
-        "20": 1,
-        "23": 1,
-        "27": 1,
-        "36": 1,
-        "37": 1,
-        "40": 1,
-        "42": 1,
-        "46": 1
+        "3": 4,
+        "4": 4
       },
       "missed_lines": [],
-      "statements": 7,
+      "statements": 2,
       "percentage": "100.0%"
     },
-    "t.605dfb815d84164c5637cda6e4253230c41a6cd8cce2701d423c5f667f576934": {
+    "t.8ee64553cf0dfee1948d8ce7cbfef1490b823f4330e098ed41c49cecb8db2c00": {
       "line_hits": {
-        "3": 2
+        "3": 4
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.66e4893c1ad2261377be31a9bd174d13db1a7010144547491a2f625b99e7ed98": {
+    "t.929da8fbe39a851e92dd1b36e67ef9adc2c7441cab5a13c541f99e8799669a0d": {
       "line_hits": {
-        "16": 1,
-        "21": 1,
-        "25": 1,
-        "34": 1
+        "3": 1,
+        "4": 1
       },
       "missed_lines": [],
-      "statements": 4,
+      "statements": 2,
       "percentage": "100.0%"
     },
-    "t.69e95cdeedcb7c41b4c1a1d4dcfac802f87164fd54df8f8911f9b6660d69e043": {
+    "t.93a2e04fde62324ce5977447d694ce3c935d13bed6f799a5efa19c30eae4ee2c": {
       "line_hits": {
-        "3": 1
+        "17": 1,
+        "25": 1,
+        "27": 1,
+        "30": 1,
+        "35": 1,
+        "36": 1,
+        "39": 0
+      },
+      "missed_lines": [
+        39
+      ],
+      "statements": 7,
+      "percentage": "85.7%"
+    },
+    "t.93dab38100c8493feb94fe6380f5d6056f5843b5d60b597b16fde9269a87931f": {
+      "line_hits": {
+        "14": 1,
+        "15": 0,
+        "18": 1,
+        "21": 1,
+        "24": 1,
+        "27": 1,
+        "30": 1,
+        "33": 1
+      },
+      "missed_lines": [
+        15
+      ],
+      "statements": 8,
+      "percentage": "87.5%"
+    },
+    "t.94d24376993f271e3883df5c3ade7e1af34bab02793d57c3f67c38e913453917": {
+      "line_hits": {
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.6b1033243552da96bb48dcca4b4fc9a1c9b6dbd47d73f1d3dbf7ab3307ff421b": {
+    "t.95fcb1658513e046d559d4595dc385dbb6d64999dce4a3c6246177a492c814ea": {
       "line_hits": {
-        "3": 1
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.6b73cbfb2db6fb2effee28ea3c72a2ff9e747f54cdc9f268c02765fcdd8f7efb": {
+    "t.9686455664df39c2a6e71bbc25993065e90f3d4fc6c01aa046fc5ed31c84043b": {
       "line_hits": {
-        "12": 1,
-        "16": 1,
-        "22": 1,
-        "30": 1
+        "4": 1
       },
       "missed_lines": [],
-      "statements": 4,
+      "statements": 1,
       "percentage": "100.0%"
     },
-    "t.7a951893dca4bda1c00f4c7042b87d88647fbebd672aec5033d5dc1b1e7c4529": {
+    "t.9dcb3f19b77170e16e6870f99c7fa05293da491dec6610dc9565b9b57785c0dc": {
       "line_hits": {
-        "3": 1
+        "18": 1,
+        "26": 1,
+        "29": 1,
+        "33": 1
       },
       "missed_lines": [],
-      "statements": 1,
+      "statements": 4,
       "percentage": "100.0%"
     },
-    "t.82f4680f1e5b7c5ca3b092e57e951e777c9e1e1ead0ccd52e36f1bb66409f2fe": {
+    "t.9eb7fc02b57b901c0f781d28920f5decc26af79c864d5d4f9ab6448b7cc1b543": {
       "line_hits": {
-        "3": 1
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.8b60d3241bac609027413fe11f1a4f75d6f14a52c04e777e0b29072cd4b1a8ed": {
+    "t.a0b072f258ad63296da257e139cab6874588334323ca35425100f942f2d10caf": {
       "line_hits": {
-        "3": 1
+        "14": 1,
+        "19": 1,
+        "22": 1,
+        "25": 1,
+        "28": 1,
+        "31": 1,
+        "32": 1,
+        "35": 1,
+        "36": 1
       },
       "missed_lines": [],
-      "statements": 1,
+      "statements": 9,
       "percentage": "100.0%"
     },
-    "t.9482dcd7aaad3521415041a1e0ca102c92264b91bab87164f0fc2f7832a88688": {
+    "t.a24a8eb0a2d40563d375ef4e39c645605c68c1a59dba54d8936af123bd9c757f": {
       "line_hits": {
-        "3": 2
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.9616e796ee4e312ad21c3caf747e4570874a7874a2b9c125914b5abde640e531": {
+    "t.a5f6f99e90f13282ca83b1afb572f58ef8807ebea1b291f493940cc6a7d7ded3": {
       "line_hits": {
         "4": 1
       },
@@ -640,113 +2322,148 @@
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.97c78e9cd07a678c8dd60fbec24e063c413d53394102f764877e69970cdaf351": {
+    "t.aa792e9bda1176bd8a0082ae6e4b5cebf78c8c14d486420213e17f9afc1bbec2": {
       "line_hits": {
-        "23": 1,
-        "26": 1,
-        "30": 1,
-        "35": 1,
-        "37": 1,
-        "39": 1,
-        "43": 1
+        "3": 4
       },
       "missed_lines": [],
-      "statements": 6,
+      "statements": 1,
       "percentage": "100.0%"
     },
-    "t.a2d6d72dc5c18fea8e39d5b358be3101fdbaebcff9b10584694007c793a170fc": {
+    "t.aacf4cf48264f79e0df9e4a1931e458df4b30a474620938600985fba16f212f3": {
       "line_hits": {
-        "12": 2,
-        "17": 2
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
       },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
+      "missed_lines": [
+        14
+      ],
+      "statements": 5,
+      "percentage": "80.0%"
     },
-    "t.a64301659877651418fa41e35eaa6aac24e6ef0acf6ca782f86483434486d402": {
+    "t.ab0f8b93019f8bc2bde5ffaf6b43fe89f379073e683ba14a0c2ae4a418d7387c": {
       "line_hits": {
-        "14": 1,
-        "15": 0,
-        "19": 1,
-        "26": 1,
-        "32": 1
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
       },
       "missed_lines": [
-        15
+        14
       ],
       "statements": 5,
       "percentage": "80.0%"
     },
-    "t.a73e9e34b97944320e6cf04191f2d8826778826d204f772a0d88d2b53cee0cf1": {
+    "t.b2aba9deb52ae7672d27f4bfc51c7a3eb01c809aa6662793ab7f61733500b64c": {
       "line_hits": {
-        "3": 1
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.a8b7d7ddf64067d1cf27d46c6433ce20250b5e9e3ea9ce3c1e7dba3d989d68fe": {
+    "t.b63d8de32ab5d20c4cf51ff467f0059c51399409c6cde5cc27f70bbd18f94684": {
       "line_hits": {
-        "3": 1
+        "18": 1,
+        "26": 1,
+        "29": 1,
+        "33": 1
       },
       "missed_lines": [],
-      "statements": 1,
+      "statements": 4,
       "percentage": "100.0%"
     },
-    "t.af2805172627d96c53605130918e962d7f84aba21ad14958be015aed7408964c": {
+    "t.b73d23b449b2512e3d3a8dcc55c4ce695401117b62d777cac313df192e79c95e": {
       "line_hits": {
-        "10": 2,
-        "13": 2,
-        "16": 2,
-        "17": 8,
-        "18": 8,
-        "19": 8,
-        "20": 6,
-        "22": 8,
-        "25": 8
+        "3": 1,
+        "4": 1
       },
       "missed_lines": [],
-      "statements": 9,
+      "statements": 2,
       "percentage": "100.0%"
     },
-    "t.b8c074b147d7fa0bcaaf07b3cf3cdbcfb347b5a23917de6c9ffc81501a67b91b": {
+    "t.b88a0215c93cf64c7f8c4dc6e0701bf5ee4e249fcaed847d567521667832ebcc": {
       "line_hits": {
-        "3": 1
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.ba8afaca103dc5a747cdd6a8a743158cdcc23f00ce56850fa0db1d4676466c98": {
+    "t.bc63a16492290609513165006e1b54cc73335c6ed239f143883c2113808b4eea": {
       "line_hits": {
-        "3": 2
+        "16": 1,
+        "20": 1,
+        "29": 1
       },
       "missed_lines": [],
-      "statements": 1,
+      "statements": 3,
       "percentage": "100.0%"
     },
-    "t.bd4dabad3649b37cc31188a39a539363f01d01dc6f1554e6e35d117d28fb7027": {
+    "t.bed69a76fb783b73f5943686d4768773ab5380594d38d42391e1c1c019278f82": {
       "line_hits": {
-        "4": 1
+        "18": 1,
+        "20": 0,
+        "22": 0,
+        "23": 0,
+        "25": 0,
+        "26": 0,
+        "28": 0,
+        "29": 0,
+        "33": 1,
+        "38": 1,
+        "46": 1,
+        "48": 0,
+        "50": 0,
+        "51": 0,
+        "53": 0,
+        "56": 0,
+        "60": 0,
+        "61": 0,
+        "64": 1,
+        "73": 1
       },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
+      "missed_lines": [
+        20,
+        22,
+        23,
+        25,
+        26,
+        28,
+        29,
+        48,
+        50,
+        51,
+        53,
+        56,
+        60,
+        61
+      ],
+      "statements": 20,
+      "percentage": "30.0%"
     },
-    "t.be55fb4435b9578c53f1fed04de8ceef3a3fd07adf1f145c5310fe0d16020e89": {
+    "t.bf9297aac903f6b4a1620b7d3733a68e9bcfb04eb708a3a5cf7527250d714599": {
       "line_hits": {
-        "12": 2,
-        "13": 2,
-        "14": 2,
-        "15": 2,
-        "6": 2,
-        "9": 2
+        "14": 1,
+        "15": 0,
+        "18": 1,
+        "21": 1,
+        "24": 1,
+        "27": 1,
+        "30": 1,
+        "33": 1
       },
-      "missed_lines": [],
-      "statements": 6,
-      "percentage": "100.0%"
+      "missed_lines": [
+        15
+      ],
+      "statements": 8,
+      "percentage": "87.5%"
     },
-    "t.c158028b8bc660ceafad8085f25fab4e6ca24dbe152615a9220a2c0f34085617": {
+    "t.c9102bd340263848d46bdcde35e175a2eef7d1e755abb985d50bcea1c83cde9d": {
       "line_hits": {
         "4": 1
       },
@@ -754,88 +2471,68 @@
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.c1795359d2281be9a1a8ce6985f85ab76aac4bf73c09b596fb0990cf7f9eaf45": {
+    "t.c930599fd7ec56d5e21101566787a617e53f6642d8ba34667c2de7b5f94b5abd": {
       "line_hits": {
-        "20": 1,
-        "24": 1,
-        "31": 1,
-        "34": 1,
-        "40": 1
+        "4": 1
       },
       "missed_lines": [],
-      "statements": 5,
+      "statements": 1,
       "percentage": "100.0%"
     },
-    "t.c3e55c30443d00eb278cbc137d0c864afbb4b08788b5c6879cca8ce2c32f965c": {
+    "t.cccbdde665259c760bfae773a7d20923be2810c68a4096bccee19f30aa423648": {
       "line_hits": {
-        "3": 1
+        "3": 1,
+        "4": 1
       },
       "missed_lines": [],
-      "statements": 1,
+      "statements": 2,
       "percentage": "100.0%"
     },
-    "t.c8cba2492567c78e53ab7b688f049fba5adb883311fe76b530a50b5a50f0c24c": {
+    "t.ced06ab831f5d667e91ae90abbef1000a642ac7fe68674fd2520d85138b6c42e": {
       "line_hits": {
-        "17": 1,
-        "18": 1,
-        "22": 1,
-        "23": 1,
-        "26": 1,
-        "35": 1
+        "3": 4
       },
       "missed_lines": [],
-      "statements": 6,
+      "statements": 1,
       "percentage": "100.0%"
     },
-    "t.cbc48fa4a853af1da617f57224c98a89b891f800f6df5123f8d7b0222406c36e": {
+    "t.d10168d2efc71db947671dfe4046e5877bfaabbcb94ffe209f8a342d83b09ea4": {
       "line_hits": {
-        "19": 1,
-        "23": 1,
-        "29": 1,
-        "32": 1,
-        "37": 1
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
       },
-      "missed_lines": [],
+      "missed_lines": [
+        14
+      ],
       "statements": 5,
-      "percentage": "100.0%"
+      "percentage": "80.0%"
     },
-    "t.cbcc637d0ed3708180ebf785724d45a2ca06162b0fc8c268f3f2ed218548fb36": {
+    "t.d14976e72cf9b938bfa508c5522bb9b723234ea9621278bc554276a5e443c3f8": {
       "line_hits": {
-        "20": 1,
-        "24": 1,
-        "31": 1,
-        "34": 1,
-        "40": 1
+        "13": 1,
+        "14": 0,
+        "5": 1,
+        "8": 1,
+        "9": 1
       },
-      "missed_lines": [],
+      "missed_lines": [
+        14
+      ],
       "statements": 5,
-      "percentage": "100.0%"
+      "percentage": "80.0%"
     },
-    "t.d40628913113329ec0559980137c561ccdf99eb994d89b5475f2b31549f947a4": {
+    "t.d2945f0342aceff1a5a3e9d2c19d121c88bb2de9a8955809a0c8593d20ceead5": {
       "line_hits": {
-        "4": 1
+        "3": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.d52b4ecc45043902cd36d4a1baa753289ded7a9be63dcdef9350842fc6f27118": {
-      "line_hits": {
-        "19": 1,
-        "23": 1,
-        "30": 1,
-        "33": 1,
-        "38": 1,
-        "39": 1,
-        "41": 0
-      },
-      "missed_lines": [
-        41
-      ],
-      "statements": 7,
-      "percentage": "85.7%"
-    },
-    "t.d81f652c58df5d2de7f5ad5f0b9fb922ce4762142fbdeb59f3b2828c9844a009": {
+    "t.d33c9f69ed1153ecc256be690f9a8a2e4796f4e1cfd4c8e8f4626b508924289c": {
       "line_hits": {
         "4": 1
       },
@@ -843,117 +2540,111 @@
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.d9cf026411bf11e26fbe5c62fe9ebc80041232694af90154ff15599a83e7b3f2": {
+    "t.dd339f65b20c7f799aaf12a5dd60688e6fe8187ffdab2cd2e1722c0bca3e9a58": {
       "line_hits": {
-        "3": 2
+        "3": 4
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.dae02fd5a649af88cc3a3ddd161cfd24efa858d6cf34ed3fb2e4419b124b4368": {
+    "t.de89480315752407732cf81e5f212550639d9b7ae6418e77d38c1174828f37ea": {
       "line_hits": {
-        "3": 2
+        "4": 1
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.db106e259f99ed5c82f56c610c809ba8f41d986f057f52cc6720306c28c76fe0": {
+    "t.e8bc9dcece7a5163300b102e48ecd8fab32c32304307674baf80db85fe6cc619": {
       "line_hits": {
-        "3": 2,
-        "4": 2
+        "20": 1,
+        "23": 1,
+        "27": 1,
+        "35": 1,
+        "38": 1,
+        "42": 1
       },
       "missed_lines": [],
-      "statements": 2,
+      "statements": 5,
       "percentage": "100.0%"
     },
-    "t.de1e10b32fffd6cd2162abe9e7194570f7f5b48882a47d90a1d5e8322880935e": {
+    "t.eb806bac3b94252b4b8af184eae8013aad815d47b40f3baeff2dbbb45d56c15e": {
       "line_hits": {
-        "6": 2,
-        "9": 2
+        "16": 4,
+        "17": 4,
+        "18": 4,
+        "19": 0,
+        "20": 0,
+        "23": 4
       },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
+      "missed_lines": [
+        19,
+        20
+      ],
+      "statements": 6,
+      "percentage": "66.7%"
     },
-    "t.e29f329f766aba7073d9850a868c6a591e3731ed7f49401e4a102b817b65d933": {
+    "t.edb67b867728fefec64fab5077b91d8a3c3c267947408e9927bf863246a35445": {
       "line_hits": {
-        "4": 1
+        "3": 4
       },
       "missed_lines": [],
       "statements": 1,
       "percentage": "100.0%"
     },
-    "t.e48156d044a71942d9e3f5ee8daccda994352f4afbc021be09e1992e25fdc0a8": {
+    "t.edcb1c2fb8ed81f8c8c572915973fa847f3920517d4327e3fda414b58a0653f8": {
       "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
+        "4": 1
       },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
+      "missed_lines": [],
+      "statements": 1,
+      "percentage": "100.0%"
     },
-    "t.f12527c00369e8106d0e16a891bb6ca08140991138fe44ecb8a9fb86c6368268": {
+    "t.ef452ac4a4f27af0eb886f28fe325085bcf89429a6b74e0028b232da8548f8d4": {
       "line_hits": {
-        "10": 2,
-        "12": 2,
-        "6": 2
+        "6": 4,
+        "9": 4
       },
       "missed_lines": [],
-      "statements": 3,
+      "statements": 2,
       "percentage": "100.0%"
     },
-    "t.fb161c0fef86990eba40812e13f1b1f7adb3d5ee1abed02d1ba9301da42b1011": {
+    "t.f7b29cbe2e66afdb7fcd85c8846ae2648e393b8c2439a1ca35155047bd52e22c": {
       "line_hits": {
-        "3": 2
+        "3": 1,
+        "4": 1
       },
       "missed_lines": [],
-      "statements": 1,
+      "statements": 2,
       "percentage": "100.0%"
     },
-    "t.fdf37782b5d4018fbd958bd341ba1a1562eee7870fd87d551e21b14fe0b623a8": {
+    "t.fffef85a0434b0845815696573453ef4b727e0784872506e5ebb87f7d15c15ba": {
       "line_hits": {
-        "10": 2,
-        "14": 2,
-        "21": 2,
-        "22": 2,
-        "24": 2,
-        "26": 2
+        "4": 1
       },
       "missed_lines": [],
-      "statements": 6,
+      "statements": 1,
       "percentage": "100.0%"
     }
   },
   "excluded_locations": [
-    "A.0ae53cb6e3f42a79.FlowToken",
-    "A.f8d6e0586b0a20c7.FlowIDTableStaking",
-    "A.f8d6e0586b0a20c7.LockedTokens",
-    "A.f8d6e0586b0a20c7.FlowDKG",
-    "A.f8d6e0586b0a20c7.NFTStorefrontV2",
-    "s.7465737400000000000000000000000000000000000000000000000000000000",
-    "A.f8d6e0586b0a20c7.FlowStakingCollection",
-    "A.f8d6e0586b0a20c7.FlowServiceAccount",
-    "A.f8d6e0586b0a20c7.ExampleNFT",
-    "A.f8d6e0586b0a20c7.FlowStorageFees",
-    "A.f8d6e0586b0a20c7.FlowEpoch",
+    "A.0000000000000001.StakingProxy",
+    "A.0000000000000001.FlowStakingCollection",
     "I.Crypto",
-    "A.ee82856bf20e2aa6.FungibleToken",
-    "A.f8d6e0586b0a20c7.FlowClusterQC",
-    "A.f8d6e0586b0a20c7.NodeVersionBeacon",
-    "A.f8d6e0586b0a20c7.StakingProxy",
-    "A.e5a8b7f23e8b548f.FlowFees",
-    "A.f8d6e0586b0a20c7.NonFungibleToken",
-    "A.f8d6e0586b0a20c7.ViewResolver",
     "I.Test",
-    "A.f8d6e0586b0a20c7.FUSD",
-    "A.f8d6e0586b0a20c7.MetadataViews",
-    "A.f8d6e0586b0a20c7.NFTStorefront"
+    "A.0000000000000001.FlowServiceAccount",
+    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000001.ExampleNFT",
+    "A.0000000000000001.NodeVersionBeacon",
+    "A.0000000000000001.FlowEpoch",
+    "A.0000000000000004.FlowFees",
+    "A.0000000000000001.FlowClusterQC",
+    "A.0000000000000001.FlowDKG",
+    "s.7465737400000000000000000000000000000000000000000000000000000000",
+    "A.0000000000000001.LockedTokens",
+    "A.0000000000000001.FlowStorageFees",
+    "A.0000000000000003.FlowToken",
+    "A.0000000000000002.FungibleToken"
   ]
 }
\ No newline at end of file
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index b04a824c..9cff6ada 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,6 +1,6 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (12.39kB)
+// ../../../contracts/ExampleToken-v2.cdc (12.446kB)
 // ../../../contracts/ExampleToken.cdc (12.028kB)
 // ../../../contracts/FungibleToken-v2.cdc (11.009kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
@@ -81,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x5b\x72\x7a\xc9\xb6\x1a\x3b\x6e\x9a\xc4\xbb\x3b\xd3\x4e\x33\x89\x9a\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x1d\xdc\x48\x80\x17\x59\x96\xf3\xb4\x7a\xb1\x49\xe2\x1c\x9c\xfb\x0d\xa0\x45\xc9\x85\x82\xeb\x8a\xad\xe8\x32\xc7\x05\xff\x82\x0c\x32\xc1\x0b\x18\x45\xef\x46\x27\x6e\xe5\xef\xa8\x48\x4a\x14\x79\x4f\x71\x2b\xdd\xca\xe8\x5d\xbd\x32\x82\xef\x03\x1b\x5e\x50\xe3\xd0\x4f\x6f\x51\xf2\x7c\x83\xc2\x41\x85\xaf\x46\x27\x27\x24\x49\x50\xca\x31\xc9\xf3\x09\x24\x9c\x29\x41\x12\x05\xaf\x6f\x48\x51\x3a\xc4\xf3\x18\xc9\xed\xc9\x09\x00\xc0\x6c\x36\x83\xc5\x1a\x01\x37\xc8\x14\xa8\x35\x51\x40\x25\x60\x41\x95\xc2\x14\xb6\x6b\x64\xc0\x70\x0b\x4a\x63\x90\x40\x04\x42\x41\x99\xc2\xd4\x00\x87\x7b\x5a\x04\x66\x27\xf9\xbb\x59\x32\x26\x05\xaf\x98\x9a\xc3\x9f\xd7\xf4\xe6\xd9\x0f\xa7\xa0\x76\x25\xce\xe1\x9d\x12\x94\xad\x26\xc1\xf6\x5c\x91\x1c\x64\x55\x96\xf9\x0e\x78\x16\x11\x2d\x81\x32\xc0\x1b\x2a\x15\xb2\x04\x3b\x9b\x6e\x88\x00\xa5\xc1\xdf\x19\x68\xbf\x55\x83\xfb\x45\x5a\x50\x06\x6f\x88\x5a\x77\x60\x73\x54\xf6\xf3\x3b\xc5\x05\x59\xa1\x5e\xa4\xa9\xab\x1f\x1a\x2c\x7f\x4a\x14\x06\x89\xec\xc5\xf2\x9e\x54\xb9\x1a\xc4\x32\x08\xf1\xa6\x5a\xe6\x34\xb1\x00\xcd\xff\xbd\xeb\xdf\x62\x82\x74\x83\x62\x00\xa4\x26\xf4\xba\x62\x89\xa2\x9c\x81\xe2\x20\x50\x55\x82\x81\x5a\xa3\x11\xbc\xb4\xca\xd5\x8f\xb5\x79\x50\x2d\xe7\x02\x99\xea\xf2\xb5\xa1\xb8\x85\xac\x62\xb0\x42\x65\xa8\x5d\x68\x1c\xe3\xc9\x1c\x3e\xe8\xff\x3e\xc2\xad\x01\xd1\x3f\x4d\xa0\xde\xe1\x85\x10\x64\x57\x7f\xbf\xb4\xff\x5c\xfc\x12\xaa\x73\x6a\x50\x3d\x1f\x4f\x3e\xd6\xd0\x9e\x4c\x8f\xc0\x7c\xb8\x3b\xd9\x4f\x90\xf6\x8d\x41\x5a\x36\x7a\x8f\xb7\x98\xc1\x25\x48\xcc\xb3\x29\x49\x12\x6d\x87\xd3\x84\x94\x64\x49\x73\xaa\x28\xca\xe9\x92\x0b\xc1\xb7\x17\xdf\xf4\x51\x37\x2b\x8d\x68\x67\x18\x7c\x33\x9f\x26\xf5\x3e\xfa\x77\x75\x05\x25\x61\x34\x19\x8f\x5e\xf2\x2a\x4f\x81\x71\x05\x16\x2d\x10\x10\x98\xa1\xd0\x36\xab\x55\xa1\x85\x6e\xa8\x02\xe1\x1d\xb6\x41\xd5\x96\x84\x27\x7f\xda\x30\x3a\x24\x13\x2d\x0e\x87\x51\xaf\x1c\x7f\x32\x52\x9a\x83\x96\xca\x64\x0e\x2f\xd8\xee\x9d\x12\x55\xa2\xae\xfe\x47\x25\x14\xf2\xae\x39\x8f\x04\xa5\xfd\xc1\xd0\xe4\x9f\xea\xb7\xaf\x49\xb2\x86\x4a\xfb\xb4\x54\x5c\xa0\x04\xc2\x80\x32\xa9\x88\x26\x86\x67\xc0\x59\xbe\x33\x14\x19\x70\x1d\x81\xd4\x1a\xa9\x5d\x4d\x56\x18\xc5\xcd\xcc\x79\x9c\x74\xcb\x1c\x0c\x61\x29\xac\xf8\x06\x05\xc3\x14\x96\x16\x5b\x29\xd0\xbc\x2f\xb9\x54\xda\x07\x53\x6a\x00\x6b\x74\x94\xb5\xd2\x8f\x89\xbe\x6a\x8d\x3b\x13\x77\x13\x92\xe7\x98\x4e\xa3\xdd\x93\x35\x26\x5f\x24\xac\x49\x59\x22\x03\xa2\x40\x54\x4c\xd1\x02\x0d\x28\xea\x30\x4f\x6a\x0a\x75\x5c\x6f\xe1\xa8\x71\xe9\xac\x50\x89\x04\xf5\x0a\x66\xf9\x5f\x22\x24\x02\x89\xce\x02\x8e\x33\x1d\x36\xf0\x46\x69\x09\x45\x51\xc4\xc7\x95\x5d\x8d\x4e\x93\x9b\x62\x46\x99\x01\x3e\x05\x69\x14\x2c\x50\x93\xc0\x38\x6c\xc9\x0e\x32\xae\x69\x2b\x48\x4e\x13\xca\x2b\x69\xd5\xa1\xb8\xdb\xd3\x4a\xb1\x11\x0d\xaf\xdc\xb6\x94\x01\xa1\x62\x0a\x2f\x40\x96\x98\x50\x92\x83\xc9\x35\xc2\x98\x8d\xe6\x00\x18\x62\x2a\x35\xa6\x65\x43\x83\xe2\x26\x6b\xd5\xe8\x9a\x8c\x16\x8b\x22\xf4\xad\x1a\xa1\x21\x65\x1e\xab\xc6\xfa\x81\xcf\xa1\xa1\x46\x4c\x36\x82\x25\xc9\xbd\x31\xa9\x35\x95\xd6\x62\xeb\xb5\xed\x0c\xe6\x56\xc7\xd9\x2b\x58\xa8\x7d\xd4\xae\x94\xfb\x92\x4c\x2f\x44\x39\x9c\x64\x7a\xd7\x0b\x9f\x69\x7a\x73\x4c\x63\x2f\xda\x11\xa5\xb1\x03\x47\x13\x94\x44\xad\xb5\xdd\x09\x0c\xbc\x59\xae\x8d\xe3\xab\x5d\x49\xb5\xed\x19\xb3\x32\x4e\x97\xf6\x4b\x23\x08\xf2\xaf\x30\x6b\xe5\x55\x1d\xf1\x83\xc7\x30\xaa\x05\xd1\xc1\x44\x34\xd9\x23\x9b\xbb\x61\x1e\xac\x94\x62\x16\xbc\xda\x3c\x0f\x6b\xb2\x41\x20\x7e\x69\x1d\x2a\x77\x87\x32\xd2\xc8\x52\xf3\xd1\x3c\xed\x63\xa3\xec\x6a\xec\x48\x2e\xfe\x5f\xd6\x45\xc4\xd7\x62\xe8\x6d\x60\x2a\x87\xb3\x14\x1a\x58\x1f\x53\x0f\xcf\xf9\xc1\x0e\x1f\xa2\x97\xfa\x67\x6a\x90\xe1\x02\x7b\x7a\xbd\xd0\x7f\x9f\x8f\x27\xa7\x47\x80\xbe\xa2\xb2\xcc\xc9\xee\x48\x68\x13\x43\x5e\x11\x45\x8e\x82\x5f\x34\x65\xef\xf3\x71\x9c\x76\x3f\xde\x27\xd7\x63\xea\x06\xfd\x93\x5b\xaa\x92\xb5\x55\xcb\x6d\x87\xe2\x84\x48\x3c\x5c\xde\xf3\x0e\x7c\xa0\xc7\x7b\x11\x8c\x7b\xa1\xf5\x2f\x53\x4e\x2b\x73\x6f\x6f\x0d\x9f\x0f\xd1\xe8\x04\x88\x7c\xb2\x9f\x10\xb7\xf8\xaa\xab\xbc\x86\x98\x5a\xc9\x47\x91\x13\x9a\xc8\x01\x04\xd5\xcb\xaf\x7a\x29\x9a\x1c\xab\xb2\x46\x2a\xfd\x5a\xd3\x35\x65\x81\x29\x25\x70\x19\xf7\xc5\xd3\xdf\xf5\xdb\x61\x65\x19\x19\xd1\x1c\xe7\x2d\xb0\x7f\x2d\x16\x6f\xae\x69\x8e\xfb\x21\x2b\x91\xcf\x61\xb4\x56\xaa\x94\xf3\xd9\x8c\x48\x89\x4a\x4e\xb7\xb8\x94\x54\xe1\x99\x46\x2b\xa7\x09\x2f\x66\x3f\x66\xcf\xbe\xfb\xf9\x87\xe4\x3c\xf9\x07\xf9\x29\x49\xd3\x67\x3f\x7c\xbf\x7c\x9a\xfc\xf4\xdd\x79\xeb\x03\xf9\xf1\xc7\x64\xf9\x34\xf9\xf9\xfb\x67\x9f\xae\x73\xbe\xfd\xf4\x17\x17\x69\x41\xc4\x97\xa9\xdc\xac\x46\x83\x74\xf4\x78\xae\xff\x19\x89\x2c\x4c\xcf\x3b\xa2\x05\x59\xe1\x4c\x6e\x56\xdf\xde\x14\x79\x3f\xb6\xae\x76\x22\xd1\xca\x7e\xd9\xca\xf1\x07\xf3\xf9\x63\x3f\xf8\x21\xfe\xe4\xb4\x3b\x2c\x6b\x46\x0a\xcd\x83\x6b\x04\x6a\x64\xb6\xd9\x1f\x0d\x0b\x40\xee\x8a\x25\xd7\x2a\x7a\x7d\xbd\xd8\xb3\x2c\x45\x99\x08\x5a\xea\x1a\x75\x0e\xa3\x85\x4e\x59\x99\xdf\xc2\x54\x69\xba\x6c\xac\x24\xa6\x40\x4c\xa9\xee\x9a\x0e\x5d\xd5\xad\x31\x2f\x61\xc7\x2b\x48\x71\x83\x39\x37\xff\x0b\x60\xba\x4a\xbd\x5e\xc0\xff\x71\xa6\x35\x39\xdd\xb3\x37\xde\x28\x14\x8c\xe4\x7f\xbe\xfd\xad\x6d\x83\xaf\x9b\x4f\xe3\xda\xc8\xdc\xde\x67\x99\x9a\x72\x96\x69\xe4\x5c\xac\x46\x7b\x8c\x20\xe7\x2b\x2e\xe7\x4e\x85\x7b\x44\xc5\x75\x31\x2b\xe7\x3d\x61\x35\xfc\x8d\xd4\x96\x2a\x85\x62\x74\x10\xb1\x6e\xb1\x71\x02\x4d\xeb\xa7\x65\xce\x93\x2f\xc9\x9a\x50\x36\xea\x37\x17\x30\x39\xa3\xef\xed\xd1\xb1\x23\x0c\x61\xc3\xd1\x23\xe8\x48\xa3\x7e\xd3\x77\xa6\xae\x9e\xdb\xdb\x94\x66\x82\x17\xf3\x4e\xf9\x37\xcc\xe8\xc3\xba\x53\x5b\xb5\x5a\x42\x07\xa4\x77\x50\xf2\xf2\xe2\x18\x76\xb7\xa8\xc8\x6f\xb3\x33\x6c\x42\x71\xe5\xde\xa9\xb5\xf6\xc5\x29\x4b\x62\x00\xd8\xd4\x9d\xc3\x60\xa5\xe0\x1b\x9a\xfa\xfd\x66\xa5\xa0\x1b\xa2\xb0\x3b\x12\xb8\x9f\xe2\xdf\x28\xfb\x82\xa9\x8d\x94\xc6\xa0\x7a\xd5\xbb\x37\xd2\x5a\x0e\x1e\x8d\xc8\xf3\xf4\x68\x44\xb6\x8d\x7d\x5d\x94\x6a\x67\x16\xfb\xc1\xdc\x1c\xc6\x59\xc5\x74\x19\xfb\xcb\x6d\x4f\x47\x79\x77\x8f\xff\x3b\x0b\xbb\x38\xab\x47\x20\xed\x8d\xc6\x7b\x1c\xbb\xff\xd3\x91\x9e\x1d\xd7\x9f\xc7\x56\x73\x01\x96\x61\x87\x88\x26\xbc\x91\x22\x82\x2f\x07\xf0\x76\xd7\xd7\x32\x30\x9a\x0f\xf5\x56\x2b\x54\x1a\x37\x17\x0a\xd3\x66\x06\x0a\xdc\xa4\x2a\xd3\xcd\x0a\xd7\x7d\x11\xc8\xa9\x34\x23\x0a\xdb\x32\x46\x03\x57\x2a\x6b\x4b\x37\x55\x78\xe9\x06\x1b\xb0\xa7\xdb\xe9\xd9\x57\x1b\xcd\xad\x35\xc9\x5f\x39\xcf\xdb\xa6\xa2\xa3\xa8\xf4\x50\x06\xa0\xb5\xfc\x12\x6e\x63\x01\xc4\xab\x3f\x18\xc7\x5f\xa1\xd9\x6c\x3c\xf9\x08\x97\xa0\x44\x85\xbd\x7d\x5c\x04\x78\x70\x13\x47\x65\x97\xab\xb1\xaa\x7d\x6c\x62\x09\xdd\xd3\x3a\x0e\xc9\xe5\x83\x32\x1d\xe1\xd5\x15\x64\x24\x97\xd8\xaf\x4e\xa0\x8c\x2a\x4a\x72\xfa\xb7\x9d\x4f\xf8\x11\x0d\x51\xcd\xa8\xc7\x38\x93\x19\x9f\xd3\xa2\x41\xa3\x01\xc7\xad\x19\xcd\xa4\xdd\x19\x69\xfa\x3c\xca\x4b\x8f\xbc\xa3\x20\x9a\x22\x53\x34\xa3\x28\xe0\x12\x46\x9d\x50\x39\xea\xe2\x0c\x42\x3f\x5c\x86\xd3\x8f\x71\x83\x6b\x1e\xe0\x9d\x3c\xe9\xe2\x68\xa2\x39\x5c\x06\x5d\xfa\x03\x30\x84\x89\x64\x18\x47\xc4\x90\x9f\x0e\x8c\x02\x7c\x2d\xff\xfa\x27\xaa\x48\x15\x6e\xb0\xb8\x67\x58\x16\x78\xc8\xaf\x16\x48\x7b\x85\x55\xc9\x1e\xc3\x69\xab\xa3\x45\xc7\x96\xaa\x75\x2a\xc8\x36\x7c\x19\x2d\x68\x8e\x55\x8c\x47\x93\x2f\x76\x66\x6c\xcf\xb7\x5c\x55\x4a\xc4\xaa\x2a\x90\xa9\x08\x90\xb0\xb4\xc6\xee\xe2\x81\x03\x32\x67\x78\xf5\xbc\x78\x3a\xb8\xf5\xbf\x95\xcb\x25\x3a\xc8\x98\xb9\x25\x16\x25\x17\x44\xec\xdc\xa4\xd9\x1f\xd9\x99\x02\x59\x97\xc4\x3c\x4f\x23\x0c\xe6\x00\xc8\x9e\xa5\x59\x02\x04\xc2\x12\x29\x5b\x81\x12\x84\xc9\x0c\x85\xc0\x74\xaa\x37\x12\xc1\x2c\x89\xe1\x36\x88\xa9\x1a\x8f\x9f\x06\xbb\x6d\x79\x34\x13\x36\x98\xed\x74\x19\x24\x07\xaa\xcc\x20\xd9\x8c\x60\x4b\xae\xfb\xb1\x98\x26\xcc\x25\x9a\x09\x55\x3f\xe3\x4e\xe7\x71\x82\xfc\xcb\xc9\x91\x2c\x73\xb4\x23\x0c\x2f\xd9\xd6\x41\xa3\x4e\xae\xdd\x74\xbd\xdf\x61\xa3\xc7\x33\xa7\xa4\x3e\x7b\xba\x38\x0b\x27\xd4\x4d\x58\xb0\x10\x93\x21\x13\x73\x62\x78\x98\x85\x39\x51\xf3\xe5\x7f\x30\x69\x9b\x99\x31\x2d\x92\xa6\x32\x42\x43\x95\xac\xbd\xc9\x69\xa8\xe5\x5c\x7c\xcb\x50\xc8\x03\xac\x8e\x4a\x20\x79\xce\xb7\xd6\xaa\x52\x94\x4a\x70\x7b\x8e\x21\xf5\xf6\x96\xb4\x25\x26\xa4\x92\xd8\x18\x72\xec\x57\x9a\xe4\xc0\x60\xb5\x69\xa2\xf0\x94\xb8\x01\xbc\x99\x9a\xbf\x77\x23\x4a\x4f\xec\x9a\xc4\x7c\x2d\x11\x99\xb6\x35\x59\x15\xba\x0d\x64\xa9\x3d\x4f\xc8\xb8\x39\x17\x71\x86\x66\x28\xf4\xa7\x1b\x03\x26\x55\x8f\xbf\x9c\x42\x5c\xd3\xd0\x5f\x8c\xb5\x83\x7c\xdd\xa8\xc0\xc5\x99\x75\x60\x22\x9f\xf4\xd9\xda\xc1\x96\xf6\xad\xc5\xd7\x09\x50\xfa\x17\x7d\x81\x4b\x38\x9f\x9e\x47\xdf\xbd\x4a\xe2\x70\xd9\x4d\xc2\xf7\x79\x91\x8f\x02\x9d\xe3\x7a\x1f\xf4\xe7\xf0\xb2\x9e\x0d\x5f\x7c\xd3\x92\x94\x0f\xf3\x77\xcf\xfb\xa4\xe5\x71\xbf\xf7\x52\x33\xdc\x77\xfc\xd6\x3b\x4f\x04\xef\x12\x44\x4f\x2b\x26\x30\xa1\x25\x45\x16\x0e\xb5\x3b\x5b\x7b\xea\x6d\x53\xe9\x9f\x5c\x03\xd9\x53\x25\xef\xe9\x06\xeb\xea\x6d\x2f\x25\xef\x5d\x67\xd8\x66\xe2\x95\xb5\x34\xb3\xde\x73\xce\x7c\x44\x76\x47\x6b\x21\x1e\xd1\xc7\x51\xc0\xcd\x34\x36\xdd\x8b\xb3\x48\xc8\x83\x11\xa8\xdd\x28\x1c\x18\x8a\xe2\xe4\x63\xf5\xa8\xb9\x00\x12\x46\x96\xbf\x51\xf0\x4e\xe2\xf3\xe9\x84\x36\xd9\x82\xe4\xb9\x4e\x3c\x2e\x6b\x4c\xe1\x85\x3d\xf7\x2b\x2a\x69\xb3\x87\xad\x96\xfd\x89\x65\x07\xa3\xe9\xc1\x9d\xc0\x34\xee\x3a\x1b\xb5\x8f\x68\xf5\x0b\x2e\x52\x7b\xa4\x68\xc2\x98\xfd\x1e\x63\xb4\xb3\x05\x77\x56\x48\xec\xb8\xc9\x4b\xda\x07\x08\x59\x9f\xe1\xd9\x51\x94\x2e\x35\x0f\x8b\x30\xdd\xce\xec\x90\xbc\x74\x4f\x9a\x39\x9f\x9e\x0f\x68\x18\x16\x7f\xbc\xfa\x63\x0e\x6f\x71\x43\xb5\xb5\xd1\x0c\x04\x16\x7c\x43\x72\xcd\x40\x52\x49\xc5\x0b\x1b\x32\xaa\x44\x71\x21\xa1\x24\x52\x62\x18\x65\xe1\x1d\x22\xf8\xd1\xd1\x8a\xaa\x75\xb5\x34\x93\x23\x3b\xe7\x9a\x65\x39\x2d\xe5\xac\xac\xf2\x7c\xf6\xf4\xfb\xa7\x35\x9c\x8b\x42\xe3\xb6\xf7\xd3\x2c\x8e\x74\xcf\x35\xe9\x3d\xdd\xed\x50\x3b\xd7\x1e\x04\x85\x9f\xce\xfa\xab\x3a\x88\x5a\x3c\xfb\x5f\x70\x17\xc0\x1e\x14\x9f\xc0\xc0\xd1\xb7\x4f\xb3\x36\x01\x1b\x5d\x13\x73\x79\xc8\x99\x89\x3d\x1a\xd7\x29\xcc\x1f\x27\x3f\xec\x18\xd9\x9d\x53\xdf\x46\x26\xa8\xd1\xd8\x7b\x4e\x07\xba\xa3\x06\x90\xc1\xc6\xa7\xa6\x06\xd0\xc6\x5d\x78\x27\x53\xc1\x75\xaa\xd3\x41\xa7\x0c\x21\xda\x6e\x79\x90\x79\x37\xa4\x1f\x53\x7e\x1d\xa3\xf6\x6f\xfb\xca\x32\x2c\xe8\xc0\xad\x33\xfb\xd7\xdf\x3a\x8b\xbb\xdb\x69\xd0\xee\x3c\xae\xca\x6b\x19\x59\x6f\x94\x0d\xcd\xed\x51\xd1\xf5\xeb\x46\xd6\xaf\x1b\x55\xbf\x42\x44\xed\xf3\x9f\xe3\x22\x69\xad\x46\xb8\x27\x8c\xde\xf5\xdd\x9d\xd3\x9a\x71\x71\xad\xa9\xc2\xfd\x05\xa1\x53\xc0\x2c\xc3\x44\xd1\x0d\xe6\x3b\x58\x56\x82\x99\x56\xaa\x29\x68\x3b\x2a\xff\xa5\x24\x82\x14\x60\xd3\x75\x5d\xed\x06\x53\x07\xce\x14\xa1\x2d\x34\x46\x86\x95\x60\x2d\x6c\x8f\x88\xf2\xc7\x44\xf8\xb6\x26\x34\x45\xce\xe9\x5d\xe1\xdc\x55\x43\x98\x09\x7c\x8d\xaa\x17\x87\xf2\x36\x23\x95\x70\xa1\x71\xcf\x38\x0e\x3c\x3d\x3f\xd7\x25\x6f\xbc\xa4\x7d\x61\x13\x2e\x61\xe6\xac\x33\x9a\x3c\xdb\x7b\x9f\x51\x7e\x7c\x69\x2d\xa1\xb9\xa3\x65\x1c\xad\x1d\x31\x8d\x71\xba\xcb\xae\xda\x37\xc8\x06\xb5\x9b\x51\x16\xdd\xfe\xb2\x28\xeb\x7f\xa3\xc6\xa0\xdf\xe2\xda\x0c\x4e\x62\xbe\xda\x57\x48\xe1\xd2\xd5\xff\x03\x17\x61\x9e\xf4\x80\xbf\x09\xc7\x3c\x6d\xe8\xf0\xf6\x49\x0b\xb8\x7b\xb9\xb4\x07\x3e\xbe\xec\xf1\xa4\xa5\x96\xf6\x31\x8d\x16\xdb\xd8\x4d\xa9\x4f\x41\xf1\x79\x3f\x97\x93\x3e\x05\xf5\xdc\x48\x69\x9d\xc1\x04\x83\x0f\xbc\x29\x79\xab\x8c\xd1\x0b\x3f\xbb\x58\xf3\x19\x0a\x54\x6b\x6e\x5b\xc6\x15\xaa\x17\x66\xfc\xea\x06\x97\xfe\x9b\x5a\x0b\x5e\xad\xac\x29\x7c\xf6\x7c\x7e\x06\x93\xaf\x33\x92\x84\x1a\xf7\xad\x27\x7c\x0e\x27\x50\x9f\x7b\x31\xb9\xcf\xfd\x88\x22\xd3\x09\x0d\xf7\x25\x29\xf7\xde\xca\xf4\x12\xa6\x52\x56\x78\xf1\x8d\x3b\x89\x18\x90\x6e\xaf\x8e\x22\x74\x46\xd4\x72\x3d\x6e\x91\x70\x0a\x44\xcd\x7b\x4d\x6b\x12\x51\xee\xdb\x92\x07\x52\x3d\xd8\x43\x3e\x9e\x91\x80\xa2\x80\x89\xae\x89\x07\xa6\xa7\x19\xb1\xa5\x5e\xe3\xbd\xb6\x5a\x1b\x0f\xec\xdc\x32\x73\x03\x1c\x98\x79\x3b\x48\xf9\x54\x73\x77\xf2\xdf\x00\x00\x00\xff\xff\x11\x3b\x52\x79\x66\x30\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x5b\x72\x7a\xc9\xb6\x9a\x38\x69\x9a\xc4\xbb\x3b\xd3\x4e\x33\x89\x9b\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\xa5\xa8\x1e\xff\xf7\x1d\xdc\x48\x80\x04\x65\xd9\xc9\xd3\xea\xc5\x26\x89\x73\x70\xee\x37\x80\x56\x35\x17\x0a\x2e\x1b\xb6\xa6\xab\x12\xaf\xf8\x27\x64\x50\x08\x5e\xc1\x24\x7a\x37\x39\x71\x2b\x7f\x47\x45\x72\xa2\xc8\x5b\x8a\x3b\xe9\x56\x46\xef\xda\x95\x11\x7c\x0a\x6c\x7c\x41\x8b\x43\x3f\xbd\x46\xc9\xcb\x2d\x0a\x07\x15\xbe\x9a\x9c\x9c\x90\x2c\x43\x29\xa7\xa4\x2c\x67\x90\x71\xa6\x04\xc9\x14\xbc\xfc\x4c\xaa\xda\x21\x5e\xc6\x48\xae\x4f\x4e\x00\x00\x16\x8b\x05\x5c\x6d\x10\x70\x8b\x4c\x81\xda\x10\x05\x54\x02\x56\x54\x29\xcc\x61\xb7\x41\x06\x0c\x77\xa0\x34\x06\x09\x44\x20\x54\x94\x29\xcc\x0d\x70\xb8\xa7\x45\x60\x76\x92\xbf\x9b\x25\x53\x52\xf1\x86\xa9\x25\xfc\x79\x49\x3f\x3f\xfa\xe1\x14\xd4\xbe\xc6\x25\xbc\x51\x82\xb2\xf5\x2c\xd8\x9e\x2b\x52\x82\x6c\xea\xba\xdc\x03\x2f\x22\xa2\x25\x50\x06\xf8\x99\x4a\x85\x2c\xc3\xc1\xa6\x5b\x22\x40\x69\xf0\x37\x06\xda\x6f\xd5\xe1\x7e\x96\x57\x94\xc1\x2b\xa2\x36\x03\xd8\x12\x95\xfd\xfc\x46\x71\x41\xd6\xa8\x17\x69\xea\xda\x87\x0e\xcb\x9f\x12\x85\x41\x22\x93\x58\xde\x92\xa6\x54\xa3\x58\x46\x21\x5e\x35\xab\x92\x66\x16\xa0\xfb\x3f\xb9\xfe\x35\x66\x48\xb7\x28\x46\x40\x5a\x42\x2f\x1b\x96\x29\xca\x19\x28\x0e\x02\x55\x23\x18\xa8\x0d\x1a\xc1\x4b\xab\x5c\xfd\xd8\x9a\x07\xd5\x72\xae\x90\xa9\x21\x5f\x5b\x8a\x3b\x28\x1a\x06\x6b\x54\x86\xda\x2b\x8d\x63\x3a\x5b\xc2\x3b\xfd\xdf\x7b\xb8\x36\x20\xfa\xa7\x09\xd4\x3b\x3c\x13\x82\xec\xdb\xef\x17\xf6\x9f\xc7\xbf\x84\xea\x9c\x1b\x54\x4f\xa6\xb3\xf7\x2d\xb4\x27\xd3\x23\x30\x1f\x6e\x4e\x0e\x13\xa4\x7d\x63\x94\x96\xad\xde\xe3\x35\x16\x70\x01\x12\xcb\x62\x4e\xb2\x4c\xdb\xe1\x3c\x23\x35\x59\xd1\x92\x2a\x8a\x72\xbe\xe2\x42\xf0\xdd\xe3\x6f\x52\xd4\x2d\x6a\x23\xda\x05\x06\xdf\xcc\xa7\x59\xbb\x8f\xfe\x3d\x7d\x0a\x35\x61\x34\x9b\x4e\x9e\xf3\xa6\xcc\x81\x71\x05\x16\x2d\x10\x10\x58\xa0\xd0\x36\xab\x55\xa1\x85\x6e\xa8\x02\xe1\x1d\xb6\x43\xd5\x97\x84\x27\x7f\xde\x31\x3a\x26\x13\x2d\x0e\x87\x51\xaf\x9c\x7e\x30\x52\x5a\x82\x96\xca\x6c\x09\xcf\xd8\xfe\x8d\x12\x4d\xa6\x9e\xfe\x8f\x4a\x28\xe4\x5d\x73\x1e\x09\x4a\xfb\x83\xa1\xc9\x3f\xb5\x6f\x5f\x92\x6c\x03\x8d\xf6\x69\xa9\xb8\x40\x09\x84\x01\x65\x52\x11\x4d\x0c\x2f\x80\xb3\x72\x6f\x28\x32\xe0\x3a\x02\xa9\x0d\x52\xbb\x9a\xac\x31\x8a\x9b\x85\xf3\x38\xe9\x96\x39\x18\xc2\x72\x58\xf3\x2d\x0a\x86\x39\xac\x2c\xb6\x5a\xa0\x79\x5f\x73\xa9\xb4\x0f\xe6\xd4\x00\xb6\xe8\x28\xeb\xa5\x1f\x13\x7d\xd5\x06\xf7\x26\xee\x66\xa4\x2c\x31\x9f\x47\xbb\x67\x1b\xcc\x3e\x49\xd8\x90\xba\x46\x06\x44\x81\x68\x98\xa2\x15\x1a\x50\xd4\x61\x9e\xb4\x14\xea\xb8\xde\xc3\xd1\xe2\xd2\x59\xa1\x11\x19\xea\x15\xcc\xf2\xbf\x42\xc8\x04\x12\x9d\x05\x1c\x67\x3a\x6c\xe0\x67\xa5\x25\x14\x45\x11\x1f\x57\xf6\x2d\x3a\x4d\x6e\x8e\x05\x65\x06\xf8\x14\xa4\x51\xb0\x40\x4d\x02\xe3\xb0\x23\x7b\x28\xb8\xa6\xad\x22\x25\xcd\x28\x6f\xa4\x55\x87\xe2\x6e\x4f\x2b\xc5\x4e\x34\xbc\x71\xdb\x52\x06\x84\x8a\x39\x3c\x03\x59\x63\x46\x49\x09\x26\xd7\x08\x63\x36\x9a\x03\x60\x88\xb9\xd4\x98\x56\x1d\x0d\x8a\x9b\xac\xd5\xa2\xeb\x32\x5a\x2c\x8a\xd0\xb7\x5a\x84\x86\x94\x65\xac\x1a\xeb\x07\x3e\x87\x86\x1a\x31\xd9\x08\x56\xa4\xf4\xc6\xa4\x36\x54\x5a\x8b\x6d\xd7\xf6\x33\x98\x5b\x1d\x67\xaf\x60\xa1\xf6\x51\xbb\x52\x1e\x4a\x32\x49\x88\x7a\x3c\xc9\x24\xd7\x0b\x9f\x69\x92\x39\xa6\xb3\x17\xed\x88\xd2\xd8\x81\xa3\x09\x6a\xa2\x36\xda\xee\x04\x06\xde\x2c\x37\xc6\xf1\xd5\xbe\xa6\xda\xf6\x8c\x59\x19\xa7\xcb\xd3\xd2\x08\x82\xfc\x0b\x2c\x7a\x79\x55\x47\xfc\xe0\x31\x8c\x6a\x41\x74\x30\x11\x4d\x26\x64\x73\x33\xce\x83\x95\x52\xcc\x82\x57\x9b\xe7\x61\x43\xb6\x08\xc4\x2f\x6d\x43\xe5\xfe\x58\x46\x3a\x59\x6a\x3e\xba\xa7\x43\x6c\xd4\x43\x8d\xdd\x93\x8b\xff\x97\x6d\x11\xf1\xb5\x18\x7a\x1d\x98\xca\xf1\x2c\x85\x06\x96\x62\xea\xee\x39\x3f\xd8\xe1\x5d\xf4\x52\xff\x4c\x0d\x32\x5e\x60\xcf\x2f\xaf\xf4\xdf\x27\xd3\xd9\xe9\x3d\x40\x5f\x50\x59\x97\x64\x7f\x4f\x68\x13\x43\x5e\x10\x45\xee\x05\x7f\xd5\x95\xbd\x4f\xa6\x71\xda\x7d\x7f\x9b\x5c\xef\x53\x37\xe8\x9f\xdc\x51\x95\x6d\xac\x5a\xae\x07\x14\x67\x44\xe2\xf1\xf2\x5e\x0e\xe0\x03\x3d\xde\x8a\x60\x9a\x84\xd6\xbf\x42\x39\xad\x2c\xbd\xbd\x75\x7c\xde\x45\xa3\x33\x20\xf2\xc1\x61\x42\xdc\xe2\xa7\x43\xe5\x75\xc4\xb4\x4a\xbe\x17\x39\xa1\x89\x1c\x41\x50\xbb\xfc\x69\x92\xa2\xd9\x7d\x55\xd6\x49\x25\xad\x35\x5d\x53\x56\x98\x53\x02\x17\x71\x5f\x3c\xff\x5d\xbf\x1d\x57\x96\x91\x11\x2d\x71\xd9\x03\xfb\xd7\xd5\xd5\xab\x4b\x5a\xe2\x61\xc8\x46\x94\x4b\x98\x6c\x94\xaa\xe5\x72\xb1\x20\x52\xa2\x92\xf3\x1d\xae\x24\x55\x78\xa6\xd1\xca\x79\xc6\xab\xc5\x8f\xc5\xa3\xef\x7e\xfe\x21\x3b\xcf\xfe\x41\x7e\xca\xf2\xfc\xd1\x0f\xdf\xaf\x1e\x66\x3f\x7d\x77\xde\xfb\x40\x7e\xfc\x31\x5b\x3d\xcc\x7e\xfe\xfe\xd1\x87\xcb\x92\xef\x3e\xfc\xc5\x45\x5e\x11\xf1\x69\x2e\xb7\xeb\xc9\x28\x1d\x09\xcf\xf5\x3f\x23\x91\x2b\xd3\xf3\x4e\x68\x45\xd6\xb8\x90\xdb\xf5\xb7\x9f\xab\x32\x8d\x6d\xa8\x9d\x48\xb4\x32\x2d\x5b\x39\x7d\x67\x3e\xbf\x4f\x83\x1f\xe3\x4f\x4e\xbb\xe3\xb2\x66\xa4\xd2\x3c\xb8\x46\xa0\x45\x66\x9b\xfd\xc9\xb8\x00\xe4\xbe\x5a\x71\xad\xa2\x97\x97\x57\x07\x96\xe5\x28\x33\x41\x6b\x5d\xa3\x2e\x61\x72\xa5\x53\x56\xe1\xb7\x30\x55\x9a\x2e\x1b\x1b\x89\x39\x10\x53\xaa\xbb\xa6\x43\x57\x75\x1b\x2c\x6b\xd8\xf3\x06\x72\xdc\x62\xc9\xcd\xff\x02\x98\xae\x52\x2f\xaf\xe0\xff\x38\xd3\x9a\x9c\x1f\xd8\x1b\x3f\x2b\x14\x8c\x94\x7f\xbe\xfe\xad\x6f\x83\x2f\xbb\x4f\xd3\xd6\xc8\xdc\xde\x67\x85\x9a\x73\x56\x68\xe4\x5c\xac\x27\x07\x8c\xa0\xe4\x6b\x2e\x97\x4e\x85\x07\x44\xc5\x75\x31\x2b\x97\x89\xb0\x1a\xfe\x26\x6a\x47\x95\x42\x31\x39\x8a\x58\xb7\xd8\x38\x81\xa6\xf5\xc3\xaa\xe4\xd9\xa7\x6c\x43\x28\x9b\xa4\xcd\x05\x4c\xce\x48\xbd\xbd\x77\xec\x08\x43\xd8\x78\xf4\x08\x3a\xd2\xa8\xdf\xf4\x9d\xa9\xab\xe7\x0e\x36\xa5\x85\xe0\xd5\x72\x50\xfe\x8d\x33\x7a\xb7\xee\xd4\x56\xad\x96\xd0\x11\xe9\x1d\x95\xbc\xbc\x38\xc6\xdd\x2d\x2a\xf2\xfb\xec\x8c\x9b\x50\x5c\xb9\x0f\x6a\xad\x43\x71\xca\x92\x18\x00\x76\x75\xe7\x38\x58\x2d\xf8\x96\xe6\x7e\xbf\x45\x2d\xe8\x96\x28\x1c\x8e\x04\x6e\xa7\xf8\x37\xca\x3e\x61\x6e\x23\xa5\x31\xa8\x6f\xae\xe3\x6e\xcb\x57\x9a\x37\xc9\x4a\xa9\xcf\xc7\x10\x5d\x72\x04\x75\x3b\x67\x5f\x8c\xc8\x36\xb3\x2f\xab\x5a\xed\xcd\x62\x3f\x9e\x5b\xc2\xb4\x68\x98\x2e\x66\x7f\xb9\x4e\xf4\x95\x37\xb7\x44\x01\x67\x67\x8f\xcf\xda\x41\x48\x7f\xa3\xe9\x01\xf7\x4e\x7f\xba\xa7\x7f\xc7\x55\xe8\x7d\x6b\xba\x00\xcb\xb8\x5b\x44\x73\xde\x48\x11\xc1\x97\x23\x78\xbb\x49\x35\x0e\x8c\x96\x63\x1d\xd6\x1a\x95\xc6\xcd\x85\xc2\xbc\x9b\x84\x02\x37\x09\xcb\xf4\xb4\xc2\xf5\x60\x04\x4a\x2a\xcd\xa0\xc2\x36\x8e\xd1\xd8\x95\xca\xd6\xde\x4d\x2d\x5e\xbb\xf1\x06\x1c\xe8\x79\x12\xfb\x6a\xa3\xb9\xb6\x26\xf9\x2b\xe7\x65\xdf\x54\x74\x2c\x95\x1e\xca\x00\xf4\x96\x5f\xc0\x75\x2c\x80\x78\xf5\x3b\xe3\xfe\x6b\x34\x9b\x4d\x67\xef\xe1\x02\x94\x68\x30\xd9\xcd\x45\x80\x47\xb7\x72\x54\x0e\xb9\x9a\xaa\xd6\xc7\x66\x96\xd0\x03\x0d\xe4\x98\x5c\xde\x29\xd3\x17\x3e\x7d\x0a\x05\x29\x25\xa6\xd5\x09\x94\x51\x45\x49\x49\xff\xb6\x53\x0a\x3f\xa8\x21\xaa\x1b\xf8\x18\x67\x32\x43\x74\x5a\x75\x68\x34\xe0\xb4\x37\xa9\x99\xf5\xfb\x23\x4d\x9f\x47\x79\xe1\x91\x0f\x14\x44\x73\x64\x8a\x16\x14\x05\x5c\xc0\x64\x10\x30\x27\x43\x9c\x41\x02\x80\x8b\x70\x06\x32\xed\x70\x2d\x03\xbc\xb3\x07\x43\x1c\x5d\x4c\x87\x8b\xa0\x57\xbf\x03\x86\x30\x9d\x8c\xe3\x88\x18\xf2\x91\x7b\x12\xe0\xeb\xf9\xd7\x3f\x51\x45\xaa\x70\xe3\xc5\x03\x23\xb3\xc0\x43\x7e\xb5\x40\xda\x2b\xac\x4a\x0e\x18\x4e\x5f\x1d\x3d\x3a\x76\x54\x6d\x72\x41\x76\xe1\xcb\x68\x41\x77\xb8\x62\x3c\x9a\x7c\xb2\x93\x63\x7b\xca\xe5\x6a\x53\x22\xd6\x4d\x85\x4c\x45\x80\x84\xe5\x2d\x76\x17\x0f\x1c\x90\x39\xc9\x6b\xa7\xc6\xf3\xd1\xad\xff\xad\x5c\x2e\xd1\x41\xc6\x4c\x2f\xb1\xaa\xb9\x20\x62\xef\xe6\xcd\xfe\xe0\xce\x94\xc9\xba\x30\xe6\x65\x1e\x61\x30\xc7\x40\xf6\x44\xcd\x12\x20\x10\x56\x48\xd9\x1a\x94\x20\x4c\x16\x28\x04\xe6\x73\xbd\x91\x08\x26\x4a\x0c\x77\x41\x4c\xd5\x78\xfc\x4c\xd8\x6d\xcb\xa3\xc9\xb0\xc1\x6c\x67\xcc\x20\x39\x50\x65\xc6\xc9\x66\x10\x5b\x73\xdd\x95\xc5\x34\x61\x29\xd1\xcc\xa9\xd2\x8c\x3b\x9d\xc7\x09\xf2\x2f\x27\x47\xb2\x2a\xd1\x0e\x32\xbc\x64\x7b\xc7\x8d\x3a\xb9\x0e\xd3\xf5\x61\x87\x8d\x1e\xcf\x9c\x92\x52\xf6\xf4\xf8\x2c\x9c\x53\x77\x61\xc1\x42\xcc\xc6\x4c\xcc\x89\xe1\x6e\x16\xe6\x44\xcd\x57\xff\xc1\xac\x6f\x66\xc6\xb4\x48\x9e\xcb\x08\x0d\x55\xb2\xf5\x26\xa7\xa1\x9e\x73\xf1\x1d\x43\x21\x8f\xb0\x3a\x2a\x81\x94\x25\xdf\x59\xab\xca\x51\x2a\xc1\xed\x69\x86\xd4\xdb\x5b\xd2\x56\x98\x91\x46\x62\x67\xc8\xb1\x5f\x69\x92\x03\x83\xd5\xa6\x89\xc2\x53\xe2\xc6\xf0\x66\x76\xfe\xd6\x0d\x2a\x3d\xb1\x1b\x12\xf3\xb5\x42\x64\xda\xd6\x64\x53\xe9\x66\x90\xe5\xf6\x54\xa1\xe0\xe6\x74\xc4\x19\x9a\xa1\xd0\x9f\x71\x8c\x98\x54\x3b\x04\x73\x0a\x71\xad\x43\xba\x18\xeb\x07\xf9\xb6\x5d\x81\xc7\x67\xd6\x81\x89\x7c\x90\xb2\xb5\xa3\x2d\xed\x5b\x8b\x6f\x10\xa0\xf4\x2f\xfa\x02\x17\x70\x3e\x3f\x8f\xbe\x7b\x95\xc4\xe1\x72\x98\x84\x6f\xf3\x22\x1f\x05\x06\x87\xf6\x3e\xe8\x2f\xe1\x79\x3b\x21\x3e\x50\xa0\xa7\xa4\xe5\x71\xbf\xf5\x52\x33\xdc\x0f\xfc\xd6\x3b\x4f\x04\xef\x12\x44\xa2\x21\x13\x98\xd1\x9a\x22\x0b\x47\xdb\x83\xad\x3d\xf5\xb6\xb5\xf4\x4f\xae\x8d\x4c\x54\xc9\x07\x7a\xc2\xb6\x7a\x3b\x48\xc9\x5b\xd7\x1f\xf6\x99\x78\x61\x2d\xcd\xac\xf7\x9c\x33\x1f\x91\xdd\x01\x5b\x88\x47\xa4\x38\x0a\xb8\x99\xc7\xa6\xfb\xf8\x2c\x12\xf2\x68\x04\xea\x37\x0a\x47\x86\xa2\x38\xf9\x58\x3d\x6a\x2e\x80\x84\x91\xe5\x6f\x14\x7c\x90\xf8\x7c\x3a\xa1\x5d\xb6\x20\x65\xa9\x13\x8f\xcb\x1a\x73\x78\x66\x4f\xff\xaa\x46\xda\xec\x61\xab\x65\x7f\x6e\x39\xc0\x68\x3a\x71\x27\x30\x8d\xbb\xcd\x46\xfd\x83\x5a\xfd\x82\x8b\xdc\x1e\x2c\x9a\x30\x66\xbf\xc7\x18\xed\x84\xc1\x9d\x18\x12\x3b\x74\xf2\x92\xf6\x01\x42\xb6\x27\x79\x76\x20\xa5\x4b\xcd\xe3\x22\xcc\xb0\x33\x3b\x26\x2f\xdd\x92\x66\xce\xe7\xe7\x23\x1a\x86\xab\x3f\x5e\xfc\xb1\x84\xd7\xb8\xa5\xda\xda\x68\x01\x02\x2b\xbe\x25\xa5\x66\x20\x6b\xa4\xe2\x95\x0d\x19\x4d\xa6\xb8\x90\x50\x13\x29\x31\x8c\xb2\xf0\x06\x11\xfc\x00\x69\x4d\xd5\xa6\x59\x99\xf9\x91\x9d\x76\x2d\x8a\x92\xd6\x72\x51\x37\x65\xb9\x78\xf8\xfd\xc3\x16\xce\x45\xa1\x69\xdf\xfb\x69\x11\x47\xba\x27\x9a\xf4\x44\x77\x3b\xd6\xce\xf5\xc7\x41\xe1\xa7\xb3\x74\x55\x07\x51\x8b\x67\xff\x0b\x6e\x04\xd8\xe3\xe2\x13\x18\x39\x00\xf7\x69\xd6\x26\x60\xa3\x6b\x62\xae\x10\x39\x33\xb1\x07\xe4\x3a\x85\xf9\x43\xe5\xbb\x1d\x26\xbb\xd3\xea\xeb\xc8\x04\x35\x1a\x7b\xdb\xe9\x48\x77\xd4\x00\x32\xd8\xf8\xd4\xd4\x00\xda\xb8\x2b\xef\x64\x2a\xb8\x54\x75\x3a\xea\x94\x21\x44\xdf\x2d\x8f\x32\xef\x8e\xf4\xfb\x94\x5f\xf7\x51\xfb\xb7\xa9\xb2\x0c\x2b\x3a\x72\xf7\xcc\xfe\xf5\x77\xcf\xe2\xee\x76\x1e\xb4\x3b\x5f\x56\xe5\xf5\x8c\x2c\x19\x65\x43\x73\xfb\xa2\xe8\xfa\x75\x23\xeb\xd7\x8d\xaa\x5f\x21\xa2\xa6\xfc\xe7\x7e\x91\xb4\x55\x23\xdc\x12\x46\x6f\x52\x37\xe8\xb4\x66\x5c\x5c\xeb\xaa\x70\x7f\x4d\xe8\x14\xb0\x28\x30\x53\x74\x8b\xe5\x1e\x56\x8d\x60\xa6\x95\xea\x0a\xda\x81\xca\x7f\xa9\x89\x20\x15\xd8\x74\xdd\x56\xbb\xc1\xd4\x81\x33\x45\x68\x0f\x8d\x91\x61\x23\x58\x0f\xdb\x17\x44\xf9\xc5\x02\xfe\xa2\x65\x69\xae\xc9\x18\x05\xe6\xba\x92\x86\xa6\xce\xb5\x80\xb4\x1d\x05\x81\xc3\x43\xdc\x39\x27\xf4\x75\xa7\x79\x70\x61\xc2\x95\xda\x43\xc5\x85\xb9\xc3\x57\xb5\x7a\x71\xa8\x21\x33\x84\x09\x17\x1a\x87\x8e\x23\xc7\xc3\xf3\x73\x5d\x24\xc7\x4b\xfa\x17\x3d\xe1\x02\x16\xce\x9e\xa3\x89\xb5\xbd\x2f\x1a\x65\xd4\xe7\xd6\x76\xba\xbb\x5d\xc6\x35\xfb\x31\xd6\x98\xb3\xbb\x24\xab\xbd\x89\x6c\x51\x3b\x26\x65\xd1\xad\x31\x8b\xb2\xfd\x37\x6a\x25\xd2\x36\xda\x67\x70\x16\xf3\xd5\xbf\x7a\x0a\x17\xae\x63\x18\xb9\x40\xf3\x20\x01\xfe\x2a\x1c\x0c\xf5\xa1\xc3\x5b\x2b\x3d\xe0\xe1\xa5\xd4\x04\x7c\x7c\x49\xe4\x41\x4f\x2d\xfd\xe3\x1d\x2d\xb6\xa9\x9b\x6b\x9f\x82\xe2\xcb\x34\x97\xb3\x94\x82\x12\x37\x59\x7a\x67\x37\xc1\xa8\x04\x3f\xd7\xbc\x57\xf8\xe8\x85\x1f\x5d\x74\xfa\x08\x15\xaa\x0d\xb7\x4d\xe6\x1a\xd5\x33\x33\xb0\x75\xa3\x4e\xff\x4d\x6d\x04\x6f\xd6\xd6\x14\x3e\x7a\x3e\x3f\x82\xc9\xf0\x05\xc9\x42\x8d\xfb\x66\x15\x3e\x86\x33\xab\x8f\x49\x4c\xee\x73\x1a\x51\x64\x3a\xa1\xe1\x3e\x27\xf5\xc1\xdb\x9c\x5e\xc2\x54\xca\x06\x1f\x7f\xe3\xce\x2e\x46\xa4\x9b\xd4\x51\x84\xce\x88\x5a\x6e\xa6\x3d\x12\x4e\x81\xa8\x65\xd2\xb4\x66\x11\xe5\xbe\x91\xb9\x23\xd5\xe3\xc7\x42\x5f\xcc\x48\x40\x51\xc0\xc4\xd0\xc4\x03\xd3\xd3\x8c\xd8\xe2\xb0\xf3\x5e\x5b\xdf\x4d\x47\x76\xee\x99\xb9\x01\x0e\xcc\xbc\x1f\xa4\x7c\x72\xba\x39\xf9\x6f\x00\x00\x00\xff\xff\xbb\xd1\xb3\x7e\x9e\x30\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,7 +97,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc4, 0x3b, 0xb8, 0x17, 0xd3, 0xfa, 0x73, 0xba, 0xe6, 0x8f, 0xe7, 0x32, 0x88, 0xef, 0x79, 0x14, 0x34, 0x32, 0xc5, 0x5, 0xa0, 0xc2, 0x37, 0x84, 0x80, 0x12, 0xd9, 0x7c, 0xa9, 0x8e, 0x2a, 0x22}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x41, 0x65, 0x27, 0xc8, 0xba, 0xcc, 0x2f, 0xe8, 0xd4, 0xf5, 0x8d, 0xcd, 0x93, 0x67, 0xb8, 0xc0, 0x36, 0xd6, 0xad, 0x7b, 0xeb, 0xff, 0x8e, 0xae, 0x53, 0xc9, 0xa, 0xe7, 0x71, 0xf8, 0x92, 0x7c}}
 	return a, nil
 }
 
diff --git a/tests/private_receiver_forwarder_tests.cdc b/tests/private_receiver_forwarder_tests.cdc
index 95588465..0b9eab75 100644
--- a/tests/private_receiver_forwarder_tests.cdc
+++ b/tests/private_receiver_forwarder_tests.cdc
@@ -1,8 +1,6 @@
 import Test
 import "test_helpers.cdc"
 
-// access(all) let blockchain = Test.newEmulatorBlockchain()
-
 access(all) let sourceAccount = blockchain.createAccount()
 access(all) let accounts: {String: Test.TestAccount} = {}
 
diff --git a/tests/scripts/get_vault_data.cdc b/tests/scripts/get_vault_data.cdc
index df12ccc8..9e6d37fd 100644
--- a/tests/scripts/get_vault_data.cdc
+++ b/tests/scripts/get_vault_data.cdc
@@ -21,7 +21,7 @@ access(all) fun main(address: Address): Bool {
     assert(ExampleToken.ReceiverPublicPath == vaultData.receiverPath)
     assert(ExampleToken.VaultPublicPath == vaultData.metadataPath)
     assert(/private/exampleTokenVault == vaultData.providerPath)
-    assert(Type<&ExampleToken.Vault>() == vaultData.receiverLinkedType)
+    assert(Type<&{FungibleToken.Receiver}>() == vaultData.receiverLinkedType)
     assert(Type<&ExampleToken.Vault>() == vaultData.providerLinkedType)
     assert(Type<&ExampleToken.Vault>() == vaultData.metadataLinkedType)
     let vault <- vaultData.createEmptyVault()

From b2edf2fed0b59ab07a87661aa17cac9b2266acbb Mon Sep 17 00:00:00 2001
From: Giovanni Sanchez <108043524+sisyphusSmiling@users.noreply.github.com>
Date: Tue, 7 Nov 2023 11:28:34 -0600
Subject: [PATCH 066/115] update instances of ExampleToken to ExampleToken-v2
 in flow.json & tests

---
 flow.json                   | 2 +-
 tests/switchboard_tests.cdc | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/flow.json b/flow.json
index 20eda13a..e5d595f3 100644
--- a/flow.json
+++ b/flow.json
@@ -27,7 +27,7 @@
       }
     },
     "ExampleToken": {
-      "source": "./contracts/ExampleToken.cdc",
+      "source": "./contracts/ExampleToken-v2.cdc",
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
         "testing": "0x0000000000000007"
diff --git a/tests/switchboard_tests.cdc b/tests/switchboard_tests.cdc
index 5f09cf71..294bcd91 100644
--- a/tests/switchboard_tests.cdc
+++ b/tests/switchboard_tests.cdc
@@ -18,7 +18,7 @@ fun setup() {
 
     err = Test.deployContract(
         name: "ExampleToken",
-        path: "../contracts/ExampleToken.cdc",
+        path: "../contracts/ExampleToken-v2.cdc",
         arguments: []
     )
     Test.expect(err, Test.beNil())

From b77ea969bf79faf53ab39b7f6dae6d6d41247934 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 14 Nov 2023 12:02:17 -0600
Subject: [PATCH 067/115] remove transfer

---
 contracts/ExampleToken-v2.cdc              | 11 -------
 contracts/FungibleToken-v2.cdc             | 29 +-----------------
 lib/go/contracts/internal/assets/assets.go | 35 ++++++++++++++++++----
 3 files changed, 30 insertions(+), 45 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index d7ceeb45..b8787350 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -188,17 +188,6 @@ access(all) contract ExampleToken: ViewResolver {
             destroy vault
         }
 
-        access(FungibleToken.Withdrawable) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
-            let transferVault <- self.withdraw(amount: amount)
-
-            // Get a reference to the recipient's Receiver
-            let receiverRef = receiver.borrow()
-                ?? panic("Could not borrow receiver reference to the recipient's Vault")
-
-            // Deposit the withdrawn tokens in the recipient's receiver
-            receiverRef.deposit(from: <-transferVault)
-        }
-
         /// createEmptyVault
         ///
         /// Function that creates a new Vault with a balance of zero
diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index 48dcb9f5..519558b2 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -140,22 +140,12 @@ access(all) contract FungibleToken {
         }
     }
 
-    access(all) resource interface Transferor {
-        /// Function for a direct transfer instead of having to do a deposit and withdrawal
-        ///
-        access(Withdrawable) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
-            pre {
-                receiver.check(): "Could not borrow a reference to the NFT receiver"
-            }
-        }
-    }
-
     /// Vault
     ///
     /// Ideally, this interface would also conform to Receiver, Balance, Transferor, Provider, and Resolver
     /// but that is not supported yet
     ///
-    access(all) resource interface Vault: Receiver, Transferor, Provider, ViewResolver.Resolver { //,Balance {
+    access(all) resource interface Vault: Receiver, Provider, ViewResolver.Resolver {
 
         /// Get the balance of the vault
         access(all) view fun getBalance(): UFix64
@@ -194,13 +184,6 @@ access(all) contract FungibleToken {
             return nil
         }
 
-        // access(all) view fun getViews(): [Type] {
-        //     pre { true: "dummy" }
-        // }
-        // access(all) fun resolveView(_ view: Type): AnyStruct? {
-        //     pre { true: "dummy" }
-        // }
-
         /// withdraw subtracts `amount` from the Vault's balance
         /// and returns a new Vault with the subtracted balance
         ///
@@ -234,16 +217,6 @@ access(all) contract FungibleToken {
             }
         }
 
-        /// Function for a direct transfer instead of having to do a deposit and withdrawal
-        ///
-        access(Withdrawable) fun transfer(amount: UFix64, receiver: Capability<&{FungibleToken.Receiver}>) {
-            post {
-                self.getBalance() == before(self.getBalance()) - amount:
-                    "New Vault balance from the sender must be the difference of the previous balance and the withdrawn Vault balance"
-                //FungibleToken.emitTransferEvent(amount: amount, from: self.owner?.address, to: receiver.borrow()?.owner?.address, type: self.getType().identifier)
-            }
-        }
-
         /// createEmptyVault allows any user to create a new Vault that has a zero balance
         ///
         access(all) fun createEmptyVault(): @{Vault} {
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 77e011ca..380ced92 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,11 +1,12 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (12.446kB)
+// ../../../contracts/ExampleToken-v2.cdc (11.924kB)
 // ../../../contracts/ExampleToken.cdc (11.958kB)
-// ../../../contracts/FungibleToken-v2.cdc (11.009kB)
+// ../../../contracts/FungibleToken-v2.cdc (9.972kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
+// ../../../contracts/GroupBank.cdc (1.215kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (26.648kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (13.408kB)
@@ -81,7 +82,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x5b\x72\x7a\xc9\xb6\x9a\x38\x69\x9a\xc4\xbb\x3b\xd3\x4e\x33\x89\x9b\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\xa5\xa8\x1e\xff\xf7\x1d\xdc\x48\x80\x04\x65\xd9\xc9\xd3\xea\xc5\x26\x89\x73\x70\xee\x37\x80\x56\x35\x17\x0a\x2e\x1b\xb6\xa6\xab\x12\xaf\xf8\x27\x64\x50\x08\x5e\xc1\x24\x7a\x37\x39\x71\x2b\x7f\x47\x45\x72\xa2\xc8\x5b\x8a\x3b\xe9\x56\x46\xef\xda\x95\x11\x7c\x0a\x6c\x7c\x41\x8b\x43\x3f\xbd\x46\xc9\xcb\x2d\x0a\x07\x15\xbe\x9a\x9c\x9c\x90\x2c\x43\x29\xa7\xa4\x2c\x67\x90\x71\xa6\x04\xc9\x14\xbc\xfc\x4c\xaa\xda\x21\x5e\xc6\x48\xae\x4f\x4e\x00\x00\x16\x8b\x05\x5c\x6d\x10\x70\x8b\x4c\x81\xda\x10\x05\x54\x02\x56\x54\x29\xcc\x61\xb7\x41\x06\x0c\x77\xa0\x34\x06\x09\x44\x20\x54\x94\x29\xcc\x0d\x70\xb8\xa7\x45\x60\x76\x92\xbf\x9b\x25\x53\x52\xf1\x86\xa9\x25\xfc\x79\x49\x3f\x3f\xfa\xe1\x14\xd4\xbe\xc6\x25\xbc\x51\x82\xb2\xf5\x2c\xd8\x9e\x2b\x52\x82\x6c\xea\xba\xdc\x03\x2f\x22\xa2\x25\x50\x06\xf8\x99\x4a\x85\x2c\xc3\xc1\xa6\x5b\x22\x40\x69\xf0\x37\x06\xda\x6f\xd5\xe1\x7e\x96\x57\x94\xc1\x2b\xa2\x36\x03\xd8\x12\x95\xfd\xfc\x46\x71\x41\xd6\xa8\x17\x69\xea\xda\x87\x0e\xcb\x9f\x12\x85\x41\x22\x93\x58\xde\x92\xa6\x54\xa3\x58\x46\x21\x5e\x35\xab\x92\x66\x16\xa0\xfb\x3f\xb9\xfe\x35\x66\x48\xb7\x28\x46\x40\x5a\x42\x2f\x1b\x96\x29\xca\x19\x28\x0e\x02\x55\x23\x18\xa8\x0d\x1a\xc1\x4b\xab\x5c\xfd\xd8\x9a\x07\xd5\x72\xae\x90\xa9\x21\x5f\x5b\x8a\x3b\x28\x1a\x06\x6b\x54\x86\xda\x2b\x8d\x63\x3a\x5b\xc2\x3b\xfd\xdf\x7b\xb8\x36\x20\xfa\xa7\x09\xd4\x3b\x3c\x13\x82\xec\xdb\xef\x17\xf6\x9f\xc7\xbf\x84\xea\x9c\x1b\x54\x4f\xa6\xb3\xf7\x2d\xb4\x27\xd3\x23\x30\x1f\x6e\x4e\x0e\x13\xa4\x7d\x63\x94\x96\xad\xde\xe3\x35\x16\x70\x01\x12\xcb\x62\x4e\xb2\x4c\xdb\xe1\x3c\x23\x35\x59\xd1\x92\x2a\x8a\x72\xbe\xe2\x42\xf0\xdd\xe3\x6f\x52\xd4\x2d\x6a\x23\xda\x05\x06\xdf\xcc\xa7\x59\xbb\x8f\xfe\x3d\x7d\x0a\x35\x61\x34\x9b\x4e\x9e\xf3\xa6\xcc\x81\x71\x05\x16\x2d\x10\x10\x58\xa0\xd0\x36\xab\x55\xa1\x85\x6e\xa8\x02\xe1\x1d\xb6\x43\xd5\x97\x84\x27\x7f\xde\x31\x3a\x26\x13\x2d\x0e\x87\x51\xaf\x9c\x7e\x30\x52\x5a\x82\x96\xca\x6c\x09\xcf\xd8\xfe\x8d\x12\x4d\xa6\x9e\xfe\x8f\x4a\x28\xe4\x5d\x73\x1e\x09\x4a\xfb\x83\xa1\xc9\x3f\xb5\x6f\x5f\x92\x6c\x03\x8d\xf6\x69\xa9\xb8\x40\x09\x84\x01\x65\x52\x11\x4d\x0c\x2f\x80\xb3\x72\x6f\x28\x32\xe0\x3a\x02\xa9\x0d\x52\xbb\x9a\xac\x31\x8a\x9b\x85\xf3\x38\xe9\x96\x39\x18\xc2\x72\x58\xf3\x2d\x0a\x86\x39\xac\x2c\xb6\x5a\xa0\x79\x5f\x73\xa9\xb4\x0f\xe6\xd4\x00\xb6\xe8\x28\xeb\xa5\x1f\x13\x7d\xd5\x06\xf7\x26\xee\x66\xa4\x2c\x31\x9f\x47\xbb\x67\x1b\xcc\x3e\x49\xd8\x90\xba\x46\x06\x44\x81\x68\x98\xa2\x15\x1a\x50\xd4\x61\x9e\xb4\x14\xea\xb8\xde\xc3\xd1\xe2\xd2\x59\xa1\x11\x19\xea\x15\xcc\xf2\xbf\x42\xc8\x04\x12\x9d\x05\x1c\x67\x3a\x6c\xe0\x67\xa5\x25\x14\x45\x11\x1f\x57\xf6\x2d\x3a\x4d\x6e\x8e\x05\x65\x06\xf8\x14\xa4\x51\xb0\x40\x4d\x02\xe3\xb0\x23\x7b\x28\xb8\xa6\xad\x22\x25\xcd\x28\x6f\xa4\x55\x87\xe2\x6e\x4f\x2b\xc5\x4e\x34\xbc\x71\xdb\x52\x06\x84\x8a\x39\x3c\x03\x59\x63\x46\x49\x09\x26\xd7\x08\x63\x36\x9a\x03\x60\x88\xb9\xd4\x98\x56\x1d\x0d\x8a\x9b\xac\xd5\xa2\xeb\x32\x5a\x2c\x8a\xd0\xb7\x5a\x84\x86\x94\x65\xac\x1a\xeb\x07\x3e\x87\x86\x1a\x31\xd9\x08\x56\xa4\xf4\xc6\xa4\x36\x54\x5a\x8b\x6d\xd7\xf6\x33\x98\x5b\x1d\x67\xaf\x60\xa1\xf6\x51\xbb\x52\x1e\x4a\x32\x49\x88\x7a\x3c\xc9\x24\xd7\x0b\x9f\x69\x92\x39\xa6\xb3\x17\xed\x88\xd2\xd8\x81\xa3\x09\x6a\xa2\x36\xda\xee\x04\x06\xde\x2c\x37\xc6\xf1\xd5\xbe\xa6\xda\xf6\x8c\x59\x19\xa7\xcb\xd3\xd2\x08\x82\xfc\x0b\x2c\x7a\x79\x55\x47\xfc\xe0\x31\x8c\x6a\x41\x74\x30\x11\x4d\x26\x64\x73\x33\xce\x83\x95\x52\xcc\x82\x57\x9b\xe7\x61\x43\xb6\x08\xc4\x2f\x6d\x43\xe5\xfe\x58\x46\x3a\x59\x6a\x3e\xba\xa7\x43\x6c\xd4\x43\x8d\xdd\x93\x8b\xff\x97\x6d\x11\xf1\xb5\x18\x7a\x1d\x98\xca\xf1\x2c\x85\x06\x96\x62\xea\xee\x39\x3f\xd8\xe1\x5d\xf4\x52\xff\x4c\x0d\x32\x5e\x60\xcf\x2f\xaf\xf4\xdf\x27\xd3\xd9\xe9\x3d\x40\x5f\x50\x59\x97\x64\x7f\x4f\x68\x13\x43\x5e\x10\x45\xee\x05\x7f\xd5\x95\xbd\x4f\xa6\x71\xda\x7d\x7f\x9b\x5c\xef\x53\x37\xe8\x9f\xdc\x51\x95\x6d\xac\x5a\xae\x07\x14\x67\x44\xe2\xf1\xf2\x5e\x0e\xe0\x03\x3d\xde\x8a\x60\x9a\x84\xd6\xbf\x42\x39\xad\x2c\xbd\xbd\x75\x7c\xde\x45\xa3\x33\x20\xf2\xc1\x61\x42\xdc\xe2\xa7\x43\xe5\x75\xc4\xb4\x4a\xbe\x17\x39\xa1\x89\x1c\x41\x50\xbb\xfc\x69\x92\xa2\xd9\x7d\x55\xd6\x49\x25\xad\x35\x5d\x53\x56\x98\x53\x02\x17\x71\x5f\x3c\xff\x5d\xbf\x1d\x57\x96\x91\x11\x2d\x71\xd9\x03\xfb\xd7\xd5\xd5\xab\x4b\x5a\xe2\x61\xc8\x46\x94\x4b\x98\x6c\x94\xaa\xe5\x72\xb1\x20\x52\xa2\x92\xf3\x1d\xae\x24\x55\x78\xa6\xd1\xca\x79\xc6\xab\xc5\x8f\xc5\xa3\xef\x7e\xfe\x21\x3b\xcf\xfe\x41\x7e\xca\xf2\xfc\xd1\x0f\xdf\xaf\x1e\x66\x3f\x7d\x77\xde\xfb\x40\x7e\xfc\x31\x5b\x3d\xcc\x7e\xfe\xfe\xd1\x87\xcb\x92\xef\x3e\xfc\xc5\x45\x5e\x11\xf1\x69\x2e\xb7\xeb\xc9\x28\x1d\x09\xcf\xf5\x3f\x23\x91\x2b\xd3\xf3\x4e\x68\x45\xd6\xb8\x90\xdb\xf5\xb7\x9f\xab\x32\x8d\x6d\xa8\x9d\x48\xb4\x32\x2d\x5b\x39\x7d\x67\x3e\xbf\x4f\x83\x1f\xe3\x4f\x4e\xbb\xe3\xb2\x66\xa4\xd2\x3c\xb8\x46\xa0\x45\x66\x9b\xfd\xc9\xb8\x00\xe4\xbe\x5a\x71\xad\xa2\x97\x97\x57\x07\x96\xe5\x28\x33\x41\x6b\x5d\xa3\x2e\x61\x72\xa5\x53\x56\xe1\xb7\x30\x55\x9a\x2e\x1b\x1b\x89\x39\x10\x53\xaa\xbb\xa6\x43\x57\x75\x1b\x2c\x6b\xd8\xf3\x06\x72\xdc\x62\xc9\xcd\xff\x02\x98\xae\x52\x2f\xaf\xe0\xff\x38\xd3\x9a\x9c\x1f\xd8\x1b\x3f\x2b\x14\x8c\x94\x7f\xbe\xfe\xad\x6f\x83\x2f\xbb\x4f\xd3\xd6\xc8\xdc\xde\x67\x85\x9a\x73\x56\x68\xe4\x5c\xac\x27\x07\x8c\xa0\xe4\x6b\x2e\x97\x4e\x85\x07\x44\xc5\x75\x31\x2b\x97\x89\xb0\x1a\xfe\x26\x6a\x47\x95\x42\x31\x39\x8a\x58\xb7\xd8\x38\x81\xa6\xf5\xc3\xaa\xe4\xd9\xa7\x6c\x43\x28\x9b\xa4\xcd\x05\x4c\xce\x48\xbd\xbd\x77\xec\x08\x43\xd8\x78\xf4\x08\x3a\xd2\xa8\xdf\xf4\x9d\xa9\xab\xe7\x0e\x36\xa5\x85\xe0\xd5\x72\x50\xfe\x8d\x33\x7a\xb7\xee\xd4\x56\xad\x96\xd0\x11\xe9\x1d\x95\xbc\xbc\x38\xc6\xdd\x2d\x2a\xf2\xfb\xec\x8c\x9b\x50\x5c\xb9\x0f\x6a\xad\x43\x71\xca\x92\x18\x00\x76\x75\xe7\x38\x58\x2d\xf8\x96\xe6\x7e\xbf\x45\x2d\xe8\x96\x28\x1c\x8e\x04\x6e\xa7\xf8\x37\xca\x3e\x61\x6e\x23\xa5\x31\xa8\x6f\xae\xe3\x6e\xcb\x57\x9a\x37\xc9\x4a\xa9\xcf\xc7\x10\x5d\x72\x04\x75\x3b\x67\x5f\x8c\xc8\x36\xb3\x2f\xab\x5a\xed\xcd\x62\x3f\x9e\x5b\xc2\xb4\x68\x98\x2e\x66\x7f\xb9\x4e\xf4\x95\x37\xb7\x44\x01\x67\x67\x8f\xcf\xda\x41\x48\x7f\xa3\xe9\x01\xf7\x4e\x7f\xba\xa7\x7f\xc7\x55\xe8\x7d\x6b\xba\x00\xcb\xb8\x5b\x44\x73\xde\x48\x11\xc1\x97\x23\x78\xbb\x49\x35\x0e\x8c\x96\x63\x1d\xd6\x1a\x95\xc6\xcd\x85\xc2\xbc\x9b\x84\x02\x37\x09\xcb\xf4\xb4\xc2\xf5\x60\x04\x4a\x2a\xcd\xa0\xc2\x36\x8e\xd1\xd8\x95\xca\xd6\xde\x4d\x2d\x5e\xbb\xf1\x06\x1c\xe8\x79\x12\xfb\x6a\xa3\xb9\xb6\x26\xf9\x2b\xe7\x65\xdf\x54\x74\x2c\x95\x1e\xca\x00\xf4\x96\x5f\xc0\x75\x2c\x80\x78\xf5\x3b\xe3\xfe\x6b\x34\x9b\x4d\x67\xef\xe1\x02\x94\x68\x30\xd9\xcd\x45\x80\x47\xb7\x72\x54\x0e\xb9\x9a\xaa\xd6\xc7\x66\x96\xd0\x03\x0d\xe4\x98\x5c\xde\x29\xd3\x17\x3e\x7d\x0a\x05\x29\x25\xa6\xd5\x09\x94\x51\x45\x49\x49\xff\xb6\x53\x0a\x3f\xa8\x21\xaa\x1b\xf8\x18\x67\x32\x43\x74\x5a\x75\x68\x34\xe0\xb4\x37\xa9\x99\xf5\xfb\x23\x4d\x9f\x47\x79\xe1\x91\x0f\x14\x44\x73\x64\x8a\x16\x14\x05\x5c\xc0\x64\x10\x30\x27\x43\x9c\x41\x02\x80\x8b\x70\x06\x32\xed\x70\x2d\x03\xbc\xb3\x07\x43\x1c\x5d\x4c\x87\x8b\xa0\x57\xbf\x03\x86\x30\x9d\x8c\xe3\x88\x18\xf2\x91\x7b\x12\xe0\xeb\xf9\xd7\x3f\x51\x45\xaa\x70\xe3\xc5\x03\x23\xb3\xc0\x43\x7e\xb5\x40\xda\x2b\xac\x4a\x0e\x18\x4e\x5f\x1d\x3d\x3a\x76\x54\x6d\x72\x41\x76\xe1\xcb\x68\x41\x77\xb8\x62\x3c\x9a\x7c\xb2\x93\x63\x7b\xca\xe5\x6a\x53\x22\xd6\x4d\x85\x4c\x45\x80\x84\xe5\x2d\x76\x17\x0f\x1c\x90\x39\xc9\x6b\xa7\xc6\xf3\xd1\xad\xff\xad\x5c\x2e\xd1\x41\xc6\x4c\x2f\xb1\xaa\xb9\x20\x62\xef\xe6\xcd\xfe\xe0\xce\x94\xc9\xba\x30\xe6\x65\x1e\x61\x30\xc7\x40\xf6\x44\xcd\x12\x20\x10\x56\x48\xd9\x1a\x94\x20\x4c\x16\x28\x04\xe6\x73\xbd\x91\x08\x26\x4a\x0c\x77\x41\x4c\xd5\x78\xfc\x4c\xd8\x6d\xcb\xa3\xc9\xb0\xc1\x6c\x67\xcc\x20\x39\x50\x65\xc6\xc9\x66\x10\x5b\x73\xdd\x95\xc5\x34\x61\x29\xd1\xcc\xa9\xd2\x8c\x3b\x9d\xc7\x09\xf2\x2f\x27\x47\xb2\x2a\xd1\x0e\x32\xbc\x64\x7b\xc7\x8d\x3a\xb9\x0e\xd3\xf5\x61\x87\x8d\x1e\xcf\x9c\x92\x52\xf6\xf4\xf8\x2c\x9c\x53\x77\x61\xc1\x42\xcc\xc6\x4c\xcc\x89\xe1\x6e\x16\xe6\x44\xcd\x57\xff\xc1\xac\x6f\x66\xc6\xb4\x48\x9e\xcb\x08\x0d\x55\xb2\xf5\x26\xa7\xa1\x9e\x73\xf1\x1d\x43\x21\x8f\xb0\x3a\x2a\x81\x94\x25\xdf\x59\xab\xca\x51\x2a\xc1\xed\x69\x86\xd4\xdb\x5b\xd2\x56\x98\x91\x46\x62\x67\xc8\xb1\x5f\x69\x92\x03\x83\xd5\xa6\x89\xc2\x53\xe2\xc6\xf0\x66\x76\xfe\xd6\x0d\x2a\x3d\xb1\x1b\x12\xf3\xb5\x42\x64\xda\xd6\x64\x53\xe9\x66\x90\xe5\xf6\x54\xa1\xe0\xe6\x74\xc4\x19\x9a\xa1\xd0\x9f\x71\x8c\x98\x54\x3b\x04\x73\x0a\x71\xad\x43\xba\x18\xeb\x07\xf9\xb6\x5d\x81\xc7\x67\xd6\x81\x89\x7c\x90\xb2\xb5\xa3\x2d\xed\x5b\x8b\x6f\x10\xa0\xf4\x2f\xfa\x02\x17\x70\x3e\x3f\x8f\xbe\x7b\x95\xc4\xe1\x72\x98\x84\x6f\xf3\x22\x1f\x05\x06\x87\xf6\x3e\xe8\x2f\xe1\x79\x3b\x21\x3e\x50\xa0\xa7\xa4\xe5\x71\xbf\xf5\x52\x33\xdc\x0f\xfc\xd6\x3b\x4f\x04\xef\x12\x44\xa2\x21\x13\x98\xd1\x9a\x22\x0b\x47\xdb\x83\xad\x3d\xf5\xb6\xb5\xf4\x4f\xae\x8d\x4c\x54\xc9\x07\x7a\xc2\xb6\x7a\x3b\x48\xc9\x5b\xd7\x1f\xf6\x99\x78\x61\x2d\xcd\xac\xf7\x9c\x33\x1f\x91\xdd\x01\x5b\x88\x47\xa4\x38\x0a\xb8\x99\xc7\xa6\xfb\xf8\x2c\x12\xf2\x68\x04\xea\x37\x0a\x47\x86\xa2\x38\xf9\x58\x3d\x6a\x2e\x80\x84\x91\xe5\x6f\x14\x7c\x90\xf8\x7c\x3a\xa1\x5d\xb6\x20\x65\xa9\x13\x8f\xcb\x1a\x73\x78\x66\x4f\xff\xaa\x46\xda\xec\x61\xab\x65\x7f\x6e\x39\xc0\x68\x3a\x71\x27\x30\x8d\xbb\xcd\x46\xfd\x83\x5a\xfd\x82\x8b\xdc\x1e\x2c\x9a\x30\x66\xbf\xc7\x18\xed\x84\xc1\x9d\x18\x12\x3b\x74\xf2\x92\xf6\x01\x42\xb6\x27\x79\x76\x20\xa5\x4b\xcd\xe3\x22\xcc\xb0\x33\x3b\x26\x2f\xdd\x92\x66\xce\xe7\xe7\x23\x1a\x86\xab\x3f\x5e\xfc\xb1\x84\xd7\xb8\xa5\xda\xda\x68\x01\x02\x2b\xbe\x25\xa5\x66\x20\x6b\xa4\xe2\x95\x0d\x19\x4d\xa6\xb8\x90\x50\x13\x29\x31\x8c\xb2\xf0\x06\x11\xfc\x00\x69\x4d\xd5\xa6\x59\x99\xf9\x91\x9d\x76\x2d\x8a\x92\xd6\x72\x51\x37\x65\xb9\x78\xf8\xfd\xc3\x16\xce\x45\xa1\x69\xdf\xfb\x69\x11\x47\xba\x27\x9a\xf4\x44\x77\x3b\xd6\xce\xf5\xc7\x41\xe1\xa7\xb3\x74\x55\x07\x51\x8b\x67\xff\x0b\x6e\x04\xd8\xe3\xe2\x13\x18\x39\x00\xf7\x69\xd6\x26\x60\xa3\x6b\x62\xae\x10\x39\x33\xb1\x07\xe4\x3a\x85\xf9\x43\xe5\xbb\x1d\x26\xbb\xd3\xea\xeb\xc8\x04\x35\x1a\x7b\xdb\xe9\x48\x77\xd4\x00\x32\xd8\xf8\xd4\xd4\x00\xda\xb8\x2b\xef\x64\x2a\xb8\x54\x75\x3a\xea\x94\x21\x44\xdf\x2d\x8f\x32\xef\x8e\xf4\xfb\x94\x5f\xf7\x51\xfb\xb7\xa9\xb2\x0c\x2b\x3a\x72\xf7\xcc\xfe\xf5\x77\xcf\xe2\xee\x76\x1e\xb4\x3b\x5f\x56\xe5\xf5\x8c\x2c\x19\x65\x43\x73\xfb\xa2\xe8\xfa\x75\x23\xeb\xd7\x8d\xaa\x5f\x21\xa2\xa6\xfc\xe7\x7e\x91\xb4\x55\x23\xdc\x12\x46\x6f\x52\x37\xe8\xb4\x66\x5c\x5c\xeb\xaa\x70\x7f\x4d\xe8\x14\xb0\x28\x30\x53\x74\x8b\xe5\x1e\x56\x8d\x60\xa6\x95\xea\x0a\xda\x81\xca\x7f\xa9\x89\x20\x15\xd8\x74\xdd\x56\xbb\xc1\xd4\x81\x33\x45\x68\x0f\x8d\x91\x61\x23\x58\x0f\xdb\x17\x44\xf9\xc5\x02\xfe\xa2\x65\x69\xae\xc9\x18\x05\xe6\xba\x92\x86\xa6\xce\xb5\x80\xb4\x1d\x05\x81\xc3\x43\xdc\x39\x27\xf4\x75\xa7\x79\x70\x61\xc2\x95\xda\x43\xc5\x85\xb9\xc3\x57\xb5\x7a\x71\xa8\x21\x33\x84\x09\x17\x1a\x87\x8e\x23\xc7\xc3\xf3\x73\x5d\x24\xc7\x4b\xfa\x17\x3d\xe1\x02\x16\xce\x9e\xa3\x89\xb5\xbd\x2f\x1a\x65\xd4\xe7\xd6\x76\xba\xbb\x5d\xc6\x35\xfb\x31\xd6\x98\xb3\xbb\x24\xab\xbd\x89\x6c\x51\x3b\x26\x65\xd1\xad\x31\x8b\xb2\xfd\x37\x6a\x25\xd2\x36\xda\x67\x70\x16\xf3\xd5\xbf\x7a\x0a\x17\xae\x63\x18\xb9\x40\xf3\x20\x01\xfe\x2a\x1c\x0c\xf5\xa1\xc3\x5b\x2b\x3d\xe0\xe1\xa5\xd4\x04\x7c\x7c\x49\xe4\x41\x4f\x2d\xfd\xe3\x1d\x2d\xb6\xa9\x9b\x6b\x9f\x82\xe2\xcb\x34\x97\xb3\x94\x82\x12\x37\x59\x7a\x67\x37\xc1\xa8\x04\x3f\xd7\xbc\x57\xf8\xe8\x85\x1f\x5d\x74\xfa\x08\x15\xaa\x0d\xb7\x4d\xe6\x1a\xd5\x33\x33\xb0\x75\xa3\x4e\xff\x4d\x6d\x04\x6f\xd6\xd6\x14\x3e\x7a\x3e\x3f\x82\xc9\xf0\x05\xc9\x42\x8d\xfb\x66\x15\x3e\x86\x33\xab\x8f\x49\x4c\xee\x73\x1a\x51\x64\x3a\xa1\xe1\x3e\x27\xf5\xc1\xdb\x9c\x5e\xc2\x54\xca\x06\x1f\x7f\xe3\xce\x2e\x46\xa4\x9b\xd4\x51\x84\xce\x88\x5a\x6e\xa6\x3d\x12\x4e\x81\xa8\x65\xd2\xb4\x66\x11\xe5\xbe\x91\xb9\x23\xd5\xe3\xc7\x42\x5f\xcc\x48\x40\x51\xc0\xc4\xd0\xc4\x03\xd3\xd3\x8c\xd8\xe2\xb0\xf3\x5e\x5b\xdf\x4d\x47\x76\xee\x99\xb9\x01\x0e\xcc\xbc\x1f\xa4\x7c\x72\xba\x39\xf9\x6f\x00\x00\x00\xff\xff\xbb\xd1\xb3\x7e\x9e\x30\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x47\x72\x7a\xc9\xb6\x9a\x38\x6e\xda\xc4\xbb\x3b\xd3\x4e\x33\x89\xdb\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x9d\x03\x80\x24\xc0\x8b\x2c\x3b\x79\x5a\xbe\xd8\x22\x71\x0e\xce\xfd\x06\xf0\xa2\x94\xca\xc0\x65\x25\xd6\x7c\x95\xe3\x95\xfc\x84\x02\x32\x25\x0b\x98\x44\xef\x26\x27\x7e\xe5\x6f\x68\x58\xca\x0c\xfb\x93\xe3\x4e\xfb\x95\xd1\xbb\x66\x65\x04\x3f\x04\x36\xbe\xa0\xc1\x41\xbf\xde\xa0\x96\xf9\x16\x95\x87\x0a\x5f\x4d\x4e\x4e\x58\x92\xa0\xd6\x53\x96\xe7\x33\x48\xa4\x30\x8a\x25\x06\x5e\x5d\xb3\xa2\xf4\x88\x97\x31\x92\x9b\x93\x13\x00\x80\xc5\x62\x01\x57\x1b\x04\xdc\xa2\x30\x60\x36\xcc\x00\xd7\x80\x05\x37\x06\x53\xd8\x6d\x50\x80\xc0\x1d\x18\xc2\xa0\x81\x29\x84\x82\x0b\x83\xa9\x05\x0e\xf7\x74\x08\xec\x4e\xfa\x37\xbb\x64\xca\x0a\x59\x09\xb3\x84\x3f\x2e\xf9\xf5\xd3\xef\x4e\xc1\xec\x4b\x5c\xc2\x5b\xa3\xb8\x58\xcf\x82\xed\xa5\x61\x39\xe8\xaa\x2c\xf3\x3d\xc8\x2c\x22\x5a\x03\x17\x80\xd7\x5c\x1b\x14\x09\xf6\x36\xdd\x32\x05\x86\xc0\xdf\x5a\xe8\x7a\xab\x16\xf7\x8b\xb4\xe0\x02\x5e\x33\xb3\xe9\xc1\xe6\x68\xdc\xe7\xb7\x46\x2a\xb6\x46\x5a\x44\xd4\x35\x3f\x5a\x2c\x7f\x68\x54\x16\x89\x1e\xc4\xf2\x27\xab\x72\x33\x8a\x65\x14\xe2\x75\xb5\xca\x79\xe2\x00\xda\xff\x07\xd7\xbf\xc1\x04\xf9\x16\xd5\x08\x48\x43\xe8\x65\x25\x12\xc3\xa5\x00\x23\x41\xa1\xa9\x94\x00\xb3\x41\x2b\x78\xed\x94\x4b\x3f\x1b\xf3\xe0\x24\xe7\x02\x85\xe9\xf3\xb5\xe5\xb8\x83\xac\x12\xb0\x46\x63\xa9\xbd\x22\x1c\xd3\xd9\x12\xde\xd1\x7f\xef\xe1\xc6\x82\xd0\x43\x04\xd2\x0e\x2f\x94\x62\xfb\xe6\xfb\xb9\xfb\xe7\xd9\x4f\xa1\x3a\xe7\x16\xd5\xf3\xe9\xec\x7d\x03\x5d\x93\x59\x23\xb0\x1f\x6e\x4f\x0e\x13\x44\xbe\x31\x4a\xcb\x96\xf6\x78\x83\x19\x9c\x83\xc6\x3c\x9b\xb3\x24\x21\x3b\x9c\x27\xac\x64\x2b\x9e\x73\xc3\x51\xcf\x57\x52\x29\xb9\x7b\xf6\xd5\x10\x75\x8b\xd2\x8a\x76\x81\xc1\x37\xfb\x69\xd6\xec\x43\xcf\xc5\x05\x94\x4c\xf0\x64\x3a\xf9\x45\x56\x79\x0a\x42\x1a\x70\x68\x81\x81\xc2\x0c\x15\xd9\x2c\xa9\x82\x84\x6e\xa9\x02\x55\x3b\x6c\x8b\xaa\x2b\x89\x9a\xfc\x79\xcb\xe8\x98\x4c\x48\x1c\x1e\x23\xad\x9c\x7e\xb0\x52\x5a\x02\x49\x65\xb6\x84\x17\x62\xff\xd6\xa8\x2a\x31\x17\xff\xa3\x12\x0a\x79\x27\xce\x23\x41\x91\x3f\x58\x9a\xea\x5f\xcd\xdb\x57\x2c\xd9\x40\x45\x3e\xad\x8d\x54\xa8\x81\x09\xe0\x42\x1b\x46\xc4\xc8\x0c\xa4\xc8\xf7\x96\x22\x0b\x4e\x11\xc8\x6c\x90\xbb\xd5\x6c\x8d\x51\xdc\xcc\xbc\xc7\x69\xbf\xcc\xc3\x30\x91\xc2\x5a\x6e\x51\x09\x4c\x61\xe5\xb0\x95\x0a\xed\xfb\x52\x6a\x43\x3e\x98\x72\x0b\xd8\xa0\xe3\xa2\x93\x7e\x6c\xf4\x35\x1b\xdc\xdb\xb8\x9b\xb0\x3c\xc7\x74\x1e\xed\x9e\x6c\x30\xf9\xa4\x61\xc3\xca\x12\x05\x30\x03\xaa\x12\x86\x17\x68\x41\x91\xc2\x3c\x6b\x28\xa4\xb8\xde\xc1\xd1\xe0\xa2\xac\x50\xa9\x04\x69\x85\x70\xfc\xaf\x10\x12\x85\x8c\xb2\x80\xe7\x8c\xc2\x06\x5e\x1b\x92\x50\x14\x45\xea\xb8\xb2\x6f\xd0\x11\xb9\x29\x66\x5c\x58\xe0\x53\xd0\x56\xc1\x0a\x89\x04\x21\x61\xc7\xf6\x90\x49\xa2\xad\x60\x39\x4f\xb8\xac\xb4\x53\x87\x91\x7e\x4f\x27\xc5\x56\x34\xb2\xf2\xdb\x72\x01\x8c\xab\x39\xbc\x00\x5d\x62\xc2\x59\x0e\x36\xd7\x28\x6b\x36\xc4\x01\x08\xc4\x54\x13\xa6\x55\x4b\x83\x91\x36\x6b\x35\xe8\xda\x8c\x16\x8b\x22\xf4\xad\x06\xa1\x25\x65\x19\xab\xc6\xf9\x41\x9d\x43\x43\x8d\xd8\x6c\x04\x2b\x96\xd7\xc6\x64\x36\x5c\x3b\x8b\x6d\xd6\x76\x33\x98\x5f\x1d\x67\xaf\x60\x21\xf9\xa8\x5b\xa9\x0f\x25\x99\x41\x88\x72\x3c\xc9\x0c\xae\x57\x75\xa6\x19\xcc\x31\xad\xbd\x90\x23\x6a\x6b\x07\x9e\x26\x28\x99\xd9\x90\xdd\x29\x0c\xbc\x59\x6f\xac\xe3\x9b\x7d\xc9\xc9\xf6\xac\x59\x59\xa7\x4b\x87\xa5\x11\x04\xf9\x97\x98\x75\xf2\x2a\x45\xfc\xe0\x67\x18\xd5\x82\xe8\x60\x23\x9a\x1e\x90\xcd\xed\x38\x0f\x4e\x4a\x31\x0b\xb5\xda\x6a\x1e\x36\x6c\x8b\xc0\xea\xa5\x4d\xa8\xdc\x1f\xcb\x48\x2b\x4b\xe2\xa3\xfd\x75\x88\x8d\xb2\xaf\xb1\x07\x72\xf1\xff\xba\x29\x22\xbe\x14\x43\x6f\x02\x53\x39\x9e\xa5\xd0\xc0\x86\x98\xba\x7f\xce\x0f\x76\x78\x17\xbd\xa4\xc7\xd6\x20\xe3\x05\xf6\xfc\xf2\x8a\xfe\x3e\x9f\xce\x4e\x1f\x00\xfa\x92\xeb\x32\x67\xfb\x07\x42\xdb\x18\xf2\x92\x19\xf6\x20\xf8\xab\xb6\xec\x7d\x3e\x8d\xd3\xee\xfb\xbb\xe4\xfa\x90\xba\x81\x1e\xbd\xe3\x26\xd9\x38\xb5\xdc\xf4\x28\x4e\x98\xc6\xe3\xe5\xbd\xec\xc1\x07\x7a\xbc\x13\xc1\x74\x10\x9a\x9e\xcc\x78\xad\x2c\x6b\x7b\x6b\xf9\xbc\x8f\x46\x67\xc0\xf4\xa3\xc3\x84\xf8\xc5\x17\x7d\xe5\xb5\xc4\x34\x4a\x7e\x10\x39\xa1\x89\x1c\x41\x50\xb3\xfc\x62\x90\xa2\xd9\x43\x55\xd6\x4a\x65\x58\x6b\x54\x53\x16\x98\x72\x06\xe7\x71\x5f\x3c\xff\x8d\xde\x8e\x2b\xcb\xca\x88\xe7\xb8\xec\x80\xfd\xeb\xea\xea\xf5\x25\xcf\xf1\x30\x64\xa5\xf2\x25\x4c\x36\xc6\x94\x7a\xb9\x58\x30\xad\xd1\xe8\xf9\x0e\x57\x9a\x1b\x7c\x4c\x68\xf5\x3c\x91\xc5\xe2\xfb\xec\xe9\x37\x3f\x7e\x97\x9c\x25\xff\x60\x3f\x24\x69\xfa\xf4\xbb\x6f\x57\x4f\x92\x1f\xbe\x39\xeb\x7c\x60\xdf\x7f\x9f\xac\x9e\x24\x3f\x7e\xfb\xf4\xc3\x65\x2e\x77\x1f\xfe\x92\x2a\x2d\x98\xfa\x34\xd7\xdb\xf5\x64\x94\x8e\x01\xcf\xad\x1f\x2b\x91\x2b\xdb\xf3\x4e\x78\xc1\xd6\xb8\xd0\xdb\xf5\xd7\xd7\x45\x3e\x8c\xad\xaf\x9d\x48\xb4\x7a\x58\xb6\x7a\xfa\xce\x7e\x7e\x3f\x0c\x7e\x8c\x3f\x79\xed\x8e\xcb\x5a\xb0\x82\x78\xf0\x8d\x40\x83\xcc\x35\xfb\x93\x71\x01\xe8\x7d\xb1\x92\xa4\xa2\x57\x97\x57\x07\x96\xa5\xa8\x13\xc5\x4b\xaa\x51\x97\x30\xb9\xa2\x94\x95\xd5\x5b\xd8\x2a\x8d\xca\xc6\x4a\x63\x0a\xcc\x96\xea\xbe\xe9\xa0\xaa\x6e\x83\x79\x09\x7b\x59\x41\x8a\x5b\xcc\xa5\xfd\x5f\x81\xa0\x2a\xf5\xf2\x0a\xfe\x4f\x0a\xd2\xe4\xfc\xc0\xde\x78\x6d\x50\x09\x96\xff\xf1\xe6\xd7\xae\x0d\xbe\x6a\x3f\x4d\x1b\x23\xf3\x7b\x3f\xce\xcc\x5c\x8a\x8c\x90\x4b\xb5\x9e\x1c\x30\x82\x5c\xae\xa5\x5e\x7a\x15\x1e\x10\x95\xa4\x62\x56\x2f\x07\xc2\x6a\xf8\x4c\xcc\x8e\x1b\x83\x6a\x72\x14\xb1\x7e\xb1\x75\x02\xa2\xf5\xc3\x2a\x97\xc9\xa7\x64\xc3\xb8\x98\x0c\x9b\x0b\xd8\x9c\x31\xf4\xf6\xc1\xb1\x23\x0c\x61\xe3\xd1\x23\xe8\x48\xa3\x7e\xb3\xee\x4c\x7d\x3d\x77\xb0\x29\xcd\x94\x2c\x96\xbd\xf2\x6f\x9c\xd1\xfb\x75\xa7\xae\x6a\x75\x84\x8e\x48\xef\xa8\xe4\x55\x8b\x63\xdc\xdd\xa2\x22\xbf\xcb\xce\xb8\x09\xc5\x95\x7b\xaf\xd6\x3a\x14\xa7\x1c\x89\x01\x60\x5b\x77\x8e\x83\x95\x4a\x6e\x79\x5a\xef\xb7\x28\x15\xdf\x32\x83\xfd\x91\xc0\xdd\x14\xff\xca\xc5\x27\x4c\x5d\xa4\xb4\x06\xf5\xd5\x4d\xdc\x6d\xd5\x95\xe6\xed\x60\xa5\xd4\xe5\xa3\x8f\x6e\x70\x04\x75\x37\x67\x9f\x8d\xc8\x35\xb3\xaf\x8a\xd2\xec\xed\xe2\x7a\x3c\xb7\x84\x69\x56\x09\x2a\x66\x7f\xba\x19\xe8\x2b\x6f\xef\x88\x02\xde\xce\x9e\x3d\x6e\x06\x21\xdd\x8d\xa6\x07\xdc\x7b\xf8\xd3\x03\xfd\x3b\xae\x42\x1f\x5a\xd3\x05\x58\xc6\xdd\x22\x9a\xf3\x46\x8a\x08\xbe\x1c\xc1\xdb\xed\x50\xe3\x20\x78\x3e\xd6\x61\xad\xd1\x10\x6e\xa9\x0c\xa6\xed\x24\x14\xa4\x4d\x58\xb6\xa7\x55\xbe\x07\x63\x90\x73\x6d\x07\x15\xae\x71\x8c\xc6\xae\x5c\x37\xf6\x6e\x6b\xf1\xd2\x8f\x37\xe0\x40\xcf\x33\xb0\x2f\x19\xcd\x8d\x33\xc9\x9f\xa5\xcc\xbb\xa6\x42\xb1\x54\xd7\x50\x16\xa0\xb3\xfc\x1c\x6e\x62\x01\xc4\xab\xdf\x59\xf7\x5f\xa3\xdd\x6c\x3a\x7b\x0f\xe7\x60\x54\x85\x83\xdd\x5c\x04\x78\x74\x2b\xc7\x75\x9f\xab\xa9\x69\x7c\x6c\xe6\x08\x3d\xd0\x40\x8e\xc9\xe5\x9d\xb1\x7d\xe1\xc5\x05\x64\x2c\xd7\x38\xac\x4e\xe0\x82\x1b\xce\x72\xfe\xb7\x9b\x52\xd4\x83\x1a\x66\xda\x81\x8f\x75\x26\x3b\x44\xe7\x45\x8b\x86\x00\xa7\x9d\x49\xcd\xac\xdb\x1f\x11\x7d\x35\xca\xf3\x1a\x79\x4f\x41\x3c\x45\x61\x78\xc6\x51\xc1\x39\x4c\x7a\x01\x73\xd2\xc7\x19\x24\x00\x38\x0f\x67\x20\xd3\x16\xd7\x32\xc0\x3b\x7b\xd4\xc7\xd1\xc6\x74\x38\x0f\x7a\xf5\x7b\x60\x08\xd3\xc9\x38\x8e\x88\xa1\x3a\x72\x4f\x02\x7c\x1d\xff\xfa\x27\x9a\x48\x15\x7e\xbc\x78\x60\x64\x16\x78\xc8\xcf\x0e\x88\xbc\xc2\xa9\xe4\x80\xe1\x74\xd5\xd1\xa1\x63\xc7\xcd\x26\x55\x6c\x17\xbe\x8c\x16\xb4\x87\x2b\xd6\xa3\xd9\x27\x37\x39\x76\xa7\x5c\xbe\x36\x65\x6a\x5d\x15\x28\x4c\x04\xc8\x44\xda\x60\xf7\xf1\xc0\x03\xd9\x93\xbc\x66\x6a\x3c\x1f\xdd\xfa\xdf\xc6\xe7\x12\x0a\x32\x76\x7a\x89\x45\x29\x15\x53\x7b\x3f\x6f\xae\x0f\xee\x6c\x99\x4c\x85\xb1\xcc\xd3\x08\x83\x3d\x06\x72\x27\x6a\x8e\x00\x85\xb0\x42\x2e\xd6\x60\x14\x13\x3a\x43\xa5\x30\x9d\xd3\x46\x2a\x98\x28\x09\xdc\x05\x31\x95\xf0\xd4\x33\x61\xbf\xad\x8c\x26\xc3\x16\xb3\x9b\x31\x83\x96\xc0\x8d\x1d\x27\xdb\x41\x6c\x29\xa9\x2b\x8b\x69\xc2\x5c\xa3\x9d\x53\x0d\x33\xee\x75\x1e\x27\xc8\xbf\xbc\x1c\xd9\x2a\x47\x37\xc8\xa8\x25\xdb\x39\x6e\xa4\xe4\xda\x4f\xd7\x87\x1d\x36\xfa\xf9\xd8\x2b\x69\xc8\x9e\x9e\x3d\x0e\xe7\xd4\x6d\x58\x70\x10\xb3\x31\x13\xf3\x62\xb8\x9f\x85\x79\x51\xcb\xd5\x7f\x30\xe9\x9a\x99\x35\x2d\x96\xa6\x3a\x42\xc3\x8d\x6e\xbc\xc9\x6b\xa8\xe3\x5c\x72\x27\x50\xe9\x23\xac\x8e\x6b\x60\x79\x2e\x77\xce\xaa\x52\xd4\x46\x49\x77\x9a\xa1\x69\x7b\x47\xda\x0a\x13\x56\x69\x6c\x0d\x39\xf6\x2b\x22\x39\x30\x58\x32\x4d\x54\x35\x25\x7e\x0c\x6f\x67\xe7\x7f\xfa\x41\x65\x4d\xec\x86\xc5\x7c\xad\x10\x05\xd9\x9a\xae\x0a\x6a\x06\x45\xea\x4e\x15\x32\x69\x4f\x47\xbc\xa1\x59\x0a\xeb\x33\x8e\x11\x93\x6a\x86\x60\x5e\x21\xbe\x75\x18\x2e\xc6\xba\x41\xbe\x69\x57\xe0\xd9\x63\xe7\xc0\x4c\x3f\x1a\xb2\xb5\xa3\x2d\xed\x6b\x87\xaf\x17\xa0\xe8\x89\xbe\xc0\x39\x9c\xcd\xcf\xa2\xef\xb5\x4a\xe2\x70\xd9\xb1\xbb\x6e\x79\x78\xa4\x01\xc6\x21\xc7\xe9\x9a\xbc\x0d\x58\x68\x4f\x7f\xa3\x92\xbd\x70\x57\x07\x11\xde\xc6\x08\x96\xe7\x14\x6e\x7c\xac\x98\xc3\x0b\x77\xe6\x53\x54\xda\xc5\x0c\x57\x23\xd5\xa7\x55\x3d\x8c\xb6\xff\xb2\x98\x1c\xee\x26\x06\x75\x8f\xe7\xe8\x85\x54\xa9\x3b\x4e\xb2\xc6\xeb\xbe\xc7\x18\x5d\x5f\xe9\xcf\x89\x98\x1b\x35\xd4\x05\x5a\x6d\x16\xba\x39\xbf\x71\x63\x08\x2a\x30\x8e\xb3\xab\x7e\x3d\x7e\x4c\x34\xba\x23\xb8\x9c\xcd\xcf\x46\x22\x0b\x5c\xfd\xfe\xf2\xf7\x25\xbc\xc1\x2d\xd7\xdc\x00\xcf\x40\x61\x21\xb7\x2c\x27\x06\x92\x4a\x1b\x59\x38\x43\xa9\x12\x23\x95\x86\x92\x69\x8d\xa1\x6f\xc1\x5b\x44\xa8\xc7\x06\x6b\x6e\x36\xd5\xca\x4e\x0d\xdc\x8c\x63\x91\xe5\xbc\xd4\x8b\xb2\xca\xf3\xc5\x93\x6f\x9f\x9c\x74\x6c\x6f\xda\xf5\x10\x9e\xc5\xf6\xfd\x9c\x48\x1f\xe8\x69\xc6\x8a\xf8\xee\x10\x20\xfc\xf4\x78\x38\x97\x43\x54\xd8\xbb\xff\x82\x73\x60\x77\x48\x78\x02\x23\xc7\x9e\x75\x70\x75\x61\xd7\xea\x9a\xd9\x8b\x23\xde\x4c\xdc\xb1\x28\x05\xae\xfa\x28\xf1\x7e\x47\x88\xfe\x8c\xf2\x26\x32\x41\x42\xe3\xee\xb8\x1c\xe9\x8e\x04\xa0\x83\x8d\x4f\x6d\xe4\x27\xe3\x2e\x6a\x27\x33\xc1\x55\x9a\xd3\x51\xa7\x0c\x21\xba\x6e\x79\x94\x79\xb7\xa4\x3f\x24\xe9\x3e\x44\xed\x5f\x0f\x25\x63\x2c\xf8\xc8\x8d\x23\xf7\xb7\xbe\x71\x14\xf7\x34\xf3\xa0\xc8\xfd\xbc\xdc\xde\x31\xb2\xc1\x28\x1b\x9a\xdb\x67\x45\xd7\x2f\x1b\x59\xbf\x6c\x54\xfd\x02\x11\x75\xc8\x7f\x1e\x16\x49\x1b\x35\xc2\x1d\x61\xf4\x76\xe8\xde\x14\x69\xc6\xc7\xb5\xb6\xf6\xaa\x2f\x87\x9c\x02\x66\x19\x26\x86\x6f\x31\xdf\xc3\xaa\x52\xc2\x16\xd0\x6d\x19\xd3\x53\xf9\x4f\x25\x53\xac\x00\x57\x5f\x34\x35\x4e\xd0\x6b\x4a\x61\x18\xef\xa0\xb1\x32\xac\x94\xe8\x60\xfb\x8c\x28\xbf\x58\xc0\x5f\x3c\xcf\xed\xe5\x08\xab\xc0\x94\xea\x27\xa8\xca\x94\x04\x44\x76\x14\x04\x8e\x1a\xe2\xde\x39\xa1\xab\x3b\xe2\xc1\x87\x09\x5f\x60\xf5\x15\x17\xe6\x8e\xba\x96\xa1\xc5\xa1\x86\x6c\xeb\x1d\x2e\xb4\x0e\x1d\x47\x8e\x27\x67\x67\x54\x1a\xc5\x4b\xba\xd7\xfb\xe0\x1c\x16\xde\x9e\xa3\x39\xa5\xbb\x25\x18\x65\xd4\x5f\x9c\xed\xb4\x37\x7a\xac\x6b\x76\x63\xac\x35\x67\x7f\x35\x92\xbc\x89\x6d\x91\x1c\x93\x8b\xe8\xae\x90\x43\xd9\xfc\x1b\x15\x90\xc3\x36\xda\x65\x70\x16\xf3\xd5\xbd\x70\x08\xe7\xbe\x4e\x1c\xb9\x36\xf1\x68\x00\xfc\x75\x38\x0e\xe8\x42\x87\x77\x15\x3a\xc0\xfd\xab\x88\x03\xf0\xf1\xd5\x80\x47\x1d\xb5\x74\x87\xfa\x24\xb6\xa9\x9f\x66\x9e\x82\x91\xcb\x61\x2e\x67\x43\x0a\x1a\xb8\xbf\xd0\x99\xd8\x07\x0d\x32\x5e\x97\xb2\x53\xf8\xd0\xc2\x8f\x3e\x3a\x7d\x84\x02\xcd\x46\xba\xd6\x62\x8d\xe6\x85\x1d\xd3\xf9\x01\x57\xfd\xcd\x6c\x94\xac\xd6\xce\x14\x3e\xd6\x7c\x7e\x04\x9b\xe1\x33\x96\x84\x1a\xaf\x5b\x14\xf8\x18\x4e\x2a\x3e\x0e\x62\xf2\x9f\x87\x11\x45\xa6\x13\x1a\xee\x2f\xac\x3c\x78\x87\xaf\x96\x30\xd7\xba\xc2\x67\x5f\xf9\x89\xf5\x88\x74\x07\x75\x14\xa1\xb3\xa2\xd6\x9b\x69\x87\x84\x53\x60\x66\x39\x68\x5a\xb3\x88\xf2\x7a\x7e\x74\x4f\xaa\xc7\x0f\x03\x3e\x9b\x91\x80\xa2\x80\x89\xbe\x89\x07\xa6\x47\x8c\xb8\xe2\xb0\xf5\x5e\x57\xdf\x4d\x47\x76\xee\x98\xb9\x05\x0e\xcc\xbc\x1b\xa4\xea\xe4\x74\x7b\xf2\xdf\x00\x00\x00\xff\xff\x09\xc3\x07\x1a\x94\x2e\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -97,7 +98,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x41, 0x65, 0x27, 0xc8, 0xba, 0xcc, 0x2f, 0xe8, 0xd4, 0xf5, 0x8d, 0xcd, 0x93, 0x67, 0xb8, 0xc0, 0x36, 0xd6, 0xad, 0x7b, 0xeb, 0xff, 0x8e, 0xae, 0x53, 0xc9, 0xa, 0xe7, 0x71, 0xf8, 0x92, 0x7c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0x7, 0x66, 0xcf, 0x2f, 0x79, 0xe, 0x98, 0xff, 0x50, 0x51, 0x85, 0xbb, 0x6a, 0xa9, 0x49, 0x36, 0x97, 0x9c, 0x4a, 0x6a, 0x74, 0x34, 0x46, 0x37, 0x5a, 0xc8, 0x5a, 0xfd, 0x72, 0x43, 0x0}}
 	return a, nil
 }
 
@@ -121,7 +122,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x73\xe3\xb6\x11\x7f\xd7\xa7\xd8\x71\x66\x7a\x52\xaa\x48\xf7\xd0\xe9\x83\x26\x77\xce\x5d\x12\x77\xf2\x92\xc9\xc4\x6e\xee\x21\xd3\xa9\x20\x72\x29\x22\x47\x02\x0c\x00\x4a\xa7\x7a\xfc\xdd\x3b\xbb\x00\xf8\x4f\x94\x4d\x3b\xb9\x87\xd6\x0f\xb6\x44\x02\xbb\x8b\xfd\xfb\xdb\x85\xd7\x5f\x7e\x39\x9b\x7d\x01\x77\x39\xc2\x4d\xa1\x8f\x70\x53\xab\xbd\xdc\x15\x08\x77\xfa\x23\x2a\xb0\x4e\xa8\x54\x98\x74\x36\xfb\xe2\x0b\xd8\xc6\x97\xfc\x6e\x0b\x89\x56\xce\x88\xc4\xcd\x66\xbc\x7d\x7c\x27\x48\x0b\x4a\x43\xa1\xd5\x1e\x0d\x08\x05\x52\x39\x34\x99\x48\x70\xe6\x72\xe1\x40\x14\x05\x64\x71\xab\xe3\xad\x91\xae\x85\xa3\xae\x8b\x14\x72\x71\xa0\x57\xf4\x3c\xd3\xa6\x04\xa7\x57\xb3\xd9\x0f\x19\x08\xa8\x2d\x1a\x0b\x47\xa1\x9c\xa5\x05\x29\x56\x85\x3e\x81\x00\x85\xc7\x01\xad\x25\xb8\x1c\xa5\x69\x65\x4e\x35\x92\x60\x0e\x14\x62\x4a\x9b\x65\x59\x15\x58\xa2\x72\xb4\x12\x7a\x47\x6d\x65\x5e\xc2\xae\x76\x81\x14\x33\xb0\xb3\x54\x5f\x20\xd1\x6c\xb2\x90\x62\x26\x15\xa6\x20\x15\xb8\x5c\xda\x46\x8a\x95\xd7\xeb\x2f\xa2\x2e\xdc\x16\x0c\x5a\x5d\x9b\xa4\xb3\x73\x36\xfb\x5e\x24\xf9\x50\x3f\xcd\x3a\x77\xaa\x90\x99\xdb\x73\xee\x97\x89\x06\xa6\x3f\x19\x7d\x90\x29\x9a\xed\x12\xb6\x3f\x63\x82\xf2\xc0\x9f\x85\x4a\x61\xfb\x5e\x14\x42\x25\x38\xb6\xdb\xb2\xb5\xed\xe0\x78\x49\x21\x0c\x42\x65\xf0\xab\x44\xab\x54\x3a\xa9\x95\x65\x52\x95\xb6\xae\xfb\x8c\x6d\x6e\xd0\x3a\x23\x13\x37\x23\x41\xf1\x13\x26\x35\xbd\x04\x9d\xb1\xe4\x59\xad\x12\xbf\x98\xd5\x85\xc0\x27\x59\x31\xdf\x13\x10\x1f\x8b\x95\x30\xc2\x21\xec\x30\x11\x35\xc9\xe2\x60\x2f\x0f\x68\x79\x39\x39\x05\x7f\x10\x3b\x59\x48\x77\x22\xdd\xd8\x5c\x18\x9c\x09\x30\x98\xa1\x41\x95\xb0\x3f\x79\x33\x32\x75\x2f\x97\x56\xc5\x09\xf0\x53\xa5\x6d\x20\x95\x49\x2c\x52\xdb\x4a\x34\x93\x0a\xb4\x42\xd0\x06\x4a\x6d\x30\x4a\xdc\xaa\x82\x1c\x93\x7c\xda\xea\x20\x90\xf7\xd0\x81\x34\xa5\xf8\x88\x90\xd4\xd6\xe9\xb2\xd1\x70\x50\x4d\x63\x44\xd2\x4d\x5f\xcb\xe4\xe0\x1a\x0e\xc2\x48\x5d\xd3\x6a\xa9\xf6\x16\x8e\xd2\xe5\x4c\xde\x7b\xe3\x6a\x76\xa3\x0d\xe0\x27\x41\x64\x96\x20\x20\x13\x75\x82\x0e\x12\xa1\x60\x87\x2d\x75\x4c\x61\x77\x8a\x01\x25\xd5\x7e\xe6\xd5\x01\xd1\x29\x7a\xde\xf2\xe5\x7a\x36\x93\x65\xa5\x8d\x83\x5f\x24\x1e\x7f\x46\xab\x8b\x03\x1a\xc8\x8c\x2e\xe1\xaa\xfb\xe8\x6a\x36\x5b\xaf\xd7\xfd\xe0\xa1\x27\xbd\xa7\x21\x41\x34\xb2\x88\xe0\x2d\x06\x3b\x89\xc2\xe0\xef\xb5\x34\x63\x61\xd5\x0f\x06\xa6\xdc\x0a\x0b\x1f\x10\xac\x93\x45\xe1\x93\x86\x74\x20\x6c\x2f\xe9\x40\x8e\xa6\xf5\x1b\xc7\xdf\xd8\xa5\x74\xc9\x9e\x93\xd5\x05\x93\xac\x9d\xb7\x56\x89\x2e\xd7\x69\x30\x4e\x29\xd4\x09\x2a\xa3\x7f\x43\x4e\x4e\xc4\xc6\x33\xa3\x0c\x44\x92\x32\x53\xad\x06\xb9\xc6\x2e\x99\x64\xc8\x1c\xde\x85\x77\x27\x3a\x6c\x89\x42\xd9\xe6\xac\x2b\x4e\x86\xde\x0d\xda\xa7\xf4\x99\x9f\x35\x56\xf6\x67\x8e\x4a\xb1\xbd\x70\x6f\x53\x87\x48\x12\xb4\x76\x2e\x8a\x62\xd1\x48\x32\x48\x6b\xf7\xb3\x19\x00\xc0\x7a\x0d\xef\x14\xa0\x72\xd2\x05\x3d\x67\xda\x90\x2c\xfa\x28\xd5\x9e\xc9\x93\x9b\xa5\x46\x1c\x45\xc1\x3e\xcf\xbe\xe6\xed\x2f\x7c\x00\x31\xa1\x2e\xcb\x2e\xb9\x0f\x71\xf7\xae\xc0\xc8\x72\xcd\x35\x07\x0f\xde\xac\xfe\xc8\x58\x4a\x47\xae\x79\xcc\x51\x45\x26\xa4\xac\xc8\x5d\x3d\xc1\xf2\xd0\x65\x36\x17\xa5\xae\x95\xdb\xc0\x3f\x6f\xe4\xa7\xbf\xff\x6d\xc9\x7b\x37\xf0\x2e\x4d\x0d\x5a\x7b\xbd\xe4\xec\xb9\x81\x5b\x67\xa4\xda\x2f\xba\xc4\x2c\x16\xd9\x82\xfc\x8c\x05\x8a\xf4\xbe\x27\xea\xcf\x23\xba\x81\xf7\x5a\x17\x70\xcf\xc4\xe9\x87\xe8\x9d\x0b\xe8\xff\x46\x5a\xf4\x3b\xd2\xa1\xdf\x8b\x66\xb7\x41\x57\x1b\x05\xce\xd4\xc8\xcf\x1e\x5e\xa2\xcb\x14\x2b\x6d\xa5\xf3\x91\xf5\xb8\x26\xbf\xf3\x4b\xcf\xce\xec\xf4\x0b\xd4\x18\x88\x8d\x6b\xf1\x11\x8a\xe3\x3a\x1c\x8a\x16\x55\x48\x84\x9c\xfe\x8c\xea\x73\x46\x28\x9b\xa1\xa1\xc0\x64\x67\xa4\x72\x20\x92\x84\xd8\xb3\x46\x95\xa6\xa4\x72\x41\xa3\x77\x61\xf7\xd3\x6e\xf4\x12\x15\x47\xea\x13\x3d\xf5\xb9\x3a\x3f\x13\x7e\xd4\x6f\x5f\x66\x00\x16\xf9\x11\x9f\xb5\xce\xe8\x13\xa6\x17\xd4\xfa\xbe\x36\xea\xdc\xa7\x7a\x4a\xbb\xac\x35\xda\x7c\xc1\x2b\x1f\xd5\x89\xcc\x82\x02\xe0\xed\x1b\x78\xbd\x7a\xdd\x79\xd5\xa8\xac\x27\x58\xe3\xa3\x23\xaa\x79\x98\xa2\xa4\x58\x9c\xe3\x83\x9e\xfb\xb6\x15\x8e\x5d\x18\xa9\xb2\x27\x01\xc6\x84\x52\xe2\xab\x05\xe5\xf6\x98\x50\xa9\xf2\x47\x22\xdd\xa4\xce\xa0\x26\x16\x18\xae\x01\xa7\x0a\x57\x67\x7c\x7f\x70\xd0\xc0\xe8\xc0\xb0\xcf\x4b\x2b\xd8\xee\x22\x96\xa4\x5a\xbb\x6c\xf6\x76\xa0\x5b\x81\x82\xa0\x92\xae\xd0\xe3\xbd\x4a\x5b\x2b\x03\x5a\xd2\x19\x24\x06\x05\x0b\x11\x10\x53\x15\xd4\x60\x5b\xd1\xe9\xc4\x84\xc3\x19\xce\x93\x8d\x85\x91\xc5\x29\xe0\x72\xae\xc5\xfa\xa8\x20\x48\xd2\x3f\x47\xd7\x9b\xce\xd1\x6e\x0b\x88\x42\xad\x8c\x2c\xa3\x06\xc1\xd6\xbb\xd0\xac\x0c\x15\xa8\x8f\x0a\xcd\x2b\xdb\x49\xb1\x71\x33\x01\x63\x6f\x67\x1b\x53\x70\x0b\xe4\x0c\x96\xfa\xc0\xe9\xd9\x03\xba\xce\xc6\x1e\x91\xbb\x0e\x54\x7e\x65\xc3\x39\xa0\xc0\x03\x16\x94\xc0\xaa\x7a\x57\xc8\x24\xf6\x2b\xd2\xfa\x3e\xcc\x81\x20\xfd\xed\x0a\x2c\x7b\xc4\xa2\x35\x18\x01\x37\xc2\x83\x75\xda\x44\x08\xd0\x51\x4e\xd0\x69\x48\x7b\x3d\x42\x09\x83\x2d\xe9\xa4\x28\x8a\x13\x24\x1e\xd0\xc8\x16\x42\x3f\x7e\x1e\xcf\xb5\x14\x27\xd8\x1b\x82\x54\x9c\x4b\x23\x9f\xe6\x8c\x84\x5c\xa3\x4f\xd0\x71\xe4\x41\x38\x1c\x48\x51\x35\x70\x3b\x34\x99\xfa\x68\xc1\x56\x98\xc8\x4c\x26\x81\x6e\xc0\xe6\x3a\xd0\xed\x51\x60\x3f\x8c\xb6\x6f\x1b\xae\xdc\xe8\x7a\x9f\x43\xa7\x91\x98\x7a\x20\xdf\x13\xf0\xa9\x48\x29\x4f\x9c\x89\x8d\x37\xe5\x48\x44\x6b\x70\x8e\x9e\xec\x3d\x1a\xcf\x3f\x47\x88\x8e\x2e\x80\xf3\x99\xf3\x38\x8e\xb2\x16\x1b\xf8\xe6\x9e\x1d\xfa\x61\x90\x0f\xa9\x11\x1c\x3c\xf2\xcc\x60\x6b\xd0\x86\x56\x35\x0b\x07\xf1\xfe\xc6\x89\xf0\x20\x8a\x1a\xcf\xb6\xf9\x2d\xab\x3d\xba\xd0\xaa\xce\x17\xf0\xe6\x4d\x48\xb1\x9b\xb3\xe5\xf4\x73\xf5\xa1\xc5\xb0\x21\x71\x97\xb5\x75\xd4\x16\x11\x3b\x2b\x4a\xa4\x66\x81\x3e\x87\x44\x11\xdb\xbb\x16\x7e\xf2\xc9\xae\x46\x0e\xd1\xc3\xd5\xab\xcb\xb0\xb1\x5f\x32\xa9\x10\xad\xd8\x45\xae\x57\xc2\x97\xe2\x58\x1e\xf8\xd5\x1e\xdd\xdd\xa9\xc2\xf9\x62\x25\x53\x4a\xc4\x99\x44\xb3\xe8\x71\x7f\x18\x54\x90\x4e\xb5\x88\x3d\xfd\x1f\xaf\x16\x01\x32\x8e\x14\x0b\xa9\x82\xb1\x26\x14\x8b\x0f\x18\x53\xb4\x54\x49\x51\xa7\x08\x02\x9a\xc1\x80\x17\x23\xc9\x31\xf9\xd8\x37\x41\x48\x4c\x0d\x95\x23\x36\xcd\x16\x35\xd8\x53\xfa\x6b\xaf\x06\xdf\x44\xcd\xa0\x93\xa7\x52\x1d\x17\x8d\x37\xd3\x4b\x28\xe4\x47\x04\x5b\x15\x92\xbb\xaf\x12\xea\x8a\x72\x77\x43\xc4\xa2\x4a\xfd\x0b\xea\xcd\x65\xc6\xa1\xe4\xa0\x2a\xfc\x28\x00\xa6\x97\x99\x68\xac\x61\x99\x09\xaa\x07\x27\x3e\x62\x5b\x2b\xa8\x7e\x84\x37\x96\x0a\xe8\xb8\x19\x7a\x63\xa2\xc7\xa2\x9b\x85\xa2\xa0\x0e\x34\xe7\xde\x3b\x63\x20\x2f\xfa\x22\xed\xd1\xdd\xd6\x55\xa5\x8d\xc3\x94\x17\x90\x8b\x52\xf5\x26\x3b\x72\xd6\x6f\x4b\x5b\x21\xad\xa3\x28\x3a\xf8\x19\x0b\x2f\x0c\xbd\x2c\x77\xb8\xe1\xd0\x24\x47\xe5\xec\xa8\x5c\x07\x89\x47\x16\x6e\x9c\xef\x7c\xb1\x81\xfb\x3b\x0e\x19\xc2\x67\x67\x59\xc7\x20\xdc\x33\x98\xda\xc0\x55\x5a\x97\xe5\xe9\xaa\x17\x33\xbd\x93\xfd\x1c\xe4\x3e\xe6\xc8\xf5\x41\x1b\x76\x57\x52\x2c\xf9\x9a\xf2\xf3\x36\x69\x83\xbc\x7e\x86\x42\x6f\x7b\xa1\x16\xa9\xbd\x8b\xa7\x66\xcf\x16\x2a\xec\x02\xa1\x4e\x9e\x90\xcd\x79\xba\xf9\x1b\x25\xa1\x0e\xea\x23\xa2\x29\x66\x3d\xd0\x30\xaa\x10\x69\xcf\xf5\x31\xf7\xd9\x83\x3e\x9e\x23\xd6\x29\x0a\xe9\xa8\xe5\x09\x97\x8d\xed\x80\x36\x1d\x16\x61\xce\xc3\xa5\xde\x4f\x11\x20\x95\x06\x13\xd7\x34\x4e\x20\x95\x75\x28\x52\x72\x8b\x5c\x1c\x38\x5f\xf0\x60\x4b\x34\xce\x4e\xee\xdd\x0e\x1c\x9e\x57\x97\xdc\xa5\x0e\x2b\x3a\xdb\x06\xbe\x6d\x2a\xe9\xd7\x7f\xb9\xef\x27\xee\x68\xc8\x87\xb7\x8b\x31\xbd\x8d\x94\x21\xbf\x7e\xc5\x99\x8b\x7c\xf1\xea\x5b\x36\x2a\xf9\xcd\x4e\x1b\xa3\x8f\x70\x3e\x74\x84\x1f\x6f\xee\x9a\xad\x57\x53\xf3\x79\x0b\x23\x7b\x10\x3c\x45\x8a\xb9\x65\xc0\x78\x8d\x75\xfc\xe4\x9c\x41\x47\x3b\x36\x6f\x1c\x75\x09\xa1\x6c\x2e\x3b\x66\x5c\x36\x60\xd7\x4f\x81\xe3\x50\xaf\x85\xec\x75\xdb\x1f\xd3\x01\x6d\x74\x3f\x38\xa1\x7b\x4e\xb6\xe3\xa3\x6c\x3a\xd2\x8c\x0b\xd1\x9d\x2c\xae\x9a\xa9\xe3\x3d\xac\xd7\xcb\x20\xfe\x30\x5d\xfe\x03\xdd\x58\x01\x3f\x3c\x1d\x4c\x5d\x24\x11\x9d\xe6\x7f\x38\xef\xad\xd7\xf0\x1e\x0b\x7d\xf4\x25\x95\x0c\xd6\x1d\xfd\xc6\x12\x69\x6b\x13\x00\x80\xa9\xd5\x57\x4e\x96\xe1\x4a\x81\x9d\x67\x48\x8f\x5b\x83\x3d\xc6\x5c\xd5\xb4\xe9\x04\x36\x05\xd7\xbd\xc6\xd2\xc1\xe3\x42\x41\xed\x5f\x1b\xad\xfc\xa0\x72\x05\x3d\xfa\x32\x3b\x43\x3c\xf6\xb6\xde\x91\x34\x73\x9d\xf9\x84\xf6\xf5\x37\xf7\x23\x94\x1e\xde\xce\x17\xc3\x60\x85\xb6\x8f\xbe\xef\x93\xdd\x70\xea\x7b\xe8\xc7\x1c\x60\x61\xc7\xa2\xbb\x29\x09\x20\x14\x60\x59\xb9\x13\xa4\x92\x53\x9b\x30\xa7\x88\x15\x43\xaa\xf6\x38\x95\x53\x5e\xa3\x86\x63\x4e\x89\x4d\xbd\x72\x63\x94\xdb\xa1\xf6\xa8\x7e\x96\x60\xeb\x24\x27\x26\xfd\xd7\xb7\x47\xe9\x92\x7c\xa7\x85\x49\xb7\x4b\xd8\xf2\xb3\x1b\x6d\x8e\xc2\xa4\x68\xb6\x80\x2e\x59\x5d\x54\xc5\xc3\xc5\x54\xf3\x19\x0a\x4d\x60\x1a\xd5\x3f\xea\xc2\xbf\x12\x91\x7f\xc1\xf5\x35\x64\xa2\xb0\xf8\x54\x5d\x66\x98\xee\xb4\x11\x7b\x72\x39\x97\x93\x03\x1a\x6c\x23\x3c\x56\x54\x77\xaa\x64\xc2\x11\xb9\xf3\x1b\x30\x7d\x32\xc4\xbe\xf3\x66\xbc\xf5\xe4\x7f\x12\x2e\x27\x67\xe9\x7c\xbd\x1e\x3f\x9f\x92\xc5\x14\xb1\x7d\x43\xd7\x97\x5a\xda\xbe\xd8\x7c\x79\x10\x7b\xbf\x4e\xbf\x37\x55\xf6\x9f\x78\x63\x14\xbd\xfd\xf6\xf9\x24\x7f\x65\x5b\xe0\x3a\xf5\x10\x3c\xc8\xa2\xb7\x36\xf7\xbd\x6e\x43\xa1\xad\xcb\x40\xfd\x6d\x17\x50\x13\x73\x54\x54\xe5\xa9\xe3\x75\x68\x94\x70\x1d\xd0\x3c\xbc\x4a\x72\x9a\x2c\x5f\xdb\x8e\xdd\xfd\x35\x51\xdb\xe9\x25\x42\x69\x45\x5e\x02\x4a\x94\x68\x2b\x2a\x4b\x21\xa2\x6b\x95\xa2\x29\x4e\x24\x5d\xb8\x79\x9c\x68\x80\x28\xcf\x1f\x37\xc1\x45\x4e\x54\x12\x39\xf7\xff\x7a\xc7\xa1\xd3\x45\x5e\xfc\xe7\x71\x7c\xb7\x5e\xf7\xbf\x0c\x1b\x00\xe3\x8b\x2c\x71\x99\xff\x9b\x19\x37\x21\xfe\x4e\x9d\x6e\x9d\xa9\x13\x77\xfd\x22\xa6\x4f\x0d\xcf\xb6\x1e\xaf\x6d\xdb\xf1\xd9\x2f\xc1\xc3\x42\x2d\x7f\x64\x80\xa6\xf0\x38\x1c\xa2\x45\xc2\x84\xd1\xcf\xf7\x7f\x8e\xf1\xc6\x28\x3e\x8c\xd9\xaf\x1d\x52\xbc\x7d\x62\x48\xf1\xce\x4f\x26\xda\x91\x43\x9c\x51\x14\x7e\xb2\x23\x14\xb5\x25\xf8\x7b\x2d\x0a\xff\x6d\x04\xee\x8c\x4c\x29\x1e\x26\xce\x62\xc2\xa5\xa8\x9f\x94\x89\xa2\x19\xdb\xc1\x76\x87\x99\x36\xb8\xe5\xc6\x3b\xa0\x2c\x5f\xf2\x02\xd3\x76\xce\xcb\x97\xe6\x63\xc4\xc3\x1d\xe6\x0e\xf7\x52\x29\x0a\xaf\xc1\x85\x7f\xfb\xaf\x00\x23\xbb\x27\xe8\xf6\xcd\x1b\xf0\x52\xce\xcf\xde\x2d\xe0\xab\xc7\xf5\xfe\x63\xe3\x43\x51\x99\xdd\xe1\x50\x4c\x45\xad\x8e\x2b\x83\x07\xbe\x87\x8f\xcb\x85\x1f\x05\x0c\x87\x45\xf1\xfd\x65\x98\x3f\xb1\xdf\x17\x69\x4a\xbd\x7e\xcb\x30\xf4\x12\x3d\xdb\xcb\x91\x69\xf3\xe4\x6e\x7f\x0c\x5c\x0d\x91\x15\xf5\xb5\xd6\xa2\x71\xed\x95\x74\xa2\x55\x62\xd0\x05\xe8\x18\xd4\xd3\xde\x32\xfa\x12\x27\x6d\x93\x7a\x87\xf4\x42\xd6\xed\x34\xcb\x4d\x87\x1d\x47\xcf\x81\xda\x84\x80\xa3\xb3\xac\xa4\xfd\x41\x59\xc7\x86\xef\xa3\xbf\xc5\x06\xc6\xad\xff\xad\x50\xd4\xd0\xb4\x0d\x28\x48\x95\xe8\xb2\x12\xae\xf3\x6f\x37\x74\xbe\x69\xb3\xbf\xd1\xbb\x4e\x16\xad\xeb\x93\xfe\xb2\xec\x91\x19\x60\xdc\x31\x79\x06\x08\x97\x63\xfb\x99\xd1\xf2\xd7\xf8\xee\x4c\xea\xc5\x8b\x02\xc8\xd6\xe5\x93\x91\xd3\xfa\xcc\xa3\x09\x6c\x10\x31\xff\x9f\xd3\x86\x3f\xc5\x88\xcf\x4e\x79\x4d\xed\xb5\x48\x18\xe8\xb3\xa6\x40\xb8\x10\x3b\xe3\x97\xd8\x53\xe6\xe6\x7a\xd3\xce\x63\xfc\xec\x65\xbe\xb8\xfe\xf3\xc6\xeb\xfd\xdb\x18\x83\xc2\xe1\xf7\xd4\x13\x86\x14\x1d\xae\x63\xd4\x29\xfc\xff\x99\x0e\x6b\x7a\xf8\x84\xd3\x5b\x2e\x28\xb3\xff\x07\x8d\x9e\x82\x4d\x9a\x74\x3d\x64\x39\x7f\xf6\x5d\xcb\x85\x4b\x93\xd7\xab\xd7\x1b\xb8\xba\xcb\x91\x04\x2d\xc2\x3d\x54\x8c\x42\xef\x03\x8c\xea\xbb\x12\x4f\x08\xce\x70\x69\x3f\x9f\x36\x49\x1b\x73\x85\xf3\x9b\xf9\x33\x27\xff\xc3\xd7\x25\x0f\xff\x0d\x00\x00\xff\xff\xe9\x29\xeb\x76\x01\x2b\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x5a\x4b\x73\xdb\xc8\x11\xbe\xe3\x57\x74\x69\x0f\x26\x37\x5c\xd2\x87\x54\x0e\xac\x78\xb5\xf6\xae\x9d\xf2\x25\xe5\xb2\x14\xfb\xb0\x95\x0a\x87\x40\x83\x98\x35\x30\x83\x9d\x19\x90\x66\x54\xfa\xef\xa9\xee\x99\xc1\x8b\xa0\x44\xc9\xe5\x43\x74\x90\x48\x00\xd3\xef\xc7\xd7\x0d\xad\x7e\xfc\x31\x49\x7e\x80\xdb\x02\xe1\x5d\xa9\x0f\xf0\xae\x51\x3b\xb9\x2d\x11\x6e\xf5\x17\x54\x60\x9d\x50\x99\x30\x59\x92\xfc\xf0\x03\x6c\xe2\x4d\xbe\xb7\x81\x54\x2b\x67\x44\xea\x92\x84\x8f\x4f\x9f\x04\x69\x41\x69\x28\xb5\xda\xa1\x01\xa1\x40\x2a\x87\x26\x17\x29\x26\xae\x10\x0e\x44\x59\x42\x1e\x8f\x3a\x3e\x1a\xe9\x5a\x38\xe8\xa6\xcc\xa0\x10\x7b\xba\x45\xd7\x73\x6d\x2a\x70\x7a\x99\x24\xef\x73\x10\xd0\x58\x34\x16\x0e\x42\x39\x4b\x0f\x64\x58\x97\xfa\x08\x02\x14\x1e\x46\xb4\x16\xe0\x0a\x94\xa6\x93\x39\xd3\x48\x82\x39\x50\x88\x19\x1d\x96\x55\x5d\x62\x85\xca\xd1\x93\x30\x50\xb5\x93\x79\x01\xdb\xc6\x05\x52\xcc\xc0\x26\x99\x3e\x43\xa2\x3d\x64\x21\xc3\x5c\x2a\xcc\x40\x2a\x70\x85\xb4\xad\x14\x4b\x6f\xd7\x4f\xa2\x29\xdd\x06\x0c\x5a\xdd\x98\xb4\x77\x32\x49\xde\x8a\xb4\x18\xdb\xa7\x7d\xce\x1d\x6b\x64\xe6\xf6\x94\xfb\x79\xa2\x81\xe9\x07\xa3\xf7\x32\x43\xb3\x59\xc0\xe6\x23\xa6\x28\xf7\xfc\x59\xa8\x0c\x36\x6f\x44\x29\x54\x8a\x53\xa7\x2d\x7b\xdb\x8e\xd4\x4b\x4b\x61\x10\x6a\x83\x3f\xa5\x5a\x65\xd2\x49\xad\x2c\x93\xaa\xb5\x75\xfd\x6b\xec\x73\x83\xd6\x19\x99\xba\x84\x04\xc5\xaf\x98\x36\x74\x13\x74\xce\x92\xe7\x8d\x4a\xfd\xc3\x6c\x2e\x04\xd6\x64\xc9\x7c\x8f\x40\x7c\x2c\xd6\xc2\x08\x87\xb0\xc5\x54\x34\x24\x8b\x83\x9d\xdc\xa3\xe5\xc7\x29\x28\xf8\x83\xd8\xca\x52\xba\x23\xd9\xc6\x16\xc2\x60\x22\xc0\x60\x8e\x06\x55\xca\xf1\xe4\xdd\xc8\xd4\xbd\x5c\x5a\x95\x47\xc0\xaf\xb5\xb6\x81\x54\x2e\xb1\xcc\x6c\x27\x51\x22\x15\x68\x85\xa0\x0d\x54\xda\x60\x94\xb8\x33\x05\x05\x26\xc5\xb4\xd5\x41\x20\x1f\xa1\x23\x69\x2a\xf1\x05\x21\x6d\xac\xd3\x55\x6b\xe1\x60\x9a\xd6\x89\x64\x9b\xa1\x95\x29\xc0\x35\xec\x85\x91\xba\xa1\xa7\xa5\xda\x59\x38\x48\x57\x30\x79\x1f\x8d\xcb\xe4\x9d\x36\x80\x5f\x05\x91\x59\x80\x80\x5c\x34\x29\x3a\x48\x85\x82\x2d\x76\xd4\x31\x83\xed\x31\x26\x94\x54\xbb\xc4\x9b\x03\x62\x50\x0c\xa2\xe5\xc7\x55\x92\xc8\xaa\xd6\xc6\xc1\x27\x89\x87\x8f\x68\x75\xb9\x47\x03\xb9\xd1\x15\x5c\xf5\x2f\x5d\x25\xc9\x6a\xb5\x1a\x26\x0f\x5d\x19\x5c\x0d\x05\xa2\x95\x45\x84\x68\x31\xd8\x2b\x14\x06\xff\x6c\xa4\x99\x4a\xab\x61\x32\x30\xe5\x4e\x58\xf8\x8c\x60\x9d\x2c\x4b\x5f\x34\xa4\x03\x61\x07\x45\x07\x0a\x34\x5d\xdc\x38\xfe\xc6\x21\xa5\x2b\x8e\x9c\xbc\x29\x99\x64\xe3\xbc\xb7\x2a\x74\x85\xce\x82\x73\x2a\xa1\x8e\x50\x1b\xfd\x07\x72\x71\x22\x36\x9e\x19\x55\x20\x92\x94\x99\x6a\x35\xaa\x35\x76\xc1\x24\x43\xe5\xf0\x21\xbc\x3d\x92\xb2\x15\x0a\x65\x5b\x5d\x97\x5c\x0c\x7d\x18\x74\x57\xe9\x33\x5f\x6b\xbd\xec\x75\x8e\x46\xb1\x83\x74\xef\x4a\x87\x48\x53\xb4\x76\x26\xca\x72\xde\x4a\x32\x2a\x6b\x77\x49\x02\x00\xb0\x5a\xc1\x6b\x05\xa8\x9c\x74\xc1\xce\xb9\x36\x24\x8b\x3e\x48\xb5\x63\xf2\x14\x66\x99\x11\x07\x51\x72\xcc\x73\xac\x79\xff\x0b\x9f\x40\x4c\xa8\xcf\xb2\x4f\xee\x73\x3c\xbd\x2d\x31\xb2\x5c\x71\xcf\xc1\xbd\x77\xab\x57\x19\x2b\xe9\x28\x34\x0f\x05\xaa\xc8\x84\x8c\x15\xb9\xab\x47\x58\xee\xfb\xcc\x66\xa2\xd2\x8d\x72\x6b\xf8\xd7\x3b\xf9\xf5\x6f\x7f\x5d\xf0\xd9\x35\xbc\xce\x32\x83\xd6\x5e\x2f\xb8\x7a\xae\xe1\xc6\x19\xa9\x76\xf3\x3e\x31\x8b\x65\x3e\xa7\x38\x63\x81\x22\xbd\xb7\x44\xfd\x69\x44\xd7\xf0\x46\xeb\x12\xee\x98\x38\xfd\x10\xbd\x53\x01\xfd\xdf\x48\x8b\x7e\x47\x3a\xf4\x7b\xde\x9e\x36\xe8\x1a\xa3\xc0\x99\x06\xf9\xda\xfd\x73\x6c\x99\x61\xad\xad\x74\x3e\xb3\x1e\xb6\xe4\x6f\xfe\xd1\x13\x9d\x9d\x7e\x86\x19\x03\xb1\x69\x2b\x3e\x40\x71\xda\x86\x63\xd1\xa2\x09\x89\x90\xd3\xdf\xd1\x7c\xce\x08\x65\x73\x34\x94\x98\x1c\x8c\xd4\x0e\x44\x9a\x12\x7b\xb6\xa8\xd2\x54\x54\xce\x58\xf4\x36\x9c\x7e\x3c\x8c\x9e\x63\xe2\x48\xfd\xc2\x48\x7d\xaa\xcd\x4f\x84\x9f\x8c\xdb\xe7\x39\x80\x45\x7e\x20\x66\xad\x33\xfa\x88\xd9\x19\xb3\xbe\x69\x8c\x3a\x8d\xa9\x81\xd1\xce\x5b\x8d\x0e\x9f\x89\xca\x07\x6d\x22\xf3\x60\x00\xf8\xf9\x15\xbc\x5c\xbe\xec\xdd\x6a\x4d\x36\x10\xac\x8d\xd1\x09\xd3\xdc\x5f\x62\xa4\xd8\x9c\xe3\x85\x41\xf8\x76\x1d\x8e\x43\x18\xa9\xb3\xa7\x01\xc6\x84\x56\xe2\xbb\x05\xd5\xf6\x58\x50\xa9\xf3\x47\x22\xfd\xa2\xce\xa0\x26\x36\x18\xee\x01\xc7\x1a\x97\x27\x7c\xdf\x3b\x68\x61\x74\x60\x38\xe4\xa5\x15\x6c\xb6\x11\x4b\x52\xaf\x5d\xb4\x67\x7b\xd0\xad\x44\x41\x50\x49\xd7\xe8\xf1\x5e\xad\xad\x95\x01\x2d\xe9\x1c\x52\x83\x82\x85\x08\x88\xa9\x0e\x66\xb0\x9d\xe8\xa4\x31\xe1\x70\x86\xf3\xe4\x63\x61\x64\x79\x0c\xb8\x9c\x7b\xb1\x3e\x28\x08\x92\x0c\xf5\xe8\x47\xd3\x29\xda\xed\x00\x51\xe8\x95\x91\x65\xb4\x20\xd8\x66\x1b\x86\x95\xb1\x01\xf5\x41\xa1\x79\x61\x7b\x25\x36\x1e\x26\x60\xec\xfd\x6c\x63\x09\xee\x80\x9c\xc1\x4a\xef\xb9\x3c\x7b\x40\xd7\x3b\x38\x20\x72\xdb\x83\xca\x2f\x6c\xd0\x03\x4a\xdc\x63\x49\x05\xac\x6e\xb6\xa5\x4c\xe3\xbc\x22\xad\x9f\xc3\x1c\x08\xb2\xdf\xb6\xc4\x6a\x40\x2c\x7a\x83\x11\x70\x2b\x3c\x58\xa7\x4d\x84\x00\x3d\xe3\x04\x9b\x86\xb2\x37\x20\x94\x32\xd8\x92\x4e\x8a\xb2\x3c\x42\xea\x01\x8d\xec\x20\xf4\xc3\xfa\x78\xae\x95\x38\xc2\xce\x10\xa4\xe2\x5a\x1a\xf9\xb4\x3a\x12\x72\x8d\x31\x41\xea\xc8\xbd\x70\x38\x92\xa2\x6e\xe1\x76\x18\x32\xf5\xc1\x82\xad\x31\x95\xb9\x4c\x03\xdd\x80\xcd\x75\xa0\x3b\xa0\xc0\x71\x18\x7d\xdf\x0d\x5c\x85\xd1\xcd\xae\x80\xde\x20\x71\xa9\x42\x7e\x26\x60\xad\xc8\x28\x8f\xe8\xc4\xce\xbb\x44\x25\xa2\x35\xd2\x63\x20\xfb\x80\xc6\xd3\xf5\x08\xd9\xd1\x07\x70\xbe\x72\x1e\xa6\x51\xd6\x7c\x0d\xbf\xdc\x71\x40\xdf\x8f\xea\x21\x0d\x82\xa3\x4b\x9e\x19\x6c\x0c\xda\x30\xaa\xe6\x41\x11\x1f\x6f\x5c\x08\xf7\xa2\x6c\xf0\xe4\x98\x3f\xb2\xdc\xa1\x0b\xa3\xea\x6c\x0e\xaf\x5e\x85\x12\xbb\x3e\x79\x9c\x7e\xae\x3e\x77\x18\x36\x14\xee\xaa\xb1\x8e\xc6\x22\x62\x67\x45\x85\x34\x2c\xd0\xe7\x50\x28\xe2\x78\xd7\xc1\x4f\xd6\xec\x6a\x42\x89\x01\xae\x5e\x9e\x87\x8d\xc3\x96\x49\x8d\x68\xc9\x21\x72\xbd\x14\xbe\x15\xc7\xf6\xc0\xb7\x76\xe8\x6e\x8f\x35\xce\xe6\x4b\x99\x51\x21\xce\x25\x9a\xf9\x80\xfb\xfd\xa8\x83\xf4\xba\x45\x9c\xe9\xbf\xbd\x5b\x04\xc8\x38\xd1\x2c\xa4\x0a\xce\xba\xa0\x59\x7c\xc6\x58\xa2\xa5\x4a\xcb\x26\x43\x10\xd0\x2e\x06\xbc\x18\x69\x81\xe9\x97\xa1\x0b\x42\x61\x6a\xa9\x1c\xb0\x1d\xb6\x68\xc0\xbe\x64\xbe\xf6\x66\xf0\x43\x54\x02\xbd\x3a\x95\xe9\xf8\xd0\xf4\x30\xbd\x80\x52\x7e\x41\xb0\x75\x29\x79\xfa\xaa\xa0\xa9\xa9\x76\xb7\x44\x2c\xaa\xcc\xdf\xa0\xd9\x5c\xe6\x9c\x4a\x0e\xea\xd2\xaf\x02\xe0\xf2\x36\x13\x9d\x35\x6e\x33\xc1\xf4\xe0\xc4\x17\xec\x7a\x05\xf5\x8f\x70\xc7\x52\x03\x9d\x76\xc3\x60\x4d\xf4\x50\x76\xb3\x50\x94\xd4\x81\xe6\xcc\x47\x67\x4c\xe4\xf9\x50\xa4\x1d\xba\x9b\xa6\xae\xb5\x71\x98\xf1\x03\x14\xa2\xd4\xbd\xc9\x8f\x5c\xf5\xbb\xd6\x56\x4a\xeb\x28\x8b\xf6\x7e\xc7\xc2\x0f\x86\x59\x96\x27\xdc\xa0\x34\xc9\x51\x3b\x3b\x29\xd7\x5e\xe2\x81\x85\x9b\xe6\x3b\x9b\xaf\xe1\xee\x96\x53\x86\xf0\xd9\x49\xd5\x31\x08\x77\x0c\xa6\xd6\x70\x95\x35\x55\x75\xbc\x1a\xe4\xcc\x40\xb3\x8f\x41\xee\x43\x81\xdc\x1f\xb4\xe1\x70\x25\xc3\x52\xac\x29\xbf\x6f\x93\x36\xc8\xeb\x77\x28\x74\x77\x90\x6a\x91\xda\xeb\xa8\x35\x47\xb6\x50\xe1\x14\x08\x75\xf4\x84\x6c\xc1\xdb\xcd\x3f\xa8\x08\xf5\x50\x1f\x11\xcd\x30\x1f\x80\x86\x49\x83\x48\x7b\x6a\x8f\x99\xaf\x1e\xf4\xf1\x14\xb1\x5e\x62\x90\x51\x11\xe9\xb0\xcb\x00\xf7\x65\x48\x8e\x5e\x04\x60\xd1\x46\xb1\x5f\xd7\x72\xa7\xeb\x76\xb5\xad\x75\x16\x10\x6a\xf5\xa2\x1d\x25\xb4\x59\xb4\x08\xcb\xaf\x1e\xe3\x26\xa9\xc3\x89\x4d\x37\x94\x91\x37\x6c\xd4\x19\x8e\xe8\x9e\x92\x62\xac\xca\xba\x27\x4d\xc7\xb8\xbf\xc2\x5a\xb6\xeb\xad\x3b\x58\xad\x16\x41\xe4\x71\x5e\xfe\x03\xdd\x54\xa7\xd8\x3f\xee\xb5\x7e\xcb\x8a\x5d\xf3\xff\x38\xc1\x56\x2b\x78\x83\xa5\x3e\xf8\xda\x4d\x4e\xea\xef\x18\x63\x2d\xb6\x8d\x09\x9d\xc6\x34\xea\x27\x27\xab\xb0\xbb\xe6\x80\x19\xd3\x63\x0c\xba\xc3\x98\x14\xed\x3c\x48\xa8\x46\x70\x81\x6d\xbd\x1b\xa2\x2c\x54\xee\xe1\xfb\x89\xa5\xdf\x88\x2d\x61\x40\x5f\xe6\x27\xad\xd5\xde\x34\x5b\x92\x66\xa6\x73\x9f\x39\x7f\xff\xe5\x6e\x82\xd2\xfd\xcf\xb3\xf9\x7c\x02\xc1\x84\xd4\xbd\x1b\x92\x5d\x73\x8e\xdd\x0f\x9b\x35\x60\x69\x71\x1a\x04\xf9\xda\x03\x82\x66\xd2\xda\x1d\x21\x93\x0c\x97\x85\x39\x46\x50\x12\x6a\x82\x07\x44\xdc\x97\x5b\x33\x1c\x0a\x0d\x99\x56\x2f\xdc\x14\xe5\x6e\x7b\x3a\x69\x9f\x05\xd8\x26\x2d\x88\xc9\xf0\xf6\xcd\x41\xba\xb4\xd8\x6a\x61\xb2\xcd\x02\x36\x7c\xed\x9d\x36\x07\x61\x32\x34\x1b\x40\x97\x2e\xcf\x9a\xe2\xfe\x2c\x46\xf9\x0e\x15\x2d\x30\x8d\xe6\x9f\x0c\xe1\xdf\x89\xc8\xbf\xe1\xfa\x1a\x72\x51\x5a\x7c\xac\x01\x30\x1e\x74\xda\x88\x1d\x85\x9c\x2b\x28\x00\x0d\x76\x19\x1e\x4b\xb7\x3b\xd6\x32\xe5\x8c\xdc\xfa\x03\x98\x3d\x9a\x62\xbf\x79\x37\xde\x78\xf2\x1f\x84\x2b\x28\x58\x7a\x5f\xaf\xa7\xf5\x53\xb2\xbc\x44\x6c\x3f\x39\x0c\xa5\x96\x76\x28\x36\x6f\xa9\xe3\x90\xd1\x1b\x2c\x2e\x95\xfd\x03\x1f\x8c\xa2\x77\xdf\xbe\x9f\xe4\x2f\x6c\x87\x90\x2e\x55\x82\x37\x26\x74\xd7\x16\x7e\xa8\x6a\x29\xfc\xda\x8d\x52\x34\x48\xf5\x91\x1b\x31\x47\x45\x63\x0e\x8d\x56\x0e\x8d\x12\xae\x87\xce\xc6\xef\x2c\x9c\x26\xcf\x37\xb6\xe7\x77\xff\x3e\xa2\x1b\x29\x52\xa1\xb4\xa2\x28\x01\x25\x2a\xb4\x35\xb5\xa2\x90\xd1\x8d\xca\xd0\x94\x47\x92\x2e\xbc\xe2\xba\xd0\x01\x51\x9e\x6f\x77\xc1\x59\x4e\xd4\x12\xb9\xf6\xff\x7e\xcb\xa9\x73\xd7\x3f\x04\x8f\x02\x89\xd5\x6a\xf8\x65\x8c\x34\x8d\x6f\xb2\xc4\x65\xf6\x1f\x66\xdc\xa6\xf8\x6b\x75\xbc\x71\xa6\x49\xdd\xf5\xb3\x98\x3e\xb6\xa5\xd9\xf8\x11\x6c\xd3\xed\x69\x3e\x85\x08\x0b\xbd\xfc\x81\x4d\x8d\xc2\xc3\x78\x5b\x13\x09\x13\x18\x3c\x3d\xff\x3d\xe6\x68\x33\xd5\x41\x62\xf5\xeb\xa6\xe1\x9f\x1f\x99\x86\x5f\xfb\x11\xb8\x9b\x6d\xe3\x30\x5c\xfa\x15\x82\x50\x84\x7f\xf1\xcf\x46\x94\xfe\xdb\x04\xdc\x99\x18\x87\xef\x2f\x1c\xfa\xc3\xdb\x37\xbf\x92\x11\x65\xbb\x1f\x82\xcd\x16\x73\x6d\x70\xc3\x13\x5e\x40\x59\xbe\xe5\x05\xa6\xdd\x42\x91\xdf\xce\x4e\x11\x0f\x2f\xcb\xb6\xb8\x93\x4a\x51\x7a\x8d\xde\x2c\x77\xef\x9c\x27\x4e\x5f\x60\xdb\x57\xaf\xc0\x4b\x39\x3b\xb9\x37\x87\x9f\x1e\xb6\xfb\x3f\xdb\x18\x8a\xc6\xec\x6f\x21\x62\x29\xea\x6c\x5c\x1b\xdc\xf3\x0b\xdf\xf8\xb8\xf0\x33\xe7\x78\x2b\x11\xef\x9f\x73\xc7\xfd\xa5\x83\xa5\xc8\x32\x1a\x2a\x3b\x86\x61\xb6\x1c\xf8\x5e\x4e\xac\x35\x2f\x1e\x2b\xa7\xc0\xd5\x18\x59\xd1\x00\x65\x2d\x1a\xd7\xbd\xfb\x4c\xb5\x4a\x0d\xba\x00\x1d\x83\x79\xba\xd7\x59\xbe\xc5\x49\xdb\x96\xde\x31\xbd\x50\x75\x7b\x53\x59\x3b\xca\xc5\x1d\x67\xa0\x76\x41\xc2\x91\x2e\x4b\x69\xdf\x2b\xeb\xd8\xf1\x43\xf4\x37\x5f\xc3\xb4\xf7\x7f\x15\x8a\x86\x98\x68\x7d\x5e\x96\xa6\xba\xaa\x85\xeb\xfd\x7f\x07\xe9\x77\xd9\x92\x69\xf2\xa5\x1a\x8b\xd6\x8f\x49\xff\x56\xe6\x81\x65\x53\x3c\x71\xf1\xb2\x09\xce\xe7\xf6\x13\xb3\xe5\x2f\xf1\xde\x89\xd4\xf3\x67\x25\x90\x6d\xaa\x47\x33\xa7\x8b\x99\x07\x0b\xd8\x28\x63\x78\x3d\x8b\x6f\x09\x9d\x87\x64\x09\x1b\x58\x75\x0c\xff\x72\xa2\xc3\x33\x83\x4e\xc1\x81\x56\x08\xca\xb1\xff\xa2\xd1\x97\x74\x89\x36\x71\xc6\x2c\x67\x4f\x5e\xaf\x9e\xd9\x93\xbe\x5c\xbe\x5c\xc3\xd5\x6d\x81\x24\x68\x19\x56\xcf\xd1\x1e\xde\x9e\x8c\xaf\xfa\x12\x5f\x60\xa6\xf0\x9e\x6e\x36\x4e\xe6\xe9\x14\x9a\x0a\xe8\xd3\x97\x71\x27\x31\xf3\xcd\x1b\xd2\xfb\xff\x05\x00\x00\xff\xff\x02\x71\x59\x69\xf4\x26\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +138,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x37, 0xcb, 0x40, 0x9f, 0xc8, 0x19, 0xeb, 0x38, 0x46, 0xc9, 0x4b, 0xf6, 0x55, 0x21, 0x12, 0x92, 0x81, 0x83, 0xfe, 0xb9, 0x3e, 0x10, 0xc1, 0xe6, 0xc2, 0xa8, 0x5, 0xce, 0xf9, 0x7, 0x88, 0x3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xac, 0xf7, 0xfc, 0xaf, 0xb8, 0xc1, 0x79, 0x74, 0x28, 0x12, 0xa8, 0x53, 0x3a, 0x1a, 0x7b, 0x62, 0xa0, 0xd8, 0xbd, 0x28, 0xc4, 0x6d, 0x28, 0xce, 0xd5, 0x8f, 0xdf, 0xdb, 0x50, 0x47, 0xd3, 0x6c}}
 	return a, nil
 }
 
@@ -201,6 +202,26 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	return a, nil
 }
 
+var _groupbankCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x53\xcd\x6e\x1a\x4d\x10\xbc\xf3\x14\x75\xb2\xe1\x60\xb8\x58\x3e\xac\xfc\x49\x7c\x91\x85\x65\x25\x91\x25\x07\x92\x43\x94\x43\x7b\xe8\x65\x37\x2c\x33\x68\x66\x96\x0d\x42\xbc\x7b\x34\xbf\xc0\x22\x2b\x7b\x59\x69\xa6\xbb\xba\xba\xaa\x86\x84\x60\x63\x86\xd4\x34\x23\x08\x25\xad\x26\x61\xf1\xac\x55\xbb\x9d\x7d\x79\xfd\xf1\x89\xe4\x1a\x87\xc1\x00\x00\x26\x93\x09\xbe\x59\xa5\xd9\x80\x49\x54\x68\x0d\x6b\x73\x8b\x25\x6f\x95\xa9\xad\xc9\x35\x9f\x79\x5f\x60\x5e\x31\x5e\x9e\xa0\x4a\xd8\x8a\x7d\x29\xba\x4a\xa1\x22\x93\x1a\x78\xe9\x3b\xce\xe7\x37\x6c\x33\x5c\x81\xe9\x61\xf1\x22\xed\xc3\x7d\x81\x59\xa3\xba\xb9\x5a\xb3\x1c\x7f\xa7\xb6\xb1\xc7\x13\x9f\xff\xe5\x3e\x80\x0b\x92\x10\xd4\x34\xa9\x1f\x56\xc1\x38\xb2\x6e\x7e\xad\xb1\x73\x8d\xa8\x58\x73\xee\x9d\x57\xbc\xc7\x8a\x2d\x08\x9a\x8d\x6a\xb5\x60\xa8\xf7\xdf\x2c\x2c\xde\x49\xac\x61\x2b\xb2\xae\x7b\xef\xc1\x5b\xc3\x0e\xb3\xab\x6d\xb5\xd4\xd4\x45\xd8\x38\xed\x6a\x93\xb2\x95\xe9\x6e\x58\x6a\xb5\x29\x30\xed\x2d\x31\x2a\x30\x7d\x0a\x15\x5f\x49\xd2\x8a\x35\x0e\x1e\xc6\x7d\x4e\x88\x4d\x3c\x7d\xbc\x83\xd0\x4c\x96\x71\x59\x3e\x1c\x0d\x72\x7d\x72\xc6\x8b\x1d\xe7\x2a\x7d\x6b\xe2\xda\x61\x0f\x2c\x16\xd9\x91\x5a\xf7\xd0\xb2\x04\x19\xd3\x70\x53\x8e\x93\x1b\x3f\x23\x9b\x71\xdb\xd6\xcb\x5f\x8e\x93\xdb\xea\x82\xc0\x1b\xdb\x56\xcb\x08\x9e\xc8\x5b\xe5\x0e\x36\xb9\x4e\x87\xa2\xc7\xbb\x58\xe0\x2f\xce\xfc\x7c\x0d\xfa\x27\xe9\xa1\x3a\xc9\xda\x71\xa6\x53\x6c\xe2\x52\x26\x44\xb1\x4e\x23\xb7\xba\xde\x39\x95\x48\x08\xd5\x4a\x9b\x21\x3d\xd6\xaa\xde\xb1\x81\x92\xcd\xde\xf3\x89\x5e\x39\x7a\xe9\x2c\xa2\x9e\x4c\xff\x38\xa6\x39\x2d\x1f\xfa\xd7\x8f\x42\x4a\xcd\x90\x36\x8e\x5b\x81\xc5\xac\xfe\xf3\x70\x3f\xba\x8e\xc5\x19\x48\xd4\xf5\x39\x26\xb4\x64\xcd\x52\x70\x94\xf4\x1f\x74\xcf\x83\x94\x6f\xfc\x80\x37\x2e\xf1\x1f\x86\x37\xe6\xe2\x8d\x9f\x8c\xf6\xb6\x07\x97\xc9\xe0\xa6\x9f\xda\x41\x9f\xde\xc9\x76\x84\xe5\x9c\x5b\x0e\x36\xd0\xea\x48\xda\xf3\x77\x73\xd1\x1e\xd3\x70\x45\x70\x7c\xa5\x57\xf8\x8f\x72\xf7\x31\x06\xe7\xf8\x37\x00\x00\xff\xff\xc0\x9d\x44\x2f\xbf\x04\x00\x00"
+
+func groupbankCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_groupbankCdc,
+		"GroupBank.cdc",
+	)
+}
+
+func groupbankCdc() (*asset, error) {
+	bytes, err := groupbankCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "GroupBank.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0xc, 0xac, 0x8d, 0x28, 0x97, 0x86, 0xf7, 0x25, 0xb0, 0xf1, 0x2b, 0xc9, 0x26, 0xd7, 0x85, 0x3f, 0xc4, 0xe6, 0x6f, 0x9b, 0xab, 0xd6, 0x9, 0x39, 0xad, 0x21, 0x7d, 0x56, 0x9f, 0x55, 0xe}}
+	return a, nil
+}
+
 var _multiplevaultsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xb1\x8e\x1a\x31\x10\x86\x7b\x3f\xc5\x2f\x2a\xb6\x81\x2b\xa2\x14\x2b\x5d\x14\x25\x0a\xdd\x55\x21\x69\xa2\x14\x73\x66\x96\xb5\xe2\xb5\x2d\x7b\x0c\xd9\x20\xde\x3d\xb2\x77\xe1\x20\x34\x71\x61\xe1\xd1\x30\xff\x37\x9f\x56\x29\x33\x04\x1f\x05\x9b\xec\xf6\xe6\xd5\xf2\xd6\xff\x62\x87\x2e\xfa\x01\x8b\xbb\xda\x42\x29\xd2\x9a\x53\x5a\x92\xb5\x0d\xb4\x77\x12\x49\x0b\x8c\x13\x8e\x1d\x69\xc6\x4b\xb6\x62\x82\xe5\xef\x94\xad\x24\x9c\x94\x02\x80\xf5\x7a\x8d\xcf\xde\x09\x19\x97\x20\x3d\x43\xbc\x90\x45\xca\x21\xd8\x11\xbe\xab\xb5\x6e\x4e\x82\x94\xa8\x84\x1d\x77\xc6\xf1\x0e\xc6\x41\x7a\x93\xae\x69\x75\xe2\x8c\x71\xa9\x35\x38\x50\x9c\xa6\x7e\xad\x43\x5b\x9c\xb6\x63\xe0\x16\xdf\x36\xe6\xf7\xfb\x77\xe7\x37\x8e\x4d\x76\x5a\x8c\x77\x10\x8f\xc8\x92\xa3\x9b\x88\xc6\xc0\x85\x8d\xa4\x3e\xdf\x56\x1b\x82\xe5\x81\x9d\xa4\xdb\xdc\xba\xfe\xc1\xf0\xb1\x50\x63\xcf\x52\xf7\x2d\x89\x69\xd9\xb4\xf8\x51\x7e\xfd\xc4\xa9\xfe\xa5\x9c\xe0\x93\xdc\x3c\xcb\x89\x9c\xb2\x95\x95\x65\xb7\x97\x1e\x1f\xf0\xd4\x62\xf1\x92\x53\x91\xb9\x33\x9a\x84\x71\x2c\x30\xf7\x56\xae\x98\x37\x3e\x66\x51\x69\x71\x1d\x7f\x56\xd3\x7d\xdd\x59\x47\x26\xe1\x2f\x43\x90\xb1\x82\x82\xac\xf5\xc7\x04\x72\x23\x72\xe2\x62\x6e\xee\x01\xc1\xf1\x11\x53\x57\xb5\xd1\x53\x02\xe1\x0f\x47\x8f\x57\xb2\xe4\x34\x5f\xc6\x3e\x08\x29\x2e\xfe\x8d\x5a\x1e\x2e\x66\x5a\x94\xbb\x69\xf1\xf1\x74\xf7\x51\xad\x6a\xdf\xf9\xbf\x6c\xed\x59\x3e\x4d\x10\xcb\x06\xcf\xcf\x78\x5a\x15\x6d\xdb\x9e\x0b\xb5\x1d\xe7\xf4\xdd\xcc\x3f\x14\x9d\x3d\x1d\xf8\x0e\xff\xd1\x53\xb9\xd5\xf9\x6f\x00\x00\x00\xff\xff\xe0\x68\x11\xe5\x07\x03\x00\x00"
 
 func multiplevaultsCdcBytes() ([]byte, error) {
@@ -418,6 +439,7 @@ var _bindata = map[string]func() (*asset, error){
 	"FungibleToken.cdc":                    fungibletokenCdc,
 	"FungibleTokenMetadataViews.cdc":       fungibletokenmetadataviewsCdc,
 	"FungibleTokenSwitchboard.cdc":         fungibletokenswitchboardCdc,
+	"GroupBank.cdc":                        groupbankCdc,
 	"MultipleVaults.cdc":                   multiplevaultsCdc,
 	"utility/MetadataViews.cdc":            utilityMetadataviewsCdc,
 	"utility/NonFungibleToken.cdc":         utilityNonfungibletokenCdc,
@@ -476,6 +498,7 @@ var _bintree = &bintree{nil, map[string]*bintree{
 	"FungibleToken.cdc": {fungibletokenCdc, map[string]*bintree{}},
 	"FungibleTokenMetadataViews.cdc": {fungibletokenmetadataviewsCdc, map[string]*bintree{}},
 	"FungibleTokenSwitchboard.cdc": {fungibletokenswitchboardCdc, map[string]*bintree{}},
+	"GroupBank.cdc": {groupbankCdc, map[string]*bintree{}},
 	"MultipleVaults.cdc": {multiplevaultsCdc, map[string]*bintree{}},
 	"utility": {nil, map[string]*bintree{
 		"MetadataViews.cdc": {utilityMetadataviewsCdc, map[string]*bintree{}},

From 9e68e5a6ce6a84caae81aa5e280a718f1b875c97 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 21 Nov 2023 10:55:23 -0600
Subject: [PATCH 068/115] remove default implementations and move destroy
 supply update

---
 contracts/ExampleToken-v2.cdc              | 11 ++----
 contracts/FungibleToken-v2.cdc             |  8 ++---
 lib/go/contracts/internal/assets/assets.go | 35 ++++---------------
 lib/go/test/token_test.go                  | 39 ++--------------------
 4 files changed, 13 insertions(+), 80 deletions(-)

diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
index b8787350..cd5e643e 100644
--- a/contracts/ExampleToken-v2.cdc
+++ b/contracts/ExampleToken-v2.cdc
@@ -198,14 +198,6 @@ access(all) contract ExampleToken: ViewResolver {
         access(all) fun createEmptyVault(): @ExampleToken.Vault {
             return <-create Vault(balance: 0.0)
         }
-
-        // TODO: Revisit if removal of custom destructors passes
-        // See https://github.com/onflow/flips/pull/131
-        destroy() {
-            if self.balance > 0.0 {
-                ExampleToken.totalSupply = ExampleToken.totalSupply - self.balance
-            }
-        }
     }
 
     /// Minter
@@ -244,6 +236,9 @@ access(all) contract ExampleToken: ViewResolver {
     // Will need to add an update to total supply
     // See https://github.com/onflow/flips/pull/131
     access(all) fun burnTokens(from: @ExampleToken.Vault) {
+        if from.balance > 0.0 {
+                ExampleToken.totalSupply = ExampleToken.totalSupply - from.getBalance()
+        }
         destroy from
     }
 
diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index 519558b2..8b1e3bd6 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -168,14 +168,10 @@ access(all) contract FungibleToken {
         }
 
         /// Returns the storage path where the vault should typically be stored
-        access(all) view fun getDefaultStoragePath(): StoragePath? {
-            return nil
-        }
+        access(all) view fun getDefaultStoragePath(): StoragePath?
 
         /// Returns the public path where this vault should have a public capability
-        access(all) view fun getDefaultPublicPath(): PublicPath? {
-            return nil
-        }
+        access(all) view fun getDefaultPublicPath(): PublicPath?
 
         /// Returns the public path where this vault's Receiver should have a public capability
         /// Publishing a Receiver Capability at a different path enables alternate Receiver implementations to be used
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 380ced92..af357bc5 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,12 +1,11 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (11.924kB)
+// ../../../contracts/ExampleToken-v2.cdc (11.769kB)
 // ../../../contracts/ExampleToken.cdc (11.958kB)
-// ../../../contracts/FungibleToken-v2.cdc (9.972kB)
+// ../../../contracts/FungibleToken-v2.cdc (9.668kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
-// ../../../contracts/GroupBank.cdc (1.215kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (26.648kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (13.408kB)
@@ -82,7 +81,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x47\x72\x7a\xc9\xb6\x9a\x38\x6e\xda\xc4\xbb\x3b\xd3\x4e\x33\x89\xdb\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x9d\x03\x80\x24\xc0\x8b\x2c\x3b\x79\x5a\xbe\xd8\x22\x71\x0e\xce\xfd\x06\xf0\xa2\x94\xca\xc0\x65\x25\xd6\x7c\x95\xe3\x95\xfc\x84\x02\x32\x25\x0b\x98\x44\xef\x26\x27\x7e\xe5\x6f\x68\x58\xca\x0c\xfb\x93\xe3\x4e\xfb\x95\xd1\xbb\x66\x65\x04\x3f\x04\x36\xbe\xa0\xc1\x41\xbf\xde\xa0\x96\xf9\x16\x95\x87\x0a\x5f\x4d\x4e\x4e\x58\x92\xa0\xd6\x53\x96\xe7\x33\x48\xa4\x30\x8a\x25\x06\x5e\x5d\xb3\xa2\xf4\x88\x97\x31\x92\x9b\x93\x13\x00\x80\xc5\x62\x01\x57\x1b\x04\xdc\xa2\x30\x60\x36\xcc\x00\xd7\x80\x05\x37\x06\x53\xd8\x6d\x50\x80\xc0\x1d\x18\xc2\xa0\x81\x29\x84\x82\x0b\x83\xa9\x05\x0e\xf7\x74\x08\xec\x4e\xfa\x37\xbb\x64\xca\x0a\x59\x09\xb3\x84\x3f\x2e\xf9\xf5\xd3\xef\x4e\xc1\xec\x4b\x5c\xc2\x5b\xa3\xb8\x58\xcf\x82\xed\xa5\x61\x39\xe8\xaa\x2c\xf3\x3d\xc8\x2c\x22\x5a\x03\x17\x80\xd7\x5c\x1b\x14\x09\xf6\x36\xdd\x32\x05\x86\xc0\xdf\x5a\xe8\x7a\xab\x16\xf7\x8b\xb4\xe0\x02\x5e\x33\xb3\xe9\xc1\xe6\x68\xdc\xe7\xb7\x46\x2a\xb6\x46\x5a\x44\xd4\x35\x3f\x5a\x2c\x7f\x68\x54\x16\x89\x1e\xc4\xf2\x27\xab\x72\x33\x8a\x65\x14\xe2\x75\xb5\xca\x79\xe2\x00\xda\xff\x07\xd7\xbf\xc1\x04\xf9\x16\xd5\x08\x48\x43\xe8\x65\x25\x12\xc3\xa5\x00\x23\x41\xa1\xa9\x94\x00\xb3\x41\x2b\x78\xed\x94\x4b\x3f\x1b\xf3\xe0\x24\xe7\x02\x85\xe9\xf3\xb5\xe5\xb8\x83\xac\x12\xb0\x46\x63\xa9\xbd\x22\x1c\xd3\xd9\x12\xde\xd1\x7f\xef\xe1\xc6\x82\xd0\x43\x04\xd2\x0e\x2f\x94\x62\xfb\xe6\xfb\xb9\xfb\xe7\xd9\x4f\xa1\x3a\xe7\x16\xd5\xf3\xe9\xec\x7d\x03\x5d\x93\x59\x23\xb0\x1f\x6e\x4f\x0e\x13\x44\xbe\x31\x4a\xcb\x96\xf6\x78\x83\x19\x9c\x83\xc6\x3c\x9b\xb3\x24\x21\x3b\x9c\x27\xac\x64\x2b\x9e\x73\xc3\x51\xcf\x57\x52\x29\xb9\x7b\xf6\xd5\x10\x75\x8b\xd2\x8a\x76\x81\xc1\x37\xfb\x69\xd6\xec\x43\xcf\xc5\x05\x94\x4c\xf0\x64\x3a\xf9\x45\x56\x79\x0a\x42\x1a\x70\x68\x81\x81\xc2\x0c\x15\xd9\x2c\xa9\x82\x84\x6e\xa9\x02\x55\x3b\x6c\x8b\xaa\x2b\x89\x9a\xfc\x79\xcb\xe8\x98\x4c\x48\x1c\x1e\x23\xad\x9c\x7e\xb0\x52\x5a\x02\x49\x65\xb6\x84\x17\x62\xff\xd6\xa8\x2a\x31\x17\xff\xa3\x12\x0a\x79\x27\xce\x23\x41\x91\x3f\x58\x9a\xea\x5f\xcd\xdb\x57\x2c\xd9\x40\x45\x3e\xad\x8d\x54\xa8\x81\x09\xe0\x42\x1b\x46\xc4\xc8\x0c\xa4\xc8\xf7\x96\x22\x0b\x4e\x11\xc8\x6c\x90\xbb\xd5\x6c\x8d\x51\xdc\xcc\xbc\xc7\x69\xbf\xcc\xc3\x30\x91\xc2\x5a\x6e\x51\x09\x4c\x61\xe5\xb0\x95\x0a\xed\xfb\x52\x6a\x43\x3e\x98\x72\x0b\xd8\xa0\xe3\xa2\x93\x7e\x6c\xf4\x35\x1b\xdc\xdb\xb8\x9b\xb0\x3c\xc7\x74\x1e\xed\x9e\x6c\x30\xf9\xa4\x61\xc3\xca\x12\x05\x30\x03\xaa\x12\x86\x17\x68\x41\x91\xc2\x3c\x6b\x28\xa4\xb8\xde\xc1\xd1\xe0\xa2\xac\x50\xa9\x04\x69\x85\x70\xfc\xaf\x10\x12\x85\x8c\xb2\x80\xe7\x8c\xc2\x06\x5e\x1b\x92\x50\x14\x45\xea\xb8\xb2\x6f\xd0\x11\xb9\x29\x66\x5c\x58\xe0\x53\xd0\x56\xc1\x0a\x89\x04\x21\x61\xc7\xf6\x90\x49\xa2\xad\x60\x39\x4f\xb8\xac\xb4\x53\x87\x91\x7e\x4f\x27\xc5\x56\x34\xb2\xf2\xdb\x72\x01\x8c\xab\x39\xbc\x00\x5d\x62\xc2\x59\x0e\x36\xd7\x28\x6b\x36\xc4\x01\x08\xc4\x54\x13\xa6\x55\x4b\x83\x91\x36\x6b\x35\xe8\xda\x8c\x16\x8b\x22\xf4\xad\x06\xa1\x25\x65\x19\xab\xc6\xf9\x41\x9d\x43\x43\x8d\xd8\x6c\x04\x2b\x96\xd7\xc6\x64\x36\x5c\x3b\x8b\x6d\xd6\x76\x33\x98\x5f\x1d\x67\xaf\x60\x21\xf9\xa8\x5b\xa9\x0f\x25\x99\x41\x88\x72\x3c\xc9\x0c\xae\x57\x75\xa6\x19\xcc\x31\xad\xbd\x90\x23\x6a\x6b\x07\x9e\x26\x28\x99\xd9\x90\xdd\x29\x0c\xbc\x59\x6f\xac\xe3\x9b\x7d\xc9\xc9\xf6\xac\x59\x59\xa7\x4b\x87\xa5\x11\x04\xf9\x97\x98\x75\xf2\x2a\x45\xfc\xe0\x67\x18\xd5\x82\xe8\x60\x23\x9a\x1e\x90\xcd\xed\x38\x0f\x4e\x4a\x31\x0b\xb5\xda\x6a\x1e\x36\x6c\x8b\xc0\xea\xa5\x4d\xa8\xdc\x1f\xcb\x48\x2b\x4b\xe2\xa3\xfd\x75\x88\x8d\xb2\xaf\xb1\x07\x72\xf1\xff\xba\x29\x22\xbe\x14\x43\x6f\x02\x53\x39\x9e\xa5\xd0\xc0\x86\x98\xba\x7f\xce\x0f\x76\x78\x17\xbd\xa4\xc7\xd6\x20\xe3\x05\xf6\xfc\xf2\x8a\xfe\x3e\x9f\xce\x4e\x1f\x00\xfa\x92\xeb\x32\x67\xfb\x07\x42\xdb\x18\xf2\x92\x19\xf6\x20\xf8\xab\xb6\xec\x7d\x3e\x8d\xd3\xee\xfb\xbb\xe4\xfa\x90\xba\x81\x1e\xbd\xe3\x26\xd9\x38\xb5\xdc\xf4\x28\x4e\x98\xc6\xe3\xe5\xbd\xec\xc1\x07\x7a\xbc\x13\xc1\x74\x10\x9a\x9e\xcc\x78\xad\x2c\x6b\x7b\x6b\xf9\xbc\x8f\x46\x67\xc0\xf4\xa3\xc3\x84\xf8\xc5\x17\x7d\xe5\xb5\xc4\x34\x4a\x7e\x10\x39\xa1\x89\x1c\x41\x50\xb3\xfc\x62\x90\xa2\xd9\x43\x55\xd6\x4a\x65\x58\x6b\x54\x53\x16\x98\x72\x06\xe7\x71\x5f\x3c\xff\x8d\xde\x8e\x2b\xcb\xca\x88\xe7\xb8\xec\x80\xfd\xeb\xea\xea\xf5\x25\xcf\xf1\x30\x64\xa5\xf2\x25\x4c\x36\xc6\x94\x7a\xb9\x58\x30\xad\xd1\xe8\xf9\x0e\x57\x9a\x1b\x7c\x4c\x68\xf5\x3c\x91\xc5\xe2\xfb\xec\xe9\x37\x3f\x7e\x97\x9c\x25\xff\x60\x3f\x24\x69\xfa\xf4\xbb\x6f\x57\x4f\x92\x1f\xbe\x39\xeb\x7c\x60\xdf\x7f\x9f\xac\x9e\x24\x3f\x7e\xfb\xf4\xc3\x65\x2e\x77\x1f\xfe\x92\x2a\x2d\x98\xfa\x34\xd7\xdb\xf5\x64\x94\x8e\x01\xcf\xad\x1f\x2b\x91\x2b\xdb\xf3\x4e\x78\xc1\xd6\xb8\xd0\xdb\xf5\xd7\xd7\x45\x3e\x8c\xad\xaf\x9d\x48\xb4\x7a\x58\xb6\x7a\xfa\xce\x7e\x7e\x3f\x0c\x7e\x8c\x3f\x79\xed\x8e\xcb\x5a\xb0\x82\x78\xf0\x8d\x40\x83\xcc\x35\xfb\x93\x71\x01\xe8\x7d\xb1\x92\xa4\xa2\x57\x97\x57\x07\x96\xa5\xa8\x13\xc5\x4b\xaa\x51\x97\x30\xb9\xa2\x94\x95\xd5\x5b\xd8\x2a\x8d\xca\xc6\x4a\x63\x0a\xcc\x96\xea\xbe\xe9\xa0\xaa\x6e\x83\x79\x09\x7b\x59\x41\x8a\x5b\xcc\xa5\xfd\x5f\x81\xa0\x2a\xf5\xf2\x0a\xfe\x4f\x0a\xd2\xe4\xfc\xc0\xde\x78\x6d\x50\x09\x96\xff\xf1\xe6\xd7\xae\x0d\xbe\x6a\x3f\x4d\x1b\x23\xf3\x7b\x3f\xce\xcc\x5c\x8a\x8c\x90\x4b\xb5\x9e\x1c\x30\x82\x5c\xae\xa5\x5e\x7a\x15\x1e\x10\x95\xa4\x62\x56\x2f\x07\xc2\x6a\xf8\x4c\xcc\x8e\x1b\x83\x6a\x72\x14\xb1\x7e\xb1\x75\x02\xa2\xf5\xc3\x2a\x97\xc9\xa7\x64\xc3\xb8\x98\x0c\x9b\x0b\xd8\x9c\x31\xf4\xf6\xc1\xb1\x23\x0c\x61\xe3\xd1\x23\xe8\x48\xa3\x7e\xb3\xee\x4c\x7d\x3d\x77\xb0\x29\xcd\x94\x2c\x96\xbd\xf2\x6f\x9c\xd1\xfb\x75\xa7\xae\x6a\x75\x84\x8e\x48\xef\xa8\xe4\x55\x8b\x63\xdc\xdd\xa2\x22\xbf\xcb\xce\xb8\x09\xc5\x95\x7b\xaf\xd6\x3a\x14\xa7\x1c\x89\x01\x60\x5b\x77\x8e\x83\x95\x4a\x6e\x79\x5a\xef\xb7\x28\x15\xdf\x32\x83\xfd\x91\xc0\xdd\x14\xff\xca\xc5\x27\x4c\x5d\xa4\xb4\x06\xf5\xd5\x4d\xdc\x6d\xd5\x95\xe6\xed\x60\xa5\xd4\xe5\xa3\x8f\x6e\x70\x04\x75\x37\x67\x9f\x8d\xc8\x35\xb3\xaf\x8a\xd2\xec\xed\xe2\x7a\x3c\xb7\x84\x69\x56\x09\x2a\x66\x7f\xba\x19\xe8\x2b\x6f\xef\x88\x02\xde\xce\x9e\x3d\x6e\x06\x21\xdd\x8d\xa6\x07\xdc\x7b\xf8\xd3\x03\xfd\x3b\xae\x42\x1f\x5a\xd3\x05\x58\xc6\xdd\x22\x9a\xf3\x46\x8a\x08\xbe\x1c\xc1\xdb\xed\x50\xe3\x20\x78\x3e\xd6\x61\xad\xd1\x10\x6e\xa9\x0c\xa6\xed\x24\x14\xa4\x4d\x58\xb6\xa7\x55\xbe\x07\x63\x90\x73\x6d\x07\x15\xae\x71\x8c\xc6\xae\x5c\x37\xf6\x6e\x6b\xf1\xd2\x8f\x37\xe0\x40\xcf\x33\xb0\x2f\x19\xcd\x8d\x33\xc9\x9f\xa5\xcc\xbb\xa6\x42\xb1\x54\xd7\x50\x16\xa0\xb3\xfc\x1c\x6e\x62\x01\xc4\xab\xdf\x59\xf7\x5f\xa3\xdd\x6c\x3a\x7b\x0f\xe7\x60\x54\x85\x83\xdd\x5c\x04\x78\x74\x2b\xc7\x75\x9f\xab\xa9\x69\x7c\x6c\xe6\x08\x3d\xd0\x40\x8e\xc9\xe5\x9d\xb1\x7d\xe1\xc5\x05\x64\x2c\xd7\x38\xac\x4e\xe0\x82\x1b\xce\x72\xfe\xb7\x9b\x52\xd4\x83\x1a\x66\xda\x81\x8f\x75\x26\x3b\x44\xe7\x45\x8b\x86\x00\xa7\x9d\x49\xcd\xac\xdb\x1f\x11\x7d\x35\xca\xf3\x1a\x79\x4f\x41\x3c\x45\x61\x78\xc6\x51\xc1\x39\x4c\x7a\x01\x73\xd2\xc7\x19\x24\x00\x38\x0f\x67\x20\xd3\x16\xd7\x32\xc0\x3b\x7b\xd4\xc7\xd1\xc6\x74\x38\x0f\x7a\xf5\x7b\x60\x08\xd3\xc9\x38\x8e\x88\xa1\x3a\x72\x4f\x02\x7c\x1d\xff\xfa\x27\x9a\x48\x15\x7e\xbc\x78\x60\x64\x16\x78\xc8\xcf\x0e\x88\xbc\xc2\xa9\xe4\x80\xe1\x74\xd5\xd1\xa1\x63\xc7\xcd\x26\x55\x6c\x17\xbe\x8c\x16\xb4\x87\x2b\xd6\xa3\xd9\x27\x37\x39\x76\xa7\x5c\xbe\x36\x65\x6a\x5d\x15\x28\x4c\x04\xc8\x44\xda\x60\xf7\xf1\xc0\x03\xd9\x93\xbc\x66\x6a\x3c\x1f\xdd\xfa\xdf\xc6\xe7\x12\x0a\x32\x76\x7a\x89\x45\x29\x15\x53\x7b\x3f\x6f\xae\x0f\xee\x6c\x99\x4c\x85\xb1\xcc\xd3\x08\x83\x3d\x06\x72\x27\x6a\x8e\x00\x85\xb0\x42\x2e\xd6\x60\x14\x13\x3a\x43\xa5\x30\x9d\xd3\x46\x2a\x98\x28\x09\xdc\x05\x31\x95\xf0\xd4\x33\x61\xbf\xad\x8c\x26\xc3\x16\xb3\x9b\x31\x83\x96\xc0\x8d\x1d\x27\xdb\x41\x6c\x29\xa9\x2b\x8b\x69\xc2\x5c\xa3\x9d\x53\x0d\x33\xee\x75\x1e\x27\xc8\xbf\xbc\x1c\xd9\x2a\x47\x37\xc8\xa8\x25\xdb\x39\x6e\xa4\xe4\xda\x4f\xd7\x87\x1d\x36\xfa\xf9\xd8\x2b\x69\xc8\x9e\x9e\x3d\x0e\xe7\xd4\x6d\x58\x70\x10\xb3\x31\x13\xf3\x62\xb8\x9f\x85\x79\x51\xcb\xd5\x7f\x30\xe9\x9a\x99\x35\x2d\x96\xa6\x3a\x42\xc3\x8d\x6e\xbc\xc9\x6b\xa8\xe3\x5c\x72\x27\x50\xe9\x23\xac\x8e\x6b\x60\x79\x2e\x77\xce\xaa\x52\xd4\x46\x49\x77\x9a\xa1\x69\x7b\x47\xda\x0a\x13\x56\x69\x6c\x0d\x39\xf6\x2b\x22\x39\x30\x58\x32\x4d\x54\x35\x25\x7e\x0c\x6f\x67\xe7\x7f\xfa\x41\x65\x4d\xec\x86\xc5\x7c\xad\x10\x05\xd9\x9a\xae\x0a\x6a\x06\x45\xea\x4e\x15\x32\x69\x4f\x47\xbc\xa1\x59\x0a\xeb\x33\x8e\x11\x93\x6a\x86\x60\x5e\x21\xbe\x75\x18\x2e\xc6\xba\x41\xbe\x69\x57\xe0\xd9\x63\xe7\xc0\x4c\x3f\x1a\xb2\xb5\xa3\x2d\xed\x6b\x87\xaf\x17\xa0\xe8\x89\xbe\xc0\x39\x9c\xcd\xcf\xa2\xef\xb5\x4a\xe2\x70\xd9\xb1\xbb\x6e\x79\x78\xa4\x01\xc6\x21\xc7\xe9\x9a\xbc\x0d\x58\x68\x4f\x7f\xa3\x92\xbd\x70\x57\x07\x11\xde\xc6\x08\x96\xe7\x14\x6e\x7c\xac\x98\xc3\x0b\x77\xe6\x53\x54\xda\xc5\x0c\x57\x23\xd5\xa7\x55\x3d\x8c\xb6\xff\xb2\x98\x1c\xee\x26\x06\x75\x8f\xe7\xe8\x85\x54\xa9\x3b\x4e\xb2\xc6\xeb\xbe\xc7\x18\x5d\x5f\xe9\xcf\x89\x98\x1b\x35\xd4\x05\x5a\x6d\x16\xba\x39\xbf\x71\x63\x08\x2a\x30\x8e\xb3\xab\x7e\x3d\x7e\x4c\x34\xba\x23\xb8\x9c\xcd\xcf\x46\x22\x0b\x5c\xfd\xfe\xf2\xf7\x25\xbc\xc1\x2d\xd7\xdc\x00\xcf\x40\x61\x21\xb7\x2c\x27\x06\x92\x4a\x1b\x59\x38\x43\xa9\x12\x23\x95\x86\x92\x69\x8d\xa1\x6f\xc1\x5b\x44\xa8\xc7\x06\x6b\x6e\x36\xd5\xca\x4e\x0d\xdc\x8c\x63\x91\xe5\xbc\xd4\x8b\xb2\xca\xf3\xc5\x93\x6f\x9f\x9c\x74\x6c\x6f\xda\xf5\x10\x9e\xc5\xf6\xfd\x9c\x48\x1f\xe8\x69\xc6\x8a\xf8\xee\x10\x20\xfc\xf4\x78\x38\x97\x43\x54\xd8\xbb\xff\x82\x73\x60\x77\x48\x78\x02\x23\xc7\x9e\x75\x70\x75\x61\xd7\xea\x9a\xd9\x8b\x23\xde\x4c\xdc\xb1\x28\x05\xae\xfa\x28\xf1\x7e\x47\x88\xfe\x8c\xf2\x26\x32\x41\x42\xe3\xee\xb8\x1c\xe9\x8e\x04\xa0\x83\x8d\x4f\x6d\xe4\x27\xe3\x2e\x6a\x27\x33\xc1\x55\x9a\xd3\x51\xa7\x0c\x21\xba\x6e\x79\x94\x79\xb7\xa4\x3f\x24\xe9\x3e\x44\xed\x5f\x0f\x25\x63\x2c\xf8\xc8\x8d\x23\xf7\xb7\xbe\x71\x14\xf7\x34\xf3\xa0\xc8\xfd\xbc\xdc\xde\x31\xb2\xc1\x28\x1b\x9a\xdb\x67\x45\xd7\x2f\x1b\x59\xbf\x6c\x54\xfd\x02\x11\x75\xc8\x7f\x1e\x16\x49\x1b\x35\xc2\x1d\x61\xf4\x76\xe8\xde\x14\x69\xc6\xc7\xb5\xb6\xf6\xaa\x2f\x87\x9c\x02\x66\x19\x26\x86\x6f\x31\xdf\xc3\xaa\x52\xc2\x16\xd0\x6d\x19\xd3\x53\xf9\x4f\x25\x53\xac\x00\x57\x5f\x34\x35\x4e\xd0\x6b\x4a\x61\x18\xef\xa0\xb1\x32\xac\x94\xe8\x60\xfb\x8c\x28\xbf\x58\xc0\x5f\x3c\xcf\xed\xe5\x08\xab\xc0\x94\xea\x27\xa8\xca\x94\x04\x44\x76\x14\x04\x8e\x1a\xe2\xde\x39\xa1\xab\x3b\xe2\xc1\x87\x09\x5f\x60\xf5\x15\x17\xe6\x8e\xba\x96\xa1\xc5\xa1\x86\x6c\xeb\x1d\x2e\xb4\x0e\x1d\x47\x8e\x27\x67\x67\x54\x1a\xc5\x4b\xba\xd7\xfb\xe0\x1c\x16\xde\x9e\xa3\x39\xa5\xbb\x25\x18\x65\xd4\x5f\x9c\xed\xb4\x37\x7a\xac\x6b\x76\x63\xac\x35\x67\x7f\x35\x92\xbc\x89\x6d\x91\x1c\x93\x8b\xe8\xae\x90\x43\xd9\xfc\x1b\x15\x90\xc3\x36\xda\x65\x70\x16\xf3\xd5\xbd\x70\x08\xe7\xbe\x4e\x1c\xb9\x36\xf1\x68\x00\xfc\x75\x38\x0e\xe8\x42\x87\x77\x15\x3a\xc0\xfd\xab\x88\x03\xf0\xf1\xd5\x80\x47\x1d\xb5\x74\x87\xfa\x24\xb6\xa9\x9f\x66\x9e\x82\x91\xcb\x61\x2e\x67\x43\x0a\x1a\xb8\xbf\xd0\x99\xd8\x07\x0d\x32\x5e\x97\xb2\x53\xf8\xd0\xc2\x8f\x3e\x3a\x7d\x84\x02\xcd\x46\xba\xd6\x62\x8d\xe6\x85\x1d\xd3\xf9\x01\x57\xfd\xcd\x6c\x94\xac\xd6\xce\x14\x3e\xd6\x7c\x7e\x04\x9b\xe1\x33\x96\x84\x1a\xaf\x5b\x14\xf8\x18\x4e\x2a\x3e\x0e\x62\xf2\x9f\x87\x11\x45\xa6\x13\x1a\xee\x2f\xac\x3c\x78\x87\xaf\x96\x30\xd7\xba\xc2\x67\x5f\xf9\x89\xf5\x88\x74\x07\x75\x14\xa1\xb3\xa2\xd6\x9b\x69\x87\x84\x53\x60\x66\x39\x68\x5a\xb3\x88\xf2\x7a\x7e\x74\x4f\xaa\xc7\x0f\x03\x3e\x9b\x91\x80\xa2\x80\x89\xbe\x89\x07\xa6\x47\x8c\xb8\xe2\xb0\xf5\x5e\x57\xdf\x4d\x47\x76\xee\x98\xb9\x05\x0e\xcc\xbc\x1b\xa4\xea\xe4\x74\x7b\xf2\xdf\x00\x00\x00\xff\xff\x09\xc3\x07\x1a\x94\x2e\x00\x00"
+var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x47\x72\x7a\xc9\xb6\x9a\x38\x6e\xda\xc4\xbb\x3b\xd3\x4e\x33\x89\xdb\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x9d\x03\x80\x24\xc0\x8b\x2c\x3b\x79\x5a\xbe\xd8\x22\x71\x0e\xce\xfd\x06\xf0\xa2\x94\xca\xc0\x65\x25\xd6\x7c\x95\xe3\x95\xfc\x84\x02\x32\x25\x0b\x98\x44\xef\x26\x27\x7e\xe5\x6f\x68\x58\xca\x0c\xfb\x93\xe3\x4e\xfb\x95\xd1\xbb\x66\x65\x04\x3f\x04\x36\xbe\xa0\xc1\x41\xbf\xde\xa0\x96\xf9\x16\x95\x87\x0a\x5f\x4d\x4e\x4e\x58\x92\xa0\xd6\x53\x96\xe7\x33\x48\xa4\x30\x8a\x25\x06\x5e\x5d\xb3\xa2\xf4\x88\x97\x31\x92\x9b\x93\x13\x00\x80\xc5\x62\x01\x57\x1b\x04\xdc\xa2\x30\x60\x36\xcc\x00\xd7\x80\x05\x37\x06\x53\xd8\x6d\x50\x80\xc0\x1d\x18\xc2\xa0\x81\x29\x84\x82\x0b\x83\xa9\x05\x0e\xf7\x74\x08\xec\x4e\xfa\x37\xbb\x64\xca\x0a\x59\x09\xb3\x84\x3f\x2e\xf9\xf5\xd3\xef\x4e\xc1\xec\x4b\x5c\xc2\x5b\xa3\xb8\x58\xcf\x82\xed\xa5\x61\x39\xe8\xaa\x2c\xf3\x3d\xc8\x2c\x22\x5a\x03\x17\x80\xd7\x5c\x1b\x14\x09\xf6\x36\xdd\x32\x05\x86\xc0\xdf\x5a\xe8\x7a\xab\x16\xf7\x8b\xb4\xe0\x02\x5e\x33\xb3\xe9\xc1\xe6\x68\xdc\xe7\xb7\x46\x2a\xb6\x46\x5a\x44\xd4\x35\x3f\x5a\x2c\x7f\x68\x54\x16\x89\x1e\xc4\xf2\x27\xab\x72\x33\x8a\x65\x14\xe2\x75\xb5\xca\x79\xe2\x00\xda\xff\x07\xd7\xbf\xc1\x04\xf9\x16\xd5\x08\x48\x43\xe8\x65\x25\x12\xc3\xa5\x00\x23\x41\xa1\xa9\x94\x00\xb3\x41\x2b\x78\xed\x94\x4b\x3f\x1b\xf3\xe0\x24\xe7\x02\x85\xe9\xf3\xb5\xe5\xb8\x83\xac\x12\xb0\x46\x63\xa9\xbd\x22\x1c\xd3\xd9\x12\xde\xd1\x7f\xef\xe1\xc6\x82\xd0\x43\x04\xd2\x0e\x2f\x94\x62\xfb\xe6\xfb\xb9\xfb\xe7\xd9\x4f\xa1\x3a\xe7\x16\xd5\xf3\xe9\xec\x7d\x03\x5d\x93\x59\x23\xb0\x1f\x6e\x4f\x0e\x13\x44\xbe\x31\x4a\xcb\x96\xf6\x78\x83\x19\x9c\x83\xc6\x3c\x9b\xb3\x24\x21\x3b\x9c\x27\xac\x64\x2b\x9e\x73\xc3\x51\xcf\x57\x52\x29\xb9\x7b\xf6\xd5\x10\x75\x8b\xd2\x8a\x76\x81\xc1\x37\xfb\x69\xd6\xec\x43\xcf\xc5\x05\x94\x4c\xf0\x64\x3a\xf9\x45\x56\x79\x0a\x42\x1a\x70\x68\x81\x81\xc2\x0c\x15\xd9\x2c\xa9\x82\x84\x6e\xa9\x02\x55\x3b\x6c\x8b\xaa\x2b\x89\x9a\xfc\x79\xcb\xe8\x98\x4c\x48\x1c\x1e\x23\xad\x9c\x7e\xb0\x52\x5a\x02\x49\x65\xb6\x84\x17\x62\xff\xd6\xa8\x2a\x31\x17\xff\xa3\x12\x0a\x79\x27\xce\x23\x41\x91\x3f\x58\x9a\xea\x5f\xcd\xdb\x57\x2c\xd9\x40\x45\x3e\xad\x8d\x54\xa8\x81\x09\xe0\x42\x1b\x46\xc4\xc8\x0c\xa4\xc8\xf7\x96\x22\x0b\x4e\x11\xc8\x6c\x90\xbb\xd5\x6c\x8d\x51\xdc\xcc\xbc\xc7\x69\xbf\xcc\xc3\x30\x91\xc2\x5a\x6e\x51\x09\x4c\x61\xe5\xb0\x95\x0a\xed\xfb\x52\x6a\x43\x3e\x98\x72\x0b\xd8\xa0\xe3\xa2\x93\x7e\x6c\xf4\x35\x1b\xdc\xdb\xb8\x9b\xb0\x3c\xc7\x74\x1e\xed\x9e\x6c\x30\xf9\xa4\x61\xc3\xca\x12\x05\x30\x03\xaa\x12\x86\x17\x68\x41\x91\xc2\x3c\x6b\x28\xa4\xb8\xde\xc1\xd1\xe0\xa2\xac\x50\xa9\x04\x69\x85\x70\xfc\xaf\x10\x12\x85\x8c\xb2\x80\xe7\x8c\xc2\x06\x5e\x1b\x92\x50\x14\x45\xea\xb8\xb2\x6f\xd0\x11\xb9\x29\x66\x5c\x58\xe0\x53\xd0\x56\xc1\x0a\x89\x04\x21\x61\xc7\xf6\x90\x49\xa2\xad\x60\x39\x4f\xb8\xac\xb4\x53\x87\x91\x7e\x4f\x27\xc5\x56\x34\xb2\xf2\xdb\x72\x01\x8c\xab\x39\xbc\x00\x5d\x62\xc2\x59\x0e\x36\xd7\x28\x6b\x36\xc4\x01\x08\xc4\x54\x13\xa6\x55\x4b\x83\x91\x36\x6b\x35\xe8\xda\x8c\x16\x8b\x22\xf4\xad\x06\xa1\x25\x65\x19\xab\xc6\xf9\x41\x9d\x43\x43\x8d\xd8\x6c\x04\x2b\x96\xd7\xc6\x64\x36\x5c\x3b\x8b\x6d\xd6\x76\x33\x98\x5f\x1d\x67\xaf\x60\x21\xf9\xa8\x5b\xa9\x0f\x25\x99\x41\x88\x72\x3c\xc9\x0c\xae\x57\x75\xa6\x19\xcc\x31\xad\xbd\x90\x23\x6a\x6b\x07\x9e\x26\x28\x99\xd9\x90\xdd\x29\x0c\xbc\x59\x6f\xac\xe3\x9b\x7d\xc9\xc9\xf6\xac\x59\x59\xa7\x4b\x87\xa5\x11\x04\xf9\x97\x98\x75\xf2\x2a\x45\xfc\xe0\x67\x18\xd5\x82\xe8\x60\x23\x9a\x1e\x90\xcd\xed\x38\x0f\x4e\x4a\x31\x0b\xb5\xda\x6a\x1e\x36\x6c\x8b\xc0\xea\xa5\x4d\xa8\xdc\x1f\xcb\x48\x2b\x4b\xe2\xa3\xfd\x75\x88\x8d\xb2\xaf\xb1\x07\x72\xf1\xff\xba\x29\x22\xbe\x14\x43\x6f\x02\x53\x39\x9e\xa5\xd0\xc0\x86\x98\xba\x7f\xce\x0f\x76\x78\x17\xbd\xa4\xc7\xd6\x20\xe3\x05\xf6\xfc\xf2\x8a\xfe\x3e\x9f\xce\x4e\x1f\x00\xfa\x92\xeb\x32\x67\xfb\x07\x42\xdb\x18\xf2\x92\x19\xf6\x20\xf8\xab\xb6\xec\x7d\x3e\x8d\xd3\xee\xfb\xbb\xe4\xfa\x90\xba\x81\x1e\xbd\xe3\x26\xd9\x38\xb5\xdc\xf4\x28\x4e\x98\xc6\xe3\xe5\xbd\xec\xc1\x07\x7a\xbc\x13\xc1\x74\x10\x9a\x9e\xcc\x78\xad\x2c\x6b\x7b\x6b\xf9\xbc\x8f\x46\x67\xc0\xf4\xa3\xc3\x84\xf8\xc5\x17\x7d\xe5\xb5\xc4\x34\x4a\x7e\x10\x39\xa1\x89\x1c\x41\x50\xb3\xfc\x62\x90\xa2\xd9\x43\x55\xd6\x4a\x65\x58\x6b\x54\x53\x16\x98\x72\x06\xe7\x71\x5f\x3c\xff\x8d\xde\x8e\x2b\xcb\xca\x88\xe7\xb8\xec\x80\xfd\xeb\xea\xea\xf5\x25\xcf\xf1\x30\x64\xa5\xf2\x25\x4c\x36\xc6\x94\x7a\xb9\x58\x30\xad\xd1\xe8\xf9\x0e\x57\x9a\x1b\x7c\x4c\x68\xf5\x3c\x91\xc5\xe2\xfb\xec\xe9\x37\x3f\x7e\x97\x9c\x25\xff\x60\x3f\x24\x69\xfa\xf4\xbb\x6f\x57\x4f\x92\x1f\xbe\x39\xeb\x7c\x60\xdf\x7f\x9f\xac\x9e\x24\x3f\x7e\xfb\xf4\xc3\x65\x2e\x77\x1f\xfe\x92\x2a\x2d\x98\xfa\x34\xd7\xdb\xf5\x64\x94\x8e\x01\xcf\xad\x1f\x2b\x91\x2b\xdb\xf3\x4e\x78\xc1\xd6\xb8\xd0\xdb\xf5\xd7\xd7\x45\x3e\x8c\xad\xaf\x9d\x48\xb4\x7a\x58\xb6\x7a\xfa\xce\x7e\x7e\x3f\x0c\x7e\x8c\x3f\x79\xed\x8e\xcb\x5a\xb0\x82\x78\xf0\x8d\x40\x83\xcc\x35\xfb\x93\x71\x01\xe8\x7d\xb1\x92\xa4\xa2\x57\x97\x57\x07\x96\xa5\xa8\x13\xc5\x4b\xaa\x51\x97\x30\xb9\xa2\x94\x95\xd5\x5b\xd8\x2a\x8d\xca\xc6\x4a\x63\x0a\xcc\x96\xea\xbe\xe9\xa0\xaa\x6e\x83\x79\x09\x7b\x59\x41\x8a\x5b\xcc\xa5\xfd\x5f\x81\xa0\x2a\xf5\xf2\x0a\xfe\x4f\x0a\xd2\xe4\xfc\xc0\xde\x78\x6d\x50\x09\x96\xff\xf1\xe6\xd7\xae\x0d\xbe\x6a\x3f\x4d\x1b\x23\xf3\x7b\x3f\xce\xcc\x5c\x8a\x8c\x90\x4b\xb5\x9e\x1c\x30\x82\x5c\xae\xa5\x5e\x7a\x15\x1e\x10\x95\xa4\x62\x56\x2f\x07\xc2\x6a\xf8\x4c\xcc\x8e\x1b\x83\x6a\x72\x14\xb1\x7e\xb1\x75\x02\xa2\xf5\xc3\x2a\x97\xc9\xa7\x64\xc3\xb8\x98\x0c\x9b\x0b\xd8\x9c\x31\xf4\xf6\xc1\xb1\x23\x0c\x61\xe3\xd1\x23\xe8\x48\xa3\x7e\xb3\xee\x4c\x7d\x3d\x77\xb0\x29\xcd\x94\x2c\x96\xbd\xf2\x6f\x9c\xd1\xfb\x75\xa7\xae\x6a\x75\x84\x8e\x48\xef\xa8\xe4\x55\x8b\x63\xdc\xdd\xa2\x22\xbf\xcb\xce\xb8\x09\xc5\x95\x7b\xaf\xd6\x3a\x14\xa7\x1c\x89\x01\x60\x5b\x77\x8e\x83\x95\x4a\x6e\x79\x5a\xef\xb7\x28\x15\xdf\x32\x83\xfd\x91\xc0\xdd\x14\xff\xca\xc5\x27\x4c\x5d\xa4\xb4\x06\xf5\xd5\x4d\xdc\x6d\xd5\x95\xe6\xed\x60\xa5\xd4\xe5\xa3\x8f\x6e\x70\x04\x75\x37\x67\x9f\x8d\xc8\x35\xb3\xaf\x8a\xd2\xec\xed\xe2\x7a\x3c\xb7\x84\x69\x56\x09\x2a\x66\x7f\xba\x19\xe8\x2b\x6f\xef\x88\x02\xde\xce\x9e\x3d\x6e\x06\x21\xdd\x8d\xa6\x07\xdc\x7b\xf8\xd3\x03\xfd\x3b\xae\x42\x1f\x5a\xd3\x05\x58\xc6\xdd\x22\x9a\xf3\x46\x8a\x08\xbe\x1c\xc1\xdb\xed\x50\xe3\x20\x78\x3e\xd6\x61\xad\xd1\x10\x6e\xa9\x0c\xa6\xed\x24\x14\xa4\x4d\x58\xb6\xa7\x55\xbe\x07\x63\x90\x73\x6d\x07\x15\xae\x71\x8c\xc6\xae\x5c\x37\xf6\x6e\x6b\xf1\xd2\x8f\x37\xe0\x40\xcf\x33\xb0\x2f\x19\xcd\x8d\x33\xc9\x9f\xa5\xcc\xbb\xa6\x42\xb1\x54\xd7\x50\x16\xa0\xb3\xfc\x1c\x6e\x62\x01\xc4\xab\xdf\x59\xf7\x5f\xa3\xdd\x6c\x3a\x7b\x0f\xe7\x60\x54\x85\x83\xdd\x5c\x04\x78\x74\x2b\xc7\x75\x9f\xab\xa9\x69\x7c\x6c\xe6\x08\x3d\xd0\x40\x8e\xc9\xe5\x9d\xb1\x7d\xe1\xc5\x05\x64\x2c\xd7\x38\xac\x4e\xe0\x82\x1b\xce\x72\xfe\xb7\x9b\x52\xd4\x83\x1a\x66\xda\x81\x8f\x75\x26\x3b\x44\xe7\x45\x8b\x86\x00\xa7\x9d\x49\xcd\xac\xdb\x1f\x11\x7d\x35\xca\xf3\x1a\x79\x4f\x41\x3c\x45\x61\x78\xc6\x51\xc1\x39\x4c\x7a\x01\x73\xd2\xc7\x19\x24\x00\x38\x0f\x67\x20\xd3\x16\xd7\x32\xc0\x3b\x7b\xd4\xc7\xd1\xc6\x74\x38\x0f\x7a\xf5\x7b\x60\x08\xd3\xc9\x38\x8e\x88\xa1\x3a\x72\x4f\x02\x7c\x1d\xff\xfa\x27\x9a\x48\x15\x7e\xbc\x78\x60\x64\x16\x78\xc8\xcf\x0e\x88\xbc\xc2\xa9\xe4\x80\xe1\x74\xd5\xd1\xa1\x63\xc7\xcd\x26\x55\x6c\x17\xbe\x8c\x16\xb4\x87\x2b\xd6\xa3\xd9\x27\x37\x39\x76\xa7\x5c\xbe\x36\x65\x6a\x5d\x15\x28\x4c\x04\xc8\x44\xda\x60\xf7\xf1\xc0\x03\xd9\x93\xbc\x66\x6a\x3c\x1f\xdd\xfa\xdf\xc6\xe7\x12\x0a\x32\x76\x7a\x89\x45\x29\x15\x53\x7b\x3f\x6f\xae\x0f\xee\x6c\x99\x4c\x85\xb1\xcc\xd3\x08\x83\x3d\x06\x72\x27\x6a\x8e\x00\x85\xb0\x42\x2e\xd6\x60\x14\x13\x3a\x43\xa5\x30\x9d\xd3\x46\x2a\x98\x28\x09\xdc\x05\x31\x95\xf0\xd4\x33\x61\xbf\xad\x8c\x26\xc3\x16\xb3\x9b\x31\x83\x96\xc0\x8d\x1d\x27\xdb\x41\x6c\x29\xa9\x2b\x8b\x69\xc2\x5c\xa3\x9d\x53\x0d\x33\xee\x75\x1e\x27\xc8\xbf\xbc\x1c\xd9\x2a\x47\x37\xc8\xa8\x25\xdb\x39\x6e\xa4\xe4\xda\x4f\xd7\x87\x1d\x36\xfa\xf9\xd8\x2b\x69\xc8\x9e\x9e\x3d\x0e\xe7\xd4\x6d\x58\x70\x10\xb3\x31\x13\xf3\x62\xb8\x9f\x85\x79\x51\xcb\xd5\x7f\x30\xe9\x9a\x99\x35\x2d\x96\xa6\x3a\x42\xc3\x8d\x6e\xbc\xc9\x6b\xa8\xe3\x5c\x72\x27\x50\xe9\x23\xac\x8e\x6b\x60\x79\x2e\x77\xce\xaa\x52\xd4\x46\x49\x77\x9a\xa1\x69\x7b\x47\xda\x0a\x13\x56\x69\x6c\x0d\x39\xf6\x2b\x22\x39\x30\x58\x32\x4d\x54\x35\x25\x7e\x0c\x6f\x67\xe7\x7f\xfa\x41\x65\x4d\xec\x86\xc5\x7c\xad\x10\x05\xd9\x9a\xae\x0a\x6a\x06\x45\xea\x4e\x15\x32\x69\x4f\x47\xbc\xa1\x59\x0a\xeb\x33\x8e\x11\x93\x6a\x86\x60\x5e\x21\xbe\x75\x18\x2e\xc6\xba\x41\xbe\x69\x57\xe0\xd9\x63\xe7\xc0\x4c\x3f\x1a\xb2\xb5\xa3\x2d\xed\x6b\x87\xaf\x17\xa0\xe8\x89\xbe\xc0\x39\x9c\xcd\xcf\xa2\xef\xb5\x4a\xe2\x70\xd9\xb1\xbb\x6e\x79\x78\xa4\x01\xc6\x21\xc7\xe9\x9a\xbc\x0d\x58\x68\x4f\x7f\xa3\x92\xbd\x70\x57\x07\x11\xde\xc6\x08\x96\xe7\x14\x6e\x7c\xac\x98\xc3\x0b\x77\xe6\x53\x54\xda\xc5\x0c\x57\x23\xd5\xa7\x55\x3d\x8c\xb6\xff\xb2\x98\x1c\xee\x26\x06\x75\x8f\xe7\xe8\x85\x54\xa9\x3b\x4e\xb2\xc6\xeb\xbe\xc7\x18\x5d\x5f\xe9\xcf\x89\x98\x1b\x35\xd4\x05\x5a\x6d\x16\xba\x39\xbf\x71\x63\x08\x2a\x30\x8e\xb3\xab\x7e\x3d\x7e\x4c\x34\xba\x23\xb8\x9c\xcd\xcf\xc2\xc8\x02\xf1\x51\xa7\x3b\x07\x3b\x81\x91\x93\xbd\x3a\x7e\xb8\xc8\x62\xd9\x61\xf6\x6e\x84\x97\x84\x3b\xf9\x23\xdf\xac\x4f\xcb\xee\x77\x4a\xe6\x8f\xe1\x6e\x22\x29\x13\x1a\x77\x8d\xe3\x48\x8b\x23\x00\x1d\x6c\x7c\x6a\x83\x1b\xe9\xaf\xa8\xed\xc8\x04\xb7\x45\x4e\x47\xed\x2e\x84\xe8\x5a\xde\x51\x1a\x6c\x49\x7f\x48\x5e\x19\x6b\x4f\xba\xe3\x8d\xf0\xd3\xd7\x43\xf9\x06\x0b\x3e\x72\xa9\xc6\xfd\xad\x2f\xd5\xc4\x65\xfb\x3c\xa8\xe3\x3e\x2f\x7d\x75\x8c\x6c\x30\x90\x84\xe6\xf6\x59\x01\xe4\xcb\x06\x8f\x2f\x1b\x38\xbe\x40\xd0\x18\xf2\x9f\x87\x05\x8b\x46\x8d\x70\x47\xa4\xb8\x1d\xba\x1a\x44\x9a\xf1\x69\xa3\x2d\x2f\xea\xfb\x0f\xa7\x80\x59\x86\x89\xe1\x5b\xcc\xf7\xb0\xaa\x94\xb0\x35\x62\x9b\xa9\x7b\x2a\xff\xa9\x64\x8a\x15\xe0\x52\x68\x93\xc6\x83\x76\x4a\x0a\xc3\x78\x07\x8d\x95\x61\xa5\x44\x07\x1b\x5c\xfd\xfe\xf2\xf7\x25\xbc\xc1\x2d\xd7\xdc\x00\xcf\x40\x61\x21\xb7\x2c\x27\xa1\x26\x95\x36\xb2\x70\xa4\x57\x89\x91\x4a\x43\xc9\xb4\xc6\xfa\x9a\x00\xfc\xc5\xf3\xdc\x9e\xff\x5b\x05\xa6\x54\x22\x40\x55\xa6\x24\x20\xb2\xa3\x20\x70\xd4\x10\x6f\x11\xa1\x9e\x96\xae\xb9\xd9\x54\x2b\x3b\x2c\x75\xa3\xdd\x45\x96\xf3\x52\x2f\xca\x2a\xcf\x17\x4f\xbe\x7d\x32\xa8\x3b\xe2\xc1\x87\x09\x5f\x43\xf4\x15\x17\x16\x10\x3c\xb3\x82\x6a\x12\xfa\x73\xd2\xd5\xc0\xb8\xe7\x21\x01\xc4\x55\x23\xf3\xb0\x2b\xea\x78\x32\x04\x05\x03\xad\x0d\x6d\xc4\xf6\xb7\x21\xa9\x36\xa4\xc4\x5b\x3f\x39\x3b\xa3\xfa\x23\x5e\xd2\xbd\x43\x07\xe7\xb0\xf0\x1e\x15\x0d\x03\xdd\x55\xbc\xa8\x19\xff\xc5\x59\x6f\x7b\x6d\xc6\x06\x87\x6e\x94\xb7\x0e\xe5\xef\x1f\x92\x3f\xb3\x2d\x52\x68\xe0\x22\xba\x90\xe3\x50\x36\xff\x46\x55\xda\xb0\x97\x74\x19\x9c\xc5\x7c\x75\x6f\xf5\xc1\xb9\x2f\xc6\x46\xee\x26\x3c\x1a\x00\x7f\x1d\xf6\xdc\x5d\xe8\xf0\x42\x40\x07\xb8\x7f\xdf\x6f\x00\x3e\x3e\x7f\x7f\xd4\x51\x4b\x77\x72\x4e\x62\x9b\xfa\x91\xe1\x29\x18\xb9\x1c\xe6\x72\x36\xa4\xa0\x81\x4b\x02\x9d\xb1\x78\xd0\x85\xe2\x75\x29\x35\x86\x19\xdf\x2e\xfc\xe8\xe3\xe3\x47\x28\xd0\x6c\xa4\xab\xdf\xd7\x68\x5e\xd8\x59\x98\x9f\x22\xd5\xdf\xcc\x46\xc9\x6a\xed\x4c\xe1\x63\xcd\xe7\x47\xb0\x35\x46\xc6\x92\x50\xe3\x75\x1f\x00\x1f\x43\xc3\xff\x38\x88\xc9\x7f\x1e\x46\x14\x99\x4e\x68\xb8\xbf\xb0\xf2\xe0\x45\xb9\x5a\xc2\x5c\xeb\x0a\x9f\x7d\xe5\xc7\xc2\x23\xd2\x1d\xd4\x51\x84\xce\x8a\x5a\x6f\xa6\x1d\x12\x4e\x81\x99\xe5\xa0\x69\xcd\x22\xca\xeb\x21\xcd\x3d\xa9\x1e\x9f\xb8\x7f\x36\x23\x01\x45\x01\x13\x7d\x13\x0f\x4c\x8f\x18\x71\xe5\x69\xeb\xbd\xae\xc2\x9c\x8e\xec\xdc\x31\x73\x0b\x1c\x98\x79\x37\x48\xd5\xe9\xf1\xf6\xe4\xbf\x01\x00\x00\xff\xff\x47\xfe\x17\x8c\xf9\x2d\x00\x00"
 
 func exampletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -98,7 +97,7 @@ func exampletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0x7, 0x66, 0xcf, 0x2f, 0x79, 0xe, 0x98, 0xff, 0x50, 0x51, 0x85, 0xbb, 0x6a, 0xa9, 0x49, 0x36, 0x97, 0x9c, 0x4a, 0x6a, 0x74, 0x34, 0x46, 0x37, 0x5a, 0xc8, 0x5a, 0xfd, 0x72, 0x43, 0x0}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x47, 0x53, 0xb3, 0x2e, 0xf5, 0x64, 0xc7, 0x31, 0x3e, 0xaf, 0x46, 0xba, 0x15, 0x76, 0xc7, 0xdb, 0x18, 0x81, 0x8a, 0xa1, 0x2, 0x4d, 0xfc, 0x77, 0x4a, 0xce, 0x62, 0xd, 0x18, 0x6a, 0x1b, 0xb}}
 	return a, nil
 }
 
@@ -122,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x5a\x4b\x73\xdb\xc8\x11\xbe\xe3\x57\x74\x69\x0f\x26\x37\x5c\xd2\x87\x54\x0e\xac\x78\xb5\xf6\xae\x9d\xf2\x25\xe5\xb2\x14\xfb\xb0\x95\x0a\x87\x40\x83\x98\x35\x30\x83\x9d\x19\x90\x66\x54\xfa\xef\xa9\xee\x99\xc1\x8b\xa0\x44\xc9\xe5\x43\x74\x90\x48\x00\xd3\xef\xc7\xd7\x0d\xad\x7e\xfc\x31\x49\x7e\x80\xdb\x02\xe1\x5d\xa9\x0f\xf0\xae\x51\x3b\xb9\x2d\x11\x6e\xf5\x17\x54\x60\x9d\x50\x99\x30\x59\x92\xfc\xf0\x03\x6c\xe2\x4d\xbe\xb7\x81\x54\x2b\x67\x44\xea\x92\x84\x8f\x4f\x9f\x04\x69\x41\x69\x28\xb5\xda\xa1\x01\xa1\x40\x2a\x87\x26\x17\x29\x26\xae\x10\x0e\x44\x59\x42\x1e\x8f\x3a\x3e\x1a\xe9\x5a\x38\xe8\xa6\xcc\xa0\x10\x7b\xba\x45\xd7\x73\x6d\x2a\x70\x7a\x99\x24\xef\x73\x10\xd0\x58\x34\x16\x0e\x42\x39\x4b\x0f\x64\x58\x97\xfa\x08\x02\x14\x1e\x46\xb4\x16\xe0\x0a\x94\xa6\x93\x39\xd3\x48\x82\x39\x50\x88\x19\x1d\x96\x55\x5d\x62\x85\xca\xd1\x93\x30\x50\xb5\x93\x79\x01\xdb\xc6\x05\x52\xcc\xc0\x26\x99\x3e\x43\xa2\x3d\x64\x21\xc3\x5c\x2a\xcc\x40\x2a\x70\x85\xb4\xad\x14\x4b\x6f\xd7\x4f\xa2\x29\xdd\x06\x0c\x5a\xdd\x98\xb4\x77\x32\x49\xde\x8a\xb4\x18\xdb\xa7\x7d\xce\x1d\x6b\x64\xe6\xf6\x94\xfb\x79\xa2\x81\xe9\x07\xa3\xf7\x32\x43\xb3\x59\xc0\xe6\x23\xa6\x28\xf7\xfc\x59\xa8\x0c\x36\x6f\x44\x29\x54\x8a\x53\xa7\x2d\x7b\xdb\x8e\xd4\x4b\x4b\x61\x10\x6a\x83\x3f\xa5\x5a\x65\xd2\x49\xad\x2c\x93\xaa\xb5\x75\xfd\x6b\xec\x73\x83\xd6\x19\x99\xba\x84\x04\xc5\xaf\x98\x36\x74\x13\x74\xce\x92\xe7\x8d\x4a\xfd\xc3\x6c\x2e\x04\xd6\x64\xc9\x7c\x8f\x40\x7c\x2c\xd6\xc2\x08\x87\xb0\xc5\x54\x34\x24\x8b\x83\x9d\xdc\xa3\xe5\xc7\x29\x28\xf8\x83\xd8\xca\x52\xba\x23\xd9\xc6\x16\xc2\x60\x22\xc0\x60\x8e\x06\x55\xca\xf1\xe4\xdd\xc8\xd4\xbd\x5c\x5a\x95\x47\xc0\xaf\xb5\xb6\x81\x54\x2e\xb1\xcc\x6c\x27\x51\x22\x15\x68\x85\xa0\x0d\x54\xda\x60\x94\xb8\x33\x05\x05\x26\xc5\xb4\xd5\x41\x20\x1f\xa1\x23\x69\x2a\xf1\x05\x21\x6d\xac\xd3\x55\x6b\xe1\x60\x9a\xd6\x89\x64\x9b\xa1\x95\x29\xc0\x35\xec\x85\x91\xba\xa1\xa7\xa5\xda\x59\x38\x48\x57\x30\x79\x1f\x8d\xcb\xe4\x9d\x36\x80\x5f\x05\x91\x59\x80\x80\x5c\x34\x29\x3a\x48\x85\x82\x2d\x76\xd4\x31\x83\xed\x31\x26\x94\x54\xbb\xc4\x9b\x03\x62\x50\x0c\xa2\xe5\xc7\x55\x92\xc8\xaa\xd6\xc6\xc1\x27\x89\x87\x8f\x68\x75\xb9\x47\x03\xb9\xd1\x15\x5c\xf5\x2f\x5d\x25\xc9\x6a\xb5\x1a\x26\x0f\x5d\x19\x5c\x0d\x05\xa2\x95\x45\x84\x68\x31\xd8\x2b\x14\x06\xff\x6c\xa4\x99\x4a\xab\x61\x32\x30\xe5\x4e\x58\xf8\x8c\x60\x9d\x2c\x4b\x5f\x34\xa4\x03\x61\x07\x45\x07\x0a\x34\x5d\xdc\x38\xfe\xc6\x21\xa5\x2b\x8e\x9c\xbc\x29\x99\x64\xe3\xbc\xb7\x2a\x74\x85\xce\x82\x73\x2a\xa1\x8e\x50\x1b\xfd\x07\x72\x71\x22\x36\x9e\x19\x55\x20\x92\x94\x99\x6a\x35\xaa\x35\x76\xc1\x24\x43\xe5\xf0\x21\xbc\x3d\x92\xb2\x15\x0a\x65\x5b\x5d\x97\x5c\x0c\x7d\x18\x74\x57\xe9\x33\x5f\x6b\xbd\xec\x75\x8e\x46\xb1\x83\x74\xef\x4a\x87\x48\x53\xb4\x76\x26\xca\x72\xde\x4a\x32\x2a\x6b\x77\x49\x02\x00\xb0\x5a\xc1\x6b\x05\xa8\x9c\x74\xc1\xce\xb9\x36\x24\x8b\x3e\x48\xb5\x63\xf2\x14\x66\x99\x11\x07\x51\x72\xcc\x73\xac\x79\xff\x0b\x9f\x40\x4c\xa8\xcf\xb2\x4f\xee\x73\x3c\xbd\x2d\x31\xb2\x5c\x71\xcf\xc1\xbd\x77\xab\x57\x19\x2b\xe9\x28\x34\x0f\x05\xaa\xc8\x84\x8c\x15\xb9\xab\x47\x58\xee\xfb\xcc\x66\xa2\xd2\x8d\x72\x6b\xf8\xd7\x3b\xf9\xf5\x6f\x7f\x5d\xf0\xd9\x35\xbc\xce\x32\x83\xd6\x5e\x2f\xb8\x7a\xae\xe1\xc6\x19\xa9\x76\xf3\x3e\x31\x8b\x65\x3e\xa7\x38\x63\x81\x22\xbd\xb7\x44\xfd\x69\x44\xd7\xf0\x46\xeb\x12\xee\x98\x38\xfd\x10\xbd\x53\x01\xfd\xdf\x48\x8b\x7e\x47\x3a\xf4\x7b\xde\x9e\x36\xe8\x1a\xa3\xc0\x99\x06\xf9\xda\xfd\x73\x6c\x99\x61\xad\xad\x74\x3e\xb3\x1e\xb6\xe4\x6f\xfe\xd1\x13\x9d\x9d\x7e\x86\x19\x03\xb1\x69\x2b\x3e\x40\x71\xda\x86\x63\xd1\xa2\x09\x89\x90\xd3\xdf\xd1\x7c\xce\x08\x65\x73\x34\x94\x98\x1c\x8c\xd4\x0e\x44\x9a\x12\x7b\xb6\xa8\xd2\x54\x54\xce\x58\xf4\x36\x9c\x7e\x3c\x8c\x9e\x63\xe2\x48\xfd\xc2\x48\x7d\xaa\xcd\x4f\x84\x9f\x8c\xdb\xe7\x39\x80\x45\x7e\x20\x66\xad\x33\xfa\x88\xd9\x19\xb3\xbe\x69\x8c\x3a\x8d\xa9\x81\xd1\xce\x5b\x8d\x0e\x9f\x89\xca\x07\x6d\x22\xf3\x60\x00\xf8\xf9\x15\xbc\x5c\xbe\xec\xdd\x6a\x4d\x36\x10\xac\x8d\xd1\x09\xd3\xdc\x5f\x62\xa4\xd8\x9c\xe3\x85\x41\xf8\x76\x1d\x8e\x43\x18\xa9\xb3\xa7\x01\xc6\x84\x56\xe2\xbb\x05\xd5\xf6\x58\x50\xa9\xf3\x47\x22\xfd\xa2\xce\xa0\x26\x36\x18\xee\x01\xc7\x1a\x97\x27\x7c\xdf\x3b\x68\x61\x74\x60\x38\xe4\xa5\x15\x6c\xb6\x11\x4b\x52\xaf\x5d\xb4\x67\x7b\xd0\xad\x44\x41\x50\x49\xd7\xe8\xf1\x5e\xad\xad\x95\x01\x2d\xe9\x1c\x52\x83\x82\x85\x08\x88\xa9\x0e\x66\xb0\x9d\xe8\xa4\x31\xe1\x70\x86\xf3\xe4\x63\x61\x64\x79\x0c\xb8\x9c\x7b\xb1\x3e\x28\x08\x92\x0c\xf5\xe8\x47\xd3\x29\xda\xed\x00\x51\xe8\x95\x91\x65\xb4\x20\xd8\x66\x1b\x86\x95\xb1\x01\xf5\x41\xa1\x79\x61\x7b\x25\x36\x1e\x26\x60\xec\xfd\x6c\x63\x09\xee\x80\x9c\xc1\x4a\xef\xb9\x3c\x7b\x40\xd7\x3b\x38\x20\x72\xdb\x83\xca\x2f\x6c\xd0\x03\x4a\xdc\x63\x49\x05\xac\x6e\xb6\xa5\x4c\xe3\xbc\x22\xad\x9f\xc3\x1c\x08\xb2\xdf\xb6\xc4\x6a\x40\x2c\x7a\x83\x11\x70\x2b\x3c\x58\xa7\x4d\x84\x00\x3d\xe3\x04\x9b\x86\xb2\x37\x20\x94\x32\xd8\x92\x4e\x8a\xb2\x3c\x42\xea\x01\x8d\xec\x20\xf4\xc3\xfa\x78\xae\x95\x38\xc2\xce\x10\xa4\xe2\x5a\x1a\xf9\xb4\x3a\x12\x72\x8d\x31\x41\xea\xc8\xbd\x70\x38\x92\xa2\x6e\xe1\x76\x18\x32\xf5\xc1\x82\xad\x31\x95\xb9\x4c\x03\xdd\x80\xcd\x75\xa0\x3b\xa0\xc0\x71\x18\x7d\xdf\x0d\x5c\x85\xd1\xcd\xae\x80\xde\x20\x71\xa9\x42\x7e\x26\x60\xad\xc8\x28\x8f\xe8\xc4\xce\xbb\x44\x25\xa2\x35\xd2\x63\x20\xfb\x80\xc6\xd3\xf5\x08\xd9\xd1\x07\x70\xbe\x72\x1e\xa6\x51\xd6\x7c\x0d\xbf\xdc\x71\x40\xdf\x8f\xea\x21\x0d\x82\xa3\x4b\x9e\x19\x6c\x0c\xda\x30\xaa\xe6\x41\x11\x1f\x6f\x5c\x08\xf7\xa2\x6c\xf0\xe4\x98\x3f\xb2\xdc\xa1\x0b\xa3\xea\x6c\x0e\xaf\x5e\x85\x12\xbb\x3e\x79\x9c\x7e\xae\x3e\x77\x18\x36\x14\xee\xaa\xb1\x8e\xc6\x22\x62\x67\x45\x85\x34\x2c\xd0\xe7\x50\x28\xe2\x78\xd7\xc1\x4f\xd6\xec\x6a\x42\x89\x01\xae\x5e\x9e\x87\x8d\xc3\x96\x49\x8d\x68\xc9\x21\x72\xbd\x14\xbe\x15\xc7\xf6\xc0\xb7\x76\xe8\x6e\x8f\x35\xce\xe6\x4b\x99\x51\x21\xce\x25\x9a\xf9\x80\xfb\xfd\xa8\x83\xf4\xba\x45\x9c\xe9\xbf\xbd\x5b\x04\xc8\x38\xd1\x2c\xa4\x0a\xce\xba\xa0\x59\x7c\xc6\x58\xa2\xa5\x4a\xcb\x26\x43\x10\xd0\x2e\x06\xbc\x18\x69\x81\xe9\x97\xa1\x0b\x42\x61\x6a\xa9\x1c\xb0\x1d\xb6\x68\xc0\xbe\x64\xbe\xf6\x66\xf0\x43\x54\x02\xbd\x3a\x95\xe9\xf8\xd0\xf4\x30\xbd\x80\x52\x7e\x41\xb0\x75\x29\x79\xfa\xaa\xa0\xa9\xa9\x76\xb7\x44\x2c\xaa\xcc\xdf\xa0\xd9\x5c\xe6\x9c\x4a\x0e\xea\xd2\xaf\x02\xe0\xf2\x36\x13\x9d\x35\x6e\x33\xc1\xf4\xe0\xc4\x17\xec\x7a\x05\xf5\x8f\x70\xc7\x52\x03\x9d\x76\xc3\x60\x4d\xf4\x50\x76\xb3\x50\x94\xd4\x81\xe6\xcc\x47\x67\x4c\xe4\xf9\x50\xa4\x1d\xba\x9b\xa6\xae\xb5\x71\x98\xf1\x03\x14\xa2\xd4\xbd\xc9\x8f\x5c\xf5\xbb\xd6\x56\x4a\xeb\x28\x8b\xf6\x7e\xc7\xc2\x0f\x86\x59\x96\x27\xdc\xa0\x34\xc9\x51\x3b\x3b\x29\xd7\x5e\xe2\x81\x85\x9b\xe6\x3b\x9b\xaf\xe1\xee\x96\x53\x86\xf0\xd9\x49\xd5\x31\x08\x77\x0c\xa6\xd6\x70\x95\x35\x55\x75\xbc\x1a\xe4\xcc\x40\xb3\x8f\x41\xee\x43\x81\xdc\x1f\xb4\xe1\x70\x25\xc3\x52\xac\x29\xbf\x6f\x93\x36\xc8\xeb\x77\x28\x74\x77\x90\x6a\x91\xda\xeb\xa8\x35\x47\xb6\x50\xe1\x14\x08\x75\xf4\x84\x6c\xc1\xdb\xcd\x3f\xa8\x08\xf5\x50\x1f\x11\xcd\x30\x1f\x80\x86\x49\x83\x48\x7b\x6a\x8f\x99\xaf\x1e\xf4\xf1\x14\xb1\x5e\x62\x90\x51\x11\xe9\xb0\xcb\x00\xf7\x65\x48\x8e\x5e\x04\x60\xd1\x46\xb1\x5f\xd7\x72\xa7\xeb\x76\xb5\xad\x75\x16\x10\x6a\xf5\xa2\x1d\x25\xb4\x59\xb4\x08\xcb\xaf\x1e\xe3\x26\xa9\xc3\x89\x4d\x37\x94\x91\x37\x6c\xd4\x19\x8e\xe8\x9e\x92\x62\xac\xca\xba\x27\x4d\xc7\xb8\xbf\xc2\x5a\xb6\xeb\xad\x3b\x58\xad\x16\x41\xe4\x71\x5e\xfe\x03\xdd\x54\xa7\xd8\x3f\xee\xb5\x7e\xcb\x8a\x5d\xf3\xff\x38\xc1\x56\x2b\x78\x83\xa5\x3e\xf8\xda\x4d\x4e\xea\xef\x18\x63\x2d\xb6\x8d\x09\x9d\xc6\x34\xea\x27\x27\xab\xb0\xbb\xe6\x80\x19\xd3\x63\x0c\xba\xc3\x98\x14\xed\x3c\x48\xa8\x46\x70\x81\x6d\xbd\x1b\xa2\x2c\x54\xee\xe1\xfb\x89\xa5\xdf\x88\x2d\x61\x40\x5f\xe6\x27\xad\xd5\xde\x34\x5b\x92\x66\xa6\x73\x9f\x39\x7f\xff\xe5\x6e\x82\xd2\xfd\xcf\xb3\xf9\x7c\x02\xc1\x84\xd4\xbd\x1b\x92\x5d\x73\x8e\xdd\x0f\x9b\x35\x60\x69\x71\x1a\x04\xf9\xda\x03\x82\x66\xd2\xda\x1d\x21\x93\x0c\x97\x85\x39\x46\x50\x12\x6a\x82\x07\x44\xdc\x97\x5b\x33\x1c\x0a\x0d\x99\x56\x2f\xdc\x14\xe5\x6e\x7b\x3a\x69\x9f\x05\xd8\x26\x2d\x88\xc9\xf0\xf6\xcd\x41\xba\xb4\xd8\x6a\x61\xb2\xcd\x02\x36\x7c\xed\x9d\x36\x07\x61\x32\x34\x1b\x40\x97\x2e\xcf\x9a\xe2\xfe\x2c\x46\xf9\x0e\x15\x2d\x30\x8d\xe6\x9f\x0c\xe1\xdf\x89\xc8\xbf\xe1\xfa\x1a\x72\x51\x5a\x7c\xac\x01\x30\x1e\x74\xda\x88\x1d\x85\x9c\x2b\x28\x00\x0d\x76\x19\x1e\x4b\xb7\x3b\xd6\x32\xe5\x8c\xdc\xfa\x03\x98\x3d\x9a\x62\xbf\x79\x37\xde\x78\xf2\x1f\x84\x2b\x28\x58\x7a\x5f\xaf\xa7\xf5\x53\xb2\xbc\x44\x6c\x3f\x39\x0c\xa5\x96\x76\x28\x36\x6f\xa9\xe3\x90\xd1\x1b\x2c\x2e\x95\xfd\x03\x1f\x8c\xa2\x77\xdf\xbe\x9f\xe4\x2f\x6c\x87\x90\x2e\x55\x82\x37\x26\x74\xd7\x16\x7e\xa8\x6a\x29\xfc\xda\x8d\x52\x34\x48\xf5\x91\x1b\x31\x47\x45\x63\x0e\x8d\x56\x0e\x8d\x12\xae\x87\xce\xc6\xef\x2c\x9c\x26\xcf\x37\xb6\xe7\x77\xff\x3e\xa2\x1b\x29\x52\xa1\xb4\xa2\x28\x01\x25\x2a\xb4\x35\xb5\xa2\x90\xd1\x8d\xca\xd0\x94\x47\x92\x2e\xbc\xe2\xba\xd0\x01\x51\x9e\x6f\x77\xc1\x59\x4e\xd4\x12\xb9\xf6\xff\x7e\xcb\xa9\x73\xd7\x3f\x04\x8f\x02\x89\xd5\x6a\xf8\x65\x8c\x34\x8d\x6f\xb2\xc4\x65\xf6\x1f\x66\xdc\xa6\xf8\x6b\x75\xbc\x71\xa6\x49\xdd\xf5\xb3\x98\x3e\xb6\xa5\xd9\xf8\x11\x6c\xd3\xed\x69\x3e\x85\x08\x0b\xbd\xfc\x81\x4d\x8d\xc2\xc3\x78\x5b\x13\x09\x13\x18\x3c\x3d\xff\x3d\xe6\x68\x33\xd5\x41\x62\xf5\xeb\xa6\xe1\x9f\x1f\x99\x86\x5f\xfb\x11\xb8\x9b\x6d\xe3\x30\x5c\xfa\x15\x82\x50\x84\x7f\xf1\xcf\x46\x94\xfe\xdb\x04\xdc\x99\x18\x87\xef\x2f\x1c\xfa\xc3\xdb\x37\xbf\x92\x11\x65\xbb\x1f\x82\xcd\x16\x73\x6d\x70\xc3\x13\x5e\x40\x59\xbe\xe5\x05\xa6\xdd\x42\x91\xdf\xce\x4e\x11\x0f\x2f\xcb\xb6\xb8\x93\x4a\x51\x7a\x8d\xde\x2c\x77\xef\x9c\x27\x4e\x5f\x60\xdb\x57\xaf\xc0\x4b\x39\x3b\xb9\x37\x87\x9f\x1e\xb6\xfb\x3f\xdb\x18\x8a\xc6\xec\x6f\x21\x62\x29\xea\x6c\x5c\x1b\xdc\xf3\x0b\xdf\xf8\xb8\xf0\x33\xe7\x78\x2b\x11\xef\x9f\x73\xc7\xfd\xa5\x83\xa5\xc8\x32\x1a\x2a\x3b\x86\x61\xb6\x1c\xf8\x5e\x4e\xac\x35\x2f\x1e\x2b\xa7\xc0\xd5\x18\x59\xd1\x00\x65\x2d\x1a\xd7\xbd\xfb\x4c\xb5\x4a\x0d\xba\x00\x1d\x83\x79\xba\xd7\x59\xbe\xc5\x49\xdb\x96\xde\x31\xbd\x50\x75\x7b\x53\x59\x3b\xca\xc5\x1d\x67\xa0\x76\x41\xc2\x91\x2e\x4b\x69\xdf\x2b\xeb\xd8\xf1\x43\xf4\x37\x5f\xc3\xb4\xf7\x7f\x15\x8a\x86\x98\x68\x7d\x5e\x96\xa6\xba\xaa\x85\xeb\xfd\x7f\x07\xe9\x77\xd9\x92\x69\xf2\xa5\x1a\x8b\xd6\x8f\x49\xff\x56\xe6\x81\x65\x53\x3c\x71\xf1\xb2\x09\xce\xe7\xf6\x13\xb3\xe5\x2f\xf1\xde\x89\xd4\xf3\x67\x25\x90\x6d\xaa\x47\x33\xa7\x8b\x99\x07\x0b\xd8\x28\x63\x78\x3d\x8b\x6f\x09\x9d\x87\x64\x09\x1b\x58\x75\x0c\xff\x72\xa2\xc3\x33\x83\x4e\xc1\x81\x56\x08\xca\xb1\xff\xa2\xd1\x97\x74\x89\x36\x71\xc6\x2c\x67\x4f\x5e\xaf\x9e\xd9\x93\xbe\x5c\xbe\x5c\xc3\xd5\x6d\x81\x24\x68\x19\x56\xcf\xd1\x1e\xde\x9e\x8c\xaf\xfa\x12\x5f\x60\xa6\xf0\x9e\x6e\x36\x4e\xe6\xe9\x14\x9a\x0a\xe8\xd3\x97\x71\x27\x31\xf3\xcd\x1b\xd2\xfb\xff\x05\x00\x00\xff\xff\x02\x71\x59\x69\xf4\x26\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x5a\x4b\x93\xdb\x36\x12\xbe\xf3\x57\x74\x4d\x0e\x96\xb2\x8a\xc6\x87\xad\x3d\xa8\xd6\x71\xec\x24\xde\xca\x65\x2b\x15\xcf\xc6\x87\xad\xad\x12\x44\x36\x45\xc4\x20\xc0\x00\xa0\x64\xed\xd4\xfc\xf7\xad\x6e\x00\x7c\x89\x9a\xd1\x4c\x2a\x87\xf5\xc1\x9e\x21\x89\x7e\x3f\xbe\x6e\xf8\xf6\xeb\xaf\xb3\xec\x2b\xb8\xab\x10\x3e\x28\x73\x84\x0f\xad\xde\xcb\x9d\x42\xb8\x33\x9f\x51\x83\xf3\x42\x17\xc2\x16\x59\xf6\xd5\x57\xb0\x4d\x2f\xf9\xdd\x16\x72\xa3\xbd\x15\xb9\xcf\x32\x3e\x3e\x7f\x12\xa4\x03\x6d\x40\x19\xbd\x47\x0b\x42\x83\xd4\x1e\x6d\x29\x72\xcc\x7c\x25\x3c\x08\xa5\xa0\x4c\x47\x3d\x1f\x4d\x74\x1d\x1c\x4d\xab\x0a\xa8\xc4\x81\x5e\xd1\xf3\xd2\xd8\x1a\xbc\x59\x67\xd9\x4f\x25\x08\x68\x1d\x5a\x07\x47\xa1\xbd\xa3\x0f\x0a\x6c\x94\x39\x81\x00\x8d\xc7\x09\xad\x15\xf8\x0a\xa5\xed\x65\x2e\x0c\x92\x60\x1e\x34\x62\x41\x87\x65\xdd\x28\xac\x51\x7b\xfa\x12\x46\xaa\xf6\x32\xaf\x60\xd7\xfa\x48\x8a\x19\xb8\xac\x30\x17\x48\x74\x87\x1c\x14\x58\x4a\x8d\x05\x48\x0d\xbe\x92\xae\x93\x62\x1d\xec\xfa\xab\x68\x95\xdf\x82\x45\x67\x5a\x9b\x0f\x4e\x66\xd9\x8f\x22\xaf\xa6\xf6\xe9\xbe\xf3\xa7\x06\x99\xb9\x3b\xe7\x7e\x99\x68\x64\xfa\xb3\x35\x07\x59\xa0\xdd\xae\x60\xfb\x0b\xe6\x28\x0f\xfc\xb3\xd0\x05\x6c\xdf\x0b\x25\x74\x8e\x73\xa7\x1d\x7b\xdb\x4d\xd4\xcb\x95\xb0\x08\x8d\xc5\x6f\x72\xa3\x0b\xe9\xa5\xd1\x8e\x49\x35\xc6\xf9\xe1\x33\xf6\xb9\x45\xe7\xad\xcc\x7d\x46\x82\xe2\x17\xcc\x5b\x7a\x09\xa6\x64\xc9\xcb\x56\xe7\xe1\x63\x36\x17\x02\x6b\xb2\x66\xbe\x27\x20\x3e\x0e\x1b\x61\x85\x47\xd8\x61\x2e\x5a\x92\xc5\xc3\x5e\x1e\xd0\xf1\xe7\x14\x14\xfc\x83\xd8\x49\x25\xfd\x89\x6c\xe3\x2a\x61\x31\x13\x60\xb1\x44\x8b\x3a\xe7\x78\x0a\x6e\x64\xea\x41\x2e\xa3\xd5\x09\xf0\x4b\x63\x5c\x24\x55\x4a\x54\x85\xeb\x25\xca\xa4\x06\xa3\x11\x8c\x85\xda\x58\x4c\x12\xf7\xa6\xa0\xc0\xa4\x98\x76\x26\x0a\x14\x22\x74\x22\x4d\x2d\x3e\x23\xe4\xad\xf3\xa6\xee\x2c\x1c\x4d\xd3\x39\x91\x6c\x33\xb6\x32\x05\xb8\x81\x83\xb0\xd2\xb4\xf4\xb5\xd4\x7b\x07\x47\xe9\x2b\x26\x1f\xa2\x71\x9d\x7d\x30\x16\xf0\x8b\x20\x32\x2b\x10\x50\x8a\x36\x47\x0f\xb9\xd0\xb0\xc3\x9e\x3a\x16\xb0\x3b\xa5\x84\x92\x7a\x9f\x05\x73\x40\x0a\x8a\x51\xb4\x7c\x7d\x9b\x65\xb2\x6e\x8c\xf5\xf0\xab\xc4\xe3\x2f\xe8\x8c\x3a\xa0\x85\xd2\x9a\x1a\x6e\x86\x8f\x6e\xb2\xec\xf6\xf6\x76\x9c\x3c\xf4\x64\xf4\x34\x16\x88\x4e\x16\x11\xa3\xc5\xe2\xa0\x50\x58\xfc\xbd\x95\x76\x2e\xad\xc6\xc9\xc0\x94\x7b\x61\xe1\x13\x82\xf3\x52\xa9\x50\x34\xa4\x07\xe1\x46\x45\x07\x2a\xb4\x7d\xdc\x78\xfe\x8d\x43\xca\xd4\x1c\x39\x65\xab\x98\x64\xeb\x83\xb7\x6a\xf4\x95\x29\xa2\x73\x6a\xa1\x4f\xd0\x58\xf3\x1b\x72\x71\x22\x36\x81\x19\x55\x20\x92\x94\x99\x1a\x3d\xa9\x35\x6e\xc5\x24\x63\xe5\x08\x21\xbc\x3b\x91\xb2\x35\x0a\xed\x3a\x5d\xd7\x5c\x0c\x43\x18\xf4\x4f\xe9\x67\x7e\xd6\x79\x39\xe8\x9c\x8c\xe2\x46\xe9\xde\x97\x0e\x91\xe7\xe8\xdc\x42\x28\xb5\xec\x24\x99\x94\xb5\xfb\x2c\x03\x00\xb8\xbd\x85\x77\x1a\x50\x7b\xe9\xa3\x9d\x4b\x63\x49\x16\x73\x94\x7a\xcf\xe4\x29\xcc\x0a\x2b\x8e\x42\x71\xcc\x73\xac\x05\xff\x8b\x90\x40\x4c\x68\xc8\x72\x48\xee\x53\x3a\xbd\x53\x98\x58\xde\x72\xcf\xc1\x43\x70\x6b\x50\x19\x6b\xe9\x29\x34\x8f\x15\xea\xc4\x84\x8c\x95\xb8\xeb\x27\x58\x1e\x86\xcc\x16\xa2\x36\xad\xf6\x1b\xf8\xd7\x07\xf9\xe5\x6f\x7f\x5d\xf1\xd9\x0d\xbc\x2b\x0a\x8b\xce\xbd\x5d\x71\xf5\xdc\xc0\x47\x6f\xa5\xde\x2f\x87\xc4\x1c\xaa\x72\x49\x71\xc6\x02\x25\x7a\x3f\x12\xf5\xe7\x11\xdd\xc0\x7b\x63\x14\xdc\x33\x71\xfa\x43\xf4\xce\x05\x0c\xff\x26\x5a\xf4\x77\xa2\x43\x7f\x2f\xbb\xd3\x16\x7d\x6b\x35\x78\xdb\x22\x3f\x7b\x78\x89\x2d\x0b\x6c\x8c\x93\x3e\x64\xd6\xe3\x96\xfc\x21\x7c\x7a\xa6\xb3\x37\x2f\x30\x63\x24\x36\x6f\xc5\x47\x28\xce\xdb\x70\x2a\x5a\x32\x21\x11\xf2\xe6\x4f\x34\x9f\xb7\x42\xbb\x12\x2d\x25\x26\x07\x23\xb5\x03\x91\xe7\xc4\x9e\x2d\xaa\x0d\x15\x95\x0b\x16\xbd\x8b\xa7\x9f\x0e\xa3\x97\x98\x38\x51\xbf\x32\x52\x9f\x6b\xf3\x33\xe1\x67\xe3\xf6\x65\x0e\x60\x91\x1f\x89\x59\xe7\xad\x39\x61\x71\xc1\xac\xef\x5b\xab\xcf\x63\x6a\x64\xb4\xcb\x56\xa3\xc3\x17\xa2\xf2\x51\x9b\xc8\x32\x1a\x00\xbe\x7d\x03\xaf\xd7\xaf\x07\xaf\x3a\x93\x8d\x04\xeb\x62\x74\xc6\x34\x0f\xd7\x18\x29\x35\xe7\xf4\x60\x14\xbe\x7d\x87\xe3\x10\x46\xea\xec\x79\x84\x31\xb1\x95\x84\x6e\x41\xb5\x3d\x15\x54\xea\xfc\x89\xc8\xb0\xa8\x33\xa8\x49\x0d\x86\x7b\xc0\xa9\xc1\xf5\x19\xdf\x9f\x3c\x74\x30\x3a\x32\x1c\xf3\x32\x1a\xb6\xbb\x84\x25\xa9\xd7\xae\xba\xb3\x03\xe8\xa6\x50\x10\x54\x32\x0d\x06\xbc\xd7\x18\xe7\x64\x44\x4b\xa6\x84\xdc\xa2\x60\x21\x22\x62\x6a\xa2\x19\x5c\x2f\x3a\x69\x4c\x38\x9c\xe1\x3c\xf9\x58\x58\xa9\x4e\x11\x97\x73\x2f\x36\x47\x0d\x51\x92\xb1\x1e\xc3\x68\x3a\x47\xbb\x3d\x20\x8a\xbd\x32\xb1\x4c\x16\x04\xd7\xee\xe2\xb0\x32\x35\xa0\x39\x6a\xb4\xaf\xdc\xa0\xc4\xa6\xc3\x04\x8c\x83\x9f\x5d\x2a\xc1\x3d\x90\xb3\x58\x9b\x03\x97\xe7\x00\xe8\x06\x07\x47\x44\xee\x06\x50\xf9\x95\x8b\x7a\x80\xc2\x03\x2a\x2a\x60\x4d\xbb\x53\x32\x4f\xf3\x8a\x74\x61\x0e\xf3\x20\xc8\x7e\x3b\x85\xf5\x88\x58\xf2\x06\x23\xe0\x4e\x78\x70\xde\xd8\x04\x01\x06\xc6\x89\x36\x8d\x65\x6f\x44\x28\x67\xb0\x25\xbd\x14\x4a\x9d\x20\x0f\x80\x46\xf6\x10\xfa\x71\x7d\x02\xd7\x5a\x9c\x60\x6f\x09\x52\x71\x2d\x4d\x7c\x3a\x1d\x09\xb9\xa6\x98\x20\x75\xe4\x41\x78\x9c\x48\xd1\x74\x70\x3b\x0e\x99\xe6\xe8\xc0\x35\x98\xcb\x52\xe6\x91\x6e\xc4\xe6\x26\xd2\x1d\x51\xe0\x38\x4c\xbe\xef\x07\xae\xca\x9a\x76\x5f\xc1\x60\x90\xb8\x56\xa1\x30\x13\xb0\x56\x64\x94\x27\x74\x62\xe7\x5d\xa3\x12\xd1\x9a\xe8\x31\x92\x7d\x44\xe3\xf9\x7a\xc4\xec\x18\x02\xb8\x50\x39\x8f\xf3\x28\x6b\xb9\x81\xef\xee\x39\xa0\x1f\x26\xf5\x90\x06\xc1\xc9\xa3\xc0\x0c\xb6\x16\x5d\x1c\x55\xcb\xa8\x48\x88\x37\x2e\x84\x07\xa1\x5a\x3c\x3b\x16\x8e\xac\xf7\xe8\xe3\xa8\xba\x58\xc2\x9b\x37\xb1\xc4\x6e\xce\x3e\xa7\x3f\x37\x9f\x7a\x0c\x1b\x0b\x77\xdd\x3a\x4f\x63\x11\xb1\x73\xa2\x46\x1a\x16\xe8\xe7\x58\x28\xd2\x78\xd7\xc3\x4f\xd6\xec\x66\x46\x89\x11\xae\x5e\x5f\x86\x8d\xe3\x96\x49\x8d\x68\xcd\x21\xf2\x76\x2d\x42\x2b\x4e\xed\x81\x5f\xed\xd1\xdf\x9d\x1a\x5c\x2c\xd7\xb2\xa0\x42\x5c\x4a\xb4\xcb\x11\xf7\x87\x49\x07\x19\x74\x8b\x34\xd3\xff\xf1\x6e\x11\x21\xe3\x4c\xb3\x90\x3a\x3a\xeb\x8a\x66\xf1\x09\x53\x89\x96\x3a\x57\x6d\x81\x20\xa0\x5b\x0c\x04\x31\xf2\x0a\xf3\xcf\x63\x17\xc4\xc2\xd4\x51\x39\x62\x37\x6c\xd1\x80\x7d\xcd\x7c\x1d\xcc\x10\x86\xa8\x0c\x06\x75\xaa\x30\xe9\xa3\xf9\x61\x7a\x05\x4a\x7e\x46\x70\x8d\x92\x3c\x7d\xd5\xd0\x36\x54\xbb\x3b\x22\x0e\x75\x11\x5e\xd0\x6c\x2e\x4b\x4e\x25\x0f\x8d\x0a\xab\x00\xb8\xbe\xcd\x24\x67\x4d\xdb\x4c\x34\x3d\x78\xf1\x19\xfb\x5e\x41\xfd\x23\xbe\x71\xd4\x40\xe7\xdd\x30\x5a\x13\x3d\x96\xdd\x2c\x14\x25\x75\xa4\xb9\x08\xd1\x99\x12\x79\x39\x16\x69\x8f\xfe\x63\xdb\x34\xc6\x7a\x2c\xf8\x03\x0a\x51\xea\xde\xe4\x47\xae\xfa\x7d\x6b\x53\xd2\x79\xca\xa2\x43\xd8\xb1\xf0\x87\x71\x96\xe5\x09\x37\x2a\x4d\x72\x34\xde\xcd\xca\x75\x90\x78\x64\xe1\xe6\xf9\x2e\x96\x1b\xb8\xbf\xe3\x94\x21\x7c\x76\x56\x75\x2c\xc2\x3d\x83\xa9\x0d\xdc\x14\x6d\x5d\x9f\x6e\x46\x39\x33\xd2\xec\x97\x28\xf7\xb1\x42\xee\x0f\xc6\x72\xb8\x92\x61\x29\xd6\x74\xd8\xb7\x49\x17\xe5\x0d\x3b\x14\x7a\x3b\x4a\xb5\x44\xed\x5d\xd2\x9a\x23\x5b\xe8\x78\x0a\x84\x3e\x05\x42\xae\xe2\xed\xe6\x6f\x54\x84\x06\xa8\x8f\x88\x16\x58\x8e\x40\xc3\xac\x41\xa4\x3b\xb7\xc7\x22\x54\x0f\xfa\xf1\x1c\xb1\x5e\x63\x90\x49\x11\xe9\xb1\xcb\x08\xf7\x15\x48\x8e\x5e\x45\x60\xd1\x45\x71\x58\xd7\x72\xa7\xeb\x77\xb5\x9d\x75\x56\x10\x6b\xf5\xaa\x1b\x25\x8c\x5d\x75\x08\x2b\xac\x1e\xd3\x26\xa9\xc7\x89\x6d\x3f\x94\x91\x37\x5c\xd2\x19\x4e\xe8\x9f\x93\x62\xac\xca\x66\x20\x4d\xcf\x78\xb8\xc2\x5a\x77\xeb\xad\x49\x2a\xfe\x03\xfd\x5c\x73\x38\x3c\xed\xa8\x61\x97\x4a\x8d\xf2\xff\x38\xa7\x6e\x6f\xe1\x3d\x2a\x73\x0c\xe5\x9a\xfc\x32\x5c\x2b\xa6\xf2\xeb\x5a\x1b\x9b\x8b\x6d\xf5\x37\x5e\xd6\x71\x5d\xcd\x31\x32\xa5\xc7\xb0\x73\x8f\x29\x0f\xba\x11\x90\x80\x8c\xe0\x9a\xda\x39\x34\x06\x56\x2c\xd6\xe3\x2b\x89\x75\x58\x82\xad\x61\x44\x5f\x96\x67\xdd\xd4\x7d\x6c\x77\x24\xcd\xc2\x94\x21\x59\xfe\xfe\xdd\xfd\x0c\xa5\x87\x6f\x17\xcb\xe5\x0c\x68\x89\xd9\x7a\x3f\x26\xbb\xe1\xb4\x7a\x18\xf7\x67\x40\xe5\x70\x1e\xf7\x84\x72\x03\x82\xc6\xd0\xc6\x9f\xa0\x90\x8c\x90\x85\x3d\x25\x1c\x12\xcb\x40\xc0\x40\xdc\x8a\x3b\x33\x1c\x2b\x03\x85\xd1\xaf\xfc\x1c\xe5\x7e\x61\x3a\x6b\x9f\x15\xb8\x36\xaf\x88\xc9\xf8\xf5\xc7\xa3\xf4\x79\xb5\x33\xc2\x16\xdb\x15\x6c\xf9\xd9\x07\x63\x8f\xc2\x16\x68\xb7\x80\x3e\x5f\x5f\x34\xc5\xc3\x45\x58\xf2\x27\x14\xb1\xc8\x34\x99\x7f\x36\x84\xff\x4d\x44\xfe\x03\x6f\xdf\x42\x29\x94\xc3\xa7\x6a\x3e\x43\x40\x6f\xac\xd8\x53\xc8\xf9\x8a\x02\xd0\x62\x9f\xe1\xa9\x5a\xfb\x53\x23\x73\xce\xc8\x5d\x38\x80\xc5\x93\x29\xf6\x43\x70\xe3\xc7\x40\xfe\x67\xe1\x2b\x0a\x96\xc1\xaf\x6f\x2f\xcb\x14\x26\x81\xb1\x48\xd2\x8d\x65\xe2\xad\x73\x1a\x1a\x06\x83\xc2\xb5\x82\xfd\xcc\x07\x93\x5c\xfd\x6f\x2f\x14\xeb\x95\xeb\xe1\xcc\xb5\x12\xf2\x7a\x83\xde\xba\x2a\x4c\x40\x1d\x85\xef\xfb\xb9\x87\xa6\x9e\x21\xcc\x22\xe6\xa8\x69\x26\xa1\x39\xc8\xa3\xd5\xc2\x0f\xa0\xd4\xf4\x82\xc1\x1b\xf2\x59\xeb\x06\x1e\x0b\x97\x07\x3d\xfe\xcf\x85\x36\x9a\xfc\x0b\x5a\xd4\xe8\x1a\xea\x1b\x31\x17\x5b\x5d\xa0\x55\x27\x92\x2e\xde\x47\x5d\x69\xdd\x24\xcf\x8c\x7d\xe7\xc3\x5a\x4b\x75\x29\x5a\x67\xb6\x0e\xdb\x30\x52\x6c\xfb\xbd\xc3\xaf\xd1\x09\xb1\x51\x3d\xb2\x79\xd0\x78\x9c\x6e\x1f\x12\x61\x02\x37\xe7\xe7\xff\x8c\xb9\xd0\xce\x95\xc7\x94\xda\xfd\x74\xf7\xed\x13\xd3\xdd\xbb\x30\xd2\xf5\xb3\x5a\x1a\xee\x54\x18\x89\x85\x26\x3c\x87\xbf\xb7\x42\x85\xdf\x66\x7a\xf9\xcc\x78\xf7\x70\xe5\x10\x1b\x6f\x93\xc2\x8a\x41\xa8\x6e\xdf\x01\xdb\x1d\x96\xc6\xe2\x96\x27\x96\x08\x21\x42\x3d\x8f\x4c\xfb\x05\x19\xdf\x36\xce\x11\x8f\x97\x3f\x3b\xdc\x4b\xad\x29\x02\x27\x37\xa5\xfd\x1d\xea\xcc\xe9\x2b\x6c\xfb\xe6\x0d\x04\x29\x17\x67\xef\x96\xf0\xcd\xe3\x76\xff\x67\x17\x43\xc9\x98\xc3\xa9\x3a\x65\x6b\x6f\xe3\xc6\xe2\x81\x2f\x30\xd3\xe7\x22\xcc\x50\xd3\x29\x3b\xbd\xbf\xe4\x8e\x87\x6b\x07\x25\x51\x14\x34\x24\xf5\x0c\xe3\xac\x34\xf2\xbd\x9c\x59\xd3\x5d\x3d\x26\xcd\x21\x87\x29\x6c\xa0\x81\xc0\x39\xb4\xbe\xbf\xcb\xcb\x8d\xce\x2d\xfa\x88\x8b\xa2\x79\xfa\xeb\x99\x50\xe2\xa5\xeb\xaa\xd3\x94\x5e\x2c\x4c\x83\x29\xa3\x1b\x4d\xd2\xce\x2e\x52\xbb\x22\xe1\x48\x97\xb5\x74\x3f\x69\xe7\xd9\xf1\x63\x68\xb3\xdc\xc0\xbc\xf7\xbf\x17\x9a\x40\x79\xb2\x3e\x2f\xff\x72\x53\x37\xc2\x0f\xfe\xbf\x02\xe9\x77\xdd\xd2\x64\xf6\x92\x88\x45\x1b\xc6\x64\xb8\x65\x78\x64\x79\x92\x4e\x5c\xbd\x3c\x81\xcb\xb9\xfd\xcc\x6c\xf9\x4b\x7a\x77\x26\xf5\xf2\x45\x09\xe4\xda\xfa\xc9\xcc\xe9\x63\xe6\xd1\x02\x36\xc9\x18\x5e\x37\xe2\x8f\x04\x3d\x63\xb2\xc4\x8d\xa2\x3e\xc5\xff\x42\x61\xe2\x37\xa3\x4e\xc1\x81\x56\x09\xca\xb1\xff\xa2\x35\xd7\x74\x89\x2e\x71\xa6\x2c\x17\xcf\x5e\x17\x5e\xd8\xfb\xbd\x5e\xbf\xde\xc0\xcd\x5d\x85\x24\xa8\x8a\xab\xd4\x64\x8f\x60\x4f\x86\x20\x43\x89\xaf\x30\x53\xbc\x77\x5a\x4c\x93\x79\x3e\x85\xe6\x02\xfa\xfc\x72\xe9\x2c\x66\xfe\xf0\xc6\xef\xe1\x7f\x01\x00\x00\xff\xff\x53\x62\xeb\x62\xc4\x25\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -138,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xac, 0xf7, 0xfc, 0xaf, 0xb8, 0xc1, 0x79, 0x74, 0x28, 0x12, 0xa8, 0x53, 0x3a, 0x1a, 0x7b, 0x62, 0xa0, 0xd8, 0xbd, 0x28, 0xc4, 0x6d, 0x28, 0xce, 0xd5, 0x8f, 0xdf, 0xdb, 0x50, 0x47, 0xd3, 0x6c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0xd2, 0x1b, 0x4d, 0xe7, 0xdb, 0x9e, 0xea, 0xe7, 0xfd, 0x3e, 0x91, 0x44, 0x47, 0x2f, 0x22, 0x95, 0xf3, 0x37, 0xcc, 0x37, 0x49, 0xc2, 0xc3, 0xe4, 0x86, 0x4, 0xdb, 0xb, 0x4, 0x17, 0x81}}
 	return a, nil
 }
 
@@ -202,26 +201,6 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	return a, nil
 }
 
-var _groupbankCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x53\xcd\x6e\x1a\x4d\x10\xbc\xf3\x14\x75\xb2\xe1\x60\xb8\x58\x3e\xac\xfc\x49\x7c\x91\x85\x65\x25\x91\x25\x07\x92\x43\x94\x43\x7b\xe8\x65\x37\x2c\x33\x68\x66\x96\x0d\x42\xbc\x7b\x34\xbf\xc0\x22\x2b\x7b\x59\x69\xa6\xbb\xba\xba\xaa\x86\x84\x60\x63\x86\xd4\x34\x23\x08\x25\xad\x26\x61\xf1\xac\x55\xbb\x9d\x7d\x79\xfd\xf1\x89\xe4\x1a\x87\xc1\x00\x00\x26\x93\x09\xbe\x59\xa5\xd9\x80\x49\x54\x68\x0d\x6b\x73\x8b\x25\x6f\x95\xa9\xad\xc9\x35\x9f\x79\x5f\x60\x5e\x31\x5e\x9e\xa0\x4a\xd8\x8a\x7d\x29\xba\x4a\xa1\x22\x93\x1a\x78\xe9\x3b\xce\xe7\x37\x6c\x33\x5c\x81\xe9\x61\xf1\x22\xed\xc3\x7d\x81\x59\xa3\xba\xb9\x5a\xb3\x1c\x7f\xa7\xb6\xb1\xc7\x13\x9f\xff\xe5\x3e\x80\x0b\x92\x10\xd4\x34\xa9\x1f\x56\xc1\x38\xb2\x6e\x7e\xad\xb1\x73\x8d\xa8\x58\x73\xee\x9d\x57\xbc\xc7\x8a\x2d\x08\x9a\x8d\x6a\xb5\x60\xa8\xf7\xdf\x2c\x2c\xde\x49\xac\x61\x2b\xb2\xae\x7b\xef\xc1\x5b\xc3\x0e\xb3\xab\x6d\xb5\xd4\xd4\x45\xd8\x38\xed\x6a\x93\xb2\x95\xe9\x6e\x58\x6a\xb5\x29\x30\xed\x2d\x31\x2a\x30\x7d\x0a\x15\x5f\x49\xd2\x8a\x35\x0e\x1e\xc6\x7d\x4e\x88\x4d\x3c\x7d\xbc\x83\xd0\x4c\x96\x71\x59\x3e\x1c\x0d\x72\x7d\x72\xc6\x8b\x1d\xe7\x2a\x7d\x6b\xe2\xda\x61\x0f\x2c\x16\xd9\x91\x5a\xf7\xd0\xb2\x04\x19\xd3\x70\x53\x8e\x93\x1b\x3f\x23\x9b\x71\xdb\xd6\xcb\x5f\x8e\x93\xdb\xea\x82\xc0\x1b\xdb\x56\xcb\x08\x9e\xc8\x5b\xe5\x0e\x36\xb9\x4e\x87\xa2\xc7\xbb\x58\xe0\x2f\xce\xfc\x7c\x0d\xfa\x27\xe9\xa1\x3a\xc9\xda\x71\xa6\x53\x6c\xe2\x52\x26\x44\xb1\x4e\x23\xb7\xba\xde\x39\x95\x48\x08\xd5\x4a\x9b\x21\x3d\xd6\xaa\xde\xb1\x81\x92\xcd\xde\xf3\x89\x5e\x39\x7a\xe9\x2c\xa2\x9e\x4c\xff\x38\xa6\x39\x2d\x1f\xfa\xd7\x8f\x42\x4a\xcd\x90\x36\x8e\x5b\x81\xc5\xac\xfe\xf3\x70\x3f\xba\x8e\xc5\x19\x48\xd4\xf5\x39\x26\xb4\x64\xcd\x52\x70\x94\xf4\x1f\x74\xcf\x83\x94\x6f\xfc\x80\x37\x2e\xf1\x1f\x86\x37\xe6\xe2\x8d\x9f\x8c\xf6\xb6\x07\x97\xc9\xe0\xa6\x9f\xda\x41\x9f\xde\xc9\x76\x84\xe5\x9c\x5b\x0e\x36\xd0\xea\x48\xda\xf3\x77\x73\xd1\x1e\xd3\x70\x45\x70\x7c\xa5\x57\xf8\x8f\x72\xf7\x31\x06\xe7\xf8\x37\x00\x00\xff\xff\xc0\x9d\x44\x2f\xbf\x04\x00\x00"
-
-func groupbankCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_groupbankCdc,
-		"GroupBank.cdc",
-	)
-}
-
-func groupbankCdc() (*asset, error) {
-	bytes, err := groupbankCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "GroupBank.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0xc, 0xac, 0x8d, 0x28, 0x97, 0x86, 0xf7, 0x25, 0xb0, 0xf1, 0x2b, 0xc9, 0x26, 0xd7, 0x85, 0x3f, 0xc4, 0xe6, 0x6f, 0x9b, 0xab, 0xd6, 0x9, 0x39, 0xad, 0x21, 0x7d, 0x56, 0x9f, 0x55, 0xe}}
-	return a, nil
-}
-
 var _multiplevaultsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xb1\x8e\x1a\x31\x10\x86\x7b\x3f\xc5\x2f\x2a\xb6\x81\x2b\xa2\x14\x2b\x5d\x14\x25\x0a\xdd\x55\x21\x69\xa2\x14\x73\x66\x96\xb5\xe2\xb5\x2d\x7b\x0c\xd9\x20\xde\x3d\xb2\x77\xe1\x20\x34\x71\x61\xe1\xd1\x30\xff\x37\x9f\x56\x29\x33\x04\x1f\x05\x9b\xec\xf6\xe6\xd5\xf2\xd6\xff\x62\x87\x2e\xfa\x01\x8b\xbb\xda\x42\x29\xd2\x9a\x53\x5a\x92\xb5\x0d\xb4\x77\x12\x49\x0b\x8c\x13\x8e\x1d\x69\xc6\x4b\xb6\x62\x82\xe5\xef\x94\xad\x24\x9c\x94\x02\x80\xf5\x7a\x8d\xcf\xde\x09\x19\x97\x20\x3d\x43\xbc\x90\x45\xca\x21\xd8\x11\xbe\xab\xb5\x6e\x4e\x82\x94\xa8\x84\x1d\x77\xc6\xf1\x0e\xc6\x41\x7a\x93\xae\x69\x75\xe2\x8c\x71\xa9\x35\x38\x50\x9c\xa6\x7e\xad\x43\x5b\x9c\xb6\x63\xe0\x16\xdf\x36\xe6\xf7\xfb\x77\xe7\x37\x8e\x4d\x76\x5a\x8c\x77\x10\x8f\xc8\x92\xa3\x9b\x88\xc6\xc0\x85\x8d\xa4\x3e\xdf\x56\x1b\x82\xe5\x81\x9d\xa4\xdb\xdc\xba\xfe\xc1\xf0\xb1\x50\x63\xcf\x52\xf7\x2d\x89\x69\xd9\xb4\xf8\x51\x7e\xfd\xc4\xa9\xfe\xa5\x9c\xe0\x93\xdc\x3c\xcb\x89\x9c\xb2\x95\x95\x65\xb7\x97\x1e\x1f\xf0\xd4\x62\xf1\x92\x53\x91\xb9\x33\x9a\x84\x71\x2c\x30\xf7\x56\xae\x98\x37\x3e\x66\x51\x69\x71\x1d\x7f\x56\xd3\x7d\xdd\x59\x47\x26\xe1\x2f\x43\x90\xb1\x82\x82\xac\xf5\xc7\x04\x72\x23\x72\xe2\x62\x6e\xee\x01\xc1\xf1\x11\x53\x57\xb5\xd1\x53\x02\xe1\x0f\x47\x8f\x57\xb2\xe4\x34\x5f\xc6\x3e\x08\x29\x2e\xfe\x8d\x5a\x1e\x2e\x66\x5a\x94\xbb\x69\xf1\xf1\x74\xf7\x51\xad\x6a\xdf\xf9\xbf\x6c\xed\x59\x3e\x4d\x10\xcb\x06\xcf\xcf\x78\x5a\x15\x6d\xdb\x9e\x0b\xb5\x1d\xe7\xf4\xdd\xcc\x3f\x14\x9d\x3d\x1d\xf8\x0e\xff\xd1\x53\xb9\xd5\xf9\x6f\x00\x00\x00\xff\xff\xe0\x68\x11\xe5\x07\x03\x00\x00"
 
 func multiplevaultsCdcBytes() ([]byte, error) {
@@ -439,7 +418,6 @@ var _bindata = map[string]func() (*asset, error){
 	"FungibleToken.cdc":                    fungibletokenCdc,
 	"FungibleTokenMetadataViews.cdc":       fungibletokenmetadataviewsCdc,
 	"FungibleTokenSwitchboard.cdc":         fungibletokenswitchboardCdc,
-	"GroupBank.cdc":                        groupbankCdc,
 	"MultipleVaults.cdc":                   multiplevaultsCdc,
 	"utility/MetadataViews.cdc":            utilityMetadataviewsCdc,
 	"utility/NonFungibleToken.cdc":         utilityNonfungibletokenCdc,
@@ -498,7 +476,6 @@ var _bintree = &bintree{nil, map[string]*bintree{
 	"FungibleToken.cdc": {fungibletokenCdc, map[string]*bintree{}},
 	"FungibleTokenMetadataViews.cdc": {fungibletokenmetadataviewsCdc, map[string]*bintree{}},
 	"FungibleTokenSwitchboard.cdc": {fungibletokenswitchboardCdc, map[string]*bintree{}},
-	"GroupBank.cdc": {groupbankCdc, map[string]*bintree{}},
 	"MultipleVaults.cdc": {multiplevaultsCdc, map[string]*bintree{}},
 	"utility": {nil, map[string]*bintree{
 		"MetadataViews.cdc": {utilityMetadataviewsCdc, map[string]*bintree{}},
diff --git a/lib/go/test/token_test.go b/lib/go/test/token_test.go
index 3205c9bd..3155f941 100644
--- a/lib/go/test/token_test.go
+++ b/lib/go/test/token_test.go
@@ -454,7 +454,7 @@ func TestVaultDestroy(t *testing.T) {
 		false,
 	)
 
-	t.Run("Should subtract tokens from supply when they are destroyed", func(t *testing.T) {
+	t.Run("Should not subtract tokens from supply when they are destroyed with `destroy`", func(t *testing.T) {
 		script := templates.GenerateDestroyVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken", 100)
 		tx := createTxWithTemplateAndAuthorizer(
 			b, script, exampleTokenAddr)
@@ -479,43 +479,8 @@ func TestVaultDestroy(t *testing.T) {
 
 		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
 		supply := executeScriptAndCheck(t, b, script, nil)
-		assert.Equal(t, CadenceUFix64("900.0"), supply)
-	})
-
-	t.Run("Should subtract tokens from supply when they are destroyed by a different account", func(t *testing.T) {
-		script := templates.GenerateDestroyVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken", 100)
-		tx := createTxWithTemplateAndAuthorizer(
-			b, script, joshAddress)
-
-		signAndSubmit(
-			t, b, tx,
-			[]flow.Address{
-				b.ServiceKey().Address,
-				joshAddress,
-			},
-			[]crypto.Signer{
-				serviceSigner,
-				joshSigner,
-			},
-			false,
-		)
-
-		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		result := executeScriptAndCheck(t, b,
-			script,
-			[][]byte{
-				jsoncdc.MustEncode(cadence.Address(joshAddress)),
-			},
-		)
-
-		assert.Equal(t, CadenceUFix64("200.0"), result)
-
-		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		supply := executeScriptAndCheck(t, b, script, nil)
-		assert.Equal(t, CadenceUFix64("800.0"), supply)
+		assert.Equal(t, CadenceUFix64("1000.0"), supply)
 	})
-
 }
 
 func TestMintingAndBurning(t *testing.T) {

From a95f9ec50b084479892469861d6fa6fe8de42fa4 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 1 Dec 2023 12:28:06 -0600
Subject: [PATCH 069/115] remove transfer event and remove event functions

---
 contracts/FungibleToken-v2.cdc             | 25 +++++-----------------
 lib/go/contracts/internal/assets/assets.go |  6 +++---
 2 files changed, 8 insertions(+), 23 deletions(-)

diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index 8b1e3bd6..5655f312 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -47,24 +47,9 @@ access(all) contract FungibleToken {
 
     /// The event that is emitted when tokens are withdrawn from a Vault
     access(all) event Withdraw(amount: UFix64, from: Address?, type: String)
-    access(self) fun emitWithdrawEvent(amount: UFix64, from: Address?, type: String): Bool {
-        emit Withdraw(amount: amount, from: from, type: type)
-        return true
-    }
 
     /// The event that is emitted when tokens are deposited to a Vault
     access(all) event Deposit(amount: UFix64, to: Address?, type: String)
-    access(self) fun emitDepositEvent(amount: UFix64, to: Address?, type: String): Bool {
-        emit Deposit(amount: amount, to: to, type: type)
-        return true
-    }
-
-    /// The event that is emitted when tokens are transferred from one account to another
-    access(all) event Transfer(amount: UFix64, from: Address?, to: Address?, type: String)
-    access(self) fun emitTransferEvent(amount: UFix64, from: Address?, to: Address?, type: String): Bool {
-        emit Transfer(amount: amount, from: from, to: to, type: type)
-        return true
-    }
 
     /// Event emitted when tokens are destroyed
     access(all) event Burn(amount: UFix64, type: String)
@@ -107,7 +92,7 @@ access(all) contract FungibleToken {
                 // `result` refers to the return value
                 result.getBalance() == amount:
                     "Withdrawal amount must be the same as the balance of the withdrawn Vault"
-                //FungibleToken.emitWithdrawEvent(amount: amount, from: self.owner?.address, type: self.getType().identifier)
+                emit Withdraw(amount: amount, from: self.owner?.address, type: self.getType().identifier)
             }
         }
     }
@@ -205,7 +190,7 @@ access(all) contract FungibleToken {
             pre {
                 from.isInstance(self.getType()): 
                     "Cannot deposit an incompatible token type"
-                //FungibleToken.emitDepositEvent(amount: from.getBalance(), to: self.owner?.address, type: from.getType().identifier)
+                emit Deposit(amount: from.getBalance(), to: self.owner?.address, type: from.getType().identifier)
             }
             post {
                 self.getBalance() == before(self.getBalance()) + before(from.getBalance()):
@@ -222,9 +207,9 @@ access(all) contract FungibleToken {
         }
 
         destroy() {
-            pre {
-                //FungibleToken.emitBurnEvent(amount: self.getBalance(), type: self.getType().identifier)
-            }
+            // pre {
+            //     FungibleToken.emitBurnEvent(amount: self.getBalance(), type: self.getType().identifier)
+            // }
         }
     }
 }
\ No newline at end of file
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index af357bc5..4699b2d8 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -2,7 +2,7 @@
 // sources:
 // ../../../contracts/ExampleToken-v2.cdc (11.769kB)
 // ../../../contracts/ExampleToken.cdc (11.958kB)
-// ../../../contracts/FungibleToken-v2.cdc (9.668kB)
+// ../../../contracts/FungibleToken-v2.cdc (8.896kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
@@ -121,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x5a\x4b\x93\xdb\x36\x12\xbe\xf3\x57\x74\x4d\x0e\x96\xb2\x8a\xc6\x87\xad\x3d\xa8\xd6\x71\xec\x24\xde\xca\x65\x2b\x15\xcf\xc6\x87\xad\xad\x12\x44\x36\x45\xc4\x20\xc0\x00\xa0\x64\xed\xd4\xfc\xf7\xad\x6e\x00\x7c\x89\x9a\xd1\x4c\x2a\x87\xf5\xc1\x9e\x21\x89\x7e\x3f\xbe\x6e\xf8\xf6\xeb\xaf\xb3\xec\x2b\xb8\xab\x10\x3e\x28\x73\x84\x0f\xad\xde\xcb\x9d\x42\xb8\x33\x9f\x51\x83\xf3\x42\x17\xc2\x16\x59\xf6\xd5\x57\xb0\x4d\x2f\xf9\xdd\x16\x72\xa3\xbd\x15\xb9\xcf\x32\x3e\x3e\x7f\x12\xa4\x03\x6d\x40\x19\xbd\x47\x0b\x42\x83\xd4\x1e\x6d\x29\x72\xcc\x7c\x25\x3c\x08\xa5\xa0\x4c\x47\x3d\x1f\x4d\x74\x1d\x1c\x4d\xab\x0a\xa8\xc4\x81\x5e\xd1\xf3\xd2\xd8\x1a\xbc\x59\x67\xd9\x4f\x25\x08\x68\x1d\x5a\x07\x47\xa1\xbd\xa3\x0f\x0a\x6c\x94\x39\x81\x00\x8d\xc7\x09\xad\x15\xf8\x0a\xa5\xed\x65\x2e\x0c\x92\x60\x1e\x34\x62\x41\x87\x65\xdd\x28\xac\x51\x7b\xfa\x12\x46\xaa\xf6\x32\xaf\x60\xd7\xfa\x48\x8a\x19\xb8\xac\x30\x17\x48\x74\x87\x1c\x14\x58\x4a\x8d\x05\x48\x0d\xbe\x92\xae\x93\x62\x1d\xec\xfa\xab\x68\x95\xdf\x82\x45\x67\x5a\x9b\x0f\x4e\x66\xd9\x8f\x22\xaf\xa6\xf6\xe9\xbe\xf3\xa7\x06\x99\xb9\x3b\xe7\x7e\x99\x68\x64\xfa\xb3\x35\x07\x59\xa0\xdd\xae\x60\xfb\x0b\xe6\x28\x0f\xfc\xb3\xd0\x05\x6c\xdf\x0b\x25\x74\x8e\x73\xa7\x1d\x7b\xdb\x4d\xd4\xcb\x95\xb0\x08\x8d\xc5\x6f\x72\xa3\x0b\xe9\xa5\xd1\x8e\x49\x35\xc6\xf9\xe1\x33\xf6\xb9\x45\xe7\xad\xcc\x7d\x46\x82\xe2\x17\xcc\x5b\x7a\x09\xa6\x64\xc9\xcb\x56\xe7\xe1\x63\x36\x17\x02\x6b\xb2\x66\xbe\x27\x20\x3e\x0e\x1b\x61\x85\x47\xd8\x61\x2e\x5a\x92\xc5\xc3\x5e\x1e\xd0\xf1\xe7\x14\x14\xfc\x83\xd8\x49\x25\xfd\x89\x6c\xe3\x2a\x61\x31\x13\x60\xb1\x44\x8b\x3a\xe7\x78\x0a\x6e\x64\xea\x41\x2e\xa3\xd5\x09\xf0\x4b\x63\x5c\x24\x55\x4a\x54\x85\xeb\x25\xca\xa4\x06\xa3\x11\x8c\x85\xda\x58\x4c\x12\xf7\xa6\xa0\xc0\xa4\x98\x76\x26\x0a\x14\x22\x74\x22\x4d\x2d\x3e\x23\xe4\xad\xf3\xa6\xee\x2c\x1c\x4d\xd3\x39\x91\x6c\x33\xb6\x32\x05\xb8\x81\x83\xb0\xd2\xb4\xf4\xb5\xd4\x7b\x07\x47\xe9\x2b\x26\x1f\xa2\x71\x9d\x7d\x30\x16\xf0\x8b\x20\x32\x2b\x10\x50\x8a\x36\x47\x0f\xb9\xd0\xb0\xc3\x9e\x3a\x16\xb0\x3b\xa5\x84\x92\x7a\x9f\x05\x73\x40\x0a\x8a\x51\xb4\x7c\x7d\x9b\x65\xb2\x6e\x8c\xf5\xf0\xab\xc4\xe3\x2f\xe8\x8c\x3a\xa0\x85\xd2\x9a\x1a\x6e\x86\x8f\x6e\xb2\xec\xf6\xf6\x76\x9c\x3c\xf4\x64\xf4\x34\x16\x88\x4e\x16\x11\xa3\xc5\xe2\xa0\x50\x58\xfc\xbd\x95\x76\x2e\xad\xc6\xc9\xc0\x94\x7b\x61\xe1\x13\x82\xf3\x52\xa9\x50\x34\xa4\x07\xe1\x46\x45\x07\x2a\xb4\x7d\xdc\x78\xfe\x8d\x43\xca\xd4\x1c\x39\x65\xab\x98\x64\xeb\x83\xb7\x6a\xf4\x95\x29\xa2\x73\x6a\xa1\x4f\xd0\x58\xf3\x1b\x72\x71\x22\x36\x81\x19\x55\x20\x92\x94\x99\x1a\x3d\xa9\x35\x6e\xc5\x24\x63\xe5\x08\x21\xbc\x3b\x91\xb2\x35\x0a\xed\x3a\x5d\xd7\x5c\x0c\x43\x18\xf4\x4f\xe9\x67\x7e\xd6\x79\x39\xe8\x9c\x8c\xe2\x46\xe9\xde\x97\x0e\x91\xe7\xe8\xdc\x42\x28\xb5\xec\x24\x99\x94\xb5\xfb\x2c\x03\x00\xb8\xbd\x85\x77\x1a\x50\x7b\xe9\xa3\x9d\x4b\x63\x49\x16\x73\x94\x7a\xcf\xe4\x29\xcc\x0a\x2b\x8e\x42\x71\xcc\x73\xac\x05\xff\x8b\x90\x40\x4c\x68\xc8\x72\x48\xee\x53\x3a\xbd\x53\x98\x58\xde\x72\xcf\xc1\x43\x70\x6b\x50\x19\x6b\xe9\x29\x34\x8f\x15\xea\xc4\x84\x8c\x95\xb8\xeb\x27\x58\x1e\x86\xcc\x16\xa2\x36\xad\xf6\x1b\xf8\xd7\x07\xf9\xe5\x6f\x7f\x5d\xf1\xd9\x0d\xbc\x2b\x0a\x8b\xce\xbd\x5d\x71\xf5\xdc\xc0\x47\x6f\xa5\xde\x2f\x87\xc4\x1c\xaa\x72\x49\x71\xc6\x02\x25\x7a\x3f\x12\xf5\xe7\x11\xdd\xc0\x7b\x63\x14\xdc\x33\x71\xfa\x43\xf4\xce\x05\x0c\xff\x26\x5a\xf4\x77\xa2\x43\x7f\x2f\xbb\xd3\x16\x7d\x6b\x35\x78\xdb\x22\x3f\x7b\x78\x89\x2d\x0b\x6c\x8c\x93\x3e\x64\xd6\xe3\x96\xfc\x21\x7c\x7a\xa6\xb3\x37\x2f\x30\x63\x24\x36\x6f\xc5\x47\x28\xce\xdb\x70\x2a\x5a\x32\x21\x11\xf2\xe6\x4f\x34\x9f\xb7\x42\xbb\x12\x2d\x25\x26\x07\x23\xb5\x03\x91\xe7\xc4\x9e\x2d\xaa\x0d\x15\x95\x0b\x16\xbd\x8b\xa7\x9f\x0e\xa3\x97\x98\x38\x51\xbf\x32\x52\x9f\x6b\xf3\x33\xe1\x67\xe3\xf6\x65\x0e\x60\x91\x1f\x89\x59\xe7\xad\x39\x61\x71\xc1\xac\xef\x5b\xab\xcf\x63\x6a\x64\xb4\xcb\x56\xa3\xc3\x17\xa2\xf2\x51\x9b\xc8\x32\x1a\x00\xbe\x7d\x03\xaf\xd7\xaf\x07\xaf\x3a\x93\x8d\x04\xeb\x62\x74\xc6\x34\x0f\xd7\x18\x29\x35\xe7\xf4\x60\x14\xbe\x7d\x87\xe3\x10\x46\xea\xec\x79\x84\x31\xb1\x95\x84\x6e\x41\xb5\x3d\x15\x54\xea\xfc\x89\xc8\xb0\xa8\x33\xa8\x49\x0d\x86\x7b\xc0\xa9\xc1\xf5\x19\xdf\x9f\x3c\x74\x30\x3a\x32\x1c\xf3\x32\x1a\xb6\xbb\x84\x25\xa9\xd7\xae\xba\xb3\x03\xe8\xa6\x50\x10\x54\x32\x0d\x06\xbc\xd7\x18\xe7\x64\x44\x4b\xa6\x84\xdc\xa2\x60\x21\x22\x62\x6a\xa2\x19\x5c\x2f\x3a\x69\x4c\x38\x9c\xe1\x3c\xf9\x58\x58\xa9\x4e\x11\x97\x73\x2f\x36\x47\x0d\x51\x92\xb1\x1e\xc3\x68\x3a\x47\xbb\x3d\x20\x8a\xbd\x32\xb1\x4c\x16\x04\xd7\xee\xe2\xb0\x32\x35\xa0\x39\x6a\xb4\xaf\xdc\xa0\xc4\xa6\xc3\x04\x8c\x83\x9f\x5d\x2a\xc1\x3d\x90\xb3\x58\x9b\x03\x97\xe7\x00\xe8\x06\x07\x47\x44\xee\x06\x50\xf9\x95\x8b\x7a\x80\xc2\x03\x2a\x2a\x60\x4d\xbb\x53\x32\x4f\xf3\x8a\x74\x61\x0e\xf3\x20\xc8\x7e\x3b\x85\xf5\x88\x58\xf2\x06\x23\xe0\x4e\x78\x70\xde\xd8\x04\x01\x06\xc6\x89\x36\x8d\x65\x6f\x44\x28\x67\xb0\x25\xbd\x14\x4a\x9d\x20\x0f\x80\x46\xf6\x10\xfa\x71\x7d\x02\xd7\x5a\x9c\x60\x6f\x09\x52\x71\x2d\x4d\x7c\x3a\x1d\x09\xb9\xa6\x98\x20\x75\xe4\x41\x78\x9c\x48\xd1\x74\x70\x3b\x0e\x99\xe6\xe8\xc0\x35\x98\xcb\x52\xe6\x91\x6e\xc4\xe6\x26\xd2\x1d\x51\xe0\x38\x4c\xbe\xef\x07\xae\xca\x9a\x76\x5f\xc1\x60\x90\xb8\x56\xa1\x30\x13\xb0\x56\x64\x94\x27\x74\x62\xe7\x5d\xa3\x12\xd1\x9a\xe8\x31\x92\x7d\x44\xe3\xf9\x7a\xc4\xec\x18\x02\xb8\x50\x39\x8f\xf3\x28\x6b\xb9\x81\xef\xee\x39\xa0\x1f\x26\xf5\x90\x06\xc1\xc9\xa3\xc0\x0c\xb6\x16\x5d\x1c\x55\xcb\xa8\x48\x88\x37\x2e\x84\x07\xa1\x5a\x3c\x3b\x16\x8e\xac\xf7\xe8\xe3\xa8\xba\x58\xc2\x9b\x37\xb1\xc4\x6e\xce\x3e\xa7\x3f\x37\x9f\x7a\x0c\x1b\x0b\x77\xdd\x3a\x4f\x63\x11\xb1\x73\xa2\x46\x1a\x16\xe8\xe7\x58\x28\xd2\x78\xd7\xc3\x4f\xd6\xec\x66\x46\x89\x11\xae\x5e\x5f\x86\x8d\xe3\x96\x49\x8d\x68\xcd\x21\xf2\x76\x2d\x42\x2b\x4e\xed\x81\x5f\xed\xd1\xdf\x9d\x1a\x5c\x2c\xd7\xb2\xa0\x42\x5c\x4a\xb4\xcb\x11\xf7\x87\x49\x07\x19\x74\x8b\x34\xd3\xff\xf1\x6e\x11\x21\xe3\x4c\xb3\x90\x3a\x3a\xeb\x8a\x66\xf1\x09\x53\x89\x96\x3a\x57\x6d\x81\x20\xa0\x5b\x0c\x04\x31\xf2\x0a\xf3\xcf\x63\x17\xc4\xc2\xd4\x51\x39\x62\x37\x6c\xd1\x80\x7d\xcd\x7c\x1d\xcc\x10\x86\xa8\x0c\x06\x75\xaa\x30\xe9\xa3\xf9\x61\x7a\x05\x4a\x7e\x46\x70\x8d\x92\x3c\x7d\xd5\xd0\x36\x54\xbb\x3b\x22\x0e\x75\x11\x5e\xd0\x6c\x2e\x4b\x4e\x25\x0f\x8d\x0a\xab\x00\xb8\xbe\xcd\x24\x67\x4d\xdb\x4c\x34\x3d\x78\xf1\x19\xfb\x5e\x41\xfd\x23\xbe\x71\xd4\x40\xe7\xdd\x30\x5a\x13\x3d\x96\xdd\x2c\x14\x25\x75\xa4\xb9\x08\xd1\x99\x12\x79\x39\x16\x69\x8f\xfe\x63\xdb\x34\xc6\x7a\x2c\xf8\x03\x0a\x51\xea\xde\xe4\x47\xae\xfa\x7d\x6b\x53\xd2\x79\xca\xa2\x43\xd8\xb1\xf0\x87\x71\x96\xe5\x09\x37\x2a\x4d\x72\x34\xde\xcd\xca\x75\x90\x78\x64\xe1\xe6\xf9\x2e\x96\x1b\xb8\xbf\xe3\x94\x21\x7c\x76\x56\x75\x2c\xc2\x3d\x83\xa9\x0d\xdc\x14\x6d\x5d\x9f\x6e\x46\x39\x33\xd2\xec\x97\x28\xf7\xb1\x42\xee\x0f\xc6\x72\xb8\x92\x61\x29\xd6\x74\xd8\xb7\x49\x17\xe5\x0d\x3b\x14\x7a\x3b\x4a\xb5\x44\xed\x5d\xd2\x9a\x23\x5b\xe8\x78\x0a\x84\x3e\x05\x42\xae\xe2\xed\xe6\x6f\x54\x84\x06\xa8\x8f\x88\x16\x58\x8e\x40\xc3\xac\x41\xa4\x3b\xb7\xc7\x22\x54\x0f\xfa\xf1\x1c\xb1\x5e\x63\x90\x49\x11\xe9\xb1\xcb\x08\xf7\x15\x48\x8e\x5e\x45\x60\xd1\x45\x71\x58\xd7\x72\xa7\xeb\x77\xb5\x9d\x75\x56\x10\x6b\xf5\xaa\x1b\x25\x8c\x5d\x75\x08\x2b\xac\x1e\xd3\x26\xa9\xc7\x89\x6d\x3f\x94\x91\x37\x5c\xd2\x19\x4e\xe8\x9f\x93\x62\xac\xca\x66\x20\x4d\xcf\x78\xb8\xc2\x5a\x77\xeb\xad\x49\x2a\xfe\x03\xfd\x5c\x73\x38\x3c\xed\xa8\x61\x97\x4a\x8d\xf2\xff\x38\xa7\x6e\x6f\xe1\x3d\x2a\x73\x0c\xe5\x9a\xfc\x32\x5c\x2b\xa6\xf2\xeb\x5a\x1b\x9b\x8b\x6d\xf5\x37\x5e\xd6\x71\x5d\xcd\x31\x32\xa5\xc7\xb0\x73\x8f\x29\x0f\xba\x11\x90\x80\x8c\xe0\x9a\xda\x39\x34\x06\x56\x2c\xd6\xe3\x2b\x89\x75\x58\x82\xad\x61\x44\x5f\x96\x67\xdd\xd4\x7d\x6c\x77\x24\xcd\xc2\x94\x21\x59\xfe\xfe\xdd\xfd\x0c\xa5\x87\x6f\x17\xcb\xe5\x0c\x68\x89\xd9\x7a\x3f\x26\xbb\xe1\xb4\x7a\x18\xf7\x67\x40\xe5\x70\x1e\xf7\x84\x72\x03\x82\xc6\xd0\xc6\x9f\xa0\x90\x8c\x90\x85\x3d\x25\x1c\x12\xcb\x40\xc0\x40\xdc\x8a\x3b\x33\x1c\x2b\x03\x85\xd1\xaf\xfc\x1c\xe5\x7e\x61\x3a\x6b\x9f\x15\xb8\x36\xaf\x88\xc9\xf8\xf5\xc7\xa3\xf4\x79\xb5\x33\xc2\x16\xdb\x15\x6c\xf9\xd9\x07\x63\x8f\xc2\x16\x68\xb7\x80\x3e\x5f\x5f\x34\xc5\xc3\x45\x58\xf2\x27\x14\xb1\xc8\x34\x99\x7f\x36\x84\xff\x4d\x44\xfe\x03\x6f\xdf\x42\x29\x94\xc3\xa7\x6a\x3e\x43\x40\x6f\xac\xd8\x53\xc8\xf9\x8a\x02\xd0\x62\x9f\xe1\xa9\x5a\xfb\x53\x23\x73\xce\xc8\x5d\x38\x80\xc5\x93\x29\xf6\x43\x70\xe3\xc7\x40\xfe\x67\xe1\x2b\x0a\x96\xc1\xaf\x6f\x2f\xcb\x14\x26\x81\xb1\x48\xd2\x8d\x65\xe2\xad\x73\x1a\x1a\x06\x83\xc2\xb5\x82\xfd\xcc\x07\x93\x5c\xfd\x6f\x2f\x14\xeb\x95\xeb\xe1\xcc\xb5\x12\xf2\x7a\x83\xde\xba\x2a\x4c\x40\x1d\x85\xef\xfb\xb9\x87\xa6\x9e\x21\xcc\x22\xe6\xa8\x69\x26\xa1\x39\xc8\xa3\xd5\xc2\x0f\xa0\xd4\xf4\x82\xc1\x1b\xf2\x59\xeb\x06\x1e\x0b\x97\x07\x3d\xfe\xcf\x85\x36\x9a\xfc\x0b\x5a\xd4\xe8\x1a\xea\x1b\x31\x17\x5b\x5d\xa0\x55\x27\x92\x2e\xde\x47\x5d\x69\xdd\x24\xcf\x8c\x7d\xe7\xc3\x5a\x4b\x75\x29\x5a\x67\xb6\x0e\xdb\x30\x52\x6c\xfb\xbd\xc3\xaf\xd1\x09\xb1\x51\x3d\xb2\x79\xd0\x78\x9c\x6e\x1f\x12\x61\x02\x37\xe7\xe7\xff\x8c\xb9\xd0\xce\x95\xc7\x94\xda\xfd\x74\xf7\xed\x13\xd3\xdd\xbb\x30\xd2\xf5\xb3\x5a\x1a\xee\x54\x18\x89\x85\x26\x3c\x87\xbf\xb7\x42\x85\xdf\x66\x7a\xf9\xcc\x78\xf7\x70\xe5\x10\x1b\x6f\x93\xc2\x8a\x41\xa8\x6e\xdf\x01\xdb\x1d\x96\xc6\xe2\x96\x27\x96\x08\x21\x42\x3d\x8f\x4c\xfb\x05\x19\xdf\x36\xce\x11\x8f\x97\x3f\x3b\xdc\x4b\xad\x29\x02\x27\x37\xa5\xfd\x1d\xea\xcc\xe9\x2b\x6c\xfb\xe6\x0d\x04\x29\x17\x67\xef\x96\xf0\xcd\xe3\x76\xff\x67\x17\x43\xc9\x98\xc3\xa9\x3a\x65\x6b\x6f\xe3\xc6\xe2\x81\x2f\x30\xd3\xe7\x22\xcc\x50\xd3\x29\x3b\xbd\xbf\xe4\x8e\x87\x6b\x07\x25\x51\x14\x34\x24\xf5\x0c\xe3\xac\x34\xf2\xbd\x9c\x59\xd3\x5d\x3d\x26\xcd\x21\x87\x29\x6c\xa0\x81\xc0\x39\xb4\xbe\xbf\xcb\xcb\x8d\xce\x2d\xfa\x88\x8b\xa2\x79\xfa\xeb\x99\x50\xe2\xa5\xeb\xaa\xd3\x94\x5e\x2c\x4c\x83\x29\xa3\x1b\x4d\xd2\xce\x2e\x52\xbb\x22\xe1\x48\x97\xb5\x74\x3f\x69\xe7\xd9\xf1\x63\x68\xb3\xdc\xc0\xbc\xf7\xbf\x17\x9a\x40\x79\xb2\x3e\x2f\xff\x72\x53\x37\xc2\x0f\xfe\xbf\x02\xe9\x77\xdd\xd2\x64\xf6\x92\x88\x45\x1b\xc6\x64\xb8\x65\x78\x64\x79\x92\x4e\x5c\xbd\x3c\x81\xcb\xb9\xfd\xcc\x6c\xf9\x4b\x7a\x77\x26\xf5\xf2\x45\x09\xe4\xda\xfa\xc9\xcc\xe9\x63\xe6\xd1\x02\x36\xc9\x18\x5e\x37\xe2\x8f\x04\x3d\x63\xb2\xc4\x8d\xa2\x3e\xc5\xff\x42\x61\xe2\x37\xa3\x4e\xc1\x81\x56\x09\xca\xb1\xff\xa2\x35\xd7\x74\x89\x2e\x71\xa6\x2c\x17\xcf\x5e\x17\x5e\xd8\xfb\xbd\x5e\xbf\xde\xc0\xcd\x5d\x85\x24\xa8\x8a\xab\xd4\x64\x8f\x60\x4f\x86\x20\x43\x89\xaf\x30\x53\xbc\x77\x5a\x4c\x93\x79\x3e\x85\xe6\x02\xfa\xfc\x72\xe9\x2c\x66\xfe\xf0\xc6\xef\xe1\x7f\x01\x00\x00\xff\xff\x53\x62\xeb\x62\xc4\x25\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\x4b\x93\xdb\x36\xf2\xbf\xf3\x53\x74\x4d\x0e\x96\xf2\x57\x24\x1f\xfe\xb5\x07\xd5\x3a\x8e\x9d\xc4\x5b\xb9\x6c\xa5\xe2\x59\xfb\xb0\xb5\x55\x82\xc8\xa6\x88\x18\x04\x18\x00\x94\xac\x9d\x9a\xef\xbe\xd5\x0d\x80\x2f\x51\x33\xb2\xb7\x72\xd8\x39\xd8\x14\x49\xf4\xfb\xf1\xeb\xe6\xe6\xdb\x6f\xb3\xec\x1b\xb8\xaf\x10\xde\x29\x73\x82\x77\xad\x3e\xc8\xbd\x42\xb8\x37\x9f\x50\x83\xf3\x42\x17\xc2\x16\x59\xf6\xcd\x37\xb0\x4b\x0f\xf9\xd9\x0e\x72\xa3\xbd\x15\xb9\xcf\x32\x3e\x3e\x7f\x12\xa4\x03\x6d\x40\x19\x7d\x40\x0b\x42\x83\xd4\x1e\x6d\x29\x72\xcc\x7c\x25\x3c\x08\xa5\xa0\x4c\x47\x3d\x1f\x4d\x74\x1d\x9c\x4c\xab\x0a\xa8\xc4\x91\x1e\xd1\xfd\xd2\xd8\x1a\xbc\x59\x67\xd9\x2f\x25\x08\x68\x1d\x5a\x07\x27\xa1\xbd\xa3\x17\x0a\x6c\x94\x39\x83\x00\x8d\xa7\x09\xad\x15\xf8\x0a\xa5\xed\x65\x2e\x0c\x92\x60\x1e\x34\x62\x41\x87\x65\xdd\x28\xac\x51\x7b\x7a\x13\x46\xaa\xf6\x32\xaf\x60\xdf\xfa\x48\x8a\x19\xb8\xac\x30\x57\x48\x74\x87\x1c\x14\x58\x4a\x8d\x05\x48\x0d\xbe\x92\xae\x93\x62\x1d\xec\xfa\x41\xb4\xca\xef\xc0\xa2\x33\xad\xcd\x07\x27\xb3\xec\x67\x91\x57\x53\xfb\x74\xef\xf9\x73\x83\xcc\xdc\x5d\x72\xbf\x4e\x34\x32\xfd\xd5\x9a\xa3\x2c\xd0\xee\x56\xb0\xfb\x0d\x73\x94\x47\xbe\x16\xba\x80\xdd\x5b\xa1\x84\xce\x71\xee\xb4\x63\x6f\xbb\x89\x7a\xb9\x12\x16\xa1\xb1\xf8\x5d\x6e\x74\x21\xbd\x34\xda\x31\xa9\xc6\x38\x3f\xbc\xc7\x3e\xb7\xe8\xbc\x95\xb9\xcf\x48\x50\xfc\x8c\x79\x4b\x0f\xc1\x94\x2c\x79\xd9\xea\x3c\xbc\xcc\xe6\x42\x60\x4d\xd6\xcc\xf7\x0c\xc4\xc7\x61\x23\xac\xf0\x08\x7b\xcc\x45\x4b\xb2\x78\x38\xc8\x23\x3a\x7e\x9d\x82\x82\x2f\xc4\x5e\x2a\xe9\xcf\x64\x1b\x57\x09\x8b\x99\x00\x8b\x25\x5a\xd4\x39\xc7\x53\x70\x23\x53\x0f\x72\x19\xad\xce\x80\x9f\x1b\xe3\x22\xa9\x52\xa2\x2a\x5c\x2f\x51\x26\x35\x18\x8d\x60\x2c\xd4\xc6\x62\x92\xb8\x37\x05\x05\x26\xc5\xb4\x33\x51\xa0\x10\xa1\x13\x69\x6a\xf1\x09\x21\x6f\x9d\x37\x75\x67\xe1\x68\x9a\xce\x89\x64\x9b\xb1\x95\x29\xc0\x0d\x1c\x85\x95\xa6\xa5\xb7\xa5\x3e\x38\x38\x49\x5f\x31\xf9\x10\x8d\xeb\xec\x9d\xb1\x80\x9f\x05\x91\x59\x81\x80\x52\xb4\x39\x7a\xc8\x85\x86\x3d\xf6\xd4\xb1\x80\xfd\x39\x25\x94\xd4\x87\x2c\x98\x03\x52\x50\x8c\xa2\xe5\xdb\x4d\x96\xc9\xba\x31\xd6\xc3\x07\x89\xa7\xdf\xd0\x19\x75\x44\x0b\xa5\x35\x35\xdc\x0d\x6f\xdd\x65\xd9\x66\xb3\x19\x27\x0f\xdd\x19\xdd\x8d\x05\xa2\x93\x45\xc4\x68\xb1\x38\x28\x14\x16\xff\x68\xa5\x9d\x4b\xab\x71\x32\x30\xe5\x5e\x58\xf8\x88\xe0\xbc\x54\x2a\x14\x0d\xe9\x41\xb8\x51\xd1\x81\x0a\x6d\x1f\x37\x9e\x7f\x71\x48\x99\x9a\x23\xa7\x6c\x15\x93\x6c\x7d\xf0\x56\x8d\xbe\x32\x45\x74\x4e\x2d\xf4\x19\x1a\x6b\x7e\x47\x2e\x4e\xc4\x26\x30\xa3\x0a\x44\x92\x32\x53\xa3\x27\xb5\xc6\xad\x98\x64\xac\x1c\x21\x84\xf7\x67\x52\xb6\x46\xa1\x5d\xa7\xeb\x9a\x8b\x61\x08\x83\xfe\x2e\x5d\xf3\xbd\xce\xcb\x41\xe7\x64\x14\x37\x4a\xf7\xbe\x74\x88\x3c\x47\xe7\x16\x42\xa9\x65\x27\xc9\xa4\xac\x3d\x64\x19\x00\xc0\x66\x03\x6f\x34\xa0\xf6\xd2\x47\x3b\x97\xc6\x92\x2c\xe6\x24\xf5\x81\xc9\x53\x98\x15\x56\x9c\x84\xe2\x98\xe7\x58\x0b\xfe\x17\x21\x81\x98\xd0\x90\xe5\x90\xdc\xc7\x74\x7a\xaf\x30\xb1\xdc\x70\xcf\xc1\x63\x70\x6b\x50\x19\x6b\xe9\x29\x34\x4f\x15\xea\xc4\x84\x8c\x95\xb8\xeb\x67\x58\x1e\x87\xcc\x16\xa2\x36\xad\xf6\x5b\xf8\xc7\x3b\xf9\xf9\x2f\xff\xbf\xe2\xb3\x5b\x78\x53\x14\x16\x9d\x7b\xbd\xe2\xea\xb9\x85\xf7\xde\x4a\x7d\x58\x7e\x8d\x58\x05\x36\xc6\x49\x1f\x82\xf4\x69\xa1\x7e\x0a\xaf\x5e\xc8\xe4\xcd\x0d\x12\xfd\xcc\x24\xae\x4b\xe1\xbc\x35\x67\x2c\xae\xb0\x7e\xdb\x5a\x7d\xc9\xf7\x92\x53\x3c\xe9\x50\x95\x4b\x4a\x32\x66\x48\x87\x99\xfd\xd3\x14\xb6\xf0\xd6\x18\x05\x0f\x4c\x88\xfe\x64\x09\xe1\x00\x7c\xff\x0a\x5e\xae\x5f\x0e\x1e\xd1\x1f\x91\x1e\x0b\x16\xfe\x4f\x64\xe9\xdf\x65\x77\xe2\xb1\xbb\xb2\xe8\x5b\xab\xc1\xdb\x16\xb3\xf0\xa4\x33\x52\xaa\x5c\xe9\xc6\xc8\x9f\x7d\xfa\xb3\x4f\x91\xca\x5e\x1e\x6b\x7c\xcc\xb3\x90\x4a\x14\xf8\x29\xda\xa8\x2c\x26\x22\xc3\x88\xe7\x8a\x9f\xb2\x8f\x13\xe4\xdc\xe0\xfa\x82\xef\x2f\x1e\x3a\x8c\x11\x19\x8e\x79\x19\x0d\xbb\x7d\x6a\xb4\x54\x88\x56\xdd\xd9\x41\x5f\x53\x28\xa8\x8f\x98\x06\x43\x33\x6c\x8c\x73\x32\xb6\x12\x53\x42\x6e\x51\xb0\x10\xb1\x9d\x34\xd1\x0c\xae\x17\x9d\x34\x26\x90\xc2\x58\x87\x7c\x2c\xac\x54\xe7\x08\x5a\xb8\x50\x99\x93\x86\x28\xc9\x58\x8f\x61\x34\x5d\x42\x81\xbe\x5b\xc4\x42\x92\x58\x26\x0b\x82\x6b\xf7\x11\xc9\x4d\x0d\x68\x4e\x1a\xed\x0b\x37\x48\x9a\x74\x98\x50\x43\xf0\xb3\x4b\x49\xd5\x77\x39\x8b\xb5\x39\x72\xc2\x85\x6e\x37\x38\x38\x22\x72\x3f\xc0\x11\x2f\x5c\xd4\x03\x14\x1e\x51\x51\x46\x37\xed\x5e\xc9\x3c\x81\x39\xe9\x02\x48\xf5\x20\xc8\x7e\x7b\x85\xf5\x88\x58\xf2\x06\xc3\x83\x4e\x78\x70\xde\xd8\x54\x1f\x07\xc6\x89\x36\x15\x79\x4e\x11\x3d\x22\x94\x73\x27\x92\x5e\x0a\xa5\xce\x90\x87\x6a\x2f\x7b\x7c\xf1\xb4\x3e\x81\x6b\x2d\xce\x70\xb0\xd4\x6f\x0c\x75\xaf\xc4\xa7\xd3\x91\xda\x7a\x8a\x09\x52\x47\x1e\x85\xc7\x89\x14\x4d\x87\x45\x22\x02\x37\x27\x07\xae\xc1\x5c\x96\x32\x8f\x74\x23\x70\x31\x91\xee\x88\x02\xc7\x61\xf2\x7d\x8f\x46\x2b\x6b\xda\x43\x05\x03\x94\x75\xab\x42\x01\x30\xb1\x56\x64\x94\x67\x74\x62\xe7\xdd\xa2\x12\xd1\x9a\xe8\x31\x92\x7d\x44\xe3\xcb\xf5\x88\xd9\x31\xec\x6e\xa1\x72\x9e\xe6\x5b\xd0\x72\x0b\x3f\x3c\x70\x40\x3f\x4e\xea\x21\xa1\xe4\xc9\xad\xc0\x0c\x76\x16\x5d\xc4\xf1\x65\x54\x24\xc4\x1b\x17\xc2\xa3\x50\x2d\x5e\x1c\x0b\x47\xd6\x07\xf4\x11\xc7\x2f\x96\xf0\xea\x55\x2c\xb1\xdb\x8b\xd7\xe9\xef\xee\x63\xdf\xe0\x63\xe1\xae\x5b\xe7\x09\x33\x12\x3b\x27\x6a\x24\x24\x45\xd7\xb1\x50\x24\xec\xdb\xf7\x66\xd6\xec\xee\x82\x3c\xd7\xfa\x8b\xa6\x9c\xea\x7d\x68\xca\xd4\x74\xd6\x1c\x0e\xaf\xd7\x22\xb4\xc3\xd4\x0a\xf8\xd1\x01\xfd\xfd\xb9\xc1\xc5\x72\x2d\x0b\x2a\xba\xa5\x44\xbb\x1c\x71\x7a\x9c\x74\x8b\x41\x67\x48\xc3\xcd\x7f\xdf\x19\x62\xc3\x9f\x69\x0c\x52\x47\xc7\xdc\xd0\x18\x3e\x62\x2a\xc7\x52\xe7\xaa\x2d\x10\x04\x74\x13\x52\x10\x23\xaf\x30\xff\x34\x36\x77\x2c\x42\x1d\x95\x13\x76\xa8\x93\x26\x8d\x5b\x06\x8d\x60\x86\x80\x26\x33\x18\xd4\xa4\xc2\xa4\x97\xe6\xa7\x8a\x15\x28\xf9\x09\xc1\x35\x4a\x32\x0c\xad\xa1\x6d\xa8\x4e\x77\x44\x1c\xea\x22\x3c\xa0\x21\x45\x96\x9c\x36\x1e\x1a\x15\x66\x22\xb8\xbd\xa5\x24\x67\x4d\x5b\x4a\x34\x3d\x78\xf1\x09\xfb\xbe\x40\xbd\x22\x3e\x71\xd4\x2c\xe7\xdd\x30\x9a\x97\x9f\xca\x64\x16\x8a\x12\x38\xd2\x5c\x84\xe8\x4c\x49\xbb\x1c\x8b\x74\x40\xff\xbe\x6d\x68\x2c\xc2\x82\x5f\xa0\x10\xa5\x4e\x4d\x7e\xe4\x0a\xdf\xb7\x31\x25\x9d\xa7\x8c\x39\x86\x61\x93\x5f\x8c\xa0\x9e\xa1\x7e\x54\x9a\xe4\x68\xbc\x9b\x95\xeb\x28\xf1\xc4\xc2\xcd\xf3\x5d\x2c\xb7\xf0\x70\xcf\x29\x43\x58\xec\xa2\xc2\x58\x84\x07\x06\x4e\x5b\xb8\x2b\xda\xba\x3e\xdf\x8d\x72\x66\xa4\xd9\x6f\x51\xee\x53\x85\xdc\x0b\x8c\xe5\x70\x25\xc3\x52\xac\xe9\xb0\x78\x90\x2e\xca\x1b\x86\x49\x7a\x3a\x4a\xb5\x44\xed\x4d\xd2\x9a\x23\x5b\xe8\x78\x0a\x68\x98\x62\x42\xae\xe2\x35\xcf\xef\x54\x70\x06\x08\x8f\x88\x16\x58\x8e\x00\xc2\xac\x41\xa4\xbb\xb4\xc7\x22\x54\x0f\xba\xbc\x44\xa7\xb7\x18\x64\x52\x44\x7a\x9c\x32\xc2\x78\x05\x92\xa3\x57\x11\x44\x74\x51\x1c\xf6\x56\xdc\xd5\xfa\xa5\x55\x67\x9d\x15\xc4\xba\xbc\x82\x7b\x2b\xb4\x2b\xd1\x1a\xbb\xea\xd0\x54\xd8\xc1\xa4\x91\xba\xc7\x84\x6d\x3f\x91\x90\x37\x5c\xd2\x19\xce\xe8\xbf\x24\xc5\x58\x95\xed\x40\x9a\x9e\xf1\x70\x96\x5f\x77\x73\xfe\x24\x15\xff\x86\x7e\xae\x11\x1c\x9f\x77\xd4\xb0\x23\xa5\xa6\xf8\x3f\x9c\x53\x9b\x0d\xbc\x45\x65\x4e\xa1\x5c\x93\x5f\x86\xfb\x95\x54\x7e\x5d\x6b\x63\x73\xb1\xad\xfe\xce\xcb\x3a\xee\xed\x38\x46\xa6\xf4\x18\x62\x1e\x30\xe5\x41\x37\xee\x11\x68\x11\x5c\x53\x3b\x87\xc6\xc0\x8a\xc5\x7a\xbc\x9b\x5d\x87\x6d\xc0\x1a\x46\xf4\x65\x79\xd1\x4d\xdd\xfb\x76\x4f\xd2\x2c\x4c\x19\x92\xe5\xaf\x3f\x3c\xcc\x50\x7a\xfc\x7e\xb1\x5c\xce\x00\x94\x98\xad\x0f\x63\xb2\x5b\x4e\xab\xc7\x71\x7f\x06\x54\x0e\xe7\x31\x4e\x28\x37\x20\x68\xe4\x6c\xfc\x19\x0a\xc9\x68\x58\xd8\x73\xc2\x1c\xb1\x0c\x04\xbc\xc3\xad\xb8\x33\xc3\xa9\x32\x50\x18\xfd\xc2\xcf\x51\xee\x37\x47\xb3\xf6\x59\x81\x6b\xf3\x8a\x98\x8c\x1f\xbf\x3f\x49\x9f\x57\x7b\x23\x6c\xb1\x5b\xc1\x8e\xef\xbd\x33\xf6\x24\x6c\x81\x76\x07\xe8\xf3\xf5\x55\x53\x3c\x5e\x85\x25\x7f\x42\x11\x8b\x4c\x93\xf9\x67\x43\xf8\x9f\x44\xe4\x5f\xf0\xfa\x35\x94\x42\x39\x7c\xae\xe6\x33\xdc\xf3\xc6\x8a\x03\x85\x9c\xaf\x28\x00\x2d\xf6\x19\x9e\xaa\xb5\x3f\x37\x32\xe7\x8c\xdc\x87\x03\x58\x3c\x9b\x62\x3f\x05\x37\xbe\x0f\xe4\x7f\x15\xbe\xa2\x60\x19\xfc\x7c\x7d\x5d\xa6\x80\xfa\xc7\x22\x49\x37\x96\x89\xd7\x6f\x69\x40\x18\x0c\x05\xb7\x0a\xf6\x2b\x1f\x4c\x72\xf5\xbf\xbe\x52\xac\x17\xae\x87\x33\xb7\x4a\xc8\xab\x0c\x7a\xea\xaa\x30\xed\x74\x14\x7e\xec\x67\x1c\x9a\x70\x86\x30\x8b\x98\xa3\xa6\xf9\x83\x66\x1e\x8f\x56\x0b\x3f\x80\x52\xd3\x4d\xab\x37\xe4\xb3\xd6\x0d\x3c\x16\xb6\xa8\x3d\xd6\xcf\x85\x36\x9a\xfc\x0b\x5a\xd4\xe8\x1a\xea\x1b\x31\x17\x5b\x5d\xa0\x55\x67\x92\x2e\x2e\xe6\x6f\xb4\x6e\x92\x67\xc6\xbe\xf3\x61\xad\xa5\xba\x16\xad\x33\x1b\x86\x5d\x18\x29\x76\xfd\x8e\xe1\x43\x74\x42\x6c\x54\x4f\x6c\x19\x34\x9e\xa6\x9b\x86\x44\x98\xc0\xcd\xe5\xf9\x3f\x63\x06\xb4\x73\xe5\x31\xa5\x76\x3f\xc9\x7d\xff\xcc\x24\xf7\x26\x8c\x6f\xfd\x5c\x96\x06\x39\x15\xc6\x5f\xa1\x09\xcf\xe1\x1f\xad\x50\xe1\xd7\x4c\x2f\x9f\x19\xe5\x1e\x6f\x1c\x58\xe3\x5a\x3d\xac\x13\x84\xea\x76\x1b\xb0\xdb\x63\x69\x2c\xee\x78\x62\x89\x10\x22\xd4\xf3\xc8\xb4\x5f\x86\xf1\x67\x97\x39\xe2\x71\x0b\xbe\xc7\x83\xd4\x9a\x22\x70\xf2\xc9\xa8\xff\x98\x34\x73\xfa\x06\xdb\xbe\x7a\x05\x41\xca\xc5\xc5\xb3\x25\x7c\xf7\xb4\xdd\xff\xde\xc5\x50\x32\xe6\x70\x82\x4e\xd9\xda\xdb\xb8\xb1\x78\xe4\x2f\x39\xe9\x75\x11\x66\xa8\xe9\x44\x9d\x9e\x5f\x73\xc7\xe3\xad\x83\x92\x28\x0a\x1a\x92\x7a\x86\x71\x56\x1a\xf9\x5e\xce\xac\xe4\x6e\x1e\x93\xe6\x90\xc3\x14\x36\xd0\x40\xe0\x1c\x5a\xdf\x7f\xd4\xc8\x8d\xce\x2d\xfa\x88\x8b\xa2\x79\xfa\xe5\x7a\x28\xf1\xd2\x75\xd5\x69\x4a\x2f\x16\xa6\xc1\x94\xd1\x8d\x26\x69\x3f\x17\xa9\xdd\x90\x70\xa4\xcb\x5a\xba\x5f\xb4\xf3\xec\xf8\x31\xb4\x59\x6e\x61\xde\xfb\x3f\x0a\x4d\xa0\x3c\x59\x9f\x17\x7d\xb9\xa9\x1b\xe1\x07\x1f\x6e\x49\xbf\x2b\x0b\x92\xe9\x07\x02\x16\x63\x18\x7f\xe1\x5b\xc1\x13\x8b\x92\x74\xe2\xe6\x45\x09\x5c\xcf\xe3\x2f\xcc\x8c\xff\x4b\xcf\x2e\xa4\x5e\x7e\x55\xb2\xb8\xb6\x7e\x36\x4b\xfa\xf8\x78\xb2\x58\x4d\xb2\x83\xd7\x88\xf8\x33\xc1\xcc\x98\x18\x71\x53\xa8\xcf\xf1\xbb\xb1\x89\xef\x8c\xba\x02\x07\x55\x25\x28\x9f\xfe\x8d\xd6\xdc\xd2\x11\xba\x24\x99\xb2\x5c\x7c\xf1\x1a\xf0\xca\x3e\xef\xe5\xfa\xe5\x16\xee\xee\x2b\x24\x41\x55\x5c\x91\x26\x7b\x04\x7b\x32\xdc\x18\x4a\x7c\x83\x99\xe2\xf7\xa4\xc5\x4c\xe2\x5e\x66\xcc\x66\xc3\xff\x8d\x13\x7f\xfe\xc3\xd1\x45\xdc\x7c\xe1\x86\x6f\xb3\x99\x99\xcf\x1f\xff\x13\x00\x00\xff\xff\x84\xc9\x59\xdc\xc0\x22\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0xd2, 0x1b, 0x4d, 0xe7, 0xdb, 0x9e, 0xea, 0xe7, 0xfd, 0x3e, 0x91, 0x44, 0x47, 0x2f, 0x22, 0x95, 0xf3, 0x37, 0xcc, 0x37, 0x49, 0xc2, 0xc3, 0xe4, 0x86, 0x4, 0xdb, 0xb, 0x4, 0x17, 0x81}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0x2f, 0x1b, 0x12, 0xfe, 0xee, 0xa5, 0x53, 0x94, 0x89, 0xb8, 0xf6, 0x76, 0xd9, 0x9c, 0x27, 0x77, 0xf5, 0x66, 0x97, 0x55, 0x82, 0x5d, 0x2f, 0x8b, 0x18, 0xe0, 0xa2, 0x0, 0x94, 0x41, 0xb5}}
 	return a, nil
 }
 

From a2802ba365967b66f690ca80512b66cac6a9b14f Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 12 Dec 2023 13:43:36 -0600
Subject: [PATCH 070/115] remove custom destructor

---
 contracts/FungibleToken-v2.cdc             |  18 +-
 contracts/utility/NonFungibleToken.cdc     | 221 +++++----------------
 lib/go/contracts/internal/assets/assets.go |  12 +-
 lib/go/test/go.mod                         |   5 +-
 lib/go/test/go.sum                         |  14 ++
 5 files changed, 75 insertions(+), 195 deletions(-)

diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
index 5655f312..3703979d 100644
--- a/contracts/FungibleToken-v2.cdc
+++ b/contracts/FungibleToken-v2.cdc
@@ -51,16 +51,6 @@ access(all) contract FungibleToken {
     /// The event that is emitted when tokens are deposited to a Vault
     access(all) event Deposit(amount: UFix64, to: Address?, type: String)
 
-    /// Event emitted when tokens are destroyed
-    access(all) event Burn(amount: UFix64, type: String)
-
-    access(self) fun emitBurnEvent(amount: UFix64, type: String): Bool {
-        if amount >= 0.0 {
-            emit Burn(amount: amount, type: type)
-        }
-        return true
-    }
-
     /// Provider
     ///
     /// The interface that enforces the requirements for withdrawing
@@ -132,6 +122,8 @@ access(all) contract FungibleToken {
     ///
     access(all) resource interface Vault: Receiver, Provider, ViewResolver.Resolver {
 
+        //access(all) event ResourceDestroyed(balance: UFix64 = self.getBalance(), type: Type = self.getType().identifier)
+
         /// Get the balance of the vault
         access(all) view fun getBalance(): UFix64
 
@@ -205,11 +197,5 @@ access(all) contract FungibleToken {
                 result.getBalance() == 0.0: "The newly created Vault must have zero balance"
             }
         }
-
-        destroy() {
-            // pre {
-            //     FungibleToken.emitBurnEvent(amount: self.getBalance(), type: self.getType().identifier)
-            // }
-        }
     }
 }
\ No newline at end of file
diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index 85667a90..f2b8fb7c 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -48,9 +48,29 @@ import ViewResolver from "ViewResolver"
 ///
 access(all) contract NonFungibleToken {
 
-    // An entitlement for allowing the withdrawal of tokens from a Vault
+    /// An entitlement for allowing the withdrawal of tokens from a Vault
     access(all) entitlement Withdrawable
 
+    /// An entitlement for allowing updates and update events for an NFT
+    access(all) entitlement Updatable
+
+    /// Event that contracts should emit when the metadata of an NFT is updated
+    /// It can only be emitted by calling the `emitNFTUpdated` function
+    /// with an `Updatable` entitled reference to the NFT that was updated
+    /// The entitlement prevents spammers from calling this from other users' collections
+    /// because only code within a collection or that has special entitled access
+    /// to the collections methods will be able to get the entitled reference
+    /// 
+    /// The event makes it so that third-party indexers can monitor the events
+    /// and query the updated metadata from the owners' collections.
+    ///
+    access(all) event Updated(id: UInt64, uuid: UInt64, owner: Address?, type: String)
+    access(all) view fun emitNFTUpdated(_ nftRef: auth(Updatable) &{NonFungibleToken.NFT})
+    {
+        emit Updated(id: nftRef.getID(), uuid: nftRef.uuid, owner: nftRef.owner?.address, type: nftRef.getType().identifier)
+    }
+
+
     /// Event that is emitted when a token is withdrawn,
     /// indicating the owner of the collection that it was withdrawn from.
     ///
@@ -58,82 +78,40 @@ access(all) contract NonFungibleToken {
     ///
     access(all) event Withdraw(id: UInt64, uuid: UInt64, from: Address?, type: String)
 
-    access(self) view fun emitNFTWithdraw(id: UInt64, uuid: UInt64, from: Address?, type: String): Bool
-    {
-        emit Withdraw(id: id, uuid: uuid, from: from, type: type)
-        return true
-    }
-
     /// Event that emitted when a token is deposited to a collection.
     ///
     /// It indicates the owner of the collection that it was deposited to.
     ///
     access(all) event Deposit(id: UInt64, uuid: UInt64, to: Address?, type: String)
 
-    access(self) view fun emitNFTDeposit(id: UInt64, uuid: UInt64, to: Address?, type: String): Bool
-    {
-        emit Deposit(id: id, uuid: uuid, to: to, type: type)
-        return true
-    }
-
-    /// Transfer
-    ///
-    /// The event that should be emitted when tokens are transferred from one account to another
-    ///
-    access(all) event Transfer(id: UInt64, uuid: UInt64, from: Address?, to: Address?, type: String)
-
-    access(self) view fun emitNFTTransfer(id: UInt64, uuid: UInt64?, from: Address?, to: Address?, type: String?): Bool
-    {
-        // The transfer method can return false even if it didn't do a transfer
-        // in which case we don't want the event to be emitted
-        if uuid != nil && type != nil {
-            emit Transfer(id: id, uuid: uuid!, from: from, to: to, type: type!)
-            return true
-        } else {
-            return true
-        }
-    }
-
-    /// Destroy
-    ///
-    /// The event that should be emitted when an NFT is destroyed
-    access(all) event Destroy(id: UInt64, uuid: UInt64, type: String)
-
-    access(self) view fun emitNFTDestroy(id: UInt64, uuid: UInt64, type: String): Bool
-    {
-        emit Destroy(id: id, uuid: uuid, type: type)
-        return true
-    }
-
     /// Interface that the NFTs must conform to
     ///
     access(all) resource interface NFT: ViewResolver.Resolver {
         /// The unique ID that each NFT has
-        access(all) view fun getID(): UInt64 {
-            return self.uuid
-        }
+        access(all) view fun getID(): UInt64
 
-        // access(all) view fun getViews(): [Type] {
-        //     return []
-        // }
-        // access(all) fun resolveView(_ view: Type): AnyStruct? {
-        //     return nil
-        // }
+        // access(all) event ResourceDestroyed(uuid: UInt64 = self.uuid, type: Type = self.getType().identifier)
 
-        destroy() {
-            pre {
-                NonFungibleToken.emitNFTDestroy(id: self.getID(), uuid: self.uuid, type: self.getType().identifier)
-            }
+        /// Get a reference to an NFT that this NFT owns
+        /// Both arguments are optional to allow the NFT to choose
+        /// how it returns sub NFTs depending on what arguments are provided
+        /// For example, if `type` has a value, but `id` doesn't, the NFT 
+        /// can choose which NFT of that type to return if there is a "default"
+        /// If both are `nil`, then NFTs that only store a single NFT can just return
+        /// that. This helps callers who aren't sure what they are looking for 
+        ///
+        /// @param type: The Type of the desired NFT
+        /// @param id: The id of the NFT to borrow
+        ///
+        /// @return A structure representing the requested view.
+        access(all) fun getSubNFT(type: Type, id: UInt64) : &{NonFungibleToken.NFT}? {
+            return nil
         }
     }
 
     /// Interface to mediate withdraws from the Collection
     ///
     access(all) resource interface Provider {
-        /// Function for projects to indicate if they are using UUID or not
-        access(all) view fun usesUUID(): Bool {
-            return false
-        }
 
         // We emit withdraw events from the provider interface because conficting withdraw
         // events aren't as confusing to event listeners as conflicting deposit events
@@ -143,53 +121,9 @@ access(all) contract NonFungibleToken {
         access(Withdrawable) fun withdraw(withdrawID: UInt64): @{NFT} {
             post {
                 result.getID() == withdrawID: "The ID of the withdrawn token must be the same as the requested ID"
-                NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
-            }
-        }
-
-        /// Alternate withdraw methods
-        /// The next three withdraw methods allow projects to have more flexibility
-        /// to indicate how their NFTs are meant to be used
-        /// With the v2 upgrade, some projects will be using UUID and others
-        /// will be using custom IDs, so projects can pick and choose which
-        /// of these withdraw methods applies to them
-
-        /// TODO: These will eventually have optional return types, but don't right now
-        /// because of a bug in Cadence
-
-        /// withdrawWithUUID removes an NFT from the collection, using its UUID, and moves it to the caller
-        access(Withdrawable) fun withdrawWithUUID(_ uuid: UInt64): @{NFT} {
-            post {
-                result == nil || result!.uuid == uuid: "The ID of the withdrawn token must be the same as the requested ID"
-                NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
+                emit Withdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
             }
         }
-
-        /// withdrawWithType removes an NFT from the collection, using its Type and ID and moves it to the caller
-        /// This would be used by a collection that can store multiple NFT types
-        access(Withdrawable) fun withdrawWithType(type: Type, withdrawID: UInt64): @{NFT} {
-            post {
-                result == nil || result.getID() == withdrawID: "The ID of the withdrawn token must be the same as the requested ID"
-                NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
-            }
-        }
-
-        /// withdrawWithTypeAndUUID removes an NFT from the collection using its type and uuid and moves it to the caller
-        /// This would be used by a collection that can store multiple NFT types
-        access(Withdrawable) fun withdrawWithTypeAndUUID(type: Type, uuid: UInt64): @{NFT} {
-            post {
-                result == nil || result!.uuid == uuid: "The ID of the withdrawn token must be the same as the requested ID"
-                NonFungibleToken.emitNFTWithdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
-            }
-        }
-    }
-
-    /// Interface to mediate transfers between Collections
-    ///
-    access(all) resource interface Transferor {
-        /// transfer removes an NFT from the callers collection
-        /// and moves it to the collection specified by `receiver`
-        access(Withdrawable) fun transfer(id: UInt64, receiver: Capability<&{Receiver}>): Bool
     }
 
     /// Interface to mediate deposits to the Collection
@@ -200,64 +134,37 @@ access(all) contract NonFungibleToken {
         ///
         access(all) fun deposit(token: @{NFT})
 
-        // /// getSupportedNFTTypes returns a list of NFT types that this receiver accepts
-        // access(all) view fun getSupportedNFTTypes(): {Type: Bool} {
-        //     return {}
-        // }
+        /// getSupportedNFTTypes returns a list of NFT types that this receiver accepts
+        access(all) view fun getSupportedNFTTypes(): {Type: Bool}
 
-        // /// Returns whether or not the given type is accepted by the collection
-        // /// A collection that can accept any type should just return true by default
-        // access(all) view fun isSupportedNFTType(type: Type): Bool {
-        //     return false
-        // }
+        /// Returns whether or not the given type is accepted by the collection
+        /// A collection that can accept any type should just return true by default
+        access(all) view fun isSupportedNFTType(type: Type): Bool
     }
 
     /// Requirement for the concrete resource type
     /// to be declared in the implementing contract
     ///
-    access(all) resource interface Collection: Provider, Receiver, Transferor, ViewResolver.ResolverCollection {
+    access(all) resource interface Collection: Provider, Receiver, ViewResolver.ResolverCollection {
 
         /// Return the default storage path for the collection
-        access(all) view fun getDefaultStoragePath(): StoragePath? {
-            return nil
-        }
+        access(all) view fun getDefaultStoragePath(): StoragePath?
 
         /// Return the default public path for the collection
-        access(all) view fun getDefaultPublicPath(): PublicPath? {
-            return nil
-        }
+        access(all) view fun getDefaultPublicPath(): PublicPath?
 
         /// Normally we would require that the collection specify
         /// a specific dictionary to store the NFTs, but this isn't necessary any more
         /// as long as all the other functions are there
 
-        /// Returns the NFT types that this collection can store
-        /// If the collection can accept any NFT type, it should return
-        /// a one element dictionary with the key type as `@{NonFungibleToken.NFT}`
-        access(all) view fun getSupportedNFTTypes(): {Type: Bool} {
-            pre { true: "dummy" }
-        }
-
-        /// Returns whether or not the given type is accepted by the collection
-        access(all) view fun isSupportedNFTType(type: Type): Bool {
-            pre { true: "dummy" }
-        }
-
         /// createEmptyCollection creates an empty Collection
         /// and returns it to the caller so that they can own NFTs
         access(all) fun createEmptyCollection(): @{Collection} {
             post {
-                result.getIDs().length == 0: "The created collection must be empty!"
+                result.getLength() == 0: "The created collection must be empty!"
             }
         }
 
-        // access(all) view fun usesUUID(): Bool {
-        //     return false
-        // }
-
-        /// withdraw removes an NFT from the collection and moves it to the caller
-        access(Withdrawable) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT}
-
         /// deposit takes a NFT and adds it to the collections dictionary
         /// and adds the ID to the id array
         access(all) fun deposit(token: @{NonFungibleToken.NFT}) {
@@ -266,44 +173,14 @@ access(all) contract NonFungibleToken {
                 // because the `Collection` interface is almost always the final destination
                 // of tokens and deposit emissions from custom receivers could be confusing
                 // and hard to reconcile to event listeners
-                NonFungibleToken.emitNFTDeposit(id: token.getID(), uuid: token.uuid, to: self.owner?.address, type: token.getType().identifier)
+                emit Deposit(id: token.getID(), uuid: token.uuid, to: self.owner?.address, type: token.getType().identifier)
             }
         }
 
-        /// Function for a direct transfer instead of having to do a deposit and withdrawal
-        /// This can and should return false if the transfer doesn't succeed and true if it does succeed
-        ///
-        access(Withdrawable) fun transfer(id: UInt64, receiver: Capability<&{NonFungibleToken.Receiver}>): Bool {
-            pre {
-                receiver.check(): "Could not borrow a reference to the NFT receiver"
-                self.getIDs().contains(id): "The collection does not contain the specified ID"
-                NonFungibleToken.emitNFTTransfer(id: id, uuid: self.borrowNFTSafe(id: id)?.uuid, from: self.owner?.address, to: receiver.borrow()?.owner?.address, type: self.borrowNFT(id).getType().identifier)
-            }
-        }
-
-        /// getIDs returns an array of the IDs that are in the collection
-        access(all) view fun getIDs(): [UInt64]
-
         /// Gets the amount of NFTs stored in the collection
         access(all) view fun getLength(): Int
 
-        /// getIDsWithTypes returns a list of IDs that are in the collection, keyed by type
-        /// Should only be used by collections that can store multiple NFT types
-        access(all) view fun getIDsWithTypes(): {Type: [UInt64]}
-
-        /// Returns a borrowed reference to an NFT in the collection
-        /// so that the caller can read data and call methods from it
-        access(all) view fun borrowNFT(_ id: UInt64): &{NonFungibleToken.NFT} {
-            pre { true: "dummy" }
-        }
-
-        /// From the ViewResolver Contract
-        /// borrows a reference to get metadata views for the NFTs that the contract contains
-        access(all) view fun borrowViewResolver(id: UInt64): &{ViewResolver.Resolver}? {
-            pre { true: "dummy" }
-        }
-
-        access(all) view fun borrowNFTSafe(id: UInt64): &{NonFungibleToken.NFT}? {
+        access(all) view fun borrowNFT(_ id: UInt64): &{NonFungibleToken.NFT}? {
             post {
                 (result == nil) || (result?.getID() == id): 
                     "Cannot borrow NFT reference: The ID of the returned reference does not match the ID that was specified"
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 4699b2d8..9886ad1e 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -2,13 +2,13 @@
 // sources:
 // ../../../contracts/ExampleToken-v2.cdc (11.769kB)
 // ../../../contracts/ExampleToken.cdc (11.958kB)
-// ../../../contracts/FungibleToken-v2.cdc (8.896kB)
+// ../../../contracts/FungibleToken-v2.cdc (8.511kB)
 // ../../../contracts/FungibleToken.cdc (10.016kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (26.648kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (13.408kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (8.173kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.699kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.29kB)
 // ../../../contracts/utility/ViewResolver.cdc (1.749kB)
@@ -121,7 +121,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\x4b\x93\xdb\x36\xf2\xbf\xf3\x53\x74\x4d\x0e\x96\xf2\x57\x24\x1f\xfe\xb5\x07\xd5\x3a\x8e\x9d\xc4\x5b\xb9\x6c\xa5\xe2\x59\xfb\xb0\xb5\x55\x82\xc8\xa6\x88\x18\x04\x18\x00\x94\xac\x9d\x9a\xef\xbe\xd5\x0d\x80\x2f\x51\x33\xb2\xb7\x72\xd8\x39\xd8\x14\x49\xf4\xfb\xf1\xeb\xe6\xe6\xdb\x6f\xb3\xec\x1b\xb8\xaf\x10\xde\x29\x73\x82\x77\xad\x3e\xc8\xbd\x42\xb8\x37\x9f\x50\x83\xf3\x42\x17\xc2\x16\x59\xf6\xcd\x37\xb0\x4b\x0f\xf9\xd9\x0e\x72\xa3\xbd\x15\xb9\xcf\x32\x3e\x3e\x7f\x12\xa4\x03\x6d\x40\x19\x7d\x40\x0b\x42\x83\xd4\x1e\x6d\x29\x72\xcc\x7c\x25\x3c\x08\xa5\xa0\x4c\x47\x3d\x1f\x4d\x74\x1d\x9c\x4c\xab\x0a\xa8\xc4\x91\x1e\xd1\xfd\xd2\xd8\x1a\xbc\x59\x67\xd9\x2f\x25\x08\x68\x1d\x5a\x07\x27\xa1\xbd\xa3\x17\x0a\x6c\x94\x39\x83\x00\x8d\xa7\x09\xad\x15\xf8\x0a\xa5\xed\x65\x2e\x0c\x92\x60\x1e\x34\x62\x41\x87\x65\xdd\x28\xac\x51\x7b\x7a\x13\x46\xaa\xf6\x32\xaf\x60\xdf\xfa\x48\x8a\x19\xb8\xac\x30\x57\x48\x74\x87\x1c\x14\x58\x4a\x8d\x05\x48\x0d\xbe\x92\xae\x93\x62\x1d\xec\xfa\x41\xb4\xca\xef\xc0\xa2\x33\xad\xcd\x07\x27\xb3\xec\x67\x91\x57\x53\xfb\x74\xef\xf9\x73\x83\xcc\xdc\x5d\x72\xbf\x4e\x34\x32\xfd\xd5\x9a\xa3\x2c\xd0\xee\x56\xb0\xfb\x0d\x73\x94\x47\xbe\x16\xba\x80\xdd\x5b\xa1\x84\xce\x71\xee\xb4\x63\x6f\xbb\x89\x7a\xb9\x12\x16\xa1\xb1\xf8\x5d\x6e\x74\x21\xbd\x34\xda\x31\xa9\xc6\x38\x3f\xbc\xc7\x3e\xb7\xe8\xbc\x95\xb9\xcf\x48\x50\xfc\x8c\x79\x4b\x0f\xc1\x94\x2c\x79\xd9\xea\x3c\xbc\xcc\xe6\x42\x60\x4d\xd6\xcc\xf7\x0c\xc4\xc7\x61\x23\xac\xf0\x08\x7b\xcc\x45\x4b\xb2\x78\x38\xc8\x23\x3a\x7e\x9d\x82\x82\x2f\xc4\x5e\x2a\xe9\xcf\x64\x1b\x57\x09\x8b\x99\x00\x8b\x25\x5a\xd4\x39\xc7\x53\x70\x23\x53\x0f\x72\x19\xad\xce\x80\x9f\x1b\xe3\x22\xa9\x52\xa2\x2a\x5c\x2f\x51\x26\x35\x18\x8d\x60\x2c\xd4\xc6\x62\x92\xb8\x37\x05\x05\x26\xc5\xb4\x33\x51\xa0\x10\xa1\x13\x69\x6a\xf1\x09\x21\x6f\x9d\x37\x75\x67\xe1\x68\x9a\xce\x89\x64\x9b\xb1\x95\x29\xc0\x0d\x1c\x85\x95\xa6\xa5\xb7\xa5\x3e\x38\x38\x49\x5f\x31\xf9\x10\x8d\xeb\xec\x9d\xb1\x80\x9f\x05\x91\x59\x81\x80\x52\xb4\x39\x7a\xc8\x85\x86\x3d\xf6\xd4\xb1\x80\xfd\x39\x25\x94\xd4\x87\x2c\x98\x03\x52\x50\x8c\xa2\xe5\xdb\x4d\x96\xc9\xba\x31\xd6\xc3\x07\x89\xa7\xdf\xd0\x19\x75\x44\x0b\xa5\x35\x35\xdc\x0d\x6f\xdd\x65\xd9\x66\xb3\x19\x27\x0f\xdd\x19\xdd\x8d\x05\xa2\x93\x45\xc4\x68\xb1\x38\x28\x14\x16\xff\x68\xa5\x9d\x4b\xab\x71\x32\x30\xe5\x5e\x58\xf8\x88\xe0\xbc\x54\x2a\x14\x0d\xe9\x41\xb8\x51\xd1\x81\x0a\x6d\x1f\x37\x9e\x7f\x71\x48\x99\x9a\x23\xa7\x6c\x15\x93\x6c\x7d\xf0\x56\x8d\xbe\x32\x45\x74\x4e\x2d\xf4\x19\x1a\x6b\x7e\x47\x2e\x4e\xc4\x26\x30\xa3\x0a\x44\x92\x32\x53\xa3\x27\xb5\xc6\xad\x98\x64\xac\x1c\x21\x84\xf7\x67\x52\xb6\x46\xa1\x5d\xa7\xeb\x9a\x8b\x61\x08\x83\xfe\x2e\x5d\xf3\xbd\xce\xcb\x41\xe7\x64\x14\x37\x4a\xf7\xbe\x74\x88\x3c\x47\xe7\x16\x42\xa9\x65\x27\xc9\xa4\xac\x3d\x64\x19\x00\xc0\x66\x03\x6f\x34\xa0\xf6\xd2\x47\x3b\x97\xc6\x92\x2c\xe6\x24\xf5\x81\xc9\x53\x98\x15\x56\x9c\x84\xe2\x98\xe7\x58\x0b\xfe\x17\x21\x81\x98\xd0\x90\xe5\x90\xdc\xc7\x74\x7a\xaf\x30\xb1\xdc\x70\xcf\xc1\x63\x70\x6b\x50\x19\x6b\xe9\x29\x34\x4f\x15\xea\xc4\x84\x8c\x95\xb8\xeb\x67\x58\x1e\x87\xcc\x16\xa2\x36\xad\xf6\x5b\xf8\xc7\x3b\xf9\xf9\x2f\xff\xbf\xe2\xb3\x5b\x78\x53\x14\x16\x9d\x7b\xbd\xe2\xea\xb9\x85\xf7\xde\x4a\x7d\x58\x7e\x8d\x58\x05\x36\xc6\x49\x1f\x82\xf4\x69\xa1\x7e\x0a\xaf\x5e\xc8\xe4\xcd\x0d\x12\xfd\xcc\x24\xae\x4b\xe1\xbc\x35\x67\x2c\xae\xb0\x7e\xdb\x5a\x7d\xc9\xf7\x92\x53\x3c\xe9\x50\x95\x4b\x4a\x32\x66\x48\x87\x99\xfd\xd3\x14\xb6\xf0\xd6\x18\x05\x0f\x4c\x88\xfe\x64\x09\xe1\x00\x7c\xff\x0a\x5e\xae\x5f\x0e\x1e\xd1\x1f\x91\x1e\x0b\x16\xfe\x4f\x64\xe9\xdf\x65\x77\xe2\xb1\xbb\xb2\xe8\x5b\xab\xc1\xdb\x16\xb3\xf0\xa4\x33\x52\xaa\x5c\xe9\xc6\xc8\x9f\x7d\xfa\xb3\x4f\x91\xca\x5e\x1e\x6b\x7c\xcc\xb3\x90\x4a\x14\xf8\x29\xda\xa8\x2c\x26\x22\xc3\x88\xe7\x8a\x9f\xb2\x8f\x13\xe4\xdc\xe0\xfa\x82\xef\x2f\x1e\x3a\x8c\x11\x19\x8e\x79\x19\x0d\xbb\x7d\x6a\xb4\x54\x88\x56\xdd\xd9\x41\x5f\x53\x28\xa8\x8f\x98\x06\x43\x33\x6c\x8c\x73\x32\xb6\x12\x53\x42\x6e\x51\xb0\x10\xb1\x9d\x34\xd1\x0c\xae\x17\x9d\x34\x26\x90\xc2\x58\x87\x7c\x2c\xac\x54\xe7\x08\x5a\xb8\x50\x99\x93\x86\x28\xc9\x58\x8f\x61\x34\x5d\x42\x81\xbe\x5b\xc4\x42\x92\x58\x26\x0b\x82\x6b\xf7\x11\xc9\x4d\x0d\x68\x4e\x1a\xed\x0b\x37\x48\x9a\x74\x98\x50\x43\xf0\xb3\x4b\x49\xd5\x77\x39\x8b\xb5\x39\x72\xc2\x85\x6e\x37\x38\x38\x22\x72\x3f\xc0\x11\x2f\x5c\xd4\x03\x14\x1e\x51\x51\x46\x37\xed\x5e\xc9\x3c\x81\x39\xe9\x02\x48\xf5\x20\xc8\x7e\x7b\x85\xf5\x88\x58\xf2\x06\xc3\x83\x4e\x78\x70\xde\xd8\x54\x1f\x07\xc6\x89\x36\x15\x79\x4e\x11\x3d\x22\x94\x73\x27\x92\x5e\x0a\xa5\xce\x90\x87\x6a\x2f\x7b\x7c\xf1\xb4\x3e\x81\x6b\x2d\xce\x70\xb0\xd4\x6f\x0c\x75\xaf\xc4\xa7\xd3\x91\xda\x7a\x8a\x09\x52\x47\x1e\x85\xc7\x89\x14\x4d\x87\x45\x22\x02\x37\x27\x07\xae\xc1\x5c\x96\x32\x8f\x74\x23\x70\x31\x91\xee\x88\x02\xc7\x61\xf2\x7d\x8f\x46\x2b\x6b\xda\x43\x05\x03\x94\x75\xab\x42\x01\x30\xb1\x56\x64\x94\x67\x74\x62\xe7\xdd\xa2\x12\xd1\x9a\xe8\x31\x92\x7d\x44\xe3\xcb\xf5\x88\xd9\x31\xec\x6e\xa1\x72\x9e\xe6\x5b\xd0\x72\x0b\x3f\x3c\x70\x40\x3f\x4e\xea\x21\xa1\xe4\xc9\xad\xc0\x0c\x76\x16\x5d\xc4\xf1\x65\x54\x24\xc4\x1b\x17\xc2\xa3\x50\x2d\x5e\x1c\x0b\x47\xd6\x07\xf4\x11\xc7\x2f\x96\xf0\xea\x55\x2c\xb1\xdb\x8b\xd7\xe9\xef\xee\x63\xdf\xe0\x63\xe1\xae\x5b\xe7\x09\x33\x12\x3b\x27\x6a\x24\x24\x45\xd7\xb1\x50\x24\xec\xdb\xf7\x66\xd6\xec\xee\x82\x3c\xd7\xfa\x8b\xa6\x9c\xea\x7d\x68\xca\xd4\x74\xd6\x1c\x0e\xaf\xd7\x22\xb4\xc3\xd4\x0a\xf8\xd1\x01\xfd\xfd\xb9\xc1\xc5\x72\x2d\x0b\x2a\xba\xa5\x44\xbb\x1c\x71\x7a\x9c\x74\x8b\x41\x67\x48\xc3\xcd\x7f\xdf\x19\x62\xc3\x9f\x69\x0c\x52\x47\xc7\xdc\xd0\x18\x3e\x62\x2a\xc7\x52\xe7\xaa\x2d\x10\x04\x74\x13\x52\x10\x23\xaf\x30\xff\x34\x36\x77\x2c\x42\x1d\x95\x13\x76\xa8\x93\x26\x8d\x5b\x06\x8d\x60\x86\x80\x26\x33\x18\xd4\xa4\xc2\xa4\x97\xe6\xa7\x8a\x15\x28\xf9\x09\xc1\x35\x4a\x32\x0c\xad\xa1\x6d\xa8\x4e\x77\x44\x1c\xea\x22\x3c\xa0\x21\x45\x96\x9c\x36\x1e\x1a\x15\x66\x22\xb8\xbd\xa5\x24\x67\x4d\x5b\x4a\x34\x3d\x78\xf1\x09\xfb\xbe\x40\xbd\x22\x3e\x71\xd4\x2c\xe7\xdd\x30\x9a\x97\x9f\xca\x64\x16\x8a\x12\x38\xd2\x5c\x84\xe8\x4c\x49\xbb\x1c\x8b\x74\x40\xff\xbe\x6d\x68\x2c\xc2\x82\x5f\xa0\x10\xa5\x4e\x4d\x7e\xe4\x0a\xdf\xb7\x31\x25\x9d\xa7\x8c\x39\x86\x61\x93\x5f\x8c\xa0\x9e\xa1\x7e\x54\x9a\xe4\x68\xbc\x9b\x95\xeb\x28\xf1\xc4\xc2\xcd\xf3\x5d\x2c\xb7\xf0\x70\xcf\x29\x43\x58\xec\xa2\xc2\x58\x84\x07\x06\x4e\x5b\xb8\x2b\xda\xba\x3e\xdf\x8d\x72\x66\xa4\xd9\x6f\x51\xee\x53\x85\xdc\x0b\x8c\xe5\x70\x25\xc3\x52\xac\xe9\xb0\x78\x90\x2e\xca\x1b\x86\x49\x7a\x3a\x4a\xb5\x44\xed\x4d\xd2\x9a\x23\x5b\xe8\x78\x0a\x68\x98\x62\x42\xae\xe2\x35\xcf\xef\x54\x70\x06\x08\x8f\x88\x16\x58\x8e\x00\xc2\xac\x41\xa4\xbb\xb4\xc7\x22\x54\x0f\xba\xbc\x44\xa7\xb7\x18\x64\x52\x44\x7a\x9c\x32\xc2\x78\x05\x92\xa3\x57\x11\x44\x74\x51\x1c\xf6\x56\xdc\xd5\xfa\xa5\x55\x67\x9d\x15\xc4\xba\xbc\x82\x7b\x2b\xb4\x2b\xd1\x1a\xbb\xea\xd0\x54\xd8\xc1\xa4\x91\xba\xc7\x84\x6d\x3f\x91\x90\x37\x5c\xd2\x19\xce\xe8\xbf\x24\xc5\x58\x95\xed\x40\x9a\x9e\xf1\x70\x96\x5f\x77\x73\xfe\x24\x15\xff\x86\x7e\xae\x11\x1c\x9f\x77\xd4\xb0\x23\xa5\xa6\xf8\x3f\x9c\x53\x9b\x0d\xbc\x45\x65\x4e\xa1\x5c\x93\x5f\x86\xfb\x95\x54\x7e\x5d\x6b\x63\x73\xb1\xad\xfe\xce\xcb\x3a\xee\xed\x38\x46\xa6\xf4\x18\x62\x1e\x30\xe5\x41\x37\xee\x11\x68\x11\x5c\x53\x3b\x87\xc6\xc0\x8a\xc5\x7a\xbc\x9b\x5d\x87\x6d\xc0\x1a\x46\xf4\x65\x79\xd1\x4d\xdd\xfb\x76\x4f\xd2\x2c\x4c\x19\x92\xe5\xaf\x3f\x3c\xcc\x50\x7a\xfc\x7e\xb1\x5c\xce\x00\x94\x98\xad\x0f\x63\xb2\x5b\x4e\xab\xc7\x71\x7f\x06\x54\x0e\xe7\x31\x4e\x28\x37\x20\x68\xe4\x6c\xfc\x19\x0a\xc9\x68\x58\xd8\x73\xc2\x1c\xb1\x0c\x04\xbc\xc3\xad\xb8\x33\xc3\xa9\x32\x50\x18\xfd\xc2\xcf\x51\xee\x37\x47\xb3\xf6\x59\x81\x6b\xf3\x8a\x98\x8c\x1f\xbf\x3f\x49\x9f\x57\x7b\x23\x6c\xb1\x5b\xc1\x8e\xef\xbd\x33\xf6\x24\x6c\x81\x76\x07\xe8\xf3\xf5\x55\x53\x3c\x5e\x85\x25\x7f\x42\x11\x8b\x4c\x93\xf9\x67\x43\xf8\x9f\x44\xe4\x5f\xf0\xfa\x35\x94\x42\x39\x7c\xae\xe6\x33\xdc\xf3\xc6\x8a\x03\x85\x9c\xaf\x28\x00\x2d\xf6\x19\x9e\xaa\xb5\x3f\x37\x32\xe7\x8c\xdc\x87\x03\x58\x3c\x9b\x62\x3f\x05\x37\xbe\x0f\xe4\x7f\x15\xbe\xa2\x60\x19\xfc\x7c\x7d\x5d\xa6\x80\xfa\xc7\x22\x49\x37\x96\x89\xd7\x6f\x69\x40\x18\x0c\x05\xb7\x0a\xf6\x2b\x1f\x4c\x72\xf5\xbf\xbe\x52\xac\x17\xae\x87\x33\xb7\x4a\xc8\xab\x0c\x7a\xea\xaa\x30\xed\x74\x14\x7e\xec\x67\x1c\x9a\x70\x86\x30\x8b\x98\xa3\xa6\xf9\x83\x66\x1e\x8f\x56\x0b\x3f\x80\x52\xd3\x4d\xab\x37\xe4\xb3\xd6\x0d\x3c\x16\xb6\xa8\x3d\xd6\xcf\x85\x36\x9a\xfc\x0b\x5a\xd4\xe8\x1a\xea\x1b\x31\x17\x5b\x5d\xa0\x55\x67\x92\x2e\x2e\xe6\x6f\xb4\x6e\x92\x67\xc6\xbe\xf3\x61\xad\xa5\xba\x16\xad\x33\x1b\x86\x5d\x18\x29\x76\xfd\x8e\xe1\x43\x74\x42\x6c\x54\x4f\x6c\x19\x34\x9e\xa6\x9b\x86\x44\x98\xc0\xcd\xe5\xf9\x3f\x63\x06\xb4\x73\xe5\x31\xa5\x76\x3f\xc9\x7d\xff\xcc\x24\xf7\x26\x8c\x6f\xfd\x5c\x96\x06\x39\x15\xc6\x5f\xa1\x09\xcf\xe1\x1f\xad\x50\xe1\xd7\x4c\x2f\x9f\x19\xe5\x1e\x6f\x1c\x58\xe3\x5a\x3d\xac\x13\x84\xea\x76\x1b\xb0\xdb\x63\x69\x2c\xee\x78\x62\x89\x10\x22\xd4\xf3\xc8\xb4\x5f\x86\xf1\x67\x97\x39\xe2\x71\x0b\xbe\xc7\x83\xd4\x9a\x22\x70\xf2\xc9\xa8\xff\x98\x34\x73\xfa\x06\xdb\xbe\x7a\x05\x41\xca\xc5\xc5\xb3\x25\x7c\xf7\xb4\xdd\xff\xde\xc5\x50\x32\xe6\x70\x82\x4e\xd9\xda\xdb\xb8\xb1\x78\xe4\x2f\x39\xe9\x75\x11\x66\xa8\xe9\x44\x9d\x9e\x5f\x73\xc7\xe3\xad\x83\x92\x28\x0a\x1a\x92\x7a\x86\x71\x56\x1a\xf9\x5e\xce\xac\xe4\x6e\x1e\x93\xe6\x90\xc3\x14\x36\xd0\x40\xe0\x1c\x5a\xdf\x7f\xd4\xc8\x8d\xce\x2d\xfa\x88\x8b\xa2\x79\xfa\xe5\x7a\x28\xf1\xd2\x75\xd5\x69\x4a\x2f\x16\xa6\xc1\x94\xd1\x8d\x26\x69\x3f\x17\xa9\xdd\x90\x70\xa4\xcb\x5a\xba\x5f\xb4\xf3\xec\xf8\x31\xb4\x59\x6e\x61\xde\xfb\x3f\x0a\x4d\xa0\x3c\x59\x9f\x17\x7d\xb9\xa9\x1b\xe1\x07\x1f\x6e\x49\xbf\x2b\x0b\x92\xe9\x07\x02\x16\x63\x18\x7f\xe1\x5b\xc1\x13\x8b\x92\x74\xe2\xe6\x45\x09\x5c\xcf\xe3\x2f\xcc\x8c\xff\x4b\xcf\x2e\xa4\x5e\x7e\x55\xb2\xb8\xb6\x7e\x36\x4b\xfa\xf8\x78\xb2\x58\x4d\xb2\x83\xd7\x88\xf8\x33\xc1\xcc\x98\x18\x71\x53\xa8\xcf\xf1\xbb\xb1\x89\xef\x8c\xba\x02\x07\x55\x25\x28\x9f\xfe\x8d\xd6\xdc\xd2\x11\xba\x24\x99\xb2\x5c\x7c\xf1\x1a\xf0\xca\x3e\xef\xe5\xfa\xe5\x16\xee\xee\x2b\x24\x41\x55\x5c\x91\x26\x7b\x04\x7b\x32\xdc\x18\x4a\x7c\x83\x99\xe2\xf7\xa4\xc5\x4c\xe2\x5e\x66\xcc\x66\xc3\xff\x8d\x13\x7f\xfe\xc3\xd1\x45\xdc\x7c\xe1\x86\x6f\xb3\x99\x99\xcf\x1f\xff\x13\x00\x00\xff\xff\x84\xc9\x59\xdc\xc0\x22\x00\x00"
+var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\x4b\x8f\xdb\x38\xf2\xbf\xeb\x53\x14\x3a\x87\xd8\xf9\x3b\xee\x39\xfc\xb1\x87\xc6\x66\x32\xc9\x64\xb2\xc8\x65\x11\x24\xbd\xc9\x61\xb1\x80\x69\xa9\x64\x71\x42\x91\x1a\x92\xb2\xe3\x6d\xf4\x77\x5f\x54\x91\xd4\xcb\x72\xb7\x3b\x8b\x39\x6c\x1f\x12\x5b\x22\xeb\xfd\xf8\x55\xf9\xfa\xc5\x8b\x2c\x7b\x06\xb7\x15\xc2\x7b\x65\x0e\xf0\xbe\xd5\x3b\xb9\x55\x08\xb7\xe6\x1b\x6a\x70\x5e\xe8\x42\xd8\x22\xcb\x9e\x3d\x83\x4d\x7a\xc9\xef\x36\x90\x1b\xed\xad\xc8\x7d\x96\xf1\xf5\xf9\x9b\x20\x1d\x68\x03\xca\xe8\x1d\x5a\x10\x1a\xa4\xf6\x68\x4b\x91\x63\xe6\x2b\xe1\x41\x28\x05\x65\xba\xea\xf9\x6a\xa2\xeb\xe0\x60\x5a\x55\x40\x25\xf6\xf4\x8a\x9e\x97\xc6\xd6\xe0\xcd\x3a\xcb\x3e\x94\x20\xa0\x75\x68\x1d\x1c\x84\xf6\x8e\x0e\x14\xd8\x28\x73\x04\x01\x1a\x0f\x13\x5a\x2b\xf0\x15\x4a\xdb\xcb\x5c\x18\x24\xc1\x3c\x68\xc4\x82\x2e\xcb\xba\x51\x58\xa3\xf6\x74\x12\x46\xaa\xf6\x32\xaf\x60\xdb\xfa\x48\x8a\x19\xb8\xac\x30\x67\x48\x74\x97\x1c\x14\x58\x4a\x8d\x05\x48\x0d\xbe\x92\xae\x93\x62\x1d\xec\xfa\x45\xb4\xca\x6f\xc0\xa2\x33\xad\xcd\x07\x37\xb3\xec\x37\x91\x57\x53\xfb\x74\xe7\xfc\xb1\x41\x66\xee\x4e\xb9\x9f\x27\x1a\x99\x7e\xb4\x66\x2f\x0b\xb4\x9b\x15\x6c\x3e\x61\x8e\x72\xcf\x9f\x85\x2e\x60\xf3\x56\x28\xa1\x73\x9c\xbb\xed\xd8\xdb\x6e\xa2\x5e\xae\x84\x45\x68\x2c\xbe\xcc\x8d\x2e\xa4\x97\x46\x3b\x26\xd5\x18\xe7\x87\xcf\xd8\xe7\x16\x9d\xb7\x32\xf7\x19\x09\x8a\xdf\x31\x6f\xe9\x25\x98\x92\x25\x2f\x5b\x9d\x87\xc3\x6c\x2e\x04\xd6\x64\xcd\x7c\x8f\x40\x7c\x1c\x36\xc2\x0a\x8f\xb0\xc5\x5c\xb4\x24\x8b\x87\x9d\xdc\xa3\xe3\xe3\x14\x14\xfc\x41\x6c\xa5\x92\xfe\x48\xb6\x71\x95\xb0\x98\x09\xb0\x58\xa2\x45\x9d\x73\x3c\x05\x37\x32\xf5\x20\x97\xd1\xea\x08\xf8\xbd\x31\x2e\x92\x2a\x25\xaa\xc2\xf5\x12\x65\x52\x83\xd1\x08\xc6\x42\x6d\x2c\x26\x89\x7b\x53\x50\x60\x52\x4c\x3b\x13\x05\x0a\x11\x3a\x91\xa6\x16\xdf\x10\xf2\xd6\x79\x53\x77\x16\x8e\xa6\xe9\x9c\x48\xb6\x19\x5b\x99\x02\xdc\xc0\x5e\x58\x69\x5a\x3a\x2d\xf5\xce\xc1\x41\xfa\x8a\xc9\x87\x68\x5c\x67\xef\x8d\x05\xfc\x2e\x88\xcc\x0a\x04\x94\xa2\xcd\xd1\x43\x2e\x34\x6c\xb1\xa7\x8e\x05\x6c\x8f\x29\xa1\xa4\xde\x65\xc1\x1c\x90\x82\x62\x14\x2d\x2f\xae\xb3\x4c\xd6\x8d\xb1\x1e\xbe\x48\x3c\x7c\x42\x67\xd4\x1e\x2d\x94\xd6\xd4\x70\x35\x7c\x74\x95\x65\xd7\xd7\xd7\xe3\xe4\xa1\x27\xa3\xa7\xb1\x40\x74\xb2\x88\x18\x2d\x16\x07\x85\xc2\xe2\x1f\xad\xb4\x73\x69\x35\x4e\x06\xa6\xdc\x0b\x0b\x5f\x11\x9c\x97\x4a\x85\xa2\x21\x3d\x08\x37\x2a\x3a\x50\xa1\xed\xe3\xc6\xf3\x37\x0e\x29\x53\x73\xe4\x94\xad\x62\x92\xad\x0f\xde\xaa\xd1\x57\xa6\x88\xce\xa9\x85\x3e\x42\x63\xcd\xef\xc8\xc5\x89\xd8\x04\x66\x54\x81\x48\x52\x66\x6a\xf4\xa4\xd6\xb8\x15\x93\x8c\x95\x23\x84\xf0\xf6\x48\xca\xd6\x28\xb4\xeb\x74\x5d\x73\x31\x0c\x61\xd0\x3f\xa5\xcf\xfc\xac\xf3\x72\xd0\x39\x19\xc5\x8d\xd2\xbd\x2f\x1d\x22\xcf\xd1\xb9\x85\x50\x6a\xd9\x49\x32\x29\x6b\x77\x59\x06\x00\x70\x7d\x0d\x6f\x34\xa0\xf6\xd2\x47\x3b\x97\xc6\x92\x2c\xe6\x20\xf5\x8e\xc9\x53\x98\x15\x56\x1c\x84\xe2\x98\xe7\x58\x0b\xfe\x17\x21\x81\x98\xd0\x90\xe5\x90\xdc\xd7\x74\x7b\xab\x30\xb1\xbc\xe6\x9e\x83\xfb\xe0\xd6\xa0\x32\xd6\xd2\x53\x68\x1e\x2a\xd4\x89\x09\x19\x2b\x71\xd7\x8f\xb0\xdc\x0f\x99\x2d\x44\x6d\x5a\xed\x6f\xe0\x1f\xef\xe5\xf7\xbf\xfc\xff\x8a\xef\xde\xc0\x9b\xa2\xb0\xe8\xdc\xeb\x15\x57\xcf\x1b\xf8\xec\xad\xd4\xbb\xe5\x8f\x88\x55\x60\x63\x9c\xf4\x21\x48\x1f\x16\xea\x5d\x38\x7a\x22\x93\x37\x17\x48\x94\x92\x32\x3d\x18\x89\xda\x47\x36\x8b\x8b\x94\xd1\x79\x2c\x5f\x31\x84\x42\x94\x90\x4f\x93\x21\x29\xe3\x13\x91\xa1\x33\xb9\x98\xa5\xc0\x62\xdf\x1f\x1b\x5c\x9f\xf0\xfd\xe0\xa1\x6b\x9f\x91\xe1\x98\x97\xd1\xb0\xd9\xa6\x1e\x42\x39\xb6\xea\xee\x0e\x4a\xb6\x42\x41\x25\xd2\x34\x18\xea\x7c\x63\x9c\x93\xb1\x4a\x9a\x12\x72\x8b\x82\x85\x88\x95\xb2\x89\x66\x70\xbd\xe8\xa4\x31\xf5\x5f\x6e\xe3\x64\x73\x61\xa5\x3a\xc6\x7e\xcc\x39\x68\x0e\x1a\xa2\x24\x63\x3d\x86\x3e\x3a\xed\x72\x7d\x21\x8c\x39\x92\x58\x26\x0b\x82\x6b\xb7\x11\xa4\x4c\x0d\x68\x0e\x1a\xed\x73\x37\x88\x87\x74\x99\x1a\xa2\x45\xdf\x5a\x0a\xa0\xd8\x78\xba\x02\x6e\xb1\x36\x7b\x8e\xa5\x50\xc8\x07\x17\x47\x44\x6e\x07\x2d\xf2\xb9\x8b\x7a\x80\xc2\x3d\x2a\x0a\xd6\xa6\xdd\x2a\x99\x27\x9c\x22\x5d\xc0\x5f\x1e\x04\xd9\x6f\xab\xb0\x1e\x11\x4b\xde\xe0\xce\xd7\x09\x0f\xce\x1b\x9b\x52\x7f\x60\x9c\x68\x53\x91\xe7\x14\xc5\x23\x42\x39\x17\x59\xe9\xa5\x50\xea\x08\x79\x28\x64\xb2\x6f\x9d\x0f\xeb\x13\xb8\xd6\xe2\x08\x3b\x4b\xa5\xd4\x50\x61\x4e\x7c\x3a\x1d\xa9\x63\xa5\x98\x20\x75\xe4\x5e\x78\x9c\x48\xd1\x74\x6d\x36\x82\x4b\x73\x70\xe0\x1a\xcc\x65\x29\xf3\x48\x37\xf6\x64\x13\xe9\x8e\x28\x70\x1c\x26\xdf\xf7\x40\xab\xb2\xa6\xdd\x55\x30\x00\x10\x97\x2a\x14\xb0\x00\x6b\x45\x46\x79\x44\x27\x76\xde\x25\x2a\x11\xad\x89\x1e\x23\xd9\x47\x34\x9e\xae\x47\xcc\x8e\x61\xe1\x5e\x92\x2f\xbb\xf8\x9f\x54\xb2\xe5\x0d\xfc\x72\xc7\x01\x7d\x0f\x77\x1d\x15\xfa\x23\x00\x38\x79\x14\x7b\xce\xc6\xa2\x8b\x10\xb5\x8c\x8a\x84\x78\xa3\x04\x81\xbd\x50\x2d\x9e\x5c\x0b\x57\xd6\x3b\xf4\x11\xa2\x2e\x96\xf0\xea\x15\x44\x61\x4e\x8e\xd3\xdf\xd5\xd7\xbe\x77\x85\x73\x50\xb7\xce\x13\x1c\x22\x76\x4e\xd4\x48\x20\x81\x3e\xc7\x42\x91\x60\x5d\xdf\x76\x58\xb3\xab\x13\xf2\xd4\x18\x4e\xfb\x4d\xf8\x3f\xf5\x1b\x87\xaa\x5c\x73\x38\xbc\x5e\x8b\x50\xe9\x53\xa1\xe7\x57\x3b\xf4\xb7\xc7\x06\x17\xcb\xb5\x2c\xa8\xe8\x96\x12\xed\x72\xc4\xe9\x3e\x1b\x7f\xba\xef\x3b\x43\xc2\xed\xff\x7d\x67\x88\xbd\x6c\xa6\x31\x48\x1d\x1d\x73\x41\x63\xf8\x8a\xa9\x1c\x4b\x9d\xab\xb6\x40\x10\xd0\x81\xff\x20\x46\x5e\x61\xfe\x6d\x6c\xee\x58\x84\x3a\x2a\x07\xec\x00\x15\x81\xe8\x4b\x30\x74\x30\x43\x00\x4a\x19\x0c\x6a\x52\x61\xd2\xa1\x79\xc0\xbc\x02\x25\xbf\x21\xb8\x46\x49\x46\x58\x35\xb4\x0d\xd5\xe9\x8e\x88\x43\x5d\x84\x17\x84\xbf\x65\xc9\x69\xe3\xa1\x51\x01\xee\xc3\xe5\x2d\x25\x39\x6b\xda\x52\xa2\xe9\xc1\x8b\x6f\xd8\xf7\x05\xea\x15\xf1\x8d\xa3\x66\x39\xef\x86\xd1\x28\xf8\x50\x26\xb3\x50\x94\xc0\x91\xe6\x22\x44\x67\x4a\xda\xe5\x58\xa4\x1d\xfa\xcf\x6d\x43\x88\x1f\x0b\x3e\x40\x21\x4a\x9d\x9a\xfc\xc8\x15\xbe\x6f\x63\x4a\x3a\x4f\x19\xb3\x0f\x73\x14\x1f\x8c\x78\x95\x51\x6c\x54\x9a\xe4\x68\xbc\x9b\x95\x6b\x2f\xf1\xc0\xc2\xcd\xf3\x5d\x2c\x6f\xe0\xee\x96\x53\xe6\xad\x31\xea\xa4\xc2\x58\x84\x3b\xf0\xb6\xc5\x1b\xb8\x2a\xda\xba\x3e\x5e\x8d\x72\x66\xa4\xd9\xa7\x28\xf7\xa1\x42\xee\x05\xc6\x72\xb8\x92\x61\x29\xd6\x74\x98\xa9\xa5\x8b\xf2\x86\x39\x89\xde\x8e\x52\x2d\x51\x7b\x93\xb4\xe6\xc8\x16\x3a\xde\x02\x9a\x13\x98\x90\xab\x78\x83\xf1\x3b\x15\x9c\x58\xd8\x48\x50\x22\x5a\x60\x39\x02\x08\xb3\x06\x91\xee\xd4\x1e\x8b\x50\x3d\xe8\xe3\x32\x58\xe4\x89\x06\x99\x14\x91\x1e\xa7\x8c\x30\x5e\x81\xe4\xe8\x55\x04\x11\x5d\x14\x87\x95\x0c\x77\xb5\x7e\x1f\xd3\x59\x67\x05\xb1\x2e\xaf\xe0\xd6\x0a\xed\x4a\xb4\xc6\xae\x3a\x34\x15\xd6\x0b\x69\x5a\xec\x31\x61\xdb\x83\x6d\xf2\x86\x4b\x3a\xc3\x11\xfd\x53\x52\x8c\x55\xb9\x19\x48\xd3\x33\x1e\x8e\xa9\xeb\x6e\x84\x1d\xa5\xe2\x29\x6c\xff\x14\x59\xbc\x43\xe7\xad\x39\x62\xb1\x88\x35\x2b\xf5\x3d\x78\xd5\x55\xf1\xae\x21\x4d\x72\xe9\x6f\xe8\xe7\x9a\xcb\xfe\x71\xe7\x0f\x89\x26\x86\xff\xc3\x79\x7a\x7d\x0d\x6f\x51\x99\x43\x68\x01\xe4\xeb\xe1\x3a\x22\x95\x74\xd7\xda\xd8\xb0\x6c\xab\x5f\x7a\x59\xc7\x35\x17\xc7\xdd\x94\x1e\xc3\xd6\x1d\xa6\xdc\xea\x66\x34\x02\x42\x82\xeb\x74\x17\x24\x31\x58\x63\x03\x18\xaf\x32\xd7\x61\x78\x5e\xc3\x88\xbe\x2c\x4f\x3a\xb4\xfb\xdc\x6e\x49\x9a\x85\x29\x43\x02\xfe\xf5\x97\xbb\x19\x4a\xf7\x3f\x2f\x96\xcb\x19\xd0\x13\x2b\xc0\xdd\x98\xec\x0d\xa7\xea\xfd\xb8\xe7\x03\x2a\x87\xf3\xb8\x29\x94\x30\x10\x1a\xb0\x6e\xfc\x11\x0a\xc9\x08\x5b\xd8\x63\xc2\x31\xb1\xb4\x04\x0c\xc5\xed\xbd\x33\xc3\xa1\x32\x50\x18\xfd\xdc\xcf\x51\xee\x17\x2d\xb3\xf6\x59\x81\x6b\xf3\x8a\x98\x8c\x5f\x7f\x3e\x48\x9f\x57\x5b\x23\x6c\xb1\x59\xc1\x86\x9f\xbd\x37\xf6\x20\x6c\x81\x76\x03\xe8\xf3\xf5\x59\x53\xdc\x9f\x85\x3a\x7f\x42\x61\x8c\x4c\x93\xf9\x67\x43\xf8\x9f\x44\xe4\x5f\xf0\xfa\x35\x94\x42\x39\x7c\xac\x8f\x30\x84\xf4\xc6\x8a\x1d\x85\x9c\xaf\x28\x00\x2d\xf6\x19\x9e\x3a\x80\x3f\x36\x32\xe7\x8c\xdc\x86\x0b\x58\x3c\x9a\x62\xef\x82\x1b\x3f\x07\xf2\x1f\x85\xaf\x28\x58\x06\x5f\x5f\x9f\x97\x29\x4c\x12\x63\x91\xa4\x1b\xcb\xc4\xdb\xaa\x34\x74\x0c\x06\x8d\x4b\x05\xfb\xc8\x17\x93\x5c\xfd\xb7\x1f\x14\xeb\xb9\xeb\x21\xd2\xa5\x12\xf2\x7a\x84\xde\xba\x2a\x4c\x50\x1d\x85\x5f\xfb\xb9\x89\xa6\xa6\x21\x74\x23\xe6\xa8\x69\xa6\xa1\x39\xca\xa3\xd5\xc2\x0f\xe0\xd9\x74\x31\xe9\x0d\xf9\xac\x75\x03\x8f\x85\xa5\x63\x3f\x3f\xe4\x42\x1b\x4d\xfe\x05\x2d\x6a\x74\x0d\xf5\xa2\x98\x8b\xad\x2e\xd0\xaa\x23\x49\x17\xf7\xd8\x17\x5a\x37\xc9\x33\x63\xdf\xf9\xb0\xd6\x52\x9d\x8b\xd6\x99\xad\xc5\x26\x8c\x29\x9b\x7e\x6f\xf1\x25\x3a\x21\x36\xaa\x07\x36\x17\x1a\x0f\xd3\xed\x45\x22\x4c\x80\xe9\xf4\xfe\x9f\x31\x57\xda\xb9\xf2\x78\xd2\x8c\xe1\xe7\x47\xa6\xc3\x37\x61\x24\xec\x67\xbd\x34\x1c\xaa\x30\x52\x0b\x4d\x18\x11\xff\x68\x85\x0a\xdf\x66\x7a\xf9\xcc\x78\x78\x7f\xe1\x10\x1c\xb7\xd0\x61\x45\x21\x54\xb7\x2f\x81\xcd\x16\x4b\x63\x71\xc3\x53\x50\x84\x10\xa1\x9e\x47\xa6\xfd\x82\x8d\x7f\xa5\x98\x23\x1e\x97\xc6\x5b\xdc\x49\xad\x29\x02\x27\xbf\xb0\xf4\xbf\xbd\xcc\xdc\xbe\xc0\xb6\xaf\x5e\x41\x90\x72\x71\x0a\x82\xe0\xe5\xc3\x76\xff\x7b\x17\x43\xc9\x98\xc3\xa9\x3c\x65\x6b\x6f\xe3\xc6\xe2\x9e\x7f\xf8\x48\xc7\x45\x98\xcb\xa6\x53\x7a\x7a\x7f\xce\x1d\xf7\x97\x0e\x5f\xa2\x28\x68\xf0\xea\x19\xc6\xf9\x6b\xe4\x7b\x39\xb3\xe6\xbb\x78\xf4\x9a\x43\x0e\x53\xd8\x40\x43\x86\x73\x68\x7d\xff\x1b\x40\x6e\x74\x6e\xd1\x47\x5c\x14\xcd\xd3\xef\xa2\x43\x89\x97\xae\xab\x4e\x53\x7a\xb1\x30\x0d\x26\x97\x6e\xdc\x49\x3b\xbf\x48\xed\x82\x84\x23\x5d\xd6\xd2\x7d\xd0\xce\xb3\xe3\xc7\xd0\x66\x79\x03\xf3\xde\xff\x55\x68\x02\xfa\xc9\xfa\xbc\x3c\xcc\x4d\xdd\x08\x3f\xf8\x9d\x93\xf4\x3b\xb3\x74\x99\xee\xd3\x59\x8c\x61\xfc\x85\xd5\xfa\x03\xcb\x97\x74\xe3\xe2\xe5\x0b\x9c\xcf\xe3\x27\x66\xc6\xff\xa5\x77\x27\x52\x2f\x7f\x28\x59\x5c\x5b\x3f\x9a\x25\x7d\x7c\x3c\x58\xac\x26\xd9\xc1\xab\x49\xfc\x8d\x60\x66\x4c\x8c\xb8\x7d\xd4\xc7\xf8\x33\xab\x89\x67\x46\x5d\x81\x83\xaa\x12\x94\x4f\xff\x46\x6b\x2e\xe9\x08\x5d\x92\x4c\x59\x2e\x9e\xbc\x5a\x3c\xb3\x23\xfc\x69\xfd\xd3\x0d\x5c\xdd\x56\x48\x82\xaa\xb8\x76\x4d\xf6\x08\xf6\x64\xb8\x31\x94\xf8\xbc\x99\xc2\xbf\xf7\xff\x09\x00\x00\xff\xff\xaa\x46\x21\xb3\x3f\x21\x00\x00"
 
 func fungibletokenV2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -137,7 +137,7 @@ func fungibletokenV2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0x2f, 0x1b, 0x12, 0xfe, 0xee, 0xa5, 0x53, 0x94, 0x89, 0xb8, 0xf6, 0x76, 0xd9, 0x9c, 0x27, 0x77, 0xf5, 0x66, 0x97, 0x55, 0x82, 0x5d, 0x2f, 0x8b, 0x18, 0xe0, 0xa2, 0x0, 0x94, 0x41, 0xb5}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xee, 0x38, 0x15, 0xb2, 0xa3, 0x2a, 0xcf, 0x4f, 0x15, 0x1e, 0x4b, 0x31, 0xdd, 0xcc, 0x96, 0xd0, 0xcd, 0xe8, 0xd4, 0x35, 0xbc, 0x76, 0xbc, 0xc, 0x91, 0x17, 0x70, 0xb2, 0x97, 0xdd, 0x19, 0x5f}}
 	return a, nil
 }
 
@@ -241,7 +241,7 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x5f\x6f\xe3\xb6\xb2\x7f\xd7\xa7\x98\x4d\x81\xae\x5d\xb8\xce\xc5\xc5\xc5\x7d\x08\x6e\x6f\xba\xdd\x34\x07\x01\x0e\xd2\x62\xd7\x6d\x1f\x8a\xa2\x61\xa4\xb1\xcd\xae\x44\xaa\x24\x65\xd7\xc8\xe6\xbb\x1f\xcc\x90\x94\x28\x4b\x4e\xec\x4d\x0b\x1c\xe0\x74\x1f\xbc\xb1\x2c\xfe\x38\x9c\x3f\x3f\xce\x0c\x79\xfe\xc5\x17\x59\xf6\xd9\x67\xb0\x58\x23\x5c\x97\x7a\x0b\xb7\x5a\x7d\x79\xdd\xa8\x95\xbc\x2f\x11\x16\xfa\x03\x2a\xb0\x4e\xa8\x42\x98\x82\x5f\xbc\xbb\xd5\x2a\xfe\xce\x3f\xdf\x41\xae\x95\x33\x22\x77\x20\x95\x43\xb3\x14\x39\x66\x19\xe1\xb5\x5f\xc1\xad\x85\x03\x51\x96\x63\xe8\x71\xb4\x05\xbb\xd6\x4d\x59\xd0\x83\xa5\x36\x15\x38\x3d\xcf\x6e\x96\x20\xa0\xb1\x68\x60\x2b\x94\xb3\xe0\x34\x14\x58\x97\x7a\x07\x02\x14\x6e\xe1\xf6\x7a\xd1\x02\xcc\xc0\xad\x51\x9a\x4e\x9c\x2d\xc3\x29\xc4\x22\x73\x1a\x64\x55\x97\x58\xa1\x72\xf4\x1a\xec\xaf\xa2\x13\x76\xce\xc2\xa7\x38\x55\x63\x1d\x2c\x75\x49\xea\xa1\x45\xd0\x78\xd3\x94\x68\x41\xa8\x02\x94\xa8\xa4\x5a\x65\xbc\x44\xd7\x5b\xb5\xad\x31\x97\x4b\x89\x76\x1e\x34\x77\xbd\xb8\x03\x83\x56\x37\x26\xaa\x28\xd7\x06\xdb\x47\xe0\x76\x75\xd0\x95\xc1\xda\xa0\x45\x5a\xb2\x50\xbc\x4a\xa9\x18\xdd\x56\xc2\xb8\x56\xb4\x00\xfc\x56\x97\x25\xe6\x4e\x6a\x75\x07\xef\x7a\xf8\x1d\x34\xa1\x5a\xa7\x0d\x49\xcd\x1a\x7d\x6d\x83\xf6\xe2\xd8\x79\x76\x43\x26\xcc\xcb\xa6\xe0\x97\x96\xb8\x85\x65\xa3\xf8\x37\xd6\xbc\x60\x0d\x90\x14\x7a\xab\xd0\xd0\x23\x14\x56\x96\xbb\xac\xd2\x1b\x04\x47\x7a\xb4\x24\x28\xa9\x45\x37\x0e\xf4\x92\xdf\x4e\xa7\x60\x79\xbf\x37\x7a\x23\x0b\x34\x77\xfc\xe6\xdd\x3b\xcc\x51\x6e\xe8\x6b\x2b\x6e\xab\x44\xcb\xeb\xb0\xe9\x13\x28\x30\x2f\x85\xc1\x44\xb8\xad\x74\x6b\xb0\xba\x42\xa8\x0d\x32\x68\xad\x2d\xab\xa9\x90\xfc\x46\x16\xb4\xfa\x7b\x23\x0d\xb2\x50\x9d\xce\x68\x1d\xc1\xba\x39\x1a\x27\xa4\x0a\x36\x65\xa0\x7b\x5c\x8b\x8d\xd4\xa6\x8d\x02\xeb\x1d\x64\x07\x24\x82\xc5\x5a\x18\xe1\x10\xee\x31\x17\x0d\x89\xe9\x60\x25\x37\x68\x79\x0e\x76\x5c\xfa\x43\xdc\xcb\x52\xba\x1d\xcd\x64\xd7\x34\x4e\x80\xc1\x25\x1a\x54\x39\x92\x6f\x7a\xc7\x4d\x45\x22\x71\xb5\x2a\x77\x80\x7f\xd4\xda\x06\xbc\xa5\xc4\xb2\xf0\x5e\xd7\xad\x5d\x2a\xd0\x0a\x41\x1b\xa8\xb4\xc1\x2c\xe8\xbc\x53\xd7\x1c\x6e\x28\xf6\xac\x0e\x82\x91\x50\x76\x5f\xaa\x4a\x7c\x40\xc8\x1b\xeb\x74\xd5\x1a\x21\x28\xad\x17\x37\x7d\x43\x50\x34\x6a\xd8\x08\x23\x75\x43\x90\x52\xad\x82\x2d\x08\xde\xfb\xc3\x3c\xcb\xbe\xd9\x41\x63\x49\x9f\x2d\x32\x2f\xa1\x03\x9a\x05\xa1\xf4\x92\x5d\xb2\xef\xe3\x16\x72\xa1\xc0\xa2\x2a\x32\x1a\x65\xbc\xb3\x44\x6f\xab\x11\xcd\x97\x4e\x7f\x49\xff\xcf\x78\x6e\x72\x3c\x32\x99\x5a\x91\x7c\x3c\x09\x93\x01\x89\x25\x20\x47\x42\x2d\xa1\xc4\x62\x85\x26\x1b\x84\xd3\x42\xf3\x54\x31\xea\xc8\xeb\x95\x76\x6b\x34\x2c\xe2\xac\x65\x23\xa6\x16\x4b\xba\xd9\x31\x74\x61\x84\x0f\x8d\xdb\xeb\x45\xb6\x34\xba\x1a\xd8\x94\xe9\x49\x41\x1e\x19\xa4\xc0\x5a\x5b\xe9\x5a\x4b\x82\x56\xbd\xb9\x5e\xdb\xac\xef\xa3\xb9\x26\x4b\x38\xef\xbe\xce\x08\x65\x97\x68\xe6\x59\xf6\xc5\x79\x96\xc9\xaa\xd6\xc6\xc1\x8f\x12\xb7\x44\x00\xe5\x06\x0d\xb0\x14\x67\xe9\xa3\xb3\x2c\x3b\x3f\x3f\x67\xae\xaf\xc8\xcd\x53\xf6\x4c\x08\x10\xbe\x63\x21\xd2\x5f\xc9\xac\x65\xc9\xa3\xc3\x54\x6c\xc1\xc4\x35\xa4\x4d\xe8\xff\xfc\xfc\x3c\x13\x79\x8e\xd6\x4e\x44\x59\x4e\xbb\x49\x06\xb4\xfb\x90\x65\x00\x00\xe7\xe7\xf0\x46\x01\x2a\x27\x5d\x40\x5c\x6a\xe3\x09\x87\x0d\xb9\xc6\x56\xcb\xa2\x64\x5e\xf1\xe6\xe7\x35\x0a\xf8\x51\x34\xa5\x63\xa0\x74\xd6\x14\xee\xa7\x38\xfa\xbe\xc4\x38\xe5\x39\x7c\xbb\xf1\xc2\x93\x9b\x5b\xc0\x4a\x3a\x87\x05\x6c\xc9\x4e\xc2\x4f\x41\xcf\xe3\xcc\x6a\xd6\x0e\x94\xaa\x90\xb9\x70\x51\x36\xcf\x87\x03\xba\x0b\xc8\x0e\xb6\x22\x41\x61\xa1\xe7\x11\xaa\x85\xbc\x19\x8c\x96\x16\x94\x76\x9e\x50\x69\x61\xba\x51\xee\xb5\x65\x16\x17\x2b\x9c\xc1\x1d\x01\xdd\xb1\x65\xe0\x1e\xe1\x4e\xc9\xf2\xae\x8f\xdb\xd3\xc6\x26\xd5\xc3\x44\x16\x17\xf0\xc3\x8d\x72\xff\xfb\x3f\x33\x68\x9a\xf4\x1b\xa1\x5e\xc0\x9b\xa2\x30\x68\xed\xe5\x8c\x77\xa5\x0b\x78\xef\x8c\x54\xab\x69\x96\xe2\x5a\x2c\x97\x53\xd8\x48\xbf\x51\xb0\xfe\x6e\xaf\x17\x2f\x9d\xe2\x02\xbe\xd1\xba\xe4\x79\x1e\xf8\x93\xfe\x11\x76\x5f\x78\x59\x44\x54\xfa\x8c\x98\xf4\x19\xf1\xe8\x73\xda\x22\x18\x74\x8d\x51\xe0\x4c\x83\xfc\xec\x71\xd4\x0d\x0e\xf9\x40\x88\x56\x2c\x98\x12\x7a\x5b\xda\xc0\x90\x2e\xba\x47\xa0\xed\x63\xbc\x23\xc5\x7f\xce\x86\x57\xfe\xdd\x27\xf4\xeb\xf4\x4b\x0c\xf8\x22\xfc\xc3\xd6\x4b\x61\xf7\x8d\x47\x80\x4e\x9f\x6c\xb8\x45\x60\xc1\x81\x0d\x88\xe2\xb0\xb3\x6a\xc8\x2c\xef\xb1\x6f\xdf\x40\x22\xb4\x21\x47\x3e\x35\x58\x78\x52\xa1\x3d\x35\xc4\x5c\xb2\x0b\x3c\x63\x99\x28\xcf\x29\xae\xff\x22\x53\x3d\x3b\xe1\xe5\x29\x33\x5e\x8e\x5b\x2f\xe8\x33\xaa\x08\x2a\x74\x6b\x5d\xf0\xb6\x1c\x6c\xb3\x14\xa5\xf5\x0a\x07\xb9\x24\x97\x2e\x64\xa1\x5e\x3b\xca\x0e\x44\x3b\x2e\xc5\x93\x0a\xb6\x6b\x99\xaf\x21\x17\x16\x61\x8b\x50\x68\x7a\x9f\x92\x7c\x8e\x92\x60\x3b\x9d\x98\xac\x1d\x2e\x97\xbc\x42\x78\xf5\x15\x28\x59\xc2\xe7\x9f\xfb\xbc\x39\x7c\xed\xc4\x6e\x1d\xaf\xa7\xa4\xbe\xe7\xbd\xda\xe3\x8d\x81\x1b\xbe\x9a\xf6\xf0\xf6\x7d\x91\xfd\x11\x90\x56\xff\xf0\xfc\x8b\xfb\xee\x7b\x85\xd6\x19\xbd\xfb\x44\xef\x8d\x85\x01\x91\x07\xe3\x04\x1d\x8d\x11\x06\xff\xfe\x54\x40\x9f\x4c\x11\x27\x21\x3e\x45\x0a\x1d\xd0\x80\x14\x4e\x23\x83\x9b\x7e\xb9\x19\x92\x31\xeb\xcb\xb7\xae\xa8\x3c\x18\xc2\xc3\xe2\x83\xc6\x5f\xf4\x92\xaa\x79\x9b\x5d\xa5\xe1\xe1\x2d\xd6\x28\xf9\x7b\x83\x70\x73\x15\x76\x12\x91\xaf\xd9\x40\x6b\x61\xdb\x77\xd3\xf9\x5a\x9d\xae\xd0\xdd\x5c\x4d\xa6\x51\x77\xe3\x9e\x44\x76\x98\x93\x5e\x12\x77\x4a\x23\xea\x10\x32\x49\x6f\x09\xfc\xe7\xc5\xae\xc6\x5f\xfa\x61\x9d\xe0\xff\xfc\x4b\xfa\xc3\xe3\x21\x68\x42\x35\x5e\x07\x84\x3c\xf9\x95\x27\xbb\x00\x02\x9f\x5e\xc0\x1b\xb5\x7b\xef\x4c\x93\xbb\xcb\x83\x13\x29\x59\xf6\x67\x6a\xbf\x05\x37\x9e\x4c\xf7\x34\x40\x35\x5d\xff\x09\xfd\xdb\x4f\x25\xe7\x23\xae\xc9\x4a\x0b\xea\x8d\xbe\xd5\x2a\x32\x3a\x58\x7c\x89\x96\x30\x99\xce\x65\x41\x79\xe3\x52\xa2\xe9\x87\xfe\xe3\xe1\x38\x4e\x3c\x4f\x43\x85\x85\xa4\x8a\x30\xe6\x7b\x21\x49\xed\xd7\x9c\xa7\x38\x61\xac\x96\xf7\x5c\xee\x3a\xd6\x0d\x94\x29\xd7\x46\xff\x86\xb9\x6f\x90\xc4\xe4\x83\x88\xd2\xc5\x42\xd5\x17\x60\x3f\xfc\x70\x73\x45\x95\xa2\xd2\xee\x69\x97\x6c\x2c\x5a\x7a\x79\x12\x42\x77\xdc\x27\x99\xf6\x0f\xf8\xe3\x4f\x9e\xad\xba\xe2\x88\xa9\x28\x51\x46\x1d\x97\xd5\xad\x34\x16\xd1\x14\xac\x32\xe7\xec\x3a\x0e\x4f\xa1\x03\x92\x30\x48\x7b\x86\xb0\xfc\xbe\x5f\xa0\xd3\x81\xf2\x4a\x69\x1d\x2a\x2a\x2a\xc3\xef\x65\x00\x8c\x65\x97\x07\xc9\x7a\x2a\x6d\x65\x35\x58\xe9\x0d\xb6\xbd\x97\x56\xe6\x24\x79\xa3\xfa\xc7\xbf\x24\x79\xa3\xe2\x9f\x45\x59\xf6\xf6\x39\x4e\x06\x0b\x8d\x3e\x91\xf7\xfd\xa0\x1d\xb1\x37\x17\x58\x34\xe4\xe6\x8a\x08\xfc\x09\xbb\xa4\x85\x8b\x0f\xbf\x28\xe5\x24\xfe\x71\x73\x15\xa9\x63\x7a\x01\x5f\x3f\xdc\x5e\x2f\x1e\xf7\x23\x48\x5b\x37\x12\x42\x06\x6d\x53\xba\x18\x20\xf0\xd5\x57\x90\x42\x9e\x2d\xbc\x7c\x21\x71\xed\xea\x17\x9f\x14\x33\xad\xde\xfb\x6a\xd4\x8a\x0a\x49\xd1\xdc\x19\xc3\xdf\x1b\xb4\xb4\x4b\xdd\x5c\x9d\x1d\x1d\xb5\xbd\xd4\xbe\x2f\x57\x0c\xdc\xf0\x34\xcd\xf6\x39\x74\x39\xbd\xbe\x9c\x0b\x9f\xd2\xc4\xa8\xee\x30\x4e\x88\xeb\x9e\xe9\xde\x94\x0e\x8d\x4a\x43\x39\x64\x3e\x76\x40\xfd\x0a\xff\xa0\x0d\xc7\xe0\xf0\xdd\xd0\x35\x4b\x03\x74\x2d\x36\xc8\xcd\x1a\x58\x96\xf8\x87\xf4\x5d\x98\x1e\x66\x1a\xc5\x6b\xdf\x73\x93\xc6\xef\x66\x14\xcc\x15\x8a\x36\x3b\x6a\x6c\x92\x1a\xd1\xd8\x9f\x62\xff\x65\xf3\xdf\xd0\xd4\x2b\x23\x0a\x9c\xc5\xde\x58\x90\x21\x56\x8c\x09\x29\x70\xcb\x8e\xbc\xd2\xee\x45\x44\xfa\x66\x68\x10\xdd\x5c\x59\x42\xec\xf0\x28\x13\xac\x65\xfe\x81\x51\xf2\xb5\xd6\x94\xd3\x51\x7a\xd7\xc3\xf2\x7e\x64\xc7\x54\x54\xd7\xa5\xf4\xfd\x24\xb7\xc6\xaa\x6f\x86\xc5\x77\x57\xdf\x5d\xc0\x22\x8c\x2c\x4b\x1f\xb9\x8d\x28\xcb\x9d\xd7\xa4\xae\x29\x20\x45\xd9\xe6\x06\xbb\x1a\xed\x0c\xee\x1b\x17\xb2\x4a\x23\x57\x6b\x07\x4a\x6f\x7b\xb8\x91\x6c\xf4\x12\x04\xdc\x37\x2b\xca\x49\xdf\x8a\x82\x5b\x72\xa3\xac\x40\x8a\x65\x5d\x3d\xcf\x0e\xb3\xa0\x30\xe9\x7c\x6c\xcf\x8e\xa1\x8b\x67\x03\x3e\x0a\x30\xf9\xb5\x97\x6b\x7d\x52\xd0\x53\xb0\x53\xba\xfc\xf1\x63\x78\xf0\x8a\x03\x8b\x1e\x7b\xec\xff\xf4\xe8\x4f\x95\x4e\x18\x27\x5a\x9d\x87\x90\xd1\x43\x6c\x1d\xb1\x55\x2c\xd6\xd2\x86\xc6\x62\x88\x6b\xb8\xdf\xf5\x7a\x0d\x3e\xb1\xe4\x76\xa8\x23\xfa\xa8\x9a\xd2\xc9\xba\x44\xdf\xaa\x24\xb7\x3f\xcd\x99\x58\x37\x5e\x61\xf4\xe7\x0c\xfe\xa4\x1d\x65\xe0\x5c\x7f\x6f\x31\xc7\x39\xd9\x1b\x55\x1c\xc9\x30\x89\xab\xb9\xe8\x6a\x1c\xc0\xff\xd6\xce\x16\xd6\xd7\xf3\xb9\xbf\xa9\xec\x2f\xf0\x32\x38\xa2\x40\x89\x7d\x19\x0b\xf7\xe8\xb6\x88\x2a\xa9\x4f\xec\x29\x05\x4a\xec\xaf\xe8\xfd\x12\xa5\xed\x18\x1d\xf4\x67\x76\x4c\x9b\x78\x5d\x6f\xfc\xa8\x2f\x77\x0e\x1a\xcf\x57\xd9\x75\xef\x4c\x3c\x45\x7c\xde\x2d\xdd\x58\xd7\x2c\x8e\xbf\x80\xb7\xa2\x0e\x47\x63\xff\xf7\xf9\x43\x3c\x9c\x7c\xfc\xff\xb4\x8b\xf1\x9c\x6e\x43\x95\x11\x53\x9a\x4f\xac\xfc\xe2\xdc\xf1\x94\x24\x4e\x19\x6b\x18\x27\x3e\x74\x4a\x15\xfc\x97\x30\xab\x86\x0f\x3c\x48\x77\xa2\x28\x52\xd5\xbd\x1d\xd5\xf2\x68\x21\x48\x5a\x0a\xb3\x4c\x38\x4a\x62\x60\x4e\x7b\x45\x1e\x09\xb3\x42\xf7\xbe\xa9\x6b\x6d\x1c\x16\xb7\xd7\x0b\x72\x52\x1b\x52\x31\x0b\x82\x0b\xb1\x78\xb0\xc7\xac\x11\xbb\x33\xd2\xb6\x2a\xe7\xa9\x6b\x67\x8f\xe9\x67\x0c\xe6\xa2\x12\xf5\x61\xc1\xa1\x42\xe6\x79\x3c\xd8\x78\x78\x78\x3c\xd0\x77\x08\x0b\x79\x17\x64\x8e\xe5\x99\xaf\xc7\x58\x73\x2b\xb9\x41\x9f\x58\x52\xb5\xe6\xa5\xf5\x6e\xd7\x77\xc9\x7d\xc8\x37\xa3\x7c\xea\xc7\x83\x50\x3b\x0f\x19\xfa\x7b\xbf\x11\x0f\x25\xfd\x2d\x82\x2f\x70\xd9\x1e\x6d\x3d\xa5\x18\x69\xf7\xf5\x92\x70\xec\xb0\x86\xef\x2b\xa6\x5f\xc6\xb7\xdd\x9f\xc4\xc7\xdf\xf9\x83\xf3\xf6\x60\xce\xaf\x5a\xe5\x06\xdd\xde\xf5\x85\x76\x88\xaf\x4e\xc2\x51\x7d\x11\xaf\x2f\xb4\x27\x86\x5c\x4e\x84\x53\xc1\x53\x42\xa2\xf3\xe1\x8b\xb6\x31\x32\x6b\x03\x65\x96\x70\xd1\x6c\xbc\x71\x97\x9c\xa9\xee\x45\xd5\xbb\xa0\x7a\x3e\x9b\x65\xb5\xc7\xa3\x36\xa8\x85\x5b\x27\x0b\x1f\x98\xfb\x90\xb3\x5e\x79\x9c\xf7\x1e\xe6\x7b\xe1\xd6\xe4\xad\xc9\xd7\xcb\xf1\xc6\x4a\xda\x23\x7b\x7c\x56\xca\xba\xb9\x2f\x65\xfe\x52\x21\xbf\x67\x94\x28\x63\xf7\xed\x74\x11\x6f\xb5\xa9\xb8\x3c\xdb\x62\x48\x31\xba\x8b\x17\xa1\x31\x3b\x60\xf1\x7e\xfd\x2b\x22\xb7\xe7\x50\x48\x7e\x4d\x18\x7f\x7b\x82\x53\x91\xd8\xda\xf5\x45\x9e\x3f\x7b\xb6\x54\xe9\x29\xa4\x25\xd2\xbb\x14\x5c\x7c\x1f\xa2\x07\x6b\xa1\xd4\x6a\xc5\x54\x19\x4e\xe1\xfd\x79\x7b\x77\x9b\x42\x78\x78\x83\x63\x5a\xb7\x71\xe6\x01\x93\x25\xeb\x69\x33\xa6\x7e\x1f\x68\x70\xfa\xb7\xc7\x04\x11\x75\x46\x84\x1d\x18\xc1\xab\x7a\x4f\x33\x5a\x21\x60\x38\xd5\x4e\x94\xd3\x5e\xbb\xf8\x80\x81\x56\x84\x85\xbb\xaf\x1f\x06\x79\x0a\xb1\xf8\x60\x8f\x7c\x11\xcd\x42\xec\xd1\x32\x6d\x5d\xc0\x59\xd1\x54\xd5\xee\xec\x70\xda\xfb\x67\x32\xed\x9f\x41\x87\x27\x2f\x20\x37\x28\x1c\x7e\x5b\xd5\x6e\x97\xf0\x89\x7f\xca\xdb\x30\xd2\x4f\x07\x36\x5c\xf0\xd7\x58\xbc\x0a\xf6\x93\x74\xb0\xba\x8d\x92\x1d\xfb\x88\xde\xf2\xfe\x3e\x7e\x86\x40\x8b\x1d\x15\x66\xc2\xa9\x74\xf7\xfd\x13\x3a\x82\x76\x32\x9d\x97\xa8\x56\x6e\x4d\xa9\xf4\x7f\x85\x3c\xda\xcf\x56\xa4\x9e\x1c\x13\x68\x5e\xf4\xab\xb3\x63\x4a\x9f\x93\xbb\xce\xcf\xee\x58\x7f\x65\x23\xf7\xd3\x5b\xb1\x63\xc1\xf7\x64\x2e\xe7\x53\xb9\x61\xee\xd6\x09\x6c\x93\xa8\x1f\xb8\x15\x8f\x0a\x7d\xe5\x30\x92\x6a\x42\x63\xc4\xee\x84\x3c\x6f\x4c\xea\xe3\x0e\x65\x92\xc6\x7f\x7a\xc7\xc9\xf7\xe4\x43\x0e\xd0\xbb\xae\xd8\xdd\x19\x1a\x81\x8a\x2d\xba\xc3\xa3\x98\x24\xca\x8a\x9c\x59\x94\x5b\xb1\x8b\xf7\xe4\x94\x28\xf9\x38\x49\x2a\xd1\x0b\xbf\x04\xbc\xbb\x44\x44\x8a\x6b\x25\xad\xa4\xb5\xac\x65\xf6\x95\xf6\x4a\x9c\xcf\x2f\x88\xe8\x43\xc9\xdc\x9e\x39\x8c\x61\x13\xe2\x5a\x18\xbe\x2c\x62\x90\x32\x25\x59\xe2\xc8\xe1\xc4\x09\x87\x5a\xdd\xdd\x09\x96\x7a\xbf\xa6\xf4\x0f\xbb\xcb\x14\x4f\x14\x94\xed\xf8\x4f\xed\x5a\xf4\x4e\x9e\x04\x14\xd2\x60\xee\xba\x62\x4f\x2a\xeb\x50\x14\xa4\xe0\xee\x1e\x1e\xdf\x04\x88\x4a\x26\xf5\x74\xd7\xb9\x86\x7d\x09\xde\x1a\x55\xd1\xdf\x06\xc3\x25\x03\x7f\xa8\xd5\xcd\x56\x68\xe4\xad\xdf\x36\x79\x8e\xe8\xfb\x1f\x9c\x3d\x87\x8b\x08\x1a\x6d\xfc\xed\xa9\xaa\xe7\x65\x45\xe2\xc0\x6c\x83\xaa\xf1\xa8\xe8\x89\xe8\xf3\x7c\x8d\xf9\x07\x62\xc1\xb3\xb7\xfe\x0e\xb3\x76\x70\xaf\x8d\xd1\xdb\xf4\xe6\x68\x8c\x70\xa2\x8c\x38\x74\xd8\xa8\xe8\xce\x40\x89\xd0\x29\xe7\x16\x52\xd9\x89\x2c\xa6\x91\xd1\x3b\x2e\x6c\x8f\xaa\xc2\x6b\xbe\x27\xd2\x96\xd9\xa7\xf4\x41\x0e\x5c\xba\x60\x69\xfc\x52\x6e\xaf\x17\xef\xc5\x12\xc3\x0b\xd3\xcb\x23\x1a\x22\xfa\xa2\xd3\x91\x07\x99\x4c\x2f\x0f\xb8\x79\x7f\x26\x5a\xef\x4b\x7c\xde\x2b\xb0\xab\x6b\x95\x27\xd5\xd8\x53\xa2\xdf\xfc\x25\x77\x83\x91\xe7\x4e\x48\xc1\xd9\x36\x17\xf0\xb3\x77\xb3\x5f\xfa\x53\xff\x03\x5d\xb8\xaf\x5b\xf1\x6d\x24\x5f\x4c\xfb\x7b\x80\x5d\x65\x75\xc2\x6c\xff\xe4\x4d\x9d\x26\xbc\x51\x6e\x6c\x99\xb1\x5d\x37\x56\xc7\x3f\xbd\xd2\x19\xa5\x9f\x21\x5f\x8b\xd5\x60\xc4\x7e\xef\xa3\x99\x6f\x35\x27\x3d\xc7\x74\x67\x3b\xb9\xe5\x38\xa6\xc9\x56\xfa\x24\x65\x8d\x9a\x3d\x90\x88\x8a\x10\x5d\x58\xf4\xa3\xab\x7f\xf7\xfe\x40\x97\x2a\xc9\xd8\x62\x12\xe7\xaf\x46\x89\x02\x0a\xe1\x84\x3f\x15\xa3\x82\x23\x9e\x77\xf1\xd6\x22\x9f\x39\x82\xef\x5c\xf7\x57\xe8\x75\x48\x47\xe8\x66\xac\x65\x7a\x4a\x3e\x7b\x1d\xf3\xa2\xde\x05\xe2\xb7\x69\x7d\x1e\x5f\xf5\x62\xd9\x7d\x1e\x5a\xa1\xa3\xe5\x09\x5e\x30\xad\xc1\xb6\xa5\x28\x3b\x6b\x52\xf9\x85\xab\xc0\x91\x89\x8e\xd1\x42\x2a\xd6\x64\x4f\x19\xa3\x55\xfe\xe3\x7e\xd5\x7a\xb4\x3a\x9e\xb6\x45\x4b\x58\xcf\x59\x63\x30\xff\x78\xbe\x3d\xe9\xb5\xb0\xa7\xf0\xf1\x63\x7c\x74\x99\x9e\x99\x30\x59\x0f\x06\xd3\xbf\xb3\xb7\x42\x25\xbb\x83\xdf\x0a\x82\x5d\xf8\xd4\x34\x69\x7c\xfb\x60\xee\xf9\x78\x4b\xf8\x95\x70\xf9\xba\xcd\x1c\xc9\x58\x5b\x61\x3b\xea\x3f\x94\xd4\xc3\xa1\x86\x80\xff\x7c\xcc\xfe\x15\x00\x00\xff\xff\x41\xb5\x10\xb9\x60\x34\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x59\x5b\x6f\x23\xb7\x15\x7e\x9f\x5f\x71\xea\x00\xb5\x1d\x68\xe5\x3e\x14\x7d\x30\x10\x6c\x36\x71\x5c\x08\x28\xdc\x60\xa3\x4d\x1e\x23\x6a\x78\xa4\x61\xc3\x21\x67\x49\x8e\xb4\x82\xb3\xff\xbd\x38\x87\x97\x99\xd1\xc5\xbb\x6e\xf7\x21\xb1\x46\xc3\x8f\xe7\xf2\x9d\xab\xee\xbe\xfd\xb6\xaa\xbe\xf9\x06\x96\x0d\xc2\xa3\xb6\x7b\x78\xb2\xe6\xcd\x63\x6f\xb6\x6a\xad\x11\x96\xf6\x0f\x34\xe0\x83\x30\x52\x38\xc9\x2f\xae\x9e\xac\xc9\xdf\xf3\xd7\x2b\xa8\xad\x09\x4e\xd4\x01\x94\x09\xe8\x36\xa2\xc6\xaa\x22\xbc\xf2\x11\x42\x23\x02\x08\xad\xcf\xa1\xe7\xd3\x1e\x7c\x63\x7b\x2d\xe9\xc1\xc6\xba\x16\x82\x9d\x57\x8b\x0d\x08\xe8\x3d\x3a\xd8\x0b\x13\x3c\x04\x0b\x12\x3b\x6d\x0f\x20\xc0\xe0\x1e\x9e\x1e\x97\x05\x60\x06\xa1\x41\xe5\x06\x71\xf6\x0c\x67\x10\x65\x15\x2c\xa8\xb6\xd3\xd8\xa2\x09\xf4\x1a\x1c\x6b\x31\x08\x3b\x67\xe1\xc7\x38\x6d\xef\x03\x6c\xac\x26\xf3\x90\x12\x74\xde\xf5\x1a\x3d\x08\x23\xc1\x88\x56\x99\x6d\xc5\x2a\x86\x89\xd6\xbe\xc3\x5a\x6d\x14\xfa\x79\xb2\xdc\xe3\x72\x05\x0e\xbd\xed\x5d\x36\x51\x6d\x1d\x96\x47\x10\x0e\x5d\xb2\x95\xc3\xce\xa1\x47\x52\x59\x18\xd6\x52\x19\x46\xf7\xad\x70\xa1\x88\x96\x80\x7f\xb4\x5a\x63\x1d\x94\x35\x2b\x78\x3f\xc1\x1f\xa0\x09\xd5\x07\xeb\x48\x6a\xb6\xe8\xb5\x4f\xd6\xcb\x67\xe7\xd5\x82\x5c\x58\xeb\x5e\xf2\x4b\x1b\xdc\xc3\xa6\x37\xfc\x1d\x5b\x5e\xb0\x05\x48\x0a\xbb\x37\xe8\xe8\x11\x0a\xaf\xf4\xa1\x6a\xed\x0e\x21\x90\x1d\x3d\x09\x4a\x66\xb1\x7d\x00\xbb\xe1\xb7\xc7\x57\xb0\xbc\x3f\x3b\xbb\x53\x12\xdd\x8a\xdf\x5c\xbd\xc7\x1a\xd5\x8e\x3e\x16\x71\x8b\x11\x3d\xeb\xe1\xc7\x4f\x40\x62\xad\x85\xc3\x91\x70\x7b\x15\x1a\xf0\xb6\x45\xe8\x1c\x32\x68\x67\x3d\x9b\x49\x2a\x7e\xa3\x4a\x56\xfd\xd8\x2b\x87\x2c\xd4\x60\x33\xd2\x23\x79\xb7\x46\x17\x84\x32\xc9\xa7\x0c\xb4\xc6\x46\xec\x94\x75\x25\x0a\x7c\x24\xc8\x01\x48\x04\x8f\x9d\x70\x22\x20\xac\xb1\x16\x3d\x89\x19\x60\xab\x76\xe8\xf9\x0e\x26\x2e\xfd\x21\xd6\x4a\xab\x70\xa0\x9b\x7c\x43\xe7\x04\x38\xdc\xa0\x43\x53\x23\x71\x33\x12\x77\x2c\x12\x89\x6b\x8d\x3e\x00\x7e\xea\xac\x4f\x78\x1b\x85\x5a\x46\xd6\x0d\xba\x2b\x03\xd6\x20\x58\x07\xad\x75\x58\x25\x9b\x0f\xe6\x9a\xc3\x82\x62\xcf\xdb\x24\x18\x09\xe5\x8f\xa5\x6a\xc5\x1f\x08\x75\xef\x83\x6d\x8b\x13\x92\xd1\x26\x71\x33\x75\x04\x45\xa3\x85\x9d\x70\xca\xf6\x04\xa9\xcc\x36\xf9\x82\xe0\x23\x1f\xe6\x55\xf5\xc3\x01\x7a\x4f\xf6\x2c\xc8\xac\xc2\x00\x34\x4b\x42\xd9\x0d\x53\x72\xca\x71\x0f\xb5\x30\xe0\xd1\xc8\x8a\x4e\xb9\x48\x96\xcc\xb6\x0e\xd1\xbd\x09\xf6\x0d\xfd\x7f\xc6\x77\x13\xf1\xc8\x65\x66\x4b\xf2\xf1\x25\x9c\x0c\x48\x2c\x01\x35\x12\xaa\x06\x8d\x72\x8b\xae\x3a\x09\xa7\xa5\xe5\xab\x72\xd4\x11\xeb\x8d\x0d\x0d\x3a\x16\x71\x56\xb2\x11\xa7\x16\x4f\xb6\x39\x30\xb4\x74\x22\x86\xc6\xd3\xe3\xb2\xda\x38\xdb\x9e\xf8\x94\xd3\x93\x81\x3a\x67\x10\x89\x9d\xf5\x2a\x14\x4f\x82\x35\x93\xbb\xae\x7d\x35\xe5\x68\x6d\xc9\x13\x21\xd2\x37\x38\x61\xfc\x06\xdd\xbc\xaa\xbe\xbd\xab\x2a\xd5\x76\xd6\x05\xf8\x55\xe1\x9e\x12\x80\xde\xa1\x03\x96\xe2\x6a\xfc\xe8\xaa\xaa\xee\xee\xee\x38\xd7\xb7\x44\xf3\x71\xf6\x1c\x25\x40\xf8\x37\x0b\x31\xfe\x96\xdc\xaa\x35\x9f\x4e\x57\xb1\x07\x47\xd4\x50\x7e\x94\xfe\xef\xee\xee\x2a\x51\xd7\xe8\xfd\x8d\xd0\xfa\x76\xb8\xe4\x24\xed\x3e\x57\x15\x00\x00\x01\xbf\x33\x80\x26\xa8\x90\x20\x37\xd6\xc5\x8c\xc3\x9e\x6c\xb0\x98\x59\x68\x4e\x2c\xd1\xff\xac\xa4\x80\x5f\x45\xaf\x03\x23\x8d\xaf\x1d\xc3\xfd\x96\x4f\xaf\x35\x7e\xdd\x9d\x7d\x27\x45\x48\x5c\x8d\x7f\x03\xee\x38\x25\xf3\x6b\x6c\xbe\x17\xaf\xfc\x40\x87\xa6\xf7\xfd\xb4\x8b\xd6\x12\xe1\xb4\xee\x61\xab\x02\xec\x89\x23\xa4\x6d\x8b\x41\xd0\x71\xd2\x35\x97\x00\x9f\xe4\x90\x05\x6f\x11\x38\x3a\x38\x53\xac\x91\x21\x02\x4a\x58\x1f\x98\x67\xd9\x72\x2b\x7a\xfe\xf4\xb8\xfc\x10\x4f\xaf\x0a\xe7\x0a\x4e\x8c\x0e\x03\xab\x22\xf3\x2a\xab\x22\x87\x54\x05\x31\x55\xc5\xc8\x20\x1d\xf6\xe2\x54\x24\x62\xd7\xd8\x0a\x9d\x4b\x56\xf3\x9d\x68\x5b\x0a\x73\xf6\xd9\x20\x9f\x4a\x4f\x06\xea\xfb\xeb\x51\xcd\xf0\x05\x39\xe7\x58\xd6\xb6\xb6\x32\x52\x82\xea\xcd\xe8\x75\x4a\x84\x2c\x5b\x23\x7c\xac\xc0\x42\x0f\xaa\x44\x57\x15\xc4\xa4\xcf\xe8\x32\xb2\x7b\x63\x65\xe4\x3b\x99\x94\x6c\x41\xef\x6d\x31\x96\xf7\x53\xab\x14\xb4\xa9\x09\xd8\xd3\x94\x57\x3d\x15\x05\x6f\x21\x75\x08\xca\xc9\x37\x9d\x70\xe1\x00\xca\x48\xfc\x44\x06\x21\x17\xb6\xd6\xa8\x60\x63\xb9\x88\x06\x2b\x70\x44\xc0\x8f\x3d\xba\x43\x2c\x2a\xd1\xde\x03\x41\x72\xb6\x89\x55\x79\x6a\xbb\x79\x06\x39\x25\xea\xae\x50\x14\xe5\x8d\x92\xf7\xf0\x61\x61\xc2\x3f\xfe\x3e\x83\xbe\x1f\x7f\x62\xd0\x7b\x78\x27\xa5\x43\xef\xdf\xce\xb8\x49\xb9\x87\x5f\x82\x53\x66\x7b\x7b\x02\xbb\x53\xb1\x6b\x80\x29\xe5\x6e\x7e\x07\xb3\x09\xef\x71\x73\x0f\xa2\x0f\xcd\x4d\xa1\xd9\x2d\xfc\xf5\xf9\x38\x29\xcc\x9f\x1e\x97\x9f\x23\xf4\x33\xff\x97\xfe\x71\x74\x8c\xc5\x8d\x78\xf3\x2d\x86\xc5\xc3\xcd\x6d\x16\x3b\x3d\xa5\x0f\x45\xf6\xf4\x8c\x3f\xbd\x9d\x8b\xa8\x49\x56\x64\x80\x59\x1e\x3a\xbc\xb9\x9d\x2b\x49\x2e\xde\x28\x74\x51\x84\xcf\xd5\xd9\xf0\x55\xbe\x44\x1b\xc7\xac\x88\x19\x89\x9e\xe7\x44\x65\x66\xe5\xa0\x32\x52\xd5\x22\xe4\x80\x8c\xfd\xd3\x49\x7b\x94\x90\x63\x5c\x15\x14\x76\xf0\xd4\x91\x1c\xfa\x27\xa7\x95\x07\x63\x43\x6c\xc0\xc8\x29\xb6\x37\xe1\xda\x73\xd7\x27\xb6\x38\x83\x15\x01\xad\x0a\xb3\x57\x46\xe9\xd5\x97\x08\x92\xd3\xe6\x0b\x0c\x21\xd4\xcb\x04\x39\x67\xbb\x4b\x86\x4b\x25\x11\x25\xd7\xdd\x49\xdf\x78\xa2\x7d\xc8\x36\x4d\xbd\xd1\xd7\x98\x74\x8c\xff\x25\xc5\x1f\xe2\xbb\x2f\xe8\x1d\xec\x57\x68\xbd\x98\xce\x40\x29\x7b\xfa\x38\x53\x0c\x93\xce\x45\x61\x4e\x3b\x62\x3a\x7f\x3f\xa9\xf4\xf3\x52\xf2\x87\x70\xc9\x69\xa8\x37\xea\x63\x8f\xb0\x78\x48\x96\x17\x75\xc3\xe9\xbb\x11\xbe\xbc\x7b\x36\x7e\x53\x5c\x65\x75\xab\x11\xf2\x19\x6b\xe5\xa9\xe3\x01\x7d\x70\xf6\x30\xc9\x28\xf0\x1d\x78\xd4\x27\x91\x3a\xfd\x32\x06\x6c\x34\x62\x7e\xfb\x4c\x40\x4e\xf4\xfb\x27\x86\x71\x23\x1d\x9b\xb5\xa1\x38\x71\x65\xa1\x4f\x76\x6f\xfc\xe4\xe0\x0f\x96\xaa\x9d\xdb\xf6\x6d\x9c\xb0\x1c\x82\xed\x88\x2d\x42\x4f\xe7\x9c\xd4\x02\xd6\x8d\xb5\x1e\x27\x10\x8d\xdd\x13\xab\x1c\x86\xde\x19\x0f\xbe\x5f\x47\xbf\x4a\xec\xd0\x48\x8a\x73\x6b\x60\xcf\x63\xef\xe4\x9e\x2e\x8e\x3e\x72\x02\xf6\x68\x1d\xe0\x27\x41\xdd\xd4\x0c\xd4\x06\x56\x64\x87\x15\x57\x30\x01\x3b\xa1\x7b\x9c\xc1\xba\x0f\xb0\x52\x72\x05\xd2\xa2\x37\xd7\x71\xda\x65\x01\x27\x50\x54\x4a\xa2\xb8\xb0\x6f\x54\x72\x36\x47\x05\x59\x84\xe7\x4b\x9b\xa4\xa6\x9b\xa8\xe4\x22\x85\x9e\x80\x2b\x89\x1b\xea\xa2\xae\x26\x78\x8b\x0d\xac\xa3\xb5\x52\xc2\x48\x6d\x2c\x2b\x3b\x4c\x29\x3c\x59\x82\x00\x6a\xf3\x75\x14\x8b\x24\xf9\x0f\xb1\x3c\xde\x36\x41\xa5\x83\x73\x58\x92\x83\x1a\xd4\x9d\xe7\x6e\x80\x2a\xe1\xbe\xb1\x74\x95\xb9\x0e\xe0\x7b\x87\xd1\x82\x21\x4f\x5b\xda\xda\x3f\xc8\xb4\xd4\x7f\x8d\xf1\x26\xd8\xdf\xd3\x44\xd6\x26\x2a\x51\x08\x10\x8d\x72\x62\x90\xe8\x95\x43\x59\x5a\xb7\xa3\x43\xc4\x4b\xde\x5c\xc8\x7c\x20\x31\x60\x6d\x9d\xb3\xfb\xcb\x77\x26\x8b\xbe\x03\x1f\x5c\x5f\x87\x9e\xa7\xfa\x34\xc2\xe7\xa4\x4f\xd3\x27\x7a\xca\x3e\x14\x64\xf3\xb3\xe1\x97\x22\xef\x97\x7e\xfd\xf4\xb8\xbc\x49\x3a\x1c\x3a\xa2\x45\x09\x99\x5b\xb8\xbf\x54\x34\xdf\x8e\x32\x00\xfd\x4b\x62\x19\xa5\xcb\xe3\xcf\xb9\xa8\x9d\xc9\x50\x16\x5a\x94\x8a\x1a\xdd\x5c\x7c\xfc\xd0\x5d\x0c\xc3\xc8\x6b\x92\x55\x1e\xf5\x73\xa3\x9f\x32\xc8\x6f\x98\xda\xdd\x3c\x3a\xe5\xce\x3a\xdf\xd6\xe5\x73\x03\x54\x6e\xff\x28\x6b\xaa\x9a\xcd\x9a\x8f\x8f\xa1\x13\x52\x62\x91\xf0\xfc\x7e\x9c\x3f\x83\x4d\xe9\x4a\x2b\x1f\x90\x9a\xa5\xfc\xbd\x4e\x80\x79\x28\x4b\x1d\xd8\xc4\xc9\x45\x56\x87\xad\xdd\x61\xd9\xcc\x14\x99\x47\x55\x87\x5a\xb6\xf8\x92\x0a\xa5\xcb\x64\x8e\x4f\xa3\x2b\x70\x38\x73\xd9\x8e\xdb\xa2\x03\x15\x45\x6e\x84\xe9\xc8\xe2\x81\x62\xf3\xc3\x87\xc5\x03\xb5\xb5\xc6\x86\x63\xd2\x8c\xa7\x9a\xc8\x9e\x2c\xe5\x4d\xfe\x63\xf1\x50\x88\x73\x0f\xdf\x3f\x13\x4d\x8e\x58\xc2\xbb\x92\xe9\xa3\x48\x1e\xdf\xeb\x90\xd3\x36\x7c\xf7\x1d\x8c\x21\xaf\x96\x51\xbe\x14\x27\x43\xb7\x12\xab\x39\xd7\xb7\x75\x9c\x55\xbd\x68\x91\x0c\x3d\x0d\x82\xc5\xc3\xd5\xc9\x95\xcc\x89\x49\xcb\x31\x15\x22\xd7\x8e\xf4\x34\x16\x8d\xd8\x7f\x70\xd1\x38\xdf\xe2\x0d\x18\x17\x5a\xbc\x69\x6c\x7c\x7d\x94\x24\xb6\xf8\xec\xe1\xff\x2d\x44\xf2\xfa\x6b\x1a\x22\x77\x85\x8b\x81\x67\x88\x44\x36\xc1\x7f\xe5\x9a\xc2\x3c\x13\x52\x8e\x69\x76\x24\xc4\x71\xba\x3a\xce\x36\xe9\x96\x1b\x76\x5b\x26\xc8\x51\xa1\xe5\x8c\xd4\xd1\xd8\x8f\xf2\xe9\x71\x49\x56\xf4\xa5\xf4\x09\x8e\xa6\xbc\xbb\x09\xfc\xdd\x50\x7f\x5d\x56\x8e\xee\xed\xc2\x97\x9b\x8e\x93\x8b\xa8\x07\x79\x5e\xb2\x23\x7f\xb0\x56\x7f\x9e\x8a\xf6\x3e\x49\x91\xa3\x26\x86\x09\x1b\x62\xab\x76\x34\x4b\x53\xf6\xa7\x02\xc7\xf7\xc7\xd9\x78\x1a\xac\x13\xbc\x77\x27\xbd\x63\x1d\x9b\x69\xec\xc8\xda\x87\x88\x97\x26\xf6\x51\x79\x83\xe0\x7a\x24\xec\x54\x45\x5f\xd6\x53\xf9\x63\x35\x47\xb9\xfe\x36\x2a\x7a\xcc\xc0\xf7\x71\x79\x59\xf6\x14\x51\x09\x53\x3b\x0c\x47\x2b\xe4\xf1\x78\xbb\xc6\xbc\x2e\x95\x79\x85\x5c\xb6\x36\x94\xf0\xf2\x16\xe2\x35\x84\x1d\x18\x76\x5f\xf2\xfb\xac\xd0\x78\x76\xbe\x37\x1d\xed\xb2\x9e\xcf\xb9\x30\x95\x67\x36\x5e\x1e\x59\xa0\x13\xa1\x19\x29\x7b\xe2\xb1\x4b\x24\x7a\x88\x38\xbf\x44\x98\x9f\x45\x68\x88\x45\xa3\x8f\x6f\xbf\x28\x42\xd7\xaf\xb5\xaa\xff\x5f\x09\x7e\x66\x94\x2c\xc0\xf0\xe9\xe8\xfe\x27\xeb\x5a\xa1\xf5\x01\xf6\x98\x56\x8b\xc3\xaa\x3a\x4d\x0d\x23\x5a\xa6\x4a\x31\x41\x10\xf9\xd7\x86\x1a\xa4\xe2\xd7\x84\x8b\xfb\x66\xee\xcc\xf2\xdc\x11\xfb\xc8\xb8\xad\xa3\x2e\x12\x0c\x92\xfc\xf4\x2e\x91\x9b\x37\xc8\x13\x58\x0f\xda\x9a\x2d\xa7\x9d\xb4\xb7\x8c\x6b\x9a\x61\xff\x2c\x22\xbc\xc3\xa9\x4a\xb5\x43\x11\xf0\xa7\xb6\x0b\x87\x91\xeb\xe3\x53\xce\x61\x48\x5f\x5d\xc8\x56\x10\x37\xbd\x31\xb4\x8f\x2b\xe8\x68\x97\x82\x87\xb8\xfe\xda\xc7\x86\xf4\x62\x92\x3b\x2b\xcc\x0d\xd7\xc3\xe1\xf3\xab\xcb\xe2\xbf\xd0\x6c\xc9\xb1\x54\x1a\xff\x96\x2a\x62\xbc\x49\x8e\xdd\x95\x4b\x21\x2b\xfc\x97\xab\x8b\x15\xe7\xa5\xe4\x1f\x73\xff\x69\xb2\x1f\x6f\xae\x06\xbf\x9f\x98\x92\x4f\xa5\x86\x22\x9d\x54\x12\x84\x73\xe2\xf0\x8a\xc2\x70\x76\x4d\x73\x6c\x34\x87\x67\x6c\x36\xea\xf8\xc6\xab\xef\xd8\x8c\xa5\xb4\x34\xf9\x15\x6b\x58\x25\x9f\x81\xca\x8d\xe0\xe5\x53\x9c\xf0\x75\x4b\x0e\x14\x7a\x2f\x0e\xf9\xe7\x13\x1a\xf0\x24\xfa\xa0\x8c\x98\x50\x6e\x04\x3e\xac\x96\xc9\x70\x45\xd2\x56\x79\xcf\x56\x8e\xcb\xcb\xfc\x4b\x49\x4c\x79\xd4\x43\x52\xd0\xae\x71\x68\x36\xcf\x61\x13\x62\x23\x9c\x8c\x33\x18\x25\x6f\x15\x97\x8b\x47\x5d\xe9\xf9\xbe\x68\xbc\x91\x60\x11\x8f\xbb\xa2\xf8\x30\x4d\xd2\xf6\xc5\x96\xa8\x9c\x7f\x45\x47\x74\x3c\x7b\xa7\x1f\x91\x5a\xdb\x9b\x5c\xfe\xe3\xb2\x69\x28\x35\xaf\x48\x98\x39\x98\xee\xa9\xd5\xaa\x5e\x7e\x3d\x4e\x63\x34\x21\xfd\x3e\x9e\x8b\xbe\x7a\x2c\xba\x10\xd9\x37\x31\xb4\x29\x9c\x8d\xd2\xb7\xf0\xe7\x9f\xf9\xd1\xdb\x71\x17\xac\xe4\xed\x3d\x9c\x1c\xa6\x7f\x57\x3f\x0a\x43\xdd\x47\x94\x8f\x63\xb6\x6c\x27\xe2\x60\x39\x34\xcc\x31\xbb\x4d\xb6\xeb\x65\x14\x68\x45\xa8\x9b\x12\xaf\x79\xd1\x9e\x7f\x4e\x96\x97\x52\x08\xbc\x3c\xf1\x7d\xae\xfe\x1b\x00\x00\xff\xff\xda\x9e\x9c\x04\xed\x1f\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -257,7 +257,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x86, 0x76, 0x73, 0xbe, 0x2, 0xac, 0x80, 0xd9, 0xd1, 0xe6, 0x1f, 0xe4, 0x94, 0x2d, 0xc8, 0xac, 0x28, 0x22, 0xd0, 0xf3, 0x1e, 0x47, 0xb3, 0x7e, 0x6f, 0xfb, 0xbe, 0x23, 0xb4, 0x3e, 0x7e, 0x6a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x22, 0x37, 0x39, 0xbc, 0xc2, 0x40, 0xa8, 0xff, 0xbc, 0xbc, 0x37, 0x3f, 0xf0, 0x1f, 0xf1, 0x6a, 0x6b, 0xcc, 0xa3, 0x58, 0xd2, 0x68, 0x7f, 0x6a, 0x18, 0xf9, 0x69, 0x8d, 0xb8, 0x72, 0x6f}}
 	return a, nil
 }
 
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index b1e48482..7ee545e3 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -3,7 +3,7 @@ module github.com/onflow/flow-ft/lib/go/test
 go 1.18
 
 require (
-	github.com/onflow/cadence v1.0.0-preview.1
+	github.com/onflow/cadence v1.0.0-preview.1.0.20231211223059-394691058b70
 	github.com/onflow/flow-emulator v0.54.1-0.20230919150501-db4da71c768b
 	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20230913160646-09adc7d3b513
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
@@ -67,6 +67,8 @@ require (
 	github.com/kevinburke/go-bindata v3.24.0+incompatible // indirect
 	github.com/klauspost/compress v1.16.5 // indirect
 	github.com/klauspost/cpuid/v2 v2.2.5 // indirect
+	github.com/kr/pretty v0.3.1 // indirect
+	github.com/kr/text v0.2.0 // indirect
 	github.com/libp2p/go-buffer-pool v0.1.0 // indirect
 	github.com/libp2p/go-libp2p v0.28.1 // indirect
 	github.com/logrusorgru/aurora v2.0.3+incompatible // indirect
@@ -107,6 +109,7 @@ require (
 	github.com/psiemens/sconfig v0.1.0 // indirect
 	github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
 	github.com/rivo/uniseg v0.4.4 // indirect
+	github.com/rogpeppe/go-internal v1.9.0 // indirect
 	github.com/sethvargo/go-retry v0.2.3 // indirect
 	github.com/slok/go-http-metrics v0.10.0 // indirect
 	github.com/spaolacci/murmur3 v1.1.0 // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 66f93cc0..1606b0f4 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -732,6 +732,7 @@ github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpx
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
+github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
@@ -878,6 +879,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
+github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU=
+github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48=
 github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
 github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -943,10 +946,13 @@ github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht
 github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
 github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
+github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
 github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
 github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
@@ -984,6 +990,7 @@ github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn
 github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
 github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
+github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
@@ -1062,6 +1069,8 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
 github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
 github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
 github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
 github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
@@ -1089,6 +1098,7 @@ github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXS
 github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
 github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
 github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
@@ -1101,6 +1111,8 @@ github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs
 github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230908213403-8f1134670ed0/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
 github.com/onflow/cadence v1.0.0-preview.1 h1:Y/q/43aDc93/1Atsxx3+e2V/dZiQuF1TqkXEVboA5pY=
 github.com/onflow/cadence v1.0.0-preview.1/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
+github.com/onflow/cadence v1.0.0-preview.1.0.20231211223059-394691058b70 h1:MOSvy30agrcUJzhY9Q3EHmSjvUtN3F2aIEBNjzsvWmg=
+github.com/onflow/cadence v1.0.0-preview.1.0.20231211223059-394691058b70/go.mod h1:60RhxKY5V4DXFQfvXQa48eZZVN19O7Lu9cp53FM54vo=
 github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230915224512-fa9343b5af21 h1:v6Orh4HCFzPr+z1WfC7WLHSfzH+hK3kJq1LQHgsTfJI=
 github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230915224512-fa9343b5af21/go.mod h1:jynQxJ+wcEZ5LilKDUIUWY6IOO+CSYhcggWleswq20Y=
 github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230915224512-fa9343b5af21 h1:kfVOhI/hpyJeqicjedYzFjCofOQgGwY0wYA9Rh7GPy4=
@@ -1291,6 +1303,7 @@ github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+
 github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY=
 github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
 github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k=
+github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM=
 github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees=
 github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
 github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
@@ -2048,6 +2061,7 @@ gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
+gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

From 22564b43846d5f446237eb31320e14d27616ef47 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 9 Jan 2024 17:12:27 -0600
Subject: [PATCH 071/115] add event args, global burn method, balance
 interface, and clean up tests

---
 .github/workflows/ci.yml                    |    4 +-
 .github/workflows/release.yml               |   31 -
 contracts/ExampleToken-v2.cdc               |  271 --
 contracts/ExampleToken.cdc                  |  331 +--
 contracts/FungibleToken-v2.cdc              |  201 --
 contracts/FungibleToken.cdc                 |  236 +-
 contracts/utility/NonFungibleToken.cdc      |    2 +-
 contracts/utility/ViewResolver.cdc          |    6 +-
 coverage.json                               | 2767 +++----------------
 flow.json                                   |   17 +-
 lib/go/contracts/contracts.go               |   27 +-
 lib/go/contracts/internal/assets/assets.go  |   70 +-
 lib/go/templates/forward_templates.go       |   48 +-
 lib/go/templates/go.mod                     |    7 +-
 lib/go/templates/go.sum                     |   11 +
 lib/go/templates/script_templates.go        |   13 +-
 lib/go/templates/templates.go               |  105 +-
 lib/go/templates/transaction_templates.go   |   90 +-
 lib/go/test/forwarding_test.go              |   38 +-
 lib/go/test/go.mod                          |   73 +-
 lib/go/test/go.sum                          |  334 ++-
 lib/go/test/test.go                         |   10 +-
 lib/go/test/token_test.go                   |  386 +--
 lib/go/test/token_test_helpers.go           |   94 +-
 tests/example_token_tests.cdc               |   60 +-
 tests/metadata_views_tests.cdc              |   70 +-
 tests/private_receiver_forwarder_tests.cdc  |  107 +-
 tests/scripts/get_supported_vault_types.cdc |    2 +-
 tests/scripts/get_token_metadata.cdc        |    1 +
 tests/scripts/get_unsupported_view.cdc      |    3 +-
 tests/scripts/get_vault_display.cdc         |    3 +-
 tests/scripts/get_views.cdc                 |    3 +-
 tests/switchboard_tests.cdc                 |    8 +-
 tests/test_helpers.cdc                      |   29 +-
 34 files changed, 1363 insertions(+), 4095 deletions(-)
 delete mode 100644 .github/workflows/release.yml
 delete mode 100644 contracts/ExampleToken-v2.cdc
 delete mode 100644 contracts/FungibleToken-v2.cdc

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6468c608..89bdb4a2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -11,7 +11,7 @@ jobs:
       - uses: actions/checkout@v2
       - uses: actions/setup-go@v2
         with:
-          go-version: '1.19.x'
+          go-version: '1.20.x'
       - uses: actions/cache@v1
         with:
           path: ~/go/pkg/mod
@@ -19,7 +19,7 @@ jobs:
           restore-keys: |
             ${{ runner.os }}-go-
       - name: Install Flow CLI
-        run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.5.0-stable-cadence.3
+        run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.9.2-stable-cadence.1
       - name: Flow CLI Version
         run: flow version
       - name: Update PATH
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
deleted file mode 100644
index bb6336eb..00000000
--- a/.github/workflows/release.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-name: "🚀 release"
-
-on:
-  push:
-    branches:
-      - master
-
-concurrency: ${{ github.workflow }}-${{ github.ref }}
-
-jobs:
-  release:
-    name: 🚀 release
-    runs-on: ubuntu-latest
-    steps:
-      - name: 📚 checkout
-        uses: actions/checkout@v2.4.2
-      - name: 🟢 node
-        uses: actions/setup-node@v3.2.0
-        with:
-          node-version: 15
-          registry-url: https://registry.npmjs.org
-      - name: Install Dependencies
-        run: npm i
-      - name: Create Release Pull Request or Publish to npm
-        id: changesets
-        uses: changesets/action@v1
-        with:
-          publish: npm run release
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/contracts/ExampleToken-v2.cdc b/contracts/ExampleToken-v2.cdc
deleted file mode 100644
index cd5e643e..00000000
--- a/contracts/ExampleToken-v2.cdc
+++ /dev/null
@@ -1,271 +0,0 @@
-import FungibleToken from "FungibleToken"
-import MetadataViews from "MetadataViews"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import ViewResolver from "ViewResolver"
-
-access(all) contract ExampleToken: ViewResolver {
-
-    /// The event that is emitted when new tokens are minted
-    access(all) event TokensMinted(amount: UFix64, type: String)
-
-    /// Total supply of ExampleTokens in existence
-    access(all) var totalSupply: UFix64
-
-    /// Admin Path
-    access(all) let AdminStoragePath: StoragePath
-
-    /// User Paths
-    access(all) let VaultStoragePath: StoragePath
-    access(all) let VaultPublicPath: PublicPath
-    access(all) let ReceiverPublicPath: PublicPath
-
-    /// Function to return the types that the contract implements
-    access(all) view fun getVaultTypes(): [Type] {
-        let typeArray: [Type] = [Type<@ExampleToken.Vault>()]
-        return typeArray
-    }
-
-    access(all) view fun getViews(): [Type] {
-        let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
-            ?? panic("Could not borrow a reference to the vault resolver")
-        
-        return vaultRef.getViews()
-    }
-
-    access(all) fun resolveView(_ view: Type): AnyStruct? {
-        let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
-            ?? panic("Could not borrow a reference to the vault resolver")
-        
-        return vaultRef.resolveView(view)
-    }
-
-    /// Vault
-    ///
-    /// Each user stores an instance of only the Vault in their storage
-    /// The functions in the Vault and governed by the pre and post conditions
-    /// in FungibleToken when they are called.
-    /// The checks happen at runtime whenever a function is called.
-    ///
-    /// Resources can only be created in the context of the contract that they
-    /// are defined in, so there is no way for a malicious user to create Vaults
-    /// out of thin air. A special Minter resource needs to be defined to mint
-    /// new tokens.
-    ///
-    access(all) resource Vault: FungibleToken.Vault {
-
-        /// The total balance of this vault
-        access(all) var balance: UFix64
-
-        access(self) var storagePath: StoragePath
-        access(self) var publicPath: PublicPath
-        access(self) var receiverPath: PublicPath
-
-        /// Returns the storage path where the vault should typically be stored
-        access(all) view fun getDefaultStoragePath(): StoragePath? {
-            return self.storagePath
-        }
-
-        /// Returns the public path where this vault should have a public capability
-        access(all) view fun getDefaultPublicPath(): PublicPath? {
-            return self.publicPath
-        }
-
-        /// Returns the public path where this vault's Receiver should have a public capability
-        access(all) view fun getDefaultReceiverPath(): PublicPath? {
-            return self.receiverPath
-        }
-
-        access(all) view fun getViews(): [Type] {
-            return [
-                Type<FungibleTokenMetadataViews.FTView>(),
-                Type<FungibleTokenMetadataViews.FTDisplay>(),
-                Type<FungibleTokenMetadataViews.FTVaultData>(),
-                Type<FungibleTokenMetadataViews.TotalSupply>()
-            ]
-        }
-
-        access(all) fun resolveView(_ view: Type): AnyStruct? {
-            switch view {
-                case Type<FungibleTokenMetadataViews.FTView>():
-                    return FungibleTokenMetadataViews.FTView(
-                        ftDisplay: self.resolveView(Type<FungibleTokenMetadataViews.FTDisplay>()) as! FungibleTokenMetadataViews.FTDisplay?,
-                        ftVaultData: self.resolveView(Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
-                    )
-                case Type<FungibleTokenMetadataViews.FTDisplay>():
-                    let media = MetadataViews.Media(
-                            file: MetadataViews.HTTPFile(
-                            url: "https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.svg"
-                        ),
-                        mediaType: "image/svg+xml"
-                    )
-                    let medias = MetadataViews.Medias([media])
-                    return FungibleTokenMetadataViews.FTDisplay(
-                        name: "Example Fungible Token",
-                        symbol: "EFT",
-                        description: "This fungible token is used as an example to help you develop your next FT #onFlow.",
-                        externalURL: MetadataViews.ExternalURL("https://example-ft.onflow.org"),
-                        logos: medias,
-                        socials: {
-                            "twitter": MetadataViews.ExternalURL("https://twitter.com/flow_blockchain")
-                        }
-                    )
-                case Type<FungibleTokenMetadataViews.FTVaultData>():
-                    let vaultRef = ExampleToken.account.storage.borrow<&ExampleToken.Vault>(from: self.storagePath)
-                        ?? panic("Could not borrow a reference to the stored vault")
-                    return FungibleTokenMetadataViews.FTVaultData(
-                        storagePath: self.storagePath,
-                        receiverPath: self.receiverPath,
-                        metadataPath: self.publicPath,
-                        providerPath: /private/exampleTokenVault,
-                        receiverLinkedType: Type<&{FungibleToken.Receiver}>(),
-                        metadataLinkedType: Type<&ExampleToken.Vault>(),
-                        providerLinkedType: Type<&ExampleToken.Vault>(),
-                        createEmptyVaultFunction: (fun(): @{FungibleToken.Vault} {
-                            return <-vaultRef.createEmptyVault()
-                        })
-                    )
-                case Type<FungibleTokenMetadataViews.TotalSupply>():
-                    return FungibleTokenMetadataViews.TotalSupply(
-                        totalSupply: ExampleToken.totalSupply
-                    )
-            }
-            return nil
-        }
-
-        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
-            let supportedTypes: {Type: Bool} = {}
-            supportedTypes[self.getType()] = true
-            return supportedTypes
-        }
-
-        access(all) view fun isSupportedVaultType(type: Type): Bool {
-            return self.getSupportedVaultTypes()[type] ?? false
-        }
-
-        // initialize the balance at resource creation time
-        init(balance: UFix64) {
-            self.balance = balance
-            let identifier = "exampleTokenVault"
-            self.storagePath = StoragePath(identifier: identifier)!
-            self.publicPath = PublicPath(identifier: identifier)!
-            self.receiverPath = PublicPath(identifier: "exampleTokenReceiver")!
-        }
-
-        /// Get the balance of the vault
-        access(all) view fun getBalance(): UFix64 {
-            return self.balance
-        }
-
-        /// withdraw
-        ///
-        /// Function that takes an amount as an argument
-        /// and withdraws that amount from the Vault.
-        ///
-        /// It creates a new temporary Vault that is used to hold
-        /// the tokens that are being transferred. It returns the newly
-        /// created Vault to the context that called so it can be deposited
-        /// elsewhere.
-        ///
-        access(FungibleToken.Withdrawable) fun withdraw(amount: UFix64): @ExampleToken.Vault {
-            self.balance = self.balance - amount
-            return <-create Vault(balance: amount)
-        }
-
-        /// deposit
-        ///
-        /// Function that takes a Vault object as an argument and adds
-        /// its balance to the balance of the owners Vault.
-        ///
-        /// It is allowed to destroy the sent Vault because the Vault
-        /// was a temporary holder of the tokens. The Vault's balance has
-        /// been consumed and therefore can be destroyed.
-        ///
-        access(all) fun deposit(from: @{FungibleToken.Vault}) {
-            let vault <- from as! @ExampleToken.Vault
-            self.balance = self.balance + vault.balance
-            vault.balance = 0.0
-            destroy vault
-        }
-
-        /// createEmptyVault
-        ///
-        /// Function that creates a new Vault with a balance of zero
-        /// and returns it to the calling context. A user must call this function
-        /// and store the returned Vault in their storage in order to allow their
-        /// account to be able to receive deposits of this token type.
-        ///
-        access(all) fun createEmptyVault(): @ExampleToken.Vault {
-            return <-create Vault(balance: 0.0)
-        }
-    }
-
-    /// Minter
-    ///
-    /// Resource object that token admin accounts can hold to mint new tokens.
-    ///
-    access(all) resource Minter {
-        /// mintTokens
-        ///
-        /// Function that mints new tokens, adds them to the total supply,
-        /// and returns them to the calling context.
-        ///
-        access(all) fun mintTokens(amount: UFix64): @ExampleToken.Vault {
-            ExampleToken.totalSupply = ExampleToken.totalSupply + amount
-            emit TokensMinted(amount: amount, type: self.getType().identifier)
-            return <-create Vault(balance: amount)
-        }
-    }
-
-    /// createEmptyVault
-    ///
-    /// Function that creates a new Vault with a balance of zero
-    /// and returns it to the calling context. A user must call this function
-    /// and store the returned Vault in their storage in order to allow their
-    /// account to be able to receive deposits of this token type.
-    ///
-    access(all) fun createEmptyVault(): @ExampleToken.Vault {
-        return <- create Vault(balance: 0.0)
-    }
-
-    /// Function that destroys a Vault instance, effectively burning the tokens.
-    ///
-    /// @param from: The Vault resource containing the tokens to burn
-    ///
-    // TODO: Revisit if removal of custom destructors passes
-    // Will need to add an update to total supply
-    // See https://github.com/onflow/flips/pull/131
-    access(all) fun burnTokens(from: @ExampleToken.Vault) {
-        if from.balance > 0.0 {
-                ExampleToken.totalSupply = ExampleToken.totalSupply - from.getBalance()
-        }
-        destroy from
-    }
-
-    init() {
-        self.totalSupply = 1000.0
-
-        self.AdminStoragePath = /storage/exampleTokenAdmin 
-
-        // Create the Vault with the total supply of tokens and save it in storage
-        //
-        let vault <- create Vault(balance: self.totalSupply)
-        self.VaultStoragePath = vault.getDefaultStoragePath()!
-        self.VaultPublicPath = vault.getDefaultPublicPath()!
-        self.ReceiverPublicPath = vault.getDefaultReceiverPath()!
-
-        self.account.storage.save(<-vault, to: self.VaultStoragePath)
-
-        // Create a public capability to the stored Vault that exposes
-        // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
-        // and the `getBalance()` method through the `Balance` interface
-        //
-        let exampleTokenCap = self.account.capabilities.storage.issue<&Vault>(self.VaultStoragePath)
-        self.account.capabilities.publish(exampleTokenCap, at: self.VaultPublicPath)
-        let receiverCap = self.account.capabilities.storage.issue<&{FungibleToken.Receiver}>(self.VaultStoragePath)
-        self.account.capabilities.publish(receiverCap, at: self.ReceiverPublicPath)
-
-        let admin <- create Minter()
-        self.account.storage.save(<-admin, to: self.AdminStoragePath)
-    }
-}
diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 5f9d3c35..ca9f244c 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -1,39 +1,46 @@
-import "FungibleToken"
-import "MetadataViews"
-import "FungibleTokenMetadataViews"
+import FungibleToken from "FungibleToken"
+import MetadataViews from "MetadataViews"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import ViewResolver from "ViewResolver"
 
-access(all) contract ExampleToken: FungibleToken {
+access(all) contract ExampleToken: ViewResolver {
+
+    /// The event that is emitted when new tokens are minted
+    access(all) event TokensMinted(amount: UFix64, type: String)
 
     /// Total supply of ExampleTokens in existence
     access(all) var totalSupply: UFix64
-    
-    /// Storage and Public Paths
+
+    /// Admin Path
+    access(all) let AdminStoragePath: StoragePath
+
+    /// User Paths
     access(all) let VaultStoragePath: StoragePath
     access(all) let VaultPublicPath: PublicPath
     access(all) let ReceiverPublicPath: PublicPath
-    access(all) let AdminStoragePath: StoragePath
-
-    /// The event that is emitted when the contract is created
-    access(all) event TokensInitialized(initialSupply: UFix64)
 
-    /// The event that is emitted when tokens are withdrawn from a Vault
-    access(all) event TokensWithdrawn(amount: UFix64, from: Address?)
-
-    /// The event that is emitted when tokens are deposited to a Vault
-    access(all) event TokensDeposited(amount: UFix64, to: Address?)
-
-    /// The event that is emitted when new tokens are minted
-    access(all) event TokensMinted(amount: UFix64)
-
-    /// The event that is emitted when tokens are destroyed
-    access(all) event TokensBurned(amount: UFix64)
+    /// Function to return the types that the contract implements
+    access(all) view fun getVaultTypes(): [Type] {
+        let typeArray: [Type] = [Type<@ExampleToken.Vault>()]
+        return typeArray
+    }
 
-    /// The event that is emitted when a new minter resource is created
-    access(all) event MinterCreated(allowedAmount: UFix64)
+    access(all) view fun getViews(): [Type] {
+        let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
+            ?? panic("Could not borrow a reference to the vault resolver")
+        
+        return vaultRef.getViews()
+    }
 
-    /// The event that is emitted when a new burner resource is created
-    access(all) event BurnerCreated()
+    access(all) fun resolveView(_ view: Type): AnyStruct? {
+        let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
+            ?? panic("Could not borrow a reference to the vault resolver")
+        
+        return vaultRef.resolveView(view)
+    }
 
+    /// Vault
+    ///
     /// Each user stores an instance of only the Vault in their storage
     /// The functions in the Vault and governed by the pre and post conditions
     /// in FungibleToken when they are called.
@@ -44,71 +51,39 @@ access(all) contract ExampleToken: FungibleToken {
     /// out of thin air. A special Minter resource needs to be defined to mint
     /// new tokens.
     ///
-    access(all) resource Vault: FungibleToken.Provider, FungibleToken.Receiver, FungibleToken.Balance, MetadataViews.Resolver {
+    access(all) resource Vault: FungibleToken.Vault {
 
         /// The total balance of this vault
         access(all) var balance: UFix64
 
-        /// Initialize the balance at resource creation time
-        init(balance: UFix64) {
-            self.balance = balance
-        }
+        access(self) var storagePath: StoragePath
+        access(self) var publicPath: PublicPath
+        access(self) var receiverPath: PublicPath
 
-        /// Function that takes an amount as an argument
-        /// and withdraws that amount from the Vault.
-        /// It creates a new temporary Vault that is used to hold
-        /// the money that is being transferred. It returns the newly
-        /// created Vault to the context that called so it can be deposited
-        /// elsewhere.
-        ///
-        /// @param amount: The amount of tokens to be withdrawn from the vault
-        /// @return The Vault resource containing the withdrawn funds
-        ///
-        access(FungibleToken.Withdrawable) fun withdraw(amount: UFix64): @FungibleToken.Vault {
-            self.balance = self.balance - amount
-            emit TokensWithdrawn(amount: amount, from: self.owner?.address)
-            return <-create Vault(balance: amount)
+        /// Returns the storage path where the vault should typically be stored
+        access(all) view fun getDefaultStoragePath(): StoragePath? {
+            return self.storagePath
         }
 
-        /// Function that takes a Vault object as an argument and adds
-        /// its balance to the balance of the owners Vault.
-        /// It is allowed to destroy the sent Vault because the Vault
-        /// was a temporary holder of the tokens. The Vault's balance has
-        /// been consumed and therefore can be destroyed.
-        ///
-        /// @param from: The Vault resource containing the funds that will be deposited
-        ///
-        access(all) fun deposit(from: @FungibleToken.Vault) {
-            let vault <- from as! @ExampleToken.Vault
-            self.balance = self.balance + vault.balance
-            emit TokensDeposited(amount: vault.balance, to: self.owner?.address)
-            vault.balance = 0.0
-            destroy vault
+        /// Returns the public path where this vault should have a public capability
+        access(all) view fun getDefaultPublicPath(): PublicPath? {
+            return self.publicPath
         }
 
-        destroy() {
-            if self.balance > 0.0 {
-                ExampleToken.totalSupply = ExampleToken.totalSupply - self.balance
-            }
+        /// Returns the public path where this vault's Receiver should have a public capability
+        access(all) view fun getDefaultReceiverPath(): PublicPath? {
+            return self.receiverPath
         }
 
-        /// The way of getting all the Metadata Views implemented by ExampleToken
-        ///
-        /// @return An array of Types defining the implemented views. This value will be used by
-        ///         developers to know which parameter to pass to the resolveView() method.
-        ///
-        access(all) view fun getViews(): [Type]{
-            return [Type<FungibleTokenMetadataViews.FTView>(),
-                    Type<FungibleTokenMetadataViews.FTDisplay>(),
-                    Type<FungibleTokenMetadataViews.FTVaultData>(),
-                    Type<FungibleTokenMetadataViews.TotalSupply>()]
+        access(all) view fun getViews(): [Type] {
+            return [
+                Type<FungibleTokenMetadataViews.FTView>(),
+                Type<FungibleTokenMetadataViews.FTDisplay>(),
+                Type<FungibleTokenMetadataViews.FTVaultData>(),
+                Type<FungibleTokenMetadataViews.TotalSupply>()
+            ]
         }
 
-        /// The way of getting a Metadata View out of the ExampleToken
-        ///
-        /// @param view: The Type of the desired view.
-        /// @return A structure representing the requested view.
-        ///
         access(all) fun resolveView(_ view: Type): AnyStruct? {
             switch view {
                 case Type<FungibleTokenMetadataViews.FTView>():
@@ -118,7 +93,7 @@ access(all) contract ExampleToken: FungibleToken {
                     )
                 case Type<FungibleTokenMetadataViews.FTDisplay>():
                     let media = MetadataViews.Media(
-                        file: MetadataViews.HTTPFile(
+                            file: MetadataViews.HTTPFile(
                             url: "https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.svg"
                         ),
                         mediaType: "image/svg+xml"
@@ -135,135 +110,161 @@ access(all) contract ExampleToken: FungibleToken {
                         }
                     )
                 case Type<FungibleTokenMetadataViews.FTVaultData>():
+                    let vaultRef = ExampleToken.account.storage.borrow<&ExampleToken.Vault>(from: self.storagePath)
+                        ?? panic("Could not borrow a reference to the stored vault")
                     return FungibleTokenMetadataViews.FTVaultData(
-                        storagePath: ExampleToken.VaultStoragePath,
-                        receiverPath: ExampleToken.ReceiverPublicPath,
-                        metadataPath: ExampleToken.VaultPublicPath,
+                        storagePath: self.storagePath,
+                        receiverPath: self.receiverPath,
+                        metadataPath: self.publicPath,
                         providerPath: /private/exampleTokenVault,
-                        receiverLinkedType: Type<&ExampleToken.Vault{FungibleToken.Receiver}>(),
-                        metadataLinkedType: Type<&ExampleToken.Vault{FungibleToken.Balance, MetadataViews.Resolver}>(),
-                        providerLinkedType: Type<&ExampleToken.Vault{FungibleToken.Provider}>(),
-                        createEmptyVaultFunction: (fun(): @ExampleToken.Vault {
-                            return <-ExampleToken.createEmptyVault()
+                        receiverLinkedType: Type<&{FungibleToken.Receiver}>(),
+                        metadataLinkedType: Type<&ExampleToken.Vault>(),
+                        providerLinkedType: Type<&ExampleToken.Vault>(),
+                        createEmptyVaultFunction: (fun(): @{FungibleToken.Vault} {
+                            return <-vaultRef.createEmptyVault()
                         })
                     )
                 case Type<FungibleTokenMetadataViews.TotalSupply>():
-                    return FungibleTokenMetadataViews.TotalSupply(totalSupply: ExampleToken.totalSupply)
+                    return FungibleTokenMetadataViews.TotalSupply(
+                        totalSupply: ExampleToken.totalSupply
+                    )
             }
             return nil
         }
-    }
 
-    /// Function that creates a new Vault with a balance of zero
-    /// and returns it to the calling context. A user must call this function
-    /// and store the returned Vault in their storage in order to allow their
-    /// account to be able to receive deposits of this token type.
-    ///
-    /// @return The new Vault resource
-    ///
-    access(all) fun createEmptyVault(): @Vault {
-        return <-create Vault(balance: 0.0)
-    }
+        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
+            let supportedTypes: {Type: Bool} = {}
+            supportedTypes[self.getType()] = true
+            return supportedTypes
+        }
 
-    access(all) resource Administrator {
+        access(all) view fun isSupportedVaultType(type: Type): Bool {
+            return self.getSupportedVaultTypes()[type] ?? false
+        }
+
+        // initialize the balance at resource creation time
+        init(balance: UFix64) {
+            self.balance = balance
+            let identifier = "exampleTokenVault"
+            self.storagePath = StoragePath(identifier: identifier)!
+            self.publicPath = PublicPath(identifier: identifier)!
+            self.receiverPath = PublicPath(identifier: "exampleTokenReceiver")!
+        }
+
+        /// Get the balance of the vault
+        access(all) view fun getBalance(): UFix64 {
+            return self.balance
+        }
+
+        /// withdraw
+        ///
+        /// Function that takes an amount as an argument
+        /// and withdraws that amount from the Vault.
+        ///
+        /// It creates a new temporary Vault that is used to hold
+        /// the tokens that are being transferred. It returns the newly
+        /// created Vault to the context that called so it can be deposited
+        /// elsewhere.
+        ///
+        access(FungibleToken.Withdrawable) fun withdraw(amount: UFix64): @ExampleToken.Vault {
+            self.balance = self.balance - amount
+            return <-create Vault(balance: amount)
+        }
 
-        /// Function that creates and returns a new minter resource
+        /// deposit
         ///
-        /// @param allowedAmount: The maximum quantity of tokens that the minter could create
-        /// @return The Minter resource that would allow to mint tokens
+        /// Function that takes a Vault object as an argument and adds
+        /// its balance to the balance of the owners Vault.
+        ///
+        /// It is allowed to destroy the sent Vault because the Vault
+        /// was a temporary holder of the tokens. The Vault's balance has
+        /// been consumed and therefore can be destroyed.
         ///
-        access(all) fun createNewMinter(allowedAmount: UFix64): @Minter {
-            emit MinterCreated(allowedAmount: allowedAmount)
-            return <-create Minter(allowedAmount: allowedAmount)
+        access(all) fun deposit(from: @{FungibleToken.Vault}) {
+            let vault <- from as! @ExampleToken.Vault
+            self.balance = self.balance + vault.balance
+            vault.balance = 0.0
+            destroy vault
         }
 
-        /// Function that creates and returns a new burner resource
+        /// createEmptyVault
         ///
-        /// @return The Burner resource
+        /// Function that creates a new Vault with a balance of zero
+        /// and returns it to the calling context. A user must call this function
+        /// and store the returned Vault in their storage in order to allow their
+        /// account to be able to receive deposits of this token type.
         ///
-        access(all) fun createNewBurner(): @Burner {
-            emit BurnerCreated()
-            return <-create Burner()
+        access(all) fun createEmptyVault(): @ExampleToken.Vault {
+            return <-create Vault(balance: 0.0)
         }
     }
 
+    /// Minter
+    ///
     /// Resource object that token admin accounts can hold to mint new tokens.
     ///
     access(all) resource Minter {
-
-        /// The amount of tokens that the minter is allowed to mint
-        access(all) var allowedAmount: UFix64
-
+        /// mintTokens
+        ///
         /// Function that mints new tokens, adds them to the total supply,
         /// and returns them to the calling context.
         ///
-        /// @param amount: The quantity of tokens to mint
-        /// @return The Vault resource containing the minted tokens
-        ///
         access(all) fun mintTokens(amount: UFix64): @ExampleToken.Vault {
-            pre {
-                amount > 0.0: "Amount minted must be greater than zero"
-                amount <= self.allowedAmount: "Amount minted must be less than the allowed amount"
-            }
             ExampleToken.totalSupply = ExampleToken.totalSupply + amount
-            self.allowedAmount = self.allowedAmount - amount
-            emit TokensMinted(amount: amount)
+            emit TokensMinted(amount: amount, type: self.getType().identifier)
             return <-create Vault(balance: amount)
         }
-
-        init(allowedAmount: UFix64) {
-            self.allowedAmount = allowedAmount
-        }
     }
 
-    /// Resource object that token admin accounts can hold to burn tokens.
+    /// createEmptyVault
+    ///
+    /// Function that creates a new Vault with a balance of zero
+    /// and returns it to the calling context. A user must call this function
+    /// and store the returned Vault in their storage in order to allow their
+    /// account to be able to receive deposits of this token type.
     ///
-    access(all) resource Burner {
+    access(all) fun createEmptyVault(): @ExampleToken.Vault {
+        return <- create Vault(balance: 0.0)
+    }
 
-        /// Function that destroys a Vault instance, effectively burning the tokens.
-        ///
-        /// Note: the burned tokens are automatically subtracted from the
-        /// total supply in the Vault destructor.
-        ///
-        /// @param from: The Vault resource containing the tokens to burn
-        ///
-        access(all) fun burnTokens(from: @FungibleToken.Vault) {
-            let vault <- from as! @ExampleToken.Vault
-            let amount = vault.balance
-            destroy vault
-            emit TokensBurned(amount: amount)
+    /// Function that destroys a Vault instance, effectively burning the tokens.
+    ///
+    /// @param from: The Vault resource containing the tokens to burn
+    ///
+    /// Will need to add an update to total supply
+    /// See https://github.com/onflow/flips/pull/131
+    access(all) fun burnTokens(from: @ExampleToken.Vault) {
+        if from.balance > 0.0 {
+            ExampleToken.totalSupply = ExampleToken.totalSupply - from.getBalance()
         }
+        FungibleToken.burn(<-from)
     }
 
     init() {
         self.totalSupply = 1000.0
-        self.VaultStoragePath = /storage/exampleTokenVault
-        self.VaultPublicPath = /public/exampleTokenMetadata
-        self.ReceiverPublicPath = /public/exampleTokenReceiver
-        self.AdminStoragePath = /storage/exampleTokenAdmin
 
-        // Create the Vault with the total supply of tokens and save it in storage.
+        self.AdminStoragePath = /storage/exampleTokenAdmin 
+
+        // Create the Vault with the total supply of tokens and save it in storage
+        //
         let vault <- create Vault(balance: self.totalSupply)
-        self.account.save(<-vault, to: self.VaultStoragePath)
+        self.VaultStoragePath = vault.getDefaultStoragePath()!
+        self.VaultPublicPath = vault.getDefaultPublicPath()!
+        self.ReceiverPublicPath = vault.getDefaultReceiverPath()!
+
+        self.account.storage.save(<-vault, to: self.VaultStoragePath)
 
         // Create a public capability to the stored Vault that exposes
-        // the `deposit` method through the `Receiver` interface.
-        self.account.link<&{FungibleToken.Receiver}>(
-            self.ReceiverPublicPath,
-            target: self.VaultStoragePath
-        )
-
-        // Create a public capability to the stored Vault that only exposes
-        // the `balance` field and the `resolveView` method through the `Balance` interface
-        self.account.link<&ExampleToken.Vault{FungibleToken.Balance}>(
-            self.VaultPublicPath,
-            target: self.VaultStoragePath
-        )
-
-        let admin <- create Administrator()
-        self.account.save(<-admin, to: self.AdminStoragePath)
-
-        // Emit an event that shows that the contract was initialized
-        emit TokensInitialized(initialSupply: self.totalSupply)
+        // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
+        // and the `getBalance()` method through the `Balance` interface
+        //
+        let exampleTokenCap = self.account.capabilities.storage.issue<&Vault>(self.VaultStoragePath)
+        self.account.capabilities.publish(exampleTokenCap, at: self.VaultPublicPath)
+        let receiverCap = self.account.capabilities.storage.issue<&{FungibleToken.Receiver}>(self.VaultStoragePath)
+        self.account.capabilities.publish(receiverCap, at: self.ReceiverPublicPath)
+
+        let admin <- create Minter()
+        self.account.storage.save(<-admin, to: self.AdminStoragePath)
     }
 }
diff --git a/contracts/FungibleToken-v2.cdc b/contracts/FungibleToken-v2.cdc
deleted file mode 100644
index 3703979d..00000000
--- a/contracts/FungibleToken-v2.cdc
+++ /dev/null
@@ -1,201 +0,0 @@
-/**
-
-# The Flow Fungible Token standard
-
-## `FungibleToken` contract
-
-The Fungible Token standard is no longer an interface
-that all fungible token contracts would have to conform to.
-
-If a users wants to deploy a new token contract, their contract
-does not need to implement the FungibleToken interface, but their tokens
-do need to implement the interfaces defined in this contract.
-
-## `Vault` resource interface
-
-Each fungible token resource type needs to implement the `Vault` resource interface.
-
-## `Provider`, `Receiver`, and `Balance` resource interfaces
-
-These interfaces declare pre-conditions and post-conditions that restrict
-the execution of the functions in the Vault.
-
-They are separate because it gives the user the ability to share
-a reference to their Vault that only exposes the fields functions
-in one or more of the interfaces.
-
-It also gives users the ability to make custom resources that implement
-these interfaces to do various things with the tokens.
-For example, a faucet can be implemented by conforming
-to the Provider interface.
-
-*/
-
-import ViewResolver from "ViewResolver"
-
-/// FungibleToken
-///
-/// Fungible Token implementations are no longer required to implement the fungible token
-/// interface. We still have it as an interface here because there are some useful
-/// utility methods that many projects will still want to have on their contracts,
-/// but they are by no means required. all that is required is that the token
-/// implements the `Vault` interface
-access(all) contract FungibleToken {
-
-    // An entitlement for allowing the withdrawal of tokens from a Vault
-    access(all) entitlement Withdrawable
-
-    /// The event that is emitted when tokens are withdrawn from a Vault
-    access(all) event Withdraw(amount: UFix64, from: Address?, type: String)
-
-    /// The event that is emitted when tokens are deposited to a Vault
-    access(all) event Deposit(amount: UFix64, to: Address?, type: String)
-
-    /// Provider
-    ///
-    /// The interface that enforces the requirements for withdrawing
-    /// tokens from the implementing type.
-    ///
-    /// It does not enforce requirements on `balance` here,
-    /// because it leaves open the possibility of creating custom providers
-    /// that do not necessarily need their own balance.
-    ///
-    access(all) resource interface Provider {
-
-        /// withdraw subtracts tokens from the owner's Vault
-        /// and returns a Vault with the removed tokens.
-        ///
-        /// The function's access level is public, but this is not a problem
-        /// because only the owner storing the resource in their account
-        /// can initially call this function.
-        ///
-        /// The owner may grant other accounts access by creating a private
-        /// capability that allows specific other users to access
-        /// the provider resource through a reference.
-        ///
-        /// The owner may also grant all accounts access by creating a public
-        /// capability that allows all users to access the provider
-        /// resource through a reference.
-        ///
-        access(Withdrawable) fun withdraw(amount: UFix64): @{Vault} {
-            post {
-                // `result` refers to the return value
-                result.getBalance() == amount:
-                    "Withdrawal amount must be the same as the balance of the withdrawn Vault"
-                emit Withdraw(amount: amount, from: self.owner?.address, type: self.getType().identifier)
-            }
-        }
-    }
-
-    /// Receiver
-    ///
-    /// The interface that enforces the requirements for depositing
-    /// tokens into the implementing type.
-    ///
-    /// We do not include a condition that checks the balance because
-    /// we want to give users the ability to make custom receivers that
-    /// can do custom things with the tokens, like split them up and
-    /// send them to different places.
-    ///
-    access(all) resource interface Receiver {
-
-        /// deposit takes a Vault and deposits it into the implementing resource type
-        ///
-        access(all) fun deposit(from: @{Vault})
-
-        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
-            pre { true: "dummy" }
-        }
-
-        /// Returns whether or not the given type is accepted by the Receiver
-        /// A vault that can accept any type should just return true by default
-        access(all) view fun isSupportedVaultType(type: Type): Bool {
-            pre { true: "dummy" }
-        }
-    }
-
-    /// Vault
-    ///
-    /// Ideally, this interface would also conform to Receiver, Balance, Transferor, Provider, and Resolver
-    /// but that is not supported yet
-    ///
-    access(all) resource interface Vault: Receiver, Provider, ViewResolver.Resolver {
-
-        //access(all) event ResourceDestroyed(balance: UFix64 = self.getBalance(), type: Type = self.getType().identifier)
-
-        /// Get the balance of the vault
-        access(all) view fun getBalance(): UFix64
-
-        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
-        access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
-            // Below check is implemented to make sure that run-time type would
-            // only get returned when the parent resource conforms with `FungibleToken.Vault`. 
-            if self.getType().isSubtype(of: Type<@{FungibleToken.Vault}>()) {
-                return {self.getType(): true}
-            } else {
-                // Return an empty dictionary as the default value for resource who don't
-                // implement `FungibleToken.Vault`, such as `FungibleTokenSwitchboard`, `TokenForwarder` etc.
-                return {}
-            }
-        }
-
-        access(all) view fun isSupportedVaultType(type: Type): Bool {
-            return self.getSupportedVaultTypes()[type] ?? false
-        }
-
-        /// Returns the storage path where the vault should typically be stored
-        access(all) view fun getDefaultStoragePath(): StoragePath?
-
-        /// Returns the public path where this vault should have a public capability
-        access(all) view fun getDefaultPublicPath(): PublicPath?
-
-        /// Returns the public path where this vault's Receiver should have a public capability
-        /// Publishing a Receiver Capability at a different path enables alternate Receiver implementations to be used
-        /// in the same canonical namespace as the underlying Vault.
-        access(all) view fun getDefaultReceiverPath(): PublicPath? {
-            return nil
-        }
-
-        /// withdraw subtracts `amount` from the Vault's balance
-        /// and returns a new Vault with the subtracted balance
-        ///
-        access(Withdrawable) fun withdraw(amount: UFix64): @{Vault} {
-            pre {
-                self.getBalance() >= amount:
-                    "Amount withdrawn must be less than or equal than the balance of the Vault"
-            }
-            post {
-                // use the special function `before` to get the value of the `balance` field
-                // at the beginning of the function execution
-                //
-                self.getBalance() == before(self.getBalance()) - amount:
-                    "New Vault balance must be the difference of the previous balance and the withdrawn Vault balance"
-            }
-        }
-
-        /// deposit takes a Vault and adds its balance to the balance of this Vault
-        ///
-        access(all) fun deposit(from: @{FungibleToken.Vault}) {
-            // Assert that the concrete type of the deposited vault is the same
-            // as the vault that is accepting the deposit
-            pre {
-                from.isInstance(self.getType()): 
-                    "Cannot deposit an incompatible token type"
-                emit Deposit(amount: from.getBalance(), to: self.owner?.address, type: from.getType().identifier)
-            }
-            post {
-                self.getBalance() == before(self.getBalance()) + before(from.getBalance()):
-                    "New Vault balance must be the sum of the previous balance and the deposited Vault"
-            }
-        }
-
-        /// createEmptyVault allows any user to create a new Vault that has a zero balance
-        ///
-        access(all) fun createEmptyVault(): @{Vault} {
-            post {
-                result.getBalance() == 0.0: "The newly created Vault must have zero balance"
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index dd85bc4d..8a150af3 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -2,21 +2,18 @@
 
 # The Flow Fungible Token standard
 
-## `FungibleToken` contract interface
+## `FungibleToken` contract
 
-The interface that all Fungible Token contracts would have to conform to.
-If a users wants to deploy a new token contract, their contract
-would need to implement the FungibleToken interface.
-
-Their contract would have to follow all the rules and naming
-that the interface specifies.
+The Fungible Token standard is no longer an interface
+that all fungible token contracts would have to conform to.
 
-## `Vault` resource
+If a users wants to deploy a new token contract, their contract
+does not need to implement the FungibleToken interface, but their tokens
+do need to implement the interfaces defined in this contract.
 
-Each account that owns tokens would need to have an instance
-of the Vault resource stored in their account storage.
+## `Vault` resource interface
 
-The Vault resource has methods that the owner and other users can call.
+Each fungible token resource type needs to implement the `Vault` resource interface.
 
 ## `Provider`, `Receiver`, and `Balance` resource interfaces
 
@@ -32,35 +29,43 @@ these interfaces to do various things with the tokens.
 For example, a faucet can be implemented by conforming
 to the Provider interface.
 
-By using resources and interfaces, users of Fungible Token contracts
-can send and receive tokens peer-to-peer, without having to interact
-with a central ledger smart contract. To send tokens to another user,
-a user would simply withdraw the tokens from their Vault, then call
-the deposit function on another user's Vault to complete the transfer.
-
 */
 
-/// The interface that Fungible Token contracts implement.
+import ViewResolver from "ViewResolver"
+
+/// FungibleToken
 ///
-access(all) contract interface FungibleToken {
+/// Fungible Token implementations are no longer required to implement the fungible token
+/// interface. We still have it as an interface here because there are some useful
+/// utility methods that many projects will still want to have on their contracts,
+/// but they are by no means required. all that is required is that the token
+/// implements the `Vault` interface
+access(all) contract FungibleToken {
 
     // An entitlement for allowing the withdrawal of tokens from a Vault
     access(all) entitlement Withdrawable
 
-    /// The total number of tokens in existence.
-    /// It is up to the implementer to ensure that the total supply
-    /// stays accurate and up to date
-    access(all) var totalSupply: UFix64
+    /// The event that is emitted when tokens are withdrawn from a Vault
+    access(all) event Withdraw(amount: UFix64, type: String, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64)
 
-    /// The event that is emitted when the contract is created
-    access(all) event TokensInitialized(initialSupply: UFix64)
+    /// The event that is emitted when tokens are deposited to a Vault
+    access(all) event Deposit(amount: UFix64, type: String, to: Address?, toUUID: UInt64, depositedUUID: UInt64)
 
-    /// The event that is emitted when tokens are withdrawn from a Vault
-    access(all) event TokensWithdrawn(amount: UFix64, from: Address?)
+    /// Event that is emitted when the global burn method is called with a non-zero balance
+    access(all) event Burn(amount: UFix64, type: String, fromUUID: UInt64)
 
-    /// The event that is emitted when tokens are deposited into a Vault
-    access(all) event TokensDeposited(amount: UFix64, to: Address?)
+    /// Balance
+    ///
+    /// The interface that provides standard functions\
+    /// for getting balance information
+    ///
+    access(all) resource interface Balance {
+        /// Get the balance of the vault
+        access(all) view fun getBalance(): UFix64
+    }
 
+    /// Provider
+    ///
     /// The interface that enforces the requirements for withdrawing
     /// tokens from the implementing type.
     ///
@@ -70,33 +75,25 @@ access(all) contract interface FungibleToken {
     ///
     access(all) resource interface Provider {
 
-        /// Subtracts tokens from the owner's Vault
+        /// withdraw subtracts tokens from the implementing resource
         /// and returns a Vault with the removed tokens.
         ///
-        /// The function's access level is public, but this is not a problem
-        /// because only the owner storing the resource in their account
-        /// can initially call this function.
+        /// The function's access level is `access(Withdrawable)`
+        /// So in order to access it, one would either need the object itself
+        /// or an entitled reference with `Withdrawable`.
         ///
-        /// The owner may grant other accounts access by creating a private
-        /// capability that allows specific other users to access
-        /// the provider resource through a reference.
-        ///
-        /// The owner may also grant all accounts access by creating a public
-        /// capability that allows all users to access the provider
-        /// resource through a reference.
-        ///
-        /// @param amount: The amount of tokens to be withdrawn from the vault
-        /// @return The Vault resource containing the withdrawn funds
-        /// 
-        access(Withdrawable) fun withdraw(amount: UFix64): @Vault {
+        access(Withdrawable) fun withdraw(amount: UFix64): @{Vault} {
             post {
                 // `result` refers to the return value
-                result.balance == amount:
+                result.getBalance() == amount:
                     "Withdrawal amount must be the same as the balance of the withdrawn Vault"
+                emit Withdraw(amount: amount, type: self.getType().identifier, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
             }
         }
     }
 
+    /// Receiver
+    ///
     /// The interface that enforces the requirements for depositing
     /// tokens into the implementing type.
     ///
@@ -107,28 +104,36 @@ access(all) contract interface FungibleToken {
     ///
     access(all) resource interface Receiver {
 
-        /// Takes a Vault and deposits it into the implementing resource type
+        /// deposit takes a Vault and deposits it into the implementing resource type
         ///
-        /// @param from: The Vault resource containing the funds that will be deposited
-        ///
-        access(all) fun deposit(from: @Vault)
-
-        /// Below is referenced from the FLIP #69 https://github.com/onflow/flips/blob/main/flips/20230206-fungible-token-vault-type-discovery.md
-        /// 
-        /// Returns the dictionary of Vault types that the the receiver is able to accept in its `deposit` method
-        /// this then it would return `{Type<@FlowToken.Vault>(): true}` and if any custom receiver
-        /// uses the default implementation then it would return empty dictionary as its parent
-        /// resource doesn't conform with the `FungibleToken.Vault` resource.
-        ///
-        /// Custom receiver implementations are expected to upgrade their contracts to add an implementation
-        /// that supports this method because it is very valuable for various applications to have.
-        ///
-        /// @return dictionary of supported deposit vault types by the implementing resource.
-        /// 
+        access(all) fun deposit(from: @{Vault})
+
+        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
+        access(all) view fun getSupportedVaultTypes(): {Type: Bool}
+
+        /// Returns whether or not the given type is accepted by the Receiver
+        /// A vault that can accept any type should just return true by default
+        access(all) view fun isSupportedVaultType(type: Type): Bool
+    }
+
+    /// Vault
+    ///
+    /// Ideally, this interface would also conform to Receiver, Balance, Transferor, Provider, and Resolver
+    /// but that is not supported yet
+    ///
+    access(all) resource interface Vault: Receiver, Provider, Balance, ViewResolver.Resolver {
+
+        /// Field that tracks the balance of a vault
+        access(all) var balance: UFix64
+
+        /// Get the balance of the vault
+        access(all) view fun getBalance(): UFix64
+
+        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
         access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
             // Below check is implemented to make sure that run-time type would
             // only get returned when the parent resource conforms with `FungibleToken.Vault`. 
-            if self.getType().isSubtype(of: Type<@FungibleToken.Vault>()) {
+            if self.getType().isSubtype(of: Type<@{FungibleToken.Vault}>()) {
                 return {self.getType(): true}
             } else {
                 // Return an empty dictionary as the default value for resource who don't
@@ -136,105 +141,72 @@ access(all) contract interface FungibleToken {
                 return {}
             }
         }
-    }
 
-    /// The interface that contains the `balance` field of the Vault
-    /// and enforces that when new Vaults are created, the balance
-    /// is initialized correctly.
-    ///
-    access(all) resource interface Balance {
-
-        /// The total balance of a vault
-        ///
-        access(all) var balance: UFix64
-
-        init(balance: UFix64) {
-            post {
-                self.balance == balance:
-                    "Balance must be initialized to the initial balance"
-            }
+        /// Checks if the given type is supported by this Vault
+        access(all) view fun isSupportedVaultType(type: Type): Bool {
+            return self.getSupportedVaultTypes()[type] ?? false
         }
 
-        /// Function that returns all the Metadata Views implemented by a Fungible Token
-        ///
-        /// @return An array of Types defining the implemented views. This value will be used by
-        ///         developers to know which parameter to pass to the resolveView() method.
-        ///
-        access(all) view fun getViews(): [Type] {
-            return []
-        }
+        /// Returns the storage path where the vault should typically be stored
+        access(all) view fun getDefaultStoragePath(): StoragePath?
 
-        /// Function that resolves a metadata view for this fungible token by type.
-        ///
-        /// @param view: The Type of the desired view.
-        /// @return A structure representing the requested view.
-        ///
-        access(all) fun resolveView(_ view: Type): AnyStruct? {
+        /// Returns the public path where this vault should have a public capability
+        access(all) view fun getDefaultPublicPath(): PublicPath?
+
+        /// Returns the public path where this vault's Receiver should have a public capability
+        /// Publishing a Receiver Capability at a different path enables alternate Receiver implementations to be used
+        /// in the same canonical namespace as the underlying Vault.
+        access(all) view fun getDefaultReceiverPath(): PublicPath? {
             return nil
         }
-    }
 
-    /// The resource that contains the functions to send and receive tokens.
-    /// The declaration of a concrete type in a contract interface means that
-    /// every Fungible Token contract that implements the FungibleToken interface
-    /// must define a concrete `Vault` resource that conforms to the `Provider`, `Receiver`,
-    /// and `Balance` interfaces, and declares their required fields and functions
-    ///
-    access(all) resource Vault: Provider, Receiver, Balance {
-
-        /// The total balance of the vault
-        access(all) var balance: UFix64
-
-        // The conforming type must declare an initializer
-        // that allows providing the initial balance of the Vault
-        //
-        init(balance: UFix64)
-
-        /// Subtracts `amount` from the Vault's balance
+        /// withdraw subtracts `amount` from the Vault's balance
         /// and returns a new Vault with the subtracted balance
         ///
-        /// @param amount: The amount of tokens to be withdrawn from the vault
-        /// @return The Vault resource containing the withdrawn funds
-        ///
-        access(Withdrawable) fun withdraw(amount: UFix64): @Vault {
+        access(Withdrawable) fun withdraw(amount: UFix64): @{Vault} {
             pre {
-                self.balance >= amount:
+                self.getBalance() >= amount:
                     "Amount withdrawn must be less than or equal than the balance of the Vault"
             }
             post {
                 // use the special function `before` to get the value of the `balance` field
                 // at the beginning of the function execution
                 //
-                self.balance == before(self.balance) - amount:
-                    "New Vault balance must be the difference of the previous balance and the withdrawn Vault"
+                self.getBalance() == before(self.getBalance()) - amount:
+                    "New Vault balance must be the difference of the previous balance and the withdrawn Vault balance"
             }
         }
 
-        /// Takes a Vault and deposits it into the implementing resource type
-        ///
-        /// @param from: The Vault resource containing the funds that will be deposited
+        /// deposit takes a Vault and adds its balance to the balance of this Vault
         ///
-        access(all) fun deposit(from: @Vault) {
+        access(all) fun deposit(from: @{FungibleToken.Vault}) {
             // Assert that the concrete type of the deposited vault is the same
             // as the vault that is accepting the deposit
             pre {
                 from.isInstance(self.getType()): 
                     "Cannot deposit an incompatible token type"
+                emit Deposit(amount: from.getBalance(), type: from.getType().identifier, to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
             }
             post {
-                self.balance == before(self.balance) + before(from.balance):
+                self.getBalance() == before(self.getBalance()) + before(from.getBalance()):
                     "New Vault balance must be the sum of the previous balance and the deposited Vault"
             }
         }
+
+        /// createEmptyVault allows any user to create a new Vault that has a zero balance
+        ///
+        access(all) fun createEmptyVault(): @{Vault} {
+            post {
+                result.getBalance() == 0.0: "The newly created Vault must have zero balance"
+            }
+        }
     }
 
-    /// Allows any user to create a new Vault that has a zero balance
-    ///
-    /// @return The new Vault resource
-    ///
-    access(all) fun createEmptyVault(): @Vault {
-        post {
-            result.balance == 0.0: "The newly created Vault must have zero balance"
+    /// Global method to burn any FungibleToken Vault
+    access(all) fun burn(_ vault: @{FungibleToken.Vault}) {
+        if vault.balance > 0.0 {
+            emit Burn(amount: vault.balance, type: vault.getType().identifier, fromUUID: vault.uuid)
         }
+        destroy vault
     }
-}
+}
\ No newline at end of file
diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index f2b8fb7c..67049c63 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -90,7 +90,7 @@ access(all) contract NonFungibleToken {
         /// The unique ID that each NFT has
         access(all) view fun getID(): UInt64
 
-        // access(all) event ResourceDestroyed(uuid: UInt64 = self.uuid, type: Type = self.getType().identifier)
+        // access(all) event ResourceDestroyed(uuid: UInt64 = self.uuid, type: self.getType().identifier)
 
         /// Get a reference to an NFT that this NFT owns
         /// Both arguments are optional to allow the NFT to choose
diff --git a/contracts/utility/ViewResolver.cdc b/contracts/utility/ViewResolver.cdc
index d84467a0..e1a02661 100644
--- a/contracts/utility/ViewResolver.cdc
+++ b/contracts/utility/ViewResolver.cdc
@@ -39,10 +39,8 @@ access(all) contract interface ViewResolver {
     ///
     access(all) resource interface ResolverCollection {
         access(all) view fun borrowViewResolver(id: UInt64): &{Resolver}? {
-            pre { true: "dummy" }
-        }
-        access(all) view fun getIDs(): [UInt64] {
-            pre { true: "dummy" }
+            return nil
         }
+        access(all) view fun getIDs(): [UInt64]
     }
 }
diff --git a/coverage.json b/coverage.json
index abf31285..fc4f27d4 100644
--- a/coverage.json
+++ b/coverage.json
@@ -1,19 +1,272 @@
 {
   "coverage": {
-<<<<<<< HEAD
-    "A.0000000000000001.MetadataViews": {
-=======
     "A.0000000000000007.ExampleToken": {
->>>>>>> master
+      "line_hits": {
+        "101": 4,
+        "102": 4,
+        "113": 3,
+        "115": 3,
+        "124": 2,
+        "128": 0,
+        "132": 1,
+        "137": 0,
+        "138": 0,
+        "139": 0,
+        "143": 0,
+        "148": 20,
+        "149": 20,
+        "150": 20,
+        "151": 20,
+        "152": 20,
+        "157": 72,
+        "171": 7,
+        "172": 7,
+        "185": 6,
+        "186": 6,
+        "187": 6,
+        "188": 6,
+        "199": 2,
+        "214": 1,
+        "215": 1,
+        "216": 1,
+        "228": 6,
+        "238": 1,
+        "239": 1,
+        "24": 0,
+        "241": 1,
+        "245": 4,
+        "247": 4,
+        "25": 0,
+        "251": 4,
+        "252": 4,
+        "253": 4,
+        "254": 4,
+        "256": 4,
+        "262": 4,
+        "263": 4,
+        "264": 4,
+        "265": 4,
+        "267": 4,
+        "268": 4,
+        "29": 0,
+        "32": 0,
+        "36": 0,
+        "39": 0,
+        "65": 4,
+        "70": 4,
+        "75": 4,
+        "79": 1,
+        "88": 10,
+        "90": 2,
+        "95": 4
+      },
+      "missed_lines": [
+        24,
+        25,
+        29,
+        32,
+        36,
+        39,
+        128,
+        137,
+        138,
+        139,
+        143
+      ],
+      "statements": 57,
+      "percentage": "80.7%"
+    },
+    "A.0000000000000007.FungibleToken": {
+      "line_hits": {
+        "136": 0,
+        "137": 0,
+        "141": 0,
+        "147": 0,
+        "160": 0,
+        "168": 8,
+        "175": 15,
+        "186": 6,
+        "188": 6,
+        "191": 18,
+        "200": 2,
+        "207": 1,
+        "208": 1,
+        "210": 1,
+        "88": 7,
+        "90": 7
+      },
+      "missed_lines": [
+        136,
+        137,
+        141,
+        147,
+        160
+      ],
+      "statements": 16,
+      "percentage": "68.8%"
+    },
+    "A.0000000000000007.FungibleTokenMetadataViews": {
+      "line_hits": {
+        "102": 2,
+        "103": 2,
+        "104": 2,
+        "107": 0,
+        "155": 3,
+        "156": 3,
+        "157": 3,
+        "159": 3,
+        "160": 3,
+        "161": 3,
+        "162": 3,
+        "163": 3,
+        "164": 3,
+        "165": 3,
+        "166": 3,
+        "176": 1,
+        "177": 1,
+        "178": 1,
+        "181": 0,
+        "189": 0,
+        "27": 2,
+        "28": 2,
+        "38": 2,
+        "39": 2,
+        "40": 2,
+        "42": 0,
+        "87": 5,
+        "88": 5,
+        "89": 5,
+        "90": 5,
+        "91": 5,
+        "92": 5
+      },
+      "missed_lines": [
+        42,
+        107,
+        181,
+        189
+      ],
+      "statements": 32,
+      "percentage": "87.5%"
+    },
+    "A.0000000000000007.FungibleTokenSwitchboard": {
+      "line_hits": {
+        "102": 0,
+        "104": 0,
+        "107": 0,
+        "110": 0,
+        "138": 0,
+        "140": 0,
+        "143": 0,
+        "164": 1,
+        "167": 1,
+        "168": 1,
+        "172": 1,
+        "174": 1,
+        "176": 1,
+        "195": 1,
+        "198": 1,
+        "201": 1,
+        "215": 4,
+        "219": 3,
+        "222": 3,
+        "239": 0,
+        "242": 0,
+        "244": 0,
+        "248": 0,
+        "249": 0,
+        "254": 0,
+        "256": 0,
+        "257": 0,
+        "266": 1,
+        "267": 0,
+        "270": 1,
+        "282": 1,
+        "283": 0,
+        "286": 1,
+        "297": 0,
+        "298": 0,
+        "299": 0,
+        "300": 0,
+        "303": 0,
+        "314": 0,
+        "316": 0,
+        "317": 0,
+        "319": 0,
+        "322": 0,
+        "330": 4,
+        "331": 4,
+        "332": 2,
+        "333": 2,
+        "336": 4,
+        "342": 0,
+        "343": 0,
+        "344": 0,
+        "345": 0,
+        "350": 1,
+        "359": 1,
+        "363": 1,
+        "364": 1,
+        "365": 1,
+        "68": 1,
+        "71": 1,
+        "74": 1,
+        "77": 1,
+        "82": 0,
+        "94": 0,
+        "97": 0,
+        "98": 0
+      },
+      "missed_lines": [
+        82,
+        94,
+        97,
+        98,
+        102,
+        104,
+        107,
+        110,
+        138,
+        140,
+        143,
+        239,
+        242,
+        244,
+        248,
+        249,
+        254,
+        256,
+        257,
+        267,
+        283,
+        297,
+        298,
+        299,
+        300,
+        303,
+        314,
+        316,
+        317,
+        319,
+        322,
+        342,
+        343,
+        344,
+        345
+      ],
+      "statements": 65,
+      "percentage": "46.2%"
+    },
+    "A.0000000000000007.MetadataViews": {
       "line_hits": {
         "111": 0,
         "112": 0,
         "121": 0,
         "122": 0,
         "125": 0,
-        "143": 4,
-        "144": 4,
-        "156": 4,
+        "143": 5,
+        "144": 5,
+        "156": 5,
         "166": 0,
         "167": 0,
         "168": 0,
@@ -23,7 +276,7 @@
         "192": 0,
         "193": 0,
         "196": 0,
-        "208": 8,
+        "208": 10,
         "218": 0,
         "219": 0,
         "220": 0,
@@ -127,8 +380,8 @@
         "716": 0,
         "717": 0,
         "720": 0,
-        "81": 4,
-        "85": 0
+        "81": 5,
+        "85": 3
       },
       "missed_lines": [
         48,
@@ -138,7 +391,6 @@
         61,
         62,
         65,
-        85,
         111,
         112,
         121,
@@ -251,2447 +503,96 @@
         720
       ],
       "statements": 123,
-      "percentage": "4.1%"
+      "percentage": "4.9%"
     },
-    "A.0000000000000002.FungibleTokenMetadataViews": {
+    "A.0000000000000007.PrivateReceiverForwarder": {
+      "line_hits": {
+        "35": 1,
+        "37": 1,
+        "39": 1,
+        "41": 1,
+        "46": 2,
+        "48": 2,
+        "55": 2,
+        "62": 1,
+        "64": 1,
+        "68": 1,
+        "75": 1,
+        "77": 1,
+        "78": 1,
+        "80": 1
+      },
+      "missed_lines": [],
+      "statements": 14,
+      "percentage": "100.0%"
+    },
+    "A.0000000000000007.TokenForwarding": {
       "line_hits": {
-        "102": 0,
         "103": 0,
         "104": 0,
-        "107": 0,
-        "155": 4,
-        "156": 4,
-        "157": 4,
-        "159": 4,
-        "160": 4,
-        "161": 4,
-        "162": 4,
-        "163": 4,
-        "164": 4,
-        "165": 4,
-        "166": 4,
-        "176": 0,
-        "177": 0,
-        "178": 0,
-        "181": 0,
-        "189": 0,
-        "27": 4,
-        "28": 4,
-        "38": 0,
-        "39": 0,
-        "40": 0,
-        "42": 0,
-        "87": 4,
-        "88": 4,
-        "89": 4,
-        "90": 4,
-        "91": 4,
-        "92": 4
+        "105": 0,
+        "106": 0,
+        "111": 1,
+        "113": 1,
+        "120": 1,
+        "52": 1,
+        "54": 1,
+        "56": 1,
+        "58": 1,
+        "64": 0,
+        "74": 0,
+        "81": 0,
+        "83": 0,
+        "91": 0,
+        "92": 0,
+        "94": 0,
+        "95": 0,
+        "96": 0,
+        "97": 0
       },
       "missed_lines": [
-        38,
-        39,
-        40,
-        42,
-        102,
+        64,
+        74,
+        81,
+        83,
+        91,
+        92,
+        94,
+        95,
+        96,
+        97,
         103,
         104,
-        107,
-        176,
-        177,
-        178,
-        181,
-        189
+        105,
+        106
       ],
-      "statements": 32,
-      "percentage": "59.4%"
-    },
-    "A.0000000000000005.ExampleToken": {
-      "line_hits": {
-        "101": 2,
-        "102": 2,
-        "113": 2,
-        "115": 2,
-        "124": 1,
-        "128": 0,
-        "132": 1,
-        "137": 0,
-        "138": 0,
-        "139": 0,
-        "143": 0,
-        "148": 12,
-        "149": 12,
-        "150": 12,
-        "151": 12,
-        "152": 12,
-        "157": 48,
-        "171": 6,
-        "172": 6,
-        "185": 5,
-        "186": 5,
-        "187": 5,
-        "188": 5,
-        "192": 0,
-        "195": 0,
-        "199": 0,
-        "210": 1,
-        "216": 7,
-        "217": 1,
-        "233": 1,
-        "234": 1,
-        "235": 1,
-        "24": 0,
-        "247": 2,
-        "25": 0,
-        "258": 1,
-        "262": 2,
-        "264": 2,
-        "268": 2,
-        "269": 2,
-        "270": 2,
-        "271": 2,
-        "273": 2,
-        "279": 2,
-        "280": 2,
-        "281": 2,
-        "282": 2,
-        "284": 2,
-        "285": 2,
-        "29": 0,
-        "32": 0,
-        "36": 0,
-        "39": 0,
-        "65": 2,
-        "70": 2,
-        "75": 2,
-        "79": 1,
-        "88": 6,
-        "90": 1,
-        "95": 2
-      },
-      "missed_lines": [
-        24,
-        25,
-        29,
-        32,
-        36,
-        39,
-        128,
-        137,
-        138,
-        139,
-        143,
-        192,
-        195,
-        199
-      ],
-      "statements": 60,
-      "percentage": "76.7%"
-    },
-<<<<<<< HEAD
-    "A.0000000000000005.FungibleToken": {
-      "line_hits": {
-        "108": 6,
-        "133": 4,
-        "139": 0,
-        "148": 0,
-        "167": 0,
-        "168": 0,
-        "172": 0,
-        "177": 0,
-        "182": 0,
-        "187": 0,
-        "194": 0,
-        "209": 7,
-        "216": 13,
-        "227": 5,
-        "232": 15,
-        "241": 0,
-        "251": 1,
-        "51": 0,
-        "52": 0,
-        "58": 0,
-        "59": 0,
-        "65": 0,
-        "66": 0,
-        "73": 0,
-        "74": 0,
-        "76": 0
-      },
-      "missed_lines": [
-        51,
-        52,
-        58,
-        59,
-        65,
-        66,
-        73,
-        74,
-        76,
-        139,
-        148,
-        167,
-        168,
-        172,
-        177,
-        182,
-        187,
-        194,
-        241
-      ],
-      "statements": 26,
-      "percentage": "26.9%"
-    },
-    "A.0000000000000005.FungibleTokenMetadataViews": {
-=======
-    "A.0000000000000007.FungibleTokenMetadataViews": {
->>>>>>> master
-      "line_hits": {
-        "102": 1,
-        "103": 1,
-        "104": 1,
-        "107": 0,
-        "155": 2,
-        "156": 2,
-        "157": 2,
-        "159": 2,
-        "160": 2,
-        "161": 2,
-        "162": 2,
-        "163": 2,
-        "164": 2,
-        "165": 2,
-        "166": 2,
-        "176": 1,
-        "177": 1,
-        "178": 1,
-        "181": 0,
-        "189": 0,
-        "27": 1,
-        "28": 1,
-        "38": 1,
-        "39": 1,
-        "40": 1,
-        "42": 0,
-        "87": 2,
-        "88": 2,
-        "89": 2,
-        "90": 2,
-        "91": 2,
-        "92": 2
-      },
-      "missed_lines": [
-        42,
-        107,
-        181,
-        189
-      ],
-      "statements": 32,
-      "percentage": "87.5%"
-    },
-<<<<<<< HEAD
-    "A.0000000000000005.FungibleTokenSwitchboard": {
-=======
-    "A.0000000000000007.FungibleTokenSwitchboard": {
->>>>>>> master
-      "line_hits": {
-        "102": 0,
-        "104": 0,
-        "107": 0,
-        "110": 0,
-        "138": 0,
-        "140": 0,
-        "143": 0,
-        "164": 1,
-        "167": 1,
-        "168": 1,
-        "172": 1,
-        "174": 1,
-        "176": 1,
-        "195": 1,
-        "198": 1,
-        "201": 1,
-        "215": 4,
-        "219": 3,
-        "222": 3,
-        "239": 0,
-        "242": 0,
-        "244": 0,
-        "248": 0,
-        "249": 0,
-        "254": 0,
-        "256": 0,
-        "257": 0,
-        "266": 1,
-        "267": 0,
-        "270": 1,
-        "282": 1,
-        "283": 0,
-        "286": 1,
-        "297": 0,
-        "298": 0,
-        "299": 0,
-        "300": 0,
-        "303": 0,
-        "314": 0,
-        "316": 0,
-        "317": 0,
-        "319": 0,
-        "322": 0,
-        "330": 4,
-        "331": 4,
-        "332": 2,
-        "333": 2,
-        "336": 4,
-        "342": 0,
-        "343": 0,
-        "344": 0,
-        "345": 0,
-        "350": 1,
-        "359": 1,
-        "363": 1,
-        "364": 1,
-        "365": 1,
-        "68": 1,
-        "71": 1,
-        "74": 1,
-        "77": 1,
-        "82": 0,
-        "94": 0,
-        "97": 0,
-        "98": 0
-      },
-      "missed_lines": [
-        82,
-        94,
-        97,
-        98,
-        102,
-        104,
-        107,
-        110,
-        138,
-        140,
-        143,
-        239,
-        242,
-        244,
-        248,
-        249,
-        254,
-        256,
-        257,
-        267,
-        283,
-        297,
-        298,
-        299,
-        300,
-        303,
-        314,
-        316,
-        317,
-        319,
-        322,
-        342,
-        343,
-        344,
-        345
-      ],
-      "statements": 65,
-      "percentage": "46.2%"
-    },
-<<<<<<< HEAD
-    "A.0000000000000005.MetadataViews": {
-=======
-    "A.0000000000000007.TokenForwarding": {
->>>>>>> master
-      "line_hits": {
-        "111": 0,
-        "112": 0,
-        "121": 0,
-        "122": 0,
-        "125": 0,
-        "143": 2,
-        "144": 2,
-        "156": 2,
-        "166": 0,
-        "167": 0,
-        "168": 0,
-        "171": 0,
-        "181": 0,
-        "191": 0,
-        "192": 0,
-        "193": 0,
-        "196": 0,
-        "208": 4,
-        "218": 0,
-        "219": 0,
-        "220": 0,
-        "223": 0,
-        "257": 0,
-        "259": 0,
-        "260": 0,
-        "261": 0,
-        "276": 0,
-        "277": 0,
-        "278": 0,
-        "280": 0,
-        "282": 0,
-        "290": 0,
-        "300": 0,
-        "301": 0,
-        "302": 0,
-        "305": 0,
-        "315": 0,
-        "340": 0,
-        "341": 0,
-        "342": 0,
-        "343": 0,
-        "354": 0,
-        "362": 0,
-        "372": 0,
-        "373": 0,
-        "374": 0,
-        "377": 0,
-        "392": 0,
-        "393": 0,
-        "394": 0,
-        "398": 0,
-        "399": 0,
-        "400": 0,
-        "401": 0,
-        "404": 0,
-        "432": 0,
-        "433": 0,
-        "435": 0,
-        "436": 0,
-        "437": 0,
-        "450": 0,
-        "460": 0,
-        "461": 0,
-        "462": 0,
-        "465": 0,
-        "478": 0,
-        "48": 0,
-        "488": 0,
-        "489": 0,
-        "49": 0,
-        "490": 0,
-        "493": 0,
-        "50": 0,
-        "513": 0,
-        "514": 0,
-        "517": 0,
-        "518": 0,
-        "519": 0,
-        "529": 0,
-        "530": 0,
-        "531": 0,
-        "534": 0,
-        "561": 0,
-        "562": 0,
-        "563": 0,
-        "564": 0,
-        "565": 0,
-        "566": 0,
-        "567": 0,
-        "568": 0,
-        "579": 0,
-        "580": 0,
-        "581": 0,
-        "584": 0,
-        "60": 0,
-        "61": 0,
-        "62": 0,
-        "640": 0,
-        "641": 0,
-        "643": 0,
-        "644": 0,
-        "645": 0,
-        "646": 0,
-        "647": 0,
-        "648": 0,
-        "649": 0,
-        "65": 0,
-        "659": 0,
-        "660": 0,
-        "661": 0,
-        "664": 0,
-        "699": 0,
-        "700": 0,
-        "701": 0,
-        "702": 0,
-        "703": 0,
-        "704": 0,
-        "715": 0,
-        "716": 0,
-        "717": 0,
-        "720": 0,
-        "81": 2,
-        "85": 1
-      },
-      "missed_lines": [
-        48,
-        49,
-        50,
-        60,
-        61,
-        62,
-        65,
-        111,
-        112,
-        121,
-        122,
-        125,
-        166,
-        167,
-        168,
-        171,
-        181,
-        191,
-        192,
-        193,
-        196,
-        218,
-        219,
-        220,
-        223,
-        257,
-        259,
-        260,
-        261,
-        276,
-        277,
-        278,
-        280,
-        282,
-        290,
-        300,
-        301,
-        302,
-        305,
-        315,
-        340,
-        341,
-        342,
-        343,
-        354,
-        362,
-        372,
-        373,
-        374,
-        377,
-        392,
-        393,
-        394,
-        398,
-        399,
-        400,
-        401,
-        404,
-        432,
-        433,
-        435,
-        436,
-        437,
-        450,
-        460,
-        461,
-        462,
-        465,
-        478,
-        488,
-        489,
-        490,
-        493,
-        513,
-        514,
-        517,
-        518,
-        519,
-        529,
-        530,
-        531,
-        534,
-        561,
-        562,
-        563,
-        564,
-        565,
-        566,
-        567,
-        568,
-        579,
-        580,
-        581,
-        584,
-        640,
-        641,
-        643,
-        644,
-        645,
-        646,
-        647,
-        648,
-        649,
-        659,
-        660,
-        661,
-        664,
-        699,
-        700,
-        701,
-        702,
-        703,
-        704,
-        715,
-        716,
-        717,
-        720
-      ],
-      "statements": 123,
-      "percentage": "4.9%"
-    },
-    "A.0000000000000005.TokenForwarding": {
-      "line_hits": {
-        "103": 0,
-        "104": 0,
-        "105": 0,
-        "106": 0,
-        "111": 1,
-        "113": 1,
-        "120": 1,
-        "52": 1,
-        "54": 1,
-        "56": 1,
-        "58": 1,
-        "64": 0,
-        "74": 0,
-        "81": 0,
-        "83": 0,
-        "91": 0,
-        "92": 0,
-        "94": 0,
-        "95": 0,
-        "96": 0,
-        "97": 0
-      },
-      "missed_lines": [
-        64,
-        74,
-        81,
-        83,
-        91,
-        92,
-        94,
-        95,
-        96,
-        97,
-        103,
-        104,
-        105,
-        106
-      ],
-<<<<<<< HEAD
-      "statements": 21,
-      "percentage": "33.3%"
-    },
-    "A.0000000000000006.ExampleToken": {
-      "line_hits": {
-        "101": 2,
-        "102": 2,
-        "113": 1,
-        "115": 1,
-        "124": 1,
-        "128": 0,
-        "132": 0,
-        "137": 0,
-        "138": 0,
-        "139": 0,
-        "143": 0,
-        "148": 8,
-        "149": 8,
-        "150": 8,
-        "151": 8,
-        "152": 8,
-        "157": 14,
-        "171": 1,
-        "172": 1,
-        "185": 1,
-        "186": 1,
-        "187": 1,
-        "188": 1,
-        "192": 0,
-        "195": 0,
-        "199": 0,
-        "210": 1,
-        "216": 1,
-        "217": 0,
-        "233": 0,
-        "234": 0,
-        "235": 0,
-        "24": 0,
-        "247": 4,
-        "25": 0,
-        "258": 0,
-        "262": 2,
-        "264": 2,
-        "268": 2,
-        "269": 2,
-        "270": 2,
-        "271": 2,
-        "273": 2,
-        "279": 2,
-        "280": 2,
-        "281": 2,
-        "282": 2,
-        "284": 2,
-        "285": 2,
-        "29": 0,
-        "32": 0,
-        "36": 0,
-        "39": 0,
-        "65": 2,
-        "70": 2,
-        "75": 2,
-        "79": 0,
-        "88": 4,
-        "90": 1,
-        "95": 2
-      },
-      "missed_lines": [
-        24,
-        25,
-        29,
-        32,
-        36,
-        39,
-        79,
-        128,
-        132,
-        137,
-        138,
-        139,
-        143,
-        192,
-        195,
-        199,
-        217,
-        233,
-        234,
-        235,
-        258
-      ],
-      "statements": 60,
-      "percentage": "65.0%"
-    },
-    "A.0000000000000006.FungibleToken": {
-      "line_hits": {
-        "108": 1,
-        "133": 0,
-        "139": 0,
-        "148": 0,
-        "167": 0,
-        "168": 0,
-        "172": 0,
-        "177": 0,
-        "182": 0,
-        "187": 0,
-        "194": 0,
-        "209": 1,
-        "216": 2,
-        "227": 1,
-        "232": 3,
-        "241": 0,
-        "251": 1,
-        "51": 0,
-        "52": 0,
-        "58": 0,
-        "59": 0,
-        "65": 0,
-        "66": 0,
-        "73": 0,
-        "74": 0,
-        "76": 0
-      },
-      "missed_lines": [
-        51,
-        52,
-        58,
-        59,
-        65,
-        66,
-        73,
-        74,
-        76,
-        133,
-        139,
-        148,
-        167,
-        168,
-        172,
-        177,
-        182,
-        187,
-        194,
-        241
-      ],
-      "statements": 26,
-      "percentage": "23.1%"
-    },
-    "A.0000000000000006.FungibleTokenMetadataViews": {
-      "line_hits": {
-        "102": 1,
-        "103": 1,
-        "104": 1,
-        "107": 0,
-        "155": 1,
-        "156": 1,
-        "157": 1,
-        "159": 1,
-        "160": 1,
-        "161": 1,
-        "162": 1,
-        "163": 1,
-        "164": 1,
-        "165": 1,
-        "166": 1,
-        "176": 0,
-        "177": 0,
-        "178": 0,
-        "181": 0,
-        "189": 0,
-        "27": 1,
-        "28": 1,
-        "38": 1,
-        "39": 1,
-        "40": 1,
-        "42": 0,
-        "87": 3,
-        "88": 3,
-        "89": 3,
-        "90": 3,
-        "91": 3,
-        "92": 3
-      },
-      "missed_lines": [
-        42,
-        107,
-        176,
-        177,
-        178,
-        181,
-        189
-      ],
-      "statements": 32,
-      "percentage": "78.1%"
-    },
-    "A.0000000000000006.MetadataViews": {
-      "line_hits": {
-        "111": 0,
-        "112": 0,
-        "121": 0,
-        "122": 0,
-        "125": 0,
-        "143": 3,
-        "144": 3,
-        "156": 3,
-        "166": 0,
-        "167": 0,
-        "168": 0,
-        "171": 0,
-        "181": 0,
-        "191": 0,
-        "192": 0,
-        "193": 0,
-        "196": 0,
-        "208": 6,
-        "218": 0,
-        "219": 0,
-        "220": 0,
-        "223": 0,
-        "257": 0,
-        "259": 0,
-        "260": 0,
-        "261": 0,
-        "276": 0,
-        "277": 0,
-        "278": 0,
-        "280": 0,
-        "282": 0,
-        "290": 0,
-        "300": 0,
-        "301": 0,
-        "302": 0,
-        "305": 0,
-        "315": 0,
-        "340": 0,
-        "341": 0,
-        "342": 0,
-        "343": 0,
-        "354": 0,
-        "362": 0,
-        "372": 0,
-        "373": 0,
-        "374": 0,
-        "377": 0,
-        "392": 0,
-        "393": 0,
-        "394": 0,
-        "398": 0,
-        "399": 0,
-        "400": 0,
-        "401": 0,
-        "404": 0,
-        "432": 0,
-        "433": 0,
-        "435": 0,
-        "436": 0,
-        "437": 0,
-        "450": 0,
-        "460": 0,
-        "461": 0,
-        "462": 0,
-        "465": 0,
-        "478": 0,
-        "48": 0,
-        "488": 0,
-        "489": 0,
-        "49": 0,
-        "490": 0,
-        "493": 0,
-        "50": 0,
-        "513": 0,
-        "514": 0,
-        "517": 0,
-        "518": 0,
-        "519": 0,
-        "529": 0,
-        "530": 0,
-        "531": 0,
-        "534": 0,
-        "561": 0,
-        "562": 0,
-        "563": 0,
-        "564": 0,
-        "565": 0,
-        "566": 0,
-        "567": 0,
-        "568": 0,
-        "579": 0,
-        "580": 0,
-        "581": 0,
-        "584": 0,
-        "60": 0,
-        "61": 0,
-        "62": 0,
-        "640": 0,
-        "641": 0,
-        "643": 0,
-        "644": 0,
-        "645": 0,
-        "646": 0,
-        "647": 0,
-        "648": 0,
-        "649": 0,
-        "65": 0,
-        "659": 0,
-        "660": 0,
-        "661": 0,
-        "664": 0,
-        "699": 0,
-        "700": 0,
-        "701": 0,
-        "702": 0,
-        "703": 0,
-        "704": 0,
-        "715": 0,
-        "716": 0,
-        "717": 0,
-        "720": 0,
-        "81": 3,
-        "85": 2
-      },
-      "missed_lines": [
-        48,
-        49,
-        50,
-        60,
-        61,
-        62,
-        65,
-        111,
-        112,
-        121,
-        122,
-        125,
-        166,
-        167,
-        168,
-        171,
-        181,
-        191,
-        192,
-        193,
-        196,
-        218,
-        219,
-        220,
-        223,
-        257,
-        259,
-        260,
-        261,
-        276,
-        277,
-        278,
-        280,
-        282,
-        290,
-        300,
-        301,
-        302,
-        305,
-        315,
-        340,
-        341,
-        342,
-        343,
-        354,
-        362,
-        372,
-        373,
-        374,
-        377,
-        392,
-        393,
-        394,
-        398,
-        399,
-        400,
-        401,
-        404,
-        432,
-        433,
-        435,
-        436,
-        437,
-        450,
-        460,
-        461,
-        462,
-        465,
-        478,
-        488,
-        489,
-        490,
-        493,
-        513,
-        514,
-        517,
-        518,
-        519,
-        529,
-        530,
-        531,
-        534,
-        561,
-        562,
-        563,
-        564,
-        565,
-        566,
-        567,
-        568,
-        579,
-        580,
-        581,
-        584,
-        640,
-        641,
-        643,
-        644,
-        645,
-        646,
-        647,
-        648,
-        649,
-        659,
-        660,
-        661,
-        664,
-        699,
-        700,
-        701,
-        702,
-        703,
-        704,
-        715,
-        716,
-        717,
-        720
-      ],
-      "statements": 123,
-      "percentage": "4.9%"
-    },
-    "A.0000000000000006.PrivateReceiverForwarder": {
-      "line_hits": {
-        "35": 1,
-        "37": 1,
-        "39": 1,
-        "41": 1,
-        "46": 2,
-        "48": 2,
-        "55": 2,
-        "62": 1,
-        "64": 1,
-        "68": 1,
-        "75": 1,
-        "77": 1,
-        "78": 1,
-        "80": 1
-      },
-      "missed_lines": [],
-      "statements": 14,
-      "percentage": "100.0%"
-    },
-    "S.test_helpers.cdc": {
-      "line_hits": {
-        "101": 12,
-        "111": 0,
-        "112": 0,
-        "113": 0,
-        "114": 0,
-        "115": 0,
-        "120": 4,
-        "121": 4,
-        "127": 0,
-        "128": 0,
-        "13": 26,
-        "130": 0,
-        "135": 0,
-        "136": 0,
-        "137": 0,
-        "140": 0,
-        "145": 0,
-        "146": 0,
-        "147": 0,
-        "148": 0,
-        "153": 0,
-        "154": 0,
-        "155": 0,
-        "157": 0,
-        "20": 26,
-        "21": 26,
-        "22": 0,
-        "27": 1,
-        "34": 1,
-        "35": 1,
-        "36": 0,
-        "41": 6,
-        "42": 6,
-        "44": 6,
-        "45": 0,
-        "50": 6,
-        "54": 0,
-        "55": 0,
-        "57": 0,
-        "58": 0,
-        "62": 6,
-        "64": 6,
-        "65": 6,
-        "66": 6,
-        "69": 6,
-        "76": 6,
-        "77": 6,
-        "78": 0,
-        "79": 0,
-        "80": 0,
-        "81": 0,
-        "82": 0,
-        "87": 0,
-        "88": 0,
-        "90": 0,
-        "92": 6,
-        "93": 0,
-        "97": 6
-      },
-      "missed_lines": [
-        22,
-        36,
-        45,
-        54,
-        55,
-        57,
-        58,
-        78,
-        79,
-        80,
-        81,
-        82,
-        87,
-        88,
-        90,
-        93,
-        111,
-        112,
-        113,
-        114,
-        115,
-        127,
-        128,
-        130,
-        135,
-        136,
-        137,
-        140,
-        145,
-        146,
-        147,
-        148,
-        153,
-        154,
-        155,
-        157
-      ],
-      "statements": 58,
-      "percentage": "37.9%"
-    },
-    "s.0178708f612fcd38aad604c7a34765ed02e8c02d21402fa97d8eb1f807449e97": {
-      "line_hits": {
-        "11": 1,
-        "29": 1,
-        "32": 1,
-        "35": 1,
-        "37": 1,
-        "38": 1,
-        "39": 1,
-        "9": 1
-      },
-      "missed_lines": [],
-      "statements": 8,
-      "percentage": "100.0%"
-    },
-    "s.1c2ae16c88a02a785df5e1cd1d13ac7480ea9d1d535c0b7a51e385f401312290": {
-      "line_hits": {
-        "7": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "s.5e5199bcd53f1ca1f47a00f09c8813741c57aeb0fe0116df0030d4de8584961d": {
-      "line_hits": {
-        "11": 1,
-        "13": 1,
-        "16": 1,
-        "19": 1,
-        "20": 1,
-        "21": 1,
-        "22": 1,
-        "23": 1,
-        "24": 1,
-        "26": 1
-      },
-      "missed_lines": [],
-      "statements": 10,
-      "percentage": "100.0%"
-    },
-    "s.968860617d44655c8151028ecde7930f88886bec1ffc0f84e3e31e7f6987298c": {
-      "line_hits": {
-        "12": 1,
-        "14": 1,
-        "17": 1,
-        "20": 1,
-        "21": 1,
-        "22": 1,
-        "23": 1,
-        "24": 1,
-        "25": 1,
-        "26": 1,
-        "27": 1,
-        "28": 1,
-        "29": 1,
-        "31": 1,
-        "33": 1
-      },
-      "missed_lines": [],
-      "statements": 15,
-      "percentage": "100.0%"
-    },
-    "s.a0c911887b25ae1e94167a43a0eafb691a21e42e0352e46086d0680d7ea371ea": {
-      "line_hits": {
-        "10": 4,
-        "13": 4
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "s.b460d9db17658d985790a9fef2a69d7bf43f4201c0017a19abacb58cbd84c481": {
-      "line_hits": {
-        "8": 5
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "s.bbf425446dfcc52dc8bf55b6ba6846f7c9d75a5a0fb7ad21b38eb86a926a5b0c": {
-      "line_hits": {
-        "10": 1,
-        "11": 1,
-        "14": 1,
-        "16": 1
-      },
-      "missed_lines": [],
-      "statements": 4,
-      "percentage": "100.0%"
-    },
-    "s.cfde43c8a8e8aa0091187d6dc0c6fcfdc9d9b34391b646ae48d442ea96972580": {
-      "line_hits": {
-        "11": 1,
-        "13": 1,
-        "16": 1,
-        "18": 1
-      },
-      "missed_lines": [],
-      "statements": 4,
-      "percentage": "100.0%"
-    },
-    "s.d73baed538ea82e8e511054f83365951b4544201019e03acc58f5f00aebfdf66": {
-      "line_hits": {
-        "12": 1,
-        "14": 1,
-        "17": 1,
-        "18": 1,
-        "25": 1,
-        "27": 1
-      },
-      "missed_lines": [],
-      "statements": 6,
-      "percentage": "100.0%"
-    },
-    "s.fbc367fa0fbbaaa2c2f38bc45573895b2dbc50de782f23b913f6885c01ce7c09": {
-      "line_hits": {
-        "8": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.002288cb94db4814eeb83dc76fa9b34f253a2f50102c25b3cff29ed9b9511786": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.01b95976b38b86e784e6bc28191374498a60805b531973c692afb95d39825a16": {
-      "line_hits": {
-        "17": 4,
-        "20": 4,
-        "24": 4,
-        "25": 16,
-        "27": 16,
-        "28": 16,
-        "29": 12,
-        "32": 16,
-        "35": 16
-      },
-      "missed_lines": [],
-      "statements": 9,
-      "percentage": "100.0%"
-    },
-    "t.0810507f3f482461f71c33a4d021407239b11eac3a3f5ceb9a913bb9a9dc4cc3": {
-      "line_hits": {
-        "12": 1,
-        "14": 0,
-        "17": 1,
-        "19": 1,
-        "26": 1,
-        "27": 1,
-        "30": 1,
-        "34": 1,
-        "38": 1,
-        "40": 1,
-        "43": 1,
-        "47": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 12,
-      "percentage": "91.7%"
-    },
-    "t.089833d285884dcf5976a68ed5a96759376cf436a552fc1b3149f08417322010": {
-      "line_hits": {
-        "12": 4,
-        "17": 4
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.0b1d83a6cae2d91606ff21c070df3ea14debe3a0413412628965747d48fffb57": {
-      "line_hits": {
-        "19": 1,
-        "23": 1,
-        "29": 1,
-        "32": 1,
-        "36": 1
-      },
-      "missed_lines": [],
-      "statements": 5,
-      "percentage": "100.0%"
-    },
-    "t.0c50dc22c32ef385a7f077e5df07472782506b26edb27fbeed68e989f072a3c3": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.0ccbe00a98f7a8cc6c8483f276ad775312f07c0ef69e0b6f79ccfc30a0cbfbaa": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.0d7b4546b7995fe75ec1d855928885348e3c7b38a9986c5fd4b9af2a96bec10a": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.0f44c79fd649804fdca9750a6d29f5d206a0c73964ffd6e51c54c5c2571744f9": {
-      "line_hits": {
-        "3": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.109f8f33bc4945c2d3faff8aee29abc36037e0edfe68bbca32008a7aaaaa0d6f": {
-      "line_hits": {
-        "10": 4,
-        "12": 4,
-        "6": 4
-      },
-      "missed_lines": [],
-      "statements": 3,
-      "percentage": "100.0%"
-    },
-    "t.18b05afb55daff4000a9bbcc715448a930373f9e04af0ba8a9cd02b875571b44": {
-      "line_hits": {
-        "35": 1,
-        "39": 1,
-        "40": 1,
-        "43": 1,
-        "46": 1,
-        "49": 1,
-        "52": 1,
-        "55": 1
-      },
-      "missed_lines": [],
-      "statements": 8,
-      "percentage": "100.0%"
-    },
-    "t.1a30eff2a1c3e4eccb89ea97b1f65c5edc4e2503260c10173da23a2770092113": {
-      "line_hits": {
-        "12": 1,
-        "14": 0,
-        "17": 1,
-        "19": 1,
-        "26": 1,
-        "27": 1,
-        "30": 1,
-        "34": 1,
-        "38": 1,
-        "40": 1,
-        "43": 1,
-        "47": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 12,
-      "percentage": "91.7%"
-    },
-    "t.1c105c70572b4f988eceb8009d97c64cb131c2057b250b281bb403dcf69a07ee": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.27d1302c0c423768b4ebbd19af89ec6cda49588b6c0c93b54f9c4e46b2cb3869": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.28d67993f18685ca2f376ffe66eebb217610fb57317cfa4e9af6d5eea953c94e": {
-      "line_hits": {
-        "4": 4,
-        "5": 4
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.2a1f5b74af939ba03e679f0209f1480c3cefb26f6a509394b2035215b43102b0": {
-      "line_hits": {
-        "4": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.2bd6abc997796cb6fa5c47934c2d223ce70e05bbd5bcdeab08924e5e2c57ff13": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.2cce7a9d299f39bf7573616a60415cff27f4fc7616984a34c07ffc4481b8c9aa": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.2d7cc2da0848b2f1a685f1d43031f2c8a21b50f7cd45c28a23109bd452b1dc20": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.2e9b747ec3b2a797fa34117673fd9676eb124a503a2c7773694d702e7cf0d2f2": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.376768733562cedfb07c678bb5a6545f73681e96c36e94214665e9b451429ef0": {
-      "line_hits": {
-        "17": 1,
-        "18": 1,
-        "22": 1,
-        "23": 1,
-        "26": 1,
-        "35": 1
-      },
-      "missed_lines": [],
-      "statements": 6,
-      "percentage": "100.0%"
-    },
-    "t.380b9f276aa043d167c6bec5f78a57a3f458ca9eca6b69b58682af7dc3d6ecde": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.3925e4ced5cdd4e48bcc8ff2a28fc082e47f76200806d2d36cc6bd4ac61ca11c": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.403af29116a053dde8748bfd86519bd838f875ff0e2c7b4458d0046697911b05": {
-      "line_hits": {
-        "12": 1,
-        "13": 0,
-        "17": 1,
-        "23": 1,
-        "24": 1,
-        "28": 1,
-        "31": 1,
-        "36": 1,
-        "39": 1
-      },
-      "missed_lines": [
-        13
-      ],
-      "statements": 9,
-      "percentage": "88.9%"
-    },
-    "t.42e55c78c2fb91dc7ee0f7621614a13bde82abe9b93466864fe19a42169b50ea": {
-      "line_hits": {
-        "3": 2,
-        "4": 2
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.4a812e7899cdaea4ab83cf230867f23b7497c421612ea676c5fd3b5858cf8557": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.4a9e4c6c786320fc2e262590e43f52ef3a8aafa1962da81ab7826fcc5fe69497": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.4eb78b824d5830920f96ea19fbc697fa7b4e2035a85b721cdaa82a55745d6a72": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.51cb7e31a44623b75940d365996ce5b57960758784a827e0ff210452118a9e31": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.51cc20374d74a4eaf93e58bb4e7b3b0f3122689fa728be862cd5f187c2ed7c2c": {
-      "line_hits": {
-        "10": 4,
-        "14": 4,
-        "20": 4,
-        "21": 4,
-        "23": 4,
-        "25": 4
-      },
-      "missed_lines": [],
-      "statements": 6,
-      "percentage": "100.0%"
-    },
-    "t.5277aba887fdb3e748e0c930cb1ed59ccb5d957973ee59497c8219de52ac9f1c": {
-      "line_hits": {
-        "14": 1,
-        "15": 0,
-        "18": 1,
-        "21": 1,
-        "24": 1,
-        "27": 1,
-        "30": 1,
-        "33": 1
-      },
-      "missed_lines": [
-        15
-      ],
-      "statements": 8,
-      "percentage": "87.5%"
-    },
-    "t.54895ac6257422ac1dffdf1dff930d7b697b3a33f1e3b4d6c8790b01e5db4012": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.559dbd7c1167821a83e1d7d39f4496c13ea3a3c8219d2e6003462a59812dce38": {
-      "line_hits": {
-        "3": 1,
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.57f6efe965b4e98ca3023c087f287326a30def559b8e0ecdc56300cace21bca9": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.58b60466e0278f2b134451ad96f46838047ec93a5d9f3ece83e6a7c9a8af5172": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.5c4a703caebcb0226d7e73a10eb8d2031741eabddf0d74ab1b055969427f3305": {
-      "line_hits": {
-        "19": 1,
-        "23": 1,
-        "29": 0,
-        "32": 0,
-        "36": 0
-      },
-      "missed_lines": [
-        29,
-        32,
-        36
-      ],
-      "statements": 5,
-      "percentage": "40.0%"
-    },
-    "t.5d2cd3f8cf88755b546a097afee8392611acf19899dc8e44fc47abeeb07d10b8": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.5ecf8dd319c86aa28e8a2b0c43a7cbc28237d51a3107b6e1b7f71217d3739f62": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.5fb45291fa90424025dabf7c1de686d01df74cbd163eb232c71e0b1a2b17f6be": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.65eaea8fc9e65893facc065a5e27d2bc6a206e2f4ec80d909228d31129b2ffc5": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.6a5b53bb76e8c0b38ea23026ed6ca3cfbba62818926517efee9f7534a443e663": {
-      "line_hits": {
-        "19": 1,
-        "22": 1,
-        "25": 1,
-        "30": 1,
-        "35": 1
-      },
-      "missed_lines": [],
-      "statements": 4,
-      "percentage": "100.0%"
-    },
-    "t.6c69213faaf020ef60df106e58985b4c29fa447e0851b4e49ca6cc526142d283": {
-      "line_hits": {
-        "3": 4,
-        "4": 4
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.6e5c97bf075a91092b07eb80400948577f4cf1ffb08d83e6ab3b1123c48aa36b": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.6e858341e7b33642272ffc86eed2cec0798b5e65e99e9070bfbdc0e8d0fb3927": {
-      "line_hits": {
-        "3": 1,
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.70c6d04aa77c68e850a1976b5c6440f12f7b7656bf8d998fbf19404e824a5576": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.722c5b65e4df8305439d702b3a41e07f5f833fe0519b3bde1f96a3bd8c4d2a23": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.740fa139eecd88b9b7b1a68ad5a4376bbef0cdaefffde380c7ad1d914bade581": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.77dc9b5052b70a5fc8935459390f6e5f6eaf9193eb91af1b6ba951ef9cfd3e28": {
-      "line_hits": {
-        "3": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.7a579aacf3fd16c085c5bfe6aefe35fca78232eec159b0a87b40151cf74fd859": {
-      "line_hits": {
-        "3": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.7db863f3f3ae492382da5a2cc1698a38b260ac536fa77fd37585d2c235e5a469": {
-      "line_hits": {
-        "10": 4,
-        "13": 4,
-        "14": 4,
-        "15": 4,
-        "16": 4,
-        "7": 4
-      },
-      "missed_lines": [],
-      "statements": 6,
-      "percentage": "100.0%"
-    },
-    "t.7dddc82e5999307971f82f7343e9405acc7eb0b7a6cc505b5941754aad235184": {
-      "line_hits": {
-        "3": 4,
-        "4": 4
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.7e23ce1054b879e26553b8ef6c30986cd324bc299c11456ac745d1172b6cb6e2": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.8258709f1a8e2c0eb7d2a0300b496f74acf9a30773321c6c84118fa1e671c8bb": {
-      "line_hits": {
-        "17": 1,
-        "20": 1,
-        "27": 1,
-        "29": 1
-      },
-      "missed_lines": [],
-      "statements": 4,
-      "percentage": "100.0%"
-    },
-    "t.87ea1a30814a7f615863a314de41fc276108950de8036af388c9596aa01d0fc3": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.883049d293a35a2595cbaa3cf9b9299ab6476bea109918408aa136b4cc51a061": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.8b1a9afb70ca26edc4d9c92c799643be55298c473c08303cebff712efe747ceb": {
-      "line_hits": {
-        "18": 1,
-        "26": 1,
-        "29": 1,
-        "33": 1
-      },
-      "missed_lines": [],
-      "statements": 4,
-      "percentage": "100.0%"
-    },
-    "t.8ba2f0b89a9528ffe70098b6b25d35e7084d592cc6b5230805a49e1cecddbb25": {
-      "line_hits": {
-        "14": 1,
-        "15": 0,
-        "18": 1,
-        "21": 1,
-        "24": 1,
-        "27": 1,
-        "30": 1,
-        "33": 1
-      },
-      "missed_lines": [
-        15
-      ],
-      "statements": 8,
-      "percentage": "87.5%"
-    },
-    "t.8ec2bdd41232721508b99fb380d3e49b1b644070f7cefd317571274eab46a3ba": {
-      "line_hits": {
-        "3": 4,
-        "4": 4
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.8ee64553cf0dfee1948d8ce7cbfef1490b823f4330e098ed41c49cecb8db2c00": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.929da8fbe39a851e92dd1b36e67ef9adc2c7441cab5a13c541f99e8799669a0d": {
-      "line_hits": {
-        "3": 1,
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.93a2e04fde62324ce5977447d694ce3c935d13bed6f799a5efa19c30eae4ee2c": {
-      "line_hits": {
-        "17": 1,
-        "25": 1,
-        "27": 1,
-        "30": 1,
-        "35": 1,
-        "36": 1,
-        "39": 0
-      },
-      "missed_lines": [
-        39
-      ],
-      "statements": 7,
-      "percentage": "85.7%"
-    },
-    "t.93dab38100c8493feb94fe6380f5d6056f5843b5d60b597b16fde9269a87931f": {
-      "line_hits": {
-        "14": 1,
-        "15": 0,
-        "18": 1,
-        "21": 1,
-        "24": 1,
-        "27": 1,
-        "30": 1,
-        "33": 1
-      },
-      "missed_lines": [
-        15
-      ],
-      "statements": 8,
-      "percentage": "87.5%"
-    },
-    "t.94d24376993f271e3883df5c3ade7e1af34bab02793d57c3f67c38e913453917": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.95fcb1658513e046d559d4595dc385dbb6d64999dce4a3c6246177a492c814ea": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.9686455664df39c2a6e71bbc25993065e90f3d4fc6c01aa046fc5ed31c84043b": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.9dcb3f19b77170e16e6870f99c7fa05293da491dec6610dc9565b9b57785c0dc": {
-      "line_hits": {
-        "18": 1,
-        "26": 1,
-        "29": 1,
-        "33": 1
-      },
-      "missed_lines": [],
-      "statements": 4,
-      "percentage": "100.0%"
-    },
-    "t.9eb7fc02b57b901c0f781d28920f5decc26af79c864d5d4f9ab6448b7cc1b543": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.a0b072f258ad63296da257e139cab6874588334323ca35425100f942f2d10caf": {
-      "line_hits": {
-        "14": 1,
-        "19": 1,
-        "22": 1,
-        "25": 1,
-        "28": 1,
-        "31": 1,
-        "32": 1,
-        "35": 1,
-        "36": 1
-      },
-      "missed_lines": [],
-      "statements": 9,
-      "percentage": "100.0%"
-    },
-    "t.a24a8eb0a2d40563d375ef4e39c645605c68c1a59dba54d8936af123bd9c757f": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.a5f6f99e90f13282ca83b1afb572f58ef8807ebea1b291f493940cc6a7d7ded3": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.aa792e9bda1176bd8a0082ae6e4b5cebf78c8c14d486420213e17f9afc1bbec2": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.aacf4cf48264f79e0df9e4a1931e458df4b30a474620938600985fba16f212f3": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.ab0f8b93019f8bc2bde5ffaf6b43fe89f379073e683ba14a0c2ae4a418d7387c": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.b2aba9deb52ae7672d27f4bfc51c7a3eb01c809aa6662793ab7f61733500b64c": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.b63d8de32ab5d20c4cf51ff467f0059c51399409c6cde5cc27f70bbd18f94684": {
-      "line_hits": {
-        "18": 1,
-        "26": 1,
-        "29": 1,
-        "33": 1
-      },
-      "missed_lines": [],
-      "statements": 4,
-      "percentage": "100.0%"
-    },
-    "t.b73d23b449b2512e3d3a8dcc55c4ce695401117b62d777cac313df192e79c95e": {
-      "line_hits": {
-        "3": 1,
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.b88a0215c93cf64c7f8c4dc6e0701bf5ee4e249fcaed847d567521667832ebcc": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.bc63a16492290609513165006e1b54cc73335c6ed239f143883c2113808b4eea": {
-      "line_hits": {
-        "16": 1,
-        "20": 1,
-        "29": 1
-      },
-      "missed_lines": [],
-      "statements": 3,
-      "percentage": "100.0%"
-    },
-    "t.bed69a76fb783b73f5943686d4768773ab5380594d38d42391e1c1c019278f82": {
-      "line_hits": {
-        "18": 1,
-        "20": 0,
-        "22": 0,
-        "23": 0,
-        "25": 0,
-        "26": 0,
-        "28": 0,
-        "29": 0,
-        "33": 1,
-        "38": 1,
-        "46": 1,
-        "48": 0,
-        "50": 0,
-        "51": 0,
-        "53": 0,
-        "56": 0,
-        "60": 0,
-        "61": 0,
-        "64": 1,
-        "73": 1
-      },
-      "missed_lines": [
-        20,
-        22,
-        23,
-        25,
-        26,
-        28,
-        29,
-        48,
-        50,
-        51,
-        53,
-        56,
-        60,
-        61
-      ],
-      "statements": 20,
-      "percentage": "30.0%"
-    },
-    "t.bf9297aac903f6b4a1620b7d3733a68e9bcfb04eb708a3a5cf7527250d714599": {
-      "line_hits": {
-        "14": 1,
-        "15": 0,
-        "18": 1,
-        "21": 1,
-        "24": 1,
-        "27": 1,
-        "30": 1,
-        "33": 1
-      },
-      "missed_lines": [
-        15
-      ],
-      "statements": 8,
-      "percentage": "87.5%"
-    },
-    "t.c9102bd340263848d46bdcde35e175a2eef7d1e755abb985d50bcea1c83cde9d": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.c930599fd7ec56d5e21101566787a617e53f6642d8ba34667c2de7b5f94b5abd": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.cccbdde665259c760bfae773a7d20923be2810c68a4096bccee19f30aa423648": {
-      "line_hits": {
-        "3": 1,
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.ced06ab831f5d667e91ae90abbef1000a642ac7fe68674fd2520d85138b6c42e": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.d10168d2efc71db947671dfe4046e5877bfaabbcb94ffe209f8a342d83b09ea4": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.d14976e72cf9b938bfa508c5522bb9b723234ea9621278bc554276a5e443c3f8": {
-      "line_hits": {
-        "13": 1,
-        "14": 0,
-        "5": 1,
-        "8": 1,
-        "9": 1
-      },
-      "missed_lines": [
-        14
-      ],
-      "statements": 5,
-      "percentage": "80.0%"
-    },
-    "t.d2945f0342aceff1a5a3e9d2c19d121c88bb2de9a8955809a0c8593d20ceead5": {
-      "line_hits": {
-        "3": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.d33c9f69ed1153ecc256be690f9a8a2e4796f4e1cfd4c8e8f4626b508924289c": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.dd339f65b20c7f799aaf12a5dd60688e6fe8187ffdab2cd2e1722c0bca3e9a58": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.de89480315752407732cf81e5f212550639d9b7ae6418e77d38c1174828f37ea": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.e8bc9dcece7a5163300b102e48ecd8fab32c32304307674baf80db85fe6cc619": {
-      "line_hits": {
-        "20": 1,
-        "23": 1,
-        "27": 1,
-        "35": 1,
-        "38": 1,
-        "42": 1
-      },
-      "missed_lines": [],
-      "statements": 5,
-      "percentage": "100.0%"
-    },
-    "t.eb806bac3b94252b4b8af184eae8013aad815d47b40f3baeff2dbbb45d56c15e": {
-      "line_hits": {
-        "16": 4,
-        "17": 4,
-        "18": 4,
-        "19": 0,
-        "20": 0,
-        "23": 4
-      },
-      "missed_lines": [
-        19,
-        20
-      ],
-      "statements": 6,
-      "percentage": "66.7%"
-    },
-    "t.edb67b867728fefec64fab5077b91d8a3c3c267947408e9927bf863246a35445": {
-      "line_hits": {
-        "3": 4
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.edcb1c2fb8ed81f8c8c572915973fa847f3920517d4327e3fda414b58a0653f8": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    },
-    "t.ef452ac4a4f27af0eb886f28fe325085bcf89429a6b74e0028b232da8548f8d4": {
-      "line_hits": {
-        "6": 4,
-        "9": 4
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.f7b29cbe2e66afdb7fcd85c8846ae2648e393b8c2439a1ca35155047bd52e22c": {
-      "line_hits": {
-        "3": 1,
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 2,
-      "percentage": "100.0%"
-    },
-    "t.fffef85a0434b0845815696573453ef4b727e0784872506e5ebb87f7d15c15ba": {
-      "line_hits": {
-        "4": 1
-      },
-      "missed_lines": [],
-      "statements": 1,
-      "percentage": "100.0%"
-    }
-  },
-  "excluded_locations": [
-    "A.0000000000000001.StakingProxy",
-    "A.0000000000000001.FlowStakingCollection",
-    "I.Crypto",
-    "I.Test",
-    "A.0000000000000001.FlowServiceAccount",
-    "A.0000000000000001.FlowIDTableStaking",
-    "A.0000000000000001.ExampleNFT",
-    "A.0000000000000001.NodeVersionBeacon",
-    "A.0000000000000001.FlowEpoch",
-    "A.0000000000000004.FlowFees",
-    "A.0000000000000001.FlowClusterQC",
-    "A.0000000000000001.FlowDKG",
-    "s.7465737400000000000000000000000000000000000000000000000000000000",
-    "A.0000000000000001.LockedTokens",
-    "A.0000000000000001.FlowStorageFees",
-    "A.0000000000000003.FlowToken",
-    "A.0000000000000002.FungibleToken"
-=======
-      "statements": 17,
-      "percentage": "41.2%"
+      "statements": 21,
+      "percentage": "33.3%"
     }
   },
   "excluded_locations": [
     "A.0000000000000002.FungibleToken",
-    "A.0000000000000002.FungibleTokenMetadataViews",
-    "A.0000000000000001.FlowClusterQC",
-    "A.0000000000000001.FlowIDTableStaking",
-    "A.0000000000000001.NFTStorefront",
-    "I.Crypto",
+    "A.0000000000000001.NonFungibleToken",
     "A.0000000000000001.NodeVersionBeacon",
+    "I.Crypto",
     "A.0000000000000001.FlowServiceAccount",
-    "A.0000000000000001.FlowDKG",
-    "A.0000000000000001.LockedTokens",
-    "A.0000000000000001.FlowStakingCollection",
+    "A.0000000000000001.FlowStorageFees",
+    "A.0000000000000004.FlowFees",
     "A.0000000000000001.ExampleNFT",
     "I.Test",
-    "A.0000000000000001.StakingProxy",
-    "A.0000000000000004.FlowFees",
-    "A.0000000000000001.FlowStorageFees",
+    "A.0000000000000002.FungibleTokenMetadataViews",
+    "A.0000000000000001.FlowIDTableStaking",
     "A.0000000000000001.FlowEpoch",
-    "A.0000000000000001.NFTStorefrontV2",
-    "s.7465737400000000000000000000000000000000000000000000000000000000",
     "A.0000000000000003.FlowToken",
-    "A.0000000000000001.ViewResolver",
+    "A.0000000000000001.FlowStakingCollection",
+    "A.0000000000000001.StakingProxy",
     "A.0000000000000001.MetadataViews",
-    "A.0000000000000001.NonFungibleToken"
->>>>>>> master
+    "A.0000000000000001.FlowDKG",
+    "A.0000000000000001.ViewResolver",
+    "A.0000000000000001.FlowClusterQC",
+    "A.0000000000000001.RandomBeaconHistory",
+    "I.BlockchainHelpers",
+    "s.7465737400000000000000000000000000000000000000000000000000000000",
+    "A.0000000000000001.LockedTokens"
   ]
 }
\ No newline at end of file
diff --git a/flow.json b/flow.json
index e5d595f3..bdbd0270 100644
--- a/flow.json
+++ b/flow.json
@@ -4,6 +4,7 @@
       "source": "./contracts/FungibleToken.cdc",
       "aliases": {
         "emulator": "0xee82856bf20e2aa6",
+        "testing": "0x0000000000000007",
         "testnet": "0x9a0766d93b6608b7",
         "mainnet": "0xf233dcee88fe0abe"
       }
@@ -27,7 +28,7 @@
       }
     },
     "ExampleToken": {
-      "source": "./contracts/ExampleToken-v2.cdc",
+      "source": "./contracts/ExampleToken.cdc",
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
         "testing": "0x0000000000000007"
@@ -36,7 +37,8 @@
     "PrivateReceiverForwarder": {
       "source": "./contracts/utility/PrivateReceiverForwarder.cdc",
       "aliases": {
-        "emulator": "0xf8d6e0586b0a20c7"
+        "emulator": "0xf8d6e0586b0a20c7",
+        "testing": "0x0000000000000007"
       }
     },
     "TokenForwarding": {
@@ -46,10 +48,20 @@
         "testing": "0x0000000000000007"
       }
     },
+    "ViewResolver": {
+      "source": "./contracts/utility/ViewResolver.cdc",
+      "aliases": {
+        "emulator": "0xf8d6e0586b0a20c7",
+        "testing": "0x0000000000000007",
+        "mainnet": "0x1d7e57aa55817448",
+        "testnet": "0x631e88ae7f1d7c20"
+      }
+    },
     "NonFungibleToken": {
       "source": "./contracts/utility/NonFungibleToken.cdc",
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
+        "testing": "0x0000000000000007",
         "mainnet": "0x1d7e57aa55817448",
         "testnet": "0x631e88ae7f1d7c20"
       }
@@ -58,6 +70,7 @@
       "source": "./contracts/utility/MetadataViews.cdc",
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
+        "testing": "0x0000000000000007",
         "mainnet": "0x1d7e57aa55817448",
         "testnet": "0x631e88ae7f1d7c20"
       }
diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index 66b8d396..4ea82235 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -22,9 +22,7 @@ var (
 
 const (
 	filenameFungibleToken    = "FungibleToken.cdc"
-	filenameFungibleTokenV2  = "FungibleToken-v2.cdc"
 	filenameExampleToken     = "ExampleToken.cdc"
-	filenameExampleTokenV2   = "ExampleToken-v2.cdc"
 	filenameTokenForwarding  = "utility/TokenForwarding.cdc"
 	filenamePrivateForwarder = "utility/PrivateReceiverForwarder.cdc"
 	filenameFTSwitchboard    = "FungibleTokenSwitchboard.cdc"
@@ -33,16 +31,18 @@ const (
 	filenameMultipleVaults   = "MultipleVaults.cdc"
 )
 
-// FungibleToken returns the FungibleToken contract interface.
-func FungibleToken() []byte {
+// FungibleTokenV2 returns the FungibleToken-v2 contract.
+func FungibleToken(resolverAddr string) []byte {
 	code := assets.MustAssetString(filenameFungibleToken)
 
+	code = placeholderViewResolver.ReplaceAllString(code, "0x"+resolverAddr)
+
 	return []byte(code)
 }
 
 // FungibleTokenV2 returns the FungibleToken-v2 contract.
 func FungibleTokenV2(resolverAddr string) []byte {
-	code := assets.MustAssetString(filenameFungibleTokenV2)
+	code := assets.MustAssetString(filenameFungibleToken)
 
 	code = placeholderViewResolver.ReplaceAllString(code, "0x"+resolverAddr)
 
@@ -78,25 +78,12 @@ func MultipleVaults(fungibleTokenAddr string) []byte {
 	return []byte(code)
 }
 
-// ExampleToken returns the ExampleToken contract.
+// ExampleToken returns the second version of the ExampleToken contract.
 //
 // The returned contract will import the FungibleToken interface from the specified address.
-func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr string) []byte {
+func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr, multipleVaultsAddr string) []byte {
 	code := assets.MustAssetString(filenameExampleToken)
 
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
-	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
-	code = placeholderFTMetadataViews.ReplaceAllString(code, "0x"+ftMetadataViewsAddr)
-
-	return []byte(code)
-}
-
-// ExampleTokenV2 returns the second version of the ExampleToken contract.
-//
-// The returned contract will import the FungibleToken interface from the specified address.
-func ExampleTokenV2(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr, multipleVaultsAddr string) []byte {
-	code := assets.MustAssetString(filenameExampleTokenV2)
-
 	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
 	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
 	code = placeholderFTMetadataViews.ReplaceAllString(code, "0x"+ftMetadataViewsAddr)
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 9886ad1e..35dbc6fa 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,17 +1,15 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken-v2.cdc (11.769kB)
-// ../../../contracts/ExampleToken.cdc (11.958kB)
-// ../../../contracts/FungibleToken-v2.cdc (8.511kB)
-// ../../../contracts/FungibleToken.cdc (10.016kB)
+// ../../../contracts/ExampleToken.cdc (11.72kB)
+// ../../../contracts/FungibleToken.cdc (9.007kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (26.648kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (8.173kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (8.146kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.699kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.29kB)
-// ../../../contracts/utility/ViewResolver.cdc (1.749kB)
+// ../../../contracts/utility/ViewResolver.cdc (1.692kB)
 
 package assets
 
@@ -81,27 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x47\x72\x7a\xc9\xb6\x9a\x38\x6e\xda\xc4\xbb\x3b\xd3\x4e\x33\x89\xdb\x3e\x64\x32\x09\x44\x1e\x4a\xd8\x90\x00\x07\x00\x25\xab\x1e\xff\xf7\x9d\x03\x80\x24\xc0\x8b\x2c\x3b\x79\x5a\xbe\xd8\x22\x71\x0e\xce\xfd\x06\xf0\xa2\x94\xca\xc0\x65\x25\xd6\x7c\x95\xe3\x95\xfc\x84\x02\x32\x25\x0b\x98\x44\xef\x26\x27\x7e\xe5\x6f\x68\x58\xca\x0c\xfb\x93\xe3\x4e\xfb\x95\xd1\xbb\x66\x65\x04\x3f\x04\x36\xbe\xa0\xc1\x41\xbf\xde\xa0\x96\xf9\x16\x95\x87\x0a\x5f\x4d\x4e\x4e\x58\x92\xa0\xd6\x53\x96\xe7\x33\x48\xa4\x30\x8a\x25\x06\x5e\x5d\xb3\xa2\xf4\x88\x97\x31\x92\x9b\x93\x13\x00\x80\xc5\x62\x01\x57\x1b\x04\xdc\xa2\x30\x60\x36\xcc\x00\xd7\x80\x05\x37\x06\x53\xd8\x6d\x50\x80\xc0\x1d\x18\xc2\xa0\x81\x29\x84\x82\x0b\x83\xa9\x05\x0e\xf7\x74\x08\xec\x4e\xfa\x37\xbb\x64\xca\x0a\x59\x09\xb3\x84\x3f\x2e\xf9\xf5\xd3\xef\x4e\xc1\xec\x4b\x5c\xc2\x5b\xa3\xb8\x58\xcf\x82\xed\xa5\x61\x39\xe8\xaa\x2c\xf3\x3d\xc8\x2c\x22\x5a\x03\x17\x80\xd7\x5c\x1b\x14\x09\xf6\x36\xdd\x32\x05\x86\xc0\xdf\x5a\xe8\x7a\xab\x16\xf7\x8b\xb4\xe0\x02\x5e\x33\xb3\xe9\xc1\xe6\x68\xdc\xe7\xb7\x46\x2a\xb6\x46\x5a\x44\xd4\x35\x3f\x5a\x2c\x7f\x68\x54\x16\x89\x1e\xc4\xf2\x27\xab\x72\x33\x8a\x65\x14\xe2\x75\xb5\xca\x79\xe2\x00\xda\xff\x07\xd7\xbf\xc1\x04\xf9\x16\xd5\x08\x48\x43\xe8\x65\x25\x12\xc3\xa5\x00\x23\x41\xa1\xa9\x94\x00\xb3\x41\x2b\x78\xed\x94\x4b\x3f\x1b\xf3\xe0\x24\xe7\x02\x85\xe9\xf3\xb5\xe5\xb8\x83\xac\x12\xb0\x46\x63\xa9\xbd\x22\x1c\xd3\xd9\x12\xde\xd1\x7f\xef\xe1\xc6\x82\xd0\x43\x04\xd2\x0e\x2f\x94\x62\xfb\xe6\xfb\xb9\xfb\xe7\xd9\x4f\xa1\x3a\xe7\x16\xd5\xf3\xe9\xec\x7d\x03\x5d\x93\x59\x23\xb0\x1f\x6e\x4f\x0e\x13\x44\xbe\x31\x4a\xcb\x96\xf6\x78\x83\x19\x9c\x83\xc6\x3c\x9b\xb3\x24\x21\x3b\x9c\x27\xac\x64\x2b\x9e\x73\xc3\x51\xcf\x57\x52\x29\xb9\x7b\xf6\xd5\x10\x75\x8b\xd2\x8a\x76\x81\xc1\x37\xfb\x69\xd6\xec\x43\xcf\xc5\x05\x94\x4c\xf0\x64\x3a\xf9\x45\x56\x79\x0a\x42\x1a\x70\x68\x81\x81\xc2\x0c\x15\xd9\x2c\xa9\x82\x84\x6e\xa9\x02\x55\x3b\x6c\x8b\xaa\x2b\x89\x9a\xfc\x79\xcb\xe8\x98\x4c\x48\x1c\x1e\x23\xad\x9c\x7e\xb0\x52\x5a\x02\x49\x65\xb6\x84\x17\x62\xff\xd6\xa8\x2a\x31\x17\xff\xa3\x12\x0a\x79\x27\xce\x23\x41\x91\x3f\x58\x9a\xea\x5f\xcd\xdb\x57\x2c\xd9\x40\x45\x3e\xad\x8d\x54\xa8\x81\x09\xe0\x42\x1b\x46\xc4\xc8\x0c\xa4\xc8\xf7\x96\x22\x0b\x4e\x11\xc8\x6c\x90\xbb\xd5\x6c\x8d\x51\xdc\xcc\xbc\xc7\x69\xbf\xcc\xc3\x30\x91\xc2\x5a\x6e\x51\x09\x4c\x61\xe5\xb0\x95\x0a\xed\xfb\x52\x6a\x43\x3e\x98\x72\x0b\xd8\xa0\xe3\xa2\x93\x7e\x6c\xf4\x35\x1b\xdc\xdb\xb8\x9b\xb0\x3c\xc7\x74\x1e\xed\x9e\x6c\x30\xf9\xa4\x61\xc3\xca\x12\x05\x30\x03\xaa\x12\x86\x17\x68\x41\x91\xc2\x3c\x6b\x28\xa4\xb8\xde\xc1\xd1\xe0\xa2\xac\x50\xa9\x04\x69\x85\x70\xfc\xaf\x10\x12\x85\x8c\xb2\x80\xe7\x8c\xc2\x06\x5e\x1b\x92\x50\x14\x45\xea\xb8\xb2\x6f\xd0\x11\xb9\x29\x66\x5c\x58\xe0\x53\xd0\x56\xc1\x0a\x89\x04\x21\x61\xc7\xf6\x90\x49\xa2\xad\x60\x39\x4f\xb8\xac\xb4\x53\x87\x91\x7e\x4f\x27\xc5\x56\x34\xb2\xf2\xdb\x72\x01\x8c\xab\x39\xbc\x00\x5d\x62\xc2\x59\x0e\x36\xd7\x28\x6b\x36\xc4\x01\x08\xc4\x54\x13\xa6\x55\x4b\x83\x91\x36\x6b\x35\xe8\xda\x8c\x16\x8b\x22\xf4\xad\x06\xa1\x25\x65\x19\xab\xc6\xf9\x41\x9d\x43\x43\x8d\xd8\x6c\x04\x2b\x96\xd7\xc6\x64\x36\x5c\x3b\x8b\x6d\xd6\x76\x33\x98\x5f\x1d\x67\xaf\x60\x21\xf9\xa8\x5b\xa9\x0f\x25\x99\x41\x88\x72\x3c\xc9\x0c\xae\x57\x75\xa6\x19\xcc\x31\xad\xbd\x90\x23\x6a\x6b\x07\x9e\x26\x28\x99\xd9\x90\xdd\x29\x0c\xbc\x59\x6f\xac\xe3\x9b\x7d\xc9\xc9\xf6\xac\x59\x59\xa7\x4b\x87\xa5\x11\x04\xf9\x97\x98\x75\xf2\x2a\x45\xfc\xe0\x67\x18\xd5\x82\xe8\x60\x23\x9a\x1e\x90\xcd\xed\x38\x0f\x4e\x4a\x31\x0b\xb5\xda\x6a\x1e\x36\x6c\x8b\xc0\xea\xa5\x4d\xa8\xdc\x1f\xcb\x48\x2b\x4b\xe2\xa3\xfd\x75\x88\x8d\xb2\xaf\xb1\x07\x72\xf1\xff\xba\x29\x22\xbe\x14\x43\x6f\x02\x53\x39\x9e\xa5\xd0\xc0\x86\x98\xba\x7f\xce\x0f\x76\x78\x17\xbd\xa4\xc7\xd6\x20\xe3\x05\xf6\xfc\xf2\x8a\xfe\x3e\x9f\xce\x4e\x1f\x00\xfa\x92\xeb\x32\x67\xfb\x07\x42\xdb\x18\xf2\x92\x19\xf6\x20\xf8\xab\xb6\xec\x7d\x3e\x8d\xd3\xee\xfb\xbb\xe4\xfa\x90\xba\x81\x1e\xbd\xe3\x26\xd9\x38\xb5\xdc\xf4\x28\x4e\x98\xc6\xe3\xe5\xbd\xec\xc1\x07\x7a\xbc\x13\xc1\x74\x10\x9a\x9e\xcc\x78\xad\x2c\x6b\x7b\x6b\xf9\xbc\x8f\x46\x67\xc0\xf4\xa3\xc3\x84\xf8\xc5\x17\x7d\xe5\xb5\xc4\x34\x4a\x7e\x10\x39\xa1\x89\x1c\x41\x50\xb3\xfc\x62\x90\xa2\xd9\x43\x55\xd6\x4a\x65\x58\x6b\x54\x53\x16\x98\x72\x06\xe7\x71\x5f\x3c\xff\x8d\xde\x8e\x2b\xcb\xca\x88\xe7\xb8\xec\x80\xfd\xeb\xea\xea\xf5\x25\xcf\xf1\x30\x64\xa5\xf2\x25\x4c\x36\xc6\x94\x7a\xb9\x58\x30\xad\xd1\xe8\xf9\x0e\x57\x9a\x1b\x7c\x4c\x68\xf5\x3c\x91\xc5\xe2\xfb\xec\xe9\x37\x3f\x7e\x97\x9c\x25\xff\x60\x3f\x24\x69\xfa\xf4\xbb\x6f\x57\x4f\x92\x1f\xbe\x39\xeb\x7c\x60\xdf\x7f\x9f\xac\x9e\x24\x3f\x7e\xfb\xf4\xc3\x65\x2e\x77\x1f\xfe\x92\x2a\x2d\x98\xfa\x34\xd7\xdb\xf5\x64\x94\x8e\x01\xcf\xad\x1f\x2b\x91\x2b\xdb\xf3\x4e\x78\xc1\xd6\xb8\xd0\xdb\xf5\xd7\xd7\x45\x3e\x8c\xad\xaf\x9d\x48\xb4\x7a\x58\xb6\x7a\xfa\xce\x7e\x7e\x3f\x0c\x7e\x8c\x3f\x79\xed\x8e\xcb\x5a\xb0\x82\x78\xf0\x8d\x40\x83\xcc\x35\xfb\x93\x71\x01\xe8\x7d\xb1\x92\xa4\xa2\x57\x97\x57\x07\x96\xa5\xa8\x13\xc5\x4b\xaa\x51\x97\x30\xb9\xa2\x94\x95\xd5\x5b\xd8\x2a\x8d\xca\xc6\x4a\x63\x0a\xcc\x96\xea\xbe\xe9\xa0\xaa\x6e\x83\x79\x09\x7b\x59\x41\x8a\x5b\xcc\xa5\xfd\x5f\x81\xa0\x2a\xf5\xf2\x0a\xfe\x4f\x0a\xd2\xe4\xfc\xc0\xde\x78\x6d\x50\x09\x96\xff\xf1\xe6\xd7\xae\x0d\xbe\x6a\x3f\x4d\x1b\x23\xf3\x7b\x3f\xce\xcc\x5c\x8a\x8c\x90\x4b\xb5\x9e\x1c\x30\x82\x5c\xae\xa5\x5e\x7a\x15\x1e\x10\x95\xa4\x62\x56\x2f\x07\xc2\x6a\xf8\x4c\xcc\x8e\x1b\x83\x6a\x72\x14\xb1\x7e\xb1\x75\x02\xa2\xf5\xc3\x2a\x97\xc9\xa7\x64\xc3\xb8\x98\x0c\x9b\x0b\xd8\x9c\x31\xf4\xf6\xc1\xb1\x23\x0c\x61\xe3\xd1\x23\xe8\x48\xa3\x7e\xb3\xee\x4c\x7d\x3d\x77\xb0\x29\xcd\x94\x2c\x96\xbd\xf2\x6f\x9c\xd1\xfb\x75\xa7\xae\x6a\x75\x84\x8e\x48\xef\xa8\xe4\x55\x8b\x63\xdc\xdd\xa2\x22\xbf\xcb\xce\xb8\x09\xc5\x95\x7b\xaf\xd6\x3a\x14\xa7\x1c\x89\x01\x60\x5b\x77\x8e\x83\x95\x4a\x6e\x79\x5a\xef\xb7\x28\x15\xdf\x32\x83\xfd\x91\xc0\xdd\x14\xff\xca\xc5\x27\x4c\x5d\xa4\xb4\x06\xf5\xd5\x4d\xdc\x6d\xd5\x95\xe6\xed\x60\xa5\xd4\xe5\xa3\x8f\x6e\x70\x04\x75\x37\x67\x9f\x8d\xc8\x35\xb3\xaf\x8a\xd2\xec\xed\xe2\x7a\x3c\xb7\x84\x69\x56\x09\x2a\x66\x7f\xba\x19\xe8\x2b\x6f\xef\x88\x02\xde\xce\x9e\x3d\x6e\x06\x21\xdd\x8d\xa6\x07\xdc\x7b\xf8\xd3\x03\xfd\x3b\xae\x42\x1f\x5a\xd3\x05\x58\xc6\xdd\x22\x9a\xf3\x46\x8a\x08\xbe\x1c\xc1\xdb\xed\x50\xe3\x20\x78\x3e\xd6\x61\xad\xd1\x10\x6e\xa9\x0c\xa6\xed\x24\x14\xa4\x4d\x58\xb6\xa7\x55\xbe\x07\x63\x90\x73\x6d\x07\x15\xae\x71\x8c\xc6\xae\x5c\x37\xf6\x6e\x6b\xf1\xd2\x8f\x37\xe0\x40\xcf\x33\xb0\x2f\x19\xcd\x8d\x33\xc9\x9f\xa5\xcc\xbb\xa6\x42\xb1\x54\xd7\x50\x16\xa0\xb3\xfc\x1c\x6e\x62\x01\xc4\xab\xdf\x59\xf7\x5f\xa3\xdd\x6c\x3a\x7b\x0f\xe7\x60\x54\x85\x83\xdd\x5c\x04\x78\x74\x2b\xc7\x75\x9f\xab\xa9\x69\x7c\x6c\xe6\x08\x3d\xd0\x40\x8e\xc9\xe5\x9d\xb1\x7d\xe1\xc5\x05\x64\x2c\xd7\x38\xac\x4e\xe0\x82\x1b\xce\x72\xfe\xb7\x9b\x52\xd4\x83\x1a\x66\xda\x81\x8f\x75\x26\x3b\x44\xe7\x45\x8b\x86\x00\xa7\x9d\x49\xcd\xac\xdb\x1f\x11\x7d\x35\xca\xf3\x1a\x79\x4f\x41\x3c\x45\x61\x78\xc6\x51\xc1\x39\x4c\x7a\x01\x73\xd2\xc7\x19\x24\x00\x38\x0f\x67\x20\xd3\x16\xd7\x32\xc0\x3b\x7b\xd4\xc7\xd1\xc6\x74\x38\x0f\x7a\xf5\x7b\x60\x08\xd3\xc9\x38\x8e\x88\xa1\x3a\x72\x4f\x02\x7c\x1d\xff\xfa\x27\x9a\x48\x15\x7e\xbc\x78\x60\x64\x16\x78\xc8\xcf\x0e\x88\xbc\xc2\xa9\xe4\x80\xe1\x74\xd5\xd1\xa1\x63\xc7\xcd\x26\x55\x6c\x17\xbe\x8c\x16\xb4\x87\x2b\xd6\xa3\xd9\x27\x37\x39\x76\xa7\x5c\xbe\x36\x65\x6a\x5d\x15\x28\x4c\x04\xc8\x44\xda\x60\xf7\xf1\xc0\x03\xd9\x93\xbc\x66\x6a\x3c\x1f\xdd\xfa\xdf\xc6\xe7\x12\x0a\x32\x76\x7a\x89\x45\x29\x15\x53\x7b\x3f\x6f\xae\x0f\xee\x6c\x99\x4c\x85\xb1\xcc\xd3\x08\x83\x3d\x06\x72\x27\x6a\x8e\x00\x85\xb0\x42\x2e\xd6\x60\x14\x13\x3a\x43\xa5\x30\x9d\xd3\x46\x2a\x98\x28\x09\xdc\x05\x31\x95\xf0\xd4\x33\x61\xbf\xad\x8c\x26\xc3\x16\xb3\x9b\x31\x83\x96\xc0\x8d\x1d\x27\xdb\x41\x6c\x29\xa9\x2b\x8b\x69\xc2\x5c\xa3\x9d\x53\x0d\x33\xee\x75\x1e\x27\xc8\xbf\xbc\x1c\xd9\x2a\x47\x37\xc8\xa8\x25\xdb\x39\x6e\xa4\xe4\xda\x4f\xd7\x87\x1d\x36\xfa\xf9\xd8\x2b\x69\xc8\x9e\x9e\x3d\x0e\xe7\xd4\x6d\x58\x70\x10\xb3\x31\x13\xf3\x62\xb8\x9f\x85\x79\x51\xcb\xd5\x7f\x30\xe9\x9a\x99\x35\x2d\x96\xa6\x3a\x42\xc3\x8d\x6e\xbc\xc9\x6b\xa8\xe3\x5c\x72\x27\x50\xe9\x23\xac\x8e\x6b\x60\x79\x2e\x77\xce\xaa\x52\xd4\x46\x49\x77\x9a\xa1\x69\x7b\x47\xda\x0a\x13\x56\x69\x6c\x0d\x39\xf6\x2b\x22\x39\x30\x58\x32\x4d\x54\x35\x25\x7e\x0c\x6f\x67\xe7\x7f\xfa\x41\x65\x4d\xec\x86\xc5\x7c\xad\x10\x05\xd9\x9a\xae\x0a\x6a\x06\x45\xea\x4e\x15\x32\x69\x4f\x47\xbc\xa1\x59\x0a\xeb\x33\x8e\x11\x93\x6a\x86\x60\x5e\x21\xbe\x75\x18\x2e\xc6\xba\x41\xbe\x69\x57\xe0\xd9\x63\xe7\xc0\x4c\x3f\x1a\xb2\xb5\xa3\x2d\xed\x6b\x87\xaf\x17\xa0\xe8\x89\xbe\xc0\x39\x9c\xcd\xcf\xa2\xef\xb5\x4a\xe2\x70\xd9\xb1\xbb\x6e\x79\x78\xa4\x01\xc6\x21\xc7\xe9\x9a\xbc\x0d\x58\x68\x4f\x7f\xa3\x92\xbd\x70\x57\x07\x11\xde\xc6\x08\x96\xe7\x14\x6e\x7c\xac\x98\xc3\x0b\x77\xe6\x53\x54\xda\xc5\x0c\x57\x23\xd5\xa7\x55\x3d\x8c\xb6\xff\xb2\x98\x1c\xee\x26\x06\x75\x8f\xe7\xe8\x85\x54\xa9\x3b\x4e\xb2\xc6\xeb\xbe\xc7\x18\x5d\x5f\xe9\xcf\x89\x98\x1b\x35\xd4\x05\x5a\x6d\x16\xba\x39\xbf\x71\x63\x08\x2a\x30\x8e\xb3\xab\x7e\x3d\x7e\x4c\x34\xba\x23\xb8\x9c\xcd\xcf\xc2\xc8\x02\xf1\x51\xa7\x3b\x07\x3b\x81\x91\x93\xbd\x3a\x7e\xb8\xc8\x62\xd9\x61\xf6\x6e\x84\x97\x84\x3b\xf9\x23\xdf\xac\x4f\xcb\xee\x77\x4a\xe6\x8f\xe1\x6e\x22\x29\x13\x1a\x77\x8d\xe3\x48\x8b\x23\x00\x1d\x6c\x7c\x6a\x83\x1b\xe9\xaf\xa8\xed\xc8\x04\xb7\x45\x4e\x47\xed\x2e\x84\xe8\x5a\xde\x51\x1a\x6c\x49\x7f\x48\x5e\x19\x6b\x4f\xba\xe3\x8d\xf0\xd3\xd7\x43\xf9\x06\x0b\x3e\x72\xa9\xc6\xfd\xad\x2f\xd5\xc4\x65\xfb\x3c\xa8\xe3\x3e\x2f\x7d\x75\x8c\x6c\x30\x90\x84\xe6\xf6\x59\x01\xe4\xcb\x06\x8f\x2f\x1b\x38\xbe\x40\xd0\x18\xf2\x9f\x87\x05\x8b\x46\x8d\x70\x47\xa4\xb8\x1d\xba\x1a\x44\x9a\xf1\x69\xa3\x2d\x2f\xea\xfb\x0f\xa7\x80\x59\x86\x89\xe1\x5b\xcc\xf7\xb0\xaa\x94\xb0\x35\x62\x9b\xa9\x7b\x2a\xff\xa9\x64\x8a\x15\xe0\x52\x68\x93\xc6\x83\x76\x4a\x0a\xc3\x78\x07\x8d\x95\x61\xa5\x44\x07\x1b\x5c\xfd\xfe\xf2\xf7\x25\xbc\xc1\x2d\xd7\xdc\x00\xcf\x40\x61\x21\xb7\x2c\x27\xa1\x26\x95\x36\xb2\x70\xa4\x57\x89\x91\x4a\x43\xc9\xb4\xc6\xfa\x9a\x00\xfc\xc5\xf3\xdc\x9e\xff\x5b\x05\xa6\x54\x22\x40\x55\xa6\x24\x20\xb2\xa3\x20\x70\xd4\x10\x6f\x11\xa1\x9e\x96\xae\xb9\xd9\x54\x2b\x3b\x2c\x75\xa3\xdd\x45\x96\xf3\x52\x2f\xca\x2a\xcf\x17\x4f\xbe\x7d\x32\xa8\x3b\xe2\xc1\x87\x09\x5f\x43\xf4\x15\x17\x16\x10\x3c\xb3\x82\x6a\x12\xfa\x73\xd2\xd5\xc0\xb8\xe7\x21\x01\xc4\x55\x23\xf3\xb0\x2b\xea\x78\x32\x04\x05\x03\xad\x0d\x6d\xc4\xf6\xb7\x21\xa9\x36\xa4\xc4\x5b\x3f\x39\x3b\xa3\xfa\x23\x5e\xd2\xbd\x43\x07\xe7\xb0\xf0\x1e\x15\x0d\x03\xdd\x55\xbc\xa8\x19\xff\xc5\x59\x6f\x7b\x6d\xc6\x06\x87\x6e\x94\xb7\x0e\xe5\xef\x1f\x92\x3f\xb3\x2d\x52\x68\xe0\x22\xba\x90\xe3\x50\x36\xff\x46\x55\xda\xb0\x97\x74\x19\x9c\xc5\x7c\x75\x6f\xf5\xc1\xb9\x2f\xc6\x46\xee\x26\x3c\x1a\x00\x7f\x1d\xf6\xdc\x5d\xe8\xf0\x42\x40\x07\xb8\x7f\xdf\x6f\x00\x3e\x3e\x7f\x7f\xd4\x51\x4b\x77\x72\x4e\x62\x9b\xfa\x91\xe1\x29\x18\xb9\x1c\xe6\x72\x36\xa4\xa0\x81\x4b\x02\x9d\xb1\x78\xd0\x85\xe2\x75\x29\x35\x86\x19\xdf\x2e\xfc\xe8\xe3\xe3\x47\x28\xd0\x6c\xa4\xab\xdf\xd7\x68\x5e\xd8\x59\x98\x9f\x22\xd5\xdf\xcc\x46\xc9\x6a\xed\x4c\xe1\x63\xcd\xe7\x47\xb0\x35\x46\xc6\x92\x50\xe3\x75\x1f\x00\x1f\x43\xc3\xff\x38\x88\xc9\x7f\x1e\x46\x14\x99\x4e\x68\xb8\xbf\xb0\xf2\xe0\x45\xb9\x5a\xc2\x5c\xeb\x0a\x9f\x7d\xe5\xc7\xc2\x23\xd2\x1d\xd4\x51\x84\xce\x8a\x5a\x6f\xa6\x1d\x12\x4e\x81\x99\xe5\xa0\x69\xcd\x22\xca\xeb\x21\xcd\x3d\xa9\x1e\x9f\xb8\x7f\x36\x23\x01\x45\x01\x13\x7d\x13\x0f\x4c\x8f\x18\x71\xe5\x69\xeb\xbd\xae\xc2\x9c\x8e\xec\xdc\x31\x73\x0b\x1c\x98\x79\x37\x48\xd5\xe9\xf1\xf6\xe4\xbf\x01\x00\x00\xff\xff\x47\xfe\x17\x8c\xf9\x2d\x00\x00"
-
-func exampletokenV2CdcBytes() ([]byte, error) {
-	return bindataRead(
-		_exampletokenV2Cdc,
-		"ExampleToken-v2.cdc",
-	)
-}
-
-func exampletokenV2Cdc() (*asset, error) {
-	bytes, err := exampletokenV2CdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "ExampleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x47, 0x53, 0xb3, 0x2e, 0xf5, 0x64, 0xc7, 0x31, 0x3e, 0xaf, 0x46, 0xba, 0x15, 0x76, 0xc7, 0xdb, 0x18, 0x81, 0x8a, 0xa1, 0x2, 0x4d, 0xfc, 0x77, 0x4a, 0xce, 0x62, 0xd, 0x18, 0x6a, 0x1b, 0xb}}
-	return a, nil
-}
-
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\xdd\x6f\xe3\x36\x12\x7f\xcf\x5f\x31\xe7\x03\x7a\x36\x9a\x38\xe9\xd7\x5e\x6b\xec\x76\x37\x7b\xdd\xe0\x0e\x68\x8b\x45\x9b\xb6\x0f\xc5\x62\x97\x96\xc6\x36\x2f\x12\xa9\x92\x94\x1d\x77\x91\xff\xfd\x30\xfc\x90\x48\x59\xb2\x1d\xa7\xe7\x97\xc4\x16\x67\x38\x9c\xf9\xcd\x07\x67\xc4\xcb\x4a\x2a\x03\xa3\x9b\x5a\x2c\xf9\xbc\xc0\x5b\x79\x87\x62\x74\x16\x7e\xfe\x01\x0d\xcb\x99\x61\xbf\x72\xdc\xe8\xf6\xe7\x64\x75\x67\xcd\x19\xcb\x32\xd4\x7a\xcc\x8a\x62\x02\x99\x14\x46\xb1\xcc\xc0\x9b\x7b\x56\x56\x9e\x60\x06\x09\x3d\x7c\x3c\x3b\x03\x00\xb8\xbc\xbc\x84\x5b\x69\x58\x01\xba\xae\xaa\x62\x0b\x72\x91\x90\x69\xe0\x02\xf0\x9e\x6b\x83\x22\x43\x4b\x12\x6f\xb5\x66\x0a\x0c\x91\xff\x6c\xa9\x67\xf0\xcb\x0d\xbf\x7f\xf6\xa5\x5d\xd7\xf0\xff\xd9\x48\xc5\x96\x08\x4c\xe4\xf0\xb6\x9e\x17\x3c\x83\xb7\xcc\xac\xf4\x0e\xb7\x02\x0d\xfc\xca\xea\xc2\x78\x0a\x5a\x35\x83\xe8\xcb\x30\x85\xe3\xeb\x08\xda\xff\x7b\xd7\xff\x84\x19\xf2\x35\xaa\x47\x90\x5c\xe7\x25\x17\x83\x42\xb5\x8a\x5c\x21\xe0\x1a\x85\x01\xb3\x62\x06\xb8\x06\x2c\xb9\x31\x98\xc3\x66\x85\x02\xcc\x0a\x5b\xdb\x70\x0d\x99\x42\x66\x30\xdf\xd9\xd1\xb1\x70\xea\xff\x8f\xe0\x86\xb3\x82\xff\x89\xf9\x98\xbb\xff\x53\x55\x4f\x8e\xdf\xde\xd9\x93\x29\x84\x0d\x37\xab\x5c\xb1\x8d\x80\x85\x92\x25\x30\xa7\xc3\xbd\x82\xfc\x16\x48\xc6\xac\x94\xb5\x30\x61\xff\x73\xcb\x62\x06\xd7\x79\xae\x50\xeb\x97\x27\xc9\x93\x63\x25\x35\xa7\x27\x46\x1e\x25\xcd\x77\x81\x60\x47\x1a\x23\x4f\x91\x45\xe0\x26\x96\xa7\xe4\xe2\x90\x61\x7e\xb0\x4b\x3a\xdb\x9f\x78\x78\x6d\x94\xdc\x1e\xd8\xef\x75\xad\xc4\x13\xf6\x63\xf6\x88\xf6\x5c\x0a\x14\x6a\x59\xab\x0c\x0f\x83\xd0\x9e\x52\xfd\xcb\xad\xa1\x07\x72\x83\xf9\xf5\x93\x64\x98\xd3\x41\x1e\x23\x83\x3d\x79\x23\x43\xb4\xdd\x1b\x96\xad\xa0\xd6\xa8\x40\x1b\xa9\x50\x03\x13\xc0\x85\x36\x4c\x64\x48\x71\x4c\x8a\x62\x6b\x9d\xce\xe2\x89\x02\x99\x59\x21\x77\xab\xd9\x12\x13\xb1\x17\xb5\xc8\x0c\x97\x2e\xde\xb5\x34\x14\xb2\x96\x72\x8d\xa4\x7b\x98\x3b\x6e\x95\x72\xa1\xac\x92\xda\x90\x3f\xe7\xdc\x12\x36\xec\xb8\xe8\x84\xda\xe0\xfc\x5b\x6b\xee\x8c\x15\x05\xe6\xd3\x64\xf7\x6c\x85\xd9\x9d\x86\x15\xab\x2a\xd2\x93\x01\x55\x0b\xc3\x4b\xb4\xa4\xb8\x46\x05\xac\x91\xd0\x2a\x2c\xe5\xd1\xf0\xfa\xc9\x2b\x95\x56\x08\x77\xfe\x39\x06\xf5\x86\x93\x51\x08\xc2\x7b\x43\x1a\x4a\x22\x92\xb5\x19\x89\xd9\xb0\x73\xe8\x5c\x70\x61\x89\xcf\x41\x4b\x7a\xae\xac\xcd\x84\x84\x0d\xdb\xc2\x42\x92\x6c\x25\x2b\x78\xc6\x65\xad\x9d\x39\x8c\xf4\x7b\x3a\x2d\xb6\xaa\x91\xb5\xdf\x96\x0b\x60\x5c\x4d\xe1\x1a\x74\x85\x19\x67\x85\x47\x5a\x0b\x0b\x81\x98\x6b\xe2\x34\x6f\x65\x30\xd2\x22\xb8\x61\xd7\x7a\x6d\xaa\x8a\x18\x43\x0d\x43\x2b\x4a\x27\x0b\x4e\xdf\x2a\xb9\xe6\x39\xaa\xf3\xce\xef\x21\x47\x74\x7f\x7f\xcd\x0a\x42\xd7\x39\x24\xf9\x77\x4a\x7a\x2f\xc8\x4c\x3e\xab\xc6\xb6\xb5\xe9\x11\xe6\x8e\xd0\x9f\x5e\xc3\xba\x09\x71\x7d\x29\xd5\xaf\x6e\xd2\x69\xc2\xb4\x4d\x09\xd6\x7e\x81\x33\xa1\x26\x9c\xd5\x6a\x9f\xb0\x42\x20\x6a\x88\x29\x7f\x8c\x3b\xac\x27\xf0\xb1\x79\x4e\x1f\x8d\xc5\x62\x1a\x58\xbe\x08\xcc\x9b\x25\x0f\xa9\x28\x37\x01\x93\x0e\x3b\xec\xce\x39\xa1\x0b\x52\xc0\xdc\x17\xb5\xac\x4b\x14\x26\x21\x24\xff\x09\x49\x48\x3b\x6a\x4f\x64\x13\x52\xe3\x80\xd3\xf4\xe4\xc6\xe3\x4a\xfb\x58\x62\x90\x6a\x23\xa6\xb6\xde\x5d\x43\xd8\xa9\xb5\x43\xcb\x4a\x16\x79\xc2\x81\x18\x97\x52\xe0\xb6\x59\x3a\x47\x2e\x96\x60\x14\x13\x7a\x81\x4a\x61\x3e\xa5\x6d\x14\x9a\x5a\x09\x6d\xd7\x0b\xdc\x14\xdb\x84\x4b\x70\x28\xbf\xa9\x4c\xdc\xca\x32\x76\x0e\x4a\x0e\xc3\x8d\xf5\xc5\x79\x94\xe4\x12\x5e\x58\x68\xdc\x90\x53\x25\x47\x4d\x96\xbc\xaa\x98\x62\x25\x84\xd0\x4f\xa0\xf2\xca\x22\x34\xb9\x44\xe2\x1c\xa5\x93\xd7\x49\xac\x14\x68\x96\x9d\x3b\x9c\xe5\xe3\x4e\xd0\xe2\x46\x0a\xc3\xb8\xb0\x1a\x59\x25\xec\x6a\x91\xeb\x5e\x01\x3d\x74\x53\x37\x09\xc5\x02\x9b\x17\x38\x21\xe2\x86\x55\x37\x81\xcd\xe0\x55\x4a\xea\x24\xda\x0b\xca\xe4\xeb\x85\xd7\x45\x42\x40\x69\x67\xb0\x6e\x71\x7f\x43\xdd\x62\x99\xc9\x8d\x40\xf5\x72\xca\x5c\xdd\x30\x49\x78\x79\x6d\x3d\xbf\x88\x43\x5a\xeb\x46\x8e\xdb\xe4\x51\x1e\xe2\xd5\x2e\xe7\xff\xc5\xac\xeb\x26\xd6\x35\x58\x9e\x6a\x1b\xb8\xd1\x8d\xa3\x7b\xbc\x25\x11\x05\xc1\x1e\x41\x0f\x78\x0d\xd7\xe0\x73\x37\x51\xfb\x82\xc3\x92\x69\xda\xd2\x89\x33\xc7\x8c\xd5\x1a\x5b\xe7\x4b\xb8\x6c\x48\xcc\xc8\xe1\xc8\xb5\x50\x85\xdd\x7d\x14\x6e\x31\xf5\x8f\x56\xde\x15\x4b\xcf\x32\x47\x14\x84\x34\x5d\x97\x98\xdb\xe3\xda\xa4\xb2\x90\x36\x39\x7a\x57\xf1\x25\xd1\x41\xa7\x70\x46\x3c\x0c\x65\x0b\x60\x67\x84\x0d\x2f\x8a\x41\x7f\xec\x0d\xc9\x04\x60\xbf\x7a\xec\x36\xec\x03\x6d\x37\x94\xd2\xc5\xc1\x7a\x1f\x3c\xbf\xf0\x75\xb6\xfe\x1b\xbc\x8a\x6f\x57\xd3\x54\xcf\x87\xb0\xfe\xa9\xe3\x37\xed\x46\xe5\x0e\xe4\x77\x8b\xe3\x84\xcc\xd5\xc8\x07\x71\x9f\xd0\xc0\x0b\xb8\x9a\x5e\x25\xcf\x03\x8a\xd2\x00\x13\xc1\xdf\x2f\x18\x77\xf5\xc2\x17\xe9\xa9\xbe\x25\xd6\x9d\x35\xf4\x49\x14\x15\x5d\x32\xe1\xc5\xf0\xa3\x8b\x84\x75\xc2\xf2\x61\xc8\x45\x09\x3c\x54\xca\xc8\x05\x2c\xd1\x18\x42\x0c\x2b\x0a\x8b\x9a\x90\xe5\xc1\xa6\x79\xe0\xb4\x29\x39\xa9\x2b\x06\x63\x29\x86\x71\xea\xe3\xc7\x35\xb9\xb8\x72\xdb\xdc\x6e\x2b\xd4\xae\xaa\x09\xf8\x8c\x59\xaf\x6d\x4d\x01\xb7\xae\x4e\x28\x6a\x6c\x20\x6b\xf3\xda\x3c\x4d\x46\xad\xba\xd7\x58\xc8\x8a\x82\x80\x91\x70\x27\xe4\x06\x36\x2b\x9e\xad\xc0\x3a\x0a\x1a\x57\x97\x55\x4c\xeb\x10\x41\x94\xab\x5a\xe8\x6c\xe3\x09\x94\x68\x56\x72\xc0\xe1\x92\xfa\x84\xe3\xc6\x7a\xc4\x12\x8d\x55\xcb\x78\x32\x83\xdf\xe9\x48\xef\x3e\xf6\x05\x4e\xfb\xe8\xf9\x70\xf3\x62\x7a\x73\x4b\x7f\xbf\x1d\x4f\xce\x77\x20\x40\x9f\xc3\xe4\xdf\x71\x5d\x15\x6c\xfb\x04\x0e\xd6\x0d\xbf\x63\x86\x9d\xcc\xe3\xb6\x05\xe1\xb7\xe3\xc9\xbb\xc7\x60\x2d\x45\x59\x5b\x23\xe3\x91\x00\x73\x81\x90\xcc\xe2\x02\x21\x89\x1a\x38\xe4\xa8\xb9\xf2\x90\x9a\xf6\xe3\x12\xb4\x51\x75\x66\x6a\x45\x80\xa8\x14\x52\x46\x08\xa8\x54\xf8\x47\x8d\xda\xf4\x31\x18\x0c\x94\x31\xaa\xde\x07\xb1\xb6\x15\x4e\x66\x70\x2d\xb6\x3f\xdb\xcd\x5e\x76\x13\xfc\x86\x9b\x6c\xe5\xa0\xb5\x1b\x08\x32\xa6\xf1\x18\x23\x3a\x14\xcd\x7a\xed\xe7\x4f\x7b\x90\xc1\xb8\x97\x9a\x3e\x0b\xe3\x71\xe6\x63\x67\x7c\xce\xc7\x60\x74\x62\xd3\xc0\x31\x8b\x5f\xf6\x43\xd1\x09\xd3\x40\xf6\x24\x71\x62\xc0\x1f\x21\x50\xb3\xfc\x65\xaf\x44\x93\x53\x4d\xd6\x6a\xa5\xdf\x6a\x94\x42\x4b\xcc\x39\x83\x17\x9d\x1b\xd7\x0f\xf4\xeb\x1e\x63\xf1\x02\x67\x1d\x92\x7f\xdf\xde\xbe\xbd\xe1\x05\x0e\x53\xd1\xa7\x56\xc5\x0c\x46\x2b\x63\x2a\x3d\xbb\xbc\x64\x5a\xa3\xd1\xd3\x0d\xce\x29\xa1\x5e\x10\x5b\x3d\xcd\x64\x79\xf9\xd5\xe2\xd9\xe7\xdf\x7c\x99\x5d\x65\xff\x64\x5f\x67\x79\xfe\xec\xcb\x2f\xe6\x9f\x65\x5f\x7f\x7e\xd5\x79\xc0\xbe\xfa\x2a\x9b\x7f\x96\x7d\xf3\xc5\xb3\xf7\x37\x85\xdc\xbc\xff\x4d\xaa\xbc\x64\xea\x6e\xaa\xd7\xcb\xd1\xa0\x1c\x03\x31\x88\x3e\x56\x1b\xa4\xd8\x19\x8c\x78\xc9\x96\x78\xa9\xd7\xcb\x4f\xef\xcb\xa2\x9f\xdb\xae\x65\x12\xb5\xea\x7e\xbd\xea\xf1\xef\xf6\xf1\xbb\x7e\xf2\x63\x7c\xc9\x5b\x76\x58\xd7\x82\x95\x74\x06\x1f\xe2\x1a\x66\xae\x84\x19\x0d\x2b\x40\x6f\xcb\xb9\x24\x13\xbd\xb9\xb9\xdd\xb3\x2c\x47\x9d\x29\x5e\x51\xe9\x3d\x83\x91\x4d\xa5\x8b\xb0\x85\x2d\x56\x9b\x6b\xa2\x2b\xbf\xd1\xcb\x41\x97\x46\x2c\x2a\xd8\xca\x3a\x64\x54\xfa\x5f\x81\xa0\xbb\xdd\xcd\x2d\xfc\x5d\x0a\xb2\xe4\x74\xcf\xde\x78\x6f\x50\x09\x56\xfc\xf2\xd3\xf7\x5d\x0c\xbe\x69\x1f\x8d\x1b\x90\xf9\xbd\x2f\x16\x66\x2a\xc5\x82\x98\x4b\xb5\x1c\xed\x01\x41\x21\x97\x52\xcf\xbc\x09\xf7\xa8\x4a\x66\x9c\x15\x7a\xd6\x13\x52\xe3\xcf\xc8\x6c\xb8\x31\xa8\x46\x47\x09\xeb\x17\x5b\x27\x20\x59\xdf\xcf\x0b\x99\xdd\x65\x2b\xc6\xc5\xa8\x1f\x2e\x90\x14\x5f\xf1\xe7\xe4\xb8\x11\x87\xaf\x27\xc4\xfb\xc0\x65\x18\xa5\x3a\xee\xf9\xef\x56\xee\xd1\x14\x60\xd8\x0c\x2a\xcc\x1b\x76\x99\xec\x8e\x22\xf6\x79\xbe\x93\x7e\x48\x96\x63\x78\x54\xbe\xdd\xe5\x78\x5c\x56\x8a\xaf\x99\xc1\x00\x40\xcb\xcc\xf2\x3a\x7c\x98\xef\xb9\xb8\xc3\xdc\x05\x22\x6b\xaf\x4f\x76\x25\xfa\xd8\xdf\x53\x7b\x18\x2c\xb2\xe2\x63\x9e\xb0\xc1\x81\xe6\xdc\xfe\x7d\x83\x6a\x4e\xd8\x37\x34\x11\xf7\x6f\xe0\xda\x07\x6f\xca\xca\x6c\x2d\x93\xd0\x19\x98\xc1\x78\x51\x0b\x2a\xa2\x7b\xae\x86\x07\x5c\xb7\xe9\x4d\x24\x94\xdd\x9d\xc6\x7b\xfc\xb2\xff\xd1\x89\x8e\x99\x16\xc1\xa7\x3a\x66\xc4\x65\x9c\xcc\x16\x87\x6e\x7d\x93\x81\x7b\x5e\xb4\x9d\xe0\xc5\x59\xba\xe0\xa1\x9d\x23\xa4\x3d\x9a\xb4\xc3\xe8\xac\xb0\xe1\x66\x05\x2c\x6e\xb9\xfc\x89\x4a\xb6\x7d\x72\x91\x37\x1d\x43\xde\x36\x04\x59\x51\x50\x21\xed\x1b\x83\x53\xb8\x76\xdd\xf1\xb2\xd6\xae\x41\xe8\x3a\xc1\xa1\xaf\x9f\x70\xb3\x03\x0d\x5f\x82\x1b\x3b\xf9\x19\x18\x62\xd0\x0f\x52\xe5\xee\x72\x67\x7b\x3c\xee\x79\xcb\x2d\xcb\x6c\xab\xd0\x35\x08\x99\xcb\x7f\xc1\x8d\x43\x57\x43\x37\x7d\x69\x97\x1b\xcd\xb6\xc2\xdd\xe9\x42\xdc\x38\x6c\x75\x13\x3a\x2e\x83\x1d\x78\xba\x14\xec\x42\x72\x06\xaf\xba\x08\x3f\xd0\x69\xbb\x9a\x5e\x4d\x62\xd3\xf5\x76\xf9\xed\xa4\x96\x6b\xa3\x98\x91\x3b\xed\xf8\x01\x43\x47\xd6\xeb\x1d\x93\x1d\x6c\xcc\xa6\x63\x31\x52\x4f\xc9\xee\x79\x59\x97\xf0\x47\xcd\x84\xe1\x66\x1b\x77\x6a\xfd\x98\x25\xec\x92\xc9\xba\xc8\xbd\x30\x83\x7d\xda\xee\x74\xc4\x35\xb2\x2c\xa5\x37\xba\x1b\x8d\xf8\x4d\x8e\xba\xa8\xb9\x2d\x7f\xc4\x8d\x63\x3e\x30\xdd\x9b\xc1\x2b\xbf\xf9\xc7\xdd\x7e\xd3\xde\xf1\x60\xf2\x75\x7f\x4f\xb5\x5f\x82\x01\x06\x7b\x3b\xac\xc3\x46\xed\xcc\x1d\x0f\x36\x6c\x48\xed\xaf\x8f\xa0\x19\x54\xab\x23\xb6\x48\xf7\x7c\x7a\x34\xd8\x1d\x6e\xee\xd3\x52\x60\x38\x1c\xc9\xc2\xfc\x2f\xb4\x96\x1d\xd6\xac\x4b\x33\x72\x8c\x10\x0d\xdc\x7c\x70\x25\x8b\x66\xa6\xf6\xb8\x59\x5a\x83\x88\x9d\xe6\xc6\xee\x60\xa2\x03\xf7\xb4\x15\xdd\x8c\xf3\xba\x5b\xad\x99\xea\xfa\x55\xdf\x2c\x2c\x35\x3e\x71\xd3\xd1\x49\xce\x6d\x23\x9d\x76\x2f\x43\x50\x36\xd1\xbb\x2e\xe7\x09\xab\x18\x31\x31\x45\x37\x8c\x3f\x66\x4c\xd3\xe7\xfe\x9d\x43\x3f\x6e\x22\xe3\x5e\x4c\x78\x8c\x97\x13\x85\x6b\x0b\xf7\x8c\x5e\x0e\x16\x1c\x95\xc2\x9e\x12\xc4\x1b\xd9\x36\x6e\x67\x30\x72\x06\x0a\xb2\xd9\xf4\x36\x47\x58\x5a\xd0\x2a\xb2\x8c\xb0\xe9\x72\xf7\x86\xea\xf9\x3c\xf7\x6d\xee\x8e\xbd\x07\xf8\x16\xa8\xb5\x63\x4a\x0a\x09\x58\x72\xac\x46\x7b\x2a\x81\x53\xda\xc9\x9f\xf6\x0d\x97\x76\x65\x85\xbe\x03\x1c\x9c\x4c\x75\xde\x20\xe9\x0e\x92\xe0\x49\xb3\x27\x3b\xeb\xed\x8f\xe8\x7d\xc3\xb5\xee\x71\x92\xef\x7f\x75\xbc\xa1\x48\x7c\x7c\xac\x69\x62\xe7\x1e\xc7\xf7\xa3\x86\x76\xb4\x16\x5e\x03\x39\x07\x5c\x2c\x30\x33\x7c\x8d\xc5\xd6\x6e\x1c\x3c\x29\xde\xbf\xeb\x43\xb4\xc1\x8f\xd2\xe0\xcc\x0d\xda\x5c\xfd\x15\xbd\xb1\xc3\x6a\x23\x4b\x66\x38\x85\x86\x2d\xe8\x7a\x6e\x5f\xa0\xc0\xbc\x99\xba\x26\x9c\xe2\x90\x93\xbe\x5d\x62\xc5\xae\x33\x23\xd5\x5f\x36\xe7\x8a\xc6\xc1\xb5\xea\x6f\x1a\x77\x23\x04\x2d\xf4\x11\xe2\xff\x3d\xdc\x22\x2a\x16\x30\x36\x3c\xcb\xea\x1f\x2d\x75\xdc\xa7\xf3\x42\xd4\xae\x2f\x44\x58\xb5\xde\x10\x1f\xc1\x82\x3e\x0d\x02\x9f\x5d\x5d\xc5\x23\x2e\xbb\xa2\x7b\xc9\x87\x17\x70\xe9\x0b\xef\xdd\x4b\x73\x0f\x69\x7b\x27\x27\xca\xca\x7e\x4b\x08\xc3\xcd\x27\xa5\xdd\x6d\x0b\x0c\x90\x87\x85\x29\x79\xf7\x6d\xc5\x21\xa9\xed\xba\xd8\xad\xc0\xd5\x21\x11\x42\xed\xc5\xa7\x9b\x37\xa3\x6c\x66\xef\x2a\x6c\x8d\x74\xed\xe1\x22\x5c\x4a\x5a\x34\x27\x30\xe9\x0f\x62\x5d\x53\x4c\xd2\xc3\xf8\x08\x32\xa5\x5d\xc6\xcf\x2f\x2c\xb3\x68\x82\xd9\xb5\xd0\xa4\xef\x3c\x0c\x9c\xee\x20\x63\x15\x9b\xf3\x82\x32\xb2\xcf\xee\xf6\xa2\x95\xc7\xaf\x8f\xe0\x7d\x25\x35\xc6\xc9\xd5\x2e\xfc\xe0\xaf\x4a\x1f\xfc\xa0\x0c\xcc\x4a\xc9\x7a\xe9\xb4\xf3\x21\x18\xe2\x03\xd8\x2a\x67\xc1\xb2\x48\x09\xc9\x39\x0a\x2e\xee\x9e\x7f\x32\xdc\x1a\xd9\x8d\xcd\x87\x9a\x44\x86\xa9\x25\x9a\x01\x7d\x34\x2b\x9f\xae\x18\xfb\x3a\xd9\x90\x76\xbc\x39\x3f\xc0\x82\x63\xd1\x4c\xf5\xe1\x43\x34\x96\xe8\xd7\xdc\xeb\x40\xd8\x28\x6e\x9f\xde\x8e\xed\x01\xf5\x2a\x72\x6f\x9b\xec\xd1\x5a\xb4\xb1\xcc\x26\xb9\x16\xda\xc9\xed\x73\xbc\x1f\xc9\x96\x36\x42\x72\xd7\x6b\x53\x83\xbd\xa1\xc0\xc7\x44\xfc\x7a\xa5\x5e\xc9\x4d\x54\x5f\x37\xef\xf1\x6d\x98\x06\xde\xbe\x36\xdc\x70\x89\x62\xe7\x9e\xb7\x8a\xfb\xdd\xf1\xe1\xec\xe1\xec\x7f\x01\x00\x00\xff\xff\x3a\x10\x8f\x4f\xb6\x2e\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x47\x72\x7a\xc9\xb6\x1a\x3b\x6e\xda\xc6\xbb\x3b\xd3\xce\x64\x12\xb7\x7d\xc8\x64\x12\x88\x3c\x94\xb0\x21\x01\x0e\x00\x4a\x56\x3d\xfe\xef\x3b\x07\x00\x49\x80\x17\x59\x76\xf2\xb4\x7c\xb1\x45\xe2\x1c\x9c\xfb\x0d\xe0\x45\x29\x95\x81\xab\x4a\xac\xf9\x2a\xc7\x6b\xf9\x09\x05\x64\x4a\x16\x30\x89\xde\x4d\x4e\xfc\xca\xdf\xd1\xb0\x94\x19\xf6\x27\xc7\x9d\xf6\x2b\xa3\x77\xcd\xca\x08\x7e\x08\x6c\x7c\x41\x83\x83\x7e\xbd\x41\x2d\xf3\x2d\x2a\x0f\x15\xbe\x9a\x9c\x9c\xb0\x24\x41\xad\xa7\x2c\xcf\x67\x90\x48\x61\x14\x4b\x0c\xbc\xba\x61\x45\xe9\x11\x2f\x63\x24\xb7\x27\x27\x00\x00\x8b\xc5\x02\xae\x37\x08\xb8\x45\x61\xc0\x6c\x98\x01\xae\x01\x0b\x6e\x0c\xa6\xb0\xdb\xa0\x00\x81\x3b\x30\x84\x41\x03\x53\x08\x05\x17\x06\x53\x0b\x1c\xee\xe9\x10\xd8\x9d\xf4\xef\x76\xc9\x94\x15\xb2\x12\x66\x09\x7f\x5c\xf1\x9b\xe7\xdf\x9d\x82\xd9\x97\xb8\x84\xb7\x46\x71\xb1\x9e\x05\xdb\x4b\xc3\x72\xd0\x55\x59\xe6\x7b\x90\x59\x44\xb4\x06\x2e\x00\x6f\xb8\x36\x28\x12\xec\x6d\xba\x65\x0a\x0c\x81\xbf\xb5\xd0\xf5\x56\x2d\xee\x97\x69\xc1\x05\xbc\x66\x66\xd3\x83\xcd\xd1\xb8\xcf\x6f\x8d\x54\x6c\x8d\xb4\x88\xa8\x6b\x7e\xb4\x58\xfe\xd0\xa8\x2c\x12\x3d\x88\xe5\x4f\x56\xe5\x66\x14\xcb\x28\xc4\xeb\x6a\x95\xf3\xc4\x01\xb4\xff\x0f\xae\x7f\x83\x09\xf2\x2d\xaa\x11\x90\x86\xd0\xab\x4a\x24\x86\x4b\x01\x46\x82\x42\x53\x29\x01\x66\x83\x56\xf0\xda\x29\x97\x7e\x36\xe6\xc1\x49\xce\x05\x0a\xd3\xe7\x6b\xcb\x71\x07\x59\x25\x60\x8d\xc6\x52\x7b\x4d\x38\xa6\xb3\x25\xbc\xa3\xff\xde\xc3\xad\x05\xa1\x87\x08\xa4\x1d\x5e\x2a\xc5\xf6\xcd\xf7\x0b\xf7\xcf\xf9\x4f\xa1\x3a\xe7\x16\xd5\x8b\xe9\xec\x7d\x03\x5d\x93\x59\x23\xb0\x1f\xee\x4e\x0e\x13\x44\xbe\x31\x4a\xcb\x96\xf6\x78\x83\x19\x5c\x80\xc6\x3c\x9b\xb3\x24\x21\x3b\x9c\x27\xac\x64\x2b\x9e\x73\xc3\x51\xcf\x57\x52\x29\xb9\x3b\xff\x6a\x88\xba\x45\x69\x45\xbb\xc0\xe0\x9b\xfd\x34\x6b\xf6\xa1\xe7\xf2\x12\x4a\x26\x78\x32\x9d\xfc\x22\xab\x3c\x05\x21\x0d\x38\xb4\xc0\x40\x61\x86\x8a\x6c\x96\x54\x41\x42\xb7\x54\x81\xaa\x1d\xb6\x45\xd5\x95\x44\x4d\xfe\xbc\x65\x74\x4c\x26\x24\x0e\x8f\x91\x56\x4e\x3f\x58\x29\x2d\x81\xa4\x32\x5b\xc2\x4b\xb1\x7f\x6b\x54\x95\x98\xcb\xff\x51\x09\x85\xbc\x13\xe7\x91\xa0\xc8\x1f\x2c\x4d\xf5\xaf\xe6\xed\x2b\x96\x6c\xa0\x22\x9f\xd6\x46\x2a\xd4\xc0\x04\x70\xa1\x0d\x23\x62\x64\x06\x52\xe4\x7b\x4b\x91\x05\xa7\x08\x64\x36\xc8\xdd\x6a\xb6\xc6\x28\x6e\x66\xde\xe3\xb4\x5f\xe6\x61\x98\x48\x61\x2d\xb7\xa8\x04\xa6\xb0\x72\xd8\x4a\x85\xf6\x7d\x29\xb5\x21\x1f\x4c\xb9\x05\x6c\xd0\x71\xd1\x49\x3f\x36\xfa\x9a\x0d\xee\x6d\xdc\x4d\x58\x9e\x63\x3a\x8f\x76\x4f\x36\x98\x7c\xd2\xb0\x61\x65\x89\x02\x98\x01\x55\x09\xc3\x0b\xb4\xa0\x48\x61\x9e\x35\x14\x52\x5c\xef\xe0\x68\x70\x51\x56\xa8\x54\x82\xb4\x42\x38\xfe\x57\x08\x89\x42\x46\x59\xc0\x73\x46\x61\x03\x6f\x0c\x49\x28\x8a\x22\x75\x5c\xd9\x37\xe8\x88\xdc\x14\x33\x2e\x2c\xf0\x29\x68\xab\x60\x85\x44\x82\x90\xb0\x63\x7b\xc8\x24\xd1\x56\xb0\x9c\x27\x5c\x56\xda\xa9\xc3\x48\xbf\xa7\x93\x62\x2b\x1a\x59\xf9\x6d\xb9\x00\xc6\xd5\x1c\x5e\x82\x2e\x31\xe1\x2c\x07\x9b\x6b\x94\x35\x1b\xe2\x00\x04\x62\xaa\x09\xd3\xaa\xa5\xc1\x48\x9b\xb5\x1a\x74\x6d\x46\x8b\x45\x11\xfa\x56\x83\xd0\x92\xb2\x8c\x55\xe3\xfc\xa0\xce\xa1\xa1\x46\x6c\x36\x82\x15\xcb\x6b\x63\x32\x1b\xae\x9d\xc5\x36\x6b\xbb\x19\xcc\xaf\x8e\xb3\x57\xb0\x90\x7c\xd4\xad\xd4\x87\x92\xcc\x20\x44\x39\x9e\x64\x06\xd7\xab\x3a\xd3\x0c\xe6\x98\xd6\x5e\xc8\x11\xb5\xb5\x03\x4f\x13\x94\xcc\x6c\xc8\xee\x14\x06\xde\xac\x37\xd6\xf1\xcd\xbe\xe4\x64\x7b\xd6\xac\xac\xd3\xa5\xc3\xd2\x08\x82\xfc\xaf\x98\x75\xf2\x2a\x45\xfc\xe0\x67\x18\xd5\x82\xe8\x60\x23\x9a\x1e\x90\xcd\xdd\x38\x0f\x4e\x4a\x31\x0b\xb5\xda\x6a\x1e\x36\x6c\x8b\xc0\xea\xa5\x4d\xa8\xdc\x1f\xcb\x48\x2b\x4b\xe2\xa3\xfd\x75\x88\x8d\xb2\xaf\xb1\x47\x72\xf1\xff\xba\x29\x22\xbe\x14\x43\x6f\x02\x53\x39\x9e\xa5\xd0\xc0\x86\x98\x7a\x78\xce\x0f\x76\x78\x17\xbd\xa4\xc7\xd6\x20\xe3\x05\xf6\xfc\xea\x9a\xfe\xbe\x98\xce\x4e\x1f\x01\xfa\x2b\xd7\x65\xce\xf6\x8f\x84\xb6\x31\xe4\x57\x66\xd8\xa3\xe0\xaf\xdb\xb2\xf7\xc5\x34\x4e\xbb\xef\xef\x93\xeb\x63\xea\x06\x7a\xf4\x8e\x9b\x64\xe3\xd4\x72\xdb\xa3\x38\x61\x1a\x8f\x97\xf7\xb2\x07\x1f\xe8\xf1\x5e\x04\xd3\x41\x68\x7a\x32\xe3\xb5\xb2\xac\xed\xad\xe5\xf3\x21\x1a\x9d\x01\xd3\x4f\x0e\x13\xe2\x17\x5f\xf6\x95\xd7\x12\xd3\x28\xf9\x51\xe4\x84\x26\x72\x04\x41\xcd\xf2\xcb\x41\x8a\x66\x8f\x55\x59\x2b\x95\x61\xad\x51\x4d\x59\x60\xca\x19\x5c\xc4\x7d\xf1\xfc\x77\x7a\x3b\xae\x2c\x2b\x23\x9e\xe3\xb2\x03\xf6\xaf\xeb\xeb\xd7\x57\x3c\xc7\xc3\x90\x95\xca\x97\x30\xd9\x18\x53\xea\xe5\x62\xc1\xb4\x46\xa3\xe7\x3b\x5c\x69\x6e\xf0\x29\xa1\xd5\xf3\x44\x16\x8b\xef\xb3\xe7\xdf\xfc\xf8\x5d\x72\x96\xfc\x83\xfd\x90\xa4\xe9\xf3\xef\xbe\x5d\x3d\x4b\x7e\xf8\xe6\xac\xf3\x81\x7d\xff\x7d\xb2\x7a\x96\xfc\xf8\xed\xf3\x0f\x57\xb9\xdc\x7d\xf8\x4b\xaa\xb4\x60\xea\xd3\x5c\x6f\xd7\x93\x51\x3a\x06\x3c\xb7\x7e\xac\x44\xae\x6d\xcf\x3b\xe1\x05\x5b\xe3\x42\x6f\xd7\x5f\xdf\x14\xf9\x30\xb6\xbe\x76\x22\xd1\xea\x61\xd9\xea\xe9\x3b\xfb\xf9\xfd\x30\xf8\x31\xfe\xe4\xb5\x3b\x2e\x6b\xc1\x0a\xe2\xc1\x37\x02\x0d\x32\xd7\xec\x4f\xc6\x05\xa0\xf7\xc5\x4a\x92\x8a\x5e\x5d\x5d\x1f\x58\x96\xa2\x4e\x14\x2f\xa9\x46\x5d\xc2\xe4\x9a\x52\x56\x56\x6f\x61\xab\x34\x2a\x1b\x2b\x8d\x29\x30\x5b\xaa\xfb\xa6\x83\xaa\xba\x0d\xe6\x25\xec\x65\x05\x29\x6e\x31\x97\xf6\x7f\x05\x82\xaa\xd4\xab\x6b\xf8\x3f\x29\x48\x93\xf3\x03\x7b\xe3\x8d\x41\x25\x58\xfe\xc7\x9b\xdf\xba\x36\xf8\xaa\xfd\x34\x6d\x8c\xcc\xef\xfd\x34\x33\x73\x29\x32\x42\x2e\xd5\x7a\x72\xc0\x08\x72\xb9\x96\x7a\xe9\x55\x78\x40\x54\x92\x8a\x59\xbd\x1c\x08\xab\xe1\x33\x31\x3b\x6e\x0c\xaa\xc9\x51\xc4\xfa\xc5\xd6\x09\x88\xd6\x0f\xab\x5c\x26\x9f\x92\x0d\xe3\x62\x32\x6c\x2e\x60\x73\xc6\xd0\xdb\x47\xc7\x8e\x30\x84\x8d\x47\x8f\xa0\x23\x8d\xfa\xcd\xba\x33\xf5\xf5\xdc\xc1\xa6\x34\x53\xb2\x58\xf6\xca\xbf\x71\x46\x1f\xd6\x9d\xba\xaa\xd5\x11\x3a\x22\xbd\xa3\x92\x57\x2d\x8e\x71\x77\x8b\x8a\xfc\x2e\x3b\xe3\x26\x14\x57\xee\xbd\x5a\xeb\x50\x9c\x72\x24\x06\x80\x6d\xdd\x39\x0e\x56\x2a\xb9\xe5\x69\xbd\xdf\xa2\x54\x7c\xcb\x0c\xf6\x47\x02\xf7\x53\xfc\x1b\x17\x9f\x30\x75\x91\xd2\x1a\xd4\x57\xb7\x71\xb7\x55\x57\x9a\x77\x83\x95\x52\x97\x8f\x3e\xba\xc1\x11\xd4\xfd\x9c\x7d\x36\x22\xd7\xcc\xbe\x2a\x4a\xb3\xb7\x8b\xeb\xf1\xdc\x12\xa6\x59\x25\xa8\x98\xfd\xe9\x76\xa0\xaf\xbc\xbb\x27\x0a\x78\x3b\x3b\x7f\xda\x0c\x42\xba\x1b\x4d\x0f\xb8\xf7\xf0\xa7\x47\xfa\x77\x5c\x85\x3e\xb6\xa6\x0b\xb0\x8c\xbb\x45\x34\xe7\x8d\x14\x11\x7c\x39\x82\xb7\xbb\xa1\xc6\x41\xf0\x7c\xac\xc3\x5a\xa3\x21\xdc\x52\x19\x4c\xdb\x49\x28\x48\x9b\xb0\x6c\x4f\xab\x7c\x0f\xc6\x20\xe7\xda\x0e\x2a\x5c\xe3\x18\x8d\x5d\xb9\x6e\xec\xdd\xd6\xe2\xa5\x1f\x6f\xc0\x81\x9e\x67\x60\x5f\x32\x9a\x5b\x67\x92\x3f\x4b\x99\x77\x4d\x85\x62\xa9\xae\xa1\x2c\x40\x67\xf9\x05\xdc\xc6\x02\x88\x57\xbf\xb3\xee\xbf\x46\xbb\xd9\x74\xf6\x1e\x2e\xc0\xa8\x0a\x07\xbb\xb9\x08\xf0\xe8\x56\x8e\xeb\x3e\x57\x53\xd3\xf8\xd8\xcc\x11\x7a\xa0\x81\x1c\x93\xcb\x3b\x63\xfb\xc2\xcb\x4b\xc8\x58\xae\x71\x58\x9d\xc0\x05\x37\x9c\xe5\xfc\x6f\x37\xa5\xa8\x07\x35\xcc\xb4\x03\x1f\xeb\x4c\x76\x88\xce\x8b\x16\x0d\x01\x4e\x3b\x93\x9a\x59\xb7\x3f\x22\xfa\x6a\x94\x17\x35\xf2\x9e\x82\x78\x8a\xc2\xf0\x8c\xa3\x82\x0b\x98\xf4\x02\xe6\xa4\x8f\x33\x48\x00\x70\x11\xce\x40\xa6\x2d\xae\x65\x80\x77\xf6\xa4\x8f\xa3\x8d\xe9\x70\x11\xf4\xea\x0f\xc0\x10\xa6\x93\x71\x1c\x11\x43\x75\xe4\x9e\x04\xf8\x3a\xfe\xf5\x4f\x34\x91\x2a\xfc\x78\xf1\xc0\xc8\x2c\xf0\x90\x9f\x1d\x10\x79\x85\x53\xc9\x01\xc3\xe9\xaa\xa3\x43\xc7\x8e\x9b\x4d\xaa\xd8\x2e\x7c\x19\x2d\x68\x0f\x57\xac\x47\xb3\x4f\x6e\x72\xec\x4e\xb9\x7c\x6d\xca\xd4\xba\x2a\x50\x98\x08\x90\x89\xb4\xc1\xee\xe3\x81\x07\xb2\x27\x79\xcd\xd4\x78\x3e\xba\xf5\xbf\x8d\xcf\x25\x14\x64\xec\xf4\x12\x8b\x52\x2a\xa6\xf6\x7e\xde\x5c\x1f\xdc\xd9\x32\x99\x0a\x63\x99\xa7\x11\x06\x7b\x0c\xe4\x4e\xd4\x1c\x01\x0a\x61\x85\x5c\xac\xc1\x28\x26\x74\x86\x4a\x61\x3a\xa7\x8d\x54\x30\x51\x12\xb8\x0b\x62\x2a\xe1\xa9\x67\xc2\x7e\x5b\x19\x4d\x86\x2d\x66\x37\x63\x06\x2d\x81\x1b\x3b\x4e\xb6\x83\xd8\x52\x52\x57\x16\xd3\x84\xb9\x46\x3b\xa7\x1a\x66\xdc\xeb\x3c\x4e\x90\x7f\x79\x39\xb2\x55\x8e\x6e\x90\x51\x4b\xb6\x73\xdc\x48\xc9\xb5\x9f\xae\x0f\x3b\x6c\xf4\xf3\xa9\x57\xd2\x90\x3d\x9d\x3f\x0d\xe7\xd4\x6d\x58\x70\x10\xb3\x31\x13\xf3\x62\x78\x98\x85\x79\x51\xcb\xd5\x7f\x30\xe9\x9a\x99\x35\x2d\x96\xa6\x3a\x42\xc3\x8d\x6e\xbc\xc9\x6b\xa8\xe3\x5c\x72\x27\x50\xe9\x23\xac\x8e\x6b\x60\x79\x2e\x77\xce\xaa\x52\xd4\x46\x49\x77\x9a\xa1\x69\x7b\x47\xda\x0a\x13\x56\x69\x6c\x0d\x39\xf6\x2b\x22\x39\x30\x58\x32\x4d\x54\x35\x25\x7e\x0c\x6f\x67\xe7\x7f\xfa\x41\x65\x4d\xec\x86\xc5\x7c\xad\x10\x05\xd9\x9a\xae\x0a\x6a\x06\x45\xea\x4e\x15\x32\x69\x4f\x47\xbc\xa1\x59\x0a\xeb\x33\x8e\x11\x93\x6a\x86\x60\x5e\x21\xbe\x75\x18\x2e\xc6\xba\x41\xbe\x69\x57\xe0\xfc\xa9\x73\x60\xa6\x9f\x0c\xd9\xda\xd1\x96\xf6\xb5\xc3\xd7\x0b\x50\xf4\x44\x5f\xe0\x02\xce\xe6\x67\xd1\xf7\x5a\x25\x71\xb8\xec\xd8\x5d\xb7\x3c\x3c\xd2\x00\xe3\x90\xe3\x74\x4d\xde\x06\x2c\xb4\xa7\xbf\x51\xc9\x5e\xb8\xab\x83\x08\x6f\x63\x04\xcb\x73\x0a\x37\x3e\x56\xcc\xe1\xa5\x3b\xf3\x29\x2a\xed\x62\x86\xab\x91\xea\xd3\xaa\x1e\x46\xdb\x7f\x59\x4c\x0e\x77\x13\x83\xba\xc7\x73\xf4\x42\xaa\xd4\x1d\x27\x59\xe3\x75\xdf\x63\x8c\xae\xaf\xf4\xe7\x44\xcc\x8d\x1a\xea\x02\xad\x36\x0b\xdd\x9c\xdf\xb8\x31\x04\x15\x18\xc7\xd9\x55\xbf\x1e\x3f\x26\x1a\xdd\x13\x5c\xce\xe6\x67\x61\x64\x81\xf8\xa8\xd3\x9d\x83\x9d\xc0\xc8\xc9\x5e\x1d\x3f\x5c\x64\xb1\xec\x30\x7b\x37\xc2\x4b\xc2\x9d\xfc\x91\x6f\xd6\xa7\x65\x0f\x3b\x25\xf3\xc7\x70\xb7\x91\x94\x09\x8d\xbb\xc6\x71\xa4\xc5\x11\x80\x0e\x36\x3e\xb5\xc1\x8d\xf4\x57\xd4\x76\x64\x82\xdb\x22\xa7\xa3\x76\x17\x42\x74\x2d\xef\x28\x0d\xb6\xa4\x3f\x26\xaf\x8c\xb5\x27\xdd\xf1\x46\xf8\xe9\xeb\xa1\x7c\x83\x05\x1f\xb9\x54\xe3\xfe\xd6\x97\x6a\xe2\xb2\x7d\x1e\xd4\x71\x9f\x97\xbe\x3a\x46\x36\x18\x48\x42\x73\xfb\xac\x00\xf2\x65\x83\xc7\x97\x0d\x1c\x5f\x20\x68\x0c\xf9\xcf\xe3\x82\x45\xa3\x46\xb8\x27\x52\xdc\x0d\x5d\x0d\x22\xcd\xf8\xb4\xd1\x96\x17\xf5\xfd\x87\x53\xc0\x2c\xc3\xc4\xf0\x2d\xe6\x7b\x58\x55\x4a\xd8\x1a\xb1\xcd\xd4\x3d\x95\xff\x54\x32\xc5\x0a\x70\x29\xb4\x49\xe3\x41\x3b\x25\x85\x61\xbc\x83\xc6\xca\xb0\x52\xa2\x87\xed\x2f\x9e\xe7\xf6\x0c\xdf\x2a\x21\xa5\x34\x0f\x55\x99\x12\x93\x64\x0b\x81\xf3\x37\x20\x6f\x11\xa1\x1e\x79\xae\xb9\xd9\x54\x2b\x3b\xf1\x74\xf3\xd9\x45\x96\xf3\x52\x2f\xca\x2a\xcf\x17\xcf\xbe\x7d\x36\xa8\x00\x22\xc4\xfb\xba\x2f\x04\xfa\xd2\x0f\xab\x00\x9e\x59\x6e\x9b\xac\xfc\x82\x04\xfe\x05\x22\x80\x2b\x27\xe6\x61\x5b\xd3\x71\x45\x7a\xe2\x1a\x85\x68\x9f\x9e\x3f\x25\xc0\x48\xe5\xb6\x5d\x0d\x89\xb6\x11\x22\x26\xe4\xd9\xd9\x19\x95\x13\xf1\x92\xee\x95\x38\xb8\x80\x85\x77\x90\x68\xb6\xe7\x6e\xd6\x45\xbd\xf5\x2f\xce\x18\xdb\x5b\x30\xd6\xd7\xbb\x41\xdb\xfa\x87\xbf\x4e\x48\xee\xc9\xb6\x48\x9e\xce\x45\x74\xbf\xc6\xa1\x6c\xfe\x8d\x8a\xae\x61\xa3\xef\x32\x38\x8b\xf9\xea\x5e\xd2\x83\x0b\x5f\x5b\x8d\x5c\x35\x78\x32\x00\xfe\x3a\x6c\xa1\xbb\xd0\xe1\xf9\x7e\x07\xb8\x7f\x7d\x6f\x00\x3e\x3e\x4e\x7f\xd2\x51\x4b\x77\x10\x4e\x62\x9b\xfa\x09\xe0\x29\x18\xb9\x1c\xe6\x72\x36\xa4\xa0\x81\x33\xff\xce\x94\x3b\x68\x2a\xf1\xa6\x94\x1a\xc3\x04\x6e\x17\x7e\xf4\xe1\xee\x23\x14\x68\x36\xd2\x95\xe3\x6b\x34\x2f\xed\x68\xcb\x0f\x85\xea\x6f\x66\xa3\x64\xb5\x76\xa6\xf0\xb1\xe6\xf3\x23\xd8\x92\x21\x63\x49\xa8\xf1\xba\xac\x87\x8f\xa1\x1b\x7c\x1c\xc4\xe4\x3f\x0f\x23\x8a\x4c\x27\x34\xdc\x5f\x58\x79\xf0\xde\x5b\x2d\x61\xae\x75\x85\xe7\x5f\xf9\x29\xef\x88\x74\x07\x75\x14\xa1\xb3\xa2\xd6\x9b\x69\x87\x84\x53\x60\x66\x39\x68\x5a\xb3\x88\xf2\x7a\xe6\xf2\x40\xaa\xc7\x07\xe8\x9f\xcd\x48\x40\x51\xc0\x44\xdf\xc4\x03\xd3\x23\x46\x5c\xb5\xd9\x7a\xaf\x2b\x18\xa7\x23\x3b\x77\xcc\xdc\x02\x07\x66\xde\x0d\x52\x75\xe8\xbb\x3b\xf9\x6f\x00\x00\x00\xff\xff\x6f\x74\x46\x01\xc8\x2d\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -117,31 +95,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa3, 0xe, 0x48, 0xc7, 0xcb, 0xdf, 0xfc, 0xeb, 0x95, 0x72, 0x60, 0x3e, 0xf8, 0x54, 0x6e, 0x1e, 0x6d, 0x7, 0x76, 0x31, 0xb2, 0xe9, 0x6c, 0xa3, 0xd0, 0x89, 0x1c, 0x68, 0x98, 0xb0, 0x42, 0x6c}}
-	return a, nil
-}
-
-var _fungibletokenV2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\x4b\x8f\xdb\x38\xf2\xbf\xeb\x53\x14\x3a\x87\xd8\xf9\x3b\xee\x39\xfc\xb1\x87\xc6\x66\x32\xc9\x64\xb2\xc8\x65\x11\x24\xbd\xc9\x61\xb1\x80\x69\xa9\x64\x71\x42\x91\x1a\x92\xb2\xe3\x6d\xf4\x77\x5f\x54\x91\xd4\xcb\x72\xb7\x3b\x8b\x39\x6c\x1f\x12\x5b\x22\xeb\xfd\xf8\x55\xf9\xfa\xc5\x8b\x2c\x7b\x06\xb7\x15\xc2\x7b\x65\x0e\xf0\xbe\xd5\x3b\xb9\x55\x08\xb7\xe6\x1b\x6a\x70\x5e\xe8\x42\xd8\x22\xcb\x9e\x3d\x83\x4d\x7a\xc9\xef\x36\x90\x1b\xed\xad\xc8\x7d\x96\xf1\xf5\xf9\x9b\x20\x1d\x68\x03\xca\xe8\x1d\x5a\x10\x1a\xa4\xf6\x68\x4b\x91\x63\xe6\x2b\xe1\x41\x28\x05\x65\xba\xea\xf9\x6a\xa2\xeb\xe0\x60\x5a\x55\x40\x25\xf6\xf4\x8a\x9e\x97\xc6\xd6\xe0\xcd\x3a\xcb\x3e\x94\x20\xa0\x75\x68\x1d\x1c\x84\xf6\x8e\x0e\x14\xd8\x28\x73\x04\x01\x1a\x0f\x13\x5a\x2b\xf0\x15\x4a\xdb\xcb\x5c\x18\x24\xc1\x3c\x68\xc4\x82\x2e\xcb\xba\x51\x58\xa3\xf6\x74\x12\x46\xaa\xf6\x32\xaf\x60\xdb\xfa\x48\x8a\x19\xb8\xac\x30\x67\x48\x74\x97\x1c\x14\x58\x4a\x8d\x05\x48\x0d\xbe\x92\xae\x93\x62\x1d\xec\xfa\x45\xb4\xca\x6f\xc0\xa2\x33\xad\xcd\x07\x37\xb3\xec\x37\x91\x57\x53\xfb\x74\xe7\xfc\xb1\x41\x66\xee\x4e\xb9\x9f\x27\x1a\x99\x7e\xb4\x66\x2f\x0b\xb4\x9b\x15\x6c\x3e\x61\x8e\x72\xcf\x9f\x85\x2e\x60\xf3\x56\x28\xa1\x73\x9c\xbb\xed\xd8\xdb\x6e\xa2\x5e\xae\x84\x45\x68\x2c\xbe\xcc\x8d\x2e\xa4\x97\x46\x3b\x26\xd5\x18\xe7\x87\xcf\xd8\xe7\x16\x9d\xb7\x32\xf7\x19\x09\x8a\xdf\x31\x6f\xe9\x25\x98\x92\x25\x2f\x5b\x9d\x87\xc3\x6c\x2e\x04\xd6\x64\xcd\x7c\x8f\x40\x7c\x1c\x36\xc2\x0a\x8f\xb0\xc5\x5c\xb4\x24\x8b\x87\x9d\xdc\xa3\xe3\xe3\x14\x14\xfc\x41\x6c\xa5\x92\xfe\x48\xb6\x71\x95\xb0\x98\x09\xb0\x58\xa2\x45\x9d\x73\x3c\x05\x37\x32\xf5\x20\x97\xd1\xea\x08\xf8\xbd\x31\x2e\x92\x2a\x25\xaa\xc2\xf5\x12\x65\x52\x83\xd1\x08\xc6\x42\x6d\x2c\x26\x89\x7b\x53\x50\x60\x52\x4c\x3b\x13\x05\x0a\x11\x3a\x91\xa6\x16\xdf\x10\xf2\xd6\x79\x53\x77\x16\x8e\xa6\xe9\x9c\x48\xb6\x19\x5b\x99\x02\xdc\xc0\x5e\x58\x69\x5a\x3a\x2d\xf5\xce\xc1\x41\xfa\x8a\xc9\x87\x68\x5c\x67\xef\x8d\x05\xfc\x2e\x88\xcc\x0a\x04\x94\xa2\xcd\xd1\x43\x2e\x34\x6c\xb1\xa7\x8e\x05\x6c\x8f\x29\xa1\xa4\xde\x65\xc1\x1c\x90\x82\x62\x14\x2d\x2f\xae\xb3\x4c\xd6\x8d\xb1\x1e\xbe\x48\x3c\x7c\x42\x67\xd4\x1e\x2d\x94\xd6\xd4\x70\x35\x7c\x74\x95\x65\xd7\xd7\xd7\xe3\xe4\xa1\x27\xa3\xa7\xb1\x40\x74\xb2\x88\x18\x2d\x16\x07\x85\xc2\xe2\x1f\xad\xb4\x73\x69\x35\x4e\x06\xa6\xdc\x0b\x0b\x5f\x11\x9c\x97\x4a\x85\xa2\x21\x3d\x08\x37\x2a\x3a\x50\xa1\xed\xe3\xc6\xf3\x37\x0e\x29\x53\x73\xe4\x94\xad\x62\x92\xad\x0f\xde\xaa\xd1\x57\xa6\x88\xce\xa9\x85\x3e\x42\x63\xcd\xef\xc8\xc5\x89\xd8\x04\x66\x54\x81\x48\x52\x66\x6a\xf4\xa4\xd6\xb8\x15\x93\x8c\x95\x23\x84\xf0\xf6\x48\xca\xd6\x28\xb4\xeb\x74\x5d\x73\x31\x0c\x61\xd0\x3f\xa5\xcf\xfc\xac\xf3\x72\xd0\x39\x19\xc5\x8d\xd2\xbd\x2f\x1d\x22\xcf\xd1\xb9\x85\x50\x6a\xd9\x49\x32\x29\x6b\x77\x59\x06\x00\x70\x7d\x0d\x6f\x34\xa0\xf6\xd2\x47\x3b\x97\xc6\x92\x2c\xe6\x20\xf5\x8e\xc9\x53\x98\x15\x56\x1c\x84\xe2\x98\xe7\x58\x0b\xfe\x17\x21\x81\x98\xd0\x90\xe5\x90\xdc\xd7\x74\x7b\xab\x30\xb1\xbc\xe6\x9e\x83\xfb\xe0\xd6\xa0\x32\xd6\xd2\x53\x68\x1e\x2a\xd4\x89\x09\x19\x2b\x71\xd7\x8f\xb0\xdc\x0f\x99\x2d\x44\x6d\x5a\xed\x6f\xe0\x1f\xef\xe5\xf7\xbf\xfc\xff\x8a\xef\xde\xc0\x9b\xa2\xb0\xe8\xdc\xeb\x15\x57\xcf\x1b\xf8\xec\xad\xd4\xbb\xe5\x8f\x88\x55\x60\x63\x9c\xf4\x21\x48\x1f\x16\xea\x5d\x38\x7a\x22\x93\x37\x17\x48\x94\x92\x32\x3d\x18\x89\xda\x47\x36\x8b\x8b\x94\xd1\x79\x2c\x5f\x31\x84\x42\x94\x90\x4f\x93\x21\x29\xe3\x13\x91\xa1\x33\xb9\x98\xa5\xc0\x62\xdf\x1f\x1b\x5c\x9f\xf0\xfd\xe0\xa1\x6b\x9f\x91\xe1\x98\x97\xd1\xb0\xd9\xa6\x1e\x42\x39\xb6\xea\xee\x0e\x4a\xb6\x42\x41\x25\xd2\x34\x18\xea\x7c\x63\x9c\x93\xb1\x4a\x9a\x12\x72\x8b\x82\x85\x88\x95\xb2\x89\x66\x70\xbd\xe8\xa4\x31\xf5\x5f\x6e\xe3\x64\x73\x61\xa5\x3a\xc6\x7e\xcc\x39\x68\x0e\x1a\xa2\x24\x63\x3d\x86\x3e\x3a\xed\x72\x7d\x21\x8c\x39\x92\x58\x26\x0b\x82\x6b\xb7\x11\xa4\x4c\x0d\x68\x0e\x1a\xed\x73\x37\x88\x87\x74\x99\x1a\xa2\x45\xdf\x5a\x0a\xa0\xd8\x78\xba\x02\x6e\xb1\x36\x7b\x8e\xa5\x50\xc8\x07\x17\x47\x44\x6e\x07\x2d\xf2\xb9\x8b\x7a\x80\xc2\x3d\x2a\x0a\xd6\xa6\xdd\x2a\x99\x27\x9c\x22\x5d\xc0\x5f\x1e\x04\xd9\x6f\xab\xb0\x1e\x11\x4b\xde\xe0\xce\xd7\x09\x0f\xce\x1b\x9b\x52\x7f\x60\x9c\x68\x53\x91\xe7\x14\xc5\x23\x42\x39\x17\x59\xe9\xa5\x50\xea\x08\x79\x28\x64\xb2\x6f\x9d\x0f\xeb\x13\xb8\xd6\xe2\x08\x3b\x4b\xa5\xd4\x50\x61\x4e\x7c\x3a\x1d\xa9\x63\xa5\x98\x20\x75\xe4\x5e\x78\x9c\x48\xd1\x74\x6d\x36\x82\x4b\x73\x70\xe0\x1a\xcc\x65\x29\xf3\x48\x37\xf6\x64\x13\xe9\x8e\x28\x70\x1c\x26\xdf\xf7\x40\xab\xb2\xa6\xdd\x55\x30\x00\x10\x97\x2a\x14\xb0\x00\x6b\x45\x46\x79\x44\x27\x76\xde\x25\x2a\x11\xad\x89\x1e\x23\xd9\x47\x34\x9e\xae\x47\xcc\x8e\x61\xe1\x5e\x92\x2f\xbb\xf8\x9f\x54\xb2\xe5\x0d\xfc\x72\xc7\x01\x7d\x0f\x77\x1d\x15\xfa\x23\x00\x38\x79\x14\x7b\xce\xc6\xa2\x8b\x10\xb5\x8c\x8a\x84\x78\xa3\x04\x81\xbd\x50\x2d\x9e\x5c\x0b\x57\xd6\x3b\xf4\x11\xa2\x2e\x96\xf0\xea\x15\x44\x61\x4e\x8e\xd3\xdf\xd5\xd7\xbe\x77\x85\x73\x50\xb7\xce\x13\x1c\x22\x76\x4e\xd4\x48\x20\x81\x3e\xc7\x42\x91\x60\x5d\xdf\x76\x58\xb3\xab\x13\xf2\xd4\x18\x4e\xfb\x4d\xf8\x3f\xf5\x1b\x87\xaa\x5c\x73\x38\xbc\x5e\x8b\x50\xe9\x53\xa1\xe7\x57\x3b\xf4\xb7\xc7\x06\x17\xcb\xb5\x2c\xa8\xe8\x96\x12\xed\x72\xc4\xe9\x3e\x1b\x7f\xba\xef\x3b\x43\xc2\xed\xff\x7d\x67\x88\xbd\x6c\xa6\x31\x48\x1d\x1d\x73\x41\x63\xf8\x8a\xa9\x1c\x4b\x9d\xab\xb6\x40\x10\xd0\x81\xff\x20\x46\x5e\x61\xfe\x6d\x6c\xee\x58\x84\x3a\x2a\x07\xec\x00\x15\x81\xe8\x4b\x30\x74\x30\x43\x00\x4a\x19\x0c\x6a\x52\x61\xd2\xa1\x79\xc0\xbc\x02\x25\xbf\x21\xb8\x46\x49\x46\x58\x35\xb4\x0d\xd5\xe9\x8e\x88\x43\x5d\x84\x17\x84\xbf\x65\xc9\x69\xe3\xa1\x51\x01\xee\xc3\xe5\x2d\x25\x39\x6b\xda\x52\xa2\xe9\xc1\x8b\x6f\xd8\xf7\x05\xea\x15\xf1\x8d\xa3\x66\x39\xef\x86\xd1\x28\xf8\x50\x26\xb3\x50\x94\xc0\x91\xe6\x22\x44\x67\x4a\xda\xe5\x58\xa4\x1d\xfa\xcf\x6d\x43\x88\x1f\x0b\x3e\x40\x21\x4a\x9d\x9a\xfc\xc8\x15\xbe\x6f\x63\x4a\x3a\x4f\x19\xb3\x0f\x73\x14\x1f\x8c\x78\x95\x51\x6c\x54\x9a\xe4\x68\xbc\x9b\x95\x6b\x2f\xf1\xc0\xc2\xcd\xf3\x5d\x2c\x6f\xe0\xee\x96\x53\xe6\xad\x31\xea\xa4\xc2\x58\x84\x3b\xf0\xb6\xc5\x1b\xb8\x2a\xda\xba\x3e\x5e\x8d\x72\x66\xa4\xd9\xa7\x28\xf7\xa1\x42\xee\x05\xc6\x72\xb8\x92\x61\x29\xd6\x74\x98\xa9\xa5\x8b\xf2\x86\x39\x89\xde\x8e\x52\x2d\x51\x7b\x93\xb4\xe6\xc8\x16\x3a\xde\x02\x9a\x13\x98\x90\xab\x78\x83\xf1\x3b\x15\x9c\x58\xd8\x48\x50\x22\x5a\x60\x39\x02\x08\xb3\x06\x91\xee\xd4\x1e\x8b\x50\x3d\xe8\xe3\x32\x58\xe4\x89\x06\x99\x14\x91\x1e\xa7\x8c\x30\x5e\x81\xe4\xe8\x55\x04\x11\x5d\x14\x87\x95\x0c\x77\xb5\x7e\x1f\xd3\x59\x67\x05\xb1\x2e\xaf\xe0\xd6\x0a\xed\x4a\xb4\xc6\xae\x3a\x34\x15\xd6\x0b\x69\x5a\xec\x31\x61\xdb\x83\x6d\xf2\x86\x4b\x3a\xc3\x11\xfd\x53\x52\x8c\x55\xb9\x19\x48\xd3\x33\x1e\x8e\xa9\xeb\x6e\x84\x1d\xa5\xe2\x29\x6c\xff\x14\x59\xbc\x43\xe7\xad\x39\x62\xb1\x88\x35\x2b\xf5\x3d\x78\xd5\x55\xf1\xae\x21\x4d\x72\xe9\x6f\xe8\xe7\x9a\xcb\xfe\x71\xe7\x0f\x89\x26\x86\xff\xc3\x79\x7a\x7d\x0d\x6f\x51\x99\x43\x68\x01\xe4\xeb\xe1\x3a\x22\x95\x74\xd7\xda\xd8\xb0\x6c\xab\x5f\x7a\x59\xc7\x35\x17\xc7\xdd\x94\x1e\xc3\xd6\x1d\xa6\xdc\xea\x66\x34\x02\x42\x82\xeb\x74\x17\x24\x31\x58\x63\x03\x18\xaf\x32\xd7\x61\x78\x5e\xc3\x88\xbe\x2c\x4f\x3a\xb4\xfb\xdc\x6e\x49\x9a\x85\x29\x43\x02\xfe\xf5\x97\xbb\x19\x4a\xf7\x3f\x2f\x96\xcb\x19\xd0\x13\x2b\xc0\xdd\x98\xec\x0d\xa7\xea\xfd\xb8\xe7\x03\x2a\x87\xf3\xb8\x29\x94\x30\x10\x1a\xb0\x6e\xfc\x11\x0a\xc9\x08\x5b\xd8\x63\xc2\x31\xb1\xb4\x04\x0c\xc5\xed\xbd\x33\xc3\xa1\x32\x50\x18\xfd\xdc\xcf\x51\xee\x17\x2d\xb3\xf6\x59\x81\x6b\xf3\x8a\x98\x8c\x5f\x7f\x3e\x48\x9f\x57\x5b\x23\x6c\xb1\x59\xc1\x86\x9f\xbd\x37\xf6\x20\x6c\x81\x76\x03\xe8\xf3\xf5\x59\x53\xdc\x9f\x85\x3a\x7f\x42\x61\x8c\x4c\x93\xf9\x67\x43\xf8\x9f\x44\xe4\x5f\xf0\xfa\x35\x94\x42\x39\x7c\xac\x8f\x30\x84\xf4\xc6\x8a\x1d\x85\x9c\xaf\x28\x00\x2d\xf6\x19\x9e\x3a\x80\x3f\x36\x32\xe7\x8c\xdc\x86\x0b\x58\x3c\x9a\x62\xef\x82\x1b\x3f\x07\xf2\x1f\x85\xaf\x28\x58\x06\x5f\x5f\x9f\x97\x29\x4c\x12\x63\x91\xa4\x1b\xcb\xc4\xdb\xaa\x34\x74\x0c\x06\x8d\x4b\x05\xfb\xc8\x17\x93\x5c\xfd\xb7\x1f\x14\xeb\xb9\xeb\x21\xd2\xa5\x12\xf2\x7a\x84\xde\xba\x2a\x4c\x50\x1d\x85\x5f\xfb\xb9\x89\xa6\xa6\x21\x74\x23\xe6\xa8\x69\xa6\xa1\x39\xca\xa3\xd5\xc2\x0f\xe0\xd9\x74\x31\xe9\x0d\xf9\xac\x75\x03\x8f\x85\xa5\x63\x3f\x3f\xe4\x42\x1b\x4d\xfe\x05\x2d\x6a\x74\x0d\xf5\xa2\x98\x8b\xad\x2e\xd0\xaa\x23\x49\x17\xf7\xd8\x17\x5a\x37\xc9\x33\x63\xdf\xf9\xb0\xd6\x52\x9d\x8b\xd6\x99\xad\xc5\x26\x8c\x29\x9b\x7e\x6f\xf1\x25\x3a\x21\x36\xaa\x07\x36\x17\x1a\x0f\xd3\xed\x45\x22\x4c\x80\xe9\xf4\xfe\x9f\x31\x57\xda\xb9\xf2\x78\xd2\x8c\xe1\xe7\x47\xa6\xc3\x37\x61\x24\xec\x67\xbd\x34\x1c\xaa\x30\x52\x0b\x4d\x18\x11\xff\x68\x85\x0a\xdf\x66\x7a\xf9\xcc\x78\x78\x7f\xe1\x10\x1c\xb7\xd0\x61\x45\x21\x54\xb7\x2f\x81\xcd\x16\x4b\x63\x71\xc3\x53\x50\x84\x10\xa1\x9e\x47\xa6\xfd\x82\x8d\x7f\xa5\x98\x23\x1e\x97\xc6\x5b\xdc\x49\xad\x29\x02\x27\xbf\xb0\xf4\xbf\xbd\xcc\xdc\xbe\xc0\xb6\xaf\x5e\x41\x90\x72\x71\x0a\x82\xe0\xe5\xc3\x76\xff\x7b\x17\x43\xc9\x98\xc3\xa9\x3c\x65\x6b\x6f\xe3\xc6\xe2\x9e\x7f\xf8\x48\xc7\x45\x98\xcb\xa6\x53\x7a\x7a\x7f\xce\x1d\xf7\x97\x0e\x5f\xa2\x28\x68\xf0\xea\x19\xc6\xf9\x6b\xe4\x7b\x39\xb3\xe6\xbb\x78\xf4\x9a\x43\x0e\x53\xd8\x40\x43\x86\x73\x68\x7d\xff\x1b\x40\x6e\x74\x6e\xd1\x47\x5c\x14\xcd\xd3\xef\xa2\x43\x89\x97\xae\xab\x4e\x53\x7a\xb1\x30\x0d\x26\x97\x6e\xdc\x49\x3b\xbf\x48\xed\x82\x84\x23\x5d\xd6\xd2\x7d\xd0\xce\xb3\xe3\xc7\xd0\x66\x79\x03\xf3\xde\xff\x55\x68\x02\xfa\xc9\xfa\xbc\x3c\xcc\x4d\xdd\x08\x3f\xf8\x9d\x93\xf4\x3b\xb3\x74\x99\xee\xd3\x59\x8c\x61\xfc\x85\xd5\xfa\x03\xcb\x97\x74\xe3\xe2\xe5\x0b\x9c\xcf\xe3\x27\x66\xc6\xff\xa5\x77\x27\x52\x2f\x7f\x28\x59\x5c\x5b\x3f\x9a\x25\x7d\x7c\x3c\x58\xac\x26\xd9\xc1\xab\x49\xfc\x8d\x60\x66\x4c\x8c\xb8\x7d\xd4\xc7\xf8\x33\xab\x89\x67\x46\x5d\x81\x83\xaa\x12\x94\x4f\xff\x46\x6b\x2e\xe9\x08\x5d\x92\x4c\x59\x2e\x9e\xbc\x5a\x3c\xb3\x23\xfc\x69\xfd\xd3\x0d\x5c\xdd\x56\x48\x82\xaa\xb8\x76\x4d\xf6\x08\xf6\x64\xb8\x31\x94\xf8\xbc\x99\xc2\xbf\xf7\xff\x09\x00\x00\xff\xff\xaa\x46\x21\xb3\x3f\x21\x00\x00"
-
-func fungibletokenV2CdcBytes() ([]byte, error) {
-	return bindataRead(
-		_fungibletokenV2Cdc,
-		"FungibleToken-v2.cdc",
-	)
-}
-
-func fungibletokenV2Cdc() (*asset, error) {
-	bytes, err := fungibletokenV2CdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "FungibleToken-v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xee, 0x38, 0x15, 0xb2, 0xa3, 0x2a, 0xcf, 0x4f, 0x15, 0x1e, 0x4b, 0x31, 0xdd, 0xcc, 0x96, 0xd0, 0xcd, 0xe8, 0xd4, 0x35, 0xbc, 0x76, 0xbc, 0xc, 0x91, 0x17, 0x70, 0xb2, 0x97, 0xdd, 0x19, 0x5f}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfc, 0xad, 0xcc, 0x9b, 0x62, 0x90, 0x88, 0x29, 0x8f, 0x6d, 0x6c, 0xc2, 0xc4, 0x51, 0xe8, 0x9e, 0x16, 0x71, 0xd8, 0x7e, 0x97, 0x7c, 0xfe, 0x9c, 0x5, 0xb9, 0x58, 0x5a, 0xda, 0x74, 0x6e, 0xb6}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x5a\x5b\x8f\xdb\xc6\xf5\x7f\xe7\xa7\x38\xb0\x1f\xbc\xca\x5f\x2b\x19\xf9\x17\x01\xba\x68\x12\xaf\xd3\x2c\x60\xa0\x2d\x82\x78\x9b\x3c\x04\x41\x35\x22\x0f\xa5\x81\x87\x33\xcc\xcc\x50\x34\x63\xf8\xbb\x17\xe7\xcc\x0c\x6f\xa2\x76\xd7\x4e\x1f\x0a\xd4\x2f\x96\x28\xce\xb9\x9f\xdf\xb9\xcc\x6e\xbf\xf8\x22\xcb\x9e\xc3\xfd\x11\xe1\x4e\x99\x16\xee\x1a\x7d\x90\x7b\x85\x70\x6f\xde\xa1\x06\xe7\x85\x2e\x84\x2d\xb2\xec\xf9\x73\xd8\xa5\x1f\xf9\xb7\x1d\xe4\x46\x7b\x2b\x72\x0f\x52\x7b\xb4\xa5\xc8\x31\xcb\x88\x50\xff\x15\xfc\x51\x78\x10\x4a\xcd\xc9\xa6\x93\x0e\x5a\xd3\xa8\x02\x8e\xe2\x84\xe0\x0d\x3d\x2f\x8d\xad\xc0\x9b\x4d\xf6\xa6\x04\x01\x8d\x43\xeb\xa0\x15\xda\x3b\xfa\xbd\xc0\x5a\x99\x0e\x04\x68\x6c\xc1\x4f\x48\xad\xc1\x1f\x51\xda\xfe\x7b\x16\x28\x6b\xc4\x82\x4e\xca\xaa\x56\x58\xa1\xf6\xf4\x1a\x4c\x14\x19\xe4\xdd\xb0\xfc\x23\x22\x33\xf1\x4a\xa3\xc8\x46\xa4\x10\x51\xb1\x8d\x42\x07\x42\x17\xa0\x45\x25\xf5\x21\x63\x75\xfd\xc4\x02\xae\xc6\x5c\x96\x12\xdd\x26\x98\xf0\x27\xd1\x28\xbf\x03\x8b\xce\x34\x96\x0c\xf6\xbd\xc8\x8f\x20\xf2\xdc\x34\x2c\x9b\xf0\x60\x5a\xed\x82\x72\xc9\x3c\x49\x09\x96\x43\x90\xc0\xe4\x97\x1c\x33\x53\x32\x3b\x26\xda\xd3\x04\xe7\x8d\xc5\x02\xa4\x8e\x26\x49\xd4\xe9\xb9\x38\x44\x2d\xe7\x87\x8e\xc2\x41\x85\xfe\x68\x0a\x07\xbd\x1e\xa6\xd5\x68\x59\x43\xe3\x8f\x68\xa3\x3b\x72\xa1\x21\x17\x4a\x45\x95\x7e\xb0\xe6\x24\x0b\xb4\xbb\x35\xec\x7e\xc4\x1c\xe5\x89\x3f\xd3\xa9\xdd\x6b\xa1\x48\xd0\x41\xe1\xc1\x34\x8e\xc5\x70\xe3\x27\x50\x60\xae\x84\x45\xa8\x2d\x5e\xe7\x46\x17\xd2\x4b\xa3\x83\x89\x6b\xe3\xfc\xf8\x19\xcb\x68\xd1\x79\x2b\x73\x9f\x91\xb0\xf8\x1e\xf3\x86\x7e\x84\x68\x96\xb2\xd1\x79\x78\x39\x98\x22\xa8\x1c\xd4\xef\x80\xf8\x38\xac\x85\x15\x1e\x61\x8f\xb9\x68\x48\x16\x0f\x07\x79\x42\xc7\xaf\x93\xb6\xfc\x41\xec\xa5\x92\xbe\x23\x17\xb8\xa3\xb0\x98\x09\xb0\x58\xa2\x45\x9d\x73\x5c\x04\x33\x07\x83\x06\x17\x6a\xd5\x01\xbe\xaf\x8d\x8b\xa4\x4a\x89\xaa\x70\x83\x44\x99\xd4\x60\x34\x82\xb1\x50\x19\x8b\x49\xe2\xc1\x14\x9b\x2c\x7b\x43\xa9\xe3\x4c\x14\x28\x98\x7e\x26\x4d\x25\xde\x21\xe4\x8d\xf3\xa6\xea\x2d\x1c\x4d\xd3\x07\x3c\xd9\x66\x6a\x65\x4a\x24\x03\x27\x61\xa5\x69\xe8\x6d\xa9\x0f\x0e\x5a\xe9\x8f\x4c\x3e\x44\xde\x26\xbb\x33\x16\xf0\xbd\x20\x32\x6b\x10\x50\x8a\x26\x47\xcf\xbe\xdf\xe3\x40\x1d\x0b\xd8\x77\x29\x6f\x39\x07\xd8\x1c\x90\x82\x62\x92\x5c\xaf\x3b\x68\x9c\xd4\x87\x91\xac\xe4\xda\x41\xb4\x75\x54\xd3\x94\x17\x11\x23\x23\x09\x1c\xea\x82\x8f\xda\x10\x6f\x29\x5d\x6a\x44\x7b\xed\xcd\x35\xfd\xbf\x66\x95\x4c\xe3\x29\x6d\x88\x29\xa1\x00\x71\x62\x70\x20\x6d\x05\xe4\x48\x54\x15\x28\x2c\x0e\x68\xc1\x55\xc2\xfa\x9e\xd5\x06\xee\x4d\xe0\x14\xa9\x7b\x03\x42\x0f\x89\xb0\xce\x02\x3e\xc5\x24\x75\x64\x93\x8e\x99\x16\x56\xb4\x23\x5b\x42\x69\x4d\x35\x0e\x12\xc6\xaa\x90\x43\x1c\xb9\x05\xd6\xc6\x49\xdf\x87\x07\x18\x3d\xe1\xf4\xc2\xa5\xe0\x22\x88\x24\xd3\x7b\x0c\xf4\xad\xd0\xae\x44\xbb\xc9\xb2\x2f\xb6\x59\xb6\xdd\x6e\x61\x01\x80\x2f\x82\x6f\xef\xc5\x0d\x1d\xcd\x44\x9e\xa3\x73\x57\x42\xa9\xd5\x02\xb6\xcf\x40\xf3\x43\x96\x01\x00\x6c\xb7\x70\xab\x01\xb5\x97\x3e\xe2\x6b\x69\x2c\x21\xa4\x69\xd9\xe6\x47\xec\x2d\x22\x14\x87\xf9\xc8\x24\x22\xa8\xc5\x84\xc6\xcc\xc7\xe4\x7e\x4e\xa7\xf7\x0a\x13\xcb\xa0\xa5\x37\x5e\x28\xd0\x4d\xb5\x47\x3b\xa2\x2c\x35\xe0\x7b\xe9\x3c\x25\xe7\xa6\x3f\xf0\xc6\x83\x74\xd0\xd4\x31\x5d\x47\x01\x6c\xe9\x11\x6a\xd7\x58\x1c\x80\x2f\xd0\x76\x4d\x5d\xab\xae\xa7\xe1\xbc\xe8\x1c\x09\xda\x30\x66\x50\xfc\x05\x82\x85\xf0\x78\xa6\xc4\x49\xd8\x40\xe6\x2d\x53\xb9\x81\x7f\xde\xc9\xf7\x5f\xfd\x69\xaa\x03\x9e\x30\xc1\xbe\x74\x80\x95\xf4\x94\x51\x2d\x45\x07\x89\x31\x78\xc1\x41\x6e\x51\x78\x2c\xce\x8d\xc5\x24\xd8\x29\xee\x8d\x96\x5e\x0a\x25\x7f\xc7\xe2\x4a\x86\xcf\x53\xee\xab\xa7\xb3\x0f\xd6\x24\x94\x4c\x0e\xd4\x8f\x78\x6d\x24\x48\xf2\x9a\xbe\x12\x15\xd5\x9e\xc4\x7f\xcd\x24\x6e\xe0\xb6\x28\x2c\x3a\xf7\xed\x67\xc9\x13\xd3\x85\x4b\x1c\xe5\xe4\x13\xe4\xf9\x6b\x3a\x72\x26\x8f\x37\x17\xa5\x99\xa5\x11\x12\xc6\xe5\x11\xd0\x2d\xfe\xd6\x48\xcb\x11\xe4\x38\xe4\x93\x91\x08\x03\x13\x91\x59\xfa\x0f\x41\xc7\xa9\xd1\xd5\x43\x7c\x8e\xe3\xb4\x30\xe8\x40\x9b\x9e\xe1\x94\x97\xd1\xb0\xdb\xa7\xaa\x7a\x44\x8b\xeb\xfe\xec\xa8\x88\x29\x14\x54\x34\x4c\x1d\x03\xa9\x36\xce\xc9\x58\x37\x4c\x19\x62\x89\x84\x88\xb5\xa3\x8e\x68\xed\x06\xd1\x49\xe3\xc2\xb0\x1c\x1a\xc9\xa8\xc2\x4a\xd5\xc5\x56\x84\xa1\xcc\xb4\x1a\xa2\x24\x53\x3d\xc6\x4e\x38\xaf\xfb\x43\x69\x88\x10\x92\x58\xbe\x6d\xf6\x11\x97\xe6\x76\xe3\x36\x24\x81\xe0\xe4\x4c\xa8\x01\xbe\xb1\x14\x1a\x11\x24\xfb\x4a\x66\xb1\x32\x27\x2c\xfa\x8a\x36\x3a\x38\x21\x72\x3f\xea\x15\x5e\xb8\x28\x3e\x28\x3c\xa1\xa2\x30\xac\x9b\xbd\x92\xf9\x1a\xf6\x0d\x85\xa6\x74\xf4\x8c\xcc\x22\xc8\x6c\x7b\x85\xd5\x84\x58\x72\x02\xb7\x00\x43\x0f\x45\xbd\x57\x02\xc4\x91\x4d\xa6\x1d\xda\x84\x50\xce\x8d\x1e\xe7\xb0\xea\xb8\x56\x04\xee\x49\xd2\x87\xf5\x09\x5c\x2b\xd1\xc1\xc1\x0a\xed\x63\xff\x16\xf9\xf4\x3a\x52\xe9\x4e\xa1\x40\xea\xc8\x53\x42\xb2\x41\x8a\xba\xef\x37\x62\x33\x6f\x5a\x97\xda\xda\x7c\xd2\x17\x52\x2e\x32\xdd\x09\x05\x0e\xbf\xe4\xf2\x5e\x75\x7f\xb4\xa6\x39\x50\x0d\xee\x3b\xa9\xa7\x2a\x14\x9a\x22\xd6\x8a\x8c\xf2\x88\x4e\xec\xbc\xa7\xa8\x44\xb4\x66\x7a\x4c\x64\x9f\xd0\xf8\x3c\x3d\x5e\x51\xb7\x59\x41\x82\x20\x52\x2b\x7c\x1e\x95\x2f\x6f\xa8\xbf\x9a\x41\x2e\xc9\x71\x3a\x0b\xfe\x57\x21\xf2\x61\xa1\x9b\xa7\xc2\x21\xa4\x9e\x97\x60\x4d\xd1\x53\x4c\xfd\xd3\x7f\x89\x69\x3b\x2e\xb8\x2b\x7a\xbf\x3f\x3d\xc3\xce\xd5\x0d\xbc\x0a\x6c\x3f\xf4\x34\xe8\x1f\x75\xea\xb3\x47\x81\x17\xec\x2c\xba\x38\xfe\x94\xd1\xd0\x21\x1f\x58\x8d\x93\x50\x0d\x9e\x1d\x0b\x47\x36\x11\x68\xe0\xeb\xaf\x93\xf9\xce\xde\xa4\x7f\xcf\x7e\x1e\x9a\x8d\x68\xda\xaa\x71\x9e\x4c\x4a\x9c\x9c\xa8\x10\x44\xf0\x6b\xa2\x18\x5b\xef\xc1\x44\xac\xd3\xb3\x09\xf9\x8f\xd9\xf4\xd3\xc7\x3f\x50\x28\x62\xf5\x5a\xa8\x13\x5c\xcd\x9e\x58\x27\x7e\xc6\x84\xce\x52\xe7\xaa\x29\x90\xba\xd9\x34\x1d\x05\x31\xf2\x23\xe6\xef\xa6\xba\x46\x70\xea\xa9\xb4\xc8\xb3\x35\x39\x82\xa6\x8c\xa7\x0c\x19\x61\xbe\x0b\x43\x46\x06\x23\xac\x2a\x4c\x7a\x69\x79\xa2\x58\x83\x92\xef\x68\x20\x56\x92\x7b\xac\x8a\x9a\x27\xa1\x8b\xa1\xbd\xe2\x56\x9b\x7e\xa0\x96\x4a\x96\x9c\x4e\x1e\x6a\x15\xe6\x21\x78\x7a\x85\x49\x53\xe8\xbc\xc2\xdc\x8b\x77\x38\xd4\x09\xaa\x1d\xd1\x19\x8e\x6a\xe6\xb2\xf9\x87\x4c\xef\x6a\x7c\x2c\xb3\x43\x73\xf3\x78\x3e\x72\x16\x06\x2f\xb5\x52\x29\x0a\xcf\xbe\xa9\x59\xe4\x31\x56\x98\x52\x32\xbe\x7d\x15\x18\x86\x34\x5c\x4d\x95\x7d\x8d\xca\xb4\x54\xab\x7a\x60\x2a\x06\x30\xb9\xfb\xdb\x9b\x1f\xe0\xf9\x57\x7f\x86\xa3\xf7\xb5\xbb\xd9\x6e\x0f\xd2\x1f\x9b\xfd\x26\x37\xd5\xd6\xe8\x52\x99\x76\x5b\x2a\x59\xbb\xed\x5e\x99\xfd\xb6\x12\x52\xc7\xef\x5f\xbe\xfc\xf2\xff\x5f\x7e\xf9\xf2\xab\xeb\x32\x4e\x03\xd7\xec\xdd\x6b\x46\xa7\x6b\xb2\xd1\x75\x21\x5d\x6e\x4e\x68\xbb\x4d\x55\x2c\x23\x0d\x7d\xf9\x31\x56\x6d\x9e\x7f\x24\x57\x34\x61\xb9\x39\x89\xa3\x4e\x57\xe3\x68\x13\x11\x52\x29\xba\x55\x3a\x20\x74\x4a\x40\x5d\x93\xef\x80\xbc\xb8\x8b\x76\xd9\xc5\x55\xc6\xac\x10\x49\x17\x06\x2f\x99\x16\x3b\x11\x79\x76\x1f\xee\xbb\x1a\xff\xf2\xea\x4e\x99\x96\xfb\xc5\x0d\xcb\xf0\xcd\xd5\xea\x06\xbc\x6d\xf0\xe3\x2e\xcc\xa9\x25\x08\xdd\xcd\x53\x61\xc2\xa3\x49\x03\x7f\x81\x25\xab\xd1\xc7\x92\x88\x89\xb9\xc0\x1e\xab\xda\x77\x63\x23\x08\xc7\xda\xd4\x82\x12\x60\xb9\xee\x50\x93\xa8\x5f\xf8\x7e\x63\xd6\x27\xdb\x74\x49\xb7\x99\xed\x9b\x2e\xd7\xa6\xef\xa6\x5a\xcd\x04\x0f\x8d\x37\xbe\xaf\x31\xf7\x61\x17\xd5\xd4\x07\x2b\x0a\x9c\x6d\xdd\x42\xf1\x2c\x0a\xde\x52\x4d\x28\xcc\x5c\x21\x3c\x4f\x57\xc6\x7a\x17\x1c\x13\x1c\x36\xee\x61\xa5\x03\x8a\x22\xae\x0b\xec\x6e\x42\xcf\xb4\xb5\x10\x75\xad\x64\x1e\x65\x8b\xab\xb1\x07\x0a\x6f\xb4\xf4\x34\xd0\xa2\x00\xd8\xc3\x40\xa8\xb1\x31\xf4\xf6\xdd\x65\x30\xd8\x3c\x58\x41\xc3\xf8\x27\xb1\xe5\x54\x3d\xa0\x7f\x9b\x18\xb1\x37\x28\xd6\x1c\x85\x16\x47\xdd\x0d\xbc\x36\x46\x7d\x9c\x15\xcc\x3e\x7f\x19\xc4\xc9\x14\xe3\x8d\x4b\x02\xe5\x61\x66\xb5\x8d\xbe\xf6\xb2\x0a\x28\x15\xa2\x6b\x4e\x8f\x1b\xd2\x03\xfa\x18\x75\xe3\x31\x33\x04\xda\x04\xad\x28\xa8\x22\x84\x2f\x46\xd4\x06\x26\xf4\x65\x09\x0e\x55\xb9\x39\x20\xab\x77\xb5\xda\x48\x47\xfd\x3c\x7d\x36\xe5\x0d\xc4\xfc\x3a\x27\xf4\xcd\xd5\x6a\xb5\xd0\x2c\x44\x7f\x7d\x98\x12\x8d\xd9\x38\x2d\xcd\x80\xca\xe1\x72\xbf\x11\x30\x86\x62\x71\x29\xc5\xc6\x69\xca\xbd\x07\x07\x58\x6f\x84\xf6\x68\xa0\x30\xfa\x85\x5f\xa2\x3c\xac\x93\x17\xad\xb3\x06\xd7\xe4\x47\x62\x32\xfd\xf9\x6d\x2b\x7d\x7e\xdc\x1b\x61\x8b\xdd\x1a\x76\xfc\xec\xce\xd8\x56\xd8\x02\xed\x0e\xd0\xe7\x9b\x8b\xa6\xf8\xf8\x07\x3a\x92\x58\x7e\x82\xce\xc3\xf8\xc8\x5b\x49\x18\x2f\x91\x7b\x22\x84\x77\xa3\x3e\x86\x0a\x15\x45\x8b\xc6\x36\xbc\x18\x00\x21\xee\x24\xd6\xe3\x26\xa3\x27\x41\x41\x3b\xec\x23\x20\x37\xd6\x62\xee\x55\xf7\x49\xa5\x3c\x2e\x90\xcf\x2a\x79\xbf\xa3\x19\xb5\x71\xe2\xbc\x47\x5e\x4e\x4d\x61\xd3\xb1\xe9\x56\x86\x23\x59\x4b\x7f\x35\xfb\x75\x1e\xa1\x17\x3a\x5c\x0e\xd6\x51\xa3\x9a\xa8\x2c\x77\xaa\x49\xb3\xd4\x9f\x8e\x6d\x95\x1a\x91\xf0\x28\x11\xba\xdc\x93\x4e\x6c\x73\x97\xb6\x88\x71\x45\x1e\xa7\xe3\x78\x69\xf1\x77\xf4\xa2\x10\x5e\xc0\x4f\x12\x5b\x37\x5f\xe4\x8a\xd9\xb2\xf0\x51\x44\xbd\xd5\x20\xac\x15\x8c\xa7\x0c\x6c\x94\x52\x43\xa3\x33\x26\x4f\x88\xe8\x36\x70\x4f\x68\x1f\xf2\x2d\xf5\x3e\x8d\x63\xee\x13\x06\xe9\x5f\x41\x63\xb8\xa9\xe3\xb8\xf0\x4e\x9b\x16\xda\xa3\xcc\x8f\xc0\x1d\x17\xc6\xfd\x5d\x2d\xdc\x68\x9c\x70\x46\x9d\x90\xf4\xbb\x5a\xc5\xba\xb2\x5c\x1a\x2e\xe1\x35\x9b\x86\xe0\xe6\x17\x52\xe9\xd7\x99\xab\xa3\xe6\xbf\xfc\xfa\x54\x07\xb0\x38\xd4\x77\x56\xc9\xf6\x81\x99\xb1\xfd\x44\x1f\x4c\x1e\x6e\xb4\xa8\xf0\xf4\x3d\xff\xa2\xed\x43\xb3\x49\x44\x42\xb3\x49\x52\xa6\x34\x2e\xd0\x49\x1b\xad\xbd\x59\x76\x19\x38\x6f\x9b\xdc\x53\xf1\xb0\x58\x5b\x74\x69\xd2\x88\xe3\x0a\x3a\xbf\x44\xe0\x62\x33\x3a\x36\xf8\xbf\x92\x58\x5d\x8d\xab\x1b\xb8\xd5\xdd\x5b\x66\xf6\xed\xb2\x11\xb5\x54\x0f\x03\xd9\x68\xd0\x9e\xe3\xd8\x70\xbd\xe3\xcd\xa5\x1b\x81\xcd\x84\x58\xb8\x5e\x12\xe9\x8e\x88\x27\xa6\xdc\xf2\x32\x9d\x2c\x28\x75\x78\x34\x5f\x7c\x57\x28\xf4\x6c\xe0\x41\xee\x4c\x2e\x2c\xd6\x67\x17\x30\xee\xa1\x2b\xc7\x9e\x22\xc3\x00\xe7\x0e\x8e\x05\x9b\x5f\x18\xf6\x76\x08\x05\x3a\x86\xfc\x85\x3b\xb8\x09\x9a\x0f\x77\x71\xe3\xfb\x96\x30\x04\xf1\xad\x9b\x8b\xbd\x5c\x9c\x58\x8b\x74\x69\x45\xaf\x0c\x17\x57\xf0\x18\x76\xb3\xc0\x37\xfd\x96\x6f\xdd\x4f\x63\xeb\x4f\x02\xf3\xf3\x95\xc7\x93\x21\x3c\x92\x1c\x2e\xa5\x82\x7b\xa3\x85\xc3\x0d\xe3\xb0\x5c\x93\xbf\x4f\x7a\xf8\xc9\x4e\x28\xec\x7e\x7a\x30\x9b\xc2\xf1\x79\xe1\x0c\x14\x1e\x2e\x25\x97\x76\x9e\xbb\xb0\xae\xd8\x0d\x33\x1a\xd3\x7d\xe1\x26\x75\x15\x16\xf7\x9e\x7d\x55\x1e\xc6\x00\x17\x09\x13\xb0\x9e\x9f\xff\xaf\xdf\x4a\xfd\xe7\x97\x52\x76\xa9\x47\x9c\x54\xec\x6f\x1e\x59\x2d\xdd\x06\xa3\x0c\x52\xa7\xca\xad\xc2\xaa\x50\x68\x30\x16\xf0\xb7\x46\xa8\xf0\x6d\x61\xcb\xf4\xe0\x6e\x09\x1e\x5c\x9e\xd1\x54\xc4\x9e\xad\x31\xa7\x28\xec\x2f\x0b\x77\x7b\x2c\x8d\xc5\x1d\x6f\x71\xd0\x47\xb7\x50\x7d\x8d\x4c\x67\x0d\xdf\x12\xf1\x38\x65\xef\xf1\x20\x35\xfb\x67\x76\x85\x3e\x5c\xae\x2f\x9c\x7e\xbc\x11\x62\x01\xaf\xc6\x8f\x57\x70\xfd\xb0\xb5\xff\xd1\xc7\xf4\x7e\xd6\x28\x85\x8d\x41\x99\xee\xdf\xa3\xa4\xb5\xc5\x13\x4f\x86\xe9\x75\x11\xb6\x49\x4f\x5f\xec\xfd\x2f\xad\x8a\xce\xc7\xcd\x5b\xe7\xd0\xfa\x61\xe1\x32\x2d\x8d\x7d\x73\x91\x6e\xde\xc2\xa4\x1c\x16\x2a\xbc\x56\x9d\xd3\x8b\x03\xd6\x69\xf8\xa3\x08\xe9\xe2\xb6\x26\xa9\x16\xa9\x3d\x21\x4f\x49\xf6\x8d\x74\x6f\xe2\xdf\xbd\x5c\x4d\xc7\xc2\xd5\x0d\x2c\xc7\xd0\x77\x42\x6b\xe3\xfb\xe9\x9e\x31\x3f\x37\x55\x2d\xfc\xa8\xdd\x22\xfd\x3e\x23\x23\x9f\x14\xe3\xff\x97\x1e\xb3\x02\xe9\xf1\x67\x45\xbc\x6b\xaa\x47\x43\x7d\x70\xcf\xa7\xed\xb0\x6f\xe3\x0d\x88\xee\xe2\xdf\xbc\x98\x38\xd9\x4d\x6a\x0b\x3b\xf1\x28\x28\x2b\x7e\x47\x6b\xe6\xf3\x5e\x4f\x6d\x5c\x00\x86\xd3\xfd\x5f\x3c\xc1\x85\x06\x82\x62\x35\x70\xfd\x9e\x86\x75\x3e\x75\xb5\x04\xe7\x0b\x0e\x39\xbf\x24\x78\xb9\x79\x79\x03\xcf\xa2\x08\xaa\x4b\x93\x6a\x14\x86\x0d\xcb\x7f\x4d\x35\xd6\xe4\xd9\x99\x85\x3e\x66\xff\x0e\x00\x00\xff\xff\xa1\x3c\x04\x3f\x20\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\x4d\x93\xdb\xb8\xd1\xbe\xf3\x57\x74\x79\x0f\x3b\xf2\x2b\x6b\xf6\xf0\x56\x0e\x53\xb1\xbd\xfe\x9a\x2d\x5f\x52\x2e\xcf\xd8\x3e\x24\xa9\x08\x22\x9b\x22\xd6\x20\xc0\x05\x40\xc9\xca\xd4\xfc\xf7\x54\x37\x00\x7e\x89\x9a\x91\x9d\xda\x43\x7c\xf1\x88\x04\xba\x1b\xfd\xf1\xf4\xd3\xe0\xe5\xd3\xa7\x59\xf6\x13\xdc\x56\x08\xd7\xca\xec\xe1\xba\xd5\x5b\xb9\x51\x08\xb7\xe6\x2b\x6a\x70\x5e\xe8\x42\xd8\x22\xcb\x7e\xfa\x09\xd6\xe9\x25\xbf\x5b\x43\x6e\xb4\xb7\x22\xf7\x59\xc6\xdb\xe7\x77\x82\x74\xa0\x0d\x28\xa3\xb7\x68\x41\x68\x90\xda\xa3\x2d\x45\x8e\x99\xaf\x84\x07\xa1\x14\x94\x69\xab\xe7\xad\x49\xae\x83\xbd\x69\x55\x01\x95\xd8\xd1\x2b\x7a\x5e\x1a\x5b\x83\x37\xab\x2c\x7b\x5f\x82\x80\xd6\xa1\x75\xb0\x17\xda\x3b\x5a\x50\x60\xa3\xcc\x01\x04\x68\xdc\x4f\x64\x2d\xc1\x57\x28\x6d\x6f\x73\x61\x90\x0c\xf3\xa0\x11\x0b\xda\x2c\xeb\x46\x61\x8d\xda\xd3\x4a\x18\x1d\xb5\xb7\x79\x09\x9b\xd6\x47\x51\xac\xc0\x65\x85\x39\x21\xa2\xdb\xe4\xa0\xc0\x52\x6a\x2c\x40\x6a\xf0\x95\x74\x9d\x15\xab\xe0\xd7\xcf\xa2\x55\x7e\x0d\x16\x9d\x69\x6d\x3e\xd8\x99\x65\xef\x44\x5e\x4d\xfd\xd3\xad\xf3\x87\x06\x59\xb9\x3b\xd6\x7e\x5a\x68\x54\xfa\xc1\x9a\x9d\x2c\xd0\xae\x97\xb0\xfe\x88\x39\xca\x1d\xff\x2d\x74\x01\xeb\xd7\x42\x09\x9d\xe3\xdc\x6e\xc7\xd1\x76\x93\xe3\xe5\x4a\x58\x84\xc6\xe2\xb3\xdc\xe8\x42\x7a\x69\xb4\x63\x51\x8d\x71\x7e\xf8\x8c\x63\x6e\xd1\x79\x2b\x73\x9f\x91\xa1\xf8\x0d\xf3\x96\x5e\x82\x29\xd9\xf2\xb2\xd5\x79\x58\xcc\xee\x42\xe0\x93\xac\x58\xef\x01\x48\x8f\xc3\x46\x58\xe1\x11\x36\x98\x8b\x96\x6c\xf1\xb0\x95\x3b\x74\xbc\x9c\x92\x82\xff\x10\x1b\xa9\xa4\x3f\x90\x6f\x5c\x25\x2c\x66\x02\x2c\x96\x68\x51\xe7\x9c\x4f\x21\x8c\x2c\x3d\xd8\x65\xb4\x3a\x00\x7e\x6b\x8c\x8b\xa2\x4a\x89\xaa\x70\xbd\x45\x99\xd4\x60\x34\x82\xb1\x50\x1b\x8b\xc9\xe2\xde\x15\x94\x98\x94\xd3\xce\x44\x83\x42\x86\x4e\xac\xa9\xc5\x57\x84\xbc\x75\xde\xd4\x9d\x87\xa3\x6b\xba\x20\x92\x6f\xc6\x5e\xa6\x04\x37\xb0\x13\x56\x9a\x96\x56\x4b\xbd\x75\xb0\x97\xbe\x62\xf1\x21\x1b\x57\xd9\xb5\xb1\x80\xdf\x04\x89\x59\x82\x80\x52\xb4\x39\x7a\xc8\x85\x86\x0d\xf6\xd2\xb1\x80\xcd\x21\x15\x94\xd4\xdb\x2c\xb8\x03\x52\x52\x8c\xb2\xe5\xe9\x65\x96\xc9\xba\x31\xd6\xc3\x67\x89\xfb\x8f\xe8\x8c\xda\xa1\x85\xd2\x9a\x1a\x9e\x0c\x1f\x3d\xc9\xb2\xcb\xcb\xcb\x71\xf1\xd0\x93\xd1\xd3\x08\x10\x9d\x2d\x22\x66\x8b\xc5\x01\x50\x58\xfc\xa3\x95\x76\xae\xac\xc6\xc5\xc0\x92\x7b\x63\xe1\x0b\x82\xf3\x52\xa9\x00\x1a\xd2\x83\x70\x23\xd0\x81\x0a\x6d\x9f\x37\x9e\x7f\x71\x4a\x99\x9a\x33\xa7\x6c\x15\x8b\x6c\x7d\x88\x56\x8d\xbe\x32\x45\x0c\x4e\x2d\xf4\x01\x1a\x6b\x7e\x47\x06\x27\x52\x13\x94\x11\x02\x91\xa5\xac\xd4\xe8\x09\xd6\xb8\x25\x8b\x8c\xc8\x11\x52\x78\x73\xa0\xc3\xd6\x28\xb4\xeb\xce\xba\x62\x30\x0c\x69\xd0\x3f\xa5\xbf\xf9\x59\x17\xe5\x70\xe6\xe4\x14\x37\x2a\xf7\x1e\x3a\x44\x9e\xa3\x73\x17\x42\xa9\x45\x67\xc9\x04\xd6\xee\xb2\x0c\x00\xe0\xf2\x12\x5e\x69\x40\xed\xa5\x8f\x7e\x2e\x8d\x25\x5b\xcc\x5e\xea\x2d\x8b\xa7\x34\x2b\xac\xd8\x0b\xc5\x39\xcf\xb9\x16\xe2\x2f\x42\x01\xb1\xa0\xa1\xca\xa1\xb8\x2f\x69\xf7\x46\x61\x52\x79\xc9\x3d\x07\x77\x21\xac\xe1\xc8\x58\x4b\x4f\xa9\xb9\xaf\x50\x27\x25\xe4\xac\xa4\x5d\x3f\xa2\x72\x37\x54\x76\x21\x6a\xd3\x6a\x7f\x05\x9f\xae\xe5\xb7\xbf\xfc\xff\x92\xd1\xf2\x0a\x6e\xbc\x95\x7a\xbb\x64\x49\x57\xf0\xaa\x28\x2c\x3a\xf7\x32\xfc\xfe\xf4\xe9\xfd\xdb\x2b\xf8\xf4\x5e\x7b\x5a\xdf\x69\x1d\x3e\x5e\xfc\x88\xfd\x05\x36\xc6\x49\x1f\xb2\xf9\x61\xeb\xdf\x86\xa5\x8f\x18\xef\xcd\xd0\x74\x6f\xc6\x86\x77\xea\x4e\x18\xfe\xee\x01\xa3\x2b\x84\xad\x32\x1b\xa1\x60\xd3\x5a\x1d\xd3\x9f\x96\xe5\x42\x29\x5a\x45\x78\x23\x40\x1b\xfd\xec\xdf\x68\x0d\x6c\x42\xa7\x38\x71\x9a\xd7\xad\xd5\x67\xc4\xe1\x84\x9d\xaf\x07\xb2\x09\x44\x86\x8e\xef\x0b\x9a\xcf\xd1\x04\xdc\x72\x3d\xed\xe8\x30\xfb\x1f\xdd\x3e\xca\xea\x2d\x7a\x4f\x49\x1d\xed\x06\xc9\x08\xc8\x10\x34\xd2\x33\x3c\xcb\x71\x13\x4c\xa6\xc1\x1d\x2f\x4e\x0a\x7e\xc3\x50\xa5\x49\x78\x6c\x0f\xbb\x2e\xde\x53\xc9\x3b\x89\x7b\xb2\x94\xcc\x8a\x22\x2f\x16\xc9\x53\xbc\xe3\xbe\x77\x47\xc2\xe6\x73\xfc\x81\x74\xac\x3c\x76\xb1\x88\x24\x01\x2c\xc8\x09\x29\xb3\x09\xf8\x93\x90\x61\x4d\x73\x4f\x4b\xf8\xc2\x10\x70\x68\x70\x75\xa4\xf7\xbd\x87\x8e\x45\x45\x85\x63\x5d\x46\xc3\x7a\x93\xa8\x04\x41\xed\xb2\xdb\x3b\xe8\xdc\x0a\x05\x75\x4a\xd3\xc4\xfc\x6b\x8c\x73\x32\x36\x4b\x53\x42\x6e\x51\xb0\x11\xb1\x61\xc6\x50\x5b\xd7\x9b\x4e\x27\x26\x1a\xc6\x6c\x8e\xbc\x2b\xac\x54\x87\x48\xcb\x18\x8a\xcd\x5e\xa7\xa8\xac\xbe\x27\xce\x5d\x3f\x8c\x50\x99\x54\x26\x0f\x82\x6b\x37\x91\xab\x3e\xe8\xc0\x24\x7a\x24\x84\xf8\x91\x45\xdf\x5a\x82\x89\xc8\x43\xba\x7e\x6e\xb1\x36\x3b\x46\x8c\xd0\xd7\x07\x1b\x47\x42\x6e\x07\x8c\xe9\x67\x17\xcf\x03\x0a\x77\xa8\xa8\x6c\xd7\xf1\x80\x43\x08\x5e\xac\x47\x12\x6e\x0c\x11\x2d\x63\xe9\x98\x84\x4f\x41\x82\xf4\x4b\xa6\x3a\x81\x82\xa3\xa4\x56\xd9\x79\x14\xcc\x86\x7a\x20\x48\xef\x50\x95\x23\x69\x86\x49\x7e\x44\xff\x62\x40\xb8\xf8\x64\xeb\xa1\x1d\xeb\xf9\x53\xcd\x59\xcc\x45\xb2\x9f\x47\xf6\xc5\x15\xfc\x7a\xc7\xde\xbb\x1f\xd4\x23\xfd\x23\xf2\x39\x79\x14\xfb\xdd\xda\xa2\x8b\xf4\xb8\x64\x82\x66\xa2\xd3\x29\x1a\xb0\x13\xaa\xc5\xa3\x6d\x61\xcb\x6a\x58\xaa\xf0\xfc\x39\x44\x63\x8e\x96\xd3\xbf\x27\x5f\xfa\xbe\x19\xd6\x41\xdd\x3a\x4f\x54\x8c\xd4\x39\x51\x23\x11\x94\x19\xcc\xe8\x5b\x1e\x9f\xec\xc9\x91\x78\x82\xed\xe3\x5e\x17\xfe\x4f\x18\x4b\xc1\x21\x7b\x6f\x0f\x0d\x5e\x2c\x56\xb2\xa0\xb0\x94\x12\x6d\x6a\x7f\xbc\xc0\xec\x35\xda\x97\x2b\x11\xfa\xc9\x10\x91\xf9\x75\xdb\xca\xe2\xa8\x19\x46\x5f\xd0\xbb\xc5\xc8\xb4\xfb\x6c\xfc\xd7\x00\xbf\xd2\x90\xf1\xdf\xe3\x57\x6c\x70\x33\xf0\x25\x75\x8c\xe4\x19\xf0\xf5\x05\x13\x68\x48\x9d\xab\xb6\x40\x10\xd0\x4d\x2a\xc1\x8c\xbc\xc2\xfc\xeb\x38\x3e\x11\xb8\x3a\x29\x7b\xec\xd8\x1f\x31\xfe\x73\x08\x7f\x70\x43\x60\x75\x9d\x1c\x62\xe8\x85\x49\x8b\xe6\xd9\xfd\x12\x94\xfc\x8a\xe0\x1a\x25\xb9\xd1\xd4\xd0\x36\x84\x22\x9d\x10\x87\xba\x08\x2f\x68\x58\x90\x25\xd7\x9e\x87\x46\x85\xd9\x04\xce\x07\xbe\x14\xac\x29\xf0\x45\xd7\x83\x17\x5f\xb1\x47\x2d\x42\xb2\xf8\x86\x90\xe3\x44\x18\x46\x73\xeb\x43\xa5\xcf\x46\x51\xc5\x47\x99\x17\x21\x5b\x53\x95\x2f\xc6\x26\x6d\xd1\xdf\xb4\x0d\x8d\x27\x58\xf0\x02\x4a\x77\xea\x27\x14\x47\xa1\xd4\x61\x00\xb2\x4a\x3a\x4f\x25\xb6\x0b\x43\x1f\x2f\x8c\xe4\x9a\x29\x77\x3c\x34\xd9\xd1\x78\xf7\x68\xcf\x9e\xd1\x4b\xfd\xfb\xee\x96\xcb\xef\xb5\x31\xea\x7e\x6c\xeb\xc7\x68\xc9\xbe\x42\x06\x54\x63\x39\x01\x99\x76\xc9\x1d\x35\x40\x1a\xe9\xa5\x8b\x16\x84\x31\x8d\xde\x8e\x8a\x27\x49\x7b\x95\xce\xc1\xb9\x2a\x74\xdc\x05\x34\xa6\xb0\x20\x57\x31\x7a\xff\x4e\x98\x13\xb1\xcd\xdb\x96\xa7\x8f\x02\xcb\xc7\x69\x89\x74\xc7\x27\xbc\x08\xd8\x42\x7f\x2e\xc2\x19\xa7\x85\xde\xf3\xdb\x11\x5b\x28\x90\x82\xb1\x0c\xae\xee\x33\x2d\x34\x18\x1e\x99\xfb\x0b\x9e\xee\xbc\xcb\x44\xb5\x96\x70\x6b\x85\x76\x25\x5a\x63\x97\x5d\x5f\x0e\xf7\x15\x69\xfc\xec\xd9\x45\xdb\xf3\x5b\xf2\xaf\x4b\xa7\x80\x03\xfa\xef\x29\x03\x3e\xca\xd5\xc0\x9a\x5e\x71\x67\xd7\x70\x00\x5e\x75\xc3\xf1\xa4\x6e\xae\x25\xaa\x22\xa6\x9a\x15\x53\x50\x31\x25\x88\x87\x68\xa2\xb0\x69\x69\x47\x0e\xff\x4c\xe2\xf9\x3f\x54\x5e\x93\xf6\x4e\x53\x03\x2a\xb3\x0f\xc8\x4d\xe1\x1f\x5e\x79\x24\x24\x76\xad\x8d\x7d\xc6\xb6\xfa\x99\x97\x75\xbc\x4a\xe3\x54\x9c\xca\xe3\x4b\xa1\x2d\xa6\x02\x1a\x4e\x4a\x8d\x60\x78\xed\xf2\x26\xe6\x6f\xc4\xed\xf1\x75\xe9\x2a\x0c\xe8\x2b\x18\xc9\x97\xe5\x51\x93\x76\x37\xed\x86\xac\xb9\x30\x65\xa8\xb2\xbf\xfe\x7a\x37\x23\xe9\xfe\xc5\xc5\x62\x31\x43\x6e\x62\x99\xdf\x8d\xc5\x5e\x71\xdd\xdf\x8f\x5b\x35\xa0\x72\x38\xcf\x8f\x02\x4e\x31\x93\xab\x1b\x7f\x80\x42\x32\xc1\x14\xf6\x90\xf8\x4a\xc4\x8f\xc0\x95\xb8\x2b\x77\x6e\xd8\x57\x06\x0a\xa3\x7f\xf6\x73\x92\xfb\xcb\x9c\x59\xff\x2c\xc1\xb5\x79\x45\x4a\xc6\xaf\x6f\xf6\xd2\xe7\xd5\xc6\x08\x5b\xac\x97\xb0\xe6\x67\xd7\xc6\xee\x05\xd1\xd6\x35\xa0\xcf\x57\x27\x5d\x71\x7f\x92\xa1\x8c\x12\xfd\x4d\x68\xf6\xb2\x9c\x81\xe3\x1e\x40\x18\x8f\xa5\x1b\x80\xdc\xc9\x0c\x3e\x0f\x3d\x27\x01\x88\x46\xa7\xf0\xcd\x96\xc0\xdf\x49\xc8\x3f\xe1\xe5\x4b\x28\x85\x72\x78\xea\x40\xa9\xd9\x30\xd5\xf4\xc6\x8a\x2d\xa5\xac\xaf\x28\x81\x2d\xf6\x08\x91\xda\x84\x3f\x34\x32\xe7\x8a\xde\x84\x0d\x58\x3c\x5a\xa2\x6f\x43\x1a\xdc\x04\xf1\x1f\x84\xaf\x28\xd9\x06\x3f\x5f\x9e\xb6\xa9\x69\x37\x4a\xe6\x63\x93\xa4\x1b\xdb\xc4\x37\x6a\x22\x2d\xcd\x45\x13\x59\xd5\xb9\x86\x7d\xe0\x8d\xc9\xae\xfe\xd7\x0f\x9a\xf5\xb3\xeb\x99\xd1\xb9\x16\xf2\xec\x4e\x6f\x1d\x91\x3a\x10\xbd\x84\x37\xdd\x62\x10\x1e\xc4\x90\xb1\x91\x72\xd4\x34\xfb\x38\x10\xca\xa3\xd5\xc2\x0f\x58\xd9\xf4\xf2\xd4\x1b\x8a\x59\xeb\x06\x11\x0b\x17\xa3\xfd\x9c\x91\x0b\x6d\x34\xc5\x17\xb4\xa8\xd1\x35\xd4\xde\x62\x2d\xb7\xba\x40\xab\x0e\x64\x5d\xbc\x6b\x3f\xd3\xbb\xc9\x9e\x19\xff\xce\xa7\xb5\x96\xea\x54\xb6\xce\x8c\xd4\xeb\x30\xce\xac\xfb\xa1\xfa\x73\x0c\xc2\xf0\xda\x09\x66\xc7\x69\x8d\xfb\xe9\x48\x9d\x04\x53\x15\x1f\xef\xff\x33\xe6\x4f\x3b\x07\xaf\xa9\xb4\xfb\x29\xf2\xc5\x23\x53\xe4\xab\x30\x3a\xf6\x33\x61\x1a\x22\x15\x4d\xea\xbe\x12\x34\xbe\x03\xfe\xd1\x0a\x15\x7e\xcd\x70\x81\x99\x31\xf2\xfe\xcc\x61\x39\xde\x94\x83\x6b\x30\x97\x42\x75\xd7\x0d\xb0\xde\x60\x69\x2c\xae\x79\xf8\x89\x14\x24\xf4\x83\xa8\xb4\xbf\xfd\xe1\x2f\x29\x73\xc2\xe3\xc5\xf6\x06\xb7\x52\x6b\xca\xc0\xc9\x57\xa0\xfe\xfb\xd0\xcc\xee\x33\x7c\xfb\xfc\x39\x04\x2b\x2f\x8e\xde\x2d\xe0\xd9\xc3\x7e\xff\x5b\x97\x43\xc9\x99\xc3\xe9\x3d\x55\x6b\xef\xe3\xc6\xe2\x8e\x3f\xce\xa4\xe5\x22\x8c\x63\xd3\x69\x3e\xbd\x3f\x15\x8e\xfb\x73\x67\x2e\x51\x14\x34\x6f\xf5\x0a\xe3\xd8\x35\x8a\xfd\x51\xb3\xfa\x9e\x89\x6b\x8e\x79\x4c\x69\x07\x4d\x22\xce\xa1\xf5\xfd\x77\x8a\xdc\xe8\xdc\xa2\x8f\xbc\x2a\xba\xa7\xbf\x06\x0f\x10\x2f\x5d\x87\x4e\x53\x79\x11\x98\x06\xe3\x4d\x37\x13\xa5\x4f\x12\x51\xda\x19\x05\x47\x67\x59\x49\xf7\x5e\x3b\xcf\x81\x1f\x53\xa3\xc5\x15\xcc\x47\xff\x8d\xd0\x34\x3b\x24\xef\xf3\x57\xa4\xdc\xd4\x8d\xf0\x83\x6f\xb1\x74\xbe\x13\x97\x33\xd3\xab\x7c\x36\x63\x98\x7f\xe9\x9a\x26\xbd\x98\xb9\xa6\xf1\xe6\xc4\x25\x4d\xba\xf3\x1f\x5c\xd1\x4c\xae\xfd\x59\xea\x43\x17\x34\x70\xba\xe8\xbf\xb3\x8c\xfe\x2f\xbd\x3b\x3a\xe2\xe2\x87\x2a\xcb\xb5\xf5\xa3\x25\xd5\x27\xd3\x83\xc8\x36\x29\x25\xbe\x4c\xc6\x77\xc4\x69\x63\x15\x29\x65\xf6\x8e\x27\xe6\xf0\xdd\xd8\xc4\x35\xa3\x16\xc2\x19\x58\x09\x2a\xbe\xa3\xaf\x1e\xf0\x48\x45\x4d\x55\x5e\x7c\xf7\x7d\xe5\x89\x8b\xc7\x5f\x56\xbf\x5c\xc1\x93\xdb\x0a\xc9\x50\x75\x88\x8a\xa2\x3f\x82\x3f\x99\x9b\x0c\x2d\x3e\xed\x26\x18\xcf\xf0\xbf\x85\x8f\x40\xf1\xfb\x0f\xd1\x8b\x30\x0f\x1c\x26\x9f\x10\xe7\xbf\x65\xd1\xb9\x69\xc3\xc5\xbf\x42\x09\x9f\x83\x24\x32\x8e\x8d\xab\x14\xe9\x17\x74\xc2\x89\x3b\xb8\xb0\x46\x5f\x95\x46\x7b\x52\x45\x85\x87\xa7\x6f\x3e\x43\x85\x84\x55\xe3\x12\xe9\x5d\x52\xa0\xf3\xd6\x1c\x06\x43\xf4\x7d\x76\xff\x9f\x00\x00\x00\xff\xff\x01\x9a\xa6\x18\x2f\x23\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -157,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x52, 0x36, 0x55, 0xb, 0xd2, 0x99, 0x3, 0x4a, 0xb1, 0x10, 0x3a, 0x8a, 0x68, 0xdc, 0x45, 0x66, 0xe8, 0xf2, 0x59, 0x1d, 0xe1, 0x20, 0xd7, 0x39, 0x91, 0x12, 0xd2, 0x59, 0x65, 0xe7, 0x3e, 0xcf}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x84, 0x19, 0xf5, 0x51, 0xc8, 0x1a, 0xe7, 0xaa, 0x2, 0xe6, 0x36, 0xff, 0xcb, 0x4, 0x94, 0x18, 0x83, 0x37, 0x1e, 0x80, 0x9a, 0x9d, 0x2c, 0x64, 0x46, 0xf, 0x4f, 0xdd, 0xd6, 0xa9, 0xa9, 0xaf}}
 	return a, nil
 }
 
@@ -241,7 +199,7 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x59\x5b\x6f\x23\xb7\x15\x7e\x9f\x5f\x71\xea\x00\xb5\x1d\x68\xe5\x3e\x14\x7d\x30\x10\x6c\x36\x71\x5c\x08\x28\xdc\x60\xa3\x4d\x1e\x23\x6a\x78\xa4\x61\xc3\x21\x67\x49\x8e\xb4\x82\xb3\xff\xbd\x38\x87\x97\x99\xd1\xc5\xbb\x6e\xf7\x21\xb1\x46\xc3\x8f\xe7\xf2\x9d\xab\xee\xbe\xfd\xb6\xaa\xbe\xf9\x06\x96\x0d\xc2\xa3\xb6\x7b\x78\xb2\xe6\xcd\x63\x6f\xb6\x6a\xad\x11\x96\xf6\x0f\x34\xe0\x83\x30\x52\x38\xc9\x2f\xae\x9e\xac\xc9\xdf\xf3\xd7\x2b\xa8\xad\x09\x4e\xd4\x01\x94\x09\xe8\x36\xa2\xc6\xaa\x22\xbc\xf2\x11\x42\x23\x02\x08\xad\xcf\xa1\xe7\xd3\x1e\x7c\x63\x7b\x2d\xe9\xc1\xc6\xba\x16\x82\x9d\x57\x8b\x0d\x08\xe8\x3d\x3a\xd8\x0b\x13\x3c\x04\x0b\x12\x3b\x6d\x0f\x20\xc0\xe0\x1e\x9e\x1e\x97\x05\x60\x06\xa1\x41\xe5\x06\x71\xf6\x0c\x67\x10\x65\x15\x2c\xa8\xb6\xd3\xd8\xa2\x09\xf4\x1a\x1c\x6b\x31\x08\x3b\x67\xe1\xc7\x38\x6d\xef\x03\x6c\xac\x26\xf3\x90\x12\x74\xde\xf5\x1a\x3d\x08\x23\xc1\x88\x56\x99\x6d\xc5\x2a\x86\x89\xd6\xbe\xc3\x5a\x6d\x14\xfa\x79\xb2\xdc\xe3\x72\x05\x0e\xbd\xed\x5d\x36\x51\x6d\x1d\x96\x47\x10\x0e\x5d\xb2\x95\xc3\xce\xa1\x47\x52\x59\x18\xd6\x52\x19\x46\xf7\xad\x70\xa1\x88\x96\x80\x7f\xb4\x5a\x63\x1d\x94\x35\x2b\x78\x3f\xc1\x1f\xa0\x09\xd5\x07\xeb\x48\x6a\xb6\xe8\xb5\x4f\xd6\xcb\x67\xe7\xd5\x82\x5c\x58\xeb\x5e\xf2\x4b\x1b\xdc\xc3\xa6\x37\xfc\x1d\x5b\x5e\xb0\x05\x48\x0a\xbb\x37\xe8\xe8\x11\x0a\xaf\xf4\xa1\x6a\xed\x0e\x21\x90\x1d\x3d\x09\x4a\x66\xb1\x7d\x00\xbb\xe1\xb7\xc7\x57\xb0\xbc\x3f\x3b\xbb\x53\x12\xdd\x8a\xdf\x5c\xbd\xc7\x1a\xd5\x8e\x3e\x16\x71\x8b\x11\x3d\xeb\xe1\xc7\x4f\x40\x62\xad\x85\xc3\x91\x70\x7b\x15\x1a\xf0\xb6\x45\xe8\x1c\x32\x68\x67\x3d\x9b\x49\x2a\x7e\xa3\x4a\x56\xfd\xd8\x2b\x87\x2c\xd4\x60\x33\xd2\x23\x79\xb7\x46\x17\x84\x32\xc9\xa7\x0c\xb4\xc6\x46\xec\x94\x75\x25\x0a\x7c\x24\xc8\x01\x48\x04\x8f\x9d\x70\x22\x20\xac\xb1\x16\x3d\x89\x19\x60\xab\x76\xe8\xf9\x0e\x26\x2e\xfd\x21\xd6\x4a\xab\x70\xa0\x9b\x7c\x43\xe7\x04\x38\xdc\xa0\x43\x53\x23\x71\x33\x12\x77\x2c\x12\x89\x6b\x8d\x3e\x00\x7e\xea\xac\x4f\x78\x1b\x85\x5a\x46\xd6\x0d\xba\x2b\x03\xd6\x20\x58\x07\xad\x75\x58\x25\x9b\x0f\xe6\x9a\xc3\x82\x62\xcf\xdb\x24\x18\x09\xe5\x8f\xa5\x6a\xc5\x1f\x08\x75\xef\x83\x6d\x8b\x13\x92\xd1\x26\x71\x33\x75\x04\x45\xa3\x85\x9d\x70\xca\xf6\x04\xa9\xcc\x36\xf9\x82\xe0\x23\x1f\xe6\x55\xf5\xc3\x01\x7a\x4f\xf6\x2c\xc8\xac\xc2\x00\x34\x4b\x42\xd9\x0d\x53\x72\xca\x71\x0f\xb5\x30\xe0\xd1\xc8\x8a\x4e\xb9\x48\x96\xcc\xb6\x0e\xd1\xbd\x09\xf6\x0d\xfd\x7f\xc6\x77\x13\xf1\xc8\x65\x66\x4b\xf2\xf1\x25\x9c\x0c\x48\x2c\x01\x35\x12\xaa\x06\x8d\x72\x8b\xae\x3a\x09\xa7\xa5\xe5\xab\x72\xd4\x11\xeb\x8d\x0d\x0d\x3a\x16\x71\x56\xb2\x11\xa7\x16\x4f\xb6\x39\x30\xb4\x74\x22\x86\xc6\xd3\xe3\xb2\xda\x38\xdb\x9e\xf8\x94\xd3\x93\x81\x3a\x67\x10\x89\x9d\xf5\x2a\x14\x4f\x82\x35\x93\xbb\xae\x7d\x35\xe5\x68\x6d\xc9\x13\x21\xd2\x37\x38\x61\xfc\x06\xdd\xbc\xaa\xbe\xbd\xab\x2a\xd5\x76\xd6\x05\xf8\x55\xe1\x9e\x12\x80\xde\xa1\x03\x96\xe2\x6a\xfc\xe8\xaa\xaa\xee\xee\xee\x38\xd7\xb7\x44\xf3\x71\xf6\x1c\x25\x40\xf8\x37\x0b\x31\xfe\x96\xdc\xaa\x35\x9f\x4e\x57\xb1\x07\x47\xd4\x50\x7e\x94\xfe\xef\xee\xee\x2a\x51\xd7\xe8\xfd\x8d\xd0\xfa\x76\xb8\xe4\x24\xed\x3e\x57\x15\x00\x00\x01\xbf\x33\x80\x26\xa8\x90\x20\x37\xd6\xc5\x8c\xc3\x9e\x6c\xb0\x98\x59\x68\x4e\x2c\xd1\xff\xac\xa4\x80\x5f\x45\xaf\x03\x23\x8d\xaf\x1d\xc3\xfd\x96\x4f\xaf\x35\x7e\xdd\x9d\x7d\x27\x45\x48\x5c\x8d\x7f\x03\xee\x38\x25\xf3\x6b\x6c\xbe\x17\xaf\xfc\x40\x87\xa6\xf7\xfd\xb4\x8b\xd6\x12\xe1\xb4\xee\x61\xab\x02\xec\x89\x23\xa4\x6d\x8b\x41\xd0\x71\xd2\x35\x97\x00\x9f\xe4\x90\x05\x6f\x11\x38\x3a\x38\x53\xac\x91\x21\x02\x4a\x58\x1f\x98\x67\xd9\x72\x2b\x7a\xfe\xf4\xb8\xfc\x10\x4f\xaf\x0a\xe7\x0a\x4e\x8c\x0e\x03\xab\x22\xf3\x2a\xab\x22\x87\x54\x05\x31\x55\xc5\xc8\x20\x1d\xf6\xe2\x54\x24\x62\xd7\xd8\x0a\x9d\x4b\x56\xf3\x9d\x68\x5b\x0a\x73\xf6\xd9\x20\x9f\x4a\x4f\x06\xea\xfb\xeb\x51\xcd\xf0\x05\x39\xe7\x58\xd6\xb6\xb6\x32\x52\x82\xea\xcd\xe8\x75\x4a\x84\x2c\x5b\x23\x7c\xac\xc0\x42\x0f\xaa\x44\x57\x15\xc4\xa4\xcf\xe8\x32\xb2\x7b\x63\x65\xe4\x3b\x99\x94\x6c\x41\xef\x6d\x31\x96\xf7\x53\xab\x14\xb4\xa9\x09\xd8\xd3\x94\x57\x3d\x15\x05\x6f\x21\x75\x08\xca\xc9\x37\x9d\x70\xe1\x00\xca\x48\xfc\x44\x06\x21\x17\xb6\xd6\xa8\x60\x63\xb9\x88\x06\x2b\x70\x44\xc0\x8f\x3d\xba\x43\x2c\x2a\xd1\xde\x03\x41\x72\xb6\x89\x55\x79\x6a\xbb\x79\x06\x39\x25\xea\xae\x50\x14\xe5\x8d\x92\xf7\xf0\x61\x61\xc2\x3f\xfe\x3e\x83\xbe\x1f\x7f\x62\xd0\x7b\x78\x27\xa5\x43\xef\xdf\xce\xb8\x49\xb9\x87\x5f\x82\x53\x66\x7b\x7b\x02\xbb\x53\xb1\x6b\x80\x29\xe5\x6e\x7e\x07\xb3\x09\xef\x71\x73\x0f\xa2\x0f\xcd\x4d\xa1\xd9\x2d\xfc\xf5\xf9\x38\x29\xcc\x9f\x1e\x97\x9f\x23\xf4\x33\xff\x97\xfe\x71\x74\x8c\xc5\x8d\x78\xf3\x2d\x86\xc5\xc3\xcd\x6d\x16\x3b\x3d\xa5\x0f\x45\xf6\xf4\x8c\x3f\xbd\x9d\x8b\xa8\x49\x56\x64\x80\x59\x1e\x3a\xbc\xb9\x9d\x2b\x49\x2e\xde\x28\x74\x51\x84\xcf\xd5\xd9\xf0\x55\xbe\x44\x1b\xc7\xac\x88\x19\x89\x9e\xe7\x44\x65\x66\xe5\xa0\x32\x52\xd5\x22\xe4\x80\x8c\xfd\xd3\x49\x7b\x94\x90\x63\x5c\x15\x14\x76\xf0\xd4\x91\x1c\xfa\x27\xa7\x95\x07\x63\x43\x6c\xc0\xc8\x29\xb6\x37\xe1\xda\x73\xd7\x27\xb6\x38\x83\x15\x01\xad\x0a\xb3\x57\x46\xe9\xd5\x97\x08\x92\xd3\xe6\x0b\x0c\x21\xd4\xcb\x04\x39\x67\xbb\x4b\x86\x4b\x25\x11\x25\xd7\xdd\x49\xdf\x78\xa2\x7d\xc8\x36\x4d\xbd\xd1\xd7\x98\x74\x8c\xff\x25\xc5\x1f\xe2\xbb\x2f\xe8\x1d\xec\x57\x68\xbd\x98\xce\x40\x29\x7b\xfa\x38\x53\x0c\x93\xce\x45\x61\x4e\x3b\x62\x3a\x7f\x3f\xa9\xf4\xf3\x52\xf2\x87\x70\xc9\x69\xa8\x37\xea\x63\x8f\xb0\x78\x48\x96\x17\x75\xc3\xe9\xbb\x11\xbe\xbc\x7b\x36\x7e\x53\x5c\x65\x75\xab\x11\xf2\x19\x6b\xe5\xa9\xe3\x01\x7d\x70\xf6\x30\xc9\x28\xf0\x1d\x78\xd4\x27\x91\x3a\xfd\x32\x06\x6c\x34\x62\x7e\xfb\x4c\x40\x4e\xf4\xfb\x27\x86\x71\x23\x1d\x9b\xb5\xa1\x38\x71\x65\xa1\x4f\x76\x6f\xfc\xe4\xe0\x0f\x96\xaa\x9d\xdb\xf6\x6d\x9c\xb0\x1c\x82\xed\x88\x2d\x42\x4f\xe7\x9c\xd4\x02\xd6\x8d\xb5\x1e\x27\x10\x8d\xdd\x13\xab\x1c\x86\xde\x19\x0f\xbe\x5f\x47\xbf\x4a\xec\xd0\x48\x8a\x73\x6b\x60\xcf\x63\xef\xe4\x9e\x2e\x8e\x3e\x72\x02\xf6\x68\x1d\xe0\x27\x41\xdd\xd4\x0c\xd4\x06\x56\x64\x87\x15\x57\x30\x01\x3b\xa1\x7b\x9c\xc1\xba\x0f\xb0\x52\x72\x05\xd2\xa2\x37\xd7\x71\xda\x65\x01\x27\x50\x54\x4a\xa2\xb8\xb0\x6f\x54\x72\x36\x47\x05\x59\x84\xe7\x4b\x9b\xa4\xa6\x9b\xa8\xe4\x22\x85\x9e\x80\x2b\x89\x1b\xea\xa2\xae\x26\x78\x8b\x0d\xac\xa3\xb5\x52\xc2\x48\x6d\x2c\x2b\x3b\x4c\x29\x3c\x59\x82\x00\x6a\xf3\x75\x14\x8b\x24\xf9\x0f\xb1\x3c\xde\x36\x41\xa5\x83\x73\x58\x92\x83\x1a\xd4\x9d\xe7\x6e\x80\x2a\xe1\xbe\xb1\x74\x95\xb9\x0e\xe0\x7b\x87\xd1\x82\x21\x4f\x5b\xda\xda\x3f\xc8\xb4\xd4\x7f\x8d\xf1\x26\xd8\xdf\xd3\x44\xd6\x26\x2a\x51\x08\x10\x8d\x72\x62\x90\xe8\x95\x43\x59\x5a\xb7\xa3\x43\xc4\x4b\xde\x5c\xc8\x7c\x20\x31\x60\x6d\x9d\xb3\xfb\xcb\x77\x26\x8b\xbe\x03\x1f\x5c\x5f\x87\x9e\xa7\xfa\x34\xc2\xe7\xa4\x4f\xd3\x27\x7a\xca\x3e\x14\x64\xf3\xb3\xe1\x97\x22\xef\x97\x7e\xfd\xf4\xb8\xbc\x49\x3a\x1c\x3a\xa2\x45\x09\x99\x5b\xb8\xbf\x54\x34\xdf\x8e\x32\x00\xfd\x4b\x62\x19\xa5\xcb\xe3\xcf\xb9\xa8\x9d\xc9\x50\x16\x5a\x94\x8a\x1a\xdd\x5c\x7c\xfc\xd0\x5d\x0c\xc3\xc8\x6b\x92\x55\x1e\xf5\x73\xa3\x9f\x32\xc8\x6f\x98\xda\xdd\x3c\x3a\xe5\xce\x3a\xdf\xd6\xe5\x73\x03\x54\x6e\xff\x28\x6b\xaa\x9a\xcd\x9a\x8f\x8f\xa1\x13\x52\x62\x91\xf0\xfc\x7e\x9c\x3f\x83\x4d\xe9\x4a\x2b\x1f\x90\x9a\xa5\xfc\xbd\x4e\x80\x79\x28\x4b\x1d\xd8\xc4\xc9\x45\x56\x87\xad\xdd\x61\xd9\xcc\x14\x99\x47\x55\x87\x5a\xb6\xf8\x92\x0a\xa5\xcb\x64\x8e\x4f\xa3\x2b\x70\x38\x73\xd9\x8e\xdb\xa2\x03\x15\x45\x6e\x84\xe9\xc8\xe2\x81\x62\xf3\xc3\x87\xc5\x03\xb5\xb5\xc6\x86\x63\xd2\x8c\xa7\x9a\xc8\x9e\x2c\xe5\x4d\xfe\x63\xf1\x50\x88\x73\x0f\xdf\x3f\x13\x4d\x8e\x58\xc2\xbb\x92\xe9\xa3\x48\x1e\xdf\xeb\x90\xd3\x36\x7c\xf7\x1d\x8c\x21\xaf\x96\x51\xbe\x14\x27\x43\xb7\x12\xab\x39\xd7\xb7\x75\x9c\x55\xbd\x68\x91\x0c\x3d\x0d\x82\xc5\xc3\xd5\xc9\x95\xcc\x89\x49\xcb\x31\x15\x22\xd7\x8e\xf4\x34\x16\x8d\xd8\x7f\x70\xd1\x38\xdf\xe2\x0d\x18\x17\x5a\xbc\x69\x6c\x7c\x7d\x94\x24\xb6\xf8\xec\xe1\xff\x2d\x44\xf2\xfa\x6b\x1a\x22\x77\x85\x8b\x81\x67\x88\x44\x36\xc1\x7f\xe5\x9a\xc2\x3c\x13\x52\x8e\x69\x76\x24\xc4\x71\xba\x3a\xce\x36\xe9\x96\x1b\x76\x5b\x26\xc8\x51\xa1\xe5\x8c\xd4\xd1\xd8\x8f\xf2\xe9\x71\x49\x56\xf4\xa5\xf4\x09\x8e\xa6\xbc\xbb\x09\xfc\xdd\x50\x7f\x5d\x56\x8e\xee\xed\xc2\x97\x9b\x8e\x93\x8b\xa8\x07\x79\x5e\xb2\x23\x7f\xb0\x56\x7f\x9e\x8a\xf6\x3e\x49\x91\xa3\x26\x86\x09\x1b\x62\xab\x76\x34\x4b\x53\xf6\xa7\x02\xc7\xf7\xc7\xd9\x78\x1a\xac\x13\xbc\x77\x27\xbd\x63\x1d\x9b\x69\xec\xc8\xda\x87\x88\x97\x26\xf6\x51\x79\x83\xe0\x7a\x24\xec\x54\x45\x5f\xd6\x53\xf9\x63\x35\x47\xb9\xfe\x36\x2a\x7a\xcc\xc0\xf7\x71\x79\x59\xf6\x14\x51\x09\x53\x3b\x0c\x47\x2b\xe4\xf1\x78\xbb\xc6\xbc\x2e\x95\x79\x85\x5c\xb6\x36\x94\xf0\xf2\x16\xe2\x35\x84\x1d\x18\x76\x5f\xf2\xfb\xac\xd0\x78\x76\xbe\x37\x1d\xed\xb2\x9e\xcf\xb9\x30\x95\x67\x36\x5e\x1e\x59\xa0\x13\xa1\x19\x29\x7b\xe2\xb1\x4b\x24\x7a\x88\x38\xbf\x44\x98\x9f\x45\x68\x88\x45\xa3\x8f\x6f\xbf\x28\x42\xd7\xaf\xb5\xaa\xff\x5f\x09\x7e\x66\x94\x2c\xc0\xf0\xe9\xe8\xfe\x27\xeb\x5a\xa1\xf5\x01\xf6\x98\x56\x8b\xc3\xaa\x3a\x4d\x0d\x23\x5a\xa6\x4a\x31\x41\x10\xf9\xd7\x86\x1a\xa4\xe2\xd7\x84\x8b\xfb\x66\xee\xcc\xf2\xdc\x11\xfb\xc8\xb8\xad\xa3\x2e\x12\x0c\x92\xfc\xf4\x2e\x91\x9b\x37\xc8\x13\x58\x0f\xda\x9a\x2d\xa7\x9d\xb4\xb7\x8c\x6b\x9a\x61\xff\x2c\x22\xbc\xc3\xa9\x4a\xb5\x43\x11\xf0\xa7\xb6\x0b\x87\x91\xeb\xe3\x53\xce\x61\x48\x5f\x5d\xc8\x56\x10\x37\xbd\x31\xb4\x8f\x2b\xe8\x68\x97\x82\x87\xb8\xfe\xda\xc7\x86\xf4\x62\x92\x3b\x2b\xcc\x0d\xd7\xc3\xe1\xf3\xab\xcb\xe2\xbf\xd0\x6c\xc9\xb1\x54\x1a\xff\x96\x2a\x62\xbc\x49\x8e\xdd\x95\x4b\x21\x2b\xfc\x97\xab\x8b\x15\xe7\xa5\xe4\x1f\x73\xff\x69\xb2\x1f\x6f\xae\x06\xbf\x9f\x98\x92\x4f\xa5\x86\x22\x9d\x54\x12\x84\x73\xe2\xf0\x8a\xc2\x70\x76\x4d\x73\x6c\x34\x87\x67\x6c\x36\xea\xf8\xc6\xab\xef\xd8\x8c\xa5\xb4\x34\xf9\x15\x6b\x58\x25\x9f\x81\xca\x8d\xe0\xe5\x53\x9c\xf0\x75\x4b\x0e\x14\x7a\x2f\x0e\xf9\xe7\x13\x1a\xf0\x24\xfa\xa0\x8c\x98\x50\x6e\x04\x3e\xac\x96\xc9\x70\x45\xd2\x56\x79\xcf\x56\x8e\xcb\xcb\xfc\x4b\x49\x4c\x79\xd4\x43\x52\xd0\xae\x71\x68\x36\xcf\x61\x13\x62\x23\x9c\x8c\x33\x18\x25\x6f\x15\x97\x8b\x47\x5d\xe9\xf9\xbe\x68\xbc\x91\x60\x11\x8f\xbb\xa2\xf8\x30\x4d\xd2\xf6\xc5\x96\xa8\x9c\x7f\x45\x47\x74\x3c\x7b\xa7\x1f\x91\x5a\xdb\x9b\x5c\xfe\xe3\xb2\x69\x28\x35\xaf\x48\x98\x39\x98\xee\xa9\xd5\xaa\x5e\x7e\x3d\x4e\x63\x34\x21\xfd\x3e\x9e\x8b\xbe\x7a\x2c\xba\x10\xd9\x37\x31\xb4\x29\x9c\x8d\xd2\xb7\xf0\xe7\x9f\xf9\xd1\xdb\x71\x17\xac\xe4\xed\x3d\x9c\x1c\xa6\x7f\x57\x3f\x0a\x43\xdd\x47\x94\x8f\x63\xb6\x6c\x27\xe2\x60\x39\x34\xcc\x31\xbb\x4d\xb6\xeb\x65\x14\x68\x45\xa8\x9b\x12\xaf\x79\xd1\x9e\x7f\x4e\x96\x97\x52\x08\xbc\x3c\xf1\x7d\xae\xfe\x1b\x00\x00\xff\xff\xda\x9e\x9c\x04\xed\x1f\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x59\x5b\x6f\x1b\xc7\x15\x7e\xdf\x5f\x71\xaa\x00\x15\x15\xd0\x54\x1f\x8a\x3e\x08\x08\x1c\x3b\x8a\x0a\x02\x85\x6a\xd8\x74\xf2\x18\x0e\x77\x0e\xc9\xa9\x77\x67\xd6\x33\xb3\xa4\x09\xc5\xff\xbd\x38\x67\x2e\x3b\xcb\x8b\x6c\xb5\x7e\x48\xc4\xe5\xce\x37\xe7\xf2\x9d\x2b\x6f\x7f\xfc\xb1\xaa\x7e\xf8\x01\x16\x5b\x84\x87\xc6\xec\xe1\xd1\xe8\x57\x0f\xbd\xde\xa8\x55\x83\xb0\x30\x9f\x50\x83\xf3\x42\x4b\x61\x25\xbf\xb8\x7c\x34\x3a\x7d\xcf\x5f\x2f\xa1\x36\xda\x5b\x51\x7b\x50\xda\xa3\x5d\x8b\x1a\xab\x8a\xf0\xf2\x47\xf0\x5b\xe1\x41\x34\xcd\x39\xf4\x74\xda\x81\xdb\x9a\xbe\x91\xf4\x60\x6d\x6c\x0b\xde\xcc\xaa\xf9\x1a\x04\xf4\x0e\x2d\xec\x85\xf6\x0e\xbc\x01\x89\x5d\x63\x0e\x20\x40\xe3\x1e\x1e\x1f\x16\x19\x60\x0a\x7e\x8b\xca\x0e\xe2\xec\x19\x4e\x23\xca\xca\x1b\x50\x6d\xd7\x60\x8b\xda\xd3\x6b\x70\xac\xc5\x20\xec\x8c\x85\x2f\x71\xda\xde\x79\x58\x9b\x86\xcc\x43\x4a\xd0\x79\xdb\x37\xe8\x40\x68\x09\x5a\xb4\x4a\x6f\x2a\x56\xd1\x8f\xb4\x76\x1d\xd6\x6a\xad\xd0\xcd\xa2\xe5\x1e\x16\x4b\xb0\xe8\x4c\x6f\x93\x89\x6a\x63\x31\x3f\x02\x7f\xe8\xa2\xad\x2c\x76\x16\x1d\x92\xca\x42\xb3\x96\x4a\x33\xba\x6b\x85\xf5\x59\xb4\x08\xfc\x8b\x69\x1a\xac\xbd\x32\x7a\x09\xef\x47\xf8\x03\x34\xa1\x3a\x6f\x2c\x49\xcd\x16\xbd\x76\xd1\x7a\xe9\xec\xac\x9a\x93\x0b\xeb\xa6\x97\xfc\xd2\x1a\xf7\xb0\xee\x35\x7f\xc7\x96\x17\x6c\x01\x92\xc2\xec\x35\x5a\x7a\x84\xc2\xa9\xe6\x50\xb5\x66\x87\xe0\xc9\x8e\x8e\x04\x25\xb3\x98\xde\x83\x59\xf3\xdb\xe5\x15\x2c\xef\x3b\x6b\x76\x4a\xa2\x5d\xf2\x9b\xcb\xf7\x58\xa3\xda\xd1\xc7\x2c\x6e\x36\xa2\x63\x3d\x5c\xf9\x04\x24\xd6\x8d\xb0\x58\x08\xb7\x57\x7e\x0b\xce\xb4\x08\x9d\x45\x06\xed\x8c\x63\x33\x49\xc5\x6f\x54\xd1\xaa\x9f\x7b\x65\x91\x85\x1a\x6c\x46\x7a\x44\xef\xd6\x68\xbd\x50\x3a\xfa\x94\x81\x56\xb8\x15\x3b\x65\x6c\x8e\x02\x17\x08\x72\x00\x12\xc1\x61\x27\xac\xf0\x08\x2b\xac\x45\x4f\x62\x7a\xd8\xa8\x1d\x3a\xbe\x83\x89\x4b\x7f\x88\x95\x6a\x94\x3f\xd0\x4d\x6e\x4b\xe7\x04\x58\x5c\xa3\x45\x5d\x23\x71\x33\x10\xb7\x14\x89\xc4\x35\xba\x39\x00\x7e\xe9\x8c\x8b\x78\x6b\x85\x8d\x0c\xac\x1b\x74\x57\x1a\x8c\x46\x30\x16\x5a\x63\xb1\x8a\x36\x1f\xcc\x35\x83\x39\xc5\x9e\x33\x51\x30\x12\xca\x1d\x4b\xd5\x8a\x4f\x08\x75\xef\xbc\x69\xb3\x13\xa2\xd1\x46\x71\x33\x76\x04\x45\xa3\x81\x9d\xb0\xca\xf4\x04\xa9\xf4\x26\xfa\x82\xe0\x03\x1f\x66\x55\xf5\xf6\x00\xbd\x23\x7b\x66\x64\x56\x61\x00\x9a\x46\xa1\xcc\x9a\x29\x39\xe6\xb8\x83\x5a\x68\x70\xa8\x65\x45\xa7\x6c\x20\x4b\x62\x5b\x87\x68\x5f\x79\xf3\x8a\xfe\x3f\xe5\xbb\x89\x78\xe4\x32\xbd\x21\xf9\xf8\x12\x4e\x06\x24\x96\x80\x1a\x09\xb5\x81\x06\xe5\x06\x6d\x75\x12\x4e\x0b\xc3\x57\xa5\xa8\x23\xd6\x6b\xe3\xb7\x68\x59\xc4\x69\xce\x46\x9c\x5a\x1c\xd9\xe6\xc0\xd0\xd2\x8a\x10\x1a\x8f\x0f\x8b\x6a\x6d\x4d\x7b\xe2\x53\x4e\x4f\x1a\xea\x94\x41\x24\x76\xc6\x29\x9f\x3d\x09\x46\x8f\xee\xba\x76\xd5\x98\xa3\xb5\x21\x4f\xf8\x40\x5f\x6f\x85\x76\x6b\xb4\xb3\xaa\xfa\xf1\xb6\xaa\x54\xdb\x19\xeb\xe1\x37\x85\x7b\x4a\x00\xcd\x0e\x2d\xb0\x14\x57\xe5\xa3\xab\xaa\xba\xbd\xbd\xe5\x5c\xdf\x12\xcd\xcb\xec\x59\x24\x40\xf8\x37\x0b\x51\x7e\x4b\x6e\x6d\x1a\x3e\x1d\xaf\x62\x0f\x16\xd4\x50\xae\x48\xff\xb7\xb7\xb7\x95\xa8\x6b\x74\x6e\x22\x9a\xe6\x66\xb8\xe4\x24\xed\x3e\x55\x15\x00\x00\x01\xbf\xd1\x80\xda\x2b\x1f\x21\xd7\xc6\x86\x8c\xc3\x9e\xdc\x62\x36\xb3\x68\x38\xb1\x04\xff\xb3\x92\x02\x7e\x13\x7d\xe3\x19\xa9\xbc\xb6\x84\xfb\x3d\x9d\x5e\x35\xf8\x7d\x77\xf6\x9d\x14\x3e\x72\x35\xfc\x0d\xb8\xe3\x94\xcc\xaf\xb1\xf9\x9e\xbd\xf2\x23\x1d\x1a\xdf\xf7\xeb\x2e\x58\x4b\xf8\xd3\xba\x87\xad\xf2\xb0\x27\x8e\x90\xb6\x2d\x7a\x41\xc7\x49\xd7\x54\x02\x5c\x94\x43\x66\xbc\xb9\xe7\xe8\xe0\x4c\xb1\x42\x86\xf0\x28\x61\x75\x60\x9e\x25\xcb\x2d\xe9\xf9\xe3\xc3\xe2\x63\x38\xbd\xcc\x9c\xcb\x38\x21\x3a\x34\x2c\xb3\xcc\xcb\xa4\x8a\x1c\x52\x15\x84\x54\x15\x22\x83\x74\xd8\x8b\x53\x91\x88\x5d\xa5\x15\x3a\x1b\xad\xe6\x3a\xd1\xb6\x14\xe6\xec\xb3\x41\x3e\x15\x9f\x0c\xd4\x77\xd7\x45\xcd\x70\x19\x39\xe5\x58\xd6\xb6\x36\x32\x50\x82\xea\x4d\xf1\x3a\x25\x42\x96\x6d\x2b\x5c\xa8\xc0\xa2\x19\x54\x09\xae\xca\x88\x51\x9f\xe2\x32\xb2\xfb\xd6\xc8\xc0\x77\x32\x29\xd9\x82\xde\xdb\x60\x28\xef\xa7\x56\xc9\x68\x63\x13\xb0\xa7\x29\xaf\x3a\x2a\x0a\xce\x40\xec\x10\x94\x95\xaf\x3a\x61\xfd\x01\x94\x96\xf8\x85\x0c\x42\x2e\x6c\x8d\x56\xde\x84\x72\x11\x0c\x96\xe1\x88\x80\x9f\x7b\xb4\x87\x50\x54\x82\xbd\x07\x82\xa4\x6c\x13\xaa\xf2\xd8\x76\xb3\x04\x72\x4a\xd4\x5d\xa6\x28\xca\x89\x92\x77\xf0\x71\xae\xfd\x3f\xfe\x3e\x85\xbe\x2f\x3f\x31\xe8\x1d\xbc\x91\xd2\xa2\x73\xaf\xa7\xdc\xa4\xdc\xc1\x07\x6f\x95\xde\xdc\x9c\xc0\xee\x54\xe8\x1a\x60\x4c\xb9\xc9\x1f\xa0\xd7\xfe\x3d\xae\xef\x40\xf4\x7e\x3b\xc9\x34\xbb\x81\xbf\x3e\x1d\x27\x85\xd9\xe3\xc3\xe2\x6b\x80\x7e\xe2\xff\xd2\x3f\x8e\x8e\x52\xdc\x80\x37\xdb\xa0\x9f\xdf\x4f\x6e\x92\xd8\xf1\x29\x7d\xc8\xb2\xc7\x67\xfc\xe9\xf5\x4c\x04\x4d\x92\x22\x03\xcc\xe2\xd0\xe1\xe4\x66\xa6\x24\xb9\x78\xad\xd0\x06\x11\xbe\x56\x67\xc3\x57\xb9\x1c\x6d\x1c\xb3\x22\x64\x24\x7a\x9e\x12\x95\x9e\xe6\x83\x4a\x4b\x55\x0b\x9f\x02\x32\xf4\x4f\x27\xed\x51\x44\x0e\x71\x95\x51\xd8\xc1\x63\x47\x72\xe8\x9f\x9c\x56\x0e\xb4\xf1\xa1\x01\x23\xa7\x98\x5e\xfb\x6b\xc7\x5d\x9f\xd8\xe0\x14\x96\x04\xb4\xcc\xcc\x5e\x6a\xd5\x2c\xbf\x45\x90\x94\x36\x9f\x61\x08\xa1\x5e\x26\xc8\x39\xdb\x5d\x32\x5c\x2c\x89\x28\xb9\xee\x8e\xfa\xc6\x13\xed\x7d\xb2\x69\xec\x8d\xbe\xc7\xa4\x25\xfe\xb7\x14\xbf\x0f\xef\x3e\xa3\xb7\x37\xdf\xa1\xf5\x7c\x3c\x03\xc5\xec\xe9\xc2\x4c\x31\x4c\x3a\x17\x85\x39\xed\x88\xe9\xfc\xdd\xa8\xd2\xcf\x72\xc9\x1f\xc2\x25\xa5\xa1\x5e\xab\xcf\x3d\xc2\xfc\x3e\x5a\x5e\xd4\x5b\x4e\xdf\x5b\xe1\xf2\xbb\x67\xe3\x37\xc6\x55\x52\xb7\x2a\x90\xcf\x58\x2b\x4d\x1d\xf7\xe8\xbc\x35\x07\x94\x93\xd2\x56\xf0\x13\x38\x6c\x52\x54\x06\x4b\xf1\x83\xf3\x51\x37\x52\xe2\x9f\xe8\xcb\x6e\x39\x74\x64\x43\x05\xe2\xf2\x41\x9f\xcc\x5e\xbb\xd1\xc1\xb7\x86\x4a\x9a\xdd\xf4\x6d\x18\xa3\x2c\x82\xe9\x88\x12\xa2\x19\x0f\x33\xb1\xcf\xab\xb7\xc6\x38\x1c\x41\x6c\xcd\x9e\xa8\x63\xd1\xf7\x56\x3b\x70\xfd\x2a\x38\x4f\x62\x87\x5a\x52\x30\x1b\x0d\x7b\x9e\x6d\x47\xf7\x74\x61\xbe\x91\x23\xb0\x07\x63\x01\xbf\x08\x6a\x99\xa6\xa0\xd6\xb0\x24\x3b\x2c\xb9\x4c\x09\xd8\x89\xa6\xc7\x29\xac\x7a\x0f\x4b\x25\x97\x20\x0d\x3a\x7d\x1d\x46\x5a\x16\x70\x04\x45\xf5\x22\x88\x0b\xfb\xad\x8a\x1e\x65\xea\x93\x45\x78\x88\x34\x51\x6a\xba\x89\xea\x2a\x52\x7c\x09\xb8\x92\xb8\xa6\x56\xe9\x6a\x84\x37\x5f\xc3\x2a\x58\x2b\x66\x85\xd8\xab\xb2\xb2\xc3\x28\xc2\xe3\x23\x08\xa0\x5e\xbe\x09\x62\x91\x24\xff\x21\x2a\x87\xdb\x46\xa8\x74\x70\x06\x0b\x72\xd0\x16\x9b\xce\x71\xc9\xa7\x72\xb7\xdf\x1a\xba\x4a\x5f\x7b\x70\xbd\xc5\x60\x41\x9f\x46\xaa\xc6\x98\x4f\x64\x5a\x6a\xb2\x4a\xbc\x11\xf6\xcf\x34\x76\xb5\x91\x4a\xc4\x73\xa2\x51\x8a\x7e\x89\x4e\x59\x94\xb9\x3f\x3b\x3a\x44\xbc\xe4\xf5\x84\x4c\x07\x22\x03\x56\xc6\x5a\xb3\xbf\x7c\x67\xb4\xe8\x1b\x70\xde\xf6\xb5\xef\x79\x74\x8f\x73\x7a\xca\xec\x34\x62\xa2\xa3\x14\x43\x91\x34\x3b\x1b\x63\x31\xbc\x3e\xf4\xab\xc7\x87\xc5\x24\xea\x70\xe8\x88\x16\x39\x64\x6e\xe0\xee\x52\x65\x7c\x5d\x84\x39\xfd\x8b\x62\x69\xd5\xe4\xc7\x5f\x53\xe5\x3a\x93\x86\x0c\xb4\x28\x15\x75\xb3\xa9\xc2\xb8\xa1\x85\x18\x26\x8e\x97\x64\xa4\x34\xcf\xa7\x6e\x3e\xa6\x89\xdf\x31\xf6\xb4\x69\x3e\x4a\xed\x73\xba\xad\x4b\xe7\x06\xa8\xd4\xe3\x51\x6a\x54\x35\x9b\x35\x1d\x2f\xa1\x23\x52\x64\x91\x70\xfc\x7e\x18\x32\xbd\x89\x39\xa9\x51\xce\x23\x75\x44\xe9\xfb\x26\x02\xa6\xc9\x2b\xb6\x59\x23\x27\x67\x59\x2d\xb6\x66\x87\x79\xfd\x92\x65\x2e\x4a\x0b\xf5\x65\xe1\x25\xe5\x73\x2b\xc9\x1c\x1f\x47\x97\xe7\x70\xe6\xda\x1c\x56\x42\x07\xaa\x7c\xdc\xed\xd2\x91\xf9\x3d\xc5\xe6\xc7\x8f\xf3\x7b\xea\x5d\xb5\xf1\xc7\xa4\x29\x47\x97\xc0\x9e\x24\xe5\x24\xfd\x31\xbf\xcf\xc4\xb9\x83\x9f\x9f\x88\x26\x47\x2c\xe1\x85\xc8\xf8\x51\x20\x8f\xeb\x1b\x9f\xba\x28\xf8\xe9\x27\x28\x21\xaf\x16\x41\xbe\x18\x27\x43\x4b\x12\x4a\x36\x17\xb1\x55\x18\x48\x9d\x68\x91\x0c\x3d\x0e\x82\xf9\xfd\xd5\xc9\x95\xcc\x89\x51\x5f\x31\x16\x22\xd5\xd9\xf8\x34\x14\x8d\xd0\x64\x70\xd1\x38\xdf\xc7\x0d\x18\x17\xfa\xb8\x71\x6c\x7c\x7f\x94\x44\xb6\xb8\xe4\xe1\xff\x2d\x44\xd2\x8e\x6b\x1c\x22\xb7\x99\x8b\x9e\x07\x85\x48\x36\xc1\x7f\xa5\x9a\xc2\x3c\x13\x52\x96\x34\x3b\x12\xe2\x38\x5d\x1d\x67\x9b\x78\xcb\x84\xdd\x96\x08\x72\x54\x68\x39\x23\x75\x34\xdb\xa3\x7c\x7c\x58\x90\x15\x5d\x2e\x7d\x82\xa3\x29\x2d\x68\x3c\x7f\x37\xd4\x5f\x9b\x94\xa3\x7b\x3b\xff\xed\xce\xe2\xe4\x22\x6a\x34\x9e\x16\xec\xc8\xb7\xc6\x34\x5f\xc7\xa2\xbd\x8f\x52\xa4\xa8\x09\x61\xc2\x86\xd8\xa8\x1d\x0d\xcc\x94\xfd\xa9\xc0\xf1\xfd\x61\x00\x1e\x07\xeb\x08\xef\xcd\x49\x83\x58\x87\x8e\x19\x3b\xb2\xf6\x21\xe0\xc5\xb1\xbc\x28\x6f\xe0\x6d\x8f\x84\x1d\xab\xe8\xf3\x7a\x2a\x77\xac\x66\x91\xeb\x6f\x82\xa2\xc7\x0c\x7c\x1f\x36\x94\x79\x19\x11\x94\xd0\xb5\x45\x7f\xb4\x27\x2e\x67\xd8\x15\xa6\x9d\xa8\x4c\x7b\xe2\xbc\x9a\xa1\x84\x97\x56\x0d\x2f\x21\xec\xc0\xb0\xbb\x9c\xdf\xa7\x99\xc6\xd3\xf3\x0d\x68\xb1\xb0\x7a\x3a\xe7\xc2\x58\x9e\xd9\x78\x69\x2e\x81\x4e\xf8\x6d\xa1\xec\x89\xc7\x2e\x91\xe8\x3e\xe0\x7c\x08\x30\xef\x84\xdf\x12\x8b\x8a\x8f\xaf\xbf\x29\x42\xd7\xaf\x1a\x55\xff\xbf\x12\xbc\x63\x94\x24\xc0\xf0\xe9\xe8\xfe\x47\x63\x5b\xd1\x34\x07\xd8\x63\xdc\x1f\x0e\xfb\xe8\x38\x1a\x14\xb4\x8c\x95\x62\x84\x20\xd2\x4f\x0a\x35\x48\xc5\xaf\x09\x1b\x96\xca\xdc\x99\xa5\xe1\x22\xf4\x91\x61\x25\x47\x5d\x24\x68\x24\xf9\xe9\x5d\x22\x37\xaf\x89\x47\xb0\x0e\x1a\xa3\x37\x9c\x76\xe2\x72\x32\xec\x62\x86\x25\xb3\x08\xf0\x16\xc7\x2a\xd5\x16\x85\xc7\x5f\xdb\xce\x1f\x0a\xd7\x87\xa7\x9c\xc3\x90\xbe\xba\x90\xad\x20\xac\x73\x43\x68\x1f\x57\xd0\x62\x61\x82\x87\xb0\xe3\xda\x87\x86\xf4\x62\x92\x3b\x2b\xcc\x84\xeb\xe1\xf0\xf9\xc5\x65\xf1\x5f\xa8\x37\xe4\x58\x2a\x8d\x7f\x8b\x15\x31\xdc\x24\x4b\x77\xa5\x52\xc8\x0a\xff\xe5\xea\x62\xc5\x79\x2e\xf9\x87\xdc\x7f\x9a\xec\xcb\xf5\xd4\xe0\xf7\x13\x53\xf2\xa9\xd8\x50\xc4\x93\x4a\x82\xb0\x56\x1c\x5e\x50\x18\xce\xee\x62\x8e\x8d\x66\xf1\x8c\xcd\x8a\x8e\xaf\xdc\x6f\x87\x66\x2c\xa6\xa5\xd1\x4f\x55\xc3\xbe\xf8\x0c\x54\x6a\x04\x2f\x9f\xe2\x84\xdf\xb4\xe4\x40\xd1\xec\xc5\x21\xfd\x46\x42\x03\x9e\x44\xe7\x95\x16\x23\xca\x15\xe0\xc3\xfe\x98\x0c\x97\x25\x6d\x95\x73\x6c\xe5\xb0\xa1\x4c\x3f\x87\x84\x94\x47\x3d\x24\x05\xed\x0a\x87\x66\xf3\x1c\x36\x21\x6e\x85\x95\x61\x06\xa3\xe4\xad\xc2\x06\xf1\xa8\x2b\x3d\xdf\x17\x95\x6b\x07\x16\xf1\xb8\x2b\x0a\x0f\xe3\x24\x6d\x9e\x6d\x89\xf2\xf9\x17\x74\x44\xc7\xb3\x77\xfc\xa5\xa8\x35\xbd\x4e\xe5\x3f\x6c\x94\x86\x52\xf3\x82\x84\x99\x82\xe9\x8e\x5a\xad\xea\xf9\xd7\xc3\x34\x46\x13\xd2\x1f\xe5\x5c\xf4\xdd\x63\xd1\x85\xc8\x9e\x84\xd0\xa6\x70\xd6\xaa\xb9\x81\x3f\xff\x4c\x8f\x5e\x97\x5d\xb0\x92\x37\x77\x70\x72\x98\xfe\x5d\xfd\x22\x34\x75\x1f\x41\x3e\x8e\xd9\xbc\x9d\x08\x83\xe5\xd0\x30\x87\xec\x36\x5a\xa1\xe7\x51\xa0\x15\xbe\xde\xe6\x78\x4d\xdb\xf4\xf4\x9b\xb1\xbc\x94\x42\xe0\xf9\x89\xef\x6b\xf5\xdf\x00\x00\x00\xff\xff\x8f\x1e\x43\x1e\xd2\x1f\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -257,7 +215,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x22, 0x37, 0x39, 0xbc, 0xc2, 0x40, 0xa8, 0xff, 0xbc, 0xbc, 0x37, 0x3f, 0xf0, 0x1f, 0xf1, 0x6a, 0x6b, 0xcc, 0xa3, 0x58, 0xd2, 0x68, 0x7f, 0x6a, 0x18, 0xf9, 0x69, 0x8d, 0xb8, 0x72, 0x6f}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0x42, 0x44, 0xc0, 0x85, 0x59, 0xa9, 0xf, 0xc2, 0x3a, 0xce, 0xe3, 0xb7, 0xb5, 0x85, 0xfe, 0x87, 0xb2, 0x84, 0x26, 0xa8, 0x47, 0x24, 0xf4, 0x3d, 0xf3, 0x15, 0x43, 0xee, 0xc6, 0xae, 0x46}}
 	return a, nil
 }
 
@@ -301,7 +259,7 @@ func utilityTokenforwardingCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityViewresolverCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x94\x4f\x8b\x23\x37\x10\xc5\xef\xfe\x14\x2f\x7b\x48\x6c\x08\xee\x4b\xc8\xc1\x97\x64\xc8\x32\x30\x87\x2c\x21\x71\xf6\xb2\x2c\x41\x6e\x95\xdd\x62\xd4\x52\xa7\x54\xb2\xb7\x19\xe6\xbb\x87\x92\xfc\xa7\xc7\x9e\x25\xcb\xf8\xd4\xc8\x5d\xf5\x5e\xfd\x9e\xba\x9a\x06\x6b\xf3\x48\x01\x5b\x8e\x3d\xa4\x23\x7c\xb8\x5f\xe3\x77\x12\x63\x8d\x18\x24\x31\xc1\x1a\xb6\x3f\x42\x3a\x97\xd0\xc6\x20\x6c\x5a\x01\x7d\x19\x62\xa2\x04\x13\xe0\x82\x10\x6f\x4d\x4b\x90\x08\x4f\x32\x6b\x1a\x98\x30\xc6\x40\xd8\x44\xe6\x78\x80\xb9\xd4\x99\x60\xc1\x94\xa2\xdf\x13\xf6\x8e\x0e\x09\x31\xc0\xc9\x72\xd6\x34\x5a\xb7\x56\x91\x83\xf3\x1e\xc6\xfb\x78\xc0\x18\xb3\x76\x8d\x1b\x31\x4e\x95\xb6\x91\x7b\x23\x2e\x06\x98\x4d\xcc\x32\xed\x7c\x70\xd2\xe9\x51\xa0\x96\x52\x32\xec\xfc\x88\xc7\x10\x0f\x2e\xec\xd4\x8e\x74\xe5\xa1\x54\x55\x3d\xdc\x79\x5f\x04\x02\x91\x85\x4b\x70\x92\x60\xac\x65\x4a\xa9\xf8\x0c\xa6\xa7\xf2\x30\xc6\xfc\x03\x13\x76\x31\x5a\x75\xb3\x8b\xdf\xcd\x4c\xab\x2a\x73\xe3\xfd\xe2\x62\xe1\x42\xe2\xa3\xa3\xc3\x9f\x75\x4c\xc6\xd3\x0c\x00\x9a\xa6\xc1\x7d\x0e\x6d\x71\x2f\x9d\x11\x30\x49\xe6\x90\x74\xd4\x02\xfe\x0c\xfd\x63\x01\xe3\xfa\xc1\x53\x4f\x41\xc8\x62\x33\x96\x37\x2a\x39\x1d\xe4\xa4\x79\x6a\x7d\x96\xf8\xb5\x76\xc5\x5d\x80\x61\x36\x23\xe2\x16\xeb\x71\xa0\x04\x4b\x5b\x17\xb4\x56\x3b\x4d\x9b\x97\x1c\x96\x95\xfd\xde\xf8\x4c\x35\x81\x0d\x21\xa7\xa2\x7d\x6e\x7e\xfa\x59\xda\x93\x8f\x03\x71\x52\x1e\x4a\x19\x87\xce\xb5\x1d\x06\xc3\xa6\x27\x21\xd6\xf3\xc1\xa4\xf2\xff\xc5\x39\xe9\x64\xf3\x05\x7a\x92\x2e\xda\xe5\x0b\xf3\x53\xa2\xea\x08\xdb\x1c\xb0\x23\x29\x30\xe6\x8b\x15\x3e\xe9\x18\x9f\x8f\x34\xf5\x77\x9c\xf4\xd3\xe7\x72\xf2\x3c\xfb\x2a\xe6\x22\x9d\x60\x54\xb7\x12\xae\x02\x91\xeb\xad\x96\xf8\x48\x61\x79\x8b\xb2\x4c\x53\xde\x5d\x61\xdd\x51\xe1\xa8\x3c\x75\x20\x4b\xc9\xf1\x11\xde\xf2\x96\x3e\x92\x70\x6e\x25\xb3\x8e\x3e\x30\x25\x0a\x72\x62\xcf\xf4\x6f\xa6\x24\xd7\xc5\x37\x14\x14\xc0\x94\xdb\x3f\x27\x2b\xe3\x40\x8b\x15\xee\xc2\xf8\x57\x11\xf9\xe5\x96\x49\x70\xfe\x1a\xca\x1f\x1c\xf7\xce\x2a\x86\x22\xa1\xc1\x18\x24\x12\x1d\xe8\x05\x97\xb4\x3c\xdb\x47\xe4\x73\xbd\x3a\xc9\xdc\x12\xe6\xb4\xdc\x2d\xf5\xc3\xff\x70\xbf\x5e\xa0\xd5\x0d\x70\xba\x4c\x15\xe7\x8b\x85\x30\x54\xd9\x8b\xea\xb9\xa1\xa2\xa8\x2b\xa0\xc4\xe4\x04\x29\x0f\x43\x64\x49\x5f\x47\x72\x36\x71\xd1\xb8\xfa\xcc\xde\x76\x95\x6e\xaf\x53\xa5\xf7\x5a\xc7\xb7\xc4\xf2\x4a\x34\x17\x81\x49\x48\x77\xd8\x71\xcc\x83\x66\x52\x8c\x1f\x75\x58\xa1\x5a\xfa\x52\x37\xc1\xc3\xfb\x37\x01\xfa\x2d\x7a\x4f\xf5\xbb\xf8\x1f\x54\x75\x6d\x4f\x77\xd8\xdc\xd9\x15\xfe\x7e\x08\xf2\xf3\x4f\x8b\x15\xbe\x7f\x3a\x9d\x3f\x5f\x0f\x39\x30\xe1\x09\xc2\x99\x56\x78\x67\x73\xdf\x8f\xef\x26\x18\x5f\x07\x3a\x8d\xe8\xe1\x7d\x0d\xa8\x6a\x5d\x47\xf4\x2d\xdd\x9f\x67\xcf\xb3\xff\x02\x00\x00\xff\xff\xe7\x2e\x12\xaa\xd5\x06\x00\x00"
+var _utilityViewresolverCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x94\xc1\x6e\xf3\x36\x10\x84\xef\x7e\x8a\xe9\xa5\xb5\x81\x42\xba\x14\x3d\xf8\xd2\x1a\xfd\x11\x20\x87\xfe\x28\x5a\x37\x97\x20\x28\x68\x71\x6d\x11\xa1\x49\x75\xb9\xb2\x22\x04\x79\xf7\x62\x49\xcb\x76\xe2\xa4\x2d\xa2\x93\x40\x89\x3b\x33\xdf\x92\x5b\xd7\x58\x9b\x47\x0a\xd8\x72\xdc\x43\x5a\xc2\xd7\x9b\x35\x7e\x25\x31\xd6\x88\x41\x12\x13\xac\x61\xfb\x3d\xa4\x75\x09\x4d\x0c\xc2\xa6\x11\xd0\x53\x17\x13\x25\x98\x00\x17\x84\x78\x6b\x1a\x82\x44\x78\x92\x59\x5d\xc3\x84\x31\x06\xc2\x26\x32\xc7\x01\xe6\xbc\xcf\x04\x0b\xa6\x14\xfd\x81\x70\x70\x34\x24\xc4\x00\x27\xd5\xac\xae\x75\xdf\x5a\x45\x06\xe7\x3d\x8c\xf7\x71\xc0\x18\x7b\xad\x1a\x37\x62\x9c\x2a\x6d\x23\xef\x8d\xb8\x18\x60\x36\xb1\x97\xcb\xca\x83\x93\x56\x97\x02\x35\x94\x92\x61\xe7\x47\x3c\x86\x38\xb8\xb0\x53\x3b\xd2\xe6\x97\xbc\xab\xe8\x61\xe5\x7d\x16\x08\x44\x16\x2e\xc1\x49\x82\xb1\x96\x29\xa5\xec\x33\x98\x3d\xe5\x97\x31\xf6\xdf\x31\x61\x17\xa3\x55\x37\xbb\xf8\xcd\xcc\x34\xaa\x32\x37\xde\x2f\xce\x16\xce\x24\xee\x1c\x0d\xbf\x97\x98\x8c\xe7\x19\x00\xd4\x75\x8d\x9b\x3e\x34\xd9\xbd\xb4\x46\xc0\x24\x3d\x87\xa4\x51\x33\xf8\x13\xf4\xbb\x0c\xc6\xed\x3b\x4f\x7b\x0a\x42\x16\x9b\x31\xff\x51\xc8\x69\x90\x49\x73\x2a\x7d\x92\xf8\xb9\x54\xc5\x2a\xc0\x30\x9b\x11\x71\x8b\xf5\xd8\x51\x82\xa5\xad\x0b\xba\x57\x2b\x5d\x16\xcf\x7d\xa8\x0a\xfb\x83\xf1\x3d\x95\x0e\x6c\x08\x7d\xca\xda\xa7\xe2\xd3\x63\xe9\x40\x3e\x76\xc4\x49\x79\x28\x65\x0c\xad\x6b\x5a\x74\x86\xcd\x9e\x84\x58\xd7\x3b\x93\xf2\xf7\xb3\x73\xd2\x64\xf3\x05\xf6\x24\x6d\xb4\xd5\x2b\xf3\x97\x44\xd5\x11\xb6\x7d\xc0\x8e\x24\xc3\x98\x2f\x96\xb8\xd7\x18\x0f\x47\x9a\xfa\x1c\x93\xde\x3f\xe4\x95\x97\xd9\x87\x98\xb3\x74\x82\x51\xdd\x42\xb8\x08\x44\x2e\xa7\x5a\xe2\x23\x85\xea\x1a\x65\x4e\x93\xff\x5d\x62\xdd\x52\xe6\xa8\x3c\x35\x90\xa5\xe4\xf8\x08\xaf\xba\xa6\x8f\x24\xdc\x37\xd2\xb3\x46\xef\x98\x12\x05\x99\xd8\x33\xfd\xdd\x53\x92\xb7\x9b\xaf\x28\x28\x80\x4b\x6e\x7f\x4d\x56\xc6\x8e\x16\x4b\xac\xc2\xf8\x47\x16\xf9\xe9\x9a\x49\x70\xfe\x2d\x94\xdf\x38\x1e\x9c\x55\x0c\x59\x42\x1b\x63\x90\x48\x34\xd0\x2b\x2e\xa9\x3a\xd9\x47\xe4\xd3\x7e\x75\xd2\x73\x43\x98\x53\xb5\xab\xf4\xe2\x7f\xbd\x59\x2f\xd0\xe8\x04\x98\x0e\x53\xc1\xf9\x6a\x20\x74\x45\xf6\xac\x7a\x2a\xa8\x28\xca\x08\xc8\x6d\x72\x82\xd4\x77\x5d\x64\x49\x1f\x23\x39\x99\x38\x6b\xbc\xb9\x66\x9f\x3b\x4a\xd7\xc7\xa9\xd0\x7b\xaf\xe2\x67\xda\xf2\x4e\x6b\xce\x02\x17\x4d\x5a\x61\xc7\xb1\xef\xb4\x27\xd9\xf8\x51\x87\x15\xaa\xa5\xa7\x32\x09\x6e\xbf\x7c\x0a\xd0\x2f\xd1\x7b\x2a\xf7\xe2\x3f\x50\x95\xb1\x7d\x39\xc3\xe6\xce\x2e\xf1\xe7\x6d\x90\x1f\x7f\x58\x2c\xf1\xed\xf3\xb4\xfe\xf2\xbf\x43\xfe\x5b\x5f\x6e\xbf\x94\xae\x14\x81\xe9\x3a\xbf\xcc\xfe\x09\x00\x00\xff\xff\x90\x57\x5a\xe7\x9c\x06\x00\x00"
 
 func utilityViewresolverCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -317,7 +275,7 @@ func utilityViewresolverCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/ViewResolver.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x45, 0x7e, 0xf3, 0xe5, 0x5b, 0x39, 0x26, 0xa7, 0x5e, 0x11, 0x17, 0xf8, 0xb0, 0x7f, 0xc4, 0xf4, 0x39, 0xb1, 0xb2, 0x3c, 0xd, 0x4f, 0x47, 0xf3, 0x7b, 0x6f, 0x33, 0x4b, 0xf9, 0x42, 0x29, 0x37}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x80, 0x83, 0xcc, 0xf0, 0x8f, 0xd, 0x91, 0xba, 0xf8, 0x42, 0xe0, 0x0, 0xaf, 0xbf, 0x21, 0x68, 0x4a, 0x18, 0xaa, 0x77, 0xfb, 0xc5, 0x3b, 0x76, 0x1c, 0xda, 0xe, 0xc3, 0x67, 0x2c, 0xc7, 0x5a}}
 	return a, nil
 }
 
@@ -412,9 +370,7 @@ func AssetNames() []string {
 
 // _bindata is a table, holding each asset generator, mapped to its name.
 var _bindata = map[string]func() (*asset, error){
-	"ExampleToken-v2.cdc":                  exampletokenV2Cdc,
 	"ExampleToken.cdc":                     exampletokenCdc,
-	"FungibleToken-v2.cdc":                 fungibletokenV2Cdc,
 	"FungibleToken.cdc":                    fungibletokenCdc,
 	"FungibleTokenMetadataViews.cdc":       fungibletokenmetadataviewsCdc,
 	"FungibleTokenSwitchboard.cdc":         fungibletokenswitchboardCdc,
@@ -470,9 +426,7 @@ type bintree struct {
 }
 
 var _bintree = &bintree{nil, map[string]*bintree{
-	"ExampleToken-v2.cdc": {exampletokenV2Cdc, map[string]*bintree{}},
 	"ExampleToken.cdc": {exampletokenCdc, map[string]*bintree{}},
-	"FungibleToken-v2.cdc": {fungibletokenV2Cdc, map[string]*bintree{}},
 	"FungibleToken.cdc": {fungibletokenCdc, map[string]*bintree{}},
 	"FungibleTokenMetadataViews.cdc": {fungibletokenmetadataviewsCdc, map[string]*bintree{}},
 	"FungibleTokenSwitchboard.cdc": {fungibletokenswitchboardCdc, map[string]*bintree{}},
diff --git a/lib/go/templates/forward_templates.go b/lib/go/templates/forward_templates.go
index 40815530..0dc724e0 100644
--- a/lib/go/templates/forward_templates.go
+++ b/lib/go/templates/forward_templates.go
@@ -3,10 +3,6 @@ package templates
 //go:generate go run github.com/kevinburke/go-bindata/go-bindata -prefix ../../../transactions -o internal/assets/assets.go -pkg assets -nometadata -nomemcopy ../../../transactions/...
 
 import (
-	"strings"
-
-	"github.com/onflow/flow-go-sdk"
-
 	"github.com/onflow/flow-ft/lib/go/templates/internal/assets"
 )
 
@@ -19,10 +15,6 @@ const (
 	createAccountPrivateForwarderFilename = "privateForwarder/create_account_private_forwarder.cdc"
 )
 
-const (
-	defaultPrivateForwardAddr = "\"PrivateReceiverForwarder\""
-)
-
 func GenerateDeployPrivateForwardingScript() []byte {
 	code := assets.MustAssetString(deployPrivateForwardingFilanems)
 
@@ -31,50 +23,26 @@ func GenerateDeployPrivateForwardingScript() []byte {
 
 // GenerateCreateForwarderScript creates a script that instantiates
 // a new forwarder instance in an account
-func GenerateCreatePrivateForwarderScript(fungibleAddr, forwardingAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateCreatePrivateForwarderScript(env Environment) []byte {
 	code := assets.MustAssetString(createPrivateForwarderFilename)
 
-	code = strings.ReplaceAll(
-		code,
-		defaultPrivateForwardAddr,
-		"0x"+forwardingAddr.String(),
-	)
-
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
 
-func GenerateSetupAccountPrivateForwarderScript(fungibleAddr, forwardingAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateSetupAccountPrivateForwarderScript(env Environment) []byte {
 	code := assets.MustAssetString(setupAccountPrivateForwarderFilename)
 
-	code = strings.ReplaceAll(
-		code,
-		defaultPrivateForwardAddr,
-		"0x"+forwardingAddr.String(),
-	)
-
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
 
-func GenerateTransferPrivateManyAccountsScript(fungibleAddr, forwardingAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateTransferPrivateManyAccountsScript(env Environment) []byte {
 	code := assets.MustAssetString(transferPrivateManyAccountsFilename)
 
-	code = strings.ReplaceAll(
-		code,
-		defaultPrivateForwardAddr,
-		"0x"+forwardingAddr.String(),
-	)
-
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
 
-func GenerateCreateAccountPrivateForwarderScript(fungibleAddr, forwardingAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateCreateAccountPrivateForwarderScript(env Environment) []byte {
 	code := assets.MustAssetString(createAccountPrivateForwarderFilename)
 
-	code = strings.ReplaceAll(
-		code,
-		defaultPrivateForwardAddr,
-		"0x"+forwardingAddr.String(),
-	)
-
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
diff --git a/lib/go/templates/go.mod b/lib/go/templates/go.mod
index 24932a5c..5711b9f7 100644
--- a/lib/go/templates/go.mod
+++ b/lib/go/templates/go.mod
@@ -19,15 +19,18 @@ require (
 	github.com/go-test/deep v1.1.0 // indirect
 	github.com/k0kubun/pp v3.0.1+incompatible // indirect
 	github.com/klauspost/cpuid/v2 v2.2.4 // indirect
+	github.com/kr/pretty v0.3.1 // indirect
+	github.com/kr/text v0.2.0 // indirect
 	github.com/logrusorgru/aurora/v4 v4.0.0 // indirect
 	github.com/mattn/go-colorable v0.1.13 // indirect
-	github.com/mattn/go-isatty v0.0.16 // indirect
+	github.com/mattn/go-isatty v0.0.17 // indirect
 	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
-	github.com/onflow/cadence v1.0.0-preview.1 // indirect
+	github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1 // indirect
 	github.com/onflow/flow-go/crypto v0.24.7 // indirect
 	github.com/pkg/errors v0.9.1 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
 	github.com/rivo/uniseg v0.4.4 // indirect
+	github.com/rogpeppe/go-internal v1.9.0 // indirect
 	github.com/stretchr/testify v1.8.4 // indirect
 	github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c // indirect
 	github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d // indirect
diff --git a/lib/go/templates/go.sum b/lib/go/templates/go.sum
index e3a54201..f4cb2dfb 100644
--- a/lib/go/templates/go.sum
+++ b/lib/go/templates/go.sum
@@ -35,6 +35,7 @@ github.com/cespare/xxhash/v2 v2.0.1-0.20190104013014-3767db7a7e18/go.mod h1:HD5P
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
+github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -94,9 +95,13 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGi
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
+github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
+github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
+github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
 github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
 github.com/logrusorgru/aurora/v4 v4.0.0 h1:sRjfPpun/63iADiSvGGjgA1cAYegEWMPCJdUpJYn9JA=
@@ -109,6 +114,8 @@ github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HN
 github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
 github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
 github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
+github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
@@ -121,6 +128,8 @@ github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTR
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
 github.com/onflow/cadence v1.0.0-preview.1 h1:Y/q/43aDc93/1Atsxx3+e2V/dZiQuF1TqkXEVboA5pY=
 github.com/onflow/cadence v1.0.0-preview.1/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
+github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1 h1:xIFPRIA/pmyplEu5JxuMCfC6zfdqRW7QDHYJ8ogCNuc=
+github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1/go.mod h1:60RhxKY5V4DXFQfvXQa48eZZVN19O7Lu9cp53FM54vo=
 github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2 h1:vUVO6m85BiT8c50Oc8YGc3CU+sGqiKW9FZbmiRph2dU=
 github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2/go.mod h1:mbLrR3MkYbi9LH3yasDj1jrR4QTR8vjRLVFCm4jMHn0=
 github.com/onflow/flow-go/crypto v0.24.7 h1:RCLuB83At4z5wkAyUCF7MYEnPoIIOHghJaODuJyEoW0=
@@ -131,6 +140,7 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34=
 github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0=
+github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -146,6 +156,7 @@ github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
 github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
 github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho=
 github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
+github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
 github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
 github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
diff --git a/lib/go/templates/script_templates.go b/lib/go/templates/script_templates.go
index faa8e6ac..979cfc8a 100644
--- a/lib/go/templates/script_templates.go
+++ b/lib/go/templates/script_templates.go
@@ -2,7 +2,6 @@ package templates
 
 import (
 	"github.com/onflow/flow-ft/lib/go/templates/internal/assets"
-	"github.com/onflow/flow-go-sdk"
 )
 
 const (
@@ -15,27 +14,27 @@ const (
 // GenerateInspectVaultScript creates a script that retrieves a
 // Vault from the array in storage and makes assertions about
 // its balance. If these assertions fail, the script panics.
-func GenerateInspectVaultScript(fungibleAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateInspectVaultScript(env Environment) []byte {
 	code := assets.MustAssetString(scriptsPath + readBalanceFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
 
 // GenerateInspectSupplyScript creates a script that reads
 // the total supply of tokens in existence
 // and makes assertions about the number
-func GenerateInspectSupplyScript(fungibleAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateInspectSupplyScript(env Environment) []byte {
 
 	code := assets.MustAssetString(scriptsPath + readSupplyFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
 
 // GenerateInspectSupplyViewScript creates a script that reads
 // the total supply of tokens in existence through a metadata view
-func GenerateInspectSupplyViewScript(fungibleAddr, tokenAddr, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr flow.Address, tokenName string) []byte {
+func GenerateInspectSupplyViewScript(env Environment) []byte {
 
 	code := assets.MustAssetString(scriptsPath + readSupplyViewFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
diff --git a/lib/go/templates/templates.go b/lib/go/templates/templates.go
index c6d0737b..175aa084 100644
--- a/lib/go/templates/templates.go
+++ b/lib/go/templates/templates.go
@@ -4,10 +4,9 @@ package templates
 
 import (
 	"bytes"
+	"fmt"
 	"regexp"
 	"strings"
-
-	"github.com/onflow/flow-go-sdk"
 )
 
 var (
@@ -16,27 +15,95 @@ var (
 )
 
 var (
-	placeholderFungibleToken   = regexp.MustCompile(`"FungibleToken"`)
-	placeholderExampleToken    = regexp.MustCompile(`"ExampleToken"`)
-	placeholderForwarding      = regexp.MustCompile(`"TokenForwarding"`)
-	placeholderMetadataViews   = regexp.MustCompile(`"MetadataViews"`)
-	placeholderFTMetadataViews = regexp.MustCompile(`"FungibleTokenMetadataViews"`)
-	placeholderViewResolver    = regexp.MustCompile(`"ViewResolver"`)
+	placeholderFungibleToken      = "\"FungibleToken\""
+	placeholderExampleToken       = "\"ExampleToken\""
+	placeholderForwarding         = "\"TokenForwarding\""
+	placeholderPrivateForwardAddr = "\"PrivateReceiverForwarder\""
+	placeholderSwitchboard        = "\"FungibleTokenSwitchboard\""
+	placeholderMetadataViews      = "\"MetadataViews\""
+	placeholderFTMetadataViews    = "\"FungibleTokenMetadataViews\""
+	placeholderViewResolver       = "\"ViewResolver\""
 )
 
-func replaceAddresses(code string, ftAddress, tokenAddress, forwardingAddress, metadataViewsAddress, ftMetadataViewsAddr, viewResolverAddr flow.Address, tokenName string) []byte {
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+ftAddress.String())
-	code = placeholderExampleToken.ReplaceAllString(code, "0x"+tokenAddress.String())
-	code = placeholderForwarding.ReplaceAllString(code, "0x"+forwardingAddress.String())
-	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddress.String())
-	code = placeholderFTMetadataViews.ReplaceAllString(code, "0x"+ftMetadataViewsAddr.String())
-	code = placeholderViewResolver.ReplaceAllString(code, "0x"+viewResolverAddr.String())
+type Environment struct {
+	Network                           string
+	FungibleTokenAddress              string
+	ExampleTokenAddress               string
+	TokenForwardingAddress            string
+	PrivateForwardingAddress          string
+	MetadataViewsAddress              string
+	FungibleTokenMetadataViewsAddress string
+	ViewResolverAddress               string
+	SwitchboardAddress                string
+}
+
+func withHexPrefix(address string) string {
+	if address == "" {
+		return ""
+	}
+
+	if address[0:2] == "0x" {
+		return address
+	}
+
+	return fmt.Sprintf("0x%s", address)
+}
+
+func ReplaceAddresses(code string, env Environment) string {
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderFungibleToken,
+		withHexPrefix(env.FungibleTokenAddress),
+	)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderExampleToken,
+		withHexPrefix(env.ExampleTokenAddress),
+	)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderForwarding,
+		withHexPrefix(env.TokenForwardingAddress),
+	)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderPrivateForwardAddr,
+		withHexPrefix(env.PrivateForwardingAddress),
+	)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderMetadataViews,
+		withHexPrefix(env.MetadataViewsAddress),
+	)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderFTMetadataViews,
+		withHexPrefix(env.FungibleTokenMetadataViewsAddress),
+	)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderViewResolver,
+		withHexPrefix(env.ViewResolverAddress),
+	)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderSwitchboard,
+		withHexPrefix(env.SwitchboardAddress),
+	)
 
-	storageName := MakeFirstLowerCase(tokenName)
-	code = defaultTokenName.ReplaceAllString(code, tokenName)
-	code = defaultTokenStorage.ReplaceAllString(code, storageName)
+	// storageName := MakeFirstLowerCase(tokenName)
+	// code = defaultTokenName.ReplaceAllString(code, tokenName)
+	// code = defaultTokenStorage.ReplaceAllString(code, storageName)
 
-	return []byte(code)
+	return code
 }
 
 // MakeFirstLowerCase makes the first letter in a string lowercase
diff --git a/lib/go/templates/transaction_templates.go b/lib/go/templates/transaction_templates.go
index bfcae22d..b9d4b7e3 100644
--- a/lib/go/templates/transaction_templates.go
+++ b/lib/go/templates/transaction_templates.go
@@ -3,10 +3,6 @@ package templates
 //go:generate go run github.com/kevinburke/go-bindata/go-bindata -prefix ../../../transactions -o internal/assets/assets.go -pkg assets -nometadata -nomemcopy ../../../transactions/...
 
 import (
-	"fmt"
-
-	"github.com/onflow/flow-go-sdk"
-
 	_ "github.com/kevinburke/go-bindata"
 
 	"github.com/onflow/flow-ft/lib/go/templates/internal/assets"
@@ -26,119 +22,61 @@ const (
 // a new Vault instance and stores it in storage.
 // balance is an argument to the Vault constructor.
 // The Vault must have been deployed already.
-func GenerateCreateTokenScript(fungibleAddr, tokenAddr, metadataViewsAddr, viewResolverAddr flow.Address, tokenName string) []byte {
+func GenerateCreateTokenScript(env Environment) []byte {
 
 	code := assets.MustAssetString(setupAccountFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, metadataViewsAddr, flow.EmptyAddress, viewResolverAddr, tokenName)
-}
-
-// GenerateDestroyVaultScript creates a script that withdraws
-// tokens from a vault and destroys the tokens
-func GenerateDestroyVaultScript(fungibleAddr, tokenAddr flow.Address, tokenName string, withdrawAmount int) []byte {
-	storageName := MakeFirstLowerCase(tokenName)
-
-	template := `
-		import FungibleToken from 0x%[1]s 
-		import %[3]s from 0x%[2]s
-
-		transaction {
-		  prepare(acct: auth(SaveValue, LoadValue) &Account) {
-			let vault <- acct.storage.load<@%[3]s.Vault>(from: /storage/%[4]sVault)
-				?? panic("Couldn't load Vault from storage")
-			
-			let withdrawVault <- vault.withdraw(amount: %[5]d.0)
-
-			acct.storage.save(<-vault, to: /storage/%[4]sVault) 
-
-			destroy withdrawVault
-		  }
-		}
-	`
-
-	return []byte(fmt.Sprintf(template, fungibleAddr, tokenAddr, tokenName, storageName, withdrawAmount))
+	return []byte(ReplaceAddresses(code, env))
 }
 
 // GenerateTransferVaultScript creates a script that withdraws an tokens from an account
 // and deposits it to another account's vault
-func GenerateTransferVaultScript(fungibleAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateTransferVaultScript(env Environment) []byte {
 
 	code := assets.MustAssetString(transferTokensFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
 
 // GenerateTransferGenericVaultScript creates a script that withdraws an tokens from an account
 // and deposits it to another account's vault for any vault type
-func GenerateTransferGenericVaultScript(fungibleAddr flow.Address) []byte {
+func GenerateTransferGenericVaultScript(env Environment) []byte {
 
 	code := assets.MustAssetString(genericTransferFilename)
 
-	return replaceAddresses(code, fungibleAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, "")
+	return []byte(ReplaceAddresses(code, env))
 }
 
 // GenerateTransferManyAccountsScript creates a script that transfers the same number of tokens
 // to a list of accounts
-func GenerateTransferManyAccountsScript(fungibleAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateTransferManyAccountsScript(env Environment) []byte {
 
 	code := assets.MustAssetString(transferManyAccountsFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
 
 // GenerateMintTokensScript creates a script that uses the admin resource
 // to mint new tokens and deposit them in a Vault
-func GenerateMintTokensScript(fungibleAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateMintTokensScript(env Environment) []byte {
 
 	code := assets.MustAssetString(mintTokensFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
 
 // GenerateBurnTokensScript creates a script that uses the admin resource
 // to destroy tokens and deposit them in a Vault
-func GenerateBurnTokensScript(fungibleAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateBurnTokensScript(env Environment) []byte {
 	code := assets.MustAssetString(burnTokensFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
-}
-
-// GenerateTransferInvalidVaultScript creates a script that withdraws an tokens from an account
-// and tries to deposit it into a vault of the wrong type. Should fail
-func GenerateTransferInvalidVaultScript(fungibleAddr, tokenAddr, otherTokenAddr, receiverAddr flow.Address, tokenName, otherTokenName string, amount int) []byte {
-	storageName := MakeFirstLowerCase(tokenName)
-
-	otherStorageName := MakeFirstLowerCase(otherTokenName)
-
-	template := `
-		import FungibleToken from 0x%s 
-		import %s from 0x%s
-		import %s from 0x%s
-
-		transaction {
-			prepare(acct: auth(BorrowValue) &Account) {
-				let recipient = getAccount(0x%s)
-
-				let providerRef = acct.storage.borrow<&{FungibleToken.Provider}>(from: /storage/%sVault)
-					?? panic("Could not borrow Provider reference to the Vault!")
-
-				let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(/public/%sReceiver)
-					?? panic("Could not borrow receiver reference to the recipient's Vault")
-
-				let tokens <- providerRef.withdraw(amount: %d.0)
-
-				receiverRef.deposit(from: <-tokens)
-			}
-		}
-	`
-
-	return []byte(fmt.Sprintf(template, fungibleAddr, tokenName, tokenAddr, otherTokenName, otherTokenAddr, receiverAddr, storageName, otherStorageName, amount))
+	return []byte(ReplaceAddresses(code, env))
 }
 
 // GenerateCreateForwarderScript creates a script that instantiates
 // a new forwarder instance in an account
-func GenerateCreateForwarderScript(fungibleAddr, forwardingAddr, tokenAddr flow.Address, tokenName string) []byte {
+func GenerateCreateForwarderScript(env Environment) []byte {
 	code := assets.MustAssetString(createForwarderFilename)
 
-	return replaceAddresses(code, fungibleAddr, tokenAddr, forwardingAddr, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, tokenName)
+	return []byte(ReplaceAddresses(code, env))
 }
diff --git a/lib/go/test/forwarding_test.go b/lib/go/test/forwarding_test.go
index f49a9555..a1516685 100644
--- a/lib/go/test/forwarding_test.go
+++ b/lib/go/test/forwarding_test.go
@@ -22,11 +22,12 @@ func TestPrivateForwarder(t *testing.T) {
 
 	serviceSigner, _ := b.ServiceKey().Signer()
 
+	env := templates.Environment{}
+
 	exampleTokenAccountKey, exampleTokenSigner := accountKeys.NewWithSigner()
-	fungibleAddr, _, exampleTokenAddr, _, _, _ :=
-		DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
+	exampleTokenAddr := deployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey}, &env)
 
-	forwardingCode := contracts.PrivateReceiverForwarder(fungibleAddr.String())
+	forwardingCode := contracts.PrivateReceiverForwarder(env.FungibleTokenAddress)
 	cadenceCode := bytesToCadenceArray(forwardingCode)
 
 	name, _ := cadence.NewString("PrivateReceiverForwarder")
@@ -51,17 +52,14 @@ func TestPrivateForwarder(t *testing.T) {
 		false,
 	)
 
+	env.PrivateForwardingAddress = env.ExampleTokenAddress
+
 	joshAccountKey, joshSigner := accountKeys.NewWithSigner()
 	joshAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{joshAccountKey}, nil)
 
 	t.Run("Should be able to set up an account to accept private deposits", func(t *testing.T) {
 
-		script := templates.GenerateSetupAccountPrivateForwarderScript(
-			fungibleAddr,
-			exampleTokenAddr,
-			exampleTokenAddr,
-			"ExampleToken",
-		)
+		script := templates.GenerateSetupAccountPrivateForwarderScript(env)
 
 		tx := flow.NewTransaction().
 			SetScript(script).
@@ -97,7 +95,7 @@ func TestPrivateForwarder(t *testing.T) {
 		recipientPairs := make([]cadence.KeyValuePair, 1)
 		recipientPairs[0] = pair
 
-		script := templates.GenerateTransferPrivateManyAccountsScript(fungibleAddr, exampleTokenAddr, exampleTokenAddr, "ExampleToken")
+		script := templates.GenerateTransferPrivateManyAccountsScript(env)
 		tx = flow.NewTransaction().
 			SetScript(script).
 			SetGasLimit(100).
@@ -125,7 +123,7 @@ func TestPrivateForwarder(t *testing.T) {
 		)
 
 		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script = templates.GenerateInspectVaultScript(env)
 		result, err := b.ExecuteScript(
 			script,
 			[][]byte{
@@ -139,7 +137,7 @@ func TestPrivateForwarder(t *testing.T) {
 		balance := result.Value
 		assertEqual(t, CadenceUFix64("700.0"), balance)
 
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script = templates.GenerateInspectVaultScript(env)
 		result, err = b.ExecuteScript(
 			script,
 			[][]byte{
@@ -153,19 +151,14 @@ func TestPrivateForwarder(t *testing.T) {
 		balance = result.Value
 		assertEqual(t, CadenceUFix64("300.0"), balance)
 
-		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script = templates.GenerateInspectSupplyScript(env)
 		supply := executeScriptAndCheck(t, b, script, nil)
 		assertEqual(t, CadenceUFix64("1000.0"), supply)
 	})
 
 	t.Run("Should be able to create a new account with private forwarder", func(t *testing.T) {
 
-		script := templates.GenerateCreateAccountPrivateForwarderScript(
-			fungibleAddr,
-			exampleTokenAddr,
-			exampleTokenAddr,
-			"ExampleToken",
-		)
+		script := templates.GenerateCreateAccountPrivateForwarderScript(env)
 		tx = flow.NewTransaction().
 			SetScript(script).
 			SetGasLimit(100).
@@ -194,12 +187,7 @@ func TestPrivateForwarder(t *testing.T) {
 
 	t.Run("Should be able to do account setup a second time without change", func(t *testing.T) {
 
-		script := templates.GenerateSetupAccountPrivateForwarderScript(
-			fungibleAddr,
-			exampleTokenAddr,
-			exampleTokenAddr,
-			"ExampleToken",
-		)
+		script := templates.GenerateSetupAccountPrivateForwarderScript(env)
 
 		// send the same transaction one more time for the same address that's already set up
 		tx := flow.NewTransaction().
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index 7ee545e3..b7ea10d9 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -3,26 +3,35 @@ module github.com/onflow/flow-ft/lib/go/test
 go 1.18
 
 require (
-	github.com/onflow/cadence v1.0.0-preview.1.0.20231211223059-394691058b70
-	github.com/onflow/flow-emulator v0.54.1-0.20230919150501-db4da71c768b
-	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20230913160646-09adc7d3b513
+	github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1
+	github.com/onflow/flow-emulator v0.59.1-0.20231218185945-9116c416533f
+	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20231212194336-a2802ba36596
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
 	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230915224343-ca2663ed82cf
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20231213195450-0b951b342b14
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
 
 require (
+	github.com/DataDog/zstd v1.5.2 // indirect
 	github.com/SaveTheRbtz/mph v0.1.2 // indirect
+	github.com/StackExchange/wmi v1.2.1 // indirect
+	github.com/VictoriaMetrics/fastcache v1.12.1 // indirect
 	github.com/beorn7/perks v1.0.1 // indirect
 	github.com/bits-and-blooms/bitset v1.7.0 // indirect
 	github.com/btcsuite/btcd/btcec/v2 v2.2.1 // indirect
+	github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0
 	github.com/cenkalti/backoff/v4 v4.2.1 // indirect
 	github.com/cespare/xxhash v1.1.0 // indirect
 	github.com/cespare/xxhash/v2 v2.2.0 // indirect
+	github.com/cockroachdb/errors v1.9.1 // indirect
+	github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
+	github.com/cockroachdb/pebble v0.0.0-20230906160148-46873a6a7a06 // indirect
+	github.com/cockroachdb/redact v1.1.3 // indirect
 	github.com/coreos/go-semver v0.3.0 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
+	github.com/deckarep/golang-set/v2 v2.1.0 // indirect
 	github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
 	github.com/dgraph-io/badger/v2 v2.2007.4 // indirect
 	github.com/dgraph-io/ristretto v0.1.0 // indirect
@@ -30,25 +39,31 @@ require (
 	github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
 	github.com/dustin/go-humanize v1.0.1 // indirect
 	github.com/ef-ds/deque v1.0.4 // indirect
-	github.com/ethereum/go-ethereum v1.12.1 // indirect
+	github.com/ethereum/go-ethereum v1.12.0 // indirect
 	github.com/fsnotify/fsnotify v1.6.0 // indirect
 	github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c // indirect
 	github.com/fxamacker/circlehash v0.3.0 // indirect
+	github.com/getsentry/sentry-go v0.18.0 // indirect
 	github.com/glebarez/go-sqlite v1.21.1 // indirect
 	github.com/go-logr/logr v1.2.4 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
+	github.com/go-ole/go-ole v1.2.6 // indirect
 	github.com/go-redis/redis/v8 v8.11.5 // indirect
-	github.com/go-test/deep v1.1.0 // indirect
+	github.com/go-stack/stack v1.8.1 // indirect
+	github.com/gofrs/flock v0.8.1 // indirect
 	github.com/gogo/protobuf v1.3.2 // indirect
-	github.com/golang/glog v1.1.0 // indirect
+	github.com/golang/glog v1.1.2 // indirect
 	github.com/golang/protobuf v1.5.3 // indirect
 	github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
-	github.com/google/uuid v1.3.0 // indirect
+	github.com/google/uuid v1.3.1 // indirect
+	github.com/gorilla/websocket v1.5.0 // indirect
 	github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect
 	github.com/hashicorp/errwrap v1.1.0 // indirect
 	github.com/hashicorp/go-multierror v1.1.1 // indirect
-	github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect
+	github.com/hashicorp/golang-lru v0.5.4 // indirect
+	github.com/hashicorp/golang-lru/v2 v2.0.2 // indirect
 	github.com/hashicorp/hcl v1.0.0 // indirect
+	github.com/holiman/bloomfilter/v2 v2.0.3 // indirect
 	github.com/holiman/uint256 v1.2.3 // indirect
 	github.com/inconshreveable/mousetrap v1.1.0 // indirect
 	github.com/ipfs/bbloom v0.0.4 // indirect
@@ -76,6 +91,7 @@ require (
 	github.com/magiconair/properties v1.8.7 // indirect
 	github.com/mattn/go-colorable v0.1.13 // indirect
 	github.com/mattn/go-isatty v0.0.19 // indirect
+	github.com/mattn/go-runewidth v0.0.14 // indirect
 	github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
 	github.com/minio/sha256-simd v1.0.1 // indirect
 	github.com/mitchellh/mapstructure v1.5.0 // indirect
@@ -88,12 +104,13 @@ require (
 	github.com/multiformats/go-multihash v0.2.3 // indirect
 	github.com/multiformats/go-multistream v0.4.1 // indirect
 	github.com/multiformats/go-varint v0.0.7 // indirect
+	github.com/olekukonko/tablewriter v0.0.5 // indirect
 	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
-	github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230915224512-fa9343b5af21 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230915224512-fa9343b5af21 // indirect
-	github.com/onflow/flow-go v0.31.1-0.20230915232445-43aebfd0ae6a // indirect
-	github.com/onflow/flow-go/crypto v0.24.9 // indirect
-	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce // indirect
+	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20231212203043-37cbe453d425 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20231204202154-f8dfacb39d86 // indirect
+	github.com/onflow/flow-go v0.32.4-0.20231214190912-4c4527a42fb0 // indirect
+	github.com/onflow/flow-go/crypto v0.25.0 // indirect
+	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231124194313-106cc495def6 // indirect
 	github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba // indirect
 	github.com/opentracing/opentracing-go v1.2.0 // indirect
 	github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
@@ -111,16 +128,21 @@ require (
 	github.com/rivo/uniseg v0.4.4 // indirect
 	github.com/rogpeppe/go-internal v1.9.0 // indirect
 	github.com/sethvargo/go-retry v0.2.3 // indirect
+	github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
 	github.com/slok/go-http-metrics v0.10.0 // indirect
 	github.com/spaolacci/murmur3 v1.1.0 // indirect
 	github.com/spf13/afero v1.9.3 // indirect
 	github.com/spf13/cast v1.5.0 // indirect
-	github.com/spf13/cobra v1.7.0 // indirect
+	github.com/spf13/cobra v1.8.0 // indirect
 	github.com/spf13/jwalterweatherman v1.1.0 // indirect
 	github.com/spf13/pflag v1.0.5 // indirect
 	github.com/spf13/viper v1.15.0 // indirect
+	github.com/stretchr/objx v0.5.0 // indirect
 	github.com/subosito/gotenv v1.4.2 // indirect
+	github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect
 	github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c // indirect
+	github.com/tklauser/go-sysconf v0.3.12 // indirect
+	github.com/tklauser/numcpus v0.6.1 // indirect
 	github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d // indirect
 	github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
 	github.com/vmihailenco/msgpack/v4 v4.3.11 // indirect
@@ -139,19 +161,22 @@ require (
 	go.uber.org/atomic v1.11.0 // indirect
 	go.uber.org/multierr v1.11.0 // indirect
 	go.uber.org/zap v1.24.0 // indirect
-	golang.org/x/crypto v0.14.0 // indirect
+	golang.org/x/crypto v0.16.0 // indirect
 	golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
-	golang.org/x/net v0.17.0 // indirect
-	golang.org/x/sync v0.3.0 // indirect
-	golang.org/x/sys v0.13.0 // indirect
-	golang.org/x/text v0.13.0 // indirect
+	golang.org/x/net v0.19.0 // indirect
+	golang.org/x/sync v0.5.0 // indirect
+	golang.org/x/sys v0.15.0 // indirect
+	golang.org/x/text v0.14.0 // indirect
 	golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
 	gonum.org/v1/gonum v0.13.0 // indirect
 	google.golang.org/appengine v1.6.7 // indirect
-	google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
-	google.golang.org/grpc v1.56.1 // indirect
-	google.golang.org/protobuf v1.30.0 // indirect
+	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/grpc v1.59.0 // indirect
+	google.golang.org/protobuf v1.31.0 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
+	gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 	lukechampine.com/blake3 v1.2.1 // indirect
 	modernc.org/libc v1.22.3 // indirect
@@ -160,6 +185,8 @@ require (
 	modernc.org/sqlite v1.21.1 // indirect
 )
 
+replace github.com/onflow/flow-nft/lib/go/contracts => ../../../../flow/flow-nft/lib/go/contracts
+
 replace github.com/onflow/flow-ft/lib/go/contracts => ../contracts
 
 replace github.com/onflow/flow-ft/lib/go/templates => ../templates
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 1606b0f4..6200e459 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -520,6 +520,7 @@ cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcP
 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
 gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
 git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc=
+github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
 github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4=
 github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc=
 github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4=
@@ -535,20 +536,32 @@ github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6L
 github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno=
+github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo=
+github.com/DataDog/zstd v1.5.2 h1:vUG4lAyuPCXO0TLbXvPv7EB7cNK1QV/luu55UHLrrn8=
+github.com/DataDog/zstd v1.5.2/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw=
 github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk=
+github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
-github.com/OneOfOne/xxhash v1.2.5 h1:zl/OfRA6nftbBK9qTohYBJ5xvw6C/oNKizR7cZGl3cI=
 github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q=
+github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8=
 github.com/SaveTheRbtz/mph v0.1.2 h1:5l3W496Up+7BNOVJQnJhzcGBh+wWfxWdmPUAkx3WmaM=
 github.com/SaveTheRbtz/mph v0.1.2/go.mod h1:V4+WtKQPe2+dEA5os1WnGsEB0NR9qgqqgIiSt73+sT4=
+github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0=
 github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
+github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA=
+github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8=
 github.com/VictoriaMetrics/fastcache v1.5.3/go.mod h1:+jv9Ckb+za/P1ZRg/sulP5Ni1v49daAVERr0H3CuscE=
+github.com/VictoriaMetrics/fastcache v1.12.1 h1:i0mICQuojGDL3KblA7wUNlY5lOK6a4bwt3uRKnkZU40=
+github.com/VictoriaMetrics/fastcache v1.12.1/go.mod h1:tX04vaqcNoQeGLD+ra5pU5sWkuxnzWhEzLwhP9w653o=
+github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY=
 github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY=
 github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
 github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
 github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM=
 github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8=
 github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM=
 github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
 github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
@@ -573,6 +586,7 @@ github.com/aws/aws-sdk-go-v2/service/sso v1.12.6/go.mod h1:Y1VOmit/Fn6Tz1uFAeCO6
 github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6/go.mod h1:Lh/bc9XUf8CfOY6Jp5aIkQtN+j1mc+nExc+KXj9jx2s=
 github.com/aws/aws-sdk-go-v2/service/sts v1.18.7/go.mod h1:JuTnSoeePXmMVe9G8NcjjwgOKEfZ4cOjMuT2IBT/2eI=
 github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
+github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g=
 github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
 github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
@@ -589,6 +603,8 @@ github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnC
 github.com/btcsuite/btcd/btcec/v2 v2.2.1 h1:xP60mv8fvp+0khmrN0zTdPC3cNm24rfeE6lh2R/Yv3E=
 github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8=
 github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
+github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 h1:59Kx4K6lzOW5w6nFlA0v5+lk/6sjybR934QNHSJZPTQ=
+github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
 github.com/bytecodealliance/wasmtime-go/v7 v7.0.0/go.mod h1:bu6fic7trDt20w+LMooX7j3fsOwv4/ln6j8gAdP6vmA=
 github.com/c-bata/go-prompt v0.2.5/go.mod h1:vFnjEGDIIA/Lib7giyE4E9c50Lvl8j0S+7FVlAwDAVw=
 github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
@@ -620,21 +636,30 @@ github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWH
 github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM=
+github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU=
+github.com/cockroachdb/datadriven v1.0.3-0.20230801171734-e384cf455877 h1:1MLK4YpFtIEo3ZtMA5C795Wtv5VuUnrXX7mQG+aHg6o=
+github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8=
+github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk=
+github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
+github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE=
+github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
+github.com/cockroachdb/pebble v0.0.0-20230906160148-46873a6a7a06 h1:T+Np/xtzIjYM/P5NAw0e2Rf1FGvzDau1h54MKvx8G7w=
+github.com/cockroachdb/pebble v0.0.0-20230906160148-46873a6a7a06/go.mod h1:bynZ3gvVyhlvjLI7PT6dmZ7g76xzJ7HpxfjgkzCGz6s=
+github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ=
+github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
+github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM=
 github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
 github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
 github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
 github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
-github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=
 github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
 github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
-github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
 github.com/dave/astrid v0.0.0-20170323122508-8c2895878b14/go.mod h1:Sth2QfxfATb/nW4EsrSi2KyJmbcniZ8TgTaji17D6ms=
@@ -649,13 +674,15 @@ github.com/dave/rebecca v0.9.1/go.mod h1:N6XYdMD/OKw3lkF3ywh8Z6wPGuwNFDNtWYEMFWE
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU=
 github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
+github.com/deckarep/golang-set/v2 v2.1.0 h1:g47V4Or+DUdzbs8FxCCmgb6VYd+ptPAngjM6dtGktsI=
+github.com/deckarep/golang-set/v2 v2.1.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4=
 github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
 github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y=
 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs=
 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs=
 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
+github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4=
 github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o=
 github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk=
 github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
@@ -669,7 +696,6 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cu
 github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
 github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
 github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
 github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
 github.com/dop251/goja v0.0.0-20200219165308-d1232e640a87/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
@@ -678,8 +704,8 @@ github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+m
 github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
 github.com/ef-ds/deque v1.0.4 h1:iFAZNmveMT9WERAkqLJ+oaABF9AcVQ5AjXem/hroniI=
 github.com/ef-ds/deque v1.0.4/go.mod h1:gXDnTC3yqvBcHbq2lcExjtAcVrOnJCbMcZXmuj8Z4tg=
+github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM=
 github.com/elastic/gosigar v0.8.1-0.20180330100440-37f05ff46ffa/go.mod h1:cdorVVzy1fhmEqmtgqkoE3bYtCfSCkVyjTyCIo22xvs=
-github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4=
 github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -693,17 +719,19 @@ github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJ
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo=
 github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w=
+github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw=
 github.com/ethereum/go-ethereum v1.9.13/go.mod h1:qwN9d1GLyDh0N7Ab8bMGd0H9knaji2jOBm2RrMGjXls=
-github.com/ethereum/go-ethereum v1.12.1 h1:1kXDPxhLfyySuQYIfRxVBGYuaHdxNNxevA73vjIwsgk=
-github.com/ethereum/go-ethereum v1.12.1/go.mod h1:zKetLweqBR8ZS+1O9iJWI8DvmmD2NzD19apjEWDCsnw=
+github.com/ethereum/go-ethereum v1.12.0 h1:bdnhLPtqETd4m3mS8BGMNvBTf36bO5bx/hxE2zljOa0=
+github.com/ethereum/go-ethereum v1.12.0/go.mod h1:/oo2X/dZLJjf2mJ6YT9wcWxa4nNJDBKDBU6sFIpx1Gs=
+github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8=
 github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
+github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
 github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
-github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ=
 github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
 github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
-github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk=
 github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
+github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
 github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
 github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
 github.com/fxamacker/cbor/v2 v2.4.1-0.20220515183430-ad2eae63303f/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
@@ -711,11 +739,19 @@ github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c h1:5tm/Wbs9d9r
 github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
 github.com/fxamacker/circlehash v0.3.0 h1:XKdvTtIJV9t7DDUtsf0RIpC1OcxZtPbmgIH7ekx28WA=
 github.com/fxamacker/circlehash v0.3.0/go.mod h1:3aq3OfVvsWtkWMb6A1owjOQFA+TLsD5FgJflnaQwtMM=
-github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU=
+github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc=
 github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww=
+github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c=
+github.com/getsentry/sentry-go v0.18.0 h1:MtBW5H9QgdcJabtZcuJG80BMOwaBpkRDZkxRkNC1sN0=
+github.com/getsentry/sentry-go v0.18.0/go.mod h1:Kgon4Mby+FJ7ZWHFUAZgVaIa8sxHtnRJRLTXZr51aKQ=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s=
+github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM=
 github.com/glebarez/go-sqlite v1.21.1 h1:7MZyUPh2XTrHS7xNEHQbrhfMZuPSzhkm2A1qgg0y5NY=
 github.com/glebarez/go-sqlite v1.21.1/go.mod h1:ISs8MF6yk5cL4n/43rSOmVMGJJjHYr7L2MbZZ5Q4E2E=
+github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98=
+github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
+github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
 github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
 github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
 github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
@@ -732,39 +768,48 @@ github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpx
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
-github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
 github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
 github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
+github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8=
 github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
+github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
+github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
+github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
 github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
 github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
-github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
-github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
-github.com/go-playground/validator/v10 v10.14.1 h1:9c50NUPC30zyuKprjL3vNZ0m5oG+jU0zvx4AqHGnv4k=
 github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
 github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
 github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
+github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw=
+github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4=
 github.com/go-test/deep v1.0.5/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
-github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg=
 github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
+github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
+github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
+github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
 github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
-github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
+github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
+github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
+github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
+github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
+github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
 github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
+github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM=
+github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
 github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
 github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
-github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
-github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
+github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=
+github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
 github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -804,6 +849,7 @@ github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW
 github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk=
 github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
 github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
@@ -823,7 +869,8 @@ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8
 github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
 github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8=
+github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
+github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
 github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
 github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -848,8 +895,9 @@ github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 h1:hR7/MlvK23p6+lIw9S
 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
 github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
+github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
 github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
 github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
@@ -868,9 +916,12 @@ github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57Q
 github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
 github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4=
 github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
+github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
+github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
 github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
@@ -879,29 +930,32 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
-github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU=
-github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48=
 github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
 github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
 github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
+github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
 github.com/hashicorp/golang-lru v0.0.0-20160813221303-0a025b7e63ad/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs=
-github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
+github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
+github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
 github.com/hashicorp/golang-lru/v2 v2.0.2 h1:Dwmkdr5Nc/oBiXgJS3CDHNhJtIHkuZ3DZF5twqnfBdU=
+github.com/hashicorp/golang-lru/v2 v2.0.2/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
 github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
+github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao=
+github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA=
 github.com/holiman/uint256 v1.2.3 h1:K8UWO1HUJpRMXBxbmaY1Y8IAMZC/RsKB+ArEnnK4l5o=
 github.com/holiman/uint256 v1.2.3/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/huin/goupnp v0.0.0-20161224104101-679507af18f3/go.mod h1:MZ2ZmwcBpvOoJ22IJsc7va19ZwoheaBk43rKg12SKag=
-github.com/huin/goupnp v1.2.0 h1:uOKW26NG1hsSSbXIZ1IR7XP9Gjd1U8pnLaCMgntmkmY=
+github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE=
 github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
 github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
@@ -935,24 +989,26 @@ github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY=
 github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI=
 github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg=
 github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY=
-github.com/ipld/go-ipld-prime v0.20.0 h1:Ud3VwE9ClxpO2LkCYP7vWPc0Fo+dYdYzgxUJZ3uRG4g=
+github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI=
+github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0=
+github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk=
+github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g=
+github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw=
 github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
-github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus=
 github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA=
-github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk=
 github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o=
 github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4=
 github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
 github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
 github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
-github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
-github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
+github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
+github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
+github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
 github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
 github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
@@ -962,6 +1018,11 @@ github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd
 github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg=
 github.com/k0kubun/pp/v3 v3.2.0/go.mod h1:ODtJQbQcIRfAD3N+theGCV1m/CBxweERz2dapdz1EwA=
 github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
+github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8=
+github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE=
+github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE=
+github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro=
+github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8=
 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
 github.com/kevinburke/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
 github.com/kevinburke/go-bindata v3.24.0+incompatible h1:qajFA3D0pH94OTLU4zcCCKCDgR+Zr2cZK/RPJHDdFoY=
@@ -970,19 +1031,20 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW
 github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
 github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE=
+github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
+github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
 github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
 github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
 github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI=
 github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
+github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
 github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
 github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
 github.com/klauspost/cpuid/v2 v2.2.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
 github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/koron/go-ssdp v0.0.4 h1:1IDwrghSKYM7yLf7XCzbByg2sJ/JcNOZRXS2jczTwz0=
 github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -996,27 +1058,21 @@ github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
+github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y=
+github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
 github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
 github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8=
-github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q=
-github.com/libp2p/go-addr-util v0.1.0 h1:acKsntI33w2bTU7tC9a0SaPimJGfSI0bFKC18ChxeVI=
 github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
 github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
 github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c=
-github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM=
 github.com/libp2p/go-libp2p v0.28.1 h1:YurK+ZAI6cKfASLJBVFkpVBdl3wGhFi6fusOt725ii8=
 github.com/libp2p/go-libp2p v0.28.1/go.mod h1:s3Xabc9LSwOcnv9UD4nORnXKTsWkPMkIMB/JIGXVnzk=
 github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLEQHwOCZ7s8s=
-github.com/libp2p/go-libp2p-kad-dht v0.24.2 h1:zd7myKBKCmtZBhI3I0zm8xBkb28v3gmSEtQfBdAdFwc=
 github.com/libp2p/go-libp2p-kbucket v0.6.3 h1:p507271wWzpy2f1XxPzCQG9NiN6R6lHL9GiSErbQQo0=
 github.com/libp2p/go-libp2p-pubsub v0.9.3 h1:ihcz9oIBMaCK9kcx+yHWm3mLAFBMAUsM4ux42aikDxo=
-github.com/libp2p/go-libp2p-record v0.2.0 h1:oiNUOCWno2BFuxt3my4i1frNrt7PerzB3queqa1NkQ0=
 github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0=
-github.com/libp2p/go-nat v0.2.0 h1:Tyz+bUFAYqGyJ/ppPPymMGbIgNRH+WqC5QrT5fKrrGk=
-github.com/libp2p/go-netroute v0.2.1 h1:V8kVrpD8GK0Riv15/7VN6RbUQ3URNZVosw7H2v9tksU=
-github.com/libp2p/go-reuseport v0.3.0 h1:iiZslO5byUYZEg9iCwJGf5h+sf1Agmqx2V2FDjPyvUw=
-github.com/libp2p/go-yamux/v4 v4.0.0 h1:+Y80dV2Yx/kv7Y7JKu0LECyVdMXm1VUoko+VQ9rBfZQ=
 github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8=
 github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
 github.com/logrusorgru/aurora/v4 v4.0.0 h1:sRjfPpun/63iADiSvGGjgA1cAYegEWMPCJdUpJYn9JA=
@@ -1026,17 +1082,21 @@ github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuz
 github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
 github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
 github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
-github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk=
 github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
+github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
 github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
 github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
+github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
+github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
 github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
 github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
 github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
 github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
 github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
 github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
 github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
+github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
 github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
 github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
 github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
@@ -1049,14 +1109,16 @@ github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m
 github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
+github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
 github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0=
+github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
+github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8=
+github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc=
 github.com/miekg/dns v1.1.54 h1:5jon9mWcb0sFJGpnI99tOMhCPyJ+RPVz5b63MQG0VWI=
-github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc=
-github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc=
 github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY=
 github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
 github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE=
@@ -1069,8 +1131,11 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
 github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ=
 github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
 github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
 github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
@@ -1083,7 +1148,6 @@ github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a
 github.com/multiformats/go-multiaddr v0.9.0 h1:3h4V1LHIk5w4hJHekMKWALPXErDfz/sggzwC/NcqbDQ=
 github.com/multiformats/go-multiaddr v0.9.0/go.mod h1:mI67Lb1EeTOYb8GQfL/7wpIZwc46ElrvzhYnoJOmTT0=
 github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A=
-github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E=
 github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs=
 github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g=
 github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk=
@@ -1098,50 +1162,54 @@ github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXS
 github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
 github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
 github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
+github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
+github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
+github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
+github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
+github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
 github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
+github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
+github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
-github.com/onflow/cadence v0.41.0-stable-cadence.1.0.20230908213403-8f1134670ed0/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
-github.com/onflow/cadence v1.0.0-preview.1 h1:Y/q/43aDc93/1Atsxx3+e2V/dZiQuF1TqkXEVboA5pY=
 github.com/onflow/cadence v1.0.0-preview.1/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
-github.com/onflow/cadence v1.0.0-preview.1.0.20231211223059-394691058b70 h1:MOSvy30agrcUJzhY9Q3EHmSjvUtN3F2aIEBNjzsvWmg=
-github.com/onflow/cadence v1.0.0-preview.1.0.20231211223059-394691058b70/go.mod h1:60RhxKY5V4DXFQfvXQa48eZZVN19O7Lu9cp53FM54vo=
-github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230915224512-fa9343b5af21 h1:v6Orh4HCFzPr+z1WfC7WLHSfzH+hK3kJq1LQHgsTfJI=
-github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20230915224512-fa9343b5af21/go.mod h1:jynQxJ+wcEZ5LilKDUIUWY6IOO+CSYhcggWleswq20Y=
-github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230915224512-fa9343b5af21 h1:kfVOhI/hpyJeqicjedYzFjCofOQgGwY0wYA9Rh7GPy4=
-github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20230915224512-fa9343b5af21/go.mod h1:AoTO8J5w/PMPAlccqBiC0rVmd6cU+0ggL2o2ohhjRzU=
-github.com/onflow/flow-emulator v0.54.1-0.20230919150501-db4da71c768b h1:wv8SNS+wAAh4aXy+rJUMh3yTi+EjHRBKMmrj9Ul8r1U=
-github.com/onflow/flow-emulator v0.54.1-0.20230919150501-db4da71c768b/go.mod h1:P3i4hk0kryL0tniig5/cOK+0GdlemwCF55yeOosd8L0=
-github.com/onflow/flow-go v0.31.1-0.20230915232445-43aebfd0ae6a h1:dIimYZH6Y2y7MFKKlKyWmz9n9JSMQ3n4sTj3qLFtPxE=
-github.com/onflow/flow-go v0.31.1-0.20230915232445-43aebfd0ae6a/go.mod h1:kqlBoVAVDSi2VbLX71WOmx/vfzRrQSTu3Yw0baUoHIg=
-github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.1.0.20230915213126-68e7ffb5595f/go.mod h1:tc3I2xIc+ThMUIW2Jkam1pquKpuRDTLGP79INkCGZg4=
+github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1 h1:xIFPRIA/pmyplEu5JxuMCfC6zfdqRW7QDHYJ8ogCNuc=
+github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1/go.mod h1:60RhxKY5V4DXFQfvXQa48eZZVN19O7Lu9cp53FM54vo=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20231212203043-37cbe453d425 h1:zvLHFxySeg61/dgp/IbvaN+k4BXPuAhBOslrPQjrX9Q=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20231212203043-37cbe453d425/go.mod h1:N+1bEs/159Efg75hSQIkb90FVinxUMxL/6mA3I6dXtQ=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20231204202154-f8dfacb39d86 h1:5dDtY8iItVVvIY+YXbavGDMaVz4Gq7sq4ILF/cZb7/8=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20231204202154-f8dfacb39d86/go.mod h1:6XIbPht7u7ADszXSHI2APY+OL78XVaUU8+OdgWEElAY=
+github.com/onflow/flow-emulator v0.59.1-0.20231218185945-9116c416533f h1:OiCv5EW0RScRkNqZQ6wH+BtkiipRcjhCMo3uXfjMRr4=
+github.com/onflow/flow-emulator v0.59.1-0.20231218185945-9116c416533f/go.mod h1:mzbYJhEebev+x55s7CY1Iv8jXYv3GHYklBiXGdXWO98=
+github.com/onflow/flow-go v0.32.4-0.20231214190912-4c4527a42fb0 h1:cWH+cVzRmogm75GgmxecUoDYMSi2yZMv3/PgVM41N9o=
+github.com/onflow/flow-go v0.32.4-0.20231214190912-4c4527a42fb0/go.mod h1:PsXOc6UemYCzE7SXn3geQrpn7YdNaixkwuyPZp0cwjg=
 github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2 h1:vUVO6m85BiT8c50Oc8YGc3CU+sGqiKW9FZbmiRph2dU=
 github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2/go.mod h1:mbLrR3MkYbi9LH3yasDj1jrR4QTR8vjRLVFCm4jMHn0=
 github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
-github.com/onflow/flow-go/crypto v0.24.9 h1:0EQp+kSZYJepMIiSypfJVe7tzsPcb6UXOdOtsTCDhBs=
-github.com/onflow/flow-go/crypto v0.24.9/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230915224343-ca2663ed82cf h1:G3RFroB2Aj1d9CyJwl9JcZYWiOF75TB6L84/QSBUPds=
-github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20230915224343-ca2663ed82cf/go.mod h1:W7S4wW94sefM+/uAdtrQP1S2I4aVbYJPxWlyNAUT0yI=
+github.com/onflow/flow-go/crypto v0.25.0 h1:6lmoiAQ3APCF+nV7f4f2AXL3PuDKqQiWqRJXmjrMEq4=
+github.com/onflow/flow-go/crypto v0.25.0/go.mod h1:OOb2vYcS8AOCajBClhHTJ0NKftFl1RQgTQ0+Vh4nbqk=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20221202093946-932d1c70e288/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
-github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce h1:YQKijiQaq8SF1ayNqp3VVcwbBGXSnuHNHq4GQmVGybE=
-github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20230628215638-83439d22e0ce/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
+github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231124194313-106cc495def6 h1:KMN+OEVaw7KAgxL3p8ux7CMuyTvacAlYTbasOqowh4M=
+github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231124194313-106cc495def6/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba h1:rIehuhO6bj4FkwE4VzwEjX7MoAlOhUJENBJLqDqVxAo=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
 github.com/onflow/wal v0.0.0-20230529184820-bc9f8244608d h1:gAEqYPn3DS83rHIKEpsajnppVD1+zwuYPFyeDVFaQvg=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
+github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
 github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
-github.com/onsi/ginkgo/v2 v2.9.7 h1:06xGQy5www2oN160RtEZoTvnP2sPhEfePYmCDc2szss=
 github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
+github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
 github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
-github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0=
 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
 github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
@@ -1158,6 +1226,8 @@ github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk
 github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
 github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
 github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
+github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4=
+github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
 github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -1168,7 +1238,6 @@ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qR
 github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/polydawn/refmt v0.89.0 h1:ADJTApkvkeBZsN0tBTx8QjpD9JkmxbKp0cxfr9qszm4=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
 github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
 github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8=
@@ -1193,12 +1262,6 @@ github.com/psiemens/graceland v1.0.0 h1:L580AVV4Q2XLcPpmvxJRH9UpEAYr/eu2jBKmMglh
 github.com/psiemens/graceland v1.0.0/go.mod h1:1Tof+vt1LbmcZFE0lzgdwMN0QBymAChG3FRgDx8XisU=
 github.com/psiemens/sconfig v0.1.0 h1:xfWqW+TRpih7mXZIqKYTmpRhlZLQ1kbxV8EjllPv76s=
 github.com/psiemens/sconfig v0.1.0/go.mod h1:+MLKqdledP/8G3rOBpknbLh0IclCf4WneJUtS26JB2U=
-github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo=
-github.com/quic-go/qtls-go1-19 v0.3.2 h1:tFxjCFcTQzK+oMxG6Zcvp4Dq8dx4yD3dDiIiyc86Z5U=
-github.com/quic-go/qtls-go1-20 v0.2.2 h1:WLOPx6OY/hxtTxKV1Zrq20FtXtDEkeY00CGQm8GEa3E=
-github.com/quic-go/quic-go v0.33.0 h1:ItNoTDN/Fm/zBlq769lLJc8ECe9gYaW40veHCCco7y0=
-github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU=
-github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk=
 github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
@@ -1211,6 +1274,7 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
+github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
 github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
 github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
 github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
@@ -1223,17 +1287,24 @@ github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD
 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
 github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk=
+github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
+github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g=
 github.com/schollz/progressbar/v3 v3.8.3/go.mod h1:pWnVCjSBZsT2X3nx9HfRdnCDrpbevliMeoEVhStwHko=
 github.com/schollz/progressbar/v3 v3.13.1 h1:o8rySDYiQ59Mwzy2FELeHY5ZARXZTVJC7iHD6PEFUiE=
+github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
 github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
 github.com/sethvargo/go-retry v0.2.3 h1:oYlgvIvsju3jNbottWABtbnoLC+GDtLdBHxKWxQm/iU=
 github.com/sethvargo/go-retry v0.2.3/go.mod h1:1afjQuvh7s4gflMObvjLPaWgluLLyhA1wmVZ6KLpICw=
+github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU=
+github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
-github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
 github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
+github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
 github.com/slok/go-http-metrics v0.10.0 h1:rh0LaYEKza5eaYRGDXujKrOln57nHBi4TtVhmNEpbgM=
 github.com/slok/go-http-metrics v0.10.0/go.mod h1:lFqdaS4kWMfUKCSukjC47PdCeTk+hXDUVm8kLHRqJ38=
+github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
+github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
 github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
 github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/spaolacci/murmur3 v1.0.1-0.20190317074736-539464a789e9/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
@@ -1249,8 +1320,8 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU
 github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
 github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
 github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
-github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
-github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
+github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
+github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
 github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
 github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
 github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
@@ -1284,31 +1355,49 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl
 github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
 github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
 github.com/supranational/blst v0.3.10/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
-github.com/supranational/blst v0.3.11-0.20230406105308-e9dfc5ee724b h1:u49mjRnygnB34h8OKbnNJFVUtWSKIKb1KukdV8bILUM=
 github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d/go.mod h1:9OrXJhf154huy1nPWmuSrkgjPUtUNhA+Zmy+6AESzuA=
+github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY=
+github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc=
 github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c h1:HelZ2kAFadG0La9d+4htN4HzQ68Bm2iM9qKMSMES6xg=
 github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c/go.mod h1:JlzghshsemAMDGZLytTFY8C1JQxQPhnatWqNwUXjggo=
 github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
+github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU=
+github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
+github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
+github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
 github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d h1:5JInRQbk5UBX8JfUvKh2oYTLMVwj3p6n+wapDDm7hko=
 github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d/go.mod h1:Nlx5Y115XQvNcIdIy7dZXaNSUpzwBSge4/Ivk93/Yog=
 github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs=
 github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
+github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
 github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
+github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
 github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
+github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
+github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
+github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w=
+github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
+github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
+github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
 github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI=
 github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
 github.com/vmihailenco/msgpack/v4 v4.3.11 h1:Q47CePddpNGNhk4GCnAx9DDtASi2rasatE0cd26cZoE=
 github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
 github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY=
 github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
-github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k=
-github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM=
 github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees=
 github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
 github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
+github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
+github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
+github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
 github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
+github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI=
+github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg=
+github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM=
+github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc=
 github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -1333,7 +1422,6 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
-go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
 go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
 go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM=
 go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
@@ -1362,8 +1450,6 @@ go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
 go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
 go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
-go.uber.org/dig v1.17.0 h1:5Chju+tUvcC+N7N6EV08BJz41UZuO3BmHcN4A287ZLI=
-go.uber.org/fx v1.19.2 h1:SyFgYQFr1Wl0AYstE8vyYIzP4bFz2URrScjwC4cwUvY=
 go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
 go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
 go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
@@ -1384,10 +1470,13 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
 golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
@@ -1395,8 +1484,8 @@ golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5y
 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
 golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
-golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
-golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
+golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
+golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
 golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1467,6 +1556,7 @@ golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73r
 golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -1475,6 +1565,7 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -1485,9 +1576,11 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/
 golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
@@ -1500,6 +1593,7 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
@@ -1520,8 +1614,8 @@ golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
 golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
 golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
-golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
-golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
+golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
+golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1566,8 +1660,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
-golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
+golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
+golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1585,7 +1679,11 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1602,8 +1700,10 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1619,6 +1719,7 @@ golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -1660,8 +1761,10 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
-golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
+golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -1670,7 +1773,7 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
 golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
 golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
-golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
+golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1686,22 +1789,26 @@ golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
-golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
-golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
+golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
+golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
@@ -1761,7 +1868,7 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
 golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
 golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
 golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
-golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo=
+golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1847,6 +1954,7 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID
 google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
 google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
 google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
 google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
 google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -1974,8 +2082,13 @@ google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q
 google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw=
 google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA=
 google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
-google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
-google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
+google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY=
+google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
+google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q=
+google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
+google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@@ -2015,8 +2128,8 @@ google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCD
 google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
 google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
 google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw=
-google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ=
-google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
+google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
+google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -2034,8 +2147,9 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
 google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
 google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -2045,8 +2159,13 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
+gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y=
+gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
 gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
+gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
+gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU=
 gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c=
 gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200316214253-d7b0ff38cac9/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns=
 gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
@@ -2060,8 +2179,9 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
+gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
diff --git a/lib/go/test/test.go b/lib/go/test/test.go
index 14bb8736..94934194 100644
--- a/lib/go/test/test.go
+++ b/lib/go/test/test.go
@@ -6,6 +6,7 @@ import (
 	"io/ioutil"
 	"testing"
 
+	"github.com/btcsuite/btcd/chaincfg/chainhash"
 	"github.com/onflow/cadence"
 	jsoncdc "github.com/onflow/cadence/encoding/json"
 	"github.com/onflow/flow-emulator/convert"
@@ -21,8 +22,12 @@ import (
 	"github.com/rs/zerolog"
 )
 
+// this is added to resolve the issue with chainhash ambiguous import,
+// the code is not used, but it's needed to force go.mod specify and retain chainhash version
+// workaround for issue: https://github.com/golang/go/issues/27899
+var _ = chainhash.Hash{}
+
 // Sets up testing and emulator objects and initialize the emulator default addresses
-//
 func newTestSetup(t *testing.T) (emulator.Emulator, *adapters.SDKAdapter, *test.AccountKeys) {
 	// Set for parallel processing
 	t.Parallel()
@@ -211,12 +216,11 @@ func bytesToCadenceArray(b []byte) cadence.Array {
 
 // assertEqual asserts that two objects are equal.
 //
-//    assertEqual(t, 123, 123)
+//	assertEqual(t, 123, 123)
 //
 // Pointer variable equality is determined based on the equality of the
 // referenced values (as opposed to the memory addresses). Function equality
 // cannot be determined and will always fail.
-//
 func assertEqual(t *testing.T, expected, actual interface{}) bool {
 
 	if assert.ObjectsAreEqual(expected, actual) {
diff --git a/lib/go/test/token_test.go b/lib/go/test/token_test.go
index 3155f941..92f7648e 100644
--- a/lib/go/test/token_test.go
+++ b/lib/go/test/token_test.go
@@ -1,7 +1,6 @@
 package test
 
 import (
-	"context"
 	"testing"
 
 	"github.com/stretchr/testify/assert"
@@ -16,62 +15,61 @@ import (
 	"github.com/onflow/flow-ft/lib/go/templates"
 )
 
+// Steps:
+//
+// 1. All the token contracts deploy properly
+// 2. Total supply is initialized to 1000.0
 func TestTokenDeployment(t *testing.T) {
 	b, adapter, accountKeys := newTestSetup(t)
 
 	exampleTokenAccountKey, _ := accountKeys.NewWithSigner()
-	fungibleAddr, _, exampleTokenAddr, _, _, _ := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
+
+	env := templates.Environment{}
+
+	_ = deployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey}, &env)
 
 	t.Run("Should have initialized Supply field correctly", func(t *testing.T) {
-		script := templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script := templates.GenerateInspectSupplyScript(env)
 		supply := executeScriptAndCheck(t, b, script, nil)
 		assert.Equal(t, CadenceUFix64("1000.0"), supply)
 	})
 }
 
-func TestCreateToken(t *testing.T) {
+// Steps:
+//
+//  1. Create an empty vault that doesn't change the total supply
+//     (verify directly and through the metadata view)
+func TestTokenSetupAccount(t *testing.T) {
 	b, adapter, accountKeys := newTestSetup(t)
 
-	serviceSigner, _ := b.ServiceKey().Signer()
-
 	exampleTokenAccountKey, _ := accountKeys.NewWithSigner()
-	fungibleAddr, resolverAddr, exampleTokenAddr, _, metadataViewsAddr, fungibleMetadataViewsAddr := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
 
-	joshAccountKey, joshSigner := accountKeys.NewWithSigner()
-	joshAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{joshAccountKey}, nil)
+	env := templates.Environment{}
+	_ = deployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey}, &env)
 
 	t.Run("Should be able to create empty Vault that doesn't affect supply", func(t *testing.T) {
-		script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, resolverAddr, "ExampleToken")
-		tx := createTxWithTemplateAndAuthorizer(b, script, joshAddress)
-
-		signAndSubmit(
-			t, b, tx,
-			[]flow.Address{
-				b.ServiceKey().Address,
-				joshAddress,
-			},
-			[]crypto.Signer{
-				serviceSigner,
-				joshSigner,
-			},
-			false,
+		joshAddress, _, _ := createAccountWithVault(b, adapter, t,
+			accountKeys,
+			env,
 		)
 
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Make sure the vault balance is zero
+		script := templates.GenerateInspectVaultScript(env)
 		result := executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(joshAddress)),
 			},
 		)
-
 		assert.Equal(t, CadenceUFix64("0.0"), result)
 
-		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Directly query the total supply to make sure it hasn't changed
+		script = templates.GenerateInspectSupplyScript(env)
 		supply := executeScriptAndCheck(t, b, script, nil)
 		assert.Equal(t, CadenceUFix64("1000.0"), supply)
 
-		script = templates.GenerateInspectSupplyViewScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, fungibleMetadataViewsAddr, resolverAddr, "ExampleToken")
+		// Query the total supply via the metadata view to make sure it is also correct
+		script = templates.GenerateInspectSupplyViewScript(env)
 		supply = executeScriptAndCheck(t, b, script, [][]byte{
 			jsoncdc.MustEncode(cadence.Address(joshAddress)),
 		})
@@ -79,37 +77,27 @@ func TestCreateToken(t *testing.T) {
 	})
 }
 
-func TestExternalTransfers(t *testing.T) {
+// Steps:
+//
+// 1. Make sure extra tokens cannot be withdrawn
+// 2. Test a regular transfer
+// 3. Test a transfer to multiple accounts
+func TestTokenExternalTransfers(t *testing.T) {
 	b, adapter, accountKeys := newTestSetup(t)
 
 	serviceSigner, _ := b.ServiceKey().Signer()
 
 	exampleTokenAccountKey, exampleTokenSigner := accountKeys.NewWithSigner()
-	fungibleAddr, resolverAddr, exampleTokenAddr, forwardingAddr, metadataViewsAddr, _ :=
-		DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
-
-	joshAccountKey, joshSigner := accountKeys.NewWithSigner()
-	joshAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{joshAccountKey}, nil)
-
-	// then deploy the tokens to an account
-	script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, resolverAddr, "ExampleToken")
-	tx := createTxWithTemplateAndAuthorizer(b, script, joshAddress)
-
-	signAndSubmit(
-		t, b, tx,
-		[]flow.Address{
-			b.ServiceKey().Address,
-			joshAddress,
-		},
-		[]crypto.Signer{
-			serviceSigner,
-			joshSigner,
-		},
-		false,
+	env := templates.Environment{}
+	exampleTokenAddr := deployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey}, &env)
+
+	joshAddress, _, joshSigner := createAccountWithVault(b, adapter, t,
+		accountKeys,
+		env,
 	)
 
 	t.Run("Shouldn't be able to withdraw more than the balance of the Vault", func(t *testing.T) {
-		script := templates.GenerateTransferVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script := templates.GenerateTransferVaultScript(env)
 		tx := createTxWithTemplateAndAuthorizer(b, script, exampleTokenAddr)
 
 		_ = tx.AddArgument(CadenceUFix64("30000.0"))
@@ -129,29 +117,29 @@ func TestExternalTransfers(t *testing.T) {
 		)
 
 		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Sender vault
+		script = templates.GenerateInspectVaultScript(env)
 		result := executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
 			},
 		)
-
 		assert.Equal(t, CadenceUFix64("1000.0"), result)
 
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Receiver Vault
+		script = templates.GenerateInspectVaultScript(env)
 		result = executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(joshAddress)),
 			},
 		)
-
 		assert.Equal(t, CadenceUFix64("0.0"), result)
 	})
 
 	t.Run("Should be able to withdraw and deposit tokens from a vault", func(t *testing.T) {
-		script := templates.GenerateTransferVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script := templates.GenerateTransferVaultScript(env)
 
 		tx := createTxWithTemplateAndAuthorizer(b, script, exampleTokenAddr)
 
@@ -172,27 +160,28 @@ func TestExternalTransfers(t *testing.T) {
 		)
 
 		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Sender vault
+		script = templates.GenerateInspectVaultScript(env)
 		result := executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
 			},
 		)
-
 		assert.Equal(t, CadenceUFix64("700.0"), result)
 
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Receiver Vault
+		script = templates.GenerateInspectVaultScript(env)
 		result = executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(joshAddress)),
 			},
 		)
-
 		assert.Equal(t, CadenceUFix64("300.0"), result)
 
-		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Supply should not have changed
+		script = templates.GenerateInspectSupplyScript(env)
 		supply := executeScriptAndCheck(t, b, script, nil)
 		assert.Equal(t, CadenceUFix64("1000.0"), supply)
 	})
@@ -206,7 +195,7 @@ func TestExternalTransfers(t *testing.T) {
 		recipientPairs := make([]cadence.KeyValuePair, 1)
 		recipientPairs[0] = pair
 
-		script := templates.GenerateTransferManyAccountsScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script := templates.GenerateTransferManyAccountsScript(env)
 
 		tx := flow.NewTransaction().
 			SetScript(script).
@@ -235,7 +224,8 @@ func TestExternalTransfers(t *testing.T) {
 		)
 
 		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Sender vault
+		script = templates.GenerateInspectVaultScript(env)
 		result, err := b.ExecuteScript(
 			script,
 			[][]byte{
@@ -249,7 +239,8 @@ func TestExternalTransfers(t *testing.T) {
 		balance := result.Value
 		assert.Equal(t, CadenceUFix64("400.0"), balance)
 
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Receiver Vault
+		script = templates.GenerateInspectVaultScript(env)
 		result, err = b.ExecuteScript(
 			script,
 			[][]byte{
@@ -263,96 +254,89 @@ func TestExternalTransfers(t *testing.T) {
 		balance = result.Value
 		assert.Equal(t, CadenceUFix64("600.0"), balance)
 
-		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Supply should not have changed
+		script = templates.GenerateInspectSupplyScript(env)
 		supply := executeScriptAndCheck(t, b, script, nil)
 		assert.Equal(t, CadenceUFix64("1000.0"), supply)
 	})
 
-	t.Run("Should be able to transfer tokens through a forwarder from a vault", func(t *testing.T) {
+	t.Run("Should be able to transfer tokens with the generic transfer transaction", func(t *testing.T) {
 
-		script := templates.GenerateCreateForwarderScript(
-			fungibleAddr,
-			forwardingAddr,
-			exampleTokenAddr,
-			"ExampleToken",
-		)
+		script := templates.GenerateTransferGenericVaultScript(env)
 
 		tx := createTxWithTemplateAndAuthorizer(b, script, joshAddress)
 
+		_ = tx.AddArgument(CadenceUFix64("300.0"))
 		_ = tx.AddArgument(cadence.NewAddress(exampleTokenAddr))
 
-		signAndSubmit(
-			t, b, tx,
-			[]flow.Address{
-				b.ServiceKey().Address,
-				joshAddress,
-			},
-			[]crypto.Signer{
-				serviceSigner,
-				joshSigner,
-			},
-			false,
-		)
-
-		script = templates.GenerateTransferVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		tx = createTxWithTemplateAndAuthorizer(b, script, exampleTokenAddr)
+		storagePath := cadence.Path{Domain: common.PathDomainStorage, Identifier: "exampleTokenVault"}
+		publicPath := cadence.Path{Domain: common.PathDomainPublic, Identifier: "exampleTokenReceiver"}
 
-		_ = tx.AddArgument(CadenceUFix64("300.0"))
-		_ = tx.AddArgument(cadence.NewAddress(joshAddress))
+		_ = tx.AddArgument(storagePath)
+		_ = tx.AddArgument(publicPath)
 
 		signAndSubmit(
 			t, b, tx,
 			[]flow.Address{
 				b.ServiceKey().Address,
-				exampleTokenAddr,
+				joshAddress,
 			},
 			[]crypto.Signer{
 				serviceSigner,
-				exampleTokenSigner,
+				joshSigner,
 			},
 			false,
 		)
 
 		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script = templates.GenerateInspectVaultScript(env)
 		result := executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
 			},
 		)
-		assertEqual(t, CadenceUFix64("400.0"), result)
+		assertEqual(t, CadenceUFix64("700.0"), result)
 
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script = templates.GenerateInspectVaultScript(env)
 		result = executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(joshAddress)),
 			},
 		)
-		assertEqual(t, CadenceUFix64("600.0"), result)
+		assertEqual(t, CadenceUFix64("300.0"), result)
 
-		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		supply := executeScriptAndCheck(t, b, script, nil)
-		assertEqual(t, CadenceUFix64("1000.0"), supply)
 	})
+}
 
-	t.Run("Should be able to transfer tokens with the generic transfer transaction", func(t *testing.T) {
+// Steps:
+//
+// 1. Setup a forwarder in josh's account to forward to the token address
+// 2. Test a transfer from the token account to josh, which will go back to the token account
+func TestTokenForwarding(t *testing.T) {
+	b, adapter, accountKeys := newTestSetup(t)
 
-		script := templates.GenerateTransferGenericVaultScript(
-			fungibleAddr,
-		)
+	serviceSigner, _ := b.ServiceKey().Signer()
 
-		tx := createTxWithTemplateAndAuthorizer(b, script, joshAddress)
+	env := templates.Environment{}
 
-		_ = tx.AddArgument(CadenceUFix64("300.0"))
-		_ = tx.AddArgument(cadence.NewAddress(exampleTokenAddr))
+	exampleTokenAccountKey, exampleTokenSigner := accountKeys.NewWithSigner()
+	exampleTokenAddr := deployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey}, &env)
 
-		storagePath := cadence.Path{Domain: common.PathDomainStorage, Identifier: "exampleTokenVault"}
-		publicPath := cadence.Path{Domain: common.PathDomainPublic, Identifier: "exampleTokenReceiver"}
+	joshAddress, _, joshSigner := createAccountWithVault(b, adapter, t,
+		accountKeys,
+		env,
+	)
 
-		_ = tx.AddArgument(storagePath)
-		_ = tx.AddArgument(publicPath)
+	t.Run("Should be able to transfer tokens through a forwarder from a vault", func(t *testing.T) {
+
+		// Setup the forwarder in josh's account to forward to the token addr
+		script := templates.GenerateCreateForwarderScript(env)
+
+		tx := createTxWithTemplateAndAuthorizer(b, script, joshAddress)
+
+		_ = tx.AddArgument(cadence.NewAddress(exampleTokenAddr))
 
 		signAndSubmit(
 			t, b, tx,
@@ -367,161 +351,71 @@ func TestExternalTransfers(t *testing.T) {
 			false,
 		)
 
-		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		result := executeScriptAndCheck(t, b,
-			script,
-			[][]byte{
-				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
-			},
-		)
-		assertEqual(t, CadenceUFix64("700.0"), result)
-
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		result = executeScriptAndCheck(t, b,
-			script,
-			[][]byte{
-				jsoncdc.MustEncode(cadence.Address(joshAddress)),
-			},
-		)
-		assertEqual(t, CadenceUFix64("300.0"), result)
-
-	})
-}
-
-func TestVaultDestroy(t *testing.T) {
-	b, adapter, accountKeys := newTestSetup(t)
-
-	serviceSigner, _ := b.ServiceKey().Signer()
-
-	exampleTokenAccountKey, exampleTokenSigner := accountKeys.NewWithSigner()
-	fungibleAddr, resolverAddr, exampleTokenAddr, _, metadataViewsAddr, _ := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
-
-	joshAccountKey, joshSigner := accountKeys.NewWithSigner()
-	joshAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{joshAccountKey}, nil)
-
-	// then deploy the tokens to an account
-	script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, resolverAddr, "ExampleToken")
-	tx := flow.NewTransaction().
-		SetScript(script).
-		SetGasLimit(100).
-		SetProposalKey(
-			b.ServiceKey().Address,
-			b.ServiceKey().Index,
-			b.ServiceKey().SequenceNumber,
-		).
-		SetPayer(b.ServiceKey().Address).
-		AddAuthorizer(joshAddress)
-
-	signAndSubmit(
-		t, b, tx,
-		[]flow.Address{
-			b.ServiceKey().Address,
-			joshAddress,
-		},
-		[]crypto.Signer{
-			serviceSigner,
-			joshSigner,
-		},
-		false,
-	)
-
-	script = templates.GenerateTransferVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-	tx = flow.NewTransaction().
-		SetScript(script).
-		SetGasLimit(100).
-		SetProposalKey(
-			b.ServiceKey().Address,
-			b.ServiceKey().Index,
-			b.ServiceKey().SequenceNumber,
-		).
-		SetPayer(b.ServiceKey().Address).
-		AddAuthorizer(exampleTokenAddr)
-
-	_ = tx.AddArgument(CadenceUFix64("300.0"))
-	_ = tx.AddArgument(cadence.NewAddress(joshAddress))
-
-	signAndSubmit(
-		t, b, tx,
-		[]flow.Address{
-			b.ServiceKey().Address,
-			exampleTokenAddr,
-		},
-		[]crypto.Signer{
-			serviceSigner,
-			exampleTokenSigner,
-		},
-		false,
-	)
+		// Transfer tokens from the token account to josh
+		// which will be forwarded back to the token account
+		script = templates.GenerateTransferVaultScript(env)
+		tx = createTxWithTemplateAndAuthorizer(b, script, exampleTokenAddr)
 
-	t.Run("Should not subtract tokens from supply when they are destroyed with `destroy`", func(t *testing.T) {
-		script := templates.GenerateDestroyVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken", 100)
-		tx := createTxWithTemplateAndAuthorizer(
-			b, script, exampleTokenAddr)
+		_ = tx.AddArgument(CadenceUFix64("300.0"))
+		_ = tx.AddArgument(cadence.NewAddress(joshAddress))
 
 		signAndSubmit(
 			t, b, tx,
-			[]flow.Address{b.ServiceKey().Address, exampleTokenAddr},
-			[]crypto.Signer{serviceSigner, exampleTokenSigner},
+			[]flow.Address{
+				b.ServiceKey().Address,
+				exampleTokenAddr,
+			},
+			[]crypto.Signer{
+				serviceSigner,
+				exampleTokenSigner,
+			},
 			false,
 		)
 
-		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Assert that the vaults' balances are correct (the same as before)
+		// Token account (sender)
+		script = templates.GenerateInspectVaultScript(env)
 		result := executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
 			},
 		)
+		assertEqual(t, CadenceUFix64("1000.0"), result)
 
-		assert.Equal(t, CadenceUFix64("600.0"), result)
-
-		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
-		supply := executeScriptAndCheck(t, b, script, nil)
-		assert.Equal(t, CadenceUFix64("1000.0"), supply)
+		// Receiver account
+		script = templates.GenerateInspectVaultScript(env)
+		result = executeScriptAndCheck(t, b,
+			script,
+			[][]byte{
+				jsoncdc.MustEncode(cadence.Address(joshAddress)),
+			},
+		)
+		assertEqual(t, CadenceUFix64("0.0"), result)
 	})
 }
 
+// Steps:
+//
+// 1. Mint tokens with the ExampleToken Admin (verify that supply and balances are increased)
+// 2. Burn tokens, which will decrease the supply and balances
 func TestMintingAndBurning(t *testing.T) {
 	b, adapter, accountKeys := newTestSetup(t)
 
 	serviceSigner, _ := b.ServiceKey().Signer()
 
+	env := templates.Environment{}
+
 	exampleTokenAccountKey, exampleTokenSigner := accountKeys.NewWithSigner()
-	fungibleAddr, resolverAddr, exampleTokenAddr, _, metadataViewsAddr, _ := DeployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey})
-
-	joshAccountKey, joshSigner := accountKeys.NewWithSigner()
-	joshAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{joshAccountKey}, nil)
-
-	// then deploy the tokens to an account
-	script := templates.GenerateCreateTokenScript(fungibleAddr, exampleTokenAddr, metadataViewsAddr, resolverAddr, "ExampleToken")
-	tx := flow.NewTransaction().
-		SetScript(script).
-		SetGasLimit(100).
-		SetProposalKey(
-			b.ServiceKey().Address,
-			b.ServiceKey().Index,
-			b.ServiceKey().SequenceNumber,
-		).
-		SetPayer(b.ServiceKey().Address).
-		AddAuthorizer(joshAddress)
-
-	signAndSubmit(
-		t, b, tx,
-		[]flow.Address{
-			b.ServiceKey().Address,
-			joshAddress,
-		},
-		[]crypto.Signer{
-			serviceSigner,
-			joshSigner,
-		},
-		false,
+	exampleTokenAddr := deployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey}, &env)
+
+	joshAddress, _, _ := createAccountWithVault(b, adapter, t,
+		accountKeys,
+		env,
 	)
 
 	t.Run("Should mint tokens, deposit, and update balance and total supply", func(t *testing.T) {
-		script := templates.GenerateMintTokensScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script := templates.GenerateMintTokensScript(env)
 		tx := createTxWithTemplateAndAuthorizer(
 			b, script, exampleTokenAddr)
 
@@ -542,18 +436,19 @@ func TestMintingAndBurning(t *testing.T) {
 		)
 
 		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// token account should not have increased
+		script = templates.GenerateInspectVaultScript(env)
 		result := executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
 			},
 		)
-
 		assert.Equal(t, CadenceUFix64("1000.0"), result)
 
 		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// Josh account should have increased by 50, the amount minted
+		script = templates.GenerateInspectVaultScript(env)
 		result = executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
@@ -563,13 +458,13 @@ func TestMintingAndBurning(t *testing.T) {
 
 		assert.Equal(t, CadenceUFix64("50.0"), result)
 
-		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script = templates.GenerateInspectSupplyScript(env)
 		supply := executeScriptAndCheck(t, b, script, nil)
 		assert.Equal(t, CadenceUFix64("1050.0"), supply)
 	})
 
 	t.Run("Should burn tokens and update balance and total supply", func(t *testing.T) {
-		script := templates.GenerateBurnTokensScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		script := templates.GenerateBurnTokensScript(env)
 		tx := createTxWithTemplateAndAuthorizer(
 			b, script, exampleTokenAddr)
 
@@ -589,17 +484,18 @@ func TestMintingAndBurning(t *testing.T) {
 		)
 
 		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// token account balance should have decreased by the burned amount
+		script = templates.GenerateInspectVaultScript(env)
 		result := executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
 			},
 		)
-
 		assert.Equal(t, CadenceUFix64("950.0"), result)
 
-		script = templates.GenerateInspectSupplyScript(fungibleAddr, exampleTokenAddr, "ExampleToken")
+		// total supply also decreases by the burned amount
+		script = templates.GenerateInspectSupplyScript(env)
 		supply := executeScriptAndCheck(t, b, script, nil)
 		assert.Equal(t, CadenceUFix64("1000.0"), supply)
 	})
diff --git a/lib/go/test/token_test_helpers.go b/lib/go/test/token_test_helpers.go
index de60c5bd..c96c6a27 100644
--- a/lib/go/test/token_test_helpers.go
+++ b/lib/go/test/token_test_helpers.go
@@ -4,9 +4,13 @@ import (
 	"context"
 	"testing"
 
+	"github.com/onflow/flow-ft/lib/go/templates"
+
 	"github.com/onflow/flow-emulator/adapters"
 	"github.com/onflow/flow-emulator/emulator"
+	"github.com/onflow/flow-go-sdk/crypto"
 	sdktemplates "github.com/onflow/flow-go-sdk/templates"
+	"github.com/onflow/flow-go-sdk/test"
 	"github.com/stretchr/testify/assert"
 
 	"github.com/onflow/flow-go-sdk"
@@ -18,18 +22,14 @@ import (
 
 // Deploys the FungibleToken, ExampleToken, and TokenForwarding contracts
 // to different accounts and returns their addresses
-func DeployTokenContracts(
+func deployTokenContracts(
 	b emulator.Emulator,
 	adapter *adapters.SDKAdapter,
 	t *testing.T,
 	key []*flow.AccountKey,
+	env *templates.Environment,
 ) (
-	fungibleAddr flow.Address,
-	viewResolverAddr flow.Address,
 	tokenAddr flow.Address,
-	forwardingAddr flow.Address,
-	metadataViewsAddr flow.Address,
-	fungibleMetadataViewsAddr flow.Address,
 ) {
 	var err error
 
@@ -44,9 +44,10 @@ func DeployTokenContracts(
 		},
 	)
 	assert.NoError(t, err)
+	env.ViewResolverAddress = resolverAddress.Hex()
 
 	// Deploy the NonFungibleToken contract
-	nonFungibleTokenCode := nftcontracts.NonFungibleTokenV2(resolverAddress)
+	nonFungibleTokenCode := nftcontracts.NonFungibleToken(resolverAddress)
 	nftAddress, err := adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
@@ -59,8 +60,8 @@ func DeployTokenContracts(
 	assert.NoError(t, err)
 
 	// Deploy the FungibleToken contract
-	fungibleTokenCode := contracts.FungibleTokenV2(resolverAddress.String())
-	fungibleAddr, err = adapter.CreateAccount(context.Background(),
+	fungibleTokenCode := contracts.FungibleToken(resolverAddress.String())
+	fungibleAddr, err := adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
 			{
@@ -70,13 +71,11 @@ func DeployTokenContracts(
 		},
 	)
 	assert.NoError(t, err)
-
-	_, err = b.CommitBlock()
-	assert.NoError(t, err)
+	env.FungibleTokenAddress = fungibleAddr.Hex()
 
 	// Deploy the MetadataViews contract
 	metadataViewsCode := nftcontracts.MetadataViews(fungibleAddr, nftAddress, resolverAddress)
-	metadataViewsAddr, err = adapter.CreateAccount(context.Background(),
+	metadataViewsAddr, err := adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
 			{
@@ -86,10 +85,11 @@ func DeployTokenContracts(
 		},
 	)
 	assert.NoError(t, err)
+	env.MetadataViewsAddress = metadataViewsAddr.Hex()
 
 	// Deploy the FungibleTokenMetadataViews contract
 	fungibleTokenMetadataViewsCode := contracts.FungibleTokenMetadataViews(fungibleAddr.String(), metadataViewsAddr.String(), resolverAddress.String())
-	fungibleMetadataViewsAddr, err = adapter.CreateAccount(context.Background(),
+	fungibleMetadataViewsAddr, err := adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
 			{
@@ -99,24 +99,10 @@ func DeployTokenContracts(
 		},
 	)
 	assert.NoError(t, err)
-
-	_, err = b.CommitBlock()
-	assert.NoError(t, err)
-
-	// Deploy the MultipleVaults contract interface
-	multipleVaultsAddress, err := adapter.CreateAccount(context.Background(),
-		key,
-		[]sdktemplates.Contract{
-			{
-				Name:   "MultipleVaults",
-				Source: string(contracts.MultipleVaults(fungibleAddr.String())),
-			},
-		},
-	)
-	assert.NoError(t, err)
+	env.FungibleTokenMetadataViewsAddress = fungibleMetadataViewsAddr.Hex()
 
 	// Deploy the ExampleToken contract
-	exampleTokenCode := contracts.ExampleTokenV2(fungibleAddr.String(), metadataViewsAddr.String(), fungibleMetadataViewsAddr.String(), resolverAddress.String(), multipleVaultsAddress.String())
+	exampleTokenCode := contracts.ExampleToken(fungibleAddr.String(), metadataViewsAddr.String(), fungibleMetadataViewsAddr.String(), resolverAddress.String(), "")
 	tokenAddr, err = adapter.CreateAccount(context.Background(),
 		key,
 		[]sdktemplates.Contract{
@@ -127,13 +113,11 @@ func DeployTokenContracts(
 		},
 	)
 	assert.NoError(t, err)
-
-	_, err = b.CommitBlock()
-	assert.NoError(t, err)
+	env.ExampleTokenAddress = tokenAddr.Hex()
 
 	// Deploy the TokenForwarding contract
 	forwardingCode := contracts.TokenForwarding(fungibleAddr.String())
-	forwardingAddr, err = adapter.CreateAccount(context.Background(),
+	forwardingAddr, err := adapter.CreateAccount(context.Background(),
 		key,
 		[]sdktemplates.Contract{
 			{
@@ -143,13 +127,11 @@ func DeployTokenContracts(
 		},
 	)
 	assert.NoError(t, err)
-
-	_, err = b.CommitBlock()
-	assert.NoError(t, err)
+	env.TokenForwardingAddress = forwardingAddr.Hex()
 
 	// Deploy the FungibleTokenSwitchboard contract
 	switchboardCode := contracts.FungibleTokenSwitchboard(fungibleAddr.String())
-	_, err = adapter.CreateAccount(context.Background(),
+	switchboardAddr, err := adapter.CreateAccount(context.Background(),
 		key,
 		[]sdktemplates.Contract{
 			{
@@ -159,9 +141,43 @@ func DeployTokenContracts(
 		},
 	)
 	assert.NoError(t, err)
+	env.SwitchboardAddress = switchboardAddr.Hex()
 
 	_, err = b.CommitBlock()
 	assert.NoError(t, err)
 
-	return fungibleAddr, resolverAddress, tokenAddr, forwardingAddr, metadataViewsAddr, fungibleMetadataViewsAddr
+	return tokenAddr
+}
+
+func createAccountWithVault(
+	b emulator.Emulator,
+	adapter *adapters.SDKAdapter,
+	t *testing.T,
+	keys *test.AccountKeys,
+	env templates.Environment,
+) (
+	flow.Address, *flow.AccountKey, crypto.Signer,
+) {
+
+	newAccountKey, newSigner := keys.NewWithSigner()
+	newAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{newAccountKey}, nil)
+
+	serviceSigner, _ := b.ServiceKey().Signer()
+
+	// Setup new account with an empty vault
+	script := templates.GenerateCreateTokenScript(env)
+	tx := createTxWithTemplateAndAuthorizer(b, script, newAddress)
+	signAndSubmit(
+		t, b, tx,
+		[]flow.Address{
+			b.ServiceKey().Address,
+			newAddress,
+		},
+		[]crypto.Signer{
+			serviceSigner,
+			newSigner,
+		},
+		false,
+	)
+	return newAddress, newAccountKey, newSigner
 }
diff --git a/tests/example_token_tests.cdc b/tests/example_token_tests.cdc
index 4a838fb8..72e68bf8 100644
--- a/tests/example_token_tests.cdc
+++ b/tests/example_token_tests.cdc
@@ -1,36 +1,21 @@
 import Test
 import BlockchainHelpers
+import "test_helpers.cdc"
 import "FungibleTokenMetadataViews"
 import "ExampleToken"
+import "FungibleToken"
 
 access(all) let admin = Test.getAccount(0x0000000000000007)
 access(all) let recipient = Test.createAccount()
 
 access(all)
 fun setup() {
-    var err = Test.deployContract(
-        name: "FungibleTokenMetadataViews",
-        path: "../contracts/FungibleTokenMetadataViews.cdc",
-        arguments: []
-    )
-    Test.expect(err, Test.beNil())
-
-    err = Test.deployContract(
-        name: "ExampleToken",
-        path: "../contracts/ExampleToken-v2.cdc",
-        arguments: []
-    )
-    Test.expect(err, Test.beNil())
-}
-
-access(all)
-fun testTokensInitializedEventEmitted() {
-    let typ = Type<ExampleToken.TokensInitialized>()
-    let events = Test.eventsOfType(typ)
-    Test.assertEqual(1, events.length)
-
-    let tokensInitializedEvent = events[0] as! ExampleToken.TokensInitialized
-    Test.assertEqual(1000.0, tokensInitializedEvent.initialSupply)
+    deploy("ViewResolver", "../contracts/utility/ViewResolver.cdc")
+    deploy("FungibleToken", "../contracts/FungibleToken.cdc")
+    deploy("NonFungibleToken", "../contracts/utility/NonFungibleToken.cdc")
+    deploy("MetadataViews", "../contracts/utility/MetadataViews.cdc")
+    deploy("FungibleTokenMetadataViews", "../contracts/FungibleTokenMetadataViews.cdc")
+    deploy("ExampleToken", "../contracts/ExampleToken.cdc")
 }
 
 access(all)
@@ -94,20 +79,14 @@ fun testMintTokens() {
     let tokensMintedEvent = events[0] as! ExampleToken.TokensMinted
     Test.assertEqual(250.0, tokensMintedEvent.amount)
 
-    typ = Type<ExampleToken.MinterCreated>()
+    typ = Type<FungibleToken.Deposit>()
     events = Test.eventsOfType(typ)
     Test.assertEqual(1, events.length)
 
-    let minterCreatedEvent = events[0] as! ExampleToken.MinterCreated
-    Test.assertEqual(250.0, minterCreatedEvent.allowedAmount)
-
-    typ = Type<ExampleToken.TokensDeposited>()
-    events = Test.eventsOfType(typ)
-    Test.assertEqual(1, events.length)
-
-    let tokensDepositedEvent = events[0] as! ExampleToken.TokensDeposited
+    let tokensDepositedEvent = events[0] as! FungibleToken.Deposit
     Test.assertEqual(250.0, tokensDepositedEvent.amount)
     Test.assertEqual(recipient.address, tokensDepositedEvent.to!)
+    Test.assertEqual("A.0000000000000007.ExampleToken.Vault", tokensDepositedEvent.type)
 
     // Test that the totalSupply increased by the amount of minted tokens
     let scriptResult = executeScript(
@@ -129,14 +108,14 @@ fun testTransferTokens() {
     )
     Test.expect(txResult, Test.beSucceeded())
 
-    var typ = Type<ExampleToken.TokensDeposited>()
+    var typ = Type<FungibleToken.Deposit>()
     Test.assertEqual(2, Test.eventsOfType(typ).length)
 
-    typ = Type<ExampleToken.TokensWithdrawn>()
+    typ = Type<FungibleToken.Withdraw>()
     let events = Test.eventsOfType(typ)
     Test.assertEqual(1, events.length)
 
-    let tokensWithdrawnEvent = events[0] as! ExampleToken.TokensWithdrawn
+    let tokensWithdrawnEvent = events[0] as! FungibleToken.Withdraw
     Test.assertEqual(50.0, tokensWithdrawnEvent.amount)
     Test.assertEqual(recipient.address, tokensWithdrawnEvent.from!)
 
@@ -184,16 +163,13 @@ fun testBurnTokens() {
     )
     Test.expect(txResult, Test.beSucceeded())
 
-    var typ = Type<ExampleToken.BurnerCreated>()
-    var events = Test.eventsOfType(typ)
-    Test.assertEqual(1, events.length)
-
-    typ = Type<ExampleToken.TokensBurned>()
-    events = Test.eventsOfType(typ)
+    let type = Type<FungibleToken.Burn>()
+    let events = Test.eventsOfType(type)
     Test.assertEqual(1, events.length)
 
-    let tokensBurnedEvent = events[0] as! ExampleToken.TokensBurned
+    let tokensBurnedEvent = events[0] as! FungibleToken.Burn
     Test.assertEqual(50.0, tokensBurnedEvent.amount)
+    Test.assertEqual("A.0000000000000007.ExampleToken.Vault", tokensBurnedEvent.type)
 
     let scriptResult = executeScript(
         "../transactions/scripts/get_balance.cdc",
diff --git a/tests/metadata_views_tests.cdc b/tests/metadata_views_tests.cdc
index f1d9370a..6fcb3f1a 100644
--- a/tests/metadata_views_tests.cdc
+++ b/tests/metadata_views_tests.cdc
@@ -1,17 +1,27 @@
 import Test
+import BlockchainHelpers
 import "test_helpers.cdc"
+import "ViewResolver"
+import "FungibleTokenMetadataViews"
+import "ExampleToken"
+import "FungibleToken"
 
-// access(all) let blockchain = Test.newEmulatorBlockchain()
-access(all) let sourceAccount = blockchain.createAccount()
-access(all) let accounts: {String: Test.TestAccount} = {}
+/* Test Setup */
 
-access(all) let exampleToken = "ExampleToken"
+access(all) fun setup() {
+    deploy("ViewResolver", "../contracts/utility/ViewResolver.cdc")
+    deploy("FungibleToken", "../contracts/FungibleToken.cdc")
+    deploy("NonFungibleToken", "../contracts/utility/NonFungibleToken.cdc")
+    deploy("MetadataViews", "../contracts/utility/MetadataViews.cdc")
+    deploy("FungibleTokenMetadataViews", "../contracts/FungibleTokenMetadataViews.cdc")
+    deploy("ExampleToken", "../contracts/ExampleToken.cdc")
+}
 
 /* Test Cases */
 
 access(all) fun testSetupAccountUsingFTView() {
-    let alice = blockchain.createAccount()
-    let bob = blockchain.createAccount()
+    let alice = Test.createAccount()
+    let bob = Test.createAccount()
 
     setupExampleToken(alice)
     let aliceBalance = getExampleTokenBalance(alice)
@@ -23,7 +33,7 @@ access(all) fun testSetupAccountUsingFTView() {
 }
 
 access(all) fun testRetrieveVaultDisplayInfo() {
-    let alice = blockchain.createAccount()
+    let alice = Test.createAccount()
 
     setupExampleToken(alice)
     let result = scriptExecutor("test/example_token_vault_display_strict_equal.cdc", [alice.address])! as! Bool
@@ -43,48 +53,4 @@ access(all) fun setupExampleToken(_ acct: Test.TestAccount) {
 access(all) fun getExampleTokenBalance(_ acct: Test.TestAccount): UFix64 {
     let balance: UFix64? = (scriptExecutor("get_balance.cdc", [acct.address])! as! UFix64)
     return balance!
-}
-
-/* Test Helper */
-
-access(all) fun getTestAccount(_ name: String): Test.TestAccount {
-    if accounts[name] == nil {
-        accounts[name] = blockchain.createAccount()
-    }
-
-    return accounts[name]!
-}
-
-/* Test Setup */
-
-access(all) fun setup() {
-
-    let sourceAccount = blockchain.createAccount()
-
-    accounts["FungibleToken"] = sourceAccount
-    accounts["NonFungibleToken"] = sourceAccount
-    accounts["ViewResolver"] = sourceAccount
-    accounts["MetadataViews"] = sourceAccount
-    accounts["FungibleTokenMetadataViews"] = sourceAccount
-    accounts["ExampleToken"] = sourceAccount
-
-    blockchain.useConfiguration(
-        Test.Configuration(
-            addresses: {
-                "FungibleToken": sourceAccount.address,
-                "NonFungibleToken": sourceAccount.address,
-                "ViewResolver": sourceAccount.address,
-                "MetadataViews": sourceAccount.address,
-                "FungibleTokenMetadataViews": sourceAccount.address,
-                "ExampleToken": sourceAccount.address
-            }
-        )
-    )
-
-    deploy("ViewResolver", sourceAccount, "../contracts/utility/ViewResolver.cdc")
-    deploy("FungibleToken", sourceAccount, "../contracts/FungibleToken-v2.cdc")
-    deploy("NonFungibleToken", sourceAccount, "../contracts/utility/NonFungibleToken.cdc")
-    deploy("MetadataViews", sourceAccount, "../contracts/utility/MetadataViews.cdc")
-    deploy("FungibleTokenMetadataViews", sourceAccount, "../contracts/FungibleTokenMetadataViews.cdc")
-    deploy("ExampleToken", sourceAccount, "../contracts/ExampleToken-v2.cdc")
-}
+}
\ No newline at end of file
diff --git a/tests/private_receiver_forwarder_tests.cdc b/tests/private_receiver_forwarder_tests.cdc
index 0b9eab75..bd16d56a 100644
--- a/tests/private_receiver_forwarder_tests.cdc
+++ b/tests/private_receiver_forwarder_tests.cdc
@@ -1,39 +1,63 @@
 import Test
+import BlockchainHelpers
 import "test_helpers.cdc"
+import "ExampleToken"
 
-access(all) let sourceAccount = blockchain.createAccount()
-access(all) let accounts: {String: Test.TestAccount} = {}
-
-access(all) let exampleToken = "ExampleToken"
+/* Test Setup */
 
+access(all) let admin = Test.getAccount(0x0000000000000007)
 access(all) let senderStoragePath = /storage/Sender
 access(all) let privateReceiverStoragePath = /storage/PrivateReceiver
 access(all) let privateReceiverPublicPath = /public/PrivateReceiver
 
+access(all) fun setup() {
+
+    // helper nft contract so we can actually talk to nfts with tests
+    deploy("ViewResolver", "../contracts/utility/ViewResolver.cdc")
+    deploy("FungibleToken", "../contracts/FungibleToken.cdc")
+    deploy("NonFungibleToken", "../contracts/utility/NonFungibleToken.cdc")
+    deploy("MetadataViews", "../contracts/utility/MetadataViews.cdc")
+    deploy("FungibleTokenMetadataViews", "../contracts/FungibleTokenMetadataViews.cdc")
+    deploy("ExampleToken", "../contracts/ExampleToken.cdc")
+    deployWithArgs(
+        "PrivateReceiverForwarder",
+        "../contracts/utility/PrivateReceiverForwarder.cdc",
+        args: [
+            senderStoragePath,
+            privateReceiverStoragePath,
+            privateReceiverPublicPath
+        ]
+    )
+}
+
 /* Test Cases */
 
 access(all) fun testSetupForwader() {
-    let alice = blockchain.createAccount()
-    txExecutor("privateForwarder/setup_and_create_forwarder.cdc", [sourceAccount], [], nil, nil)
+    let alice = Test.createAccount()
+    let txResult = executeTransaction(
+        "../transactions/privateForwarder/setup_and_create_forwarder.cdc",
+        [],
+        alice
+    )
+    Test.expect(txResult, Test.beSucceeded())
 }
 
 access(all) fun testTransferPrivateTokens() {
-    let sender = getTestAccount(exampleToken)
-    let senderBalanceBefore = getExampleTokenBalance(sender)
+    let senderBalanceBefore = getExampleTokenBalance(admin)
     assert(senderBalanceBefore == 1000.0, message: "ExampleToken balance should be 1000.0")
 
-    let recipient = blockchain.createAccount()
+    let recipient = Test.createAccount()
     let recipientAmount = 300.0
 
     let pair = {recipient.address: recipientAmount}
 
-    txExecutor("privateForwarder/setup_and_create_forwarder.cdc", [recipient], [], nil, nil)
-    txExecutor("privateForwarder/transfer_private_many_accounts.cdc", [sender], [pair], nil, nil)
+    txExecutor("../transactions/privateForwarder/setup_and_create_forwarder.cdc", [recipient], [], nil, nil)
+    txExecutor("../transactions/privateForwarder/transfer_private_many_accounts.cdc", [admin], [pair], nil, nil)
 
     let recipientBalance = getExampleTokenBalance(recipient)
     Test.assertEqual(recipientAmount, recipientBalance)
 
-    let senderBalanceAfter = getExampleTokenBalance(sender)
+    let senderBalanceAfter = getExampleTokenBalance(admin)
     Test.assertEqual(senderBalanceBefore - recipientAmount, senderBalanceAfter)
 }
 
@@ -49,7 +73,7 @@ access(all) fun mintExampleToken(_ acct: Test.TestAccount, recipient: Address, a
 }
 
 access(all) fun setupTokenForwarder(_ acct: Test.TestAccount) {
-    txExecutor("privateForwarder/setup_and_create_forwarder.cdc", [acct], [], nil, nil)
+    txExecutor("../transactions/privateForwarder/setup_and_create_forwarder.cdc", [acct], [], nil, nil)
 }
 
 /* Script Helpers */
@@ -58,60 +82,3 @@ access(all) fun getExampleTokenBalance(_ acct: Test.TestAccount): UFix64 {
     let balance: UFix64? = (scriptExecutor("get_balance.cdc", [acct.address])! as! UFix64)
     return balance!
 }
-
-/* Test Helper */
-
-access(all) fun getTestAccount(_ name: String): Test.TestAccount {
-    if accounts[name] == nil {
-        accounts[name] = blockchain.createAccount()
-    }
-
-    return accounts[name]!
-}
-
-/* Test Setup */
-
-access(all) fun setup() {
-
-    let sourceAccount = blockchain.createAccount()
-
-    accounts["FungibleToken"] = sourceAccount
-    accounts["NonFungibleToken"] = sourceAccount
-    accounts["ViewResolver"] = sourceAccount
-    accounts["MetadataViews"] = sourceAccount
-    accounts["FungibleTokenMetadataViews"] = sourceAccount
-    accounts["ExampleToken"] = sourceAccount
-    accounts["PrivateReceiverForwarder"] = sourceAccount
-
-    blockchain.useConfiguration(
-        Test.Configuration(
-            addresses: {
-                "FungibleToken": sourceAccount.address,
-                "NonFungibleToken": sourceAccount.address,
-                "ViewResolver": sourceAccount.address,
-                "MetadataViews": sourceAccount.address,
-                "FungibleTokenMetadataViews": sourceAccount.address,
-                "ExampleToken": sourceAccount.address,
-                "PrivateReceiverForwarder": sourceAccount.address
-            }
-        )
-    )
-
-    // helper nft contract so we can actually talk to nfts with tests
-    deploy("ViewResolver", sourceAccount, "../contracts/utility/ViewResolver.cdc")
-    deploy("FungibleToken", sourceAccount, "../contracts/FungibleToken-v2.cdc")
-    deploy("NonFungibleToken", sourceAccount, "../contracts/utility/NonFungibleToken.cdc")
-    deploy("MetadataViews", sourceAccount, "../contracts/utility/MetadataViews.cdc")
-    deploy("FungibleTokenMetadataViews", sourceAccount, "../contracts/FungibleTokenMetadataViews.cdc")
-    deploy("ExampleToken", sourceAccount, "../contracts/ExampleToken-v2.cdc")
-    deployWithArgs(
-        "PrivateReceiverForwarder",
-        sourceAccount,
-        "../contracts/utility/PrivateReceiverForwarder.cdc",
-        args: [
-            senderStoragePath,
-            privateReceiverStoragePath,
-            privateReceiverPublicPath
-        ]
-    )
-}
diff --git a/tests/scripts/get_supported_vault_types.cdc b/tests/scripts/get_supported_vault_types.cdc
index 20950a5e..c08fa105 100644
--- a/tests/scripts/get_supported_vault_types.cdc
+++ b/tests/scripts/get_supported_vault_types.cdc
@@ -4,7 +4,7 @@ import "FungibleToken"
 /// `target` address should hold the capability which conforms with FungibleToken.Receiver restricted type
 /// while it doesn't matter whether capability refers to fungible token or a custom receiver like 
 /// `FungibleTokenSwitchboard` or `TokenReceiver`. However `targetPath` tells where the capability stores
-pub fun main(target: Address, targetPath: PublicPath): {Type: Bool} {
+access(all) fun main(target: Address, targetPath: PublicPath): {Type: Bool} {
 
     // Access the capability for the provided target address
     let capabilityRef = getAccount(target).capabilities.borrow<&{FungibleToken.Receiver}>(targetPath)
diff --git a/tests/scripts/get_token_metadata.cdc b/tests/scripts/get_token_metadata.cdc
index d16f8614..a0750f94 100644
--- a/tests/scripts/get_token_metadata.cdc
+++ b/tests/scripts/get_token_metadata.cdc
@@ -4,6 +4,7 @@
 import "ExampleToken"
 import "FungibleTokenMetadataViews"
 import "MetadataViews"
+import "ViewResolver"
 
 access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
diff --git a/tests/scripts/get_unsupported_view.cdc b/tests/scripts/get_unsupported_view.cdc
index b72631c8..3f123bea 100644
--- a/tests/scripts/get_unsupported_view.cdc
+++ b/tests/scripts/get_unsupported_view.cdc
@@ -4,8 +4,9 @@
 
 import "ExampleToken"
 import "MetadataViews"
+import "FungibleToken"
 
-pub fun main(address: Address, type: Type): AnyStruct? {
+access(all) fun main(address: Address, type: Type): AnyStruct? {
     let account = getAccount(address)
     let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
         ?? panic("Could not borrow Balance reference to the Vault")
diff --git a/tests/scripts/get_vault_display.cdc b/tests/scripts/get_vault_display.cdc
index 50fdbf16..96330c16 100644
--- a/tests/scripts/get_vault_display.cdc
+++ b/tests/scripts/get_vault_display.cdc
@@ -4,8 +4,9 @@
 import "ExampleToken"
 import "FungibleTokenMetadataViews"
 import "MetadataViews"
+import "ViewResolver"
 
-pub fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
+access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let account = getAccount(address)
 
     let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
diff --git a/tests/scripts/get_views.cdc b/tests/scripts/get_views.cdc
index 7c1f6fe5..95f8eef9 100644
--- a/tests/scripts/get_views.cdc
+++ b/tests/scripts/get_views.cdc
@@ -4,8 +4,9 @@
 import "MetadataViews"
 import "ExampleToken"
 import "FungibleTokenMetadataViews"
+import "FungibleToken"
 
-pub fun main(address: Address): [Type] {
+access(all) fun main(address: Address): [Type] {
     let account = getAccount(address)
 
     let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
diff --git a/tests/switchboard_tests.cdc b/tests/switchboard_tests.cdc
index 294bcd91..57dab81c 100644
--- a/tests/switchboard_tests.cdc
+++ b/tests/switchboard_tests.cdc
@@ -1,14 +1,20 @@
 import Test
 import BlockchainHelpers
+import "test_helpers.cdc"
 import "FungibleTokenMetadataViews"
 import "ExampleToken"
 import "FungibleTokenSwitchboard"
+import "FungibleToken"
 
 access(all) let admin = Test.getAccount(0x0000000000000007)
 access(all) let recipient = Test.createAccount()
 
 access(all)
 fun setup() {
+    deploy("ViewResolver", "../contracts/utility/ViewResolver.cdc")
+    deploy("FungibleToken", "../contracts/FungibleToken.cdc")
+    deploy("NonFungibleToken", "../contracts/utility/NonFungibleToken.cdc")
+    deploy("MetadataViews", "../contracts/utility/MetadataViews.cdc")
     var err = Test.deployContract(
         name: "FungibleTokenMetadataViews",
         path: "../contracts/FungibleTokenMetadataViews.cdc",
@@ -18,7 +24,7 @@ fun setup() {
 
     err = Test.deployContract(
         name: "ExampleToken",
-        path: "../contracts/ExampleToken-v2.cdc",
+        path: "../contracts/ExampleToken.cdc",
         arguments: []
     )
     Test.expect(err, Test.beNil())
diff --git a/tests/test_helpers.cdc b/tests/test_helpers.cdc
index aba50fe7..e0405a93 100644
--- a/tests/test_helpers.cdc
+++ b/tests/test_helpers.cdc
@@ -1,5 +1,4 @@
 // Helper functions. All of the following were taken from
-// https://github.com/onflow/Offers/blob/fd380659f0836e5ce401aa99a2975166b2da5cb0/lib/cadence/test/Offers.cdc
 // - deploy
 // - scriptExecutor
 // - txExecutor
@@ -7,39 +6,29 @@
 
 import Test
 
-access(all) let blockchain = Test.newEmulatorBlockchain()
-
-access(all) fun deploy(_ contractName: String, _ account: Test.TestAccount, _ path: String) {
-    let err = blockchain.deployContract(
+access(all) fun deploy(_ contractName: String, _ path: String) {
+    let err = Test.deployContract(
         name: contractName,
-        code: Test.readFile(path),
-        account: account,
+        path: path,
         arguments: [],
     )
 
     Test.expect(err, Test.beNil())
-    if err != nil {
-        panic(err!.message)
-    }
 }
 
-access(all) fun deployWithArgs(_ contractName: String, _ account: Test.TestAccount, _ path: String, args: [AnyStruct]) {
-    let err = blockchain.deployContract(
+access(all) fun deployWithArgs(_ contractName: String, _ path: String, args: [AnyStruct]) {
+    let err = Test.deployContract(
         name: contractName,
-        code: Test.readFile(path),
-        account: account,
+        path: path,
         arguments: args,
     )
 
     Test.expect(err, Test.beNil())
-    if err != nil {
-        panic(err!.message)
-    }
 }
 
 access(all) fun scriptExecutor(_ scriptName: String, _ arguments: [AnyStruct]): AnyStruct? {
     let scriptCode = loadCode(scriptName, "transactions/scripts")
-    let scriptResult = blockchain.executeScript(scriptCode, arguments)
+    let scriptResult = Test.executeScript(scriptCode, arguments)
 
     if let failureError = scriptResult.error {
         panic(
@@ -52,7 +41,7 @@ access(all) fun scriptExecutor(_ scriptName: String, _ arguments: [AnyStruct]):
 
 access(all) fun expectScriptFailure(_ scriptName: String, _ arguments: [AnyStruct]): String {
     let scriptCode = loadCode(scriptName, "transactions/scripts")
-    let scriptResult = blockchain.executeScript(scriptCode, arguments)
+    let scriptResult = Test.executeScript(scriptCode, arguments)
 
     assert(scriptResult.error != nil, message: "script error was expected but there is no error message")
     return scriptResult.error!.message
@@ -73,7 +62,7 @@ access(all) fun txExecutor(_ txName: String, _ signers: [Test.TestAccount], _ ar
         arguments: arguments,
     )
 
-    let txResult = blockchain.executeTransaction(tx)
+    let txResult = Test.executeTransaction(tx)
     if let err = txResult.error {
         if let expectedErrorMessage = expectedError {
             let ptr = getErrorMessagePointer(errorType: expectedErrorType!)

From c7c36c28b0861389a406112d2a6af41fb81c9255 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Thu, 11 Jan 2024 16:06:39 -0600
Subject: [PATCH 072/115] remove path functions and add view function

---
 contracts/ExampleToken.cdc                 | 33 ++------
 contracts/FungibleToken.cdc                | 15 +---
 contracts/FungibleTokenMetadataViews.cdc   | 13 ----
 contracts/utility/MetadataViews.cdc        | 61 ++++++---------
 contracts/utility/NonFungibleToken.cdc     | 87 +++++++++++-----------
 contracts/utility/ViewResolver.cdc         | 21 ++++--
 lib/go/contracts/internal/assets/assets.go | 36 ++++-----
 7 files changed, 112 insertions(+), 154 deletions(-)

diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index ca9f244c..34e16c85 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -19,20 +19,14 @@ access(all) contract ExampleToken: ViewResolver {
     access(all) let VaultPublicPath: PublicPath
     access(all) let ReceiverPublicPath: PublicPath
 
-    /// Function to return the types that the contract implements
-    access(all) view fun getVaultTypes(): [Type] {
-        let typeArray: [Type] = [Type<@ExampleToken.Vault>()]
-        return typeArray
-    }
-
-    access(all) view fun getViews(): [Type] {
+    access(all) view fun getContractViews(): [Type] {
         let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
             ?? panic("Could not borrow a reference to the vault resolver")
         
         return vaultRef.getViews()
     }
 
-    access(all) fun resolveView(_ view: Type): AnyStruct? {
+    access(all) fun resolveContractView(_ view: Type): AnyStruct? {
         let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
             ?? panic("Could not borrow a reference to the vault resolver")
         
@@ -60,21 +54,6 @@ access(all) contract ExampleToken: ViewResolver {
         access(self) var publicPath: PublicPath
         access(self) var receiverPath: PublicPath
 
-        /// Returns the storage path where the vault should typically be stored
-        access(all) view fun getDefaultStoragePath(): StoragePath? {
-            return self.storagePath
-        }
-
-        /// Returns the public path where this vault should have a public capability
-        access(all) view fun getDefaultPublicPath(): PublicPath? {
-            return self.publicPath
-        }
-
-        /// Returns the public path where this vault's Receiver should have a public capability
-        access(all) view fun getDefaultReceiverPath(): PublicPath? {
-            return self.receiverPath
-        }
-
         access(all) view fun getViews(): [Type] {
             return [
                 Type<FungibleTokenMetadataViews.FTView>(),
@@ -84,6 +63,12 @@ access(all) contract ExampleToken: ViewResolver {
             ]
         }
 
+        /// Returns the FTVaultData view for this Vault, which contains
+        /// all relevant paths, types, and create vault function
+        access(all) view fun getFTVaultDataView(): AnyStruct {
+            return self.resolveView(Type<FungibleTokenMetadataViews.FTVaultData>())
+        }
+
         access(all) fun resolveView(_ view: Type): AnyStruct? {
             switch view {
                 case Type<FungibleTokenMetadataViews.FTView>():
@@ -116,10 +101,8 @@ access(all) contract ExampleToken: ViewResolver {
                         storagePath: self.storagePath,
                         receiverPath: self.receiverPath,
                         metadataPath: self.publicPath,
-                        providerPath: /private/exampleTokenVault,
                         receiverLinkedType: Type<&{FungibleToken.Receiver}>(),
                         metadataLinkedType: Type<&ExampleToken.Vault>(),
-                        providerLinkedType: Type<&ExampleToken.Vault>(),
                         createEmptyVaultFunction: (fun(): @{FungibleToken.Vault} {
                             return <-vaultRef.createEmptyVault()
                         })
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 8a150af3..dba9846e 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -147,18 +147,9 @@ access(all) contract FungibleToken {
             return self.getSupportedVaultTypes()[type] ?? false
         }
 
-        /// Returns the storage path where the vault should typically be stored
-        access(all) view fun getDefaultStoragePath(): StoragePath?
-
-        /// Returns the public path where this vault should have a public capability
-        access(all) view fun getDefaultPublicPath(): PublicPath?
-
-        /// Returns the public path where this vault's Receiver should have a public capability
-        /// Publishing a Receiver Capability at a different path enables alternate Receiver implementations to be used
-        /// in the same canonical namespace as the underlying Vault.
-        access(all) view fun getDefaultReceiverPath(): PublicPath? {
-            return nil
-        }
+        /// Returns the FTVaultData view for this Vault, which contains
+        /// all relevant paths, types, and create vault function
+        access(all) view fun getFTVaultDataView(): AnyStruct
 
         /// withdraw subtracts `amount` from the Vault's balance
         /// and returns a new Vault with the subtracted balance
diff --git a/contracts/FungibleTokenMetadataViews.cdc b/contracts/FungibleTokenMetadataViews.cdc
index 326d0314..f12eea18 100644
--- a/contracts/FungibleTokenMetadataViews.cdc
+++ b/contracts/FungibleTokenMetadataViews.cdc
@@ -121,10 +121,6 @@ access(all) contract FungibleTokenMetadataViews {
         /// Public path which must be linked to expose the balance and resolver public capabilities.
         access(all) let metadataPath: PublicPath
 
-        /// Private path which should be linked to expose the provider capability to withdraw funds 
-        /// from the vault.
-        access(all) let providerPath: PrivatePath
-
         /// Type that should be linked at the `receiverPath`. This is a restricted type requiring 
         /// the `FungibleToken.Receiver` interface.
         access(all) let receiverLinkedType: Type
@@ -133,10 +129,6 @@ access(all) contract FungibleTokenMetadataViews {
         /// the `ViewResolver.Resolver` interfaces.
         access(all) let metadataLinkedType: Type
 
-        /// Type that should be linked at the aforementioned private path. This 
-        /// is normally a restricted type with at a minimum the `FungibleToken.Provider` interface.
-        access(all) let providerLinkedType: Type
-
         /// Function that allows creation of an empty FT vault that is intended
         /// to store the funds.
         access(all) let createEmptyVault: fun(): @{FungibleToken.Vault}
@@ -145,24 +137,19 @@ access(all) contract FungibleTokenMetadataViews {
             storagePath: StoragePath,
             receiverPath: PublicPath,
             metadataPath: PublicPath,
-            providerPath: PrivatePath,
             receiverLinkedType: Type,
             metadataLinkedType: Type,
-            providerLinkedType: Type,
             createEmptyVaultFunction: fun(): @{FungibleToken.Vault}
         ) {
             pre {
                 receiverLinkedType.isSubtype(of: Type<&{FungibleToken.Receiver}>()): "Receiver public type must include FungibleToken.Receiver."
                 metadataLinkedType.isSubtype(of: Type<&{ViewResolver.Resolver}>()): "Metadata public type must include ViewResolver.Resolver interfaces."
-                providerLinkedType.isSubtype(of: Type<&{FungibleToken.Provider}>()): "Provider type must include FungibleToken.Provider interface."
             }
             self.storagePath = storagePath
             self.receiverPath = receiverPath
             self.metadataPath = metadataPath
-            self.providerPath = providerPath
             self.receiverLinkedType = receiverLinkedType
             self.metadataLinkedType = metadataLinkedType
-            self.providerLinkedType = providerLinkedType
             self.createEmptyVault = createEmptyVaultFunction
         }
     }
diff --git a/contracts/utility/MetadataViews.cdc b/contracts/utility/MetadataViews.cdc
index 9d11e73f..2a993c51 100644
--- a/contracts/utility/MetadataViews.cdc
+++ b/contracts/utility/MetadataViews.cdc
@@ -134,7 +134,7 @@ access(all) contract MetadataViews {
         ///
         access(all) let file: {File}
 
-        /// media-type comes on the form of type/subtype as described here
+        /// media-type comes on the form of type/subtype as described here 
         /// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types
         ///
         access(all) let mediaType: String
@@ -197,7 +197,7 @@ access(all) contract MetadataViews {
     }
 
     /// View to expose a URL to this item on an external site.
-    /// This can be used by applications like .find and Blocto to direct users
+    /// This can be used by applications like .find and Blocto to direct users 
     /// to the original link for an NFT or a project page that describes the NFT collection.
     /// eg https://www.my-nft-project.com/overview-of-nft-collection
     ///
@@ -223,27 +223,27 @@ access(all) contract MetadataViews {
         return nil
     }
 
-    /// View that defines the composable royalty standard that gives marketplaces a
+    /// View that defines the composable royalty standard that gives marketplaces a 
     /// unified interface to support NFT royalties.
     ///
     access(all) struct Royalty {
 
         /// Generic FungibleToken Receiver for the beneficiary of the royalty
         /// Can get the concrete type of the receiver with receiver.getType()
-        /// Recommendation - Users should create a new link for a FlowToken
-        /// receiver for this using `getRoyaltyReceiverPublicPath()`, and not
-        /// use the default FlowToken receiver. This will allow users to update
+        /// Recommendation - Users should create a new link for a FlowToken 
+        /// receiver for this using `getRoyaltyReceiverPublicPath()`, and not 
+        /// use the default FlowToken receiver. This will allow users to update 
         /// the capability in the future to use a more generic capability
         access(all) let receiver: Capability<&{FungibleToken.Receiver}>
 
-        /// Multiplier used to calculate the amount of sale value transferred to
-        /// royalty receiver. Note - It should be between 0.0 and 1.0
-        /// Ex - If the sale value is x and multiplier is 0.56 then the royalty
+        /// Multiplier used to calculate the amount of sale value transferred to 
+        /// royalty receiver. Note - It should be between 0.0 and 1.0 
+        /// Ex - If the sale value is x and multiplier is 0.56 then the royalty 
         /// value would be 0.56 * x.
         /// Generally percentage get represented in terms of basis points
-        /// in solidity based smart contracts while cadence offers `UFix64`
-        /// that already supports the basis points use case because its
-        /// operations are entirely deterministic integer operations and support
+        /// in solidity based smart contracts while cadence offers `UFix64` 
+        /// that already supports the basis points use case because its 
+        /// operations are entirely deterministic integer operations and support 
         /// up to 8 points of precision.
         access(all) let cut: UFix64
 
@@ -263,7 +263,7 @@ access(all) contract MetadataViews {
     }
 
     /// Wrapper view for multiple Royalty views.
-    /// Marketplaces can query this `Royalties` struct from NFTs
+    /// Marketplaces can query this `Royalties` struct from NFTs 
     /// and are expected to pay royalties based on these specifications.
     ///
     access(all) struct Royalties {
@@ -353,9 +353,9 @@ access(all) contract MetadataViews {
         view init(_ traits: [Trait]) {
             self.traits = traits
         }
-
+            
         /// Adds a single Trait to the Traits view
-        ///
+        /// 
         /// @param Trait: The trait struct to be added
         ///
         access(all) fun addTrait(_ t: Trait) {
@@ -377,8 +377,8 @@ access(all) contract MetadataViews {
         return nil
     }
 
-    /// Helper function to easily convert a dictionary to traits. For NFT
-    /// collections that do not need either of the optional values of a Trait,
+    /// Helper function to easily convert a dictionary to traits. For NFT 
+    /// collections that do not need either of the optional values of a Trait, 
     /// this method should suffice to give them an array of valid traits.
     ///
     /// @param dict: The dictionary to be converted to Traits
@@ -494,7 +494,7 @@ access(all) contract MetadataViews {
     }
 
     /// View to expose rarity information for a single rarity
-    /// Note that a rarity needs to have either score or description but it can
+    /// Note that a rarity needs to have either score or description but it can 
     /// have both
     ///
     access(all) struct Rarity {
@@ -534,8 +534,8 @@ access(all) contract MetadataViews {
         return nil
     }
 
-    /// NFTView wraps all Core views along `id` and `uuid` fields, and is used
-    /// to give a complete picture of an NFT. Most NFTs should implement this
+    /// NFTView wraps all Core views along `id` and `uuid` fields, and is used 
+    /// to give a complete picture of an NFT. Most NFTs should implement this 
     /// view.
     ///
     access(all) struct NFTView {
@@ -569,7 +569,7 @@ access(all) contract MetadataViews {
         }
     }
 
-    /// Helper to get an NFT view
+    /// Helper to get an NFT view 
     ///
     /// @param id: The NFT id
     /// @param viewResolver: A reference to the resolver resource
@@ -594,7 +594,7 @@ access(all) contract MetadataViews {
     }
 
     /// View to expose the information needed store and retrieve an NFT.
-    /// This can be used by applications to setup a NFT collection with proper
+    /// This can be used by applications to setup a NFT collection with proper 
     /// storage and public capabilities.
     ///
     access(all) struct NFTCollectionData {
@@ -605,10 +605,6 @@ access(all) contract MetadataViews {
         /// including standard NFT interfaces and metadataviews interfaces
         access(all) let publicPath: PublicPath
 
-        /// Private path which should be linked to expose the provider
-        /// capability to withdraw NFTs from the collection holding NFTs
-        access(all) let providerPath: PrivatePath
-
         /// Public collection type that is expected to provide sufficient read-only access to standard
         /// functions (deposit + getIDs + borrowNFT). For new
         /// collections, this may be set to be equal to the type specified in `publicLinkedType`.
@@ -619,10 +615,6 @@ access(all) contract MetadataViews {
         /// `NFT.Receiver`, and `ViewResolver.ResolverCollection` interfaces are required.
         access(all) let publicLinkedType: Type
 
-        /// Type that should be linked at the aforementioned private path. This is normally
-        /// a restricted type with at a minimum the `NFT.Provider` interface
-        access(all) let providerLinkedType: Type
-
         /// Function that allows creation of an empty NFT collection that is intended to store
         /// this NFT.
         access(all) let createEmptyCollection: fun(): @{NonFungibleToken.Collection}
@@ -630,22 +622,17 @@ access(all) contract MetadataViews {
         view init(
             storagePath: StoragePath,
             publicPath: PublicPath,
-            providerPath: PrivatePath,
             publicCollection: Type,
             publicLinkedType: Type,
-            providerLinkedType: Type,
             createEmptyCollectionFunction: fun(): @{NonFungibleToken.Collection}
         ) {
             pre {
                 publicLinkedType.isSubtype(of: Type<&{NonFungibleToken.Receiver, ViewResolver.ResolverCollection}>()): "Public type must include NonFungibleToken.Receiver and ViewResolver.ResolverCollection interfaces."
-                providerLinkedType.isSubtype(of: Type<&{NonFungibleToken.Provider, ViewResolver.ResolverCollection}>()): "Provider type must include NonFungibleToken.Provider and ViewResolver.ResolverCollection interface."
             }
             self.storagePath=storagePath
             self.publicPath=publicPath
-            self.providerPath = providerPath
             self.publicCollection=publicCollection
             self.publicLinkedType=publicLinkedType
-            self.providerLinkedType = providerLinkedType
             self.createEmptyCollection=createEmptyCollectionFunction
         }
     }
@@ -665,7 +652,7 @@ access(all) contract MetadataViews {
     }
 
     /// View to expose the information needed to showcase this NFT's
-    /// collection. This can be used by applications to give an overview and
+    /// collection. This can be used by applications to give an overview and 
     /// graphics of the NFT collection this NFT belongs to.
     ///
     access(all) struct NFTCollectionDisplay {
@@ -705,7 +692,7 @@ access(all) contract MetadataViews {
         }
     }
 
-    /// Helper to get NFTCollectionDisplay in a way that will return a typed
+    /// Helper to get NFTCollectionDisplay in a way that will return a typed 
     /// Optional
     ///
     /// @param viewResolver: A reference to the resolver resource
diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index 67049c63..60a0de6f 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -2,20 +2,17 @@
 
 ## The Flow Non-Fungible Token standard
 
-## `NonFungibleToken` contract interface
+## `NonFungibleToken` contract
 
 The interface that all Non-Fungible Token contracts should conform to.
-If a user wants to deploy a new NFT contract, their contract would need
-to implement the NonFungibleToken interface.
+If a user wants to deploy a new NFT contract, their contract should implement
+The types defined here
 
-Their contract must follow all the rules and naming
-that the interface specifies.
-
-## `NFT` resource
+## `NFT` resource interface
 
 The core resource type that represents an NFT in the smart contract.
 
-## `Collection` Resource
+## `Collection` Resource interface
 
 The resource that stores a user's NFT collection.
 It includes a few functions to allow the owner to easily
@@ -26,10 +23,8 @@ move tokens in and out of the collection.
 These interfaces declare functions with some pre and post conditions
 that require the Collection to follow certain naming and behavior standards.
 
-They are separate because it gives the user the ability to share a reference
-to their Collection that only exposes the fields and functions in one or more
-of the interfaces. It also gives users the ability to make custom resources
-that implement these interfaces to do various things with the tokens.
+They are separate because it gives developers the ability to define functions
+that can use any type that implements these interfaces
 
 By using resources and interfaces, users of NFT smart contracts can send
 and receive tokens peer-to-peer, without having to interact with a central ledger
@@ -43,8 +38,8 @@ Collection to complete the transfer.
 
 import ViewResolver from "ViewResolver"
 
-/// The main NFT contract interface. Other NFT contracts will
-/// import and implement this interface
+/// The main NFT contract. Other NFT contracts will
+/// import and implement the interfaces defined in this contract
 ///
 access(all) contract NonFungibleToken {
 
@@ -67,30 +62,44 @@ access(all) contract NonFungibleToken {
     access(all) event Updated(id: UInt64, uuid: UInt64, owner: Address?, type: String)
     access(all) view fun emitNFTUpdated(_ nftRef: auth(Updatable) &{NonFungibleToken.NFT})
     {
-        emit Updated(id: nftRef.getID(), uuid: nftRef.uuid, owner: nftRef.owner?.address, type: nftRef.getType().identifier)
+        emit Updated(id: nftRef.id, uuid: nftRef.uuid, owner: nftRef.owner?.address, type: nftRef.getType().identifier)
     }
 
 
     /// Event that is emitted when a token is withdrawn,
-    /// indicating the owner of the collection that it was withdrawn from.
+    /// indicating the type, id, uuid, the owner of the collection that it was withdrawn from,
+    /// and the UUID of the resource it was withdrawn from, usually a collection.
     ///
     /// If the collection is not in an account's storage, `from` will be `nil`.
     ///
-    access(all) event Withdraw(id: UInt64, uuid: UInt64, from: Address?, type: String)
+    access(all) event Withdraw(type: String, id: UInt64, uuid: UInt64, from: Address?, providerUUID: UInt64)
 
     /// Event that emitted when a token is deposited to a collection.
+    /// Indicates the type, id, uuid, the owner of the collection that it was deposited to,
+    /// and the UUID of the collection it was deposited to
     ///
-    /// It indicates the owner of the collection that it was deposited to.
+    /// If the collection is not in an account's storage, `from`, will be `nil`.
     ///
-    access(all) event Deposit(id: UInt64, uuid: UInt64, to: Address?, type: String)
+    access(all) event Deposit(type: String, id: UInt64, uuid: UInt64, to: Address?, collectionUUID: UInt64)
 
     /// Interface that the NFTs must conform to
     ///
     access(all) resource interface NFT: ViewResolver.Resolver {
-        /// The unique ID that each NFT has
-        access(all) view fun getID(): UInt64
 
-        // access(all) event ResourceDestroyed(uuid: UInt64 = self.uuid, type: self.getType().identifier)
+        /// unique ID for the NFT
+        access(all) let id: UInt64
+
+        /// Event that is emitted automatically every time a resource is destroyed
+        /// The type information is included in the metadata event so it is not needed as an argument
+        access(all) event ResourceDestroyed(id: UInt64 = self.id, uuid: UInt64 = self.uuid)
+
+        /// createEmptyCollection creates an empty Collection that is able to store the NFT
+        /// and returns it to the caller so that they can own NFTs
+        access(all) fun createEmptyCollection(): @{Collection} {
+            post {
+                result.getLength() == 0: "The created collection must be empty!"
+            }
+        }
 
         /// Get a reference to an NFT that this NFT owns
         /// Both arguments are optional to allow the NFT to choose
@@ -109,7 +118,7 @@ access(all) contract NonFungibleToken {
         }
     }
 
-    /// Interface to mediate withdraws from the Collection
+    /// Interface to mediate withdrawals from a resource, usually a Collection
     ///
     access(all) resource interface Provider {
 
@@ -120,8 +129,8 @@ access(all) contract NonFungibleToken {
         /// It does not specify whether the ID is UUID or not
         access(Withdrawable) fun withdraw(withdrawID: UInt64): @{NFT} {
             post {
-                result.getID() == withdrawID: "The ID of the withdrawn token must be the same as the requested ID"
-                emit Withdraw(id: result.getID(), uuid: result.uuid, from: self.owner?.address, type: result.getType().identifier)
+                result.id == withdrawID: "The ID of the withdrawn token must be the same as the requested ID"
+                emit Withdraw(type: result.getType().identifier, id: result.id, uuid: result.uuid, from: self.owner?.address, providerUUID: self.uuid)
             }
         }
     }
@@ -145,44 +154,36 @@ access(all) contract NonFungibleToken {
     /// Requirement for the concrete resource type
     /// to be declared in the implementing contract
     ///
-    access(all) resource interface Collection: Provider, Receiver, ViewResolver.ResolverCollection {
+    access(all) resource interface Collection: Provider, Receiver {
 
-        /// Return the default storage path for the collection
-        access(all) view fun getDefaultStoragePath(): StoragePath?
-
-        /// Return the default public path for the collection
-        access(all) view fun getDefaultPublicPath(): PublicPath?
+        /// Return the NFT CollectionData View
+        /// has to be AnyStruct and cast to the view later to avoid circular dependency issues
+        access(all) view fun getNFTCollectionDataView(): AnyStruct
 
         /// Normally we would require that the collection specify
         /// a specific dictionary to store the NFTs, but this isn't necessary any more
         /// as long as all the other functions are there
 
-        /// createEmptyCollection creates an empty Collection
-        /// and returns it to the caller so that they can own NFTs
-        access(all) fun createEmptyCollection(): @{Collection} {
-            post {
-                result.getLength() == 0: "The created collection must be empty!"
-            }
-        }
-
-        /// deposit takes a NFT and adds it to the collections dictionary
-        /// and adds the ID to the id array
+        /// deposit takes a NFT as an argument and stores it in the collection
         access(all) fun deposit(token: @{NonFungibleToken.NFT}) {
             pre {
                 // We emit the deposit event in the `Collection` interface
                 // because the `Collection` interface is almost always the final destination
                 // of tokens and deposit emissions from custom receivers could be confusing
                 // and hard to reconcile to event listeners
-                emit Deposit(id: token.getID(), uuid: token.uuid, to: self.owner?.address, type: token.getType().identifier)
+                emit Deposit(type: token.getType().identifier, id: token.id, uuid: token.uuid, to: self.owner?.address, collectionUUID: self.uuid)
             }
         }
 
         /// Gets the amount of NFTs stored in the collection
         access(all) view fun getLength(): Int
 
+        /// Borrows a reference to an NFT stored in the collection
+        /// If the NFT with the specified ID is not in the collection,
+        /// the function should return `nil` and not panic
         access(all) view fun borrowNFT(_ id: UInt64): &{NonFungibleToken.NFT}? {
             post {
-                (result == nil) || (result?.getID() == id): 
+                (result == nil) || (result?.id == id): 
                     "Cannot borrow NFT reference: The ID of the returned reference does not match the ID that was specified"
             }
             return nil
diff --git a/contracts/utility/ViewResolver.cdc b/contracts/utility/ViewResolver.cdc
index e1a02661..21efaed9 100644
--- a/contracts/utility/ViewResolver.cdc
+++ b/contracts/utility/ViewResolver.cdc
@@ -1,15 +1,16 @@
-// Taken from the NFT Metadata standard, this contract exposes an interface to let
+// Taken from the NFT Metadata standard, this contract exposes an interface to let 
 // anyone borrow a contract and resolve views on it.
 //
 // This will allow you to obtain information about a contract without necessarily knowing anything about it.
 // All you need is its address and name and you're good to go!
 access(all) contract interface ViewResolver {
+
     /// Function that returns all the Metadata Views implemented by the resolving contract
     ///
     /// @return An array of Types defining the implemented views. This value will be used by
     ///         developers to know which parameter to pass to the resolveView() method.
     ///
-    access(all) view fun getViews(): [Type] {
+    access(all) view fun getContractViews(): [Type] {
         return []
     }
 
@@ -18,18 +19,22 @@ access(all) contract interface ViewResolver {
     /// @param view: The Type of the desired view.
     /// @return A structure representing the requested view.
     ///
-    access(all) fun resolveView(_ view: Type): AnyStruct? {
+    access(all) fun resolveContractView(_ view: Type): AnyStruct? {
         return nil
     }
 
-    /// Provides access to a set of metadata views. A struct or
-    /// resource (e.g. an NFT) can implement this interface to provide access to
+    /// Provides access to a set of metadata views. A struct or 
+    /// resource (e.g. an NFT) can implement this interface to provide access to 
     /// the views that it supports.
     ///
     access(all) resource interface Resolver {
+
+        /// Same as getViews above, but on a specific NFT instead of a contract
         access(all) view fun getViews(): [Type] {
             return []
         }
+
+        /// Same as resolveView above, but on a specific NFT instead of a contract
         access(all) fun resolveView(_ view: Type): AnyStruct? {
             return nil
         }
@@ -41,6 +46,10 @@ access(all) contract interface ViewResolver {
         access(all) view fun borrowViewResolver(id: UInt64): &{Resolver}? {
             return nil
         }
-        access(all) view fun getIDs(): [UInt64]
+
+        access(all) view fun getIDs(): [UInt64] {
+            return []
+        }
     }
 }
+ 
\ No newline at end of file
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 35dbc6fa..a0f425c1 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,15 +1,15 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (11.72kB)
-// ../../../contracts/FungibleToken.cdc (9.007kB)
-// ../../../contracts/FungibleTokenMetadataViews.cdc (7.408kB)
+// ../../../contracts/ExampleToken.cdc (11.074kB)
+// ../../../contracts/FungibleToken.cdc (8.52kB)
+// ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
-// ../../../contracts/utility/MetadataViews.cdc (26.648kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (8.146kB)
+// ../../../contracts/utility/MetadataViews.cdc (25.867kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (8.514kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.699kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.29kB)
-// ../../../contracts/utility/ViewResolver.cdc (1.692kB)
+// ../../../contracts/utility/ViewResolver.cdc (1.913kB)
 
 package assets
 
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x3a\x5b\x73\xdb\x36\xd6\xef\xfe\x15\x27\xfa\x66\xfa\x49\x53\x47\x72\x7a\xc9\xb6\x1a\x3b\x6e\xda\xc6\xbb\x3b\xd3\xce\x64\x12\xb7\x7d\xc8\x64\x12\x88\x3c\x94\xb0\x21\x01\x0e\x00\x4a\x56\x3d\xfe\xef\x3b\x07\x00\x49\x80\x17\x59\x76\xf2\xb4\x7c\xb1\x45\xe2\x1c\x9c\xfb\x0d\xe0\x45\x29\x95\x81\xab\x4a\xac\xf9\x2a\xc7\x6b\xf9\x09\x05\x64\x4a\x16\x30\x89\xde\x4d\x4e\xfc\xca\xdf\xd1\xb0\x94\x19\xf6\x27\xc7\x9d\xf6\x2b\xa3\x77\xcd\xca\x08\x7e\x08\x6c\x7c\x41\x83\x83\x7e\xbd\x41\x2d\xf3\x2d\x2a\x0f\x15\xbe\x9a\x9c\x9c\xb0\x24\x41\xad\xa7\x2c\xcf\x67\x90\x48\x61\x14\x4b\x0c\xbc\xba\x61\x45\xe9\x11\x2f\x63\x24\xb7\x27\x27\x00\x00\x8b\xc5\x02\xae\x37\x08\xb8\x45\x61\xc0\x6c\x98\x01\xae\x01\x0b\x6e\x0c\xa6\xb0\xdb\xa0\x00\x81\x3b\x30\x84\x41\x03\x53\x08\x05\x17\x06\x53\x0b\x1c\xee\xe9\x10\xd8\x9d\xf4\xef\x76\xc9\x94\x15\xb2\x12\x66\x09\x7f\x5c\xf1\x9b\xe7\xdf\x9d\x82\xd9\x97\xb8\x84\xb7\x46\x71\xb1\x9e\x05\xdb\x4b\xc3\x72\xd0\x55\x59\xe6\x7b\x90\x59\x44\xb4\x06\x2e\x00\x6f\xb8\x36\x28\x12\xec\x6d\xba\x65\x0a\x0c\x81\xbf\xb5\xd0\xf5\x56\x2d\xee\x97\x69\xc1\x05\xbc\x66\x66\xd3\x83\xcd\xd1\xb8\xcf\x6f\x8d\x54\x6c\x8d\xb4\x88\xa8\x6b\x7e\xb4\x58\xfe\xd0\xa8\x2c\x12\x3d\x88\xe5\x4f\x56\xe5\x66\x14\xcb\x28\xc4\xeb\x6a\x95\xf3\xc4\x01\xb4\xff\x0f\xae\x7f\x83\x09\xf2\x2d\xaa\x11\x90\x86\xd0\xab\x4a\x24\x86\x4b\x01\x46\x82\x42\x53\x29\x01\x66\x83\x56\xf0\xda\x29\x97\x7e\x36\xe6\xc1\x49\xce\x05\x0a\xd3\xe7\x6b\xcb\x71\x07\x59\x25\x60\x8d\xc6\x52\x7b\x4d\x38\xa6\xb3\x25\xbc\xa3\xff\xde\xc3\xad\x05\xa1\x87\x08\xa4\x1d\x5e\x2a\xc5\xf6\xcd\xf7\x0b\xf7\xcf\xf9\x4f\xa1\x3a\xe7\x16\xd5\x8b\xe9\xec\x7d\x03\x5d\x93\x59\x23\xb0\x1f\xee\x4e\x0e\x13\x44\xbe\x31\x4a\xcb\x96\xf6\x78\x83\x19\x5c\x80\xc6\x3c\x9b\xb3\x24\x21\x3b\x9c\x27\xac\x64\x2b\x9e\x73\xc3\x51\xcf\x57\x52\x29\xb9\x3b\xff\x6a\x88\xba\x45\x69\x45\xbb\xc0\xe0\x9b\xfd\x34\x6b\xf6\xa1\xe7\xf2\x12\x4a\x26\x78\x32\x9d\xfc\x22\xab\x3c\x05\x21\x0d\x38\xb4\xc0\x40\x61\x86\x8a\x6c\x96\x54\x41\x42\xb7\x54\x81\xaa\x1d\xb6\x45\xd5\x95\x44\x4d\xfe\xbc\x65\x74\x4c\x26\x24\x0e\x8f\x91\x56\x4e\x3f\x58\x29\x2d\x81\xa4\x32\x5b\xc2\x4b\xb1\x7f\x6b\x54\x95\x98\xcb\xff\x51\x09\x85\xbc\x13\xe7\x91\xa0\xc8\x1f\x2c\x4d\xf5\xaf\xe6\xed\x2b\x96\x6c\xa0\x22\x9f\xd6\x46\x2a\xd4\xc0\x04\x70\xa1\x0d\x23\x62\x64\x06\x52\xe4\x7b\x4b\x91\x05\xa7\x08\x64\x36\xc8\xdd\x6a\xb6\xc6\x28\x6e\x66\xde\xe3\xb4\x5f\xe6\x61\x98\x48\x61\x2d\xb7\xa8\x04\xa6\xb0\x72\xd8\x4a\x85\xf6\x7d\x29\xb5\x21\x1f\x4c\xb9\x05\x6c\xd0\x71\xd1\x49\x3f\x36\xfa\x9a\x0d\xee\x6d\xdc\x4d\x58\x9e\x63\x3a\x8f\x76\x4f\x36\x98\x7c\xd2\xb0\x61\x65\x89\x02\x98\x01\x55\x09\xc3\x0b\xb4\xa0\x48\x61\x9e\x35\x14\x52\x5c\xef\xe0\x68\x70\x51\x56\xa8\x54\x82\xb4\x42\x38\xfe\x57\x08\x89\x42\x46\x59\xc0\x73\x46\x61\x03\x6f\x0c\x49\x28\x8a\x22\x75\x5c\xd9\x37\xe8\x88\xdc\x14\x33\x2e\x2c\xf0\x29\x68\xab\x60\x85\x44\x82\x90\xb0\x63\x7b\xc8\x24\xd1\x56\xb0\x9c\x27\x5c\x56\xda\xa9\xc3\x48\xbf\xa7\x93\x62\x2b\x1a\x59\xf9\x6d\xb9\x00\xc6\xd5\x1c\x5e\x82\x2e\x31\xe1\x2c\x07\x9b\x6b\x94\x35\x1b\xe2\x00\x04\x62\xaa\x09\xd3\xaa\xa5\xc1\x48\x9b\xb5\x1a\x74\x6d\x46\x8b\x45\x11\xfa\x56\x83\xd0\x92\xb2\x8c\x55\xe3\xfc\xa0\xce\xa1\xa1\x46\x6c\x36\x82\x15\xcb\x6b\x63\x32\x1b\xae\x9d\xc5\x36\x6b\xbb\x19\xcc\xaf\x8e\xb3\x57\xb0\x90\x7c\xd4\xad\xd4\x87\x92\xcc\x20\x44\x39\x9e\x64\x06\xd7\xab\x3a\xd3\x0c\xe6\x98\xd6\x5e\xc8\x11\xb5\xb5\x03\x4f\x13\x94\xcc\x6c\xc8\xee\x14\x06\xde\xac\x37\xd6\xf1\xcd\xbe\xe4\x64\x7b\xd6\xac\xac\xd3\xa5\xc3\xd2\x08\x82\xfc\xaf\x98\x75\xf2\x2a\x45\xfc\xe0\x67\x18\xd5\x82\xe8\x60\x23\x9a\x1e\x90\xcd\xdd\x38\x0f\x4e\x4a\x31\x0b\xb5\xda\x6a\x1e\x36\x6c\x8b\xc0\xea\xa5\x4d\xa8\xdc\x1f\xcb\x48\x2b\x4b\xe2\xa3\xfd\x75\x88\x8d\xb2\xaf\xb1\x47\x72\xf1\xff\xba\x29\x22\xbe\x14\x43\x6f\x02\x53\x39\x9e\xa5\xd0\xc0\x86\x98\x7a\x78\xce\x0f\x76\x78\x17\xbd\xa4\xc7\xd6\x20\xe3\x05\xf6\xfc\xea\x9a\xfe\xbe\x98\xce\x4e\x1f\x01\xfa\x2b\xd7\x65\xce\xf6\x8f\x84\xb6\x31\xe4\x57\x66\xd8\xa3\xe0\xaf\xdb\xb2\xf7\xc5\x34\x4e\xbb\xef\xef\x93\xeb\x63\xea\x06\x7a\xf4\x8e\x9b\x64\xe3\xd4\x72\xdb\xa3\x38\x61\x1a\x8f\x97\xf7\xb2\x07\x1f\xe8\xf1\x5e\x04\xd3\x41\x68\x7a\x32\xe3\xb5\xb2\xac\xed\xad\xe5\xf3\x21\x1a\x9d\x01\xd3\x4f\x0e\x13\xe2\x17\x5f\xf6\x95\xd7\x12\xd3\x28\xf9\x51\xe4\x84\x26\x72\x04\x41\xcd\xf2\xcb\x41\x8a\x66\x8f\x55\x59\x2b\x95\x61\xad\x51\x4d\x59\x60\xca\x19\x5c\xc4\x7d\xf1\xfc\x77\x7a\x3b\xae\x2c\x2b\x23\x9e\xe3\xb2\x03\xf6\xaf\xeb\xeb\xd7\x57\x3c\xc7\xc3\x90\x95\xca\x97\x30\xd9\x18\x53\xea\xe5\x62\xc1\xb4\x46\xa3\xe7\x3b\x5c\x69\x6e\xf0\x29\xa1\xd5\xf3\x44\x16\x8b\xef\xb3\xe7\xdf\xfc\xf8\x5d\x72\x96\xfc\x83\xfd\x90\xa4\xe9\xf3\xef\xbe\x5d\x3d\x4b\x7e\xf8\xe6\xac\xf3\x81\x7d\xff\x7d\xb2\x7a\x96\xfc\xf8\xed\xf3\x0f\x57\xb9\xdc\x7d\xf8\x4b\xaa\xb4\x60\xea\xd3\x5c\x6f\xd7\x93\x51\x3a\x06\x3c\xb7\x7e\xac\x44\xae\x6d\xcf\x3b\xe1\x05\x5b\xe3\x42\x6f\xd7\x5f\xdf\x14\xf9\x30\xb6\xbe\x76\x22\xd1\xea\x61\xd9\xea\xe9\x3b\xfb\xf9\xfd\x30\xf8\x31\xfe\xe4\xb5\x3b\x2e\x6b\xc1\x0a\xe2\xc1\x37\x02\x0d\x32\xd7\xec\x4f\xc6\x05\xa0\xf7\xc5\x4a\x92\x8a\x5e\x5d\x5d\x1f\x58\x96\xa2\x4e\x14\x2f\xa9\x46\x5d\xc2\xe4\x9a\x52\x56\x56\x6f\x61\xab\x34\x2a\x1b\x2b\x8d\x29\x30\x5b\xaa\xfb\xa6\x83\xaa\xba\x0d\xe6\x25\xec\x65\x05\x29\x6e\x31\x97\xf6\x7f\x05\x82\xaa\xd4\xab\x6b\xf8\x3f\x29\x48\x93\xf3\x03\x7b\xe3\x8d\x41\x25\x58\xfe\xc7\x9b\xdf\xba\x36\xf8\xaa\xfd\x34\x6d\x8c\xcc\xef\xfd\x34\x33\x73\x29\x32\x42\x2e\xd5\x7a\x72\xc0\x08\x72\xb9\x96\x7a\xe9\x55\x78\x40\x54\x92\x8a\x59\xbd\x1c\x08\xab\xe1\x33\x31\x3b\x6e\x0c\xaa\xc9\x51\xc4\xfa\xc5\xd6\x09\x88\xd6\x0f\xab\x5c\x26\x9f\x92\x0d\xe3\x62\x32\x6c\x2e\x60\x73\xc6\xd0\xdb\x47\xc7\x8e\x30\x84\x8d\x47\x8f\xa0\x23\x8d\xfa\xcd\xba\x33\xf5\xf5\xdc\xc1\xa6\x34\x53\xb2\x58\xf6\xca\xbf\x71\x46\x1f\xd6\x9d\xba\xaa\xd5\x11\x3a\x22\xbd\xa3\x92\x57\x2d\x8e\x71\x77\x8b\x8a\xfc\x2e\x3b\xe3\x26\x14\x57\xee\xbd\x5a\xeb\x50\x9c\x72\x24\x06\x80\x6d\xdd\x39\x0e\x56\x2a\xb9\xe5\x69\xbd\xdf\xa2\x54\x7c\xcb\x0c\xf6\x47\x02\xf7\x53\xfc\x1b\x17\x9f\x30\x75\x91\xd2\x1a\xd4\x57\xb7\x71\xb7\x55\x57\x9a\x77\x83\x95\x52\x97\x8f\x3e\xba\xc1\x11\xd4\xfd\x9c\x7d\x36\x22\xd7\xcc\xbe\x2a\x4a\xb3\xb7\x8b\xeb\xf1\xdc\x12\xa6\x59\x25\xa8\x98\xfd\xe9\x76\xa0\xaf\xbc\xbb\x27\x0a\x78\x3b\x3b\x7f\xda\x0c\x42\xba\x1b\x4d\x0f\xb8\xf7\xf0\xa7\x47\xfa\x77\x5c\x85\x3e\xb6\xa6\x0b\xb0\x8c\xbb\x45\x34\xe7\x8d\x14\x11\x7c\x39\x82\xb7\xbb\xa1\xc6\x41\xf0\x7c\xac\xc3\x5a\xa3\x21\xdc\x52\x19\x4c\xdb\x49\x28\x48\x9b\xb0\x6c\x4f\xab\x7c\x0f\xc6\x20\xe7\xda\x0e\x2a\x5c\xe3\x18\x8d\x5d\xb9\x6e\xec\xdd\xd6\xe2\xa5\x1f\x6f\xc0\x81\x9e\x67\x60\x5f\x32\x9a\x5b\x67\x92\x3f\x4b\x99\x77\x4d\x85\x62\xa9\xae\xa1\x2c\x40\x67\xf9\x05\xdc\xc6\x02\x88\x57\xbf\xb3\xee\xbf\x46\xbb\xd9\x74\xf6\x1e\x2e\xc0\xa8\x0a\x07\xbb\xb9\x08\xf0\xe8\x56\x8e\xeb\x3e\x57\x53\xd3\xf8\xd8\xcc\x11\x7a\xa0\x81\x1c\x93\xcb\x3b\x63\xfb\xc2\xcb\x4b\xc8\x58\xae\x71\x58\x9d\xc0\x05\x37\x9c\xe5\xfc\x6f\x37\xa5\xa8\x07\x35\xcc\xb4\x03\x1f\xeb\x4c\x76\x88\xce\x8b\x16\x0d\x01\x4e\x3b\x93\x9a\x59\xb7\x3f\x22\xfa\x6a\x94\x17\x35\xf2\x9e\x82\x78\x8a\xc2\xf0\x8c\xa3\x82\x0b\x98\xf4\x02\xe6\xa4\x8f\x33\x48\x00\x70\x11\xce\x40\xa6\x2d\xae\x65\x80\x77\xf6\xa4\x8f\xa3\x8d\xe9\x70\x11\xf4\xea\x0f\xc0\x10\xa6\x93\x71\x1c\x11\x43\x75\xe4\x9e\x04\xf8\x3a\xfe\xf5\x4f\x34\x91\x2a\xfc\x78\xf1\xc0\xc8\x2c\xf0\x90\x9f\x1d\x10\x79\x85\x53\xc9\x01\xc3\xe9\xaa\xa3\x43\xc7\x8e\x9b\x4d\xaa\xd8\x2e\x7c\x19\x2d\x68\x0f\x57\xac\x47\xb3\x4f\x6e\x72\xec\x4e\xb9\x7c\x6d\xca\xd4\xba\x2a\x50\x98\x08\x90\x89\xb4\xc1\xee\xe3\x81\x07\xb2\x27\x79\xcd\xd4\x78\x3e\xba\xf5\xbf\x8d\xcf\x25\x14\x64\xec\xf4\x12\x8b\x52\x2a\xa6\xf6\x7e\xde\x5c\x1f\xdc\xd9\x32\x99\x0a\x63\x99\xa7\x11\x06\x7b\x0c\xe4\x4e\xd4\x1c\x01\x0a\x61\x85\x5c\xac\xc1\x28\x26\x74\x86\x4a\x61\x3a\xa7\x8d\x54\x30\x51\x12\xb8\x0b\x62\x2a\xe1\xa9\x67\xc2\x7e\x5b\x19\x4d\x86\x2d\x66\x37\x63\x06\x2d\x81\x1b\x3b\x4e\xb6\x83\xd8\x52\x52\x57\x16\xd3\x84\xb9\x46\x3b\xa7\x1a\x66\xdc\xeb\x3c\x4e\x90\x7f\x79\x39\xb2\x55\x8e\x6e\x90\x51\x4b\xb6\x73\xdc\x48\xc9\xb5\x9f\xae\x0f\x3b\x6c\xf4\xf3\xa9\x57\xd2\x90\x3d\x9d\x3f\x0d\xe7\xd4\x6d\x58\x70\x10\xb3\x31\x13\xf3\x62\x78\x98\x85\x79\x51\xcb\xd5\x7f\x30\xe9\x9a\x99\x35\x2d\x96\xa6\x3a\x42\xc3\x8d\x6e\xbc\xc9\x6b\xa8\xe3\x5c\x72\x27\x50\xe9\x23\xac\x8e\x6b\x60\x79\x2e\x77\xce\xaa\x52\xd4\x46\x49\x77\x9a\xa1\x69\x7b\x47\xda\x0a\x13\x56\x69\x6c\x0d\x39\xf6\x2b\x22\x39\x30\x58\x32\x4d\x54\x35\x25\x7e\x0c\x6f\x67\xe7\x7f\xfa\x41\x65\x4d\xec\x86\xc5\x7c\xad\x10\x05\xd9\x9a\xae\x0a\x6a\x06\x45\xea\x4e\x15\x32\x69\x4f\x47\xbc\xa1\x59\x0a\xeb\x33\x8e\x11\x93\x6a\x86\x60\x5e\x21\xbe\x75\x18\x2e\xc6\xba\x41\xbe\x69\x57\xe0\xfc\xa9\x73\x60\xa6\x9f\x0c\xd9\xda\xd1\x96\xf6\xb5\xc3\xd7\x0b\x50\xf4\x44\x5f\xe0\x02\xce\xe6\x67\xd1\xf7\x5a\x25\x71\xb8\xec\xd8\x5d\xb7\x3c\x3c\xd2\x00\xe3\x90\xe3\x74\x4d\xde\x06\x2c\xb4\xa7\xbf\x51\xc9\x5e\xb8\xab\x83\x08\x6f\x63\x04\xcb\x73\x0a\x37\x3e\x56\xcc\xe1\xa5\x3b\xf3\x29\x2a\xed\x62\x86\xab\x91\xea\xd3\xaa\x1e\x46\xdb\x7f\x59\x4c\x0e\x77\x13\x83\xba\xc7\x73\xf4\x42\xaa\xd4\x1d\x27\x59\xe3\x75\xdf\x63\x8c\xae\xaf\xf4\xe7\x44\xcc\x8d\x1a\xea\x02\xad\x36\x0b\xdd\x9c\xdf\xb8\x31\x04\x15\x18\xc7\xd9\x55\xbf\x1e\x3f\x26\x1a\xdd\x13\x5c\xce\xe6\x67\x61\x64\x81\xf8\xa8\xd3\x9d\x83\x9d\xc0\xc8\xc9\x5e\x1d\x3f\x5c\x64\xb1\xec\x30\x7b\x37\xc2\x4b\xc2\x9d\xfc\x91\x6f\xd6\xa7\x65\x0f\x3b\x25\xf3\xc7\x70\xb7\x91\x94\x09\x8d\xbb\xc6\x71\xa4\xc5\x11\x80\x0e\x36\x3e\xb5\xc1\x8d\xf4\x57\xd4\x76\x64\x82\xdb\x22\xa7\xa3\x76\x17\x42\x74\x2d\xef\x28\x0d\xb6\xa4\x3f\x26\xaf\x8c\xb5\x27\xdd\xf1\x46\xf8\xe9\xeb\xa1\x7c\x83\x05\x1f\xb9\x54\xe3\xfe\xd6\x97\x6a\xe2\xb2\x7d\x1e\xd4\x71\x9f\x97\xbe\x3a\x46\x36\x18\x48\x42\x73\xfb\xac\x00\xf2\x65\x83\xc7\x97\x0d\x1c\x5f\x20\x68\x0c\xf9\xcf\xe3\x82\x45\xa3\x46\xb8\x27\x52\xdc\x0d\x5d\x0d\x22\xcd\xf8\xb4\xd1\x96\x17\xf5\xfd\x87\x53\xc0\x2c\xc3\xc4\xf0\x2d\xe6\x7b\x58\x55\x4a\xd8\x1a\xb1\xcd\xd4\x3d\x95\xff\x54\x32\xc5\x0a\x70\x29\xb4\x49\xe3\x41\x3b\x25\x85\x61\xbc\x83\xc6\xca\xb0\x52\xa2\x87\xed\x2f\x9e\xe7\xf6\x0c\xdf\x2a\x21\xa5\x34\x0f\x55\x99\x12\x93\x64\x0b\x81\xf3\x37\x20\x6f\x11\xa1\x1e\x79\xae\xb9\xd9\x54\x2b\x3b\xf1\x74\xf3\xd9\x45\x96\xf3\x52\x2f\xca\x2a\xcf\x17\xcf\xbe\x7d\x36\xa8\x00\x22\xc4\xfb\xba\x2f\x04\xfa\xd2\x0f\xab\x00\x9e\x59\x6e\x9b\xac\xfc\x82\x04\xfe\x05\x22\x80\x2b\x27\xe6\x61\x5b\xd3\x71\x45\x7a\xe2\x1a\x85\x68\x9f\x9e\x3f\x25\xc0\x48\xe5\xb6\x5d\x0d\x89\xb6\x11\x22\x26\xe4\xd9\xd9\x19\x95\x13\xf1\x92\xee\x95\x38\xb8\x80\x85\x77\x90\x68\xb6\xe7\x6e\xd6\x45\xbd\xf5\x2f\xce\x18\xdb\x5b\x30\xd6\xd7\xbb\x41\xdb\xfa\x87\xbf\x4e\x48\xee\xc9\xb6\x48\x9e\xce\x45\x74\xbf\xc6\xa1\x6c\xfe\x8d\x8a\xae\x61\xa3\xef\x32\x38\x8b\xf9\xea\x5e\xd2\x83\x0b\x5f\x5b\x8d\x5c\x35\x78\x32\x00\xfe\x3a\x6c\xa1\xbb\xd0\xe1\xf9\x7e\x07\xb8\x7f\x7d\x6f\x00\x3e\x3e\x4e\x7f\xd2\x51\x4b\x77\x10\x4e\x62\x9b\xfa\x09\xe0\x29\x18\xb9\x1c\xe6\x72\x36\xa4\xa0\x81\x33\xff\xce\x94\x3b\x68\x2a\xf1\xa6\x94\x1a\xc3\x04\x6e\x17\x7e\xf4\xe1\xee\x23\x14\x68\x36\xd2\x95\xe3\x6b\x34\x2f\xed\x68\xcb\x0f\x85\xea\x6f\x66\xa3\x64\xb5\x76\xa6\xf0\xb1\xe6\xf3\x23\xd8\x92\x21\x63\x49\xa8\xf1\xba\xac\x87\x8f\xa1\x1b\x7c\x1c\xc4\xe4\x3f\x0f\x23\x8a\x4c\x27\x34\xdc\x5f\x58\x79\xf0\xde\x5b\x2d\x61\xae\x75\x85\xe7\x5f\xf9\x29\xef\x88\x74\x07\x75\x14\xa1\xb3\xa2\xd6\x9b\x69\x87\x84\x53\x60\x66\x39\x68\x5a\xb3\x88\xf2\x7a\xe6\xf2\x40\xaa\xc7\x07\xe8\x9f\xcd\x48\x40\x51\xc0\x44\xdf\xc4\x03\xd3\x23\x46\x5c\xb5\xd9\x7a\xaf\x2b\x18\xa7\x23\x3b\x77\xcc\xdc\x02\x07\x66\xde\x0d\x52\x75\xe8\xbb\x3b\xf9\x6f\x00\x00\x00\xff\xff\x6f\x74\x46\x01\xc8\x2d\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\xdf\x73\xdb\x36\xf2\x7f\xcf\x5f\xb1\xd5\x77\xa6\x5f\x69\x6a\x4b\x4e\x7f\xe4\x5a\x8d\x1d\x37\x4d\xe3\xbb\x9b\x69\x67\x32\x89\xdb\x3e\x64\x32\x09\x44\x2e\x25\x5c\x40\x80\x03\x80\x96\x55\x4f\xfe\xf7\x9b\x05\x40\x12\xa0\x48\x59\x71\xf2\x74\x7c\xb1\x45\x60\x17\x8b\xfd\xf1\xc1\xee\x82\xbc\xac\x94\xb6\x70\x55\xcb\x35\x5f\x09\xbc\x56\x1f\x50\x42\xa1\x55\x09\x93\xe4\xdd\xe4\x51\x98\xf9\x3b\x5a\x96\x33\xcb\xfe\xe4\xb8\x35\x61\x66\xf2\xae\x9d\x99\xd0\x0f\x91\x8d\x4f\x68\x79\xd0\xaf\x57\x68\x94\xb8\x41\x1d\xa8\xe2\x57\x93\x47\x8f\x58\x96\xa1\x31\x53\x26\xc4\x0c\x32\x25\xad\x66\x99\x85\x17\xb7\xac\xac\x02\xe3\x65\xca\xe4\xee\xd1\x23\x00\x80\xc5\x62\x01\xd7\x1b\x04\xbc\x41\x69\xc1\x6e\x98\x05\x6e\x00\x4b\x6e\x2d\xe6\xb0\xdd\xa0\x04\x89\x5b\xb0\xc4\xc1\x00\xd3\x08\x25\x97\x16\x73\x47\x1c\xaf\xe9\x19\xb8\x95\xcc\xef\x6e\xca\x94\x95\xaa\x96\x76\x09\x7f\x5c\xf1\xdb\x27\xdf\x9f\x80\xdd\x55\xb8\x84\xd7\x56\x73\xb9\x9e\x45\xcb\x2b\xcb\x04\x98\xba\xaa\xc4\x0e\x54\x91\x08\x6d\x80\x4b\xc0\x5b\x6e\x2c\xca\x0c\xf7\x16\xbd\x61\x1a\x2c\x91\xbf\x76\xd4\xcd\x52\x1d\xef\x67\x79\xc9\x25\xbc\x64\x76\xb3\x47\x2b\xd0\xfa\xe1\xd7\x56\x69\xb6\x46\x9a\x44\xd2\xb5\x3f\x3a\x2e\x7f\x18\xd4\x8e\x89\x19\xe4\xf2\x27\xab\x85\x1d\xe5\x32\x4a\xf1\xb2\x5e\x09\x9e\x79\x82\xee\xff\xc1\xf9\xaf\x30\x43\x7e\x83\x7a\x84\x64\x5f\x2f\x1c\xb7\x50\xd4\x12\xd6\x68\x9f\x07\x67\x70\x0e\x35\x9d\x2d\xe1\xcd\xf5\xae\xc2\xb7\x70\xe7\xa8\xe8\xa1\x15\x6e\x48\xa2\x57\x58\xc0\x05\x18\x14\xc5\x9c\x65\x19\x19\x6f\x9e\xb1\x8a\xad\xb8\xe0\x96\xa3\x99\xaf\x94\xd6\x6a\x7b\xfe\x75\x6c\xa1\xb9\xdb\xcb\xd3\xe9\xa2\x72\xf2\x2c\x30\x1a\x73\x43\xb3\x76\x1d\x7a\x2e\x2f\xa1\x62\x92\x67\xd3\xc9\x73\x55\x8b\x1c\xa4\xb2\xe0\xd9\x02\x03\x8d\x05\x6a\x32\x34\x58\x05\x76\x83\x5e\x2a\xd0\x8d\x97\x77\xac\xda\x7f\x34\xda\x5a\xcb\x56\xfc\xf9\x1a\x9b\x8d\xba\x29\x1f\xf7\x75\x43\x6a\x09\x1c\x63\xd5\x4c\xdf\x39\xad\x2d\x81\xb4\x33\x5b\xc2\x33\xb9\x7b\x6d\x75\x9d\xd9\xcb\xff\x51\x4d\x85\xb9\x6e\xef\xb4\xf3\x44\x61\xe4\xf5\x4e\xa6\xe6\x57\xfb\xf6\x05\xcb\x36\x50\x53\x40\x18\xab\x34\x1a\x60\x12\xb8\x34\x96\x91\x30\xaa\x00\x25\xc5\xce\x49\xe4\xc8\x29\x7c\xed\x06\xb9\x9f\xcd\xd6\x98\x80\x4e\x51\xcb\xcc\x72\xe5\xa3\xbc\xa3\x61\x32\x87\xb5\xba\x41\x2d\x31\x87\x95\xe7\x56\x69\x74\xef\x2b\x65\x2c\xe1\x5b\xce\x1d\x61\xcb\x8e\xcb\x1e\x76\x3b\xe8\xb2\x1b\xdc\x39\xd0\xca\x98\x10\x98\xcf\x93\xd5\xb3\x0d\x66\x1f\x0c\x6c\x58\x55\xa1\x04\x66\x41\xd7\xd2\xf2\x12\x1d\x29\x12\x46\xb2\x56\x42\x02\xc5\x1e\x8f\x96\x17\x41\x6a\xad\x33\xa4\x19\xd2\xef\x7f\x85\x90\x69\x64\x04\xa1\x61\x67\x04\xc9\x78\x6b\x49\x43\xcd\x4f\x87\xd0\x0e\x71\x49\xcc\x96\x1d\x89\x9b\x63\xc1\xa5\x23\x3e\x01\xe3\x0c\xac\x91\x44\x90\x0a\xb6\x6c\x07\x85\x22\xd9\x4a\x26\x78\xc6\x55\x6d\xbc\x39\xac\x0a\x6b\x7a\x2d\x76\xaa\x51\x75\x58\x96\x4b\x60\x5c\xcf\xe1\x19\x98\x0a\x33\xce\x04\x38\xa0\xd6\xce\x6d\x68\x07\x20\x11\x73\x43\x9c\x56\x9d\x0c\x56\x39\xc8\x6f\xd9\x75\xc7\x41\xaa\x8a\x38\xc6\x5a\x86\x4e\x94\x65\x6a\x1a\x1f\x07\xcd\x01\x14\x5b\xc4\x41\x39\xac\x98\x68\x9c\xc9\x6e\xb8\xf1\x1e\xdb\xce\xed\xc3\x7f\x98\x9d\x42\x7f\x34\x91\x62\xd4\xcf\x34\x87\x10\x7a\x90\xa2\x1a\x47\xe8\xc1\xf9\xba\x81\xe9\x41\x80\x3e\x04\xd2\xe3\xe0\x1c\x85\xee\x9b\xe4\x25\x3d\x34\xf9\x7c\x3c\x7d\x98\x5f\x5d\xd3\xdf\xa7\xd3\xd9\xc9\x03\x48\x7f\xe5\xa6\x12\x6c\xf7\x40\x6a\x67\xe4\x5f\x99\x65\x0f\xa2\xbf\xee\x0e\xf5\xa7\xd3\x14\x17\xdf\xb6\xbf\x3e\xa6\x1e\xf4\xca\x69\xc9\xb8\xf8\x8a\xd6\x0f\x7a\x56\xda\x7b\x93\x7b\x7f\x02\xdb\x0d\xcf\x36\x2e\x0c\x19\x0f\x30\xd2\x06\xa0\x10\xa0\x51\xe0\x0d\x93\x16\x2a\x3a\xf5\x7d\xea\x62\x4e\x1c\x02\x85\x20\xf3\x80\xdb\xe0\xc3\xbd\x06\x8e\x04\x72\x88\x1b\x9f\x30\xc3\xd6\x76\x87\x4b\x0c\xd2\x9f\xa6\xf3\xd9\x90\x9a\x46\xce\xc1\xa3\xcf\x3f\x7a\xcc\x96\xdb\x6c\xe3\x37\x77\xb7\x67\xd8\x8c\x19\x3c\xde\x2d\x97\x7b\xf4\x91\x02\xee\x65\x30\x1d\xa4\xa6\xa7\xb0\xc1\x79\x97\x0f\x51\x63\xe7\xf8\x33\x60\xe6\xab\xc3\x82\x84\xc9\x97\xfb\x3e\xde\x09\xd3\xda\xe5\x41\xe2\x24\x56\xbd\x5f\xa0\x76\xfa\xe5\xa0\x44\xb3\x87\x9a\xac\xd3\xca\xb0\xd5\x28\x37\x2a\x31\xe7\x0c\x2e\xd2\xe2\x68\xfe\x3b\xbd\x1d\x37\x96\xd3\x11\x17\xb8\xec\x91\xfd\xeb\xfa\xfa\xe5\x15\x17\x78\x98\xb2\xd6\x62\x09\x93\x8d\xb5\x95\x59\x2e\x16\xcc\x18\xb4\x66\xbe\xc5\x95\xe1\x16\x4f\x89\xad\x99\x67\xaa\x5c\xfc\x50\x3c\xf9\xf6\xa7\xef\xb3\xb3\xec\x1f\xec\xc7\x2c\xcf\x9f\x7c\xff\xdd\xea\x71\xf6\xe3\xb7\x67\xbd\x01\xf6\xc3\x0f\xd9\xea\x71\xf6\xd3\x77\x4f\xde\x5d\x09\xb5\x7d\xf7\x97\xd2\x79\xc9\xf4\x87\xb9\xb9\x59\x4f\x46\xe5\x18\x00\xb8\xe6\x71\x1a\xb9\x76\x85\xcf\x84\x97\x6c\x8d\x0b\x73\xb3\xfe\xe6\xb6\x14\xc3\xdc\xf6\xad\x93\xa8\xd6\x0c\xeb\xd6\x4c\xdf\xb8\xe1\xb7\xc3\xe4\xc7\xc4\x53\xb0\xee\xb8\xae\x25\x2b\x69\x0f\x21\xa1\x6d\x99\xf9\x8a\x6f\x32\xae\x00\xb3\x2b\x57\x8a\x4c\xf4\xe2\xea\xfa\xc0\xb4\x1c\x4d\xa6\x79\x45\x58\xba\x84\xc9\x35\x21\x75\xd1\x2c\xe1\xb2\x0d\x4a\x7f\x6a\x83\x39\x30\x97\x72\x86\xe4\x99\xb2\x93\x0d\x8a\x0a\x76\xaa\x86\x1c\x6f\x50\x28\xf7\xbf\x06\x49\xd9\xd6\xd5\x35\xfc\x9f\x92\x64\xc9\xf9\x81\xb5\xf1\xd6\xa2\x96\x4c\xfc\xf1\xea\xb7\xbe\x0f\xbe\xe8\x86\xa6\xad\x93\x85\xb5\x4f\x0b\x3b\x57\xb2\x20\xe6\x4a\xaf\x27\x07\x9c\x40\xa8\xb5\x32\xcb\x60\xc2\x03\xaa\x52\x94\x94\x99\xe5\x00\xac\xc6\xcf\xc4\x6e\xa9\x3a\xd7\x93\xa3\x84\x0d\x93\x5d\x10\x90\xac\xef\x56\x42\x65\x1f\xb2\x0d\xe3\x72\x32\xec\x2e\xe0\xce\x8c\xa1\xb7\x0f\xc6\x8e\x18\xc2\xc6\xd1\x23\xaa\xac\x92\xba\xa9\xa9\xb0\x42\x02\x77\xb0\xb8\x2a\xb4\x2a\x03\xca\x46\xf9\xde\xf8\x46\x3f\xad\xca\x72\x25\x4f\xee\x05\x1d\xd1\xde\x51\x87\x57\xa3\x8e\xf1\x70\x4b\x92\xd5\xfe\x76\xc6\x5d\x28\xcd\x40\xc3\x61\xd3\xbd\x3a\x84\x53\x5e\xc4\x88\xb0\xcb\x7e\xef\x5f\xef\x37\x2e\x3f\x60\xee\x71\xce\xb9\xc3\xd7\x77\x69\xce\xdf\x74\x30\x3e\x0e\xa6\x83\x7d\x29\xf6\xd9\x0d\xd9\xfa\x00\x23\x9f\xa4\xbd\x28\x2b\xbb\x73\x93\xaf\x42\x9e\xb6\x84\x69\x51\x4b\xca\xbe\x7e\xbe\x1b\x28\x4a\x3e\xde\x13\x7a\xc1\xb8\xe7\xa7\x6d\x15\xdd\x5f\x68\x7a\x20\xa6\x86\x87\x1e\x18\x54\x69\x86\xfc\xd0\x44\x2a\xe2\x32\xee\x8b\x49\x87\x2d\x31\x44\x34\x72\xc4\xde\x3e\x0e\xa5\xb9\x92\x8b\xb1\x84\x7e\x8d\x96\x78\x2b\x6d\x31\x77\xca\x25\x9d\x18\x50\xee\x94\x60\x42\xec\x02\x0f\x03\x0c\x04\x37\xae\xca\xf5\x69\xb9\x4b\xd7\x9b\xda\x9a\x9b\xd6\x4d\x5d\x02\x5c\x59\x73\x6f\xba\x3e\xb0\x2e\x39\xcd\x9d\x77\xc9\x5f\x94\x12\x7d\x57\x21\x00\x33\x0d\x95\x23\xe8\x4d\xbf\x80\xbb\x54\x01\xe9\xec\x37\x2e\xe6\xd6\xe8\x16\x9b\xce\xde\xc2\x05\x58\x5d\xe3\x60\x65\x90\x10\xde\x97\xe7\xb7\xdb\xe2\x66\x7f\x57\x53\xdb\xc6\xd8\xcc\x0b\x7a\xa0\x18\x19\xd3\xcb\x1b\xeb\x6a\xd6\xcb\x4b\x28\x98\x30\x38\x6c\x4e\xe0\x92\x5b\xce\x04\xff\x1b\x1d\x94\x36\x55\x3e\xb3\x5d\xb7\xc0\x05\x13\x57\x12\x2c\x2f\x3b\x36\x44\x38\xed\x95\xf9\xb3\x7e\x51\x42\xf2\x35\x2c\x2f\x1a\xe6\x7b\x06\xe2\x39\x4a\xcb\x0b\x8e\x1a\x2e\x60\xb2\xd7\x80\x9b\xec\xf3\x8c\x50\x17\x2e\xe2\xae\xc1\xb4\xe3\xb5\x8c\xf8\xce\xbe\xda\xe7\xd1\x01\x29\x5c\x44\x5d\x81\x4f\xe0\x10\x63\xf8\x38\x8f\x64\x43\x0d\xe0\x4e\x22\x7e\xbd\xf8\xfa\x27\xda\xc4\x14\xa1\x37\x75\xa0\xdf\x12\x45\xc8\x2f\x9e\x88\xa2\xc2\x9b\xe4\x80\xe3\xf4\xcd\xd1\x93\x63\xcb\xed\x26\xd7\x6c\x1b\xbf\x4c\x26\x34\xe8\x1d\x22\x9a\x7d\xf0\x6d\x47\x7f\xbf\x10\x12\x42\xa6\xd7\x75\x89\xd2\xa6\xa5\xbc\xcc\x5b\xee\x01\x0f\x02\x91\xbb\x43\x69\x5b\x8e\xf3\xd1\xa5\xff\x6d\xc3\x59\x42\x20\xe3\x5a\x5f\x58\x56\x4a\x33\xbd\x0b\xcd\xca\xe6\xca\xc4\xe5\xa6\x94\x8d\x2a\x91\x27\x1c\xec\x06\x9b\xeb\x13\x2f\x80\x46\x58\x21\x97\x6b\xb0\x9a\x49\x53\xa0\xd6\x98\xcf\x69\x21\x1d\x35\x30\x24\x6e\x23\x4c\x25\x3e\x4d\x43\x31\x2c\xab\x92\xb6\xa2\xe3\xec\x1b\x94\x60\x14\x70\xeb\x7a\x91\xae\x8b\x57\x29\x2a\x85\x52\x99\x50\x18\xdc\x6e\x50\xe3\xf0\xc6\x83\xcd\xd3\x03\xf2\xaf\xa0\x47\xb6\x12\xe8\xbb\x07\x8d\x66\x7b\x17\x3d\x74\xb8\xee\x1f\xd7\x87\x03\x36\xf9\x79\x1a\x8c\x34\xe4\x4f\xe7\xa7\x71\x93\xb3\x83\x05\x4f\x31\xd8\xf4\xa0\x0d\x07\x35\x7c\x9a\x87\x05\x55\xab\xd5\x7f\x30\xeb\xbb\x99\x73\x2d\x96\xe7\x69\xeb\x88\x5b\xd3\x46\x53\xb0\x50\x2f\xb8\xd4\x56\xa2\x36\x47\x78\x1d\x37\xc0\x84\x50\x5b\xef\x55\x39\x1a\xab\x95\x6f\x85\x1b\x5a\xde\x8b\xb6\xc2\x8c\xd5\x06\x3b\x47\x4e\xe3\x8a\x44\x8e\x1c\x96\x5c\x13\x75\x23\x49\xe8\xe1\xba\xc6\xab\xa3\xfd\xff\x4e\xf6\x0d\x4b\xf7\xb5\x42\x94\xe4\x6b\xa6\x2e\xa9\x02\x93\xb9\x6f\x49\x17\xca\xb5\xd6\x83\xa3\x39\x09\x9b\x06\xf9\x88\x4b\xb5\x9d\xa7\x60\x90\x90\xaf\x0f\x27\x63\x7d\x90\x6f\x6b\x04\x38\x3f\xf5\x01\xcc\xcc\x57\x43\xbe\x76\xb4\xa7\x7d\xe3\xf9\xed\x01\x14\x3d\xc9\x08\x5c\xc0\xd9\xfc\x2c\x19\x6f\x4c\x92\xc2\x65\xcf\xef\xfa\xe9\xe1\x91\x0e\x98\x42\x8e\xb7\x35\x45\x1b\xb0\xd8\x9f\xfe\x46\xad\xf6\xe0\xae\x01\x11\xde\x61\x04\x13\x82\xe0\x26\x60\xc5\x1c\x9e\xf9\x0b\x83\xb2\x36\x1e\x33\x7c\x8e\xb4\xd7\xca\x6c\x38\xba\xa2\xc7\x71\xf2\xbc\x5b\x0c\xea\xdf\xed\xd0\x0b\xa5\x73\x7f\x17\xe1\x9c\xd7\x8f\xa7\x1c\x7d\x31\x17\x2e\x19\x98\xaf\xef\x9b\x04\xad\x71\x0b\xd3\x36\xff\x7d\xed\x4f\x09\xc6\x71\x7e\xb5\x9f\x8f\x1f\x83\x46\xf7\x80\xcb\xd9\xfc\x2c\x46\x16\x48\xef\xc9\xfc\x25\x4a\x72\x17\x12\x5f\x0b\x35\xf8\xe1\x91\xc5\x6d\x87\xb9\x5b\xe9\xa0\x09\x7f\x6d\x44\xb1\xd9\x5c\xb5\x7c\xda\x15\x4b\xb8\xc3\xb9\x4b\xb4\x4c\x6c\xfc\x05\xfa\x91\x1e\x47\x04\x26\x5a\xf8\xc4\x81\x1b\xd9\xaf\x6c\xfc\xc8\x46\xf7\xf4\x27\xa3\x7e\x17\x53\xf4\x3d\xef\x28\x0b\x76\xa2\x3f\xe4\x5c\x19\x2b\x4f\xfa\x3d\x85\x78\xe8\x9b\xa1\xf3\x06\x4b\x3e\xf2\x39\x83\xff\xdb\x7c\xce\x90\xa6\xed\xf3\x28\x8f\xfb\xbc\xe3\xab\xe7\x64\x83\x40\x12\xbb\xdb\x67\x01\xc8\x97\x05\x8f\x2f\x0b\x1c\x5f\x00\x34\x86\xe2\xe7\x61\x60\xd1\x9a\x11\xee\x41\x8a\xc8\x74\xa9\x65\xc2\xb1\xd1\xa5\x17\xcd\xe5\xf9\x09\x60\x51\x60\x66\xf9\x0d\x8a\x1d\xac\x6a\x2d\x5d\x8e\xd8\x9d\xd4\x7b\x26\xff\xb9\x62\x9a\x95\xe0\x8f\xd0\xf6\x18\x8f\xca\x29\x7f\xbb\x95\xb2\x71\x3a\xac\xb5\xdc\xe3\xf6\x17\x17\xc2\x5d\x00\x3b\x23\xe4\x74\xcc\x43\x5d\xe5\xb4\x49\xf2\x85\x28\xf8\x5b\x92\xd7\x88\xd0\xf4\x19\xd7\xdc\x6e\xea\x95\x6b\x33\xfa\xa6\xe8\xa2\x10\xbc\x32\x8b\xaa\x16\x62\xf1\xf8\xbb\xc7\x83\x06\x20\x41\x42\xac\x87\x44\x60\x5f\xfb\x71\x16\xc0\x0b\xb7\xdb\xf6\x54\x7e\x4a\x0a\xff\x02\x08\xe0\xd3\x89\x79\x5c\xd6\xf4\x42\x91\x9e\x34\x47\x21\xd9\xa7\xe7\xa7\x44\x98\x98\xdc\x95\xab\xb1\xd0\x0e\x21\x52\x41\x1e\x9f\x9d\x51\x3a\x91\x4e\xe9\x7f\x8c\x04\x17\xb0\x08\x01\x92\x7c\x2b\xe2\xbf\x69\x4a\x6a\xeb\xe7\xde\x19\xbb\x4f\x28\x5c\xac\xf7\x41\xdb\xc5\x47\xf8\x90\x8b\xc2\x93\xdd\x20\x45\x3a\x97\xc9\xc7\x19\x9e\x65\xfb\x6f\x92\x74\x0d\x3b\x7d\x7f\x83\xb3\x74\x5f\xfd\xcf\xa3\xe0\x22\xe4\x56\x6b\xb4\xbf\x62\xd1\x1b\x9d\x46\xf5\x6a\x47\xfe\x32\x2e\xa1\xfb\xd4\x51\x39\xdc\x27\xde\xff\x70\x6a\x80\xfe\x55\x54\x5d\x13\x87\x94\x45\xbf\xfb\x4c\x6a\x9b\x86\x0e\xe0\x09\x58\xb5\x1c\xde\xe5\x6c\xc8\x40\x2c\x7c\x52\x00\xed\xc7\x42\xbb\x5e\x6b\x39\x2a\x2a\xf1\xb6\x52\x06\xe3\x03\xdc\x4d\x7c\x1f\xe0\xee\x3d\x94\x68\x37\xca\xa7\xe3\x6b\xb4\xcf\x5c\x6b\x2b\x34\x85\x9a\x31\xbb\xd1\xaa\x5e\x7b\x57\x78\xdf\xec\xf3\x3d\xb8\x94\xa1\x60\x59\x6c\xf1\x26\xad\x87\xf7\x71\x18\xbc\x1f\xe4\x14\x86\x87\x19\x25\xae\x13\x3b\xee\x73\x56\x1d\xfc\x68\xaa\xd1\x30\x37\xa6\xc6\xf3\xaf\x43\x97\x77\x44\xbb\x83\x36\x4a\xd8\x39\x55\x9b\xcd\xb4\x27\xc2\x09\x30\xbb\x1c\x74\xad\x59\x22\x79\xd3\x73\xf9\x44\xa9\xc7\xfb\xde\x9f\xbd\x91\x48\xa2\x68\x13\xfb\x2e\x1e\xb9\x1e\x6d\xc4\x67\x9b\x5d\xf4\xfa\x84\x71\x3a\xb2\x72\xcf\xcd\x1d\x71\xe4\xe6\x7d\x90\x6a\xa0\xef\xe3\xa3\xff\x06\x00\x00\xff\xff\x57\x3f\xfd\xc7\x42\x2b\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,11 +95,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfc, 0xad, 0xcc, 0x9b, 0x62, 0x90, 0x88, 0x29, 0x8f, 0x6d, 0x6c, 0xc2, 0xc4, 0x51, 0xe8, 0x9e, 0x16, 0x71, 0xd8, 0x7e, 0x97, 0x7c, 0xfe, 0x9c, 0x5, 0xb9, 0x58, 0x5a, 0xda, 0x74, 0x6e, 0xb6}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x17, 0xe7, 0xea, 0x93, 0x60, 0xd5, 0x16, 0xc7, 0x3d, 0xac, 0xfb, 0x2d, 0x32, 0xcc, 0x60, 0xf5, 0xa1, 0x6a, 0x71, 0xbc, 0xc7, 0x9f, 0xc8, 0xba, 0x30, 0x20, 0xa7, 0xe2, 0xd7, 0x56, 0x77, 0x64}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\x4d\x93\xdb\xb8\xd1\xbe\xf3\x57\x74\x79\x0f\x3b\xf2\x2b\x6b\xf6\xf0\x56\x0e\x53\xb1\xbd\xfe\x9a\x2d\x5f\x52\x2e\xcf\xd8\x3e\x24\xa9\x08\x22\x9b\x22\xd6\x20\xc0\x05\x40\xc9\xca\xd4\xfc\xf7\x54\x37\x00\x7e\x89\x9a\x91\x9d\xda\x43\x7c\xf1\x88\x04\xba\x1b\xfd\xf1\xf4\xd3\xe0\xe5\xd3\xa7\x59\xf6\x13\xdc\x56\x08\xd7\xca\xec\xe1\xba\xd5\x5b\xb9\x51\x08\xb7\xe6\x2b\x6a\x70\x5e\xe8\x42\xd8\x22\xcb\x7e\xfa\x09\xd6\xe9\x25\xbf\x5b\x43\x6e\xb4\xb7\x22\xf7\x59\xc6\xdb\xe7\x77\x82\x74\xa0\x0d\x28\xa3\xb7\x68\x41\x68\x90\xda\xa3\x2d\x45\x8e\x99\xaf\x84\x07\xa1\x14\x94\x69\xab\xe7\xad\x49\xae\x83\xbd\x69\x55\x01\x95\xd8\xd1\x2b\x7a\x5e\x1a\x5b\x83\x37\xab\x2c\x7b\x5f\x82\x80\xd6\xa1\x75\xb0\x17\xda\x3b\x5a\x50\x60\xa3\xcc\x01\x04\x68\xdc\x4f\x64\x2d\xc1\x57\x28\x6d\x6f\x73\x61\x90\x0c\xf3\xa0\x11\x0b\xda\x2c\xeb\x46\x61\x8d\xda\xd3\x4a\x18\x1d\xb5\xb7\x79\x09\x9b\xd6\x47\x51\xac\xc0\x65\x85\x39\x21\xa2\xdb\xe4\xa0\xc0\x52\x6a\x2c\x40\x6a\xf0\x95\x74\x9d\x15\xab\xe0\xd7\xcf\xa2\x55\x7e\x0d\x16\x9d\x69\x6d\x3e\xd8\x99\x65\xef\x44\x5e\x4d\xfd\xd3\xad\xf3\x87\x06\x59\xb9\x3b\xd6\x7e\x5a\x68\x54\xfa\xc1\x9a\x9d\x2c\xd0\xae\x97\xb0\xfe\x88\x39\xca\x1d\xff\x2d\x74\x01\xeb\xd7\x42\x09\x9d\xe3\xdc\x6e\xc7\xd1\x76\x93\xe3\xe5\x4a\x58\x84\xc6\xe2\xb3\xdc\xe8\x42\x7a\x69\xb4\x63\x51\x8d\x71\x7e\xf8\x8c\x63\x6e\xd1\x79\x2b\x73\x9f\x91\xa1\xf8\x0d\xf3\x96\x5e\x82\x29\xd9\xf2\xb2\xd5\x79\x58\xcc\xee\x42\xe0\x93\xac\x58\xef\x01\x48\x8f\xc3\x46\x58\xe1\x11\x36\x98\x8b\x96\x6c\xf1\xb0\x95\x3b\x74\xbc\x9c\x92\x82\xff\x10\x1b\xa9\xa4\x3f\x90\x6f\x5c\x25\x2c\x66\x02\x2c\x96\x68\x51\xe7\x9c\x4f\x21\x8c\x2c\x3d\xd8\x65\xb4\x3a\x00\x7e\x6b\x8c\x8b\xa2\x4a\x89\xaa\x70\xbd\x45\x99\xd4\x60\x34\x82\xb1\x50\x1b\x8b\xc9\xe2\xde\x15\x94\x98\x94\xd3\xce\x44\x83\x42\x86\x4e\xac\xa9\xc5\x57\x84\xbc\x75\xde\xd4\x9d\x87\xa3\x6b\xba\x20\x92\x6f\xc6\x5e\xa6\x04\x37\xb0\x13\x56\x9a\x96\x56\x4b\xbd\x75\xb0\x97\xbe\x62\xf1\x21\x1b\x57\xd9\xb5\xb1\x80\xdf\x04\x89\x59\x82\x80\x52\xb4\x39\x7a\xc8\x85\x86\x0d\xf6\xd2\xb1\x80\xcd\x21\x15\x94\xd4\xdb\x2c\xb8\x03\x52\x52\x8c\xb2\xe5\xe9\x65\x96\xc9\xba\x31\xd6\xc3\x67\x89\xfb\x8f\xe8\x8c\xda\xa1\x85\xd2\x9a\x1a\x9e\x0c\x1f\x3d\xc9\xb2\xcb\xcb\xcb\x71\xf1\xd0\x93\xd1\xd3\x08\x10\x9d\x2d\x22\x66\x8b\xc5\x01\x50\x58\xfc\xa3\x95\x76\xae\xac\xc6\xc5\xc0\x92\x7b\x63\xe1\x0b\x82\xf3\x52\xa9\x00\x1a\xd2\x83\x70\x23\xd0\x81\x0a\x6d\x9f\x37\x9e\x7f\x71\x4a\x99\x9a\x33\xa7\x6c\x15\x8b\x6c\x7d\x88\x56\x8d\xbe\x32\x45\x0c\x4e\x2d\xf4\x01\x1a\x6b\x7e\x47\x06\x27\x52\x13\x94\x11\x02\x91\xa5\xac\xd4\xe8\x09\xd6\xb8\x25\x8b\x8c\xc8\x11\x52\x78\x73\xa0\xc3\xd6\x28\xb4\xeb\xce\xba\x62\x30\x0c\x69\xd0\x3f\xa5\xbf\xf9\x59\x17\xe5\x70\xe6\xe4\x14\x37\x2a\xf7\x1e\x3a\x44\x9e\xa3\x73\x17\x42\xa9\x45\x67\xc9\x04\xd6\xee\xb2\x0c\x00\xe0\xf2\x12\x5e\x69\x40\xed\xa5\x8f\x7e\x2e\x8d\x25\x5b\xcc\x5e\xea\x2d\x8b\xa7\x34\x2b\xac\xd8\x0b\xc5\x39\xcf\xb9\x16\xe2\x2f\x42\x01\xb1\xa0\xa1\xca\xa1\xb8\x2f\x69\xf7\x46\x61\x52\x79\xc9\x3d\x07\x77\x21\xac\xe1\xc8\x58\x4b\x4f\xa9\xb9\xaf\x50\x27\x25\xe4\xac\xa4\x5d\x3f\xa2\x72\x37\x54\x76\x21\x6a\xd3\x6a\x7f\x05\x9f\xae\xe5\xb7\xbf\xfc\xff\x92\xd1\xf2\x0a\x6e\xbc\x95\x7a\xbb\x64\x49\x57\xf0\xaa\x28\x2c\x3a\xf7\x32\xfc\xfe\xf4\xe9\xfd\xdb\x2b\xf8\xf4\x5e\x7b\x5a\xdf\x69\x1d\x3e\x5e\xfc\x88\xfd\x05\x36\xc6\x49\x1f\xb2\xf9\x61\xeb\xdf\x86\xa5\x8f\x18\xef\xcd\xd0\x74\x6f\xc6\x86\x77\xea\x4e\x18\xfe\xee\x01\xa3\x2b\x84\xad\x32\x1b\xa1\x60\xd3\x5a\x1d\xd3\x9f\x96\xe5\x42\x29\x5a\x45\x78\x23\x40\x1b\xfd\xec\xdf\x68\x0d\x6c\x42\xa7\x38\x71\x9a\xd7\xad\xd5\x67\xc4\xe1\x84\x9d\xaf\x07\xb2\x09\x44\x86\x8e\xef\x0b\x9a\xcf\xd1\x04\xdc\x72\x3d\xed\xe8\x30\xfb\x1f\xdd\x3e\xca\xea\x2d\x7a\x4f\x49\x1d\xed\x06\xc9\x08\xc8\x10\x34\xd2\x33\x3c\xcb\x71\x13\x4c\xa6\xc1\x1d\x2f\x4e\x0a\x7e\xc3\x50\xa5\x49\x78\x6c\x0f\xbb\x2e\xde\x53\xc9\x3b\x89\x7b\xb2\x94\xcc\x8a\x22\x2f\x16\xc9\x53\xbc\xe3\xbe\x77\x47\xc2\xe6\x73\xfc\x81\x74\xac\x3c\x76\xb1\x88\x24\x01\x2c\xc8\x09\x29\xb3\x09\xf8\x93\x90\x61\x4d\x73\x4f\x4b\xf8\xc2\x10\x70\x68\x70\x75\xa4\xf7\xbd\x87\x8e\x45\x45\x85\x63\x5d\x46\xc3\x7a\x93\xa8\x04\x41\xed\xb2\xdb\x3b\xe8\xdc\x0a\x05\x75\x4a\xd3\xc4\xfc\x6b\x8c\x73\x32\x36\x4b\x53\x42\x6e\x51\xb0\x11\xb1\x61\xc6\x50\x5b\xd7\x9b\x4e\x27\x26\x1a\xc6\x6c\x8e\xbc\x2b\xac\x54\x87\x48\xcb\x18\x8a\xcd\x5e\xa7\xa8\xac\xbe\x27\xce\x5d\x3f\x8c\x50\x99\x54\x26\x0f\x82\x6b\x37\x91\xab\x3e\xe8\xc0\x24\x7a\x24\x84\xf8\x91\x45\xdf\x5a\x82\x89\xc8\x43\xba\x7e\x6e\xb1\x36\x3b\x46\x8c\xd0\xd7\x07\x1b\x47\x42\x6e\x07\x8c\xe9\x67\x17\xcf\x03\x0a\x77\xa8\xa8\x6c\xd7\xf1\x80\x43\x08\x5e\xac\x47\x12\x6e\x0c\x11\x2d\x63\xe9\x98\x84\x4f\x41\x82\xf4\x4b\xa6\x3a\x81\x82\xa3\xa4\x56\xd9\x79\x14\xcc\x86\x7a\x20\x48\xef\x50\x95\x23\x69\x86\x49\x7e\x44\xff\x62\x40\xb8\xf8\x64\xeb\xa1\x1d\xeb\xf9\x53\xcd\x59\xcc\x45\xb2\x9f\x47\xf6\xc5\x15\xfc\x7a\xc7\xde\xbb\x1f\xd4\x23\xfd\x23\xf2\x39\x79\x14\xfb\xdd\xda\xa2\x8b\xf4\xb8\x64\x82\x66\xa2\xd3\x29\x1a\xb0\x13\xaa\xc5\xa3\x6d\x61\xcb\x6a\x58\xaa\xf0\xfc\x39\x44\x63\x8e\x96\xd3\xbf\x27\x5f\xfa\xbe\x19\xd6\x41\xdd\x3a\x4f\x54\x8c\xd4\x39\x51\x23\x11\x94\x19\xcc\xe8\x5b\x1e\x9f\xec\xc9\x91\x78\x82\xed\xe3\x5e\x17\xfe\x4f\x18\x4b\xc1\x21\x7b\x6f\x0f\x0d\x5e\x2c\x56\xb2\xa0\xb0\x94\x12\x6d\x6a\x7f\xbc\xc0\xec\x35\xda\x97\x2b\x11\xfa\xc9\x10\x91\xf9\x75\xdb\xca\xe2\xa8\x19\x46\x5f\xd0\xbb\xc5\xc8\xb4\xfb\x6c\xfc\xd7\x00\xbf\xd2\x90\xf1\xdf\xe3\x57\x6c\x70\x33\xf0\x25\x75\x8c\xe4\x19\xf0\xf5\x05\x13\x68\x48\x9d\xab\xb6\x40\x10\xd0\x4d\x2a\xc1\x8c\xbc\xc2\xfc\xeb\x38\x3e\x11\xb8\x3a\x29\x7b\xec\xd8\x1f\x31\xfe\x73\x08\x7f\x70\x43\x60\x75\x9d\x1c\x62\xe8\x85\x49\x8b\xe6\xd9\xfd\x12\x94\xfc\x8a\xe0\x1a\x25\xb9\xd1\xd4\xd0\x36\x84\x22\x9d\x10\x87\xba\x08\x2f\x68\x58\x90\x25\xd7\x9e\x87\x46\x85\xd9\x04\xce\x07\xbe\x14\xac\x29\xf0\x45\xd7\x83\x17\x5f\xb1\x47\x2d\x42\xb2\xf8\x86\x90\xe3\x44\x18\x46\x73\xeb\x43\xa5\xcf\x46\x51\xc5\x47\x99\x17\x21\x5b\x53\x95\x2f\xc6\x26\x6d\xd1\xdf\xb4\x0d\x8d\x27\x58\xf0\x02\x4a\x77\xea\x27\x14\x47\xa1\xd4\x61\x00\xb2\x4a\x3a\x4f\x25\xb6\x0b\x43\x1f\x2f\x8c\xe4\x9a\x29\x77\x3c\x34\xd9\xd1\x78\xf7\x68\xcf\x9e\xd1\x4b\xfd\xfb\xee\x96\xcb\xef\xb5\x31\xea\x7e\x6c\xeb\xc7\x68\xc9\xbe\x42\x06\x54\x63\x39\x01\x99\x76\xc9\x1d\x35\x40\x1a\xe9\xa5\x8b\x16\x84\x31\x8d\xde\x8e\x8a\x27\x49\x7b\x95\xce\xc1\xb9\x2a\x74\xdc\x05\x34\xa6\xb0\x20\x57\x31\x7a\xff\x4e\x98\x13\xb1\xcd\xdb\x96\xa7\x8f\x02\xcb\xc7\x69\x89\x74\xc7\x27\xbc\x08\xd8\x42\x7f\x2e\xc2\x19\xa7\x85\xde\xf3\xdb\x11\x5b\x28\x90\x82\xb1\x0c\xae\xee\x33\x2d\x34\x18\x1e\x99\xfb\x0b\x9e\xee\xbc\xcb\x44\xb5\x96\x70\x6b\x85\x76\x25\x5a\x63\x97\x5d\x5f\x0e\xf7\x15\x69\xfc\xec\xd9\x45\xdb\xf3\x5b\xf2\xaf\x4b\xa7\x80\x03\xfa\xef\x29\x03\x3e\xca\xd5\xc0\x9a\x5e\x71\x67\xd7\x70\x00\x5e\x75\xc3\xf1\xa4\x6e\xae\x25\xaa\x22\xa6\x9a\x15\x53\x50\x31\x25\x88\x87\x68\xa2\xb0\x69\x69\x47\x0e\xff\x4c\xe2\xf9\x3f\x54\x5e\x93\xf6\x4e\x53\x03\x2a\xb3\x0f\xc8\x4d\xe1\x1f\x5e\x79\x24\x24\x76\xad\x8d\x7d\xc6\xb6\xfa\x99\x97\x75\xbc\x4a\xe3\x54\x9c\xca\xe3\x4b\xa1\x2d\xa6\x02\x1a\x4e\x4a\x8d\x60\x78\xed\xf2\x26\xe6\x6f\xc4\xed\xf1\x75\xe9\x2a\x0c\xe8\x2b\x18\xc9\x97\xe5\x51\x93\x76\x37\xed\x86\xac\xb9\x30\x65\xa8\xb2\xbf\xfe\x7a\x37\x23\xe9\xfe\xc5\xc5\x62\x31\x43\x6e\x62\x99\xdf\x8d\xc5\x5e\x71\xdd\xdf\x8f\x5b\x35\xa0\x72\x38\xcf\x8f\x02\x4e\x31\x93\xab\x1b\x7f\x80\x42\x32\xc1\x14\xf6\x90\xf8\x4a\xc4\x8f\xc0\x95\xb8\x2b\x77\x6e\xd8\x57\x06\x0a\xa3\x7f\xf6\x73\x92\xfb\xcb\x9c\x59\xff\x2c\xc1\xb5\x79\x45\x4a\xc6\xaf\x6f\xf6\xd2\xe7\xd5\xc6\x08\x5b\xac\x97\xb0\xe6\x67\xd7\xc6\xee\x05\xd1\xd6\x35\xa0\xcf\x57\x27\x5d\x71\x7f\x92\xa1\x8c\x12\xfd\x4d\x68\xf6\xb2\x9c\x81\xe3\x1e\x40\x18\x8f\xa5\x1b\x80\xdc\xc9\x0c\x3e\x0f\x3d\x27\x01\x88\x46\xa7\xf0\xcd\x96\xc0\xdf\x49\xc8\x3f\xe1\xe5\x4b\x28\x85\x72\x78\xea\x40\xa9\xd9\x30\xd5\xf4\xc6\x8a\x2d\xa5\xac\xaf\x28\x81\x2d\xf6\x08\x91\xda\x84\x3f\x34\x32\xe7\x8a\xde\x84\x0d\x58\x3c\x5a\xa2\x6f\x43\x1a\xdc\x04\xf1\x1f\x84\xaf\x28\xd9\x06\x3f\x5f\x9e\xb6\xa9\x69\x37\x4a\xe6\x63\x93\xa4\x1b\xdb\xc4\x37\x6a\x22\x2d\xcd\x45\x13\x59\xd5\xb9\x86\x7d\xe0\x8d\xc9\xae\xfe\xd7\x0f\x9a\xf5\xb3\xeb\x99\xd1\xb9\x16\xf2\xec\x4e\x6f\x1d\x91\x3a\x10\xbd\x84\x37\xdd\x62\x10\x1e\xc4\x90\xb1\x91\x72\xd4\x34\xfb\x38\x10\xca\xa3\xd5\xc2\x0f\x58\xd9\xf4\xf2\xd4\x1b\x8a\x59\xeb\x06\x11\x0b\x17\xa3\xfd\x9c\x91\x0b\x6d\x34\xc5\x17\xb4\xa8\xd1\x35\xd4\xde\x62\x2d\xb7\xba\x40\xab\x0e\x64\x5d\xbc\x6b\x3f\xd3\xbb\xc9\x9e\x19\xff\xce\xa7\xb5\x96\xea\x54\xb6\xce\x8c\xd4\xeb\x30\xce\xac\xfb\xa1\xfa\x73\x0c\xc2\xf0\xda\x09\x66\xc7\x69\x8d\xfb\xe9\x48\x9d\x04\x53\x15\x1f\xef\xff\x33\xe6\x4f\x3b\x07\xaf\xa9\xb4\xfb\x29\xf2\xc5\x23\x53\xe4\xab\x30\x3a\xf6\x33\x61\x1a\x22\x15\x4d\xea\xbe\x12\x34\xbe\x03\xfe\xd1\x0a\x15\x7e\xcd\x70\x81\x99\x31\xf2\xfe\xcc\x61\x39\xde\x94\x83\x6b\x30\x97\x42\x75\xd7\x0d\xb0\xde\x60\x69\x2c\xae\x79\xf8\x89\x14\x24\xf4\x83\xa8\xb4\xbf\xfd\xe1\x2f\x29\x73\xc2\xe3\xc5\xf6\x06\xb7\x52\x6b\xca\xc0\xc9\x57\xa0\xfe\xfb\xd0\xcc\xee\x33\x7c\xfb\xfc\x39\x04\x2b\x2f\x8e\xde\x2d\xe0\xd9\xc3\x7e\xff\x5b\x97\x43\xc9\x99\xc3\xe9\x3d\x55\x6b\xef\xe3\xc6\xe2\x8e\x3f\xce\xa4\xe5\x22\x8c\x63\xd3\x69\x3e\xbd\x3f\x15\x8e\xfb\x73\x67\x2e\x51\x14\x34\x6f\xf5\x0a\xe3\xd8\x35\x8a\xfd\x51\xb3\xfa\x9e\x89\x6b\x8e\x79\x4c\x69\x07\x4d\x22\xce\xa1\xf5\xfd\x77\x8a\xdc\xe8\xdc\xa2\x8f\xbc\x2a\xba\xa7\xbf\x06\x0f\x10\x2f\x5d\x87\x4e\x53\x79\x11\x98\x06\xe3\x4d\x37\x13\xa5\x4f\x12\x51\xda\x19\x05\x47\x67\x59\x49\xf7\x5e\x3b\xcf\x81\x1f\x53\xa3\xc5\x15\xcc\x47\xff\x8d\xd0\x34\x3b\x24\xef\xf3\x57\xa4\xdc\xd4\x8d\xf0\x83\x6f\xb1\x74\xbe\x13\x97\x33\xd3\xab\x7c\x36\x63\x98\x7f\xe9\x9a\x26\xbd\x98\xb9\xa6\xf1\xe6\xc4\x25\x4d\xba\xf3\x1f\x5c\xd1\x4c\xae\xfd\x59\xea\x43\x17\x34\x70\xba\xe8\xbf\xb3\x8c\xfe\x2f\xbd\x3b\x3a\xe2\xe2\x87\x2a\xcb\xb5\xf5\xa3\x25\xd5\x27\xd3\x83\xc8\x36\x29\x25\xbe\x4c\xc6\x77\xc4\x69\x63\x15\x29\x65\xf6\x8e\x27\xe6\xf0\xdd\xd8\xc4\x35\xa3\x16\xc2\x19\x58\x09\x2a\xbe\xa3\xaf\x1e\xf0\x48\x45\x4d\x55\x5e\x7c\xf7\x7d\xe5\x89\x8b\xc7\x5f\x56\xbf\x5c\xc1\x93\xdb\x0a\xc9\x50\x75\x88\x8a\xa2\x3f\x82\x3f\x99\x9b\x0c\x2d\x3e\xed\x26\x18\xcf\xf0\xbf\x85\x8f\x40\xf1\xfb\x0f\xd1\x8b\x30\x0f\x1c\x26\x9f\x10\xe7\xbf\x65\xd1\xb9\x69\xc3\xc5\xbf\x42\x09\x9f\x83\x24\x32\x8e\x8d\xab\x14\xe9\x17\x74\xc2\x89\x3b\xb8\xb0\x46\x5f\x95\x46\x7b\x52\x45\x85\x87\xa7\x6f\x3e\x43\x85\x84\x55\xe3\x12\xe9\x5d\x52\xa0\xf3\xd6\x1c\x06\x43\xf4\x7d\x76\xff\x9f\x00\x00\x00\xff\xff\x01\x9a\xa6\x18\x2f\x23\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\xcd\x72\xdc\xb8\x11\xbe\xf3\x29\xba\xbc\x87\xd5\x38\xe3\xd1\x1e\x52\x39\xa8\x62\x7b\xed\xb5\xb5\xe5\x4b\x2a\x65\xc9\xeb\x43\x92\xca\x60\xc8\xe6\x10\x6b\x10\xe0\x02\xe0\xd0\x13\x95\xde\x3d\xd5\x0d\x80\x7f\xc3\x91\xe4\x4d\xed\x21\xbe\x78\x44\x02\x8d\xfe\xfd\xfa\x6b\xf0\xf2\xf9\xf3\x2c\xfb\x0e\x6e\x2b\x84\x6b\x65\x3a\xb8\x6e\xf5\x5e\xee\x14\xc2\xad\xf9\x82\x1a\x9c\x17\xba\x10\xb6\xc8\xb2\xef\xbe\x83\x6d\x7a\xc9\xef\xb6\x90\x1b\xed\xad\xc8\x7d\x96\xf1\xf6\xe5\x9d\x20\x1d\x68\x03\xca\xe8\x3d\x5a\x10\x1a\xa4\xf6\x68\x4b\x91\x63\xe6\x2b\xe1\x41\x28\x05\x65\xda\xea\x79\x6b\x92\xeb\xa0\x33\xad\x2a\xa0\x12\x07\x7a\x45\xcf\x4b\x63\x6b\xf0\x66\x93\x65\x1f\x4a\x10\xd0\x3a\xb4\x0e\x3a\xa1\xbd\xa3\x05\x05\x36\xca\x1c\x41\x80\xc6\x6e\x26\x6b\x0d\xbe\x42\x69\x07\x9d\x0b\x83\xa4\x98\x07\x8d\x58\xd0\x66\x59\x37\x0a\x6b\xd4\x9e\x56\xc2\xc4\xd4\x41\xe7\x35\xec\x5a\x1f\x45\xf1\x01\x2e\x2b\xcc\x19\x11\xfd\x26\x07\x05\x96\x52\x63\x01\x52\x83\xaf\xa4\xeb\xb5\xd8\x04\xbf\xfe\x22\x5a\xe5\xb7\x60\xd1\x99\xd6\xe6\xa3\x9d\x59\xf6\x5e\xe4\xd5\xdc\x3f\xfd\x3a\x7f\x6c\x90\x0f\x77\xa7\xa7\x9f\x17\x1a\x0f\xfd\xbb\x35\x07\x59\xa0\xdd\xae\x61\xfb\x11\x73\x94\x07\xfe\x2d\x74\x01\xdb\xb7\x42\x09\x9d\xe3\xd2\x6e\xc7\xd1\x76\x33\xf3\x72\x25\x2c\x42\x63\xf1\x45\x6e\x74\x21\xbd\x34\xda\xb1\xa8\xc6\x38\x3f\x7e\xc6\x31\xb7\xe8\xbc\x95\xb9\xcf\x48\x51\xfc\x8a\x79\x4b\x2f\xc1\x94\xac\x79\xd9\xea\x3c\x2c\x66\x77\x21\xb0\x25\x1b\x3e\xf7\x08\x74\x8e\xc3\x46\x58\xe1\x11\x76\x98\x8b\x96\x74\xf1\xb0\x97\x07\x74\xbc\x9c\x92\x82\x7f\x88\x9d\x54\xd2\x1f\xc9\x37\xae\x12\x16\x33\x01\x16\x4b\xb4\xa8\x73\xce\xa7\x10\x46\x96\x1e\xf4\x32\x5a\x1d\x01\xbf\x36\xc6\x45\x51\xa5\x44\x55\xb8\x41\xa3\x4c\x6a\x30\x1a\xc1\x58\xa8\x8d\xc5\xa4\xf1\xe0\x0a\x4a\x4c\xca\x69\x67\xa2\x42\x21\x43\x67\xda\xd4\xe2\x0b\x42\xde\x3a\x6f\xea\xde\xc3\xd1\x35\x7d\x10\xc9\x37\x53\x2f\x53\x82\x1b\x38\x08\x2b\x4d\x4b\xab\xa5\xde\x3b\xe8\xa4\xaf\x58\x7c\xc8\xc6\x4d\x76\x6d\x2c\xe0\x57\x41\x62\xd6\x20\xa0\x14\x6d\x8e\x1e\x72\xa1\x61\x87\x83\x74\x2c\x60\x77\x4c\x05\x25\xf5\x3e\x0b\xee\x80\x94\x14\x93\x6c\x79\x7e\x99\x65\xb2\x6e\x8c\xf5\xf0\x8b\xc4\xee\x23\x3a\xa3\x0e\x68\xa1\xb4\xa6\x86\x67\xe3\x47\xcf\xb2\xec\xf2\xf2\x72\x5a\x3c\xf4\x64\xf2\x34\x02\x44\xaf\x8b\x88\xd9\x62\x71\x04\x14\x16\x7f\x6b\xa5\x5d\x2a\xab\x69\x31\xb0\xe4\x41\x59\xf8\x8c\xe0\xbc\x54\x2a\x80\x86\xf4\x20\xdc\x04\x74\xa0\x42\x3b\xe4\x8d\xe7\xbf\x38\xa5\x4c\xcd\x99\x53\xb6\x8a\x45\xb6\x3e\x44\xab\x46\x5f\x99\x22\x06\xa7\x16\xfa\x08\x8d\x35\xbf\x22\x83\x13\x1d\x13\x0e\x23\x04\x22\x4d\xf9\x50\xa3\x67\x58\xe3\xd6\x2c\x32\x22\x47\x48\xe1\xdd\x91\x8c\xad\x51\x68\xd7\xdb\xba\x61\x30\x0c\x69\x30\x3c\xa5\xdf\xfc\xac\x8f\x72\xb0\x39\x39\xc5\x4d\xca\x7d\x80\x0e\x91\xe7\xe8\xdc\x85\x50\x6a\xd5\x6b\x32\x83\xb5\xbb\x2c\x03\x00\xb8\xbc\x84\x37\x1a\x50\x7b\xe9\xa3\x9f\x4b\x63\x49\x17\xd3\x49\xbd\x67\xf1\x94\x66\x85\x15\x9d\x50\x9c\xf3\x9c\x6b\x21\xfe\x22\x14\x10\x0b\x1a\x1f\x39\x16\xf7\x39\xed\xde\x29\x4c\x47\x5e\x72\xcf\xc1\x43\x08\x6b\x30\x19\x6b\xe9\x29\x35\xbb\x0a\x75\x3a\x84\x9c\x95\x4e\xd7\x8f\x1c\x79\x18\x1f\x76\x21\x6a\xd3\x6a\x7f\x05\x9f\xae\xe5\xd7\xbf\xfc\x79\xcd\x68\x79\x05\x37\xde\x4a\xbd\x5f\xb3\xa4\x2b\x78\x53\x14\x16\x9d\x7b\x1d\xfe\xfe\xf4\xe9\xc3\xbb\x2b\xf8\xf4\x41\x7b\x5a\xdf\x9f\x3a\x7e\xbc\xfa\x3d\xfa\x17\xd8\x18\x27\x7d\xc8\xe6\x87\xb5\x7f\x17\x96\x3e\xa2\xbc\x37\x63\xd5\xbd\x99\x2a\xde\x1f\x77\x46\xf1\xf7\x0f\x28\x5d\x21\xec\x95\xd9\x09\x05\xbb\xd6\xea\x98\xfe\xb4\x2c\x17\x4a\xd1\x2a\xc2\x1b\x01\xda\xe8\x17\xff\x41\x6b\x60\x17\x3a\xc5\x19\x6b\xde\xb6\x56\x3f\x21\x0e\x67\xf4\x7c\x3b\x92\x4d\x20\x32\x76\xfc\x50\xd0\x6c\x47\x13\x70\xcb\x0d\xb4\xa3\xc7\xec\x7f\xf6\xfb\x28\xab\xf7\xe8\x3d\x25\x75\xd4\x1b\x24\x23\x20\x43\xd0\xe4\x9c\xb1\x2d\xa7\x4d\x30\xa9\x06\x77\xbc\x38\x1d\xf0\x33\x86\x2a\x4d\xc2\x63\x7b\x38\xf4\xf1\x9e\x4b\x3e\x48\xec\x48\x53\x52\x2b\x8a\xbc\x58\x25\x4f\xf1\x8e\xfb\xc1\x1d\x09\x9b\x9f\xe2\x0f\x24\xb3\xf2\xd8\xc5\x22\x92\x04\xb0\x20\x27\xa4\xcc\x26\xe0\x4f\x42\xc6\x35\xcd\x3d\x2d\xe1\x0b\x43\xc0\xb1\xc1\xcd\xc9\xb9\x1f\x3c\xf4\x2c\x2a\x1e\x38\x3d\xcb\x68\xd8\xee\x12\x95\x20\xa8\x5d\xf7\x7b\x47\x9d\x5b\xa1\xa0\x4e\x69\x9a\x98\x7f\x8d\x71\x4e\xc6\x66\x69\x4a\xc8\x2d\x0a\x56\x22\x36\xcc\x18\x6a\xeb\x06\xd5\xc9\x62\xa2\x61\xcc\xe6\xc8\xbb\xc2\x4a\x75\x8c\xb4\x8c\xa1\xd8\x74\x3a\x45\x65\xf3\x2d\x71\xee\xfb\x61\x84\xca\x74\x64\xf2\x20\xb8\x76\x17\xb9\xea\x83\x0e\x4c\xa2\x27\x42\x88\x1f\x59\xf4\xad\x25\x98\x88\x3c\xa4\xef\xe7\x16\x6b\x73\x60\xc4\x08\x7d\x7d\xb4\x71\x22\xe4\x76\xc4\x98\xbe\x77\xd1\x1e\x50\x78\x40\x45\x65\xbb\x8d\x06\x8e\x21\x78\xb5\x9d\x48\xb8\x31\x44\xb4\x8c\x25\x33\x09\x9f\x82\x04\xe9\xd7\x4c\x75\x02\x05\x47\x49\xad\xb2\xf7\x28\x98\x1d\xf5\x40\x90\xde\xa1\x2a\x27\xd2\x0c\x93\xfc\x88\xfe\xc5\x88\x70\xb1\x65\xdb\xb1\x1e\xdb\x65\xab\x96\x34\xe6\x22\xe9\x96\x91\x7d\x75\x05\x3f\xde\xb1\xf7\xee\x47\xf5\x48\xff\x88\x7c\xce\x1e\xc5\x7e\xb7\xb5\xe8\x22\x3d\x2e\x99\xa0\x99\xe8\x74\x8a\x06\x1c\x84\x6a\xf1\x64\x5b\xd8\xb2\x19\x97\x2a\xbc\x7c\x09\x51\x99\x93\xe5\xf4\xef\xd9\xe7\xa1\x6f\x86\x75\x50\xb7\xce\x13\x15\xa3\xe3\x9c\xa8\x91\x08\xca\x02\x66\x0c\x2d\x8f\x2d\x7b\x76\x22\x9e\x60\xfb\xb4\xd7\x85\xff\x13\xc6\x52\x70\x48\xdf\xdb\x63\x83\x17\xab\x8d\x2c\x28\x2c\xa5\x44\x9b\xda\x1f\x2f\x30\x9d\x46\xfb\x7a\x23\x42\x3f\x19\x23\x32\xbf\x6e\x5b\x59\x9c\x34\xc3\xe8\x0b\x7a\xb7\x9a\xa8\x76\x9f\x4d\x7f\x8d\xf0\x2b\x0d\x19\xff\x3b\x7e\xc5\x06\xb7\x00\x5f\x52\xc7\x48\x3e\x01\xbe\x3e\x63\x02\x0d\xa9\x73\xd5\x16\x08\x02\xfa\x49\x25\xa8\x91\x57\x98\x7f\x99\xc6\x27\x02\x57\x2f\xa5\xc3\x9e\xfd\x11\xe3\x7f\x0a\xe1\x0f\x6e\x08\xac\xae\x97\x43\x0c\xbd\x30\x69\xd1\x32\xbb\x5f\x83\x92\x5f\x10\x5c\xa3\x24\x37\x9a\x1a\xda\x86\x50\xa4\x17\xe2\x50\x17\xe1\x05\x0d\x0b\xb2\xe4\xda\xf3\xd0\xa8\x30\x9b\xc0\xd3\x81\x2f\x05\x6b\x0e\x7c\xd1\xf5\xe0\xc5\x17\x1c\x50\x8b\x90\x2c\xbe\x21\xe4\x38\x13\x86\xc9\xdc\xfa\x50\xe9\xb3\x52\x54\xf1\x51\xe6\x45\xc8\xd6\x54\xe5\xab\xa9\x4a\x7b\xf4\x37\x6d\x43\xe3\x09\x16\xbc\x80\xd2\x9d\xfa\x09\xc5\x51\x28\x75\x1c\x81\xac\x92\xce\x53\x89\x1d\xc2\xd0\xc7\x0b\x23\xb9\x66\xca\x1d\x8d\x26\x3d\x1a\xef\x1e\xed\xd9\x0b\xe7\x52\xff\xbe\xbb\xe5\xf2\x7b\x6b\x8c\xba\x9f\xea\xfa\x31\x6a\xd2\x55\xc8\x80\x6a\x2c\x27\x20\xd3\x2e\x79\xa0\x06\x48\x23\xbd\x74\x51\x83\x30\xa6\xd1\xdb\x49\xf1\x24\x69\x6f\x92\x1d\x9c\xab\x42\xc7\x5d\x40\x63\x0a\x0b\x72\x15\xa3\xf7\xaf\x84\x39\x11\xdb\xbc\x6d\x79\xfa\x28\xb0\x7c\x9c\x96\x48\x77\x6a\xe1\x45\xc0\x16\xfa\xb9\x0a\x36\xce\x0b\x7d\xe0\xb7\x13\xb6\x50\x20\x05\x63\x1d\x5c\x3d\x64\x5a\x68\x30\x3c\x32\x0f\x17\x3c\xbd\xbd\xeb\x44\xb5\xd6\x70\x6b\x85\x76\x25\x5a\x63\xd7\x7d\x5f\x0e\xf7\x15\x69\xfc\x1c\xd8\x45\x3b\xf0\x5b\xf2\xaf\x4b\x56\xc0\x11\xfd\xb7\x94\x01\x9b\x72\x35\xd2\x66\x38\xb8\xd7\x6b\x3c\x00\x6f\xfa\xe1\x78\x56\x37\xd7\x12\x55\x11\x53\xcd\x8a\x39\xa8\x98\x12\xc4\x43\x34\x51\xd8\xb4\xb4\x27\x87\x7f\x24\xf1\xfc\x3f\x2a\xaf\x59\x7b\xa7\xa9\x01\x95\xe9\x02\x72\x53\xf8\xc7\x57\x1e\x09\x89\x5d\x6b\x63\x9f\xb1\xad\x7e\xe1\x65\x1d\xaf\xd2\x38\x15\xe7\xf2\xf8\x52\x68\x8f\xa9\x80\xc6\x93\x52\x23\x18\x5e\xfb\xbc\x89\xf9\x1b\x71\x7b\x7a\x5d\xba\x09\x03\xfa\x06\x26\xf2\x65\x79\xd2\xa4\xdd\x4d\xbb\x23\x6d\x2e\x4c\x19\xaa\xec\xaf\x3f\xde\x2d\x48\xba\x7f\x75\xb1\x5a\x2d\x90\x9b\x58\xe6\x77\x53\xb1\x57\x5c\xf7\xf7\xd3\x56\x0d\xa8\x1c\x2e\xf3\xa3\x80\x53\xcc\xe4\xea\xc6\x1f\xa1\x90\x4c\x30\x85\x3d\x26\xbe\x12\xf1\x23\x70\x25\xee\xca\xbd\x1b\xba\xca\x40\x61\xf4\xf7\x7e\x49\xf2\x70\x99\xb3\xe8\x9f\x35\xb8\x36\xaf\xe8\x90\xe9\xeb\x9b\x4e\xfa\xbc\xda\x19\x61\x8b\xed\x1a\xb6\xfc\xec\xda\xd8\x4e\x10\x6d\xdd\x02\xfa\x7c\x73\xd6\x15\xf7\x67\x19\xca\x24\xd1\x7f\x0a\xcd\x5e\x96\x0b\x70\x3c\x00\x08\xe3\xb1\x74\x23\x90\x3b\x9b\xc1\x4f\x43\xcf\x59\x00\xa2\xd2\x29\x7c\x8b\x25\xf0\x0f\x12\xf2\x2f\x78\xfd\x1a\x4a\xa1\x1c\x9e\x33\x28\x35\x1b\xbe\xcf\xbe\x65\x01\xef\x84\x17\x51\x41\x63\x47\x86\xac\xa1\xab\x64\x5e\xf1\x45\x91\x90\xda\x4d\xe7\x14\xa5\xc0\xa2\xc2\x03\xf1\x9c\x46\xf8\xca\x05\x82\xe9\x02\xfa\xf2\x80\x16\xc1\xa6\x1f\x45\x1e\xad\xed\x91\x42\x04\xa0\x94\xa2\x6f\xf4\xf1\xc6\xdb\x36\xf7\x8f\xce\x5a\xdb\xc0\x73\xb7\xc3\xb4\xc5\xc2\xbe\x77\x93\xfb\x08\x58\x9c\xb3\x34\x76\xf3\x59\x2b\x09\xa6\xf0\x9e\xee\xff\x23\x06\x13\xbb\x54\x77\x29\xe6\xc3\x78\xf1\xea\x91\xf1\xe2\x4d\x98\x29\x86\x61\x21\x4d\x17\x8a\x46\x38\x5f\x09\x9a\xeb\x00\x7f\x6b\x85\x0a\x7f\x2d\x34\x89\x85\xf9\xe2\xfe\x89\x53\x54\xbc\x42\x05\xd7\x60\x2e\x85\xea\x83\x0f\xdb\x1d\x96\xc6\xe2\x96\x59\x71\xec\x4d\x01\x28\xe2\xa1\xc3\xb5\x00\x5f\xb1\x2f\x09\x8f\x37\x9e\x3b\xdc\x4b\xad\x89\x3e\xce\x3e\x0f\x0c\x1f\x0e\x16\x76\x3f\xc1\xb7\x2f\x5f\x42\xd0\xf2\xe2\xe4\xdd\x0a\x5e\x3c\xec\xf7\xbf\xf5\x39\x94\x9c\x39\x1e\xeb\x12\xf1\x1e\x7c\xdc\x58\x3c\xf0\xad\x7d\x5a\x2e\x02\x4f\x9f\x8f\x79\xe9\xfd\xb9\x70\xdc\x3f\x95\x8c\x8b\xa2\x20\x22\x3e\x1c\x18\xf9\xf8\x24\xf6\x27\x28\xf6\x2d\x54\x7c\xa9\x25\xcd\xfb\x11\x51\x54\xe7\xd0\xfa\xe1\x02\x3b\x37\x3a\xb7\xe8\x63\xc3\x8d\xee\x19\xee\x47\x03\x88\x48\xd7\x8f\xc7\x73\x79\xb1\xfb\x8c\x78\x6f\x4f\x96\xd3\x5d\x75\x94\xf6\x84\x82\x23\x5b\x36\xd2\x7d\xd0\xce\x73\xe0\xa7\x3d\x73\x75\x05\xcb\xd1\xff\x49\x68\x22\x95\xc9\xfb\xfc\x79\x21\x37\x75\x23\xfc\xe8\x23\x1d\xd9\x77\x66\x6a\x9f\xdf\xf1\xb2\x1a\xe3\xfc\x4b\xf3\x7b\x7a\xb1\x30\xbf\x7b\x73\x66\x7a\x4f\x97\xc1\xa3\xd9\x7d\x76\x1f\xcc\x52\x1f\x9a\xdc\xe1\x7c\xd1\x7f\x63\x19\xfd\x29\xbd\x3b\x31\x71\xf5\xbb\x2a\xcb\xb5\xf5\xa3\x25\x35\x24\xd3\x83\xc8\x36\x2b\xa5\xd0\xc4\xde\x13\xd9\x89\x55\xa4\x94\xe9\x1c\x8f\x52\xe1\x83\xa2\x49\x8d\x6e\xdc\x42\x38\x03\x2b\x41\xc5\x77\x72\x1d\x0e\x8f\x54\xd4\xfc\xc8\x8b\x6f\xbe\xc8\x3a\x73\x23\xf5\xc3\xe6\x87\x2b\x78\x76\x5b\x21\x29\xaa\x8e\xf1\xa0\xe8\x8f\xe0\x4f\xfe\x50\x35\xd6\xf8\xbc\x9b\x60\x3a\xdc\xfd\x1c\xbe\x0e\xc4\x0f\x03\xde\x84\xef\x04\xe4\xa6\xe9\xb7\xa5\xe5\x8f\x1c\x64\x37\x6d\xb8\xf8\x77\x28\xe1\xa7\x20\x89\x8c\xf3\xc4\x26\x45\xfa\x15\x59\x38\x73\x07\x17\xd6\xe4\x73\xc3\x64\x4f\xaa\xa8\xf0\xf0\xfc\x95\x58\xa8\x90\xb0\x6a\x5a\x22\x83\x4b\x0a\x74\xde\x9a\xe3\x68\xba\xba\xcf\xee\xff\x1b\x00\x00\xff\xff\xaf\x36\x47\x4b\x48\x21\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,11 +115,11 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x84, 0x19, 0xf5, 0x51, 0xc8, 0x1a, 0xe7, 0xaa, 0x2, 0xe6, 0x36, 0xff, 0xcb, 0x4, 0x94, 0x18, 0x83, 0x37, 0x1e, 0x80, 0x9a, 0x9d, 0x2c, 0x64, 0x46, 0xf, 0x4f, 0xdd, 0xd6, 0xa9, 0xa9, 0xaf}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0x37, 0x24, 0x94, 0xdc, 0x49, 0xb1, 0xab, 0x63, 0xce, 0x71, 0xfc, 0x37, 0x88, 0x54, 0xbf, 0x92, 0xf4, 0x34, 0x1b, 0x82, 0x2, 0xac, 0x4b, 0xfb, 0xa4, 0xf1, 0xb6, 0xd0, 0x31, 0xe5, 0x13}}
 	return a, nil
 }
 
-var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x59\xdf\x6f\x1b\xb9\xf1\x7f\xd7\x5f\x31\x5f\x3d\xdc\xd9\x80\x23\x25\xc1\x17\xed\x41\x38\x35\x17\xe0\x6c\xb4\x80\x83\x18\x8e\x73\x7d\x6c\xa8\xdd\x59\x89\x30\x97\xdc\x92\x5c\x29\x82\xe1\xff\xbd\x18\x92\xbb\x4b\xee\x0f\x59\xbe\xeb\xa1\x7a\x70\x24\x72\x38\xf3\x99\x9f\x9c\x61\x78\x59\x29\x6d\xe1\xa6\x96\x5b\xbe\x11\xf8\xa0\x1e\x51\x42\xa1\x55\x09\xf3\x64\x6d\x3e\x0b\x94\x9f\xd0\xb2\x9c\x59\xf6\x1b\xc7\x83\x09\x94\xc9\x5a\x4b\x49\xbf\xee\xd1\x28\xb1\x47\x1d\x08\xe3\xa5\xf9\x6c\xb6\x5c\x2e\xe1\x61\xc7\x0d\x64\x4a\x5a\xcd\x32\x0b\xbc\xac\x04\x96\x28\xad\x01\xbb\x43\x28\x03\x63\x30\x96\xc9\x9c\xe9\x1c\x2a\xad\x2a\x65\x30\x77\x67\xb9\x84\x9b\xdb\x7f\xdc\xbd\x79\xf7\xf6\xa7\xbf\x2e\xdc\x8a\xfb\x73\x8f\xc5\x0a\x76\xd6\x56\x66\xb5\x5c\x6e\xb9\xdd\xd5\x9b\x45\xa6\xca\xa5\x92\x85\x50\x87\x65\x21\x78\x65\x96\x1b\xa1\x36\xcb\x92\x71\xb9\x64\x55\x25\x78\xc6\x2c\x57\x72\xf9\xfe\xed\xfb\xf7\x6f\x7f\x7a\xf7\xee\x4d\x11\x94\x7f\x63\x49\x7b\xf3\xa6\x41\xb2\x28\xf3\x4e\xd0\x17\xab\xeb\xcc\x1a\x60\x32\x07\x8d\x46\xd5\x3a\x43\x03\x19\x93\x9d\x1e\xa0\x24\x82\xd2\x50\x2a\x8d\xee\x4c\xab\x92\x3d\x56\x68\xae\x20\x63\x42\x60\x0e\x7b\x32\xdd\x02\xae\x59\xb6\x73\xdf\xdd\x36\x68\xac\x34\x1a\x32\x87\x3b\xcb\x20\xe7\x45\x81\x9a\xf8\x3e\x72\x99\x83\x2a\x5a\x7e\x4e\xff\x19\xcb\x32\x34\xe6\x82\x09\x71\xd9\x19\x35\x71\x64\xea\xbf\xa7\xd9\x0c\x00\x80\x98\xdf\x3c\xd0\x12\x1c\x34\xab\x0c\xdc\x3c\xfc\xca\x4d\x25\xd8\xd1\xe9\x76\xf3\xf0\x1b\xab\x85\xfd\x95\x59\x76\xe5\x16\xb8\x81\xda\x60\x0e\x56\xc1\x96\xef\x11\x18\x64\x8a\x34\xb6\x08\x2d\xbf\x8a\x67\xb6\xd6\x48\x18\x59\x0b\x01\x1c\x86\x05\x7c\x52\xc6\xf6\x16\x5b\xbc\x06\xcc\x4e\xd5\x22\xef\x58\x75\xd6\xb4\x14\x2d\x64\x9f\x45\xb3\xe9\xfe\x8d\xd5\x36\xce\x29\x8d\x3a\x4f\x6e\xbf\x4f\x23\xd0\x42\x61\x83\x8a\xab\x4e\xdb\x0f\x8e\xf2\xc4\x91\xd6\x0e\xab\xd8\x28\x1f\xda\x13\xce\x75\x5c\x72\x7b\xd1\x2e\xd1\x67\x54\xd6\x55\x8f\xe4\x25\xde\x97\x91\x32\xf4\x31\x28\x8a\x45\xcb\x19\xd6\x9d\x94\x31\xb2\x96\xa1\x23\x6c\x7f\xb5\xa4\xcf\x33\xff\xb7\x35\xfa\xdf\x51\x54\xa8\x9d\x8b\xd1\x92\x0b\x1f\x46\x0c\x4f\x84\xbf\x54\x4c\xb3\xd2\x6d\x36\xb9\xbd\x82\x8f\xa0\xd1\x45\x6a\x86\xc4\x82\x92\x59\x37\xb5\xa0\x49\x95\x8e\x83\x46\x5b\x6b\x09\x1f\x1b\xaf\x79\x1f\x4e\xba\xb8\xa8\x25\x81\xf2\xc4\x17\xa9\xe0\x1f\x9e\xe2\x22\xb3\x68\xbe\x3c\x5f\xae\x86\x21\x41\x3e\x2d\xd9\x71\x83\x61\x67\x9d\x28\xb1\x08\x80\x9d\x90\x87\x63\x85\x3f\x7b\xb2\xbf\x5d\x5c\x5e\xb6\x2c\x78\xd1\x44\x86\x67\x10\xb3\x4b\xdd\x15\x74\x0c\x94\xcc\xfc\x5f\xc0\xd3\xf3\x40\x44\x1a\xf4\x9b\x8a\x24\xe7\x58\x67\x86\xb0\x94\x58\xe2\xf2\x44\x78\x75\x27\xdb\xc5\xf4\x6c\x17\x73\xfd\xa8\x70\xe0\xad\x02\xfc\x4e\x65\xd8\xf9\x95\xcb\x42\xe9\xd2\xd5\x4f\x90\x88\xb9\xaf\x0b\x66\xa7\x0e\x19\x73\x24\x9c\xea\xc9\xa2\x4b\x67\x5f\xf2\x99\x84\x0d\xfa\x32\xb2\x39\x42\x54\x84\x4d\x57\x56\x24\xa8\x3d\x6a\x97\x54\x54\x76\x5a\x0e\x5b\xcd\xaa\x1d\xcf\x0c\x15\x17\x82\x70\xf3\x70\x46\x3d\x68\x12\xa5\x73\x8b\x07\x83\x90\x87\x1d\xc9\x4a\x84\x42\x69\x8f\xd9\x55\xfe\x45\x4c\x9c\x1c\xbc\xfe\xce\xa8\x2c\xad\x60\x7e\x23\xd4\x61\x3e\x4a\xd7\x2f\x20\x24\x60\x45\xd7\x06\x97\xdb\xd9\x00\x06\xdb\x6c\x34\xee\x39\xb3\x98\x83\x39\x96\x1b\x25\x7e\x0f\x98\xdb\xcf\xff\x9c\x4f\x02\xf0\x6c\xc7\x21\x7c\x84\x1c\x4d\xa6\x79\xe5\x3c\x49\x66\xad\xb4\xda\xf3\x1c\x4d\xe2\x08\x67\xf2\xd7\x20\x22\xd5\x08\x95\x3f\x41\x77\x07\xf1\x96\xcc\x92\x8b\xb3\x5a\x53\x91\x38\xb6\x9e\x14\xea\x00\x12\xed\x41\xe9\xc7\xc5\xb4\x1e\x11\xd2\x71\x65\xae\xbf\x5b\xd4\x92\x09\x10\x5c\x3e\x52\x40\x31\xf8\x7a\x7f\x4b\x5f\x9c\x12\x74\x1d\x27\x81\xcb\x36\xaa\xb6\x0e\x41\x73\xf3\xf7\x15\xec\x43\xc0\x20\xe1\xeb\xfd\xed\x2a\xed\x8a\x16\xd7\xdd\x56\x8a\xea\x73\xd7\x0c\xc0\x1e\xb5\x71\xd1\x1e\x34\x4f\xe5\x82\x50\x5b\x35\x2d\x9c\x76\x4d\x5f\xec\x27\xcc\x39\x33\xa9\xc4\x2f\x2a\xe3\xc1\x0a\x2e\xaf\x34\x52\x87\x31\x94\xf7\xa3\x01\xe3\x49\x77\xaa\xc4\x8a\x6d\xd1\x24\xbe\x85\x3b\x65\x8c\x23\x7f\xc4\xa3\xa1\x32\x47\xd9\x3b\xe7\xd2\x58\xb6\xd5\xac\x9c\x5f\xc1\xdc\x1e\xb8\xb5\xa8\xe9\x6b\xce\x4d\xa6\x74\x3e\xbf\x02\xb4\xd9\xb4\x1a\x5e\xa4\x59\xc1\x93\xf7\xe1\x09\x43\x3e\xcf\x5e\xba\x64\xe3\xe4\x4a\x8b\x5f\x1a\xf5\xe9\xde\x48\x24\xa5\x04\xe7\xf9\x39\x3d\x73\xc2\x3d\x3d\x64\xaf\x31\x40\x73\x68\xb4\x11\x70\xb5\x6b\xed\x8c\x30\xdc\x0c\xd5\x64\x1d\x2c\x31\x24\x88\x33\x7f\x1d\xdb\x64\x48\x1a\xd9\x03\xd6\xb1\x75\x86\xa4\xce\x0c\xb0\xf6\xe6\x18\x41\xe5\x95\x27\x58\xfe\xdb\xb9\xcd\x48\x57\xcb\xb9\x04\x06\x07\x76\x04\xbb\x63\x16\x0e\x5c\x88\xe6\xf2\xf4\x0d\x76\x0e\xca\xa9\xc1\x44\x7b\x41\xc0\x9f\xd1\xb8\xc8\x56\x4e\x04\xee\xdc\x2e\xa6\xb9\xbe\xff\x05\xaf\x68\x65\xda\x8e\xf5\xa9\xdf\x8b\xb8\x16\x24\x6c\x9f\xd9\xd6\x04\x6a\xea\x6c\x7a\xb1\x15\x78\xe6\x09\xbb\x81\x04\x66\x3e\x8c\x5e\xb0\xcd\x27\x98\x29\xe2\x92\x90\x3c\x4f\xf7\x40\x92\x8b\xdf\xd7\x82\x18\x4b\x45\xd6\x0d\x2b\xd2\xa2\x9b\x83\x0e\xdc\xee\x42\x23\x4b\x6d\xcf\xe2\x55\x0d\x89\x41\x5b\x57\xd1\x69\xcf\x8d\xc6\x51\xd4\x5d\x48\x91\x54\xb6\xf5\x72\xab\x7a\x23\x78\x06\x19\xab\xd8\x86\x0b\x6e\x79\x53\x52\x4f\x4f\x2d\x6d\x9f\x9e\xf6\x29\x77\xcc\xee\x28\xdc\x1b\x09\x87\x1d\xea\xb6\xb9\x0a\x90\xb8\x01\x8d\x99\x2a\x4b\x94\xa1\x0b\xdb\xa0\x37\x44\x7e\xa2\x06\x7b\x86\xc4\x9f\x0a\x60\xfb\x23\xbd\x47\xee\xbc\x32\x15\xa1\x38\xec\x78\xb6\x83\xb2\x36\x96\xf8\xd3\xd5\xe2\x85\x45\x0e\x09\xba\x6b\xcc\x90\x53\xe6\xb4\x46\x38\x4e\x03\x69\x88\x3d\x12\x2f\xf0\x0f\x03\xd9\x30\xc1\x28\x95\x9b\x11\xdd\xe5\xf1\xa4\x67\xc6\x60\x35\x03\xf6\x0b\xb0\x34\xdf\x33\x8b\x31\xae\x30\xc5\x4e\x9a\xc8\x37\x57\xb1\x6d\x88\x82\xc2\x2a\xd7\xec\x40\xe5\x21\x37\x90\x08\x71\x8f\x28\x74\x36\x8a\xdf\x31\xc8\x0d\xeb\x00\xd9\x43\x1b\x62\xa6\xe4\xf7\x85\x73\x00\x95\xf9\x5e\xe8\x5b\xec\x93\x6f\x0b\x9f\x28\xdc\x00\x23\x5b\x5a\xcd\x33\x6a\x55\xc3\x4b\xc5\xbf\x6b\x4e\x37\x58\x8a\xd8\x31\x49\xde\x1f\x16\xf7\x81\xe5\x37\x9f\x98\x05\xcb\xf0\xe5\x98\xb8\x75\xb0\x08\xf0\xca\xc1\xfe\xdf\x28\x32\x5a\x8e\x23\x3d\xce\x88\xa2\x3f\xaa\x08\x2b\x94\x76\x4f\x21\x5c\x49\xcc\xa1\x8a\xc2\x2e\x68\x95\x30\xe4\x06\x24\x55\x46\x21\x8e\x23\xba\xfa\x82\x48\xc3\x7d\xc9\x25\x2f\xeb\x72\xcc\x5f\x77\x21\x98\xce\xf2\x57\x13\x79\xa7\xd5\xbc\xa9\x65\x16\x86\x0c\x92\x2e\x84\x3a\x18\xc8\x34\xfa\x02\xae\x0a\x9a\x37\xb0\xac\xec\xb1\x2b\x6d\x8e\x92\x7c\x26\xad\x2b\x6e\xa9\x73\x54\x28\xf7\xa1\xaf\xcd\x4f\x38\xc2\x89\xc1\x6b\xe2\xee\x4a\xed\x8a\x0e\x5c\x5c\xae\xe0\x97\xa7\x54\x6f\xb7\xfb\x72\xd7\x39\x55\x3e\xaf\x7a\xc3\xff\x78\x6d\x4b\xa9\xa6\x4a\x4d\x4a\x35\x99\xdd\xe3\x22\xfb\xae\x18\x17\x79\x9a\x6a\xca\xad\x29\x55\xdf\xb4\x8d\x9b\x5f\x32\x71\x73\xbe\xdf\x7b\x54\x1a\x47\x7b\x89\xbe\x5e\x0b\x6e\xbe\xd4\x1b\x8a\xe8\x0b\x55\x78\x60\x3f\xff\xf0\x34\x5e\x75\x9e\xa9\xc7\x59\xc1\xbc\xf9\xdd\xdc\x05\x2e\x1f\xdc\x4d\xc2\x65\x26\xea\x1c\x61\xfc\x7c\x34\x93\x4e\x9b\x70\x1c\xd0\x78\x33\x17\xf0\x34\x6d\xff\x34\x9e\xd1\xe3\x71\xed\x19\x22\x1b\xba\xed\x1c\x53\x35\x09\xdf\x40\x6b\x7e\xbf\x68\xa3\x96\xb0\x2b\x14\xf3\x89\x3e\x0f\xda\x19\xa0\xcb\x18\x9a\x03\xa2\xf6\x63\x40\x1a\xe7\x10\xac\x93\x94\x1a\x12\xc7\xa9\x44\x1d\x6b\xf4\x73\x48\x1c\x67\x14\xac\x93\x04\x9b\x86\xd1\x19\x35\x02\xd3\x2d\x4e\x43\x4a\x0e\x0e\x17\xa7\xe1\x25\x07\x87\x8b\xc3\x83\xfd\x84\x84\xf5\x64\x8e\x9e\x3f\x7a\x75\x0d\xea\xcb\xc3\xd7\xe7\xfe\xf0\xf5\xa7\x3c\x1a\x47\xa3\x57\x07\xee\xec\x27\xe4\xf6\x05\xf4\x55\xe3\x57\xf7\x3e\x3f\x1c\xc0\xf6\x67\xbe\x25\x37\x2c\xa6\xc7\xae\x7d\x60\x13\x06\xac\xb1\xd9\xa0\xf9\x04\x6b\xec\xff\xbb\x83\x95\x55\x96\x09\x30\x75\x55\x89\xf6\x89\xce\xa1\xf8\x31\x3c\x00\x4e\x0d\x32\x0f\x74\xf0\x8b\x3f\x37\xfd\x7f\x30\x9e\xf1\x0a\xbe\xde\xf0\xef\x7f\xf9\xff\xb1\xbb\xd6\x76\x7c\x1a\xb2\xd1\xe7\x8f\x00\x71\x0d\xd1\x81\x41\x4c\x3f\xcf\xe0\x3f\x01\x00\x00\xff\xff\x35\x36\x39\x20\xf0\x1c\x00\x00"
+var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x5f\x6f\xe3\xb8\x11\x7f\xf7\xa7\x98\xfa\xe1\x2e\x01\xb2\xf2\xee\xa2\x68\x0f\xc6\xb9\x7b\x0b\x5c\x8c\x16\xc8\x62\x17\x59\xef\xf5\xb1\x4b\x49\x23\x9b\x08\x45\xaa\x24\x65\xc7\x08\xf2\xdd\x8b\x21\xa9\x3f\x94\x25\xc7\xb9\xf6\x50\x3f\x24\x12\x39\x9c\xf9\xcd\x1f\x0e\x7f\x14\x2f\x2b\xa5\x2d\xac\x6b\xb9\xe5\xa9\xc0\x8d\x7a\x40\x09\x85\x56\x25\xcc\xa3\xb1\xf9\x2c\x48\x7e\x42\xcb\x72\x66\xd9\x6f\x1c\x0f\x26\x48\x46\x63\xad\x24\xbd\xdd\xa3\x51\x62\x8f\x3a\x08\xf6\x87\xe6\xb3\xd9\x62\xb1\x80\xcd\x8e\x1b\xc8\x94\xb4\x9a\x65\x16\x78\x59\x09\x2c\x51\x5a\x03\x76\x87\x50\x06\xc5\x60\x2c\x93\x39\xd3\x39\x54\x5a\x55\xca\x60\xee\xd6\x72\x09\xeb\xbb\x7f\x7c\x79\xf3\xee\xed\x4f\x7f\x4d\xdc\x88\xfb\x73\x8f\xc5\x12\x76\xd6\x56\x66\xb9\x58\x6c\xb9\xdd\xd5\x69\x92\xa9\x72\xa1\x64\x21\xd4\x61\x51\x08\x5e\x99\x45\x2a\x54\xba\x28\x19\x97\x0b\x56\x55\x82\x67\xcc\x72\x25\x17\xef\xdf\xbe\x7f\xff\xf6\xa7\x77\xef\xde\x14\xc1\xf9\x37\x96\xbc\x37\x6f\x1a\x24\x49\x99\x77\x86\xbe\x5a\x5d\x67\xd6\x00\x93\x39\x68\x34\xaa\xd6\x19\x1a\xc8\x98\xec\xfc\x00\x25\x11\x94\x86\x52\x69\x74\x6b\x5a\x97\xec\xb1\x42\x73\x03\x19\x13\x02\x73\xd8\x53\xe8\x12\xb8\x65\xd9\xce\x3d\xbb\x69\xd0\x58\x69\x34\x14\x0e\xb7\x96\x41\xce\x8b\x02\x35\xe9\x7d\xe0\x32\x07\x55\xb4\xfa\x9c\xff\x33\x96\x65\x68\xcc\x15\x13\xe2\xba\x0b\x6a\x94\xc8\x38\x7f\x4f\xb3\x19\x00\x00\x29\x5f\x6f\x68\x08\x0e\x9a\x55\x06\xd6\x9b\x5f\xb9\xa9\x04\x3b\x3a\xdf\xd6\x9b\xdf\x58\x2d\xec\xaf\xcc\xb2\x1b\x37\xc0\x0d\xd4\x06\x73\xb0\x0a\xb6\x7c\x8f\xc0\x20\x53\xe4\xb1\x45\x68\xf5\x55\x3c\xb3\xb5\x46\xc2\xc8\x5a\x08\xe0\x30\x24\xf0\x49\x19\x3b\x18\x6c\xf1\x1a\x30\x3b\x55\x8b\xbc\x53\xd5\x45\xd3\x52\xb5\x50\x7c\x92\x66\xd2\xfd\xef\xbb\x6d\x5c\x52\x1a\x77\x9e\xdc\xfc\x50\x46\xa0\x85\xc2\x06\x17\x97\x9d\xb7\x1f\x9c\xe4\x99\x25\x6d\x1c\x96\xfd\xa0\x7c\x68\x57\xb8\xd4\x71\xc9\xed\x55\x3b\x44\xbf\x51\x5b\x37\x03\x91\x97\x74\x5f\xf7\x9c\xa1\x9f\x41\x51\x24\xad\x66\x58\x75\x56\xc6\xc4\x5a\x85\x4e\xb0\x7d\x6b\x45\x9f\x67\xfe\x6f\x1b\xf4\xbf\xa3\xa8\x50\xbb\x14\xa3\xa5\x14\x6e\x46\x02\x4f\x82\xbf\x54\x4c\xb3\xd2\x4d\x36\x7b\x7b\x09\x1f\x41\xa3\xab\xd4\x0c\x49\x05\x6d\x66\xdd\xf4\x82\x66\xab\x74\x1a\x34\xda\x5a\x4b\xf8\xd8\x64\xcd\xe7\x70\x32\xc5\x45\x2d\x09\x94\x17\xbe\x8a\x0d\xff\xf0\xd4\x6f\x32\x49\xf3\xf0\x7c\xbd\x3c\x2d\x09\xca\x69\xc9\x8e\x29\x86\x99\x55\xe4\x44\x12\x00\x3b\x23\x9b\x63\x85\x3f\x7b\xb1\xbf\x5d\x5d\x5f\xb7\x2a\x78\xd1\x54\x86\x57\xd0\x57\x17\xa7\x2b\xf8\x18\x24\x99\xf9\x53\xc0\x33\xc8\x40\x4f\x34\xf8\x37\x55\x49\x2e\xb1\x2e\x0c\x61\x28\x8a\xc4\xf5\x99\xf2\xea\x56\xb6\x83\xf1\xda\xae\xe6\x86\x55\xe1\xc0\x5b\x05\xf8\x48\x6d\xd8\xe5\x95\xcb\x42\xe9\xd2\xf5\x4f\x90\x88\xb9\xef\x0b\x66\xa7\x0e\x19\x73\x22\x9c\xfa\x49\xd2\x6d\x67\xdf\xf2\x99\x84\x14\x7d\x1b\x49\x8f\xd0\x6b\xc2\xa6\x6b\x2b\x12\xd4\x1e\xb5\xdb\x54\xd4\x76\x5a\x0d\x5b\xcd\xaa\x1d\xcf\x0c\x35\x17\x82\xb0\xde\x5c\xd0\x0f\x9a\x8d\xd2\xa5\xc5\x83\x41\xc8\xc3\x8c\x64\x25\x42\xa1\xb4\xc7\xec\x3a\x7f\xd2\x17\x8e\x16\xde\x3e\x32\x6a\x4b\x4b\x98\xaf\x85\x3a\xcc\x47\xe5\x86\x0d\x84\x0c\x2c\xe9\xd8\xe0\x72\x3b\x3b\x81\xc1\xd2\x54\xe3\x9e\x33\x8b\x39\x98\x63\x99\x2a\xf1\x7b\xc0\xdc\x7d\xfe\xe7\x7c\x12\x80\x57\x3b\x0e\xe1\x23\xe4\x68\x32\xcd\x2b\x97\x49\x0a\x6b\xa5\xd5\x9e\xe7\x68\xa2\x44\xb8\x90\xbf\x06\x11\xb9\x46\xa8\xfc\x0a\x3a\x3b\x48\xb7\x64\x96\x52\x9c\xd5\x9a\x9a\xc4\xb1\xcd\xa4\x50\x07\x90\x68\x0f\x4a\x3f\x24\xd3\x7e\xf4\x90\x8e\x3b\x73\xfb\x68\x51\x4b\x26\x40\x70\xf9\x40\x05\xc5\xe0\xdb\xfd\x1d\x3d\x38\x27\xe8\x38\x8e\x0a\x97\xa5\xaa\xb6\x0e\x41\x73\xf2\x0f\x1d\x1c\x42\xc0\x60\xe1\xdb\xfd\xdd\x32\x66\x45\xc9\x6d\x37\x15\xa3\xfa\xdc\x91\x01\xd8\xa3\x36\xae\xda\x83\xe7\xb1\x5d\x10\x6a\xab\xa6\x8d\xd3\xac\x19\x9a\xfd\x84\x39\x67\x26\xb6\xf8\x55\x65\x3c\x44\xc1\xed\x2b\x8d\xc4\x30\x4e\xed\xfd\x68\xc0\x78\xd1\x9d\x2a\xb1\x62\x5b\x34\x51\x6e\xe1\x8b\x32\xc6\x89\x3f\xe0\xd1\x50\x9b\xa3\xdd\x3b\xe7\xd2\x58\xb6\xd5\xac\x9c\xdf\xc0\xdc\x1e\xb8\xb5\xa8\xe9\x31\xe7\x26\x53\x3a\x9f\xdf\x00\xda\x6c\xda\x0d\x6f\xd2\x2c\xe1\xc9\xe7\xf0\x4c\x20\x9f\x67\x2f\x1d\xb2\xfd\xcd\x15\x37\xbf\xb8\xea\xe3\xb9\x91\x4a\x8a\x05\x2e\xcb\x73\xbc\xe6\x4c\x7a\x06\xc8\x5e\x13\x80\x66\xd1\x28\x11\x70\xbd\x6b\xe5\x82\x70\x3a\x19\xba\xc9\x2a\x44\xe2\x54\xa0\xbf\xf3\x57\xfd\x98\x9c\x8a\xf6\xe2\x01\xab\x7e\x74\x4e\x45\x5d\x18\x60\xe5\xc3\x31\x82\xca\x3b\x4f\xb0\xfc\xd3\xa5\x64\xa4\xeb\xe5\x5c\x02\x83\x03\x3b\x82\xdd\x31\x0b\x07\x2e\x44\x73\x78\x7a\x82\x9d\x83\x72\x6e\x30\xd1\x1e\x10\xf0\x47\x10\x17\xd9\xda\xe9\x81\xbb\x94\xc5\x34\xc7\xf7\xbf\xe0\x15\x54\xa6\x65\xac\x4f\x43\x2e\xe2\x28\x48\x98\xbe\x90\xd6\x04\x69\x62\x36\x83\xda\x0a\x3a\xf3\x48\xdd\x89\x05\x66\x3e\x8c\x1e\xb0\xcd\x2f\x84\xa9\xa7\x25\x12\x79\x9e\xe6\x40\x92\x8b\xdf\x47\x41\x8c\xa5\x26\xeb\x2e\x2b\xd2\xa2\xbb\x07\x1d\xb8\xdd\x05\x22\x4b\xb4\x27\x79\x15\x21\x31\x68\xeb\xaa\xb7\xda\x6b\xa3\xeb\x28\xea\xae\xa4\xc8\x2a\xdb\x7a\xbb\x55\x9d\x0a\x9e\x41\xc6\x2a\x96\x72\xc1\x2d\x6f\x5a\xea\xf9\x5b\x4b\xcb\xd3\x63\x9e\xf2\x85\xd9\x1d\x95\x7b\x63\xe1\xb0\x43\xdd\x92\xab\x00\x89\x1b\xd0\x98\xa9\xb2\x44\x19\x58\x58\x8a\x3e\x10\xf9\x99\x1e\xec\x15\x92\x7e\x6a\x80\xed\x4b\x7c\x8e\x7c\xf1\xce\x54\x84\xe2\xb0\xe3\xd9\x0e\xca\xda\x58\xd2\x4f\x47\x8b\x37\xd6\x4b\x48\xf0\x5d\x63\x86\x9c\x76\x4e\x1b\x84\xe3\x34\x90\x46\xd8\x23\xf1\x06\xff\x6b\x20\x29\x13\x8c\xb6\x72\x73\x45\x77\xfb\x78\x32\x33\x63\xb0\x9a\x0b\xf6\x79\x58\xb4\x91\x7c\x13\x0a\x97\xd7\x0e\x10\xf3\xbc\xe2\x7b\xdf\xbf\xef\x89\x2f\x3a\x6e\x80\x11\x2e\xab\x79\x46\xb4\x2f\xdc\xfa\xff\x5d\x73\x3a\x0d\x20\x32\xe1\x94\x44\x77\xf9\xe4\x3e\xa8\xfc\xee\x8b\xbc\x60\x19\xbe\x1c\xdf\x3b\x07\x8b\x00\x2f\x1d\xec\xff\x8f\x23\xa3\xad\xad\xe7\xc7\x05\x19\x39\xef\xc8\xba\x96\x59\x60\xb2\xcc\x02\x13\x42\x1d\x0c\x64\x1a\x7d\x97\x50\x05\x91\x5a\x2c\x2b\x7b\xec\xf6\x8f\x93\x24\x67\xa4\x75\x3b\x28\x46\xad\x42\x4f\x09\xe4\x29\x3f\x83\xd0\x99\xc1\x5b\xd2\xee\xf6\xf3\x92\x16\x5c\x5d\x2f\xe1\x97\xa7\x38\x81\x6e\xf6\x65\x6a\x33\xb5\x47\x6f\x06\x37\xcc\xf1\x0d\x14\x4b\x4d\xd5\xf3\xb8\xae\x61\x8c\xc7\x75\x9d\x97\x1a\x46\xa3\xc9\xcc\x4b\x51\x69\xd6\x0f\xcf\xa4\x4a\xe3\xe8\x19\x33\x44\x9c\x70\xf3\xb5\x4e\xa9\x12\xaf\x54\xe1\x81\xfd\xfc\xc3\xd3\xf8\x0e\x7a\xa6\xb3\x6f\x09\xf3\xe6\xbd\xe9\x11\xae\x8e\x5d\x87\xe1\x32\x13\x75\x8e\x30\xbe\xbe\x77\x57\x99\x0e\xce\x38\xa0\xf1\x43\x3e\xe0\x69\xe8\xe0\x34\x9e\xd1\xe5\xfd\x7d\x34\x9f\x38\x6b\xa1\xe5\x61\x5d\x41\x11\x17\xeb\x1d\x01\x27\xa2\xfd\x12\x83\x55\x54\x71\xa7\xc2\xfd\x4a\x23\xd6\xd0\x7b\x9d\xd6\xdc\x45\xab\xa7\xbf\x1b\x9c\xb6\x12\x2d\x3c\x1d\x3c\x5d\x38\x2c\x4b\x58\x4d\x56\xea\xe5\xc4\xb4\x3b\xbe\x5f\xa6\xa6\x9f\x87\xd4\xf4\x0f\xf9\xa4\xd6\x23\xa6\x1d\xb8\x8b\x3f\xb0\xb5\xdf\x87\x5e\x45\x4e\xbb\xaf\x97\xa7\xf4\x74\x7f\xe1\x97\xb6\x46\xc5\x34\x29\xdd\x07\x35\x81\x7e\x8e\x31\xa7\xae\x39\xb8\x68\xec\xff\xb7\xb4\xd3\x2a\xcb\x04\x98\xba\xaa\x44\xfb\x01\xc3\xa1\xf8\x31\x7c\x1e\x99\xa2\x79\x1b\x5a\xf8\xd5\xaf\x9b\xfe\x42\xed\x15\x2f\xe1\xdb\x9a\x3f\xfe\xe5\xcf\x63\x87\x84\xed\xf4\x34\x62\xa3\x97\xc3\x00\x71\x05\xbd\x05\x27\x35\xfd\x3c\x83\xff\x04\x00\x00\xff\xff\x2e\xcd\x3a\x2d\x0e\x1a\x00\x00"
 
 func fungibletokenmetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -135,7 +135,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenMetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0x39, 0xaf, 0x0, 0x11, 0x9c, 0x6c, 0xcb, 0xe6, 0x87, 0x1e, 0xb0, 0x44, 0x66, 0xc3, 0xf2, 0x2f, 0x40, 0xf7, 0xfd, 0xe1, 0x6e, 0x5b, 0xb9, 0xf6, 0x42, 0xce, 0x5f, 0xce, 0xd0, 0x9d, 0x6b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4b, 0x24, 0xf5, 0x5, 0xd9, 0x7b, 0x85, 0x6b, 0x5b, 0x1c, 0x32, 0x1e, 0xd1, 0x4b, 0x7a, 0x4b, 0xfc, 0x38, 0x7a, 0x9f, 0x82, 0xa7, 0x41, 0xb8, 0xe4, 0x6b, 0xce, 0x43, 0xd4, 0xdc, 0xd, 0x7a}}
 	return a, nil
 }
 
@@ -179,7 +179,7 @@ func multiplevaultsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x3c\x6b\x73\x1b\x37\x92\xdf\xfd\x2b\x3a\xda\xaa\xac\x74\x4b\x91\x4a\x36\x97\xba\x63\x85\x9b\x75\x6c\x6b\x57\x57\xb1\xcf\x65\xcb\xbb\x57\xe5\x4a\x59\xe0\x0c\x48\x62\x35\x03\x4c\x00\x8c\x28\xae\xcb\xff\xfd\xaa\x1b\x8f\xc1\x3c\x48\x8e\xb4\xce\xda\x1f\x12\x8a\x04\x1a\xdd\x8d\x7e\xa3\x01\x51\x56\x4a\x5b\xb8\xac\xe5\x5a\x2c\x0b\x7e\xad\x6e\xb9\x84\x95\x56\x25\x9c\xb4\xbe\x3b\x79\xe2\x47\xbe\x52\x72\x68\x70\xf7\xeb\x38\xfe\x6f\x82\x6f\xdf\x70\xa3\x8a\x3b\xae\xfd\xd8\xf4\xab\x93\x27\x4f\x66\xb3\x19\x5c\x6f\x84\x81\x4c\x49\xab\x59\x66\x41\x94\x55\xc1\x4b\x2e\xad\x01\xbb\xe1\x50\x72\xcb\x72\x66\x19\x18\xcb\x64\xce\x74\x0e\x95\x56\x95\x32\x3c\xa7\xb9\x42\xc2\xe5\xcf\x57\xaf\xcf\x2f\xbe\xff\xe3\xf7\x53\xfc\x86\xbe\x7d\xc3\x57\x73\xd8\x58\x5b\x99\xf9\x6c\xb6\x16\x76\x53\x2f\xa7\x99\x2a\x67\x4a\xae\x0a\xb5\x9d\xad\x0a\x51\x99\xd9\xb2\x50\xcb\x59\xc9\x84\x9c\xb1\xaa\x2a\x44\xc6\xac\x50\x72\xf6\xed\xc5\xb7\xdf\x5c\xfc\xf7\x37\xdf\x9f\xcb\x95\x3d\x0f\x8b\x4f\xcb\x3c\xc2\x7e\x6b\x75\x9d\x59\x03\x4c\xe6\xa0\xb9\x51\xb5\xce\xb8\x81\x8c\xc9\x06\x73\x50\x92\x83\xd2\x50\x2a\xcd\x69\x4e\x24\xc2\xee\x2a\x6e\x26\x90\xb1\xa2\xe0\x39\xdc\x09\xbe\x35\x53\x78\xc1\xb2\x0d\x7d\xa6\x9f\x41\xf3\x4a\x73\x83\x0c\xa0\xb9\x0c\x72\xb1\x5a\x71\x8d\x70\x6f\x85\xcc\x41\xad\x22\xbc\x09\x98\x3a\xdb\x00\x33\xc0\x20\xd3\x9c\x59\xa5\x61\x29\xd4\x5a\xb3\x6a\xb3\xa3\xd9\x4a\x03\x83\xff\x79\xfd\xe2\x2f\x20\x4a\xb6\xe6\xb0\x12\x05\x77\x7c\x62\x59\xc6\x8d\x39\x65\x45\x71\xd6\x30\xff\xa5\x07\x8c\xbb\x64\xe0\xe3\x93\x27\x00\x00\x08\xe7\xb9\x30\x55\xc1\x76\x20\x70\xa9\x25\x33\x22\xf3\x18\x6f\x98\x05\x21\xb3\xa2\xce\xb9\xdb\x30\xc9\x4a\x3e\x81\x9c\x9b\x4c\x8b\x0a\x59\x8a\x9c\x8a\x70\xec\xa6\x2e\x97\x92\x89\x02\x56\x88\x9a\x04\xb5\xfc\x07\xcf\xec\x14\x5e\x2a\x63\xfd\x1f\x06\xcc\x46\xd5\x45\x9e\x30\xd4\xa2\x88\xe0\x82\xd3\x00\x89\xfe\x9f\xd2\x60\x68\x5f\x22\xa2\x1e\xf7\xb0\xee\xb5\xc7\x0c\xb9\x87\x58\xfa\x65\xd3\x31\x9d\xf1\xc2\xc0\x4a\xf0\x22\x87\xad\x28\x0a\x58\x72\xc8\x1d\x64\x9e\xa3\xd0\x15\xc2\x78\x19\xb0\x1b\xae\xf9\x4a\x69\xee\xb1\x6e\x81\x59\xd2\xb7\xda\x22\xa5\x99\x92\x99\x30\x7c\x78\xcd\x94\x92\x82\x5b\xc2\x75\x8e\xb2\x26\xe4\xba\x4d\xc9\x53\xd8\x6a\x61\x2d\x97\x2d\x1e\x7f\x26\xb2\x18\xe4\xdc\x32\x11\x84\xb3\x0d\x76\xd2\x02\x65\x14\x09\xfd\x92\x93\x98\xc3\x1d\xd7\x4b\x65\x38\x9c\xf2\xe9\x7a\x0a\x0c\x2a\xa6\x19\xc9\x21\x08\x69\x2c\x67\x24\xb7\x0c\x8c\x90\xeb\x82\x43\x21\x24\x3f\x1b\xc7\x89\x84\xca\x7d\x0c\x31\x25\x2b\x8a\x44\xb4\xa2\x06\xb1\x47\xf2\xc6\xcb\xdf\x92\x03\x83\x2d\x5f\x9e\xaf\xb4\xe0\x32\x2f\x76\xa4\x3e\x70\x2a\xa6\x9c\x74\x6a\x02\xaf\x5f\xfd\xe5\xac\x05\x84\xf4\xc1\xf3\xa5\x2f\x30\x13\x24\xfc\x16\x2a\xcd\x49\xf5\x27\xc0\x6d\x36\x8e\x0b\x91\xb8\x39\x7c\xbc\x14\x05\xff\xd4\xf0\x80\x36\x4a\x48\x61\x4f\xe3\x57\xf8\x2f\x95\xa0\x49\xeb\x97\x01\x8e\xb6\x07\xf4\x17\x0b\xbf\x9c\xc1\xc7\xd6\x48\xc3\x8b\xd5\x94\xf4\x6a\x41\x0b\xf6\x7f\x4c\x85\x74\x91\x2e\xdd\x1f\xda\x6c\xe0\xa2\x41\x21\x0e\x73\x48\x7c\x6a\x4c\xd2\x5f\x79\x51\x71\x0d\x56\xc1\x9a\x37\x7a\x4f\x42\x4c\x66\x96\xad\x38\x6c\xd9\xae\x65\x30\x70\xde\x9f\x51\x34\x4b\x62\x5b\x70\x44\x73\x78\x0a\x9a\x93\x91\xcd\x38\x42\x44\x79\xd1\xc1\x71\x05\x2b\xdf\x40\xd0\xdc\xd6\x5a\xc2\x53\x09\x8a\x68\x61\x45\x5c\xdf\x99\xa1\xbd\x56\x6a\x55\x4b\x44\xd7\x8f\x3e\xfd\xd0\x41\xe3\xeb\x8f\xa9\x7f\x9c\x86\x0f\x9f\xce\x60\x1e\x56\xf8\x31\xd9\x02\xb1\x22\xe1\x20\x09\x58\xb4\x40\x4d\x3d\xf6\x08\xee\xf4\x7a\x57\xf1\x1f\xfc\xf4\x3f\x9d\x9e\x75\x37\x31\x40\xf1\x20\x80\x99\x1f\x13\x33\x0a\x9d\x7f\x9e\xf6\xbb\xd6\x0f\x9f\x9e\xf4\x3f\xf9\x81\xd2\xef\x61\xb2\x73\x7f\xe1\x92\x6b\x91\x81\x90\x96\xeb\x15\x43\x96\xa3\xda\x34\x8e\x0f\x98\xd3\x34\x63\x95\xe6\x39\xa0\x0e\x6b\x50\xab\x15\x64\x1b\x26\xe4\x14\x50\x28\x4d\x04\xe7\xd5\xad\x36\x3c\xc7\xbd\x8b\x1b\x69\x9c\xcf\x33\x13\xb8\x13\x39\x57\xce\x5c\x2b\xb4\xd7\x50\xf2\x5c\xb0\xa3\xbe\xa4\xc1\x0f\x17\x4c\x78\x91\x8e\x25\x96\xe1\xb6\xd6\x5a\x9c\x9e\x45\x13\xd5\x21\xf9\x6f\xe4\x2c\x15\xf0\x7b\x8c\x5d\x02\x7d\xce\x7b\x1a\x0f\x0f\xe3\x27\x60\xe4\x2b\xfe\x7a\x7d\xfd\x1a\x4e\x95\xa6\x0f\x6f\xcf\xe0\xdd\x9b\x9f\x8f\x62\x8b\x43\x11\xcf\xf9\x21\x6c\x71\xa3\x6b\x5d\xf4\x2d\x69\x63\x45\x92\x9f\x07\xd5\xbd\xd6\xa8\xa0\xb5\x4e\x55\xf3\x01\x9c\xe9\x80\xf4\x52\x12\x20\xef\x57\xf7\x61\x0e\x36\x12\x72\xf5\xfa\xf2\x6d\xe4\x11\xfd\xe5\xb7\x1f\x98\xe6\x8d\x50\xe4\xb0\xdc\xa1\x7a\x0b\x4d\x51\x0f\x06\x17\x22\xe7\xd2\x8a\x95\xe0\x1a\x4e\x9f\x5d\x3d\x3f\x8b\x40\x34\x23\x61\xb1\x1b\x46\x9e\x51\x68\x9e\x59\x78\xf7\xe6\x6a\x0a\x4f\x21\x2b\x04\xce\x4d\x42\x47\x92\xc3\xda\x70\x17\xac\x3c\xbb\x7a\xde\x04\x3d\x0a\x56\x18\xb9\xa1\xfc\x15\x8a\x51\xcc\xe0\xe3\xb1\x3b\xc1\x70\xbf\x09\xdd\x35\xb3\x7c\xcb\x76\x47\x37\x1a\x07\xb7\x36\xba\xe5\x81\x9e\x5d\x3d\x47\x91\xc2\x25\x06\x08\xc4\xa8\x8b\xf0\xa3\x15\x5d\x34\x98\xcc\x6e\x41\x6a\x45\xd1\xb9\xca\xcc\x54\x54\x2b\x33\x15\x6a\x86\xa1\x0c\xaf\xac\x99\xf9\x15\xce\x59\x9e\x6b\x94\x60\xb9\x9e\x8d\x72\x67\x99\xc8\x87\x9d\xf9\x6b\x66\x37\xa4\x11\x89\x69\xad\xf0\x3b\x6f\x94\x69\xd3\x83\x41\x26\x63\xef\x99\xe7\x76\x47\xe9\xdd\x28\x07\x2f\x0c\x28\x59\xec\x40\x72\x9e\xa3\x7f\x5e\x35\xc0\x85\xc1\x88\x45\xe4\x3c\x6e\xf9\x41\xa0\x23\x98\x84\x60\xcf\xcd\xce\x58\x5e\x9a\x71\xec\x41\x8a\x03\x7f\x7e\x1c\xd2\xd1\x84\x7f\x93\xf6\xe8\x41\x95\xcd\x44\x0e\x0b\x64\x7a\xff\x27\x62\xee\x82\x60\x0c\xe9\x73\xc3\xb7\x5a\x66\x24\xe5\x4e\x61\x9d\x80\x11\xe7\x25\xb3\xe2\x8e\xa3\x89\x6a\xa4\xab\x27\x58\x07\xf8\xb4\x51\xdb\x73\xab\x66\x5e\x84\xce\xf1\xeb\x73\x25\xcf\xb7\x7c\x39\xfb\x9d\x83\x7d\x5e\xeb\xc2\xec\xdd\x81\xe0\x8d\x31\xc4\x37\xce\xc4\xa0\x58\x32\x21\xf1\x63\xdc\xd7\x5a\x8b\xa3\xbc\x1f\x65\xb1\xbc\xbb\xf4\x8c\x6b\x98\xb8\xd7\x55\x9e\x20\x49\xf3\xd9\xec\x64\x8a\x22\xc1\xec\x69\xd8\x93\xb3\xf0\xc5\xc9\xec\x24\x7e\x46\x58\x67\x1d\xe7\x3a\x64\x31\xf7\x43\x3d\x6e\x43\xa3\xa7\x0d\x66\x74\x2b\xec\xc6\xe5\x28\x5a\x73\x53\x29\x91\x23\xdd\xe4\x25\x31\x78\x38\x6a\x92\x5e\xe2\xc8\xae\x25\x22\xeb\xe4\x44\x82\x3b\x58\xa3\x84\x7f\x45\xa6\xad\x1b\xe5\xba\x34\x3a\x17\xec\x9c\x92\xe4\x4c\x95\x1c\x75\xd8\xed\xaf\xd2\x25\x45\xf9\xbb\x8a\xcf\x4c\xbd\xa4\x11\xcc\xf8\x68\x73\xc9\x73\xc0\x1c\xad\x05\x2a\x4a\x22\xbf\xe3\x85\xaa\xb8\x9e\x96\xea\x9f\xa2\x28\xd8\x54\xe9\xf5\x8c\xcb\xf3\x77\x6f\x49\x4a\x67\x7f\xe7\xcb\x19\x7a\xd6\xd9\x4f\x98\xf4\x9a\x0f\x6a\xf5\x81\xfe\x7c\x79\xf5\xf2\xc5\x07\x8a\x33\x47\x11\x15\x59\x79\xc8\xf3\xa6\x94\x4f\xfa\x53\xda\xaa\x4d\xdb\x8d\x33\x16\xf8\x9f\xee\x0f\x71\xf2\x22\x7e\xda\x2f\x16\x7f\xd7\xac\xc2\x50\xda\x89\xbf\xd2\x50\xd6\x85\x15\x55\xe1\x77\xcd\xd5\x29\x46\x89\x80\xe9\xca\xc0\x53\x09\x4c\x2f\x85\xd5\x4c\xef\xce\x8d\xf8\x27\xcf\x29\x13\xf2\xd9\xff\x0e\x64\x5d\x2e\x39\xc6\x76\x5e\x84\x04\x1a\xc9\xbd\x5c\xa4\x5f\xe7\xf0\x9e\xc6\xfe\x32\xc4\xc2\x0f\x9d\x31\x83\xe6\x90\x86\xc0\xa2\xb3\xd8\x91\x04\xc3\xd3\xf7\x6f\xcd\x2f\x1a\x1f\xe8\x57\x1f\x97\x5d\xb8\xc1\x0f\x4a\x2e\xdc\x94\xc7\xe6\x16\x6e\xf6\xc8\xd4\x22\x0a\x0a\x74\xfe\x7d\x86\xcc\x62\xc8\xc0\x15\x22\xe3\x12\x23\xc6\x2c\x53\x9a\xec\x9a\x55\x51\xff\x4d\x95\xdf\x93\xca\xfb\x51\xa6\xd9\xc7\xeb\x50\x73\x6a\x25\x18\x3e\x54\x08\xa1\x95\x5a\xa1\xd9\x7c\x75\x79\x8d\x71\x83\x87\x91\x1f\x35\x97\x3f\x7b\x94\xf6\xc7\xe8\x88\xd7\x55\x0c\xdb\x0e\x19\x8d\x0f\x49\x78\x77\x30\x6e\x6f\x83\x44\xf1\x8f\x7f\x8c\xd5\x81\x80\xf7\x17\x52\x82\xb0\xfc\x38\x2d\xf0\xa3\x1f\xa4\x06\x7e\xce\x63\xf5\xc0\x4f\x1f\xa9\x08\x7d\x29\xf8\x0d\x34\x21\xa6\x4b\x18\x9f\x11\xd3\x31\xc0\xb5\xbc\x04\xaa\xcc\x02\xbf\xb7\x5c\x23\x73\x8d\xb0\x8d\x9f\xf7\x35\xf9\x44\xee\x97\xbb\x34\xd7\x41\x59\xbf\xe5\x30\x8d\x69\xcd\x4f\x85\xca\x10\xba\x0a\x69\x52\x6d\xb8\x36\x69\x06\x44\x25\x38\x2d\xd6\x02\x17\xa3\x32\x98\xaf\x00\xa3\xf2\x50\x99\xba\xd2\xea\x1f\x38\xb5\xc2\xc4\x88\x52\xe3\xe0\xc0\x5d\xb4\x89\x03\x33\x55\x14\x9c\x02\xd1\x06\x57\xbe\x8e\xea\xbc\xdd\x6e\xa7\xe5\x8e\x6a\xf7\x1e\x9a\xab\xfb\xdf\x71\x8d\x6c\x3f\x57\x2b\xfa\xad\x81\x72\x4c\x53\x5f\x78\xf6\x20\xf7\x1e\x9d\x51\x7f\x80\x11\x39\xf5\xe2\x60\xf6\xdb\xd6\xc3\x14\xab\x2f\xa4\x8b\x29\x0a\xe3\xf4\x31\x99\xf1\x20\x9d\x4c\xe6\x3d\x56\x2f\x13\x10\x23\x75\x73\x78\xdf\x3f\xbb\x7e\x3a\x21\x5f\x09\xc9\x43\xc6\x5e\x56\xca\xb0\x25\x26\xb9\x6a\xc7\x0a\xbb\x6b\xce\xbd\x68\xf0\x5a\xdc\x71\x03\x25\xd3\xb7\xdc\x56\x05\xcb\xb8\x01\x16\x61\xd6\x12\xad\x79\x9e\xd6\xd5\x14\x98\xba\x72\x67\x77\x97\xd7\x1e\xa6\xe0\xe6\xa8\x87\x7a\xe3\x57\xef\x84\x73\xa1\x72\xd7\x3e\x05\x7c\xc3\x33\x2e\xee\x62\x75\x81\xc3\x92\x4b\xbe\x12\x99\x60\x7a\x17\xaa\xef\x9e\x9c\x76\xa9\x82\x91\x60\x04\x87\x9a\x69\x6e\xb9\x3b\x03\x0b\x93\x02\x60\xca\x4f\xc2\x5f\xd3\x35\xb7\xb8\xad\xa7\x67\x9d\x0c\x33\x53\x65\xc9\x65\xee\xaa\x31\xe7\xf0\x0e\x4d\x50\xa8\xe5\xd3\xf1\x18\xda\x41\xc9\xb7\x89\xf9\x81\xcb\x42\x6d\x89\x8a\x16\x2c\xdd\xa6\x48\x18\xa8\x0d\x46\x0e\x37\x6b\x6e\x3d\x6b\x02\xd1\xaf\xeb\x65\x21\xb2\xd7\xcc\x6e\x4e\xcf\x6e\x26\x64\x0c\xa5\xb2\x2d\x68\xae\x28\xc4\x71\xa7\x59\x5d\xd8\x66\xcd\x86\x24\x67\x70\xe9\x4c\x86\x15\x85\xda\x3a\xfb\x89\xfb\x57\x57\x39\xb3\xed\xe4\x85\xf8\xc5\x2a\xb6\x14\x85\xb0\x54\xf2\xa6\x2c\xa8\xb6\xb5\xa6\x2d\xaf\xc9\xe0\xd3\xb1\xcc\xda\x6f\x58\x33\x7c\xaf\x11\x0b\xb8\xcc\xe1\x59\x1c\xfc\xc3\xd7\x1f\x5b\x5b\x3d\x0d\x54\x7f\xfa\x53\x5b\x30\x5e\xba\x8c\x01\x03\x8b\x50\x87\xcd\x58\x91\xd5\x05\x32\x1d\xb1\x63\xa5\xaa\x5d\xbc\x64\x58\xc1\xe1\x8e\x15\x35\x07\xab\x99\x34\x2b\xae\x35\xcd\x68\xef\x80\x17\xc0\x86\x43\xaf\x94\xe5\x70\x0e\x57\x36\x39\x9e\x59\x72\xbb\xe5\x5c\xc2\xc5\xf4\x82\x38\xff\xcd\xf4\xa2\x05\xe5\xc5\x3d\xce\x70\xc2\x94\xac\x2b\x0c\xdc\xd3\xf8\xb2\x41\x5b\x18\xb8\x98\xfe\xe7\xf7\x38\x54\xee\x95\x58\x37\x7d\x1b\x96\xa7\x09\xff\x01\xf7\xd3\xbe\x92\xb0\xa2\xd8\x41\xc5\x75\xc6\xa5\x45\x7f\xb6\xe6\x49\x81\xdb\x1d\x09\x59\xae\x4b\x83\x1c\x59\x32\x23\x0c\x54\x4a\x48\xdb\xca\x26\x71\x90\x51\x85\xc8\x71\x97\x97\x0c\xf9\x6a\x4a\xa6\x6d\x3c\xaf\x35\xb0\xdd\x60\x92\x9d\xb1\x9c\x0c\xb9\x5a\xad\x50\x6a\x6e\xde\x5d\x8a\xfb\xef\xbf\xbb\xe9\x08\x0d\xb3\xc0\x0a\xcd\x59\xbe\x0b\x46\xc1\x19\x9d\x74\x79\x92\x9d\x8c\x19\x64\x6d\xc6\xf0\x0f\xd1\xc1\x09\x93\x65\x1f\x03\x30\xcd\x01\x43\x48\xcd\x8b\x1d\xe4\x1c\xe9\x11\x52\x18\xeb\x4b\xfb\x6b\x4c\xec\x92\xd1\x32\x0f\xeb\xb6\xb5\xa3\x42\x69\xf9\xaf\x80\x80\x5a\x41\xa5\x79\x26\x4c\xf4\xf1\x43\xc2\x9a\xd5\x76\x0e\x8e\xcc\xb6\x20\xfe\x6f\x70\x50\xad\x53\xae\x34\x9c\x71\xda\x83\xa4\xe1\x52\x6c\x17\xaa\x44\x7e\xbf\x27\x3d\x55\xd3\xbc\x70\x24\x6c\x44\x15\x25\x0e\x7f\xb8\xd9\xb2\xa2\xe0\xf6\x26\x9c\x03\xa3\x8d\x9d\x80\xcb\x6c\xed\x06\xe1\xf2\xc2\x74\x55\x97\x39\x7b\xa7\xb6\x92\x6b\x28\xc5\x7a\x63\x61\xcb\xa4\x25\x53\x5d\xf1\x4c\xac\x76\xfb\xa9\x3e\x78\x16\xda\xc4\x1b\x0f\xd4\xe4\x49\xca\xcd\xc9\xd0\x22\x5d\x8f\x59\xe9\xa1\xa8\x35\xab\x2d\xfc\x69\x41\xba\xf8\xf5\xd7\xf4\xd7\x0f\x0b\xd4\x48\x98\xc3\xc9\xb3\xda\x7a\xe5\x69\x94\x57\x48\xfc\x4a\xe4\xa0\x99\x5c\x73\x10\x53\x0e\xef\x2f\x26\xdf\xfc\x72\xb2\xc7\xad\x42\x88\x96\xa2\x75\x5e\x44\xf3\x30\x50\xf3\xac\x2d\x2c\x10\x8b\xfe\x4f\xc7\xcf\x24\x1f\x50\x22\x09\x9e\xd2\x35\x73\xc4\x09\x2f\x53\x17\x8d\x92\xf7\x6b\xcd\xf5\xce\xf9\x92\x9b\x37\xc1\x0f\xdf\x04\x7f\x4b\xcd\x31\xaf\x2e\xaf\x9b\x90\x19\x65\x8a\x14\xec\xbe\xe2\x99\x75\x26\xb5\x62\xbb\xc6\x87\x7b\x8b\xe0\x6a\x60\x98\x15\x91\xf4\x84\x00\x7d\xa4\x87\x47\x38\xdd\x92\x8d\xd6\x6c\xe7\x05\x55\xb3\xec\xd6\x19\x09\x21\x73\x71\x27\xf2\x9a\x15\x0d\x06\x5d\x39\x45\xe6\x46\xf5\xbc\x92\x2b\x65\xe6\xf0\xde\xf3\xe7\x97\x03\x67\x44\x3e\x48\x1e\x98\xd4\x15\x3c\x0c\x9c\x50\x64\x9c\x57\x61\x16\x4c\x4d\x95\x3f\x56\x14\x24\x70\x8d\x3d\x8f\x8e\x5f\x2a\x8b\xc2\xb6\x26\xff\xef\x0f\x73\x52\x37\x41\xaa\xc3\x30\xb4\xb6\xac\x78\x46\x42\x73\xd1\xf9\x19\xf7\x3b\xf8\x23\x21\x23\x9e\x03\x2a\x90\x00\x89\x1f\xff\x10\xe6\x4e\xbb\xc2\xd8\x16\x6d\x66\x0c\xd7\xf6\x34\xce\x73\xca\x33\x81\x92\x1b\xc3\xd6\x7c\x0e\x27\x6f\x1d\xb1\x71\xfd\xf1\xd4\x9e\x9c\x75\xd9\xf8\xd4\x18\xb1\x76\x66\x2c\xc0\x1b\xd4\x21\xb7\xd2\xa2\x3f\xa8\x53\x9b\x7d\xe3\x22\xdd\x14\x1e\x55\xfa\x06\xab\xa3\x9d\x43\x74\x46\x12\x97\x14\xed\x5d\x3b\x07\x4f\x64\xdd\x09\xed\xf1\x5a\x6b\xac\xe0\xc7\x40\x4d\x70\x73\x7a\x96\x88\xd4\x81\xf3\xc7\x01\x1a\xe1\x50\x1a\xd6\xa8\xd0\x17\x4a\xc2\xde\x74\xf8\x73\x2c\x05\x6b\x38\xf2\x90\x04\x2c\xce\x7a\x6c\xfa\x15\x01\x8c\x4c\xbe\x52\xd3\xd4\xd5\xb0\xcf\xd2\x7e\xe0\x5c\xb0\x3b\x57\x24\x2b\x12\x7d\x12\x05\xaf\xa4\xef\xe4\x58\x50\x18\xdb\xe6\x2e\x16\x47\xa8\x13\xae\x01\x41\xa1\x3b\xbf\xe3\xd2\xd6\x14\xfa\xa5\xb0\x58\x0c\xc3\xcd\x56\xd8\x6c\xb3\x54\x98\xcf\x05\xd7\x35\x89\x70\x37\x4e\x10\x42\xab\xda\xb2\xf6\x60\xe9\xa8\xb2\x85\x5c\x64\x10\xfe\x25\x55\xa7\x2d\xae\x7b\x2a\xd6\xa4\x28\x31\x43\x0b\x08\x61\x52\x98\xba\xd0\x21\xe1\xe9\xeb\xd4\x60\xf2\x33\x4f\xd7\xf9\xd8\xdd\x87\x59\x45\x3f\xce\x7c\x06\x79\x79\xfd\x26\x5d\xf6\x48\x09\xd7\x77\x8d\xb9\xb3\xdb\xa4\xff\xd1\xd7\xb0\x5e\x5d\x5e\x4f\x7b\x9b\x13\xd2\x10\x4a\x30\x35\x13\x2e\xb4\x4c\xdc\xd8\x2d\xdf\xcd\x5c\x48\x52\x31\xa1\x0d\xb0\x42\xc9\xb5\xcb\x34\x8d\x2a\x1b\xbd\xa3\x52\xef\x3d\x6e\x2b\x1d\x5f\xd0\xba\x6c\xa9\x6a\x27\x44\x04\xfa\x98\xaf\xbd\xc6\x41\x09\x4f\x06\x1a\x12\x09\xce\x14\x7e\x16\xb7\x1c\x7e\x62\xd9\xed\x5a\xab\x5a\xe6\x13\x78\xb1\xe3\x66\x02\x7f\x65\x42\x77\xba\xc5\xc6\x76\x0c\xd2\x4a\xb5\xcc\xb9\x2e\x28\xd4\x75\x24\xa7\xab\x4e\x82\xe1\xb1\xe1\x6b\x62\xb4\x71\x1d\x7b\x34\x04\x2a\xad\xee\x44\xce\x03\x33\x82\xb5\x22\x60\xfb\x71\xa2\x9f\xe7\xf0\x54\xee\x5c\xd7\x6c\x0b\x2f\xdf\x1e\x87\x16\x22\xdd\x2f\xb3\x51\x5b\xda\x80\xb8\x96\x63\xf6\xd6\x45\xce\xc2\x38\xb6\x61\x78\xe4\x48\x89\x82\x92\x02\x47\x39\x17\xd2\x58\x26\x33\x3e\x81\x9d\xaa\x21\x23\x15\x37\x01\x2b\x5c\x8a\x41\x2d\xc5\x3d\x58\x51\x72\x63\x59\x59\xb9\xec\xdd\x47\xe1\x2d\xfc\x98\x81\x93\xe7\xcc\xf2\x13\x22\x9c\x17\x45\xba\x56\x55\x30\xbb\x52\x98\xcb\x61\xd6\xab\xa4\xa9\x4b\xdf\x04\xe2\x78\x47\xed\xb9\x14\xb2\xf8\xe2\x00\x30\x7f\xee\xb5\x3f\xd0\x6f\xd6\x1e\xe8\x03\x40\x77\xcb\x34\x26\x85\x18\x58\xb2\xc2\xa8\x68\x1d\x5c\xf5\xb5\xd8\x79\xcd\x60\xd6\x6a\xb1\xac\x6d\xeb\x30\xbe\x2d\x1c\x4e\x5b\xa2\x4b\x09\x69\x1f\xa1\x59\x14\x0d\x04\x43\xcd\x12\x9e\x44\xff\x5d\x10\x83\x57\x97\xd7\xbf\x37\xa0\x09\xa7\xfd\xd2\xe0\x7e\x9f\x7b\xdc\x07\xfb\x1a\x5a\x4d\x8b\x3d\xf1\x99\x0c\xf2\x65\xd2\x05\xfc\xf0\x26\x45\x27\x11\x0b\xb7\xe0\x40\xbe\x90\x48\xc2\x22\xc5\x61\x20\x35\x71\xfb\xb2\xf0\x38\x8d\x4c\x28\xc8\xdc\x91\x99\x0c\x91\x4f\xb0\x58\xc7\xed\x9b\x9f\xe8\x27\xd0\x09\xe5\x08\x13\x17\xc1\xa5\x9a\x36\x60\xe2\x38\xcb\x36\xde\x36\x1d\x34\x6e\xe6\x40\x75\xdc\xa1\x36\x87\xf7\x34\x72\xcf\xb1\x6d\x67\xd0\xe0\x1e\x7a\x1a\x17\x7e\xf0\xbe\x50\xf4\x69\x9e\x9b\xc6\x69\x38\xdb\xeb\x05\xd5\xe3\x8a\x0b\xef\x0f\x4c\x5d\xa4\x46\x43\xe7\x64\x3d\x9d\x1a\x7b\x72\x2d\x29\x1b\xcb\x73\x9e\x1f\x8d\x46\xd1\x69\xb2\x3c\x27\x50\x48\xe3\xdc\x41\x3d\x40\xdc\x14\xa5\x42\xe6\xa7\xf6\x40\x17\x47\x3b\x08\x4d\x48\xfa\x52\x61\xa8\x47\x61\x5c\x0c\xea\x06\x3f\x28\x00\x75\x53\x1e\x1b\x7d\xba\xd9\x23\x43\xcf\x9e\x30\x87\x7f\x9f\x21\xee\xf4\xfb\x16\x3b\xa9\xac\x02\xce\x8c\x28\x28\xf5\xb9\xe3\xda\x52\xc7\x19\xfd\xc6\xf4\x8e\x76\xc2\xc9\x04\x5c\x2a\x8d\x46\x20\x09\x49\xc2\xf9\x95\xf1\x67\x08\x8a\x0c\x36\x59\x68\x2e\xa8\x6b\x31\x74\xbd\x87\x4d\x22\x3b\xe0\x7d\x3a\x51\xd9\xc4\x9d\xe4\xab\x4a\x6e\x37\x2a\xb6\xbe\x9b\x7a\xb5\x12\x4e\x1c\xd6\xe2\x8e\x82\xd2\x92\x1c\x0a\xa5\x6a\x6a\xe5\x2b\x37\x1e\xc1\x7d\x62\x86\xd4\x38\x15\x6a\xd3\xb5\xe4\x81\x64\x67\xc3\xae\x1b\x7d\x4e\x66\xf3\x7b\xba\x56\x92\xbf\x62\x25\x37\xf3\x56\xb7\xb5\x6f\xcc\x72\xd8\x78\x87\x1d\xea\x78\x37\xb8\xd6\x4d\x04\x16\xfe\xdd\xf2\x9d\x67\x16\xd3\xce\xbd\x6d\x99\xf4\xeb\x2f\x79\x86\x66\xf0\xc6\xe1\x71\x33\x18\x44\x53\xc4\xcc\x70\x42\xd7\x88\xec\x13\x76\xc4\xe3\x5a\x79\x79\x77\xac\xf8\xe8\x10\x4f\x7c\xda\xa7\x49\x97\xce\xf7\x6e\xcc\x2f\x3f\x9e\xcd\xfb\xe2\x38\x9b\xc1\xb3\xb8\xf9\xae\x88\x68\x7c\x15\x31\x90\x14\x7d\x88\x8f\xe2\xdc\xf1\x80\xd0\x4d\xd4\xec\xef\xeb\xe4\xd3\x4e\x98\xb8\xeb\xd4\x23\x37\x4c\xe6\x05\x77\x2e\x82\x98\x8c\x99\x0d\x15\x38\x6d\x33\xf8\x1f\xb5\x49\xd6\x26\x39\x09\xf0\xa9\x99\xb9\x28\xa6\xa9\xda\xb6\x88\x85\xaf\x16\xa8\x28\x1d\x75\xc3\xd8\xed\x16\xd1\x6e\x8d\xfd\x6a\x40\x29\x91\xa9\x53\xcd\x4b\x75\xc7\x4f\x6f\xf9\x6e\x0e\xb7\xdd\xce\xb9\xe6\x53\xfc\x38\xe0\x92\x60\x01\xef\x7f\x79\xd2\x5b\x9f\xc0\x93\xdc\xb4\x97\x8e\x10\x60\xe1\x76\xc8\xc7\x2d\xb7\x31\x64\xc1\x99\xef\x6f\x7f\xf9\xaa\x13\xb1\x48\x51\x34\xd1\x8a\x14\x45\x1b\xdb\x8e\x07\x20\x4f\x31\x44\x40\x10\x4a\x27\x58\x6e\xd6\x59\xd7\xd8\xc4\x3a\x78\xac\x58\xf6\x8c\x86\x30\xa6\xe6\x4d\x21\xd3\x5f\xbe\x8a\x10\x28\x13\x72\x07\x27\x25\x5d\x67\x33\xa2\x14\x05\xd3\xc9\xed\x33\x04\xcb\xef\x59\x89\xd3\x99\x84\xff\x43\xc3\xf0\xcd\xc5\x05\x46\xd9\xee\x44\x2b\x02\x13\x12\x23\x64\x77\x32\xe7\x82\x97\x55\xed\xee\x80\xb9\x1a\xba\x3b\x1e\x48\xcf\x35\x9b\x88\xe7\xa9\xeb\x11\x70\xe2\xb6\xc4\x58\x46\x53\xa6\x12\x31\xe7\xb9\x20\xb2\x26\xb0\xdd\x88\x8c\xfa\x87\xb7\x1b\xea\xf2\x0e\x3f\xed\xc3\xc3\xb1\x12\x25\xd5\x38\xeb\xe6\x5b\xd5\xc0\xb5\xaa\x91\x7d\x39\x96\xdc\xbd\x70\x4b\x1c\xbb\x71\x96\x62\x12\xc6\x5c\x36\xfc\x9b\x38\x2b\x9c\x85\x42\xc4\x5b\x6e\x27\xf0\xba\x60\xbb\x09\xbc\xe5\x5a\x70\xd3\x3e\x97\xf0\xed\x73\xee\x36\xc3\x96\xed\x92\xf6\x09\x07\x22\x2b\x98\x31\x98\xc6\xa0\xfd\x08\x0c\x1a\x95\x3c\xfe\xd8\xa7\xc3\xcf\x4f\xba\xf5\xf6\x5c\xa8\x22\x8a\x98\x84\x93\x6f\xbf\x0b\xb2\x70\xfa\xbb\x6f\xbf\x9b\x7d\x73\x71\x71\x76\x42\x6d\x27\x2e\xd9\xf4\x80\x84\x81\x6f\xbf\x3b\x90\xd2\xd2\xa8\x39\xbc\xbb\x92\xb6\x7b\xce\x83\x68\x95\xec\x7e\x10\x35\xcc\xbc\xfc\x29\xb2\x17\xea\x69\x67\x6e\xf7\xa6\x57\xa8\xb0\xf8\x34\xd7\x55\x59\x0a\x51\x0a\xcb\xf3\x73\xbf\x04\xcf\x87\xa1\x8d\x20\x19\x11\x15\x06\x7f\x1b\x9c\x4a\xed\x38\xa4\x6e\xb5\xf4\x8b\x06\xba\xdc\xdc\xa6\x3e\x85\xf9\xab\x55\x68\x3b\xc6\xdd\x1b\x2b\xd9\x7d\xe0\xdf\xd1\x84\xeb\xc7\x49\x87\xe3\x93\xd6\xf4\x81\xf0\x09\x71\x1b\x34\xe1\xd0\xd4\xb3\xfd\xc6\xfc\xb0\xc0\xd1\x5f\xa5\xe5\xec\xeb\x46\x10\x32\x26\x87\x2a\xd7\xd6\x6f\xb2\x1b\xf5\xd5\xc9\x3e\xeb\x0e\xa3\xb2\x3c\xbf\xd6\xa2\x9b\x7c\xc7\x01\xb8\x14\xa1\x39\x32\x6d\x6b\x9d\x03\x05\x33\x30\xaa\x59\xd6\x0f\xfe\x17\xda\x65\x7b\x2a\xdd\x3a\x5d\x6c\xd9\x4b\x16\x2c\xe6\x5e\x29\x41\xab\xf8\xb3\x30\x76\x0e\xef\x3d\x66\xfb\x9a\x6b\xfb\x03\x87\x3b\x6c\xfd\x38\x58\xc4\x29\x63\xf3\x99\xc8\x9a\x2f\x75\x93\x2f\x22\x30\xb2\xad\xc9\x0f\x7f\x58\x4f\x93\x9f\xf4\xe8\x86\x26\x3f\x7f\x6c\x37\x53\x23\x6e\x5d\x2d\xfd\x5c\xad\x4c\xb1\x0a\x47\x71\x79\x70\x46\xe7\xae\xb9\x29\x07\xc3\xb5\x60\x45\x90\x5f\x57\x14\x0f\x07\x96\xad\xd4\xe6\xb5\x9b\x68\x60\xc3\xee\x78\x72\xf5\x9d\x00\x79\x2a\x28\x6c\xa0\x48\xbe\x03\x37\xda\xc9\x08\xee\x2d\xc6\xae\x25\xdb\xc5\x1e\x9c\x57\x97\xd7\xe8\xf6\xd7\x35\x46\x32\x57\xcf\x5d\xc5\x2f\x1d\x94\xdc\xb7\x6f\xf2\x2d\xe7\x4c\xc3\x45\x2f\x77\x97\x67\xea\x6e\x9c\xb4\x10\x10\xa6\x75\x5e\xbb\xe4\x50\x4b\xf1\x6b\x4d\xed\x2f\xfe\x52\x20\x79\x6f\x72\xdb\x84\x0a\x9a\x7d\x8a\xd0\x99\x0d\x4c\x3b\x66\x3c\xde\xba\x25\xf7\x17\x5c\xf6\xf9\xcd\x54\x93\xdb\x63\x86\x4b\x66\x7b\xec\xe5\x11\x05\xf6\xe8\x7d\x29\xf5\xf5\xcb\x8f\x53\x5e\x37\xf8\x41\xaa\xeb\xa6\x3c\x56\x71\xdd\xec\x91\x6a\xdb\xdb\xe8\xcf\xad\xb4\x4d\x7f\xb0\xaf\x5b\xa6\xe1\xb1\x57\x52\x57\x45\x4b\xca\x99\x38\x9b\x7a\xb1\x5c\x32\x1d\xa6\x4a\xce\x73\xe3\xb2\xc6\x3b\x1e\x8a\x10\x26\x53\x9a\x72\x87\xb4\xe5\x62\x59\x5b\x10\x74\x4b\x3e\xc2\xa3\x39\x4b\xd5\xd4\x25\xf7\xc9\xbe\xaf\x7b\x7f\xec\xc5\x82\x7e\x25\xdf\x37\xe8\x46\x51\xe1\xfd\x48\xa5\x9d\xe6\x85\xe6\x97\x81\xd0\xb7\x64\xf7\xa2\xac\xcb\xe6\xd8\x84\x26\x1c\x89\xb7\xf6\x01\x1b\x78\xb1\x21\x45\xd5\xdd\x5e\x3b\x72\x81\x31\x66\x08\x3f\xf3\x35\x97\x39\xd3\xbb\x09\xbc\xa8\x44\x36\x41\xde\xf0\x09\xbc\x93\x99\x2a\x4b\x8c\x1c\x9f\xd1\xff\xdb\xa9\x82\xbf\x20\xd7\x2e\x74\x8f\x68\x33\x1a\x0c\x1e\xdb\xbc\x9b\xb4\x88\x1f\xec\x23\x1a\x8a\x21\xdd\xc6\x2d\x5c\x14\xf9\xf5\xd7\x2d\x1e\x2d\xf6\xc5\x96\x15\x93\x22\x3b\x3d\x79\x1a\xe4\x21\x0a\x9f\x09\x5b\xda\x7e\x82\x44\x69\x92\xae\x5e\x00\xd9\x37\x7a\x1e\x9d\xce\x36\xc3\xfe\x10\x11\xfe\x85\xae\xa2\x4e\x3b\x81\xa3\xe5\x4b\x56\x72\x3d\x0a\x23\xbb\x09\x68\xf0\xc3\x5a\x09\xdc\x09\xcd\x63\xfb\x08\x68\xf6\xd8\x26\x82\xae\xa5\x08\xff\x3e\x83\xf1\x7c\x75\x79\x4d\xf6\x73\xab\x59\x65\xa8\xde\xf6\x8c\xde\x40\xa1\x57\x73\xdc\x21\xcb\x8d\xc8\x5d\x5f\xe0\x4d\x5d\xe3\x47\x57\x8c\x73\x27\x8c\xfe\xf4\x26\x82\x0b\x45\x56\x46\xfd\xdf\x05\xb7\x1c\x2a\x91\x51\x37\x6f\xbc\x5f\xe4\x5f\xc8\xa1\x98\x61\xf0\x79\x9c\x08\x6d\xd4\x33\x39\x81\x82\xfd\x41\x84\xc8\x63\x00\xb1\x6f\x08\x52\x76\x74\x90\x2f\x80\xcd\xdb\x6f\x0b\x4d\xc3\x6b\x16\x7b\xe7\xf1\xa6\x03\xbf\x3b\x37\xbd\x11\xb0\x77\x7e\x53\xee\x7a\xce\x2c\x9b\x23\xc5\xcf\x5a\x5f\x8d\x9a\x1a\x90\x6f\xcf\x3e\x86\x7b\xec\xcf\x48\x9b\x67\xf6\x8e\x0e\xc5\x48\x7f\xcc\x71\xf4\x65\x17\x91\x43\xcc\xd0\x5b\x3f\xe0\x7e\xec\xf9\xc9\xef\x02\xec\xdb\x86\xf6\xe8\x84\xf7\xbd\x19\x29\xf3\xdb\xb3\xda\x1c\x87\x21\x96\xef\x9d\x10\xd1\x1b\x64\x74\x7b\x5a\xd3\xfd\x92\xb2\xb7\xf3\x84\x4d\x87\xa7\xe1\xfb\xe1\x6c\x35\xa7\xdb\x70\xfd\x1f\x88\xa1\x0b\xe2\xeb\x80\xbd\xf7\x38\xc7\x13\xe1\xfe\x90\x94\x8f\x8b\x94\xab\xfd\xa1\x1d\xe6\x2d\x3a\xdc\x3c\x38\x21\x22\xd2\xfb\xae\x3f\xad\x61\xde\x62\xa0\x91\x13\x8e\x1f\xb5\xc2\x21\x17\xe6\xaf\x73\xf5\x8e\x46\x12\x87\x85\x26\xe3\xda\x97\x28\x44\xfe\x9b\xb8\xb3\x60\xdc\xc6\xb9\x31\x3f\xfa\xb4\xb1\x65\x93\x07\x78\xb4\xbe\x21\xa5\x0c\x6c\x65\xff\x36\xc6\xa3\xf9\xd9\xe8\xd2\x52\x8f\x18\xa6\x0f\xd6\xd6\x82\x5b\x72\x63\xbe\x02\x66\xbe\x0a\x58\x24\xdb\xd4\xf5\x62\x81\xca\xbe\x25\x11\x79\xdf\x8a\xcc\xdb\x78\xe3\x57\x83\xf6\xa4\x6b\x1c\x92\xa7\x8d\x52\x00\x67\xe3\xcd\x4b\xe7\xa2\xd8\x01\x28\x3d\x73\x43\x82\xeb\x36\xb4\x6d\x76\x46\x42\x89\x36\x68\x18\xd0\x71\xba\x52\xc3\x14\x60\x34\x2d\x97\x07\x26\x7a\x6d\x6b\x66\xf9\xb3\x9d\xd6\x94\xc6\x86\x1d\xc9\xe5\x5c\xbb\x76\x93\xc8\xf9\x47\x4e\xe8\xa9\x1c\xff\x6c\xa1\xd5\x82\xdf\xf1\xe1\xde\x92\x43\xb7\x3e\x5d\x84\x5d\x57\xc0\x3a\xb7\x31\x5d\xf9\xba\xd2\xaa\x6a\x1a\x09\x69\x45\xb6\x76\x6b\xba\xf6\xbf\xe6\x1e\xd2\x98\x4b\x68\xbd\x8d\xec\xe4\x7d\xee\xb1\x18\x19\xd7\xd9\x6e\xb8\xf6\x9d\x57\xfe\x46\xb6\x0e\x77\xc2\x62\x3d\xc6\x3d\x18\xb4\xff\xcc\xc1\xc3\x7a\xed\xdf\x54\x89\x7f\x74\x9e\xa9\x71\xd4\x50\xfb\xa7\x3b\x73\x2a\x6b\x43\xc5\xd6\x42\xc8\x5b\xb7\x98\xdf\x8d\x01\xc2\xe3\x29\x45\x28\x7c\x41\x3c\x9d\xca\x8a\x9a\xae\xa8\xc7\x5b\x7f\x44\x48\xb8\xcf\xe7\x4f\xc9\xbc\xc2\xb8\x70\xb3\xf9\x71\x2f\x4d\x55\xec\xcb\x4c\x7b\x34\x3b\x14\x69\x71\xc7\x2c\x4f\x49\x6a\x4e\x1d\x7a\x44\x51\xfb\xac\x3b\x2b\xd1\x2d\x30\xc9\xb5\x34\xab\x48\x28\x72\xcd\xb6\x2e\x6c\xa5\x3b\x0e\xee\xae\x5f\x14\x9b\x8d\x2a\x88\xde\x78\xf5\x61\x10\x7f\xbf\x92\xa7\xc0\x61\xba\x77\x53\x12\xe8\x74\x0a\x14\x1e\xd9\x6a\x5d\xa4\xf0\xed\x8c\xae\xcd\x81\x5e\x72\xd2\x9c\xe5\xe7\x74\x0e\xe4\x96\x27\x59\xf7\xbb\xd0\x5a\x26\xf4\x6f\x18\x38\xcd\x79\xa5\x8c\xb0\xf0\x07\xf4\x23\x57\xcf\x0d\xfc\x01\x96\x4a\x6b\xb5\x7d\x75\x79\x7d\xe6\xda\x36\x64\xbb\xd3\x28\x3d\x85\xf5\x47\x7e\x25\xdb\x25\x27\x3b\x4b\x0e\xfc\xd7\x9a\x15\xc1\xdf\x11\x09\xbe\x52\xea\xae\x8d\xdd\xb8\xed\xfc\x99\xf6\x04\xbd\xc8\xcd\x7e\x69\x76\x43\x1b\x25\x9a\x03\xb5\xad\xb5\xab\x0a\x91\x49\xbd\x0d\xf7\xa7\x09\x6c\xa5\x34\x25\x1a\xee\x14\xac\x6a\x84\x7f\x1a\xdb\xd1\x24\x9a\x9b\x02\xb9\xd7\x02\xae\xb9\xb1\x5a\x38\xb6\xe3\x3a\x64\x26\x4a\x26\x77\x89\xdc\xd2\xd5\x3e\xb6\x2c\xe8\xc4\xb6\x35\xfb\x06\xad\x53\x68\x14\xf6\x97\x2b\x6f\x06\x7d\x71\x43\xe2\x4d\x4b\x5d\xe8\xe9\xaf\x5f\x6b\x71\x50\xe7\xbb\x0c\xfd\x3c\x5c\x4a\x14\xaa\xcf\xa6\x16\x6c\x36\xcc\x26\xaa\xae\x95\x42\x52\xfd\x89\x3a\x5b\x90\x1d\xaf\xbd\x32\x24\x74\x1e\x55\x9c\xc3\xa4\x5d\xc6\x86\x24\x77\x45\xb0\x50\x5b\xe3\xee\xcb\xfa\x3a\x15\x93\xc0\xcb\xca\xee\xba\x36\x3f\x68\x16\x22\x12\x4c\x2c\xd9\xd7\x16\xf8\x60\xe9\x0e\x5c\xe6\xa3\x33\xbf\x17\xb8\x44\x2a\xaa\xab\x5a\x9e\x9e\xcd\xe1\xcf\x1f\xbb\xef\x0b\x4f\x9b\x51\xc7\xdf\xc1\xdc\x67\xd0\xdb\x1e\x78\xd8\x44\x76\xc6\xec\x33\x43\x43\xa0\xba\x3a\x37\x34\xa6\xbb\x2d\xc3\xcb\x1d\x1e\x35\xc8\xbb\xb0\xa3\x63\x79\x18\x80\x8d\xbb\xe7\xd7\x45\x7e\x2a\xcc\x5b\xf7\xe8\xd2\xa9\x5a\x39\x1c\x7f\xf8\xba\xbf\x60\xd0\xe3\x09\x1c\xd1\xe0\x4f\x18\x0e\xcf\xe1\xc4\xdb\x73\x52\x08\x72\xaf\xbe\xaf\xa8\xf7\x0c\x75\x04\x4d\x06\xe2\x08\xf4\xd4\xf0\x9c\xf4\x69\xeb\x31\x7d\x24\x75\x41\x2d\xc7\x53\xe7\x27\x8c\xa1\x2f\x8e\x7d\x10\x7d\xd3\xa3\x17\x29\x13\xdd\x58\x24\x9f\xfb\x03\x1b\xf5\x58\x34\x1f\x07\x86\x25\x1a\x02\x8b\x96\xc2\xec\x83\xd9\x20\xbe\xe8\x7e\xb1\x6f\x4a\xb3\x37\x8b\xee\x17\xfb\x51\x6a\xc6\x24\x88\x1d\x9a\x38\xa8\x58\x8b\x83\xea\x36\x36\x4b\xee\xc7\xb5\x54\xee\xdd\x86\x6b\x97\x74\xe9\x27\x34\x84\xbb\x28\x26\x8f\x0d\x5d\xff\x9e\x42\x70\x1f\xc5\xd1\xc9\x74\x27\xf7\x7a\x48\x79\xb8\x5f\x30\x7a\x64\xa5\xb8\x07\x68\x64\xd1\xf8\x50\xc6\x11\xfe\x7d\xfe\xc3\xb7\x3d\x09\x9b\xbf\x0c\x43\xb7\xf1\x83\x13\xfd\x7d\xf2\xec\x6d\xf3\x14\xce\xa8\xc4\xcd\x95\x98\x25\x84\xc7\x70\x5a\xef\xb2\xd3\x53\xdd\x22\x33\xe1\x58\xaa\xe7\xe9\x7d\x4e\xb5\xe4\x85\x92\x6b\x84\xf7\xc0\xec\xad\xf7\x9e\xf0\x6c\x06\xaf\x58\xd9\x8b\xa9\x08\xfb\xed\x86\xcb\x50\x62\x70\x6d\xbd\x7e\xf9\xee\xf3\x3f\xdd\xa5\x0f\x5e\x84\x7a\x9e\x1c\xd0\x0c\xad\x3a\xc4\xa3\x90\xa9\x8d\x59\xf8\xc8\x4b\xe5\xf1\x4d\x19\xf7\xfc\x08\xdd\x3f\xf2\x8f\x32\xd1\x52\xf4\x5e\x47\x2a\x06\xe1\x92\xd9\xc8\xe5\xc7\x15\xcc\x5b\x18\xbd\xfd\xb5\x66\x9a\xfb\x46\x23\xf7\x20\x6d\xeb\xe6\xdd\xe8\xb5\x0d\x01\xba\x2a\xa9\xb1\xab\xbd\x36\x3d\xf7\xd6\x5a\xf5\x27\x26\x25\xd7\xad\x55\xe3\x33\x2b\xcd\x62\x93\x6e\xf2\x4e\x67\xc4\x8c\x3a\x33\x41\x72\xa6\xe1\x9b\x6f\x2f\x2e\xee\xbf\xff\xe3\xc5\x7e\xb4\x96\xb4\xd2\x48\xb4\xde\xaa\x4c\xf8\xcd\x31\x8e\x0d\x74\xf7\xa5\x8d\xd5\xef\x0d\x18\x37\x6e\xa3\x4a\x5e\xb1\x35\x6f\x75\x03\xc2\x6b\xe5\xdf\x71\xa6\xb6\x61\x9f\xda\x9d\xd0\x4d\xb4\xb5\x66\xe5\xc9\x04\x4e\xec\x56\x58\xcb\x35\x7e\xcc\x85\xc9\x94\xce\x4f\x8e\x5c\xed\x73\x2b\x9a\xa4\x7d\x7c\xef\xf6\xfe\xa6\xef\xc2\x8f\x93\xb0\xf6\x9c\x63\x92\xd1\x1e\x7d\x6c\xc3\x3a\xb0\x1f\xc2\x97\x30\xe9\x37\x7d\xc2\xfe\x01\x05\xff\x84\x31\xb0\x48\xd9\xd4\x1f\x9a\x70\x05\x16\x29\x8f\x06\xa0\x3a\x96\x20\x44\xf7\xe9\x71\x31\x49\xfa\x98\xfe\x70\x58\xe2\xa2\x92\x08\xec\x0b\x46\x27\x8f\x8a\x4c\x1e\xf1\xfe\xfe\xe0\xc9\xd4\x67\x89\x4f\x1e\xf4\x32\xff\x11\xb7\x1a\xfe\x3d\x3e\x4a\xf9\xf4\xe4\xff\x03\x00\x00\xff\xff\x4c\xaf\xc2\x20\x18\x68\x00\x00"
+var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x3c\x7f\x73\xdb\x36\xb2\xff\xe7\x53\x6c\x7d\x33\x3d\xfb\x9d\x2c\x39\xbd\xbe\xce\x7b\x9a\xea\x7a\x69\x12\xdf\xe5\x4d\x9b\x97\x49\xdc\xbb\x37\x93\xe9\xd4\x10\xb9\x92\x70\x26\x09\x16\x00\x2d\xeb\x32\xf9\xee\x6f\x76\xf1\x83\x20\x45\x59\xb4\x2f\xbd\xf8\x8f\x84\x22\x81\xc5\x62\xb1\xbf\xb1\x80\x2c\x6b\xa5\x2d\x5c\x36\xd5\x5a\x2e\x0b\xbc\x52\x37\x58\xc1\x4a\xab\x12\x4e\x3a\xef\x4e\x9e\xf8\x96\xaf\x55\x35\xd4\xb8\xff\x3a\xb6\xff\x9b\xc4\xed\x5b\x34\xaa\xb8\x45\xed\xdb\xa6\xaf\x4e\x9e\x3c\x99\xcd\x66\x70\xb5\x91\x06\x32\x55\x59\x2d\x32\x0b\xb2\xac\x0b\x2c\xb1\xb2\x06\xec\x06\xa1\x44\x2b\x72\x61\x05\x18\x2b\xaa\x5c\xe8\x1c\x6a\xad\x6a\x65\x30\xe7\xbe\xb2\x82\xcb\x1f\x5e\xbd\x39\xbf\xf8\xe6\x8f\xdf\x4c\xe9\x0d\xbf\x7d\x8b\xab\x39\x6c\xac\xad\xcd\x7c\x36\x5b\x4b\xbb\x69\x96\xd3\x4c\x95\x33\x55\xad\x0a\xb5\x9d\xad\x0a\x59\x9b\xd9\xb2\x50\xcb\x59\x29\x64\x35\x13\x75\x5d\xc8\x4c\x58\xa9\xaa\xd9\x57\x17\x5f\x3d\xbd\xf8\xef\xa7\xdf\x9c\x57\x2b\x7b\x1e\x06\x9f\x96\x79\x84\xfd\xce\xea\x26\xb3\x06\x44\x95\x83\x46\xa3\x1a\x9d\xa1\x81\x4c\x54\x2d\xe6\xa0\x2a\x04\xa5\xa1\x54\x1a\xb9\x4f\x9c\x84\xdd\xd5\x68\x26\x90\x89\xa2\xc0\x1c\x6e\x25\x6e\xcd\x14\x5e\x8a\x6c\xc3\xcf\xfc\x19\x34\xd6\x1a\x0d\x11\x80\xfb\x0a\xc8\xe5\x6a\x85\x9a\xe0\xde\xc8\x2a\x07\xb5\x8a\xf0\x26\x60\x9a\x6c\x03\xc2\x80\x80\x4c\xa3\xb0\x4a\xc3\x52\xaa\xb5\x16\xf5\x66\xc7\xbd\x95\x06\x01\xff\xf3\xe6\xe5\x5f\x40\x96\x62\x8d\xb0\x92\x05\x3a\x3a\x89\x2c\x43\x63\x4e\x45\x51\x9c\xb5\xc4\xff\xd1\x03\xa6\x55\x32\xf0\xe1\xc9\x13\x00\x00\x82\xf3\x42\x9a\xba\x10\x3b\x90\x34\xd4\x52\x18\x99\x79\x8c\x37\xc2\x82\xac\xb2\xa2\xc9\xd1\x2d\x58\x25\x4a\x9c\x40\x8e\x26\xd3\xb2\x26\x92\x12\xa5\x22\x1c\xbb\x69\xca\x65\x25\x64\x01\x2b\x42\xad\x02\xb5\xfc\x07\x66\x76\x0a\x3f\x2a\x63\xfd\x0f\x03\x66\xa3\x9a\x22\x4f\x08\x6a\x89\x45\x68\xc0\x69\x80\xc4\xff\xa7\x73\x30\xbc\x2e\x11\x51\x8f\x7b\x18\xf7\xca\x63\x46\xd4\x23\x2c\xfd\xb0\x69\x9b\x5e\x7b\x69\x60\x25\xb1\xc8\x61\x2b\x8b\x02\x96\x08\xb9\x83\x8c\x39\x31\x5d\x21\x8d\xe7\x01\xbb\x41\x8d\x2b\xa5\xd1\x63\xdd\x01\xb3\xe4\xb7\xda\xd2\x4c\x33\x55\x65\xd2\xe0\xf0\x98\xe9\x4c\x0a\xb4\x8c\xeb\x9c\x78\x4d\x56\xeb\xee\x4c\x9e\xc1\x56\x4b\x6b\xb1\xea\xd0\xf8\x13\x4d\x4b\x40\x8e\x56\xc8\xc0\x9c\x5d\xb0\x93\x0e\x28\xa3\x98\xe9\x97\xc8\x6c\x0e\xb7\xa8\x97\xca\x20\x9c\xe2\x74\x3d\x05\x01\xb5\xd0\x82\xf9\x10\x64\x65\x2c\x0a\xe6\x5b\x01\x46\x56\xeb\x02\xa1\x90\x15\x9e\x8d\xa3\x44\x32\xcb\x43\x04\x31\xa5\x28\x8a\x84\xb5\xa2\x04\x89\x47\xd2\xc6\xf3\xdf\x12\x41\xc0\x16\x97\xe7\x2b\x2d\xb1\xca\x8b\x1d\x8b\x0f\x9c\xca\x29\xb2\x4c\x4d\xe0\xcd\xeb\xbf\x9c\x75\x80\xb0\x3c\x78\xba\xec\x33\xcc\x84\x26\x7e\x03\xb5\x46\x16\xfd\x09\xa0\xcd\xc6\x51\x21\x4e\x6e\x0e\x1f\x2e\x65\x81\x1f\x5b\x1a\xf0\x42\xc9\x4a\xda\xd3\xf8\x8a\xfe\x52\x0e\x9a\x74\xbe\x0c\x50\xb4\xdb\x60\x7f\xb0\xf0\xe5\x0c\x3e\x74\x5a\x1a\x2c\x56\x53\x96\xab\x05\x0f\xb8\xff\x31\x65\xd2\x45\x3a\xf4\x7e\xd3\x76\x01\x17\x2d\x0a\xb1\x99\x43\xe2\x63\xab\x92\xfe\x8a\x45\x8d\x1a\xac\x82\x35\xb6\x72\xcf\x4c\xcc\x6a\x56\xac\x10\xb6\x62\xd7\x51\x18\xd4\xef\xcf\xc4\x9a\x25\x93\x2d\x18\xa2\x39\x3c\x03\x8d\xac\x64\x33\x24\x88\xc4\x2f\x3a\x18\xae\xa0\xe5\x5b\x08\x1a\x6d\xa3\x2b\x78\x56\x81\xe2\xb9\x88\x22\x8e\xef\xd4\xd0\x41\x2d\xb5\x6a\x2a\x42\xd7\xb7\x3e\xfd\xa5\x87\xc6\x97\x1f\x52\xfb\x38\x0d\x0f\x1f\xcf\x60\x1e\x46\xf8\x2e\x59\x02\xb9\x62\xe6\x60\x0e\x58\x74\x40\x4d\x3d\xf6\x04\xee\xf4\x6a\x57\xe3\xb7\xbe\xfb\x9f\x4e\xcf\xfa\x8b\x18\xa0\x78\x10\x20\xcc\x77\x89\x1a\x85\xde\x9f\x9f\xfb\x6d\xe7\xc3\xc7\x27\xfb\x4f\xbe\x61\xe5\xd7\x30\x59\xb9\xbf\x60\x85\x5a\x66\x20\x2b\x8b\x7a\x25\x88\xe4\x24\x36\xad\xe1\x03\xe1\x24\xcd\x58\xa5\x31\x07\x92\x61\x0d\x6a\xb5\x82\x6c\x23\x64\x35\x05\x62\x4a\x13\xc1\x79\x71\x6b\x0c\xe6\xb4\x76\x71\x21\x8d\xb3\x79\x66\x02\xb7\x32\x47\xe5\xd4\xb5\x22\x7d\x0d\x25\xe6\x52\x1c\xb5\x25\x2d\x7e\x34\x60\x42\x8b\xb4\x2d\x93\x8c\x96\xb5\xd1\xf2\xf4\x2c\xaa\xa8\xde\x94\xff\xc6\xc6\x52\x01\xde\x91\xef\x12\xe6\xe7\xac\xa7\xf1\xf0\xc8\x7f\x02\xc1\xb6\xe2\xaf\x57\x57\x6f\xe0\x54\x69\x7e\x78\x77\x06\x3f\xbd\xfd\xe1\x28\xb6\xd4\x94\xf0\x9c\xdf\x87\x2d\x2d\x74\xa3\x8b\x7d\x4d\xda\x6a\x91\xe4\xf3\xa0\xb8\x37\x9a\x04\xb4\xd1\xa9\x68\x3e\x80\x32\x3d\x90\x9e\x4b\x02\xe4\xc3\xe2\x3e\x4c\xc1\x96\x43\x5e\xbd\xb9\x7c\x17\x69\xc4\xbf\xfc\xf2\x83\xd0\xd8\x32\x45\x0e\xcb\x1d\x89\xb7\xd4\xec\xf5\x90\x73\x21\x73\xac\xac\x5c\x49\xd4\x70\xfa\xfc\xd5\x8b\xb3\x08\x44\x0b\x66\x16\xbb\x11\x6c\x19\xa5\xc6\xcc\xc2\x4f\x6f\x5f\x4d\xe1\x19\x64\x85\xa4\xbe\x89\xeb\xc8\x7c\xd8\x18\x74\xce\xca\xf3\x57\x2f\x5a\xa7\x47\xc1\x8a\x3c\x37\xe2\xbf\x42\x09\xf6\x19\xbc\x3f\x76\x2b\x05\xad\x37\xa3\xbb\x16\x16\xb7\x62\x77\x74\xa1\xa9\x71\x67\xa1\x3b\x16\xe8\xf9\xab\x17\xc4\x52\x34\xc4\xc0\x04\xc9\xeb\x62\xfc\x78\x44\xe7\x0d\x26\xbd\x3b\x90\x3a\x5e\x74\xae\x32\x33\x95\xf5\xca\x4c\xa5\x9a\x91\x2b\x83\xb5\x35\x33\x3f\xc2\xb9\xc8\x73\x4d\x1c\x5c\xad\x67\xa3\xcc\x59\x26\xf3\x61\x63\xfe\x46\xd8\x0d\x4b\x44\xa2\x5a\x6b\x7a\xe7\x95\x32\x2f\x7a\x50\xc8\xac\xec\x3d\xf1\xdc\xea\x28\xbd\x1b\x65\xe0\xa5\x01\x55\x15\x3b\xa8\x10\x73\xb2\xcf\xab\x16\xb8\x34\xe4\xb1\xc8\x1c\xe3\x92\xdf\x0b\x74\x04\x91\x08\xec\xb9\xd9\x19\x8b\xa5\x19\x47\x1e\x9a\x71\xa0\xcf\x77\x43\x32\x9a\xd0\x6f\xd2\x6d\x3d\x28\xb2\x99\xcc\x61\x41\x44\xdf\xff\xc4\xc4\x5d\x30\x8c\x21\x79\x6e\xe9\xd6\x54\x19\x73\xb9\x13\x58\xc7\x60\x4c\xf9\x4a\x58\x79\x8b\xa4\xa2\x5a\xee\xda\x63\xac\x7b\xe8\xb4\x51\xdb\x73\xab\x66\x9e\x85\xce\xe9\xf5\xb9\xaa\xce\xb7\xb8\x9c\xfd\xce\xc1\x3e\x6f\x74\x61\x0e\xae\x40\xb0\xc6\xe4\xe2\x1b\xa7\x62\x88\x2d\x85\xac\xe8\x31\xae\x6b\xa3\xe5\x51\xda\x8f\xd2\x58\xde\x5c\x7a\xc2\xb5\x44\x3c\x68\x2a\x4f\x68\x4a\xf3\xd9\xec\x64\x4a\x2c\x21\xec\x69\x58\x93\xb3\xf0\xe2\x64\x76\x12\x9f\x09\xd6\x59\xcf\xb8\x0e\x69\xcc\xc3\x50\x8f\xeb\xd0\x68\x69\x83\x1a\xdd\x4a\xbb\x71\x31\x8a\xd6\x68\x6a\x25\x73\x9a\x37\x5b\x49\x72\x1e\x8e\xaa\xa4\x1f\xa9\x65\x5f\x13\xb1\x76\x72\x2c\x81\x0e\xd6\x28\xe6\x5f\xb1\x6a\xeb\x7b\xb9\x2e\x8c\xce\xa5\x38\xe7\x20\x39\x53\x25\x92\x0c\xbb\xf5\x55\xba\x64\x2f\x7f\x57\xe3\xcc\x34\x4b\x6e\x21\x8c\xf7\x36\x97\x98\x03\xc5\x68\xd0\x81\x15\x59\x11\x6f\xb1\x50\x35\xea\x69\xa9\xfe\x29\x8b\x42\x4c\x95\x5e\xcf\xb0\x3a\xff\xe9\x1d\xb3\xe9\xec\xef\xb8\x9c\x91\x69\x9d\x7d\x4f\x51\xaf\xf9\x45\xad\x7e\xe1\x9f\x3f\xbe\xfa\xf1\xe5\x2f\xec\x68\x8e\x9a\x55\xa4\xe5\x7d\xa6\x37\x9d\xfa\x64\xbf\x4b\x57\xb6\x79\xbd\xa9\xc7\x82\xfe\xe9\x7f\x88\x9d\x17\xf1\xe9\x30\x5f\xfc\x5d\x8b\x9a\x7c\x69\xc7\xff\x4a\x43\xd9\x14\x56\xd6\x85\x5f\x36\x97\xa8\x18\xc5\x03\xa6\xcf\x04\xcf\x2a\x10\x7a\x29\xad\x16\x7a\x77\x6e\xe4\x3f\x31\xe7\x50\xc8\x87\xff\x3b\xa8\x9a\x72\x89\xe4\xdc\x79\x1e\x92\xa4\x25\x0f\x52\x91\xbf\xce\xe1\x3d\xb7\xfd\x79\x88\x84\xbf\xf4\xda\x0c\xea\x43\x6e\x02\x8b\xde\x60\x47\x22\x0c\x3f\xbf\x7f\x6b\x80\xd1\x1a\x41\x3f\xfa\xb8\xf0\xc2\x35\x7e\x50\x74\xe1\xba\x3c\x36\xb8\x70\xbd\x47\xc6\x16\x91\x51\xa0\xf7\xf7\x09\x42\x8b\x21\x0d\x57\xc8\x0c\x2b\x72\x19\xb3\x4c\x69\x56\x6c\x56\x45\xf9\x37\x75\x7e\xc7\x22\xef\x5b\x99\x76\x1d\xaf\x42\xd2\xa9\x13\x61\x78\x5f\x21\xf8\x56\x6a\x45\x7a\xf3\xf5\xe5\x15\x39\x0e\x1e\x46\x7e\x54\x5f\xfe\xe0\x51\x3a\xec\xa4\x13\x5e\xaf\xa2\xdf\x76\x9f\xd2\xf8\x25\xf1\xef\xee\x75\xdc\xbb\x20\x89\xfd\xe3\x8f\xb1\x32\x10\xf0\xfe\x4c\x42\x10\x86\x1f\x27\x05\xbe\xf5\x83\xc4\xc0\xf7\x79\xac\x1c\xf8\xee\x23\x05\x61\x9f\x0b\x7e\x03\x49\x88\xf1\x12\x39\x68\x4c\x74\xf2\x70\x2d\x96\xc0\xa9\x59\xc0\x3b\x8b\x9a\x88\x6b\xa4\x6d\x0d\xbd\x4f\xca\x27\x7c\xbf\xdc\xa5\xc1\x0e\xf1\xfa\x0d\xc2\x34\xc6\x35\xdf\x17\x2a\x23\xe8\x2a\xc4\x49\x8d\x41\x6d\x20\x8d\x81\x38\x09\xa7\xe5\x5a\xd2\x68\x9c\x08\xf3\x39\x60\x92\x1e\x4e\x54\xd7\x5a\xfd\x83\xfa\xd6\x14\x1a\x71\x70\x1c\x4c\xb8\xf3\x37\xa9\x61\xa6\x8a\x02\xd9\x15\x6d\x91\xc5\x75\x94\xe7\xed\x76\x3b\x2d\x77\x9c\xbd\xf7\xd0\x5c\xe6\xff\x16\x35\xd1\xfd\x5c\xad\xf8\x5b\x0b\xe5\x98\xa8\xbe\xf4\xf4\x21\xf2\x3d\x3a\xa6\xfe\x05\x46\x44\xd5\x8b\x7b\xe3\xdf\xae\x20\xa6\x58\x7d\x26\x61\x4c\x51\x18\x27\x90\x49\x8f\x07\x09\x65\xd2\xef\xb1\x82\x99\x80\x18\x29\x9c\xc3\xeb\xfe\xc9\x05\xd4\x31\xf9\x4a\x56\x18\x62\xf6\xb2\x56\x46\x2c\x29\xcc\x55\x3b\x51\xd8\x5d\xbb\xf3\xc5\x8d\xd7\xf2\x16\x0d\x94\x42\xdf\xa0\xad\x0b\x91\xa1\x01\xd1\x8a\x59\x53\x91\x3e\xcf\xd3\xd4\x9a\x02\xd3\xd4\x6e\xfb\xee\xf2\xca\x03\x95\x68\x8e\xda\xa8\xb7\x7e\xf8\x9e\x43\x17\x92\x77\xdd\x8d\xc0\xb7\x98\xa1\xbc\x8d\x09\x06\x84\x25\x56\xb8\x92\x99\x14\x7a\x17\x12\xf0\x7e\x3e\xdd\x6c\x85\x60\xce\x08\x26\x35\xd3\x68\xd1\x6d\x83\x85\x4e\x01\x30\x87\x28\xe1\xd7\x74\x8d\x96\xd6\xf5\xf4\xac\x17\x64\x66\xaa\x2c\xb1\xca\x5d\x42\xe6\x1c\x7e\x62\x25\xe4\xd3\xf9\xbc\x43\x46\x9a\xb0\xc2\x6d\xa2\x7f\xe0\xb2\x50\x5b\x37\x8b\x0e\x30\xdd\x9d\x92\x34\xd0\x18\x72\x1e\xae\xd7\x68\x3d\x6d\xc2\xac\xdf\x34\xcb\x42\x66\x6f\x84\xdd\x9c\x9e\x5d\x4f\x58\x1f\x56\xca\x76\xc1\xb9\xcc\x10\xd2\x62\x8b\xa6\xb0\xc9\xa8\x71\x52\x4e\xe9\xf2\xc6\x8c\x28\x0a\xb5\xf5\x3a\xd4\x2a\x68\xea\x9c\x50\xef\x00\x64\x92\x89\x5a\x2c\x65\x21\x2d\x27\xbe\x39\x16\x6a\x6c\xa3\x79\xd5\x1b\xd6\xfa\xbc\x39\xb3\xf6\x6b\xd6\x36\x3f\xa8\xc8\x02\x32\x73\x78\x1e\x1b\x7f\xfb\xe5\x87\xce\x6a\x4f\xc3\xbc\x3f\xfe\xa9\xcb\x1b\x3f\xba\xb0\x81\xbc\x8b\x90\x8d\xcd\x44\x91\x35\x05\x21\x4f\xd8\x89\x52\x35\xce\x69\x32\xa2\x40\xb8\x15\x45\x83\x60\xb5\xa8\xcc\x0a\xb5\x76\x3d\xba\x8b\xe0\x99\xb0\xa5\xd1\x6b\x65\x11\xce\xe1\x95\x4d\x76\x69\x96\x68\xb7\x88\x15\x5c\x4c\x2f\x98\xf8\x4f\xa7\x17\x5d\x30\x2f\xef\xa8\x8b\xe3\xa8\x64\x64\x69\xe0\x8e\x3b\x94\x2d\xe2\xd2\xc0\xc5\xf4\x3f\xbf\xa1\xa6\x55\xca\xb6\x5d\x80\xae\xff\x36\x20\xc0\x3d\xfe\x03\xee\xa6\xfb\xa2\x22\x8a\x62\x07\x35\xea\x0c\x2b\x4b\x66\x6d\x8d\x49\xa6\xdb\xed\x0d\x59\xd4\xa5\x21\xa2\x2c\x85\x91\x06\x6a\x25\x2b\xdb\x89\x2a\xa9\x91\x51\x85\xcc\x69\xa1\x97\x82\x48\x6b\x4a\xa1\x6d\xdc\xb8\x35\xb0\xdd\x50\xb4\x9d\x89\x9c\xf5\xb9\x5a\xad\x88\x73\xae\x7f\xba\x94\x77\xdf\x7c\x7d\xdd\x67\x1c\x61\x41\x14\x1a\x45\xbe\x0b\xba\xc1\x29\x9f\x74\x7c\xe6\x9f\x4c\x18\xa2\x6e\x26\xe8\x87\xb4\xa6\x0b\x88\xc2\x66\xef\x0d\x08\x8d\x40\xce\xa4\xc6\x62\x07\x39\xd2\x8c\x64\x25\x8d\xf5\x59\xfe\x35\x85\x78\x49\xeb\x2a\x8f\x4a\xa9\x2b\x24\x35\x71\xc0\x7f\x05\x14\xd4\x0a\x6a\x8d\x99\x34\xd1\xda\x0f\xb1\x6c\xd6\xd8\x39\xb8\x99\x76\xd9\xf1\x7f\x83\xa9\xea\xec\x78\xa5\x9e\x8d\x93\x21\x9a\x1c\x0d\x25\x76\x21\x63\xe4\xd7\x7c\xb2\x27\x70\x1a\x0b\x37\x87\x8d\xac\x23\xdb\xd1\x87\xeb\xad\x28\x0a\xb4\xd7\x61\x4f\x98\x94\xed\x04\x5c\x90\x6b\x37\x04\x17\x0b\x83\xfb\xeb\xc0\x4e\xd1\xb6\x42\x0d\xa5\x5c\x6f\x2c\x6c\x45\x65\x59\x67\xd7\x98\xc9\xd5\xee\xf0\xac\xef\xdd\x17\x6d\x3d\x8f\x07\xca\xf3\x24\xa5\xe6\x64\x68\x90\xbe\xed\xac\xf5\x90\x03\x9b\x35\x16\xfe\xb4\x60\x81\xfc\xf2\x4b\xfe\xf5\xed\x82\xc5\x72\x0e\x27\xcf\x1b\xeb\xe5\xa7\x95\x60\x59\xd1\x2b\x99\x83\x16\xd5\x1a\x41\x4e\x11\xde\x5f\x4c\x9e\xfe\x7c\x72\xc0\xc0\x42\xf0\x9b\xa2\x96\x5e\x44\x1d\x31\x90\xff\x6c\x2c\x2c\x08\x8b\xfd\x4f\xc7\xf7\x27\x1f\x90\x2d\x09\x26\xd3\x15\x76\xc4\x0e\x3f\xa6\xc6\x9a\x38\xef\xd7\x06\xf5\xce\xd9\x94\xeb\xb7\xc1\x20\x5f\x07\xc3\xcb\x85\x32\xaf\x2f\xaf\x12\xef\x99\x98\x8a\x45\xec\xae\xc6\xcc\x3a\x3d\x59\x8b\x5d\x6b\xcd\xbd\x56\x70\x09\x31\x8a\x90\x98\x7d\x82\xb3\x3e\xd2\xd6\x13\x9c\x7e\xfa\x46\x6b\xb1\xf3\x9c\xaa\x45\x76\xe3\xf4\x84\xac\x72\x79\x2b\xf3\x46\x14\x2d\x06\x7d\x46\x25\xea\x46\xf9\x7c\x55\xad\x94\x99\xc3\x7b\x4f\xa0\x9f\xef\xd9\x30\xf2\xfe\xf2\x40\xa7\x3e\xe7\x91\x0f\x45\x3c\xe3\x8c\x8b\xb0\x60\x1a\x4e\x03\x8a\xa2\x60\x8e\x6b\x95\x7a\x74\x01\xc8\x2a\x2f\x11\xd6\xec\x09\xf8\x9d\x9d\xa7\xd3\x8b\x0e\xd8\x5b\x41\x5e\xb6\x15\xc5\x73\xe6\x9a\x8b\xde\x67\x5a\xf0\x60\x12\x64\x15\xf1\x1c\x90\x81\x04\x48\x7c\xfc\x43\xe8\x3b\xed\x73\x63\x97\xb7\x85\x31\xa8\xed\x69\xec\xe7\xa4\x67\x02\x25\x1a\x23\xd6\x38\x87\x93\x77\x6e\xb2\x71\xfc\xf1\xb3\x3d\x39\xeb\x93\xf1\x99\x31\x72\xed\xf4\x58\x80\x37\x28\x44\x6e\xa4\xc5\x7e\xa3\x5e\xa2\xf6\xad\x73\x7a\x53\x78\x9c\xf5\x1b\xcc\x94\xf6\x76\xd4\x05\x73\x5c\x92\xc1\x77\xb5\x1d\x98\xf0\xba\x63\xda\xe3\x79\xd7\x98\xce\x8f\x1e\x9b\x44\x73\x7a\x96\xb0\xd4\x3d\x9b\x91\x03\x73\x84\xfb\x22\xb2\x56\x84\x3e\x53\x3c\xf6\xb6\x47\x9f\x63\xd1\x58\x4b\x91\x87\xc4\x62\xb1\xd7\x63\x23\xb1\x08\x60\x64\x1c\x96\xaa\xa6\xbe\x84\x7d\x92\x5a\x04\x67\x83\xdd\x26\x23\x6b\x91\x68\x94\xd8\x87\x65\x79\x67\xcb\x42\xcc\xd8\x55\x77\x31\x51\xc2\x65\x71\x2d\x08\x76\xe1\xf1\x16\x2b\xdb\xb0\xfb\x97\xc2\x12\xd1\x1b\x37\x5b\x69\xb3\xcd\x52\x51\x68\x17\x6c\xd7\x24\xc2\xdd\x38\x46\x08\x75\x6b\xcb\xc6\x83\xe5\x7d\xcb\x0e\x72\x91\x40\xf4\xab\x52\xbd\x1a\xb9\xfe\x16\x59\x1b\xab\xc4\x58\x2d\x20\x44\xe1\x61\x6a\x43\x87\x98\x67\x5f\xa6\x06\xa3\xa0\x79\x3a\xce\x87\xfe\x3a\xcc\x6a\xfe\x38\xf3\xb1\xe4\xe5\xd5\xdb\x74\xd8\x23\xe9\x5c\x5f\x42\xe6\x36\x72\x93\x62\x48\x9f\xcf\x7a\x7d\x79\x35\xdd\x5b\x9c\x10\x8d\x70\xa8\xa9\x85\x74\xbe\x65\x62\xc6\x6e\x70\x37\x73\x3e\x49\x2d\xa4\x36\x20\x0a\x55\xad\x5d\xcc\x69\x54\xd9\xca\x1d\xa7\x7d\xef\x68\x59\x79\x2b\x83\xc7\x15\x4b\xd5\x38\x26\x62\xd0\xc7\x6c\xed\x15\x35\x4a\x68\x32\x50\x9d\xc8\x70\xa6\xf0\x83\xbc\x41\xf8\x5e\x64\x37\x6b\xad\x9a\x2a\x9f\xc0\xcb\x1d\x9a\x09\xfc\x55\x48\xdd\x2b\x1d\x1b\x5b\x3e\xc8\x23\x35\x55\x8e\xba\x60\x5f\xd7\x4d\x39\x1d\x75\x12\x14\x8f\x0d\xaf\x99\xd0\xc6\x95\xef\x71\x13\xa8\xb5\xba\x95\x39\x06\x62\x04\x6d\xc5\xc0\x0e\xe3\xc4\x9f\xe7\xf0\xac\xda\xb9\x12\xda\x0e\x5e\xbe\x56\x8e\x34\x44\xba\x5e\x66\xa3\xb6\xbc\x00\x71\x2c\x47\xec\xad\x73\x9d\xa5\x71\x64\x23\xf7\xc8\x4d\x25\x32\x4a\x0a\x9c\xf8\x5c\x56\xc6\x8a\x2a\xc3\x09\xec\x54\x03\x19\x8b\xb8\x09\x58\xd1\x50\x02\x9a\x4a\xde\x81\x95\x25\x1a\x2b\xca\xda\x85\xf1\xde\x0d\xef\xe0\x27\x0c\x9c\xbc\x10\x16\x4f\x78\xe2\x58\x14\xe9\x58\x75\x21\xec\x4a\x51\x3c\x47\xc1\xaf\xaa\x4c\x53\xfa\x8a\x10\x47\x3b\xae\xd5\x65\x97\x25\x64\x09\x84\xdf\x03\x3b\xec\xe9\xb7\x63\x0f\x14\x05\x90\xb9\x15\x9a\x02\x43\xf2\x2c\x45\x61\x54\xd4\x0e\x2e\x13\x5b\xec\xbc\x64\x08\x6b\xb5\x5c\x36\xb6\xb3\x33\xdf\x65\x0e\x27\x2d\xd1\xa4\x84\xc8\x8f\xd1\x2c\x8a\x16\x82\xe1\xca\x09\x3f\x45\xff\x2e\xb0\xc1\xeb\xcb\xab\xdf\x1b\xd0\x8c\xd3\x61\x6e\x70\xdf\xe7\x1e\xf7\xc1\x22\x87\x4e\x05\xe3\x1e\xfb\x4c\x06\xe9\x32\xe9\x03\x7e\x78\xc5\xa2\xe3\x88\x85\x1b\x70\x20\x60\x48\x38\x61\x91\xe2\x30\x10\x9b\xb8\x75\x59\x78\x9c\x46\x46\x14\xac\xee\x58\x4d\x06\xcf\x27\x68\xac\xe3\xfa\xcd\x77\xf4\x1d\x78\xb7\x72\x84\x8a\x8b\xe0\x52\x49\x1b\x50\x71\x28\xb2\x8d\xd7\x4d\xf7\x2a\x37\x73\x4f\xa2\xdc\xa1\x36\x87\xf7\xdc\xf2\xc0\x16\x6e\xaf\xd1\xe0\x1a\xfa\x39\x2e\x7c\xe3\x01\xa3\x4f\x7f\xdd\x60\x26\xcf\x4d\x6b\x40\x9c\x1e\xf6\x4c\xeb\xf1\x26\x24\x3a\x5d\xba\x5e\xaa\x73\xdb\xb8\xed\x9c\x55\xa9\x93\x69\x3f\x77\xcb\x92\x27\xf2\x1c\xf3\xa3\xae\x29\x59\x50\x91\xe7\x0c\x8a\x26\x3c\x77\x50\xef\x99\xe9\x94\x58\xa4\xca\x4f\xed\x3d\xf5\x1d\x5d\x8f\x34\x99\xd3\xe7\xf2\x49\x3d\x0a\xe3\x1c\x52\xd7\xf8\x41\xde\xa8\xeb\xf2\x58\x57\xd4\xf5\x1e\xe9\x87\xee\x71\x76\xf8\xfb\x04\x4e\xa8\x5f\xb7\x58\x63\x65\x15\xa0\x30\xb2\xe0\x38\xe8\x16\xb5\xe5\x5a\x34\xfe\x26\xf4\x8e\x57\xc2\xf1\x04\x5c\x2a\xcd\x69\xfd\xc4\x41\x09\x1b\x5b\xc6\x6f\x2e\x28\x56\xdf\xac\xaf\x51\x72\x41\x63\x28\x88\x0f\xab\xc4\x5a\xc1\x5b\xf8\x2b\xe7\x04\x44\x78\x6c\xba\x4a\xb4\x1b\x15\xcb\xe2\x4d\xb3\x5a\x49\xc7\x10\x6b\x79\xcb\x3e\x6a\xc9\xf6\x85\x23\x37\xb5\xf2\x99\x1c\x8f\xe2\x21\x46\xa3\xf9\x38\x21\xea\xce\x6c\x89\x61\xd2\x4e\xa5\x5d\xb5\xe2\x9d\xf4\xc6\x3b\x3e\x72\x92\xbf\x16\x25\x9a\x79\xa7\x12\xdb\x17\x6d\x39\x6c\xbc\xfd\x0e\x79\xbd\x6b\x1a\xeb\x3a\x02\x0b\x7f\x37\xb8\xf3\xd4\x12\xda\x59\xbb\xad\xa8\xfc\xf8\x4b\xcc\x48\x2b\x5e\x3b\x3c\xae\x07\x7d\x6a\x76\xa0\x05\x75\xe8\xeb\x91\x43\xec\x4e\x78\x5c\x29\xcf\xf1\x8e\x14\x1f\x1c\xe2\x89\x89\xfb\x38\xe9\xcf\xf3\xbd\x6b\xf3\xf3\x77\x67\xf3\x7d\x86\x9c\xcd\xe0\x79\x5c\x7d\x97\x54\x34\x3e\xab\x18\xa6\x14\x4d\x8a\x77\xea\xdc\xa6\x81\xd4\xad\x13\xed\xcf\xf2\xe4\xd3\x9e\xd7\xb8\xeb\xe5\x27\x37\xa2\xca\x0b\x74\x16\x83\x89\x4c\x81\x0e\x27\x3c\x6d\xdb\xf8\x1f\x8d\x49\xc6\x66\x3e\x09\xf0\xb9\xd0\xb9\x28\xa6\xa9\xe0\x76\x26\x0b\x5f\x2c\x48\x54\x7a\x02\x47\xae\xdc\x0d\xa1\xdd\x69\xfb\xc5\x80\x58\x12\x51\xa7\x1a\x4b\x75\x8b\xa7\x37\xb8\x9b\xc3\x4d\xbf\xaa\xae\x7d\x8a\x8f\x03\x16\x0a\x16\xf0\xfe\xe7\x27\x7b\xe3\x33\x78\xe6\x9b\xee\xd0\x11\x02\x2c\xdc\x0a\x79\x37\xe6\x26\x7a\x30\xd4\xf3\xfd\xcd\xcf\x5f\xf4\x1c\x98\x4a\x16\xad\xf3\x52\xc9\xa2\x8b\x6d\xcf\x06\xb0\xad\x18\x9a\x40\x60\x4a\xc7\x58\xae\xd7\x59\x5f\xdd\xc4\xbc\x78\xcc\x60\xee\x69\x0d\x69\x4c\x83\x6d\x62\xd3\x1f\xcc\x8a\x10\x38\x30\x72\x9b\x29\x25\x1f\x75\x33\xb2\x94\x85\xd0\xc9\xc9\x34\x02\x8b\x77\xa2\xa4\xee\xa2\x82\xff\x23\xc5\xf0\xf4\xe2\x82\x9c\x6e\xb7\xd1\x15\x81\xc9\x8a\x1c\x66\xb7\x65\xe7\x7c\x99\x55\xe3\xce\x87\xb9\x9c\xba\xdb\x2f\x48\x77\x3c\x5b\x07\xe8\x99\xab\x1e\x70\xec\xb6\x24\xd7\x46\x73\xe0\x12\x31\xc7\x5c\xf2\xb4\x26\xb0\xdd\xc8\x8c\x6b\x8b\xb7\x1b\xae\x00\x0f\x9f\x0e\xe1\xe1\x48\x49\x9c\x6a\x9c\x76\xf3\x55\x6c\xe0\xaa\xd8\x58\xbf\x1c\x8b\xf5\x5e\xba\x21\x8e\x9d\x46\x4b\x31\x09\x6d\x2e\x5b\xfa\x4d\x9c\x16\xce\x42\x5e\xe2\x1d\xda\x09\xbc\x29\xc4\x6e\x02\xef\x50\x4b\x34\xdd\x7d\x0a\x5f\x59\xe7\x4e\x3a\x6c\xc5\x2e\x29\xac\x70\x20\xb2\x42\x18\x43\x51\x0d\xe9\x8f\x40\xa0\x51\xb1\xe4\x77\xfb\xf3\xf0\xfd\x93\x42\xbe\x03\x87\xad\x78\x46\xa2\x82\x93\xaf\xbe\x0e\xbc\x70\xfa\xbb\xaf\xbe\x9e\x3d\xbd\xb8\x38\x3b\xe1\x8a\x14\x17\x7b\x7a\x40\xd2\xc0\x57\x5f\xdf\x13\xe1\x72\xab\x39\xfc\xf4\xaa\xb2\xfd\x7d\x1f\x42\xab\x14\x77\x83\xa8\x51\x20\xe6\xb7\x97\x3d\x53\x4f\x7b\x7d\xfb\xa7\xc0\x42\xc2\xc5\x47\xbd\x2e\xe9\x52\xc8\x52\x5a\xcc\xcf\xfd\x10\x98\x0f\x43\x1b\x31\x65\x42\x54\x1a\xfa\x36\xd8\x95\x2b\x75\x58\xdc\x9a\xca\x0f\x1a\xe6\xe5\xfa\xb6\xe9\x2a\x0a\x67\xad\x22\xdd\x31\xee\x4c\x59\x29\xee\x02\xfd\x8e\xc6\x5f\xdf\x4d\x7a\x14\x9f\x74\xba\x0f\x38\x50\x84\xdb\xa0\x0a\x87\x36\xbd\xed\x17\xe6\xdb\x05\xb5\xfe\x22\xcd\x6e\x5f\xb5\x8c\x90\x89\x6a\x28\x91\x6d\xfd\x22\xbb\x56\x5f\x9c\x1c\xd2\xee\x30\x2a\xe8\xf3\x63\x2d\xfa\xb1\x78\x6c\x40\x43\x31\x9a\x23\xa3\xb8\xce\xbe\x50\x50\x03\xa3\xea\x68\x7d\xe3\x7f\xa1\x92\x76\x4f\xa4\x3b\xbb\x8d\x1d\x7d\x29\x82\xc6\x3c\xc8\x25\xa4\x15\x7f\x90\xc6\xce\xe1\xbd\xc7\xec\x50\xdd\xed\x7e\xc3\xe1\xe2\x5b\xdf\x0e\x16\xb1\xcb\xd8\x88\x26\x92\xe6\x73\x9d\xf2\x8b\x08\x8c\x2c\x78\xf2\xcd\x1f\x56\xed\xe4\x3b\x3d\xba\xd4\xc9\xf7\x1f\x5b\xe7\xd4\xb2\x5b\x5f\x4a\x3f\x55\x91\x53\x4c\xca\xb1\x5f\x1e\x8c\xd1\xb9\x2b\x7b\xca\xc1\xa0\x96\xa2\x08\xfc\xeb\x72\xe4\x61\xff\x92\xb8\x35\x02\x7b\xe3\x3a\x1a\xd8\x88\x5b\x4c\x8e\xc5\x33\x20\x3f\x0b\x76\x1b\xd8\x93\xef\xc1\x8d\x7a\x32\x82\x7b\x47\xbe\x6b\x29\x76\xb1\x34\x87\xf7\x5c\x35\xae\x1b\xf2\x64\x5e\xbd\x70\x09\xc0\xb4\x51\x72\x16\xbf\x0d\xb8\x9c\x31\x0d\x87\xc0\xdc\x39\x9f\xa9\x3b\x8d\xd2\x41\x40\x9a\xce\xf6\xed\x12\xa1\xa9\xe4\xaf\x0d\x17\xc5\xf8\x03\x83\x6c\xbd\xd9\x6c\x33\x2a\xa4\xf6\xd9\x43\x17\x36\x10\xed\x98\xf2\x78\xe7\x86\x3c\x9c\x7f\x39\x64\x37\x53\x49\xee\xb6\x19\xce\xa0\x1d\xd0\x97\x47\x04\xd8\xa3\xf7\xb9\xc4\xd7\x0f\x3f\x4e\x78\x5d\xe3\x07\x89\xae\xeb\xf2\x58\xc1\x75\xbd\x47\x8a\xed\xde\x42\x7f\x6a\xa1\x6d\x4b\x87\x7d\x1a\x33\x75\x8f\xbd\x90\xba\x44\x5a\x92\xdd\xa4\xde\x5c\xa0\xe5\x82\xe9\xd0\xb5\x42\xcc\x8d\x8b\x1a\x6f\x31\x64\x21\x4c\xa6\x34\xc7\x0e\x69\x09\xc6\xb2\xb1\x20\xdd\x09\xfa\x08\x90\x3b\x2d\x55\x9b\xa7\x3c\xc4\xfc\x3e\x0f\xfe\x61\xcf\x19\xf4\x43\xf9\x8a\x42\xd7\x8a\x13\xf1\x47\x32\xef\xdc\x2f\x54\xc3\x0c\xf8\xbe\xa5\xb8\x93\x65\x53\xb6\xdb\x28\xdc\xe1\x88\xc3\x75\x08\xd8\xc0\x75\x0e\x29\xaa\xee\x68\xdb\x91\xd3\x8d\x31\x44\xf8\x01\xd7\x58\xe5\x42\xef\x26\xf0\xb2\x96\xd9\x84\x68\x83\x13\xf8\xa9\xca\x54\x59\x92\xeb\xf8\x9c\xff\xef\xc6\x0a\xfe\xf4\x5c\x37\xf1\x3d\xa2\xee\x68\xd0\x7b\xec\xd2\x6e\xd2\x99\xfc\x60\x61\xd1\x90\x13\xe9\x16\x6e\xe1\xdc\xc8\x2f\xbf\xec\xd0\x68\x71\xc8\xb9\xac\x45\x25\xb3\xd3\x93\x67\x81\x1f\x22\xf7\x99\xb0\xa4\xdd\xfb\x49\x94\x66\xee\xda\xf3\x20\xf7\xb5\x9e\x47\xa7\xb7\xcc\x70\xd8\x47\x84\x7f\xa1\xcc\xa8\x57\x5e\xe0\xe6\xf2\x39\x93\xb9\x1e\x85\x91\xd5\x05\xdc\xf8\x61\xa5\x05\x6e\xc7\xe6\xb1\x75\x05\xdc\x7b\x6c\x51\x41\x5f\x53\x84\xbf\x4f\xa0\x3d\x5f\x5f\x5e\xb1\x02\xdd\x6a\x51\x1b\x4e\xb8\x3d\xe7\x0b\x52\xf8\x4a\x1d\xb7\xe9\x72\x2d\x73\x57\x28\x78\xdd\x34\xf4\xe8\xb2\x71\x6e\xc7\x31\xec\xe6\x44\x78\x21\xcd\x2a\xb8\x36\xbc\x40\x8b\x50\xcb\x8c\xab\x7c\xe3\xe1\x23\x7f\x7f\x0e\x7b\x0d\xc3\x97\xe7\x44\x70\xa3\x6e\xd1\x09\x73\x38\xec\x47\xc8\x3c\xfa\x10\x87\x9a\xd0\xdc\x8e\x36\xf2\x39\xb0\x79\xf7\xea\xa1\x69\xb8\xec\xe2\x60\x3f\x6c\xcb\xf3\xfb\x7d\xd3\xe3\x02\x07\xfb\xb7\x19\xaf\x17\xc2\x8a\x39\xcd\xf8\x79\xe7\xd5\xa8\xae\x01\xf9\x6e\xef\x63\xb8\xc7\x8a\x8d\xb4\x9c\xe6\x60\xeb\x90\x8f\xf4\x7b\x1d\x47\x2f\x7e\x91\x39\xc4\x20\xbd\xf3\x81\xd6\xe3\xc0\x27\xbf\x0a\x70\x68\x19\xba\xad\x13\xda\xef\xf5\x48\x89\xdf\xed\xd5\xa5\x38\x0c\x91\xfc\x60\x87\x88\xde\x20\xa1\xbb\xdd\xda\x7a\x98\x94\xbc\xbd\x1b\x6e\x7a\x34\x0d\xef\x87\x03\xd6\x9c\xcf\xca\xed\x7f\x60\x82\x2e\x98\xae\x03\x1a\xdf\xe3\x1c\xf7\x88\xf7\x9b\xa4\x74\x5c\xa4\x54\xdd\x6f\xda\x23\xde\xa2\x47\xcd\x7b\x3b\x44\x44\xf6\xde\xed\x77\x6b\x89\xb7\x18\x28\xed\x84\x71\x9b\xaf\x07\x8d\x98\x3f\xeb\xc5\x8c\x7b\xc8\x66\x91\xce\xb8\xf2\x69\x0a\x99\xff\x26\x16\x2d\x68\xb7\x71\x96\xcc\xb7\x3e\x6d\x95\xd9\xe4\x01\x46\x6d\x5f\x93\x72\x14\xb6\xb2\x7f\x1b\x63\xd4\x7c\x6f\xb2\x6a\xa9\x51\x0c\xdd\x07\xf3\x6b\xc1\x32\xb9\x36\x5f\x80\x30\x5f\x04\x2c\x92\x75\xea\x1b\xb2\x30\xcb\x7d\x55\x22\xf3\x7d\x35\x32\xef\xe2\x4d\xaf\x06\x15\x4a\x5f\x3b\x24\x57\x1f\xa5\x00\xce\xc6\xeb\x97\xde\x31\xb2\x7b\xa0\xec\xe9\x1b\xe6\x5c\xb7\xa0\x5d\xbd\x33\x12\x4a\x54\x42\xc3\x80\x8e\xcf\x2b\xd5\x4c\x01\x46\x5b\x85\x79\x4f\x47\x2f\x6e\x6d\x2f\xbf\xbf\xd3\xe9\xd2\x2a\xb1\x23\xf1\x9c\xab\xe0\x6e\x83\x39\x7f\x09\x0a\x5f\xa5\xe3\xaf\x35\xb4\x5a\xe2\x2d\x0e\x97\x9b\xdc\x77\x28\xd4\x39\xd9\x4d\x0d\xa2\x77\x56\xd3\xa5\xb0\x6b\xad\x48\x1b\x44\x78\x34\xa4\x58\xbb\x41\x5d\x49\x60\x7b\x44\x69\xcc\x11\xb5\xbd\x95\xec\xc5\x7e\xee\x36\x99\x2a\x8e\xb3\xe5\x7b\x20\xd8\x1f\xf2\x27\xb6\x75\x38\x31\x16\x93\x32\xee\x46\xa1\xc3\x1b\x0f\x1e\xd6\x1b\x7f\xe9\x4a\xfc\xd1\xbb\xc7\xc6\xcd\x86\x4b\x42\xdd\xc6\x53\xd9\x18\xce\xb8\x16\xb2\xba\x71\x83\xf9\xe5\x18\x98\x78\xdc\xaa\x08\xd9\x2f\x88\x5b\x54\x59\xd1\xf0\x11\xf6\x78\x28\x90\x27\x12\x4e\xfb\xf9\xad\x32\x2f\x31\xce\xe5\x6c\x3f\x1e\x9c\x53\x1d\x6b\x35\xd3\xba\xcd\xc1\x19\x25\x4b\xca\xfb\x28\xe1\x0a\xab\xce\xc9\x04\x5f\x1f\xe8\x0a\x05\xf8\x9e\x24\x8d\x22\x3f\xe7\x9d\x14\x37\x36\x73\x8a\x9f\x42\x67\x98\x50\x03\x61\xe0\x34\xc7\x5a\x19\x69\xe1\x0f\xa4\x85\x5f\xbd\x30\xf0\x07\x58\x2a\xad\xd5\xf6\xf5\xe5\xd5\x99\x2b\x7d\xa8\x7a\xe5\x3a\xc9\x3e\xa6\xdf\x34\x2b\xc5\x2e\xd9\x1b\x59\x22\xe0\xaf\x8d\x28\x82\xb5\xe0\x29\xf8\x5c\xa3\x3b\x8b\x75\xed\x68\xf1\x03\xaf\x12\xe9\xe0\xeb\xc3\xac\xe0\x9a\xb6\x1c\x38\x07\xae\x03\xeb\x86\xe5\x91\x48\xed\x46\x8d\x67\x01\x9f\x8f\x17\x2b\xa5\xd9\x51\x77\xfb\x48\x75\xcb\x39\xd3\x58\xdf\x55\x91\xb0\x16\x44\xbd\x0e\x70\x8d\x14\xb2\x3b\xb2\xd3\x38\x2c\x64\x25\x05\xf4\xed\xa2\xf3\x89\x39\xb1\x2c\x78\xcf\xb3\xd3\xfb\x9a\x64\x3b\x54\xde\xfa\x63\x8b\xd7\x83\x96\xac\x9d\xe2\x75\x87\xd7\xf8\x62\xad\x5f\x1b\x79\xaf\xc0\xf4\x09\x3a\x44\xa5\xcb\x58\xf9\xe2\xce\xa6\x15\x6a\x6b\xdc\x79\x4d\x9f\x0d\x11\x15\x60\x59\xdb\x5d\x5f\xad\x04\xf6\x23\xac\x82\x10\xb3\x04\x77\xc0\x07\x59\xba\xe7\x0c\x19\x6f\x2d\xbd\xa4\x21\xd2\xf5\x5c\x35\xd5\xe9\xd9\x1c\xfe\xfc\xa1\x7f\xc5\xed\xb4\x6d\x75\xfc\x2a\xc6\x43\x2a\xa3\xab\xe4\x87\x85\x70\xa8\x4d\x9f\xe3\x86\xda\xf4\xe9\xdd\xb3\x6a\x43\xd3\x0d\x8b\x30\x76\xda\x01\xd8\xb8\x13\x61\x7d\xb4\xa6\xd2\xbc\x73\x57\xf5\x9c\xaa\x95\xc3\xf1\xdb\x2f\xf7\x07\x0c\xfc\x39\x81\x23\x9c\xf9\x91\x9c\xa4\x39\x9c\x78\x3d\xc5\xf2\xc0\x3a\xd7\x57\x9c\xec\x5d\x5e\x1c\x41\x33\xe3\x1f\x81\x9e\x0a\xd4\xd1\x33\x69\xc9\x7a\x2f\x92\xe7\xfd\x86\xed\x92\x2f\xda\xc7\x43\xcd\x5a\x64\x16\xfd\x17\x87\xba\xb4\xd4\x5e\xf4\x5f\x0c\x44\x0c\x43\x3c\xb1\xb8\x97\x53\xc6\xfa\xfd\xfb\x76\x9a\x53\x58\xdb\x70\xb4\x8c\x0f\x36\x84\xa2\x57\x67\x58\xf2\x58\xa5\xf2\xef\x49\x6e\xed\xa3\x38\x3a\x3a\xe8\x39\x93\x0f\x49\x79\xed\x87\xc0\x8f\xcc\x7e\xed\x01\x1a\x99\x08\xbb\xcf\x83\x0a\x7f\x9f\x7e\x47\xe1\x80\x07\xea\x0b\xfe\xf9\xd0\x71\x50\xd9\xbf\x4f\xee\xf9\x6c\x6f\xfe\x18\xe5\x89\xba\xac\x59\x05\xe1\xee\x0f\x96\xf3\x08\x8d\x2f\x27\x96\x99\x09\xb9\xf6\x3d\xc3\xe2\x9d\xc4\x25\x16\xaa\x5a\x13\xc0\x07\xba\xa3\x7b\x37\xa8\xce\x66\xf0\x5a\x94\x7b\xde\x00\xa3\xbf\xdd\x60\x15\x82\x26\x57\xac\xe8\x87\xef\x5f\x77\xd2\x1f\xfa\xde\xd3\x1e\x2f\x92\xac\xf3\xd0\xa8\x43\x44\x0a\xae\xe7\x98\x81\x8f\xdc\xcd\x1c\xef\xd0\x70\xb7\x2d\xf0\x21\x0b\x7f\x0b\x0d\x0f\xc5\x77\x13\xa4\x7c\x10\x4e\xd2\x8c\x1c\x7e\x5c\x0e\xb0\x83\xd1\xbb\x5f\x1b\xa1\xd1\x97\x4f\xb8\x2b\x38\x3b\xc7\x8b\x46\x8f\x6d\x18\xd0\xab\x92\xcb\x55\xba\x63\xf3\xfd\x56\x9d\x51\xbf\x17\x55\x85\xba\x33\x6a\xbc\x54\xa2\x1d\x6c\xd2\x8f\x46\x78\xe3\x4b\x70\xbd\x19\x54\x28\x34\x3c\xfd\xea\xe2\xe2\xee\x9b\x3f\x5e\x1c\x46\x6b\xc9\x23\x8d\x44\xeb\x9d\xca\xa4\x5f\x1c\xe3\xc8\xc0\x05\xfe\x5d\xac\x7e\x6f\xc0\xb8\x76\x1b\x55\x62\x2d\xd6\xd8\xa9\x71\x82\x37\xca\xdf\x5c\xcb\xc5\x90\xde\xdd\x3e\xe1\xe3\x36\x6b\x2d\xca\x93\x09\x9c\xd8\xad\xb4\x16\x35\x3d\xe6\xd2\x64\x4a\xe7\x27\x47\xce\x2f\xb9\x11\x4d\x52\x14\x7b\x70\x79\x7f\xd3\x9b\xb0\xc7\x71\x58\xb7\xcf\x31\xce\xe8\xb6\x3e\xb6\x60\x3d\xd8\x0f\xa1\x4b\xe8\xf4\x9b\x5e\xda\xfd\x80\x1c\x66\x42\x18\x58\xa4\x64\xda\x6f\x9a\x50\x05\x16\x29\x8d\x06\xa0\x3a\x92\x10\x44\xf7\xf4\x38\xa7\x24\xbd\x3e\x7c\xd8\x2f\xf1\x6e\x49\x84\xf6\x19\xfd\x93\x47\xf9\x26\x8f\xb8\x72\x7c\x30\xdb\xfe\x49\x3c\x94\x07\x5d\x46\x7e\xc4\xae\x86\xbf\xc7\xfb\x29\x1f\x9f\xfc\x7f\x00\x00\x00\xff\xff\x12\x03\xdf\x7b\x0b\x65\x00\x00"
 
 func utilityMetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -195,11 +195,11 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/MetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0xce, 0xd4, 0xb0, 0xeb, 0x67, 0x9d, 0x13, 0xb3, 0x1, 0x14, 0xcd, 0x9e, 0xff, 0x27, 0x65, 0x19, 0xf, 0xf7, 0x45, 0x7a, 0x11, 0x49, 0xf6, 0xab, 0x24, 0xee, 0x8c, 0xe2, 0x41, 0x0, 0x1e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x20, 0x31, 0xdf, 0x46, 0x5e, 0xc8, 0xf, 0xe7, 0x72, 0x96, 0x15, 0x66, 0x3d, 0xf9, 0xd7, 0x36, 0x5a, 0x2a, 0x5f, 0x8e, 0xda, 0x70, 0x4b, 0xb0, 0xbe, 0x9b, 0x5b, 0x63, 0x72, 0x54, 0x4f, 0x5a}}
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x59\x5b\x6f\x1b\xc7\x15\x7e\xdf\x5f\x71\xaa\x00\x15\x15\xd0\x54\x1f\x8a\x3e\x08\x08\x1c\x3b\x8a\x0a\x02\x85\x6a\xd8\x74\xf2\x18\x0e\x77\x0e\xc9\xa9\x77\x67\xd6\x33\xb3\xa4\x09\xc5\xff\xbd\x38\x67\x2e\x3b\xcb\x8b\x6c\xb5\x7e\x48\xc4\xe5\xce\x37\xe7\xf2\x9d\x2b\x6f\x7f\xfc\xb1\xaa\x7e\xf8\x01\x16\x5b\x84\x87\xc6\xec\xe1\xd1\xe8\x57\x0f\xbd\xde\xa8\x55\x83\xb0\x30\x9f\x50\x83\xf3\x42\x4b\x61\x25\xbf\xb8\x7c\x34\x3a\x7d\xcf\x5f\x2f\xa1\x36\xda\x5b\x51\x7b\x50\xda\xa3\x5d\x8b\x1a\xab\x8a\xf0\xf2\x47\xf0\x5b\xe1\x41\x34\xcd\x39\xf4\x74\xda\x81\xdb\x9a\xbe\x91\xf4\x60\x6d\x6c\x0b\xde\xcc\xaa\xf9\x1a\x04\xf4\x0e\x2d\xec\x85\xf6\x0e\xbc\x01\x89\x5d\x63\x0e\x20\x40\xe3\x1e\x1e\x1f\x16\x19\x60\x0a\x7e\x8b\xca\x0e\xe2\xec\x19\x4e\x23\xca\xca\x1b\x50\x6d\xd7\x60\x8b\xda\xd3\x6b\x70\xac\xc5\x20\xec\x8c\x85\x2f\x71\xda\xde\x79\x58\x9b\x86\xcc\x43\x4a\xd0\x79\xdb\x37\xe8\x40\x68\x09\x5a\xb4\x4a\x6f\x2a\x56\xd1\x8f\xb4\x76\x1d\xd6\x6a\xad\xd0\xcd\xa2\xe5\x1e\x16\x4b\xb0\xe8\x4c\x6f\x93\x89\x6a\x63\x31\x3f\x02\x7f\xe8\xa2\xad\x2c\x76\x16\x1d\x92\xca\x42\xb3\x96\x4a\x33\xba\x6b\x85\xf5\x59\xb4\x08\xfc\x8b\x69\x1a\xac\xbd\x32\x7a\x09\xef\x47\xf8\x03\x34\xa1\x3a\x6f\x2c\x49\xcd\x16\xbd\x76\xd1\x7a\xe9\xec\xac\x9a\x93\x0b\xeb\xa6\x97\xfc\xd2\x1a\xf7\xb0\xee\x35\x7f\xc7\x96\x17\x6c\x01\x92\xc2\xec\x35\x5a\x7a\x84\xc2\xa9\xe6\x50\xb5\x66\x87\xe0\xc9\x8e\x8e\x04\x25\xb3\x98\xde\x83\x59\xf3\xdb\xe5\x15\x2c\xef\x3b\x6b\x76\x4a\xa2\x5d\xf2\x9b\xcb\xf7\x58\xa3\xda\xd1\xc7\x2c\x6e\x36\xa2\x63\x3d\x5c\xf9\x04\x24\xd6\x8d\xb0\x58\x08\xb7\x57\x7e\x0b\xce\xb4\x08\x9d\x45\x06\xed\x8c\x63\x33\x49\xc5\x6f\x54\xd1\xaa\x9f\x7b\x65\x91\x85\x1a\x6c\x46\x7a\x44\xef\xd6\x68\xbd\x50\x3a\xfa\x94\x81\x56\xb8\x15\x3b\x65\x6c\x8e\x02\x17\x08\x72\x00\x12\xc1\x61\x27\xac\xf0\x08\x2b\xac\x45\x4f\x62\x7a\xd8\xa8\x1d\x3a\xbe\x83\x89\x4b\x7f\x88\x95\x6a\x94\x3f\xd0\x4d\x6e\x4b\xe7\x04\x58\x5c\xa3\x45\x5d\x23\x71\x33\x10\xb7\x14\x89\xc4\x35\xba\x39\x00\x7e\xe9\x8c\x8b\x78\x6b\x85\x8d\x0c\xac\x1b\x74\x57\x1a\x8c\x46\x30\x16\x5a\x63\xb1\x8a\x36\x1f\xcc\x35\x83\x39\xc5\x9e\x33\x51\x30\x12\xca\x1d\x4b\xd5\x8a\x4f\x08\x75\xef\xbc\x69\xb3\x13\xa2\xd1\x46\x71\x33\x76\x04\x45\xa3\x81\x9d\xb0\xca\xf4\x04\xa9\xf4\x26\xfa\x82\xe0\x03\x1f\x66\x55\xf5\xf6\x00\xbd\x23\x7b\x66\x64\x56\x61\x00\x9a\x46\xa1\xcc\x9a\x29\x39\xe6\xb8\x83\x5a\x68\x70\xa8\x65\x45\xa7\x6c\x20\x4b\x62\x5b\x87\x68\x5f\x79\xf3\x8a\xfe\x3f\xe5\xbb\x89\x78\xe4\x32\xbd\x21\xf9\xf8\x12\x4e\x06\x24\x96\x80\x1a\x09\xb5\x81\x06\xe5\x06\x6d\x75\x12\x4e\x0b\xc3\x57\xa5\xa8\x23\xd6\x6b\xe3\xb7\x68\x59\xc4\x69\xce\x46\x9c\x5a\x1c\xd9\xe6\xc0\xd0\xd2\x8a\x10\x1a\x8f\x0f\x8b\x6a\x6d\x4d\x7b\xe2\x53\x4e\x4f\x1a\xea\x94\x41\x24\x76\xc6\x29\x9f\x3d\x09\x46\x8f\xee\xba\x76\xd5\x98\xa3\xb5\x21\x4f\xf8\x40\x5f\x6f\x85\x76\x6b\xb4\xb3\xaa\xfa\xf1\xb6\xaa\x54\xdb\x19\xeb\xe1\x37\x85\x7b\x4a\x00\xcd\x0e\x2d\xb0\x14\x57\xe5\xa3\xab\xaa\xba\xbd\xbd\xe5\x5c\xdf\x12\xcd\xcb\xec\x59\x24\x40\xf8\x37\x0b\x51\x7e\x4b\x6e\x6d\x1a\x3e\x1d\xaf\x62\x0f\x16\xd4\x50\xae\x48\xff\xb7\xb7\xb7\x95\xa8\x6b\x74\x6e\x22\x9a\xe6\x66\xb8\xe4\x24\xed\x3e\x55\x15\x00\x00\x01\xbf\xd1\x80\xda\x2b\x1f\x21\xd7\xc6\x86\x8c\xc3\x9e\xdc\x62\x36\xb3\x68\x38\xb1\x04\xff\xb3\x92\x02\x7e\x13\x7d\xe3\x19\xa9\xbc\xb6\x84\xfb\x3d\x9d\x5e\x35\xf8\x7d\x77\xf6\x9d\x14\x3e\x72\x35\xfc\x0d\xb8\xe3\x94\xcc\xaf\xb1\xf9\x9e\xbd\xf2\x23\x1d\x1a\xdf\xf7\xeb\x2e\x58\x4b\xf8\xd3\xba\x87\xad\xf2\xb0\x27\x8e\x90\xb6\x2d\x7a\x41\xc7\x49\xd7\x54\x02\x5c\x94\x43\x66\xbc\xb9\xe7\xe8\xe0\x4c\xb1\x42\x86\xf0\x28\x61\x75\x60\x9e\x25\xcb\x2d\xe9\xf9\xe3\xc3\xe2\x63\x38\xbd\xcc\x9c\xcb\x38\x21\x3a\x34\x2c\xb3\xcc\xcb\xa4\x8a\x1c\x52\x15\x84\x54\x15\x22\x83\x74\xd8\x8b\x53\x91\x88\x5d\xa5\x15\x3a\x1b\xad\xe6\x3a\xd1\xb6\x14\xe6\xec\xb3\x41\x3e\x15\x9f\x0c\xd4\x77\xd7\x45\xcd\x70\x19\x39\xe5\x58\xd6\xb6\x36\x32\x50\x82\xea\x4d\xf1\x3a\x25\x42\x96\x6d\x2b\x5c\xa8\xc0\xa2\x19\x54\x09\xae\xca\x88\x51\x9f\xe2\x32\xb2\xfb\xd6\xc8\xc0\x77\x32\x29\xd9\x82\xde\xdb\x60\x28\xef\xa7\x56\xc9\x68\x63\x13\xb0\xa7\x29\xaf\x3a\x2a\x0a\xce\x40\xec\x10\x94\x95\xaf\x3a\x61\xfd\x01\x94\x96\xf8\x85\x0c\x42\x2e\x6c\x8d\x56\xde\x84\x72\x11\x0c\x96\xe1\x88\x80\x9f\x7b\xb4\x87\x50\x54\x82\xbd\x07\x82\xa4\x6c\x13\xaa\xf2\xd8\x76\xb3\x04\x72\x4a\xd4\x5d\xa6\x28\xca\x89\x92\x77\xf0\x71\xae\xfd\x3f\xfe\x3e\x85\xbe\x2f\x3f\x31\xe8\x1d\xbc\x91\xd2\xa2\x73\xaf\xa7\xdc\xa4\xdc\xc1\x07\x6f\x95\xde\xdc\x9c\xc0\xee\x54\xe8\x1a\x60\x4c\xb9\xc9\x1f\xa0\xd7\xfe\x3d\xae\xef\x40\xf4\x7e\x3b\xc9\x34\xbb\x81\xbf\x3e\x1d\x27\x85\xd9\xe3\xc3\xe2\x6b\x80\x7e\xe2\xff\xd2\x3f\x8e\x8e\x52\xdc\x80\x37\xdb\xa0\x9f\xdf\x4f\x6e\x92\xd8\xf1\x29\x7d\xc8\xb2\xc7\x67\xfc\xe9\xf5\x4c\x04\x4d\x92\x22\x03\xcc\xe2\xd0\xe1\xe4\x66\xa6\x24\xb9\x78\xad\xd0\x06\x11\xbe\x56\x67\xc3\x57\xb9\x1c\x6d\x1c\xb3\x22\x64\x24\x7a\x9e\x12\x95\x9e\xe6\x83\x4a\x4b\x55\x0b\x9f\x02\x32\xf4\x4f\x27\xed\x51\x44\x0e\x71\x95\x51\xd8\xc1\x63\x47\x72\xe8\x9f\x9c\x56\x0e\xb4\xf1\xa1\x01\x23\xa7\x98\x5e\xfb\x6b\xc7\x5d\x9f\xd8\xe0\x14\x96\x04\xb4\xcc\xcc\x5e\x6a\xd5\x2c\xbf\x45\x90\x94\x36\x9f\x61\x08\xa1\x5e\x26\xc8\x39\xdb\x5d\x32\x5c\x2c\x89\x28\xb9\xee\x8e\xfa\xc6\x13\xed\x7d\xb2\x69\xec\x8d\xbe\xc7\xa4\x25\xfe\xb7\x14\xbf\x0f\xef\x3e\xa3\xb7\x37\xdf\xa1\xf5\x7c\x3c\x03\xc5\xec\xe9\xc2\x4c\x31\x4c\x3a\x17\x85\x39\xed\x88\xe9\xfc\xdd\xa8\xd2\xcf\x72\xc9\x1f\xc2\x25\xa5\xa1\x5e\xab\xcf\x3d\xc2\xfc\x3e\x5a\x5e\xd4\x5b\x4e\xdf\x5b\xe1\xf2\xbb\x67\xe3\x37\xc6\x55\x52\xb7\x2a\x90\xcf\x58\x2b\x4d\x1d\xf7\xe8\xbc\x35\x07\x94\x93\xd2\x56\xf0\x13\x38\x6c\x52\x54\x06\x4b\xf1\x83\xf3\x51\x37\x52\xe2\x9f\xe8\xcb\x6e\x39\x74\x64\x43\x05\xe2\xf2\x41\x9f\xcc\x5e\xbb\xd1\xc1\xb7\x86\x4a\x9a\xdd\xf4\x6d\x18\xa3\x2c\x82\xe9\x88\x12\xa2\x19\x0f\x33\xb1\xcf\xab\xb7\xc6\x38\x1c\x41\x6c\xcd\x9e\xa8\x63\xd1\xf7\x56\x3b\x70\xfd\x2a\x38\x4f\x62\x87\x5a\x52\x30\x1b\x0d\x7b\x9e\x6d\x47\xf7\x74\x61\xbe\x91\x23\xb0\x07\x63\x01\xbf\x08\x6a\x99\xa6\xa0\xd6\xb0\x24\x3b\x2c\xb9\x4c\x09\xd8\x89\xa6\xc7\x29\xac\x7a\x0f\x4b\x25\x97\x20\x0d\x3a\x7d\x1d\x46\x5a\x16\x70\x04\x45\xf5\x22\x88\x0b\xfb\xad\x8a\x1e\x65\xea\x93\x45\x78\x88\x34\x51\x6a\xba\x89\xea\x2a\x52\x7c\x09\xb8\x92\xb8\xa6\x56\xe9\x6a\x84\x37\x5f\xc3\x2a\x58\x2b\x66\x85\xd8\xab\xb2\xb2\xc3\x28\xc2\xe3\x23\x08\xa0\x5e\xbe\x09\x62\x91\x24\xff\x21\x2a\x87\xdb\x46\xa8\x74\x70\x06\x0b\x72\xd0\x16\x9b\xce\x71\xc9\xa7\x72\xb7\xdf\x1a\xba\x4a\x5f\x7b\x70\xbd\xc5\x60\x41\x9f\x46\xaa\xc6\x98\x4f\x64\x5a\x6a\xb2\x4a\xbc\x11\xf6\xcf\x34\x76\xb5\x91\x4a\xc4\x73\xa2\x51\x8a\x7e\x89\x4e\x59\x94\xb9\x3f\x3b\x3a\x44\xbc\xe4\xf5\x84\x4c\x07\x22\x03\x56\xc6\x5a\xb3\xbf\x7c\x67\xb4\xe8\x1b\x70\xde\xf6\xb5\xef\x79\x74\x8f\x73\x7a\xca\xec\x34\x62\xa2\xa3\x14\x43\x91\x34\x3b\x1b\x63\x31\xbc\x3e\xf4\xab\xc7\x87\xc5\x24\xea\x70\xe8\x88\x16\x39\x64\x6e\xe0\xee\x52\x65\x7c\x5d\x84\x39\xfd\x8b\x62\x69\xd5\xe4\xc7\x5f\x53\xe5\x3a\x93\x86\x0c\xb4\x28\x15\x75\xb3\xa9\xc2\xb8\xa1\x85\x18\x26\x8e\x97\x64\xa4\x34\xcf\xa7\x6e\x3e\xa6\x89\xdf\x31\xf6\xb4\x69\x3e\x4a\xed\x73\xba\xad\x4b\xe7\x06\xa8\xd4\xe3\x51\x6a\x54\x35\x9b\x35\x1d\x2f\xa1\x23\x52\x64\x91\x70\xfc\x7e\x18\x32\xbd\x89\x39\xa9\x51\xce\x23\x75\x44\xe9\xfb\x26\x02\xa6\xc9\x2b\xb6\x59\x23\x27\x67\x59\x2d\xb6\x66\x87\x79\xfd\x92\x65\x2e\x4a\x0b\xf5\x65\xe1\x25\xe5\x73\x2b\xc9\x1c\x1f\x47\x97\xe7\x70\xe6\xda\x1c\x56\x42\x07\xaa\x7c\xdc\xed\xd2\x91\xf9\x3d\xc5\xe6\xc7\x8f\xf3\x7b\xea\x5d\xb5\xf1\xc7\xa4\x29\x47\x97\xc0\x9e\x24\xe5\x24\xfd\x31\xbf\xcf\xc4\xb9\x83\x9f\x9f\x88\x26\x47\x2c\xe1\x85\xc8\xf8\x51\x20\x8f\xeb\x1b\x9f\xba\x28\xf8\xe9\x27\x28\x21\xaf\x16\x41\xbe\x18\x27\x43\x4b\x12\x4a\x36\x17\xb1\x55\x18\x48\x9d\x68\x91\x0c\x3d\x0e\x82\xf9\xfd\xd5\xc9\x95\xcc\x89\x51\x5f\x31\x16\x22\xd5\xd9\xf8\x34\x14\x8d\xd0\x64\x70\xd1\x38\xdf\xc7\x0d\x18\x17\xfa\xb8\x71\x6c\x7c\x7f\x94\x44\xb6\xb8\xe4\xe1\xff\x2d\x44\xd2\x8e\x6b\x1c\x22\xb7\x99\x8b\x9e\x07\x85\x48\x36\xc1\x7f\xa5\x9a\xc2\x3c\x13\x52\x96\x34\x3b\x12\xe2\x38\x5d\x1d\x67\x9b\x78\xcb\x84\xdd\x96\x08\x72\x54\x68\x39\x23\x75\x34\xdb\xa3\x7c\x7c\x58\x90\x15\x5d\x2e\x7d\x82\xa3\x29\x2d\x68\x3c\x7f\x37\xd4\x5f\x9b\x94\xa3\x7b\x3b\xff\xed\xce\xe2\xe4\x22\x6a\x34\x9e\x16\xec\xc8\xb7\xc6\x34\x5f\xc7\xa2\xbd\x8f\x52\xa4\xa8\x09\x61\xc2\x86\xd8\xa8\x1d\x0d\xcc\x94\xfd\xa9\xc0\xf1\xfd\x61\x00\x1e\x07\xeb\x08\xef\xcd\x49\x83\x58\x87\x8e\x19\x3b\xb2\xf6\x21\xe0\xc5\xb1\xbc\x28\x6f\xe0\x6d\x8f\x84\x1d\xab\xe8\xf3\x7a\x2a\x77\xac\x66\x91\xeb\x6f\x82\xa2\xc7\x0c\x7c\x1f\x36\x94\x79\x19\x11\x94\xd0\xb5\x45\x7f\xb4\x27\x2e\x67\xd8\x15\xa6\x9d\xa8\x4c\x7b\xe2\xbc\x9a\xa1\x84\x97\x56\x0d\x2f\x21\xec\xc0\xb0\xbb\x9c\xdf\xa7\x99\xc6\xd3\xf3\x0d\x68\xb1\xb0\x7a\x3a\xe7\xc2\x58\x9e\xd9\x78\x69\x2e\x81\x4e\xf8\x6d\xa1\xec\x89\xc7\x2e\x91\xe8\x3e\xe0\x7c\x08\x30\xef\x84\xdf\x12\x8b\x8a\x8f\xaf\xbf\x29\x42\xd7\xaf\x1a\x55\xff\xbf\x12\xbc\x63\x94\x24\xc0\xf0\xe9\xe8\xfe\x47\x63\x5b\xd1\x34\x07\xd8\x63\xdc\x1f\x0e\xfb\xe8\x38\x1a\x14\xb4\x8c\x95\x62\x84\x20\xd2\x4f\x0a\x35\x48\xc5\xaf\x09\x1b\x96\xca\xdc\x99\xa5\xe1\x22\xf4\x91\x61\x25\x47\x5d\x24\x68\x24\xf9\xe9\x5d\x22\x37\xaf\x89\x47\xb0\x0e\x1a\xa3\x37\x9c\x76\xe2\x72\x32\xec\x62\x86\x25\xb3\x08\xf0\x16\xc7\x2a\xd5\x16\x85\xc7\x5f\xdb\xce\x1f\x0a\xd7\x87\xa7\x9c\xc3\x90\xbe\xba\x90\xad\x20\xac\x73\x43\x68\x1f\x57\xd0\x62\x61\x82\x87\xb0\xe3\xda\x87\x86\xf4\x62\x92\x3b\x2b\xcc\x84\xeb\xe1\xf0\xf9\xc5\x65\xf1\x5f\xa8\x37\xe4\x58\x2a\x8d\x7f\x8b\x15\x31\xdc\x24\x4b\x77\xa5\x52\xc8\x0a\xff\xe5\xea\x62\xc5\x79\x2e\xf9\x87\xdc\x7f\x9a\xec\xcb\xf5\xd4\xe0\xf7\x13\x53\xf2\xa9\xd8\x50\xc4\x93\x4a\x82\xb0\x56\x1c\x5e\x50\x18\xce\xee\x62\x8e\x8d\x66\xf1\x8c\xcd\x8a\x8e\xaf\xdc\x6f\x87\x66\x2c\xa6\xa5\xd1\x4f\x55\xc3\xbe\xf8\x0c\x54\x6a\x04\x2f\x9f\xe2\x84\xdf\xb4\xe4\x40\xd1\xec\xc5\x21\xfd\x46\x42\x03\x9e\x44\xe7\x95\x16\x23\xca\x15\xe0\xc3\xfe\x98\x0c\x97\x25\x6d\x95\x73\x6c\xe5\xb0\xa1\x4c\x3f\x87\x84\x94\x47\x3d\x24\x05\xed\x0a\x87\x66\xf3\x1c\x36\x21\x6e\x85\x95\x61\x06\xa3\xe4\xad\xc2\x06\xf1\xa8\x2b\x3d\xdf\x17\x95\x6b\x07\x16\xf1\xb8\x2b\x0a\x0f\xe3\x24\x6d\x9e\x6d\x89\xf2\xf9\x17\x74\x44\xc7\xb3\x77\xfc\xa5\xa8\x35\xbd\x4e\xe5\x3f\x6c\x94\x86\x52\xf3\x82\x84\x99\x82\xe9\x8e\x5a\xad\xea\xf9\xd7\xc3\x34\x46\x13\xd2\x1f\xe5\x5c\xf4\xdd\x63\xd1\x85\xc8\x9e\x84\xd0\xa6\x70\xd6\xaa\xb9\x81\x3f\xff\x4c\x8f\x5e\x97\x5d\xb0\x92\x37\x77\x70\x72\x98\xfe\x5d\xfd\x22\x34\x75\x1f\x41\x3e\x8e\xd9\xbc\x9d\x08\x83\xe5\xd0\x30\x87\xec\x36\x5a\xa1\xe7\x51\xa0\x15\xbe\xde\xe6\x78\x4d\xdb\xf4\xf4\x9b\xb1\xbc\x94\x42\xe0\xf9\x89\xef\x6b\xf5\xdf\x00\x00\x00\xff\xff\x8f\x1e\x43\x1e\xd2\x1f\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x59\x5f\x8f\x1b\xb7\x11\x7f\xdf\x4f\x31\xbd\x00\xf5\x5d\x20\xeb\xfa\x50\xf4\xe1\x80\xc0\x71\x72\xb9\xe2\x80\xe2\x5a\x38\x72\xf2\x18\x51\xcb\x91\xc4\x9a\x4b\xae\x49\xae\x14\xc1\xb9\xef\x5e\xcc\x90\xdc\x25\xf5\xe7\x6c\xb7\xbd\x87\xc4\xda\x25\x87\xc3\x99\xdf\xcc\xfc\x66\xf6\xf6\xdb\x6f\x9b\xe6\x9b\x6f\x60\xb1\x45\x78\xd0\x76\x0f\x4f\xd6\xbc\x7e\x18\xcc\x46\xad\x34\xc2\xc2\x7e\x40\x03\x3e\x08\x23\x85\x93\xbc\x70\xf9\x64\x4d\x7e\xcf\xaf\x97\xd0\x5a\x13\x9c\x68\x43\xd3\x90\x14\x65\x02\xba\xb5\x68\x11\xc2\x56\x04\x10\x5a\x9f\x93\x99\xf7\x78\xf0\x5b\x3b\x68\x49\x0f\xd6\xd6\x75\x10\xec\xbc\x79\x5c\x83\x80\xc1\xa3\x83\xbd\x30\xc1\x43\xb0\x20\xb1\xd7\xf6\x00\x02\x0c\xee\xe1\xe9\x61\x31\x0a\x98\x41\xd8\xa2\x72\xe3\xef\x2c\x4f\x75\xbd\xc6\x0e\x4d\x60\xa5\xc2\xa1\x47\x0f\x12\xd7\xca\xa0\x84\x2d\x3a\x4c\x97\x79\x58\x2c\xc1\xa1\xb7\x83\x6b\x0b\xd5\xe3\x4d\x5a\xeb\x70\x7a\x49\x22\xe2\x95\x1c\xf6\x0e\x3d\x92\x66\xc2\xb0\x32\xca\x90\x16\xe0\x3b\xe1\xc2\xa8\xc9\x3c\x1e\xf1\xa3\xd5\x1a\xdb\xa0\xac\x59\xc2\xbb\x0b\x27\x4d\x87\x90\x7c\x1f\xac\x43\x9f\x4c\xf0\xca\xa7\xeb\x66\x29\xf3\xe6\x31\x80\x32\xad\x1e\x24\x2f\x5a\xe3\x1e\xd6\x83\xe1\x77\x6c\x2a\xa1\xc9\x8f\xa4\x8f\xdd\x1b\x74\xf4\x08\x85\x57\xfa\xd0\x74\x76\x87\x10\xc8\xfe\x9e\x54\x16\x46\x82\x1d\x02\xd8\x35\xaf\x2e\x8f\x60\xcd\xff\xe5\xec\x4e\x49\x74\x4b\x5e\xb9\x7c\x87\x2d\xaa\x1d\xfd\x3c\x35\x98\xe7\x7b\xf8\xf2\x09\x48\x6c\xb5\x70\x58\x28\xb7\x57\x61\x0b\xde\x76\x08\xbd\x43\x16\xda\x5b\xcf\x06\x93\x8a\x57\x34\xc9\xbe\x1f\x07\xe5\x90\x95\x9a\xac\x47\xf7\x58\x5b\xbe\x5b\x8b\x2e\x08\x65\xc0\x88\x4e\x99\x0d\x0b\x5a\xe1\x56\xec\x94\x75\x23\x58\xfd\x9c\x55\x3a\x00\xa9\xe0\xb1\x17\x4e\x04\x84\x15\xb6\x62\x20\x35\x03\x6c\xd4\x8e\x95\xdc\xa1\xb6\x3d\x3a\xcf\xc7\x89\x95\xd2\x2a\x1c\x22\xe2\x08\x2c\x93\xf6\x51\xb7\x56\x18\x72\x0b\x08\x73\x28\x10\x31\x82\x8d\xa5\xf8\xda\x30\x3f\x1c\x60\xf0\xa4\x67\x36\x9b\x67\x8d\xa7\x25\x33\x76\xb4\x27\x3f\x90\xab\x6b\x14\x79\x3e\xd2\xa3\x91\x0d\xed\x72\xd1\x09\xd9\x8b\x3d\xa2\x7b\x1d\xec\x6b\xfa\xff\x8c\xed\x4b\x0e\x25\x53\x98\x0d\x5d\x82\x0f\xa1\xa8\x60\xd3\x0b\x68\x91\xa4\x6a\xd0\x28\x37\xe8\x9a\x13\xc0\x2e\x2c\x1f\x95\x71\x4d\x68\x32\x36\x6c\xd1\xb1\x8a\xb3\x31\x2c\x39\xc4\x3c\x5d\xfb\xc0\xa2\xa5\x13\x11\x72\x4f\x0f\x8b\x66\xed\x6c\x97\xa2\x72\x72\x1f\xc7\xa9\x81\x96\xf2\x01\x2d\x94\xd8\x5b\xaf\xc2\x68\x5f\xb0\xa6\x3a\xeb\x95\x6f\x6a\xdf\xb7\x96\x8c\x1c\x22\x2c\x82\x13\xc6\xaf\xd1\xcd\x9b\xe6\xdb\xdb\xa6\x51\x5d\x6f\x5d\x80\x5f\x14\xee\x29\xc4\xf4\x0e\x1d\xb0\x16\x57\xe5\xa3\xab\xa6\xb9\xbd\xbd\xe5\x54\xd7\x11\x7c\xca\x34\x32\x87\x7f\xf2\xd1\xe5\x33\x02\xac\xd6\xbc\x27\x1d\xc0\x7e\xcb\xbe\x66\x45\x2a\xbc\xc7\xec\xc2\xc9\x40\xf9\x29\x2d\xde\xde\xde\x36\xa2\x6d\xd1\xfb\x6b\xa1\xf5\xcd\x94\xaa\x8e\x53\x29\x7c\x6a\x1a\x00\x00\x3a\xf1\xad\x01\x34\x41\x85\x74\xd6\xda\xba\x18\xd8\xec\xd8\x2d\x8e\x56\x17\x9a\xe3\x37\xc2\x81\xef\x2c\xe0\x17\x31\xe8\xc0\x92\xca\x63\x4b\x71\xbf\xe6\xdd\x2b\x8d\x5f\x76\xe6\xd0\x4b\x11\x12\x74\xe3\xbf\x01\x77\x8c\x78\x5e\xc6\xd6\x7c\xf1\xc8\xf7\xb4\xa9\x3e\xef\xa7\x5d\x34\xa3\x08\xa7\xf5\x00\x3b\x15\x60\x4f\x90\xa1\xdb\x76\x18\x04\x6d\xa7\xbb\xe6\x9c\xeb\x93\x1e\x72\x94\xf7\x18\xe3\xd3\x1a\x7d\x80\x15\xb2\x88\x80\x12\x56\x07\x86\x5d\xb6\xdc\x92\x9e\x3f\x3d\x2c\xde\xc7\xdd\xcb\x11\x82\xa3\x9c\x18\x2c\x06\x96\xa3\xce\xcb\x7c\x15\x8a\xc0\x35\x3a\x34\x94\xac\x6d\x86\x7c\xbc\xc3\x5e\x9c\xaa\x44\x60\x2b\xad\xd0\xbb\x64\x35\xdf\x8b\xae\xa3\xa8\x67\x9f\x4d\xfa\xa9\xf4\x64\x8a\x04\xff\xaa\x48\xcd\x7e\x94\x9c\x53\x19\xdf\xb6\xb5\x32\x42\x82\xd2\x7a\xb1\x1c\xac\x8b\xba\x6d\x05\x1d\x89\xad\x12\x7a\xba\x4a\x74\xd5\x28\x31\xdd\xa7\x38\x8c\xec\xbe\xb5\x32\x06\x02\x99\x94\x6c\x41\xeb\x36\x18\xe1\x7f\x6a\x95\x51\x5a\x6d\x02\xf6\x74\x27\x3e\xa0\xa7\xdc\xeb\x6d\xd4\x2a\x6c\x95\x93\xaf\x7b\xe1\xc2\x01\x94\x91\xf8\x3b\x19\x84\x5c\xd8\x59\xa3\x02\xeb\x9e\x61\x36\x8a\x23\x00\x7e\x1c\xd0\x1d\xf8\x65\xb2\xf7\x04\x90\x9c\x7c\x62\xf1\xab\x6d\x37\xcf\x42\x4e\x81\xba\x1b\x21\x8a\xf2\x5a\xc9\x3b\x78\xff\x68\xc2\xdf\xfe\x3a\x83\x61\x28\x7f\xb1\xd0\x3b\x78\x2b\xa5\x43\xef\xdf\xcc\xb8\x06\xdc\xc1\xcf\xc1\x29\xb3\xb9\x39\x11\xbb\x53\xb1\x38\x43\x0d\xb9\xeb\xdf\xc0\xac\xc3\x3b\x5c\xdf\x81\x18\xc2\xf6\x7a\x84\xd9\x0d\xfc\xf9\xd3\x71\x52\x98\x3f\x3d\x2c\x9e\xa3\xe8\x4f\xfc\x5f\xfa\xe3\xe8\x28\xd5\x8d\xf2\xe6\x4a\x66\x8d\xd3\x03\xfa\x31\xaa\x9d\x9e\xf1\xaf\x37\x73\x11\x2f\x91\xef\x90\x5e\x6e\x30\x2c\x0e\x3d\x5e\xdf\xcc\x95\x24\xef\xae\x15\xba\x78\xfa\x73\x73\x36\x72\x95\x1f\x03\x8d\xc3\x55\xc4\x64\x44\xcf\x73\x8e\x32\xb3\x71\xa3\x32\x52\xb5\x22\xe4\x58\xa4\xa3\x67\x90\xb5\x9e\x15\xac\xe5\x84\x94\xa4\xd3\x62\x98\x8d\x92\xd9\xdf\xb3\x0a\x1c\xb4\xed\xfd\xfb\xc7\xfb\x2c\x62\x62\x2b\x67\xf7\xc2\xe0\x07\xa1\xf5\xa1\x8a\x9b\x1a\x29\x9c\x5b\x4e\xf4\x51\x1e\x8c\x0d\x91\x48\x91\xd7\xed\x60\xc2\x2b\xcf\xec\x4d\x6c\x70\x06\x4b\x12\xbf\x1c\x43\x67\x69\x94\x5e\x7e\x0e\x81\x39\x2f\x5f\x97\xb8\x22\x03\x5d\x02\x24\x9d\x51\xe2\xb1\x4f\x9c\x8d\x0c\x90\x57\xdd\x9c\xf5\xdb\x25\xa7\xa5\xc2\x8c\x92\xab\xff\x39\x9b\xc0\x63\x74\x22\xfa\xff\xc9\x87\xe5\x41\x2f\x7b\xb0\x34\xfa\xe9\xde\xff\x9b\xab\x66\x5f\xe7\xab\xfb\xa8\xc3\x17\xbb\x2a\xd8\xd2\x51\x93\x76\x17\x5c\xf5\x58\xf7\x51\xa9\xd2\x78\xe8\x86\x48\x99\x53\xb7\x74\x51\xc9\x53\x92\x4e\xfb\xef\x2a\x92\x34\x1f\xd9\x52\x62\x1e\xf9\xf0\xc1\xa8\x8f\x03\xc2\xe3\x3d\x57\xf7\x4c\xec\xf2\x8a\xf2\x18\x8d\xa1\xb8\x73\x2d\xe5\x7c\x96\x10\x43\xb0\x9d\x08\xaa\xe5\xa8\xc3\x1d\xa7\x72\xd5\x21\x88\x42\x67\x72\xb1\x0f\xce\x1e\x52\x2d\x2d\x8b\x09\xf3\x6e\xc5\x06\x10\xd9\xbd\xa9\x21\x92\xb9\x15\x1b\xeb\x41\xf4\x95\xb7\x84\x9c\x04\x03\x83\x48\x2b\x05\xb7\x6f\xc2\x6d\x06\x6e\x13\xcf\x5d\x2e\x6e\xce\x5d\xdb\x7d\xd6\xa8\x28\x10\xf0\x1d\x78\xd4\x65\xe2\xad\x9f\xd3\xb3\x9b\xda\x2a\xad\x43\x11\xf0\xa7\xae\x0f\x87\x82\xe1\xc6\xa7\xac\x12\xd2\xab\xaa\xf3\x49\x16\xcc\xd5\x97\x1b\xc4\x13\xaf\xe4\xe8\x71\x18\x06\x67\xb8\xce\xe6\x8a\x2e\xb4\x46\x57\x54\x5d\x3c\x44\xa2\xb4\x67\x2a\xe5\xcf\xde\x9d\xca\xd6\x59\x55\xaf\x6f\xee\xe0\xfb\x4f\xd3\xef\xe7\xa2\x2e\xd1\x1f\xf7\x74\xf5\x23\xfa\x73\xe8\x07\x1d\xa8\xbe\xfc\x03\xcd\x26\x6c\xaf\x6f\xe0\xbb\xef\xe0\x2f\x77\x70\xc5\xbd\x36\x9f\x24\xcb\xa0\x65\xa0\x33\x8d\xeb\xc3\xe1\x4f\x57\x95\xc0\xe7\x66\xfa\x57\x65\x80\xbf\x63\x60\x1c\x15\x1c\x2d\xf7\x32\x89\x70\xc4\x7e\xda\xee\x8d\xaf\x36\xfe\x60\x89\xf3\x25\x30\x78\xee\x1a\x6d\x4f\x7a\x08\x5d\x37\xd5\xa9\x2f\x6a\xb7\xd6\x7a\xac\x44\x6c\xed\x9e\x8c\x9e\xed\xef\x87\x55\x8c\x58\x89\x3d\x1a\x49\x25\xcf\x1a\xd8\xf3\x50\xa4\x3a\x27\xe5\xec\x1a\xe8\x0f\xd6\x01\xfe\x2e\xa8\xd9\x98\x81\x5a\xc3\x92\x50\xbf\x64\x1e\x27\x60\x27\xf4\x80\x33\x58\x0d\x01\x96\x4a\x2e\x41\x5a\xf4\xe6\x55\x9c\x85\xb0\x82\x35\xe0\x84\x49\xea\xc2\x7e\xab\xda\x6d\x34\xc0\x3a\x59\x84\x9b\x58\x9b\xb4\xa6\x93\x88\x78\x72\x04\x0a\xb8\x92\xb8\xa6\x5e\xe2\xaa\x92\xf7\xb8\x86\x55\xb4\x56\xca\x94\xa9\xb7\xe3\xcb\xb2\x50\xe6\xa4\x11\xa5\x02\xa8\xf7\xd5\x51\x2d\xd2\xe4\xdf\xe4\xd6\x78\x5a\x25\x95\x36\xce\x61\x41\x0e\xda\xa2\xee\x7d\x42\xad\x87\xfd\xd6\xd2\x51\xe6\x55\x00\x3f\x38\x8c\x16\x0c\xb9\xb5\xd7\xd6\x7e\x20\xd3\x52\x9e\x2a\xe5\x55\xb2\xbf\xa7\xf6\xbf\x4b\x44\x87\xe0\x46\x14\x27\x57\x17\x89\x5e\x39\x94\x27\xb1\x94\x36\x51\x4c\xf3\x5c\x4b\xe6\x0d\x09\x01\x2b\xeb\x9c\xdd\x5f\x3e\x33\x59\xf4\x2d\xf8\xe0\x86\x36\x0c\x3c\x4c\x4a\x93\xa3\xcc\x7f\x1c\x7e\x1c\xd0\x13\xf0\x89\x2a\xce\x2f\x06\xe2\x06\xc3\xcf\xc3\xea\xe9\x61\x91\xaa\xcd\x22\xd5\xdc\xb1\x6e\xc0\xdd\x25\xea\xf8\xe6\x28\x16\x93\x5a\x46\xe9\xa6\x8e\xa6\xe7\xb3\xb5\xc7\x42\x87\x52\x51\xbb\x37\x75\x9c\x63\xa3\x99\xf3\x75\x49\xa2\xa6\xc4\xf0\x35\xa5\x29\xcf\x9a\xea\x42\x04\xbf\x62\x6a\x04\xf3\x8c\x21\xf7\x9c\x99\xe5\x67\xbe\x53\x88\xca\x8d\x11\xd5\x48\xd5\xb2\xa9\xf3\xf6\x52\x74\x92\x94\x90\x25\xb8\x5f\x5f\xc7\x41\x4d\xb0\x29\xf3\x6b\xe5\x03\x52\x1b\x91\xdf\xeb\x24\x30\x4f\x2f\x52\x6f\x52\x39\x7e\xd4\xd5\x61\x67\x77\x38\x0e\x09\x47\x9d\x8b\x1c\x47\xf9\x3a\x2e\x3a\xce\xd6\x75\xc4\x05\x0e\x71\xae\x5e\xdc\xc5\xad\x0f\xc4\xdb\xb8\x45\xa4\x2d\x8f\xf7\x14\xaf\x91\x32\x39\x5a\x75\x0c\xa4\xb2\xdf\x8f\x88\xca\x5a\x5e\xe7\x7f\x14\x24\x84\xf2\x3b\x41\xe7\xab\x12\xbb\x92\x94\xcf\x4b\x69\x9c\xd8\x27\x16\x37\xf1\xee\xc8\x35\x73\x7e\xe7\xc9\xa9\xa0\xfa\xef\x8f\x62\xe2\xf1\xfe\xea\xe4\x34\x86\xc3\x11\x4d\x9e\x4a\xcb\x49\xeb\x12\x83\x64\x54\x31\x17\xe9\xf4\x20\x12\xd6\xc8\xa1\xb9\x5c\x1f\xb7\x46\x35\x9d\x2e\x2a\x7a\xa9\xd2\xf3\x57\x06\x52\x02\x8f\xcf\x0e\xff\xef\x22\x26\x8f\x63\x8f\xa9\x5b\x86\x66\xe0\x66\x3b\x61\xaf\xe6\x3a\x0c\x3b\x21\x65\x89\xba\x23\x25\x8e\x33\xda\x71\x42\x92\x99\xfc\x92\x2b\x33\x5e\x8e\x88\x0e\x27\xad\xbe\xb7\x2e\xa0\x7c\x7a\x58\x2c\x78\x06\x9f\xab\xa3\xe0\xe0\xca\x33\xcf\x38\x9f\x9f\x4a\xb4\xcb\x97\xa3\x73\xfb\x70\x9e\xa1\x8c\xdd\xf5\xb9\x83\x88\xa5\x7c\x5a\x30\x3c\x7e\xb0\x56\x1f\xd1\x84\x77\x49\x8b\x1c\x44\x31\x6a\xd8\x10\x1b\xb5\x43\x93\x38\xa6\x4f\xe7\xc7\x21\x52\x1d\xbb\x95\xbc\xb7\x27\x4d\x4e\x1b\x3b\x0d\xec\xc3\x34\x2b\x4e\xa3\xad\xa2\x02\x42\x70\x03\x92\xec\x54\x68\x5f\xbe\xa7\xf2\xc7\xd7\x2c\xca\xc1\x4d\xbc\xe8\x31\x02\xdf\xc5\x61\xfa\x38\xd0\x8b\x97\x30\xad\xc3\x70\xf4\x71\xa3\x9c\x03\xad\x30\x8f\xef\x47\x46\x3d\xce\x3d\x29\xff\x8d\xb3\xcd\xaf\x00\xec\x84\xb0\xbb\x31\xdd\xcf\x2e\xc2\xf8\x5d\xb2\x4f\xaa\xb7\xd3\xe6\x7b\x62\xf5\xd4\xc4\xd4\xdc\x4b\xf8\xa4\xf7\x5b\x73\xf8\x99\x0b\x2e\xa3\xbc\x15\x7e\x84\x38\xdb\x51\x8b\x10\xbf\x89\x88\x9d\x55\x12\x5a\xe5\xda\x41\x0b\x97\x48\x1a\x9a\xf6\x00\xca\xfb\x01\x3f\x0f\xb9\xa7\x87\x45\xad\x15\x29\x45\xb0\x1b\x35\xa8\x6f\xf4\x44\xfd\x0a\xd5\xc8\x3d\xa6\x01\xfa\xf4\xa1\x23\x35\x78\x05\x88\x52\x9a\xaf\xd9\x7d\x7a\xaa\x5a\x90\x8a\x97\x09\x77\x38\x69\x08\x7c\x24\x86\x1c\x47\x8a\x68\x21\x18\xa4\x1b\xd0\x5a\x82\x62\x67\x5d\xcd\x5b\x85\x07\x6d\xcd\x86\x93\x44\x9a\xce\xc7\xe9\xe3\xf4\xe5\x46\x44\xf1\x0e\x5f\xcc\x35\x97\x52\x4d\xfa\xa0\xa5\x42\xc6\xd2\x99\x28\xfa\x7c\x82\x39\x3b\x17\x3b\x2e\x51\x0e\xcf\x54\xa8\x82\x48\x94\x9f\x1e\x62\x8d\x4f\x2a\x55\xdf\xe9\xa6\xcf\x73\x67\x44\x65\x7e\x71\x79\x17\x27\x0e\xdd\x51\xb9\x14\x7a\x2f\x0e\xb1\xae\xad\x15\xf5\x12\xd4\xd6\x2a\x23\xaa\xbb\x17\xc2\xa7\x59\x3e\x19\x6e\xd4\xb4\x53\xde\xb3\x23\xe2\xb4\x78\xf0\xc1\x76\x63\x92\x24\x6a\x42\x70\x5a\xe1\xc4\x61\xce\xc9\x26\x89\x5b\xe1\x64\xa4\xfb\x94\x04\x54\xec\x27\x8f\xc8\xce\xf9\x9a\x5b\x8f\x3b\x58\xc9\x17\x2a\x6e\x7c\x3f\x15\xdc\xf8\x3b\x0d\x88\xec\x85\x6a\x7b\x3c\x13\xf9\x82\x7a\x7b\xdc\xfc\xa5\xcf\x78\x9d\x1d\x4c\x2e\x2e\x71\xce\x33\x25\xb2\xcf\x80\xaf\x0c\xf1\xdc\xa9\xde\x51\x21\x6f\x8e\xfa\x45\x62\xff\xfe\x42\xb3\xf9\xd9\x13\x8b\x39\x15\xad\xe7\x2f\x0e\x4c\x84\x62\x80\x33\xf9\x29\xc6\x56\xb5\x94\xd9\x51\xe3\x34\x7d\xa5\xcc\x25\x26\x55\x17\xee\xce\xd8\xef\x24\xa7\x17\x46\xb5\x2f\xdf\x39\xf6\x34\xd4\x67\xfc\x56\x76\x17\x5f\xdc\x5c\x5c\xa0\x88\xd7\x91\x6f\x11\x41\x34\x4a\xdf\xc0\x1f\x7f\xe4\x47\x6f\x12\x6f\x54\xf2\xe6\x0e\x4e\xf6\xd1\xdf\xd5\x8f\xc2\x90\xf6\x51\x35\xb6\xd6\x68\xf1\xd8\x99\x95\xa3\x5e\xba\x76\xf5\x91\x66\xe4\xcd\x9d\x08\xed\x36\xb3\xe5\xf1\x7b\xcd\x68\xef\x4b\xf3\x05\x78\xb9\x65\x7a\x6e\xfe\x13\x00\x00\xff\xff\x5d\xc8\x29\xea\x42\x21\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -215,7 +215,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0x42, 0x44, 0xc0, 0x85, 0x59, 0xa9, 0xf, 0xc2, 0x3a, 0xce, 0xe3, 0xb7, 0xb5, 0x85, 0xfe, 0x87, 0xb2, 0x84, 0x26, 0xa8, 0x47, 0x24, 0xf4, 0x3d, 0xf3, 0x15, 0x43, 0xee, 0xc6, 0xae, 0x46}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5a, 0x44, 0xbd, 0xe7, 0x84, 0x61, 0xb8, 0x76, 0x82, 0x71, 0xf7, 0x84, 0x93, 0x19, 0x78, 0x31, 0x5e, 0x9b, 0xc9, 0xdc, 0xca, 0x7e, 0xbe, 0x3a, 0xbb, 0x91, 0x18, 0xd9, 0x71, 0x14, 0xd6, 0x49}}
 	return a, nil
 }
 
@@ -259,7 +259,7 @@ func utilityTokenforwardingCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityViewresolverCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x94\xc1\x6e\xf3\x36\x10\x84\xef\x7e\x8a\xe9\xa5\xb5\x81\x42\xba\x14\x3d\xf8\xd2\x1a\xfd\x11\x20\x87\xfe\x28\x5a\x37\x97\x20\x28\x68\x71\x6d\x11\xa1\x49\x75\xb9\xb2\x22\x04\x79\xf7\x62\x49\xcb\x76\xe2\xa4\x2d\xa2\x93\x40\x89\x3b\x33\xdf\x92\x5b\xd7\x58\x9b\x47\x0a\xd8\x72\xdc\x43\x5a\xc2\xd7\x9b\x35\x7e\x25\x31\xd6\x88\x41\x12\x13\xac\x61\xfb\x3d\xa4\x75\x09\x4d\x0c\xc2\xa6\x11\xd0\x53\x17\x13\x25\x98\x00\x17\x84\x78\x6b\x1a\x82\x44\x78\x92\x59\x5d\xc3\x84\x31\x06\xc2\x26\x32\xc7\x01\xe6\xbc\xcf\x04\x0b\xa6\x14\xfd\x81\x70\x70\x34\x24\xc4\x00\x27\xd5\xac\xae\x75\xdf\x5a\x45\x06\xe7\x3d\x8c\xf7\x71\xc0\x18\x7b\xad\x1a\x37\x62\x9c\x2a\x6d\x23\xef\x8d\xb8\x18\x60\x36\xb1\x97\xcb\xca\x83\x93\x56\x97\x02\x35\x94\x92\x61\xe7\x47\x3c\x86\x38\xb8\xb0\x53\x3b\xd2\xe6\x97\xbc\xab\xe8\x61\xe5\x7d\x16\x08\x44\x16\x2e\xc1\x49\x82\xb1\x96\x29\xa5\xec\x33\x98\x3d\xe5\x97\x31\xf6\xdf\x31\x61\x17\xa3\x55\x37\xbb\xf8\xcd\xcc\x34\xaa\x32\x37\xde\x2f\xce\x16\xce\x24\xee\x1c\x0d\xbf\x97\x98\x8c\xe7\x19\x00\xd4\x75\x8d\x9b\x3e\x34\xd9\xbd\xb4\x46\xc0\x24\x3d\x87\xa4\x51\x33\xf8\x13\xf4\xbb\x0c\xc6\xed\x3b\x4f\x7b\x0a\x42\x16\x9b\x31\xff\x51\xc8\x69\x90\x49\x73\x2a\x7d\x92\xf8\xb9\x54\xc5\x2a\xc0\x30\x9b\x11\x71\x8b\xf5\xd8\x51\x82\xa5\xad\x0b\xba\x57\x2b\x5d\x16\xcf\x7d\xa8\x0a\xfb\x83\xf1\x3d\x95\x0e\x6c\x08\x7d\xca\xda\xa7\xe2\xd3\x63\xe9\x40\x3e\x76\xc4\x49\x79\x28\x65\x0c\xad\x6b\x5a\x74\x86\xcd\x9e\x84\x58\xd7\x3b\x93\xf2\xf7\xb3\x73\xd2\x64\xf3\x05\xf6\x24\x6d\xb4\xd5\x2b\xf3\x97\x44\xd5\x11\xb6\x7d\xc0\x8e\x24\xc3\x98\x2f\x96\xb8\xd7\x18\x0f\x47\x9a\xfa\x1c\x93\xde\x3f\xe4\x95\x97\xd9\x87\x98\xb3\x74\x82\x51\xdd\x42\xb8\x08\x44\x2e\xa7\x5a\xe2\x23\x85\xea\x1a\x65\x4e\x93\xff\x5d\x62\xdd\x52\xe6\xa8\x3c\x35\x90\xa5\xe4\xf8\x08\xaf\xba\xa6\x8f\x24\xdc\x37\xd2\xb3\x46\xef\x98\x12\x05\x99\xd8\x33\xfd\xdd\x53\x92\xb7\x9b\xaf\x28\x28\x80\x4b\x6e\x7f\x4d\x56\xc6\x8e\x16\x4b\xac\xc2\xf8\x47\x16\xf9\xe9\x9a\x49\x70\xfe\x2d\x94\xdf\x38\x1e\x9c\x55\x0c\x59\x42\x1b\x63\x90\x48\x34\xd0\x2b\x2e\xa9\x3a\xd9\x47\xe4\xd3\x7e\x75\xd2\x73\x43\x98\x53\xb5\xab\xf4\xe2\x7f\xbd\x59\x2f\xd0\xe8\x04\x98\x0e\x53\xc1\xf9\x6a\x20\x74\x45\xf6\xac\x7a\x2a\xa8\x28\xca\x08\xc8\x6d\x72\x82\xd4\x77\x5d\x64\x49\x1f\x23\x39\x99\x38\x6b\xbc\xb9\x66\x9f\x3b\x4a\xd7\xc7\xa9\xd0\x7b\xaf\xe2\x67\xda\xf2\x4e\x6b\xce\x02\x17\x4d\x5a\x61\xc7\xb1\xef\xb4\x27\xd9\xf8\x51\x87\x15\xaa\xa5\xa7\x32\x09\x6e\xbf\x7c\x0a\xd0\x2f\xd1\x7b\x2a\xf7\xe2\x3f\x50\x95\xb1\x7d\x39\xc3\xe6\xce\x2e\xf1\xe7\x6d\x90\x1f\x7f\x58\x2c\xf1\xed\xf3\xb4\xfe\xf2\xbf\x43\xfe\x5b\x5f\x6e\xbf\x94\xae\x14\x81\xe9\x3a\xbf\xcc\xfe\x09\x00\x00\xff\xff\x90\x57\x5a\xe7\x9c\x06\x00\x00"
+var _utilityViewresolverCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x95\x4f\x8f\xe2\x46\x10\xc5\xef\x7c\x8a\x97\x4b\x02\xd2\x0a\x5f\xa2\x1c\xb8\x24\xa3\x5d\x8d\x34\x87\xac\xa2\x2c\xd9\xcb\x6a\x15\x15\xee\x02\xb7\xa6\xe9\x76\xba\xcb\x78\xad\xd1\x7c\xf7\xa8\xba\x31\x18\xc8\x4c\x46\x51\x38\x20\xab\x71\xd7\x7b\xf5\xab\x3f\x54\x15\xd6\xf4\xc8\x1e\xdb\x18\xf6\x90\x86\xf1\xf1\x7e\x8d\x5f\x59\xc8\x90\x10\x92\x90\x37\x14\xcd\x3b\x48\x63\x13\xea\xe0\x25\x52\x2d\xe0\x6f\x6d\x48\x9c\x40\x1e\xd6\x0b\xc7\x2d\xd5\x0c\x09\x70\x2c\x98\x55\x15\xc8\x0f\xc1\x33\x36\x21\xc6\xd0\x83\xce\x17\xc9\x1b\x44\x4e\xc1\x1d\x18\x07\xcb\x7d\x42\xf0\xb0\xb2\x9c\x55\x95\xde\x5b\xab\x4a\x6f\x9d\x03\x39\x17\x7a\x0c\xa1\xd3\xb0\x61\x23\x64\x55\x6a\x1b\xe2\x9e\xc4\x06\x0f\xda\x84\x4e\xa6\x91\x7b\x2b\x8d\x1e\x79\xae\x39\x25\x8a\xd6\x0d\x78\xf4\xa1\xb7\x7e\xa7\x76\xa4\xc9\x0f\xf9\x56\xd1\xc3\x9d\x73\x59\xc0\x33\x1b\xd8\x04\x2b\x09\x64\x4c\xe4\x94\xb2\x4f\x4f\x7b\xce\x0f\x43\xe8\x7e\x88\x8c\x5d\x08\x46\xdd\xec\xc2\x77\x33\xaa\x55\x65\x4e\xce\x2d\xce\x16\xce\x28\x3e\x5b\xee\x7f\x2f\x69\x46\x3c\xcd\x66\x00\x50\x55\x15\xee\x3b\x5f\x67\xfb\xd2\x90\x20\xb2\x74\xd1\x27\xcd\x35\xa3\x3f\x61\xff\x9c\xc9\xd8\x7d\xeb\x78\xcf\x5e\xd8\x60\x33\xe4\x37\x0a\x3a\xcd\x64\x14\x1d\x43\x9f\x24\x7e\x29\x51\x71\xe7\x41\x31\xd2\x80\xb0\xc5\x7a\x68\x39\xc1\xf0\xd6\x7a\xbd\xab\x91\xa6\xc1\x73\x21\x96\x05\xfe\x81\x5c\xc7\xa5\x04\x1b\x46\x97\xb2\xf6\x29\xf8\xf8\x31\x7c\x60\x17\x5a\x8e\x49\x81\x28\x66\xf4\x8d\xad\x1b\xb4\x14\x69\xcf\xc2\x51\xcf\x5b\x4a\xf9\xf7\xb3\x73\xd6\xcc\xe6\x0b\xec\x59\x9a\x60\x96\x17\xe6\xa7\x48\xd5\x11\xb6\x9d\xc7\x8e\xe5\xfd\x31\xd3\x0c\x65\xbe\x58\xe1\x8b\xa6\xf3\x15\x4f\xb3\xd1\xcd\x31\xe3\x2f\x5f\xf3\xc9\xf3\xcb\xb8\xb3\x85\x04\x52\xfd\x42\xba\x08\x85\x58\xfa\x5b\xc2\x23\xfb\xe5\x2d\xd2\x9c\x55\x7e\x77\x85\x75\xc3\x99\xa7\x72\xd5\xc4\x0c\x27\x1b\x8f\x10\x97\xb7\x55\x40\x92\xd8\xd5\xd2\x45\x45\xd0\x46\x4e\xec\x65\xac\x41\xe4\xbf\x3a\x4e\x72\x7d\xf9\x86\x86\x82\x38\x9a\x9f\xc2\x98\xff\x39\x5a\x1a\x5a\x5e\xac\x70\xe7\x87\x4f\x59\xec\xe7\x5b\x36\xde\xba\x6b\x38\xbf\xc5\x70\xb0\x46\x71\x64\x29\x2d\x14\x21\xb1\x68\x62\x17\x7c\xd2\xf2\x94\x06\x42\xc4\x29\x80\x5a\xea\x62\xcd\x98\xf3\x72\xb7\xd4\x5d\xf0\xf1\x7e\xbd\x40\xad\x4b\x61\xec\xae\xc2\xf5\x62\x47\xb4\x45\x77\x22\x7b\x8a\xa8\x50\xca\x56\xc8\x05\xb3\x82\xd4\xb5\x6d\x88\x92\x5e\x86\x73\x72\x71\x16\xb9\x9e\xbc\x31\xfc\xa7\x3c\xd0\x49\x9b\xaa\x4c\x18\x6d\xc2\x81\xdf\x61\xd3\x89\xae\x21\x42\x6a\xb9\xb6\x5b\x5b\xe7\x25\x68\x7d\x12\x26\xa3\x38\xe8\x72\xdc\x5e\xeb\xd6\x97\xbb\xf4\xb6\x53\x27\x05\xb9\xb6\x38\x19\x97\xff\xcb\xe5\xa4\x8b\xde\xdc\x3d\xff\xd0\x41\xc5\xf4\x55\x2f\xdd\x61\x17\x43\xd7\xaa\x8b\x0c\xe3\xa8\x13\xb5\xf4\x86\xbf\x95\x05\xf6\xf0\xe1\x3f\x55\xf1\x7d\x70\x8e\xcb\x18\x3f\xbd\x8e\xbf\xfc\xdd\x4c\x77\xef\xdc\x9a\x15\xfe\x78\xf0\xf2\xd3\x8f\x8b\x15\xbe\x7f\x1a\xcf\x9f\xdf\x94\xe4\xbf\x16\xfb\xe1\x43\x29\x75\x51\x78\x4b\xb1\xcb\xf7\xf3\x0c\x7f\x07\x00\x00\xff\xff\xc0\xaa\x57\xca\x79\x07\x00\x00"
 
 func utilityViewresolverCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -275,7 +275,7 @@ func utilityViewresolverCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/ViewResolver.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x80, 0x83, 0xcc, 0xf0, 0x8f, 0xd, 0x91, 0xba, 0xf8, 0x42, 0xe0, 0x0, 0xaf, 0xbf, 0x21, 0x68, 0x4a, 0x18, 0xaa, 0x77, 0xfb, 0xc5, 0x3b, 0x76, 0x1c, 0xda, 0xe, 0xc3, 0x67, 0x2c, 0xc7, 0x5a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x74, 0x95, 0x61, 0x51, 0xee, 0xa9, 0xc2, 0x34, 0x95, 0x8b, 0xb0, 0x3f, 0x8a, 0xea, 0x93, 0xc, 0xb0, 0xaf, 0x5c, 0x2f, 0xfc, 0xb7, 0x61, 0x21, 0xe9, 0xe4, 0x41, 0x84, 0x6, 0x16, 0x1}}
 	return a, nil
 }
 

From 00e30ff55536d44b51cbc8a7cf48fac5218a674c Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 12 Jan 2024 10:30:17 -0600
Subject: [PATCH 073/115] remove view modifier, add getIDs

---
 lib/go/contracts/internal/assets/assets.go | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index a0f425c1..906617a6 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,12 +1,12 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (11.074kB)
-// ../../../contracts/FungibleToken.cdc (8.52kB)
+// ../../../contracts/ExampleToken.cdc (11.069kB)
+// ../../../contracts/FungibleToken.cdc (8.515kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (25.867kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (8.514kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (8.616kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.699kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.29kB)
 // ../../../contracts/utility/ViewResolver.cdc (1.913kB)
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\xdf\x73\xdb\x36\xf2\x7f\xcf\x5f\xb1\xd5\x77\xa6\x5f\x69\x6a\x4b\x4e\x7f\xe4\x5a\x8d\x1d\x37\x4d\xe3\xbb\x9b\x69\x67\x32\x89\xdb\x3e\x64\x32\x09\x44\x2e\x25\x5c\x40\x80\x03\x80\x96\x55\x4f\xfe\xf7\x9b\x05\x40\x12\xa0\x48\x59\x71\xf2\x74\x7c\xb1\x45\x60\x17\x8b\xfd\xf1\xc1\xee\x82\xbc\xac\x94\xb6\x70\x55\xcb\x35\x5f\x09\xbc\x56\x1f\x50\x42\xa1\x55\x09\x93\xe4\xdd\xe4\x51\x98\xf9\x3b\x5a\x96\x33\xcb\xfe\xe4\xb8\x35\x61\x66\xf2\xae\x9d\x99\xd0\x0f\x91\x8d\x4f\x68\x79\xd0\xaf\x57\x68\x94\xb8\x41\x1d\xa8\xe2\x57\x93\x47\x8f\x58\x96\xa1\x31\x53\x26\xc4\x0c\x32\x25\xad\x66\x99\x85\x17\xb7\xac\xac\x02\xe3\x65\xca\xe4\xee\xd1\x23\x00\x80\xc5\x62\x01\xd7\x1b\x04\xbc\x41\x69\xc1\x6e\x98\x05\x6e\x00\x4b\x6e\x2d\xe6\xb0\xdd\xa0\x04\x89\x5b\xb0\xc4\xc1\x00\xd3\x08\x25\x97\x16\x73\x47\x1c\xaf\xe9\x19\xb8\x95\xcc\xef\x6e\xca\x94\x95\xaa\x96\x76\x09\x7f\x5c\xf1\xdb\x27\xdf\x9f\x80\xdd\x55\xb8\x84\xd7\x56\x73\xb9\x9e\x45\xcb\x2b\xcb\x04\x98\xba\xaa\xc4\x0e\x54\x91\x08\x6d\x80\x4b\xc0\x5b\x6e\x2c\xca\x0c\xf7\x16\xbd\x61\x1a\x2c\x91\xbf\x76\xd4\xcd\x52\x1d\xef\x67\x79\xc9\x25\xbc\x64\x76\xb3\x47\x2b\xd0\xfa\xe1\xd7\x56\x69\xb6\x46\x9a\x44\xd2\xb5\x3f\x3a\x2e\x7f\x18\xd4\x8e\x89\x19\xe4\xf2\x27\xab\x85\x1d\xe5\x32\x4a\xf1\xb2\x5e\x09\x9e\x79\x82\xee\xff\xc1\xf9\xaf\x30\x43\x7e\x83\x7a\x84\x64\x5f\x2f\x1c\xb7\x50\xd4\x12\xd6\x68\x9f\x07\x67\x70\x0e\x35\x9d\x2d\xe1\xcd\xf5\xae\xc2\xb7\x70\xe7\xa8\xe8\xa1\x15\x6e\x48\xa2\x57\x58\xc0\x05\x18\x14\xc5\x9c\x65\x19\x19\x6f\x9e\xb1\x8a\xad\xb8\xe0\x96\xa3\x99\xaf\x94\xd6\x6a\x7b\xfe\x75\x6c\xa1\xb9\xdb\xcb\xd3\xe9\xa2\x72\xf2\x2c\x30\x1a\x73\x43\xb3\x76\x1d\x7a\x2e\x2f\xa1\x62\x92\x67\xd3\xc9\x73\x55\x8b\x1c\xa4\xb2\xe0\xd9\x02\x03\x8d\x05\x6a\x32\x34\x58\x05\x76\x83\x5e\x2a\xd0\x8d\x97\x77\xac\xda\x7f\x34\xda\x5a\xcb\x56\xfc\xf9\x1a\x9b\x8d\xba\x29\x1f\xf7\x75\x43\x6a\x09\x1c\x63\xd5\x4c\xdf\x39\xad\x2d\x81\xb4\x33\x5b\xc2\x33\xb9\x7b\x6d\x75\x9d\xd9\xcb\xff\x51\x4d\x85\xb9\x6e\xef\xb4\xf3\x44\x61\xe4\xf5\x4e\xa6\xe6\x57\xfb\xf6\x05\xcb\x36\x50\x53\x40\x18\xab\x34\x1a\x60\x12\xb8\x34\x96\x91\x30\xaa\x00\x25\xc5\xce\x49\xe4\xc8\x29\x7c\xed\x06\xb9\x9f\xcd\xd6\x98\x80\x4e\x51\xcb\xcc\x72\xe5\xa3\xbc\xa3\x61\x32\x87\xb5\xba\x41\x2d\x31\x87\x95\xe7\x56\x69\x74\xef\x2b\x65\x2c\xe1\x5b\xce\x1d\x61\xcb\x8e\xcb\x1e\x76\x3b\xe8\xb2\x1b\xdc\x39\xd0\xca\x98\x10\x98\xcf\x93\xd5\xb3\x0d\x66\x1f\x0c\x6c\x58\x55\xa1\x04\x66\x41\xd7\xd2\xf2\x12\x1d\x29\x12\x46\xb2\x56\x42\x02\xc5\x1e\x8f\x96\x17\x41\x6a\xad\x33\xa4\x19\xd2\xef\x7f\x85\x90\x69\x64\x04\xa1\x61\x67\x04\xc9\x78\x6b\x49\x43\xcd\x4f\x87\xd0\x0e\x71\x49\xcc\x96\x1d\x89\x9b\x63\xc1\xa5\x23\x3e\x01\xe3\x0c\xac\x91\x44\x90\x0a\xb6\x6c\x07\x85\x22\xd9\x4a\x26\x78\xc6\x55\x6d\xbc\x39\xac\x0a\x6b\x7a\x2d\x76\xaa\x51\x75\x58\x96\x4b\x60\x5c\xcf\xe1\x19\x98\x0a\x33\xce\x04\x38\xa0\xd6\xce\x6d\x68\x07\x20\x11\x73\x43\x9c\x56\x9d\x0c\x56\x39\xc8\x6f\xd9\x75\xc7\x41\xaa\x8a\x38\xc6\x5a\x86\x4e\x94\x65\x6a\x1a\x1f\x07\xcd\x01\x14\x5b\xc4\x41\x39\xac\x98\x68\x9c\xc9\x6e\xb8\xf1\x1e\xdb\xce\xed\xc3\x7f\x98\x9d\x42\x7f\x34\x91\x62\xd4\xcf\x34\x87\x10\x7a\x90\xa2\x1a\x47\xe8\xc1\xf9\xba\x81\xe9\x41\x80\x3e\x04\xd2\xe3\xe0\x1c\x85\xee\x9b\xe4\x25\x3d\x34\xf9\x7c\x3c\x7d\x98\x5f\x5d\xd3\xdf\xa7\xd3\xd9\xc9\x03\x48\x7f\xe5\xa6\x12\x6c\xf7\x40\x6a\x67\xe4\x5f\x99\x65\x0f\xa2\xbf\xee\x0e\xf5\xa7\xd3\x14\x17\xdf\xb6\xbf\x3e\xa6\x1e\xf4\xca\x69\xc9\xb8\xf8\x8a\xd6\x0f\x7a\x56\xda\x7b\x93\x7b\x7f\x02\xdb\x0d\xcf\x36\x2e\x0c\x19\x0f\x30\xd2\x06\xa0\x10\xa0\x51\xe0\x0d\x93\x16\x2a\x3a\xf5\x7d\xea\x62\x4e\x1c\x02\x85\x20\xf3\x80\xdb\xe0\xc3\xbd\x06\x8e\x04\x72\x88\x1b\x9f\x30\xc3\xd6\x76\x87\x4b\x0c\xd2\x9f\xa6\xf3\xd9\x90\x9a\x46\xce\xc1\xa3\xcf\x3f\x7a\xcc\x96\xdb\x6c\xe3\x37\x77\xb7\x67\xd8\x8c\x19\x3c\xde\x2d\x97\x7b\xf4\x91\x02\xee\x65\x30\x1d\xa4\xa6\xa7\xb0\xc1\x79\x97\x0f\x51\x63\xe7\xf8\x33\x60\xe6\xab\xc3\x82\x84\xc9\x97\xfb\x3e\xde\x09\xd3\xda\xe5\x41\xe2\x24\x56\xbd\x5f\xa0\x76\xfa\xe5\xa0\x44\xb3\x87\x9a\xac\xd3\xca\xb0\xd5\x28\x37\x2a\x31\xe7\x0c\x2e\xd2\xe2\x68\xfe\x3b\xbd\x1d\x37\x96\xd3\x11\x17\xb8\xec\x91\xfd\xeb\xfa\xfa\xe5\x15\x17\x78\x98\xb2\xd6\x62\x09\x93\x8d\xb5\x95\x59\x2e\x16\xcc\x18\xb4\x66\xbe\xc5\x95\xe1\x16\x4f\x89\xad\x99\x67\xaa\x5c\xfc\x50\x3c\xf9\xf6\xa7\xef\xb3\xb3\xec\x1f\xec\xc7\x2c\xcf\x9f\x7c\xff\xdd\xea\x71\xf6\xe3\xb7\x67\xbd\x01\xf6\xc3\x0f\xd9\xea\x71\xf6\xd3\x77\x4f\xde\x5d\x09\xb5\x7d\xf7\x97\xd2\x79\xc9\xf4\x87\xb9\xb9\x59\x4f\x46\xe5\x18\x00\xb8\xe6\x71\x1a\xb9\x76\x85\xcf\x84\x97\x6c\x8d\x0b\x73\xb3\xfe\xe6\xb6\x14\xc3\xdc\xf6\xad\x93\xa8\xd6\x0c\xeb\xd6\x4c\xdf\xb8\xe1\xb7\xc3\xe4\xc7\xc4\x53\xb0\xee\xb8\xae\x25\x2b\x69\x0f\x21\xa1\x6d\x99\xf9\x8a\x6f\x32\xae\x00\xb3\x2b\x57\x8a\x4c\xf4\xe2\xea\xfa\xc0\xb4\x1c\x4d\xa6\x79\x45\x58\xba\x84\xc9\x35\x21\x75\xd1\x2c\xe1\xb2\x0d\x4a\x7f\x6a\x83\x39\x30\x97\x72\x86\xe4\x99\xb2\x93\x0d\x8a\x0a\x76\xaa\x86\x1c\x6f\x50\x28\xf7\xbf\x06\x49\xd9\xd6\xd5\x35\xfc\x9f\x92\x64\xc9\xf9\x81\xb5\xf1\xd6\xa2\x96\x4c\xfc\xf1\xea\xb7\xbe\x0f\xbe\xe8\x86\xa6\xad\x93\x85\xb5\x4f\x0b\x3b\x57\xb2\x20\xe6\x4a\xaf\x27\x07\x9c\x40\xa8\xb5\x32\xcb\x60\xc2\x03\xaa\x52\x94\x94\x99\xe5\x00\xac\xc6\xcf\xc4\x6e\xa9\x3a\xd7\x93\xa3\x84\x0d\x93\x5d\x10\x90\xac\xef\x56\x42\x65\x1f\xb2\x0d\xe3\x72\x32\xec\x2e\xe0\xce\x8c\xa1\xb7\x0f\xc6\x8e\x18\xc2\xc6\xd1\x23\xaa\xac\x92\xba\xa9\xa9\xb0\x42\x02\x77\xb0\xb8\x2a\xb4\x2a\x03\xca\x46\xf9\xde\xf8\x46\x3f\xad\xca\x72\x25\x4f\xee\x05\x1d\xd1\xde\x51\x87\x57\xa3\x8e\xf1\x70\x4b\x92\xd5\xfe\x76\xc6\x5d\x28\xcd\x40\xc3\x61\xd3\xbd\x3a\x84\x53\x5e\xc4\x88\xb0\xcb\x7e\xef\x5f\xef\x37\x2e\x3f\x60\xee\x71\xce\xb9\xc3\xd7\x77\x69\xce\xdf\x74\x30\x3e\x0e\xa6\x83\x7d\x29\xf6\xd9\x0d\xd9\xfa\x00\x23\x9f\xa4\xbd\x28\x2b\xbb\x73\x93\xaf\x42\x9e\xb6\x84\x69\x51\x4b\xca\xbe\x7e\xbe\x1b\x28\x4a\x3e\xde\x13\x7a\xc1\xb8\xe7\xa7\x6d\x15\xdd\x5f\x68\x7a\x20\xa6\x86\x87\x1e\x18\x54\x69\x86\xfc\xd0\x44\x2a\xe2\x32\xee\x8b\x49\x87\x2d\x31\x44\x34\x72\xc4\xde\x3e\x0e\xa5\xb9\x92\x8b\xb1\x84\x7e\x8d\x96\x78\x2b\x6d\x31\x77\xca\x25\x9d\x18\x50\xee\x94\x60\x42\xec\x02\x0f\x03\x0c\x04\x37\xae\xca\xf5\x69\xb9\x4b\xd7\x9b\xda\x9a\x9b\xd6\x4d\x5d\x02\x5c\x59\x73\x6f\xba\x3e\xb0\x2e\x39\xcd\x9d\x77\xc9\x5f\x94\x12\x7d\x57\x21\x00\x33\x0d\x95\x23\xe8\x4d\xbf\x80\xbb\x54\x01\xe9\xec\x37\x2e\xe6\xd6\xe8\x16\x9b\xce\xde\xc2\x05\x58\x5d\xe3\x60\x65\x90\x10\xde\x97\xe7\xb7\xdb\xe2\x66\x7f\x57\x53\xdb\xc6\xd8\xcc\x0b\x7a\xa0\x18\x19\xd3\xcb\x1b\xeb\x6a\xd6\xcb\x4b\x28\x98\x30\x38\x6c\x4e\xe0\x92\x5b\xce\x04\xff\x1b\x1d\x94\x36\x55\x3e\xb3\x5d\xb7\xc0\x05\x13\x57\x12\x2c\x2f\x3b\x36\x44\x38\xed\x95\xf9\xb3\x7e\x51\x42\xf2\x35\x2c\x2f\x1a\xe6\x7b\x06\xe2\x39\x4a\xcb\x0b\x8e\x1a\x2e\x60\xb2\xd7\x80\x9b\xec\xf3\x8c\x50\x17\x2e\xe2\xae\xc1\xb4\xe3\xb5\x8c\xf8\xce\xbe\xda\xe7\xd1\x01\x29\x5c\x44\x5d\x81\x4f\xe0\x10\x63\xf8\x38\x8f\x64\x43\x0d\xe0\x4e\x22\x7e\xbd\xf8\xfa\x27\xda\xc4\x14\xa1\x37\x75\xa0\xdf\x12\x45\xc8\x2f\x9e\x88\xa2\xc2\x9b\xe4\x80\xe3\xf4\xcd\xd1\x93\x63\xcb\xed\x26\xd7\x6c\x1b\xbf\x4c\x26\x34\xe8\x1d\x22\x9a\x7d\xf0\x6d\x47\x7f\xbf\x10\x12\x42\xa6\xd7\x75\x89\xd2\xa6\xa5\xbc\xcc\x5b\xee\x01\x0f\x02\x91\xbb\x43\x69\x5b\x8e\xf3\xd1\xa5\xff\x6d\xc3\x59\x42\x20\xe3\x5a\x5f\x58\x56\x4a\x33\xbd\x0b\xcd\xca\xe6\xca\xc4\xe5\xa6\x94\x8d\x2a\x91\x27\x1c\xec\x06\x9b\xeb\x13\x2f\x80\x46\x58\x21\x97\x6b\xb0\x9a\x49\x53\xa0\xd6\x98\xcf\x69\x21\x1d\x35\x30\x24\x6e\x23\x4c\x25\x3e\x4d\x43\x31\x2c\xab\x92\xb6\xa2\xe3\xec\x1b\x94\x60\x14\x70\xeb\x7a\x91\xae\x8b\x57\x29\x2a\x85\x52\x99\x50\x18\xdc\x6e\x50\xe3\xf0\xc6\x83\xcd\xd3\x03\xf2\xaf\xa0\x47\xb6\x12\xe8\xbb\x07\x8d\x66\x7b\x17\x3d\x74\xb8\xee\x1f\xd7\x87\x03\x36\xf9\x79\x1a\x8c\x34\xe4\x4f\xe7\xa7\x71\x93\xb3\x83\x05\x4f\x31\xd8\xf4\xa0\x0d\x07\x35\x7c\x9a\x87\x05\x55\xab\xd5\x7f\x30\xeb\xbb\x99\x73\x2d\x96\xe7\x69\xeb\x88\x5b\xd3\x46\x53\xb0\x50\x2f\xb8\xd4\x56\xa2\x36\x47\x78\x1d\x37\xc0\x84\x50\x5b\xef\x55\x39\x1a\xab\x95\x6f\x85\x1b\x5a\xde\x8b\xb6\xc2\x8c\xd5\x06\x3b\x47\x4e\xe3\x8a\x44\x8e\x1c\x96\x5c\x13\x75\x23\x49\xe8\xe1\xba\xc6\xab\xa3\xfd\xff\x4e\xf6\x0d\x4b\xf7\xb5\x42\x94\xe4\x6b\xa6\x2e\xa9\x02\x93\xb9\x6f\x49\x17\xca\xb5\xd6\x83\xa3\x39\x09\x9b\x06\xf9\x88\x4b\xb5\x9d\xa7\x60\x90\x90\xaf\x0f\x27\x63\x7d\x90\x6f\x6b\x04\x38\x3f\xf5\x01\xcc\xcc\x57\x43\xbe\x76\xb4\xa7\x7d\xe3\xf9\xed\x01\x14\x3d\xc9\x08\x5c\xc0\xd9\xfc\x2c\x19\x6f\x4c\x92\xc2\x65\xcf\xef\xfa\xe9\xe1\x91\x0e\x98\x42\x8e\xb7\x35\x45\x1b\xb0\xd8\x9f\xfe\x46\xad\xf6\xe0\xae\x01\x11\xde\x61\x04\x13\x82\xe0\x26\x60\xc5\x1c\x9e\xf9\x0b\x83\xb2\x36\x1e\x33\x7c\x8e\xb4\xd7\xca\x6c\x38\xba\xa2\xc7\x71\xf2\xbc\x5b\x0c\xea\xdf\xed\xd0\x0b\xa5\x73\x7f\x17\xe1\x9c\xd7\x8f\xa7\x1c\x7d\x31\x17\x2e\x19\x98\xaf\xef\x9b\x04\xad\x71\x0b\xd3\x36\xff\x7d\xed\x4f\x09\xc6\x71\x7e\xb5\x9f\x8f\x1f\x83\x46\xf7\x80\xcb\xd9\xfc\x2c\x46\x16\x48\xef\xc9\xfc\x25\x4a\x72\x17\x12\x5f\x0b\x35\xf8\xe1\x91\xc5\x6d\x87\xb9\x5b\xe9\xa0\x09\x7f\x6d\x44\xb1\xd9\x5c\xb5\x7c\xda\x15\x4b\xb8\xc3\xb9\x4b\xb4\x4c\x6c\xfc\x05\xfa\x91\x1e\x47\x04\x26\x5a\xf8\xc4\x81\x1b\xd9\xaf\x6c\xfc\xc8\x46\xf7\xf4\x27\xa3\x7e\x17\x53\xf4\x3d\xef\x28\x0b\x76\xa2\x3f\xe4\x5c\x19\x2b\x4f\xfa\x3d\x85\x78\xe8\x9b\xa1\xf3\x06\x4b\x3e\xf2\x39\x83\xff\xdb\x7c\xce\x90\xa6\xed\xf3\x28\x8f\xfb\xbc\xe3\xab\xe7\x64\x83\x40\x12\xbb\xdb\x67\x01\xc8\x97\x05\x8f\x2f\x0b\x1c\x5f\x00\x34\x86\xe2\xe7\x61\x60\xd1\x9a\x11\xee\x41\x8a\xc8\x74\xa9\x65\xc2\xb1\xd1\xa5\x17\xcd\xe5\xf9\x09\x60\x51\x60\x66\xf9\x0d\x8a\x1d\xac\x6a\x2d\x5d\x8e\xd8\x9d\xd4\x7b\x26\xff\xb9\x62\x9a\x95\xe0\x8f\xd0\xf6\x18\x8f\xca\x29\x7f\xbb\x95\xb2\x71\x3a\xac\xb5\xdc\xe3\xf6\x17\x17\xc2\x5d\x00\x3b\x23\xe4\x74\xcc\x43\x5d\xe5\xb4\x49\xf2\x85\x28\xf8\x5b\x92\xd7\x88\xd0\xf4\x19\xd7\xdc\x6e\xea\x95\x6b\x33\xfa\xa6\xe8\xa2\x10\xbc\x32\x8b\xaa\x16\x62\xf1\xf8\xbb\xc7\x83\x06\x20\x41\x42\xac\x87\x44\x60\x5f\xfb\x71\x16\xc0\x0b\xb7\xdb\xf6\x54\x7e\x4a\x0a\xff\x02\x08\xe0\xd3\x89\x79\x5c\xd6\xf4\x42\x91\x9e\x34\x47\x21\xd9\xa7\xe7\xa7\x44\x98\x98\xdc\x95\xab\xb1\xd0\x0e\x21\x52\x41\x1e\x9f\x9d\x51\x3a\x91\x4e\xe9\x7f\x8c\x04\x17\xb0\x08\x01\x92\x7c\x2b\xe2\xbf\x69\x4a\x6a\xeb\xe7\xde\x19\xbb\x4f\x28\x5c\xac\xf7\x41\xdb\xc5\x47\xf8\x90\x8b\xc2\x93\xdd\x20\x45\x3a\x97\xc9\xc7\x19\x9e\x65\xfb\x6f\x92\x74\x0d\x3b\x7d\x7f\x83\xb3\x74\x5f\xfd\xcf\xa3\xe0\x22\xe4\x56\x6b\xb4\xbf\x62\xd1\x1b\x9d\x46\xf5\x6a\x47\xfe\x32\x2e\xa1\xfb\xd4\x51\x39\xdc\x27\xde\xff\x70\x6a\x80\xfe\x55\x54\x5d\x13\x87\x94\x45\xbf\xfb\x4c\x6a\x9b\x86\x0e\xe0\x09\x58\xb5\x1c\xde\xe5\x6c\xc8\x40\x2c\x7c\x52\x00\xed\xc7\x42\xbb\x5e\x6b\x39\x2a\x2a\xf1\xb6\x52\x06\xe3\x03\xdc\x4d\x7c\x1f\xe0\xee\x3d\x94\x68\x37\xca\xa7\xe3\x6b\xb4\xcf\x5c\x6b\x2b\x34\x85\x9a\x31\xbb\xd1\xaa\x5e\x7b\x57\x78\xdf\xec\xf3\x3d\xb8\x94\xa1\x60\x59\x6c\xf1\x26\xad\x87\xf7\x71\x18\xbc\x1f\xe4\x14\x86\x87\x19\x25\xae\x13\x3b\xee\x73\x56\x1d\xfc\x68\xaa\xd1\x30\x37\xa6\xc6\xf3\xaf\x43\x97\x77\x44\xbb\x83\x36\x4a\xd8\x39\x55\x9b\xcd\xb4\x27\xc2\x09\x30\xbb\x1c\x74\xad\x59\x22\x79\xd3\x73\xf9\x44\xa9\xc7\xfb\xde\x9f\xbd\x91\x48\xa2\x68\x13\xfb\x2e\x1e\xb9\x1e\x6d\xc4\x67\x9b\x5d\xf4\xfa\x84\x71\x3a\xb2\x72\xcf\xcd\x1d\x71\xe4\xe6\x7d\x90\x6a\xa0\xef\xe3\xa3\xff\x06\x00\x00\xff\xff\x57\x3f\xfd\xc7\x42\x2b\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\xdf\x73\xdb\x36\xf2\x7f\xcf\x5f\xb1\xd5\x77\xa6\x5f\x69\x6a\x4b\x4e\x7f\xe4\x5a\x8d\x1d\x37\x4d\xe3\xbb\x9b\x69\x67\x32\x89\xdb\x3e\x64\x32\x09\x44\x2e\x25\x5c\x40\x80\x03\x80\x96\x55\x4f\xfe\xf7\x9b\x05\x40\x12\xa0\x48\x59\x71\xf2\x74\x7c\xb1\x45\x60\x17\x8b\xfd\xf1\xc1\xee\x82\xbc\xac\x94\xb6\x70\x55\xcb\x35\x5f\x09\xbc\x56\x1f\x50\x42\xa1\x55\x09\x93\xe4\xdd\xe4\x51\x98\xf9\x3b\x5a\x96\x33\xcb\xfe\xe4\xb8\x35\x61\x66\xf2\xae\x9d\x99\xd0\x0f\x91\x8d\x4f\x68\x79\xd0\xaf\x57\x68\x94\xb8\x41\x1d\xa8\xe2\x57\x93\x47\x8f\x58\x96\xa1\x31\x53\x26\xc4\x0c\x32\x25\xad\x66\x99\x85\x17\xb7\xac\xac\x02\xe3\x65\xca\xe4\xee\xd1\x23\x00\x80\xc5\x62\x01\xd7\x1b\x04\xbc\x41\x69\xc1\x6e\x98\x05\x6e\x00\x4b\x6e\x2d\xe6\xb0\xdd\xa0\x04\x89\x5b\xb0\xc4\xc1\x00\xd3\x08\x25\x97\x16\x73\x47\x1c\xaf\xe9\x19\xb8\x95\xcc\xef\x6e\xca\x94\x95\xaa\x96\x76\x09\x7f\x5c\xf1\xdb\x27\xdf\x9f\x80\xdd\x55\xb8\x84\xd7\x56\x73\xb9\x9e\x45\xcb\x2b\xcb\x04\x98\xba\xaa\xc4\x0e\x54\x91\x08\x6d\x80\x4b\xc0\x5b\x6e\x2c\xca\x0c\xf7\x16\xbd\x61\x1a\x2c\x91\xbf\x76\xd4\xcd\x52\x1d\xef\x67\x79\xc9\x25\xbc\x64\x76\xb3\x47\x2b\xd0\xfa\xe1\xd7\x56\x69\xb6\x46\x9a\x44\xd2\xb5\x3f\x3a\x2e\x7f\x18\xd4\x8e\x89\x19\xe4\xf2\x27\xab\x85\x1d\xe5\x32\x4a\xf1\xb2\x5e\x09\x9e\x79\x82\xee\xff\xc1\xf9\xaf\x30\x43\x7e\x83\x7a\x84\x64\x5f\x2f\x1c\xb7\x50\xd4\x12\xd6\x68\x9f\x07\x67\x70\x0e\x35\x9d\x2d\xe1\xcd\xf5\xae\xc2\xb7\x70\xe7\xa8\xe8\xa1\x15\x6e\x48\xa2\x57\x58\xc0\x05\x18\x14\xc5\x9c\x65\x19\x19\x6f\x9e\xb1\x8a\xad\xb8\xe0\x96\xa3\x99\xaf\x94\xd6\x6a\x7b\xfe\x75\x6c\xa1\xb9\xdb\xcb\xd3\xe9\xa2\x72\xf2\x2c\x30\x1a\x73\x43\xb3\x76\x1d\x7a\x2e\x2f\xa1\x62\x92\x67\xd3\xc9\x73\x55\x8b\x1c\xa4\xb2\xe0\xd9\x02\x03\x8d\x05\x6a\x32\x34\x58\x05\x76\x83\x5e\x2a\xd0\x8d\x97\x77\xac\xda\x7f\x34\xda\x5a\xcb\x56\xfc\xf9\x1a\x9b\x8d\xba\x29\x1f\xf7\x75\x43\x6a\x09\x1c\x63\xd5\x4c\xdf\x39\xad\x2d\x81\xb4\x33\x5b\xc2\x33\xb9\x7b\x6d\x75\x9d\xd9\xcb\xff\x51\x4d\x85\xb9\x6e\xef\xb4\xf3\x44\x61\xe4\xf5\x4e\xa6\xe6\x57\xfb\xf6\x05\xcb\x36\x50\x53\x40\x18\xab\x34\x1a\x60\x12\xb8\x34\x96\x91\x30\xaa\x00\x25\xc5\xce\x49\xe4\xc8\x29\x7c\xed\x06\xb9\x9f\xcd\xd6\x98\x80\x4e\x51\xcb\xcc\x72\xe5\xa3\xbc\xa3\x61\x32\x87\xb5\xba\x41\x2d\x31\x87\x95\xe7\x56\x69\x74\xef\x2b\x65\x2c\xe1\x5b\xce\x1d\x61\xcb\x8e\xcb\x1e\x76\x3b\xe8\xb2\x1b\xdc\x39\xd0\xca\x98\x10\x98\xcf\x93\xd5\xb3\x0d\x66\x1f\x0c\x6c\x58\x55\xa1\x04\x66\x41\xd7\xd2\xf2\x12\x1d\x29\x12\x46\xb2\x56\x42\x02\xc5\x1e\x8f\x96\x17\x41\x6a\xad\x33\xa4\x19\xd2\xef\x7f\x85\x90\x69\x64\x04\xa1\x61\x67\x04\xc9\x78\x6b\x49\x43\xcd\x4f\x87\xd0\x0e\x71\x49\xcc\x96\x1d\x89\x9b\x63\xc1\xa5\x23\x3e\x01\xe3\x0c\xac\x91\x44\x90\x0a\xb6\x6c\x07\x85\x22\xd9\x4a\x26\x78\xc6\x55\x6d\xbc\x39\xac\x0a\x6b\x7a\x2d\x76\xaa\x51\x75\x58\x96\x4b\x60\x5c\xcf\xe1\x19\x98\x0a\x33\xce\x04\x38\xa0\xd6\xce\x6d\x68\x07\x20\x11\x73\x43\x9c\x56\x9d\x0c\x56\x39\xc8\x6f\xd9\x75\xc7\x41\xaa\x8a\x38\xc6\x5a\x86\x4e\x94\x65\x6a\x1a\x1f\x07\xcd\x01\x14\x5b\xc4\x41\x39\xac\x98\x68\x9c\xc9\x6e\xb8\xf1\x1e\xdb\xce\xed\xc3\x7f\x98\x9d\x42\x7f\x34\x91\x62\xd4\xcf\x34\x87\x10\x7a\x90\xa2\x1a\x47\xe8\xc1\xf9\xba\x81\xe9\x41\x80\x3e\x04\xd2\xe3\xe0\x1c\x85\xee\x9b\xe4\x25\x3d\x34\xf9\x7c\x3c\x7d\x98\x5f\x5d\xd3\xdf\xa7\xd3\xd9\xc9\x03\x48\x7f\xe5\xa6\x12\x6c\xf7\x40\x6a\x67\xe4\x5f\x99\x65\x0f\xa2\xbf\xee\x0e\xf5\xa7\xd3\x14\x17\xdf\xb6\xbf\x3e\xa6\x1e\xf4\xca\x69\xc9\xb8\xf8\x8a\xd6\x0f\x7a\x56\xda\x7b\x93\x7b\x7f\x02\xdb\x0d\xcf\x36\x2e\x0c\x19\x0f\x30\xd2\x06\xa0\x10\xa0\x51\xe0\x0d\x93\x16\x2a\x3a\xf5\x7d\xea\x62\x4e\x1c\x02\x85\x20\xf3\x80\xdb\xe0\xc3\xa0\x81\x83\x6d\x23\x59\x1c\xd8\xc6\x87\xcb\xb0\xa1\xdd\xb9\x12\xe3\xf3\xa7\xa9\x7b\x36\xa4\xa1\x91\x23\xf0\xe8\xa3\x8f\x1e\xb3\xe5\x36\xdb\x78\x85\xde\xed\xd9\x34\x63\x06\x8f\xf7\xc8\xe5\x1e\x7d\xa4\x80\x7b\x19\x4c\x07\xa9\xe9\x29\x6c\xf0\xdb\xe5\x43\xd4\xd8\xf9\xfc\x0c\x98\xf9\xea\xb0\x20\x61\xf2\xe5\xbe\x7b\x77\xc2\xb4\x76\x79\x90\x38\x89\x55\xef\x17\xa8\x9d\x7e\x39\x28\xd1\xec\xa1\x26\xeb\xb4\x32\x6c\x35\x4a\x8b\x4a\xcc\x39\x83\x8b\xb4\x2e\x9a\xff\x4e\x6f\xc7\x8d\xe5\x74\xc4\x05\x2e\x7b\x64\xff\xba\xbe\x7e\x79\xc5\x05\x1e\xa6\xac\xb5\x58\xc2\x64\x63\x6d\x65\x96\x8b\x05\x33\x06\xad\x99\x6f\x71\x65\xb8\xc5\x53\x62\x6b\xe6\x99\x2a\x17\x3f\x14\x4f\xbe\xfd\xe9\xfb\xec\x2c\xfb\x07\xfb\x31\xcb\xf3\x27\xdf\x7f\xb7\x7a\x9c\xfd\xf8\xed\x59\x6f\x80\xfd\xf0\x43\xb6\x7a\x9c\xfd\xf4\xdd\x93\x77\x57\x42\x6d\xdf\xfd\xa5\x74\x5e\x32\xfd\x61\x6e\x6e\xd6\x93\x51\x39\x06\xb0\xad\x79\x9c\x46\xae\x5d\xcd\x33\xe1\x25\x5b\xe3\xc2\xdc\xac\xbf\xb9\x2d\xc5\x30\xb7\x7d\xeb\x24\xaa\x35\xc3\xba\x35\xd3\x37\x6e\xf8\xed\x30\xf9\x31\xf1\x14\xac\x3b\xae\x6b\xc9\x4a\xda\x43\xc8\x65\x5b\x66\xbe\xd8\x9b\x8c\x2b\xc0\xec\xca\x95\x22\x13\xbd\xb8\xba\x3e\x30\x2d\x47\x93\x69\x5e\x11\x8c\x2e\x61\x72\x4d\x20\x5d\x34\x4b\xb8\x44\x83\x32\x9f\xda\x60\x0e\xcc\x65\x9b\x21\x6f\xa6\xc4\x64\x83\xa2\x82\x9d\xaa\x21\xc7\x1b\x14\xca\xfd\xaf\x41\x52\xa2\x75\x75\x0d\xff\xa7\x24\x59\x72\x7e\x60\x6d\xbc\xb5\xa8\x25\x13\x7f\xbc\xfa\xad\xef\x83\x2f\xba\xa1\x69\xeb\x64\x61\xed\xd3\xc2\xce\x95\x2c\x88\xb9\xd2\xeb\xc9\x01\x27\x10\x6a\xad\xcc\x32\x98\xf0\x80\xaa\x14\xe5\x63\x66\x39\x00\xab\xf1\x33\xb1\x5b\x2a\xcc\xf5\xe4\x28\x61\xc3\x64\x17\x04\x24\xeb\xbb\x95\x50\xd9\x87\x6c\xc3\xb8\x9c\x0c\xbb\x0b\xb8\x33\x63\xe8\xed\x83\xb1\x23\x86\xb0\x71\xf4\x88\x8a\xaa\xa4\x64\x6a\x8a\xab\x90\xbb\x1d\xac\xab\x0a\xad\xca\x80\xb2\x51\xaa\x37\xbe\xd1\x4f\x2b\xb0\x5c\xb5\x93\x7b\x41\x47\xb4\x77\xd4\xe1\xd5\xa8\x63\x3c\xdc\x92\x3c\xb5\xbf\x9d\x71\x17\x4a\x93\xcf\x70\xd8\x74\xaf\x0e\xe1\x94\x17\x31\x22\xec\x12\xdf\xfb\xd7\xfb\x8d\xcb\x0f\x98\x7b\x9c\x73\xee\xf0\xf5\x5d\x9a\xee\x37\xcd\x8b\x8f\x83\x99\x60\x5f\x8a\x7d\x76\x43\xb6\x3e\xc0\xc8\xe7\x67\x2f\xca\xca\xee\xdc\xe4\xab\x90\xa2\x2d\x61\x5a\xd4\x92\xb2\xaf\x9f\xef\x06\xea\x91\x8f\xf7\x84\x5e\x30\xee\xf9\x69\x5b\x40\xf7\x17\x9a\x1e\x88\xa9\xe1\xa1\x07\x06\x55\x9a\x1c\x3f\x34\x91\x8a\xb8\x8c\xfb\x62\xd2\x5c\x4b\x0c\x11\x8d\x1c\xb1\xb7\x8f\x43\x69\xae\xe4\x62\x2c\x97\x5f\xa3\x25\xde\x4a\x5b\xcc\x9d\x72\x49\x27\x06\x94\x3b\x25\x98\x10\xbb\xc0\xc3\x00\x03\xc1\x8d\x2b\x70\x7d\x46\xee\x32\xf5\xa6\xac\xe6\xa6\x75\x53\x97\x00\x57\xd6\xdc\x5b\x8a\x0d\xac\x4b\x4e\x73\xe7\x5d\xf2\x17\xa5\x44\xdf\x55\x08\xc0\x4c\x43\xe5\x08\x7a\xd3\x2f\xe0\x2e\x55\x40\x3a\xfb\x8d\x8b\xb9\x35\xba\xc5\xa6\xb3\xb7\x70\x01\x56\xd7\x38\x58\x19\x24\x84\xf7\xe5\xf9\xed\xb6\xb8\xd9\xdf\xd5\xd4\xb6\x31\x36\xf3\x82\x1e\x28\x46\xc6\xf4\xf2\xc6\xba\x72\xf5\xf2\x12\x0a\x26\x0c\x0e\x9b\x13\xb8\xe4\x96\x33\xc1\xff\x46\x07\xa5\x4d\x81\xcf\x6c\xd7\x28\x70\xc1\xc4\x95\x04\xcb\xcb\x8e\x0d\x11\x4e\x7b\x15\xfe\xac\x5f\x94\x90\x7c\x0d\xcb\x8b\x86\xf9\x9e\x81\x78\x8e\xd2\xf2\x82\xa3\x86\x0b\x98\xec\xf5\xde\x26\xfb\x3c\x23\xd4\x85\x8b\xb8\x61\x30\xed\x78\x2d\x23\xbe\xb3\xaf\xf6\x79\x74\x40\x0a\x17\x51\x43\xe0\x13\x38\xc4\x18\x3e\xce\x23\xd9\x50\x03\xb8\x93\x88\x5f\x2f\xbe\xfe\x89\x36\x31\x45\x68\x4b\x1d\x68\xb5\x44\x11\xf2\x8b\x27\xa2\xa8\xf0\x26\x39\xe0\x38\x7d\x73\xf4\xe4\xd8\x72\xbb\xc9\x35\xdb\xc6\x2f\x93\x09\x0d\x7a\x87\x88\x66\x1f\x7c\xc7\xd1\x5f\x2d\x84\x84\x90\xe9\x75\x5d\xa2\xb4\x69\x15\x2f\xf3\x96\x7b\xc0\x83\x40\xe4\xae\x4f\xda\x6e\xe3\x7c\x74\xe9\x7f\xdb\x70\x96\x10\xc8\xb8\xae\x17\x96\x95\xd2\x4c\xef\x42\x9f\xb2\xb9\x2d\x71\xb9\x29\x65\xa3\x4a\xe4\x09\x07\xbb\xc1\xe6\xe6\xc4\x0b\xa0\x11\x56\xc8\xe5\x1a\xac\x66\xd2\x14\xa8\x35\xe6\x73\x5a\x48\x47\xbd\x0b\x89\xdb\x08\x53\x89\x4f\xd3\x4b\x0c\xcb\xaa\xa4\xa3\xe8\x38\xfb\xde\x24\x18\x05\xdc\xba\x36\xa4\x6b\xe0\x55\x8a\x4a\xa1\x54\x26\x14\x06\xb7\x1b\xd4\x38\xbc\xf1\x60\xf3\xf4\x80\xfc\x2b\xe8\x91\xad\x04\xfa\xee\x41\xa3\xd9\xde\x1d\x0f\x1d\xae\xfb\xc7\xf5\xe1\x80\x4d\x7e\x9e\x06\x23\x0d\xf9\xd3\xf9\x69\xdc\xdf\xec\x60\xc1\x53\x0c\x36\x3d\x68\xc3\x41\x0d\x9f\xe6\x61\x41\xd5\x6a\xf5\x1f\xcc\xfa\x6e\xe6\x5c\x8b\xe5\x79\xda\x35\xe2\xd6\xb4\xd1\x14\x2c\xd4\x0b\x2e\xb5\x95\xa8\xcd\x11\x5e\xc7\x0d\x30\x21\xd4\xd6\x7b\x55\x8e\xc6\x6a\xe5\xbb\xe0\x86\x96\xf7\xa2\xad\x30\x63\xb5\xc1\xce\x91\xd3\xb8\x22\x91\x23\x87\x25\xd7\x44\xdd\x48\x12\xda\xb7\xae\xe7\xea\x68\xff\xbf\x93\x7d\xc3\xd2\x7d\xad\x10\x25\xf9\x9a\xa9\x4b\xaa\xc0\x64\xee\xbb\xd1\x85\x72\x5d\xf5\xe0\x68\x4e\xc2\xa6\x37\x3e\xe2\x52\x6d\xe7\x29\x18\x24\xe4\xeb\xc3\xc9\x58\x1f\xe4\xdb\x1a\x01\xce\x4f\x7d\x00\x33\xf3\xd5\x90\xaf\x1d\xed\x69\xdf\x78\x7e\x7b\x00\x45\x4f\x32\x02\x17\x70\x36\x3f\x4b\xc6\x1b\x93\xa4\x70\xd9\xf3\xbb\x7e\x7a\x78\xa4\x03\xa6\x90\xe3\x6d\x4d\xd1\x06\x2c\xf6\xa7\xbf\x51\xab\x3d\xb8\x6b\x40\x84\x77\x18\xc1\x84\x20\xb8\x09\x58\x31\x87\x67\xfe\xae\xa0\xac\x8d\xc7\x0c\x9f\x23\xed\x75\x31\x1b\x8e\xae\xe8\x71\x9c\x3c\xef\x16\x83\xfa\xd7\x3a\xf4\x42\xe9\xdc\x5f\x43\x38\xe7\xf5\xe3\x29\x47\x5f\xcc\x85\xfb\x05\xe6\xeb\xfb\x26\x41\x6b\xdc\xc2\xb4\x7d\x7f\x5f\xfb\x53\x82\x71\x9c\x5f\xed\xe7\xe3\xc7\xa0\xd1\x3d\xe0\x72\x36\x3f\x8b\x91\x05\xd2\x2b\x32\x7f\x7f\x92\x5c\x83\xc4\x37\x42\x0d\x7e\x78\x64\x71\xdb\x61\xee\x42\x3a\x68\xc2\xdf\x18\x51\x6c\x36\xb7\x2c\x9f\x76\xbb\x12\xae\x6f\xee\x12\x2d\x13\x1b\x7f\x77\x7e\xa4\xc7\x11\x81\x89\x16\x3e\x71\xe0\x46\xf6\x2b\x1b\x3f\xb2\xd1\x15\xfd\xc9\xa8\xdf\xc5\x14\x7d\xcf\x3b\xca\x82\x9d\xe8\x0f\x39\x57\xc6\xca\x93\x7e\x4f\x21\x1e\xfa\x66\xe8\xbc\xc1\x92\x8f\x7c\xc9\xe0\xff\x36\x5f\x32\xa4\x69\xfb\x3c\xca\xe3\x3e\xef\xf8\xea\x39\xd9\x20\x90\xc4\xee\xf6\x59\x00\xf2\x65\xc1\xe3\xcb\x02\xc7\x17\x00\x8d\xa1\xf8\x79\x18\x58\xb4\x66\x84\x7b\x90\x22\x32\x5d\x6a\x99\x70\x6c\x74\xe9\x45\x73\x6f\x7e\x02\x58\x14\x98\x59\x7e\x83\x62\x07\xab\x5a\x4b\x97\x23\x76\x27\xf5\x9e\xc9\x7f\xae\x98\x66\x25\xf8\x23\xb4\x3d\xc6\xa3\x72\xca\x5f\x6c\xa5\x6c\x9c\x0e\x6b\x2d\xf7\xb8\xfd\xc5\x85\x70\x77\xbf\xce\x08\x39\x1d\xf3\x50\x57\x39\x6d\x92\x7c\x21\x0a\xfe\x96\xe4\x35\x22\x34\x7d\xc6\x35\xb7\x9b\x7a\xe5\xda\x8c\xbe\x29\xba\x28\x04\xaf\xcc\xa2\xaa\x85\x58\x3c\xfe\xee\xf1\xa0\x01\x48\x90\x10\xeb\x21\x11\xd8\xd7\x7e\x9c\x05\xf0\xc2\xed\xb6\x3d\x95\x9f\x92\xc2\xbf\x00\x02\xf8\x74\x62\x1e\x97\x35\xbd\x50\xa4\x27\xcd\x51\x48\xf6\xe9\xf9\x29\x11\x26\x26\x77\xe5\x6a\x2c\xb4\x43\x88\x54\x90\xc7\x67\x67\x94\x4e\xa4\x53\xfa\xdf\x21\xc1\x05\x2c\x42\x80\x24\x9f\x89\xf8\xcf\x99\x92\xda\xfa\xb9\x77\xc6\xee\xeb\x09\x17\xeb\x7d\xd0\x76\xf1\x11\xbe\xe1\xa2\xf0\x64\x37\x48\x91\xce\x65\xf2\x5d\x86\x67\xd9\xfe\x9b\x24\x5d\xc3\x4e\xdf\xdf\xe0\x2c\xdd\x57\xff\xcb\x28\xb8\x08\xb9\xd5\x1a\xed\xaf\x58\xf4\x46\xa7\x51\xbd\xda\x91\xbf\x8c\x4b\xe8\x3e\x75\x54\x0e\xf7\x89\xf7\xbf\x99\x1a\xa0\x7f\x15\x55\xd7\xc4\x21\x65\xd1\xef\x3e\x93\xda\xa6\xa1\x03\x78\x02\x56\x2d\x87\x77\x39\x1b\x32\x10\x0b\x5f\x13\x40\xfb\x9d\xd0\xae\xd7\x5a\x8e\x8a\x4a\xbc\xad\x94\xc1\xf8\x00\x77\x13\xdf\x07\xb8\x7b\x0f\x25\xda\x8d\xf2\xe9\xf8\x1a\xed\x33\xd7\xda\x0a\x4d\xa1\x66\xcc\x6e\xb4\xaa\xd7\xde\x15\xde\x37\xfb\x7c\x0f\x2e\x65\x28\x58\x16\x5b\xbc\x49\xeb\xe1\x7d\x1c\x06\xef\x07\x39\x85\xe1\x61\x46\x89\xeb\xc4\x8e\xfb\x9c\x55\x07\xbf\x97\x6a\x34\xcc\x8d\xa9\xf1\xfc\xeb\xd0\xe5\x1d\xd1\xee\xa0\x8d\x12\x76\x4e\xd5\x66\x33\xed\x89\x70\x02\xcc\x2e\x07\x5d\x6b\x96\x48\xde\xf4\x5c\x3e\x51\xea\xf1\xbe\xf7\x67\x6f\x24\x92\x28\xda\xc4\xbe\x8b\x47\xae\x47\x1b\xf1\xd9\x66\x17\xbd\x3e\x61\x9c\x8e\xac\xdc\x73\x73\x47\x1c\xb9\x79\x1f\xa4\x1a\xe8\xfb\xf8\xe8\xbf\x01\x00\x00\xff\xff\x11\x74\xf0\x20\x3d\x2b\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,11 +95,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x17, 0xe7, 0xea, 0x93, 0x60, 0xd5, 0x16, 0xc7, 0x3d, 0xac, 0xfb, 0x2d, 0x32, 0xcc, 0x60, 0xf5, 0xa1, 0x6a, 0x71, 0xbc, 0xc7, 0x9f, 0xc8, 0xba, 0x30, 0x20, 0xa7, 0xe2, 0xd7, 0x56, 0x77, 0x64}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0x5a, 0xea, 0x1f, 0x47, 0x9d, 0x49, 0x33, 0xf6, 0xcd, 0xba, 0xdb, 0xa1, 0x19, 0x72, 0x15, 0x12, 0x25, 0xd7, 0x38, 0x75, 0xe2, 0x8a, 0xac, 0x28, 0xe3, 0xc8, 0xa5, 0x42, 0xd2, 0xa1, 0x94}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\xcd\x72\xdc\xb8\x11\xbe\xf3\x29\xba\xbc\x87\xd5\x38\xe3\xd1\x1e\x52\x39\xa8\x62\x7b\xed\xb5\xb5\xe5\x4b\x2a\x65\xc9\xeb\x43\x92\xca\x60\xc8\xe6\x10\x6b\x10\xe0\x02\xe0\xd0\x13\x95\xde\x3d\xd5\x0d\x80\x7f\xc3\x91\xe4\x4d\xed\x21\xbe\x78\x44\x02\x8d\xfe\xfd\xfa\x6b\xf0\xf2\xf9\xf3\x2c\xfb\x0e\x6e\x2b\x84\x6b\x65\x3a\xb8\x6e\xf5\x5e\xee\x14\xc2\xad\xf9\x82\x1a\x9c\x17\xba\x10\xb6\xc8\xb2\xef\xbe\x83\x6d\x7a\xc9\xef\xb6\x90\x1b\xed\xad\xc8\x7d\x96\xf1\xf6\xe5\x9d\x20\x1d\x68\x03\xca\xe8\x3d\x5a\x10\x1a\xa4\xf6\x68\x4b\x91\x63\xe6\x2b\xe1\x41\x28\x05\x65\xda\xea\x79\x6b\x92\xeb\xa0\x33\xad\x2a\xa0\x12\x07\x7a\x45\xcf\x4b\x63\x6b\xf0\x66\x93\x65\x1f\x4a\x10\xd0\x3a\xb4\x0e\x3a\xa1\xbd\xa3\x05\x05\x36\xca\x1c\x41\x80\xc6\x6e\x26\x6b\x0d\xbe\x42\x69\x07\x9d\x0b\x83\xa4\x98\x07\x8d\x58\xd0\x66\x59\x37\x0a\x6b\xd4\x9e\x56\xc2\xc4\xd4\x41\xe7\x35\xec\x5a\x1f\x45\xf1\x01\x2e\x2b\xcc\x19\x11\xfd\x26\x07\x05\x96\x52\x63\x01\x52\x83\xaf\xa4\xeb\xb5\xd8\x04\xbf\xfe\x22\x5a\xe5\xb7\x60\xd1\x99\xd6\xe6\xa3\x9d\x59\xf6\x5e\xe4\xd5\xdc\x3f\xfd\x3a\x7f\x6c\x90\x0f\x77\xa7\xa7\x9f\x17\x1a\x0f\xfd\xbb\x35\x07\x59\xa0\xdd\xae\x61\xfb\x11\x73\x94\x07\xfe\x2d\x74\x01\xdb\xb7\x42\x09\x9d\xe3\xd2\x6e\xc7\xd1\x76\x33\xf3\x72\x25\x2c\x42\x63\xf1\x45\x6e\x74\x21\xbd\x34\xda\xb1\xa8\xc6\x38\x3f\x7e\xc6\x31\xb7\xe8\xbc\x95\xb9\xcf\x48\x51\xfc\x8a\x79\x4b\x2f\xc1\x94\xac\x79\xd9\xea\x3c\x2c\x66\x77\x21\xb0\x25\x1b\x3e\xf7\x08\x74\x8e\xc3\x46\x58\xe1\x11\x76\x98\x8b\x96\x74\xf1\xb0\x97\x07\x74\xbc\x9c\x92\x82\x7f\x88\x9d\x54\xd2\x1f\xc9\x37\xae\x12\x16\x33\x01\x16\x4b\xb4\xa8\x73\xce\xa7\x10\x46\x96\x1e\xf4\x32\x5a\x1d\x01\xbf\x36\xc6\x45\x51\xa5\x44\x55\xb8\x41\xa3\x4c\x6a\x30\x1a\xc1\x58\xa8\x8d\xc5\xa4\xf1\xe0\x0a\x4a\x4c\xca\x69\x67\xa2\x42\x21\x43\x67\xda\xd4\xe2\x0b\x42\xde\x3a\x6f\xea\xde\xc3\xd1\x35\x7d\x10\xc9\x37\x53\x2f\x53\x82\x1b\x38\x08\x2b\x4d\x4b\xab\xa5\xde\x3b\xe8\xa4\xaf\x58\x7c\xc8\xc6\x4d\x76\x6d\x2c\xe0\x57\x41\x62\xd6\x20\xa0\x14\x6d\x8e\x1e\x72\xa1\x61\x87\x83\x74\x2c\x60\x77\x4c\x05\x25\xf5\x3e\x0b\xee\x80\x94\x14\x93\x6c\x79\x7e\x99\x65\xb2\x6e\x8c\xf5\xf0\x8b\xc4\xee\x23\x3a\xa3\x0e\x68\xa1\xb4\xa6\x86\x67\xe3\x47\xcf\xb2\xec\xf2\xf2\x72\x5a\x3c\xf4\x64\xf2\x34\x02\x44\xaf\x8b\x88\xd9\x62\x71\x04\x14\x16\x7f\x6b\xa5\x5d\x2a\xab\x69\x31\xb0\xe4\x41\x59\xf8\x8c\xe0\xbc\x54\x2a\x80\x86\xf4\x20\xdc\x04\x74\xa0\x42\x3b\xe4\x8d\xe7\xbf\x38\xa5\x4c\xcd\x99\x53\xb6\x8a\x45\xb6\x3e\x44\xab\x46\x5f\x99\x22\x06\xa7\x16\xfa\x08\x8d\x35\xbf\x22\x83\x13\x1d\x13\x0e\x23\x04\x22\x4d\xf9\x50\xa3\x67\x58\xe3\xd6\x2c\x32\x22\x47\x48\xe1\xdd\x91\x8c\xad\x51\x68\xd7\xdb\xba\x61\x30\x0c\x69\x30\x3c\xa5\xdf\xfc\xac\x8f\x72\xb0\x39\x39\xc5\x4d\xca\x7d\x80\x0e\x91\xe7\xe8\xdc\x85\x50\x6a\xd5\x6b\x32\x83\xb5\xbb\x2c\x03\x00\xb8\xbc\x84\x37\x1a\x50\x7b\xe9\xa3\x9f\x4b\x63\x49\x17\xd3\x49\xbd\x67\xf1\x94\x66\x85\x15\x9d\x50\x9c\xf3\x9c\x6b\x21\xfe\x22\x14\x10\x0b\x1a\x1f\x39\x16\xf7\x39\xed\xde\x29\x4c\x47\x5e\x72\xcf\xc1\x43\x08\x6b\x30\x19\x6b\xe9\x29\x35\xbb\x0a\x75\x3a\x84\x9c\x95\x4e\xd7\x8f\x1c\x79\x18\x1f\x76\x21\x6a\xd3\x6a\x7f\x05\x9f\xae\xe5\xd7\xbf\xfc\x79\xcd\x68\x79\x05\x37\xde\x4a\xbd\x5f\xb3\xa4\x2b\x78\x53\x14\x16\x9d\x7b\x1d\xfe\xfe\xf4\xe9\xc3\xbb\x2b\xf8\xf4\x41\x7b\x5a\xdf\x9f\x3a\x7e\xbc\xfa\x3d\xfa\x17\xd8\x18\x27\x7d\xc8\xe6\x87\xb5\x7f\x17\x96\x3e\xa2\xbc\x37\x63\xd5\xbd\x99\x2a\xde\x1f\x77\x46\xf1\xf7\x0f\x28\x5d\x21\xec\x95\xd9\x09\x05\xbb\xd6\xea\x98\xfe\xb4\x2c\x17\x4a\xd1\x2a\xc2\x1b\x01\xda\xe8\x17\xff\x41\x6b\x60\x17\x3a\xc5\x19\x6b\xde\xb6\x56\x3f\x21\x0e\x67\xf4\x7c\x3b\x92\x4d\x20\x32\x76\xfc\x50\xd0\x6c\x47\x13\x70\xcb\x0d\xb4\xa3\xc7\xec\x7f\xf6\xfb\x28\xab\xf7\xe8\x3d\x25\x75\xd4\x1b\x24\x23\x20\x43\xd0\xe4\x9c\xb1\x2d\xa7\x4d\x30\xa9\x06\x77\xbc\x38\x1d\xf0\x33\x86\x2a\x4d\xc2\x63\x7b\x38\xf4\xf1\x9e\x4b\x3e\x48\xec\x48\x53\x52\x2b\x8a\xbc\x58\x25\x4f\xf1\x8e\xfb\xc1\x1d\x09\x9b\x9f\xe2\x0f\x24\xb3\xf2\xd8\xc5\x22\x92\x04\xb0\x20\x27\xa4\xcc\x26\xe0\x4f\x42\xc6\x35\xcd\x3d\x2d\xe1\x0b\x43\xc0\xb1\xc1\xcd\xc9\xb9\x1f\x3c\xf4\x2c\x2a\x1e\x38\x3d\xcb\x68\xd8\xee\x12\x95\x20\xa8\x5d\xf7\x7b\x47\x9d\x5b\xa1\xa0\x4e\x69\x9a\x98\x7f\x8d\x71\x4e\xc6\x66\x69\x4a\xc8\x2d\x0a\x56\x22\x36\xcc\x18\x6a\xeb\x06\xd5\xc9\x62\xa2\x61\xcc\xe6\xc8\xbb\xc2\x4a\x75\x8c\xb4\x8c\xa1\xd8\x74\x3a\x45\x65\xf3\x2d\x71\xee\xfb\x61\x84\xca\x74\x64\xf2\x20\xb8\x76\x17\xb9\xea\x83\x0e\x4c\xa2\x27\x42\x88\x1f\x59\xf4\xad\x25\x98\x88\x3c\xa4\xef\xe7\x16\x6b\x73\x60\xc4\x08\x7d\x7d\xb4\x71\x22\xe4\x76\xc4\x98\xbe\x77\xd1\x1e\x50\x78\x40\x45\x65\xbb\x8d\x06\x8e\x21\x78\xb5\x9d\x48\xb8\x31\x44\xb4\x8c\x25\x33\x09\x9f\x82\x04\xe9\xd7\x4c\x75\x02\x05\x47\x49\xad\xb2\xf7\x28\x98\x1d\xf5\x40\x90\xde\xa1\x2a\x27\xd2\x0c\x93\xfc\x88\xfe\xc5\x88\x70\xb1\x65\xdb\xb1\x1e\xdb\x65\xab\x96\x34\xe6\x22\xe9\x96\x91\x7d\x75\x05\x3f\xde\xb1\xf7\xee\x47\xf5\x48\xff\x88\x7c\xce\x1e\xc5\x7e\xb7\xb5\xe8\x22\x3d\x2e\x99\xa0\x99\xe8\x74\x8a\x06\x1c\x84\x6a\xf1\x64\x5b\xd8\xb2\x19\x97\x2a\xbc\x7c\x09\x51\x99\x93\xe5\xf4\xef\xd9\xe7\xa1\x6f\x86\x75\x50\xb7\xce\x13\x15\xa3\xe3\x9c\xa8\x91\x08\xca\x02\x66\x0c\x2d\x8f\x2d\x7b\x76\x22\x9e\x60\xfb\xb4\xd7\x85\xff\x13\xc6\x52\x70\x48\xdf\xdb\x63\x83\x17\xab\x8d\x2c\x28\x2c\xa5\x44\x9b\xda\x1f\x2f\x30\x9d\x46\xfb\x7a\x23\x42\x3f\x19\x23\x32\xbf\x6e\x5b\x59\x9c\x34\xc3\xe8\x0b\x7a\xb7\x9a\xa8\x76\x9f\x4d\x7f\x8d\xf0\x2b\x0d\x19\xff\x3b\x7e\xc5\x06\xb7\x00\x5f\x52\xc7\x48\x3e\x01\xbe\x3e\x63\x02\x0d\xa9\x73\xd5\x16\x08\x02\xfa\x49\x25\xa8\x91\x57\x98\x7f\x99\xc6\x27\x02\x57\x2f\xa5\xc3\x9e\xfd\x11\xe3\x7f\x0a\xe1\x0f\x6e\x08\xac\xae\x97\x43\x0c\xbd\x30\x69\xd1\x32\xbb\x5f\x83\x92\x5f\x10\x5c\xa3\x24\x37\x9a\x1a\xda\x86\x50\xa4\x17\xe2\x50\x17\xe1\x05\x0d\x0b\xb2\xe4\xda\xf3\xd0\xa8\x30\x9b\xc0\xd3\x81\x2f\x05\x6b\x0e\x7c\xd1\xf5\xe0\xc5\x17\x1c\x50\x8b\x90\x2c\xbe\x21\xe4\x38\x13\x86\xc9\xdc\xfa\x50\xe9\xb3\x52\x54\xf1\x51\xe6\x45\xc8\xd6\x54\xe5\xab\xa9\x4a\x7b\xf4\x37\x6d\x43\xe3\x09\x16\xbc\x80\xd2\x9d\xfa\x09\xc5\x51\x28\x75\x1c\x81\xac\x92\xce\x53\x89\x1d\xc2\xd0\xc7\x0b\x23\xb9\x66\xca\x1d\x8d\x26\x3d\x1a\xef\x1e\xed\xd9\x0b\xe7\x52\xff\xbe\xbb\xe5\xf2\x7b\x6b\x8c\xba\x9f\xea\xfa\x31\x6a\xd2\x55\xc8\x80\x6a\x2c\x27\x20\xd3\x2e\x79\xa0\x06\x48\x23\xbd\x74\x51\x83\x30\xa6\xd1\xdb\x49\xf1\x24\x69\x6f\x92\x1d\x9c\xab\x42\xc7\x5d\x40\x63\x0a\x0b\x72\x15\xa3\xf7\xaf\x84\x39\x11\xdb\xbc\x6d\x79\xfa\x28\xb0\x7c\x9c\x96\x48\x77\x6a\xe1\x45\xc0\x16\xfa\xb9\x0a\x36\xce\x0b\x7d\xe0\xb7\x13\xb6\x50\x20\x05\x63\x1d\x5c\x3d\x64\x5a\x68\x30\x3c\x32\x0f\x17\x3c\xbd\xbd\xeb\x44\xb5\xd6\x70\x6b\x85\x76\x25\x5a\x63\xd7\x7d\x5f\x0e\xf7\x15\x69\xfc\x1c\xd8\x45\x3b\xf0\x5b\xf2\xaf\x4b\x56\xc0\x11\xfd\xb7\x94\x01\x9b\x72\x35\xd2\x66\x38\xb8\xd7\x6b\x3c\x00\x6f\xfa\xe1\x78\x56\x37\xd7\x12\x55\x11\x53\xcd\x8a\x39\xa8\x98\x12\xc4\x43\x34\x51\xd8\xb4\xb4\x27\x87\x7f\x24\xf1\xfc\x3f\x2a\xaf\x59\x7b\xa7\xa9\x01\x95\xe9\x02\x72\x53\xf8\xc7\x57\x1e\x09\x89\x5d\x6b\x63\x9f\xb1\xad\x7e\xe1\x65\x1d\xaf\xd2\x38\x15\xe7\xf2\xf8\x52\x68\x8f\xa9\x80\xc6\x93\x52\x23\x18\x5e\xfb\xbc\x89\xf9\x1b\x71\x7b\x7a\x5d\xba\x09\x03\xfa\x06\x26\xf2\x65\x79\xd2\xa4\xdd\x4d\xbb\x23\x6d\x2e\x4c\x19\xaa\xec\xaf\x3f\xde\x2d\x48\xba\x7f\x75\xb1\x5a\x2d\x90\x9b\x58\xe6\x77\x53\xb1\x57\x5c\xf7\xf7\xd3\x56\x0d\xa8\x1c\x2e\xf3\xa3\x80\x53\xcc\xe4\xea\xc6\x1f\xa1\x90\x4c\x30\x85\x3d\x26\xbe\x12\xf1\x23\x70\x25\xee\xca\xbd\x1b\xba\xca\x40\x61\xf4\xf7\x7e\x49\xf2\x70\x99\xb3\xe8\x9f\x35\xb8\x36\xaf\xe8\x90\xe9\xeb\x9b\x4e\xfa\xbc\xda\x19\x61\x8b\xed\x1a\xb6\xfc\xec\xda\xd8\x4e\x10\x6d\xdd\x02\xfa\x7c\x73\xd6\x15\xf7\x67\x19\xca\x24\xd1\x7f\x0a\xcd\x5e\x96\x0b\x70\x3c\x00\x08\xe3\xb1\x74\x23\x90\x3b\x9b\xc1\x4f\x43\xcf\x59\x00\xa2\xd2\x29\x7c\x8b\x25\xf0\x0f\x12\xf2\x2f\x78\xfd\x1a\x4a\xa1\x1c\x9e\x33\x28\x35\x1b\xbe\xcf\xbe\x65\x01\xef\x84\x17\x51\x41\x63\x47\x86\xac\xa1\xab\x64\x5e\xf1\x45\x91\x90\xda\x4d\xe7\x14\xa5\xc0\xa2\xc2\x03\xf1\x9c\x46\xf8\xca\x05\x82\xe9\x02\xfa\xf2\x80\x16\xc1\xa6\x1f\x45\x1e\xad\xed\x91\x42\x04\xa0\x94\xa2\x6f\xf4\xf1\xc6\xdb\x36\xf7\x8f\xce\x5a\xdb\xc0\x73\xb7\xc3\xb4\xc5\xc2\xbe\x77\x93\xfb\x08\x58\x9c\xb3\x34\x76\xf3\x59\x2b\x09\xa6\xf0\x9e\xee\xff\x23\x06\x13\xbb\x54\x77\x29\xe6\xc3\x78\xf1\xea\x91\xf1\xe2\x4d\x98\x29\x86\x61\x21\x4d\x17\x8a\x46\x38\x5f\x09\x9a\xeb\x00\x7f\x6b\x85\x0a\x7f\x2d\x34\x89\x85\xf9\xe2\xfe\x89\x53\x54\xbc\x42\x05\xd7\x60\x2e\x85\xea\x83\x0f\xdb\x1d\x96\xc6\xe2\x96\x59\x71\xec\x4d\x01\x28\xe2\xa1\xc3\xb5\x00\x5f\xb1\x2f\x09\x8f\x37\x9e\x3b\xdc\x4b\xad\x89\x3e\xce\x3e\x0f\x0c\x1f\x0e\x16\x76\x3f\xc1\xb7\x2f\x5f\x42\xd0\xf2\xe2\xe4\xdd\x0a\x5e\x3c\xec\xf7\xbf\xf5\x39\x94\x9c\x39\x1e\xeb\x12\xf1\x1e\x7c\xdc\x58\x3c\xf0\xad\x7d\x5a\x2e\x02\x4f\x9f\x8f\x79\xe9\xfd\xb9\x70\xdc\x3f\x95\x8c\x8b\xa2\x20\x22\x3e\x1c\x18\xf9\xf8\x24\xf6\x27\x28\xf6\x2d\x54\x7c\xa9\x25\xcd\xfb\x11\x51\x54\xe7\xd0\xfa\xe1\x02\x3b\x37\x3a\xb7\xe8\x63\xc3\x8d\xee\x19\xee\x47\x03\x88\x48\xd7\x8f\xc7\x73\x79\xb1\xfb\x8c\x78\x6f\x4f\x96\xd3\x5d\x75\x94\xf6\x84\x82\x23\x5b\x36\xd2\x7d\xd0\xce\x73\xe0\xa7\x3d\x73\x75\x05\xcb\xd1\xff\x49\x68\x22\x95\xc9\xfb\xfc\x79\x21\x37\x75\x23\xfc\xe8\x23\x1d\xd9\x77\x66\x6a\x9f\xdf\xf1\xb2\x1a\xe3\xfc\x4b\xf3\x7b\x7a\xb1\x30\xbf\x7b\x73\x66\x7a\x4f\x97\xc1\xa3\xd9\x7d\x76\x1f\xcc\x52\x1f\x9a\xdc\xe1\x7c\xd1\x7f\x63\x19\xfd\x29\xbd\x3b\x31\x71\xf5\xbb\x2a\xcb\xb5\xf5\xa3\x25\x35\x24\xd3\x83\xc8\x36\x2b\xa5\xd0\xc4\xde\x13\xd9\x89\x55\xa4\x94\xe9\x1c\x8f\x52\xe1\x83\xa2\x49\x8d\x6e\xdc\x42\x38\x03\x2b\x41\xc5\x77\x72\x1d\x0e\x8f\x54\xd4\xfc\xc8\x8b\x6f\xbe\xc8\x3a\x73\x23\xf5\xc3\xe6\x87\x2b\x78\x76\x5b\x21\x29\xaa\x8e\xf1\xa0\xe8\x8f\xe0\x4f\xfe\x50\x35\xd6\xf8\xbc\x9b\x60\x3a\xdc\xfd\x1c\xbe\x0e\xc4\x0f\x03\xde\x84\xef\x04\xe4\xa6\xe9\xb7\xa5\xe5\x8f\x1c\x64\x37\x6d\xb8\xf8\x77\x28\xe1\xa7\x20\x89\x8c\xf3\xc4\x26\x45\xfa\x15\x59\x38\x73\x07\x17\xd6\xe4\x73\xc3\x64\x4f\xaa\xa8\xf0\xf0\xfc\x95\x58\xa8\x90\xb0\x6a\x5a\x22\x83\x4b\x0a\x74\xde\x9a\xe3\x68\xba\xba\xcf\xee\xff\x1b\x00\x00\xff\xff\xaf\x36\x47\x4b\x48\x21\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\xcd\x72\xdc\xb8\x11\xbe\xf3\x29\xba\xbc\x87\xd5\x38\xe3\xd1\x1e\x52\x39\xa8\x62\x7b\xed\xb5\xb5\xe5\x4b\x2a\x65\xc9\xeb\x43\x92\xca\x60\xc8\xe6\x10\x6b\x10\xe0\x02\xe0\xd0\x13\x95\xde\x3d\xd5\x0d\x80\x7f\xc3\x91\xe4\x4d\xed\x21\xbe\x78\x44\x02\x8d\xfe\xfd\xfa\x6b\xf0\xf2\xf9\xf3\x2c\xfb\x0e\x6e\x2b\x84\x6b\x65\x3a\xb8\x6e\xf5\x5e\xee\x14\xc2\xad\xf9\x82\x1a\x9c\x17\xba\x10\xb6\xc8\xb2\xef\xbe\x83\x6d\x7a\xc9\xef\xb6\x90\x1b\xed\xad\xc8\x7d\x96\xf1\xf6\xe5\x9d\x20\x1d\x68\x03\xca\xe8\x3d\x5a\x10\x1a\xa4\xf6\x68\x4b\x91\x63\xe6\x2b\xe1\x41\x28\x05\x65\xda\xea\x79\x6b\x92\xeb\xa0\x33\xad\x2a\xa0\x12\x07\x7a\x45\xcf\x4b\x63\x6b\xf0\x66\x93\x65\x1f\x4a\x10\xd0\x3a\xb4\x0e\x3a\xa1\xbd\xa3\x05\x05\x36\xca\x1c\x41\x80\xc6\x6e\x26\x6b\x0d\xbe\x42\x69\x07\x9d\x0b\x83\xa4\x98\x07\x8d\x58\xd0\x66\x59\x37\x0a\x6b\xd4\x9e\x56\xc2\xc4\xd4\x41\xe7\x35\xec\x5a\x1f\x45\xf1\x01\x2e\x2b\xcc\x19\x11\xfd\x26\x07\x05\x96\x52\x63\x01\x52\x83\xaf\xa4\xeb\xb5\xd8\x04\xbf\xfe\x22\x5a\xe5\xb7\x60\xd1\x99\xd6\xe6\xa3\x9d\x59\xf6\x5e\xe4\xd5\xdc\x3f\xfd\x3a\x7f\x6c\x90\x0f\x77\xa7\xa7\x9f\x17\x1a\x0f\xfd\xbb\x35\x07\x59\xa0\xdd\xae\x61\xfb\x11\x73\x94\x07\xfe\x2d\x74\x01\xdb\xb7\x42\x09\x9d\xe3\xd2\x6e\xc7\xd1\x76\x33\xf3\x72\x25\x2c\x42\x63\xf1\x45\x6e\x74\x21\xbd\x34\xda\xb1\xa8\xc6\x38\x3f\x7e\xc6\x31\xb7\xe8\xbc\x95\xb9\xcf\x48\x51\xfc\x8a\x79\x4b\x2f\xc1\x94\xac\x79\xd9\xea\x3c\x2c\x66\x77\x21\xb0\x25\x1b\x3e\xf7\x08\x74\x8e\xc3\x46\x58\xe1\x11\x76\x98\x8b\x96\x74\xf1\xb0\x97\x07\x74\xbc\x9c\x92\x82\x7f\x88\x9d\x54\xd2\x1f\xc9\x37\xae\x12\x16\x33\x01\x16\x4b\xb4\xa8\x73\xce\xa7\x10\x46\x96\x1e\xf4\x32\x5a\x1d\x01\xbf\x36\xc6\x45\x51\xa5\x44\x55\xb8\x41\xa3\x4c\x6a\x30\x1a\xc1\x58\xa8\x8d\xc5\xa4\xf1\xe0\x0a\x4a\x4c\xca\x69\x67\xa2\x42\x21\x43\x67\xda\xd4\xe2\x0b\x42\xde\x3a\x6f\xea\xde\xc3\xd1\x35\x7d\x10\xc9\x37\x53\x2f\x53\x82\x1b\x38\x08\x2b\x4d\x4b\xab\xa5\xde\x3b\xe8\xa4\xaf\x58\x7c\xc8\xc6\x4d\x76\x6d\x2c\xe0\x57\x41\x62\xd6\x20\xa0\x14\x6d\x8e\x1e\x72\xa1\x61\x87\x83\x74\x2c\x60\x77\x4c\x05\x25\xf5\x3e\x0b\xee\x80\x94\x14\x93\x6c\x79\x7e\x99\x65\xb2\x6e\x8c\xf5\xf0\x8b\xc4\xee\x23\x3a\xa3\x0e\x68\xa1\xb4\xa6\x86\x67\xe3\x47\xcf\xb2\xec\xf2\xf2\x72\x5a\x3c\xf4\x64\xf2\x34\x02\x44\xaf\x8b\x88\xd9\x62\x71\x04\x14\x16\x7f\x6b\xa5\x5d\x2a\xab\x69\x31\xb0\xe4\x41\x59\xf8\x8c\xe0\xbc\x54\x2a\x80\x86\xf4\x20\xdc\x04\x74\xa0\x42\x3b\xe4\x8d\xe7\xbf\x38\xa5\x4c\xcd\x99\x53\xb6\x8a\x45\xb6\x3e\x44\xab\x46\x5f\x99\x22\x06\xa7\x16\xfa\x08\x8d\x35\xbf\x22\x83\x13\x1d\x13\x0e\x23\x04\x22\x4d\xf9\x50\xa3\x67\x58\xe3\xd6\x2c\x32\x22\x47\x48\xe1\xdd\x91\x8c\xad\x51\x68\xd7\xdb\xba\x61\x30\x0c\x69\x30\x3c\xa5\xdf\xfc\xac\x8f\x72\xb0\x39\x39\xc5\x4d\xca\x7d\x80\x0e\x91\xe7\xe8\xdc\x85\x50\x6a\xd5\x6b\x32\x83\xb5\xbb\x2c\x03\x00\xb8\xbc\x84\x37\x1a\x50\x7b\xe9\xa3\x9f\x4b\x63\x49\x17\xd3\x49\xbd\x67\xf1\x94\x66\x85\x15\x9d\x50\x9c\xf3\x9c\x6b\x21\xfe\x22\x14\x10\x0b\x1a\x1f\x39\x16\xf7\x39\xed\xde\x29\x4c\x47\x5e\x72\xcf\xc1\x43\x08\x6b\x30\x19\x6b\xe9\x29\x35\xbb\x0a\x75\x3a\x84\x9c\x95\x4e\xd7\x8f\x1c\x79\x18\x1f\x76\x21\x6a\xd3\x6a\x7f\x05\x9f\xae\xe5\xd7\xbf\xfc\x79\xcd\x68\x79\x05\x37\xde\x4a\xbd\x5f\xb3\xa4\x2b\x78\x53\x14\x16\x9d\x7b\x1d\xfe\xfe\xf4\xe9\xc3\xbb\x2b\xf8\xf4\x41\x7b\x5a\xdf\x9f\x3a\x7e\xbc\xfa\x3d\xfa\x17\xd8\x18\x27\x7d\xc8\xe6\x87\xb5\x7f\x17\x96\x3e\xa2\xbc\x37\x63\xd5\xbd\x99\x2a\xde\x1f\x77\x46\xf1\xf7\x0f\x28\x5d\x21\xec\x95\xd9\x09\x05\xbb\xd6\xea\x98\xfe\xb4\x2c\x17\x4a\xd1\x2a\xc2\x1b\x01\xda\xe8\x17\xff\x41\x6b\x60\x17\x3a\xc5\x19\x6b\xde\xb6\x56\x3f\x21\x0e\x67\xf4\x7c\x3b\x92\x4d\x20\x32\x76\xfc\x50\xd0\x6c\x47\x13\x70\xcb\x0d\xb4\xa3\xc7\xec\x7f\xf6\xfb\x28\xab\xf7\xe8\x3d\x25\x75\xd4\x1b\x24\x23\x20\x43\xd0\xe4\x9c\xb1\x2d\xa7\x4d\x30\xa9\x06\x77\xbc\x38\x1d\xf0\x33\x86\x2a\x4d\xc2\x63\x7b\x38\xf4\xf1\x9e\x4b\x3e\x48\xec\x48\x53\x52\x2b\x8a\xbc\x58\x25\x4f\xf1\x8e\xfb\xc1\x1d\x09\x9b\x9f\xe2\x0f\x24\xb3\xf2\xd8\xc5\x22\x92\x04\xb0\x20\x27\xa4\xcc\x26\xe0\x4f\x42\xc6\x35\xcd\x3d\x2d\xe1\x0b\x43\xc0\xb1\xc1\xcd\xc9\xb9\x1f\x3c\xf4\x2c\x2a\x1e\x38\x3d\xcb\x68\xd8\xee\x12\x95\x20\xa8\x5d\xf7\x7b\x47\x9d\x5b\xa1\xa0\x4e\x69\x9a\x98\x7f\x8d\x71\x4e\xc6\x66\x69\x4a\xc8\x2d\x0a\x56\x22\x36\xcc\x18\x6a\xeb\x06\xd5\xc9\x62\xa2\x61\xcc\xe6\xc8\xbb\xc2\x4a\x75\x8c\xb4\x8c\xa1\xd8\x74\x3a\x45\x65\xf3\x2d\x71\xee\xfb\x61\x84\xca\x74\x64\xf2\x20\xb8\x76\x17\xb9\xea\x83\x0e\x4c\xa2\x27\x42\x88\x1f\x59\xf4\xad\x25\x98\x88\x3c\xa4\xef\xe7\x16\x6b\x73\x60\xc4\x08\x7d\x7d\xb4\x71\x22\xe4\x76\xc4\x98\xbe\x77\xd1\x1e\x50\x78\x40\x45\x65\xbb\x8d\x06\x8e\x21\x78\xb5\x9d\x48\xb8\x31\x44\xb4\x8c\x25\x33\x09\x9f\x82\x04\xe9\xd7\x4c\x75\x02\x05\x47\x49\xad\xb2\xf7\x28\x98\x1d\xf5\x40\x90\xde\xa1\x2a\x27\xd2\x0c\x93\xfc\x88\xfe\xc5\x88\x70\xb1\x65\xdb\xb1\x1e\xdb\x65\xab\x96\x34\xe6\x22\xe9\x96\x91\x7d\x75\x05\x3f\xde\xb1\xf7\xee\x47\xf5\x48\xff\x88\x7c\xce\x1e\xc5\x7e\xb7\xb5\xe8\x22\x3d\x2e\x99\xa0\x99\xe8\x74\x8a\x06\x1c\x84\x6a\xf1\x64\x5b\xd8\xb2\x19\x97\x2a\xbc\x7c\x09\x51\x99\x93\xe5\xf4\xef\xd9\xe7\xa1\x6f\x86\x75\x50\xb7\xce\x13\x15\xa3\xe3\x9c\xa8\x91\x08\xca\x02\x66\x0c\x2d\x8f\x2d\x7b\x76\x22\x9e\x60\xfb\xb4\xd7\x85\xff\x13\xc6\x52\x70\x48\xdf\xdb\x63\x83\x17\xab\x8d\x2c\x28\x2c\xa5\x44\x9b\xda\x1f\x2f\x30\x9d\x46\xfb\x7a\x23\x42\x3f\x19\x23\x32\xbf\x6e\x5b\x59\x9c\x34\xc3\xe8\x0b\x7a\xb7\x9a\xa8\x76\x9f\x4d\x7f\x8d\xf0\x2b\x0d\x19\xff\x3b\x7e\xc5\x06\xb7\x00\x5f\x52\xc7\x48\x3e\x01\xbe\x3e\x63\x02\x0d\xa9\x73\xd5\x16\x08\x02\xfa\x49\x25\xa8\x91\x57\x98\x7f\x99\xc6\x27\x02\x57\x2f\xa5\xc3\x9e\xfd\x11\xe3\x7f\x0a\xe1\x0f\x6e\x08\xac\xae\x97\x43\x0c\xbd\x30\x69\xd1\x32\xbb\x5f\x83\x92\x5f\x10\x5c\xa3\x24\x37\x9a\x1a\xda\x86\x50\xa4\x17\xe2\x50\x17\xe1\x05\x0d\x0b\xb2\xe4\xda\xf3\xd0\xa8\x30\x9b\xc0\xd3\x81\x2f\x05\x6b\x0e\x7c\xd1\xf5\xe0\xc5\x17\x1c\x50\x8b\x90\x2c\xbe\x21\xe4\x38\x13\x86\xc9\xdc\xfa\x50\xe9\xb3\x52\x54\xf1\x51\xe6\x45\xc8\xd6\x54\xe5\xab\xa9\x4a\x7b\xf4\x37\x6d\x43\xe3\x09\x16\xbc\x80\xd2\x9d\xfa\x09\xc5\x51\x28\x75\x1c\x81\xac\x92\xce\x53\x89\x1d\xc2\xd0\xc7\x0b\x23\xb9\x66\xca\x1d\x8d\x26\x3d\x1a\xef\x1e\xed\xd9\x0b\xe7\x52\xff\xbe\xbb\xe5\xf2\x7b\x6b\x8c\xba\x9f\xea\xfa\x31\x6a\xd2\x55\xc8\x80\x6a\x2c\x27\x20\xd3\x2e\x79\xa0\x06\x48\x23\xbd\x74\x51\x83\x30\xa6\xd1\xdb\x49\xf1\x24\x69\x6f\x92\x1d\x9c\xab\x42\xc7\x5d\x40\x63\x0a\x0b\x72\x15\xa3\xf7\xaf\x84\x39\x11\xdb\xbc\x6d\x79\xfa\x28\xb0\x7c\x9c\x96\x48\x77\x6a\xe1\x45\xc0\x16\xfa\xb9\x0a\x36\xce\x0b\x7d\xe0\xb7\x13\xb6\x50\x20\x05\x63\x1d\x5c\x3d\x64\x5a\x68\x30\x3c\x32\x0f\x17\x3c\xbd\xbd\xeb\x44\xb5\xd6\x70\x6b\x85\x76\x25\x5a\x63\xd7\x7d\x5f\x0e\xf7\x15\x69\xfc\x1c\xd8\x45\x3b\xf0\x5b\xf2\xaf\x4b\x56\xc0\x11\xfd\xb7\x94\x01\x9b\x72\x35\xd2\x66\x38\xb8\xd7\x6b\x3c\x00\x6f\xfa\xe1\x78\x56\x37\xd7\x12\x55\x11\x53\xcd\x8a\x39\xa8\x98\x12\xc4\x43\x34\x51\xd8\xb4\xb4\x27\x87\x7f\x24\xf1\xfc\x3f\x2a\xaf\x59\x7b\xa7\xa9\x01\x95\xe9\x02\x72\x53\xf8\xc7\x57\x1e\x09\x89\x5d\x6b\x63\x9f\xb1\xad\x7e\xe1\x65\x1d\xaf\xd2\x38\x15\xe7\xf2\xf8\x52\x68\x8f\xa9\x80\xc6\x93\x52\x23\x18\x5e\xfb\xbc\x89\xf9\x1b\x71\x7b\x7a\x5d\xba\x09\x03\xfa\x06\x26\xf2\x65\x79\xd2\xa4\xdd\x4d\xbb\x23\x6d\x2e\x4c\x19\xaa\xec\xaf\x3f\xde\x2d\x48\xba\x7f\x75\xb1\x5a\x2d\x90\x9b\x58\xe6\x77\x53\xb1\x57\x5c\xf7\xf7\xd3\x56\x0d\xa8\x1c\x2e\xf3\xa3\x80\x53\xcc\xe4\xea\xc6\x1f\xa1\x90\x4c\x30\x85\x3d\x26\xbe\x12\xf1\x23\x70\x25\xee\xca\xbd\x1b\xba\xca\x40\x61\xf4\xf7\x7e\x49\xf2\x70\x99\xb3\xe8\x9f\x35\xb8\x36\xaf\xe8\x90\xe9\xeb\x9b\x4e\xfa\xbc\xda\x19\x61\x8b\xed\x1a\xb6\xfc\xec\xda\xd8\x4e\x10\x6d\xdd\x02\xfa\x7c\x73\xd6\x15\xf7\x67\x19\xca\x24\xd1\x7f\x0a\xcd\x5e\x96\x0b\x70\x3c\x00\x08\xe3\xb1\x74\x23\x90\x3b\x9b\xc1\x4f\x43\xcf\x59\x00\xa2\xd2\x29\x7c\x8b\x25\xf0\x0f\x12\xf2\x2f\x78\xfd\x1a\x4a\xa1\x1c\x9e\x33\x28\x35\x1b\xbe\xcf\xbe\x65\x01\xef\x84\x17\x51\x41\x63\x47\x86\xac\xa1\xab\x64\x5e\xf1\x45\x91\x90\xda\x4d\xe7\x14\xa5\xc0\xa2\xc2\x03\xf1\x9c\x46\xf8\xca\x05\x82\xe9\x02\xfa\xf2\x80\x16\xc1\xa6\x1f\x45\xce\xb6\xf4\x3d\xfa\x91\x2e\x84\x9d\x94\x9d\x6f\xf4\xf1\xc6\xdb\x36\xf7\x8f\x8e\x59\xdb\x40\x71\xb7\xc3\xa0\xc5\xc2\xbe\x77\x93\xab\x08\x58\x1c\xb1\x34\x76\xf3\x31\x2b\x09\xa6\xc8\x9e\xee\xff\x23\x66\x12\xbb\x54\x72\x29\xdc\xc3\x64\xf1\xea\x91\xc9\xe2\x4d\x18\x27\x86\x39\x21\x0d\x16\x8a\xa6\x37\x5f\x09\x1a\xe9\x00\x7f\x6b\x85\x0a\x7f\x2d\xf4\x87\x85\xd1\xe2\xfe\x89\x03\x54\xbc\x3d\x05\xd7\x60\x2e\x85\xea\xe3\x0e\xdb\x1d\x96\xc6\xe2\x96\x09\x71\x6c\x4b\x01\x23\xe2\xa1\xc3\x8d\x00\xdf\xae\x2f\x09\x8f\x97\x9d\x3b\xdc\x4b\xad\x89\x39\xce\xbe\x0c\x0c\xdf\x0c\x16\x76\x3f\xc1\xb7\x2f\x5f\x42\xd0\xf2\xe2\xe4\xdd\x0a\x5e\x3c\xec\xf7\xbf\xf5\x39\x94\x9c\x39\x9e\xe8\x12\xe7\x1e\x7c\xdc\x58\x3c\xf0\x85\x7d\x5a\x2e\x02\x45\x9f\x4f\x78\xe9\xfd\xb9\x70\xdc\x3f\x95\x87\x8b\xa2\x20\x0e\x3e\x1c\x18\xa9\xf8\x24\xf6\x27\x00\xf6\x2d\x2c\x7c\xa9\x1b\xcd\x5b\x11\xb1\x53\xe7\xd0\xfa\xe1\xee\x3a\x37\x3a\xb7\xe8\x63\xaf\x8d\xee\x19\xae\x46\x03\x7e\x48\xd7\x4f\xc6\x73\x79\xb1\xf1\x8c\x28\x6f\xcf\x93\xd3\x35\x75\x94\xf6\x84\x82\x23\x5b\x36\xd2\x7d\xd0\xce\x73\xe0\xa7\xed\x72\x75\x05\xcb\xd1\xff\x49\x68\xe2\x93\xc9\xfb\xfc\x65\x21\x37\x75\x23\xfc\xe8\xfb\x1c\xd9\x77\x66\x60\x9f\x5f\xef\xb2\x1a\xe3\xfc\x4b\xa3\x7b\x7a\xb1\x30\xba\x7b\x73\x66\x70\x4f\xf7\xc0\xa3\xb1\x7d\x76\x15\xcc\x52\x1f\x1a\xda\xe1\x7c\xd1\x7f\x63\x19\xfd\x29\xbd\x3b\x31\x71\xf5\xbb\x2a\xcb\xb5\xf5\xa3\x25\x35\x24\xd3\x83\xc8\x36\x2b\xa5\xd0\xbf\xde\x13\xcf\x89\x55\xa4\x94\xe9\x1c\x4f\x51\xe1\x5b\xa2\x49\x3d\x6e\xdc\x42\x38\x03\x2b\x41\xc5\x77\x72\x13\x0e\x8f\x54\xd4\xfc\xc8\x8b\x6f\xbe\xc3\x3a\x73\x19\xf5\xc3\xe6\x87\x2b\x78\x76\x5b\x21\x29\xaa\x8e\xf1\xa0\xe8\x8f\xe0\x4f\xfe\x46\x35\xd6\xf8\xbc\x9b\x60\x3a\xd7\xfd\x1c\x3e\x0c\xc4\x6f\x02\xde\x84\x4f\x04\xe4\xa6\xe9\x67\xa5\xe5\xef\x1b\x64\x37\x6d\xb8\xf8\x77\x28\xe1\xa7\x20\x89\x8c\xa3\xc4\x26\x45\xfa\x15\x59\x38\x73\x07\x17\xd6\xe4\x4b\xc3\x64\x4f\xaa\xa8\xf0\xf0\xfc\x6d\x58\xa8\x90\xb0\x6a\x5a\x22\x83\x4b\x0a\x74\xde\x9a\xe3\x68\xb0\xba\xcf\xee\xff\x1b\x00\x00\xff\xff\x3f\xda\xf6\x5a\x43\x21\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0x37, 0x24, 0x94, 0xdc, 0x49, 0xb1, 0xab, 0x63, 0xce, 0x71, 0xfc, 0x37, 0x88, 0x54, 0xbf, 0x92, 0xf4, 0x34, 0x1b, 0x82, 0x2, 0xac, 0x4b, 0xfb, 0xa4, 0xf1, 0xb6, 0xd0, 0x31, 0xe5, 0x13}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xda, 0x71, 0x1, 0x93, 0x9b, 0x65, 0x63, 0xd4, 0x4e, 0xe4, 0x93, 0x92, 0x4c, 0x21, 0xba, 0x94, 0x3d, 0xb1, 0x5f, 0x64, 0xbf, 0x27, 0x30, 0x15, 0xdd, 0x48, 0x48, 0x9d, 0x51, 0xa7, 0xc7, 0x37}}
 	return a, nil
 }
 
@@ -199,7 +199,7 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x59\x5f\x8f\x1b\xb7\x11\x7f\xdf\x4f\x31\xbd\x00\xf5\x5d\x20\xeb\xfa\x50\xf4\xe1\x80\xc0\x71\x72\xb9\xe2\x80\xe2\x5a\x38\x72\xf2\x18\x51\xcb\x91\xc4\x9a\x4b\xae\x49\xae\x14\xc1\xb9\xef\x5e\xcc\x90\xdc\x25\xf5\xe7\x6c\xb7\xbd\x87\xc4\xda\x25\x87\xc3\x99\xdf\xcc\xfc\x66\xf6\xf6\xdb\x6f\x9b\xe6\x9b\x6f\x60\xb1\x45\x78\xd0\x76\x0f\x4f\xd6\xbc\x7e\x18\xcc\x46\xad\x34\xc2\xc2\x7e\x40\x03\x3e\x08\x23\x85\x93\xbc\x70\xf9\x64\x4d\x7e\xcf\xaf\x97\xd0\x5a\x13\x9c\x68\x43\xd3\x90\x14\x65\x02\xba\xb5\x68\x11\xc2\x56\x04\x10\x5a\x9f\x93\x99\xf7\x78\xf0\x5b\x3b\x68\x49\x0f\xd6\xd6\x75\x10\xec\xbc\x79\x5c\x83\x80\xc1\xa3\x83\xbd\x30\xc1\x43\xb0\x20\xb1\xd7\xf6\x00\x02\x0c\xee\xe1\xe9\x61\x31\x0a\x98\x41\xd8\xa2\x72\xe3\xef\x2c\x4f\x75\xbd\xc6\x0e\x4d\x60\xa5\xc2\xa1\x47\x0f\x12\xd7\xca\xa0\x84\x2d\x3a\x4c\x97\x79\x58\x2c\xc1\xa1\xb7\x83\x6b\x0b\xd5\xe3\x4d\x5a\xeb\x70\x7a\x49\x22\xe2\x95\x1c\xf6\x0e\x3d\x92\x66\xc2\xb0\x32\xca\x90\x16\xe0\x3b\xe1\xc2\xa8\xc9\x3c\x1e\xf1\xa3\xd5\x1a\xdb\xa0\xac\x59\xc2\xbb\x0b\x27\x4d\x87\x90\x7c\x1f\xac\x43\x9f\x4c\xf0\xca\xa7\xeb\x66\x29\xf3\xe6\x31\x80\x32\xad\x1e\x24\x2f\x5a\xe3\x1e\xd6\x83\xe1\x77\x6c\x2a\xa1\xc9\x8f\xa4\x8f\xdd\x1b\x74\xf4\x08\x85\x57\xfa\xd0\x74\x76\x87\x10\xc8\xfe\x9e\x54\x16\x46\x82\x1d\x02\xd8\x35\xaf\x2e\x8f\x60\xcd\xff\xe5\xec\x4e\x49\x74\x4b\x5e\xb9\x7c\x87\x2d\xaa\x1d\xfd\x3c\x35\x98\xe7\x7b\xf8\xf2\x09\x48\x6c\xb5\x70\x58\x28\xb7\x57\x61\x0b\xde\x76\x08\xbd\x43\x16\xda\x5b\xcf\x06\x93\x8a\x57\x34\xc9\xbe\x1f\x07\xe5\x90\x95\x9a\xac\x47\xf7\x58\x5b\xbe\x5b\x8b\x2e\x08\x65\xc0\x88\x4e\x99\x0d\x0b\x5a\xe1\x56\xec\x94\x75\x23\x58\xfd\x9c\x55\x3a\x00\xa9\xe0\xb1\x17\x4e\x04\x84\x15\xb6\x62\x20\x35\x03\x6c\xd4\x8e\x95\xdc\xa1\xb6\x3d\x3a\xcf\xc7\x89\x95\xd2\x2a\x1c\x22\xe2\x08\x2c\x93\xf6\x51\xb7\x56\x18\x72\x0b\x08\x73\x28\x10\x31\x82\x8d\xa5\xf8\xda\x30\x3f\x1c\x60\xf0\xa4\x67\x36\x9b\x67\x8d\xa7\x25\x33\x76\xb4\x27\x3f\x90\xab\x6b\x14\x79\x3e\xd2\xa3\x91\x0d\xed\x72\xd1\x09\xd9\x8b\x3d\xa2\x7b\x1d\xec\x6b\xfa\xff\x8c\xed\x4b\x0e\x25\x53\x98\x0d\x5d\x82\x0f\xa1\xa8\x60\xd3\x0b\x68\x91\xa4\x6a\xd0\x28\x37\xe8\x9a\x13\xc0\x2e\x2c\x1f\x95\x71\x4d\x68\x32\x36\x6c\xd1\xb1\x8a\xb3\x31\x2c\x39\xc4\x3c\x5d\xfb\xc0\xa2\xa5\x13\x11\x72\x4f\x0f\x8b\x66\xed\x6c\x97\xa2\x72\x72\x1f\xc7\xa9\x81\x96\xf2\x01\x2d\x94\xd8\x5b\xaf\xc2\x68\x5f\xb0\xa6\x3a\xeb\x95\x6f\x6a\xdf\xb7\x96\x8c\x1c\x22\x2c\x82\x13\xc6\xaf\xd1\xcd\x9b\xe6\xdb\xdb\xa6\x51\x5d\x6f\x5d\x80\x5f\x14\xee\x29\xc4\xf4\x0e\x1d\xb0\x16\x57\xe5\xa3\xab\xa6\xb9\xbd\xbd\xe5\x54\xd7\x11\x7c\xca\x34\x32\x87\x7f\xf2\xd1\xe5\x33\x02\xac\xd6\xbc\x27\x1d\xc0\x7e\xcb\xbe\x66\x45\x2a\xbc\xc7\xec\xc2\xc9\x40\xf9\x29\x2d\xde\xde\xde\x36\xa2\x6d\xd1\xfb\x6b\xa1\xf5\xcd\x94\xaa\x8e\x53\x29\x7c\x6a\x1a\x00\x00\x3a\xf1\xad\x01\x34\x41\x85\x74\xd6\xda\xba\x18\xd8\xec\xd8\x2d\x8e\x56\x17\x9a\xe3\x37\xc2\x81\xef\x2c\xe0\x17\x31\xe8\xc0\x92\xca\x63\x4b\x71\xbf\xe6\xdd\x2b\x8d\x5f\x76\xe6\xd0\x4b\x11\x12\x74\xe3\xbf\x01\x77\x8c\x78\x5e\xc6\xd6\x7c\xf1\xc8\xf7\xb4\xa9\x3e\xef\xa7\x5d\x34\xa3\x08\xa7\xf5\x00\x3b\x15\x60\x4f\x90\xa1\xdb\x76\x18\x04\x6d\xa7\xbb\xe6\x9c\xeb\x93\x1e\x72\x94\xf7\x18\xe3\xd3\x1a\x7d\x80\x15\xb2\x88\x80\x12\x56\x07\x86\x5d\xb6\xdc\x92\x9e\x3f\x3d\x2c\xde\xc7\xdd\xcb\x11\x82\xa3\x9c\x18\x2c\x06\x96\xa3\xce\xcb\x7c\x15\x8a\xc0\x35\x3a\x34\x94\xac\x6d\x86\x7c\xbc\xc3\x5e\x9c\xaa\x44\x60\x2b\xad\xd0\xbb\x64\x35\xdf\x8b\xae\xa3\xa8\x67\x9f\x4d\xfa\xa9\xf4\x64\x8a\x04\xff\xaa\x48\xcd\x7e\x94\x9c\x53\x19\xdf\xb6\xb5\x32\x42\x82\xd2\x7a\xb1\x1c\xac\x8b\xba\x6d\x05\x1d\x89\xad\x12\x7a\xba\x4a\x74\xd5\x28\x31\xdd\xa7\x38\x8c\xec\xbe\xb5\x32\x06\x02\x99\x94\x6c\x41\xeb\x36\x18\xe1\x7f\x6a\x95\x51\x5a\x6d\x02\xf6\x74\x27\x3e\xa0\xa7\xdc\xeb\x6d\xd4\x2a\x6c\x95\x93\xaf\x7b\xe1\xc2\x01\x94\x91\xf8\x3b\x19\x84\x5c\xd8\x59\xa3\x02\xeb\x9e\x61\x36\x8a\x23\x00\x7e\x1c\xd0\x1d\xf8\x65\xb2\xf7\x04\x90\x9c\x7c\x62\xf1\xab\x6d\x37\xcf\x42\x4e\x81\xba\x1b\x21\x8a\xf2\x5a\xc9\x3b\x78\xff\x68\xc2\xdf\xfe\x3a\x83\x61\x28\x7f\xb1\xd0\x3b\x78\x2b\xa5\x43\xef\xdf\xcc\xb8\x06\xdc\xc1\xcf\xc1\x29\xb3\xb9\x39\x11\xbb\x53\xb1\x38\x43\x0d\xb9\xeb\xdf\xc0\xac\xc3\x3b\x5c\xdf\x81\x18\xc2\xf6\x7a\x84\xd9\x0d\xfc\xf9\xd3\x71\x52\x98\x3f\x3d\x2c\x9e\xa3\xe8\x4f\xfc\x5f\xfa\xe3\xe8\x28\xd5\x8d\xf2\xe6\x4a\x66\x8d\xd3\x03\xfa\x31\xaa\x9d\x9e\xf1\xaf\x37\x73\x11\x2f\x91\xef\x90\x5e\x6e\x30\x2c\x0e\x3d\x5e\xdf\xcc\x95\x24\xef\xae\x15\xba\x78\xfa\x73\x73\x36\x72\x95\x1f\x03\x8d\xc3\x55\xc4\x64\x44\xcf\x73\x8e\x32\xb3\x71\xa3\x32\x52\xb5\x22\xe4\x58\xa4\xa3\x67\x90\xb5\x9e\x15\xac\xe5\x84\x94\xa4\xd3\x62\x98\x8d\x92\xd9\xdf\xb3\x0a\x1c\xb4\xed\xfd\xfb\xc7\xfb\x2c\x62\x62\x2b\x67\xf7\xc2\xe0\x07\xa1\xf5\xa1\x8a\x9b\x1a\x29\x9c\x5b\x4e\xf4\x51\x1e\x8c\x0d\x91\x48\x91\xd7\xed\x60\xc2\x2b\xcf\xec\x4d\x6c\x70\x06\x4b\x12\xbf\x1c\x43\x67\x69\x94\x5e\x7e\x0e\x81\x39\x2f\x5f\x97\xb8\x22\x03\x5d\x02\x24\x9d\x51\xe2\xb1\x4f\x9c\x8d\x0c\x90\x57\xdd\x9c\xf5\xdb\x25\xa7\xa5\xc2\x8c\x92\xab\xff\x39\x9b\xc0\x63\x74\x22\xfa\xff\xc9\x87\xe5\x41\x2f\x7b\xb0\x34\xfa\xe9\xde\xff\x9b\xab\x66\x5f\xe7\xab\xfb\xa8\xc3\x17\xbb\x2a\xd8\xd2\x51\x93\x76\x17\x5c\xf5\x58\xf7\x51\xa9\xd2\x78\xe8\x86\x48\x99\x53\xb7\x74\x51\xc9\x53\x92\x4e\xfb\xef\x2a\x92\x34\x1f\xd9\x52\x62\x1e\xf9\xf0\xc1\xa8\x8f\x03\xc2\xe3\x3d\x57\xf7\x4c\xec\xf2\x8a\xf2\x18\x8d\xa1\xb8\x73\x2d\xe5\x7c\x96\x10\x43\xb0\x9d\x08\xaa\xe5\xa8\xc3\x1d\xa7\x72\xd5\x21\x88\x42\x67\x72\xb1\x0f\xce\x1e\x52\x2d\x2d\x8b\x09\xf3\x6e\xc5\x06\x10\xd9\xbd\xa9\x21\x92\xb9\x15\x1b\xeb\x41\xf4\x95\xb7\x84\x9c\x04\x03\x83\x48\x2b\x05\xb7\x6f\xc2\x6d\x06\x6e\x13\xcf\x5d\x2e\x6e\xce\x5d\xdb\x7d\xd6\xa8\x28\x10\xf0\x1d\x78\xd4\x65\xe2\xad\x9f\xd3\xb3\x9b\xda\x2a\xad\x43\x11\xf0\xa7\xae\x0f\x87\x82\xe1\xc6\xa7\xac\x12\xd2\xab\xaa\xf3\x49\x16\xcc\xd5\x97\x1b\xc4\x13\xaf\xe4\xe8\x71\x18\x06\x67\xb8\xce\xe6\x8a\x2e\xb4\x46\x57\x54\x5d\x3c\x44\xa2\xb4\x67\x2a\xe5\xcf\xde\x9d\xca\xd6\x59\x55\xaf\x6f\xee\xe0\xfb\x4f\xd3\xef\xe7\xa2\x2e\xd1\x1f\xf7\x74\xf5\x23\xfa\x73\xe8\x07\x1d\xa8\xbe\xfc\x03\xcd\x26\x6c\xaf\x6f\xe0\xbb\xef\xe0\x2f\x77\x70\xc5\xbd\x36\x9f\x24\xcb\xa0\x65\xa0\x33\x8d\xeb\xc3\xe1\x4f\x57\x95\xc0\xe7\x66\xfa\x57\x65\x80\xbf\x63\x60\x1c\x15\x1c\x2d\xf7\x32\x89\x70\xc4\x7e\xda\xee\x8d\xaf\x36\xfe\x60\x89\xf3\x25\x30\x78\xee\x1a\x6d\x4f\x7a\x08\x5d\x37\xd5\xa9\x2f\x6a\xb7\xd6\x7a\xac\x44\x6c\xed\x9e\x8c\x9e\xed\xef\x87\x55\x8c\x58\x89\x3d\x1a\x49\x25\xcf\x1a\xd8\xf3\x50\xa4\x3a\x27\xe5\xec\x1a\xe8\x0f\xd6\x01\xfe\x2e\xa8\xd9\x98\x81\x5a\xc3\x92\x50\xbf\x64\x1e\x27\x60\x27\xf4\x80\x33\x58\x0d\x01\x96\x4a\x2e\x41\x5a\xf4\xe6\x55\x9c\x85\xb0\x82\x35\xe0\x84\x49\xea\xc2\x7e\xab\xda\x6d\x34\xc0\x3a\x59\x84\x9b\x58\x9b\xb4\xa6\x93\x88\x78\x72\x04\x0a\xb8\x92\xb8\xa6\x5e\xe2\xaa\x92\xf7\xb8\x86\x55\xb4\x56\xca\x94\xa9\xb7\xe3\xcb\xb2\x50\xe6\xa4\x11\xa5\x02\xa8\xf7\xd5\x51\x2d\xd2\xe4\xdf\xe4\xd6\x78\x5a\x25\x95\x36\xce\x61\x41\x0e\xda\xa2\xee\x7d\x42\xad\x87\xfd\xd6\xd2\x51\xe6\x55\x00\x3f\x38\x8c\x16\x0c\xb9\xb5\xd7\xd6\x7e\x20\xd3\x52\x9e\x2a\xe5\x55\xb2\xbf\xa7\xf6\xbf\x4b\x44\x87\xe0\x46\x14\x27\x57\x17\x89\x5e\x39\x94\x27\xb1\x94\x36\x51\x4c\xf3\x5c\x4b\xe6\x0d\x09\x01\x2b\xeb\x9c\xdd\x5f\x3e\x33\x59\xf4\x2d\xf8\xe0\x86\x36\x0c\x3c\x4c\x4a\x93\xa3\xcc\x7f\x1c\x7e\x1c\xd0\x13\xf0\x89\x2a\xce\x2f\x06\xe2\x06\xc3\xcf\xc3\xea\xe9\x61\x91\xaa\xcd\x22\xd5\xdc\xb1\x6e\xc0\xdd\x25\xea\xf8\xe6\x28\x16\x93\x5a\x46\xe9\xa6\x8e\xa6\xe7\xb3\xb5\xc7\x42\x87\x52\x51\xbb\x37\x75\x9c\x63\xa3\x99\xf3\x75\x49\xa2\xa6\xc4\xf0\x35\xa5\x29\xcf\x9a\xea\x42\x04\xbf\x62\x6a\x04\xf3\x8c\x21\xf7\x9c\x99\xe5\x67\xbe\x53\x88\xca\x8d\x11\xd5\x48\xd5\xb2\xa9\xf3\xf6\x52\x74\x92\x94\x90\x25\xb8\x5f\x5f\xc7\x41\x4d\xb0\x29\xf3\x6b\xe5\x03\x52\x1b\x91\xdf\xeb\x24\x30\x4f\x2f\x52\x6f\x52\x39\x7e\xd4\xd5\x61\x67\x77\x38\x0e\x09\x47\x9d\x8b\x1c\x47\xf9\x3a\x2e\x3a\xce\xd6\x75\xc4\x05\x0e\x71\xae\x5e\xdc\xc5\xad\x0f\xc4\xdb\xb8\x45\xa4\x2d\x8f\xf7\x14\xaf\x91\x32\x39\x5a\x75\x0c\xa4\xb2\xdf\x8f\x88\xca\x5a\x5e\xe7\x7f\x14\x24\x84\xf2\x3b\x41\xe7\xab\x12\xbb\x92\x94\xcf\x4b\x69\x9c\xd8\x27\x16\x37\xf1\xee\xc8\x35\x73\x7e\xe7\xc9\xa9\xa0\xfa\xef\x8f\x62\xe2\xf1\xfe\xea\xe4\x34\x86\xc3\x11\x4d\x9e\x4a\xcb\x49\xeb\x12\x83\x64\x54\x31\x17\xe9\xf4\x20\x12\xd6\xc8\xa1\xb9\x5c\x1f\xb7\x46\x35\x9d\x2e\x2a\x7a\xa9\xd2\xf3\x57\x06\x52\x02\x8f\xcf\x0e\xff\xef\x22\x26\x8f\x63\x8f\xa9\x5b\x86\x66\xe0\x66\x3b\x61\xaf\xe6\x3a\x0c\x3b\x21\x65\x89\xba\x23\x25\x8e\x33\xda\x71\x42\x92\x99\xfc\x92\x2b\x33\x5e\x8e\x88\x0e\x27\xad\xbe\xb7\x2e\xa0\x7c\x7a\x58\x2c\x78\x06\x9f\xab\xa3\xe0\xe0\xca\x33\xcf\x38\x9f\x9f\x4a\xb4\xcb\x97\xa3\x73\xfb\x70\x9e\xa1\x8c\xdd\xf5\xb9\x83\x88\xa5\x7c\x5a\x30\x3c\x7e\xb0\x56\x1f\xd1\x84\x77\x49\x8b\x1c\x44\x31\x6a\xd8\x10\x1b\xb5\x43\x93\x38\xa6\x4f\xe7\xc7\x21\x52\x1d\xbb\x95\xbc\xb7\x27\x4d\x4e\x1b\x3b\x0d\xec\xc3\x34\x2b\x4e\xa3\xad\xa2\x02\x42\x70\x03\x92\xec\x54\x68\x5f\xbe\xa7\xf2\xc7\xd7\x2c\xca\xc1\x4d\xbc\xe8\x31\x02\xdf\xc5\x61\xfa\x38\xd0\x8b\x97\x30\xad\xc3\x70\xf4\x71\xa3\x9c\x03\xad\x30\x8f\xef\x47\x46\x3d\xce\x3d\x29\xff\x8d\xb3\xcd\xaf\x00\xec\x84\xb0\xbb\x31\xdd\xcf\x2e\xc2\xf8\x5d\xb2\x4f\xaa\xb7\xd3\xe6\x7b\x62\xf5\xd4\xc4\xd4\xdc\x4b\xf8\xa4\xf7\x5b\x73\xf8\x99\x0b\x2e\xa3\xbc\x15\x7e\x84\x38\xdb\x51\x8b\x10\xbf\x89\x88\x9d\x55\x12\x5a\xe5\xda\x41\x0b\x97\x48\x1a\x9a\xf6\x00\xca\xfb\x01\x3f\x0f\xb9\xa7\x87\x45\xad\x15\x29\x45\xb0\x1b\x35\xa8\x6f\xf4\x44\xfd\x0a\xd5\xc8\x3d\xa6\x01\xfa\xf4\xa1\x23\x35\x78\x05\x88\x52\x9a\xaf\xd9\x7d\x7a\xaa\x5a\x90\x8a\x97\x09\x77\x38\x69\x08\x7c\x24\x86\x1c\x47\x8a\x68\x21\x18\xa4\x1b\xd0\x5a\x82\x62\x67\x5d\xcd\x5b\x85\x07\x6d\xcd\x86\x93\x44\x9a\xce\xc7\xe9\xe3\xf4\xe5\x46\x44\xf1\x0e\x5f\xcc\x35\x97\x52\x4d\xfa\xa0\xa5\x42\xc6\xd2\x99\x28\xfa\x7c\x82\x39\x3b\x17\x3b\x2e\x51\x0e\xcf\x54\xa8\x82\x48\x94\x9f\x1e\x62\x8d\x4f\x2a\x55\xdf\xe9\xa6\xcf\x73\x67\x44\x65\x7e\x71\x79\x17\x27\x0e\xdd\x51\xb9\x14\x7a\x2f\x0e\xb1\xae\xad\x15\xf5\x12\xd4\xd6\x2a\x23\xaa\xbb\x17\xc2\xa7\x59\x3e\x19\x6e\xd4\xb4\x53\xde\xb3\x23\xe2\xb4\x78\xf0\xc1\x76\x63\x92\x24\x6a\x42\x70\x5a\xe1\xc4\x61\xce\xc9\x26\x89\x5b\xe1\x64\xa4\xfb\x94\x04\x54\xec\x27\x8f\xc8\xce\xf9\x9a\x5b\x8f\x3b\x58\xc9\x17\x2a\x6e\x7c\x3f\x15\xdc\xf8\x3b\x0d\x88\xec\x85\x6a\x7b\x3c\x13\xf9\x82\x7a\x7b\xdc\xfc\xa5\xcf\x78\x9d\x1d\x4c\x2e\x2e\x71\xce\x33\x25\xb2\xcf\x80\xaf\x0c\xf1\xdc\xa9\xde\x51\x21\x6f\x8e\xfa\x45\x62\xff\xfe\x42\xb3\xf9\xd9\x13\x8b\x39\x15\xad\xe7\x2f\x0e\x4c\x84\x62\x80\x33\xf9\x29\xc6\x56\xb5\x94\xd9\x51\xe3\x34\x7d\xa5\xcc\x25\x26\x55\x17\xee\xce\xd8\xef\x24\xa7\x17\x46\xb5\x2f\xdf\x39\xf6\x34\xd4\x67\xfc\x56\x76\x17\x5f\xdc\x5c\x5c\xa0\x88\xd7\x91\x6f\x11\x41\x34\x4a\xdf\xc0\x1f\x7f\xe4\x47\x6f\x12\x6f\x54\xf2\xe6\x0e\x4e\xf6\xd1\xdf\xd5\x8f\xc2\x90\xf6\x51\x35\xb6\xd6\x68\xf1\xd8\x99\x95\xa3\x5e\xba\x76\xf5\x91\x66\xe4\xcd\x9d\x08\xed\x36\xb3\xe5\xf1\x7b\xcd\x68\xef\x4b\xf3\x05\x78\xb9\x65\x7a\x6e\xfe\x13\x00\x00\xff\xff\x5d\xc8\x29\xea\x42\x21\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x59\xdf\x8f\x23\xb7\xed\x7f\x9f\xbf\x82\xdf\x0d\xf0\xbd\xdd\xc0\xe7\xed\x43\xd1\x87\x05\x82\xcb\x25\x9b\x2d\x16\x28\xb6\xc5\xc5\x97\x3c\x14\x45\x2c\x8f\x68\x5b\x8d\x46\x9a\x93\x34\x76\x8c\xcb\xfe\xef\x05\x29\x69\x46\xf2\x8f\xbd\xbb\xb4\xfb\x90\x9c\x67\x24\x92\x22\x3f\x24\x3f\xd4\xdc\x7e\xfd\x75\xd3\x7c\xf5\x15\x2c\xb6\x08\x0f\xda\xee\xe1\xc9\x9a\xd7\x0f\x83\xd9\xa8\x95\x46\x58\xd8\x5f\xd1\x80\x0f\xc2\x48\xe1\x24\x2f\x5c\x3e\x59\x93\xdf\xf3\xeb\x25\xb4\xd6\x04\x27\xda\xd0\x34\x24\x45\x99\x80\x6e\x2d\x5a\x84\xb0\x15\x01\x84\xd6\xe7\x64\xe6\x3d\x1e\xfc\xd6\x0e\x5a\xd2\x83\xb5\x75\x1d\x04\x3b\x6f\x1e\xd7\x20\x60\xf0\xe8\x60\x2f\x4c\xf0\x10\x2c\x48\xec\xb5\x3d\x80\x00\x83\x7b\x78\x7a\x58\x8c\x02\x66\x10\xb6\xa8\xdc\xf8\x3b\xcb\x53\x5d\xaf\xb1\x43\x13\xd8\xa8\x70\xe8\xd1\x83\xc4\xb5\x32\x28\x61\x8b\x0e\xd3\x61\x1e\x16\x4b\x70\xe8\xed\xe0\xda\xc2\xf4\x78\x92\xd6\x3a\x9c\x5e\x92\x88\x78\x24\x87\xbd\x43\x8f\x64\x99\x30\x6c\x8c\x32\x64\x05\xf8\x4e\xb8\x30\x5a\x32\x8f\x2a\xbe\xb7\x5a\x63\x1b\x94\x35\x4b\x78\x77\x41\xd3\xa4\x84\xe4\xfb\x60\x1d\xfa\xe4\x82\x57\x3e\x1d\x37\x4b\x99\x37\x8f\x01\x94\x69\xf5\x20\x79\xd1\x1a\xf7\xb0\x1e\x0c\xbf\x63\x57\x09\x4d\x71\x24\x7b\xec\xde\xa0\xa3\x47\x28\xbc\xd2\x87\xa6\xb3\x3b\x84\x40\xfe\xf7\x64\xb2\x30\x12\xec\x10\xc0\xae\x79\x75\xa9\x82\x2d\xff\x87\xb3\x3b\x25\xd1\x2d\x79\xe5\xf2\x1d\xb6\xa8\x76\xf4\xf3\xd4\x61\x9e\xcf\xe1\xcb\x27\x20\xb1\xd5\xc2\x61\x61\xdc\x5e\x85\x2d\x78\xdb\x21\xf4\x0e\x59\x68\x6f\x3d\x3b\x4c\x2a\x5e\xd1\x24\xff\x7e\x18\x94\x43\x36\x6a\xf2\x1e\x9d\x63\x6d\xf9\x6c\x2d\xba\x20\x94\x01\x23\x3a\x65\x36\x2c\x68\x85\x5b\xb1\x53\xd6\x8d\x60\xf5\x73\x36\xe9\x00\x64\x82\xc7\x5e\x38\x11\x10\x56\xd8\x8a\x81\xcc\x0c\xb0\x51\x3b\x36\x72\x87\xda\xf6\xe8\x3c\xab\x13\x2b\xa5\x55\x38\x44\xc4\x11\x58\x26\xeb\xa3\x6d\xad\x30\x14\x16\x10\xe6\x50\x20\x62\x04\x1b\x4b\xf1\xb5\x63\xbe\x3b\xc0\xe0\xc9\xce\xec\x36\xcf\x16\x4f\x4b\x66\x1c\x68\x4f\x71\xa0\x50\xd7\x28\xf2\xac\xd2\xa3\x91\x0d\xed\x72\x31\x08\x39\x8a\x3d\xa2\x7b\x1d\xec\x6b\xfa\xff\x8c\xfd\x4b\x01\x25\x57\x98\x0d\x1d\x82\x95\x50\x56\xb0\xeb\x05\xb4\x48\x52\x35\x68\x94\x1b\x74\xcd\x09\x60\x17\x96\x55\x65\x5c\x13\x9a\x8c\x0d\x5b\x74\x6c\xe2\x6c\x4c\x4b\x4e\x31\x4f\xc7\x3e\xb0\x68\xe9\x44\x84\xdc\xd3\xc3\xa2\x59\x3b\xdb\xa5\xac\x9c\xc2\xc7\x79\x6a\xa0\xa5\x7a\x40\x0b\x25\xf6\xd6\xab\x30\xfa\x17\xac\xa9\x74\xbd\xf2\x4d\x1d\xfb\xd6\x92\x93\x43\x84\x45\x70\xc2\xf8\x35\xba\x79\xd3\x7c\x7d\xdb\x34\xaa\xeb\xad\x0b\xf0\x93\xc2\x3d\xa5\x98\xde\xa1\x03\xb6\xe2\xaa\x7c\x74\xd5\x34\xb7\xb7\xb7\x5c\xea\x3a\x82\x4f\x59\x46\xe6\xf0\x77\x56\x5d\x3e\x23\xc0\x6a\xcd\x7b\x92\x02\x8e\x5b\x8e\x35\x1b\x52\xe1\x3d\x56\x17\x2e\x06\xca\x4f\x65\xf1\xf6\xf6\xb6\x11\x6d\x8b\xde\x5f\x0b\xad\x6f\xa6\x52\x75\x5c\x4a\xe1\x63\xd3\x00\x00\x90\xc6\xb7\x06\xd0\x04\x15\x92\xae\xb5\x75\x31\xb1\x39\xb0\x5b\x1c\xbd\x2e\x34\xe7\x6f\x84\x03\x9f\x59\xc0\x4f\x62\xd0\x81\x25\x95\x6a\x4b\x71\x3f\xe7\xdd\x2b\x8d\x9f\xa7\x73\xe8\xa5\x08\x09\xba\xf1\xdf\x80\x3b\x46\x3c\x2f\x63\x6f\xbe\xa8\xf2\x3d\x6d\xaa\xf5\xfd\xb0\x8b\x6e\x14\xe1\xb4\x1f\x60\xa7\x02\xec\x09\x32\x74\xda\x0e\x83\xa0\xed\x74\xd6\x5c\x73\x7d\xb2\x43\x8e\xf2\x1e\x63\x7e\x5a\xa3\x0f\xb0\x42\x16\x11\x50\xc2\xea\xc0\xb0\xcb\x9e\x5b\xd2\xf3\xa7\x87\xc5\xfb\xb8\x7b\x39\x42\x70\x94\x13\x93\xc5\xc0\x72\xb4\x79\x99\x8f\x42\x19\xb8\x46\x87\x86\x8a\xb5\xcd\x90\x8f\x67\xd8\x8b\x53\x93\x08\x6c\xa5\x17\x7a\x97\xbc\xe6\x7b\xd1\x75\x94\xf5\x1c\xb3\xc9\x3e\x95\x9e\x4c\x99\xe0\x5f\x15\xa5\xd9\x8f\x92\x73\x29\xe3\xd3\xb6\x56\x46\x48\x50\x59\x2f\x96\x83\x75\xd1\xb6\xad\x20\x95\xd8\x2a\xa1\xa7\xa3\xc4\x50\x8d\x12\xd3\x79\x0a\x65\xe4\xf7\xad\x95\x31\x11\xc8\xa5\xe4\x0b\x5a\xb7\xc1\x08\xff\x53\xaf\x8c\xd2\x6a\x17\x70\xa4\x3b\xf1\x2b\x7a\xaa\xbd\xde\x46\xab\xc2\x56\x39\xf9\xba\x17\x2e\x1c\x40\x19\x89\xbf\x91\x43\x28\x84\x9d\x35\x2a\xb0\xed\x19\x66\xa3\x38\x02\xe0\x87\x01\xdd\x81\x5f\x26\x7f\x4f\x00\xc9\xc5\x27\x36\xbf\xda\x77\xf3\x2c\xe4\x14\xa8\xbb\x11\xa2\x28\xaf\x95\xbc\x83\xf7\x8f\x26\xfc\xe5\xcf\x33\x18\x86\xf2\x17\x0b\xbd\x83\xb7\x52\x3a\xf4\xfe\xcd\x8c\x7b\xc0\x1d\xfc\x18\x9c\x32\x9b\x9b\x13\xb1\x3b\x15\x9b\x33\xd4\x90\xbb\xfe\x05\xcc\x3a\xbc\xc3\xf5\x1d\x88\x21\x6c\xaf\x47\x98\xdd\xc0\xff\x7f\x3c\x2e\x0a\xf3\xa7\x87\xc5\x73\x14\xfd\x91\xff\x4b\x7f\x9c\x1d\xa5\xb9\x51\xde\x5c\xc9\x6c\x71\x7a\x40\x3f\x46\xb3\xd3\x33\xfe\xf5\x66\x2e\xe2\x21\xf2\x19\xd2\xcb\x0d\x86\xc5\xa1\xc7\xeb\x9b\xb9\x92\x14\xdd\xb5\x42\x17\xb5\x3f\x37\x67\x33\x57\xf9\x31\xd1\x38\x5d\x45\x2c\x46\xf4\x3c\xd7\x28\x33\x1b\x37\x2a\x23\x55\x2b\x42\xce\x45\x52\x3d\x83\x6c\xf5\xac\x60\x2d\x27\xa4\x24\x69\x8b\x69\x36\x4a\xe6\x78\xcf\x2a\x70\xd0\xb6\xf7\xef\x1f\xef\xb3\x88\x89\xad\x9c\xdd\x0b\x83\x1f\x84\xd6\x87\x2a\x6f\x6a\xa4\x70\x6d\x39\xb1\x47\x79\x30\x36\x44\x22\x45\x51\xb7\x83\x09\xaf\x3c\xb3\x37\xb1\xc1\x19\x2c\x49\xfc\x72\x4c\x9d\xa5\x51\x7a\xf9\x29\x04\xe6\xba\x7c\x5d\xe2\x8a\x1c\x74\x09\x90\xa4\xa3\xc4\x63\x9f\x38\x1b\x39\x20\xaf\xba\x39\x1b\xb7\x4b\x41\x4b\x8d\x19\x25\x77\xff\x73\x3e\x81\xc7\x18\x44\xf4\xff\x55\x0c\x4b\x45\x2f\x47\xb0\x74\xfa\xe9\xde\xff\x59\xa8\x66\x5f\x16\xab\xfb\x68\xc3\x67\x87\x2a\xd8\x32\x50\x93\x75\x17\x42\xf5\x58\xcf\x51\xa9\xd3\x78\xe8\x86\x48\x99\xd3\xb4\x74\xd1\xc8\x53\x92\x4e\xfb\xef\x2a\x92\x34\x1f\xd9\x52\x62\x1e\x59\xf9\x60\xd4\x87\x01\xe1\xf1\x9e\xbb\x7b\x26\x76\x79\x45\xa9\x46\x63\x28\xce\x5c\x4b\x39\x5f\x25\xc4\x10\x6c\x27\x82\x6a\x39\xeb\x70\xc7\xa5\x5c\x75\x08\xa2\xb0\x99\x42\xec\x83\xb3\x87\xd4\x4b\xcb\x66\xc2\xbc\x5b\xb1\x03\x44\x0e\x6f\x1a\x88\x64\x1e\xc5\xc6\x7e\x10\x63\xe5\x2d\x21\x27\xc1\xc0\x20\xd2\x4a\xc1\xe3\x9b\x70\x9b\x81\xc7\xc4\x73\x87\x8b\x9b\xf3\xd4\x76\x9f\x2d\x2a\x1a\x04\x7c\x03\x1e\x75\x59\x78\xeb\xe7\xf4\xec\xa6\xf6\x4a\xeb\x50\x04\xfc\xa1\xeb\xc3\xa1\x60\xb8\xf1\x29\x9b\x84\xf4\xaa\x9a\x7c\x92\x07\x73\xf7\xe5\x01\xf1\x24\x2a\x39\x7b\x1c\x86\xc1\x19\xee\xb3\xb9\xa3\x0b\xad\xd1\x15\x5d\x17\x0f\x91\x28\xed\x99\x4a\xf9\xb3\x67\xa7\xb6\x75\xd6\xd4\xeb\x9b\x3b\xf8\xf6\xe3\xf4\xfb\xb9\xe8\x4b\xf4\xc7\x33\x5d\xfd\x88\xfe\x1c\xfa\x41\x07\xea\x2f\x7f\x43\xb3\x09\xdb\xeb\x1b\xf8\xe6\x1b\xf8\xd3\x1d\x5c\xf1\xac\xcd\x9a\x64\x99\xb4\x0c\x74\xa6\x71\x7d\x38\xfc\xdf\x55\x25\xf0\xb9\x99\xfe\x55\x39\xe0\xaf\x18\x18\x47\x05\x47\xcb\xb3\x4c\x22\x1c\x71\x9e\xb6\x7b\xe3\xab\x8d\xdf\x59\xe2\x7c\x09\x0c\x9e\xa7\x46\xdb\x93\x1d\x42\xd7\x43\x75\x9a\x8b\xda\xad\xb5\x1e\x2b\x11\x5b\xbb\x27\xa7\x67\xff\xfb\x61\x15\x33\x56\x62\x8f\x46\x52\xcb\xb3\x06\xf6\x7c\x29\x52\xe9\x49\x35\xbb\x06\xfa\x83\x75\x80\xbf\x09\x1a\x36\x66\xa0\xd6\xb0\x24\xd4\x2f\x99\xc7\x09\xd8\x09\x3d\xe0\x0c\x56\x43\x80\xa5\x92\x4b\x90\x16\xbd\x79\x15\xef\x42\xd8\xc0\x1a\x70\xc2\x24\x73\x61\xbf\x55\xed\x36\x3a\x60\x9d\x3c\xc2\x43\xac\x4d\x56\x93\x26\x22\x9e\x9c\x81\x02\xae\x24\xae\x69\x96\xb8\xaa\xe4\x3d\xae\x61\x15\xbd\x95\x2a\x65\x9a\xed\xf8\xb0\x2c\x94\x39\x69\x44\xa9\x00\x9a\x7d\x75\x34\x8b\x2c\xf9\x37\x85\x35\x6a\xab\xa4\xd2\xc6\x39\x2c\x28\x40\x5b\xd4\xbd\x4f\xa8\xf5\xb0\xdf\x5a\x52\x65\x5e\x05\xf0\x83\xc3\xe8\xc1\x90\x47\x7b\x6d\xed\xaf\xe4\x5a\xaa\x53\xa5\xbc\x4a\xf6\xb7\x34\xfe\x77\x89\xe8\x10\xdc\x88\xe2\xe4\xee\x22\xd1\x2b\x87\xf2\x24\x97\xd2\x26\xca\x69\xbe\xd7\x92\x79\x43\x42\xc0\xca\x3a\x67\xf7\x97\x75\x26\x8f\xbe\x05\x1f\xdc\xd0\x86\x81\x2f\x93\xd2\xcd\x51\xe6\x3f\x0e\x3f\x0c\xe8\x09\xf8\x44\x15\xe7\x17\x13\x71\x83\xe1\xc7\x61\xf5\xf4\xb0\x48\xdd\x66\x91\x7a\xee\xd8\x37\xe0\xee\x12\x75\x7c\x73\x94\x8b\xc9\x2c\xa3\x74\x53\x67\xd3\xf3\xd9\xde\x63\xa1\x43\xa9\x68\xdc\x9b\x26\xce\x71\xd0\xcc\xf5\xba\x24\x51\x53\x61\xf8\x92\xd6\x94\xef\x9a\xea\x46\x04\x3f\x63\x1a\x04\xf3\x1d\x43\x9e\x39\x33\xcb\xcf\x7c\xa7\x10\x95\x07\x23\xea\x91\xaa\x65\x57\xe7\xed\xa5\xe8\x24\x29\x21\x4b\xf0\xbc\xbe\x8e\x17\x35\xc1\xa6\xca\xaf\x95\x0f\x48\x63\x44\x7e\xaf\x93\xc0\x7c\x7b\x91\x66\x93\x2a\xf0\xa3\xad\x0e\x3b\xbb\xc3\xf1\x92\x70\xb4\xb9\xa8\x71\x54\xaf\xe3\xa2\xe3\x6a\x5d\x67\x5c\xe0\x14\xe7\xee\xc5\x53\xdc\xfa\x40\xbc\x8d\x47\x44\xda\xf2\x78\x4f\xf9\x1a\x29\x93\xa3\x55\xc7\x40\x2a\xe7\xfd\x88\xa8\x6c\xe5\x75\xfe\x47\x41\x42\xa8\xbe\x13\x74\xbe\xa8\xb0\x2b\x49\xf5\xbc\x94\xc6\x85\x7d\x62\x71\x13\xef\x8e\x5c\x33\xd7\x77\xbe\x39\x15\xd4\xff\xfd\x51\x4e\x3c\xde\x5f\x9d\x68\x63\x38\x1c\xd1\xe4\xa9\xb5\x9c\x8c\x2e\x31\x49\x46\x13\x73\x93\x4e\x0f\x22\x61\x8d\x1c\x9a\xdb\xf5\xf1\x68\x54\xd3\xe9\xa2\xa3\x97\x26\x3d\x7f\x61\x22\x25\xf0\xf8\x1c\xf0\x3f\x96\x31\xf9\x3a\xf6\x98\xba\x65\x68\x06\x1e\xb6\x13\xf6\x6a\xae\xc3\xb0\x13\x52\x96\xa8\x3b\x32\xe2\xb8\xa2\x1d\x17\x24\x99\xc9\x2f\x85\x32\xe3\xe5\x88\xe8\x70\xd1\xea\x7b\xeb\x02\xca\xa7\x87\xc5\x82\xef\xe0\x73\x77\x14\x9c\x5c\xf9\xce\x33\xde\xcf\x4f\x2d\xda\xe5\xc3\x91\xde\x3e\x9c\x67\x28\xe3\x74\x7d\x4e\x11\xb1\x94\x8f\x0b\x86\xc7\x77\xd6\xea\x23\x9a\xf0\x2e\x59\x91\x93\x28\x66\x0d\x3b\x62\xa3\x76\x68\x12\xc7\xf4\x49\x7f\xbc\x44\xaa\x73\xb7\x92\xf7\xf6\x64\xc8\x69\xe3\xa4\x81\x7d\x98\xee\x8a\xd3\xd5\x56\xd1\x01\x21\xb8\x01\x49\x76\x6a\xb4\x2f\x9f\x53\xf9\xe3\x63\x16\xed\xe0\x26\x1e\xf4\x18\x81\xef\xe2\x65\xfa\x78\xa1\x17\x0f\x61\x5a\x87\xe1\xe8\xe3\x46\x79\x0f\xb4\xc2\x7c\x7d\x3f\x32\xea\xf1\xde\x93\xea\xdf\x78\xb7\xf9\x05\x80\x9d\x10\x76\x37\x96\xfb\xd9\x45\x18\xbf\x4b\xfe\x49\xfd\x76\xda\x7c\x4f\xac\x9e\x86\x98\x9a\x7b\x09\x9f\xec\x7e\x6b\x0e\x3f\x72\xc3\x65\x94\xb7\xc2\x8f\x10\x67\x3f\x6a\x11\xe2\x37\x11\xb1\xb3\x4a\x42\xab\x5c\x3b\x68\xe1\x12\x49\x43\xd3\x1e\x40\x79\x3f\xe0\x65\x52\xbc\xc1\xf0\xf4\xb0\xa8\x0d\x22\x7b\x08\x71\xa3\xf2\xfa\x30\x4f\x34\xaa\x50\x7b\xdc\x63\xba\x3b\x9f\xbe\x71\xa4\xd9\xae\xc0\x4f\xaa\xf0\x35\xb1\x4f\x4f\x55\x0b\x52\xf1\x32\xe1\x0e\x27\xb3\x80\x8f\x9c\x90\x53\x48\x11\x23\x04\x83\x64\x3c\xad\x25\x14\x76\xd6\xd5\x94\x55\x78\xd0\xd6\x6c\xb8\x3e\xa4\x8b\xf9\x78\xf1\x38\x7d\xb4\x11\x51\xbc\xc3\x17\xcb\xcc\xa5\x2a\x93\xbe\x65\xa9\x90\x61\x74\x26\x81\x3e\x5d\x5b\xce\x5e\x89\x1d\x77\x27\x87\x67\x9a\x53\xc1\x21\xca\xaf\x0e\xb1\xbd\x27\x93\xaa\x4f\x74\xd3\x97\xb9\x33\xa2\x32\xb5\xb8\xbc\x8b\x6b\x86\xee\xa8\x53\x0a\xbd\x17\x87\xd8\xd2\xd6\x8a\xc6\x08\x9a\x68\x95\x11\xd5\xd9\x0b\xe1\xd3\x35\x3e\x39\x6e\xb4\xb4\x53\xde\x73\x20\xe2\x45\xf1\xe0\x83\xed\xc6\xfa\x48\xac\x84\xe0\xb4\xc2\x89\xbe\x9c\x93\x4d\x12\xb7\xc2\xc9\xc8\xf4\x29\xff\x55\x1c\x25\x8f\x78\xce\xf9\x76\x5b\xdf\x74\xb0\x91\x2f\x34\xdb\xf8\x7e\xea\xb5\xf1\x77\xba\x1b\xb2\x17\x1a\xed\xf1\x75\xc8\x67\xb4\xda\xe3\xb9\x2f\x7d\xc1\xeb\xec\x60\x72\x5f\x89\x57\x3c\x53\x0d\xfb\x04\xf8\xca\x86\x92\x87\xd4\x3b\xea\xe1\x67\x74\x4d\xfd\x2b\x27\xce\xe3\xbd\xff\x03\x7a\x1e\xef\xb9\x55\xfd\x33\x52\xaf\x7f\x41\x73\x34\x95\xd2\x8c\xe1\x2f\x8c\xb4\x9f\x3c\x5c\x71\x1b\x46\xeb\xf9\xbb\x06\xd3\xad\x58\x4b\x98\x62\x15\x97\x63\xb5\x94\xd9\xd1\x78\x36\x7d\x0b\xcd\x8d\x2c\xf5\x30\x9e\x01\x19\x62\x24\xa7\x17\x46\xb5\x2f\x1f\x3b\x4e\x4e\x34\xcd\xfc\x52\xce\x30\x9f\x3d\xc2\x5c\x20\xa2\xd7\x91\xd5\x11\x0d\x35\x4a\xdf\xc0\xef\xbf\xe7\x47\x6f\x12\x3b\x55\xf2\xe6\x0e\x4e\xf6\xd1\xdf\xd5\xf7\xc2\x90\xf5\xd1\x34\xf6\xd6\xe8\xf1\x38\xff\x95\x17\xca\x74\xec\xea\x53\xd0\xc8\xce\x3b\x11\xda\x6d\xe6\xe4\xe3\x57\xa1\xd1\xdf\x97\x6e\x31\xe0\xe5\xc1\xec\xb9\xf9\x4f\x00\x00\x00\xff\xff\x56\xe2\xf7\x32\xa8\x21\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -215,7 +215,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5a, 0x44, 0xbd, 0xe7, 0x84, 0x61, 0xb8, 0x76, 0x82, 0x71, 0xf7, 0x84, 0x93, 0x19, 0x78, 0x31, 0x5e, 0x9b, 0xc9, 0xdc, 0xca, 0x7e, 0xbe, 0x3a, 0xbb, 0x91, 0x18, 0xd9, 0x71, 0x14, 0xd6, 0x49}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0xd, 0x11, 0x26, 0x41, 0x10, 0x10, 0xf2, 0x23, 0x25, 0x43, 0x88, 0x58, 0xa7, 0xd4, 0x2e, 0xf3, 0xbb, 0x24, 0x6b, 0x4c, 0x1d, 0xe0, 0x38, 0xd8, 0xf4, 0xdc, 0xe0, 0x3d, 0xbe, 0x7d, 0x9}}
 	return a, nil
 }
 

From bd007890ebcd54b46f5514a20e772766ee1b74ff Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 16 Jan 2024 10:47:05 -0600
Subject: [PATCH 074/115] remove view from data view function, updating
 forwarding events

---
 contracts/ExampleToken.cdc                     |  2 +-
 contracts/FungibleToken.cdc                    |  2 +-
 contracts/utility/NonFungibleToken.cdc         |  5 ++++-
 contracts/utility/PrivateReceiverForwarder.cdc |  6 ++++--
 contracts/utility/TokenForwarding.cdc          |  6 ++++--
 lib/go/contracts/internal/assets/assets.go     | 12 ++++++------
 6 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 34e16c85..aa4ef78e 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -65,7 +65,7 @@ access(all) contract ExampleToken: ViewResolver {
 
         /// Returns the FTVaultData view for this Vault, which contains
         /// all relevant paths, types, and create vault function
-        access(all) view fun getFTVaultDataView(): AnyStruct {
+        access(all) fun getFTVaultDataView(): AnyStruct {
             return self.resolveView(Type<FungibleTokenMetadataViews.FTVaultData>())
         }
 
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index dba9846e..8ecbd0ab 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -149,7 +149,7 @@ access(all) contract FungibleToken {
 
         /// Returns the FTVaultData view for this Vault, which contains
         /// all relevant paths, types, and create vault function
-        access(all) view fun getFTVaultDataView(): AnyStruct
+        access(all) fun getFTVaultDataView(): AnyStruct
 
         /// withdraw subtracts `amount` from the Vault's balance
         /// and returns a new Vault with the subtracted balance
diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index 60a0de6f..cd10456b 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -158,7 +158,7 @@ access(all) contract NonFungibleToken {
 
         /// Return the NFT CollectionData View
         /// has to be AnyStruct and cast to the view later to avoid circular dependency issues
-        access(all) view fun getNFTCollectionDataView(): AnyStruct
+        access(all) fun getNFTCollectionDataView(): AnyStruct
 
         /// Normally we would require that the collection specify
         /// a specific dictionary to store the NFTs, but this isn't necessary any more
@@ -178,6 +178,9 @@ access(all) contract NonFungibleToken {
         /// Gets the amount of NFTs stored in the collection
         access(all) view fun getLength(): Int
 
+        /// Gets a list of all the IDs in the collection
+        access(all) view fun getIDs(): [UInt64] 
+
         /// Borrows a reference to an NFT stored in the collection
         /// If the NFT with the specified ID is not in the collection,
         /// the function should return `nil` and not panic
diff --git a/contracts/utility/PrivateReceiverForwarder.cdc b/contracts/utility/PrivateReceiverForwarder.cdc
index ee147dc9..d5e035fd 100644
--- a/contracts/utility/PrivateReceiverForwarder.cdc
+++ b/contracts/utility/PrivateReceiverForwarder.cdc
@@ -12,7 +12,7 @@ import FungibleToken from "FungibleToken"
 access(all) contract PrivateReceiverForwarder {
 
     // Event that is emitted when tokens are deposited to the target receiver
-    access(all) event PrivateDeposit(amount: UFix64, to: Address?)
+    access(all) event PrivateDeposit(amount: UFix64, depositedUUID: UInt64, from: Address?, to: Address?, toUUID: UInt64)
 
     access(all) let SenderStoragePath: StoragePath
 
@@ -36,9 +36,11 @@ access(all) contract PrivateReceiverForwarder {
 
             let balance = from.getBalance()
 
+            let uuid = from.uuid
+
             receiverRef.deposit(from: <-from)
 
-            emit PrivateDeposit(amount: balance, to: self.owner?.address)
+            emit PrivateDeposit(amount: balance, depositedUUID: uuid, from: self.owner?.address, to: receiverRef.owner?.address, toUUID: receiverRef.uuid)
         }
 
         init(recipient: Capability<&{FungibleToken.Receiver}>) {
diff --git a/contracts/utility/TokenForwarding.cdc b/contracts/utility/TokenForwarding.cdc
index 9675f28d..4b679c9b 100644
--- a/contracts/utility/TokenForwarding.cdc
+++ b/contracts/utility/TokenForwarding.cdc
@@ -19,7 +19,7 @@ import FungibleToken from "FungibleToken"
 access(all) contract TokenForwarding {
 
     // Event that is emitted when tokens are deposited to the target receiver
-    access(all) event ForwardedDeposit(amount: UFix64, from: Address?)
+    access(all) event ForwardedDeposit(amount: UFix64, depositedUUID: UInt64, from: Address?, to: Address?, toUUID: UInt64)
 
     access(all) resource interface ForwarderPublic {
 
@@ -53,9 +53,11 @@ access(all) contract TokenForwarding {
 
             let balance = from.getBalance()
 
+            let uuid = from.uuid
+
             receiverRef.deposit(from: <-from)
 
-            emit ForwardedDeposit(amount: balance, from: self.owner?.address)
+            emit ForwardedDeposit(amount: balance, depositedUUID: uuid, from: self.owner?.address, to: receiverRef.owner?.address, toUUID: receiverRef.uuid)
         }
 
         /// Helper function to check whether set `recipient` capability
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 906617a6..f4510db6 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -7,8 +7,8 @@
 // ../../../contracts/MultipleVaults.cdc (775B)
 // ../../../contracts/utility/MetadataViews.cdc (25.867kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (8.616kB)
-// ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.699kB)
-// ../../../contracts/utility/TokenForwarding.cdc (5.29kB)
+// ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.869kB)
+// ../../../contracts/utility/TokenForwarding.cdc (5.456kB)
 // ../../../contracts/utility/ViewResolver.cdc (1.913kB)
 
 package assets
@@ -219,7 +219,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityPrivatereceiverforwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\x4d\x8f\xdb\x36\x10\xbd\xeb\x57\x4c\x5c\x20\x95\x82\x8d\x7c\x29\x7a\x30\xd6\xd9\xa4\xdb\xee\xb1\x58\x24\x69\xaf\xc5\x98\x1a\x5b\x6c\x68\x52\x20\x47\x56\x8d\x85\xff\x7b\x41\x8a\xfa\xb6\x83\xac\x2f\x2b\x51\x9c\x8f\x37\xf3\xde\xcc\xae\xdf\x25\xc9\x4f\xf0\x54\xeb\x83\xdc\x29\x82\xaf\xe6\x1b\x69\x78\xb6\xf2\x84\x4c\xf0\x99\x04\xc9\x13\x59\x78\x34\x9a\x2d\x0a\x4e\x92\xaf\xa5\x74\x20\xe2\x2b\xc8\x63\xa5\xe8\x48\x9a\x1d\x20\xb8\x8a\x84\x44\x05\x96\x9c\xa9\xad\x20\x40\x5d\x80\xed\x5c\x48\xcd\x64\xf7\x28\x08\x92\xa6\x34\x8e\xa0\xa0\xca\x38\xc9\xb0\xaf\xb5\x60\x69\x34\x48\x07\x46\xab\x33\x08\x54\x0a\x7d\x32\xbb\x33\xa0\x06\x2c\x8e\x52\x03\x97\xd6\xd4\x87\x12\x10\xaa\x7a\xa7\xa4\x00\x81\x15\xee\xa4\x92\x7c\xce\x93\xe4\xdd\x3a\x49\xe4\xb1\x32\x96\x7b\x28\x2d\x92\xbd\x35\x47\x58\x4d\xce\x56\x49\x82\x42\x90\x73\x29\x2a\x95\x0d\x58\x22\xe8\x0e\xf3\x93\xb1\x0d\xda\x82\x2c\xbc\x24\x09\x00\xc0\x7a\x0d\x7f\x9c\x48\x33\x70\x89\xec\x93\xa5\xa3\x64\xa6\x02\x9a\x92\x34\xb0\x77\xed\x00\x6d\x0f\x8c\x0a\x60\x03\x5c\x12\x30\xda\x03\x71\x5f\x8a\xe0\x6d\x9c\x02\x05\xb7\x31\xfe\xef\xad\x75\x8a\x47\x53\x6b\xde\xc0\x5f\x4f\xf2\xbf\x5f\x7f\xb9\x03\x36\x1b\xf8\x54\x14\x96\x9c\x7b\xc8\x92\x85\x0f\x45\x0c\x5f\x48\x17\x64\xbf\xb0\xb1\x78\xa0\x67\xe4\x72\x03\xa3\x97\xeb\x36\x33\xd4\x37\x8d\x7f\xc0\xf6\x39\x34\xa6\x35\x1d\x9e\x97\x61\x7b\x7e\x2c\x4a\x1c\xcb\x1c\x38\x26\x9d\x2f\xac\xa5\x50\xc1\x71\x49\x43\x9d\x1b\xa9\x14\xec\x08\x1c\x69\xce\xa7\xb6\x04\x7c\xae\x08\xa4\x2e\xa4\x40\x26\x17\xfb\x15\x5a\x86\x60\x69\x4f\x96\xb4\x20\xdf\x1c\x9c\xf6\xa4\x75\xd1\x3f\xc6\x9c\x1d\xa9\x7d\x06\x27\xb4\xfe\xb2\xac\x24\xf9\xae\x3c\xf6\xec\xbb\x7f\xfb\x32\xa1\x57\xde\x95\xe3\xf2\x61\x02\x2a\x42\xb8\x16\x68\xbd\xf6\xac\x6d\x45\x10\x92\x65\xfc\x46\x3e\xd9\xbf\xb1\x56\x0c\x66\xf7\x2f\x09\x06\x74\x41\x0d\xf6\x50\x7b\xc1\x05\x71\xed\xdb\x02\xba\xb1\x27\xc9\x1d\xed\xfa\x74\x7f\x76\xd1\x53\xed\xa4\x3e\x84\x6f\x8e\x8d\xa5\x62\xa8\xc6\x77\xf0\x77\x02\xc9\xbc\x52\x3b\x18\xa9\x17\xd6\x06\x3e\xce\xb0\x87\x30\x97\x0c\x5e\x7a\x27\xfe\xa7\x46\xe4\xff\x4c\x7b\xd8\x82\xaf\x69\xde\xe7\x97\xef\x8c\xb5\xa6\x49\xb3\x37\xc9\xc2\x6e\x87\x0a\x7d\xb7\xb6\x41\xca\xf9\x81\xf8\xb7\xf6\x24\xcd\xa6\x97\x47\x01\xf2\x69\x92\xf7\xef\xfd\xdf\xd9\x75\x2f\xde\x5b\x92\x8b\x31\x5b\xcd\x85\x54\x4d\xa3\xc9\x3e\xe4\xd8\xea\x2f\xeb\x3d\x5d\x06\xa7\x52\x4b\x4e\x5f\xcb\x90\x79\xa5\x2a\x4b\xb3\x93\x08\x6d\x56\x28\x78\xb3\x05\x2d\xd5\x06\x56\x8f\xa6\x56\x05\x68\xc3\xd0\x7e\x1b\x66\xf6\xc0\xf4\x30\x04\x7d\xd7\x87\x9c\x56\x93\x20\x97\xc9\xdb\xb4\x39\xb0\x1d\xe2\x27\x53\x83\x4b\x3f\x18\x85\x25\x64\xfa\x93\x9a\x41\xd2\xed\x91\x67\xb1\xa6\x66\x24\xf5\x21\xad\x46\x72\x19\xd2\xaa\xac\x39\xc9\x22\xd0\x71\x1c\x28\x52\x71\x3c\x3a\x3c\x03\x97\xb1\x5e\x5f\xf6\x0d\x7c\x1c\x0f\x9f\xa1\xd0\x5c\x5b\x0d\xf7\xef\xdb\x18\x70\x35\x42\xff\x98\x75\x45\xb8\x3d\xe1\xda\x89\x3c\x8a\x30\x07\xe3\x48\x17\x91\x85\x21\x49\x97\xfe\x03\x91\x65\xfd\xb8\xbf\x8b\x43\xef\x7b\x72\x5b\xe8\x06\x85\xf0\x64\x86\x2d\x1c\x88\x3f\xb5\x2f\x69\xcf\xdf\xc5\xf5\x6a\x3a\xca\x61\xdb\x39\xc8\xfb\x3d\x2b\xc9\x45\xfe\xdd\xbf\xbd\xb5\x2b\xf3\xfe\xe9\x43\xba\xa0\xb1\xff\xdd\x34\xbc\xb9\x4b\x16\x6e\x32\x78\x78\x80\x0a\xb5\x14\xe9\x92\xfd\x93\xf1\x1e\x41\x75\x63\x92\xec\x6a\x86\x7c\x86\x7a\x31\x37\xda\xba\x67\x13\x9b\xeb\x1a\x08\xea\x77\xa1\xdb\x8b\xdd\x79\x17\xa6\xed\xb5\xad\x7a\x17\xff\x99\x99\xef\xcc\x49\x47\x83\x1c\x17\xab\x3d\x0c\xd1\x2e\xdc\xec\xf2\xed\x9d\xee\xad\x66\x4b\xfd\x96\xd5\x90\x0d\x6c\x47\x69\xce\x42\x75\x2c\x89\x5e\x73\x87\x27\x4a\x7b\xfd\xb4\x59\xa7\xd9\x68\x92\x2e\x80\xc4\x96\x5c\x92\xcb\xff\x01\x00\x00\xff\xff\x7b\xc1\xfe\x66\x8b\x0a\x00\x00"
+var _utilityPrivatereceiverforwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\x4b\x8f\x1b\x37\x0c\xbe\xcf\xaf\x60\xb6\x40\x3a\x13\x38\xe3\x4b\xd1\x83\xb1\xce\x26\xdd\x74\x81\x5c\x8a\x45\x92\xed\xb5\xa0\x35\xb4\xad\x46\x96\x06\x12\xc7\xee\x62\xe1\xff\x5e\xe8\x31\x6f\x3b\x48\x7c\xb1\xa4\x11\xc9\x8f\x8f\x8f\xd4\xf2\x4d\x96\xfd\x02\x0f\x8d\xde\xc9\x8d\x22\xf8\x6a\xbe\x91\x86\x47\x2b\x8f\xc8\x04\x9f\x49\x90\x3c\x92\x85\x7b\xa3\xd9\xa2\xe0\x2c\xfb\xba\x97\x0e\x44\xda\x82\x3c\xd4\x8a\x0e\xa4\xd9\x01\x82\xab\x49\x48\x54\x60\xc9\x99\xc6\x0a\x02\xd4\x15\xd8\x56\x85\xd4\x4c\x76\x8b\x82\x20\x3b\xed\x8d\x23\xa8\xa8\x36\x4e\x32\x6c\x1b\x2d\x58\x1a\x0d\xd2\x81\xd1\xea\x19\x04\x2a\x85\x1e\xcc\xe6\x19\x50\x03\x56\x07\xa9\x81\xf7\xd6\x34\xbb\x3d\x20\xd4\xcd\x46\x49\x01\x02\x6b\xdc\x48\x25\xf9\xb9\xcc\xb2\x37\xcb\x2c\x93\x87\xda\x58\xee\x5c\x89\x9e\x6c\xad\x39\xc0\xcd\xe8\xec\x26\xcb\x50\x08\x72\x2e\x47\xa5\x8a\xde\x97\xe4\x74\xeb\xf3\x83\xb1\x27\xb4\x15\x59\x78\xc9\x32\x00\x80\xe5\x12\xfe\x3c\x92\x66\xe0\x3d\xb2\x07\x4b\x07\xc9\x4c\x15\x9c\xf6\xa4\x81\xbd\x6a\x07\x68\x3b\xc7\xa8\x02\x36\xc0\x7b\x02\x46\xbb\x23\xee\x42\x11\xb4\x0d\x21\x50\x50\x9b\xec\x7f\x8c\xd2\x39\x1e\x4c\xa3\x79\x05\x4f\x0f\xf2\xbf\xdf\x7f\x5b\xf4\x5a\x9f\x9e\x3e\x7d\x5c\xc1\xd3\x27\xcd\xfe\xd8\x3b\xb8\x82\x0f\x55\x65\xc9\xb9\xbb\x05\xb0\x19\xef\x86\xb7\x8b\x6c\x66\x5a\x11\xc3\x17\xd2\x15\xd9\x2f\x6c\x2c\xee\xe8\x11\x79\xbf\x82\xc1\xe6\xb2\xcc\x24\x58\x57\x85\x7f\x40\xf6\x31\xe4\x33\x8a\xf6\xeb\xb9\xd9\xae\xac\x66\x99\x49\xd9\x09\xa5\x29\x9d\xcf\x87\xa5\x10\xf8\x61\x26\x42\x7a\x4e\x52\x29\xd8\x10\x38\xd2\x5c\x8e\x65\x09\xf8\xb9\x26\x90\xba\x92\x02\x99\x5c\x4a\x73\xc8\x34\x82\xa5\x2d\x59\xd2\x82\x7c\x4e\x71\x9c\xca\xa8\xa2\x5b\x26\xcc\x8e\xd4\xb6\x80\x23\x5a\x7f\x59\xd6\x92\x7c\x32\xef\xbb\xa2\xbd\x7d\xfd\x32\xaa\xca\xb2\x0d\xc7\xf9\xdd\xc8\xa9\xe4\xc2\x25\x43\xcb\xa5\x2f\xf6\xc8\x9d\x00\x96\xf1\x1b\x79\xb0\x7f\x63\xa3\x18\xcc\xe6\x5f\x12\x0c\xe8\x02\x89\xec\xae\xf1\x3c\x0d\x9c\xdc\xc6\x00\xba\xa1\x26\xc9\x6d\xb5\x76\x70\x7f\x75\x49\x53\xe3\xa4\xde\x85\x6f\x8e\x8d\xa5\xaa\x8f\xc6\x77\xfc\x6f\x79\x55\x78\x82\xb7\x6e\xe4\xb1\x5c\xdf\x4f\x7c\x0f\x66\xce\x05\xbc\x74\x4a\xfc\x4f\x0d\x38\xf3\x99\xb6\xb0\x06\x1f\xd3\xb2\xc3\x57\x6e\x8c\xb5\xe6\x94\x17\xaf\xb2\x99\xdc\x06\x15\xfa\x6c\xad\x03\x41\xca\x1d\xf1\x1f\xf1\x24\x2f\xe6\x97\x9b\x46\x56\xed\x4d\xbf\x1e\xdf\x18\x40\x28\xc7\x6e\xdc\xbe\xf5\xff\x13\x85\xbe\x2b\x5c\xe3\x72\x42\x35\x23\xb3\x37\xda\x52\x39\xf8\x68\x4e\x9a\xec\x5d\x89\x91\xc8\x91\xd5\x43\x1c\xf3\xef\x51\xd1\xf0\x8e\x57\x5a\x74\xd0\xce\x3d\x4a\xa9\x25\xe7\x3f\x5b\x94\xd3\xe4\xd4\x96\x26\x27\x29\x56\x93\xdc\xc0\xab\x35\x68\xa9\x56\x70\x73\x6f\x1a\x55\x81\x36\x0c\xf1\x5b\x3f\x5d\x7a\x72\x85\x76\xed\x0b\xad\xc7\x74\x33\x32\x72\x1e\xed\xc6\xf5\x00\xeb\xde\x7e\x36\x16\x38\x77\x2d\x5c\x58\x42\xa6\xbf\xe8\xd4\x77\x91\x78\xe4\x89\xa3\xe9\x34\xe8\x2e\x3d\xac\x93\xe4\x7d\x80\x55\x5b\x73\x94\x55\x60\xc0\xd0\x50\xaa\xfe\x61\xb7\xf2\x45\x3f\xb7\xf5\xf3\x61\x5f\xc1\xfb\x61\xbf\xeb\x03\xcd\x8d\xd5\x70\xfb\x36\xda\x80\x8b\x16\xba\x65\xd1\x06\xe1\x7a\x53\x8d\x43\x60\x60\x61\xea\x8c\x23\x5d\xa5\xb2\x0e\x20\x5d\xfe\x0f\xa4\xfa\xeb\x26\xce\x22\xf5\xd9\xef\x31\x7c\xc6\x3e\x14\xc2\xb3\x03\xd6\xb0\x23\xfe\x10\x37\x79\xd2\x7c\x81\xac\xf5\x78\x7a\xc0\xba\x55\x50\x76\x2f\x02\x49\x2e\xd5\xdf\xed\xeb\x6b\x53\xbd\xec\x56\xef\xf2\x59\x19\xfb\xdf\x55\xc1\xab\xe3\x6b\xa6\xa6\x80\xbb\x3b\xa8\x51\x4b\x91\xcf\xab\x7f\x34\x51\x92\x53\x6d\x67\x26\x7b\x33\xf1\x7c\xe2\xf5\xac\x11\xc5\xb8\x17\x23\x99\xcb\x1c\x08\xec\x77\x21\xdb\xb3\x71\xbd\x08\x0d\xfe\xd2\x20\x5f\xa4\x67\xd7\x74\x4c\x8f\x32\x1a\xe8\x38\x7b\x4d\x84\xbe\xdd\x9a\x9b\x5c\xbe\xfe\x8c\xf0\x52\x93\x77\xc4\x35\xa9\x1e\x0d\xac\x07\x30\x27\xa6\xda\x2a\x49\x5a\x4b\x87\x47\xca\x3b\xfe\x44\xd4\x79\x11\x5b\xed\x65\x47\x52\x4a\xce\xd9\xf9\xff\x00\x00\x00\xff\xff\x51\x2d\x0e\x15\x35\x0b\x00\x00"
 
 func utilityPrivatereceiverforwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -235,11 +235,11 @@ func utilityPrivatereceiverforwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/PrivateReceiverForwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x73, 0x35, 0x8b, 0x6c, 0x6a, 0x29, 0xdd, 0x19, 0x53, 0xf, 0x72, 0x97, 0x55, 0x52, 0x96, 0x5c, 0xb, 0x6c, 0x14, 0xc, 0xb8, 0xe, 0x2d, 0xb9, 0xc0, 0x35, 0x94, 0xab, 0x67, 0xd5, 0xd9}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7b, 0x99, 0x43, 0xb1, 0xbf, 0x57, 0xe, 0xa9, 0x81, 0xfc, 0x6c, 0x48, 0x73, 0x27, 0x16, 0xf4, 0xeb, 0xe, 0xe6, 0xa3, 0x1e, 0xa4, 0xc2, 0xf9, 0x74, 0xc1, 0x85, 0x59, 0xe, 0xb2, 0xd9, 0x78}}
 	return a, nil
 }
 
-var _utilityTokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x4d\x6f\x1b\x37\x13\xbe\xef\xaf\x98\xf8\x05\x5e\x4b\x81\x23\x5d\x8a\x1e\x8c\xb8\xf9\x6a\xdd\x9e\x8a\xc2\x75\xdb\x43\x11\x34\x14\x77\x56\xcb\x88\x22\x17\xe4\xac\x36\x82\xa1\xff\x5e\x0c\xc9\xfd\x94\xe4\x3a\x05\x5a\xa0\x40\x7c\x89\x76\x43\xce\x3c\x33\xf3\xcc\x33\xe4\x2e\x9f\x3f\xcf\xb2\xff\xc1\x6d\x6d\xd6\x6a\xa5\x11\xee\xed\x06\x0d\xdc\x5a\xd7\x08\x97\x2b\xb3\x86\x77\xd6\x90\x13\x92\xb2\xec\xbe\x54\x1e\x64\x7a\x04\x5f\xda\xc6\x43\x69\x1b\x10\x06\x84\x94\xb6\x36\x04\xd2\xd6\x3a\x07\x8f\x04\x75\x05\x02\x64\xed\xc9\x6e\x3b\xe3\xd1\xf6\x1d\x4a\x54\x3b\x74\x19\x59\x10\x5a\xdb\x06\xa8\xc4\x2d\x90\x85\x22\x7a\x05\xe2\x75\x9e\xdf\x08\xc8\x55\x51\xa0\x43\x43\x9d\x8f\xa6\x44\x83\x3b\x74\xbc\x6d\x0f\x2e\x5a\x4b\x7b\x16\x8c\x12\xf7\x20\x85\x81\xaa\x5e\x69\xe5\x4b\x20\x86\x9d\x02\x42\x07\x0e\xbd\xad\x9d\x44\x10\x1e\x44\x07\x06\xa4\xa8\xc4\x4a\x69\x45\x7b\xf8\x58\x7b\x02\xad\x36\x08\x02\x7e\x15\xb5\xa6\xab\x4c\x98\x9c\xdd\x81\x47\xc3\x36\x72\x8b\xde\x5c\x12\xe0\x0e\x0d\x18\x44\x86\x0c\x1b\x63\x1b\x50\x04\xca\xf7\xa0\x17\x59\xf6\x5b\x89\x66\x98\xa2\x46\x18\x0a\xb1\x49\x87\x82\xd8\x47\x87\xed\x2a\x86\x24\x85\xd6\xc1\x5b\x5c\xf1\x23\x36\xdd\x8a\xac\xa8\x8d\x24\x65\xd9\x62\x0e\x95\xb3\x3b\x95\x23\x3b\x6d\x14\x95\x61\x4f\x17\x90\xc3\x00\x41\x22\x50\x29\x28\x5a\x66\xdf\x83\x44\x67\x54\xa2\x72\x7d\xba\x17\x59\xf6\x7c\x99\x65\x6a\x5b\x59\x47\x93\xaa\x15\xce\x6e\xe1\x62\xf4\xee\x22\xcb\x84\x94\xe8\xfd\x4c\x68\x3d\xef\x99\x11\xfe\x73\xc0\xa0\x87\x2c\x03\x00\x58\x2e\xe1\xbb\x1d\x17\x32\xe0\x51\x1e\x70\xab\x88\x30\x0f\x05\x6d\x41\x08\x87\x90\x63\x65\xbd\xa2\x98\x55\x8e\x89\x84\x5b\x23\xb5\xa5\x76\xc1\xda\xd0\x33\x06\xb3\x6d\x92\xf2\x6f\xe3\xfe\x99\xd8\x72\xc2\xaf\xe1\x97\x5b\xf5\xe9\xeb\xaf\xae\x42\x08\xd7\xf0\x26\xcf\x1d\x7a\xff\x6a\x9e\x1d\xd9\xe9\xa8\xa1\x0c\xa1\x2b\x84\xc4\xbe\x36\x3f\x31\x9b\x64\x1b\x4b\x8c\x67\x09\x3f\xa0\xae\xd0\x41\x57\x15\x2e\x6b\x89\x72\xc3\x31\x51\x89\x2e\xb4\xc2\x07\x87\x52\x55\x0a\x0d\x7d\x18\xd0\x6c\x64\x47\x79\x30\x96\x40\x0b\xe2\x48\xac\x8b\xe5\xef\x29\x49\x2a\x66\x43\x00\xed\x2b\xe4\xe5\x3b\xa1\x55\xbe\xe8\x8c\x0c\xc3\x28\x6a\x13\x51\xcc\xe6\xd7\xf0\xd6\x5a\x3d\xc6\xfc\x3d\x32\xff\x4a\xec\xf2\x09\xc2\x7b\xb5\x36\xad\x87\x0e\xed\x00\xc0\x62\x64\x21\x08\x01\x43\x46\x76\x2a\xdc\x1e\x56\x28\x45\xed\x31\xd0\xd0\xd6\x04\x8a\xae\x52\x2b\x70\x58\x95\xf5\x3e\x88\x0b\x59\xd0\xd6\x6e\xa0\x0e\x5d\xc4\x18\x4a\x6b\xf3\xc0\x65\x8f\x08\xaa\x60\xcd\x38\x9b\x21\x5b\x70\x1f\xe1\xa7\x0a\x65\x20\x07\x67\xc2\x3a\xf6\xb0\x88\x90\x4a\xd4\x95\x87\x75\xcd\x1a\x22\xd6\x42\x19\x4f\xa0\x4c\xa1\x8c\x22\xd4\x7b\x90\xa5\x50\x1c\xe5\x94\x9f\xd6\x81\x0d\xc5\x52\x26\x64\x15\x46\x8e\xb7\x42\x2b\xa9\x6c\xed\x61\xa3\x4c\x1e\x50\xd4\x55\x2e\x08\x7d\x24\x72\x94\xbc\xca\x45\x12\x6a\xe5\x49\x99\xb5\x8f\xfd\xb2\x42\xb6\xbf\x15\x79\x6a\x42\x66\x77\x74\x61\x0d\x78\xb2\x0e\x0b\x67\x0d\xf9\x51\x7a\x47\xde\x5f\x3b\xa4\xda\x05\x01\xb1\x15\x53\x4c\xe8\xbe\x6e\x03\x82\x14\xd6\x71\x03\xfa\x7a\x8b\x2e\x60\xe4\xe4\x4e\x03\x6d\xd9\xb9\x0c\x18\x58\x7c\x98\xb2\x41\x03\x6c\x63\xce\x72\xc9\x8b\x02\xdf\x5a\xe7\x6c\xc3\x84\xfa\xff\xc3\x48\x04\x16\xad\xe0\x1c\x5e\x05\x03\x87\x47\xda\xaa\x6b\xa6\x6b\x38\x6d\xe3\xea\xf1\x7e\xeb\x88\xd7\x94\xe8\x30\x84\x38\xd4\x8a\x20\x20\x8d\xd2\x1a\x56\x41\xa9\x69\x31\xde\x8b\xa9\x79\x4c\xae\x64\x5f\xbf\x48\x53\x31\xd4\xcb\xd4\x05\xbd\xd8\x44\x13\xd3\x04\x79\xd4\xc5\x1c\x76\xc2\xf5\x2d\x73\x0d\xef\x7a\xfa\x0e\xbd\x27\x9c\xa7\xac\x2d\x97\x9c\x8d\xa4\x1f\x41\xaa\xc5\x06\x7d\x3b\x7b\xc0\xae\x3e\xa2\xa4\x30\xad\x0c\x08\xb7\xae\xb7\x61\x18\x9a\xbc\x55\x71\x3f\xb4\xa4\xa8\x15\xcd\x0e\xd3\xa5\x4f\x96\x6a\x1f\x48\xc0\x63\x8c\xa9\x97\xf7\x21\x3f\x12\x64\xc7\x82\x14\xc1\x2c\xaa\xe8\xeb\x09\x0b\x82\x87\xc3\x1c\x1e\xba\xfd\xfc\xa7\x07\xaa\x7d\x87\x05\xdc\x00\xe7\x6c\xd1\x41\x5b\xac\x02\xad\x5e\x9e\xe5\xd4\x37\xb3\xf9\xb3\xec\xc8\xe4\x4a\x68\xc1\x85\xba\x09\x5d\xb6\x58\x23\xbd\x8d\x6f\x66\xf3\xf1\xe2\x81\xef\xc5\x18\xff\xcb\x17\xfc\xef\x64\x39\x0f\xa4\xf3\x63\x24\x79\x6d\xe7\x48\x88\xc4\x36\x06\xdd\xab\x85\x88\x33\x65\xde\x59\x3b\xfc\x17\xc7\xc4\xa4\x78\x49\x79\x26\x15\x0b\x3b\x1e\x2d\xd8\xb9\x24\x7c\x99\x3b\x5f\xe6\xce\x3f\x32\x77\x9e\xc4\xdb\x27\x28\xcd\x69\xe2\x72\xf9\xcc\x1a\xef\x7a\x76\x86\x67\x3f\x16\xd9\x36\xf4\xa2\xbb\x67\x24\x19\x4e\x67\xf4\xbc\x5f\xfa\x14\xb1\x9d\xf8\x9c\xfd\x01\x06\x9b\xbb\x53\x53\x66\x2a\xb9\x95\xc3\xc9\x1b\xfe\x1b\xee\x7e\x4a\x2a\xe0\xd9\x0d\x18\xa5\xaf\xe1\xe2\x5d\xa0\x19\x77\x53\xdc\x76\xea\x82\x11\x38\xc7\xc1\xf6\xb0\x2e\x46\x10\x0e\xa3\xa7\x71\x65\xe0\x66\x84\xee\x9c\x7a\xbc\x81\x35\x12\x8d\x44\x94\x99\x1d\x8b\x1d\x8b\x11\x4e\x00\xa1\x3d\x3d\xf8\xba\xe2\x4b\x0c\xe6\xb0\xda\xc7\x1b\x60\x7b\x0a\xb9\x1a\x99\x6d\x4a\x25\xcb\x70\x5d\x5c\x0d\x0f\x13\xfd\xa8\xbc\x4c\x2f\x2f\x3b\xc7\x7f\xdd\x34\x6f\x9c\x13\x7b\x66\xc4\xed\x7d\x82\x13\x3b\x76\xe2\xe5\xb4\x2c\xef\x14\x36\x81\x03\x6b\xa4\x9f\xdb\x28\xc2\x78\xbd\x67\x53\xdc\x0a\x0f\xfc\x2b\x6a\xf6\x61\x52\x6c\x55\xc0\xb3\xcf\x56\xec\x13\x84\x49\x91\x3c\x1c\x1e\xa9\x23\x8f\xe2\x1d\x03\xfb\xfb\xa3\x7d\x6a\xce\x8f\x02\xf6\x93\x50\x6f\xa6\x78\x26\xcb\x7f\x6f\xd1\xf0\x91\x80\x37\xce\xe6\xef\xe1\x06\xc8\xd5\x78\x52\x21\xc6\xbb\xcf\x31\xef\x2e\x51\xac\x9d\xd5\x51\xfa\x03\x39\xd6\x6a\x97\x18\x17\xce\x90\x52\x62\xd5\x51\xae\xbf\x8a\x4f\x78\x1c\x40\xf6\x8c\x88\xbb\x40\x98\x7d\x34\xe4\xcb\xd0\x71\xe1\x23\x44\x02\xca\x01\xb0\xd1\x1c\x0b\xde\xfb\x38\x6d\x94\x3f\x66\xcd\x8c\x42\x16\xf9\xe7\xe9\x59\x7f\x22\xf7\x6d\x45\xcf\xd1\x70\x4a\xbb\x91\x09\xde\x3c\xa9\x0d\x43\x78\x7f\x9e\x69\xdd\xf2\x31\xe1\x00\xb5\x47\x78\x68\x57\x15\x82\x1f\x0f\xa7\x4a\xc5\xd3\x76\x76\xf2\x20\xfe\x34\x89\xfc\x2c\xe6\xfe\xbb\xfa\x78\x3c\x3a\x0e\xc3\xbb\x16\xcf\xa8\xa3\x2f\x45\xe9\x15\xdf\x23\x0c\x36\xa3\xef\x5f\x2d\xac\xee\x9b\xd1\x99\x19\x95\xd4\xed\x68\x36\x1d\xf9\x3a\x93\xf6\x6b\x78\xdd\xbb\xed\x13\x9e\x4a\xf9\xf2\x45\xfa\x00\x76\xd2\x4c\xf7\x73\x9e\x22\x3d\x64\x7f\x06\x00\x00\xff\xff\x04\xe4\x1e\xc0\xaa\x14\x00\x00"
+var _utilityTokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x4d\x6f\xdb\x46\x13\xbe\xf3\x57\x4c\xfc\x02\xaf\xa5\x40\x91\x2e\x45\x0f\x42\xdc\x7c\x38\x75\x9b\x4b\x51\xb8\x76\x7b\x28\x82\x66\xb5\x1c\x8a\x1b\xad\x76\x89\xdd\xa1\x18\xc1\xd0\x7f\x2f\x66\x97\xdf\x92\x5c\xa7\x40\x0b\x14\x88\x2f\x26\xa9\xdd\x99\x67\x66\x9e\x79\x86\xcb\xc5\xf3\xe7\x49\xf2\x3f\xb8\x29\xcd\x5a\xad\x34\xc2\x9d\xdd\xa0\x81\x1b\xeb\x2a\xe1\x52\x65\xd6\x70\x6d\x0d\x39\x21\x29\x49\xee\x72\xe5\x41\xd6\xb7\xe0\x73\x5b\x79\xc8\x6d\x05\xc2\x80\x90\xd2\x96\x86\x40\xda\x52\xa7\xe0\x91\xa0\x2c\x40\x80\x2c\x3d\xd9\x6d\x6b\x3c\xda\xbe\x45\x89\x6a\x87\x2e\x21\x0b\x42\x6b\x5b\x01\xe5\xb8\x05\xb2\x90\x45\xaf\x40\xbc\xce\xf3\x13\x01\xa9\xca\x32\x74\x68\xa8\xf5\x51\xe5\x68\x70\x87\x8e\xb7\xed\xc1\x45\x6b\xf5\x9e\x39\xa3\xc4\x3d\x48\x61\xa0\x28\x57\x5a\xf9\x1c\x88\x61\xd7\x01\xa1\x03\x87\xde\x96\x4e\x22\x08\x0f\xa2\x05\x03\x52\x14\x62\xa5\xb4\xa2\x3d\x7c\x2a\x3d\x81\x56\x1b\x04\x01\xbf\x8a\x52\xd3\x2c\x11\x26\x65\x77\xe0\xd1\xb0\x8d\xd4\xa2\x37\x97\x04\xb8\x43\x03\x06\x91\x21\xc3\xc6\xd8\x0a\x14\x81\xf2\x1d\xe8\x79\x92\xfc\x96\xa3\xe9\xa7\xa8\x12\x86\x42\x6c\xd2\xa1\x20\xf6\xd1\x62\x9b\xc5\x90\xa4\xd0\x3a\x78\x8b\x2b\x7e\xc2\xaa\x5d\x91\x64\xa5\x91\xa4\x2c\x5b\x4c\xa1\x70\x76\xa7\x52\x64\xa7\x95\xa2\x3c\xec\x69\x03\x72\x18\x20\x48\x04\xca\x05\x45\xcb\xec\xbb\x97\xe8\x84\x72\x54\xae\x4b\xf7\x3c\x49\x9e\x2f\x92\x44\x6d\x0b\xeb\x68\x54\xb5\xcc\xd9\x2d\x5c\x0c\x9e\x5d\x24\x89\x90\x12\xbd\x9f\x08\xad\xa7\x1d\x33\xc2\x8f\x3d\x06\x3d\x24\x09\x00\xc0\x62\x01\xdf\xef\xb8\x90\x01\x8f\xf2\x80\x5b\x45\x84\x69\x28\x68\x03\x42\x38\x84\x14\x0b\xeb\x15\xc5\xac\x72\x4c\x24\xdc\x1a\xa9\x29\xb5\x0b\xd6\xfa\x9e\x31\x98\x6d\x92\x94\xbe\x8b\xfb\x27\x62\xcb\x09\x5f\xc2\xfd\x8d\xfa\xfc\xed\x37\xb3\xce\xee\xfd\xfd\xfb\x77\x4b\xb8\x7f\x6f\x88\x1f\x73\x64\x4b\x78\x93\xa6\x0e\xbd\x7f\x35\x03\xb2\xc3\xbb\xfe\xea\x69\x72\xe4\xbc\xe5\x93\x32\x84\x2e\x13\x12\xbb\x82\xfe\xcc\x14\x94\x4d\x02\x62\x12\x16\xf0\x23\xea\x02\x1d\xb4\xa5\x64\x2e\xe4\x28\x37\x9c\x08\xca\xd1\x85\xfe\xf9\xe8\x50\xaa\x42\xa1\xa1\x8f\x3d\x6e\x0e\xec\x28\x0f\xc6\x12\x68\x41\x1c\xbe\x75\x91\x33\x1d\x8f\x49\xc5\x14\x0a\xa0\x7d\x81\xbc\x7c\x27\xb4\x4a\xe7\xad\x91\x7e\x18\x59\x69\x22\x8a\xc9\x74\x09\x6f\xad\xd5\x43\xcc\x3f\x20\x93\x36\xc7\xb6\x08\x20\xbc\x57\x6b\xd3\x78\x68\xd1\xf6\x00\xcc\x07\x16\x82\x7a\x30\x64\x64\xa7\xc2\xed\x61\x85\x52\x94\x1e\x03\x77\x6d\x49\xa0\x68\x56\xf7\x0f\x87\x55\x58\xef\x83\x22\x91\x05\x6d\xed\x06\xca\xd0\x7a\x8c\x21\xb7\x36\x0d\x0d\xe0\x11\x41\x65\x2c\x34\x67\x33\x64\x33\x6e\x3e\xfc\x5c\xa0\x0c\x8c\xe2\x4c\x58\xc7\x1e\xe6\x11\x52\x8e\xba\xf0\xb0\x2e\x59\x78\xc4\x5a\x28\xe3\x09\x94\xc9\x94\x51\x84\x7a\x0f\x32\x17\x8a\xa3\x1c\x93\xda\x3a\xb0\xa1\x58\xca\x84\xac\xc2\xc0\xf1\x56\x68\x25\x95\x2d\x3d\x6c\x94\x49\x03\x8a\xb2\x48\x05\xa1\x8f\xec\x8f\x3a\x59\xb8\xc8\x5c\xad\x3c\x29\xb3\xf6\xb1\xc9\x56\xc8\xf6\xb7\x22\xad\x3b\x97\x5b\x22\xba\xb0\x06\x3c\x59\x87\x99\xb3\x86\xfc\x20\xbd\x03\xef\xaf\x1d\x52\xe9\x82\xea\xd8\x82\x29\x26\x74\x57\xb7\x1e\x41\x32\xeb\xb8\x6b\x7d\xb9\x45\x17\x30\x72\x72\xc7\x81\x36\xec\x5c\x04\x0c\xac\x58\x4c\xd9\x20\x1c\xb6\x32\x67\xb9\xe4\x45\x86\x6f\xad\x73\xb6\x62\x42\xfd\xff\x61\xa0\x1c\xf3\x46\xa5\x0e\xaf\x82\x81\xc3\x23\x6d\xd5\x36\xd3\x12\x4e\xdb\x98\x3d\xde\x6f\x2d\xf1\xaa\x1c\x1d\x86\x10\xfb\x02\x13\x54\xa7\x52\x5a\xc3\x2a\xc8\x3b\xcd\x87\x7b\xb1\x6e\x1e\x93\x2a\xd9\xd5\x2f\xd2\x54\xf4\x45\xb6\xee\x82\x4e\xa1\xa2\x89\x71\x82\x3c\xea\x6c\x0a\x3b\xe1\xba\x96\x59\xc2\x75\x47\xdf\xbe\xf7\x1a\xe7\x29\x6b\x8b\x05\x67\xa3\xd6\x8f\xa0\xef\x62\x83\xbe\x19\x58\x60\x57\x9f\x50\x52\x18\x71\x06\x84\x5b\x97\xdb\x30\x41\x4d\xda\x48\xbf\xef\x5b\x52\xd4\x28\x6d\x8b\xe9\xd2\xd7\x96\x4a\x1f\x48\xc0\xb3\x8f\xa9\x97\x76\x21\x3f\x12\x64\xcb\x82\x3a\x82\x49\xd4\xd8\xd7\x23\x16\x04\x0f\x87\x29\x3c\xb4\xfb\xf9\x4f\xf7\xa4\xfe\x16\x33\xb8\x02\xce\xd9\xbc\x85\x36\x5f\x05\x5a\xbd\x3c\xcb\xa9\xef\x26\xd3\x67\xc9\x91\xc9\x95\xd0\x82\x0b\x75\x15\xba\x6c\xbe\x46\x7a\x1b\x9f\x4c\xa6\xc7\x8b\xcb\x52\xa5\xcd\x4a\xbe\x1e\xae\xe8\xa1\x9b\x0f\x23\x7c\xf9\x82\xff\x8f\x0c\xf2\x9c\x3b\x3f\x9d\x6a\x5c\x47\xe3\x89\xdd\x36\xc3\x29\x24\xc0\x56\x06\xdd\xab\xb9\x88\xa3\x29\xce\xa9\x3e\x92\xe3\xdf\xa3\xa1\xfe\x1a\x36\x3a\x6d\xc1\x1d\xfe\x8b\x73\x69\xc4\x96\x5a\xea\x46\x14\x09\x3b\x1e\x65\xc8\xb9\x24\x7c\x1d\x74\x5f\x07\xdd\x3f\x32\xe8\x9e\xc4\xdb\x27\x48\xdb\x69\xe2\x72\xf9\xcc\x1a\x6f\x3b\x76\x86\x7b\x3f\x54\xf5\x26\xf4\xac\x3d\x0d\xd5\xba\x5f\x9f\x24\xd2\x6e\xe9\x53\xd4\x7d\xe4\x73\xf2\x07\x18\xac\x6e\x4f\x8d\xb5\xb1\xc6\x17\x0e\x47\x4f\xf8\xaf\xbf\xfb\x29\xa9\x80\x67\x57\x60\x94\x5e\xc2\xc5\x75\xa0\x19\x77\x53\xdc\x76\xea\x18\x14\x38\xc7\xc1\x76\xb0\x2e\x06\x10\x0e\x83\xbb\x61\x65\xe0\x6a\x80\xee\x9c\x7a\xbc\x81\x35\x12\x0d\x44\x94\x99\x1d\x8b\x1d\x8b\x11\x5e\x39\x42\x7b\x7a\xf0\x65\xc1\x47\x2d\x4c\x61\xb5\x8f\xe7\xd4\xe6\xb5\x67\x36\x30\x5b\xe5\x4a\xe6\xe1\x50\xbb\xea\xbf\xbd\x74\xb3\xf9\xb2\x7e\x78\xd9\x3a\xfe\xeb\xa6\x79\xe3\x9c\xd8\x33\x23\x6e\xee\x6a\x38\xb1\x63\x47\x5e\x4e\xcb\xf2\x4e\x61\x15\x38\xb0\x46\xfa\xa5\x89\x22\xcc\xf3\x3b\x36\xc5\xad\xf0\xc0\x57\x51\xb3\x0f\xa3\x62\xab\x0c\x9e\x7d\xb1\x62\x9f\x20\x4c\x1d\xc9\xc3\xe1\x91\x3a\xf2\x38\xdf\x31\xb0\xbf\xff\x2e\x31\x36\xe7\x07\x01\xfb\x51\xa8\x57\x63\x3c\xa3\xe5\xbf\x37\x68\xf8\x1d\x84\x37\x4e\xa6\x1f\xe0\x0a\xc8\x95\x78\x52\x21\x86\xbb\xcf\x31\xef\xb6\xa6\x58\x33\xab\xa3\xf4\x07\x72\xac\xd5\xae\x66\x5c\x78\x69\x95\x12\x8b\x96\x72\xdd\x07\x83\x11\x8f\x03\xc8\x8e\x11\x71\x17\x08\xb3\x8f\x86\x7c\x1e\x3a\x2e\x7c\x2a\xa9\x81\x72\x00\x6c\x34\xc5\x8c\xf7\x3e\x4e\x1b\xe5\x8f\x59\x33\xa1\x90\x45\xbe\x3c\x3d\xeb\x4f\xe4\xbe\xa9\xe8\x39\x1a\x8e\x69\x37\x30\xc1\x9b\x47\xb5\x61\x08\x1f\xce\x33\xad\x5d\x3e\x24\x1c\xa0\xf6\x08\x0f\xcd\xaa\x4c\xf0\xed\xe1\x54\xa9\x78\xda\x4e\x4e\xbe\xf9\x3f\x4d\x22\xbf\x88\xb9\xff\xae\x3e\x1e\x8f\x8e\x43\xff\x70\xc7\x33\xea\xe8\x7b\x56\xfd\x88\x0f\x2e\x06\xab\xc1\x57\xba\x06\x56\xfb\x65\xeb\xcc\x8c\xaa\xd5\xed\x68\x36\x1d\xf9\x3a\x93\xf6\x25\xbc\xee\xdc\x76\x09\xaf\x4b\xf9\xf2\x45\xfd\x99\xee\xa4\x99\xf6\x72\x5a\x47\x7a\x48\xfe\x0c\x00\x00\xff\xff\x41\xfe\x98\xc9\x50\x15\x00\x00"
 
 func utilityTokenforwardingCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -255,7 +255,7 @@ func utilityTokenforwardingCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/TokenForwarding.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0xb5, 0xd5, 0xf5, 0x6a, 0x36, 0xe3, 0x16, 0x78, 0x95, 0x1e, 0xf3, 0x8a, 0x26, 0x5e, 0x7, 0x3d, 0x80, 0x17, 0x4a, 0x61, 0x1, 0x34, 0x70, 0x30, 0x61, 0x56, 0x5f, 0xc, 0xc2, 0x5e, 0x49}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0xeb, 0xe3, 0x5a, 0x8c, 0x3b, 0x84, 0xc9, 0x40, 0x40, 0xc1, 0xbc, 0x88, 0x53, 0xca, 0xfb, 0x18, 0xa0, 0xa3, 0xa3, 0xed, 0x23, 0x3a, 0xae, 0x82, 0xe2, 0x18, 0xbc, 0xc6, 0x4e, 0x28, 0xfa}}
 	return a, nil
 }
 

From aec3a272f2c0e374780170d0f35d5a237745eee6 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Mon, 22 Jan 2024 12:59:09 -0600
Subject: [PATCH 075/115] add suport for multiple type definitions

---
 contracts/ExampleToken.cdc                 | 55 ++++++--------
 contracts/FungibleToken.cdc                | 56 ++++++++++-----
 contracts/MultipleVaults.cdc               | 25 -------
 contracts/utility/MetadataViews.cdc        |  9 +--
 contracts/utility/NonFungibleToken.cdc     | 83 ++++++++++++++++------
 contracts/utility/ViewResolver.cdc         | 30 ++++----
 lib/go/contracts/internal/assets/assets.go | 53 ++++----------
 7 files changed, 158 insertions(+), 153 deletions(-)
 delete mode 100644 contracts/MultipleVaults.cdc

diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index aa4ef78e..ae6b4740 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -3,7 +3,7 @@ import MetadataViews from "MetadataViews"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 import ViewResolver from "ViewResolver"
 
-access(all) contract ExampleToken: ViewResolver {
+access(all) contract ExampleToken: FungibleToken {
 
     /// The event that is emitted when new tokens are minted
     access(all) event TokensMinted(amount: UFix64, type: String)
@@ -14,19 +14,14 @@ access(all) contract ExampleToken: ViewResolver {
     /// Admin Path
     access(all) let AdminStoragePath: StoragePath
 
-    /// User Paths
-    access(all) let VaultStoragePath: StoragePath
-    access(all) let VaultPublicPath: PublicPath
-    access(all) let ReceiverPublicPath: PublicPath
-
-    access(all) view fun getContractViews(): [Type] {
+    access(all) view fun getContractViews(resourceType: Type?): [Type] {
         let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
             ?? panic("Could not borrow a reference to the vault resolver")
         
         return vaultRef.getViews()
     }
 
-    access(all) fun resolveContractView(_ view: Type): AnyStruct? {
+    access(all) fun resolveContractView(resourceType: Type?, viewType: Type): AnyStruct? {
         let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
             ?? panic("Could not borrow a reference to the vault resolver")
         
@@ -50,9 +45,9 @@ access(all) contract ExampleToken: ViewResolver {
         /// The total balance of this vault
         access(all) var balance: UFix64
 
-        access(self) var storagePath: StoragePath
-        access(self) var publicPath: PublicPath
-        access(self) var receiverPath: PublicPath
+        access(all) var storagePath: StoragePath
+        access(all) var publicPath: PublicPath
+        access(all) var receiverPath: PublicPath
 
         access(all) view fun getViews(): [Type] {
             return [
@@ -63,12 +58,6 @@ access(all) contract ExampleToken: ViewResolver {
             ]
         }
 
-        /// Returns the FTVaultData view for this Vault, which contains
-        /// all relevant paths, types, and create vault function
-        access(all) fun getFTVaultDataView(): AnyStruct {
-            return self.resolveView(Type<FungibleTokenMetadataViews.FTVaultData>())
-        }
-
         access(all) fun resolveView(_ view: Type): AnyStruct? {
             switch view {
                 case Type<FungibleTokenMetadataViews.FTView>():
@@ -150,7 +139,7 @@ access(all) contract ExampleToken: ViewResolver {
         /// created Vault to the context that called so it can be deposited
         /// elsewhere.
         ///
-        access(FungibleToken.Withdrawable) fun withdraw(amount: UFix64): @ExampleToken.Vault {
+        access(FungibleToken.Withdraw) fun withdraw(amount: UFix64): @ExampleToken.Vault {
             self.balance = self.balance - amount
             return <-create Vault(balance: amount)
         }
@@ -200,6 +189,11 @@ access(all) contract ExampleToken: ViewResolver {
         }
     }
 
+    /// Function to return the types that the contract implements
+    access(all) view fun getVaultTypes(): [Type] {
+        return [Type<@ExampleToken.Vault>()]
+    }
+
     /// createEmptyVault
     ///
     /// Function that creates a new Vault with a balance of zero
@@ -207,7 +201,7 @@ access(all) contract ExampleToken: ViewResolver {
     /// and store the returned Vault in their storage in order to allow their
     /// account to be able to receive deposits of this token type.
     ///
-    access(all) fun createEmptyVault(): @ExampleToken.Vault {
+    access(all) fun createEmptyVault(vaultType: Type): @ExampleToken.Vault {
         return <- create Vault(balance: 0.0)
     }
 
@@ -217,11 +211,11 @@ access(all) contract ExampleToken: ViewResolver {
     ///
     /// Will need to add an update to total supply
     /// See https://github.com/onflow/flips/pull/131
-    access(all) fun burnTokens(from: @ExampleToken.Vault) {
-        if from.balance > 0.0 {
-            ExampleToken.totalSupply = ExampleToken.totalSupply - from.getBalance()
+    access(all) fun burn(_ vault: @{FungibleToken.Vault}) {
+        if vault.balance > 0.0 {
+            ExampleToken.totalSupply = ExampleToken.totalSupply - vault.getBalance()
         }
-        FungibleToken.burn(<-from)
+        destroy vault
     }
 
     init() {
@@ -232,20 +226,17 @@ access(all) contract ExampleToken: ViewResolver {
         // Create the Vault with the total supply of tokens and save it in storage
         //
         let vault <- create Vault(balance: self.totalSupply)
-        self.VaultStoragePath = vault.getDefaultStoragePath()!
-        self.VaultPublicPath = vault.getDefaultPublicPath()!
-        self.ReceiverPublicPath = vault.getDefaultReceiverPath()!
-
-        self.account.storage.save(<-vault, to: self.VaultStoragePath)
 
         // Create a public capability to the stored Vault that exposes
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
         // and the `getBalance()` method through the `Balance` interface
         //
-        let exampleTokenCap = self.account.capabilities.storage.issue<&Vault>(self.VaultStoragePath)
-        self.account.capabilities.publish(exampleTokenCap, at: self.VaultPublicPath)
-        let receiverCap = self.account.capabilities.storage.issue<&{FungibleToken.Receiver}>(self.VaultStoragePath)
-        self.account.capabilities.publish(receiverCap, at: self.ReceiverPublicPath)
+        let exampleTokenCap = self.account.capabilities.storage.issue<&Vault>(vault.storagePath)
+        self.account.capabilities.publish(exampleTokenCap, at: vault.publicPath)
+        let receiverCap = self.account.capabilities.storage.issue<&{FungibleToken.Receiver}>(vault.storagePath)
+        self.account.capabilities.publish(receiverCap, at: vault.receiverPath)
+
+        self.account.storage.save(<-vault, to: /storage/exampleTokenVault)
 
         let admin <- create Minter()
         self.account.storage.save(<-admin, to: self.AdminStoragePath)
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 8ecbd0ab..e57d791a 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -40,19 +40,19 @@ import ViewResolver from "ViewResolver"
 /// utility methods that many projects will still want to have on their contracts,
 /// but they are by no means required. all that is required is that the token
 /// implements the `Vault` interface
-access(all) contract FungibleToken {
+access(all) contract interface FungibleToken: ViewResolver {
 
     // An entitlement for allowing the withdrawal of tokens from a Vault
-    access(all) entitlement Withdrawable
+    access(all) entitlement Withdraw
 
     /// The event that is emitted when tokens are withdrawn from a Vault
-    access(all) event Withdraw(amount: UFix64, type: String, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64)
+    access(all) event Withdrawn(amount: UFix64, type: String, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64)
 
     /// The event that is emitted when tokens are deposited to a Vault
-    access(all) event Deposit(amount: UFix64, type: String, to: Address?, toUUID: UInt64, depositedUUID: UInt64)
+    access(all) event Deposited(amount: UFix64, type: String, to: Address?, toUUID: UInt64, depositedUUID: UInt64)
 
     /// Event that is emitted when the global burn method is called with a non-zero balance
-    access(all) event Burn(amount: UFix64, type: String, fromUUID: UInt64)
+    access(all) event Burned(amount: UFix64, type: String, fromUUID: UInt64)
 
     /// Balance
     ///
@@ -78,16 +78,16 @@ access(all) contract FungibleToken {
         /// withdraw subtracts tokens from the implementing resource
         /// and returns a Vault with the removed tokens.
         ///
-        /// The function's access level is `access(Withdrawable)`
+        /// The function's access level is `access(Withdraw)`
         /// So in order to access it, one would either need the object itself
-        /// or an entitled reference with `Withdrawable`.
+        /// or an entitled reference with `Withdraw`.
         ///
-        access(Withdrawable) fun withdraw(amount: UFix64): @{Vault} {
+        access(Withdraw) fun withdraw(amount: UFix64): @{Vault} {
             post {
                 // `result` refers to the return value
                 result.getBalance() == amount:
                     "Withdrawal amount must be the same as the balance of the withdrawn Vault"
-                emit Withdraw(amount: amount, type: self.getType().identifier, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
+                emit Withdrawn(amount: amount, type: self.getType().identifier, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
             }
         }
     }
@@ -130,6 +130,9 @@ access(all) contract FungibleToken {
         access(all) view fun getBalance(): UFix64
 
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
+        /// The default implementation is included here because vaults are expected
+        /// to only accepted their own type, so they have no need to provide an implementation
+        /// for this function
         access(all) view fun getSupportedVaultTypes(): {Type: Bool} {
             // Below check is implemented to make sure that run-time type would
             // only get returned when the parent resource conforms with `FungibleToken.Vault`. 
@@ -147,14 +150,10 @@ access(all) contract FungibleToken {
             return self.getSupportedVaultTypes()[type] ?? false
         }
 
-        /// Returns the FTVaultData view for this Vault, which contains
-        /// all relevant paths, types, and create vault function
-        access(all) fun getFTVaultDataView(): AnyStruct
-
         /// withdraw subtracts `amount` from the Vault's balance
         /// and returns a new Vault with the subtracted balance
         ///
-        access(Withdrawable) fun withdraw(amount: UFix64): @{Vault} {
+        access(Withdraw) fun withdraw(amount: UFix64): @{Vault} {
             pre {
                 self.getBalance() >= amount:
                     "Amount withdrawn must be less than or equal than the balance of the Vault"
@@ -176,7 +175,7 @@ access(all) contract FungibleToken {
             pre {
                 from.isInstance(self.getType()): 
                     "Cannot deposit an incompatible token type"
-                emit Deposit(amount: from.getBalance(), type: from.getType().identifier, to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
+                emit Deposited(amount: from.getBalance(), type: from.getType().identifier, to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
             }
             post {
                 self.getBalance() == before(self.getBalance()) + before(from.getBalance()):
@@ -193,11 +192,30 @@ access(all) contract FungibleToken {
         }
     }
 
-    /// Global method to burn any FungibleToken Vault
+    /// Function to return the types that the contract implements
+    access(all) view fun getVaultTypes(): [Type] {
+        post {
+            result.length > 0: "Must indicate what fungible token types this contract defines"
+        }
+    }
+
+    /// createEmptyVault allows any user to create a new Vault that has a zero balance
+    ///
+    access(all) fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault} {
+        post {
+            result.getType() == vaultType: "The returned vault does not match the desired type"
+            result.getBalance() == 0.0: "The newly created Vault must have zero balance"
+        }
+    }
+
+    /// Method to burn a FungibleToken Vault
+    /// contract implementations should provide an implementation for this function
+    /// that subtracts the vault balance from the token's total supply
     access(all) fun burn(_ vault: @{FungibleToken.Vault}) {
-        if vault.balance > 0.0 {
-            emit Burn(amount: vault.balance, type: vault.getType().identifier, fromUUID: vault.uuid)
+        pre {
+            self.getVaultTypes().contains(vault.getType())
+            vault.balance > 0.0: "Do not use the burn method unless the vault balance is greater than zero!"
+            emit Burned(amount: vault.balance, type: vault.getType().identifier, fromUUID: vault.uuid)
         }
-        destroy vault
     }
 }
\ No newline at end of file
diff --git a/contracts/MultipleVaults.cdc b/contracts/MultipleVaults.cdc
deleted file mode 100644
index 11fb4378..00000000
--- a/contracts/MultipleVaults.cdc
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-import FungibleToken from "FungibleToken"
-
-access(all) contract interface MultipleVaults {
-
-    /// Contains the total supply of the fungible tokens defined in this contract
-    access(contract) var totalSupply: {Type: UFix64}
-
-    /// Function to return the types that the contract implements
-    access(all) view fun getVaultTypes(): [Type] {
-        post {
-            result.length > 0: "Must indicate what fungible token types this contract defines"
-        }
-    }
-
-    /// createEmptyVault allows any user to create a new Vault that has a zero balance
-    ///
-    access(all) fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault} {
-        post {
-            result.getBalance() == 0.0: "The newly created Vault must have zero balance"
-        }
-    }
-    
-}
\ No newline at end of file
diff --git a/contracts/utility/MetadataViews.cdc b/contracts/utility/MetadataViews.cdc
index 2a993c51..e1079077 100644
--- a/contracts/utility/MetadataViews.cdc
+++ b/contracts/utility/MetadataViews.cdc
@@ -605,14 +605,11 @@ access(all) contract MetadataViews {
         /// including standard NFT interfaces and metadataviews interfaces
         access(all) let publicPath: PublicPath
 
-        /// Public collection type that is expected to provide sufficient read-only access to standard
-        /// functions (deposit + getIDs + borrowNFT). For new
-        /// collections, this may be set to be equal to the type specified in `publicLinkedType`.
+        /// The concrete type of the collection that is exposed to the public
+        /// now that entitlements exist, it no longer needs to be restricted to a specific interface
         access(all) let publicCollection: Type
 
-        /// Type that should be linked at the aforementioned public path. This is normally a
-        /// restricted type with many interfaces. Notably the
-        /// `NFT.Receiver`, and `ViewResolver.ResolverCollection` interfaces are required.
+        /// Type that should be linked at the aforementioned public path
         access(all) let publicLinkedType: Type
 
         /// Function that allows creation of an empty NFT collection that is intended to store
diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index cd10456b..d7e15d74 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -41,13 +41,16 @@ import ViewResolver from "ViewResolver"
 /// The main NFT contract. Other NFT contracts will
 /// import and implement the interfaces defined in this contract
 ///
-access(all) contract NonFungibleToken {
+access(all) contract interface NonFungibleToken: ViewResolver {
 
     /// An entitlement for allowing the withdrawal of tokens from a Vault
-    access(all) entitlement Withdrawable
+    access(all) entitlement Withdraw
 
     /// An entitlement for allowing updates and update events for an NFT
-    access(all) entitlement Updatable
+    access(all) entitlement Update
+
+    /// entitlement for owner that grants Withdraw and Update
+    access(all) entitlement Owner
 
     /// Event that contracts should emit when the metadata of an NFT is updated
     /// It can only be emitted by calling the `emitNFTUpdated` function
@@ -60,7 +63,7 @@ access(all) contract NonFungibleToken {
     /// and query the updated metadata from the owners' collections.
     ///
     access(all) event Updated(id: UInt64, uuid: UInt64, owner: Address?, type: String)
-    access(all) view fun emitNFTUpdated(_ nftRef: auth(Updatable) &{NonFungibleToken.NFT})
+    access(all) view fun emitNFTUpdated(_ nftRef: auth(Update | Owner) &{NonFungibleToken.NFT})
     {
         emit Updated(id: nftRef.id, uuid: nftRef.uuid, owner: nftRef.owner?.address, type: nftRef.getType().identifier)
     }
@@ -72,7 +75,7 @@ access(all) contract NonFungibleToken {
     ///
     /// If the collection is not in an account's storage, `from` will be `nil`.
     ///
-    access(all) event Withdraw(type: String, id: UInt64, uuid: UInt64, from: Address?, providerUUID: UInt64)
+    access(all) event Withdrawn(type: String, id: UInt64, uuid: UInt64, from: Address?, providerUUID: UInt64)
 
     /// Event that emitted when a token is deposited to a collection.
     /// Indicates the type, id, uuid, the owner of the collection that it was deposited to,
@@ -80,7 +83,10 @@ access(all) contract NonFungibleToken {
     ///
     /// If the collection is not in an account's storage, `from`, will be `nil`.
     ///
-    access(all) event Deposit(type: String, id: UInt64, uuid: UInt64, to: Address?, collectionUUID: UInt64)
+    access(all) event Deposited(type: String, id: UInt64, uuid: UInt64, to: Address?, collectionUUID: UInt64)
+
+    /// Included for backwards-compatibility
+    access(all) resource interface INFT: NFT {}
 
     /// Interface that the NFTs must conform to
     ///
@@ -95,12 +101,19 @@ access(all) contract NonFungibleToken {
 
         /// createEmptyCollection creates an empty Collection that is able to store the NFT
         /// and returns it to the caller so that they can own NFTs
+        /// @return A an empty collection that can store this NFT
         access(all) fun createEmptyCollection(): @{Collection} {
             post {
                 result.getLength() == 0: "The created collection must be empty!"
             }
         }
 
+        /// Gets all the NFTs that this NFT directly owns
+        /// @return A dictionary of all subNFTS keyed by type
+        access(all) view fun getAvailableSubNFTS(): {Type: UInt64} {
+            return {}
+        }
+
         /// Get a reference to an NFT that this NFT owns
         /// Both arguments are optional to allow the NFT to choose
         /// how it returns sub NFTs depending on what arguments are provided
@@ -127,10 +140,11 @@ access(all) contract NonFungibleToken {
 
         /// withdraw removes an NFT from the collection and moves it to the caller
         /// It does not specify whether the ID is UUID or not
-        access(Withdrawable) fun withdraw(withdrawID: UInt64): @{NFT} {
+        /// @param withdrawID: The id of the NFT to withdraw from the collection
+        access(Withdraw | Owner) fun withdraw(withdrawID: UInt64): @{NFT} {
             post {
                 result.id == withdrawID: "The ID of the withdrawn token must be the same as the requested ID"
-                emit Withdraw(type: result.getType().identifier, id: result.id, uuid: result.uuid, from: self.owner?.address, providerUUID: self.uuid)
+                emit Withdrawn(type: result.getType().identifier, id: result.id, uuid: result.uuid, from: self.owner?.address, providerUUID: self.uuid)
             }
         }
     }
@@ -140,14 +154,18 @@ access(all) contract NonFungibleToken {
     access(all) resource interface Receiver {
 
         /// deposit takes an NFT as an argument and adds it to the Collection
-        ///
+        /// @param token: The NFT to deposit
         access(all) fun deposit(token: @{NFT})
 
         /// getSupportedNFTTypes returns a list of NFT types that this receiver accepts
+        /// @return A dictionary of types mapped to booleans indicating if this
+        ///         reciever supports it
         access(all) view fun getSupportedNFTTypes(): {Type: Bool}
 
         /// Returns whether or not the given type is accepted by the collection
         /// A collection that can accept any type should just return true by default
+        /// @param type: An NFT type
+        /// @return A boolean indicating if this receiver can recieve the desired NFT type
         access(all) view fun isSupportedNFTType(type: Type): Bool
     }
 
@@ -156,40 +174,65 @@ access(all) contract NonFungibleToken {
     ///
     access(all) resource interface Collection: Provider, Receiver {
 
-        /// Return the NFT CollectionData View
-        /// has to be AnyStruct and cast to the view later to avoid circular dependency issues
-        access(all) fun getNFTCollectionDataView(): AnyStruct
-
-        /// Normally we would require that the collection specify
-        /// a specific dictionary to store the NFTs, but this isn't necessary any more
-        /// as long as all the other functions are there
-
         /// deposit takes a NFT as an argument and stores it in the collection
+        /// @param token: The NFT to deposit into the collection
         access(all) fun deposit(token: @{NonFungibleToken.NFT}) {
             pre {
                 // We emit the deposit event in the `Collection` interface
                 // because the `Collection` interface is almost always the final destination
                 // of tokens and deposit emissions from custom receivers could be confusing
                 // and hard to reconcile to event listeners
-                emit Deposit(type: token.getType().identifier, id: token.id, uuid: token.uuid, to: self.owner?.address, collectionUUID: self.uuid)
+                emit Deposited(type: token.getType().identifier, id: token.id, uuid: token.uuid, to: self.owner?.address, collectionUUID: self.uuid)
             }
         }
 
         /// Gets the amount of NFTs stored in the collection
+        /// @return An integer indicating the size of the collection
         access(all) view fun getLength(): Int
 
         /// Gets a list of all the IDs in the collection
+        /// @return An array of NFT IDs in the collection
         access(all) view fun getIDs(): [UInt64] 
 
         /// Borrows a reference to an NFT stored in the collection
         /// If the NFT with the specified ID is not in the collection,
-        /// the function should return `nil` and not panic
+        /// the function should return `nil` and not panic.
+        ///
+        /// @param id: The desired nft id in the collection to return a referece for.
+        /// @return An optional reference to the NFT
         access(all) view fun borrowNFT(_ id: UInt64): &{NonFungibleToken.NFT}? {
             post {
                 (result == nil) || (result?.id == id): 
                     "Cannot borrow NFT reference: The ID of the returned reference does not match the ID that was specified"
             }
-            return nil
+        }
+
+        /// createEmptyCollection creates an empty Collection of the same type
+        /// and returns it to the caller
+        /// @return A an empty collection of the same type
+        access(all) fun createEmptyCollection(): @{Collection} {
+            post {
+                result.getType() == self.getType(): "The created collection does not have the same type as this collection"
+                result.getLength() == 0: "The created collection must be empty!"
+            }
+        }
+    }
+
+    /// Function to return the types that the contract implements
+    /// @return An array of NFT Types that the implementing contract defines.
+    access(all) view fun getVaultTypes(): [Type] {
+        post {
+            result.length > 0: "Must indicate what non-fungible token types this contract defines"
+        }
+    }
+
+    /// createEmptyCollection creates an empty Collection for the specified NFT type
+    /// and returns it to the caller so that they can own NFTs
+    /// @param nftType: The desired nft type to return a collection for.
+    /// @return An array of NFT Types that the implementing contract defines.
+    access(all) fun createEmptyCollection(nftType: Type): @{NonFungibleToken.Collection} {
+        post {
+            result.getIDs().length == 0: "The created collection must be empty!"
         }
     }
 }
diff --git a/contracts/utility/ViewResolver.cdc b/contracts/utility/ViewResolver.cdc
index 21efaed9..862a4e82 100644
--- a/contracts/utility/ViewResolver.cdc
+++ b/contracts/utility/ViewResolver.cdc
@@ -5,23 +5,31 @@
 // All you need is its address and name and you're good to go!
 access(all) contract interface ViewResolver {
 
-    /// Function that returns all the Metadata Views implemented by the resolving contract
+    /// Function that returns all the Metadata Views implemented by the resolving contract.
+    /// Some contracts may have multiple resource types that support metadata views
+    /// so there there is an optional parameter for specify which resource type the caller
+    /// is looking for views for.
+    /// Some contract-level views may be type-agnostic. In that case, the contract
+    /// should return the same views regardless of what type is passed in.
     ///
+    /// @param resourceType: An optional resource type to return views for
     /// @return An array of Types defining the implemented views. This value will be used by
     ///         developers to know which parameter to pass to the resolveView() method.
     ///
-    access(all) view fun getContractViews(): [Type] {
-        return []
-    }
+    access(all) view fun getContractViews(resourceType: Type?): [Type]
 
     /// Function that resolves a metadata view for this token.
+    /// Some contracts may have multiple resource types that support metadata views
+    /// so there there is an optional parameter for specify which resource type the caller
+    /// is looking for views for.
+    /// Some contract-level views may be type-agnostic. In that case, the contract
+    /// should return the same views regardless of what type is passed in.
     ///
+    /// @param resourceType: An optional resource type to return views for
     /// @param view: The Type of the desired view.
     /// @return A structure representing the requested view.
     ///
-    access(all) fun resolveContractView(_ view: Type): AnyStruct? {
-        return nil
-    }
+    access(all) fun resolveContractView(resourceType: Type?, viewType: Type): AnyStruct?
 
     /// Provides access to a set of metadata views. A struct or 
     /// resource (e.g. an NFT) can implement this interface to provide access to 
@@ -30,14 +38,10 @@ access(all) contract interface ViewResolver {
     access(all) resource interface Resolver {
 
         /// Same as getViews above, but on a specific NFT instead of a contract
-        access(all) view fun getViews(): [Type] {
-            return []
-        }
+        access(all) view fun getViews(): [Type]
 
         /// Same as resolveView above, but on a specific NFT instead of a contract
-        access(all) fun resolveView(_ view: Type): AnyStruct? {
-            return nil
-        }
+        access(all) fun resolveView(_ view: Type): AnyStruct?
     }
 
     /// A group of view resolvers indexed by ID.
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index f4510db6..66c9f57a 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,15 +1,14 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (11.069kB)
-// ../../../contracts/FungibleToken.cdc (8.515kB)
+// ../../../contracts/ExampleToken.cdc (10.617kB)
+// ../../../contracts/FungibleToken.cdc (9.453kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
-// ../../../contracts/MultipleVaults.cdc (775B)
-// ../../../contracts/utility/MetadataViews.cdc (25.867kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (8.616kB)
+// ../../../contracts/utility/MetadataViews.cdc (25.61kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (10.717kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.869kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.456kB)
-// ../../../contracts/utility/ViewResolver.cdc (1.913kB)
+// ../../../contracts/utility/ViewResolver.cdc (2.718kB)
 
 package assets
 
@@ -79,7 +78,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\xdf\x73\xdb\x36\xf2\x7f\xcf\x5f\xb1\xd5\x77\xa6\x5f\x69\x6a\x4b\x4e\x7f\xe4\x5a\x8d\x1d\x37\x4d\xe3\xbb\x9b\x69\x67\x32\x89\xdb\x3e\x64\x32\x09\x44\x2e\x25\x5c\x40\x80\x03\x80\x96\x55\x4f\xfe\xf7\x9b\x05\x40\x12\xa0\x48\x59\x71\xf2\x74\x7c\xb1\x45\x60\x17\x8b\xfd\xf1\xc1\xee\x82\xbc\xac\x94\xb6\x70\x55\xcb\x35\x5f\x09\xbc\x56\x1f\x50\x42\xa1\x55\x09\x93\xe4\xdd\xe4\x51\x98\xf9\x3b\x5a\x96\x33\xcb\xfe\xe4\xb8\x35\x61\x66\xf2\xae\x9d\x99\xd0\x0f\x91\x8d\x4f\x68\x79\xd0\xaf\x57\x68\x94\xb8\x41\x1d\xa8\xe2\x57\x93\x47\x8f\x58\x96\xa1\x31\x53\x26\xc4\x0c\x32\x25\xad\x66\x99\x85\x17\xb7\xac\xac\x02\xe3\x65\xca\xe4\xee\xd1\x23\x00\x80\xc5\x62\x01\xd7\x1b\x04\xbc\x41\x69\xc1\x6e\x98\x05\x6e\x00\x4b\x6e\x2d\xe6\xb0\xdd\xa0\x04\x89\x5b\xb0\xc4\xc1\x00\xd3\x08\x25\x97\x16\x73\x47\x1c\xaf\xe9\x19\xb8\x95\xcc\xef\x6e\xca\x94\x95\xaa\x96\x76\x09\x7f\x5c\xf1\xdb\x27\xdf\x9f\x80\xdd\x55\xb8\x84\xd7\x56\x73\xb9\x9e\x45\xcb\x2b\xcb\x04\x98\xba\xaa\xc4\x0e\x54\x91\x08\x6d\x80\x4b\xc0\x5b\x6e\x2c\xca\x0c\xf7\x16\xbd\x61\x1a\x2c\x91\xbf\x76\xd4\xcd\x52\x1d\xef\x67\x79\xc9\x25\xbc\x64\x76\xb3\x47\x2b\xd0\xfa\xe1\xd7\x56\x69\xb6\x46\x9a\x44\xd2\xb5\x3f\x3a\x2e\x7f\x18\xd4\x8e\x89\x19\xe4\xf2\x27\xab\x85\x1d\xe5\x32\x4a\xf1\xb2\x5e\x09\x9e\x79\x82\xee\xff\xc1\xf9\xaf\x30\x43\x7e\x83\x7a\x84\x64\x5f\x2f\x1c\xb7\x50\xd4\x12\xd6\x68\x9f\x07\x67\x70\x0e\x35\x9d\x2d\xe1\xcd\xf5\xae\xc2\xb7\x70\xe7\xa8\xe8\xa1\x15\x6e\x48\xa2\x57\x58\xc0\x05\x18\x14\xc5\x9c\x65\x19\x19\x6f\x9e\xb1\x8a\xad\xb8\xe0\x96\xa3\x99\xaf\x94\xd6\x6a\x7b\xfe\x75\x6c\xa1\xb9\xdb\xcb\xd3\xe9\xa2\x72\xf2\x2c\x30\x1a\x73\x43\xb3\x76\x1d\x7a\x2e\x2f\xa1\x62\x92\x67\xd3\xc9\x73\x55\x8b\x1c\xa4\xb2\xe0\xd9\x02\x03\x8d\x05\x6a\x32\x34\x58\x05\x76\x83\x5e\x2a\xd0\x8d\x97\x77\xac\xda\x7f\x34\xda\x5a\xcb\x56\xfc\xf9\x1a\x9b\x8d\xba\x29\x1f\xf7\x75\x43\x6a\x09\x1c\x63\xd5\x4c\xdf\x39\xad\x2d\x81\xb4\x33\x5b\xc2\x33\xb9\x7b\x6d\x75\x9d\xd9\xcb\xff\x51\x4d\x85\xb9\x6e\xef\xb4\xf3\x44\x61\xe4\xf5\x4e\xa6\xe6\x57\xfb\xf6\x05\xcb\x36\x50\x53\x40\x18\xab\x34\x1a\x60\x12\xb8\x34\x96\x91\x30\xaa\x00\x25\xc5\xce\x49\xe4\xc8\x29\x7c\xed\x06\xb9\x9f\xcd\xd6\x98\x80\x4e\x51\xcb\xcc\x72\xe5\xa3\xbc\xa3\x61\x32\x87\xb5\xba\x41\x2d\x31\x87\x95\xe7\x56\x69\x74\xef\x2b\x65\x2c\xe1\x5b\xce\x1d\x61\xcb\x8e\xcb\x1e\x76\x3b\xe8\xb2\x1b\xdc\x39\xd0\xca\x98\x10\x98\xcf\x93\xd5\xb3\x0d\x66\x1f\x0c\x6c\x58\x55\xa1\x04\x66\x41\xd7\xd2\xf2\x12\x1d\x29\x12\x46\xb2\x56\x42\x02\xc5\x1e\x8f\x96\x17\x41\x6a\xad\x33\xa4\x19\xd2\xef\x7f\x85\x90\x69\x64\x04\xa1\x61\x67\x04\xc9\x78\x6b\x49\x43\xcd\x4f\x87\xd0\x0e\x71\x49\xcc\x96\x1d\x89\x9b\x63\xc1\xa5\x23\x3e\x01\xe3\x0c\xac\x91\x44\x90\x0a\xb6\x6c\x07\x85\x22\xd9\x4a\x26\x78\xc6\x55\x6d\xbc\x39\xac\x0a\x6b\x7a\x2d\x76\xaa\x51\x75\x58\x96\x4b\x60\x5c\xcf\xe1\x19\x98\x0a\x33\xce\x04\x38\xa0\xd6\xce\x6d\x68\x07\x20\x11\x73\x43\x9c\x56\x9d\x0c\x56\x39\xc8\x6f\xd9\x75\xc7\x41\xaa\x8a\x38\xc6\x5a\x86\x4e\x94\x65\x6a\x1a\x1f\x07\xcd\x01\x14\x5b\xc4\x41\x39\xac\x98\x68\x9c\xc9\x6e\xb8\xf1\x1e\xdb\xce\xed\xc3\x7f\x98\x9d\x42\x7f\x34\x91\x62\xd4\xcf\x34\x87\x10\x7a\x90\xa2\x1a\x47\xe8\xc1\xf9\xba\x81\xe9\x41\x80\x3e\x04\xd2\xe3\xe0\x1c\x85\xee\x9b\xe4\x25\x3d\x34\xf9\x7c\x3c\x7d\x98\x5f\x5d\xd3\xdf\xa7\xd3\xd9\xc9\x03\x48\x7f\xe5\xa6\x12\x6c\xf7\x40\x6a\x67\xe4\x5f\x99\x65\x0f\xa2\xbf\xee\x0e\xf5\xa7\xd3\x14\x17\xdf\xb6\xbf\x3e\xa6\x1e\xf4\xca\x69\xc9\xb8\xf8\x8a\xd6\x0f\x7a\x56\xda\x7b\x93\x7b\x7f\x02\xdb\x0d\xcf\x36\x2e\x0c\x19\x0f\x30\xd2\x06\xa0\x10\xa0\x51\xe0\x0d\x93\x16\x2a\x3a\xf5\x7d\xea\x62\x4e\x1c\x02\x85\x20\xf3\x80\xdb\xe0\xc3\xa0\x81\x83\x6d\x23\x59\x1c\xd8\xc6\x87\xcb\xb0\xa1\xdd\xb9\x12\xe3\xf3\xa7\xa9\x7b\x36\xa4\xa1\x91\x23\xf0\xe8\xa3\x8f\x1e\xb3\xe5\x36\xdb\x78\x85\xde\xed\xd9\x34\x63\x06\x8f\xf7\xc8\xe5\x1e\x7d\xa4\x80\x7b\x19\x4c\x07\xa9\xe9\x29\x6c\xf0\xdb\xe5\x43\xd4\xd8\xf9\xfc\x0c\x98\xf9\xea\xb0\x20\x61\xf2\xe5\xbe\x7b\x77\xc2\xb4\x76\x79\x90\x38\x89\x55\xef\x17\xa8\x9d\x7e\x39\x28\xd1\xec\xa1\x26\xeb\xb4\x32\x6c\x35\x4a\x8b\x4a\xcc\x39\x83\x8b\xb4\x2e\x9a\xff\x4e\x6f\xc7\x8d\xe5\x74\xc4\x05\x2e\x7b\x64\xff\xba\xbe\x7e\x79\xc5\x05\x1e\xa6\xac\xb5\x58\xc2\x64\x63\x6d\x65\x96\x8b\x05\x33\x06\xad\x99\x6f\x71\x65\xb8\xc5\x53\x62\x6b\xe6\x99\x2a\x17\x3f\x14\x4f\xbe\xfd\xe9\xfb\xec\x2c\xfb\x07\xfb\x31\xcb\xf3\x27\xdf\x7f\xb7\x7a\x9c\xfd\xf8\xed\x59\x6f\x80\xfd\xf0\x43\xb6\x7a\x9c\xfd\xf4\xdd\x93\x77\x57\x42\x6d\xdf\xfd\xa5\x74\x5e\x32\xfd\x61\x6e\x6e\xd6\x93\x51\x39\x06\xb0\xad\x79\x9c\x46\xae\x5d\xcd\x33\xe1\x25\x5b\xe3\xc2\xdc\xac\xbf\xb9\x2d\xc5\x30\xb7\x7d\xeb\x24\xaa\x35\xc3\xba\x35\xd3\x37\x6e\xf8\xed\x30\xf9\x31\xf1\x14\xac\x3b\xae\x6b\xc9\x4a\xda\x43\xc8\x65\x5b\x66\xbe\xd8\x9b\x8c\x2b\xc0\xec\xca\x95\x22\x13\xbd\xb8\xba\x3e\x30\x2d\x47\x93\x69\x5e\x11\x8c\x2e\x61\x72\x4d\x20\x5d\x34\x4b\xb8\x44\x83\x32\x9f\xda\x60\x0e\xcc\x65\x9b\x21\x6f\xa6\xc4\x64\x83\xa2\x82\x9d\xaa\x21\xc7\x1b\x14\xca\xfd\xaf\x41\x52\xa2\x75\x75\x0d\xff\xa7\x24\x59\x72\x7e\x60\x6d\xbc\xb5\xa8\x25\x13\x7f\xbc\xfa\xad\xef\x83\x2f\xba\xa1\x69\xeb\x64\x61\xed\xd3\xc2\xce\x95\x2c\x88\xb9\xd2\xeb\xc9\x01\x27\x10\x6a\xad\xcc\x32\x98\xf0\x80\xaa\x14\xe5\x63\x66\x39\x00\xab\xf1\x33\xb1\x5b\x2a\xcc\xf5\xe4\x28\x61\xc3\x64\x17\x04\x24\xeb\xbb\x95\x50\xd9\x87\x6c\xc3\xb8\x9c\x0c\xbb\x0b\xb8\x33\x63\xe8\xed\x83\xb1\x23\x86\xb0\x71\xf4\x88\x8a\xaa\xa4\x64\x6a\x8a\xab\x90\xbb\x1d\xac\xab\x0a\xad\xca\x80\xb2\x51\xaa\x37\xbe\xd1\x4f\x2b\xb0\x5c\xb5\x93\x7b\x41\x47\xb4\x77\xd4\xe1\xd5\xa8\x63\x3c\xdc\x92\x3c\xb5\xbf\x9d\x71\x17\x4a\x93\xcf\x70\xd8\x74\xaf\x0e\xe1\x94\x17\x31\x22\xec\x12\xdf\xfb\xd7\xfb\x8d\xcb\x0f\x98\x7b\x9c\x73\xee\xf0\xf5\x5d\x9a\xee\x37\xcd\x8b\x8f\x83\x99\x60\x5f\x8a\x7d\x76\x43\xb6\x3e\xc0\xc8\xe7\x67\x2f\xca\xca\xee\xdc\xe4\xab\x90\xa2\x2d\x61\x5a\xd4\x92\xb2\xaf\x9f\xef\x06\xea\x91\x8f\xf7\x84\x5e\x30\xee\xf9\x69\x5b\x40\xf7\x17\x9a\x1e\x88\xa9\xe1\xa1\x07\x06\x55\x9a\x1c\x3f\x34\x91\x8a\xb8\x8c\xfb\x62\xd2\x5c\x4b\x0c\x11\x8d\x1c\xb1\xb7\x8f\x43\x69\xae\xe4\x62\x2c\x97\x5f\xa3\x25\xde\x4a\x5b\xcc\x9d\x72\x49\x27\x06\x94\x3b\x25\x98\x10\xbb\xc0\xc3\x00\x03\xc1\x8d\x2b\x70\x7d\x46\xee\x32\xf5\xa6\xac\xe6\xa6\x75\x53\x97\x00\x57\xd6\xdc\x5b\x8a\x0d\xac\x4b\x4e\x73\xe7\x5d\xf2\x17\xa5\x44\xdf\x55\x08\xc0\x4c\x43\xe5\x08\x7a\xd3\x2f\xe0\x2e\x55\x40\x3a\xfb\x8d\x8b\xb9\x35\xba\xc5\xa6\xb3\xb7\x70\x01\x56\xd7\x38\x58\x19\x24\x84\xf7\xe5\xf9\xed\xb6\xb8\xd9\xdf\xd5\xd4\xb6\x31\x36\xf3\x82\x1e\x28\x46\xc6\xf4\xf2\xc6\xba\x72\xf5\xf2\x12\x0a\x26\x0c\x0e\x9b\x13\xb8\xe4\x96\x33\xc1\xff\x46\x07\xa5\x4d\x81\xcf\x6c\xd7\x28\x70\xc1\xc4\x95\x04\xcb\xcb\x8e\x0d\x11\x4e\x7b\x15\xfe\xac\x5f\x94\x90\x7c\x0d\xcb\x8b\x86\xf9\x9e\x81\x78\x8e\xd2\xf2\x82\xa3\x86\x0b\x98\xec\xf5\xde\x26\xfb\x3c\x23\xd4\x85\x8b\xb8\x61\x30\xed\x78\x2d\x23\xbe\xb3\xaf\xf6\x79\x74\x40\x0a\x17\x51\x43\xe0\x13\x38\xc4\x18\x3e\xce\x23\xd9\x50\x03\xb8\x93\x88\x5f\x2f\xbe\xfe\x89\x36\x31\x45\x68\x4b\x1d\x68\xb5\x44\x11\xf2\x8b\x27\xa2\xa8\xf0\x26\x39\xe0\x38\x7d\x73\xf4\xe4\xd8\x72\xbb\xc9\x35\xdb\xc6\x2f\x93\x09\x0d\x7a\x87\x88\x66\x1f\x7c\xc7\xd1\x5f\x2d\x84\x84\x90\xe9\x75\x5d\xa2\xb4\x69\x15\x2f\xf3\x96\x7b\xc0\x83\x40\xe4\xae\x4f\xda\x6e\xe3\x7c\x74\xe9\x7f\xdb\x70\x96\x10\xc8\xb8\xae\x17\x96\x95\xd2\x4c\xef\x42\x9f\xb2\xb9\x2d\x71\xb9\x29\x65\xa3\x4a\xe4\x09\x07\xbb\xc1\xe6\xe6\xc4\x0b\xa0\x11\x56\xc8\xe5\x1a\xac\x66\xd2\x14\xa8\x35\xe6\x73\x5a\x48\x47\xbd\x0b\x89\xdb\x08\x53\x89\x4f\xd3\x4b\x0c\xcb\xaa\xa4\xa3\xe8\x38\xfb\xde\x24\x18\x05\xdc\xba\x36\xa4\x6b\xe0\x55\x8a\x4a\xa1\x54\x26\x14\x06\xb7\x1b\xd4\x38\xbc\xf1\x60\xf3\xf4\x80\xfc\x2b\xe8\x91\xad\x04\xfa\xee\x41\xa3\xd9\xde\x1d\x0f\x1d\xae\xfb\xc7\xf5\xe1\x80\x4d\x7e\x9e\x06\x23\x0d\xf9\xd3\xf9\x69\xdc\xdf\xec\x60\xc1\x53\x0c\x36\x3d\x68\xc3\x41\x0d\x9f\xe6\x61\x41\xd5\x6a\xf5\x1f\xcc\xfa\x6e\xe6\x5c\x8b\xe5\x79\xda\x35\xe2\xd6\xb4\xd1\x14\x2c\xd4\x0b\x2e\xb5\x95\xa8\xcd\x11\x5e\xc7\x0d\x30\x21\xd4\xd6\x7b\x55\x8e\xc6\x6a\xe5\xbb\xe0\x86\x96\xf7\xa2\xad\x30\x63\xb5\xc1\xce\x91\xd3\xb8\x22\x91\x23\x87\x25\xd7\x44\xdd\x48\x12\xda\xb7\xae\xe7\xea\x68\xff\xbf\x93\x7d\xc3\xd2\x7d\xad\x10\x25\xf9\x9a\xa9\x4b\xaa\xc0\x64\xee\xbb\xd1\x85\x72\x5d\xf5\xe0\x68\x4e\xc2\xa6\x37\x3e\xe2\x52\x6d\xe7\x29\x18\x24\xe4\xeb\xc3\xc9\x58\x1f\xe4\xdb\x1a\x01\xce\x4f\x7d\x00\x33\xf3\xd5\x90\xaf\x1d\xed\x69\xdf\x78\x7e\x7b\x00\x45\x4f\x32\x02\x17\x70\x36\x3f\x4b\xc6\x1b\x93\xa4\x70\xd9\xf3\xbb\x7e\x7a\x78\xa4\x03\xa6\x90\xe3\x6d\x4d\xd1\x06\x2c\xf6\xa7\xbf\x51\xab\x3d\xb8\x6b\x40\x84\x77\x18\xc1\x84\x20\xb8\x09\x58\x31\x87\x67\xfe\xae\xa0\xac\x8d\xc7\x0c\x9f\x23\xed\x75\x31\x1b\x8e\xae\xe8\x71\x9c\x3c\xef\x16\x83\xfa\xd7\x3a\xf4\x42\xe9\xdc\x5f\x43\x38\xe7\xf5\xe3\x29\x47\x5f\xcc\x85\xfb\x05\xe6\xeb\xfb\x26\x41\x6b\xdc\xc2\xb4\x7d\x7f\x5f\xfb\x53\x82\x71\x9c\x5f\xed\xe7\xe3\xc7\xa0\xd1\x3d\xe0\x72\x36\x3f\x8b\x91\x05\xd2\x2b\x32\x7f\x7f\x92\x5c\x83\xc4\x37\x42\x0d\x7e\x78\x64\x71\xdb\x61\xee\x42\x3a\x68\xc2\xdf\x18\x51\x6c\x36\xb7\x2c\x9f\x76\xbb\x12\xae\x6f\xee\x12\x2d\x13\x1b\x7f\x77\x7e\xa4\xc7\x11\x81\x89\x16\x3e\x71\xe0\x46\xf6\x2b\x1b\x3f\xb2\xd1\x15\xfd\xc9\xa8\xdf\xc5\x14\x7d\xcf\x3b\xca\x82\x9d\xe8\x0f\x39\x57\xc6\xca\x93\x7e\x4f\x21\x1e\xfa\x66\xe8\xbc\xc1\x92\x8f\x7c\xc9\xe0\xff\x36\x5f\x32\xa4\x69\xfb\x3c\xca\xe3\x3e\xef\xf8\xea\x39\xd9\x20\x90\xc4\xee\xf6\x59\x00\xf2\x65\xc1\xe3\xcb\x02\xc7\x17\x00\x8d\xa1\xf8\x79\x18\x58\xb4\x66\x84\x7b\x90\x22\x32\x5d\x6a\x99\x70\x6c\x74\xe9\x45\x73\x6f\x7e\x02\x58\x14\x98\x59\x7e\x83\x62\x07\xab\x5a\x4b\x97\x23\x76\x27\xf5\x9e\xc9\x7f\xae\x98\x66\x25\xf8\x23\xb4\x3d\xc6\xa3\x72\xca\x5f\x6c\xa5\x6c\x9c\x0e\x6b\x2d\xf7\xb8\xfd\xc5\x85\x70\x77\xbf\xce\x08\x39\x1d\xf3\x50\x57\x39\x6d\x92\x7c\x21\x0a\xfe\x96\xe4\x35\x22\x34\x7d\xc6\x35\xb7\x9b\x7a\xe5\xda\x8c\xbe\x29\xba\x28\x04\xaf\xcc\xa2\xaa\x85\x58\x3c\xfe\xee\xf1\xa0\x01\x48\x90\x10\xeb\x21\x11\xd8\xd7\x7e\x9c\x05\xf0\xc2\xed\xb6\x3d\x95\x9f\x92\xc2\xbf\x00\x02\xf8\x74\x62\x1e\x97\x35\xbd\x50\xa4\x27\xcd\x51\x48\xf6\xe9\xf9\x29\x11\x26\x26\x77\xe5\x6a\x2c\xb4\x43\x88\x54\x90\xc7\x67\x67\x94\x4e\xa4\x53\xfa\xdf\x21\xc1\x05\x2c\x42\x80\x24\x9f\x89\xf8\xcf\x99\x92\xda\xfa\xb9\x77\xc6\xee\xeb\x09\x17\xeb\x7d\xd0\x76\xf1\x11\xbe\xe1\xa2\xf0\x64\x37\x48\x91\xce\x65\xf2\x5d\x86\x67\xd9\xfe\x9b\x24\x5d\xc3\x4e\xdf\xdf\xe0\x2c\xdd\x57\xff\xcb\x28\xb8\x08\xb9\xd5\x1a\xed\xaf\x58\xf4\x46\xa7\x51\xbd\xda\x91\xbf\x8c\x4b\xe8\x3e\x75\x54\x0e\xf7\x89\xf7\xbf\x99\x1a\xa0\x7f\x15\x55\xd7\xc4\x21\x65\xd1\xef\x3e\x93\xda\xa6\xa1\x03\x78\x02\x56\x2d\x87\x77\x39\x1b\x32\x10\x0b\x5f\x13\x40\xfb\x9d\xd0\xae\xd7\x5a\x8e\x8a\x4a\xbc\xad\x94\xc1\xf8\x00\x77\x13\xdf\x07\xb8\x7b\x0f\x25\xda\x8d\xf2\xe9\xf8\x1a\xed\x33\xd7\xda\x0a\x4d\xa1\x66\xcc\x6e\xb4\xaa\xd7\xde\x15\xde\x37\xfb\x7c\x0f\x2e\x65\x28\x58\x16\x5b\xbc\x49\xeb\xe1\x7d\x1c\x06\xef\x07\x39\x85\xe1\x61\x46\x89\xeb\xc4\x8e\xfb\x9c\x55\x07\xbf\x97\x6a\x34\xcc\x8d\xa9\xf1\xfc\xeb\xd0\xe5\x1d\xd1\xee\xa0\x8d\x12\x76\x4e\xd5\x66\x33\xed\x89\x70\x02\xcc\x2e\x07\x5d\x6b\x96\x48\xde\xf4\x5c\x3e\x51\xea\xf1\xbe\xf7\x67\x6f\x24\x92\x28\xda\xc4\xbe\x8b\x47\xae\x47\x1b\xf1\xd9\x66\x17\xbd\x3e\x61\x9c\x8e\xac\xdc\x73\x73\x47\x1c\xb9\x79\x1f\xa4\x1a\xe8\xfb\xf8\xe8\xbf\x01\x00\x00\xff\xff\x11\x74\xf0\x20\x3d\x2b\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x6d\x73\xdb\x36\xf2\x7f\xef\x4f\xb1\xd5\x7f\xa6\x7f\x69\x6a\x4b\x4e\x1f\x72\xad\xc6\x8e\x9b\xa6\xf1\xdd\xcd\xb4\x33\x9d\xc4\x6d\x5f\x64\x32\x09\x44\x2e\x25\x5c\x40\x80\x03\x80\x92\x55\x8f\xbf\xfb\x0d\x1e\x48\x02\x24\x28\xcb\x6e\x5e\x1d\x5f\x24\x16\x81\x5d\x2c\xf6\xe1\x87\xdd\x05\x69\x59\x09\xa9\xe1\xba\xe6\x6b\xba\x62\x78\x23\x3e\x21\x87\x42\x8a\x12\x26\xd1\xbb\xc9\x89\x9f\xf9\x2b\x6a\x92\x13\x4d\xfe\xa0\xb8\x53\x7e\x66\xf4\xae\x9d\x19\xd1\xa7\xc8\xc6\x27\xb4\x3c\xcc\xaf\x37\xa8\x04\xdb\xa2\xf4\x54\xe1\xab\xc9\xc9\x09\xc9\x32\x54\x6a\x4a\x18\x9b\x41\x26\xb8\x96\x24\xd3\xf0\xfa\x96\x94\x95\x67\xbc\xec\x6d\xee\xee\xe4\x04\x00\x60\xb1\x58\xc0\xcd\x06\x01\xb7\xc8\x35\xe8\x0d\xd1\x40\x15\x60\x49\xb5\xc6\x1c\x76\x1b\xe4\xc0\x71\x07\xda\xd0\x28\x20\x12\xa1\xa4\x5c\x63\x6e\x89\xc3\x45\x1d\x03\xcb\x5b\xfd\x6a\xa7\x4c\x49\x29\x6a\xae\x97\xf0\xfb\x35\xbd\x7d\xfe\xed\x29\xe8\x7d\x85\x4b\x78\xab\x25\xe5\xeb\x59\xb0\xbc\xd0\x84\x81\xaa\xab\x8a\xed\x41\x14\x91\xd4\x0a\x28\x07\xbc\xa5\x4a\x23\xcf\x70\xb0\xe8\x96\x48\xd0\x86\xfc\xad\xa5\x6e\x96\xea\x78\xbf\xcc\x4b\xca\xe1\x37\xa2\x37\x03\x5a\x86\xda\x0d\xbf\xd5\x42\x92\x35\x9a\x49\x46\xba\xf6\xc7\xc9\x70\x39\x8a\x3b\x28\x6a\x0e\x6b\xd4\xaf\xbc\x92\xad\xa1\xa6\x12\x95\xa8\x65\x86\x37\x76\x8b\xe6\xdf\xab\xd9\x12\xde\x99\x3f\xde\xc3\x9d\x65\x64\x1e\xb3\xe6\x96\xd4\x4c\xbf\xc1\x02\x2e\x41\x21\x2b\xe6\x24\xcb\x8c\x9a\xe6\x19\xa9\xc8\x8a\x32\xaa\x29\xaa\xf9\x4a\x48\x29\x76\x17\x5f\x86\xba\x98\xff\x61\x28\x5f\x4c\x17\x55\xbd\x62\x34\x5b\x60\x30\x66\x87\x66\xed\x3a\xe6\xb9\xba\x82\x8a\x70\x9a\x4d\x27\xaf\x44\xcd\x72\xe0\x42\x83\x63\x0b\x04\x24\x16\x28\x8d\x4a\x41\x0b\xd0\x1b\x74\x52\x81\x6c\x1c\xaa\x63\xd5\xfe\x21\x51\xd7\x92\xb7\xe2\xcf\xd7\xe8\xf7\xee\xe6\xde\x0f\xd5\x65\x34\xe5\x39\x86\xda\x4a\x29\xeb\xd4\xea\xb6\x7b\x31\x5b\xc2\x4b\xbe\x7f\xab\x65\x9d\xe9\xab\xff\x51\x05\xfa\xb9\x56\x25\x66\xf7\x91\x1e\x8d\xf3\x5a\x99\x9a\x5f\xed\xdb\xd7\x24\xdb\x40\xad\x50\x82\xd2\x42\xa2\x02\xc2\x81\x72\xa5\x89\x11\x46\x14\x20\x38\xdb\x5b\x89\x2c\xb9\x89\x1f\xbd\x41\xea\x66\x93\x35\x46\x51\x5f\xd4\x3c\xd3\x54\xb8\x30\xeb\x68\x08\xcf\x61\x2d\xb6\x28\x39\xe6\xb0\x72\xdc\x2a\x89\xf6\x7d\x25\x94\x36\x08\x93\x53\x4b\xd8\xb2\xa3\xbc\x07\x30\x16\x3b\xf4\x06\xf7\x16\x35\x32\xc2\x18\xe6\xf3\x68\xf5\x6c\x83\xd9\x27\x05\x1b\x52\x55\xc8\x81\x68\x90\x35\xd7\xb4\x44\x4b\x8a\x06\xea\x48\x2b\xa1\x41\xa5\x1e\x8f\x96\xd7\x1b\xef\x4f\x66\x06\x77\xfb\x5f\x21\x64\x12\x89\xc1\x30\xbf\x33\x03\x8a\x78\xab\x8d\x86\x9a\x9f\x16\x23\x2d\xe4\x19\x31\x5b\x76\x46\xdc\x1c\x0b\xca\x2d\xf1\x29\x28\x6b\x60\x89\x46\x04\x2e\x60\x47\xf6\x50\x08\x23\x5b\x49\x18\xcd\xa8\xa8\x95\x33\x87\x16\x7e\x4d\xa7\xc5\x4e\x35\xa2\xf6\xcb\x52\x0e\x84\xca\x39\xbc\x04\x55\x61\x46\x09\x03\x8b\x94\x12\x9a\x88\x00\x8e\x98\x2b\xc3\x69\xd5\xc9\xa0\x85\xc5\xdc\x96\x5d\x87\xc7\xb1\x2a\xc2\xd0\x6b\x19\x5a\x51\x7a\xd8\xef\xe2\xa0\x39\x01\x42\x8b\x58\x2c\x85\x15\x61\x8d\x33\xe9\x0d\x55\xce\x63\xdb\xb9\x7d\xfc\xf5\xb3\x63\xec\x4d\x4d\x54\x63\x38\x3b\x46\xe0\xc2\xd4\xcd\xff\xad\xfd\x7b\x74\xba\xc4\x0c\xe9\x16\xe5\x80\x20\x4d\x11\x60\xb9\xc7\xb1\x04\x60\x07\x71\xfb\x2e\x7a\x69\x1e\x33\xf9\x62\xfc\xf4\x9e\x5f\xdf\x98\xff\x5f\x4c\x67\xa7\x4f\x20\xfd\x99\xaa\x8a\x91\xfd\x13\xa9\xad\x85\x7f\x26\x9a\x3c\x89\xfe\xa6\x3b\x52\x5f\x4c\x63\x50\x7c\xdf\xfe\xba\x4f\xeb\x35\x00\x7d\x8b\x6c\x1f\xac\xa6\x0f\xa3\xba\x79\xd4\x8e\xea\x6c\xe3\xcc\x72\x37\x90\x38\x23\x0a\x8f\xd7\xf7\x72\x40\x1f\xd8\xf1\x41\x06\xd3\x24\xb5\x79\x0a\xed\xad\xb2\x74\x27\x4f\xb8\xcf\xc7\x58\x74\x06\x44\x7d\x71\x58\x10\x3f\xf9\x6a\x68\xbc\x4e\x98\xd6\xc8\x4f\x12\x27\x74\x91\x23\x04\x6a\xa7\x5f\x25\x25\x9a\x3d\xd5\x64\x9d\x56\xd2\x56\x33\x27\x7e\x89\x39\x25\x70\x19\x27\xdd\xf3\x5f\xcd\xdb\x71\x63\x59\x1d\x51\x86\xcb\x1e\xd9\xbf\x6e\x6e\x7e\xbb\xa6\x0c\x0f\x53\xd6\x92\x2d\x61\xb2\xd1\xba\x52\xcb\xc5\x82\x28\x85\x5a\xcd\x77\xb8\x52\x54\xe3\x99\x61\xab\xe6\x99\x28\x17\xdf\x15\xcf\xbf\xfe\xe1\xdb\xec\x3c\xfb\x07\xf9\x3e\xcb\xf3\xe7\xdf\x7e\xb3\x7a\x96\x7d\xff\xf5\x79\x6f\x80\x7c\xf7\x5d\xb6\x7a\x96\xfd\xf0\xcd\xf3\x0f\xd7\x4c\xec\x3e\xfc\x29\x64\x5e\x12\xf9\x69\xae\xb6\xeb\xc9\xa8\x1c\x89\xc8\x6d\x1e\xab\x11\x97\x2e\x4d\x68\x49\xd6\xb8\x50\xdb\xf5\x57\xb7\x25\x4b\x73\x1b\x5a\x27\x52\xad\x4a\xeb\x56\x4d\xdf\xd9\xe1\xf7\x69\xf2\x63\xe2\xc9\x5b\x77\x5c\xd7\x9c\x94\x66\x0f\x3e\x4d\x6b\x99\xb9\x42\x62\x32\xae\x00\xb5\x2f\x57\xc2\x98\xe8\xf5\xf5\xcd\x81\x69\x39\xaa\x4c\xd2\xca\x64\x10\x4b\x98\xdc\x98\xd3\xac\x68\x96\xb0\x67\xa8\x39\xd4\x6b\x85\x39\x10\x9b\x48\xf9\x94\xd0\x9c\xb9\x1b\x64\x15\xec\x45\x0d\x39\x6e\x91\x09\xfb\xb7\x04\x6e\x72\x88\xeb\x1b\xf8\x3f\xc1\x8d\x25\xe7\x07\xd6\xc6\x5b\x8d\x92\x13\xf6\xfb\x9b\x5f\xfa\x3e\xf8\xba\x1b\x9a\xb6\x4e\xe6\xd7\x3e\x2b\xf4\x5c\xf0\xc2\x30\x17\x72\x3d\x39\xe0\x04\x4c\xac\x85\x5a\x7a\x13\x1e\x50\x95\x30\xa9\x86\x5a\x26\x60\x35\x7c\x26\x7a\x67\x8a\x3e\x39\x39\x4a\x58\x3f\xd9\x06\x81\x91\xf5\xc3\x8a\x89\xec\x53\xb6\x21\x94\x4f\xd2\xee\x02\xf6\xcc\x48\xbd\x7d\x32\x76\x84\x10\x36\x8e\x1e\x41\xbd\x10\x55\x03\x4d\xdd\xe0\xf3\x92\x83\x25\x83\xa9\xb9\x3d\xca\x06\x69\xcc\xf8\x46\x1f\x57\x3b\xd8\x44\x3e\x77\x82\x8e\x68\xef\xa8\xc3\xab\x51\xc7\x78\xb8\x45\x39\x58\x7f\x3b\xe3\x2e\x14\xa7\x56\xfe\xb0\xe9\x5e\x1d\xc2\x29\x27\x62\x40\xd8\x65\x75\x0f\xaf\xf7\x0b\xe5\x9f\x30\xef\xca\xc2\x8b\x2f\xef\xe2\x4c\xf6\x8d\x9f\x78\x9f\xcc\x73\xfa\x52\x0c\xd9\xa5\x6c\x7d\x80\x91\xcb\xef\x5f\x97\x95\xde\xdb\xc9\xd7\xbe\x3a\x59\xc2\xb4\xa8\xb9\xc9\x20\x7f\xbc\x4b\xa4\xda\xf7\x0f\x84\x9e\x37\xee\xc5\x59\x5b\x1b\xf6\x17\x9a\x1e\x88\xa9\xf4\xd0\x13\x83\x2a\x4e\xfd\x9e\x9a\x48\x05\x5c\xc6\x7d\x31\x6a\xdc\x44\x86\x08\x46\x8e\xd8\xdb\x7d\x2a\x5b\xe7\x94\xa5\x32\x55\x53\xe8\xac\x51\x1b\xde\x42\x6a\xcc\xad\x72\x8d\x4e\x14\x08\x7b\x4a\x10\xc6\xf6\x9e\x87\x02\x02\x8c\x2a\x5b\xbb\xb9\xea\x5e\xdb\x89\xbe\x62\xa4\xaa\x75\x53\x9b\x00\x57\xbe\xe2\x83\x03\x85\x46\x62\x5d\xe3\x34\x77\xce\x25\x7f\x12\x82\xf5\x5d\xc5\x00\x98\x6a\xa8\x2c\x41\x6f\xfa\x25\xdc\xc5\x0a\x88\x67\xbf\xb3\x31\xb7\x46\xbb\xd8\x74\xf6\x1e\x2e\x41\xcb\x1a\x53\x2a\x8b\x09\x1f\xca\xf3\xdb\x6d\x51\x35\xdc\xd5\x54\x87\x9d\x1c\x23\x68\xba\xa6\x6a\x84\x4b\xea\xe5\x9d\xb6\xc5\xd8\xd5\x15\x14\x84\x29\x4c\x9b\x13\x28\xa7\x9a\x12\x46\xff\x42\x0b\xa5\x4d\xed\x4a\x74\x57\x03\xdb\x60\xa2\x82\x83\xa6\x65\xc7\xc6\x10\x4e\x7b\xc5\xeb\xac\x5f\x94\x18\xf9\x1a\x96\x97\x0d\xf3\x81\x81\x68\x8e\x5c\xd3\x82\xa2\x84\x4b\x98\x0c\xda\x4a\x93\x21\xcf\x00\x75\xe1\x32\x2c\x86\xa7\x1d\xaf\x65\xc0\x77\xf6\xc5\x90\x47\x07\xa4\x70\x19\x94\xbb\x8f\xe0\x10\x62\xf8\x38\x8f\x68\x43\x0d\xe0\x4e\x02\x7e\xbd\xf8\xfa\x27\xea\xc8\x14\xbe\xe3\x72\xa0\x8b\x10\x44\xc8\x4f\x8e\xc8\x44\x85\x33\xc9\x01\xc7\xe9\x9b\xa3\x27\xc7\x8e\xea\x4d\x2e\xc9\x2e\x7c\x19\x4d\x68\xd0\xdb\x47\x34\xf9\xe4\x9a\x69\xae\x6d\xed\x13\x42\x22\xd7\x75\x89\x5c\x47\x84\x84\xe7\x2d\x77\x8f\x07\x9e\xc8\xf6\xe6\xdb\x46\xda\x7c\x74\xe9\x7f\x6b\x7f\x96\x18\x90\xb1\x0d\x1d\x2c\x2b\x21\x89\xdc\xfb\x16\x5c\xd3\x89\xb7\xb9\xa9\xc9\x46\x05\xcb\x23\x0e\x7a\x83\x4d\x57\xde\x09\x20\x11\x56\x48\xf9\x1a\xb4\x24\x5c\x15\x28\x25\xe6\x73\xb3\x50\x83\x66\x86\x82\xe3\x2e\xc0\x54\xc3\xa7\x69\x93\xf9\x65\x45\xd4\x2c\xb3\x9c\x5d\xdb\x0d\x94\x00\xaa\x6d\x87\xcd\xf6\xa6\x2a\x61\x4a\xa1\x58\x26\x64\x0a\x77\x1b\x94\x98\xde\xb8\xb7\x79\x7c\x40\xfe\xe9\xf5\xe8\x3a\x07\x8d\x56\x7b\x77\x07\xe6\x60\x1d\x1e\xd5\x87\x83\x35\xfa\x79\xe6\x0d\x94\xf2\xa5\x8b\xb3\xb0\x6d\xd7\x41\x82\xa3\x98\x8d\xb9\x97\x57\xc1\xe3\xbc\xcb\xab\x59\xac\xfe\x83\x59\xdf\xc5\xac\x5b\x91\x3c\x57\x11\x1b\xaa\x55\x1b\x49\xde\x3a\xbd\xc0\x12\x3b\x8e\x52\x1d\xe1\x71\x54\x01\x61\x4c\xec\x9c\x47\xe5\xa8\xb4\x14\xae\xb9\xab\xcc\xf2\x4e\xb4\x15\x66\xa4\x56\xd8\x39\x71\x1c\x53\x46\xe4\xc0\x59\x8d\x5b\xa2\x6c\x24\xf1\x5d\x49\xdb\x4a\xb4\xb4\xff\xdf\xc9\xbe\x21\xf1\xbe\x56\x88\xdc\xf8\x99\xaa\x4b\x53\x7d\xf1\xdc\x35\x59\x0b\x61\x9b\xc5\xde\xc9\xac\x84\x4d\xcb\x77\xc4\x9d\xda\xae\x93\x37\x88\xcf\xd5\xd3\x89\x58\x1f\xe0\xdb\xfa\x00\x2e\xce\x5c\xf0\x12\xf5\x45\xca\xd7\x8e\xf6\xb4\xaf\x1c\xbf\x01\x38\x99\x27\x1a\x81\x4b\x38\x9f\x9f\x47\xe3\x8d\x49\x62\xa8\xec\xf9\x5d\x3f\x35\x3c\xd2\x01\x63\xb8\x71\xb6\x36\xd1\x06\x24\xf4\xa7\xbf\x50\x8a\x01\xd4\x35\x00\x42\x3b\x7c\x20\x8c\x19\xa8\xf1\x38\x31\x87\x97\xae\x05\x5e\xd6\xca\xe1\x85\xcb\x8f\x9a\xe6\xfd\x80\xa3\x2d\x78\x2c\x27\xc7\xbb\xc5\x9f\xfe\x6d\x85\x79\x21\x64\xee\xba\xeb\xd6\x79\xdd\x78\xcc\xd1\x15\x72\xbe\x6d\x4e\x5c\x6d\xdf\x24\x67\x8d\x5b\xa8\xb6\x9d\xed\xea\x7e\x93\x5c\x1c\xe7\x57\xc3\x5c\xfc\x18\x34\x7a\x00\x5c\xce\xe7\xe7\x21\xb2\x40\x7c\xf3\xe3\xae\x05\x46\x2f\x3a\x1a\xfc\x70\xc8\x62\xb7\x43\xec\x45\xa7\xd7\x84\xbb\x08\x31\xb1\xd9\x5c\x1e\x3c\xee\xd2\xc0\xdf\x4a\xdc\x45\x5a\x36\x6c\xdc\x9d\xec\x91\x1e\x67\x08\x54\xb0\xf0\xa9\x05\x37\x63\xbf\xb2\xf1\x23\x1d\x5c\xfd\x9e\x8e\xfa\x5d\x48\xd1\xf7\xbc\xa3\x2c\xd8\x89\xfe\x94\x73\x65\xac\x34\xe9\xf7\x13\xc2\xa1\xaf\x52\xe7\x0d\x96\x74\xe4\x86\xdc\xfd\xdf\xdc\x90\xc7\x29\xfb\x3c\xc8\xe1\xfe\xde\xf1\xd5\x73\xb2\xce\x5a\xa2\xe1\x65\x6d\x12\x16\x39\xc1\x45\x19\x35\x3b\x35\xe7\x94\x1a\x38\x4e\x74\x97\x12\x55\x36\x83\x0b\x95\xe6\x32\xc5\xd6\xa1\x09\xdd\xbf\x98\xce\xde\xf7\x05\x4d\x22\x5e\x18\x17\x7f\x0b\xe9\x3e\x2f\xca\x7d\x5e\x84\xfb\x0c\xe8\x96\x0a\xf4\x24\xaa\x6d\x1b\xc3\xb5\x75\xdb\xe1\xd0\x68\xdd\x0f\x1e\x40\xb8\xa4\xcb\x19\x43\xf9\xe3\xae\x4b\x8b\x9a\x6b\xec\x53\xc0\xa2\xc0\x4c\xd3\x2d\xb2\x3d\xac\x6a\xc9\x6d\x5e\xdb\x65\x18\x03\x0f\xf8\xb1\x22\x92\x94\xe0\x8e\xfe\x36\xfd\x08\x4a\x40\xc1\x35\xa1\x3d\x36\x56\xa5\xb5\xe4\x03\x6e\x7f\x52\xc6\xec\x55\xac\xb5\x49\x6e\xd2\x13\xa8\xab\xdc\x6c\xd2\xb8\x46\x00\x5a\x2d\xc9\x5b\x44\x68\x7a\xa3\x6b\xaa\x37\xf5\xca\xb6\x46\x5d\x23\x77\x51\x30\x5a\xa9\x45\x55\x33\xb6\x78\xf6\xcd\xb3\xa4\x3d\x8c\x20\xd3\x0f\xee\xe8\x3f\x26\x7b\xa1\x45\x2f\x9d\x78\x61\x34\xfe\x19\xa0\xeb\xcc\xf3\x0d\x8b\xb1\x1e\x88\x40\x32\x57\xf1\x76\xb6\x75\x75\x28\xa9\x85\xb3\x78\xf1\x67\xe7\xe7\x26\xf7\x89\xa7\xf4\x3f\xc6\x81\x4b\x58\xf8\x20\x89\x3e\xd5\x70\xdf\xf4\x44\x4d\x80\x57\xce\x03\xbb\x2f\x18\x6c\xbc\xf7\x4f\x18\x1b\x23\xfe\x43\x26\x13\xa2\x64\x8b\x26\xda\x29\x8f\xbe\x8d\x70\x2c\xdb\x3f\xa3\x0c\x31\xed\xe9\xfd\x0d\xce\x52\xb2\x11\x7f\x9d\x0d\xed\x67\x2a\xfb\x5e\xfb\x37\x28\xfc\xf0\xb6\x12\x0a\xc3\x83\xd6\x4e\xfc\xe8\xa3\xfd\x23\x94\xa8\x37\xc2\xa5\xcd\x6b\xd4\x2f\x6d\xfb\xc9\x37\x6e\x9a\x31\xbd\x91\xa2\x5e\x3b\x2d\x7c\x6c\xca\xf6\x8f\x60\x8f\xf6\x82\x64\xe1\x66\x9b\xf4\x1b\x3e\x86\x46\xff\x98\xe4\xe4\x87\xd3\x8c\x22\xad\x85\x36\x7b\x45\xaa\x83\x9f\xeb\x34\x3d\x78\xaa\x54\x8d\x17\x5f\xfa\xa3\xc0\x39\x62\xb2\xe1\x3e\xce\xca\xaa\x59\x6d\xa6\xbd\xe5\x4f\x81\xe8\xa5\x77\xed\xae\x73\x32\x8b\x24\x6e\xfa\x21\x8f\x94\x76\xbc\x27\xfd\xb7\x36\x10\x48\x13\x0a\x1f\x36\x6d\x66\x27\x69\x7e\x8d\x80\xc6\xc5\xa7\xbe\xad\x7c\x0a\x5a\x2c\xd3\x11\xe5\x3f\x7e\x8a\x74\xe1\x12\xca\xce\xe7\x5d\x4e\x38\x1d\xd9\x40\x6f\x41\x4b\xec\x16\x4c\x86\x76\x73\x30\xdc\x9f\xfc\x37\x00\x00\xff\xff\xf4\xba\x7f\x2b\x79\x29\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,11 +94,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0x5a, 0xea, 0x1f, 0x47, 0x9d, 0x49, 0x33, 0xf6, 0xcd, 0xba, 0xdb, 0xa1, 0x19, 0x72, 0x15, 0x12, 0x25, 0xd7, 0x38, 0x75, 0xe2, 0x8a, 0xac, 0x28, 0xe3, 0xc8, 0xa5, 0x42, 0xd2, 0xa1, 0x94}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x43, 0x52, 0xa2, 0x3c, 0x88, 0x69, 0x9c, 0x12, 0x4b, 0xb9, 0x13, 0x18, 0xc6, 0xb6, 0x7e, 0xd4, 0xb2, 0xb0, 0x61, 0x94, 0x4a, 0x32, 0x96, 0xfb, 0x3b, 0xa8, 0x29, 0x13, 0xa1, 0xe2, 0x8c, 0xe5}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x59\xcd\x72\xdc\xb8\x11\xbe\xf3\x29\xba\xbc\x87\xd5\x38\xe3\xd1\x1e\x52\x39\xa8\x62\x7b\xed\xb5\xb5\xe5\x4b\x2a\x65\xc9\xeb\x43\x92\xca\x60\xc8\xe6\x10\x6b\x10\xe0\x02\xe0\xd0\x13\x95\xde\x3d\xd5\x0d\x80\x7f\xc3\x91\xe4\x4d\xed\x21\xbe\x78\x44\x02\x8d\xfe\xfd\xfa\x6b\xf0\xf2\xf9\xf3\x2c\xfb\x0e\x6e\x2b\x84\x6b\x65\x3a\xb8\x6e\xf5\x5e\xee\x14\xc2\xad\xf9\x82\x1a\x9c\x17\xba\x10\xb6\xc8\xb2\xef\xbe\x83\x6d\x7a\xc9\xef\xb6\x90\x1b\xed\xad\xc8\x7d\x96\xf1\xf6\xe5\x9d\x20\x1d\x68\x03\xca\xe8\x3d\x5a\x10\x1a\xa4\xf6\x68\x4b\x91\x63\xe6\x2b\xe1\x41\x28\x05\x65\xda\xea\x79\x6b\x92\xeb\xa0\x33\xad\x2a\xa0\x12\x07\x7a\x45\xcf\x4b\x63\x6b\xf0\x66\x93\x65\x1f\x4a\x10\xd0\x3a\xb4\x0e\x3a\xa1\xbd\xa3\x05\x05\x36\xca\x1c\x41\x80\xc6\x6e\x26\x6b\x0d\xbe\x42\x69\x07\x9d\x0b\x83\xa4\x98\x07\x8d\x58\xd0\x66\x59\x37\x0a\x6b\xd4\x9e\x56\xc2\xc4\xd4\x41\xe7\x35\xec\x5a\x1f\x45\xf1\x01\x2e\x2b\xcc\x19\x11\xfd\x26\x07\x05\x96\x52\x63\x01\x52\x83\xaf\xa4\xeb\xb5\xd8\x04\xbf\xfe\x22\x5a\xe5\xb7\x60\xd1\x99\xd6\xe6\xa3\x9d\x59\xf6\x5e\xe4\xd5\xdc\x3f\xfd\x3a\x7f\x6c\x90\x0f\x77\xa7\xa7\x9f\x17\x1a\x0f\xfd\xbb\x35\x07\x59\xa0\xdd\xae\x61\xfb\x11\x73\x94\x07\xfe\x2d\x74\x01\xdb\xb7\x42\x09\x9d\xe3\xd2\x6e\xc7\xd1\x76\x33\xf3\x72\x25\x2c\x42\x63\xf1\x45\x6e\x74\x21\xbd\x34\xda\xb1\xa8\xc6\x38\x3f\x7e\xc6\x31\xb7\xe8\xbc\x95\xb9\xcf\x48\x51\xfc\x8a\x79\x4b\x2f\xc1\x94\xac\x79\xd9\xea\x3c\x2c\x66\x77\x21\xb0\x25\x1b\x3e\xf7\x08\x74\x8e\xc3\x46\x58\xe1\x11\x76\x98\x8b\x96\x74\xf1\xb0\x97\x07\x74\xbc\x9c\x92\x82\x7f\x88\x9d\x54\xd2\x1f\xc9\x37\xae\x12\x16\x33\x01\x16\x4b\xb4\xa8\x73\xce\xa7\x10\x46\x96\x1e\xf4\x32\x5a\x1d\x01\xbf\x36\xc6\x45\x51\xa5\x44\x55\xb8\x41\xa3\x4c\x6a\x30\x1a\xc1\x58\xa8\x8d\xc5\xa4\xf1\xe0\x0a\x4a\x4c\xca\x69\x67\xa2\x42\x21\x43\x67\xda\xd4\xe2\x0b\x42\xde\x3a\x6f\xea\xde\xc3\xd1\x35\x7d\x10\xc9\x37\x53\x2f\x53\x82\x1b\x38\x08\x2b\x4d\x4b\xab\xa5\xde\x3b\xe8\xa4\xaf\x58\x7c\xc8\xc6\x4d\x76\x6d\x2c\xe0\x57\x41\x62\xd6\x20\xa0\x14\x6d\x8e\x1e\x72\xa1\x61\x87\x83\x74\x2c\x60\x77\x4c\x05\x25\xf5\x3e\x0b\xee\x80\x94\x14\x93\x6c\x79\x7e\x99\x65\xb2\x6e\x8c\xf5\xf0\x8b\xc4\xee\x23\x3a\xa3\x0e\x68\xa1\xb4\xa6\x86\x67\xe3\x47\xcf\xb2\xec\xf2\xf2\x72\x5a\x3c\xf4\x64\xf2\x34\x02\x44\xaf\x8b\x88\xd9\x62\x71\x04\x14\x16\x7f\x6b\xa5\x5d\x2a\xab\x69\x31\xb0\xe4\x41\x59\xf8\x8c\xe0\xbc\x54\x2a\x80\x86\xf4\x20\xdc\x04\x74\xa0\x42\x3b\xe4\x8d\xe7\xbf\x38\xa5\x4c\xcd\x99\x53\xb6\x8a\x45\xb6\x3e\x44\xab\x46\x5f\x99\x22\x06\xa7\x16\xfa\x08\x8d\x35\xbf\x22\x83\x13\x1d\x13\x0e\x23\x04\x22\x4d\xf9\x50\xa3\x67\x58\xe3\xd6\x2c\x32\x22\x47\x48\xe1\xdd\x91\x8c\xad\x51\x68\xd7\xdb\xba\x61\x30\x0c\x69\x30\x3c\xa5\xdf\xfc\xac\x8f\x72\xb0\x39\x39\xc5\x4d\xca\x7d\x80\x0e\x91\xe7\xe8\xdc\x85\x50\x6a\xd5\x6b\x32\x83\xb5\xbb\x2c\x03\x00\xb8\xbc\x84\x37\x1a\x50\x7b\xe9\xa3\x9f\x4b\x63\x49\x17\xd3\x49\xbd\x67\xf1\x94\x66\x85\x15\x9d\x50\x9c\xf3\x9c\x6b\x21\xfe\x22\x14\x10\x0b\x1a\x1f\x39\x16\xf7\x39\xed\xde\x29\x4c\x47\x5e\x72\xcf\xc1\x43\x08\x6b\x30\x19\x6b\xe9\x29\x35\xbb\x0a\x75\x3a\x84\x9c\x95\x4e\xd7\x8f\x1c\x79\x18\x1f\x76\x21\x6a\xd3\x6a\x7f\x05\x9f\xae\xe5\xd7\xbf\xfc\x79\xcd\x68\x79\x05\x37\xde\x4a\xbd\x5f\xb3\xa4\x2b\x78\x53\x14\x16\x9d\x7b\x1d\xfe\xfe\xf4\xe9\xc3\xbb\x2b\xf8\xf4\x41\x7b\x5a\xdf\x9f\x3a\x7e\xbc\xfa\x3d\xfa\x17\xd8\x18\x27\x7d\xc8\xe6\x87\xb5\x7f\x17\x96\x3e\xa2\xbc\x37\x63\xd5\xbd\x99\x2a\xde\x1f\x77\x46\xf1\xf7\x0f\x28\x5d\x21\xec\x95\xd9\x09\x05\xbb\xd6\xea\x98\xfe\xb4\x2c\x17\x4a\xd1\x2a\xc2\x1b\x01\xda\xe8\x17\xff\x41\x6b\x60\x17\x3a\xc5\x19\x6b\xde\xb6\x56\x3f\x21\x0e\x67\xf4\x7c\x3b\x92\x4d\x20\x32\x76\xfc\x50\xd0\x6c\x47\x13\x70\xcb\x0d\xb4\xa3\xc7\xec\x7f\xf6\xfb\x28\xab\xf7\xe8\x3d\x25\x75\xd4\x1b\x24\x23\x20\x43\xd0\xe4\x9c\xb1\x2d\xa7\x4d\x30\xa9\x06\x77\xbc\x38\x1d\xf0\x33\x86\x2a\x4d\xc2\x63\x7b\x38\xf4\xf1\x9e\x4b\x3e\x48\xec\x48\x53\x52\x2b\x8a\xbc\x58\x25\x4f\xf1\x8e\xfb\xc1\x1d\x09\x9b\x9f\xe2\x0f\x24\xb3\xf2\xd8\xc5\x22\x92\x04\xb0\x20\x27\xa4\xcc\x26\xe0\x4f\x42\xc6\x35\xcd\x3d\x2d\xe1\x0b\x43\xc0\xb1\xc1\xcd\xc9\xb9\x1f\x3c\xf4\x2c\x2a\x1e\x38\x3d\xcb\x68\xd8\xee\x12\x95\x20\xa8\x5d\xf7\x7b\x47\x9d\x5b\xa1\xa0\x4e\x69\x9a\x98\x7f\x8d\x71\x4e\xc6\x66\x69\x4a\xc8\x2d\x0a\x56\x22\x36\xcc\x18\x6a\xeb\x06\xd5\xc9\x62\xa2\x61\xcc\xe6\xc8\xbb\xc2\x4a\x75\x8c\xb4\x8c\xa1\xd8\x74\x3a\x45\x65\xf3\x2d\x71\xee\xfb\x61\x84\xca\x74\x64\xf2\x20\xb8\x76\x17\xb9\xea\x83\x0e\x4c\xa2\x27\x42\x88\x1f\x59\xf4\xad\x25\x98\x88\x3c\xa4\xef\xe7\x16\x6b\x73\x60\xc4\x08\x7d\x7d\xb4\x71\x22\xe4\x76\xc4\x98\xbe\x77\xd1\x1e\x50\x78\x40\x45\x65\xbb\x8d\x06\x8e\x21\x78\xb5\x9d\x48\xb8\x31\x44\xb4\x8c\x25\x33\x09\x9f\x82\x04\xe9\xd7\x4c\x75\x02\x05\x47\x49\xad\xb2\xf7\x28\x98\x1d\xf5\x40\x90\xde\xa1\x2a\x27\xd2\x0c\x93\xfc\x88\xfe\xc5\x88\x70\xb1\x65\xdb\xb1\x1e\xdb\x65\xab\x96\x34\xe6\x22\xe9\x96\x91\x7d\x75\x05\x3f\xde\xb1\xf7\xee\x47\xf5\x48\xff\x88\x7c\xce\x1e\xc5\x7e\xb7\xb5\xe8\x22\x3d\x2e\x99\xa0\x99\xe8\x74\x8a\x06\x1c\x84\x6a\xf1\x64\x5b\xd8\xb2\x19\x97\x2a\xbc\x7c\x09\x51\x99\x93\xe5\xf4\xef\xd9\xe7\xa1\x6f\x86\x75\x50\xb7\xce\x13\x15\xa3\xe3\x9c\xa8\x91\x08\xca\x02\x66\x0c\x2d\x8f\x2d\x7b\x76\x22\x9e\x60\xfb\xb4\xd7\x85\xff\x13\xc6\x52\x70\x48\xdf\xdb\x63\x83\x17\xab\x8d\x2c\x28\x2c\xa5\x44\x9b\xda\x1f\x2f\x30\x9d\x46\xfb\x7a\x23\x42\x3f\x19\x23\x32\xbf\x6e\x5b\x59\x9c\x34\xc3\xe8\x0b\x7a\xb7\x9a\xa8\x76\x9f\x4d\x7f\x8d\xf0\x2b\x0d\x19\xff\x3b\x7e\xc5\x06\xb7\x00\x5f\x52\xc7\x48\x3e\x01\xbe\x3e\x63\x02\x0d\xa9\x73\xd5\x16\x08\x02\xfa\x49\x25\xa8\x91\x57\x98\x7f\x99\xc6\x27\x02\x57\x2f\xa5\xc3\x9e\xfd\x11\xe3\x7f\x0a\xe1\x0f\x6e\x08\xac\xae\x97\x43\x0c\xbd\x30\x69\xd1\x32\xbb\x5f\x83\x92\x5f\x10\x5c\xa3\x24\x37\x9a\x1a\xda\x86\x50\xa4\x17\xe2\x50\x17\xe1\x05\x0d\x0b\xb2\xe4\xda\xf3\xd0\xa8\x30\x9b\xc0\xd3\x81\x2f\x05\x6b\x0e\x7c\xd1\xf5\xe0\xc5\x17\x1c\x50\x8b\x90\x2c\xbe\x21\xe4\x38\x13\x86\xc9\xdc\xfa\x50\xe9\xb3\x52\x54\xf1\x51\xe6\x45\xc8\xd6\x54\xe5\xab\xa9\x4a\x7b\xf4\x37\x6d\x43\xe3\x09\x16\xbc\x80\xd2\x9d\xfa\x09\xc5\x51\x28\x75\x1c\x81\xac\x92\xce\x53\x89\x1d\xc2\xd0\xc7\x0b\x23\xb9\x66\xca\x1d\x8d\x26\x3d\x1a\xef\x1e\xed\xd9\x0b\xe7\x52\xff\xbe\xbb\xe5\xf2\x7b\x6b\x8c\xba\x9f\xea\xfa\x31\x6a\xd2\x55\xc8\x80\x6a\x2c\x27\x20\xd3\x2e\x79\xa0\x06\x48\x23\xbd\x74\x51\x83\x30\xa6\xd1\xdb\x49\xf1\x24\x69\x6f\x92\x1d\x9c\xab\x42\xc7\x5d\x40\x63\x0a\x0b\x72\x15\xa3\xf7\xaf\x84\x39\x11\xdb\xbc\x6d\x79\xfa\x28\xb0\x7c\x9c\x96\x48\x77\x6a\xe1\x45\xc0\x16\xfa\xb9\x0a\x36\xce\x0b\x7d\xe0\xb7\x13\xb6\x50\x20\x05\x63\x1d\x5c\x3d\x64\x5a\x68\x30\x3c\x32\x0f\x17\x3c\xbd\xbd\xeb\x44\xb5\xd6\x70\x6b\x85\x76\x25\x5a\x63\xd7\x7d\x5f\x0e\xf7\x15\x69\xfc\x1c\xd8\x45\x3b\xf0\x5b\xf2\xaf\x4b\x56\xc0\x11\xfd\xb7\x94\x01\x9b\x72\x35\xd2\x66\x38\xb8\xd7\x6b\x3c\x00\x6f\xfa\xe1\x78\x56\x37\xd7\x12\x55\x11\x53\xcd\x8a\x39\xa8\x98\x12\xc4\x43\x34\x51\xd8\xb4\xb4\x27\x87\x7f\x24\xf1\xfc\x3f\x2a\xaf\x59\x7b\xa7\xa9\x01\x95\xe9\x02\x72\x53\xf8\xc7\x57\x1e\x09\x89\x5d\x6b\x63\x9f\xb1\xad\x7e\xe1\x65\x1d\xaf\xd2\x38\x15\xe7\xf2\xf8\x52\x68\x8f\xa9\x80\xc6\x93\x52\x23\x18\x5e\xfb\xbc\x89\xf9\x1b\x71\x7b\x7a\x5d\xba\x09\x03\xfa\x06\x26\xf2\x65\x79\xd2\xa4\xdd\x4d\xbb\x23\x6d\x2e\x4c\x19\xaa\xec\xaf\x3f\xde\x2d\x48\xba\x7f\x75\xb1\x5a\x2d\x90\x9b\x58\xe6\x77\x53\xb1\x57\x5c\xf7\xf7\xd3\x56\x0d\xa8\x1c\x2e\xf3\xa3\x80\x53\xcc\xe4\xea\xc6\x1f\xa1\x90\x4c\x30\x85\x3d\x26\xbe\x12\xf1\x23\x70\x25\xee\xca\xbd\x1b\xba\xca\x40\x61\xf4\xf7\x7e\x49\xf2\x70\x99\xb3\xe8\x9f\x35\xb8\x36\xaf\xe8\x90\xe9\xeb\x9b\x4e\xfa\xbc\xda\x19\x61\x8b\xed\x1a\xb6\xfc\xec\xda\xd8\x4e\x10\x6d\xdd\x02\xfa\x7c\x73\xd6\x15\xf7\x67\x19\xca\x24\xd1\x7f\x0a\xcd\x5e\x96\x0b\x70\x3c\x00\x08\xe3\xb1\x74\x23\x90\x3b\x9b\xc1\x4f\x43\xcf\x59\x00\xa2\xd2\x29\x7c\x8b\x25\xf0\x0f\x12\xf2\x2f\x78\xfd\x1a\x4a\xa1\x1c\x9e\x33\x28\x35\x1b\xbe\xcf\xbe\x65\x01\xef\x84\x17\x51\x41\x63\x47\x86\xac\xa1\xab\x64\x5e\xf1\x45\x91\x90\xda\x4d\xe7\x14\xa5\xc0\xa2\xc2\x03\xf1\x9c\x46\xf8\xca\x05\x82\xe9\x02\xfa\xf2\x80\x16\xc1\xa6\x1f\x45\xce\xb6\xf4\x3d\xfa\x91\x2e\x84\x9d\x94\x9d\x6f\xf4\xf1\xc6\xdb\x36\xf7\x8f\x8e\x59\xdb\x40\x71\xb7\xc3\xa0\xc5\xc2\xbe\x77\x93\xab\x08\x58\x1c\xb1\x34\x76\xf3\x31\x2b\x09\xa6\xc8\x9e\xee\xff\x23\x66\x12\xbb\x54\x72\x29\xdc\xc3\x64\xf1\xea\x91\xc9\xe2\x4d\x18\x27\x86\x39\x21\x0d\x16\x8a\xa6\x37\x5f\x09\x1a\xe9\x00\x7f\x6b\x85\x0a\x7f\x2d\xf4\x87\x85\xd1\xe2\xfe\x89\x03\x54\xbc\x3d\x05\xd7\x60\x2e\x85\xea\xe3\x0e\xdb\x1d\x96\xc6\xe2\x96\x09\x71\x6c\x4b\x01\x23\xe2\xa1\xc3\x8d\x00\xdf\xae\x2f\x09\x8f\x97\x9d\x3b\xdc\x4b\xad\x89\x39\xce\xbe\x0c\x0c\xdf\x0c\x16\x76\x3f\xc1\xb7\x2f\x5f\x42\xd0\xf2\xe2\xe4\xdd\x0a\x5e\x3c\xec\xf7\xbf\xf5\x39\x94\x9c\x39\x9e\xe8\x12\xe7\x1e\x7c\xdc\x58\x3c\xf0\x85\x7d\x5a\x2e\x02\x45\x9f\x4f\x78\xe9\xfd\xb9\x70\xdc\x3f\x95\x87\x8b\xa2\x20\x0e\x3e\x1c\x18\xa9\xf8\x24\xf6\x27\x00\xf6\x2d\x2c\x7c\xa9\x1b\xcd\x5b\x11\xb1\x53\xe7\xd0\xfa\xe1\xee\x3a\x37\x3a\xb7\xe8\x63\xaf\x8d\xee\x19\xae\x46\x03\x7e\x48\xd7\x4f\xc6\x73\x79\xb1\xf1\x8c\x28\x6f\xcf\x93\xd3\x35\x75\x94\xf6\x84\x82\x23\x5b\x36\xd2\x7d\xd0\xce\x73\xe0\xa7\xed\x72\x75\x05\xcb\xd1\xff\x49\x68\xe2\x93\xc9\xfb\xfc\x65\x21\x37\x75\x23\xfc\xe8\xfb\x1c\xd9\x77\x66\x60\x9f\x5f\xef\xb2\x1a\xe3\xfc\x4b\xa3\x7b\x7a\xb1\x30\xba\x7b\x73\x66\x70\x4f\xf7\xc0\xa3\xb1\x7d\x76\x15\xcc\x52\x1f\x1a\xda\xe1\x7c\xd1\x7f\x63\x19\xfd\x29\xbd\x3b\x31\x71\xf5\xbb\x2a\xcb\xb5\xf5\xa3\x25\x35\x24\xd3\x83\xc8\x36\x2b\xa5\xd0\xbf\xde\x13\xcf\x89\x55\xa4\x94\xe9\x1c\x4f\x51\xe1\x5b\xa2\x49\x3d\x6e\xdc\x42\x38\x03\x2b\x41\xc5\x77\x72\x13\x0e\x8f\x54\xd4\xfc\xc8\x8b\x6f\xbe\xc3\x3a\x73\x19\xf5\xc3\xe6\x87\x2b\x78\x76\x5b\x21\x29\xaa\x8e\xf1\xa0\xe8\x8f\xe0\x4f\xfe\x46\x35\xd6\xf8\xbc\x9b\x60\x3a\xd7\xfd\x1c\x3e\x0c\xc4\x6f\x02\xde\x84\x4f\x04\xe4\xa6\xe9\x67\xa5\xe5\xef\x1b\x64\x37\x6d\xb8\xf8\x77\x28\xe1\xa7\x20\x89\x8c\xa3\xc4\x26\x45\xfa\x15\x59\x38\x73\x07\x17\xd6\xe4\x4b\xc3\x64\x4f\xaa\xa8\xf0\xf0\xfc\x6d\x58\xa8\x90\xb0\x6a\x5a\x22\x83\x4b\x0a\x74\xde\x9a\xe3\x68\xb0\xba\xcf\xee\xff\x1b\x00\x00\xff\xff\x3f\xda\xf6\x5a\x43\x21\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4d\x93\xdc\xb6\xd1\xbe\xf3\x57\xf4\xbb\x3e\x68\xc7\xef\x68\xd6\x87\x54\x0e\x5b\x91\x64\xc9\xf6\xa6\x74\x70\x2a\x65\xad\xac\x83\x93\xca\x60\xc8\xe6\x0c\x2c\x10\xa0\x01\x70\x46\x93\xad\xfd\xef\xa9\x6e\x00\x24\xc1\xe1\xec\xae\x1c\x2b\xba\x78\x96\x04\x1a\xfd\xf9\xf4\xd3\xa0\xaf\xbe\xfe\xba\x28\xbe\x82\xdb\x1d\xc2\x8d\x32\x07\xb8\xe9\xf4\x56\x6e\x14\xc2\xad\xf9\x88\x1a\x9c\x17\xba\x12\xb6\x2a\x8a\xaf\xbe\x82\x75\x7a\xc9\xef\xd6\x50\x1a\xed\xad\x28\x7d\x51\xf0\xf6\xf9\x9d\x20\x1d\x68\x03\xca\xe8\x2d\x5a\x10\x1a\xa4\xf6\x68\x6b\x51\x62\xe1\x77\xc2\x83\x50\x0a\xea\xb4\xd5\xf3\xd6\x24\xd7\xc1\xc1\x74\xaa\x82\x9d\xd8\xd3\x2b\x7a\x5e\x1b\xdb\x80\x37\xab\xa2\x78\x5b\x83\x80\xce\xa1\x75\x70\x10\xda\x3b\x5a\x50\x61\xab\xcc\x11\x04\x68\x3c\x4c\x64\x2d\xc1\xef\x50\xda\x41\xe7\xca\x20\x29\xe6\x41\x23\x56\xb4\x59\x36\xad\xc2\x06\xb5\xa7\x95\x90\x99\x3a\xe8\xbc\x84\x4d\xe7\xa3\x28\x3e\xc0\x15\x95\x39\x23\xa2\xdf\xe4\xa0\xc2\x5a\x6a\xac\x40\x6a\xf0\x3b\xe9\x7a\x2d\x56\xc1\xaf\x3f\x8b\x4e\xf9\x35\x58\x74\xa6\xb3\xe5\x68\x67\x51\xfc\x20\xca\xdd\xd4\x3f\xfd\x3a\x7f\x6c\x91\x0f\x77\xa7\xa7\x9f\x17\x1a\x0f\xfd\xbb\x35\x7b\x59\xa1\x5d\x2f\x61\xfd\x13\x96\x28\xf7\xfc\x5b\xe8\x0a\xd6\x6f\x84\x12\xba\xc4\xb9\xdd\x8e\xa3\xed\x26\xe6\x95\x4a\x58\x84\xd6\xe2\xf3\xd2\xe8\x4a\x7a\x69\xb4\x63\x51\xad\x71\x7e\xfc\x8c\x63\x6e\xd1\x79\x2b\x4b\x5f\x90\xa2\xf8\x09\xcb\x8e\x5e\x82\xa9\x59\xf3\xba\xd3\x65\x58\xcc\xee\x42\x60\x4b\x56\x7c\xee\x11\xe8\x1c\x87\xad\xb0\xc2\x23\x6c\xb0\x14\x1d\xe9\xe2\x61\x2b\xf7\xe8\x78\x39\x25\x05\xff\x10\x1b\xa9\xa4\x3f\x92\x6f\xdc\x4e\x58\x2c\x04\x58\xac\xd1\xa2\x2e\x39\x9f\x42\x18\x59\x7a\xd0\xcb\x68\x75\x04\xfc\xd4\x1a\x17\x45\xd5\x12\x55\xe5\x06\x8d\x0a\xa9\xc1\x68\x04\x63\xa1\x31\x16\x93\xc6\x83\x2b\x28\x31\x29\xa7\x9d\x89\x0a\x85\x0c\x9d\x68\xd3\x88\x8f\x08\x65\xe7\xbc\x69\x7a\x0f\x47\xd7\xf4\x41\x24\xdf\xe4\x5e\xa6\x04\x37\xb0\x17\x56\x9a\x8e\x56\x4b\xbd\x75\x70\x90\x7e\xc7\xe2\x43\x36\xae\x8a\x1b\x63\x01\x3f\x09\x12\xb3\x04\x01\xb5\xe8\x4a\xf4\x50\x0a\x0d\x1b\x1c\xa4\x63\x05\x9b\x63\x2a\x28\xa9\xb7\x45\x70\x07\xa4\xa4\xc8\xb2\xe5\xeb\xab\xa2\x90\x4d\x6b\xac\x87\x9f\x25\x1e\x7e\x42\x67\xd4\x1e\x2d\xd4\xd6\x34\x70\x31\x7e\x74\x51\x14\x57\x57\x57\x79\xf1\xd0\x93\xec\x69\x04\x88\x5e\x17\x11\xb3\xc5\xe2\x08\x28\x2c\xfe\xd6\x49\x3b\x57\x56\x79\x31\xb0\xe4\x41\x59\xf8\x80\xe0\xbc\x54\x2a\x80\x86\xf4\x20\x5c\x06\x3a\xb0\x43\x3b\xe4\x8d\xe7\xbf\x38\xa5\x4c\xc3\x99\x53\x77\x8a\x45\x76\x3e\x44\xab\x41\xbf\x33\x55\x0c\x4e\x23\xf4\x11\x5a\x6b\x7e\x45\x06\x27\x3a\x26\x1c\x46\x08\x44\x9a\xf2\xa1\x46\x4f\xb0\xc6\x2d\x59\x64\x44\x8e\x90\xc2\x9b\x23\x19\xdb\xa0\xd0\xae\xb7\x75\xc5\x60\x18\xd2\x60\x78\x4a\xbf\xf9\x59\x1f\xe5\x60\x73\x72\x8a\xcb\xca\x7d\x80\x0e\x51\x96\xe8\xdc\xa5\x50\x6a\xd1\x6b\x32\xf2\x43\x16\xa3\xeb\x3c\xb0\x77\x45\x01\x00\x70\x75\x05\xaf\x35\xa0\xf6\xd2\x47\xff\xd7\xc6\x92\x8e\xe6\x20\xf5\x96\x8f\xa5\xf4\xab\xac\x38\x08\xc5\xb5\xc0\x39\x18\xf2\x42\x84\xc2\x62\x41\x63\x55\xc6\xe2\x3e\xc4\xdd\xe9\xb8\x2b\xee\x43\xb8\x0f\xa1\x0e\x6e\xc0\x46\x7a\x4a\xd7\xc3\x0e\x75\x3a\x80\x1c\x98\x4e\xd6\x8f\x1c\xb7\x1f\x1f\xa4\x2f\x45\x63\x3a\xed\xaf\xe1\xfd\x8d\xfc\xf4\xe7\x3f\x2d\x19\x42\xaf\xe1\x9d\xb7\x52\x6f\x97\x2c\xea\x1a\x5e\x57\x95\x45\xe7\x5e\x85\xbf\xdf\xbf\x7f\xfb\xfd\x35\xbc\x7f\xab\x3d\xad\xef\x8f\x1d\x3f\x5e\xfc\x1e\x03\x2a\x6c\x8d\x93\x3e\xa4\xf8\xc3\xea\x7f\x9f\x96\x3e\xa2\xbe\x37\x63\xe5\xbd\xc9\x55\xef\x0f\x3c\xa3\xfa\x0f\x0f\xa8\xbd\x43\xd8\x2a\xb3\x11\x0a\x36\x9d\xd5\xb1\x2a\x68\x59\x29\x94\xa2\x55\x04\x43\x02\xb4\xd1\xcf\xff\x8d\xd6\xc0\x26\x34\x90\x33\xf6\xbc\xe9\xac\x7e\xd4\x98\xa9\xef\x47\x9a\xbe\x19\x49\x27\x74\x19\x3b\x7f\xc8\x70\xb6\xa4\x0d\x80\xe6\x06\x3e\xd2\x83\xf9\x3f\xfa\x7d\x94\xd6\x5b\xf4\x9e\xb2\x3a\x6a\x0e\x92\xa1\x91\xb1\x29\x3b\x67\x6c\xcd\x69\x77\x4c\xaa\xc1\x1d\x2f\x4e\x07\xfc\x15\x43\xf9\x26\xe1\xb1\x6f\xec\xfb\x98\x4f\x25\xef\x25\x1e\x48\x53\x52\x2b\x8a\xbc\x5c\x24\x4f\xf1\x8e\xfb\xc1\x1d\x09\xb4\x9f\xe2\x0f\x24\xb3\xca\xd8\xde\x22\xc4\x04\x14\x21\x27\xa4\xec\xa6\x8e\x90\x84\x8c\x8b\x9a\x9b\x5d\x02\x1e\xc6\x80\x63\x8b\xab\x93\x73\xdf\x7a\xe8\xe9\x55\x3c\x30\x3f\xcb\x68\x58\x6f\x12\xc7\x20\x0c\x5e\xf6\x7b\x47\x2d\x5d\xa1\xa0\x16\x6a\xda\x98\x81\xad\x71\x4e\xc6\x2e\x6a\x6a\x28\x2d\x0a\x56\x22\x76\xd2\x18\x6a\xeb\x06\xd5\xc9\x62\xe2\x67\x4c\xf3\xc8\xbb\xc2\x4a\x75\x8c\x7c\x8d\x31\xda\x1c\x74\x8a\xca\xea\x73\xe2\xdc\x37\xca\x88\x95\xe9\xc8\xe4\x41\x70\xdd\x26\x92\xd8\x07\x1d\x98\x44\x67\x42\x88\x38\x59\xf4\x9d\x25\xa8\x88\x04\xa5\x6f\xf4\x16\x1b\xb3\x67\xd4\x08\x0d\x7f\xb4\x31\x13\x72\x3b\xa2\x52\xcf\x5c\xb4\x07\x14\xee\x51\x51\xe1\xae\xa3\x81\x09\x1a\x17\xeb\x6c\xf7\x3b\x43\xec\xcb\x58\x32\x91\xf0\x29\xec\x96\x7e\xc9\xfc\x27\xf0\x72\x94\xd4\x3f\x7b\x6f\x82\xd9\x50\x63\x04\xe9\x1d\xaa\x3a\x93\x66\x98\xf9\x47\xe8\xaf\x46\x2c\x8c\xad\x5a\x27\x1d\xd6\xf3\xd6\x4c\x35\xe5\xc2\x48\x8e\x9e\xa0\xc8\xe2\x1a\xbe\xbd\x63\x8f\xdd\x8f\x6a\x90\xfe\x11\x13\x9d\x3c\x8a\x4d\x6e\x6d\xd1\x45\xae\x5c\x33\x5b\x33\xd1\xd1\x14\x01\xd8\x0b\xd5\xe1\xc9\xb6\xb0\x65\x35\x2e\x4f\x78\xf1\x02\xa2\x32\x27\xcb\xe9\xdf\xc5\x87\xa1\x59\x86\x75\xd0\x74\xce\x13\x2f\xa3\xe3\x9c\x68\x90\xd8\xca\x0c\x4e\x0c\xbd\x8e\x2d\xbb\x38\x11\x4f\x60\x3d\xd3\xe4\xc2\x7f\x13\xb0\x52\x54\x48\xe1\xdb\x63\x8b\x97\x8b\x95\xac\x28\x1e\xb5\x44\x9b\xfa\x1e\x2f\x30\x07\x8d\xf6\xd5\x4a\x84\x36\x32\x86\x61\x7e\xdd\x75\xb2\x3a\xe9\x82\xd1\x19\xf4\x6e\x91\xe9\x76\x5f\xe4\xbf\x46\xa0\x95\x46\x8e\xff\x1e\xb4\x62\x5f\x9b\xc1\x2c\xa9\x63\x28\x9f\x80\x59\x1f\x30\x21\x85\xd4\xa5\xea\x2a\x04\x01\xfd\xdc\x12\xd4\x28\x77\x58\x7e\xcc\x03\x14\xd1\xaa\x97\x72\xc0\x9e\x0b\x12\xff\x7f\x0a\xfd\x0f\x6e\x08\x1c\xaf\x97\x43\x7c\xbd\x32\x69\xd1\x3c\xd7\x5f\x82\x92\x1f\x11\x5c\xab\x24\x77\x97\x06\xba\x96\xa0\xa3\x17\xe2\x50\x57\xe1\x05\x8d\x0e\xb2\xe6\xa2\xf3\xd0\xaa\x30\xa9\xc0\xd3\xd1\x2e\x05\x6b\x8a\x76\xd1\xf5\xe0\xc5\x47\x1c\xa0\x8a\xe0\x2b\xbe\x21\xc8\x38\x13\x86\x6c\x8a\x7d\xa8\xee\x59\x29\x2a\xf9\x28\xf3\x32\x64\x6b\x2a\xf3\x45\xae\xd2\x16\xfd\xbb\xae\xa5\x61\x05\x2b\x5e\x40\xe9\x4e\x4d\x84\xe2\x28\x94\x3a\x8e\x90\x55\x49\xe7\xa9\xc6\xf6\x61\x04\xe4\x85\x91\x6a\x33\x01\x8f\x46\x93\x1e\xad\x77\x8f\x36\xea\x99\x73\xa9\x69\xdf\xdd\x72\xf9\xbd\x31\x46\xdd\xe7\xba\xfe\x14\x35\x39\xec\x90\x91\xd4\x58\x4e\x40\x66\x5b\x72\x4f\x5d\x8f\x06\x7c\xe9\xa2\x06\x61\x68\xa3\xb7\x59\xf1\x24\x69\xaf\x93\x1d\x9c\xab\x42\xc7\x5d\x40\x43\x0b\x0b\x72\x3b\x86\xed\x5f\x09\x74\x22\xb8\x79\xdb\xf1\x2c\x52\x61\xfd\x38\x17\x91\xee\xd4\xc2\xcb\x80\x2d\xf4\x73\x11\x6c\x9c\x16\xfa\x40\x6c\x33\x8a\x50\x21\x05\x63\x19\x5c\x3d\x64\x5a\xe8\x2c\x3c\x40\x0f\xd7\x3d\xbd\xbd\xcb\xc4\xaf\x96\x70\x6b\x85\x76\x35\x5a\x63\x97\x7d\x33\x0e\xb7\x17\x69\x8c\x19\x28\x45\x37\xd0\x5a\xf2\xaf\x4b\x56\xc0\x11\xfd\xe7\x94\x01\x9b\x72\x3d\xd2\x66\x38\xb8\xd7\x6b\x3c\x48\xad\xa6\x13\x55\xd2\xe8\x46\xa2\xaa\x62\xaa\x59\x31\x05\x15\x53\x83\x78\x88\x1b\x0a\x9b\x96\xf6\x8c\xf0\x4b\xb2\xcd\xff\x75\x79\xa5\x26\x10\x73\x72\x72\x51\x00\x9c\x2e\x8c\xd0\x55\x3e\xcc\xf3\x31\x61\xb6\xc2\x4f\x2d\x96\x1e\xab\x4c\xa6\x37\xe1\x82\xa7\x2f\xa6\x81\x01\x92\x6e\x4b\x70\x26\xcc\xe7\x3c\xc5\xeb\xe1\x5a\x2f\x12\x4b\xbe\x47\xc8\x74\xc9\xc4\x53\x2b\x62\xc3\x12\xe9\xfa\x23\xf0\x62\x42\x58\x68\xf6\x41\x65\x0e\xa1\x15\xb1\x2b\x46\x37\x3a\xa9\xb5\xb8\xce\xc6\xc6\x69\x3b\xfd\xdc\xcb\x26\xde\x14\x72\x6d\x4d\xe5\xb1\x4b\xb6\x98\x10\x61\x3c\xf1\xb5\x82\xfb\x45\x5f\x08\xb1\x20\x63\x23\xca\x6f\x83\x57\xe1\xfe\x61\x05\x99\x7c\x59\x9f\xb0\x0e\xf7\xae\xdb\x90\x36\x97\xa6\x0e\xb0\xf1\x97\x6f\xef\x66\x24\xdd\xbf\xbc\x5c\x2c\x66\xe8\x5a\xc4\xad\xbb\x5c\xec\x35\x03\xd9\x7d\xce\x3d\x00\x95\xc3\x79\xc6\x17\x80\x97\x39\x69\xd3\xfa\x23\x54\x92\x23\x26\xec\x31\x31\xb0\x94\x7c\xcc\xfe\x38\xb6\xbd\x1b\x0e\x3b\x03\x95\xd1\xcf\xfc\x9c\xe4\xe1\xae\x6a\xd6\x3f\x4b\x70\x5d\xb9\xa3\x43\xf2\xd7\xef\x0e\xd2\x97\xbb\x8d\x11\xb6\x5a\x2f\x61\xcd\xcf\x6e\x8c\x3d\x08\x22\xe0\x6b\x40\x5f\xae\xce\xba\xe2\xfe\x2c\xe5\xca\xf2\xf3\xbb\xc0\x5e\x64\x3d\xd3\x5f\x06\x44\xe4\x06\x23\xdd\x08\xb5\xcf\x66\xf0\xd3\xda\xc1\x24\x00\x51\xe9\x14\xbe\xd9\x12\xf8\x85\x84\xfc\x13\x5e\xbd\x82\x5a\x28\x87\xe7\x0c\x9a\x19\xb5\xd6\x81\xf1\xae\x87\x61\x8b\xe5\x3e\x73\xd9\x85\x04\xcc\x8e\x59\x1a\x0f\xd3\x51\x2b\x09\x26\xbf\x9c\xee\xff\xa3\xe7\x13\x3b\x97\xac\xc9\x51\xc3\x94\xf1\xf2\x91\x29\xe3\x75\x18\x2d\x86\x99\x21\x0d\x19\x8a\x26\x38\xbf\x13\x34\xd6\x01\xfe\xd6\x09\x15\xfe\x9a\x69\x15\x33\x63\xc6\xfd\x13\x87\xa9\x78\xad\x0a\xae\xc5\x52\x0a\xd5\xa3\x21\xac\x37\x58\x1b\x8b\x6b\xe6\xc6\xb1\x43\x85\xea\x8a\x87\x0e\x37\x02\x7c\xed\x3e\x27\x3c\xde\x82\x6e\x70\x2b\xb5\x26\x12\x39\xf9\x64\x30\x7c\x4c\x98\xd9\xfd\x04\xdf\xbe\x78\x01\x41\xcb\xcb\x93\x77\x0b\x78\xfe\xb0\xdf\xff\xd6\xe7\x4f\x72\xe6\x78\xba\x4b\xf4\x7b\xf0\x71\x6b\x71\xcf\x37\xf9\x69\xb9\x08\x6c\x7d\x3a\xed\xa5\xf7\xe7\xc2\x71\xff\x54\x4a\x2e\xaa\x8a\xe8\xf8\x70\x60\x64\xe5\x59\xec\x4f\x4a\xff\x73\x08\xf9\x1c\x8e\x4f\x41\x9c\x88\xaa\x73\x68\xfd\x70\xa9\x5d\x1a\x5d\x5a\xf4\xb1\x4b\x45\xf7\x0c\xd7\xa3\x81\x3e\x48\xd7\x4f\xc9\x53\x79\x11\xb2\x47\xec\xb7\xa7\xcc\xe9\x9e\x3a\x4a\x7b\x42\xc1\x91\x2d\x2b\xe9\xde\x6a\xe7\x39\xf0\x79\xa3\x59\x5c\xc3\x7c\xf4\xbf\x13\x9a\xa8\x65\xf2\x3e\x7f\x72\x28\x4d\xd3\x0a\x3f\xfa\x70\x47\xf6\x9d\x19\xde\x4f\xaf\x78\x59\x91\x71\x06\xa6\x39\x3e\xbd\x98\x99\xe3\xbd\x39\x33\xc5\xa7\xbb\xe0\xd1\x0c\x3f\xb9\x0e\x66\xa9\x0f\x4d\xf0\x70\xbe\xec\x3f\xb3\x90\xfe\x3f\xbd\x3b\x31\x71\xf1\xbb\x6a\xcb\x75\xcd\xa3\x45\x35\xa4\xd3\x83\xd8\x36\x29\x26\xbe\x62\xc4\x1f\x88\x23\xc4\x3a\x52\xca\x1c\x1c\x8f\x54\xe1\x33\xa3\x89\x6b\xb2\x06\xc2\x39\xb8\x13\x54\x7e\x27\xb7\xe1\xf0\x48\x4d\x4d\x8f\xbc\xfc\xec\x1b\xad\x33\x57\x53\xdf\xac\xbe\xb9\x86\x0b\x22\xd6\x1a\x0f\xea\x18\x0f\x8a\xfe\x08\xfe\x64\xe2\x3b\xd6\xf8\xbc\x9b\x20\x1f\xf2\x6e\x12\x00\x7b\xd3\x8f\x96\x3b\xcc\x39\x3f\x8e\x3e\x43\xf5\x1f\xaf\x4e\xc6\xae\x31\x41\xce\x79\xf1\x2f\xb7\x4c\x0b\x06\x83\x67\xec\x8f\xb6\x2b\xd4\x5b\xbf\x83\x97\x40\x26\xff\x48\xa6\x49\x5d\xc9\x92\xe2\x74\x20\x65\x26\x1f\xd4\x93\x9a\xa3\x2f\xf3\xf1\x93\xbd\xbb\x38\x6f\xf3\x17\x48\x8e\xb9\x39\x74\x36\x29\xf6\xc9\x33\x3d\xd7\x9a\x47\xdf\x27\x79\xab\xc7\x12\x4a\x93\x91\x64\x4e\x96\x7e\x2c\x08\xf0\xda\xdf\xeb\x37\xc2\x97\xbb\x58\x5a\x2e\x7c\xa9\x3d\x41\xb7\x2f\x92\x89\x27\x71\xf8\x31\x7c\x8c\xf2\x26\x7c\x9b\x12\x93\xff\x77\x23\xbb\x7f\x98\x49\xc1\xf8\xf9\x39\x5e\x8e\x9c\x9d\xf5\xce\xcc\x77\xfd\x67\x86\xd1\x7d\x7f\xdf\x8b\x12\x08\xf5\x6c\x94\xd3\xed\x99\x03\x6f\xbc\x50\xcc\xba\xd5\x71\x36\xe0\x64\xc9\xe5\xbf\x82\x98\xa7\x74\xd6\xd3\x5e\x96\x70\x77\x5c\x43\x2b\xb2\x5e\x48\xed\x42\xfe\x8c\xda\x5a\xb6\x35\xbc\x4c\xca\xbf\x8c\xf1\xfa\x3e\xdc\x8e\x26\x7e\x37\xfe\x0e\xd8\xe9\xc8\x2d\xa7\x86\x4b\x07\x5b\x0e\xae\x0d\x54\x93\x22\xfa\x7f\x79\x8e\x70\xf7\x9b\x7c\x10\xcc\x14\x48\x6d\x6f\xa2\xf2\xc9\xfd\x75\x68\x63\x61\x55\xde\xc7\x52\xc6\xdc\xff\x27\x00\x00\xff\xff\x47\xdb\xa6\xf0\xed\x24\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +114,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xda, 0x71, 0x1, 0x93, 0x9b, 0x65, 0x63, 0xd4, 0x4e, 0xe4, 0x93, 0x92, 0x4c, 0x21, 0xba, 0x94, 0x3d, 0xb1, 0x5f, 0x64, 0xbf, 0x27, 0x30, 0x15, 0xdd, 0x48, 0x48, 0x9d, 0x51, 0xa7, 0xc7, 0x37}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x29, 0x2, 0x9f, 0xbe, 0x25, 0xaa, 0x2b, 0x53, 0x2b, 0xb5, 0x28, 0x86, 0xa7, 0xad, 0x88, 0xcb, 0x99, 0xee, 0x4, 0x9d, 0x52, 0xd3, 0x6d, 0x73, 0x7, 0xed, 0x51, 0x93, 0xb, 0xe4, 0xc0, 0xb9}}
 	return a, nil
 }
 
@@ -159,27 +158,7 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	return a, nil
 }
 
-var _multiplevaultsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xb1\x8e\x1a\x31\x10\x86\x7b\x3f\xc5\x2f\x2a\xb6\x81\x2b\xa2\x14\x2b\x5d\x14\x25\x0a\xdd\x55\x21\x69\xa2\x14\x73\x66\x96\xb5\xe2\xb5\x2d\x7b\x0c\xd9\x20\xde\x3d\xb2\x77\xe1\x20\x34\x71\x61\xe1\xd1\x30\xff\x37\x9f\x56\x29\x33\x04\x1f\x05\x9b\xec\xf6\xe6\xd5\xf2\xd6\xff\x62\x87\x2e\xfa\x01\x8b\xbb\xda\x42\x29\xd2\x9a\x53\x5a\x92\xb5\x0d\xb4\x77\x12\x49\x0b\x8c\x13\x8e\x1d\x69\xc6\x4b\xb6\x62\x82\xe5\xef\x94\xad\x24\x9c\x94\x02\x80\xf5\x7a\x8d\xcf\xde\x09\x19\x97\x20\x3d\x43\xbc\x90\x45\xca\x21\xd8\x11\xbe\xab\xb5\x6e\x4e\x82\x94\xa8\x84\x1d\x77\xc6\xf1\x0e\xc6\x41\x7a\x93\xae\x69\x75\xe2\x8c\x71\xa9\x35\x38\x50\x9c\xa6\x7e\xad\x43\x5b\x9c\xb6\x63\xe0\x16\xdf\x36\xe6\xf7\xfb\x77\xe7\x37\x8e\x4d\x76\x5a\x8c\x77\x10\x8f\xc8\x92\xa3\x9b\x88\xc6\xc0\x85\x8d\xa4\x3e\xdf\x56\x1b\x82\xe5\x81\x9d\xa4\xdb\xdc\xba\xfe\xc1\xf0\xb1\x50\x63\xcf\x52\xf7\x2d\x89\x69\xd9\xb4\xf8\x51\x7e\xfd\xc4\xa9\xfe\xa5\x9c\xe0\x93\xdc\x3c\xcb\x89\x9c\xb2\x95\x95\x65\xb7\x97\x1e\x1f\xf0\xd4\x62\xf1\x92\x53\x91\xb9\x33\x9a\x84\x71\x2c\x30\xf7\x56\xae\x98\x37\x3e\x66\x51\x69\x71\x1d\x7f\x56\xd3\x7d\xdd\x59\x47\x26\xe1\x2f\x43\x90\xb1\x82\x82\xac\xf5\xc7\x04\x72\x23\x72\xe2\x62\x6e\xee\x01\xc1\xf1\x11\x53\x57\xb5\xd1\x53\x02\xe1\x0f\x47\x8f\x57\xb2\xe4\x34\x5f\xc6\x3e\x08\x29\x2e\xfe\x8d\x5a\x1e\x2e\x66\x5a\x94\xbb\x69\xf1\xf1\x74\xf7\x51\xad\x6a\xdf\xf9\xbf\x6c\xed\x59\x3e\x4d\x10\xcb\x06\xcf\xcf\x78\x5a\x15\x6d\xdb\x9e\x0b\xb5\x1d\xe7\xf4\xdd\xcc\x3f\x14\x9d\x3d\x1d\xf8\x0e\xff\xd1\x53\xb9\xd5\xf9\x6f\x00\x00\x00\xff\xff\xe0\x68\x11\xe5\x07\x03\x00\x00"
-
-func multiplevaultsCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_multiplevaultsCdc,
-		"MultipleVaults.cdc",
-	)
-}
-
-func multiplevaultsCdc() (*asset, error) {
-	bytes, err := multiplevaultsCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "MultipleVaults.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x53, 0xe1, 0x53, 0x1, 0xa7, 0x8f, 0xfa, 0x71, 0xaf, 0xa5, 0xec, 0x46, 0xa0, 0xc7, 0x80, 0x89, 0xdd, 0x13, 0xdd, 0xc7, 0x89, 0x8c, 0x13, 0x8f, 0x83, 0x66, 0xc2, 0x55, 0xcd, 0x43, 0xb2, 0xfa}}
-	return a, nil
-}
-
-var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x3c\x7f\x73\xdb\x36\xb2\xff\xe7\x53\x6c\x7d\x33\x3d\xfb\x9d\x2c\x39\xbd\xbe\xce\x7b\x9a\xea\x7a\x69\x12\xdf\xe5\x4d\x9b\x97\x49\xdc\xbb\x37\x93\xe9\xd4\x10\xb9\x92\x70\x26\x09\x16\x00\x2d\xeb\x32\xf9\xee\x6f\x76\xf1\x83\x20\x45\x59\xb4\x2f\xbd\xf8\x8f\x84\x22\x81\xc5\x62\xb1\xbf\xb1\x80\x2c\x6b\xa5\x2d\x5c\x36\xd5\x5a\x2e\x0b\xbc\x52\x37\x58\xc1\x4a\xab\x12\x4e\x3a\xef\x4e\x9e\xf8\x96\xaf\x55\x35\xd4\xb8\xff\x3a\xb6\xff\x9b\xc4\xed\x5b\x34\xaa\xb8\x45\xed\xdb\xa6\xaf\x4e\x9e\x3c\x99\xcd\x66\x70\xb5\x91\x06\x32\x55\x59\x2d\x32\x0b\xb2\xac\x0b\x2c\xb1\xb2\x06\xec\x06\xa1\x44\x2b\x72\x61\x05\x18\x2b\xaa\x5c\xe8\x1c\x6a\xad\x6a\x65\x30\xe7\xbe\xb2\x82\xcb\x1f\x5e\xbd\x39\xbf\xf8\xe6\x8f\xdf\x4c\xe9\x0d\xbf\x7d\x8b\xab\x39\x6c\xac\xad\xcd\x7c\x36\x5b\x4b\xbb\x69\x96\xd3\x4c\x95\x33\x55\xad\x0a\xb5\x9d\xad\x0a\x59\x9b\xd9\xb2\x50\xcb\x59\x29\x64\x35\x13\x75\x5d\xc8\x4c\x58\xa9\xaa\xd9\x57\x17\x5f\x3d\xbd\xf8\xef\xa7\xdf\x9c\x57\x2b\x7b\x1e\x06\x9f\x96\x79\x84\xfd\xce\xea\x26\xb3\x06\x44\x95\x83\x46\xa3\x1a\x9d\xa1\x81\x4c\x54\x2d\xe6\xa0\x2a\x04\xa5\xa1\x54\x1a\xb9\x4f\x9c\x84\xdd\xd5\x68\x26\x90\x89\xa2\xc0\x1c\x6e\x25\x6e\xcd\x14\x5e\x8a\x6c\xc3\xcf\xfc\x19\x34\xd6\x1a\x0d\x11\x80\xfb\x0a\xc8\xe5\x6a\x85\x9a\xe0\xde\xc8\x2a\x07\xb5\x8a\xf0\x26\x60\x9a\x6c\x03\xc2\x80\x80\x4c\xa3\xb0\x4a\xc3\x52\xaa\xb5\x16\xf5\x66\xc7\xbd\x95\x06\x01\xff\xf3\xe6\xe5\x5f\x40\x96\x62\x8d\xb0\x92\x05\x3a\x3a\x89\x2c\x43\x63\x4e\x45\x51\x9c\xb5\xc4\xff\xd1\x03\xa6\x55\x32\xf0\xe1\xc9\x13\x00\x00\x82\xf3\x42\x9a\xba\x10\x3b\x90\x34\xd4\x52\x18\x99\x79\x8c\x37\xc2\x82\xac\xb2\xa2\xc9\xd1\x2d\x58\x25\x4a\x9c\x40\x8e\x26\xd3\xb2\x26\x92\x12\xa5\x22\x1c\xbb\x69\xca\x65\x25\x64\x01\x2b\x42\xad\x02\xb5\xfc\x07\x66\x76\x0a\x3f\x2a\x63\xfd\x0f\x03\x66\xa3\x9a\x22\x4f\x08\x6a\x89\x45\x68\xc0\x69\x80\xc4\xff\xa7\x73\x30\xbc\x2e\x11\x51\x8f\x7b\x18\xf7\xca\x63\x46\xd4\x23\x2c\xfd\xb0\x69\x9b\x5e\x7b\x69\x60\x25\xb1\xc8\x61\x2b\x8b\x02\x96\x08\xb9\x83\x8c\x39\x31\x5d\x21\x8d\xe7\x01\xbb\x41\x8d\x2b\xa5\xd1\x63\xdd\x01\xb3\xe4\xb7\xda\xd2\x4c\x33\x55\x65\xd2\xe0\xf0\x98\xe9\x4c\x0a\xb4\x8c\xeb\x9c\x78\x4d\x56\xeb\xee\x4c\x9e\xc1\x56\x4b\x6b\xb1\xea\xd0\xf8\x13\x4d\x4b\x40\x8e\x56\xc8\xc0\x9c\x5d\xb0\x93\x0e\x28\xa3\x98\xe9\x97\xc8\x6c\x0e\xb7\xa8\x97\xca\x20\x9c\xe2\x74\x3d\x05\x01\xb5\xd0\x82\xf9\x10\x64\x65\x2c\x0a\xe6\x5b\x01\x46\x56\xeb\x02\xa1\x90\x15\x9e\x8d\xa3\x44\x32\xcb\x43\x04\x31\xa5\x28\x8a\x84\xb5\xa2\x04\x89\x47\xd2\xc6\xf3\xdf\x12\x41\xc0\x16\x97\xe7\x2b\x2d\xb1\xca\x8b\x1d\x8b\x0f\x9c\xca\x29\xb2\x4c\x4d\xe0\xcd\xeb\xbf\x9c\x75\x80\xb0\x3c\x78\xba\xec\x33\xcc\x84\x26\x7e\x03\xb5\x46\x16\xfd\x09\xa0\xcd\xc6\x51\x21\x4e\x6e\x0e\x1f\x2e\x65\x81\x1f\x5b\x1a\xf0\x42\xc9\x4a\xda\xd3\xf8\x8a\xfe\x52\x0e\x9a\x74\xbe\x0c\x50\xb4\xdb\x60\x7f\xb0\xf0\xe5\x0c\x3e\x74\x5a\x1a\x2c\x56\x53\x96\xab\x05\x0f\xb8\xff\x31\x65\xd2\x45\x3a\xf4\x7e\xd3\x76\x01\x17\x2d\x0a\xb1\x99\x43\xe2\x63\xab\x92\xfe\x8a\x45\x8d\x1a\xac\x82\x35\xb6\x72\xcf\x4c\xcc\x6a\x56\xac\x10\xb6\x62\xd7\x51\x18\xd4\xef\xcf\xc4\x9a\x25\x93\x2d\x18\xa2\x39\x3c\x03\x8d\xac\x64\x33\x24\x88\xc4\x2f\x3a\x18\xae\xa0\xe5\x5b\x08\x1a\x6d\xa3\x2b\x78\x56\x81\xe2\xb9\x88\x22\x8e\xef\xd4\xd0\x41\x2d\xb5\x6a\x2a\x42\xd7\xb7\x3e\xfd\xa5\x87\xc6\x97\x1f\x52\xfb\x38\x0d\x0f\x1f\xcf\x60\x1e\x46\xf8\x2e\x59\x02\xb9\x62\xe6\x60\x0e\x58\x74\x40\x4d\x3d\xf6\x04\xee\xf4\x6a\x57\xe3\xb7\xbe\xfb\x9f\x4e\xcf\xfa\x8b\x18\xa0\x78\x10\x20\xcc\x77\x89\x1a\x85\xde\x9f\x9f\xfb\x6d\xe7\xc3\xc7\x27\xfb\x4f\xbe\x61\xe5\xd7\x30\x59\xb9\xbf\x60\x85\x5a\x66\x20\x2b\x8b\x7a\x25\x88\xe4\x24\x36\xad\xe1\x03\xe1\x24\xcd\x58\xa5\x31\x07\x92\x61\x0d\x6a\xb5\x82\x6c\x23\x64\x35\x05\x62\x4a\x13\xc1\x79\x71\x6b\x0c\xe6\xb4\x76\x71\x21\x8d\xb3\x79\x66\x02\xb7\x32\x47\xe5\xd4\xb5\x22\x7d\x0d\x25\xe6\x52\x1c\xb5\x25\x2d\x7e\x34\x60\x42\x8b\xb4\x2d\x93\x8c\x96\xb5\xd1\xf2\xf4\x2c\xaa\xa8\xde\x94\xff\xc6\xc6\x52\x01\xde\x91\xef\x12\xe6\xe7\xac\xa7\xf1\xf0\xc8\x7f\x02\xc1\xb6\xe2\xaf\x57\x57\x6f\xe0\x54\x69\x7e\x78\x77\x06\x3f\xbd\xfd\xe1\x28\xb6\xd4\x94\xf0\x9c\xdf\x87\x2d\x2d\x74\xa3\x8b\x7d\x4d\xda\x6a\x91\xe4\xf3\xa0\xb8\x37\x9a\x04\xb4\xd1\xa9\x68\x3e\x80\x32\x3d\x90\x9e\x4b\x02\xe4\xc3\xe2\x3e\x4c\xc1\x96\x43\x5e\xbd\xb9\x7c\x17\x69\xc4\xbf\xfc\xf2\x83\xd0\xd8\x32\x45\x0e\xcb\x1d\x89\xb7\xd4\xec\xf5\x90\x73\x21\x73\xac\xac\x5c\x49\xd4\x70\xfa\xfc\xd5\x8b\xb3\x08\x44\x0b\x66\x16\xbb\x11\x6c\x19\xa5\xc6\xcc\xc2\x4f\x6f\x5f\x4d\xe1\x19\x64\x85\xa4\xbe\x89\xeb\xc8\x7c\xd8\x18\x74\xce\xca\xf3\x57\x2f\x5a\xa7\x47\xc1\x8a\x3c\x37\xe2\xbf\x42\x09\xf6\x19\xbc\x3f\x76\x2b\x05\xad\x37\xa3\xbb\x16\x16\xb7\x62\x77\x74\xa1\xa9\x71\x67\xa1\x3b\x16\xe8\xf9\xab\x17\xc4\x52\x34\xc4\xc0\x04\xc9\xeb\x62\xfc\x78\x44\xe7\x0d\x26\xbd\x3b\x90\x3a\x5e\x74\xae\x32\x33\x95\xf5\xca\x4c\xa5\x9a\x91\x2b\x83\xb5\x35\x33\x3f\xc2\xb9\xc8\x73\x4d\x1c\x5c\xad\x67\xa3\xcc\x59\x26\xf3\x61\x63\xfe\x46\xd8\x0d\x4b\x44\xa2\x5a\x6b\x7a\xe7\x95\x32\x2f\x7a\x50\xc8\xac\xec\x3d\xf1\xdc\xea\x28\xbd\x1b\x65\xe0\xa5\x01\x55\x15\x3b\xa8\x10\x73\xb2\xcf\xab\x16\xb8\x34\xe4\xb1\xc8\x1c\xe3\x92\xdf\x0b\x74\x04\x91\x08\xec\xb9\xd9\x19\x8b\xa5\x19\x47\x1e\x9a\x71\xa0\xcf\x77\x43\x32\x9a\xd0\x6f\xd2\x6d\x3d\x28\xb2\x99\xcc\x61\x41\x44\xdf\xff\xc4\xc4\x5d\x30\x8c\x21\x79\x6e\xe9\xd6\x54\x19\x73\xb9\x13\x58\xc7\x60\x4c\xf9\x4a\x58\x79\x8b\xa4\xa2\x5a\xee\xda\x63\xac\x7b\xe8\xb4\x51\xdb\x73\xab\x66\x9e\x85\xce\xe9\xf5\xb9\xaa\xce\xb7\xb8\x9c\xfd\xce\xc1\x3e\x6f\x74\x61\x0e\xae\x40\xb0\xc6\xe4\xe2\x1b\xa7\x62\x88\x2d\x85\xac\xe8\x31\xae\x6b\xa3\xe5\x51\xda\x8f\xd2\x58\xde\x5c\x7a\xc2\xb5\x44\x3c\x68\x2a\x4f\x68\x4a\xf3\xd9\xec\x64\x4a\x2c\x21\xec\x69\x58\x93\xb3\xf0\xe2\x64\x76\x12\x9f\x09\xd6\x59\xcf\xb8\x0e\x69\xcc\xc3\x50\x8f\xeb\xd0\x68\x69\x83\x1a\xdd\x4a\xbb\x71\x31\x8a\xd6\x68\x6a\x25\x73\x9a\x37\x5b\x49\x72\x1e\x8e\xaa\xa4\x1f\xa9\x65\x5f\x13\xb1\x76\x72\x2c\x81\x0e\xd6\x28\xe6\x5f\xb1\x6a\xeb\x7b\xb9\x2e\x8c\xce\xa5\x38\xe7\x20\x39\x53\x25\x92\x0c\xbb\xf5\x55\xba\x64\x2f\x7f\x57\xe3\xcc\x34\x4b\x6e\x21\x8c\xf7\x36\x97\x98\x03\xc5\x68\xd0\x81\x15\x59\x11\x6f\xb1\x50\x35\xea\x69\xa9\xfe\x29\x8b\x42\x4c\x95\x5e\xcf\xb0\x3a\xff\xe9\x1d\xb3\xe9\xec\xef\xb8\x9c\x91\x69\x9d\x7d\x4f\x51\xaf\xf9\x45\xad\x7e\xe1\x9f\x3f\xbe\xfa\xf1\xe5\x2f\xec\x68\x8e\x9a\x55\xa4\xe5\x7d\xa6\x37\x9d\xfa\x64\xbf\x4b\x57\xb6\x79\xbd\xa9\xc7\x82\xfe\xe9\x7f\x88\x9d\x17\xf1\xe9\x30\x5f\xfc\x5d\x8b\x9a\x7c\x69\xc7\xff\x4a\x43\xd9\x14\x56\xd6\x85\x5f\x36\x97\xa8\x18\xc5\x03\xa6\xcf\x04\xcf\x2a\x10\x7a\x29\xad\x16\x7a\x77\x6e\xe4\x3f\x31\xe7\x50\xc8\x87\xff\x3b\xa8\x9a\x72\x89\xe4\xdc\x79\x1e\x92\xa4\x25\x0f\x52\x91\xbf\xce\xe1\x3d\xb7\xfd\x79\x88\x84\xbf\xf4\xda\x0c\xea\x43\x6e\x02\x8b\xde\x60\x47\x22\x0c\x3f\xbf\x7f\x6b\x80\xd1\x1a\x41\x3f\xfa\xb8\xf0\xc2\x35\x7e\x50\x74\xe1\xba\x3c\x36\xb8\x70\xbd\x47\xc6\x16\x91\x51\xa0\xf7\xf7\x09\x42\x8b\x21\x0d\x57\xc8\x0c\x2b\x72\x19\xb3\x4c\x69\x56\x6c\x56\x45\xf9\x37\x75\x7e\xc7\x22\xef\x5b\x99\x76\x1d\xaf\x42\xd2\xa9\x13\x61\x78\x5f\x21\xf8\x56\x6a\x45\x7a\xf3\xf5\xe5\x15\x39\x0e\x1e\x46\x7e\x54\x5f\xfe\xe0\x51\x3a\xec\xa4\x13\x5e\xaf\xa2\xdf\x76\x9f\xd2\xf8\x25\xf1\xef\xee\x75\xdc\xbb\x20\x89\xfd\xe3\x8f\xb1\x32\x10\xf0\xfe\x4c\x42\x10\x86\x1f\x27\x05\xbe\xf5\x83\xc4\xc0\xf7\x79\xac\x1c\xf8\xee\x23\x05\x61\x9f\x0b\x7e\x03\x49\x88\xf1\x12\x39\x68\x4c\x74\xf2\x70\x2d\x96\xc0\xa9\x59\xc0\x3b\x8b\x9a\x88\x6b\xa4\x6d\x0d\xbd\x4f\xca\x27\x7c\xbf\xdc\xa5\xc1\x0e\xf1\xfa\x0d\xc2\x34\xc6\x35\xdf\x17\x2a\x23\xe8\x2a\xc4\x49\x8d\x41\x6d\x20\x8d\x81\x38\x09\xa7\xe5\x5a\xd2\x68\x9c\x08\xf3\x39\x60\x92\x1e\x4e\x54\xd7\x5a\xfd\x83\xfa\xd6\x14\x1a\x71\x70\x1c\x4c\xb8\xf3\x37\xa9\x61\xa6\x8a\x02\xd9\x15\x6d\x91\xc5\x75\x94\xe7\xed\x76\x3b\x2d\x77\x9c\xbd\xf7\xd0\x5c\xe6\xff\x16\x35\xd1\xfd\x5c\xad\xf8\x5b\x0b\xe5\x98\xa8\xbe\xf4\xf4\x21\xf2\x3d\x3a\xa6\xfe\x05\x46\x44\xd5\x8b\x7b\xe3\xdf\xae\x20\xa6\x58\x7d\x26\x61\x4c\x51\x18\x27\x90\x49\x8f\x07\x09\x65\xd2\xef\xb1\x82\x99\x80\x18\x29\x9c\xc3\xeb\xfe\xc9\x05\xd4\x31\xf9\x4a\x56\x18\x62\xf6\xb2\x56\x46\x2c\x29\xcc\x55\x3b\x51\xd8\x5d\xbb\xf3\xc5\x8d\xd7\xf2\x16\x0d\x94\x42\xdf\xa0\xad\x0b\x91\xa1\x01\xd1\x8a\x59\x53\x91\x3e\xcf\xd3\xd4\x9a\x02\xd3\xd4\x6e\xfb\xee\xf2\xca\x03\x95\x68\x8e\xda\xa8\xb7\x7e\xf8\x9e\x43\x17\x92\x77\xdd\x8d\xc0\xb7\x98\xa1\xbc\x8d\x09\x06\x84\x25\x56\xb8\x92\x99\x14\x7a\x17\x12\xf0\x7e\x3e\xdd\x6c\x85\x60\xce\x08\x26\x35\xd3\x68\xd1\x6d\x83\x85\x4e\x01\x30\x87\x28\xe1\xd7\x74\x8d\x96\xd6\xf5\xf4\xac\x17\x64\x66\xaa\x2c\xb1\xca\x5d\x42\xe6\x1c\x7e\x62\x25\xe4\xd3\xf9\xbc\x43\x46\x9a\xb0\xc2\x6d\xa2\x7f\xe0\xb2\x50\x5b\x37\x8b\x0e\x30\xdd\x9d\x92\x34\xd0\x18\x72\x1e\xae\xd7\x68\x3d\x6d\xc2\xac\xdf\x34\xcb\x42\x66\x6f\x84\xdd\x9c\x9e\x5d\x4f\x58\x1f\x56\xca\x76\xc1\xb9\xcc\x10\xd2\x62\x8b\xa6\xb0\xc9\xa8\x71\x52\x4e\xe9\xf2\xc6\x8c\x28\x0a\xb5\xf5\x3a\xd4\x2a\x68\xea\x9c\x50\xef\x00\x64\x92\x89\x5a\x2c\x65\x21\x2d\x27\xbe\x39\x16\x6a\x6c\xa3\x79\xd5\x1b\xd6\xfa\xbc\x39\xb3\xf6\x6b\xd6\x36\x3f\xa8\xc8\x02\x32\x73\x78\x1e\x1b\x7f\xfb\xe5\x87\xce\x6a\x4f\xc3\xbc\x3f\xfe\xa9\xcb\x1b\x3f\xba\xb0\x81\xbc\x8b\x90\x8d\xcd\x44\x91\x35\x05\x21\x4f\xd8\x89\x52\x35\xce\x69\x32\xa2\x40\xb8\x15\x45\x83\x60\xb5\xa8\xcc\x0a\xb5\x76\x3d\xba\x8b\xe0\x99\xb0\xa5\xd1\x6b\x65\x11\xce\xe1\x95\x4d\x76\x69\x96\x68\xb7\x88\x15\x5c\x4c\x2f\x98\xf8\x4f\xa7\x17\x5d\x30\x2f\xef\xa8\x8b\xe3\xa8\x64\x64\x69\xe0\x8e\x3b\x94\x2d\xe2\xd2\xc0\xc5\xf4\x3f\xbf\xa1\xa6\x55\xca\xb6\x5d\x80\xae\xff\x36\x20\xc0\x3d\xfe\x03\xee\xa6\xfb\xa2\x22\x8a\x62\x07\x35\xea\x0c\x2b\x4b\x66\x6d\x8d\x49\xa6\xdb\xed\x0d\x59\xd4\xa5\x21\xa2\x2c\x85\x91\x06\x6a\x25\x2b\xdb\x89\x2a\xa9\x91\x51\x85\xcc\x69\xa1\x97\x82\x48\x6b\x4a\xa1\x6d\xdc\xb8\x35\xb0\xdd\x50\xb4\x9d\x89\x9c\xf5\xb9\x5a\xad\x88\x73\xae\x7f\xba\x94\x77\xdf\x7c\x7d\xdd\x67\x1c\x61\x41\x14\x1a\x45\xbe\x0b\xba\xc1\x29\x9f\x74\x7c\xe6\x9f\x4c\x18\xa2\x6e\x26\xe8\x87\xb4\xa6\x0b\x88\xc2\x66\xef\x0d\x08\x8d\x40\xce\xa4\xc6\x62\x07\x39\xd2\x8c\x64\x25\x8d\xf5\x59\xfe\x35\x85\x78\x49\xeb\x2a\x8f\x4a\xa9\x2b\x24\x35\x71\xc0\x7f\x05\x14\xd4\x0a\x6a\x8d\x99\x34\xd1\xda\x0f\xb1\x6c\xd6\xd8\x39\xb8\x99\x76\xd9\xf1\x7f\x83\xa9\xea\xec\x78\xa5\x9e\x8d\x93\x21\x9a\x1c\x0d\x25\x76\x21\x63\xe4\xd7\x7c\xb2\x27\x70\x1a\x0b\x37\x87\x8d\xac\x23\xdb\xd1\x87\xeb\xad\x28\x0a\xb4\xd7\x61\x4f\x98\x94\xed\x04\x5c\x90\x6b\x37\x04\x17\x0b\x83\xfb\xeb\xc0\x4e\xd1\xb6\x42\x0d\xa5\x5c\x6f\x2c\x6c\x45\x65\x59\x67\xd7\x98\xc9\xd5\xee\xf0\xac\xef\xdd\x17\x6d\x3d\x8f\x07\xca\xf3\x24\xa5\xe6\x64\x68\x90\xbe\xed\xac\xf5\x90\x03\x9b\x35\x16\xfe\xb4\x60\x81\xfc\xf2\x4b\xfe\xf5\xed\x82\xc5\x72\x0e\x27\xcf\x1b\xeb\xe5\xa7\x95\x60\x59\xd1\x2b\x99\x83\x16\xd5\x1a\x41\x4e\x11\xde\x5f\x4c\x9e\xfe\x7c\x72\xc0\xc0\x42\xf0\x9b\xa2\x96\x5e\x44\x1d\x31\x90\xff\x6c\x2c\x2c\x08\x8b\xfd\x4f\xc7\xf7\x27\x1f\x90\x2d\x09\x26\xd3\x15\x76\xc4\x0e\x3f\xa6\xc6\x9a\x38\xef\xd7\x06\xf5\xce\xd9\x94\xeb\xb7\xc1\x20\x5f\x07\xc3\xcb\x85\x32\xaf\x2f\xaf\x12\xef\x99\x98\x8a\x45\xec\xae\xc6\xcc\x3a\x3d\x59\x8b\x5d\x6b\xcd\xbd\x56\x70\x09\x31\x8a\x90\x98\x7d\x82\xb3\x3e\xd2\xd6\x13\x9c\x7e\xfa\x46\x6b\xb1\xf3\x9c\xaa\x45\x76\xe3\xf4\x84\xac\x72\x79\x2b\xf3\x46\x14\x2d\x06\x7d\x46\x25\xea\x46\xf9\x7c\x55\xad\x94\x99\xc3\x7b\x4f\xa0\x9f\xef\xd9\x30\xf2\xfe\xf2\x40\xa7\x3e\xe7\x91\x0f\x45\x3c\xe3\x8c\x8b\xb0\x60\x1a\x4e\x03\x8a\xa2\x60\x8e\x6b\x95\x7a\x74\x01\xc8\x2a\x2f\x11\xd6\xec\x09\xf8\x9d\x9d\xa7\xd3\x8b\x0e\xd8\x5b\x41\x5e\xb6\x15\xc5\x73\xe6\x9a\x8b\xde\x67\x5a\xf0\x60\x12\x64\x15\xf1\x1c\x90\x81\x04\x48\x7c\xfc\x43\xe8\x3b\xed\x73\x63\x97\xb7\x85\x31\xa8\xed\x69\xec\xe7\xa4\x67\x02\x25\x1a\x23\xd6\x38\x87\x93\x77\x6e\xb2\x71\xfc\xf1\xb3\x3d\x39\xeb\x93\xf1\x99\x31\x72\xed\xf4\x58\x80\x37\x28\x44\x6e\xa4\xc5\x7e\xa3\x5e\xa2\xf6\xad\x73\x7a\x53\x78\x9c\xf5\x1b\xcc\x94\xf6\x76\xd4\x05\x73\x5c\x92\xc1\x77\xb5\x1d\x98\xf0\xba\x63\xda\xe3\x79\xd7\x98\xce\x8f\x1e\x9b\x44\x73\x7a\x96\xb0\xd4\x3d\x9b\x91\x03\x73\x84\xfb\x22\xb2\x56\x84\x3e\x53\x3c\xf6\xb6\x47\x9f\x63\xd1\x58\x4b\x91\x87\xc4\x62\xb1\xd7\x63\x23\xb1\x08\x60\x64\x1c\x96\xaa\xa6\xbe\x84\x7d\x92\x5a\x04\x67\x83\xdd\x26\x23\x6b\x91\x68\x94\xd8\x87\x65\x79\x67\xcb\x42\xcc\xd8\x55\x77\x31\x51\xc2\x65\x71\x2d\x08\x76\xe1\xf1\x16\x2b\xdb\xb0\xfb\x97\xc2\x12\xd1\x1b\x37\x5b\x69\xb3\xcd\x52\x51\x68\x17\x6c\xd7\x24\xc2\xdd\x38\x46\x08\x75\x6b\xcb\xc6\x83\xe5\x7d\xcb\x0e\x72\x91\x40\xf4\xab\x52\xbd\x1a\xb9\xfe\x16\x59\x1b\xab\xc4\x58\x2d\x20\x44\xe1\x61\x6a\x43\x87\x98\x67\x5f\xa6\x06\xa3\xa0\x79\x3a\xce\x87\xfe\x3a\xcc\x6a\xfe\x38\xf3\xb1\xe4\xe5\xd5\xdb\x74\xd8\x23\xe9\x5c\x5f\x42\xe6\x36\x72\x93\x62\x48\x9f\xcf\x7a\x7d\x79\x35\xdd\x5b\x9c\x10\x8d\x70\xa8\xa9\x85\x74\xbe\x65\x62\xc6\x6e\x70\x37\x73\x3e\x49\x2d\xa4\x36\x20\x0a\x55\xad\x5d\xcc\x69\x54\xd9\xca\x1d\xa7\x7d\xef\x68\x59\x79\x2b\x83\xc7\x15\x4b\xd5\x38\x26\x62\xd0\xc7\x6c\xed\x15\x35\x4a\x68\x32\x50\x9d\xc8\x70\xa6\xf0\x83\xbc\x41\xf8\x5e\x64\x37\x6b\xad\x9a\x2a\x9f\xc0\xcb\x1d\x9a\x09\xfc\x55\x48\xdd\x2b\x1d\x1b\x5b\x3e\xc8\x23\x35\x55\x8e\xba\x60\x5f\xd7\x4d\x39\x1d\x75\x12\x14\x8f\x0d\xaf\x99\xd0\xc6\x95\xef\x71\x13\xa8\xb5\xba\x95\x39\x06\x62\x04\x6d\xc5\xc0\x0e\xe3\xc4\x9f\xe7\xf0\xac\xda\xb9\x12\xda\x0e\x5e\xbe\x56\x8e\x34\x44\xba\x5e\x66\xa3\xb6\xbc\x00\x71\x2c\x47\xec\xad\x73\x9d\xa5\x71\x64\x23\xf7\xc8\x4d\x25\x32\x4a\x0a\x9c\xf8\x5c\x56\xc6\x8a\x2a\xc3\x09\xec\x54\x03\x19\x8b\xb8\x09\x58\xd1\x50\x02\x9a\x4a\xde\x81\x95\x25\x1a\x2b\xca\xda\x85\xf1\xde\x0d\xef\xe0\x27\x0c\x9c\xbc\x10\x16\x4f\x78\xe2\x58\x14\xe9\x58\x75\x21\xec\x4a\x51\x3c\x47\xc1\xaf\xaa\x4c\x53\xfa\x8a\x10\x47\x3b\xae\xd5\x65\x97\x25\x64\x09\x84\xdf\x03\x3b\xec\xe9\xb7\x63\x0f\x14\x05\x90\xb9\x15\x9a\x02\x43\xf2\x2c\x45\x61\x54\xd4\x0e\x2e\x13\x5b\xec\xbc\x64\x08\x6b\xb5\x5c\x36\xb6\xb3\x33\xdf\x65\x0e\x27\x2d\xd1\xa4\x84\xc8\x8f\xd1\x2c\x8a\x16\x82\xe1\xca\x09\x3f\x45\xff\x2e\xb0\xc1\xeb\xcb\xab\xdf\x1b\xd0\x8c\xd3\x61\x6e\x70\xdf\xe7\x1e\xf7\xc1\x22\x87\x4e\x05\xe3\x1e\xfb\x4c\x06\xe9\x32\xe9\x03\x7e\x78\xc5\xa2\xe3\x88\x85\x1b\x70\x20\x60\x48\x38\x61\x91\xe2\x30\x10\x9b\xb8\x75\x59\x78\x9c\x46\x46\x14\xac\xee\x58\x4d\x06\xcf\x27\x68\xac\xe3\xfa\xcd\x77\xf4\x1d\x78\xb7\x72\x84\x8a\x8b\xe0\x52\x49\x1b\x50\x71\x28\xb2\x8d\xd7\x4d\xf7\x2a\x37\x73\x4f\xa2\xdc\xa1\x36\x87\xf7\xdc\xf2\xc0\x16\x6e\xaf\xd1\xe0\x1a\xfa\x39\x2e\x7c\xe3\x01\xa3\x4f\x7f\xdd\x60\x26\xcf\x4d\x6b\x40\x9c\x1e\xf6\x4c\xeb\xf1\x26\x24\x3a\x5d\xba\x5e\xaa\x73\xdb\xb8\xed\x9c\x55\xa9\x93\x69\x3f\x77\xcb\x92\x27\xf2\x1c\xf3\xa3\xae\x29\x59\x50\x91\xe7\x0c\x8a\x26\x3c\x77\x50\xef\x99\xe9\x94\x58\xa4\xca\x4f\xed\x3d\xf5\x1d\x5d\x8f\x34\x99\xd3\xe7\xf2\x49\x3d\x0a\xe3\x1c\x52\xd7\xf8\x41\xde\xa8\xeb\xf2\x58\x57\xd4\xf5\x1e\xe9\x87\xee\x71\x76\xf8\xfb\x04\x4e\xa8\x5f\xb7\x58\x63\x65\x15\xa0\x30\xb2\xe0\x38\xe8\x16\xb5\xe5\x5a\x34\xfe\x26\xf4\x8e\x57\xc2\xf1\x04\x5c\x2a\xcd\x69\xfd\xc4\x41\x09\x1b\x5b\xc6\x6f\x2e\x28\x56\xdf\xac\xaf\x51\x72\x41\x63\x28\x88\x0f\xab\xc4\x5a\xc1\x5b\xf8\x2b\xe7\x04\x44\x78\x6c\xba\x4a\xb4\x1b\x15\xcb\xe2\x4d\xb3\x5a\x49\xc7\x10\x6b\x79\xcb\x3e\x6a\xc9\xf6\x85\x23\x37\xb5\xf2\x99\x1c\x8f\xe2\x21\x46\xa3\xf9\x38\x21\xea\xce\x6c\x89\x61\xd2\x4e\xa5\x5d\xb5\xe2\x9d\xf4\xc6\x3b\x3e\x72\x92\xbf\x16\x25\x9a\x79\xa7\x12\xdb\x17\x6d\x39\x6c\xbc\xfd\x0e\x79\xbd\x6b\x1a\xeb\x3a\x02\x0b\x7f\x37\xb8\xf3\xd4\x12\xda\x59\xbb\xad\xa8\xfc\xf8\x4b\xcc\x48\x2b\x5e\x3b\x3c\xae\x07\x7d\x6a\x76\xa0\x05\x75\xe8\xeb\x91\x43\xec\x4e\x78\x5c\x29\xcf\xf1\x8e\x14\x1f\x1c\xe2\x89\x89\xfb\x38\xe9\xcf\xf3\xbd\x6b\xf3\xf3\x77\x67\xf3\x7d\x86\x9c\xcd\xe0\x79\x5c\x7d\x97\x54\x34\x3e\xab\x18\xa6\x14\x4d\x8a\x77\xea\xdc\xa6\x81\xd4\xad\x13\xed\xcf\xf2\xe4\xd3\x9e\xd7\xb8\xeb\xe5\x27\x37\xa2\xca\x0b\x74\x16\x83\x89\x4c\x81\x0e\x27\x3c\x6d\xdb\xf8\x1f\x8d\x49\xc6\x66\x3e\x09\xf0\xb9\xd0\xb9\x28\xa6\xa9\xe0\x76\x26\x0b\x5f\x2c\x48\x54\x7a\x02\x47\xae\xdc\x0d\xa1\xdd\x69\xfb\xc5\x80\x58\x12\x51\xa7\x1a\x4b\x75\x8b\xa7\x37\xb8\x9b\xc3\x4d\xbf\xaa\xae\x7d\x8a\x8f\x03\x16\x0a\x16\xf0\xfe\xe7\x27\x7b\xe3\x33\x78\xe6\x9b\xee\xd0\x11\x02\x2c\xdc\x0a\x79\x37\xe6\x26\x7a\x30\xd4\xf3\xfd\xcd\xcf\x5f\xf4\x1c\x98\x4a\x16\xad\xf3\x52\xc9\xa2\x8b\x6d\xcf\x06\xb0\xad\x18\x9a\x40\x60\x4a\xc7\x58\xae\xd7\x59\x5f\xdd\xc4\xbc\x78\xcc\x60\xee\x69\x0d\x69\x4c\x83\x6d\x62\xd3\x1f\xcc\x8a\x10\x38\x30\x72\x9b\x29\x25\x1f\x75\x33\xb2\x94\x85\xd0\xc9\xc9\x34\x02\x8b\x77\xa2\xa4\xee\xa2\x82\xff\x23\xc5\xf0\xf4\xe2\x82\x9c\x6e\xb7\xd1\x15\x81\xc9\x8a\x1c\x66\xb7\x65\xe7\x7c\x99\x55\xe3\xce\x87\xb9\x9c\xba\xdb\x2f\x48\x77\x3c\x5b\x07\xe8\x99\xab\x1e\x70\xec\xb6\x24\xd7\x46\x73\xe0\x12\x31\xc7\x5c\xf2\xb4\x26\xb0\xdd\xc8\x8c\x6b\x8b\xb7\x1b\xae\x00\x0f\x9f\x0e\xe1\xe1\x48\x49\x9c\x6a\x9c\x76\xf3\x55\x6c\xe0\xaa\xd8\x58\xbf\x1c\x8b\xf5\x5e\xba\x21\x8e\x9d\x46\x4b\x31\x09\x6d\x2e\x5b\xfa\x4d\x9c\x16\xce\x42\x5e\xe2\x1d\xda\x09\xbc\x29\xc4\x6e\x02\xef\x50\x4b\x34\xdd\x7d\x0a\x5f\x59\xe7\x4e\x3a\x6c\xc5\x2e\x29\xac\x70\x20\xb2\x42\x18\x43\x51\x0d\xe9\x8f\x40\xa0\x51\xb1\xe4\x77\xfb\xf3\xf0\xfd\x93\x42\xbe\x03\x87\xad\x78\x46\xa2\x82\x93\xaf\xbe\x0e\xbc\x70\xfa\xbb\xaf\xbe\x9e\x3d\xbd\xb8\x38\x3b\xe1\x8a\x14\x17\x7b\x7a\x40\xd2\xc0\x57\x5f\xdf\x13\xe1\x72\xab\x39\xfc\xf4\xaa\xb2\xfd\x7d\x1f\x42\xab\x14\x77\x83\xa8\x51\x20\xe6\xb7\x97\x3d\x53\x4f\x7b\x7d\xfb\xa7\xc0\x42\xc2\xc5\x47\xbd\x2e\xe9\x52\xc8\x52\x5a\xcc\xcf\xfd\x10\x98\x0f\x43\x1b\x31\x65\x42\x54\x1a\xfa\x36\xd8\x95\x2b\x75\x58\xdc\x9a\xca\x0f\x1a\xe6\xe5\xfa\xb6\xe9\x2a\x0a\x67\xad\x22\xdd\x31\xee\x4c\x59\x29\xee\x02\xfd\x8e\xc6\x5f\xdf\x4d\x7a\x14\x9f\x74\xba\x0f\x38\x50\x84\xdb\xa0\x0a\x87\x36\xbd\xed\x17\xe6\xdb\x05\xb5\xfe\x22\xcd\x6e\x5f\xb5\x8c\x90\x89\x6a\x28\x91\x6d\xfd\x22\xbb\x56\x5f\x9c\x1c\xd2\xee\x30\x2a\xe8\xf3\x63\x2d\xfa\xb1\x78\x6c\x40\x43\x31\x9a\x23\xa3\xb8\xce\xbe\x50\x50\x03\xa3\xea\x68\x7d\xe3\x7f\xa1\x92\x76\x4f\xa4\x3b\xbb\x8d\x1d\x7d\x29\x82\xc6\x3c\xc8\x25\xa4\x15\x7f\x90\xc6\xce\xe1\xbd\xc7\xec\x50\xdd\xed\x7e\xc3\xe1\xe2\x5b\xdf\x0e\x16\xb1\xcb\xd8\x88\x26\x92\xe6\x73\x9d\xf2\x8b\x08\x8c\x2c\x78\xf2\xcd\x1f\x56\xed\xe4\x3b\x3d\xba\xd4\xc9\xf7\x1f\x5b\xe7\xd4\xb2\x5b\x5f\x4a\x3f\x55\x91\x53\x4c\xca\xb1\x5f\x1e\x8c\xd1\xb9\x2b\x7b\xca\xc1\xa0\x96\xa2\x08\xfc\xeb\x72\xe4\x61\xff\x92\xb8\x35\x02\x7b\xe3\x3a\x1a\xd8\x88\x5b\x4c\x8e\xc5\x33\x20\x3f\x0b\x76\x1b\xd8\x93\xef\xc1\x8d\x7a\x32\x82\x7b\x47\xbe\x6b\x29\x76\xb1\x34\x87\xf7\x5c\x35\xae\x1b\xf2\x64\x5e\xbd\x70\x09\xc0\xb4\x51\x72\x16\xbf\x0d\xb8\x9c\x31\x0d\x87\xc0\xdc\x39\x9f\xa9\x3b\x8d\xd2\x41\x40\x9a\xce\xf6\xed\x12\xa1\xa9\xe4\xaf\x0d\x17\xc5\xf8\x03\x83\x6c\xbd\xd9\x6c\x33\x2a\xa4\xf6\xd9\x43\x17\x36\x10\xed\x98\xf2\x78\xe7\x86\x3c\x9c\x7f\x39\x64\x37\x53\x49\xee\xb6\x19\xce\xa0\x1d\xd0\x97\x47\x04\xd8\xa3\xf7\xb9\xc4\xd7\x0f\x3f\x4e\x78\x5d\xe3\x07\x89\xae\xeb\xf2\x58\xc1\x75\xbd\x47\x8a\xed\xde\x42\x7f\x6a\xa1\x6d\x4b\x87\x7d\x1a\x33\x75\x8f\xbd\x90\xba\x44\x5a\x92\xdd\xa4\xde\x5c\xa0\xe5\x82\xe9\xd0\xb5\x42\xcc\x8d\x8b\x1a\x6f\x31\x64\x21\x4c\xa6\x34\xc7\x0e\x69\x09\xc6\xb2\xb1\x20\xdd\x09\xfa\x08\x90\x3b\x2d\x55\x9b\xa7\x3c\xc4\xfc\x3e\x0f\xfe\x61\xcf\x19\xf4\x43\xf9\x8a\x42\xd7\x8a\x13\xf1\x47\x32\xef\xdc\x2f\x54\xc3\x0c\xf8\xbe\xa5\xb8\x93\x65\x53\xb6\xdb\x28\xdc\xe1\x88\xc3\x75\x08\xd8\xc0\x75\x0e\x29\xaa\xee\x68\xdb\x91\xd3\x8d\x31\x44\xf8\x01\xd7\x58\xe5\x42\xef\x26\xf0\xb2\x96\xd9\x84\x68\x83\x13\xf8\xa9\xca\x54\x59\x92\xeb\xf8\x9c\xff\xef\xc6\x0a\xfe\xf4\x5c\x37\xf1\x3d\xa2\xee\x68\xd0\x7b\xec\xd2\x6e\xd2\x99\xfc\x60\x61\xd1\x90\x13\xe9\x16\x6e\xe1\xdc\xc8\x2f\xbf\xec\xd0\x68\x71\xc8\xb9\xac\x45\x25\xb3\xd3\x93\x67\x81\x1f\x22\xf7\x99\xb0\xa4\xdd\xfb\x49\x94\x66\xee\xda\xf3\x20\xf7\xb5\x9e\x47\xa7\xb7\xcc\x70\xd8\x47\x84\x7f\xa1\xcc\xa8\x57\x5e\xe0\xe6\xf2\x39\x93\xb9\x1e\x85\x91\xd5\x05\xdc\xf8\x61\xa5\x05\x6e\xc7\xe6\xb1\x75\x05\xdc\x7b\x6c\x51\x41\x5f\x53\x84\xbf\x4f\xa0\x3d\x5f\x5f\x5e\xb1\x02\xdd\x6a\x51\x1b\x4e\xb8\x3d\xe7\x0b\x52\xf8\x4a\x1d\xb7\xe9\x72\x2d\x73\x57\x28\x78\xdd\x34\xf4\xe8\xb2\x71\x6e\xc7\x31\xec\xe6\x44\x78\x21\xcd\x2a\xb8\x36\xbc\x40\x8b\x50\xcb\x8c\xab\x7c\xe3\xe1\x23\x7f\x7f\x0e\x7b\x0d\xc3\x97\xe7\x44\x70\xa3\x6e\xd1\x09\x73\x38\xec\x47\xc8\x3c\xfa\x10\x87\x9a\xd0\xdc\x8e\x36\xf2\x39\xb0\x79\xf7\xea\xa1\x69\xb8\xec\xe2\x60\x3f\x6c\xcb\xf3\xfb\x7d\xd3\xe3\x02\x07\xfb\xb7\x19\xaf\x17\xc2\x8a\x39\xcd\xf8\x79\xe7\xd5\xa8\xae\x01\xf9\x6e\xef\x63\xb8\xc7\x8a\x8d\xb4\x9c\xe6\x60\xeb\x90\x8f\xf4\x7b\x1d\x47\x2f\x7e\x91\x39\xc4\x20\xbd\xf3\x81\xd6\xe3\xc0\x27\xbf\x0a\x70\x68\x19\xba\xad\x13\xda\xef\xf5\x48\x89\xdf\xed\xd5\xa5\x38\x0c\x91\xfc\x60\x87\x88\xde\x20\xa1\xbb\xdd\xda\x7a\x98\x94\xbc\xbd\x1b\x6e\x7a\x34\x0d\xef\x87\x03\xd6\x9c\xcf\xca\xed\x7f\x60\x82\x2e\x98\xae\x03\x1a\xdf\xe3\x1c\xf7\x88\xf7\x9b\xa4\x74\x5c\xa4\x54\xdd\x6f\xda\x23\xde\xa2\x47\xcd\x7b\x3b\x44\x44\xf6\xde\xed\x77\x6b\x89\xb7\x18\x28\xed\x84\x71\x9b\xaf\x07\x8d\x98\x3f\xeb\xc5\x8c\x7b\xc8\x66\x91\xce\xb8\xf2\x69\x0a\x99\xff\x26\x16\x2d\x68\xb7\x71\x96\xcc\xb7\x3e\x6d\x95\xd9\xe4\x01\x46\x6d\x5f\x93\x72\x14\xb6\xb2\x7f\x1b\x63\xd4\x7c\x6f\xb2\x6a\xa9\x51\x0c\xdd\x07\xf3\x6b\xc1\x32\xb9\x36\x5f\x80\x30\x5f\x04\x2c\x92\x75\xea\x1b\xb2\x30\xcb\x7d\x55\x22\xf3\x7d\x35\x32\xef\xe2\x4d\xaf\x06\x15\x4a\x5f\x3b\x24\x57\x1f\xa5\x00\xce\xc6\xeb\x97\xde\x31\xb2\x7b\xa0\xec\xe9\x1b\xe6\x5c\xb7\xa0\x5d\xbd\x33\x12\x4a\x54\x42\xc3\x80\x8e\xcf\x2b\xd5\x4c\x01\x46\x5b\x85\x79\x4f\x47\x2f\x6e\x6d\x2f\xbf\xbf\xd3\xe9\xd2\x2a\xb1\x23\xf1\x9c\xab\xe0\x6e\x83\x39\x7f\x09\x0a\x5f\xa5\xe3\xaf\x35\xb4\x5a\xe2\x2d\x0e\x97\x9b\xdc\x77\x28\xd4\x39\xd9\x4d\x0d\xa2\x77\x56\xd3\xa5\xb0\x6b\xad\x48\x1b\x44\x78\x34\xa4\x58\xbb\x41\x5d\x49\x60\x7b\x44\x69\xcc\x11\xb5\xbd\x95\xec\xc5\x7e\xee\x36\x99\x2a\x8e\xb3\xe5\x7b\x20\xd8\x1f\xf2\x27\xb6\x75\x38\x31\x16\x93\x32\xee\x46\xa1\xc3\x1b\x0f\x1e\xd6\x1b\x7f\xe9\x4a\xfc\xd1\xbb\xc7\xc6\xcd\x86\x4b\x42\xdd\xc6\x53\xd9\x18\xce\xb8\x16\xb2\xba\x71\x83\xf9\xe5\x18\x98\x78\xdc\xaa\x08\xd9\x2f\x88\x5b\x54\x59\xd1\xf0\x11\xf6\x78\x28\x90\x27\x12\x4e\xfb\xf9\xad\x32\x2f\x31\xce\xe5\x6c\x3f\x1e\x9c\x53\x1d\x6b\x35\xd3\xba\xcd\xc1\x19\x25\x4b\xca\xfb\x28\xe1\x0a\xab\xce\xc9\x04\x5f\x1f\xe8\x0a\x05\xf8\x9e\x24\x8d\x22\x3f\xe7\x9d\x14\x37\x36\x73\x8a\x9f\x42\x67\x98\x50\x03\x61\xe0\x34\xc7\x5a\x19\x69\xe1\x0f\xa4\x85\x5f\xbd\x30\xf0\x07\x58\x2a\xad\xd5\xf6\xf5\xe5\xd5\x99\x2b\x7d\xa8\x7a\xe5\x3a\xc9\x3e\xa6\xdf\x34\x2b\xc5\x2e\xd9\x1b\x59\x22\xe0\xaf\x8d\x28\x82\xb5\xe0\x29\xf8\x5c\xa3\x3b\x8b\x75\xed\x68\xf1\x03\xaf\x12\xe9\xe0\xeb\xc3\xac\xe0\x9a\xb6\x1c\x38\x07\xae\x03\xeb\x86\xe5\x91\x48\xed\x46\x8d\x67\x01\x9f\x8f\x17\x2b\xa5\xd9\x51\x77\xfb\x48\x75\xcb\x39\xd3\x58\xdf\x55\x91\xb0\x16\x44\xbd\x0e\x70\x8d\x14\xb2\x3b\xb2\xd3\x38\x2c\x64\x25\x05\xf4\xed\xa2\xf3\x89\x39\xb1\x2c\x78\xcf\xb3\xd3\xfb\x9a\x64\x3b\x54\xde\xfa\x63\x8b\xd7\x83\x96\xac\x9d\xe2\x75\x87\xd7\xf8\x62\xad\x5f\x1b\x79\xaf\xc0\xf4\x09\x3a\x44\xa5\xcb\x58\xf9\xe2\xce\xa6\x15\x6a\x6b\xdc\x79\x4d\x9f\x0d\x11\x15\x60\x59\xdb\x5d\x5f\xad\x04\xf6\x23\xac\x82\x10\xb3\x04\x77\xc0\x07\x59\xba\xe7\x0c\x19\x6f\x2d\xbd\xa4\x21\xd2\xf5\x5c\x35\xd5\xe9\xd9\x1c\xfe\xfc\xa1\x7f\xc5\xed\xb4\x6d\x75\xfc\x2a\xc6\x43\x2a\xa3\xab\xe4\x87\x85\x70\xa8\x4d\x9f\xe3\x86\xda\xf4\xe9\xdd\xb3\x6a\x43\xd3\x0d\x8b\x30\x76\xda\x01\xd8\xb8\x13\x61\x7d\xb4\xa6\xd2\xbc\x73\x57\xf5\x9c\xaa\x95\xc3\xf1\xdb\x2f\xf7\x07\x0c\xfc\x39\x81\x23\x9c\xf9\x91\x9c\xa4\x39\x9c\x78\x3d\xc5\xf2\xc0\x3a\xd7\x57\x9c\xec\x5d\x5e\x1c\x41\x33\xe3\x1f\x81\x9e\x0a\xd4\xd1\x33\x69\xc9\x7a\x2f\x92\xe7\xfd\x86\xed\x92\x2f\xda\xc7\x43\xcd\x5a\x64\x16\xfd\x17\x87\xba\xb4\xd4\x5e\xf4\x5f\x0c\x44\x0c\x43\x3c\xb1\xb8\x97\x53\xc6\xfa\xfd\xfb\x76\x9a\x53\x58\xdb\x70\xb4\x8c\x0f\x36\x84\xa2\x57\x67\x58\xf2\x58\xa5\xf2\xef\x49\x6e\xed\xa3\x38\x3a\x3a\xe8\x39\x93\x0f\x49\x79\xed\x87\xc0\x8f\xcc\x7e\xed\x01\x1a\x99\x08\xbb\xcf\x83\x0a\x7f\x9f\x7e\x47\xe1\x80\x07\xea\x0b\xfe\xf9\xd0\x71\x50\xd9\xbf\x4f\xee\xf9\x6c\x6f\xfe\x18\xe5\x89\xba\xac\x59\x05\xe1\xee\x0f\x96\xf3\x08\x8d\x2f\x27\x96\x99\x09\xb9\xf6\x3d\xc3\xe2\x9d\xc4\x25\x16\xaa\x5a\x13\xc0\x07\xba\xa3\x7b\x37\xa8\xce\x66\xf0\x5a\x94\x7b\xde\x00\xa3\xbf\xdd\x60\x15\x82\x26\x57\xac\xe8\x87\xef\x5f\x77\xd2\x1f\xfa\xde\xd3\x1e\x2f\x92\xac\xf3\xd0\xa8\x43\x44\x0a\xae\xe7\x98\x81\x8f\xdc\xcd\x1c\xef\xd0\x70\xb7\x2d\xf0\x21\x0b\x7f\x0b\x0d\x0f\xc5\x77\x13\xa4\x7c\x10\x4e\xd2\x8c\x1c\x7e\x5c\x0e\xb0\x83\xd1\xbb\x5f\x1b\xa1\xd1\x97\x4f\xb8\x2b\x38\x3b\xc7\x8b\x46\x8f\x6d\x18\xd0\xab\x92\xcb\x55\xba\x63\xf3\xfd\x56\x9d\x51\xbf\x17\x55\x85\xba\x33\x6a\xbc\x54\xa2\x1d\x6c\xd2\x8f\x46\x78\xe3\x4b\x70\xbd\x19\x54\x28\x34\x3c\xfd\xea\xe2\xe2\xee\x9b\x3f\x5e\x1c\x46\x6b\xc9\x23\x8d\x44\xeb\x9d\xca\xa4\x5f\x1c\xe3\xc8\xc0\x05\xfe\x5d\xac\x7e\x6f\xc0\xb8\x76\x1b\x55\x62\x2d\xd6\xd8\xa9\x71\x82\x37\xca\xdf\x5c\xcb\xc5\x90\xde\xdd\x3e\xe1\xe3\x36\x6b\x2d\xca\x93\x09\x9c\xd8\xad\xb4\x16\x35\x3d\xe6\xd2\x64\x4a\xe7\x27\x47\xce\x2f\xb9\x11\x4d\x52\x14\x7b\x70\x79\x7f\xd3\x9b\xb0\xc7\x71\x58\xb7\xcf\x31\xce\xe8\xb6\x3e\xb6\x60\x3d\xd8\x0f\xa1\x4b\xe8\xf4\x9b\x5e\xda\xfd\x80\x1c\x66\x42\x18\x58\xa4\x64\xda\x6f\x9a\x50\x05\x16\x29\x8d\x06\xa0\x3a\x92\x10\x44\xf7\xf4\x38\xa7\x24\xbd\x3e\x7c\xd8\x2f\xf1\x6e\x49\x84\xf6\x19\xfd\x93\x47\xf9\x26\x8f\xb8\x72\x7c\x30\xdb\xfe\x49\x3c\x94\x07\x5d\x46\x7e\xc4\xae\x86\xbf\xc7\xfb\x29\x1f\x9f\xfc\x7f\x00\x00\x00\xff\xff\x12\x03\xdf\x7b\x0b\x65\x00\x00"
+var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7c\x6d\x73\x1b\xb9\x91\xf0\x77\xff\x8a\xb6\x52\xe5\x48\xcf\x43\x91\xf2\x66\x6f\xeb\x8e\xb5\xcc\xc6\x6b\x5b\x89\xae\x6c\x9f\xcb\x96\x93\xab\x72\xb9\x2c\x70\xa6\x49\x22\x9a\x01\x26\x00\x46\x14\xe3\xf2\x7f\xbf\x42\xe3\x65\x30\x2f\x14\x47\x8a\x37\xd6\x07\x7b\x38\x03\x34\x1a\x8d\x7e\x47\x03\xbc\xac\xa4\x32\x70\x5e\x8b\x35\x5f\x16\x78\x29\xaf\x51\xc0\x4a\xc9\x12\x8e\x5a\xef\x8e\x1e\xf9\x96\x6f\xa4\x18\x6a\xdc\x7d\x1d\xdb\xff\x95\xe3\xf6\x1d\x6a\x59\xdc\xa0\xf2\x6d\xd3\x57\x47\x8f\x1e\xcd\x66\x33\xb8\xdc\x70\x0d\x99\x14\x46\xb1\xcc\x00\x2f\xab\x02\x4b\x14\x46\x83\xd9\x20\x94\x68\x58\xce\x0c\x03\x6d\x98\xc8\x99\xca\xa1\x52\xb2\x92\x1a\x73\xea\xcb\x05\x9c\xbf\xba\x78\x7b\x7a\xf6\xd3\x1f\x7e\x9a\xda\x37\xf4\xf6\x1d\xae\xe6\xb0\x31\xa6\xd2\xf3\xd9\x6c\xcd\xcd\xa6\x5e\x4e\x33\x59\xce\xa4\x58\x15\x72\x3b\x5b\x15\xbc\xd2\xb3\x65\x21\x97\xb3\x92\x71\x31\x63\x55\x55\xf0\x8c\x19\x2e\xc5\xec\x87\xb3\x1f\x9e\x9e\xfd\xd7\xd3\x9f\x4e\xc5\xca\x9c\x86\xc1\xa7\x65\x1e\x61\xbf\x37\xaa\xce\x8c\x06\x26\x72\x50\xa8\x65\xad\x32\xd4\x90\x31\xd1\x60\x0e\x52\x20\x48\x05\xa5\x54\x48\x7d\xe2\x24\xcc\xae\x42\x3d\x81\x8c\x15\x05\xe6\x70\xc3\x71\xab\xa7\xf0\x92\x65\x1b\x7a\xa6\xcf\xa0\xb0\x52\xa8\x2d\x01\xa8\x2f\x83\x9c\xaf\x56\xa8\x2c\xdc\x6b\x2e\x72\x90\xab\x08\x6f\x02\xba\xce\x36\xc0\x34\x30\xc8\x14\x32\x23\x15\x2c\xb9\x5c\x2b\x56\x6d\x76\xd4\x5b\x2a\x60\xf0\xdf\x6f\x5f\xfe\x19\x78\xc9\xd6\x08\x2b\x5e\xa0\xa3\x13\xcb\x32\xd4\xfa\x98\x15\xc5\x49\x43\xfc\xd7\x1e\xb0\x5d\x25\x0d\x5f\x1e\x3d\x02\x00\xb0\x70\x5e\x70\x5d\x15\x6c\x07\xdc\x0e\xb5\x64\x9a\x67\x1e\xe3\x0d\x33\xc0\x45\x56\xd4\x39\xba\x05\x13\xac\xc4\x09\xe4\xa8\x33\xc5\x2b\x4b\x52\x4b\xa9\x08\xc7\x6c\xea\x72\x29\x18\x2f\x60\x65\x51\x13\x20\x97\x7f\xc7\xcc\x4c\xe1\xb5\xd4\xc6\xff\xd0\xa0\x37\xb2\x2e\xf2\x84\xa0\xc6\xb2\x88\x1d\x70\x1a\x20\xd1\xff\xe9\x1c\x34\xad\x4b\x44\xd4\xe3\x1e\xc6\xbd\xf4\x98\x59\xea\x59\x2c\xfd\xb0\x69\x9b\x4e\x7b\xae\x61\xc5\xb1\xc8\x61\xcb\x8b\x02\x96\x08\xb9\x83\x8c\xb9\x65\xba\x82\x6b\xcf\x03\x66\x83\x0a\x57\x52\xa1\xc7\xba\x05\x66\x49\x6f\x95\xb1\x33\xcd\xa4\xc8\xb8\xc6\xe1\x31\xd3\x99\x14\x68\x08\xd7\xb9\xe5\x35\x2e\xd6\xed\x99\x3c\x83\xad\xe2\xc6\xa0\x68\xd1\xf8\x1b\x4d\x8b\x41\x8e\x86\xf1\xc0\x9c\x6d\xb0\x93\x16\x28\x2d\x89\xe9\x97\x48\x6c\x0e\x37\xa8\x96\x52\x23\x1c\xe3\x74\x3d\x05\x06\x15\x53\x8c\xf8\x10\xb8\xd0\x06\x19\xf1\x2d\x03\xcd\xc5\xba\x40\x28\xb8\xc0\x93\x71\x94\x48\x66\xb9\x8f\x20\xba\x64\x45\x91\xb0\x56\x94\x20\xf6\x40\xda\x78\xfe\x5b\x22\x30\xd8\xe2\xf2\x74\xa5\x38\x8a\xbc\xd8\x91\xf8\xc0\x31\x9f\x22\xc9\xd4\x04\xde\xbe\xf9\xf3\x49\x0b\x08\xc9\x83\xa7\x4b\x9f\x61\x26\x76\xe2\xd7\x50\x29\x24\xd1\x9f\x00\x9a\x6c\x1c\x15\xe2\xe4\xe6\xf0\xe5\x9c\x17\xf8\xb5\xa1\x01\x2d\x14\x17\xdc\x1c\xc7\x57\xf6\x2f\xe5\xa0\x49\xeb\xcb\x00\x45\xdb\x0d\xfa\x83\x85\x2f\x27\xf0\xa5\xd5\x52\x63\xb1\x9a\x92\x5c\x2d\x68\xc0\xfe\xc7\x94\x49\x17\xe9\xd0\xfd\xa6\xcd\x02\x2e\x1a\x14\x62\x33\x87\xc4\xd7\x46\x25\xfd\x05\x8b\x0a\x15\x18\x09\x6b\x6c\xe4\x9e\x98\x98\xd4\x2c\x5b\x21\x6c\xd9\xae\xa5\x30\x6c\xbf\x3f\x59\xd6\x2c\x89\x6c\xc1\x10\xcd\xe1\x19\x28\x24\x25\x9b\xa1\x85\x68\xf9\x45\x05\xc3\x15\xb4\x7c\x03\x41\xa1\xa9\x95\x80\x67\x02\x24\xcd\x85\x15\x71\x7c\xa7\x86\xf6\x6a\xa9\x55\x2d\x2c\xba\xbe\xf5\xf1\xe7\x0e\x1a\x4f\xbe\xa4\xf6\x71\x1a\x1e\xbe\x9e\xc0\x3c\x8c\xf0\x4b\xb2\x04\x7c\x45\xcc\x41\x1c\xb0\x68\x81\x9a\x7a\xec\x2d\xb8\xe3\xcb\x5d\x85\x3f\xfb\xee\x7f\x3c\x3e\xe9\x2e\x62\x80\xe2\x41\x00\xd3\xbf\x24\x6a\x14\x3a\x7f\x7e\xee\x37\xad\x0f\x5f\x1f\xf5\x9f\x7c\x43\xe1\xd7\x30\x59\xb9\x3f\xa3\x40\xc5\x33\xe0\xc2\xa0\x5a\x31\x4b\x72\x2b\x36\x8d\xe1\x03\xe6\x24\x4d\x1b\xa9\x30\x07\x2b\xc3\x0a\xe4\x6a\x05\xd9\x86\x71\x31\x05\xcb\x94\x3a\x82\xf3\xe2\x56\x6b\xcc\xed\xda\xc5\x85\xd4\xce\xe6\xe9\x09\xdc\xf0\x1c\xa5\x53\xd7\xd2\xea\x6b\x28\x31\xe7\xec\xa0\x2d\x69\xf0\xb3\x03\x26\xb4\x48\xdb\x12\xc9\xec\xb2\xd6\x8a\x1f\x9f\x44\x15\xd5\x99\xf2\x5f\xc9\x58\x4a\xc0\x5b\xeb\xbb\x84\xf9\x39\xeb\xa9\x3d\x3c\xeb\x3f\x01\x23\x5b\xf1\x97\xcb\xcb\xb7\x70\x2c\x15\x3d\xbc\x3f\x81\x0f\xef\x5e\x1d\xc4\xd6\x36\xb5\x78\xce\xef\xc2\xd6\x2e\x74\xad\x8a\xbe\x26\x6d\xb4\x48\xf2\x79\x50\xdc\x6b\x65\x05\xb4\x56\xa9\x68\xde\x83\x32\x1d\x90\x9e\x4b\x02\xe4\xfd\xe2\x3e\x4c\xc1\x86\x43\x2e\xde\x9e\xbf\x8f\x34\xa2\x5f\x7e\xf9\x81\x29\x6c\x98\x22\x87\xe5\xce\x8a\x37\x57\xe4\xf5\x58\xe7\x82\xe7\x28\x0c\x5f\x71\x54\x70\xfc\xfc\xe2\xc5\x49\x04\xa2\x18\x31\x8b\xd9\x30\xb2\x8c\x5c\x61\x66\xe0\xc3\xbb\x8b\x29\x3c\x83\xac\xe0\xb6\x6f\xe2\x3a\x12\x1f\xd6\x1a\x9d\xb3\xf2\xfc\xe2\x45\xe3\xf4\x48\x58\x59\xcf\xcd\xf2\x5f\x21\x19\xf9\x0c\xde\x1f\xbb\xe1\xcc\xae\x37\xa1\xbb\x66\x06\xb7\x6c\x77\x70\xa1\x6d\xe3\xd6\x42\xb7\x2c\xd0\xf3\x8b\x17\x96\xa5\xec\x10\x03\x13\xb4\x5e\x17\xe1\x47\x23\x3a\x6f\x30\xe9\xdd\x82\xd4\xf2\xa2\x73\x99\xe9\x29\xaf\x56\x7a\xca\xe5\xcc\xba\x32\x58\x19\x3d\xf3\x23\x9c\xb2\x3c\x57\x96\x83\xc5\x7a\x36\xca\x9c\x65\x3c\x1f\x36\xe6\x6f\x99\xd9\x90\x44\x24\xaa\xb5\xb2\xef\xbc\x52\xa6\x45\x0f\x0a\x99\x94\xbd\x27\x9e\x5b\x1d\xa9\x76\xa3\x0c\x3c\xd7\x20\x45\xb1\x03\x81\x98\x5b\xfb\xbc\x6a\x80\x73\x6d\x3d\x16\x9e\x63\x5c\xf2\x3b\x81\x8e\x20\x92\x05\x7b\xaa\x77\xda\x60\xa9\xc7\x91\xc7\xce\x38\xd0\xe7\x97\x21\x19\x4d\xe8\x37\x69\xb7\x1e\x14\xd9\x8c\xe7\xb0\xb0\x44\xef\x7f\x22\xe2\x2e\x08\xc6\x90\x3c\x37\x74\xab\x45\x46\x5c\xee\x04\xd6\x31\x18\x51\x5e\x30\xc3\x6f\xd0\xaa\xa8\x86\xbb\x7a\x8c\x75\x07\x9d\x36\x72\x7b\x6a\xe4\xcc\xb3\xd0\xa9\x7d\x7d\x2a\xc5\xe9\x16\x97\xb3\xdf\x39\xd8\xa7\xb5\x2a\xf4\xde\x15\x08\xd6\xd8\xba\xf8\xda\xa9\x18\xcb\x96\x8c\x0b\xfb\x18\xd7\xb5\x56\xfc\x20\xed\x47\x69\x2c\x6f\x2e\x3d\xe1\x1a\x22\xee\x35\x95\x47\x76\x4a\xf3\xd9\xec\x68\x6a\x59\x82\x99\xe3\xb0\x26\x27\xe1\xc5\xd1\xec\x28\x3e\x5b\x58\x27\x1d\xe3\x3a\xa4\x31\xf7\x43\x3d\xac\x43\xa3\xa5\x0d\x6a\x74\xcb\xcd\xc6\xc5\x28\x4a\xa1\xae\x24\xcf\xed\xbc\xc9\x4a\x5a\xe7\xe1\xa0\x4a\x7a\x6d\x5b\x76\x35\x11\x69\x27\xc7\x12\xe8\x60\x8d\x62\xfe\x15\xa9\xb6\xae\x97\xeb\xc2\xe8\x9c\xb3\x53\x0a\x92\x33\x59\xa2\x95\x61\xb7\xbe\x52\x95\xe4\xe5\xef\x2a\x9c\xe9\x7a\x49\x2d\x98\xf6\xde\xe6\x12\x73\xb0\x31\x1a\xb4\x60\x45\x56\xc4\x1b\x2c\x64\x85\x6a\x5a\xca\x7f\xf2\xa2\x60\x53\xa9\xd6\x33\x14\xa7\x1f\xde\x13\x9b\xce\xfe\x86\xcb\x99\x35\xad\xb3\x5f\x6d\xd4\xab\x3f\xcb\xd5\x67\xfa\xf9\xfa\xe2\xf5\xcb\xcf\xe4\x68\x8e\x9a\x55\xa4\xe5\x5d\xa6\x37\x9d\xfa\xa4\xdf\xa5\x2d\xdb\xb4\xde\xb6\xc7\xc2\xfe\xd3\xfd\x10\x3b\x2f\xe2\xd3\x7e\xbe\xf8\x9b\x62\x95\xf5\xa5\x1d\xff\x4b\x05\x65\x5d\x18\x5e\x15\x7e\xd9\x5c\xa2\x62\x14\x0f\xe8\x2e\x13\x3c\x13\xc0\xd4\x92\x1b\xc5\xd4\xee\x54\xf3\x7f\x62\x4e\xa1\x90\x0f\xff\x77\x20\xea\x72\x89\xd6\xb9\xf3\x3c\xc4\xad\x96\xdc\x4b\x45\xfa\x3a\x87\x8f\xd4\xf6\xd3\x10\x09\x3f\x77\xda\x0c\xea\x43\x6a\x02\x8b\xce\x60\x07\x22\x0c\x3f\xbf\x7f\x6b\x80\xd1\x18\x41\x3f\xfa\xb8\xf0\xc2\x35\xbe\x57\x74\xe1\xba\x3c\x34\xb8\x70\xbd\x47\xc6\x16\x91\x51\xa0\xf3\xf7\x0d\x42\x8b\x21\x0d\x57\xf0\x0c\x85\x75\x19\xb3\x4c\x2a\x52\x6c\x46\x46\xf9\xd7\x55\x7e\x4b\x22\xef\x5b\xe9\x66\x1d\x2f\x43\xd2\xa9\x15\x61\x78\x5f\x21\xf8\x56\x72\x65\xf5\xe6\x9b\xf3\x4b\xeb\x38\x78\x18\xf9\x41\x7d\xf9\xca\xa3\xb4\xdf\x49\xb7\x78\x5d\x44\xbf\xed\x2e\xa5\xf1\x39\xf1\xef\xee\x74\xdc\xdb\x20\x2d\xfb\xc7\x1f\x63\x65\x20\xe0\xfd\x9d\x84\x20\x0c\x3f\x4e\x0a\x7c\xeb\x7b\x89\x81\xef\xf3\x50\x39\xf0\xdd\x47\x0a\x42\x9f\x0b\x7e\x03\x49\x88\xf1\x92\x75\xd0\x88\xe8\xd6\xc3\x35\x58\x02\xa5\x66\x01\x6f\x0d\x2a\x4b\x5c\xcd\x4d\x63\xe8\x7d\x52\x3e\xe1\xfb\xe5\x2e\x0d\x76\x2c\xaf\x5f\x23\x4c\x63\x5c\xf3\x6b\x21\x33\x0b\x5d\x86\x38\xa9\xd6\xa8\x34\xa4\x31\x10\x25\xe1\x14\x5f\x73\x3b\x1a\x25\xc2\x7c\x0e\xd8\x4a\x0f\x25\xaa\x2b\x25\xff\x6e\xfb\x56\x36\x34\xa2\xe0\x38\x98\x70\xe7\x6f\xda\x86\x99\x2c\x0a\x24\x57\xb4\x41\x16\xd7\x51\x9e\xb7\xdb\xed\xb4\xdc\x51\xf6\xde\x43\x73\x99\xff\x1b\x54\x96\xee\xa7\x72\x45\xdf\x1a\x28\x87\x44\xf5\xa5\xa7\x8f\x25\xdf\x83\x63\xea\xcf\x30\x22\xaa\x5e\xdc\x19\xff\xb6\x05\x31\xc5\xea\x3b\x09\x63\x8a\xc2\x38\x81\x4c\x7a\xdc\x4b\x28\x93\x7e\x0f\x15\xcc\x04\xc4\x48\xe1\x1c\x5e\xf7\x6f\x2e\xa0\x8e\xc9\x57\x5c\x60\x88\xd9\xcb\x4a\x6a\xb6\xb4\x61\xae\xdc\xb1\xc2\xec\x9a\x9d\x2f\x6a\xbc\xe6\x37\xa8\xa1\x64\xea\x1a\x4d\x55\xb0\x0c\x35\xb0\x46\xcc\x6a\x61\xf5\x79\x9e\xa6\xd6\x24\xe8\xba\x72\xdb\x77\xe7\x97\x1e\x28\x47\x7d\xd0\x46\xbd\xf3\xc3\x77\x1c\xba\x90\xbc\x6b\x6f\x04\xbe\xc3\x0c\xf9\x4d\x4c\x30\x20\x2c\x51\xe0\x8a\x67\x9c\xa9\x5d\x48\xc0\xfb\xf9\xb4\xb3\x15\x8c\x38\x23\x98\xd4\x4c\xa1\x41\xb7\x0d\x16\x3a\x05\xc0\x14\xa2\x84\x5f\xd3\x35\x1a\xbb\xae\xc7\x27\x9d\x20\x33\x93\x65\x89\x22\x77\x09\x99\x53\xf8\x40\x4a\xc8\xa7\xf3\x69\x87\xcc\x6a\x42\x81\xdb\x44\xff\xc0\x79\x21\xb7\x6e\x16\x2d\x60\xaa\x3d\x25\xae\xa1\xd6\xd6\x79\xb8\x5a\xa3\xf1\xb4\x09\xb3\x7e\x5b\x2f\x0b\x9e\xbd\x65\x66\x73\x7c\x72\x35\x21\x7d\x28\xa4\x69\x83\x73\x99\x21\xb4\x8b\xcd\xea\xc2\x24\xa3\xc6\x49\x39\xa5\x4b\x1b\x33\xac\x28\xe4\xd6\xeb\x50\x23\xa1\xae\x72\x8b\x7a\x0b\x20\x91\x8c\x55\x6c\xc9\x0b\x6e\x28\xf1\x4d\xb1\x50\x6d\x6a\x45\xab\x5e\x93\xd6\xa7\xcd\x99\xb5\x5f\xb3\xa6\xf9\x5e\x45\x16\x90\x99\xc3\xf3\xd8\xf8\xe7\x27\x5f\x5a\xab\x3d\x0d\xf3\xfe\xfa\xc7\x36\x6f\xbc\x76\x61\x83\xf5\x2e\x42\x36\x36\x63\x45\x56\x17\x16\x79\x8b\x1d\x2b\x65\xed\x9c\x26\xcd\x0a\x84\x1b\x56\xd4\x08\x46\x31\xa1\x57\xa8\x94\xeb\xd1\x5e\x04\xcf\x84\x0d\x8d\xde\x48\x83\x70\x0a\x17\x26\xd9\xa5\x59\xa2\xd9\x22\x0a\x38\x9b\x9e\x11\xf1\x9f\x4e\xcf\xda\x60\x5e\xde\xda\x2e\x8e\xa3\x92\x91\xb9\x86\x5b\xea\x50\x36\x88\x73\x0d\x67\xd3\xff\xf8\xc9\x36\x15\x29\xdb\xb6\x01\xba\xfe\xdb\x80\x00\xf5\xf8\x7f\x70\x3b\xed\x8b\x0a\x2b\x8a\x1d\x54\xa8\x32\x14\xc6\x9a\xb5\x35\x26\x99\x6e\xb7\x37\x64\x50\x95\xda\x12\x65\xc9\x34\xd7\x50\x49\x2e\x4c\x2b\xaa\xb4\x8d\xb4\x2c\x78\x6e\x17\x7a\xc9\x2c\x69\x75\xc9\x94\x89\x1b\xb7\x1a\xb6\x1b\x1b\x6d\x67\x2c\x27\x7d\x2e\x57\x2b\xcb\x39\x57\x1f\xce\xf9\xed\x4f\x3f\x5e\x75\x19\x87\x19\x60\x85\x42\x96\xef\x82\x6e\x70\xca\x27\x1d\x9f\xf8\x27\x63\xda\x52\x37\x63\xf6\x07\x37\xba\x0d\xc8\x86\xcd\xde\x1b\x60\x0a\xc1\x3a\x93\x0a\x8b\x1d\xe4\x68\x67\xc4\x05\xd7\xc6\x67\xf9\xd7\x36\xc4\x4b\x5a\x8b\x3c\x2a\xa5\xb6\x90\x54\x96\x03\xfe\x33\xa0\x20\x57\x50\x29\xcc\xb8\x8e\xd6\x7e\x88\x65\xb3\xda\xcc\xc1\xcd\xb4\xcd\x8e\xff\x13\x4c\x55\x6b\xc7\x2b\xf5\x6c\x9c\x0c\xd9\xc9\xd9\xa1\xd8\x2e\x64\x8c\xfc\x9a\x4f\x7a\x02\xa7\xb0\x70\x73\xd8\xf0\x2a\xb2\x9d\xfd\x70\xb5\x65\x45\x81\xe6\x2a\xec\x09\x5b\x65\x3b\x01\x17\xe4\x9a\x8d\x85\x8b\x85\xc6\xfe\x3a\x90\x53\xb4\x15\xa8\xa0\xe4\xeb\x8d\x81\x2d\x13\x86\x74\x76\x85\x19\x5f\xed\xf6\xcf\xfa\xce\x7d\xd1\xc6\xf3\xb8\xa7\x3c\x4f\x52\x6a\x4e\x86\x06\xe9\xda\xce\x4a\x0d\x39\xb0\x59\x6d\xe0\x8f\x0b\x12\xc8\x27\x4f\xe8\xd7\xcf\x0b\x12\xcb\x39\x1c\x3d\xaf\x8d\x97\x9f\x46\x82\xb9\xb0\xaf\x78\x0e\x8a\x89\x35\x02\x9f\x22\x7c\x3c\x9b\x3c\xfd\x74\xb4\xc7\xc0\x42\xf0\x9b\xa2\x96\x5e\x44\x1d\x31\x90\xff\xac\x0d\x2c\x2c\x16\xfd\x4f\x87\xf7\x27\xef\x91\x2d\x09\x26\xd3\x15\x76\xc4\x0e\xaf\x53\x63\x6d\x39\xef\x1f\x35\xaa\x9d\xb3\x29\x57\xef\x82\x41\xbe\x0a\x86\x97\x0a\x65\xde\x9c\x5f\x26\xde\xb3\x65\x2a\x12\xb1\xdb\x0a\x33\xe3\xf4\x64\xc5\x76\x8d\x35\xf7\x5a\xc1\x25\xc4\x6c\x84\x44\xec\x13\x9c\xf5\x91\xb6\xde\xc2\xe9\xa6\x6f\x94\x62\x3b\xcf\xa9\x8a\x65\xd7\x4e\x4f\x70\x91\xf3\x1b\x9e\xd7\xac\x68\x30\xe8\x32\xaa\xa5\x6e\x94\xcf\x0b\xb1\x92\x7a\x0e\x1f\x3d\x81\x3e\xdd\xb1\x61\xe4\xfd\xe5\x81\x4e\x5d\xce\xb3\x3e\x94\xe5\x19\x67\x5c\x98\x01\x5d\x53\x1a\x90\x15\x05\x71\x5c\xa3\xd4\xa3\x0b\x60\xad\xf2\x12\x61\x4d\x9e\x80\xdf\xd9\x79\x3a\x3d\x6b\x81\xbd\x61\xd6\xcb\x36\xac\x78\x4e\x5c\x73\xd6\xf9\x6c\x17\x3c\x98\x04\x2e\x22\x9e\x03\x32\x90\x00\x89\x8f\xff\x3f\xf4\x9d\x76\xb9\xb1\xcd\xdb\x4c\x6b\x54\xe6\x38\xf6\x73\xd2\x33\x81\x12\xb5\x66\x6b\x9c\xc3\xd1\x7b\x37\xd9\x38\xfe\xf8\xd9\x1e\x9d\x74\xc9\xf8\x4c\x6b\xbe\x76\x7a\x2c\xc0\x1b\x14\x22\x37\xd2\xa2\xdf\xa8\x93\xa8\x7d\xe7\x9c\xde\x14\x1e\x65\xfd\x06\x33\xa5\x9d\x1d\x75\x46\x1c\x97\x64\xf0\x5d\x6d\x07\x26\xbc\xee\x98\xf6\x70\xde\x35\xa6\xf3\xa3\xc7\xc6\x51\x1f\x9f\x24\x2c\x75\xc7\x66\xe4\xc0\x1c\xe1\xae\x88\xac\x11\xa1\xef\x14\x8f\xbd\xeb\xd0\xe7\x50\x34\xd6\x50\xe4\x3e\xb1\x58\xec\xf5\xd0\x48\x2c\x02\x18\x19\x87\xa5\xaa\xa9\x2b\x61\xdf\xa4\x16\xc1\xd9\x60\xb7\xc9\x48\x5a\x24\x1a\x25\xf2\x61\x49\xde\xc9\xb2\x58\x66\x6c\xab\xbb\x98\x28\xa1\xb2\xb8\x06\x04\xb9\xf0\x78\x83\xc2\xd4\xe4\xfe\xa5\xb0\x58\xf4\xc6\xf5\x96\x9b\x6c\xb3\x94\x36\xb4\x0b\xb6\x6b\x12\xe1\x6e\x1c\x23\x84\xba\xb5\x65\xed\xc1\xd2\xbe\x65\x0b\xb9\x48\x20\xfb\x4b\xc8\x4e\x8d\x5c\x77\x8b\xac\x89\x55\x62\xac\x16\x10\xb2\xe1\x61\x6a\x43\x87\x98\xa7\x2f\x53\x83\x51\xd0\x3c\x1d\xe7\x4b\x77\x1d\x66\x15\x7d\x9c\xf9\x58\xf2\xfc\xf2\x5d\x3a\xec\x81\x74\xae\x2f\x21\x73\x1b\xb9\x49\x31\xa4\xcf\x67\xbd\x39\xbf\x9c\xf6\x16\x27\x44\x23\x14\x6a\x2a\xc6\x9d\x6f\x99\x98\xb1\x6b\xdc\xcd\x9c\x4f\x52\x31\xae\x34\xb0\x42\x8a\xb5\x8b\x39\xb5\x2c\x1b\xb9\xa3\xb4\xef\xad\x5d\x56\xda\xca\xa0\x71\xd9\x52\xd6\x8e\x89\x08\xf4\x21\x5b\x7b\x69\x1b\x25\x34\x19\xa8\x4e\x24\x38\x53\x78\xc5\xaf\x11\x7e\x65\xd9\xf5\x5a\xc9\x5a\xe4\x13\x78\xb9\x43\x3d\x81\xbf\x30\xae\x3a\xa5\x63\x63\xcb\x07\x69\xa4\x5a\xe4\xa8\x0a\xf2\x75\xdd\x94\xd3\x51\x27\x41\xf1\x98\xf0\x9a\x08\xad\x5d\xf9\x1e\x35\x81\x4a\xc9\x1b\x9e\x63\x20\x46\xd0\x56\x04\x6c\x3f\x4e\xf4\x79\x0e\xcf\xc4\xce\x95\xd0\xb6\xf0\xf2\xb5\x72\x56\x43\xa4\xeb\xa5\x37\x72\x4b\x0b\x10\xc7\x72\xc4\xde\x3a\xd7\x99\x6b\x47\x36\xeb\x1e\xb9\xa9\x44\x46\x49\x81\x5b\x3e\xe7\x42\x1b\x26\x32\x9c\xc0\x4e\xd6\x90\x91\x88\xeb\x80\x95\x1d\x8a\x41\x2d\xf8\x2d\x18\x5e\xa2\x36\xac\xac\x5c\x18\xef\xdd\xf0\x16\x7e\x4c\xc3\xd1\x0b\x66\xf0\x88\x26\x8e\x45\x91\x8e\x55\x15\xcc\xac\xa4\x8d\xe7\x6c\xf0\x2b\x85\xae\x4b\x5f\x11\xe2\x68\x47\xb5\xba\xe4\xb2\x84\x2c\x01\xf3\x7b\x60\xfb\x3d\xfd\x66\xec\x81\xa2\x00\x6b\x6e\x99\xb2\x81\xa1\xf5\x2c\x59\xa1\x65\xd4\x0e\x2e\x13\x5b\xec\xbc\x64\x30\x63\x14\x5f\xd6\xa6\xb5\x33\xdf\x66\x0e\x27\x2d\xd1\xa4\x84\xc8\x8f\xd0\x2c\x8a\x06\x82\xa6\xca\x09\x3f\x45\xff\x2e\xb0\xc1\x9b\xf3\xcb\xdf\x6b\x50\x84\xd3\x7e\x6e\x70\xdf\xe7\x1e\xf7\xc1\x22\x87\x56\x05\x63\x8f\x7d\x26\x83\x74\x99\x74\x01\xdf\xbf\x62\xd1\x71\xc4\xc2\x0d\x38\x10\x30\x24\x9c\xb0\x48\x71\x18\x88\x4d\xdc\xba\x2c\x3c\x4e\x23\x23\x0a\x52\x77\xa4\x26\x83\xe7\x13\x34\xd6\x61\xfd\xe6\x3b\xfa\x0e\xb4\x5b\x39\x42\xc5\x45\x70\xa9\xa4\x0d\xa8\x38\x64\xd9\xc6\xeb\xa6\x3b\x95\x9b\xbe\x23\x51\xee\x50\x9b\xc3\x47\x6a\xb9\x67\x0b\xb7\xd3\x68\x70\x0d\xfd\x1c\x17\xbe\xf1\x80\xd1\xb7\x7f\xed\x60\x26\xcf\x75\x63\x40\x9c\x1e\xf6\x4c\xeb\xf1\xb6\x48\xb4\xba\xb4\xbd\x54\xe7\xb6\x51\xdb\x39\xa9\x52\x27\xd3\x7e\xee\x86\x24\x8f\xe5\x39\xe6\x07\x5d\x53\x6b\x41\x59\x9e\x13\x28\x3b\xe1\xb9\x83\x7a\xc7\x4c\xa7\x96\x45\x44\x7e\x6c\xee\xa8\xef\x68\x7b\xa4\xc9\x9c\xbe\x97\x4f\xea\x51\x18\xe7\x90\xba\xc6\xf7\xf2\x46\x5d\x97\x87\xba\xa2\xae\xf7\x48\x3f\xb4\xc7\xd9\xe1\xef\x1b\x38\xa1\x7e\xdd\x62\x8d\x95\x91\x80\x4c\xf3\x82\xe2\xa0\x1b\x54\x86\x6a\xd1\xe8\x1b\x53\x3b\x5a\x09\xc7\x13\x70\x2e\x15\xa5\xf5\x13\x07\x25\x6c\x6c\x69\xbf\xb9\x20\x49\x7d\x93\xbe\x46\x4e\x05\x8d\xa1\x20\x3e\xac\x12\x69\x05\x6f\xe1\x2f\x9d\x13\x10\xe1\x91\xe9\x2a\xd1\x6c\x64\x2c\x8b\xd7\xf5\x6a\xc5\x1d\x43\xac\xf9\x0d\xf9\xa8\x25\xd9\x17\x8a\xdc\xe4\xca\x67\x72\x3c\x8a\xfb\x18\xcd\xce\xc7\x09\x51\x7b\x66\x4b\x0c\x93\x76\x2a\xed\xb2\x11\xef\xa4\x37\xde\xd2\x91\x93\xfc\x0d\x2b\x51\xcf\x5b\x95\xd8\xbe\x68\xcb\x61\xe3\xed\x77\xc8\xeb\x5d\xd9\xb1\xae\x22\xb0\xf0\x77\x8d\x3b\x4f\x2d\xa6\x9c\xb5\xdb\x32\xe1\xc7\x5f\x62\x66\xb5\xe2\x95\xc3\xe3\x6a\xd0\xa7\x26\x07\x9a\xd9\x0e\x5d\x3d\xb2\x8f\xdd\x2d\x1e\x97\xd2\x73\xbc\x23\xc5\x17\x87\x78\x62\xe2\xbe\x4e\xba\xf3\xfc\xe8\xda\x7c\xfa\xe5\x64\xde\x67\xc8\xd9\x0c\x9e\xc7\xd5\x77\x49\x45\xed\xb3\x8a\x61\x4a\xd1\xa4\x78\xa7\xce\x6d\x1a\x70\xd5\x38\xd1\xfe\x2c\x4f\x3e\xed\x78\x8d\xbb\x4e\x7e\x72\xc3\x44\x5e\xa0\xb3\x18\x44\x64\x1b\xe8\x50\xc2\xd3\x34\x8d\xff\x5e\xeb\x64\x6c\xe2\x93\x00\x9f\x0a\x9d\x8b\x62\x9a\x0a\x6e\x6b\xb2\xf0\x78\x61\x45\xa5\x23\x70\xd6\x95\xbb\xb6\x68\xb7\xda\x3e\x1e\x10\x4b\x4b\xd4\xa9\xc2\x52\xde\xe0\xf1\x35\xee\xe6\x70\xdd\xad\xaa\x6b\x9e\xe2\xe3\x80\x85\x82\x05\x7c\xfc\xf4\xa8\x37\x3e\x81\x27\xbe\x69\x0f\x1d\x21\xc0\xc2\xad\x90\x77\x63\xae\xa3\x07\x63\x7b\x7e\xbc\xfe\xf4\xb8\xe3\xc0\x08\x5e\x34\xce\x8b\xe0\x45\x1b\xdb\x8e\x0d\x20\x5b\x31\x34\x81\xc0\x94\x8e\xb1\x5c\xaf\x93\xae\xba\x89\x79\xf1\x98\xc1\xec\x69\x0d\xae\x75\x8d\x4d\x62\xd3\x1f\xcc\x8a\x10\x28\x30\x72\x9b\x29\x25\x1d\x75\xd3\xbc\xe4\x05\x53\xc9\xc9\x34\x0b\x16\x6f\x59\x69\xbb\x33\x01\xff\x6b\x15\xc3\xd3\xb3\x33\xeb\x74\xbb\x8d\xae\x08\x8c\x0b\xeb\x30\xbb\x2d\x3b\xe7\xcb\xac\x6a\x77\x3e\xcc\xe5\xd4\xdd\x7e\x41\xba\xe3\xd9\x38\x40\xcf\x5c\xf5\x80\x63\xb7\xa5\x75\x6d\x14\x05\x2e\x11\x73\xcc\x39\x4d\x6b\x02\xdb\x0d\xcf\xa8\xb6\x78\xbb\xa1\x0a\xf0\xf0\x69\x1f\x1e\x8e\x94\x96\x53\xb5\xd3\x6e\xbe\x8a\x0d\x5c\x15\x1b\xe9\x97\x43\xb1\xde\x4b\x37\xc4\xa1\xd3\x68\x29\x26\xa1\xcd\x79\x43\xbf\x89\xd3\xc2\x59\xc8\x4b\xbc\x47\x33\x81\xb7\x05\xdb\x4d\xe0\x3d\x2a\x8e\xba\xbd\x4f\xe1\x2b\xeb\xdc\x49\x87\x2d\xdb\x25\x85\x15\x0e\x44\x56\x30\xad\x6d\x54\x63\xf5\x47\x20\xd0\xa8\x58\xf2\x97\xfe\x3c\x7c\xff\xa4\x90\x6f\xcf\x61\x2b\x9a\x11\x13\x70\xf4\xc3\x8f\x81\x17\x8e\x7f\xf7\xc3\x8f\xb3\xa7\x67\x67\x27\x47\x54\x91\xe2\x62\x4f\x0f\x88\x6b\xf8\xe1\xc7\x3b\x22\x5c\x6a\x35\x87\x0f\x17\xc2\x74\xf7\x7d\x2c\x5a\x25\xbb\x1d\x44\xcd\x06\x62\x7e\x7b\xd9\x33\xf5\xb4\xd3\xb7\x7b\x0a\x2c\x24\x5c\x7c\xd4\xeb\x92\x2e\x05\x2f\xb9\xc1\xfc\xd4\x0f\x81\xf9\x30\xb4\x11\x53\xb6\x88\x72\x6d\xbf\x0d\x76\xa5\x4a\x1d\x12\xb7\x5a\xf8\x41\xc3\xbc\x5c\xdf\x26\x5d\x65\xc3\x59\x23\xad\xee\x18\x77\xa6\xac\x64\xb7\x81\x7e\x07\xe3\xaf\x5f\x26\x1d\x8a\x4f\x5a\xdd\x07\x1c\x28\x8b\xdb\xa0\x0a\x87\x26\xbd\xed\x17\xe6\xe7\x85\x6d\xfd\x38\xcd\x6e\x5f\x36\x8c\x90\x31\x31\x94\xc8\x36\x7e\x91\x5d\xab\xc7\x47\xfb\xb4\x3b\x8c\x0a\xfa\xfc\x58\x8b\x6e\x2c\x1e\x1b\xd8\xa1\x08\xcd\x91\x51\x5c\x6b\x5f\x28\xa8\x81\x51\x75\xb4\xbe\xf1\xbf\x50\x49\xdb\x13\xe9\xd6\x6e\x63\x4b\x5f\xb2\xa0\x31\xf7\x72\x89\xd5\x8a\xaf\xb8\x36\x73\xf8\xe8\x31\xdb\x57\x77\xdb\x6f\x38\x5c\x7c\xeb\xdb\xc1\x22\x76\x19\x1b\xd1\x44\xd2\x7c\xaf\x53\x7e\x11\x81\x91\x05\x4f\xbe\xf9\xfd\xaa\x9d\x7c\xa7\x07\x97\x3a\xf9\xfe\x63\xeb\x9c\x1a\x76\xeb\x4a\xe9\xb7\x2a\x72\x8a\x49\x39\xf2\xcb\x83\x31\x3a\x75\x65\x4f\x39\x68\x54\x9c\x15\x81\x7f\x5d\x8e\x3c\xec\x5f\x5a\x6e\x8d\xc0\xde\xba\x8e\x1a\x36\xec\x06\x93\x63\xf1\x04\xc8\xcf\x82\xdc\x06\xf2\xe4\x3b\x70\xa3\x9e\x8c\xe0\xde\x5b\xdf\xb5\x64\xbb\x58\x9a\x43\x7b\xae\x0a\xd7\xb5\xf5\x64\x2e\x5e\xb8\x04\x60\xda\x28\x39\x8b\xdf\x04\x5c\xce\x98\x86\x43\x60\xee\x9c\xcf\xd4\x9d\x46\x69\x21\xc0\x75\x6b\xfb\x76\x89\x50\x0b\xfe\x8f\x9a\x8a\x62\xfc\x81\x41\xb2\xde\x64\xb6\x09\x15\xab\xf6\xc9\x43\x67\x26\x10\xed\x90\xf2\x78\xef\x86\xdc\x9f\x7f\xd9\x67\x37\x53\x49\x6e\xb7\x19\xce\xa0\xed\xd1\x97\x07\x04\xd8\xa3\xf7\xbd\xc4\xd7\x0f\x3f\x4e\x78\x5d\xe3\x7b\x89\xae\xeb\xf2\x50\xc1\x75\xbd\x47\x8a\x6d\x6f\xa1\xbf\xb5\xd0\x36\xa5\xc3\x3e\x8d\x99\xba\xc7\x5e\x48\x5d\x22\x2d\xc9\x6e\xda\xde\x54\xa0\xe5\x82\xe9\xd0\x55\x20\xe6\xda\x45\x8d\x37\x18\xb2\x10\x3a\x93\x8a\x62\x87\xb4\x04\x63\x59\x1b\xe0\xee\x04\x7d\x04\x48\x9d\x96\xb2\xc9\x53\xee\x63\x7e\x9f\x07\xff\xd2\x73\x06\xfd\x50\xbe\xa2\xd0\xb5\xa2\x44\xfc\x81\xcc\x3b\xf5\x0b\xd5\x30\x03\xbe\x6f\xc9\x6e\x79\x59\x97\xcd\x36\x0a\x75\x38\xe0\x70\xed\x03\x36\x70\x9d\x43\x8a\xaa\x3b\xda\x76\xe0\x74\x63\x0c\x11\x5e\xe1\x1a\x45\xce\xd4\x6e\x02\x2f\x2b\x9e\x4d\x2c\x6d\x70\x02\x1f\x44\x26\xcb\xd2\xba\x8e\xcf\xe9\xff\x76\xac\xe0\x4f\xcf\xb5\x13\xdf\x23\xea\x8e\x06\xbd\xc7\x36\xed\x26\xad\xc9\x0f\x16\x16\x0d\x39\x91\x6e\xe1\x16\xce\x8d\x7c\xf2\xa4\x45\xa3\xc5\x3e\xe7\xb2\x62\x82\x67\xc7\x47\xcf\x02\x3f\x44\xee\xd3\x61\x49\xdb\xf7\x93\x48\x45\xdc\xd5\xf3\x20\xfb\x5a\xcf\xa3\xd3\x59\x66\xd8\xef\x23\xc2\xbf\x50\x66\xd4\x29\x2f\x70\x73\xf9\x9e\xc9\x5c\x8f\xc2\xc8\xea\x02\x6a\x7c\xbf\xd2\x02\xb7\x63\xf3\xd0\xba\x02\xea\x3d\xb6\xa8\xa0\xab\x29\xc2\xdf\x37\xd0\x9e\x6f\xce\x2f\x49\x81\x6e\x15\xab\x34\x25\xdc\x9e\xd3\x05\x29\x74\xa5\x8e\xdb\x74\xb9\xe2\xb9\x2b\x14\xbc\xaa\x6b\xfb\xe8\xb2\x71\x6e\xc7\x31\xec\xe6\x44\x78\x21\xcd\xca\xa8\x36\xbc\x40\x83\x50\xf1\x8c\xaa\x7c\xe3\xe1\x23\x7f\x7f\x0e\x79\x0d\xc3\x97\xe7\x44\x70\xa3\x6e\xd1\x09\x73\xd8\xef\x47\xf0\x3c\xfa\x10\xfb\x9a\xd8\xb9\x1d\x6c\xe4\x73\x60\xf3\xf6\xd5\x43\xd3\x70\xd9\xc5\xde\x7e\xd8\x94\xe7\x77\xfb\xa6\xc7\x05\xf6\xf6\x6f\x32\x5e\x2f\x98\x61\x73\x3b\xe3\xe7\xad\x57\xa3\xba\x06\xe4\xdb\xbd\x0f\xe1\x1e\x2b\x36\xd2\x72\x9a\xbd\xad\x43\x3e\xd2\xef\x75\x1c\xbc\xf8\x85\xe7\x10\x83\xf4\xd6\x07\xbb\x1e\x7b\x3e\xf9\x55\x80\x7d\xcb\xd0\x6e\x9d\xd0\xbe\xd7\x23\x25\x7e\xbb\x57\x9b\xe2\x30\x44\xf2\xbd\x1d\x22\x7a\x83\x84\x6e\x77\x6b\xea\x61\x52\xf2\x76\x6e\xb8\xe9\xd0\x34\xbc\x1f\x0e\x58\x73\x3a\x2b\xd7\xff\x40\x04\x5d\x10\x5d\x07\x34\xbe\xc7\x39\xee\x11\xf7\x9b\xa4\x74\x5c\xa4\x54\xed\x37\xed\x10\x6f\xd1\xa1\xe6\x9d\x1d\x22\x22\xbd\x77\xfd\x6e\x0d\xf1\x16\x03\xa5\x9d\x30\x6e\xf3\x75\xaf\x11\xf3\x67\xbd\x88\x71\xf7\xd9\x2c\xab\x33\x2e\x7d\x9a\x82\xe7\xbf\x89\x45\x0b\xda\x6d\x9c\x25\xf3\xad\x8f\x1b\x65\x36\xb9\x87\x51\xeb\x6b\x52\x8a\xc2\x56\xe6\xaf\x63\x8c\x9a\xef\x6d\xad\x5a\x6a\x14\x43\xf7\xc1\xfc\x5a\xb0\x4c\xae\xcd\x63\x60\xfa\x71\xc0\x22\x59\xa7\xae\x21\x0b\xb3\xec\xab\x12\x9e\xf7\xd5\xc8\xbc\x8d\xb7\x7d\x35\xa8\x50\xba\xda\x21\xb9\xfa\x28\x05\x70\x32\x5e\xbf\x74\x8e\x91\xdd\x01\xa5\xa7\x6f\x88\x73\xdd\x82\xb6\xf5\xce\x48\x28\x51\x09\x0d\x03\x3a\x3c\xaf\x54\x33\x05\x18\x4d\x15\xe6\x1d\x1d\xbd\xb8\x35\xbd\xfc\xfe\x4e\xab\x4b\xa3\xc4\x0e\xc4\x73\xae\x82\xbb\x09\xe6\xfc\x25\x28\x74\x95\x8e\xbf\xd6\xd0\x28\x8e\x37\x38\x5c\x6e\x72\xd7\xa1\x50\xe7\x64\xd7\x15\xb0\xce\x59\x4d\x97\xc2\xae\x94\xb4\xda\x20\xc2\xb3\x43\xb2\xb5\x1b\xd4\x95\x04\x36\x47\x94\xc6\x1c\x51\xeb\xad\x64\x27\xf6\x73\xb7\xc9\x88\x38\xce\x96\xee\x81\x20\x7f\xc8\x9f\xd8\x56\xe1\xc4\x58\x4c\xca\xb8\x1b\x85\xf6\x6f\x3c\x78\x58\x6f\xfd\xa5\x2b\xf1\x47\xe7\x1e\x1b\x37\x1b\x2a\x09\x75\x1b\x4f\x65\xad\x29\xe3\x5a\x70\x71\xed\x06\xf3\xcb\x31\x30\xf1\xb8\x55\x11\xb2\x5f\x10\xb7\xa8\xb2\xa2\xa6\x23\xec\xf1\x50\x20\x4d\x24\x9c\xf6\xf3\x5b\x65\x5e\x62\x9c\xcb\xd9\x7c\xdc\x3b\xa7\x2a\xd6\x6a\xa6\x75\x9b\xfd\x10\x75\xf0\x84\x5e\xb2\xc8\xe1\x3e\x2b\x37\xb3\x3c\xe8\x64\x07\xbe\x05\x4d\x48\x7f\xf6\x11\x85\xe1\x26\x5c\xf8\x89\xb7\x5c\x9b\x09\x70\x03\x42\x82\xf5\x94\x51\x35\xd1\xdb\xd2\x95\x25\x2a\x1e\x32\x68\x49\x96\x30\xce\xf1\xc0\x14\x1b\x6e\x99\x03\xd5\x6c\xb5\xa7\x68\x67\xd5\xa9\x01\xf6\xcb\xe5\x73\xe7\x6c\x25\x15\xe1\xea\xf6\x7c\xaa\x66\x95\x0f\x0c\xfc\x8a\xc0\xb8\x9d\xde\xfe\xc0\xe7\xb1\xf0\xc3\x1d\xcd\x2a\xe4\x56\xbb\xe3\x8a\x3e\x19\xc0\x04\x60\x59\x99\x5d\x57\xaa\x02\xc1\xed\xfc\x03\x0f\x13\x03\xb7\xc0\x07\x56\xba\xe3\x08\x15\xed\xac\xbc\xb4\x43\xa4\x24\x5a\xd5\xe2\xf8\x64\x0e\x7f\xfa\xd2\xbd\xe1\x75\xda\xb4\x3a\x7c\x13\xe1\x3e\x89\x69\xeb\xb8\x61\x1e\x1c\x6a\xd3\x5d\xc4\xa1\x36\x5d\x7a\x77\x94\xfa\xd0\x74\xc3\x22\x8c\x9d\x76\x54\xb7\xa3\x0e\x44\x75\xd1\x9a\x72\xfd\xde\xdd\x54\x73\x2c\x57\x0e\xc7\x9f\x9f\xf4\x07\x0c\x85\xd1\x13\x18\x74\x31\x12\x7c\xac\x8f\x30\x87\x23\xaf\x78\x48\x40\x49\xe5\xf8\x82\x8b\xde\xdd\xbd\x11\x34\xa9\x8c\x03\xd0\x13\x25\x32\x3d\x78\x24\x2b\x59\xef\x45\xf2\xdc\x6f\xd8\x2c\xf9\xa2\x79\xdc\xd7\xac\x41\x66\xd1\x7d\xb1\xaf\x4b\x43\xed\x45\xf7\xc5\x80\xc3\x3c\xc4\x13\x8b\x3b\x39\x65\xac\xdb\xdb\x37\x53\x94\xc1\xd9\x86\x93\x55\x54\xd7\x1f\x6a\x3e\x05\xad\x5d\x1e\x8b\x34\xfe\x3d\xb9\x9d\x3e\x8a\xa3\x9d\xe3\x8e\x2f\x75\x9f\x8c\x4f\x3f\x02\x7c\x60\xf2\xa7\x07\x68\x64\x1e\xe8\x2e\x07\x22\xfc\x7d\xfb\x84\xfa\x1e\x07\xcc\xd7\xbb\xd3\x99\xdb\xa0\xb2\x7f\x9f\x5c\x73\xd9\x5c\x7c\x31\xca\x11\x73\x49\x23\x01\xe1\xea\x0b\x92\xf3\x08\x8d\xee\xe6\xe5\x99\x0e\x56\xbc\x67\x58\xbc\x8f\xb4\x44\x6b\x87\x2d\xc0\x7b\x7a\x63\xbd\x0b\x44\x67\x33\x78\xc3\xca\x9e\x81\x25\xf4\xb7\x1b\x14\x21\x66\x70\xb5\x7a\x7e\xf8\xee\x6d\x1f\xdd\xa1\xef\x3c\xec\xf0\x22\x49\xba\x0e\x8d\x3a\x44\xa4\xe0\x79\x8d\x19\xf8\xc0\xd5\xc4\xf1\x0a\x09\x77\xd9\x00\x79\x2c\xfe\x12\x16\x1a\x8a\x8e\xe6\xa7\x7c\x10\x0e\x92\x8c\x1c\x7e\x5c\x0a\xac\x85\xd1\xfb\x7f\xd4\x4c\xa1\xaf\x1e\x70\x37\x50\xb6\x4e\xd7\x8c\x1e\x5b\x13\xa0\x8b\x92\xaa\x35\xda\x63\xd3\xf5\x4e\xad\x51\x7f\x65\x42\xa0\x6a\x8d\x1a\xef\x54\x68\x06\x9b\x74\x9d\x71\xda\xf7\x61\x54\x6e\x05\x02\x99\x82\xa7\x3f\x9c\x9d\xdd\xfe\xf4\x87\xb3\xfd\x68\x2d\x69\xa4\x91\x68\xbd\x97\x19\xf7\x8b\xa3\x1d\x19\xa8\xbe\xbd\x8d\xd5\xef\x35\x68\xd7\x6e\x23\x4b\xac\xd8\x1a\x5b\x25\x3e\xf0\x56\xfa\x8b\x5b\xa9\x16\xb0\x64\x54\x2a\x74\x44\xa7\x4d\xd6\x8a\x95\x47\x13\x38\x32\x5b\x6e\x0c\x2a\xfb\x98\x73\x9d\x49\x95\x1f\x1d\x38\xbe\xe3\x46\xd4\x49\x4d\xe8\xde\xe5\xfd\x4d\x2f\x82\x1e\xc7\x61\xed\x3e\x87\x38\xa3\xdd\xfa\xd0\x82\x75\x60\xdf\x87\x2e\xa1\xd3\x6f\x7a\x67\xf5\x3d\x52\x78\x09\x61\x60\x91\x92\xa9\xdf\x34\xa1\x0a\x2c\x52\x1a\x0d\x40\x75\x24\xb1\x10\xdd\xd3\xc3\x9c\x92\xf4\xf6\xec\x61\xbf\xc4\xbb\x25\x11\xda\x77\xf4\x4f\x1e\xe4\x9b\x3c\xe0\xc6\xed\xc1\x64\xf3\x37\xf1\x50\xee\x75\x17\xf7\x01\xbb\x1a\xfe\x1e\xee\xa7\x7c\x7d\xf4\x7f\x01\x00\x00\xff\xff\x57\x7a\xd0\xa8\x0a\x64\x00\x00"
 
 func utilityMetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -195,11 +174,11 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/MetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x20, 0x31, 0xdf, 0x46, 0x5e, 0xc8, 0xf, 0xe7, 0x72, 0x96, 0x15, 0x66, 0x3d, 0xf9, 0xd7, 0x36, 0x5a, 0x2a, 0x5f, 0x8e, 0xda, 0x70, 0x4b, 0xb0, 0xbe, 0x9b, 0x5b, 0x63, 0x72, 0x54, 0x4f, 0x5a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb0, 0xee, 0xa8, 0xa8, 0x62, 0x1, 0x4a, 0xd, 0xaa, 0xd6, 0xf2, 0xba, 0xa0, 0xf7, 0x91, 0x4c, 0x14, 0x3, 0x3c, 0xae, 0xdf, 0x3b, 0xd2, 0xf, 0x68, 0xf2, 0x3a, 0xed, 0xd9, 0xb5, 0xef, 0x89}}
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x59\xdf\x8f\x23\xb7\xed\x7f\x9f\xbf\x82\xdf\x0d\xf0\xbd\xdd\xc0\xe7\xed\x43\xd1\x87\x05\x82\xcb\x25\x9b\x2d\x16\x28\xb6\xc5\xc5\x97\x3c\x14\x45\x2c\x8f\x68\x5b\x8d\x46\x9a\x93\x34\x76\x8c\xcb\xfe\xef\x05\x29\x69\x46\xf2\x8f\xbd\xbb\xb4\xfb\x90\x9c\x67\x24\x92\x22\x3f\x24\x3f\xd4\xdc\x7e\xfd\x75\xd3\x7c\xf5\x15\x2c\xb6\x08\x0f\xda\xee\xe1\xc9\x9a\xd7\x0f\x83\xd9\xa8\x95\x46\x58\xd8\x5f\xd1\x80\x0f\xc2\x48\xe1\x24\x2f\x5c\x3e\x59\x93\xdf\xf3\xeb\x25\xb4\xd6\x04\x27\xda\xd0\x34\x24\x45\x99\x80\x6e\x2d\x5a\x84\xb0\x15\x01\x84\xd6\xe7\x64\xe6\x3d\x1e\xfc\xd6\x0e\x5a\xd2\x83\xb5\x75\x1d\x04\x3b\x6f\x1e\xd7\x20\x60\xf0\xe8\x60\x2f\x4c\xf0\x10\x2c\x48\xec\xb5\x3d\x80\x00\x83\x7b\x78\x7a\x58\x8c\x02\x66\x10\xb6\xa8\xdc\xf8\x3b\xcb\x53\x5d\xaf\xb1\x43\x13\xd8\xa8\x70\xe8\xd1\x83\xc4\xb5\x32\x28\x61\x8b\x0e\xd3\x61\x1e\x16\x4b\x70\xe8\xed\xe0\xda\xc2\xf4\x78\x92\xd6\x3a\x9c\x5e\x92\x88\x78\x24\x87\xbd\x43\x8f\x64\x99\x30\x6c\x8c\x32\x64\x05\xf8\x4e\xb8\x30\x5a\x32\x8f\x2a\xbe\xb7\x5a\x63\x1b\x94\x35\x4b\x78\x77\x41\xd3\xa4\x84\xe4\xfb\x60\x1d\xfa\xe4\x82\x57\x3e\x1d\x37\x4b\x99\x37\x8f\x01\x94\x69\xf5\x20\x79\xd1\x1a\xf7\xb0\x1e\x0c\xbf\x63\x57\x09\x4d\x71\x24\x7b\xec\xde\xa0\xa3\x47\x28\xbc\xd2\x87\xa6\xb3\x3b\x84\x40\xfe\xf7\x64\xb2\x30\x12\xec\x10\xc0\xae\x79\x75\xa9\x82\x2d\xff\x87\xb3\x3b\x25\xd1\x2d\x79\xe5\xf2\x1d\xb6\xa8\x76\xf4\xf3\xd4\x61\x9e\xcf\xe1\xcb\x27\x20\xb1\xd5\xc2\x61\x61\xdc\x5e\x85\x2d\x78\xdb\x21\xf4\x0e\x59\x68\x6f\x3d\x3b\x4c\x2a\x5e\xd1\x24\xff\x7e\x18\x94\x43\x36\x6a\xf2\x1e\x9d\x63\x6d\xf9\x6c\x2d\xba\x20\x94\x01\x23\x3a\x65\x36\x2c\x68\x85\x5b\xb1\x53\xd6\x8d\x60\xf5\x73\x36\xe9\x00\x64\x82\xc7\x5e\x38\x11\x10\x56\xd8\x8a\x81\xcc\x0c\xb0\x51\x3b\x36\x72\x87\xda\xf6\xe8\x3c\xab\x13\x2b\xa5\x55\x38\x44\xc4\x11\x58\x26\xeb\xa3\x6d\xad\x30\x14\x16\x10\xe6\x50\x20\x62\x04\x1b\x4b\xf1\xb5\x63\xbe\x3b\xc0\xe0\xc9\xce\xec\x36\xcf\x16\x4f\x4b\x66\x1c\x68\x4f\x71\xa0\x50\xd7\x28\xf2\xac\xd2\xa3\x91\x0d\xed\x72\x31\x08\x39\x8a\x3d\xa2\x7b\x1d\xec\x6b\xfa\xff\x8c\xfd\x4b\x01\x25\x57\x98\x0d\x1d\x82\x95\x50\x56\xb0\xeb\x05\xb4\x48\x52\x35\x68\x94\x1b\x74\xcd\x09\x60\x17\x96\x55\x65\x5c\x13\x9a\x8c\x0d\x5b\x74\x6c\xe2\x6c\x4c\x4b\x4e\x31\x4f\xc7\x3e\xb0\x68\xe9\x44\x84\xdc\xd3\xc3\xa2\x59\x3b\xdb\xa5\xac\x9c\xc2\xc7\x79\x6a\xa0\xa5\x7a\x40\x0b\x25\xf6\xd6\xab\x30\xfa\x17\xac\xa9\x74\xbd\xf2\x4d\x1d\xfb\xd6\x92\x93\x43\x84\x45\x70\xc2\xf8\x35\xba\x79\xd3\x7c\x7d\xdb\x34\xaa\xeb\xad\x0b\xf0\x93\xc2\x3d\xa5\x98\xde\xa1\x03\xb6\xe2\xaa\x7c\x74\xd5\x34\xb7\xb7\xb7\x5c\xea\x3a\x82\x4f\x59\x46\xe6\xf0\x77\x56\x5d\x3e\x23\xc0\x6a\xcd\x7b\x92\x02\x8e\x5b\x8e\x35\x1b\x52\xe1\x3d\x56\x17\x2e\x06\xca\x4f\x65\xf1\xf6\xf6\xb6\x11\x6d\x8b\xde\x5f\x0b\xad\x6f\xa6\x52\x75\x5c\x4a\xe1\x63\xd3\x00\x00\x90\xc6\xb7\x06\xd0\x04\x15\x92\xae\xb5\x75\x31\xb1\x39\xb0\x5b\x1c\xbd\x2e\x34\xe7\x6f\x84\x03\x9f\x59\xc0\x4f\x62\xd0\x81\x25\x95\x6a\x4b\x71\x3f\xe7\xdd\x2b\x8d\x9f\xa7\x73\xe8\xa5\x08\x09\xba\xf1\xdf\x80\x3b\x46\x3c\x2f\x63\x6f\xbe\xa8\xf2\x3d\x6d\xaa\xf5\xfd\xb0\x8b\x6e\x14\xe1\xb4\x1f\x60\xa7\x02\xec\x09\x32\x74\xda\x0e\x83\xa0\xed\x74\xd6\x5c\x73\x7d\xb2\x43\x8e\xf2\x1e\x63\x7e\x5a\xa3\x0f\xb0\x42\x16\x11\x50\xc2\xea\xc0\xb0\xcb\x9e\x5b\xd2\xf3\xa7\x87\xc5\xfb\xb8\x7b\x39\x42\x70\x94\x13\x93\xc5\xc0\x72\xb4\x79\x99\x8f\x42\x19\xb8\x46\x87\x86\x8a\xb5\xcd\x90\x8f\x67\xd8\x8b\x53\x93\x08\x6c\xa5\x17\x7a\x97\xbc\xe6\x7b\xd1\x75\x94\xf5\x1c\xb3\xc9\x3e\x95\x9e\x4c\x99\xe0\x5f\x15\xa5\xd9\x8f\x92\x73\x29\xe3\xd3\xb6\x56\x46\x48\x50\x59\x2f\x96\x83\x75\xd1\xb6\xad\x20\x95\xd8\x2a\xa1\xa7\xa3\xc4\x50\x8d\x12\xd3\x79\x0a\x65\xe4\xf7\xad\x95\x31\x11\xc8\xa5\xe4\x0b\x5a\xb7\xc1\x08\xff\x53\xaf\x8c\xd2\x6a\x17\x70\xa4\x3b\xf1\x2b\x7a\xaa\xbd\xde\x46\xab\xc2\x56\x39\xf9\xba\x17\x2e\x1c\x40\x19\x89\xbf\x91\x43\x28\x84\x9d\x35\x2a\xb0\xed\x19\x66\xa3\x38\x02\xe0\x87\x01\xdd\x81\x5f\x26\x7f\x4f\x00\xc9\xc5\x27\x36\xbf\xda\x77\xf3\x2c\xe4\x14\xa8\xbb\x11\xa2\x28\xaf\x95\xbc\x83\xf7\x8f\x26\xfc\xe5\xcf\x33\x18\x86\xf2\x17\x0b\xbd\x83\xb7\x52\x3a\xf4\xfe\xcd\x8c\x7b\xc0\x1d\xfc\x18\x9c\x32\x9b\x9b\x13\xb1\x3b\x15\x9b\x33\xd4\x90\xbb\xfe\x05\xcc\x3a\xbc\xc3\xf5\x1d\x88\x21\x6c\xaf\x47\x98\xdd\xc0\xff\x7f\x3c\x2e\x0a\xf3\xa7\x87\xc5\x73\x14\xfd\x91\xff\x4b\x7f\x9c\x1d\xa5\xb9\x51\xde\x5c\xc9\x6c\x71\x7a\x40\x3f\x46\xb3\xd3\x33\xfe\xf5\x66\x2e\xe2\x21\xf2\x19\xd2\xcb\x0d\x86\xc5\xa1\xc7\xeb\x9b\xb9\x92\x14\xdd\xb5\x42\x17\xb5\x3f\x37\x67\x33\x57\xf9\x31\xd1\x38\x5d\x45\x2c\x46\xf4\x3c\xd7\x28\x33\x1b\x37\x2a\x23\x55\x2b\x42\xce\x45\x52\x3d\x83\x6c\xf5\xac\x60\x2d\x27\xa4\x24\x69\x8b\x69\x36\x4a\xe6\x78\xcf\x2a\x70\xd0\xb6\xf7\xef\x1f\xef\xb3\x88\x89\xad\x9c\xdd\x0b\x83\x1f\x84\xd6\x87\x2a\x6f\x6a\xa4\x70\x6d\x39\xb1\x47\x79\x30\x36\x44\x22\x45\x51\xb7\x83\x09\xaf\x3c\xb3\x37\xb1\xc1\x19\x2c\x49\xfc\x72\x4c\x9d\xa5\x51\x7a\xf9\x29\x04\xe6\xba\x7c\x5d\xe2\x8a\x1c\x74\x09\x90\xa4\xa3\xc4\x63\x9f\x38\x1b\x39\x20\xaf\xba\x39\x1b\xb7\x4b\x41\x4b\x8d\x19\x25\x77\xff\x73\x3e\x81\xc7\x18\x44\xf4\xff\x55\x0c\x4b\x45\x2f\x47\xb0\x74\xfa\xe9\xde\xff\x59\xa8\x66\x5f\x16\xab\xfb\x68\xc3\x67\x87\x2a\xd8\x32\x50\x93\x75\x17\x42\xf5\x58\xcf\x51\xa9\xd3\x78\xe8\x86\x48\x99\xd3\xb4\x74\xd1\xc8\x53\x92\x4e\xfb\xef\x2a\x92\x34\x1f\xd9\x52\x62\x1e\x59\xf9\x60\xd4\x87\x01\xe1\xf1\x9e\xbb\x7b\x26\x76\x79\x45\xa9\x46\x63\x28\xce\x5c\x4b\x39\x5f\x25\xc4\x10\x6c\x27\x82\x6a\x39\xeb\x70\xc7\xa5\x5c\x75\x08\xa2\xb0\x99\x42\xec\x83\xb3\x87\xd4\x4b\xcb\x66\xc2\xbc\x5b\xb1\x03\x44\x0e\x6f\x1a\x88\x64\x1e\xc5\xc6\x7e\x10\x63\xe5\x2d\x21\x27\xc1\xc0\x20\xd2\x4a\xc1\xe3\x9b\x70\x9b\x81\xc7\xc4\x73\x87\x8b\x9b\xf3\xd4\x76\x9f\x2d\x2a\x1a\x04\x7c\x03\x1e\x75\x59\x78\xeb\xe7\xf4\xec\xa6\xf6\x4a\xeb\x50\x04\xfc\xa1\xeb\xc3\xa1\x60\xb8\xf1\x29\x9b\x84\xf4\xaa\x9a\x7c\x92\x07\x73\xf7\xe5\x01\xf1\x24\x2a\x39\x7b\x1c\x86\xc1\x19\xee\xb3\xb9\xa3\x0b\xad\xd1\x15\x5d\x17\x0f\x91\x28\xed\x99\x4a\xf9\xb3\x67\xa7\xb6\x75\xd6\xd4\xeb\x9b\x3b\xf8\xf6\xe3\xf4\xfb\xb9\xe8\x4b\xf4\xc7\x33\x5d\xfd\x88\xfe\x1c\xfa\x41\x07\xea\x2f\x7f\x43\xb3\x09\xdb\xeb\x1b\xf8\xe6\x1b\xf8\xd3\x1d\x5c\xf1\xac\xcd\x9a\x64\x99\xb4\x0c\x74\xa6\x71\x7d\x38\xfc\xdf\x55\x25\xf0\xb9\x99\xfe\x55\x39\xe0\xaf\x18\x18\x47\x05\x47\xcb\xb3\x4c\x22\x1c\x71\x9e\xb6\x7b\xe3\xab\x8d\xdf\x59\xe2\x7c\x09\x0c\x9e\xa7\x46\xdb\x93\x1d\x42\xd7\x43\x75\x9a\x8b\xda\xad\xb5\x1e\x2b\x11\x5b\xbb\x27\xa7\x67\xff\xfb\x61\x15\x33\x56\x62\x8f\x46\x52\xcb\xb3\x06\xf6\x7c\x29\x52\xe9\x49\x35\xbb\x06\xfa\x83\x75\x80\xbf\x09\x1a\x36\x66\xa0\xd6\xb0\x24\xd4\x2f\x99\xc7\x09\xd8\x09\x3d\xe0\x0c\x56\x43\x80\xa5\x92\x4b\x90\x16\xbd\x79\x15\xef\x42\xd8\xc0\x1a\x70\xc2\x24\x73\x61\xbf\x55\xed\x36\x3a\x60\x9d\x3c\xc2\x43\xac\x4d\x56\x93\x26\x22\x9e\x9c\x81\x02\xae\x24\xae\x69\x96\xb8\xaa\xe4\x3d\xae\x61\x15\xbd\x95\x2a\x65\x9a\xed\xf8\xb0\x2c\x94\x39\x69\x44\xa9\x00\x9a\x7d\x75\x34\x8b\x2c\xf9\x37\x85\x35\x6a\xab\xa4\xd2\xc6\x39\x2c\x28\x40\x5b\xd4\xbd\x4f\xa8\xf5\xb0\xdf\x5a\x52\x65\x5e\x05\xf0\x83\xc3\xe8\xc1\x90\x47\x7b\x6d\xed\xaf\xe4\x5a\xaa\x53\xa5\xbc\x4a\xf6\xb7\x34\xfe\x77\x89\xe8\x10\xdc\x88\xe2\xe4\xee\x22\xd1\x2b\x87\xf2\x24\x97\xd2\x26\xca\x69\xbe\xd7\x92\x79\x43\x42\xc0\xca\x3a\x67\xf7\x97\x75\x26\x8f\xbe\x05\x1f\xdc\xd0\x86\x81\x2f\x93\xd2\xcd\x51\xe6\x3f\x0e\x3f\x0c\xe8\x09\xf8\x44\x15\xe7\x17\x13\x71\x83\xe1\xc7\x61\xf5\xf4\xb0\x48\xdd\x66\x91\x7a\xee\xd8\x37\xe0\xee\x12\x75\x7c\x73\x94\x8b\xc9\x2c\xa3\x74\x53\x67\xd3\xf3\xd9\xde\x63\xa1\x43\xa9\x68\xdc\x9b\x26\xce\x71\xd0\xcc\xf5\xba\x24\x51\x53\x61\xf8\x92\xd6\x94\xef\x9a\xea\x46\x04\x3f\x63\x1a\x04\xf3\x1d\x43\x9e\x39\x33\xcb\xcf\x7c\xa7\x10\x95\x07\x23\xea\x91\xaa\x65\x57\xe7\xed\xa5\xe8\x24\x29\x21\x4b\xf0\xbc\xbe\x8e\x17\x35\xc1\xa6\xca\xaf\x95\x0f\x48\x63\x44\x7e\xaf\x93\xc0\x7c\x7b\x91\x66\x93\x2a\xf0\xa3\xad\x0e\x3b\xbb\xc3\xf1\x92\x70\xb4\xb9\xa8\x71\x54\xaf\xe3\xa2\xe3\x6a\x5d\x67\x5c\xe0\x14\xe7\xee\xc5\x53\xdc\xfa\x40\xbc\x8d\x47\x44\xda\xf2\x78\x4f\xf9\x1a\x29\x93\xa3\x55\xc7\x40\x2a\xe7\xfd\x88\xa8\x6c\xe5\x75\xfe\x47\x41\x42\xa8\xbe\x13\x74\xbe\xa8\xb0\x2b\x49\xf5\xbc\x94\xc6\x85\x7d\x62\x71\x13\xef\x8e\x5c\x33\xd7\x77\xbe\x39\x15\xd4\xff\xfd\x51\x4e\x3c\xde\x5f\x9d\x68\x63\x38\x1c\xd1\xe4\xa9\xb5\x9c\x8c\x2e\x31\x49\x46\x13\x73\x93\x4e\x0f\x22\x61\x8d\x1c\x9a\xdb\xf5\xf1\x68\x54\xd3\xe9\xa2\xa3\x97\x26\x3d\x7f\x61\x22\x25\xf0\xf8\x1c\xf0\x3f\x96\x31\xf9\x3a\xf6\x98\xba\x65\x68\x06\x1e\xb6\x13\xf6\x6a\xae\xc3\xb0\x13\x52\x96\xa8\x3b\x32\xe2\xb8\xa2\x1d\x17\x24\x99\xc9\x2f\x85\x32\xe3\xe5\x88\xe8\x70\xd1\xea\x7b\xeb\x02\xca\xa7\x87\xc5\x82\xef\xe0\x73\x77\x14\x9c\x5c\xf9\xce\x33\xde\xcf\x4f\x2d\xda\xe5\xc3\x91\xde\x3e\x9c\x67\x28\xe3\x74\x7d\x4e\x11\xb1\x94\x8f\x0b\x86\xc7\x77\xd6\xea\x23\x9a\xf0\x2e\x59\x91\x93\x28\x66\x0d\x3b\x62\xa3\x76\x68\x12\xc7\xf4\x49\x7f\xbc\x44\xaa\x73\xb7\x92\xf7\xf6\x64\xc8\x69\xe3\xa4\x81\x7d\x98\xee\x8a\xd3\xd5\x56\xd1\x01\x21\xb8\x01\x49\x76\x6a\xb4\x2f\x9f\x53\xf9\xe3\x63\x16\xed\xe0\x26\x1e\xf4\x18\x81\xef\xe2\x65\xfa\x78\xa1\x17\x0f\x61\x5a\x87\xe1\xe8\xe3\x46\x79\x0f\xb4\xc2\x7c\x7d\x3f\x32\xea\xf1\xde\x93\xea\xdf\x78\xb7\xf9\x05\x80\x9d\x10\x76\x37\x96\xfb\xd9\x45\x18\xbf\x4b\xfe\x49\xfd\x76\xda\x7c\x4f\xac\x9e\x86\x98\x9a\x7b\x09\x9f\xec\x7e\x6b\x0e\x3f\x72\xc3\x65\x94\xb7\xc2\x8f\x10\x67\x3f\x6a\x11\xe2\x37\x11\xb1\xb3\x4a\x42\xab\x5c\x3b\x68\xe1\x12\x49\x43\xd3\x1e\x40\x79\x3f\xe0\x65\x52\xbc\xc1\xf0\xf4\xb0\xa8\x0d\x22\x7b\x08\x71\xa3\xf2\xfa\x30\x4f\x34\xaa\x50\x7b\xdc\x63\xba\x3b\x9f\xbe\x71\xa4\xd9\xae\xc0\x4f\xaa\xf0\x35\xb1\x4f\x4f\x55\x0b\x52\xf1\x32\xe1\x0e\x27\xb3\x80\x8f\x9c\x90\x53\x48\x11\x23\x04\x83\x64\x3c\xad\x25\x14\x76\xd6\xd5\x94\x55\x78\xd0\xd6\x6c\xb8\x3e\xa4\x8b\xf9\x78\xf1\x38\x7d\xb4\x11\x51\xbc\xc3\x17\xcb\xcc\xa5\x2a\x93\xbe\x65\xa9\x90\x61\x74\x26\x81\x3e\x5d\x5b\xce\x5e\x89\x1d\x77\x27\x87\x67\x9a\x53\xc1\x21\xca\xaf\x0e\xb1\xbd\x27\x93\xaa\x4f\x74\xd3\x97\xb9\x33\xa2\x32\xb5\xb8\xbc\x8b\x6b\x86\xee\xa8\x53\x0a\xbd\x17\x87\xd8\xd2\xd6\x8a\xc6\x08\x9a\x68\x95\x11\xd5\xd9\x0b\xe1\xd3\x35\x3e\x39\x6e\xb4\xb4\x53\xde\x73\x20\xe2\x45\xf1\xe0\x83\xed\xc6\xfa\x48\xac\x84\xe0\xb4\xc2\x89\xbe\x9c\x93\x4d\x12\xb7\xc2\xc9\xc8\xf4\x29\xff\x55\x1c\x25\x8f\x78\xce\xf9\x76\x5b\xdf\x74\xb0\x91\x2f\x34\xdb\xf8\x7e\xea\xb5\xf1\x77\xba\x1b\xb2\x17\x1a\xed\xf1\x75\xc8\x67\xb4\xda\xe3\xb9\x2f\x7d\xc1\xeb\xec\x60\x72\x5f\x89\x57\x3c\x53\x0d\xfb\x04\xf8\xca\x86\x92\x87\xd4\x3b\xea\xe1\x67\x74\x4d\xfd\x2b\x27\xce\xe3\xbd\xff\x03\x7a\x1e\xef\xb9\x55\xfd\x33\x52\xaf\x7f\x41\x73\x34\x95\xd2\x8c\xe1\x2f\x8c\xb4\x9f\x3c\x5c\x71\x1b\x46\xeb\xf9\xbb\x06\xd3\xad\x58\x4b\x98\x62\x15\x97\x63\xb5\x94\xd9\xd1\x78\x36\x7d\x0b\xcd\x8d\x2c\xf5\x30\x9e\x01\x19\x62\x24\xa7\x17\x46\xb5\x2f\x1f\x3b\x4e\x4e\x34\xcd\xfc\x52\xce\x30\x9f\x3d\xc2\x5c\x20\xa2\xd7\x91\xd5\x11\x0d\x35\x4a\xdf\xc0\xef\xbf\xe7\x47\x6f\x12\x3b\x55\xf2\xe6\x0e\x4e\xf6\xd1\xdf\xd5\xf7\xc2\x90\xf5\xd1\x34\xf6\xd6\xe8\xf1\x38\xff\x95\x17\xca\x74\xec\xea\x53\xd0\xc8\xce\x3b\x11\xda\x6d\xe6\xe4\xe3\x57\xa1\xd1\xdf\x97\x6e\x31\xe0\xe5\xc1\xec\xb9\xf9\x4f\x00\x00\x00\xff\xff\x56\xe2\xf7\x32\xa8\x21\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\xdf\x73\xe3\xb6\xf1\x7f\xd7\x5f\xb1\x5f\x67\xe6\x7b\x76\x46\x27\xf7\xa1\xd3\x07\xcf\xa4\x97\x4b\x1c\x77\x34\xd3\x3a\x9d\x8b\x2e\x79\xc8\x64\x22\x88\x5c\x49\xe8\x91\x00\x0f\x00\xa5\xa8\x8e\xff\xf7\xce\x2e\x7e\x10\xa4\x48\x9f\x9d\x34\xf5\x43\x72\x02\x89\xdd\xc5\xfe\xfc\xec\x82\xd7\x9f\x7f\x3e\x9b\x7d\xf6\x19\xac\xf6\x08\x77\x95\x3e\xc2\xbd\x56\xaf\xef\x5a\xb5\x93\x9b\x0a\x61\xa5\x3f\xa0\x02\xeb\x84\x2a\x85\x29\xf9\xc5\xf5\xbd\x56\xf1\x39\x3f\x5e\x43\xa1\x95\x33\xa2\x70\xb3\x19\x51\x91\xca\xa1\xd9\x8a\x02\xc1\xed\x85\x03\x51\x55\x63\x34\xe3\x1e\x0b\x76\xaf\xdb\xaa\xa4\x85\xad\x36\x35\x38\xbd\x98\x2d\xb7\x20\xa0\xb5\x68\xe0\x28\x94\xb3\xe0\x34\x94\xd8\x54\xfa\x04\x02\x14\x1e\xe1\xfe\x6e\x95\x08\xcc\xc1\xed\x51\x9a\xf4\x3b\xd2\x93\x75\x53\x61\x8d\xca\xb1\x50\xee\xd4\xa0\x85\x12\xb7\x52\x61\x09\x7b\x34\x18\x0e\x73\xb7\x5a\x83\x41\xab\x5b\x53\x64\xa2\xfb\x93\x14\xda\x60\xf7\x90\x48\xf8\x23\x19\x6c\x0c\x5a\x24\xc9\x84\x62\x61\xa4\x22\x29\xc0\xd6\xc2\xb8\x24\xc9\xc2\xb3\xf8\x5a\x57\x15\x16\x4e\x6a\xb5\x86\x77\x13\x9c\x3a\x26\x44\xdf\x3a\x6d\xd0\x06\x15\xbc\xb2\xe1\xb8\x91\xca\x62\xb6\x74\x20\x55\x51\xb5\x25\xbf\xb4\xc5\x23\x6c\x5b\xc5\xcf\x58\x55\xa2\x22\x3b\x92\x3c\xfa\xa8\xd0\xd0\x12\x0a\x2b\xab\xd3\xac\xd6\x07\x04\x47\xfa\xb7\x24\xb2\x50\x25\xe8\xd6\x81\xde\xf2\xdb\x39\x0b\x96\xfc\x9f\x46\x1f\x64\x89\x66\xcd\x6f\xae\xdf\x61\x81\xf2\x40\x3f\xcf\x15\x66\xf9\x1c\x36\x5f\x81\x12\x8b\x4a\x18\xcc\x84\x3b\x4a\xb7\x07\xab\x6b\x84\xc6\x20\x13\x6d\xb4\x65\x85\x95\x92\xdf\x98\x05\xfd\x7e\x6c\xa5\x41\x16\xaa\xd3\x1e\x9d\x63\xab\xf9\x6c\x05\x1a\x27\xa4\x02\x25\x6a\xa9\x76\x4c\x68\x83\x7b\x71\x90\xda\x24\x67\xb5\x0b\x16\xe9\x04\x24\x82\xc5\x46\x18\xe1\x10\x36\x58\x88\x96\xc4\x74\xb0\x93\x07\x16\xf2\x80\x95\x6e\xd0\x58\x66\x27\x36\xb2\x92\xee\xe4\x3d\x8e\x9c\xa5\x93\xde\xcb\x56\x08\x45\x66\x01\xa1\x4e\x99\x47\x24\x67\x63\x2a\xb6\xaf\x98\xaf\x4e\xd0\x5a\x92\x33\xaa\xcd\xb2\xc4\xdd\x2b\x73\x36\xb4\x25\x3b\x90\xa9\xfb\x5e\x64\x99\xa5\x45\x55\xce\x68\x97\xf1\x46\x88\x56\x6c\x10\xcd\x6b\xa7\x5f\xd3\xff\xe7\xac\x5f\x32\x28\xa9\x42\xed\xe8\x10\xcc\x84\xa2\x82\x55\x2f\xa0\x40\xa2\x5a\x41\x85\xe5\x0e\xcd\xec\xcc\x61\x57\x9a\x59\x45\xbf\x26\x6f\x52\xda\xed\xd1\xb0\x88\xf3\x14\x96\x1c\x62\x96\x8e\x7d\x62\xd2\xa5\x11\xde\xe5\xee\xef\x56\xb3\xad\xd1\x75\x88\xca\xce\x7c\x1c\xa7\x0a\x0a\xca\x07\xf4\x62\x89\x8d\xb6\xd2\x25\xfd\x82\x56\x3d\x5e\xaf\xec\xac\x6f\xfb\x42\x93\x92\x9d\x77\x0b\x67\x84\xb2\x5b\x34\x8b\xd9\xec\xf3\xeb\xd9\x4c\xd6\x8d\x36\x0e\xbe\x97\x78\xa4\x10\xab\x0e\x68\x80\xa5\xb8\xc8\x97\x2e\x66\xb3\xeb\xeb\x6b\x4e\x75\x35\xb9\x4f\x9e\x46\x16\xf0\x2d\xb3\xce\xd7\xc8\x61\xab\x8a\xf7\x04\x06\x6c\xb7\x68\x6b\x16\xa4\xe7\xef\x3e\xbb\x70\x32\x90\xb6\x4b\x8b\xd7\xd7\xd7\x33\x51\x14\x68\xed\xa5\xa8\xaa\xab\x2e\x55\x75\xa9\x72\x98\x54\x6f\xfa\x67\x79\x98\xcd\x00\x00\x48\x92\xb7\x0a\x50\x39\xe9\x82\x0c\x5b\x6d\x7c\xc0\xb3\xc1\xf7\x98\xac\x21\x2a\x8e\x6b\xef\x26\xac\x0b\x01\xdf\x8b\xb6\x72\x4c\x29\x17\x27\x27\xf7\x43\xd8\xfd\x3c\x7e\x6d\x53\x0a\x17\xdc\xd9\xff\x1b\xf0\xc0\x51\xc0\xaf\xb1\x86\x9f\x64\xf7\x9e\x37\x75\xcc\x86\x9c\x42\x02\xa3\x10\xdb\x19\x2e\x05\x51\x40\xe6\x19\xb6\x3f\xc5\xe1\x5b\xa2\xd0\x31\xf8\xe6\xe0\x0d\x27\xdc\x79\x05\xc2\x5a\x3a\x38\x92\x93\x92\x1e\x6b\x74\xa2\x14\x4e\x90\x16\x63\x96\xb7\xe1\x94\x65\xa2\xb7\xf4\x19\x41\xab\xea\x04\x1b\x64\x12\x0e\x4b\xd8\x9c\xd8\xd1\xa3\x4d\xd6\xb4\x7e\x7f\xb7\xf2\xf2\x96\xeb\xe4\xf4\x89\x8e\x0f\x4f\x05\x6b\x7e\x45\x6c\x2a\x5c\xc7\x63\x50\xcc\x6f\xd1\xa0\xa2\xf2\xa0\x63\x90\xf9\x33\x1c\xc5\xb9\x48\xe4\xde\xb9\x06\x1a\x13\x6c\x62\x1b\x51\xd7\x94\x67\xd8\x1b\x3a\xf9\x64\x58\xe9\x62\xcf\xbe\xca\x8a\x81\x4d\x94\x63\xf2\xe4\xd3\x16\xba\xf4\xce\x46\x85\x24\x7b\x1d\x74\x30\xd8\x5e\x10\x4b\x2c\xa4\xa8\xba\xa3\x78\x33\x25\x8a\xe1\x3c\x19\x33\xd2\xfb\x5e\x97\x3e\xf4\x48\xa5\xa4\x0b\x7a\x6f\x87\x3e\xe0\xce\xb5\x92\xa8\xf5\x55\xc0\x96\xae\xc5\x07\xb4\x94\xed\xad\xf6\x52\xb9\xbd\x34\xe5\xeb\x46\x18\x77\x02\xa9\x4a\xfc\x85\x14\x42\x26\xac\xb5\x92\x8e\x65\x8f\x4e\x9c\xc8\x91\xab\x7d\x6c\xd1\x9c\xf8\x61\xd0\x77\xe7\x20\x31\xdd\x79\x6f\xed\xeb\x6e\x11\x89\x9c\x3b\xe9\xa1\x0b\x80\xf2\x52\x96\x37\xf0\x7e\xa9\xdc\x5f\xfe\x3c\x87\xb6\xcd\x7f\x31\xd1\x1b\x78\x5b\x96\x06\xad\x7d\x33\xe7\xaa\x73\x03\xdf\x39\x23\xd5\xee\xea\x8c\xec\x41\x7a\x38\x00\x7d\x97\xbb\xfc\x19\xd4\xd6\xbd\xc3\xed\x0d\x88\xd6\xed\x2f\xfd\x32\xfc\xea\xe3\xe3\x0a\xfe\xff\x61\x98\x81\x16\xf7\x77\xab\x47\x4f\xff\x81\xff\x4b\x7f\x1c\x22\xb9\xcc\x9e\xe8\x42\x96\x51\xec\xb0\x40\x3f\x92\xec\x61\x8d\x7f\xbd\x59\x08\x7f\x92\x78\x90\xf0\x70\x87\x6e\x75\x6a\xf0\xf2\x6a\x21\x4b\x32\xf1\x56\xa2\xf1\xdc\x1f\x67\xa3\xe1\x2b\x6d\x8a\x36\x8e\x59\xe1\x73\x1d\xad\xc7\x14\xa8\xe6\x69\xa3\x54\xa5\x2c\x84\x8b\x01\x49\xac\xe7\x10\xa5\x9e\x67\x60\xe9\x0c\x0b\x05\x6e\x3e\xd6\x12\x65\x36\xfa\xbc\xe7\x21\xb4\xed\xfd\xfb\xe5\x6d\x24\xd1\x81\xa4\xd1\xbd\xd0\xda\x56\x54\xd5\xa9\x17\x3c\x7d\x77\xe1\x04\x73\x26\x8f\xb4\xa0\xb4\xf3\xf8\x8d\x4c\xaf\x5b\xe5\x5e\x59\x06\x8d\x62\x87\x73\x58\x13\xf9\x75\x8a\x9f\xb5\x92\xd5\xfa\x53\x6e\x18\xb3\xaa\xba\xcc\xbd\x8b\x34\x34\xe5\x96\xc4\x24\xf7\xca\x26\x60\x45\xd2\x40\x7c\xeb\x6a\xd4\x70\x53\x56\x0b\x80\x00\x4b\x46\x1d\x63\x4a\x81\xa5\xb7\x22\xda\xdf\x65\xc4\x9c\xd1\xd3\x26\xcc\xb5\x7e\xbe\xf7\xbf\x66\xab\xf9\xcb\x8c\x75\x1b\x65\x78\xb6\xb1\x9c\xce\x4d\xd5\xc9\x37\x61\xac\xa5\x6f\x2e\x4a\x2e\xc1\x1b\x51\x7c\x38\x12\x9e\x7e\x4d\x00\x4c\x38\xe9\x11\xf2\x99\x6c\xe7\x3d\x01\x2c\xef\xef\x56\x37\x5c\xac\x1e\x1e\x73\xea\xbd\xfe\x30\xd4\x33\x0b\x75\xeb\x5b\x81\xd0\x05\x4e\x2a\x61\x84\x11\xf3\xc9\x01\xd3\x62\x88\x9c\x22\xf3\x56\xc9\x8f\x2d\xc2\xf2\x96\xcf\x16\x01\x6b\x7c\x23\x67\x53\xa1\xcb\x34\xda\xa7\x32\x9e\x86\x44\xeb\x74\x2d\x9c\x2c\x38\xac\xf1\xc0\x05\x43\xd6\x08\x22\x93\x99\x5c\xc8\x3a\xa3\x4f\xa1\x62\xe7\x25\x8b\xfb\x09\xc9\x0a\x10\xd1\x7d\x64\xb4\x85\x1c\xc0\x12\xef\x0b\x56\x93\x67\x06\x37\x53\x88\xf4\xa6\xe0\xb6\x54\x98\x5d\xcb\xed\xef\xd8\xe1\xfc\xe6\xd8\x8d\xde\x46\x89\xb2\x32\x04\x5f\x80\xc5\x2a\xcf\xec\xfd\x75\x5a\xbb\xea\x6b\xa5\x30\x28\x1c\x7e\x53\x37\xee\x94\x21\x77\xbf\xca\x22\x21\x3d\xea\x75\x74\x41\x83\xb1\xc6\x73\xe3\x7b\x66\x95\x18\x9d\x06\x5d\x6b\x14\x57\xf3\x88\x1b\x44\x55\xa1\xc9\x6a\x3b\x9e\x3c\x1c\x3b\x32\x60\xb3\x3d\x12\x5f\xfa\xfd\xf0\xb6\x13\x65\x98\x20\xb8\xd3\x0a\x32\x48\x3b\xe9\x1a\x54\x5e\x47\x0f\x7b\x79\x75\x03\x5f\x3e\x74\xbf\x1f\xb3\xd2\x49\x7f\xdc\xed\xf6\x97\xe8\xcf\xa0\x6d\x2b\x47\x25\xf0\xef\xa8\x76\x6e\x7f\x79\x05\x5f\x7c\x01\x7f\xba\x81\x0b\x9e\x42\x30\xa7\x32\x17\x96\x43\x85\xe1\x66\xe3\x4e\xff\x77\xd1\x23\xf8\x38\xeb\xfe\xd5\x3b\xff\xdf\xd0\x59\x88\xdd\x17\x47\x5c\x04\x44\x7e\xc2\x50\x4a\x83\x85\xab\x4e\xa4\xbd\x29\xcd\x95\x92\x05\x10\xe6\xc4\xb0\xb8\xaa\xc0\xb6\x9b\xfb\xbb\xd5\x77\xf0\x01\x4f\x1e\xf7\x92\x13\x8f\x6a\x2d\x21\x93\x1d\xba\xb7\x07\x21\x2b\xb2\xfa\x77\x7e\x3b\x29\xee\x61\xc5\xd9\xcc\xbb\xd9\x50\x73\x41\x82\x87\xa7\x4e\xc7\x71\x96\x21\xe5\xd8\xc3\xf6\x4e\x79\x76\xb8\xaf\x34\x21\xef\x10\x2c\x96\xa7\x05\xba\xe1\x43\x56\xfd\x61\x4a\xe8\x87\x8b\xbd\xd6\x16\x7b\x24\xf6\xfa\x48\x4e\x19\xfd\xd3\xb6\x1b\xaf\xdf\x12\x1b\x54\x25\x61\x0e\xad\xe0\xc8\xc3\xb0\x1e\x9f\x50\x33\xfb\x89\xe0\x4e\x1b\xc0\x5f\x04\x35\x99\x73\x90\x5b\x58\x93\x42\xd7\x8c\xa6\x05\x1c\x44\xd5\xe2\x1c\x36\xad\x83\xb5\x2c\xd7\x50\x6a\xb4\xea\x95\x9f\x81\xb1\x80\xfd\x80\x14\x2a\x88\x0b\xc7\xbd\x2c\xf6\x5e\x01\xdb\xa0\x11\x1e\x5e\xe8\xa8\x59\xc9\xb5\xcb\x70\x86\x12\x70\x51\xe2\x96\x7a\xc5\x8b\x1e\xbd\xe5\x16\x36\x5e\x5b\xa1\x52\x85\x9e\xbe\x73\x26\xee\x0c\x7c\x04\x09\xb0\x52\xed\x2a\x2f\x16\x49\xf2\x2f\x72\x5a\xcf\xad\x47\x95\x36\x2e\x60\x45\x06\xda\x63\xd5\xd8\x10\xd5\x16\x8e\x7b\x4d\xac\xd4\x2b\x07\xb6\x35\xe8\x35\xe8\xe2\x48\xa7\xd2\xfa\x03\xa9\x96\xf2\x78\x4e\xaf\xef\xb9\x8d\x30\xa2\x0e\x48\x93\x82\x89\x7c\x2c\x56\xf7\x12\xad\x34\x58\x9e\xe5\x9a\xb0\x89\x72\x1e\xcf\x33\xcb\xb8\x21\x78\xc0\x46\x1b\xa3\x8f\xd3\x3c\x53\xb4\x58\x67\xda\xc2\xb5\x3c\x44\x0c\x13\xc3\x08\x40\x0d\x7e\x6c\xd1\x52\x58\x53\x58\x2c\x26\xd3\xcc\x0e\x9d\x0f\x91\x50\xeb\x57\x01\xf3\xa4\xaa\x0d\x37\x53\xd8\xfd\xcd\x78\x08\x29\x59\xcd\xfa\xb9\x62\xbc\x36\x6b\xa8\xb1\x94\xd4\x24\x74\x13\x85\x34\x48\x88\xf5\x2c\x47\xb1\x5d\xda\x7b\x49\xe9\x8e\x33\xc6\x7e\xa1\x86\x1f\x30\xb4\xe3\xb1\xdd\x8f\x73\x85\xd8\x6b\x45\xbc\x99\x91\x8a\xed\x29\x61\x08\xca\x53\x6a\x97\xb6\xe7\xa4\x03\xa5\xe0\x59\x82\xe7\x34\x5b\x3f\xa0\x73\x3a\x54\xc6\x4a\x5a\x87\xd4\xcc\xc5\xe7\x55\x20\x18\xa7\x56\xa1\x43\xec\x19\x3e\xc9\x6a\xb0\xd6\x07\x4c\xc3\xe1\x24\x73\x96\xc1\xa9\x9e\xf9\x97\x86\xd5\xac\x1f\x71\x8e\x43\x9c\xab\x3b\xf7\xd2\xdb\x13\xe1\x66\x6e\xd4\x69\xcb\xf2\x96\xe2\xd5\x43\x56\x43\x6f\x8d\x39\x72\x94\x8b\xb0\xde\xa8\x43\x27\xc1\x47\x24\x1d\x7a\x66\x9a\xbf\xa4\xd6\x91\xdc\x34\x52\xb8\xcc\x79\x05\x0f\xa5\x92\x48\xfe\xf8\xa2\x5a\x28\x4b\x2a\x81\x39\x35\xae\x85\x1d\x34\xef\xba\x29\xdf\x40\xc4\x92\xc8\x63\x78\x41\xa0\xcb\x0e\x02\x6d\x79\x7b\x71\xc6\x8d\x7d\x6c\xd8\xfc\x74\xe5\xf8\xac\x23\xf5\xa1\x97\x64\x8c\xd0\x28\x2c\xf8\x36\xc4\x77\x46\x0c\x92\x86\x1d\x6f\xbf\x49\xca\x70\x54\x2e\xd3\xe3\x0b\xc3\x33\xb8\xa4\x8d\x6e\xf4\xdb\xe2\x30\x0e\xf7\x87\x80\x39\x3a\xbc\xe3\x41\x4a\xf0\xe8\x3e\xc2\x64\x67\x16\x65\x99\xfb\xf2\xd7\xe7\x0e\x94\xe7\x63\x3f\xe2\x5c\x75\x2e\x18\xd8\x4c\xe6\xc1\xf0\xfc\x32\xec\xf4\x1e\x35\xc0\x9f\x9c\x2b\x9b\x46\x1b\x87\xe5\xfd\xdd\x6a\xc5\x57\x3e\xb1\x28\x0b\x8e\xe9\x38\x62\xf7\xd7\x41\x1d\x32\x30\xf1\xf4\xc4\xb7\x71\xcf\x83\x3f\x9e\x48\x2d\x9a\xc6\xf7\xac\x1b\xad\x2b\x14\x7c\xb5\x92\x86\x0d\x5c\x56\x65\x9f\x5e\xe7\xea\x85\xa4\x2e\x01\xac\x97\x9a\xf4\xf7\x49\xe4\x74\x76\xc2\x0c\x3a\x7d\xa5\x75\x35\x80\x45\xef\xc2\xf1\x63\xd2\xf0\x59\x82\x4d\xb4\x93\x07\x54\xa1\xe7\xb0\xe1\xe0\x01\xc2\x8d\x67\x00\x9e\x06\x8f\x62\x66\xbf\xb9\xbb\x13\x09\x03\xd5\xac\xe2\x83\x33\x2d\x12\xed\x00\x2c\xa6\xab\xf4\x5b\x95\x2c\x34\x61\x85\xa0\xe7\x11\x35\x77\x76\x24\xa9\x82\x7e\x87\xb5\xfe\x19\x08\x55\xda\xa1\x9a\xb3\xf2\x7b\xe5\x15\x3d\x8c\xcd\x77\xfe\xd2\x2a\x8d\xae\xbd\x12\x55\x61\xd0\x0d\x2e\x11\xf3\xe9\xe7\x06\xe3\x35\x59\xea\xf0\xd2\xfd\x02\x1d\x2c\xdd\x21\xbc\x20\x94\xbb\xd8\xbb\x49\xe5\x75\xfe\xdc\x00\x9f\x8a\xef\x70\x27\x29\x5d\x14\x73\xc2\x41\x3e\x15\xe1\x24\xe7\x70\xe8\xfb\x82\xa8\x1f\x1d\x52\x0e\x2b\x8b\xc1\x91\xc2\x92\x81\x8a\xfc\xfa\xc9\xd7\xfb\x70\xa6\xde\x5d\x6d\x77\x45\x3b\x42\x2a\x62\x8d\xe9\x5d\x1c\x54\x55\x4d\x55\x4e\x54\x47\x71\xf2\xe5\x68\x2b\xa9\xaf\x28\xd1\x3a\xa9\x44\xef\xec\x19\xf1\xee\xde\x86\x34\x9f\x24\xad\xa5\xb5\x3c\x22\xf7\xf3\xfb\xd6\x3a\x5d\x27\x8f\x27\x98\x42\x31\xb7\xc1\x0e\xcf\x8c\xd1\x26\x8a\x7b\x61\x4a\x0f\xfd\xc9\x41\xa5\xef\xbd\x07\xc0\x67\xbc\x54\x0e\x47\x4f\x2c\xe6\x13\x95\xd2\x3f\xef\x0a\xa5\xff\x1d\xc6\x75\x7a\xa2\x4a\x0e\xe7\x53\xcf\xa8\x93\xe7\x8d\x2e\x5f\xe6\xd6\xba\x55\x31\xe7\xfb\xa9\x5b\x17\x66\x53\xfe\x1b\xd3\x8c\x62\x53\xee\x18\x61\xf6\x66\xc7\x56\xfe\x1b\xcf\x07\x84\x9f\x4c\xdc\xb1\xb5\xbf\xa1\x2a\x3e\xd6\x99\xa7\x02\x15\x7b\xf4\xe5\xad\x7d\xbe\xb0\xc2\x18\x71\x8a\xe5\xed\xe9\x9d\x53\x12\x2e\x6f\xb9\x98\xfc\xe8\x71\xdb\x4f\x30\x1b\xf4\xc9\xd4\xf5\xd8\x89\x26\xfb\x59\xba\x5d\x76\xa8\x93\xef\xbb\x58\x9b\x8c\x6a\x25\xe3\xb3\x6c\x5c\xda\xa7\x32\x1f\x34\x8c\xdd\xad\x7c\x2c\x35\x41\x11\xdc\x95\xb2\x8f\x13\x9d\x46\x28\x59\x2c\x3e\xd5\x1c\xc6\x3e\x2f\x96\x08\xb5\x75\x04\x91\xcf\x84\xc8\x9a\xe5\xa8\x83\x02\x29\xd5\x2f\xa6\x6c\x92\xe6\x08\x63\x17\x78\x4f\x9b\xc3\xf7\x98\xd4\xf7\xfd\x9c\x77\x7b\xcf\x6e\xf6\x26\xd0\xf5\xa5\x47\xaa\x84\xad\x95\xac\xae\xe0\xd7\x5f\xe3\xd2\x9b\x00\xb9\x65\x79\x75\x03\x67\xfb\xe8\xef\xe2\x6b\xa1\x48\xab\x5e\x34\xb6\x62\x3a\x97\xd7\x60\x7e\xf7\x41\x3a\xe8\x5d\x5d\xa6\x3e\xa6\x16\xae\xd8\xc7\xee\x25\xdd\x62\x26\x3f\x78\xe6\x34\xeb\xe5\xc3\xc6\x20\x1a\x37\x07\x67\xe8\xe2\xa9\xf9\xe2\x0b\xa6\x88\x93\x3c\xfe\x37\xe3\x43\x9f\x85\xc9\x8c\x9c\x33\xd3\xca\xf4\x24\x31\x59\x65\x2f\x0e\xd8\x97\xdd\x77\x50\xfc\x1d\x43\x7c\xfd\xbc\x81\xfa\xc3\x46\x97\xd0\x47\x57\x77\x31\xde\xbb\x20\x74\xe9\xb3\xae\x74\x8f\xd0\x7d\x58\x91\xbe\xc7\x99\x9d\x19\x6e\x90\x2b\x57\x7d\x12\xa3\xe8\x2b\x7c\xda\x11\x6e\x73\xa7\xf2\x27\x7f\x5d\x91\x30\xf9\x8f\xf4\xaf\x9f\x32\x73\x8d\x58\x2f\x68\xaf\x62\xd5\xc1\x5f\x59\x6f\xff\x20\x05\x85\x92\x13\x66\x5e\x4a\xab\xd7\xdb\xf8\xf9\x9c\x6f\x77\xe3\xc1\xb3\xcf\x4c\xa2\x90\x17\xd3\x5a\x7c\x79\xd0\x44\x24\xdb\xa5\xe9\x1e\x82\xfe\x9d\xa3\xf9\x2c\x0b\xab\xad\x5b\xa5\x29\x5d\x9e\x8a\x07\x73\xca\xde\xa7\x06\x29\xf9\xfe\x71\x06\x9e\x0e\xd6\x4e\x62\xdf\x14\x8c\xa0\xd3\xf1\x50\x9e\x76\x84\x58\x84\xa3\x47\xfc\xb6\x50\x8a\x66\x7f\x9c\xfd\x27\x00\x00\xff\xff\xa3\x54\x4b\x49\xdd\x29\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -215,7 +194,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0xd, 0x11, 0x26, 0x41, 0x10, 0x10, 0xf2, 0x23, 0x25, 0x43, 0x88, 0x58, 0xa7, 0xd4, 0x2e, 0xf3, 0xbb, 0x24, 0x6b, 0x4c, 0x1d, 0xe0, 0x38, 0xd8, 0xf4, 0xdc, 0xe0, 0x3d, 0xbe, 0x7d, 0x9}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x67, 0x22, 0x30, 0x91, 0x33, 0xbf, 0xcf, 0x94, 0x6c, 0xf3, 0x6, 0x7c, 0x71, 0x28, 0x28, 0xe, 0x60, 0xf5, 0x5a, 0x80, 0x2f, 0x55, 0xf1, 0xab, 0xf4, 0xd5, 0xf3, 0xb3, 0xbb, 0xe0, 0xd8, 0x38}}
 	return a, nil
 }
 
@@ -259,7 +238,7 @@ func utilityTokenforwardingCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityViewresolverCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x95\x4f\x8f\xe2\x46\x10\xc5\xef\x7c\x8a\x97\x4b\x02\xd2\x0a\x5f\xa2\x1c\xb8\x24\xa3\x5d\x8d\x34\x87\xac\xa2\x2c\xd9\xcb\x6a\x15\x15\xee\x02\xb7\xa6\xe9\x76\xba\xcb\x78\xad\xd1\x7c\xf7\xa8\xba\x31\x18\xc8\x4c\x46\x51\x38\x20\xab\x71\xd7\x7b\xf5\xab\x3f\x54\x15\xd6\xf4\xc8\x1e\xdb\x18\xf6\x90\x86\xf1\xf1\x7e\x8d\x5f\x59\xc8\x90\x10\x92\x90\x37\x14\xcd\x3b\x48\x63\x13\xea\xe0\x25\x52\x2d\xe0\x6f\x6d\x48\x9c\x40\x1e\xd6\x0b\xc7\x2d\xd5\x0c\x09\x70\x2c\x98\x55\x15\xc8\x0f\xc1\x33\x36\x21\xc6\xd0\x83\xce\x17\xc9\x1b\x44\x4e\xc1\x1d\x18\x07\xcb\x7d\x42\xf0\xb0\xb2\x9c\x55\x95\xde\x5b\xab\x4a\x6f\x9d\x03\x39\x17\x7a\x0c\xa1\xd3\xb0\x61\x23\x64\x55\x6a\x1b\xe2\x9e\xc4\x06\x0f\xda\x84\x4e\xa6\x91\x7b\x2b\x8d\x1e\x79\xae\x39\x25\x8a\xd6\x0d\x78\xf4\xa1\xb7\x7e\xa7\x76\xa4\xc9\x0f\xf9\x56\xd1\xc3\x9d\x73\x59\xc0\x33\x1b\xd8\x04\x2b\x09\x64\x4c\xe4\x94\xb2\x4f\x4f\x7b\xce\x0f\x43\xe8\x7e\x88\x8c\x5d\x08\x46\xdd\xec\xc2\x77\x33\xaa\x55\x65\x4e\xce\x2d\xce\x16\xce\x28\x3e\x5b\xee\x7f\x2f\x69\x46\x3c\xcd\x66\x00\x50\x55\x15\xee\x3b\x5f\x67\xfb\xd2\x90\x20\xb2\x74\xd1\x27\xcd\x35\xa3\x3f\x61\xff\x9c\xc9\xd8\x7d\xeb\x78\xcf\x5e\xd8\x60\x33\xe4\x37\x0a\x3a\xcd\x64\x14\x1d\x43\x9f\x24\x7e\x29\x51\x71\xe7\x41\x31\xd2\x80\xb0\xc5\x7a\x68\x39\xc1\xf0\xd6\x7a\xbd\xab\x91\xa6\xc1\x73\x21\x96\x05\xfe\x81\x5c\xc7\xa5\x04\x1b\x46\x97\xb2\xf6\x29\xf8\xf8\x31\x7c\x60\x17\x5a\x8e\x49\x81\x28\x66\xf4\x8d\xad\x1b\xb4\x14\x69\xcf\xc2\x51\xcf\x5b\x4a\xf9\xf7\xb3\x73\xd6\xcc\xe6\x0b\xec\x59\x9a\x60\x96\x17\xe6\xa7\x48\xd5\x11\xb6\x9d\xc7\x8e\xe5\xfd\x31\xd3\x0c\x65\xbe\x58\xe1\x8b\xa6\xf3\x15\x4f\xb3\xd1\xcd\x31\xe3\x2f\x5f\xf3\xc9\xf3\xcb\xb8\xb3\x85\x04\x52\xfd\x42\xba\x08\x85\x58\xfa\x5b\xc2\x23\xfb\xe5\x2d\xd2\x9c\x55\x7e\x77\x85\x75\xc3\x99\xa7\x72\xd5\xc4\x0c\x27\x1b\x8f\x10\x97\xb7\x55\x40\x92\xd8\xd5\xd2\x45\x45\xd0\x46\x4e\xec\x65\xac\x41\xe4\xbf\x3a\x4e\x72\x7d\xf9\x86\x86\x82\x38\x9a\x9f\xc2\x98\xff\x39\x5a\x1a\x5a\x5e\xac\x70\xe7\x87\x4f\x59\xec\xe7\x5b\x36\xde\xba\x6b\x38\xbf\xc5\x70\xb0\x46\x71\x64\x29\x2d\x14\x21\xb1\x68\x62\x17\x7c\xd2\xf2\x94\x06\x42\xc4\x29\x80\x5a\xea\x62\xcd\x98\xf3\x72\xb7\xd4\x5d\xf0\xf1\x7e\xbd\x40\xad\x4b\x61\xec\xae\xc2\xf5\x62\x47\xb4\x45\x77\x22\x7b\x8a\xa8\x50\xca\x56\xc8\x05\xb3\x82\xd4\xb5\x6d\x88\x92\x5e\x86\x73\x72\x71\x16\xb9\x9e\xbc\x31\xfc\xa7\x3c\xd0\x49\x9b\xaa\x4c\x18\x6d\xc2\x81\xdf\x61\xd3\x89\xae\x21\x42\x6a\xb9\xb6\x5b\x5b\xe7\x25\x68\x7d\x12\x26\xa3\x38\xe8\x72\xdc\x5e\xeb\xd6\x97\xbb\xf4\xb6\x53\x27\x05\xb9\xb6\x38\x19\x97\xff\xcb\xe5\xa4\x8b\xde\xdc\x3d\xff\xd0\x41\xc5\xf4\x55\x2f\xdd\x61\x17\x43\xd7\xaa\x8b\x0c\xe3\xa8\x13\xb5\xf4\x86\xbf\x95\x05\xf6\xf0\xe1\x3f\x55\xf1\x7d\x70\x8e\xcb\x18\x3f\xbd\x8e\xbf\xfc\xdd\x4c\x77\xef\xdc\x9a\x15\xfe\x78\xf0\xf2\xd3\x8f\x8b\x15\xbe\x7f\x1a\xcf\x9f\xdf\x94\xe4\xbf\x16\xfb\xe1\x43\x29\x75\x51\x78\x4b\xb1\xcb\xf7\xf3\x0c\x7f\x07\x00\x00\xff\xff\xc0\xaa\x57\xca\x79\x07\x00\x00"
+var _utilityViewresolverCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x56\xc1\x6e\xe3\x36\x10\xbd\xfb\x2b\xa6\x97\xd6\x06\xb2\xf6\xa5\xe8\xc1\x97\x6d\xb0\x8b\x00\x39\x74\x51\x74\xdd\xbd\x2c\x82\x62\x2c\x8e\x2d\x22\x14\x47\x25\x47\xd6\x0a\x41\xfe\xbd\x18\x52\xa6\x64\x67\xb3\x05\x8a\x9e\x8a\xe6\xa0\x08\xb2\xf8\xde\x9b\x37\x6f\x48\x6d\x36\xb0\xc3\x47\xf2\x70\x08\xdc\x80\xd4\x04\x1f\xee\x76\xf0\x0b\x09\x1a\x14\x84\x28\xe8\x0d\x06\x73\x03\x52\xdb\x08\x15\x7b\x09\x58\x09\xd0\x97\x96\x23\x45\x40\x0f\xd6\x0b\x85\x03\x56\x04\xc2\xe0\x48\x60\xb1\xd9\x00\xfa\x81\x3d\xc1\x9e\x43\xe0\x1e\x70\x5a\x88\xde\x40\xa0\xc8\xee\x44\x70\xb2\xd4\x47\x60\x0f\x56\xd6\x8b\xcd\x46\xd7\xed\x94\xa5\xb7\xce\x01\x3a\xc7\x3d\x0c\xdc\x29\x2c\xef\x05\xad\x52\x1d\x38\x34\x28\x96\x3d\xe0\x9e\x3b\x99\x23\xf7\x56\x6a\x7d\xe4\xa9\xa2\x18\x31\x58\x37\xc0\xa3\xe7\xde\xfa\xa3\xca\x91\x3a\xdd\xa4\x55\x99\x0f\x6e\x9d\x4b\x04\x9e\xc8\x80\x8d\x60\x25\x02\x1a\x13\x28\xc6\xa4\xd3\x63\x43\xe9\x66\xe0\xee\x87\x40\x70\x64\x36\xaa\xe6\xc8\xdf\x2d\xb0\x52\x96\x25\x3a\xb7\x9a\x24\x4c\x56\x7c\xb2\xd4\xff\x96\xcb\x0c\xf0\xb4\x58\x00\x00\x6c\x36\x1b\xb8\xeb\x7c\x95\xe4\x4b\x8d\x02\x81\xa4\x0b\x3e\x6a\xad\xc9\xfa\x62\xfb\xa7\xe4\x8c\x6d\x5a\x47\x0d\x79\x21\x03\xfb\x21\xbd\x91\xad\xd3\x4a\xce\xa4\xeb\x82\xfd\x91\x1b\x2a\x8f\x23\x34\x38\x40\x8d\x27\x82\xa6\x73\x62\x5b\x97\x17\x77\x41\x1b\x35\xb4\x14\xb3\x84\xd8\xb5\x2d\x07\x81\xe6\x4c\x9d\x9a\x52\x30\x23\x2b\x6d\xa0\xf1\x6a\x53\xc7\xb9\xd5\x12\xd0\x41\x8b\x01\x1b\x12\x0a\x70\xe0\x00\xb1\xa5\xca\x1e\x06\xe8\x6b\x5b\xd5\x97\x64\x49\x7b\x85\xce\x51\x28\xd0\x36\x82\x63\x7e\xd4\x5a\x74\x75\x0e\xc3\x81\xc3\x2b\x05\xbd\x71\x74\x22\x37\xbe\xa6\xb5\xed\x33\xf4\x1b\x3c\x7a\x8e\x62\xab\x35\xdc\x8f\xb6\x56\x18\xe9\x26\x53\x8e\x8b\xa7\x7a\x6a\xee\x9c\x19\x8d\x4f\xaf\x44\x6d\x72\x46\x0d\x74\xc4\x60\x9c\xb6\x9f\x0f\xd0\x2b\x54\x12\x6f\x23\xb4\x18\xa3\x86\xc4\x17\x75\x05\xf2\xe7\xe4\x42\xa9\x77\x37\xb4\xb4\x85\xdb\x99\x4b\x57\x4e\xf0\x99\xbd\x54\x3c\x41\x8d\xbf\xdc\x7a\xc0\x10\x70\x50\x19\xbb\xd4\x2b\x43\x07\xeb\xd5\x2a\x95\x3c\xcf\x45\x02\x59\xe7\xb9\x39\xa1\xeb\x28\x4f\xcf\x9e\xa0\x8b\x29\x36\x05\xfc\xfc\x67\xd4\x47\x6e\x29\x44\xd5\xa2\x13\x32\x76\x6c\xea\xa6\x70\x2a\x58\xff\x4f\xa1\x23\x0d\xe5\x72\xa5\x49\xa9\xd9\x5c\xfa\x30\x9f\x06\x55\x04\x87\xce\xc3\x91\xe4\xdd\xe8\x7f\xca\xf3\xf2\xd2\x22\xbd\xbe\x5d\x6d\xe1\xb3\xde\x3c\xbc\x3e\x22\x89\x3b\x02\x5e\x46\x34\x65\x26\xed\x49\xc2\x8f\xe4\xff\x9f\x82\xff\xd0\x14\x64\x28\xfd\x61\x0b\xbb\x9a\x52\x52\x54\x8b\x0a\x35\x14\x6d\x18\x73\xbf\x7e\x39\x38\x10\x25\x74\x95\x74\x41\xfb\xdc\x06\x8a\xe4\xe5\x3c\x36\x81\xfe\xec\x28\xca\xf5\xe2\x17\x01\xd6\xec\x8e\xb1\x9b\xe7\xf7\x6b\xf1\xbd\x49\x50\xd3\x83\x95\xd6\x3c\x7c\x4c\x1a\xde\x4e\x91\xfe\x35\xf0\xc9\x1a\x0d\x71\xa2\xd1\xea\x11\x22\x89\x16\x75\x19\xb9\x75\x29\x01\x38\x40\x01\x28\xe6\x2d\x69\x7d\x5c\x6b\xfa\x3e\xdc\xed\x56\x50\xe9\xf1\x7b\xde\x0c\xf2\x34\x5c\x9c\xc6\x6d\xe6\x9d\xd1\x16\x44\x35\x24\x5b\x9f\xc2\x62\xcb\x0c\xc4\xd7\x8d\x29\x2a\x26\x92\xeb\x33\xae\x84\x36\x1d\x9d\x51\xf7\x80\x7c\x96\xe1\x9e\x4f\x74\x03\xfb\x4e\xf4\xc0\xc7\x71\x4c\x6c\x95\x3e\x37\xac\x8f\x42\x68\xd4\x0e\xbc\x4c\xeb\xb7\x36\x97\xbc\xa9\x5c\xed\x20\xd7\x02\x66\x7b\xd7\xbf\xa5\x61\x96\x8f\x94\x8b\x3f\xce\x51\x7d\x11\x00\x5d\xf9\x3c\xc5\xe0\x16\x8e\x81\xbb\x56\x29\x52\x1d\x23\x48\xd0\xae\x19\xfa\x92\x4f\xf9\xfb\xf7\xff\xa8\x01\xef\xd8\x39\xca\xfb\xe6\xd3\xb7\x9d\xcb\xdf\x64\xf3\x0f\x94\xa5\x35\x5b\xf8\xfd\xde\xcb\x4f\x3f\xae\xb6\xf0\xfd\xd3\xf9\xf9\xf3\xdb\x19\x96\xfe\x8d\x53\xe6\xad\x2b\x8f\x9f\x17\x7f\xdb\xa7\xfb\xf7\xb9\x4b\x99\xe1\xe1\xeb\x98\x9f\x1f\x66\x90\xf9\xfa\xbc\x80\xbf\x02\x00\x00\xff\xff\x28\x02\x38\xc2\x9e\x0a\x00\x00"
 
 func utilityViewresolverCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -275,7 +254,7 @@ func utilityViewresolverCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/ViewResolver.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x74, 0x95, 0x61, 0x51, 0xee, 0xa9, 0xc2, 0x34, 0x95, 0x8b, 0xb0, 0x3f, 0x8a, 0xea, 0x93, 0xc, 0xb0, 0xaf, 0x5c, 0x2f, 0xfc, 0xb7, 0x61, 0x21, 0xe9, 0xe4, 0x41, 0x84, 0x6, 0x16, 0x1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0xa3, 0x21, 0x4b, 0xe, 0x17, 0x8c, 0x56, 0x92, 0xcf, 0xc2, 0x43, 0xa1, 0x4c, 0x73, 0x91, 0x50, 0xd5, 0xd5, 0x7e, 0xf3, 0xf9, 0x20, 0x4a, 0x25, 0x2d, 0x70, 0x66, 0x7a, 0x67, 0xdb, 0x76}}
 	return a, nil
 }
 
@@ -374,7 +353,6 @@ var _bindata = map[string]func() (*asset, error){
 	"FungibleToken.cdc":                    fungibletokenCdc,
 	"FungibleTokenMetadataViews.cdc":       fungibletokenmetadataviewsCdc,
 	"FungibleTokenSwitchboard.cdc":         fungibletokenswitchboardCdc,
-	"MultipleVaults.cdc":                   multiplevaultsCdc,
 	"utility/MetadataViews.cdc":            utilityMetadataviewsCdc,
 	"utility/NonFungibleToken.cdc":         utilityNonfungibletokenCdc,
 	"utility/PrivateReceiverForwarder.cdc": utilityPrivatereceiverforwarderCdc,
@@ -430,7 +408,6 @@ var _bintree = &bintree{nil, map[string]*bintree{
 	"FungibleToken.cdc": {fungibletokenCdc, map[string]*bintree{}},
 	"FungibleTokenMetadataViews.cdc": {fungibletokenmetadataviewsCdc, map[string]*bintree{}},
 	"FungibleTokenSwitchboard.cdc": {fungibletokenswitchboardCdc, map[string]*bintree{}},
-	"MultipleVaults.cdc": {multiplevaultsCdc, map[string]*bintree{}},
 	"utility": {nil, map[string]*bintree{
 		"MetadataViews.cdc": {utilityMetadataviewsCdc, map[string]*bintree{}},
 		"NonFungibleToken.cdc": {utilityNonfungibletokenCdc, map[string]*bintree{}},

From fc1538d92763dfaead449d0434a7147f3f7a31cf Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Mon, 22 Jan 2024 15:56:08 -0600
Subject: [PATCH 076/115] remove get vault types function and add conformance

---
 contracts/ExampleToken.cdc                 |  5 -----
 contracts/FungibleToken.cdc                |  7 ------
 contracts/utility/NonFungibleToken.cdc     |  8 -------
 lib/go/contracts/contracts.go              | 25 ++--------------------
 lib/go/contracts/internal/assets/assets.go | 18 ++++++++--------
 5 files changed, 11 insertions(+), 52 deletions(-)

diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index ae6b4740..72037900 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -189,11 +189,6 @@ access(all) contract ExampleToken: FungibleToken {
         }
     }
 
-    /// Function to return the types that the contract implements
-    access(all) view fun getVaultTypes(): [Type] {
-        return [Type<@ExampleToken.Vault>()]
-    }
-
     /// createEmptyVault
     ///
     /// Function that creates a new Vault with a balance of zero
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index e57d791a..dae972fb 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -192,13 +192,6 @@ access(all) contract interface FungibleToken: ViewResolver {
         }
     }
 
-    /// Function to return the types that the contract implements
-    access(all) view fun getVaultTypes(): [Type] {
-        post {
-            result.length > 0: "Must indicate what fungible token types this contract defines"
-        }
-    }
-
     /// createEmptyVault allows any user to create a new Vault that has a zero balance
     ///
     access(all) fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault} {
diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index d7e15d74..c0b5a14f 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -218,14 +218,6 @@ access(all) contract interface NonFungibleToken: ViewResolver {
         }
     }
 
-    /// Function to return the types that the contract implements
-    /// @return An array of NFT Types that the implementing contract defines.
-    access(all) view fun getVaultTypes(): [Type] {
-        post {
-            result.length > 0: "Must indicate what non-fungible token types this contract defines"
-        }
-    }
-
     /// createEmptyCollection creates an empty Collection for the specified NFT type
     /// and returns it to the caller so that they can own NFTs
     /// @param nftType: The desired nft type to return a collection for.
diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index 4ea82235..44d34e8d 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -17,7 +17,6 @@ var (
 	placeholderMetadataViews   = regexp.MustCompile(`"MetadataViews"`)
 	placeholderFTMetadataViews = regexp.MustCompile(`"FungibleTokenMetadataViews"`)
 	placeholderViewResolver    = regexp.MustCompile(`"ViewResolver"`)
-	placeholderMultipleVaults  = regexp.MustCompile(`"MultipleVaults"`)
 )
 
 const (
@@ -28,10 +27,9 @@ const (
 	filenameFTSwitchboard    = "FungibleTokenSwitchboard.cdc"
 	filenameFTMetadataViews  = "FungibleTokenMetadataViews.cdc"
 	filenameViewResolver     = "utility/ViewResolver.cdc"
-	filenameMultipleVaults   = "MultipleVaults.cdc"
 )
 
-// FungibleTokenV2 returns the FungibleToken-v2 contract.
+// FungibleToken returns the FungibleToken contract.
 func FungibleToken(resolverAddr string) []byte {
 	code := assets.MustAssetString(filenameFungibleToken)
 
@@ -40,15 +38,6 @@ func FungibleToken(resolverAddr string) []byte {
 	return []byte(code)
 }
 
-// FungibleTokenV2 returns the FungibleToken-v2 contract.
-func FungibleTokenV2(resolverAddr string) []byte {
-	code := assets.MustAssetString(filenameFungibleToken)
-
-	code = placeholderViewResolver.ReplaceAllString(code, "0x"+resolverAddr)
-
-	return []byte(code)
-}
-
 // FungibleToken returns the FungibleToken contract interface.
 func FungibleTokenMetadataViews(fungibleTokenAddr, metadataViewsAddr, viewResolverAddr string) []byte {
 	code := assets.MustAssetString(filenameFTMetadataViews)
@@ -69,26 +58,16 @@ func FungibleTokenSwitchboard(fungibleTokenAddr string) []byte {
 	return []byte(code)
 }
 
-// MultipleVaults returns the MultipleVaults contract.
-func MultipleVaults(fungibleTokenAddr string) []byte {
-	code := assets.MustAssetString(filenameMultipleVaults)
-
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
-
-	return []byte(code)
-}
-
 // ExampleToken returns the second version of the ExampleToken contract.
 //
 // The returned contract will import the FungibleToken interface from the specified address.
-func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr, multipleVaultsAddr string) []byte {
+func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr string) []byte {
 	code := assets.MustAssetString(filenameExampleToken)
 
 	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
 	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
 	code = placeholderFTMetadataViews.ReplaceAllString(code, "0x"+ftMetadataViewsAddr)
 	code = placeholderViewResolver.ReplaceAllString(code, "0x"+viewResolverAddr)
-	code = placeholderMultipleVaults.ReplaceAllString(code, "0x"+multipleVaultsAddr)
 
 	return []byte(code)
 }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 66c9f57a..6b8e527e 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,11 +1,11 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (10.617kB)
-// ../../../contracts/FungibleToken.cdc (9.453kB)
+// ../../../contracts/ExampleToken.cdc (10.448kB)
+// ../../../contracts/FungibleToken.cdc (9.209kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.61kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (10.717kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (10.391kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.869kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.456kB)
 // ../../../contracts/utility/ViewResolver.cdc (2.718kB)
@@ -78,7 +78,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x6d\x73\xdb\x36\xf2\x7f\xef\x4f\xb1\xd5\x7f\xa6\x7f\x69\x6a\x4b\x4e\x1f\x72\xad\xc6\x8e\x9b\xa6\xf1\xdd\xcd\xb4\x33\x9d\xc4\x6d\x5f\x64\x32\x09\x44\x2e\x25\x5c\x40\x80\x03\x80\x92\x55\x8f\xbf\xfb\x0d\x1e\x48\x02\x24\x28\xcb\x6e\x5e\x1d\x5f\x24\x16\x81\x5d\x2c\xf6\xe1\x87\xdd\x05\x69\x59\x09\xa9\xe1\xba\xe6\x6b\xba\x62\x78\x23\x3e\x21\x87\x42\x8a\x12\x26\xd1\xbb\xc9\x89\x9f\xf9\x2b\x6a\x92\x13\x4d\xfe\xa0\xb8\x53\x7e\x66\xf4\xae\x9d\x19\xd1\xa7\xc8\xc6\x27\xb4\x3c\xcc\xaf\x37\xa8\x04\xdb\xa2\xf4\x54\xe1\xab\xc9\xc9\x09\xc9\x32\x54\x6a\x4a\x18\x9b\x41\x26\xb8\x96\x24\xd3\xf0\xfa\x96\x94\x95\x67\xbc\xec\x6d\xee\xee\xe4\x04\x00\x60\xb1\x58\xc0\xcd\x06\x01\xb7\xc8\x35\xe8\x0d\xd1\x40\x15\x60\x49\xb5\xc6\x1c\x76\x1b\xe4\xc0\x71\x07\xda\xd0\x28\x20\x12\xa1\xa4\x5c\x63\x6e\x89\xc3\x45\x1d\x03\xcb\x5b\xfd\x6a\xa7\x4c\x49\x29\x6a\xae\x97\xf0\xfb\x35\xbd\x7d\xfe\xed\x29\xe8\x7d\x85\x4b\x78\xab\x25\xe5\xeb\x59\xb0\xbc\xd0\x84\x81\xaa\xab\x8a\xed\x41\x14\x91\xd4\x0a\x28\x07\xbc\xa5\x4a\x23\xcf\x70\xb0\xe8\x96\x48\xd0\x86\xfc\xad\xa5\x6e\x96\xea\x78\xbf\xcc\x4b\xca\xe1\x37\xa2\x37\x03\x5a\x86\xda\x0d\xbf\xd5\x42\x92\x35\x9a\x49\x46\xba\xf6\xc7\xc9\x70\x39\x8a\x3b\x28\x6a\x0e\x6b\xd4\xaf\xbc\x92\xad\xa1\xa6\x12\x95\xa8\x65\x86\x37\x76\x8b\xe6\xdf\xab\xd9\x12\xde\x99\x3f\xde\xc3\x9d\x65\x64\x1e\xb3\xe6\x96\xd4\x4c\xbf\xc1\x02\x2e\x41\x21\x2b\xe6\x24\xcb\x8c\x9a\xe6\x19\xa9\xc8\x8a\x32\xaa\x29\xaa\xf9\x4a\x48\x29\x76\x17\x5f\x86\xba\x98\xff\x61\x28\x5f\x4c\x17\x55\xbd\x62\x34\x5b\x60\x30\x66\x87\x66\xed\x3a\xe6\xb9\xba\x82\x8a\x70\x9a\x4d\x27\xaf\x44\xcd\x72\xe0\x42\x83\x63\x0b\x04\x24\x16\x28\x8d\x4a\x41\x0b\xd0\x1b\x74\x52\x81\x6c\x1c\xaa\x63\xd5\xfe\x21\x51\xd7\x92\xb7\xe2\xcf\xd7\xe8\xf7\xee\xe6\xde\x0f\xd5\x65\x34\xe5\x39\x86\xda\x4a\x29\xeb\xd4\xea\xb6\x7b\x31\x5b\xc2\x4b\xbe\x7f\xab\x65\x9d\xe9\xab\xff\x51\x05\xfa\xb9\x56\x25\x66\xf7\x91\x1e\x8d\xf3\x5a\x99\x9a\x5f\xed\xdb\xd7\x24\xdb\x40\xad\x50\x82\xd2\x42\xa2\x02\xc2\x81\x72\xa5\x89\x11\x46\x14\x20\x38\xdb\x5b\x89\x2c\xb9\x89\x1f\xbd\x41\xea\x66\x93\x35\x46\x51\x5f\xd4\x3c\xd3\x54\xb8\x30\xeb\x68\x08\xcf\x61\x2d\xb6\x28\x39\xe6\xb0\x72\xdc\x2a\x89\xf6\x7d\x25\x94\x36\x08\x93\x53\x4b\xd8\xb2\xa3\xbc\x07\x30\x16\x3b\xf4\x06\xf7\x16\x35\x32\xc2\x18\xe6\xf3\x68\xf5\x6c\x83\xd9\x27\x05\x1b\x52\x55\xc8\x81\x68\x90\x35\xd7\xb4\x44\x4b\x8a\x06\xea\x48\x2b\xa1\x41\xa5\x1e\x8f\x96\xd7\x1b\xef\x4f\x66\x06\x77\xfb\x5f\x21\x64\x12\x89\xc1\x30\xbf\x33\x03\x8a\x78\xab\x8d\x86\x9a\x9f\x16\x23\x2d\xe4\x19\x31\x5b\x76\x46\xdc\x1c\x0b\xca\x2d\xf1\x29\x28\x6b\x60\x89\x46\x04\x2e\x60\x47\xf6\x50\x08\x23\x5b\x49\x18\xcd\xa8\xa8\x95\x33\x87\x16\x7e\x4d\xa7\xc5\x4e\x35\xa2\xf6\xcb\x52\x0e\x84\xca\x39\xbc\x04\x55\x61\x46\x09\x03\x8b\x94\x12\x9a\x88\x00\x8e\x98\x2b\xc3\x69\xd5\xc9\xa0\x85\xc5\xdc\x96\x5d\x87\xc7\xb1\x2a\xc2\xd0\x6b\x19\x5a\x51\x7a\xd8\xef\xe2\xa0\x39\x01\x42\x8b\x58\x2c\x85\x15\x61\x8d\x33\xe9\x0d\x55\xce\x63\xdb\xb9\x7d\xfc\xf5\xb3\x63\xec\x4d\x4d\x54\x63\x38\x3b\x46\xe0\xc2\xd4\xcd\xff\xad\xfd\x7b\x74\xba\xc4\x0c\xe9\x16\xe5\x80\x20\x4d\x11\x60\xb9\xc7\xb1\x04\x60\x07\x71\xfb\x2e\x7a\x69\x1e\x33\xf9\x62\xfc\xf4\x9e\x5f\xdf\x98\xff\x5f\x4c\x67\xa7\x4f\x20\xfd\x99\xaa\x8a\x91\xfd\x13\xa9\xad\x85\x7f\x26\x9a\x3c\x89\xfe\xa6\x3b\x52\x5f\x4c\x63\x50\x7c\xdf\xfe\xba\x4f\xeb\x35\x00\x7d\x8b\x6c\x1f\xac\xa6\x0f\xa3\xba\x79\xd4\x8e\xea\x6c\xe3\xcc\x72\x37\x90\x38\x23\x0a\x8f\xd7\xf7\x72\x40\x1f\xd8\xf1\x41\x06\xd3\x24\xb5\x79\x0a\xed\xad\xb2\x74\x27\x4f\xb8\xcf\xc7\x58\x74\x06\x44\x7d\x71\x58\x10\x3f\xf9\x6a\x68\xbc\x4e\x98\xd6\xc8\x4f\x12\x27\x74\x91\x23\x04\x6a\xa7\x5f\x25\x25\x9a\x3d\xd5\x64\x9d\x56\xd2\x56\x33\x27\x7e\x89\x39\x25\x70\x19\x27\xdd\xf3\x5f\xcd\xdb\x71\x63\x59\x1d\x51\x86\xcb\x1e\xd9\xbf\x6e\x6e\x7e\xbb\xa6\x0c\x0f\x53\xd6\x92\x2d\x61\xb2\xd1\xba\x52\xcb\xc5\x82\x28\x85\x5a\xcd\x77\xb8\x52\x54\xe3\x99\x61\xab\xe6\x99\x28\x17\xdf\x15\xcf\xbf\xfe\xe1\xdb\xec\x3c\xfb\x07\xf9\x3e\xcb\xf3\xe7\xdf\x7e\xb3\x7a\x96\x7d\xff\xf5\x79\x6f\x80\x7c\xf7\x5d\xb6\x7a\x96\xfd\xf0\xcd\xf3\x0f\xd7\x4c\xec\x3e\xfc\x29\x64\x5e\x12\xf9\x69\xae\xb6\xeb\xc9\xa8\x1c\x89\xc8\x6d\x1e\xab\x11\x97\x2e\x4d\x68\x49\xd6\xb8\x50\xdb\xf5\x57\xb7\x25\x4b\x73\x1b\x5a\x27\x52\xad\x4a\xeb\x56\x4d\xdf\xd9\xe1\xf7\x69\xf2\x63\xe2\xc9\x5b\x77\x5c\xd7\x9c\x94\x66\x0f\x3e\x4d\x6b\x99\xb9\x42\x62\x32\xae\x00\xb5\x2f\x57\xc2\x98\xe8\xf5\xf5\xcd\x81\x69\x39\xaa\x4c\xd2\xca\x64\x10\x4b\x98\xdc\x98\xd3\xac\x68\x96\xb0\x67\xa8\x39\xd4\x6b\x85\x39\x10\x9b\x48\xf9\x94\xd0\x9c\xb9\x1b\x64\x15\xec\x45\x0d\x39\x6e\x91\x09\xfb\xb7\x04\x6e\x72\x88\xeb\x1b\xf8\x3f\xc1\x8d\x25\xe7\x07\xd6\xc6\x5b\x8d\x92\x13\xf6\xfb\x9b\x5f\xfa\x3e\xf8\xba\x1b\x9a\xb6\x4e\xe6\xd7\x3e\x2b\xf4\x5c\xf0\xc2\x30\x17\x72\x3d\x39\xe0\x04\x4c\xac\x85\x5a\x7a\x13\x1e\x50\x95\x30\xa9\x86\x5a\x26\x60\x35\x7c\x26\x7a\x67\x8a\x3e\x39\x39\x4a\x58\x3f\xd9\x06\x81\x91\xf5\xc3\x8a\x89\xec\x53\xb6\x21\x94\x4f\xd2\xee\x02\xf6\xcc\x48\xbd\x7d\x32\x76\x84\x10\x36\x8e\x1e\x41\xbd\x10\x55\x03\x4d\xdd\xe0\xf3\x92\x83\x25\x83\xa9\xb9\x3d\xca\x06\x69\xcc\xf8\x46\x1f\x57\x3b\xd8\x44\x3e\x77\x82\x8e\x68\xef\xa8\xc3\xab\x51\xc7\x78\xb8\x45\x39\x58\x7f\x3b\xe3\x2e\x14\xa7\x56\xfe\xb0\xe9\x5e\x1d\xc2\x29\x27\x62\x40\xd8\x65\x75\x0f\xaf\xf7\x0b\xe5\x9f\x30\xef\xca\xc2\x8b\x2f\xef\xe2\x4c\xf6\x8d\x9f\x78\x9f\xcc\x73\xfa\x52\x0c\xd9\xa5\x6c\x7d\x80\x91\xcb\xef\x5f\x97\x95\xde\xdb\xc9\xd7\xbe\x3a\x59\xc2\xb4\xa8\xb9\xc9\x20\x7f\xbc\x4b\xa4\xda\xf7\x0f\x84\x9e\x37\xee\xc5\x59\x5b\x1b\xf6\x17\x9a\x1e\x88\xa9\xf4\xd0\x13\x83\x2a\x4e\xfd\x9e\x9a\x48\x05\x5c\xc6\x7d\x31\x6a\xdc\x44\x86\x08\x46\x8e\xd8\xdb\x7d\x2a\x5b\xe7\x94\xa5\x32\x55\x53\xe8\xac\x51\x1b\xde\x42\x6a\xcc\xad\x72\x8d\x4e\x14\x08\x7b\x4a\x10\xc6\xf6\x9e\x87\x02\x02\x8c\x2a\x5b\xbb\xb9\xea\x5e\xdb\x89\xbe\x62\xa4\xaa\x75\x53\x9b\x00\x57\xbe\xe2\x83\x03\x85\x46\x62\x5d\xe3\x34\x77\xce\x25\x7f\x12\x82\xf5\x5d\xc5\x00\x98\x6a\xa8\x2c\x41\x6f\xfa\x25\xdc\xc5\x0a\x88\x67\xbf\xb3\x31\xb7\x46\xbb\xd8\x74\xf6\x1e\x2e\x41\xcb\x1a\x53\x2a\x8b\x09\x1f\xca\xf3\xdb\x6d\x51\x35\xdc\xd5\x54\x87\x9d\x1c\x23\x68\xba\xa6\x6a\x84\x4b\xea\xe5\x9d\xb6\xc5\xd8\xd5\x15\x14\x84\x29\x4c\x9b\x13\x28\xa7\x9a\x12\x46\xff\x42\x0b\xa5\x4d\xed\x4a\x74\x57\x03\xdb\x60\xa2\x82\x83\xa6\x65\xc7\xc6\x10\x4e\x7b\xc5\xeb\xac\x5f\x94\x18\xf9\x1a\x96\x97\x0d\xf3\x81\x81\x68\x8e\x5c\xd3\x82\xa2\x84\x4b\x98\x0c\xda\x4a\x93\x21\xcf\x00\x75\xe1\x32\x2c\x86\xa7\x1d\xaf\x65\xc0\x77\xf6\xc5\x90\x47\x07\xa4\x70\x19\x94\xbb\x8f\xe0\x10\x62\xf8\x38\x8f\x68\x43\x0d\xe0\x4e\x02\x7e\xbd\xf8\xfa\x27\xea\xc8\x14\xbe\xe3\x72\xa0\x8b\x10\x44\xc8\x4f\x8e\xc8\x44\x85\x33\xc9\x01\xc7\xe9\x9b\xa3\x27\xc7\x8e\xea\x4d\x2e\xc9\x2e\x7c\x19\x4d\x68\xd0\xdb\x47\x34\xf9\xe4\x9a\x69\xae\x6d\xed\x13\x42\x22\xd7\x75\x89\x5c\x47\x84\x84\xe7\x2d\x77\x8f\x07\x9e\xc8\xf6\xe6\xdb\x46\xda\x7c\x74\xe9\x7f\x6b\x7f\x96\x18\x90\xb1\x0d\x1d\x2c\x2b\x21\x89\xdc\xfb\x16\x5c\xd3\x89\xb7\xb9\xa9\xc9\x46\x05\xcb\x23\x0e\x7a\x83\x4d\x57\xde\x09\x20\x11\x56\x48\xf9\x1a\xb4\x24\x5c\x15\x28\x25\xe6\x73\xb3\x50\x83\x66\x86\x82\xe3\x2e\xc0\x54\xc3\xa7\x69\x93\xf9\x65\x45\xd4\x2c\xb3\x9c\x5d\xdb\x0d\x94\x00\xaa\x6d\x87\xcd\xf6\xa6\x2a\x61\x4a\xa1\x58\x26\x64\x0a\x77\x1b\x94\x98\xde\xb8\xb7\x79\x7c\x40\xfe\xe9\xf5\xe8\x3a\x07\x8d\x56\x7b\x77\x07\xe6\x60\x1d\x1e\xd5\x87\x83\x35\xfa\x79\xe6\x0d\x94\xf2\xa5\x8b\xb3\xb0\x6d\xd7\x41\x82\xa3\x98\x8d\xb9\x97\x57\xc1\xe3\xbc\xcb\xab\x59\xac\xfe\x83\x59\xdf\xc5\xac\x5b\x91\x3c\x57\x11\x1b\xaa\x55\x1b\x49\xde\x3a\xbd\xc0\x12\x3b\x8e\x52\x1d\xe1\x71\x54\x01\x61\x4c\xec\x9c\x47\xe5\xa8\xb4\x14\xae\xb9\xab\xcc\xf2\x4e\xb4\x15\x66\xa4\x56\xd8\x39\x71\x1c\x53\x46\xe4\xc0\x59\x8d\x5b\xa2\x6c\x24\xf1\x5d\x49\xdb\x4a\xb4\xb4\xff\xdf\xc9\xbe\x21\xf1\xbe\x56\x88\xdc\xf8\x99\xaa\x4b\x53\x7d\xf1\xdc\x35\x59\x0b\x61\x9b\xc5\xde\xc9\xac\x84\x4d\xcb\x77\xc4\x9d\xda\xae\x93\x37\x88\xcf\xd5\xd3\x89\x58\x1f\xe0\xdb\xfa\x00\x2e\xce\x5c\xf0\x12\xf5\x45\xca\xd7\x8e\xf6\xb4\xaf\x1c\xbf\x01\x38\x99\x27\x1a\x81\x4b\x38\x9f\x9f\x47\xe3\x8d\x49\x62\xa8\xec\xf9\x5d\x3f\x35\x3c\xd2\x01\x63\xb8\x71\xb6\x36\xd1\x06\x24\xf4\xa7\xbf\x50\x8a\x01\xd4\x35\x00\x42\x3b\x7c\x20\x8c\x19\xa8\xf1\x38\x31\x87\x97\xae\x05\x5e\xd6\xca\xe1\x85\xcb\x8f\x9a\xe6\xfd\x80\xa3\x2d\x78\x2c\x27\xc7\xbb\xc5\x9f\xfe\x6d\x85\x79\x21\x64\xee\xba\xeb\xd6\x79\xdd\x78\xcc\xd1\x15\x72\xbe\x6d\x4e\x5c\x6d\xdf\x24\x67\x8d\x5b\xa8\xb6\x9d\xed\xea\x7e\x93\x5c\x1c\xe7\x57\xc3\x5c\xfc\x18\x34\x7a\x00\x5c\xce\xe7\xe7\x21\xb2\x40\x7c\xf3\xe3\xae\x05\x46\x2f\x3a\x1a\xfc\x70\xc8\x62\xb7\x43\xec\x45\xa7\xd7\x84\xbb\x08\x31\xb1\xd9\x5c\x1e\x3c\xee\xd2\xc0\xdf\x4a\xdc\x45\x5a\x36\x6c\xdc\x9d\xec\x91\x1e\x67\x08\x54\xb0\xf0\xa9\x05\x37\x63\xbf\xb2\xf1\x23\x1d\x5c\xfd\x9e\x8e\xfa\x5d\x48\xd1\xf7\xbc\xa3\x2c\xd8\x89\xfe\x94\x73\x65\xac\x34\xe9\xf7\x13\xc2\xa1\xaf\x52\xe7\x0d\x96\x74\xe4\x86\xdc\xfd\xdf\xdc\x90\xc7\x29\xfb\x3c\xc8\xe1\xfe\xde\xf1\xd5\x73\xb2\xce\x5a\xa2\xe1\x65\x6d\x12\x16\x39\xc1\x45\x19\x35\x3b\x35\xe7\x94\x1a\x38\x4e\x74\x97\x12\x55\x36\x83\x0b\x95\xe6\x32\xc5\xd6\xa1\x09\xdd\xbf\x98\xce\xde\xf7\x05\x4d\x22\x5e\x18\x17\x7f\x0b\xe9\x3e\x2f\xca\x7d\x5e\x84\xfb\x0c\xe8\x96\x0a\xf4\x24\xaa\x6d\x1b\xc3\xb5\x75\xdb\xe1\xd0\x68\xdd\x0f\x1e\x40\xb8\xa4\xcb\x19\x43\xf9\xe3\xae\x4b\x8b\x9a\x6b\xec\x53\xc0\xa2\xc0\x4c\xd3\x2d\xb2\x3d\xac\x6a\xc9\x6d\x5e\xdb\x65\x18\x03\x0f\xf8\xb1\x22\x92\x94\xe0\x8e\xfe\x36\xfd\x08\x4a\x40\xc1\x35\xa1\x3d\x36\x56\xa5\xb5\xe4\x03\x6e\x7f\x52\xc6\xec\x55\xac\xb5\x49\x6e\xd2\x13\xa8\xab\xdc\x6c\xd2\xb8\x46\x00\x5a\x2d\xc9\x5b\x44\x68\x7a\xa3\x6b\xaa\x37\xf5\xca\xb6\x46\x5d\x23\x77\x51\x30\x5a\xa9\x45\x55\x33\xb6\x78\xf6\xcd\xb3\xa4\x3d\x8c\x20\xd3\x0f\xee\xe8\x3f\x26\x7b\xa1\x45\x2f\x9d\x78\x61\x34\xfe\x19\xa0\xeb\xcc\xf3\x0d\x8b\xb1\x1e\x88\x40\x32\x57\xf1\x76\xb6\x75\x75\x28\xa9\x85\xb3\x78\xf1\x67\xe7\xe7\x26\xf7\x89\xa7\xf4\x3f\xc6\x81\x4b\x58\xf8\x20\x89\x3e\xd5\x70\xdf\xf4\x44\x4d\x80\x57\xce\x03\xbb\x2f\x18\x6c\xbc\xf7\x4f\x18\x1b\x23\xfe\x43\x26\x13\xa2\x64\x8b\x26\xda\x29\x8f\xbe\x8d\x70\x2c\xdb\x3f\xa3\x0c\x31\xed\xe9\xfd\x0d\xce\x52\xb2\x11\x7f\x9d\x0d\xed\x67\x2a\xfb\x5e\xfb\x37\x28\xfc\xf0\xb6\x12\x0a\xc3\x83\xd6\x4e\xfc\xe8\xa3\xfd\x23\x94\xa8\x37\xc2\xa5\xcd\x6b\xd4\x2f\x6d\xfb\xc9\x37\x6e\x9a\x31\xbd\x91\xa2\x5e\x3b\x2d\x7c\x6c\xca\xf6\x8f\x60\x8f\xf6\x82\x64\xe1\x66\x9b\xf4\x1b\x3e\x86\x46\xff\x98\xe4\xe4\x87\xd3\x8c\x22\xad\x85\x36\x7b\x45\xaa\x83\x9f\xeb\x34\x3d\x78\xaa\x54\x8d\x17\x5f\xfa\xa3\xc0\x39\x62\xb2\xe1\x3e\xce\xca\xaa\x59\x6d\xa6\xbd\xe5\x4f\x81\xe8\xa5\x77\xed\xae\x73\x32\x8b\x24\x6e\xfa\x21\x8f\x94\x76\xbc\x27\xfd\xb7\x36\x10\x48\x13\x0a\x1f\x36\x6d\x66\x27\x69\x7e\x8d\x80\xc6\xc5\xa7\xbe\xad\x7c\x0a\x5a\x2c\xd3\x11\xe5\x3f\x7e\x8a\x74\xe1\x12\xca\xce\xe7\x5d\x4e\x38\x1d\xd9\x40\x6f\x41\x4b\xec\x16\x4c\x86\x76\x73\x30\xdc\x9f\xfc\x37\x00\x00\xff\xff\xf4\xba\x7f\x2b\x79\x29\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x6d\x6f\xdb\x38\xf2\x7f\x9f\x4f\x31\xf5\x1f\xe8\xdf\x46\x13\x3b\xdd\x3e\xdc\xae\x91\x34\xdb\xed\x36\x77\x07\x6c\x81\xa2\xcd\x6e\x5f\x14\x45\x42\x4b\x23\x8b\x17\x8a\x14\x48\xca\x8e\x37\xc8\x77\x3f\xf0\x41\x12\x29\x4b\x8e\x93\xf6\xd5\xe9\x45\x1b\x8b\x9c\xe1\x70\x1e\x7e\x9c\x19\x8a\x16\xa5\x90\x1a\xce\x2b\xbe\xa4\x0b\x86\x17\xe2\x1a\x39\x64\x52\x14\x30\x8a\xde\x8d\x0e\xfc\xcc\x0f\xa8\x49\x4a\x34\xf9\x8b\xe2\x5a\xf9\x99\xd1\xbb\x66\x66\x44\xdf\x47\x36\x3c\xa1\xe1\x61\x7e\x7d\x42\x25\xd8\x0a\xa5\xa7\x0a\x5f\x8d\x0e\x0e\x48\x92\xa0\x52\x63\xc2\xd8\x04\x12\xc1\xb5\x24\x89\x86\xf7\x37\xa4\x28\x3d\xe3\x79\x67\x73\xb7\x07\x07\x00\x00\xb3\xd9\x0c\x2e\x72\x04\x5c\x21\xd7\xa0\x73\xa2\x81\x2a\xc0\x82\x6a\x8d\x29\xac\x73\xe4\xc0\x71\x0d\xda\xd0\x28\x20\x12\xa1\xa0\x5c\x63\x6a\x89\xc3\x45\x1d\x03\xcb\x5b\x7d\xb0\x53\xc6\xa4\x10\x15\xd7\x73\xf8\xf3\x9c\xde\xbc\x7e\x79\x08\x7a\x53\xe2\x1c\x3e\x6b\x49\xf9\x72\x12\x2c\x2f\x34\x61\xa0\xaa\xb2\x64\x1b\x10\x59\x24\xb5\x02\xca\x01\x6f\xa8\xd2\xc8\x13\xdc\x5a\x74\x45\x24\x68\x43\xfe\xd9\x52\xd7\x4b\xb5\xbc\xdf\xa6\x05\xe5\xf0\x91\xe8\x7c\x8b\x96\xa1\x76\xc3\x9f\xb5\x90\x64\x89\x66\x92\x91\xae\xf9\x71\xb0\xbd\x1c\xc5\x35\x64\x15\x87\x25\xea\x77\x5e\xc9\xd6\x50\x63\x89\x4a\x54\x32\xc1\x0b\xbb\x45\xf3\xef\xd9\x64\x0e\x5f\xcd\x1f\xdf\xe0\xd6\x32\x32\x8f\x59\x73\x45\x2a\xa6\x3f\x61\x06\xa7\xa0\x90\x65\x53\x92\x24\x46\x4d\xd3\x84\x94\x64\x41\x19\xd5\x14\xd5\x74\x21\xa4\x14\xeb\x93\xa7\xa1\x2e\xa6\x7f\x19\xca\x37\xe3\x59\x59\x2d\x18\x4d\x66\x18\x8c\xd9\xa1\x49\xb3\x8e\x79\xce\xce\xa0\x24\x9c\x26\xe3\xd1\x3b\x51\xb1\x14\xb8\xd0\xe0\xd8\x02\x01\x89\x19\x4a\xa3\x52\xd0\x02\x74\x8e\x4e\x2a\x90\xb5\x43\xb5\xac\x9a\x3f\x24\xea\x4a\xf2\x46\xfc\xe9\x12\xfd\xde\xdd\xdc\xbb\x6d\x75\x19\x4d\x79\x8e\xa1\xb6\xfa\x94\x75\x68\x75\xdb\xbe\x98\xcc\xe1\x2d\xdf\x7c\xd6\xb2\x4a\xf4\xd9\xff\xa8\x02\xfd\x5c\xab\x12\xb3\xfb\x48\x8f\xc6\x79\xad\x4c\xf5\xaf\xe6\xed\x7b\x92\xe4\x50\x29\x94\xa0\xb4\x90\xa8\x80\x70\xa0\x5c\x69\x62\x84\x11\x19\x08\xce\x36\x56\x22\x4b\x6e\xe2\x47\xe7\x48\xdd\x6c\xb2\xc4\x28\xea\xb3\x8a\x27\x9a\x0a\x17\x66\x2d\x0d\xe1\x29\x2c\xc5\x0a\x25\xc7\x14\x16\x8e\x5b\x29\xd1\xbe\x2f\x85\xd2\x06\x61\x52\x6a\x09\x1b\x76\x94\x77\x00\xc6\x62\x87\xce\x71\x63\x51\x23\x21\x8c\x61\x3a\x8d\x56\x4f\x72\x4c\xae\x15\xe4\xa4\x2c\x91\x03\xd1\x20\x2b\xae\x69\x81\x96\x14\x0d\xd4\x91\x46\x42\x83\x4a\x1d\x1e\x0d\xaf\x4f\xde\x9f\xcc\x0c\xee\xf6\xbf\x40\x48\x24\x12\x83\x61\x7e\x67\x06\x14\xf1\x46\x1b\x0d\xd5\x3f\x2d\x46\x5a\xc8\x33\x62\x36\xec\x8c\xb8\x29\x66\x94\x5b\xe2\x43\x50\xd6\xc0\x12\x8d\x08\x5c\xc0\x9a\x6c\x20\x13\x46\xb6\x82\x30\x9a\x50\x51\x29\x67\x0e\x2d\xfc\x9a\x4e\x8b\xad\x6a\x44\xe5\x97\xa5\x1c\x08\x95\x53\x78\x0b\xaa\xc4\x84\x12\x06\x16\x29\x25\xd4\x11\x01\x1c\x31\x55\x86\xd3\xa2\x95\x41\x0b\x8b\xb9\x0d\xbb\x16\x8f\x63\x55\x84\xa1\xd7\x30\xb4\xa2\x74\xb0\xdf\xc5\x41\x7d\x02\x84\x16\xb1\x58\x0a\x0b\xc2\x6a\x67\xd2\x39\x55\xce\x63\x9b\xb9\x5d\xfc\xf5\xb3\x63\xec\xed\x9b\xa8\x86\x70\x76\x88\xc0\x85\xa9\x9b\xff\xb1\xf9\x7b\x70\xba\xc4\x04\xe9\x0a\xe5\x16\x41\x3f\x45\x80\xe5\x1e\xc7\x7a\x00\x3b\x88\xdb\xaf\xd1\x4b\xf3\x98\xc9\x27\xc3\xa7\xf7\xf4\xfc\xc2\xfc\xff\x66\x3c\x39\x7c\x04\xe9\xef\x54\x95\x8c\x6c\x1e\x49\x6d\x2d\xfc\x3b\xd1\xe4\x51\xf4\x17\xed\x91\xfa\x66\x1c\x83\xe2\xb7\xe6\xd7\x5d\xbf\x5e\x03\xd0\xb7\xc8\x76\x69\x35\xbd\x1b\xd5\xcd\xa3\xd6\x54\x27\xb9\x33\xcb\xed\x96\xc4\x09\x51\xb8\xbf\xbe\xe7\x5b\xf4\x81\x1d\xef\x65\x30\xee\xa5\x36\x4f\xa6\xbd\x55\xe6\xee\xe4\x09\xf7\xf9\x10\x8b\x4e\x80\xa8\x27\xbb\x05\xf1\x93\xcf\xb6\x8d\xd7\x0a\xd3\x18\xf9\x51\xe2\x84\x2e\xb2\x87\x40\xcd\xf4\xb3\x5e\x89\x26\x8f\x35\x59\xab\x95\x7e\xab\x99\x13\xbf\xc0\x94\x12\x38\x8d\x93\xee\xe9\x07\xf3\x76\xd8\x58\x56\x47\x94\xe1\xbc\x43\xf6\xaf\x8b\x8b\x8f\xe7\x94\xe1\x6e\xca\x4a\xb2\x39\x8c\x72\xad\x4b\x35\x9f\xcd\x88\x52\xa8\xd5\x74\x8d\x0b\x45\x35\x1e\x19\xb6\x6a\x9a\x88\x62\xf6\x2a\x7b\xfd\xd3\x2f\x2f\x93\xe3\xe4\x1f\xe4\xe7\x24\x4d\x5f\xbf\x7c\xb1\x78\x9e\xfc\xfc\xd3\x71\x67\x80\xbc\x7a\x95\x2c\x9e\x27\xbf\xbc\x78\x7d\x79\xce\xc4\xfa\xf2\x8b\x90\x69\x41\xe4\xf5\x54\xad\x96\xa3\x41\x39\x7a\x22\xb7\x7e\xac\x46\x5c\xba\x34\xa2\x05\x59\xe2\x4c\xad\x96\xcf\x6e\x0a\xd6\xcf\x6d\xdb\x3a\x91\x6a\x55\xbf\x6e\xd5\xf8\xab\x1d\xfe\xd6\x4f\xbe\x4f\x3c\x79\xeb\x0e\xeb\x9a\x93\xc2\xec\xc1\xa7\x69\x0d\x33\x57\x48\x8c\x86\x15\xa0\x36\xc5\x42\x18\x13\xbd\x3f\xbf\xd8\x31\x2d\x45\x95\x48\x5a\x9a\x0c\x62\x0e\xa3\x0b\x73\x9a\x65\xf5\x12\xf6\x0c\x35\x87\x7a\xa5\x30\x05\x62\x13\x29\x9f\x12\x9a\x33\x37\x47\x56\xc2\x46\x54\x90\xe2\x0a\x99\xb0\x7f\x4b\xe0\x26\x87\x38\xbf\x80\xff\x13\xdc\x58\x72\xba\x63\x6d\xbc\xd1\x28\x39\x61\x7f\x7e\xfa\xa3\xeb\x83\xef\xdb\xa1\x71\xe3\x64\x7e\xed\xa3\x4c\x4f\x05\xcf\x0c\x73\x21\x97\xa3\x1d\x4e\xc0\xc4\x52\xa8\xb9\x37\xe1\x0e\x55\x09\x93\x6a\xa8\x79\x0f\xac\x86\xcf\x48\xaf\x4d\xd1\x27\x47\x7b\x09\xeb\x27\xdb\x20\x30\xb2\x5e\x2e\x98\x48\xae\x93\x9c\x50\x3e\xea\x77\x17\xb0\x67\x46\xdf\xdb\x47\x63\x47\x08\x61\xc3\xe8\x11\xd4\x0b\x51\x35\x50\xd7\x0d\x3e\x2f\xd9\x59\x32\x98\x9a\xdb\xa3\x6c\x90\xc6\x0c\x6f\xf4\x61\xb5\x83\x4d\xe4\x53\x27\xe8\x80\xf6\xf6\x3a\xbc\x6a\x75\x0c\x87\x5b\x94\x83\x75\xb7\x33\xec\x42\x71\x6a\xe5\x0f\x9b\xf6\xd5\x2e\x9c\x72\x22\x06\x84\x6d\x56\x77\xff\x7a\x7f\x50\x7e\x8d\x69\x5b\x16\x9e\x3c\xbd\x8d\x33\xd9\x4f\x7e\xe2\x5d\x6f\x9e\xd3\x95\x62\x9b\x5d\x9f\xad\x77\x30\x72\xf9\xfd\xfb\xa2\xd4\x1b\x3b\xf9\xdc\x57\x27\x73\x18\x67\x15\x37\x19\xe4\xaf\xb7\x3d\xa9\xf6\xdd\x3d\xa1\xe7\x8d\x7b\x72\xd4\xd4\x86\xdd\x85\xc6\x3b\x62\xaa\x7f\xe8\x91\x41\x15\xa7\x7e\x8f\x4d\xa4\x02\x2e\xc3\xbe\x18\x35\x6e\x22\x43\x04\x23\x7b\xec\xed\xae\x2f\x5b\xe7\x94\xf5\x65\xaa\xa6\xd0\x59\xa2\x36\xbc\x85\xd4\x98\x5a\xe5\x1a\x9d\x28\x10\xf6\x94\x20\x8c\x6d\x3c\x0f\x05\x04\x18\x55\xb6\x76\x73\xd5\xbd\xb6\x13\x7d\xc5\x48\x55\xe3\xa6\x36\x01\x2e\x7d\xc5\x07\x3b\x0a\x8d\x9e\x75\x8d\xd3\xdc\x3a\x97\xfc\x4d\x08\xd6\x75\x15\x03\x60\xaa\xa6\xb2\x04\x9d\xe9\xa7\x70\x1b\x2b\x20\x9e\xfd\xd5\xc6\xdc\x12\xed\x62\xe3\xc9\x37\x38\x05\x2d\x2b\xec\x53\x59\x4c\x78\x5f\x9e\xdf\x6c\x8b\xaa\xed\x5d\x8d\x75\xd8\xc9\x31\x82\xf6\xd7\x54\xb5\x70\xbd\x7a\xf9\xaa\x6d\x31\x76\x76\x06\x19\x61\x0a\xfb\xcd\x09\x94\x53\x4d\x09\xa3\x7f\xa3\x85\xd2\xba\x76\x25\xba\xad\x81\x6d\x30\x51\xc1\x41\xd3\xa2\x65\x63\x08\xc7\x9d\xe2\x75\xd2\x2d\x4a\x8c\x7c\x35\xcb\xd3\x9a\xf9\x96\x81\x68\x8a\x5c\xd3\x8c\xa2\x84\x53\x18\x6d\xb5\x95\x46\xdb\x3c\x03\xd4\x85\xd3\xb0\x18\x1e\xb7\xbc\xe6\x01\xdf\xc9\x93\x6d\x1e\x2d\x90\xc2\x69\x50\xee\x3e\x80\x43\x88\xe1\xc3\x3c\xa2\x0d\xd5\x80\x3b\x0a\xf8\x75\xe2\xeb\x9f\xa8\x23\x53\xf8\x8e\xcb\x8e\x2e\x42\x10\x21\xbf\x39\x22\x13\x15\xce\x24\x3b\x1c\xa7\x6b\x8e\x8e\x1c\x6b\xaa\xf3\x54\x92\x75\xf8\x32\x9a\x50\xa3\xb7\x8f\x68\x72\xed\x9a\x69\xae\x6d\xed\x13\x42\x22\x97\x55\x81\x5c\x47\x84\x84\xa7\x0d\x77\x8f\x07\x9e\xc8\xf6\xe6\x9b\x46\xda\x74\x70\xe9\x7f\x6b\x7f\x96\x18\x90\xb1\x0d\x1d\x2c\x4a\x21\x89\xdc\xf8\x16\x5c\xdd\x89\xb7\xb9\xa9\xc9\x46\x05\x4b\x23\x0e\x3a\xc7\xba\x2b\xef\x04\x90\x08\x0b\xa4\x7c\x09\x5a\x12\xae\x32\x94\x12\xd3\xa9\x59\xa8\x46\x33\x43\xc1\x71\x1d\x60\xaa\xe1\x53\xb7\xc9\xfc\xb2\x22\x6a\x96\x59\xce\xae\xed\x06\x4a\x00\xd5\xb6\xc3\x66\x7b\x53\xa5\x30\xa5\x50\x2c\x13\x32\x85\xeb\x1c\x25\xf6\x6f\xdc\xdb\x3c\x3e\x20\xbf\x78\x3d\xba\xce\x41\xad\xd5\xce\xdd\x81\x39\x58\xb7\x8f\xea\xdd\xc1\x1a\xfd\x3c\xf2\x06\xea\xf3\xa5\x93\xa3\xb0\x6d\xd7\x42\x82\xa3\x98\x0c\xb9\x97\x57\xc1\xc3\xbc\xcb\xab\x59\x2c\xfe\x83\x49\xd7\xc5\xac\x5b\x91\x34\x55\x11\x1b\xaa\x55\x13\x49\xde\x3a\x9d\xc0\x12\x6b\x8e\x52\xed\xe1\x71\x54\x01\x61\x4c\xac\x9d\x47\xa5\xa8\xb4\x14\xae\xb9\xab\xcc\xf2\x4e\xb4\x05\x26\xa4\x52\xd8\x3a\x71\x1c\x53\x46\xe4\xc0\x59\x8d\x5b\xa2\xac\x25\xf1\x5d\x49\xdb\x4a\xb4\xb4\xff\xdf\xca\x9e\x93\x78\x5f\x0b\x44\x6e\xfc\x4c\x55\x85\xa9\xbe\x78\xea\x9a\xac\x99\xb0\xcd\x62\xef\x64\x56\xc2\xba\xe5\x3b\xe0\x4e\x4d\xd7\xc9\x1b\xc4\xe7\xea\xfd\x89\x58\x17\xe0\x9b\xfa\x00\x4e\x8e\x5c\xf0\x12\xf5\xa4\xcf\xd7\xf6\xf6\xb4\x67\x8e\xdf\x16\x38\x99\x27\x1a\x81\x53\x38\x9e\x1e\x47\xe3\xb5\x49\x62\xa8\xec\xf8\x5d\x37\x35\xdc\xd3\x01\x63\xb8\x71\xb6\x36\xd1\x06\x24\xf4\xa7\xbf\x51\x8a\x2d\xa8\xab\x01\x84\xb6\xf8\x40\x18\x33\x50\xe3\x71\x62\x0a\x6f\x5d\x0b\xbc\xa8\x94\xc3\x0b\x97\x1f\xd5\xcd\xfb\x2d\x8e\xb6\xe0\xb1\x9c\x1c\xef\x06\x7f\xba\xb7\x15\xe6\x85\x90\xa9\xeb\xae\x5b\xe7\x75\xe3\x31\x47\x57\xc8\xf9\xb6\x39\x71\xb5\x7d\x9d\x9c\xd5\x6e\xa1\x9a\x76\xb6\xab\xfb\x4d\x72\xb1\x9f\x5f\x6d\xe7\xe2\xfb\xa0\xd1\x3d\xe0\x72\x3c\x3d\x0e\x91\x05\xe2\x9b\x1f\x77\x2d\x30\x78\xd1\x51\xe3\x87\x43\x16\xbb\x1d\x62\x2f\x3a\xbd\x26\xdc\x45\x88\x89\xcd\xfa\xf2\xe0\x61\x97\x06\xfe\x56\xe2\x36\xd2\xb2\x61\xe3\xee\x64\xf7\xf4\x38\x43\xa0\x82\x85\x0f\x2d\xb8\x19\xfb\x15\xb5\x1f\xe9\xe0\xea\xf7\x70\xd0\xef\x42\x8a\xae\xe7\xed\x65\xc1\x56\xf4\xc7\x9c\x2b\x43\xa5\x49\xb7\x9f\x10\x0e\x3d\xeb\x3b\x6f\xb0\xa0\x03\x37\xe4\xee\xff\xfa\x86\x3c\x4e\xd9\xa7\x41\x0e\xf7\x7d\xc7\x57\xc7\xc9\x7a\x81\x24\x74\xb7\xef\x02\x90\x1f\x0b\x1e\x3f\x16\x38\x7e\x00\x68\xf4\xc5\x4f\x2f\x58\xac\xea\x8a\xa6\x29\x87\x76\x7b\x5c\x63\x55\xb8\x07\x38\x02\x4b\xc6\x86\xf2\xa7\x48\x9b\x6d\xd4\xb7\xc3\x87\x80\x59\x86\x89\xa6\x2b\x64\x1b\x58\x54\x92\xdb\x74\xb1\x3d\xb8\xb7\x3c\xe0\xd7\x92\x48\x52\x80\x3b\x51\x9b\x53\x3d\xa8\xac\x04\xd7\x84\x76\xd8\x58\x95\x56\x92\x6f\x71\xfb\x42\x19\xb3\x37\x9c\xd6\x26\xa9\x39\xf5\xa1\x2a\x53\xb3\x49\xe3\x1a\x01\x16\x34\x24\x9f\x11\xa1\x6e\x39\x2e\xa9\xce\xab\x85\xed\x38\xba\xfe\xe8\x2c\x63\xb4\x54\xb3\xb2\x62\x6c\xf6\xfc\xc5\xf3\x5e\x7b\x18\x41\xc6\x97\xee\x44\xdd\x27\x29\xa0\x59\xe7\x94\x7e\x63\x34\xfe\x03\x10\xe1\xc8\xf3\x0d\x6b\x9c\x4e\x6c\x42\x6f\x0a\xe0\xed\x6c\xcb\xd5\x50\x52\x8b\x12\xf1\xe2\xcf\x8f\x8f\x4d\x4a\x11\x4f\xe9\x7e\xe3\x02\xa7\x30\xf3\x41\x12\x7d\x01\xe1\x3e\x95\x89\x6a\xeb\x77\xce\x03\xdb\x0f\x03\x6c\xbc\x77\x81\xdb\xc6\x88\xff\x3e\xc8\x84\x28\x59\xa1\x89\x76\xca\xa3\x4f\x0e\x1c\xcb\xe6\xcf\x28\xf1\xea\xf7\xf4\xee\x06\x27\x7d\xb2\x11\x7f\x4b\x0c\xcd\xd7\x1f\x9b\x4e\x57\x35\xa8\xa7\xf0\xa6\x14\x0a\xc3\xf3\xcb\x4e\xbc\xf2\xd1\x7e\x05\x05\xea\x5c\xb8\x6c\x74\x89\xfa\xad\xed\xea\xf8\x7e\x48\x3d\xa6\x73\x29\xaa\xa5\xd3\xc2\x55\x5d\x0d\x5f\x81\x3d\x31\x33\x92\x84\x9b\xad\xb3\x5a\xb8\x0a\x8d\x7e\xd5\xcb\xc9\x0f\xf7\x33\x8a\xb4\x16\xda\xec\x1d\x29\x77\x7e\x05\x53\xb7\xb6\xa9\x52\x15\x9e\x3c\xf5\x0d\x4e\xe7\x88\xbd\x7d\xec\x61\x56\x56\xcd\x2a\x1f\x77\x96\x3f\x04\xa2\xe7\xde\xb5\xdb\x86\xc4\x24\x92\xb8\x6e\x33\x3c\x50\xda\xe1\x56\xef\x77\x6d\x20\x90\x26\x14\x3e\xec\x85\x4c\x0e\xfa\xf9\xd5\x02\x1a\x17\x1f\xfb\x6e\xed\x21\x68\x31\xef\x8f\x28\xff\x4d\x51\xa4\x0b\x97\xa7\xb5\x3e\xef\x52\xad\xf1\xc0\x06\x3a\x0b\x5a\x62\xb7\x60\x6f\x68\xd7\x07\xc3\xdd\xc1\x7f\x03\x00\x00\xff\xff\x4d\x29\x86\x47\xd0\x28\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -94,11 +94,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x43, 0x52, 0xa2, 0x3c, 0x88, 0x69, 0x9c, 0x12, 0x4b, 0xb9, 0x13, 0x18, 0xc6, 0xb6, 0x7e, 0xd4, 0xb2, 0xb0, 0x61, 0x94, 0x4a, 0x32, 0x96, 0xfb, 0x3b, 0xa8, 0x29, 0x13, 0xa1, 0xe2, 0x8c, 0xe5}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x7a, 0x10, 0x23, 0x20, 0xcf, 0x54, 0x9c, 0xc8, 0x41, 0x46, 0xbd, 0xc9, 0x2a, 0xfc, 0xa9, 0x2c, 0xa0, 0xf0, 0x48, 0x5a, 0x3b, 0xdd, 0x4a, 0xb9, 0x3c, 0x9c, 0x50, 0x97, 0x28, 0xd6, 0xa6}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4d\x93\xdc\xb6\xd1\xbe\xf3\x57\xf4\xbb\x3e\x68\xc7\xef\x68\xd6\x87\x54\x0e\x5b\x91\x64\xc9\xf6\xa6\x74\x70\x2a\x65\xad\xac\x83\x93\xca\x60\xc8\xe6\x0c\x2c\x10\xa0\x01\x70\x46\x93\xad\xfd\xef\xa9\x6e\x00\x24\xc1\xe1\xec\xae\x1c\x2b\xba\x78\x96\x04\x1a\xfd\xf9\xf4\xd3\xa0\xaf\xbe\xfe\xba\x28\xbe\x82\xdb\x1d\xc2\x8d\x32\x07\xb8\xe9\xf4\x56\x6e\x14\xc2\xad\xf9\x88\x1a\x9c\x17\xba\x12\xb6\x2a\x8a\xaf\xbe\x82\x75\x7a\xc9\xef\xd6\x50\x1a\xed\xad\x28\x7d\x51\xf0\xf6\xf9\x9d\x20\x1d\x68\x03\xca\xe8\x2d\x5a\x10\x1a\xa4\xf6\x68\x6b\x51\x62\xe1\x77\xc2\x83\x50\x0a\xea\xb4\xd5\xf3\xd6\x24\xd7\xc1\xc1\x74\xaa\x82\x9d\xd8\xd3\x2b\x7a\x5e\x1b\xdb\x80\x37\xab\xa2\x78\x5b\x83\x80\xce\xa1\x75\x70\x10\xda\x3b\x5a\x50\x61\xab\xcc\x11\x04\x68\x3c\x4c\x64\x2d\xc1\xef\x50\xda\x41\xe7\xca\x20\x29\xe6\x41\x23\x56\xb4\x59\x36\xad\xc2\x06\xb5\xa7\x95\x90\x99\x3a\xe8\xbc\x84\x4d\xe7\xa3\x28\x3e\xc0\x15\x95\x39\x23\xa2\xdf\xe4\xa0\xc2\x5a\x6a\xac\x40\x6a\xf0\x3b\xe9\x7a\x2d\x56\xc1\xaf\x3f\x8b\x4e\xf9\x35\x58\x74\xa6\xb3\xe5\x68\x67\x51\xfc\x20\xca\xdd\xd4\x3f\xfd\x3a\x7f\x6c\x91\x0f\x77\xa7\xa7\x9f\x17\x1a\x0f\xfd\xbb\x35\x7b\x59\xa1\x5d\x2f\x61\xfd\x13\x96\x28\xf7\xfc\x5b\xe8\x0a\xd6\x6f\x84\x12\xba\xc4\xb9\xdd\x8e\xa3\xed\x26\xe6\x95\x4a\x58\x84\xd6\xe2\xf3\xd2\xe8\x4a\x7a\x69\xb4\x63\x51\xad\x71\x7e\xfc\x8c\x63\x6e\xd1\x79\x2b\x4b\x5f\x90\xa2\xf8\x09\xcb\x8e\x5e\x82\xa9\x59\xf3\xba\xd3\x65\x58\xcc\xee\x42\x60\x4b\x56\x7c\xee\x11\xe8\x1c\x87\xad\xb0\xc2\x23\x6c\xb0\x14\x1d\xe9\xe2\x61\x2b\xf7\xe8\x78\x39\x25\x05\xff\x10\x1b\xa9\xa4\x3f\x92\x6f\xdc\x4e\x58\x2c\x04\x58\xac\xd1\xa2\x2e\x39\x9f\x42\x18\x59\x7a\xd0\xcb\x68\x75\x04\xfc\xd4\x1a\x17\x45\xd5\x12\x55\xe5\x06\x8d\x0a\xa9\xc1\x68\x04\x63\xa1\x31\x16\x93\xc6\x83\x2b\x28\x31\x29\xa7\x9d\x89\x0a\x85\x0c\x9d\x68\xd3\x88\x8f\x08\x65\xe7\xbc\x69\x7a\x0f\x47\xd7\xf4\x41\x24\xdf\xe4\x5e\xa6\x04\x37\xb0\x17\x56\x9a\x8e\x56\x4b\xbd\x75\x70\x90\x7e\xc7\xe2\x43\x36\xae\x8a\x1b\x63\x01\x3f\x09\x12\xb3\x04\x01\xb5\xe8\x4a\xf4\x50\x0a\x0d\x1b\x1c\xa4\x63\x05\x9b\x63\x2a\x28\xa9\xb7\x45\x70\x07\xa4\xa4\xc8\xb2\xe5\xeb\xab\xa2\x90\x4d\x6b\xac\x87\x9f\x25\x1e\x7e\x42\x67\xd4\x1e\x2d\xd4\xd6\x34\x70\x31\x7e\x74\x51\x14\x57\x57\x57\x79\xf1\xd0\x93\xec\x69\x04\x88\x5e\x17\x11\xb3\xc5\xe2\x08\x28\x2c\xfe\xd6\x49\x3b\x57\x56\x79\x31\xb0\xe4\x41\x59\xf8\x80\xe0\xbc\x54\x2a\x80\x86\xf4\x20\x5c\x06\x3a\xb0\x43\x3b\xe4\x8d\xe7\xbf\x38\xa5\x4c\xc3\x99\x53\x77\x8a\x45\x76\x3e\x44\xab\x41\xbf\x33\x55\x0c\x4e\x23\xf4\x11\x5a\x6b\x7e\x45\x06\x27\x3a\x26\x1c\x46\x08\x44\x9a\xf2\xa1\x46\x4f\xb0\xc6\x2d\x59\x64\x44\x8e\x90\xc2\x9b\x23\x19\xdb\xa0\xd0\xae\xb7\x75\xc5\x60\x18\xd2\x60\x78\x4a\xbf\xf9\x59\x1f\xe5\x60\x73\x72\x8a\xcb\xca\x7d\x80\x0e\x51\x96\xe8\xdc\xa5\x50\x6a\xd1\x6b\x32\xf2\x43\x16\xa3\xeb\x3c\xb0\x77\x45\x01\x00\x70\x75\x05\xaf\x35\xa0\xf6\xd2\x47\xff\xd7\xc6\x92\x8e\xe6\x20\xf5\x96\x8f\xa5\xf4\xab\xac\x38\x08\xc5\xb5\xc0\x39\x18\xf2\x42\x84\xc2\x62\x41\x63\x55\xc6\xe2\x3e\xc4\xdd\xe9\xb8\x2b\xee\x43\xb8\x0f\xa1\x0e\x6e\xc0\x46\x7a\x4a\xd7\xc3\x0e\x75\x3a\x80\x1c\x98\x4e\xd6\x8f\x1c\xb7\x1f\x1f\xa4\x2f\x45\x63\x3a\xed\xaf\xe1\xfd\x8d\xfc\xf4\xe7\x3f\x2d\x19\x42\xaf\xe1\x9d\xb7\x52\x6f\x97\x2c\xea\x1a\x5e\x57\x95\x45\xe7\x5e\x85\xbf\xdf\xbf\x7f\xfb\xfd\x35\xbc\x7f\xab\x3d\xad\xef\x8f\x1d\x3f\x5e\xfc\x1e\x03\x2a\x6c\x8d\x93\x3e\xa4\xf8\xc3\xea\x7f\x9f\x96\x3e\xa2\xbe\x37\x63\xe5\xbd\xc9\x55\xef\x0f\x3c\xa3\xfa\x0f\x0f\xa8\xbd\x43\xd8\x2a\xb3\x11\x0a\x36\x9d\xd5\xb1\x2a\x68\x59\x29\x94\xa2\x55\x04\x43\x02\xb4\xd1\xcf\xff\x8d\xd6\xc0\x26\x34\x90\x33\xf6\xbc\xe9\xac\x7e\xd4\x98\xa9\xef\x47\x9a\xbe\x19\x49\x27\x74\x19\x3b\x7f\xc8\x70\xb6\xa4\x0d\x80\xe6\x06\x3e\xd2\x83\xf9\x3f\xfa\x7d\x94\xd6\x5b\xf4\x9e\xb2\x3a\x6a\x0e\x92\xa1\x91\xb1\x29\x3b\x67\x6c\xcd\x69\x77\x4c\xaa\xc1\x1d\x2f\x4e\x07\xfc\x15\x43\xf9\x26\xe1\xb1\x6f\xec\xfb\x98\x4f\x25\xef\x25\x1e\x48\x53\x52\x2b\x8a\xbc\x5c\x24\x4f\xf1\x8e\xfb\xc1\x1d\x09\xb4\x9f\xe2\x0f\x24\xb3\xca\xd8\xde\x22\xc4\x04\x14\x21\x27\xa4\xec\xa6\x8e\x90\x84\x8c\x8b\x9a\x9b\x5d\x02\x1e\xc6\x80\x63\x8b\xab\x93\x73\xdf\x7a\xe8\xe9\x55\x3c\x30\x3f\xcb\x68\x58\x6f\x12\xc7\x20\x0c\x5e\xf6\x7b\x47\x2d\x5d\xa1\xa0\x16\x6a\xda\x98\x81\xad\x71\x4e\xc6\x2e\x6a\x6a\x28\x2d\x0a\x56\x22\x76\xd2\x18\x6a\xeb\x06\xd5\xc9\x62\xe2\x67\x4c\xf3\xc8\xbb\xc2\x4a\x75\x8c\x7c\x8d\x31\xda\x1c\x74\x8a\xca\xea\x73\xe2\xdc\x37\xca\x88\x95\xe9\xc8\xe4\x41\x70\xdd\x26\x92\xd8\x07\x1d\x98\x44\x67\x42\x88\x38\x59\xf4\x9d\x25\xa8\x88\x04\xa5\x6f\xf4\x16\x1b\xb3\x67\xd4\x08\x0d\x7f\xb4\x31\x13\x72\x3b\xa2\x52\xcf\x5c\xb4\x07\x14\xee\x51\x51\xe1\xae\xa3\x81\x09\x1a\x17\xeb\x6c\xf7\x3b\x43\xec\xcb\x58\x32\x91\xf0\x29\xec\x96\x7e\xc9\xfc\x27\xf0\x72\x94\xd4\x3f\x7b\x6f\x82\xd9\x50\x63\x04\xe9\x1d\xaa\x3a\x93\x66\x98\xf9\x47\xe8\xaf\x46\x2c\x8c\xad\x5a\x27\x1d\xd6\xf3\xd6\x4c\x35\xe5\xc2\x48\x8e\x9e\xa0\xc8\xe2\x1a\xbe\xbd\x63\x8f\xdd\x8f\x6a\x90\xfe\x11\x13\x9d\x3c\x8a\x4d\x6e\x6d\xd1\x45\xae\x5c\x33\x5b\x33\xd1\xd1\x14\x01\xd8\x0b\xd5\xe1\xc9\xb6\xb0\x65\x35\x2e\x4f\x78\xf1\x02\xa2\x32\x27\xcb\xe9\xdf\xc5\x87\xa1\x59\x86\x75\xd0\x74\xce\x13\x2f\xa3\xe3\x9c\x68\x90\xd8\xca\x0c\x4e\x0c\xbd\x8e\x2d\xbb\x38\x11\x4f\x60\x3d\xd3\xe4\xc2\x7f\x13\xb0\x52\x54\x48\xe1\xdb\x63\x8b\x97\x8b\x95\xac\x28\x1e\xb5\x44\x9b\xfa\x1e\x2f\x30\x07\x8d\xf6\xd5\x4a\x84\x36\x32\x86\x61\x7e\xdd\x75\xb2\x3a\xe9\x82\xd1\x19\xf4\x6e\x91\xe9\x76\x5f\xe4\xbf\x46\xa0\x95\x46\x8e\xff\x1e\xb4\x62\x5f\x9b\xc1\x2c\xa9\x63\x28\x9f\x80\x59\x1f\x30\x21\x85\xd4\xa5\xea\x2a\x04\x01\xfd\xdc\x12\xd4\x28\x77\x58\x7e\xcc\x03\x14\xd1\xaa\x97\x72\xc0\x9e\x0b\x12\xff\x7f\x0a\xfd\x0f\x6e\x08\x1c\xaf\x97\x43\x7c\xbd\x32\x69\xd1\x3c\xd7\x5f\x82\x92\x1f\x11\x5c\xab\x24\x77\x97\x06\xba\x96\xa0\xa3\x17\xe2\x50\x57\xe1\x05\x8d\x0e\xb2\xe6\xa2\xf3\xd0\xaa\x30\xa9\xc0\xd3\xd1\x2e\x05\x6b\x8a\x76\xd1\xf5\xe0\xc5\x47\x1c\xa0\x8a\xe0\x2b\xbe\x21\xc8\x38\x13\x86\x6c\x8a\x7d\xa8\xee\x59\x29\x2a\xf9\x28\xf3\x32\x64\x6b\x2a\xf3\x45\xae\xd2\x16\xfd\xbb\xae\xa5\x61\x05\x2b\x5e\x40\xe9\x4e\x4d\x84\xe2\x28\x94\x3a\x8e\x90\x55\x49\xe7\xa9\xc6\xf6\x61\x04\xe4\x85\x91\x6a\x33\x01\x8f\x46\x93\x1e\xad\x77\x8f\x36\xea\x99\x73\xa9\x69\xdf\xdd\x72\xf9\xbd\x31\x46\xdd\xe7\xba\xfe\x14\x35\x39\xec\x90\x91\xd4\x58\x4e\x40\x66\x5b\x72\x4f\x5d\x8f\x06\x7c\xe9\xa2\x06\x61\x68\xa3\xb7\x59\xf1\x24\x69\xaf\x93\x1d\x9c\xab\x42\xc7\x5d\x40\x43\x0b\x0b\x72\x3b\x86\xed\x5f\x09\x74\x22\xb8\x79\xdb\xf1\x2c\x52\x61\xfd\x38\x17\x91\xee\xd4\xc2\xcb\x80\x2d\xf4\x73\x11\x6c\x9c\x16\xfa\x40\x6c\x33\x8a\x50\x21\x05\x63\x19\x5c\x3d\x64\x5a\xe8\x2c\x3c\x40\x0f\xd7\x3d\xbd\xbd\xcb\xc4\xaf\x96\x70\x6b\x85\x76\x35\x5a\x63\x97\x7d\x33\x0e\xb7\x17\x69\x8c\x19\x28\x45\x37\xd0\x5a\xf2\xaf\x4b\x56\xc0\x11\xfd\xe7\x94\x01\x9b\x72\x3d\xd2\x66\x38\xb8\xd7\x6b\x3c\x48\xad\xa6\x13\x55\xd2\xe8\x46\xa2\xaa\x62\xaa\x59\x31\x05\x15\x53\x83\x78\x88\x1b\x0a\x9b\x96\xf6\x8c\xf0\x4b\xb2\xcd\xff\x75\x79\xa5\x26\x10\x73\x72\x72\x51\x00\x9c\x2e\x8c\xd0\x55\x3e\xcc\xf3\x31\x61\xb6\xc2\x4f\x2d\x96\x1e\xab\x4c\xa6\x37\xe1\x82\xa7\x2f\xa6\x81\x01\x92\x6e\x4b\x70\x26\xcc\xe7\x3c\xc5\xeb\xe1\x5a\x2f\x12\x4b\xbe\x47\xc8\x74\xc9\xc4\x53\x2b\x62\xc3\x12\xe9\xfa\x23\xf0\x62\x42\x58\x68\xf6\x41\x65\x0e\xa1\x15\xb1\x2b\x46\x37\x3a\xa9\xb5\xb8\xce\xc6\xc6\x69\x3b\xfd\xdc\xcb\x26\xde\x14\x72\x6d\x4d\xe5\xb1\x4b\xb6\x98\x10\x61\x3c\xf1\xb5\x82\xfb\x45\x5f\x08\xb1\x20\x63\x23\xca\x6f\x83\x57\xe1\xfe\x61\x05\x99\x7c\x59\x9f\xb0\x0e\xf7\xae\xdb\x90\x36\x97\xa6\x0e\xb0\xf1\x97\x6f\xef\x66\x24\xdd\xbf\xbc\x5c\x2c\x66\xe8\x5a\xc4\xad\xbb\x5c\xec\x35\x03\xd9\x7d\xce\x3d\x00\x95\xc3\x79\xc6\x17\x80\x97\x39\x69\xd3\xfa\x23\x54\x92\x23\x26\xec\x31\x31\xb0\x94\x7c\xcc\xfe\x38\xb6\xbd\x1b\x0e\x3b\x03\x95\xd1\xcf\xfc\x9c\xe4\xe1\xae\x6a\xd6\x3f\x4b\x70\x5d\xb9\xa3\x43\xf2\xd7\xef\x0e\xd2\x97\xbb\x8d\x11\xb6\x5a\x2f\x61\xcd\xcf\x6e\x8c\x3d\x08\x22\xe0\x6b\x40\x5f\xae\xce\xba\xe2\xfe\x2c\xe5\xca\xf2\xf3\xbb\xc0\x5e\x64\x3d\xd3\x5f\x06\x44\xe4\x06\x23\xdd\x08\xb5\xcf\x66\xf0\xd3\xda\xc1\x24\x00\x51\xe9\x14\xbe\xd9\x12\xf8\x85\x84\xfc\x13\x5e\xbd\x82\x5a\x28\x87\xe7\x0c\x9a\x19\xb5\xd6\x81\xf1\xae\x87\x61\x8b\xe5\x3e\x73\xd9\x85\x04\xcc\x8e\x59\x1a\x0f\xd3\x51\x2b\x09\x26\xbf\x9c\xee\xff\xa3\xe7\x13\x3b\x97\xac\xc9\x51\xc3\x94\xf1\xf2\x91\x29\xe3\x75\x18\x2d\x86\x99\x21\x0d\x19\x8a\x26\x38\xbf\x13\x34\xd6\x01\xfe\xd6\x09\x15\xfe\x9a\x69\x15\x33\x63\xc6\xfd\x13\x87\xa9\x78\xad\x0a\xae\xc5\x52\x0a\xd5\xa3\x21\xac\x37\x58\x1b\x8b\x6b\xe6\xc6\xb1\x43\x85\xea\x8a\x87\x0e\x37\x02\x7c\xed\x3e\x27\x3c\xde\x82\x6e\x70\x2b\xb5\x26\x12\x39\xf9\x64\x30\x7c\x4c\x98\xd9\xfd\x04\xdf\xbe\x78\x01\x41\xcb\xcb\x93\x77\x0b\x78\xfe\xb0\xdf\xff\xd6\xe7\x4f\x72\xe6\x78\xba\x4b\xf4\x7b\xf0\x71\x6b\x71\xcf\x37\xf9\x69\xb9\x08\x6c\x7d\x3a\xed\xa5\xf7\xe7\xc2\x71\xff\x54\x4a\x2e\xaa\x8a\xe8\xf8\x70\x60\x64\xe5\x59\xec\x4f\x4a\xff\x73\x08\xf9\x1c\x8e\x4f\x41\x9c\x88\xaa\x73\x68\xfd\x70\xa9\x5d\x1a\x5d\x5a\xf4\xb1\x4b\x45\xf7\x0c\xd7\xa3\x81\x3e\x48\xd7\x4f\xc9\x53\x79\x11\xb2\x47\xec\xb7\xa7\xcc\xe9\x9e\x3a\x4a\x7b\x42\xc1\x91\x2d\x2b\xe9\xde\x6a\xe7\x39\xf0\x79\xa3\x59\x5c\xc3\x7c\xf4\xbf\x13\x9a\xa8\x65\xf2\x3e\x7f\x72\x28\x4d\xd3\x0a\x3f\xfa\x70\x47\xf6\x9d\x19\xde\x4f\xaf\x78\x59\x91\x71\x06\xa6\x39\x3e\xbd\x98\x99\xe3\xbd\x39\x33\xc5\xa7\xbb\xe0\xd1\x0c\x3f\xb9\x0e\x66\xa9\x0f\x4d\xf0\x70\xbe\xec\x3f\xb3\x90\xfe\x3f\xbd\x3b\x31\x71\xf1\xbb\x6a\xcb\x75\xcd\xa3\x45\x35\xa4\xd3\x83\xd8\x36\x29\x26\xbe\x62\xc4\x1f\x88\x23\xc4\x3a\x52\xca\x1c\x1c\x8f\x54\xe1\x33\xa3\x89\x6b\xb2\x06\xc2\x39\xb8\x13\x54\x7e\x27\xb7\xe1\xf0\x48\x4d\x4d\x8f\xbc\xfc\xec\x1b\xad\x33\x57\x53\xdf\xac\xbe\xb9\x86\x0b\x22\xd6\x1a\x0f\xea\x18\x0f\x8a\xfe\x08\xfe\x64\xe2\x3b\xd6\xf8\xbc\x9b\x20\x1f\xf2\x6e\x12\x00\x7b\xd3\x8f\x96\x3b\xcc\x39\x3f\x8e\x3e\x43\xf5\x1f\xaf\x4e\xc6\xae\x31\x41\xce\x79\xf1\x2f\xb7\x4c\x0b\x06\x83\x67\xec\x8f\xb6\x2b\xd4\x5b\xbf\x83\x97\x40\x26\xff\x48\xa6\x49\x5d\xc9\x92\xe2\x74\x20\x65\x26\x1f\xd4\x93\x9a\xa3\x2f\xf3\xf1\x93\xbd\xbb\x38\x6f\xf3\x17\x48\x8e\xb9\x39\x74\x36\x29\xf6\xc9\x33\x3d\xd7\x9a\x47\xdf\x27\x79\xab\xc7\x12\x4a\x93\x91\x64\x4e\x96\x7e\x2c\x08\xf0\xda\xdf\xeb\x37\xc2\x97\xbb\x58\x5a\x2e\x7c\xa9\x3d\x41\xb7\x2f\x92\x89\x27\x71\xf8\x31\x7c\x8c\xf2\x26\x7c\x9b\x12\x93\xff\x77\x23\xbb\x7f\x98\x49\xc1\xf8\xf9\x39\x5e\x8e\x9c\x9d\xf5\xce\xcc\x77\xfd\x67\x86\xd1\x7d\x7f\xdf\x8b\x12\x08\xf5\x6c\x94\xd3\xed\x99\x03\x6f\xbc\x50\xcc\xba\xd5\x71\x36\xe0\x64\xc9\xe5\xbf\x82\x98\xa7\x74\xd6\xd3\x5e\x96\x70\x77\x5c\x43\x2b\xb2\x5e\x48\xed\x42\xfe\x8c\xda\x5a\xb6\x35\xbc\x4c\xca\xbf\x8c\xf1\xfa\x3e\xdc\x8e\x26\x7e\x37\xfe\x0e\xd8\xe9\xc8\x2d\xa7\x86\x4b\x07\x5b\x0e\xae\x0d\x54\x93\x22\xfa\x7f\x79\x8e\x70\xf7\x9b\x7c\x10\xcc\x14\x48\x6d\x6f\xa2\xf2\xc9\xfd\x75\x68\x63\x61\x55\xde\xc7\x52\xc6\xdc\xff\x27\x00\x00\xff\xff\x47\xdb\xa6\xf0\xed\x24\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4d\x93\xdb\xb8\xd1\xbe\xf3\x57\xf4\xeb\x3d\x78\xb4\xaf\xac\xd9\x43\x2a\x87\xa9\xd8\x5e\x7b\xed\x49\xf9\x90\x54\xca\x1e\xaf\x0f\x49\x2a\x82\xc8\xa6\x84\x35\x08\x70\x01\x50\xb2\x32\x35\xff\x3d\xd5\x0d\x80\x24\x28\x6a\x66\xbc\x59\xc7\x97\xd5\x90\x40\xa3\x3f\x9f\x7e\x1a\xdc\xcb\xef\xbf\x2f\x8a\xef\xe0\x66\x87\x70\xad\xcc\x01\xae\x3b\xbd\x95\x1b\x85\x70\x63\x3e\xa3\x06\xe7\x85\xae\x84\xad\x8a\xe2\xbb\xef\x60\x9d\x5e\xf2\xbb\x35\x94\x46\x7b\x2b\x4a\x5f\x14\xbc\x7d\x7e\x27\x48\x07\xda\x80\x32\x7a\x8b\x16\x84\x06\xa9\x3d\xda\x5a\x94\x58\xf8\x9d\xf0\x20\x94\x82\x3a\x6d\xf5\xbc\x35\xc9\x75\x70\x30\x9d\xaa\x60\x27\xf6\xf4\x8a\x9e\xd7\xc6\x36\xe0\xcd\xaa\x28\xde\xd5\x20\xa0\x73\x68\x1d\x1c\x84\xf6\x8e\x16\x54\xd8\x2a\x73\x04\x01\x1a\x0f\x13\x59\x4b\xf0\x3b\x94\x76\xd0\xb9\x32\x48\x8a\x79\xd0\x88\x15\x6d\x96\x4d\xab\xb0\x41\xed\x69\x25\x64\xa6\x0e\x3a\x2f\x61\xd3\xf9\x28\x8a\x0f\x70\x45\x65\xce\x88\xe8\x37\x39\xa8\xb0\x96\x1a\x2b\x90\x1a\xfc\x4e\xba\x5e\x8b\x55\xf0\xeb\xcf\xa2\x53\x7e\x0d\x16\x9d\xe9\x6c\x39\xda\x59\x14\x6f\x45\xb9\x9b\xfa\xa7\x5f\xe7\x8f\x2d\xf2\xe1\xee\xf4\xf4\xf3\x42\xe3\xa1\x7f\xb3\x66\x2f\x2b\xb4\xeb\x25\xac\xdf\x63\x89\x72\xcf\xbf\x85\xae\x60\xfd\x5a\x28\xa1\x4b\x9c\xdb\xed\x38\xda\x6e\x62\x5e\xa9\x84\x45\x68\x2d\x3e\x2b\x8d\xae\xa4\x97\x46\x3b\x16\xd5\x1a\xe7\xc7\xcf\x38\xe6\x16\x9d\xb7\xb2\xf4\x05\x29\x8a\x5f\xb0\xec\xe8\x25\x98\x9a\x35\xaf\x3b\x5d\x86\xc5\xec\x2e\x04\xb6\x64\xc5\xe7\x1e\x81\xce\x71\xd8\x0a\x2b\x3c\xc2\x06\x4b\xd1\x91\x2e\x1e\xb6\x72\x8f\x8e\x97\x53\x52\xf0\x0f\xb1\x91\x4a\xfa\x23\xf9\xc6\xed\x84\xc5\x42\x80\xc5\x1a\x2d\xea\x92\xf3\x29\x84\x91\xa5\x07\xbd\x8c\x56\x47\xc0\x2f\xad\x71\x51\x54\x2d\x51\x55\x6e\xd0\xa8\x90\x1a\x8c\x46\x30\x16\x1a\x63\x31\x69\x3c\xb8\x82\x12\x93\x72\xda\x99\xa8\x50\xc8\xd0\x89\x36\x8d\xf8\x8c\x50\x76\xce\x9b\xa6\xf7\x70\x74\x4d\x1f\x44\xf2\x4d\xee\x65\x4a\x70\x03\x7b\x61\xa5\xe9\x68\xb5\xd4\x5b\x07\x07\xe9\x77\x2c\x3e\x64\xe3\xaa\xb8\x36\x16\xf0\x8b\x20\x31\x4b\x10\x50\x8b\xae\x44\x0f\xa5\xd0\xb0\xc1\x41\x3a\x56\xb0\x39\xa6\x82\x92\x7a\x5b\x04\x77\x40\x4a\x8a\x2c\x5b\xbe\xbf\x2c\x0a\xd9\xb4\xc6\x7a\xf8\x59\xe2\xe1\x3d\x3a\xa3\xf6\x68\xa1\xb6\xa6\x81\x27\xe3\x47\x4f\x8a\xe2\xf2\xf2\x32\x2f\x1e\x7a\x92\x3d\x8d\x00\xd1\xeb\x22\x62\xb6\x58\x1c\x01\x85\xc5\x5f\x3b\x69\xe7\xca\x2a\x2f\x06\x96\x3c\x28\x0b\x9f\x10\x9c\x97\x4a\x05\xd0\x90\x1e\x84\xcb\x40\x07\x76\x68\x87\xbc\xf1\xfc\x17\xa7\x94\x69\x38\x73\xea\x4e\xb1\xc8\xce\x87\x68\x35\xe8\x77\xa6\x8a\xc1\x69\x84\x3e\x42\x6b\xcd\x2f\xc8\xe0\x44\xc7\x84\xc3\x08\x81\x48\x53\x3e\xd4\xe8\x09\xd6\xb8\x25\x8b\x8c\xc8\x11\x52\x78\x73\x24\x63\x1b\x14\xda\xf5\xb6\xae\x18\x0c\x43\x1a\x0c\x4f\xe9\x37\x3f\xeb\xa3\x1c\x6c\x4e\x4e\x71\x59\xb9\x0f\xd0\x21\xca\x12\x9d\xbb\x10\x4a\x2d\x7a\x4d\x46\x7e\xc8\x62\x74\x95\x07\xf6\xb6\x28\x00\x00\x2e\x2f\xe1\x95\x06\xd4\x5e\xfa\xe8\xff\xda\x58\xd2\xd1\x1c\xa4\xde\xf2\xb1\x94\x7e\x95\x15\x07\xa1\xb8\x16\x38\x07\x43\x5e\x88\x50\x58\x2c\x68\xac\xca\x58\xdc\xa7\xb8\x3b\x1d\x77\xc9\x7d\x08\xf7\x21\xd4\xc1\x0d\xd8\x48\x4f\xe9\x7a\xd8\xa1\x4e\x07\x90\x03\xd3\xc9\xfa\x81\xe3\xf6\xe3\x83\xf4\x85\x68\x4c\xa7\xfd\x15\x7c\xbc\x96\x5f\xfe\xf8\x87\x25\x43\xe8\x15\x7c\xf0\x56\xea\xed\x92\x45\x5d\xc1\xab\xaa\xb2\xe8\xdc\xcb\xf0\xf7\xc7\x8f\xef\xde\x5c\xc1\xc7\x77\xda\xd3\xfa\xfe\xd8\xf1\xe3\xc5\x6f\x31\xa0\xc2\xd6\x38\xe9\x43\x8a\xdf\xaf\xfe\x9b\xb4\xf4\x01\xf5\xbd\x19\x2b\xef\x4d\xae\x7a\x7f\xe0\x19\xd5\xdf\xde\xa3\xf6\x0e\x61\xab\xcc\x46\x28\xd8\x74\x56\xc7\xaa\xa0\x65\xa5\x50\x8a\x56\x11\x0c\x09\xd0\x46\x3f\xfb\x37\x5a\x03\x9b\xd0\x40\xce\xd8\xf3\xba\xb3\xfa\x41\x63\xa6\xbe\x1f\x69\xfa\x7a\x24\x9d\xd0\x65\xec\xfc\x21\xc3\xd9\x92\x36\x00\x9a\x1b\xf8\x48\x0f\xe6\xff\xe8\xf7\x51\x5a\x6f\xd1\x7b\xca\xea\xa8\x39\x48\x86\x46\xc6\xa6\xec\x9c\xb1\x35\xa7\xdd\x31\xa9\x06\xb7\xbc\x38\x1d\xf0\x67\x0c\xe5\x9b\x84\xc7\xbe\xb1\xef\x63\x3e\x95\xbc\x97\x78\x20\x4d\x49\xad\x28\xf2\x62\x91\x3c\xc5\x3b\xee\x06\x77\x24\xd0\x7e\x8c\x3f\x90\xcc\x2a\x63\x7b\x8b\x10\x13\x50\x84\x9c\x90\xb2\x9b\x3a\x42\x12\x32\x2e\x6a\x6e\x76\x09\x78\x18\x03\x8e\x2d\xae\x4e\xce\x7d\xe7\xa1\xa7\x57\xf1\xc0\xfc\x2c\xa3\x61\xbd\x49\x1c\x83\x30\x78\xd9\xef\x1d\xb5\x74\x85\x82\x5a\xa8\x69\x63\x06\xb6\xc6\x39\x19\xbb\xa8\xa9\xa1\xb4\x28\x58\x89\xd8\x49\x63\xa8\xad\x1b\x54\x27\x8b\x89\x9f\x31\xcd\x23\xef\x0a\x2b\xd5\x31\xf2\x35\xc6\x68\x73\xd0\x29\x2a\xab\xaf\x89\x73\xdf\x28\x23\x56\xa6\x23\x93\x07\xc1\x75\x9b\x48\x62\xef\x75\x60\x12\x9d\x09\x21\xe2\x64\xd1\x77\x96\xa0\x22\x12\x94\xbe\xd1\x5b\x6c\xcc\x9e\x51\x23\x34\xfc\xd1\xc6\x4c\xc8\xcd\x88\x4a\x3d\x75\xd1\x1e\x50\xb8\x47\x45\x85\xbb\x8e\x06\x26\x68\x5c\xac\xb3\xdd\x1f\x0c\xb1\x2f\x63\xc9\x44\xc2\xa7\xb0\x5b\xfa\x25\xf3\x9f\xc0\xcb\x51\x52\xff\xec\xbd\x09\x66\x43\x8d\x11\xa4\x77\xa8\xea\x4c\x9a\x61\xe6\x1f\xa1\xbf\x1a\xb1\x30\xb6\x6a\x9d\x74\x58\xcf\x5b\x33\xd5\x94\x0b\x23\x39\x7a\x82\x22\x8b\x2b\xf8\xf1\x96\x3d\x76\x37\xaa\x41\xfa\x47\x4c\x74\xf2\x28\x36\xb9\xb5\x45\x17\xb9\x72\xcd\x6c\xcd\x44\x47\x53\x04\x60\x2f\x54\x87\x27\xdb\xc2\x96\xd5\xb8\x3c\xe1\xf9\x73\x88\xca\x9c\x2c\xa7\x7f\x4f\x3e\x0d\xcd\x32\xac\x83\xa6\x73\x9e\x78\x19\x1d\xe7\x44\x83\xc4\x56\x66\x70\x62\xe8\x75\x6c\xd9\x93\x13\xf1\x04\xd6\x33\x4d\x2e\xfc\x37\x01\x2b\x45\x85\x14\xbe\x39\xb6\x78\xb1\x58\xc9\x8a\xe2\x51\x4b\xb4\xa9\xef\xf1\x02\x73\xd0\x68\x5f\xae\x44\x68\x23\x63\x18\xe6\xd7\x5d\x27\xab\x93\x2e\x18\x9d\x41\xef\x16\x99\x6e\x77\x45\xfe\x6b\x04\x5a\x69\xe4\xf8\xef\x41\x2b\xf6\xb5\x19\xcc\x92\x3a\x86\xf2\x11\x98\xf5\x09\x13\x52\x48\x5d\xaa\xae\x42\x10\xd0\xcf\x2d\x41\x8d\x72\x87\xe5\xe7\x3c\x40\x11\xad\x7a\x29\x07\xec\xb9\x20\xf1\xff\xc7\xd0\xff\xe0\x86\xc0\xf1\x7a\x39\xc4\xd7\x2b\x93\x16\xcd\x73\xfd\x25\x28\xf9\x19\xc1\xb5\x4a\x72\x77\x69\xa0\x6b\x09\x3a\x7a\x21\x0e\x75\x15\x5e\xd0\xe8\x20\x6b\x2e\x3a\x0f\xad\x0a\x93\x0a\x3c\x1e\xed\x52\xb0\xa6\x68\x17\x5d\x0f\x5e\x7c\xc6\x01\xaa\x08\xbe\xe2\x1b\x82\x8c\x33\x61\xc8\xa6\xd8\xfb\xea\x9e\x95\xa2\x92\x8f\x32\x2f\x42\xb6\xa6\x32\x5f\xe4\x2a\x6d\xd1\x7f\xe8\x5a\x1a\x56\xb0\xe2\x05\x94\xee\xd4\x44\x28\x8e\x42\xa9\xe3\x08\x59\x95\x74\x9e\x6a\x6c\x1f\x46\x40\x5e\x18\xa9\x36\x13\xf0\x68\x34\xe9\xd1\x7a\xf7\x60\xa3\x9e\x39\x97\x9a\xf6\xed\x0d\x97\xdf\x6b\x63\xd4\x5d\xae\xeb\xfb\xa8\xc9\x61\x87\x8c\xa4\xc6\x72\x02\x32\xdb\x92\x7b\xea\x7a\x34\xe0\x4b\x17\x35\x08\x43\x1b\xbd\xcd\x8a\x27\x49\x7b\x95\xec\xe0\x5c\x15\x3a\xee\x02\x1a\x5a\x58\x90\xdb\x31\x6c\xff\x42\xa0\x13\xc1\xcd\xdb\x8e\x67\x91\x0a\xeb\x87\xb9\x88\x74\xa7\x16\x5e\x04\x6c\xa1\x9f\x8b\x60\xe3\xb4\xd0\x07\x62\x9b\x51\x84\x0a\x29\x18\xcb\xe0\xea\x21\xd3\x42\x67\xe1\x01\x7a\xb8\xee\xe9\xed\x5d\x26\x7e\xb5\x84\x1b\x2b\xb4\xab\xd1\x1a\xbb\xec\x9b\x71\xb8\xbd\x48\x63\xcc\x40\x29\xba\x81\xd6\x92\x7f\x5d\xb2\x02\x8e\xe8\xbf\xa6\x0c\xd8\x94\xab\x91\x36\xc3\xc1\xbd\x5e\xe3\x41\x6a\x35\x9d\xa8\x92\x46\xd7\x12\x55\x15\x53\xcd\x8a\x29\xa8\x98\x1a\xc4\x7d\xdc\x50\xd8\xb4\xb4\x67\x84\xdf\x92\x6d\xfe\xaf\xcb\x2b\x35\x81\x98\x93\x93\x8b\x02\xe0\x74\x61\x84\xae\xf2\x61\x9e\x8f\x09\xb3\x15\x7e\x69\xb1\xf4\x58\x65\x32\xbd\x09\x17\x3c\x7d\x31\x0d\x0c\x90\x74\x5b\x82\x33\x61\x3e\xe7\x29\x5e\x0f\xd7\x7a\x91\x58\xf2\x3d\x42\xa6\x4b\x26\x9e\x5a\x11\x1b\x96\x48\xd7\xef\x81\x17\x13\xc2\x42\xb3\x0f\x2a\x73\x08\xad\x88\x5d\x31\xba\xd1\x49\xad\xc5\x75\x36\x36\x4e\xdb\xe9\x67\x5e\x36\xf1\xa6\x90\x6b\x6b\x2a\x8f\x5d\xb2\xc5\x84\x08\xe3\x89\xaf\x15\xdc\x2f\xfa\x42\x88\x05\x19\x1b\x51\x7e\x1b\xbc\x0a\xf7\x0f\x2b\xc8\xe4\xcb\xfa\x84\x75\xb8\x0f\xdd\x86\xb4\xb9\x30\x75\x80\x8d\x3f\xfd\x78\x3b\x23\xe9\xee\xc5\xc5\x62\x31\x43\xd7\x22\x6e\xdd\xe6\x62\xaf\x18\xc8\xee\x72\xee\x01\xa8\x1c\xce\x33\xbe\x00\xbc\xcc\x49\x9b\xd6\x1f\xa1\x92\x1c\x31\x61\x8f\x89\x81\xa5\xe4\x63\xf6\xc7\xb1\xed\xdd\x70\xd8\x19\xa8\x8c\x7e\xea\xe7\x24\x0f\x77\x55\xb3\xfe\x59\x82\xeb\xca\x1d\x1d\x92\xbf\xfe\x70\x90\xbe\xdc\x6d\x8c\xb0\xd5\x7a\x09\x6b\x7e\x76\x6d\xec\x41\x10\x01\x5f\x03\xfa\x72\x75\xd6\x15\x77\x67\x29\x57\x96\x9f\x3f\x05\xf6\x22\xeb\x99\xfe\x32\x20\x22\x37\x18\xe9\x46\xa8\x7d\x36\x83\x1f\xd7\x0e\x26\x01\x88\x4a\xa7\xf0\xcd\x96\xc0\xdf\x49\xc8\x3f\xe1\xe5\x4b\xa8\x85\x72\x78\xce\xa0\x99\x51\x6b\x1d\x18\xef\x7a\x18\xb6\x58\xee\x53\x97\x5d\x48\xc0\xec\x98\xa5\xf1\x30\x1d\xb5\x92\x60\xf2\xcb\xe9\xfe\xdf\x7b\x3e\xb1\x73\xc9\x9a\x1c\x35\x4c\x19\x2f\x1e\x98\x32\x5e\x85\xd1\x62\x98\x19\xd2\x90\xa1\x68\x82\xf3\x3b\x41\x63\x1d\xe0\xaf\x9d\x50\xe1\xaf\x99\x56\x31\x33\x66\xdc\x3d\x72\x98\x8a\xd7\xaa\xe0\x5a\x2c\xa5\x50\x3d\x1a\xc2\x7a\x83\xb5\xb1\xb8\x66\x6e\x1c\x3b\x54\xa8\xae\x78\xe8\x70\x23\xc0\xd7\xee\x73\xc2\xe3\x2d\xe8\x06\xb7\x52\x6b\x22\x91\x93\x4f\x06\xc3\xc7\x84\x99\xdd\x8f\xf0\xed\xf3\xe7\x10\xb4\xbc\x38\x79\xb7\x80\x67\xf7\xfb\xfd\xaf\x7d\xfe\x24\x67\x8e\xa7\xbb\x44\xbf\x07\x1f\xb7\x16\xf7\x7c\x93\x9f\x96\x8b\xc0\xd6\xa7\xd3\x5e\x7a\x7f\x2e\x1c\x77\x8f\xa5\xe4\xa2\xaa\x88\x8e\x0f\x07\x46\x56\x9e\xc5\xfe\xa4\xf4\xbf\x86\x90\xcf\xe1\xf8\x14\xc4\x89\xa8\x3a\x87\xd6\x0f\x97\xda\xa5\xd1\xa5\x45\x1f\xbb\x54\x74\xcf\x70\x3d\x1a\xe8\x83\x74\xfd\x94\x3c\x95\x17\x21\x7b\xc4\x7e\x7b\xca\x9c\xee\xa9\xa3\xb4\x47\x14\x1c\xd9\xb2\x92\xee\x9d\x76\x9e\x03\x9f\x37\x9a\xc5\x15\xcc\x47\xff\x27\xa1\x89\x5a\x26\xef\xf3\x27\x87\xd2\x34\xad\xf0\xa3\x0f\x77\x64\xdf\x99\xe1\xfd\xf4\x8a\x97\x15\x19\x67\x60\x9a\xe3\xd3\x8b\x99\x39\xde\x9b\x33\x53\x7c\xba\x0b\x1e\xcd\xf0\x93\xeb\x60\x96\x7a\xdf\x04\x0f\xe7\xcb\xfe\x2b\x0b\xe9\xff\xd3\xbb\x13\x13\x17\xbf\xa9\xb6\x5c\xd7\x3c\x58\x54\x43\x3a\xdd\x8b\x6d\x93\x62\xe2\x2b\x46\x7c\x4b\x1c\x21\xd6\x91\x52\xe6\xe0\x78\xa4\x0a\x9f\x19\x4d\x5c\x93\x35\x10\xce\xc1\x9d\xa0\xf2\x3b\xb9\x0d\x87\x07\x6a\x6a\x7a\xe4\xc5\x57\xdf\x68\x9d\xb9\x9a\xfa\x61\xf5\xc3\x15\x3c\x21\x62\xad\xf1\xa0\x8e\xf1\xa0\xe8\x8f\xe0\x4f\x26\xbe\x63\x8d\xcf\xbb\x09\xf2\x21\xef\x1b\x38\x6a\x6e\x26\x9b\x75\xd0\x3e\x51\x87\x9e\x77\xcc\x23\xd1\xc8\x55\x33\x9e\x1b\xbc\x16\xea\x8a\x5c\x36\x92\xcc\x8e\xeb\x29\x72\x80\x9a\xfe\x8e\xbb\x11\xbe\xdc\xc5\x34\x73\xe1\xab\xe5\x49\xa5\x7f\x93\xa8\x9c\xc4\xe1\x2f\xe1\xc3\x8c\x37\xe1\x3b\x8d\x98\xfc\x7f\x0c\xd9\x2c\x3e\xfa\x2a\x38\xf9\x14\x1b\x2f\x0a\xce\xce\x3d\x67\x66\x9d\xfe\xca\x7d\x74\xf7\xdd\xe3\x72\x2a\xc8\x9e\x99\x31\x24\x3e\x75\xe0\x8d\x17\x8a\x19\xa8\x3a\xce\x06\x9c\x2c\xb9\xf8\x57\x10\xf3\x98\x2e\x73\x8a\xeb\x09\x83\xc6\x24\x73\x45\xd6\x0b\xa9\x5d\xc8\x9f\x11\xc4\x67\x5b\xc3\xcb\xa4\xfc\x8b\x18\xaf\x37\xe1\xa6\x30\x71\x9d\xf1\x37\xb1\x4e\x47\x9e\x35\x35\x5c\x3a\xd8\x72\x70\x6d\xa0\x5d\x14\xd1\xff\xcb\x73\x84\x3b\xc1\xe4\xe3\x58\xa6\x40\x6a\x01\x13\x95\x4f\xee\x72\x03\xa4\x87\x55\x39\xa6\xa7\x8c\xb9\xfb\x4f\x00\x00\x00\xff\xff\xcc\xcc\xa9\x14\xf9\x23\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -114,7 +114,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x29, 0x2, 0x9f, 0xbe, 0x25, 0xaa, 0x2b, 0x53, 0x2b, 0xb5, 0x28, 0x86, 0xa7, 0xad, 0x88, 0xcb, 0x99, 0xee, 0x4, 0x9d, 0x52, 0xd3, 0x6d, 0x73, 0x7, 0xed, 0x51, 0x93, 0xb, 0xe4, 0xc0, 0xb9}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xeb, 0xd1, 0x81, 0xd9, 0x42, 0x9c, 0xb, 0x63, 0x1f, 0x72, 0x9f, 0x84, 0xc9, 0x92, 0x9e, 0x6d, 0x27, 0xea, 0x15, 0x4b, 0xc4, 0x81, 0xc9, 0x32, 0x36, 0xe4, 0x21, 0xdd, 0xd5, 0x63, 0x5, 0xad}}
 	return a, nil
 }
 
@@ -178,7 +178,7 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\xdf\x73\xe3\xb6\xf1\x7f\xd7\x5f\xb1\x5f\x67\xe6\x7b\x76\x46\x27\xf7\xa1\xd3\x07\xcf\xa4\x97\x4b\x1c\x77\x34\xd3\x3a\x9d\x8b\x2e\x79\xc8\x64\x22\x88\x5c\x49\xe8\x91\x00\x0f\x00\xa5\xa8\x8e\xff\xf7\xce\x2e\x7e\x10\xa4\x48\x9f\x9d\x34\xf5\x43\x72\x02\x89\xdd\xc5\xfe\xfc\xec\x82\xd7\x9f\x7f\x3e\x9b\x7d\xf6\x19\xac\xf6\x08\x77\x95\x3e\xc2\xbd\x56\xaf\xef\x5a\xb5\x93\x9b\x0a\x61\xa5\x3f\xa0\x02\xeb\x84\x2a\x85\x29\xf9\xc5\xf5\xbd\x56\xf1\x39\x3f\x5e\x43\xa1\x95\x33\xa2\x70\xb3\x19\x51\x91\xca\xa1\xd9\x8a\x02\xc1\xed\x85\x03\x51\x55\x63\x34\xe3\x1e\x0b\x76\xaf\xdb\xaa\xa4\x85\xad\x36\x35\x38\xbd\x98\x2d\xb7\x20\xa0\xb5\x68\xe0\x28\x94\xb3\xe0\x34\x94\xd8\x54\xfa\x04\x02\x14\x1e\xe1\xfe\x6e\x95\x08\xcc\xc1\xed\x51\x9a\xf4\x3b\xd2\x93\x75\x53\x61\x8d\xca\xb1\x50\xee\xd4\xa0\x85\x12\xb7\x52\x61\x09\x7b\x34\x18\x0e\x73\xb7\x5a\x83\x41\xab\x5b\x53\x64\xa2\xfb\x93\x14\xda\x60\xf7\x90\x48\xf8\x23\x19\x6c\x0c\x5a\x24\xc9\x84\x62\x61\xa4\x22\x29\xc0\xd6\xc2\xb8\x24\xc9\xc2\xb3\xf8\x5a\x57\x15\x16\x4e\x6a\xb5\x86\x77\x13\x9c\x3a\x26\x44\xdf\x3a\x6d\xd0\x06\x15\xbc\xb2\xe1\xb8\x91\xca\x62\xb6\x74\x20\x55\x51\xb5\x25\xbf\xb4\xc5\x23\x6c\x5b\xc5\xcf\x58\x55\xa2\x22\x3b\x92\x3c\xfa\xa8\xd0\xd0\x12\x0a\x2b\xab\xd3\xac\xd6\x07\x04\x47\xfa\xb7\x24\xb2\x50\x25\xe8\xd6\x81\xde\xf2\xdb\x39\x0b\x96\xfc\x9f\x46\x1f\x64\x89\x66\xcd\x6f\xae\xdf\x61\x81\xf2\x40\x3f\xcf\x15\x66\xf9\x1c\x36\x5f\x81\x12\x8b\x4a\x18\xcc\x84\x3b\x4a\xb7\x07\xab\x6b\x84\xc6\x20\x13\x6d\xb4\x65\x85\x95\x92\xdf\x98\x05\xfd\x7e\x6c\xa5\x41\x16\xaa\xd3\x1e\x9d\x63\xab\xf9\x6c\x05\x1a\x27\xa4\x02\x25\x6a\xa9\x76\x4c\x68\x83\x7b\x71\x90\xda\x24\x67\xb5\x0b\x16\xe9\x04\x24\x82\xc5\x46\x18\xe1\x10\x36\x58\x88\x96\xc4\x74\xb0\x93\x07\x16\xf2\x80\x95\x6e\xd0\x58\x66\x27\x36\xb2\x92\xee\xe4\x3d\x8e\x9c\xa5\x93\xde\xcb\x56\x08\x45\x66\x01\xa1\x4e\x99\x47\x24\x67\x63\x2a\xb6\xaf\x98\xaf\x4e\xd0\x5a\x92\x33\xaa\xcd\xb2\xc4\xdd\x2b\x73\x36\xb4\x25\x3b\x90\xa9\xfb\x5e\x64\x99\xa5\x45\x55\xce\x68\x97\xf1\x46\x88\x56\x6c\x10\xcd\x6b\xa7\x5f\xd3\xff\xe7\xac\x5f\x32\x28\xa9\x42\xed\xe8\x10\xcc\x84\xa2\x82\x55\x2f\xa0\x40\xa2\x5a\x41\x85\xe5\x0e\xcd\xec\xcc\x61\x57\x9a\x59\x45\xbf\x26\x6f\x52\xda\xed\xd1\xb0\x88\xf3\x14\x96\x1c\x62\x96\x8e\x7d\x62\xd2\xa5\x11\xde\xe5\xee\xef\x56\xb3\xad\xd1\x75\x88\xca\xce\x7c\x1c\xa7\x0a\x0a\xca\x07\xf4\x62\x89\x8d\xb6\xd2\x25\xfd\x82\x56\x3d\x5e\xaf\xec\xac\x6f\xfb\x42\x93\x92\x9d\x77\x0b\x67\x84\xb2\x5b\x34\x8b\xd9\xec\xf3\xeb\xd9\x4c\xd6\x8d\x36\x0e\xbe\x97\x78\xa4\x10\xab\x0e\x68\x80\xa5\xb8\xc8\x97\x2e\x66\xb3\xeb\xeb\x6b\x4e\x75\x35\xb9\x4f\x9e\x46\x16\xf0\x2d\xb3\xce\xd7\xc8\x61\xab\x8a\xf7\x04\x06\x6c\xb7\x68\x6b\x16\xa4\xe7\xef\x3e\xbb\x70\x32\x90\xb6\x4b\x8b\xd7\xd7\xd7\x33\x51\x14\x68\xed\xa5\xa8\xaa\xab\x2e\x55\x75\xa9\x72\x98\x54\x6f\xfa\x67\x79\x98\xcd\x00\x00\x48\x92\xb7\x0a\x50\x39\xe9\x82\x0c\x5b\x6d\x7c\xc0\xb3\xc1\xf7\x98\xac\x21\x2a\x8e\x6b\xef\x26\xac\x0b\x01\xdf\x8b\xb6\x72\x4c\x29\x17\x27\x27\xf7\x43\xd8\xfd\x3c\x7e\x6d\x53\x0a\x17\xdc\xd9\xff\x1b\xf0\xc0\x51\xc0\xaf\xb1\x86\x9f\x64\xf7\x9e\x37\x75\xcc\x86\x9c\x42\x02\xa3\x10\xdb\x19\x2e\x05\x51\x40\xe6\x19\xb6\x3f\xc5\xe1\x5b\xa2\xd0\x31\xf8\xe6\xe0\x0d\x27\xdc\x79\x05\xc2\x5a\x3a\x38\x92\x93\x92\x1e\x6b\x74\xa2\x14\x4e\x90\x16\x63\x96\xb7\xe1\x94\x65\xa2\xb7\xf4\x19\x41\xab\xea\x04\x1b\x64\x12\x0e\x4b\xd8\x9c\xd8\xd1\xa3\x4d\xd6\xb4\x7e\x7f\xb7\xf2\xf2\x96\xeb\xe4\xf4\x89\x8e\x0f\x4f\x05\x6b\x7e\x45\x6c\x2a\x5c\xc7\x63\x50\xcc\x6f\xd1\xa0\xa2\xf2\xa0\x63\x90\xf9\x33\x1c\xc5\xb9\x48\xe4\xde\xb9\x06\x1a\x13\x6c\x62\x1b\x51\xd7\x94\x67\xd8\x1b\x3a\xf9\x64\x58\xe9\x62\xcf\xbe\xca\x8a\x81\x4d\x94\x63\xf2\xe4\xd3\x16\xba\xf4\xce\x46\x85\x24\x7b\x1d\x74\x30\xd8\x5e\x10\x4b\x2c\xa4\xa8\xba\xa3\x78\x33\x25\x8a\xe1\x3c\x19\x33\xd2\xfb\x5e\x97\x3e\xf4\x48\xa5\xa4\x0b\x7a\x6f\x87\x3e\xe0\xce\xb5\x92\xa8\xf5\x55\xc0\x96\xae\xc5\x07\xb4\x94\xed\xad\xf6\x52\xb9\xbd\x34\xe5\xeb\x46\x18\x77\x02\xa9\x4a\xfc\x85\x14\x42\x26\xac\xb5\x92\x8e\x65\x8f\x4e\x9c\xc8\x91\xab\x7d\x6c\xd1\x9c\xf8\x61\xd0\x77\xe7\x20\x31\xdd\x79\x6f\xed\xeb\x6e\x11\x89\x9c\x3b\xe9\xa1\x0b\x80\xf2\x52\x96\x37\xf0\x7e\xa9\xdc\x5f\xfe\x3c\x87\xb6\xcd\x7f\x31\xd1\x1b\x78\x5b\x96\x06\xad\x7d\x33\xe7\xaa\x73\x03\xdf\x39\x23\xd5\xee\xea\x8c\xec\x41\x7a\x38\x00\x7d\x97\xbb\xfc\x19\xd4\xd6\xbd\xc3\xed\x0d\x88\xd6\xed\x2f\xfd\x32\xfc\xea\xe3\xe3\x0a\xfe\xff\x61\x98\x81\x16\xf7\x77\xab\x47\x4f\xff\x81\xff\x4b\x7f\x1c\x22\xb9\xcc\x9e\xe8\x42\x96\x51\xec\xb0\x40\x3f\x92\xec\x61\x8d\x7f\xbd\x59\x08\x7f\x92\x78\x90\xf0\x70\x87\x6e\x75\x6a\xf0\xf2\x6a\x21\x4b\x32\xf1\x56\xa2\xf1\xdc\x1f\x67\xa3\xe1\x2b\x6d\x8a\x36\x8e\x59\xe1\x73\x1d\xad\xc7\x14\xa8\xe6\x69\xa3\x54\xa5\x2c\x84\x8b\x01\x49\xac\xe7\x10\xa5\x9e\x67\x60\xe9\x0c\x0b\x05\x6e\x3e\xd6\x12\x65\x36\xfa\xbc\xe7\x21\xb4\xed\xfd\xfb\xe5\x6d\x24\xd1\x81\xa4\xd1\xbd\xd0\xda\x56\x54\xd5\xa9\x17\x3c\x7d\x77\xe1\x04\x73\x26\x8f\xb4\xa0\xb4\xf3\xf8\x8d\x4c\xaf\x5b\xe5\x5e\x59\x06\x8d\x62\x87\x73\x58\x13\xf9\x75\x8a\x9f\xb5\x92\xd5\xfa\x53\x6e\x18\xb3\xaa\xba\xcc\xbd\x8b\x34\x34\xe5\x96\xc4\x24\xf7\xca\x26\x60\x45\xd2\x40\x7c\xeb\x6a\xd4\x70\x53\x56\x0b\x80\x00\x4b\x46\x1d\x63\x4a\x81\xa5\xb7\x22\xda\xdf\x65\xc4\x9c\xd1\xd3\x26\xcc\xb5\x7e\xbe\xf7\xbf\x66\xab\xf9\xcb\x8c\x75\x1b\x65\x78\xb6\xb1\x9c\xce\x4d\xd5\xc9\x37\x61\xac\xa5\x6f\x2e\x4a\x2e\xc1\x1b\x51\x7c\x38\x12\x9e\x7e\x4d\x00\x4c\x38\xe9\x11\xf2\x99\x6c\xe7\x3d\x01\x2c\xef\xef\x56\x37\x5c\xac\x1e\x1e\x73\xea\xbd\xfe\x30\xd4\x33\x0b\x75\xeb\x5b\x81\xd0\x05\x4e\x2a\x61\x84\x11\xf3\xc9\x01\xd3\x62\x88\x9c\x22\xf3\x56\xc9\x8f\x2d\xc2\xf2\x96\xcf\x16\x01\x6b\x7c\x23\x67\x53\xa1\xcb\x34\xda\xa7\x32\x9e\x86\x44\xeb\x74\x2d\x9c\x2c\x38\xac\xf1\xc0\x05\x43\xd6\x08\x22\x93\x99\x5c\xc8\x3a\xa3\x4f\xa1\x62\xe7\x25\x8b\xfb\x09\xc9\x0a\x10\xd1\x7d\x64\xb4\x85\x1c\xc0\x12\xef\x0b\x56\x93\x67\x06\x37\x53\x88\xf4\xa6\xe0\xb6\x54\x98\x5d\xcb\xed\xef\xd8\xe1\xfc\xe6\xd8\x8d\xde\x46\x89\xb2\x32\x04\x5f\x80\xc5\x2a\xcf\xec\xfd\x75\x5a\xbb\xea\x6b\xa5\x30\x28\x1c\x7e\x53\x37\xee\x94\x21\x77\xbf\xca\x22\x21\x3d\xea\x75\x74\x41\x83\xb1\xc6\x73\xe3\x7b\x66\x95\x18\x9d\x06\x5d\x6b\x14\x57\xf3\x88\x1b\x44\x55\xa1\xc9\x6a\x3b\x9e\x3c\x1c\x3b\x32\x60\xb3\x3d\x12\x5f\xfa\xfd\xf0\xb6\x13\x65\x98\x20\xb8\xd3\x0a\x32\x48\x3b\xe9\x1a\x54\x5e\x47\x0f\x7b\x79\x75\x03\x5f\x3e\x74\xbf\x1f\xb3\xd2\x49\x7f\xdc\xed\xf6\x97\xe8\xcf\xa0\x6d\x2b\x47\x25\xf0\xef\xa8\x76\x6e\x7f\x79\x05\x5f\x7c\x01\x7f\xba\x81\x0b\x9e\x42\x30\xa7\x32\x17\x96\x43\x85\xe1\x66\xe3\x4e\xff\x77\xd1\x23\xf8\x38\xeb\xfe\xd5\x3b\xff\xdf\xd0\x59\x88\xdd\x17\x47\x5c\x04\x44\x7e\xc2\x50\x4a\x83\x85\xab\x4e\xa4\xbd\x29\xcd\x95\x92\x05\x10\xe6\xc4\xb0\xb8\xaa\xc0\xb6\x9b\xfb\xbb\xd5\x77\xf0\x01\x4f\x1e\xf7\x92\x13\x8f\x6a\x2d\x21\x93\x1d\xba\xb7\x07\x21\x2b\xb2\xfa\x77\x7e\x3b\x29\xee\x61\xc5\xd9\xcc\xbb\xd9\x50\x73\x41\x82\x87\xa7\x4e\xc7\x71\x96\x21\xe5\xd8\xc3\xf6\x4e\x79\x76\xb8\xaf\x34\x21\xef\x10\x2c\x96\xa7\x05\xba\xe1\x43\x56\xfd\x61\x4a\xe8\x87\x8b\xbd\xd6\x16\x7b\x24\xf6\xfa\x48\x4e\x19\xfd\xd3\xb6\x1b\xaf\xdf\x12\x1b\x54\x25\x61\x0e\xad\xe0\xc8\xc3\xb0\x1e\x9f\x50\x33\xfb\x89\xe0\x4e\x1b\xc0\x5f\x04\x35\x99\x73\x90\x5b\x58\x93\x42\xd7\x8c\xa6\x05\x1c\x44\xd5\xe2\x1c\x36\xad\x83\xb5\x2c\xd7\x50\x6a\xb4\xea\x95\x9f\x81\xb1\x80\xfd\x80\x14\x2a\x88\x0b\xc7\xbd\x2c\xf6\x5e\x01\xdb\xa0\x11\x1e\x5e\xe8\xa8\x59\xc9\xb5\xcb\x70\x86\x12\x70\x51\xe2\x96\x7a\xc5\x8b\x1e\xbd\xe5\x16\x36\x5e\x5b\xa1\x52\x85\x9e\xbe\x73\x26\xee\x0c\x7c\x04\x09\xb0\x52\xed\x2a\x2f\x16\x49\xf2\x2f\x72\x5a\xcf\xad\x47\x95\x36\x2e\x60\x45\x06\xda\x63\xd5\xd8\x10\xd5\x16\x8e\x7b\x4d\xac\xd4\x2b\x07\xb6\x35\xe8\x35\xe8\xe2\x48\xa7\xd2\xfa\x03\xa9\x96\xf2\x78\x4e\xaf\xef\xb9\x8d\x30\xa2\x0e\x48\x93\x82\x89\x7c\x2c\x56\xf7\x12\xad\x34\x58\x9e\xe5\x9a\xb0\x89\x72\x1e\xcf\x33\xcb\xb8\x21\x78\xc0\x46\x1b\xa3\x8f\xd3\x3c\x53\xb4\x58\x67\xda\xc2\xb5\x3c\x44\x0c\x13\xc3\x08\x40\x0d\x7e\x6c\xd1\x52\x58\x53\x58\x2c\x26\xd3\xcc\x0e\x9d\x0f\x91\x50\xeb\x57\x01\xf3\xa4\xaa\x0d\x37\x53\xd8\xfd\xcd\x78\x08\x29\x59\xcd\xfa\xb9\x62\xbc\x36\x6b\xa8\xb1\x94\xd4\x24\x74\x13\x85\x34\x48\x88\xf5\x2c\x47\xb1\x5d\xda\x7b\x49\xe9\x8e\x33\xc6\x7e\xa1\x86\x1f\x30\xb4\xe3\xb1\xdd\x8f\x73\x85\xd8\x6b\x45\xbc\x99\x91\x8a\xed\x29\x61\x08\xca\x53\x6a\x97\xb6\xe7\xa4\x03\xa5\xe0\x59\x82\xe7\x34\x5b\x3f\xa0\x73\x3a\x54\xc6\x4a\x5a\x87\xd4\xcc\xc5\xe7\x55\x20\x18\xa7\x56\xa1\x43\xec\x19\x3e\xc9\x6a\xb0\xd6\x07\x4c\xc3\xe1\x24\x73\x96\xc1\xa9\x9e\xf9\x97\x86\xd5\xac\x1f\x71\x8e\x43\x9c\xab\x3b\xf7\xd2\xdb\x13\xe1\x66\x6e\xd4\x69\xcb\xf2\x96\xe2\xd5\x43\x56\x43\x6f\x8d\x39\x72\x94\x8b\xb0\xde\xa8\x43\x27\xc1\x47\x24\x1d\x7a\x66\x9a\xbf\xa4\xd6\x91\xdc\x34\x52\xb8\xcc\x79\x05\x0f\xa5\x92\x48\xfe\xf8\xa2\x5a\x28\x4b\x2a\x81\x39\x35\xae\x85\x1d\x34\xef\xba\x29\xdf\x40\xc4\x92\xc8\x63\x78\x41\xa0\xcb\x0e\x02\x6d\x79\x7b\x71\xc6\x8d\x7d\x6c\xd8\xfc\x74\xe5\xf8\xac\x23\xf5\xa1\x97\x64\x8c\xd0\x28\x2c\xf8\x36\xc4\x77\x46\x0c\x92\x86\x1d\x6f\xbf\x49\xca\x70\x54\x2e\xd3\xe3\x0b\xc3\x33\xb8\xa4\x8d\x6e\xf4\xdb\xe2\x30\x0e\xf7\x87\x80\x39\x3a\xbc\xe3\x41\x4a\xf0\xe8\x3e\xc2\x64\x67\x16\x65\x99\xfb\xf2\xd7\xe7\x0e\x94\xe7\x63\x3f\xe2\x5c\x75\x2e\x18\xd8\x4c\xe6\xc1\xf0\xfc\x32\xec\xf4\x1e\x35\xc0\x9f\x9c\x2b\x9b\x46\x1b\x87\xe5\xfd\xdd\x6a\xc5\x57\x3e\xb1\x28\x0b\x8e\xe9\x38\x62\xf7\xd7\x41\x1d\x32\x30\xf1\xf4\xc4\xb7\x71\xcf\x83\x3f\x9e\x48\x2d\x9a\xc6\xf7\xac\x1b\xad\x2b\x14\x7c\xb5\x92\x86\x0d\x5c\x56\x65\x9f\x5e\xe7\xea\x85\xa4\x2e\x01\xac\x97\x9a\xf4\xf7\x49\xe4\x74\x76\xc2\x0c\x3a\x7d\xa5\x75\x35\x80\x45\xef\xc2\xf1\x63\xd2\xf0\x59\x82\x4d\xb4\x93\x07\x54\xa1\xe7\xb0\xe1\xe0\x01\xc2\x8d\x67\x00\x9e\x06\x8f\x62\x66\xbf\xb9\xbb\x13\x09\x03\xd5\xac\xe2\x83\x33\x2d\x12\xed\x00\x2c\xa6\xab\xf4\x5b\x95\x2c\x34\x61\x85\xa0\xe7\x11\x35\x77\x76\x24\xa9\x82\x7e\x87\xb5\xfe\x19\x08\x55\xda\xa1\x9a\xb3\xf2\x7b\xe5\x15\x3d\x8c\xcd\x77\xfe\xd2\x2a\x8d\xae\xbd\x12\x55\x61\xd0\x0d\x2e\x11\xf3\xe9\xe7\x06\xe3\x35\x59\xea\xf0\xd2\xfd\x02\x1d\x2c\xdd\x21\xbc\x20\x94\xbb\xd8\xbb\x49\xe5\x75\xfe\xdc\x00\x9f\x8a\xef\x70\x27\x29\x5d\x14\x73\xc2\x41\x3e\x15\xe1\x24\xe7\x70\xe8\xfb\x82\xa8\x1f\x1d\x52\x0e\x2b\x8b\xc1\x91\xc2\x92\x81\x8a\xfc\xfa\xc9\xd7\xfb\x70\xa6\xde\x5d\x6d\x77\x45\x3b\x42\x2a\x62\x8d\xe9\x5d\x1c\x54\x55\x4d\x55\x4e\x54\x47\x71\xf2\xe5\x68\x2b\xa9\xaf\x28\xd1\x3a\xa9\x44\xef\xec\x19\xf1\xee\xde\x86\x34\x9f\x24\xad\xa5\xb5\x3c\x22\xf7\xf3\xfb\xd6\x3a\x5d\x27\x8f\x27\x98\x42\x31\xb7\xc1\x0e\xcf\x8c\xd1\x26\x8a\x7b\x61\x4a\x0f\xfd\xc9\x41\xa5\xef\xbd\x07\xc0\x67\xbc\x54\x0e\x47\x4f\x2c\xe6\x13\x95\xd2\x3f\xef\x0a\xa5\xff\x1d\xc6\x75\x7a\xa2\x4a\x0e\xe7\x53\xcf\xa8\x93\xe7\x8d\x2e\x5f\xe6\xd6\xba\x55\x31\xe7\xfb\xa9\x5b\x17\x66\x53\xfe\x1b\xd3\x8c\x62\x53\xee\x18\x61\xf6\x66\xc7\x56\xfe\x1b\xcf\x07\x84\x9f\x4c\xdc\xb1\xb5\xbf\xa1\x2a\x3e\xd6\x99\xa7\x02\x15\x7b\xf4\xe5\xad\x7d\xbe\xb0\xc2\x18\x71\x8a\xe5\xed\xe9\x9d\x53\x12\x2e\x6f\xb9\x98\xfc\xe8\x71\xdb\x4f\x30\x1b\xf4\xc9\xd4\xf5\xd8\x89\x26\xfb\x59\xba\x5d\x76\xa8\x93\xef\xbb\x58\x9b\x8c\x6a\x25\xe3\xb3\x6c\x5c\xda\xa7\x32\x1f\x34\x8c\xdd\xad\x7c\x2c\x35\x41\x11\xdc\x95\xb2\x8f\x13\x9d\x46\x28\x59\x2c\x3e\xd5\x1c\xc6\x3e\x2f\x96\x08\xb5\x75\x04\x91\xcf\x84\xc8\x9a\xe5\xa8\x83\x02\x29\xd5\x2f\xa6\x6c\x92\xe6\x08\x63\x17\x78\x4f\x9b\xc3\xf7\x98\xd4\xf7\xfd\x9c\x77\x7b\xcf\x6e\xf6\x26\xd0\xf5\xa5\x47\xaa\x84\xad\x95\xac\xae\xe0\xd7\x5f\xe3\xd2\x9b\x00\xb9\x65\x79\x75\x03\x67\xfb\xe8\xef\xe2\x6b\xa1\x48\xab\x5e\x34\xb6\x62\x3a\x97\xd7\x60\x7e\xf7\x41\x3a\xe8\x5d\x5d\xa6\x3e\xa6\x16\xae\xd8\xc7\xee\x25\xdd\x62\x26\x3f\x78\xe6\x34\xeb\xe5\xc3\xc6\x20\x1a\x37\x07\x67\xe8\xe2\xa9\xf9\xe2\x0b\xa6\x88\x93\x3c\xfe\x37\xe3\x43\x9f\x85\xc9\x8c\x9c\x33\xd3\xca\xf4\x24\x31\x59\x65\x2f\x0e\xd8\x97\xdd\x77\x50\xfc\x1d\x43\x7c\xfd\xbc\x81\xfa\xc3\x46\x97\xd0\x47\x57\x77\x31\xde\xbb\x20\x74\xe9\xb3\xae\x74\x8f\xd0\x7d\x58\x91\xbe\xc7\x99\x9d\x19\x6e\x90\x2b\x57\x7d\x12\xa3\xe8\x2b\x7c\xda\x11\x6e\x73\xa7\xf2\x27\x7f\x5d\x91\x30\xf9\x8f\xf4\xaf\x9f\x32\x73\x8d\x58\x2f\x68\xaf\x62\xd5\xc1\x5f\x59\x6f\xff\x20\x05\x85\x92\x13\x66\x5e\x4a\xab\xd7\xdb\xf8\xf9\x9c\x6f\x77\xe3\xc1\xb3\xcf\x4c\xa2\x90\x17\xd3\x5a\x7c\x79\xd0\x44\x24\xdb\xa5\xe9\x1e\x82\xfe\x9d\xa3\xf9\x2c\x0b\xab\xad\x5b\xa5\x29\x5d\x9e\x8a\x07\x73\xca\xde\xa7\x06\x29\xf9\xfe\x71\x06\x9e\x0e\xd6\x4e\x62\xdf\x14\x8c\xa0\xd3\xf1\x50\x9e\x76\x84\x58\x84\xa3\x47\xfc\xb6\x50\x8a\x66\x7f\x9c\xfd\x27\x00\x00\xff\xff\xa3\x54\x4b\x49\xdd\x29\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x51\x6f\x23\xb7\x11\x7e\xdf\x5f\x31\x75\x80\xda\x0e\x74\x72\x1f\x8a\x3e\x18\x08\x2e\x97\x38\x2e\x04\x14\x4e\x71\xd1\x25\x0f\x45\x11\x51\xbb\x23\x89\x3d\x2e\xb9\x47\x72\xa5\xa8\x8e\xff\x7b\x31\x43\x72\x97\xbb\x5a\xf9\xec\xa4\xad\x1f\xda\x68\x77\x39\x1c\xce\x7c\x33\xf3\xcd\xf0\x6e\xbe\xfc\xb2\x28\xbe\xf8\x02\x96\x3b\x84\x7b\x65\x0e\xf0\x60\xf4\x9b\xfb\x56\x6f\xe5\x5a\x21\x2c\xcd\x47\xd4\xe0\xbc\xd0\x95\xb0\x15\x7f\xb8\x7a\x30\x3a\xbd\xe7\xd7\x2b\x28\x8d\xf6\x56\x94\xbe\x28\x48\x8a\xd4\x1e\xed\x46\x94\x08\x7e\x27\x3c\x08\xa5\xa6\x64\xa6\x35\x0e\xdc\xce\xb4\xaa\xa2\x07\x1b\x63\x6b\xf0\x66\x5e\x2c\x36\x20\xa0\x75\x68\xe1\x20\xb4\x77\xe0\x0d\x54\xd8\x28\x73\x04\x01\x1a\x0f\xf0\x70\xbf\xec\x04\xcc\xc0\xef\x50\xda\xee\x77\x92\x27\xeb\x46\x61\x8d\xda\xb3\x52\xfe\xd8\xa0\x83\x0a\x37\x52\x63\x05\x3b\xb4\x18\x0f\x73\xbf\x5c\x81\x45\x67\x5a\x5b\x66\xaa\x87\x93\x94\xc6\x62\xff\x92\x44\x84\x23\x59\x6c\x2c\x3a\x24\xcd\x84\x66\x65\xa4\x26\x2d\xc0\xd5\xc2\xfa\x4e\x93\x79\xd8\xe2\x5b\xa3\x14\x96\x5e\x1a\xbd\x82\xf7\x67\x76\xea\x37\x21\xf9\xce\x1b\x8b\x2e\x9a\xe0\xd2\xc5\xe3\x26\x29\xf3\x62\xe1\x41\xea\x52\xb5\x15\x7f\xb4\xc1\x03\x6c\x5a\xcd\xef\xd8\x54\x42\x91\x1f\x49\x1f\x73\xd0\x68\xe9\x11\x0a\x27\xd5\xb1\xa8\xcd\x1e\xc1\x93\xfd\x1d\xa9\x2c\x74\x05\xa6\xf5\x60\x36\xfc\x75\xbe\x05\x6b\xfe\x77\x6b\xf6\xb2\x42\xbb\xe2\x2f\x57\xef\xb1\x44\xb9\xa7\x9f\xa7\x06\x73\x7c\x0e\x97\x3f\x81\x0a\x4b\x25\x2c\x66\xca\x1d\xa4\xdf\x81\x33\x35\x42\x63\x91\x85\x36\xc6\xb1\xc1\x2a\xc9\x5f\x14\xd1\xbe\x9f\x5a\x69\x91\x95\xea\xad\x47\xe7\xd8\x18\x3e\x5b\x89\xd6\x0b\xa9\x41\x8b\x5a\xea\x2d\x0b\x5a\xe3\x4e\xec\xa5\xb1\x1d\x58\xdd\x9c\x55\x3a\x02\xa9\xe0\xb0\x11\x56\x78\x84\x35\x96\xa2\x25\x35\x3d\x6c\xe5\x9e\x95\xdc\xa3\x32\x0d\x5a\xc7\xdb\x89\xb5\x54\xd2\x1f\x03\xe2\x08\x2c\xbd\xf6\x41\xb7\x52\x68\x72\x0b\x08\x7d\xcc\x10\xd1\x81\x8d\xa5\xb8\xa1\x61\xbe\x39\x42\xeb\x48\xcf\x64\x36\xc7\x1a\xf7\x9f\xcc\xd8\xd1\x8e\xfc\x40\xae\x1e\xa2\xc8\xf1\x96\x0e\x75\x55\xd0\x2a\x1b\x9c\x90\xbc\xd8\x20\xda\x37\xde\xbc\xa1\xff\x9f\xb1\x7d\xc9\xa1\x64\x0a\xbd\xa5\x43\xf0\x26\x14\x15\x6c\x7a\x01\x25\x92\x54\x05\x0a\xab\x2d\xda\xe2\x04\xb0\x4b\xc3\x5b\x25\x5c\x13\x9a\xb4\xf1\x3b\xb4\xac\xe2\xac\x0b\x4b\x0e\x31\x47\xc7\x3e\xb2\xe8\xca\x8a\x00\xb9\x87\xfb\x65\xb1\xb1\xa6\x8e\x51\xd9\xbb\x8f\xe3\x54\x43\x49\xf9\x80\x3e\xac\xb0\x31\x4e\xfa\xce\xbe\x60\xf4\x60\xaf\x4b\x57\x0c\x7d\x5f\x1a\x32\xb2\x0f\xb0\xf0\x56\x68\xb7\x41\x3b\x2f\x8a\x2f\x6f\x8a\x42\xd6\x8d\xb1\x1e\x7e\x94\x78\xa0\x10\x53\x7b\xb4\xc0\x5a\x5c\xe4\x8f\x2e\x8a\xe2\xe6\xe6\x86\x53\x5d\x4d\xf0\xc9\xd3\xc8\x1c\xbe\xe7\xad\xf3\x67\x04\x58\xa5\x78\x4d\xdc\x80\xfd\x96\x7c\xcd\x8a\x0c\xf0\x1e\xb2\x0b\x27\x03\xe9\xfa\xb4\x78\x73\x73\x53\x88\xb2\x44\xe7\xae\x84\x52\xd7\x7d\xaa\xea\x53\xe5\x38\xa9\xde\x0e\xcf\xf2\x58\x14\x00\x00\xa4\xc9\x3b\x0d\xa8\xbd\xf4\x51\x87\x8d\xb1\x21\xe0\xd9\xe1\x3b\xec\xbc\x21\x14\xc7\x75\x80\x09\xdb\x42\xc0\x8f\xa2\x55\x9e\x25\xe5\xea\xe4\xe2\x7e\x8a\xab\x5f\xb6\x5f\xdb\x54\xc2\x47\x38\x87\xff\x06\xdc\x73\x14\xf0\x67\x6c\xe1\x67\xb7\xfb\xc0\x8b\xfa\xcd\xc6\x3b\xc5\x04\x46\x21\xb6\xb5\x5c\x0a\x92\x82\xbc\x67\x5c\xfe\xdc\x0e\xdf\x93\x84\x7e\x83\xef\xf6\xc1\x71\xc2\x9f\x56\x20\xac\xa5\x87\x03\x81\x94\xec\x58\xa3\x17\x95\xf0\x82\xac\x98\xb2\xbc\x8b\xa7\xac\x3a\x79\x8b\x90\x11\x8c\x56\x47\x58\x23\x8b\xf0\x58\xc1\xfa\xc8\x40\x4f\x3e\x59\xd1\xf3\x87\xfb\x65\xd0\xb7\x5a\x75\xa0\xef\xe4\x84\xf0\xd4\xb0\xe2\x4f\xc4\x5a\xe1\x2a\x1d\x83\x62\x7e\x83\x16\x35\x95\x07\x93\x82\x2c\x9c\xe1\x20\x4e\x55\x22\x78\xe7\x16\x68\x6c\xf4\x89\x6b\x44\x5d\x53\x9e\x61\x34\xf4\xfa\xc9\xf8\xa4\x8f\x3d\x77\x99\x15\x03\xd7\x49\x4e\xc9\x93\x4f\x5b\x9a\x2a\x80\x8d\x0a\x49\xf6\x39\x98\xe8\xb0\x9d\xa0\x2d\xb1\x94\x42\xf5\x47\x09\x6e\xea\x24\xc6\xf3\x64\x9b\x91\xdd\x77\xa6\x0a\xa1\x47\x26\x25\x5b\xd0\x77\x5b\x0c\x01\x77\x6a\x95\x4e\xda\xd0\x04\xec\xe9\x5a\x7c\x44\x47\xd9\xde\x99\xa0\x95\xdf\x49\x5b\xbd\x69\x84\xf5\x47\x90\xba\xc2\x5f\xc8\x20\xe4\xc2\xda\x68\xe9\x59\xf7\x04\xe2\x4e\x1c\x41\xed\x53\x8b\xf6\xc8\x2f\xa3\xbd\x7b\x80\xa4\x74\x17\xd0\x3a\xb4\xdd\x3c\x09\x39\x05\xe9\xbe\x0f\x80\xea\x4a\x56\xb7\xf0\x61\xa1\xfd\x5f\xfe\x3c\x83\xb6\xcd\x7f\xb1\xd0\x5b\x78\x57\x55\x16\x9d\x7b\x3b\xe3\xaa\x73\x0b\x3f\x78\x2b\xf5\xf6\xfa\x44\xec\x5e\x06\x3a\x00\x43\xc8\x5d\xfd\x0c\x7a\xe3\xdf\xe3\xe6\x16\x44\xeb\x77\x57\xe1\x31\xfc\x1a\xe2\xe3\x1a\xfe\xf8\x38\xce\x40\xf3\x87\xfb\xe5\x53\x90\xff\xc8\xff\x4b\x7f\x1c\x22\xb9\xce\x41\xe8\x5c\x56\x49\xed\xf8\x80\x7e\x74\xba\xc7\x67\xfc\xeb\xed\x5c\x84\x93\xa4\x83\xc4\x97\x5b\xf4\xcb\x63\x83\x57\xd7\x73\x59\x91\x8b\x37\x12\x6d\xd8\xfd\xa9\x98\x0c\x5f\xe9\xba\x68\xe3\x98\x15\x21\xd7\xd1\xf3\x94\x02\xf5\xac\x5b\x28\x75\x25\x4b\xe1\x53\x40\xd2\xd6\x33\x48\x5a\xcf\x32\xb2\x74\xc2\x85\xe2\x6e\x21\xd6\x3a\xc9\xec\xf4\xd9\x00\x21\xb4\xec\xc3\x87\xc5\x5d\x12\xd1\x93\xa4\xc9\xb5\xd0\xba\x56\x28\x75\x1c\x04\xcf\x10\x2e\x9c\x60\x4e\xf4\x91\x0e\xb4\xf1\x81\xbf\x91\xeb\x4d\xab\xfd\xa5\x63\xd2\x28\xb6\x38\x83\x15\x89\x5f\x75\xf1\xb3\xd2\x52\xad\x3e\x07\xc3\x94\x55\xf5\x55\x8e\x2e\xb2\xd0\x39\x58\xd2\x26\x39\x2a\x9b\xc8\x15\xc9\x02\xe9\xab\xeb\x49\xc7\x9d\xf3\x5a\x24\x04\x58\x31\xeb\x98\x32\x0a\x2c\x82\x17\xd1\xfd\x2e\x27\xe6\x1b\x3d\xef\xc2\xdc\xea\xa7\x6b\xff\x6b\xbe\x9a\xbd\xce\x59\x77\x49\x87\x17\x3b\xcb\x9b\xdc\x55\xbd\x7e\x67\x9c\xb5\x08\xcd\x45\xc5\x25\x78\x2d\xca\x8f\x07\xe2\xd3\x6f\x88\x80\x09\x2f\x03\x43\x3e\xd1\xed\xb4\x27\x80\xc5\xc3\xfd\xf2\x96\x8b\xd5\xe3\x53\x2e\x7d\xd0\x1f\xc6\x7a\xe6\xa0\x6e\x43\x2b\x10\xbb\xc0\xb3\x46\x98\xd8\x88\xf7\xc9\x09\xd3\x7c\xcc\x9c\xd2\xe6\xad\x96\x9f\x5a\x84\xc5\x1d\x9f\x2d\x11\xd6\xf4\x45\xbe\x8d\x42\x9f\x59\x74\x28\x65\x3a\x0d\x89\xd6\x9b\x5a\x78\x59\x72\x58\xe3\x9e\x0b\x86\xac\x11\x44\xa6\x33\x41\xc8\x79\x6b\x8e\xb1\x62\xe7\x25\x8b\xfb\x09\xc9\x06\x10\x09\x3e\x32\xf9\x42\x8e\x68\x49\xc0\x82\x33\x84\xcc\x08\x33\x8d\x48\x5f\x0a\x6e\x4b\x85\xdd\xb6\xdc\xfe\x4e\x1d\x2e\x2c\x4e\xdd\xe8\x5d\xd2\x28\x2b\x43\xf0\x15\x38\x54\x79\x66\x1f\x3e\xa7\x67\xd7\x43\xab\x94\x16\x85\xc7\xef\xea\xc6\x1f\x33\xe6\x1e\x9e\xb2\x4a\x48\xaf\x06\x1d\x5d\xb4\x60\xaa\xf1\xdc\xf8\x9e\x78\x25\x45\xa7\x45\xdf\x5a\xcd\xd5\x3c\xf1\x06\xa1\x14\xda\xac\xb6\xe3\x31\xd0\xb1\x03\x13\x36\x37\x10\xf1\x75\x58\x0f\xef\x7a\x55\xc6\x09\x82\x3b\xad\xa8\x83\x74\x67\xa1\x41\xe5\x75\xf2\xb0\x57\xd7\xb7\xf0\xf5\x63\xff\xfb\x29\x2b\x9d\xf4\xc7\xdd\xee\xf0\x11\xfd\x59\x74\xad\xf2\x54\x02\xff\x86\x7a\xeb\x77\x57\xd7\xf0\xd5\x57\xf0\xa7\x5b\xb8\xe0\x29\x04\xef\x54\xe5\xca\x72\xa8\x30\xdd\x6c\xfc\xf1\x0f\x17\x03\x81\x4f\x45\xff\x5f\x83\xf3\xff\x15\xbd\x83\xd4\x7d\x71\xc4\x25\x42\x14\x26\x0c\x95\xb4\x58\x7a\x75\x24\xeb\x9d\xb3\x5c\x25\x59\x01\x61\x8f\x4c\x8b\x95\x02\xd7\xae\x1f\xee\x97\x3f\xc0\x47\x3c\x06\xde\x4b\x20\x9e\xb4\x5a\xc7\x4c\xb6\xe8\xdf\xed\x85\x54\xe4\xf5\x1f\xc2\x72\x32\xdc\xe3\x92\xb3\x59\x80\xd9\xd8\x72\x51\x83\xc7\xe7\x4e\xc7\x71\x96\x31\xe5\xd4\xc3\x0e\x4e\x79\x72\xb8\x6f\x0c\x31\xef\x18\x2c\x8e\xa7\x05\xa6\xe1\x43\xaa\xe1\x30\x25\xf6\xc3\xe5\xce\x18\x87\x03\x11\x3b\x73\x20\x50\x26\x7c\xba\x76\x1d\xec\x5b\x61\x83\xba\x22\xce\x61\x34\x1c\x78\x18\x36\xd8\x27\xd6\xcc\x61\x22\xb8\x37\x16\xf0\x17\x41\x4d\xe6\x0c\xe4\x06\x56\x64\xd0\x15\xb3\x69\x01\x7b\xa1\x5a\x9c\xc1\xba\xf5\xb0\x92\xd5\x0a\x2a\x83\x4e\x5f\x86\x19\x18\x2b\x38\x0c\x48\xa1\xa3\xba\x70\xd8\xc9\x72\x17\x0c\xb0\x89\x16\xe1\xe1\x85\x49\x96\x95\x5c\xbb\x2c\x67\x28\x01\x17\x15\x6e\xa8\x57\xbc\x18\xc8\x5b\x6c\x60\x1d\xac\x15\x2b\x55\xec\xe9\x7b\x30\x71\x67\x10\x22\x48\x80\x93\x7a\xab\x82\x5a\xa4\xc9\xbf\x08\xb4\x61\xb7\x81\x54\x5a\x38\x87\x25\x39\x68\x87\xaa\x71\x31\xaa\x1d\x1c\x76\x86\xb6\xd2\x97\x1e\x5c\x6b\x31\x58\xd0\xa7\x91\x8e\x32\xe6\x23\x99\x96\xf2\x78\x2e\x6f\x88\xdc\x46\x58\x51\x47\xa6\x49\xc1\x44\x18\x4b\xd5\xbd\x42\x27\x2d\x56\x27\xb9\x26\x2e\xa2\x9c\xc7\xf3\xcc\x2a\x2d\x88\x08\x58\x1b\x6b\xcd\xe1\xfc\x9e\x5d\xb4\x38\x6f\xdb\xd2\xb7\x3c\x44\x8c\x13\xc3\x44\x40\x2d\x7e\x6a\xd1\x51\x58\x53\x58\xcc\xcf\xa6\x99\x2d\xfa\x10\x22\xb1\xd6\x2f\x23\xe7\xe9\xaa\x36\xdc\x9e\xe3\xee\x6f\xa7\x43\x48\x4b\x55\x0c\x73\xc5\x74\x6d\x36\x50\x63\x25\xa9\x49\xe8\x27\x0a\xdd\x20\x21\xd5\xb3\x9c\xc5\xf6\x69\xef\x35\xa5\x3b\xcd\x18\x87\x85\x1a\x7e\xc2\xd8\x8e\xa7\x76\x3f\xcd\x15\x52\xaf\x95\xf8\x66\x26\x2a\xb5\xa7\xc4\x21\x28\x4f\xe9\x6d\xb7\x3c\x17\x1d\x25\x45\x64\x09\x9e\xd3\x6c\xc2\x80\xce\x9b\x58\x19\x95\x74\x1e\xa9\x99\x4b\xef\x55\x14\x98\xa6\x56\xb1\x43\x1c\x38\xbe\xd3\xd5\x62\x6d\xf6\xd8\x0d\x87\x3b\x9d\xb3\x0c\x4e\xf5\x2c\x7c\x34\xae\x66\xc3\x88\xf3\x1c\xe2\x5c\xdd\xb9\x97\xde\x1c\x89\x37\x73\xa3\x4e\x4b\x16\x77\x14\xaf\x81\xb2\x5a\xfa\x6a\x0a\xc8\x49\x2f\xe2\x7a\x93\x80\xee\x14\x9f\xd0\x74\x8c\xcc\x6e\xfe\xd2\xb5\x8e\x04\xd3\x24\xe1\x2a\xdf\x2b\x22\x94\x4a\x22\xe1\xf1\x55\xb5\x50\x56\x54\x02\x73\x69\x5c\x0b\x7b\x6a\xde\x77\x53\xa1\x81\x48\x25\x91\xc7\xf0\x82\x48\x97\x1b\x05\xda\xe2\xee\xe2\x64\x37\xc6\xd8\xb8\xf9\xe9\xcb\xf1\x49\x47\x1a\x42\xaf\xd3\x31\x51\xa3\xf8\x20\xb4\x21\xa1\x33\x62\x92\x34\xee\x78\x87\x4d\x52\xc6\xa3\x72\x9d\x9e\x5e\x19\x9e\x11\x92\x2e\xc1\xe8\xb7\xc5\x61\x1a\xee\x8f\x09\x73\x02\xbc\xe7\x41\x4a\x44\xf4\x90\x61\x32\x98\x45\x55\xe5\x58\xfe\xf6\x14\x40\x79\x3e\x0e\x23\xce\x65\x0f\xc1\xb8\xcd\xd9\x3c\x18\xdf\x5f\xc5\x95\x01\x51\x23\xfe\xc9\xb9\xb2\x69\x8c\xf5\x58\x3d\xdc\x2f\x97\x7c\xe5\x93\x8a\xb2\xe0\x98\x4e\x23\xf6\x70\x1d\xd4\x33\x03\x9b\x4e\x4f\xfb\x36\xfe\x65\xf4\x27\x08\xa9\x45\xd3\x84\x9e\x75\x6d\x8c\x42\xc1\x57\x2b\xdd\xb0\x81\xcb\xaa\x1c\xca\xeb\xa1\x5e\x4a\xea\x12\xc0\x05\xad\xc9\x7e\x9f\x65\x4e\x27\x27\xcc\xa8\xd3\x37\xc6\xa8\x11\x2d\x7a\x1f\x8f\x9f\x92\x46\xc8\x12\xec\xa2\xad\xdc\xa3\x8e\x3d\x87\x8b\x07\x8f\x14\x6e\x3a\x03\xf0\x34\x78\x92\x33\x87\xc5\xfd\x9d\x48\x1c\xa8\x66\x15\x1f\xbc\x6d\x91\x64\x47\x62\x71\xbe\x4a\xbf\xd3\x9d\x87\xce\x78\x21\xda\x79\xc2\xcc\xbd\x1f\x49\xab\x68\xdf\x71\xad\x7f\x01\x43\x95\x6e\x6c\xe6\xac\xfc\x5e\x07\x43\x8f\x63\xf3\x7d\xb8\xb4\xea\x46\xd7\xc1\x88\xba\xb4\xe8\x47\x97\x88\xf9\xf4\x73\x8d\xe9\x9a\xac\xeb\xf0\xba\xfb\x05\x3a\x58\x77\x87\xf0\x8a\x50\xee\x63\xef\xb6\x2b\xaf\xb3\x97\x06\xf8\xb9\xf8\x8e\x77\x92\xd2\x27\x35\xcf\x00\xe4\x73\x11\x4e\x7a\x8e\x87\xbe\xaf\x88\xfa\xc9\x21\xe5\xb8\xb2\x58\x9c\x28\x2c\x19\xa9\xc8\xaf\x9f\x42\xbd\x8f\x67\x1a\xdc\xd5\xf6\x57\xb4\x13\xa2\x12\xd7\x38\xbf\x8a\x83\x4a\xd5\x54\xe5\x84\x3a\x88\x63\x28\x47\x1b\x49\x7d\x45\x85\xce\x4b\x2d\x06\x67\xcf\x84\xf7\xf7\x36\x64\xf9\x4e\xd3\x5a\x3a\xc7\x23\xf2\x30\xbf\x6f\x9d\x37\x75\x87\x78\xa2\x29\x14\x73\x6b\xec\xf9\xcc\x94\x6c\x92\xb8\x13\xb6\x0a\xd4\x9f\x00\x2a\x43\xef\x3d\x22\x3e\xd3\xa5\x72\x3c\x7a\x62\x35\x9f\xa9\x94\xe1\x7d\x5f\x28\xc3\xef\x38\xae\x33\x67\xaa\xe4\x78\x3e\xf5\x82\x3a\x79\xda\xe8\xf2\x65\x6e\x6d\x5a\x9d\x72\x7e\x98\xba\xf5\x61\x76\x0e\xbf\x29\xcd\x68\x76\xe5\x96\x19\xe6\x60\x76\xec\xe4\xbf\xf1\x74\x40\xf8\xd9\xc4\x9d\x5a\xfb\x5b\xaa\xe2\x53\x9d\x79\x57\xa0\x52\x8f\xbe\xb8\x73\x2f\x57\x56\x58\x2b\x8e\xa9\xbc\x3d\xbf\xf2\x9c\x86\x8b\x3b\x2e\x26\xff\x08\xbc\xed\x9f\x50\x8c\xfa\x64\xea\x7a\xdc\x99\x26\xfb\x45\xb6\x5d\xf4\xac\x93\xef\xbb\xd8\x9a\xcc\x6a\x25\xf3\xb3\x6c\x5c\x3a\x94\x32\x1b\x35\x8c\xfd\xad\x7c\x2a\x35\xd1\x10\xdc\x95\x32\xc6\x49\x4e\x23\xb4\x2c\xe7\x9f\x6b\x0e\x53\x9f\x97\x4a\x84\xde\x78\xa2\xc8\x27\x4a\x64\xcd\x72\xb2\x41\x89\x94\xea\xe7\xe7\x7c\xd2\xcd\x11\xa6\x2e\xf0\x9e\x77\x47\xe8\x31\xa9\xef\xfb\x39\xef\xf6\x5e\xdc\xec\x9d\x61\xd7\x57\x81\xa9\x12\xb7\xd6\x52\x5d\xc3\xaf\xbf\xa6\x47\x6f\x23\xe5\x96\xd5\xf5\x2d\x9c\xac\xa3\xbf\x8b\x6f\x85\x26\xab\x06\xd5\xd8\x8b\xdd\xb9\x82\x05\xf3\xbb\x0f\xb2\xc1\xe0\xea\xb2\xeb\x63\x6a\xe1\xcb\x5d\xea\x5e\xba\x5b\xcc\x0e\x07\x2f\x9c\x66\xbd\x7e\xd8\x18\x55\xe3\xe6\xe0\x84\x5d\x3c\x37\x5f\x7c\xc5\x14\xf1\xec\x1e\xff\x9f\xf1\x61\xc8\xc2\xe4\x46\xce\x99\xdd\x93\xf3\x93\xc4\xce\x2b\x3b\xb1\xc7\xa1\xee\xa1\x83\xe2\x7f\xc7\x90\x3e\x3f\x6d\xa0\xfe\x67\xa3\x4b\x18\xb2\xab\xd7\xbb\x3b\x71\xb0\x3e\xc1\x0c\xb8\xdf\xef\x1c\x2a\x67\xf9\x43\x6f\xfc\xb2\x9b\x2f\xe5\x49\x64\x34\x61\x1b\x5c\x92\x77\x69\xe3\xb9\x34\xbe\xcc\xbb\x94\x33\xc4\x30\xfe\xab\x93\x78\xd1\xfc\x32\x98\xf5\x1a\x07\x3a\x3b\xc1\xab\xa6\x41\x38\x01\xc0\x1e\x00\x5c\x3e\xe6\x8a\x61\xf0\x1b\x41\x90\xdc\xfe\x54\xfc\x27\x00\x00\xff\xff\xe0\x9a\x44\x9b\x97\x28\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -194,7 +194,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x67, 0x22, 0x30, 0x91, 0x33, 0xbf, 0xcf, 0x94, 0x6c, 0xf3, 0x6, 0x7c, 0x71, 0x28, 0x28, 0xe, 0x60, 0xf5, 0x5a, 0x80, 0x2f, 0x55, 0xf1, 0xab, 0xf4, 0xd5, 0xf3, 0xb3, 0xbb, 0xe0, 0xd8, 0x38}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0xc9, 0xf4, 0xa7, 0x4e, 0x92, 0x1c, 0x3c, 0xa2, 0x76, 0x60, 0x2f, 0xd9, 0x5c, 0x7f, 0x21, 0x9d, 0x7b, 0x55, 0x38, 0xf9, 0x8c, 0xe5, 0xcb, 0x83, 0x92, 0x65, 0x10, 0x38, 0x7d, 0x92, 0x2}}
 	return a, nil
 }
 

From 5acae216dfd798c492a8cc2f94d1766481a70258 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 23 Jan 2024 13:03:15 -0600
Subject: [PATCH 077/115] update dependencies and remove getVaultTypes line

---
 contracts/FungibleToken.cdc                |   2 +-
 lib/go/contracts/go.mod                    |   3 +-
 lib/go/contracts/go.sum                    |   9 +-
 lib/go/contracts/internal/assets/assets.go |   6 +-
 lib/go/test/go.mod                         |  39 +++++---
 lib/go/test/go.sum                         | 106 +++++++++++++--------
 6 files changed, 99 insertions(+), 66 deletions(-)

diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index dae972fb..d459028a 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -206,7 +206,7 @@ access(all) contract interface FungibleToken: ViewResolver {
     /// that subtracts the vault balance from the token's total supply
     access(all) fun burn(_ vault: @{FungibleToken.Vault}) {
         pre {
-            self.getVaultTypes().contains(vault.getType())
+            self.publicTypes().contains(vault.getType())
             vault.balance > 0.0: "Do not use the burn method unless the vault balance is greater than zero!"
             emit Burned(amount: vault.balance, type: vault.getType().identifier, fromUUID: vault.uuid)
         }
diff --git a/lib/go/contracts/go.mod b/lib/go/contracts/go.mod
index af827c20..c80fcf0f 100644
--- a/lib/go/contracts/go.mod
+++ b/lib/go/contracts/go.mod
@@ -9,9 +9,8 @@ require (
 
 require (
 	github.com/davecgh/go-spew v1.1.1 // indirect
-	github.com/kr/pretty v0.3.0 // indirect
+	github.com/kr/pretty v0.3.1 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
-	github.com/rogpeppe/go-internal v1.9.0 // indirect
 	gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff --git a/lib/go/contracts/go.sum b/lib/go/contracts/go.sum
index 3f366fe4..6ab9870a 100644
--- a/lib/go/contracts/go.sum
+++ b/lib/go/contracts/go.sum
@@ -3,25 +3,22 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/kevinburke/go-bindata v3.22.0+incompatible h1:/JmqEhIWQ7GRScV0WjX/0tqBrC5D21ALg0H0U/KZ/ts=
 github.com/kevinburke/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
-github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
+github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
+github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
 github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
 github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
 github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 6b8e527e..e340a8f7 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken.cdc (10.448kB)
-// ../../../contracts/FungibleToken.cdc (9.209kB)
+// ../../../contracts/FungibleToken.cdc (9.207kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.61kB)
@@ -98,7 +98,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4d\x93\xdb\xb8\xd1\xbe\xf3\x57\xf4\xeb\x3d\x78\xb4\xaf\xac\xd9\x43\x2a\x87\xa9\xd8\x5e\x7b\xed\x49\xf9\x90\x54\xca\x1e\xaf\x0f\x49\x2a\x82\xc8\xa6\x84\x35\x08\x70\x01\x50\xb2\x32\x35\xff\x3d\xd5\x0d\x80\x24\x28\x6a\x66\xbc\x59\xc7\x97\xd5\x90\x40\xa3\x3f\x9f\x7e\x1a\xdc\xcb\xef\xbf\x2f\x8a\xef\xe0\x66\x87\x70\xad\xcc\x01\xae\x3b\xbd\x95\x1b\x85\x70\x63\x3e\xa3\x06\xe7\x85\xae\x84\xad\x8a\xe2\xbb\xef\x60\x9d\x5e\xf2\xbb\x35\x94\x46\x7b\x2b\x4a\x5f\x14\xbc\x7d\x7e\x27\x48\x07\xda\x80\x32\x7a\x8b\x16\x84\x06\xa9\x3d\xda\x5a\x94\x58\xf8\x9d\xf0\x20\x94\x82\x3a\x6d\xf5\xbc\x35\xc9\x75\x70\x30\x9d\xaa\x60\x27\xf6\xf4\x8a\x9e\xd7\xc6\x36\xe0\xcd\xaa\x28\xde\xd5\x20\xa0\x73\x68\x1d\x1c\x84\xf6\x8e\x16\x54\xd8\x2a\x73\x04\x01\x1a\x0f\x13\x59\x4b\xf0\x3b\x94\x76\xd0\xb9\x32\x48\x8a\x79\xd0\x88\x15\x6d\x96\x4d\xab\xb0\x41\xed\x69\x25\x64\xa6\x0e\x3a\x2f\x61\xd3\xf9\x28\x8a\x0f\x70\x45\x65\xce\x88\xe8\x37\x39\xa8\xb0\x96\x1a\x2b\x90\x1a\xfc\x4e\xba\x5e\x8b\x55\xf0\xeb\xcf\xa2\x53\x7e\x0d\x16\x9d\xe9\x6c\x39\xda\x59\x14\x6f\x45\xb9\x9b\xfa\xa7\x5f\xe7\x8f\x2d\xf2\xe1\xee\xf4\xf4\xf3\x42\xe3\xa1\x7f\xb3\x66\x2f\x2b\xb4\xeb\x25\xac\xdf\x63\x89\x72\xcf\xbf\x85\xae\x60\xfd\x5a\x28\xa1\x4b\x9c\xdb\xed\x38\xda\x6e\x62\x5e\xa9\x84\x45\x68\x2d\x3e\x2b\x8d\xae\xa4\x97\x46\x3b\x16\xd5\x1a\xe7\xc7\xcf\x38\xe6\x16\x9d\xb7\xb2\xf4\x05\x29\x8a\x5f\xb0\xec\xe8\x25\x98\x9a\x35\xaf\x3b\x5d\x86\xc5\xec\x2e\x04\xb6\x64\xc5\xe7\x1e\x81\xce\x71\xd8\x0a\x2b\x3c\xc2\x06\x4b\xd1\x91\x2e\x1e\xb6\x72\x8f\x8e\x97\x53\x52\xf0\x0f\xb1\x91\x4a\xfa\x23\xf9\xc6\xed\x84\xc5\x42\x80\xc5\x1a\x2d\xea\x92\xf3\x29\x84\x91\xa5\x07\xbd\x8c\x56\x47\xc0\x2f\xad\x71\x51\x54\x2d\x51\x55\x6e\xd0\xa8\x90\x1a\x8c\x46\x30\x16\x1a\x63\x31\x69\x3c\xb8\x82\x12\x93\x72\xda\x99\xa8\x50\xc8\xd0\x89\x36\x8d\xf8\x8c\x50\x76\xce\x9b\xa6\xf7\x70\x74\x4d\x1f\x44\xf2\x4d\xee\x65\x4a\x70\x03\x7b\x61\xa5\xe9\x68\xb5\xd4\x5b\x07\x07\xe9\x77\x2c\x3e\x64\xe3\xaa\xb8\x36\x16\xf0\x8b\x20\x31\x4b\x10\x50\x8b\xae\x44\x0f\xa5\xd0\xb0\xc1\x41\x3a\x56\xb0\x39\xa6\x82\x92\x7a\x5b\x04\x77\x40\x4a\x8a\x2c\x5b\xbe\xbf\x2c\x0a\xd9\xb4\xc6\x7a\xf8\x59\xe2\xe1\x3d\x3a\xa3\xf6\x68\xa1\xb6\xa6\x81\x27\xe3\x47\x4f\x8a\xe2\xf2\xf2\x32\x2f\x1e\x7a\x92\x3d\x8d\x00\xd1\xeb\x22\x62\xb6\x58\x1c\x01\x85\xc5\x5f\x3b\x69\xe7\xca\x2a\x2f\x06\x96\x3c\x28\x0b\x9f\x10\x9c\x97\x4a\x05\xd0\x90\x1e\x84\xcb\x40\x07\x76\x68\x87\xbc\xf1\xfc\x17\xa7\x94\x69\x38\x73\xea\x4e\xb1\xc8\xce\x87\x68\x35\xe8\x77\xa6\x8a\xc1\x69\x84\x3e\x42\x6b\xcd\x2f\xc8\xe0\x44\xc7\x84\xc3\x08\x81\x48\x53\x3e\xd4\xe8\x09\xd6\xb8\x25\x8b\x8c\xc8\x11\x52\x78\x73\x24\x63\x1b\x14\xda\xf5\xb6\xae\x18\x0c\x43\x1a\x0c\x4f\xe9\x37\x3f\xeb\xa3\x1c\x6c\x4e\x4e\x71\x59\xb9\x0f\xd0\x21\xca\x12\x9d\xbb\x10\x4a\x2d\x7a\x4d\x46\x7e\xc8\x62\x74\x95\x07\xf6\xb6\x28\x00\x00\x2e\x2f\xe1\x95\x06\xd4\x5e\xfa\xe8\xff\xda\x58\xd2\xd1\x1c\xa4\xde\xf2\xb1\x94\x7e\x95\x15\x07\xa1\xb8\x16\x38\x07\x43\x5e\x88\x50\x58\x2c\x68\xac\xca\x58\xdc\xa7\xb8\x3b\x1d\x77\xc9\x7d\x08\xf7\x21\xd4\xc1\x0d\xd8\x48\x4f\xe9\x7a\xd8\xa1\x4e\x07\x90\x03\xd3\xc9\xfa\x81\xe3\xf6\xe3\x83\xf4\x85\x68\x4c\xa7\xfd\x15\x7c\xbc\x96\x5f\xfe\xf8\x87\x25\x43\xe8\x15\x7c\xf0\x56\xea\xed\x92\x45\x5d\xc1\xab\xaa\xb2\xe8\xdc\xcb\xf0\xf7\xc7\x8f\xef\xde\x5c\xc1\xc7\x77\xda\xd3\xfa\xfe\xd8\xf1\xe3\xc5\x6f\x31\xa0\xc2\xd6\x38\xe9\x43\x8a\xdf\xaf\xfe\x9b\xb4\xf4\x01\xf5\xbd\x19\x2b\xef\x4d\xae\x7a\x7f\xe0\x19\xd5\xdf\xde\xa3\xf6\x0e\x61\xab\xcc\x46\x28\xd8\x74\x56\xc7\xaa\xa0\x65\xa5\x50\x8a\x56\x11\x0c\x09\xd0\x46\x3f\xfb\x37\x5a\x03\x9b\xd0\x40\xce\xd8\xf3\xba\xb3\xfa\x41\x63\xa6\xbe\x1f\x69\xfa\x7a\x24\x9d\xd0\x65\xec\xfc\x21\xc3\xd9\x92\x36\x00\x9a\x1b\xf8\x48\x0f\xe6\xff\xe8\xf7\x51\x5a\x6f\xd1\x7b\xca\xea\xa8\x39\x48\x86\x46\xc6\xa6\xec\x9c\xb1\x35\xa7\xdd\x31\xa9\x06\xb7\xbc\x38\x1d\xf0\x67\x0c\xe5\x9b\x84\xc7\xbe\xb1\xef\x63\x3e\x95\xbc\x97\x78\x20\x4d\x49\xad\x28\xf2\x62\x91\x3c\xc5\x3b\xee\x06\x77\x24\xd0\x7e\x8c\x3f\x90\xcc\x2a\x63\x7b\x8b\x10\x13\x50\x84\x9c\x90\xb2\x9b\x3a\x42\x12\x32\x2e\x6a\x6e\x76\x09\x78\x18\x03\x8e\x2d\xae\x4e\xce\x7d\xe7\xa1\xa7\x57\xf1\xc0\xfc\x2c\xa3\x61\xbd\x49\x1c\x83\x30\x78\xd9\xef\x1d\xb5\x74\x85\x82\x5a\xa8\x69\x63\x06\xb6\xc6\x39\x19\xbb\xa8\xa9\xa1\xb4\x28\x58\x89\xd8\x49\x63\xa8\xad\x1b\x54\x27\x8b\x89\x9f\x31\xcd\x23\xef\x0a\x2b\xd5\x31\xf2\x35\xc6\x68\x73\xd0\x29\x2a\xab\xaf\x89\x73\xdf\x28\x23\x56\xa6\x23\x93\x07\xc1\x75\x9b\x48\x62\xef\x75\x60\x12\x9d\x09\x21\xe2\x64\xd1\x77\x96\xa0\x22\x12\x94\xbe\xd1\x5b\x6c\xcc\x9e\x51\x23\x34\xfc\xd1\xc6\x4c\xc8\xcd\x88\x4a\x3d\x75\xd1\x1e\x50\xb8\x47\x45\x85\xbb\x8e\x06\x26\x68\x5c\xac\xb3\xdd\x1f\x0c\xb1\x2f\x63\xc9\x44\xc2\xa7\xb0\x5b\xfa\x25\xf3\x9f\xc0\xcb\x51\x52\xff\xec\xbd\x09\x66\x43\x8d\x11\xa4\x77\xa8\xea\x4c\x9a\x61\xe6\x1f\xa1\xbf\x1a\xb1\x30\xb6\x6a\x9d\x74\x58\xcf\x5b\x33\xd5\x94\x0b\x23\x39\x7a\x82\x22\x8b\x2b\xf8\xf1\x96\x3d\x76\x37\xaa\x41\xfa\x47\x4c\x74\xf2\x28\x36\xb9\xb5\x45\x17\xb9\x72\xcd\x6c\xcd\x44\x47\x53\x04\x60\x2f\x54\x87\x27\xdb\xc2\x96\xd5\xb8\x3c\xe1\xf9\x73\x88\xca\x9c\x2c\xa7\x7f\x4f\x3e\x0d\xcd\x32\xac\x83\xa6\x73\x9e\x78\x19\x1d\xe7\x44\x83\xc4\x56\x66\x70\x62\xe8\x75\x6c\xd9\x93\x13\xf1\x04\xd6\x33\x4d\x2e\xfc\x37\x01\x2b\x45\x85\x14\xbe\x39\xb6\x78\xb1\x58\xc9\x8a\xe2\x51\x4b\xb4\xa9\xef\xf1\x02\x73\xd0\x68\x5f\xae\x44\x68\x23\x63\x18\xe6\xd7\x5d\x27\xab\x93\x2e\x18\x9d\x41\xef\x16\x99\x6e\x77\x45\xfe\x6b\x04\x5a\x69\xe4\xf8\xef\x41\x2b\xf6\xb5\x19\xcc\x92\x3a\x86\xf2\x11\x98\xf5\x09\x13\x52\x48\x5d\xaa\xae\x42\x10\xd0\xcf\x2d\x41\x8d\x72\x87\xe5\xe7\x3c\x40\x11\xad\x7a\x29\x07\xec\xb9\x20\xf1\xff\xc7\xd0\xff\xe0\x86\xc0\xf1\x7a\x39\xc4\xd7\x2b\x93\x16\xcd\x73\xfd\x25\x28\xf9\x19\xc1\xb5\x4a\x72\x77\x69\xa0\x6b\x09\x3a\x7a\x21\x0e\x75\x15\x5e\xd0\xe8\x20\x6b\x2e\x3a\x0f\xad\x0a\x93\x0a\x3c\x1e\xed\x52\xb0\xa6\x68\x17\x5d\x0f\x5e\x7c\xc6\x01\xaa\x08\xbe\xe2\x1b\x82\x8c\x33\x61\xc8\xa6\xd8\xfb\xea\x9e\x95\xa2\x92\x8f\x32\x2f\x42\xb6\xa6\x32\x5f\xe4\x2a\x6d\xd1\x7f\xe8\x5a\x1a\x56\xb0\xe2\x05\x94\xee\xd4\x44\x28\x8e\x42\xa9\xe3\x08\x59\x95\x74\x9e\x6a\x6c\x1f\x46\x40\x5e\x18\xa9\x36\x13\xf0\x68\x34\xe9\xd1\x7a\xf7\x60\xa3\x9e\x39\x97\x9a\xf6\xed\x0d\x97\xdf\x6b\x63\xd4\x5d\xae\xeb\xfb\xa8\xc9\x61\x87\x8c\xa4\xc6\x72\x02\x32\xdb\x92\x7b\xea\x7a\x34\xe0\x4b\x17\x35\x08\x43\x1b\xbd\xcd\x8a\x27\x49\x7b\x95\xec\xe0\x5c\x15\x3a\xee\x02\x1a\x5a\x58\x90\xdb\x31\x6c\xff\x42\xa0\x13\xc1\xcd\xdb\x8e\x67\x91\x0a\xeb\x87\xb9\x88\x74\xa7\x16\x5e\x04\x6c\xa1\x9f\x8b\x60\xe3\xb4\xd0\x07\x62\x9b\x51\x84\x0a\x29\x18\xcb\xe0\xea\x21\xd3\x42\x67\xe1\x01\x7a\xb8\xee\xe9\xed\x5d\x26\x7e\xb5\x84\x1b\x2b\xb4\xab\xd1\x1a\xbb\xec\x9b\x71\xb8\xbd\x48\x63\xcc\x40\x29\xba\x81\xd6\x92\x7f\x5d\xb2\x02\x8e\xe8\xbf\xa6\x0c\xd8\x94\xab\x91\x36\xc3\xc1\xbd\x5e\xe3\x41\x6a\x35\x9d\xa8\x92\x46\xd7\x12\x55\x15\x53\xcd\x8a\x29\xa8\x98\x1a\xc4\x7d\xdc\x50\xd8\xb4\xb4\x67\x84\xdf\x92\x6d\xfe\xaf\xcb\x2b\x35\x81\x98\x93\x93\x8b\x02\xe0\x74\x61\x84\xae\xf2\x61\x9e\x8f\x09\xb3\x15\x7e\x69\xb1\xf4\x58\x65\x32\xbd\x09\x17\x3c\x7d\x31\x0d\x0c\x90\x74\x5b\x82\x33\x61\x3e\xe7\x29\x5e\x0f\xd7\x7a\x91\x58\xf2\x3d\x42\xa6\x4b\x26\x9e\x5a\x11\x1b\x96\x48\xd7\xef\x81\x17\x13\xc2\x42\xb3\x0f\x2a\x73\x08\xad\x88\x5d\x31\xba\xd1\x49\xad\xc5\x75\x36\x36\x4e\xdb\xe9\x67\x5e\x36\xf1\xa6\x90\x6b\x6b\x2a\x8f\x5d\xb2\xc5\x84\x08\xe3\x89\xaf\x15\xdc\x2f\xfa\x42\x88\x05\x19\x1b\x51\x7e\x1b\xbc\x0a\xf7\x0f\x2b\xc8\xe4\xcb\xfa\x84\x75\xb8\x0f\xdd\x86\xb4\xb9\x30\x75\x80\x8d\x3f\xfd\x78\x3b\x23\xe9\xee\xc5\xc5\x62\x31\x43\xd7\x22\x6e\xdd\xe6\x62\xaf\x18\xc8\xee\x72\xee\x01\xa8\x1c\xce\x33\xbe\x00\xbc\xcc\x49\x9b\xd6\x1f\xa1\x92\x1c\x31\x61\x8f\x89\x81\xa5\xe4\x63\xf6\xc7\xb1\xed\xdd\x70\xd8\x19\xa8\x8c\x7e\xea\xe7\x24\x0f\x77\x55\xb3\xfe\x59\x82\xeb\xca\x1d\x1d\x92\xbf\xfe\x70\x90\xbe\xdc\x6d\x8c\xb0\xd5\x7a\x09\x6b\x7e\x76\x6d\xec\x41\x10\x01\x5f\x03\xfa\x72\x75\xd6\x15\x77\x67\x29\x57\x96\x9f\x3f\x05\xf6\x22\xeb\x99\xfe\x32\x20\x22\x37\x18\xe9\x46\xa8\x7d\x36\x83\x1f\xd7\x0e\x26\x01\x88\x4a\xa7\xf0\xcd\x96\xc0\xdf\x49\xc8\x3f\xe1\xe5\x4b\xa8\x85\x72\x78\xce\xa0\x99\x51\x6b\x1d\x18\xef\x7a\x18\xb6\x58\xee\x53\x97\x5d\x48\xc0\xec\x98\xa5\xf1\x30\x1d\xb5\x92\x60\xf2\xcb\xe9\xfe\xdf\x7b\x3e\xb1\x73\xc9\x9a\x1c\x35\x4c\x19\x2f\x1e\x98\x32\x5e\x85\xd1\x62\x98\x19\xd2\x90\xa1\x68\x82\xf3\x3b\x41\x63\x1d\xe0\xaf\x9d\x50\xe1\xaf\x99\x56\x31\x33\x66\xdc\x3d\x72\x98\x8a\xd7\xaa\xe0\x5a\x2c\xa5\x50\x3d\x1a\xc2\x7a\x83\xb5\xb1\xb8\x66\x6e\x1c\x3b\x54\xa8\xae\x78\xe8\x70\x23\xc0\xd7\xee\x73\xc2\xe3\x2d\xe8\x06\xb7\x52\x6b\x22\x91\x93\x4f\x06\xc3\xc7\x84\x99\xdd\x8f\xf0\xed\xf3\xe7\x10\xb4\xbc\x38\x79\xb7\x80\x67\xf7\xfb\xfd\xaf\x7d\xfe\x24\x67\x8e\xa7\xbb\x44\xbf\x07\x1f\xb7\x16\xf7\x7c\x93\x9f\x96\x8b\xc0\xd6\xa7\xd3\x5e\x7a\x7f\x2e\x1c\x77\x8f\xa5\xe4\xa2\xaa\x88\x8e\x0f\x07\x46\x56\x9e\xc5\xfe\xa4\xf4\xbf\x86\x90\xcf\xe1\xf8\x14\xc4\x89\xa8\x3a\x87\xd6\x0f\x97\xda\xa5\xd1\xa5\x45\x1f\xbb\x54\x74\xcf\x70\x3d\x1a\xe8\x83\x74\xfd\x94\x3c\x95\x17\x21\x7b\xc4\x7e\x7b\xca\x9c\xee\xa9\xa3\xb4\x47\x14\x1c\xd9\xb2\x92\xee\x9d\x76\x9e\x03\x9f\x37\x9a\xc5\x15\xcc\x47\xff\x27\xa1\x89\x5a\x26\xef\xf3\x27\x87\xd2\x34\xad\xf0\xa3\x0f\x77\x64\xdf\x99\xe1\xfd\xf4\x8a\x97\x15\x19\x67\x60\x9a\xe3\xd3\x8b\x99\x39\xde\x9b\x33\x53\x7c\xba\x0b\x1e\xcd\xf0\x93\xeb\x60\x96\x7a\xdf\x04\x0f\xe7\xcb\xfe\x2b\x0b\xe9\xff\xd3\xbb\x13\x13\x17\xbf\xa9\xb6\x5c\xd7\x3c\x58\x54\x43\x3a\xdd\x8b\x6d\x93\x62\xe2\x2b\x46\x7c\x4b\x1c\x21\xd6\x91\x52\xe6\xe0\x78\xa4\x0a\x9f\x19\x4d\x5c\x93\x35\x10\xce\xc1\x9d\xa0\xf2\x3b\xb9\x0d\x87\x07\x6a\x6a\x7a\xe4\xc5\x57\xdf\x68\x9d\xb9\x9a\xfa\x61\xf5\xc3\x15\x3c\x21\x62\xad\xf1\xa0\x8e\xf1\xa0\xe8\x8f\xe0\x4f\x26\xbe\x63\x8d\xcf\xbb\x09\xf2\x21\xef\x1b\x38\x6a\x6e\x26\x9b\x75\xd0\x3e\x51\x87\x9e\x77\xcc\x23\xd1\xc8\x55\x33\x9e\x1b\xbc\x16\xea\x8a\x5c\x36\x92\xcc\x8e\xeb\x29\x72\x80\x9a\xfe\x8e\xbb\x11\xbe\xdc\xc5\x34\x73\xe1\xab\xe5\x49\xa5\x7f\x93\xa8\x9c\xc4\xe1\x2f\xe1\xc3\x8c\x37\xe1\x3b\x8d\x98\xfc\x7f\x0c\xd9\x2c\x3e\xfa\x2a\x38\xf9\x14\x1b\x2f\x0a\xce\xce\x3d\x67\x66\x9d\xfe\xca\x7d\x74\xf7\xdd\xe3\x72\x2a\xc8\x9e\x99\x31\x24\x3e\x75\xe0\x8d\x17\x8a\x19\xa8\x3a\xce\x06\x9c\x2c\xb9\xf8\x57\x10\xf3\x98\x2e\x73\x8a\xeb\x09\x83\xc6\x24\x73\x45\xd6\x0b\xa9\x5d\xc8\x9f\x11\xc4\x67\x5b\xc3\xcb\xa4\xfc\x8b\x18\xaf\x37\xe1\xa6\x30\x71\x9d\xf1\x37\xb1\x4e\x47\x9e\x35\x35\x5c\x3a\xd8\x72\x70\x6d\xa0\x5d\x14\xd1\xff\xcb\x73\x84\x3b\xc1\xe4\xe3\x58\xa6\x40\x6a\x01\x13\x95\x4f\xee\x72\x03\xa4\x87\x55\x39\xa6\xa7\x8c\xb9\xfb\x4f\x00\x00\x00\xff\xff\xcc\xcc\xa9\x14\xf9\x23\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4d\x93\xdb\xb8\xd1\xbe\xf3\x57\xf4\xeb\x3d\x78\xb4\xaf\xac\xd9\x43\x2a\x87\xa9\xd8\x5e\x7b\xed\x49\xf9\x90\x54\xca\x1e\xaf\x0f\x49\x2a\x82\xc8\xa6\x84\x35\x08\x70\x01\x50\xb2\x32\x35\xff\x3d\xd5\x0d\x80\x24\x28\x6a\x66\xbc\x59\xc7\x97\xd5\x90\x40\xa3\x3f\x9f\x7e\x1a\xdc\xcb\xef\xbf\x2f\x8a\xef\xe0\x66\x87\x70\xad\xcc\x01\xae\x3b\xbd\x95\x1b\x85\x70\x63\x3e\xa3\x06\xe7\x85\xae\x84\xad\x8a\xe2\xbb\xef\x60\x9d\x5e\xf2\xbb\x35\x94\x46\x7b\x2b\x4a\x5f\x14\xbc\x7d\x7e\x27\x48\x07\xda\x80\x32\x7a\x8b\x16\x84\x06\xa9\x3d\xda\x5a\x94\x58\xf8\x9d\xf0\x20\x94\x82\x3a\x6d\xf5\xbc\x35\xc9\x75\x70\x30\x9d\xaa\x60\x27\xf6\xf4\x8a\x9e\xd7\xc6\x36\xe0\xcd\xaa\x28\xde\xd5\x20\xa0\x73\x68\x1d\x1c\x84\xf6\x8e\x16\x54\xd8\x2a\x73\x04\x01\x1a\x0f\x13\x59\x4b\xf0\x3b\x94\x76\xd0\xb9\x32\x48\x8a\x79\xd0\x88\x15\x6d\x96\x4d\xab\xb0\x41\xed\x69\x25\x64\xa6\x0e\x3a\x2f\x61\xd3\xf9\x28\x8a\x0f\x70\x45\x65\xce\x88\xe8\x37\x39\xa8\xb0\x96\x1a\x2b\x90\x1a\xfc\x4e\xba\x5e\x8b\x55\xf0\xeb\xcf\xa2\x53\x7e\x0d\x16\x9d\xe9\x6c\x39\xda\x59\x14\x6f\x45\xb9\x9b\xfa\xa7\x5f\xe7\x8f\x2d\xf2\xe1\xee\xf4\xf4\xf3\x42\xe3\xa1\x7f\xb3\x66\x2f\x2b\xb4\xeb\x25\xac\xdf\x63\x89\x72\xcf\xbf\x85\xae\x60\xfd\x5a\x28\xa1\x4b\x9c\xdb\xed\x38\xda\x6e\x62\x5e\xa9\x84\x45\x68\x2d\x3e\x2b\x8d\xae\xa4\x97\x46\x3b\x16\xd5\x1a\xe7\xc7\xcf\x38\xe6\x16\x9d\xb7\xb2\xf4\x05\x29\x8a\x5f\xb0\xec\xe8\x25\x98\x9a\x35\xaf\x3b\x5d\x86\xc5\xec\x2e\x04\xb6\x64\xc5\xe7\x1e\x81\xce\x71\xd8\x0a\x2b\x3c\xc2\x06\x4b\xd1\x91\x2e\x1e\xb6\x72\x8f\x8e\x97\x53\x52\xf0\x0f\xb1\x91\x4a\xfa\x23\xf9\xc6\xed\x84\xc5\x42\x80\xc5\x1a\x2d\xea\x92\xf3\x29\x84\x91\xa5\x07\xbd\x8c\x56\x47\xc0\x2f\xad\x71\x51\x54\x2d\x51\x55\x6e\xd0\xa8\x90\x1a\x8c\x46\x30\x16\x1a\x63\x31\x69\x3c\xb8\x82\x12\x93\x72\xda\x99\xa8\x50\xc8\xd0\x89\x36\x8d\xf8\x8c\x50\x76\xce\x9b\xa6\xf7\x70\x74\x4d\x1f\x44\xf2\x4d\xee\x65\x4a\x70\x03\x7b\x61\xa5\xe9\x68\xb5\xd4\x5b\x07\x07\xe9\x77\x2c\x3e\x64\xe3\xaa\xb8\x36\x16\xf0\x8b\x20\x31\x4b\x10\x50\x8b\xae\x44\x0f\xa5\xd0\xb0\xc1\x41\x3a\x56\xb0\x39\xa6\x82\x92\x7a\x5b\x04\x77\x40\x4a\x8a\x2c\x5b\xbe\xbf\x2c\x0a\xd9\xb4\xc6\x7a\xf8\x59\xe2\xe1\x3d\x3a\xa3\xf6\x68\xa1\xb6\xa6\x81\x27\xe3\x47\x4f\x8a\xe2\xf2\xf2\x32\x2f\x1e\x7a\x92\x3d\x8d\x00\xd1\xeb\x22\x62\xb6\x58\x1c\x01\x85\xc5\x5f\x3b\x69\xe7\xca\x2a\x2f\x06\x96\x3c\x28\x0b\x9f\x10\x9c\x97\x4a\x05\xd0\x90\x1e\x84\xcb\x40\x07\x76\x68\x87\xbc\xf1\xfc\x17\xa7\x94\x69\x38\x73\xea\x4e\xb1\xc8\xce\x87\x68\x35\xe8\x77\xa6\x8a\xc1\x69\x84\x3e\x42\x6b\xcd\x2f\xc8\xe0\x44\xc7\x84\xc3\x08\x81\x48\x53\x3e\xd4\xe8\x09\xd6\xb8\x25\x8b\x8c\xc8\x11\x52\x78\x73\x24\x63\x1b\x14\xda\xf5\xb6\xae\x18\x0c\x43\x1a\x0c\x4f\xe9\x37\x3f\xeb\xa3\x1c\x6c\x4e\x4e\x71\x59\xb9\x0f\xd0\x21\xca\x12\x9d\xbb\x10\x4a\x2d\x7a\x4d\x46\x7e\xc8\x62\x74\x95\x07\xf6\xb6\x28\x00\x00\x2e\x2f\xe1\x95\x06\xd4\x5e\xfa\xe8\xff\xda\x58\xd2\xd1\x1c\xa4\xde\xf2\xb1\x94\x7e\x95\x15\x07\xa1\xb8\x16\x38\x07\x43\x5e\x88\x50\x58\x2c\x68\xac\xca\x58\xdc\xa7\xb8\x3b\x1d\x77\xc9\x7d\x08\xf7\x21\xd4\xc1\x0d\xd8\x48\x4f\xe9\x7a\xd8\xa1\x4e\x07\x90\x03\xd3\xc9\xfa\x81\xe3\xf6\xe3\x83\xf4\x85\x68\x4c\xa7\xfd\x15\x7c\xbc\x96\x5f\xfe\xf8\x87\x25\x43\xe8\x15\x7c\xf0\x56\xea\xed\x92\x45\x5d\xc1\xab\xaa\xb2\xe8\xdc\xcb\xf0\xf7\xc7\x8f\xef\xde\x5c\xc1\xc7\x77\xda\xd3\xfa\xfe\xd8\xf1\xe3\xc5\x6f\x31\xa0\xc2\xd6\x38\xe9\x43\x8a\xdf\xaf\xfe\x9b\xb4\xf4\x01\xf5\xbd\x19\x2b\xef\x4d\xae\x7a\x7f\xe0\x19\xd5\xdf\xde\xa3\xf6\x0e\x61\xab\xcc\x46\x28\xd8\x74\x56\xc7\xaa\xa0\x65\xa5\x50\x8a\x56\x11\x0c\x09\xd0\x46\x3f\xfb\x37\x5a\x03\x9b\xd0\x40\xce\xd8\xf3\xba\xb3\xfa\x41\x63\xa6\xbe\x1f\x69\xfa\x7a\x24\x9d\xd0\x65\xec\xfc\x21\xc3\xd9\x92\x36\x00\x9a\x1b\xf8\x48\x0f\xe6\xff\xe8\xf7\x51\x5a\x6f\xd1\x7b\xca\xea\xa8\x39\x48\x86\x46\xc6\xa6\xec\x9c\xb1\x35\xa7\xdd\x31\xa9\x06\xb7\xbc\x38\x1d\xf0\x67\x0c\xe5\x9b\x84\xc7\xbe\xb1\xef\x63\x3e\x95\xbc\x97\x78\x20\x4d\x49\xad\x28\xf2\x62\x91\x3c\xc5\x3b\xee\x06\x77\x24\xd0\x7e\x8c\x3f\x90\xcc\x2a\x63\x7b\x8b\x10\x13\x50\x84\x9c\x90\xb2\x9b\x3a\x42\x12\x32\x2e\x6a\x6e\x76\x09\x78\x18\x03\x8e\x2d\xae\x4e\xce\x7d\xe7\xa1\xa7\x57\xf1\xc0\xfc\x2c\xa3\x61\xbd\x49\x1c\x83\x30\x78\xd9\xef\x1d\xb5\x74\x85\x82\x5a\xa8\x69\x63\x06\xb6\xc6\x39\x19\xbb\xa8\xa9\xa1\xb4\x28\x58\x89\xd8\x49\x63\xa8\xad\x1b\x54\x27\x8b\x89\x9f\x31\xcd\x23\xef\x0a\x2b\xd5\x31\xf2\x35\xc6\x68\x73\xd0\x29\x2a\xab\xaf\x89\x73\xdf\x28\x23\x56\xa6\x23\x93\x07\xc1\x75\x9b\x48\x62\xef\x75\x60\x12\x9d\x09\x21\xe2\x64\xd1\x77\x96\xa0\x22\x12\x94\xbe\xd1\x5b\x6c\xcc\x9e\x51\x23\x34\xfc\xd1\xc6\x4c\xc8\xcd\x88\x4a\x3d\x75\xd1\x1e\x50\xb8\x47\x45\x85\xbb\x8e\x06\x26\x68\x5c\xac\xb3\xdd\x1f\x0c\xb1\x2f\x63\xc9\x44\xc2\xa7\xb0\x5b\xfa\x25\xf3\x9f\xc0\xcb\x51\x52\xff\xec\xbd\x09\x66\x43\x8d\x11\xa4\x77\xa8\xea\x4c\x9a\x61\xe6\x1f\xa1\xbf\x1a\xb1\x30\xb6\x6a\x9d\x74\x58\xcf\x5b\x33\xd5\x94\x0b\x23\x39\x7a\x82\x22\x8b\x2b\xf8\xf1\x96\x3d\x76\x37\xaa\x41\xfa\x47\x4c\x74\xf2\x28\x36\xb9\xb5\x45\x17\xb9\x72\xcd\x6c\xcd\x44\x47\x53\x04\x60\x2f\x54\x87\x27\xdb\xc2\x96\xd5\xb8\x3c\xe1\xf9\x73\x88\xca\x9c\x2c\xa7\x7f\x4f\x3e\x0d\xcd\x32\xac\x83\xa6\x73\x9e\x78\x19\x1d\xe7\x44\x83\xc4\x56\x66\x70\x62\xe8\x75\x6c\xd9\x93\x13\xf1\x04\xd6\x33\x4d\x2e\xfc\x37\x01\x2b\x45\x85\x14\xbe\x39\xb6\x78\xb1\x58\xc9\x8a\xe2\x51\x4b\xb4\xa9\xef\xf1\x02\x73\xd0\x68\x5f\xae\x44\x68\x23\x63\x18\xe6\xd7\x5d\x27\xab\x93\x2e\x18\x9d\x41\xef\x16\x99\x6e\x77\x45\xfe\x6b\x04\x5a\x69\xe4\xf8\xef\x41\x2b\xf6\xb5\x19\xcc\x92\x3a\x86\xf2\x11\x98\xf5\x09\x13\x52\x48\x5d\xaa\xae\x42\x10\xd0\xcf\x2d\x41\x8d\x72\x87\xe5\xe7\x3c\x40\x11\xad\x7a\x29\x07\xec\xb9\x20\xf1\xff\xc7\xd0\xff\xe0\x86\xc0\xf1\x7a\x39\xc4\xd7\x2b\x93\x16\xcd\x73\xfd\x25\x28\xf9\x19\xc1\xb5\x4a\x72\x77\x69\xa0\x6b\x09\x3a\x7a\x21\x0e\x75\x15\x5e\xd0\xe8\x20\x6b\x2e\x3a\x0f\xad\x0a\x93\x0a\x3c\x1e\xed\x52\xb0\xa6\x68\x17\x5d\x0f\x5e\x7c\xc6\x01\xaa\x08\xbe\xe2\x1b\x82\x8c\x33\x61\xc8\xa6\xd8\xfb\xea\x9e\x95\xa2\x92\x8f\x32\x2f\x42\xb6\xa6\x32\x5f\xe4\x2a\x6d\xd1\x7f\xe8\x5a\x1a\x56\xb0\xe2\x05\x94\xee\xd4\x44\x28\x8e\x42\xa9\xe3\x08\x59\x95\x74\x9e\x6a\x6c\x1f\x46\x40\x5e\x18\xa9\x36\x13\xf0\x68\x34\xe9\xd1\x7a\xf7\x60\xa3\x9e\x39\x97\x9a\xf6\xed\x0d\x97\xdf\x6b\x63\xd4\x5d\xae\xeb\xfb\xa8\xc9\x61\x87\x8c\xa4\xc6\x72\x02\x32\xdb\x92\x7b\xea\x7a\x34\xe0\x4b\x17\x35\x08\x43\x1b\xbd\xcd\x8a\x27\x49\x7b\x95\xec\xe0\x5c\x15\x3a\xee\x02\x1a\x5a\x58\x90\xdb\x31\x6c\xff\x42\xa0\x13\xc1\xcd\xdb\x8e\x67\x91\x0a\xeb\x87\xb9\x88\x74\xa7\x16\x5e\x04\x6c\xa1\x9f\x8b\x60\xe3\xb4\xd0\x07\x62\x9b\x51\x84\x0a\x29\x18\xcb\xe0\xea\x21\xd3\x42\x67\xe1\x01\x7a\xb8\xee\xe9\xed\x5d\x26\x7e\xb5\x84\x1b\x2b\xb4\xab\xd1\x1a\xbb\xec\x9b\x71\xb8\xbd\x48\x63\xcc\x40\x29\xba\x81\xd6\x92\x7f\x5d\xb2\x02\x8e\xe8\xbf\xa6\x0c\xd8\x94\xab\x91\x36\xc3\xc1\xbd\x5e\xe3\x41\x6a\x35\x9d\xa8\x92\x46\xd7\x12\x55\x15\x53\xcd\x8a\x29\xa8\x98\x1a\xc4\x7d\xdc\x50\xd8\xb4\xb4\x67\x84\xdf\x92\x6d\xfe\xaf\xcb\x2b\x35\x81\x98\x93\x93\x8b\x02\xe0\x74\x61\x84\xae\xf2\x61\x9e\x8f\x09\xb3\x15\x7e\x69\xb1\xf4\x58\x65\x32\xbd\x09\x17\x3c\x7d\x31\x0d\x0c\x90\x74\x5b\x82\x33\x61\x3e\xe7\x29\x5e\x0f\xd7\x7a\x91\x58\xf2\x3d\x42\xa6\x4b\x26\x9e\x5a\x11\x1b\x96\x48\xd7\xef\x81\x17\x13\xc2\x42\xb3\x0f\x2a\x73\x08\xad\x88\x5d\x31\xba\xd1\x49\xad\xc5\x75\x36\x36\x4e\xdb\xe9\x67\x5e\x36\xf1\xa6\x90\x6b\x6b\x2a\x8f\x5d\xb2\xc5\x84\x08\xe3\x89\xaf\x15\xdc\x2f\xfa\x42\x88\x05\x19\x1b\x51\x7e\x1b\xbc\x0a\xf7\x0f\x2b\xc8\xe4\xcb\xfa\x84\x75\xb8\x0f\xdd\x86\xb4\xb9\x30\x75\x80\x8d\x3f\xfd\x78\x3b\x23\xe9\xee\xc5\xc5\x62\x31\x43\xd7\x22\x6e\xdd\xe6\x62\xaf\x18\xc8\xee\x72\xee\x01\xa8\x1c\xce\x33\xbe\x00\xbc\xcc\x49\x9b\xd6\x1f\xa1\x92\x1c\x31\x61\x8f\x89\x81\xa5\xe4\x63\xf6\xc7\xb1\xed\xdd\x70\xd8\x19\xa8\x8c\x7e\xea\xe7\x24\x0f\x77\x55\xb3\xfe\x59\x82\xeb\xca\x1d\x1d\x92\xbf\xfe\x70\x90\xbe\xdc\x6d\x8c\xb0\xd5\x7a\x09\x6b\x7e\x76\x6d\xec\x41\x10\x01\x5f\x03\xfa\x72\x75\xd6\x15\x77\x67\x29\x57\x96\x9f\x3f\x05\xf6\x22\xeb\x99\xfe\x32\x20\x22\x37\x18\xe9\x46\xa8\x7d\x36\x83\x1f\xd7\x0e\x26\x01\x88\x4a\xa7\xf0\xcd\x96\xc0\xdf\x49\xc8\x3f\xe1\xe5\x4b\xa8\x85\x72\x78\xce\xa0\x99\x51\x6b\x1d\x18\xef\x7a\x18\xb6\x58\xee\x53\x97\x5d\x48\xc0\xec\x98\xa5\xf1\x30\x1d\xb5\x92\x60\xf2\xcb\xe9\xfe\xdf\x7b\x3e\xb1\x73\xc9\x9a\x1c\x35\x4c\x19\x2f\x1e\x98\x32\x5e\x85\xd1\x62\x98\x19\xd2\x90\xa1\x68\x82\xf3\x3b\x41\x63\x1d\xe0\xaf\x9d\x50\xe1\xaf\x99\x56\x31\x33\x66\xdc\x3d\x72\x98\x8a\xd7\xaa\xe0\x5a\x2c\xa5\x50\x3d\x1a\xc2\x7a\x83\xb5\xb1\xb8\x66\x6e\x1c\x3b\x54\xa8\xae\x78\xe8\x70\x23\xc0\xd7\xee\x73\xc2\xe3\x2d\xe8\x06\xb7\x52\x6b\x22\x91\x93\x4f\x06\xc3\xc7\x84\x99\xdd\x8f\xf0\xed\xf3\xe7\x10\xb4\xbc\x38\x79\xb7\x80\x67\xf7\xfb\xfd\xaf\x7d\xfe\x24\x67\x8e\xa7\xbb\x44\xbf\x07\x1f\xb7\x16\xf7\x7c\x93\x9f\x96\x8b\xc0\xd6\xa7\xd3\x5e\x7a\x7f\x2e\x1c\x77\x8f\xa5\xe4\xa2\xaa\x88\x8e\x0f\x07\x46\x56\x9e\xc5\xfe\xa4\xf4\xbf\x86\x90\xcf\xe1\xf8\x14\xc4\x89\xa8\x3a\x87\xd6\x0f\x97\xda\xa5\xd1\xa5\x45\x1f\xbb\x54\x74\xcf\x70\x3d\x1a\xe8\x83\x74\xfd\x94\x3c\x95\x17\x21\x7b\xc4\x7e\x7b\xca\x9c\xee\xa9\xa3\xb4\x47\x14\x1c\xd9\xb2\x92\xee\x9d\x76\x9e\x03\x9f\x37\x9a\xc5\x15\xcc\x47\xff\x27\xa1\x89\x5a\x26\xef\xf3\x27\x87\xd2\x34\xad\xf0\xa3\x0f\x77\x64\xdf\x99\xe1\xfd\xf4\x8a\x97\x15\x19\x67\x60\x9a\xe3\xd3\x8b\x99\x39\xde\x9b\x33\x53\x7c\xba\x0b\x1e\xcd\xf0\x93\xeb\x60\x96\x7a\xdf\x04\x0f\xe7\xcb\xfe\x2b\x0b\xe9\xff\xd3\xbb\x13\x13\x17\xbf\xa9\xb6\x5c\xd7\x3c\x58\x54\x43\x3a\xdd\x8b\x6d\x93\x62\xe2\x2b\x46\x7c\x4b\x1c\x21\xd6\x91\x52\xe6\xe0\x78\xa4\x0a\x9f\x19\x4d\x5c\x93\x35\x10\xce\xc1\x9d\xa0\xf2\x3b\xb9\x0d\x87\x07\x6a\x6a\x7a\xe4\xc5\x57\xdf\x68\x9d\xb9\x9a\xfa\x61\xf5\xc3\x15\x3c\x21\x62\xad\xf1\xa0\x8e\xf1\xa0\xe8\x8f\xe0\x4f\x26\xbe\x63\x8d\xcf\xbb\x09\xf2\x21\xef\x1b\x38\x6a\x6e\x26\x9b\x75\xd0\x3e\x51\x87\x9e\x77\xcc\x23\xd1\xc8\x55\x33\x9e\x1b\xbc\x16\xea\x8a\x5c\x36\x92\xcc\x8e\xeb\x29\x72\x80\x9a\xfe\x8e\xbb\x11\xbe\xdc\xc5\x34\x73\xe1\xab\xe5\x49\xa5\x7f\x93\xa8\x9c\xc4\xe1\x2f\xe1\xc3\x8c\x37\xe1\x3b\x8d\x98\xfc\x7f\x0c\xd9\x2c\x3e\xfa\x2a\x38\xf9\x14\x1b\x2f\x0a\xce\xce\x3d\x67\x66\x9d\xfe\xca\x7d\x74\xf7\xdd\xe3\x72\x2a\xc8\x9e\x99\x31\x24\x3e\x75\xe0\x8d\x17\x8a\x19\xa8\x3a\xce\x06\x9c\x2c\xb9\xf8\x57\x10\xf3\x98\x2e\x73\x8a\xeb\x8c\x41\x6d\xb7\x51\xb2\x8c\x14\x73\x45\xb6\x0b\xa9\x5d\xc8\x9e\x11\xc0\x67\x1b\xc3\xcb\xa4\xfa\x8b\x18\xad\x37\xe1\x9e\x30\x31\x9d\xf1\x17\xb1\x4e\x47\x96\x35\x35\x5b\x3a\xd8\x72\x68\x6d\x20\x5d\x14\xcf\xff\xcb\x33\x84\xfb\xc0\xe4\xd3\x58\xa6\x40\x6a\x00\x13\x95\x4f\x6e\x72\x03\xa0\x87\x55\x39\xa2\xa7\x7c\xb9\xfb\x4f\x00\x00\x00\xff\xff\x6b\xff\x6f\x9b\xf7\x23\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -114,7 +114,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xeb, 0xd1, 0x81, 0xd9, 0x42, 0x9c, 0xb, 0x63, 0x1f, 0x72, 0x9f, 0x84, 0xc9, 0x92, 0x9e, 0x6d, 0x27, 0xea, 0x15, 0x4b, 0xc4, 0x81, 0xc9, 0x32, 0x36, 0xe4, 0x21, 0xdd, 0xd5, 0x63, 0x5, 0xad}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x25, 0xcf, 0xb8, 0xa9, 0x4f, 0xd2, 0xa8, 0xc6, 0x6c, 0xa, 0xe2, 0xb3, 0x96, 0xa2, 0x74, 0xc9, 0x83, 0x3e, 0x2d, 0xc4, 0x60, 0x99, 0xda, 0x3e, 0x74, 0x5b, 0xe0, 0xc4, 0xfe, 0xdb, 0x3, 0x7c}}
 	return a, nil
 }
 
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index b7ea10d9..d7fb755c 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -3,16 +3,30 @@ module github.com/onflow/flow-ft/lib/go/test
 go 1.18
 
 require (
-	github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1
-	github.com/onflow/flow-emulator v0.59.1-0.20231218185945-9116c416533f
+	github.com/onflow/cadence v1.0.0-preview.2.0.20240122125204-5ce1f36f95bb
+	github.com/onflow/flow-emulator v0.59.1-0.20240122200325-58ef35ed4aed
 	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20231212194336-a2802ba36596
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
-	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20231213195450-0b951b342b14
+	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2.0.20240122164005-147ad40664ca
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240120002146-9f1763b66d80
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
 
+require (
+	github.com/Microsoft/go-winio v0.6.1 // indirect
+	github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
+	github.com/consensys/bavard v0.1.13 // indirect
+	github.com/consensys/gnark-crypto v0.12.1 // indirect
+	github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect
+	github.com/ethereum/c-kzg-4844 v0.4.0 // indirect
+	github.com/mmcloughlin/addchain v0.4.0 // indirect
+	github.com/supranational/blst v0.3.11 // indirect
+	golang.org/x/mod v0.14.0 // indirect
+	golang.org/x/tools v0.16.0 // indirect
+	rsc.io/tmplfunc v0.0.3 // indirect
+)
+
 require (
 	github.com/DataDog/zstd v1.5.2 // indirect
 	github.com/SaveTheRbtz/mph v0.1.2 // indirect
@@ -27,7 +41,7 @@ require (
 	github.com/cespare/xxhash/v2 v2.2.0 // indirect
 	github.com/cockroachdb/errors v1.9.1 // indirect
 	github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
-	github.com/cockroachdb/pebble v0.0.0-20230906160148-46873a6a7a06 // indirect
+	github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 // indirect
 	github.com/cockroachdb/redact v1.1.3 // indirect
 	github.com/coreos/go-semver v0.3.0 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
@@ -39,7 +53,7 @@ require (
 	github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
 	github.com/dustin/go-humanize v1.0.1 // indirect
 	github.com/ef-ds/deque v1.0.4 // indirect
-	github.com/ethereum/go-ethereum v1.12.0 // indirect
+	github.com/ethereum/go-ethereum v1.13.5 // indirect
 	github.com/fsnotify/fsnotify v1.6.0 // indirect
 	github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c // indirect
 	github.com/fxamacker/circlehash v0.3.0 // indirect
@@ -106,11 +120,11 @@ require (
 	github.com/multiformats/go-varint v0.0.7 // indirect
 	github.com/olekukonko/tablewriter v0.0.5 // indirect
 	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
-	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20231212203043-37cbe453d425 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20231204202154-f8dfacb39d86 // indirect
-	github.com/onflow/flow-go v0.32.4-0.20231214190912-4c4527a42fb0 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240120002724-ff3d1a4bab55 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240120002724-ff3d1a4bab55 // indirect
+	github.com/onflow/flow-go v0.33.2-0.20240122190738-254af677b873 // indirect
 	github.com/onflow/flow-go/crypto v0.25.0 // indirect
-	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231124194313-106cc495def6 // indirect
+	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2 // indirect
 	github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba // indirect
 	github.com/opentracing/opentracing-go v1.2.0 // indirect
 	github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
@@ -161,8 +175,8 @@ require (
 	go.uber.org/atomic v1.11.0 // indirect
 	go.uber.org/multierr v1.11.0 // indirect
 	go.uber.org/zap v1.24.0 // indirect
-	golang.org/x/crypto v0.16.0 // indirect
-	golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
+	golang.org/x/crypto v0.17.0 // indirect
+	golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc // indirect
 	golang.org/x/net v0.19.0 // indirect
 	golang.org/x/sync v0.5.0 // indirect
 	golang.org/x/sys v0.15.0 // indirect
@@ -176,7 +190,6 @@ require (
 	google.golang.org/grpc v1.59.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
-	gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 	lukechampine.com/blake3 v1.2.1 // indirect
 	modernc.org/libc v1.22.3 // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 6200e459..f4017f0a 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -542,9 +542,12 @@ github.com/DataDog/zstd v1.5.2 h1:vUG4lAyuPCXO0TLbXvPv7EB7cNK1QV/luu55UHLrrn8=
 github.com/DataDog/zstd v1.5.2/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw=
 github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk=
 github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY=
+github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
+github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
 github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q=
 github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8=
+github.com/SaveTheRbtz/mph v0.1.1-0.20240117162131-4166ec7869bc/go.mod h1:LJM5a3zcIJ/8TmZwlUczvROEJT8ntOdhdG9jjcR1B0I=
 github.com/SaveTheRbtz/mph v0.1.2 h1:5l3W496Up+7BNOVJQnJhzcGBh+wWfxWdmPUAkx3WmaM=
 github.com/SaveTheRbtz/mph v0.1.2/go.mod h1:V4+WtKQPe2+dEA5os1WnGsEB0NR9qgqqgIiSt73+sT4=
 github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0=
@@ -593,7 +596,6 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24
 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
-github.com/bits-and-blooms/bitset v1.2.2/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
 github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
 github.com/bits-and-blooms/bitset v1.7.0 h1:YjAGVd3XmtK9ktAbX8Zg2g2PwLIMjGREZJHlV4j7NEo=
 github.com/bits-and-blooms/bitset v1.7.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
@@ -606,7 +608,7 @@ github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtyd
 github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 h1:59Kx4K6lzOW5w6nFlA0v5+lk/6sjybR934QNHSJZPTQ=
 github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
 github.com/bytecodealliance/wasmtime-go/v7 v7.0.0/go.mod h1:bu6fic7trDt20w+LMooX7j3fsOwv4/ln6j8gAdP6vmA=
-github.com/c-bata/go-prompt v0.2.5/go.mod h1:vFnjEGDIIA/Lib7giyE4E9c50Lvl8j0S+7FVlAwDAVw=
+github.com/c-bata/go-prompt v0.2.6/go.mod h1:/LMAke8wD2FsNu9EXNdHxNLbd9MedkPnCdfpU9wwHfY=
 github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
 github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -637,17 +639,23 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH
 github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU=
-github.com/cockroachdb/datadriven v1.0.3-0.20230801171734-e384cf455877 h1:1MLK4YpFtIEo3ZtMA5C795Wtv5VuUnrXX7mQG+aHg6o=
+github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4=
 github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8=
 github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk=
 github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
 github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE=
 github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
-github.com/cockroachdb/pebble v0.0.0-20230906160148-46873a6a7a06 h1:T+Np/xtzIjYM/P5NAw0e2Rf1FGvzDau1h54MKvx8G7w=
-github.com/cockroachdb/pebble v0.0.0-20230906160148-46873a6a7a06/go.mod h1:bynZ3gvVyhlvjLI7PT6dmZ7g76xzJ7HpxfjgkzCGz6s=
+github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A=
+github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593/go.mod h1:6hk1eMY/u5t+Cf18q5lFMUA1Rc+Sm5I6Ra1QuPyxXCo=
 github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ=
 github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
+github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo=
+github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ=
 github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM=
+github.com/consensys/bavard v0.1.13 h1:oLhMLOFGTLdlda/kma4VOJazblc7IM5y5QPd2A/YjhQ=
+github.com/consensys/bavard v0.1.13/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI=
+github.com/consensys/gnark-crypto v0.12.1 h1:lHH39WuuFgVHONRl3J0LRBtuYdQTumFSDtJF7HpyG8M=
+github.com/consensys/gnark-crypto v0.12.1/go.mod h1:v2Gy7L/4ZRosZ7Ivs+9SfUDr0f5UlG+EM5t7MPHiLuY=
 github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
 github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
@@ -660,6 +668,8 @@ github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfc
 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/crate-crypto/go-kzg-4844 v0.7.0 h1:C0vgZRk4q4EZ/JgPfzuSoxdCq3C3mOZMBShovmncxvA=
+github.com/crate-crypto/go-kzg-4844 v0.7.0/go.mod h1:1kMhvPgI0Ky3yIa+9lFySEBUBXkYxeOi8ZF1sYioxhc=
 github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
 github.com/dave/astrid v0.0.0-20170323122508-8c2895878b14/go.mod h1:Sth2QfxfATb/nW4EsrSi2KyJmbcniZ8TgTaji17D6ms=
@@ -720,9 +730,11 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7
 github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo=
 github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w=
 github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw=
+github.com/ethereum/c-kzg-4844 v0.4.0 h1:3MS1s4JtA868KpJxroZoepdV0ZKBp3u/O5HcZ7R3nlY=
+github.com/ethereum/c-kzg-4844 v0.4.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0=
 github.com/ethereum/go-ethereum v1.9.13/go.mod h1:qwN9d1GLyDh0N7Ab8bMGd0H9knaji2jOBm2RrMGjXls=
-github.com/ethereum/go-ethereum v1.12.0 h1:bdnhLPtqETd4m3mS8BGMNvBTf36bO5bx/hxE2zljOa0=
-github.com/ethereum/go-ethereum v1.12.0/go.mod h1:/oo2X/dZLJjf2mJ6YT9wcWxa4nNJDBKDBU6sFIpx1Gs=
+github.com/ethereum/go-ethereum v1.13.5 h1:U6TCRciCqZRe4FPXmy1sMGxTfuk8P7u2UoinF3VbaFk=
+github.com/ethereum/go-ethereum v1.13.5/go.mod h1:yMTu38GSuyxaYzQMViqNmQ1s3cE84abZexQmTgenWk0=
 github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8=
 github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
@@ -787,8 +799,6 @@ github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5Nq
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw=
 github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4=
-github.com/go-test/deep v1.0.5/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
-github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
 github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
 github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
 github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
@@ -893,6 +903,7 @@ github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLe
 github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
 github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 h1:hR7/MlvK23p6+lIw9SN1TigNLn9ZnF3W4SYRKq2gAHs=
 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -1101,13 +1112,13 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcME
 github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
 github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
 github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
 github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
-github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
 github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
@@ -1131,6 +1142,9 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
 github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/mmcloughlin/addchain v0.4.0 h1:SobOdjm2xLj1KkXN5/n0xTIWyZA2+s99UCY1iPfkHRY=
+github.com/mmcloughlin/addchain v0.4.0/go.mod h1:A86O+tHqZLMNO4w6ZZ4FlVQEadcoqkyU72HC5wJ4RlU=
+github.com/mmcloughlin/profile v0.1.1/go.mod h1:IhHD7q1ooxgwTgjxQYkACGA77oFTDdFVejUS1/tS/qU=
 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
@@ -1178,25 +1192,26 @@ github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N
 github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
-github.com/onflow/cadence v1.0.0-preview.1/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
-github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1 h1:xIFPRIA/pmyplEu5JxuMCfC6zfdqRW7QDHYJ8ogCNuc=
-github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1/go.mod h1:60RhxKY5V4DXFQfvXQa48eZZVN19O7Lu9cp53FM54vo=
-github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20231212203043-37cbe453d425 h1:zvLHFxySeg61/dgp/IbvaN+k4BXPuAhBOslrPQjrX9Q=
-github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20231212203043-37cbe453d425/go.mod h1:N+1bEs/159Efg75hSQIkb90FVinxUMxL/6mA3I6dXtQ=
-github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20231204202154-f8dfacb39d86 h1:5dDtY8iItVVvIY+YXbavGDMaVz4Gq7sq4ILF/cZb7/8=
-github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20231204202154-f8dfacb39d86/go.mod h1:6XIbPht7u7ADszXSHI2APY+OL78XVaUU8+OdgWEElAY=
-github.com/onflow/flow-emulator v0.59.1-0.20231218185945-9116c416533f h1:OiCv5EW0RScRkNqZQ6wH+BtkiipRcjhCMo3uXfjMRr4=
-github.com/onflow/flow-emulator v0.59.1-0.20231218185945-9116c416533f/go.mod h1:mzbYJhEebev+x55s7CY1Iv8jXYv3GHYklBiXGdXWO98=
-github.com/onflow/flow-go v0.32.4-0.20231214190912-4c4527a42fb0 h1:cWH+cVzRmogm75GgmxecUoDYMSi2yZMv3/PgVM41N9o=
-github.com/onflow/flow-go v0.32.4-0.20231214190912-4c4527a42fb0/go.mod h1:PsXOc6UemYCzE7SXn3geQrpn7YdNaixkwuyPZp0cwjg=
-github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2 h1:vUVO6m85BiT8c50Oc8YGc3CU+sGqiKW9FZbmiRph2dU=
-github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2/go.mod h1:mbLrR3MkYbi9LH3yasDj1jrR4QTR8vjRLVFCm4jMHn0=
+github.com/onflow/cadence v1.0.0-preview.2.0.20240122125204-5ce1f36f95bb h1:OpNQ8+ZPBg5DHchnZyiBySz/OQc4uIeptTm7cBfCvOA=
+github.com/onflow/cadence v1.0.0-preview.2.0.20240122125204-5ce1f36f95bb/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
+github.com/onflow/crypto v0.25.0 h1:BeWbLsh3ZD13Ej+Uky6kg1PL1ZIVBDVX+2MVBNwqddg=
+github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240120002724-ff3d1a4bab55 h1:2MDRQGjNs4P9o3qDZkffp4KnLTQU+EsMnD0M44SPxF0=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240120002724-ff3d1a4bab55/go.mod h1:BLHo5p9QaE+t/Erf8lXOIU/LdTj2Fhs2BGQvjjOCdyU=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240120002724-ff3d1a4bab55 h1:f+ETsRPfwhVwmA4y+qyp/lmGQXbz/dkzUJ93TPckQcM=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240120002724-ff3d1a4bab55/go.mod h1:PMZB6yTducbk3uAj/8N9yqqd0IVsV54yue+LesbGdto=
+github.com/onflow/flow-emulator v0.59.1-0.20240122200325-58ef35ed4aed h1:ybV/+STwazQhJrTuWklYWcuZdWFpti5b0EkTE2MIe7Q=
+github.com/onflow/flow-emulator v0.59.1-0.20240122200325-58ef35ed4aed/go.mod h1:UfcYYcaMMFHvSBA78+goDf2K/eNDrDoBlqjN+JPZyJE=
+github.com/onflow/flow-go v0.33.2-0.20240122190738-254af677b873 h1:h4Ea4hk4Ry19Q/55L/vHnRy4E2NxTA5Y5ZKn2RV1FP8=
+github.com/onflow/flow-go v0.33.2-0.20240122190738-254af677b873/go.mod h1:qiNwvJHt0ATFSiF01IfORYelT5xPiHZ86paYWX3Bwzc=
+github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2.0.20240122164005-147ad40664ca h1:7yG8dYqMzWzTZWJ17dnBdS01UDlOBnf1dd1rWKcFdY0=
+github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2.0.20240122164005-147ad40664ca/go.mod h1:O5+TK1qs2c1R5X4TEQp4m2c/YhlCjwdW7bsRcUB1U8s=
 github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
 github.com/onflow/flow-go/crypto v0.25.0 h1:6lmoiAQ3APCF+nV7f4f2AXL3PuDKqQiWqRJXmjrMEq4=
 github.com/onflow/flow-go/crypto v0.25.0/go.mod h1:OOb2vYcS8AOCajBClhHTJ0NKftFl1RQgTQ0+Vh4nbqk=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20221202093946-932d1c70e288/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
-github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231124194313-106cc495def6 h1:KMN+OEVaw7KAgxL3p8ux7CMuyTvacAlYTbasOqowh4M=
-github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231124194313-106cc495def6/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
+github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2 h1:+rT+UsfTR39JZO8ht2+4fkaWfHw74SCj1fyz1lWuX8A=
+github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba h1:rIehuhO6bj4FkwE4VzwEjX7MoAlOhUJENBJLqDqVxAo=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
 github.com/onflow/wal v0.0.0-20230529184820-bc9f8244608d h1:gAEqYPn3DS83rHIKEpsajnppVD1+zwuYPFyeDVFaQvg=
@@ -1235,7 +1250,7 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
 github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
-github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
+github.com/pkg/term v1.2.0-beta.2/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
@@ -1266,7 +1281,6 @@ github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qq
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
 github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
-github.com/rivo/uniseg v0.2.1-0.20211004051800-57c86be7915a/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
 github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
 github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho=
@@ -1289,8 +1303,8 @@ github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfF
 github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk=
 github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
 github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g=
-github.com/schollz/progressbar/v3 v3.8.3/go.mod h1:pWnVCjSBZsT2X3nx9HfRdnCDrpbevliMeoEVhStwHko=
 github.com/schollz/progressbar/v3 v3.13.1 h1:o8rySDYiQ59Mwzy2FELeHY5ZARXZTVJC7iHD6PEFUiE=
+github.com/schollz/progressbar/v3 v3.13.1/go.mod h1:xvrbki8kfT1fzWzBT/UZd9L6GA+jdL7HAgq2RFnO6fQ=
 github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
 github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
 github.com/sethvargo/go-retry v0.2.3 h1:oYlgvIvsju3jNbottWABtbnoLC+GDtLdBHxKWxQm/iU=
@@ -1355,6 +1369,8 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl
 github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
 github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
 github.com/supranational/blst v0.3.10/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
+github.com/supranational/blst v0.3.11 h1:LyU6FolezeWAhvQk0k6O/d49jqgO52MSDDfYgbeoEm4=
+github.com/supranational/blst v0.3.11/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
 github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d/go.mod h1:9OrXJhf154huy1nPWmuSrkgjPUtUNhA+Zmy+6AESzuA=
 github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY=
 github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc=
@@ -1478,14 +1494,14 @@ golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPh
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
-golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
-golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
-golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
+golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
 golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
+golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
 golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1501,10 +1517,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0
 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
 golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
 golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
-golang.org/x/exp v0.0.0-20221110155412-d0897a79cd37/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
-golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
-golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
-golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
+golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc h1:ao2WRsKSzW6KuUY9IWPwWahcHCgR0s52IfwutMfEbdM=
+golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI=
 golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@@ -1544,10 +1558,11 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
 golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
-golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
 golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU=
+golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
+golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -1614,6 +1629,8 @@ golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
 golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
 golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
+golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
 golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
 golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1660,6 +1677,7 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
 golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
 golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1732,7 +1750,6 @@ golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210910150752-751e447fb3d0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -1763,17 +1780,20 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
 golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
 golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
 golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
+golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
+golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
 golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
+golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1789,6 +1809,8 @@ golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1865,10 +1887,11 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
 golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
 golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
 golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
 golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
+golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -2165,7 +2188,6 @@ gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
 gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
-gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU=
 gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c=
 gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200316214253-d7b0ff38cac9/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns=
 gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
@@ -2246,3 +2268,5 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8
 rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
 rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
+rsc.io/tmplfunc v0.0.3 h1:53XFQh69AfOa8Tw0Jm7t+GV7KZhOi6jzsCzTtKbMvzU=
+rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA=

From 9f24a73039541fb6009252af96f5275a7f842e8f Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 23 Jan 2024 16:10:15 -0600
Subject: [PATCH 078/115] remove burn method

---
 contracts/FungibleToken.cdc                | 16 +++++-----------
 lib/go/contracts/internal/assets/assets.go |  6 +++---
 2 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index d459028a..985c05eb 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -46,12 +46,17 @@ access(all) contract interface FungibleToken: ViewResolver {
     access(all) entitlement Withdraw
 
     /// The event that is emitted when tokens are withdrawn from a Vault
+    /// ****TODO**** Add view helper functions so that this event can be emitted
+    /// only when the amount is non-zero and the from address is non-nil
     access(all) event Withdrawn(amount: UFix64, type: String, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64)
 
     /// The event that is emitted when tokens are deposited to a Vault
+    /// ****TODO**** Add view helper functions so that this event can be emitted
+    /// only when the amount is non-zero and the to address is non-nil
     access(all) event Deposited(amount: UFix64, type: String, to: Address?, toUUID: UInt64, depositedUUID: UInt64)
 
     /// Event that is emitted when the global burn method is called with a non-zero balance
+    /// ****TODO**** Add Burner contract so that this event can be emitted
     access(all) event Burned(amount: UFix64, type: String, fromUUID: UInt64)
 
     /// Balance
@@ -200,15 +205,4 @@ access(all) contract interface FungibleToken: ViewResolver {
             result.getBalance() == 0.0: "The newly created Vault must have zero balance"
         }
     }
-
-    /// Method to burn a FungibleToken Vault
-    /// contract implementations should provide an implementation for this function
-    /// that subtracts the vault balance from the token's total supply
-    access(all) fun burn(_ vault: @{FungibleToken.Vault}) {
-        pre {
-            self.publicTypes().contains(vault.getType())
-            vault.balance > 0.0: "Do not use the burn method unless the vault balance is greater than zero!"
-            emit Burned(amount: vault.balance, type: vault.getType().identifier, fromUUID: vault.uuid)
-        }
-    }
 }
\ No newline at end of file
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index e340a8f7..3da6f93a 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken.cdc (10.448kB)
-// ../../../contracts/FungibleToken.cdc (9.207kB)
+// ../../../contracts/FungibleToken.cdc (9.028kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.61kB)
@@ -98,7 +98,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4d\x93\xdb\xb8\xd1\xbe\xf3\x57\xf4\xeb\x3d\x78\xb4\xaf\xac\xd9\x43\x2a\x87\xa9\xd8\x5e\x7b\xed\x49\xf9\x90\x54\xca\x1e\xaf\x0f\x49\x2a\x82\xc8\xa6\x84\x35\x08\x70\x01\x50\xb2\x32\x35\xff\x3d\xd5\x0d\x80\x24\x28\x6a\x66\xbc\x59\xc7\x97\xd5\x90\x40\xa3\x3f\x9f\x7e\x1a\xdc\xcb\xef\xbf\x2f\x8a\xef\xe0\x66\x87\x70\xad\xcc\x01\xae\x3b\xbd\x95\x1b\x85\x70\x63\x3e\xa3\x06\xe7\x85\xae\x84\xad\x8a\xe2\xbb\xef\x60\x9d\x5e\xf2\xbb\x35\x94\x46\x7b\x2b\x4a\x5f\x14\xbc\x7d\x7e\x27\x48\x07\xda\x80\x32\x7a\x8b\x16\x84\x06\xa9\x3d\xda\x5a\x94\x58\xf8\x9d\xf0\x20\x94\x82\x3a\x6d\xf5\xbc\x35\xc9\x75\x70\x30\x9d\xaa\x60\x27\xf6\xf4\x8a\x9e\xd7\xc6\x36\xe0\xcd\xaa\x28\xde\xd5\x20\xa0\x73\x68\x1d\x1c\x84\xf6\x8e\x16\x54\xd8\x2a\x73\x04\x01\x1a\x0f\x13\x59\x4b\xf0\x3b\x94\x76\xd0\xb9\x32\x48\x8a\x79\xd0\x88\x15\x6d\x96\x4d\xab\xb0\x41\xed\x69\x25\x64\xa6\x0e\x3a\x2f\x61\xd3\xf9\x28\x8a\x0f\x70\x45\x65\xce\x88\xe8\x37\x39\xa8\xb0\x96\x1a\x2b\x90\x1a\xfc\x4e\xba\x5e\x8b\x55\xf0\xeb\xcf\xa2\x53\x7e\x0d\x16\x9d\xe9\x6c\x39\xda\x59\x14\x6f\x45\xb9\x9b\xfa\xa7\x5f\xe7\x8f\x2d\xf2\xe1\xee\xf4\xf4\xf3\x42\xe3\xa1\x7f\xb3\x66\x2f\x2b\xb4\xeb\x25\xac\xdf\x63\x89\x72\xcf\xbf\x85\xae\x60\xfd\x5a\x28\xa1\x4b\x9c\xdb\xed\x38\xda\x6e\x62\x5e\xa9\x84\x45\x68\x2d\x3e\x2b\x8d\xae\xa4\x97\x46\x3b\x16\xd5\x1a\xe7\xc7\xcf\x38\xe6\x16\x9d\xb7\xb2\xf4\x05\x29\x8a\x5f\xb0\xec\xe8\x25\x98\x9a\x35\xaf\x3b\x5d\x86\xc5\xec\x2e\x04\xb6\x64\xc5\xe7\x1e\x81\xce\x71\xd8\x0a\x2b\x3c\xc2\x06\x4b\xd1\x91\x2e\x1e\xb6\x72\x8f\x8e\x97\x53\x52\xf0\x0f\xb1\x91\x4a\xfa\x23\xf9\xc6\xed\x84\xc5\x42\x80\xc5\x1a\x2d\xea\x92\xf3\x29\x84\x91\xa5\x07\xbd\x8c\x56\x47\xc0\x2f\xad\x71\x51\x54\x2d\x51\x55\x6e\xd0\xa8\x90\x1a\x8c\x46\x30\x16\x1a\x63\x31\x69\x3c\xb8\x82\x12\x93\x72\xda\x99\xa8\x50\xc8\xd0\x89\x36\x8d\xf8\x8c\x50\x76\xce\x9b\xa6\xf7\x70\x74\x4d\x1f\x44\xf2\x4d\xee\x65\x4a\x70\x03\x7b\x61\xa5\xe9\x68\xb5\xd4\x5b\x07\x07\xe9\x77\x2c\x3e\x64\xe3\xaa\xb8\x36\x16\xf0\x8b\x20\x31\x4b\x10\x50\x8b\xae\x44\x0f\xa5\xd0\xb0\xc1\x41\x3a\x56\xb0\x39\xa6\x82\x92\x7a\x5b\x04\x77\x40\x4a\x8a\x2c\x5b\xbe\xbf\x2c\x0a\xd9\xb4\xc6\x7a\xf8\x59\xe2\xe1\x3d\x3a\xa3\xf6\x68\xa1\xb6\xa6\x81\x27\xe3\x47\x4f\x8a\xe2\xf2\xf2\x32\x2f\x1e\x7a\x92\x3d\x8d\x00\xd1\xeb\x22\x62\xb6\x58\x1c\x01\x85\xc5\x5f\x3b\x69\xe7\xca\x2a\x2f\x06\x96\x3c\x28\x0b\x9f\x10\x9c\x97\x4a\x05\xd0\x90\x1e\x84\xcb\x40\x07\x76\x68\x87\xbc\xf1\xfc\x17\xa7\x94\x69\x38\x73\xea\x4e\xb1\xc8\xce\x87\x68\x35\xe8\x77\xa6\x8a\xc1\x69\x84\x3e\x42\x6b\xcd\x2f\xc8\xe0\x44\xc7\x84\xc3\x08\x81\x48\x53\x3e\xd4\xe8\x09\xd6\xb8\x25\x8b\x8c\xc8\x11\x52\x78\x73\x24\x63\x1b\x14\xda\xf5\xb6\xae\x18\x0c\x43\x1a\x0c\x4f\xe9\x37\x3f\xeb\xa3\x1c\x6c\x4e\x4e\x71\x59\xb9\x0f\xd0\x21\xca\x12\x9d\xbb\x10\x4a\x2d\x7a\x4d\x46\x7e\xc8\x62\x74\x95\x07\xf6\xb6\x28\x00\x00\x2e\x2f\xe1\x95\x06\xd4\x5e\xfa\xe8\xff\xda\x58\xd2\xd1\x1c\xa4\xde\xf2\xb1\x94\x7e\x95\x15\x07\xa1\xb8\x16\x38\x07\x43\x5e\x88\x50\x58\x2c\x68\xac\xca\x58\xdc\xa7\xb8\x3b\x1d\x77\xc9\x7d\x08\xf7\x21\xd4\xc1\x0d\xd8\x48\x4f\xe9\x7a\xd8\xa1\x4e\x07\x90\x03\xd3\xc9\xfa\x81\xe3\xf6\xe3\x83\xf4\x85\x68\x4c\xa7\xfd\x15\x7c\xbc\x96\x5f\xfe\xf8\x87\x25\x43\xe8\x15\x7c\xf0\x56\xea\xed\x92\x45\x5d\xc1\xab\xaa\xb2\xe8\xdc\xcb\xf0\xf7\xc7\x8f\xef\xde\x5c\xc1\xc7\x77\xda\xd3\xfa\xfe\xd8\xf1\xe3\xc5\x6f\x31\xa0\xc2\xd6\x38\xe9\x43\x8a\xdf\xaf\xfe\x9b\xb4\xf4\x01\xf5\xbd\x19\x2b\xef\x4d\xae\x7a\x7f\xe0\x19\xd5\xdf\xde\xa3\xf6\x0e\x61\xab\xcc\x46\x28\xd8\x74\x56\xc7\xaa\xa0\x65\xa5\x50\x8a\x56\x11\x0c\x09\xd0\x46\x3f\xfb\x37\x5a\x03\x9b\xd0\x40\xce\xd8\xf3\xba\xb3\xfa\x41\x63\xa6\xbe\x1f\x69\xfa\x7a\x24\x9d\xd0\x65\xec\xfc\x21\xc3\xd9\x92\x36\x00\x9a\x1b\xf8\x48\x0f\xe6\xff\xe8\xf7\x51\x5a\x6f\xd1\x7b\xca\xea\xa8\x39\x48\x86\x46\xc6\xa6\xec\x9c\xb1\x35\xa7\xdd\x31\xa9\x06\xb7\xbc\x38\x1d\xf0\x67\x0c\xe5\x9b\x84\xc7\xbe\xb1\xef\x63\x3e\x95\xbc\x97\x78\x20\x4d\x49\xad\x28\xf2\x62\x91\x3c\xc5\x3b\xee\x06\x77\x24\xd0\x7e\x8c\x3f\x90\xcc\x2a\x63\x7b\x8b\x10\x13\x50\x84\x9c\x90\xb2\x9b\x3a\x42\x12\x32\x2e\x6a\x6e\x76\x09\x78\x18\x03\x8e\x2d\xae\x4e\xce\x7d\xe7\xa1\xa7\x57\xf1\xc0\xfc\x2c\xa3\x61\xbd\x49\x1c\x83\x30\x78\xd9\xef\x1d\xb5\x74\x85\x82\x5a\xa8\x69\x63\x06\xb6\xc6\x39\x19\xbb\xa8\xa9\xa1\xb4\x28\x58\x89\xd8\x49\x63\xa8\xad\x1b\x54\x27\x8b\x89\x9f\x31\xcd\x23\xef\x0a\x2b\xd5\x31\xf2\x35\xc6\x68\x73\xd0\x29\x2a\xab\xaf\x89\x73\xdf\x28\x23\x56\xa6\x23\x93\x07\xc1\x75\x9b\x48\x62\xef\x75\x60\x12\x9d\x09\x21\xe2\x64\xd1\x77\x96\xa0\x22\x12\x94\xbe\xd1\x5b\x6c\xcc\x9e\x51\x23\x34\xfc\xd1\xc6\x4c\xc8\xcd\x88\x4a\x3d\x75\xd1\x1e\x50\xb8\x47\x45\x85\xbb\x8e\x06\x26\x68\x5c\xac\xb3\xdd\x1f\x0c\xb1\x2f\x63\xc9\x44\xc2\xa7\xb0\x5b\xfa\x25\xf3\x9f\xc0\xcb\x51\x52\xff\xec\xbd\x09\x66\x43\x8d\x11\xa4\x77\xa8\xea\x4c\x9a\x61\xe6\x1f\xa1\xbf\x1a\xb1\x30\xb6\x6a\x9d\x74\x58\xcf\x5b\x33\xd5\x94\x0b\x23\x39\x7a\x82\x22\x8b\x2b\xf8\xf1\x96\x3d\x76\x37\xaa\x41\xfa\x47\x4c\x74\xf2\x28\x36\xb9\xb5\x45\x17\xb9\x72\xcd\x6c\xcd\x44\x47\x53\x04\x60\x2f\x54\x87\x27\xdb\xc2\x96\xd5\xb8\x3c\xe1\xf9\x73\x88\xca\x9c\x2c\xa7\x7f\x4f\x3e\x0d\xcd\x32\xac\x83\xa6\x73\x9e\x78\x19\x1d\xe7\x44\x83\xc4\x56\x66\x70\x62\xe8\x75\x6c\xd9\x93\x13\xf1\x04\xd6\x33\x4d\x2e\xfc\x37\x01\x2b\x45\x85\x14\xbe\x39\xb6\x78\xb1\x58\xc9\x8a\xe2\x51\x4b\xb4\xa9\xef\xf1\x02\x73\xd0\x68\x5f\xae\x44\x68\x23\x63\x18\xe6\xd7\x5d\x27\xab\x93\x2e\x18\x9d\x41\xef\x16\x99\x6e\x77\x45\xfe\x6b\x04\x5a\x69\xe4\xf8\xef\x41\x2b\xf6\xb5\x19\xcc\x92\x3a\x86\xf2\x11\x98\xf5\x09\x13\x52\x48\x5d\xaa\xae\x42\x10\xd0\xcf\x2d\x41\x8d\x72\x87\xe5\xe7\x3c\x40\x11\xad\x7a\x29\x07\xec\xb9\x20\xf1\xff\xc7\xd0\xff\xe0\x86\xc0\xf1\x7a\x39\xc4\xd7\x2b\x93\x16\xcd\x73\xfd\x25\x28\xf9\x19\xc1\xb5\x4a\x72\x77\x69\xa0\x6b\x09\x3a\x7a\x21\x0e\x75\x15\x5e\xd0\xe8\x20\x6b\x2e\x3a\x0f\xad\x0a\x93\x0a\x3c\x1e\xed\x52\xb0\xa6\x68\x17\x5d\x0f\x5e\x7c\xc6\x01\xaa\x08\xbe\xe2\x1b\x82\x8c\x33\x61\xc8\xa6\xd8\xfb\xea\x9e\x95\xa2\x92\x8f\x32\x2f\x42\xb6\xa6\x32\x5f\xe4\x2a\x6d\xd1\x7f\xe8\x5a\x1a\x56\xb0\xe2\x05\x94\xee\xd4\x44\x28\x8e\x42\xa9\xe3\x08\x59\x95\x74\x9e\x6a\x6c\x1f\x46\x40\x5e\x18\xa9\x36\x13\xf0\x68\x34\xe9\xd1\x7a\xf7\x60\xa3\x9e\x39\x97\x9a\xf6\xed\x0d\x97\xdf\x6b\x63\xd4\x5d\xae\xeb\xfb\xa8\xc9\x61\x87\x8c\xa4\xc6\x72\x02\x32\xdb\x92\x7b\xea\x7a\x34\xe0\x4b\x17\x35\x08\x43\x1b\xbd\xcd\x8a\x27\x49\x7b\x95\xec\xe0\x5c\x15\x3a\xee\x02\x1a\x5a\x58\x90\xdb\x31\x6c\xff\x42\xa0\x13\xc1\xcd\xdb\x8e\x67\x91\x0a\xeb\x87\xb9\x88\x74\xa7\x16\x5e\x04\x6c\xa1\x9f\x8b\x60\xe3\xb4\xd0\x07\x62\x9b\x51\x84\x0a\x29\x18\xcb\xe0\xea\x21\xd3\x42\x67\xe1\x01\x7a\xb8\xee\xe9\xed\x5d\x26\x7e\xb5\x84\x1b\x2b\xb4\xab\xd1\x1a\xbb\xec\x9b\x71\xb8\xbd\x48\x63\xcc\x40\x29\xba\x81\xd6\x92\x7f\x5d\xb2\x02\x8e\xe8\xbf\xa6\x0c\xd8\x94\xab\x91\x36\xc3\xc1\xbd\x5e\xe3\x41\x6a\x35\x9d\xa8\x92\x46\xd7\x12\x55\x15\x53\xcd\x8a\x29\xa8\x98\x1a\xc4\x7d\xdc\x50\xd8\xb4\xb4\x67\x84\xdf\x92\x6d\xfe\xaf\xcb\x2b\x35\x81\x98\x93\x93\x8b\x02\xe0\x74\x61\x84\xae\xf2\x61\x9e\x8f\x09\xb3\x15\x7e\x69\xb1\xf4\x58\x65\x32\xbd\x09\x17\x3c\x7d\x31\x0d\x0c\x90\x74\x5b\x82\x33\x61\x3e\xe7\x29\x5e\x0f\xd7\x7a\x91\x58\xf2\x3d\x42\xa6\x4b\x26\x9e\x5a\x11\x1b\x96\x48\xd7\xef\x81\x17\x13\xc2\x42\xb3\x0f\x2a\x73\x08\xad\x88\x5d\x31\xba\xd1\x49\xad\xc5\x75\x36\x36\x4e\xdb\xe9\x67\x5e\x36\xf1\xa6\x90\x6b\x6b\x2a\x8f\x5d\xb2\xc5\x84\x08\xe3\x89\xaf\x15\xdc\x2f\xfa\x42\x88\x05\x19\x1b\x51\x7e\x1b\xbc\x0a\xf7\x0f\x2b\xc8\xe4\xcb\xfa\x84\x75\xb8\x0f\xdd\x86\xb4\xb9\x30\x75\x80\x8d\x3f\xfd\x78\x3b\x23\xe9\xee\xc5\xc5\x62\x31\x43\xd7\x22\x6e\xdd\xe6\x62\xaf\x18\xc8\xee\x72\xee\x01\xa8\x1c\xce\x33\xbe\x00\xbc\xcc\x49\x9b\xd6\x1f\xa1\x92\x1c\x31\x61\x8f\x89\x81\xa5\xe4\x63\xf6\xc7\xb1\xed\xdd\x70\xd8\x19\xa8\x8c\x7e\xea\xe7\x24\x0f\x77\x55\xb3\xfe\x59\x82\xeb\xca\x1d\x1d\x92\xbf\xfe\x70\x90\xbe\xdc\x6d\x8c\xb0\xd5\x7a\x09\x6b\x7e\x76\x6d\xec\x41\x10\x01\x5f\x03\xfa\x72\x75\xd6\x15\x77\x67\x29\x57\x96\x9f\x3f\x05\xf6\x22\xeb\x99\xfe\x32\x20\x22\x37\x18\xe9\x46\xa8\x7d\x36\x83\x1f\xd7\x0e\x26\x01\x88\x4a\xa7\xf0\xcd\x96\xc0\xdf\x49\xc8\x3f\xe1\xe5\x4b\xa8\x85\x72\x78\xce\xa0\x99\x51\x6b\x1d\x18\xef\x7a\x18\xb6\x58\xee\x53\x97\x5d\x48\xc0\xec\x98\xa5\xf1\x30\x1d\xb5\x92\x60\xf2\xcb\xe9\xfe\xdf\x7b\x3e\xb1\x73\xc9\x9a\x1c\x35\x4c\x19\x2f\x1e\x98\x32\x5e\x85\xd1\x62\x98\x19\xd2\x90\xa1\x68\x82\xf3\x3b\x41\x63\x1d\xe0\xaf\x9d\x50\xe1\xaf\x99\x56\x31\x33\x66\xdc\x3d\x72\x98\x8a\xd7\xaa\xe0\x5a\x2c\xa5\x50\x3d\x1a\xc2\x7a\x83\xb5\xb1\xb8\x66\x6e\x1c\x3b\x54\xa8\xae\x78\xe8\x70\x23\xc0\xd7\xee\x73\xc2\xe3\x2d\xe8\x06\xb7\x52\x6b\x22\x91\x93\x4f\x06\xc3\xc7\x84\x99\xdd\x8f\xf0\xed\xf3\xe7\x10\xb4\xbc\x38\x79\xb7\x80\x67\xf7\xfb\xfd\xaf\x7d\xfe\x24\x67\x8e\xa7\xbb\x44\xbf\x07\x1f\xb7\x16\xf7\x7c\x93\x9f\x96\x8b\xc0\xd6\xa7\xd3\x5e\x7a\x7f\x2e\x1c\x77\x8f\xa5\xe4\xa2\xaa\x88\x8e\x0f\x07\x46\x56\x9e\xc5\xfe\xa4\xf4\xbf\x86\x90\xcf\xe1\xf8\x14\xc4\x89\xa8\x3a\x87\xd6\x0f\x97\xda\xa5\xd1\xa5\x45\x1f\xbb\x54\x74\xcf\x70\x3d\x1a\xe8\x83\x74\xfd\x94\x3c\x95\x17\x21\x7b\xc4\x7e\x7b\xca\x9c\xee\xa9\xa3\xb4\x47\x14\x1c\xd9\xb2\x92\xee\x9d\x76\x9e\x03\x9f\x37\x9a\xc5\x15\xcc\x47\xff\x27\xa1\x89\x5a\x26\xef\xf3\x27\x87\xd2\x34\xad\xf0\xa3\x0f\x77\x64\xdf\x99\xe1\xfd\xf4\x8a\x97\x15\x19\x67\x60\x9a\xe3\xd3\x8b\x99\x39\xde\x9b\x33\x53\x7c\xba\x0b\x1e\xcd\xf0\x93\xeb\x60\x96\x7a\xdf\x04\x0f\xe7\xcb\xfe\x2b\x0b\xe9\xff\xd3\xbb\x13\x13\x17\xbf\xa9\xb6\x5c\xd7\x3c\x58\x54\x43\x3a\xdd\x8b\x6d\x93\x62\xe2\x2b\x46\x7c\x4b\x1c\x21\xd6\x91\x52\xe6\xe0\x78\xa4\x0a\x9f\x19\x4d\x5c\x93\x35\x10\xce\xc1\x9d\xa0\xf2\x3b\xb9\x0d\x87\x07\x6a\x6a\x7a\xe4\xc5\x57\xdf\x68\x9d\xb9\x9a\xfa\x61\xf5\xc3\x15\x3c\x21\x62\xad\xf1\xa0\x8e\xf1\xa0\xe8\x8f\xe0\x4f\x26\xbe\x63\x8d\xcf\xbb\x09\xf2\x21\xef\x1b\x38\x6a\x6e\x26\x9b\x75\xd0\x3e\x51\x87\x9e\x77\xcc\x23\xd1\xc8\x55\x33\x9e\x1b\xbc\x16\xea\x8a\x5c\x36\x92\xcc\x8e\xeb\x29\x72\x80\x9a\xfe\x8e\xbb\x11\xbe\xdc\xc5\x34\x73\xe1\xab\xe5\x49\xa5\x7f\x93\xa8\x9c\xc4\xe1\x2f\xe1\xc3\x8c\x37\xe1\x3b\x8d\x98\xfc\x7f\x0c\xd9\x2c\x3e\xfa\x2a\x38\xf9\x14\x1b\x2f\x0a\xce\xce\x3d\x67\x66\x9d\xfe\xca\x7d\x74\xf7\xdd\xe3\x72\x2a\xc8\x9e\x99\x31\x24\x3e\x75\xe0\x8d\x17\x8a\x19\xa8\x3a\xce\x06\x9c\x2c\xb9\xf8\x57\x10\xf3\x98\x2e\x73\x8a\xeb\x8c\x41\x6d\xb7\x51\xb2\x8c\x14\x73\x45\xb6\x0b\xa9\x5d\xc8\x9e\x11\xc0\x67\x1b\xc3\xcb\xa4\xfa\x8b\x18\xad\x37\xe1\x9e\x30\x31\x9d\xf1\x17\xb1\x4e\x47\x96\x35\x35\x5b\x3a\xd8\x72\x68\x6d\x20\x5d\x14\xcf\xff\xcb\x33\x84\xfb\xc0\xe4\xd3\x58\xa6\x40\x6a\x00\x13\x95\x4f\x6e\x72\x03\xa0\x87\x55\x39\xa2\xa7\x7c\xb9\xfb\x4f\x00\x00\x00\xff\xff\x6b\xff\x6f\x9b\xf7\x23\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\x4d\x93\xdb\xb8\x11\xbd\xf3\x57\x74\xd9\x07\x8f\x26\xb2\x66\x0f\xa9\x1c\xa6\xe2\xf5\xda\x6b\x4f\xca\x97\x6c\xca\x1e\xaf\x0f\x49\xaa\x04\x91\x4d\x11\x6b\x10\xe0\x02\xa0\x64\x65\x6a\xfe\x7b\xaa\x1b\x00\xbf\x44\xcd\xc8\x9b\x75\x6a\x7d\xb1\x86\x04\x1a\x8d\x87\xee\xd7\xaf\xc1\xab\xcb\xcb\x2c\x7b\x0a\xb7\x15\xc2\x8d\x32\x7b\xb8\x69\xf5\x56\x6e\x14\xc2\xad\xf9\x8c\x1a\x9c\x17\xba\x10\xb6\xc8\xb2\xa7\x4f\x61\x9d\x5e\xf2\xbb\x35\xe4\x46\x7b\x2b\x72\x9f\x65\x3c\x7d\x7e\x26\x48\x07\xda\x80\x32\x7a\x8b\x16\x84\x06\xa9\x3d\xda\x52\xe4\x98\xf9\x4a\x78\x10\x4a\x41\x99\xa6\x7a\x9e\x9a\xec\x3a\xd8\x9b\x56\x15\x50\x89\x1d\xbd\xa2\xe7\xa5\xb1\x35\x78\xb3\xca\xb2\x77\x25\x08\x68\x1d\x5a\x07\x7b\xa1\xbd\xa3\x01\x05\x36\xca\x1c\x40\x80\xc6\xfd\xc4\xd6\x12\x7c\x85\xd2\xf6\x3e\x17\x06\xc9\x31\x0f\x1a\xb1\xa0\xc9\xb2\x6e\x14\xd6\xa8\x3d\x8d\x84\xd1\x56\x7b\x9f\x97\xb0\x69\x7d\x34\xc5\x0b\xb8\xac\x30\x27\x4c\x74\x93\x1c\x14\x58\x4a\x8d\x05\x48\x0d\xbe\x92\xae\xf3\x62\x15\x70\xfd\x59\xb4\xca\xaf\xc1\xa2\x33\xad\xcd\x07\x33\xb3\xec\xad\xc8\xab\x29\x3e\xdd\x38\x7f\x68\x90\x17\x77\xc7\xab\x9f\x36\x1a\x17\xfd\x87\x35\x3b\x59\xa0\x5d\x2f\x61\xfd\x1e\x73\x94\x3b\xfe\x2d\x74\x01\xeb\xd7\x42\x09\x9d\xe3\xdc\x6c\xc7\xa7\xed\x26\xdb\xcb\x95\xb0\x08\x8d\xc5\xe7\xb9\xd1\x85\xf4\xd2\x68\xc7\xa6\x1a\xe3\xfc\xf0\x19\x9f\xb9\x45\xe7\xad\xcc\x7d\x46\x8e\xe2\x17\xcc\x5b\x7a\x09\xa6\x64\xcf\xcb\x56\xe7\x61\x30\xc3\x85\xc0\x3b\x59\xf1\xba\x07\xa0\x75\x1c\x36\xc2\x0a\x8f\xb0\xc1\x5c\xb4\xe4\x8b\x87\xad\xdc\xa1\xe3\xe1\x14\x14\xfc\x43\x6c\xa4\x92\xfe\x40\xd8\xb8\x4a\x58\xcc\x04\x58\x2c\xd1\xa2\xce\x39\x9e\xc2\x31\xb2\xf5\xe0\x97\xd1\xea\x00\xf8\xa5\x31\x2e\x9a\x2a\x25\xaa\xc2\xf5\x1e\x65\x52\x83\xd1\x08\xc6\x42\x6d\x2c\x26\x8f\x7b\x28\x28\x30\x29\xa6\x9d\x89\x0e\x85\x08\x9d\x78\x53\x8b\xcf\x08\x79\xeb\xbc\xa9\x3b\x84\x23\x34\xdd\x21\x12\x36\x63\x94\x29\xc0\x0d\xec\x84\x95\xa6\xa5\xd1\x52\x6f\x1d\xec\xa5\xaf\xd8\x7c\x88\xc6\x55\x76\x63\x2c\xe0\x17\x41\x66\x96\x20\xa0\x14\x6d\x8e\x1e\x72\xa1\x61\x83\xbd\x75\x2c\x60\x73\x48\x09\x25\xf5\x36\x0b\x70\x40\x0a\x8a\x51\xb4\x5c\x5e\x65\x99\xac\x1b\x63\x3d\xfc\x2c\x71\xff\x1e\x9d\x51\x3b\xb4\x50\x5a\x53\xc3\x93\xe1\xa3\x27\x59\x76\x75\x75\x35\x4e\x1e\x7a\x32\x7a\x1a\x09\xa2\xf3\x45\xc4\x68\xb1\x38\x20\x0a\x8b\xbf\xb6\xd2\xce\xa5\xd5\x38\x19\xd8\x72\xef\x2c\x7c\x42\x70\x5e\x2a\x15\x48\x43\x7a\x10\x6e\x44\x3a\x50\xa1\xed\xe3\xc6\xf3\x5f\x1c\x52\xa6\xe6\xc8\x29\x5b\xc5\x26\x5b\x1f\x4e\xab\x46\x5f\x99\x22\x1e\x4e\x2d\xf4\x01\x1a\x6b\x7e\x41\x26\x27\x5a\x26\x2c\x46\x0c\x44\x9e\xf2\xa2\x46\x4f\xb8\xc6\x2d\xd9\x64\x64\x8e\x10\xc2\x9b\x03\x6d\xb6\x46\xa1\x5d\xb7\xd7\x15\x93\x61\x08\x83\xfe\x29\xfd\xe6\x67\xdd\x29\x87\x3d\x27\x50\xdc\x28\xdd\x7b\xea\x10\x79\x8e\xce\x5d\x08\xa5\x16\x9d\x27\x03\x1c\x46\x67\x74\x3d\x3e\xd8\xbb\x2c\x03\x00\xb8\xba\x82\x57\x1a\x50\x7b\xe9\x23\xfe\xa5\xb1\xe4\xa3\xd9\x4b\xbd\xe5\x65\x29\xfc\x0a\x2b\xf6\x42\x71\x2e\x70\x0c\x86\xb8\x10\x21\xb1\xd8\xd0\xd0\x95\xa1\xb9\x4f\x71\x76\x5a\xee\x8a\xeb\x10\xee\xc2\x51\x07\x18\xb0\x96\x9e\xc2\x75\x5f\xa1\x4e\x0b\x10\x80\x69\x65\x7d\xbc\x1c\x19\xba\xbc\xbc\xbc\xbc\xfd\xe9\xcd\x4f\xf4\x3f\xbc\x2a\x0a\xd8\x49\xdc\x43\x85\xaa\xa1\xc0\xed\x18\xc6\x99\x84\x2d\x2d\xc5\x0b\xc7\x54\x89\xeb\x76\x06\x99\x1b\x82\x13\x94\xcc\xb5\x69\xb5\x0f\xb5\x4d\x3f\xff\x0f\x5a\xc3\x6c\xc7\xf1\xc9\xee\x14\x85\x45\xe7\xd2\x00\x2d\xd5\x31\x10\xbb\x21\x04\xfa\x22\x98\xbc\x86\x8f\x37\xf2\xcb\x5f\xfe\xbc\x64\x72\xbf\x86\x0f\xde\x4a\xbd\x5d\xb2\xd5\x6b\xda\x08\x99\x7d\x19\xfe\xfe\xf8\xf1\xdd\x9b\x6b\xf8\xf8\x4e\x7b\x1a\xdf\x01\x32\x7c\xbc\xf8\x2d\xd0\x16\xd8\x18\x27\x7d\x48\xbe\x3f\x0e\xb0\xe4\xcc\xb9\xb0\xbe\x49\x5b\x78\x04\x56\x6f\x86\xa0\x7a\x33\x86\xb4\x03\xe2\x04\xa4\x6f\x1f\x80\xb3\x42\xd8\x2a\xb3\x11\x0a\x36\xad\xd5\x91\x47\x68\x58\x2e\x94\xa2\x51\x44\xdc\xa2\xdf\xe5\x26\x94\xdc\xd3\x38\xbf\x6e\xad\xc6\x9e\x54\xce\x44\xf8\x18\x1a\xb6\xf3\x18\x2e\xd3\xf0\x1a\x6c\xfa\xf5\xd8\xd1\x51\x7c\xf5\xf4\xc2\xae\x35\xa1\x9a\xb8\x5e\x0c\x76\x01\xf2\xaf\x6e\x1e\x71\xca\x16\xbd\x27\x4a\x89\x20\x80\xe4\xba\xc4\x85\x61\xb4\xce\x70\x37\xc7\xd2\x24\xb9\x06\x77\x3c\x38\x2d\xf0\x37\x0c\xdc\x99\x8c\xc7\xa2\xbd\xeb\xc2\x7a\x6a\x99\x23\xba\x6c\x35\xb9\x15\x4d\x5e\x2c\x12\x52\x3c\xe3\xbe\x87\x23\x55\xcc\x73\xf0\x40\xda\x56\x1e\xb5\x45\xe4\xf7\x40\xe1\x04\x42\x4a\x60\x2a\xc7\xc9\xc8\x90\x51\x59\x69\x24\xd6\x67\x02\x3e\x34\xb8\x3a\x5a\xf7\x9d\x87\x4e\xdb\xc6\x05\xc7\x6b\x19\x0d\xeb\x4d\x12\x78\x54\x00\x97\xdd\xdc\x81\x9e\x52\x28\x48\xbf\x98\x26\x06\x73\x63\x9c\x93\x51\xc2\x98\x12\x72\x8b\x82\x9d\x88\x32\x26\x1e\xb5\x75\xbd\xeb\xb4\x63\x12\xc7\xac\xb1\x09\x5d\x61\xa5\x3a\x44\xb1\xcc\x05\xd2\xec\x75\x3a\x95\xd5\xd7\x9c\x73\xa7\x52\x62\xa1\x4a\x4b\x26\x04\xc1\xb5\x9b\xd8\x41\x3c\x08\x60\x32\x3d\x32\x42\x74\x63\xd1\xb7\x96\xd8\x30\xaa\xc3\x4e\x65\x59\xac\xcd\x8e\x89\x31\xa8\xad\xc1\xc4\x91\x91\xdb\x81\x8e\x7d\xe6\xe2\x7e\x40\xe1\x0e\x15\x71\xc0\x3a\x6e\x30\xb1\xff\x62\x3d\x9a\xfd\xc1\x90\xf4\x35\x96\xb6\x48\xac\x17\x66\x4b\xbf\x64\xf1\x19\x9a\x22\x94\x24\x5e\x3a\x34\xc1\x6c\x48\x95\x80\xf4\x0e\x55\x39\xb2\x66\xb8\xed\x8a\x75\xb7\x18\x48\x60\xde\xd5\x3a\xf9\xb0\x9e\xdf\xcd\xd4\x53\x4e\x8c\x04\xf4\x84\x45\x16\xd7\xf0\xc3\x1d\x23\x76\x3f\xc8\x41\xfa\x47\x6d\xc0\xe4\x51\x54\x18\x6b\x8b\x2e\x36\x2a\x25\x4b\x65\x13\x81\xa6\x13\x80\x9d\x50\x2d\x1e\x4d\x0b\x53\x56\xc3\xf4\x84\x17\x2f\x62\xed\xb8\x3e\x1a\x4e\xff\x9e\x7c\xea\x95\x4a\xac\x31\x75\xeb\x3c\xd1\x25\x2d\xe7\x44\x8d\x24\x15\x67\x78\xa2\x17\x1a\xbc\xb3\x27\x47\xe6\x89\x6e\x67\xea\x78\xf8\x3f\x11\x2b\x9d\x0a\x39\x7c\x7b\x68\xf0\x62\xb1\x92\x05\x9d\x47\x29\xd1\xa6\xd2\xce\x03\xcc\x5e\xa3\x7d\xb9\x8a\x65\x6e\x48\xc3\xfc\xba\x6d\x65\x71\x54\xe8\x23\x18\xf4\x6e\x31\xf2\xed\x3e\x1b\xff\x1a\x90\x56\xea\xf7\xfe\x77\xd2\x8a\x25\x72\x86\xb3\xa4\x8e\x47\x79\x06\x67\x7d\xc2\xc4\x14\x52\xe7\xaa\x2d\x10\x04\x74\x4d\x63\x70\x23\xaf\x30\xff\x3c\x3e\xa0\xc8\x56\x9d\x95\x3d\x76\x42\x9c\x9a\xaf\x73\x7a\xaf\x00\x43\x10\xd8\x9d\x1d\x2a\xa3\x85\x49\x83\xe6\x1b\xad\x25\x28\xf9\x19\xc1\x35\x4a\x72\x75\xa9\xa1\x6d\x88\x3a\x3a\x23\x0e\x83\x6c\xa9\xb9\x6f\x93\x25\x27\x9d\x87\x46\x85\x36\x11\xce\x67\xbb\x74\x58\x53\xb6\x8b\xd0\x83\x17\x9f\xb1\xa7\x2a\xa2\xaf\xf8\x86\x28\xe3\xc4\x31\x8c\xae\x10\x1e\xca\x7b\x76\x8a\x52\x3e\xda\xbc\x08\xd1\x9a\xd2\x7c\x31\x76\x69\x8b\xfe\x43\xdb\x50\xa7\x88\x05\x0f\xa0\x70\xa7\x22\x42\xe7\x28\x94\x3a\x0c\x98\x55\x49\xe7\x29\xc7\x76\xa1\xff\xe6\x81\xbd\xa0\x49\x47\xc3\x7e\x34\xde\x3d\x5a\xa8\x67\xd6\xa5\xa2\x7d\x77\xcb\xe9\xf7\xda\x18\x75\x3f\xf6\xf5\x7d\xf4\x64\x5f\x21\x33\xa9\xb1\x1c\x80\x2c\xdc\xe4\x8e\xaa\xde\xa1\x41\x22\xeb\xe0\x41\xe8\x98\xe9\xed\x28\x79\x92\xb5\x57\x69\x1f\x1c\xab\x42\xc7\x59\x40\x1d\x23\x1b\x72\x15\xd3\xf6\x2f\x44\x3a\x91\xdc\xbc\x6d\xb9\x11\x2c\xb0\x7c\x5c\x8b\x48\x77\xbc\xc3\x8b\xc0\x2d\xf4\x73\x11\xf6\x38\x4d\xf4\x91\x76\xef\x25\x42\x81\x74\x18\xcb\x00\x75\x1f\x69\xa1\xb2\xf0\xed\x45\x7f\xd7\xd6\xed\x77\x99\xf4\xd5\x12\x6e\xad\xd0\xae\x44\x6b\xec\xb2\x2b\xc6\xe1\xea\x28\xf5\x90\xbd\xa4\x68\x7b\x85\x4c\xf8\xba\xb4\x0b\x38\xa0\xff\x9a\x34\xe0\xad\x5c\x0f\xbc\xe9\x17\xee\xfc\x1a\x76\xb1\xab\x69\x3b\x9b\x3c\xba\x91\xa8\x8a\x18\x6a\x56\x4c\x49\xc5\x94\x20\x1e\xd2\x86\xc2\xa6\xa1\x9d\x22\xfc\x96\x6a\xf3\xff\x9d\x5e\xa9\x08\xc4\x98\x9c\xdc\xd2\x00\x87\x0b\x33\x74\x31\xbe\x49\xe1\x65\x42\xfb\x88\x5f\x1a\xcc\x53\xff\xd1\x17\x85\xd0\xe8\x75\xc9\xd4\x2b\x40\xf2\x6d\x19\xda\x19\x3c\x84\x2b\x14\xdd\xdf\xa9\x46\x61\xc9\x97\x38\x23\x5f\x46\xe6\xa9\x14\xf1\xc6\x92\xe8\xfa\x3d\xf8\x62\x22\x58\xa8\xf7\x41\x65\xf6\xa1\x14\x31\x14\x83\xeb\xb4\x54\x5a\x5c\x6b\x63\xe1\xb4\xad\x7e\xee\x65\x1d\xaf\x69\x39\xb7\xa6\xf6\x18\x92\x2d\x26\x46\x18\x36\x8f\x8d\xe0\x7a\xd1\x25\x42\x4c\xc8\x58\x88\xc6\x57\xf1\xab\x70\xf9\xb3\x82\x91\x7d\x59\x1e\xa9\x0e\xf7\xa1\xdd\x90\x37\x17\xa6\x0c\xb4\xf1\xd7\x1f\xee\x66\x2c\xdd\x7f\x7f\xb1\x58\xcc\xc8\xb5\xc8\x5b\x77\x63\xb3\xd7\x4c\x64\xf7\x63\xed\x01\xa8\x1c\xce\x2b\xbe\x40\xbc\xac\x49\xeb\xc6\x1f\xa0\x90\x7c\x62\xc2\x1e\x92\x02\x4b\xc1\xc7\xea\x8f\xcf\xb6\x83\x61\x5f\x19\x28\x8c\x7e\xe6\xe7\x2c\xf7\x17\x85\xb3\xf8\x2c\xc1\xb5\x79\x45\x8b\x8c\x5f\x7f\xd8\x4b\x9f\x57\x1b\x23\x6c\xb1\x5e\xc2\x9a\x9f\xdd\x18\xbb\x17\x24\xc0\xd7\x80\x3e\x5f\x9d\x84\xe2\xfe\xa4\xe4\x1a\xc5\xe7\x8f\x41\xbd\xc8\x72\xa6\xbe\xf4\x8c\xc8\x05\x46\xba\x01\x6b\x9f\x8c\xe0\xf3\xca\xc1\xe4\x00\xa2\xd3\xe9\xf8\x66\x53\xe0\x9f\x64\xe4\xdf\xf0\xf2\x25\x94\x42\x39\x3c\xb5\xa1\x99\x56\x6b\x1d\x14\xef\xba\x6f\xb6\xd8\xee\x33\x37\xba\xdb\x80\xd9\x36\x4b\xe3\x7e\xda\x6a\x25\xc3\x84\xcb\xf1\xfc\xdf\xbb\x3f\xb1\x73\xc1\x9a\x80\xea\xbb\x8c\xef\x1f\xe9\x32\x5e\x85\xd6\xa2\xef\x19\x52\x93\xa1\xa8\x83\xf3\x95\xa0\xb6\x0e\xf0\xd7\x56\xa8\xf0\xd7\x4c\xa9\x98\x69\x33\xee\xcf\x6c\xa6\xe2\x9d\x36\xb8\x06\x73\x29\x54\xc7\x86\xb0\xde\x60\x69\x2c\xae\x59\x1b\xc7\x0a\x15\xb2\x2b\x2e\xda\xdf\x08\xf0\x37\x8f\x39\xe3\xf1\x0a\x7a\x83\x5b\xa9\x35\x89\xc8\xc9\xf7\x9a\xfe\x4b\xce\xcc\xec\x33\xb0\x7d\xf1\x02\x82\x97\x17\x47\xef\x16\xf0\xfc\x61\xdc\xff\xde\xc5\x4f\x02\x73\xd8\xdd\x25\xf9\xdd\x63\xdc\x58\xdc\xf1\x67\x94\x34\x3c\x5d\x32\x4e\xba\xbd\xf4\xfe\xd4\x71\xdc\x9f\x2b\xc9\x45\x51\x90\x1c\xef\x17\x8c\xaa\x7c\x74\xf6\x47\xa9\xff\x35\x82\x7c\x8e\xc7\xa7\x24\x4e\x42\xd5\x39\xb4\xbe\xff\xa2\x90\x1b\x9d\x5b\xf4\xb1\x4a\x45\x78\xfa\x1b\xe0\x20\x1f\xa4\xeb\xba\xe4\xa9\xbd\x48\xd9\x03\xf5\xdb\x49\xe6\xf4\x91\x20\x5a\x3b\x23\xe1\x68\x2f\x2b\xe9\xde\x69\xe7\xf9\xe0\xc7\x85\x66\x71\x0d\xf3\xa7\xff\xa3\xd0\x24\x2d\x13\xfa\xfc\xbd\x27\x37\x75\x23\xfc\xe0\xab\x29\xed\xef\x44\xf3\x7e\x7c\x5b\xcc\x8e\x0c\x23\x30\xf5\xf1\xe9\xc5\x4c\x1f\xef\xcd\x89\x2e\x3e\x5d\x2b\x0f\x7a\xf8\xc9\xcd\x32\x5b\x7d\xa8\x83\x87\xd3\x69\xff\x95\x89\xf4\xa7\xf4\xee\x68\x8b\x8b\xdf\x94\x5b\xae\xad\x1f\x4d\xaa\x3e\x9c\x1e\xe4\xb6\x49\x32\xf1\x15\x23\xbe\x25\x8d\x10\xf3\x48\x29\xb3\x77\xdc\x52\x85\x6f\xbc\x26\x8e\x19\x15\x10\x8e\xc1\x4a\x50\xfa\x1d\x5d\xac\xc3\x23\x39\x35\x5d\xf2\xe2\xab\x6f\xb4\x4e\x5c\x4d\x7d\xb7\xfa\xee\x1a\x9e\x90\xb0\xd6\xb8\x57\x87\xb8\x50\xc4\x23\xe0\xc9\xc2\x77\xe8\xf1\x69\x98\x60\xdc\xe4\x7d\x03\xa0\xe6\x7a\xb2\x59\x80\x76\x49\x3a\x74\xba\x63\x9e\x89\x06\x50\xcd\x20\xd7\xa3\x16\xf2\x8a\x20\x1b\x58\x66\xe0\x3a\x89\x1c\xa8\xa6\xbb\xe3\xae\x85\xcf\xab\x18\x66\x2e\x7c\x32\x3e\xca\xf4\x6f\x72\x2a\xe9\x1c\xee\xff\x1b\x00\x00\xff\xff\x71\x6e\x75\x5b\x44\x23\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -114,7 +114,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x25, 0xcf, 0xb8, 0xa9, 0x4f, 0xd2, 0xa8, 0xc6, 0x6c, 0xa, 0xe2, 0xb3, 0x96, 0xa2, 0x74, 0xc9, 0x83, 0x3e, 0x2d, 0xc4, 0x60, 0x99, 0xda, 0x3e, 0x74, 0x5b, 0xe0, 0xc4, 0xfe, 0xdb, 0x3, 0x7c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0xc9, 0x3e, 0x12, 0x26, 0xe, 0xd7, 0x7f, 0xeb, 0xd1, 0xd4, 0x6e, 0xaf, 0x2b, 0xbb, 0x10, 0xfd, 0x46, 0xa4, 0xcf, 0x52, 0xf5, 0x3f, 0x63, 0x76, 0x14, 0xc5, 0x96, 0x6f, 0x78, 0x16, 0xbd}}
 	return a, nil
 }
 

From 3886c24b6f26b5ae35d69b41cb1f46a47085ae43 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 24 Jan 2024 14:28:30 -0600
Subject: [PATCH 079/115] add burner and add event emission functions

---
 contracts/ExampleToken.cdc                 | 49 ++++++++++------------
 contracts/FungibleToken.cdc                | 49 ++++++++++++++++++----
 contracts/utility/Burner.cdc               | 44 +++++++++++++++++++
 lib/go/contracts/contracts.go              | 12 +++++-
 lib/go/contracts/internal/assets/assets.go | 35 +++++++++++++---
 5 files changed, 147 insertions(+), 42 deletions(-)
 create mode 100644 contracts/utility/Burner.cdc

diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 72037900..26fb7155 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -49,6 +49,28 @@ access(all) contract ExampleToken: FungibleToken {
         access(all) var publicPath: PublicPath
         access(all) var receiverPath: PublicPath
 
+        // initialize the balance at resource creation time
+        init(balance: UFix64) {
+            self.balance = balance
+            let identifier = "exampleTokenVault"
+            self.storagePath = StoragePath(identifier: identifier)!
+            self.publicPath = PublicPath(identifier: identifier)!
+            self.receiverPath = PublicPath(identifier: "exampleTokenReceiver")!
+        }
+
+        /// Get the balance of the vault
+        access(all) view fun getBalance(): UFix64 {
+            return self.balance
+        }
+
+        /// Called when a fungible token is burned via the `Burner.burn()` method
+        access(contract) fun burnCallback() {
+            if self.balance > 0.0 {
+                ExampleToken.totalSupply = ExampleToken.totalSupply - vault.getBalance()
+            }
+            self.balance = 0.0
+        }
+
         access(all) view fun getViews(): [Type] {
             return [
                 Type<FungibleTokenMetadataViews.FTView>(),
@@ -115,20 +137,6 @@ access(all) contract ExampleToken: FungibleToken {
             return self.getSupportedVaultTypes()[type] ?? false
         }
 
-        // initialize the balance at resource creation time
-        init(balance: UFix64) {
-            self.balance = balance
-            let identifier = "exampleTokenVault"
-            self.storagePath = StoragePath(identifier: identifier)!
-            self.publicPath = PublicPath(identifier: identifier)!
-            self.receiverPath = PublicPath(identifier: "exampleTokenReceiver")!
-        }
-
-        /// Get the balance of the vault
-        access(all) view fun getBalance(): UFix64 {
-            return self.balance
-        }
-
         /// withdraw
         ///
         /// Function that takes an amount as an argument
@@ -200,19 +208,6 @@ access(all) contract ExampleToken: FungibleToken {
         return <- create Vault(balance: 0.0)
     }
 
-    /// Function that destroys a Vault instance, effectively burning the tokens.
-    ///
-    /// @param from: The Vault resource containing the tokens to burn
-    ///
-    /// Will need to add an update to total supply
-    /// See https://github.com/onflow/flips/pull/131
-    access(all) fun burn(_ vault: @{FungibleToken.Vault}) {
-        if vault.balance > 0.0 {
-            ExampleToken.totalSupply = ExampleToken.totalSupply - vault.getBalance()
-        }
-        destroy vault
-    }
-
     init() {
         self.totalSupply = 1000.0
 
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 985c05eb..eae6e2f9 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -32,6 +32,7 @@ to the Provider interface.
 */
 
 import ViewResolver from "ViewResolver"
+import Burner from "Burner"
 
 /// FungibleToken
 ///
@@ -48,16 +49,32 @@ access(all) contract interface FungibleToken: ViewResolver {
     /// The event that is emitted when tokens are withdrawn from a Vault
     /// ****TODO**** Add view helper functions so that this event can be emitted
     /// only when the amount is non-zero and the from address is non-nil
-    access(all) event Withdrawn(amount: UFix64, type: String, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64)
+    access(all) event Withdrawn(type: String, amount: UFix64, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64)
+    access(self) view fun emitWithdrawnEvent(type: String, amount: UFix64, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64): Bool {
+        if (amount > 0.0) && (from != nil) && (from != 0x8624b52f9ddcd04a) | (from != 0x9eca2b38b18b5dfe) {
+            emit Withdrawn(type: type, amount: amount, from: from, fromUUID: fromUUID, withdrawnUUID: withdrawnUUID)
+        }
+        return true
+    }
 
     /// The event that is emitted when tokens are deposited to a Vault
-    /// ****TODO**** Add view helper functions so that this event can be emitted
-    /// only when the amount is non-zero and the to address is non-nil
-    access(all) event Deposited(amount: UFix64, type: String, to: Address?, toUUID: UInt64, depositedUUID: UInt64)
+    access(all) event Deposited(type: String, amount: UFix64, to: Address?, toUUID: UInt64, depositedUUID: UInt64)
+    access(self) view fun emitDepositedEvent(type: String, amount: UFix64, to: Address?, toUUID: UInt64, depositedUUID: UInt64): Bool {
+        if (amount > 0.0) && (to != nil) && (to != 0x8624b52f9ddcd04a) | (to != 0x9eca2b38b18b5dfe) {
+            emit Deposited(type: type, amount: amount, to: to, toUUID: toUUID, depositedUUID: depositedUUID)
+        }
+        return true
+    }
 
     /// Event that is emitted when the global burn method is called with a non-zero balance
     /// ****TODO**** Add Burner contract so that this event can be emitted
-    access(all) event Burned(amount: UFix64, type: String, fromUUID: UInt64)
+    access(all) event Burned(type: String, amount: UFix64, fromUUID: UInt64)
+    acccess(self) view fun emitBurnedEvent(type: String, amount: UFix64, fromUUID: UInt64): Bool {
+        if amount > 0.0 {
+            emit Burned(type: type, amount: amount, fromUUID: fromUUID)
+        }
+        return true
+    }
 
     /// Balance
     ///
@@ -92,7 +109,7 @@ access(all) contract interface FungibleToken: ViewResolver {
                 // `result` refers to the return value
                 result.getBalance() == amount:
                     "Withdrawal amount must be the same as the balance of the withdrawn Vault"
-                emit Withdrawn(amount: amount, type: self.getType().identifier, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
+                emitWithdrawnEvent(type: self.getType().identifier, amount: amount, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
             }
         }
     }
@@ -126,7 +143,7 @@ access(all) contract interface FungibleToken: ViewResolver {
     /// Ideally, this interface would also conform to Receiver, Balance, Transferor, Provider, and Resolver
     /// but that is not supported yet
     ///
-    access(all) resource interface Vault: Receiver, Provider, Balance, ViewResolver.Resolver {
+    access(all) resource interface Vault: Receiver, Provider, Balance, ViewResolver.Resolver, Burner.Burnable {
 
         /// Field that tracks the balance of a vault
         access(all) var balance: UFix64
@@ -134,6 +151,22 @@ access(all) contract interface FungibleToken: ViewResolver {
         /// Get the balance of the vault
         access(all) view fun getBalance(): UFix64
 
+        /// Called when a fungible token is burned via the `Burner.burn()` method
+        /// Implementations can do any bookkeeping or emit any events
+        /// that should be emitted when a vault is destroyed.
+        /// Many implementations will want to update the token's total supply
+        /// to reflect that the tokens have been burned and removed from the supply.
+        /// Implementations also need to set the balance to zero before the end of the function
+        /// This is to prevent vault owners from spamming fake Burned events.
+        access(contract) fun burnCallback() {
+            pre {
+                FungibleToken.emitBurnedEvent(type: self.getType().identifier, amount: self.balance, fromUUID: self.uuid)
+            }
+            post {
+                self.balance == 0.0: "The balance must be set to zero during the burnCallback method so that it cannot be spammed"
+            }
+        }
+
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
         /// The default implementation is included here because vaults are expected
         /// to only accepted their own type, so they have no need to provide an implementation
@@ -180,7 +213,7 @@ access(all) contract interface FungibleToken: ViewResolver {
             pre {
                 from.isInstance(self.getType()): 
                     "Cannot deposit an incompatible token type"
-                emit Deposited(amount: from.getBalance(), type: from.getType().identifier, to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
+                emitDepositedEvent(type: from.getType().identifier, amount: from.getBalance(), to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
             }
             post {
                 self.getBalance() == before(self.getBalance()) + before(from.getBalance()):
diff --git a/contracts/utility/Burner.cdc b/contracts/utility/Burner.cdc
new file mode 100644
index 00000000..a32fe46a
--- /dev/null
+++ b/contracts/utility/Burner.cdc
@@ -0,0 +1,44 @@
+/// Burner is a contract that can facilitate the destruction of any resource on flow.
+///
+/// Contributors
+/// - Austin Kline - https://twitter.com/austin_flowty
+/// - Deniz Edincik - https://twitter.com/bluesign
+/// - Bastian Müller - https://twitter.com/turbolent
+access(all) contract Burner {
+    /// When Crescendo (Cadence 1.0) is released, custom destructors will be removed from cadece.
+    /// Burnable is an interface meant to replace this lost feature, allowing anyone to add a callback
+    /// method to ensure they do not destroy something which is not meant to be,
+    /// or to add logic based on destruction such as tracking the supply of a FT Collection
+    ///
+    /// NOTE: The only way to see benefit from this interface
+    /// is to always use the burn method in this contract. Anyone who owns a resource can always elect **not**
+    /// to destroy a resource this way
+    access(all) resource interface Burnable {
+        access(contract) fun burnCallback()
+    }
+
+    /// burn is a global method which will destroy any resource it is given.
+    /// If the provided resource implements the Burnable interface,
+    /// it will call the burnCallback method and then destroy afterwards.
+    access(all) fun burn(_ r: @AnyResource) {
+        if let s <- r as @{Burnable} {
+            s.burnCallback()
+            destroy s
+        } else if let arr <- r as @[AnyResource] {
+            while arr.length > 0 {
+                let item <- arr.removeFirst()
+                self.burn(<-item)
+            }
+            destroy arr
+        } else if let dict <- r as @{HashableStruct: AnyResource} {
+            let keys = dict.keys
+            while keys.length > 0 {
+                let item <- dict.remove(key: keys.removeFirst())!
+                self.burn(<-item)
+            }
+            destroy dict
+        } else {
+            destroy r
+        }
+    }
+}
\ No newline at end of file
diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index 44d34e8d..7f8644ca 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -17,6 +17,7 @@ var (
 	placeholderMetadataViews   = regexp.MustCompile(`"MetadataViews"`)
 	placeholderFTMetadataViews = regexp.MustCompile(`"FungibleTokenMetadataViews"`)
 	placeholderViewResolver    = regexp.MustCompile(`"ViewResolver"`)
+	placeholderBurner          = regexp.MustCompile(`"Burner"`)
 )
 
 const (
@@ -27,13 +28,15 @@ const (
 	filenameFTSwitchboard    = "FungibleTokenSwitchboard.cdc"
 	filenameFTMetadataViews  = "FungibleTokenMetadataViews.cdc"
 	filenameViewResolver     = "utility/ViewResolver.cdc"
+	filenameBurner           = "utility/Burner"
 )
 
 // FungibleToken returns the FungibleToken contract.
-func FungibleToken(resolverAddr string) []byte {
+func FungibleToken(resolverAddr, burnerAddr string) []byte {
 	code := assets.MustAssetString(filenameFungibleToken)
 
 	code = placeholderViewResolver.ReplaceAllString(code, "0x"+resolverAddr)
+	code = placeholderBurner.ReplaceAllString(code, "0x"+burnerAddr)
 
 	return []byte(code)
 }
@@ -72,6 +75,13 @@ func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr, vie
 	return []byte(code)
 }
 
+// Burner returns the Burner contract.
+func Burner() []byte {
+	code := assets.MustAssetString(filenameBurner)
+
+	return []byte(code)
+}
+
 // CustomToken returns the ExampleToken contract with a custom name.
 //
 // The returned contract will import the FungibleToken interface from the specified address.
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 3da6f93a..0e317001 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,9 +1,10 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (10.448kB)
-// ../../../contracts/FungibleToken.cdc (9.028kB)
+// ../../../contracts/ExampleToken.cdc (10.269kB)
+// ../../../contracts/FungibleToken.cdc (10.872kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
+// ../../../contracts/utility/Burner.cdc (1.879kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.61kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (10.391kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.869kB)
@@ -78,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x6d\x6f\xdb\x38\xf2\x7f\x9f\x4f\x31\xf5\x1f\xe8\xdf\x46\x13\x3b\xdd\x3e\xdc\xae\x91\x34\xdb\xed\x36\x77\x07\x6c\x81\xa2\xcd\x6e\x5f\x14\x45\x42\x4b\x23\x8b\x17\x8a\x14\x48\xca\x8e\x37\xc8\x77\x3f\xf0\x41\x12\x29\x4b\x8e\x93\xf6\xd5\xe9\x45\x1b\x8b\x9c\xe1\x70\x1e\x7e\x9c\x19\x8a\x16\xa5\x90\x1a\xce\x2b\xbe\xa4\x0b\x86\x17\xe2\x1a\x39\x64\x52\x14\x30\x8a\xde\x8d\x0e\xfc\xcc\x0f\xa8\x49\x4a\x34\xf9\x8b\xe2\x5a\xf9\x99\xd1\xbb\x66\x66\x44\xdf\x47\x36\x3c\xa1\xe1\x61\x7e\x7d\x42\x25\xd8\x0a\xa5\xa7\x0a\x5f\x8d\x0e\x0e\x48\x92\xa0\x52\x63\xc2\xd8\x04\x12\xc1\xb5\x24\x89\x86\xf7\x37\xa4\x28\x3d\xe3\x79\x67\x73\xb7\x07\x07\x00\x00\xb3\xd9\x0c\x2e\x72\x04\x5c\x21\xd7\xa0\x73\xa2\x81\x2a\xc0\x82\x6a\x8d\x29\xac\x73\xe4\xc0\x71\x0d\xda\xd0\x28\x20\x12\xa1\xa0\x5c\x63\x6a\x89\xc3\x45\x1d\x03\xcb\x5b\x7d\xb0\x53\xc6\xa4\x10\x15\xd7\x73\xf8\xf3\x9c\xde\xbc\x7e\x79\x08\x7a\x53\xe2\x1c\x3e\x6b\x49\xf9\x72\x12\x2c\x2f\x34\x61\xa0\xaa\xb2\x64\x1b\x10\x59\x24\xb5\x02\xca\x01\x6f\xa8\xd2\xc8\x13\xdc\x5a\x74\x45\x24\x68\x43\xfe\xd9\x52\xd7\x4b\xb5\xbc\xdf\xa6\x05\xe5\xf0\x91\xe8\x7c\x8b\x96\xa1\x76\xc3\x9f\xb5\x90\x64\x89\x66\x92\x91\xae\xf9\x71\xb0\xbd\x1c\xc5\x35\x64\x15\x87\x25\xea\x77\x5e\xc9\xd6\x50\x63\x89\x4a\x54\x32\xc1\x0b\xbb\x45\xf3\xef\xd9\x64\x0e\x5f\xcd\x1f\xdf\xe0\xd6\x32\x32\x8f\x59\x73\x45\x2a\xa6\x3f\x61\x06\xa7\xa0\x90\x65\x53\x92\x24\x46\x4d\xd3\x84\x94\x64\x41\x19\xd5\x14\xd5\x74\x21\xa4\x14\xeb\x93\xa7\xa1\x2e\xa6\x7f\x19\xca\x37\xe3\x59\x59\x2d\x18\x4d\x66\x18\x8c\xd9\xa1\x49\xb3\x8e\x79\xce\xce\xa0\x24\x9c\x26\xe3\xd1\x3b\x51\xb1\x14\xb8\xd0\xe0\xd8\x02\x01\x89\x19\x4a\xa3\x52\xd0\x02\x74\x8e\x4e\x2a\x90\xb5\x43\xb5\xac\x9a\x3f\x24\xea\x4a\xf2\x46\xfc\xe9\x12\xfd\xde\xdd\xdc\xbb\x6d\x75\x19\x4d\x79\x8e\xa1\xb6\xfa\x94\x75\x68\x75\xdb\xbe\x98\xcc\xe1\x2d\xdf\x7c\xd6\xb2\x4a\xf4\xd9\xff\xa8\x02\xfd\x5c\xab\x12\xb3\xfb\x48\x8f\xc6\x79\xad\x4c\xf5\xaf\xe6\xed\x7b\x92\xe4\x50\x29\x94\xa0\xb4\x90\xa8\x80\x70\xa0\x5c\x69\x62\x84\x11\x19\x08\xce\x36\x56\x22\x4b\x6e\xe2\x47\xe7\x48\xdd\x6c\xb2\xc4\x28\xea\xb3\x8a\x27\x9a\x0a\x17\x66\x2d\x0d\xe1\x29\x2c\xc5\x0a\x25\xc7\x14\x16\x8e\x5b\x29\xd1\xbe\x2f\x85\xd2\x06\x61\x52\x6a\x09\x1b\x76\x94\x77\x00\xc6\x62\x87\xce\x71\x63\x51\x23\x21\x8c\x61\x3a\x8d\x56\x4f\x72\x4c\xae\x15\xe4\xa4\x2c\x91\x03\xd1\x20\x2b\xae\x69\x81\x96\x14\x0d\xd4\x91\x46\x42\x83\x4a\x1d\x1e\x0d\xaf\x4f\xde\x9f\xcc\x0c\xee\xf6\xbf\x40\x48\x24\x12\x83\x61\x7e\x67\x06\x14\xf1\x46\x1b\x0d\xd5\x3f\x2d\x46\x5a\xc8\x33\x62\x36\xec\x8c\xb8\x29\x66\x94\x5b\xe2\x43\x50\xd6\xc0\x12\x8d\x08\x5c\xc0\x9a\x6c\x20\x13\x46\xb6\x82\x30\x9a\x50\x51\x29\x67\x0e\x2d\xfc\x9a\x4e\x8b\xad\x6a\x44\xe5\x97\xa5\x1c\x08\x95\x53\x78\x0b\xaa\xc4\x84\x12\x06\x16\x29\x25\xd4\x11\x01\x1c\x31\x55\x86\xd3\xa2\x95\x41\x0b\x8b\xb9\x0d\xbb\x16\x8f\x63\x55\x84\xa1\xd7\x30\xb4\xa2\x74\xb0\xdf\xc5\x41\x7d\x02\x84\x16\xb1\x58\x0a\x0b\xc2\x6a\x67\xd2\x39\x55\xce\x63\x9b\xb9\x5d\xfc\xf5\xb3\x63\xec\xed\x9b\xa8\x86\x70\x76\x88\xc0\x85\xa9\x9b\xff\xb1\xf9\x7b\x70\xba\xc4\x04\xe9\x0a\xe5\x16\x41\x3f\x45\x80\xe5\x1e\xc7\x7a\x00\x3b\x88\xdb\xaf\xd1\x4b\xf3\x98\xc9\x27\xc3\xa7\xf7\xf4\xfc\xc2\xfc\xff\x66\x3c\x39\x7c\x04\xe9\xef\x54\x95\x8c\x6c\x1e\x49\x6d\x2d\xfc\x3b\xd1\xe4\x51\xf4\x17\xed\x91\xfa\x66\x1c\x83\xe2\xb7\xe6\xd7\x5d\xbf\x5e\x03\xd0\xb7\xc8\x76\x69\x35\xbd\x1b\xd5\xcd\xa3\xd6\x54\x27\xb9\x33\xcb\xed\x96\xc4\x09\x51\xb8\xbf\xbe\xe7\x5b\xf4\x81\x1d\xef\x65\x30\xee\xa5\x36\x4f\xa6\xbd\x55\xe6\xee\xe4\x09\xf7\xf9\x10\x8b\x4e\x80\xa8\x27\xbb\x05\xf1\x93\xcf\xb6\x8d\xd7\x0a\xd3\x18\xf9\x51\xe2\x84\x2e\xb2\x87\x40\xcd\xf4\xb3\x5e\x89\x26\x8f\x35\x59\xab\x95\x7e\xab\x99\x13\xbf\xc0\x94\x12\x38\x8d\x93\xee\xe9\x07\xf3\x76\xd8\x58\x56\x47\x94\xe1\xbc\x43\xf6\xaf\x8b\x8b\x8f\xe7\x94\xe1\x6e\xca\x4a\xb2\x39\x8c\x72\xad\x4b\x35\x9f\xcd\x88\x52\xa8\xd5\x74\x8d\x0b\x45\x35\x1e\x19\xb6\x6a\x9a\x88\x62\xf6\x2a\x7b\xfd\xd3\x2f\x2f\x93\xe3\xe4\x1f\xe4\xe7\x24\x4d\x5f\xbf\x7c\xb1\x78\x9e\xfc\xfc\xd3\x71\x67\x80\xbc\x7a\x95\x2c\x9e\x27\xbf\xbc\x78\x7d\x79\xce\xc4\xfa\xf2\x8b\x90\x69\x41\xe4\xf5\x54\xad\x96\xa3\x41\x39\x7a\x22\xb7\x7e\xac\x46\x5c\xba\x34\xa2\x05\x59\xe2\x4c\xad\x96\xcf\x6e\x0a\xd6\xcf\x6d\xdb\x3a\x91\x6a\x55\xbf\x6e\xd5\xf8\xab\x1d\xfe\xd6\x4f\xbe\x4f\x3c\x79\xeb\x0e\xeb\x9a\x93\xc2\xec\xc1\xa7\x69\x0d\x33\x57\x48\x8c\x86\x15\xa0\x36\xc5\x42\x18\x13\xbd\x3f\xbf\xd8\x31\x2d\x45\x95\x48\x5a\x9a\x0c\x62\x0e\xa3\x0b\x73\x9a\x65\xf5\x12\xf6\x0c\x35\x87\x7a\xa5\x30\x05\x62\x13\x29\x9f\x12\x9a\x33\x37\x47\x56\xc2\x46\x54\x90\xe2\x0a\x99\xb0\x7f\x4b\xe0\x26\x87\x38\xbf\x80\xff\x13\xdc\x58\x72\xba\x63\x6d\xbc\xd1\x28\x39\x61\x7f\x7e\xfa\xa3\xeb\x83\xef\xdb\xa1\x71\xe3\x64\x7e\xed\xa3\x4c\x4f\x05\xcf\x0c\x73\x21\x97\xa3\x1d\x4e\xc0\xc4\x52\xa8\xb9\x37\xe1\x0e\x55\x09\x93\x6a\xa8\x79\x0f\xac\x86\xcf\x48\xaf\x4d\xd1\x27\x47\x7b\x09\xeb\x27\xdb\x20\x30\xb2\x5e\x2e\x98\x48\xae\x93\x9c\x50\x3e\xea\x77\x17\xb0\x67\x46\xdf\xdb\x47\x63\x47\x08\x61\xc3\xe8\x11\xd4\x0b\x51\x35\x50\xd7\x0d\x3e\x2f\xd9\x59\x32\x98\x9a\xdb\xa3\x6c\x90\xc6\x0c\x6f\xf4\x61\xb5\x83\x4d\xe4\x53\x27\xe8\x80\xf6\xf6\x3a\xbc\x6a\x75\x0c\x87\x5b\x94\x83\x75\xb7\x33\xec\x42\x71\x6a\xe5\x0f\x9b\xf6\xd5\x2e\x9c\x72\x22\x06\x84\x6d\x56\x77\xff\x7a\x7f\x50\x7e\x8d\x69\x5b\x16\x9e\x3c\xbd\x8d\x33\xd9\x4f\x7e\xe2\x5d\x6f\x9e\xd3\x95\x62\x9b\x5d\x9f\xad\x77\x30\x72\xf9\xfd\xfb\xa2\xd4\x1b\x3b\xf9\xdc\x57\x27\x73\x18\x67\x15\x37\x19\xe4\xaf\xb7\x3d\xa9\xf6\xdd\x3d\xa1\xe7\x8d\x7b\x72\xd4\xd4\x86\xdd\x85\xc6\x3b\x62\xaa\x7f\xe8\x91\x41\x15\xa7\x7e\x8f\x4d\xa4\x02\x2e\xc3\xbe\x18\x35\x6e\x22\x43\x04\x23\x7b\xec\xed\xae\x2f\x5b\xe7\x94\xf5\x65\xaa\xa6\xd0\x59\xa2\x36\xbc\x85\xd4\x98\x5a\xe5\x1a\x9d\x28\x10\xf6\x94\x20\x8c\x6d\x3c\x0f\x05\x04\x18\x55\xb6\x76\x73\xd5\xbd\xb6\x13\x7d\xc5\x48\x55\xe3\xa6\x36\x01\x2e\x7d\xc5\x07\x3b\x0a\x8d\x9e\x75\x8d\xd3\xdc\x3a\x97\xfc\x4d\x08\xd6\x75\x15\x03\x60\xaa\xa6\xb2\x04\x9d\xe9\xa7\x70\x1b\x2b\x20\x9e\xfd\xd5\xc6\xdc\x12\xed\x62\xe3\xc9\x37\x38\x05\x2d\x2b\xec\x53\x59\x4c\x78\x5f\x9e\xdf\x6c\x8b\xaa\xed\x5d\x8d\x75\xd8\xc9\x31\x82\xf6\xd7\x54\xb5\x70\xbd\x7a\xf9\xaa\x6d\x31\x76\x76\x06\x19\x61\x0a\xfb\xcd\x09\x94\x53\x4d\x09\xa3\x7f\xa3\x85\xd2\xba\x76\x25\xba\xad\x81\x6d\x30\x51\xc1\x41\xd3\xa2\x65\x63\x08\xc7\x9d\xe2\x75\xd2\x2d\x4a\x8c\x7c\x35\xcb\xd3\x9a\xf9\x96\x81\x68\x8a\x5c\xd3\x8c\xa2\x84\x53\x18\x6d\xb5\x95\x46\xdb\x3c\x03\xd4\x85\xd3\xb0\x18\x1e\xb7\xbc\xe6\x01\xdf\xc9\x93\x6d\x1e\x2d\x90\xc2\x69\x50\xee\x3e\x80\x43\x88\xe1\xc3\x3c\xa2\x0d\xd5\x80\x3b\x0a\xf8\x75\xe2\xeb\x9f\xa8\x23\x53\xf8\x8e\xcb\x8e\x2e\x42\x10\x21\xbf\x39\x22\x13\x15\xce\x24\x3b\x1c\xa7\x6b\x8e\x8e\x1c\x6b\xaa\xf3\x54\x92\x75\xf8\x32\x9a\x50\xa3\xb7\x8f\x68\x72\xed\x9a\x69\xae\x6d\xed\x13\x42\x22\x97\x55\x81\x5c\x47\x84\x84\xa7\x0d\x77\x8f\x07\x9e\xc8\xf6\xe6\x9b\x46\xda\x74\x70\xe9\x7f\x6b\x7f\x96\x18\x90\xb1\x0d\x1d\x2c\x4a\x21\x89\xdc\xf8\x16\x5c\xdd\x89\xb7\xb9\xa9\xc9\x46\x05\x4b\x23\x0e\x3a\xc7\xba\x2b\xef\x04\x90\x08\x0b\xa4\x7c\x09\x5a\x12\xae\x32\x94\x12\xd3\xa9\x59\xa8\x46\x33\x43\xc1\x71\x1d\x60\xaa\xe1\x53\xb7\xc9\xfc\xb2\x22\x6a\x96\x59\xce\xae\xed\x06\x4a\x00\xd5\xb6\xc3\x66\x7b\x53\xa5\x30\xa5\x50\x2c\x13\x32\x85\xeb\x1c\x25\xf6\x6f\xdc\xdb\x3c\x3e\x20\xbf\x78\x3d\xba\xce\x41\xad\xd5\xce\xdd\x81\x39\x58\xb7\x8f\xea\xdd\xc1\x1a\xfd\x3c\xf2\x06\xea\xf3\xa5\x93\xa3\xb0\x6d\xd7\x42\x82\xa3\x98\x0c\xb9\x97\x57\xc1\xc3\xbc\xcb\xab\x59\x2c\xfe\x83\x49\xd7\xc5\xac\x5b\x91\x34\x55\x11\x1b\xaa\x55\x13\x49\xde\x3a\x9d\xc0\x12\x6b\x8e\x52\xed\xe1\x71\x54\x01\x61\x4c\xac\x9d\x47\xa5\xa8\xb4\x14\xae\xb9\xab\xcc\xf2\x4e\xb4\x05\x26\xa4\x52\xd8\x3a\x71\x1c\x53\x46\xe4\xc0\x59\x8d\x5b\xa2\xac\x25\xf1\x5d\x49\xdb\x4a\xb4\xb4\xff\xdf\xca\x9e\x93\x78\x5f\x0b\x44\x6e\xfc\x4c\x55\x85\xa9\xbe\x78\xea\x9a\xac\x99\xb0\xcd\x62\xef\x64\x56\xc2\xba\xe5\x3b\xe0\x4e\x4d\xd7\xc9\x1b\xc4\xe7\xea\xfd\x89\x58\x17\xe0\x9b\xfa\x00\x4e\x8e\x5c\xf0\x12\xf5\xa4\xcf\xd7\xf6\xf6\xb4\x67\x8e\xdf\x16\x38\x99\x27\x1a\x81\x53\x38\x9e\x1e\x47\xe3\xb5\x49\x62\xa8\xec\xf8\x5d\x37\x35\xdc\xd3\x01\x63\xb8\x71\xb6\x36\xd1\x06\x24\xf4\xa7\xbf\x51\x8a\x2d\xa8\xab\x01\x84\xb6\xf8\x40\x18\x33\x50\xe3\x71\x62\x0a\x6f\x5d\x0b\xbc\xa8\x94\xc3\x0b\x97\x1f\xd5\xcd\xfb\x2d\x8e\xb6\xe0\xb1\x9c\x1c\xef\x06\x7f\xba\xb7\x15\xe6\x85\x90\xa9\xeb\xae\x5b\xe7\x75\xe3\x31\x47\x57\xc8\xf9\xb6\x39\x71\xb5\x7d\x9d\x9c\xd5\x6e\xa1\x9a\x76\xb6\xab\xfb\x4d\x72\xb1\x9f\x5f\x6d\xe7\xe2\xfb\xa0\xd1\x3d\xe0\x72\x3c\x3d\x0e\x91\x05\xe2\x9b\x1f\x77\x2d\x30\x78\xd1\x51\xe3\x87\x43\x16\xbb\x1d\x62\x2f\x3a\xbd\x26\xdc\x45\x88\x89\xcd\xfa\xf2\xe0\x61\x97\x06\xfe\x56\xe2\x36\xd2\xb2\x61\xe3\xee\x64\xf7\xf4\x38\x43\xa0\x82\x85\x0f\x2d\xb8\x19\xfb\x15\xb5\x1f\xe9\xe0\xea\xf7\x70\xd0\xef\x42\x8a\xae\xe7\xed\x65\xc1\x56\xf4\xc7\x9c\x2b\x43\xa5\x49\xb7\x9f\x10\x0e\x3d\xeb\x3b\x6f\xb0\xa0\x03\x37\xe4\xee\xff\xfa\x86\x3c\x4e\xd9\xa7\x41\x0e\xf7\x7d\xc7\x57\xc7\xc9\x7a\x81\x24\x74\xb7\xef\x02\x90\x1f\x0b\x1e\x3f\x16\x38\x7e\x00\x68\xf4\xc5\x4f\x2f\x58\xac\xea\x8a\xa6\x29\x87\x76\x7b\x5c\x63\x55\xb8\x07\x38\x02\x4b\xc6\x86\xf2\xa7\x48\x9b\x6d\xd4\xb7\xc3\x87\x80\x59\x86\x89\xa6\x2b\x64\x1b\x58\x54\x92\xdb\x74\xb1\x3d\xb8\xb7\x3c\xe0\xd7\x92\x48\x52\x80\x3b\x51\x9b\x53\x3d\xa8\xac\x04\xd7\x84\x76\xd8\x58\x95\x56\x92\x6f\x71\xfb\x42\x19\xb3\x37\x9c\xd6\x26\xa9\x39\xf5\xa1\x2a\x53\xb3\x49\xe3\x1a\x01\x16\x34\x24\x9f\x11\xa1\x6e\x39\x2e\xa9\xce\xab\x85\xed\x38\xba\xfe\xe8\x2c\x63\xb4\x54\xb3\xb2\x62\x6c\xf6\xfc\xc5\xf3\x5e\x7b\x18\x41\xc6\x97\xee\x44\xdd\x27\x29\xa0\x59\xe7\x94\x7e\x63\x34\xfe\x03\x10\xe1\xc8\xf3\x0d\x6b\x9c\x4e\x6c\x42\x6f\x0a\xe0\xed\x6c\xcb\xd5\x50\x52\x8b\x12\xf1\xe2\xcf\x8f\x8f\x4d\x4a\x11\x4f\xe9\x7e\xe3\x02\xa7\x30\xf3\x41\x12\x7d\x01\xe1\x3e\x95\x89\x6a\xeb\x77\xce\x03\xdb\x0f\x03\x6c\xbc\x77\x81\xdb\xc6\x88\xff\x3e\xc8\x84\x28\x59\xa1\x89\x76\xca\xa3\x4f\x0e\x1c\xcb\xe6\xcf\x28\xf1\xea\xf7\xf4\xee\x06\x27\x7d\xb2\x11\x7f\x4b\x0c\xcd\xd7\x1f\x9b\x4e\x57\x35\xa8\xa7\xf0\xa6\x14\x0a\xc3\xf3\xcb\x4e\xbc\xf2\xd1\x7e\x05\x05\xea\x5c\xb8\x6c\x74\x89\xfa\xad\xed\xea\xf8\x7e\x48\x3d\xa6\x73\x29\xaa\xa5\xd3\xc2\x55\x5d\x0d\x5f\x81\x3d\x31\x33\x92\x84\x9b\xad\xb3\x5a\xb8\x0a\x8d\x7e\xd5\xcb\xc9\x0f\xf7\x33\x8a\xb4\x16\xda\xec\x1d\x29\x77\x7e\x05\x53\xb7\xb6\xa9\x52\x15\x9e\x3c\xf5\x0d\x4e\xe7\x88\xbd\x7d\xec\x61\x56\x56\xcd\x2a\x1f\x77\x96\x3f\x04\xa2\xe7\xde\xb5\xdb\x86\xc4\x24\x92\xb8\x6e\x33\x3c\x50\xda\xe1\x56\xef\x77\x6d\x20\x90\x26\x14\x3e\xec\x85\x4c\x0e\xfa\xf9\xd5\x02\x1a\x17\x1f\xfb\x6e\xed\x21\x68\x31\xef\x8f\x28\xff\x4d\x51\xa4\x0b\x97\xa7\xb5\x3e\xef\x52\xad\xf1\xc0\x06\x3a\x0b\x5a\x62\xb7\x60\x6f\x68\xd7\x07\xc3\xdd\xc1\x7f\x03\x00\x00\xff\xff\x4d\x29\x86\x47\xd0\x28\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xf5\x01\x3d\x1b\x4d\x94\x74\xb7\xed\xed\x1a\x49\x73\x6d\xb7\xb9\x3b\x60\x0b\x14\x6d\x76\xf7\xa1\x28\x1a\x5a\x1a\x5b\xbc\x48\xa4\x40\x52\x76\xbc\x41\xbe\xfb\x81\xff\x24\x52\x7f\x1c\x27\xed\xd3\xf9\xa1\x8d\x2d\xce\x70\x38\xf3\xe3\x8f\x33\x43\xd1\xb2\xe2\x42\xc1\x45\xcd\x56\x74\x51\xe0\x25\xbf\x46\x06\x4b\xc1\x4b\x98\x44\xbf\x4d\x0e\xdc\xc8\xf7\xa8\x48\x46\x14\xf9\x83\xe2\x46\xba\x91\xd1\x6f\xcd\xc8\x48\x7e\x48\x6c\x7c\x40\xa3\x43\x7f\xfb\x88\x92\x17\x6b\x14\x4e\x2a\xfc\x69\x72\x70\x40\xd2\x14\xa5\x9c\x92\xa2\x98\x41\xca\x99\x12\x24\x55\xf0\xee\x86\x94\x95\x53\x3c\xef\x2c\xee\xf6\xe0\x00\x00\xe0\xf8\xf8\x18\x2e\x73\x04\x5c\x23\x53\xa0\x72\xa2\x80\x4a\xc0\x92\x2a\x85\x19\x6c\x72\x64\xc0\x70\x03\x4a\xcb\x48\x20\x02\xa1\xa4\x4c\x61\x66\x84\xc3\x49\xad\x02\xa3\x5b\xbe\x37\x43\xa6\xa4\xe4\x35\x53\x73\xf8\xfd\x82\xde\xbc\x7c\x7e\x08\x6a\x5b\xe1\x1c\x3e\x29\x41\xd9\x6a\x16\x4c\xcf\x15\x29\x40\xd6\x55\x55\x6c\x81\x2f\x23\xab\x25\x50\x06\x78\x43\xa5\x42\x96\x62\x6f\xd2\x35\x11\xa0\xb4\xf8\x27\x23\xed\xa7\x6a\x75\xbf\xce\x4a\xca\xe0\x03\x51\x79\x4f\xb6\x40\x65\x1f\x7f\x52\x5c\x90\x15\xea\x41\xda\xba\xe6\xcb\x41\x7f\x3a\x8a\x1b\x58\xd6\x0c\x56\xa8\xde\x3a\x27\x9b\x40\x4d\x05\x4a\x5e\x8b\x14\x2f\xcd\x12\xf5\xbf\xe7\xb3\x39\x7c\xd6\x7f\x7c\x81\x5b\xa3\x48\x7f\xf4\x9c\x6b\x52\x17\xea\x23\x2e\xe1\x0c\x24\x16\xcb\x84\xa4\xa9\x76\x53\x92\x92\x8a\x2c\x68\x41\x15\x45\x99\x2c\xb8\x10\x7c\x73\xfa\x24\xf4\x45\xf2\x87\x96\x7c\x35\x3d\xae\xea\x45\x41\xd3\x63\x0c\x9e\x99\x47\xb3\x66\x1e\xfd\x39\x3f\x87\x8a\x30\x9a\x4e\x27\x6f\x79\x5d\x64\xc0\xb8\x02\xab\x16\x08\x08\x5c\xa2\xd0\x2e\x05\xc5\x41\xe5\x68\xad\x02\xe1\x01\xd5\xaa\x6a\xfe\x10\xa8\x6a\xc1\x1a\xf3\x93\x15\xba\xb5\xdb\xb1\x77\x7d\x77\x69\x4f\x39\x8d\xa1\xb7\x86\x9c\x75\x68\x7c\xdb\xfe\x30\x9b\xc3\x6b\xb6\xfd\xa4\x44\x9d\xaa\xf3\xff\x53\x07\xba\xb1\xc6\x25\x7a\xf5\x91\x1f\x35\x78\x8d\x4d\xfe\x5b\xf3\xeb\x3b\x92\xe6\x50\x4b\x14\x20\x15\x17\x28\x81\x30\xa0\x4c\x2a\xa2\x8d\xe1\x4b\xe0\xac\xd8\x1a\x8b\x8c\xb8\xde\x3f\x2a\x47\x6a\x47\x93\x15\x46\xbb\x7e\x59\xb3\x54\x51\x6e\xb7\x59\x2b\x43\x58\x06\x2b\xbe\x46\xc1\x30\x83\x85\xd5\x56\x09\x34\xbf\x57\x5c\x2a\xcd\x30\x19\x35\x82\x8d\x3a\xca\x3a\x04\x63\xb8\x43\xe5\xb8\x35\xac\x91\x92\xa2\xc0\x2c\x89\x66\x4f\x73\x4c\xaf\x25\xe4\xa4\xaa\x90\x01\x51\x20\x6a\xa6\x68\x89\x46\x14\x35\xd5\x91\xc6\x42\xcd\x4a\x1d\x1d\x8d\xae\x8f\x0e\x4f\x7a\x04\xb3\xeb\x5f\x20\xa4\x02\x89\xe6\x30\xb7\x32\x4d\x8a\x78\xa3\xb4\x87\xfc\x57\xc3\x91\x86\xf2\xb4\x99\x8d\x3a\x6d\x6e\x86\x4b\xca\x8c\xf0\x21\x48\x13\x60\x81\xda\x04\xc6\x61\x43\xb6\xb0\xe4\xda\xb6\x92\x14\x34\xa5\xbc\x96\x36\x1c\x8a\xbb\x39\xad\x17\x5b\xd7\xf0\xda\x4d\x4b\x19\x10\x2a\x12\x78\x0d\xb2\xc2\x94\x92\x02\x0c\x53\x0a\xf0\x3b\x02\x18\x62\x26\xb5\xa6\x45\x6b\x83\xe2\x86\x73\x1b\x75\x2d\x1f\xc7\xae\x08\xb7\x5e\xa3\xd0\x98\xd2\xe1\x7e\xbb\x0f\xfc\x09\x10\x46\xc4\x70\x29\x2c\x48\xe1\xc1\xa4\x72\x2a\x2d\x62\x9b\xb1\x5d\xfe\x75\xa3\x63\xee\x1d\x1a\x28\xc7\x78\x76\x4c\xc0\x6e\x53\x3b\xfe\x43\xf3\xf7\xe8\x70\x81\x29\xd2\x35\x8a\x9e\x40\xb0\x4c\xa0\x8c\x2a\x4a\x0a\xfa\x17\x1a\x18\xf8\xa5\x12\xd5\xba\xcc\x04\x51\x43\x4e\x63\xb1\x91\xd5\x82\xd3\xce\x5a\x67\x01\x33\xe9\x8f\xa1\x23\xaf\xf2\xcc\x2b\x8f\x86\x68\x02\xa3\x19\x32\x45\x97\x14\x05\x9c\xc1\xa4\xc7\x42\x93\xbe\xce\xc0\x75\x70\x16\xfa\x6e\xda\xea\x9a\x07\x7a\x67\x3f\xf4\x75\xb4\xde\x84\xb3\xc0\x3b\x0f\xd0\x10\x3a\x78\x5c\x47\xb4\xa0\x8f\x4e\x64\x12\xe8\xbb\x8b\x71\xf7\x2f\x54\x51\x28\xdc\x06\xdd\x01\xba\xe0\x14\x7e\x63\x85\xa6\x33\x1f\x92\x4e\x44\x1c\xe7\x86\x81\x19\xb3\xe3\xad\x61\x17\x4b\x5b\x86\x77\xcc\x86\xb1\x3b\x4d\x6f\xfd\x45\x6d\xe8\x70\x4d\x89\xb1\xef\xea\x8d\xfe\x2e\x12\xfd\xf3\x74\x76\x05\x25\xaa\x9c\x67\x5d\x83\x3d\xcd\xd8\xc3\x50\x8f\xd5\xd3\x2c\x48\x7a\x3d\xed\x82\x87\x2e\x63\xfc\xbc\x82\x93\xe4\xa4\x33\x46\x7f\xa2\x13\x2d\x48\x7e\xe0\x6c\xfc\xd1\x91\x75\x67\x12\x7a\x2c\x52\x7c\xb7\x0b\xc7\x27\xc9\xc9\x90\xd3\xc6\x62\xe2\xb2\x82\x81\xf4\x27\x88\xc8\xe7\xde\xba\xf4\xe0\xd3\xf1\x5c\x38\xb9\xb8\xd4\xff\xbf\x9a\xce\x0e\x1f\x21\xfa\x2b\x95\x55\x41\xb6\x8f\x94\x36\xdb\xf2\x57\xa2\xc8\xa3\xe4\x2f\xdb\x40\xbc\xea\xb8\xfd\xcb\x7d\x7e\x0d\x52\x28\x93\x27\x7c\x35\x9e\xde\x9d\x23\x99\x08\x6e\xa8\x4a\x73\x1b\x96\x3e\x84\x52\x22\x71\x7f\x7f\xcf\x7b\xf2\x41\x1c\xef\x55\x30\x1d\x94\xd6\x9f\xa5\x72\x51\x99\x7b\x7a\x69\xd7\xf9\x90\x88\xce\x80\xc8\x1f\x76\x1b\xe2\x06\x9f\xf7\x83\xd7\x1a\xd3\x04\xf9\x51\xe6\x84\x10\xd9\xc3\xa0\x66\xf8\xf9\xa0\x45\xb3\xc7\x86\xac\xf5\xca\x70\xd4\xf4\xf1\x53\x62\x46\x09\x9c\xc5\x25\x6c\xf2\x5e\xff\x3a\x1e\x2c\xe3\x23\x5a\xe0\xbc\x23\xf6\xef\xcb\xcb\x0f\x17\xb4\xc0\xdd\x92\xb5\x28\xe6\x30\xc9\x95\xaa\xe4\xfc\xf8\x98\x48\x89\x4a\x26\x1b\x5c\x48\xaa\xf0\x48\xab\x95\x49\xca\xcb\xe3\x17\xcb\x97\x3f\xfe\xf2\x3c\x3d\x49\xff\x41\x7e\x4e\xb3\xec\xe5\xf3\x9f\x16\xcf\xd2\x9f\x7f\x3c\xe9\x3c\x20\x2f\x5e\xa4\x8b\x67\xe9\x2f\x3f\xbd\xfc\x7a\x51\xf0\xcd\xd7\x3f\xb9\xc8\x4a\x22\xae\x13\xb9\x5e\x4d\x46\xed\x18\xd8\xb9\xfe\x63\x3c\x62\x8b\x8f\x09\x2d\xc9\x0a\x8f\xe5\x7a\xf5\xf4\xa6\x2c\x86\xb5\xf5\xa3\x13\xb9\x56\x0e\xfb\x56\x4e\x3f\x9b\xc7\x5f\x86\xc5\xf7\xd9\x4f\x2e\xba\xe3\xbe\x66\xa4\xd4\x6b\x70\xe7\x40\xa3\xcc\x96\xe5\x93\x71\x07\xc8\x6d\xb9\xe0\x3a\x44\xef\x2e\x2e\x77\x0c\xcb\x50\xa6\x82\x56\x3a\x39\x9a\xc3\xe4\x52\xe7\x86\xfd\x73\xb2\x96\x98\x01\x31\x65\x89\xcb\x04\x74\x06\x9b\x63\x51\xc1\x96\xd7\x90\xe1\x1a\x0b\x6e\xfe\x16\xc0\x74\x46\x7e\x71\x09\x7f\xe3\x4c\x47\x32\xd9\x31\x37\xde\x28\x14\x8c\x14\xbf\x7f\xfc\xad\x8b\xc1\x77\xed\xa3\x69\x03\x32\x37\xf7\xd1\x52\x25\x9c\x2d\xb5\x72\x2e\x56\x93\x1d\x20\x28\xf8\x8a\xcb\xb9\x0b\xe1\x0e\x57\x71\x9d\xb8\xcb\xf9\x00\xad\x86\x9f\x89\xda\x50\xa5\x50\x4c\xf6\x32\xd6\x0d\x36\x9b\x40\xdb\xfa\x75\x51\xf0\xf4\x3a\xcd\x09\x65\x93\x61\xb8\x40\xef\xd0\xf6\x9f\x47\x73\x47\x48\x61\xe3\xec\x11\x54\xdf\x51\xba\xe1\xab\x70\x97\xaa\xee\x2c\xc0\x97\x82\x97\xf3\x5e\x66\x3b\xbe\xd0\x87\x55\xe2\xa6\x2c\xce\xac\xa1\x23\xde\xdb\xeb\xf0\xf2\xee\x18\xdf\x6e\x51\x45\xd3\x5d\xce\x38\x84\xe2\x42\xa5\x97\x5a\xef\xe2\x29\x6b\x62\x20\xd8\x66\xf5\xf7\xcf\xf7\x1b\x65\xd7\x98\xb5\x4d\x96\xd3\x27\xb7\x71\x5d\xe8\xb3\xf5\xbb\xc1\x3c\xa7\x6b\x45\x5f\xdd\x50\xac\x77\x28\xb2\xd5\xf2\xbb\xb2\x52\x5b\x33\xf8\xc2\xd5\xfa\x73\x98\x2e\x6b\xa6\x33\xc8\x7f\xde\x0e\x14\xae\x77\xf7\x6c\x3d\x17\xdc\xd3\xa3\xa6\xd3\xd2\x9d\x68\xba\x63\x4f\x0d\x3f\x7a\xe4\xa6\x8a\x53\xbf\xc7\x26\x52\x81\x96\x71\x2c\x46\x6d\xd0\xb1\x42\x60\x8f\xb5\xdd\x0d\x65\xeb\x8c\x16\x63\x65\xd3\x0a\x95\xd6\xcd\x85\xc2\xcc\x38\x57\xfb\x44\x02\x37\xa7\x04\x29\x8a\xad\xd3\x21\x81\x40\x41\xa5\xe9\x84\xd8\x5e\x99\x32\x03\x5d\xff\x85\xca\x06\xa6\x26\x01\xae\x5c\xff\x04\x76\x14\x1a\x03\xf3\x6a\xd0\xdc\x5a\x48\xbe\xe1\xbc\xe8\x42\x45\x13\x98\xf4\x52\x46\xa0\x33\xfc\x0c\x6e\x3b\xa5\x50\x34\xfa\xb3\xd9\x73\x2b\x34\x93\x4d\x67\x5f\xe0\x0c\x94\xa8\x71\xb0\xe4\x8c\x04\xf7\xae\x9f\xa8\xec\xaf\x6a\xaa\xc2\xbe\xa8\x36\x74\x47\x95\x3b\xe6\x97\xcf\xca\x14\x63\xe7\xe7\xb0\x24\x85\x1c\xad\x82\x37\x54\xe5\x99\x20\x9b\xf0\xc7\x68\x80\xdf\xa4\x2e\x70\xe4\xda\x76\x20\x6d\xaf\xdf\x9d\xfb\x44\xac\xea\x12\x99\x8a\x04\x09\xcb\x1a\xed\x2e\xec\x4e\xc8\x5c\x68\x34\xdd\xc7\x64\x74\xea\xff\x28\x47\x19\x1a\x4b\xa6\x0b\x86\x65\xc5\x05\x11\x5b\xd7\xb7\xf4\xd7\x17\x26\x05\xd1\x49\x07\x2f\xb2\x48\x83\xca\xd1\x5f\x65\x58\x03\x04\xc2\x02\x29\x5b\x81\x12\x84\xc9\x25\x0a\x81\x59\xa2\x27\xf2\xa0\xd5\x12\x0c\x37\xc1\xd6\xd1\x7a\x7c\x6f\xd1\x4d\xcb\xa3\x0e\xa3\xd1\x6c\x7b\x95\x20\x39\x50\x65\xda\x92\xa6\xa1\x57\x71\x9d\xf1\xc6\x36\x61\x21\x71\x93\xa3\xc0\xe1\x85\x3b\x94\xc4\x3c\xf8\xa7\xf3\xa3\x2d\x10\xbd\x57\x3b\x17\x2e\x9a\x3f\xfb\x8c\xbc\xbb\x65\x15\x7d\x3d\x72\x01\x1a\xc2\xda\xe9\x51\xd8\xeb\x6c\x1b\x63\x56\x62\x36\x06\x2f\xe7\x82\x87\xa1\xcb\xb9\x99\x2f\xfe\x8b\x69\x17\x62\x06\x56\x24\xcb\x64\xa4\x86\x2a\xd9\xf4\x93\x5c\x74\x3a\xed\x25\xbe\x61\x28\xe4\x1e\x88\xa3\x12\x48\x51\xf0\x8d\x45\x54\x86\x52\x09\x6e\x3b\xe2\x52\x4f\x6f\x4d\x5b\x60\x4a\x6a\x89\x2d\x88\xe3\x3d\xa5\x4d\x0e\xc0\xaa\x61\x89\xc2\x5b\xe2\x5a\xb9\xa6\xff\x6a\x64\xff\xde\xda\x9e\x93\x78\x5d\x0b\x44\xa6\x71\x26\xeb\x52\x27\xd9\x2c\xb3\x9d\xe9\x25\x37\x1d\x76\x07\x32\x63\xa1\xef\x93\x8f\xc0\xa9\x69\x2e\xb8\x80\xb8\x94\x6c\xf8\xbc\xed\x76\xaa\x9a\x34\x10\x4e\x8f\xec\xe6\xd5\xf5\xee\x00\xd6\xf6\x46\xda\x53\xd7\x9f\x1a\xea\x98\x46\x4f\x3a\xdd\x28\xb0\x45\x89\x09\x49\xdc\x30\xec\xe0\xae\x9b\x01\xec\x09\xc0\x98\x6e\x6c\xac\xf5\x6e\x03\x12\xe2\xe9\x2f\x14\xbc\x47\x75\x9e\x40\x68\xcb\x0f\xa4\x28\x34\xd5\x38\x9e\x48\xe0\xb5\xbd\x37\x28\x6b\x69\xf9\xc2\x1e\x83\xfe\xc6\xa3\xa7\xd1\xe4\xb5\x46\x93\xd5\xdd\xf0\x4f\xf7\x8a\x47\xff\xc0\x45\x66\xaf\x24\x0c\x78\xed\xf3\x58\xa3\xcd\xd7\xdd\x5d\x03\xb1\x25\x9c\x3f\x83\x3d\x2c\x64\x73\x07\x60\xcb\x3b\x7d\x86\xec\x87\xab\x7e\xca\xb5\x0f\x1b\xdd\x43\x2e\x27\xc9\x49\xc8\x2c\x10\x5f\x97\xd9\xbb\x94\x03\x18\xb9\x1d\xf2\xfc\x61\x99\xc5\x2c\x87\x98\xdb\x61\xe7\x09\x7b\x7b\xa4\xf7\xa6\xbf\x71\x79\xd8\x4d\x8b\xbb\xca\xb9\x8d\xbc\xac\xd5\xd8\x8b\xec\x3d\x11\xa7\x05\x64\x30\xf1\xa1\x21\x37\x1d\xbf\xd2\xe3\x48\x05\xf7\xe5\x87\xa3\xb8\x0b\x25\xba\xc8\xdb\x2b\x82\xad\xe9\x8f\x39\x57\x1e\xd3\xa5\x7e\x3a\x74\xde\x60\x49\x47\x5e\x2b\xb0\xff\xfb\xd7\x0a\xe2\xcc\x2c\x09\x6e\x32\xbe\xed\xf8\xea\x80\x6c\x90\x48\x42\xb8\x7d\x13\x81\x7c\x5f\xf2\xf8\xbe\xc4\xf1\x1d\x48\x63\x68\xff\x0c\x92\xc5\xda\x27\xae\x4d\xd6\xbb\x1b\x71\x4d\x54\xe1\x1e\xe2\x70\x91\x34\x97\x79\xe1\xb1\x66\xd0\x13\xc3\xf4\xd9\xc9\x89\x3e\x6a\xe2\x21\xdd\x17\x46\xe0\x0c\x8e\x9d\xf3\xa2\xd7\x09\xec\x7b\x27\xd1\xcd\xe3\x5b\x6b\x59\x7b\xcb\x6e\x70\xd0\xdd\xd0\xc6\x77\xee\x65\x1b\x1d\x3a\xb2\x46\x8d\x02\xca\xa2\xfb\x7b\xab\xb2\xf9\x33\x3a\x90\x87\x3d\xd0\x5d\xe0\x6c\xc8\x36\xe2\xae\x5c\xa1\x79\x95\x62\xdb\x69\xaa\x04\x79\x36\xde\x54\x5c\x62\xc8\x6b\xf6\x5e\xcc\xa1\xc0\xdf\x88\xd9\x97\x09\x50\xbd\x36\x45\x9d\x2b\x87\xfc\x33\x95\x0b\x5e\xaf\xac\x17\xae\x7c\xf7\xe1\x0a\x0c\x93\x2e\x49\x1a\x2e\xd6\x67\x3b\x70\x15\x5e\x62\x5d\x0d\x6a\x72\x8f\x87\x15\x45\x5e\x0b\x63\xf6\x96\x54\x3b\x5f\x29\xf1\x9d\x2d\x2a\x65\x8d\xa7\x4f\x5c\x7f\xc3\xa6\x27\x83\x6d\xac\x71\x55\xc6\xcd\x32\x9f\x76\xa6\x3f\x04\xa2\xe6\x2e\xe1\x69\x1b\x3b\xb3\xc8\x62\x5f\x25\x3f\xd0\xda\xf1\x4e\xcf\x37\x2d\x20\xb0\x26\x34\x3e\x6c\x67\xcd\x0e\x86\xf5\x79\x03\x35\xc4\xa7\xae\x59\x73\x08\x8a\xcf\x87\x77\x94\x7b\x41\x27\xf2\x85\x3d\xbf\x5b\xcc\xdb\x23\x78\x3a\xb2\x80\xce\x84\x46\xd8\x4e\x38\xb8\xb5\x3d\x61\xdc\x1d\xfc\x2f\x00\x00\xff\xff\xc5\xfd\x3b\xd3\x1d\x28\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -94,11 +95,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x7a, 0x10, 0x23, 0x20, 0xcf, 0x54, 0x9c, 0xc8, 0x41, 0x46, 0xbd, 0xc9, 0x2a, 0xfc, 0xa9, 0x2c, 0xa0, 0xf0, 0x48, 0x5a, 0x3b, 0xdd, 0x4a, 0xb9, 0x3c, 0x9c, 0x50, 0x97, 0x28, 0xd6, 0xa6}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x91, 0x8e, 0x36, 0x32, 0xc1, 0xf7, 0xd8, 0x11, 0xb2, 0x6a, 0x93, 0x8f, 0x59, 0x9f, 0xa0, 0xf6, 0xc2, 0xe4, 0xe7, 0xe, 0x81, 0x15, 0xa7, 0x8e, 0xa3, 0x72, 0x4d, 0x59, 0xe5, 0x21, 0x2e, 0x87}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\x4d\x93\xdb\xb8\x11\xbd\xf3\x57\x74\xd9\x07\x8f\x26\xb2\x66\x0f\xa9\x1c\xa6\xe2\xf5\xda\x6b\x4f\xca\x97\x6c\xca\x1e\xaf\x0f\x49\xaa\x04\x91\x4d\x11\x6b\x10\xe0\x02\xa0\x64\x65\x6a\xfe\x7b\xaa\x1b\x00\xbf\x44\xcd\xc8\x9b\x75\x6a\x7d\xb1\x86\x04\x1a\x8d\x87\xee\xd7\xaf\xc1\xab\xcb\xcb\x2c\x7b\x0a\xb7\x15\xc2\x8d\x32\x7b\xb8\x69\xf5\x56\x6e\x14\xc2\xad\xf9\x8c\x1a\x9c\x17\xba\x10\xb6\xc8\xb2\xa7\x4f\x61\x9d\x5e\xf2\xbb\x35\xe4\x46\x7b\x2b\x72\x9f\x65\x3c\x7d\x7e\x26\x48\x07\xda\x80\x32\x7a\x8b\x16\x84\x06\xa9\x3d\xda\x52\xe4\x98\xf9\x4a\x78\x10\x4a\x41\x99\xa6\x7a\x9e\x9a\xec\x3a\xd8\x9b\x56\x15\x50\x89\x1d\xbd\xa2\xe7\xa5\xb1\x35\x78\xb3\xca\xb2\x77\x25\x08\x68\x1d\x5a\x07\x7b\xa1\xbd\xa3\x01\x05\x36\xca\x1c\x40\x80\xc6\xfd\xc4\xd6\x12\x7c\x85\xd2\xf6\x3e\x17\x06\xc9\x31\x0f\x1a\xb1\xa0\xc9\xb2\x6e\x14\xd6\xa8\x3d\x8d\x84\xd1\x56\x7b\x9f\x97\xb0\x69\x7d\x34\xc5\x0b\xb8\xac\x30\x27\x4c\x74\x93\x1c\x14\x58\x4a\x8d\x05\x48\x0d\xbe\x92\xae\xf3\x62\x15\x70\xfd\x59\xb4\xca\xaf\xc1\xa2\x33\xad\xcd\x07\x33\xb3\xec\xad\xc8\xab\x29\x3e\xdd\x38\x7f\x68\x90\x17\x77\xc7\xab\x9f\x36\x1a\x17\xfd\x87\x35\x3b\x59\xa0\x5d\x2f\x61\xfd\x1e\x73\x94\x3b\xfe\x2d\x74\x01\xeb\xd7\x42\x09\x9d\xe3\xdc\x6c\xc7\xa7\xed\x26\xdb\xcb\x95\xb0\x08\x8d\xc5\xe7\xb9\xd1\x85\xf4\xd2\x68\xc7\xa6\x1a\xe3\xfc\xf0\x19\x9f\xb9\x45\xe7\xad\xcc\x7d\x46\x8e\xe2\x17\xcc\x5b\x7a\x09\xa6\x64\xcf\xcb\x56\xe7\x61\x30\xc3\x85\xc0\x3b\x59\xf1\xba\x07\xa0\x75\x1c\x36\xc2\x0a\x8f\xb0\xc1\x5c\xb4\xe4\x8b\x87\xad\xdc\xa1\xe3\xe1\x14\x14\xfc\x43\x6c\xa4\x92\xfe\x40\xd8\xb8\x4a\x58\xcc\x04\x58\x2c\xd1\xa2\xce\x39\x9e\xc2\x31\xb2\xf5\xe0\x97\xd1\xea\x00\xf8\xa5\x31\x2e\x9a\x2a\x25\xaa\xc2\xf5\x1e\x65\x52\x83\xd1\x08\xc6\x42\x6d\x2c\x26\x8f\x7b\x28\x28\x30\x29\xa6\x9d\x89\x0e\x85\x08\x9d\x78\x53\x8b\xcf\x08\x79\xeb\xbc\xa9\x3b\x84\x23\x34\xdd\x21\x12\x36\x63\x94\x29\xc0\x0d\xec\x84\x95\xa6\xa5\xd1\x52\x6f\x1d\xec\xa5\xaf\xd8\x7c\x88\xc6\x55\x76\x63\x2c\xe0\x17\x41\x66\x96\x20\xa0\x14\x6d\x8e\x1e\x72\xa1\x61\x83\xbd\x75\x2c\x60\x73\x48\x09\x25\xf5\x36\x0b\x70\x40\x0a\x8a\x51\xb4\x5c\x5e\x65\x99\xac\x1b\x63\x3d\xfc\x2c\x71\xff\x1e\x9d\x51\x3b\xb4\x50\x5a\x53\xc3\x93\xe1\xa3\x27\x59\x76\x75\x75\x35\x4e\x1e\x7a\x32\x7a\x1a\x09\xa2\xf3\x45\xc4\x68\xb1\x38\x20\x0a\x8b\xbf\xb6\xd2\xce\xa5\xd5\x38\x19\xd8\x72\xef\x2c\x7c\x42\x70\x5e\x2a\x15\x48\x43\x7a\x10\x6e\x44\x3a\x50\xa1\xed\xe3\xc6\xf3\x5f\x1c\x52\xa6\xe6\xc8\x29\x5b\xc5\x26\x5b\x1f\x4e\xab\x46\x5f\x99\x22\x1e\x4e\x2d\xf4\x01\x1a\x6b\x7e\x41\x26\x27\x5a\x26\x2c\x46\x0c\x44\x9e\xf2\xa2\x46\x4f\xb8\xc6\x2d\xd9\x64\x64\x8e\x10\xc2\x9b\x03\x6d\xb6\x46\xa1\x5d\xb7\xd7\x15\x93\x61\x08\x83\xfe\x29\xfd\xe6\x67\xdd\x29\x87\x3d\x27\x50\xdc\x28\xdd\x7b\xea\x10\x79\x8e\xce\x5d\x08\xa5\x16\x9d\x27\x03\x1c\x46\x67\x74\x3d\x3e\xd8\xbb\x2c\x03\x00\xb8\xba\x82\x57\x1a\x50\x7b\xe9\x23\xfe\xa5\xb1\xe4\xa3\xd9\x4b\xbd\xe5\x65\x29\xfc\x0a\x2b\xf6\x42\x71\x2e\x70\x0c\x86\xb8\x10\x21\xb1\xd8\xd0\xd0\x95\xa1\xb9\x4f\x71\x76\x5a\xee\x8a\xeb\x10\xee\xc2\x51\x07\x18\xb0\x96\x9e\xc2\x75\x5f\xa1\x4e\x0b\x10\x80\x69\x65\x7d\xbc\x1c\x19\xba\xbc\xbc\xbc\xbc\xfd\xe9\xcd\x4f\xf4\x3f\xbc\x2a\x0a\xd8\x49\xdc\x43\x85\xaa\xa1\xc0\xed\x18\xc6\x99\x84\x2d\x2d\xc5\x0b\xc7\x54\x89\xeb\x76\x06\x99\x1b\x82\x13\x94\xcc\xb5\x69\xb5\x0f\xb5\x4d\x3f\xff\x0f\x5a\xc3\x6c\xc7\xf1\xc9\xee\x14\x85\x45\xe7\xd2\x00\x2d\xd5\x31\x10\xbb\x21\x04\xfa\x22\x98\xbc\x86\x8f\x37\xf2\xcb\x5f\xfe\xbc\x64\x72\xbf\x86\x0f\xde\x4a\xbd\x5d\xb2\xd5\x6b\xda\x08\x99\x7d\x19\xfe\xfe\xf8\xf1\xdd\x9b\x6b\xf8\xf8\x4e\x7b\x1a\xdf\x01\x32\x7c\xbc\xf8\x2d\xd0\x16\xd8\x18\x27\x7d\x48\xbe\x3f\x0e\xb0\xe4\xcc\xb9\xb0\xbe\x49\x5b\x78\x04\x56\x6f\x86\xa0\x7a\x33\x86\xb4\x03\xe2\x04\xa4\x6f\x1f\x80\xb3\x42\xd8\x2a\xb3\x11\x0a\x36\xad\xd5\x91\x47\x68\x58\x2e\x94\xa2\x51\x44\xdc\xa2\xdf\xe5\x26\x94\xdc\xd3\x38\xbf\x6e\xad\xc6\x9e\x54\xce\x44\xf8\x18\x1a\xb6\xf3\x18\x2e\xd3\xf0\x1a\x6c\xfa\xf5\xd8\xd1\x51\x7c\xf5\xf4\xc2\xae\x35\xa1\x9a\xb8\x5e\x0c\x76\x01\xf2\xaf\x6e\x1e\x71\xca\x16\xbd\x27\x4a\x89\x20\x80\xe4\xba\xc4\x85\x61\xb4\xce\x70\x37\xc7\xd2\x24\xb9\x06\x77\x3c\x38\x2d\xf0\x37\x0c\xdc\x99\x8c\xc7\xa2\xbd\xeb\xc2\x7a\x6a\x99\x23\xba\x6c\x35\xb9\x15\x4d\x5e\x2c\x12\x52\x3c\xe3\xbe\x87\x23\x55\xcc\x73\xf0\x40\xda\x56\x1e\xb5\x45\xe4\xf7\x40\xe1\x04\x42\x4a\x60\x2a\xc7\xc9\xc8\x90\x51\x59\x69\x24\xd6\x67\x02\x3e\x34\xb8\x3a\x5a\xf7\x9d\x87\x4e\xdb\xc6\x05\xc7\x6b\x19\x0d\xeb\x4d\x12\x78\x54\x00\x97\xdd\xdc\x81\x9e\x52\x28\x48\xbf\x98\x26\x06\x73\x63\x9c\x93\x51\xc2\x98\x12\x72\x8b\x82\x9d\x88\x32\x26\x1e\xb5\x75\xbd\xeb\xb4\x63\x12\xc7\xac\xb1\x09\x5d\x61\xa5\x3a\x44\xb1\xcc\x05\xd2\xec\x75\x3a\x95\xd5\xd7\x9c\x73\xa7\x52\x62\xa1\x4a\x4b\x26\x04\xc1\xb5\x9b\xd8\x41\x3c\x08\x60\x32\x3d\x32\x42\x74\x63\xd1\xb7\x96\xd8\x30\xaa\xc3\x4e\x65\x59\xac\xcd\x8e\x89\x31\xa8\xad\xc1\xc4\x91\x91\xdb\x81\x8e\x7d\xe6\xe2\x7e\x40\xe1\x0e\x15\x71\xc0\x3a\x6e\x30\xb1\xff\x62\x3d\x9a\xfd\xc1\x90\xf4\x35\x96\xb6\x48\xac\x17\x66\x4b\xbf\x64\xf1\x19\x9a\x22\x94\x24\x5e\x3a\x34\xc1\x6c\x48\x95\x80\xf4\x0e\x55\x39\xb2\x66\xb8\xed\x8a\x75\xb7\x18\x48\x60\xde\xd5\x3a\xf9\xb0\x9e\xdf\xcd\xd4\x53\x4e\x8c\x04\xf4\x84\x45\x16\xd7\xf0\xc3\x1d\x23\x76\x3f\xc8\x41\xfa\x47\x6d\xc0\xe4\x51\x54\x18\x6b\x8b\x2e\x36\x2a\x25\x4b\x65\x13\x81\xa6\x13\x80\x9d\x50\x2d\x1e\x4d\x0b\x53\x56\xc3\xf4\x84\x17\x2f\x62\xed\xb8\x3e\x1a\x4e\xff\x9e\x7c\xea\x95\x4a\xac\x31\x75\xeb\x3c\xd1\x25\x2d\xe7\x44\x8d\x24\x15\x67\x78\xa2\x17\x1a\xbc\xb3\x27\x47\xe6\x89\x6e\x67\xea\x78\xf8\x3f\x11\x2b\x9d\x0a\x39\x7c\x7b\x68\xf0\x62\xb1\x92\x05\x9d\x47\x29\xd1\xa6\xd2\xce\x03\xcc\x5e\xa3\x7d\xb9\x8a\x65\x6e\x48\xc3\xfc\xba\x6d\x65\x71\x54\xe8\x23\x18\xf4\x6e\x31\xf2\xed\x3e\x1b\xff\x1a\x90\x56\xea\xf7\xfe\x77\xd2\x8a\x25\x72\x86\xb3\xa4\x8e\x47\x79\x06\x67\x7d\xc2\xc4\x14\x52\xe7\xaa\x2d\x10\x04\x74\x4d\x63\x70\x23\xaf\x30\xff\x3c\x3e\xa0\xc8\x56\x9d\x95\x3d\x76\x42\x9c\x9a\xaf\x73\x7a\xaf\x00\x43\x10\xd8\x9d\x1d\x2a\xa3\x85\x49\x83\xe6\x1b\xad\x25\x28\xf9\x19\xc1\x35\x4a\x72\x75\xa9\xa1\x6d\x88\x3a\x3a\x23\x0e\x83\x6c\xa9\xb9\x6f\x93\x25\x27\x9d\x87\x46\x85\x36\x11\xce\x67\xbb\x74\x58\x53\xb6\x8b\xd0\x83\x17\x9f\xb1\xa7\x2a\xa2\xaf\xf8\x86\x28\xe3\xc4\x31\x8c\xae\x10\x1e\xca\x7b\x76\x8a\x52\x3e\xda\xbc\x08\xd1\x9a\xd2\x7c\x31\x76\x69\x8b\xfe\x43\xdb\x50\xa7\x88\x05\x0f\xa0\x70\xa7\x22\x42\xe7\x28\x94\x3a\x0c\x98\x55\x49\xe7\x29\xc7\x76\xa1\xff\xe6\x81\xbd\xa0\x49\x47\xc3\x7e\x34\xde\x3d\x5a\xa8\x67\xd6\xa5\xa2\x7d\x77\xcb\xe9\xf7\xda\x18\x75\x3f\xf6\xf5\x7d\xf4\x64\x5f\x21\x33\xa9\xb1\x1c\x80\x2c\xdc\xe4\x8e\xaa\xde\xa1\x41\x22\xeb\xe0\x41\xe8\x98\xe9\xed\x28\x79\x92\xb5\x57\x69\x1f\x1c\xab\x42\xc7\x59\x40\x1d\x23\x1b\x72\x15\xd3\xf6\x2f\x44\x3a\x91\xdc\xbc\x6d\xb9\x11\x2c\xb0\x7c\x5c\x8b\x48\x77\xbc\xc3\x8b\xc0\x2d\xf4\x73\x11\xf6\x38\x4d\xf4\x91\x76\xef\x25\x42\x81\x74\x18\xcb\x00\x75\x1f\x69\xa1\xb2\xf0\xed\x45\x7f\xd7\xd6\xed\x77\x99\xf4\xd5\x12\x6e\xad\xd0\xae\x44\x6b\xec\xb2\x2b\xc6\xe1\xea\x28\xf5\x90\xbd\xa4\x68\x7b\x85\x4c\xf8\xba\xb4\x0b\x38\xa0\xff\x9a\x34\xe0\xad\x5c\x0f\xbc\xe9\x17\xee\xfc\x1a\x76\xb1\xab\x69\x3b\x9b\x3c\xba\x91\xa8\x8a\x18\x6a\x56\x4c\x49\xc5\x94\x20\x1e\xd2\x86\xc2\xa6\xa1\x9d\x22\xfc\x96\x6a\xf3\xff\x9d\x5e\xa9\x08\xc4\x98\x9c\xdc\xd2\x00\x87\x0b\x33\x74\x31\xbe\x49\xe1\x65\x42\xfb\x88\x5f\x1a\xcc\x53\xff\xd1\x17\x85\xd0\xe8\x75\xc9\xd4\x2b\x40\xf2\x6d\x19\xda\x19\x3c\x84\x2b\x14\xdd\xdf\xa9\x46\x61\xc9\x97\x38\x23\x5f\x46\xe6\xa9\x14\xf1\xc6\x92\xe8\xfa\x3d\xf8\x62\x22\x58\xa8\xf7\x41\x65\xf6\xa1\x14\x31\x14\x83\xeb\xb4\x54\x5a\x5c\x6b\x63\xe1\xb4\xad\x7e\xee\x65\x1d\xaf\x69\x39\xb7\xa6\xf6\x18\x92\x2d\x26\x46\x18\x36\x8f\x8d\xe0\x7a\xd1\x25\x42\x4c\xc8\x58\x88\xc6\x57\xf1\xab\x70\xf9\xb3\x82\x91\x7d\x59\x1e\xa9\x0e\xf7\xa1\xdd\x90\x37\x17\xa6\x0c\xb4\xf1\xd7\x1f\xee\x66\x2c\xdd\x7f\x7f\xb1\x58\xcc\xc8\xb5\xc8\x5b\x77\x63\xb3\xd7\x4c\x64\xf7\x63\xed\x01\xa8\x1c\xce\x2b\xbe\x40\xbc\xac\x49\xeb\xc6\x1f\xa0\x90\x7c\x62\xc2\x1e\x92\x02\x4b\xc1\xc7\xea\x8f\xcf\xb6\x83\x61\x5f\x19\x28\x8c\x7e\xe6\xe7\x2c\xf7\x17\x85\xb3\xf8\x2c\xc1\xb5\x79\x45\x8b\x8c\x5f\x7f\xd8\x4b\x9f\x57\x1b\x23\x6c\xb1\x5e\xc2\x9a\x9f\xdd\x18\xbb\x17\x24\xc0\xd7\x80\x3e\x5f\x9d\x84\xe2\xfe\xa4\xe4\x1a\xc5\xe7\x8f\x41\xbd\xc8\x72\xa6\xbe\xf4\x8c\xc8\x05\x46\xba\x01\x6b\x9f\x8c\xe0\xf3\xca\xc1\xe4\x00\xa2\xd3\xe9\xf8\x66\x53\xe0\x9f\x64\xe4\xdf\xf0\xf2\x25\x94\x42\x39\x3c\xb5\xa1\x99\x56\x6b\x1d\x14\xef\xba\x6f\xb6\xd8\xee\x33\x37\xba\xdb\x80\xd9\x36\x4b\xe3\x7e\xda\x6a\x25\xc3\x84\xcb\xf1\xfc\xdf\xbb\x3f\xb1\x73\xc1\x9a\x80\xea\xbb\x8c\xef\x1f\xe9\x32\x5e\x85\xd6\xa2\xef\x19\x52\x93\xa1\xa8\x83\xf3\x95\xa0\xb6\x0e\xf0\xd7\x56\xa8\xf0\xd7\x4c\xa9\x98\x69\x33\xee\xcf\x6c\xa6\xe2\x9d\x36\xb8\x06\x73\x29\x54\xc7\x86\xb0\xde\x60\x69\x2c\xae\x59\x1b\xc7\x0a\x15\xb2\x2b\x2e\xda\xdf\x08\xf0\x37\x8f\x39\xe3\xf1\x0a\x7a\x83\x5b\xa9\x35\x89\xc8\xc9\xf7\x9a\xfe\x4b\xce\xcc\xec\x33\xb0\x7d\xf1\x02\x82\x97\x17\x47\xef\x16\xf0\xfc\x61\xdc\xff\xde\xc5\x4f\x02\x73\xd8\xdd\x25\xf9\xdd\x63\xdc\x58\xdc\xf1\x67\x94\x34\x3c\x5d\x32\x4e\xba\xbd\xf4\xfe\xd4\x71\xdc\x9f\x2b\xc9\x45\x51\x90\x1c\xef\x17\x8c\xaa\x7c\x74\xf6\x47\xa9\xff\x35\x82\x7c\x8e\xc7\xa7\x24\x4e\x42\xd5\x39\xb4\xbe\xff\xa2\x90\x1b\x9d\x5b\xf4\xb1\x4a\x45\x78\xfa\x1b\xe0\x20\x1f\xa4\xeb\xba\xe4\xa9\xbd\x48\xd9\x03\xf5\xdb\x49\xe6\xf4\x91\x20\x5a\x3b\x23\xe1\x68\x2f\x2b\xe9\xde\x69\xe7\xf9\xe0\xc7\x85\x66\x71\x0d\xf3\xa7\xff\xa3\xd0\x24\x2d\x13\xfa\xfc\xbd\x27\x37\x75\x23\xfc\xe0\xab\x29\xed\xef\x44\xf3\x7e\x7c\x5b\xcc\x8e\x0c\x23\x30\xf5\xf1\xe9\xc5\x4c\x1f\xef\xcd\x89\x2e\x3e\x5d\x2b\x0f\x7a\xf8\xc9\xcd\x32\x5b\x7d\xa8\x83\x87\xd3\x69\xff\x95\x89\xf4\xa7\xf4\xee\x68\x8b\x8b\xdf\x94\x5b\xae\xad\x1f\x4d\xaa\x3e\x9c\x1e\xe4\xb6\x49\x32\xf1\x15\x23\xbe\x25\x8d\x10\xf3\x48\x29\xb3\x77\xdc\x52\x85\x6f\xbc\x26\x8e\x19\x15\x10\x8e\xc1\x4a\x50\xfa\x1d\x5d\xac\xc3\x23\x39\x35\x5d\xf2\xe2\xab\x6f\xb4\x4e\x5c\x4d\x7d\xb7\xfa\xee\x1a\x9e\x90\xb0\xd6\xb8\x57\x87\xb8\x50\xc4\x23\xe0\xc9\xc2\x77\xe8\xf1\x69\x98\x60\xdc\xe4\x7d\x03\xa0\xe6\x7a\xb2\x59\x80\x76\x49\x3a\x74\xba\x63\x9e\x89\x06\x50\xcd\x20\xd7\xa3\x16\xf2\x8a\x20\x1b\x58\x66\xe0\x3a\x89\x1c\xa8\xa6\xbb\xe3\xae\x85\xcf\xab\x18\x66\x2e\x7c\x32\x3e\xca\xf4\x6f\x72\x2a\xe9\x1c\xee\xff\x1b\x00\x00\xff\xff\x71\x6e\x75\x5b\x44\x23\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x5f\x93\xdb\x36\x92\x7f\xd7\xa7\xe8\x73\xaa\x62\x69\x4e\xd6\xf8\x72\x49\x2a\x99\x3a\xc7\xb1\x13\xfb\xca\x0f\xbb\xd9\x8a\xc7\xf1\xc3\xee\x56\x09\x22\x9b\x12\x32\x10\xc0\x00\xa0\x64\xad\x77\xbe\xfb\x56\x37\x00\x92\xa0\xa8\x19\x4d\xb2\x5e\x3f\x78\x24\x12\xe8\x6e\xf4\xdf\x5f\x37\x74\x79\x71\x31\x99\x7c\x06\xd7\x1b\x84\xd7\xca\xec\xe1\x75\xa3\xd7\x72\xa5\x10\xae\xcd\x0d\x6a\x70\x5e\xe8\x52\xd8\x72\x32\xf9\xec\x33\x58\xa6\x97\xfc\x6e\x09\x85\xd1\xde\x8a\xc2\x4f\x26\xbc\x7d\x7c\x27\x48\x07\xda\x80\x32\x7a\x8d\x16\x84\x06\xa9\x3d\xda\x4a\x14\x38\xf1\x1b\xe1\x41\x28\x05\x55\xda\xea\x79\x6b\xa2\xeb\x60\x6f\x1a\x55\xc2\x46\xec\xe8\x15\x3d\xaf\x8c\xdd\x82\x37\x8b\xc9\xe4\x4d\x05\x02\x1a\x87\xd6\xc1\x5e\x68\xef\x68\x41\x89\xb5\x32\x07\x10\xa0\x71\x3f\xa0\x35\x07\xbf\x41\x69\x3b\x99\x4b\x83\x24\x98\x07\x8d\x58\xd2\x66\xb9\xad\x15\x6e\x51\x7b\x5a\x09\xd9\x51\x3b\x99\xe7\xb0\x6a\x7c\x24\xc5\x0c\xdc\xa4\x34\x27\x48\xb4\x9b\x1c\x94\x58\x49\x8d\x25\x48\x0d\x7e\x23\x5d\x2b\xc5\x22\xe8\xf5\x17\xd1\x28\xbf\x04\x8b\xce\x34\xb6\xe8\xed\x9c\x4c\x5e\x89\x62\x33\xd4\x4f\xbb\xce\x1f\x6a\x64\xe6\xee\x98\xfb\x69\xa2\x91\xe9\x5f\xac\xd9\xc9\x12\xed\x72\x0e\xcb\x9f\xb1\x40\xb9\xe3\xcf\x42\x97\xb0\x7c\x29\x94\xd0\x05\x8e\xed\x76\x6c\x6d\x37\x38\x5e\xa1\x84\x45\xa8\x2d\x3e\x29\x8c\x2e\xa5\x97\x46\x3b\x26\x55\x1b\xe7\xfb\xcf\xd8\xe6\x16\x9d\xb7\xb2\xf0\x13\x12\x14\x3f\x60\xd1\xd0\x4b\x30\x15\x4b\x5e\x35\xba\x08\x8b\x59\x5d\x08\x7c\x92\x05\xf3\x3d\x00\xf1\x71\x58\x0b\x2b\x3c\xc2\x0a\x0b\xd1\x90\x2c\x1e\xd6\x72\x87\x8e\x97\x93\x53\xf0\x07\xb1\x92\x4a\xfa\x03\xe9\xc6\x6d\x84\xc5\x89\x00\x8b\x15\x5a\xd4\x05\xfb\x53\x30\x23\x53\x0f\x72\x19\xad\x0e\x80\x1f\x6a\xe3\x22\xa9\x4a\xa2\x2a\x5d\x27\xd1\x44\x6a\x30\x1a\xc1\x58\xd8\x1a\x8b\x49\xe2\x4e\x15\xe4\x98\xe4\xd3\xce\x44\x81\x82\x87\x0e\xa4\xd9\x8a\x1b\x84\xa2\x71\xde\x6c\x5b\x0d\x47\xd5\xb4\x46\x24\xdd\xe4\x5a\x26\x07\x37\xb0\x13\x56\x9a\x86\x56\x4b\xbd\x76\xb0\x97\x7e\xc3\xe4\x83\x37\x2e\x26\xaf\x8d\x05\xfc\x20\x88\xcc\x1c\x04\x54\xa2\x29\xd0\x43\x21\x34\xac\xb0\xa3\x8e\x25\xac\x0e\x29\xa0\xa4\x5e\x4f\x82\x3a\x20\x39\x45\xe6\x2d\x17\x97\x93\x89\xdc\xd6\xc6\x7a\xf8\x45\xe2\xfe\x67\x74\x46\xed\xd0\x42\x65\xcd\x16\x1e\xf5\x1f\x3d\x4a\xeb\x5e\x36\x56\xb7\x2b\xc2\x97\x47\x93\xc9\xe5\xe5\x65\x1e\x58\xf4\x24\x7b\x1a\x93\x47\x2b\xa7\x88\x9e\x64\xb1\x97\x44\x2c\xfe\xd6\x48\x3b\x16\x72\x79\xa0\x30\xe5\xee\x20\xf0\x1e\xc1\x79\xa9\x54\x48\x28\xd2\x83\x70\x59\x42\x82\x0d\xda\xce\xa7\x3c\x7f\x63\x77\x33\x5b\xf6\xaa\xaa\x51\x4c\xb2\xf1\xc1\x92\x5b\xf4\x1b\x53\x46\xc3\x6d\x85\x3e\x40\x6d\xcd\xaf\xc8\x89\x8b\xd8\x04\x66\x94\x9d\x48\x52\x66\x6a\xf4\x20\x0f\xb9\x39\x93\x8c\x59\x25\xb8\xf7\xea\x40\x87\xdd\xa2\xd0\xae\x3d\xeb\x82\x13\x65\x70\x91\xee\x29\x7d\xe6\x67\xad\x07\x84\x33\x27\xa5\xb8\x2c\x15\x74\x69\x45\x14\x05\x3a\x37\x15\x4a\xcd\x5a\x49\x7a\x7a\xc8\x6c\x74\x95\x1b\xfd\xe3\x64\x02\x00\x70\x79\x09\x2f\x34\xa0\xf6\xd2\x47\xfd\x57\xc6\x92\x8c\x66\x2f\xf5\x9a\xd9\x92\x6b\x96\x56\xec\x85\xe2\x38\x61\xff\x0c\x1e\x21\x42\xd0\x31\xa1\xbe\x28\x7d\x72\xef\xe3\xee\xc4\xee\x92\x6b\x14\xee\x82\xa9\x83\x1a\x70\x2b\x3d\xb9\xf2\x7e\x83\x3a\x31\x20\x05\x26\xce\xfa\x98\x1d\x11\xba\xb8\xb8\xb8\xb8\xfe\xe9\xc7\x9f\xe8\x2f\xbc\x28\x4b\xd8\x49\xdc\xc3\x06\x55\x4d\x2e\xdb\x66\x1f\x67\x92\x6e\x89\x15\x33\x8e\x61\x14\xf9\xb6\x04\x39\x6f\x04\x21\x28\xd0\xb7\xa6\xd1\x3e\xd4\x3d\xfd\xe4\x1f\x68\x0d\x67\x42\xf6\x4f\x16\xa7\x2c\x2d\x3a\x97\x16\x68\xa9\x8e\x15\xb1\xeb\xab\x40\x4f\x29\xd1\x5f\xc1\x5b\x6f\xa5\x5e\xcf\x23\x83\x2b\x78\xf7\x5a\x7e\xf8\xfa\xcb\x39\x53\xbd\xa2\x83\x10\xd9\xe7\xe1\xfb\xbb\x77\x6f\x7e\xbc\x82\x77\x6f\xb4\xa7\x15\xad\x42\xfa\x8f\x67\x7d\xb6\x0e\x55\x35\x0b\x8a\xa8\x1a\xcd\x27\x6c\xd9\xbf\x22\x69\x3e\x91\x0c\x57\xf0\xd2\x18\x05\x1f\x59\x16\xfa\x27\x2b\x98\x46\x0d\x7e\x07\x4f\x17\x4f\x67\xf0\xf9\xe7\x30\x65\xc5\xfd\xd7\x33\xd0\x52\xe5\x0f\x9e\x7e\xf8\xe6\xeb\x2f\xbe\x5c\x7d\xf5\x45\xf5\x6d\x59\x16\xe5\xd3\x2f\xc5\x0c\xfe\xd9\x7f\xfd\x2d\x16\xe2\x8b\xd5\xff\x7e\xb3\xfa\x9f\x6f\x56\x5f\x95\x15\xce\x7a\xbc\xe8\x1f\x9d\xf4\x48\xd3\xf4\x7f\x77\xc6\xf0\x37\x9d\x91\xfe\xef\x9f\x2f\x7d\x3a\x3a\x61\xf6\x75\xd6\x32\xbd\x6d\x3f\x59\xf4\x8d\xd5\xe0\x6d\x83\x93\xf0\xe6\x77\xf8\x7a\x89\xb5\x71\xd2\x87\x6c\x78\x32\xb0\x98\xd4\x8f\x69\xe9\x3d\xb6\xf4\xa6\x6f\x49\x6f\x72\x3b\xb6\x0c\x1f\xe2\x4b\x2d\xeb\x73\x7c\xe9\xf7\xf0\x3f\xd3\x8f\xbc\xc9\xbc\x28\x7c\x3d\xe1\x43\xe9\xe5\x59\x1e\x34\xd4\xed\xb8\x07\xd1\xc9\xbc\xe9\xce\x14\xfe\x1e\x9d\x29\xfb\xfa\x40\xcf\x79\x75\x87\xd7\x6c\x10\xd6\xca\xac\x84\x82\x15\x6d\x0f\xf5\x8b\x96\x15\x42\x29\x5a\x45\x60\x42\x74\x69\x6b\x15\x60\xe0\xe9\xc4\x19\xcb\x7c\x5b\x42\xce\x4b\x99\xc7\x9e\xc9\x74\xee\x73\xcb\x61\x4a\x69\x7d\xee\x94\xd3\x05\xaa\xe7\x66\xaf\x7b\xdd\xa9\xef\x4d\x63\x2e\x90\x1d\xe2\x74\x06\xc9\xb3\xc6\x03\xad\xfb\x32\xb7\x48\x96\x2f\xba\xfa\xcd\x36\xa8\x03\x94\x73\x5d\x27\xd6\x96\xb6\xbf\xb5\xfb\xa8\x68\xaf\xd1\x7b\xaa\xd9\xd1\xda\x20\x19\x14\x32\xf2\xca\xf8\xf4\xcd\x76\xdc\x17\x24\xd1\x7a\x9a\x21\x06\xff\x8f\x01\x9c\x24\xe2\x11\x31\xef\xda\x34\x35\xa4\xdc\x5a\x70\x8d\x3e\x92\x9c\xce\x92\xa5\x86\xea\x48\x70\xf5\x1c\x7d\x20\x1d\xab\x88\xc0\x3e\x02\xa8\x80\x91\x48\x09\x29\x59\x13\x16\x4e\x44\xfa\x90\x85\x61\x7e\x82\x55\x8c\x70\x0e\x35\x2e\x8e\xf8\xbe\xf1\xd0\x36\x96\x91\x61\xce\xcb\x68\x58\xae\x52\x77\x45\x08\x73\xde\xee\xed\x35\x33\x0a\x05\x35\x0f\xa6\x8e\x51\x5b\x1b\xe7\x64\xec\x1f\x4c\x05\x85\x45\xc1\x42\xc4\x1e\x22\x9a\xda\xba\x4e\x74\x3a\x31\x75\xa6\xdc\xe0\x92\x76\x85\x95\xea\x10\x3b\x55\x46\xa0\x66\xaf\x93\x55\x16\x0f\xb1\x73\xdb\x22\x44\x24\x98\x58\x26\x0d\x82\x6b\x56\xb1\x7d\xbf\x53\x81\x89\x74\x46\x84\x80\x52\x70\x7f\x97\x8a\x59\xd7\xe2\x58\xdc\x9a\x1d\x17\xba\xd0\xea\xf4\x36\x66\x44\xae\x7b\x4d\xe4\x63\x17\xcf\x03\x0a\x77\xa8\x28\xd9\x2d\xe3\x01\x53\xd1\x9f\x2d\xb3\xdd\x6f\x0d\xf5\x9d\xc6\xd2\x11\xa9\xa4\x86\xdd\xd2\xcf\xb9\xf3\x0b\x13\x09\x94\xd4\x1d\xb4\xda\x04\xb3\x22\xd8\x0f\xd2\x53\x16\xca\xa8\x19\x9e\x79\x44\x60\x5b\xf6\xfa\x4f\x3e\xd5\x32\xc9\xb0\x1c\x3f\xcd\x50\x52\x0e\x8c\xa4\xe8\x69\x9e\xc5\x66\x57\xf0\xfd\x47\xd6\xd8\xed\x20\x3b\x51\x0f\x3e\x78\x14\x18\xc1\xd2\xa2\x8b\x53\x82\x8a\xfb\x54\x13\x15\xcd\x09\x68\x27\x54\x83\x47\xdb\xc2\x96\x45\x3f\x3c\xe1\xd9\xb3\x94\xea\x8e\x96\xd3\xbf\x47\xef\xbb\x56\x20\x66\xd1\x6d\xe3\x3c\xd5\x05\x62\xe7\xc4\x16\xa9\x17\x1b\xc9\x13\x1d\x92\xe7\x93\x3d\x3a\x22\x7f\x12\xa8\x92\x25\x48\xc8\xeb\x43\x8d\xd3\xd9\x42\x96\x64\x83\x4a\xa2\x3d\x85\xeb\x78\x83\xd9\x6b\xb4\xcf\x17\x11\xa2\xf7\x13\x36\xbf\x6e\x1a\x59\x1e\xe1\xbc\xa8\x10\x7a\x37\xcb\xe4\xbb\x1d\xe4\xf6\x5e\xe2\x4a\x03\x97\x3f\x9e\xb8\x22\x56\x18\xc9\x5b\x52\x47\x73\x9e\x91\xb7\xde\x63\xca\x16\x52\x17\xaa\x29\x11\x04\xb4\x53\x9b\x20\x46\xb1\xc1\xe2\x26\x37\x52\xcc\x58\x2d\x95\x3d\xb6\xdd\xee\x5a\xee\xf0\x9c\xe1\x47\x50\x43\xe8\x62\x5b\x3a\x84\x19\x4a\x93\x16\x8d\x4f\x3a\xe6\xa0\xe4\x0d\x82\xab\x95\xe4\x0a\xb3\x85\xa6\xa6\xf4\xd1\x12\x71\x18\x9a\xae\x2d\x0f\x4e\x64\xc5\x81\xe7\xa1\x56\x61\x4e\x03\xe7\x67\xbc\x64\xac\x61\xc6\x8b\xaa\x07\x2f\x6e\xb0\x4b\x57\x94\xc2\xe2\x1b\x4a\x1b\x27\xcc\x90\xcd\xf0\xee\x8a\x7d\x16\x8a\xc2\x3e\xd2\x9c\x06\x6f\x4d\xa1\x3e\xcb\x45\x5a\xa3\x7f\xdb\xd4\xb5\xb1\x1e\x4b\x5e\x40\xee\x4f\x85\x84\xec\x28\x94\x3a\xf4\xb2\xab\x92\xce\x53\x9c\xed\xc2\x00\x8c\x17\x76\xe8\x2d\x99\x86\xe5\xa8\xbd\xbb\xb7\x58\x8f\xf0\xa5\xc2\xfd\xf1\x9a\xc3\x91\xe0\xd4\x6d\x2e\xeb\xcf\x51\x92\xfd\x06\x39\x9b\x1a\xcb\x0e\xc8\x28\x55\xee\xa8\xf2\x1d\x6a\xa4\x84\x1d\x24\x08\x23\x2b\x7a\x9b\x05\x4f\xa2\xf6\x22\x9d\x83\x7d\x55\xe8\xb8\x0b\x84\x3e\x04\x42\x6e\xc3\xa9\xfb\x57\x4a\x3c\x3d\x84\x45\x44\x4b\xac\xee\xc7\x23\xd2\x1d\x9f\x30\xe6\x1a\xfa\x18\x21\xe3\x30\xd0\xb3\xc9\x43\x07\x13\x4a\x24\x63\xcc\x83\xaa\x3b\x4f\x0b\xd5\x85\xc7\x87\xdd\xb0\xbb\x3d\xef\x3c\x61\xac\x39\x5c\x5b\xa1\x5d\x85\xd6\xd8\x79\x5b\x90\xc3\xec\x36\x0d\x6a\x3a\x58\xd1\x74\xed\x00\xe9\xd7\xa5\x53\xc0\x01\xfd\x43\xc2\x80\x8f\x72\xd5\x93\xa6\x63\xdc\xca\xd5\x1f\x15\x2d\xd2\x87\x79\xec\x13\x16\xf4\x47\xac\x14\x0e\x03\xe9\xb5\x44\x55\x46\xdf\xb3\x62\x98\x65\x4c\x05\xe2\x2e\xc0\x28\x6c\x5a\xda\xc2\xc4\x4f\x09\x41\x33\xda\x3f\xc4\xc6\x89\xda\x2b\x31\x9c\xd3\x4b\xc7\x7d\x16\x96\xb0\x93\x22\x4c\xe2\xa2\x22\xe8\xf1\x74\xb6\x8c\x1d\x58\x46\xf1\xcd\x60\xf4\x19\x73\x21\xb9\xf1\xca\x98\x9b\x1b\xc4\x9a\xf2\x87\xb1\xa1\xe9\xa0\xe7\xdc\x43\xb9\x8c\x0a\xeb\x32\x7a\x7c\xd7\x7d\x25\x39\x43\xa4\x48\x07\x25\x3a\x6f\xcd\x01\xcb\x0c\x7e\xc0\x9f\x88\xea\x70\x06\xbb\xef\x0f\x33\x9b\xba\x14\x1e\xbb\x74\xfc\x98\xb0\x83\x17\x8a\xbd\x4b\x1d\x72\x59\x0c\xc1\x0b\x45\x00\x29\x9f\x55\xba\x30\x13\x5d\x21\xea\xa4\xa8\x80\xff\x02\xcc\x6b\x61\x63\xa0\xb9\xb8\x53\x4d\x1c\x33\xe9\x1e\xc6\x0d\x2c\xee\x0d\x84\x7e\x16\x2b\x63\x83\xd4\x54\x1c\x06\xf7\x0d\x03\x0c\x29\x79\x42\xe7\x0d\xd4\x36\x34\xa9\x41\x6b\x8c\x10\x22\xa6\x75\xb5\xd8\x6e\xc9\x1a\x15\xd5\xb4\xd0\xff\x45\x6b\x2c\x86\x9e\x95\x7a\xe4\x90\xcc\xe9\xb8\xe4\x3b\x2b\x51\xdc\x4c\x87\x03\x85\xda\xe2\x08\x5c\xcb\x86\xb2\x8b\xf1\xfe\xf6\x0c\xd0\xc3\x4b\x56\x29\x5e\x47\xf0\xcd\x29\x0c\x03\xa7\x91\x64\x9f\x26\x61\xc1\xa7\x8b\xa7\x57\xf0\xe8\xba\x67\x81\x04\xf7\xd8\x32\xd1\x1a\x65\x63\xd3\xa8\xb8\xaf\x8e\x34\x96\x48\xb3\x04\xc9\xe9\x9c\x32\x17\xed\x27\x8d\x63\xf9\xe8\x24\xce\xfa\x4f\x57\xc3\x84\xd9\x62\x09\x19\x44\x0d\x70\x76\x67\x40\x55\xe6\xb7\x0b\xcc\x26\x4c\xf0\xf0\x43\x8d\x45\x9a\x8d\xf4\x82\x86\xa7\xca\x6d\xed\xeb\x9a\xb6\x30\x5a\x60\xf5\xe0\x21\x84\x90\xee\x7c\x3f\xf6\x82\x7c\xb1\x91\xc9\x92\x91\x27\xe4\xc8\x07\x3b\x72\xfe\x3f\x50\xde\x07\x9e\x71\x79\x09\x2f\x51\x99\x7d\x40\x8e\xac\x8a\xde\xf5\x53\x42\x82\xae\xb1\x11\xe7\xda\x46\x3f\xf1\x72\x1b\xaf\x35\xb9\x14\x0e\xe9\xb1\x4a\xd6\x98\x0a\x78\x7f\xb0\x55\x0b\x86\x77\x6d\xdd\x8a\xf5\x33\xe2\xc6\xfc\xea\x7a\x11\x2e\x44\x16\x90\xd1\x97\xd5\x51\xfc\xb8\xb7\xcd\x8a\xa4\x99\x9a\x2a\x54\xf9\xff\xfb\xfe\xe3\x08\xa5\xdb\xef\xa6\xb3\x61\x10\x43\x37\xc8\xf9\x98\x93\xbd\x62\xdc\x91\x07\xd6\x2d\xa0\x72\x63\x51\xdf\xe2\x24\x6e\x23\xb7\xb5\x3f\x40\x29\xd9\x62\xc2\x1e\x52\xd3\x94\x9c\x8f\x1b\x36\xb6\x6d\xab\x86\xfd\xc6\x40\x69\xf4\x63\x3f\x46\xb9\xbb\x3c\x1b\xd5\xcf\x1c\x5c\x53\x6c\x88\x49\xfe\xfa\xed\x5e\xfa\x62\xb3\x32\xc2\x96\xcb\x39\x2c\xf9\xd9\x6b\x63\xf7\x82\x7a\xe6\x25\xa0\x2f\x16\x27\x55\x71\x7b\x5e\xe4\xfe\x10\x9a\x0d\x59\x8d\xc0\xc1\x0e\xc0\x30\x1e\x94\xae\x07\xb2\x4e\x7a\xf0\x79\xe8\x6d\x60\x80\x28\x74\x32\xdf\x68\x08\xfc\x95\x88\xfc\x1d\x9e\x3f\x87\x4a\x28\x87\xa7\x0e\x34\x32\x1d\x59\x86\x94\xbc\xec\x0a\x1d\xd3\x7d\xec\xb2\xb9\x2b\x8c\x4e\x46\x34\xee\x87\xd3\x91\x44\x98\xf4\x72\xbc\xff\xdf\x3d\x52\x18\x2d\x51\x49\x51\xdd\x60\xe0\xbb\x7b\x06\x03\x2f\xc2\x34\xa0\x6b\xf3\x53\xa1\x50\xe8\x38\xff\x6a\x46\x3a\xbf\x35\x42\x85\x6f\x23\x40\x6e\x64\x32\x70\x56\xd5\xba\xbc\x84\x78\xcf\x0b\xae\xc6\x42\x0a\xd5\x66\x43\x58\x06\xa8\xb0\xe4\x56\x36\xa2\x89\x10\x5d\x91\x69\x37\xc4\xe3\xdf\x08\x8c\x11\x8f\x50\x67\x85\x6b\xa9\x35\x63\xb6\x1c\x6f\x74\xbf\x7c\x18\xd9\x7d\x86\x6e\x9f\x3d\x8b\x80\x66\x7a\xf4\x6e\x06\x4f\xee\xd6\xfb\x9f\x5b\xff\x19\x56\x68\xce\x27\xb1\x5b\xee\x74\x4c\x18\x88\x7f\x76\x90\x96\xa7\x1b\xcd\xc1\x80\x26\xbd\x3f\xb3\x40\x9f\xee\xa0\x45\x59\x52\xf7\xec\xfa\x18\xee\xc8\xf6\x47\xa1\xff\x90\xfe\x79\x2c\x8f\x0f\x93\x38\xf5\x95\xce\xa1\xed\x21\xd7\xc2\xe8\xc2\xa2\x8f\x55\x2a\xaa\xa7\xbb\x84\x6b\xa1\x75\x1a\x6c\x0d\xe9\xc5\x94\xdd\x6b\x56\xdb\x0e\x37\xa1\xa1\x48\xed\x8c\x80\xa3\xb3\x2c\xa4\x7b\xa3\x9d\x67\xc3\xe7\x85\x66\x76\x05\xe3\xd6\xff\x21\xe0\xa9\xa4\x7d\xfe\x0d\x44\x61\xb6\xb5\xf0\xbd\xee\x85\xce\x37\x3e\x6f\x1b\xbd\xcc\x63\x51\xee\x86\x9e\x69\x49\xeb\xa6\xe1\x42\x6c\x74\xf0\x96\x6e\xc8\x7a\x63\xb7\xc1\x25\x19\x53\xfb\x23\x80\xf5\xfc\x60\xfa\xef\xf4\xee\xe8\x04\xb3\xdf\x15\x5f\xae\xd9\xde\x1b\x58\x9d\x4b\xdd\x99\xdf\x06\x01\xc5\x37\x03\xf8\x8a\x70\x42\x8c\x25\xa5\xcc\xde\x71\x9b\x18\x7e\x17\x65\xe2\x9a\xac\x88\xb0\x1f\x6e\x04\x85\xe0\xd1\xc5\x1f\xdc\x13\x57\x43\x96\xd3\x07\x0f\xa2\x4f\x4c\x94\xbb\x2e\x42\xe3\x5e\x1d\x22\xa3\xa8\x8f\xa0\x4f\x06\xbf\x7d\x89\x4f\xab\x09\xf2\xb9\xcc\x27\x50\xd4\xd8\x18\x65\x54\x41\xbb\x04\x1f\x5a\xec\x31\x9e\x8d\x7a\xaa\x1a\xd1\x5c\xa7\xb5\x10\x72\xa4\xb2\x1e\x65\x56\x5c\x0b\x93\x43\xba\x69\xaf\xa6\xb6\xc2\x17\x9b\xe8\x66\x2e\xfc\x94\xea\x28\xda\x3f\x89\x55\x92\x1d\x6e\xff\x15\x00\x00\xff\xff\xdd\x8b\xd0\x06\x78\x2a\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -114,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0xc9, 0x3e, 0x12, 0x26, 0xe, 0xd7, 0x7f, 0xeb, 0xd1, 0xd4, 0x6e, 0xaf, 0x2b, 0xbb, 0x10, 0xfd, 0x46, 0xa4, 0xcf, 0x52, 0xf5, 0x3f, 0x63, 0x76, 0x14, 0xc5, 0x96, 0x6f, 0x78, 0x16, 0xbd}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0x66, 0xd2, 0x40, 0x30, 0xa9, 0x25, 0xcc, 0x21, 0xfb, 0x8c, 0xe6, 0x5b, 0xe6, 0x12, 0xab, 0x29, 0x5, 0x7e, 0x7c, 0x91, 0x6, 0xde, 0xa3, 0x4c, 0x5f, 0xfb, 0xc0, 0x70, 0x7f, 0xf1, 0x28}}
 	return a, nil
 }
 
@@ -158,6 +159,26 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	return a, nil
 }
 
+var _utilityBurnerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x8a\xe3\x46\x10\xbd\xcf\x57\xbc\xdc\xec\x61\xc6\xde\x5c\xcd\x26\xec\xac\xb3\x4b\x42\x48\x02\xc9\x40\x0e\x21\x2c\xad\x56\xc9\x6a\xdc\xae\x36\xdd\xa5\x11\xca\xe0\x3f\xcb\x2d\x3f\x16\xaa\x65\xb5\xb5\xce\x0c\xe4\xb0\x82\x81\x41\x7a\x55\xef\xd5\xab\x57\x5e\xaf\xd7\x78\xdf\x45\xa6\x08\x97\x60\x60\x03\x4b\x34\x56\x20\xad\x11\x58\xc3\x68\x8c\x75\xde\x89\x11\x82\xb4\x84\x9a\x92\xc4\xce\x8a\x0b\x8c\xd0\xc0\xf0\x80\x48\x29\x74\xd1\x12\x02\xa3\xf1\xa1\x5f\xdd\xac\xd7\x6b\xfd\xc3\x56\xbb\xb9\xaa\x93\x10\x53\x7e\x71\x8f\x87\x2e\x89\x63\xfc\xe8\x1d\x13\xee\xd1\x8a\x1c\xd3\x66\xbd\x96\xde\x89\x50\x5c\xd9\x70\x58\x9b\x0c\xf9\xa4\xad\x64\x38\x97\x7d\x47\xec\xfe\xc2\x87\xda\xb1\x75\xfb\x57\xea\x2a\xdf\x51\x72\x3b\x3e\x97\xbc\x37\x49\x9c\x61\xfc\xf4\xcf\xdf\xde\x53\x7c\xa5\x48\xba\x58\x05\x4f\x2c\x37\xc6\x5a\x4a\x69\x61\xbc\x5f\x5e\x6c\x38\x7b\xf3\x7c\x03\x00\xda\xf7\xf7\x96\x18\xdb\x48\xc9\x12\xd7\x01\x8b\xad\xa9\x89\x2d\xe1\xeb\xd5\x9b\xa5\x5a\x18\xc9\x93\x49\x54\xdf\xc1\x76\x49\xc2\xa1\x18\x16\x62\x42\xef\xbc\x47\x45\x88\x74\x08\x4f\x54\xa3\x89\xe1\x00\x6b\x6a\xb2\xb4\x2a\x0c\x4a\x69\x2a\x4f\x79\x21\x0c\xc7\x42\xb1\x31\x96\x70\x20\xc3\x02\x09\x88\x74\xf4\xfa\x42\x5a\x97\xe0\x43\x12\x34\x64\xa4\x8b\x74\x07\xe3\x7d\xe8\x1d\xef\x74\x31\x81\x49\xd1\xa6\xae\x75\xb1\xc6\xfb\xca\xd8\x7d\xa1\x39\x90\xb4\xa1\x56\x00\x71\xea\x62\xde\xee\x80\x3a\x80\x83\x8c\xa2\xc3\x80\x14\x14\xa6\xfd\xfa\xd6\xd9\x56\x25\xe9\xe7\xa2\xa4\xa2\xbb\xd2\x30\xc4\x89\xcd\x87\x9d\xb3\xa8\xd4\x06\xcd\xc4\x3c\x32\xa9\xb3\x2d\x4c\x82\xba\xbb\xd7\xbe\x9a\xa9\xd4\x1d\x8f\x7e\xc8\x71\xc2\xc7\x47\x6c\x83\xf7\x94\xe1\x53\xef\xc2\xf1\xf3\x2f\x8f\x1f\x36\x78\x6c\x35\x6b\x7e\x40\x6f\x06\xe5\x4c\x44\xa8\x88\xa9\x71\x32\x5a\x9a\x8d\x29\xc6\x95\x6a\x97\xb2\x42\xdf\x9b\x21\xa1\x4b\x63\xa0\xab\x2e\xf2\x64\x86\xe3\xb1\x74\x5a\xff\x0a\x0f\xa3\x8d\x7d\x1b\x10\x7a\xd6\x0b\x29\x69\xd7\xe3\x38\xf7\x22\xd5\x8b\xdb\x5b\x0e\x72\x7b\x5b\xe8\x24\x14\x1f\x67\x65\x99\xa0\x37\x43\x86\xcd\x33\x57\x10\x97\x8d\x97\x28\x8c\xf9\x9b\x55\x4c\x0a\x97\x68\x3a\xce\x33\x6c\xcf\x0b\x5e\x2c\x33\xf6\x74\x53\x74\xe4\x09\xf3\x75\xef\x7c\xa8\x8c\x9f\xa6\x1d\x57\x9a\x33\x59\x74\xce\xcf\xd9\x89\x56\xed\xdc\x13\xf1\x25\x9d\x3f\x34\xd9\xb5\x63\x0c\x4f\xae\xa6\x7a\x86\x3e\x1c\x3d\x1d\x88\x25\x65\xc0\x25\xc5\xd3\x34\x97\xa4\x38\x19\x59\x35\x93\x65\x07\x93\xfe\x49\x9d\xe1\x5a\xbf\xf1\x45\x5b\x23\x14\x7b\x13\xeb\xb4\xfa\x8f\x77\x93\x09\x8b\x4f\x88\x1b\xbc\x7b\xe0\xe1\xd7\xb3\xae\xe5\xcc\x3b\xd7\xc0\x93\x20\xe1\xed\x3d\xa2\xa6\xf0\xdd\xf3\x24\xf3\x34\x83\xe9\x93\x56\x2f\x78\x3a\x3d\xe5\x3a\xca\xdb\x13\xc8\x27\x9a\x08\x4c\x8c\x17\x8a\x3f\x66\x62\xfe\xbc\x62\xe9\x5b\xe7\x49\xe1\x2b\x4f\xbc\x93\x16\xdf\xe2\xcd\x15\x44\x1f\xed\xe9\x84\x0e\xda\x54\xc1\xe3\xcf\xc7\x47\x17\x93\x5c\x29\xcb\xd2\xc9\x37\x59\xfd\xe2\xed\xbd\x56\x7d\x8e\x38\xbd\x38\x89\x89\xf1\x95\x59\x6a\x67\x65\xe6\xd7\xf7\x26\xb5\xea\xd7\x6f\xf9\xa2\x37\x98\x0d\x77\x6d\xa1\x56\xef\x69\x48\xf8\x26\x37\x59\xe9\xff\x2f\x4c\xaf\xaf\xff\xff\xf8\xb9\xd3\x38\xff\x62\x4f\xc3\x66\x2c\xff\xcc\x90\xe5\x57\x5f\xc4\x12\x65\xba\xf6\xe4\xf9\x45\xe4\xcc\xba\xf3\xe9\x9d\xfe\x0d\x00\x00\xff\xff\xc4\xc8\xb1\xbd\x57\x07\x00\x00"
+
+func utilityBurnerCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_utilityBurnerCdc,
+		"utility/Burner.cdc",
+	)
+}
+
+func utilityBurnerCdc() (*asset, error) {
+	bytes, err := utilityBurnerCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "utility/Burner.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0x9c, 0xee, 0x29, 0x6f, 0x7c, 0x80, 0xfa, 0x6e, 0x27, 0x7b, 0xaa, 0x4c, 0xa8, 0xd6, 0x4, 0xd6, 0x11, 0x11, 0x3e, 0xf7, 0x65, 0x85, 0x1e, 0x89, 0x28, 0xa8, 0xe7, 0xb0, 0xa0, 0xa1, 0x2b}}
+	return a, nil
+}
+
 var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7c\x6d\x73\x1b\xb9\x91\xf0\x77\xff\x8a\xb6\x52\xe5\x48\xcf\x43\x91\xf2\x66\x6f\xeb\x8e\xb5\xcc\xc6\x6b\x5b\x89\xae\x6c\x9f\xcb\x96\x93\xab\x72\xb9\x2c\x70\xa6\x49\x22\x9a\x01\x26\x00\x46\x14\xe3\xf2\x7f\xbf\x42\xe3\x65\x30\x2f\x14\x47\x8a\x37\xd6\x07\x7b\x38\x03\x34\x1a\x8d\x7e\x47\x03\xbc\xac\xa4\x32\x70\x5e\x8b\x35\x5f\x16\x78\x29\xaf\x51\xc0\x4a\xc9\x12\x8e\x5a\xef\x8e\x1e\xf9\x96\x6f\xa4\x18\x6a\xdc\x7d\x1d\xdb\xff\x95\xe3\xf6\x1d\x6a\x59\xdc\xa0\xf2\x6d\xd3\x57\x47\x8f\x1e\xcd\x66\x33\xb8\xdc\x70\x0d\x99\x14\x46\xb1\xcc\x00\x2f\xab\x02\x4b\x14\x46\x83\xd9\x20\x94\x68\x58\xce\x0c\x03\x6d\x98\xc8\x99\xca\xa1\x52\xb2\x92\x1a\x73\xea\xcb\x05\x9c\xbf\xba\x78\x7b\x7a\xf6\xd3\x1f\x7e\x9a\xda\x37\xf4\xf6\x1d\xae\xe6\xb0\x31\xa6\xd2\xf3\xd9\x6c\xcd\xcd\xa6\x5e\x4e\x33\x59\xce\xa4\x58\x15\x72\x3b\x5b\x15\xbc\xd2\xb3\x65\x21\x97\xb3\x92\x71\x31\x63\x55\x55\xf0\x8c\x19\x2e\xc5\xec\x87\xb3\x1f\x9e\x9e\xfd\xd7\xd3\x9f\x4e\xc5\xca\x9c\x86\xc1\xa7\x65\x1e\x61\xbf\x37\xaa\xce\x8c\x06\x26\x72\x50\xa8\x65\xad\x32\xd4\x90\x31\xd1\x60\x0e\x52\x20\x48\x05\xa5\x54\x48\x7d\xe2\x24\xcc\xae\x42\x3d\x81\x8c\x15\x05\xe6\x70\xc3\x71\xab\xa7\xf0\x92\x65\x1b\x7a\xa6\xcf\xa0\xb0\x52\xa8\x2d\x01\xa8\x2f\x83\x9c\xaf\x56\xa8\x2c\xdc\x6b\x2e\x72\x90\xab\x08\x6f\x02\xba\xce\x36\xc0\x34\x30\xc8\x14\x32\x23\x15\x2c\xb9\x5c\x2b\x56\x6d\x76\xd4\x5b\x2a\x60\xf0\xdf\x6f\x5f\xfe\x19\x78\xc9\xd6\x08\x2b\x5e\xa0\xa3\x13\xcb\x32\xd4\xfa\x98\x15\xc5\x49\x43\xfc\xd7\x1e\xb0\x5d\x25\x0d\x5f\x1e\x3d\x02\x00\xb0\x70\x5e\x70\x5d\x15\x6c\x07\xdc\x0e\xb5\x64\x9a\x67\x1e\xe3\x0d\x33\xc0\x45\x56\xd4\x39\xba\x05\x13\xac\xc4\x09\xe4\xa8\x33\xc5\x2b\x4b\x52\x4b\xa9\x08\xc7\x6c\xea\x72\x29\x18\x2f\x60\x65\x51\x13\x20\x97\x7f\xc7\xcc\x4c\xe1\xb5\xd4\xc6\xff\xd0\xa0\x37\xb2\x2e\xf2\x84\xa0\xc6\xb2\x88\x1d\x70\x1a\x20\xd1\xff\xe9\x1c\x34\xad\x4b\x44\xd4\xe3\x1e\xc6\xbd\xf4\x98\x59\xea\x59\x2c\xfd\xb0\x69\x9b\x4e\x7b\xae\x61\xc5\xb1\xc8\x61\xcb\x8b\x02\x96\x08\xb9\x83\x8c\xb9\x65\xba\x82\x6b\xcf\x03\x66\x83\x0a\x57\x52\xa1\xc7\xba\x05\x66\x49\x6f\x95\xb1\x33\xcd\xa4\xc8\xb8\xc6\xe1\x31\xd3\x99\x14\x68\x08\xd7\xb9\xe5\x35\x2e\xd6\xed\x99\x3c\x83\xad\xe2\xc6\xa0\x68\xd1\xf8\x1b\x4d\x8b\x41\x8e\x86\xf1\xc0\x9c\x6d\xb0\x93\x16\x28\x2d\x89\xe9\x97\x48\x6c\x0e\x37\xa8\x96\x52\x23\x1c\xe3\x74\x3d\x05\x06\x15\x53\x8c\xf8\x10\xb8\xd0\x06\x19\xf1\x2d\x03\xcd\xc5\xba\x40\x28\xb8\xc0\x93\x71\x94\x48\x66\xb9\x8f\x20\xba\x64\x45\x91\xb0\x56\x94\x20\xf6\x40\xda\x78\xfe\x5b\x22\x30\xd8\xe2\xf2\x74\xa5\x38\x8a\xbc\xd8\x91\xf8\xc0\x31\x9f\x22\xc9\xd4\x04\xde\xbe\xf9\xf3\x49\x0b\x08\xc9\x83\xa7\x4b\x9f\x61\x26\x76\xe2\xd7\x50\x29\x24\xd1\x9f\x00\x9a\x6c\x1c\x15\xe2\xe4\xe6\xf0\xe5\x9c\x17\xf8\xb5\xa1\x01\x2d\x14\x17\xdc\x1c\xc7\x57\xf6\x2f\xe5\xa0\x49\xeb\xcb\x00\x45\xdb\x0d\xfa\x83\x85\x2f\x27\xf0\xa5\xd5\x52\x63\xb1\x9a\x92\x5c\x2d\x68\xc0\xfe\xc7\x94\x49\x17\xe9\xd0\xfd\xa6\xcd\x02\x2e\x1a\x14\x62\x33\x87\xc4\xd7\x46\x25\xfd\x05\x8b\x0a\x15\x18\x09\x6b\x6c\xe4\x9e\x98\x98\xd4\x2c\x5b\x21\x6c\xd9\xae\xa5\x30\x6c\xbf\x3f\x59\xd6\x2c\x89\x6c\xc1\x10\xcd\xe1\x19\x28\x24\x25\x9b\xa1\x85\x68\xf9\x45\x05\xc3\x15\xb4\x7c\x03\x41\xa1\xa9\x95\x80\x67\x02\x24\xcd\x85\x15\x71\x7c\xa7\x86\xf6\x6a\xa9\x55\x2d\x2c\xba\xbe\xf5\xf1\xe7\x0e\x1a\x4f\xbe\xa4\xf6\x71\x1a\x1e\xbe\x9e\xc0\x3c\x8c\xf0\x4b\xb2\x04\x7c\x45\xcc\x41\x1c\xb0\x68\x81\x9a\x7a\xec\x2d\xb8\xe3\xcb\x5d\x85\x3f\xfb\xee\x7f\x3c\x3e\xe9\x2e\x62\x80\xe2\x41\x00\xd3\xbf\x24\x6a\x14\x3a\x7f\x7e\xee\x37\xad\x0f\x5f\x1f\xf5\x9f\x7c\x43\xe1\xd7\x30\x59\xb9\x3f\xa3\x40\xc5\x33\xe0\xc2\xa0\x5a\x31\x4b\x72\x2b\x36\x8d\xe1\x03\xe6\x24\x4d\x1b\xa9\x30\x07\x2b\xc3\x0a\xe4\x6a\x05\xd9\x86\x71\x31\x05\xcb\x94\x3a\x82\xf3\xe2\x56\x6b\xcc\xed\xda\xc5\x85\xd4\xce\xe6\xe9\x09\xdc\xf0\x1c\xa5\x53\xd7\xd2\xea\x6b\x28\x31\xe7\xec\xa0\x2d\x69\xf0\xb3\x03\x26\xb4\x48\xdb\x12\xc9\xec\xb2\xd6\x8a\x1f\x9f\x44\x15\xd5\x99\xf2\x5f\xc9\x58\x4a\xc0\x5b\xeb\xbb\x84\xf9\x39\xeb\xa9\x3d\x3c\xeb\x3f\x01\x23\x5b\xf1\x97\xcb\xcb\xb7\x70\x2c\x15\x3d\xbc\x3f\x81\x0f\xef\x5e\x1d\xc4\xd6\x36\xb5\x78\xce\xef\xc2\xd6\x2e\x74\xad\x8a\xbe\x26\x6d\xb4\x48\xf2\x79\x50\xdc\x6b\x65\x05\xb4\x56\xa9\x68\xde\x83\x32\x1d\x90\x9e\x4b\x02\xe4\xfd\xe2\x3e\x4c\xc1\x86\x43\x2e\xde\x9e\xbf\x8f\x34\xa2\x5f\x7e\xf9\x81\x29\x6c\x98\x22\x87\xe5\xce\x8a\x37\x57\xe4\xf5\x58\xe7\x82\xe7\x28\x0c\x5f\x71\x54\x70\xfc\xfc\xe2\xc5\x49\x04\xa2\x18\x31\x8b\xd9\x30\xb2\x8c\x5c\x61\x66\xe0\xc3\xbb\x8b\x29\x3c\x83\xac\xe0\xb6\x6f\xe2\x3a\x12\x1f\xd6\x1a\x9d\xb3\xf2\xfc\xe2\x45\xe3\xf4\x48\x58\x59\xcf\xcd\xf2\x5f\x21\x19\xf9\x0c\xde\x1f\xbb\xe1\xcc\xae\x37\xa1\xbb\x66\x06\xb7\x6c\x77\x70\xa1\x6d\xe3\xd6\x42\xb7\x2c\xd0\xf3\x8b\x17\x96\xa5\xec\x10\x03\x13\xb4\x5e\x17\xe1\x47\x23\x3a\x6f\x30\xe9\xdd\x82\xd4\xf2\xa2\x73\x99\xe9\x29\xaf\x56\x7a\xca\xe5\xcc\xba\x32\x58\x19\x3d\xf3\x23\x9c\xb2\x3c\x57\x96\x83\xc5\x7a\x36\xca\x9c\x65\x3c\x1f\x36\xe6\x6f\x99\xd9\x90\x44\x24\xaa\xb5\xb2\xef\xbc\x52\xa6\x45\x0f\x0a\x99\x94\xbd\x27\x9e\x5b\x1d\xa9\x76\xa3\x0c\x3c\xd7\x20\x45\xb1\x03\x81\x98\x5b\xfb\xbc\x6a\x80\x73\x6d\x3d\x16\x9e\x63\x5c\xf2\x3b\x81\x8e\x20\x92\x05\x7b\xaa\x77\xda\x60\xa9\xc7\x91\xc7\xce\x38\xd0\xe7\x97\x21\x19\x4d\xe8\x37\x69\xb7\x1e\x14\xd9\x8c\xe7\xb0\xb0\x44\xef\x7f\x22\xe2\x2e\x08\xc6\x90\x3c\x37\x74\xab\x45\x46\x5c\xee\x04\xd6\x31\x18\x51\x5e\x30\xc3\x6f\xd0\xaa\xa8\x86\xbb\x7a\x8c\x75\x07\x9d\x36\x72\x7b\x6a\xe4\xcc\xb3\xd0\xa9\x7d\x7d\x2a\xc5\xe9\x16\x97\xb3\xdf\x39\xd8\xa7\xb5\x2a\xf4\xde\x15\x08\xd6\xd8\xba\xf8\xda\xa9\x18\xcb\x96\x8c\x0b\xfb\x18\xd7\xb5\x56\xfc\x20\xed\x47\x69\x2c\x6f\x2e\x3d\xe1\x1a\x22\xee\x35\x95\x47\x76\x4a\xf3\xd9\xec\x68\x6a\x59\x82\x99\xe3\xb0\x26\x27\xe1\xc5\xd1\xec\x28\x3e\x5b\x58\x27\x1d\xe3\x3a\xa4\x31\xf7\x43\x3d\xac\x43\xa3\xa5\x0d\x6a\x74\xcb\xcd\xc6\xc5\x28\x4a\xa1\xae\x24\xcf\xed\xbc\xc9\x4a\x5a\xe7\xe1\xa0\x4a\x7a\x6d\x5b\x76\x35\x11\x69\x27\xc7\x12\xe8\x60\x8d\x62\xfe\x15\xa9\xb6\xae\x97\xeb\xc2\xe8\x9c\xb3\x53\x0a\x92\x33\x59\xa2\x95\x61\xb7\xbe\x52\x95\xe4\xe5\xef\x2a\x9c\xe9\x7a\x49\x2d\x98\xf6\xde\xe6\x12\x73\xb0\x31\x1a\xb4\x60\x45\x56\xc4\x1b\x2c\x64\x85\x6a\x5a\xca\x7f\xf2\xa2\x60\x53\xa9\xd6\x33\x14\xa7\x1f\xde\x13\x9b\xce\xfe\x86\xcb\x99\x35\xad\xb3\x5f\x6d\xd4\xab\x3f\xcb\xd5\x67\xfa\xf9\xfa\xe2\xf5\xcb\xcf\xe4\x68\x8e\x9a\x55\xa4\xe5\x5d\xa6\x37\x9d\xfa\xa4\xdf\xa5\x2d\xdb\xb4\xde\xb6\xc7\xc2\xfe\xd3\xfd\x10\x3b\x2f\xe2\xd3\x7e\xbe\xf8\x9b\x62\x95\xf5\xa5\x1d\xff\x4b\x05\x65\x5d\x18\x5e\x15\x7e\xd9\x5c\xa2\x62\x14\x0f\xe8\x2e\x13\x3c\x13\xc0\xd4\x92\x1b\xc5\xd4\xee\x54\xf3\x7f\x62\x4e\xa1\x90\x0f\xff\x77\x20\xea\x72\x89\xd6\xb9\xf3\x3c\xc4\xad\x96\xdc\x4b\x45\xfa\x3a\x87\x8f\xd4\xf6\xd3\x10\x09\x3f\x77\xda\x0c\xea\x43\x6a\x02\x8b\xce\x60\x07\x22\x0c\x3f\xbf\x7f\x6b\x80\xd1\x18\x41\x3f\xfa\xb8\xf0\xc2\x35\xbe\x57\x74\xe1\xba\x3c\x34\xb8\x70\xbd\x47\xc6\x16\x91\x51\xa0\xf3\xf7\x0d\x42\x8b\x21\x0d\x57\xf0\x0c\x85\x75\x19\xb3\x4c\x2a\x52\x6c\x46\x46\xf9\xd7\x55\x7e\x4b\x22\xef\x5b\xe9\x66\x1d\x2f\x43\xd2\xa9\x15\x61\x78\x5f\x21\xf8\x56\x72\x65\xf5\xe6\x9b\xf3\x4b\xeb\x38\x78\x18\xf9\x41\x7d\xf9\xca\xa3\xb4\xdf\x49\xb7\x78\x5d\x44\xbf\xed\x2e\xa5\xf1\x39\xf1\xef\xee\x74\xdc\xdb\x20\x2d\xfb\xc7\x1f\x63\x65\x20\xe0\xfd\x9d\x84\x20\x0c\x3f\x4e\x0a\x7c\xeb\x7b\x89\x81\xef\xf3\x50\x39\xf0\xdd\x47\x0a\x42\x9f\x0b\x7e\x03\x49\x88\xf1\x92\x75\xd0\x88\xe8\xd6\xc3\x35\x58\x02\xa5\x66\x01\x6f\x0d\x2a\x4b\x5c\xcd\x4d\x63\xe8\x7d\x52\x3e\xe1\xfb\xe5\x2e\x0d\x76\x2c\xaf\x5f\x23\x4c\x63\x5c\xf3\x6b\x21\x33\x0b\x5d\x86\x38\xa9\xd6\xa8\x34\xa4\x31\x10\x25\xe1\x14\x5f\x73\x3b\x1a\x25\xc2\x7c\x0e\xd8\x4a\x0f\x25\xaa\x2b\x25\xff\x6e\xfb\x56\x36\x34\xa2\xe0\x38\x98\x70\xe7\x6f\xda\x86\x99\x2c\x0a\x24\x57\xb4\x41\x16\xd7\x51\x9e\xb7\xdb\xed\xb4\xdc\x51\xf6\xde\x43\x73\x99\xff\x1b\x54\x96\xee\xa7\x72\x45\xdf\x1a\x28\x87\x44\xf5\xa5\xa7\x8f\x25\xdf\x83\x63\xea\xcf\x30\x22\xaa\x5e\xdc\x19\xff\xb6\x05\x31\xc5\xea\x3b\x09\x63\x8a\xc2\x38\x81\x4c\x7a\xdc\x4b\x28\x93\x7e\x0f\x15\xcc\x04\xc4\x48\xe1\x1c\x5e\xf7\x6f\x2e\xa0\x8e\xc9\x57\x5c\x60\x88\xd9\xcb\x4a\x6a\xb6\xb4\x61\xae\xdc\xb1\xc2\xec\x9a\x9d\x2f\x6a\xbc\xe6\x37\xa8\xa1\x64\xea\x1a\x4d\x55\xb0\x0c\x35\xb0\x46\xcc\x6a\x61\xf5\x79\x9e\xa6\xd6\x24\xe8\xba\x72\xdb\x77\xe7\x97\x1e\x28\x47\x7d\xd0\x46\xbd\xf3\xc3\x77\x1c\xba\x90\xbc\x6b\x6f\x04\xbe\xc3\x0c\xf9\x4d\x4c\x30\x20\x2c\x51\xe0\x8a\x67\x9c\xa9\x5d\x48\xc0\xfb\xf9\xb4\xb3\x15\x8c\x38\x23\x98\xd4\x4c\xa1\x41\xb7\x0d\x16\x3a\x05\xc0\x14\xa2\x84\x5f\xd3\x35\x1a\xbb\xae\xc7\x27\x9d\x20\x33\x93\x65\x89\x22\x77\x09\x99\x53\xf8\x40\x4a\xc8\xa7\xf3\x69\x87\xcc\x6a\x42\x81\xdb\x44\xff\xc0\x79\x21\xb7\x6e\x16\x2d\x60\xaa\x3d\x25\xae\xa1\xd6\xd6\x79\xb8\x5a\xa3\xf1\xb4\x09\xb3\x7e\x5b\x2f\x0b\x9e\xbd\x65\x66\x73\x7c\x72\x35\x21\x7d\x28\xa4\x69\x83\x73\x99\x21\xb4\x8b\xcd\xea\xc2\x24\xa3\xc6\x49\x39\xa5\x4b\x1b\x33\xac\x28\xe4\xd6\xeb\x50\x23\xa1\xae\x72\x8b\x7a\x0b\x20\x91\x8c\x55\x6c\xc9\x0b\x6e\x28\xf1\x4d\xb1\x50\x6d\x6a\x45\xab\x5e\x93\xd6\xa7\xcd\x99\xb5\x5f\xb3\xa6\xf9\x5e\x45\x16\x90\x99\xc3\xf3\xd8\xf8\xe7\x27\x5f\x5a\xab\x3d\x0d\xf3\xfe\xfa\xc7\x36\x6f\xbc\x76\x61\x83\xf5\x2e\x42\x36\x36\x63\x45\x56\x17\x16\x79\x8b\x1d\x2b\x65\xed\x9c\x26\xcd\x0a\x84\x1b\x56\xd4\x08\x46\x31\xa1\x57\xa8\x94\xeb\xd1\x5e\x04\xcf\x84\x0d\x8d\xde\x48\x83\x70\x0a\x17\x26\xd9\xa5\x59\xa2\xd9\x22\x0a\x38\x9b\x9e\x11\xf1\x9f\x4e\xcf\xda\x60\x5e\xde\xda\x2e\x8e\xa3\x92\x91\xb9\x86\x5b\xea\x50\x36\x88\x73\x0d\x67\xd3\xff\xf8\xc9\x36\x15\x29\xdb\xb6\x01\xba\xfe\xdb\x80\x00\xf5\xf8\x7f\x70\x3b\xed\x8b\x0a\x2b\x8a\x1d\x54\xa8\x32\x14\xc6\x9a\xb5\x35\x26\x99\x6e\xb7\x37\x64\x50\x95\xda\x12\x65\xc9\x34\xd7\x50\x49\x2e\x4c\x2b\xaa\xb4\x8d\xb4\x2c\x78\x6e\x17\x7a\xc9\x2c\x69\x75\xc9\x94\x89\x1b\xb7\x1a\xb6\x1b\x1b\x6d\x67\x2c\x27\x7d\x2e\x57\x2b\xcb\x39\x57\x1f\xce\xf9\xed\x4f\x3f\x5e\x75\x19\x87\x19\x60\x85\x42\x96\xef\x82\x6e\x70\xca\x27\x1d\x9f\xf8\x27\x63\xda\x52\x37\x63\xf6\x07\x37\xba\x0d\xc8\x86\xcd\xde\x1b\x60\x0a\xc1\x3a\x93\x0a\x8b\x1d\xe4\x68\x67\xc4\x05\xd7\xc6\x67\xf9\xd7\x36\xc4\x4b\x5a\x8b\x3c\x2a\xa5\xb6\x90\x54\x96\x03\xfe\x33\xa0\x20\x57\x50\x29\xcc\xb8\x8e\xd6\x7e\x88\x65\xb3\xda\xcc\xc1\xcd\xb4\xcd\x8e\xff\x13\x4c\x55\x6b\xc7\x2b\xf5\x6c\x9c\x0c\xd9\xc9\xd9\xa1\xd8\x2e\x64\x8c\xfc\x9a\x4f\x7a\x02\xa7\xb0\x70\x73\xd8\xf0\x2a\xb2\x9d\xfd\x70\xb5\x65\x45\x81\xe6\x2a\xec\x09\x5b\x65\x3b\x01\x17\xe4\x9a\x8d\x85\x8b\x85\xc6\xfe\x3a\x90\x53\xb4\x15\xa8\xa0\xe4\xeb\x8d\x81\x2d\x13\x86\x74\x76\x85\x19\x5f\xed\xf6\xcf\xfa\xce\x7d\xd1\xc6\xf3\xb8\xa7\x3c\x4f\x52\x6a\x4e\x86\x06\xe9\xda\xce\x4a\x0d\x39\xb0\x59\x6d\xe0\x8f\x0b\x12\xc8\x27\x4f\xe8\xd7\xcf\x0b\x12\xcb\x39\x1c\x3d\xaf\x8d\x97\x9f\x46\x82\xb9\xb0\xaf\x78\x0e\x8a\x89\x35\x02\x9f\x22\x7c\x3c\x9b\x3c\xfd\x74\xb4\xc7\xc0\x42\xf0\x9b\xa2\x96\x5e\x44\x1d\x31\x90\xff\xac\x0d\x2c\x2c\x16\xfd\x4f\x87\xf7\x27\xef\x91\x2d\x09\x26\xd3\x15\x76\xc4\x0e\xaf\x53\x63\x6d\x39\xef\x1f\x35\xaa\x9d\xb3\x29\x57\xef\x82\x41\xbe\x0a\x86\x97\x0a\x65\xde\x9c\x5f\x26\xde\xb3\x65\x2a\x12\xb1\xdb\x0a\x33\xe3\xf4\x64\xc5\x76\x8d\x35\xf7\x5a\xc1\x25\xc4\x6c\x84\x44\xec\x13\x9c\xf5\x91\xb6\xde\xc2\xe9\xa6\x6f\x94\x62\x3b\xcf\xa9\x8a\x65\xd7\x4e\x4f\x70\x91\xf3\x1b\x9e\xd7\xac\x68\x30\xe8\x32\xaa\xa5\x6e\x94\xcf\x0b\xb1\x92\x7a\x0e\x1f\x3d\x81\x3e\xdd\xb1\x61\xe4\xfd\xe5\x81\x4e\x5d\xce\xb3\x3e\x94\xe5\x19\x67\x5c\x98\x01\x5d\x53\x1a\x90\x15\x05\x71\x5c\xa3\xd4\xa3\x0b\x60\xad\xf2\x12\x61\x4d\x9e\x80\xdf\xd9\x79\x3a\x3d\x6b\x81\xbd\x61\xd6\xcb\x36\xac\x78\x4e\x5c\x73\xd6\xf9\x6c\x17\x3c\x98\x04\x2e\x22\x9e\x03\x32\x90\x00\x89\x8f\xff\x3f\xf4\x9d\x76\xb9\xb1\xcd\xdb\x4c\x6b\x54\xe6\x38\xf6\x73\xd2\x33\x81\x12\xb5\x66\x6b\x9c\xc3\xd1\x7b\x37\xd9\x38\xfe\xf8\xd9\x1e\x9d\x74\xc9\xf8\x4c\x6b\xbe\x76\x7a\x2c\xc0\x1b\x14\x22\x37\xd2\xa2\xdf\xa8\x93\xa8\x7d\xe7\x9c\xde\x14\x1e\x65\xfd\x06\x33\xa5\x9d\x1d\x75\x46\x1c\x97\x64\xf0\x5d\x6d\x07\x26\xbc\xee\x98\xf6\x70\xde\x35\xa6\xf3\xa3\xc7\xc6\x51\x1f\x9f\x24\x2c\x75\xc7\x66\xe4\xc0\x1c\xe1\xae\x88\xac\x11\xa1\xef\x14\x8f\xbd\xeb\xd0\xe7\x50\x34\xd6\x50\xe4\x3e\xb1\x58\xec\xf5\xd0\x48\x2c\x02\x18\x19\x87\xa5\xaa\xa9\x2b\x61\xdf\xa4\x16\xc1\xd9\x60\xb7\xc9\x48\x5a\x24\x1a\x25\xf2\x61\x49\xde\xc9\xb2\x58\x66\x6c\xab\xbb\x98\x28\xa1\xb2\xb8\x06\x04\xb9\xf0\x78\x83\xc2\xd4\xe4\xfe\xa5\xb0\x58\xf4\xc6\xf5\x96\x9b\x6c\xb3\x94\x36\xb4\x0b\xb6\x6b\x12\xe1\x6e\x1c\x23\x84\xba\xb5\x65\xed\xc1\xd2\xbe\x65\x0b\xb9\x48\x20\xfb\x4b\xc8\x4e\x8d\x5c\x77\x8b\xac\x89\x55\x62\xac\x16\x10\xb2\xe1\x61\x6a\x43\x87\x98\xa7\x2f\x53\x83\x51\xd0\x3c\x1d\xe7\x4b\x77\x1d\x66\x15\x7d\x9c\xf9\x58\xf2\xfc\xf2\x5d\x3a\xec\x81\x74\xae\x2f\x21\x73\x1b\xb9\x49\x31\xa4\xcf\x67\xbd\x39\xbf\x9c\xf6\x16\x27\x44\x23\x14\x6a\x2a\xc6\x9d\x6f\x99\x98\xb1\x6b\xdc\xcd\x9c\x4f\x52\x31\xae\x34\xb0\x42\x8a\xb5\x8b\x39\xb5\x2c\x1b\xb9\xa3\xb4\xef\xad\x5d\x56\xda\xca\xa0\x71\xd9\x52\xd6\x8e\x89\x08\xf4\x21\x5b\x7b\x69\x1b\x25\x34\x19\xa8\x4e\x24\x38\x53\x78\xc5\xaf\x11\x7e\x65\xd9\xf5\x5a\xc9\x5a\xe4\x13\x78\xb9\x43\x3d\x81\xbf\x30\xae\x3a\xa5\x63\x63\xcb\x07\x69\xa4\x5a\xe4\xa8\x0a\xf2\x75\xdd\x94\xd3\x51\x27\x41\xf1\x98\xf0\x9a\x08\xad\x5d\xf9\x1e\x35\x81\x4a\xc9\x1b\x9e\x63\x20\x46\xd0\x56\x04\x6c\x3f\x4e\xf4\x79\x0e\xcf\xc4\xce\x95\xd0\xb6\xf0\xf2\xb5\x72\x56\x43\xa4\xeb\xa5\x37\x72\x4b\x0b\x10\xc7\x72\xc4\xde\x3a\xd7\x99\x6b\x47\x36\xeb\x1e\xb9\xa9\x44\x46\x49\x81\x5b\x3e\xe7\x42\x1b\x26\x32\x9c\xc0\x4e\xd6\x90\x91\x88\xeb\x80\x95\x1d\x8a\x41\x2d\xf8\x2d\x18\x5e\xa2\x36\xac\xac\x5c\x18\xef\xdd\xf0\x16\x7e\x4c\xc3\xd1\x0b\x66\xf0\x88\x26\x8e\x45\x91\x8e\x55\x15\xcc\xac\xa4\x8d\xe7\x6c\xf0\x2b\x85\xae\x4b\x5f\x11\xe2\x68\x47\xb5\xba\xe4\xb2\x84\x2c\x01\xf3\x7b\x60\xfb\x3d\xfd\x66\xec\x81\xa2\x00\x6b\x6e\x99\xb2\x81\xa1\xf5\x2c\x59\xa1\x65\xd4\x0e\x2e\x13\x5b\xec\xbc\x64\x30\x63\x14\x5f\xd6\xa6\xb5\x33\xdf\x66\x0e\x27\x2d\xd1\xa4\x84\xc8\x8f\xd0\x2c\x8a\x06\x82\xa6\xca\x09\x3f\x45\xff\x2e\xb0\xc1\x9b\xf3\xcb\xdf\x6b\x50\x84\xd3\x7e\x6e\x70\xdf\xe7\x1e\xf7\xc1\x22\x87\x56\x05\x63\x8f\x7d\x26\x83\x74\x99\x74\x01\xdf\xbf\x62\xd1\x71\xc4\xc2\x0d\x38\x10\x30\x24\x9c\xb0\x48\x71\x18\x88\x4d\xdc\xba\x2c\x3c\x4e\x23\x23\x0a\x52\x77\xa4\x26\x83\xe7\x13\x34\xd6\x61\xfd\xe6\x3b\xfa\x0e\xb4\x5b\x39\x42\xc5\x45\x70\xa9\xa4\x0d\xa8\x38\x64\xd9\xc6\xeb\xa6\x3b\x95\x9b\xbe\x23\x51\xee\x50\x9b\xc3\x47\x6a\xb9\x67\x0b\xb7\xd3\x68\x70\x0d\xfd\x1c\x17\xbe\xf1\x80\xd1\xb7\x7f\xed\x60\x26\xcf\x75\x63\x40\x9c\x1e\xf6\x4c\xeb\xf1\xb6\x48\xb4\xba\xb4\xbd\x54\xe7\xb6\x51\xdb\x39\xa9\x52\x27\xd3\x7e\xee\x86\x24\x8f\xe5\x39\xe6\x07\x5d\x53\x6b\x41\x59\x9e\x13\x28\x3b\xe1\xb9\x83\x7a\xc7\x4c\xa7\x96\x45\x44\x7e\x6c\xee\xa8\xef\x68\x7b\xa4\xc9\x9c\xbe\x97\x4f\xea\x51\x18\xe7\x90\xba\xc6\xf7\xf2\x46\x5d\x97\x87\xba\xa2\xae\xf7\x48\x3f\xb4\xc7\xd9\xe1\xef\x1b\x38\xa1\x7e\xdd\x62\x8d\x95\x91\x80\x4c\xf3\x82\xe2\xa0\x1b\x54\x86\x6a\xd1\xe8\x1b\x53\x3b\x5a\x09\xc7\x13\x70\x2e\x15\xa5\xf5\x13\x07\x25\x6c\x6c\x69\xbf\xb9\x20\x49\x7d\x93\xbe\x46\x4e\x05\x8d\xa1\x20\x3e\xac\x12\x69\x05\x6f\xe1\x2f\x9d\x13\x10\xe1\x91\xe9\x2a\xd1\x6c\x64\x2c\x8b\xd7\xf5\x6a\xc5\x1d\x43\xac\xf9\x0d\xf9\xa8\x25\xd9\x17\x8a\xdc\xe4\xca\x67\x72\x3c\x8a\xfb\x18\xcd\xce\xc7\x09\x51\x7b\x66\x4b\x0c\x93\x76\x2a\xed\xb2\x11\xef\xa4\x37\xde\xd2\x91\x93\xfc\x0d\x2b\x51\xcf\x5b\x95\xd8\xbe\x68\xcb\x61\xe3\xed\x77\xc8\xeb\x5d\xd9\xb1\xae\x22\xb0\xf0\x77\x8d\x3b\x4f\x2d\xa6\x9c\xb5\xdb\x32\xe1\xc7\x5f\x62\x66\xb5\xe2\x95\xc3\xe3\x6a\xd0\xa7\x26\x07\x9a\xd9\x0e\x5d\x3d\xb2\x8f\xdd\x2d\x1e\x97\xd2\x73\xbc\x23\xc5\x17\x87\x78\x62\xe2\xbe\x4e\xba\xf3\xfc\xe8\xda\x7c\xfa\xe5\x64\xde\x67\xc8\xd9\x0c\x9e\xc7\xd5\x77\x49\x45\xed\xb3\x8a\x61\x4a\xd1\xa4\x78\xa7\xce\x6d\x1a\x70\xd5\x38\xd1\xfe\x2c\x4f\x3e\xed\x78\x8d\xbb\x4e\x7e\x72\xc3\x44\x5e\xa0\xb3\x18\x44\x64\x1b\xe8\x50\xc2\xd3\x34\x8d\xff\x5e\xeb\x64\x6c\xe2\x93\x00\x9f\x0a\x9d\x8b\x62\x9a\x0a\x6e\x6b\xb2\xf0\x78\x61\x45\xa5\x23\x70\xd6\x95\xbb\xb6\x68\xb7\xda\x3e\x1e\x10\x4b\x4b\xd4\xa9\xc2\x52\xde\xe0\xf1\x35\xee\xe6\x70\xdd\xad\xaa\x6b\x9e\xe2\xe3\x80\x85\x82\x05\x7c\xfc\xf4\xa8\x37\x3e\x81\x27\xbe\x69\x0f\x1d\x21\xc0\xc2\xad\x90\x77\x63\xae\xa3\x07\x63\x7b\x7e\xbc\xfe\xf4\xb8\xe3\xc0\x08\x5e\x34\xce\x8b\xe0\x45\x1b\xdb\x8e\x0d\x20\x5b\x31\x34\x81\xc0\x94\x8e\xb1\x5c\xaf\x93\xae\xba\x89\x79\xf1\x98\xc1\xec\x69\x0d\xae\x75\x8d\x4d\x62\xd3\x1f\xcc\x8a\x10\x28\x30\x72\x9b\x29\x25\x1d\x75\xd3\xbc\xe4\x05\x53\xc9\xc9\x34\x0b\x16\x6f\x59\x69\xbb\x33\x01\xff\x6b\x15\xc3\xd3\xb3\x33\xeb\x74\xbb\x8d\xae\x08\x8c\x0b\xeb\x30\xbb\x2d\x3b\xe7\xcb\xac\x6a\x77\x3e\xcc\xe5\xd4\xdd\x7e\x41\xba\xe3\xd9\x38\x40\xcf\x5c\xf5\x80\x63\xb7\xa5\x75\x6d\x14\x05\x2e\x11\x73\xcc\x39\x4d\x6b\x02\xdb\x0d\xcf\xa8\xb6\x78\xbb\xa1\x0a\xf0\xf0\x69\x1f\x1e\x8e\x94\x96\x53\xb5\xd3\x6e\xbe\x8a\x0d\x5c\x15\x1b\xe9\x97\x43\xb1\xde\x4b\x37\xc4\xa1\xd3\x68\x29\x26\xa1\xcd\x79\x43\xbf\x89\xd3\xc2\x59\xc8\x4b\xbc\x47\x33\x81\xb7\x05\xdb\x4d\xe0\x3d\x2a\x8e\xba\xbd\x4f\xe1\x2b\xeb\xdc\x49\x87\x2d\xdb\x25\x85\x15\x0e\x44\x56\x30\xad\x6d\x54\x63\xf5\x47\x20\xd0\xa8\x58\xf2\x97\xfe\x3c\x7c\xff\xa4\x90\x6f\xcf\x61\x2b\x9a\x11\x13\x70\xf4\xc3\x8f\x81\x17\x8e\x7f\xf7\xc3\x8f\xb3\xa7\x67\x67\x27\x47\x54\x91\xe2\x62\x4f\x0f\x88\x6b\xf8\xe1\xc7\x3b\x22\x5c\x6a\x35\x87\x0f\x17\xc2\x74\xf7\x7d\x2c\x5a\x25\xbb\x1d\x44\xcd\x06\x62\x7e\x7b\xd9\x33\xf5\xb4\xd3\xb7\x7b\x0a\x2c\x24\x5c\x7c\xd4\xeb\x92\x2e\x05\x2f\xb9\xc1\xfc\xd4\x0f\x81\xf9\x30\xb4\x11\x53\xb6\x88\x72\x6d\xbf\x0d\x76\xa5\x4a\x1d\x12\xb7\x5a\xf8\x41\xc3\xbc\x5c\xdf\x26\x5d\x65\xc3\x59\x23\xad\xee\x18\x77\xa6\xac\x64\xb7\x81\x7e\x07\xe3\xaf\x5f\x26\x1d\x8a\x4f\x5a\xdd\x07\x1c\x28\x8b\xdb\xa0\x0a\x87\x26\xbd\xed\x17\xe6\xe7\x85\x6d\xfd\x38\xcd\x6e\x5f\x36\x8c\x90\x31\x31\x94\xc8\x36\x7e\x91\x5d\xab\xc7\x47\xfb\xb4\x3b\x8c\x0a\xfa\xfc\x58\x8b\x6e\x2c\x1e\x1b\xd8\xa1\x08\xcd\x91\x51\x5c\x6b\x5f\x28\xa8\x81\x51\x75\xb4\xbe\xf1\xbf\x50\x49\xdb\x13\xe9\xd6\x6e\x63\x4b\x5f\xb2\xa0\x31\xf7\x72\x89\xd5\x8a\xaf\xb8\x36\x73\xf8\xe8\x31\xdb\x57\x77\xdb\x6f\x38\x5c\x7c\xeb\xdb\xc1\x22\x76\x19\x1b\xd1\x44\xd2\x7c\xaf\x53\x7e\x11\x81\x91\x05\x4f\xbe\xf9\xfd\xaa\x9d\x7c\xa7\x07\x97\x3a\xf9\xfe\x63\xeb\x9c\x1a\x76\xeb\x4a\xe9\xb7\x2a\x72\x8a\x49\x39\xf2\xcb\x83\x31\x3a\x75\x65\x4f\x39\x68\x54\x9c\x15\x81\x7f\x5d\x8e\x3c\xec\x5f\x5a\x6e\x8d\xc0\xde\xba\x8e\x1a\x36\xec\x06\x93\x63\xf1\x04\xc8\xcf\x82\xdc\x06\xf2\xe4\x3b\x70\xa3\x9e\x8c\xe0\xde\x5b\xdf\xb5\x64\xbb\x58\x9a\x43\x7b\xae\x0a\xd7\xb5\xf5\x64\x2e\x5e\xb8\x04\x60\xda\x28\x39\x8b\xdf\x04\x5c\xce\x98\x86\x43\x60\xee\x9c\xcf\xd4\x9d\x46\x69\x21\xc0\x75\x6b\xfb\x76\x89\x50\x0b\xfe\x8f\x9a\x8a\x62\xfc\x81\x41\xb2\xde\x64\xb6\x09\x15\xab\xf6\xc9\x43\x67\x26\x10\xed\x90\xf2\x78\xef\x86\xdc\x9f\x7f\xd9\x67\x37\x53\x49\x6e\xb7\x19\xce\xa0\xed\xd1\x97\x07\x04\xd8\xa3\xf7\xbd\xc4\xd7\x0f\x3f\x4e\x78\x5d\xe3\x7b\x89\xae\xeb\xf2\x50\xc1\x75\xbd\x47\x8a\x6d\x6f\xa1\xbf\xb5\xd0\x36\xa5\xc3\x3e\x8d\x99\xba\xc7\x5e\x48\x5d\x22\x2d\xc9\x6e\xda\xde\x54\xa0\xe5\x82\xe9\xd0\x55\x20\xe6\xda\x45\x8d\x37\x18\xb2\x10\x3a\x93\x8a\x62\x87\xb4\x04\x63\x59\x1b\xe0\xee\x04\x7d\x04\x48\x9d\x96\xb2\xc9\x53\xee\x63\x7e\x9f\x07\xff\xd2\x73\x06\xfd\x50\xbe\xa2\xd0\xb5\xa2\x44\xfc\x81\xcc\x3b\xf5\x0b\xd5\x30\x03\xbe\x6f\xc9\x6e\x79\x59\x97\xcd\x36\x0a\x75\x38\xe0\x70\xed\x03\x36\x70\x9d\x43\x8a\xaa\x3b\xda\x76\xe0\x74\x63\x0c\x11\x5e\xe1\x1a\x45\xce\xd4\x6e\x02\x2f\x2b\x9e\x4d\x2c\x6d\x70\x02\x1f\x44\x26\xcb\xd2\xba\x8e\xcf\xe9\xff\x76\xac\xe0\x4f\xcf\xb5\x13\xdf\x23\xea\x8e\x06\xbd\xc7\x36\xed\x26\xad\xc9\x0f\x16\x16\x0d\x39\x91\x6e\xe1\x16\xce\x8d\x7c\xf2\xa4\x45\xa3\xc5\x3e\xe7\xb2\x62\x82\x67\xc7\x47\xcf\x02\x3f\x44\xee\xd3\x61\x49\xdb\xf7\x93\x48\x45\xdc\xd5\xf3\x20\xfb\x5a\xcf\xa3\xd3\x59\x66\xd8\xef\x23\xc2\xbf\x50\x66\xd4\x29\x2f\x70\x73\xf9\x9e\xc9\x5c\x8f\xc2\xc8\xea\x02\x6a\x7c\xbf\xd2\x02\xb7\x63\xf3\xd0\xba\x02\xea\x3d\xb6\xa8\xa0\xab\x29\xc2\xdf\x37\xd0\x9e\x6f\xce\x2f\x49\x81\x6e\x15\xab\x34\x25\xdc\x9e\xd3\x05\x29\x74\xa5\x8e\xdb\x74\xb9\xe2\xb9\x2b\x14\xbc\xaa\x6b\xfb\xe8\xb2\x71\x6e\xc7\x31\xec\xe6\x44\x78\x21\xcd\xca\xa8\x36\xbc\x40\x83\x50\xf1\x8c\xaa\x7c\xe3\xe1\x23\x7f\x7f\x0e\x79\x0d\xc3\x97\xe7\x44\x70\xa3\x6e\xd1\x09\x73\xd8\xef\x47\xf0\x3c\xfa\x10\xfb\x9a\xd8\xb9\x1d\x6c\xe4\x73\x60\xf3\xf6\xd5\x43\xd3\x70\xd9\xc5\xde\x7e\xd8\x94\xe7\x77\xfb\xa6\xc7\x05\xf6\xf6\x6f\x32\x5e\x2f\x98\x61\x73\x3b\xe3\xe7\xad\x57\xa3\xba\x06\xe4\xdb\xbd\x0f\xe1\x1e\x2b\x36\xd2\x72\x9a\xbd\xad\x43\x3e\xd2\xef\x75\x1c\xbc\xf8\x85\xe7\x10\x83\xf4\xd6\x07\xbb\x1e\x7b\x3e\xf9\x55\x80\x7d\xcb\xd0\x6e\x9d\xd0\xbe\xd7\x23\x25\x7e\xbb\x57\x9b\xe2\x30\x44\xf2\xbd\x1d\x22\x7a\x83\x84\x6e\x77\x6b\xea\x61\x52\xf2\x76\x6e\xb8\xe9\xd0\x34\xbc\x1f\x0e\x58\x73\x3a\x2b\xd7\xff\x40\x04\x5d\x10\x5d\x07\x34\xbe\xc7\x39\xee\x11\xf7\x9b\xa4\x74\x5c\xa4\x54\xed\x37\xed\x10\x6f\xd1\xa1\xe6\x9d\x1d\x22\x22\xbd\x77\xfd\x6e\x0d\xf1\x16\x03\xa5\x9d\x30\x6e\xf3\x75\xaf\x11\xf3\x67\xbd\x88\x71\xf7\xd9\x2c\xab\x33\x2e\x7d\x9a\x82\xe7\xbf\x89\x45\x0b\xda\x6d\x9c\x25\xf3\xad\x8f\x1b\x65\x36\xb9\x87\x51\xeb\x6b\x52\x8a\xc2\x56\xe6\xaf\x63\x8c\x9a\xef\x6d\xad\x5a\x6a\x14\x43\xf7\xc1\xfc\x5a\xb0\x4c\xae\xcd\x63\x60\xfa\x71\xc0\x22\x59\xa7\xae\x21\x0b\xb3\xec\xab\x12\x9e\xf7\xd5\xc8\xbc\x8d\xb7\x7d\x35\xa8\x50\xba\xda\x21\xb9\xfa\x28\x05\x70\x32\x5e\xbf\x74\x8e\x91\xdd\x01\xa5\xa7\x6f\x88\x73\xdd\x82\xb6\xf5\xce\x48\x28\x51\x09\x0d\x03\x3a\x3c\xaf\x54\x33\x05\x18\x4d\x15\xe6\x1d\x1d\xbd\xb8\x35\xbd\xfc\xfe\x4e\xab\x4b\xa3\xc4\x0e\xc4\x73\xae\x82\xbb\x09\xe6\xfc\x25\x28\x74\x95\x8e\xbf\xd6\xd0\x28\x8e\x37\x38\x5c\x6e\x72\xd7\xa1\x50\xe7\x64\xd7\x15\xb0\xce\x59\x4d\x97\xc2\xae\x94\xb4\xda\x20\xc2\xb3\x43\xb2\xb5\x1b\xd4\x95\x04\x36\x47\x94\xc6\x1c\x51\xeb\xad\x64\x27\xf6\x73\xb7\xc9\x88\x38\xce\x96\xee\x81\x20\x7f\xc8\x9f\xd8\x56\xe1\xc4\x58\x4c\xca\xb8\x1b\x85\xf6\x6f\x3c\x78\x58\x6f\xfd\xa5\x2b\xf1\x47\xe7\x1e\x1b\x37\x1b\x2a\x09\x75\x1b\x4f\x65\xad\x29\xe3\x5a\x70\x71\xed\x06\xf3\xcb\x31\x30\xf1\xb8\x55\x11\xb2\x5f\x10\xb7\xa8\xb2\xa2\xa6\x23\xec\xf1\x50\x20\x4d\x24\x9c\xf6\xf3\x5b\x65\x5e\x62\x9c\xcb\xd9\x7c\xdc\x3b\xa7\x2a\xd6\x6a\xa6\x75\x9b\xfd\x10\x75\xf0\x84\x5e\xb2\xc8\xe1\x3e\x2b\x37\xb3\x3c\xe8\x64\x07\xbe\x05\x4d\x48\x7f\xf6\x11\x85\xe1\x26\x5c\xf8\x89\xb7\x5c\x9b\x09\x70\x03\x42\x82\xf5\x94\x51\x35\xd1\xdb\xd2\x95\x25\x2a\x1e\x32\x68\x49\x96\x30\xce\xf1\xc0\x14\x1b\x6e\x99\x03\xd5\x6c\xb5\xa7\x68\x67\xd5\xa9\x01\xf6\xcb\xe5\x73\xe7\x6c\x25\x15\xe1\xea\xf6\x7c\xaa\x66\x95\x0f\x0c\xfc\x8a\xc0\xb8\x9d\xde\xfe\xc0\xe7\xb1\xf0\xc3\x1d\xcd\x2a\xe4\x56\xbb\xe3\x8a\x3e\x19\xc0\x04\x60\x59\x99\x5d\x57\xaa\x02\xc1\xed\xfc\x03\x0f\x13\x03\xb7\xc0\x07\x56\xba\xe3\x08\x15\xed\xac\xbc\xb4\x43\xa4\x24\x5a\xd5\xe2\xf8\x64\x0e\x7f\xfa\xd2\xbd\xe1\x75\xda\xb4\x3a\x7c\x13\xe1\x3e\x89\x69\xeb\xb8\x61\x1e\x1c\x6a\xd3\x5d\xc4\xa1\x36\x5d\x7a\x77\x94\xfa\xd0\x74\xc3\x22\x8c\x9d\x76\x54\xb7\xa3\x0e\x44\x75\xd1\x9a\x72\xfd\xde\xdd\x54\x73\x2c\x57\x0e\xc7\x9f\x9f\xf4\x07\x0c\x85\xd1\x13\x18\x74\x31\x12\x7c\xac\x8f\x30\x87\x23\xaf\x78\x48\x40\x49\xe5\xf8\x82\x8b\xde\xdd\xbd\x11\x34\xa9\x8c\x03\xd0\x13\x25\x32\x3d\x78\x24\x2b\x59\xef\x45\xf2\xdc\x6f\xd8\x2c\xf9\xa2\x79\xdc\xd7\xac\x41\x66\xd1\x7d\xb1\xaf\x4b\x43\xed\x45\xf7\xc5\x80\xc3\x3c\xc4\x13\x8b\x3b\x39\x65\xac\xdb\xdb\x37\x53\x94\xc1\xd9\x86\x93\x55\x54\xd7\x1f\x6a\x3e\x05\xad\x5d\x1e\x8b\x34\xfe\x3d\xb9\x9d\x3e\x8a\xa3\x9d\xe3\x8e\x2f\x75\x9f\x8c\x4f\x3f\x02\x7c\x60\xf2\xa7\x07\x68\x64\x1e\xe8\x2e\x07\x22\xfc\x7d\xfb\x84\xfa\x1e\x07\xcc\xd7\xbb\xd3\x99\xdb\xa0\xb2\x7f\x9f\x5c\x73\xd9\x5c\x7c\x31\xca\x11\x73\x49\x23\x01\xe1\xea\x0b\x92\xf3\x08\x8d\xee\xe6\xe5\x99\x0e\x56\xbc\x67\x58\xbc\x8f\xb4\x44\x6b\x87\x2d\xc0\x7b\x7a\x63\xbd\x0b\x44\x67\x33\x78\xc3\xca\x9e\x81\x25\xf4\xb7\x1b\x14\x21\x66\x70\xb5\x7a\x7e\xf8\xee\x6d\x1f\xdd\xa1\xef\x3c\xec\xf0\x22\x49\xba\x0e\x8d\x3a\x44\xa4\xe0\x79\x8d\x19\xf8\xc0\xd5\xc4\xf1\x0a\x09\x77\xd9\x00\x79\x2c\xfe\x12\x16\x1a\x8a\x8e\xe6\xa7\x7c\x10\x0e\x92\x8c\x1c\x7e\x5c\x0a\xac\x85\xd1\xfb\x7f\xd4\x4c\xa1\xaf\x1e\x70\x37\x50\xb6\x4e\xd7\x8c\x1e\x5b\x13\xa0\x8b\x92\xaa\x35\xda\x63\xd3\xf5\x4e\xad\x51\x7f\x65\x42\xa0\x6a\x8d\x1a\xef\x54\x68\x06\x9b\x74\x9d\x71\xda\xf7\x61\x54\x6e\x05\x02\x99\x82\xa7\x3f\x9c\x9d\xdd\xfe\xf4\x87\xb3\xfd\x68\x2d\x69\xa4\x91\x68\xbd\x97\x19\xf7\x8b\xa3\x1d\x19\xa8\xbe\xbd\x8d\xd5\xef\x35\x68\xd7\x6e\x23\x4b\xac\xd8\x1a\x5b\x25\x3e\xf0\x56\xfa\x8b\x5b\xa9\x16\xb0\x64\x54\x2a\x74\x44\xa7\x4d\xd6\x8a\x95\x47\x13\x38\x32\x5b\x6e\x0c\x2a\xfb\x98\x73\x9d\x49\x95\x1f\x1d\x38\xbe\xe3\x46\xd4\x49\x4d\xe8\xde\xe5\xfd\x4d\x2f\x82\x1e\xc7\x61\xed\x3e\x87\x38\xa3\xdd\xfa\xd0\x82\x75\x60\xdf\x87\x2e\xa1\xd3\x6f\x7a\x67\xf5\x3d\x52\x78\x09\x61\x60\x91\x92\xa9\xdf\x34\xa1\x0a\x2c\x52\x1a\x0d\x40\x75\x24\xb1\x10\xdd\xd3\xc3\x9c\x92\xf4\xf6\xec\x61\xbf\xc4\xbb\x25\x11\xda\x77\xf4\x4f\x1e\xe4\x9b\x3c\xe0\xc6\xed\xc1\x64\xf3\x37\xf1\x50\xee\x75\x17\xf7\x01\xbb\x1a\xfe\x1e\xee\xa7\x7c\x7d\xf4\x7f\x01\x00\x00\xff\xff\x57\x7a\xd0\xa8\x0a\x64\x00\x00"
 
 func utilityMetadataviewsCdcBytes() ([]byte, error) {
@@ -353,6 +374,7 @@ var _bindata = map[string]func() (*asset, error){
 	"FungibleToken.cdc":                    fungibletokenCdc,
 	"FungibleTokenMetadataViews.cdc":       fungibletokenmetadataviewsCdc,
 	"FungibleTokenSwitchboard.cdc":         fungibletokenswitchboardCdc,
+	"utility/Burner.cdc":                   utilityBurnerCdc,
 	"utility/MetadataViews.cdc":            utilityMetadataviewsCdc,
 	"utility/NonFungibleToken.cdc":         utilityNonfungibletokenCdc,
 	"utility/PrivateReceiverForwarder.cdc": utilityPrivatereceiverforwarderCdc,
@@ -409,6 +431,7 @@ var _bintree = &bintree{nil, map[string]*bintree{
 	"FungibleTokenMetadataViews.cdc": {fungibletokenmetadataviewsCdc, map[string]*bintree{}},
 	"FungibleTokenSwitchboard.cdc": {fungibletokenswitchboardCdc, map[string]*bintree{}},
 	"utility": {nil, map[string]*bintree{
+		"Burner.cdc": {utilityBurnerCdc, map[string]*bintree{}},
 		"MetadataViews.cdc": {utilityMetadataviewsCdc, map[string]*bintree{}},
 		"NonFungibleToken.cdc": {utilityNonfungibletokenCdc, map[string]*bintree{}},
 		"PrivateReceiverForwarder.cdc": {utilityPrivatereceiverforwarderCdc, map[string]*bintree{}},

From 324e2e3178c101ad550990afab17bc1889642df4 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 24 Jan 2024 15:01:58 -0600
Subject: [PATCH 080/115] fix supply update and burner name

---
 contracts/ExampleToken.cdc                 | 2 +-
 lib/go/contracts/contracts.go              | 2 +-
 lib/go/contracts/internal/assets/assets.go | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 26fb7155..62e9bfc9 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -66,7 +66,7 @@ access(all) contract ExampleToken: FungibleToken {
         /// Called when a fungible token is burned via the `Burner.burn()` method
         access(contract) fun burnCallback() {
             if self.balance > 0.0 {
-                ExampleToken.totalSupply = ExampleToken.totalSupply - vault.getBalance()
+                ExampleToken.totalSupply = ExampleToken.totalSupply - self.balance
             }
             self.balance = 0.0
         }
diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index 7f8644ca..5a244fd7 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -28,7 +28,7 @@ const (
 	filenameFTSwitchboard    = "FungibleTokenSwitchboard.cdc"
 	filenameFTMetadataViews  = "FungibleTokenMetadataViews.cdc"
 	filenameViewResolver     = "utility/ViewResolver.cdc"
-	filenameBurner           = "utility/Burner"
+	filenameBurner           = "utility/Burner.cdc"
 )
 
 // FungibleToken returns the FungibleToken contract.
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 0e317001..2e47dbcb 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,6 +1,6 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (10.269kB)
+// ../../../contracts/ExampleToken.cdc (10.263kB)
 // ../../../contracts/FungibleToken.cdc (10.872kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xf5\x01\x3d\x1b\x4d\x94\x74\xb7\xed\xed\x1a\x49\x73\x6d\xb7\xb9\x3b\x60\x0b\x14\x6d\x76\xf7\xa1\x28\x1a\x5a\x1a\x5b\xbc\x48\xa4\x40\x52\x76\xbc\x41\xbe\xfb\x81\xff\x24\x52\x7f\x1c\x27\xed\xd3\xf9\xa1\x8d\x2d\xce\x70\x38\xf3\xe3\x8f\x33\x43\xd1\xb2\xe2\x42\xc1\x45\xcd\x56\x74\x51\xe0\x25\xbf\x46\x06\x4b\xc1\x4b\x98\x44\xbf\x4d\x0e\xdc\xc8\xf7\xa8\x48\x46\x14\xf9\x83\xe2\x46\xba\x91\xd1\x6f\xcd\xc8\x48\x7e\x48\x6c\x7c\x40\xa3\x43\x7f\xfb\x88\x92\x17\x6b\x14\x4e\x2a\xfc\x69\x72\x70\x40\xd2\x14\xa5\x9c\x92\xa2\x98\x41\xca\x99\x12\x24\x55\xf0\xee\x86\x94\x95\x53\x3c\xef\x2c\xee\xf6\xe0\x00\x00\xe0\xf8\xf8\x18\x2e\x73\x04\x5c\x23\x53\xa0\x72\xa2\x80\x4a\xc0\x92\x2a\x85\x19\x6c\x72\x64\xc0\x70\x03\x4a\xcb\x48\x20\x02\xa1\xa4\x4c\x61\x66\x84\xc3\x49\xad\x02\xa3\x5b\xbe\x37\x43\xa6\xa4\xe4\x35\x53\x73\xf8\xfd\x82\xde\xbc\x7c\x7e\x08\x6a\x5b\xe1\x1c\x3e\x29\x41\xd9\x6a\x16\x4c\xcf\x15\x29\x40\xd6\x55\x55\x6c\x81\x2f\x23\xab\x25\x50\x06\x78\x43\xa5\x42\x96\x62\x6f\xd2\x35\x11\xa0\xb4\xf8\x27\x23\xed\xa7\x6a\x75\xbf\xce\x4a\xca\xe0\x03\x51\x79\x4f\xb6\x40\x65\x1f\x7f\x52\x5c\x90\x15\xea\x41\xda\xba\xe6\xcb\x41\x7f\x3a\x8a\x1b\x58\xd6\x0c\x56\xa8\xde\x3a\x27\x9b\x40\x4d\x05\x4a\x5e\x8b\x14\x2f\xcd\x12\xf5\xbf\xe7\xb3\x39\x7c\xd6\x7f\x7c\x81\x5b\xa3\x48\x7f\xf4\x9c\x6b\x52\x17\xea\x23\x2e\xe1\x0c\x24\x16\xcb\x84\xa4\xa9\x76\x53\x92\x92\x8a\x2c\x68\x41\x15\x45\x99\x2c\xb8\x10\x7c\x73\xfa\x24\xf4\x45\xf2\x87\x96\x7c\x35\x3d\xae\xea\x45\x41\xd3\x63\x0c\x9e\x99\x47\xb3\x66\x1e\xfd\x39\x3f\x87\x8a\x30\x9a\x4e\x27\x6f\x79\x5d\x64\xc0\xb8\x02\xab\x16\x08\x08\x5c\xa2\xd0\x2e\x05\xc5\x41\xe5\x68\xad\x02\xe1\x01\xd5\xaa\x6a\xfe\x10\xa8\x6a\xc1\x1a\xf3\x93\x15\xba\xb5\xdb\xb1\x77\x7d\x77\x69\x4f\x39\x8d\xa1\xb7\x86\x9c\x75\x68\x7c\xdb\xfe\x30\x9b\xc3\x6b\xb6\xfd\xa4\x44\x9d\xaa\xf3\xff\x53\x07\xba\xb1\xc6\x25\x7a\xf5\x91\x1f\x35\x78\x8d\x4d\xfe\x5b\xf3\xeb\x3b\x92\xe6\x50\x4b\x14\x20\x15\x17\x28\x81\x30\xa0\x4c\x2a\xa2\x8d\xe1\x4b\xe0\xac\xd8\x1a\x8b\x8c\xb8\xde\x3f\x2a\x47\x6a\x47\x93\x15\x46\xbb\x7e\x59\xb3\x54\x51\x6e\xb7\x59\x2b\x43\x58\x06\x2b\xbe\x46\xc1\x30\x83\x85\xd5\x56\x09\x34\xbf\x57\x5c\x2a\xcd\x30\x19\x35\x82\x8d\x3a\xca\x3a\x04\x63\xb8\x43\xe5\xb8\x35\xac\x91\x92\xa2\xc0\x2c\x89\x66\x4f\x73\x4c\xaf\x25\xe4\xa4\xaa\x90\x01\x51\x20\x6a\xa6\x68\x89\x46\x14\x35\xd5\x91\xc6\x42\xcd\x4a\x1d\x1d\x8d\xae\x8f\x0e\x4f\x7a\x04\xb3\xeb\x5f\x20\xa4\x02\x89\xe6\x30\xb7\x32\x4d\x8a\x78\xa3\xb4\x87\xfc\x57\xc3\x91\x86\xf2\xb4\x99\x8d\x3a\x6d\x6e\x86\x4b\xca\x8c\xf0\x21\x48\x13\x60\x81\xda\x04\xc6\x61\x43\xb6\xb0\xe4\xda\xb6\x92\x14\x34\xa5\xbc\x96\x36\x1c\x8a\xbb\x39\xad\x17\x5b\xd7\xf0\xda\x4d\x4b\x19\x10\x2a\x12\x78\x0d\xb2\xc2\x94\x92\x02\x0c\x53\x0a\xf0\x3b\x02\x18\x62\x26\xb5\xa6\x45\x6b\x83\xe2\x86\x73\x1b\x75\x2d\x1f\xc7\xae\x08\xb7\x5e\xa3\xd0\x98\xd2\xe1\x7e\xbb\x0f\xfc\x09\x10\x46\xc4\x70\x29\x2c\x48\xe1\xc1\xa4\x72\x2a\x2d\x62\x9b\xb1\x5d\xfe\x75\xa3\x63\xee\x1d\x1a\x28\xc7\x78\x76\x4c\xc0\x6e\x53\x3b\xfe\x43\xf3\xf7\xe8\x70\x81\x29\xd2\x35\x8a\x9e\x40\xb0\x4c\xa0\x8c\x2a\x4a\x0a\xfa\x17\x1a\x18\xf8\xa5\x12\xd5\xba\xcc\x04\x51\x43\x4e\x63\xb1\x91\xd5\x82\xd3\xce\x5a\x67\x01\x33\xe9\x8f\xa1\x23\xaf\xf2\xcc\x2b\x8f\x86\x68\x02\xa3\x19\x32\x45\x97\x14\x05\x9c\xc1\xa4\xc7\x42\x93\xbe\xce\xc0\x75\x70\x16\xfa\x6e\xda\xea\x9a\x07\x7a\x67\x3f\xf4\x75\xb4\xde\x84\xb3\xc0\x3b\x0f\xd0\x10\x3a\x78\x5c\x47\xb4\xa0\x8f\x4e\x64\x12\xe8\xbb\x8b\x71\xf7\x2f\x54\x51\x28\xdc\x06\xdd\x01\xba\xe0\x14\x7e\x63\x85\xa6\x33\x1f\x92\x4e\x44\x1c\xe7\x86\x81\x19\xb3\xe3\xad\x61\x17\x4b\x5b\x86\x77\xcc\x86\xb1\x3b\x4d\x6f\xfd\x45\x6d\xe8\x70\x4d\x89\xb1\xef\xea\x8d\xfe\x2e\x12\xfd\xf3\x74\x76\x05\x25\xaa\x9c\x67\x5d\x83\x3d\xcd\xd8\xc3\x50\x8f\xd5\xd3\x2c\x48\x7a\x3d\xed\x82\x87\x2e\x63\xfc\xbc\x82\x93\xe4\xa4\x33\x46\x7f\xa2\x13\x2d\x48\x7e\xe0\x6c\xfc\xd1\x91\x75\x67\x12\x7a\x2c\x52\x7c\xb7\x0b\xc7\x27\xc9\xc9\x90\xd3\xc6\x62\xe2\xb2\x82\x81\xf4\x27\x88\xc8\xe7\xde\xba\xf4\xe0\xd3\xf1\x5c\x38\xb9\xb8\xd4\xff\xbf\x9a\xce\x0e\x1f\x21\xfa\x2b\x95\x55\x41\xb6\x8f\x94\x36\xdb\xf2\x57\xa2\xc8\xa3\xe4\x2f\xdb\x40\xbc\xea\xb8\xfd\xcb\x7d\x7e\x0d\x52\x28\x93\x27\x7c\x35\x9e\xde\x9d\x23\x99\x08\x6e\xa8\x4a\x73\x1b\x96\x3e\x84\x52\x22\x71\x7f\x7f\xcf\x7b\xf2\x41\x1c\xef\x55\x30\x1d\x94\xd6\x9f\xa5\x72\x51\x99\x7b\x7a\x69\xd7\xf9\x90\x88\xce\x80\xc8\x1f\x76\x1b\xe2\x06\x9f\xf7\x83\xd7\x1a\xd3\x04\xf9\x51\xe6\x84\x10\xd9\xc3\xa0\x66\xf8\xf9\xa0\x45\xb3\xc7\x86\xac\xf5\xca\x70\xd4\xf4\xf1\x53\x62\x46\x09\x9c\xc5\x25\x6c\xf2\x5e\xff\x3a\x1e\x2c\xe3\x23\x5a\xe0\xbc\x23\xf6\xef\xcb\xcb\x0f\x17\xb4\xc0\xdd\x92\xb5\x28\xe6\x30\xc9\x95\xaa\xe4\xfc\xf8\x98\x48\x89\x4a\x26\x1b\x5c\x48\xaa\xf0\x48\xab\x95\x49\xca\xcb\xe3\x17\xcb\x97\x3f\xfe\xf2\x3c\x3d\x49\xff\x41\x7e\x4e\xb3\xec\xe5\xf3\x9f\x16\xcf\xd2\x9f\x7f\x3c\xe9\x3c\x20\x2f\x5e\xa4\x8b\x67\xe9\x2f\x3f\xbd\xfc\x7a\x51\xf0\xcd\xd7\x3f\xb9\xc8\x4a\x22\xae\x13\xb9\x5e\x4d\x46\xed\x18\xd8\xb9\xfe\x63\x3c\x62\x8b\x8f\x09\x2d\xc9\x0a\x8f\xe5\x7a\xf5\xf4\xa6\x2c\x86\xb5\xf5\xa3\x13\xb9\x56\x0e\xfb\x56\x4e\x3f\x9b\xc7\x5f\x86\xc5\xf7\xd9\x4f\x2e\xba\xe3\xbe\x66\xa4\xd4\x6b\x70\xe7\x40\xa3\xcc\x96\xe5\x93\x71\x07\xc8\x6d\xb9\xe0\x3a\x44\xef\x2e\x2e\x77\x0c\xcb\x50\xa6\x82\x56\x3a\x39\x9a\xc3\xe4\x52\xe7\x86\xfd\x73\xb2\x96\x98\x01\x31\x65\x89\xcb\x04\x74\x06\x9b\x63\x51\xc1\x96\xd7\x90\xe1\x1a\x0b\x6e\xfe\x16\xc0\x74\x46\x7e\x71\x09\x7f\xe3\x4c\x47\x32\xd9\x31\x37\xde\x28\x14\x8c\x14\xbf\x7f\xfc\xad\x8b\xc1\x77\xed\xa3\x69\x03\x32\x37\xf7\xd1\x52\x25\x9c\x2d\xb5\x72\x2e\x56\x93\x1d\x20\x28\xf8\x8a\xcb\xb9\x0b\xe1\x0e\x57\x71\x9d\xb8\xcb\xf9\x00\xad\x86\x9f\x89\xda\x50\xa5\x50\x4c\xf6\x32\xd6\x0d\x36\x9b\x40\xdb\xfa\x75\x51\xf0\xf4\x3a\xcd\x09\x65\x93\x61\xb8\x40\xef\xd0\xf6\x9f\x47\x73\x47\x48\x61\xe3\xec\x11\x54\xdf\x51\xba\xe1\xab\x70\x97\xaa\xee\x2c\xc0\x97\x82\x97\xf3\x5e\x66\x3b\xbe\xd0\x87\x55\xe2\xa6\x2c\xce\xac\xa1\x23\xde\xdb\xeb\xf0\xf2\xee\x18\xdf\x6e\x51\x45\xd3\x5d\xce\x38\x84\xe2\x42\xa5\x97\x5a\xef\xe2\x29\x6b\x62\x20\xd8\x66\xf5\xf7\xcf\xf7\x1b\x65\xd7\x98\xb5\x4d\x96\xd3\x27\xb7\x71\x5d\xe8\xb3\xf5\xbb\xc1\x3c\xa7\x6b\x45\x5f\xdd\x50\xac\x77\x28\xb2\xd5\xf2\xbb\xb2\x52\x5b\x33\xf8\xc2\xd5\xfa\x73\x98\x2e\x6b\xa6\x33\xc8\x7f\xde\x0e\x14\xae\x77\xf7\x6c\x3d\x17\xdc\xd3\xa3\xa6\xd3\xd2\x9d\x68\xba\x63\x4f\x0d\x3f\x7a\xe4\xa6\x8a\x53\xbf\xc7\x26\x52\x81\x96\x71\x2c\x46\x6d\xd0\xb1\x42\x60\x8f\xb5\xdd\x0d\x65\xeb\x8c\x16\x63\x65\xd3\x0a\x95\xd6\xcd\x85\xc2\xcc\x38\x57\xfb\x44\x02\x37\xa7\x04\x29\x8a\xad\xd3\x21\x81\x40\x41\xa5\xe9\x84\xd8\x5e\x99\x32\x03\x5d\xff\x85\xca\x06\xa6\x26\x01\xae\x5c\xff\x04\x76\x14\x1a\x03\xf3\x6a\xd0\xdc\x5a\x48\xbe\xe1\xbc\xe8\x42\x45\x13\x98\xf4\x52\x46\xa0\x33\xfc\x0c\x6e\x3b\xa5\x50\x34\xfa\xb3\xd9\x73\x2b\x34\x93\x4d\x67\x5f\xe0\x0c\x94\xa8\x71\xb0\xe4\x8c\x04\xf7\xae\x9f\xa8\xec\xaf\x6a\xaa\xc2\xbe\xa8\x36\x74\x47\x95\x3b\xe6\x97\xcf\xca\x14\x63\xe7\xe7\xb0\x24\x85\x1c\xad\x82\x37\x54\xe5\x99\x20\x9b\xf0\xc7\x68\x80\xdf\xa4\x2e\x70\xe4\xda\x76\x20\x6d\xaf\xdf\x9d\xfb\x44\xac\xea\x12\x99\x8a\x04\x09\xcb\x1a\xed\x2e\xec\x4e\xc8\x5c\x68\x34\xdd\xc7\x64\x74\xea\xff\x28\x47\x19\x1a\x4b\xa6\x0b\x86\x65\xc5\x05\x11\x5b\xd7\xb7\xf4\xd7\x17\x26\x05\xd1\x49\x07\x2f\xb2\x48\x83\xca\xd1\x5f\x65\x58\x03\x04\xc2\x02\x29\x5b\x81\x12\x84\xc9\x25\x0a\x81\x59\xa2\x27\xf2\xa0\xd5\x12\x0c\x37\xc1\xd6\xd1\x7a\x7c\x6f\xd1\x4d\xcb\xa3\x0e\xa3\xd1\x6c\x7b\x95\x20\x39\x50\x65\xda\x92\xa6\xa1\x57\x71\x9d\xf1\xc6\x36\x61\x21\x71\x93\xa3\xc0\xe1\x85\x3b\x94\xc4\x3c\xf8\xa7\xf3\xa3\x2d\x10\xbd\x57\x3b\x17\x2e\x9a\x3f\xfb\x8c\xbc\xbb\x65\x15\x7d\x3d\x72\x01\x1a\xc2\xda\xe9\x51\xd8\xeb\x6c\x1b\x63\x56\x62\x36\x06\x2f\xe7\x82\x87\xa1\xcb\xb9\x99\x2f\xfe\x8b\x69\x17\x62\x06\x56\x24\xcb\x64\xa4\x86\x2a\xd9\xf4\x93\x5c\x74\x3a\xed\x25\xbe\x61\x28\xe4\x1e\x88\xa3\x12\x48\x51\xf0\x8d\x45\x54\x86\x52\x09\x6e\x3b\xe2\x52\x4f\x6f\x4d\x5b\x60\x4a\x6a\x89\x2d\x88\xe3\x3d\xa5\x4d\x0e\xc0\xaa\x61\x89\xc2\x5b\xe2\x5a\xb9\xa6\xff\x6a\x64\xff\xde\xda\x9e\x93\x78\x5d\x0b\x44\xa6\x71\x26\xeb\x52\x27\xd9\x2c\xb3\x9d\xe9\x25\x37\x1d\x76\x07\x32\x63\xa1\xef\x93\x8f\xc0\xa9\x69\x2e\xb8\x80\xb8\x94\x6c\xf8\xbc\xed\x76\xaa\x9a\x34\x10\x4e\x8f\xec\xe6\xd5\xf5\xee\x00\xd6\xf6\x46\xda\x53\xd7\x9f\x1a\xea\x98\x46\x4f\x3a\xdd\x28\xb0\x45\x89\x09\x49\xdc\x30\xec\xe0\xae\x9b\x01\xec\x09\xc0\x98\x6e\x6c\xac\xf5\x6e\x03\x12\xe2\xe9\x2f\x14\xbc\x47\x75\x9e\x40\x68\xcb\x0f\xa4\x28\x34\xd5\x38\x9e\x48\xe0\xb5\xbd\x37\x28\x6b\x69\xf9\xc2\x1e\x83\xfe\xc6\xa3\xa7\xd1\xe4\xb5\x46\x93\xd5\xdd\xf0\x4f\xf7\x8a\x47\xff\xc0\x45\x66\xaf\x24\x0c\x78\xed\xf3\x58\xa3\xcd\xd7\xdd\x5d\x03\xb1\x25\x9c\x3f\x83\x3d\x2c\x64\x73\x07\x60\xcb\x3b\x7d\x86\xec\x87\xab\x7e\xca\xb5\x0f\x1b\xdd\x43\x2e\x27\xc9\x49\xc8\x2c\x10\x5f\x97\xd9\xbb\x94\x03\x18\xb9\x1d\xf2\xfc\x61\x99\xc5\x2c\x87\x98\xdb\x61\xe7\x09\x7b\x7b\xa4\xf7\xa6\xbf\x71\x79\xd8\x4d\x8b\xbb\xca\xb9\x8d\xbc\xac\xd5\xd8\x8b\xec\x3d\x11\xa7\x05\x64\x30\xf1\xa1\x21\x37\x1d\xbf\xd2\xe3\x48\x05\xf7\xe5\x87\xa3\xb8\x0b\x25\xba\xc8\xdb\x2b\x82\xad\xe9\x8f\x39\x57\x1e\xd3\xa5\x7e\x3a\x74\xde\x60\x49\x47\x5e\x2b\xb0\xff\xfb\xd7\x0a\xe2\xcc\x2c\x09\x6e\x32\xbe\xed\xf8\xea\x80\x6c\x90\x48\x42\xb8\x7d\x13\x81\x7c\x5f\xf2\xf8\xbe\xc4\xf1\x1d\x48\x63\x68\xff\x0c\x92\xc5\xda\x27\xae\x4d\xd6\xbb\x1b\x71\x4d\x54\xe1\x1e\xe2\x70\x91\x34\x97\x79\xe1\xb1\x66\xd0\x13\xc3\xf4\xd9\xc9\x89\x3e\x6a\xe2\x21\xdd\x17\x46\xe0\x0c\x8e\x9d\xf3\xa2\xd7\x09\xec\x7b\x27\xd1\xcd\xe3\x5b\x6b\x59\x7b\xcb\x6e\x70\xd0\xdd\xd0\xc6\x77\xee\x65\x1b\x1d\x3a\xb2\x46\x8d\x02\xca\xa2\xfb\x7b\xab\xb2\xf9\x33\x3a\x90\x87\x3d\xd0\x5d\xe0\x6c\xc8\x36\xe2\xae\x5c\xa1\x79\x95\x62\xdb\x69\xaa\x04\x79\x36\xde\x54\x5c\x62\xc8\x6b\xf6\x5e\xcc\xa1\xc0\xdf\x88\xd9\x97\x09\x50\xbd\x36\x45\x9d\x2b\x87\xfc\x33\x95\x0b\x5e\xaf\xac\x17\xae\x7c\xf7\xe1\x0a\x0c\x93\x2e\x49\x1a\x2e\xd6\x67\x3b\x70\x15\x5e\x62\x5d\x0d\x6a\x72\x8f\x87\x15\x45\x5e\x0b\x63\xf6\x96\x54\x3b\x5f\x29\xf1\x9d\x2d\x2a\x65\x8d\xa7\x4f\x5c\x7f\xc3\xa6\x27\x83\x6d\xac\x71\x55\xc6\xcd\x32\x9f\x76\xa6\x3f\x04\xa2\xe6\x2e\xe1\x69\x1b\x3b\xb3\xc8\x62\x5f\x25\x3f\xd0\xda\xf1\x4e\xcf\x37\x2d\x20\xb0\x26\x34\x3e\x6c\x67\xcd\x0e\x86\xf5\x79\x03\x35\xc4\xa7\xae\x59\x73\x08\x8a\xcf\x87\x77\x94\x7b\x41\x27\xf2\x85\x3d\xbf\x5b\xcc\xdb\x23\x78\x3a\xb2\x80\xce\x84\x46\xd8\x4e\x38\xb8\xb5\x3d\x61\xdc\x1d\xfc\x2f\x00\x00\xff\xff\xc5\xfd\x3b\xd3\x1d\x28\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xf5\x01\x3d\x1b\x4d\x9c\x74\xb7\xed\xed\x1a\x49\x73\x6d\xb7\xb9\x3b\x60\x0b\x14\x6d\x76\xf7\xa1\x28\x1a\x5a\x1a\xdb\xbc\x48\xa4\x40\x52\x76\xbc\x41\xbe\xfb\x61\x48\x4a\x22\xf5\xc7\x71\xd2\x3e\x9d\x1f\xda\xd8\xe2\x0c\x87\x33\x3f\xfe\x38\x33\x14\xcf\x0b\xa9\x0c\x5c\x94\x62\xc9\xe7\x19\x5e\xca\x6b\x14\xb0\x50\x32\x87\x51\xf4\xdb\xe8\xc0\x8f\x7c\x8f\x86\xa5\xcc\xb0\x3f\x38\x6e\xb4\x1f\x19\xfd\x56\x8f\x8c\xe4\xfb\xc4\x86\x07\xd4\x3a\xe8\xdb\x47\xd4\x32\x5b\xa3\xf2\x52\xe1\x4f\xa3\x83\x03\x96\x24\xa8\xf5\x98\x65\xd9\x04\x12\x29\x8c\x62\x89\x81\x77\x37\x2c\x2f\xbc\xe2\x59\x6b\x71\xb7\x07\x07\x00\x00\xc7\xc7\xc7\x70\xb9\x42\xc0\x35\x0a\x03\x66\xc5\x0c\x70\x0d\x98\x73\x63\x30\x85\xcd\x0a\x05\x08\xdc\x80\x21\x19\x0d\x4c\x21\xe4\x5c\x18\x4c\xad\x70\x38\xa9\x53\x60\x75\xeb\xf7\x76\xc8\x98\xe5\xb2\x14\x66\x06\xbf\x5f\xf0\x9b\x97\xcf\x0f\xc1\x6c\x0b\x9c\xc1\x27\xa3\xb8\x58\x4e\x82\xe9\xa5\x61\x19\xe8\xb2\x28\xb2\x2d\xc8\x45\x64\xb5\x06\x2e\x00\x6f\xb8\x36\x28\x12\xec\x4c\xba\x66\x0a\x0c\x89\x7f\xb2\xd2\xd5\x54\x8d\xee\xd7\x69\xce\x05\x7c\x60\x66\xd5\x91\xcd\xd0\xb8\xc7\x9f\x8c\x54\x6c\x89\x34\x88\xac\xab\xbf\x1c\x74\xa7\xe3\xb8\x81\x45\x29\x60\x89\xe6\xad\x77\xb2\x0d\xd4\x58\xa1\x96\xa5\x4a\xf0\xd2\x2e\x91\xfe\x3d\x9f\xcc\xe0\x33\xfd\xf1\x05\x6e\xad\x22\xfa\xd0\x9c\x6b\x56\x66\xe6\x23\x2e\xe0\x0c\x34\x66\x8b\x29\x4b\x12\x72\xd3\x34\x61\x05\x9b\xf3\x8c\x1b\x8e\x7a\x3a\x97\x4a\xc9\xcd\xe9\x93\xd0\x17\xd3\x3f\x48\xf2\xd5\xf8\xb8\x28\xe7\x19\x4f\x8e\x31\x78\x66\x1f\x4d\xea\x79\xe8\x73\x7e\x0e\x05\x13\x3c\x19\x8f\xde\xca\x32\x4b\x41\x48\x03\x4e\x2d\x30\x50\xb8\x40\x45\x2e\x05\x23\xc1\xac\xd0\x59\x05\xaa\x02\x54\xa3\xaa\xfe\x43\xa1\x29\x95\xa8\xcd\x9f\x2e\xd1\xaf\xdd\x8d\xbd\xeb\xba\x8b\x3c\xe5\x35\x86\xde\xea\x73\xd6\xa1\xf5\x6d\xf3\xc3\x64\x06\xaf\xc5\xf6\x93\x51\x65\x62\xce\xff\x4f\x1d\xe8\xc7\x5a\x97\xd0\xea\x23\x3f\x12\x78\xad\x4d\xd5\xb7\xfa\xd7\x77\x2c\x59\x41\xa9\x51\x81\x36\x52\xa1\x06\x26\x80\x0b\x6d\x18\x19\x23\x17\x20\x45\xb6\xb5\x16\x59\x71\xda\x3f\x66\x85\xdc\x8d\x66\x4b\x8c\x76\xfd\xa2\x14\x89\xe1\xd2\x6d\xb3\x46\x86\x89\x14\x96\x72\x8d\x4a\x60\x0a\x73\xa7\xad\x50\x68\x7f\x2f\xa4\x36\xc4\x30\x29\xb7\x82\xb5\x3a\x2e\x5a\x04\x63\xb9\xc3\xac\x70\x6b\x59\x23\x61\x59\x86\xe9\x34\x9a\x3d\x59\x61\x72\xad\x61\xc5\x8a\x02\x05\x30\x03\xaa\x14\x86\xe7\x68\x45\x91\xa8\x8e\xd5\x16\x12\x2b\xb5\x74\xd4\xba\x3e\x7a\x3c\xd1\x08\xe1\xd6\x3f\x47\x48\x14\x32\xe2\x30\xbf\x32\x22\x45\xbc\x31\xe4\xa1\xea\xab\xe5\x48\x4b\x79\x64\x66\xad\x8e\xcc\x4d\x71\xc1\x85\x15\x3e\x04\x6d\x03\xac\x90\x4c\x10\x12\x36\x6c\x0b\x0b\x49\xb6\xe5\x2c\xe3\x09\x97\xa5\x76\xe1\x30\xd2\xcf\xe9\xbc\xd8\xb8\x46\x96\x7e\x5a\x2e\x80\x71\x35\x85\xd7\xa0\x0b\x4c\x38\xcb\xc0\x32\xa5\x82\x6a\x47\x80\x40\x4c\x35\x69\x9a\x37\x36\x18\x69\x39\xb7\x56\xd7\xf0\x71\xec\x8a\x70\xeb\xd5\x0a\xad\x29\x2d\xee\x77\xfb\xa0\x3a\x01\xc2\x88\x58\x2e\x85\x39\xcb\x2a\x30\x99\x15\xd7\x0e\xb1\xf5\xd8\x36\xff\xfa\xd1\x31\xf7\xf6\x0d\xd4\x43\x3c\x3b\x24\xe0\xb6\xa9\x1b\xff\xa1\xfe\x7b\x70\xb8\xc2\x04\xf9\x1a\x55\x47\x20\x58\x26\x70\xc1\x0d\x67\x19\xff\x0b\x2d\x0c\xaa\xa5\x32\xd3\xb8\xcc\x06\x91\x20\x47\x58\xac\x65\x49\x70\xdc\x5a\xeb\x24\x60\x26\xfa\x58\x3a\xaa\x54\x9e\x55\xca\xa3\x21\x44\x60\x3c\x45\x61\xf8\x82\xa3\x82\x33\x18\x75\x58\x68\xd4\xd5\x19\xb8\x0e\xce\x42\xdf\x8d\x1b\x5d\xb3\x40\xef\xe4\x87\xae\x8e\xc6\x9b\x70\x16\x78\xe7\x01\x1a\x42\x07\x0f\xeb\x88\x16\xf4\xd1\x8b\x8c\x02\x7d\x77\x31\xee\xfe\x85\x26\x0a\x85\xdf\xa0\x3b\x40\x17\x9c\xc2\x6f\x9c\xd0\x78\x52\x85\xa4\x15\x11\xcf\xb9\x61\x60\x86\xec\x78\x6b\xd9\xc5\xd1\x96\xe5\x1d\xbb\x61\xdc\x4e\xa3\xad\x3f\x2f\x2d\x1d\xae\x39\xb3\xf6\x5d\xbd\xa1\xef\x6a\x4a\x3f\x8f\x27\x57\x90\xa3\x59\xc9\xb4\x6d\x70\x45\x33\xee\x30\xa4\xb1\x34\xcd\x9c\x25\xd7\xe3\x36\x78\xf8\x22\xc6\xcf\x2b\x38\x99\x9e\xb4\xc6\xd0\x27\x3a\xd1\x82\xe4\x07\xce\x86\x1f\x1d\xf5\x7b\xc0\x79\x61\x07\x82\x4f\xa6\x27\x7d\xee\x1a\x8a\x86\xcf\x07\x7a\x12\x9f\x20\x16\x9f\x3b\x2b\xa2\xc1\xa7\xc3\x59\xf0\xf4\xe2\x92\xfe\x7f\x35\x9e\x1c\x3e\x42\xf4\x57\xae\x8b\x8c\x6d\x1f\x29\x6d\x37\xe4\xaf\xcc\xb0\x47\xc9\x5f\x36\x21\x78\x35\x8e\x93\x8b\x2f\xf7\xf9\x35\x48\x9e\x6c\x86\xf0\xd5\x7a\x7a\x77\x76\x64\x23\xb8\xe1\x26\x59\xb9\xb0\x74\xc1\x93\x30\x8d\xfb\xfb\x7b\xd6\x91\x0f\xe2\x78\xaf\x82\x71\xaf\x34\x7d\x16\xc6\x47\x65\x56\x11\x4b\xb3\xce\x87\x44\x74\x02\x4c\xff\xb0\xdb\x10\x3f\xf8\xbc\x1b\xbc\xc6\x98\x3a\xc8\x8f\x32\x27\x84\xc8\x1e\x06\xd5\xc3\xcf\x7b\x2d\x9a\x3c\x36\x64\x8d\x57\xfa\xa3\x46\x07\x4f\x8e\x29\x67\x70\x16\x17\xaf\xd3\xf7\xf4\xeb\x70\xb0\xac\x8f\x78\x86\xb3\x96\xd8\xbf\x2f\x2f\x3f\x5c\xf0\x0c\x77\x4b\x96\x2a\x9b\xc1\x68\x65\x4c\xa1\x67\xc7\xc7\x4c\x6b\x34\x7a\xba\xc1\xb9\xe6\x06\x8f\x48\xad\x9e\x26\x32\x3f\x7e\xb1\x78\xf9\xe3\x2f\xcf\x93\x93\xe4\x1f\xec\xe7\x24\x4d\x5f\x3e\xff\x69\xfe\x2c\xf9\xf9\xc7\x93\xd6\x03\xf6\xe2\x45\x32\x7f\x96\xfc\xf2\xd3\xcb\xaf\x17\x99\xdc\x7c\xfd\x53\xaa\x34\x67\xea\x7a\xaa\xd7\xcb\xd1\xa0\x1d\x3d\x3b\xb7\xfa\x58\x8f\xb8\xb2\x63\xc4\x73\xb6\xc4\x63\xbd\x5e\x3e\xbd\xc9\xb3\x7e\x6d\xdd\xe8\x44\xae\xd5\xfd\xbe\xd5\xe3\xcf\xf6\xf1\x97\x7e\xf1\x7d\xf6\x93\x8f\xee\xb0\xaf\x05\xcb\x69\x0d\xfe\x04\xa8\x95\xb9\x82\x7c\x34\xec\x00\xbd\xcd\xe7\x92\x42\xf4\xee\xe2\x72\xc7\xb0\x14\x75\xa2\x78\x41\x69\xd1\x0c\x46\x97\x94\x15\x76\x4f\xc8\x52\x63\x0a\xcc\x16\x24\x3e\x07\xa0\xdc\x75\x85\x59\x01\x5b\x59\x42\x8a\x6b\xcc\xa4\xfd\x5b\x81\xa0\x5c\xfc\xe2\x12\xfe\x26\x05\x45\x72\xba\x63\x6e\xbc\x31\xa8\x04\xcb\x7e\xff\xf8\x5b\x1b\x83\xef\x9a\x47\xe3\x1a\x64\x7e\xee\xa3\x85\x99\x4a\xb1\x20\xe5\x52\x2d\x47\x3b\x40\x90\xc9\xa5\xd4\x33\x1f\xc2\x1d\xae\x92\x94\xb2\xeb\x59\x0f\xad\x86\x9f\x91\xd9\x70\x63\x50\x8d\xf6\x32\xd6\x0f\xb6\x9b\x80\x6c\xfd\x3a\xcf\x64\x72\x9d\xac\x18\x17\xa3\x7e\xb8\x40\xe7\xd0\xae\x3e\x8f\xe6\x8e\x90\xc2\x86\xd9\x23\xa8\xbb\xa3\x44\xa3\xaa\xbf\x7d\x92\xba\xb3\xf4\x5e\x28\x99\xcf\x3a\x39\xed\xf0\x42\x1f\x56\x83\xdb\x82\x38\x75\x86\x0e\x78\x6f\xaf\xc3\xab\x72\xc7\xf0\x76\x8b\x6a\x99\xf6\x72\x86\x21\x14\x97\x28\x9d\xa4\x7a\x17\x4f\x39\x13\x03\xc1\x26\x9f\xbf\x7f\xbe\xdf\xb8\xb8\xc6\xb4\x69\xaf\x9c\x3e\xb9\x8d\x2b\xc2\x2a\x4f\xbf\xeb\xcd\x73\xda\x56\x74\xd5\xf5\xc5\x7a\x87\x22\x57\x27\xbf\xcb\x0b\xb3\xb5\x83\x2f\x7c\x95\x3f\x83\xf1\xa2\x14\x94\x41\xfe\xf3\xb6\xa7\x64\xbd\xbb\x67\xeb\xf9\xe0\x9e\x1e\xd5\x3d\x96\xf6\x44\xe3\x1d\x7b\xaa\xff\xd1\x23\x37\x55\x9c\xfa\x3d\x36\x91\x0a\xb4\x0c\x63\x31\x6a\x80\x0e\x95\x00\x7b\xac\xed\xae\x2f\x5b\x17\x3c\x1b\x2a\x98\x96\x68\x48\xb7\x54\x06\x53\xeb\x5c\xf2\x89\x06\x69\x4f\x09\x96\x65\x5b\xaf\x43\x03\x83\x8c\x6b\xdb\x03\x71\x5d\x32\x63\x07\xfa\xce\x0b\xd7\x35\x4c\x6d\x02\x5c\xf8\xce\x09\xec\x28\x34\x7a\xe6\x25\xd0\xdc\x3a\x48\xbe\x91\x32\x6b\x43\x85\x08\x4c\x57\x52\x56\xa0\x35\xfc\x0c\x6e\x5b\xa5\x50\x34\xfa\xb3\xdd\x73\x4b\xb4\x93\x8d\x27\x5f\xe0\x0c\x8c\x2a\xb1\xb7\xd8\x8c\x04\xf7\xae\x9f\xb8\xee\xae\x6a\x6c\xc2\x8e\x28\x19\xba\xa3\xbe\x1d\xf2\xcb\x67\x63\x8b\xb1\xf3\x73\x58\xb0\x4c\x0f\xd6\xbf\x1b\x6e\x56\xa9\x62\x9b\xf0\xc7\x68\x40\xb5\x49\x7d\xe0\xd8\xb5\xeb\x3d\xba\x2e\xbf\x3f\xf7\x99\x5a\x96\x39\x0a\x13\x09\x32\x91\xd6\xda\x7d\xd8\xbd\x90\xbd\xca\xa8\xfb\x8e\xd3\xc1\xa9\xff\x63\x3c\x65\x10\x96\x6c\xff\x0b\xf3\x42\x2a\xa6\xb6\xbe\x63\x59\x5d\x5c\xd8\x14\x84\x92\x0e\x99\xa5\x91\x06\xb3\xc2\xea\x12\xc3\x19\xa0\x10\xe6\xc8\xc5\x12\x8c\x62\x42\x2f\x50\x29\x4c\xa7\x34\x51\x05\x5a\x92\x10\xb8\x09\xb6\x0e\xe9\xa9\xba\x8a\x7e\x5a\x19\xf5\x16\xad\x66\xd7\xa5\x04\x2d\x81\x1b\xdb\x90\xb4\xad\xbc\x42\x52\xc6\x1b\xdb\x84\x99\xc6\xcd\x0a\x15\xf6\x2f\xdc\xa3\x24\xe6\xc1\x3f\xbd\x1f\x5d\x81\x58\x79\xb5\x75\xd5\x42\xfc\xd9\x65\xe4\xdd\xcd\xaa\xe8\xeb\x91\x0f\x50\x1f\xd6\x4e\x8f\xc2\x2e\x67\xd3\x12\x73\x12\x93\x21\x78\x79\x17\x3c\x0c\x5d\xde\xcd\x72\xfe\x5f\x4c\xda\x10\xb3\xb0\x62\x69\xaa\x23\x35\xdc\xe8\xba\x93\xe4\xa3\xd3\x6a\x2c\xc9\x8d\x40\xa5\xf7\x40\x1c\xd7\xc0\xb2\x4c\x6e\x1c\xa2\x52\xd4\x46\x49\xd7\x0b\xd7\x34\xbd\x33\x6d\x8e\x09\x2b\x35\x36\x20\x8e\xf7\x14\x99\x1c\x80\x95\x60\x89\xaa\xb2\xc4\x37\x71\x6d\xe7\xd5\xca\xfe\xbd\xb1\x7d\xc5\xe2\x75\xcd\x11\x05\xe1\x4c\x97\x39\x25\xd9\x22\x75\x3d\xe9\x85\xb4\xbd\x75\x0f\x32\x6b\x61\xd5\x21\x1f\x80\x53\xdd\x5c\xf0\x01\xf1\x29\x59\xff\x79\xdb\xee\x51\xd5\x69\x20\x9c\x1e\xb9\xcd\x4b\xf5\x6e\x0f\xd6\xf6\x46\xda\x53\xa7\xaf\xb7\x35\x15\x3d\x69\x75\xa3\xc0\x15\x25\x36\x24\x71\xab\xb0\x85\xbb\x76\x06\xb0\x27\x00\x63\xba\x71\xb1\xa6\xdd\x06\x2c\xc4\xd3\x5f\xa8\x64\x87\xea\x2a\x02\xe1\x0d\x3f\xb0\x2c\x23\xaa\xf1\x3c\x31\x85\xd7\xee\xc6\x20\x2f\xb5\xe3\x0b\x77\x0c\x56\x77\x1d\x1d\x8d\x36\xaf\xb5\x9a\x9c\xee\x9a\x7f\xda\x97\x3b\xf4\x83\x54\xa9\xbb\x8c\xb0\xe0\x75\xcf\x63\x8d\x2e\x5f\xf7\xb7\x0c\xcc\x95\x70\xd5\x19\x5c\xc1\x42\xd7\xdd\x7f\x57\xde\xd1\x19\xb2\x1f\xae\xba\x29\xd7\x3e\x6c\x74\x0f\xb9\x9c\x4c\x4f\x42\x66\x81\xf8\xa2\xcc\xdd\xa2\x1c\xc0\xc0\xbd\x50\xc5\x1f\x8e\x59\xec\x72\x98\xbd\x17\xf6\x9e\x70\xf7\x46\xb4\x37\xab\xbb\x96\x87\xdd\xb1\xf8\x4b\x9c\xdb\xc8\xcb\xa4\xc6\x5d\x61\xef\x89\x38\x12\xd0\xc1\xc4\x87\x96\xdc\x28\x7e\x79\x85\x23\x13\xdc\x94\x1f\x0e\xe2\x2e\x94\x68\x23\x6f\xaf\x08\x36\xa6\x3f\xe6\x5c\x79\x4c\x7f\xfa\x69\xdf\x79\x83\x39\x1f\x78\xa1\xc0\xfd\x5f\xbd\x50\x10\x67\x66\xd3\xe0\x0e\xe3\xdb\x8e\xaf\x16\xc8\x7a\x89\x24\x84\xdb\x37\x11\xc8\xf7\x25\x8f\xef\x4b\x1c\xdf\x81\x34\xfa\xf6\x4f\x2f\x59\xac\xab\xc4\xb5\xce\x7a\x77\x23\xae\x8e\x2a\xdc\x43\x1c\x3e\x92\xf6\x1a\x2f\x3c\xd6\x2c\x7a\x62\x98\x3e\x3b\x39\xa1\xa3\x26\x1e\xd2\x7e\x55\x04\xce\xe0\xd8\x3b\x2f\x7a\x91\xc0\xbd\x71\x12\xdd\x39\xbe\x75\x96\x35\xf7\xeb\x16\x07\xed\x0d\x6d\x7d\xe7\x5f\xb3\xa1\xd0\xb1\x35\x12\x0a\xb8\x88\x6e\xee\x9d\xca\xfa\xcf\xe8\x40\xee\xf7\x40\x7b\x81\x93\x3e\xdb\x98\xbf\x6c\x85\xfa\x25\x8a\x6d\xab\xa9\x12\xe4\xd9\x78\x53\x48\x8d\x21\xaf\xb9\x1b\x31\x8f\x82\xea\x2e\xcc\xbd\x46\x80\xe6\xb5\x2d\xea\x7c\x39\x54\x3d\x33\x2b\x25\xcb\xa5\xf3\xc2\x55\xd5\x7d\xb8\x02\xcb\xa4\x0b\x96\x84\x8b\xad\xb2\x1d\xb8\x0a\x2f\xfc\xae\x7a\x35\xf9\xc7\xfd\x8a\x22\xaf\x85\x31\x7b\xcb\x8a\x9d\x2f\x93\x54\x9d\x2d\xae\x75\x89\xa7\x4f\x7c\x7f\xc3\xa5\x27\xbd\x6d\xac\x61\x55\xd6\xcd\x7a\x35\x6e\x4d\x7f\x08\xcc\xcc\x7c\xc2\xd3\x34\x76\x26\x91\xc5\x55\x95\xfc\x40\x6b\x87\x3b\x3d\xdf\xb4\x80\xc0\x9a\xd0\xf8\xb0\x9d\x35\x39\xe8\xd7\x57\x19\x48\x10\x1f\xfb\x66\xcd\x21\x18\x39\xeb\xdf\x51\xfe\xd5\x9c\xc8\x17\xee\xfc\x6e\x30\xef\x8e\xe0\xf1\xc0\x02\x5a\x13\x5a\x61\x37\x61\xef\xd6\xae\x08\xe3\xee\xe0\x7f\x01\x00\x00\xff\xff\x01\x0f\xa6\xc7\x17\x28\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,7 +95,7 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x91, 0x8e, 0x36, 0x32, 0xc1, 0xf7, 0xd8, 0x11, 0xb2, 0x6a, 0x93, 0x8f, 0x59, 0x9f, 0xa0, 0xf6, 0xc2, 0xe4, 0xe7, 0xe, 0x81, 0x15, 0xa7, 0x8e, 0xa3, 0x72, 0x4d, 0x59, 0xe5, 0x21, 0x2e, 0x87}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x22, 0x95, 0xeb, 0x47, 0x55, 0xd5, 0xdd, 0xba, 0x6d, 0xf2, 0x4d, 0xbb, 0x60, 0x5a, 0x7d, 0x93, 0xbe, 0x1, 0x90, 0x5f, 0xc0, 0xa8, 0x59, 0xd4, 0xba, 0x49, 0x0, 0x5a, 0x28, 0x42, 0x61, 0xa5}}
 	return a, nil
 }
 

From 5a1cf77779a593b72772522a76ca390a9a12576f Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 24 Jan 2024 15:09:18 -0600
Subject: [PATCH 081/115] use conditional downcasting

---
 contracts/utility/Burner.cdc               | 6 +++---
 lib/go/contracts/internal/assets/assets.go | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/contracts/utility/Burner.cdc b/contracts/utility/Burner.cdc
index a32fe46a..0a3795e8 100644
--- a/contracts/utility/Burner.cdc
+++ b/contracts/utility/Burner.cdc
@@ -21,16 +21,16 @@ access(all) contract Burner {
     /// If the provided resource implements the Burnable interface,
     /// it will call the burnCallback method and then destroy afterwards.
     access(all) fun burn(_ r: @AnyResource) {
-        if let s <- r as @{Burnable} {
+        if let s <- r as? @{Burnable} {
             s.burnCallback()
             destroy s
-        } else if let arr <- r as @[AnyResource] {
+        } else if let arr <- r as? @[AnyResource] {
             while arr.length > 0 {
                 let item <- arr.removeFirst()
                 self.burn(<-item)
             }
             destroy arr
-        } else if let dict <- r as @{HashableStruct: AnyResource} {
+        } else if let dict <- r as? @{HashableStruct: AnyResource} {
             let keys = dict.keys
             while keys.length > 0 {
                 let item <- dict.remove(key: keys.removeFirst())!
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 2e47dbcb..345f31cf 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -4,7 +4,7 @@
 // ../../../contracts/FungibleToken.cdc (10.872kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
-// ../../../contracts/utility/Burner.cdc (1.879kB)
+// ../../../contracts/utility/Burner.cdc (1.882kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.61kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (10.391kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.869kB)
@@ -159,7 +159,7 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityBurnerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x8a\xe3\x46\x10\xbd\xcf\x57\xbc\xdc\xec\x61\xc6\xde\x5c\xcd\x26\xec\xac\xb3\x4b\x42\x48\x02\xc9\x40\x0e\x21\x2c\xad\x56\xc9\x6a\xdc\xae\x36\xdd\xa5\x11\xca\xe0\x3f\xcb\x2d\x3f\x16\xaa\x65\xb5\xb5\xce\x0c\xe4\xb0\x82\x81\x41\x7a\x55\xef\xd5\xab\x57\x5e\xaf\xd7\x78\xdf\x45\xa6\x08\x97\x60\x60\x03\x4b\x34\x56\x20\xad\x11\x58\xc3\x68\x8c\x75\xde\x89\x11\x82\xb4\x84\x9a\x92\xc4\xce\x8a\x0b\x8c\xd0\xc0\xf0\x80\x48\x29\x74\xd1\x12\x02\xa3\xf1\xa1\x5f\xdd\xac\xd7\x6b\xfd\xc3\x56\xbb\xb9\xaa\x93\x10\x53\x7e\x71\x8f\x87\x2e\x89\x63\xfc\xe8\x1d\x13\xee\xd1\x8a\x1c\xd3\x66\xbd\x96\xde\x89\x50\x5c\xd9\x70\x58\x9b\x0c\xf9\xa4\xad\x64\x38\x97\x7d\x47\xec\xfe\xc2\x87\xda\xb1\x75\xfb\x57\xea\x2a\xdf\x51\x72\x3b\x3e\x97\xbc\x37\x49\x9c\x61\xfc\xf4\xcf\xdf\xde\x53\x7c\xa5\x48\xba\x58\x05\x4f\x2c\x37\xc6\x5a\x4a\x69\x61\xbc\x5f\x5e\x6c\x38\x7b\xf3\x7c\x03\x00\xda\xf7\xf7\x96\x18\xdb\x48\xc9\x12\xd7\x01\x8b\xad\xa9\x89\x2d\xe1\xeb\xd5\x9b\xa5\x5a\x18\xc9\x93\x49\x54\xdf\xc1\x76\x49\xc2\xa1\x18\x16\x62\x42\xef\xbc\x47\x45\x88\x74\x08\x4f\x54\xa3\x89\xe1\x00\x6b\x6a\xb2\xb4\x2a\x0c\x4a\x69\x2a\x4f\x79\x21\x0c\xc7\x42\xb1\x31\x96\x70\x20\xc3\x02\x09\x88\x74\xf4\xfa\x42\x5a\x97\xe0\x43\x12\x34\x64\xa4\x8b\x74\x07\xe3\x7d\xe8\x1d\xef\x74\x31\x81\x49\xd1\xa6\xae\x75\xb1\xc6\xfb\xca\xd8\x7d\xa1\x39\x90\xb4\xa1\x56\x00\x71\xea\x62\xde\xee\x80\x3a\x80\x83\x8c\xa2\xc3\x80\x14\x14\xa6\xfd\xfa\xd6\xd9\x56\x25\xe9\xe7\xa2\xa4\xa2\xbb\xd2\x30\xc4\x89\xcd\x87\x9d\xb3\xa8\xd4\x06\xcd\xc4\x3c\x32\xa9\xb3\x2d\x4c\x82\xba\xbb\xd7\xbe\x9a\xa9\xd4\x1d\x8f\x7e\xc8\x71\xc2\xc7\x47\x6c\x83\xf7\x94\xe1\x53\xef\xc2\xf1\xf3\x2f\x8f\x1f\x36\x78\x6c\x35\x6b\x7e\x40\x6f\x06\xe5\x4c\x44\xa8\x88\xa9\x71\x32\x5a\x9a\x8d\x29\xc6\x95\x6a\x97\xb2\x42\xdf\x9b\x21\xa1\x4b\x63\xa0\xab\x2e\xf2\x64\x86\xe3\xb1\x74\x5a\xff\x0a\x0f\xa3\x8d\x7d\x1b\x10\x7a\xd6\x0b\x29\x69\xd7\xe3\x38\xf7\x22\xd5\x8b\xdb\x5b\x0e\x72\x7b\x5b\xe8\x24\x14\x1f\x67\x65\x99\xa0\x37\x43\x86\xcd\x33\x57\x10\x97\x8d\x97\x28\x8c\xf9\x9b\x55\x4c\x0a\x97\x68\x3a\xce\x33\x6c\xcf\x0b\x5e\x2c\x33\xf6\x74\x53\x74\xe4\x09\xf3\x75\xef\x7c\xa8\x8c\x9f\xa6\x1d\x57\x9a\x33\x59\x74\xce\xcf\xd9\x89\x56\xed\xdc\x13\xf1\x25\x9d\x3f\x34\xd9\xb5\x63\x0c\x4f\xae\xa6\x7a\x86\x3e\x1c\x3d\x1d\x88\x25\x65\xc0\x25\xc5\xd3\x34\x97\xa4\x38\x19\x59\x35\x93\x65\x07\x93\xfe\x49\x9d\xe1\x5a\xbf\xf1\x45\x5b\x23\x14\x7b\x13\xeb\xb4\xfa\x8f\x77\x93\x09\x8b\x4f\x88\x1b\xbc\x7b\xe0\xe1\xd7\xb3\xae\xe5\xcc\x3b\xd7\xc0\x93\x20\xe1\xed\x3d\xa2\xa6\xf0\xdd\xf3\x24\xf3\x34\x83\xe9\x93\x56\x2f\x78\x3a\x3d\xe5\x3a\xca\xdb\x13\xc8\x27\x9a\x08\x4c\x8c\x17\x8a\x3f\x66\x62\xfe\xbc\x62\xe9\x5b\xe7\x49\xe1\x2b\x4f\xbc\x93\x16\xdf\xe2\xcd\x15\x44\x1f\xed\xe9\x84\x0e\xda\x54\xc1\xe3\xcf\xc7\x47\x17\x93\x5c\x29\xcb\xd2\xc9\x37\x59\xfd\xe2\xed\xbd\x56\x7d\x8e\x38\xbd\x38\x89\x89\xf1\x95\x59\x6a\x67\x65\xe6\xd7\xf7\x26\xb5\xea\xd7\x6f\xf9\xa2\x37\x98\x0d\x77\x6d\xa1\x56\xef\x69\x48\xf8\x26\x37\x59\xe9\xff\x2f\x4c\xaf\xaf\xff\xff\xf8\xb9\xd3\x38\xff\x62\x4f\xc3\x66\x2c\xff\xcc\x90\xe5\x57\x5f\xc4\x12\x65\xba\xf6\xe4\xf9\x45\xe4\xcc\xba\xf3\xe9\x9d\xfe\x0d\x00\x00\xff\xff\xc4\xc8\xb1\xbd\x57\x07\x00\x00"
+var _utilityBurnerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x8e\xe3\x44\x10\xbd\xcf\x57\x3c\x6e\xc9\x68\x26\x59\xae\xd1\x02\x3b\x1b\x76\x05\x42\x80\x04\x23\x71\x40\x68\xd5\x6e\x97\xe3\x56\x3a\xd5\x51\x77\x79\x2c\x33\xca\x9f\x71\xe3\xc7\x50\xb5\xe3\x8e\x37\xcc\x48\x1c\xb0\x34\xd2\xc8\x7e\x55\xef\xd5\xab\x57\x59\xaf\xd7\x78\xdf\x45\xa6\x08\x97\x60\x60\x03\x4b\x34\x56\x20\xad\x11\x58\xc3\x68\x8c\x75\xde\x89\x11\x82\xb4\x84\x9a\x92\xc4\xce\x8a\x0b\x8c\xd0\xc0\xf0\x80\x48\x29\x74\xd1\x12\x02\xa3\xf1\xa1\x5f\xdd\xac\xd7\x6b\xfd\xc3\x56\xbb\xb9\xaa\x93\x10\x53\x7e\x71\x8f\x87\x2e\x89\x63\xfc\xe0\x1d\x13\xee\xd1\x8a\x1c\xd3\x66\xbd\x96\xde\x89\x50\x5c\xd9\x70\x58\x9b\x0c\xf9\xa4\xad\x64\x38\x97\x7d\x4b\xec\xfe\xc4\x87\xda\xb1\x75\xfb\x57\xea\x2a\xdf\x51\x72\x3b\x3e\x97\xbc\x37\x49\x9c\x61\xfc\xf8\xf7\x5f\xde\x53\x7c\xa5\x48\xba\x58\x05\x4f\x2c\x37\xc6\x5a\x4a\x69\x61\xbc\x5f\x5e\x6c\x38\x7b\xf3\x7c\x03\x00\xda\xf7\xb7\x96\x18\xdb\x48\xc9\x12\xd7\x01\x8b\xad\xa9\x89\x2d\xe1\xcb\xd5\x9b\xa5\x5a\x18\xc9\x93\x49\x54\xdf\xc1\x76\x49\xc2\xa1\x18\x16\x62\x42\xef\xbc\x47\x45\x88\x74\x08\x4f\x54\xa3\x89\xe1\x00\x6b\x6a\xb2\xb4\x2a\x0c\x4a\x69\x2a\x4f\x79\x21\x0c\xc7\x42\xb1\x31\x96\x70\x20\xc3\x02\x09\x88\x74\xf4\xfa\x42\x5a\x97\xe0\x43\x12\x34\x64\xa4\x8b\x74\x07\xe3\x7d\xe8\x1d\xef\x74\x31\x81\x49\xd1\xa6\xae\x75\xb1\xc6\xfb\xca\xd8\x7d\xa1\x39\x90\xb4\xa1\x56\x00\x71\xea\x62\xde\xee\x80\x3a\x80\x83\x8c\xa2\xc3\x80\x14\x14\xa6\xfd\xfa\xd6\xd9\x56\x25\xe9\xe7\xa2\xa4\xa2\xbb\xd2\x30\xc4\x89\xcd\x87\x9d\xb3\xa8\xd4\x06\xcd\xc4\x3c\x32\xa9\xb3\x2d\x4c\x82\xba\xbb\xd7\xbe\x9a\xa9\xd4\x1d\x8f\x7e\xc8\x71\xc2\xc7\x47\x6c\x83\xf7\x94\xe1\x53\xef\xc2\xf1\xd3\xcf\x8f\x1f\x36\x78\x6c\x35\x6b\x7e\x40\x6f\x06\xe5\x4c\x44\xa8\x88\xa9\x71\x32\x5a\x9a\x8d\x29\xc6\x95\x6a\x97\xb2\x42\xdf\x9b\x21\xa1\x4b\x63\xa0\xab\x2e\xf2\x64\x86\xe3\xb1\x74\x5a\xff\x0a\x0f\xa3\x8d\x7d\x1b\x10\x7a\xd6\x0b\x29\x69\xd7\xe3\x38\xf7\x22\xd5\x8b\xdb\x5b\x0e\x72\x7b\x5b\xe8\x24\x14\x1f\x67\x65\x99\xa0\x37\x43\x86\xcd\x33\x57\x10\x97\x8d\x97\x28\x8c\xf9\x9b\x55\x4c\x0a\x97\x68\x3a\xce\x33\x6c\xcf\x0b\x5e\x2c\x33\xf6\x74\x53\x74\xe4\x09\xf3\x75\xef\x7c\xa8\x8c\x9f\xa6\x1d\x57\x9a\x33\x59\x74\xce\xcf\xd9\x89\x56\xed\xdc\x13\xf1\x25\x9d\xdf\x37\xd9\xb5\x63\x0c\x4f\xae\xa6\x7a\x86\x3e\x1c\x3d\x1d\x88\x25\x65\xc0\x25\xc5\xd3\x34\x97\xa4\x38\x19\x59\x35\x93\x65\x07\x93\xfe\x49\x9d\xe1\x5a\xbf\xf1\x45\x5b\x23\x14\x7b\x13\xeb\xb4\xfa\x97\x77\x93\x09\x8b\x4f\x88\x1b\xbc\x7b\xe0\xe1\x97\xb3\xae\xe5\xcc\x3b\xd7\xc0\x93\x20\xe1\xed\x3d\x22\x4c\xfa\x06\xef\x9e\x27\x9d\xa7\x19\x4e\x9f\xb4\x7a\xc1\xd4\xe9\x29\xe7\x51\xde\x9e\x40\x3e\xd1\xc4\x60\x62\x9c\x71\xfc\x3e\x93\xf3\xc7\x15\x4d\xdf\x3a\x4f\x8a\x5f\x79\xe2\x9d\xb4\xf8\x1a\x6f\xae\x20\xfa\x68\x53\x27\x74\xd0\xae\x0a\x1e\x7f\x40\x3e\xba\x98\xe4\x4a\x5a\xd6\x4e\xbe\xc9\xf2\x17\x6f\xef\xb5\xea\x73\xc4\xe9\xc5\x51\x4c\x8c\xaf\x0c\x53\x3b\x2b\x73\xc7\xbe\x33\xa9\x55\xc7\x7e\xcd\x47\xbd\xc1\x6c\xba\x6b\x13\xb5\x7c\x4f\x43\xc2\x57\xb9\xcb\x4a\xff\x7f\x61\x7c\x7d\xfd\xdf\xe7\xcf\x9d\x46\x03\x16\x7b\x1a\x36\x63\xf9\x67\x8e\x2c\xbf\xf8\x5f\x3c\x51\xa6\x6b\x53\x9e\x5f\x44\xce\xbc\x3b\x5f\xdf\xe9\x9f\x00\x00\x00\xff\xff\xfd\xbf\x47\x15\x5a\x07\x00\x00"
 
 func utilityBurnerCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -175,7 +175,7 @@ func utilityBurnerCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/Burner.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0x9c, 0xee, 0x29, 0x6f, 0x7c, 0x80, 0xfa, 0x6e, 0x27, 0x7b, 0xaa, 0x4c, 0xa8, 0xd6, 0x4, 0xd6, 0x11, 0x11, 0x3e, 0xf7, 0x65, 0x85, 0x1e, 0x89, 0x28, 0xa8, 0xe7, 0xb0, 0xa0, 0xa1, 0x2b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9f, 0x84, 0xf0, 0xc, 0x8d, 0x2a, 0xfd, 0x70, 0x91, 0x65, 0x14, 0xe5, 0x6f, 0x94, 0x59, 0xef, 0x7f, 0x42, 0x6b, 0x70, 0xa7, 0x44, 0xd, 0xd1, 0xb6, 0x4f, 0x27, 0x23, 0xff, 0x77, 0x9c, 0xe7}}
 	return a, nil
 }
 

From 44ea944192e16610e1df9d689f25583e29e31aed Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 24 Jan 2024 16:35:59 -0600
Subject: [PATCH 082/115] fix access type

---
 contracts/FungibleToken.cdc                | 2 +-
 lib/go/contracts/internal/assets/assets.go | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index eae6e2f9..1b0975f5 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -69,7 +69,7 @@ access(all) contract interface FungibleToken: ViewResolver {
     /// Event that is emitted when the global burn method is called with a non-zero balance
     /// ****TODO**** Add Burner contract so that this event can be emitted
     access(all) event Burned(type: String, amount: UFix64, fromUUID: UInt64)
-    acccess(self) view fun emitBurnedEvent(type: String, amount: UFix64, fromUUID: UInt64): Bool {
+    access(self) view fun emitBurnedEvent(type: String, amount: UFix64, fromUUID: UInt64): Bool {
         if amount > 0.0 {
             emit Burned(type: type, amount: amount, fromUUID: fromUUID)
         }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 345f31cf..090a63d5 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken.cdc (10.263kB)
-// ../../../contracts/FungibleToken.cdc (10.872kB)
+// ../../../contracts/FungibleToken.cdc (10.871kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/utility/Burner.cdc (1.882kB)
@@ -99,7 +99,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x5f\x93\xdb\x36\x92\x7f\xd7\xa7\xe8\x73\xaa\x62\x69\x4e\xd6\xf8\x72\x49\x2a\x99\x3a\xc7\xb1\x13\xfb\xca\x0f\xbb\xd9\x8a\xc7\xf1\xc3\xee\x56\x09\x22\x9b\x12\x32\x10\xc0\x00\xa0\x64\xad\x77\xbe\xfb\x56\x37\x00\x92\xa0\xa8\x19\x4d\xb2\x5e\x3f\x78\x24\x12\xe8\x6e\xf4\xdf\x5f\x37\x74\x79\x71\x31\x99\x7c\x06\xd7\x1b\x84\xd7\xca\xec\xe1\x75\xa3\xd7\x72\xa5\x10\xae\xcd\x0d\x6a\x70\x5e\xe8\x52\xd8\x72\x32\xf9\xec\x33\x58\xa6\x97\xfc\x6e\x09\x85\xd1\xde\x8a\xc2\x4f\x26\xbc\x7d\x7c\x27\x48\x07\xda\x80\x32\x7a\x8d\x16\x84\x06\xa9\x3d\xda\x4a\x14\x38\xf1\x1b\xe1\x41\x28\x05\x55\xda\xea\x79\x6b\xa2\xeb\x60\x6f\x1a\x55\xc2\x46\xec\xe8\x15\x3d\xaf\x8c\xdd\x82\x37\x8b\xc9\xe4\x4d\x05\x02\x1a\x87\xd6\xc1\x5e\x68\xef\x68\x41\x89\xb5\x32\x07\x10\xa0\x71\x3f\xa0\x35\x07\xbf\x41\x69\x3b\x99\x4b\x83\x24\x98\x07\x8d\x58\xd2\x66\xb9\xad\x15\x6e\x51\x7b\x5a\x09\xd9\x51\x3b\x99\xe7\xb0\x6a\x7c\x24\xc5\x0c\xdc\xa4\x34\x27\x48\xb4\x9b\x1c\x94\x58\x49\x8d\x25\x48\x0d\x7e\x23\x5d\x2b\xc5\x22\xe8\xf5\x17\xd1\x28\xbf\x04\x8b\xce\x34\xb6\xe8\xed\x9c\x4c\x5e\x89\x62\x33\xd4\x4f\xbb\xce\x1f\x6a\x64\xe6\xee\x98\xfb\x69\xa2\x91\xe9\x5f\xac\xd9\xc9\x12\xed\x72\x0e\xcb\x9f\xb1\x40\xb9\xe3\xcf\x42\x97\xb0\x7c\x29\x94\xd0\x05\x8e\xed\x76\x6c\x6d\x37\x38\x5e\xa1\x84\x45\xa8\x2d\x3e\x29\x8c\x2e\xa5\x97\x46\x3b\x26\x55\x1b\xe7\xfb\xcf\xd8\xe6\x16\x9d\xb7\xb2\xf0\x13\x12\x14\x3f\x60\xd1\xd0\x4b\x30\x15\x4b\x5e\x35\xba\x08\x8b\x59\x5d\x08\x7c\x92\x05\xf3\x3d\x00\xf1\x71\x58\x0b\x2b\x3c\xc2\x0a\x0b\xd1\x90\x2c\x1e\xd6\x72\x87\x8e\x97\x93\x53\xf0\x07\xb1\x92\x4a\xfa\x03\xe9\xc6\x6d\x84\xc5\x89\x00\x8b\x15\x5a\xd4\x05\xfb\x53\x30\x23\x53\x0f\x72\x19\xad\x0e\x80\x1f\x6a\xe3\x22\xa9\x4a\xa2\x2a\x5d\x27\xd1\x44\x6a\x30\x1a\xc1\x58\xd8\x1a\x8b\x49\xe2\x4e\x15\xe4\x98\xe4\xd3\xce\x44\x81\x82\x87\x0e\xa4\xd9\x8a\x1b\x84\xa2\x71\xde\x6c\x5b\x0d\x47\xd5\xb4\x46\x24\xdd\xe4\x5a\x26\x07\x37\xb0\x13\x56\x9a\x86\x56\x4b\xbd\x76\xb0\x97\x7e\xc3\xe4\x83\x37\x2e\x26\xaf\x8d\x05\xfc\x20\x88\xcc\x1c\x04\x54\xa2\x29\xd0\x43\x21\x34\xac\xb0\xa3\x8e\x25\xac\x0e\x29\xa0\xa4\x5e\x4f\x82\x3a\x20\x39\x45\xe6\x2d\x17\x97\x93\x89\xdc\xd6\xc6\x7a\xf8\x45\xe2\xfe\x67\x74\x46\xed\xd0\x42\x65\xcd\x16\x1e\xf5\x1f\x3d\x4a\xeb\x5e\x36\x56\xb7\x2b\xc2\x97\x47\x93\xc9\xe5\xe5\x65\x1e\x58\xf4\x24\x7b\x1a\x93\x47\x2b\xa7\x88\x9e\x64\xb1\x97\x44\x2c\xfe\xd6\x48\x3b\x16\x72\x79\xa0\x30\xe5\xee\x20\xf0\x1e\xc1\x79\xa9\x54\x48\x28\xd2\x83\x70\x59\x42\x82\x0d\xda\xce\xa7\x3c\x7f\x63\x77\x33\x5b\xf6\xaa\xaa\x51\x4c\xb2\xf1\xc1\x92\x5b\xf4\x1b\x53\x46\xc3\x6d\x85\x3e\x40\x6d\xcd\xaf\xc8\x89\x8b\xd8\x04\x66\x94\x9d\x48\x52\x66\x6a\xf4\x20\x0f\xb9\x39\x93\x8c\x59\x25\xb8\xf7\xea\x40\x87\xdd\xa2\xd0\xae\x3d\xeb\x82\x13\x65\x70\x91\xee\x29\x7d\xe6\x67\xad\x07\x84\x33\x27\xa5\xb8\x2c\x15\x74\x69\x45\x14\x05\x3a\x37\x15\x4a\xcd\x5a\x49\x7a\x7a\xc8\x6c\x74\x95\x1b\xfd\xe3\x64\x02\x00\x70\x79\x09\x2f\x34\xa0\xf6\xd2\x47\xfd\x57\xc6\x92\x8c\x66\x2f\xf5\x9a\xd9\x92\x6b\x96\x56\xec\x85\xe2\x38\x61\xff\x0c\x1e\x21\x42\xd0\x31\xa1\xbe\x28\x7d\x72\xef\xe3\xee\xc4\xee\x92\x6b\x14\xee\x82\xa9\x83\x1a\x70\x2b\x3d\xb9\xf2\x7e\x83\x3a\x31\x20\x05\x26\xce\xfa\x98\x1d\x11\xba\xb8\xb8\xb8\xb8\xfe\xe9\xc7\x9f\xe8\x2f\xbc\x28\x4b\xd8\x49\xdc\xc3\x06\x55\x4d\x2e\xdb\x66\x1f\x67\x92\x6e\x89\x15\x33\x8e\x61\x14\xf9\xb6\x04\x39\x6f\x04\x21\x28\xd0\xb7\xa6\xd1\x3e\xd4\x3d\xfd\xe4\x1f\x68\x0d\x67\x42\xf6\x4f\x16\xa7\x2c\x2d\x3a\x97\x16\x68\xa9\x8e\x15\xb1\xeb\xab\x40\x4f\x29\xd1\x5f\xc1\x5b\x6f\xa5\x5e\xcf\x23\x83\x2b\x78\xf7\x5a\x7e\xf8\xfa\xcb\x39\x53\xbd\xa2\x83\x10\xd9\xe7\xe1\xfb\xbb\x77\x6f\x7e\xbc\x82\x77\x6f\xb4\xa7\x15\xad\x42\xfa\x8f\x67\x7d\xb6\x0e\x55\x35\x0b\x8a\xa8\x1a\xcd\x27\x6c\xd9\xbf\x22\x69\x3e\x91\x0c\x57\xf0\xd2\x18\x05\x1f\x59\x16\xfa\x27\x2b\x98\x46\x0d\x7e\x07\x4f\x17\x4f\x67\xf0\xf9\xe7\x30\x65\xc5\xfd\xd7\x33\xd0\x52\xe5\x0f\x9e\x7e\xf8\xe6\xeb\x2f\xbe\x5c\x7d\xf5\x45\xf5\x6d\x59\x16\xe5\xd3\x2f\xc5\x0c\xfe\xd9\x7f\xfd\x2d\x16\xe2\x8b\xd5\xff\x7e\xb3\xfa\x9f\x6f\x56\x5f\x95\x15\xce\x7a\xbc\xe8\x1f\x9d\xf4\x48\xd3\xf4\x7f\x77\xc6\xf0\x37\x9d\x91\xfe\xef\x9f\x2f\x7d\x3a\x3a\x61\xf6\x75\xd6\x32\xbd\x6d\x3f\x59\xf4\x8d\xd5\xe0\x6d\x83\x93\xf0\xe6\x77\xf8\x7a\x89\xb5\x71\xd2\x87\x6c\x78\x32\xb0\x98\xd4\x8f\x69\xe9\x3d\xb6\xf4\xa6\x6f\x49\x6f\x72\x3b\xb6\x0c\x1f\xe2\x4b\x2d\xeb\x73\x7c\xe9\xf7\xf0\x3f\xd3\x8f\xbc\xc9\xbc\x28\x7c\x3d\xe1\x43\xe9\xe5\x59\x1e\x34\xd4\xed\xb8\x07\xd1\xc9\xbc\xe9\xce\x14\xfe\x1e\x9d\x29\xfb\xfa\x40\xcf\x79\x75\x87\xd7\x6c\x10\xd6\xca\xac\x84\x82\x15\x6d\x0f\xf5\x8b\x96\x15\x42\x29\x5a\x45\x60\x42\x74\x69\x6b\x15\x60\xe0\xe9\xc4\x19\xcb\x7c\x5b\x42\xce\x4b\x99\xc7\x9e\xc9\x74\xee\x73\xcb\x61\x4a\x69\x7d\xee\x94\xd3\x05\xaa\xe7\x66\xaf\x7b\xdd\xa9\xef\x4d\x63\x2e\x90\x1d\xe2\x74\x06\xc9\xb3\xc6\x03\xad\xfb\x32\xb7\x48\x96\x2f\xba\xfa\xcd\x36\xa8\x03\x94\x73\x5d\x27\xd6\x96\xb6\xbf\xb5\xfb\xa8\x68\xaf\xd1\x7b\xaa\xd9\xd1\xda\x20\x19\x14\x32\xf2\xca\xf8\xf4\xcd\x76\xdc\x17\x24\xd1\x7a\x9a\x21\x06\xff\x8f\x01\x9c\x24\xe2\x11\x31\xef\xda\x34\x35\xa4\xdc\x5a\x70\x8d\x3e\x92\x9c\xce\x92\xa5\x86\xea\x48\x70\xf5\x1c\x7d\x20\x1d\xab\x88\xc0\x3e\x02\xa8\x80\x91\x48\x09\x29\x59\x13\x16\x4e\x44\xfa\x90\x85\x61\x7e\x82\x55\x8c\x70\x0e\x35\x2e\x8e\xf8\xbe\xf1\xd0\x36\x96\x91\x61\xce\xcb\x68\x58\xae\x52\x77\x45\x08\x73\xde\xee\xed\x35\x33\x0a\x05\x35\x0f\xa6\x8e\x51\x5b\x1b\xe7\x64\xec\x1f\x4c\x05\x85\x45\xc1\x42\xc4\x1e\x22\x9a\xda\xba\x4e\x74\x3a\x31\x75\xa6\xdc\xe0\x92\x76\x85\x95\xea\x10\x3b\x55\x46\xa0\x66\xaf\x93\x55\x16\x0f\xb1\x73\xdb\x22\x44\x24\x98\x58\x26\x0d\x82\x6b\x56\xb1\x7d\xbf\x53\x81\x89\x74\x46\x84\x80\x52\x70\x7f\x97\x8a\x59\xd7\xe2\x58\xdc\x9a\x1d\x17\xba\xd0\xea\xf4\x36\x66\x44\xae\x7b\x4d\xe4\x63\x17\xcf\x03\x0a\x77\xa8\x28\xd9\x2d\xe3\x01\x53\xd1\x9f\x2d\xb3\xdd\x6f\x0d\xf5\x9d\xc6\xd2\x11\xa9\xa4\x86\xdd\xd2\xcf\xb9\xf3\x0b\x13\x09\x94\xd4\x1d\xb4\xda\x04\xb3\x22\xd8\x0f\xd2\x53\x16\xca\xa8\x19\x9e\x79\x44\x60\x5b\xf6\xfa\x4f\x3e\xd5\x32\xc9\xb0\x1c\x3f\xcd\x50\x52\x0e\x8c\xa4\xe8\x69\x9e\xc5\x66\x57\xf0\xfd\x47\xd6\xd8\xed\x20\x3b\x51\x0f\x3e\x78\x14\x18\xc1\xd2\xa2\x8b\x53\x82\x8a\xfb\x54\x13\x15\xcd\x09\x68\x27\x54\x83\x47\xdb\xc2\x96\x45\x3f\x3c\xe1\xd9\xb3\x94\xea\x8e\x96\xd3\xbf\x47\xef\xbb\x56\x20\x66\xd1\x6d\xe3\x3c\xd5\x05\x62\xe7\xc4\x16\xa9\x17\x1b\xc9\x13\x1d\x92\xe7\x93\x3d\x3a\x22\x7f\x12\xa8\x92\x25\x48\xc8\xeb\x43\x8d\xd3\xd9\x42\x96\x64\x83\x4a\xa2\x3d\x85\xeb\x78\x83\xd9\x6b\xb4\xcf\x17\x11\xa2\xf7\x13\x36\xbf\x6e\x1a\x59\x1e\xe1\xbc\xa8\x10\x7a\x37\xcb\xe4\xbb\x1d\xe4\xf6\x5e\xe2\x4a\x03\x97\x3f\x9e\xb8\x22\x56\x18\xc9\x5b\x52\x47\x73\x9e\x91\xb7\xde\x63\xca\x16\x52\x17\xaa\x29\x11\x04\xb4\x53\x9b\x20\x46\xb1\xc1\xe2\x26\x37\x52\xcc\x58\x2d\x95\x3d\xb6\xdd\xee\x5a\xee\xf0\x9c\xe1\x47\x50\x43\xe8\x62\x5b\x3a\x84\x19\x4a\x93\x16\x8d\x4f\x3a\xe6\xa0\xe4\x0d\x82\xab\x95\xe4\x0a\xb3\x85\xa6\xa6\xf4\xd1\x12\x71\x18\x9a\xae\x2d\x0f\x4e\x64\xc5\x81\xe7\xa1\x56\x61\x4e\x03\xe7\x67\xbc\x64\xac\x61\xc6\x8b\xaa\x07\x2f\x6e\xb0\x4b\x57\x94\xc2\xe2\x1b\x4a\x1b\x27\xcc\x90\xcd\xf0\xee\x8a\x7d\x16\x8a\xc2\x3e\xd2\x9c\x06\x6f\x4d\xa1\x3e\xcb\x45\x5a\xa3\x7f\xdb\xd4\xb5\xb1\x1e\x4b\x5e\x40\xee\x4f\x85\x84\xec\x28\x94\x3a\xf4\xb2\xab\x92\xce\x53\x9c\xed\xc2\x00\x8c\x17\x76\xe8\x2d\x99\x86\xe5\xa8\xbd\xbb\xb7\x58\x8f\xf0\xa5\xc2\xfd\xf1\x9a\xc3\x91\xe0\xd4\x6d\x2e\xeb\xcf\x51\x92\xfd\x06\x39\x9b\x1a\xcb\x0e\xc8\x28\x55\xee\xa8\xf2\x1d\x6a\xa4\x84\x1d\x24\x08\x23\x2b\x7a\x9b\x05\x4f\xa2\xf6\x22\x9d\x83\x7d\x55\xe8\xb8\x0b\x84\x3e\x04\x42\x6e\xc3\xa9\xfb\x57\x4a\x3c\x3d\x84\x45\x44\x4b\xac\xee\xc7\x23\xd2\x1d\x9f\x30\xe6\x1a\xfa\x18\x21\xe3\x30\xd0\xb3\xc9\x43\x07\x13\x4a\x24\x63\xcc\x83\xaa\x3b\x4f\x0b\xd5\x85\xc7\x87\xdd\xb0\xbb\x3d\xef\x3c\x61\xac\x39\x5c\x5b\xa1\x5d\x85\xd6\xd8\x79\x5b\x90\xc3\xec\x36\x0d\x6a\x3a\x58\xd1\x74\xed\x00\xe9\xd7\xa5\x53\xc0\x01\xfd\x43\xc2\x80\x8f\x72\xd5\x93\xa6\x63\xdc\xca\xd5\x1f\x15\x2d\xd2\x87\x79\xec\x13\x16\xf4\x47\xac\x14\x0e\x03\xe9\xb5\x44\x55\x46\xdf\xb3\x62\x98\x65\x4c\x05\xe2\x2e\xc0\x28\x6c\x5a\xda\xc2\xc4\x4f\x09\x41\x33\xda\x3f\xc4\xc6\x89\xda\x2b\x31\x9c\xd3\x4b\xc7\x7d\x16\x96\xb0\x93\x22\x4c\xe2\xa2\x22\xe8\xf1\x74\xb6\x8c\x1d\x58\x46\xf1\xcd\x60\xf4\x19\x73\x21\xb9\xf1\xca\x98\x9b\x1b\xc4\x9a\xf2\x87\xb1\xa1\xe9\xa0\xe7\xdc\x43\xb9\x8c\x0a\xeb\x32\x7a\x7c\xd7\x7d\x25\x39\x43\xa4\x48\x07\x25\x3a\x6f\xcd\x01\xcb\x0c\x7e\xc0\x9f\x88\xea\x70\x06\xbb\xef\x0f\x33\x9b\xba\x14\x1e\xbb\x74\xfc\x98\xb0\x83\x17\x8a\xbd\x4b\x1d\x72\x59\x0c\xc1\x0b\x45\x00\x29\x9f\x55\xba\x30\x13\x5d\x21\xea\xa4\xa8\x80\xff\x02\xcc\x6b\x61\x63\xa0\xb9\xb8\x53\x4d\x1c\x33\xe9\x1e\xc6\x0d\x2c\xee\x0d\x84\x7e\x16\x2b\x63\x83\xd4\x54\x1c\x06\xf7\x0d\x03\x0c\x29\x79\x42\xe7\x0d\xd4\x36\x34\xa9\x41\x6b\x8c\x10\x22\xa6\x75\xb5\xd8\x6e\xc9\x1a\x15\xd5\xb4\xd0\xff\x45\x6b\x2c\x86\x9e\x95\x7a\xe4\x90\xcc\xe9\xb8\xe4\x3b\x2b\x51\xdc\x4c\x87\x03\x85\xda\xe2\x08\x5c\xcb\x86\xb2\x8b\xf1\xfe\xf6\x0c\xd0\xc3\x4b\x56\x29\x5e\x47\xf0\xcd\x29\x0c\x03\xa7\x91\x64\x9f\x26\x61\xc1\xa7\x8b\xa7\x57\xf0\xe8\xba\x67\x81\x04\xf7\xd8\x32\xd1\x1a\x65\x63\xd3\xa8\xb8\xaf\x8e\x34\x96\x48\xb3\x04\xc9\xe9\x9c\x32\x17\xed\x27\x8d\x63\xf9\xe8\x24\xce\xfa\x4f\x57\xc3\x84\xd9\x62\x09\x19\x44\x0d\x70\x76\x67\x40\x55\xe6\xb7\x0b\xcc\x26\x4c\xf0\xf0\x43\x8d\x45\x9a\x8d\xf4\x82\x86\xa7\xca\x6d\xed\xeb\x9a\xb6\x30\x5a\x60\xf5\xe0\x21\x84\x90\xee\x7c\x3f\xf6\x82\x7c\xb1\x91\xc9\x92\x91\x27\xe4\xc8\x07\x3b\x72\xfe\x3f\x50\xde\x07\x9e\x71\x79\x09\x2f\x51\x99\x7d\x40\x8e\xac\x8a\xde\xf5\x53\x42\x82\xae\xb1\x11\xe7\xda\x46\x3f\xf1\x72\x1b\xaf\x35\xb9\x14\x0e\xe9\xb1\x4a\xd6\x98\x0a\x78\x7f\xb0\x55\x0b\x86\x77\x6d\xdd\x8a\xf5\x33\xe2\xc6\xfc\xea\x7a\x11\x2e\x44\x16\x90\xd1\x97\xd5\x51\xfc\xb8\xb7\xcd\x8a\xa4\x99\x9a\x2a\x54\xf9\xff\xfb\xfe\xe3\x08\xa5\xdb\xef\xa6\xb3\x61\x10\x43\x37\xc8\xf9\x98\x93\xbd\x62\xdc\x91\x07\xd6\x2d\xa0\x72\x63\x51\xdf\xe2\x24\x6e\x23\xb7\xb5\x3f\x40\x29\xd9\x62\xc2\x1e\x52\xd3\x94\x9c\x8f\x1b\x36\xb6\x6d\xab\x86\xfd\xc6\x40\x69\xf4\x63\x3f\x46\xb9\xbb\x3c\x1b\xd5\xcf\x1c\x5c\x53\x6c\x88\x49\xfe\xfa\xed\x5e\xfa\x62\xb3\x32\xc2\x96\xcb\x39\x2c\xf9\xd9\x6b\x63\xf7\x82\x7a\xe6\x25\xa0\x2f\x16\x27\x55\x71\x7b\x5e\xe4\xfe\x10\x9a\x0d\x59\x8d\xc0\xc1\x0e\xc0\x30\x1e\x94\xae\x07\xb2\x4e\x7a\xf0\x79\xe8\x6d\x60\x80\x28\x74\x32\xdf\x68\x08\xfc\x95\x88\xfc\x1d\x9e\x3f\x87\x4a\x28\x87\xa7\x0e\x34\x32\x1d\x59\x86\x94\xbc\xec\x0a\x1d\xd3\x7d\xec\xb2\xb9\x2b\x8c\x4e\x46\x34\xee\x87\xd3\x91\x44\x98\xf4\x72\xbc\xff\xdf\x3d\x52\x18\x2d\x51\x49\x51\xdd\x60\xe0\xbb\x7b\x06\x03\x2f\xc2\x34\xa0\x6b\xf3\x53\xa1\x50\xe8\x38\xff\x6a\x46\x3a\xbf\x35\x42\x85\x6f\x23\x40\x6e\x64\x32\x70\x56\xd5\xba\xbc\x84\x78\xcf\x0b\xae\xc6\x42\x0a\xd5\x66\x43\x58\x06\xa8\xb0\xe4\x56\x36\xa2\x89\x10\x5d\x91\x69\x37\xc4\xe3\xdf\x08\x8c\x11\x8f\x50\x67\x85\x6b\xa9\x35\x63\xb6\x1c\x6f\x74\xbf\x7c\x18\xd9\x7d\x86\x6e\x9f\x3d\x8b\x80\x66\x7a\xf4\x6e\x06\x4f\xee\xd6\xfb\x9f\x5b\xff\x19\x56\x68\xce\x27\xb1\x5b\xee\x74\x4c\x18\x88\x7f\x76\x90\x96\xa7\x1b\xcd\xc1\x80\x26\xbd\x3f\xb3\x40\x9f\xee\xa0\x45\x59\x52\xf7\xec\xfa\x18\xee\xc8\xf6\x47\xa1\xff\x90\xfe\x79\x2c\x8f\x0f\x93\x38\xf5\x95\xce\xa1\xed\x21\xd7\xc2\xe8\xc2\xa2\x8f\x55\x2a\xaa\xa7\xbb\x84\x6b\xa1\x75\x1a\x6c\x0d\xe9\xc5\x94\xdd\x6b\x56\xdb\x0e\x37\xa1\xa1\x48\xed\x8c\x80\xa3\xb3\x2c\xa4\x7b\xa3\x9d\x67\xc3\xe7\x85\x66\x76\x05\xe3\xd6\xff\x21\xe0\xa9\xa4\x7d\xfe\x0d\x44\x61\xb6\xb5\xf0\xbd\xee\x85\xce\x37\x3e\x6f\x1b\xbd\xcc\x63\x51\xee\x86\x9e\x69\x49\xeb\xa6\xe1\x42\x6c\x74\xf0\x96\x6e\xc8\x7a\x63\xb7\xc1\x25\x19\x53\xfb\x23\x80\xf5\xfc\x60\xfa\xef\xf4\xee\xe8\x04\xb3\xdf\x15\x5f\xae\xd9\xde\x1b\x58\x9d\x4b\xdd\x99\xdf\x06\x01\xc5\x37\x03\xf8\x8a\x70\x42\x8c\x25\xa5\xcc\xde\x71\x9b\x18\x7e\x17\x65\xe2\x9a\xac\x88\xb0\x1f\x6e\x04\x85\xe0\xd1\xc5\x1f\xdc\x13\x57\x43\x96\xd3\x07\x0f\xa2\x4f\x4c\x94\xbb\x2e\x42\xe3\x5e\x1d\x22\xa3\xa8\x8f\xa0\x4f\x06\xbf\x7d\x89\x4f\xab\x09\xf2\xb9\xcc\x27\x50\xd4\xd8\x18\x65\x54\x41\xbb\x04\x1f\x5a\xec\x31\x9e\x8d\x7a\xaa\x1a\xd1\x5c\xa7\xb5\x10\x72\xa4\xb2\x1e\x65\x56\x5c\x0b\x93\x43\xba\x69\xaf\xa6\xb6\xc2\x17\x9b\xe8\x66\x2e\xfc\x94\xea\x28\xda\x3f\x89\x55\x92\x1d\x6e\xff\x15\x00\x00\xff\xff\xdd\x8b\xd0\x06\x78\x2a\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x5f\x93\xdb\x36\x92\x7f\xd7\xa7\xe8\x73\xaa\x62\x69\x4e\xd6\xf8\x72\x49\x2a\x99\x3a\xc7\xb1\x13\xfb\xca\x0f\xbb\xd9\x8a\xc7\xf1\xc3\xee\x56\x09\x22\x9b\x12\x32\x10\xc0\x00\xa0\x64\xad\x77\xbe\xfb\x56\x37\x00\x92\xa0\xa8\x19\x4d\xb2\x5e\x3f\x78\x24\x12\xe8\x6e\xf4\xdf\x5f\x37\x74\x79\x71\x31\x99\x7c\x06\xd7\x1b\x84\xd7\xca\xec\xe1\x75\xa3\xd7\x72\xa5\x10\xae\xcd\x0d\x6a\x70\x5e\xe8\x52\xd8\x72\x32\xf9\xec\x33\x58\xa6\x97\xfc\x6e\x09\x85\xd1\xde\x8a\xc2\x4f\x26\xbc\x7d\x7c\x27\x48\x07\xda\x80\x32\x7a\x8d\x16\x84\x06\xa9\x3d\xda\x4a\x14\x38\xf1\x1b\xe1\x41\x28\x05\x55\xda\xea\x79\x6b\xa2\xeb\x60\x6f\x1a\x55\xc2\x46\xec\xe8\x15\x3d\xaf\x8c\xdd\x82\x37\x8b\xc9\xe4\x4d\x05\x02\x1a\x87\xd6\xc1\x5e\x68\xef\x68\x41\x89\xb5\x32\x07\x10\xa0\x71\x3f\xa0\x35\x07\xbf\x41\x69\x3b\x99\x4b\x83\x24\x98\x07\x8d\x58\xd2\x66\xb9\xad\x15\x6e\x51\x7b\x5a\x09\xd9\x51\x3b\x99\xe7\xb0\x6a\x7c\x24\xc5\x0c\xdc\xa4\x34\x27\x48\xb4\x9b\x1c\x94\x58\x49\x8d\x25\x48\x0d\x7e\x23\x5d\x2b\xc5\x22\xe8\xf5\x17\xd1\x28\xbf\x04\x8b\xce\x34\xb6\xe8\xed\x9c\x4c\x5e\x89\x62\x33\xd4\x4f\xbb\xce\x1f\x6a\x64\xe6\xee\x98\xfb\x69\xa2\x91\xe9\x5f\xac\xd9\xc9\x12\xed\x72\x0e\xcb\x9f\xb1\x40\xb9\xe3\xcf\x42\x97\xb0\x7c\x29\x94\xd0\x05\x8e\xed\x76\x6c\x6d\x37\x38\x5e\xa1\x84\x45\xa8\x2d\x3e\x29\x8c\x2e\xa5\x97\x46\x3b\x26\x55\x1b\xe7\xfb\xcf\xd8\xe6\x16\x9d\xb7\xb2\xf0\x13\x12\x14\x3f\x60\xd1\xd0\x4b\x30\x15\x4b\x5e\x35\xba\x08\x8b\x59\x5d\x08\x7c\x92\x05\xf3\x3d\x00\xf1\x71\x58\x0b\x2b\x3c\xc2\x0a\x0b\xd1\x90\x2c\x1e\xd6\x72\x87\x8e\x97\x93\x53\xf0\x07\xb1\x92\x4a\xfa\x03\xe9\xc6\x6d\x84\xc5\x89\x00\x8b\x15\x5a\xd4\x05\xfb\x53\x30\x23\x53\x0f\x72\x19\xad\x0e\x80\x1f\x6a\xe3\x22\xa9\x4a\xa2\x2a\x5d\x27\xd1\x44\x6a\x30\x1a\xc1\x58\xd8\x1a\x8b\x49\xe2\x4e\x15\xe4\x98\xe4\xd3\xce\x44\x81\x82\x87\x0e\xa4\xd9\x8a\x1b\x84\xa2\x71\xde\x6c\x5b\x0d\x47\xd5\xb4\x46\x24\xdd\xe4\x5a\x26\x07\x37\xb0\x13\x56\x9a\x86\x56\x4b\xbd\x76\xb0\x97\x7e\xc3\xe4\x83\x37\x2e\x26\xaf\x8d\x05\xfc\x20\x88\xcc\x1c\x04\x54\xa2\x29\xd0\x43\x21\x34\xac\xb0\xa3\x8e\x25\xac\x0e\x29\xa0\xa4\x5e\x4f\x82\x3a\x20\x39\x45\xe6\x2d\x17\x97\x93\x89\xdc\xd6\xc6\x7a\xf8\x45\xe2\xfe\x67\x74\x46\xed\xd0\x42\x65\xcd\x16\x1e\xf5\x1f\x3d\x4a\xeb\x5e\x36\x56\xb7\x2b\xc2\x97\x47\x93\xc9\xe5\xe5\x65\x1e\x58\xf4\x24\x7b\x1a\x93\x47\x2b\xa7\x88\x9e\x64\xb1\x97\x44\x2c\xfe\xd6\x48\x3b\x16\x72\x79\xa0\x30\xe5\xee\x20\xf0\x1e\xc1\x79\xa9\x54\x48\x28\xd2\x83\x70\x59\x42\x82\x0d\xda\xce\xa7\x3c\x7f\x63\x77\x33\x5b\xf6\xaa\xaa\x51\x4c\xb2\xf1\xc1\x92\x5b\xf4\x1b\x53\x46\xc3\x6d\x85\x3e\x40\x6d\xcd\xaf\xc8\x89\x8b\xd8\x04\x66\x94\x9d\x48\x52\x66\x6a\xf4\x20\x0f\xb9\x39\x93\x8c\x59\x25\xb8\xf7\xea\x40\x87\xdd\xa2\xd0\xae\x3d\xeb\x82\x13\x65\x70\x91\xee\x29\x7d\xe6\x67\xad\x07\x84\x33\x27\xa5\xb8\x2c\x15\x74\x69\x45\x14\x05\x3a\x37\x15\x4a\xcd\x5a\x49\x7a\x7a\xc8\x6c\x74\x95\x1b\xfd\xe3\x64\x02\x00\x70\x79\x09\x2f\x34\xa0\xf6\xd2\x47\xfd\x57\xc6\x92\x8c\x66\x2f\xf5\x9a\xd9\x92\x6b\x96\x56\xec\x85\xe2\x38\x61\xff\x0c\x1e\x21\x42\xd0\x31\xa1\xbe\x28\x7d\x72\xef\xe3\xee\xc4\xee\x92\x6b\x14\xee\x82\xa9\x83\x1a\x70\x2b\x3d\xb9\xf2\x7e\x83\x3a\x31\x20\x05\x26\xce\xfa\x98\x1d\x11\xba\xb8\xb8\xb8\xb8\xfe\xe9\xc7\x9f\xe8\x2f\xbc\x28\x4b\xd8\x49\xdc\xc3\x06\x55\x4d\x2e\xdb\x66\x1f\x67\x92\x6e\x89\x15\x33\x8e\x61\x14\xf9\xb6\x04\x39\x6f\x04\x21\x28\xd0\xb7\xa6\xd1\x3e\xd4\x3d\xfd\xe4\x1f\x68\x0d\x67\x42\xf6\x4f\x16\xa7\x2c\x2d\x3a\x97\x16\x68\xa9\x8e\x15\xb1\xeb\xab\x40\x4f\x29\xd1\x5f\xc1\x5b\x6f\xa5\x5e\xcf\x23\x83\x2b\x78\xf7\x5a\x7e\xf8\xfa\xcb\x39\x53\xbd\xa2\x83\x10\xd9\xe7\xe1\xfb\xbb\x77\x6f\x7e\xbc\x82\x77\x6f\xb4\xa7\x15\xad\x42\xfa\x8f\x67\x7d\xb6\x0e\x55\x35\x0b\x8a\xa8\x1a\xcd\x27\x6c\xd9\xbf\x22\x69\x3e\x91\x0c\x57\xf0\xd2\x18\x05\x1f\x59\x16\xfa\x27\x2b\x98\x46\x0d\x7e\x07\x4f\x17\x4f\x67\xf0\xf9\xe7\x30\x65\xc5\xfd\xd7\x33\xd0\x52\xe5\x0f\x9e\x7e\xf8\xe6\xeb\x2f\xbe\x5c\x7d\xf5\x45\xf5\x6d\x59\x16\xe5\xd3\x2f\xc5\x0c\xfe\xd9\x7f\xfd\x2d\x16\xe2\x8b\xd5\xff\x7e\xb3\xfa\x9f\x6f\x56\x5f\x95\x15\xce\x7a\xbc\xe8\x1f\x9d\xf4\x48\xd3\xf4\x7f\x77\xc6\xf0\x37\x9d\x91\xfe\xef\x9f\x2f\x7d\x3a\x3a\x61\xf6\x75\xd6\x32\xbd\x6d\x3f\x59\xf4\x8d\xd5\xe0\x6d\x83\x93\xf0\xe6\x77\xf8\x7a\x89\xb5\x71\xd2\x87\x6c\x78\x32\xb0\x98\xd4\x8f\x69\xe9\x3d\xb6\xf4\xa6\x6f\x49\x6f\x72\x3b\xb6\x0c\x1f\xe2\x4b\x2d\xeb\x73\x7c\xe9\xf7\xf0\x3f\xd3\x8f\xbc\xc9\xbc\x28\x7c\x3d\xe1\x43\xe9\xe5\x59\x1e\x34\xd4\xed\xb8\x07\xd1\xc9\xbc\xe9\xce\x14\xfe\x1e\x9d\x29\xfb\xfa\x40\xcf\x79\x75\x87\xd7\x6c\x10\xd6\xca\xac\x84\x82\x15\x6d\x0f\xf5\x8b\x96\x15\x42\x29\x5a\x45\x60\x42\x74\x69\x6b\x15\x60\xe0\xe9\xc4\x19\xcb\x7c\x5b\x42\xce\x4b\x99\xc7\x9e\xc9\x74\xee\x73\xcb\x61\x4a\xb9\xcf\xe7\x02\xd1\x73\x93\xd7\xbd\xde\xd4\x77\xa6\x31\x0f\xc8\xce\x70\x3a\x81\xe4\x49\xe3\x81\xc6\x7d\x99\x1b\x24\x4b\x17\x5d\xf9\x66\x13\xd4\x01\xc9\xb9\xae\x11\x6b\x2b\xdb\xdf\xda\x7d\x54\xb3\xd7\xe8\x3d\x95\xec\x68\x6c\x90\x8c\x09\x19\x78\x65\x7c\xfa\x56\x3b\x6e\x0b\x92\x68\x3d\xcd\x10\x83\xff\xc7\x80\x4d\x12\xf1\x08\x98\x77\x6d\x96\x1a\x52\x6e\x2d\xb8\x46\x1f\x49\x4e\x67\xc9\x52\x43\x75\x24\xb4\x7a\x8e\x3e\x90\x8e\x55\x44\x5c\x1f\xf1\x53\x80\x48\xa4\x84\x94\xab\x09\x0a\x27\x22\x7d\xc4\xc2\x28\x3f\xa1\x2a\x06\x38\x87\x1a\x17\x47\x7c\xdf\x78\x68\xfb\xca\xc8\x30\xe7\x65\x34\x2c\x57\xa9\xb9\x22\x80\x39\x6f\xf7\xf6\x7a\x19\x85\x82\x7a\x07\x53\xc7\xa0\xad\x8d\x73\x32\xb6\x0f\xa6\x82\xc2\xa2\x60\x21\x62\x0b\x11\x4d\x6d\x5d\x27\x3a\x9d\x98\x1a\x53\xee\x6f\x49\xbb\xc2\x4a\x75\x88\x8d\x2a\x03\x50\xb3\xd7\xc9\x2a\x8b\x87\xd8\xb9\xed\x10\x22\x10\x4c\x2c\x93\x06\xc1\x35\xab\xd8\xbd\xdf\xa9\xc0\x44\x3a\x23\x42\x38\x29\xb8\xbf\x4b\xb5\xac\xeb\x70\x2c\x6e\xcd\x8e\xeb\x5c\xe8\x74\x7a\x1b\x33\x22\xd7\xbd\x1e\xf2\xb1\x8b\xe7\x01\x85\x3b\x54\x94\xeb\x96\xf1\x80\xa9\xe6\xcf\x96\xd9\xee\xb7\x86\xda\x4e\x63\xe9\x88\x54\x51\xc3\x6e\xe9\xe7\xdc\xf8\x85\x81\x04\x4a\x6a\x0e\x5a\x6d\x82\x59\x11\xea\x07\xe9\x29\x0b\x65\xd4\x0c\x8f\x3c\x22\xae\x2d\x7b\xed\x27\x9f\x6a\x99\x64\x58\x8e\x9f\x66\x28\x29\x07\x46\x52\xf4\x34\xcf\x62\xb3\x2b\xf8\xfe\x23\x6b\xec\x76\x90\x9d\xa8\x05\x1f\x3c\x0a\x8c\x60\x69\xd1\xc5\x21\x41\xc5\x6d\xaa\x89\x8a\xe6\x04\xb4\x13\xaa\xc1\xa3\x6d\x61\xcb\xa2\x1f\x9e\xf0\xec\x59\x4a\x75\x47\xcb\xe9\xdf\xa3\xf7\x5d\x27\x10\xb3\xe8\xb6\x71\x9e\xca\x02\xb1\x73\x62\x8b\xd4\x8a\x8d\xe4\x89\x0e\xc8\xf3\xc9\x1e\x1d\x91\x3f\x89\x53\xc9\x12\x24\xe4\xf5\xa1\xc6\xe9\x6c\x21\x4b\xb2\x41\x25\xd1\x9e\x82\x75\xbc\xc1\xec\x35\xda\xe7\x8b\x88\xd0\xfb\x09\x9b\x5f\x37\x8d\x2c\x8f\x60\x5e\x54\x08\xbd\x9b\x65\xf2\xdd\x0e\x72\x7b\x2f\x71\xa5\x79\xcb\x1f\x4f\x5c\x11\x2a\x8c\xe4\x2d\xa9\xa3\x39\xcf\xc8\x5b\xef\x31\x65\x0b\xa9\x0b\xd5\x94\x08\x02\xda\xa1\x4d\x10\xa3\xd8\x60\x71\x93\x1b\x29\x66\xac\x96\xca\x1e\xdb\x66\x77\x2d\x77\x78\xce\xec\x23\xa8\x21\x34\xb1\x2d\x1d\x82\x0c\xa5\x49\x8b\xc6\x07\x1d\x73\x50\xf2\x06\xc1\xd5\x4a\x72\x85\xd9\x42\x53\x53\xfa\x68\x89\x38\x0c\x3d\xd7\x96\xe7\x26\xb2\xe2\xc0\xf3\x50\xab\x30\xa6\x81\xf3\x33\x5e\x32\xd6\x30\xe3\x45\xd5\x83\x17\x37\xd8\xa5\x2b\x4a\x61\xf1\x0d\xa5\x8d\x13\x66\xc8\x46\x78\x77\xc5\x3e\x0b\x45\x61\x1f\x69\x4e\x83\xb7\xa6\x50\x9f\xe5\x22\xad\xd1\xbf\x6d\xea\xda\x58\x8f\x25\x2f\x20\xf7\xa7\x42\x42\x76\x14\x4a\x1d\x7a\xd9\x55\x49\xe7\x29\xce\x76\x61\xfe\xc5\x0b\x3b\xf0\x96\x4c\xc3\x72\xd4\xde\xdd\x5b\xac\x47\xf8\x52\xe1\xfe\x78\xcd\xe1\x48\x70\xea\x36\x97\xf5\xe7\x28\xc9\x7e\x83\x9c\x4d\x8d\x65\x07\x64\x90\x2a\x77\x54\xf9\x0e\x35\x52\xc2\x0e\x12\x84\x89\x15\xbd\xcd\x82\x27\x51\x7b\x91\xce\xc1\xbe\x2a\x74\xdc\x05\x42\x1f\x02\x21\xb7\xe1\xd4\xfd\x2b\x25\x9e\x1e\xc2\x22\xa2\x25\x56\xf7\xe3\x11\xe9\x8e\x4f\x18\x73\x0d\x7d\x8c\x90\x71\x18\xe8\xd9\xe0\xa1\x83\x09\x25\x92\x31\xe6\x41\xd5\x9d\xa7\x85\xea\xc2\xd3\xc3\x6e\xd6\xdd\x9e\x77\x9e\x30\xd6\x1c\xae\xad\xd0\xae\x42\x6b\xec\xbc\x2d\xc8\x61\x74\x9b\xe6\x34\x1d\xac\x68\xba\x6e\x80\xf4\xeb\xd2\x29\xe0\x80\xfe\x21\x61\xc0\x47\xb9\xea\x49\xd3\x31\x6e\xe5\xea\x4f\x8a\x16\xe9\xc3\x3c\xb6\x09\x0b\xfa\x23\x56\x0a\x87\x81\xf4\x5a\xa2\x2a\xa3\xef\x59\x31\xcc\x32\xa6\x02\x71\x17\x60\x14\x36\x2d\x6d\x61\xe2\xa7\x84\xa0\x19\xed\x1f\x62\xdf\x44\xdd\x95\x18\x8e\xe9\xa5\xe3\x36\x0b\x4b\xd8\x49\x11\x06\x71\x51\x11\xf4\x78\x3a\x5b\xc6\x06\x2c\xa3\xf8\x66\x30\xf9\x8c\xb9\x90\xdc\x78\x65\xcc\xcd\x0d\x62\x4d\xf9\xc3\xd8\xd0\x74\xd0\x73\x6e\xa1\x5c\x46\x85\x75\x19\x3d\xbe\x6b\xbe\x92\x9c\x21\x52\xa4\x83\x12\x9d\xb7\xe6\x80\x65\x06\x3f\xe0\x4f\x44\x75\x38\x82\xdd\xf7\x67\x99\x4d\x5d\x0a\x8f\x5d\x3a\x7e\x4c\xd8\xc1\x0b\xc5\xde\xa5\x0e\xb9\x2c\x86\xe0\x85\x22\x80\x94\x8f\x2a\x5d\x18\x89\xae\x10\x75\x52\x54\xc0\x7f\x01\xe6\xb5\xb0\x31\xd0\x5c\xdc\xa9\x26\x8e\x99\x74\x0d\xe3\x06\x16\xf7\x06\x42\x3b\x8b\x95\xb1\x41\x6a\x2a\x0e\x83\xeb\x86\x01\x86\x94\x3c\xa0\xf3\x06\x6a\x1b\x7a\xd4\xa0\x35\x46\x08\x11\xd3\xba\x5a\x6c\xb7\x64\x8d\x8a\x6a\x5a\xe8\xff\xa2\x35\x16\x43\xcf\x4a\x2d\x72\x48\xe6\x74\x5c\xf2\x9d\x95\x28\x6e\xa6\xc3\x79\x42\x6d\x71\x04\xae\x65\x33\xd9\xc5\x78\x7f\x7b\x06\xe8\xe1\x25\xab\x14\xaf\x23\xf8\xe6\x14\x86\x81\xd3\x48\xb2\x4f\x93\xb0\xe0\xd3\xc5\xd3\x2b\x78\x74\xdd\xb3\x40\x82\x7b\x6c\x99\x68\x8d\xb2\xb1\x69\x52\xdc\x57\x47\x9a\x4a\xa4\x51\x82\xe4\x74\x4e\x99\x8b\xf6\x93\xc6\xb1\x7c\x74\x12\x67\xfd\xa7\xab\x61\xc2\x6c\xb1\x84\x0c\xa2\x06\x38\xbb\x33\xa0\x2a\xf3\xcb\x05\x66\x13\x06\x78\xf8\xa1\xc6\x22\x8d\x46\x7a\x41\xc3\x43\xe5\xb6\xf6\x75\x4d\x5b\x18\x2d\xb0\x7a\xf0\x10\x42\x48\x77\xbe\x1f\x7b\x41\xbe\xd7\xc8\x64\xc9\xc8\x13\x72\xe4\x83\x1d\x39\xff\x1f\x28\xef\x03\xcf\xb8\xbc\x84\x97\xa8\xcc\x3e\x20\x47\x56\x45\xef\xf6\x29\x21\x41\xd7\xd8\x88\x73\x6d\xa3\x9f\x78\xb9\x8d\xb7\x9a\x5c\x0a\x87\xf4\x58\x25\x6b\x4c\x05\xbc\x3f\xd7\xaa\x05\xc3\xbb\xb6\x6e\xc5\xfa\x19\x71\x63\x7e\x73\xbd\x08\xf7\x21\x0b\xc8\xe8\xcb\xea\x28\x7e\xdc\xdb\x66\x45\xd2\x4c\x4d\x15\xaa\xfc\xff\x7d\xff\x71\x84\xd2\xed\x77\xd3\xd9\x30\x88\xa1\x1b\xe4\x7c\xcc\xc9\x5e\x31\xee\xc8\x03\xeb\x16\x50\xb9\xb1\xa8\x6f\x71\x12\xb7\x91\xdb\xda\x1f\xa0\x94\x6c\x31\x61\x0f\xa9\x69\x4a\xce\xc7\x0d\x1b\xdb\xb6\x55\xc3\x7e\x63\xa0\x34\xfa\xb1\x1f\xa3\xdc\xdd\x9d\x8d\xea\x67\x0e\xae\x29\x36\xc4\x24\x7f\xfd\x76\x2f\x7d\xb1\x59\x19\x61\xcb\xe5\x1c\x96\xfc\xec\xb5\xb1\x7b\x41\x3d\xf3\x12\xd0\x17\x8b\x93\xaa\xb8\x3d\x2f\x72\x7f\x08\xcd\x86\xac\x46\xe0\x60\x07\x60\x18\x0f\x4a\xd7\x03\x59\x27\x3d\xf8\x3c\xf4\x36\x30\x40\x14\x3a\x99\x6f\x34\x04\xfe\x4a\x44\xfe\x0e\xcf\x9f\x43\x25\x94\xc3\x53\x07\x1a\x99\x8e\x2c\x43\x4a\x5e\x76\x85\x8e\xe9\x3e\x76\xd9\xd8\x15\x46\x27\x23\x1a\xf7\xc3\xe9\x48\x22\x4c\x7a\x39\xde\xff\xef\x1e\x29\x8c\x96\xa8\xa4\xa8\x6e\x30\xf0\xdd\x3d\x83\x81\x17\x61\x1a\xd0\xb5\xf9\xa9\x50\x28\x74\x9c\x7f\x35\x23\x9d\xdf\x1a\xa1\xc2\xb7\x11\x20\x37\x32\x19\x38\xab\x6a\x5d\x5e\x42\xbc\xe6\x05\x57\x63\x21\x85\x6a\xb3\x21\x2c\x03\x54\x58\x72\x2b\x1b\xd1\x44\x88\xae\xc8\xb4\x1b\xe2\xf1\x4f\x04\xc6\x88\x47\xa8\xb3\xc2\xb5\xd4\x9a\x31\x5b\x8e\x37\xba\x1f\x3e\x8c\xec\x3e\x43\xb7\xcf\x9e\x45\x40\x33\x3d\x7a\x37\x83\x27\x77\xeb\xfd\xcf\xad\xff\x0c\x2b\x34\xe7\x93\xd8\x2d\x77\x3a\x26\x0c\xc4\xbf\x3a\x48\xcb\xd3\x85\xe6\x60\x40\x93\xde\x9f\x59\xa0\x4f\x77\xd0\xa2\x2c\xa9\x7b\x76\x7d\x0c\x77\x64\xfb\xa3\xd0\x7f\x48\xff\x3c\x96\xc7\x87\x49\x9c\xfa\x4a\xe7\xd0\xf6\x90\x6b\x61\x74\x61\xd1\xc7\x2a\x15\xd5\xd3\xdd\xc1\xb5\xd0\x3a\x0d\xb6\x86\xf4\x62\xca\xee\x35\xab\x6d\x87\x9b\xd0\x50\xa4\x76\x46\xc0\xd1\x59\x16\xd2\xbd\xd1\xce\xb3\xe1\xf3\x42\x33\xbb\x82\x71\xeb\xff\x10\xf0\x54\xd2\x3e\xff\x04\xa2\x30\xdb\x5a\xf8\x5e\xf7\x42\xe7\x1b\x9f\xb7\x8d\xde\xe5\xb1\x28\x77\x43\xcf\xb4\xa4\x75\xd3\x70\x1f\x36\x3a\x78\x4b\x17\x64\xbd\xb1\xdb\xe0\x8e\x8c\xa9\xfd\x11\xc0\x7a\x7e\x30\xfd\x77\x7a\x77\x74\x82\xd9\xef\x8a\x2f\xd7\x6c\xef\x0d\xac\xce\xa5\xee\xcc\x6f\x83\x80\xe2\x9b\x01\x7c\x45\x38\x21\xc6\x92\x52\x66\xef\xb8\x4d\x0c\x3f\x8b\x32\x71\x4d\x56\x44\xd8\x0f\x37\x82\x42\xf0\xe8\xde\x0f\xee\x89\xab\x21\xcb\xe9\x83\x07\xd1\x27\x26\xca\x5d\x17\xa1\x71\xaf\x0e\x91\x51\xd4\x47\xd0\x27\x83\xdf\xbe\xc4\xa7\xd5\x04\xf9\x5c\xe6\x13\x28\x6a\x6c\x8c\x32\xaa\xa0\x5d\x82\x0f\x2d\xf6\x18\xcf\x46\x3d\x55\x8d\x68\xae\xd3\x5a\x08\x39\x52\x59\x8f\x32\x2b\xae\x85\xc9\x21\xdd\xb4\x57\x53\x5b\xe1\x8b\x4d\x74\x33\x17\x7e\x49\x75\x14\xed\x9f\xc4\x2a\xc9\x0e\xb7\xff\x0a\x00\x00\xff\xff\x85\xd6\x26\x8c\x77\x2a\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0x66, 0xd2, 0x40, 0x30, 0xa9, 0x25, 0xcc, 0x21, 0xfb, 0x8c, 0xe6, 0x5b, 0xe6, 0x12, 0xab, 0x29, 0x5, 0x7e, 0x7c, 0x91, 0x6, 0xde, 0xa3, 0x4c, 0x5f, 0xfb, 0xc0, 0x70, 0x7f, 0xf1, 0x28}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9c, 0x82, 0x7c, 0x64, 0x21, 0x66, 0xc9, 0x1e, 0x8b, 0x7b, 0x69, 0xc5, 0xea, 0x32, 0x3f, 0x70, 0x2e, 0xa1, 0x4d, 0x33, 0xcf, 0x7f, 0xc0, 0x92, 0xed, 0x1e, 0x18, 0x5c, 0xa4, 0xe4, 0xe, 0xfd}}
 	return a, nil
 }
 

From f30bc726a5ef0583ed1d6ab995324cdf3b52e7e7 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 24 Jan 2024 17:33:32 -0600
Subject: [PATCH 083/115] revert to event emission directly in the pre
 condition

---
 contracts/FungibleToken.cdc                | 48 +++++++++++-----------
 lib/go/contracts/internal/assets/assets.go |  6 +--
 2 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 1b0975f5..4b33f792 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -47,34 +47,31 @@ access(all) contract interface FungibleToken: ViewResolver {
     access(all) entitlement Withdraw
 
     /// The event that is emitted when tokens are withdrawn from a Vault
-    /// ****TODO**** Add view helper functions so that this event can be emitted
-    /// only when the amount is non-zero and the from address is non-nil
     access(all) event Withdrawn(type: String, amount: UFix64, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64)
-    access(self) view fun emitWithdrawnEvent(type: String, amount: UFix64, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64): Bool {
-        if (amount > 0.0) && (from != nil) && (from != 0x8624b52f9ddcd04a) | (from != 0x9eca2b38b18b5dfe) {
-            emit Withdrawn(type: type, amount: amount, from: from, fromUUID: fromUUID, withdrawnUUID: withdrawnUUID)
-        }
-        return true
-    }
+    // access(contract) view fun emitWithdrawnEvent(type: String, amount: UFix64, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64): Bool {
+    //     if (amount > 0.0) && (from != nil) && (from != 0x8624b52f9ddcd04a) && (from != 0x9eca2b38b18b5dfe) {
+    //         emit Withdrawn(type: type, amount: amount, from: from, fromUUID: fromUUID, withdrawnUUID: withdrawnUUID)
+    //     }
+    //     return true
+    // }
 
     /// The event that is emitted when tokens are deposited to a Vault
     access(all) event Deposited(type: String, amount: UFix64, to: Address?, toUUID: UInt64, depositedUUID: UInt64)
-    access(self) view fun emitDepositedEvent(type: String, amount: UFix64, to: Address?, toUUID: UInt64, depositedUUID: UInt64): Bool {
-        if (amount > 0.0) && (to != nil) && (to != 0x8624b52f9ddcd04a) | (to != 0x9eca2b38b18b5dfe) {
-            emit Deposited(type: type, amount: amount, to: to, toUUID: toUUID, depositedUUID: depositedUUID)
-        }
-        return true
-    }
+    // access(contract) view fun emitDepositedEvent(type: String, amount: UFix64, to: Address?, toUUID: UInt64, depositedUUID: UInt64): Bool {
+    //     if (amount > 0.0) && (to != nil) && (to != 0x8624b52f9ddcd04a) && (to != 0x9eca2b38b18b5dfe) {
+    //         emit Deposited(type: type, amount: amount, to: to, toUUID: toUUID, depositedUUID: depositedUUID)
+    //     }
+    //     return true
+    // }
 
     /// Event that is emitted when the global burn method is called with a non-zero balance
-    /// ****TODO**** Add Burner contract so that this event can be emitted
     access(all) event Burned(type: String, amount: UFix64, fromUUID: UInt64)
-    access(self) view fun emitBurnedEvent(type: String, amount: UFix64, fromUUID: UInt64): Bool {
-        if amount > 0.0 {
-            emit Burned(type: type, amount: amount, fromUUID: fromUUID)
-        }
-        return true
-    }
+    // access(contract) view fun emitBurnedEvent(type: String, amount: UFix64, fromUUID: UInt64): Bool {
+    //     if amount > 0.0 {
+    //         emit Burned(type: type, amount: amount, fromUUID: fromUUID)
+    //     }
+    //     return true
+    // }
 
     /// Balance
     ///
@@ -109,7 +106,8 @@ access(all) contract interface FungibleToken: ViewResolver {
                 // `result` refers to the return value
                 result.getBalance() == amount:
                     "Withdrawal amount must be the same as the balance of the withdrawn Vault"
-                emitWithdrawnEvent(type: self.getType().identifier, amount: amount, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
+                //FungibleToken.emitWithdrawnEvent(type: self.getType().identifier, amount: amount, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
+                emit Withdrawn(type: self.getType().identifier, amount: amount, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
             }
         }
     }
@@ -160,7 +158,8 @@ access(all) contract interface FungibleToken: ViewResolver {
         /// This is to prevent vault owners from spamming fake Burned events.
         access(contract) fun burnCallback() {
             pre {
-                FungibleToken.emitBurnedEvent(type: self.getType().identifier, amount: self.balance, fromUUID: self.uuid)
+                //FungibleToken.emitBurnedEvent(type: self.getType().identifier, amount: self.balance, fromUUID: self.uuid)
+                emit Burned(type: self.getType().identifier, amount: self.balance, fromUUID: self.uuid)
             }
             post {
                 self.balance == 0.0: "The balance must be set to zero during the burnCallback method so that it cannot be spammed"
@@ -213,7 +212,8 @@ access(all) contract interface FungibleToken: ViewResolver {
             pre {
                 from.isInstance(self.getType()): 
                     "Cannot deposit an incompatible token type"
-                emitDepositedEvent(type: from.getType().identifier, amount: from.getBalance(), to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
+                //FungibleToken.emitDepositedEvent(type: from.getType().identifier, amount: from.getBalance(), to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
+                emit Deposited(type: from.getType().identifier, amount: from.getBalance(), to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
             }
             post {
                 self.getBalance() == before(self.getBalance()) + before(from.getBalance()):
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 090a63d5..8615eca6 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken.cdc (10.263kB)
-// ../../../contracts/FungibleToken.cdc (10.871kB)
+// ../../../contracts/FungibleToken.cdc (11.165kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
 // ../../../contracts/utility/Burner.cdc (1.882kB)
@@ -99,7 +99,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x5f\x93\xdb\x36\x92\x7f\xd7\xa7\xe8\x73\xaa\x62\x69\x4e\xd6\xf8\x72\x49\x2a\x99\x3a\xc7\xb1\x13\xfb\xca\x0f\xbb\xd9\x8a\xc7\xf1\xc3\xee\x56\x09\x22\x9b\x12\x32\x10\xc0\x00\xa0\x64\xad\x77\xbe\xfb\x56\x37\x00\x92\xa0\xa8\x19\x4d\xb2\x5e\x3f\x78\x24\x12\xe8\x6e\xf4\xdf\x5f\x37\x74\x79\x71\x31\x99\x7c\x06\xd7\x1b\x84\xd7\xca\xec\xe1\x75\xa3\xd7\x72\xa5\x10\xae\xcd\x0d\x6a\x70\x5e\xe8\x52\xd8\x72\x32\xf9\xec\x33\x58\xa6\x97\xfc\x6e\x09\x85\xd1\xde\x8a\xc2\x4f\x26\xbc\x7d\x7c\x27\x48\x07\xda\x80\x32\x7a\x8d\x16\x84\x06\xa9\x3d\xda\x4a\x14\x38\xf1\x1b\xe1\x41\x28\x05\x55\xda\xea\x79\x6b\xa2\xeb\x60\x6f\x1a\x55\xc2\x46\xec\xe8\x15\x3d\xaf\x8c\xdd\x82\x37\x8b\xc9\xe4\x4d\x05\x02\x1a\x87\xd6\xc1\x5e\x68\xef\x68\x41\x89\xb5\x32\x07\x10\xa0\x71\x3f\xa0\x35\x07\xbf\x41\x69\x3b\x99\x4b\x83\x24\x98\x07\x8d\x58\xd2\x66\xb9\xad\x15\x6e\x51\x7b\x5a\x09\xd9\x51\x3b\x99\xe7\xb0\x6a\x7c\x24\xc5\x0c\xdc\xa4\x34\x27\x48\xb4\x9b\x1c\x94\x58\x49\x8d\x25\x48\x0d\x7e\x23\x5d\x2b\xc5\x22\xe8\xf5\x17\xd1\x28\xbf\x04\x8b\xce\x34\xb6\xe8\xed\x9c\x4c\x5e\x89\x62\x33\xd4\x4f\xbb\xce\x1f\x6a\x64\xe6\xee\x98\xfb\x69\xa2\x91\xe9\x5f\xac\xd9\xc9\x12\xed\x72\x0e\xcb\x9f\xb1\x40\xb9\xe3\xcf\x42\x97\xb0\x7c\x29\x94\xd0\x05\x8e\xed\x76\x6c\x6d\x37\x38\x5e\xa1\x84\x45\xa8\x2d\x3e\x29\x8c\x2e\xa5\x97\x46\x3b\x26\x55\x1b\xe7\xfb\xcf\xd8\xe6\x16\x9d\xb7\xb2\xf0\x13\x12\x14\x3f\x60\xd1\xd0\x4b\x30\x15\x4b\x5e\x35\xba\x08\x8b\x59\x5d\x08\x7c\x92\x05\xf3\x3d\x00\xf1\x71\x58\x0b\x2b\x3c\xc2\x0a\x0b\xd1\x90\x2c\x1e\xd6\x72\x87\x8e\x97\x93\x53\xf0\x07\xb1\x92\x4a\xfa\x03\xe9\xc6\x6d\x84\xc5\x89\x00\x8b\x15\x5a\xd4\x05\xfb\x53\x30\x23\x53\x0f\x72\x19\xad\x0e\x80\x1f\x6a\xe3\x22\xa9\x4a\xa2\x2a\x5d\x27\xd1\x44\x6a\x30\x1a\xc1\x58\xd8\x1a\x8b\x49\xe2\x4e\x15\xe4\x98\xe4\xd3\xce\x44\x81\x82\x87\x0e\xa4\xd9\x8a\x1b\x84\xa2\x71\xde\x6c\x5b\x0d\x47\xd5\xb4\x46\x24\xdd\xe4\x5a\x26\x07\x37\xb0\x13\x56\x9a\x86\x56\x4b\xbd\x76\xb0\x97\x7e\xc3\xe4\x83\x37\x2e\x26\xaf\x8d\x05\xfc\x20\x88\xcc\x1c\x04\x54\xa2\x29\xd0\x43\x21\x34\xac\xb0\xa3\x8e\x25\xac\x0e\x29\xa0\xa4\x5e\x4f\x82\x3a\x20\x39\x45\xe6\x2d\x17\x97\x93\x89\xdc\xd6\xc6\x7a\xf8\x45\xe2\xfe\x67\x74\x46\xed\xd0\x42\x65\xcd\x16\x1e\xf5\x1f\x3d\x4a\xeb\x5e\x36\x56\xb7\x2b\xc2\x97\x47\x93\xc9\xe5\xe5\x65\x1e\x58\xf4\x24\x7b\x1a\x93\x47\x2b\xa7\x88\x9e\x64\xb1\x97\x44\x2c\xfe\xd6\x48\x3b\x16\x72\x79\xa0\x30\xe5\xee\x20\xf0\x1e\xc1\x79\xa9\x54\x48\x28\xd2\x83\x70\x59\x42\x82\x0d\xda\xce\xa7\x3c\x7f\x63\x77\x33\x5b\xf6\xaa\xaa\x51\x4c\xb2\xf1\xc1\x92\x5b\xf4\x1b\x53\x46\xc3\x6d\x85\x3e\x40\x6d\xcd\xaf\xc8\x89\x8b\xd8\x04\x66\x94\x9d\x48\x52\x66\x6a\xf4\x20\x0f\xb9\x39\x93\x8c\x59\x25\xb8\xf7\xea\x40\x87\xdd\xa2\xd0\xae\x3d\xeb\x82\x13\x65\x70\x91\xee\x29\x7d\xe6\x67\xad\x07\x84\x33\x27\xa5\xb8\x2c\x15\x74\x69\x45\x14\x05\x3a\x37\x15\x4a\xcd\x5a\x49\x7a\x7a\xc8\x6c\x74\x95\x1b\xfd\xe3\x64\x02\x00\x70\x79\x09\x2f\x34\xa0\xf6\xd2\x47\xfd\x57\xc6\x92\x8c\x66\x2f\xf5\x9a\xd9\x92\x6b\x96\x56\xec\x85\xe2\x38\x61\xff\x0c\x1e\x21\x42\xd0\x31\xa1\xbe\x28\x7d\x72\xef\xe3\xee\xc4\xee\x92\x6b\x14\xee\x82\xa9\x83\x1a\x70\x2b\x3d\xb9\xf2\x7e\x83\x3a\x31\x20\x05\x26\xce\xfa\x98\x1d\x11\xba\xb8\xb8\xb8\xb8\xfe\xe9\xc7\x9f\xe8\x2f\xbc\x28\x4b\xd8\x49\xdc\xc3\x06\x55\x4d\x2e\xdb\x66\x1f\x67\x92\x6e\x89\x15\x33\x8e\x61\x14\xf9\xb6\x04\x39\x6f\x04\x21\x28\xd0\xb7\xa6\xd1\x3e\xd4\x3d\xfd\xe4\x1f\x68\x0d\x67\x42\xf6\x4f\x16\xa7\x2c\x2d\x3a\x97\x16\x68\xa9\x8e\x15\xb1\xeb\xab\x40\x4f\x29\xd1\x5f\xc1\x5b\x6f\xa5\x5e\xcf\x23\x83\x2b\x78\xf7\x5a\x7e\xf8\xfa\xcb\x39\x53\xbd\xa2\x83\x10\xd9\xe7\xe1\xfb\xbb\x77\x6f\x7e\xbc\x82\x77\x6f\xb4\xa7\x15\xad\x42\xfa\x8f\x67\x7d\xb6\x0e\x55\x35\x0b\x8a\xa8\x1a\xcd\x27\x6c\xd9\xbf\x22\x69\x3e\x91\x0c\x57\xf0\xd2\x18\x05\x1f\x59\x16\xfa\x27\x2b\x98\x46\x0d\x7e\x07\x4f\x17\x4f\x67\xf0\xf9\xe7\x30\x65\xc5\xfd\xd7\x33\xd0\x52\xe5\x0f\x9e\x7e\xf8\xe6\xeb\x2f\xbe\x5c\x7d\xf5\x45\xf5\x6d\x59\x16\xe5\xd3\x2f\xc5\x0c\xfe\xd9\x7f\xfd\x2d\x16\xe2\x8b\xd5\xff\x7e\xb3\xfa\x9f\x6f\x56\x5f\x95\x15\xce\x7a\xbc\xe8\x1f\x9d\xf4\x48\xd3\xf4\x7f\x77\xc6\xf0\x37\x9d\x91\xfe\xef\x9f\x2f\x7d\x3a\x3a\x61\xf6\x75\xd6\x32\xbd\x6d\x3f\x59\xf4\x8d\xd5\xe0\x6d\x83\x93\xf0\xe6\x77\xf8\x7a\x89\xb5\x71\xd2\x87\x6c\x78\x32\xb0\x98\xd4\x8f\x69\xe9\x3d\xb6\xf4\xa6\x6f\x49\x6f\x72\x3b\xb6\x0c\x1f\xe2\x4b\x2d\xeb\x73\x7c\xe9\xf7\xf0\x3f\xd3\x8f\xbc\xc9\xbc\x28\x7c\x3d\xe1\x43\xe9\xe5\x59\x1e\x34\xd4\xed\xb8\x07\xd1\xc9\xbc\xe9\xce\x14\xfe\x1e\x9d\x29\xfb\xfa\x40\xcf\x79\x75\x87\xd7\x6c\x10\xd6\xca\xac\x84\x82\x15\x6d\x0f\xf5\x8b\x96\x15\x42\x29\x5a\x45\x60\x42\x74\x69\x6b\x15\x60\xe0\xe9\xc4\x19\xcb\x7c\x5b\x42\xce\x4b\x99\xc7\x9e\xc9\x74\xee\x73\xcb\x61\x4a\xb9\xcf\xe7\x02\xd1\x73\x93\xd7\xbd\xde\xd4\x77\xa6\x31\x0f\xc8\xce\x70\x3a\x81\xe4\x49\xe3\x81\xc6\x7d\x99\x1b\x24\x4b\x17\x5d\xf9\x66\x13\xd4\x01\xc9\xb9\xae\x11\x6b\x2b\xdb\xdf\xda\x7d\x54\xb3\xd7\xe8\x3d\x95\xec\x68\x6c\x90\x8c\x09\x19\x78\x65\x7c\xfa\x56\x3b\x6e\x0b\x92\x68\x3d\xcd\x10\x83\xff\xc7\x80\x4d\x12\xf1\x08\x98\x77\x6d\x96\x1a\x52\x6e\x2d\xb8\x46\x1f\x49\x4e\x67\xc9\x52\x43\x75\x24\xb4\x7a\x8e\x3e\x90\x8e\x55\x44\x5c\x1f\xf1\x53\x80\x48\xa4\x84\x94\xab\x09\x0a\x27\x22\x7d\xc4\xc2\x28\x3f\xa1\x2a\x06\x38\x87\x1a\x17\x47\x7c\xdf\x78\x68\xfb\xca\xc8\x30\xe7\x65\x34\x2c\x57\xa9\xb9\x22\x80\x39\x6f\xf7\xf6\x7a\x19\x85\x82\x7a\x07\x53\xc7\xa0\xad\x8d\x73\x32\xb6\x0f\xa6\x82\xc2\xa2\x60\x21\x62\x0b\x11\x4d\x6d\x5d\x27\x3a\x9d\x98\x1a\x53\xee\x6f\x49\xbb\xc2\x4a\x75\x88\x8d\x2a\x03\x50\xb3\xd7\xc9\x2a\x8b\x87\xd8\xb9\xed\x10\x22\x10\x4c\x2c\x93\x06\xc1\x35\xab\xd8\xbd\xdf\xa9\xc0\x44\x3a\x23\x42\x38\x29\xb8\xbf\x4b\xb5\xac\xeb\x70\x2c\x6e\xcd\x8e\xeb\x5c\xe8\x74\x7a\x1b\x33\x22\xd7\xbd\x1e\xf2\xb1\x8b\xe7\x01\x85\x3b\x54\x94\xeb\x96\xf1\x80\xa9\xe6\xcf\x96\xd9\xee\xb7\x86\xda\x4e\x63\xe9\x88\x54\x51\xc3\x6e\xe9\xe7\xdc\xf8\x85\x81\x04\x4a\x6a\x0e\x5a\x6d\x82\x59\x11\xea\x07\xe9\x29\x0b\x65\xd4\x0c\x8f\x3c\x22\xae\x2d\x7b\xed\x27\x9f\x6a\x99\x64\x58\x8e\x9f\x66\x28\x29\x07\x46\x52\xf4\x34\xcf\x62\xb3\x2b\xf8\xfe\x23\x6b\xec\x76\x90\x9d\xa8\x05\x1f\x3c\x0a\x8c\x60\x69\xd1\xc5\x21\x41\xc5\x6d\xaa\x89\x8a\xe6\x04\xb4\x13\xaa\xc1\xa3\x6d\x61\xcb\xa2\x1f\x9e\xf0\xec\x59\x4a\x75\x47\xcb\xe9\xdf\xa3\xf7\x5d\x27\x10\xb3\xe8\xb6\x71\x9e\xca\x02\xb1\x73\x62\x8b\xd4\x8a\x8d\xe4\x89\x0e\xc8\xf3\xc9\x1e\x1d\x91\x3f\x89\x53\xc9\x12\x24\xe4\xf5\xa1\xc6\xe9\x6c\x21\x4b\xb2\x41\x25\xd1\x9e\x82\x75\xbc\xc1\xec\x35\xda\xe7\x8b\x88\xd0\xfb\x09\x9b\x5f\x37\x8d\x2c\x8f\x60\x5e\x54\x08\xbd\x9b\x65\xf2\xdd\x0e\x72\x7b\x2f\x71\xa5\x79\xcb\x1f\x4f\x5c\x11\x2a\x8c\xe4\x2d\xa9\xa3\x39\xcf\xc8\x5b\xef\x31\x65\x0b\xa9\x0b\xd5\x94\x08\x02\xda\xa1\x4d\x10\xa3\xd8\x60\x71\x93\x1b\x29\x66\xac\x96\xca\x1e\xdb\x66\x77\x2d\x77\x78\xce\xec\x23\xa8\x21\x34\xb1\x2d\x1d\x82\x0c\xa5\x49\x8b\xc6\x07\x1d\x73\x50\xf2\x06\xc1\xd5\x4a\x72\x85\xd9\x42\x53\x53\xfa\x68\x89\x38\x0c\x3d\xd7\x96\xe7\x26\xb2\xe2\xc0\xf3\x50\xab\x30\xa6\x81\xf3\x33\x5e\x32\xd6\x30\xe3\x45\xd5\x83\x17\x37\xd8\xa5\x2b\x4a\x61\xf1\x0d\xa5\x8d\x13\x66\xc8\x46\x78\x77\xc5\x3e\x0b\x45\x61\x1f\x69\x4e\x83\xb7\xa6\x50\x9f\xe5\x22\xad\xd1\xbf\x6d\xea\xda\x58\x8f\x25\x2f\x20\xf7\xa7\x42\x42\x76\x14\x4a\x1d\x7a\xd9\x55\x49\xe7\x29\xce\x76\x61\xfe\xc5\x0b\x3b\xf0\x96\x4c\xc3\x72\xd4\xde\xdd\x5b\xac\x47\xf8\x52\xe1\xfe\x78\xcd\xe1\x48\x70\xea\x36\x97\xf5\xe7\x28\xc9\x7e\x83\x9c\x4d\x8d\x65\x07\x64\x90\x2a\x77\x54\xf9\x0e\x35\x52\xc2\x0e\x12\x84\x89\x15\xbd\xcd\x82\x27\x51\x7b\x91\xce\xc1\xbe\x2a\x74\xdc\x05\x42\x1f\x02\x21\xb7\xe1\xd4\xfd\x2b\x25\x9e\x1e\xc2\x22\xa2\x25\x56\xf7\xe3\x11\xe9\x8e\x4f\x18\x73\x0d\x7d\x8c\x90\x71\x18\xe8\xd9\xe0\xa1\x83\x09\x25\x92\x31\xe6\x41\xd5\x9d\xa7\x85\xea\xc2\xd3\xc3\x6e\xd6\xdd\x9e\x77\x9e\x30\xd6\x1c\xae\xad\xd0\xae\x42\x6b\xec\xbc\x2d\xc8\x61\x74\x9b\xe6\x34\x1d\xac\x68\xba\x6e\x80\xf4\xeb\xd2\x29\xe0\x80\xfe\x21\x61\xc0\x47\xb9\xea\x49\xd3\x31\x6e\xe5\xea\x4f\x8a\x16\xe9\xc3\x3c\xb6\x09\x0b\xfa\x23\x56\x0a\x87\x81\xf4\x5a\xa2\x2a\xa3\xef\x59\x31\xcc\x32\xa6\x02\x71\x17\x60\x14\x36\x2d\x6d\x61\xe2\xa7\x84\xa0\x19\xed\x1f\x62\xdf\x44\xdd\x95\x18\x8e\xe9\xa5\xe3\x36\x0b\x4b\xd8\x49\x11\x06\x71\x51\x11\xf4\x78\x3a\x5b\xc6\x06\x2c\xa3\xf8\x66\x30\xf9\x8c\xb9\x90\xdc\x78\x65\xcc\xcd\x0d\x62\x4d\xf9\xc3\xd8\xd0\x74\xd0\x73\x6e\xa1\x5c\x46\x85\x75\x19\x3d\xbe\x6b\xbe\x92\x9c\x21\x52\xa4\x83\x12\x9d\xb7\xe6\x80\x65\x06\x3f\xe0\x4f\x44\x75\x38\x82\xdd\xf7\x67\x99\x4d\x5d\x0a\x8f\x5d\x3a\x7e\x4c\xd8\xc1\x0b\xc5\xde\xa5\x0e\xb9\x2c\x86\xe0\x85\x22\x80\x94\x8f\x2a\x5d\x18\x89\xae\x10\x75\x52\x54\xc0\x7f\x01\xe6\xb5\xb0\x31\xd0\x5c\xdc\xa9\x26\x8e\x99\x74\x0d\xe3\x06\x16\xf7\x06\x42\x3b\x8b\x95\xb1\x41\x6a\x2a\x0e\x83\xeb\x86\x01\x86\x94\x3c\xa0\xf3\x06\x6a\x1b\x7a\xd4\xa0\x35\x46\x08\x11\xd3\xba\x5a\x6c\xb7\x64\x8d\x8a\x6a\x5a\xe8\xff\xa2\x35\x16\x43\xcf\x4a\x2d\x72\x48\xe6\x74\x5c\xf2\x9d\x95\x28\x6e\xa6\xc3\x79\x42\x6d\x71\x04\xae\x65\x33\xd9\xc5\x78\x7f\x7b\x06\xe8\xe1\x25\xab\x14\xaf\x23\xf8\xe6\x14\x86\x81\xd3\x48\xb2\x4f\x93\xb0\xe0\xd3\xc5\xd3\x2b\x78\x74\xdd\xb3\x40\x82\x7b\x6c\x99\x68\x8d\xb2\xb1\x69\x52\xdc\x57\x47\x9a\x4a\xa4\x51\x82\xe4\x74\x4e\x99\x8b\xf6\x93\xc6\xb1\x7c\x74\x12\x67\xfd\xa7\xab\x61\xc2\x6c\xb1\x84\x0c\xa2\x06\x38\xbb\x33\xa0\x2a\xf3\xcb\x05\x66\x13\x06\x78\xf8\xa1\xc6\x22\x8d\x46\x7a\x41\xc3\x43\xe5\xb6\xf6\x75\x4d\x5b\x18\x2d\xb0\x7a\xf0\x10\x42\x48\x77\xbe\x1f\x7b\x41\xbe\xd7\xc8\x64\xc9\xc8\x13\x72\xe4\x83\x1d\x39\xff\x1f\x28\xef\x03\xcf\xb8\xbc\x84\x97\xa8\xcc\x3e\x20\x47\x56\x45\xef\xf6\x29\x21\x41\xd7\xd8\x88\x73\x6d\xa3\x9f\x78\xb9\x8d\xb7\x9a\x5c\x0a\x87\xf4\x58\x25\x6b\x4c\x05\xbc\x3f\xd7\xaa\x05\xc3\xbb\xb6\x6e\xc5\xfa\x19\x71\x63\x7e\x73\xbd\x08\xf7\x21\x0b\xc8\xe8\xcb\xea\x28\x7e\xdc\xdb\x66\x45\xd2\x4c\x4d\x15\xaa\xfc\xff\x7d\xff\x71\x84\xd2\xed\x77\xd3\xd9\x30\x88\xa1\x1b\xe4\x7c\xcc\xc9\x5e\x31\xee\xc8\x03\xeb\x16\x50\xb9\xb1\xa8\x6f\x71\x12\xb7\x91\xdb\xda\x1f\xa0\x94\x6c\x31\x61\x0f\xa9\x69\x4a\xce\xc7\x0d\x1b\xdb\xb6\x55\xc3\x7e\x63\xa0\x34\xfa\xb1\x1f\xa3\xdc\xdd\x9d\x8d\xea\x67\x0e\xae\x29\x36\xc4\x24\x7f\xfd\x76\x2f\x7d\xb1\x59\x19\x61\xcb\xe5\x1c\x96\xfc\xec\xb5\xb1\x7b\x41\x3d\xf3\x12\xd0\x17\x8b\x93\xaa\xb8\x3d\x2f\x72\x7f\x08\xcd\x86\xac\x46\xe0\x60\x07\x60\x18\x0f\x4a\xd7\x03\x59\x27\x3d\xf8\x3c\xf4\x36\x30\x40\x14\x3a\x99\x6f\x34\x04\xfe\x4a\x44\xfe\x0e\xcf\x9f\x43\x25\x94\xc3\x53\x07\x1a\x99\x8e\x2c\x43\x4a\x5e\x76\x85\x8e\xe9\x3e\x76\xd9\xd8\x15\x46\x27\x23\x1a\xf7\xc3\xe9\x48\x22\x4c\x7a\x39\xde\xff\xef\x1e\x29\x8c\x96\xa8\xa4\xa8\x6e\x30\xf0\xdd\x3d\x83\x81\x17\x61\x1a\xd0\xb5\xf9\xa9\x50\x28\x74\x9c\x7f\x35\x23\x9d\xdf\x1a\xa1\xc2\xb7\x11\x20\x37\x32\x19\x38\xab\x6a\x5d\x5e\x42\xbc\xe6\x05\x57\x63\x21\x85\x6a\xb3\x21\x2c\x03\x54\x58\x72\x2b\x1b\xd1\x44\x88\xae\xc8\xb4\x1b\xe2\xf1\x4f\x04\xc6\x88\x47\xa8\xb3\xc2\xb5\xd4\x9a\x31\x5b\x8e\x37\xba\x1f\x3e\x8c\xec\x3e\x43\xb7\xcf\x9e\x45\x40\x33\x3d\x7a\x37\x83\x27\x77\xeb\xfd\xcf\xad\xff\x0c\x2b\x34\xe7\x93\xd8\x2d\x77\x3a\x26\x0c\xc4\xbf\x3a\x48\xcb\xd3\x85\xe6\x60\x40\x93\xde\x9f\x59\xa0\x4f\x77\xd0\xa2\x2c\xa9\x7b\x76\x7d\x0c\x77\x64\xfb\xa3\xd0\x7f\x48\xff\x3c\x96\xc7\x87\x49\x9c\xfa\x4a\xe7\xd0\xf6\x90\x6b\x61\x74\x61\xd1\xc7\x2a\x15\xd5\xd3\xdd\xc1\xb5\xd0\x3a\x0d\xb6\x86\xf4\x62\xca\xee\x35\xab\x6d\x87\x9b\xd0\x50\xa4\x76\x46\xc0\xd1\x59\x16\xd2\xbd\xd1\xce\xb3\xe1\xf3\x42\x33\xbb\x82\x71\xeb\xff\x10\xf0\x54\xd2\x3e\xff\x04\xa2\x30\xdb\x5a\xf8\x5e\xf7\x42\xe7\x1b\x9f\xb7\x8d\xde\xe5\xb1\x28\x77\x43\xcf\xb4\xa4\x75\xd3\x70\x1f\x36\x3a\x78\x4b\x17\x64\xbd\xb1\xdb\xe0\x8e\x8c\xa9\xfd\x11\xc0\x7a\x7e\x30\xfd\x77\x7a\x77\x74\x82\xd9\xef\x8a\x2f\xd7\x6c\xef\x0d\xac\xce\xa5\xee\xcc\x6f\x83\x80\xe2\x9b\x01\x7c\x45\x38\x21\xc6\x92\x52\x66\xef\xb8\x4d\x0c\x3f\x8b\x32\x71\x4d\x56\x44\xd8\x0f\x37\x82\x42\xf0\xe8\xde\x0f\xee\x89\xab\x21\xcb\xe9\x83\x07\xd1\x27\x26\xca\x5d\x17\xa1\x71\xaf\x0e\x91\x51\xd4\x47\xd0\x27\x83\xdf\xbe\xc4\xa7\xd5\x04\xf9\x5c\xe6\x13\x28\x6a\x6c\x8c\x32\xaa\xa0\x5d\x82\x0f\x2d\xf6\x18\xcf\x46\x3d\x55\x8d\x68\xae\xd3\x5a\x08\x39\x52\x59\x8f\x32\x2b\xae\x85\xc9\x21\xdd\xb4\x57\x53\x5b\xe1\x8b\x4d\x74\x33\x17\x7e\x49\x75\x14\xed\x9f\xc4\x2a\xc9\x0e\xb7\xff\x0a\x00\x00\xff\xff\x85\xd6\x26\x8c\x77\x2a\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x5a\xdf\x93\xdb\xb6\xf1\x7f\xd7\x5f\xb1\xdf\xcb\x4c\x2c\xe5\x2b\xeb\xdc\x34\xc9\x24\x37\x75\x1c\x3b\xb1\x3b\x7e\x68\xa7\x63\x9f\xe3\x87\xb6\x33\x82\xc8\xa5\x84\x1c\x04\x30\x00\x28\x59\xf5\xdc\xff\xde\xd9\x05\x40\x12\x14\x75\x27\x3b\x71\x27\xf7\x60\x4b\x24\xb0\xd8\xdf\xfb\xd9\x85\x2e\xbf\xf8\x62\x32\xf9\x0c\xae\x37\x08\x2f\x94\xd9\xc3\x8b\x46\xaf\xe5\x4a\x21\x5c\x9b\x1b\xd4\xe0\xbc\xd0\xa5\xb0\xe5\x64\xf2\xd9\x67\xb0\x4c\x2f\xf9\xdd\x12\x0a\xa3\xbd\x15\x85\x9f\x4c\x78\xfb\xf8\x4e\x90\x0e\xb4\x01\x65\xf4\x1a\x2d\x08\x0d\x52\x7b\xb4\x95\x28\x70\xe2\x37\xc2\x83\x50\x0a\xaa\xb4\xd5\xf3\xd6\x44\xd7\xc1\xde\x34\xaa\x84\x8d\xd8\xd1\x2b\x7a\x5e\x19\xbb\x05\x6f\x16\x93\xc9\xcb\x0a\x04\x34\x0e\xad\x83\xbd\xd0\xde\xd1\x82\x12\x6b\x65\x0e\x20\x40\xe3\x7e\x40\x6b\x0e\x7e\x83\xd2\x76\x3c\x97\x06\x89\x31\x0f\x1a\xb1\xa4\xcd\x72\x5b\x2b\xdc\xa2\xf6\xb4\x12\x32\x51\x3b\x9e\xe7\xb0\x6a\x7c\x24\xc5\x07\xb8\x49\x69\x4e\x90\x68\x37\x39\x28\xb1\x92\x1a\x4b\x90\x1a\xfc\x46\xba\x96\x8b\x45\xd0\xeb\xcf\xa2\x51\x7e\x09\x16\x9d\x69\x6c\xd1\xdb\x39\x99\x3c\x17\xc5\x66\xa8\x9f\x76\x9d\x3f\xd4\xc8\x87\xbb\xe3\xd3\x4f\x13\x8d\x87\xfe\xc3\x9a\x9d\x2c\xd1\x2e\xe7\xb0\x7c\x85\x05\xca\x1d\x7f\x16\xba\x84\xe5\x33\xa1\x84\x2e\x70\x6c\xb7\x63\x6b\xbb\x81\x78\x85\x12\x16\xa1\xb6\xf8\xb0\x30\xba\x94\x5e\x1a\xed\x98\x54\x6d\x9c\xef\x3f\x63\x9b\x5b\x74\xde\xca\xc2\x4f\x88\x51\x7c\x87\x45\x43\x2f\xc1\x54\xcc\x79\xd5\xe8\x22\x2c\x66\x75\x21\xb0\x24\x0b\x3e\xf7\x00\x74\x8e\xc3\x5a\x58\xe1\x11\x56\x58\x88\x86\x78\xf1\xb0\x96\x3b\x74\xbc\x9c\x9c\x82\x3f\x88\x95\x54\xd2\x1f\x48\x37\x6e\x23\x2c\x4e\x04\x58\xac\xd0\xa2\x2e\xd8\x9f\x82\x19\x99\x7a\xe0\xcb\x68\x75\x00\x7c\x57\x1b\x17\x49\x55\x12\x55\xe9\x3a\x8e\x26\x52\x83\xd1\x08\xc6\xc2\xd6\x58\x4c\x1c\x77\xaa\x20\xc7\x24\x9f\x76\x26\x32\x14\x3c\x74\xc0\xcd\x56\xdc\x20\x14\x8d\xf3\x66\xdb\x6a\x38\xaa\xa6\x35\x22\xe9\x26\xd7\x32\x39\xb8\x81\x9d\xb0\xd2\x34\xb4\x5a\xea\xb5\x83\xbd\xf4\x1b\x26\x1f\xbc\x71\x31\x79\x61\x2c\xe0\x3b\x41\x64\xe6\x20\xa0\x12\x4d\x81\x1e\x0a\xa1\x61\x85\x1d\x75\x2c\x61\x75\x48\x01\x25\xf5\x7a\x12\xd4\x01\xc9\x29\x32\x6f\xf9\xe2\x72\x32\x91\xdb\xda\x58\x0f\x3f\x4b\xdc\xbf\x42\x67\xd4\x0e\x2d\x54\xd6\x6c\xe1\xa2\xff\xe8\x22\xad\x7b\xd6\x58\xdd\xae\x08\x5f\x2e\x26\x93\xcb\xcb\xcb\x3c\xb0\xe8\x49\xf6\x34\x26\x8f\x96\x4f\x11\x3d\xc9\x62\x2f\x89\x58\xfc\xb5\x91\x76\x2c\xe4\xf2\x40\x61\xca\x9d\x20\xf0\x16\xc1\x79\xa9\x54\x48\x28\xd2\x83\x70\x59\x42\x82\x0d\xda\xce\xa7\x3c\x7f\x63\x77\x33\x5b\xf6\xaa\xaa\x51\x4c\xb2\xf1\xc1\x92\x5b\xf4\x1b\x53\x46\xc3\x6d\x85\x3e\x40\x6d\xcd\x2f\xc8\x89\x8b\x8e\x09\x87\x51\x76\x22\x4e\xf9\x50\xa3\x07\x79\xc8\xcd\x99\x64\xcc\x2a\xc1\xbd\x57\x07\x12\x76\x8b\x42\xbb\x56\xd6\x05\x27\xca\xe0\x22\xdd\x53\xfa\xcc\xcf\x5a\x0f\x08\x32\x27\xa5\xb8\x2c\x15\x74\x69\x45\x14\x05\x3a\x37\x15\x4a\xcd\x5a\x4e\x7a\x7a\xc8\x6c\x74\x95\x1b\xfd\xfd\x64\x02\x00\x70\x79\x09\x4f\x35\xa0\xf6\xd2\x47\xfd\x57\xc6\x12\x8f\x66\x2f\xf5\x9a\x8f\x25\xd7\x2c\xad\xd8\x0b\xc5\x71\xc2\xfe\x19\x3c\x42\x84\xa0\x63\x42\x7d\x56\xfa\xe4\xde\xc6\xdd\xe9\xb8\x4b\xae\x51\xb8\x0b\xa6\x0e\x6a\xc0\xad\xf4\xe4\xca\xfb\x0d\xea\x74\x00\x29\x30\x9d\xac\xef\x39\x6e\xd7\x3f\x48\x4f\x29\x9d\x5e\xc1\x6b\x6f\xa5\x5e\xcf\x41\x6c\x4d\xa3\xfd\x15\xbc\x79\x21\xdf\x7d\xf3\xd5\x9c\x49\x5d\xc1\xd3\xb2\xb4\xe8\xdc\x93\xf0\xfd\xcd\x9b\x97\x3f\x5d\xc1\x9b\x97\xda\xd3\x8a\xf6\xd8\xfe\xe3\x59\x52\x57\x3c\x39\xa9\x7b\x06\x3b\x89\x7b\xf2\x58\x16\xa3\xe5\xe2\x39\x31\xf5\x89\x58\xb9\x82\x67\xc6\x28\x78\x9f\x58\xa2\x3f\x59\xc1\x34\xd0\x87\xef\xe1\xd1\xe2\xd1\x0c\x3e\xff\x1c\xa6\xac\xb7\xff\x7b\x0c\x5a\xaa\xfc\xc1\xa3\x77\xdf\x7e\xf3\xe5\x57\xab\xaf\xbf\xac\xbe\x2b\xcb\xa2\x7c\xf4\x95\x18\xbe\xff\x0e\x0b\xf1\xe5\xea\xcf\xdf\xae\xfe\xf4\xed\xea\xeb\xb2\xc2\x59\x7e\x1e\xfd\x91\xc0\x47\x7a\xa7\x7f\x3b\x51\xc3\xff\x49\x54\xfa\xb7\x2f\x66\xfa\x74\x24\x68\xf6\x75\xd6\x3f\xf7\xb6\xff\xc5\xa2\x6f\xac\x06\x6f\x1b\x4c\x8f\x6f\x3f\xc6\xd1\x4a\xac\x8d\x93\x3e\xa4\xa2\xbb\xdd\xec\xa7\xb4\xf4\x1e\xdb\x7a\xd3\xb7\xac\x37\xb9\x5d\xdb\x03\x3f\xc2\xc5\x5a\x0e\xce\x71\xb1\x8f\x61\xe3\x7c\xf7\xf2\x26\x73\xae\xf0\xf5\x94\x6b\xa5\xb7\xe7\x3a\xd6\x50\xd3\xe3\x8e\x45\x02\x7a\xd3\x89\x16\xfe\x3f\x12\x2d\xfb\xfa\xb1\x0e\xf5\xfc\x0e\x67\xda\x20\xac\x95\x59\x09\x05\x2b\xa2\x10\x6a\x0a\x2d\x2b\x84\x52\xb4\x8a\x0a\xbc\x00\x6d\xf4\xc3\xff\xa0\x35\xb0\x0a\xd0\xec\x84\x97\x71\xa9\xbd\xcf\xc5\x86\xe9\xe2\x4c\xff\x09\xb4\xcf\xcd\x4f\xe7\x78\x46\xdf\x31\x4e\x18\x33\x13\xe8\x74\x8a\xc8\xd3\xc2\xc7\xda\xe9\x59\x4f\xb7\x84\x4c\xfa\x09\xa1\xab\x8e\x6c\xc7\x3a\x00\x25\xd7\xf5\x39\x2d\x48\xfc\x57\xbb\x8f\x4a\xe2\x1a\xbd\xa7\x8a\x18\xed\x06\x92\x21\x17\xe3\x9a\xec\x9c\xbe\x2d\x8f\x51\x77\x62\x2d\x6a\x29\x1d\xf0\x57\x0c\xa5\x3f\x11\x8f\x78\x74\xd7\xe6\xa1\x21\xe5\xd6\xa0\x6b\xf4\x91\xe4\x74\x96\x0c\x37\x09\xea\x6a\xd9\x4f\x60\xf0\x1c\x7d\x20\x89\x55\x44\xd8\x1c\xe1\x49\x40\x20\xa4\x84\x94\x96\x09\x69\x26\x22\x7d\x40\xc0\x20\x3a\x81\x16\xc6\x0f\x87\x1a\x17\x47\xe7\xbe\xf4\xd0\xb6\x6d\xf1\xc0\xfc\x2c\xa3\x61\xb9\x4a\xbd\x0b\xe1\xb7\x79\xbb\xb7\xd7\x2a\x28\x14\x04\xcd\x4d\x1d\xe3\xaf\x36\xce\xc9\x88\xce\x4d\x05\x85\x45\xc1\x4c\x44\x84\x1e\x4d\x6d\x5d\xc7\x3a\x49\x4c\x7d\x1f\xb7\x8f\xa4\x5d\x61\xa5\x3a\xc4\x3e\x90\xf1\x9d\xd9\xeb\x64\x95\xc5\x87\xd8\xb9\x05\xe0\x11\x67\xa5\x23\x93\x06\xc1\x35\xab\xd8\x1c\xdf\xa9\xc0\x44\x3a\x23\x42\x0d\x59\x88\x00\x97\xaa\x55\xd7\x40\x58\xdc\x9a\x1d\x57\xb2\xd0\x48\xf4\x36\x66\x44\xae\x7b\x2d\xda\x03\x17\xe5\x01\x85\x3b\x54\x94\xb6\x96\x51\xc0\x54\xde\x67\xcb\x6c\xf7\x6b\x43\x5d\x9d\xb1\x24\x22\xd5\xcc\xb0\x5b\xfa\x39\xf7\x55\xa1\xdf\x47\x49\xd8\xbb\xd5\x26\x98\x15\x81\x6a\x90\xde\xa1\xaa\x32\x6a\x86\x27\x0a\x11\x36\x96\xbd\xee\x8e\xa5\x5a\x26\x1e\x96\xe3\xd2\x0c\x39\xe5\xc0\x48\x8a\x9e\xe6\x49\x6d\x76\x05\x3f\xbc\x67\x8d\xdd\xf6\x62\x90\xfe\xa8\xc3\x1d\x3c\x8a\x99\x65\x69\xd1\xc5\x1e\xbc\xe2\x2e\xd0\x44\x45\x73\x0e\xda\x09\xd5\xe0\xd1\xb6\xb0\x65\xd1\x0f\x4f\x78\xfc\x38\xe5\xbc\xa3\xe5\xf4\x77\xf1\xb6\x03\xda\x31\xa3\x6e\x1b\xe7\xa9\xdf\xa3\xe3\x9c\xd8\x22\x75\x3a\x23\x79\xa2\xc3\xc9\x2c\xd9\xc5\x88\x10\x59\x2b\xb0\x38\x89\x54\xc9\x32\xc4\xf4\xf5\xa1\xc6\xe9\x6c\x21\x4b\xb2\x49\x25\xd1\x9e\x42\x74\xbc\xc1\xec\x35\xda\x27\x0b\x11\x70\x46\x3f\x93\xf3\xeb\xa6\x91\xe5\x11\xc2\x8b\x0a\xa2\x77\xb3\x23\x7e\x47\x81\xe5\x1f\x80\xb7\xdb\x49\xfe\xa9\x97\x64\xd3\xe8\xe5\xb7\x27\xd9\x08\x55\x46\x72\xac\xd4\xd1\xf5\xce\xc8\xb1\x6f\x31\x65\x36\xa9\x0b\xd5\x94\x08\x02\xda\xf9\x4d\x60\xa3\xd8\x60\x71\x93\x3b\x54\xcc\xae\x2d\x95\x3d\xb6\x7d\xef\x5a\xee\xf0\x9c\x31\x48\x50\x43\xe8\x67\x5b\x3a\x85\xd0\xc4\x4e\x5c\x34\x3e\xf3\x98\x83\x92\x37\x08\xae\x56\x92\xab\xe1\x16\x9a\x9a\x52\x5d\x4b\xc4\xa1\x2e\xc3\x0b\x6f\xa0\x94\x15\x27\x09\x0f\xb5\x0a\x13\x1b\x38\x3f\x3b\x27\x63\x0d\xb3\x73\x54\x3d\x78\x71\x83\x5d\x6a\xa5\x74\x1b\xdf\x50\x8a\x3b\x61\x86\x6c\x9a\x77\x57\x9e\x62\xa6\x28\x45\x45\x9a\xd3\xe0\xad\x29\x2d\xcd\x72\x96\xd6\xe8\x5f\x37\x75\x6d\xac\xc7\x92\x17\x90\xfb\x53\xd1\x23\x3b\x0a\xa5\x0e\xbd\x4a\xa0\xa4\xf3\x94\x13\x76\x61\x14\xc6\x0b\xe3\x58\x81\x87\x0d\x51\x68\xe2\xa3\xf6\xee\x5e\x60\x31\x72\x2e\x81\x8c\xf7\xd7\x1c\x8e\x84\x04\x6f\x73\x5e\x5f\x45\x4e\xf6\x1b\xe4\xcc\x6f\x2c\x3b\x20\x63\x63\xb9\xa3\x2a\x7d\xa8\x91\x8a\x4b\xe0\x20\x0c\xaf\xe8\x6d\x16\x3c\x89\xda\xd3\x24\x07\xfb\xaa\xd0\x71\x17\x08\x7d\x08\x84\xdc\x86\xcb\xcc\x2f\x94\x24\x7b\x80\x90\x88\x96\x58\xdd\x8f\x9d\xa4\x3b\x96\x30\xe6\x1a\xfa\x18\xd1\xee\x30\xd0\xbb\xe6\x30\x83\x34\x25\x92\x31\xe6\x41\xd5\x9d\xa7\x85\x4a\xc8\x83\xc4\x6e\xec\xdd\xca\x3b\x4f\x78\x70\x0e\xd7\x56\x68\x57\xa1\x35\x76\xde\x82\x87\x30\xc5\x4d\x23\x9b\x0e\x02\x35\x5d\x13\x42\xfa\x75\x49\x0a\x38\xa0\xff\x90\x30\x60\x51\xae\x7a\xdc\x74\x07\xb7\x7c\xf5\x87\x46\x8b\xf4\x61\x1e\x07\x83\x0b\xfa\x4f\xac\x14\x0e\x03\xe9\x85\x44\x55\x46\xdf\xb3\x62\x98\x65\x4c\x05\xe2\x2e\x70\x2b\x6c\x5a\xda\x42\xda\x4f\x09\x97\x33\xda\x3f\xc6\x76\x8d\x9a\x3a\x31\x9c\xd8\x4b\xc7\xdd\x1d\x96\xb0\x93\x22\xcc\xe4\xa2\x22\xe8\xf1\x74\xb6\x8c\x7d\x5f\x46\xf1\xe5\x60\x08\x1a\x73\x21\xb9\xf1\xca\x98\x9b\x1b\xc4\x9a\xf2\x87\xb1\xa1\xec\xd1\x73\x6e\x02\x5d\x46\x85\x75\x19\x3d\x7e\x85\x79\xf3\x19\x95\x49\xec\x95\xe8\xbc\x35\x07\x2c\x33\xa8\x04\x7f\x23\xaa\xc3\x69\xec\xbe\x3f\xd6\x6c\xea\x52\x78\xec\xd2\xf1\x03\xc2\x39\x5e\x28\xf6\x2e\x75\xc8\x79\x31\x04\x85\x14\x81\xb9\x7c\x6a\xe9\xc2\x74\x74\x85\xa8\x93\xa2\x02\x56\x0d\x90\xb4\x85\xb8\x81\xe6\xe2\x4e\x35\x71\xcc\xa4\x1b\x19\x37\xb0\xb8\x37\x10\xba\x68\xac\x8c\x0d\x5c\x53\x71\x18\xdc\x3c\x0c\xf0\x2e\x05\x26\xa3\xb7\xda\x86\x2e\x3b\x68\x8d\x11\x42\xc4\xdf\xae\x16\xdb\x2d\x59\xa3\xa2\x9a\x16\x9a\xd6\x68\x8d\xc5\xd0\xb3\xba\xf6\x9a\x3c\x8b\xc4\x25\xdf\x59\x89\xe2\x66\x3a\x1b\x62\x4b\x8b\xa3\xd0\xf2\x18\x95\x1d\x37\xe7\x67\xc0\x1e\x5e\xb2\x4a\x11\x3b\x82\x70\x4e\x20\xac\xac\x29\xff\xfd\xcf\xb9\x3d\x07\x5f\xf7\x69\x12\x42\x7e\xb4\x78\x74\x05\x17\xd7\x3d\x5b\x27\x10\xcc\x3e\x10\xed\x5e\x36\x36\x8d\xa7\xfb\x8a\x4f\x63\x17\x67\x62\x82\xe4\xc2\x41\x39\x92\xf6\x93\x6d\xb1\xbc\x38\x89\xe8\xfe\xd7\x75\x37\xa1\xc3\x58\xac\x06\xf1\x09\x5c\x47\x18\xba\x95\xf9\x8d\x06\x1f\x13\x06\x97\xf8\xae\xc6\xc2\x63\x39\x0c\x4f\xbe\x01\x6b\xab\x6c\xd7\xca\x86\xc9\x0b\xab\x07\x0f\x21\x58\x75\x17\x65\xb1\x43\xe6\xcb\x94\x8c\x97\x8c\x3c\x61\x54\x16\xec\x28\xcc\x7e\x03\x90\x18\x78\xc6\xe5\x25\x3c\x43\x65\xf6\x01\xa3\xb2\x2a\x7a\x57\x5e\x09\x73\xba\xc6\x46\x44\x6d\x1b\xfd\xd0\xcb\x6d\xbc\x4a\xe5\xa2\x3b\xa4\xc7\x2a\x59\x63\x82\x0a\xfd\xc1\x5d\x2d\x18\x48\xb6\x15\x32\x56\xea\x88\x50\xf3\xeb\xf2\x45\xb8\x84\x59\x40\x46\x5f\x56\x47\xf1\xe3\x5e\x37\x2b\xe2\x66\x6a\xaa\x80\x27\xfe\xf2\xc3\xfb\x11\x4a\xb7\xdf\x4f\x67\xc3\x74\x01\xdd\x84\xeb\x7d\x4e\xf6\x8a\x11\x4e\x1e\x58\xb7\x80\xca\x8d\xe7\x97\x88\xc8\xb8\xb9\xde\xd6\xfe\x00\xa5\x64\x8b\x09\x7b\x48\xad\x64\x72\x3e\x6e\x63\xd9\xb6\xad\x1a\xf6\x1b\x03\xa5\xd1\x0f\xfc\x18\xe5\xee\xc2\x6e\x54\x3f\x73\x70\x4d\xb1\xa1\x43\xf2\xd7\xaf\xf7\xd2\x17\x9b\x95\x11\xb6\x5c\xce\x61\xc9\xcf\x5e\x18\xbb\x17\xb6\x44\xbb\x04\xf4\xc5\xe2\xa4\x2a\x6e\xcf\x8b\xdc\x1f\x43\x5b\x23\xab\x11\xe0\xd9\x41\x25\x46\x9e\xd2\xf5\xe0\xdc\x49\x0f\x3e\x0f\x27\x0e\x0c\x10\x99\x4e\xe6\x1b\x0d\x81\x7f\x12\x91\x7f\xc3\x93\x27\x50\x09\xe5\xf0\x94\x40\x23\x33\xa3\x65\x48\xc9\xcb\xae\xa4\x32\xdd\x07\x2e\x9b\x2b\xc3\xe8\xbc\x48\xe3\x7e\x38\x33\x4a\x84\x49\x2f\xc7\xfb\x7f\xef\x41\xcb\x68\x31\x4c\x8a\xea\xc6\x25\xdf\xdf\x33\x2e\x79\x1a\x66\x24\xdd\xf0\x23\x15\x0a\x85\x8e\xf3\xaf\x66\x4c\xf5\x6b\x23\x54\xf8\x36\x02\x19\x47\xe6\x25\x67\x55\xad\xcb\x4b\x88\x77\xcb\xe0\x6a\x2c\xa4\x50\x6d\x36\x84\x65\x00\x25\x4b\x6e\x9a\x23\x6e\x09\xd1\x15\x0f\xed\x46\x9b\xfc\xbb\x84\x31\xe2\x11\x54\xad\x70\x2d\xb5\x66\x74\x98\x23\x9b\xee\xd7\x16\x23\xbb\xcf\xd0\xed\xe3\xc7\x11\x3a\x4d\x8f\xde\xcd\xe0\xe1\xdd\x7a\xff\x7b\xeb\x3f\xc3\x0a\xcd\xf9\x24\xf6\xe5\x9d\x8e\x09\x6d\xf1\x4f\x1d\xd2\x72\x11\xda\xf8\xe1\xd8\x2a\xbd\x3f\xb3\x40\x9f\xee\xd5\x45\x59\x52\x9f\xee\xfa\x68\xf1\xc8\xf6\x47\xa1\xff\x21\x9d\xfa\x58\x1e\x1f\x26\x71\xea\x60\x9d\x43\xdb\xc3\xc8\x85\xd1\x85\x45\x1f\xab\x54\x54\x4f\x77\xf7\xd8\x82\xf8\x34\xee\x1b\xd2\x8b\x29\xbb\xd7\x16\xb7\xbd\x74\x42\x43\x91\xda\x19\x01\x47\xb2\x2c\xa4\x7b\xa9\x9d\x67\xc3\xe7\x85\x66\x76\x05\xe3\xd6\xff\x31\xe0\xa9\xa4\x7d\xfe\xdd\x45\x61\xb6\xb5\xf0\xbd\x3e\x89\xe4\x3b\x6f\x0a\x39\x7a\x99\xc9\xac\xdd\x0d\x45\xd3\x92\xd6\x6d\xc3\x4d\xe0\xe8\xc8\x2f\x5d\x0d\xf6\x06\x7e\x83\xdb\x41\xa6\x76\x07\x50\x1e\x5e\x45\xfe\x51\x18\x3c\x1f\x61\x9f\x1f\xfd\xff\x9f\xde\x1d\x49\x30\xfb\xa8\x84\xe0\x9a\xed\xbd\x99\xa0\x8b\x81\x3b\x13\xf2\x20\x03\xf0\x05\x0f\x3e\x27\x60\x13\x83\x5f\x29\xb3\x77\xdc\x41\x87\x1f\x8f\x99\xb8\x26\xab\x7a\x1c\x38\x1b\x41\x39\xe3\xe8\x26\x16\xee\x49\x04\xc3\x23\xa7\x1f\x7c\x9f\x70\xe2\x62\xa0\x6b\x7b\x34\xee\xd5\x21\x1e\x14\xf5\x11\xf4\xc9\x68\xbd\xcf\xf1\x69\x35\x41\x3e\xb2\xfa\x04\x8a\x1a\x9b\x30\x8d\x2a\x68\x97\xf0\x4e\x0b\x96\xc6\xd3\x67\x4f\x55\x23\x9a\xeb\xb4\x16\x42\x8e\x54\xd6\xa3\xcc\x8a\x6b\x71\x7d\xc8\x8f\xed\x0d\xe3\x56\xf8\x62\x13\xdd\xcc\x85\xdf\x9b\x1d\xa5\xa7\x4f\x62\x95\x64\x87\xdb\xff\x06\x00\x00\xff\xff\x36\x3e\xe2\x5e\x9d\x2b\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9c, 0x82, 0x7c, 0x64, 0x21, 0x66, 0xc9, 0x1e, 0x8b, 0x7b, 0x69, 0xc5, 0xea, 0x32, 0x3f, 0x70, 0x2e, 0xa1, 0x4d, 0x33, 0xcf, 0x7f, 0xc0, 0x92, 0xed, 0x1e, 0x18, 0x5c, 0xa4, 0xe4, 0xe, 0xfd}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0xb2, 0xd0, 0x3e, 0xe2, 0x7e, 0xed, 0xfa, 0x94, 0xf4, 0xd8, 0x3a, 0x19, 0xe, 0x21, 0x74, 0x46, 0x2e, 0x9b, 0x15, 0x2c, 0x21, 0x5f, 0xf7, 0x7e, 0xb8, 0xec, 0xb0, 0x7a, 0xd1, 0xfb, 0x6f}}
 	return a, nil
 }
 

From 01706d1b6a699a025ada1317a1432e37e165ebd1 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 24 Jan 2024 18:09:44 -0600
Subject: [PATCH 084/115] update sdk and cadence deps

---
 lib/go/templates/go.mod |   44 +-
 lib/go/templates/go.sum |  247 +--------
 lib/go/test/go.mod      |   15 +-
 lib/go/test/go.sum      | 1048 +++++++++++++++++++++++++++++++++++----
 4 files changed, 956 insertions(+), 398 deletions(-)

diff --git a/lib/go/templates/go.mod b/lib/go/templates/go.mod
index 5711b9f7..7defcaa0 100644
--- a/lib/go/templates/go.mod
+++ b/lib/go/templates/go.mod
@@ -2,46 +2,4 @@ module github.com/onflow/flow-ft/lib/go/templates
 
 go 1.19
 
-require (
-	github.com/kevinburke/go-bindata v3.22.0+incompatible
-	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2
-)
-
-require (
-	github.com/SaveTheRbtz/mph v0.1.2 // indirect
-	github.com/bits-and-blooms/bitset v1.5.0 // indirect
-	github.com/btcsuite/btcd/btcec/v2 v2.2.1 // indirect
-	github.com/davecgh/go-spew v1.1.1 // indirect
-	github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
-	github.com/ethereum/go-ethereum v1.9.13 // indirect
-	github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c // indirect
-	github.com/fxamacker/circlehash v0.3.0 // indirect
-	github.com/go-test/deep v1.1.0 // indirect
-	github.com/k0kubun/pp v3.0.1+incompatible // indirect
-	github.com/klauspost/cpuid/v2 v2.2.4 // indirect
-	github.com/kr/pretty v0.3.1 // indirect
-	github.com/kr/text v0.2.0 // indirect
-	github.com/logrusorgru/aurora/v4 v4.0.0 // indirect
-	github.com/mattn/go-colorable v0.1.13 // indirect
-	github.com/mattn/go-isatty v0.0.17 // indirect
-	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
-	github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1 // indirect
-	github.com/onflow/flow-go/crypto v0.24.7 // indirect
-	github.com/pkg/errors v0.9.1 // indirect
-	github.com/pmezard/go-difflib v1.0.0 // indirect
-	github.com/rivo/uniseg v0.4.4 // indirect
-	github.com/rogpeppe/go-internal v1.9.0 // indirect
-	github.com/stretchr/testify v1.8.4 // indirect
-	github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c // indirect
-	github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d // indirect
-	github.com/x448/float16 v0.8.4 // indirect
-	github.com/zeebo/blake3 v0.2.3 // indirect
-	github.com/zeebo/xxh3 v1.0.2 // indirect
-	go.opentelemetry.io/otel v1.14.0 // indirect
-	golang.org/x/crypto v0.7.0 // indirect
-	golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
-	golang.org/x/sys v0.6.0 // indirect
-	golang.org/x/text v0.8.0 // indirect
-	golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
-	gopkg.in/yaml.v3 v3.0.1 // indirect
-)
+require github.com/kevinburke/go-bindata v3.23.0+incompatible
diff --git a/lib/go/templates/go.sum b/lib/go/templates/go.sum
index f4cb2dfb..96e31ea1 100644
--- a/lib/go/templates/go.sum
+++ b/lib/go/templates/go.sum
@@ -1,245 +1,2 @@
-github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4=
-github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc=
-github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4=
-github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
-github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
-github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc=
-github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
-github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g=
-github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
-github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
-github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM=
-github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
-github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
-github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q=
-github.com/SaveTheRbtz/mph v0.1.2 h1:5l3W496Up+7BNOVJQnJhzcGBh+wWfxWdmPUAkx3WmaM=
-github.com/SaveTheRbtz/mph v0.1.2/go.mod h1:V4+WtKQPe2+dEA5os1WnGsEB0NR9qgqqgIiSt73+sT4=
-github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
-github.com/VictoriaMetrics/fastcache v1.5.3/go.mod h1:+jv9Ckb+za/P1ZRg/sulP5Ni1v49daAVERr0H3CuscE=
-github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM=
-github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ=
-github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
-github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
-github.com/bits-and-blooms/bitset v1.5.0 h1:NpE8frKRLGHIcEzkR+gZhiioW1+WbYV6fKwD6ZIpQT8=
-github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
-github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ=
-github.com/btcsuite/btcd/btcec/v2 v2.2.1 h1:xP60mv8fvp+0khmrN0zTdPC3cNm24rfeE6lh2R/Yv3E=
-github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8=
-github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s=
-github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
-github.com/cespare/xxhash/v2 v2.0.1-0.20190104013014-3767db7a7e18/go.mod h1:HD5P3vAIAh+Y2GAxg0PrPN1P8WkepXGpjbUPDHJqqKM=
-github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U=
-github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
-github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
-github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc=
-github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs=
-github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
-github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
-github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
-github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/dop251/goja v0.0.0-20200219165308-d1232e640a87/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA=
-github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
-github.com/elastic/gosigar v0.8.1-0.20180330100440-37f05ff46ffa/go.mod h1:cdorVVzy1fhmEqmtgqkoE3bYtCfSCkVyjTyCIo22xvs=
-github.com/ethereum/go-ethereum v1.9.13 h1:rOPqjSngvs1VSYH2H+PMPiWt4VEulvNRbFgqiGqJM3E=
-github.com/ethereum/go-ethereum v1.9.13/go.mod h1:qwN9d1GLyDh0N7Ab8bMGd0H9knaji2jOBm2RrMGjXls=
-github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
-github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
-github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c h1:5tm/Wbs9d9r+qZaUFXk59CWDD0+77PBqDREffYkyi5c=
-github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
-github.com/fxamacker/circlehash v0.3.0 h1:XKdvTtIJV9t7DDUtsf0RIpC1OcxZtPbmgIH7ekx28WA=
-github.com/fxamacker/circlehash v0.3.0/go.mod h1:3aq3OfVvsWtkWMb6A1owjOQFA+TLsD5FgJflnaQwtMM=
-github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww=
-github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
-github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
-github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
-github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg=
-github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
-github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.2-0.20190517061210-b285ee9cfc6c/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
-github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
-github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
-github.com/hashicorp/golang-lru v0.0.0-20160813221303-0a025b7e63ad/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-github.com/huin/goupnp v0.0.0-20161224104101-679507af18f3/go.mod h1:MZ2ZmwcBpvOoJ22IJsc7va19ZwoheaBk43rKg12SKag=
-github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY=
-github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
-github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
-github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
-github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd9g2S9Z40=
-github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg=
-github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
-github.com/kevinburke/go-bindata v3.22.0+incompatible h1:/JmqEhIWQ7GRScV0WjX/0tqBrC5D21ALg0H0U/KZ/ts=
-github.com/kevinburke/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
-github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
-github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk=
-github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
-github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
-github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
-github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
-github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
-github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
-github.com/logrusorgru/aurora/v4 v4.0.0 h1:sRjfPpun/63iADiSvGGjgA1cAYegEWMPCJdUpJYn9JA=
-github.com/logrusorgru/aurora/v4 v4.0.0/go.mod h1:lP0iIa2nrnT/qoFXcOZSrZQpJ1o6n2CUf/hyHi2Q4ZQ=
-github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
-github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
-github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
-github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
-github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
-github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
-github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
-github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
-github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
-github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
-github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
-github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
-github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
-github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
-github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
-github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
-github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
-github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo=
-github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
-github.com/onflow/cadence v1.0.0-preview.1 h1:Y/q/43aDc93/1Atsxx3+e2V/dZiQuF1TqkXEVboA5pY=
-github.com/onflow/cadence v1.0.0-preview.1/go.mod h1:Q5Up9Kt+J6zuAFmgrsiKz6t//E/hR5/iuVjH62pdztk=
-github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1 h1:xIFPRIA/pmyplEu5JxuMCfC6zfdqRW7QDHYJ8ogCNuc=
-github.com/onflow/cadence v1.0.0-preview.1.0.20231213191345-0ff20e15e7e1/go.mod h1:60RhxKY5V4DXFQfvXQa48eZZVN19O7Lu9cp53FM54vo=
-github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2 h1:vUVO6m85BiT8c50Oc8YGc3CU+sGqiKW9FZbmiRph2dU=
-github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2/go.mod h1:mbLrR3MkYbi9LH3yasDj1jrR4QTR8vjRLVFCm4jMHn0=
-github.com/onflow/flow-go/crypto v0.24.7 h1:RCLuB83At4z5wkAyUCF7MYEnPoIIOHghJaODuJyEoW0=
-github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
-github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
-github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34=
-github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0=
-github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
-github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
-github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
-github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
-github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
-github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
-github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
-github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
-github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho=
-github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
-github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
-github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
-github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ=
-github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
-github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
-github.com/spaolacci/murmur3 v1.0.1-0.20190317074736-539464a789e9/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
-github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q=
-github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw=
-github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
-github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
-github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
-github.com/supranational/blst v0.3.10 h1:CMciDZ/h4pXDDXQASe8ZGTNKUiVNxVVA5hpci2Uuhuk=
-github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d/go.mod h1:9OrXJhf154huy1nPWmuSrkgjPUtUNhA+Zmy+6AESzuA=
-github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c h1:HelZ2kAFadG0La9d+4htN4HzQ68Bm2iM9qKMSMES6xg=
-github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c/go.mod h1:JlzghshsemAMDGZLytTFY8C1JQxQPhnatWqNwUXjggo=
-github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d h1:5JInRQbk5UBX8JfUvKh2oYTLMVwj3p6n+wapDDm7hko=
-github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d/go.mod h1:Nlx5Y115XQvNcIdIy7dZXaNSUpzwBSge4/Ivk93/Yog=
-github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs=
-github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
-github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees=
-github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
-github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
-github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
-github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
-github.com/zeebo/blake3 v0.2.3 h1:TFoLXsjeXqRNFxSbk35Dk4YtszE/MQQGK10BH4ptoTg=
-github.com/zeebo/blake3 v0.2.3/go.mod h1:mjJjZpnsyIVtVgTOSpJ9vmRE4wgDeyt2HU3qXvvKCaQ=
-github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo=
-github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4=
-github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
-github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
-go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM=
-go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
-go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
-golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
-golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
-golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
-golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
-golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
-golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
-golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
-golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
-golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
-golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
-golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
-gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
-gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
-gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c=
-gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200316214253-d7b0ff38cac9/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
-gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
-gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
-lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0=
-pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g=
+github.com/kevinburke/go-bindata v3.23.0+incompatible h1:rqNOXZlqrYhMVVAsQx8wuc+LaA73YcfbQ407wAykyS8=
+github.com/kevinburke/go-bindata v3.23.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index d7fb755c..dc34a6bc 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -3,11 +3,11 @@ module github.com/onflow/flow-ft/lib/go/test
 go 1.18
 
 require (
-	github.com/onflow/cadence v1.0.0-preview.2.0.20240122125204-5ce1f36f95bb
+	github.com/onflow/cadence v1.0.0-preview.2.0.20240120000236-f3397a0efdad
 	github.com/onflow/flow-emulator v0.59.1-0.20240122200325-58ef35ed4aed
 	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20231212194336-a2802ba36596
 	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
-	github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2.0.20240122164005-147ad40664ca
+	github.com/onflow/flow-go-sdk v0.44.1-0.20240124213231-78d9f08eeae1
 	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240120002146-9f1763b66d80
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
@@ -21,6 +21,7 @@ require (
 	github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect
 	github.com/ethereum/c-kzg-4844 v0.4.0 // indirect
 	github.com/mmcloughlin/addchain v0.4.0 // indirect
+	github.com/onflow/crypto v0.25.0 // indirect
 	github.com/supranational/blst v0.3.11 // indirect
 	golang.org/x/mod v0.14.0 // indirect
 	golang.org/x/tools v0.16.0 // indirect
@@ -69,12 +70,12 @@ require (
 	github.com/golang/glog v1.1.2 // indirect
 	github.com/golang/protobuf v1.5.3 // indirect
 	github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
-	github.com/google/uuid v1.3.1 // indirect
+	github.com/google/uuid v1.4.0 // indirect
 	github.com/gorilla/websocket v1.5.0 // indirect
 	github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect
 	github.com/hashicorp/errwrap v1.1.0 // indirect
 	github.com/hashicorp/go-multierror v1.1.1 // indirect
-	github.com/hashicorp/golang-lru v0.5.4 // indirect
+	github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect
 	github.com/hashicorp/golang-lru/v2 v2.0.2 // indirect
 	github.com/hashicorp/hcl v1.0.0 // indirect
 	github.com/holiman/bloomfilter/v2 v2.0.3 // indirect
@@ -184,9 +185,9 @@ require (
 	golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
 	gonum.org/v1/gonum v0.13.0 // indirect
 	google.golang.org/appengine v1.6.7 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
-	google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
-	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b // indirect
+	google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index f4017f0a..29e5b23e 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -1,12 +1,15 @@
+cloud.google.com/go v0.0.0-20170206221025-ce650573d812/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
+cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg=
 cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
 cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
 cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
 cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
 cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
 cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
+cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw=
 cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
 cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
 cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
@@ -36,69 +39,130 @@ cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRY
 cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM=
 cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I=
 cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY=
+cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw=
+cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI=
+cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI=
+cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI=
+cloud.google.com/go v0.110.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk=
 cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4=
 cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw=
 cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E=
+cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68=
+cloud.google.com/go/accessapproval v1.7.2/go.mod h1:/gShiq9/kK/h8T/eEn1BTzalDvk0mZxJlhfw0p+Xuc0=
 cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o=
 cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE=
 cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM=
+cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ=
+cloud.google.com/go/accesscontextmanager v1.8.0/go.mod h1:uI+AI/r1oyWK99NN8cQ3UK76AMelMzgZCvJfsi2c+ps=
+cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo=
+cloud.google.com/go/accesscontextmanager v1.8.2/go.mod h1:E6/SCRM30elQJ2PKtFMs2YhfJpZSNcJyejhuzoId4Zk=
 cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw=
 cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY=
 cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg=
 cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ=
+cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k=
+cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw=
+cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA=
+cloud.google.com/go/aiplatform v1.48.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA=
+cloud.google.com/go/aiplatform v1.50.0/go.mod h1:IRc2b8XAMTa9ZmfJV1BCCQbieWWvDnP1A8znyz5N7y4=
+cloud.google.com/go/aiplatform v1.51.0/go.mod h1:IRc2b8XAMTa9ZmfJV1BCCQbieWWvDnP1A8znyz5N7y4=
+cloud.google.com/go/aiplatform v1.51.1/go.mod h1:kY3nIMAVQOK2XDqDPHaOuD9e+FdMA6OOpfBjsvaFSOo=
 cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI=
 cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4=
 cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M=
 cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE=
+cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE=
+cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo=
+cloud.google.com/go/analytics v0.21.3/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo=
+cloud.google.com/go/analytics v0.21.4/go.mod h1:zZgNCxLCy8b2rKKVfC1YkC2vTrpfZmeRCySM3aUbskA=
 cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk=
 cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc=
 cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8=
+cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA=
+cloud.google.com/go/apigateway v1.6.2/go.mod h1:CwMC90nnZElorCW63P2pAYm25AtQrHfuOkbRSHj0bT8=
 cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc=
 cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04=
 cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8=
+cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs=
+cloud.google.com/go/apigeeconnect v1.6.2/go.mod h1:s6O0CgXT9RgAxlq3DLXvG8riw8PYYbU/v25jqP3Dy18=
 cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY=
 cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM=
+cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc=
+cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw=
+cloud.google.com/go/apigeeregistry v0.7.2/go.mod h1:9CA2B2+TGsPKtfi3F7/1ncCCsL62NXBRfM6iPoGSM+8=
 cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU=
 cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI=
+cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8=
 cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno=
 cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak=
 cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84=
+cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A=
+cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E=
+cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY=
+cloud.google.com/go/appengine v1.8.2/go.mod h1:WMeJV9oZ51pvclqFN2PqHoGnys7rK0rz6s3Mp6yMvDo=
 cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4=
 cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0=
 cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY=
 cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k=
+cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg=
+cloud.google.com/go/area120 v0.8.2/go.mod h1:a5qfo+x77SRLXnCynFWPUZhnZGeSgvQ+Y0v1kSItkh4=
 cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ=
 cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk=
 cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0=
 cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc=
 cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI=
 cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ=
+cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI=
+cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08=
+cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E=
+cloud.google.com/go/artifactregistry v1.14.2/go.mod h1:Xk+QbsKEb0ElmyeMfdHAey41B+qBq3q5R5f5xD4XT3U=
+cloud.google.com/go/artifactregistry v1.14.3/go.mod h1:A2/E9GXnsyXl7GUvQ/2CjHA+mVRoWAXC0brg2os+kNI=
 cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o=
 cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s=
 cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0=
 cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ=
 cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY=
 cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo=
+cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg=
+cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw=
+cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ=
+cloud.google.com/go/asset v1.15.0/go.mod h1:tpKafV6mEut3+vN9ScGvCHXHj7FALFVta+okxFECHcg=
+cloud.google.com/go/asset v1.15.1/go.mod h1:yX/amTvFWRpp5rcFq6XbCxzKT8RJUam1UoboE179jU4=
 cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY=
 cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw=
 cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI=
 cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo=
 cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0=
 cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E=
+cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0=
+cloud.google.com/go/assuredworkloads v1.11.2/go.mod h1:O1dfr+oZJMlE6mw0Bp0P1KZSlj5SghMBvTpZqIcUAW4=
 cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0=
 cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8=
 cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8=
 cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM=
 cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU=
+cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE=
+cloud.google.com/go/automl v1.13.2/go.mod h1:gNY/fUmDEN40sP8amAX3MaXkxcqPIn7F1UIIPZpy4Mg=
 cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc=
 cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI=
 cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss=
+cloud.google.com/go/baremetalsolution v1.1.1/go.mod h1:D1AV6xwOksJMV4OSlWHtWuFNZZYujJknMAP4Qa27QIA=
+cloud.google.com/go/baremetalsolution v1.2.0/go.mod h1:68wi9AwPYkEWIUT4SvSGS9UJwKzNpshjHsH4lzk8iOw=
+cloud.google.com/go/baremetalsolution v1.2.1/go.mod h1:3qKpKIw12RPXStwQXcbhfxVj1dqQGEvcmA+SX/mUR88=
 cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE=
 cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE=
 cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g=
+cloud.google.com/go/batch v1.3.1/go.mod h1:VguXeQKXIYaeeIYbuozUmBR13AfL4SJP7IltNPS+A4A=
+cloud.google.com/go/batch v1.4.1/go.mod h1:KdBmDD61K0ovcxoRHGrN6GmOBWeAOyCgKD0Mugx4Fkk=
+cloud.google.com/go/batch v1.5.0/go.mod h1:KdBmDD61K0ovcxoRHGrN6GmOBWeAOyCgKD0Mugx4Fkk=
+cloud.google.com/go/batch v1.5.1/go.mod h1:RpBuIYLkQu8+CWDk3dFD/t/jOCGuUpkpX+Y0n1Xccs8=
 cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4=
 cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8=
 cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM=
+cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU=
+cloud.google.com/go/beyondcorp v0.6.1/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4=
+cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4=
+cloud.google.com/go/beyondcorp v1.0.1/go.mod h1:zl/rWWAFVeV+kx+X2Javly7o1EIQThU4WlkynffL/lk=
 cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
 cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
 cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
@@ -110,34 +174,67 @@ cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUu
 cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc=
 cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E=
 cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac=
+cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q=
+cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU=
+cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4=
+cloud.google.com/go/bigquery v1.53.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4=
+cloud.google.com/go/bigquery v1.55.0/go.mod h1:9Y5I3PN9kQWuid6183JFhOGOW3GcirA5LpsKCUn+2ec=
+cloud.google.com/go/bigquery v1.56.0/go.mod h1:KDcsploXTEY7XT3fDQzMUZlpQLHzE4itubHrnmhUrZA=
+cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o=
 cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY=
 cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s=
 cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI=
 cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y=
 cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss=
+cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc=
+cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA=
+cloud.google.com/go/billing v1.17.0/go.mod h1:Z9+vZXEq+HwH7bhJkyI4OQcR6TSbeMrjlpEjO2vzY64=
+cloud.google.com/go/billing v1.17.1/go.mod h1:Z9+vZXEq+HwH7bhJkyI4OQcR6TSbeMrjlpEjO2vzY64=
+cloud.google.com/go/billing v1.17.2/go.mod h1:u/AdV/3wr3xoRBk5xvUzYMS1IawOAPwQMuHgHMdljDg=
 cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM=
 cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI=
 cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0=
 cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk=
 cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q=
+cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U=
+cloud.google.com/go/binaryauthorization v1.7.0/go.mod h1:Zn+S6QqTMn6odcMU1zDZCJxPjU2tZPV1oDl45lWY154=
+cloud.google.com/go/binaryauthorization v1.7.1/go.mod h1:GTAyfRWYgcbsP3NJogpV3yeunbUIjx2T9xVeYovtURE=
 cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg=
 cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590=
 cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8=
+cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI=
+cloud.google.com/go/certificatemanager v1.7.2/go.mod h1:15SYTDQMd00kdoW0+XY5d9e+JbOPjp24AvF48D8BbcQ=
 cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk=
 cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk=
 cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE=
+cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU=
+cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc=
+cloud.google.com/go/channel v1.17.0/go.mod h1:RpbhJsGi/lXWAUM1eF4IbQGbsfVlg2o8Iiy2/YLfVT0=
+cloud.google.com/go/channel v1.17.1/go.mod h1:xqfzcOZAcP4b/hUDH0GkGg1Sd5to6di1HOJn/pi5uBQ=
 cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U=
 cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA=
 cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M=
 cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg=
+cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s=
+cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU=
+cloud.google.com/go/cloudbuild v1.13.0/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU=
+cloud.google.com/go/cloudbuild v1.14.0/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU=
+cloud.google.com/go/cloudbuild v1.14.1/go.mod h1:K7wGc/3zfvmYWOWwYTgF/d/UVJhS4pu+HAy7PL7mCsU=
 cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM=
 cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk=
 cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA=
+cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI=
+cloud.google.com/go/clouddms v1.7.0/go.mod h1:MW1dC6SOtI/tPNCciTsXtsGNEM0i0OccykPvv3hiYeM=
+cloud.google.com/go/clouddms v1.7.1/go.mod h1:o4SR8U95+P7gZ/TX+YbJxehOCsM+fe6/brlrFquiszk=
 cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY=
 cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI=
 cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4=
 cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI=
 cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y=
+cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs=
+cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM=
+cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM=
+cloud.google.com/go/cloudtasks v1.12.2/go.mod h1:A7nYkjNlW2gUoROg1kvJrQGhJP/38UaWwsnuBDOBVUk=
 cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow=
 cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM=
 cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M=
@@ -151,6 +248,13 @@ cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARy
 cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo=
 cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA=
 cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs=
+cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU=
+cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE=
+cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI=
+cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
+cloud.google.com/go/compute v1.21.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
+cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
+cloud.google.com/go/compute v1.23.1/go.mod h1:CqB3xpmPKKt3OJpW2ndFIXnA9A4xAy/F3Xp1ixncW78=
 cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU=
 cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
 cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
@@ -158,12 +262,26 @@ cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2Aawl
 cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY=
 cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck=
 cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w=
+cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM=
+cloud.google.com/go/contactcenterinsights v1.10.0/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM=
+cloud.google.com/go/contactcenterinsights v1.11.0/go.mod h1:hutBdImE4XNZ1NV4vbPJKSFOnQruhC5Lj9bZqWMTKiU=
+cloud.google.com/go/contactcenterinsights v1.11.1/go.mod h1:FeNP3Kg8iteKM80lMwSk3zZZKVxr+PGnAId6soKuXwE=
 cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg=
 cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo=
 cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4=
+cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM=
+cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA=
+cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4=
+cloud.google.com/go/container v1.24.0/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4=
+cloud.google.com/go/container v1.26.0/go.mod h1:YJCmRet6+6jnYYRS000T6k0D0xUXQgBSaJ7VwI8FBj4=
+cloud.google.com/go/container v1.26.1/go.mod h1:5smONjPRUxeEpDG7bMKWfDL4sauswqEtnBK1/KKpR04=
 cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I=
 cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4=
 cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI=
+cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s=
+cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0=
+cloud.google.com/go/containeranalysis v0.11.0/go.mod h1:4n2e99ZwpGxpNcz+YsFT1dfOHPQFGcAC8FN2M2/ne/U=
+cloud.google.com/go/containeranalysis v0.11.1/go.mod h1:rYlUOM7nem1OJMKwE1SadufX0JP3wnXj844EtZAwWLY=
 cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0=
 cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs=
 cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc=
@@ -171,39 +289,79 @@ cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H
 cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM=
 cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M=
 cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0=
+cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8=
+cloud.google.com/go/datacatalog v1.14.0/go.mod h1:h0PrGtlihoutNMp/uvwhawLQ9+c63Kz65UFqh49Yo+E=
+cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4=
+cloud.google.com/go/datacatalog v1.16.0/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4=
+cloud.google.com/go/datacatalog v1.17.1/go.mod h1:nCSYFHgtxh2MiEktWIz71s/X+7ds/UT9kp0PC7waCzE=
+cloud.google.com/go/datacatalog v1.18.0/go.mod h1:nCSYFHgtxh2MiEktWIz71s/X+7ds/UT9kp0PC7waCzE=
+cloud.google.com/go/datacatalog v1.18.1/go.mod h1:TzAWaz+ON1tkNr4MOcak8EBHX7wIRX/gZKM+yTVsv+A=
 cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM=
 cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ=
 cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE=
+cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw=
+cloud.google.com/go/dataflow v0.9.2/go.mod h1:vBfdBZ/ejlTaYIGB3zB4T08UshH70vbtZeMD+urnUSo=
 cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo=
 cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE=
 cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0=
 cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA=
+cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE=
+cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M=
+cloud.google.com/go/dataform v0.8.2/go.mod h1:X9RIqDs6NbGPLR80tnYoPNiO1w0wenKTb8PxxlhTMKM=
 cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38=
 cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w=
 cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8=
+cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI=
+cloud.google.com/go/datafusion v1.7.2/go.mod h1:62K2NEC6DRlpNmI43WHMWf9Vg/YvN6QVi8EVwifElI0=
 cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I=
 cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ=
 cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM=
+cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY=
+cloud.google.com/go/datalabeling v0.8.2/go.mod h1:cyDvGHuJWu9U/cLDA7d8sb9a0tWLEletStu2sTmg3BE=
 cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA=
 cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A=
 cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ=
+cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs=
+cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE=
+cloud.google.com/go/dataplex v1.9.0/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE=
+cloud.google.com/go/dataplex v1.9.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE=
+cloud.google.com/go/dataplex v1.10.1/go.mod h1:1MzmBv8FvjYfc7vDdxhnLFNskikkB+3vl475/XdCDhs=
 cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s=
 cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI=
 cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4=
+cloud.google.com/go/dataproc/v2 v2.0.1/go.mod h1:7Ez3KRHdFGcfY7GcevBbvozX+zyWGcwLJvvAMwCaoZ4=
+cloud.google.com/go/dataproc/v2 v2.2.0/go.mod h1:lZR7AQtwZPvmINx5J87DSOOpTfof9LVZju6/Qo4lmcY=
+cloud.google.com/go/dataproc/v2 v2.2.1/go.mod h1:QdAJLaBjh+l4PVlVZcmrmhGccosY/omC1qwfQ61Zv/o=
 cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo=
 cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA=
 cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c=
+cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8=
+cloud.google.com/go/dataqna v0.8.2/go.mod h1:KNEqgx8TTmUipnQsScOoDpq/VlXVptUqVMZnt30WAPs=
 cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
 cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
 cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM=
+cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c=
+cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70=
+cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70=
+cloud.google.com/go/datastore v1.13.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70=
+cloud.google.com/go/datastore v1.14.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8=
+cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8=
 cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo=
 cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ=
 cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g=
 cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4=
 cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs=
+cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww=
+cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q=
+cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q=
+cloud.google.com/go/datastream v1.10.1/go.mod h1:7ngSYwnw95YFyTd5tOGBxHlOZiL+OtpjheqU7t2/s/c=
 cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c=
 cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s=
 cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI=
+cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ=
+cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g=
+cloud.google.com/go/deploy v1.13.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g=
+cloud.google.com/go/deploy v1.13.1/go.mod h1:8jeadyLkH9qu9xgO3hVWw8jVr29N1mnW42gRJT8GY6g=
 cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4=
 cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0=
 cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8=
@@ -211,57 +369,107 @@ cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz
 cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0=
 cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM=
 cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4=
+cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE=
+cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4=
+cloud.google.com/go/dialogflow v1.40.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4=
+cloud.google.com/go/dialogflow v1.43.0/go.mod h1:pDUJdi4elL0MFmt1REMvFkdsUTYSHq+rTCS8wg0S3+M=
+cloud.google.com/go/dialogflow v1.44.0/go.mod h1:pDUJdi4elL0MFmt1REMvFkdsUTYSHq+rTCS8wg0S3+M=
+cloud.google.com/go/dialogflow v1.44.1/go.mod h1:n/h+/N2ouKOO+rbe/ZnI186xImpqvCVj2DdsWS/0EAk=
 cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM=
 cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q=
 cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4=
+cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI=
+cloud.google.com/go/dlp v1.10.2/go.mod h1:ZbdKIhcnyhILgccwVDzkwqybthh7+MplGC3kZVZsIOQ=
 cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU=
 cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU=
 cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k=
 cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4=
 cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM=
+cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs=
+cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E=
+cloud.google.com/go/documentai v1.22.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E=
+cloud.google.com/go/documentai v1.22.1/go.mod h1:LKs22aDHbJv7ufXuPypzRO7rG3ALLJxzdCXDPutw4Qc=
+cloud.google.com/go/documentai v1.23.0/go.mod h1:LKs22aDHbJv7ufXuPypzRO7rG3ALLJxzdCXDPutw4Qc=
+cloud.google.com/go/documentai v1.23.2/go.mod h1:Q/wcRT+qnuXOpjAkvOV4A+IeQl04q2/ReT7SSbytLSo=
 cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y=
 cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg=
 cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE=
+cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE=
+cloud.google.com/go/domains v0.9.2/go.mod h1:3YvXGYzZG1Temjbk7EyGCuGGiXHJwVNmwIf+E/cUp5I=
 cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk=
 cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w=
 cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc=
+cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY=
+cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk=
+cloud.google.com/go/edgecontainer v1.1.2/go.mod h1:wQRjIzqxEs9e9wrtle4hQPSR1Y51kqN75dgF7UllZZ4=
 cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU=
 cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI=
 cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8=
 cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M=
+cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4=
+cloud.google.com/go/essentialcontacts v1.6.3/go.mod h1:yiPCD7f2TkP82oJEFXFTou8Jl8L6LBRPeBEkTaO0Ggo=
 cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc=
 cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw=
 cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw=
+cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY=
+cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI=
+cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI=
+cloud.google.com/go/eventarc v1.13.1/go.mod h1:EqBxmGHFrruIara4FUQ3RHlgfCn7yo1HYsu2Hpt/C3Y=
 cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w=
 cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI=
 cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs=
+cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg=
+cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4=
+cloud.google.com/go/filestore v1.7.2/go.mod h1:TYOlyJs25f/omgj+vY7/tIG/E7BX369triSPzE4LdgE=
 cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE=
+cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4=
+cloud.google.com/go/firestore v1.12.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4=
+cloud.google.com/go/firestore v1.13.0/go.mod h1:QojqqOh8IntInDUSTAh0c8ZsPYAr68Ma8c5DWOy8xb8=
 cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk=
 cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg=
 cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY=
 cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08=
 cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw=
+cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA=
+cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c=
+cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE=
+cloud.google.com/go/functions v1.15.2/go.mod h1:CHAjtcR6OU4XF2HuiVeriEdELNcnvRZSk1Q8RMqy4lE=
 cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM=
 cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA=
 cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w=
 cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM=
 cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0=
+cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s=
 cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60=
 cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo=
 cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg=
+cloud.google.com/go/gkebackup v1.3.0/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU=
+cloud.google.com/go/gkebackup v1.3.1/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU=
+cloud.google.com/go/gkebackup v1.3.2/go.mod h1:OMZbXzEJloyXMC7gqdSB+EOEQ1AKcpGYvO3s1ec5ixk=
 cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o=
 cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A=
 cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw=
+cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw=
+cloud.google.com/go/gkeconnect v0.8.2/go.mod h1:6nAVhwchBJYgQCXD2pHBFQNiJNyAd/wyxljpaa6ZPrY=
 cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0=
 cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0=
 cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E=
+cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw=
+cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY=
+cloud.google.com/go/gkehub v0.14.2/go.mod h1:iyjYH23XzAxSdhrbmfoQdePnlMj2EWcvnR+tHdBQsCY=
 cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA=
 cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI=
 cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y=
+cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw=
+cloud.google.com/go/gkemulticloud v1.0.0/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw=
+cloud.google.com/go/gkemulticloud v1.0.1/go.mod h1:AcrGoin6VLKT/fwZEYuqvVominLriQBCKmbjtnbMjG8=
 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc=
+cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8=
 cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM=
 cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o=
 cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo=
+cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY=
+cloud.google.com/go/gsuiteaddons v1.6.2/go.mod h1:K65m9XSgs8hTF3X9nNTPi8IQueljSdYo9F+Mi+s4MyU=
 cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c=
 cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY=
 cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc=
@@ -270,98 +478,189 @@ cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQE
 cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE=
 cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY=
 cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY=
+cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0=
+cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBalRE8=
+cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk=
+cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU=
+cloud.google.com/go/iam v1.1.2/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU=
+cloud.google.com/go/iam v1.1.3/go.mod h1:3khUlaBXfPKKe7huYgEpDn6FtgRyMEqbkvBxrQyY5SE=
 cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc=
 cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A=
 cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk=
+cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo=
+cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74=
+cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ=
+cloud.google.com/go/iap v1.9.0/go.mod h1:01OFxd1R+NFrg78S+hoPV5PxEzv22HXaNqUUlmNHFuY=
+cloud.google.com/go/iap v1.9.1/go.mod h1:SIAkY7cGMLohLSdBR25BuIxO+I4fXJiL06IBL7cy/5Q=
 cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM=
 cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY=
 cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4=
+cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw=
+cloud.google.com/go/ids v1.4.2/go.mod h1:3vw8DX6YddRu9BncxuzMyWn0g8+ooUjI2gslJ7FH3vk=
 cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs=
 cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g=
 cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o=
+cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE=
+cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk=
+cloud.google.com/go/iot v1.7.2/go.mod h1:q+0P5zr1wRFpw7/MOgDXrG/HVA+l+cSwdObffkrpnSg=
 cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA=
 cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg=
 cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0=
 cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg=
 cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w=
+cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24=
+cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI=
+cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM=
+cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM=
+cloud.google.com/go/kms v1.15.0/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM=
+cloud.google.com/go/kms v1.15.2/go.mod h1:3hopT4+7ooWRCjc2DxgnpESFxhIraaI2IpAVUEhbT/w=
+cloud.google.com/go/kms v1.15.3/go.mod h1:AJdXqHxS2GlPyduM99s9iGqi2nwbviBbhV/hdmt4iOQ=
+cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI=
 cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic=
 cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI=
 cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE=
 cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8=
 cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY=
+cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0=
+cloud.google.com/go/language v1.11.0/go.mod h1:uDx+pFDdAKTY8ehpWbiXyQdz8tDSYLJbQcXsCkjYyvQ=
+cloud.google.com/go/language v1.11.1/go.mod h1:Xyid9MG9WOX3utvDbpX7j3tXDmmDooMyMDqgUVpH17U=
 cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8=
 cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08=
 cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo=
+cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc=
+cloud.google.com/go/lifesciences v0.9.2/go.mod h1:QHEOO4tDzcSAzeJg7s2qwnLM2ji8IRpQl4p6m5Z9yTA=
 cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw=
 cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M=
+cloud.google.com/go/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI=
 cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE=
 cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc=
 cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo=
+cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ=
+cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc=
+cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc=
+cloud.google.com/go/longrunning v0.5.2/go.mod h1:nqo6DQbNV2pXhGDbDMoN2bWz68MjZUzqv2YttZiveCs=
 cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE=
 cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM=
 cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA=
+cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak=
+cloud.google.com/go/managedidentities v1.6.2/go.mod h1:5c2VG66eCa0WIq6IylRk3TBW83l161zkFvCj28X7jn8=
 cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI=
 cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw=
+cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY=
+cloud.google.com/go/maps v1.3.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s=
+cloud.google.com/go/maps v1.4.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s=
+cloud.google.com/go/maps v1.4.1/go.mod h1:BxSa0BnW1g2U2gNdbq5zikLlHUuHW0GFWh7sgML2kIY=
 cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4=
 cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w=
 cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I=
+cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig=
+cloud.google.com/go/mediatranslation v0.8.2/go.mod h1:c9pUaDRLkgHRx3irYE5ZC8tfXGrMYwNZdmDqKMSfFp8=
 cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE=
 cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM=
 cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA=
 cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY=
 cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM=
+cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA=
+cloud.google.com/go/memcache v1.10.2/go.mod h1:f9ZzJHLBrmd4BkguIAa/l/Vle6uTHzHokdnzSWOdQ6A=
 cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY=
 cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s=
 cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8=
 cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI=
 cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo=
+cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA=
+cloud.google.com/go/metastore v1.12.0/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA=
+cloud.google.com/go/metastore v1.13.0/go.mod h1:URDhpG6XLeh5K+Glq0NOt74OfrPKTwS62gEPZzb5SOk=
+cloud.google.com/go/metastore v1.13.1/go.mod h1:IbF62JLxuZmhItCppcIfzBBfUFq0DIB9HPDoLgWrVOU=
 cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk=
 cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4=
 cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w=
+cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw=
+cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM=
+cloud.google.com/go/monitoring v1.16.0/go.mod h1:Ptp15HgAyM1fNICAojDMoNc/wUmn67mLHQfyqbw+poY=
+cloud.google.com/go/monitoring v1.16.1/go.mod h1:6HsxddR+3y9j+o/cMJH6q/KJ/CBTvM/38L/1m7bTRJ4=
 cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA=
 cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o=
 cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM=
 cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8=
 cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E=
+cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM=
+cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E=
+cloud.google.com/go/networkconnectivity v1.13.0/go.mod h1:SAnGPes88pl7QRLUen2HmcBSE9AowVAcdug8c0RSBFk=
+cloud.google.com/go/networkconnectivity v1.14.0/go.mod h1:SAnGPes88pl7QRLUen2HmcBSE9AowVAcdug8c0RSBFk=
+cloud.google.com/go/networkconnectivity v1.14.1/go.mod h1:LyGPXR742uQcDxZ/wv4EI0Vu5N6NKJ77ZYVnDe69Zug=
 cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8=
 cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4=
 cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY=
+cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0=
+cloud.google.com/go/networkmanagement v1.9.0/go.mod h1:UTUaEU9YwbCAhhz3jEOHr+2/K/MrBk2XxOLS89LQzFw=
+cloud.google.com/go/networkmanagement v1.9.1/go.mod h1:CCSYgrQQvW73EJawO2QamemYcOb57LvrDdDU51F0mcI=
 cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ=
 cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU=
 cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k=
+cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU=
+cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ=
+cloud.google.com/go/networksecurity v0.9.2/go.mod h1:jG0SeAttWzPMUILEHDUvFYdQTl8L/E/KC8iZDj85lEI=
 cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY=
 cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34=
 cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA=
 cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0=
 cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE=
+cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ=
+cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8=
+cloud.google.com/go/notebooks v1.10.0/go.mod h1:SOPYMZnttHxqot0SGSFSkRrwE29eqnKPBJFqgWmiK2k=
+cloud.google.com/go/notebooks v1.10.1/go.mod h1:5PdJc2SgAybE76kFQCWrTfJolCOUQXF97e+gteUUA6A=
 cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4=
 cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs=
 cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI=
+cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk=
+cloud.google.com/go/optimization v1.5.0/go.mod h1:evo1OvTxeBRBu6ydPlrIRizKY/LJKo/drDMMRKqGEUU=
+cloud.google.com/go/optimization v1.5.1/go.mod h1:NC0gnUD5MWVAF7XLdoYVPmYYVth93Q6BUzqAq3ZwtV8=
 cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA=
 cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk=
 cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ=
+cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8=
+cloud.google.com/go/orchestration v1.8.2/go.mod h1:T1cP+6WyTmh6LSZzeUhvGf0uZVmJyTx7t8z7Vg87+A0=
 cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE=
 cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc=
 cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc=
+cloud.google.com/go/orgpolicy v1.11.0/go.mod h1:2RK748+FtVvnfuynxBzdnyu7sygtoZa1za/0ZfpOs1M=
+cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE=
+cloud.google.com/go/orgpolicy v1.11.2/go.mod h1:biRDpNwfyytYnmCRWZWxrKF22Nkz9eNVj9zyaBdpm1o=
 cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs=
 cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg=
 cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo=
 cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw=
 cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw=
+cloud.google.com/go/osconfig v1.12.0/go.mod h1:8f/PaYzoS3JMVfdfTubkowZYGmAhUCjjwnjqWI7NVBc=
+cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE=
+cloud.google.com/go/osconfig v1.12.2/go.mod h1:eh9GPaMZpI6mEJEuhEjUJmaxvQ3gav+fFEJon1Y8Iw0=
 cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E=
 cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU=
 cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70=
 cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo=
 cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs=
+cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs=
+cloud.google.com/go/oslogin v1.11.0/go.mod h1:8GMTJs4X2nOAUVJiPGqIWVcDaF0eniEto3xlOxaboXE=
+cloud.google.com/go/oslogin v1.11.1/go.mod h1:OhD2icArCVNUxKqtK0mcSmKL7lgr0LVlQz+v9s1ujTg=
 cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0=
 cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA=
 cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk=
+cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I=
+cloud.google.com/go/phishingprotection v0.8.2/go.mod h1:LhJ91uyVHEYKSKcMGhOa14zMMWfbEdxG032oT6ECbC8=
 cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg=
 cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE=
 cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw=
+cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc=
+cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0=
+cloud.google.com/go/policytroubleshooter v1.8.0/go.mod h1:tmn5Ir5EToWe384EuboTcVQT7nTag2+DuH3uHmKd1HU=
+cloud.google.com/go/policytroubleshooter v1.9.0/go.mod h1:+E2Lga7TycpeSTj2FsH4oXxTnrbHJGRlKhVZBLGgU64=
+cloud.google.com/go/policytroubleshooter v1.9.1/go.mod h1:MYI8i0bCrL8cW+VHN1PoiBTyNZTstCg2WUw2eVC4c4U=
 cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0=
 cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI=
 cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg=
+cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs=
+cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA=
+cloud.google.com/go/privatecatalog v0.9.2/go.mod h1:RMA4ATa8IXfzvjrhhK8J6H4wwcztab+oZph3c6WmtFc=
 cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
 cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
 cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
@@ -369,8 +668,13 @@ cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjp
 cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI=
 cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0=
 cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8=
+cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4=
+cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc=
+cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc=
 cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg=
 cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k=
+cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM=
+cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0=
 cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4=
 cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o=
 cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk=
@@ -378,78 +682,129 @@ cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7d
 cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE=
 cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U=
 cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA=
+cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c=
+cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU=
+cloud.google.com/go/recaptchaenterprise/v2 v2.8.0/go.mod h1:QuE8EdU9dEnesG8/kG3XuJyNsjEqMlMzg3v3scCJ46c=
+cloud.google.com/go/recaptchaenterprise/v2 v2.8.1/go.mod h1:JZYZJOeZjgSSTGP4uz7NlQ4/d1w5hGmksVgM0lbEij0=
 cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg=
 cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4=
 cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac=
+cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE=
+cloud.google.com/go/recommendationengine v0.8.2/go.mod h1:QIybYHPK58qir9CV2ix/re/M//Ty10OxjnnhWdaKS1Y=
 cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg=
 cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c=
 cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs=
 cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70=
 cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ=
+cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA=
+cloud.google.com/go/recommender v1.11.0/go.mod h1:kPiRQhPyTJ9kyXPCG6u/dlPLbYfFlkwHNRwdzPVAoII=
+cloud.google.com/go/recommender v1.11.1/go.mod h1:sGwFFAyI57v2Hc5LbIj+lTwXipGu9NW015rkaEM5B18=
 cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y=
 cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A=
 cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA=
 cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM=
 cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ=
+cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg=
+cloud.google.com/go/redis v1.13.2/go.mod h1:0Hg7pCMXS9uz02q+LoEVl5dNHUkIQv+C/3L76fandSA=
 cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA=
 cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0=
 cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots=
+cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo=
+cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI=
+cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8=
+cloud.google.com/go/resourcemanager v1.9.2/go.mod h1:OujkBg1UZg5lX2yIyMo5Vz9O5hf7XQOSV7WxqxxMtQE=
 cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU=
 cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg=
 cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA=
+cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw=
+cloud.google.com/go/resourcesettings v1.6.2/go.mod h1:mJIEDd9MobzunWMeniaMp6tzg4I2GvD3TTmPkc8vBXk=
 cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4=
 cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY=
 cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc=
 cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y=
 cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14=
+cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE=
+cloud.google.com/go/retail v1.14.2/go.mod h1:W7rrNRChAEChX336QF7bnMxbsjugcOCPU44i5kbLiL8=
 cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do=
 cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo=
 cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM=
+cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg=
+cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo=
+cloud.google.com/go/run v1.3.0/go.mod h1:S/osX/4jIPZGg+ssuqh6GNgg7syixKe3YnprwehzHKU=
+cloud.google.com/go/run v1.3.1/go.mod h1:cymddtZOzdwLIAsmS6s+Asl4JoXIDm/K1cpZTxV4Q5s=
 cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s=
 cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI=
 cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk=
 cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44=
 cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc=
+cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc=
+cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo=
+cloud.google.com/go/scheduler v1.10.2/go.mod h1:O3jX6HRH5eKCA3FutMw375XHZJudNIKVonSCHv7ropY=
 cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA=
 cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4=
 cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4=
 cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU=
+cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw=
+cloud.google.com/go/secretmanager v1.11.2/go.mod h1:MQm4t3deoSub7+WNwiC4/tRYgDBHJgJPvswqQVB1Vss=
 cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4=
 cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0=
 cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU=
 cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q=
 cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA=
 cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8=
+cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0=
+cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA=
+cloud.google.com/go/security v1.15.2/go.mod h1:2GVE/v1oixIRHDaClVbHuPcZwAqFM28mXuAKCfMgYIg=
 cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU=
 cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc=
 cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk=
 cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk=
 cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0=
+cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag=
+cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ=
+cloud.google.com/go/securitycenter v1.23.1/go.mod h1:w2HV3Mv/yKhbXKwOCu2i8bCuLtNP1IMHuiYQn4HJq5s=
 cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU=
 cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s=
 cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA=
 cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc=
+cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk=
 cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs=
 cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg=
 cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4=
 cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U=
 cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY=
+cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s=
+cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ=
+cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ=
+cloud.google.com/go/servicedirectory v1.11.1/go.mod h1:tJywXimEWzNzw9FvtNjsQxxJ3/41jseeILgwU/QLrGI=
 cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco=
 cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo=
 cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc=
+cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4=
 cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E=
 cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU=
 cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec=
+cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA=
 cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4=
 cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw=
 cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A=
+cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g=
+cloud.google.com/go/shell v1.7.2/go.mod h1:KqRPKwBV0UyLickMn0+BY1qIyE98kKyI216sH/TuHmc=
 cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos=
 cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk=
+cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M=
+cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI=
+cloud.google.com/go/spanner v1.49.0/go.mod h1:eGj9mQGK8+hkgSVbHNQ06pQ4oS+cyc4tXXd6Dif1KoM=
+cloud.google.com/go/spanner v1.50.0/go.mod h1:eGj9mQGK8+hkgSVbHNQ06pQ4oS+cyc4tXXd6Dif1KoM=
 cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM=
 cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ=
 cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0=
 cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco=
 cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0=
+cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI=
+cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo=
+cloud.google.com/go/speech v1.19.0/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo=
+cloud.google.com/go/speech v1.19.1/go.mod h1:WcuaWz/3hOlzPFOVo9DUsblMIHwxP589y6ZMtaG+iAA=
 cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
 cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
 cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
@@ -460,135 +815,221 @@ cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq
 cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc=
 cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s=
 cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y=
+cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4=
+cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E=
 cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w=
 cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I=
 cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4=
+cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw=
+cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA=
+cloud.google.com/go/storagetransfer v1.10.1/go.mod h1:rS7Sy0BtPviWYTTJVWCSV4QrbBitgPeuK4/FKa4IdLs=
 cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw=
 cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g=
 cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM=
 cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA=
 cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c=
+cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24=
+cloud.google.com/go/talent v1.6.3/go.mod h1:xoDO97Qd4AK43rGjJvyBHMskiEf3KulgYzcH6YWOVoo=
 cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8=
 cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4=
 cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc=
+cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk=
+cloud.google.com/go/texttospeech v1.7.2/go.mod h1:VYPT6aTOEl3herQjFHYErTlSZJ4vB00Q2ZTmuVgluD4=
 cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ=
 cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg=
 cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM=
+cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E=
+cloud.google.com/go/tpu v1.6.2/go.mod h1:NXh3NDwt71TsPZdtGWgAG5ThDfGd32X1mJ2cMaRlVgU=
 cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28=
 cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y=
 cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA=
+cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk=
+cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk=
+cloud.google.com/go/trace v1.10.2/go.mod h1:NPXemMi6MToRFcSxRl2uDnu/qAlAQ3oULUphcHGh1vA=
 cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs=
 cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg=
 cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0=
 cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos=
+cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos=
+cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs=
+cloud.google.com/go/translate v1.8.2/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs=
+cloud.google.com/go/translate v1.9.0/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs=
+cloud.google.com/go/translate v1.9.1/go.mod h1:TWIgDZknq2+JD4iRcojgeDtqGEp154HN/uL6hMvylS8=
 cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk=
 cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw=
 cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg=
 cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk=
+cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ=
+cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ=
+cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU=
+cloud.google.com/go/video v1.19.0/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU=
+cloud.google.com/go/video v1.20.0/go.mod h1:U3G3FTnsvAGqglq9LxgqzOiBc/Nt8zis8S+850N2DUM=
+cloud.google.com/go/video v1.20.1/go.mod h1:3gJS+iDprnj8SY6pe0SwLeC5BUW80NjhwX7INWEuWGU=
 cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU=
 cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4=
 cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M=
 cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU=
 cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU=
+cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo=
+cloud.google.com/go/videointelligence v1.11.2/go.mod h1:ocfIGYtIVmIcWk1DsSGOoDiXca4vaZQII1C85qtoplc=
 cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0=
 cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo=
 cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo=
 cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY=
 cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E=
 cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY=
+cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0=
+cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU=
+cloud.google.com/go/vision/v2 v2.7.3/go.mod h1:V0IcLCY7W+hpMKXK1JYE0LV5llEqVmj+UJChjvA1WsM=
 cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE=
 cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g=
 cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc=
+cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY=
+cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro=
+cloud.google.com/go/vmmigration v1.7.2/go.mod h1:iA2hVj22sm2LLYXGPT1pB63mXHhrH1m/ruux9TwWLd8=
 cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208=
 cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8=
+cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY=
+cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0=
+cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0=
+cloud.google.com/go/vmwareengine v1.0.1/go.mod h1:aT3Xsm5sNx0QShk1Jc1B8OddrxAScYLwzVoaiXfdzzk=
 cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w=
 cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8=
 cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes=
+cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs=
+cloud.google.com/go/vpcaccess v1.7.2/go.mod h1:mmg/MnRHv+3e8FJUjeSibVFvQF1cCy2MsFaFqxeY1HU=
 cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE=
 cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg=
 cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc=
 cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A=
 cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg=
+cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc=
+cloud.google.com/go/webrisk v1.9.2/go.mod h1:pY9kfDgAqxUpDBOrG4w8deLfhvJmejKB0qd/5uQIPBc=
 cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo=
 cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ=
 cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng=
+cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg=
+cloud.google.com/go/websecurityscanner v1.6.2/go.mod h1:7YgjuU5tun7Eg2kpKgGnDuEOXWIrh8x8lWrJT4zfmas=
 cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0=
 cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M=
 cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M=
 cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA=
 cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw=
+cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g=
+cloud.google.com/go/workflows v1.12.0/go.mod h1:PYhSk2b6DhZ508tj8HXKaBh+OFe+xdl0dHF/tJdzPQM=
+cloud.google.com/go/workflows v1.12.1/go.mod h1:5A95OhD/edtOhQd/O741NSfIMezNTbCwLM1P1tBRGHM=
+collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE=
 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
 gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
 git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc=
 github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
-github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4=
-github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc=
-github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4=
-github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
-github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
-github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc=
-github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
-github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g=
-github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
-github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
-github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM=
-github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
-github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.6.0/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0/go.mod h1:+6sju8gk8FRmSajX3Oz4G5Gm7P+mbqE9FVaXXFYTkCM=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.0/go.mod h1:OQeznEEkTZ9OrhHJoDD8ZDq51FHgXjqtP9z6bEwBq9U=
+github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I=
+github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w=
+github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0/go.mod h1:okt5dMMTOFjX/aovMlrjvvXoPMBVSPzk9185BT0+eZM=
+github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.0.0/go.mod h1:ceIuwmxDWptoW3eCqSXlnPsZFKh4X+R38dWPv7GS9Vs=
+github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0/go.mod h1:s1tW/At+xHqjNFvWU4G0c0Qv33KOhvbGNj0RCTQDV8s=
+github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.2.0/go.mod h1:c+Lifp3EDEamAkPVzMooRNOK6CZjNSdEnf1A7jsI9u4=
+github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo=
+github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.0/go.mod h1:+6KLcKIVgxoBDMqMO/Nvy7bZ9a0nbU3I1DtFQK3YvB4=
+github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4=
+github.com/AzureAD/microsoft-authentication-library-for-go v1.0.0/go.mod h1:kgDmCTgBzIEPFElEF+FK0SdjAor06dRq2Go927dnQ6o=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
+github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
+github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw=
 github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno=
+github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w=
 github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo=
+github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
+github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
 github.com/DataDog/zstd v1.5.2 h1:vUG4lAyuPCXO0TLbXvPv7EB7cNK1QV/luu55UHLrrn8=
 github.com/DataDog/zstd v1.5.2/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw=
+github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20190129172621-c8b1d7a94ddf/go.mod h1:aJ4qN3TfrelA6NZ6AXsXRfmEVaYin3EDbSPJrKS8OXo=
+github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
 github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk=
 github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY=
+github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM=
 github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
 github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
-github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q=
 github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8=
-github.com/SaveTheRbtz/mph v0.1.1-0.20240117162131-4166ec7869bc/go.mod h1:LJM5a3zcIJ/8TmZwlUczvROEJT8ntOdhdG9jjcR1B0I=
 github.com/SaveTheRbtz/mph v0.1.2 h1:5l3W496Up+7BNOVJQnJhzcGBh+wWfxWdmPUAkx3WmaM=
 github.com/SaveTheRbtz/mph v0.1.2/go.mod h1:V4+WtKQPe2+dEA5os1WnGsEB0NR9qgqqgIiSt73+sT4=
 github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0=
 github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
 github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA=
 github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8=
-github.com/VictoriaMetrics/fastcache v1.5.3/go.mod h1:+jv9Ckb+za/P1ZRg/sulP5Ni1v49daAVERr0H3CuscE=
+github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw=
 github.com/VictoriaMetrics/fastcache v1.12.1 h1:i0mICQuojGDL3KblA7wUNlY5lOK6a4bwt3uRKnkZU40=
 github.com/VictoriaMetrics/fastcache v1.12.1/go.mod h1:tX04vaqcNoQeGLD+ra5pU5sWkuxnzWhEzLwhP9w653o=
+github.com/aclements/go-gg v0.0.0-20170118225347-6dbb4e4fefb0/go.mod h1:55qNq4vcpkIuHowELi5C8e+1yUHtoLoOUR9QU5j7Tes=
+github.com/aclements/go-moremath v0.0.0-20210112150236-f10218a38794/go.mod h1:7e+I0LQFUI9AXWxOfsQROs9xPhoJtbsyWcjJqDd4KPY=
 github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY=
 github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY=
 github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
 github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
+github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
 github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM=
 github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
 github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8=
 github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM=
+github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
 github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
 github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
+github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0=
 github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0=
+github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI=
+github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg=
 github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU=
-github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ=
 github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
-github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
-github.com/aws/aws-sdk-go-v2 v1.17.3/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
-github.com/aws/aws-sdk-go-v2 v1.17.7/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
-github.com/aws/aws-sdk-go-v2/config v1.18.19/go.mod h1:XvTmGMY8d52ougvakOv1RpiTLPz9dlG/OQHsKU/cMmY=
-github.com/aws/aws-sdk-go-v2/credentials v1.13.18/go.mod h1:vnwlwjIe+3XJPBYKu1et30ZPABG3VaXJYr8ryohpIyM=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1/go.mod h1:lfUx8puBRdM5lVVMQlwt2v+ofiG/X6Ms+dy0UkG/kXw=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27/go.mod h1:a1/UpzeyBBerajpnP5nGZa9mGzsBn5cOKxm6NWQsvoI=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31/go.mod h1:QT0BqUvX1Bh2ABdTGnjqEjvjzrCfIniM9Sc8zn9Yndo=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21/go.mod h1:+Gxn8jYn5k9ebfHEqlhrMirFjSW0v0C9fI+KN5vk2kE=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.25/go.mod h1:zBHOPwhBc3FlQjQJE/D3IfPWiWaQmT06Vq9aNukDo0k=
-github.com/aws/aws-sdk-go-v2/internal/ini v1.3.32/go.mod h1:XGhIBZDEgfqmFIugclZ6FU7v75nHhBDtzuB4xB/tEi4=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.25/go.mod h1:/95IA+0lMnzW6XzqYJRpjjsAbKEORVeO0anQqjd2CNU=
-github.com/aws/aws-sdk-go-v2/service/kms v1.20.1/go.mod h1:13sjgMH7Xu4e46+0BEDhSnNh+cImHSYS5PpBjV3oXcU=
-github.com/aws/aws-sdk-go-v2/service/sso v1.12.6/go.mod h1:Y1VOmit/Fn6Tz1uFAeCO6Q7M2fmfXSCLeL5INVYsLuY=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6/go.mod h1:Lh/bc9XUf8CfOY6Jp5aIkQtN+j1mc+nExc+KXj9jx2s=
-github.com/aws/aws-sdk-go-v2/service/sts v1.18.7/go.mod h1:JuTnSoeePXmMVe9G8NcjjwgOKEfZ4cOjMuT2IBT/2eI=
-github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
+github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo=
+github.com/aws/aws-sdk-go-v2 v1.21.2/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM=
+github.com/aws/aws-sdk-go-v2 v1.23.1/go.mod h1:i1XDttT4rnf6vxc9AuskLc6s7XBee8rlLilKlc03uAA=
+github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y=
+github.com/aws/aws-sdk-go-v2/config v1.18.45/go.mod h1:ZwDUgFnQgsazQTnWfeLWk5GjeqTQTL8lMkoE1UXzxdE=
+github.com/aws/aws-sdk-go-v2/config v1.25.5/go.mod h1:Bf4gDvy4ZcFIK0rqDu1wp9wrubNba2DojiPB2rt6nvI=
+github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo=
+github.com/aws/aws-sdk-go-v2/credentials v1.13.43/go.mod h1:zWJBz1Yf1ZtX5NGax9ZdNjhhI4rgjfgsyk6vTY1yfVg=
+github.com/aws/aws-sdk-go-v2/credentials v1.16.4/go.mod h1:Kdh/okh+//vQ/AjEt81CjvkTo64+/zIE4OewP7RpfXk=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13/go.mod h1:f/Ib/qYjhV2/qdsf79H3QP/eRE4AkVyEf6sk7XfZ1tg=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.5/go.mod h1:VhnExhw6uXy9QzetvpXDolo1/hjhx4u9qukBGkuUwjs=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43/go.mod h1:auo+PiyLl0n1l8A0e8RIeR8tOzYPfZZH/JNlrJ8igTQ=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.4/go.mod h1:xEhvbJcyUf/31yfGSQBe01fukXwXJ0gxDp7rLfymWE0=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37/go.mod h1:Qe+2KtKml+FEsQF/DHmDV+xjtche/hwoF75EG4UlHW8=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.4/go.mod h1:dYvTNAggxDZy6y1AF7YDwXsPuHFy/VNEpEI/2dWK9IU=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45/go.mod h1:lD5M20o09/LCuQ2mE62Mb/iSdSlCNuj6H5ci7tW7OsE=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.7.1/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.1/go.mod h1:l9ymW25HOqymeU2m1gbUQ3rUIsTwKs8gYHXkqDQUhiI=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37/go.mod h1:vBmDnwWXWxNPFRMmG2m/3MKOe+xEcMDo1tanpaWCcck=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.4/go.mod h1:aYCGNjyUCUelhofxlZyj63srdxWUSsBSGg5l6MCuXuE=
+github.com/aws/aws-sdk-go-v2/service/kms v1.26.3/go.mod h1:N3++/sLV97B8Zliz7KRqNcojOX7iMBZWKiuit5FKtH0=
+github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4=
+github.com/aws/aws-sdk-go-v2/service/route53 v1.30.2/go.mod h1:TQZBt/WaQy+zTHoW++rnl8JBrmZ0VO6EUbVua1+foCA=
+github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0=
+github.com/aws/aws-sdk-go-v2/service/sso v1.15.2/go.mod h1:gsL4keucRCgW+xA85ALBpRFfdSLH4kHOVSnLMSuBECo=
+github.com/aws/aws-sdk-go-v2/service/sso v1.17.3/go.mod h1:oA6VjNsLll2eVuUoF2D+CMyORgNzPEW/3PyUdq6WQjI=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3/go.mod h1:a7bHA82fyUXOm+ZSWKU6PIoBxrjSprdLoM8xPYvzYVg=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.20.1/go.mod h1:hHL974p5auvXlZPIjJTblXJpbkfK4klBczlsEaMCGVY=
+github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM=
+github.com/aws/aws-sdk-go-v2/service/sts v1.23.2/go.mod h1:Eows6e1uQEsc4ZaHANmsPRzAKcVDrcmjjWiih2+HUUQ=
+github.com/aws/aws-sdk-go-v2/service/sts v1.25.4/go.mod h1:feTnm2Tk/pJxdX+eooEsxvlvTWBvDm6CasRZ+JOs2IY=
+github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw=
+github.com/aws/smithy-go v1.15.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
+github.com/aws/smithy-go v1.17.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE=
 github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g=
 github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
 github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
@@ -599,15 +1040,18 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r
 github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
 github.com/bits-and-blooms/bitset v1.7.0 h1:YjAGVd3XmtK9ktAbX8Zg2g2PwLIMjGREZJHlV4j7NEo=
 github.com/bits-and-blooms/bitset v1.7.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
+github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c=
+github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
 github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
 github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
-github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ=
+github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU=
 github.com/btcsuite/btcd/btcec/v2 v2.2.1 h1:xP60mv8fvp+0khmrN0zTdPC3cNm24rfeE6lh2R/Yv3E=
 github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8=
 github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
 github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 h1:59Kx4K6lzOW5w6nFlA0v5+lk/6sjybR934QNHSJZPTQ=
 github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
 github.com/bytecodealliance/wasmtime-go/v7 v7.0.0/go.mod h1:bu6fic7trDt20w+LMooX7j3fsOwv4/ln6j8gAdP6vmA=
+github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34=
 github.com/c-bata/go-prompt v0.2.6/go.mod h1:/LMAke8wD2FsNu9EXNdHxNLbd9MedkPnCdfpU9wwHfY=
 github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
 github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
@@ -617,15 +1061,19 @@ github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91
 github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s=
 github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
 github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
-github.com/cespare/xxhash/v2 v2.0.1-0.20190104013014-3767db7a7e18/go.mod h1:HD5P3vAIAh+Y2GAxg0PrPN1P8WkepXGpjbUPDHJqqKM=
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
 github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
+github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY=
 github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
+github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic=
 github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
+github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U=
+github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304=
+github.com/cloudflare/cloudflare-go v0.79.0/go.mod h1:gkHQf9xEubaQPEuerBuoinR9P8bf8a05Lq0X6WKy1Oc=
 github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
 github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
 github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
@@ -638,22 +1086,35 @@ github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWH
 github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230428030218-4003588d1b74/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cockroachdb/datadriven v1.0.0/go.mod h1:5Ib8Meh+jk1RlHIXej6Pzevx/NLlNvQB9pmSBZErGA4=
 github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU=
 github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4=
+github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU=
+github.com/cockroachdb/errors v1.6.1/go.mod h1:tm6FTP5G81vwJ5lC0SizQo374JNCOPrHyXGitRJoDqM=
+github.com/cockroachdb/errors v1.8.1/go.mod h1:qGwQn6JmZ+oMjuLwjWzUNqblqk0xl4CVV3SQbGwK7Ac=
 github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8=
 github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk=
+github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI=
 github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
 github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE=
 github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
 github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A=
 github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593/go.mod h1:6hk1eMY/u5t+Cf18q5lFMUA1Rc+Sm5I6Ra1QuPyxXCo=
+github.com/cockroachdb/redact v1.0.8/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
 github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ=
 github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
+github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ=
 github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo=
 github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ=
 github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM=
+github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ=
 github.com/consensys/bavard v0.1.13 h1:oLhMLOFGTLdlda/kma4VOJazblc7IM5y5QPd2A/YjhQ=
 github.com/consensys/bavard v0.1.13/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI=
+github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q=
+github.com/consensys/gnark-crypto v0.10.0/go.mod h1:Iq/P3HHl0ElSjsg2E1gsMwhAyxnxoKK5nVyZKd+/KhU=
 github.com/consensys/gnark-crypto v0.12.1 h1:lHH39WuuFgVHONRl3J0LRBtuYdQTumFSDtJF7HpyG8M=
 github.com/consensys/gnark-crypto v0.12.1/go.mod h1:v2Gy7L/4ZRosZ7Ivs+9SfUDr0f5UlG+EM5t7MPHiLuY=
 github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
@@ -667,16 +1128,21 @@ github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1
 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
+github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
+github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/crate-crypto/go-ipa v0.0.0-20230601170251-1830d0757c80/go.mod h1:gzbVz57IDJgQ9rLQwfSk696JGWof8ftznEL9GoAv3NI=
 github.com/crate-crypto/go-kzg-4844 v0.7.0 h1:C0vgZRk4q4EZ/JgPfzuSoxdCq3C3mOZMBShovmncxvA=
 github.com/crate-crypto/go-kzg-4844 v0.7.0/go.mod h1:1kMhvPgI0Ky3yIa+9lFySEBUBXkYxeOi8ZF1sYioxhc=
 github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4=
 github.com/dave/astrid v0.0.0-20170323122508-8c2895878b14/go.mod h1:Sth2QfxfATb/nW4EsrSi2KyJmbcniZ8TgTaji17D6ms=
 github.com/dave/brenda v1.1.0/go.mod h1:4wCUr6gSlu5/1Tk7akE5X7UorwiQ8Rij0SKH3/BGMOM=
 github.com/dave/courtney v0.3.0/go.mod h1:BAv3hA06AYfNUjfjQr+5gc6vxeBVOupLqrColj+QSD8=
 github.com/dave/dst v0.27.2/go.mod h1:jHh6EOibnHgcUW3WjKHisiooEkYwqpHLBSX1iOBhEyc=
 github.com/dave/gopackages v0.0.0-20170318123100-46e7023ec56e/go.mod h1:i00+b/gKdIDIxuLDFob7ustLAVqhsZRk2qVZrArELGQ=
+github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg=
 github.com/dave/jennifer v1.5.0/go.mod h1:4MnyiFIlZS3l5tSDn8VnzE6ffAhYBMB2SZntBsZGUok=
 github.com/dave/kerr v0.0.0-20170318121727-bc25dd6abe8e/go.mod h1:qZqlPyPvfsDJt+3wHJ1EvSXDuVjFTK0j2p/ca+gtsb8=
 github.com/dave/patsy v0.0.0-20210517141501-957256f50cba/go.mod h1:qfR88CgEGLoiqDaE+xxDCi5QA5v4vUoW0UCX2Nd5Tlc=
@@ -684,14 +1150,17 @@ github.com/dave/rebecca v0.9.1/go.mod h1:N6XYdMD/OKw3lkF3ywh8Z6wPGuwNFDNtWYEMFWE
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
+github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo=
 github.com/deckarep/golang-set/v2 v2.1.0 h1:g47V4Or+DUdzbs8FxCCmgb6VYd+ptPAngjM6dtGktsI=
 github.com/deckarep/golang-set/v2 v2.1.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4=
 github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
 github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y=
+github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo=
 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs=
 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs=
 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
+github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M=
+github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw=
 github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4=
 github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o=
 github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk=
@@ -699,23 +1168,31 @@ github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KP
 github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI=
 github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug=
 github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
+github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ=
 github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA=
 github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
 github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
 github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
 github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
-github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
-github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
+github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
+github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko=
+github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
+github.com/docker/docker v1.6.2/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
-github.com/dop251/goja v0.0.0-20200219165308-d1232e640a87/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA=
+github.com/dop251/goja v0.0.0-20211022113120-dc8c55024d06/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk=
+github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk=
+github.com/dop251/goja v0.0.0-20230806174421-c933cf95e127/go.mod h1:QMWlm50DNe14hD7t24KEqZuUdC9sOTy8W6XbCU1mlw4=
+github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y=
+github.com/dop251/goja_nodejs v0.0.0-20211022123610-8dd9abb0616d/go.mod h1:DngW8aVqWbuLRMHItjPUyqdj+HWPvnQe8V8y1nDpIbM=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
 github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
-github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
+github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts=
+github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
 github.com/ef-ds/deque v1.0.4 h1:iFAZNmveMT9WERAkqLJ+oaABF9AcVQ5AjXem/hroniI=
 github.com/ef-ds/deque v1.0.4/go.mod h1:gXDnTC3yqvBcHbq2lcExjtAcVrOnJCbMcZXmuj8Z4tg=
 github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM=
-github.com/elastic/gosigar v0.8.1-0.20180330100440-37f05ff46ffa/go.mod h1:cdorVVzy1fhmEqmtgqkoE3bYtCfSCkVyjTyCIo22xvs=
 github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -726,19 +1203,30 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m
 github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
 github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
 github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34=
+github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI=
+github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q=
+github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo=
 github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w=
+github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
+github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
+github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87KZaeN4x9zpL9Qt8fQC7d+vs=
+github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE=
 github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw=
 github.com/ethereum/c-kzg-4844 v0.4.0 h1:3MS1s4JtA868KpJxroZoepdV0ZKBp3u/O5HcZ7R3nlY=
 github.com/ethereum/c-kzg-4844 v0.4.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0=
-github.com/ethereum/go-ethereum v1.9.13/go.mod h1:qwN9d1GLyDh0N7Ab8bMGd0H9knaji2jOBm2RrMGjXls=
+github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg=
 github.com/ethereum/go-ethereum v1.13.5 h1:U6TCRciCqZRe4FPXmy1sMGxTfuk8P7u2UoinF3VbaFk=
 github.com/ethereum/go-ethereum v1.13.5/go.mod h1:yMTu38GSuyxaYzQMViqNmQ1s3cE84abZexQmTgenWk0=
 github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8=
-github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
+github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
+github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
 github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
-github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
+github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY=
+github.com/fjl/gencodec v0.0.0-20230517082657-f9840df7b83e/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY=
+github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
+github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA=
 github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
 github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
 github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
@@ -751,34 +1239,48 @@ github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c h1:5tm/Wbs9d9r
 github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
 github.com/fxamacker/circlehash v0.3.0 h1:XKdvTtIJV9t7DDUtsf0RIpC1OcxZtPbmgIH7ekx28WA=
 github.com/fxamacker/circlehash v0.3.0/go.mod h1:3aq3OfVvsWtkWMb6A1owjOQFA+TLsD5FgJflnaQwtMM=
+github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61/go.mod h1:Q0X6pkwTILDlzrGEckF6HKjXe48EgsY/l7K7vhY4MW8=
 github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc=
 github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww=
+github.com/gballet/go-verkle v0.0.0-20230607174250-df487255f46b/go.mod h1:CDncRYVRSDqwakm282WEkjfaAj1hxU/v5RXxk5nXOiI=
+github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4=
+github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4=
 github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c=
 github.com/getsentry/sentry-go v0.18.0 h1:MtBW5H9QgdcJabtZcuJG80BMOwaBpkRDZkxRkNC1sN0=
 github.com/getsentry/sentry-go v0.18.0/go.mod h1:Kgon4Mby+FJ7ZWHFUAZgVaIa8sxHtnRJRLTXZr51aKQ=
+github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s=
 github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM=
 github.com/glebarez/go-sqlite v1.21.1 h1:7MZyUPh2XTrHS7xNEHQbrhfMZuPSzhkm2A1qgg0y5NY=
 github.com/glebarez/go-sqlite v1.21.1/go.mod h1:ISs8MF6yk5cL4n/43rSOmVMGJJjHYr7L2MbZZ5Q4E2E=
+github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
+github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
 github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98=
+github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs=
 github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
 github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
 github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
 github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
+github.com/go-fonts/latin-modern v0.3.0/go.mod h1:ysEQXnuT/sCDOAONxC7ImeEDVINbltClhasMAqEtRK0=
 github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
 github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
+github.com/go-fonts/liberation v0.3.0/go.mod h1:jdJ+cqF+F4SUL2V+qxBth8fvBpBDS7yloUL5Fi8GTGY=
 github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
 github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
 github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
 github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4=
+github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
 github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU=
 github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
 github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk=
+github.com/go-latex/latex v0.0.0-20230307184459-12ec69307ad9/go.mod h1:gWuR/CrFDDeVRFQwHPvsv9soJVB/iqymhuZQuJ3a9OM=
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
+github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
 github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@@ -791,11 +1293,14 @@ github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dT
 github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
 github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
 github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
+github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
+github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
 github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
 github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
 github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
 github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
-github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
+github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
+github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw=
 github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4=
@@ -803,27 +1308,38 @@ github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22
 github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
 github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
 github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
+github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
 github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
+github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
 github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
 github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
 github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
 github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
+github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
 github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM=
+github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
 github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
+github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
+github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
+github.com/golang-jwt/jwt/v4 v4.4.3/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
+github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
 github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
+github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI=
 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
 github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
+github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
 github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=
 github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
 github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
 github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
 github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
@@ -836,7 +1352,6 @@ github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
 github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
 github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.2-0.20190517061210-b285ee9cfc6c/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
 github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
@@ -854,14 +1369,21 @@ github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx
 github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
 github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
 github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk=
 github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y=
 github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
+github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac/go.mod h1:P32wAyui1PQ58Oce/KYkOqQv8cVw1zAapXOl+dRFGbc=
+github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82/go.mod h1:PxC8OnwL11+aosOB5+iEPoV3picfs8tUpkVd0pDo+Kg=
+github.com/gonum/internal v0.0.0-20181124074243-f884aa714029/go.mod h1:Pu4dmpkhSyOzRwuXkOgAvijx4o+4YMUJJo9OvPYMkks=
+github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9/go.mod h1:XA3DeT6rxh2EAE789SSiSJNqxPaC0aE9J8NTOI0Jo/A=
+github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9/go.mod h1:0EXg4mc1CNP0HCqCz+K4ts155PXIlUywf0wqN+GfPZw=
 github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
 github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
 github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -877,10 +1399,15 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
 github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
 github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
+github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/go-pkcs11 v0.2.0/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY=
+github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY=
 github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
+github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
 github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
 github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -901,19 +1428,31 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe
 github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
 github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
 github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20230207041349-798e818bf904/go.mod h1:uglQLonpP8qtYCYyzA+8c/9qtqgA3qsXGYqCPKARAFg=
 github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 h1:hR7/MlvK23p6+lIw9SN1TigNLn9ZnF3W4SYRKq2gAHs=
 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM=
+github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
+github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
+github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
+github.com/google/safehtml v0.0.2/go.mod h1:L4KWwDsUJdECRAEpZoBn3O64bQaywRscowZjJAzjHnU=
 github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
 github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
+github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
 github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
 github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
 github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
 github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
+github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
+github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w=
+github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0=
+github.com/googleapis/gax-go v0.0.0-20161107002406-da06d194a00e/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=
 github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
 github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
 github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
@@ -925,15 +1464,20 @@ github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqE
 github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY=
 github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8=
 github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
+github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
+github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw=
+github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI=
+github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU=
 github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4=
 github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
 github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
+github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
-github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
 github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
-github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
+github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
 github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
 github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
@@ -941,36 +1485,58 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
+github.com/guptarohit/asciigraph v0.5.5/go.mod h1:dYl5wwK4gNsnFf9Zp+l06rFiDZ5YtXM6x7SRWZ3KGag=
 github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
 github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
+github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0=
+github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
+github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
+github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
 github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
 github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
+github.com/hashicorp/go-retryablehttp v0.7.4/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8=
 github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
-github.com/hashicorp/golang-lru v0.0.0-20160813221303-0a025b7e63ad/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
-github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
+github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs=
+github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
 github.com/hashicorp/golang-lru/v2 v2.0.2 h1:Dwmkdr5Nc/oBiXgJS3CDHNhJtIHkuZ3DZF5twqnfBdU=
 github.com/hashicorp/golang-lru/v2 v2.0.2/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
 github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
+github.com/holiman/billy v0.0.0-20230718173358-1c7e68d277a7/go.mod h1:5GuXa7vkL8u9FkFuWdVvfR5ix8hRB7DbOAaYULamFpc=
 github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao=
 github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA=
+github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw=
 github.com/holiman/uint256 v1.2.3 h1:K8UWO1HUJpRMXBxbmaY1Y8IAMZC/RsKB+ArEnnK4l5o=
 github.com/holiman/uint256 v1.2.3/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-github.com/huin/goupnp v0.0.0-20161224104101-679507af18f3/go.mod h1:MZ2ZmwcBpvOoJ22IJsc7va19ZwoheaBk43rKg12SKag=
+github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y=
+github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8=
+github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o=
+github.com/hydrogen18/memlistener v0.0.0-20141126152155-54553eb933fb/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE=
 github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE=
 github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w=
 github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
 github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
-github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY=
+github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY=
+github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI=
+github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8=
+github.com/influxdata/influxdb1-client v0.0.0-20220302092344-a9ab5670611c/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
+github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk=
+github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE=
+github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo=
+github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo=
+github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8=
+github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE=
+github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0=
+github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po=
 github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
 github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0=
 github.com/ipfs/boxo v0.10.0 h1:tdDAxq8jrsbRkYoF+5Rcqyeb91hgWe2hp7iLu7ORZLY=
@@ -1002,60 +1568,83 @@ github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fG
 github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY=
 github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI=
 github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0=
+github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62A0xJL6I+umB2YTlFRwWXaDFA0jy+5HzGiJjqI=
 github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk=
 github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g=
 github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw=
-github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
+github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
 github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA=
 github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o=
 github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4=
-github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
+github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU=
+github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267/go.mod h1:h1nSAbGFqGVzn6Jyl1R/iCcBUHN4g+gW1u9CoBTrb9E=
 github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
 github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
 github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
 github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
+github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o=
 github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
-github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q=
+github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U=
+github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
 github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
+github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0=
 github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
 github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
 github.com/k0kubun/go-ansi v0.0.0-20180517002512-3bf9e2903213/go.mod h1:vNUNkEQ1e29fT/6vq2aBdFsgNPmy8qMdSay1npru+Sw=
 github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd9g2S9Z40=
 github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg=
 github.com/k0kubun/pp/v3 v3.2.0/go.mod h1:ODtJQbQcIRfAD3N+theGCV1m/CBxweERz2dapdz1EwA=
-github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
+github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
+github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk=
 github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8=
+github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U=
 github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE=
+github.com/kataras/neffos v0.0.10/go.mod h1:ZYmJC07hQPW67eKuzlfY7SO3bC0mw83A3j6im82hfqw=
 github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE=
+github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0=
 github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro=
 github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8=
 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
-github.com/kevinburke/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
+github.com/kevinburke/go-bindata v3.23.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
 github.com/kevinburke/go-bindata v3.24.0+incompatible h1:qajFA3D0pH94OTLU4zcCCKCDgR+Zr2cZK/RPJHDdFoY=
 github.com/kevinburke/go-bindata v3.24.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM=
+github.com/kilic/bls12-381 v0.1.0/go.mod h1:vDTTHJONJ6G+P2R74EhnyotQDTliQDnFEwhdmfzw1ig=
 github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
+github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
 github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
 github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE=
+github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
 github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
+github.com/klauspost/compress v1.9.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
 github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
 github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
 github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
+github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4=
 github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI=
 github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
+github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
 github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
 github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
 github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
-github.com/klauspost/cpuid/v2 v2.2.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
 github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
+github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg=
+github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -1069,12 +1658,16 @@ github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
 github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
+github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g=
+github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg=
 github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y=
 github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
 github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
 github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8=
+github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
 github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
 github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c=
@@ -1090,21 +1683,25 @@ github.com/logrusorgru/aurora/v4 v4.0.0 h1:sRjfPpun/63iADiSvGGjgA1cAYegEWMPCJdUp
 github.com/logrusorgru/aurora/v4 v4.0.0/go.mod h1:lP0iIa2nrnT/qoFXcOZSrZQpJ1o6n2CUf/hyHi2Q4ZQ=
 github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
 github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
+github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o=
+github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk=
 github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
 github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
 github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
-github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
+github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ=
+github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
 github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
 github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
 github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
 github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
+github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
 github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
 github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
 github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
 github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
-github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
-github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
-github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
 github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
 github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
 github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
@@ -1113,20 +1710,30 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky
 github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
 github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
 github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
-github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
+github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
+github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
 github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
+github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
 github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
+github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
+github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE=
 github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0=
+github.com/mattn/go-tty v0.0.4/go.mod h1:u5GGXBtZU6RQoKV8gY5W6UhMudbR5vXnUe7j3pxse28=
 github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
 github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
+github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg=
+github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ=
 github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8=
 github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc=
 github.com/miekg/dns v1.1.54 h1:5jon9mWcb0sFJGpnI99tOMhCPyJ+RPVz5b63MQG0VWI=
@@ -1140,8 +1747,10 @@ github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2Em
 github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw=
 github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
 github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4=
 github.com/mmcloughlin/addchain v0.4.0 h1:SobOdjm2xLj1KkXN5/n0xTIWyZA2+s99UCY1iPfkHRY=
 github.com/mmcloughlin/addchain v0.4.0/go.mod h1:A86O+tHqZLMNO4w6ZZ4FlVQEadcoqkyU72HC5wJ4RlU=
 github.com/mmcloughlin/profile v0.1.1/go.mod h1:IhHD7q1ooxgwTgjxQYkACGA77oFTDdFVejUS1/tS/qU=
@@ -1149,11 +1758,16 @@ github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJ
 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
 github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
+github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8=
+github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
+github.com/montanaflynn/stats v0.7.0/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
 github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ=
 github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
 github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
 github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
 github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
+github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg=
 github.com/multiformats/go-base32 v0.0.3/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA=
 github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE=
 github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI=
@@ -1176,24 +1790,27 @@ github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXS
 github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
 github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
 github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
 github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
+github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM=
 github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
+github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4=
 github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
 github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
 github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
 github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
-github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
-github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
 github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
+github.com/onflow/atree v0.6.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVFi0tc=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
-github.com/onflow/cadence v1.0.0-preview.2.0.20240122125204-5ce1f36f95bb h1:OpNQ8+ZPBg5DHchnZyiBySz/OQc4uIeptTm7cBfCvOA=
-github.com/onflow/cadence v1.0.0-preview.2.0.20240122125204-5ce1f36f95bb/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
+github.com/onflow/cadence v0.42.6/go.mod h1:raU8va8QRyTa/eUbhej4mbyW2ETePfSaywoo36MddgE=
+github.com/onflow/cadence v1.0.0-preview.2.0.20240120000236-f3397a0efdad h1:byQlVs03hkss2a0x/c8sGJRCzm5xOkC1oJIuDBaupso=
+github.com/onflow/cadence v1.0.0-preview.2.0.20240120000236-f3397a0efdad/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
 github.com/onflow/crypto v0.25.0 h1:BeWbLsh3ZD13Ej+Uky6kg1PL1ZIVBDVX+2MVBNwqddg=
 github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240120002724-ff3d1a4bab55 h1:2MDRQGjNs4P9o3qDZkffp4KnLTQU+EsMnD0M44SPxF0=
@@ -1204,45 +1821,51 @@ github.com/onflow/flow-emulator v0.59.1-0.20240122200325-58ef35ed4aed h1:ybV/+ST
 github.com/onflow/flow-emulator v0.59.1-0.20240122200325-58ef35ed4aed/go.mod h1:UfcYYcaMMFHvSBA78+goDf2K/eNDrDoBlqjN+JPZyJE=
 github.com/onflow/flow-go v0.33.2-0.20240122190738-254af677b873 h1:h4Ea4hk4Ry19Q/55L/vHnRy4E2NxTA5Y5ZKn2RV1FP8=
 github.com/onflow/flow-go v0.33.2-0.20240122190738-254af677b873/go.mod h1:qiNwvJHt0ATFSiF01IfORYelT5xPiHZ86paYWX3Bwzc=
-github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2.0.20240122164005-147ad40664ca h1:7yG8dYqMzWzTZWJ17dnBdS01UDlOBnf1dd1rWKcFdY0=
-github.com/onflow/flow-go-sdk v0.44.0-stable-cadence.2.0.20240122164005-147ad40664ca/go.mod h1:O5+TK1qs2c1R5X4TEQp4m2c/YhlCjwdW7bsRcUB1U8s=
-github.com/onflow/flow-go/crypto v0.24.7/go.mod h1:fqCzkIBBMRRkciVrvW21rECKq1oD7Q6u+bCI78lfNX0=
+github.com/onflow/flow-go-sdk v0.44.1-0.20240124213231-78d9f08eeae1 h1:mPPWgbBvXa1e4Szh4pScMJSB0JEOoUggLeargIaqrKk=
+github.com/onflow/flow-go-sdk v0.44.1-0.20240124213231-78d9f08eeae1/go.mod h1:CfMN55RlTRb3WnKPynmjoqLO2qCmF0EgczN4SSa4gZk=
 github.com/onflow/flow-go/crypto v0.25.0 h1:6lmoiAQ3APCF+nV7f4f2AXL3PuDKqQiWqRJXmjrMEq4=
 github.com/onflow/flow-go/crypto v0.25.0/go.mod h1:OOb2vYcS8AOCajBClhHTJ0NKftFl1RQgTQ0+Vh4nbqk=
-github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20221202093946-932d1c70e288/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8=
+github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231121210617-52ee94b830c2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2 h1:+rT+UsfTR39JZO8ht2+4fkaWfHw74SCj1fyz1lWuX8A=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
+github.com/onflow/sdks v0.5.0/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba h1:rIehuhO6bj4FkwE4VzwEjX7MoAlOhUJENBJLqDqVxAo=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
 github.com/onflow/wal v0.0.0-20230529184820-bc9f8244608d h1:gAEqYPn3DS83rHIKEpsajnppVD1+zwuYPFyeDVFaQvg=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
+github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0=
 github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
 github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
-github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
 github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
 github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
 github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
+github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
+github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
 github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
+github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE=
 github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0=
 github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y=
-github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34=
 github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
 github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU=
 github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek=
+github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc=
 github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0=
+github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
 github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
 github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
 github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
+github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
 github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
 github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
 github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
 github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4=
 github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
+github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ=
+github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
 github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -1250,29 +1873,46 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
 github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
+github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ=
 github.com/pkg/term v1.2.0-beta.2/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
 github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
+github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
+github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
+github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
+github.com/prometheus/client_golang v1.12.0/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
 github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8=
 github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc=
 github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.2.1-0.20210607210712-147c58e9608a/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
+github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
 github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY=
 github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
 github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
 github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
+github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
+github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
+github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
 github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM=
 github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc=
 github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
+github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
+github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
+github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
+github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
 github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg=
 github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM=
-github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
 github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
+github.com/protolambda/bls12-381-util v0.0.0-20220416220906-d8552aa452c7/go.mod h1:IToEjHuttnUzwZI5KBSM/LOOW3qLbbrHOEfp3SbECGY=
 github.com/psiemens/graceland v1.0.0 h1:L580AVV4Q2XLcPpmvxJRH9UpEAYr/eu2jBKmMglhvM8=
 github.com/psiemens/graceland v1.0.0/go.mod h1:1Tof+vt1LbmcZFE0lzgdwMN0QBymAChG3FRgDx8XisU=
 github.com/psiemens/sconfig v0.1.0 h1:xfWqW+TRpih7mXZIqKYTmpRhlZLQ1kbxV8EjllPv76s=
@@ -1280,6 +1920,7 @@ github.com/psiemens/sconfig v0.1.0/go.mod h1:+MLKqdledP/8G3rOBpknbLh0IclCf4WneJU
 github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
+github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc=
 github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
 github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
@@ -1291,8 +1932,7 @@ github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE
 github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
 github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
 github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
-github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
-github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ=
+github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
 github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
 github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w=
 github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0=
@@ -1305,7 +1945,11 @@ github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFo
 github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g=
 github.com/schollz/progressbar/v3 v3.13.1 h1:o8rySDYiQ59Mwzy2FELeHY5ZARXZTVJC7iHD6PEFUiE=
 github.com/schollz/progressbar/v3 v3.13.1/go.mod h1:xvrbki8kfT1fzWzBT/UZd9L6GA+jdL7HAgq2RFnO6fQ=
+github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw=
+github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo=
+github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo=
 github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
+github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
 github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
 github.com/sethvargo/go-retry v0.2.3 h1:oYlgvIvsju3jNbottWABtbnoLC+GDtLdBHxKWxQm/iU=
 github.com/sethvargo/go-retry v0.2.3/go.mod h1:1afjQuvh7s4gflMObvjLPaWgluLLyhA1wmVZ6KLpICw=
@@ -1314,14 +1958,15 @@ github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
 github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
+github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
 github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
+github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
 github.com/slok/go-http-metrics v0.10.0 h1:rh0LaYEKza5eaYRGDXujKrOln57nHBi4TtVhmNEpbgM=
 github.com/slok/go-http-metrics v0.10.0/go.mod h1:lFqdaS4kWMfUKCSukjC47PdCeTk+hXDUVm8kLHRqJ38=
 github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
 github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
 github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
 github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
-github.com/spaolacci/murmur3 v1.0.1-0.20190317074736-539464a789e9/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
 github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
@@ -1333,7 +1978,10 @@ github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcD
 github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
 github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
 github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
+github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
 github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
+github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
+github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM=
 github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
 github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
 github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
@@ -1347,13 +1995,13 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y
 github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU=
 github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA=
 github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q=
-github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw=
-github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU=
+github.com/status-im/keycard-go v0.2.0/go.mod h1:wlp8ZLbsmrF6g6WjugPAx+IzoLrkdf9+mHxBEeo3Hbg=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
 github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
 github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
+github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -1361,35 +2009,43 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
 github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
 github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
 github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
 github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
 github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
 github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
-github.com/supranational/blst v0.3.10/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
+github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
 github.com/supranational/blst v0.3.11 h1:LyU6FolezeWAhvQk0k6O/d49jqgO52MSDDfYgbeoEm4=
 github.com/supranational/blst v0.3.11/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
-github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d/go.mod h1:9OrXJhf154huy1nPWmuSrkgjPUtUNhA+Zmy+6AESzuA=
 github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY=
 github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc=
 github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c h1:HelZ2kAFadG0La9d+4htN4HzQ68Bm2iM9qKMSMES6xg=
 github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c/go.mod h1:JlzghshsemAMDGZLytTFY8C1JQxQPhnatWqNwUXjggo=
 github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
+github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
+github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI=
 github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU=
 github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
+github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM=
 github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
 github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
 github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d h1:5JInRQbk5UBX8JfUvKh2oYTLMVwj3p6n+wapDDm7hko=
 github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d/go.mod h1:Nlx5Y115XQvNcIdIy7dZXaNSUpzwBSge4/Ivk93/Yog=
 github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs=
+github.com/tyler-smith/go-bip39 v1.1.0/go.mod h1:gUYDtqQw1JS3ZJ8UWVcGTGqqr6YIN3CWg+kkNaLt55U=
 github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
 github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
 github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
 github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
-github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
+github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
+github.com/urfave/cli/v2 v2.10.2/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo=
+github.com/urfave/cli/v2 v2.24.1/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc=
+github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ=
 github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
 github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
 github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w=
@@ -1402,14 +2058,16 @@ github.com/vmihailenco/msgpack/v4 v4.3.11 h1:Q47CePddpNGNhk4GCnAx9DDtASi2rasatE0
 github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
 github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY=
 github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
-github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees=
+github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
 github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
 github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
 github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
 github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
 github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
+github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg=
 github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
+github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
 github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI=
 github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg=
 github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM=
@@ -1439,7 +2097,6 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
 go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
-go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM=
 go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
 go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s=
 go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4=
@@ -1453,7 +2110,6 @@ go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26
 go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4=
 go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE=
 go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4=
-go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4=
 go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8=
 go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs=
 go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0=
@@ -1461,20 +2117,23 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe
 go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
 go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw=
 go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
+go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
 go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
 go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
-go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
+go.uber.org/automaxprocs v1.5.2/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0=
 go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
 go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
+go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4=
 go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
 go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
 go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
 go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
 go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
 go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
+go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
 go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
@@ -1488,18 +2147,28 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
 golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
+golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
+golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
+golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I=
+golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
+golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
 golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
-golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
 golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
 golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
 golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1516,7 +2185,11 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
 golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
+golang.org/x/exp v0.0.0-20220426173459-3bcf042a4bf5/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE=
 golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
+golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
+golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
+golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k=
 golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc h1:ao2WRsKSzW6KuUY9IWPwWahcHCgR0s52IfwutMfEbdM=
 golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI=
 golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
@@ -1532,6 +2205,8 @@ golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeap
 golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
 golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
 golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
+golang.org/x/image v0.6.0/go.mod h1:MXLdDR43H7cDJq5GEGXEVeeNhPgi+YYEQ2pC1byI1x0=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -1557,9 +2232,14 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
 golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
+golang.org/x/mod v0.6.0-dev.0.20211013180041-c96bc1413d57/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
 golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
 golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
@@ -1577,6 +2257,7 @@ golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn
 golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
 golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -1597,16 +2278,21 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R
 golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
@@ -1625,14 +2311,22 @@ golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfS
 golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
 golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
 golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
+golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
 golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
 golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
 golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
+golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
 golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ=
+golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
+golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
 golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
+golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
+golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
 golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
 golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
+golang.org/x/oauth2 v0.0.0-20170207211851-4464e7848382/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1661,6 +2355,12 @@ golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri
 golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec=
 golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I=
 golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
+golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
+golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
+golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI=
+golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
+golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0=
+golang.org/x/perf v0.0.0-20230113213139-801c7ef9e5c5/go.mod h1:UBKtEnL8aqnd+0JHqZ+2qoMDwtuy6cYhhKNoHLBiTQc=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -1677,7 +2377,9 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
+golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
 golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
 golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1703,9 +2405,12 @@ golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1720,30 +2425,40 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201101102859-da207088b7d1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -1753,12 +2468,15 @@ golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211020174200-9d6173849985/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -1768,32 +2486,45 @@ golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
 golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
+golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
 golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
 golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
+golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
 golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
+golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo=
+golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
+golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
 golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
+golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
 golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
-golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1810,6 +2541,9 @@ golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
+golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
+golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
@@ -1817,11 +2551,14 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1843,14 +2580,15 @@ golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtn
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191126055441-b0650ceb63d9/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
@@ -1884,11 +2622,17 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.8-0.20211029000441-d6a9af8af023/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
 golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
 golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
 golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
 golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
+golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4=
+golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc=
+golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM=
 golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
 golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
 golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
@@ -1902,16 +2646,21 @@ golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNq
 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
 gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
+gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
+gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
 gonum.org/v1/gonum v0.6.1/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
 gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
 gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
 gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA=
 gonum.org/v1/gonum v0.13.0 h1:a0T3bh+7fhRyqeNbiC3qVHYmkiQgit3wnNan/2c0HMM=
 gonum.org/v1/gonum v0.13.0/go.mod h1:/WPYRckkfWrhWefxyYTfrTtQR0KH4iyHNuzxqXAKyAU=
+gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
 gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
 gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
 gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY=
+gonum.org/v1/plot v0.10.0/go.mod h1:JWIHJ7U20drSQb/aDpTetJzfC1KlAPldJLpkSy88dvQ=
 gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo=
+google.golang.org/api v0.0.0-20170206182103-3d017632ea10/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
 google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
 google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
@@ -1969,6 +2718,15 @@ google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/
 google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI=
 google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0=
 google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg=
+google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E=
+google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms=
+google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4=
+google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw=
+google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw=
+google.golang.org/api v0.128.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750=
+google.golang.org/api v0.139.0/go.mod h1:CVagp6Eekz9CjGZ718Z+sloknzkDJE7Vc1Ckj9+viBk=
+google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI=
+google.golang.org/api v0.151.0/go.mod h1:ccy+MJ6nrYFgE3WgRx/AMXOxOmU8Q4hSa+jjibzhxcg=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -1983,6 +2741,7 @@ google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRn
 google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
 google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
 google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
@@ -1990,6 +2749,7 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx
 google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
@@ -2091,6 +2851,7 @@ google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZV
 google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
 google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
 google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE=
+google.golang.org/genproto v0.0.0-20221207170731-23e4bf6bdc37/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
 google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
 google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
 google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
@@ -2105,12 +2866,66 @@ google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q
 google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw=
 google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA=
 google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
-google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY=
+google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
+google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
+google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY=
+google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk=
+google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk=
+google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
+google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
+google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y=
+google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0=
+google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108=
+google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8=
+google.golang.org/genproto v0.0.0-20230821184602-ccc8af3d0e93/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
 google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
-google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q=
+google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
+google.golang.org/genproto v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:CCviP9RmpZ1mxVr8MUjCnSiY09IbAXZxhLE6EhHIdPU=
+google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqvce95G3hIDCT5FeO3YUc6Q4Oe24L/+rNMxRk=
+google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:EMfReVxb80Dq1hhioy0sOsY9jCE46YDgHlJ7fWVUWRE=
+google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b h1:+YaDE2r2OG8t/z5qmsh7Y+XXwCbvadxxZ0YY6mTdrVA=
+google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI=
+google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
+google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ=
+google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
+google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
+google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q=
 google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4=
+google.golang.org/genproto/googleapis/api v0.0.0-20230913181813-007df8e322eb/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
+google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:RdyHbowztCGQySiCvQPgWQWgWhGnouTdCflKoDBt32U=
+google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0=
+google.golang.org/genproto/googleapis/api v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:SUBoKXbI1Efip18FClrQVGjWcyd0QZd8KkvdP34t7ww=
+google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b h1:CIC2YMXmIhYw6evmhPxBKJ4fmLbOFtXQN/GV3XOZR8k=
+google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870=
+google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
+google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c=
+google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230920183334-c177e329c48b/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:KSqppvjFjtoCI+KGd4PELB0qLNxdJHRGqRI09mB6pQA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97/go.mod h1:v7nGkzlmW8P3n/bKmWBn2WpBjpOEx8Q6gMueudAmKfY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 h1:AB/lmRny7e2pLhFEYIbl5qkDAUt2h0ZRO4wGPhZf+ik=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE=
+google.golang.org/grpc v0.0.0-20170208002647-2a6bf6142e96/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
 google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -2150,7 +2965,16 @@ google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCD
 google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
 google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
 google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
+google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY=
+google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY=
 google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw=
+google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g=
+google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
+google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
+google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
+google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
+google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
+google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
 google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
 google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
@@ -2177,6 +3001,7 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
@@ -2188,28 +3013,29 @@ gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
 gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
+gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
 gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c=
-gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200316214253-d7b0ff38cac9/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns=
 gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
 gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
-gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0=
 gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
+gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
-gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
@@ -2226,12 +3052,17 @@ lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl
 modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
 modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
 modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20=
+modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
 modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc=
 modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw=
+modernc.org/ccgo/v3 v3.0.0-20220904174949-82d86e1b6d56/go.mod h1:YSXjPL62P2AMSxBphRHPn7IkzhVHqkvOnRKAKh+W6ZI=
 modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
 modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
 modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws=
 modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo=
+modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g=
+modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
 modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
 modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM=
 modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
@@ -2241,6 +3072,11 @@ modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU=
 modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
 modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0=
 modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s=
+modernc.org/libc v1.17.4/go.mod h1:WNg2ZH56rDEwdropAJeZPQkXmDwh+JCA1s/htl6r2fA=
+modernc.org/libc v1.18.0/go.mod h1:vj6zehR5bfc98ipowQOM2nIDUZnVew/wNC/2tOGS+q0=
+modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0=
+modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI=
+modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug=
 modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY=
 modernc.org/libc v1.22.3/go.mod h1:MQrloYP209xa2zHome2a8HLiLm6k0UT8CoHpV74tOFw=
 modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
@@ -2250,17 +3086,23 @@ modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6
 modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
 modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
 modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
 modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
 modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
 modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
 modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
 modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4=
+modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0=
 modernc.org/sqlite v1.21.1 h1:GyDFqNnESLOhwwDRaHGdp2jKLDzpyT/rNLglX3ZkMSU=
 modernc.org/sqlite v1.21.1/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI=
 modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw=
 modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
 modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw=
+modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0=
 modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
 modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8=
 pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g=
 pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU=

From 6d66d290f23ffd61ae19f91d8a3a6892cdd66d0c Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Thu, 25 Jan 2024 14:23:59 -0600
Subject: [PATCH 085/115] fix example token, remove getBalance, add
 isAvailableToWithdraw

---
 contracts/ExampleToken.cdc                    |  14 +-
 contracts/FungibleToken.cdc                   |  51 +-
 contracts/FungibleTokenSwitchboard.cdc        |   6 +-
 .../utility/PrivateReceiverForwarder.cdc      |   2 +-
 contracts/utility/TokenForwarding.cdc         |   2 +-
 coverage.json                                 | 676 +++---------------
 flow.json                                     |   7 +
 lib/go/contracts/internal/assets/assets.go    |  30 +-
 lib/go/templates/internal/assets/assets.go    |  78 +-
 tests/example_token_tests.cdc                 |  27 +-
 tests/metadata_views_tests.cdc                |   1 +
 tests/private_receiver_forwarder_tests.cdc    |   1 +
 tests/scripts/get_token_metadata.cdc          |   4 +-
 tests/scripts/get_unsupported_view.cdc        |   5 +-
 tests/scripts/get_vault_data.cdc              |  13 +-
 tests/scripts/get_vault_display.cdc           |   6 +-
 tests/scripts/get_views.cdc                   |   6 +-
 tests/switchboard_tests.cdc                   |   1 +
 transactions/create_forwarder.cdc             |   9 +-
 transactions/mint_tokens.cdc                  |   9 +-
 .../setup_and_create_forwarder.cdc            |  18 +-
 .../transfer_private_many_accounts.cdc        |   6 +-
 transactions/scripts/get_balance.cdc          |   6 +-
 .../scripts/metadata/get_token_metadata.cdc   |   4 +-
 ...ample_token_vault_display_strict_equal.cdc |   4 +-
 .../switchboard/add_vault_capability.cdc      |  18 +-
 26 files changed, 288 insertions(+), 716 deletions(-)

diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 62e9bfc9..9ca13120 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -25,7 +25,7 @@ access(all) contract ExampleToken: FungibleToken {
         let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
             ?? panic("Could not borrow a reference to the vault resolver")
         
-        return vaultRef.resolveView(view)
+        return vaultRef.resolveView(viewType)
     }
 
     /// Vault
@@ -58,11 +58,6 @@ access(all) contract ExampleToken: FungibleToken {
             self.receiverPath = PublicPath(identifier: "exampleTokenReceiver")!
         }
 
-        /// Get the balance of the vault
-        access(all) view fun getBalance(): UFix64 {
-            return self.balance
-        }
-
         /// Called when a fungible token is burned via the `Burner.burn()` method
         access(contract) fun burnCallback() {
             if self.balance > 0.0 {
@@ -137,6 +132,11 @@ access(all) contract ExampleToken: FungibleToken {
             return self.getSupportedVaultTypes()[type] ?? false
         }
 
+        /// Asks if the amount can be withdrawn from this vault
+        access(all) view fun isAvailableToWithdraw(amount: UFix64): Bool {
+            return amount <= self.balance
+        }
+
         /// withdraw
         ///
         /// Function that takes an amount as an argument
@@ -219,7 +219,7 @@ access(all) contract ExampleToken: FungibleToken {
 
         // Create a public capability to the stored Vault that exposes
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
-        // and the `getBalance()` method through the `Balance` interface
+        // and the `balance` method through the `Balance` interface
         //
         let exampleTokenCap = self.account.capabilities.storage.issue<&Vault>(vault.storagePath)
         self.account.capabilities.publish(exampleTokenCap, at: vault.publicPath)
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 4b33f792..f60a98ea 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -48,30 +48,12 @@ access(all) contract interface FungibleToken: ViewResolver {
 
     /// The event that is emitted when tokens are withdrawn from a Vault
     access(all) event Withdrawn(type: String, amount: UFix64, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64)
-    // access(contract) view fun emitWithdrawnEvent(type: String, amount: UFix64, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64): Bool {
-    //     if (amount > 0.0) && (from != nil) && (from != 0x8624b52f9ddcd04a) && (from != 0x9eca2b38b18b5dfe) {
-    //         emit Withdrawn(type: type, amount: amount, from: from, fromUUID: fromUUID, withdrawnUUID: withdrawnUUID)
-    //     }
-    //     return true
-    // }
 
     /// The event that is emitted when tokens are deposited to a Vault
     access(all) event Deposited(type: String, amount: UFix64, to: Address?, toUUID: UInt64, depositedUUID: UInt64)
-    // access(contract) view fun emitDepositedEvent(type: String, amount: UFix64, to: Address?, toUUID: UInt64, depositedUUID: UInt64): Bool {
-    //     if (amount > 0.0) && (to != nil) && (to != 0x8624b52f9ddcd04a) && (to != 0x9eca2b38b18b5dfe) {
-    //         emit Deposited(type: type, amount: amount, to: to, toUUID: toUUID, depositedUUID: depositedUUID)
-    //     }
-    //     return true
-    // }
 
     /// Event that is emitted when the global burn method is called with a non-zero balance
     access(all) event Burned(type: String, amount: UFix64, fromUUID: UInt64)
-    // access(contract) view fun emitBurnedEvent(type: String, amount: UFix64, fromUUID: UInt64): Bool {
-    //     if amount > 0.0 {
-    //         emit Burned(type: type, amount: amount, fromUUID: fromUUID)
-    //     }
-    //     return true
-    // }
 
     /// Balance
     ///
@@ -79,8 +61,7 @@ access(all) contract interface FungibleToken: ViewResolver {
     /// for getting balance information
     ///
     access(all) resource interface Balance {
-        /// Get the balance of the vault
-        access(all) view fun getBalance(): UFix64
+        access(all) var balance: UFix64
     }
 
     /// Provider
@@ -94,6 +75,16 @@ access(all) contract interface FungibleToken: ViewResolver {
     ///
     access(all) resource interface Provider {
 
+        /// Function to ask a provider if a specific amount of tokens
+        /// is available to be withdrawn
+        /// This could be useful to avoid panicing when calling withdraw
+        /// when the balance is unknown
+        /// Additionally, if the provider is pulling from multiple vaults
+        /// it only needs to check some of the vaults until the desired amount
+        /// is reached, potentially helping with performance.
+        /// 
+        access(all) view fun isAvailableToWithdraw(amount: UFix64): Bool
+
         /// withdraw subtracts tokens from the implementing resource
         /// and returns a Vault with the removed tokens.
         ///
@@ -104,9 +95,8 @@ access(all) contract interface FungibleToken: ViewResolver {
         access(Withdraw) fun withdraw(amount: UFix64): @{Vault} {
             post {
                 // `result` refers to the return value
-                result.getBalance() == amount:
+                result.balance == amount:
                     "Withdrawal amount must be the same as the balance of the withdrawn Vault"
-                //FungibleToken.emitWithdrawnEvent(type: self.getType().identifier, amount: amount, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
                 emit Withdrawn(type: self.getType().identifier, amount: amount, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
             }
         }
@@ -146,9 +136,6 @@ access(all) contract interface FungibleToken: ViewResolver {
         /// Field that tracks the balance of a vault
         access(all) var balance: UFix64
 
-        /// Get the balance of the vault
-        access(all) view fun getBalance(): UFix64
-
         /// Called when a fungible token is burned via the `Burner.burn()` method
         /// Implementations can do any bookkeeping or emit any events
         /// that should be emitted when a vault is destroyed.
@@ -158,7 +145,6 @@ access(all) contract interface FungibleToken: ViewResolver {
         /// This is to prevent vault owners from spamming fake Burned events.
         access(contract) fun burnCallback() {
             pre {
-                //FungibleToken.emitBurnedEvent(type: self.getType().identifier, amount: self.balance, fromUUID: self.uuid)
                 emit Burned(type: self.getType().identifier, amount: self.balance, fromUUID: self.uuid)
             }
             post {
@@ -192,14 +178,14 @@ access(all) contract interface FungibleToken: ViewResolver {
         ///
         access(Withdraw) fun withdraw(amount: UFix64): @{Vault} {
             pre {
-                self.getBalance() >= amount:
+                self.balance >= amount:
                     "Amount withdrawn must be less than or equal than the balance of the Vault"
             }
             post {
                 // use the special function `before` to get the value of the `balance` field
                 // at the beginning of the function execution
                 //
-                self.getBalance() == before(self.getBalance()) - amount:
+                self.balance == before(self.balance) - amount:
                     "New Vault balance must be the difference of the previous balance and the withdrawn Vault balance"
             }
         }
@@ -212,11 +198,10 @@ access(all) contract interface FungibleToken: ViewResolver {
             pre {
                 from.isInstance(self.getType()): 
                     "Cannot deposit an incompatible token type"
-                //FungibleToken.emitDepositedEvent(type: from.getType().identifier, amount: from.getBalance(), to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
-                emit Deposited(type: from.getType().identifier, amount: from.getBalance(), to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
+                emit Deposited(type: from.getType().identifier, amount: from.balance, to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
             }
             post {
-                self.getBalance() == before(self.getBalance()) + before(from.getBalance()):
+                self.balance == before(self.balance) + before(from.balance):
                     "New Vault balance must be the sum of the previous balance and the deposited Vault"
             }
         }
@@ -225,7 +210,7 @@ access(all) contract interface FungibleToken: ViewResolver {
         ///
         access(all) fun createEmptyVault(): @{Vault} {
             post {
-                result.getBalance() == 0.0: "The newly created Vault must have zero balance"
+                result.balance == 0.0: "The newly created Vault must have zero balance"
             }
         }
     }
@@ -235,7 +220,7 @@ access(all) contract interface FungibleToken: ViewResolver {
     access(all) fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault} {
         post {
             result.getType() == vaultType: "The returned vault does not match the desired type"
-            result.getBalance() == 0.0: "The newly created Vault must have zero balance"
+            result.balance == 0.0: "The newly created Vault must have zero balance"
         }
     }
 }
\ No newline at end of file
diff --git a/contracts/FungibleTokenSwitchboard.cdc b/contracts/FungibleTokenSwitchboard.cdc
index f13ac74a..1c9cfbc3 100644
--- a/contracts/FungibleTokenSwitchboard.cdc
+++ b/contracts/FungibleTokenSwitchboard.cdc
@@ -241,14 +241,14 @@ access(all) contract FungibleTokenSwitchboard {
                 // If we can borrow a reference to the vault...
                 if let vaultRef = depositedVaultCapability.borrow() {
                     // We deposit the funds on said vault
-                    vaultRef.deposit(from: <-from.withdraw(amount: from.getBalance()))
+                    vaultRef.deposit(from: <-from.withdraw(amount: from.balance))
                 }
             }
             // if deposit failed for some reason
-            if from.getBalance() > 0.0 {
+            if from.balance > 0.0 {
                 emit NotCompletedDeposit(
                     type: from.getType(),
-                    amount: from.getBalance(),
+                    amount: from.balance,
                     switchboardOwner: self.owner?.address,
                 )
                 return <-from
diff --git a/contracts/utility/PrivateReceiverForwarder.cdc b/contracts/utility/PrivateReceiverForwarder.cdc
index d5e035fd..e9b72112 100644
--- a/contracts/utility/PrivateReceiverForwarder.cdc
+++ b/contracts/utility/PrivateReceiverForwarder.cdc
@@ -34,7 +34,7 @@ access(all) contract PrivateReceiverForwarder {
         access(contract) fun deposit(from: @{FungibleToken.Vault}) {
             let receiverRef = self.recipient.borrow()!
 
-            let balance = from.getBalance()
+            let balance = from.balance
 
             let uuid = from.uuid
 
diff --git a/contracts/utility/TokenForwarding.cdc b/contracts/utility/TokenForwarding.cdc
index 4b679c9b..a7537f6e 100644
--- a/contracts/utility/TokenForwarding.cdc
+++ b/contracts/utility/TokenForwarding.cdc
@@ -51,7 +51,7 @@ access(all) contract TokenForwarding {
         access(all) fun deposit(from: @{FungibleToken.Vault}) {
             let receiverRef = self.recipient.borrow<&{FungibleToken.Receiver}>()!
 
-            let balance = from.getBalance()
+            let balance = from.balance
 
             let uuid = from.uuid
 
diff --git a/coverage.json b/coverage.json
index fc4f27d4..d4d05ab4 100644
--- a/coverage.json
+++ b/coverage.json
@@ -2,597 +2,153 @@
   "coverage": {
     "A.0000000000000007.ExampleToken": {
       "line_hits": {
-        "101": 4,
-        "102": 4,
-        "113": 3,
-        "115": 3,
-        "124": 2,
-        "128": 0,
-        "132": 1,
-        "137": 0,
-        "138": 0,
-        "139": 0,
-        "143": 0,
-        "148": 20,
-        "149": 20,
-        "150": 20,
-        "151": 20,
-        "152": 20,
-        "157": 72,
-        "171": 7,
-        "172": 7,
-        "185": 6,
-        "186": 6,
-        "187": 6,
-        "188": 6,
-        "199": 2,
-        "214": 1,
-        "215": 1,
-        "216": 1,
-        "228": 6,
-        "238": 1,
-        "239": 1,
-        "24": 0,
-        "241": 1,
-        "245": 4,
-        "247": 4,
-        "25": 0,
-        "251": 4,
-        "252": 4,
-        "253": 4,
-        "254": 4,
-        "256": 4,
-        "262": 4,
-        "263": 4,
-        "264": 4,
-        "265": 4,
-        "267": 4,
-        "268": 4,
-        "29": 0,
-        "32": 0,
-        "36": 0,
-        "39": 0,
-        "65": 4,
-        "70": 4,
-        "75": 4,
-        "79": 1,
-        "88": 10,
-        "90": 2,
-        "95": 4
-      },
-      "missed_lines": [
-        24,
-        25,
-        29,
-        32,
-        36,
-        39,
-        128,
-        137,
-        138,
-        139,
-        143
-      ],
-      "statements": 57,
-      "percentage": "80.7%"
-    },
-    "A.0000000000000007.FungibleToken": {
-      "line_hits": {
-        "136": 0,
-        "137": 0,
-        "141": 0,
-        "147": 0,
-        "160": 0,
-        "168": 8,
-        "175": 15,
-        "186": 6,
-        "188": 6,
-        "191": 18,
-        "200": 2,
-        "207": 1,
-        "208": 1,
-        "210": 1,
-        "88": 7,
-        "90": 7
-      },
-      "missed_lines": [
-        136,
-        137,
-        141,
-        147,
-        160
-      ],
-      "statements": 16,
-      "percentage": "68.8%"
-    },
-    "A.0000000000000007.FungibleTokenMetadataViews": {
-      "line_hits": {
-        "102": 2,
-        "103": 2,
-        "104": 2,
-        "107": 0,
-        "155": 3,
-        "156": 3,
-        "157": 3,
-        "159": 3,
-        "160": 3,
-        "161": 3,
-        "162": 3,
-        "163": 3,
-        "164": 3,
-        "165": 3,
-        "166": 3,
-        "176": 1,
-        "177": 1,
-        "178": 1,
-        "181": 0,
-        "189": 0,
-        "27": 2,
-        "28": 2,
-        "38": 2,
-        "39": 2,
-        "40": 2,
-        "42": 0,
-        "87": 5,
-        "88": 5,
-        "89": 5,
-        "90": 5,
-        "91": 5,
-        "92": 5
-      },
-      "missed_lines": [
-        42,
-        107,
-        181,
-        189
-      ],
-      "statements": 32,
-      "percentage": "87.5%"
-    },
-    "A.0000000000000007.FungibleTokenSwitchboard": {
-      "line_hits": {
-        "102": 0,
         "104": 0,
-        "107": 0,
-        "110": 0,
-        "138": 0,
-        "140": 0,
-        "143": 0,
-        "164": 1,
-        "167": 1,
-        "168": 1,
-        "172": 1,
-        "174": 1,
-        "176": 1,
-        "195": 1,
-        "198": 1,
-        "201": 1,
-        "215": 4,
-        "219": 3,
-        "222": 3,
-        "239": 0,
-        "242": 0,
-        "244": 0,
-        "248": 0,
-        "249": 0,
-        "254": 0,
-        "256": 0,
-        "257": 0,
-        "266": 1,
-        "267": 0,
-        "270": 1,
-        "282": 1,
-        "283": 0,
-        "286": 1,
-        "297": 0,
-        "298": 0,
-        "299": 0,
-        "300": 0,
-        "303": 0,
-        "314": 0,
-        "316": 0,
-        "317": 0,
-        "319": 0,
-        "322": 0,
-        "330": 4,
-        "331": 4,
-        "332": 2,
-        "333": 2,
-        "336": 4,
-        "342": 0,
-        "343": 0,
-        "344": 0,
-        "345": 0,
-        "350": 1,
-        "359": 1,
-        "363": 1,
-        "364": 1,
-        "365": 1,
-        "68": 1,
-        "71": 1,
-        "74": 1,
-        "77": 1,
-        "82": 0,
-        "94": 0,
-        "97": 0,
-        "98": 0
-      },
-      "missed_lines": [
-        82,
-        94,
-        97,
-        98,
-        102,
-        104,
-        107,
-        110,
-        138,
-        140,
-        143,
-        239,
-        242,
-        244,
-        248,
-        249,
-        254,
-        256,
-        257,
-        267,
-        283,
-        297,
-        298,
-        299,
-        300,
-        303,
-        314,
-        316,
-        317,
-        319,
-        322,
-        342,
-        343,
-        344,
-        345
-      ],
-      "statements": 65,
-      "percentage": "46.2%"
-    },
-    "A.0000000000000007.MetadataViews": {
-      "line_hits": {
-        "111": 0,
-        "112": 0,
+        "106": 0,
+        "113": 0,
+        "117": 0,
         "121": 0,
-        "122": 0,
-        "125": 0,
-        "143": 5,
-        "144": 5,
-        "156": 5,
+        "126": 0,
+        "127": 0,
+        "128": 0,
+        "132": 0,
+        "137": 0,
+        "151": 0,
+        "152": 0,
+        "165": 0,
         "166": 0,
         "167": 0,
         "168": 0,
-        "171": 0,
-        "181": 0,
-        "191": 0,
-        "192": 0,
-        "193": 0,
+        "179": 0,
+        "18": 0,
+        "194": 0,
+        "195": 0,
         "196": 0,
-        "208": 10,
-        "218": 0,
-        "219": 0,
-        "220": 0,
-        "223": 0,
-        "257": 0,
-        "259": 0,
-        "260": 0,
-        "261": 0,
-        "276": 0,
-        "277": 0,
-        "278": 0,
-        "280": 0,
-        "282": 0,
-        "290": 0,
-        "300": 0,
-        "301": 0,
-        "302": 0,
-        "305": 0,
-        "315": 0,
-        "340": 0,
-        "341": 0,
-        "342": 0,
-        "343": 0,
-        "354": 0,
-        "362": 0,
-        "372": 0,
-        "373": 0,
-        "374": 0,
-        "377": 0,
-        "392": 0,
-        "393": 0,
-        "394": 0,
-        "398": 0,
-        "399": 0,
-        "400": 0,
-        "401": 0,
-        "404": 0,
-        "432": 0,
-        "433": 0,
-        "435": 0,
-        "436": 0,
-        "437": 0,
-        "450": 0,
-        "460": 0,
-        "461": 0,
-        "462": 0,
-        "465": 0,
-        "478": 0,
-        "48": 0,
-        "488": 0,
-        "489": 0,
-        "49": 0,
-        "490": 0,
-        "493": 0,
-        "50": 0,
-        "513": 0,
-        "514": 0,
-        "517": 0,
-        "518": 0,
-        "519": 0,
-        "529": 0,
-        "530": 0,
-        "531": 0,
-        "534": 0,
-        "561": 0,
-        "562": 0,
-        "563": 0,
-        "564": 0,
-        "565": 0,
-        "566": 0,
-        "567": 0,
-        "568": 0,
-        "579": 0,
-        "580": 0,
-        "581": 0,
-        "584": 0,
-        "60": 0,
-        "61": 0,
-        "62": 0,
-        "640": 0,
-        "641": 0,
-        "643": 0,
-        "644": 0,
-        "645": 0,
-        "646": 0,
-        "647": 0,
-        "648": 0,
-        "649": 0,
-        "65": 0,
-        "659": 0,
-        "660": 0,
-        "661": 0,
-        "664": 0,
-        "699": 0,
-        "700": 0,
-        "701": 0,
-        "702": 0,
-        "703": 0,
-        "704": 0,
-        "715": 0,
-        "716": 0,
-        "717": 0,
-        "720": 0,
-        "81": 5,
-        "85": 3
+        "208": 0,
+        "21": 0,
+        "212": 1,
+        "214": 1,
+        "218": 1,
+        "224": 1,
+        "225": 1,
+        "226": 1,
+        "227": 1,
+        "229": 1,
+        "231": 1,
+        "232": 1,
+        "25": 0,
+        "28": 0,
+        "54": 1,
+        "55": 1,
+        "56": 1,
+        "57": 1,
+        "58": 1,
+        "63": 0,
+        "64": 0,
+        "66": 0,
+        "70": 0,
+        "79": 0,
+        "81": 0,
+        "86": 0,
+        "92": 0,
+        "93": 0
       },
       "missed_lines": [
-        48,
-        49,
-        50,
-        60,
-        61,
-        62,
-        65,
-        111,
-        112,
+        18,
+        21,
+        25,
+        28,
+        63,
+        64,
+        66,
+        70,
+        79,
+        81,
+        86,
+        92,
+        93,
+        104,
+        106,
+        113,
+        117,
         121,
-        122,
-        125,
+        126,
+        127,
+        128,
+        132,
+        137,
+        151,
+        152,
+        165,
         166,
         167,
         168,
-        171,
-        181,
-        191,
-        192,
-        193,
+        179,
+        194,
+        195,
         196,
-        218,
-        219,
-        220,
-        223,
-        257,
-        259,
-        260,
-        261,
-        276,
-        277,
-        278,
-        280,
-        282,
-        290,
-        300,
-        301,
-        302,
-        305,
-        315,
-        340,
-        341,
-        342,
-        343,
-        354,
-        362,
-        372,
-        373,
-        374,
-        377,
-        392,
-        393,
-        394,
-        398,
-        399,
-        400,
-        401,
-        404,
-        432,
-        433,
-        435,
-        436,
-        437,
-        450,
-        460,
-        461,
-        462,
-        465,
-        478,
-        488,
-        489,
-        490,
-        493,
-        513,
-        514,
-        517,
-        518,
-        519,
-        529,
-        530,
-        531,
-        534,
-        561,
-        562,
-        563,
-        564,
-        565,
-        566,
-        567,
-        568,
-        579,
-        580,
-        581,
-        584,
-        640,
-        641,
-        643,
-        644,
-        645,
-        646,
-        647,
-        648,
-        649,
-        659,
-        660,
-        661,
-        664,
-        699,
-        700,
-        701,
-        702,
-        703,
-        704,
-        715,
-        716,
-        717,
-        720
+        208
       ],
-      "statements": 123,
-      "percentage": "4.9%"
+      "statements": 49,
+      "percentage": "30.6%"
     },
     "A.0000000000000007.PrivateReceiverForwarder": {
       "line_hits": {
-        "35": 1,
-        "37": 1,
-        "39": 1,
-        "41": 1,
-        "46": 2,
-        "48": 2,
-        "55": 2,
-        "62": 1,
-        "64": 1,
-        "68": 1,
-        "75": 1,
-        "77": 1,
-        "78": 1,
-        "80": 1
-      },
-      "missed_lines": [],
-      "statements": 14,
-      "percentage": "100.0%"
-    },
-    "A.0000000000000007.TokenForwarding": {
-      "line_hits": {
-        "103": 0,
-        "104": 0,
-        "105": 0,
-        "106": 0,
-        "111": 1,
-        "113": 1,
-        "120": 1,
-        "52": 1,
-        "54": 1,
-        "56": 1,
-        "58": 1,
+        "35": 0,
+        "37": 0,
+        "39": 0,
+        "41": 0,
+        "43": 0,
+        "48": 0,
+        "50": 0,
+        "57": 0,
         "64": 0,
-        "74": 0,
-        "81": 0,
-        "83": 0,
-        "91": 0,
-        "92": 0,
-        "94": 0,
-        "95": 0,
-        "96": 0,
-        "97": 0
+        "66": 0,
+        "70": 0,
+        "77": 1,
+        "79": 1,
+        "80": 1,
+        "82": 1
       },
       "missed_lines": [
+        35,
+        37,
+        39,
+        41,
+        43,
+        48,
+        50,
+        57,
         64,
-        74,
-        81,
-        83,
-        91,
-        92,
-        94,
-        95,
-        96,
-        97,
-        103,
-        104,
-        105,
-        106
+        66,
+        70
       ],
-      "statements": 21,
-      "percentage": "33.3%"
+      "statements": 15,
+      "percentage": "26.7%"
     }
   },
   "excluded_locations": [
-    "A.0000000000000002.FungibleToken",
-    "A.0000000000000001.NonFungibleToken",
-    "A.0000000000000001.NodeVersionBeacon",
-    "I.Crypto",
-    "A.0000000000000001.FlowServiceAccount",
+    "s.7465737400000000000000000000000000000000000000000000000000000000",
     "A.0000000000000001.FlowStorageFees",
-    "A.0000000000000004.FlowFees",
-    "A.0000000000000001.ExampleNFT",
-    "I.Test",
-    "A.0000000000000002.FungibleTokenMetadataViews",
-    "A.0000000000000001.FlowIDTableStaking",
     "A.0000000000000001.FlowEpoch",
+    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000002.FungibleTokenMetadataViews",
+    "A.0000000000000001.NonFungibleToken",
+    "A.0000000000000001.FlowDKG",
+    "A.0000000000000001.RandomBeaconHistory",
+    "A.0000000000000001.NodeVersionBeacon",
     "A.0000000000000003.FlowToken",
     "A.0000000000000001.FlowStakingCollection",
+    "I.Test",
+    "A.0000000000000001.ExampleNFT",
+    "I.Crypto",
     "A.0000000000000001.StakingProxy",
-    "A.0000000000000001.MetadataViews",
-    "A.0000000000000001.FlowDKG",
+    "A.0000000000000001.FlowServiceAccount",
     "A.0000000000000001.ViewResolver",
+    "A.0000000000000001.MetadataViews",
+    "A.0000000000000002.FungibleToken",
+    "A.0000000000000004.FlowFees",
+    "A.0000000000000001.LockedTokens",
     "A.0000000000000001.FlowClusterQC",
-    "A.0000000000000001.RandomBeaconHistory",
-    "I.BlockchainHelpers",
-    "s.7465737400000000000000000000000000000000000000000000000000000000",
-    "A.0000000000000001.LockedTokens"
+    "I.BlockchainHelpers"
   ]
 }
\ No newline at end of file
diff --git a/flow.json b/flow.json
index bdbd0270..54c479ba 100644
--- a/flow.json
+++ b/flow.json
@@ -57,6 +57,13 @@
         "testnet": "0x631e88ae7f1d7c20"
       }
     },
+    "Burner": {
+      "source": "./contracts/utility/Burner.cdc",
+      "aliases": {
+        "emulator": "0xf8d6e0586b0a20c7",
+        "testing": "0x0000000000000007"
+      }
+    },
     "NonFungibleToken": {
       "source": "./contracts/utility/NonFungibleToken.cdc",
       "aliases": {
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 8615eca6..a4a96901 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,14 +1,14 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (10.263kB)
-// ../../../contracts/FungibleToken.cdc (11.165kB)
+// ../../../contracts/ExampleToken.cdc (10.314kB)
+// ../../../contracts/FungibleToken.cdc (9.933kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
-// ../../../contracts/FungibleTokenSwitchboard.cdc (18.059kB)
+// ../../../contracts/FungibleTokenSwitchboard.cdc (18.044kB)
 // ../../../contracts/utility/Burner.cdc (1.882kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.61kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (10.391kB)
-// ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.869kB)
-// ../../../contracts/utility/TokenForwarding.cdc (5.456kB)
+// ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.864kB)
+// ../../../contracts/utility/TokenForwarding.cdc (5.451kB)
 // ../../../contracts/utility/ViewResolver.cdc (2.718kB)
 
 package assets
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xf5\x01\x3d\x1b\x4d\x9c\x74\xb7\xed\xed\x1a\x49\x73\x6d\xb7\xb9\x3b\x60\x0b\x14\x6d\x76\xf7\xa1\x28\x1a\x5a\x1a\xdb\xbc\x48\xa4\x40\x52\x76\xbc\x41\xbe\xfb\x61\x48\x4a\x22\xf5\xc7\x71\xd2\x3e\x9d\x1f\xda\xd8\xe2\x0c\x87\x33\x3f\xfe\x38\x33\x14\xcf\x0b\xa9\x0c\x5c\x94\x62\xc9\xe7\x19\x5e\xca\x6b\x14\xb0\x50\x32\x87\x51\xf4\xdb\xe8\xc0\x8f\x7c\x8f\x86\xa5\xcc\xb0\x3f\x38\x6e\xb4\x1f\x19\xfd\x56\x8f\x8c\xe4\xfb\xc4\x86\x07\xd4\x3a\xe8\xdb\x47\xd4\x32\x5b\xa3\xf2\x52\xe1\x4f\xa3\x83\x03\x96\x24\xa8\xf5\x98\x65\xd9\x04\x12\x29\x8c\x62\x89\x81\x77\x37\x2c\x2f\xbc\xe2\x59\x6b\x71\xb7\x07\x07\x00\x00\xc7\xc7\xc7\x70\xb9\x42\xc0\x35\x0a\x03\x66\xc5\x0c\x70\x0d\x98\x73\x63\x30\x85\xcd\x0a\x05\x08\xdc\x80\x21\x19\x0d\x4c\x21\xe4\x5c\x18\x4c\xad\x70\x38\xa9\x53\x60\x75\xeb\xf7\x76\xc8\x98\xe5\xb2\x14\x66\x06\xbf\x5f\xf0\x9b\x97\xcf\x0f\xc1\x6c\x0b\x9c\xc1\x27\xa3\xb8\x58\x4e\x82\xe9\xa5\x61\x19\xe8\xb2\x28\xb2\x2d\xc8\x45\x64\xb5\x06\x2e\x00\x6f\xb8\x36\x28\x12\xec\x4c\xba\x66\x0a\x0c\x89\x7f\xb2\xd2\xd5\x54\x8d\xee\xd7\x69\xce\x05\x7c\x60\x66\xd5\x91\xcd\xd0\xb8\xc7\x9f\x8c\x54\x6c\x89\x34\x88\xac\xab\xbf\x1c\x74\xa7\xe3\xb8\x81\x45\x29\x60\x89\xe6\xad\x77\xb2\x0d\xd4\x58\xa1\x96\xa5\x4a\xf0\xd2\x2e\x91\xfe\x3d\x9f\xcc\xe0\x33\xfd\xf1\x05\x6e\xad\x22\xfa\xd0\x9c\x6b\x56\x66\xe6\x23\x2e\xe0\x0c\x34\x66\x8b\x29\x4b\x12\x72\xd3\x34\x61\x05\x9b\xf3\x8c\x1b\x8e\x7a\x3a\x97\x4a\xc9\xcd\xe9\x93\xd0\x17\xd3\x3f\x48\xf2\xd5\xf8\xb8\x28\xe7\x19\x4f\x8e\x31\x78\x66\x1f\x4d\xea\x79\xe8\x73\x7e\x0e\x05\x13\x3c\x19\x8f\xde\xca\x32\x4b\x41\x48\x03\x4e\x2d\x30\x50\xb8\x40\x45\x2e\x05\x23\xc1\xac\xd0\x59\x05\xaa\x02\x54\xa3\xaa\xfe\x43\xa1\x29\x95\xa8\xcd\x9f\x2e\xd1\xaf\xdd\x8d\xbd\xeb\xba\x8b\x3c\xe5\x35\x86\xde\xea\x73\xd6\xa1\xf5\x6d\xf3\xc3\x64\x06\xaf\xc5\xf6\x93\x51\x65\x62\xce\xff\x4f\x1d\xe8\xc7\x5a\x97\xd0\xea\x23\x3f\x12\x78\xad\x4d\xd5\xb7\xfa\xd7\x77\x2c\x59\x41\xa9\x51\x81\x36\x52\xa1\x06\x26\x80\x0b\x6d\x18\x19\x23\x17\x20\x45\xb6\xb5\x16\x59\x71\xda\x3f\x66\x85\xdc\x8d\x66\x4b\x8c\x76\xfd\xa2\x14\x89\xe1\xd2\x6d\xb3\x46\x86\x89\x14\x96\x72\x8d\x4a\x60\x0a\x73\xa7\xad\x50\x68\x7f\x2f\xa4\x36\xc4\x30\x29\xb7\x82\xb5\x3a\x2e\x5a\x04\x63\xb9\xc3\xac\x70\x6b\x59\x23\x61\x59\x86\xe9\x34\x9a\x3d\x59\x61\x72\xad\x61\xc5\x8a\x02\x05\x30\x03\xaa\x14\x86\xe7\x68\x45\x91\xa8\x8e\xd5\x16\x12\x2b\xb5\x74\xd4\xba\x3e\x7a\x3c\xd1\x08\xe1\xd6\x3f\x47\x48\x14\x32\xe2\x30\xbf\x32\x22\x45\xbc\x31\xe4\xa1\xea\xab\xe5\x48\x4b\x79\x64\x66\xad\x8e\xcc\x4d\x71\xc1\x85\x15\x3e\x04\x6d\x03\xac\x90\x4c\x10\x12\x36\x6c\x0b\x0b\x49\xb6\xe5\x2c\xe3\x09\x97\xa5\x76\xe1\x30\xd2\xcf\xe9\xbc\xd8\xb8\x46\x96\x7e\x5a\x2e\x80\x71\x35\x85\xd7\xa0\x0b\x4c\x38\xcb\xc0\x32\xa5\x82\x6a\x47\x80\x40\x4c\x35\x69\x9a\x37\x36\x18\x69\x39\xb7\x56\xd7\xf0\x71\xec\x8a\x70\xeb\xd5\x0a\xad\x29\x2d\xee\x77\xfb\xa0\x3a\x01\xc2\x88\x58\x2e\x85\x39\xcb\x2a\x30\x99\x15\xd7\x0e\xb1\xf5\xd8\x36\xff\xfa\xd1\x31\xf7\xf6\x0d\xd4\x43\x3c\x3b\x24\xe0\xb6\xa9\x1b\xff\xa1\xfe\x7b\x70\xb8\xc2\x04\xf9\x1a\x55\x47\x20\x58\x26\x70\xc1\x0d\x67\x19\xff\x0b\x2d\x0c\xaa\xa5\x32\xd3\xb8\xcc\x06\x91\x20\x47\x58\xac\x65\x49\x70\xdc\x5a\xeb\x24\x60\x26\xfa\x58\x3a\xaa\x54\x9e\x55\xca\xa3\x21\x44\x60\x3c\x45\x61\xf8\x82\xa3\x82\x33\x18\x75\x58\x68\xd4\xd5\x19\xb8\x0e\xce\x42\xdf\x8d\x1b\x5d\xb3\x40\xef\xe4\x87\xae\x8e\xc6\x9b\x70\x16\x78\xe7\x01\x1a\x42\x07\x0f\xeb\x88\x16\xf4\xd1\x8b\x8c\x02\x7d\x77\x31\xee\xfe\x85\x26\x0a\x85\xdf\xa0\x3b\x40\x17\x9c\xc2\x6f\x9c\xd0\x78\x52\x85\xa4\x15\x11\xcf\xb9\x61\x60\x86\xec\x78\x6b\xd9\xc5\xd1\x96\xe5\x1d\xbb\x61\xdc\x4e\xa3\xad\x3f\x2f\x2d\x1d\xae\x39\xb3\xf6\x5d\xbd\xa1\xef\x6a\x4a\x3f\x8f\x27\x57\x90\xa3\x59\xc9\xb4\x6d\x70\x45\x33\xee\x30\xa4\xb1\x34\xcd\x9c\x25\xd7\xe3\x36\x78\xf8\x22\xc6\xcf\x2b\x38\x99\x9e\xb4\xc6\xd0\x27\x3a\xd1\x82\xe4\x07\xce\x86\x1f\x1d\xf5\x7b\xc0\x79\x61\x07\x82\x4f\xa6\x27\x7d\xee\x1a\x8a\x86\xcf\x07\x7a\x12\x9f\x20\x16\x9f\x3b\x2b\xa2\xc1\xa7\xc3\x59\xf0\xf4\xe2\x92\xfe\x7f\x35\x9e\x1c\x3e\x42\xf4\x57\xae\x8b\x8c\x6d\x1f\x29\x6d\x37\xe4\xaf\xcc\xb0\x47\xc9\x5f\x36\x21\x78\x35\x8e\x93\x8b\x2f\xf7\xf9\x35\x48\x9e\x6c\x86\xf0\xd5\x7a\x7a\x77\x76\x64\x23\xb8\xe1\x26\x59\xb9\xb0\x74\xc1\x93\x30\x8d\xfb\xfb\x7b\xd6\x91\x0f\xe2\x78\xaf\x82\x71\xaf\x34\x7d\x16\xc6\x47\x65\x56\x11\x4b\xb3\xce\x87\x44\x74\x02\x4c\xff\xb0\xdb\x10\x3f\xf8\xbc\x1b\xbc\xc6\x98\x3a\xc8\x8f\x32\x27\x84\xc8\x1e\x06\xd5\xc3\xcf\x7b\x2d\x9a\x3c\x36\x64\x8d\x57\xfa\xa3\x46\x07\x4f\x8e\x29\x67\x70\x16\x17\xaf\xd3\xf7\xf4\xeb\x70\xb0\xac\x8f\x78\x86\xb3\x96\xd8\xbf\x2f\x2f\x3f\x5c\xf0\x0c\x77\x4b\x96\x2a\x9b\xc1\x68\x65\x4c\xa1\x67\xc7\xc7\x4c\x6b\x34\x7a\xba\xc1\xb9\xe6\x06\x8f\x48\xad\x9e\x26\x32\x3f\x7e\xb1\x78\xf9\xe3\x2f\xcf\x93\x93\xe4\x1f\xec\xe7\x24\x4d\x5f\x3e\xff\x69\xfe\x2c\xf9\xf9\xc7\x93\xd6\x03\xf6\xe2\x45\x32\x7f\x96\xfc\xf2\xd3\xcb\xaf\x17\x99\xdc\x7c\xfd\x53\xaa\x34\x67\xea\x7a\xaa\xd7\xcb\xd1\xa0\x1d\x3d\x3b\xb7\xfa\x58\x8f\xb8\xb2\x63\xc4\x73\xb6\xc4\x63\xbd\x5e\x3e\xbd\xc9\xb3\x7e\x6d\xdd\xe8\x44\xae\xd5\xfd\xbe\xd5\xe3\xcf\xf6\xf1\x97\x7e\xf1\x7d\xf6\x93\x8f\xee\xb0\xaf\x05\xcb\x69\x0d\xfe\x04\xa8\x95\xb9\x82\x7c\x34\xec\x00\xbd\xcd\xe7\x92\x42\xf4\xee\xe2\x72\xc7\xb0\x14\x75\xa2\x78\x41\x69\xd1\x0c\x46\x97\x94\x15\x76\x4f\xc8\x52\x63\x0a\xcc\x16\x24\x3e\x07\xa0\xdc\x75\x85\x59\x01\x5b\x59\x42\x8a\x6b\xcc\xa4\xfd\x5b\x81\xa0\x5c\xfc\xe2\x12\xfe\x26\x05\x45\x72\xba\x63\x6e\xbc\x31\xa8\x04\xcb\x7e\xff\xf8\x5b\x1b\x83\xef\x9a\x47\xe3\x1a\x64\x7e\xee\xa3\x85\x99\x4a\xb1\x20\xe5\x52\x2d\x47\x3b\x40\x90\xc9\xa5\xd4\x33\x1f\xc2\x1d\xae\x92\x94\xb2\xeb\x59\x0f\xad\x86\x9f\x91\xd9\x70\x63\x50\x8d\xf6\x32\xd6\x0f\xb6\x9b\x80\x6c\xfd\x3a\xcf\x64\x72\x9d\xac\x18\x17\xa3\x7e\xb8\x40\xe7\xd0\xae\x3e\x8f\xe6\x8e\x90\xc2\x86\xd9\x23\xa8\xbb\xa3\x44\xa3\xaa\xbf\x7d\x92\xba\xb3\xf4\x5e\x28\x99\xcf\x3a\x39\xed\xf0\x42\x1f\x56\x83\xdb\x82\x38\x75\x86\x0e\x78\x6f\xaf\xc3\xab\x72\xc7\xf0\x76\x8b\x6a\x99\xf6\x72\x86\x21\x14\x97\x28\x9d\xa4\x7a\x17\x4f\x39\x13\x03\xc1\x26\x9f\xbf\x7f\xbe\xdf\xb8\xb8\xc6\xb4\x69\xaf\x9c\x3e\xb9\x8d\x2b\xc2\x2a\x4f\xbf\xeb\xcd\x73\xda\x56\x74\xd5\xf5\xc5\x7a\x87\x22\x57\x27\xbf\xcb\x0b\xb3\xb5\x83\x2f\x7c\x95\x3f\x83\xf1\xa2\x14\x94\x41\xfe\xf3\xb6\xa7\x64\xbd\xbb\x67\xeb\xf9\xe0\x9e\x1e\xd5\x3d\x96\xf6\x44\xe3\x1d\x7b\xaa\xff\xd1\x23\x37\x55\x9c\xfa\x3d\x36\x91\x0a\xb4\x0c\x63\x31\x6a\x80\x0e\x95\x00\x7b\xac\xed\xae\x2f\x5b\x17\x3c\x1b\x2a\x98\x96\x68\x48\xb7\x54\x06\x53\xeb\x5c\xf2\x89\x06\x69\x4f\x09\x96\x65\x5b\xaf\x43\x03\x83\x8c\x6b\xdb\x03\x71\x5d\x32\x63\x07\xfa\xce\x0b\xd7\x35\x4c\x6d\x02\x5c\xf8\xce\x09\xec\x28\x34\x7a\xe6\x25\xd0\xdc\x3a\x48\xbe\x91\x32\x6b\x43\x85\x08\x4c\x57\x52\x56\xa0\x35\xfc\x0c\x6e\x5b\xa5\x50\x34\xfa\xb3\xdd\x73\x4b\xb4\x93\x8d\x27\x5f\xe0\x0c\x8c\x2a\xb1\xb7\xd8\x8c\x04\xf7\xae\x9f\xb8\xee\xae\x6a\x6c\xc2\x8e\x28\x19\xba\xa3\xbe\x1d\xf2\xcb\x67\x63\x8b\xb1\xf3\x73\x58\xb0\x4c\x0f\xd6\xbf\x1b\x6e\x56\xa9\x62\x9b\xf0\xc7\x68\x40\xb5\x49\x7d\xe0\xd8\xb5\xeb\x3d\xba\x2e\xbf\x3f\xf7\x99\x5a\x96\x39\x0a\x13\x09\x32\x91\xd6\xda\x7d\xd8\xbd\x90\xbd\xca\xa8\xfb\x8e\xd3\xc1\xa9\xff\x63\x3c\x65\x10\x96\x6c\xff\x0b\xf3\x42\x2a\xa6\xb6\xbe\x63\x59\x5d\x5c\xd8\x14\x84\x92\x0e\x99\xa5\x91\x06\xb3\xc2\xea\x12\xc3\x19\xa0\x10\xe6\xc8\xc5\x12\x8c\x62\x42\x2f\x50\x29\x4c\xa7\x34\x51\x05\x5a\x92\x10\xb8\x09\xb6\x0e\xe9\xa9\xba\x8a\x7e\x5a\x19\xf5\x16\xad\x66\xd7\xa5\x04\x2d\x81\x1b\xdb\x90\xb4\xad\xbc\x42\x52\xc6\x1b\xdb\x84\x99\xc6\xcd\x0a\x15\xf6\x2f\xdc\xa3\x24\xe6\xc1\x3f\xbd\x1f\x5d\x81\x58\x79\xb5\x75\xd5\x42\xfc\xd9\x65\xe4\xdd\xcd\xaa\xe8\xeb\x91\x0f\x50\x1f\xd6\x4e\x8f\xc2\x2e\x67\xd3\x12\x73\x12\x93\x21\x78\x79\x17\x3c\x0c\x5d\xde\xcd\x72\xfe\x5f\x4c\xda\x10\xb3\xb0\x62\x69\xaa\x23\x35\xdc\xe8\xba\x93\xe4\xa3\xd3\x6a\x2c\xc9\x8d\x40\xa5\xf7\x40\x1c\xd7\xc0\xb2\x4c\x6e\x1c\xa2\x52\xd4\x46\x49\xd7\x0b\xd7\x34\xbd\x33\x6d\x8e\x09\x2b\x35\x36\x20\x8e\xf7\x14\x99\x1c\x80\x95\x60\x89\xaa\xb2\xc4\x37\x71\x6d\xe7\xd5\xca\xfe\xbd\xb1\x7d\xc5\xe2\x75\xcd\x11\x05\xe1\x4c\x97\x39\x25\xd9\x22\x75\x3d\xe9\x85\xb4\xbd\x75\x0f\x32\x6b\x61\xd5\x21\x1f\x80\x53\xdd\x5c\xf0\x01\xf1\x29\x59\xff\x79\xdb\xee\x51\xd5\x69\x20\x9c\x1e\xb9\xcd\x4b\xf5\x6e\x0f\xd6\xf6\x46\xda\x53\xa7\xaf\xb7\x35\x15\x3d\x69\x75\xa3\xc0\x15\x25\x36\x24\x71\xab\xb0\x85\xbb\x76\x06\xb0\x27\x00\x63\xba\x71\xb1\xa6\xdd\x06\x2c\xc4\xd3\x5f\xa8\x64\x87\xea\x2a\x02\xe1\x0d\x3f\xb0\x2c\x23\xaa\xf1\x3c\x31\x85\xd7\xee\xc6\x20\x2f\xb5\xe3\x0b\x77\x0c\x56\x77\x1d\x1d\x8d\x36\xaf\xb5\x9a\x9c\xee\x9a\x7f\xda\x97\x3b\xf4\x83\x54\xa9\xbb\x8c\xb0\xe0\x75\xcf\x63\x8d\x2e\x5f\xf7\xb7\x0c\xcc\x95\x70\xd5\x19\x5c\xc1\x42\xd7\xdd\x7f\x57\xde\xd1\x19\xb2\x1f\xae\xba\x29\xd7\x3e\x6c\x74\x0f\xb9\x9c\x4c\x4f\x42\x66\x81\xf8\xa2\xcc\xdd\xa2\x1c\xc0\xc0\xbd\x50\xc5\x1f\x8e\x59\xec\x72\x98\xbd\x17\xf6\x9e\x70\xf7\x46\xb4\x37\xab\xbb\x96\x87\xdd\xb1\xf8\x4b\x9c\xdb\xc8\xcb\xa4\xc6\x5d\x61\xef\x89\x38\x12\xd0\xc1\xc4\x87\x96\xdc\x28\x7e\x79\x85\x23\x13\xdc\x94\x1f\x0e\xe2\x2e\x94\x68\x23\x6f\xaf\x08\x36\xa6\x3f\xe6\x5c\x79\x4c\x7f\xfa\x69\xdf\x79\x83\x39\x1f\x78\xa1\xc0\xfd\x5f\xbd\x50\x10\x67\x66\xd3\xe0\x0e\xe3\xdb\x8e\xaf\x16\xc8\x7a\x89\x24\x84\xdb\x37\x11\xc8\xf7\x25\x8f\xef\x4b\x1c\xdf\x81\x34\xfa\xf6\x4f\x2f\x59\xac\xab\xc4\xb5\xce\x7a\x77\x23\xae\x8e\x2a\xdc\x43\x1c\x3e\x92\xf6\x1a\x2f\x3c\xd6\x2c\x7a\x62\x98\x3e\x3b\x39\xa1\xa3\x26\x1e\xd2\x7e\x55\x04\xce\xe0\xd8\x3b\x2f\x7a\x91\xc0\xbd\x71\x12\xdd\x39\xbe\x75\x96\x35\xf7\xeb\x16\x07\xed\x0d\x6d\x7d\xe7\x5f\xb3\xa1\xd0\xb1\x35\x12\x0a\xb8\x88\x6e\xee\x9d\xca\xfa\xcf\xe8\x40\xee\xf7\x40\x7b\x81\x93\x3e\xdb\x98\xbf\x6c\x85\xfa\x25\x8a\x6d\xab\xa9\x12\xe4\xd9\x78\x53\x48\x8d\x21\xaf\xb9\x1b\x31\x8f\x82\xea\x2e\xcc\xbd\x46\x80\xe6\xb5\x2d\xea\x7c\x39\x54\x3d\x33\x2b\x25\xcb\xa5\xf3\xc2\x55\xd5\x7d\xb8\x02\xcb\xa4\x0b\x96\x84\x8b\xad\xb2\x1d\xb8\x0a\x2f\xfc\xae\x7a\x35\xf9\xc7\xfd\x8a\x22\xaf\x85\x31\x7b\xcb\x8a\x9d\x2f\x93\x54\x9d\x2d\xae\x75\x89\xa7\x4f\x7c\x7f\xc3\xa5\x27\xbd\x6d\xac\x61\x55\xd6\xcd\x7a\x35\x6e\x4d\x7f\x08\xcc\xcc\x7c\xc2\xd3\x34\x76\x26\x91\xc5\x55\x95\xfc\x40\x6b\x87\x3b\x3d\xdf\xb4\x80\xc0\x9a\xd0\xf8\xb0\x9d\x35\x39\xe8\xd7\x57\x19\x48\x10\x1f\xfb\x66\xcd\x21\x18\x39\xeb\xdf\x51\xfe\xd5\x9c\xc8\x17\xee\xfc\x6e\x30\xef\x8e\xe0\xf1\xc0\x02\x5a\x13\x5a\x61\x37\x61\xef\xd6\xae\x08\xe3\xee\xe0\x7f\x01\x00\x00\xff\xff\x01\x0f\xa6\xc7\x17\x28\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x6f\xdb\x46\x12\x7f\xf7\xa7\x98\xea\x80\x9e\x84\xda\xb2\xd3\x26\xb9\x56\xb0\xe3\x3a\x69\x8c\x3b\xa0\x01\x82\xc4\x6d\x1f\x82\x20\x5e\x91\x23\x69\xcf\xe4\x2e\xb1\xbb\x94\xac\x1a\xfe\xee\x87\xd9\x3f\x24\x97\x7f\x64\xd9\xc9\xd3\xf1\xc1\x16\xc9\x9d\xd9\xd9\x99\xdf\xcc\xce\xcc\x92\xe7\x85\x54\x06\x2e\x4b\xb1\xe4\xf3\x0c\xaf\xe4\x0d\x0a\x58\x28\x99\xc3\x28\x7a\x36\x3a\xf0\x23\xdf\xa1\x61\x29\x33\xec\x4f\x8e\x1b\xed\x47\x46\xcf\xaa\x91\x11\x7d\x1f\xd9\xf0\x80\x8a\x07\xdd\x7d\x40\x2d\xb3\x35\x2a\x4f\xd5\x7c\x34\x3a\x38\x60\x49\x82\x5a\x8f\x59\x96\x4d\x20\x91\xc2\x28\x96\x18\x78\x7b\xcb\xf2\xc2\x33\x9e\xb5\x16\x77\x77\x70\x00\x00\x70\x7c\x7c\x0c\x57\x2b\x04\x5c\xa3\x30\x60\x56\xcc\x00\xd7\x80\x39\x37\x06\x53\xd8\xac\x50\x80\xc0\x0d\x18\xa2\xd1\xc0\x14\x42\xce\x85\xc1\xd4\x12\x37\x27\x75\x0c\x2c\x6f\xfd\xce\x0e\x19\xb3\x5c\x96\xc2\xcc\xe0\x8f\x4b\x7e\xfb\xf2\xf9\x21\x98\x6d\x81\x33\xf8\x68\x14\x17\xcb\x49\x63\x7a\x69\x58\x06\xba\x2c\x8a\x6c\x0b\x72\x11\x49\xad\x81\x0b\xc0\x5b\xae\x0d\x8a\x04\x3b\x93\xae\x99\x02\x43\xe4\x1f\x2d\x75\x98\xaa\xe6\x7d\x91\xe6\x5c\xc0\x7b\x66\x56\x1d\xda\x0c\x8d\x7b\xfd\xd1\x48\xc5\x96\x48\x83\x48\xba\xea\xe6\xa0\x3b\x1d\xc7\x0d\x2c\x4a\x01\x4b\x34\x6f\xbc\x92\xad\xa1\xc6\x0a\xb5\x2c\x55\x82\x57\x76\x89\xf4\xf7\x7c\x32\x83\x4f\xf4\xe3\x33\xdc\x59\x46\x74\xd1\x9c\x6b\x56\x66\xe6\x03\x2e\xe0\x0c\x34\x66\x8b\x29\x4b\x12\x52\xd3\x34\x61\x05\x9b\xf3\x8c\x1b\x8e\x7a\x3a\x97\x4a\xc9\xcd\xe9\xf7\x4d\x5d\x4c\xff\x24\xca\x57\xe3\xe3\xa2\x9c\x67\x3c\x39\xc6\xc6\x3b\xfb\x6a\x52\xcd\x43\xd7\xf9\x39\x14\x4c\xf0\x64\x3c\x7a\x23\xcb\x2c\x05\x21\x0d\x38\xb6\xc0\x40\xe1\x02\x15\xa9\x14\x8c\x04\xb3\x42\x27\x15\xa8\x00\xa8\x9a\x55\xf5\x43\xa1\x29\x95\xa8\xc4\x9f\x2e\xd1\xaf\xdd\x8d\xbd\xef\xaa\x8b\x34\xe5\x39\x36\xb5\xd5\xa7\xac\x43\xab\xdb\xfa\xc1\x64\x06\x17\x62\xfb\xd1\xa8\x32\x31\xe7\xff\xa7\x0a\xf4\x63\xad\x4a\x68\xf5\x91\x1e\x09\xbc\x56\xa6\x70\x57\x3d\x7d\xcb\x92\x15\x94\x1a\x15\x68\x23\x15\x6a\x60\x02\xb8\xd0\x86\x91\x30\x72\x01\x52\x64\x5b\x2b\x91\x25\x27\xff\x31\x2b\xe4\x6e\x34\x5b\x62\xe4\xf5\x8b\x52\x24\x86\x4b\xe7\x66\x35\x0d\x13\x29\x2c\xe5\x1a\x95\xc0\x14\xe6\x8e\x5b\xa1\xd0\x3e\x2f\xa4\x36\x14\x61\x52\x6e\x09\x2b\x76\x5c\xb4\x02\x8c\x8d\x1d\x66\x85\x5b\x1b\x35\x12\x96\x65\x98\x4e\xa3\xd9\x93\x15\x26\x37\x1a\x56\xac\x28\x50\x00\x33\xa0\x4a\x61\x78\x8e\x96\x14\x29\xd4\xb1\x4a\x42\x8a\x4a\x2d\x1e\x15\xaf\x0f\x1e\x4f\x34\x42\xb8\xf5\xcf\x11\x12\x85\x8c\x62\x98\x5f\x19\x05\x45\xbc\x35\xa4\xa1\x70\x6b\x63\xa4\x0d\x79\x24\x66\xc5\x8e\xc4\x4d\x71\xc1\x85\x25\x3e\x04\x6d\x0d\xac\x90\x44\x10\x12\x36\x6c\x0b\x0b\x49\xb2\xe5\x2c\xe3\x09\x97\xa5\x76\xe6\x30\xd2\xcf\xe9\xb4\x58\xab\x46\x96\x7e\x5a\x2e\x80\x71\x35\x85\x0b\xd0\x05\x26\x9c\x65\x60\x23\xa5\x82\xe0\x11\x20\x10\x53\x4d\x9c\xe6\xb5\x0c\x46\xda\x98\x5b\xb1\xab\xe3\x71\xac\x8a\xa6\xeb\x55\x0c\xad\x28\xad\xd8\xef\xfc\x20\xec\x00\x4d\x8b\xd8\x58\x0a\x73\x96\x05\x30\x99\x15\xd7\x0e\xb1\xd5\xd8\x76\xfc\xf5\xa3\xe3\xd8\xdb\x37\x50\x0f\xc5\xd9\x21\x02\xe7\xa6\x6e\xfc\xfb\xea\xf7\xe0\x70\x85\x09\xf2\x35\xaa\x0e\x41\x63\x99\xc0\x05\x37\x9c\x65\xfc\x6f\xb4\x30\x08\x4b\x65\xa6\x56\x99\x35\x22\x41\x8e\xb0\x58\xd1\x12\xe1\xb8\xb5\xd6\x49\x23\x32\xd1\x65\xc3\x51\x60\x79\x16\x98\x47\x43\x28\x80\xf1\x14\x85\xe1\x0b\x8e\x0a\xce\x60\xd4\x89\x42\xa3\x2e\xcf\x86\xea\xe0\xac\xa9\xbb\x71\xcd\x6b\xd6\xe0\x3b\xf9\xae\xcb\xa3\xd6\x26\x9c\x35\xb4\xf3\x08\x0e\x4d\x05\x0f\xf3\x88\x16\xf4\xc1\x93\x8c\x1a\xfc\xee\x63\xdc\xbd\xb1\x5e\xed\xc2\x85\xf5\x77\x0b\x54\x87\x70\x72\xb9\x79\x69\xc3\xd0\x9a\x33\x6b\xb1\xeb\xd7\x74\xaf\xa6\xf4\x78\x3c\xb9\x86\x1c\xcd\x4a\xa6\x6d\x50\x04\xf7\x76\x9b\x10\x8d\xa5\x69\xe6\x2c\xb9\x19\xb7\x8d\xc6\x17\xb1\xdd\x5e\xc1\xc9\xf4\xa4\x35\x86\xae\x68\x27\x69\x24\x1d\x70\x36\xfc\xea\x28\x62\x1d\xb1\xbc\xdf\x85\x9c\x93\xe9\x49\x9f\xba\x86\x72\x11\xbf\x0f\xf7\x24\x1c\x50\xef\x3b\x9f\x3a\x2b\xa2\xc1\xa7\xc3\xd9\xe7\xf4\xf2\x8a\xfe\xbf\x1a\x4f\x0e\x9f\x40\xfa\x1b\xd7\x45\xc6\xb6\x4f\xa4\xb6\x8e\xf0\x1b\x33\xec\x49\xf4\x57\xb5\x09\x5e\x8d\xe3\x4d\xfd\xf3\x43\x7a\x6d\x24\x2d\x76\x67\xfe\x62\x35\xbd\x3b\x2b\xb1\x16\xdc\x70\x93\xac\x9c\x59\xba\xe0\x49\x98\xc6\xfd\xf5\x3d\xeb\xd0\x37\xec\xf8\x20\x83\x71\x2f\x35\x5d\x0b\xe3\xad\x32\x0b\x0e\x5d\xaf\xf3\x31\x16\x9d\x00\xd3\xdf\xed\x16\xc4\x0f\x3e\xef\x1a\xaf\x16\xa6\x32\xf2\x93\xc4\x69\x42\x64\x0f\x81\xaa\xe1\xe7\xbd\x12\x4d\x9e\x6a\xb2\x5a\x2b\xfd\x56\xa3\x80\x9f\x63\xca\x19\x9c\xc5\x45\xe3\xf4\x1d\x3d\x1d\x36\x96\xd5\x11\xcf\x70\xd6\x22\xfb\xf7\xd5\xd5\xfb\x4b\x9e\xe1\x6e\xca\x52\x65\x33\x18\xad\x8c\x29\xf4\xec\xf8\x98\x69\x8d\x46\x4f\x37\x38\xd7\xdc\xe0\x11\xb1\xd5\xd3\x44\xe6\xc7\x2f\x16\x2f\x7f\xfc\xe5\x79\x72\x92\xfc\x8b\xfd\x9c\xa4\xe9\xcb\xe7\x3f\xcd\x9f\x25\x3f\xff\x78\xd2\x7a\xc1\x5e\xbc\x48\xe6\xcf\x92\x5f\x7e\x7a\xf9\xe5\x32\x93\x9b\x2f\x7f\x49\x95\xe6\x4c\xdd\x4c\xf5\x7a\x39\x1a\x94\xa3\xc7\x73\xc3\x65\x35\xe2\xd2\xfd\x11\xcf\xd9\x12\x8f\xf5\x7a\xf9\xc3\x6d\x9e\xf5\x73\xeb\x5a\x27\x52\xad\xee\xd7\xad\x1e\x7f\xb2\xaf\x3f\xf7\x93\xef\xe3\x4f\xde\xba\xc3\xba\x16\x2c\xa7\x35\xf8\x1d\xa0\x62\xe6\x0a\xe1\xd1\xb0\x02\xf4\x36\x9f\x4b\x32\xd1\xdb\xcb\xab\x1d\xc3\x52\xd4\x89\xe2\x05\xa5\x23\x33\x18\x5d\x51\x36\xd6\xdd\x21\x4b\x8d\x29\x30\x5b\x08\xf8\xbd\x97\x72\xc6\x15\x66\x05\x6c\x65\x09\x29\xae\x31\x93\xf6\xb7\x02\x41\x39\xf0\xe5\x15\xfc\x43\x0a\xb2\xe4\x74\xc7\xdc\x78\x6b\x50\x09\x96\xfd\xf1\xe1\xf7\x36\x06\xdf\xd6\xaf\xc6\x15\xc8\xfc\xdc\x47\x0b\x33\x95\x62\x41\xcc\xa5\x5a\x8e\x76\x80\x20\x93\x4b\xa9\x67\xde\x84\x3b\x54\x25\x29\x55\xd6\xb3\x9e\xb0\xda\xbc\x46\x66\xc3\x8d\x41\x35\xda\x4b\x58\x3f\xd8\x3a\x01\xc9\xfa\x65\x9e\xc9\xe4\x26\x59\x31\x2e\x46\xfd\x70\x81\xce\xa6\x1d\xae\x27\xc7\x8e\x66\x08\x1b\x8e\x1e\x8d\x7a\x37\x4a\x34\x42\xdd\xeb\x93\xc3\x9d\x25\xef\x42\xc9\x7c\xd6\xc9\x25\x87\x17\xfa\xb8\xda\xd7\x16\xa2\xa9\x13\x74\x40\x7b\x7b\x6d\x5e\x41\x1d\xc3\xee\x16\xd5\x10\xed\xe5\x0c\x43\x28\x2e\x0d\x3a\xc9\xec\xae\x38\xe5\x44\x6c\x10\xd6\x79\xf4\xc3\xf3\xfd\xce\xc5\x0d\xa6\x75\x5b\xe3\xf4\xfb\xbb\xb8\x12\x0b\xf9\xf1\x7d\x6f\x9e\xd3\x96\xa2\xcb\xae\xcf\xd6\x3b\x18\xb9\xfa\xf4\x6d\x5e\x98\xad\x1d\x7c\xe9\xab\xeb\x19\x8c\x17\xa5\xa0\x0c\xf2\xd7\xbb\x9e\x52\xf1\xfe\x01\xd7\xf3\xc6\x3d\x3d\xaa\x7a\x1b\xed\x89\xc6\x3b\x7c\xaa\xff\xd5\x13\x9d\x2a\x4e\xfd\x9e\x9a\x48\x35\xb8\x0c\x63\x31\x6a\x3c\x0e\x95\x00\x7b\xac\xed\xbe\x2f\x5b\x17\x3c\x1b\x2a\x98\x96\x68\x88\xb7\x54\x06\x53\xab\x5c\xd2\x89\x06\x69\x77\x09\x96\x65\x5b\xcf\x43\x03\x83\x8c\x6b\xdb\x7b\x70\xdd\x29\x63\x07\xfa\x8e\x07\xd7\x15\x4c\x6d\x02\x5c\xf8\x8e\x05\xec\x28\x34\x7a\xe6\x25\xd0\xdc\x39\x48\xbe\x96\x32\x6b\x43\x85\x02\x98\x0e\x54\x96\xa0\x35\xfc\x0c\xee\x5a\xa5\x50\x34\xfa\x93\xf5\xb9\x25\xda\xc9\xc6\x93\xcf\x70\x06\x46\x95\xd8\xa7\xb2\x98\x70\xef\xfa\x89\xeb\xee\xaa\xc6\xa6\xd9\x89\x24\x41\xfb\x6b\xaa\x20\x5c\xaf\x5e\x3e\x19\x5b\x8c\x9d\x9f\xc3\x82\x65\x1a\x87\xcc\x79\xa1\x6f\x34\x15\xa1\x14\x48\x5d\xc7\xdc\xb6\xb1\xe6\x08\x1b\x6e\x56\xa9\x62\x1b\x7f\x12\xf1\x50\x2f\xa6\x5e\xd0\xc5\x9a\xf1\x8c\x59\x68\xff\xe5\x79\xb4\x9a\xf1\x3b\x57\xe5\xa5\x38\x3d\xeb\xaf\x5e\x5b\xf2\x07\x29\x9b\x0f\xa3\x01\x21\xc8\x78\xe0\xb1\x1b\xd7\xb3\xf4\xb3\xb8\xbc\x85\xa9\x65\x99\xa3\x30\x11\x21\x13\x69\xc5\xdd\xc3\xd6\x13\x79\x7d\xf8\xf6\xd6\x74\x70\xea\xff\x18\x1f\xf2\xc8\x17\x6c\xdf\x0c\xf3\x42\x2a\xa6\xb6\xbe\xd3\x19\x0e\x3c\x6c\x0a\x45\x49\x93\xcc\xd2\x88\x83\x59\x61\x38\xfc\x70\x02\x28\x84\x39\x72\xb1\x04\xa3\x98\xd0\x0b\x54\x0a\xd3\x29\x4d\x14\x9c\x8e\x28\x04\x6e\x1a\xae\x4f\x7c\x42\x37\xd2\x4f\x2b\xa3\x9e\xa4\xe5\xec\xba\x9b\xa0\x25\xf0\x0a\x01\x29\x16\x92\x32\xf6\x58\x26\xcc\x34\x6e\x56\xa8\xb0\x7f\xe1\x1e\x14\x71\x1c\x0f\x38\x70\x05\xee\x66\x10\x15\xbf\x76\x77\x94\xdd\x4d\xae\xe8\xf6\xc8\x1b\xa8\x0f\x55\xa7\x47\xcd\xee\x68\xdd\x4a\x73\x14\x93\x21\x78\x79\x15\x3c\x0e\x5d\x5e\xcd\x72\xfe\x5f\x4c\xda\x10\xb3\xb0\x62\x69\xaa\x23\x36\xdc\xe8\xaa\x19\xe8\xad\x13\xb5\x41\x11\xe4\x46\xa0\xd2\x7b\x20\x8e\x6b\x60\x59\x26\x37\x0e\x51\x29\x6a\xa3\xa4\xeb\xa1\x6b\x9a\xde\x89\x36\xc7\x84\x95\x1a\x6b\x10\xc7\x3e\x45\x22\x37\xc0\x4a\xb0\x44\x15\x24\xf1\xcd\x5f\xdb\xb1\xb5\xb4\xff\xac\x65\x5f\xb1\x78\x5d\x73\x44\x41\x38\xd3\x65\x4e\x45\x82\x48\x5d\x2f\x7b\x21\x6d\x4f\xde\x83\xcc\x4a\x18\x3a\xeb\x03\x70\xaa\x9a\x23\xde\x20\x3e\xa5\xec\xcf\x17\xda\x3d\xb6\x2a\x8d\x85\xd3\x23\xe7\xbc\x54\xaf\xf7\x60\x6d\x6f\xa4\xfd\xe0\xf8\xf5\xb6\xd6\xa2\x37\xad\x6e\x1a\xb8\xa2\xca\x9a\x24\x8e\xa5\x2d\xdc\xb5\x33\x98\x3d\x01\x18\x87\x1b\x67\x6b\xf2\x36\x60\x4d\x3c\xfd\x8d\x4a\x76\x42\x5d\x08\x20\xbc\x8e\x0f\x2c\xcb\x28\xd4\xf8\x38\x31\x85\x0b\x77\xd2\x90\x97\xda\xc5\x0b\xb7\x27\x84\x33\x92\x0e\x47\x9b\x97\x5b\x4e\x8e\x77\x15\x7f\xda\x87\x42\xf4\x40\xaa\xd4\x1d\x62\x58\xf0\xba\xf7\x31\x47\x57\x6f\xf8\xd3\x09\xe6\x4a\xd0\x90\x43\x04\x58\xe8\xea\xd4\xc0\x95\xa7\xb4\x07\xee\x87\xab\x6e\xca\xb8\x4f\x34\x7a\x20\xb8\x9c\x4c\x4f\x9a\x91\x05\xe2\x03\x36\x77\xfa\x72\x00\x03\xe7\x49\x21\x7e\xb8\xc8\x62\x97\xc3\xec\x79\xb2\xd7\x84\x3b\x6f\x22\xdf\x0c\x67\x34\x8f\x3b\x9b\xf1\x87\x3f\x77\x91\x96\x89\x8d\x3b\xfa\xde\x13\x71\x44\xa0\x1b\x13\x1f\xda\xe0\x46\xf6\xcb\x03\x8e\x4c\xe3\x84\xfd\x70\x10\x77\x4d\x8a\x36\xf2\xf6\xb2\x60\x2d\xfa\x53\xf6\x95\xa7\xf4\xd7\x7f\xe8\xdb\x6f\x30\xe7\x03\x1f\x22\xb8\xff\xe1\x43\x84\x38\xb3\x9c\x36\xce\x3e\xbe\x6e\xfb\x6a\x81\xac\x37\x90\x34\xe1\xf6\x55\x01\xe4\xdb\x06\x8f\x6f\x1b\x38\xbe\x41\xd0\xe8\xf3\x9f\xde\x60\xb1\x0e\x89\x77\x95\xb5\xef\x46\x5c\x65\x55\x78\x20\x70\x78\x4b\xda\xe3\xbf\xe6\xb6\x66\xd1\x13\xc3\xf4\xd9\xc9\x09\x6d\x35\xf1\x90\xf6\x27\x26\x70\x06\xc7\x5e\x79\xd1\x07\x08\xee\x4b\x95\xe8\xac\xf2\x8d\x93\xac\x3e\x97\xb7\x38\x68\x3b\xb4\xd5\x9d\xff\x3c\x87\x4c\xc7\xd6\x48\x28\xe0\x22\x3a\xf1\x77\x2c\xab\x9f\xd1\x86\xdc\xaf\x81\xf6\x02\x27\x7d\xb2\x31\x7f\x48\x0b\xd5\xc7\x17\xdb\x56\x53\xa8\x91\x67\xe3\x6d\x21\x35\x36\xe3\x9a\x3b\xd1\xf3\x28\x08\x67\x79\xee\xf3\x03\x34\x17\xb6\x28\xf5\xe5\x5c\x78\x67\x56\x4a\x96\x4b\xa7\x85\xeb\xd0\x3d\xb9\x06\x1b\x49\x17\x2c\x69\x2e\x36\x64\x3b\x70\xed\xd7\x74\xdd\xcb\xe4\x75\x78\xd9\xc7\x23\x52\x58\xd3\x5c\x6f\x58\xb1\xf3\xfb\x93\xd0\x94\xe3\x5a\x97\x78\xfa\xbd\x6f\xcd\xb8\xcc\xa4\xb7\x03\x37\xcc\xca\x6a\x58\xaf\xc6\xad\xe9\x0f\x81\x99\x99\xcf\x75\xea\x9e\xd4\x24\x92\x38\x14\xf8\x8f\x94\x76\xb8\x49\xf5\x55\x0b\x68\x48\xd3\x14\xbe\xd9\x89\x9b\x1c\xf4\xf3\x0b\x02\x12\xba\xc7\xbe\xcf\x74\x08\x46\xce\xfa\x9d\xc9\x7f\xcd\x13\xe9\xc2\x6d\xdd\x35\xdc\xdd\xee\x3b\x1e\x58\x40\x6b\x42\x4b\xec\x26\xec\xf5\xea\x10\x2b\xee\x0f\xfe\x17\x00\x00\xff\xff\xa0\x7a\x39\x49\x4a\x28\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,11 +95,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x22, 0x95, 0xeb, 0x47, 0x55, 0xd5, 0xdd, 0xba, 0x6d, 0xf2, 0x4d, 0xbb, 0x60, 0x5a, 0x7d, 0x93, 0xbe, 0x1, 0x90, 0x5f, 0xc0, 0xa8, 0x59, 0xd4, 0xba, 0x49, 0x0, 0x5a, 0x28, 0x42, 0x61, 0xa5}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb9, 0x91, 0xcc, 0x1c, 0x4e, 0xe6, 0xde, 0x8a, 0x19, 0xea, 0x86, 0x73, 0x10, 0xa4, 0x8f, 0x4e, 0xc7, 0x33, 0xa, 0x30, 0x90, 0xe3, 0x66, 0xff, 0xfe, 0xc9, 0x71, 0x42, 0x61, 0x52, 0xc1, 0x0}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x5a\xdf\x93\xdb\xb6\xf1\x7f\xd7\x5f\xb1\xdf\xcb\x4c\x2c\xe5\x2b\xeb\xdc\x34\xc9\x24\x37\x75\x1c\x3b\xb1\x3b\x7e\x68\xa7\x63\x9f\xe3\x87\xb6\x33\x82\xc8\xa5\x84\x1c\x04\x30\x00\x28\x59\xf5\xdc\xff\xde\xd9\x05\x40\x12\x14\x75\x27\x3b\x71\x27\xf7\x60\x4b\x24\xb0\xd8\xdf\xfb\xd9\x85\x2e\xbf\xf8\x62\x32\xf9\x0c\xae\x37\x08\x2f\x94\xd9\xc3\x8b\x46\xaf\xe5\x4a\x21\x5c\x9b\x1b\xd4\xe0\xbc\xd0\xa5\xb0\xe5\x64\xf2\xd9\x67\xb0\x4c\x2f\xf9\xdd\x12\x0a\xa3\xbd\x15\x85\x9f\x4c\x78\xfb\xf8\x4e\x90\x0e\xb4\x01\x65\xf4\x1a\x2d\x08\x0d\x52\x7b\xb4\x95\x28\x70\xe2\x37\xc2\x83\x50\x0a\xaa\xb4\xd5\xf3\xd6\x44\xd7\xc1\xde\x34\xaa\x84\x8d\xd8\xd1\x2b\x7a\x5e\x19\xbb\x05\x6f\x16\x93\xc9\xcb\x0a\x04\x34\x0e\xad\x83\xbd\xd0\xde\xd1\x82\x12\x6b\x65\x0e\x20\x40\xe3\x7e\x40\x6b\x0e\x7e\x83\xd2\x76\x3c\x97\x06\x89\x31\x0f\x1a\xb1\xa4\xcd\x72\x5b\x2b\xdc\xa2\xf6\xb4\x12\x32\x51\x3b\x9e\xe7\xb0\x6a\x7c\x24\xc5\x07\xb8\x49\x69\x4e\x90\x68\x37\x39\x28\xb1\x92\x1a\x4b\x90\x1a\xfc\x46\xba\x96\x8b\x45\xd0\xeb\xcf\xa2\x51\x7e\x09\x16\x9d\x69\x6c\xd1\xdb\x39\x99\x3c\x17\xc5\x66\xa8\x9f\x76\x9d\x3f\xd4\xc8\x87\xbb\xe3\xd3\x4f\x13\x8d\x87\xfe\xc3\x9a\x9d\x2c\xd1\x2e\xe7\xb0\x7c\x85\x05\xca\x1d\x7f\x16\xba\x84\xe5\x33\xa1\x84\x2e\x70\x6c\xb7\x63\x6b\xbb\x81\x78\x85\x12\x16\xa1\xb6\xf8\xb0\x30\xba\x94\x5e\x1a\xed\x98\x54\x6d\x9c\xef\x3f\x63\x9b\x5b\x74\xde\xca\xc2\x4f\x88\x51\x7c\x87\x45\x43\x2f\xc1\x54\xcc\x79\xd5\xe8\x22\x2c\x66\x75\x21\xb0\x24\x0b\x3e\xf7\x00\x74\x8e\xc3\x5a\x58\xe1\x11\x56\x58\x88\x86\x78\xf1\xb0\x96\x3b\x74\xbc\x9c\x9c\x82\x3f\x88\x95\x54\xd2\x1f\x48\x37\x6e\x23\x2c\x4e\x04\x58\xac\xd0\xa2\x2e\xd8\x9f\x82\x19\x99\x7a\xe0\xcb\x68\x75\x00\x7c\x57\x1b\x17\x49\x55\x12\x55\xe9\x3a\x8e\x26\x52\x83\xd1\x08\xc6\xc2\xd6\x58\x4c\x1c\x77\xaa\x20\xc7\x24\x9f\x76\x26\x32\x14\x3c\x74\xc0\xcd\x56\xdc\x20\x14\x8d\xf3\x66\xdb\x6a\x38\xaa\xa6\x35\x22\xe9\x26\xd7\x32\x39\xb8\x81\x9d\xb0\xd2\x34\xb4\x5a\xea\xb5\x83\xbd\xf4\x1b\x26\x1f\xbc\x71\x31\x79\x61\x2c\xe0\x3b\x41\x64\xe6\x20\xa0\x12\x4d\x81\x1e\x0a\xa1\x61\x85\x1d\x75\x2c\x61\x75\x48\x01\x25\xf5\x7a\x12\xd4\x01\xc9\x29\x32\x6f\xf9\xe2\x72\x32\x91\xdb\xda\x58\x0f\x3f\x4b\xdc\xbf\x42\x67\xd4\x0e\x2d\x54\xd6\x6c\xe1\xa2\xff\xe8\x22\xad\x7b\xd6\x58\xdd\xae\x08\x5f\x2e\x26\x93\xcb\xcb\xcb\x3c\xb0\xe8\x49\xf6\x34\x26\x8f\x96\x4f\x11\x3d\xc9\x62\x2f\x89\x58\xfc\xb5\x91\x76\x2c\xe4\xf2\x40\x61\xca\x9d\x20\xf0\x16\xc1\x79\xa9\x54\x48\x28\xd2\x83\x70\x59\x42\x82\x0d\xda\xce\xa7\x3c\x7f\x63\x77\x33\x5b\xf6\xaa\xaa\x51\x4c\xb2\xf1\xc1\x92\x5b\xf4\x1b\x53\x46\xc3\x6d\x85\x3e\x40\x6d\xcd\x2f\xc8\x89\x8b\x8e\x09\x87\x51\x76\x22\x4e\xf9\x50\xa3\x07\x79\xc8\xcd\x99\x64\xcc\x2a\xc1\xbd\x57\x07\x12\x76\x8b\x42\xbb\x56\xd6\x05\x27\xca\xe0\x22\xdd\x53\xfa\xcc\xcf\x5a\x0f\x08\x32\x27\xa5\xb8\x2c\x15\x74\x69\x45\x14\x05\x3a\x37\x15\x4a\xcd\x5a\x4e\x7a\x7a\xc8\x6c\x74\x95\x1b\xfd\xfd\x64\x02\x00\x70\x79\x09\x4f\x35\xa0\xf6\xd2\x47\xfd\x57\xc6\x12\x8f\x66\x2f\xf5\x9a\x8f\x25\xd7\x2c\xad\xd8\x0b\xc5\x71\xc2\xfe\x19\x3c\x42\x84\xa0\x63\x42\x7d\x56\xfa\xe4\xde\xc6\xdd\xe9\xb8\x4b\xae\x51\xb8\x0b\xa6\x0e\x6a\xc0\xad\xf4\xe4\xca\xfb\x0d\xea\x74\x00\x29\x30\x9d\xac\xef\x39\x6e\xd7\x3f\x48\x4f\x29\x9d\x5e\xc1\x6b\x6f\xa5\x5e\xcf\x41\x6c\x4d\xa3\xfd\x15\xbc\x79\x21\xdf\x7d\xf3\xd5\x9c\x49\x5d\xc1\xd3\xb2\xb4\xe8\xdc\x93\xf0\xfd\xcd\x9b\x97\x3f\x5d\xc1\x9b\x97\xda\xd3\x8a\xf6\xd8\xfe\xe3\x59\x52\x57\x3c\x39\xa9\x7b\x06\x3b\x89\x7b\xf2\x58\x16\xa3\xe5\xe2\x39\x31\xf5\x89\x58\xb9\x82\x67\xc6\x28\x78\x9f\x58\xa2\x3f\x59\xc1\x34\xd0\x87\xef\xe1\xd1\xe2\xd1\x0c\x3e\xff\x1c\xa6\xac\xb7\xff\x7b\x0c\x5a\xaa\xfc\xc1\xa3\x77\xdf\x7e\xf3\xe5\x57\xab\xaf\xbf\xac\xbe\x2b\xcb\xa2\x7c\xf4\x95\x18\xbe\xff\x0e\x0b\xf1\xe5\xea\xcf\xdf\xae\xfe\xf4\xed\xea\xeb\xb2\xc2\x59\x7e\x1e\xfd\x91\xc0\x47\x7a\xa7\x7f\x3b\x51\xc3\xff\x49\x54\xfa\xb7\x2f\x66\xfa\x74\x24\x68\xf6\x75\xd6\x3f\xf7\xb6\xff\xc5\xa2\x6f\xac\x06\x6f\x1b\x4c\x8f\x6f\x3f\xc6\xd1\x4a\xac\x8d\x93\x3e\xa4\xa2\xbb\xdd\xec\xa7\xb4\xf4\x1e\xdb\x7a\xd3\xb7\xac\x37\xb9\x5d\xdb\x03\x3f\xc2\xc5\x5a\x0e\xce\x71\xb1\x8f\x61\xe3\x7c\xf7\xf2\x26\x73\xae\xf0\xf5\x94\x6b\xa5\xb7\xe7\x3a\xd6\x50\xd3\xe3\x8e\x45\x02\x7a\xd3\x89\x16\xfe\x3f\x12\x2d\xfb\xfa\xb1\x0e\xf5\xfc\x0e\x67\xda\x20\xac\x95\x59\x09\x05\x2b\xa2\x10\x6a\x0a\x2d\x2b\x84\x52\xb4\x8a\x0a\xbc\x00\x6d\xf4\xc3\xff\xa0\x35\xb0\x0a\xd0\xec\x84\x97\x71\xa9\xbd\xcf\xc5\x86\xe9\xe2\x4c\xff\x09\xb4\xcf\xcd\x4f\xe7\x78\x46\xdf\x31\x4e\x18\x33\x13\xe8\x74\x8a\xc8\xd3\xc2\xc7\xda\xe9\x59\x4f\xb7\x84\x4c\xfa\x09\xa1\xab\x8e\x6c\xc7\x3a\x00\x25\xd7\xf5\x39\x2d\x48\xfc\x57\xbb\x8f\x4a\xe2\x1a\xbd\xa7\x8a\x18\xed\x06\x92\x21\x17\xe3\x9a\xec\x9c\xbe\x2d\x8f\x51\x77\x62\x2d\x6a\x29\x1d\xf0\x57\x0c\xa5\x3f\x11\x8f\x78\x74\xd7\xe6\xa1\x21\xe5\xd6\xa0\x6b\xf4\x91\xe4\x74\x96\x0c\x37\x09\xea\x6a\xd9\x4f\x60\xf0\x1c\x7d\x20\x89\x55\x44\xd8\x1c\xe1\x49\x40\x20\xa4\x84\x94\x96\x09\x69\x26\x22\x7d\x40\xc0\x20\x3a\x81\x16\xc6\x0f\x87\x1a\x17\x47\xe7\xbe\xf4\xd0\xb6\x6d\xf1\xc0\xfc\x2c\xa3\x61\xb9\x4a\xbd\x0b\xe1\xb7\x79\xbb\xb7\xd7\x2a\x28\x14\x04\xcd\x4d\x1d\xe3\xaf\x36\xce\xc9\x88\xce\x4d\x05\x85\x45\xc1\x4c\x44\x84\x1e\x4d\x6d\x5d\xc7\x3a\x49\x4c\x7d\x1f\xb7\x8f\xa4\x5d\x61\xa5\x3a\xc4\x3e\x90\xf1\x9d\xd9\xeb\x64\x95\xc5\x87\xd8\xb9\x05\xe0\x11\x67\xa5\x23\x93\x06\xc1\x35\xab\xd8\x1c\xdf\xa9\xc0\x44\x3a\x23\x42\x0d\x59\x88\x00\x97\xaa\x55\xd7\x40\x58\xdc\x9a\x1d\x57\xb2\xd0\x48\xf4\x36\x66\x44\xae\x7b\x2d\xda\x03\x17\xe5\x01\x85\x3b\x54\x94\xb6\x96\x51\xc0\x54\xde\x67\xcb\x6c\xf7\x6b\x43\x5d\x9d\xb1\x24\x22\xd5\xcc\xb0\x5b\xfa\x39\xf7\x55\xa1\xdf\x47\x49\xd8\xbb\xd5\x26\x98\x15\x81\x6a\x90\xde\xa1\xaa\x32\x6a\x86\x27\x0a\x11\x36\x96\xbd\xee\x8e\xa5\x5a\x26\x1e\x96\xe3\xd2\x0c\x39\xe5\xc0\x48\x8a\x9e\xe6\x49\x6d\x76\x05\x3f\xbc\x67\x8d\xdd\xf6\x62\x90\xfe\xa8\xc3\x1d\x3c\x8a\x99\x65\x69\xd1\xc5\x1e\xbc\xe2\x2e\xd0\x44\x45\x73\x0e\xda\x09\xd5\xe0\xd1\xb6\xb0\x65\xd1\x0f\x4f\x78\xfc\x38\xe5\xbc\xa3\xe5\xf4\x77\xf1\xb6\x03\xda\x31\xa3\x6e\x1b\xe7\xa9\xdf\xa3\xe3\x9c\xd8\x22\x75\x3a\x23\x79\xa2\xc3\xc9\x2c\xd9\xc5\x88\x10\x59\x2b\xb0\x38\x89\x54\xc9\x32\xc4\xf4\xf5\xa1\xc6\xe9\x6c\x21\x4b\xb2\x49\x25\xd1\x9e\x42\x74\xbc\xc1\xec\x35\xda\x27\x0b\x11\x70\x46\x3f\x93\xf3\xeb\xa6\x91\xe5\x11\xc2\x8b\x0a\xa2\x77\xb3\x23\x7e\x47\x81\xe5\x1f\x80\xb7\xdb\x49\xfe\xa9\x97\x64\xd3\xe8\xe5\xb7\x27\xd9\x08\x55\x46\x72\xac\xd4\xd1\xf5\xce\xc8\xb1\x6f\x31\x65\x36\xa9\x0b\xd5\x94\x08\x02\xda\xf9\x4d\x60\xa3\xd8\x60\x71\x93\x3b\x54\xcc\xae\x2d\x95\x3d\xb6\x7d\xef\x5a\xee\xf0\x9c\x31\x48\x50\x43\xe8\x67\x5b\x3a\x85\xd0\xc4\x4e\x5c\x34\x3e\xf3\x98\x83\x92\x37\x08\xae\x56\x92\xab\xe1\x16\x9a\x9a\x52\x5d\x4b\xc4\xa1\x2e\xc3\x0b\x6f\xa0\x94\x15\x27\x09\x0f\xb5\x0a\x13\x1b\x38\x3f\x3b\x27\x63\x0d\xb3\x73\x54\x3d\x78\x71\x83\x5d\x6a\xa5\x74\x1b\xdf\x50\x8a\x3b\x61\x86\x6c\x9a\x77\x57\x9e\x62\xa6\x28\x45\x45\x9a\xd3\xe0\xad\x29\x2d\xcd\x72\x96\xd6\xe8\x5f\x37\x75\x6d\xac\xc7\x92\x17\x90\xfb\x53\xd1\x23\x3b\x0a\xa5\x0e\xbd\x4a\xa0\xa4\xf3\x94\x13\x76\x61\x14\xc6\x0b\xe3\x58\x81\x87\x0d\x51\x68\xe2\xa3\xf6\xee\x5e\x60\x31\x72\x2e\x81\x8c\xf7\xd7\x1c\x8e\x84\x04\x6f\x73\x5e\x5f\x45\x4e\xf6\x1b\xe4\xcc\x6f\x2c\x3b\x20\x63\x63\xb9\xa3\x2a\x7d\xa8\x91\x8a\x4b\xe0\x20\x0c\xaf\xe8\x6d\x16\x3c\x89\xda\xd3\x24\x07\xfb\xaa\xd0\x71\x17\x08\x7d\x08\x84\xdc\x86\xcb\xcc\x2f\x94\x24\x7b\x80\x90\x88\x96\x58\xdd\x8f\x9d\xa4\x3b\x96\x30\xe6\x1a\xfa\x18\xd1\xee\x30\xd0\xbb\xe6\x30\x83\x34\x25\x92\x31\xe6\x41\xd5\x9d\xa7\x85\x4a\xc8\x83\xc4\x6e\xec\xdd\xca\x3b\x4f\x78\x70\x0e\xd7\x56\x68\x57\xa1\x35\x76\xde\x82\x87\x30\xc5\x4d\x23\x9b\x0e\x02\x35\x5d\x13\x42\xfa\x75\x49\x0a\x38\xa0\xff\x90\x30\x60\x51\xae\x7a\xdc\x74\x07\xb7\x7c\xf5\x87\x46\x8b\xf4\x61\x1e\x07\x83\x0b\xfa\x4f\xac\x14\x0e\x03\xe9\x85\x44\x55\x46\xdf\xb3\x62\x98\x65\x4c\x05\xe2\x2e\x70\x2b\x6c\x5a\xda\x42\xda\x4f\x09\x97\x33\xda\x3f\xc6\x76\x8d\x9a\x3a\x31\x9c\xd8\x4b\xc7\xdd\x1d\x96\xb0\x93\x22\xcc\xe4\xa2\x22\xe8\xf1\x74\xb6\x8c\x7d\x5f\x46\xf1\xe5\x60\x08\x1a\x73\x21\xb9\xf1\xca\x98\x9b\x1b\xc4\x9a\xf2\x87\xb1\xa1\xec\xd1\x73\x6e\x02\x5d\x46\x85\x75\x19\x3d\x7e\x85\x79\xf3\x19\x95\x49\xec\x95\xe8\xbc\x35\x07\x2c\x33\xa8\x04\x7f\x23\xaa\xc3\x69\xec\xbe\x3f\xd6\x6c\xea\x52\x78\xec\xd2\xf1\x03\xc2\x39\x5e\x28\xf6\x2e\x75\xc8\x79\x31\x04\x85\x14\x81\xb9\x7c\x6a\xe9\xc2\x74\x74\x85\xa8\x93\xa2\x02\x56\x0d\x90\xb4\x85\xb8\x81\xe6\xe2\x4e\x35\x71\xcc\xa4\x1b\x19\x37\xb0\xb8\x37\x10\xba\x68\xac\x8c\x0d\x5c\x53\x71\x18\xdc\x3c\x0c\xf0\x2e\x05\x26\xa3\xb7\xda\x86\x2e\x3b\x68\x8d\x11\x42\xc4\xdf\xae\x16\xdb\x2d\x59\xa3\xa2\x9a\x16\x9a\xd6\x68\x8d\xc5\xd0\xb3\xba\xf6\x9a\x3c\x8b\xc4\x25\xdf\x59\x89\xe2\x66\x3a\x1b\x62\x4b\x8b\xa3\xd0\xf2\x18\x95\x1d\x37\xe7\x67\xc0\x1e\x5e\xb2\x4a\x11\x3b\x82\x70\x4e\x20\xac\xac\x29\xff\xfd\xcf\xb9\x3d\x07\x5f\xf7\x69\x12\x42\x7e\xb4\x78\x74\x05\x17\xd7\x3d\x5b\x27\x10\xcc\x3e\x10\xed\x5e\x36\x36\x8d\xa7\xfb\x8a\x4f\x63\x17\x67\x62\x82\xe4\xc2\x41\x39\x92\xf6\x93\x6d\xb1\xbc\x38\x89\xe8\xfe\xd7\x75\x37\xa1\xc3\x58\xac\x06\xf1\x09\x5c\x47\x18\xba\x95\xf9\x8d\x06\x1f\x13\x06\x97\xf8\xae\xc6\xc2\x63\x39\x0c\x4f\xbe\x01\x6b\xab\x6c\xd7\xca\x86\xc9\x0b\xab\x07\x0f\x21\x58\x75\x17\x65\xb1\x43\xe6\xcb\x94\x8c\x97\x8c\x3c\x61\x54\x16\xec\x28\xcc\x7e\x03\x90\x18\x78\xc6\xe5\x25\x3c\x43\x65\xf6\x01\xa3\xb2\x2a\x7a\x57\x5e\x09\x73\xba\xc6\x46\x44\x6d\x1b\xfd\xd0\xcb\x6d\xbc\x4a\xe5\xa2\x3b\xa4\xc7\x2a\x59\x63\x82\x0a\xfd\xc1\x5d\x2d\x18\x48\xb6\x15\x32\x56\xea\x88\x50\xf3\xeb\xf2\x45\xb8\x84\x59\x40\x46\x5f\x56\x47\xf1\xe3\x5e\x37\x2b\xe2\x66\x6a\xaa\x80\x27\xfe\xf2\xc3\xfb\x11\x4a\xb7\xdf\x4f\x67\xc3\x74\x01\xdd\x84\xeb\x7d\x4e\xf6\x8a\x11\x4e\x1e\x58\xb7\x80\xca\x8d\xe7\x97\x88\xc8\xb8\xb9\xde\xd6\xfe\x00\xa5\x64\x8b\x09\x7b\x48\xad\x64\x72\x3e\x6e\x63\xd9\xb6\xad\x1a\xf6\x1b\x03\xa5\xd1\x0f\xfc\x18\xe5\xee\xc2\x6e\x54\x3f\x73\x70\x4d\xb1\xa1\x43\xf2\xd7\xaf\xf7\xd2\x17\x9b\x95\x11\xb6\x5c\xce\x61\xc9\xcf\x5e\x18\xbb\x17\xb6\x44\xbb\x04\xf4\xc5\xe2\xa4\x2a\x6e\xcf\x8b\xdc\x1f\x43\x5b\x23\xab\x11\xe0\xd9\x41\x25\x46\x9e\xd2\xf5\xe0\xdc\x49\x0f\x3e\x0f\x27\x0e\x0c\x10\x99\x4e\xe6\x1b\x0d\x81\x7f\x12\x91\x7f\xc3\x93\x27\x50\x09\xe5\xf0\x94\x40\x23\x33\xa3\x65\x48\xc9\xcb\xae\xa4\x32\xdd\x07\x2e\x9b\x2b\xc3\xe8\xbc\x48\xe3\x7e\x38\x33\x4a\x84\x49\x2f\xc7\xfb\x7f\xef\x41\xcb\x68\x31\x4c\x8a\xea\xc6\x25\xdf\xdf\x33\x2e\x79\x1a\x66\x24\xdd\xf0\x23\x15\x0a\x85\x8e\xf3\xaf\x66\x4c\xf5\x6b\x23\x54\xf8\x36\x02\x19\x47\xe6\x25\x67\x55\xad\xcb\x4b\x88\x77\xcb\xe0\x6a\x2c\xa4\x50\x6d\x36\x84\x65\x00\x25\x4b\x6e\x9a\x23\x6e\x09\xd1\x15\x0f\xed\x46\x9b\xfc\xbb\x84\x31\xe2\x11\x54\xad\x70\x2d\xb5\x66\x74\x98\x23\x9b\xee\xd7\x16\x23\xbb\xcf\xd0\xed\xe3\xc7\x11\x3a\x4d\x8f\xde\xcd\xe0\xe1\xdd\x7a\xff\x7b\xeb\x3f\xc3\x0a\xcd\xf9\x24\xf6\xe5\x9d\x8e\x09\x6d\xf1\x4f\x1d\xd2\x72\x11\xda\xf8\xe1\xd8\x2a\xbd\x3f\xb3\x40\x9f\xee\xd5\x45\x59\x52\x9f\xee\xfa\x68\xf1\xc8\xf6\x47\xa1\xff\x21\x9d\xfa\x58\x1e\x1f\x26\x71\xea\x60\x9d\x43\xdb\xc3\xc8\x85\xd1\x85\x45\x1f\xab\x54\x54\x4f\x77\xf7\xd8\x82\xf8\x34\xee\x1b\xd2\x8b\x29\xbb\xd7\x16\xb7\xbd\x74\x42\x43\x91\xda\x19\x01\x47\xb2\x2c\xa4\x7b\xa9\x9d\x67\xc3\xe7\x85\x66\x76\x05\xe3\xd6\xff\x31\xe0\xa9\xa4\x7d\xfe\xdd\x45\x61\xb6\xb5\xf0\xbd\x3e\x89\xe4\x3b\x6f\x0a\x39\x7a\x99\xc9\xac\xdd\x0d\x45\xd3\x92\xd6\x6d\xc3\x4d\xe0\xe8\xc8\x2f\x5d\x0d\xf6\x06\x7e\x83\xdb\x41\xa6\x76\x07\x50\x1e\x5e\x45\xfe\x51\x18\x3c\x1f\x61\x9f\x1f\xfd\xff\x9f\xde\x1d\x49\x30\xfb\xa8\x84\xe0\x9a\xed\xbd\x99\xa0\x8b\x81\x3b\x13\xf2\x20\x03\xf0\x05\x0f\x3e\x27\x60\x13\x83\x5f\x29\xb3\x77\xdc\x41\x87\x1f\x8f\x99\xb8\x26\xab\x7a\x1c\x38\x1b\x41\x39\xe3\xe8\x26\x16\xee\x49\x04\xc3\x23\xa7\x1f\x7c\x9f\x70\xe2\x62\xa0\x6b\x7b\x34\xee\xd5\x21\x1e\x14\xf5\x11\xf4\xc9\x68\xbd\xcf\xf1\x69\x35\x41\x3e\xb2\xfa\x04\x8a\x1a\x9b\x30\x8d\x2a\x68\x97\xf0\x4e\x0b\x96\xc6\xd3\x67\x4f\x55\x23\x9a\xeb\xb4\x16\x42\x8e\x54\xd6\xa3\xcc\x8a\x6b\x71\x7d\xc8\x8f\xed\x0d\xe3\x56\xf8\x62\x13\xdd\xcc\x85\xdf\x9b\x1d\xa5\xa7\x4f\x62\x95\x64\x87\xdb\xff\x06\x00\x00\xff\xff\x36\x3e\xe2\x5e\x9d\x2b\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4b\x93\xdb\xc6\x11\xbe\xf3\x57\x74\xad\x0f\x22\x1d\x8a\xeb\x43\x2a\x87\xad\xd8\xb2\x64\x5b\x55\x3a\x24\x95\xb2\x56\xd6\x21\x49\x15\x87\x40\x93\x1c\xef\x60\x06\x9e\x19\x90\x62\xb6\xf6\xbf\xa7\xba\xe7\x01\x0c\x08\xee\xae\x6c\x25\xbe\x88\x0b\xcc\xf4\xfb\xf1\x75\xc3\xd7\x5f\x7f\x3d\x9b\x7d\x05\xb7\x7b\x84\xb7\xca\x1c\xe1\x6d\xa7\x77\x72\xa3\x10\x6e\xcd\x1d\x6a\x70\x5e\xe8\x5a\xd8\x7a\x36\xfb\xea\x2b\x58\xa7\x97\xfc\x6e\x0d\x95\xd1\xde\x8a\xca\xcf\x66\x7c\x7d\xfa\x26\x48\x07\xda\x80\x32\x7a\x87\x16\x84\x06\xa9\x3d\xda\xad\xa8\x70\xe6\xf7\xc2\x83\x50\x0a\xb6\xe9\xaa\xe7\xab\x89\xae\x83\xa3\xe9\x54\x0d\x7b\x71\xa0\x57\xf4\x7c\x6b\x6c\x03\xde\xac\x66\xb3\x77\x5b\x10\xd0\x39\xb4\x0e\x8e\x42\x7b\x47\x07\x6a\x6c\x95\x39\x81\x00\x8d\xc7\x11\xad\x25\xf8\x3d\x4a\xdb\xcb\x5c\x1b\x24\xc1\x3c\x68\xc4\x9a\x2e\xcb\xa6\x55\xd8\xa0\xf6\x74\x12\x0a\x55\x7b\x99\x97\xb0\xe9\x7c\x24\xc5\x0c\xdc\xac\x36\x17\x48\xe4\x4b\x0e\x6a\xdc\x4a\x8d\x35\x48\x0d\x7e\x2f\x5d\x96\x62\x15\xec\xfa\x8b\xe8\x94\x5f\x83\x45\x67\x3a\x5b\x0d\x6e\xce\x66\x3f\x89\x6a\x3f\xb6\x4f\x3e\xe7\x4f\x2d\x32\x73\x77\xce\xfd\x32\xd1\xc8\xf4\x1f\xd6\x1c\x64\x8d\x76\xbd\x84\xf5\xcf\x58\xa1\x3c\xf0\x6f\xa1\x6b\x58\xbf\x11\x4a\xe8\x0a\xa7\x6e\x3b\xf6\xb6\x1b\xa9\x57\x29\x61\x11\x5a\x8b\x2f\x2b\xa3\x6b\xe9\xa5\xd1\x8e\x49\xb5\xc6\xf9\xe1\x33\xf6\xb9\x45\xe7\xad\xac\xfc\x8c\x04\xc5\x4f\x58\x75\xf4\x12\xcc\x96\x25\xdf\x76\xba\x0a\x87\xd9\x5c\x08\xac\xc9\x8a\xf9\x9e\x80\xf8\x38\x6c\x85\x15\x1e\x61\x83\x95\xe8\x48\x16\x0f\x3b\x79\x40\xc7\xc7\x29\x28\xf8\x87\xd8\x48\x25\xfd\x89\x6c\xe3\xf6\xc2\xe2\x4c\x80\xc5\x2d\x5a\xd4\x15\xc7\x53\x70\x23\x53\x0f\x72\x19\xad\x4e\x80\x9f\x5a\xe3\x22\xa9\xad\x44\x55\xbb\x5e\xa2\x99\xd4\x60\x34\x82\xb1\xd0\x18\x8b\x49\xe2\xde\x14\x14\x98\x14\xd3\xce\x44\x81\x42\x84\x8e\xa4\x69\xc4\x1d\x42\xd5\x39\x6f\x9a\x6c\xe1\x68\x9a\xec\x44\xb2\x4d\x69\x65\x0a\x70\x03\x07\x61\xa5\xe9\xe8\xb4\xd4\x3b\x07\x47\xe9\xf7\x4c\x3e\x44\xe3\x6a\xf6\xd6\x58\xc0\x4f\x82\xc8\x2c\x41\xc0\x56\x74\x15\x7a\xa8\x84\x86\x0d\xf6\xd4\xb1\x86\xcd\x29\x25\x94\xd4\xbb\x59\x30\x07\xa4\xa0\x28\xa2\xe5\xeb\xeb\xd9\x4c\x36\xad\xb1\x1e\x7e\x91\x78\xfc\x19\x9d\x51\x07\xb4\xb0\xb5\xa6\x81\xab\xe1\xa3\xab\x74\xee\x4d\x67\x75\x3e\x11\xfe\xb8\x9a\xcd\xae\xaf\xaf\xcb\xc4\xa2\x27\xc5\xd3\x58\x3c\xb2\x9c\x22\x46\x92\xc5\x41\x11\xb1\xf8\x5b\x27\xed\x54\xca\x95\x89\xc2\x94\x7b\x45\xe0\x23\x82\xf3\x52\xa9\x50\x50\xa4\x07\xe1\x8a\x82\x04\x7b\xb4\x7d\x4c\x79\xfe\x8b\xc3\xcd\x34\x1c\x55\xdb\x4e\x31\xc9\xce\x07\x4f\x36\xe8\xf7\xa6\x8e\x8e\x6b\x84\x3e\x41\x6b\xcd\xaf\xc8\x85\x8b\xd8\x04\x66\x54\x9d\x48\x52\x66\x6a\xf4\xa8\x0e\xb9\x25\x93\x8c\x55\x25\x84\xf7\xe6\x44\xca\x36\x28\xb4\xcb\xba\xae\xb8\x50\x86\x10\xe9\x9f\xd2\x6f\x7e\x96\x23\x20\xe8\x9c\x8c\xe2\x8a\x52\xd0\x97\x15\x51\x55\xe8\xdc\x5c\x28\xb5\xc8\x92\x0c\xec\x50\xf8\xe8\xa6\x74\xfa\xfd\x6c\x06\x00\x70\x7d\x0d\xaf\x35\xa0\xf6\xd2\x47\xfb\x6f\x8d\x25\x19\xcd\x51\xea\x1d\xb3\xa5\xd0\xac\xad\x38\x0a\xc5\x79\xc2\xf1\x19\x22\x42\x84\xa4\x63\x42\x43\x51\x86\xe4\x3e\xc6\xdb\x89\xdd\x35\xf7\x28\x3c\x04\x57\x07\x33\x60\x23\x3d\x85\xf2\x71\x8f\x3a\x31\x20\x03\x26\xce\xfa\x09\x76\x87\x21\x23\x3d\xa7\x72\x7a\x03\xef\xbd\x95\x7a\xb7\x04\xd1\x98\x4e\xfb\x1b\xf8\xf0\x56\x7e\xfa\xcb\x9f\x97\x4c\xea\x06\x5e\xd7\xb5\x45\xe7\x5e\x85\xbf\x3f\x7c\x78\xf7\xe3\x0d\x7c\x78\xa7\x3d\x9d\xc8\x6c\x87\x8f\x17\xbf\x47\x81\x1a\x5b\xe3\xa4\x0f\x21\xfe\xb8\xf8\x3f\xa6\xa3\x4f\x88\xef\xcd\x50\x78\x6f\x4a\xd1\x33\xc3\x0b\xa2\xff\xf4\x88\xd8\x7b\x84\x9d\x32\x1b\xa1\x60\xd3\x59\x1d\xb3\x82\x8e\x55\x42\x29\x3a\x45\x25\x4a\x80\x36\xfa\xe5\x7f\xd0\x1a\xd8\x84\xe6\x72\x41\x1f\x2e\x16\x4f\x29\x33\xb6\xfd\x40\xd2\x37\x03\xea\x54\x5d\x86\xc6\xef\x23\x9c\x35\x69\x43\xb1\x73\x3d\x56\xc9\x85\xfe\x5f\xf9\x1e\x85\xf5\x0e\xbd\xa7\xa8\x8e\x92\x83\xe4\xb2\xc9\xb5\xa9\xe0\x33\xd4\xe6\xbc\x73\x26\xd1\xe0\x9e\x0f\x8f\x2f\x1c\x84\x4d\x0c\x92\xa2\x7c\xee\xa1\xd7\x2d\x55\xe7\xe7\x28\x87\x24\x63\x15\xfb\x58\xac\x17\xa1\x24\x90\x46\x29\x54\xa9\xf4\x27\x22\xc3\x0c\xe5\xae\x96\xaa\x08\x27\xf4\xa9\xc5\xd5\x19\xdf\x77\x1e\x32\x8e\x8a\x0c\x4b\x5e\x46\xc3\x7a\x93\xc0\x04\x15\xd4\x65\xbe\x3b\xe8\xdd\x0a\x05\xf5\x4a\xd3\xc6\x70\x6a\x8d\x73\x32\xb6\x4b\xb3\x85\xca\xa2\x60\x21\x62\xcb\x8c\x7e\xb3\xae\x17\x9d\x34\x26\x20\xc6\x78\x8e\x6c\x2a\xac\x54\xa7\x08\xcc\xb8\xe0\x9a\xa3\x4e\xe6\x5d\x7d\x8e\xd3\x72\x47\x8c\x85\x2f\xb1\x7c\x1b\x43\x85\x33\xd4\xdd\x81\xc8\x62\x81\x24\x68\xea\x5a\xac\xe4\x56\x56\x31\x76\xfb\x12\x58\x50\x91\x0e\xc4\x41\x48\x25\x42\xd3\xa2\x1e\x9d\xab\x48\x71\xf0\x36\xc0\x46\x82\xc3\x9b\xd4\x8c\x98\xf5\xc1\xc8\x1a\x5a\xa1\x65\x45\x16\xe2\x8c\xa4\xbc\xe3\x3f\x52\x09\x1d\x12\xca\x39\x9b\x83\xd9\x41\xa7\xef\xb4\x19\x31\x7c\x5d\x07\xc8\x26\x94\x3a\x2d\x49\x25\x76\x4c\x56\xd1\x41\xdb\x05\x2e\x1c\x2f\x4d\xa7\xbc\x6c\x15\xc2\x81\x4a\xd5\x48\xc7\x08\xac\x32\x50\xad\xf6\x58\xdd\x85\xae\x1a\x01\x54\xb8\x05\x9d\xf6\x52\xf1\x83\x1a\x1d\xf7\xb7\x60\xbc\xb1\xc9\x2c\x8a\x6a\x8f\xf5\x12\x5a\xe3\x29\x3e\x49\x46\xd8\xa3\x6a\x93\xd6\xd0\xa2\xe5\x14\xcd\xde\x4e\xb7\xa7\x53\x4f\xe2\x91\x72\x1f\xa4\x7b\x9d\xbc\x71\x6b\x52\x63\x98\x97\xd5\x67\x71\x03\x6f\x8c\x51\x65\x34\x24\x53\x83\xeb\x36\x71\x76\x79\x34\x9d\x52\xa0\x15\x44\x08\x2f\x5b\xf4\x9d\xa5\x2e\x10\x71\x69\xc6\x77\x16\x1b\x73\xe0\x86\x10\x70\xde\xe0\xe2\x28\x50\x7a\x04\xfd\xc2\x45\x35\x41\xe1\x01\x15\x99\x6e\x1d\xf5\x4e\xca\x2d\xd6\xc5\xed\xf7\x86\x40\xb7\xb1\xe4\x63\x8a\xae\x70\x5b\xfa\x25\xc3\xde\x30\x8e\xa1\x24\x68\x94\x73\x0b\xcc\x86\x30\x0f\x48\xef\x50\x6d\x0b\x6a\x86\x07\xbe\xd8\xd5\xeb\x01\xf8\x66\xad\xd6\x49\x86\xf5\xb4\x36\x63\x49\xd9\x43\xc7\x8b\x4e\xf9\xfe\x9e\x2d\xf6\x30\x28\xaf\xf4\x1f\x0d\x20\xa3\x47\x81\x11\xac\x2d\xba\x38\x22\x6d\x19\xa4\x9b\x68\x68\xf2\x00\x1c\x84\xea\xf0\xec\x5a\xb8\xb2\x4a\xb9\xf3\xed\xb7\xa9\x35\x9d\x9d\xa4\xff\xae\x3e\xf6\x10\x28\x96\x81\xa6\x73\x9e\x32\x98\x38\x39\xd1\x20\x61\xd0\x61\x36\xc6\x84\xe8\x11\x0c\x2b\x75\x75\x46\x9e\x5a\xf0\x19\x74\x21\x07\xac\x76\xe8\x6f\x4f\x2d\xce\x17\x2b\x59\x93\xe9\xb7\x12\x6d\xdf\x41\xc3\xbf\x09\xcd\xf0\x05\x73\xd4\x68\x5f\xad\x44\x00\x07\xc3\xe6\xca\xaf\xbb\x4e\xd6\x67\xd8\x26\xda\x81\xde\x2d\x0a\xd9\x1e\x66\xe5\xaf\x41\xf7\x4a\x43\xe6\x1f\xef\x5e\x11\xad\x4c\x34\x2f\xa9\xa3\x17\x9f\xd1\xbc\x3e\x62\x6a\x19\x52\x57\xaa\xab\x11\x04\xe4\x49\x35\x88\xc1\x95\xaa\x74\x50\x6c\x5b\x99\xca\x11\x33\xc2\xa7\x89\xef\x39\x03\x5f\x30\x43\x40\xee\x99\x0e\x4d\x68\xb5\x49\x87\xa6\xa7\xbb\x25\x28\x79\x87\xe0\x5a\x25\x19\xf2\x37\xd0\xb5\x54\x35\x32\x11\x87\xba\x0e\x2f\x68\x58\x94\x5b\xce\x37\x0f\xad\x0a\xb3\x29\x3c\xbf\xed\x25\x67\x8d\xdb\x5e\x34\x3d\x78\x71\x87\x7d\x95\xa2\xca\x15\xdf\x50\xb5\xb8\xe0\x86\x62\x6f\xf1\x58\xca\xb3\x50\x94\xed\x91\xe6\x3c\x44\x6b\xca\xf0\x45\x29\xd2\x0e\xfd\xfb\xae\xa5\xb1\x13\x6b\x3e\x40\xe1\x4f\x68\x22\xb5\xaf\x41\x51\x55\xd2\x71\x2b\x3e\x84\xa1\x9f\x0f\xc6\x01\x8a\xfb\x4a\x54\x9a\xe4\x68\x07\x6d\x6c\xb2\x59\x4c\xf3\x9d\x2f\x6e\xe0\xfe\x96\xd3\x91\xda\xc4\x43\x29\xeb\xcf\x51\x92\xe3\x1e\xb9\x88\x1a\xcb\x01\xc8\x18\x5a\x1e\xa8\x33\x9f\x5a\x6e\xc9\x41\x82\x30\xa6\xd3\xdb\x22\x79\x12\xb5\xd7\x49\x0f\x8e\x55\xa1\xe3\x2d\xa0\x51\x94\x09\xb9\x3d\x57\xec\x5f\xa9\xe8\xc4\xba\xe6\x6d\xc7\x13\x66\x8d\xdb\x3c\x55\x5c\x54\x51\xba\x73\x0d\x63\xad\xa1\x9f\xa9\x15\x8e\x12\xbd\x1f\x57\x0a\xac\x58\x63\xc0\x12\x6c\xea\x3e\xd2\x42\x53\xe1\x95\x49\xbf\xe0\xcb\xfa\x2e\x13\x6a\x5e\xc2\xad\x15\xda\x6d\xd1\x1a\xbb\xcc\xa8\x2c\xec\xab\xd2\x70\xda\x63\xcb\xae\x1f\x56\xc8\xbe\x2e\x69\x01\x27\xf4\x9f\x93\x06\xac\xca\xcd\x40\x9a\x9e\x71\x96\x6b\x38\x1e\xaf\xd2\x8f\x65\x5c\x81\xac\xe8\x1f\x46\x77\x63\xfc\x28\x51\xd5\x31\xf6\xac\x18\x57\x19\x43\x10\xf2\x70\xd9\x41\x13\xb3\x42\x41\xfd\x87\x38\x7a\x11\xd8\x13\xe3\xfd\xa1\x74\x3c\xa9\x61\x0d\x07\x29\xc2\x86\x20\x0a\x4b\x8f\xe7\x8b\x75\x9c\xe1\x0a\x8a\xef\x46\x2b\x99\x58\xaf\x28\xd4\x36\xc6\xdc\xdd\x21\x32\xfa\x32\x36\xb4\x26\x7a\xce\x03\x5d\x89\x05\x59\xdf\x18\x95\x1b\x2c\x07\xc9\xa8\x30\x89\x57\xa3\xf3\xd6\x9c\xb0\x2e\xc1\xdb\xdf\x88\xea\x78\x37\x74\x1c\x2e\x59\xba\xb6\x16\x1e\xfb\x92\xf9\x82\xda\xba\x17\x8a\x23\x40\x9d\x4a\x59\x0c\x75\x7e\x45\xd8\xa5\xdc\xa1\xb8\xb0\xab\xd9\x20\xea\x64\xa8\x00\xcd\x02\x02\xcb\x88\x2e\xd0\x5c\x3d\x6a\x26\x8e\xeb\xb4\x1f\x76\xe8\x0b\x2f\x7b\x03\x61\x22\xc6\xad\xb1\x41\x6a\x2a\xe0\xa3\x3d\xe8\xf9\x1c\x20\x19\xac\xb4\x36\x4c\xcc\xc1\x6a\xdc\xc5\x23\xdc\x74\xad\x68\x1a\xc6\xe6\xd4\x77\xc2\x44\x1d\xbd\xb1\x1a\xc7\x53\x5a\xff\x84\x82\x4b\xea\x52\xec\x6c\x44\x75\x37\x5f\x8c\xa1\x94\xc5\x09\x24\xc5\xee\x2e\xa6\xf6\x67\xc0\x10\x3e\xb2\x49\x19\x34\x81\x38\x2e\xa1\x0a\xb8\x0c\xe9\x86\x34\x09\x99\x7d\xb3\xfa\xe6\x06\xae\x6e\x07\xf6\x4e\xe0\x8b\xfd\x10\x6d\x5f\x77\x36\x2d\xac\x86\xca\xa7\x35\x86\x33\xb1\x90\x70\x81\xa5\x5a\x42\xf7\xc9\xbe\x58\x5f\x5d\x44\x3e\xff\xef\xfe\x94\x50\x54\x2c\xea\xa3\x1c\x01\xae\xb7\x0c\x71\xea\x72\xc7\x19\xe7\x2e\x61\x11\xf0\x53\x8b\x95\xc7\x7a\x9c\x22\x3c\xba\xe5\x6e\xd4\xcf\xd2\x24\xdb\x32\x98\x07\x4f\x21\x61\x74\x1f\xe9\x71\x50\xe4\xf5\x6a\x21\x4b\x41\x9e\xb0\x1c\x2b\x76\x16\xea\x7f\xa0\xe1\x8e\x22\xe3\xfa\x1a\xde\xa0\x32\xc7\x38\x75\x92\x29\x06\x4b\xf0\x84\xcd\x5c\x67\x23\xf2\xb4\x9d\x7e\xe9\x65\x13\x3f\xae\x70\x73\x1a\xd3\x63\x93\xec\x30\xb5\xd4\xe1\x22\xac\x15\x0c\xb8\x72\x27\x89\x1d\x2d\x22\xb9\xf2\x03\xda\x2a\xac\x65\x57\x50\xd0\x97\xdb\xb3\xfc\x71\xef\xbb\x0d\x49\x33\x37\xdb\xd0\x77\xff\xfa\xfd\xfd\x04\xa5\x87\xef\xe6\x8b\x71\xca\x02\xcf\x2c\xdc\xf8\xef\x4b\xb2\x37\x8c\x04\xca\xc4\x7a\x00\x54\x6e\x2a\xc7\x33\x72\xe1\x79\xae\x69\xfd\x09\x6a\xc9\x1e\x13\xf6\x94\x46\x98\x14\x7c\x3c\x39\xb1\x6f\xb3\x19\x8e\x7b\x03\xb5\xd1\x2f\xfc\x14\xe5\x7e\x85\x3f\x69\x9f\x25\xb8\xae\xda\x13\x93\xf2\xf5\xfb\xa3\xf4\xd5\x7e\x63\x84\xad\xd7\x4b\x58\xf3\xb3\xb7\xc6\x1e\x05\x0d\xaf\x6b\x40\x5f\xad\x2e\x9a\xe2\xe1\x79\x99\xfb\x43\x80\xff\x71\xf9\x51\x02\xb4\x1e\x52\x30\x42\x93\x6e\x00\x7b\x2e\x46\xf0\xf3\xf0\xd4\xc8\x01\x51\xe8\xe4\xbe\xc9\x14\xf8\x27\x11\xf9\x37\xbc\x7a\x05\x5b\xa1\x1c\x5e\x52\x68\x62\x4d\xb1\x0e\x25\x79\xdd\xb7\x35\xa6\xfb\xc2\x15\x7b\x5a\x98\x5c\x51\x68\x3c\x8e\xd7\x14\x89\x30\xd9\xe5\xfc\xfe\x97\x9e\xed\x27\x1b\x52\xd1\x07\xbe\x7b\x62\x42\x7f\x1d\xc6\xf2\x7e\xde\x4e\x3d\x42\xa1\xe3\xd2\xab\x19\xd2\xfc\xd6\x09\x15\xfe\x9a\x18\xd6\x27\x46\xf4\x67\x35\xac\xeb\x6b\x88\x1f\x9a\xc2\xb6\x50\xa8\x5c\x08\x61\x1d\x30\xc1\x9a\xe7\xca\x08\x1b\x42\x62\x45\xa6\xfd\x5a\x95\x3f\x52\x4e\x11\x8f\x98\x66\x83\x3b\xa9\x35\x83\xb3\x12\x58\xf4\x9f\x5e\x27\x6e\x3f\xd9\x5e\x83\x80\xf3\xe1\xe3\x05\xbc\x7c\xdc\xda\x7f\xcf\x01\x33\x6e\xc9\x5c\x40\xe2\xc0\xda\x5b\x96\x20\x0e\x7f\xed\x4c\xc7\x45\x98\x6f\xc7\xfb\x91\xf4\xfe\x99\x1d\xf9\xf2\x10\x2b\xea\x9a\x06\x58\x37\x84\x68\x67\x1e\x3f\xcb\xf5\xcf\x19\x61\xa7\x0a\xf7\xb8\x6a\xd3\x68\xe7\x1c\xda\x01\x30\xad\x8c\xae\x2c\xfa\xd8\x96\xa2\x79\xfa\xcf\x44\x19\x39\xa7\xbd\xd2\x98\x5e\xac\xd1\x83\x79\x31\x0f\x99\x09\xfe\x44\x6a\xcf\xc8\x30\xd2\x65\x25\xdd\x3b\xed\x3c\x59\x65\x5e\x76\x96\xc5\x0d\x4c\x7b\xff\x87\x00\xa0\x92\xf5\xf9\xd3\x6b\x65\x9a\x56\xf8\xc1\x70\x42\xfa\x5d\x58\x77\x8d\x3f\x75\xb1\x18\x8f\xe3\x4c\x3e\x92\x71\xa6\x37\x17\x56\x5e\xe9\x73\xd8\x60\xe1\x35\xfa\x22\xc6\x84\xbe\x10\x30\x9d\xcc\x9c\x3f\xa5\xc7\x43\x91\x17\xbf\x2b\x8f\x5c\xd7\x3c\x99\x40\x7d\xe8\x3c\x5a\xbd\x46\x89\xc3\x5f\x62\xf0\x27\x02\x00\x31\x67\x94\x32\x47\xc7\xd3\x5e\xf8\xdf\x2e\x4c\x3c\x53\x74\x07\x8e\xb7\xbd\xa0\x54\x3b\xfb\x02\x08\x4f\xe4\xcf\x98\xe5\xfc\xb3\x57\xbd\xe7\x3b\xdb\x7e\x32\xd0\x78\x54\xa7\xc8\x23\x9a\x22\x98\x92\x01\xed\x50\xd8\xcb\x16\x82\x72\xfb\xf1\x3f\xb0\xd1\xd4\xb2\x62\xd2\x36\x87\x04\x09\x32\x9e\x98\x2e\x38\x03\x2b\x4d\x18\x2d\x1a\x2c\x67\x16\x99\x6c\x40\x99\x0d\x97\xa1\x6f\xa8\x28\xf9\x2b\x60\x23\x7c\xb5\x2f\x3e\xe1\x9c\x27\xf4\x97\x76\x48\x72\xc1\xc3\x7f\x03\x00\x00\xff\xff\xbe\xc6\xa4\x38\xcd\x26\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0xb2, 0xd0, 0x3e, 0xe2, 0x7e, 0xed, 0xfa, 0x94, 0xf4, 0xd8, 0x3a, 0x19, 0xe, 0x21, 0x74, 0x46, 0x2e, 0x9b, 0x15, 0x2c, 0x21, 0x5f, 0xf7, 0x7e, 0xb8, 0xec, 0xb0, 0x7a, 0xd1, 0xfb, 0x6f}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x35, 0xb, 0xd3, 0x4d, 0xb9, 0x72, 0x6c, 0x8c, 0x7d, 0x33, 0xd9, 0x94, 0x78, 0x6b, 0xd3, 0x21, 0xb3, 0x2d, 0xf4, 0x9b, 0xff, 0x88, 0x55, 0x9a, 0xe3, 0xc7, 0xaf, 0xda, 0x6f, 0x27, 0x15}}
 	return a, nil
 }
 
@@ -139,7 +139,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\xdf\x73\xdb\x36\xf2\x7f\xf7\x5f\xb1\xf5\xc3\x37\xf2\x8c\x2b\xf5\xe1\x3b\xf7\xe0\xa9\x9b\x9f\x97\x4e\x5f\x7a\x9d\xd4\xbd\x3c\x64\x32\x63\x88\x5c\x5a\x38\x53\x00\x07\x00\xa5\xa8\x19\xff\xef\x37\x0b\x80\x24\x40\x82\x14\xe5\xf8\x9a\xde\x4d\xf5\x90\x58\x12\xb1\xd8\x5d\xec\xee\x67\x17\x0b\x88\x6f\x2b\xa9\x0c\xbc\xad\xc5\x1d\x5f\x97\x78\x23\xef\x51\x40\xa1\xe4\x16\xce\xa3\xcf\xce\xcf\xce\x56\xab\x15\xdc\x6c\x10\x32\x29\x8c\x62\x99\x01\xb3\x61\x06\x58\x59\xca\xbd\x06\x26\x80\x65\x99\xac\x85\x01\x23\x41\x61\x86\x7c\x87\x50\xb1\xc3\x16\x85\xd1\xc0\x05\x6c\xeb\xd2\xf0\xaa\x44\x28\x3c\x5d\x4b\xd0\x10\x71\x0d\xb5\xe6\xe2\x0e\x18\xd0\x7f\x25\xc2\xed\xe7\x68\xf2\xe5\x3b\x47\x4f\x3d\xdc\x42\xc6\x2a\xb6\xe6\x25\x37\x87\xa5\xe7\x88\xeb\xe0\x43\xd0\x1b\x59\x97\x39\xf0\x1c\x59\x59\x1e\x60\x8d\xa0\x8d\x54\x98\x03\x23\x86\x11\xec\xa0\xdb\x88\xfc\xaf\x7b\x6e\xb2\xcd\x5a\x32\x95\xb7\x33\xfd\x52\xaf\x4b\x9e\xfd\xc2\xcc\x06\xae\x61\x55\xd9\x77\xab\x1f\x51\xa0\xe2\xd9\xdb\x9b\xe6\xa9\x5b\x4b\x6d\x5d\x1b\xe0\x06\x32\x26\xc2\xe9\xc4\x61\xbf\x41\x85\x8e\xcb\x33\x96\x65\xa8\xf5\x82\x95\xe5\x45\xa7\xc0\x31\x2e\xe0\xf3\x19\xc0\x19\x00\xc0\x6a\x05\xbf\x1a\xa9\xd8\x1d\x02\x13\x39\x38\xae\x80\xd8\xd2\xf6\xfb\x90\x6c\x89\xa6\x79\x98\x1e\xb8\x0a\xdf\x24\x1f\xee\x64\xbc\x0a\xfe\x4e\x3e\x3a\x54\x4b\x34\xc4\xf3\xea\xec\x03\x77\x28\xbc\x71\x70\x0d\xb8\xe5\xc6\x60\x0e\xfb\x0d\x0a\x60\x20\x70\x0f\x3b\x56\x97\x26\x5c\x33\xae\x81\xe5\x39\xe6\x64\x3a\xac\xa5\xa5\x03\x85\x28\xd4\xb2\x56\x19\x2e\xdb\x6f\x07\x6c\xba\x69\xff\x49\xb4\x5f\xb7\xa4\x5f\x12\xd9\x85\x39\x54\x78\x05\x37\x87\x0a\x2f\x43\xaa\xff\xd8\x0b\x54\x57\xf0\x32\xcf\x15\x6a\xfd\xfc\xd2\xd1\x3c\xf6\xea\xf8\xee\x8d\xbf\x38\x41\x0d\x29\x15\x28\xdc\xca\x1d\xe6\xce\xfb\x18\x3c\xa9\x1e\xde\x39\xda\x91\x26\xbe\x5c\x15\x4f\xa6\x8e\x1c\x2b\xa9\xbd\x0b\x09\x69\xc8\x8d\x32\xb9\xad\x4a\x34\x98\x1f\x15\xf5\x67\x69\x5e\x37\x0f\xbf\x71\x84\x22\x39\xd9\x96\xc2\xd2\x15\xfc\xf6\x96\x7f\xfa\xdb\xff\xcf\x14\x6d\x5c\x37\x3d\xb9\xb8\x30\xa8\x0a\x96\xa1\x93\x0d\x45\x21\x55\x86\xda\xc6\x9a\x2d\x9a\x8d\x74\x56\x4d\x51\x92\x62\x82\x14\x48\xef\xb3\x0d\x66\xf7\x20\x05\x3d\xd6\x92\x63\x3b\xc6\x4b\xb6\x2e\xb1\x53\x2a\x47\x0d\xb2\xa0\xc0\x98\x30\x02\x1b\x12\x58\xa9\x25\xe0\xa7\x4a\x6a\x3f\x69\x4b\xae\x51\xaa\xe3\x42\xd3\xb4\xcd\x47\x45\x2d\x72\x4d\xd3\x73\x33\xa1\xde\x76\x9e\x4e\xc6\x20\x48\xf9\x58\xf4\xb9\x55\x67\x38\xb4\xa8\x05\xdc\xa1\xb1\x56\x48\xab\xa0\x17\x17\x57\xf0\x81\xfe\xfa\x98\x7c\x7e\xc7\x71\x3f\x1c\xf4\x9e\x9b\x8d\x57\x3b\x8d\xff\x7c\x63\x57\xd5\x7f\xf2\x70\x94\xd0\xaf\x75\x45\xe0\x86\x79\xcc\x86\x27\xf3\x4a\xca\x32\x4d\x83\x86\x7b\x4d\x2d\xc8\x19\xaf\xe0\x45\x0f\x8f\x2c\xc1\x87\x8b\xd1\xd1\x9a\x15\xf8\x66\x0e\x85\xb1\x2f\x9e\x4f\x0b\x67\xcd\xa7\x89\xc9\xaf\x0e\x24\x50\x60\xf2\x17\x4e\xb8\x69\x12\xc4\xe2\x2b\xa9\x94\xdc\xa7\xc6\xff\xdf\x18\x00\x3b\xc6\x1e\x62\x1f\x68\x0d\xc5\xba\x80\x05\x40\xef\x00\x7d\xcc\x77\x78\xdf\xe4\x07\xaa\x33\xd6\xd0\xe2\x2f\x9d\xbb\x50\x46\x40\x44\x24\xf9\x9f\x75\xa2\x3c\xb7\x26\xef\x02\x25\x7d\xb7\x75\x2e\xd0\xba\xd5\xc0\xf6\x99\x38\xf4\xe7\x66\x5b\xe9\x09\x77\xfe\x46\xb2\xeb\x39\x9e\x10\xd8\xff\x15\xa4\x55\x74\x39\xe5\x24\xed\x9a\xd0\x34\x6f\x78\x66\xb8\x14\x4c\x1d\x60\x23\xcb\xbc\x91\x77\x4c\x57\xb1\x8a\x22\x4a\x5c\xe4\xf8\x09\x73\x58\x1f\x52\x14\x1c\xd8\x90\x8c\xcb\x68\x54\xdf\x40\x9a\xbc\xe4\x02\x76\x4c\xb5\xf3\xbe\x0e\xa6\x6d\x9d\xa7\x43\x96\xef\x47\x4d\xe5\x07\x6f\x25\xcd\x74\x2f\xf3\x5c\xfb\x0c\xe0\xa8\x88\x07\x5a\x4d\x12\x25\x8c\x7b\x11\xb5\x18\x09\x07\x22\xd1\x9b\x17\x15\x53\x6c\x1b\x10\xbd\x72\xf9\x6b\x34\x89\x0b\x9d\xc0\x20\x43\x65\x18\x17\x5d\x7a\x1a\x92\x0a\x15\x19\x04\x51\xbb\x7e\x60\x36\x4a\xd6\x77\x9b\xa9\xac\x95\x1c\x23\x22\xb8\xe7\x65\x49\x30\xd7\xe6\x3d\x3d\x61\xa7\x57\xaa\x0d\x34\x2c\xcf\x7f\xc6\xbd\x8d\x19\x8b\x50\xce\x59\xeb\x73\x11\x04\x6f\x37\x13\xb8\x88\x00\x0c\x14\x16\xa8\x50\x64\xd8\xf0\xe6\x64\xaf\x24\x61\x81\x65\xd8\xdb\x5a\xa0\xcd\x3d\x42\x9f\xde\x9e\xb9\x82\xc0\xc6\x04\xe0\x42\xf3\x1c\xfb\xa2\x46\x63\x28\xd9\xb4\x53\xbd\xc3\x02\xae\xc3\x6c\x7f\x6d\x59\x5b\x5c\x8c\xe3\xf7\xf3\xe7\x50\x31\xc1\x33\x58\x9c\xbf\x66\xc2\xe6\x11\x4e\x9c\x48\x18\x27\x88\x4d\xb2\x3a\xea\xe7\x17\x7d\xce\x5f\x5b\x84\xe6\x05\x71\x4b\xac\x93\xe9\x56\x0a\x77\x5c\xd6\x51\xbd\x51\x48\x05\x86\x6a\x10\x6b\x22\x97\x34\x42\x48\x13\x51\xe3\x05\x2c\x34\x96\xc5\x32\xe5\x52\x1f\x1a\x69\x97\x77\x68\x31\x6a\x71\xf1\x11\xae\xaf\x41\xf0\xb2\xbf\x3e\x9e\xb3\x5a\x63\xb0\x22\x81\x6c\x87\x0a\x81\x69\xb8\x47\xc7\x15\xe9\xbc\x89\x29\x29\x3a\x81\x10\x14\x45\xcd\x06\xc5\xe0\xb1\x13\xd9\x0e\x68\xa6\x66\xa4\xac\xcf\xb2\x13\x26\x83\x22\xe7\x19\x33\x16\x30\xa8\x9c\xb4\xf1\x21\x60\x6d\xc3\x34\xac\x11\x45\x52\x04\xeb\x3d\x83\x2f\xec\x34\x13\x85\xc0\x90\xf5\xcb\xd9\xe9\x6e\xa3\x97\x41\x7a\x68\x35\x65\xa1\xea\xf9\x92\xb9\x0c\xe5\x84\x2c\xba\x7d\x0d\xd2\xe9\xc0\x03\x3c\xd9\xd8\x54\x1f\x00\x4b\x8d\x69\x4b\xf9\xa9\xb1\xde\x3d\xd3\xc0\x4a\x85\x2c\x3f\x50\xa4\xeb\x5b\x2f\x95\xc6\xce\x7a\xad\xff\x0c\x48\xd9\x4f\x17\xe7\x37\xad\x27\xb4\xa4\x9c\x0d\x72\x9b\xc7\x86\xb8\xd7\x73\x8b\x9e\x7b\x75\x69\xd7\x08\x44\xd4\xdb\x35\x2a\x4a\x7c\x67\x81\x05\x25\xc9\xeb\x83\xdb\x43\x88\xa3\xf6\x06\xa1\xa2\x5a\x19\x6c\x29\x4e\xef\x0f\xc0\x54\x53\xa3\xc7\x31\x36\xf1\x4a\xa1\x89\xa5\xe7\x80\xa4\x47\x1a\xdc\x2e\x41\xcc\xd7\xd8\x6c\x9e\x9a\x5f\x52\x47\xcf\xbf\x21\xb9\xbb\xbc\xc7\xbf\x09\x89\x9e\x8e\x0d\xfa\xd5\x81\xea\xf4\x85\x67\xfe\x43\x57\xba\x7f\xbc\xec\x78\xf0\x89\x75\x02\x16\x7e\x44\xe7\xb7\xcd\x16\xcf\x5c\x99\x07\xa1\xdd\xc9\x74\x4d\xd9\xf9\x4b\x47\x6b\x91\xb4\xea\xd5\x0a\xde\x4a\x05\xc8\xb2\x8d\x55\xf3\x25\x8d\x70\xc0\xc1\xa8\x46\xee\xc5\x2e\x0f\x2f\x66\x80\x3f\x5c\x0c\xa1\xf5\x99\x1e\xb1\xa1\xbc\xcd\xc7\x22\x32\x64\xca\xc4\x03\x99\xb9\x5b\xf2\xa1\xb3\xf1\xc2\x8a\x17\xb0\x75\xed\x64\x5d\x46\x0b\x77\x87\x66\x02\x8f\xed\xf2\xa4\x82\x3e\x7c\x39\x38\x8f\xd1\xdc\xe3\xe9\x18\x1d\x0c\x77\x11\xc6\xcf\x4f\x51\xc6\x21\x2e\xe6\xa0\x6b\x6b\x8e\x45\x5d\x96\x87\xe5\x72\x99\x24\xe0\xb5\x76\x04\xef\xd3\xfa\xf0\x0c\x2c\x97\x4b\x32\x80\x10\xa7\x85\x4c\x02\xb5\xcb\xb4\xe2\x80\x37\x4a\x79\x1e\x64\x7f\x33\x0f\xb3\x7b\x2c\xff\x76\x3a\x7e\x1f\x23\x79\x64\x9d\x9b\xd7\xa9\x12\xcd\xa5\x4b\x48\x2c\xf2\xd9\xf0\x3e\x5f\x9a\x0e\xfd\xd3\x48\x1f\xbe\xfe\x13\xa8\x3f\x0f\xe6\x8f\x92\x19\x80\xfa\xac\x91\x17\xa3\xdf\x3e\x24\xbf\x19\x7e\xfa\x70\x1a\xea\x3e\x6d\x61\x06\xba\xc2\x8c\x17\x07\x32\xe1\xfd\x86\x67\x1b\xb8\x25\xb5\xdf\x12\xa2\xdd\xa6\x77\x3d\x6e\x9b\x3d\xf4\x88\xa0\xaf\xb7\x5c\x60\xe3\x66\x69\x1d\x88\xdb\x90\xc5\x45\x56\xd6\x39\x05\x2d\x38\xc8\x5a\x45\x4c\x9d\xef\x15\xab\x2a\x54\xe7\x3d\xee\x9c\x44\x9a\x02\xd4\x86\xdc\x8d\xc1\xed\x0b\xcb\xc4\x5b\xa9\xf6\x4c\x51\x19\xbe\xf4\x7f\xa2\xba\x5d\xc2\x4f\x6e\x5b\xd2\xee\xb3\xad\xe3\xaa\xb0\xd6\x8e\x29\xb9\x43\xb5\x57\xdc\x38\xbf\x76\x7e\x6c\x0c\xcb\x36\x7e\x4b\xbb\xad\x2d\xc3\x62\x89\x9b\x8d\xac\x4d\x2c\xea\x86\xed\xac\xc7\xcb\x6e\x8f\x83\x45\xa8\x52\x70\xa5\x4d\x84\xff\xff\x9b\x15\x6f\x4a\x2a\xbf\x41\xd5\x68\x58\x16\x7d\x6b\xf5\xca\xb2\x16\x14\x19\xcd\x80\x97\x4e\x21\x97\xa0\x18\x21\x07\x3d\xe3\xb2\x58\x6f\xa5\xb6\x40\x34\x76\x73\xab\x09\xd0\x2d\xb6\xd1\x77\x11\x3d\xcd\x78\x9e\x0a\x96\x73\xf3\xb3\xf7\xce\x54\x4f\x2f\xe1\x1f\x53\x62\x8c\xbc\x82\xfd\xbf\x61\x02\x18\x56\xc3\xbd\xb6\xc5\x5e\xaa\xfb\x30\xf1\xb6\xa2\x6a\x8d\x2a\xdc\x91\x58\xda\x1d\xcb\xc5\xc5\x25\x6c\x51\x6b\x76\x87\x57\x70\xee\x52\x68\xad\xe3\x74\xce\x02\x38\xe5\x04\x25\xcf\x87\x55\x79\x83\x9d\xd6\x02\xac\x59\xa0\x41\x15\xa2\xe6\x44\xda\x33\x0e\x7f\x44\x6e\x02\xef\x9e\xb4\x74\x4d\x96\xad\xe3\xe0\x35\x58\x5f\xb7\x4e\xf4\xef\x10\x3e\x1e\x89\x57\x33\x8a\xce\x78\xd0\xc5\x24\x94\xfc\x8e\x4a\x82\x54\xb0\xa5\x7c\x72\x76\x05\xe7\x23\x42\x1c\x10\x93\x6d\x8f\x11\x60\xd1\x53\xc8\xa2\x7b\x84\x53\x61\xe2\xbf\x04\x5b\x74\x04\x2e\x03\x68\x21\x5d\xce\x05\x17\xc2\x81\x68\xe0\x10\x5f\xfa\xb6\x02\x7f\x48\x5d\x6c\xe5\xec\x82\x7d\x5b\x13\xf7\x23\xbe\x8c\x17\x51\x8a\xae\x64\xfc\x9a\xf5\xb6\x8f\xe7\x93\x65\xb7\x17\xd1\x35\xc5\x9e\x24\x8e\xff\x55\xc8\x1f\x2f\xe4\xf9\xe5\x5f\xb5\xfc\xc8\xf0\xaf\x5e\xcb\x3f\xa2\x30\x9e\x53\xa1\x4e\xc3\xbe\xfe\xc0\x3f\xce\x2c\x75\x4f\x2c\x73\x1f\x51\xc7\x9e\x90\x06\x84\xaf\x2e\x25\x20\x69\xa6\xab\xca\x27\x28\x69\x4f\x2f\x67\xd3\xa5\xec\xa3\x0b\x56\x77\x9a\x85\xe0\x75\x46\xbd\xda\x26\xf2\x29\x17\x78\xca\x4e\xe2\x80\x1b\xdf\x77\x1d\x40\x7b\x74\xd0\xe7\x71\x7d\x3f\x47\xe2\xcf\xdf\xf7\xf3\x99\xc6\xe4\x1a\xc0\xac\xb6\xdf\x1f\xd3\xf5\x1b\x0d\x41\x12\x0a\xee\x9a\x64\xbd\x55\x77\x12\xce\xab\x33\x96\xee\xe1\xc5\x3d\x1e\x52\xfb\x51\x03\x6e\xfe\xfe\x94\x45\x87\xb7\xba\xa3\x65\x47\x73\x54\x6c\xa4\xf0\x98\xb3\x8d\xf6\x35\xca\x90\xe6\xaf\xc8\x7f\x6e\xd8\x7d\x2a\x4c\xb8\xd5\xb5\x47\x49\x64\x4d\xaa\x74\x19\xbf\x4d\x83\x94\xac\x50\x75\x03\x12\x7b\x22\xc9\x20\x23\x55\x93\x86\x12\x32\x71\x73\x3c\x98\xb8\x73\x41\x14\x46\xba\xfc\x35\xc9\xe7\x91\xf8\xf4\xa8\x93\x4b\xe3\x99\x61\x2a\x72\x4a\x81\xba\x77\x8c\x76\xca\x91\x5b\x79\x7a\x96\x05\xd7\x13\x58\x4c\x93\x05\x9b\xcf\x03\xe3\x08\xdc\x3c\xd6\x99\x6f\x41\xba\x6d\x83\xee\x48\x8f\xdd\xa5\xe2\x3a\x64\xf4\xfc\xe2\x6c\x24\xee\xc5\xfb\x3c\xde\x14\x72\xd4\x5c\x35\x13\x4c\x45\xab\x31\x79\xc7\x63\x57\x1c\xb3\x20\x08\x5a\x89\x08\xdc\xc6\xa3\x3e\xff\xad\x2b\xc6\x4b\xfe\xfd\xb7\xf4\xff\x68\x89\x7e\xd4\x27\x8c\xf2\xe5\xb8\x75\x8e\x81\x6f\x44\xc4\xe6\xe0\x6f\xec\x1a\xbe\x8a\xcb\xfb\x47\x98\xd8\x4e\x72\x7b\x04\xca\x2a\xe6\xde\x7a\x51\x98\x90\xf6\x17\x78\xbc\x48\x4d\x39\xdb\xae\x39\x01\x18\x6f\x20\x5a\x66\x4c\x03\xd4\x14\x4f\x09\xb8\xb4\xaf\x2b\xd3\xbb\xd0\x53\x9e\xad\xd0\xd4\x4a\x9c\xe2\xd4\x97\x6d\xad\x1e\xb6\x79\xbc\x6a\x73\xdd\xe8\xa0\xd9\x81\xa5\xb4\xbc\xcb\xc6\x2f\xc1\x66\xc3\xbc\x2c\xed\x99\x72\xc6\x45\xa4\xe1\x88\x9c\x27\x34\xb0\x2e\x81\x98\xb7\x5e\x44\xe4\x49\xcb\x85\xac\xc5\xdc\x54\xe4\xcb\xcf\x3a\x0e\x83\xd1\x8d\xb2\xd8\xda\x94\x8a\x3e\x28\x0f\x0e\x4d\x1f\x4d\x2b\xba\xaa\x26\x72\x66\x32\xa6\x4a\xa1\x26\x50\x75\x67\x70\xa3\x14\xac\x57\xe1\xf8\xca\xe6\x29\xa2\x5a\xfa\x98\xc6\x7b\x04\xe3\x04\x1e\x0f\x02\x41\xfe\x72\xa4\xec\x71\x32\xef\xd1\x6d\x71\x4d\x13\x4c\x15\x73\xc3\x42\xee\x68\x7c\x1b\x2f\x73\xdf\x77\xa6\xdb\x9a\x25\xa9\xdc\x6e\x98\x0f\x03\x6b\xf3\x9a\x8c\x6c\x4b\xf2\x98\x5c\xb1\xfd\xa2\x39\xd9\xdd\x68\xf9\x15\x2b\x99\xc8\x28\x93\x1a\x86\xdc\xb1\xd2\xc2\x33\xca\x8b\xae\xcb\xc1\x78\xe9\x3b\xc5\x5a\x6e\xc9\x65\x98\x96\xa2\x6f\x12\x83\x39\xe1\x07\xf8\x6e\xf9\x5d\x42\x15\x36\xc9\x4a\x1d\x52\x4f\x8a\xee\xb2\xac\xd8\x6e\xd2\x85\xd5\xa8\xf4\xe9\xc7\x1f\x99\x94\x0d\x35\xe9\x83\x9c\x5b\x8c\x09\xad\xe6\xa8\x8d\x92\xde\x4b\xcf\x12\x14\x04\x2f\xc7\x40\xca\xf6\x1b\x7c\x8a\xdb\xcf\xb9\x79\xd3\x55\xb3\x51\x9c\x6b\xd7\x2b\x38\xd6\x3d\x9a\x83\x00\xfb\x78\x43\xf4\x60\x83\x63\x83\x06\xb6\x83\x81\x13\xf3\x78\xa9\x18\xac\xa5\x2c\x91\x09\xd8\x32\xdb\x19\x19\xa4\x55\x52\x35\xcc\x33\xcf\x3c\xc5\xf1\xf0\xd4\xe0\xe3\x0f\x7d\xf7\xec\x8f\x17\xc7\xbb\x1e\xf6\xdc\x42\xc2\x6e\xbd\x3c\x05\x2b\x35\xf6\x96\x39\xb5\x9a\x47\xe6\xf9\xa6\x69\x01\x8d\x2d\xf9\x8f\x68\xb4\x87\x28\x9f\x44\x30\xad\xf9\x9d\x68\x56\xbb\x52\x72\xc7\x3b\xa8\x1a\x1e\x67\xb6\x37\xc1\x28\x4d\x40\x52\x1e\x53\x07\x58\x63\xc6\x6a\x8d\x2d\xc4\x72\x73\x49\xe9\x8c\x4f\x25\x2a\xa9\xb5\xc7\x65\x28\xa5\xbc\x87\x5a\xe4\xe8\x1a\x48\x1b\x29\xdd\x51\x73\x8d\x48\x3a\x64\x63\xcd\x3d\xee\xae\x67\x08\xc0\x4f\x15\x66\xb6\x42\xb6\x86\x65\x97\x73\xe9\x58\xda\x60\x59\x69\xb8\xab\x99\xca\x81\xdd\x31\x2e\x34\x55\x71\x05\x17\xdc\x60\x79\x80\x6c\xc3\x38\x09\xd9\xeb\x13\x10\x0d\x69\x3b\x93\x5c\x38\x1b\x89\x26\xde\xb2\x92\x67\xf6\x88\xcb\x3d\xb7\x31\xb5\x80\xba\xca\xbb\xba\x30\xb3\xb7\xe0\x2a\xe5\x2a\xc7\x92\x6b\x4a\xbe\xb4\xf3\xc5\x35\x12\xfd\x2d\xcb\x7d\x7f\x99\x29\x6c\xcc\x50\xb8\x34\xbf\x50\x52\x18\x7d\xb4\x23\xfb\xc7\xf9\x94\x00\x59\xd9\x2d\xdd\x72\x34\xc7\xcc\xa4\xd0\xf5\x16\x55\xbb\x9f\x1f\x36\x6c\x9a\x2b\x37\x2b\x2b\x27\x33\xbe\x3e\x40\xae\x40\xee\xc5\xb4\xdf\x3d\xf6\xa6\xc4\xd0\x15\xbf\xb1\x3e\x32\xee\xc7\x26\xd1\x7c\x85\x74\xbc\xfc\x02\x3f\x1c\x54\x25\xfd\x1e\x1e\xe5\x5d\xc6\x15\xc1\xbe\xdd\x2f\xe1\x5e\xc8\xbd\xef\xb6\xf9\x2b\x9b\xdd\xf9\x81\xe3\x47\x41\x5c\xbe\x55\x31\xe5\x9c\xd9\x73\x37\x61\x5f\x41\x22\x7d\x8f\x07\xdd\x25\x3e\xdd\xd6\x3e\x2d\xb3\xaf\x49\xa3\xb1\x73\xee\x8e\xf2\xd6\x4d\x5c\x1b\x10\x8b\x02\x33\xc3\x77\xe4\x8f\x11\xb1\x66\x0b\x3c\xcd\xea\xcc\x1b\x4f\xbd\x15\xa5\xec\xaa\x9d\xf0\x26\xec\x02\xc1\x35\x7c\xf8\x38\x68\x59\xb4\x5e\x06\x7c\x62\x75\x97\x56\x4f\xc9\x6e\xc6\x91\x63\x5f\x37\x51\x78\x1e\xc9\xe5\x62\x86\x97\xac\xaa\x50\xe4\x8b\x76\xfc\x69\xf9\x96\x5f\xdd\x98\xe6\x57\x37\x47\x60\xa5\x14\x77\x16\x2c\x5c\x8f\xcc\xb7\x07\x6d\x8f\x2c\xde\x07\xb2\x31\xcd\x4f\xdc\x9c\x6b\x49\x17\x88\x49\xb3\x7e\x19\x9a\xf1\x96\x55\x55\x93\x25\x4c\xd8\x6e\xcc\x00\x59\x83\x4f\xe4\xdb\x78\x68\x33\xb9\x67\xba\xe5\xfb\xa8\xc9\x3e\xe6\xd2\xdd\x51\x5b\x0e\x86\x0f\x07\x5f\xc3\xe7\x41\xe6\xdd\x1e\x2d\xb1\x3d\xc2\xf8\x24\x48\xc9\x7b\x5b\xab\x7f\x1a\x7f\xf0\xbd\x20\xd7\x89\x0f\xf6\x48\x7a\x8b\x30\xc3\x97\x02\x85\x05\xf3\x4f\x56\x95\x21\x9b\x63\x13\x9d\xec\x7f\x01\x1f\x27\xb8\x22\x05\x51\x47\xce\x25\x6f\xbe\x2f\x6f\x7b\xf6\xba\xb9\x7f\xe9\x7a\x06\xf6\x8a\xb3\xdf\xf5\x88\xc8\x3a\x3f\x1e\x9c\xc8\x70\xbf\x09\x40\x44\x9f\xf9\x0f\x9f\xb5\x13\x1f\xf7\xb1\x37\x11\x50\xbc\xbd\xf1\x3c\x25\xcf\x88\x2d\x8f\xba\xc7\x8c\xab\xa4\xf0\x19\x06\xae\xa1\xa3\x61\xba\x37\x60\xe0\x0d\x7f\x1a\xeb\xee\xf1\x1d\xdb\xa5\x51\xf5\xf0\x40\xf2\x0c\x73\xeb\x11\x1d\x33\xb2\x77\xde\x9a\xf6\x1b\xb4\xe9\xaf\xcb\xa5\xad\x1d\xdc\xf1\x9d\x37\x2e\x7b\x0b\x25\xcb\xb0\x32\xdd\xad\xc7\x26\x58\xf6\x4c\x36\xd8\xdc\xcb\xdc\xaf\x54\x60\xe5\x2e\x86\x5a\x42\xfe\xf7\x22\xfe\x55\xeb\xc6\x90\xad\x80\x44\x34\xc7\x22\xda\xa1\x48\x1a\x07\xd7\x43\xdb\x38\x5a\x96\x25\x6c\xa3\x71\xf8\x31\x63\x4b\x6d\x49\x75\x0e\x76\x3d\x58\x32\x93\xc8\x3c\x52\x8b\x11\xaf\x9b\xbf\x4c\x14\xd5\x7e\xe9\x3e\x2c\x95\x2f\x03\xfb\x59\xad\xe0\x27\xc1\x0d\x67\x25\xff\x1d\x07\xe7\x68\xc6\xce\x65\x8c\x5a\x6c\xec\x21\x7e\xf2\xe0\xee\xf1\xdb\x28\x0c\xf9\x5f\x22\xa1\x54\x5f\x21\xa5\xf8\xae\x37\xb6\x2e\x99\xb8\x8f\xf6\xf7\xe0\x25\xd4\x1a\x15\x6c\x69\xcd\x33\x56\x96\x2d\x41\x1b\xa4\xda\xe0\xd6\x1d\x48\x71\x38\x4b\x2a\xc1\x3c\xbc\x16\xef\x4b\x08\xed\x7e\x68\xa3\xbd\x40\x7c\xd6\xb7\x16\x5b\xbe\x5b\xa6\x82\x3b\x52\x14\x40\x5e\xf4\x7f\xf5\x23\x5a\xa4\xef\xbf\xf5\x92\x44\xa3\x42\x2d\x0c\x56\xc1\xea\x32\xf8\xe1\x0f\xb8\x86\x95\x67\x6f\x55\x8c\xfc\xdc\x48\x3c\x38\xf9\xcb\x27\x63\x43\xdd\xc3\x31\x81\xd3\x7e\x42\xa5\x91\xe6\xe1\xec\xdf\x01\x00\x00\xff\xff\xcb\xed\xd1\x73\x8b\x46\x00\x00"
+var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\xdf\x73\xdb\x36\xf2\x7f\xf7\x5f\xb1\xf5\xc3\x37\xd2\x8c\x2b\xf7\xe1\x3b\xf7\xe0\xa9\x9b\x9f\x97\x4e\x5f\x7a\x9d\xd4\xbd\x3c\x64\x32\x63\x88\x5c\x5a\x38\x53\x00\x07\x00\xa5\xa8\x19\xff\xef\x37\x0b\x80\x24\x40\x82\x14\xe5\xf8\x9a\xde\x4d\xf5\x90\x58\x12\xb1\xd8\x5d\xec\xee\x67\x17\x0b\x88\x6f\x2b\xa9\x0c\xbc\xad\xc5\x1d\x5f\x97\x78\x23\xef\x51\x40\xa1\xe4\x16\xce\xa3\xcf\xce\xcf\xce\x2e\x2f\x2f\xe1\x66\x83\x90\x49\x61\x14\xcb\x0c\x98\x0d\x33\xc0\xca\x52\xee\x35\x30\x01\x2c\xcb\x64\x2d\x0c\x18\x09\x0a\x33\xe4\x3b\x84\x8a\x1d\xb6\x28\x8c\x06\x2e\x60\x5b\x97\x86\x57\x25\x42\xe1\xe9\x5a\x82\x86\x88\x6b\xa8\x35\x17\x77\xc0\x80\xfe\x2b\x11\x6e\x3f\x47\x93\xaf\xde\x39\x7a\xea\xe1\x16\x32\x56\xb1\x35\x2f\xb9\x39\xac\x3c\x47\x5c\x07\x1f\x82\xde\xc8\xba\xcc\x81\xe7\xc8\xca\xf2\x00\x6b\x04\x6d\xa4\xc2\x1c\x18\x31\x8c\x60\x07\xdd\x46\xe4\x7f\xdd\x73\x93\x6d\xd6\x92\xa9\xbc\x9d\xe9\x97\x7a\x5d\xf2\xec\x17\x66\x36\x70\x0d\x97\x95\x7d\x77\xf9\x23\x0a\x54\x3c\x7b\x7b\xd3\x3c\x75\x6b\xa9\xad\x6b\x03\xdc\x40\xc6\x44\x38\x9d\x38\xec\x37\xa8\xd0\x71\x79\xc6\xb2\x0c\xb5\x5e\xb0\xb2\x5c\x76\x0a\x1c\xe3\x02\x3e\x9f\x01\x9c\x01\x00\x5c\x5e\xc2\xaf\x46\x2a\x76\x87\xc0\x44\x0e\x8e\x2b\x20\xb6\xb4\xfd\x3e\x24\x5b\xa2\x69\x1e\xa6\x07\xae\xc2\x37\xc9\x87\x3b\x19\xaf\x82\xbf\x93\x8f\x0e\xd5\x12\x0d\xf1\xbc\x3a\xfb\xc0\x1d\x0a\x6f\x1c\x5c\x03\x6e\xb9\x31\x98\xc3\x7e\x83\x02\x18\x08\xdc\xc3\x8e\xd5\xa5\x09\xd7\x8c\x6b\x60\x79\x8e\x39\x99\x0e\x6b\x69\xe9\x40\x21\x0a\xb5\xac\x55\x86\xab\xf6\xdb\x01\x9b\x6e\xda\x7f\x12\xed\xd7\x2d\xe9\x97\x44\x76\x61\x0e\x15\x5e\xc1\xcd\xa1\xc2\x8b\x90\xea\x3f\xf6\x02\xd5\x15\xbc\xcc\x73\x85\x5a\x3f\xbf\x70\x34\x8f\xbd\x3a\xbe\x7b\xe3\x97\x27\xa8\x21\xa5\x02\x85\x5b\xb9\xc3\xdc\x79\x1f\x83\x27\xd5\xc3\x3b\x47\x3b\xd2\xc4\x97\xab\xe2\xc9\xd4\x91\x63\x25\xb5\x77\x21\x21\x0d\xb9\x51\x26\xb7\x55\x89\x06\xf3\xa3\xa2\xfe\x2c\xcd\xeb\xe6\xe1\x37\x8e\x50\x24\x27\xdb\x52\x58\xba\x82\xdf\xde\xf2\x4f\x7f\xfb\xff\x99\xa2\x8d\xeb\xa6\x27\x17\x17\x06\x55\xc1\x32\x74\xb2\xa1\x28\xa4\xca\x50\xdb\x58\xb3\x45\xb3\x91\xce\xaa\x29\x4a\x52\x4c\x90\x02\xe9\x7d\xb6\xc1\xec\x1e\xa4\xa0\xc7\x5a\x72\x6c\xc7\x78\xc9\xd6\x25\x76\x4a\xe5\xa8\x41\x16\x14\x18\x13\x46\x60\x43\x02\x2b\xb5\x04\xfc\x54\x49\xed\x27\x6d\xc9\x35\x4a\x75\x5c\x68\x9a\xb6\xf9\xa8\xa8\x45\xae\x69\x7a\x6e\x26\xd4\xdb\xce\xd3\xc9\x18\x04\x29\x1f\x8b\x3e\xb7\xea\x0c\x87\x16\xb5\x80\x3b\x34\xd6\x0a\x69\x15\xf4\x62\x79\x05\x1f\xe8\xaf\x8f\xc9\xe7\x77\x1c\xf7\xc3\x41\xef\xb9\xd9\x78\xb5\xd3\xf8\xcf\x37\x76\x55\xfd\x27\x0f\x47\x09\xfd\x5a\x57\x04\x6e\x98\xc7\x6c\x78\x32\xaf\xa4\x2c\xd3\x34\x68\xb8\xd7\xd4\x82\x9c\xf1\x0a\x5e\xf4\xf0\xc8\x12\x7c\x58\x8e\x8e\xd6\xac\xc0\x37\x73\x28\x8c\x7d\xf1\x7c\x5a\x38\x6b\x3e\x4d\x4c\x7e\x75\x20\x81\x02\x93\x5f\x3a\xe1\xa6\x49\x10\x8b\xaf\xa4\x52\x72\x9f\x1a\xff\x7f\x63\x00\xec\x18\x7b\x88\x7d\xa0\x35\x14\xeb\x02\x16\x00\xbd\x03\xf4\x31\xdf\xe1\x7d\x93\x1f\xa8\xce\x58\x43\x8b\xbf\x70\xee\x42\x19\x01\x11\x91\xe4\x7f\xd6\x89\xf2\xdc\x9a\xbc\x0b\x94\xf4\xdd\xd6\xb9\x40\xeb\x56\x03\xdb\x67\xe2\xd0\x9f\x9b\x6d\xa5\x27\xdc\xf9\x1b\xc9\xae\xe7\x78\x42\x60\xff\x57\x90\x56\xd1\xc5\x94\x93\xb4\x6b\x42\xd3\xbc\xe1\x99\xe1\x52\x30\x75\x80\x8d\x2c\xf3\x46\xde\x31\x5d\xc5\x2a\x8a\x28\x71\x91\xe3\x27\xcc\x61\x7d\x48\x51\x70\x60\x43\x32\xae\xa2\x51\x7d\x03\x69\xf2\x92\x25\xec\x98\x6a\xe7\x7d\x1d\x4c\xdb\x3a\x4f\x87\x2c\xdf\x8f\x9a\xca\x0f\xde\x4a\x9a\xe9\x5e\xe6\xb9\xf6\x19\xc0\x51\x11\x0f\xb4\x9a\x24\x4a\x18\xf7\x22\x6a\x31\x12\x0e\x44\xa2\x37\x2f\x2a\xa6\xd8\x36\x20\x7a\xe5\xf2\xd7\x68\x12\x17\x3a\x81\x41\x86\xca\x30\x2e\xba\xf4\x34\x24\x15\x2a\x32\x08\xa2\x76\xfd\xc0\x6c\x94\xac\xef\x36\x53\x59\x2b\x39\x46\x44\x70\xcf\xcb\x92\x60\xae\xcd\x7b\x7a\xc2\x4e\xaf\x54\x1b\x68\x58\x9e\xff\x8c\x7b\x1b\x33\x16\xa1\x9c\xb3\xd6\x67\x19\x04\x6f\x37\x13\xb8\x88\x00\x0c\x14\x16\xa8\x50\x64\xd8\xf0\xe6\x64\xaf\x24\x61\x81\x65\xd8\xdb\x5a\xa0\xcd\x3d\x42\x9f\xde\x9e\xb9\x82\xc0\xc6\x04\xe0\x42\xf3\x1c\xfb\xa2\x46\x63\x28\xd9\xb4\x53\xbd\xc3\x02\xae\xc3\x6c\x7f\x6d\x59\x5b\x2c\xc7\xf1\xfb\xf9\x73\xa8\x98\xe0\x19\x2c\xce\x5f\x33\x61\xf3\x08\x27\x4e\x24\x8c\x13\xc4\x26\x59\x1d\xf5\xf3\x65\x9f\xf3\xd7\x16\xa1\x79\x41\xdc\x12\xeb\x64\xba\x95\xc2\x1d\x97\x75\x54\x6f\x14\x52\x81\xa1\x1a\xc4\x9a\xc8\x05\x8d\x10\xd2\x44\xd4\x78\x01\x0b\x8d\x65\xb1\x4a\xb9\xd4\x87\x46\xda\xd5\x1d\x5a\x8c\x5a\x2c\x3f\xc2\xf5\x35\x08\x5e\xf6\xd7\xc7\x73\x56\x6b\x0c\x56\x24\x90\xed\x50\x21\x30\x0d\xf7\xe8\xb8\x22\x9d\x37\x31\x25\x45\x27\x10\x82\xa2\xa8\xd9\xa0\x18\x3c\x76\x22\xdb\x01\xcd\xd4\x8c\x94\xf5\x59\x76\xc2\x64\x50\xe4\x3c\x63\xc6\x02\x06\x95\x93\x36\x3e\x04\xac\x6d\x98\x86\x35\xa2\x48\x8a\x60\xbd\x67\xf0\x85\x9d\x66\xa2\x10\x18\xb2\x7e\x31\x3b\xdd\x6d\xf4\x32\x48\x0f\xad\xa6\x2c\x54\x3d\x5f\x31\x97\xa1\x9c\x90\x45\xb7\xaf\x41\x3a\x1d\x78\x80\x27\x1b\x9b\xea\x03\x60\xa9\x31\x6d\x29\x3f\x35\xd6\xbb\x67\x1a\x58\xa9\x90\xe5\x07\x8a\x74\x7d\xeb\xa5\xd2\xd8\x59\xaf\xf5\x9f\x01\x29\xfb\xe9\xe2\xfc\xa6\xf5\x84\x96\x94\xb3\x41\x6e\xf3\xd8\x10\xf7\x7a\x6e\xd1\x73\xaf\x2e\xed\x1a\x81\x88\x7a\xbb\x46\x45\x89\xef\x2c\xb0\xa0\x24\x79\x7d\x70\x7b\x08\x71\xd4\xde\x20\x54\x54\x2b\x83\x2d\xc5\xe9\xfd\x01\x98\x6a\x6a\xf4\x38\xc6\x26\x5e\x29\x34\xb1\xf4\x1c\x90\xf4\x48\x83\xdb\x25\x88\xf9\x1a\x9b\xcd\x53\xf3\x4b\xea\xe8\xf9\x37\x24\x77\x97\xf7\xf8\x37\x21\xd1\xd3\xb1\x41\xbf\x3a\x50\x9d\xbe\xf0\xcc\x7f\xe8\x4a\xf7\x8f\x17\x1d\x0f\x3e\xb1\x4e\xc0\xc2\x8f\xe8\xfc\xb6\xd9\xe2\x99\x2b\xf3\x20\xb4\x3b\x99\xae\x29\x3b\x7f\xe9\x68\x2d\x92\x56\x7d\x79\x09\x6f\xa5\x02\x64\xd9\xc6\xaa\xf9\x82\x46\x38\xe0\x60\x54\x23\xf7\x62\x97\x87\x17\x33\xc0\x1f\x2e\x86\xd0\xfa\x4c\x8f\xd8\x50\xde\xe6\x63\x11\x19\x32\x65\xe2\x81\xcc\xdc\x2d\xf9\xd0\xd9\x78\x61\xc5\x0b\xd8\xba\x76\xb2\xae\xa2\x85\xbb\x43\x33\x81\xc7\x76\x79\x52\x41\x1f\xbe\x1c\x9c\xc7\x68\xee\xf1\x74\x8c\x0e\x86\xbb\x08\xe3\xe7\xa7\x28\xe3\x10\x17\x73\xd0\xb5\x35\xc7\xa2\x2e\xcb\xc3\x6a\xb5\x4a\x12\xf0\x5a\x3b\x82\xf7\x69\x7d\x78\x06\x56\xab\x15\x19\x40\x88\xd3\x42\x26\x81\xda\x65\x5a\x71\xc0\x1b\xa5\x3c\x0f\xb2\xbf\x99\x87\xd9\x3d\x96\x7f\x3b\x1d\xbf\x8f\x91\x3c\xb2\xce\xcd\xeb\x54\x89\xe6\xd2\x25\x24\x16\xf9\x6c\x78\x9f\x2f\x4d\x87\xfe\x69\xa4\x0f\x5f\xff\x09\xd4\x9f\x07\xf3\x47\xc9\x0c\x40\x7d\xd6\xc8\xe5\xe8\xb7\x0f\xc9\x6f\x86\x9f\x3e\x9c\x86\xba\x4f\x5b\x98\x81\xae\x30\xe3\xc5\x81\x4c\x78\xbf\xe1\xd9\x06\x6e\x49\xed\xb7\x84\x68\xb7\xe9\x5d\x8f\xdb\x66\x0f\x3d\x22\xe8\xeb\x2d\x17\xd8\xb8\x59\x59\x07\xe2\x36\x64\x71\x91\x95\x75\x4e\x41\x0b\x0e\xb2\x56\x11\x53\xe7\x7b\xc5\xaa\x0a\xd5\x79\x8f\x3b\x27\x91\xa6\x00\xb5\x21\x77\x63\x70\xfb\xc2\x32\xf1\x56\xaa\x3d\x53\x54\x86\xaf\xfc\x9f\xa8\x6e\x57\xf0\x93\xdb\x96\xb4\xfb\x6c\xeb\xb8\x2a\xac\xb5\x63\x4a\xee\x50\xed\x15\x37\xce\xaf\x9d\x1f\x1b\xc3\xb2\x8d\xdf\xd2\x6e\x6b\xcb\xb0\x58\xe2\x66\x23\x6b\x13\x8b\xba\x61\x3b\xeb\xf1\xb2\xdb\xe3\x60\x11\xaa\x14\x5c\x69\x13\xe1\xff\xff\x66\xc5\x9b\x92\xca\x6f\x50\x35\x1a\x96\x45\xdf\x5a\xbd\xb2\xac\x05\x45\x46\x33\xe0\xa5\x53\xc8\x05\x28\x46\xc8\x41\xcf\xb8\x2c\xd6\x5b\xa9\x2d\x10\x8d\xdd\xdc\x6a\x02\x74\x8b\x6d\xf4\x5d\x44\x4f\x33\x9e\xa7\x82\xe5\xdc\xfc\xec\xbd\x33\xd5\xd3\x4b\xf8\xc7\x94\x18\x23\xaf\x60\xff\x6f\x98\x00\x86\xd5\x70\xaf\x6d\xb1\x97\xea\x3e\x4c\xbc\xad\xa8\x5a\xa3\x0a\x77\x24\x56\x76\xc7\x72\xb1\xbc\x80\x2d\x6a\xcd\xee\xf0\x0a\xce\x5d\x0a\xad\x75\x9c\xce\x59\x00\xa7\x9c\xa0\xe4\xf9\xb0\x2a\x6f\xb0\xd3\x5a\x80\x35\x0b\x34\xa8\x42\xd4\x9c\x48\x7b\xc6\xe1\x8f\xc8\x4d\xe0\xdd\x93\x96\xae\xc9\xb2\x75\x1c\xbc\x06\xeb\xeb\xd6\x89\xfe\x1d\xc2\xc7\x23\xf1\x6a\x46\xd1\x19\x0f\x5a\x4e\x42\xc9\xef\xa8\x24\x48\x05\x5b\xca\x27\x67\x57\x70\x3e\x22\xc4\x01\x31\xd9\xf6\x18\x01\x16\x3d\x85\x2c\xba\x47\x38\x15\x26\xfe\x4b\xb0\x45\x47\xe0\x32\x80\x16\xd2\xe5\x5c\x70\x21\x1c\x88\x06\x0e\xf1\xa5\x6f\x2b\xf0\x87\xd4\xc5\x56\xce\x2e\xd8\xb7\x35\x71\x3f\xe2\xcb\x78\x11\xa5\xe8\x4a\xc6\xaf\x59\x6f\xfb\x78\x3e\x59\x76\x7b\x11\x5d\x53\xec\x49\xe2\xf8\x5f\x85\xfc\xf1\x42\x9e\x5f\xfc\x55\xcb\x8f\x0c\xff\xea\xb5\xfc\x23\x0a\xe3\x39\x15\xea\x34\xec\xeb\x0f\xfc\xe3\xcc\x52\xf7\xc4\x32\xf7\x11\x75\xec\x09\x69\x40\xf8\xea\x52\x02\x92\x66\xba\xaa\x7c\x82\x92\xf6\xf4\x72\x36\x5d\xca\x3e\xba\x60\x75\xa7\x59\x08\x5e\x67\xd4\xab\x6d\x22\x9f\x72\x81\xa7\xec\x24\x0e\xb8\xf1\x7d\xd7\x01\xb4\x47\x07\x7d\x1e\xd7\xf7\x73\x24\xfe\xfc\x7d\x3f\x9f\x69\x4c\xae\x01\xcc\x6a\xfb\xfd\x31\x5d\xbf\xd1\x10\x24\xa1\xe0\xae\x49\xd6\x5b\x75\x27\xe1\xbc\x3a\x63\xe5\x1e\x5e\xdc\xe3\x21\xb5\x1f\x35\xe0\xe6\xef\x4f\x59\x74\x78\xab\x3b\x5a\x76\x34\x47\xc5\x46\x0a\x8f\x39\xdb\x68\x5f\xa3\x0c\x69\xfe\x8a\xfc\xe7\x86\xdd\xa7\xc2\x84\x5b\x5d\x7b\x94\x44\xd6\xa4\x4a\x97\xf1\xdb\x34\x48\xc9\x0a\x55\x37\x20\xb1\x27\x92\x0c\x32\x52\x35\x69\x28\x21\x13\x37\xc7\x83\x89\x3b\x17\x44\x61\xa4\xcb\x5f\x93\x7c\x1e\x89\x4f\x8f\x3a\xb9\x34\x9e\x19\xa6\x22\xa7\x14\xa8\x7b\xc7\x68\xa7\x1c\xb9\x95\xa7\x67\x59\x70\x3d\x81\xc5\x34\x59\xb0\xf9\x3c\x30\x8e\xc0\xcd\x63\x9d\xf9\x16\xa4\xdb\x36\xe8\x8e\xf4\xd8\x5d\x2a\xae\x43\x46\xcf\x97\x67\x23\x71\x2f\xde\xe7\xf1\xa6\x90\xa3\xe6\xaa\x99\x60\x2a\x5a\x8d\xc9\x3b\x1e\xbb\xe2\x98\x05\x41\xd0\x4a\x44\xe0\x36\x1e\xf5\xf9\x6f\x5d\x31\x5e\xf2\xef\xbf\xa5\xff\x47\x4b\xf4\xa3\x3e\x61\x94\x2f\xc7\xad\x73\x0c\x7c\x23\x22\x36\x07\x7f\x63\xd7\xf0\x55\x5c\xde\x3f\xc2\xc4\x76\x92\xdb\x23\x50\x56\x31\xf7\xd6\x8b\xc2\x84\xb4\xbf\xc0\xe3\x45\x6a\xca\xd9\x76\xcd\x09\xc0\x78\x03\xd1\x32\x63\x1a\xa0\xa6\x78\x4a\xc0\xa5\x7d\x5d\x99\xde\x85\x9e\xf2\x6c\x85\xa6\x56\xe2\x14\xa7\xbe\x68\x6b\xf5\xb0\xcd\xe3\x55\x9b\xeb\x46\x07\xcd\x0e\x2c\xa5\xe5\x5d\x36\x7e\x01\x36\x1b\xe6\x65\x69\xcf\x94\x33\x2e\x22\x0d\x47\xe4\x3c\xa1\x81\x75\x09\xc4\xbc\xf5\x22\x22\x4f\x5a\x2e\x64\x2d\xe6\xa6\x22\x5f\x7e\xd6\x71\x18\x8c\x6e\x94\xc5\xd6\xa6\x54\xf4\x41\x79\x70\x68\xfa\x68\x5a\xd1\x55\x35\x91\x33\x93\x31\x55\x0a\x35\x81\xaa\x3b\x83\x1b\xa5\x60\xbd\x0a\xc7\x57\x36\x4f\x11\xd5\xd2\xc7\x34\xde\x23\x18\x27\xf0\x78\x10\x08\xf2\x97\x23\x65\x8f\x93\x79\x8f\x6e\x8b\x6b\x9a\x60\xaa\x98\x1b\x16\x72\x47\xe3\xdb\x78\x99\xfb\xbe\x33\xdd\xd6\x2c\x49\xe5\x76\xc3\x7c\x18\x58\x9b\xd7\x64\x64\x5b\x91\xc7\xe4\x8a\xed\x17\xcd\xc9\x6e\xfb\xe9\x9a\x95\x4c\x64\xb8\x1c\x46\xdb\xb1\xaa\xc2\xf3\xc8\x8b\xae\xc1\xc1\x78\xe9\x9b\xc4\x5a\x6e\xc9\x5b\x98\x96\xa2\x6f\x0d\xe1\x74\xf0\x03\x7c\xb7\xfa\x2e\xa1\x00\x9b\x5a\xa5\x8e\xa6\x27\x05\x76\xb9\x55\x6c\x2d\xe9\x72\x2a\x25\x73\xfa\xc9\x47\x66\x61\x43\xfd\xf9\xa8\xe6\xb4\x3f\xa1\xcb\x1c\xb5\x51\xd2\xbb\xe5\x59\x82\x82\xe0\xe5\x18\x2a\xd9\x06\x83\xcf\x69\xfb\x49\x36\x6f\xda\x68\x36\x6c\x73\xed\x9a\x03\xc7\xda\x45\x73\x42\xfe\x3e\xde\x01\x3d\xd8\x68\xd8\x84\x7f\xdb\xb2\xc0\x89\x79\xbc\x54\x0c\xd6\x52\x96\xc8\x04\x6c\x99\x6d\x85\x0c\xf2\x28\xa9\x1a\xe6\x99\x67\x9e\x02\x77\x78\x4c\xf0\xf1\xa7\xbc\x7b\xa6\xc7\x8b\xe3\x6d\x0e\x7b\x50\x21\x61\xb2\x5e\x9e\x82\x95\x1a\x7b\xcb\x9c\x5a\xcd\x23\xf3\x7c\xd3\xf4\x7c\xc6\x96\xfc\x47\x34\xda\x63\x92\xcf\x1a\x98\xd6\xfc\x4e\x34\xab\x5d\x29\xb9\xe3\x1d\x36\x0d\xcf\x2f\xdb\xab\x5f\x94\x17\x20\x29\x8f\xa9\x03\xac\x31\x63\xb5\xc6\x16\x53\xb9\xb9\xa0\xfc\xc5\xe7\x0e\x95\xd4\xda\x03\x31\x94\x52\xde\x43\x2d\x72\x74\x1d\xa3\x8d\x94\xee\x6c\xb9\x46\x24\x1d\xb2\xb1\x6e\x1e\x77\xf7\x31\x04\xe0\xa7\x0a\x33\x5b\x12\x5b\xc3\xb2\xcb\xb9\x72\x2c\x6d\xb0\xac\x34\xdc\xd5\x4c\xe5\xc0\xee\x18\x17\x9a\xca\xb6\x82\x0b\x6e\xb0\x3c\x40\xb6\x61\x9c\x84\xec\x35\x06\x88\x86\xb4\xad\x48\x2e\x9c\x8d\x44\x13\x6f\x59\xc9\x33\x7b\xa6\xe5\x9e\xdb\x20\x5a\x40\x5d\xe5\x5d\x21\x98\xd9\x6b\x6f\x95\x72\xa5\x62\xc9\x35\x65\x5b\xda\xf9\xe2\x1a\x89\xfe\x96\xe5\xbe\xa1\xcc\x14\x36\x66\x28\x5c\x5e\x5f\x28\x29\x8c\x3e\xda\x82\xfd\xe3\x7c\x4a\x80\xac\xec\x1e\x6e\x39\x9a\x54\x66\x52\xe8\x7a\x8b\xaa\xdd\xc0\x0f\x3b\x34\xcd\x1d\x9b\x4b\x2b\x27\x33\xbe\x20\x40\xae\x40\xee\xc5\xb4\xdf\x3d\xf6\x6a\xc4\xd0\x15\xbf\xb1\x3e\x32\xee\xc7\x26\xd1\x6d\x85\x74\xbc\xfc\x02\x3f\x1c\x94\x21\xfd\xa6\x1d\x25\x5a\xc6\x55\xbd\xbe\xbf\x2f\xe1\x5e\xc8\xbd\x6f\xaf\xf9\x3b\x9a\xdd\x81\x81\xe3\x67\x3f\x5c\x82\x55\x31\xe5\x9c\xd9\x73\x37\x61\x5f\x41\xe6\x7c\x8f\x07\xdd\x65\x3a\xdd\x5e\x3e\x2d\xb3\x2f\x42\xa3\xb1\x73\x2e\x8b\xf2\xd6\x4d\x5c\xdf\x0f\x8b\x02\x33\xc3\x77\xe4\x8f\x11\xb1\x66\xcf\x3b\xcd\xea\xcc\x2b\x4e\xbd\x15\xa5\x74\xaa\x9d\xf0\x26\x6c\xfb\xc0\x35\x7c\xf8\x38\xe8\x51\xb4\x5e\x06\x7c\x62\x75\x57\x56\x4f\xc9\xf6\xc5\x91\x73\x5e\x37\x51\x78\x1e\x49\xde\x62\x86\x57\xac\xaa\x50\xe4\x8b\x76\xfc\x69\x59\x96\x5f\xdd\x98\xe6\x57\x37\x47\x60\xa5\x14\x77\x16\x2c\x5c\x53\xcc\xf7\x03\x6d\x53\x2c\xde\xf8\xb1\x31\xcd\x4f\xdc\x1c\x64\x49\x57\x84\x49\xb3\x7e\x19\x9a\xf1\x96\x55\x55\x93\x25\x4c\xd8\x6e\xcc\x00\x59\x83\xcf\xdc\xdb\x78\x68\x33\xb9\x67\xba\xe5\xfb\xa8\xc9\x3e\xe6\x96\xdd\x51\x5b\x0e\x86\x0f\x07\x5f\xc3\xe7\x41\xbe\xdd\x9e\x25\xb1\x4d\xc1\xf8\xe8\x47\xc9\x7b\x7b\xa9\x7f\x1a\x7f\xf0\xcd\x1f\xd7\x7a\x0f\x36\x45\x7a\x8b\x30\xc3\x97\x02\x85\x05\xf3\x4f\x96\x91\x21\x9b\x63\x13\x9d\xec\x7f\x01\x1f\x27\xb8\x22\x05\x51\x47\xce\x25\x6f\xbe\x11\x6f\x9b\xf4\xba\xb9\x70\xe9\x9a\x04\xf6\x4e\xb3\xdf\xe6\x88\xc8\x3a\x3f\x1e\x1c\xc1\x70\x3f\x02\x40\x44\x9f\xf9\x0f\x9f\xb5\x13\x1f\xf7\xb1\x37\x11\x50\xbc\xbd\xf1\x3c\x25\x0f\x85\xad\x8e\xba\xc7\x8c\xbb\xa3\xf0\x19\x06\xae\xa1\xa3\x61\xba\x37\x60\xe0\x0d\x7f\x1a\xeb\xee\xf1\x1d\xdb\xa5\x51\xf5\xf0\x04\xf2\x0c\x73\xeb\x11\x1d\x33\xb2\x77\xde\x9a\xf6\x1b\xb4\xe9\xaf\xcb\xa5\xad\x1d\xdc\xf1\x9d\x37\x2e\x7b\xed\x24\xcb\xb0\x32\xdd\x35\xc7\x26\x58\xf6\x4c\x36\xd8\xcd\xcb\xdc\xcf\x52\x60\xe5\x6e\x82\x5a\x42\xfe\x07\x22\xfe\x55\xeb\xc6\x90\xad\x80\x44\x34\xc7\x22\xda\x92\x48\x1a\x07\xd7\x43\xdb\x38\x5a\x96\x25\x6c\xa3\x71\xf8\x31\x63\x4b\xed\x41\x75\x0e\x76\x3d\x58\x32\x93\xc8\x3c\x52\x8b\x11\xaf\x9b\xbf\x3d\x14\xd5\x7e\xe9\xc6\x2b\x95\x2f\x03\xfb\xb9\xbc\x84\x9f\x04\x37\x9c\x95\xfc\x77\x1c\x1c\x9c\x19\x3b\x88\x31\x6a\xb1\xb1\x87\xf8\xc9\x83\xcb\xc6\x6f\xa3\x30\xe4\x7f\x7a\x84\x52\x7d\x85\x94\xe2\xbb\x66\xd8\xba\x64\xe2\x3e\xda\xd0\x83\x97\x50\x6b\x54\xb0\xa5\x35\xcf\x58\x59\xb6\x04\x6d\x90\x6a\x83\x5b\x77\x02\xc5\xe1\x2c\xa9\x04\xf3\xf0\x1e\xbc\x2f\x21\xb4\xfb\x65\x8d\xf6\xc6\xf0\x59\xdf\x5a\x6c\xf9\x6e\x99\x0a\x2e\x45\x51\x00\x79\xd1\xff\x99\x8f\x68\x91\xbe\xff\xd6\x4b\x12\x8d\x0a\xb5\x30\x58\x05\xab\xcb\xe0\x97\x3e\xe0\x1a\x2e\x3d\x7b\x97\xc5\xc8\xef\x8b\xc4\x83\x93\x3f\x75\x32\x36\xd4\x3d\x1c\x13\x38\xed\x37\x53\x1a\x69\x1e\xce\xfe\x1d\x00\x00\xff\xff\xf0\xb3\x4a\x29\x7c\x46\x00\x00"
 
 func fungibletokenswitchboardCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -155,7 +155,7 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenSwitchboard.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4b, 0x93, 0x62, 0x48, 0xef, 0x46, 0xd7, 0x0, 0xb2, 0x7d, 0x83, 0x8f, 0xa4, 0x8d, 0x48, 0x8, 0x4a, 0x8a, 0xc3, 0xc7, 0xb3, 0xb4, 0x61, 0xe1, 0x89, 0xa6, 0xf1, 0xd7, 0xcd, 0x45, 0xcc, 0x63}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3b, 0x35, 0x2a, 0x3c, 0x5e, 0xf2, 0x64, 0x7d, 0x25, 0x7c, 0x74, 0x12, 0x40, 0x42, 0x6a, 0x9c, 0x76, 0xc4, 0xda, 0x21, 0x5c, 0xc8, 0x1, 0xed, 0xe4, 0x19, 0x22, 0xc5, 0xac, 0x6f, 0xe2, 0xc6}}
 	return a, nil
 }
 
@@ -219,7 +219,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityPrivatereceiverforwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\x4b\x8f\x1b\x37\x0c\xbe\xcf\xaf\x60\xb6\x40\x3a\x13\x38\xe3\x4b\xd1\x83\xb1\xce\x26\xdd\x74\x81\x5c\x8a\x45\x92\xed\xb5\xa0\x35\xb4\xad\x46\x96\x06\x12\xc7\xee\x62\xe1\xff\x5e\xe8\x31\x6f\x3b\x48\x7c\xb1\xa4\x11\xc9\x8f\x8f\x8f\xd4\xf2\x4d\x96\xfd\x02\x0f\x8d\xde\xc9\x8d\x22\xf8\x6a\xbe\x91\x86\x47\x2b\x8f\xc8\x04\x9f\x49\x90\x3c\x92\x85\x7b\xa3\xd9\xa2\xe0\x2c\xfb\xba\x97\x0e\x44\xda\x82\x3c\xd4\x8a\x0e\xa4\xd9\x01\x82\xab\x49\x48\x54\x60\xc9\x99\xc6\x0a\x02\xd4\x15\xd8\x56\x85\xd4\x4c\x76\x8b\x82\x20\x3b\xed\x8d\x23\xa8\xa8\x36\x4e\x32\x6c\x1b\x2d\x58\x1a\x0d\xd2\x81\xd1\xea\x19\x04\x2a\x85\x1e\xcc\xe6\x19\x50\x03\x56\x07\xa9\x81\xf7\xd6\x34\xbb\x3d\x20\xd4\xcd\x46\x49\x01\x02\x6b\xdc\x48\x25\xf9\xb9\xcc\xb2\x37\xcb\x2c\x93\x87\xda\x58\xee\x5c\x89\x9e\x6c\xad\x39\xc0\xcd\xe8\xec\x26\xcb\x50\x08\x72\x2e\x47\xa5\x8a\xde\x97\xe4\x74\xeb\xf3\x83\xb1\x27\xb4\x15\x59\x78\xc9\x32\x00\x80\xe5\x12\xfe\x3c\x92\x66\xe0\x3d\xb2\x07\x4b\x07\xc9\x4c\x15\x9c\xf6\xa4\x81\xbd\x6a\x07\x68\x3b\xc7\xa8\x02\x36\xc0\x7b\x02\x46\xbb\x23\xee\x42\x11\xb4\x0d\x21\x50\x50\x9b\xec\x7f\x8c\xd2\x39\x1e\x4c\xa3\x79\x05\x4f\x0f\xf2\xbf\xdf\x7f\x5b\xf4\x5a\x9f\x9e\x3e\x7d\x5c\xc1\xd3\x27\xcd\xfe\xd8\x3b\xb8\x82\x0f\x55\x65\xc9\xb9\xbb\x05\xb0\x19\xef\x86\xb7\x8b\x6c\x66\x5a\x11\xc3\x17\xd2\x15\xd9\x2f\x6c\x2c\xee\xe8\x11\x79\xbf\x82\xc1\xe6\xb2\xcc\x24\x58\x57\x85\x7f\x40\xf6\x31\xe4\x33\x8a\xf6\xeb\xb9\xd9\xae\xac\x66\x99\x49\xd9\x09\xa5\x29\x9d\xcf\x87\xa5\x10\xf8\x61\x26\x42\x7a\x4e\x52\x29\xd8\x10\x38\xd2\x5c\x8e\x65\x09\xf8\xb9\x26\x90\xba\x92\x02\x99\x5c\x4a\x73\xc8\x34\x82\xa5\x2d\x59\xd2\x82\x7c\x4e\x71\x9c\xca\xa8\xa2\x5b\x26\xcc\x8e\xd4\xb6\x80\x23\x5a\x7f\x59\xd6\x92\x7c\x32\xef\xbb\xa2\xbd\x7d\xfd\x32\xaa\xca\xb2\x0d\xc7\xf9\xdd\xc8\xa9\xe4\xc2\x25\x43\xcb\xa5\x2f\xf6\xc8\x9d\x00\x96\xf1\x1b\x79\xb0\x7f\x63\xa3\x18\xcc\xe6\x5f\x12\x0c\xe8\x02\x89\xec\xae\xf1\x3c\x0d\x9c\xdc\xc6\x00\xba\xa1\x26\xc9\x6d\xb5\x76\x70\x7f\x75\x49\x53\xe3\xa4\xde\x85\x6f\x8e\x8d\xa5\xaa\x8f\xc6\x77\xfc\x6f\x79\x55\x78\x82\xb7\x6e\xe4\xb1\x5c\xdf\x4f\x7c\x0f\x66\xce\x05\xbc\x74\x4a\xfc\x4f\x0d\x38\xf3\x99\xb6\xb0\x06\x1f\xd3\xb2\xc3\x57\x6e\x8c\xb5\xe6\x94\x17\xaf\xb2\x99\xdc\x06\x15\xfa\x6c\xad\x03\x41\xca\x1d\xf1\x1f\xf1\x24\x2f\xe6\x97\x9b\x46\x56\xed\x4d\xbf\x1e\xdf\x18\x40\x28\xc7\x6e\xdc\xbe\xf5\xff\x13\x85\xbe\x2b\x5c\xe3\x72\x42\x35\x23\xb3\x37\xda\x52\x39\xf8\x68\x4e\x9a\xec\x5d\x89\x91\xc8\x91\xd5\x43\x1c\xf3\xef\x51\xd1\xf0\x8e\x57\x5a\x74\xd0\xce\x3d\x4a\xa9\x25\xe7\x3f\x5b\x94\xd3\xe4\xd4\x96\x26\x27\x29\x56\x93\xdc\xc0\xab\x35\x68\xa9\x56\x70\x73\x6f\x1a\x55\x81\x36\x0c\xf1\x5b\x3f\x5d\x7a\x72\x85\x76\xed\x0b\xad\xc7\x74\x33\x32\x72\x1e\xed\xc6\xf5\x00\xeb\xde\x7e\x36\x16\x38\x77\x2d\x5c\x58\x42\xa6\xbf\xe8\xd4\x77\x91\x78\xe4\x89\xa3\xe9\x34\xe8\x2e\x3d\xac\x93\xe4\x7d\x80\x55\x5b\x73\x94\x55\x60\xc0\xd0\x50\xaa\xfe\x61\xb7\xf2\x45\x3f\xb7\xf5\xf3\x61\x5f\xc1\xfb\x61\xbf\xeb\x03\xcd\x8d\xd5\x70\xfb\x36\xda\x80\x8b\x16\xba\x65\xd1\x06\xe1\x7a\x53\x8d\x43\x60\x60\x61\xea\x8c\x23\x5d\xa5\xb2\x0e\x20\x5d\xfe\x0f\xa4\xfa\xeb\x26\xce\x22\xf5\xd9\xef\x31\x7c\xc6\x3e\x14\xc2\xb3\x03\xd6\xb0\x23\xfe\x10\x37\x79\xd2\x7c\x81\xac\xf5\x78\x7a\xc0\xba\x55\x50\x76\x2f\x02\x49\x2e\xd5\xdf\xed\xeb\x6b\x53\xbd\xec\x56\xef\xf2\x59\x19\xfb\xdf\x55\xc1\xab\xe3\x6b\xa6\xa6\x80\xbb\x3b\xa8\x51\x4b\x91\xcf\xab\x7f\x34\x51\x92\x53\x6d\x67\x26\x7b\x33\xf1\x7c\xe2\xf5\xac\x11\xc5\xb8\x17\x23\x99\xcb\x1c\x08\xec\x77\x21\xdb\xb3\x71\xbd\x08\x0d\xfe\xd2\x20\x5f\xa4\x67\xd7\x74\x4c\x8f\x32\x1a\xe8\x38\x7b\x4d\x84\xbe\xdd\x9a\x9b\x5c\xbe\xfe\x8c\xf0\x52\x93\x77\xc4\x35\xa9\x1e\x0d\xac\x07\x30\x27\xa6\xda\x2a\x49\x5a\x4b\x87\x47\xca\x3b\xfe\x44\xd4\x79\x11\x5b\xed\x65\x47\x52\x4a\xce\xd9\xf9\xff\x00\x00\x00\xff\xff\x51\x2d\x0e\x15\x35\x0b\x00\x00"
+var _utilityPrivatereceiverforwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\x4b\x8f\xdb\x36\x10\xbe\xeb\x57\x4c\x5c\x20\x95\x02\x47\xbe\x14\x3d\x18\xeb\x6c\x82\xa4\x0b\xe4\x52\x2c\x92\x6c\xaf\xc5\x98\x1a\xdb\x6c\x68\x52\x20\x47\x76\x17\x0b\xff\xf7\x82\x0f\xbd\xed\xa0\xf1\xc5\xa2\xc4\x79\x7c\x33\xdf\x37\xe4\xea\x4d\x96\xfd\x02\x0f\x8d\xde\xcb\xad\x22\xf8\x66\xbe\x93\x86\x47\x2b\x4f\xc8\x04\x5f\x48\x90\x3c\x91\x85\x8f\x46\xb3\x45\xc1\x59\xf6\xed\x20\x1d\x88\xb4\x04\x79\xac\x15\x1d\x49\xb3\x03\x04\x57\x93\x90\xa8\xc0\x92\x33\x8d\x15\x04\xa8\x2b\xb0\xad\x0b\xa9\x99\xec\x0e\x05\x41\x76\x3e\x18\x47\x50\x51\x6d\x9c\x64\xd8\x35\x5a\xb0\x34\x1a\xa4\x03\xa3\xd5\x33\x08\x54\x0a\x7d\x32\xdb\x67\x40\x0d\x58\x1d\xa5\x06\x3e\x58\xd3\xec\x0f\x80\x50\x37\x5b\x25\x05\x08\xac\x71\x2b\x95\xe4\xe7\x32\xcb\xde\xac\xb2\x4c\x1e\x6b\x63\xb9\x83\x12\x91\xec\xac\x39\xc2\x62\xf4\x6e\x91\x65\x28\x04\x39\x97\xa3\x52\x45\x8f\x25\x81\x6e\x31\x3f\x18\x7b\x46\x5b\x91\x85\x97\x2c\x03\x00\x58\xad\xe0\x8f\x13\x69\x06\x3e\x20\xfb\x64\xe9\x28\x99\xa9\x82\xf3\x81\x34\xb0\x77\xed\x00\x6d\x07\x8c\x2a\x60\x03\x7c\x20\x60\xb4\x7b\xe2\xae\x14\xc1\xdb\x30\x05\x0a\x6e\x53\xfc\x4f\xd1\x3a\xc7\xa3\x69\x34\xaf\xe1\xe9\x41\xfe\xfb\xfb\x6f\xcb\xde\xeb\xd3\xd3\xe7\x4f\x6b\x78\xfa\xac\xd9\xbf\xf6\x00\xd7\xf0\xa1\xaa\x2c\x39\x77\xbf\x04\x36\xe3\xd5\x70\x77\x91\xcd\x42\x2b\x62\xf8\x4a\xba\x22\xfb\x95\x8d\xc5\x3d\x3d\x22\x1f\xd6\x30\x58\x5c\xb7\x99\x14\xeb\xa6\xf1\xff\xb0\x7d\x0c\xfd\x8c\xa6\xfd\xf3\x3c\x6c\x47\xab\x59\x67\x52\x77\x02\x35\xa5\xf3\xfd\xb0\x14\x0a\x3f\xec\x44\x68\xcf\x59\x2a\x05\x5b\x02\x47\x9a\xcb\xb1\x2d\x01\x3f\xd7\x04\x52\x57\x52\x20\x93\x4b\x6d\x0e\x9d\x46\xb0\xb4\x23\x4b\x5a\x90\xef\x29\x8e\x5b\x19\x5d\x74\x8f\x29\x67\x47\x6a\x57\xc0\x09\xad\xdf\x2c\x6b\x49\xbe\x99\x1f\x3b\xd2\xde\xbd\x7e\x19\xb1\xb2\x6c\xcb\x71\x79\x37\x02\x95\x20\x5c\x0b\xb4\x5a\x79\xb2\x47\xed\x84\x64\x19\xbf\x93\x4f\xf6\x2f\x6c\x14\x83\xd9\xfe\x43\x82\x01\x5d\x10\x91\xdd\x37\x5e\xa7\x41\x93\xbb\x58\x40\x37\xf4\x24\xb9\x65\x6b\x97\xee\xaf\x2e\x79\x6a\x9c\xd4\xfb\xf0\xcd\xb1\xb1\x54\xf5\xd5\xf8\x01\xfe\x56\x57\x85\x17\x78\x0b\x23\x8f\x74\x7d\x3f\xc1\x1e\xc2\x5c\x0a\x78\xe9\x9c\xf8\x9f\x1a\x68\xe6\x0b\xed\x60\x03\xbe\xa6\x65\x97\x5f\xb9\x35\xd6\x9a\x73\x5e\xbc\xca\x66\x76\x5b\x54\xe8\xbb\xb5\x09\x02\x29\xd3\x72\xbe\xaf\x69\x64\xd5\x6e\xf2\xcf\xe3\x1d\x83\xe8\xe5\x18\xc1\xdd\x5b\xff\x5f\x8c\xb7\xfb\x81\x70\x4b\xc6\x29\x83\x99\x8e\x7d\xd0\x56\xc5\x01\x9e\x39\x6b\xb2\xf7\x25\x46\x0d\x47\x41\x0f\xf3\x98\x7f\x8f\x8e\x86\x7b\xbc\xd3\xa2\x4b\xed\xd2\x67\x29\xb5\xe4\xfc\x67\xf9\x38\xed\x4b\x6d\x69\xf2\x26\xd5\x6a\xd2\x16\x78\xb5\x01\x2d\xd5\x1a\x16\x1f\x4d\xa3\x2a\xd0\x86\x21\x7e\xeb\x0f\x96\x5e\x57\x61\x52\x7b\x8e\xf5\x39\x2d\x46\x41\x2e\xa3\xd5\x98\x0a\xb0\xe9\xe3\x67\x63\x83\x4b\x37\xbd\x85\x25\x64\xfa\x93\xce\xfd\x00\x89\xaf\xbc\x66\x34\x9d\x07\x83\xa5\x4f\xeb\x2c\xf9\x10\xd2\xaa\xad\x39\xc9\x2a\x90\x7f\x18\x28\x11\x7f\x38\xa8\x3c\xdf\xe7\xb1\x7e\xbe\xec\x6b\x78\x3f\x1c\x75\x7d\xa1\xb9\xb1\x1a\xee\xde\xc6\x18\x70\x35\x42\xf7\x58\xb4\x45\xb8\x3d\x4f\xe3\xfc\x1f\x44\x98\x82\x71\xa4\xab\x44\xeb\x90\xa4\xcb\xff\x86\xc4\xbf\xee\xb0\x59\xa6\x11\xfb\x23\x71\xcf\xd4\x87\x42\x78\x75\xc0\x06\xf6\xc4\x1f\xe2\x22\x4f\x9e\x8b\xf9\xf6\x7a\x7c\x70\xc0\xa6\x75\x50\x76\x97\x01\x49\x2e\xf1\xef\xee\xf5\xad\x03\xbd\xec\x9e\xde\xe5\x33\x1a\xfb\xdf\x4d\xc3\x9b\x27\xd7\xcc\x4d\x01\xf7\xf7\x50\xa3\x96\x22\x9f\xb3\x7f\x74\x98\x24\x50\xed\x50\x26\xbb\x98\x20\x9f\xa0\x9e\x0d\xa2\x58\xf7\x62\x64\x73\x5d\x03\x41\xfd\x2e\x74\x7b\x76\x52\x2f\xc3\x6c\xbf\x76\x86\x2f\xd3\x8d\x6b\x7a\x42\x8f\x3a\x1a\xe4\x38\xbb\x48\x84\x91\xdd\x86\x9b\x6c\xbe\x7d\x83\xf0\x56\x93\x2b\xc4\x2d\xab\x3e\x1b\xd8\x0c\xd2\x9c\x84\x6a\x59\x92\xbc\x96\x0e\x4f\x94\x77\xfa\x89\x59\xe7\x45\x1c\xb5\xd7\x81\xa4\x96\x5c\xb2\xcb\x7f\x01\x00\x00\xff\xff\xe1\x32\xb9\x4f\x30\x0b\x00\x00"
 
 func utilityPrivatereceiverforwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -235,11 +235,11 @@ func utilityPrivatereceiverforwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/PrivateReceiverForwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7b, 0x99, 0x43, 0xb1, 0xbf, 0x57, 0xe, 0xa9, 0x81, 0xfc, 0x6c, 0x48, 0x73, 0x27, 0x16, 0xf4, 0xeb, 0xe, 0xe6, 0xa3, 0x1e, 0xa4, 0xc2, 0xf9, 0x74, 0xc1, 0x85, 0x59, 0xe, 0xb2, 0xd9, 0x78}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x75, 0xda, 0x26, 0xaa, 0x7c, 0x3c, 0x41, 0x56, 0xc3, 0xad, 0x4, 0xa6, 0x74, 0xae, 0x7a, 0x12, 0xf0, 0x33, 0x31, 0x90, 0xcf, 0x95, 0x9a, 0xfc, 0xa2, 0x5a, 0xc1, 0x15, 0xaf, 0xb4, 0x91, 0xb7}}
 	return a, nil
 }
 
-var _utilityTokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x4d\x6f\xdb\x46\x13\xbe\xf3\x57\x4c\xfc\x02\xaf\xa5\x40\x91\x2e\x45\x0f\x42\xdc\x7c\x38\x75\x9b\x4b\x51\xb8\x76\x7b\x28\x82\x66\xb5\x1c\x8a\x1b\xad\x76\x89\xdd\xa1\x18\xc1\xd0\x7f\x2f\x66\x97\xdf\x92\x5c\xa7\x40\x0b\x14\x88\x2f\x26\xa9\xdd\x99\x67\x66\x9e\x79\x86\xcb\xc5\xf3\xe7\x49\xf2\x3f\xb8\x29\xcd\x5a\xad\x34\xc2\x9d\xdd\xa0\x81\x1b\xeb\x2a\xe1\x52\x65\xd6\x70\x6d\x0d\x39\x21\x29\x49\xee\x72\xe5\x41\xd6\xb7\xe0\x73\x5b\x79\xc8\x6d\x05\xc2\x80\x90\xd2\x96\x86\x40\xda\x52\xa7\xe0\x91\xa0\x2c\x40\x80\x2c\x3d\xd9\x6d\x6b\x3c\xda\xbe\x45\x89\x6a\x87\x2e\x21\x0b\x42\x6b\x5b\x01\xe5\xb8\x05\xb2\x90\x45\xaf\x40\xbc\xce\xf3\x13\x01\xa9\xca\x32\x74\x68\xa8\xf5\x51\xe5\x68\x70\x87\x8e\xb7\xed\xc1\x45\x6b\xf5\x9e\x39\xa3\xc4\x3d\x48\x61\xa0\x28\x57\x5a\xf9\x1c\x88\x61\xd7\x01\xa1\x03\x87\xde\x96\x4e\x22\x08\x0f\xa2\x05\x03\x52\x14\x62\xa5\xb4\xa2\x3d\x7c\x2a\x3d\x81\x56\x1b\x04\x01\xbf\x8a\x52\xd3\x2c\x11\x26\x65\x77\xe0\xd1\xb0\x8d\xd4\xa2\x37\x97\x04\xb8\x43\x03\x06\x91\x21\xc3\xc6\xd8\x0a\x14\x81\xf2\x1d\xe8\x79\x92\xfc\x96\xa3\xe9\xa7\xa8\x12\x86\x42\x6c\xd2\xa1\x20\xf6\xd1\x62\x9b\xc5\x90\xa4\xd0\x3a\x78\x8b\x2b\x7e\xc2\xaa\x5d\x91\x64\xa5\x91\xa4\x2c\x5b\x4c\xa1\x70\x76\xa7\x52\x64\xa7\x95\xa2\x3c\xec\x69\x03\x72\x18\x20\x48\x04\xca\x05\x45\xcb\xec\xbb\x97\xe8\x84\x72\x54\xae\x4b\xf7\x3c\x49\x9e\x2f\x92\x44\x6d\x0b\xeb\x68\x54\xb5\xcc\xd9\x2d\x5c\x0c\x9e\x5d\x24\x89\x90\x12\xbd\x9f\x08\xad\xa7\x1d\x33\xc2\x8f\x3d\x06\x3d\x24\x09\x00\xc0\x62\x01\xdf\xef\xb8\x90\x01\x8f\xf2\x80\x5b\x45\x84\x69\x28\x68\x03\x42\x38\x84\x14\x0b\xeb\x15\xc5\xac\x72\x4c\x24\xdc\x1a\xa9\x29\xb5\x0b\xd6\xfa\x9e\x31\x98\x6d\x92\x94\xbe\x8b\xfb\x27\x62\xcb\x09\x5f\xc2\xfd\x8d\xfa\xfc\xed\x37\xb3\xce\xee\xfd\xfd\xfb\x77\x4b\xb8\x7f\x6f\x88\x1f\x73\x64\x4b\x78\x93\xa6\x0e\xbd\x7f\x35\x03\xb2\xc3\xbb\xfe\xea\x69\x72\xe4\xbc\xe5\x93\x32\x84\x2e\x13\x12\xbb\x82\xfe\xcc\x14\x94\x4d\x02\x62\x12\x16\xf0\x23\xea\x02\x1d\xb4\xa5\x64\x2e\xe4\x28\x37\x9c\x08\xca\xd1\x85\xfe\xf9\xe8\x50\xaa\x42\xa1\xa1\x8f\x3d\x6e\x0e\xec\x28\x0f\xc6\x12\x68\x41\x1c\xbe\x75\x91\x33\x1d\x8f\x49\xc5\x14\x0a\xa0\x7d\x81\xbc\x7c\x27\xb4\x4a\xe7\xad\x91\x7e\x18\x59\x69\x22\x8a\xc9\x74\x09\x6f\xad\xd5\x43\xcc\x3f\x20\x93\x36\xc7\xb6\x08\x20\xbc\x57\x6b\xd3\x78\x68\xd1\xf6\x00\xcc\x07\x16\x82\x7a\x30\x64\x64\xa7\xc2\xed\x61\x85\x52\x94\x1e\x03\x77\x6d\x49\xa0\x68\x56\xf7\x0f\x87\x55\x58\xef\x83\x22\x91\x05\x6d\xed\x06\xca\xd0\x7a\x8c\x21\xb7\x36\x0d\x0d\xe0\x11\x41\x65\x2c\x34\x67\x33\x64\x33\x6e\x3e\xfc\x5c\xa0\x0c\x8c\xe2\x4c\x58\xc7\x1e\xe6\x11\x52\x8e\xba\xf0\xb0\x2e\x59\x78\xc4\x5a\x28\xe3\x09\x94\xc9\x94\x51\x84\x7a\x0f\x32\x17\x8a\xa3\x1c\x93\xda\x3a\xb0\xa1\x58\xca\x84\xac\xc2\xc0\xf1\x56\x68\x25\x95\x2d\x3d\x6c\x94\x49\x03\x8a\xb2\x48\x05\xa1\x8f\xec\x8f\x3a\x59\xb8\xc8\x5c\xad\x3c\x29\xb3\xf6\xb1\xc9\x56\xc8\xf6\xb7\x22\xad\x3b\x97\x5b\x22\xba\xb0\x06\x3c\x59\x87\x99\xb3\x86\xfc\x20\xbd\x03\xef\xaf\x1d\x52\xe9\x82\xea\xd8\x82\x29\x26\x74\x57\xb7\x1e\x41\x32\xeb\xb8\x6b\x7d\xb9\x45\x17\x30\x72\x72\xc7\x81\x36\xec\x5c\x04\x0c\xac\x58\x4c\xd9\x20\x1c\xb6\x32\x67\xb9\xe4\x45\x86\x6f\xad\x73\xb6\x62\x42\xfd\xff\x61\xa0\x1c\xf3\x46\xa5\x0e\xaf\x82\x81\xc3\x23\x6d\xd5\x36\xd3\x12\x4e\xdb\x98\x3d\xde\x6f\x2d\xf1\xaa\x1c\x1d\x86\x10\xfb\x02\x13\x54\xa7\x52\x5a\xc3\x2a\xc8\x3b\xcd\x87\x7b\xb1\x6e\x1e\x93\x2a\xd9\xd5\x2f\xd2\x54\xf4\x45\xb6\xee\x82\x4e\xa1\xa2\x89\x71\x82\x3c\xea\x6c\x0a\x3b\xe1\xba\x96\x59\xc2\x75\x47\xdf\xbe\xf7\x1a\xe7\x29\x6b\x8b\x05\x67\xa3\xd6\x8f\xa0\xef\x62\x83\xbe\x19\x58\x60\x57\x9f\x50\x52\x18\x71\x06\x84\x5b\x97\xdb\x30\x41\x4d\xda\x48\xbf\xef\x5b\x52\xd4\x28\x6d\x8b\xe9\xd2\xd7\x96\x4a\x1f\x48\xc0\xb3\x8f\xa9\x97\x76\x21\x3f\x12\x64\xcb\x82\x3a\x82\x49\xd4\xd8\xd7\x23\x16\x04\x0f\x87\x29\x3c\xb4\xfb\xf9\x4f\xf7\xa4\xfe\x16\x33\xb8\x02\xce\xd9\xbc\x85\x36\x5f\x05\x5a\xbd\x3c\xcb\xa9\xef\x26\xd3\x67\xc9\x91\xc9\x95\xd0\x82\x0b\x75\x15\xba\x6c\xbe\x46\x7a\x1b\x9f\x4c\xa6\xc7\x8b\xcb\x52\xa5\xcd\x4a\xbe\x1e\xae\xe8\xa1\x9b\x0f\x23\x7c\xf9\x82\xff\x8f\x0c\xf2\x9c\x3b\x3f\x9d\x6a\x5c\x47\xe3\x89\xdd\x36\xc3\x29\x24\xc0\x56\x06\xdd\xab\xb9\x88\xa3\x29\xce\xa9\x3e\x92\xe3\xdf\xa3\xa1\xfe\x1a\x36\x3a\x6d\xc1\x1d\xfe\x8b\x73\x69\xc4\x96\x5a\xea\x46\x14\x09\x3b\x1e\x65\xc8\xb9\x24\x7c\x1d\x74\x5f\x07\xdd\x3f\x32\xe8\x9e\xc4\xdb\x27\x48\xdb\x69\xe2\x72\xf9\xcc\x1a\x6f\x3b\x76\x86\x7b\x3f\x54\xf5\x26\xf4\xac\x3d\x0d\xd5\xba\x5f\x9f\x24\xd2\x6e\xe9\x53\xd4\x7d\xe4\x73\xf2\x07\x18\xac\x6e\x4f\x8d\xb5\xb1\xc6\x17\x0e\x47\x4f\xf8\xaf\xbf\xfb\x29\xa9\x80\x67\x57\x60\x94\x5e\xc2\xc5\x75\xa0\x19\x77\x53\xdc\x76\xea\x18\x14\x38\xc7\xc1\x76\xb0\x2e\x06\x10\x0e\x83\xbb\x61\x65\xe0\x6a\x80\xee\x9c\x7a\xbc\x81\x35\x12\x0d\x44\x94\x99\x1d\x8b\x1d\x8b\x11\x5e\x39\x42\x7b\x7a\xf0\x65\xc1\x47\x2d\x4c\x61\xb5\x8f\xe7\xd4\xe6\xb5\x67\x36\x30\x5b\xe5\x4a\xe6\xe1\x50\xbb\xea\xbf\xbd\x74\xb3\xf9\xb2\x7e\x78\xd9\x3a\xfe\xeb\xa6\x79\xe3\x9c\xd8\x33\x23\x6e\xee\x6a\x38\xb1\x63\x47\x5e\x4e\xcb\xf2\x4e\x61\x15\x38\xb0\x46\xfa\xa5\x89\x22\xcc\xf3\x3b\x36\xc5\xad\xf0\xc0\x57\x51\xb3\x0f\xa3\x62\xab\x0c\x9e\x7d\xb1\x62\x9f\x20\x4c\x1d\xc9\xc3\xe1\x91\x3a\xf2\x38\xdf\x31\xb0\xbf\xff\x2e\x31\x36\xe7\x07\x01\xfb\x51\xa8\x57\x63\x3c\xa3\xe5\xbf\x37\x68\xf8\x1d\x84\x37\x4e\xa6\x1f\xe0\x0a\xc8\x95\x78\x52\x21\x86\xbb\xcf\x31\xef\xb6\xa6\x58\x33\xab\xa3\xf4\x07\x72\xac\xd5\xae\x66\x5c\x78\x69\x95\x12\x8b\x96\x72\xdd\x07\x83\x11\x8f\x03\xc8\x8e\x11\x71\x17\x08\xb3\x8f\x86\x7c\x1e\x3a\x2e\x7c\x2a\xa9\x81\x72\x00\x6c\x34\xc5\x8c\xf7\x3e\x4e\x1b\xe5\x8f\x59\x33\xa1\x90\x45\xbe\x3c\x3d\xeb\x4f\xe4\xbe\xa9\xe8\x39\x1a\x8e\x69\x37\x30\xc1\x9b\x47\xb5\x61\x08\x1f\xce\x33\xad\x5d\x3e\x24\x1c\xa0\xf6\x08\x0f\xcd\xaa\x4c\xf0\xed\xe1\x54\xa9\x78\xda\x4e\x4e\xbe\xf9\x3f\x4d\x22\xbf\x88\xb9\xff\xae\x3e\x1e\x8f\x8e\x43\xff\x70\xc7\x33\xea\xe8\x7b\x56\xfd\x88\x0f\x2e\x06\xab\xc1\x57\xba\x06\x56\xfb\x65\xeb\xcc\x8c\xaa\xd5\xed\x68\x36\x1d\xf9\x3a\x93\xf6\x25\xbc\xee\xdc\x76\x09\xaf\x4b\xf9\xf2\x45\xfd\x99\xee\xa4\x99\xf6\x72\x5a\x47\x7a\x48\xfe\x0c\x00\x00\xff\xff\x41\xfe\x98\xc9\x50\x15\x00\x00"
+var _utilityTokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x5d\x6f\xe3\xb6\x12\x7d\xd7\xaf\x98\xcd\x05\x6e\xec\x45\x56\x7e\xb9\xb8\x0f\xc6\xe6\xee\xe7\x4d\xbb\x2f\x45\x91\x26\xed\x43\xb1\xe8\xd2\xd4\xc8\xe2\x9a\x26\x05\x72\x64\xad\x11\xf8\xbf\x17\x43\xea\xdb\x76\x9a\x2d\xd0\x02\x05\x36\x2f\x91\x64\x72\xe6\xcc\xcc\x99\x33\xa2\x16\xcf\x9f\x27\xc9\xbf\xe0\xa6\x32\x6b\xb5\xd2\x08\x77\x76\x83\x06\x6e\xac\xab\x85\xcb\x94\x59\xc3\x3b\x6b\xc8\x09\x49\x49\x72\x57\x28\x0f\xb2\xb9\x05\x5f\xd8\xda\x43\x61\x6b\x10\x06\x84\x94\xb6\x32\x04\xd2\x56\x3a\x03\x8f\x04\x55\x09\x02\x64\xe5\xc9\x6e\x3b\xe3\xd1\xf6\x2d\x4a\x54\x3b\x74\x09\x59\x10\x5a\xdb\x1a\xa8\xc0\x2d\x90\x85\x3c\x7a\x05\xe2\x75\x9e\x9f\x08\xc8\x54\x9e\xa3\x43\x43\x9d\x8f\xba\x40\x83\x3b\x74\xbc\x6d\x0f\x2e\x5a\x6b\xf6\xa4\x8c\x12\xf7\x20\x85\x81\xb2\x5a\x69\xe5\x0b\x20\x86\xdd\x04\x84\x0e\x1c\x7a\x5b\x39\x89\x20\x3c\x88\x0e\x0c\x48\x51\x8a\x95\xd2\x8a\xf6\xf0\xb9\xf2\x04\x5a\x6d\x10\x04\xfc\x2c\x2a\x4d\x57\x89\x30\x19\xbb\x03\x8f\x86\x6d\x64\x16\xbd\xb9\x24\xc0\x1d\x1a\x30\x88\x0c\x19\x36\xc6\xd6\xa0\x08\x94\xef\x41\xa7\x49\xf2\x4b\x81\x66\x98\xa2\x5a\x18\x0a\xb1\x49\x87\x82\xd8\x47\x87\xed\x2a\x86\x24\x85\xd6\xc1\x5b\x5c\xf1\x03\xd6\xdd\x8a\x24\xaf\x8c\x24\x65\xd9\x62\x06\xa5\xb3\x3b\x95\x21\x3b\xad\x15\x15\x61\x4f\x17\x90\xc3\x00\x41\x22\x50\x21\x28\x5a\x66\xdf\x83\x44\x27\x54\xa0\x72\x7d\xba\xd3\x24\x79\xbe\x48\x12\xb5\x2d\xad\xa3\x49\xd5\x72\x67\xb7\x70\x31\x7a\x76\x91\x24\x42\x4a\xf4\x7e\x26\xb4\x9e\xf7\xcc\x08\x3f\x0e\x18\xf4\x90\x24\x00\x00\x8b\x05\xfc\x7f\xc7\x85\x0c\x78\x94\x07\xdc\x2a\x22\xcc\x42\x41\x5b\x10\xc2\x21\x64\x58\x5a\xaf\x28\x66\x95\x63\x22\xe1\xd6\x48\x6d\xa9\x5d\xb0\x36\xf4\x8c\xc1\x6c\x9b\xa4\xec\x7d\xdc\x3f\x13\x5b\x4e\xf8\x12\xee\x6f\xd4\x97\xff\xfe\xe7\xaa\xb7\x7b\x7f\xff\xe1\xfd\x12\xee\x3f\x18\xe2\xc7\x1c\xd9\x12\xde\x64\x99\x43\xef\x5f\x5d\x01\xd9\xf1\xdd\x70\xf5\x3c\x39\x72\xde\xf1\x49\x19\x42\x97\x0b\x89\x7d\x41\x7f\x64\x0a\xca\x36\x01\x31\x09\x0b\xf8\x1e\x75\x89\x0e\xba\x52\x32\x17\x0a\x94\x1b\x4e\x04\x15\xe8\x42\xff\x7c\x72\x28\x55\xa9\xd0\xd0\xa7\x01\x37\x47\x76\x94\x07\x63\x09\xb4\x20\x0e\xdf\xba\xc8\x99\x9e\xc7\xa4\x62\x0a\x05\xd0\xbe\x44\x5e\xbe\x13\x5a\x65\x69\x67\x64\x18\x46\x5e\x99\x88\x62\x36\x5f\xc2\x5b\x6b\xf5\x18\xf3\x77\xc8\xa4\x2d\xb0\x2b\x02\x08\xef\xd5\xda\xb4\x1e\x3a\xb4\x03\x00\xe9\xc8\x42\x50\x0f\x86\x8c\xec\x54\xb8\x3d\xac\x50\x8a\xca\x63\xe0\xae\xad\x08\x14\x5d\x35\xfd\xc3\x61\x95\xd6\xfb\xa0\x48\x64\x41\x5b\xbb\x81\x2a\xb4\x1e\x63\x28\xac\xcd\x42\x03\x78\x44\x50\x39\x0b\xcd\xd9\x0c\xd9\x9c\x9b\x0f\xbf\x94\x28\x03\xa3\x38\x13\xd6\xb1\x87\x34\x42\x2a\x50\x97\x1e\xd6\x15\x0b\x8f\x58\x0b\x65\x3c\x81\x32\xb9\x32\x8a\x50\xef\x41\x16\x42\x71\x94\x53\x52\x5b\x07\x36\x14\x4b\x99\x90\x55\x18\x39\xde\x0a\xad\xa4\xb2\x95\x87\x8d\x32\x59\x40\x51\x95\x99\x20\xf4\x91\xfd\x51\x27\x4b\x17\x99\xab\x95\x27\x65\xd6\x3e\x36\xd9\x0a\xd9\xfe\x56\x64\x4d\xe7\x72\x4b\x44\x17\xd6\x80\x27\xeb\x30\x77\xd6\x90\x1f\xa5\x77\xe4\xfd\xb5\x43\xaa\x5c\x50\x1d\x5b\x32\xc5\x84\xee\xeb\x36\x20\x48\x6e\x1d\x77\xad\xaf\xb6\xe8\x02\x46\x4e\xee\x34\xd0\x96\x9d\x8b\x80\x81\x15\x8b\x29\x1b\x84\xc3\xd6\xe6\x2c\x97\xbc\xc8\xf1\xad\x75\xce\xd6\x4c\xa8\x7f\x3f\x8c\x94\x23\x6d\x55\xea\xf0\x2a\x18\x38\x3c\xd2\x56\x5d\x33\x2d\xe1\xb4\x8d\xab\xc7\xfb\xad\x23\x5e\x5d\xa0\xc3\x10\xe2\x50\x60\x82\xea\xd4\x4a\x6b\x58\x05\x79\xa7\x74\xbc\x17\x9b\xe6\x31\x99\x92\x7d\xfd\x22\x4d\xc5\x50\x64\x9b\x2e\xe8\x15\x2a\x9a\x98\x26\xc8\xa3\xce\xe7\xb0\x13\xae\x6f\x99\x25\xbc\xeb\xe9\x3b\xf4\xde\xe0\x3c\x65\x6d\xb1\xe0\x6c\x34\xfa\x11\xf4\x5d\x6c\xd0\xb7\x03\x0b\xec\xea\x33\x4a\x0a\x23\xce\x80\x70\xeb\x6a\x1b\x26\xa8\xc9\x5a\xe9\xf7\x43\x4b\x8a\x5a\xa5\xed\x30\x5d\xfa\xc6\x52\xe5\x03\x09\x78\xf6\x31\xf5\xb2\x3e\xe4\x47\x82\xec\x58\xd0\x44\x30\x8b\x1a\xfb\x7a\xc2\x82\xe0\xe1\x30\x87\x87\x6e\x3f\xff\xe9\x81\xd4\xdf\x62\x0e\xd7\xc0\x39\x4b\x3b\x68\xe9\x2a\xd0\xea\xe5\x59\x4e\xfd\x6f\x36\x7f\x96\x1c\x99\x5c\x09\x2d\xb8\x50\xd7\xa1\xcb\xd2\xe6\xf6\x78\x5d\x55\xa9\xac\x5d\xc4\xd7\xe3\x15\x03\x60\xe9\x38\xb8\x97\x2f\xf8\xff\x7c\xbc\x9c\x47\xdc\xf9\xc1\xd4\x60\x38\x9a\x4c\xec\xb6\x9d\x4b\x21\x76\x5b\x1b\x74\xaf\x52\x11\xa7\x52\x1c\x51\x43\x24\xc7\xbf\x47\x43\xc3\x35\x6c\x74\xde\x81\x3b\xfc\x13\x47\xd2\x84\x28\x8d\xca\x4d\xd8\x11\x76\x3c\x4a\x8e\x73\x49\xf8\x36\xe3\xbe\xcd\xb8\xbf\x64\xc6\x3d\x89\xb7\x4f\x50\xb5\xd3\xc4\xe5\xf2\x99\x35\xde\xf6\xec\x0c\xf7\x7e\x2c\xe8\x6d\xe8\x79\x77\x10\x6a\x24\xbf\x39\x44\x64\xfd\xd2\xa7\x08\xfb\xc4\xe7\xec\x37\x30\x58\xdf\x9e\x9a\x68\x53\x79\x2f\x1d\x4e\x9e\xf0\xdf\x70\xf7\x53\x52\x01\xcf\xae\xc1\x28\xbd\x84\x8b\x77\x81\x66\xdc\x4d\x71\xdb\xa9\x13\x50\xe0\x1c\x07\xdb\xc3\xba\x18\x41\x38\x8c\xee\xc6\x95\x81\xeb\x11\xba\x73\xea\xf1\x06\xd6\x48\x34\x12\x51\x66\x76\x2c\x76\x2c\x46\x78\xdb\x08\xed\xe9\xc1\x57\x25\x9f\xb2\x30\x83\xd5\x3e\x1e\x51\xdb\x37\x9e\xab\x91\xd9\xba\x50\xb2\x08\xe7\xd9\xd5\xf0\xc5\xa5\x1f\xcb\x97\xcd\xc3\xcb\xce\xf1\x1f\x37\xcd\x1b\xe7\xc4\x9e\x19\x71\x73\xd7\xc0\x89\x1d\x3b\xf1\x72\x5a\x96\x77\x0a\xeb\xc0\x81\x35\xd2\x4f\x6d\x14\x61\x94\xdf\xb1\x29\x6e\x85\x07\xbe\x8a\x9a\x7d\x98\x14\x5b\xe5\xf0\xec\xab\x15\xfb\x04\x61\x9a\x48\x1e\x0e\x8f\xd4\x91\xc7\xf9\x8e\x81\xfd\xf9\xd7\x88\xa9\x39\x3f\x0a\xd8\x4f\x42\xbd\x9e\xe2\x99\x2c\xff\xb5\x45\x93\xae\x31\x64\x6b\x36\xff\x08\xd7\x40\xae\xc2\x93\x0a\x31\xde\x7d\x8e\x79\xb7\x0d\xc5\xda\x59\x1d\xa5\x3f\x90\x63\xad\x76\x0d\xe3\xc2\xfb\xaa\x94\x58\x76\x94\xeb\xbf\x15\x4c\x78\x1c\x40\xf6\x8c\x88\xbb\x40\x98\x7d\x34\xe4\x8b\xd0\x71\xe1\x2b\x49\x03\x94\x03\x60\xa3\x19\xe6\xbc\xf7\x71\xda\x28\x7f\xcc\x9a\x19\x85\x2c\xf2\xe5\xe9\x59\x7f\x22\xf7\x6d\x45\xcf\xd1\x70\x4a\xbb\x91\x09\xde\x3c\xa9\x0d\x43\xf8\x78\x9e\x69\xdd\xf2\x31\xe1\x00\xb5\x47\x78\x68\x57\xe5\x82\x6f\x0f\xa7\x4a\xc5\xd3\x76\x76\xf2\xa5\xff\x69\x12\xf9\x55\xcc\xfd\x7b\xf5\xf1\x78\x74\x1c\x86\xe7\x3a\x9e\x51\x47\x9f\xb2\x9a\x47\x7c\x66\x31\x58\x8f\x3e\xd0\xb5\xb0\xba\x8f\x5a\x67\x66\x54\xa3\x6e\x47\xb3\xe9\xc8\xd7\x99\xb4\x2f\xe1\x75\xef\xb6\x4f\x78\x53\xca\x97\x2f\x9a\x2f\x74\x27\xcd\x74\x97\xf3\x26\xd2\x43\xf2\x7b\x00\x00\x00\xff\xff\xe7\x75\x18\x43\x4b\x15\x00\x00"
 
 func utilityTokenforwardingCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -255,7 +255,7 @@ func utilityTokenforwardingCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/TokenForwarding.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0xeb, 0xe3, 0x5a, 0x8c, 0x3b, 0x84, 0xc9, 0x40, 0x40, 0xc1, 0xbc, 0x88, 0x53, 0xca, 0xfb, 0x18, 0xa0, 0xa3, 0xa3, 0xed, 0x23, 0x3a, 0xae, 0x82, 0xe2, 0x18, 0xbc, 0xc6, 0x4e, 0x28, 0xfa}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0x2d, 0x34, 0x5a, 0x83, 0xfc, 0x22, 0x36, 0x30, 0x46, 0x57, 0x80, 0x88, 0x71, 0x1, 0xdc, 0x2d, 0xea, 0x86, 0x95, 0x8a, 0x19, 0x7, 0x42, 0x16, 0x1a, 0x43, 0xbc, 0xc8, 0xf6, 0x6e, 0x97}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 4abdc4e9..45cc41ed 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,42 +1,42 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../transactions/burn_tokens.cdc (1.402kB)
-// ../../../transactions/create_forwarder.cdc (2.569kB)
-// ../../../transactions/generic_transfer.cdc (1.335kB)
-// ../../../transactions/metadata/setup_account_from_vault_reference.cdc (1.909kB)
-// ../../../transactions/mint_tokens.cdc (1.595kB)
-// ../../../transactions/privateForwarder/create_account_private_forwarder.cdc (1.683kB)
-// ../../../transactions/privateForwarder/create_private_forwarder.cdc (1.392kB)
-// ../../../transactions/privateForwarder/deploy_forwarder_contract.cdc (418B)
-// ../../../transactions/privateForwarder/setup_and_create_forwarder.cdc (2.215kB)
-// ../../../transactions/privateForwarder/transfer_private_many_accounts.cdc (1.241kB)
-// ../../../transactions/safe_generic_transfer.cdc (1.892kB)
-// ../../../transactions/scripts/get_balance.cdc (423B)
-// ../../../transactions/scripts/get_supply.cdc (195B)
-// ../../../transactions/scripts/get_supported_vault_types.cdc (921B)
-// ../../../transactions/scripts/metadata/get_token_metadata.cdc (538B)
-// ../../../transactions/scripts/metadata/get_vault_data.cdc (602B)
-// ../../../transactions/scripts/metadata/get_vault_display.cdc (596B)
-// ../../../transactions/scripts/metadata/get_vault_supply_view.cdc (679B)
-// ../../../transactions/scripts/switchboard/check_receiver_by_type.cdc (570B)
-// ../../../transactions/scripts/switchboard/get_vault_types.cdc (698B)
-// ../../../transactions/scripts/switchboard/get_vault_types_and_address.cdc (676B)
-// ../../../transactions/scripts/test/example_token_vault_display_strict_equal.cdc (2.014kB)
-// ../../../transactions/scripts/tokenForwarder/is_recipient_valid.cdc (444B)
-// ../../../transactions/setup_account.cdc (1.414kB)
-// ../../../transactions/switchboard/add_vault_capability.cdc (4.035kB)
-// ../../../transactions/switchboard/add_vault_wrapper_capability.cdc (1.491kB)
-// ../../../transactions/switchboard/batch_add_vault_capabilities.cdc (1.342kB)
-// ../../../transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc (1.575kB)
-// ../../../transactions/switchboard/remove_vault_capability.cdc (1.241kB)
-// ../../../transactions/switchboard/safe_transfer_tokens.cdc (1.968kB)
-// ../../../transactions/switchboard/safe_transfer_tokens_v2.cdc (1.871kB)
-// ../../../transactions/switchboard/setup_account.cdc (2.091kB)
-// ../../../transactions/switchboard/setup_royalty_account.cdc (5.883kB)
-// ../../../transactions/switchboard/setup_royalty_account_by_paths.cdc (5.958kB)
-// ../../../transactions/switchboard/transfer_tokens.cdc (1.451kB)
-// ../../../transactions/transfer_many_accounts.cdc (1.418kB)
-// ../../../transactions/transfer_tokens.cdc (1.446kB)
+// burn_tokens.cdc (1.402kB)
+// create_forwarder.cdc (2.569kB)
+// generic_transfer.cdc (1.335kB)
+// metadata/setup_account_from_vault_reference.cdc (1.909kB)
+// mint_tokens.cdc (1.595kB)
+// privateForwarder/create_account_private_forwarder.cdc (1.683kB)
+// privateForwarder/create_private_forwarder.cdc (1.392kB)
+// privateForwarder/deploy_forwarder_contract.cdc (418B)
+// privateForwarder/setup_and_create_forwarder.cdc (2.215kB)
+// privateForwarder/transfer_private_many_accounts.cdc (1.241kB)
+// safe_generic_transfer.cdc (1.892kB)
+// scripts/get_balance.cdc (418B)
+// scripts/get_supply.cdc (195B)
+// scripts/get_supported_vault_types.cdc (921B)
+// scripts/metadata/get_token_metadata.cdc (538B)
+// scripts/metadata/get_vault_data.cdc (602B)
+// scripts/metadata/get_vault_display.cdc (596B)
+// scripts/metadata/get_vault_supply_view.cdc (679B)
+// scripts/switchboard/check_receiver_by_type.cdc (570B)
+// scripts/switchboard/get_vault_types.cdc (698B)
+// scripts/switchboard/get_vault_types_and_address.cdc (676B)
+// scripts/test/example_token_vault_display_strict_equal.cdc (2.014kB)
+// scripts/tokenForwarder/is_recipient_valid.cdc (444B)
+// setup_account.cdc (1.414kB)
+// switchboard/add_vault_capability.cdc (4.035kB)
+// switchboard/add_vault_wrapper_capability.cdc (1.491kB)
+// switchboard/batch_add_vault_capabilities.cdc (1.342kB)
+// switchboard/batch_add_vault_wrapper_capabilities.cdc (1.575kB)
+// switchboard/remove_vault_capability.cdc (1.241kB)
+// switchboard/safe_transfer_tokens.cdc (1.968kB)
+// switchboard/safe_transfer_tokens_v2.cdc (1.871kB)
+// switchboard/setup_account.cdc (2.091kB)
+// switchboard/setup_royalty_account.cdc (5.883kB)
+// switchboard/setup_royalty_account_by_paths.cdc (5.958kB)
+// switchboard/transfer_tokens.cdc (1.451kB)
+// transfer_many_accounts.cdc (1.418kB)
+// transfer_tokens.cdc (1.446kB)
 
 package assets
 
@@ -326,7 +326,7 @@ func safe_generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x91\x31\x4f\xc3\x30\x10\x85\x77\xff\x8a\xa7\x0c\x90\x2c\xc9\x82\x18\x2a\x44\x55\x10\x9d\x3b\x14\xf6\x8b\x73\x69\x4f\x38\x76\x64\x9f\x45\xa5\xaa\xff\x1d\xd1\x90\xaa\xf1\x74\x7a\xfe\x7c\xef\xe9\xb9\x69\xb0\x3f\x4a\x42\xb2\x51\x46\x45\x64\xea\x12\xf4\xc8\x68\xc9\x91\xb7\x8c\x5e\xd8\x75\xa6\x69\x10\x7a\x90\x07\x59\x1b\xb2\xd7\xc7\x84\x8f\x13\x0d\xa3\xe3\x7d\xf8\x66\x8f\xb7\x89\x36\x46\x86\x31\x44\xc5\x36\xfb\x83\xb4\xf3\x6d\x1f\xc3\x80\x62\xa1\x15\x33\xb9\x58\x33\x81\xf7\x52\x61\x0c\x59\xcb\x29\x95\xe4\x5c\x85\x3e\x7b\x0c\x24\xbe\xa4\xae\x8b\x9c\xd2\x0a\x9b\x69\xa8\x56\xf8\xdc\xca\xe9\xf9\x09\x67\x03\x00\x91\x35\x47\x8f\x03\xeb\x66\x4a\x3c\xbf\xa8\x6a\x4b\x23\xb5\xe2\x44\x85\x53\xdd\x86\x18\xc3\xcf\xcb\xc3\x79\x91\xae\xfe\xa2\xec\xf4\xf2\x5a\x5e\x77\xcd\xe7\x3e\xd7\x44\xec\x72\xeb\xc4\xee\x48\x8f\x37\xb0\x5a\xd7\x07\xd6\xff\x3e\xca\xea\xa6\xaf\xd7\x18\xc9\x8b\x2d\x8b\xf7\x90\x5d\x07\x1f\x14\x93\xf9\x5c\x1e\x22\xf7\x1c\xf9\x6f\xd2\x70\xfd\x83\xab\x47\x51\x99\x8b\xf9\x0d\x00\x00\xff\xff\xbf\x5b\xb9\x6a\xa7\x01\x00\x00"
+var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x90\x3f\x4f\xc3\x30\x14\xc4\x77\x7f\x8a\x53\x06\x48\x96\x64\x41\x0c\x15\xa2\x2a\x88\xce\x1d\x0a\xfb\x8b\xf3\xd2\x3c\xe1\xd8\x91\xff\x88\x4a\x55\xbf\x3b\x22\x26\x55\xe3\xe9\x74\xfe\xf9\x7c\xba\xa6\xc1\x71\x90\x80\xa0\xbd\x4c\x11\x9e\xa9\x0b\x88\x03\xa3\x25\x43\x56\x33\x7a\x61\xd3\xa9\xa6\x81\xeb\x41\x16\xa4\xb5\x4b\x36\x3e\x06\x7c\x9c\x69\x9c\x0c\x1f\xdd\x37\x5b\xbc\x65\x5a\x29\x19\x27\xe7\x23\xf6\xc9\x9e\xa4\x5d\x6e\x7b\xef\x46\x14\x2b\xaf\x58\xc8\x55\x4c\x06\xef\xad\x42\x29\xd2\x9a\x43\x28\xc9\x98\x0a\x7d\xb2\x18\x49\x6c\x49\x5d\xe7\x39\x84\x0d\x76\x59\x54\x1b\x7c\xee\xe5\xfc\xfc\x84\x8b\x02\x00\xcf\x31\x79\x8b\x13\xc7\x5d\x6e\xbc\xbc\xa8\x6a\x4d\x13\xb5\x62\x24\x0a\x87\xba\x75\xde\xbb\x9f\x97\x87\xcb\xaa\x5d\xfd\x45\xc9\xc4\xeb\x6b\x39\x67\x2d\xe7\xbe\x57\x26\x0e\xa9\x35\xa2\x0f\x14\x87\x1b\x58\x6d\xeb\xff\xe9\x6e\xd6\x76\x8b\x89\xac\xe8\xb2\x78\x77\xc9\x74\xb0\x2e\x22\xff\xbb\xec\x06\xcf\x3d\x7b\xfe\x53\xd1\xcd\xf3\xcf\xf1\x45\xa5\xae\xea\x37\x00\x00\xff\xff\xc6\x8b\x3f\x45\xa2\x01\x00\x00"
 
 func scriptsGet_balanceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -342,7 +342,7 @@ func scriptsGet_balanceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_balance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x3d, 0x8f, 0x6d, 0xc4, 0x72, 0x2e, 0x58, 0x1d, 0x1a, 0x12, 0x9, 0x55, 0xf, 0x38, 0x14, 0x1, 0xcf, 0x52, 0x4a, 0xdb, 0x36, 0x3f, 0x5f, 0xbf, 0x72, 0x9c, 0xbc, 0xf1, 0x41, 0x77, 0x17}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0xca, 0x65, 0xa9, 0x80, 0x53, 0xaf, 0x4a, 0x37, 0x2, 0x8d, 0xb0, 0xfb, 0x24, 0x9b, 0xce, 0x49, 0x8d, 0xc2, 0xad, 0xa, 0xea, 0x83, 0x64, 0x9b, 0x5e, 0xd1, 0x95, 0x2f, 0x9c, 0x98, 0x29}}
 	return a, nil
 }
 
diff --git a/tests/example_token_tests.cdc b/tests/example_token_tests.cdc
index 72e68bf8..065eb23d 100644
--- a/tests/example_token_tests.cdc
+++ b/tests/example_token_tests.cdc
@@ -11,6 +11,7 @@ access(all) let recipient = Test.createAccount()
 access(all)
 fun setup() {
     deploy("ViewResolver", "../contracts/utility/ViewResolver.cdc")
+    deploy("Burner", "../contracts/utility/Burner.cdc")
     deploy("FungibleToken", "../contracts/FungibleToken.cdc")
     deploy("NonFungibleToken", "../contracts/utility/NonFungibleToken.cdc")
     deploy("MetadataViews", "../contracts/utility/MetadataViews.cdc")
@@ -72,18 +73,18 @@ fun testMintTokens() {
     Test.expect(txResult, Test.beSucceeded())
 
     // Test that the proper events were emitted
-    var typ = Type<ExampleToken.TokensMinted>()
-    var events = Test.eventsOfType(typ)
-    Test.assertEqual(1, events.length)
+    // var typ = Type<ExampleToken.TokensMinted>()
+    // var events = Test.eventsOfType(typ)
+    // Test.assertEqual(1, events.length)
 
-    let tokensMintedEvent = events[0] as! ExampleToken.TokensMinted
-    Test.assertEqual(250.0, tokensMintedEvent.amount)
+    // let tokensMintedEvent = events[0] as! ExampleToken.TokensMinted
+    // Test.assertEqual(250.0, tokensMintedEvent.amount)
 
-    typ = Type<FungibleToken.Deposit>()
-    events = Test.eventsOfType(typ)
+    var typ = Type<FungibleToken.Deposited>()
+    var events = Test.eventsOfType(typ)
     Test.assertEqual(1, events.length)
 
-    let tokensDepositedEvent = events[0] as! FungibleToken.Deposit
+    let tokensDepositedEvent = events[0] as! FungibleToken.Deposited
     Test.assertEqual(250.0, tokensDepositedEvent.amount)
     Test.assertEqual(recipient.address, tokensDepositedEvent.to!)
     Test.assertEqual("A.0000000000000007.ExampleToken.Vault", tokensDepositedEvent.type)
@@ -108,14 +109,14 @@ fun testTransferTokens() {
     )
     Test.expect(txResult, Test.beSucceeded())
 
-    var typ = Type<FungibleToken.Deposit>()
+    var typ = Type<FungibleToken.Deposited>()
     Test.assertEqual(2, Test.eventsOfType(typ).length)
 
-    typ = Type<FungibleToken.Withdraw>()
+    typ = Type<FungibleToken.Withdrawn>()
     let events = Test.eventsOfType(typ)
     Test.assertEqual(1, events.length)
 
-    let tokensWithdrawnEvent = events[0] as! FungibleToken.Withdraw
+    let tokensWithdrawnEvent = events[0] as! FungibleToken.Withdrawn
     Test.assertEqual(50.0, tokensWithdrawnEvent.amount)
     Test.assertEqual(recipient.address, tokensWithdrawnEvent.from!)
 
@@ -163,11 +164,11 @@ fun testBurnTokens() {
     )
     Test.expect(txResult, Test.beSucceeded())
 
-    let type = Type<FungibleToken.Burn>()
+    let type = Type<FungibleToken.Burned>()
     let events = Test.eventsOfType(type)
     Test.assertEqual(1, events.length)
 
-    let tokensBurnedEvent = events[0] as! FungibleToken.Burn
+    let tokensBurnedEvent = events[0] as! FungibleToken.Burned
     Test.assertEqual(50.0, tokensBurnedEvent.amount)
     Test.assertEqual("A.0000000000000007.ExampleToken.Vault", tokensBurnedEvent.type)
 
diff --git a/tests/metadata_views_tests.cdc b/tests/metadata_views_tests.cdc
index 6fcb3f1a..d77535ac 100644
--- a/tests/metadata_views_tests.cdc
+++ b/tests/metadata_views_tests.cdc
@@ -10,6 +10,7 @@ import "FungibleToken"
 
 access(all) fun setup() {
     deploy("ViewResolver", "../contracts/utility/ViewResolver.cdc")
+    deploy("Burner", "../contracts/utility/Burner.cdc")
     deploy("FungibleToken", "../contracts/FungibleToken.cdc")
     deploy("NonFungibleToken", "../contracts/utility/NonFungibleToken.cdc")
     deploy("MetadataViews", "../contracts/utility/MetadataViews.cdc")
diff --git a/tests/private_receiver_forwarder_tests.cdc b/tests/private_receiver_forwarder_tests.cdc
index bd16d56a..609ebe92 100644
--- a/tests/private_receiver_forwarder_tests.cdc
+++ b/tests/private_receiver_forwarder_tests.cdc
@@ -14,6 +14,7 @@ access(all) fun setup() {
 
     // helper nft contract so we can actually talk to nfts with tests
     deploy("ViewResolver", "../contracts/utility/ViewResolver.cdc")
+    deploy("Burner", "../contracts/utility/Burner.cdc")
     deploy("FungibleToken", "../contracts/FungibleToken.cdc")
     deploy("NonFungibleToken", "../contracts/utility/NonFungibleToken.cdc")
     deploy("MetadataViews", "../contracts/utility/MetadataViews.cdc")
diff --git a/tests/scripts/get_token_metadata.cdc b/tests/scripts/get_token_metadata.cdc
index a0750f94..11e4d214 100644
--- a/tests/scripts/get_token_metadata.cdc
+++ b/tests/scripts/get_token_metadata.cdc
@@ -9,7 +9,9 @@ import "ViewResolver"
 access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftView = FungibleTokenMetadataViews.getFTView(viewResolver: vaultRef)
diff --git a/tests/scripts/get_unsupported_view.cdc b/tests/scripts/get_unsupported_view.cdc
index 3f123bea..8f23de61 100644
--- a/tests/scripts/get_unsupported_view.cdc
+++ b/tests/scripts/get_unsupported_view.cdc
@@ -8,7 +8,10 @@ import "FungibleToken"
 
 access(all) fun main(address: Address, type: Type): AnyStruct? {
     let account = getAccount(address)
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
+
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
         ?? panic("Could not borrow Balance reference to the Vault")
 
     return vaultRef.resolveView(type)
diff --git a/tests/scripts/get_vault_data.cdc b/tests/scripts/get_vault_data.cdc
index b4687775..c248382f 100644
--- a/tests/scripts/get_vault_data.cdc
+++ b/tests/scripts/get_vault_data.cdc
@@ -9,21 +9,12 @@ import "MetadataViews"
 access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
 
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
-        ?? panic("Could not borrow a reference to the vault resolver")
-
-    let vaultData = FungibleTokenMetadataViews.getFTVaultData(vaultRef)
-        ?? panic("Token does not implement FTVaultData view")
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
 
     // FungibleTokenMetadataViews.FTVaultData cannot be returned as
     // a script result, because of the createEmptyVault() function.
     // So we perform the assertions here.
-    assert(ExampleToken.VaultStoragePath == vaultData.storagePath)
-    assert(ExampleToken.ReceiverPublicPath == vaultData.receiverPath)
-    assert(ExampleToken.VaultPublicPath == vaultData.metadataPath)
-    assert(/private/exampleTokenVault == vaultData.providerPath)
-    assert(Type<&{FungibleToken.Receiver}>() == vaultData.receiverLinkedType)
-    assert(Type<&ExampleToken.Vault>() == vaultData.providerLinkedType)
+    assert(Type<&ExampleToken.Vault>() == vaultData.receiverLinkedType)
     assert(Type<&ExampleToken.Vault>() == vaultData.metadataLinkedType)
     let vault <- vaultData.createEmptyVault()
     let vaultIsEmpty = vault.getBalance() == 0.0
diff --git a/tests/scripts/get_vault_display.cdc b/tests/scripts/get_vault_display.cdc
index 96330c16..5d92e5ed 100644
--- a/tests/scripts/get_vault_display.cdc
+++ b/tests/scripts/get_vault_display.cdc
@@ -9,8 +9,10 @@ import "ViewResolver"
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let account = getAccount(address)
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
-        ?? panic("Could not borrow a reference to the vault resolver")
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
+        ?? panic("Could not borrow Balance reference to the Vault")
 
     let ftDisplay = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
         ?? panic("Token does not implement FTDisplay view")
diff --git a/tests/scripts/get_views.cdc b/tests/scripts/get_views.cdc
index 95f8eef9..976f38eb 100644
--- a/tests/scripts/get_views.cdc
+++ b/tests/scripts/get_views.cdc
@@ -9,8 +9,10 @@ import "FungibleToken"
 access(all) fun main(address: Address): [Type] {
     let account = getAccount(address)
 
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
-        ?? panic("Could not borrow reference to the Vault")
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
+        ?? panic("Could not borrow Balance reference to the Vault")
 
     return vaultRef.getViews()
 }
diff --git a/tests/switchboard_tests.cdc b/tests/switchboard_tests.cdc
index 57dab81c..906b4546 100644
--- a/tests/switchboard_tests.cdc
+++ b/tests/switchboard_tests.cdc
@@ -12,6 +12,7 @@ access(all) let recipient = Test.createAccount()
 access(all)
 fun setup() {
     deploy("ViewResolver", "../contracts/utility/ViewResolver.cdc")
+    deploy("Burner", "../contracts/utility/Burner.cdc")
     deploy("FungibleToken", "../contracts/FungibleToken.cdc")
     deploy("NonFungibleToken", "../contracts/utility/NonFungibleToken.cdc")
     deploy("MetadataViews", "../contracts/utility/MetadataViews.cdc")
diff --git a/transactions/create_forwarder.cdc b/transactions/create_forwarder.cdc
index 1f19fcfd..ce305568 100644
--- a/transactions/create_forwarder.cdc
+++ b/transactions/create_forwarder.cdc
@@ -26,14 +26,17 @@ Steps to set up accounts with token forwarder:
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 import TokenForwarding from "TokenForwarding"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 transaction(receiver: Address) {
 
     prepare(acct: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
 
-        // Get the receiver capability for the account being forwarded to
-        let recipient = getAccount(receiver).capabilities.get<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath)
-            ?? panic("Could not borrow receiver capability from recipient account")
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+    
+        let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
+            ?? panic("Could not borrow Balance reference to the Vault")
 
         // Create the forwarder and save it to the account that is doing the forwarding
         let vault <- TokenForwarding.createNewForwarder(recipient: recipient)
diff --git a/transactions/mint_tokens.cdc b/transactions/mint_tokens.cdc
index b8ca4e21..102388dc 100644
--- a/transactions/mint_tokens.cdc
+++ b/transactions/mint_tokens.cdc
@@ -23,10 +23,11 @@ transaction(recipient: Address, amount: UFix64) {
         self.tokenMinter = signer.storage.borrow<&ExampleToken.Minter>(from: ExampleToken.AdminStoragePath)
             ?? panic("Signer is not the token admin")
 
-        // Get the account of the recipient and borrow a reference to their receiver
-        self.tokenReceiver = getAccount(recipient).capabilities.borrow<&{FungibleToken.Vault}>(
-                ExampleToken.VaultPublicPath
-            ) ?? panic("Unable to borrow receiver reference")
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+    
+        let vaultRef = getAccount(recipient).capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
+            ?? panic("Could not borrow Balance reference to the Vault")
     }
 
     execute {
diff --git a/transactions/privateForwarder/setup_and_create_forwarder.cdc b/transactions/privateForwarder/setup_and_create_forwarder.cdc
index 5792a822..e354e76c 100644
--- a/transactions/privateForwarder/setup_and_create_forwarder.cdc
+++ b/transactions/privateForwarder/setup_and_create_forwarder.cdc
@@ -2,6 +2,7 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 import PrivateReceiverForwarder from "PrivateReceiverForwarder"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// This transaction adds a Vault, a private receiver forwarder
 /// a balance capability, and a public capability for the receiver
@@ -9,30 +10,33 @@ import PrivateReceiverForwarder from "PrivateReceiverForwarder"
 transaction {
 
     prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+
         if signer.capabilities.get<&PrivateReceiverForwarder.Forwarder>(PrivateReceiverForwarder.PrivateReceiverPublicPath) != nil {
             // private forwarder was already set up
             return
         }
 
-        if signer.storage.check<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath) == false {
+        if signer.storage.check<&ExampleToken.Vault>(from: vaultData.storagePath) == false {
             // Create a new ExampleToken Vault and put it in storage
             signer.storage.save(
-                <-ExampleToken.createEmptyVault(),
-                to: ExampleToken.VaultStoragePath
+                <-ExampleToken.createEmptyVault(vaultType: Type<ExampleToken.Vault>()),
+                to: vaultData.storagePath
             )
         }
 
         // Create a public Vault Capability if needed
-        if signer.capabilities.borrow<&{FungibleToken.Vault}>(ExampleToken.VaultPublicPath) == nil {
+        if signer.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath) == nil {
             let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(
-                    ExampleToken.VaultStoragePath
+                    vaultData.storagePath
                 )
-            signer.capabilities.publish(vaultCap, at: ExampleToken.VaultPublicPath)
+            signer.capabilities.publish(vaultCap, at: vaultData.metadataPath)
         }
 
         // Issue a Receiver Capability targetting the ExampleToken Vault
         let receiverCapability = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(
-                ExampleToken.VaultStoragePath
+                vaultData.storagePath
             )
 
         let forwarder <- PrivateReceiverForwarder.createNewForwarder(recipient: receiverCapability)
diff --git a/transactions/privateForwarder/transfer_private_many_accounts.cdc b/transactions/privateForwarder/transfer_private_many_accounts.cdc
index 16c83ce4..220165aa 100644
--- a/transactions/privateForwarder/transfer_private_many_accounts.cdc
+++ b/transactions/privateForwarder/transfer_private_many_accounts.cdc
@@ -1,6 +1,7 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 import PrivateReceiverForwarder from "PrivateReceiverForwarder"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// This transaction transfers to many addresses through their private receivers
 
@@ -13,8 +14,11 @@ transaction(addressAmountMap: {Address: UFix64}) {
 
     prepare(signer: auth(BorrowValue) &Account) {
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: vaultData.storagePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
         self.privateForwardingSender = signer.storage.borrow<&PrivateReceiverForwarder.Sender>(from: PrivateReceiverForwarder.SenderStoragePath)
diff --git a/transactions/scripts/get_balance.cdc b/transactions/scripts/get_balance.cdc
index a4f03f2c..09bfe1e0 100644
--- a/transactions/scripts/get_balance.cdc
+++ b/transactions/scripts/get_balance.cdc
@@ -5,8 +5,10 @@ import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 
 access(all) fun main(address: Address): UFix64 {
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+
     return getAccount(address).capabilities.borrow<&{FungibleToken.Vault}>(
-            ExampleToken.VaultPublicPath
-        )?.getBalance()
+            vaultData.metadataPath
+        )?.balance
         ?? panic("Could not borrow Balance reference to the Vault")
 }
diff --git a/transactions/scripts/metadata/get_token_metadata.cdc b/transactions/scripts/metadata/get_token_metadata.cdc
index c338c957..8aac5b12 100644
--- a/transactions/scripts/metadata/get_token_metadata.cdc
+++ b/transactions/scripts/metadata/get_token_metadata.cdc
@@ -5,7 +5,9 @@ import ViewResolver from "ViewResolver"
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTView {
     let account = getAccount(address)
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftView = FungibleTokenMetadataViews.getFTView(viewResolver: vaultRef)
diff --git a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
index ab393ebb..e35425da 100644
--- a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
+++ b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
@@ -26,7 +26,9 @@ access(all) fun main(address: Address): Bool {
             }
         )
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let actual = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/transactions/switchboard/add_vault_capability.cdc b/transactions/switchboard/add_vault_capability.cdc
index f2d04352..175bb17b 100644
--- a/transactions/switchboard/add_vault_capability.cdc
+++ b/transactions/switchboard/add_vault_capability.cdc
@@ -12,21 +12,23 @@ transaction {
 
     prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+
         /* ExampleToken Vault configuration */
         //
         // Configure an ExampleToken Vault if needed
-        if signer.storage.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath) == nil {
+        if signer.storage.borrow<&ExampleToken.Vault>(from: vaultData.storagePath) == nil {
             // Create a new ExampleToken Vault and save it in storage
-            signer.storage.save(<-ExampleToken.createEmptyVault(), to: ExampleToken.VaultStoragePath)
+            signer.storage.save(<-ExampleToken.createEmptyVault(), to: vaultData.storagePath)
             // Clear existing Capabilities at canonical paths
-            signer.capabilities.unpublish(ExampleToken.VaultPublicPath)
-            signer.capabilities.unpublish(ExampleToken.ReceiverPublicPath)
+            signer.capabilities.unpublish(vaultData.metadataPath)
+            signer.capabilities.unpublish(vaultData.receiverPath)
             // Issue Vault & Receiver Capabilities
-            let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(ExampleToken.VaultStoragePath)
-            let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ExampleToken.VaultStoragePath)
+            let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(vaultData.storagePath)
+            let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(vaultData.storagePath)
             // Publish Capabilities
-            signer.capabilities.publish(vaultCap, at: ExampleToken.VaultPublicPath)
-            signer.capabilities.publish(receiverCap, at: ExampleToken.ReceiverPublicPath)
+            signer.capabilities.publish(vaultCap, at: vaultData.metadataPath)
+            signer.capabilities.publish(receiverCap, at: vaultData.receiverPath)
         }
         
         // Get the example token vault capability from the signer's account

From 2e80d9b4bd01eea00c5a3ee8a2878435d4f798c1 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Thu, 25 Jan 2024 14:55:19 -0600
Subject: [PATCH 086/115] generate assets

---
 contracts/utility/NonFungibleToken.cdc     |  6 +--
 lib/go/contracts/internal/assets/assets.go | 12 +++---
 lib/go/templates/internal/assets/assets.go | 48 +++++++++++-----------
 3 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index c0b5a14f..6466d8c7 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -62,10 +62,10 @@ access(all) contract interface NonFungibleToken: ViewResolver {
     /// The event makes it so that third-party indexers can monitor the events
     /// and query the updated metadata from the owners' collections.
     ///
-    access(all) event Updated(id: UInt64, uuid: UInt64, owner: Address?, type: String)
-    access(all) view fun emitNFTUpdated(_ nftRef: auth(Update | Owner) &{NonFungibleToken.NFT})
+    access(all) event Updated(type: String, id: UInt64, uuid: UInt64, owner: Address?)
+    access(contract) view fun emitNFTUpdated(_ nftRef: auth(Update | Owner) &{NonFungibleToken.NFT})
     {
-        emit Updated(id: nftRef.id, uuid: nftRef.uuid, owner: nftRef.owner?.address, type: nftRef.getType().identifier)
+        emit Updated(type: nftRef.getType().identifier, id: nftRef.id, uuid: nftRef.uuid, owner: nftRef.owner?.address)
     }
 
 
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index a4a96901..19e54d50 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,12 +1,12 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (10.314kB)
+// ../../../contracts/ExampleToken.cdc (10.318kB)
 // ../../../contracts/FungibleToken.cdc (9.933kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.044kB)
 // ../../../contracts/utility/Burner.cdc (1.882kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.61kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (10.391kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (10.396kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.864kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.451kB)
 // ../../../contracts/utility/ViewResolver.cdc (2.718kB)
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x6f\xdb\x46\x12\x7f\xf7\xa7\x98\xea\x80\x9e\x84\xda\xb2\xd3\x26\xb9\x56\xb0\xe3\x3a\x69\x8c\x3b\xa0\x01\x82\xc4\x6d\x1f\x82\x20\x5e\x91\x23\x69\xcf\xe4\x2e\xb1\xbb\x94\xac\x1a\xfe\xee\x87\xd9\x3f\x24\x97\x7f\x64\xd9\xc9\xd3\xf1\xc1\x16\xc9\x9d\xd9\xd9\x99\xdf\xcc\xce\xcc\x92\xe7\x85\x54\x06\x2e\x4b\xb1\xe4\xf3\x0c\xaf\xe4\x0d\x0a\x58\x28\x99\xc3\x28\x7a\x36\x3a\xf0\x23\xdf\xa1\x61\x29\x33\xec\x4f\x8e\x1b\xed\x47\x46\xcf\xaa\x91\x11\x7d\x1f\xd9\xf0\x80\x8a\x07\xdd\x7d\x40\x2d\xb3\x35\x2a\x4f\xd5\x7c\x34\x3a\x38\x60\x49\x82\x5a\x8f\x59\x96\x4d\x20\x91\xc2\x28\x96\x18\x78\x7b\xcb\xf2\xc2\x33\x9e\xb5\x16\x77\x77\x70\x00\x00\x70\x7c\x7c\x0c\x57\x2b\x04\x5c\xa3\x30\x60\x56\xcc\x00\xd7\x80\x39\x37\x06\x53\xd8\xac\x50\x80\xc0\x0d\x18\xa2\xd1\xc0\x14\x42\xce\x85\xc1\xd4\x12\x37\x27\x75\x0c\x2c\x6f\xfd\xce\x0e\x19\xb3\x5c\x96\xc2\xcc\xe0\x8f\x4b\x7e\xfb\xf2\xf9\x21\x98\x6d\x81\x33\xf8\x68\x14\x17\xcb\x49\x63\x7a\x69\x58\x06\xba\x2c\x8a\x6c\x0b\x72\x11\x49\xad\x81\x0b\xc0\x5b\xae\x0d\x8a\x04\x3b\x93\xae\x99\x02\x43\xe4\x1f\x2d\x75\x98\xaa\xe6\x7d\x91\xe6\x5c\xc0\x7b\x66\x56\x1d\xda\x0c\x8d\x7b\xfd\xd1\x48\xc5\x96\x48\x83\x48\xba\xea\xe6\xa0\x3b\x1d\xc7\x0d\x2c\x4a\x01\x4b\x34\x6f\xbc\x92\xad\xa1\xc6\x0a\xb5\x2c\x55\x82\x57\x76\x89\xf4\xf7\x7c\x32\x83\x4f\xf4\xe3\x33\xdc\x59\x46\x74\xd1\x9c\x6b\x56\x66\xe6\x03\x2e\xe0\x0c\x34\x66\x8b\x29\x4b\x12\x52\xd3\x34\x61\x05\x9b\xf3\x8c\x1b\x8e\x7a\x3a\x97\x4a\xc9\xcd\xe9\xf7\x4d\x5d\x4c\xff\x24\xca\x57\xe3\xe3\xa2\x9c\x67\x3c\x39\xc6\xc6\x3b\xfb\x6a\x52\xcd\x43\xd7\xf9\x39\x14\x4c\xf0\x64\x3c\x7a\x23\xcb\x2c\x05\x21\x0d\x38\xb6\xc0\x40\xe1\x02\x15\xa9\x14\x8c\x04\xb3\x42\x27\x15\xa8\x00\xa8\x9a\x55\xf5\x43\xa1\x29\x95\xa8\xc4\x9f\x2e\xd1\xaf\xdd\x8d\xbd\xef\xaa\x8b\x34\xe5\x39\x36\xb5\xd5\xa7\xac\x43\xab\xdb\xfa\xc1\x64\x06\x17\x62\xfb\xd1\xa8\x32\x31\xe7\xff\xa7\x0a\xf4\x63\xad\x4a\x68\xf5\x91\x1e\x09\xbc\x56\xa6\x70\x57\x3d\x7d\xcb\x92\x15\x94\x1a\x15\x68\x23\x15\x6a\x60\x02\xb8\xd0\x86\x91\x30\x72\x01\x52\x64\x5b\x2b\x91\x25\x27\xff\x31\x2b\xe4\x6e\x34\x5b\x62\xe4\xf5\x8b\x52\x24\x86\x4b\xe7\x66\x35\x0d\x13\x29\x2c\xe5\x1a\x95\xc0\x14\xe6\x8e\x5b\xa1\xd0\x3e\x2f\xa4\x36\x14\x61\x52\x6e\x09\x2b\x76\x5c\xb4\x02\x8c\x8d\x1d\x66\x85\x5b\x1b\x35\x12\x96\x65\x98\x4e\xa3\xd9\x93\x15\x26\x37\x1a\x56\xac\x28\x50\x00\x33\xa0\x4a\x61\x78\x8e\x96\x14\x29\xd4\xb1\x4a\x42\x8a\x4a\x2d\x1e\x15\xaf\x0f\x1e\x4f\x34\x42\xb8\xf5\xcf\x11\x12\x85\x8c\x62\x98\x5f\x19\x05\x45\xbc\x35\xa4\xa1\x70\x6b\x63\xa4\x0d\x79\x24\x66\xc5\x8e\xc4\x4d\x71\xc1\x85\x25\x3e\x04\x6d\x0d\xac\x90\x44\x10\x12\x36\x6c\x0b\x0b\x49\xb2\xe5\x2c\xe3\x09\x97\xa5\x76\xe6\x30\xd2\xcf\xe9\xb4\x58\xab\x46\x96\x7e\x5a\x2e\x80\x71\x35\x85\x0b\xd0\x05\x26\x9c\x65\x60\x23\xa5\x82\xe0\x11\x20\x10\x53\x4d\x9c\xe6\xb5\x0c\x46\xda\x98\x5b\xb1\xab\xe3\x71\xac\x8a\xa6\xeb\x55\x0c\xad\x28\xad\xd8\xef\xfc\x20\xec\x00\x4d\x8b\xd8\x58\x0a\x73\x96\x05\x30\x99\x15\xd7\x0e\xb1\xd5\xd8\x76\xfc\xf5\xa3\xe3\xd8\xdb\x37\x50\x0f\xc5\xd9\x21\x02\xe7\xa6\x6e\xfc\xfb\xea\xf7\xe0\x70\x85\x09\xf2\x35\xaa\x0e\x41\x63\x99\xc0\x05\x37\x9c\x65\xfc\x6f\xb4\x30\x08\x4b\x65\xa6\x56\x99\x35\x22\x41\x8e\xb0\x58\xd1\x12\xe1\xb8\xb5\xd6\x49\x23\x32\xd1\x65\xc3\x51\x60\x79\x16\x98\x47\x43\x28\x80\xf1\x14\x85\xe1\x0b\x8e\x0a\xce\x60\xd4\x89\x42\xa3\x2e\xcf\x86\xea\xe0\xac\xa9\xbb\x71\xcd\x6b\xd6\xe0\x3b\xf9\xae\xcb\xa3\xd6\x26\x9c\x35\xb4\xf3\x08\x0e\x4d\x05\x0f\xf3\x88\x16\xf4\xc1\x93\x8c\x1a\xfc\xee\x63\xdc\xbd\xb1\x5e\xed\xc2\x85\xf5\x77\x0b\x54\x87\x70\x72\xb9\x79\x69\xc3\xd0\x9a\x33\x6b\xb1\xeb\xd7\x74\xaf\xa6\xf4\x78\x3c\xb9\x86\x1c\xcd\x4a\xa6\x6d\x50\x04\xf7\x76\x9b\x10\x8d\xa5\x69\xe6\x2c\xb9\x19\xb7\x8d\xc6\x17\xb1\xdd\x5e\xc1\xc9\xf4\xa4\x35\x86\xae\x68\x27\x69\x24\x1d\x70\x36\xfc\xea\x28\x62\x1d\xb1\xbc\xdf\x85\x9c\x93\xe9\x49\x9f\xba\x86\x72\x11\xbf\x0f\xf7\x24\x1c\x50\xef\x3b\x9f\x3a\x2b\xa2\xc1\xa7\xc3\xd9\xe7\xf4\xf2\x8a\xfe\xbf\x1a\x4f\x0e\x9f\x40\xfa\x1b\xd7\x45\xc6\xb6\x4f\xa4\xb6\x8e\xf0\x1b\x33\xec\x49\xf4\x57\xb5\x09\x5e\x8d\xe3\x4d\xfd\xf3\x43\x7a\x6d\x24\x2d\x76\x67\xfe\x62\x35\xbd\x3b\x2b\xb1\x16\xdc\x70\x93\xac\x9c\x59\xba\xe0\x49\x98\xc6\xfd\xf5\x3d\xeb\xd0\x37\xec\xf8\x20\x83\x71\x2f\x35\x5d\x0b\xe3\xad\x32\x0b\x0e\x5d\xaf\xf3\x31\x16\x9d\x00\xd3\xdf\xed\x16\xc4\x0f\x3e\xef\x1a\xaf\x16\xa6\x32\xf2\x93\xc4\x69\x42\x64\x0f\x81\xaa\xe1\xe7\xbd\x12\x4d\x9e\x6a\xb2\x5a\x2b\xfd\x56\xa3\x80\x9f\x63\xca\x19\x9c\xc5\x45\xe3\xf4\x1d\x3d\x1d\x36\x96\xd5\x11\xcf\x70\xd6\x22\xfb\xf7\xd5\xd5\xfb\x4b\x9e\xe1\x6e\xca\x52\x65\x33\x18\xad\x8c\x29\xf4\xec\xf8\x98\x69\x8d\x46\x4f\x37\x38\xd7\xdc\xe0\x11\xb1\xd5\xd3\x44\xe6\xc7\x2f\x16\x2f\x7f\xfc\xe5\x79\x72\x92\xfc\x8b\xfd\x9c\xa4\xe9\xcb\xe7\x3f\xcd\x9f\x25\x3f\xff\x78\xd2\x7a\xc1\x5e\xbc\x48\xe6\xcf\x92\x5f\x7e\x7a\xf9\xe5\x32\x93\x9b\x2f\x7f\x49\x95\xe6\x4c\xdd\x4c\xf5\x7a\x39\x1a\x94\xa3\xc7\x73\xc3\x65\x35\xe2\xd2\xfd\x11\xcf\xd9\x12\x8f\xf5\x7a\xf9\xc3\x6d\x9e\xf5\x73\xeb\x5a\x27\x52\xad\xee\xd7\xad\x1e\x7f\xb2\xaf\x3f\xf7\x93\xef\xe3\x4f\xde\xba\xc3\xba\x16\x2c\xa7\x35\xf8\x1d\xa0\x62\xe6\x0a\xe1\xd1\xb0\x02\xf4\x36\x9f\x4b\x32\xd1\xdb\xcb\xab\x1d\xc3\x52\xd4\x89\xe2\x05\xa5\x23\x33\x18\x5d\x51\x36\xd6\xdd\x21\x4b\x8d\x29\x30\x5b\x08\xf8\xbd\x97\x72\xc6\x15\x66\x05\x6c\x65\x09\x29\xae\x31\x93\xf6\xb7\x02\x41\x39\xf0\xe5\x15\xfc\x43\x0a\xb2\xe4\x74\xc7\xdc\x78\x6b\x50\x09\x96\xfd\xf1\xe1\xf7\x36\x06\xdf\xd6\xaf\xc6\x15\xc8\xfc\xdc\x47\x0b\x33\x95\x62\x41\xcc\xa5\x5a\x8e\x76\x80\x20\x93\x4b\xa9\x67\xde\x84\x3b\x54\x25\x29\x55\xd6\xb3\x9e\xb0\xda\xbc\x46\x66\xc3\x8d\x41\x35\xda\x4b\x58\x3f\xd8\x3a\x01\xc9\xfa\x65\x9e\xc9\xe4\x26\x59\x31\x2e\x46\xfd\x70\x81\xce\xa6\x1d\xae\x27\xc7\x8e\x66\x08\x1b\x8e\x1e\x8d\x7a\x37\x4a\x34\x42\xdd\xeb\x93\xc3\x9d\x25\xef\x42\xc9\x7c\xd6\xc9\x25\x87\x17\xfa\xb8\xda\xd7\x16\xa2\xa9\x13\x74\x40\x7b\x7b\x6d\x5e\x41\x1d\xc3\xee\x16\xd5\x10\xed\xe5\x0c\x43\x28\x2e\x0d\x3a\xc9\xec\xae\x38\xe5\x44\x6c\x10\xd6\x79\xf4\xc3\xf3\xfd\xce\xc5\x0d\xa6\x75\x5b\xe3\xf4\xfb\xbb\xb8\x12\x0b\xf9\xf1\x7d\x6f\x9e\xd3\x96\xa2\xcb\xae\xcf\xd6\x3b\x18\xb9\xfa\xf4\x6d\x5e\x98\xad\x1d\x7c\xe9\xab\xeb\x19\x8c\x17\xa5\xa0\x0c\xf2\xd7\xbb\x9e\x52\xf1\xfe\x01\xd7\xf3\xc6\x3d\x3d\xaa\x7a\x1b\xed\x89\xc6\x3b\x7c\xaa\xff\xd5\x13\x9d\x2a\x4e\xfd\x9e\x9a\x48\x35\xb8\x0c\x63\x31\x6a\x3c\x0e\x95\x00\x7b\xac\xed\xbe\x2f\x5b\x17\x3c\x1b\x2a\x98\x96\x68\x88\xb7\x54\x06\x53\xab\x5c\xd2\x89\x06\x69\x77\x09\x96\x65\x5b\xcf\x43\x03\x83\x8c\x6b\xdb\x7b\x70\xdd\x29\x63\x07\xfa\x8e\x07\xd7\x15\x4c\x6d\x02\x5c\xf8\x8e\x05\xec\x28\x34\x7a\xe6\x25\xd0\xdc\x39\x48\xbe\x96\x32\x6b\x43\x85\x02\x98\x0e\x54\x96\xa0\x35\xfc\x0c\xee\x5a\xa5\x50\x34\xfa\x93\xf5\xb9\x25\xda\xc9\xc6\x93\xcf\x70\x06\x46\x95\xd8\xa7\xb2\x98\x70\xef\xfa\x89\xeb\xee\xaa\xc6\xa6\xd9\x89\x24\x41\xfb\x6b\xaa\x20\x5c\xaf\x5e\x3e\x19\x5b\x8c\x9d\x9f\xc3\x82\x65\x1a\x87\xcc\x79\xa1\x6f\x34\x15\xa1\x14\x48\x5d\xc7\xdc\xb6\xb1\xe6\x08\x1b\x6e\x56\xa9\x62\x1b\x7f\x12\xf1\x50\x2f\xa6\x5e\xd0\xc5\x9a\xf1\x8c\x59\x68\xff\xe5\x79\xb4\x9a\xf1\x3b\x57\xe5\xa5\x38\x3d\xeb\xaf\x5e\x5b\xf2\x07\x29\x9b\x0f\xa3\x01\x21\xc8\x78\xe0\xb1\x1b\xd7\xb3\xf4\xb3\xb8\xbc\x85\xa9\x65\x99\xa3\x30\x11\x21\x13\x69\xc5\xdd\xc3\xd6\x13\x79\x7d\xf8\xf6\xd6\x74\x70\xea\xff\x18\x1f\xf2\xc8\x17\x6c\xdf\x0c\xf3\x42\x2a\xa6\xb6\xbe\xd3\x19\x0e\x3c\x6c\x0a\x45\x49\x93\xcc\xd2\x88\x83\x59\x61\x38\xfc\x70\x02\x28\x84\x39\x72\xb1\x04\xa3\x98\xd0\x0b\x54\x0a\xd3\x29\x4d\x14\x9c\x8e\x28\x04\x6e\x1a\xae\x4f\x7c\x42\x37\xd2\x4f\x2b\xa3\x9e\xa4\xe5\xec\xba\x9b\xa0\x25\xf0\x0a\x01\x29\x16\x92\x32\xf6\x58\x26\xcc\x34\x6e\x56\xa8\xb0\x7f\xe1\x1e\x14\x71\x1c\x0f\x38\x70\x05\xee\x66\x10\x15\xbf\x76\x77\x94\xdd\x4d\xae\xe8\xf6\xc8\x1b\xa8\x0f\x55\xa7\x47\xcd\xee\x68\xdd\x4a\x73\x14\x93\x21\x78\x79\x15\x3c\x0e\x5d\x5e\xcd\x72\xfe\x5f\x4c\xda\x10\xb3\xb0\x62\x69\xaa\x23\x36\xdc\xe8\xaa\x19\xe8\xad\x13\xb5\x41\x11\xe4\x46\xa0\xd2\x7b\x20\x8e\x6b\x60\x59\x26\x37\x0e\x51\x29\x6a\xa3\xa4\xeb\xa1\x6b\x9a\xde\x89\x36\xc7\x84\x95\x1a\x6b\x10\xc7\x3e\x45\x22\x37\xc0\x4a\xb0\x44\x15\x24\xf1\xcd\x5f\xdb\xb1\xb5\xb4\xff\xac\x65\x5f\xb1\x78\x5d\x73\x44\x41\x38\xd3\x65\x4e\x45\x82\x48\x5d\x2f\x7b\x21\x6d\x4f\xde\x83\xcc\x4a\x18\x3a\xeb\x03\x70\xaa\x9a\x23\xde\x20\x3e\xa5\xec\xcf\x17\xda\x3d\xb6\x2a\x8d\x85\xd3\x23\xe7\xbc\x54\xaf\xf7\x60\x6d\x6f\xa4\xfd\xe0\xf8\xf5\xb6\xd6\xa2\x37\xad\x6e\x1a\xb8\xa2\xca\x9a\x24\x8e\xa5\x2d\xdc\xb5\x33\x98\x3d\x01\x18\x87\x1b\x67\x6b\xf2\x36\x60\x4d\x3c\xfd\x8d\x4a\x76\x42\x5d\x08\x20\xbc\x8e\x0f\x2c\xcb\x28\xd4\xf8\x38\x31\x85\x0b\x77\xd2\x90\x97\xda\xc5\x0b\xb7\x27\x84\x33\x92\x0e\x47\x9b\x97\x5b\x4e\x8e\x77\x15\x7f\xda\x87\x42\xf4\x40\xaa\xd4\x1d\x62\x58\xf0\xba\xf7\x31\x47\x57\x6f\xf8\xd3\x09\xe6\x4a\xd0\x90\x43\x04\x58\xe8\xea\xd4\xc0\x95\xa7\xb4\x07\xee\x87\xab\x6e\xca\xb8\x4f\x34\x7a\x20\xb8\x9c\x4c\x4f\x9a\x91\x05\xe2\x03\x36\x77\xfa\x72\x00\x03\xe7\x49\x21\x7e\xb8\xc8\x62\x97\xc3\xec\x79\xb2\xd7\x84\x3b\x6f\x22\xdf\x0c\x67\x34\x8f\x3b\x9b\xf1\x87\x3f\x77\x91\x96\x89\x8d\x3b\xfa\xde\x13\x71\x44\xa0\x1b\x13\x1f\xda\xe0\x46\xf6\xcb\x03\x8e\x4c\xe3\x84\xfd\x70\x10\x77\x4d\x8a\x36\xf2\xf6\xb2\x60\x2d\xfa\x53\xf6\x95\xa7\xf4\xd7\x7f\xe8\xdb\x6f\x30\xe7\x03\x1f\x22\xb8\xff\xe1\x43\x84\x38\xb3\x9c\x36\xce\x3e\xbe\x6e\xfb\x6a\x81\xac\x37\x90\x34\xe1\xf6\x55\x01\xe4\xdb\x06\x8f\x6f\x1b\x38\xbe\x41\xd0\xe8\xf3\x9f\xde\x60\xb1\x0e\x89\x77\x95\xb5\xef\x46\x5c\x65\x55\x78\x20\x70\x78\x4b\xda\xe3\xbf\xe6\xb6\x66\xd1\x13\xc3\xf4\xd9\xc9\x09\x6d\x35\xf1\x90\xf6\x27\x26\x70\x06\xc7\x5e\x79\xd1\x07\x08\xee\x4b\x95\xe8\xac\xf2\x8d\x93\xac\x3e\x97\xb7\x38\x68\x3b\xb4\xd5\x9d\xff\x3c\x87\x4c\xc7\xd6\x48\x28\xe0\x22\x3a\xf1\x77\x2c\xab\x9f\xd1\x86\xdc\xaf\x81\xf6\x02\x27\x7d\xb2\x31\x7f\x48\x0b\xd5\xc7\x17\xdb\x56\x53\xa8\x91\x67\xe3\x6d\x21\x35\x36\xe3\x9a\x3b\xd1\xf3\x28\x08\x67\x79\xee\xf3\x03\x34\x17\xb6\x28\xf5\xe5\x5c\x78\x67\x56\x4a\x96\x4b\xa7\x85\xeb\xd0\x3d\xb9\x06\x1b\x49\x17\x2c\x69\x2e\x36\x64\x3b\x70\xed\xd7\x74\xdd\xcb\xe4\x75\x78\xd9\xc7\x23\x52\x58\xd3\x5c\x6f\x58\xb1\xf3\xfb\x93\xd0\x94\xe3\x5a\x97\x78\xfa\xbd\x6f\xcd\xb8\xcc\xa4\xb7\x03\x37\xcc\xca\x6a\x58\xaf\xc6\xad\xe9\x0f\x81\x99\x99\xcf\x75\xea\x9e\xd4\x24\x92\x38\x14\xf8\x8f\x94\x76\xb8\x49\xf5\x55\x0b\x68\x48\xd3\x14\xbe\xd9\x89\x9b\x1c\xf4\xf3\x0b\x02\x12\xba\xc7\xbe\xcf\x74\x08\x46\xce\xfa\x9d\xc9\x7f\xcd\x13\xe9\xc2\x6d\xdd\x35\xdc\xdd\xee\x3b\x1e\x58\x40\x6b\x42\x4b\xec\x26\xec\xf5\xea\x10\x2b\xee\x0f\xfe\x17\x00\x00\xff\xff\xa0\x7a\x39\x49\x4a\x28\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x6f\xdc\x36\x12\x7f\xf7\xa7\x98\xee\x01\xbd\x5d\xd4\x5e\x3b\x6d\x92\x6b\x17\x76\x5c\x27\x8d\x71\x07\x34\x40\x90\xb8\xed\x43\x10\xc4\x5c\x69\xb4\xe2\x59\x22\x05\x92\xda\xf5\xd6\xf0\x77\x3f\xf0\x9f\x44\xea\xcf\x7a\xed\xe4\xe9\xf4\x60\xaf\x24\xce\x70\x38\xf3\x9b\xe1\xcc\x50\xb4\xac\xb8\x50\x70\x59\xb3\x15\x5d\x16\x78\xc5\x6f\x90\x41\x26\x78\x09\x93\xe8\xd9\xe4\xc0\x8d\x7c\x87\x8a\xa4\x44\x91\x3f\x29\x6e\xa4\x1b\x19\x3d\x6b\x46\x46\xf4\x43\x64\xe3\x03\x1a\x1e\xfa\xee\x03\x4a\x5e\xac\x51\x38\xaa\xf0\xd1\xe4\xe0\x80\x24\x09\x4a\x39\x25\x45\x31\x83\x84\x33\x25\x48\xa2\xe0\xed\x2d\x29\x2b\xc7\x78\xd1\x59\xdc\xdd\xc1\x01\x00\xc0\xf1\xf1\x31\x5c\xe5\x08\xb8\x46\xa6\x40\xe5\x44\x01\x95\x80\x25\x55\x0a\x53\xd8\xe4\xc8\x80\xe1\x06\x94\xa6\x91\x40\x04\x42\x49\x99\xc2\xd4\x10\x87\x93\x5a\x06\x86\xb7\x7c\x67\x86\x4c\x49\xc9\x6b\xa6\x16\xf0\xc7\x25\xbd\x7d\xf9\xfc\x10\xd4\xb6\xc2\x05\x7c\x54\x82\xb2\xd5\x2c\x98\x9e\x2b\x52\x80\xac\xab\xaa\xd8\x02\xcf\x22\xa9\x25\x50\x06\x78\x4b\xa5\x42\x96\x60\x6f\xd2\x35\x11\xa0\x34\xf9\x47\x43\xed\xa7\x6a\x79\x5f\xa4\x25\x65\xf0\x9e\xa8\xbc\x47\x5b\xa0\xb2\xaf\x3f\x2a\x2e\xc8\x0a\xf5\x20\x2d\x5d\x73\x73\xd0\x9f\x8e\xe2\x06\xb2\x9a\xc1\x0a\xd5\x1b\xa7\x64\x63\xa8\xa9\x40\xc9\x6b\x91\xe0\x95\x59\xa2\xfe\x7b\x3e\x5b\xc0\x27\xfd\xe3\x33\xdc\x19\x46\xfa\xd2\x73\xae\x49\x5d\xa8\x0f\x98\xc1\x19\x48\x2c\xb2\x39\x49\x12\xad\xa6\x79\x42\x2a\xb2\xa4\x05\x55\x14\xe5\x7c\xc9\x85\xe0\x9b\xd3\xef\x43\x5d\xcc\xff\xd4\x94\xaf\xa6\xc7\x55\xbd\x2c\x68\x72\x8c\xc1\x3b\xf3\x6a\xd6\xcc\xa3\xaf\xf3\x73\xa8\x08\xa3\xc9\x74\xf2\x86\xd7\x45\x0a\x8c\x2b\xb0\x6c\x81\x80\xc0\x0c\x85\x56\x29\x28\x0e\x2a\x47\x2b\x15\x08\x0f\xa8\x96\x55\xf3\x43\xa0\xaa\x05\x6b\xc4\x9f\xaf\xd0\xad\xdd\x8e\xbd\xef\xab\x4b\x6b\xca\x71\x0c\xb5\x35\xa4\xac\x43\xa3\xdb\xf6\xc1\x6c\x01\x17\x6c\xfb\x51\x89\x3a\x51\xe7\xff\xa7\x0a\x74\x63\x8d\x4a\xfc\xea\x23\x5d\x6a\x00\x1b\xb9\xfc\x5d\xf3\xf4\x2d\x49\x72\xa8\x25\x0a\x90\x8a\x0b\x94\x40\x18\x50\x26\x15\xd1\x02\xf1\x0c\x38\x2b\xb6\x46\x2a\x43\xae\x7d\x48\xe5\x48\xed\x68\xb2\xc2\xc8\xf3\xb3\x9a\x25\x8a\x72\xeb\x6a\x2d\x0d\x61\x29\xac\xf8\x1a\x05\xc3\x14\x96\x96\x5b\x25\xd0\x3c\xaf\xb8\x54\x3a\xca\xa4\xd4\x10\x36\xec\x28\xeb\x04\x19\x13\x3f\x54\x8e\x5b\x13\x39\x12\x52\x14\x98\xce\xa3\xd9\x93\x1c\x93\x1b\x09\x39\xa9\x2a\x64\x40\x14\x88\x9a\x29\x5a\xa2\x21\x45\x1d\xee\x48\x23\xa1\x8e\x4c\x1d\x1e\x0d\xaf\x0f\x0e\x53\x7a\x04\xb3\xeb\x5f\x22\x24\x02\x89\x8e\x63\x6e\x65\x3a\x30\xe2\xad\xd2\x1a\xf2\xb7\x26\x4e\x9a\xb0\xa7\xc5\x6c\xd8\x69\x71\x53\xcc\x28\x33\xc4\x87\x20\x8d\x91\x05\x6a\x11\x18\x87\x0d\xd9\x42\xc6\xb5\x6c\x25\x29\x68\x42\x79\x2d\xad\x39\x14\x77\x73\x5a\x2d\xb6\xaa\xe1\xb5\x9b\x96\x32\x20\x54\xcc\xe1\x02\x64\x85\x09\x25\x05\x98\x68\x29\xc0\x7b\x05\x30\xc4\x54\x6a\x4e\xcb\x56\x06\xc5\x4d\xdc\x6d\xd8\xb5\x31\x39\x56\x45\xe8\x7e\x0d\x43\x23\x4a\x27\xfe\x5b\x5f\xf0\xbb\x40\x68\x11\x13\x4f\x61\x49\x0a\x0f\x26\x95\x53\x69\x51\xdb\x8c\xed\xc6\x60\x37\x3a\x8e\xbf\x43\x03\xe5\x58\xac\x1d\x23\xb0\xae\x6a\xc7\xbf\x6f\x7e\x8f\x0e\x17\x98\x20\x5d\xa3\xe8\x11\x04\xcb\x04\xca\xa8\xa2\xa4\xa0\x7f\xa3\x81\x81\x5f\x2a\x51\xad\xca\x8c\x11\x35\xe4\x34\x16\x1b\x5a\x4d\x38\xed\xac\x75\x16\x44\x27\x7d\x99\x90\xe4\x59\x9e\x79\xe6\xd1\x10\x1d\xc4\x68\x8a\x4c\xd1\x8c\xa2\x80\x33\x98\xf4\x22\xd1\xa4\xcf\x33\x50\x1d\x9c\x85\xba\x9b\xb6\xbc\x16\x01\xdf\xd9\x77\x7d\x1e\xad\x36\xe1\x2c\xd0\xce\x23\x38\x84\x0a\x1e\xe7\x11\x2d\xe8\x83\x23\x99\x04\xfc\xee\x63\xdc\xbd\x31\x5e\x6d\xc3\x85\xf1\x77\x03\x54\x8b\x70\xed\x72\xcb\xda\x84\xa1\x35\x25\xc6\x62\xd7\xaf\xf5\xbd\x98\xeb\xc7\xd3\xd9\x35\x94\xa8\x72\x9e\x76\x41\xe1\xdd\xdb\x6e\x44\x7a\xac\x9e\x66\x49\x92\x9b\x69\xd7\x68\x34\x8b\xed\xf6\x0a\x4e\xe6\x27\x9d\x31\xfa\x8a\x76\x93\x20\xf1\x80\xb3\xf1\x57\x47\x11\xeb\x88\xe5\xfd\x2e\xe4\x9c\xcc\x4f\x86\xd4\x35\x96\x8f\xb8\xbd\x78\x20\xe9\x80\x76\xef\xf9\xd4\x5b\x91\x1e\x7c\x3a\x9e\x81\xce\x2f\xaf\xf4\xff\x57\xd3\xd9\xe1\x13\x48\x7f\xa3\xb2\x2a\xc8\xf6\x89\xd4\xc6\x11\x7e\x23\x8a\x3c\x89\xfe\xaa\x35\xc1\xab\x69\xbc\xb1\x7f\x7e\x48\xaf\x41\xe2\x62\x76\xe7\x2f\x46\xd3\xbb\x33\x13\x63\xc1\x0d\x55\x49\x6e\xcd\xd2\x07\x4f\x42\x24\xee\xaf\xef\x45\x8f\x3e\xb0\xe3\x83\x0c\xa6\x83\xd4\xfa\xca\x94\xb3\xca\xc2\x3b\x74\xbb\xce\xc7\x58\x74\x06\x44\x7e\xb7\x5b\x10\x37\xf8\xbc\x6f\xbc\x56\x98\xc6\xc8\x4f\x12\x27\x84\xc8\x1e\x02\x35\xc3\xcf\x07\x25\x9a\x3d\xd5\x64\xad\x56\x86\xad\xa6\x03\x7e\x89\x29\x25\x70\x16\x17\x8e\xf3\x77\xfa\xe9\xb8\xb1\x8c\x8e\x68\x81\x8b\x0e\xd9\xbf\xaf\xae\xde\x5f\xd2\x02\x77\x53\xd6\xa2\x58\xc0\x24\x57\xaa\x92\x8b\xe3\x63\x22\x25\x2a\x39\xdf\xe0\x52\x52\x85\x47\x9a\xad\x9c\x27\xbc\x3c\x7e\x91\xbd\xfc\xf1\x97\xe7\xc9\x49\xf2\x2f\xf2\x73\x92\xa6\x2f\x9f\xff\xb4\x7c\x96\xfc\xfc\xe3\x49\xe7\x05\x79\xf1\x22\x59\x3e\x4b\x7e\xf9\xe9\xe5\x97\xcb\x82\x6f\xbe\xfc\xc5\x45\x5a\x12\x71\x33\x97\xeb\xd5\x64\x54\x8e\x01\xcf\xf5\x97\xd1\x88\x4d\xf9\x27\xb4\x24\x2b\x3c\x96\xeb\xd5\x0f\xb7\x65\x31\xcc\xad\x6f\x9d\x48\xb5\x72\x58\xb7\x72\xfa\xc9\xbc\xfe\x3c\x4c\xbe\x8f\x3f\x39\xeb\x8e\xeb\x9a\x91\x52\xaf\xc1\xed\x00\x0d\x33\x5b\x0c\x4f\xc6\x15\x20\xb7\xe5\x92\x6b\x13\xbd\xbd\xbc\xda\x31\x2c\x45\x99\x08\x5a\xe9\x74\x64\x01\x93\x2b\x9d\x8d\xf5\x77\xc8\x5a\x62\x0a\xc4\x14\x02\x6e\xef\xd5\x39\x63\x8e\x45\x05\x5b\x5e\x43\x8a\x6b\x2c\xb8\xf9\x2d\x80\xe9\x1c\xf8\xf2\x0a\xfe\xc1\x99\xb6\xe4\x7c\xc7\xdc\x78\xab\x50\x30\x52\xfc\xf1\xe1\xf7\x2e\x06\xdf\xb6\xaf\xa6\x0d\xc8\xdc\xdc\x47\x99\x9a\x73\x96\x69\xe6\x5c\xac\x26\x3b\x40\x50\xf0\x15\x97\x0b\x67\xc2\x1d\xaa\xe2\x3a\x55\x96\x8b\x81\xb0\x1a\x5e\x13\xb5\xa1\x4a\xa1\x98\xec\x25\xac\x1b\x6c\x9c\x40\xcb\xfa\x65\x59\xf0\xe4\x26\xc9\x09\x65\x93\x61\xb8\x40\x6f\xd3\xf6\xd7\x93\x63\x47\x18\xc2\xc6\xa3\x47\x50\xf3\x46\x89\x86\xaf\x7d\x5d\x72\xb8\xb3\xec\xcd\x04\x2f\x17\xbd\x5c\x72\x7c\xa1\x8f\xab\x7f\x4d\x21\x9a\x5a\x41\x47\xb4\xb7\xd7\xe6\xe5\xd5\x31\xee\x6e\x51\x0d\xd1\x5d\xce\x38\x84\xe2\xd2\xa0\x97\xcc\xee\x8a\x53\x56\xc4\x80\xb0\xcd\xa3\x1f\x9e\xef\x77\xca\x6e\x30\x6d\x5b\x1b\xa7\xdf\xdf\xc5\x95\x98\xcf\x8f\xef\x07\xf3\x9c\xae\x14\x7d\x76\x43\xb6\xde\xc1\xc8\xd6\xa7\x6f\xcb\x4a\x6d\xcd\xe0\x4b\x57\x5d\x2f\x60\x9a\xd5\x4c\x67\x90\xbf\xde\x0d\x94\x8a\xf7\x0f\xb8\x9e\x33\xee\xe9\x51\xd3\xdf\xe8\x4e\x34\xdd\xe1\x53\xc3\xaf\x9e\xe8\x54\x71\xea\xf7\xd4\x44\x2a\xe0\x32\x8e\xc5\xa8\xf9\x38\x56\x02\xec\xb1\xb6\xfb\xa1\x6c\x9d\xd1\x62\xac\x60\x5a\xa1\xd2\xbc\xb9\x50\x98\x1a\xe5\x6a\x9d\x48\xe0\x66\x97\x20\x45\xb1\x75\x3c\x24\x10\x28\xa8\x34\xbd\x07\xdb\xa1\x52\x66\xa0\xeb\x78\x50\xd9\xc0\xd4\x24\xc0\x95\xeb\x58\xc0\x8e\x42\x63\x60\x5e\x0d\x9a\x3b\x0b\xc9\xd7\x9c\x17\x5d\xa8\xe8\x00\x26\x3d\x95\x21\xe8\x0c\x3f\x83\xbb\x4e\x29\x14\x8d\xfe\x64\x7c\x6e\x85\x66\xb2\xe9\xec\x33\x9c\x81\x12\x35\x0e\xa9\x2c\x26\xdc\xbb\x7e\xa2\xb2\xbf\xaa\xa9\x0a\xbb\x91\x5a\xd0\xe1\x9a\xca\x0b\x37\xa8\x97\x4f\xca\x14\x63\xe7\xe7\x90\x91\x42\xe2\x98\x39\x2f\xe4\x8d\xd4\x45\xa8\x0e\xa4\xb6\x6b\x6e\xda\x58\x4b\x84\x0d\x55\x79\x2a\xc8\xc6\x9d\x46\x3c\xd4\x8b\x69\x17\x74\xb1\x26\xb4\x20\x06\xda\x7f\x39\x1e\x9d\x86\xfc\xce\x55\x39\x29\x4e\xcf\x86\xab\xd7\x8e\xfc\x5e\xca\xf0\x61\x34\xc0\x07\x19\x07\x3c\x72\x63\x7b\x96\x6e\x16\x9b\xb7\x10\xb1\xaa\x4b\x64\x2a\x22\x24\x2c\x6d\xb8\x3b\xd8\x3a\x22\xa7\x0f\xd7\xde\x9a\x8f\x4e\xfd\x1f\xe5\x42\x9e\xf6\x05\xd3\x37\xc3\xb2\xe2\x82\x88\xad\xeb\x74\xfa\x43\x0f\x93\x42\xe9\xa4\x89\x17\x69\xc4\x41\xe5\xe8\x0f\x40\xac\x00\x02\x61\x89\x94\xad\x40\x09\xc2\x64\x86\x42\x60\x3a\xd7\x13\x79\xa7\xd3\x14\x0c\x37\x81\xeb\x6b\x3e\xbe\x1b\xe9\xa6\xe5\x51\x4f\xd2\x70\xb6\xdd\x4d\x90\x1c\x68\x83\x80\x14\x2b\xae\x33\xf6\x58\x26\x2c\x24\x6e\x72\x14\x38\xbc\x70\x07\x8a\x38\x8e\x7b\x1c\xd8\x02\x77\x33\x8a\x8a\x5f\xfb\x3b\xca\xee\x26\x57\x74\x7b\xe4\x0c\x34\x84\xaa\xd3\xa3\xb0\x3b\xda\xb6\xd2\x2c\xc5\x6c\x0c\x5e\x4e\x05\x8f\x43\x97\x53\x33\x5f\xfe\x17\x93\x2e\xc4\x0c\xac\x48\x9a\xca\x88\x0d\x55\xb2\x69\x06\x3a\xeb\x44\x6d\x50\x04\xbe\x61\x28\xe4\x1e\x88\xa3\x12\x48\x51\xf0\x8d\x45\x54\x8a\x52\x09\x6e\x7b\xe8\x52\x4f\x6f\x45\x5b\x62\x42\x6a\x89\x2d\x88\x63\x9f\xd2\x22\x07\x60\xd5\xb0\x44\xe1\x25\x71\xcd\x5f\xd3\xb1\x35\xb4\xff\x6c\x65\xcf\x49\xbc\xae\x25\x22\xd3\x38\x93\x75\xa9\x8b\x04\x96\xda\x5e\x76\xc6\x4d\x4f\xde\x81\xcc\x48\xe8\x3b\xeb\x23\x70\x6a\x9a\x23\xce\x20\x2e\xa5\x1c\xce\x17\xba\x3d\xb6\x26\x8d\x85\xd3\x23\xeb\xbc\xba\x5e\x1f\xc0\xda\xde\x48\xfb\xc1\xf2\x1b\x6c\xad\x45\x6f\x3a\xdd\x34\xb0\x45\x95\x31\x49\x1c\x4b\x3b\xb8\xeb\x66\x30\x7b\x02\x30\x0e\x37\xd6\xd6\xda\xdb\x80\x84\x78\xfa\x1b\x05\xef\x85\x3a\x1f\x40\x68\x1b\x1f\x48\x51\xe8\x50\xe3\xe2\xc4\x1c\x2e\xec\x49\x43\x59\x4b\x1b\x2f\xec\x9e\xe0\xcf\x48\x7a\x1c\x4d\x5e\x6e\x38\x59\xde\x4d\xfc\xe9\x1e\x0a\xe9\x07\x5c\xa4\xf6\x10\xc3\x80\xd7\xbe\x8f\x39\xda\x7a\xc3\x9d\x4e\x10\x5b\x82\xfa\x1c\xc2\xc3\x42\x36\xa7\x06\xb6\x3c\xd5\x7b\xe0\x7e\xb8\xea\xa7\x8c\xfb\x44\xa3\x07\x82\xcb\xc9\xfc\x24\x8c\x2c\x10\x1f\xb0\xd9\xd3\x97\x03\x18\x39\x4f\xf2\xf1\xc3\x46\x16\xb3\x1c\x62\xce\x94\x9d\x26\xec\x79\x93\xf6\x4d\x7f\x46\xf3\xb8\xb3\x19\x77\xf8\x73\x17\x69\x59\xb3\xb1\xc7\xdf\x7b\x22\x4e\x13\xc8\x60\xe2\x43\x13\xdc\xb4\xfd\x4a\x8f\x23\x15\x9c\xb2\x1f\x8e\xe2\x2e\xa4\xe8\x22\x6f\x2f\x0b\xb6\xa2\x3f\x65\x5f\x79\x4a\x7f\xfd\x87\xa1\xfd\x06\x4b\x3a\xf2\x31\x82\xfd\xef\x3f\x46\x88\x33\xcb\x79\x70\xf6\xf1\x75\xdb\x57\x07\x64\x83\x81\x24\x84\xdb\x57\x05\x90\x6f\x1b\x3c\xbe\x6d\xe0\xf8\x06\x41\x63\xc8\x7f\x06\x83\xc5\xda\x27\xde\x4d\xd6\xbe\x1b\x71\x8d\x55\xe1\x81\xc0\xe1\x2c\x69\x8e\xff\xc2\x6d\xcd\xa0\x27\x86\xe9\xb3\x93\x13\xbd\xd5\xc4\x43\xba\x9f\x99\xc0\x19\x1c\x3b\xe5\x45\x1f\x21\xd8\xaf\x55\xa2\xb3\xca\x37\x56\xb2\xf6\x5c\xde\xe0\xa0\xeb\xd0\x46\x77\xee\x13\x1d\x6d\x3a\xb2\x46\x8d\x02\xca\xa2\x13\x7f\xcb\xb2\xf9\x19\x6d\xc8\xc3\x1a\xe8\x2e\x70\x36\x24\x1b\x71\x87\xb4\xd0\x7c\x80\xb1\xed\x34\x85\x82\x3c\x1b\x6f\x2b\x2e\x31\x8c\x6b\xf6\x44\xcf\xa1\xc0\x9f\xe5\xd9\xcf\x0f\x50\x5d\x98\xa2\xd4\x95\x73\xfe\x9d\xca\x05\xaf\x57\x56\x0b\xd7\xbe\x7b\x72\x0d\x26\x92\x66\x24\x09\x17\xeb\xb3\x1d\xb8\x76\x6b\xba\x1e\x64\xf2\xda\xbf\x1c\xe2\x11\x29\x2c\x34\xd7\x1b\x52\xed\xfc\x06\xc5\x37\xe5\xa8\x94\x35\x9e\x7e\xef\x5a\x33\x36\x33\x19\xec\xc0\x8d\xb3\x32\x1a\x96\xf9\xb4\x33\xfd\x21\x10\xb5\x70\xb9\x4e\xdb\x93\x9a\x45\x12\xfb\x02\xff\x91\xd2\x8e\x37\xa9\xbe\x6a\x01\x81\x34\xa1\xf0\x61\x27\x6e\x76\x30\xcc\xcf\x0b\xa8\xd1\x3d\x75\x7d\xa6\x43\x50\x7c\x31\xec\x4c\xee\x8b\x9e\x48\x17\x76\xeb\x6e\xe1\x6e\x77\xdf\xe9\xc8\x02\x3a\x13\x1a\x62\x3b\xe1\xa0\x57\xfb\x58\x71\x7f\xf0\xbf\x00\x00\x00\xff\xff\xda\x98\xff\xe0\x4e\x28\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,7 +95,7 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb9, 0x91, 0xcc, 0x1c, 0x4e, 0xe6, 0xde, 0x8a, 0x19, 0xea, 0x86, 0x73, 0x10, 0xa4, 0x8f, 0x4e, 0xc7, 0x33, 0xa, 0x30, 0x90, 0xe3, 0x66, 0xff, 0xfe, 0xc9, 0x71, 0x42, 0x61, 0x52, 0xc1, 0x0}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xc6, 0x77, 0x68, 0xd8, 0x10, 0x65, 0xf7, 0x4e, 0x2e, 0xc, 0xa2, 0xf1, 0xf5, 0xe4, 0x91, 0x52, 0xb2, 0xe3, 0xda, 0xb9, 0xe5, 0x5, 0xcf, 0x75, 0x89, 0x48, 0xbe, 0x50, 0xe6, 0x64, 0xd1}}
 	return a, nil
 }
 
@@ -199,7 +199,7 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x51\x6f\x23\xb7\x11\x7e\xdf\x5f\x31\x75\x80\xda\x0e\x74\x72\x1f\x8a\x3e\x18\x08\x2e\x97\x38\x2e\x04\x14\x4e\x71\xd1\x25\x0f\x45\x11\x51\xbb\x23\x89\x3d\x2e\xb9\x47\x72\xa5\xa8\x8e\xff\x7b\x31\x43\x72\x97\xbb\x5a\xf9\xec\xa4\xad\x1f\xda\x68\x77\x39\x1c\xce\x7c\x33\xf3\xcd\xf0\x6e\xbe\xfc\xb2\x28\xbe\xf8\x02\x96\x3b\x84\x7b\x65\x0e\xf0\x60\xf4\x9b\xfb\x56\x6f\xe5\x5a\x21\x2c\xcd\x47\xd4\xe0\xbc\xd0\x95\xb0\x15\x7f\xb8\x7a\x30\x3a\xbd\xe7\xd7\x2b\x28\x8d\xf6\x56\x94\xbe\x28\x48\x8a\xd4\x1e\xed\x46\x94\x08\x7e\x27\x3c\x08\xa5\xa6\x64\xa6\x35\x0e\xdc\xce\xb4\xaa\xa2\x07\x1b\x63\x6b\xf0\x66\x5e\x2c\x36\x20\xa0\x75\x68\xe1\x20\xb4\x77\xe0\x0d\x54\xd8\x28\x73\x04\x01\x1a\x0f\xf0\x70\xbf\xec\x04\xcc\xc0\xef\x50\xda\xee\x77\x92\x27\xeb\x46\x61\x8d\xda\xb3\x52\xfe\xd8\xa0\x83\x0a\x37\x52\x63\x05\x3b\xb4\x18\x0f\x73\xbf\x5c\x81\x45\x67\x5a\x5b\x66\xaa\x87\x93\x94\xc6\x62\xff\x92\x44\x84\x23\x59\x6c\x2c\x3a\x24\xcd\x84\x66\x65\xa4\x26\x2d\xc0\xd5\xc2\xfa\x4e\x93\x79\xd8\xe2\x5b\xa3\x14\x96\x5e\x1a\xbd\x82\xf7\x67\x76\xea\x37\x21\xf9\xce\x1b\x8b\x2e\x9a\xe0\xd2\xc5\xe3\x26\x29\xf3\x62\xe1\x41\xea\x52\xb5\x15\x7f\xb4\xc1\x03\x6c\x5a\xcd\xef\xd8\x54\x42\x91\x1f\x49\x1f\x73\xd0\x68\xe9\x11\x0a\x27\xd5\xb1\xa8\xcd\x1e\xc1\x93\xfd\x1d\xa9\x2c\x74\x05\xa6\xf5\x60\x36\xfc\x75\xbe\x05\x6b\xfe\x77\x6b\xf6\xb2\x42\xbb\xe2\x2f\x57\xef\xb1\x44\xb9\xa7\x9f\xa7\x06\x73\x7c\x0e\x97\x3f\x81\x0a\x4b\x25\x2c\x66\xca\x1d\xa4\xdf\x81\x33\x35\x42\x63\x91\x85\x36\xc6\xb1\xc1\x2a\xc9\x5f\x14\xd1\xbe\x9f\x5a\x69\x91\x95\xea\xad\x47\xe7\xd8\x18\x3e\x5b\x89\xd6\x0b\xa9\x41\x8b\x5a\xea\x2d\x0b\x5a\xe3\x4e\xec\xa5\xb1\x1d\x58\xdd\x9c\x55\x3a\x02\xa9\xe0\xb0\x11\x56\x78\x84\x35\x96\xa2\x25\x35\x3d\x6c\xe5\x9e\x95\xdc\xa3\x32\x0d\x5a\xc7\xdb\x89\xb5\x54\xd2\x1f\x03\xe2\x08\x2c\xbd\xf6\x41\xb7\x52\x68\x72\x0b\x08\x7d\xcc\x10\xd1\x81\x8d\xa5\xb8\xa1\x61\xbe\x39\x42\xeb\x48\xcf\x64\x36\xc7\x1a\xf7\x9f\xcc\xd8\xd1\x8e\xfc\x40\xae\x1e\xa2\xc8\xf1\x96\x0e\x75\x55\xd0\x2a\x1b\x9c\x90\xbc\xd8\x20\xda\x37\xde\xbc\xa1\xff\x9f\xb1\x7d\xc9\xa1\x64\x0a\xbd\xa5\x43\xf0\x26\x14\x15\x6c\x7a\x01\x25\x92\x54\x05\x0a\xab\x2d\xda\xe2\x04\xb0\x4b\xc3\x5b\x25\x5c\x13\x9a\xb4\xf1\x3b\xb4\xac\xe2\xac\x0b\x4b\x0e\x31\x47\xc7\x3e\xb2\xe8\xca\x8a\x00\xb9\x87\xfb\x65\xb1\xb1\xa6\x8e\x51\xd9\xbb\x8f\xe3\x54\x43\x49\xf9\x80\x3e\xac\xb0\x31\x4e\xfa\xce\xbe\x60\xf4\x60\xaf\x4b\x57\x0c\x7d\x5f\x1a\x32\xb2\x0f\xb0\xf0\x56\x68\xb7\x41\x3b\x2f\x8a\x2f\x6f\x8a\x42\xd6\x8d\xb1\x1e\x7e\x94\x78\xa0\x10\x53\x7b\xb4\xc0\x5a\x5c\xe4\x8f\x2e\x8a\xe2\xe6\xe6\x86\x53\x5d\x4d\xf0\xc9\xd3\xc8\x1c\xbe\xe7\xad\xf3\x67\x04\x58\xa5\x78\x4d\xdc\x80\xfd\x96\x7c\xcd\x8a\x0c\xf0\x1e\xb2\x0b\x27\x03\xe9\xfa\xb4\x78\x73\x73\x53\x88\xb2\x44\xe7\xae\x84\x52\xd7\x7d\xaa\xea\x53\xe5\x38\xa9\xde\x0e\xcf\xf2\x58\x14\x00\x00\xa4\xc9\x3b\x0d\xa8\xbd\xf4\x51\x87\x8d\xb1\x21\xe0\xd9\xe1\x3b\xec\xbc\x21\x14\xc7\x75\x80\x09\xdb\x42\xc0\x8f\xa2\x55\x9e\x25\xe5\xea\xe4\xe2\x7e\x8a\xab\x5f\xb6\x5f\xdb\x54\xc2\x47\x38\x87\xff\x06\xdc\x73\x14\xf0\x67\x6c\xe1\x67\xb7\xfb\xc0\x8b\xfa\xcd\xc6\x3b\xc5\x04\x46\x21\xb6\xb5\x5c\x0a\x92\x82\xbc\x67\x5c\xfe\xdc\x0e\xdf\x93\x84\x7e\x83\xef\xf6\xc1\x71\xc2\x9f\x56\x20\xac\xa5\x87\x03\x81\x94\xec\x58\xa3\x17\x95\xf0\x82\xac\x98\xb2\xbc\x8b\xa7\xac\x3a\x79\x8b\x90\x11\x8c\x56\x47\x58\x23\x8b\xf0\x58\xc1\xfa\xc8\x40\x4f\x3e\x59\xd1\xf3\x87\xfb\x65\xd0\xb7\x5a\x75\xa0\xef\xe4\x84\xf0\xd4\xb0\xe2\x4f\xc4\x5a\xe1\x2a\x1d\x83\x62\x7e\x83\x16\x35\x95\x07\x93\x82\x2c\x9c\xe1\x20\x4e\x55\x22\x78\xe7\x16\x68\x6c\xf4\x89\x6b\x44\x5d\x53\x9e\x61\x34\xf4\xfa\xc9\xf8\xa4\x8f\x3d\x77\x99\x15\x03\xd7\x49\x4e\xc9\x93\x4f\x5b\x9a\x2a\x80\x8d\x0a\x49\xf6\x39\x98\xe8\xb0\x9d\xa0\x2d\xb1\x94\x42\xf5\x47\x09\x6e\xea\x24\xc6\xf3\x64\x9b\x91\xdd\x77\xa6\x0a\xa1\x47\x26\x25\x5b\xd0\x77\x5b\x0c\x01\x77\x6a\x95\x4e\xda\xd0\x04\xec\xe9\x5a\x7c\x44\x47\xd9\xde\x99\xa0\x95\xdf\x49\x5b\xbd\x69\x84\xf5\x47\x90\xba\xc2\x5f\xc8\x20\xe4\xc2\xda\x68\xe9\x59\xf7\x04\xe2\x4e\x1c\x41\xed\x53\x8b\xf6\xc8\x2f\xa3\xbd\x7b\x80\xa4\x74\x17\xd0\x3a\xb4\xdd\x3c\x09\x39\x05\xe9\xbe\x0f\x80\xea\x4a\x56\xb7\xf0\x61\xa1\xfd\x5f\xfe\x3c\x83\xb6\xcd\x7f\xb1\xd0\x5b\x78\x57\x55\x16\x9d\x7b\x3b\xe3\xaa\x73\x0b\x3f\x78\x2b\xf5\xf6\xfa\x44\xec\x5e\x06\x3a\x00\x43\xc8\x5d\xfd\x0c\x7a\xe3\xdf\xe3\xe6\x16\x44\xeb\x77\x57\xe1\x31\xfc\x1a\xe2\xe3\x1a\xfe\xf8\x38\xce\x40\xf3\x87\xfb\xe5\x53\x90\xff\xc8\xff\x4b\x7f\x1c\x22\xb9\xce\x41\xe8\x5c\x56\x49\xed\xf8\x80\x7e\x74\xba\xc7\x67\xfc\xeb\xed\x5c\x84\x93\xa4\x83\xc4\x97\x5b\xf4\xcb\x63\x83\x57\xd7\x73\x59\x91\x8b\x37\x12\x6d\xd8\xfd\xa9\x98\x0c\x5f\xe9\xba\x68\xe3\x98\x15\x21\xd7\xd1\xf3\x94\x02\xf5\xac\x5b\x28\x75\x25\x4b\xe1\x53\x40\xd2\xd6\x33\x48\x5a\xcf\x32\xb2\x74\xc2\x85\xe2\x6e\x21\xd6\x3a\xc9\xec\xf4\xd9\x00\x21\xb4\xec\xc3\x87\xc5\x5d\x12\xd1\x93\xa4\xc9\xb5\xd0\xba\x56\x28\x75\x1c\x04\xcf\x10\x2e\x9c\x60\x4e\xf4\x91\x0e\xb4\xf1\x81\xbf\x91\xeb\x4d\xab\xfd\xa5\x63\xd2\x28\xb6\x38\x83\x15\x89\x5f\x75\xf1\xb3\xd2\x52\xad\x3e\x07\xc3\x94\x55\xf5\x55\x8e\x2e\xb2\xd0\x39\x58\xd2\x26\x39\x2a\x9b\xc8\x15\xc9\x02\xe9\xab\xeb\x49\xc7\x9d\xf3\x5a\x24\x04\x58\x31\xeb\x98\x32\x0a\x2c\x82\x17\xd1\xfd\x2e\x27\xe6\x1b\x3d\xef\xc2\xdc\xea\xa7\x6b\xff\x6b\xbe\x9a\xbd\xce\x59\x77\x49\x87\x17\x3b\xcb\x9b\xdc\x55\xbd\x7e\x67\x9c\xb5\x08\xcd\x45\xc5\x25\x78\x2d\xca\x8f\x07\xe2\xd3\x6f\x88\x80\x09\x2f\x03\x43\x3e\xd1\xed\xb4\x27\x80\xc5\xc3\xfd\xf2\x96\x8b\xd5\xe3\x53\x2e\x7d\xd0\x1f\xc6\x7a\xe6\xa0\x6e\x43\x2b\x10\xbb\xc0\xb3\x46\x98\xd8\x88\xf7\xc9\x09\xd3\x7c\xcc\x9c\xd2\xe6\xad\x96\x9f\x5a\x84\xc5\x1d\x9f\x2d\x11\xd6\xf4\x45\xbe\x8d\x42\x9f\x59\x74\x28\x65\x3a\x0d\x89\xd6\x9b\x5a\x78\x59\x72\x58\xe3\x9e\x0b\x86\xac\x11\x44\xa6\x33\x41\xc8\x79\x6b\x8e\xb1\x62\xe7\x25\x8b\xfb\x09\xc9\x06\x10\x09\x3e\x32\xf9\x42\x8e\x68\x49\xc0\x82\x33\x84\xcc\x08\x33\x8d\x48\x5f\x0a\x6e\x4b\x85\xdd\xb6\xdc\xfe\x4e\x1d\x2e\x2c\x4e\xdd\xe8\x5d\xd2\x28\x2b\x43\xf0\x15\x38\x54\x79\x66\x1f\x3e\xa7\x67\xd7\x43\xab\x94\x16\x85\xc7\xef\xea\xc6\x1f\x33\xe6\x1e\x9e\xb2\x4a\x48\xaf\x06\x1d\x5d\xb4\x60\xaa\xf1\xdc\xf8\x9e\x78\x25\x45\xa7\x45\xdf\x5a\xcd\xd5\x3c\xf1\x06\xa1\x14\xda\xac\xb6\xe3\x31\xd0\xb1\x03\x13\x36\x37\x10\xf1\x75\x58\x0f\xef\x7a\x55\xc6\x09\x82\x3b\xad\xa8\x83\x74\x67\xa1\x41\xe5\x75\xf2\xb0\x57\xd7\xb7\xf0\xf5\x63\xff\xfb\x29\x2b\x9d\xf4\xc7\xdd\xee\xf0\x11\xfd\x59\x74\xad\xf2\x54\x02\xff\x86\x7a\xeb\x77\x57\xd7\xf0\xd5\x57\xf0\xa7\x5b\xb8\xe0\x29\x04\xef\x54\xe5\xca\x72\xa8\x30\xdd\x6c\xfc\xf1\x0f\x17\x03\x81\x4f\x45\xff\x5f\x83\xf3\xff\x15\xbd\x83\xd4\x7d\x71\xc4\x25\x42\x14\x26\x0c\x95\xb4\x58\x7a\x75\x24\xeb\x9d\xb3\x5c\x25\x59\x01\x61\x8f\x4c\x8b\x95\x02\xd7\xae\x1f\xee\x97\x3f\xc0\x47\x3c\x06\xde\x4b\x20\x9e\xb4\x5a\xc7\x4c\xb6\xe8\xdf\xed\x85\x54\xe4\xf5\x1f\xc2\x72\x32\xdc\xe3\x92\xb3\x59\x80\xd9\xd8\x72\x51\x83\xc7\xe7\x4e\xc7\x71\x96\x31\xe5\xd4\xc3\x0e\x4e\x79\x72\xb8\x6f\x0c\x31\xef\x18\x2c\x8e\xa7\x05\xa6\xe1\x43\xaa\xe1\x30\x25\xf6\xc3\xe5\xce\x18\x87\x03\x11\x3b\x73\x20\x50\x26\x7c\xba\x76\x1d\xec\x5b\x61\x83\xba\x22\xce\x61\x34\x1c\x78\x18\x36\xd8\x27\xd6\xcc\x61\x22\xb8\x37\x16\xf0\x17\x41\x4d\xe6\x0c\xe4\x06\x56\x64\xd0\x15\xb3\x69\x01\x7b\xa1\x5a\x9c\xc1\xba\xf5\xb0\x92\xd5\x0a\x2a\x83\x4e\x5f\x86\x19\x18\x2b\x38\x0c\x48\xa1\xa3\xba\x70\xd8\xc9\x72\x17\x0c\xb0\x89\x16\xe1\xe1\x85\x49\x96\x95\x5c\xbb\x2c\x67\x28\x01\x17\x15\x6e\xa8\x57\xbc\x18\xc8\x5b\x6c\x60\x1d\xac\x15\x2b\x55\xec\xe9\x7b\x30\x71\x67\x10\x22\x48\x80\x93\x7a\xab\x82\x5a\xa4\xc9\xbf\x08\xb4\x61\xb7\x81\x54\x5a\x38\x87\x25\x39\x68\x87\xaa\x71\x31\xaa\x1d\x1c\x76\x86\xb6\xd2\x97\x1e\x5c\x6b\x31\x58\xd0\xa7\x91\x8e\x32\xe6\x23\x99\x96\xf2\x78\x2e\x6f\x88\xdc\x46\x58\x51\x47\xa6\x49\xc1\x44\x18\x4b\xd5\xbd\x42\x27\x2d\x56\x27\xb9\x26\x2e\xa2\x9c\xc7\xf3\xcc\x2a\x2d\x88\x08\x58\x1b\x6b\xcd\xe1\xfc\x9e\x5d\xb4\x38\x6f\xdb\xd2\xb7\x3c\x44\x8c\x13\xc3\x44\x40\x2d\x7e\x6a\xd1\x51\x58\x53\x58\xcc\xcf\xa6\x99\x2d\xfa\x10\x22\xb1\xd6\x2f\x23\xe7\xe9\xaa\x36\xdc\x9e\xe3\xee\x6f\xa7\x43\x48\x4b\x55\x0c\x73\xc5\x74\x6d\x36\x50\x63\x25\xa9\x49\xe8\x27\x0a\xdd\x20\x21\xd5\xb3\x9c\xc5\xf6\x69\xef\x35\xa5\x3b\xcd\x18\x87\x85\x1a\x7e\xc2\xd8\x8e\xa7\x76\x3f\xcd\x15\x52\xaf\x95\xf8\x66\x26\x2a\xb5\xa7\xc4\x21\x28\x4f\xe9\x6d\xb7\x3c\x17\x1d\x25\x45\x64\x09\x9e\xd3\x6c\xc2\x80\xce\x9b\x58\x19\x95\x74\x1e\xa9\x99\x4b\xef\x55\x14\x98\xa6\x56\xb1\x43\x1c\x38\xbe\xd3\xd5\x62\x6d\xf6\xd8\x0d\x87\x3b\x9d\xb3\x0c\x4e\xf5\x2c\x7c\x34\xae\x66\xc3\x88\xf3\x1c\xe2\x5c\xdd\xb9\x97\xde\x1c\x89\x37\x73\xa3\x4e\x4b\x16\x77\x14\xaf\x81\xb2\x5a\xfa\x6a\x0a\xc8\x49\x2f\xe2\x7a\x93\x80\xee\x14\x9f\xd0\x74\x8c\xcc\x6e\xfe\xd2\xb5\x8e\x04\xd3\x24\xe1\x2a\xdf\x2b\x22\x94\x4a\x22\xe1\xf1\x55\xb5\x50\x56\x54\x02\x73\x69\x5c\x0b\x7b\x6a\xde\x77\x53\xa1\x81\x48\x25\x91\xc7\xf0\x82\x48\x97\x1b\x05\xda\xe2\xee\xe2\x64\x37\xc6\xd8\xb8\xf9\xe9\xcb\xf1\x49\x47\x1a\x42\xaf\xd3\x31\x51\xa3\xf8\x20\xb4\x21\xa1\x33\x62\x92\x34\xee\x78\x87\x4d\x52\xc6\xa3\x72\x9d\x9e\x5e\x19\x9e\x11\x92\x2e\xc1\xe8\xb7\xc5\x61\x1a\xee\x8f\x09\x73\x02\xbc\xe7\x41\x4a\x44\xf4\x90\x61\x32\x98\x45\x55\xe5\x58\xfe\xf6\x14\x40\x79\x3e\x0e\x23\xce\x65\x0f\xc1\xb8\xcd\xd9\x3c\x18\xdf\x5f\xc5\x95\x01\x51\x23\xfe\xc9\xb9\xb2\x69\x8c\xf5\x58\x3d\xdc\x2f\x97\x7c\xe5\x93\x8a\xb2\xe0\x98\x4e\x23\xf6\x70\x1d\xd4\x33\x03\x9b\x4e\x4f\xfb\x36\xfe\x65\xf4\x27\x08\xa9\x45\xd3\x84\x9e\x75\x6d\x8c\x42\xc1\x57\x2b\xdd\xb0\x81\xcb\xaa\x1c\xca\xeb\xa1\x5e\x4a\xea\x12\xc0\x05\xad\xc9\x7e\x9f\x65\x4e\x27\x27\xcc\xa8\xd3\x37\xc6\xa8\x11\x2d\x7a\x1f\x8f\x9f\x92\x46\xc8\x12\xec\xa2\xad\xdc\xa3\x8e\x3d\x87\x8b\x07\x8f\x14\x6e\x3a\x03\xf0\x34\x78\x92\x33\x87\xc5\xfd\x9d\x48\x1c\xa8\x66\x15\x1f\xbc\x6d\x91\x64\x47\x62\x71\xbe\x4a\xbf\xd3\x9d\x87\xce\x78\x21\xda\x79\xc2\xcc\xbd\x1f\x49\xab\x68\xdf\x71\xad\x7f\x01\x43\x95\x6e\x6c\xe6\xac\xfc\x5e\x07\x43\x8f\x63\xf3\x7d\xb8\xb4\xea\x46\xd7\xc1\x88\xba\xb4\xe8\x47\x97\x88\xf9\xf4\x73\x8d\xe9\x9a\xac\xeb\xf0\xba\xfb\x05\x3a\x58\x77\x87\xf0\x8a\x50\xee\x63\xef\xb6\x2b\xaf\xb3\x97\x06\xf8\xb9\xf8\x8e\x77\x92\xd2\x27\x35\xcf\x00\xe4\x73\x11\x4e\x7a\x8e\x87\xbe\xaf\x88\xfa\xc9\x21\xe5\xb8\xb2\x58\x9c\x28\x2c\x19\xa9\xc8\xaf\x9f\x42\xbd\x8f\x67\x1a\xdc\xd5\xf6\x57\xb4\x13\xa2\x12\xd7\x38\xbf\x8a\x83\x4a\xd5\x54\xe5\x84\x3a\x88\x63\x28\x47\x1b\x49\x7d\x45\x85\xce\x4b\x2d\x06\x67\xcf\x84\xf7\xf7\x36\x64\xf9\x4e\xd3\x5a\x3a\xc7\x23\xf2\x30\xbf\x6f\x9d\x37\x75\x87\x78\xa2\x29\x14\x73\x6b\xec\xf9\xcc\x94\x6c\x92\xb8\x13\xb6\x0a\xd4\x9f\x00\x2a\x43\xef\x3d\x22\x3e\xd3\xa5\x72\x3c\x7a\x62\x35\x9f\xa9\x94\xe1\x7d\x5f\x28\xc3\xef\x38\xae\x33\x67\xaa\xe4\x78\x3e\xf5\x82\x3a\x79\xda\xe8\xf2\x65\x6e\x6d\x5a\x9d\x72\x7e\x98\xba\xf5\x61\x76\x0e\xbf\x29\xcd\x68\x76\xe5\x96\x19\xe6\x60\x76\xec\xe4\xbf\xf1\x74\x40\xf8\xd9\xc4\x9d\x5a\xfb\x5b\xaa\xe2\x53\x9d\x79\x57\xa0\x52\x8f\xbe\xb8\x73\x2f\x57\x56\x58\x2b\x8e\xa9\xbc\x3d\xbf\xf2\x9c\x86\x8b\x3b\x2e\x26\xff\x08\xbc\xed\x9f\x50\x8c\xfa\x64\xea\x7a\xdc\x99\x26\xfb\x45\xb6\x5d\xf4\xac\x93\xef\xbb\xd8\x9a\xcc\x6a\x25\xf3\xb3\x6c\x5c\x3a\x94\x32\x1b\x35\x8c\xfd\xad\x7c\x2a\x35\xd1\x10\xdc\x95\x32\xc6\x49\x4e\x23\xb4\x2c\xe7\x9f\x6b\x0e\x53\x9f\x97\x4a\x84\xde\x78\xa2\xc8\x27\x4a\x64\xcd\x72\xb2\x41\x89\x94\xea\xe7\xe7\x7c\xd2\xcd\x11\xa6\x2e\xf0\x9e\x77\x47\xe8\x31\xa9\xef\xfb\x39\xef\xf6\x5e\xdc\xec\x9d\x61\xd7\x57\x81\xa9\x12\xb7\xd6\x52\x5d\xc3\xaf\xbf\xa6\x47\x6f\x23\xe5\x96\xd5\xf5\x2d\x9c\xac\xa3\xbf\x8b\x6f\x85\x26\xab\x06\xd5\xd8\x8b\xdd\xb9\x82\x05\xf3\xbb\x0f\xb2\xc1\xe0\xea\xb2\xeb\x63\x6a\xe1\xcb\x5d\xea\x5e\xba\x5b\xcc\x0e\x07\x2f\x9c\x66\xbd\x7e\xd8\x18\x55\xe3\xe6\xe0\x84\x5d\x3c\x37\x5f\x7c\xc5\x14\xf1\xec\x1e\xff\x9f\xf1\x61\xc8\xc2\xe4\x46\xce\x99\xdd\x93\xf3\x93\xc4\xce\x2b\x3b\xb1\xc7\xa1\xee\xa1\x83\xe2\x7f\xc7\x90\x3e\x3f\x6d\xa0\xfe\x67\xa3\x4b\x18\xb2\xab\xd7\xbb\x3b\x71\xb0\x3e\xc1\x0c\xb8\xdf\xef\x1c\x2a\x67\xf9\x43\x6f\xfc\xb2\x9b\x2f\xe5\x49\x64\x34\x61\x1b\x5c\x92\x77\x69\xe3\xb9\x34\xbe\xcc\xbb\x94\x33\xc4\x30\xfe\xab\x93\x78\xd1\xfc\x32\x98\xf5\x1a\x07\x3a\x3b\xc1\xab\xa6\x41\x38\x01\xc0\x1e\x00\x5c\x3e\xe6\x8a\x61\xf0\x1b\x41\x90\xdc\xfe\x54\xfc\x27\x00\x00\xff\xff\xe0\x9a\x44\x9b\x97\x28\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x51\x6f\x23\xb7\x11\x7e\xdf\x5f\x31\x75\x80\xda\x0e\x74\x72\x1f\x8a\x3e\x18\x08\x2e\x97\x38\x2e\x04\x14\x4e\x71\xd1\x25\x0f\x45\x11\x51\xbb\x23\x89\x3d\x2e\xb9\x47\x72\xa5\xa8\x8e\xff\x7b\x31\x43\x72\x97\xbb\x5a\xf9\xec\xa4\xad\x1e\x92\xd3\x6a\x39\x1c\xce\x7c\x33\xf3\xcd\xd0\x37\x5f\x7e\x59\x14\x5f\x7c\x01\xcb\x1d\xc2\xbd\x32\x07\x78\x30\xfa\xcd\x7d\xab\xb7\x72\xad\x10\x96\xe6\x23\x6a\x70\x5e\xe8\x4a\xd8\x8a\x5f\x5c\x3d\x18\x9d\x7e\xe7\x9f\x57\x50\x1a\xed\xad\x28\x7d\x51\x90\x14\xa9\x3d\xda\x8d\x28\x11\xfc\x4e\x78\x10\x4a\x4d\xc9\x4c\x6b\x1c\xb8\x9d\x69\x55\x45\x0f\x36\xc6\xd6\xe0\xcd\xbc\x58\x6c\x40\x40\xeb\xd0\xc2\x41\x68\xef\xc0\x1b\xa8\xb0\x51\xe6\x08\x02\x34\x1e\xe0\xe1\x7e\xd9\x09\x98\x81\xdf\xa1\xb4\xdd\xf7\x24\x4f\xd6\x8d\xc2\x1a\xb5\x67\xa5\xfc\xb1\x41\x07\x15\x6e\xa4\xc6\x0a\x76\x68\x31\x1e\xe6\x7e\xb9\x02\x8b\xce\xb4\xb6\xcc\x54\x0f\x27\x29\x8d\xc5\xfe\x47\x12\x11\x8e\x64\xb1\xb1\xe8\x90\x34\x13\x9a\x95\x91\x9a\xb4\x00\x57\x0b\xeb\x3b\x4d\xe6\x61\x8b\x6f\x8d\x52\x58\x7a\x69\xf4\x0a\xde\x9f\xd9\xa9\xdf\x84\xe4\x3b\x6f\x2c\xba\x68\x82\x4b\x17\x8f\x9b\xa4\xcc\x8b\x85\x07\xa9\x4b\xd5\x56\xfc\xd2\x06\x0f\xb0\x69\x35\xff\xc6\xa6\x12\x8a\xfc\x48\xfa\x98\x83\x46\x4b\x8f\x50\x38\xa9\x8e\x45\x6d\xf6\x08\x9e\xec\xef\x48\x65\xa1\x2b\x30\xad\x07\xb3\xe1\xb7\xf3\x2d\x58\xf3\xbf\x5b\xb3\x97\x15\xda\x15\xbf\xb9\x7a\x8f\x25\xca\x3d\x7d\x3d\x35\x98\xe3\x73\xb8\xfc\x09\x54\x58\x2a\x61\x31\x53\xee\x20\xfd\x0e\x9c\xa9\x11\x1a\x8b\x2c\xb4\x31\x8e\x0d\x56\x49\x7e\xa3\x88\xf6\xfd\xd4\x4a\x8b\xac\x54\x6f\x3d\x3a\xc7\xc6\xf0\xd9\x4a\xb4\x5e\x48\x0d\x5a\xd4\x52\x6f\x59\xd0\x1a\x77\x62\x2f\x8d\xed\xc0\xea\xe6\xac\xd2\x11\x48\x05\x87\x8d\xb0\xc2\x23\xac\xb1\x14\x2d\xa9\xe9\x61\x2b\xf7\xac\xe4\x1e\x95\x69\xd0\x3a\xde\x4e\xac\xa5\x92\xfe\x18\x10\x47\x60\xe9\xb5\x0f\xba\x95\x42\x93\x5b\x40\xe8\x63\x86\x88\x0e\x6c\x2c\xc5\x0d\x0d\xf3\xcd\x11\x5a\x47\x7a\x26\xb3\x39\xd6\xb8\x7f\x65\xc6\x8e\x76\xe4\x07\x72\xf5\x10\x45\x8e\xb7\x74\xa8\xab\x82\x56\xd9\xe0\x84\xe4\xc5\x06\xd1\xbe\xf1\xe6\x0d\xfd\x7f\xc6\xf6\x25\x87\x92\x29\xf4\x96\x0e\xc1\x9b\x50\x54\xb0\xe9\x05\x94\x48\x52\x15\x28\xac\xb6\x68\x8b\x13\xc0\x2e\x0d\x6f\x95\x70\x4d\x68\xd2\xc6\xef\xd0\xb2\x8a\xb3\x2e\x2c\x39\xc4\x1c\x1d\xfb\xc8\xa2\x2b\x2b\x02\xe4\x1e\xee\x97\xc5\xc6\x9a\x3a\x46\x65\xef\x3e\x8e\x53\x0d\x25\xe5\x03\x7a\xb1\xc2\xc6\x38\xe9\x3b\xfb\x82\xd1\x83\xbd\x2e\x5d\x31\xf4\x7d\x69\xc8\xc8\x3e\xc0\xc2\x5b\xa1\xdd\x06\xed\xbc\x28\xbe\xbc\x29\x0a\x59\x37\xc6\x7a\xf8\x51\xe2\x81\x42\x4c\xed\xd1\x02\x6b\x71\x91\x3f\xba\x28\x8a\x9b\x9b\x1b\x4e\x75\x35\xc1\x27\x4f\x23\x73\xf8\x9e\xb7\xce\x9f\x11\x60\x95\xe2\x35\x71\x03\xf6\x5b\xf2\x35\x2b\x32\xc0\x7b\xc8\x2e\x9c\x0c\xa4\xeb\xd3\xe2\xcd\xcd\x4d\x21\xca\x12\x9d\xbb\x12\x4a\x5d\xf7\xa9\xaa\x4f\x95\xe3\xa4\x7a\x3b\x3c\xcb\x63\x51\x00\x00\x90\x26\xef\x34\xa0\xf6\xd2\x47\x1d\x36\xc6\x86\x80\x67\x87\xef\xb0\xf3\x86\x50\x1c\xd7\x01\x26\x6c\x0b\x01\x3f\x8a\x56\x79\x96\x94\xab\x93\x8b\xfb\x29\xae\x7e\xd9\x7e\x6d\x53\x09\x1f\xe1\x1c\xfe\x0d\xb8\xe7\x28\xe0\xd7\xd8\xc2\xcf\x6e\xf7\x81\x17\xf5\x9b\x8d\x77\x8a\x09\x8c\x42\x6c\x6b\xb9\x14\x24\x05\x79\xcf\xb8\xfc\xb9\x1d\xbe\x27\x09\xfd\x06\xdf\xed\x83\xe3\x84\x3f\xad\x40\x58\x4b\x0f\x07\x02\x29\xd9\xb1\x46\x2f\x2a\xe1\x05\x59\x31\x65\x79\x17\x4f\x59\x75\xf2\x16\x21\x23\x18\xad\x8e\xb0\x46\x16\xe1\xb1\x82\xf5\x91\x81\x9e\x7c\xb2\xa2\xe7\x0f\xf7\xcb\xa0\x6f\xb5\xea\x40\xdf\xc9\x09\xe1\xa9\x61\xc5\xaf\x88\xb5\xc2\x55\x3a\x06\xc5\xfc\x06\x2d\x6a\x2a\x0f\x26\x05\x59\x38\xc3\x41\x9c\xaa\x44\xf0\xce\x2d\xd0\xd8\xe8\x13\xd7\x88\xba\xa6\x3c\xc3\x68\xe8\xf5\x93\xf1\x49\x1f\x7b\xee\x32\x2b\x06\xae\x93\x9c\x92\x27\x9f\xb6\x34\x55\x00\x1b\x15\x92\xec\x75\x30\xd1\x61\x3b\x41\x5b\x62\x29\x85\xea\x8f\x12\xdc\xd4\x49\x8c\xe7\xc9\x36\x23\xbb\xef\x4c\x15\x42\x8f\x4c\x4a\xb6\xa0\xf7\xb6\x18\x02\xee\xd4\x2a\x9d\xb4\xa1\x09\xd8\xd3\xb5\xf8\x88\x8e\xb2\xbd\x33\x41\x2b\xbf\x93\xb6\x7a\xd3\x08\xeb\x8f\x20\x75\x85\xbf\x90\x41\xc8\x85\xb5\xd1\xd2\xb3\xee\x09\xc4\x9d\x38\x82\xda\xa7\x16\xed\x91\x7f\x8c\xf6\xee\x01\x92\xd2\x5d\x40\xeb\xd0\x76\xf3\x24\xe4\x14\xa4\xfb\x3e\x00\xaa\x2b\x2a\x25\xb7\xf0\x83\xb7\x52\x6f\x67\x20\xab\x5b\xf8\xb0\xd0\xfe\x2f\x7f\x9e\x41\xdb\xe6\xdf\x78\x8b\x5b\x78\x57\x55\x16\x9d\x7b\x7b\x9d\x8b\x4d\x80\xbe\x86\xbd\x0c\x9c\x00\x86\xb8\xbb\xfa\x19\xf4\xc6\xbf\xc7\xcd\x2d\x88\xd6\xef\xae\xc2\x63\xf8\x35\x04\xc9\x35\xfc\xf1\x71\x9c\x86\xe6\x0f\xf7\xcb\xa7\xb0\xc9\x23\xff\x97\x3e\x1c\x27\x43\xc5\x83\xd8\xf9\x16\xfd\xf2\xd8\xe0\xd5\xf5\x5c\x56\xe4\xa7\x8d\xa4\x9a\x41\xfa\xc7\x17\x64\x95\x0e\x14\x1f\xd0\x97\xee\x54\xf1\x19\x7f\x7b\x3b\x17\xe1\x8c\x61\xf7\xa7\x62\x32\x86\xa5\xeb\x42\x8e\x03\x57\x84\x84\x47\xcf\x53\x1e\xd4\xb3\x6e\xa1\xd4\x95\x2c\x85\x4f\x51\x49\xaa\x93\x76\x41\xa5\x59\xc6\x98\x4e\x08\x51\xdc\x2d\x04\x5c\x27\x99\x3d\x3f\x1b\xc0\x84\x96\x7d\xf8\xb0\xb8\x4b\x22\x7a\xa6\x34\xb9\x16\x5a\xd7\x0a\xa5\x8e\x83\x08\x1a\x62\x86\xb3\xcc\x89\x3e\xd2\x81\x36\x3e\x90\x38\xf2\xbf\x69\xb5\xbf\x74\xcc\x1c\xc5\x16\x67\xb0\x22\xf1\xab\x2e\x88\x56\x5a\xaa\xd5\xe7\xb0\x98\x52\xab\x7e\x31\x1a\x69\x93\x1e\x8c\x33\x68\x22\x61\x24\x0b\xa4\xb7\xae\x27\x1d\x77\xce\x6b\x91\x15\x60\xc5\xd4\x63\xca\x28\xb0\x08\x5e\x44\xf7\xbb\x9c\x98\x6f\xf4\xbc\x0b\x73\xab\x9f\xae\xfd\xaf\xf9\x6a\xf6\x3a\x67\xdd\x25\x1d\x5e\xec\x2c\x6f\x72\x57\xf5\xfa\x9d\x71\xd6\x22\x74\x18\x15\xd7\xe1\xb5\x28\x3f\x1e\x88\x54\xbf\x21\x16\x26\xbc\x0c\x34\xf9\x44\xb7\xd3\xc6\x00\x16\x0f\xf7\xcb\x5b\xae\x58\x8f\x4f\xb9\xf4\x41\x93\x18\x8b\x9a\x83\xba\x0d\xfd\x40\x6c\x05\xcf\x1a\x61\x62\x23\xde\x27\x67\x4d\xf3\x31\x7d\x4a\x9b\xb7\x5a\x7e\x6a\x11\x16\x77\x7c\xb6\xc4\x5a\xd3\x1b\xf9\x36\x0a\x7d\x66\xd1\xa1\x94\xe9\x34\x24\x5a\x6f\x6a\xe1\x65\xc9\x61\x8d\x7b\xae\x1a\xb2\x46\x10\x99\xce\x04\x21\xe7\xad\x39\xc6\xb2\x9d\xd7\x2d\x6e\x2a\x24\x1b\x40\x24\xf8\xc8\xe4\x0b\x39\xe2\x26\x01\x0b\xce\x10\x32\x23\xcc\x34\x22\xbd\x29\xb8\x37\x15\x76\xdb\x72\x0f\x3c\x75\xb8\xb0\x38\xb5\xa4\x77\x49\xa3\xab\xfe\xc0\xf0\x15\x38\x54\x79\xda\x1e\x3e\xa7\x67\xd7\x43\xab\x94\x16\x85\xc7\xef\xea\xc6\x1f\x33\xfa\x1e\x9e\xb2\x4a\x48\x3f\x0d\xda\xba\x68\xc1\x54\xe8\xb9\xfb\x3d\xf1\x4a\x8a\x4e\x8b\xbe\xb5\x9a\x4b\x7a\x22\x0f\x42\x29\xb4\x59\x81\xc7\x63\xe0\x64\x07\x66\x6d\x6e\x20\xe2\xeb\xb0\x1e\xde\xf5\xaa\x8c\x13\x04\xb7\x5b\x51\x07\xe9\xce\x42\x83\xca\xeb\xe4\x61\xaf\xae\x6f\xe1\xeb\xc7\xfe\xfb\x53\x56\x3a\xe9\xc3\x2d\xef\xf0\x11\x7d\x2c\xba\x56\x79\x2a\xa1\x7f\x43\xbd\xf5\xbb\xab\x6b\xf8\xea\x2b\xf8\xd3\x2d\x5c\xf0\x28\x82\x77\xaa\x72\x65\x39\x54\x98\x73\x36\xfe\xf8\x87\x8b\x81\xc0\xa7\xa2\xff\xd7\xe0\xfc\x7f\x45\xef\x20\xb5\x60\x1c\x71\x89\x15\x85\x31\x43\x25\x2d\x96\x5e\x1d\xc9\x7a\xe7\x2c\x57\x49\x56\x40\xd8\x23\x73\x63\xa5\xc0\xb5\xeb\x87\xfb\xe5\x0f\xf0\x11\x8f\x81\xfc\x12\x88\x27\xad\xd6\x31\x93\x2d\xfa\x77\x7b\x21\x15\x79\xfd\x87\xb0\x9c\x0c\xf7\xb8\xe4\x6c\x16\x60\x36\xb6\x5c\xd4\xe0\xf1\xb9\xd3\x71\x9c\x65\x74\x39\x35\xb2\x83\x53\x9e\x1c\xee\x1b\x43\xf4\x3b\x06\x8b\xe3\x91\x81\x69\xf8\x90\x6a\x38\x51\x89\x4d\x71\xb9\x33\xc6\xe1\x40\xc4\xce\x1c\x08\x94\x09\x9f\xae\x5d\x07\xfb\x56\xd8\xa0\xae\x88\x73\x18\x0d\x07\x9e\x88\x0d\xf6\x89\x35\x73\x98\x08\xee\x8d\x05\xfc\x45\x50\xa7\x39\x03\xb9\x81\x15\x19\x74\xc5\x94\x5a\xc0\x5e\xa8\x16\x67\xb0\x6e\x3d\xac\x64\xb5\x82\xca\xa0\xd3\x97\x61\x10\xc6\x0a\x0e\x03\x52\xe8\xa8\x2e\x1c\x76\xb2\xdc\x05\x03\x6c\xa2\x45\x78\x82\x61\x92\x65\x25\xd7\x2e\xcb\x19\x4a\xc0\x45\x85\x1b\x6a\x18\x2f\x06\xf2\x16\x1b\x58\x07\x6b\xc5\x4a\x15\x1b\xfb\x1e\x4c\xdc\x1e\x84\x08\x12\xe0\xa4\xde\xaa\xa0\x16\x69\xf2\x2f\x02\x6d\xd8\x6d\x20\x95\x16\xce\x61\x49\x0e\xda\xa1\x6a\x5c\x8c\x6a\x07\x87\x9d\xa1\xad\xf4\xa5\x07\xd7\x5a\x0c\x16\xf4\x69\xae\xa3\x8c\xf9\x48\xa6\xa5\x3c\x9e\xcb\x1b\x22\xb7\x11\x56\xd4\x10\xea\x24\x05\x13\x61\x2c\x55\xf7\x0a\x9d\xb4\x58\x9d\xe4\x9a\xb8\x88\x72\x1e\x0f\x35\xab\xb4\x20\x22\x60\x6d\xac\x35\x87\xf3\x7b\x76\xd1\xe2\xbc\x6d\x4b\xdf\xf2\x24\x31\x8e\x0d\x13\x01\xb5\xf8\xa9\x45\x47\x61\x4d\x61\x31\x3f\x9b\x66\xb6\xe8\x43\x88\xc4\x5a\xbf\x8c\x9c\xa7\xab\xda\x70\x7b\x8e\xbb\xbf\x9d\x0e\x21\x2d\x55\x31\xcc\x15\xd3\xb5\xd9\x40\x8d\x95\xa4\x26\xa1\x1f\x2b\x74\xd3\x84\x54\xcf\x72\x16\xdb\xa7\xbd\xd7\x94\xee\x34\x68\x1c\x16\x6a\xf8\x09\x63\x4f\x9e\x7a\xfe\x34\x5c\x48\x0d\x57\xe2\x9b\x99\xa8\xd4\xa3\x12\x87\xa0\x3c\xa5\xb7\xdd\xf2\x5c\x74\x94\x14\x91\x25\x78\x58\xb3\x09\x53\x3a\x6f\x62\x65\x54\xd2\x79\xa4\x8e\x2e\xfd\xae\xa2\xc0\x34\xba\x8a\x6d\xe2\xc0\xf1\x9d\xae\x16\x6b\xb3\xc7\x6e\x42\xdc\xe9\x9c\x65\x70\xaa\x67\xe1\xa5\x71\x35\x1b\x46\x9c\xe7\x10\xe7\xea\xce\x0d\xf5\xe6\x48\xbc\x99\xbb\x75\x5a\xb2\xb8\xa3\x78\x0d\x94\xd5\xd2\x5b\x53\x40\x4e\x7a\x11\xd7\x9b\x04\x74\xa7\xf8\x84\xa6\x63\x64\x76\x43\x98\xae\x75\x24\x98\x26\x09\x57\xf9\x5e\x11\xa1\x54\x12\x09\x8f\xaf\xaa\x85\xb2\xa2\x12\x98\x4b\xe3\x5a\xd8\x53\xf3\xbe\x9b\x0a\x0d\x44\x2a\x89\x3c\x8b\x17\x44\xba\xdc\x28\xd0\x16\x77\x17\x27\xbb\x31\xc6\xc6\xcd\x4f\x5f\x8e\xcf\x74\xb4\x9d\x8e\x89\x1a\xc5\x07\xa1\x0d\x09\x9d\x11\x93\xa4\x61\x3b\x3b\x6e\x92\x32\x1e\x95\xeb\xf4\xf4\xca\xf0\x8c\x90\x74\x09\x46\xbf\x2d\x0e\xd3\x84\x7f\x4c\x98\x13\xe0\x3d\x4f\x53\x22\xa2\x87\x0c\x93\xc1\x2c\xaa\x2a\xc7\xf2\xb7\xa7\x00\xca\xf3\x71\x98\x73\x2e\x7b\x08\xc6\x6d\xce\xe6\xc1\xf8\xfb\x55\x5c\x19\x10\x35\xe2\x9f\x9c\x2b\x9b\xc6\x58\x8f\xd5\xc3\xfd\x72\xc9\xf7\x3e\xa9\x28\x0b\x8e\xe9\x34\x67\x0f\x77\x42\x3d\x33\xb0\xe9\xf4\xb4\x6f\xe3\x5f\x46\x7f\x82\x90\x5a\x34\x4d\xe8\x59\xd7\xc6\x28\x14\x7c\xbf\xd2\x0d\x1b\xb8\xac\xca\xa1\xbc\x1e\xea\xa5\xa4\x2e\x01\x5c\xd0\x9a\xec\xf7\x59\xe6\x74\x72\xc2\x8c\x3a\x7d\x63\x8c\x1a\xd1\xa2\xf7\xf1\xf8\x29\x69\x84\x2c\xc1\x2e\xda\xca\x3d\xea\xd8\x73\xb8\x78\xf0\x48\xe1\xa6\x33\x00\x8f\x84\x27\x39\x73\x58\xdc\x5f\x8c\xc4\xa9\x6a\x56\xf1\xc1\xdb\x16\x49\x76\x24\x16\xe7\xab\xf4\x3b\xdd\x79\xe8\x8c\x17\xa2\x9d\x27\xcc\xdc\xfb\x91\xb4\x8a\xf6\x1d\xd7\xfa\x17\x30\x54\xe9\xc6\x66\xce\xca\xef\x75\x30\xf4\x38\x36\xdf\x87\x9b\xab\x6e\x7e\x1d\x8c\xa8\x4b\x8b\x7e\x74\x93\x98\x8f\x40\xd7\x98\xee\xca\xba\x0e\xaf\xbb\x64\xa0\x83\x75\x17\x09\xaf\x08\xe5\x3e\xf6\x6e\xbb\xf2\x3a\x7b\x69\x80\x9f\x8b\xef\x78\x31\x29\x7d\x52\xf3\x0c\x40\x3e\x17\xe1\xa4\xe7\x78\xf2\xfb\x8a\xa8\x9f\x1c\x52\x8e\x2b\x8b\xc5\x89\xc2\x92\x91\x8a\xfc\x0e\x2a\xd4\xfb\x78\xa6\xc1\x85\x6d\x7f\x4f\x3b\x21\x2a\x71\x8d\xf3\xab\x38\xa8\x54\x4d\x55\x4e\xa8\x83\x38\x86\x72\xb4\x91\xd4\x57\x54\xe8\xbc\xd4\x62\x70\xf6\x4c\x78\x7f\x79\x43\x96\xef\x34\xad\xa5\x73\x3c\x27\x0f\x43\xfc\xd6\x79\x53\x77\x88\x27\x9a\x42\x31\xb7\xc6\x9e\xcf\x4c\xc9\x26\x89\x3b\x61\xab\x40\xfd\x09\xa0\x32\xf4\xde\x23\xe2\x33\x5d\x2a\xc7\xa3\x27\x56\xf3\x99\x4a\x19\x7e\xef\x0b\x65\xf8\x1e\xc7\x75\xe6\x4c\x95\x1c\xcf\xa7\x5e\x50\x27\x4f\x1b\x5d\xbe\xd1\xad\x4d\xab\x53\xce\x0f\x53\xb7\x3e\xcc\xce\xe1\x37\xa5\x19\xcd\xae\xdc\x32\xc3\x1c\xcc\x8e\x9d\xfc\x37\x9e\x0e\x08\x3f\x9b\xb8\x53\x6b\x7f\x4b\x55\x7c\xaa\x33\xef\x0a\x54\xea\xd1\x17\x77\xee\xe5\xca\x0a\x6b\xc5\x31\x95\xb7\xe7\x57\x9e\xd3\x70\x71\xc7\xc5\xe4\x1f\x81\xb7\xfd\x13\x8a\x51\x9f\x4c\x5d\x8f\x3b\xd3\x64\xbf\xc8\xb6\x8b\x9e\x75\xf2\xa5\x17\x5b\x93\x59\xad\x64\x7e\x96\x8d\x4b\x87\x52\x66\xa3\x86\xb1\xbf\x9a\x4f\xa5\x26\x1a\x82\xbb\x52\xc6\x38\xc9\x69\x84\x96\xe5\xfc\x73\xcd\x61\xea\xf3\x52\x89\xd0\x1b\x4f\x14\xf9\x44\x89\xac\x59\x4e\x36\x28\x91\x52\xfd\xfc\x9c\x4f\xba\x39\xc2\xd4\x2d\xde\xf3\xee\x08\x3d\x26\xf5\x7d\x3f\xe7\xdd\xde\x8b\x9b\xbd\x33\xec\xfa\x2a\x30\x55\xe2\xd6\x5a\xaa\x6b\xf8\xf5\xd7\xf4\xe8\x6d\xa4\xdc\xb2\xba\xbe\x85\x93\x75\xf4\xb9\xf8\x56\x68\xb2\x6a\x50\x8d\xbd\xd8\x9d\x2b\x58\x30\xbf\xfb\x20\x1b\x0c\xee\x2f\xbb\x3e\xa6\x16\xbe\xdc\xa5\xee\xa5\xbb\xca\xec\x70\xf0\xc2\x69\xd6\xeb\x87\x8d\x51\x35\x6e\x0e\x4e\xd8\xc5\x73\xf3\xc5\x57\x4c\x11\xcf\xee\xf1\xff\x19\x1f\x86\x2c\x4c\x6e\xe4\x9c\xd9\x3d\x39\x3f\x49\xec\xbc\xb2\x13\x7b\x1c\xea\x1e\x3a\x28\xfe\x63\x86\xf4\xfa\x69\x03\xf5\x3f\x1b\x5d\xc2\x90\x5d\xbd\xde\xdd\x89\x83\xf5\x09\x66\xc0\xfd\x7e\xe7\x50\x39\xcb\x1f\x7a\xe3\x97\xdd\x7c\x29\x4f\x22\xa3\x09\xdb\xe0\xa6\xbc\x4b\x1b\xcf\xa5\xf1\x65\xde\xa5\x9c\x21\x86\xf1\x4f\x4f\xe2\x6d\xf3\xcb\x60\xd6\x6b\x1c\xe8\xec\x04\xaf\x9a\x06\xe1\x04\x00\x7b\x00\x70\xf9\x98\x2b\x86\xc1\x6f\x04\x41\x72\xfb\x53\xf1\x9f\x00\x00\x00\xff\xff\x42\x9e\x6c\x8a\x9c\x28\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -215,7 +215,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0xc9, 0xf4, 0xa7, 0x4e, 0x92, 0x1c, 0x3c, 0xa2, 0x76, 0x60, 0x2f, 0xd9, 0x5c, 0x7f, 0x21, 0x9d, 0x7b, 0x55, 0x38, 0xf9, 0x8c, 0xe5, 0xcb, 0x83, 0x92, 0x65, 0x10, 0x38, 0x7d, 0x92, 0x2}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8b, 0x48, 0xb5, 0xa0, 0xa9, 0x41, 0x86, 0x3a, 0x1b, 0x2, 0xce, 0x36, 0x78, 0xcb, 0x98, 0x9a, 0xe8, 0xae, 0x62, 0xae, 0x61, 0x27, 0xc0, 0xdb, 0x3a, 0xf7, 0xb, 0x91, 0xa7, 0xcb, 0x80, 0xc1}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 45cc41ed..2d8c7e44 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,30 +1,30 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // burn_tokens.cdc (1.402kB)
-// create_forwarder.cdc (2.569kB)
+// create_forwarder.cdc (2.744kB)
 // generic_transfer.cdc (1.335kB)
 // metadata/setup_account_from_vault_reference.cdc (1.909kB)
-// mint_tokens.cdc (1.595kB)
+// mint_tokens.cdc (1.702kB)
 // privateForwarder/create_account_private_forwarder.cdc (1.683kB)
 // privateForwarder/create_private_forwarder.cdc (1.392kB)
 // privateForwarder/deploy_forwarder_contract.cdc (418B)
-// privateForwarder/setup_and_create_forwarder.cdc (2.215kB)
-// privateForwarder/transfer_private_many_accounts.cdc (1.241kB)
+// privateForwarder/setup_and_create_forwarder.cdc (2.482kB)
+// privateForwarder/transfer_private_many_accounts.cdc (1.507kB)
 // safe_generic_transfer.cdc (1.892kB)
-// scripts/get_balance.cdc (418B)
+// scripts/get_balance.cdc (543B)
 // scripts/get_supply.cdc (195B)
 // scripts/get_supported_vault_types.cdc (921B)
-// scripts/metadata/get_token_metadata.cdc (538B)
+// scripts/metadata/get_token_metadata.cdc (663B)
 // scripts/metadata/get_vault_data.cdc (602B)
 // scripts/metadata/get_vault_display.cdc (596B)
 // scripts/metadata/get_vault_supply_view.cdc (679B)
 // scripts/switchboard/check_receiver_by_type.cdc (570B)
 // scripts/switchboard/get_vault_types.cdc (698B)
 // scripts/switchboard/get_vault_types_and_address.cdc (676B)
-// scripts/test/example_token_vault_display_strict_equal.cdc (2.014kB)
+// scripts/test/example_token_vault_display_strict_equal.cdc (2.139kB)
 // scripts/tokenForwarder/is_recipient_valid.cdc (444B)
 // setup_account.cdc (1.414kB)
-// switchboard/add_vault_capability.cdc (4.035kB)
+// switchboard/add_vault_capability.cdc (4.108kB)
 // switchboard/add_vault_wrapper_capability.cdc (1.491kB)
 // switchboard/batch_add_vault_capabilities.cdc (1.342kB)
 // switchboard/batch_add_vault_wrapper_capabilities.cdc (1.575kB)
@@ -126,7 +126,7 @@ func burn_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x6f\x1b\x37\x10\xbd\xf3\x57\x0c\x7c\x48\x25\x43\x5e\xa1\x5f\x17\xc1\x49\x90\xaa\x75\x11\xa0\x28\x82\xda\xc9\xb5\x19\x71\x47\x22\x9b\x15\xb9\x20\x67\xb5\x11\x02\xff\xf7\x82\xe4\x2e\xc5\xdd\xb8\x46\xd1\x43\x75\xf2\x92\xf3\xf1\xe6\xbd\x37\xf4\xfa\xfa\x5a\x88\x07\xa5\x3d\xb0\x43\xe3\x51\xb2\xb6\x06\xb4\x07\x04\xa6\x63\xdb\x20\x13\xec\xad\x0b\x9f\xc5\x3d\x2b\x64\x90\xb6\x6b\x6a\xd8\x11\x74\x9e\x6a\xc1\x16\x3c\x31\x74\x2d\xa0\x01\x94\xd2\x76\x86\x81\x6d\x48\xee\xd1\xd5\x50\x53\x6b\xbd\x66\xaa\x81\xed\x27\x32\x3e\xdc\xa1\xb1\xac\xc8\x81\x23\x49\xfa\x44\xae\x12\xe2\xed\x1e\xd0\x9c\xad\x21\xf0\x64\x6a\x5f\x06\x87\x3e\xee\x1b\x0f\x77\xa9\x22\x39\xf8\x63\xc8\x5b\x09\x56\x94\xbf\xa0\xd7\x4d\x03\x7f\x75\x9e\x73\x73\x56\xd6\x53\x51\x2b\x84\x7f\xc0\xae\xe1\x34\x89\x42\x0f\x3b\x22\x23\xc2\x04\xe8\xe3\xb5\x23\xa9\x5b\x4d\x86\x01\x4d\x0d\x74\xd4\xe1\x0f\xa0\x53\x38\x89\x49\xda\xd4\x5a\x22\x93\x17\xbd\xd2\x52\x45\x74\x63\xc3\x30\xa5\x1a\x1b\x56\x03\xc1\x3d\x9e\x57\xa0\xc3\x7c\x60\xf7\xfb\x1b\xa9\x50\x1b\xf0\xe4\x4e\x5a\x12\xf4\x68\x38\x42\x3b\x5a\xa3\xd9\x3a\xe8\x95\x0d\x32\x0c\x05\xb5\x39\x88\x0b\x7c\xcd\x2b\xd0\x0c\x12\x0d\xf4\xc8\x52\x25\x58\xf1\xca\x13\x41\xaf\xc8\x51\x01\x00\x24\x1e\x09\xf6\xce\x1e\x2b\x21\xee\x99\xda\x21\x32\xa9\x95\xa4\xf2\xd0\x6b\x56\x29\x21\x4f\xe1\x36\x42\x7c\x5b\xc1\x83\x22\xb8\xeb\xcc\x41\xef\x1a\x82\x87\x18\x21\xad\x61\x87\x32\xb0\xc0\xe4\xf6\x28\x09\xbc\x8a\x7e\xc0\xc6\x11\xd6\xe7\xe0\x8b\x9a\xda\xc6\x9e\xa9\x06\x6f\x8f\x14\x41\x89\xef\x52\x35\x6c\xdb\x46\x4b\x0c\xf5\x78\x5a\x6f\xa8\x52\x64\x57\xe2\xfb\x94\x54\x28\x32\xd8\x6b\x08\x56\x78\x22\xc0\x41\xd0\x60\x56\x8e\x7e\x4e\x85\x1d\x21\x53\x2d\x00\x20\x0a\xe9\xd9\x3a\xaa\x41\x1b\xd0\xec\xe3\x17\x1e\x28\xcd\x8e\xd0\x76\xbb\x46\x7b\x45\x75\xf6\x92\xf8\xa1\x82\x9f\x23\x90\xc8\xe7\xc7\x38\xfd\x5d\xd6\xa4\x92\xb5\xfc\x78\x01\x1f\x5d\x5a\xeb\xfd\x9e\x5c\x01\x53\xfc\x58\x05\xcf\x02\x82\xa1\x1e\xde\xa4\xc3\x0d\x6c\x23\xb2\x58\x76\x9c\xc7\x58\x77\xc4\xa6\x39\xaf\x22\x5c\x56\x64\xc0\x75\x26\x75\x4e\x83\xfc\x99\xa5\x49\xad\x8b\xa5\x4c\x49\x07\x62\xd6\xe6\x00\x93\x85\x08\xd2\x4f\x1a\x25\x03\xcf\x8c\x5e\x89\xeb\xb5\x10\xfa\xd8\x5a\xc7\x59\xef\x24\x77\x2c\x70\x35\x39\xbb\x1a\x23\x7f\xf9\x8c\xc7\x76\x1a\x58\x1e\xe5\xb8\x19\x75\x43\xe8\xec\xf4\x4a\x88\x62\xa4\xc5\xf8\x30\x6c\xe0\x4d\x5d\x3b\xf2\x7e\x09\x5f\x44\x9c\xb3\x75\xd4\xa2\xa3\x05\x4a\xc9\x1b\xc0\x8e\xd5\xe2\x27\xeb\x9c\xed\x3f\x60\xd3\xd1\x0a\xde\x7a\xdf\xd1\x7d\x92\x77\x8b\x2d\xee\x74\xa3\xf9\xbc\x0d\x4a\xd9\xa6\x21\xb7\x82\x77\x49\xec\xcb\xe5\x0a\xee\xf1\x44\x43\xfe\x7b\xd3\xce\xef\x97\xf0\x62\x10\x2f\xa3\x08\xbf\xf5\x1a\x7e\x25\x1e\xa9\x4c\x84\xcb\x9c\x34\xf8\xf1\x42\xfd\x8e\xe2\xf0\x97\x77\xc2\xe6\x4a\x0d\x71\x61\xf2\x97\x41\xcb\xa1\x61\x26\x62\x59\xe5\xd2\x9a\x7c\x75\x20\xbe\x7d\xf1\x65\xa2\x4b\x15\xd7\xe0\xf1\xd5\xa2\x14\x21\x1d\xc6\x89\xe5\x3b\x64\xb5\xcc\x3d\xc3\xef\xf5\x6b\x68\xd1\x68\xb9\xb8\xda\xc6\x7d\x32\x96\x61\x17\xc9\x7c\x7a\xa2\x20\xdc\x57\xcb\x78\xb5\x9c\x50\x52\xb8\x3b\x5b\x36\x2d\x60\x58\x56\xcd\xe3\x2b\x3c\x77\x64\x6d\x47\xf7\x16\x2f\x5f\x49\xd0\x29\x6e\xf9\xed\xcd\xdc\x4f\x55\x5a\x90\xdf\xa9\xcf\xff\x1f\x16\x19\xe4\xe6\x82\xf7\x32\x7a\xb0\x4e\x35\xbc\x00\x55\x80\xb5\xb8\xbd\x89\xd5\x57\xc0\x76\x03\xeb\xe1\x6a\x4d\x05\x91\xb9\xf6\x74\xda\xf7\xa6\xd1\xe6\x53\x84\x4d\x9f\xb5\x8f\x1b\x78\x61\x6c\xda\x71\x22\x60\x37\xda\x6c\x2a\xd7\xb8\xb9\xa5\x62\x65\xbf\xdf\xc6\x6e\xe1\x45\xb9\x10\xf5\x94\x5c\x13\xf2\xe2\x9b\x38\x16\xdf\x62\x0b\x2f\x9f\xc0\x34\x52\xa2\xc3\x0a\x7d\x65\xaf\x31\xfb\xf1\xd5\x62\x62\xa2\x88\xec\x59\xca\x26\xe1\xcb\x67\x48\x19\x29\x99\xa3\x5d\x01\xf2\x06\xfe\x3b\x51\x19\x49\x8a\x7e\x96\xa4\x1c\xfb\x6f\x59\x9a\xdb\x71\xd6\xec\xff\xa2\xab\xc4\x9d\xf8\x5a\xc7\x7b\xf9\x4f\x36\x0e\x35\x1f\xc5\xa3\xf8\x3b\x00\x00\xff\xff\xb0\x0a\x8c\x7d\x09\x0a\x00\x00"
+var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x6f\x1b\x37\x10\xbd\xf3\x57\x0c\x74\x48\x57\x86\xbc\x42\xbf\x2e\x82\xe3\x20\x51\x6a\x20\x40\x5b\x04\xb1\xe3\x6b\x33\xe2\x8e\x44\x36\x14\xb9\x20\x67\xb5\x11\x02\xff\xf7\x82\xe4\xee\x6a\x57\x76\xdc\xa2\x87\xec\xc1\x30\xc9\xf9\x78\xf3\xe6\xcd\x68\x79\x71\x21\xc4\x9d\xd2\x01\xd8\xa3\x0d\x28\x59\x3b\x0b\x3a\x00\x02\xd3\xbe\x36\xc8\x04\x5b\xe7\xe3\x71\xf4\xce\x0a\x19\xa4\x6b\x4c\x05\x1b\x82\x26\x50\x25\xd8\x41\x20\x86\xa6\x06\xb4\x80\x52\xba\xc6\x32\xb0\x8b\xce\x2d\xfa\x0a\x2a\xaa\x5d\xd0\x4c\x15\xb0\xfb\x4c\x36\xc4\x37\xb4\x8e\x15\x79\xf0\x24\x49\x1f\xc8\x97\x42\xbc\xdb\x02\xda\xa3\xb3\x04\x81\x6c\x15\xc6\xc6\x31\x8f\xff\x21\xc0\x4d\x8e\x48\x1e\x3e\x74\x7e\x0b\xc1\x8a\x86\x13\xb4\xda\x18\xf8\xbb\x09\x3c\x24\x67\xe5\x02\x8d\x62\x45\xf3\x7b\x6c\x0c\xe7\x4a\x14\x06\xd8\x10\x59\x11\x2b\xc0\x90\x9e\x3d\x49\x5d\x6b\xb2\x0c\x68\x2b\xa0\xbd\x8e\xff\x00\x1d\xe2\x4d\x72\xd2\xb6\xd2\x12\x99\x82\x68\x95\x96\x2a\xa1\xeb\x13\xc6\x2a\x55\x9f\xb0\xec\x08\x6e\xf1\xb8\x00\x1d\xeb\x03\xb7\xdd\x5e\x4a\x85\xda\x42\x20\x7f\xd0\x92\xa0\x45\xcb\x09\xda\xde\x59\xcd\xce\x43\xab\x5c\x6c\x43\x17\x50\xdb\x9d\x38\xc1\xd7\xbc\x00\xcd\x20\xd1\x42\x8b\x2c\x55\x86\x95\x9e\x02\x11\xb4\x8a\x3c\x8d\x00\x80\xc4\x3d\xc1\xd6\xbb\x7d\x29\xc4\x2d\x53\xdd\x59\xe6\x6e\xe5\x56\x05\x68\x35\xab\xec\x30\x54\xe1\x57\x42\xfc\x58\xc2\x9d\x22\xb8\x69\xec\x4e\x6f\x0c\xc1\x5d\xb2\x90\xce\xb2\x47\x19\x59\x60\xf2\x5b\x94\x04\x41\x25\x3d\xa0\xf1\x84\xd5\x31\xea\xa2\xa2\xda\xb8\x23\x55\x10\xdc\x9e\x12\x28\xf1\x53\x8e\x86\x75\x6d\xb4\xc4\x18\x8f\xa7\xf1\xba\x28\x23\xef\x52\xfc\x9c\x9d\x46\x1d\xe9\xe4\xd5\x19\x2b\x3c\x10\x60\xd7\xd0\x28\x56\x4e\x7a\xce\x81\x3d\x21\x53\x25\x00\x20\x35\x32\xb0\xf3\x54\x81\xb6\xa0\x39\xa4\x13\xee\x28\xd7\x8e\x50\x37\x1b\xa3\x83\xa2\x6a\xd0\x92\xf8\xa5\x84\xb7\x09\x48\xe2\xf3\x53\xaa\xfe\x66\xe8\x49\x29\x2b\xf9\xe9\x04\x3e\xa9\xb4\xd2\xdb\x2d\xf9\x11\x4c\xf1\x6b\x19\x35\x0b\x08\x96\x5a\x78\x9d\x2f\x57\xb0\x4e\xc8\x52\xd8\xbe\x1e\xeb\xfc\x1e\x8d\x39\x2e\x12\x5c\x56\x64\xc1\x37\x36\x67\xce\x85\xfc\x35\xb4\x26\xa7\x1e\x0d\x65\x76\xda\x11\xb3\xb6\x3b\x98\x0c\x44\x6c\xfd\x24\x51\x16\xf0\x99\xd0\x4b\x71\xb1\x14\x42\xef\x6b\xe7\x79\xe8\x77\x6e\x77\x0a\x30\x9b\xdc\xcd\x7a\xcb\xdf\xbe\xe0\xbe\x9e\x1a\x8e\xaf\x06\xbb\x33\xea\x3a\xd3\xb3\xdb\xd9\x93\xf9\xff\x20\xc6\x0a\x19\xef\x35\xb5\xe1\x29\x30\x13\x83\x99\x10\x23\x5a\x8a\x7e\xb9\xac\xe0\x75\x55\x79\x0a\x61\x0e\x5f\x45\xe2\xaa\xf6\x54\xa3\xa7\x02\xa5\xe4\x15\x60\xc3\xaa\x78\xe3\xbc\x77\xed\x3d\x9a\x86\x16\xf0\x2e\x84\x86\x6e\xb3\x44\xd6\x58\xe3\x46\x1b\xcd\xc7\x75\xec\xb6\x33\x86\xfc\x02\xde\x67\xc1\x9c\x1e\x17\x70\x8b\x07\xea\xfc\x3f\xda\xfa\xfc\x7d\x0e\x2f\x3a\x01\x0c\x28\xe2\x67\x88\xe1\x10\xe5\xfb\x16\x19\xe1\xe5\x84\xd3\xd2\x53\x70\xe6\x40\xeb\x4e\x65\xb1\xc6\x22\xde\x35\x5e\xd2\xdd\xb1\xa6\x15\x58\x6d\x16\x70\xd0\xd4\xe6\x63\xfc\x7b\xf5\x6d\x7e\xca\x9b\xbb\xfb\x3e\xd7\x75\x31\x9f\x0f\x28\xe2\xf7\xea\x15\xd4\x68\xb5\x2c\x66\xeb\x34\x5b\xd6\x71\xd4\x54\x46\x07\x31\x46\x4a\xd4\x8d\x19\x0d\xda\x9f\xe5\x30\x8f\x2b\xfa\x40\x5b\x78\xd9\x0b\xaf\x94\x3d\x13\x9a\x42\xb9\x49\x64\x5f\xbd\xf8\x3a\xc1\x5a\x26\x70\x0f\xd7\xc5\x40\x48\xb9\xef\xe0\xbf\x47\x56\xff\x0e\x37\x87\x85\x37\x68\xd0\xca\xa8\xef\x34\x8e\x92\x26\x8b\x7f\x36\x3f\xb1\xbf\x5c\x8e\x87\x71\x98\xb0\xbc\x2f\xe2\x6e\xd1\xdc\xfb\x9e\x0f\x50\xe5\xfa\x61\x1b\x2d\xea\x47\x1c\xc0\xd5\xe5\xb9\xfc\xcb\x3c\xcf\x7f\x52\x3b\xfc\x9c\x15\xc3\x24\xae\x4e\x43\x79\x2a\x37\xaa\xb4\xec\x16\x56\x19\x61\x15\x57\x97\x29\xfa\x02\xd8\xad\x60\xd9\x3d\x2d\x69\xa4\x9d\x21\xf6\xb4\xda\x8f\xd6\x68\xfb\x39\xc1\xa6\x2f\x3a\xa4\x85\x31\x74\xe6\x38\xcd\x38\xe9\x58\xd3\x2b\xba\x98\x28\xb4\x5f\x34\x69\x1c\x64\xee\xd2\x38\xdf\xef\x7d\x36\x9b\x95\xd3\xaf\x80\x7e\x34\x9f\x4a\x1e\xc9\x4b\x2b\xbc\x0f\xbe\xc6\x3a\x0b\xe9\x0c\x53\x4f\x89\x8e\xd3\xfa\x48\x4c\xbd\xf7\xc3\x75\x31\x11\x4e\x42\xf6\x2c\x65\x13\xf3\xf9\x33\xa4\xf4\x94\x9c\xa3\x5d\x00\xf2\x0a\xfe\x3f\x51\x03\x92\x6c\xfd\x2c\x49\x83\xed\x7f\x65\xe9\x5c\x8e\x67\xc9\xbe\x17\x5d\x63\xdc\x99\xaf\x65\x7a\x97\xdf\x92\x71\x8c\xf9\x20\x1e\xc4\x3f\x01\x00\x00\xff\xff\xc8\xe8\xf7\x23\xb8\x0a\x00\x00"
 
 func create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -142,7 +142,7 @@ func create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x43, 0x9e, 0x1b, 0xb5, 0xbe, 0xa6, 0x21, 0x2f, 0x23, 0x99, 0x61, 0xc9, 0xd3, 0x2, 0xa5, 0x30, 0xd2, 0x8c, 0x8b, 0x7b, 0x14, 0x75, 0x52, 0x10, 0xf9, 0x31, 0xd1, 0x62, 0xd, 0x44, 0xc3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9e, 0x68, 0xba, 0xc7, 0xee, 0xf1, 0x95, 0x68, 0x8e, 0xd3, 0x88, 0x24, 0xf3, 0xad, 0x47, 0xf0, 0xb2, 0x7b, 0xde, 0x9f, 0x82, 0x9c, 0xd6, 0xd7, 0x1a, 0x67, 0x8c, 0x64, 0x17, 0xa7, 0x92, 0x5}}
 	return a, nil
 }
 
@@ -186,7 +186,7 @@ func metadataSetup_account_from_vault_referenceCdc() (*asset, error) {
 	return a, nil
 }
 
-var _mint_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x4b\x6f\xdc\x3c\x0c\xbc\xfb\x57\x10\x3e\x04\x36\xbe\xc4\x7b\xf9\xd0\xc3\x22\x9b\x20\x69\x9b\x9e\x0a\x04\x79\xdd\x65\x99\xde\x55\x6b\x4b\x06\x45\xe7\x81\x20\xff\xbd\xd0\xc3\x5e\x2b\xd9\xc4\x17\x03\xd2\x90\x33\x1c\x92\x52\xfd\x60\x88\xe1\x6a\xd4\x5b\x55\x77\x78\x67\xfe\xa2\x86\x96\x4c\x0f\x79\x72\x96\x67\x11\xf9\xf3\x59\xf4\x43\x0a\x5c\x1e\xe5\x59\xb6\x5a\xad\xe0\x6e\xa7\x2c\x30\x09\x6d\x85\x64\x65\x34\x28\x0b\x4f\x3b\xc1\xc0\x3b\x84\x5e\x69\x46\x82\x0b\x29\xcd\xa8\x19\x46\x8b\x16\xd8\xf8\x63\xd0\xf8\x04\xec\x12\xd9\x98\x07\x5f\x60\x20\xf3\xa8\x1a\xf4\xb1\x84\x52\x0d\x0a\x35\x83\x68\x1a\x42\x6b\x41\xe8\x06\x44\xef\x33\xc5\x24\xc7\xfe\xcc\xa1\x17\x99\x04\x61\x10\xd4\x22\x11\x36\x0e\xeb\x10\x73\x96\xd6\x49\x72\xd1\x4a\x6f\xb3\x6c\x21\xbd\x98\x29\xd7\x70\x11\xd0\xc7\x91\x70\x0d\xf7\x57\xea\xf9\xdb\xff\x25\xbc\x66\x19\x00\x80\x23\xba\xc1\x16\x09\xb5\xc4\x89\x22\xda\x03\xc1\xb2\xdf\xa1\xf8\x1b\xb4\x66\x24\x89\x60\xea\x3f\x28\xd9\x47\x77\xc8\x41\x71\xc0\xac\xe1\x68\xe9\x6c\x15\x4e\xbf\x20\x9a\x1a\x16\x99\x6e\x50\xa2\x7a\x44\x02\xd3\xa6\xd6\xa5\x64\x13\x6c\x0d\x47\xaf\x49\xcb\xab\x07\x31\x76\xfc\xb6\x27\xbc\xf3\x8e\xb2\xe8\xc0\x8e\xc3\xd0\xbd\xf8\xc4\xde\x61\xa8\xb1\x35\x14\x3a\x54\x8f\xa4\x67\x86\x00\xbc\xf4\xb7\x93\x5b\x21\xe1\x40\x38\x08\xc2\xc2\xaa\xad\x76\xe4\x62\xe4\x5d\x71\x69\x88\xcc\xd3\x83\xe8\x46\x2c\xe1\x28\x0e\x88\x73\x17\xe2\x67\xb1\x6b\xab\x65\x52\xd8\x24\x13\x59\x79\x7d\xb7\x1e\x90\xcd\x51\xab\x15\x84\xcc\x20\x80\xde\xbb\x26\x9a\x5e\xe9\x65\x1b\x66\x9e\x45\x2f\x60\x03\x41\x68\x65\xd9\x90\xd8\x62\x55\xfb\x84\xa7\x87\x5a\x74\x56\xb8\xbd\x58\xa7\xc2\x2e\x1c\xcd\x6d\x08\xbe\x16\xbc\x2b\x67\x2e\xf7\x9d\x9f\xc3\x20\xb4\x92\x45\x7e\xeb\x69\xdc\xbe\x68\xc3\xfb\x21\x0e\x32\xf3\x32\x29\xea\x17\x06\x84\x88\x9b\xf4\xbe\xd1\x7e\x0f\xea\xcf\x2a\x57\xe4\x90\xbe\xf7\x07\xea\x9e\xa7\x67\x03\x5b\xe4\xd8\x8a\xfd\x2e\x94\x95\x14\x83\xa8\x55\xa7\x58\xa1\x9d\xdd\x38\x38\x41\x67\x45\x52\xab\xfb\x12\x6b\x3c\xea\x7a\xac\x3b\x25\x9d\x33\x09\xb8\x5c\x58\x73\xaf\x85\x9b\x6e\x36\x53\x4d\x93\xfc\x7d\x69\x79\xb0\x35\x0e\x2d\x3e\xa3\x1c\x19\xa7\xed\x8c\xae\x7d\x27\x14\x1c\x5e\xa1\xe9\x81\x98\x6e\xdd\xc8\xfa\xd7\xa9\xf1\x9a\xe0\xf4\xe4\xc3\x24\x54\xee\xde\xeb\xb6\xc5\xf4\x0a\x84\x7f\xda\x9b\x1f\x38\x18\xab\x7c\x7f\xfa\x69\xd4\xbc\x5e\xfc\xda\xef\xaa\x09\x81\x71\x86\x4e\x4f\x16\x7a\x92\xe2\x06\x63\x79\xb1\x19\x9f\x6d\x01\x6c\x36\x07\xb6\xe6\xbf\xf9\x05\xcb\x3f\x6c\x75\x3f\x5a\x86\x1a\x41\x69\x49\x28\x2c\x36\x50\xbf\x84\x31\xf3\x21\x79\x14\xf1\xf6\x2f\x00\x00\xff\xff\xbb\x86\x5a\x5c\x3b\x06\x00\x00"
+var _mint_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x4f\x6f\xe2\x4e\x0c\xbd\xe7\x53\x58\x39\x54\x89\x7e\x6d\xb8\xfc\xb4\x07\x04\xad\xfa\x67\x7b\xab\xb4\xa2\x2c\x77\x27\x71\x60\x76\x93\x99\xc8\x33\x81\xa2\xaa\xdf\x7d\x35\x7f\x12\x92\x42\xcb\xa1\x15\x83\xfd\xde\xb3\xfd\x6c\xd1\xb4\x8a\x0d\x3c\x77\x72\x2b\xf2\x9a\xd6\xea\x2f\x49\xa8\x58\x35\x10\x4f\xde\xe2\x28\x44\xfe\x7c\xc3\xa6\x9d\x06\x8e\x9f\xe2\x28\x9a\xcd\x66\xb0\xde\x09\x0d\x86\x51\x6a\x2c\x8c\x50\x12\x84\x86\xc3\x0e\x0d\x98\x1d\x41\x23\xa4\x21\x86\xfb\xa2\x50\x9d\x34\xd0\x69\xd2\x60\x94\x7b\x06\x49\x07\x30\x16\x48\x07\x1c\x3a\x42\xcb\x6a\x2f\x4a\x72\xb9\x4c\x85\x68\x05\x49\x03\x58\x96\x4c\x5a\x03\xca\x12\xb0\x71\x48\x01\xe4\xda\xbd\xd9\xe8\x11\x12\x32\x79\x41\x15\x31\x53\x69\x63\x6d\xc4\x80\x52\x59\x49\x36\x5b\xc8\x6d\x14\x8d\xa4\x27\x03\xe5\x1c\xee\x7d\xf4\x75\x20\x9c\xc3\xef\x67\xf1\xf6\xe3\xff\x14\xde\xa3\x08\x00\xc0\x12\xad\xa8\x22\x26\x59\x50\x4f\x11\xda\x03\xbe\x65\x2f\xbe\xf8\x15\x69\xd5\x71\x41\xa0\xf2\x3f\x54\x18\x97\x5d\x93\xf1\x8a\x7d\xcc\x1c\xae\xc6\x9d\xcd\xfc\xeb\x37\x44\xfd\xc0\x02\xd3\x8a\x0a\x12\x7b\x62\x50\xd5\xb4\x75\x53\xb2\x3e\x6c\x0e\x57\xef\x93\x91\x67\x1b\xec\x6a\xf3\x71\x22\x5c\xbb\x8e\x1a\xac\x41\x77\x6d\x5b\x1f\x1d\xb0\xeb\x30\xe4\x54\x29\xf6\x13\xca\x3b\x96\x03\x83\x0f\x7c\x70\xbf\xf6\xdd\xf2\x80\x2d\x53\x8b\x4c\x89\x16\x5b\x69\xc9\xb1\x33\xbb\xe4\x41\x31\xab\xc3\x06\xeb\x8e\x52\xb8\x0a\x06\xb1\xdd\x85\xf0\xd1\x54\x57\xd9\x18\x14\x96\x13\x47\x66\x4e\xdf\xab\x0b\x88\x86\xac\xd9\x0c\x3c\x32\x20\xf0\xe7\xae\x61\xd9\x08\x39\x1e\xc3\xc0\x33\x9a\x05\x2c\xc1\x0b\xcd\xb4\x51\x8c\x5b\xca\x72\x07\xb8\xb8\x34\xa2\xdb\xc4\xee\xc5\x7c\x2a\xec\xde\xd2\xbc\xfa\xe4\x5f\x68\x76\xe9\xc0\x65\x3f\x77\x77\xd0\xa2\x14\x45\x12\xbf\x3a\x1a\xbb\x2f\x52\x99\x93\x89\xbd\xcc\x38\x3d\x15\x65\xdb\xbb\xb7\x13\x7a\x42\x83\x9f\xdb\xc0\xa4\x55\xbd\xa7\x47\x25\x0d\x63\x61\x36\x82\x0e\x09\x07\xcb\xad\x8f\x2d\xcd\x41\x8a\xfa\x1a\xf6\x82\x0e\xfe\xab\xfd\xbb\x98\x8c\xff\x85\x0c\x96\x68\xd0\xe6\xea\xec\x79\xbd\xe9\xb9\x6e\x93\xf4\x2b\xf1\x8f\xaa\xab\x4b\x27\x7c\xdb\xab\x03\x8b\xe1\x88\xa0\x52\xec\x0a\x2a\x82\xaa\xd8\xc3\x9c\x57\xb4\xa2\x0a\x96\x16\x22\x38\xe0\xb4\x82\x69\x56\x60\x8b\xb9\xa8\x85\x11\xa4\x87\x21\x5c\x34\xee\x6d\x32\xb4\x27\x6b\x42\x31\xdf\x75\xfe\x24\xde\xc3\xc2\x03\xd6\x68\x8d\x72\x66\x19\x87\x1f\xd4\x87\xfd\xa0\x37\x2a\x3a\x43\xfd\x21\x08\xae\x7b\x64\x42\xe3\x0f\x5e\x7f\x8b\xc6\xc5\xba\x43\x58\x3a\x34\x58\xdc\x9c\x99\x2e\xb3\xbf\xbb\x8a\x74\xd2\x1f\x1c\xff\x3f\x9d\xb0\x3c\x51\xab\xb4\x70\x66\x69\x7a\x89\x6c\xb7\x9a\xf6\xc4\x17\x2c\xdd\x6f\x7c\x56\xfa\xc4\x60\xd7\xc5\xcd\x48\xcf\xa4\xb8\x56\x69\x33\x5a\xc2\xaf\x16\x0e\x96\xcb\x0b\x0b\xfa\xdf\x70\x2c\xe3\xb3\x03\xd2\x74\xda\x40\x4e\x20\x64\xc1\x84\x9a\x4a\xc8\x8f\x7e\x29\x5d\x4a\x1c\x44\x7c\xfc\x0b\x00\x00\xff\xff\x70\xbd\xf0\xf8\xa6\x06\x00\x00"
 
 func mint_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -202,7 +202,7 @@ func mint_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "mint_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x44, 0xb7, 0x69, 0xe4, 0x6d, 0x5b, 0x93, 0xb6, 0x7d, 0x54, 0x15, 0x98, 0x88, 0x3d, 0x23, 0xf6, 0x6c, 0xe5, 0x6b, 0x1, 0x9b, 0xa8, 0x1, 0x20, 0x8d, 0x3f, 0xf7, 0xe8, 0xf3, 0xf6, 0x10, 0x59}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0xe, 0xa0, 0x7f, 0xfb, 0x64, 0x20, 0x18, 0x2b, 0xaa, 0xbc, 0xc3, 0x54, 0xc6, 0xa, 0x42, 0x2d, 0x43, 0x3e, 0x8, 0x97, 0xf4, 0xd5, 0x19, 0x87, 0x1, 0xc6, 0xd0, 0x2e, 0x46, 0x1, 0xe3}}
 	return a, nil
 }
 
@@ -266,7 +266,7 @@ func privateforwarderDeploy_forwarder_contractCdc() (*asset, error) {
 	return a, nil
 }
 
-var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x4f\x6f\xe2\x3e\x10\xbd\xe7\x53\xcc\xaf\x07\x14\x24\x0a\xf7\x0a\x2a\xfd\x84\x5a\x69\x2f\xab\x6a\x5b\xf5\x3e\x38\x03\x58\x0d\x76\x34\x9e\xc0\x56\x15\xdf\x7d\x65\x87\x04\xbb\x09\x5b\xba\x3e\x45\xf6\xfc\x79\xf3\xe6\xcd\x24\xd3\xbb\xca\xb2\xc0\x63\x6d\x36\x7a\x55\xd2\x8b\x7d\x23\x03\x6b\xb6\x3b\xb8\x49\xee\x6e\x5a\xcb\x87\xdf\xb8\xab\x52\xc3\xf8\xaa\xb3\x7b\x62\xbd\x47\xa1\x5f\xa4\x48\xef\x89\x1f\x2d\x1f\x90\x0b\xe2\x93\xcf\xa5\xe7\x9b\x2c\x9b\xcd\x66\xf0\xb2\xd5\x0e\x84\xd1\x38\x54\xa2\xad\x01\x2c\x0a\x07\x08\xaf\x58\x97\x32\x01\x84\xaa\xf1\x07\x3e\x05\x80\x75\x1b\x21\xf8\x23\xac\xb0\x44\xa3\x08\x14\x56\xb8\xd2\xa5\x96\xf7\x09\xa0\x29\xbc\x6b\xbd\x2a\xb5\x8a\x1e\xbc\x2f\xc8\xf6\x1c\x2c\xcb\xe2\xd4\x1f\x59\x06\x00\x50\x31\x55\xc8\x94\x3b\xbd\x31\xc4\x77\x80\xb5\x6c\xf3\x1f\xce\xd5\xf4\x2c\x96\x71\x43\xcb\x2e\xe0\xd2\x1a\x61\x5b\x96\xc4\x13\x78\xf2\xd9\xdc\x76\x19\xc1\x78\xc6\x3d\xbd\x62\x59\xd3\x18\x46\xff\x2b\x65\x6b\x23\x63\xf8\x08\x49\xfc\xd1\x6b\x68\x72\x4c\x3b\x88\x9a\xdc\x74\x43\x32\x1f\x5d\xa2\x6d\xda\x7d\xdd\xe7\x17\x6d\x3e\x3d\x04\x64\xea\x09\x65\x3b\x86\xff\x16\x60\x74\x19\x81\xf0\x67\x36\xeb\x68\xee\xd8\x85\x03\x3a\xc0\x92\x09\x8b\x77\x70\x24\x50\x57\x89\x0f\x93\xd4\x6c\xba\xab\x63\x36\x50\x96\x6b\xf8\x9a\xaa\x2d\xa9\xb7\xf9\x28\x96\xcf\x34\x34\xf8\x3e\xf7\x22\xb9\x83\xfe\xcb\x89\xea\x06\xf4\x62\x01\x6b\x2c\x1d\xf5\x61\x2f\x99\x3c\x6a\x04\x43\x87\x54\xb1\x21\x4a\x10\x42\x55\x0b\x68\x01\x6d\xe0\x84\x27\x09\xf2\x09\xaa\xc3\x3d\xe5\x89\x81\x3f\xf3\xdb\x04\xa1\x0a\x59\x1f\x76\x95\xbc\x87\x34\xf9\x78\xd2\x73\x11\xfb\x45\x59\x89\xc7\x78\x88\xc8\xb8\xbe\x93\x96\x9b\xaa\xce\x1a\xf3\x64\x1b\xa2\x82\x8a\xaf\x54\xb5\xb2\xcc\xf6\x30\x1f\x7d\x24\xd3\xde\xa0\x3a\xde\xe7\x7d\xa8\xb1\x6a\x16\x43\xaa\x29\x49\x60\xef\x2d\x97\x58\xc1\x62\x30\x69\xcb\xaa\xf6\xd3\x33\x2c\x80\x1e\x71\xfe\x5c\x4f\x5c\x4a\x5e\xd4\xd0\x04\x47\xd5\xcc\x66\xde\xc2\x9d\x00\xca\x50\x7b\xa2\x9a\x2f\x34\x24\xec\x01\x40\x68\x67\x2b\xee\x85\x20\x6f\x48\x44\x9b\x4d\x58\x32\x7d\x39\x66\x31\x75\xed\x0e\x8a\x02\x5c\x45\xe2\xa7\x06\xb6\x40\x8e\x03\x54\x7e\x47\x7f\x09\xb6\xf3\x16\x98\xdf\x5e\x5c\xf0\xa7\x31\xf8\x49\x87\xee\x2a\x67\x52\xba\xd2\x64\xe4\x6e\xa0\xbe\x28\xc9\xd0\xd4\xcd\x6f\xbb\xb4\x93\x30\x3e\xd7\xee\xb7\x78\x57\x0c\x36\x2b\xee\x91\x0d\xbd\x39\xff\xa5\x98\x9c\xad\x59\xd1\x70\xfd\x57\x4b\xfb\x9a\x7d\xdd\xeb\xcf\x3f\x14\x78\x61\x6b\xcc\x66\xed\xff\x27\x94\xf7\xad\x82\xff\x36\x30\x49\xba\x98\x95\x74\xe1\xf9\x69\xfa\xfe\xdf\x28\x4b\xeb\x38\x66\xc7\xec\x4f\x00\x00\x00\xff\xff\xdd\x40\xea\x6c\xa7\x08\x00\x00"
+var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x41\x6f\xf2\x38\x10\xbd\xe7\x57\xcc\x72\x40\x89\x44\xe1\x8e\x80\x6a\xc5\xb6\xd2\x1e\x76\x55\x6d\x11\xf7\xc1\x19\xc0\x6a\xb0\x23\x7b\x02\x8b\x2a\xfe\xfb\xca\x0e\x09\x76\x49\xb6\xf4\xf3\xa1\x2a\x8e\x3d\xf3\xe6\xbd\x79\xe3\x44\x1e\x4a\x6d\x18\x5e\x2b\xb5\x93\x9b\x82\x56\xfa\x83\x14\x6c\x8d\x3e\xc0\x20\xda\x1b\x34\x27\x5f\xfe\xc5\x43\x19\x1f\x0c\xb7\xda\x73\x6f\x46\x1e\x91\xe9\x1f\x12\x24\x8f\x64\x5e\xb5\x39\xa1\xc9\xc9\x5c\xef\xf4\x7d\x1e\x74\x22\xfa\x8b\x18\x73\x64\x5c\x4b\x3a\xd9\x2e\x78\xd1\x81\x41\x92\x4c\x26\x13\x58\xed\xa5\x05\x36\xa8\x2c\x0a\x96\x5a\x01\xe6\xb9\x05\x84\x35\x56\x05\x8f\x00\xa1\xac\x31\x80\xb9\x82\x80\x6d\x83\xc2\xdf\x47\xd8\x60\x81\x4a\x10\x08\x2c\x71\x23\x0b\xc9\xe7\x11\xa0\xca\xdd\xd5\x6a\x53\x48\x11\x7c\x70\x77\x81\xf7\xb7\x60\x49\x12\xa6\xfe\x4c\x12\x00\x80\xd2\x50\x89\x86\x52\x2b\x77\x8a\xcc\x14\xb0\xe2\x7d\xfa\xa7\xb5\x15\xbd\xb3\x36\xb8\xa3\x65\x1b\x70\xa9\x15\x1b\x5d\x14\x64\x46\xf0\xe6\xb2\xd9\xfd\x32\x80\xf1\x8e\x47\x5a\x63\x51\x51\x06\xc3\xdf\x85\xd0\x95\xe2\x0c\x3e\x7d\x12\xb7\x0a\x62\x38\xba\x3a\xff\x40\x46\x98\x47\xaa\x8d\x0d\x59\x5d\x1c\xc9\x67\x40\xc1\x8e\xb3\xd4\xed\x55\x46\xd0\xea\x5c\xd2\x14\x94\x2c\x46\x70\x94\x74\xaa\x7f\xba\xbf\xb3\x7e\xbe\xc7\xaf\xab\x75\x93\x6b\x91\x66\x59\x8b\xc2\xad\xe7\x67\x28\x51\x49\x91\x0e\x96\xba\x2a\x72\x50\x9a\x61\xd7\xa0\x03\x17\xc3\x27\x6a\xf9\x13\x57\x54\x83\x2c\x69\xe3\xc8\x2d\xd4\x8c\x8d\x5b\xc2\x25\xd9\xf1\x8e\x78\x36\xec\x6b\xa4\x71\xfb\xdf\x22\xed\x3d\xf3\xe5\x83\xe7\x59\xbc\x21\xef\x33\xf8\x6d\xee\x58\x08\x28\x75\x6b\x32\x69\x9b\xa6\xed\x15\x38\xa1\x05\x2c\x0c\x61\x7e\x06\x4b\x0c\x55\x19\xdd\x31\xc4\x95\x51\xed\xd6\xa5\xab\x2c\x5b\xab\x3f\x16\x7b\x12\x1f\xb3\x61\xa4\x96\xa7\x76\x91\xba\xa6\x9f\xde\x34\x6d\xae\xd4\x60\xe7\x73\xd8\x62\x61\xe9\x1e\xee\xd2\x90\x43\x8b\xa0\xe8\x14\x7b\xd7\xc7\xf5\xed\x5c\x56\x0c\x92\x41\x2a\xb8\x06\x8d\x82\x7c\x81\x68\xf1\x48\x69\x74\xc0\xad\xd9\x53\x84\x59\xf8\xac\x2f\x87\x92\xcf\x3e\x4d\xea\x71\x07\xcd\xd4\x55\x61\x96\x8d\xee\xe2\xb2\xee\xa9\x39\x3a\x99\x75\xb1\x1b\x16\x7f\xb5\x6b\x5d\xf2\xcd\x46\x4e\x01\x45\x94\x53\xfe\x5d\xab\x6d\xb4\x31\xfa\x34\x1b\x7e\x46\x2e\xa8\x91\x5f\x16\xe9\x0d\xe2\xe1\x6a\x8c\x56\x97\xfb\x26\x6a\xbd\xb9\xc4\x12\xe6\x9d\xe9\x1a\xb2\xa5\x1b\x0d\xdd\xfd\x70\x47\x95\x5b\xdf\x53\x15\xd3\x15\xe8\x1b\xe5\x2f\xeb\x81\x93\x36\x30\x47\x80\x1c\x0a\x11\x55\xd9\x43\xbe\x1f\x6b\x80\xd0\x98\x2b\xe4\x9d\xd1\xec\x88\x59\xaa\x9d\xf7\xfc\x7d\x5f\x46\x83\xac\x19\xa9\x41\x80\x87\x68\xfb\x22\x56\x03\xe4\xd2\x41\xde\x23\x3d\x16\x61\xba\xd9\x7f\xf6\xd4\xfb\xd6\x5d\x7d\xf0\x37\x9d\xda\xad\xd4\x90\x90\xa5\x24\xc5\xd3\x8e\xba\x82\x24\x5d\xb6\x9b\x3d\xb5\x69\x47\xde\x1a\x8f\x0e\xb6\xf7\x60\x58\x74\x8a\x14\x6a\xa3\xbd\x26\xb7\x07\xbb\x79\x1a\xba\xeb\x7f\xb8\x89\x1f\x19\xd4\x77\xba\xfc\x42\x81\x3d\x93\x61\x32\x69\x9e\x51\x5f\xde\x8f\x0a\xfe\x3f\x8b\x44\xe9\x42\x56\xe2\x61\xe6\xfc\xf3\xf3\x67\x28\x89\xeb\xb8\x24\x97\xe4\xbf\x00\x00\x00\xff\xff\x0d\x62\xb1\x6f\xb2\x09\x00\x00"
 
 func privateforwarderSetup_and_create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -282,11 +282,11 @@ func privateforwarderSetup_and_create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/setup_and_create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x35, 0x5b, 0x14, 0x7f, 0x94, 0x67, 0xd0, 0xa1, 0xde, 0x63, 0x63, 0x5b, 0xdf, 0x54, 0x0, 0x1e, 0x1, 0xdd, 0x20, 0xad, 0xb1, 0xeb, 0x68, 0x84, 0x30, 0x5b, 0x39, 0x9d, 0x57, 0x92, 0x8d, 0x69}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0xe6, 0x4a, 0xeb, 0x61, 0xec, 0x8b, 0x55, 0xb2, 0x19, 0xde, 0x6c, 0xed, 0x34, 0x24, 0x5, 0xd4, 0x0, 0x23, 0x98, 0x6, 0x55, 0x52, 0x37, 0x21, 0x37, 0x33, 0x28, 0xcd, 0x7b, 0xaf, 0xe3}}
 	return a, nil
 }
 
-var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x6a\xdb\x40\x10\x3d\x7b\xbf\x62\xe2\x43\x2a\x43\x2b\x5f\x4a\x0f\x22\x6d\x70\x4b\xdd\x53\x21\x24\x69\x7a\x28\x3d\x8c\xb5\x23\x69\x89\xbc\x2b\x66\x47\xb6\x43\xf0\xbf\x17\x69\xd7\x46\xaa\x31\x86\xd2\x93\xc4\xec\x9b\x37\xf3\xde\xcc\x98\x75\xe3\x58\x60\xd9\xda\xd2\xac\x6a\x7a\x74\xcf\x64\xa1\x60\xb7\x86\xe9\x28\x36\x55\x11\xf9\x75\x87\xeb\x66\x0c\x1c\x86\x8e\xb8\x3b\x36\x1b\x14\xba\xa7\x9c\xcc\x86\x78\xe9\x78\x8b\xac\x89\x63\xce\xb9\xe7\xa9\x52\xf3\xf9\x1c\x1e\x2b\xe3\x41\x18\xad\xc7\x5c\x8c\xb3\xe1\xbf\x20\xf6\x20\x0e\xd6\x68\x5f\x00\xb5\x66\xf2\x9e\x3c\x48\xc5\xae\x2d\x2b\x90\x8a\x0c\x43\x13\x98\x81\x23\xb5\x57\x6a\x40\x94\xc4\xb4\xc5\xda\xb5\x56\xbe\x63\x93\xc1\xeb\x22\x84\x32\xf8\xb1\x34\xbb\x0f\xef\xf7\x33\x78\x55\x0a\x00\xa0\x6f\x84\xe0\x09\xdb\x5a\x80\xc9\xbb\x96\x73\x02\xa9\x50\xa0\x72\xb5\xee\x2a\x13\x48\x27\xdb\x87\x28\x32\xc1\x8a\x8c\x2d\x8f\xfd\x32\xe9\x9e\xaa\x26\x81\x4d\xc7\x73\x4f\x45\x06\xd8\x4a\x95\x8c\xfc\x4d\x7f\x1a\xa9\x34\xe3\x16\x57\x35\xcd\xe0\x7a\xe8\x69\xda\x37\xa0\x8e\x3c\x51\x61\xf4\xcc\xd8\xf2\x81\xac\x26\xce\xe0\xfa\x9c\xab\x69\x40\x04\x8a\x86\xa9\x41\xa6\xc4\x9b\xd2\x76\x59\x7d\x33\x9f\x1d\xb3\xdb\x3e\x61\xdd\x76\xd5\x17\x79\xde\xd9\x73\x34\x22\x9a\xf1\x8d\x04\x10\x98\x0a\x62\xb2\x9d\x13\xae\x77\x20\x10\xbd\xf1\xe0\xc5\x31\xe9\xa0\xf3\x98\xe7\xa9\x2e\xd2\x83\x74\xf8\x18\xd1\x69\x87\xc5\x92\xd2\x55\x5f\xf8\xe6\x5f\x1c\xf9\x94\x74\xbb\x94\xc1\xe9\xcb\x43\x20\xbf\x43\xa9\x66\x6a\x32\x99\xdc\xde\x42\x83\xd6\xe4\xc9\xf4\x8b\x6b\x6b\x0d\xd6\x09\x84\xc2\xa7\x6a\xdc\x36\x88\xe9\x89\xae\xa6\x33\x35\x56\x72\xc6\xfc\xb3\xc2\x2e\xcd\xe4\x20\xe2\x02\xec\xff\x2b\xda\x87\x0f\xed\x28\x6f\x85\x86\x93\x2e\x1c\x1f\xae\x0b\x8c\x85\xbf\x2f\x26\x7d\xa6\x17\x3f\xc4\x5f\xf2\x26\xf5\x64\x75\xd4\xd7\x0f\xc9\x1f\xae\xf0\x6d\xbc\x9e\x0c\x6e\xde\x8d\xf6\x24\xdd\xc6\xe1\x27\xd8\x97\xcd\x4e\xba\xf8\x15\x03\xbf\xaf\x66\x83\x11\xed\xa3\xb4\xbd\xfa\x13\x00\x00\xff\xff\xc4\xa9\xac\xca\xd9\x04\x00\x00"
+var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x4b\x6f\x9b\x40\x10\x3e\x87\x5f\x31\xf1\x21\x05\x29\xc5\x97\xaa\x07\x94\x87\xd2\xb4\xee\x29\x52\x94\xb8\xee\xa1\xea\x61\x0c\x63\x58\x05\xef\xa2\xd9\xc1\x24\x8a\xfc\xdf\xab\x85\x85\x40\x13\x2b\x52\x55\x1f\xfc\x58\x7f\x33\xf3\x3d\x66\x51\xdb\xca\xb0\xc0\xa2\xd6\xb9\x5a\x97\xb4\x34\x0f\xa4\x61\xc3\x66\x0b\xb3\xc9\xd9\x2c\xf0\xc8\x6f\x8f\xb8\xad\xa6\xc0\xf1\xd1\x80\xbb\x65\xb5\x43\xa1\x3b\x4a\x49\xed\x88\x17\x86\x1b\xe4\x8c\xd8\xd7\x1c\xfa\x7b\xa8\x9f\x4c\xbf\x21\xc1\x0c\x05\x57\x8a\x1a\xfb\x16\xbd\x09\x60\x16\x04\xf3\xf9\x1c\x96\x85\xb2\x20\x8c\xda\x62\x2a\xca\xe8\xee\xfb\x86\xd8\x82\x18\xd8\xa2\x7e\x02\xcc\x32\x26\x6b\xc9\x82\x14\x6c\xea\xbc\x00\x29\x48\x31\x54\x1d\x3b\x60\x4f\xcf\x06\xc1\xa8\x51\xe8\xcb\xae\xb6\xa6\xd6\x72\x83\x55\x02\xcf\x57\xdd\x51\x02\x3f\x16\xea\xf1\xf3\xa7\x7d\x04\xcf\x41\x00\x00\xd0\x12\x21\x58\x61\x5d\x0a\x30\x59\x53\x73\x4a\x20\x05\x0a\x14\xa6\xcc\xdc\x64\x02\x71\x1a\x6c\x77\x8a\x4c\xb0\x26\xa5\xf3\x81\x2f\x53\xd6\xb6\x2a\x49\x60\xe7\xfa\xdc\xd1\x26\x01\xac\xa5\x08\x27\x26\xc4\x3f\x95\x14\x19\x63\x83\xeb\x92\x22\x38\x19\xe7\x12\xb7\x04\x82\xa1\x8f\x57\xe8\x7d\x57\x3a\xbf\x27\x9d\x11\x27\x70\x72\x28\x99\xb8\x43\x74\x2d\x2a\xa6\x0a\x99\x42\xab\x72\xed\xaa\x5a\x32\x5f\x0c\xb3\x69\x56\x58\xd6\x6e\xfa\x55\x9a\x3a\x7b\x06\x23\x26\x0a\xbe\xa2\x20\x9c\x4f\x96\x29\x76\xe6\x94\x3b\xba\x36\x5a\x18\x53\x71\x51\x86\xbd\x61\xcb\xa7\x8a\x12\xd0\xaa\x3c\x85\x9d\xa2\xa6\xfb\xe9\xde\xcf\x0e\xaf\x41\xbc\x58\xae\xfa\x59\x17\x61\x14\x0d\x2c\xdc\xeb\xf2\x12\x2a\xd4\x2a\x0d\x67\xd7\xa6\x2e\x33\xd0\x46\x20\xef\xd9\x81\xeb\xd1\x0e\x82\x8d\xe1\x36\xa1\xd4\xb3\x9a\x45\x2f\x6a\xe6\x73\xf8\x4e\x02\x08\x4c\x1b\x62\xd2\x2e\x57\xd3\xa2\x3b\x5b\x3e\x58\xb0\x62\x98\xb2\xae\xeb\x50\x67\xa9\xdc\xc4\x7d\x90\x70\xee\xd1\xb1\xc3\x62\x4e\xf1\xba\xb5\xf1\xec\x5f\xf2\xbd\x08\xdd\xdd\x48\x5e\x3c\xee\x9b\xde\xa2\x14\x51\x70\x74\x74\xf4\x96\xee\x6e\xe0\x6b\x15\xa6\xe9\x44\xb4\xad\x8f\xc7\xca\x5b\x05\x07\x56\xe8\xa0\xa0\xf7\x36\xab\x27\xff\x0e\xec\xfe\xbf\x2b\xda\x77\x1f\xf4\x48\x69\x2d\x34\xde\x57\x97\xbe\xbf\xec\xa0\x34\xfc\x7d\xef\xe3\x07\x7a\xb2\x63\xfc\x7b\xde\xc4\x96\x74\xe6\xf5\xb5\xb1\xd9\xfe\x59\x72\xea\x9f\x01\x09\x9c\x7d\x9c\xec\x47\xdc\xf8\xd0\x43\x6c\xc7\x26\xaf\x58\xfc\xf2\x07\xbf\x8f\xa3\x51\x44\x7b\x2f\x6d\x1f\xfc\x09\x00\x00\xff\xff\xc6\xed\x22\xd7\xe3\x05\x00\x00"
 
 func privateforwarderTransfer_private_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -302,7 +302,7 @@ func privateforwarderTransfer_private_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/transfer_private_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1d, 0xa5, 0x2d, 0xa, 0x7c, 0xa5, 0xc4, 0x27, 0x83, 0xe8, 0x34, 0x3e, 0xcb, 0x7f, 0x2e, 0x5f, 0x21, 0x5e, 0xd8, 0x5f, 0x69, 0x16, 0x8d, 0x29, 0x61, 0x0, 0x1c, 0xeb, 0x45, 0x22, 0xd1, 0x57}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcf, 0xe1, 0xf9, 0xbc, 0x21, 0x30, 0x5a, 0x98, 0xf3, 0x63, 0xba, 0xd4, 0x34, 0xa1, 0x72, 0x9a, 0xa4, 0xe4, 0x24, 0xd5, 0x33, 0x64, 0xe1, 0xaa, 0x58, 0xe6, 0x17, 0x14, 0x88, 0xed, 0x8f, 0x56}}
 	return a, nil
 }
 
@@ -326,7 +326,7 @@ func safe_generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x90\x3f\x4f\xc3\x30\x14\xc4\x77\x7f\x8a\x53\x06\x48\x96\x64\x41\x0c\x15\xa2\x2a\x88\xce\x1d\x0a\xfb\x8b\xf3\xd2\x3c\xe1\xd8\x91\xff\x88\x4a\x55\xbf\x3b\x22\x26\x55\xe3\xe9\x74\xfe\xf9\x7c\xba\xa6\xc1\x71\x90\x80\xa0\xbd\x4c\x11\x9e\xa9\x0b\x88\x03\xa3\x25\x43\x56\x33\x7a\x61\xd3\xa9\xa6\x81\xeb\x41\x16\xa4\xb5\x4b\x36\x3e\x06\x7c\x9c\x69\x9c\x0c\x1f\xdd\x37\x5b\xbc\x65\x5a\x29\x19\x27\xe7\x23\xf6\xc9\x9e\xa4\x5d\x6e\x7b\xef\x46\x14\x2b\xaf\x58\xc8\x55\x4c\x06\xef\xad\x42\x29\xd2\x9a\x43\x28\xc9\x98\x0a\x7d\xb2\x18\x49\x6c\x49\x5d\xe7\x39\x84\x0d\x76\x59\x54\x1b\x7c\xee\xe5\xfc\xfc\x84\x8b\x02\x00\xcf\x31\x79\x8b\x13\xc7\x5d\x6e\xbc\xbc\xa8\x6a\x4d\x13\xb5\x62\x24\x0a\x87\xba\x75\xde\xbb\x9f\x97\x87\xcb\xaa\x5d\xfd\x45\xc9\xc4\xeb\x6b\x39\x67\x2d\xe7\xbe\x57\x26\x0e\xa9\x35\xa2\x0f\x14\x87\x1b\x58\x6d\xeb\xff\xe9\x6e\xd6\x76\x8b\x89\xac\xe8\xb2\x78\x77\xc9\x74\xb0\x2e\x22\xff\xbb\xec\x06\xcf\x3d\x7b\xfe\x53\xd1\xcd\xf3\xcf\xf1\x45\xa5\xae\xea\x37\x00\x00\xff\xff\xc6\x8b\x3f\x45\xa2\x01\x00\x00"
+var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x51\xc1\x8e\x9b\x30\x14\xbc\xfb\x2b\x46\x1c\x5a\x90\x2a\xb8\x54\x3d\x44\x69\xa2\x34\x6d\x6e\x95\x7a\xa0\xb9\x3f\xcc\x23\xb1\xd6\xd8\xc8\x7e\x24\x59\x45\xf9\xf7\x15\x10\xa2\x85\x03\x7a\x1e\x8f\x67\xc6\x9e\xa2\x40\x79\x36\x11\x51\x07\xd3\x09\x02\x53\x1d\x21\x67\x46\x45\x96\x9c\x66\x34\x86\x6d\xad\x8a\x02\xbe\x01\x39\x90\xd6\xbe\x77\xf2\x35\xe2\xcf\x8d\xda\xce\x72\xe9\xdf\xd8\xe1\xd7\xc4\x56\xca\xb4\x9d\x0f\x82\x43\xef\x4e\xa6\x9a\x77\x9b\xe0\x5b\x24\x0b\x2c\x99\x99\x0b\x99\x89\xf8\x19\x4a\x94\x22\xad\x39\xc6\x94\xac\xcd\xd0\xf4\x0e\x2d\x19\x97\x52\x5d\x07\x8e\x71\x85\xdd\x34\x64\x2b\xfc\x3f\x98\xdb\x8f\xef\xb8\x2b\x00\xb0\x2c\xb8\x50\x6f\xe5\x37\x09\xe1\xe7\xc2\x26\x0f\x1c\xbd\xbd\xf0\xde\x3b\x09\xa4\xe5\x68\xf8\x9a\x0e\x58\x1f\x34\x97\xef\x1d\xaf\xe0\x8c\xfd\x86\x8b\xe1\xeb\xb4\x1c\xfe\xeb\x45\xfe\xbf\x2c\x54\x93\xd0\x70\x36\xe6\x87\xf2\x38\x7b\x6d\xd2\x2c\x53\x63\x84\xc0\xd2\x07\x87\x13\xcb\x6e\x7a\xb4\x39\x74\x96\x6b\xea\xa8\x32\xd6\x88\xe1\x98\x57\x3e\x04\x7f\x5d\x7f\xb9\x2f\x0c\xf2\x51\xf1\xb1\x49\x47\xad\xf9\x7b\x5d\x29\x6f\x9f\x01\xfe\x91\x9c\x5f\x94\x6c\x9b\x3f\x7b\x7b\x41\xdb\x2d\x3a\x72\x46\xa7\xc9\xde\xf7\xb6\x86\xf3\x82\xc9\x71\x2e\x0d\x81\x1b\x0e\x3c\x4c\xe2\xc7\xee\x47\xeb\x24\x53\x0f\xf5\x11\x00\x00\xff\xff\x7f\xb0\x16\x47\x1f\x02\x00\x00"
 
 func scriptsGet_balanceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -342,7 +342,7 @@ func scriptsGet_balanceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_balance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0xca, 0x65, 0xa9, 0x80, 0x53, 0xaf, 0x4a, 0x37, 0x2, 0x8d, 0xb0, 0xfb, 0x24, 0x9b, 0xce, 0x49, 0x8d, 0xc2, 0xad, 0xa, 0xea, 0x83, 0x64, 0x9b, 0x5e, 0xd1, 0x95, 0x2f, 0x9c, 0x98, 0x29}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x82, 0xbf, 0x1d, 0x3c, 0xd9, 0xda, 0xd7, 0xc9, 0xe0, 0xb5, 0xc1, 0x61, 0x55, 0x38, 0xeb, 0xff, 0xc3, 0xc8, 0x76, 0x35, 0x1f, 0xda, 0x26, 0x47, 0xbd, 0xaf, 0x31, 0xb6, 0x53, 0x17, 0x41, 0x63}}
 	return a, nil
 }
 
@@ -386,7 +386,7 @@ func scriptsGet_supported_vault_typesCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x90\xc1\x8a\x83\x30\x10\x86\xef\x79\x8a\xc1\xc3\xa2\x17\x1f\x40\xd6\x2d\x65\xd9\xde\x16\x4a\x29\xbd\x8f\x71\xb4\x61\x63\x22\xc9\xc4\x2e\x94\xbe\xfb\x62\x8d\x92\xcb\xd6\x8b\x33\xc3\xfc\x5f\xfe\xf9\xd5\x30\x5a\xc7\xf0\xf5\x8b\xc3\xa8\xe9\x6c\x7f\xc8\x40\xe7\xec\x00\x59\x3a\xca\x44\xdc\x3b\x04\xd3\xab\x26\x4e\xbf\x89\xb1\x45\xc6\x8b\xa2\x9b\x8f\xaa\xff\x17\x36\xc6\xdc\x9d\xc8\x5b\x3d\x91\x8b\xaa\x74\x94\x09\x81\x52\x92\xf7\x39\x6a\x5d\x40\x17\x0c\x0c\xa8\x4c\x8e\x6d\xeb\xc8\xfb\x0a\xf6\x4b\x51\x54\x2f\xdc\x94\x87\xf3\xfc\x87\xbb\x00\x00\xd0\xc4\x80\x52\xda\x60\x18\x6a\xe8\x89\xf7\x4b\xb3\x32\x0b\xb1\xad\x4d\x18\x34\x9f\xa8\x83\x7a\x55\x94\x12\x47\x6c\x94\x56\xac\xc8\x97\x8d\x75\xce\xde\xde\xdf\xee\xa9\xe5\x72\x2d\x1e\x1f\x79\x1a\x5b\x79\x99\x69\xc7\xd0\x68\x25\x8f\xc8\xd7\xe2\xf9\xcc\xfc\xed\x76\x30\xa2\x51\x32\xcf\x3e\x6d\xd0\x2d\x18\xcb\xb0\xa0\x01\xc1\x51\x47\x8e\x8c\x24\x60\x0b\x7c\xa5\xc5\x14\xb8\x35\xa0\xc4\x6e\xc7\xcf\x33\xeb\x57\x51\xf4\xc4\x4b\x1a\xf9\x94\x78\xae\xb6\x53\x23\xce\x11\x07\x67\x22\x51\x3c\xc4\x5f\x00\x00\x00\xff\xff\x48\x12\x3f\xca\x1a\x02\x00\x00"
+var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x91\xd1\x6a\xeb\x30\x0c\x86\xef\xf3\x14\x22\x17\x87\x04\x0e\x79\x80\xd0\xb4\x94\x9e\xd3\xbb\xc1\x28\x65\xf7\xaa\xa3\xb4\x66\x8e\x1d\x14\x39\xdd\x28\x7d\xf7\x91\xda\x09\xd9\x60\xcd\x45\x6c\xfd\xc8\xbf\x3e\x49\xba\xed\x1c\x0b\xfc\xff\xc0\xb6\x33\x74\x74\xef\x64\xa1\x61\xd7\x42\xba\x94\xd2\x24\xe6\xed\xbd\x3d\xeb\x53\x54\x5f\x48\xb0\x46\xc1\x37\x4d\xd7\x3e\xbe\xfa\x3d\x61\xf6\x18\xa3\x03\xf5\xce\x0c\xc4\xf1\xd5\x52\x4a\x93\x04\x95\xa2\xbe\xcf\xd0\x98\x1c\x1a\x6f\xa1\x45\x6d\x33\xac\x6b\xa6\xbe\x2f\x61\x1b\x2e\x79\xf9\x84\xa6\xd8\x1f\xc7\x13\x6e\x09\x00\x80\x21\x01\x54\xca\x79\x2b\x50\xc1\x99\x64\x1b\x82\xc9\x33\x4f\xe6\xb4\x01\xbd\x91\x7f\x28\x08\xd5\xb7\xa1\x14\x1c\xf0\x76\xce\x0a\xa3\x92\xd1\x3d\x1b\x35\xcf\x8a\x8e\x9f\x1d\x95\x60\xb5\xf9\x0b\x83\xa6\x6b\x08\xc7\xff\xea\x39\xe1\x54\x6b\x9d\xe5\x3f\x11\x0e\xd4\x40\x35\x41\x17\x0a\x3b\x3c\x69\xa3\x45\x53\x5f\x9c\x1c\xb3\xbb\xae\xfe\xdc\x96\x53\x2b\xa6\xcb\x7d\x9d\xcd\x3d\x14\x6d\xac\xf8\x8a\x72\xc9\x1f\x05\xc6\x6f\xb3\x81\x0e\xad\x56\x59\xba\x73\xde\xd4\x60\x9d\x40\x30\x05\x04\xa6\x86\x98\xac\x22\x10\x07\x72\xa1\x80\x03\x3c\x6d\x67\x01\xda\x3c\xa6\x00\xd5\xb3\x3d\x9c\x49\xc2\x2a\xb2\x61\x41\x5b\xce\x4d\x46\x3b\x26\xf1\x6c\xa3\x63\x72\x4f\xbe\x02\x00\x00\xff\xff\x26\x57\xa0\x97\x97\x02\x00\x00"
 
 func scriptsMetadataGet_token_metadataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -402,7 +402,7 @@ func scriptsMetadataGet_token_metadataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_token_metadata.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd, 0xc, 0x14, 0x2b, 0x3c, 0xff, 0xa6, 0x9f, 0xb6, 0xd8, 0x95, 0xa7, 0x74, 0xd0, 0xee, 0x21, 0xf5, 0xa5, 0x4f, 0x4b, 0x3, 0x9d, 0x14, 0xad, 0xc3, 0x7d, 0x18, 0x2, 0xbe, 0x26, 0xc5, 0x18}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdb, 0xf9, 0x7f, 0xd6, 0x2e, 0xd7, 0x18, 0xb0, 0x6f, 0x14, 0x5c, 0xa5, 0xaa, 0xe9, 0xf5, 0x83, 0x19, 0xa9, 0x7d, 0xd3, 0x34, 0xfc, 0x3e, 0xb5, 0xf7, 0x47, 0x2e, 0x6c, 0x79, 0xbf, 0x7, 0x3e}}
 	return a, nil
 }
 
@@ -526,7 +526,7 @@ func scriptsSwitchboardGet_vault_types_and_addressCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x8f\xdb\x36\x10\xbd\xeb\x57\x0c\x54\xc0\x90\xd1\x44\xde\x7c\xec\x36\x31\xea\x06\x69\x1b\xa3\x87\x04\x58\x2c\xd4\xf4\x10\x04\x0b\x8a\x1a\xcb\xc4\x52\xa4\xc0\x19\xd9\x5e\x04\xfb\xdf\x0b\xea\xcb\xb4\xad\x2e\xca\x93\xc8\x79\xf3\x66\xf8\xc4\x79\xaa\xaa\xad\x63\x58\x37\xa6\x54\xb9\xc6\xcc\x3e\xa0\xf9\x82\x2c\x0a\xc1\xe2\xab\xc2\x3d\xc1\xc6\xd9\x0a\xe2\xff\x06\xc4\x51\xcf\x31\x95\x36\x8d\xf4\xbb\x3b\x24\xab\x77\xe8\x7a\x60\x78\x34\xe2\x3e\x1d\x44\x55\xf7\x35\x7b\x5c\x78\x14\x47\xd1\x62\xb1\x80\x0c\x89\x61\x8b\xba\x46\x07\x24\x9d\xaa\x19\xd8\xc2\x4e\x68\x55\x08\xc6\x53\x12\x42\xb7\x43\x82\x75\xf6\xa7\xa2\x5a\x8b\x47\x10\x04\x78\xa8\x51\x32\x16\x9e\x2c\x12\x52\x22\x51\x22\xb4\x9e\xc3\xa6\x31\x50\x09\x65\x12\x51\x14\x0e\x89\x96\xf0\xb1\xfb\x98\x2f\xe1\x77\x6b\x35\xfc\x88\x00\x00\x34\x32\x08\x29\x6d\x63\x18\x56\x50\x22\x7f\xec\x36\x43\xda\x3c\x1a\x61\x43\x29\x58\x3d\xa3\x78\x3a\x76\x97\xb4\x89\xc3\x32\xa2\xc2\xe5\xa8\xc0\x48\x00\x9d\x16\x2f\x4e\xb0\xf4\x58\xe5\x56\x7b\xf4\x3a\x3b\x0b\x15\xd8\x89\xa4\xac\x59\x42\x9c\x6d\x15\xf9\x8b\x76\x54\xdc\x8a\xa4\x08\x1a\xc2\xc2\x6b\x23\x0c\x60\x5f\x8f\x6d\x2b\x32\x3c\xda\x06\x0a\xdc\xa1\xb6\xed\xb7\x03\x83\x07\x86\x75\x06\x3f\x59\xb3\xd6\x76\x9f\x9e\xd5\xc3\x03\xa3\x33\x42\xff\x7d\xf7\x79\x79\xfa\x46\xd2\x4f\xc7\x50\x12\x6f\x99\x6b\x5a\x2e\x16\x7d\xbd\x97\x1b\x4e\xad\xd9\x78\x42\xeb\xca\x78\x7e\x4a\xaa\x6d\x69\xe9\x9c\xee\x0b\x16\x4a\x50\xf2\xed\x04\xe9\xd7\x04\x2c\xb9\x00\xf9\xb5\x51\x1a\xcf\x59\xff\xca\xb2\xdb\xb5\xd2\x38\x9d\xe1\x57\xe3\xbc\xd2\x43\xff\x82\x08\x99\xd2\x3d\xe6\xa4\x18\x5f\x7a\x4a\x4a\xa5\xad\x16\xd7\x9b\x9b\xd7\xef\xdf\xca\x2b\xf9\x8b\x78\x27\x8b\xe2\xe6\xed\x9b\xfc\x95\x7c\xf7\xfa\xea\x2c\x20\xae\xaf\x65\xfe\x4a\xbe\x7f\x73\x73\xef\xe5\xbc\xff\xc7\xba\xa2\x12\xee\x21\xa5\x5d\x19\x4f\xf6\x70\xa6\xcd\xb0\x2a\x7f\xcf\xec\xb1\xf6\x8f\x46\x55\xa2\xc4\x05\xed\xca\x9f\x0f\x95\xbe\x64\x99\x7f\x8f\x9e\x21\x24\x2b\x95\xd0\xb4\xec\xdf\x7b\xb8\x62\xde\x2b\x66\x74\xf1\xff\xfa\xb5\x3d\xb8\x55\xc3\xff\xd9\xfb\x5c\x5b\xf9\x20\xb7\x42\x99\x78\x7e\xc2\xfd\x34\xee\x82\xe9\xd9\x89\x46\xf3\x1d\x6e\x60\x35\xcc\x5b\x2a\x45\x2d\x72\xa5\x15\x2b\xa4\x34\xb7\xce\xd9\xfd\xaf\xb3\x1f\xa1\x99\xa4\xc3\xc7\xd3\x6f\x49\x68\x05\xe9\x57\xcf\x76\xdb\xe4\x5a\xc9\x5b\xc1\xdb\x63\xfd\x0f\x1f\xa0\x16\x46\xc9\x24\xfe\xc3\x36\xba\x00\x63\x19\x3a\x6a\x10\xe0\x70\x83\x0e\x8d\x6c\xe7\x81\xb7\xd8\x35\x05\x6e\xb0\xae\xa0\x5d\x21\xb9\x11\xfa\xf9\x51\x2f\x91\x8f\xd3\x3e\xdc\x6f\xaa\x95\xce\xbe\x0a\x8b\xd4\xf6\xa3\xfc\x3d\x2a\x34\x1c\x58\xd9\x4e\xe1\x7e\xa8\xef\x1f\xa1\xe3\xa4\x6b\x21\x6d\xa7\x25\x55\x8c\x15\xa5\x1a\x4d\xc9\x5b\x58\xad\x46\x33\x9a\x08\xbf\x80\x0a\x89\x44\xe9\x9f\x4e\x37\x55\xd0\xe7\x55\x8a\x2a\xc1\x72\x1b\x4f\xb8\xda\x67\x5b\xda\x16\x0d\xd3\xe4\xdf\xae\xbe\x9f\x89\x13\x66\x5c\xf6\x3a\xe0\x1d\x72\xe3\xcc\x91\xd2\x1b\xa1\xbf\x40\x9f\xd1\x6e\x67\xb3\x63\xbc\x33\xbf\x00\xd1\x1f\xcc\x66\xa3\xb0\x23\x36\x70\xc3\x20\x21\x3c\x0d\x99\x03\x2f\x4b\x1b\x17\x96\x38\x8f\xcc\x66\x70\x51\x6c\xbc\x6d\xea\x4d\x21\x6d\x9c\x4a\xe6\x47\x8a\xc9\x68\x50\xfc\x18\x1f\x07\x7b\x2a\x79\x0c\x46\x4f\x51\xf4\x6f\x00\x00\x00\xff\xff\x90\x1e\x92\x8c\xde\x07\x00\x00"
+var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\xdb\x38\x10\xbd\xeb\x57\x0c\xb4\x80\x21\x63\x53\x3a\xfd\x48\xb6\x35\xea\x16\xdd\xb6\xc6\x1e\x5a\xa0\x08\xb4\xdd\x43\x51\x04\x63\x6a\x2c\x13\xa1\x48\x81\x1c\xd9\x0e\x8a\xfc\xf7\x05\xf5\x65\x59\xd1\x06\xcb\x83\x21\x72\xde\xbc\x19\x3e\x73\x9e\x2a\x4a\xeb\x18\xd6\x95\xc9\xd5\x46\x53\x6a\xef\xc8\x7c\x25\xc6\x0c\x19\xbf\x2b\x3a\x78\xd8\x3a\x5b\x40\xfc\xdf\x80\x38\x6a\x39\xa6\xd2\xa6\x91\x61\x77\x43\xde\xea\x3d\xb9\x16\x38\x3c\xea\x71\x9f\x8f\x58\x94\x6d\xcd\x16\x37\x3c\x8a\xa3\x68\xb1\x58\x40\x4a\x9e\x61\x47\xba\x24\x07\x5e\x3a\x55\x32\xb0\x85\x3d\x6a\x95\x21\xd3\x39\x89\x27\xb7\x27\x0f\xeb\xf4\x93\xf2\xa5\xc6\x7b\x40\x0f\x74\x2c\x49\x32\x65\x81\x2c\x42\x29\xc9\xfb\x04\xb5\x9e\xc3\xb6\x32\x50\xa0\x32\x09\x66\x99\x23\xef\x97\xf0\xa1\xf9\x98\x2f\xe1\x4f\x6b\x35\xfc\x8a\x00\x00\x34\x31\xa0\x94\xb6\x32\x0c\x2b\xc8\x89\x3f\x34\x9b\x2e\x6d\x1e\xf5\xb0\xae\x14\xac\x9e\x50\x5c\xf4\xdd\x25\x75\x62\xb7\x0c\x16\xb4\xec\x15\xe8\x09\xa0\xd1\xe2\xe2\x0c\xeb\xef\x8b\x8d\xd5\x01\xbd\x4e\x47\xa1\x8c\x1a\x91\x94\x35\x4b\x88\xd3\x9d\xf2\xe1\xa2\x0d\x15\xd7\x22\x29\x0f\x95\xa7\x2c\x68\x83\x06\xa8\xad\xc7\xb6\x16\x19\xee\x6d\x05\x19\xed\x49\xdb\xfa\xdb\x81\xa1\x23\xc3\x3a\x85\xdf\xac\x59\x6b\x7b\x10\xa3\x7a\x74\x64\x72\x06\xf5\xdf\x37\x5f\x96\xe7\x6f\x44\x7c\x3e\x85\x92\x78\xc7\x5c\xfa\xe5\x62\xd1\xd6\x7b\xb6\x65\x61\xcd\x36\x10\x5a\x97\xc7\xf3\x73\x52\x6d\x73\xeb\xc7\x74\x5f\x29\x53\xe8\x93\x1f\x67\xc8\xb0\x26\x60\xc9\x23\x50\x58\x5b\xa5\x69\xcc\xfa\x57\x9a\x7e\x5b\x2b\x4d\xd3\x19\x61\x55\x2e\x28\xdd\xf5\x8f\xde\x13\x7b\x71\xa0\x8d\x57\x4c\xcf\x02\xa5\x17\xd2\x16\x8b\xab\xed\xf5\x8b\x37\xaf\xe4\xa5\xfc\x03\x5f\xcb\x2c\xbb\x7e\xf5\x72\xf3\x5c\xbe\x7e\x71\x39\x0a\xe0\xd5\x95\xdc\x3c\x97\x6f\x5e\x5e\xdf\x06\x39\x6f\xff\xb1\x2e\x2b\xd0\xdd\x09\xbf\xcf\xe3\xc9\x1e\x46\xda\x74\xab\x08\xf7\x4c\xef\xcb\xf0\x68\x54\x81\x39\x2d\xfc\x3e\xff\xfd\x58\xe8\xc7\x2c\xf3\x9f\xd1\x13\x84\xde\x4a\x85\xda\x2f\xdb\xf7\x3e\x5c\x31\x1f\x14\x33\xb9\xf8\x7f\xfd\xb5\x2d\xb8\x56\x23\xfc\xb3\xb7\x1b\x6d\xe5\x9d\xdc\xa1\x32\xf1\xfc\x8c\xfb\xa1\xdf\x0d\xa6\x67\x8f\x95\xe6\x4f\xc8\x08\xab\xb3\xa9\x16\xae\x31\x8e\x8f\xd6\xb0\x43\xc9\xa1\x83\x24\x9c\x55\x4e\x52\x23\x80\x51\xfa\x02\xf6\x8a\x0e\xcd\x36\xfc\xbe\x7d\x72\x02\xbf\x77\xb5\xde\x25\xf3\x71\x0b\x37\xb4\x85\x55\x37\xf2\x42\x62\x89\x1b\xa5\x15\x2b\xf2\x62\x63\x9d\xb3\x87\xb7\xb3\x5f\x43\x3f\x13\xdd\xc7\xc3\xbb\xa4\xbf\x83\x28\xda\x8a\xdf\x90\x77\xa7\xcb\xbf\x7f\x0f\x25\x1a\x25\x93\xf8\xa3\xad\x74\x06\xc6\x32\x34\xa4\x80\xe0\x68\x4b\x8e\x8c\xac\x87\x91\x77\xd4\xb4\x03\xae\xf3\xcd\x41\xa3\x28\xb9\x42\xfd\xb4\xcf\xe4\xc4\x27\xab\xe9\x6e\x36\xd5\x4a\xe3\x9d\x99\x25\x5f\xf7\xa3\x82\xf2\x05\x19\x1e\xf8\x68\xd0\xb6\xab\x1f\x26\xc0\x71\xd2\xb4\x20\xea\x51\x15\x8a\xa9\xf0\x42\x93\xc9\x79\x07\xab\x55\xef\x84\x13\xe1\x0b\x28\xc8\x7b\xcc\xc3\xbb\x6d\x46\x1a\xda\xbc\x42\xf9\x02\x59\xee\xe2\x09\x4b\xfd\x62\x73\x5b\xa3\x61\x9a\xfc\xc7\xe5\xcf\x91\x38\xc3\x8c\xc7\xbd\x76\x78\x47\x5c\x39\x73\xa2\x0c\x2e\x1c\x2e\xd0\x66\xd4\xdb\xd9\xec\x14\x6f\x9c\x77\x80\x68\x0f\x66\xb3\x5e\xd8\x1e\x3b\xb0\xe2\x41\xc2\xf0\x74\xc8\x3c\x30\x52\x51\xb9\x61\x89\x71\x64\x36\x83\x47\xc5\xfa\xdb\x8a\xe0\x48\xa2\x72\x2a\x99\x9f\x28\x26\xa3\x83\xe2\xa7\x78\xef\x2a\x53\xc9\x7d\x30\x7a\x88\xa2\x7f\x03\x00\x00\xff\xff\x3f\x03\x2a\xcb\x5b\x08\x00\x00"
 
 func scriptsTestExample_token_vault_display_strict_equalCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -542,7 +542,7 @@ func scriptsTestExample_token_vault_display_strict_equalCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/test/example_token_vault_display_strict_equal.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0xa1, 0x11, 0xd4, 0xb8, 0x6e, 0x2f, 0x2b, 0xc7, 0x13, 0xb2, 0xdd, 0x50, 0x7b, 0x8a, 0xe5, 0xdc, 0x85, 0xb2, 0x93, 0x2c, 0xae, 0x97, 0x1c, 0x7e, 0xf9, 0x12, 0x8e, 0x8e, 0x90, 0x42, 0x5b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xa4, 0x5c, 0xcd, 0x94, 0x6a, 0xcc, 0xce, 0xc5, 0xcb, 0xf8, 0x65, 0x7e, 0xc0, 0x9b, 0xa1, 0x9f, 0x16, 0x8d, 0x3b, 0xd6, 0x3d, 0x8c, 0x6a, 0x8e, 0x54, 0x1e, 0xe9, 0xe4, 0xc3, 0xa6, 0xc}}
 	return a, nil
 }
 
@@ -586,7 +586,7 @@ func setup_accountCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xdb\x38\x10\xbd\xfb\x57\x0c\x7c\xf0\xca\x81\x57\xba\x1b\x49\x8b\xae\xd1\x5d\xec\x65\x51\x34\xdd\xde\xc7\xd4\xc8\x22\x2a\x93\x02\x39\x72\x12\x04\xf9\xef\x0b\xea\xcb\x64\x25\xf9\x6b\x8b\xf8\x12\x45\xe4\xcc\xbc\x79\x33\x9c\x27\xca\x7d\xa9\x0d\xc3\x9f\x95\xda\xc9\x6d\x41\xdf\xf4\x0f\x52\x90\x19\xbd\x87\x79\xf0\x6e\x3e\x1b\xdb\xf9\xf8\x24\x59\xe4\x5b\x8d\x26\x1d\x33\xf2\x96\x7b\xfb\xcf\xcf\xb8\x2f\xc3\x40\xfe\xab\xf9\x6c\x96\x24\x09\x7c\xcb\xa5\x05\x36\xa8\x2c\x0a\x96\x5a\x81\xb4\x80\xc0\xb4\x2f\x0b\x64\x82\x4c\x1b\xf7\xaf\xb7\xce\x39\x32\x08\x5d\x15\x29\x6c\x09\x2a\x4b\x29\x6c\x5f\x00\xd5\x8b\x56\x04\xac\x01\xd3\x14\x10\x14\x3d\x41\xd6\x22\x04\xae\x21\x1c\xb0\x2a\xb8\x8e\x29\xb0\xc4\xad\x2c\x24\xbf\x38\x03\xce\x49\x1a\xb0\x5e\x82\x86\xac\xae\x8c\x20\xb7\x79\xe6\xc7\x7e\x9d\xcd\x00\x00\x0a\x62\x20\x2f\x95\xef\xce\xf3\xa6\x77\xba\x86\xe3\xf3\xfd\xe2\x35\x20\x2a\xfe\x4a\x82\xe4\x81\xcc\xdb\x87\xde\x95\x17\xfa\x2b\x65\x6b\x80\xc5\x14\xb7\xb1\xf7\xdc\x40\x29\x0d\x95\x68\x28\xb2\x72\xa7\xc8\xac\x01\x2b\xce\xa3\x3f\xb4\x31\xfa\xe9\x3b\x16\x15\xad\xe0\x6f\x6b\x2b\x7a\x64\x6d\x70\x47\x47\x5c\x1b\xad\xd8\xe8\xa2\x20\xb3\x82\x2f\xd5\xb6\x90\x36\x3f\x2e\xae\xe0\x11\x0f\xd4\xda\xff\xab\xca\x9f\xd7\x97\xb0\xf8\x24\x84\xae\x14\x2f\x3b\x4a\xdc\x2f\xb9\x0b\x6b\x5e\xd3\x02\x42\xab\x4c\xee\x2a\x83\x35\x83\x77\xc9\x71\xbb\xff\x08\x9b\x76\x1b\x01\xaa\x31\x37\x32\x03\x45\x94\x52\xda\x1b\xc9\x0c\x9a\xac\x63\xdb\x64\x17\x6f\xeb\xbc\xef\x17\xbe\x79\x5c\x9b\x7f\x88\x5c\x03\xae\x61\xb8\xd2\x32\xf3\x05\x39\x5f\xc2\xc3\x03\x28\x59\xc0\x6b\x1f\xa3\x03\x67\xc8\x35\x63\xd3\x56\x23\xe0\x50\xa5\x60\xf1\x40\x20\x19\xa4\x82\x16\x4f\xe0\xe5\x27\xa8\x6e\x77\x74\xff\x7b\x80\x47\xd4\x51\x3e\xef\x4b\x7e\xa9\xdd\x46\xcb\x15\xb0\x3e\x07\x7a\x80\xb5\x20\x34\x40\xcf\xd2\xb2\x54\xbb\x63\x2b\x4a\xb2\xe0\x4e\x0e\x2a\xad\xa4\xc0\x02\x4a\xe4\xdc\x8e\x61\x14\x9e\x49\x5c\x75\xe5\x8f\x86\x30\xea\xc6\x11\x43\x14\x57\xf8\xe9\x8e\xc3\x94\xab\x24\x69\x1a\xb8\x25\x7a\x01\x9d\x41\x90\x58\x60\xe2\x8e\xd4\xa1\x3d\x91\xf0\x30\x0a\xa6\xab\x82\x74\xae\xc7\xfb\xe5\x0a\xd2\x5d\x40\xd3\xc2\xba\x38\xe6\xe4\x58\xb8\x26\x72\x92\x74\x87\x77\x9a\x8e\x31\x2c\x5d\x29\x3a\x9a\x56\x80\x3c\xd6\x67\xd7\x14\xb8\xf3\xe9\x31\x31\xe2\xf6\x54\xbd\xdf\xfa\x27\x7f\x30\xfc\x45\xec\x46\x74\x37\x70\xfd\x61\xee\x0f\xf2\x5a\x60\xdc\xbe\x06\xdb\x6f\x16\xb0\x19\x51\xbd\x2f\x4b\x45\x16\x9f\x18\xdb\x13\x75\xdb\x11\x9f\xaa\x56\xc0\x8b\xfb\x9d\x49\x37\xd8\xbf\x84\x8f\x1f\xa1\x44\x25\x45\x34\x7f\xac\x63\x43\xaa\xc9\x82\xd2\x0c\xb9\x9b\x27\xd8\xb9\x83\x66\xdc\x74\xe4\x7a\x99\xcf\x97\xa3\xb4\x6d\x72\x12\x3f\xdc\x8c\x74\x9c\x8c\x98\x35\x13\xe2\xd8\x2a\x68\x2d\x19\x0e\xd3\x39\xc7\x58\x2c\x5c\x10\x37\xa6\x02\xb3\x3d\x59\x8b\x3b\x5a\xc3\xed\x39\xf5\xfe\xc6\x92\xbb\x03\xff\x6b\xc4\x12\x57\xe5\x25\xba\xe2\x8b\xe7\x55\x72\x72\x89\x1a\x77\x02\x33\xbd\xf7\x6a\x9d\xf1\xe1\xde\x2c\x30\x93\x78\x1a\xb1\xf1\xde\x74\x6a\x73\x51\x06\xef\x26\x3a\x93\x68\xce\x09\xc7\x8d\x6e\xcf\xea\x50\xaf\x3f\x8b\xa0\x40\x27\xd5\xe8\x17\x8a\xc3\x60\xdc\xb8\xdf\x25\x25\x1b\x18\x0e\x35\xcc\xfb\x0e\x6d\x68\xb8\x11\xef\xc4\x11\x69\x7c\xae\xe0\xdd\x73\xfb\xbf\x2a\x39\x50\xb4\x5f\xda\x94\x5d\x94\x31\xf6\xcf\x84\x3b\x2d\xa2\xad\x76\x22\x18\xca\xc8\x90\x12\xd4\xde\x76\x5a\x18\xd6\x2f\x78\xa8\x92\xe1\x8d\xe4\xd8\x03\xb7\x4d\xc6\x41\x79\x2e\x1f\x95\x93\x6a\xb9\xa9\x2f\x80\x4e\x53\x1a\x2c\x61\x92\x1e\xfe\x56\x1e\x67\x0d\x37\xf5\x1f\x7a\x26\x51\x31\x05\x57\x97\x04\x3e\xa5\x69\x4d\xce\xe0\x72\x18\x5c\x0d\x2b\xeb\xe6\x1b\xa6\xe9\x3f\xf4\xd4\x7c\x92\xee\x89\x73\x7d\x92\xbf\xd8\xdb\x1e\x09\xef\x9a\x78\x4e\x5f\x43\xe8\x6f\xb3\xff\x02\x00\x00\xff\xff\x38\x97\x93\x3b\xc3\x0f\x00\x00"
+var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4f\x6f\xe3\xb8\x0f\xbd\xe7\x53\x10\x39\xe4\xe7\x14\xf9\x39\xf7\xa0\xed\x60\x36\x3b\xb3\xd8\xc3\x2e\x06\xd3\x6e\xef\x8c\xcc\xc4\xc2\x38\x92\x21\xd1\x49\x83\xa2\xdf\x7d\x21\xdb\xb2\xa5\xc6\x6e\xd3\xee\x60\x72\x68\xfd\x47\x24\x1f\x9f\x48\x3e\x4b\xee\x4b\x6d\x18\xbe\x56\x6a\x27\x37\x05\xdd\xeb\x1f\xa4\x60\x6b\xf4\x1e\xa6\xd1\xb3\xe9\x64\x68\xe5\xdd\x51\xb2\xc8\x37\x1a\x4d\x36\x64\x14\xbc\xee\xec\xbf\x3c\xe2\xbe\x8c\x03\x85\x8f\xa6\x93\xc9\x72\xb9\x84\xfb\x5c\x5a\x60\x83\xca\xa2\x60\xa9\x15\x48\x0b\x08\x4c\xfb\xb2\x40\x26\xd8\x6a\xe3\x6e\x83\xf7\x9c\x23\x83\xd0\x55\x91\xc1\x86\xa0\xb2\x94\xc1\xe6\x04\xa8\x4e\x5a\x11\xb0\x06\xcc\x32\x40\x50\x74\x84\x6d\x8b\x10\xb8\x86\x70\xc0\xaa\xe0\x3a\xa6\xc0\x12\x37\xb2\x90\x7c\x72\x06\x9c\x93\x34\x60\x83\x04\x0d\x59\x5d\x19\x41\x6e\xf1\x24\x8c\xfd\x34\x99\x00\x00\x14\xc4\x40\x41\x2a\x0f\xce\xf3\xba\x73\xba\x82\xfe\xfa\x7a\xf6\x14\x11\x95\x7e\x27\x41\xf2\x40\xe6\xf9\xb6\x73\x15\x84\xfe\x4e\xdb\x15\xc0\x6c\x8c\xdb\x34\xb8\x6e\xa0\x94\x86\x4a\x34\x94\x58\xb9\x53\x64\x56\x80\x15\xe7\xc9\x6f\xda\x18\x7d\x7c\xc0\xa2\xa2\x05\xfc\x69\x6d\x45\x77\xac\x0d\xee\xa8\xc7\xb5\xd6\x8a\x8d\x2e\x0a\x32\x0b\xf8\x56\x6d\x0a\x69\xf3\xfe\xe5\x02\xee\xf0\x40\xad\xfd\x3f\xaa\x7c\xf9\x7e\x0e\xb3\xcf\x42\xe8\x4a\xf1\xdc\x53\xe2\x73\xa9\x49\xfe\x1d\x19\xe1\x26\x2a\x80\xd4\x71\x5a\x1c\xa8\x8e\x8b\x82\x1f\x24\x1d\x13\xcf\xf3\xfd\xa9\xa4\x15\x28\x59\x2c\xe0\x20\xe9\xd8\xdc\xba\xbf\xd7\x11\x11\x7f\x11\x63\x86\x8c\xce\xd6\xa6\x5f\xef\x1f\x7c\xac\xdb\x64\x3e\xef\x61\x2c\xaf\xe2\xd2\xab\x97\x81\xd0\x6a\x2b\x77\x95\xc1\x7a\x23\xaf\x96\xfd\xf2\xf0\x12\xd6\xed\x32\x02\x54\x43\x6e\xe4\x16\x14\x51\x46\x59\x67\x24\xb7\xd0\x90\x9f\xda\x86\xe4\x74\x53\xd3\x7f\x3d\x8b\xf2\xaf\xcd\x6f\x13\xd7\x07\xab\x9e\x25\x6f\xf3\x0d\x39\x9f\xc3\xcd\x8d\x23\x01\x9e\x3a\xdf\x1e\x94\x21\xd7\x0b\x4d\x55\x0f\x80\x42\x95\x81\xc5\x03\x81\x64\x90\x0a\x5a\x9f\x91\x97\x17\x10\xdd\xea\xe4\xfa\xff\x11\x42\x51\x47\xf9\xb2\x2f\xf9\x54\xbb\x4d\xe6\x0b\x60\x3d\x06\xf6\x0c\x63\x41\x68\x80\x1e\xa5\x65\xa9\x76\x7d\x07\x48\xb2\xe0\x1a\x16\x95\x56\x52\x60\x01\x25\x72\x6e\x87\xb0\x89\xc0\x24\xad\x7c\xd5\x25\x7d\xf8\x7d\xbb\xff\xe7\xf1\x2f\xf5\x60\xda\xe6\x1b\xcc\xa0\x6e\x94\x96\xd1\x19\xf8\x3e\x8d\x32\x89\x4c\xba\x72\x5f\x63\x09\x37\x83\x18\x3c\xdd\xd2\xb9\x1e\x2e\x88\x0b\xd8\x75\x81\x3c\xf2\x8b\x63\x8d\x8e\x9d\x4b\x22\x2e\x97\x7e\x28\x8c\xa7\x3f\x84\x21\x62\x7c\x8d\xe5\x02\x90\xc3\x02\x7a\xdf\x0e\x7a\x6f\x41\xee\x2f\x1d\x0e\x6f\xe8\x73\x77\x15\xb6\xf6\x1f\xc4\x6e\xd6\xfb\xc9\x1d\xaa\x42\xa8\x08\xb5\x52\xb9\x75\x0d\xa4\xff\x59\xc0\x66\xd6\x75\xbe\x2c\x15\xdb\xf4\x95\xf9\x3f\xb2\x41\x3b\xe2\xd7\xb6\x25\xa2\xc3\xfd\xa2\x6a\xf1\x0b\xeb\x6d\x11\x2e\xdd\x68\xfd\x1c\x3e\x7d\x82\x12\x95\x14\xc9\xf4\xae\x8e\x0d\x99\x26\x0b\x4a\x33\xe4\x6e\x32\xa0\x77\x07\xcd\xe0\xf0\xc4\x05\x99\x4f\xe7\x83\xb4\xad\x73\x12\x3f\xdc\x94\x73\x9c\x0c\x98\x35\x3d\xdf\xd7\x06\x5a\x4b\x86\xe3\x74\xde\x62\x2c\x15\x2e\x88\x1b\x38\x91\xd9\x9e\xac\xc5\x1d\xad\xe0\xe3\x39\x75\xfe\x86\x92\xbb\x82\xf0\xb3\xc6\x12\x57\xe5\x25\xca\x10\xaa\xf0\xbb\x04\xe1\x12\x59\xf7\x12\x31\xbe\xf6\xdd\x8a\x11\xc2\xfd\xb0\x54\x8c\xe2\x69\x64\x23\x78\xe2\x75\xe3\xa2\x0c\x7e\x99\x8c\x8c\xa2\x39\xef\xac\xf7\x68\xcb\xa8\xdb\x31\x77\x9d\xd0\x74\x02\x33\x8b\x36\xe8\x55\xb9\xf9\x89\x2a\x70\x36\x6e\xdc\xef\x92\x2d\x3b\x33\x3c\x17\xab\xe0\x83\xb6\xa1\xe1\x83\x78\x47\x5a\xa4\xf1\xb9\x80\x5f\x9e\xdb\x7f\x95\xc5\x33\x21\xfb\xa9\x45\xe9\xa3\x0c\xb1\xff\x46\xb8\xa1\x30\xcf\x2f\xb5\x13\xc1\xd0\x96\x0c\x29\x41\xed\xb1\xa9\x85\x61\xc3\x0d\x8f\x55\x32\x3e\xda\xf4\x35\xf0\xb1\xc9\x78\xb6\x3d\x97\x8f\xca\x51\xb5\x5c\xd7\x27\x49\xa7\x29\x0d\x96\x38\xc9\x00\x7f\x2b\x8f\x93\x86\x9b\xfa\x1f\x3d\x92\xa8\x98\xc2\x33\xd0\x72\x09\x9f\xb3\xac\x26\xe7\xec\x94\x19\x9d\x31\x2b\xeb\xe6\x1b\x66\xd9\xdf\x74\x6c\xbe\x39\xf7\xc4\xb9\x7e\x95\xbf\x34\x58\x9e\x88\xe0\xbc\xf9\x96\xbe\xc6\xd0\x9f\x27\xff\x06\x00\x00\xff\xff\x12\xbb\x7e\x89\x0c\x10\x00\x00"
 
 func switchboardAdd_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -602,7 +602,7 @@ func switchboardAdd_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x43, 0x8, 0xf4, 0xbb, 0x70, 0xf5, 0x5e, 0xaf, 0xc3, 0x10, 0x16, 0x22, 0x8a, 0xbd, 0xaf, 0x7d, 0x4c, 0xd2, 0x4e, 0x50, 0xa, 0x56, 0xc7, 0x9a, 0xd3, 0x23, 0x71, 0xcc, 0xab, 0xa3, 0xb6, 0x65}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0xe5, 0xb3, 0x1f, 0x64, 0xbb, 0xbe, 0xda, 0xbc, 0xcd, 0xac, 0xb, 0x1d, 0xdb, 0xe6, 0xb4, 0x85, 0xc1, 0x24, 0xb0, 0xf6, 0x28, 0xe7, 0xff, 0x6a, 0x42, 0x1d, 0x2a, 0x31, 0xa4, 0x8d, 0xff}}
 	return a, nil
 }
 

From b0e443de9117d5e08efe62862d2e8fd669786b5a Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 31 Jan 2024 16:44:58 -0600
Subject: [PATCH 087/115] update transactions to get go tests passing

---
 lib/go/templates/internal/assets/assets.go    | 156 +++++++++---------
 lib/go/templates/templates.go                 |   8 +
 lib/go/test/go.mod                            |  55 +++---
 lib/go/test/go.sum                            |  58 ++++---
 lib/go/test/token_test_helpers.go             |  19 ++-
 tests/scripts/get_vault_display.cdc           |   3 +-
 tests/scripts/get_views.cdc                   |   3 +-
 transactions/burn_tokens.cdc                  |  11 +-
 transactions/create_forwarder.cdc             |  22 ++-
 transactions/generic_transfer.cdc             |   2 +-
 transactions/mint_tokens.cdc                  |   9 +-
 .../create_account_private_forwarder.cdc      |  12 +-
 .../create_private_forwarder.cdc              |   7 +-
 .../setup_and_create_forwarder.cdc            |   4 +-
 .../transfer_private_many_accounts.cdc        |   6 +-
 transactions/safe_generic_transfer.cdc        |   2 +-
 transactions/scripts/get_balance.cdc          |   4 +-
 .../scripts/metadata/get_token_metadata.cdc   |   3 +-
 .../scripts/metadata/get_vault_data.cdc       |   5 +-
 .../scripts/metadata/get_vault_display.cdc    |   5 +-
 .../metadata/get_vault_supply_view.cdc        |   5 +-
 ...ample_token_vault_display_strict_equal.cdc |   3 +-
 transactions/setup_account.cdc                |  18 +-
 .../switchboard/add_vault_capability.cdc      |   6 +-
 .../add_vault_wrapper_capability.cdc          |   6 +-
 .../batch_add_vault_capabilities.cdc          |   6 +-
 .../batch_add_vault_wrapper_capabilities.cdc  |   6 +-
 .../switchboard/safe_transfer_tokens.cdc      |   8 +-
 .../switchboard/safe_transfer_tokens_v2.cdc   |   8 +-
 .../switchboard/setup_royalty_account.cdc     |  44 ++---
 .../setup_royalty_account_by_paths.cdc        |  40 ++---
 transactions/switchboard/transfer_tokens.cdc  |   8 +-
 transactions/transfer_many_accounts.cdc       |  15 +-
 transactions/transfer_tokens.cdc              |  11 +-
 34 files changed, 335 insertions(+), 243 deletions(-)

diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 2d8c7e44..b3127e4d 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,42 +1,42 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// burn_tokens.cdc (1.402kB)
-// create_forwarder.cdc (2.744kB)
-// generic_transfer.cdc (1.335kB)
+// burn_tokens.cdc (1.718kB)
+// create_forwarder.cdc (3.033kB)
+// generic_transfer.cdc (1.331kB)
 // metadata/setup_account_from_vault_reference.cdc (1.909kB)
-// mint_tokens.cdc (1.702kB)
-// privateForwarder/create_account_private_forwarder.cdc (1.683kB)
-// privateForwarder/create_private_forwarder.cdc (1.392kB)
+// mint_tokens.cdc (1.827kB)
+// privateForwarder/create_account_private_forwarder.cdc (1.981kB)
+// privateForwarder/create_private_forwarder.cdc (1.659kB)
 // privateForwarder/deploy_forwarder_contract.cdc (418B)
 // privateForwarder/setup_and_create_forwarder.cdc (2.482kB)
-// privateForwarder/transfer_private_many_accounts.cdc (1.507kB)
-// safe_generic_transfer.cdc (1.892kB)
-// scripts/get_balance.cdc (543B)
+// privateForwarder/transfer_private_many_accounts.cdc (1.499kB)
+// safe_generic_transfer.cdc (1.888kB)
+// scripts/get_balance.cdc (722B)
 // scripts/get_supply.cdc (195B)
 // scripts/get_supported_vault_types.cdc (921B)
-// scripts/metadata/get_token_metadata.cdc (663B)
-// scripts/metadata/get_vault_data.cdc (602B)
-// scripts/metadata/get_vault_display.cdc (596B)
-// scripts/metadata/get_vault_supply_view.cdc (679B)
+// scripts/metadata/get_token_metadata.cdc (774B)
+// scripts/metadata/get_vault_data.cdc (838B)
+// scripts/metadata/get_vault_display.cdc (832B)
+// scripts/metadata/get_vault_supply_view.cdc (915B)
 // scripts/switchboard/check_receiver_by_type.cdc (570B)
 // scripts/switchboard/get_vault_types.cdc (698B)
 // scripts/switchboard/get_vault_types_and_address.cdc (676B)
-// scripts/test/example_token_vault_display_strict_equal.cdc (2.139kB)
+// scripts/test/example_token_vault_display_strict_equal.cdc (2.25kB)
 // scripts/tokenForwarder/is_recipient_valid.cdc (444B)
-// setup_account.cdc (1.414kB)
-// switchboard/add_vault_capability.cdc (4.108kB)
-// switchboard/add_vault_wrapper_capability.cdc (1.491kB)
-// switchboard/batch_add_vault_capabilities.cdc (1.342kB)
-// switchboard/batch_add_vault_wrapper_capabilities.cdc (1.575kB)
+// setup_account.cdc (1.723kB)
+// switchboard/add_vault_capability.cdc (4.276kB)
+// switchboard/add_vault_wrapper_capability.cdc (1.756kB)
+// switchboard/batch_add_vault_capabilities.cdc (1.607kB)
+// switchboard/batch_add_vault_wrapper_capabilities.cdc (1.84kB)
 // switchboard/remove_vault_capability.cdc (1.241kB)
-// switchboard/safe_transfer_tokens.cdc (1.968kB)
-// switchboard/safe_transfer_tokens_v2.cdc (1.871kB)
+// switchboard/safe_transfer_tokens.cdc (2.226kB)
+// switchboard/safe_transfer_tokens_v2.cdc (2.129kB)
 // switchboard/setup_account.cdc (2.091kB)
-// switchboard/setup_royalty_account.cdc (5.883kB)
-// switchboard/setup_royalty_account_by_paths.cdc (5.958kB)
-// switchboard/transfer_tokens.cdc (1.451kB)
-// transfer_many_accounts.cdc (1.418kB)
-// transfer_tokens.cdc (1.446kB)
+// switchboard/setup_royalty_account.cdc (5.997kB)
+// switchboard/setup_royalty_account_by_paths.cdc (6.068kB)
+// switchboard/transfer_tokens.cdc (1.709kB)
+// transfer_many_accounts.cdc (1.841kB)
+// transfer_tokens.cdc (1.872kB)
 
 package assets
 
@@ -106,7 +106,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _burn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x53\x41\x73\x9b\x3c\x10\xbd\xf3\x2b\xde\xc7\xe1\x2b\x1c\x82\x2f\x9d\x1e\x3c\x71\xd3\xa4\x93\x9c\x3b\x93\x34\x3d\x2f\xb0\x18\x4d\x41\x62\xa4\xa5\x76\x26\xcd\x7f\xef\x48\x32\x04\xea\xa4\x5c\x6c\x89\x7d\x6f\xdf\x7b\xbb\xa8\x7e\x30\x56\x70\x37\xea\xbd\x2a\x3b\x7e\x30\x3f\x59\xa3\xb1\xa6\x47\xba\xba\x4b\x93\x53\xe5\xed\x91\xfa\x61\x5d\xb8\xbc\x4a\x93\x64\xb3\xd9\xe0\xa1\x55\x0e\x62\x49\x3b\xaa\x44\x19\x0d\xe5\x40\x10\xee\x87\x8e\x84\xd1\x18\xeb\x8f\x8b\xf7\xd2\x92\xa0\x32\x63\x57\xa3\x64\x8c\x8e\x6b\x94\x4f\x90\x96\x41\x75\xaf\x34\xa8\xaa\xcc\xa8\x05\x62\x50\x8e\x56\x43\x7c\x33\x17\x05\x48\xcb\xca\x86\xb6\x4e\x8c\xe5\x1a\x8f\x34\x76\xe2\x2f\x4e\x5a\x38\x60\x94\xde\x83\xfa\xc0\x72\x98\x1a\x11\x06\xb2\xd4\xb3\xb0\xf5\xd4\xbe\xdf\x42\x55\xa0\x58\x9c\xb3\x08\xdf\xe2\xfb\x9d\x3a\x7e\xfa\x98\xe3\x39\x49\x00\x60\xea\x22\x46\xa8\x83\x1b\x87\xa1\x7b\x82\x69\x26\x91\x25\x37\xc6\x72\x20\xf7\x3a\x02\xa4\x63\x39\x15\xde\x84\xb7\x13\xe7\x2b\x61\x30\x01\xcb\xce\x8c\xb6\xe2\x18\x50\x6b\xba\xda\x45\x95\x91\x3a\xdc\x92\x65\x94\xec\xed\x79\x7a\xae\xe7\x06\xfe\x18\x68\xb6\xf8\xb2\x1c\x52\x11\x03\x0a\x75\x83\xe5\x81\x2c\x67\x4e\xed\x35\xdb\x2d\x68\x94\x36\xbb\x31\xd6\x9a\xc3\x23\x75\x23\xe7\xf8\xff\x3a\x66\x3f\xdb\xf5\x8f\xe3\xae\x29\x96\x06\xb0\x5b\xad\x46\x11\xb2\xb8\x0f\x05\xaf\xa8\xcd\x06\x3f\x94\xb4\xb5\xa5\xc3\xdf\x13\x44\x14\xf0\xc1\xe1\x57\x30\xae\x74\x98\x26\xed\x79\x46\x87\xcc\x42\x1a\x31\x9b\xdd\x09\x53\x9c\x0a\x8b\x32\xc8\xbe\x0c\x16\x56\xdb\x5b\x4c\x5d\xa9\xec\xbc\xa3\xf3\x30\x3e\x67\x73\x9b\xe9\xf1\xca\xb6\x38\x2f\xbd\x8f\xdd\xbe\x91\xb4\x2b\x4c\x8e\xab\x2b\x0c\xa4\x55\x95\xa5\x5f\xc3\x82\x69\x23\x88\x9a\x40\xb0\xdc\xb0\x65\xed\x47\x69\xd6\x86\x57\x9f\x54\x70\x9f\xe6\xeb\xa0\xe7\x41\xe2\xf2\x62\x19\x41\x71\x38\xf9\x9a\x37\x33\xfe\xe6\x20\xf7\xdf\x9b\x33\xf7\x94\x2f\x71\x20\x7c\xe4\x6a\x14\x5e\x4e\x75\x05\xf0\x4d\xc3\x3f\x97\xc5\x28\x2e\x2f\xd6\x62\xf2\x64\x49\x37\x18\x27\x78\x7e\x9b\x6a\xb1\x0c\xd8\xed\x90\x9d\x6f\xcf\xc5\xa4\x7c\xbb\xca\x34\x9d\xbe\x8e\xb4\xa8\x8c\xae\x48\xce\xa1\x85\x98\x7b\xb1\x4a\xef\xb3\x3c\x5f\x61\x27\x44\x8a\xdf\xb8\x6e\xc4\x2f\xf7\xcc\xf2\x9e\xba\x25\xd9\xfb\x6c\xb7\xc7\x81\x2b\xe1\x7a\x41\xf8\x2f\x4b\xe7\xa4\x2f\xc9\x4b\xf2\x27\x00\x00\xff\xff\x14\x34\x67\xde\x7a\x05\x00\x00"
+var _burn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x4f\x6f\x9b\x30\x14\xbf\xf3\x29\xde\x38\x74\x20\xad\xe4\x32\xed\x10\x25\xed\xda\xae\xbd\x4d\x9a\xd4\x2c\x3b\x3f\xe0\x11\xac\x81\x8d\xec\x47\x93\xaa\xeb\x77\x9f\x6c\x03\xc1\x4d\x53\x0e\x89\x6c\xde\xfb\xfd\x79\xfe\x19\xd1\x76\x4a\x33\x3c\xf4\x72\x27\xf2\x86\x36\xea\x2f\x49\xa8\xb4\x6a\x21\x0e\xf6\xe2\x68\xa8\xbc\x3f\x60\xdb\x85\x85\xf3\xad\xa9\x2e\xe8\xfe\x49\x8c\x25\x32\x6e\x05\xed\xcd\x7b\xf0\x41\xc1\x84\x71\xdb\x6b\x49\x7a\xa8\xf7\x8b\x38\x8a\x16\x8b\x05\x6c\x6a\x61\x80\x35\x4a\x83\x05\x0b\x25\x41\x18\x40\x60\x6a\xbb\x06\x99\xa0\x52\xda\x2e\x67\xef\xb9\x46\x86\x42\xf5\x4d\x09\x39\x41\x6f\xa8\x84\xfc\x19\xb8\x26\xc0\xb2\x15\x12\xb0\x28\x54\x2f\x19\x58\x41\xde\x6b\x09\x6c\x55\x0d\x52\xb9\x26\xa1\x1d\xad\x61\xa5\xa9\x84\x2d\xf6\x0d\xdb\x8d\x41\x0b\xb9\x1e\x21\x77\x80\xad\x43\xd9\x8f\x44\x08\x1d\x6a\x6c\x89\x49\x5b\x68\xcb\x37\x53\xe5\x20\x66\xeb\xc4\xb7\x2f\xe1\xf7\x83\x38\x7c\xfb\x9a\xc2\x4b\x14\x01\x00\x8c\x2c\xac\x18\x1b\x30\x7d\xd7\x35\xcf\xa0\xaa\x51\x64\x4e\x95\xd2\xe4\xc0\xad\x0e\xd7\xd2\x10\x0f\x85\xb7\xee\xed\x88\x79\x04\x74\x26\x40\x93\x51\xbd\x2e\xc8\x0f\xa8\x56\x4d\x69\xbc\x4a\x0f\xed\x76\x51\x13\xe4\x64\xed\x59\x78\x2a\x27\x02\xbb\x74\x30\x4b\xf8\x3e\x0f\x41\xe6\x07\xe4\xea\x3a\x4d\x1d\x6a\x4a\x8c\xd8\x49\xd2\x4b\xc0\x9e\xeb\xe4\x56\x69\xad\xf6\x5b\x6c\x7a\x4a\xe1\xe2\xc6\xcf\x7e\xb2\x6b\x1f\x43\x4d\x95\xcd\x0d\xc0\x3a\x88\x5e\xe6\x66\xf1\xe8\x0a\x8e\x5d\x56\xd4\x93\xe5\xfe\x81\x8c\x6f\x3b\xac\xd5\xe6\x89\xee\x94\x64\x8d\x05\xdb\xa8\x25\xa3\xfd\xcd\x73\x47\x4b\x90\xa2\xf9\x02\x4f\x82\xf6\x7e\x69\x7f\x57\xe7\x63\x9a\x3d\x6c\xb6\x23\xd7\x55\x92\xa6\x80\xe6\xd3\x07\xb1\x9f\x97\x5f\x4f\x8a\xed\x73\x7d\x0d\x1d\x4a\x51\x24\xf1\x9d\xcb\x8d\x54\x0c\xbb\xd1\x09\x58\x00\x27\xca\xa5\xda\x9e\x4d\x31\x38\x88\xd3\xa3\xf3\xc5\x02\xfe\x08\xae\x4b\x8d\xfb\xb7\xd9\x05\x3f\xfa\xcf\x66\x00\x14\xd2\xe5\x18\x77\x14\xcc\xcd\x0f\xc2\xa7\x62\x3d\xf4\x64\x43\x61\x96\xbb\x03\x5b\xb9\xc3\x0b\x2c\x66\x23\x6b\x0a\x17\xa7\x11\xb8\x4a\x02\xa3\xf6\xb1\xaa\x96\xc7\x43\x1a\x19\x7e\x21\xd7\x41\x6d\xfa\xee\x58\xbc\x0e\x40\xd0\x54\x91\x26\x69\x83\xab\x42\x93\xc1\x07\xca\xf1\xc4\x69\x18\xab\x29\xb6\xb0\xba\x9c\xdb\xce\xf6\x83\x97\xe9\x1e\xfa\x7f\x7f\xb2\xef\x25\xdc\x42\xbe\xfa\x43\xa0\x03\x15\x3d\xd3\x3c\xc3\xfe\x8b\xe5\xe8\x92\xd5\x65\x48\x3d\x1c\xdd\xd0\xdc\x29\xc3\xf0\x32\x35\x9e\x0b\x3a\xac\xd7\x90\x9c\xde\x8c\xcb\x51\xe7\x32\x98\x60\x3c\xde\xfc\x38\x2b\x94\x2c\x90\x4f\x5b\x33\x56\x8f\xac\x85\xdc\x25\x69\x1a\xf4\x8e\x1d\x31\xfc\x83\x9b\x8a\xed\xc5\x9d\x50\xce\xa9\x9b\x83\x9d\x47\xbb\x3f\x74\x54\x30\x95\x33\xc0\x8f\x2c\x9d\x82\xbe\x46\xaf\xd1\xff\x00\x00\x00\xff\xff\xc6\xcc\x49\x87\xb6\x06\x00\x00"
 
 func burn_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -122,11 +122,11 @@ func burn_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "burn_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x68, 0xe, 0xcf, 0x4, 0xdf, 0x35, 0xbf, 0xd6, 0x31, 0x77, 0x6f, 0xcd, 0xdc, 0xfe, 0x93, 0xa0, 0x8, 0x58, 0xdd, 0x76, 0x1b, 0x3e, 0x33, 0xb0, 0xe6, 0x41, 0xf7, 0x3, 0xa7, 0x15, 0xb0, 0xc0}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf0, 0x1d, 0x1d, 0x8c, 0x4, 0x1f, 0xef, 0x3e, 0x70, 0x68, 0xcb, 0x78, 0xd1, 0x5, 0x2a, 0x92, 0xc2, 0xfc, 0x2c, 0xa1, 0x9e, 0x59, 0xb, 0xc1, 0x13, 0xa8, 0x45, 0x6e, 0x12, 0x72, 0xfc, 0x70}}
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x6f\x1b\x37\x10\xbd\xf3\x57\x0c\x74\x48\x57\x86\xbc\x42\xbf\x2e\x82\xe3\x20\x51\x6a\x20\x40\x5b\x04\xb1\xe3\x6b\x33\xe2\x8e\x44\x36\x14\xb9\x20\x67\xb5\x11\x02\xff\xf7\x82\xe4\xee\x6a\x57\x76\xdc\xa2\x87\xec\xc1\x30\xc9\xf9\x78\xf3\xe6\xcd\x68\x79\x71\x21\xc4\x9d\xd2\x01\xd8\xa3\x0d\x28\x59\x3b\x0b\x3a\x00\x02\xd3\xbe\x36\xc8\x04\x5b\xe7\xe3\x71\xf4\xce\x0a\x19\xa4\x6b\x4c\x05\x1b\x82\x26\x50\x25\xd8\x41\x20\x86\xa6\x06\xb4\x80\x52\xba\xc6\x32\xb0\x8b\xce\x2d\xfa\x0a\x2a\xaa\x5d\xd0\x4c\x15\xb0\xfb\x4c\x36\xc4\x37\xb4\x8e\x15\x79\xf0\x24\x49\x1f\xc8\x97\x42\xbc\xdb\x02\xda\xa3\xb3\x04\x81\x6c\x15\xc6\xc6\x31\x8f\xff\x21\xc0\x4d\x8e\x48\x1e\x3e\x74\x7e\x0b\xc1\x8a\x86\x13\xb4\xda\x18\xf8\xbb\x09\x3c\x24\x67\xe5\x02\x8d\x62\x45\xf3\x7b\x6c\x0c\xe7\x4a\x14\x06\xd8\x10\x59\x11\x2b\xc0\x90\x9e\x3d\x49\x5d\x6b\xb2\x0c\x68\x2b\xa0\xbd\x8e\xff\x00\x1d\xe2\x4d\x72\xd2\xb6\xd2\x12\x99\x82\x68\x95\x96\x2a\xa1\xeb\x13\xc6\x2a\x55\x9f\xb0\xec\x08\x6e\xf1\xb8\x00\x1d\xeb\x03\xb7\xdd\x5e\x4a\x85\xda\x42\x20\x7f\xd0\x92\xa0\x45\xcb\x09\xda\xde\x59\xcd\xce\x43\xab\x5c\x6c\x43\x17\x50\xdb\x9d\x38\xc1\xd7\xbc\x00\xcd\x20\xd1\x42\x8b\x2c\x55\x86\x95\x9e\x02\x11\xb4\x8a\x3c\x8d\x00\x80\xc4\x3d\xc1\xd6\xbb\x7d\x29\xc4\x2d\x53\xdd\x59\xe6\x6e\xe5\x56\x05\x68\x35\xab\xec\x30\x54\xe1\x57\x42\xfc\x58\xc2\x9d\x22\xb8\x69\xec\x4e\x6f\x0c\xc1\x5d\xb2\x90\xce\xb2\x47\x19\x59\x60\xf2\x5b\x94\x04\x41\x25\x3d\xa0\xf1\x84\xd5\x31\xea\xa2\xa2\xda\xb8\x23\x55\x10\xdc\x9e\x12\x28\xf1\x53\x8e\x86\x75\x6d\xb4\xc4\x18\x8f\xa7\xf1\xba\x28\x23\xef\x52\xfc\x9c\x9d\x46\x1d\xe9\xe4\xd5\x19\x2b\x3c\x10\x60\xd7\xd0\x28\x56\x4e\x7a\xce\x81\x3d\x21\x53\x25\x00\x20\x35\x32\xb0\xf3\x54\x81\xb6\xa0\x39\xa4\x13\xee\x28\xd7\x8e\x50\x37\x1b\xa3\x83\xa2\x6a\xd0\x92\xf8\xa5\x84\xb7\x09\x48\xe2\xf3\x53\xaa\xfe\x66\xe8\x49\x29\x2b\xf9\xe9\x04\x3e\xa9\xb4\xd2\xdb\x2d\xf9\x11\x4c\xf1\x6b\x19\x35\x0b\x08\x96\x5a\x78\x9d\x2f\x57\xb0\x4e\xc8\x52\xd8\xbe\x1e\xeb\xfc\x1e\x8d\x39\x2e\x12\x5c\x56\x64\xc1\x37\x36\x67\xce\x85\xfc\x35\xb4\x26\xa7\x1e\x0d\x65\x76\xda\x11\xb3\xb6\x3b\x98\x0c\x44\x6c\xfd\x24\x51\x16\xf0\x99\xd0\x4b\x71\xb1\x14\x42\xef\x6b\xe7\x79\xe8\x77\x6e\x77\x0a\x30\x9b\xdc\xcd\x7a\xcb\xdf\xbe\xe0\xbe\x9e\x1a\x8e\xaf\x06\xbb\x33\xea\x3a\xd3\xb3\xdb\xd9\x93\xf9\xff\x20\xc6\x0a\x19\xef\x35\xb5\xe1\x29\x30\x13\x83\x99\x10\x23\x5a\x8a\x7e\xb9\xac\xe0\x75\x55\x79\x0a\x61\x0e\x5f\x45\xe2\xaa\xf6\x54\xa3\xa7\x02\xa5\xe4\x15\x60\xc3\xaa\x78\xe3\xbc\x77\xed\x3d\x9a\x86\x16\xf0\x2e\x84\x86\x6e\xb3\x44\xd6\x58\xe3\x46\x1b\xcd\xc7\x75\xec\xb6\x33\x86\xfc\x02\xde\x67\xc1\x9c\x1e\x17\x70\x8b\x07\xea\xfc\x3f\xda\xfa\xfc\x7d\x0e\x2f\x3a\x01\x0c\x28\xe2\x67\x88\xe1\x10\xe5\xfb\x16\x19\xe1\xe5\x84\xd3\xd2\x53\x70\xe6\x40\xeb\x4e\x65\xb1\xc6\x22\xde\x35\x5e\xd2\xdd\xb1\xa6\x15\x58\x6d\x16\x70\xd0\xd4\xe6\x63\xfc\x7b\xf5\x6d\x7e\xca\x9b\xbb\xfb\x3e\xd7\x75\x31\x9f\x0f\x28\xe2\xf7\xea\x15\xd4\x68\xb5\x2c\x66\xeb\x34\x5b\xd6\x71\xd4\x54\x46\x07\x31\x46\x4a\xd4\x8d\x19\x0d\xda\x9f\xe5\x30\x8f\x2b\xfa\x40\x5b\x78\xd9\x0b\xaf\x94\x3d\x13\x9a\x42\xb9\x49\x64\x5f\xbd\xf8\x3a\xc1\x5a\x26\x70\x0f\xd7\xc5\x40\x48\xb9\xef\xe0\xbf\x47\x56\xff\x0e\x37\x87\x85\x37\x68\xd0\xca\xa8\xef\x34\x8e\x92\x26\x8b\x7f\x36\x3f\xb1\xbf\x5c\x8e\x87\x71\x98\xb0\xbc\x2f\xe2\x6e\xd1\xdc\xfb\x9e\x0f\x50\xe5\xfa\x61\x1b\x2d\xea\x47\x1c\xc0\xd5\xe5\xb9\xfc\xcb\x3c\xcf\x7f\x52\x3b\xfc\x9c\x15\xc3\x24\xae\x4e\x43\x79\x2a\x37\xaa\xb4\xec\x16\x56\x19\x61\x15\x57\x97\x29\xfa\x02\xd8\xad\x60\xd9\x3d\x2d\x69\xa4\x9d\x21\xf6\xb4\xda\x8f\xd6\x68\xfb\x39\xc1\xa6\x2f\x3a\xa4\x85\x31\x74\xe6\x38\xcd\x38\xe9\x58\xd3\x2b\xba\x98\x28\xb4\x5f\x34\x69\x1c\x64\xee\xd2\x38\xdf\xef\x7d\x36\x9b\x95\xd3\xaf\x80\x7e\x34\x9f\x4a\x1e\xc9\x4b\x2b\xbc\x0f\xbe\xc6\x3a\x0b\xe9\x0c\x53\x4f\x89\x8e\xd3\xfa\x48\x4c\xbd\xf7\xc3\x75\x31\x11\x4e\x42\xf6\x2c\x65\x13\xf3\xf9\x33\xa4\xf4\x94\x9c\xa3\x5d\x00\xf2\x0a\xfe\x3f\x51\x03\x92\x6c\xfd\x2c\x49\x83\xed\x7f\x65\xe9\x5c\x8e\x67\xc9\xbe\x17\x5d\x63\xdc\x99\xaf\x65\x7a\x97\xdf\x92\x71\x8c\xf9\x20\x1e\xc4\x3f\x01\x00\x00\xff\xff\xc8\xe8\xf7\x23\xb8\x0a\x00\x00"
+var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x8f\xdb\x36\x10\xbd\xf3\x57\x4c\x7d\x48\xed\xc0\x91\xd1\xaf\x8b\xb1\xc9\x22\x71\xba\x45\x80\xb6\x08\xb2\x9b\xbd\x36\x63\x6a\x6c\xb1\xa1\x49\x81\x1c\x59\x31\x82\xfd\xef\x05\x49\x89\x96\xb4\x1f\x4d\x2f\xf5\x61\xb1\x12\x87\x33\x6f\xde\x7b\x33\x5a\x3d\x7f\x2e\xc4\x4d\xa5\x3c\xb0\x43\xe3\x51\xb2\xb2\x06\x94\x07\x04\xa6\x43\xad\x91\x09\x76\xd6\x85\xc7\xc1\x39\x57\xc8\x20\x6d\xa3\x4b\xd8\x12\x34\x9e\x4a\xc1\x16\x3c\x31\x34\x35\xa0\x01\x94\xd2\x36\x86\x81\x6d\xb8\xdc\xa2\x2b\xa1\xa4\xda\x7a\xc5\x54\x02\xdb\xcf\x64\x7c\x38\x43\x63\xb9\x22\x07\x8e\x24\xa9\x23\xb9\x42\x88\x77\x3b\x40\x73\xb2\x86\xc0\x93\x29\xfd\x30\x38\xd4\x71\xdf\x7b\xb8\x4a\x19\xc9\xc1\x87\xee\xde\x52\x70\x45\xf9\x09\x5a\xa5\x35\xfc\xdd\x78\xce\xc5\xb9\xb2\x9e\x06\xb9\x42\xf8\x2d\x36\x9a\x53\x27\x15\x7a\xd8\x12\x19\x11\x3a\x40\x1f\x8f\x1d\x49\x55\x2b\x32\x0c\x68\x4a\xa0\x83\x0a\xff\x00\x1d\xc3\x9b\x78\x49\x99\x52\x49\x64\xf2\xa2\xad\x94\xac\x22\xba\xbe\x60\xe8\xb2\xea\x0b\x16\x1d\xc1\x2d\x9e\x96\xa0\x42\x7f\x60\x77\xbb\x17\xb2\x42\x65\xc0\x93\x3b\x2a\x49\xd0\xa2\xe1\x08\xed\x60\x8d\x62\xeb\xa0\xad\x6c\x90\xa1\x4b\xa8\xcc\x5e\x9c\xe1\x2b\x5e\x82\x62\x90\x68\xa0\x45\x96\x55\x82\x15\x8f\x3c\x11\xb4\x15\x39\x1a\x00\x00\x89\x07\x82\x9d\xb3\x87\x42\x88\x6b\xa6\xba\x8b\x4c\x6a\x25\xa9\x3c\xb4\x8a\xab\x74\x21\x77\xe1\xd6\x42\xfc\x50\xc0\x4d\x45\x70\xd5\x98\xbd\xda\x6a\x82\x9b\x18\x21\xad\x61\x87\x32\xb0\xc0\xe4\x76\x28\x09\x7c\x15\xfd\x80\xda\x11\x96\xa7\xe0\x8b\x92\x6a\x6d\x4f\x54\x82\xb7\x07\x8a\xa0\xc4\x8f\x29\x1b\xd6\xb5\x56\x12\x43\x3e\x1e\xe7\xeb\xb2\x0c\x6e\x17\xe2\xa7\x74\x69\xa0\x48\x67\xaf\x2e\xb8\xc2\x23\x01\x76\x82\x06\xb3\x72\xf4\x73\x4a\xec\x08\x99\x4a\x01\x00\x51\x48\xcf\xd6\x51\x09\xca\x80\x62\x1f\x9f\x70\x4f\xa9\x77\x84\xba\xd9\x6a\xe5\x2b\x2a\xb3\x97\xc4\xcf\x05\xbc\x8d\x40\x22\x9f\x9f\x62\xf7\x57\x59\x93\x42\x96\xf2\xd3\x19\x7c\x74\x69\xa9\x76\x3b\x72\x03\x98\xe2\x97\x22\x78\x16\x10\x0c\xb5\xf0\x3a\xbd\x5c\xc3\x26\x22\x8b\x69\xfb\x7e\x8c\x75\x07\xd4\xfa\xb4\x8c\x70\xb9\x22\x03\xae\x31\xa9\x72\x6a\xe4\xaf\x2c\x4d\x2a\x3d\x18\xca\x74\x69\x4f\xcc\xca\xec\x61\x34\x10\x41\xfa\x51\xa1\x64\xe0\x89\xd1\x0b\xf1\x7c\x25\x84\x3a\xd4\xd6\x71\xd6\x3b\xc9\x1d\x13\xcc\x46\xef\x66\x7d\xe4\xaf\x5f\xf0\x50\x8f\x03\x87\xaf\x72\xdc\x84\xba\x2e\x74\xf2\x76\xf6\x60\xfd\x3f\x88\xb1\x44\xc6\x5b\x45\xad\x7f\x08\xcc\x28\x60\x26\xc4\x80\x96\x79\xbf\x5c\xd6\xf0\xba\x2c\x1d\x79\xbf\x80\xaf\x22\x72\x55\x3b\xaa\xd1\xd1\xdc\xab\xbd\x09\xe7\xd8\x70\x35\x7f\x63\x9d\xb3\xed\x2d\xea\x86\x96\xf0\xce\xfb\x86\xae\x93\x49\x36\x58\xe3\x56\x69\xc5\xa7\x4d\xd0\xdb\x6a\x4d\x6e\x09\xef\x93\x65\xce\x87\x4b\xb8\xc6\x23\x75\xf7\x3f\x9a\x7a\x7a\xbe\x80\x67\x9d\x05\x32\x8e\xf0\xd3\xc4\x70\x0c\x06\x7e\x8b\x8c\xf0\x72\xc4\x6a\xe1\xc8\x5b\x7d\xa4\x4d\xe7\xb3\xd0\xe5\x3c\xbc\x6b\x9c\xa4\x9b\x53\x4d\x6b\x30\x4a\x2f\xe1\xa8\xa8\x4d\x8f\xe1\xef\xc5\xe3\x0c\x15\x57\x37\xb7\x7d\xad\x57\xf3\xc5\x02\xd0\x7f\xf7\x04\xe3\xc3\xf0\xcb\x8c\x38\xfc\x2e\x2f\xa1\x46\xa3\xe4\x7c\xb6\x89\x93\x68\x2c\x07\x07\xa6\x4e\x20\x24\x88\xa0\xba\xa1\xa4\x3c\x29\xb3\x45\x4c\x73\xbf\xfb\x0f\xb4\x83\x97\x90\x04\x29\x64\x4f\x9a\x22\x5f\x6c\xa3\x2e\x17\xcf\xbe\x8e\x70\x16\x11\xd8\xdd\xab\x79\xe6\xae\x38\x74\xd0\xdf\x23\x57\x8b\x7f\x45\x9b\xd2\xc2\x1b\xd4\x68\x64\x18\x86\x38\xbb\x92\x46\x5f\x89\xd9\xe2\x2c\xd4\x6a\x05\xbf\x11\xf7\x93\x93\xe6\x2b\x03\x3d\xe5\x4e\xfb\x49\xdb\x52\xf4\xfa\xf9\xb3\x60\x47\x4d\x9f\x77\xda\xcb\x40\x5c\xe7\x8c\xec\xd9\xc5\x98\x83\x3d\xf1\x3d\x02\xfa\x21\x1f\x71\xd0\xdf\xff\x36\x0e\xf6\x8f\xf7\x33\xe9\x7c\xb0\xb3\xf2\x22\x4a\x6b\x35\xac\x60\xc5\x3d\x6b\xd3\x3d\x53\xda\x7e\x27\x0d\xbe\x67\xf7\xc4\x87\x8b\x17\xd3\x2d\x51\xa4\xb5\xf7\x27\xb5\xf9\xab\x3f\xcf\x9c\xad\xcf\xf4\x9d\x9b\xec\xbc\xd3\x6d\xf6\x22\x00\x9b\x5f\xbc\x88\xf9\x97\xc0\x76\x0d\xab\xee\x68\x45\x83\x11\xcb\xd9\xc7\xfd\x7e\x34\x5a\x99\xcf\x11\x38\x7d\x51\x3e\x6e\xd6\x33\x39\xd3\x9a\x23\xad\x9a\x7e\xf4\x1f\x95\x65\x58\xe8\xf7\xbe\x8c\x49\xd3\xd2\x2f\xc9\x07\x24\x19\xf1\x16\x3f\x72\xbd\x05\x36\x58\x3f\x32\x3c\x3d\x1b\x2a\xec\xb3\xa7\x2c\x34\xf2\x4a\xc4\xf6\x24\x5b\xa3\xf0\x7b\x1a\x8c\x20\xf4\x6c\x4c\x11\x2f\x01\x79\x0d\xff\x99\xa3\x0c\x21\x2e\x60\xf9\x24\x3f\x39\xf6\xdb\x09\x9a\xda\x70\x52\xee\xff\x63\x6a\x88\x3d\x51\xb5\x8a\xe7\xf2\x31\xfb\x86\xac\x77\xe2\x4e\xfc\x13\x00\x00\xff\xff\xf3\xbc\xdc\x65\xd9\x0b\x00\x00"
 
 func create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -142,11 +142,11 @@ func create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9e, 0x68, 0xba, 0xc7, 0xee, 0xf1, 0x95, 0x68, 0x8e, 0xd3, 0x88, 0x24, 0xf3, 0xad, 0x47, 0xf0, 0xb2, 0x7b, 0xde, 0x9f, 0x82, 0x9c, 0xd6, 0xd7, 0x1a, 0x67, 0x8c, 0x64, 0x17, 0xa7, 0x92, 0x5}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x95, 0xab, 0x41, 0xb9, 0x60, 0x8d, 0xea, 0xa4, 0xbe, 0x12, 0x73, 0x30, 0x33, 0x40, 0x6b, 0x1a, 0x86, 0x64, 0x8a, 0x25, 0x1a, 0x50, 0x47, 0x8b, 0xf4, 0xac, 0x6a, 0x54, 0xd4, 0x41, 0x7e, 0xe9}}
 	return a, nil
 }
 
-var _generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4d\x6f\xe2\x4a\x10\x3c\x87\x5f\x51\x8f\xc3\x0b\x48\xc4\xb9\x3c\xbd\x03\xca\xc7\x66\x23\x65\xaf\x51\x36\x9b\x3d\x37\x9e\x06\xcf\x66\x98\xb1\x66\xda\x38\x28\xe2\xbf\xaf\xa6\x6d\x0c\x24\xda\xc3\x72\xc1\x34\xdd\x55\xd5\x35\xe5\xb1\xeb\x3a\x44\xc1\x43\xe3\x57\x76\xe1\xf8\x39\xbc\xb2\xc7\x32\x86\x35\xc6\x27\xb5\xf1\x68\x74\x79\x79\x89\x7b\xf2\xa8\x29\x25\x58\x0f\xf2\x5b\x24\x09\x91\x56\x8c\x9a\xa4\x02\x79\x83\xc8\x25\xdb\x0d\xc7\xae\x62\x7d\x12\x26\x83\xb0\xc4\xaf\x26\x09\xa4\x62\x18\x5e\x52\xe3\xa4\x50\xbc\xe7\xca\x26\x38\x96\x84\x6d\x68\x50\x56\x21\x24\xd6\x2e\x51\x21\xb9\xd8\x92\x17\x48\x40\x62\x6f\x40\x09\x2d\x3b\xa7\x2d\x25\xd5\xb4\xb0\xce\xca\xf6\x73\x9f\xcd\x8f\x4a\xa1\x34\x77\x7e\xdb\x23\xaa\xac\x92\x3c\x16\xac\x8b\xb0\x62\x92\x07\xc5\x55\xb3\x66\x2f\xa8\x38\xf2\x0c\x29\xa0\x25\xa7\xca\x52\x15\x1a\x67\x14\xa7\x7b\x44\x59\x71\xf9\x7a\x98\xd8\x90\x6b\x38\x65\xee\x35\xbd\x32\x52\x13\xbb\x1d\xac\x17\xf6\x86\xcd\x31\xb5\x4d\x7b\x5a\xeb\x55\x9e\x44\xf2\x89\x4a\xb1\xc1\x4f\x68\x1d\x1a\x2f\x73\xfc\x78\xb0\x6f\xff\xff\x37\x83\x84\x39\xee\x8c\x89\x9c\xd2\x4c\xf7\xe2\xf8\x48\x52\xcd\xf1\xbd\xb3\x3d\xff\x98\x0d\x96\x77\x7f\x3d\x36\x0b\x67\xcb\xfc\x3c\xc5\xfb\x68\x04\x00\xea\x33\xe3\x25\xdb\x8e\xc8\x29\x34\xb1\xcc\x0a\x49\x50\x05\x67\xd2\xc1\xf0\xd4\x55\x29\x32\x16\x6c\xfd\x0a\xaa\x6e\xc9\x31\xb2\x51\x28\xc7\x02\xe1\x75\xad\x58\x73\x7c\x79\x3f\x09\x49\xa1\xe5\x5d\xc7\x5a\x47\xae\x29\xf2\x24\xd9\x95\xe7\x38\x07\x35\x52\x4d\xbe\x86\x18\x43\xfb\x92\x0d\x9b\xe2\xdf\xbb\xb2\xcc\x0b\x0f\x42\x7b\xb1\xdf\x58\x40\x88\xbc\xe4\xc8\x3e\x2b\x0d\xaa\xb0\x03\x3a\x4f\x1a\x3a\x36\xd8\x64\xb2\x61\x2e\x2b\xd3\xca\x13\x2f\x71\xdd\x37\x17\x7d\x3e\x8b\x85\xf2\x5e\xa9\x86\x53\xc9\x3f\xad\x54\x26\x52\x4b\x0b\x97\x25\x7d\x58\xe8\x31\x86\x8d\x35\x1c\x77\x37\x93\xfc\x52\xcc\x8f\x4e\x61\x3a\x3a\x3b\x3b\xbb\xbd\x45\x4d\xde\x96\x93\xf1\xbd\x26\xc3\x07\x41\xc7\xf5\x59\x7f\x68\x3b\xf9\x6a\xd2\x3f\xe3\xe9\x61\xe7\xc4\x6e\x59\x0c\xb6\xe2\xea\x62\xd8\xa4\x68\x7b\x79\x43\x36\xba\xef\xa9\xce\xf6\x4e\xf3\x1b\x97\x8d\x30\xde\x4f\xcc\x88\x5c\xda\xda\xe6\x7c\x5e\x63\xc5\xd2\x7b\x3d\x91\x30\xfd\xd8\xa6\xe9\xe9\x6c\x1b\x86\x8a\xe1\xed\xb2\x9c\xf6\xf6\x7d\x74\xe7\xa9\x9f\xdd\xdd\x4c\x8e\x43\x78\x20\xc8\x9f\xbf\xb1\x68\xa0\x3f\x4f\xd8\x83\x9f\x38\x95\xa3\xdc\x47\x72\x9f\x58\xbd\xac\xfe\x98\x8f\x23\xe4\xee\x5e\x3a\xdc\x1a\x03\xe8\x91\x05\x85\xe1\x3a\x24\x2b\xfd\x69\x5f\x5d\x9c\x1e\xcd\xde\xf6\xdd\xef\x00\x00\x00\xff\xff\x15\x5d\xa5\x6a\x37\x05\x00\x00"
+var _generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4d\x6f\xe2\x48\x10\x3d\x87\x5f\xf1\x96\x43\x02\x12\x71\x2e\xab\x3d\xa0\x7c\x6c\x36\x52\xf6\x1a\x65\x32\x99\x73\xd1\x5d\xe0\x9e\x98\x6e\xab\xbb\x8c\x83\x22\xfe\xfb\xa8\xcb\xc6\x40\xa2\x39\x0c\x17\x4c\x51\xf5\xde\xab\xd7\xcf\xed\xd6\x75\x88\x82\xc7\xc6\xaf\xdc\xa2\xe2\x97\xf0\xc6\x1e\xcb\x18\xd6\x18\x9f\xd4\xc6\xa3\xd1\xd5\xd5\x15\x1e\xc8\xa3\xa6\x94\xe0\x3c\xc8\x6f\x91\x24\x44\x5a\x31\x6a\x92\x12\xe4\x2d\x22\x1b\x76\x1b\x8e\x5d\xc5\xf9\x24\x4c\x16\x61\x89\x9f\x4d\x12\x48\xc9\xb0\xbc\xa4\xa6\x92\x42\xf1\x5e\x4a\x97\x50\xb1\x24\x6c\x43\x03\x53\x86\x90\x58\xbb\x44\x85\xe4\x62\x4b\x5e\x20\x01\x89\xbd\x05\x25\xb4\x5c\x55\xda\x62\xa8\xa6\x85\xab\x9c\x6c\xbf\xf6\xb9\xfc\xa8\x14\x4a\x73\xef\xb7\x3d\xa2\xca\x32\xe4\xb1\x60\x5d\x84\x15\x93\x3c\x28\xae\x9a\x35\x7b\x41\xc9\x91\x67\x48\x01\x2d\x55\xaa\x2c\x95\xa1\xa9\xac\xe2\x74\x8f\x30\x25\x9b\xb7\xc3\xc4\x86\xaa\x86\x53\xe6\x5e\xd3\x1b\x23\x35\xb1\xdb\xc1\x79\x61\x6f\xd9\x1e\x53\xbb\xb4\xa7\x75\x5e\xe5\x49\x24\x9f\xc8\x88\x0b\x7e\x42\xeb\xd0\x78\x99\xe3\xfb\xa3\x7b\xff\xe7\xef\x19\x24\xcc\x71\x6f\x6d\xe4\x94\x66\xba\x17\xc7\x27\x92\x72\x8e\x6f\x9d\xed\xf9\xc7\x6c\xb0\xbc\xfb\xeb\xa9\x59\x54\xce\xe4\xe7\x29\x3e\x46\x23\x00\x50\x9f\x19\xaf\xd9\x76\x44\x4e\xa1\x89\x26\x2b\x24\x41\x19\x2a\x9b\x0e\x86\xa7\xae\x4a\x91\xb1\x60\xe7\x57\x50\x75\x4b\x8e\x91\xad\x42\x55\x2c\x10\x5e\xd7\x8a\x35\xc7\xbf\x1f\x27\x21\x29\xb4\xbc\xeb\x58\xeb\xc8\x35\x45\x9e\x24\xb7\xf2\x1c\xe7\xa0\x46\xca\xc9\x7f\x21\xc6\xd0\xbe\x66\xc3\xa6\x38\xbf\x37\x26\x2f\x3c\x08\xed\xc5\xfe\xcf\x02\x42\xe4\x25\x47\xf6\x59\x69\x50\x85\x1d\xd0\x45\xd2\xd0\xb1\xc5\x26\x93\x0d\x73\x59\x99\x56\x9e\x79\x89\x9b\xbe\xb9\xe8\xf3\x59\x2c\x94\xf7\x5a\x35\x9c\x4a\xfe\xe1\xa4\xb4\x91\xda\x29\xce\x3f\x2d\xf3\x14\xc3\xc6\x59\x8e\xbb\xdb\x49\x7e\x21\xe6\x47\x27\x30\x1d\x9d\x9d\x9d\xdd\xdd\xa1\x26\xef\xcc\x64\xfc\xa0\xa9\xf0\x41\xd0\xf1\x7c\xd5\x1e\xda\x4e\xba\x1a\xf4\xd7\x78\x7a\xd8\x37\x71\xb5\x2c\x06\x4b\x71\x7d\x39\x6c\x51\xb4\xbd\xb4\x21\x17\xdd\xf7\x54\x67\x7b\x97\xf9\x9d\x4d\x23\x8c\x8f\x13\x23\x22\x1b\x57\xbb\x9c\xcd\x1b\xac\x58\x7a\x9f\x27\x12\xa6\x9f\xdb\x34\x39\x9d\x65\xc3\x50\x31\xbc\x59\x8e\xd3\xde\xba\xcf\xee\x3c\xf7\xb3\xbb\xdb\xc9\x71\x00\x0f\x04\xf9\xf3\x27\x16\x0d\xf4\x17\x09\x7b\xf0\x13\xa7\x72\x8c\xfb\x38\xee\xd3\xaa\x17\xd5\x6f\xb3\x71\x84\xdc\xdd\x49\x87\x1b\x63\x00\x3d\xb2\xa0\xb0\x5c\x87\xe4\xa4\x3f\xed\xeb\xcb\xd3\xa3\xd9\xdb\xbe\xfb\x15\x00\x00\xff\xff\xab\x62\xdc\x5e\x33\x05\x00\x00"
 
 func generic_transferCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -162,7 +162,7 @@ func generic_transferCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "generic_transfer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x89, 0x4b, 0xde, 0x50, 0x0, 0xa3, 0xbc, 0x3c, 0xa7, 0xcb, 0xa, 0x73, 0x89, 0xea, 0x33, 0xa1, 0x6c, 0xe4, 0xcf, 0xf9, 0x6, 0x1f, 0xc8, 0x76, 0x65, 0x38, 0x63, 0x45, 0x8d, 0x97, 0x73, 0x38}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa3, 0xa7, 0x57, 0x32, 0xee, 0x9d, 0x77, 0x16, 0x42, 0xa5, 0xd5, 0x7, 0xd8, 0x9e, 0xbc, 0xc3, 0x5e, 0x9c, 0x54, 0xb3, 0x9a, 0x47, 0x6f, 0x4d, 0x39, 0xf2, 0x89, 0xd2, 0xde, 0x79, 0x85, 0x57}}
 	return a, nil
 }
 
@@ -186,7 +186,7 @@ func metadataSetup_account_from_vault_referenceCdc() (*asset, error) {
 	return a, nil
 }
 
-var _mint_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x4f\x6f\xe2\x4e\x0c\xbd\xe7\x53\x58\x39\x54\x89\x7e\x6d\xb8\xfc\xb4\x07\x04\xad\xfa\x67\x7b\xab\xb4\xa2\x2c\x77\x27\x71\x60\x76\x93\x99\xc8\x33\x81\xa2\xaa\xdf\x7d\x35\x7f\x12\x92\x42\xcb\xa1\x15\x83\xfd\xde\xb3\xfd\x6c\xd1\xb4\x8a\x0d\x3c\x77\x72\x2b\xf2\x9a\xd6\xea\x2f\x49\xa8\x58\x35\x10\x4f\xde\xe2\x28\x44\xfe\x7c\xc3\xa6\x9d\x06\x8e\x9f\xe2\x28\x9a\xcd\x66\xb0\xde\x09\x0d\x86\x51\x6a\x2c\x8c\x50\x12\x84\x86\xc3\x0e\x0d\x98\x1d\x41\x23\xa4\x21\x86\xfb\xa2\x50\x9d\x34\xd0\x69\xd2\x60\x94\x7b\x06\x49\x07\x30\x16\x48\x07\x1c\x3a\x42\xcb\x6a\x2f\x4a\x72\xb9\x4c\x85\x68\x05\x49\x03\x58\x96\x4c\x5a\x03\xca\x12\xb0\x71\x48\x01\xe4\xda\xbd\xd9\xe8\x11\x12\x32\x79\x41\x15\x31\x53\x69\x63\x6d\xc4\x80\x52\x59\x49\x36\x5b\xc8\x6d\x14\x8d\xa4\x27\x03\xe5\x1c\xee\x7d\xf4\x75\x20\x9c\xc3\xef\x67\xf1\xf6\xe3\xff\x14\xde\xa3\x08\x00\xc0\x12\xad\xa8\x22\x26\x59\x50\x4f\x11\xda\x03\xbe\x65\x2f\xbe\xf8\x15\x69\xd5\x71\x41\xa0\xf2\x3f\x54\x18\x97\x5d\x93\xf1\x8a\x7d\xcc\x1c\xae\xc6\x9d\xcd\xfc\xeb\x37\x44\xfd\xc0\x02\xd3\x8a\x0a\x12\x7b\x62\x50\xd5\xb4\x75\x53\xb2\x3e\x6c\x0e\x57\xef\x93\x91\x67\x1b\xec\x6a\xf3\x71\x22\x5c\xbb\x8e\x1a\xac\x41\x77\x6d\x5b\x1f\x1d\xb0\xeb\x30\xe4\x54\x29\xf6\x13\xca\x3b\x96\x03\x83\x0f\x7c\x70\xbf\xf6\xdd\xf2\x80\x2d\x53\x8b\x4c\x89\x16\x5b\x69\xc9\xb1\x33\xbb\xe4\x41\x31\xab\xc3\x06\xeb\x8e\x52\xb8\x0a\x06\xb1\xdd\x85\xf0\xd1\x54\x57\xd9\x18\x14\x96\x13\x47\x66\x4e\xdf\xab\x0b\x88\x86\xac\xd9\x0c\x3c\x32\x20\xf0\xe7\xae\x61\xd9\x08\x39\x1e\xc3\xc0\x33\x9a\x05\x2c\xc1\x0b\xcd\xb4\x51\x8c\x5b\xca\x72\x07\xb8\xb8\x34\xa2\xdb\xc4\xee\xc5\x7c\x2a\xec\xde\xd2\xbc\xfa\xe4\x5f\x68\x76\xe9\xc0\x65\x3f\x77\x77\xd0\xa2\x14\x45\x12\xbf\x3a\x1a\xbb\x2f\x52\x99\x93\x89\xbd\xcc\x38\x3d\x15\x65\xdb\xbb\xb7\x13\x7a\x42\x83\x9f\xdb\xc0\xa4\x55\xbd\xa7\x47\x25\x0d\x63\x61\x36\x82\x0e\x09\x07\xcb\xad\x8f\x2d\xcd\x41\x8a\xfa\x1a\xf6\x82\x0e\xfe\xab\xfd\xbb\x98\x8c\xff\x85\x0c\x96\x68\xd0\xe6\xea\xec\x79\xbd\xe9\xb9\x6e\x93\xf4\x2b\xf1\x8f\xaa\xab\x4b\x27\x7c\xdb\xab\x03\x8b\xe1\x88\xa0\x52\xec\x0a\x2a\x82\xaa\xd8\xc3\x9c\x57\xb4\xa2\x0a\x96\x16\x22\x38\xe0\xb4\x82\x69\x56\x60\x8b\xb9\xa8\x85\x11\xa4\x87\x21\x5c\x34\xee\x6d\x32\xb4\x27\x6b\x42\x31\xdf\x75\xfe\x24\xde\xc3\xc2\x03\xd6\x68\x8d\x72\x66\x19\x87\x1f\xd4\x87\xfd\xa0\x37\x2a\x3a\x43\xfd\x21\x08\xae\x7b\x64\x42\xe3\x0f\x5e\x7f\x8b\xc6\xc5\xba\x43\x58\x3a\x34\x58\xdc\x9c\x99\x2e\xb3\xbf\xbb\x8a\x74\xd2\x1f\x1c\xff\x3f\x9d\xb0\x3c\x51\xab\xb4\x70\x66\x69\x7a\x89\x6c\xb7\x9a\xf6\xc4\x17\x2c\xdd\x6f\x7c\x56\xfa\xc4\x60\xd7\xc5\xcd\x48\xcf\xa4\xb8\x56\x69\x33\x5a\xc2\xaf\x16\x0e\x96\xcb\x0b\x0b\xfa\xdf\x70\x2c\xe3\xb3\x03\xd2\x74\xda\x40\x4e\x20\x64\xc1\x84\x9a\x4a\xc8\x8f\x7e\x29\x5d\x4a\x1c\x44\x7c\xfc\x0b\x00\x00\xff\xff\x70\xbd\xf0\xf8\xa6\x06\x00\x00"
+var _mint_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x4b\x4f\xdb\x40\x10\xbe\xfb\x57\x4c\x7d\x40\xb6\x0a\xce\xa5\xea\x21\x4a\x40\x3c\xca\x0d\xa9\x82\x94\xfb\xd8\x1e\x27\xdb\xda\xbb\xd6\xec\x3a\x21\x42\xfc\xf7\x6a\x1f\x76\x6c\x48\xe2\x03\x28\xb3\x33\xdf\x37\xf3\xcd\x43\x34\xad\x62\x03\x8f\x9d\x5c\x8b\xbc\xa6\x95\xfa\x47\x12\x2a\x56\x0d\xc4\x13\x5b\x1c\x05\xcf\x5f\x6f\xd8\xb4\x53\xc7\xb1\x69\xf0\x9b\x44\x3f\x91\xc1\x12\x0d\xbe\x0a\xda\xe9\x63\xf0\x13\x87\x38\x8a\x66\xb3\x19\xac\x36\x42\x83\x61\x94\x1a\x0b\x23\x94\x04\xa1\x61\xb7\x41\x03\x66\x43\xd0\x08\x69\x88\xe1\xb6\x28\x54\x27\x0d\x74\x9a\x34\x18\xe5\xcc\x20\x69\x07\xc6\xa2\xea\x80\x43\x7b\x68\x59\x6d\x45\x49\x2e\x96\xa9\x10\xad\x20\x69\x00\xcb\x92\x49\x6b\x40\x59\x02\x36\x0e\x29\x80\x5c\x3a\x9b\xf5\x1e\x21\x21\x93\x4f\xa8\x22\x66\x2a\xad\xaf\xf5\x18\x50\x2a\x9b\x92\x8d\x16\x72\x1d\x45\xa3\xd4\x93\x81\x72\x0e\xb7\xde\xfb\x32\x10\xce\xe1\xcf\xa3\x78\xfb\xf9\x23\x85\xf7\x28\x02\x00\xb0\x44\xcf\x54\x11\x93\x2c\xa8\xa7\x08\x12\x83\x97\xfd\xc9\x17\xff\x4c\x5a\x75\x5c\x10\xa8\xfc\x2f\x15\xc6\x45\xd7\x64\x7c\xc6\xde\x67\x0e\x17\xe3\xee\x64\xde\x7a\x86\xa8\xef\x4a\x60\x7a\xa6\x82\xc4\x96\x18\x54\x35\x95\x6e\x4a\xd6\xbb\xcd\xe1\xe2\x7d\xd2\xd7\xac\x7f\xf9\x38\x70\xae\x9c\xa8\x06\x6b\xd0\x5d\xdb\xd6\x7b\x87\xed\x44\x86\x9c\x2a\xc5\xbe\x49\x79\xc7\x72\x20\xf1\x8e\x77\xee\xb5\x17\xcc\x03\xb6\x4c\x2d\x32\x25\x5a\xac\xa5\xe5\xc7\xce\x6c\x92\x3b\xc5\xac\x76\xaf\x58\x77\x94\xc2\x45\x98\x11\x2b\x30\x84\x4f\x53\x5d\x65\x63\x50\x58\x4e\x06\x3b\x73\xf9\xbd\x38\x87\x68\x88\x9a\xcd\xc0\x23\x03\x02\x7f\x16\x0e\xcb\x46\xc8\x71\x27\x06\x9e\x51\x3b\x60\x09\x3e\xd1\x4c\x1b\xc5\xb8\xa6\x2c\x77\x80\x8b\x63\x5d\xba\x4e\xec\xa2\xcc\xa7\x89\xdd\x5a\x9a\x17\x1f\xfc\x1b\xcd\x26\x1d\xb8\xec\x77\x73\x03\x2d\x4a\x51\x24\xf1\x8b\xa3\xb1\x2b\x23\x95\x39\xcc\xb1\x4f\x33\x4e\x0f\x45\x59\x79\xb7\xd8\xd5\xe6\x01\x0d\x7e\x96\x81\x49\xab\x7a\x4b\xf7\x4a\x1a\xc6\xc2\xd8\xed\x4c\x38\x4c\xdd\x6a\xdf\xd2\x1c\xa4\xa8\x2f\x61\x2b\x68\xe7\x7f\xda\xbf\x8b\xd3\x9b\x9d\x3d\xae\x5e\x7b\xae\xeb\x24\x4d\x01\xf5\xb7\x33\x97\x62\xec\x7e\x73\xa2\xd0\x7b\xd5\xd5\xa5\x2b\x72\xdd\x57\x02\x16\xc0\x25\x05\x95\x62\x57\x7c\x11\x2a\x88\xbd\x5e\x47\x1a\x34\x4c\xfa\xd2\x02\x85\x99\x39\xec\x6d\x9a\x15\xd8\x62\x2e\x6a\x61\x04\xe9\xa1\x6d\xa7\xa6\xfd\x3a\x19\x34\xcd\x38\x18\xcf\xb5\xeb\x50\x85\x47\x86\x3e\xe8\xeb\xa0\x39\x45\x42\x1d\x61\xab\xe8\x8d\x8a\xce\x50\x7f\x41\xc2\xac\xde\x33\xa1\xf1\x97\xb2\x3f\x62\xe3\xa6\xbb\x0b\x5a\x3a\x34\x58\x5c\x7d\x19\xd5\xcc\xbe\xbb\xaa\x74\xd2\x5f\x2a\xff\x3f\x9d\xb0\x3c\x50\xab\xb4\x70\x23\xd6\xf4\x29\xba\xe4\x69\x4b\x7c\x46\xe7\xac\xf4\x81\x61\xc8\x17\x57\xa3\x7c\x26\xc5\xb5\x4a\x9b\xd1\xea\x9e\x5a\x53\x58\x2e\x8f\xac\xf5\xf7\xe1\xca\xc6\x5f\xce\x4e\xd3\x69\x03\x39\x81\x90\x05\x13\x6a\x2a\x21\xdf\xfb\x55\x76\x21\x71\x48\xe2\xe3\x7f\x00\x00\x00\xff\xff\xf3\x77\x90\x72\x23\x07\x00\x00"
 
 func mint_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -202,11 +202,11 @@ func mint_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "mint_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0xe, 0xa0, 0x7f, 0xfb, 0x64, 0x20, 0x18, 0x2b, 0xaa, 0xbc, 0xc3, 0x54, 0xc6, 0xa, 0x42, 0x2d, 0x43, 0x3e, 0x8, 0x97, 0xf4, 0xd5, 0x19, 0x87, 0x1, 0xc6, 0xd0, 0x2e, 0x46, 0x1, 0xe3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4b, 0xf1, 0x4e, 0x1, 0x16, 0x2, 0x4c, 0xf9, 0x39, 0x6e, 0xb5, 0x5b, 0xcf, 0x75, 0x79, 0x75, 0x20, 0xc8, 0x14, 0x5d, 0x76, 0x81, 0xf4, 0x57, 0xc8, 0xe0, 0xbd, 0xe7, 0xaf, 0x8e, 0x3c, 0x5a}}
 	return a, nil
 }
 
-var _privateforwarderCreate_account_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4f\x6b\xe3\x4e\x0c\xbd\xfb\x53\x88\x1e\xfa\xb3\xc1\x75\xef\x25\xfd\xc1\x6e\x68\xa0\x2c\x94\xb0\xed\xf6\xae\x38\x4a\x3c\xec\xc4\x63\x34\x72\x9c\x10\xf2\xdd\x97\xf1\xbf\xcc\x34\x4d\xb7\xdd\xb9\x24\x68\xa4\xa7\xf7\xa4\x37\x56\x9b\xca\xb0\xc0\xac\x2e\xd7\x6a\xa1\xe9\xc5\xfc\xa6\x12\x56\x6c\x36\x70\x15\xc4\xae\xa2\x3e\xf3\x61\x87\x9b\x2a\x4c\xf4\x43\x63\xde\x9c\xd5\x16\x85\x7e\x52\x4e\x6a\x4b\x3c\x33\xdc\x20\x2f\x89\xfb\x9a\x4b\xd7\x57\x51\x74\x7b\x7b\x0b\x2f\x85\xb2\x20\x8c\xa5\xc5\x5c\x94\x29\x41\x59\xa8\x2d\x2d\x41\x0c\xe4\x4c\x28\x04\xe8\x02\xfc\x9f\x85\x99\x36\x0d\x60\x9e\x9b\xba\x14\x68\x94\x14\x80\x50\x75\xf0\xb0\x1a\x70\xa3\xc8\x47\x3b\x44\x11\x00\x80\xeb\xf4\x44\x0d\x7c\xeb\x8b\xa5\x40\x87\xa0\x35\x14\x46\x2f\x41\x0a\x1f\xc0\x15\x68\x12\x28\xa9\xe9\xf3\xef\x00\x6b\x29\xe2\x67\x31\x8c\x6b\x4a\x61\x6a\x4a\x61\xcc\xc5\xa6\xf0\x83\xf6\x36\x85\xc7\x72\x61\x76\x29\x4c\xb1\xc2\x85\xd2\x4a\x14\xd9\x04\xae\xfb\xea\x8e\x42\xc5\x54\x21\x53\x5c\xe1\x9e\xb8\x07\xfc\x6e\x98\x4d\xf3\x8a\xba\xa6\x53\x7a\x02\x87\xb6\xc0\x1d\x4b\x7a\x95\x9d\x78\xc0\xfd\xa0\x60\x80\x69\x7f\x92\x36\xff\xd8\xf5\xa1\x1d\xe5\xb5\xd0\xa0\xbc\x53\x0f\xcf\xb8\x75\x83\x64\x5a\xd7\x1a\x19\xb6\x58\x6b\x71\x23\x76\xca\x4b\x1a\xa7\x7a\xa9\x71\x66\x3b\xe9\x99\xc5\x2d\xc5\x93\x1b\xdf\x08\x59\xb7\xa6\x87\x4d\x25\xfb\x57\x87\x1b\x27\x29\x88\xb9\x0b\x0c\x94\xb5\x37\xfd\x00\xe7\x28\x45\x12\xd0\x7b\xb4\xb6\x76\xfc\x06\x97\x9c\x26\xb9\x07\x41\x5e\x93\x88\x2a\xd7\x2d\xdb\xc0\x96\x2d\xea\x08\xe4\x96\xc6\x3d\x82\x07\x70\x7f\xa6\x26\xf7\xf6\x34\x4a\x53\x8e\xc3\xe4\xfa\x10\xbc\x86\x6c\x60\x74\xfc\x3f\x1e\xfb\xb8\xf3\xa1\xb8\x31\x33\x54\xf9\xcb\x52\x2b\x61\xf0\xec\xc0\x35\xf0\xfa\xb9\xa1\x7d\x79\x63\x14\x26\x37\x17\x5f\x5e\xbf\x91\x27\x6a\xc6\x50\xcc\x94\xab\x4a\x91\xf3\xf2\xf9\x88\x92\x73\xaf\xf8\x3c\x4f\x4d\xc5\x8c\xef\xaf\x1f\xdb\x67\x1d\x33\x62\x74\xde\xb8\x48\xfd\xcd\xc5\x5f\x1d\xe3\x1b\xa5\xb3\xf3\xe9\x03\xc4\x64\x4d\xcd\x39\xbd\x3f\xc1\x29\x56\x5f\xb4\xc6\x45\xd2\xe3\xbf\x37\x26\x71\xe7\x1f\x94\x06\x18\x89\xaf\x7a\x5e\x2f\xb4\xb2\x45\xab\xf3\x4b\xca\x3f\x94\x59\x75\xa8\x21\x77\x7f\x4e\x69\x70\x83\xf2\xf9\xfd\xb5\x84\xf3\xf7\xde\xc4\x31\x3a\xfe\x09\x00\x00\xff\xff\x2a\x78\x13\x75\x93\x06\x00\x00"
+var _privateforwarderCreate_account_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x51\x4f\xdb\x40\x0c\x7e\xcf\xaf\xb0\xfa\xc0\x52\x29\xb4\xef\xa8\xc0\xb6\x8e\x4a\x68\x1a\x42\xa3\xe3\xdd\x4d\x4d\x72\xda\xf5\x2e\xba\x73\x12\x2a\xd4\xff\x3e\x5d\x92\x4b\x72\xd0\x6e\xb0\x3c\x20\xea\xd8\x9f\xbf\xcf\xfe\x1c\xb1\x2b\xb4\x61\x58\x95\x2a\x13\x1b\x49\x6b\xfd\x9b\x14\x3c\x19\xbd\x83\x49\x10\x9b\x44\x5d\xe6\xcd\x33\xee\x8a\x30\x71\x1c\xea\xf3\xee\x8d\xa8\x90\xe9\x27\xa5\x24\x2a\x32\x2b\x6d\x6a\x34\x5b\x32\x5d\xcd\xa9\xd7\x7d\x7d\xd0\xfd\x07\x31\x6e\x91\xf1\x51\x50\x6d\x8f\xd1\x0b\x12\x26\x51\x34\x9f\xcf\x61\x9d\x0b\x0b\x6c\x50\x59\x4c\x59\x68\x05\xc2\x42\x69\x69\x0b\xac\x21\x35\x84\x4c\x80\x2e\x60\x3e\x59\x58\x49\x5d\x03\xa6\xa9\x2e\x15\x43\x2d\x38\x07\x84\xa2\xa5\x08\x4f\x9e\x5b\x14\x8d\xd1\x5e\xa2\x08\x00\xc0\x75\xba\xa3\x1a\xbe\x74\xc5\x9c\xa3\x43\x90\x12\x72\x2d\xb7\xc0\xf9\x18\xc0\x15\x48\x62\x50\x54\x77\xf9\x17\x80\x25\xe7\xf1\x03\x6b\x83\x19\x25\xb0\xd4\x8a\x0d\xa6\x6c\x13\xf8\x4e\x7b\x9b\xc0\xad\xda\xe8\xe7\x04\x96\x58\xe0\x46\x48\xc1\x82\xec\x14\xce\xba\xea\x96\x42\x61\xa8\x40\x43\xb1\x15\x99\x22\xd3\x21\x7e\xd5\xc6\xe8\xfa\x11\x65\x49\x43\xfe\x14\x5e\x9a\x0a\xf7\x58\x92\x4f\xb3\x81\x08\x5c\x7a\x09\x71\x81\x7b\x07\xd3\xc2\x4d\x9b\x82\x43\xdb\x89\x9e\x29\x2d\x99\xbc\x76\x2f\xa7\xc2\x52\xf2\x37\x64\x84\xcb\xc0\x1f\x33\x43\x56\xcb\x8a\xbc\x28\xb7\x9d\xd8\xc5\x4a\x93\xd2\x7a\x5f\xd0\x05\x28\x21\x13\xa8\x04\xd5\xed\x4f\xf7\x77\x71\x7a\xb3\xb3\xd5\xfa\xd1\xf7\xba\x8a\xa7\xd3\x9e\x85\x7b\xae\xaf\xa1\x40\x25\xd2\x78\xb2\xd4\xa5\xdc\x82\xd2\x0c\x99\x67\x07\x0e\xa3\x69\xe4\xd6\xd1\xac\x25\xed\x58\x4d\xa6\x83\x9a\xf9\x1c\x1e\xb0\x72\xc6\x30\x94\x95\x12\x4d\x57\xcd\xba\x29\x51\xd4\xbb\xe4\xd4\x1c\x67\xb6\x5d\xe5\xcc\x62\x45\xf1\xe2\x3c\x98\x47\x6b\xbb\x9b\x5d\xc1\xfb\x46\x47\xdc\xa0\x8f\xa4\x7f\x0e\xd2\x9b\x1c\xa7\x33\x01\xd6\x17\xc3\x98\x7d\x8f\x7b\xe4\x3c\x24\x7f\x6b\x6d\xe9\xd8\xfb\xbb\x1a\x7c\xb3\x07\x46\x93\x11\xb3\x50\x59\xa3\x25\x38\xe4\xa6\x53\xb0\x53\xd3\x21\x8c\x00\x2e\xdf\x68\x4d\x47\xae\xec\x85\x0b\xc7\x61\x71\xf6\x12\xac\x71\xe6\x19\x1d\xae\xe2\x60\x6b\x47\x45\xf5\x19\xa1\xba\x5f\x96\x1a\xea\xfe\x32\x3d\xc7\xe0\xa2\xdf\x9e\xed\x58\x56\x1f\x85\xc5\xf9\xc9\x6f\x54\xb7\xa7\x3b\xaa\xfb\x50\x6c\x28\x15\x85\x20\x77\xb1\x6f\x47\x73\xc4\x41\x63\x9e\x43\x53\xd6\xfd\x57\xa6\x93\xfb\x5e\x1f\xf5\x18\xad\x17\x4e\x52\x7f\xf5\xe2\xe1\x5f\x4e\x19\x1b\xa4\x35\xf9\xf0\xa9\xf6\xa7\x7a\x7c\x82\x4b\x2c\x3e\x68\x89\x93\xa4\xfb\xff\x5e\x99\xc3\x3d\xff\xa1\x34\xc0\x98\x8e\x55\xdf\x97\x1b\x29\x6c\xde\xe8\xfc\x90\xf2\xbf\xca\x2c\x5a\xd4\x90\xfb\x78\x4e\x49\xf0\x06\xf9\xfd\xfb\x6b\x08\xa7\xc7\x6e\xe2\x10\x1d\xfe\x04\x00\x00\xff\xff\x2c\x6d\x06\x76\xbd\x07\x00\x00"
 
 func privateforwarderCreate_account_private_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -222,11 +222,11 @@ func privateforwarderCreate_account_private_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/create_account_private_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5b, 0xda, 0x24, 0x45, 0xc8, 0x6d, 0x3d, 0xb2, 0x99, 0xe9, 0x9e, 0x81, 0xf3, 0x5e, 0xc6, 0xb7, 0x25, 0x6c, 0x5, 0x8e, 0xfa, 0x9c, 0x2d, 0x95, 0xef, 0xad, 0xf8, 0xe6, 0x65, 0x23, 0x2e, 0xd1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0x1e, 0xb6, 0x78, 0x61, 0x93, 0x2, 0x26, 0xcd, 0x10, 0x18, 0x3, 0xb3, 0x97, 0x2e, 0xbc, 0x9, 0xa9, 0x22, 0x7e, 0xe, 0x82, 0x2d, 0x1f, 0x0, 0x1d, 0x9c, 0xd5, 0xce, 0x2d, 0x51, 0x5b}}
 	return a, nil
 }
 
-var _privateforwarderCreate_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x53\x4d\x6b\xdb\x4c\x10\xbe\xeb\x57\x3c\xf8\x90\xd7\x06\x47\xbe\x1b\xbf\x85\x62\x1a\xe8\xa5\x98\x26\xe4\x3e\x5e\x4f\xac\xa5\xf2\xae\x98\x1d\xd9\x0d\xc6\xff\xbd\xe8\xd3\x5a\xd7\x82\xa4\x7b\x12\x33\x3b\xcf\x3e\x1f\x23\x7b\x28\xbc\x28\x9e\x4a\xb7\xb7\xdb\x9c\x5f\xfc\x2f\x76\x78\x13\x7f\xc0\x24\xaa\x4d\x92\xf6\xe6\xb7\xdf\x74\x28\xe2\x8b\xc3\x52\x7f\x6f\x23\xf6\x48\xca\x3f\xd9\xb0\x3d\xb2\x3c\x79\x39\x91\xec\x58\xda\x99\xb1\xf6\x24\x49\x16\x0b\xbc\x64\x36\x40\x85\x5c\x20\xa3\xd6\x3b\x18\x61\x52\x0e\x20\x38\x3e\xa1\x68\x86\x21\xed\x34\xac\x03\x39\x90\x31\xbe\x74\x0a\xcd\x48\x51\xc1\xec\x3c\x07\xf7\x9f\x82\x72\x61\xda\xbd\x23\xa3\x23\x83\xfe\x1e\xf7\x52\x55\xcb\x6d\x6e\x0d\xb4\x16\xd6\xb5\x2a\x94\x6d\xa9\x35\xd2\x2d\xcc\x2b\x95\xb9\x26\xc9\x90\xe6\x39\x49\x00\xa0\x10\x2e\x48\x78\x1a\xec\xde\xb1\x2c\x41\xa5\x66\xd3\xef\x21\x94\xfc\xac\x5e\x68\xcf\x6b\x2a\x68\x6b\x73\xab\xef\x6b\xef\x54\x7c\x9e\xb3\xcc\xb1\xa9\x18\x84\xec\xda\x9c\xe3\x99\x8e\xfc\x4a\x79\xc9\x33\x3c\x7c\x6d\xe4\xcd\x70\xae\x1f\xa9\xce\x62\x81\x1a\x16\x84\xce\x49\x5c\xc7\xa1\x24\x7b\x56\xb5\x6e\x0f\xcd\x38\x8e\xae\x61\xdf\x01\xe5\xac\xbd\xe6\x01\xc0\xff\x68\x24\xa4\xa6\xab\x59\x0e\x69\x68\x44\xa4\xb6\x7a\x7a\xf5\x70\x8e\x16\x25\xed\x88\x5c\xbe\x4c\x7b\xf8\xea\x0c\x5f\x4f\xeb\xd7\x5b\x33\x36\xa4\x59\x7f\x73\x36\xd4\xb6\xae\x53\xaf\xb9\x5f\xf7\x47\x38\xf8\x52\x0c\x47\xdc\xdf\xfa\xf6\xea\x71\x74\xf5\xd2\x66\x8b\x7e\xf0\xa9\x2f\x4d\x85\x8d\x2d\x2c\x3b\x5d\xde\xd1\x1f\x91\xa9\xa2\x18\xa1\x02\xf5\x68\x4d\xe9\x27\x5a\xe3\x3a\xaf\x02\x1d\x79\xba\x7a\xec\x79\xce\xa1\x7e\x39\xce\xf4\xa6\x31\x70\x6a\x76\x2f\xfc\x61\xe6\xfe\x53\x7e\xad\xa9\xf8\x58\xca\xa3\x54\xfb\xaf\x9b\xbc\xab\xf3\x0f\xfa\x22\x8c\x48\x6c\xfb\x7b\xd4\xf2\x3e\x25\xf8\x9e\xba\xa2\x01\x8b\x29\x0f\x5d\x99\x47\x1d\xd2\x8f\x87\x55\xf3\x34\x77\xb6\xfa\x92\x5c\x92\x3f\x01\x00\x00\xff\xff\x39\x74\x40\x0c\x70\x05\x00\x00"
+var _privateforwarderCreate_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x53\x4d\x8f\xda\x3c\x10\xbe\xe7\x57\x8c\x38\xec\x9b\x48\x6c\xb8\x23\x76\x57\xaf\x68\x91\x7a\x68\x85\x0a\xe2\x3e\x98\x21\xb1\x6a\xec\xc8\x9e\x84\xa2\x15\xff\xbd\x72\xbe\x88\x29\x91\x76\xeb\x03\x22\x33\x9e\x99\xe7\x63\x2c\x4f\x85\xb1\x0c\xab\x52\x67\x72\xaf\x68\x6b\x7e\x91\x86\xa3\x35\x27\x98\x04\xb1\x49\xd4\xde\xfc\xfa\x1b\x4f\x45\x78\x71\x18\xea\xef\xad\xad\xac\x90\xe9\x27\x09\x92\x15\xd9\x95\xb1\x67\xb4\x07\xb2\x6d\xcd\x58\xba\xaf\x0f\xa6\x7f\x27\xc6\x03\x32\xee\x24\x9d\xdd\x23\x78\xc1\x85\x49\x14\xcd\x66\xb0\xcd\xa5\x03\xb6\xa8\x1d\x0a\x96\x46\x83\xb0\x84\x4c\x0e\x10\x34\x9d\xa1\x68\x00\x80\x6d\x11\x80\xd4\x80\x1a\x50\x08\x53\x6a\x06\xce\x91\xc1\xb7\x39\x18\x72\xfa\x3f\x06\x54\x96\xf0\x70\x81\x1c\x2b\x02\xfc\xbb\xdc\x58\x1f\x2d\xf7\x4a\x0a\xe0\x5a\x9c\x2e\xe5\xbb\xec\x4b\xae\x3b\xdd\xb7\xd9\x61\xa9\x38\x8a\x86\x30\xdf\xa3\x08\x00\xa0\xb0\x54\xa0\xa5\xd8\xc9\x4c\x93\x9d\x03\x96\x9c\xc7\xdf\x9c\x2b\x69\xc3\xc6\x62\x46\x4b\x2c\x70\x2f\x95\xe4\xcb\xd2\x68\xb6\x46\x29\xb2\x53\x58\x7b\x04\x2e\xbf\x25\xa7\xb0\xc1\x8a\x76\xa8\x4a\x4a\xe0\xe9\xff\x86\x5e\xd2\x4d\xf1\x47\x11\x43\xe5\x71\x7c\x41\x46\x78\x09\x1c\x4e\x2d\x39\xa3\x2a\xaa\x47\xa0\x60\xaf\x6f\xec\x63\xa5\x15\xb4\xbd\x14\x34\x07\x2d\xd5\x14\x2a\x49\xe7\xe6\xd3\xff\x2e\xc6\xbd\x49\x57\xdb\x5d\x37\xeb\x35\x4e\x92\x1e\x85\x3f\x6f\x6f\x50\xa0\x96\x22\x9e\x2c\x4d\xa9\x0e\xa0\x0d\x43\xd6\xa1\x03\xdf\xa3\x1e\x04\x47\x63\x81\x73\x02\xd1\xa2\x9a\x24\x37\x36\xb3\x19\xd4\x2a\x01\x42\xb7\x5c\x70\x53\x03\x18\x6d\x46\xcc\x52\x67\x75\x87\x60\x9b\x1b\x33\x86\xb2\x74\x16\x0e\x1a\xbc\x40\xe3\x48\x2a\xba\x98\x24\x97\xba\xc6\x93\x54\xfa\xd1\x8b\xa7\xf7\x40\x80\xb4\x03\x72\x7d\x8d\x03\xbe\xbd\xea\x5d\xfd\x1a\x39\xef\x6f\x24\x43\x4e\xcb\x7a\x79\x6b\xcc\xb7\xa7\xd4\x19\x11\x60\x3e\xf6\xe9\xc5\xf3\xe8\x2b\x4c\x9b\xc7\xf0\x83\xce\x7d\x28\xb6\x24\x64\x21\x49\xf3\xfc\x01\xef\x00\x8c\xdf\xa8\x11\x28\xc0\x06\x5a\x32\x7d\x45\x2b\x58\xa7\x91\xc3\x8a\xe2\xc5\x73\x8f\x73\x0a\x6c\xe6\xe3\x48\xef\x12\x9b\x9b\x52\xc9\x23\xd3\x87\x5e\x9b\x4f\xe9\xb5\xc4\xe2\x63\xee\x8e\x42\xed\xff\xdd\xf9\xec\xcf\x3f\xf0\x0b\x7a\x04\x64\xdb\x57\x5e\xd3\xfb\x14\xe1\x47\xec\x8a\xa6\x59\x08\x79\xa8\xca\x34\xc8\x20\x7f\xdc\xac\x1a\xa7\x78\xb0\xd5\xd7\xe8\x1a\xfd\x09\x00\x00\xff\xff\xe2\x30\x5c\xd3\x7b\x06\x00\x00"
 
 func privateforwarderCreate_private_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -242,7 +242,7 @@ func privateforwarderCreate_private_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/create_private_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x63, 0xf7, 0x2d, 0x8e, 0x52, 0xb, 0x72, 0x82, 0xf0, 0xdf, 0xf7, 0xe4, 0x17, 0x39, 0x77, 0xea, 0xb8, 0x5c, 0x89, 0xff, 0xef, 0x4c, 0x59, 0x7d, 0xa4, 0xb8, 0xcd, 0x45, 0xa3, 0xf4, 0x39, 0xa1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1c, 0x9b, 0xa3, 0xcc, 0x90, 0x50, 0x4a, 0x9b, 0xa4, 0x72, 0xfd, 0x1d, 0x82, 0x41, 0x75, 0x5b, 0xb9, 0x4a, 0xe2, 0xa9, 0xe1, 0xeb, 0x1, 0xb, 0xa6, 0xfb, 0x13, 0x97, 0xbc, 0x82, 0x29, 0x18}}
 	return a, nil
 }
 
@@ -286,7 +286,7 @@ func privateforwarderSetup_and_create_forwarderCdc() (*asset, error) {
 	return a, nil
 }
 
-var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x4b\x6f\x9b\x40\x10\x3e\x87\x5f\x31\xf1\x21\x05\x29\xc5\x97\xaa\x07\x94\x87\xd2\xb4\xee\x29\x52\x94\xb8\xee\xa1\xea\x61\x0c\x63\x58\x05\xef\xa2\xd9\xc1\x24\x8a\xfc\xdf\xab\x85\x85\x40\x13\x2b\x52\x55\x1f\xfc\x58\x7f\x33\xf3\x3d\x66\x51\xdb\xca\xb0\xc0\xa2\xd6\xb9\x5a\x97\xb4\x34\x0f\xa4\x61\xc3\x66\x0b\xb3\xc9\xd9\x2c\xf0\xc8\x6f\x8f\xb8\xad\xa6\xc0\xf1\xd1\x80\xbb\x65\xb5\x43\xa1\x3b\x4a\x49\xed\x88\x17\x86\x1b\xe4\x8c\xd8\xd7\x1c\xfa\x7b\xa8\x9f\x4c\xbf\x21\xc1\x0c\x05\x57\x8a\x1a\xfb\x16\xbd\x09\x60\x16\x04\xf3\xf9\x1c\x96\x85\xb2\x20\x8c\xda\x62\x2a\xca\xe8\xee\xfb\x86\xd8\x82\x18\xd8\xa2\x7e\x02\xcc\x32\x26\x6b\xc9\x82\x14\x6c\xea\xbc\x00\x29\x48\x31\x54\x1d\x3b\x60\x4f\xcf\x06\xc1\xa8\x51\xe8\xcb\xae\xb6\xa6\xd6\x72\x83\x55\x02\xcf\x57\xdd\x51\x02\x3f\x16\xea\xf1\xf3\xa7\x7d\x04\xcf\x41\x00\x00\xd0\x12\x21\x58\x61\x5d\x0a\x30\x59\x53\x73\x4a\x20\x05\x0a\x14\xa6\xcc\xdc\x64\x02\x71\x1a\x6c\x77\x8a\x4c\xb0\x26\xa5\xf3\x81\x2f\x53\xd6\xb6\x2a\x49\x60\xe7\xfa\xdc\xd1\x26\x01\xac\xa5\x08\x27\x26\xc4\x3f\x95\x14\x19\x63\x83\xeb\x92\x22\x38\x19\xe7\x12\xb7\x04\x82\xa1\x8f\x57\xe8\x7d\x57\x3a\xbf\x27\x9d\x11\x27\x70\x72\x28\x99\xb8\x43\x74\x2d\x2a\xa6\x0a\x99\x42\xab\x72\xed\xaa\x5a\x32\x5f\x0c\xb3\x69\x56\x58\xd6\x6e\xfa\x55\x9a\x3a\x7b\x06\x23\x26\x0a\xbe\xa2\x20\x9c\x4f\x96\x29\x76\xe6\x94\x3b\xba\x36\x5a\x18\x53\x71\x51\x86\xbd\x61\xcb\xa7\x8a\x12\xd0\xaa\x3c\x85\x9d\xa2\xa6\xfb\xe9\xde\xcf\x0e\xaf\x41\xbc\x58\xae\xfa\x59\x17\x61\x14\x0d\x2c\xdc\xeb\xf2\x12\x2a\xd4\x2a\x0d\x67\xd7\xa6\x2e\x33\xd0\x46\x20\xef\xd9\x81\xeb\xd1\x0e\x82\x8d\xe1\x36\xa1\xd4\xb3\x9a\x45\x2f\x6a\xe6\x73\xf8\x4e\x02\x08\x4c\x1b\x62\xd2\x2e\x57\xd3\xa2\x3b\x5b\x3e\x58\xb0\x62\x98\xb2\xae\xeb\x50\x67\xa9\xdc\xc4\x7d\x90\x70\xee\xd1\xb1\xc3\x62\x4e\xf1\xba\xb5\xf1\xec\x5f\xf2\xbd\x08\xdd\xdd\x48\x5e\x3c\xee\x9b\xde\xa2\x14\x51\x70\x74\x74\xf4\x96\xee\x6e\xe0\x6b\x15\xa6\xe9\x44\xb4\xad\x8f\xc7\xca\x5b\x05\x07\x56\xe8\xa0\xa0\xf7\x36\xab\x27\xff\x0e\xec\xfe\xbf\x2b\xda\x77\x1f\xf4\x48\x69\x2d\x34\xde\x57\x97\xbe\xbf\xec\xa0\x34\xfc\x7d\xef\xe3\x07\x7a\xb2\x63\xfc\x7b\xde\xc4\x96\x74\xe6\xf5\xb5\xb1\xd9\xfe\x59\x72\xea\x9f\x01\x09\x9c\x7d\x9c\xec\x47\xdc\xf8\xd0\x43\x6c\xc7\x26\xaf\x58\xfc\xf2\x07\xbf\x8f\xa3\x51\x44\x7b\x2f\x6d\x1f\xfc\x09\x00\x00\xff\xff\xc6\xed\x22\xd7\xe3\x05\x00\x00"
+var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x4b\x6f\x9b\x40\x10\x3e\x87\x5f\x31\xf1\x21\x05\x29\xc5\x97\xaa\x07\x94\x87\xd2\xb4\xee\x29\x52\x94\xb8\xee\xa1\xea\x61\x02\x63\x58\x05\xef\xa2\xd9\xc1\x24\x8a\xfc\xdf\xab\x85\x85\x40\x13\xcb\xaa\x54\x1f\xfc\x58\x7f\x33\xf3\x3d\x66\x51\x9b\xca\xb0\xc0\xa2\xd6\xb9\x7a\x28\x69\x69\x1e\x49\xc3\x9a\xcd\x06\x66\x93\xb3\x59\xe0\x91\xdf\x9e\x70\x53\x4d\x81\xe3\xa3\x01\x77\xcb\x6a\x8b\x42\x77\x94\x92\xda\x12\x2f\x0c\x37\xc8\x19\xb1\xaf\xd9\xf7\xf7\x50\x3f\x99\x7e\x43\x82\x19\x0a\xae\x14\x35\xf6\x3d\x7a\x13\xc0\x2c\x08\xe6\xf3\x39\x2c\x0b\x65\x41\x18\xb5\xc5\x54\x94\xd1\xdd\xf7\x35\xb1\x05\x31\xb0\x41\xfd\x0c\x98\x65\x4c\xd6\x92\x05\x29\xd8\xd4\x79\x01\x52\x90\x62\xa8\x3a\x76\xc0\x9e\x9e\x0d\x82\x51\xa3\xd0\x97\x5d\x6d\x4c\xad\xe5\x06\xab\x04\x5e\xae\xba\xa3\x04\x7e\x2c\xd4\xd3\xe7\x4f\xbb\x08\x5e\x82\x00\x00\xa0\x25\x42\xb0\xc2\xba\x14\x60\xb2\xa6\xe6\x94\x40\x0a\x14\x28\x4c\x99\xb9\xc9\x04\xe2\x34\xd8\xee\x14\x99\xe0\x81\x94\xce\x07\xbe\x4c\x59\xdb\xaa\x24\x81\xad\xeb\x73\x47\xeb\x04\xb0\x96\x22\x9c\x98\x10\xff\x54\x52\x64\x8c\x4d\x04\x27\xe3\x4c\xe2\x76\x78\x30\xf4\xf0\xea\xbc\xe7\x4a\xe7\xf7\xa4\x33\xe2\x04\x4e\xf6\xa5\x12\x77\x88\xae\x45\xc5\x54\x21\x53\x68\x55\xae\x5d\x55\x4b\xe4\x8b\x61\x36\xcd\x0a\xcb\x9a\x22\x38\xb9\x4a\x53\x67\xcd\x60\xc2\x84\xfd\x57\x14\x84\xf3\xc9\x22\xc5\xce\x98\x72\x4b\xd7\x46\x0b\x63\x2a\x2e\xc6\xb0\x37\x6b\xf9\x5c\x51\x02\x5a\x95\xa7\xb0\x55\xd4\x74\x3f\xdd\xfb\xd9\xfe\x15\x88\x17\xcb\x55\x3f\xeb\x22\x8c\xa2\x81\x85\x7b\x5d\x5e\x42\x85\x5a\xa5\xe1\xec\xda\xd4\x65\x06\xda\x08\xe4\x3d\x3b\x70\x3d\xda\x41\xb0\x36\xdc\xa6\x93\x7a\x56\xb3\xe8\x55\xcd\x7c\x0e\xdf\x49\x00\x81\x69\x4d\x4c\xda\x65\x6a\x5a\x74\x67\xcb\x07\x0b\x56\x0c\x53\xd6\x75\x1d\xea\x2c\x95\xeb\xb8\x0f\x11\xce\x3d\x3a\x76\x58\xcc\x29\x7e\x68\x6d\x3c\xfb\xd7\x6c\x2f\x42\x77\x27\x92\x57\x7f\xfb\x86\xb7\x28\x45\x14\x1c\x1d\x1d\xbd\xa7\xb9\x1b\xf6\x56\x81\x69\x3a\x01\x6d\xeb\xe3\xb1\xea\x96\xfd\x9e\xf5\xd9\x2b\xe6\xd0\x56\xf5\xe4\x0f\xc0\xee\xff\xbb\xa2\x5d\xf7\x41\x4f\x94\xd6\x42\xe3\x5d\x75\xc9\xfb\x4b\x0e\x4a\xc3\xdf\xf7\x3d\x7e\xa4\x67\x3b\xc6\x1f\xf2\x26\xb6\xa4\x33\xaf\xaf\x8d\xcd\xf6\xcf\x90\x53\x7f\xf7\x13\x38\xfb\x38\xd9\x8d\xb8\xf1\x81\x87\xd8\x8e\x4d\xde\xb0\xf8\xe5\x0f\x7e\x1f\x47\xa3\x88\x76\x5e\xda\x2e\xf8\x13\x00\x00\xff\xff\x66\x23\xc4\xd7\xdb\x05\x00\x00"
 
 func privateforwarderTransfer_private_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -302,11 +302,11 @@ func privateforwarderTransfer_private_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/transfer_private_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcf, 0xe1, 0xf9, 0xbc, 0x21, 0x30, 0x5a, 0x98, 0xf3, 0x63, 0xba, 0xd4, 0x34, 0xa1, 0x72, 0x9a, 0xa4, 0xe4, 0x24, 0xd5, 0x33, 0x64, 0xe1, 0xaa, 0x58, 0xe6, 0x17, 0x14, 0x88, 0xed, 0x8f, 0x56}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbf, 0xa7, 0xc8, 0x59, 0x40, 0x9e, 0x22, 0x76, 0x92, 0x2a, 0x3d, 0x72, 0xa0, 0xa1, 0xef, 0xa1, 0x58, 0x38, 0x11, 0xdc, 0xc2, 0x26, 0x81, 0x5f, 0xa7, 0xa7, 0xb6, 0x11, 0x74, 0xab, 0x2c, 0x92}}
 	return a, nil
 }
 
-var _safe_generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x95\xc1\x6e\xdc\x36\x10\x86\xcf\xde\xa7\x98\xf8\x90\x48\x80\x23\x5f\x8a\x1e\x16\x4e\x53\x37\x80\x7b\xe8\xa1\x86\xe3\xa6\xe7\x59\x71\x24\xb1\xe6\x92\x02\x67\x64\x65\xb1\xd8\x77\x2f\x48\x4a\xdc\x95\x37\x06\x9c\xd3\x72\x47\xd4\xfc\xdf\xfc\x9c\xa1\xf4\xb6\x77\x5e\xe0\x6e\xb0\xad\xde\x18\x7a\x74\x4f\x64\xa1\xf1\x6e\x0b\x97\x8b\xd8\xe5\x6a\x75\x7d\x7d\x0d\x5f\xd0\x42\x8f\xcc\xa0\x2d\xa0\xdd\x01\x8b\xf3\xd8\x12\xf4\x28\x1d\xa0\x55\xe0\xa9\x26\xfd\x4c\x3e\x45\xb4\x65\x21\x54\xe0\x1a\xf8\x6f\x60\x01\xe9\x08\x14\x35\x38\x18\xa9\x62\xbe\xc7\x4e\x33\x18\x12\x86\x9d\x1b\xa0\xee\x9c\x63\x8a\xbb\x24\x82\x84\xe0\x88\x56\x40\x1c\x30\x59\x05\xc8\x30\x92\x31\x71\x4b\x8d\x3d\x6e\xb4\xd1\xb2\x3b\xdf\xa7\xc3\x32\x4a\x44\x99\x5b\xbb\x9b\x32\x46\xac\x1a\x2d\x6c\x28\x16\x42\x31\x27\x5a\x40\xdf\x0e\x5b\xb2\x02\x1d\x79\xba\x02\x76\x30\xa2\x89\x64\xdc\xb9\xc1\xa8\x98\x27\x2d\xa1\xee\xa8\x7e\x3a\xbe\xf1\x8c\x66\x20\x0e\xda\x5b\x7c\x22\xe0\xc1\xa7\x1a\xb4\x15\xb2\x8a\xd4\xa9\xb4\xe6\x59\x56\xdb\x88\x27\x1e\x2d\x63\x2d\xda\xd9\x02\xb7\x6e\xb0\xb2\x86\x7f\xee\xf4\xf7\x5f\x7f\xb9\x02\x71\x6b\xb8\x55\xca\x13\xf3\x55\xac\x8b\xfc\x3d\x4a\xb7\x86\xaf\xc9\xf6\xf0\xe7\x2a\x5b\x9e\x1e\xdd\x0f\x1b\xa3\xeb\xb0\x2e\x61\xbf\x5a\x01\x00\x44\x9f\x09\xbe\x05\xdb\xc1\x13\xbb\xc1\xd7\x81\x10\x05\x3a\x67\x14\x1f\x0d\xe7\x14\x45\x4f\xb0\x21\x6d\x5b\x88\x74\x0d\x79\x4f\x2a\xa6\x32\x24\x20\xb4\xed\x63\xae\x35\xfc\xbe\xe8\x91\x2a\x46\xb3\xe6\x1f\xce\x7b\x37\x86\xf2\xa9\x21\x4f\xb6\xa6\x19\x75\x16\xd3\xcd\x14\x09\x52\x58\xd7\xa1\x7a\x50\x8e\xd8\x7e\x10\xe0\xa1\x8f\xad\x19\xe0\x42\xed\x11\x27\xbc\x97\x41\x92\x23\x0f\x53\xf9\x0f\xd4\xac\xe1\xfd\x3e\x91\xcc\xc1\x43\xa2\xe9\x3d\xf5\xe8\xa9\x60\xdd\x5a\xf2\x6b\xc0\x41\xba\x22\xf1\x7d\x0b\x87\x57\xc2\xfb\xdb\x24\x9f\x4d\x9b\x8a\xf8\x93\x04\x10\x7c\xae\x40\x5c\x02\x8a\x89\x3e\x70\x1c\x00\x52\xf0\x1c\x2b\x9f\xdf\x0b\x70\x31\xf2\x40\x0d\x7c\x9a\x36\x57\xd3\xac\x54\x9b\xa8\x7b\x13\x19\x96\xfe\xfd\xab\xa5\x53\x1e\x47\xdc\x98\x80\xb4\x5f\x3e\xbd\xf7\xee\x59\x2b\xf2\x87\xdf\x8a\x30\xa0\xeb\x93\x8e\x28\x57\x17\x17\x17\x9f\x3f\x43\x8f\x56\xd7\xc5\xe5\x97\xd8\xa5\xd6\x09\x24\xad\x73\x7e\x37\x26\xfc\x78\x62\xef\x2e\xcb\x8c\x9e\x17\x4c\xa6\xa9\xce\x1c\x7e\xb5\x9a\x97\xb0\xf9\x00\x7e\x1e\xf6\xb5\x4c\x6f\xa8\x62\x49\x9f\x1b\x15\x6e\x3e\xe6\xf3\xa8\xc6\xc9\xe4\x3c\x6d\xe9\x37\x59\x30\xf5\x0b\x7d\xa7\x7a\x10\x82\xfd\xe2\x48\xfd\xc2\x87\x96\x64\xea\x99\x42\x5c\x59\xe5\xdb\x48\x13\xbf\xc1\x94\xd3\xa1\x2d\xdf\x2d\x64\xa6\xc6\x27\x15\xd9\x1f\x77\x3d\x31\x7c\x3a\x15\xaf\x5a\x92\xaf\xe7\x9b\x8a\xf2\xb4\x71\xff\xb6\x66\x97\xc7\x77\x1e\xb8\xb1\x23\x1b\x9d\xcb\xd7\xb4\x66\x18\xb5\x31\x69\xb8\x8e\xf3\x19\x2e\x04\xf4\x2d\x09\x29\xb8\x7b\xac\x72\x62\xdd\xfc\x08\xaf\xaa\x9d\x15\xd4\x96\xff\xa2\x5d\xb1\xb4\x3e\xb0\x86\x3d\x45\x59\x9e\xb8\x39\xdf\x4a\x2f\xf0\xe2\x77\xe7\xd5\xf1\x9a\x4f\x3d\xb3\x1f\x3f\x00\x8b\xc4\xa7\x4e\x29\xea\x1d\x6b\x99\x7a\xf0\xe6\xe3\x12\xee\x68\xd8\x01\xc8\x30\xbd\x20\xfc\xf1\x08\xbc\x3d\xe7\xd4\x51\x87\xff\x03\x00\x00\xff\xff\xed\x48\x9f\xd3\x64\x07\x00\x00"
+var _safe_generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x95\xc1\x6e\xdc\x36\x10\x86\xcf\xde\xa7\x98\xf8\xe0\x48\x80\x23\x5f\x8a\x1e\x16\x4e\x53\x37\x80\x7b\xe8\xa1\x86\xe3\xa6\xe7\x59\x71\x24\xb1\xe6\x92\x02\x67\x64\x65\x61\xec\xbb\x17\x24\x25\xee\xca\x6b\x03\xce\xc9\xf4\x88\x9c\xff\x9b\x9f\x33\x5c\xbd\xed\x9d\x17\xb8\x1d\x6c\xab\x37\x86\x1e\xdc\x23\x59\x68\xbc\xdb\xc2\xf9\x22\x76\xbe\x5a\x5d\x5d\x5d\xc1\x57\xb4\xd0\x23\x33\x68\x0b\x68\x77\xc0\xe2\x3c\xb6\x04\x3d\x4a\x07\x68\x15\x78\xaa\x49\x3f\x91\x4f\x11\x6d\x59\x08\x15\xb8\x06\xfe\x1b\x58\x40\x3a\x02\x45\x0d\x0e\x46\xaa\x98\xef\xa1\xd3\x0c\x86\x84\x61\xe7\x06\xa8\x3b\xe7\x98\xe2\x2e\x89\x20\x21\x38\xa2\x15\x10\x07\x4c\x56\x01\x32\x8c\x64\x4c\xdc\x52\x63\x8f\x1b\x6d\xb4\xec\x4e\xf7\xe9\xb0\x8c\x12\x51\xe6\xc6\xee\xa6\x8c\x11\xab\x46\x0b\x1b\x8a\x85\x50\xcc\x89\x16\xd0\xb7\xc3\x96\xac\x40\x47\x9e\x2e\x81\x1d\x8c\x68\x22\x19\x77\x6e\x30\x2a\xe6\x49\x4b\xa8\x3b\xaa\x1f\x0f\x27\x9e\xd0\x0c\xc4\x41\x7b\x8b\x8f\x04\x3c\xf8\x54\x83\xb6\x42\x56\x91\x3a\x96\xd6\x3c\xcb\x6a\x1b\xf1\xc4\xa3\x65\xac\x45\x3b\x5b\xe0\xd6\x0d\x56\xd6\xf0\xcf\xad\xfe\xf1\xeb\x2f\x97\x20\x6e\x0d\x37\x4a\x79\x62\xbe\x8c\x75\x91\xbf\x43\xe9\xd6\xf0\x2d\xd9\x1e\xfe\xb9\xcc\x96\xa7\x4f\x77\xc3\xc6\xe8\x3a\xac\x4b\x78\x5e\xad\x00\x00\xa2\xcf\x04\xdf\x83\xed\xe0\x89\xdd\xe0\xeb\x40\x88\x02\x9d\x33\x8a\x0f\x86\x73\x8a\xa2\x27\xd8\x90\xb6\x2d\x44\xba\x86\xbc\x27\x15\x53\x19\x12\x10\xda\xf6\x31\xd7\x1a\x7e\x5f\xf4\x48\x15\xa3\x59\xf3\x0f\xe7\xbd\x1b\x43\xf9\xd4\x90\x27\x5b\xd3\x8c\x3a\x8b\xe9\x66\x8a\x04\x29\xac\xeb\x50\x3d\x28\x47\x6c\x3f\x0a\xf0\xd0\xc7\xd6\x0c\x70\xa1\xf6\x88\x13\xce\x65\x90\xe4\xc8\xfd\x54\xfe\x3d\x35\x6b\xb8\x78\x4e\x24\x73\x70\x9f\x68\x7a\x4f\x3d\x7a\x2a\x58\xb7\x96\xfc\x1a\x70\x90\xae\x48\x7c\xdf\xc3\xe5\x95\x70\x71\x93\xe4\xb3\x69\x53\x11\x7f\x92\x00\x82\xcf\x15\x88\x4b\x40\x31\xd1\x47\x8e\x03\x40\x0a\x9e\x62\xe5\xf3\xb9\x00\x17\x23\xf7\xd4\xc0\xe7\x69\x73\x35\xcd\x4a\xb5\x89\xba\xd7\x91\x61\xe9\xdf\xbf\x5a\x3a\xe5\x71\x2c\xe1\xe2\x79\xf9\xe5\xce\xbb\x27\xad\xc8\xef\x7f\x2b\xc2\x70\xae\x8f\xba\xa1\x5c\x9d\x9d\x9d\x7d\xf9\x02\x3d\x5a\x5d\x17\xe7\x5f\x63\x87\x5a\x27\x90\x74\x4e\xd9\xdd\x98\xd0\xe3\x6d\x7d\x38\x2f\x33\x76\x5e\x30\x99\xa6\x3a\x71\xf7\xcd\x4a\x5e\xc2\x66\xf3\x7f\x1e\xf6\xad\x4c\xef\xa8\x62\x49\x9f\x9b\x14\xae\x3f\xe5\xbb\xa8\xc6\xc9\xe0\x3c\x69\xe9\x6f\xb2\x60\xea\x15\xfa\x41\xf5\x20\x04\xcf\x8b\xeb\xf4\x0b\x1f\x5a\x92\xa9\x5f\x0a\x71\x65\x95\x5f\x22\x4d\xfc\x0e\x53\x8e\x07\xb6\xfc\xb0\x90\x99\x9a\x9e\x54\x64\x7f\xd8\xf5\xc4\xf0\xf9\x58\xbc\x6a\x49\xbe\x9d\x6e\x2a\xca\xe3\xa6\xfd\xdb\x9a\x5d\x1e\xdd\x79\xd8\xc6\x8e\x6c\x74\x2e\x3f\xd1\x9a\x61\xd4\xc6\xa4\xc1\x3a\xcc\x66\x78\x0c\xd0\xb7\x24\xa4\xe0\xf6\xa1\xca\x89\x75\xf3\x1a\x5e\x55\x3b\x2b\xa8\x2d\xff\x45\xbb\x62\x69\x7d\x60\x0d\x7b\x8a\xb2\x3c\x72\x73\x7e\x91\x5e\xe0\xc5\xdf\x9c\x37\x47\x6b\xbe\xf5\xcc\x7e\x78\xfc\x17\x89\x8f\x9d\x52\xd4\x3b\xd6\x32\xf5\xe0\xf5\xa7\x25\xdc\xc1\xb0\x3d\x90\x61\x7a\x41\xf8\xfa\x08\xbc\x3f\xe7\xd4\x51\xfb\xff\x03\x00\x00\xff\xff\xec\x0b\x40\x8e\x60\x07\x00\x00"
 
 func safe_generic_transferCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -322,11 +322,11 @@ func safe_generic_transferCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "safe_generic_transfer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x82, 0x10, 0x32, 0x60, 0x4, 0x18, 0x52, 0x3, 0xf4, 0xbb, 0x9c, 0xb7, 0x48, 0xb, 0x67, 0xf9, 0xa3, 0xd5, 0x41, 0x24, 0xa8, 0x5a, 0xf0, 0x62, 0xa2, 0x8d, 0xd5, 0xa4, 0x3f, 0x7b, 0x29, 0xa6}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0x4, 0xb0, 0x62, 0x41, 0xad, 0xf6, 0xd, 0x6a, 0x5d, 0xe0, 0x39, 0xdc, 0xc1, 0xb7, 0x9a, 0xec, 0xfd, 0x69, 0xf0, 0xe1, 0xc6, 0x9c, 0x6a, 0x4d, 0x55, 0xe7, 0x8f, 0x39, 0x5d, 0xe3, 0xfc}}
 	return a, nil
 }
 
-var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x51\xc1\x8e\x9b\x30\x14\xbc\xfb\x2b\x46\x1c\x5a\x90\x2a\xb8\x54\x3d\x44\x69\xa2\x34\x6d\x6e\x95\x7a\xa0\xb9\x3f\xcc\x23\xb1\xd6\xd8\xc8\x7e\x24\x59\x45\xf9\xf7\x15\x10\xa2\x85\x03\x7a\x1e\x8f\x67\xc6\x9e\xa2\x40\x79\x36\x11\x51\x07\xd3\x09\x02\x53\x1d\x21\x67\x46\x45\x96\x9c\x66\x34\x86\x6d\xad\x8a\x02\xbe\x01\x39\x90\xd6\xbe\x77\xf2\x35\xe2\xcf\x8d\xda\xce\x72\xe9\xdf\xd8\xe1\xd7\xc4\x56\xca\xb4\x9d\x0f\x82\x43\xef\x4e\xa6\x9a\x77\x9b\xe0\x5b\x24\x0b\x2c\x99\x99\x0b\x99\x89\xf8\x19\x4a\x94\x22\xad\x39\xc6\x94\xac\xcd\xd0\xf4\x0e\x2d\x19\x97\x52\x5d\x07\x8e\x71\x85\xdd\x34\x64\x2b\xfc\x3f\x98\xdb\x8f\xef\xb8\x2b\x00\xb0\x2c\xb8\x50\x6f\xe5\x37\x09\xe1\xe7\xc2\x26\x0f\x1c\xbd\xbd\xf0\xde\x3b\x09\xa4\xe5\x68\xf8\x9a\x0e\x58\x1f\x34\x97\xef\x1d\xaf\xe0\x8c\xfd\x86\x8b\xe1\xeb\xb4\x1c\xfe\xeb\x45\xfe\xbf\x2c\x54\x93\xd0\x70\x36\xe6\x87\xf2\x38\x7b\x6d\xd2\x2c\x53\x63\x84\xc0\xd2\x07\x87\x13\xcb\x6e\x7a\xb4\x39\x74\x96\x6b\xea\xa8\x32\xd6\x88\xe1\x98\x57\x3e\x04\x7f\x5d\x7f\xb9\x2f\x0c\xf2\x51\xf1\xb1\x49\x47\xad\xf9\x7b\x5d\x29\x6f\x9f\x01\xfe\x91\x9c\x5f\x94\x6c\x9b\x3f\x7b\x7b\x41\xdb\x2d\x3a\x72\x46\xa7\xc9\xde\xf7\xb6\x86\xf3\x82\xc9\x71\x2e\x0d\x81\x1b\x0e\x3c\x4c\xe2\xc7\xee\x47\xeb\x24\x53\x0f\xf5\x11\x00\x00\xff\xff\x7f\xb0\x16\x47\x1f\x02\x00\x00"
+var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\x31\x6f\xdb\x30\x10\x85\x77\xfe\x8a\x57\x0d\xad\x08\x14\xf2\x52\x74\x30\xd2\x18\x69\x5a\x6f\x05\x3a\xa8\xd9\x4f\xd4\x29\x26\x4a\x91\x02\x79\xb2\x53\x04\xf9\xef\x05\x25\xcb\x88\x80\xc4\x1c\x04\xea\xf8\x78\xef\x7b\x24\x37\x1b\xd4\x07\x9b\x90\x4c\xb4\x83\x20\x32\xb5\x09\x72\x60\x34\xe4\xc8\x1b\x46\x67\xd9\xb5\x6a\xb3\x41\xe8\x40\x1e\x64\x4c\x18\xbd\x7c\x4a\xf8\xf9\x44\xfd\xe0\xb8\x0e\x7f\xd9\xe3\xfb\xac\x56\xca\xf6\x43\x88\x82\xfd\xe8\x1f\x6d\xb3\xac\x76\x31\xf4\x28\x56\xb5\x62\x51\xae\xda\xcc\xc2\xd7\xa5\xe2\xcd\x8e\xbf\x58\xa8\x25\xa1\x07\xcb\xa7\xf4\x56\xfb\x95\xa0\x50\x8a\x8c\xe1\x94\x4a\x72\x4e\xa3\x1b\x3d\x7a\xb2\xbe\xa4\xb6\x8d\x9c\xd2\x16\x77\xf3\x44\x6f\xf1\x67\x6f\x9f\xbe\x7e\xc1\xb3\x02\x00\xc7\x82\x23\x8d\x4e\x7e\x90\x10\xbe\xad\x50\xab\xc8\x29\xb8\x23\xdf\x07\x2f\x91\x8c\x64\xa3\x32\xd7\xc6\x68\xb8\xfe\x37\xf0\x16\xde\xba\xcf\x38\x5a\x3e\xcd\xbf\xf9\x7b\xf3\x3e\x64\xb5\xaf\x1f\x16\xaf\xdb\x52\x6b\x50\xfa\x70\x25\xf4\x6b\xf9\x6e\xa2\xcd\x63\xb7\xc3\x40\xde\x9a\xb2\xb8\x0f\xa3\x6b\xe1\x83\xe0\x71\x49\x81\xbc\x79\x02\x42\x17\xe2\x74\xc9\xe6\x4c\x5f\x68\x35\xf5\x88\x2c\x63\xf4\x79\xcb\xdd\x7c\xcf\xcb\x19\xe9\xca\xd0\x40\x8d\x75\x56\x2c\xa7\xaa\x09\x31\x86\xd3\xcd\xc7\xe7\x15\x60\x35\x11\xbd\xdc\x96\x17\x9e\x3c\x2e\x27\x58\xf5\xe7\x00\xbf\x49\x0e\x17\x89\xde\x55\xe7\xa7\x76\x35\xc5\xec\xb8\xbc\x33\x44\xee\x38\x72\x9e\x49\x98\x92\x4c\xd6\x85\x56\x2f\xea\x7f\x00\x00\x00\xff\xff\x1a\x5b\x9c\x58\xd2\x02\x00\x00"
 
 func scriptsGet_balanceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -342,7 +342,7 @@ func scriptsGet_balanceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_balance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x82, 0xbf, 0x1d, 0x3c, 0xd9, 0xda, 0xd7, 0xc9, 0xe0, 0xb5, 0xc1, 0x61, 0x55, 0x38, 0xeb, 0xff, 0xc3, 0xc8, 0x76, 0x35, 0x1f, 0xda, 0x26, 0x47, 0xbd, 0xaf, 0x31, 0xb6, 0x53, 0x17, 0x41, 0x63}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0x35, 0xb1, 0xfd, 0x48, 0x8a, 0x70, 0xd0, 0x18, 0x38, 0xd2, 0xb7, 0xe8, 0xf, 0xf8, 0x21, 0x7, 0xcb, 0x27, 0xfd, 0x89, 0xea, 0x45, 0xb2, 0x78, 0x5d, 0xe6, 0xcc, 0xd7, 0x25, 0x64, 0x4}}
 	return a, nil
 }
 
@@ -386,7 +386,7 @@ func scriptsGet_supported_vault_typesCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x91\xd1\x6a\xeb\x30\x0c\x86\xef\xf3\x14\x22\x17\x87\x04\x0e\x79\x80\xd0\xb4\x94\x9e\xd3\xbb\xc1\x28\x65\xf7\xaa\xa3\xb4\x66\x8e\x1d\x14\x39\xdd\x28\x7d\xf7\x91\xda\x09\xd9\x60\xcd\x45\x6c\xfd\xc8\xbf\x3e\x49\xba\xed\x1c\x0b\xfc\xff\xc0\xb6\x33\x74\x74\xef\x64\xa1\x61\xd7\x42\xba\x94\xd2\x24\xe6\xed\xbd\x3d\xeb\x53\x54\x5f\x48\xb0\x46\xc1\x37\x4d\xd7\x3e\xbe\xfa\x3d\x61\xf6\x18\xa3\x03\xf5\xce\x0c\xc4\xf1\xd5\x52\x4a\x93\x04\x95\xa2\xbe\xcf\xd0\x98\x1c\x1a\x6f\xa1\x45\x6d\x33\xac\x6b\xa6\xbe\x2f\x61\x1b\x2e\x79\xf9\x84\xa6\xd8\x1f\xc7\x13\x6e\x09\x00\x80\x21\x01\x54\xca\x79\x2b\x50\xc1\x99\x64\x1b\x82\xc9\x33\x4f\xe6\xb4\x01\xbd\x91\x7f\x28\x08\xd5\xb7\xa1\x14\x1c\xf0\x76\xce\x0a\xa3\x92\xd1\x3d\x1b\x35\xcf\x8a\x8e\x9f\x1d\x95\x60\xb5\xf9\x0b\x83\xa6\x6b\x08\xc7\xff\xea\x39\xe1\x54\x6b\x9d\xe5\x3f\x11\x0e\xd4\x40\x35\x41\x17\x0a\x3b\x3c\x69\xa3\x45\x53\x5f\x9c\x1c\xb3\xbb\xae\xfe\xdc\x96\x53\x2b\xa6\xcb\x7d\x9d\xcd\x3d\x14\x6d\xac\xf8\x8a\x72\xc9\x1f\x05\xc6\x6f\xb3\x81\x0e\xad\x56\x59\xba\x73\xde\xd4\x60\x9d\x40\x30\x05\x04\xa6\x86\x98\xac\x22\x10\x07\x72\xa1\x80\x03\x3c\x6d\x67\x01\xda\x3c\xa6\x00\xd5\xb3\x3d\x9c\x49\xc2\x2a\xb2\x61\x41\x5b\xce\x4d\x46\x3b\x26\xf1\x6c\xa3\x63\x72\x4f\xbe\x02\x00\x00\xff\xff\x26\x57\xa0\x97\x97\x02\x00\x00"
+var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x92\x51\x8b\xa3\x30\x10\xc7\xdf\xfd\x14\x73\x3e\x1c\x0a\x87\x1f\x40\x6a\x4b\xe9\x5d\xdf\x0e\x8e\x52\xee\x7d\x1a\xc7\x36\x6c\x4c\x24\x19\xed\x2e\xa5\xdf\x7d\x89\x89\xe2\x2e\xac\xdb\x87\x9a\x19\x66\xfe\xfe\xfe\xff\x28\xdb\xce\x58\x86\x3f\xaf\xd8\x76\x8a\xce\xe6\x85\x34\x34\xd6\xb4\x90\x2e\x5b\x69\x12\xe7\x8e\xbd\xbe\xca\x4b\xec\xfe\x25\xc6\x1a\x19\xff\x4b\xba\xbb\xb8\xf5\xf5\xc0\xac\xe1\xab\x13\x39\xa3\x06\xb2\x71\x6b\xd9\x4a\x93\x04\x85\x20\xe7\x32\x54\x2a\x87\xa6\xd7\xd0\xa2\xd4\x19\xd6\xb5\x25\xe7\x4a\xd8\x87\x43\x5e\xae\xd0\x14\xc7\xb3\x7f\xc2\x23\x01\x00\x50\xc4\x80\x42\x98\x5e\x33\x54\x70\x25\xde\x87\x62\xd2\xcc\x93\x79\x6c\xc0\x5e\xf1\x6f\x64\x84\xea\x43\x28\x85\x0d\x78\x07\xa3\xd9\xa2\x60\xaf\x9e\xf9\x5e\x6f\x05\x9d\xdf\x3a\x2a\x41\x4b\xf5\x0b\x06\x49\xf7\x50\xfa\xff\xcd\x3a\xe1\xf4\xae\x6d\x96\xe7\x80\xee\xc7\x37\x86\xa6\xf1\xdd\x48\xeb\x7f\xbb\x1d\x74\xa8\xa5\xc8\xd2\x83\xe9\x55\x0d\xda\xb0\xb7\x17\x5c\x80\x5f\x1e\x81\xa0\x31\x16\xf8\x46\x20\x22\x7d\xfa\xd9\xf1\x89\x1a\xa8\xa6\x8c\x0a\x81\x1d\x5e\xa4\x92\x2c\xc9\x15\x17\x63\xad\xb9\x6f\x7e\x3e\x96\x97\x54\x4c\x87\xe7\x36\x9b\x23\x2b\xda\x48\xfc\x0f\xf9\x96\xaf\x42\x06\x51\x40\xb0\xd4\x90\x25\x2d\x08\xd8\x8c\x88\x01\xdd\x4e\x1f\xc3\x02\xb4\x19\x43\x87\x6a\x2d\xa5\x2b\x71\xb8\xf9\x6c\x58\xd0\x96\xb3\xc9\x28\x67\x89\x7b\xab\xa3\x62\xf2\x4c\xde\x03\x00\x00\xff\xff\x49\x4c\x59\x3a\x06\x03\x00\x00"
 
 func scriptsMetadataGet_token_metadataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -402,11 +402,11 @@ func scriptsMetadataGet_token_metadataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_token_metadata.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdb, 0xf9, 0x7f, 0xd6, 0x2e, 0xd7, 0x18, 0xb0, 0x6f, 0x14, 0x5c, 0xa5, 0xaa, 0xe9, 0xf5, 0x83, 0x19, 0xa9, 0x7d, 0xd3, 0x34, 0xfc, 0x3e, 0xb5, 0xf7, 0x47, 0x2e, 0x6c, 0x79, 0xbf, 0x7, 0x3e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x29, 0xd8, 0x83, 0x7, 0xdc, 0x8e, 0x70, 0x34, 0x39, 0xdd, 0x88, 0x46, 0x8e, 0x21, 0x97, 0x36, 0x76, 0x59, 0xc1, 0x30, 0x62, 0x5a, 0xec, 0x7d, 0x89, 0x3b, 0x6d, 0x44, 0x5b, 0x5b, 0xc5, 0xa4}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xcf\x6a\xc3\x30\x0c\xc6\xef\x7e\x0a\x91\xc3\x48\x2e\x79\x80\xb2\xae\x94\x6d\xbd\x0d\x4a\x29\xbd\x2b\x8e\xd2\x9a\x39\x76\xb0\xe5\x64\x50\xfa\xee\x23\x7f\xdc\x99\xb1\x35\x27\x49\xe8\x53\x7e\xdf\x87\x55\xdb\x59\xc7\xf0\xfe\x85\x6d\xa7\xe9\x68\x3f\xc9\x40\xe3\x6c\x0b\x59\x3a\xca\xc4\xb2\xb7\x0b\xe6\xac\xaa\x65\xfa\x41\x8c\x35\x32\x9e\x14\x0d\x7e\x51\xfd\xbf\x70\xbf\x31\x76\x07\xf2\x56\xf7\xe4\x16\x55\x3a\xca\x84\x40\x29\xc9\xfb\x1c\xb5\x2e\xa0\x09\x06\x5a\x54\x26\xc7\xba\x76\xe4\xfd\x0a\xb6\x73\x51\xac\x1e\xd0\x94\xbb\xe3\x09\x83\xe6\x37\x64\x84\xab\x00\x00\xd0\xc4\x80\x52\xda\x60\x18\xd6\x70\x26\xde\xce\x4d\x3c\x5c\x88\xfb\x5a\x3f\x4a\x0f\xd4\xc0\x3a\x2a\x4a\x89\x1d\x56\x4a\x2b\x56\xe4\xcb\xca\x3a\x67\x87\xe7\xa7\x6b\xca\x5d\xc6\xe2\xf6\x92\xa7\xd9\x95\x13\xc8\x3e\x54\x5a\xc9\x3d\xf2\xa5\x98\x7e\x33\x7e\x9b\x0d\x74\x68\x94\xcc\xb3\x57\x1b\x74\x0d\xc6\x32\xcc\xa7\x01\xc1\x51\x43\x8e\x8c\x24\x60\x0b\x7c\xa1\x19\x0a\x5c\x4c\xe9\x37\xee\xe4\x74\xfd\x28\x92\x33\x71\x92\x4a\x1e\x4d\xfe\xc5\x33\xbf\x83\xda\x92\x9f\xa0\xd4\x68\xa6\x25\xc3\x90\xc6\xda\x2b\x1a\x22\x86\x23\x0e\xce\xfc\x90\x88\x9b\xf8\x0e\x00\x00\xff\xff\xdb\xdf\x30\xe8\x5a\x02\x00\x00"
+var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xdf\xaa\xe2\x40\x0c\xc6\xef\xfb\x14\xd9\x5e\x2c\x2d\x2c\x7d\x00\xf1\x0f\xe2\xae\x77\x0b\x8b\x88\xf7\x71\x9a\xea\xb0\xd3\x99\x92\x49\x75\x17\xf1\xdd\x0f\xd3\x69\x7b\x7a\x0e\x47\xd1\x0b\x99\x84\x24\xfd\x7d\x5f\xa2\xeb\xc6\xb1\xc0\xaf\x7f\x58\x37\x86\xf6\xee\x2f\x59\xa8\xd8\xd5\x90\x4e\x53\x69\xd2\xd7\x6d\x5b\x7b\xd2\xc7\x3e\xfb\x9b\x04\x4b\x14\x3c\x68\xba\xfa\xbe\xeb\x71\xc1\x38\x23\x44\x3b\xf2\xce\x5c\x88\xfb\xae\x69\x2a\x4d\x12\x54\x8a\xbc\xcf\xd0\x98\x1c\xaa\xd6\x42\x8d\xda\x66\x58\x96\x4c\xde\xcf\x60\x1d\x1f\xf9\xec\x09\x4d\xb1\xdd\x1f\xb0\x35\xf2\x13\x05\xe1\x96\x00\x00\x18\x12\x40\xa5\x5c\x6b\x05\x16\x70\x22\x59\xc7\x60\x18\x9c\x27\x63\xd9\x65\x6c\x5d\x7c\x70\xa6\xe0\xc8\xb8\x71\x56\x18\x95\x84\x4f\x65\x21\xd7\xb2\xa2\xfd\xff\x86\x66\x60\xb5\xf9\x01\x17\x4d\xd7\x18\x86\xff\xf9\x6b\x98\xcb\x2c\xcf\x01\xfd\xb7\x17\x55\xad\x3a\xda\xf0\x5b\xad\xa0\x41\xab\x55\x96\x6e\x5c\x6b\x4a\xb0\x4e\x82\xbc\xa8\x02\x42\x73\x07\x04\x95\x63\x90\x33\x81\xea\xe9\xd3\xcf\x8a\x77\x54\xc1\x62\xf0\xa8\x50\xd8\xe0\x51\x1b\x2d\x9a\x7c\x71\x74\xcc\xee\x3a\xff\x7e\x9b\x6e\xaa\x18\x1e\xf7\x65\x36\x5a\x56\xd4\x3d\xf1\x1f\x94\x73\xfe\x14\x32\x0e\x05\x04\xa6\x8a\x98\xac\x22\x10\xd7\x21\x46\x74\x1e\x2e\xe2\xc1\x6a\x9e\x18\x75\x22\x99\x78\x95\x0d\xf2\xbe\xe2\x89\x37\x5f\x3a\xf2\x1d\x94\x0e\xdb\xae\xc9\x0a\x4c\x4f\x28\x18\x38\x60\x30\x49\xcb\xf6\x9d\x24\xb9\x27\x6f\x01\x00\x00\xff\xff\x03\xb1\x74\x64\x46\x03\x00\x00"
 
 func scriptsMetadataGet_vault_dataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -422,11 +422,11 @@ func scriptsMetadataGet_vault_dataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_data.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcc, 0x59, 0x4, 0xe2, 0x48, 0x77, 0x97, 0x7f, 0x1f, 0xf5, 0x74, 0x99, 0x6a, 0x9d, 0x95, 0x78, 0xf1, 0xa, 0x59, 0x74, 0xa8, 0xc0, 0x6d, 0x92, 0xa0, 0xac, 0x67, 0x7a, 0xfb, 0xd7, 0x1c, 0x39}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x29, 0x13, 0x4a, 0x64, 0x3c, 0x79, 0xae, 0xad, 0x27, 0xdd, 0x36, 0x3e, 0xbb, 0xbe, 0xd3, 0x19, 0x62, 0x96, 0xc2, 0xef, 0x3a, 0xeb, 0x38, 0xb3, 0x8, 0x9b, 0x7, 0x21, 0xf0, 0x19, 0x2b}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xc1\x6e\xfa\x30\x0c\xc6\xef\x79\x0a\xab\x87\xbf\xda\x4b\x1f\x00\xfd\x19\x42\xdb\xb8\x4d\x42\x08\x71\x77\x53\x17\xac\xa5\x49\x95\x38\xb0\x09\xf1\xee\x53\x69\x53\x7a\xd8\xe8\xc9\xb6\xec\xaf\xbf\xef\x53\xb8\xed\x9c\x17\x78\xff\xc2\xb6\x33\xb4\x77\x9f\x64\xa1\xf1\xae\x85\x6c\x3e\xca\xd4\xb8\xb7\x89\xf6\xc8\xd5\x38\xfd\x20\xc1\x1a\x05\x0f\x4c\x97\x30\x5e\xfd\xbd\x30\x69\xf4\xdd\x8e\x82\x33\x67\xf2\xe3\xd5\x7c\x94\x29\x85\x5a\x53\x08\x39\x1a\x53\x40\x13\x2d\xb4\xc8\x36\xc7\xba\xf6\x14\xc2\x02\xd6\x43\x51\x2c\x9e\xd0\x94\x9b\xfd\x1b\x87\xce\xe0\x37\x5c\x15\x00\x80\x21\x01\xd4\xda\x45\x2b\xb0\x84\x23\xc9\x7a\x68\x92\x6c\xa1\xa6\xb5\x33\x46\x23\x3b\x6a\x60\x99\x2e\x4a\x8d\x1d\x56\x6c\x58\x98\x42\x59\x39\xef\xdd\xe5\xff\xbf\xeb\x9c\xba\x4c\xc5\xed\x25\x9f\x27\x57\x1e\x7a\xb5\x6d\xac\x0c\xeb\x2d\xca\xa9\xb8\xff\xa6\xff\x56\x2b\xe8\xd0\xb2\xce\xb3\x57\x17\x4d\x0d\xd6\x09\x0c\xd2\x80\xe0\xa9\x21\x4f\x56\x13\x88\x03\x39\xd1\x00\x05\x3e\x65\x34\xc3\x6d\x24\x39\x5d\x3e\x0b\xe4\x48\x32\x65\x92\x27\x8b\xbf\xd1\x0c\x6f\xa0\x76\x14\xee\x48\xdc\x5b\x69\xc9\x0a\x3c\x22\x3d\x33\x5d\x12\x82\x27\x89\xde\x3e\x28\xd4\x4d\xfd\x04\x00\x00\xff\xff\x91\x4f\x45\x33\x54\x02\x00\x00"
+var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xd1\xaa\xe2\x30\x10\x86\xef\xfb\x14\xb3\xbd\x58\x5a\x58\xfa\x00\x62\x15\xd1\xf5\x6e\x61\x11\xf1\x7e\x4c\xa7\x1a\x36\x4d\x4a\x32\xd5\x15\xf1\xdd\x97\x34\x4d\xed\x1e\xce\x69\x2f\x4a\x32\xcc\x4c\xbe\xff\x9f\x91\x4d\x6b\x2c\xc3\xcf\xbf\xd8\xb4\x8a\x8e\xe6\x0f\x69\xa8\xad\x69\x20\x9d\x86\xd2\x64\xc8\xdb\x77\xfa\x22\xcf\x43\xf4\x17\x31\x56\xc8\x78\x92\x74\x77\x43\xd5\xd7\x09\x63\x0f\x7f\x3b\x90\x33\xea\x46\x76\xa8\x9a\x86\xd2\x24\x41\x21\xc8\xb9\x0c\x95\xca\xa1\xee\x34\x34\x28\x75\x86\x55\x65\xc9\xb9\x05\x6c\xc2\x21\x5f\xcc\xd0\x14\xfb\xe3\x4e\xba\x56\xe1\x03\x9e\x09\x00\x80\x22\x06\x14\xc2\x74\x9a\xa1\x84\x0b\xf1\x26\x5c\x62\xdb\x3c\x19\xd3\x6e\xd8\x29\xde\x21\x23\x94\xff\xf9\x52\xd8\x40\xb8\x35\x9a\x2d\x0a\xf6\x0f\x65\x3e\xd6\x59\x41\xc7\x47\x4b\x0b\xd0\x52\xfd\x80\x9b\xa4\x7b\xb8\xfa\xff\x72\x16\xf2\x14\xdf\x5a\x65\x79\x0e\xe8\xbe\xcd\x6b\x1a\xd3\xd7\x3d\xad\xff\xd6\x6b\x68\x51\x4b\x91\xa5\x5b\xd3\xa9\x0a\xb4\x61\x2f\x2f\xa8\x00\x5f\xdc\x03\x41\x6d\x2c\xf0\x95\x40\x0c\xf4\xe9\x47\xc5\x07\xaa\xa1\x8c\x1e\x15\x02\x5b\x3c\x4b\x25\x59\x92\x2b\xce\xc6\x5a\x73\x5f\x7e\x7f\x4e\xe7\x54\xc4\xc3\x6b\x95\x8d\x96\x15\xcd\x40\xfc\x1b\xf9\x9a\xcf\x42\x86\xa6\x80\x60\xa9\x26\x4b\x5a\x10\xb0\xe9\x11\x03\xba\x8d\xfb\x30\x01\xad\x39\x4e\xb5\x9c\x33\xea\x42\x3c\xce\x3f\x8b\xe2\x3e\xa3\x09\xfb\x5e\x19\x72\x3d\x92\xf4\xb3\x6e\x48\x33\xbc\xd7\xc7\x9b\x17\x11\x2c\x71\x67\xf5\x9b\x22\x79\x25\xff\x02\x00\x00\xff\xff\x91\xdd\xaf\xd9\x40\x03\x00\x00"
 
 func scriptsMetadataGet_vault_displayCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -442,11 +442,11 @@ func scriptsMetadataGet_vault_displayCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_display.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0xde, 0xb0, 0x70, 0x3a, 0xe7, 0x87, 0xcc, 0x2a, 0x19, 0xce, 0x4a, 0xed, 0x42, 0xc7, 0xe7, 0x9, 0x44, 0x63, 0xce, 0x63, 0xab, 0x3e, 0x9d, 0x4, 0x41, 0x19, 0x89, 0xf, 0x91, 0xdc, 0x86}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x19, 0x7b, 0xb0, 0xe8, 0x3b, 0x82, 0xe6, 0x52, 0x1a, 0x61, 0xbe, 0x5e, 0x29, 0x66, 0xd2, 0x6, 0xf, 0xd, 0x33, 0xfc, 0x45, 0xce, 0x10, 0x23, 0x36, 0xb0, 0xd9, 0x40, 0xb3, 0x7, 0x37, 0x1a}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xbf\x8e\xdb\x30\x0c\xc6\x77\x3d\x05\xcf\x43\x6b\x2f\xce\x52\x74\x38\x9c\x13\x04\x45\xd3\xa9\x40\x90\xa6\xd9\x69\x99\x4e\x84\xca\x92\x21\x51\xf9\x83\x20\xef\x5e\xd8\xb2\x1d\x2f\x39\x4f\x14\xfd\xf1\x47\xea\xa3\x54\xd3\x5a\xc7\xf0\xf3\x8a\x4d\xab\x69\x6f\xff\x91\x81\xda\xd9\x06\x92\x79\x2a\x11\x83\x6e\x13\xcc\x51\x95\x43\xf6\x37\x31\x56\xc8\x78\x50\x74\xf1\x43\xd5\x6b\xc1\xc4\xe8\x4e\x3b\xf2\x56\x9f\xc9\x0d\x55\xf3\x54\x22\xc4\x62\xb1\x80\x5f\xc4\x1e\xf8\x44\xc0\x96\x51\x83\x0f\x6d\xab\x6f\x60\xeb\x3e\x77\xc6\xa0\xf9\xab\x07\xee\xe7\xad\x94\x23\xc9\xfa\x16\x61\xd3\x7f\x21\x50\x4a\xf2\x3e\x45\xad\x33\xa8\x83\x81\x06\x95\x49\xb1\xaa\x1c\x79\xff\x0e\xeb\x18\x64\xef\xf0\x77\xa3\xae\xdf\xbf\xc1\x5d\x00\x00\x68\x62\x40\x29\x6d\x30\x0c\x05\x1c\x89\xd7\xf1\x30\x16\x66\x62\x92\xf5\x6d\x76\x54\x43\x31\x56\xe4\x12\x5b\x2c\x95\x56\xac\xc8\xe7\xa5\x75\xce\x5e\x3e\xbe\xdc\xe7\xf7\xcb\xc7\xe0\xb1\x4c\xe7\x1e\xe7\x87\x8e\xb6\x0d\xa5\x56\x72\x8b\x7c\xca\xfa\x36\xdd\xb7\x5a\x41\x8b\x46\xc9\x34\xf9\x61\x83\xae\xc0\x58\x86\x88\x06\x04\x47\x35\x39\x32\xb2\x33\xea\x79\x77\x70\xa3\x9b\xb3\x71\x6b\xfe\x13\x5d\x2c\xa6\xc9\xf3\x41\xd7\x0d\x98\xee\x6f\x2d\x7d\xbc\x5e\x60\xbe\xef\x36\x11\x11\xcb\x34\xcb\xde\x9e\xe4\xb8\x9d\x4e\x05\xc5\xb3\x0d\xfa\xb7\x4f\x1e\xcc\x1c\x17\x49\x8e\x38\x38\x33\x83\xe5\x31\x14\x0f\xf1\x3f\x00\x00\xff\xff\x54\x98\x60\xd6\xa7\x02\x00\x00"
+var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x52\xc1\x6e\xdb\x30\x0c\xbd\xeb\x2b\x58\x1f\x36\x1b\x18\x9c\xcb\xb0\x43\x50\x37\x28\xba\x65\xa7\x01\x43\x97\xf5\xce\xc8\x74\x2b\x4c\x96\x0c\x8a\x4e\x1a\x14\xfd\xf7\x41\x96\xed\x78\x03\xda\xe4\x10\x88\x34\xf9\xf8\xf8\x1e\x4d\xdb\x79\x16\xf8\xf6\x8c\x6d\x67\x69\xe7\xff\x90\x83\x86\x7d\x0b\xd9\x32\x95\xa9\xb1\x6e\xdb\xbb\x47\xb3\x1f\xb3\x3f\x48\xb0\x46\xc1\x07\x43\xc7\x30\x76\xbd\x5d\x30\x63\xc4\xe8\x9e\x82\xb7\x07\xe2\xb1\x6b\x99\xca\x94\x5a\xad\x56\xf0\x9d\x24\x80\x3c\x11\x88\x17\xb4\x10\xfa\xae\xb3\x27\xf0\xcd\x90\x3b\x60\x6f\xe5\x63\x00\x19\xf8\xd6\x86\x49\x8b\x3d\x25\xb0\xf9\xbb\x52\xa8\x35\x85\x90\xa3\xb5\x05\x34\xbd\x83\x16\x8d\xcb\xb1\xae\x99\x42\x58\xc3\x6d\x7a\x14\x6b\xf8\xbd\x35\xcf\x5f\x3e\xc3\x8b\x02\x00\xb0\x24\x80\x5a\xfb\xde\x09\x54\xf0\x48\x72\x9b\x82\xa9\xb1\x50\x73\xd9\x30\xe6\x2b\x0a\x42\xf5\x8f\x82\x25\xa7\x5d\xee\xbc\x13\x46\x2d\x71\xbd\x3c\xe6\x7a\xd6\xb4\x3b\x75\xb4\x06\x67\xec\x27\x38\x18\x3a\xa6\x30\xfe\x5f\xbf\xad\x5d\xb9\xdd\x3d\x4c\xb3\x6e\xf2\xa2\x00\x0c\x57\xef\x78\xb1\x2c\xdf\x0c\x6c\xe3\x6f\xb3\x81\x0e\x9d\xd1\x79\x76\xe7\x7b\x5b\x83\xf3\x12\xd7\x4b\x5b\x40\x6c\x1e\x08\x41\xe3\x79\x10\x51\x8f\xec\xb3\xff\x37\xbe\xa7\x06\xaa\x49\xa3\x52\x63\x87\x7b\x63\x8d\x18\x0a\xe5\xde\x33\xfb\xe3\xf5\x87\x97\xa5\xa3\xe5\xf4\x78\xbd\xc9\x67\xc9\xca\x76\x64\xfc\x13\xe5\xa9\x78\x97\x64\x02\x05\x04\xa6\x86\x98\x9c\x8e\x47\x71\xf6\x19\x78\xba\x9c\x05\xd1\x46\x7e\xa5\x8b\xa9\x66\xce\x93\x2b\x83\x1b\x97\x04\xdf\xc5\xab\x4b\x10\x51\xf0\xab\x33\x72\xba\xc4\x58\x05\xd5\x79\xcc\x05\x43\x16\x70\x09\x89\x49\x7a\x76\x0b\xb0\x32\x3d\xd5\xab\xfa\x1b\x00\x00\xff\xff\x9e\x73\xf0\xa2\x93\x03\x00\x00"
 
 func scriptsMetadataGet_vault_supply_viewCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -462,7 +462,7 @@ func scriptsMetadataGet_vault_supply_viewCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_supply_view.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe8, 0x4c, 0x76, 0x40, 0x21, 0x6a, 0x87, 0x6e, 0xef, 0x77, 0x92, 0xca, 0x2f, 0x6a, 0xfa, 0xbd, 0xcc, 0xf0, 0x27, 0x53, 0x71, 0xfd, 0xf7, 0x92, 0x64, 0x4, 0xa3, 0x49, 0x0, 0xf2, 0x5a, 0xb0}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5c, 0xb1, 0xfc, 0xa6, 0x14, 0xa5, 0x64, 0x59, 0x90, 0xc6, 0xf5, 0xb8, 0x40, 0xb3, 0xfb, 0x11, 0xe9, 0x93, 0xf2, 0x8a, 0xf6, 0x51, 0x12, 0x9e, 0xc8, 0x60, 0xff, 0x90, 0xfc, 0x11, 0xc4, 0xd1}}
 	return a, nil
 }
 
@@ -526,7 +526,7 @@ func scriptsSwitchboardGet_vault_types_and_addressCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\xdb\x38\x10\xbd\xeb\x57\x0c\xb4\x80\x21\x63\x53\x3a\xfd\x48\xb6\x35\xea\x16\xdd\xb6\xc6\x1e\x5a\xa0\x08\xb4\xdd\x43\x51\x04\x63\x6a\x2c\x13\xa1\x48\x81\x1c\xd9\x0e\x8a\xfc\xf7\x05\xf5\x65\x59\xd1\x06\xcb\x83\x21\x72\xde\xbc\x19\x3e\x73\x9e\x2a\x4a\xeb\x18\xd6\x95\xc9\xd5\x46\x53\x6a\xef\xc8\x7c\x25\xc6\x0c\x19\xbf\x2b\x3a\x78\xd8\x3a\x5b\x40\xfc\xdf\x80\x38\x6a\x39\xa6\xd2\xa6\x91\x61\x77\x43\xde\xea\x3d\xb9\x16\x38\x3c\xea\x71\x9f\x8f\x58\x94\x6d\xcd\x16\x37\x3c\x8a\xa3\x68\xb1\x58\x40\x4a\x9e\x61\x47\xba\x24\x07\x5e\x3a\x55\x32\xb0\x85\x3d\x6a\x95\x21\xd3\x39\x89\x27\xb7\x27\x0f\xeb\xf4\x93\xf2\xa5\xc6\x7b\x40\x0f\x74\x2c\x49\x32\x65\x81\x2c\x42\x29\xc9\xfb\x04\xb5\x9e\xc3\xb6\x32\x50\xa0\x32\x09\x66\x99\x23\xef\x97\xf0\xa1\xf9\x98\x2f\xe1\x4f\x6b\x35\xfc\x8a\x00\x00\x34\x31\xa0\x94\xb6\x32\x0c\x2b\xc8\x89\x3f\x34\x9b\x2e\x6d\x1e\xf5\xb0\xae\x14\xac\x9e\x50\x5c\xf4\xdd\x25\x75\x62\xb7\x0c\x16\xb4\xec\x15\xe8\x09\xa0\xd1\xe2\xe2\x0c\xeb\xef\x8b\x8d\xd5\x01\xbd\x4e\x47\xa1\x8c\x1a\x91\x94\x35\x4b\x88\xd3\x9d\xf2\xe1\xa2\x0d\x15\xd7\x22\x29\x0f\x95\xa7\x2c\x68\x83\x06\xa8\xad\xc7\xb6\x16\x19\xee\x6d\x05\x19\xed\x49\xdb\xfa\xdb\x81\xa1\x23\xc3\x3a\x85\xdf\xac\x59\x6b\x7b\x10\xa3\x7a\x74\x64\x72\x06\xf5\xdf\x37\x5f\x96\xe7\x6f\x44\x7c\x3e\x85\x92\x78\xc7\x5c\xfa\xe5\x62\xd1\xd6\x7b\xb6\x65\x61\xcd\x36\x10\x5a\x97\xc7\xf3\x73\x52\x6d\x73\xeb\xc7\x74\x5f\x29\x53\xe8\x93\x1f\x67\xc8\xb0\x26\x60\xc9\x23\x50\x58\x5b\xa5\x69\xcc\xfa\x57\x9a\x7e\x5b\x2b\x4d\xd3\x19\x61\x55\x2e\x28\xdd\xf5\x8f\xde\x13\x7b\x71\xa0\x8d\x57\x4c\xcf\x02\xa5\x17\xd2\x16\x8b\xab\xed\xf5\x8b\x37\xaf\xe4\xa5\xfc\x03\x5f\xcb\x2c\xbb\x7e\xf5\x72\xf3\x5c\xbe\x7e\x71\x39\x0a\xe0\xd5\x95\xdc\x3c\x97\x6f\x5e\x5e\xdf\x06\x39\x6f\xff\xb1\x2e\x2b\xd0\xdd\x09\xbf\xcf\xe3\xc9\x1e\x46\xda\x74\xab\x08\xf7\x4c\xef\xcb\xf0\x68\x54\x81\x39\x2d\xfc\x3e\xff\xfd\x58\xe8\xc7\x2c\xf3\x9f\xd1\x13\x84\xde\x4a\x85\xda\x2f\xdb\xf7\x3e\x5c\x31\x1f\x14\x33\xb9\xf8\x7f\xfd\xb5\x2d\xb8\x56\x23\xfc\xb3\xb7\x1b\x6d\xe5\x9d\xdc\xa1\x32\xf1\xfc\x8c\xfb\xa1\xdf\x0d\xa6\x67\x8f\x95\xe6\x4f\xc8\x08\xab\xb3\xa9\x16\xae\x31\x8e\x8f\xd6\xb0\x43\xc9\xa1\x83\x24\x9c\x55\x4e\x52\x23\x80\x51\xfa\x02\xf6\x8a\x0e\xcd\x36\xfc\xbe\x7d\x72\x02\xbf\x77\xb5\xde\x25\xf3\x71\x0b\x37\xb4\x85\x55\x37\xf2\x42\x62\x89\x1b\xa5\x15\x2b\xf2\x62\x63\x9d\xb3\x87\xb7\xb3\x5f\x43\x3f\x13\xdd\xc7\xc3\xbb\xa4\xbf\x83\x28\xda\x8a\xdf\x90\x77\xa7\xcb\xbf\x7f\x0f\x25\x1a\x25\x93\xf8\xa3\xad\x74\x06\xc6\x32\x34\xa4\x80\xe0\x68\x4b\x8e\x8c\xac\x87\x91\x77\xd4\xb4\x03\xae\xf3\xcd\x41\xa3\x28\xb9\x42\xfd\xb4\xcf\xe4\xc4\x27\xab\xe9\x6e\x36\xd5\x4a\xe3\x9d\x99\x25\x5f\xf7\xa3\x82\xf2\x05\x19\x1e\xf8\x68\xd0\xb6\xab\x1f\x26\xc0\x71\xd2\xb4\x20\xea\x51\x15\x8a\xa9\xf0\x42\x93\xc9\x79\x07\xab\x55\xef\x84\x13\xe1\x0b\x28\xc8\x7b\xcc\xc3\xbb\x6d\x46\x1a\xda\xbc\x42\xf9\x02\x59\xee\xe2\x09\x4b\xfd\x62\x73\x5b\xa3\x61\x9a\xfc\xc7\xe5\xcf\x91\x38\xc3\x8c\xc7\xbd\x76\x78\x47\x5c\x39\x73\xa2\x0c\x2e\x1c\x2e\xd0\x66\xd4\xdb\xd9\xec\x14\x6f\x9c\x77\x80\x68\x0f\x66\xb3\x5e\xd8\x1e\x3b\xb0\xe2\x41\xc2\xf0\x74\xc8\x3c\x30\x52\x51\xb9\x61\x89\x71\x64\x36\x83\x47\xc5\xfa\xdb\x8a\xe0\x48\xa2\x72\x2a\x99\x9f\x28\x26\xa3\x83\xe2\xa7\x78\xef\x2a\x53\xc9\x7d\x30\x7a\x88\xa2\x7f\x03\x00\x00\xff\xff\x3f\x03\x2a\xcb\x5b\x08\x00\x00"
+var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x5d\x6f\xdb\x38\x10\x7c\xd7\xaf\xd8\xd3\x01\x86\x84\x4b\xe9\xf4\x23\xb9\xd6\xa8\x1b\xf4\xda\x1a\xf7\xd0\x02\x45\xe0\xeb\x3d\x14\x45\xb0\xa6\xd6\x32\x11\x8a\x14\xc8\x95\xed\xa0\xc8\x7f\x3f\x50\x5f\x96\x1d\x9d\x51\x3e\x18\x16\x77\x76\x76\x38\x12\x47\x15\xa5\x75\x0c\x8b\xca\xe4\x6a\xa5\x69\x69\xef\xc9\x7c\x21\xc6\x0c\x19\xbf\x29\xda\x79\x58\x3b\x5b\x40\xfc\xff\x80\x38\x6a\x39\xc6\xda\xc6\x91\xe1\xe9\x96\xbc\xd5\x5b\x72\x2d\x70\xb8\xd5\xe3\x3e\xed\xb1\x28\xdb\x99\x2d\x6e\xb8\x15\x47\xd1\x74\x3a\x85\x25\x79\x86\x0d\xe9\x92\x1c\x78\xe9\x54\xc9\xc0\x16\xb6\xa8\x55\x86\x4c\xc7\x24\x9e\xdc\x96\x3c\x2c\x96\x1f\x95\x2f\x35\x3e\x00\x7a\xa0\x7d\x49\x92\x29\x0b\x64\x11\x4a\x49\xde\x27\xa8\x75\x0a\xeb\xca\x40\x81\xca\x24\x98\x65\x8e\xbc\x9f\xc1\xfb\xe6\x4f\x3a\x83\xbf\xac\xd5\xf0\x33\x02\x00\xd0\xc4\x80\x52\xda\xca\x30\xcc\x21\x27\x7e\xdf\x3c\x74\x6d\x69\xd4\xc3\xba\x51\x30\x3f\xe3\xb8\xe8\xd5\x25\x75\x63\xb7\x0c\x16\x34\xeb\x1d\xe8\x09\xa0\xf1\xe2\xe2\x08\xeb\x1f\x8a\x95\xd5\x01\xbd\x58\x9e\x94\x32\x6a\x4c\x52\xd6\xcc\x20\x5e\x6e\x94\x0f\x07\x6d\xa8\xb8\x36\x49\x79\xa8\x3c\x65\xc1\x1b\x34\x40\xed\x3c\xb6\xb5\xc9\xf0\x60\x2b\xc8\x68\x4b\xda\xd6\xff\x1d\x18\xda\x33\x2c\x96\xf0\xbb\x35\x0b\x6d\x77\xe2\x64\x1e\xed\x99\x9c\x41\xfd\xcf\xed\xe7\xd9\xf1\x37\x22\x3e\x1d\x4a\x49\xbc\x61\x2e\xfd\x6c\x3a\x6d\xe7\x3d\x5b\xb3\xb0\x66\x1d\x08\xad\xcb\xe3\xf4\x98\x54\xdb\xdc\xfa\x53\xba\x2f\x94\x29\xf4\xc9\xf7\x23\x64\x58\x23\xb0\xe4\x09\x28\xac\xb5\xd2\x74\xca\xfa\xf7\x72\xf9\x75\xa1\x34\x8d\x77\x84\x55\xb9\xe0\x74\xa7\x1f\xbd\x27\xf6\x62\x47\x2b\xaf\x98\x9e\x05\x4a\x2f\xa4\x2d\xa6\x57\xeb\xeb\x17\x6f\x5e\xc9\x4b\xf9\x27\xbe\x96\x59\x76\xfd\xea\xe5\xea\xb9\x7c\xfd\xe2\xf2\xa4\x80\x57\x57\x72\xf5\x5c\xbe\x79\x79\x7d\x17\xec\xbc\xfb\xd7\xba\xac\x40\x77\x2f\xfc\x36\x8f\x47\x35\x9c\x78\xd3\xad\x22\x9c\x73\xf9\x50\x86\x8f\x46\x15\x98\xd3\xd4\x6f\xf3\x3f\xf6\x85\x7e\xca\x92\xfe\x88\xce\x10\x7a\x2b\x15\x6a\x3f\x6b\xbf\xf7\xe1\x8a\x79\xa7\x98\xc9\xc5\xbf\xf4\x6a\x5b\x70\xed\x46\x78\xb3\x77\x2b\x6d\xe5\xbd\xdc\xa0\x32\x71\x7a\xc4\xfd\xd8\x3f\x0d\x6e\xcf\x16\x2b\xcd\x1f\x91\x11\xe6\x47\xb7\x5a\xb8\x26\x38\x3e\x58\xc3\x0e\x25\x07\x05\x49\xd8\xab\x9c\xa4\xc6\x00\xa3\xf4\x05\x6c\x15\xed\x9a\xc7\xf0\xfb\xf6\xec\x0d\xfc\xd6\xcd\x7a\x97\xa4\x29\xa0\xff\xed\xfc\x85\xed\xe1\x37\xbd\xf0\x9b\x1b\x28\xd1\x28\x99\xc4\x1f\x6c\xa5\x33\x30\x96\x43\x38\x34\xa7\x80\xd0\x5c\x0b\x82\xb5\x75\xc0\x1b\x02\xd9\xaa\x8f\x4f\x4f\x7c\x4b\x6b\x98\x77\x09\x23\x24\x96\xb8\x52\x5a\xb1\x22\x2f\x56\xd6\x39\xbb\x7b\x3b\xf9\x39\x8c\x4f\xd1\xfd\x79\x7c\x97\xf4\x96\x89\xa2\x55\xfc\x15\x79\x93\x9e\x15\xd9\x90\x02\x82\xa3\x35\x39\x32\xb2\xbe\xfb\x41\x62\x23\xdd\x75\x31\x3d\x10\x8a\x92\x2b\xd4\xe7\x63\x2d\x27\x3e\x24\x5b\x77\xb2\x31\x29\x4d\x54\x67\x96\x7c\xad\x47\x85\x17\x5d\x90\xe1\x41\x6c\x07\xe7\xba\xf9\xe1\xc2\x39\x4e\x1a\x09\xa2\x4e\x06\xa1\x98\x0a\x2f\x34\x99\x9c\x37\x30\x9f\xf7\xc1\x3b\x52\xbe\x80\x82\xbc\xc7\x3c\x5c\x93\x26\x41\xa0\xed\x2b\x94\x2f\x90\xe5\x26\x1e\x49\xf0\xcf\x36\xb7\x35\x1a\xc6\xc9\xbf\x5f\xfe\x38\x31\x67\xd8\xf1\x54\x6b\x87\x77\xc4\x95\x33\x07\xca\x10\xfa\xe1\x00\x6d\x47\xfd\x38\x99\x1c\xea\x4d\xd0\x0f\x10\xed\xc6\x64\xd2\x1b\xdb\x63\x07\xc9\x3f\x68\x18\xee\x0e\x99\x07\xb9\x2d\x2a\x37\x1c\x71\x5a\x99\x4c\xe0\xc9\xb0\xfe\xb4\x22\x04\xa0\xa8\x9c\x4a\xd2\x03\xc5\x68\x75\x30\xfc\x50\xef\x43\x6c\xac\xb9\x2f\x46\x8f\x51\xf4\x5f\x00\x00\x00\xff\xff\xe9\xee\xf1\x70\xca\x08\x00\x00"
 
 func scriptsTestExample_token_vault_display_strict_equalCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -542,7 +542,7 @@ func scriptsTestExample_token_vault_display_strict_equalCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/test/example_token_vault_display_strict_equal.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xa4, 0x5c, 0xcd, 0x94, 0x6a, 0xcc, 0xce, 0xc5, 0xcb, 0xf8, 0x65, 0x7e, 0xc0, 0x9b, 0xa1, 0x9f, 0x16, 0x8d, 0x3b, 0xd6, 0x3d, 0x8c, 0x6a, 0x8e, 0x54, 0x1e, 0xe9, 0xe4, 0xc3, 0xa6, 0xc}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xc4, 0x1e, 0x43, 0x6, 0x4f, 0x75, 0x6a, 0x5f, 0x26, 0x57, 0x53, 0x50, 0xe7, 0xc4, 0xb, 0x81, 0x41, 0x13, 0xde, 0xe, 0xe0, 0x6a, 0x4c, 0x95, 0xa9, 0x5c, 0x4, 0x97, 0x68, 0x49, 0x75}}
 	return a, nil
 }
 
@@ -566,7 +566,7 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	return a, nil
 }
 
-var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x54\x4d\x4f\x1b\x31\x10\xbd\xef\xaf\x78\xe5\x40\x37\x52\x48\xee\x08\x2a\xb5\x11\x95\x7a\x43\x80\xb8\x4f\x36\x13\x62\xd5\xb1\xad\xf1\x38\x21\x42\xfc\xf7\xca\xce\x66\xd9\x85\x55\xe9\xa5\x7b\xf3\xf3\x7c\xbc\xf7\x66\xbc\xf3\x39\x1e\x36\x26\x42\x85\x5c\xa4\x46\x8d\x77\x30\x11\x04\xe5\x6d\xb0\xa4\x8c\xb5\x97\x7c\xec\xdd\xab\x07\x59\xeb\xf7\xd5\x7c\x0e\x72\x07\xef\xb8\x40\xab\x15\x08\x8f\x94\xac\x42\x38\xfa\x24\x4d\xc1\x75\xc3\x46\x40\x4d\xe3\x93\x53\xc4\x0c\x90\xe6\x54\xdd\xf0\x01\x0d\x39\xa4\xc8\xf9\x00\x7e\xa6\x6d\xb0\xfc\xe0\x7f\xb3\xab\x2a\xb3\x0d\x5e\x14\x3f\x93\x7b\x32\xcb\x16\xc5\x5a\xfc\x16\x67\x03\xec\xec\x14\x79\xd3\x4b\x6f\x03\xfb\x50\x17\xf7\x68\x78\x7f\xc7\xd1\xdb\x1d\x4b\x1b\xd7\x87\xce\xaa\xaa\x2f\xb6\x9e\xe0\xa5\xaa\x00\x20\x08\x07\x12\xae\xa3\x79\x72\x2c\x97\xa0\xa4\x9b\xfa\x87\x17\xf1\xfb\x47\xb2\x89\xa7\xf8\x15\x63\xe2\x7b\xf5\x42\x4f\xbc\xa0\x40\x4b\x63\x8d\x1e\x16\xde\xa9\x78\x6b\x59\xa6\xb8\x4d\x4b\x6b\xe2\xe6\xed\x72\x8a\x7b\xda\x71\xc9\x9f\xe0\xfc\xfb\xd1\xa5\xae\x65\xfe\xe6\x73\xdc\xb1\x26\x71\x60\x12\x7b\x80\x59\x17\xb3\x4e\x86\x92\x15\xa6\xd5\x01\x51\xbd\x70\x1e\xdc\xc0\x86\x32\x8e\xae\x94\x59\xe3\x48\x7e\x16\x8f\x24\x67\xcb\x42\xff\xea\xbc\x9f\x34\x2b\x49\xdf\xea\x6c\xcd\x25\x3e\xde\xb4\x02\x6f\x49\x37\x13\x7c\xb9\x86\x33\x16\x2f\x5d\x8f\xfc\x49\xe1\xdb\x41\xaf\x6f\x62\x2c\x2b\x76\x65\x45\xae\x2e\x86\xa5\x1b\x61\x52\xbe\xd9\x06\x3d\x94\x2e\xf5\x64\x60\xc1\xa2\x5c\x83\xe0\x78\x3f\x22\x11\xe4\x56\x08\x49\x61\x14\xc6\xa1\x95\xd7\x15\x78\xa7\x3a\xd2\x8e\xeb\xab\x8b\x42\x64\x0a\xf5\x9f\xa9\x1c\x67\x12\xf2\x2c\x1b\x34\xdd\x2c\xdb\x6d\x6f\x19\xe5\x35\x07\x3f\x07\x1f\x39\xf6\x60\xe3\x94\x65\x4d\x0d\xc7\x8f\xa6\x2c\x28\xe0\xfa\x44\xb6\xab\x6b\x38\x76\xcc\x4d\xde\xb0\xf1\x71\x0d\x26\xf0\x57\x3d\x5d\xe4\xe4\xbd\x41\x83\x9e\xe1\xb8\xab\xf5\x89\xda\x14\xa4\x63\x4e\x95\x9d\x6e\x3e\x37\x6a\x31\x6e\xd4\xd7\x88\x3b\x6e\xd8\x94\xd7\x98\x5c\x79\x75\x94\xa3\x06\xfe\x48\x1b\xf2\xcf\x16\xbd\x0c\x7e\x12\xb3\x53\x8b\xd7\xff\x68\x54\x8f\xe3\x88\x57\x27\x06\x7d\xbb\x8e\xaf\xe3\xb5\xfa\x13\x00\x00\xff\xff\x6e\xf9\x6f\xd9\x86\x05\x00\x00"
+var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x54\x4d\x6f\xdb\x30\x0c\xbd\xfb\x57\xbc\xe6\xd0\xd9\x40\x9a\xdc\x8b\xb4\xdd\x96\xb5\xc0\x0e\x03\x8a\x36\xc8\x9d\x71\x98\x46\x98\x22\x19\x12\x9d\xd4\x28\xfa\xdf\x07\xc9\x1f\xb5\x3b\x77\xdb\x65\x3e\x18\x10\xf5\x44\x3e\xbe\x47\x69\x3e\xc7\x6a\xaf\x3c\xc4\x91\xf1\x94\x8b\xb2\x06\xca\x83\x20\x7c\x28\x34\x09\x63\x67\x5d\x58\xf6\xf6\xc5\x82\xb4\xb6\xa7\x64\x3e\x07\x99\xca\x1a\x8e\xa1\xed\x16\x84\x35\x95\x5a\xe0\xd8\xdb\xd2\xe5\x31\x2e\x7b\x56\x0e\x94\xe7\xb6\x34\x02\x1f\x02\x24\xe1\xa8\xec\xb9\x42\x4e\x06\xa5\xe7\xb0\x00\x3f\xd3\xa1\xd0\xbc\xb2\x3f\xd9\x24\x89\x3a\x14\xd6\x09\xee\x4a\xf3\xa4\x36\x4d\x14\x3b\x67\x0f\x98\x0c\x62\x93\x16\x79\xdb\x3b\xde\x00\xfb\xa1\x0e\xb7\x56\x7c\x7a\x60\x6f\xf5\x91\x5d\x83\xeb\x87\x26\xa3\x95\x7f\xb0\xd0\x96\x84\x02\xd2\x8f\xd1\x18\x00\x26\x49\xd2\x17\x2c\xcd\xf0\x92\x24\x00\x50\x38\x2e\xc8\x71\xea\xd5\x93\x61\x77\x09\x2a\x65\x9f\x7e\xb5\xce\xd9\xd3\x9a\x74\xc9\x53\x7c\xf7\xbe\xe4\x47\xb1\x8e\x9e\x78\x49\x05\x6d\x94\x56\x52\x2d\xad\x11\x67\xb5\x66\x37\xc5\x7d\xb9\xd1\xca\xef\xdf\x36\xa7\x78\xa4\x23\xc7\xf3\x19\xce\xbf\xd4\x4a\x77\x25\xc3\xa7\x59\x70\x0c\xce\x7c\x23\x21\x5c\x0d\xa4\x9a\xb9\xba\xf1\x58\x82\x72\x09\x0d\xa4\xad\x81\xab\xaa\xe0\x4b\x18\xa5\xa7\x38\x2a\x3e\xd5\xcb\xf0\x5f\x7c\xdc\xfc\xec\x6e\xb5\x6e\x6b\x5d\xa7\x59\x06\xf2\x67\x7f\x10\xb3\x0f\xbf\xe9\x18\x87\xef\xe6\x06\x05\x19\x95\xa7\x03\x7f\xb0\xb5\xec\x61\x6c\x3d\x65\xfa\xc8\xe8\x25\x88\x2c\x27\xd9\x5b\xe7\xf3\x39\x1e\x58\x4a\x67\xc0\xe4\x74\x05\xb5\x8b\xa3\xd6\x8e\x23\x69\xc7\xb4\xad\xe0\xc5\x3a\x0e\x63\x3f\x18\xa2\x98\xb6\x4b\xa5\x76\xa8\x6d\x9b\xf9\xda\x9e\xd9\x26\x1a\xb7\x38\x1f\xc8\x19\x0f\x5d\xa7\x61\x44\x2e\xdf\x44\x6f\xcf\xdc\x93\xec\x33\x9c\x5d\x05\x4d\xf1\x32\x68\xd7\x45\x9e\x5d\xe8\x75\xc4\x3e\x2c\x2e\x86\xde\xe5\x8e\x49\xf8\xf6\x50\x48\x15\xeb\xa6\x11\xd6\xb3\xe9\xf3\x18\xb7\x6c\x28\xd0\x32\x26\x01\xc1\xf0\x69\x44\x00\x90\xd9\xa2\x28\x05\x4a\xa0\x0c\x9a\x46\xba\x04\xef\x34\xf1\x74\xe4\x74\x71\x11\x79\x4c\x21\xf6\x23\x0d\xc6\x19\x14\x61\xb6\x73\xe4\xdd\x6c\x37\x2f\x48\xc3\x24\x3c\x1d\xe0\xe7\xc2\x7a\xf6\xbd\xb0\x32\xc2\x6e\x47\x39\xfb\xdf\x25\x5b\x52\x81\xab\x96\x64\x97\x57\xb1\xef\x18\xab\x70\xe3\xc6\x4d\x1c\xf8\x33\xda\x47\x87\xc8\xde\x0b\x32\xa8\x55\xd4\x77\x36\x6d\x29\x4d\x41\xd2\x57\xe6\xd0\xdc\x88\xbf\x4b\xb3\x1c\x97\xe6\x93\xc7\x03\xe7\xac\xe2\x9b\x56\x9a\xf8\xee\x50\x40\x0d\x14\x71\x0d\xe4\x9f\x45\x79\x19\xdc\xdb\x59\x5b\xe2\xf5\x3f\x48\xd3\xe3\xf6\x5e\x9d\x76\xab\x56\xa7\xbe\x1c\xaf\xc9\xaf\x00\x00\x00\xff\xff\xb2\xa9\x11\x07\xbb\x06\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -582,11 +582,11 @@ func setup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6a, 0xc5, 0x72, 0xc0, 0xea, 0x1f, 0x77, 0x39, 0x2a, 0x8d, 0xe0, 0x22, 0x19, 0x7c, 0xf5, 0x83, 0xa1, 0xf2, 0xb, 0xc5, 0x4f, 0x6c, 0xca, 0x14, 0x2c, 0x4e, 0x5f, 0x6b, 0xa6, 0xc0, 0xfb, 0x27}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5c, 0x5a, 0xe6, 0x82, 0xc, 0x47, 0x7c, 0xaf, 0x47, 0x7f, 0xb3, 0xb9, 0xcb, 0x6b, 0x64, 0xbb, 0x2a, 0x83, 0xff, 0x63, 0x0, 0xe5, 0x59, 0x37, 0x5f, 0x9c, 0x4e, 0x76, 0x28, 0xb, 0x6d, 0xc4}}
 	return a, nil
 }
 
-var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4f\x6f\xe3\xb8\x0f\xbd\xe7\x53\x10\x39\xe4\xe7\x14\xf9\x39\xf7\xa0\xed\x60\x36\x3b\xb3\xd8\xc3\x2e\x06\xd3\x6e\xef\x8c\xcc\xc4\xc2\x38\x92\x21\xd1\x49\x83\xa2\xdf\x7d\x21\xdb\xb2\xa5\xc6\x6e\xd3\xee\x60\x72\x68\xfd\x47\x24\x1f\x9f\x48\x3e\x4b\xee\x4b\x6d\x18\xbe\x56\x6a\x27\x37\x05\xdd\xeb\x1f\xa4\x60\x6b\xf4\x1e\xa6\xd1\xb3\xe9\x64\x68\xe5\xdd\x51\xb2\xc8\x37\x1a\x4d\x36\x64\x14\xbc\xee\xec\xbf\x3c\xe2\xbe\x8c\x03\x85\x8f\xa6\x93\xc9\x72\xb9\x84\xfb\x5c\x5a\x60\x83\xca\xa2\x60\xa9\x15\x48\x0b\x08\x4c\xfb\xb2\x40\x26\xd8\x6a\xe3\x6e\x83\xf7\x9c\x23\x83\xd0\x55\x91\xc1\x86\xa0\xb2\x94\xc1\xe6\x04\xa8\x4e\x5a\x11\xb0\x06\xcc\x32\x40\x50\x74\x84\x6d\x8b\x10\xb8\x86\x70\xc0\xaa\xe0\x3a\xa6\xc0\x12\x37\xb2\x90\x7c\x72\x06\x9c\x93\x34\x60\x83\x04\x0d\x59\x5d\x19\x41\x6e\xf1\x24\x8c\xfd\x34\x99\x00\x00\x14\xc4\x40\x41\x2a\x0f\xce\xf3\xba\x73\xba\x82\xfe\xfa\x7a\xf6\x14\x11\x95\x7e\x27\x41\xf2\x40\xe6\xf9\xb6\x73\x15\x84\xfe\x4e\xdb\x15\xc0\x6c\x8c\xdb\x34\xb8\x6e\xa0\x94\x86\x4a\x34\x94\x58\xb9\x53\x64\x56\x80\x15\xe7\xc9\x6f\xda\x18\x7d\x7c\xc0\xa2\xa2\x05\xfc\x69\x6d\x45\x77\xac\x0d\xee\xa8\xc7\xb5\xd6\x8a\x8d\x2e\x0a\x32\x0b\xf8\x56\x6d\x0a\x69\xf3\xfe\xe5\x02\xee\xf0\x40\xad\xfd\x3f\xaa\x7c\xf9\x7e\x0e\xb3\xcf\x42\xe8\x4a\xf1\xdc\x53\xe2\x73\xa9\x49\xfe\x1d\x19\xe1\x26\x2a\x80\xd4\x71\x5a\x1c\xa8\x8e\x8b\x82\x1f\x24\x1d\x13\xcf\xf3\xfd\xa9\xa4\x15\x28\x59\x2c\xe0\x20\xe9\xd8\xdc\xba\xbf\xd7\x11\x11\x7f\x11\x63\x86\x8c\xce\xd6\xa6\x5f\xef\x1f\x7c\xac\xdb\x64\x3e\xef\x61\x2c\xaf\xe2\xd2\xab\x97\x81\xd0\x6a\x2b\x77\x95\xc1\x7a\x23\xaf\x96\xfd\xf2\xf0\x12\xd6\xed\x32\x02\x54\x43\x6e\xe4\x16\x14\x51\x46\x59\x67\x24\xb7\xd0\x90\x9f\xda\x86\xe4\x74\x53\xd3\x7f\x3d\x8b\xf2\xaf\xcd\x6f\x13\xd7\x07\xab\x9e\x25\x6f\xf3\x0d\x39\x9f\xc3\xcd\x8d\x23\x01\x9e\x3a\xdf\x1e\x94\x21\xd7\x0b\x4d\x55\x0f\x80\x42\x95\x81\xc5\x03\x81\x64\x90\x0a\x5a\x9f\x91\x97\x17\x10\xdd\xea\xe4\xfa\xff\x11\x42\x51\x47\xf9\xb2\x2f\xf9\x54\xbb\x4d\xe6\x0b\x60\x3d\x06\xf6\x0c\x63\x41\x68\x80\x1e\xa5\x65\xa9\x76\x7d\x07\x48\xb2\xe0\x1a\x16\x95\x56\x52\x60\x01\x25\x72\x6e\x87\xb0\x89\xc0\x24\xad\x7c\xd5\x25\x7d\xf8\x7d\xbb\xff\xe7\xf1\x2f\xf5\x60\xda\xe6\x1b\xcc\xa0\x6e\x94\x96\xd1\x19\xf8\x3e\x8d\x32\x89\x4c\xba\x72\x5f\x63\x09\x37\x83\x18\x3c\xdd\xd2\xb9\x1e\x2e\x88\x0b\xd8\x75\x81\x3c\xf2\x8b\x63\x8d\x8e\x9d\x4b\x22\x2e\x97\x7e\x28\x8c\xa7\x3f\x84\x21\x62\x7c\x8d\xe5\x02\x90\xc3\x02\x7a\xdf\x0e\x7a\x6f\x41\xee\x2f\x1d\x0e\x6f\xe8\x73\x77\x15\xb6\xf6\x1f\xc4\x6e\xd6\xfb\xc9\x1d\xaa\x42\xa8\x08\xb5\x52\xb9\x75\x0d\xa4\xff\x59\xc0\x66\xd6\x75\xbe\x2c\x15\xdb\xf4\x95\xf9\x3f\xb2\x41\x3b\xe2\xd7\xb6\x25\xa2\xc3\xfd\xa2\x6a\xf1\x0b\xeb\x6d\x11\x2e\xdd\x68\xfd\x1c\x3e\x7d\x82\x12\x95\x14\xc9\xf4\xae\x8e\x0d\x99\x26\x0b\x4a\x33\xe4\x6e\x32\xa0\x77\x07\xcd\xe0\xf0\xc4\x05\x99\x4f\xe7\x83\xb4\xad\x73\x12\x3f\xdc\x94\x73\x9c\x0c\x98\x35\x3d\xdf\xd7\x06\x5a\x4b\x86\xe3\x74\xde\x62\x2c\x15\x2e\x88\x1b\x38\x91\xd9\x9e\xac\xc5\x1d\xad\xe0\xe3\x39\x75\xfe\x86\x92\xbb\x82\xf0\xb3\xc6\x12\x57\xe5\x25\xca\x10\xaa\xf0\xbb\x04\xe1\x12\x59\xf7\x12\x31\xbe\xf6\xdd\x8a\x11\xc2\xfd\xb0\x54\x8c\xe2\x69\x64\x23\x78\xe2\x75\xe3\xa2\x0c\x7e\x99\x8c\x8c\xa2\x39\xef\xac\xf7\x68\xcb\xa8\xdb\x31\x77\x9d\xd0\x74\x02\x33\x8b\x36\xe8\x55\xb9\xf9\x89\x2a\x70\x36\x6e\xdc\xef\x92\x2d\x3b\x33\x3c\x17\xab\xe0\x83\xb6\xa1\xe1\x83\x78\x47\x5a\xa4\xf1\xb9\x80\x5f\x9e\xdb\x7f\x95\xc5\x33\x21\xfb\xa9\x45\xe9\xa3\x0c\xb1\xff\x46\xb8\xa1\x30\xcf\x2f\xb5\x13\xc1\xd0\x96\x0c\x29\x41\xed\xb1\xa9\x85\x61\xc3\x0d\x8f\x55\x32\x3e\xda\xf4\x35\xf0\xb1\xc9\x78\xb6\x3d\x97\x8f\xca\x51\xb5\x5c\xd7\x27\x49\xa7\x29\x0d\x96\x38\xc9\x00\x7f\x2b\x8f\x93\x86\x9b\xfa\x1f\x3d\x92\xa8\x98\xc2\x33\xd0\x72\x09\x9f\xb3\xac\x26\xe7\xec\x94\x19\x9d\x31\x2b\xeb\xe6\x1b\x66\xd9\xdf\x74\x6c\xbe\x39\xf7\xc4\xb9\x7e\x95\xbf\x34\x58\x9e\x88\xe0\xbc\xf9\x96\xbe\xc6\xd0\x9f\x27\xff\x06\x00\x00\xff\xff\x12\xbb\x7e\x89\x0c\x10\x00\x00"
+var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\x0c\x7c\x70\xa5\xc0\x95\xef\x46\x92\xed\xd6\xdd\x2d\x7a\x68\xb1\xd8\xa4\xb9\x8f\xa9\xb1\x45\xac\x4c\x0a\x24\x65\xc7\x08\xf2\xdf\x0b\x52\x5f\xa4\x4d\x25\x4e\xba\x88\x0e\x89\x2c\x71\x66\xde\xbc\x19\xce\x13\xf9\xae\x92\xca\xc0\xd7\x5a\x6c\xf9\xba\xa4\x7b\xf9\x83\x04\x6c\x94\xdc\xc1\x34\x78\x36\x9d\xc4\x56\xde\x1d\xb8\x61\xc5\x5a\xa2\xca\x63\x46\xde\xeb\xde\xfe\xcb\x23\xee\xaa\x30\x90\xff\x28\x1e\xe7\x6f\x32\x98\xa3\xc1\x07\x4e\x07\x1d\x8b\x14\x2c\x98\x4e\x26\x8b\xc5\x02\xee\x0b\xae\xc1\x28\x14\x1a\x99\xe1\x52\x00\xd7\x80\x60\x68\x57\x95\x68\x08\x36\x52\xd9\x9f\xde\x7b\x53\xa0\x01\x26\xeb\x32\x87\x35\x41\xad\x29\x87\xf5\x11\x50\x1c\xa5\x20\x30\x12\x30\xcf\x01\x41\xd0\x01\x36\x6d\x6c\x30\x2e\x8d\x3d\xd6\xa5\x71\x31\x19\x56\xb8\xe6\x25\x37\x47\x6b\x60\x0a\xe2\x0a\xb4\x47\x92\x22\x2d\x6b\xc5\xc8\x2e\x9e\xf8\xb1\x9f\x26\x13\x00\x80\x92\x0c\x90\x47\xc7\x83\xf5\xbc\xea\x9d\x2e\x61\xb8\xbf\x9e\x3d\x05\x14\x64\xdf\x89\x11\xdf\x93\x7a\xbe\xed\x5d\x79\xa1\xbf\xd3\x66\x09\x30\x1b\xab\x4f\xe6\xdd\x37\x50\x2a\x45\x15\x2a\x4a\x34\xdf\x0a\x52\x4b\xc0\xda\x14\xc9\xef\x52\x29\x79\x78\xc0\xb2\xa6\x39\xfc\xa5\x75\x4d\x77\x46\x2a\xdc\xd2\x80\x6b\x25\x85\x51\xb2\x2c\x49\xcd\xe1\x5b\xbd\x2e\xb9\x2e\x86\x97\x73\xb8\xc3\x3d\xb5\xf6\xff\x8a\xea\xf4\x7d\x0a\xb3\xcf\x8c\xc9\x5a\x98\xb4\xa3\xa4\xcb\xc5\x91\xfc\x07\x1a\x84\x9b\xa0\x89\x32\xcb\x69\xb9\x27\x17\x17\x99\xb1\x2d\x90\x74\x3c\xdf\x1f\x2b\x5a\x82\xe0\xe5\x1c\xf6\x9c\x0e\xcd\x4f\xfb\xf7\x7a\xbc\x7d\xb2\xaf\xf7\x0f\x5d\xac\xdb\x24\x4d\x7b\x14\xf6\xfa\xf4\x09\x2a\x14\x9c\x25\xd3\x95\x6b\x14\x21\x0d\x6c\x3b\x74\x60\x7d\xb8\x40\xae\xbb\x4c\x41\xc0\x5a\x54\xd3\x74\xc8\x66\x71\x15\xee\x02\x17\xcd\xae\xdc\xf0\x6d\xad\xd0\xf5\xc3\xd5\x62\x58\xee\xdf\xc2\xaa\x5d\x46\x80\x22\xe6\x86\x6f\x40\x10\xe5\x94\xf7\x46\x7c\x03\x4d\x0d\x33\xdd\xd4\x2a\x5b\xbb\x2a\x5e\xcf\x02\x1a\x9d\xf9\x6d\x62\x37\xd7\x72\x20\xbb\xb3\xf9\x86\xa6\x48\xe1\xe6\xc6\x72\x09\x4f\x01\x25\x16\x94\x22\xbb\xa5\x9a\xcd\x11\x01\x85\x22\x07\x8d\x7b\x02\x6e\x80\x0b\x68\x7d\x06\x5e\x4e\x20\xda\xd5\xc9\xf5\xaf\x01\x42\xe6\xa2\x7c\xd9\x55\xe6\xe8\xdc\x26\x0e\xa5\x57\xd3\xdf\x62\x09\xa5\xe9\x1c\x8c\x1c\x4b\xe9\x2c\x93\x92\x50\x01\x3d\x72\x6d\xb8\xd8\x0e\xdb\x8d\x93\x06\x3b\x1d\x50\x48\xc1\x19\x96\x50\xa1\x29\x74\x2c\x03\xe6\x99\x64\x75\xd7\xe2\xc9\x10\x7e\xd7\x36\xdb\x79\xfc\x4b\x3d\xa8\x76\xa7\x47\x33\x70\xbb\xb2\xe5\x7d\x06\xdd\x50\x08\x32\x09\x4c\xfa\xbd\xb5\xc2\x0a\x6e\xa2\x18\xba\xa2\x70\xeb\x3a\xde\x36\x17\xb0\x6b\x03\x75\xc8\x2f\x8e\x35\x3a\xe3\x2e\x89\xb8\x58\x74\x13\x68\x3c\xfd\x18\x86\x80\xf1\x15\x56\x73\x40\xe3\x37\xd0\xdb\x2a\xd8\x79\xf3\x72\x3f\x75\x18\x2f\xe8\x73\x7f\xe7\x0f\x80\x3f\xc9\xb8\xc9\xd2\xca\x84\x2f\x41\xbe\xfc\x38\x91\xb4\xeb\x1a\x48\xbf\x68\xc0\x66\xb0\xf6\xbe\x34\x95\x9b\xec\x05\xb1\x19\x29\xd0\x96\xcc\x4b\x65\x09\xe8\xb0\x57\x3c\xcb\x60\x59\xea\x8d\xd5\x3b\x17\x12\x72\x49\xda\x0d\xd7\xc2\x8e\x0d\xec\x86\x0a\x34\x53\xa5\xf3\xe4\x25\x3c\x4d\xa3\x6c\xad\x0a\x62\x3f\xec\x08\xb4\x54\x44\xcc\x9a\xad\x3e\xb4\x04\x6a\x4d\xca\x84\x59\xbc\x46\x54\xc6\x6c\x90\x24\x9d\x43\x60\xb6\x23\xad\x71\x4b\x4b\x78\x7f\x4e\xbd\xbf\x58\x72\x57\xe0\x7f\x7e\x69\x32\x75\x75\x89\x6c\xf8\x4a\xff\x26\xb5\xb8\xe4\xd3\xa1\xd3\x8f\xf1\xb5\x6f\x96\x13\x1f\xee\xbb\x75\x64\x14\x4f\xa3\x29\xde\x93\xa4\x95\x8b\x8b\x32\xf8\x30\xf5\x18\x45\xd3\xed\x3c\x37\xe7\xd8\x5b\x25\x65\xd4\xed\x98\xbb\x5e\x5f\x7a\x5d\x99\x05\x05\x7a\x51\x65\x7e\xe2\xf0\x3f\x9b\x32\xf6\xba\xa4\x64\x67\x86\xe7\x1a\xe5\x7d\x34\x37\x34\xbc\x13\xef\xc8\x16\x69\x7c\xce\xe1\xc3\x73\xfb\xbf\x6a\x78\xa6\x5f\x3f\xb5\x29\xbb\x28\x31\xf6\x5f\x09\x17\x0b\xf3\x7c\x2a\x99\x08\x8a\x36\xa4\x48\x30\x6a\x8f\x66\x2d\x0c\xed\x17\x3c\x14\xc7\xf0\xf8\x34\xf4\xc0\xfb\x26\xe3\x59\x79\x2e\x1f\x95\xa3\x6a\x39\x1c\x42\x1a\x2c\x61\x92\x1e\xfe\x56\x1e\x27\x0d\x37\xee\x1f\x3d\x12\xab\x0d\xf9\xe7\xac\xc5\x02\x3e\xe7\x79\x73\x70\x39\x3d\xc9\x06\xe7\xd8\x5a\xdb\xf9\x86\x79\xfe\x0f\x1d\x9a\x4f\xcd\x1d\x99\x42\xbe\xc8\x5f\xe6\x2d\x4f\x98\x77\xa6\x7d\x4d\x5f\x43\xe8\xcf\x93\xff\x02\x00\x00\xff\xff\x0a\xba\x49\x9b\xb4\x10\x00\x00"
 
 func switchboardAdd_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -602,11 +602,11 @@ func switchboardAdd_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0xe5, 0xb3, 0x1f, 0x64, 0xbb, 0xbe, 0xda, 0xbc, 0xcd, 0xac, 0xb, 0x1d, 0xdb, 0xe6, 0xb4, 0x85, 0xc1, 0x24, 0xb0, 0xf6, 0x28, 0xe7, 0xff, 0x6a, 0x42, 0x1d, 0x2a, 0x31, 0xa4, 0x8d, 0xff}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0x71, 0x2, 0x32, 0x3d, 0x50, 0x61, 0x71, 0x22, 0x3e, 0x38, 0x31, 0x2a, 0x60, 0xb3, 0xf5, 0x75, 0x25, 0x24, 0x9b, 0x84, 0x73, 0x7a, 0xfd, 0xe4, 0xfe, 0x47, 0x41, 0xd, 0xee, 0x63, 0xa8}}
 	return a, nil
 }
 
-var _switchboardAdd_vault_wrapper_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xcd\x6e\x9c\x30\x10\xbe\xf3\x14\x23\x0e\xe9\xae\x54\xb1\x77\x94\x26\x4d\xa3\xa6\xb7\x2a\x4a\xa2\xf4\x3c\x98\x01\xac\x80\x8d\xc6\x43\xc8\x2a\xda\x77\xaf\x0c\x84\xd8\xe9\x66\x55\x2e\xcb\xe2\xf9\xfb\x7e\x3c\xba\xeb\x2d\x0b\xdc\x0c\xa6\xd6\x45\x4b\x0f\xf6\x89\x0c\x54\x6c\x3b\x48\xa3\x6f\x69\x72\x2c\xf2\x7e\xd4\xa2\x9a\xc2\x22\x97\xc7\x92\x82\xe3\x35\xff\xe7\x0b\x76\x7d\xdc\x28\xfc\x94\x26\xc9\x6e\xb7\x83\x87\x46\x3b\x10\x46\xe3\x50\x89\xb6\x06\xb4\x03\x04\xa1\xae\x6f\x51\x08\x2a\xcb\xfe\x6f\x70\x2e\x0d\x0a\x28\x3b\xb4\x25\x14\x04\x83\xa3\x12\x8a\x3d\xa0\xd9\x5b\x43\x20\x16\xb0\x2c\x01\xc1\xd0\x08\xcf\x38\xb4\x02\x23\x63\xdf\x13\x83\xc2\x1e\x0b\xdd\x6a\xd9\x4f\x7d\xc5\x82\x34\xa4\x19\x5c\x80\x8c\xc9\xd9\x81\x15\xf9\x88\x24\x6c\xfa\x9a\x24\x00\x00\x2d\x09\x88\x1f\xfe\xc6\xf2\x88\x5c\x12\x5f\xaf\x55\x73\x78\x7f\x3f\x3f\x7b\x8d\xe8\xc9\xee\x48\x91\x7e\x26\x3e\x5c\xac\x75\x82\xbe\x77\x54\xe5\x00\x67\x9f\x31\x9a\x05\xef\xf3\x1c\x3d\x53\x8f\x4c\x1b\xa7\x6b\x43\x9c\x03\x0e\xd2\x6c\x7e\x58\x66\x3b\x3e\x62\x3b\xd0\x16\xce\xae\x94\xb2\x83\x91\xed\xdb\xe8\xfe\xd9\xed\xe0\x97\x47\xd0\xd0\x8c\xc2\xb3\x3b\xc3\x08\xd8\x99\xa5\xf2\x31\x73\xf5\x2f\x0e\x70\xae\xb5\xd6\x71\xd4\x56\xd9\x67\x3c\xc0\xb7\x25\x31\x5b\x6b\x6a\x72\x59\x4d\x72\x82\x95\xcd\x5a\xfb\xed\x09\xad\xb2\x06\xde\x0e\x45\xab\xd5\x2d\x4a\x13\xc5\x6f\x23\x88\xd7\x0d\xa9\x27\xd0\xd5\x84\x81\x97\xcc\x10\x20\xbd\x68\x27\x6e\x4d\x41\xe7\x88\x25\x9e\xe0\x24\xc2\x4c\xf9\x0e\x9b\xed\xd7\x28\xa5\x23\xe7\xb0\xa6\x1c\xd2\xfb\x09\x3e\x94\x96\x1c\x18\x2b\xd0\xe0\x33\x01\xc2\x68\xf9\x49\x9b\x1a\xaa\x85\x83\x45\x83\x23\x13\xa6\xc9\x71\x64\x5e\x3c\x04\xa6\x8a\x98\x8c\xa2\xc5\xc3\x0b\xdd\x2e\x74\x54\x2c\x55\x6c\xb5\x77\x81\x9c\x58\xc6\x9a\xb2\x62\x72\xce\xf9\x7f\x19\xf0\x88\x54\xde\x30\xf9\xa7\xeb\x22\xbb\x9f\xbb\xfc\xab\x1a\x5c\x5e\x42\x8f\x46\xab\x4d\x7a\x3d\xdd\x67\x4f\xd6\x3c\x4b\x0c\x32\x98\x3f\x5d\x18\x39\xcc\x3f\xf4\x42\x6a\x10\xfa\x60\xf2\xab\xb2\x9c\x88\x09\x34\x7f\xa3\x2a\xb8\xec\x83\xf3\x6a\x60\x59\xfe\xa6\xf1\x71\x5a\x15\x1d\x49\x63\x4f\x72\x97\x05\xe1\x7f\xe6\xc5\x12\xf3\xa1\x82\x7d\x70\xd2\x44\xb1\x79\x64\xdf\x53\x0e\x0f\xfb\x9e\xce\xbf\x47\xce\x9f\x3a\x5d\x6c\xb6\x1f\x1d\x71\x48\x92\x43\xf2\x37\x00\x00\xff\xff\xc4\xb1\x66\x01\xd3\x05\x00\x00"
+var _switchboardAdd_vault_wrapper_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xcb\x6e\xdb\x3a\x10\xdd\xeb\x2b\x06\x5e\xe4\x4a\x40\x20\xed\x8d\x3c\x6e\xae\x6f\xd3\x55\x8b\x22\x31\xd2\xf5\x98\x1a\x49\x44\x64\x52\x20\x47\x56\x8c\xc0\xff\x5e\x50\x2f\x93\xad\x6c\x54\x0b\x5b\x8f\x19\x9e\x39\xe7\xcc\x8c\xdc\x37\xda\x30\x3c\xb7\xaa\x94\xbb\x9a\xb6\xfa\x9d\x14\x14\x46\xef\x61\x15\xbc\x5b\x45\x4b\x91\xaf\x9d\x64\x51\xed\x34\x9a\x7c\x29\xc9\xfb\x3c\xe7\x7f\xf9\xc0\x7d\x13\x02\xf9\xaf\x96\x71\xbe\x11\x63\x8e\x8c\x6f\x92\x3a\xbb\x84\x14\x04\xac\xa2\x28\xcb\x32\xd8\x56\xd2\x02\x1b\x54\x16\x05\x4b\xad\x40\x5a\x40\x60\xda\x37\x35\x32\x41\xa1\x8d\x7b\xf4\xbe\x73\x85\x0c\x42\xb7\x75\x0e\x3b\x82\xd6\x52\x0e\xbb\x23\xa0\x3a\x6a\x45\xc0\x1a\x30\xcf\x01\x41\x51\x07\x07\x6c\x6b\x86\xce\x60\xd3\x90\x01\x81\x0d\xee\x64\x2d\xf9\xd8\xe3\xb2\x06\xae\x48\x1a\xb0\x9e\x3a\x86\xac\x6e\x8d\x20\x17\x11\xf9\xa0\x9f\x51\x04\x00\x50\x13\x03\x3b\x26\xcf\xda\x74\x68\x72\x32\x9b\xf9\xd4\x35\x9c\xef\xef\x6e\x3e\x03\xe2\xe9\x0b\x09\x92\x07\x32\xa7\x87\xf9\x1c\x0f\xf7\x85\x8a\x35\xc0\xcd\x25\x57\x52\xef\x7e\xa8\xa3\x31\xd4\xa0\xa1\xd8\xca\x52\x91\x59\x03\xb6\x5c\xc5\xff\x69\x63\x74\xf7\x86\x75\x4b\x09\xdc\x3c\x09\xa1\x5b\xc5\xc9\x54\xfa\x04\xdb\x8b\xf2\x3f\x32\xc2\x7d\xe0\x72\xea\xb8\xd7\x07\xda\x68\xc5\x06\x05\x3b\x8f\xe2\x49\x8f\xed\xb1\xa1\x35\x28\x59\xdf\xc2\x41\x52\x37\x3c\xba\xdf\xbb\xcb\xfe\xa6\xcf\xdb\xb7\x09\xeb\x21\x4e\x92\xb9\x0a\x77\x3d\x3e\x42\x83\x4a\x8a\x78\xb5\xe9\x9d\x54\x9a\xa1\x9c\xaa\x03\x77\x46\x0f\xd4\xdb\xcf\x15\x81\x18\xab\x5a\x25\x67\x36\x59\x06\x5f\x9d\x1f\x15\x0d\x9e\xb8\xe0\xc1\x14\xcf\xeb\xa1\x0d\x5d\xcc\xa0\xd5\x3f\x16\x70\x50\x66\x3e\xc7\x52\x5d\xa4\x97\x5c\x85\xfb\x31\x31\x9d\xcf\x94\x64\xd3\x92\xf8\x8a\xc7\x71\xc0\xd5\x5d\xb3\xea\xa9\x19\xa3\x7e\x20\x57\x41\x58\xc8\x6c\x53\x91\x78\x07\x59\xf4\xa5\x4f\x39\x3e\x2f\xfa\x90\x96\xed\x9c\x82\xd6\x92\xe1\x10\xf8\x2a\xb1\x54\x38\x84\x38\xb9\x0d\x52\xf6\x64\x2d\x96\xb4\x86\xd5\x6b\xcf\x1a\x72\x4d\xb6\x77\xa7\xc2\x03\x01\x42\xa7\xcd\xbb\x54\x25\x14\x23\xf5\x51\xfa\x85\x0a\x57\xd1\x32\x33\xe7\x19\x82\xa1\x82\x0c\x29\x41\xe3\x20\x8e\x2a\x5b\x7f\x2c\x42\x87\xc2\x79\x39\xfb\x62\x59\x1b\x2c\x29\xdd\xf5\xed\x7f\xf7\x57\x53\xb4\xe0\x90\xeb\x93\xf5\xc5\xbd\x99\xbe\x0e\x28\x7f\xba\xb6\xd8\xca\x43\x2d\x21\x49\xaf\xfe\xa9\x8b\x4f\xc3\x1f\x7d\x90\x68\x99\xfc\x49\xcd\x32\x78\xca\xf3\xa1\xf5\xcf\x9e\x4f\x52\x79\x1b\xab\xb5\xce\x0d\xcc\xf3\xef\xd4\xf5\xe3\x06\x7b\xe2\x4a\x5f\xd5\x2e\xf5\xc2\x7f\x0e\xdb\x31\xd4\x43\x78\x4b\xed\x6a\x13\x85\xcd\xc3\xe7\xb5\xf0\x6f\xb0\x5a\x7a\xa4\x87\x38\xf9\xbd\x23\x4e\x51\x74\x8a\x7e\x05\x00\x00\xff\xff\x81\x27\xa5\x64\xdc\x06\x00\x00"
 
 func switchboardAdd_vault_wrapper_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -622,11 +622,11 @@ func switchboardAdd_vault_wrapper_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_wrapper_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1e, 0xc1, 0x57, 0x2e, 0xd5, 0xba, 0xb1, 0xad, 0xf, 0x5f, 0xd7, 0xb1, 0x2, 0x3e, 0x71, 0x3b, 0xd7, 0x74, 0x90, 0x89, 0x6a, 0xf1, 0xe1, 0x79, 0xfd, 0xa5, 0x22, 0xf4, 0x33, 0xec, 0x30, 0x80}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x70, 0xc8, 0xf7, 0x96, 0x40, 0x2a, 0x3f, 0xc3, 0x4, 0xe6, 0xff, 0x36, 0xa5, 0xbe, 0x6a, 0x17, 0xb5, 0x9b, 0xf8, 0xb5, 0x4d, 0x8d, 0xd5, 0x53, 0xaf, 0xe0, 0xbb, 0x3f, 0xe2, 0x21, 0x5a, 0xc7}}
 	return a, nil
 }
 
-var _switchboardBatch_add_vault_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xc1\x6a\xeb\x3a\x10\xdd\xfb\x2b\x0e\x59\x14\x07\x8a\xb3\x0f\xaf\xaf\xa4\x8f\xf7\xde\xee\x52\xda\xd2\x4d\x29\x74\x2c\x8d\x63\x71\x1d\xc9\x48\xe3\xa4\xe1\xd2\x7f\xbf\xc8\x72\x5c\xa5\x34\x70\xb5\x08\x8a\x46\xa3\x39\x73\xce\x19\x9b\x5d\xef\xbc\xe0\xbf\xc1\x6e\x4d\xdd\xf1\x93\xfb\xc9\xf6\xf1\x60\x44\xb5\xb5\x23\xaf\xd1\x78\xb7\xc3\xe2\x52\x78\x51\x4c\xf9\xff\xbe\xd3\xae\x9f\xe2\x53\x4e\x7e\xb4\x28\x8a\xd5\x6a\x85\xa7\xd6\x04\x88\x27\x1b\x48\x89\x71\x16\x26\x80\x20\xbc\xeb\x3b\x12\x46\xe3\x7c\xfc\x9b\xc5\xa5\x25\x81\x72\x43\xa7\x51\x33\x86\xc0\x1a\xf5\x11\x64\x8f\xce\x32\xc4\x81\xb4\x46\xe0\x3d\x7b\xea\x60\xf9\x80\x66\xc2\x09\x89\x55\xc7\x9a\x7b\x1a\x3a\x09\xd7\xa8\xb9\x73\x76\x6b\xec\x76\xcc\x83\x62\x2f\x64\x2c\xde\x36\x5a\x7b\x0e\xe1\x2d\x1e\x4b\xcb\xc6\x23\x64\xed\x7b\x0e\x6e\xf0\x8a\xab\xf8\x56\x91\x43\x2b\x29\x25\xae\x31\xbd\xb0\xc4\xaf\xa2\x00\x80\x8e\x05\x9c\x35\xff\x1c\x11\xdc\x93\xb4\x6b\xdc\x0f\x75\x67\x54\xdc\xcf\x37\xf7\xa7\x68\x58\xe3\xe5\x33\xfe\x3a\x5f\xc8\xe0\x3c\x70\xb3\x06\xae\x2e\xa9\x51\x65\xfb\x04\xa5\xf7\xdc\x93\xe7\x32\x98\xad\x65\xbf\x06\x0d\xd2\x96\x77\xce\x7b\x77\x78\xa6\x6e\xe0\x25\xae\x36\x4a\xb9\xc1\xca\x8c\x3e\xae\xd5\x0a\xff\xb3\x44\x3a\x4e\x8d\x24\x42\x13\x58\xf4\x24\x6d\x12\x39\xde\x50\xce\x8a\x27\x25\x73\x76\xe0\xae\xa9\xbe\x25\x00\x37\x67\x46\xa9\x1e\x58\xb1\xd9\xb3\xff\x42\x0b\x90\x23\xd9\x58\x8d\x20\xce\x33\x8c\xc0\xd8\xb1\x26\x79\x4f\x47\xb8\x06\xfd\x98\x39\x22\x0a\xc9\x2d\x07\xd3\x75\xd1\x2c\x3d\x85\x68\x97\xa4\x6a\xfe\x5e\x2e\xef\x8e\xa5\x75\xfa\x1c\xf9\xa7\x20\xb8\xc1\xcb\xeb\xa5\x60\x45\x7d\xcf\x56\x97\x97\xbb\x5d\x7e\xd3\x4c\xa4\x95\xe0\xb9\x61\xcf\x56\xf1\x04\x0f\x49\x9f\x90\x63\x3b\xaf\x7b\x6e\x02\xdc\x4c\x19\x55\x24\x86\xb6\x5c\xd5\xa3\xa6\x7f\xfd\x91\x35\xfe\x2e\xe7\xb7\x4f\x2b\x8a\xb9\xbe\xf8\x11\xa8\x1e\x53\x95\x4c\xa0\xb4\x96\xb8\xbd\x45\x4f\xd6\xa8\x72\xf1\xcf\x38\xa5\xd6\x09\x12\x96\xf3\x26\x33\xfc\x8b\xc4\xcb\xf8\xf3\x91\x3c\xc7\xef\xac\x06\xe1\x2f\x16\xdc\x68\x9d\x0c\x46\x3d\xd5\xa6\x33\x72\x9c\xe9\xca\x24\x1c\x42\x9c\x69\xd2\xfa\x07\x1f\x46\xea\xbf\x15\xf5\x9c\xbf\x2a\xbb\x1e\xee\x8e\xa3\x35\xcb\x3e\xcd\xe0\x17\x99\xaf\x31\xcf\xf9\xb4\x59\x16\x27\xe8\x1f\xc5\xef\x00\x00\x00\xff\xff\x91\x8e\x8e\x74\x3e\x05\x00\x00"
+var _switchboardBatch_add_vault_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6b\xeb\x38\x14\xdd\xfb\x57\x1c\xb2\x78\x38\x50\x9c\x7d\x78\x69\x69\x3b\xd3\x59\xcd\x50\xa6\x21\x9b\x52\xe8\xb5\x7d\x13\x8b\x51\x24\x23\x5d\x27\x0d\x43\xff\xfb\x20\xcb\x71\xe4\x21\x81\xa7\x85\x91\x7d\xbf\x8e\xce\x39\x96\xda\xb7\xd6\x09\x5e\x3a\xb3\x53\xa5\xe6\xb5\xfd\x87\xcd\xdb\x51\x49\xd5\x94\x96\x5c\x8d\xad\xb3\x7b\xcc\x6e\x85\x67\xd9\x50\xff\xfb\x17\xed\xdb\x21\x3e\xd4\xa4\x9f\xc6\xbc\x49\xa3\x3f\x59\xa8\x26\xa1\x8d\xe2\xa3\xbf\x36\x69\x92\x30\xcb\xb2\xc5\x62\x81\x75\xa3\x3c\xc4\x91\xf1\x54\x89\xb2\x06\xca\x83\x20\xbc\x6f\x35\x09\x63\x6b\x5d\x78\x4d\xe2\xd2\x90\xa0\xb2\x9d\xae\x51\x32\x3a\xcf\x35\xca\x13\xc8\x9c\xac\x61\x88\x05\xd5\x35\x3c\x1f\xd8\x91\x86\xe1\x23\xb6\x03\x02\x48\x80\xd0\xcf\x3c\x50\xa7\xc5\xdf\xa1\x64\x6d\xcd\x4e\x99\x5d\x5f\x87\x8a\x9d\x90\x32\xf8\x7c\xac\x6b\xc7\xde\x7f\x86\xcf\xd2\xb0\x72\xf0\x09\x85\x8e\xbd\xed\x5c\xc5\x45\xe8\x95\xa5\xd0\x72\x8a\x85\x4b\x0c\x1d\xe6\xf8\x37\xcb\x00\x40\xb3\x80\x13\x02\x37\x01\xc1\x2b\x49\xb3\xc4\x6b\x57\x6a\x55\x85\xfd\x98\x79\x38\x47\xfd\x12\xef\x97\xf8\xc7\x98\x90\xc0\xf9\x9b\xb7\x4b\xe0\xc7\x2d\x45\x8b\x64\x1f\xa1\xb4\x8e\x5b\x72\x9c\x7b\xb5\x33\xec\x96\xa0\x4e\x9a\xfc\xc9\x3a\x67\x8f\x1b\xd2\x1d\xcf\xf1\xe3\xb1\xaa\x6c\x67\x64\x44\x3f\xc1\xf5\x1b\x09\x61\x35\x71\x48\x11\x28\xd1\x07\x7e\xb6\x46\x1c\x55\x12\xf4\xcd\xcf\x34\xad\x4f\x2d\x2f\x61\x94\xbe\xc3\x41\xf1\x31\xbe\x86\xe7\xcf\xdb\xde\x28\x5e\xd6\x9b\xf3\xac\xfb\x7c\x3e\x1f\x51\x84\xf5\xf0\x80\x96\x8c\xaa\xf2\xd9\x73\xef\x02\x63\x05\xbb\x33\x3a\x84\x1e\xfd\xa0\xde\x3a\xd2\x30\xaa\x01\xd5\x6c\x7e\x39\xcd\x62\x81\x3f\x58\xfa\xf0\x20\x4b\xb4\xc7\xd0\xa4\x25\x69\xa2\x81\xd3\x06\x63\xb5\x67\xbd\x2d\xae\xca\x89\xd5\x85\xa4\xc2\x71\xc5\xea\xc0\x6e\xd4\x16\x48\x01\x3c\x9a\x1a\x5e\xac\x63\x28\x81\x32\xfd\x28\x72\x8e\x4e\xb0\x5b\xb4\xbd\xea\x3d\x10\x1f\x2d\x7f\x54\x5a\x07\xc7\xb7\xe4\x83\xe7\xa3\x35\xd3\x7e\xa9\x47\xf7\x2c\x8d\xad\xa7\x80\x2f\xae\xc2\x0a\xef\x1f\xb7\x82\x05\xb5\x2d\x9b\x3a\xbf\x7d\xc8\xf9\x95\xc3\x04\x36\x09\x8e\xb7\xec\xd8\x54\x3c\xc0\x43\x34\x99\x4f\xb1\x4d\xe7\x4e\x9d\x8c\xd5\x50\x51\x04\x62\x68\xc7\x45\xd9\x1b\xf3\xe7\x2f\xf9\xfb\x3e\x9f\xf8\x24\xac\xa0\xe1\xf2\xe6\x6d\x58\xbc\xc5\x29\x89\x40\x71\xcd\xaf\x9a\x2c\x62\x99\x1e\x32\xc1\x3f\x8b\xbc\xf4\x8f\xef\x68\x35\xfe\xe2\xaa\x13\x4e\xff\xa3\x20\x7c\x5d\x47\x5f\x51\x4b\xa5\xd2\x4a\x4e\x23\x5d\x89\x84\x9d\x0f\x17\x13\xd5\xf5\x5f\x7c\xec\xa9\xbf\x2a\xea\x94\xbf\x22\x49\xf7\x4f\xa7\xde\x91\x79\x1b\x2f\x92\xff\xc9\x7c\x87\xf1\xb2\x1a\x36\xc3\xef\xf1\x9d\x65\xdf\xd9\x7f\x01\x00\x00\xff\xff\x53\xe7\x9d\xf9\x47\x06\x00\x00"
 
 func switchboardBatch_add_vault_capabilitiesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -642,11 +642,11 @@ func switchboardBatch_add_vault_capabilitiesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/batch_add_vault_capabilities.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x55, 0xd4, 0x30, 0x3e, 0x91, 0xe, 0xf1, 0x69, 0x71, 0x33, 0xbd, 0xbb, 0x17, 0xd2, 0xee, 0x5a, 0x11, 0xf5, 0x28, 0xb, 0x4f, 0x4d, 0x99, 0x74, 0x5d, 0xf6, 0xa1, 0x5e, 0xb2, 0x46, 0x8e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xa4, 0x10, 0x87, 0xdc, 0x1b, 0x72, 0x21, 0x22, 0xfd, 0xb, 0x25, 0x8a, 0xbe, 0x55, 0xe6, 0xf2, 0x94, 0x6d, 0x7, 0xc6, 0x7c, 0x1a, 0xe8, 0xfe, 0xd9, 0x58, 0xa7, 0x70, 0x9f, 0x6e, 0x65}}
 	return a, nil
 }
 
-var _switchboardBatch_add_vault_wrapper_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\xcd\x4e\xdb\x40\x10\xbe\xfb\x29\x3e\xe5\x00\x8e\x84\x9c\x7b\xc4\x4f\xa1\x6a\x7b\xab\x10\x20\x7a\x40\x48\x19\xdb\xe3\x78\x55\x67\x77\xb5\x3b\x26\x58\x15\xef\x5e\xed\xda\x18\x9b\x12\x89\xfa\x90\xd8\x9e\x99\x9d\xef\x67\x3c\x6a\x67\x8d\x13\x7c\x6f\xf5\x56\xe5\x0d\xdf\x99\xdf\xac\x6f\xf7\x4a\x8a\x3a\x37\xe4\x4a\x54\xce\xec\xb0\x38\x14\x5e\x24\x43\xfd\xb7\x67\xda\xd9\x21\x3e\xd4\x4c\x5f\x2d\x92\x64\xb5\x5a\xe1\xae\x56\x1e\xe2\x48\x7b\x2a\x44\x19\x0d\xe5\x41\x10\xde\xd9\x86\x84\x51\x19\x17\x1e\x27\x71\xa9\x49\x50\x98\xb6\x29\x91\x33\x5a\xcf\x25\xf2\x0e\xa4\x3b\xa3\x19\x62\x40\x65\x09\xcf\x4f\xec\xa8\x41\x41\x96\x72\xd5\x28\x51\xec\xfb\x42\x6b\x94\x96\xd8\x58\x0c\xaa\x81\x02\x24\x62\x7c\xa2\xb6\x11\x0f\x53\x81\x50\xaa\xaa\x62\xc7\x5a\xb0\xb9\xeb\x2c\x6f\x40\x3a\xf4\x6b\x8c\xde\xc6\x26\x28\xd8\x09\x29\x8d\xcd\x65\x59\x3a\xf6\x7e\x73\x12\xde\x4b\xcd\xca\xc1\x4f\xc4\x72\xec\x4d\xeb\x0a\xce\x42\xd3\x64\x4a\x24\xa5\xbe\x72\x8d\xe1\x88\x25\xfe\x24\x09\x00\x34\x2c\x3d\x98\x6b\x92\xda\xaf\xf1\x70\xdd\xe6\x8d\x2a\xc2\xd3\xe3\x3c\x21\x60\x0b\x09\xe1\xff\x2d\x34\xe9\x7f\xc3\xd5\x1a\x38\x3a\x64\x56\x36\xb9\xef\x7b\x5b\xc7\x96\x1c\xa7\x5e\x6d\x35\xbb\x35\xa8\x95\x3a\xbd\x32\xce\x99\xfd\x3d\x35\x2d\x2f\x71\x74\x59\x14\xa6\xd5\x32\xc2\x0d\xd7\x6a\x85\x5b\x31\x8e\x83\x02\xaf\xce\xa3\xb7\xde\x71\xc1\xea\x89\xdd\xb1\x87\x8d\x3c\x60\x49\x6a\x28\x1d\x73\xc9\x39\xea\x82\xe6\x43\x6c\x7a\x62\xc8\x1b\x7c\xdb\xab\xa6\x09\x7e\x5b\xf2\xc1\xf1\x5e\xea\x99\xd0\x3b\x96\xda\x94\x63\xb9\xe7\xa6\xca\xde\x44\xc4\x19\x1e\x1e\x0f\x05\x33\xb2\x96\x75\x99\x4e\xc7\x33\xbb\x19\x60\xbf\x69\xbf\xfc\x0c\xdd\x63\x0f\xe9\x2c\xff\x43\x2f\xbc\xfc\x98\xcb\xf4\xd0\xff\xe1\x15\xbd\x3f\xc4\x2b\x06\x5f\x79\x85\x87\xd3\x2f\x33\x76\xf7\x21\xe9\x3c\x5d\x2e\x87\xda\x29\x88\x1f\x2c\x20\x38\x8e\x1f\x40\xc1\x23\xa8\x38\x11\x7e\x0a\x6e\xde\x78\x3e\x76\x38\x1b\x2a\x32\x2f\xc6\xd1\x96\xb3\x3c\x4e\xd1\xe9\xa7\x86\xf1\x3c\x1d\xcf\x7e\xbd\xc2\x0a\x59\x1f\xdc\x4a\xd9\x6d\xdf\x25\x18\x35\x2b\x5d\xe2\xe2\x02\x96\xb4\x2a\xd2\xc5\xd7\xb8\x36\xb4\x11\xf4\x58\xe6\x24\x27\xf8\x17\xbd\x2e\xf1\xe7\xa5\xb7\x9d\x9f\xb9\x68\x85\xdf\x0d\xfd\x65\x59\x46\x71\xc6\x4d\xd3\xa5\x8a\xfd\xf2\x23\x23\x5b\xaf\xf4\x36\xac\xa7\x9f\xbc\x8f\xf2\xff\x72\xc1\x1f\xe7\xaf\xba\x19\xe8\x0f\xb4\xcc\x0e\x56\xcd\x65\xb2\xfd\xbe\x78\x37\xde\x27\x98\x25\x49\xbf\x33\xde\xcd\xca\xc9\x2c\x67\x5c\x4d\xc3\xcd\x18\x1c\xbe\x81\x97\x24\x79\xf9\x1b\x00\x00\xff\xff\xa7\x8d\x25\x9d\x27\x06\x00\x00"
+var _switchboardBatch_add_vault_wrapper_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4f\x6f\xdb\x3e\x0c\xbd\xfb\x53\x10\x39\xb4\x0e\x10\x38\xf7\xa0\x7f\x7e\x6d\x7f\xeb\x4e\x1b\x8a\x35\xe8\x0e\x45\x81\x30\x32\x1d\x0b\x53\x24\x41\xa2\x93\x06\x43\xbf\xfb\x20\xd9\x71\xad\x2e\x06\xba\x1c\x1c\x5b\x24\xc5\xf7\xc8\x47\xca\xad\x35\x8e\xe1\xbe\xd1\x1b\xb9\x56\xb4\x34\xbf\x48\x3f\xee\x25\x8b\x7a\x6d\xd0\x95\x50\x39\xb3\x85\xc9\x98\x79\x92\x75\xf1\x5f\x5e\x71\x6b\x3b\x7b\x17\x33\x3c\xea\xfd\x92\x8b\xbe\x11\x63\x89\x8c\x4f\x92\xf6\xfe\x54\xa6\xc4\x61\x92\x65\xf3\xf9\x1c\x96\xb5\xf4\xc0\x0e\xb5\x47\xc1\xd2\x68\x90\x1e\x10\x98\xb6\x56\x21\x13\x54\xc6\x85\xcf\x81\x9d\x6b\x64\x10\xa6\x51\x25\xac\x09\x1a\x4f\x25\xac\x0f\x80\xfa\x60\x34\x01\x1b\xc0\xb2\x04\x4f\x3b\x72\xa8\x40\xa0\xc5\xb5\x54\x92\x25\xf9\x36\xd0\x1a\xa9\x39\x26\x66\x03\x55\x07\x0e\x38\xf2\xdc\x61\xa3\xd8\x83\xa9\x00\xa1\x94\x55\x45\x8e\x34\xc3\x6a\x79\xb0\xb4\x02\xd4\x21\x9f\x32\x7a\x13\x93\x80\x20\xc7\x28\x35\xac\x6e\xca\xd2\x91\xf7\xab\x59\x38\xe7\x9a\xa4\x03\x3f\x28\xb8\x23\x6f\x1a\x27\xa8\x08\x49\xb3\x21\x91\x1c\xdb\xc8\x05\x74\x57\x4c\xe1\x77\x96\x01\x00\x28\xe2\x16\xcc\x03\x72\xed\x17\xf0\xfc\xd0\xac\x95\x14\xe1\xeb\x25\x75\x08\xd8\x82\x43\xf8\x7f\x37\x0d\xf2\xff\xa0\x6a\x01\x70\x36\xd6\xf0\x62\xf0\xde\xe6\xb6\x8e\x2c\x3a\xca\xbd\xdc\x68\x72\x0b\xc0\x86\xeb\xfc\xd6\x38\x67\xf6\x4f\xa8\x1a\x9a\xc2\xd9\x8d\x10\xa6\xd1\xdc\xc3\x4d\x10\xfd\x8f\x8c\x70\x99\x08\xa8\x08\x35\x50\x3b\xba\x33\x9a\x1d\x0a\x0e\xed\xcf\x8f\x75\x09\xc8\x17\xa0\xa5\x9a\xc1\x4e\xd2\xbe\xfd\x0c\xcf\x8b\x71\xe9\x14\xf7\xcb\xa7\x63\xae\xab\x7c\x3a\xed\x51\x84\xdf\xf5\x35\x58\xd4\x52\xe4\x93\xbb\x28\x12\x6d\x18\x36\x47\x74\x10\xee\x88\x89\xa2\xb2\xb8\x26\x10\x1d\xaa\xc9\xf4\x9d\xcd\x7c\x0e\x8f\x6c\x1c\x45\x87\x8e\x0a\xb4\xc3\xe0\x48\x90\xdc\x91\x3b\xf7\x60\x63\x57\xc0\x22\xd7\x20\x75\xf4\x45\xe7\xf0\x10\x14\xd4\xd9\x86\x37\x06\xbf\x4e\x85\x7b\xa9\x54\x50\xaf\x45\x1f\xf4\xdb\x0a\x27\x91\xcd\x96\xb8\x36\x65\x1f\xee\x49\x55\xc5\xbb\x24\xe0\x12\x9e\x5f\xc6\x8c\x05\x5a\x4b\xba\xcc\xfb\x76\x14\x47\xcc\xc1\xfc\x29\x96\xe7\x1e\xf8\x60\xe9\x2f\x56\xe1\xf0\x34\x85\xe1\xa5\xff\x42\x27\x0a\x78\x8c\x4e\x34\x1e\xe9\x44\x4d\xfc\x97\xe8\x2a\x8a\x60\x20\x80\x21\x88\xaf\xc4\x80\xe0\x28\x4e\xb1\xa0\x1e\x54\x94\xb5\x1f\x82\x4b\x13\xa7\xb3\x03\x97\x5d\x44\xe1\xd9\x38\xdc\x50\xb1\x8e\xa3\x70\xf1\xa9\x89\xba\xca\x13\x65\x86\x5f\xd8\x8a\x8b\xd1\xf5\x5c\x3c\xb6\x59\x42\xa3\x92\xd0\xe9\x49\x59\xb7\x58\x52\x92\x03\xfc\x93\xb6\x2e\xf1\xf1\xd6\xb6\x9d\x5e\x49\x34\x4c\xc3\xc9\x9d\xcf\xc3\xfe\x69\x47\xe1\xb8\x2e\x0f\xb9\x24\x3f\x3d\xd5\xc8\xc6\x4b\xbd\x09\x3b\xf6\x3b\xed\x63\xf9\x7f\xba\xd0\x1f\xe7\x6f\x0f\x09\xe8\x13\xb5\x2c\x46\xa3\xd2\x32\xd9\x76\xe9\x7d\x50\xf5\x0c\x12\x27\x6e\x17\xdf\x07\xad\xcc\x12\x9f\x7e\xbf\x76\x2f\xbd\xb1\x9b\x81\xb7\x2c\x7b\xfb\x13\x00\x00\xff\xff\x7b\xb9\xab\xc6\x30\x07\x00\x00"
 
 func switchboardBatch_add_vault_wrapper_capabilitiesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -662,7 +662,7 @@ func switchboardBatch_add_vault_wrapper_capabilitiesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/batch_add_vault_wrapper_capabilities.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0xca, 0xc1, 0x6a, 0x84, 0xc2, 0xd7, 0xfe, 0xd7, 0xd1, 0x85, 0x60, 0xaa, 0xc, 0xaa, 0xda, 0x58, 0xc0, 0x46, 0x74, 0x7f, 0xd3, 0x27, 0x1c, 0x8d, 0x42, 0xe, 0x1c, 0x17, 0x7, 0x13, 0xa1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x86, 0xfc, 0x8e, 0x81, 0xcf, 0xed, 0xdb, 0x37, 0xa9, 0x8, 0x21, 0xc9, 0xf8, 0xe7, 0x1c, 0xd2, 0xed, 0xfc, 0xff, 0x5d, 0xe1, 0x49, 0x43, 0x91, 0xf9, 0xbe, 0xa4, 0x97, 0x4a, 0x11, 0x3f, 0x33}}
 	return a, nil
 }
 
@@ -686,7 +686,7 @@ func switchboardRemove_vault_capabilityCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardSafe_transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4f\x4f\xfc\x36\x10\x3d\x93\x4f\x31\xbf\x3d\xfc\x48\xa4\x6d\xb8\x54\x3d\xac\xf8\x23\x0a\xa5\x57\x04\x94\x9e\x9d\x78\x92\xb8\x64\x3d\x91\x3d\x21\xac\xd0\x7e\xf7\xca\x76\x92\x75\x58\x50\x51\xf7\x92\x75\x3c\x7f\xde\xbc\x79\x79\x6a\xdb\x91\x61\xb8\xeb\x75\xad\x8a\x16\x9f\xe8\x05\x35\x54\x86\xb6\xb0\x5a\xbc\x5b\x25\x9f\x45\x3e\x0e\x8a\xcb\xa6\x20\x61\xe4\x67\x49\xd1\xf5\x9c\xff\xc7\x9b\xd8\x76\xcb\x46\xf1\xab\x55\x92\x9c\x9d\xc1\x53\xa3\x2c\xb0\x11\xda\x8a\x92\x15\x69\x50\x16\x04\x30\x6e\xbb\x56\x30\x42\x45\xc6\x1d\xa3\x7b\x6e\x04\x43\x49\x7d\x2b\xa1\x40\xe8\x2d\x4a\x28\x76\x20\xf4\x8e\x34\x82\xab\xc8\x04\x16\xb5\x04\x76\x4d\xac\x3b\x0a\x4d\xdc\xa0\x01\x51\x96\xd4\x6b\x06\x6e\x0c\xf5\x75\x03\x02\x6c\x34\x55\x6f\x95\xae\x81\x1b\x04\x2b\x2a\xbc\xc5\x8e\xac\x62\x57\x70\x8b\xdc\x90\xcc\x03\xd4\x70\x80\x41\xb5\x2d\x68\x62\xe8\x84\x56\x25\xa8\x2a\x24\x46\xe5\x24\xa1\xf5\x11\x8d\x78\x45\x77\xeb\x4a\x95\xa2\x13\x85\x6a\x15\xef\x3c\x4c\x26\xe3\xaf\x40\xa2\x55\x06\x25\xdc\x3d\xad\xc1\x20\xf7\x46\x4f\x58\x64\xc0\x81\x12\x5e\x45\xdf\x32\x28\x6d\x19\x85\xcc\x03\x77\x08\x83\xe2\x46\x1a\x31\x80\xd8\xfa\xd9\x84\x9b\xbc\xc1\x79\x56\xcf\x7b\x8d\x7c\x3d\x9e\x87\x89\x39\x17\xd4\x09\x23\xb6\xc8\x68\xec\xc4\x9c\x7b\x1b\xb1\x9d\x27\xd1\x21\x65\xda\xc0\xb5\x94\x06\xad\x5d\x8f\xfd\x36\xf0\xd7\x9d\x7a\xfb\xed\xd7\x0c\xde\x93\x04\x00\x60\x84\x65\xb0\x42\x83\xba\xc4\xa9\x68\x40\xef\xd1\x84\xce\x3b\x34\xa7\x76\x82\xe9\x53\x5b\xe4\x10\xf6\x80\xd5\x06\x44\xcf\x4d\xba\xd0\x58\xfe\xf7\x38\xab\x28\x5a\xcc\xe0\x67\x2c\xa6\xfc\xd9\x25\x06\x08\x9d\xc1\x4e\x18\x4c\xad\xaa\x35\x9a\xb1\xd2\xef\x64\x0c\x0d\xcf\xa2\xed\x5d\xea\xc8\xc6\x8c\x7a\x44\xfe\x27\x32\x88\x63\xec\xa1\xd0\xa9\x0d\x0b\x1b\x37\x31\xe7\x59\x6c\xab\x7c\xc2\x0d\x17\x63\x74\xee\x62\x45\x8d\x79\xe1\x1b\x9f\xff\x9f\x71\x2e\x53\xc7\xd7\x06\x8e\x6f\x1e\x43\xf1\x7b\xc1\x4d\x96\x9c\x9c\x9c\x5c\x5d\x05\x21\xa6\xab\x1b\xbf\x5f\xa7\xbb\xd0\xf8\x78\x1a\x1a\xc2\x30\xbe\xd0\x8f\x55\x16\x18\xd8\x87\x07\xbe\x61\xd9\x33\x7e\xc2\x0b\xfb\xad\x96\xaa\x53\xa8\xf9\xd4\x42\xd7\x17\xad\x2a\x67\x9d\x51\xf1\x0f\x96\x07\x52\xdc\x2e\xe7\x68\xb8\x88\x14\x98\x32\x65\xc9\x22\xce\xa2\x66\x0f\x06\xce\x7f\x59\xb2\x99\x4f\xea\x4e\x27\xb5\x85\x67\xf6\x9d\xad\xc5\x60\x63\xf7\x7a\xc0\x12\xd5\x2b\x9a\x25\x86\x43\x40\xd8\xe2\x9c\x9d\xd7\xc8\x37\xf3\x67\x9b\x7e\xe5\x7a\xf9\xbd\xe7\x23\x6c\x04\xa2\xdf\x24\x80\x9f\x5f\x66\x46\xff\xdf\xbf\x13\x14\x3a\xed\x2f\xd3\xff\x5e\x7d\x98\x74\xc9\x4d\x34\xea\x8f\x55\xe6\x20\x2e\xd8\x1c\x8d\xcf\x53\x58\xf5\x5a\x5a\xf0\xa6\xbb\x30\xb7\xf5\x64\x78\xa3\x3b\x1d\xcc\xae\x24\xa7\x54\x0e\xf6\x12\x7b\x65\x70\xb5\x43\xd5\xb8\xe5\xe8\x69\x40\x55\x18\xe5\x45\xe9\x7a\x0d\x96\x60\xc0\xd1\x3d\xc9\xcd\x42\x6e\x14\x6e\xc8\x7e\x2c\xa1\x2a\xbf\x43\x4d\x7c\x3b\xb9\xe5\x41\x4f\x8b\xc5\xe6\x91\xb5\x8f\x1f\x97\xd7\xdc\x28\xc0\x2f\xf5\x96\xbd\x2f\x76\xba\x14\xa9\xfc\x50\xef\x08\xc7\x41\x10\xfb\x03\xd5\x12\x2d\x1b\xda\x85\x5a\x33\x82\xf9\x63\xdc\x27\xff\x06\x00\x00\xff\xff\x42\x29\x45\xe0\xb0\x07\x00\x00"
+var _switchboardSafe_transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x6f\xe3\x36\x10\x3d\xc7\xbf\x62\xd6\x87\x44\x02\x5c\xe5\x52\xf4\x60\x24\x59\x6c\x93\xa6\xa7\x02\x8b\xad\x9b\x9e\xc7\xe4\x48\x62\x57\x26\x05\x72\x64\xc5\x08\xf2\xdf\x0b\x92\xfa\xa0\x36\x0e\x9a\xe6\x10\x9b\xd2\x7c\xbc\x79\xef\x71\xac\x0e\xad\xb1\x0c\x8f\x9d\xae\xd4\xbe\xa1\x9d\xf9\x4e\x1a\x4a\x6b\x0e\xb0\x5e\x3c\x5b\xaf\xce\x45\xfe\xd9\x2b\x16\xf5\xde\xa0\x95\xe7\x92\x92\xd7\x53\xfe\x6f\xcf\x78\x68\x97\x8d\xd2\x47\xe7\xfb\xfc\x41\x8c\x12\x19\x9f\x14\xf5\xee\x5c\xa7\x45\xc0\x7a\xb5\xba\xbe\x86\x5d\xad\x1c\xb0\x45\xed\x50\xb0\x32\x1a\x94\x03\x04\xa6\x43\xdb\x20\x13\x94\xc6\xfa\x63\xf2\x9e\x6b\x64\x10\xa6\x6b\x24\xec\x09\x3a\x47\x12\xf6\x27\x40\x7d\x32\x9a\xc0\x57\x64\x03\x8e\xb4\x04\xf6\x1d\x9d\x3f\xa2\x36\x5c\x93\x05\x14\xc2\x74\x9a\x81\x6b\x6b\xba\xaa\x06\x04\x97\x30\xd3\x39\xa5\x2b\xe0\x9a\xc0\x61\x49\x0f\xd4\x1a\xa7\xd8\x17\x3c\x10\xd7\x46\x16\x11\x6a\x3c\x40\xaf\x9a\x06\xb4\x61\x68\x51\x2b\x01\xaa\x8c\x89\x49\x39\x69\xc8\x85\x88\x1a\x8f\xe4\xdf\xfa\x52\x02\x5b\xdc\xab\x46\xf1\x29\xc0\x64\x63\xc3\x2b\x90\xe4\x94\x25\x09\x8f\xbb\x0d\x58\xe2\xce\xea\x11\x8b\x8c\x38\x48\xc2\x11\xbb\x86\x41\x69\xc7\x84\xb2\x88\xdc\x11\xf4\x8a\x6b\x69\xb1\x07\x3c\x84\xd9\xd0\x4f\x5e\xd3\x34\x6b\x50\xa1\x22\xfe\x32\x9c\xfb\x91\x39\x1f\xd4\xa2\xc5\x03\x31\x59\x37\x32\xe7\x9f\x26\x6c\x17\xab\xe4\x90\xb1\xd9\xc2\x17\x29\x2d\x39\xb7\x19\xfa\x6d\xe1\xaf\x47\xf5\xfc\xcb\xcf\x39\xbc\xac\x56\x00\x00\x03\x2c\x4b\x25\x59\xd2\x82\xc6\xa2\x11\x7d\x40\x13\x3b\x9f\xc8\x5e\xb9\x11\x66\x48\x6d\x88\x63\xd8\x37\x2a\xb7\x80\x1d\xd7\xd9\xc2\x3d\xc5\xdf\xc3\xac\x39\x5c\xa6\x66\x2c\x9e\x7c\x52\x6c\xdf\x5a\x6a\xd1\x52\xe6\x54\xa5\xc9\x0e\x55\x7e\x35\xd6\x9a\xfe\x09\x9b\x8e\x72\xb8\x1c\x98\x98\x10\x2f\x5a\x3f\x20\x23\xdc\x2e\xec\x5f\x58\x72\xa6\x39\xd2\xbd\xd1\x6c\x51\xb0\x37\x6f\xe6\x9f\x75\x56\xd0\xee\xd4\xd2\x16\xb4\x6a\x36\x70\x54\xd4\xc7\xa3\xff\x7f\xf3\xbe\xf1\x8b\xc7\xdd\xd3\xd8\xeb\x2e\xcb\xf3\x09\x85\xff\xfb\xfc\x39\x5a\x2a\x5b\xdf\x07\xa5\xbc\x83\xaa\x11\x1d\xf8\x1a\xa1\x51\xb8\x18\x9e\x48\x31\xa0\x5a\xe7\xf3\x34\xd7\xd7\xf0\x3b\x31\xe0\x5b\x15\x22\x2d\x57\x2e\x5a\x6f\xf0\xd4\x94\xe7\xa8\x29\x8b\x51\x01\xb8\x1d\xa2\x0b\x1f\x8b\x15\x15\xfb\x40\xe3\xcd\xff\x15\xe6\x2e\xf3\xaa\x6f\x67\x7e\xc7\x82\x5f\x91\xeb\x7c\x75\x71\x71\x71\x6e\xe6\xd8\xec\xed\x04\xa6\x8f\x03\x84\xd2\x9f\xc6\xa9\x5f\xe3\x07\x3d\x93\xe8\x98\x52\x65\x07\x2e\x38\x78\x52\xa8\x56\x91\xe6\x2b\x07\x6d\xb7\x6f\x94\x98\x6e\x89\xd9\xff\x43\x82\x17\x76\x98\xa2\xe1\x36\xb9\x3f\x19\x9b\x7c\x69\x1b\x47\x9a\x03\x18\xb8\xf9\x69\xc9\x60\x31\xde\xcd\x6c\xbc\x2b\xf1\xf3\x43\x4a\xa5\x60\xd3\xfd\xfd\x8d\x04\xa9\x23\xd9\x25\x86\x39\x20\x2a\x37\x65\x17\x15\xf1\xfd\xb4\x74\xb2\xf7\xf6\x7e\xf1\x35\xf0\x11\x15\x49\xed\x38\x8a\x7e\xf9\x6e\x66\xf2\xfd\xe5\x23\x41\xb1\xd3\xeb\x5d\xf6\xdf\xd2\xc7\x49\x97\xdc\x24\xa3\x7e\x5a\xe7\x1e\xe2\x82\xcd\x61\x6d\x07\x0a\xcb\x4e\x4b\x07\xe1\x27\x63\xb1\x9a\x37\xe3\xba\x1e\x76\xeb\xbc\xaa\x85\xf1\xde\xe5\xb8\x1c\xd3\x4d\x1f\x77\xf2\x5c\x35\x6d\x39\x6c\x64\x30\x65\x1c\xe5\xbb\xd2\xd5\x06\x9c\x81\x9e\x86\xdd\x6f\xfc\x2c\xc6\x8f\xc2\xb5\x71\x3f\x96\x50\x65\xd0\x50\x1b\x7e\x18\x77\xfd\xec\xa7\x85\xb0\x45\xf2\xc3\x34\x5c\xaa\xe0\xb9\xc1\x80\xef\xfa\x2d\x7f\x59\x68\xba\x34\xa9\xfc\xa1\xde\x1b\x1c\xb3\x21\x5e\x67\xaa\x25\x39\xb6\xe6\x14\x6b\x4d\x08\xa6\xcb\xf8\xba\xfa\x37\x00\x00\xff\xff\xfe\x7e\x74\x01\xb2\x08\x00\x00"
 
 func switchboardSafe_transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -702,11 +702,11 @@ func switchboardSafe_transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x13, 0x4e, 0x4, 0xb5, 0xb1, 0x7c, 0xf2, 0x2d, 0xa8, 0xd3, 0x90, 0xde, 0x3f, 0x7a, 0x1f, 0xb7, 0x67, 0x47, 0xa0, 0xfd, 0xfa, 0xea, 0xc5, 0xb2, 0xd, 0x9f, 0x56, 0xf6, 0x2a, 0x79, 0x88, 0xb2}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0xee, 0x88, 0x3d, 0x6e, 0x49, 0xe2, 0x64, 0xb9, 0xd0, 0x9e, 0xb2, 0x9b, 0x79, 0x4d, 0xeb, 0x29, 0xd8, 0x5f, 0x11, 0x3c, 0xba, 0xb3, 0xd4, 0x76, 0xc4, 0x87, 0x6e, 0xe0, 0xec, 0xef, 0x54}}
 	return a, nil
 }
 
-var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\xcf\x4f\xf3\x38\x10\x3d\x93\xbf\x62\xe8\x01\x12\x69\x49\x2f\xab\x3d\x54\x05\x16\x56\xcb\x5e\x11\xb0\xec\xd9\x71\x26\xc9\x2c\xae\x1d\xd9\x13\xda\x08\xf5\x7f\xff\xe4\x38\x49\x13\x5a\x3e\xa1\x8f\x4b\x71\xec\xf7\xe6\xcd\x9b\x1f\xb4\xa9\x8d\x65\x78\x68\x74\x49\x99\xc2\x17\xf3\x86\x1a\x0a\x6b\x36\xb0\x98\x7d\x5b\x44\xa7\x5e\x3e\x6f\x89\x65\x95\x19\x61\xf3\x53\xa0\xc9\xf5\x88\xff\x7b\x27\x36\xf5\x3c\xd0\xf4\xd3\x22\x8a\x96\xcb\x25\xbc\x54\xe4\x80\xad\xd0\x4e\x48\x26\xa3\x81\x1c\x08\x60\xdc\xd4\x4a\x30\x42\x61\xac\x3f\x4e\xee\xb9\x12\x0c\xd2\x34\x2a\x87\x0c\xa1\x71\x98\x43\xd6\x82\xd0\xad\xd1\x08\x6c\xc0\xa1\xce\x81\x7d\x04\xe7\x8f\x42\x1b\xae\xd0\x82\x90\xd2\x34\x9a\xbb\x98\x5c\x59\xd3\x94\x15\x08\x70\x93\xb4\x1a\x47\xba\x04\xae\x10\x72\xac\x8d\x23\x86\x0d\x72\x65\x72\xc8\x1a\x86\x0c\x0b\x63\xc7\x1b\xff\x70\x8b\xb0\x25\xa5\x00\x77\xb5\x22\x49\xac\x5a\x90\x15\xca\x37\xd8\x56\xd8\x45\xb4\x28\x91\xde\x49\x97\x5d\x4c\x29\x6a\x91\x91\x22\x6e\x7d\x86\x99\xb1\xd6\x6c\x45\xa6\x10\x8c\x05\x6d\x18\x84\xce\x81\x0a\x68\xd1\x79\x09\x1a\x88\x03\xfd\xa0\xc5\xeb\x7a\x17\x8d\x62\x9f\x94\x3f\x04\x7a\xb4\x13\xe6\xd4\x47\x8a\x26\x66\xc5\x6c\x56\x70\x97\xe7\x16\x9d\xfb\x0d\xc4\xc6\x3b\xb0\x82\x7f\x1f\x68\xf7\xc7\xef\x09\x7c\x44\x11\x00\x40\x57\x04\xcf\x57\xa0\x45\x2d\x71\x08\x10\xa2\x75\x85\xf3\xc7\x5a\xb4\x68\x2f\xdd\x68\xa4\x87\x2a\xe4\xf0\xec\x09\x8b\x15\x88\x86\xab\x78\xd6\x16\xe9\x7f\xc4\x55\x6e\x45\x97\x69\x02\x17\xd3\xfa\xa7\xaf\x1e\x18\x24\xd4\x16\x6b\x61\x31\x76\x54\x6a\xb4\x3d\xd3\x7d\xe7\xd1\xab\x50\x8d\x87\xde\x85\xb0\xa3\xea\x5e\xf9\x3f\xc8\x20\x8e\xb5\x07\xa2\x4b\x07\x8e\x8d\xc5\x3c\x88\x1c\x71\x0e\x55\x91\x0e\xba\xe1\xba\x7f\x9d\xfa\xb7\xa2\xc4\x34\x14\x67\xfd\x2b\xe9\xdc\xc4\xde\xaf\x15\x1c\xdf\x3c\x07\xf2\x47\xc1\x55\x12\x9d\x9d\x9d\xdd\xde\x42\x2d\x34\xc9\x78\xf1\x57\xd7\xcb\xbe\x07\x42\xe0\xe3\x6c\xcc\x36\x24\xd3\x11\x9d\x2f\x92\xe0\xc0\x3e\xfc\xe0\x0e\x65\xc3\x78\xc2\x97\xbe\x4b\xa8\x26\xd4\x7c\xe9\xa0\x6e\x32\x45\x72\x28\x20\x98\xec\x7f\x94\x07\x53\x7c\x2d\xc7\xd7\x70\x0d\x25\x72\xef\x79\xcc\x26\x89\x66\xef\x1c\x6a\xee\xc4\xc0\xfa\x6a\xee\x66\xba\xed\x2d\x8a\x87\x6e\x0b\xbf\xc9\x77\xaa\x36\x15\x3b\xd9\x28\x8f\x9d\xee\xb9\x80\xc3\x6d\x28\xe1\x08\x4d\xc7\x71\x20\x74\x43\x29\x2f\x3e\xbe\xda\x56\xe9\x51\x9c\xfd\x4d\x3c\x86\x1a\xfe\xbe\x44\x07\x88\x2f\xea\x0c\x93\xc0\x4f\xcb\xdb\x0f\xee\x2c\xff\x49\x46\xe7\x8b\xc4\x93\xcc\x1c\x7b\x15\x8a\x72\xbf\x10\x0f\xa3\xef\x97\xd0\x64\xab\x64\x6d\xbf\xc1\x9c\x28\x30\xcc\xce\x7d\xfb\xd2\xd6\x38\xd2\x50\x31\x14\x39\xa0\xfb\xe6\x9f\x59\x99\x7e\x46\xc7\xdc\xd6\xb8\x02\xff\xef\xfa\xcf\x53\x0d\x9f\xf8\x91\x9c\x26\xff\x89\xb0\x5f\x60\xfd\x60\xac\xaf\xc6\xde\x49\x46\xd4\x1e\x50\x39\xfc\x44\xb3\x5c\xc2\x13\x72\x63\x35\x14\x8d\xce\xbb\x5d\x3e\x4e\xf5\xd0\xc2\x54\x1c\xdc\x24\xd7\x99\x2c\x8d\x2e\xa8\x6c\xfc\xd0\xb3\x19\x6e\x3b\xd7\x3a\x9a\xb9\xd2\x59\xe7\x7e\x47\xe8\x30\x78\xfb\xe8\x47\x00\x00\x00\xff\xff\xad\x3f\x42\x1f\x4f\x07\x00\x00"
+var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\xc1\x6e\xdb\x46\x10\x3d\x5b\x5f\x31\xd1\xc1\x26\x81\x84\xba\x14\x3d\x08\xb6\xd3\x24\xad\x7b\x2a\x10\xa4\xae\x7a\x1e\x2e\x87\xe2\x36\xab\x5d\x62\x77\x68\x5a\x08\xfc\xef\xc5\x70\x49\x8a\x6b\xcb\x80\xa3\x83\x85\xd5\xee\xcc\x9b\x79\xef\xcd\x58\x1f\x5a\xe7\x19\xee\x3a\xbb\xd7\xa5\xa1\x7b\xf7\x9d\x2c\xd4\xde\x1d\x60\x9d\xfc\xb6\x5e\x9d\x7b\xf9\x77\xaf\x59\x35\xa5\x43\x5f\x9d\x0b\x5a\x5c\xcf\xf1\x7f\x3c\xe2\xa1\x4d\x81\x96\x3f\x9d\xc7\xf9\x8b\x18\x2b\x64\xdc\x69\xea\xc3\x39\xa4\xe4\xc1\x7a\xb5\xda\x6c\x36\x70\xdf\xe8\x00\xec\xd1\x06\x54\xac\x9d\x05\x1d\x00\x81\xe9\xd0\x1a\x64\x82\xda\x79\x39\x2e\xee\xb9\x41\x06\xe5\x3a\x53\x41\x49\xd0\x05\xaa\xa0\x3c\x02\xda\xa3\xb3\x04\xec\x20\x90\xad\x80\x05\x2e\xc8\x11\xad\xe3\x86\x3c\xa0\x52\xae\xb3\x3c\x60\x72\xe3\x5d\xb7\x6f\x00\x21\x2c\xa8\xe9\x82\xb6\x7b\xe0\x86\xa0\xa2\xd6\x05\xcd\x70\x20\x6e\x5c\x05\x65\xc7\x50\x52\xed\xfc\x7c\x23\x0f\x7b\x82\x5e\x1b\x03\xf4\xd8\x1a\xad\x34\x9b\x23\xa8\x86\xd4\x77\xe8\x1b\x1a\x10\x3d\x29\xd2\x0f\xda\xee\x07\x4c\x85\x2d\x96\xda\x68\x3e\x4a\x87\xa5\xf3\xde\xf5\x58\x1a\x02\xe7\xc1\x3a\x06\xb4\x15\xe8\x1a\x8e\x14\xa4\x04\x0b\x9a\x63\xfa\xa9\x16\xa9\xeb\x01\x3b\xc3\xd2\x94\x1c\x62\x7a\xf2\x8b\xcc\x85\x20\xad\x16\x64\x65\xec\xb6\xf0\xa9\xaa\x3c\x85\xf0\x1e\xf0\x20\x0c\x6c\xe1\x9f\x3b\xfd\xf8\xeb\x2f\x39\xfc\x58\xad\x00\x00\x06\x11\x24\x5f\x4d\x9e\xac\xa2\x09\x20\xa2\x0d\x32\xca\xb1\xc5\x23\xf9\xab\x30\x13\x29\xa1\x86\x38\x3e\xfb\x46\xf5\x16\xb0\xe3\x26\x4b\x04\x2f\xfe\xd5\xdc\x54\x1e\xfb\x1c\x2e\x97\xfe\x29\x76\x12\x14\xe1\x5b\x4f\x2d\x7a\xca\x82\xde\x5b\xf2\x63\x96\xcf\x03\x3f\x3b\x34\x1d\xe5\x70\xf9\x29\x42\xce\x15\x27\xd0\xbf\x23\x23\xdc\x24\x8e\x2d\x3c\x05\x67\x1e\xe8\x8b\xb3\xec\x51\xb1\xf8\x2d\x93\xdf\x3a\xaf\xe8\xfe\xd8\xd2\x16\xac\x36\xef\xe1\x41\x53\x1f\x8f\xf2\xf7\xfa\x75\xaf\x16\x77\xf7\xbb\x09\xeb\x36\xcb\xf3\xb9\x0a\xf9\x7c\xfc\x08\x2d\x5a\xad\xb2\xf5\x97\xc1\x95\xa2\xe6\x7e\xaa\x0e\x24\xc7\x00\x34\x58\x59\x88\x54\x63\x55\xeb\xfc\xd4\xcd\x66\x03\x7f\x12\x03\xbe\x54\x21\xd2\x72\x15\x20\xb0\xf3\x54\xc5\xac\x73\x5c\x20\x53\x17\x93\x02\x70\x33\xbe\x2e\xe4\x2d\xee\xa9\x88\x36\xbb\xfe\x59\x61\x6e\x33\x51\x7d\x7b\xe2\x77\x4a\xf8\x15\xb9\xc9\x57\x17\x17\x17\xe7\x7a\x8e\x60\x2f\x3b\x70\x7d\x6c\x60\x48\xfd\x6e\xea\xfa\x29\x7e\xd1\x23\xa9\x8e\x69\xa9\xec\xc8\xc5\xe8\x71\xdd\x6a\xb2\x7c\x15\xa0\xed\x4a\xa3\xd5\x64\x3f\x70\xe5\x7f\xa4\x38\xb1\xc3\xfc\x1a\x6e\x44\x80\xd1\x35\x19\xbb\x3c\xb5\x4d\x20\xcb\x43\x31\x70\xfd\x21\x65\xb0\xe8\x47\x5a\xb2\x69\x56\xe2\xf7\x9b\x94\x5a\x16\xbb\xd8\xa9\x5f\x87\xba\xd3\x02\x4e\xb7\x51\xb6\x39\xb4\x98\x87\x59\x53\x98\xe4\xbb\xfc\xf1\xda\xbe\x2e\x5e\xe0\x3c\xdd\x66\x89\x39\xe5\xf3\x6a\x74\x0c\x11\x51\x93\x98\xfc\xac\xa5\x67\x79\xc7\xb5\x93\xf4\xbf\xe8\xe8\xdd\x3a\x97\x24\x09\x63\x3b\x34\xba\x92\x75\x7e\x5a\x5c\xb2\x42\x17\x3b\xb1\x3c\x8e\xfb\x37\x60\x4d\x71\xfa\x3f\x1f\x65\x2a\xe7\x34\xba\x9e\x44\x8e\xd1\xa3\xe1\x13\x2a\x8b\xe7\xd1\x19\x9f\xc6\xfb\xb7\x73\x46\xcf\x65\xa9\x2c\x9b\x7f\x96\x70\x5c\xbf\xe3\x40\x5c\x7f\x98\xbd\x73\xda\x01\x4f\x40\x26\xd0\xb3\x34\x9b\x0d\x7c\x23\xee\xbc\x85\xba\xb3\xd5\xf0\x9f\x68\x9e\xe4\xc9\xc2\xba\x3e\xb1\xa9\xc3\x40\xb2\x72\xb6\xd6\xfb\x4e\x06\x9d\xdd\x74\x3b\xb0\x36\xa4\x49\x2b\x4d\x9c\xfb\x96\x42\xa7\xc1\x7b\x5a\xfd\x1f\x00\x00\xff\xff\x3d\xfb\xb8\xeb\x51\x08\x00\x00"
 
 func switchboardSafe_transfer_tokens_v2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -722,7 +722,7 @@ func switchboardSafe_transfer_tokens_v2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens_v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9e, 0xc7, 0xc4, 0x34, 0x37, 0x71, 0xd6, 0x98, 0x12, 0xd8, 0xd7, 0xbe, 0xbd, 0xe4, 0xd1, 0x69, 0x80, 0x98, 0x6e, 0xd4, 0xba, 0xe8, 0xf0, 0x84, 0xd2, 0x76, 0x6c, 0x67, 0xc5, 0xdc, 0xd7, 0x84}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa5, 0x59, 0xbf, 0x63, 0xc2, 0xe7, 0x0, 0x50, 0x3d, 0x63, 0x1d, 0x22, 0xec, 0x4, 0x1b, 0x3a, 0xa2, 0x1d, 0x30, 0x44, 0xe1, 0x7b, 0x74, 0xd4, 0x67, 0xd9, 0x74, 0xb9, 0x81, 0x15, 0x30, 0x85}}
 	return a, nil
 }
 
@@ -746,7 +746,7 @@ func switchboardSetup_accountCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardSetup_royalty_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\x4c\x73\x48\x65\xc0\xb5\xee\x41\x92\x45\x9a\x36\x8b\x5e\x8a\xc5\x26\xdb\x9e\xc7\xd4\xc8\x22\x22\x93\x02\x39\x8a\xd7\x08\xfc\xdf\x0b\x52\x96\x4c\x79\x2d\xdb\x92\x8d\x66\x75\x49\x2c\x91\x8f\xf3\xf1\xde\x13\x45\xb9\x28\xb4\x61\x78\x2a\xd5\x5c\xce\x72\x7a\xd1\xaf\xa4\x20\x35\x7a\x01\x57\xad\x7b\x57\xa3\x7d\x23\x9f\x97\x92\x45\x36\xd3\x68\x92\x7d\x93\x82\xc7\xdb\xf9\xb9\x5e\xb6\x56\xa9\x7f\x6f\x47\x48\xe4\xd6\x88\xfa\xf7\xd5\x68\x34\x8a\x63\x78\xc9\xa4\x05\x36\xa8\x2c\x0a\x96\x5a\x81\xb4\x80\xc0\xb4\x28\x72\x64\x82\x54\x1b\xf7\x33\x78\xce\x19\x32\x08\x5d\xe6\x09\xcc\x08\x4a\x4b\x09\xcc\x56\xe0\xa0\x50\xad\xb4\x22\x48\xcb\x3c\x5f\x81\x25\x2e\x0b\x40\x05\x28\x84\x2e\x15\x7b\x24\x43\x82\xe4\x9b\x54\x73\x98\x69\xce\x7c\xf4\x80\x2a\x81\x6f\xcf\x7f\x3c\x02\xbb\xa8\x2c\x20\x03\x67\x04\x16\x17\xe4\x40\x8b\x72\x96\x4b\x01\x05\x72\x06\x91\xc3\x90\xca\x32\x2a\x41\x7e\x94\xd1\x2b\xcc\x59\x92\x85\xb8\x1a\x18\x7f\x26\x45\x46\x8a\xa7\x97\xaf\x7e\x2d\x32\x7e\xea\xd8\x41\x7d\xb3\x6e\x65\x37\x0d\x93\xe4\x6f\x5a\xfe\x83\x65\xce\xff\x1a\x2c\x0a\x32\xf6\xf7\xd5\x17\xb7\x84\x0d\x7a\xb0\x20\xce\x74\x02\x98\xe7\x7a\x69\xeb\xec\x58\xbb\x9c\x1d\x9c\xc0\x02\x67\x32\x97\xbc\x82\xe5\x06\x04\x6c\x29\x32\x40\x0b\xbe\xc2\x4f\xda\x2c\xd1\x24\xee\xbe\x0b\x9a\x30\x01\x9d\x56\xeb\x0b\x2e\x31\xaf\x32\x86\x37\x17\xc6\x74\x14\xd6\x38\x1a\xc3\xfb\x68\x04\x00\x90\x13\x43\x5a\x37\xd5\x07\xfc\xd8\x2c\x7b\x03\xdb\xff\x6f\xaf\xdf\x5b\x64\x99\xd6\xe9\xaf\xef\xb7\x38\x75\xeb\x87\xe1\x00\x40\x03\x15\x94\xe9\x2b\xa5\x37\x00\xd7\x5d\x54\x9d\x06\xff\x57\x29\x15\x86\x0a\x34\x14\xa1\x10\x7c\x03\x0f\x25\x67\x0f\x15\x45\x9a\xa4\xdd\x15\xc7\xf0\x98\x91\x78\x05\x59\x97\xac\xa2\x11\xe6\x86\x30\x59\x41\x86\x8e\xa7\x9e\x41\x3e\x9d\x66\xa2\x4c\xdd\x58\x9e\xce\xb4\x31\x7a\x79\x7b\xdd\x48\x62\xea\xc7\xdd\x47\x4e\x07\x37\x10\x5b\xd6\x06\xe7\x14\xb7\xab\x3b\x86\xbb\x3b\x50\x32\x87\xf7\x06\x70\x13\xcd\x5f\x29\x28\xcd\x13\x10\x86\x9c\x30\x10\x14\x2d\x83\xf5\xc1\x90\xd5\xa5\x11\xe4\x09\x5d\x94\x0c\x92\x41\x2a\xd6\xb0\x59\xa8\x85\xe7\x23\xb4\xf8\x46\xd1\xed\x6f\x5b\x11\x4f\x2b\xec\x3f\x17\x05\xaf\x3c\x68\x34\x9e\x00\xeb\xee\x60\x1b\xcc\x75\x67\xdd\x4c\x2d\x83\x80\xae\xd2\x42\x2e\xd5\x2b\x25\xe0\xf5\x4c\x9e\x61\xdb\x91\x4e\x30\x61\x39\x7f\xf1\xd1\xce\x89\x4f\xa2\x49\x54\x2b\xb1\x89\xb5\x7e\x36\x6e\x95\xe0\xcc\x6b\x2a\x5c\x96\x5e\x28\x3b\x8d\x92\x29\x48\xfe\xd5\xee\x74\x6b\xe3\x23\x41\x15\x58\x6f\x73\xf7\x1a\x04\xfa\x5e\x68\xef\x11\xbb\x90\x6e\x5c\x42\xee\x21\x43\x5a\xaa\xda\x08\x8d\x2e\xe7\x99\x7f\xd8\x55\x0d\xc7\x00\x32\x29\x8a\x3d\xed\x2f\x95\x6b\xc2\xa9\xe5\xf2\x53\xdc\x84\x41\xa5\x9f\xc0\xb0\xda\x33\x9a\x39\x71\x2f\x02\x5a\xca\xd3\x69\x97\x65\xc1\x1d\x5c\x8c\x4c\x3d\xad\xc2\xbf\x63\x8e\x58\x45\x6d\x90\x6d\xab\xd8\xb9\xfd\x5c\x95\xc2\xbd\x2e\x7a\xba\xc5\x36\x84\x73\xdc\xa2\x89\x66\x9f\x5b\x0c\x94\x98\x33\x99\x03\x69\x5e\xca\x67\x7c\x01\x2e\xe4\x33\x7d\x32\x8d\x76\x72\xab\x51\xbe\x94\x33\x9f\xdf\xc5\xcc\xc4\x27\xf8\x81\x66\x72\x24\xcf\xfe\x8e\x72\x18\x70\x10\xdf\x6a\x4f\xe9\xc7\xb7\xca\x56\x3a\x76\x30\xbd\x6d\xe5\xd4\x3a\xf5\xf4\x98\x70\x07\x5f\x2b\xbc\xdb\x6d\x4e\xd8\x31\x1d\x67\x79\xed\x51\x9d\x60\x83\xdd\x6a\x5f\x32\x03\xec\xaa\x2b\xb0\x6a\xad\xe0\x4e\x6f\xfb\xf2\xa6\x75\x4a\xde\x97\xb2\xaf\x3e\xce\xd5\x91\xc9\x69\x6d\x1f\x6a\x7a\x51\x27\x78\xc0\xf0\x5c\x8a\xcb\x9a\x5e\x48\x94\x8f\x71\xbd\x1e\x59\x77\x59\xe0\x59\x6d\x89\x4e\xe7\x6d\x8f\x58\x27\x27\xa3\x36\x96\x7a\x21\x35\x04\x53\xab\x70\xbc\xee\x53\xde\x23\x13\xf7\xed\x8d\x86\xb6\x4a\x19\xed\x34\x3d\xfc\xa2\x0e\x3e\xe6\x8f\xbd\xf8\x9b\xe7\x03\x3a\xd3\x31\xa8\x4a\x65\x02\x1d\x5d\x3c\xb5\xda\xf7\xc3\xf9\x76\xe6\xf5\xff\x2a\xd6\x1f\xd1\xfc\xa8\xcc\x83\xc5\x5d\x7b\xa2\xb8\x49\xbb\x68\xc7\xe5\x6d\xfb\xeb\xfb\xb8\xae\x5b\xb7\x7f\x3a\x2a\xd5\xd7\x01\x4a\x7d\x90\x1d\x7c\x26\x06\x04\x43\x29\x19\xf2\x87\x6d\x7a\x57\xcc\xed\x9d\x59\xfb\x40\xa8\xde\x8f\x5d\x76\xab\xd3\x5c\xbd\xf6\x3c\x47\x61\x3f\x7d\x82\x02\x95\x14\xd1\xd5\xa3\x3f\xd5\x54\x9a\xa1\x0a\xbc\x9d\x7f\x90\xe2\xd5\xe6\xeb\x73\x5d\xfd\xa1\xef\x24\x4a\xa6\x40\x96\x71\x0c\x0f\x49\x25\x84\x1f\xd5\x17\x3a\x62\xe9\xa5\x17\x9c\x47\x6e\x4e\x1d\x0f\x55\x77\x1a\x0c\x8f\x44\x70\x8c\x77\xf0\xd3\x7b\x7c\x06\x64\xc7\xb6\x7b\x5c\x17\x61\x3d\x82\xff\x02\x00\x00\xff\xff\xf8\xa1\x09\x9d\xfb\x16\x00\x00"
+var _switchboardSetup_royalty_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\xc1\x6e\xe3\x36\x10\xbd\xfb\x2b\x5e\x73\xd8\xca\x40\x6a\xdf\x83\x24\xdb\x34\x6d\x16\xbd\x14\x8b\x4d\xb6\x3d\xd3\xd2\xc8\x22\x22\x93\x02\x39\x8a\xd7\x08\xf2\xef\x05\x29\x4b\xa6\x9c\xc8\x96\x14\xa3\xa9\x0e\x89\x2d\x91\xc3\x79\x33\xef\x3d\x53\x94\xab\x42\x1b\xc6\x5d\xa9\x96\x72\x91\xd3\x83\x7e\x24\x85\xd4\xe8\x15\xce\x5a\xf7\xce\x26\x6f\x8d\xbc\x5f\x4b\x8e\xb3\x85\x16\x26\x79\x6b\x52\xf0\x78\x37\x3f\xd7\xeb\xd6\x2a\xf5\xf7\xdd\x08\x29\xb8\x35\xa2\xfe\x7e\x36\x99\x4c\xe6\x73\x3c\x64\xd2\x82\x8d\x50\x56\xc4\x2c\xb5\x82\xb4\x10\x60\x5a\x15\xb9\x60\x42\xaa\x8d\xfb\x1a\x3c\xe7\x4c\x30\x62\x5d\xe6\x09\x16\x84\xd2\x52\x82\xc5\x06\x2e\x94\x50\x1b\xad\x08\x69\x99\xe7\x1b\x58\xe2\xb2\x80\x50\x10\x71\xac\x4b\xc5\x3e\x92\xa1\x98\xe4\x93\x54\x4b\x2c\x34\x67\x3e\x7b\x08\x95\xe0\xfb\xfd\xef\xb7\x60\x97\x95\x85\x60\x70\x46\xb0\x62\x45\x2e\x68\x51\x2e\x72\x19\xa3\x10\x9c\x21\x72\x31\xa4\xb2\x2c\x54\x4c\x7e\x94\xd1\x1b\x91\xb3\x24\x8b\x79\x35\x70\xfe\x85\x14\x19\x19\xdf\x3d\x7c\xf3\x6b\x91\xf1\x53\xa7\x2e\xd4\x77\xeb\x56\x76\xd3\x44\x92\xfc\x45\xeb\xbf\x45\x99\xf3\x3f\x46\x14\x05\x19\xfb\xdb\xe6\xab\x5b\xc2\x06\x3d\x58\x11\x67\x3a\x81\xc8\x73\xbd\xb6\x35\x3a\xd6\x0e\xb3\x0b\x17\x8b\x42\x2c\x64\x2e\x79\x83\xf5\x36\x08\x6c\x19\x67\x10\x16\xbe\xc2\x77\xda\xac\x85\x49\xdc\x7d\x97\x34\x89\x04\x3a\xad\xd6\x8f\xb9\x14\x79\x85\x18\x4f\x2e\x8d\xd9\x24\xac\x71\x34\xc5\xf3\x64\x02\x00\x39\x31\xd2\xba\xa9\x3e\xe1\xdb\x66\xd9\x0b\xec\x3e\x5f\x7e\x7a\x6e\x91\x65\x56\xc3\x7f\xb9\xde\xc5\xa9\x5b\x3f\x2e\x0e\x80\x26\x54\x50\xa6\x6f\x94\x5e\x00\x9f\xba\xa8\x3a\x0b\x3e\x57\x90\x0a\x43\x85\x30\x14\x59\xb9\x54\x64\x2e\x70\x53\x72\x76\x53\x91\xa4\x81\xed\xae\xf9\x1c\xb7\x19\xc5\x8f\x90\x75\xd1\x2a\x22\x89\xdc\x90\x48\x36\xc8\x84\x63\xaa\xe7\x90\x07\xd4\x4c\x94\x29\xaa\xd8\xb3\x85\x36\x46\xaf\x2f\x3f\x35\xb2\x98\xf9\x91\xd7\x91\xd3\xc2\x05\xe6\x96\xb5\x11\x4b\x9a\xb7\x2b\x3c\xc5\xd5\x15\x94\xcc\xf1\xdc\x84\xdc\xe6\xf3\x67\x0a\xa5\xf9\x1c\xb1\x21\x27\x0e\x01\x45\xeb\x20\x03\x18\xb2\xba\x34\x31\x79\x52\x17\x25\x43\x32\xa4\x62\x8d\xed\x42\xad\x78\xdb\x1c\xad\x78\xa2\xe8\xf2\x97\x9d\x94\x67\x55\xf4\x3f\x56\x05\x6f\x7c\xd8\xc8\x33\xe4\x61\x53\xd0\x05\xdc\xdf\xcb\x5f\x5f\xe1\x99\x4e\xcf\xc1\xba\x1b\x51\xb3\xf0\x4b\x67\x79\x4d\xad\x97\x80\xd7\xd2\x22\x97\xea\x91\x12\x78\xe1\x93\xa7\xe2\x6e\xa4\x53\x56\x58\xf5\x9f\xb6\x90\x96\xc4\xbd\x18\x15\xd5\xa2\x6d\xb2\xad\x9f\x4d\x5b\x95\x7a\xe7\x35\x8b\x1d\x4e\xaf\xa9\xbd\x7e\xca\x14\x92\x7f\xb6\x7b\x4d\xdd\x5a\x4e\x50\x07\xd6\x3b\xf4\xbe\x19\xa0\x1f\x85\xf6\x76\xb2\x1f\xd2\x8d\x4b\xc8\x3d\x64\xa4\xa5\xaa\x3d\xd3\xe8\x72\x99\xf9\x87\x5d\xd5\x70\x44\x21\x93\x8a\xf8\x4d\x96\x94\xca\x35\xa2\x6f\xc1\xb6\x93\xdc\x94\x51\xe5\x3f\xc7\xb8\xfa\xb3\x30\x4b\xe2\x41\x34\xb4\x94\xa7\xb3\x2e\x87\xc3\x15\x4e\x48\xa9\x81\xce\xe2\x7f\x94\x8e\x3a\x4b\xed\xa9\x6d\x67\xd9\xbb\x7d\x5f\x95\xc3\xfd\xc2\x0c\x34\x97\x5d\x12\xef\x33\x97\x26\x9f\x1e\xe6\xb2\x0f\xc9\x99\xcb\x48\x3d\x3a\x4f\x3a\x50\x8b\x53\xd9\x92\xaf\xd2\xc9\x6c\x69\x08\xd6\x68\x0f\x5d\x1d\xe5\x6b\xb9\xf0\x08\x4f\xe6\x3d\x1e\xe2\x87\x7a\xcf\x11\xa4\x63\x0c\xe8\x70\xc8\x51\xac\xab\x2d\x68\x18\xeb\x2a\x17\xea\xd8\x1f\x8d\x70\xa1\xbe\xb5\x1a\x68\x49\xe1\x1b\x42\x6d\x07\x87\xcc\xa9\xc7\x9e\xec\x38\xdb\x6b\x4b\xeb\x0c\x36\xda\xdc\xde\x82\x33\xca\xdd\xba\x52\xab\x56\x0b\xee\x44\x43\xad\xcc\x1b\x58\x1f\xe4\xa7\xb2\xb2\x61\x2e\xd6\x81\xa5\x5f\xeb\xc7\x1a\x60\xd4\x19\x3c\xe0\x79\x2e\xe3\xd3\x1a\x60\x48\x96\x8f\x72\xc0\x01\xb8\xbb\xed\xf0\x5d\xad\x89\xfa\xb3\x77\x40\xb6\xe7\xbd\xa3\x36\xf6\x7a\x22\x4d\x04\x53\xab\x74\xbc\xfe\x53\x7e\x43\x2c\xee\x2d\x5f\x18\xda\xe9\x65\xb2\xd7\xf8\xf0\xdd\x3d\x38\x36\x38\xbe\x15\x68\x46\x8c\xe8\x4d\xc7\xa0\x0a\xcc\x39\x3a\xfa\xd8\xb7\xde\xd7\xe3\x39\xf7\xce\xeb\xbf\xd5\xad\x3f\x0e\x7a\xad\xcf\x83\xc5\x7d\xf1\x54\x71\x93\xf6\xa3\x1d\x17\xb9\x1d\xa3\xf2\x3e\xea\x6e\x3d\xf8\xdf\xd1\xa9\xbe\x0e\xd0\xea\x83\x4c\xe1\x0b\x31\x04\x0c\xa5\x64\xc8\x1f\xee\xe9\x7d\x49\xb7\xf7\x6a\xed\x03\xa8\xdd\x0e\xed\xb4\x5b\x9f\xe6\x1a\xb4\x07\x3a\x1a\xf6\xf3\x67\x14\x42\xc9\x38\x3a\xbb\xf5\xe7\xa8\x4a\x33\xaa\xc4\xdb\x15\x08\x40\x9e\x6d\x5f\x5f\x5f\xaa\x7f\xf4\x83\xe2\x92\x29\x10\xe7\x7c\x8e\x9b\xa4\x92\xc3\x6b\x0d\x86\xce\x58\x7a\x01\x06\x27\xa0\xdb\x73\xce\x43\xf5\x9d\x05\xc3\xa3\x38\x38\x38\x3c\xf8\xf6\x3e\x7d\x47\xc8\x8e\xad\xf8\xb4\x2e\xc2\xcb\x04\xff\x06\x00\x00\xff\xff\x8d\x9e\x81\x4b\x6d\x17\x00\x00"
 
 func switchboardSetup_royalty_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -762,11 +762,11 @@ func switchboardSetup_royalty_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_royalty_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc6, 0x9c, 0xdc, 0x26, 0x5f, 0x47, 0x8a, 0xa, 0xed, 0xa8, 0x60, 0x29, 0x8a, 0xe6, 0x99, 0xae, 0xee, 0xe0, 0xc9, 0x30, 0x6e, 0xaa, 0x42, 0xfd, 0xa9, 0x26, 0x47, 0x26, 0x60, 0x66, 0x97, 0x1d}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0x95, 0xf0, 0xf7, 0xbc, 0xd, 0x72, 0x44, 0xa2, 0x64, 0xc5, 0x86, 0xa6, 0x7, 0xa3, 0x6f, 0xfa, 0x38, 0xdd, 0x22, 0x66, 0x4a, 0x76, 0xfa, 0x84, 0xf3, 0x30, 0x62, 0x32, 0x5, 0x49, 0xca}}
 	return a, nil
 }
 
-var _switchboardSetup_royalty_account_by_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\x4d\x6f\xe3\x36\x13\xbe\xfb\x57\xcc\x9b\xc3\xbe\x32\xe0\xda\xf7\x20\xc9\x36\x4d\x9b\x45\x2f\x45\xb0\xc9\xb6\x87\x45\x0e\x63\x6a\x64\x11\x91\x49\x81\x1c\xc5\x6b\x04\xf9\xef\x05\x49\xeb\xcb\xb6\x62\xc9\x71\x9b\xea\x62\x4b\x9c\x19\xce\xd7\xf3\x88\x1a\xb9\xcc\xb5\x61\xb8\x2d\xd4\x42\xce\x33\x7a\xd0\x4f\xa4\x20\x31\x7a\x09\x67\xad\x67\x67\xa3\x7d\x92\xf7\x2b\xc9\x22\x9d\x6b\x34\xf1\x3e\xa5\xc6\x72\xad\x9f\xe9\x55\x6b\x97\xf2\xbe\x96\x90\xc8\x2d\x89\xf2\xfe\x6c\x34\x1a\xcd\x66\xf0\x90\x4a\x0b\x6c\x50\x59\x14\x2c\xb5\x02\x69\x01\x81\x69\x99\x67\xc8\x04\x89\x36\xee\xb6\xb1\xce\x29\x32\x08\x5d\x64\x31\xcc\x09\x0a\x4b\x31\xcc\xd7\xe0\x4c\xa1\x5a\x6b\x45\x90\x14\x59\xb6\x06\x4b\x5c\xe4\x80\x0a\x50\x08\x5d\x28\xf6\x96\x0c\x09\x92\xcf\x52\x2d\x60\xae\x39\xf5\xde\x03\xaa\x18\xbe\xdd\xff\x7a\x03\xec\xbc\xb2\x80\x0c\x9c\x12\x58\x5c\x92\x33\x9a\x17\xf3\x4c\x0a\xc8\x91\x53\x88\x9c\x0d\xa9\x2c\xa3\x12\xe4\xa5\x8c\x5e\x63\xc6\x92\x2c\xcc\x82\xe0\xec\x0b\x29\x32\x52\xdc\x3e\x7c\xf5\x7b\x91\xf1\xaa\x63\x67\xea\x9b\x75\x3b\x3b\x35\x8c\xe3\x3f\x68\xf5\x27\x16\x19\xff\x65\x30\xcf\xc9\xd8\x5f\xd6\x77\x6e\x0b\xdb\xa8\xc1\x92\x38\xd5\x31\x60\x96\xe9\x95\x2d\xa3\x63\xed\x62\x76\xe6\x04\xe6\x38\x97\x99\xe4\x35\xac\x36\x46\xc0\x16\x22\x05\xb4\xe0\x33\x7c\xab\xcd\x0a\x4d\xec\x9e\x3b\xa7\x09\x63\xd0\x49\xd8\x5f\x70\x81\x59\x88\x18\x9e\x9d\x1b\xd3\x51\x33\xc7\x11\xc6\xb1\x21\x6b\xcf\xe1\x3a\xfc\x19\xc3\xcb\x68\x04\x00\x90\x11\x07\x05\xe7\xad\x3d\x87\xef\x77\x3e\x6c\x77\xf7\xd8\x16\x78\x58\xe7\xe4\x04\xdc\xef\xa3\x5b\xa9\x96\x1b\x31\x7e\xa5\xe4\x1c\xe0\x53\x57\x9f\x4d\x1b\xff\xc3\xfe\xb9\xa1\x1c\x0d\x45\x28\x04\x9f\xc3\x75\xc1\xe9\x75\xa8\x6f\xe5\xa1\xbb\x66\x33\xb8\x0b\x82\x3e\x5c\x57\x01\xeb\x0b\xcd\xce\x29\x40\x63\x70\x6d\x61\x25\x39\xf5\xeb\x7b\xfb\x20\x46\xc6\xca\xa0\xa5\x2c\x99\xd6\x71\xc3\x25\x7c\x7f\xec\x5a\x9c\xba\x5a\xa8\x38\x2a\x3b\x22\x29\x31\x51\x76\xc4\xf8\x90\x66\x85\x91\xa9\x6f\x91\x52\xef\xae\x98\xdf\xf9\x5e\xda\x55\xf7\xc9\xee\xf2\xca\x2f\x96\xb6\xdd\xcd\xc5\xcf\x15\x4e\xc3\x0e\x57\xd1\xb8\xd3\xea\x96\x62\xdb\x35\xaf\xd8\x4c\xfb\x4d\x4a\xe2\x09\x64\xd9\x66\x01\x7a\x98\x19\xc2\x78\x0d\x29\x3a\x6c\xfb\x6c\x7b\xed\x4a\x51\x26\x4e\x96\xa7\x73\x6d\x8c\x5e\x5d\x7c\xda\x71\xcf\x71\xc7\x39\xcc\x2c\x6b\x83\x0b\xaa\x53\xea\x97\xc7\x70\x79\x09\x4a\x66\xf0\x52\x19\xdc\x78\xf3\x7b\x02\x4a\xf3\x04\x84\x21\x47\x26\x08\x8a\x56\x8d\xfd\xc1\x90\xd5\x85\x11\xe4\x8b\x9f\x17\x0c\x92\x41\x2a\xd6\xb0\xd9\xa8\x65\xcf\x7b\x68\xf1\x99\xa2\x8b\x9f\x6a\xe2\x9b\x06\xdb\xbf\x2d\x73\x5e\x7b\xa3\xd1\x78\x02\xac\xbb\x9d\xad\x6c\xbe\x76\xe6\xcd\x94\xd4\xd1\x80\xb8\xb4\x90\x49\xf5\x44\x31\x78\x0e\x24\x70\x66\x6b\x49\xd7\xe2\xcd\x74\xfe\xcf\x7b\xbb\x20\xbe\xa9\x4c\x5c\x7c\x7a\x69\xe1\x6c\x5a\xf6\xd5\xeb\x55\x9f\x5e\x3d\xc1\x35\x15\x2e\xca\x68\xbc\x5b\x28\x99\x80\xe4\xff\xdb\xad\x6a\x6d\xb8\xb7\x91\x05\xd6\x75\xec\xbe\x45\x81\x7e\xe4\xda\xf3\xea\xb6\x49\x27\x17\x93\x5b\x64\x48\x0a\x55\xbe\x3c\x8c\x2e\x16\x01\xf5\x5d\xd9\x70\x1d\x40\x26\x41\xb1\xa7\xfc\x85\x72\x45\xe8\x9b\x2e\xaf\xe2\x14\x8e\x4a\xfd\x04\x8e\xcb\x3d\xa3\x59\x10\xf7\x6a\xc0\x81\xc8\xf5\xf4\x78\x00\xb9\xdb\xfc\x10\x90\xbb\xf5\xf8\x3e\x78\xe6\xd9\x6c\x18\x78\x6b\x17\xde\x03\xde\xca\x9b\x7d\xe0\x3d\xb2\xe3\x1d\xe6\xdf\x08\xf3\x54\xb0\xf7\x09\x38\x11\xec\x87\x44\x7a\xe8\xa5\x74\x32\x6c\xfb\x00\x3f\x10\xdb\x7d\x5f\xbe\xd0\x17\xe0\x6f\x1b\x3c\xaa\xdf\x4a\x88\xf7\xeb\xb7\x81\x28\x6f\x7e\x06\x94\x18\xeb\xc6\x7b\x8f\x93\xdb\xe1\x3e\x2b\x59\xa2\xd3\xd8\xd1\x7c\xb1\x2f\x98\x23\x08\xa3\xcb\xb1\xb0\x57\xe3\xc9\x60\x02\xf1\xb4\xd1\x27\xee\x53\x11\xc8\x10\xee\xe8\x88\xa4\x5f\xd9\x8f\xa5\x9d\xa8\xd3\x78\x03\x3a\x9b\x6f\x8e\xd3\xd1\x4e\xb3\x51\x3e\x86\x77\x06\x44\xdd\x45\x42\xef\x2a\x4b\xd4\xbf\x6f\x07\xf8\x3a\xe9\x6d\xb5\x22\xb5\x13\xa1\xa1\xa1\x1a\xdc\xf1\xb8\x4f\x78\x0f\x4c\xa4\xff\x28\xa4\x1a\x29\xa3\xad\xa2\x37\x3f\xcb\x1b\x13\x81\x43\xaf\xde\x6a\xfd\x88\xca\x74\x08\x85\x50\x26\xd0\x51\xc5\xbe\xd9\xbe\x3a\xbe\xdf\xde\x79\xfd\xbb\x88\xf5\x73\x9e\x5d\x64\xbe\x99\xdc\xd7\x30\x2a\x48\x69\xc7\xda\x61\x78\xdb\xe1\xf8\x3e\x8c\xeb\xd6\xe3\xff\x5c\x2b\x95\xd7\x1b\x2d\xf5\x41\x74\xf0\x85\x18\x10\x0c\x25\x64\xc8\x4f\xec\xf4\x36\x98\xdb\x43\x8f\xf6\x60\x0a\x2e\xff\x89\xa3\x4e\x75\x0d\x3a\xf3\x1c\x34\xfb\xf9\x33\xe4\xa8\xa4\x88\xce\x6e\xfc\x68\x54\x69\x86\xe0\x78\x3b\xfe\x46\x88\x67\x9b\xc9\xcd\xe6\x80\x48\x3f\x48\x14\x4c\xf5\x18\x6d\x36\x83\xeb\x38\xe0\xa0\x45\x94\xbb\x59\x84\xc2\x63\xaf\x73\xaa\x39\xea\xcc\xf1\xb4\x53\x27\xca\xc3\x80\x71\x6b\x44\x36\xf4\x74\x15\x86\x90\x5b\x23\xad\x09\x54\xf3\xcd\xcd\x9f\x3a\x15\xaf\x23\xf8\x3b\x00\x00\xff\xff\xb2\x42\x4b\xe4\x46\x17\x00\x00"
+var _switchboardSetup_royalty_account_by_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\xcd\x6e\xe3\x36\x10\xbe\xfb\x29\xa6\x39\xa4\x32\xe0\xda\x77\x23\xc9\x36\x4d\x9b\x45\x2f\x45\xb0\xc9\xb6\x87\x45\x0e\x63\x69\x64\x11\x91\x49\x81\x1c\xc5\x6b\x04\x79\xf7\x82\xa4\x7e\x6d\x2b\x96\x15\xb7\x59\x5d\x6c\x89\x33\xc3\xf9\xfb\x3e\x51\x23\x56\x99\xd2\x0c\xb7\xb9\x5c\x8a\x45\x4a\x0f\xea\x89\x24\xc4\x5a\xad\xe0\xac\xf5\xec\x6c\xb4\x4f\xf2\x7e\x2d\x38\x4c\x16\x0a\x75\xb4\x4f\xa9\xb1\x5c\xeb\xa7\x6a\xdd\xda\xa5\xbc\xaf\x25\x04\x72\x4b\xa2\xbc\x3f\x1b\x8d\x46\xb3\x19\x3c\x24\xc2\x00\x6b\x94\x06\x43\x16\x4a\x82\x30\x80\xc0\xb4\xca\x52\x64\x82\x58\x69\x7b\xdb\x58\xe7\x04\x19\x42\x95\xa7\x11\x2c\x08\x72\x43\x11\x2c\x36\x60\x4d\xa1\xdc\x28\x49\x10\xe7\x69\xba\x01\x43\x9c\x67\x80\x12\x30\x0c\x55\x2e\xd9\x59\xd2\x14\x92\x78\x16\x72\x09\x0b\xc5\x89\xf3\x1e\x50\x46\xf0\xf5\xfe\xf7\x1b\x60\xeb\x95\x01\x64\xe0\x84\xc0\xe0\x8a\xac\xd1\x2c\x5f\xa4\x22\x84\x0c\x39\x81\xc0\xda\x10\xd2\x30\xca\x90\x9c\x94\x56\x1b\x4c\x59\x90\x81\x99\x17\x9c\x7d\x26\x49\x5a\x84\xb7\x0f\x5f\xdc\x5e\xa4\x9d\xea\xd8\x9a\xfa\x6a\xec\xce\x56\x0d\xa3\xe8\x2f\x5a\xff\x8d\x79\xca\xff\x68\xcc\x32\xd2\xe6\xb7\xcd\x9d\xdd\xc2\x34\x6a\xb0\x22\x4e\x54\x04\x98\xa6\x6a\x6d\xca\xe8\x58\xd9\x98\xad\xb9\x10\x33\x5c\x88\x54\xf0\x06\xd6\x85\x11\x30\x79\x98\x00\x1a\x70\x19\xbe\x55\x7a\x8d\x3a\xb2\xcf\xad\xd3\x84\x11\xa8\xd8\xef\x1f\x72\x8e\xa9\x8f\x18\x9e\xad\x1b\xd3\x51\x33\xc7\x01\x46\x91\x26\x63\xe6\x70\xed\xff\x8c\xe1\x65\x34\x02\x00\x48\x89\xbd\x82\xf5\xd6\xcc\xe1\xdb\x9d\x0b\xdb\xde\x3d\xb6\x05\x1e\x36\x19\x59\x01\xfb\xfb\x68\x57\xaa\xe5\x46\x8c\x5f\x28\x9e\x03\x9c\x77\xf5\xd9\xb4\xf1\xdf\xef\x9f\x69\xca\x50\x53\x60\xc4\x52\x92\x9e\xc3\x75\xce\xc9\xb5\xaf\x70\xe5\xa3\xbd\x66\x33\xb8\xf3\xa2\x2e\x60\x5b\x03\xe3\x4a\xcd\xd6\x2d\x40\xad\x71\x63\x60\x2d\x38\x71\xeb\x7b\x3b\x21\x42\xc6\xca\xa0\xa1\x34\x9e\xd6\x91\xc3\x25\x7c\x7b\xec\x5a\x9c\xda\x6a\xc8\x28\x28\x7b\x22\x2e\x51\x51\xf6\xc4\xf8\x90\x66\x85\x92\xa9\x6b\x92\x52\xef\x2e\x5f\xdc\xb9\x6e\xda\x55\x77\xe9\xee\xf2\xca\x2d\x96\xb6\xed\xcd\xc5\xaf\x15\x52\xfd\x0e\x57\xc1\xb8\xd3\xea\x96\x62\xdb\x35\xa7\xd8\x4c\xfb\x4d\x42\xe1\x13\x88\xb2\xd1\x3c\xf8\x30\xd5\x84\xd1\x06\x12\xb4\xe8\x76\xd9\x76\xda\x95\xa2\x88\xc1\x97\x74\xba\x50\x5a\xab\xf5\xc5\xf9\x8e\x83\x96\x3f\xe6\x30\x33\xac\x34\x2e\xa9\x4e\xaa\x5b\x1e\xc3\xe5\x25\x48\x91\xc2\x4b\x65\xb2\xf0\xe7\xcf\x18\xa4\xe2\x09\x84\x9a\x2c\xa1\x20\x48\x5a\x37\x3c\x00\x4d\x46\xe5\x3a\x24\x57\xfe\x2c\x67\x10\x0c\x42\xb2\x82\x62\xa3\x96\xbd\xc2\x47\x83\xcf\x14\x5c\xfc\x52\xd3\xdf\xd4\x5b\xff\x63\x95\xf1\xc6\x99\x0d\xaa\xf4\xcd\xa1\x33\xe1\x13\x60\xd5\x1d\x51\xb5\xf1\x6b\x67\x7a\x75\xc9\x31\x0d\x2e\x10\x06\x52\x21\x9f\x28\x02\x47\x96\x04\xd6\x6c\x2d\x69\x91\xd0\xcc\xfa\x4f\x45\x48\x4b\xe2\x9b\xca\xc8\xc5\xf9\x4b\x0b\x92\xd3\xb2\x01\x5f\xaf\xfa\x34\xf5\x09\xae\x69\x68\xe3\x0c\xc6\xbb\xf5\x14\x31\x08\xfe\xd9\x6c\x15\xb5\xa0\xe9\x46\x1e\x58\xd5\xd1\xbb\x62\x00\x7d\xcf\x94\xa3\xe0\x6d\x93\x56\x2e\x22\xbb\xc8\x10\xe7\xb2\x7c\xcf\x68\x95\x2f\x3d\x3d\x74\x65\xc3\x36\x0a\xe9\x18\xc3\xbd\x5d\x92\x4b\x5b\x88\xbe\x09\x2b\x94\xac\xca\xa0\xf4\x4f\x60\x58\xfe\x19\xf5\x92\xb8\x57\x1b\x1e\x09\x73\xc7\xa5\x07\x61\xbe\x4d\x27\x1e\xe6\x5b\x8f\xef\xbd\x6f\x8e\xfc\x8e\x43\x7a\xed\xc4\xfb\x90\x5e\xf9\xd3\x03\xe9\xbb\x0c\x39\xb4\x38\x8e\x20\xde\xc8\xc5\xa9\x38\xc2\x65\xe9\x64\x1c\x71\x4c\xac\x87\x5e\x75\x27\x23\x02\x17\xe2\x87\x12\x41\xdf\x97\x3a\xf4\x67\x83\xb7\x4d\x0e\xea\xba\x92\x0f\xfa\x75\xdd\x91\x94\xd0\xfc\xc4\x28\xe1\xf8\x16\x39\xf4\x38\x17\x1e\xee\xb6\x92\x52\x3a\x8d\x0d\x26\x97\x7d\xe1\x0c\x62\x97\x2e\xd7\xfc\x6e\x8d\x27\xc1\xb1\x54\xe2\x08\xa4\x4f\xe4\xa7\xa2\x92\xe3\x58\xa4\x23\x96\x7e\xa5\x1f\x4a\x40\x41\xa7\xf1\x06\x80\x8a\xaf\x9a\xd3\x11\x50\xb3\x59\x3e\x8a\x81\x8e\x88\xbb\x9b\x8e\xde\x55\x9a\xa0\x7f\xf7\x1e\xe1\xed\xa4\xb7\xd5\x8a\xde\x4e\x84\x89\x86\xaa\x77\xc7\xe1\x3f\xe6\x3d\x60\x11\xee\xc3\x93\x6a\xbc\x8c\xb6\x0a\xdf\xfc\xf8\x6f\xcc\x1d\x0e\xbf\x8a\x2b\x89\x01\xb5\xe9\x10\xf2\xc1\x4c\xa0\xa3\x8e\x7d\xf3\x7d\x35\xbc\xe7\xde\x79\xfd\xbf\xb8\x75\xf3\xa4\x5d\x7c\xbe\x99\xdc\x57\x3f\x90\x48\x68\xc7\xda\x61\x90\x9b\x21\x28\xef\x83\xee\xd6\xc2\x0f\xd7\x4e\xe5\xf5\x46\x5b\x7d\x10\x29\x7c\x26\x06\x04\x4d\x31\x69\x72\xd3\x41\xb5\x0d\xe9\xf6\x78\xa5\x3d\x04\x83\xcb\xff\xe6\xe8\x53\x5d\x47\x9d\x81\x0e\x9a\xfd\xf4\x09\x32\x94\x22\x0c\xce\x6e\xdc\x20\x56\x2a\x06\xef\x78\x3b\x03\x8d\x20\xcf\x8a\x29\x51\x71\x64\xa4\xef\x14\xe6\x4c\xf5\xc8\x6e\x36\x83\xeb\xc8\xa3\xa1\x45\x98\xbb\x79\x84\xdc\x21\xb0\x73\x86\x3a\xea\xcc\xf2\xb4\x53\x27\xc8\xfc\x38\x73\x6b\x1c\x77\xec\x59\xcb\x8f\x3c\xb7\xc6\x67\x13\xa8\xa6\xa9\xc5\x9f\x3a\x15\xaf\x23\xf8\x37\x00\x00\xff\xff\x29\xb5\xc5\x68\xb4\x17\x00\x00"
 
 func switchboardSetup_royalty_account_by_pathsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -782,11 +782,11 @@ func switchboardSetup_royalty_account_by_pathsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_royalty_account_by_paths.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x25, 0x74, 0x5c, 0x4a, 0x90, 0xd4, 0x13, 0xe, 0x2a, 0x42, 0xf7, 0x5e, 0x3, 0xcf, 0x28, 0x75, 0xa1, 0xbc, 0xc9, 0x80, 0x6e, 0xd0, 0xbe, 0x94, 0xbb, 0x12, 0x8b, 0x8a, 0xea, 0xc, 0x31, 0x42}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x6d, 0x53, 0x1a, 0x41, 0xf5, 0x1b, 0x3f, 0x2c, 0x78, 0x91, 0x9d, 0x16, 0x25, 0xc1, 0xec, 0x1d, 0x60, 0x9b, 0xc, 0x51, 0xf3, 0x85, 0xaa, 0x1c, 0x57, 0x8a, 0x67, 0x68, 0xe4, 0xdd, 0x4c}}
 	return a, nil
 }
 
-var _switchboardTransfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\xcb\x6e\x1b\x39\x10\x3c\x5b\x5f\x51\xab\x83\x3d\x02\xb4\xe3\xcb\x62\x0f\x82\x1f\xf0\x6e\xe2\x5c\x0d\xc7\x71\xce\x3d\x9c\x96\x86\xc9\x88\x24\xc8\x1e\xcb\x82\xe1\x7f\x0f\xf8\x90\x34\xb2\x03\x24\xc8\x89\x1a\xb2\xba\xab\xab\x58\x94\x5e\x3b\xeb\x05\xb7\x83\x59\xe9\xa6\xe7\x07\xfb\x9d\x0d\x96\xde\xae\x31\x3d\xda\x9b\x4e\x0a\xf2\xe3\x33\xad\xdd\x31\x70\xbc\x35\x9d\x4c\xce\xcf\xcf\xf1\xd0\xe9\x00\xf1\x64\x02\x29\xd1\xd6\x40\x07\x10\x84\xd7\xae\x27\x61\x2c\xad\x8f\x9f\xa3\x73\xe9\x48\xa0\xec\xd0\xb7\x68\x18\x43\xe0\x16\xcd\x16\x64\xb6\xd6\x30\xc4\x22\xb0\x69\x21\x91\x21\xc4\x4f\x32\x56\x3a\xf6\x20\xa5\xec\x60\x24\x71\x4a\xe7\xed\xb0\xea\x40\x08\x1b\x2d\xaa\x6b\x2c\xf9\x76\x0e\x0a\xe8\xad\x59\xc5\x55\x3a\xde\xa2\xa3\x27\x46\x60\xc1\xe0\xe2\x86\xf6\x63\x38\xc8\xb4\x19\x41\x6d\x1b\x8f\xe1\xbc\x75\xec\xa1\xc8\x51\xa3\x7b\x2d\xdb\x48\xaf\x13\x63\x51\x9a\xb0\x9e\x43\x80\x5d\xa6\x12\xcf\x8a\xf5\xd3\x61\xba\x79\xda\xa5\x75\xfc\x1d\xab\x93\xee\x65\x3c\x37\x99\xe3\x6e\x68\x7a\xad\xee\x48\xba\xe4\x4c\xdc\x5a\xb1\x61\xaf\x15\x6e\x1f\x0e\xed\x36\xba\xef\xd1\x70\x11\xcb\x70\xe4\x69\xcd\xc2\x3e\xa4\x69\x46\x76\x56\x62\x17\xb8\xc9\x53\xcd\x0b\xf3\x02\x5f\x6e\xf5\xf3\xbf\xff\xcc\xf7\x0d\x23\xe1\x62\x44\x3e\xc3\xcb\x64\x02\x00\x45\x56\xd0\x2b\xc3\xfe\x2c\xe0\x89\x86\x3e\x4d\xbe\xd1\xd2\xb5\x9e\x36\xe9\xe2\x13\xb4\x67\x41\xb0\x83\x57\xfc\x18\x41\x0b\xd0\x20\x5d\x75\x14\x9d\xfa\x6b\xa9\xa2\xa6\xe7\x19\x4e\xc7\x71\xa9\x53\x55\x66\x75\x9e\x1d\x79\xae\x32\x6d\xe9\xf4\x9f\xf5\xde\x6e\x1e\xa9\x1f\x62\xe9\x4d\x36\x74\x3f\x68\x19\xf6\x13\x0b\x08\x9e\x97\xec\xd9\xa8\x94\x17\x19\xcf\x1f\xc4\x7a\x6e\xb3\x8c\x7d\x5d\xe0\x7e\x59\x8f\x46\xc7\x65\x29\xa8\x23\x9c\x56\x5c\x37\x89\xfb\xe2\x4f\x14\x5d\x55\xd1\xa1\x05\xde\x9f\x7c\xce\xcd\x93\xdf\x93\x93\x93\x93\xeb\x6b\x38\x32\x5a\x55\xd3\xff\x53\xfa\x8d\x15\x64\xe2\xf7\x82\xec\x26\xeb\x49\x8d\xfe\x9a\xce\xb2\x09\xaf\x79\xe1\x67\x56\x83\xf0\x4f\xac\x29\x99\xd4\x4e\xb3\x91\xb3\x00\x97\x6e\x7c\x97\x4e\xd8\xe6\x1b\xab\x83\x2f\xf1\x46\xf7\x68\x5c\x62\xc5\x52\x6c\xaf\xc4\xce\x7e\xc7\xf7\x31\xd7\x7d\xc9\xda\xdb\xf6\x69\xf3\x9e\x97\xb8\x3c\xc0\xeb\xfd\x23\xd3\x1c\x76\xee\x9f\xbe\x1c\x5b\xbf\x6b\xf8\x7a\x55\x8d\x73\xfc\x6b\x2f\xcb\x23\x3a\x9a\x76\xf4\xf2\xf7\x76\x16\x6d\x1f\xd8\xd9\xa0\xb3\x79\xbb\xd8\x9b\xdd\x3f\x90\x36\xef\x84\xfa\xb7\x42\x47\x22\xeb\x36\x37\x2b\xa1\xb8\xf8\xfb\x6d\xf6\xea\x1d\x43\xb5\x7b\xab\x79\x9d\x1d\xae\xf8\x75\xf2\x23\x00\x00\xff\xff\x63\xde\xd7\x69\xab\x05\x00\x00"
+var _switchboardTransfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x41\x6f\xdb\x3a\x0c\x3e\x37\xbf\x82\xcd\xa1\x75\x80\x3c\xe7\xf2\xf0\x0e\x41\xd3\xa2\xaf\x5d\x76\x1a\x50\x14\x59\x76\xa6\x65\xc6\xd6\xe6\x48\x82\x44\xc7\x0d\x8a\xfe\xf7\x41\xb2\xec\xd8\x69\x87\x6d\x3d\xd4\x31\xfd\x91\x1f\x3f\xf2\x93\xe4\xde\x68\xcb\xb0\xae\x55\x21\xb3\x8a\x36\xfa\x07\x29\xd8\x59\xbd\x87\xe9\x28\x36\x9d\x44\xe4\xa7\x17\xdc\x9b\x31\x70\x18\xea\x71\xa3\xec\x2f\xc4\x98\x23\xe3\x56\x52\xe3\x3e\x2a\x3f\x02\x4c\x27\x93\xc5\x62\x01\x9b\x52\x3a\x60\x8b\xca\xa1\x60\xa9\x15\x48\x07\x08\x4c\x7b\x53\x21\x13\xec\xb4\xf5\xaf\x83\xef\x5c\x22\x83\xd0\x75\x95\x43\x46\x50\x3b\xca\x21\x3b\x02\xaa\xa3\x56\x04\xac\xc1\x91\xca\x81\x3d\x9d\xf3\xaf\xa8\x34\x97\x64\x01\x85\xd0\xb5\xe2\xc0\xc9\xa5\xd5\x75\x51\x02\x82\x6b\x24\x8b\x32\xd3\x68\xf3\x39\xa0\x83\x4a\xab\xc2\x3f\xb9\xa4\x23\x94\x78\x20\x70\xc4\x50\x1b\x1f\x90\x76\x08\x07\x54\x79\x8b\xc0\x3c\xf7\x9f\xc1\x58\x6d\xc8\x82\x40\x83\x99\xac\x24\x1f\x3d\xbd\x0c\x8c\x51\x69\xc0\x5a\x72\x0e\xf4\x2e\xa4\x58\x12\x24\x0f\xa7\xee\xe6\x21\x8a\x7b\xff\xdb\x67\x07\xdd\x3b\xff\x5d\xb5\x1c\x4f\x75\x56\x49\xf1\x84\x5c\x86\xc9\xf8\x50\x41\x8a\xac\x14\xb0\xde\x9c\xca\x35\xb2\xaa\x20\xa3\x28\x96\xc0\xa0\xc5\x3d\x31\x59\x17\xba\x19\x8c\x33\x61\xbd\x84\xfb\xb6\xab\x79\x64\x5e\xc2\xd7\xb5\x7c\xf9\xef\xdf\x79\x5f\xd0\x13\x2e\x07\xe4\x33\x78\x9d\x4c\x00\x00\xa2\x2c\x27\x0b\x45\xf6\xda\xc1\x01\xeb\x2a\x74\xde\x48\x2e\x73\x8b\x4d\xb0\x41\x80\x56\xc4\xe0\x74\x6d\x05\x6d\x3d\x68\x09\x58\x73\x99\x8c\xfc\x91\x7e\x8b\x59\x33\xb8\x1a\xda\x2d\x0d\x19\x2d\xa3\xb1\x64\xd0\x52\xd2\x52\xc6\x2a\xff\x6b\x6b\x75\xb3\xc5\xaa\xa6\x19\x5c\xdd\xb7\xc3\xec\x9b\xec\xd8\x43\x73\x8f\xc8\x08\xab\x91\xc1\x53\x4b\x4e\x57\x07\x7a\xd0\x8a\x2d\x0a\xf6\xf6\x4c\x7c\xcc\x37\xbb\x39\x1a\x5a\x82\x92\xd5\x1c\x0e\x92\x9a\xf6\xd5\xff\xbf\xf9\xb5\xb5\xd3\xf5\x66\xdb\x71\xdd\x26\xb3\x59\xdf\x85\xff\xbb\xbb\x03\x83\x4a\x8a\x64\xfa\x10\x4c\xac\x34\x43\xd1\x75\x07\xbe\x46\x20\xea\xf7\x2b\x62\x57\xd3\xd9\x49\xcd\x62\x01\x9f\x89\x01\xc1\xd2\x8e\x2c\x29\x11\x9c\xcf\xc3\x4d\x38\xd6\x96\xf2\xb6\x6a\x9f\xe7\xa8\xda\xa5\x83\x25\xc0\x2a\x26\xa4\x1e\x8e\x05\xa5\x59\x98\xe4\xcd\xdf\xee\xe6\x36\xf1\x7b\x5e\x9e\x46\xdc\x15\x0c\x6e\x99\x5c\x5c\x5c\x7c\x24\xbb\x25\x7b\x2f\x42\x37\xad\x86\x50\xfa\xb2\x13\xfe\xd6\x3e\xe8\x85\x44\xcd\x34\x5c\x6e\x1c\x47\x3c\x51\xd2\x48\x52\x7c\xed\xc0\x04\xbf\x76\x67\x0b\x74\xf6\x9d\x04\x8f\x1c\xd1\xa3\x61\xe5\x77\x10\x8d\x93\xb0\xfe\xa3\x59\x0f\xb9\x9e\xe3\x49\x39\x2f\x1f\x82\xcf\xb4\x83\xd5\x09\x9e\xf6\x57\x84\x24\xd7\x4d\xfc\xea\x75\x3c\xee\xae\xe0\xdb\x6d\x32\x3c\x85\xbf\x9f\x65\xbc\x02\x46\xdd\x0e\xee\xad\xcb\x33\x1f\x3d\x92\xd1\x4e\xb6\xc3\xeb\x0e\xad\xea\xee\x4f\xa9\xde\x09\xb5\xe7\x42\x07\x22\xd3\xbc\x2d\x16\xcd\x70\xf3\xcf\xb9\xdf\xd2\x8e\x21\xe9\x6e\x9a\xf6\x39\x3b\xad\xf8\x6d\xf2\x33\x00\x00\xff\xff\xa9\xac\xce\x6f\xad\x06\x00\x00"
 
 func switchboardTransfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -802,11 +802,11 @@ func switchboardTransfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x60, 0xc2, 0x5b, 0x5, 0x87, 0x4e, 0xed, 0x30, 0xbe, 0xf5, 0x83, 0x1f, 0x9b, 0x38, 0xcc, 0xa2, 0xc7, 0xab, 0x51, 0x3c, 0xb5, 0x2d, 0xb3, 0x2d, 0x5b, 0x85, 0xa6, 0xbd, 0xe8, 0x98, 0xaf}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x0, 0xf8, 0xeb, 0x9c, 0x8a, 0xce, 0xe0, 0xae, 0xb0, 0x25, 0x6c, 0xdb, 0x92, 0x95, 0x3, 0xf5, 0x6a, 0x9f, 0x9, 0x2c, 0x21, 0x4, 0x15, 0xa3, 0x3a, 0x61, 0xf, 0xc, 0x65, 0x97, 0xd7, 0x49}}
 	return a, nil
 }
 
-var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\xcb\x6e\xdb\x40\x0c\x3c\x47\x5f\xc1\xf8\x90\xc8\x87\xc8\x97\xa2\x07\x23\x0f\xa4\x8f\xf4\x54\x20\x48\xd3\xf4\x50\x14\x08\x25\x51\xd6\x36\xf2\xae\xc0\xa5\xe2\x14\x81\xff\xbd\xd8\x97\x21\x3f\x90\x02\xdd\x8b\x01\x2e\x77\x38\x33\x1c\x59\x2d\x7b\xc3\x02\x37\x83\x5e\xa8\xb2\xa3\x7b\xf3\x44\x1a\x1a\x36\x4b\x98\x6c\xd5\x26\x59\xec\xfc\xfc\x82\xcb\x7e\xbb\x71\x5c\x9a\x64\xd9\x6c\x36\x83\x7b\x46\x6d\x1b\x62\x0b\xe2\xaa\xee\x07\x10\x3a\x65\x05\x4c\x03\x58\xd7\x4c\xd6\x92\x05\xdb\x53\xa5\x1a\x45\x35\x28\x0d\xd2\x12\x3c\xc6\xbb\xeb\xa5\x19\xb4\x7c\xc5\xfe\x11\x7a\x64\x5c\x92\x10\x67\x99\x38\x58\xac\x44\x19\x9d\xef\x36\xce\xe1\xf5\x3a\x94\xe6\xf0\xfd\x46\xbd\xbc\x7f\xb7\x9e\xc2\x6b\x96\x01\x00\x38\x46\x2d\xc1\x03\x0e\x9d\x00\x93\x35\x03\x57\x04\xd2\xa2\x40\x6b\xba\xda\xfa\xd1\x89\xa9\xab\x22\x13\x94\xa4\xf4\x02\x24\x2a\x61\xaa\x3d\x54\x47\x02\xcf\x0e\xe7\x8e\x9a\x39\xe0\x20\x6d\xbe\x65\x54\xf1\x43\x49\x5b\x33\xae\xb0\xec\x68\x0a\x27\x63\x73\x0a\x4f\x20\x50\xea\x99\x7a\x64\xca\xad\x5a\x68\xe2\x88\xf4\xc1\x30\x9b\xd5\x03\x76\x83\x7b\x7a\x5d\x55\x4e\x9b\x53\x01\xf1\xcc\x66\xf0\x85\x04\x10\x98\x1a\x62\xd2\x4e\x85\xf1\xec\x03\xce\xa9\x05\x2b\x86\xa9\x0e\x1c\x37\xef\x2c\x75\x4d\x91\x68\xc3\x45\xec\x2e\x5c\x2f\x2e\xa8\x28\xfd\xdc\xf3\xff\x51\x73\x99\xbb\x10\xcc\x61\xff\xe6\x5b\x00\xbf\x45\x69\xa7\xd9\xd1\xd1\xd1\xd5\x15\xf4\xa8\x55\x95\x4f\x3e\x9a\xa1\xab\x41\x1b\x81\x30\x78\x5f\x8d\x59\x05\x31\x1e\xe8\x78\x32\xf5\x42\xd6\xc1\x39\x7a\xa1\x6a\x10\x4a\xbb\x75\xa7\x31\x9c\x42\xe5\x82\xb4\x1b\x8d\xe2\x89\xfe\xd8\x71\x7f\xb4\x32\x89\x4b\xab\xf7\x71\xfe\xb7\x99\x29\x06\x96\xb4\x84\x48\x9d\x9f\x6d\x3b\x5c\xac\x22\x72\x8e\x9e\xc3\x7c\x8f\xd2\xcf\x58\xf8\x75\x3c\xdd\xa3\xe5\x36\xec\x58\x30\x55\xaa\x57\xa4\xe5\xd4\x42\x3f\x94\x9d\xaa\x00\x43\x24\xc0\x94\xbf\xa9\xda\x67\xb4\x79\x01\x17\xb0\x20\x89\x01\x4a\x9f\xca\xe1\x49\x07\xb2\x34\x1e\x7c\x47\x15\xa9\x67\xe2\x43\xb3\xfc\x45\x08\xd4\xe6\x49\x51\x61\x8f\xa5\xea\x94\x28\xb2\x29\x58\x27\xaf\xdb\xa9\x4a\xa0\xeb\xcb\x7c\x2b\x37\xa9\x7e\xeb\xd5\x86\xe4\xc0\xce\x79\x33\x46\xe1\xf9\xdb\x8a\xfc\xca\x26\xfb\x66\x7c\xa2\xde\x58\x15\xac\x4f\xfb\xd3\x29\x1a\xf1\xef\x69\x8c\xc3\x87\x9c\x19\xb9\x52\xd4\x01\x30\x7e\x20\xe7\x67\x9b\xbc\x8c\x66\xaf\x63\xb2\xd7\xd9\xdf\x00\x00\x00\xff\xff\x4d\x51\x2e\xb4\x8a\x05\x00\x00"
+var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x4f\xe3\x48\x10\x3d\xe3\x5f\x51\xe4\x00\xb6\xb4\x38\x97\xd5\x1e\xac\x00\x62\x61\xd9\x13\xd2\x28\xca\x30\x87\xd1\x48\x54\xec\x72\xdc\x83\xd3\x6d\x75\x97\x13\x10\xca\x7f\x1f\xf5\x87\x8d\x9d\x44\x0c\xd3\x87\x44\x69\x57\xd5\x7b\xf5\xea\x95\x23\xd6\x8d\xd2\x0c\xf7\xad\x5c\x89\x65\x4d\x0b\xf5\x4c\x12\x4a\xad\xd6\x30\x19\xdd\x4d\xa2\x10\xf9\xdf\x0b\xae\x9b\x71\xe0\xf0\xaa\x8f\x1b\x65\x3f\x10\x63\x81\x8c\x8f\x82\xb6\xe6\x58\xf9\x51\xc0\x24\x8a\xa6\xd3\x29\x2c\x34\x4a\x53\x92\x36\xc0\x36\xc4\x7e\x01\x42\x2d\x0c\x83\x2a\x01\x8b\x42\x93\x31\x64\xc0\x34\x94\x8b\x52\x50\x01\x42\x02\x57\x04\x4f\xe1\xd9\xcd\x5a\xb5\x92\x1f\xb0\x79\x82\x06\x35\xae\x89\x49\x47\x11\xdb\xb2\x98\xb3\x50\x32\xde\x0f\xcc\xe0\xed\xc6\x5f\x65\xf0\xf5\x5e\xbc\xfc\xf3\xf7\x2e\x81\xb7\x28\x02\x00\xb0\x94\xee\x17\x8f\xd8\xd6\x7c\x87\x8c\xb0\x0e\x94\x61\x23\x68\x0b\xa5\xd2\x0e\xdb\x51\x85\x25\x09\xb9\x82\xd6\x50\xe1\x52\x6b\x62\xd8\x74\x89\xd9\x07\xd2\xa4\x03\x80\x77\xd4\x45\x45\xe0\xae\x41\x93\x51\xad\xce\x09\xb8\x42\x86\x4a\xd5\x85\x79\x47\x35\xfe\x16\x35\x05\x7c\x0e\x02\xea\x7d\x1a\x73\x2a\x33\xc0\x96\xab\x78\x44\x25\xfd\x26\xb8\x2a\x34\x6e\x13\x38\x1b\xce\x34\x75\xe0\x9e\x4f\xa3\xa9\x41\x4d\xb1\x11\x2b\x49\x3a\x54\xf9\x57\x69\xad\xb6\x8f\x58\xb7\x94\xc0\xd9\x4d\x9e\x5b\x39\xad\x70\x10\x8e\xa1\xba\x4c\x7b\x05\xe0\x72\xe4\xa2\xd4\x76\x55\x6f\xe8\x56\x49\xd6\x98\xb3\x55\x22\xee\x3a\x5d\xbc\x36\x94\x81\x14\xf5\x5f\x4e\x67\xff\xd3\x7e\xce\x3e\xa7\xe2\x55\x9c\x24\x80\xe6\xf4\x93\xa2\x5f\xf7\x94\xed\xb9\xbe\x86\x06\xa5\xc8\xe3\x89\x0d\x9c\x7b\x9a\x1a\x0a\x45\x06\xa4\xf2\xe3\xa8\x37\x34\xb2\x85\x65\x39\x49\xa2\xbe\xce\x74\x0a\xff\x13\x03\x82\xa6\x92\x34\x49\x3b\x3c\xe5\x86\xe6\x25\x3c\x37\x60\x58\x69\x2a\xfc\x68\x8e\x48\x36\xa7\x12\x2e\x43\x74\x6a\x63\x71\x45\xe9\xd2\x49\x3e\xfb\xd3\x21\x5e\xc5\x76\xf9\xb2\xbd\x81\x74\x55\xbf\x20\x57\x49\x74\x72\x72\xf2\xde\xf8\xad\x6a\xeb\xc2\x35\xeb\x11\x0f\xdb\x50\x5b\xdf\x85\xab\x7f\x3a\x49\x5c\x07\x3b\x2f\x00\xbd\x50\xde\x32\x75\x2b\x64\x8f\x5d\x94\xb0\x76\x76\x5f\xf7\x37\x30\x7d\xa6\x57\x33\x8c\x0f\x1a\x76\x5d\x75\x56\x77\xef\x90\xdf\xab\xd8\xd9\xde\x90\x64\xbf\x42\xb3\x8b\xb1\xb4\xe9\x36\x54\x8e\xd1\x71\xc8\x0e\x28\x7d\x0f\x17\x3f\x4e\x93\x03\x5a\x76\xb4\x96\x85\xa6\x5c\x34\x82\x24\x9f\x1b\x68\xda\x65\x2d\x72\x40\xbf\x06\xa0\x96\x3f\x29\x3f\x64\xd4\x67\xc0\x25\xac\x88\xc3\xd2\x74\x6f\xa4\xe3\x48\x47\x4c\x34\x04\x9e\x53\x4e\x62\x43\xfa\x18\x96\x7b\xe0\x9d\xd4\xa7\xa4\x39\x36\xb8\x14\xb5\x60\x41\xa6\x73\xd4\xd9\xdb\xd8\x4e\x5d\xd1\xdd\x55\xbc\x67\x9a\xae\xaa\x77\x0d\xec\x9d\x0f\x2d\xe4\x13\x3f\xee\xc6\x8d\x6b\x72\x28\xc4\x1d\x35\xca\x08\x2f\x7b\x37\x3b\xd9\xd9\x22\xfc\x03\x0c\xeb\xe8\x63\xaa\x0c\x14\x49\x0b\x5f\x30\x6c\xc6\xec\xa2\xf7\xca\x00\x7b\x17\x5c\xbd\x8b\x7e\x05\x00\x00\xff\xff\x5a\x95\x28\x10\x31\x07\x00\x00"
 
 func transfer_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -822,11 +822,11 @@ func transfer_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0x1c, 0xce, 0xf7, 0x5e, 0xbf, 0x36, 0xce, 0xe6, 0x61, 0x21, 0x92, 0x14, 0xa2, 0xfe, 0xe9, 0x99, 0xf6, 0x73, 0xa, 0x1c, 0x11, 0xce, 0x36, 0x79, 0x26, 0xce, 0xed, 0x16, 0x11, 0x38, 0x18}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x79, 0x52, 0xbc, 0xa, 0x35, 0xc4, 0x27, 0x38, 0x88, 0x1c, 0xc2, 0x1e, 0xeb, 0x35, 0x82, 0x5f, 0xde, 0x8a, 0x3e, 0xa2, 0x2c, 0xc2, 0x72, 0xaf, 0x37, 0x6e, 0xc4, 0x5e, 0x4, 0x90, 0xf0, 0x4c}}
 	return a, nil
 }
 
-var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x53\x4b\x6f\xdb\x30\x0c\xbe\xfb\x57\x70\x39\xb4\x0e\xb0\x3a\x97\x61\x87\xa0\x8f\x75\x8f\xee\x5a\x74\x5d\x77\xa6\x65\x26\xd6\xe6\x48\x02\x45\x37\x2d\x8a\xfe\xf7\x41\x92\xe5\xd9\xe9\xb0\x47\x2e\x81\x29\xea\xe3\xf7\xa0\x56\x2b\xb8\x6d\xb5\x07\x61\x34\x1e\x95\x68\x6b\x40\x7b\x40\x10\xda\xb9\x0e\x85\x60\x63\x39\x7c\x4e\xce\xa5\x45\x29\x56\x2b\x50\xb6\xef\x1a\xa8\x09\x7a\x4f\x0d\xd4\x8f\x80\xe6\xd1\x1a\x02\xb1\xe0\xc9\x34\x20\xf6\x07\x19\x1f\x3e\xd1\x58\x69\x89\x01\x95\xb2\xbd\x89\x97\x03\x08\xb4\xe8\xa1\x26\x32\xe0\x49\xa0\x77\xa1\x95\x49\x91\xbe\xa7\xe1\x72\x55\xac\x56\x45\xe4\x48\xb0\xd7\xd2\x36\x8c\x7b\xc0\x5d\x00\x01\x0c\x23\x5a\xca\xa0\xb0\x61\xbb\x83\x2d\xc9\xe5\xaf\x21\xfb\xcc\x30\xf4\x39\x64\xdc\x91\x10\x47\x4a\xa1\x32\x11\x55\x14\x7a\xe7\x2c\x0b\x5c\xf5\x66\xab\xeb\x8e\x6e\xc3\xfc\x84\xb9\x98\xd5\x16\xb9\xf3\xd3\x03\xee\xdc\xbc\x71\x5a\x5a\x14\xc5\x04\xbf\x4c\xa4\xd7\xf0\xf5\x4a\x3f\xbc\x7d\xf3\x1a\xc4\xae\xe1\xb2\x69\x98\xbc\x5f\xc2\x53\x51\x00\x00\x0c\x42\xef\xb0\xef\x04\x98\xbc\xed\x59\xd1\xe0\x94\xed\x1a\x9f\x48\x0f\xae\x86\x2a\x32\x41\x4d\xda\x6c\x93\x94\x0d\x31\x53\x13\xa1\x3a\x92\x10\x82\x44\xac\x35\xbc\x7b\x9a\x69\xa8\x62\xf9\x39\x4d\x75\x4c\x0e\x99\x4a\xaf\xb7\x86\x78\x0d\xd8\x4b\x5b\xbe\xb7\xcc\x76\x7f\x87\x5d\x4f\x4b\x38\x1a\x2c\x1d\x89\x0e\x64\x3f\x93\x00\x02\xd3\x86\x98\x8c\xa2\x6c\x6b\x02\x3a\xf6\xe0\xc5\x32\x35\x70\x1f\x86\x8d\xf7\x02\xb3\x58\xb9\xa1\x0d\x9c\x0d\xcd\x55\x68\xc5\x2d\x55\x75\x9c\x7b\x1a\x39\xcc\x29\x7f\x1b\xe2\xc7\xba\x0b\x94\xa6\x56\x27\x39\xe7\x65\x08\x61\x0d\x2f\x4f\xbe\x24\xf0\x6b\x94\x76\x39\xf2\x08\xbf\x8b\x0b\x70\x68\xb4\x2a\x17\x1f\xe2\xa6\x18\x2b\x90\x18\xbc\x54\x65\xf7\x49\x54\x44\x7c\xb5\x58\xce\x9c\xc8\xe4\x72\x3a\x71\x1d\xfe\xee\x85\xa7\x6e\x53\x8d\x31\xc1\xe9\xc9\xe8\x4c\x95\xb7\x7d\x5c\x9c\xf4\x9f\xf8\x0f\xc9\xd1\x03\xa9\x5e\xe8\x37\xa9\x84\xd1\x4c\x4a\x3b\x4d\x46\x8e\x3d\xb8\xbe\xee\xb4\x1a\x9f\x8a\xad\xbf\x93\x9a\x47\x32\x76\xc3\xd9\xe4\x11\x95\x62\x97\xff\x12\xf9\x74\xd6\x4d\x7a\xc1\x7c\x08\x1f\x8b\x29\xf4\xb1\xbd\x52\xe8\xb0\xd6\x9d\x16\x4d\x3e\x87\x7f\x74\xb0\xac\x19\xf0\xf9\xbc\x9c\x65\x9b\xeb\xd7\x51\xdc\x7f\xa6\x9b\xae\xfe\x59\x49\x4c\xe5\x20\xe9\x8f\xe4\xac\xd7\xc9\xe1\x9c\x91\xc9\xb1\x6b\xf3\x02\x83\x0f\xdd\x98\x38\x51\x35\x09\x6c\x58\xdc\xd3\x93\xf9\x3e\xe4\xac\x9f\x8b\x9f\x01\x00\x00\xff\xff\x10\xe8\xaf\x10\xa6\x05\x00\x00"
+var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x41\x4f\xdb\x4a\x10\xbe\xfb\x57\x0c\x39\x80\x23\x81\x7d\x79\x7a\x87\x28\xc0\xe3\x41\xe9\xa9\x52\x85\x52\x7a\x1e\xdb\x93\x78\x5b\x67\xd7\x9a\x1d\x27\x20\xc4\x7f\xaf\x76\xd7\x6b\xec\x40\x29\xf5\x01\xb4\x93\xd9\x6f\xbe\xf9\xbe\x99\xcd\x73\x58\xd5\xca\x82\x30\x6a\x8b\xa5\x28\xa3\x41\x59\x40\x10\xda\xb6\x0d\x0a\xc1\xda\xb0\x3b\x8e\x7e\x97\x1a\x25\xc9\x73\x28\x4d\xd7\x54\x50\x10\x74\x96\x2a\x28\x1e\x01\xf5\xa3\xd1\x04\x62\xc0\x92\xae\x40\xcc\x4f\xd2\xd6\x1d\x51\x1b\xa9\x89\x01\xcb\xd2\x74\xda\x5f\x76\x20\x50\xa3\x85\x82\x48\x83\x25\x81\xae\x75\xa9\x4c\x25\xa9\x1d\xf5\x97\xb3\x24\xcf\x13\xcf\x91\x60\xaf\xa4\xae\x18\xf7\x80\x5b\x07\x02\xe8\x4a\xd4\x14\x41\x61\xcd\x66\x0b\x1b\x92\xab\x97\x22\xfb\xc8\xd0\xe5\xb5\xc8\xb8\x25\x21\xf6\x94\x5c\x64\xd4\x54\x92\xa8\x6d\x6b\x58\xe0\xb6\xd3\x1b\x55\x34\xb4\x72\xf5\x03\xe6\x6c\x12\x9b\xc5\xcc\x4f\x0f\xb8\x6d\xa7\x89\xe3\xd0\xec\x4d\xc4\x2f\x24\x58\xa1\xe0\xbd\xa2\xbd\x7d\x0b\x7e\x92\x30\x4b\x92\x11\xc7\x34\x34\xbe\x80\x6f\xb7\xea\xe1\xdf\x7f\x4e\x41\xcc\x02\xae\xaa\x8a\xc9\xda\x39\x3c\x25\x09\x00\x40\x9e\xe7\x70\xbb\xba\xc7\xae\x91\x1b\x14\x84\x6d\x8f\x07\x3b\x45\x7b\x6f\xa6\xef\xdc\x93\x2e\x48\xe9\x8d\x77\xcf\x5f\x6d\x48\x60\x17\x2f\x2e\xde\xe1\x9d\x8d\x0a\xc4\xaa\xde\x22\x1f\x05\x26\x6b\x3a\x2e\xa9\xf7\xd8\x34\x95\x7d\x29\x6a\x43\x14\x99\xfa\xf2\xbe\xc1\x35\x31\x8f\x58\x58\xd2\xe2\xb1\x16\xf0\xdf\xd3\x84\x47\xe6\xc3\xcf\xa1\x6a\xcb\xd4\x22\x53\x6a\xd5\x46\x13\x2f\x00\x3b\xa9\xd3\xff\x0d\xb3\xd9\xdf\x63\xd3\xd1\x1c\x8e\xfb\x61\x18\xe4\x71\x9f\xa5\x66\x9d\x0d\x8d\xc2\xf9\xc4\xc9\xcc\xb1\x6f\x76\x74\x6d\xb4\x30\x96\xe2\x1a\x4e\x63\x47\xab\xc7\x96\x16\xa0\x55\x73\xea\xe5\x0c\x47\xf7\x77\xf9\x31\xb1\x2e\xd2\xf9\x1c\xd0\x1e\x7d\x50\xdb\xcb\x81\xb2\xfb\x2e\x2f\xa1\x45\xad\xca\x74\xe6\x12\xef\x02\x4d\x86\xca\x90\x05\x6d\x82\xec\xcd\x8e\x26\xee\x3b\x96\xb3\xf9\x4b\xeb\x79\x0e\x9f\x49\x00\x81\x69\x4d\x4c\xba\xa4\xb8\x0b\x41\xc3\x13\x0b\x56\x0c\x53\x15\x06\x61\xb8\x37\x8c\xc6\x1d\xad\xe1\xbc\x4f\xce\x5c\x2a\x6e\x28\x2b\xbc\xe4\x4b\x2f\xff\xd4\xad\xef\xfd\xce\xce\xe1\x78\x22\xb2\x67\x78\x91\xba\xf9\x5f\x1c\xf8\x11\x51\xbf\xa2\xd4\xf3\xdf\x08\x70\xed\xf7\xda\x35\x1d\x4a\xbf\x6e\xc7\xec\x43\x37\xbe\xd0\xd1\x81\x04\x91\x55\x9c\x48\xbf\x86\x7f\x16\xc1\xf3\x1c\x46\x13\x96\x67\x83\x24\x59\x7c\x9b\x86\x15\x0d\xff\x03\xff\x7e\x5a\xe9\x81\xca\x4e\x68\x3c\x89\xbd\x1d\xae\x34\x53\xa9\x5a\x45\x5a\x4e\x2c\xb4\x5d\xd1\xa8\x72\x78\xd8\x4c\xf1\x83\xca\xa9\x17\x43\x36\x9c\x8f\x9e\xbc\x54\xcc\x87\xbc\x1e\xd7\xba\x0b\xef\x2d\x1f\xc2\xfb\x60\x70\x7b\x48\xcf\x4a\x6c\xb1\x50\x8d\x12\x45\x36\xba\x7e\x7c\xb0\xa0\x11\xf0\xf9\x22\x3d\x30\x36\xa2\xfe\xa5\xb3\xe1\xd2\xfb\x5d\x78\x47\x0e\x5c\xbe\xa1\xd6\x58\x15\xd4\x8d\xfe\xe8\x68\xb9\xd2\xaf\x30\xf8\x50\x89\x91\x0a\x59\x15\xc0\xfa\x89\x5d\x9e\x4d\x67\x21\xfa\xfc\x9c\xfc\x0a\x00\x00\xff\xff\xa8\x88\xdd\xc4\x50\x07\x00\x00"
 
 func transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -842,7 +842,7 @@ func transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0xbd, 0xbb, 0xb0, 0x2c, 0x7a, 0x2c, 0xa8, 0xe5, 0xee, 0x3, 0xa2, 0xb3, 0x6d, 0x1b, 0xbc, 0x94, 0x89, 0xf5, 0xb3, 0x96, 0x9, 0xc4, 0x1c, 0x48, 0xa4, 0x3, 0x37, 0x50, 0x47, 0xaf, 0x7a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0xeb, 0xf5, 0xbd, 0xdf, 0x36, 0xbe, 0xbe, 0xd7, 0x5d, 0xac, 0xb9, 0x29, 0xc9, 0xcb, 0x71, 0x9f, 0x4a, 0x0, 0x79, 0x61, 0x75, 0x2c, 0xff, 0x5a, 0x8d, 0x3d, 0x7d, 0x7d, 0xda, 0x14, 0xef}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/templates.go b/lib/go/templates/templates.go
index 175aa084..a6fdfe7c 100644
--- a/lib/go/templates/templates.go
+++ b/lib/go/templates/templates.go
@@ -23,6 +23,7 @@ var (
 	placeholderMetadataViews      = "\"MetadataViews\""
 	placeholderFTMetadataViews    = "\"FungibleTokenMetadataViews\""
 	placeholderViewResolver       = "\"ViewResolver\""
+	placeholderBurner             = "\"Burner\""
 )
 
 type Environment struct {
@@ -34,6 +35,7 @@ type Environment struct {
 	MetadataViewsAddress              string
 	FungibleTokenMetadataViewsAddress string
 	ViewResolverAddress               string
+	BurnerAddress                     string
 	SwitchboardAddress                string
 }
 
@@ -93,6 +95,12 @@ func ReplaceAddresses(code string, env Environment) string {
 		withHexPrefix(env.ViewResolverAddress),
 	)
 
+	code = strings.ReplaceAll(
+		code,
+		placeholderBurner,
+		withHexPrefix(env.BurnerAddress),
+	)
+
 	code = strings.ReplaceAll(
 		code,
 		placeholderSwitchboard,
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index dc34a6bc..7d9c1f99 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -3,40 +3,26 @@ module github.com/onflow/flow-ft/lib/go/test
 go 1.18
 
 require (
-	github.com/onflow/cadence v1.0.0-preview.2.0.20240120000236-f3397a0efdad
-	github.com/onflow/flow-emulator v0.59.1-0.20240122200325-58ef35ed4aed
-	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20231212194336-a2802ba36596
-	github.com/onflow/flow-ft/lib/go/templates v0.0.0-00010101000000-000000000000
-	github.com/onflow/flow-go-sdk v0.44.1-0.20240124213231-78d9f08eeae1
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240120002146-9f1763b66d80
+	github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2
+	github.com/onflow/cadence v1.0.0-M4
+	github.com/onflow/flow-emulator v1.0.0-M1
+	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240125205519-2e80d9b4bd01
+	github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240125205519-2e80d9b4bd01
+	github.com/onflow/flow-go-sdk v1.0.0-M1
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
 
-require (
-	github.com/Microsoft/go-winio v0.6.1 // indirect
-	github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
-	github.com/consensys/bavard v0.1.13 // indirect
-	github.com/consensys/gnark-crypto v0.12.1 // indirect
-	github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect
-	github.com/ethereum/c-kzg-4844 v0.4.0 // indirect
-	github.com/mmcloughlin/addchain v0.4.0 // indirect
-	github.com/onflow/crypto v0.25.0 // indirect
-	github.com/supranational/blst v0.3.11 // indirect
-	golang.org/x/mod v0.14.0 // indirect
-	golang.org/x/tools v0.16.0 // indirect
-	rsc.io/tmplfunc v0.0.3 // indirect
-)
-
 require (
 	github.com/DataDog/zstd v1.5.2 // indirect
-	github.com/SaveTheRbtz/mph v0.1.2 // indirect
+	github.com/Microsoft/go-winio v0.6.1 // indirect
+	github.com/SaveTheRbtz/mph v0.1.1-0.20240117162131-4166ec7869bc // indirect
 	github.com/StackExchange/wmi v1.2.1 // indirect
 	github.com/VictoriaMetrics/fastcache v1.12.1 // indirect
 	github.com/beorn7/perks v1.0.1 // indirect
 	github.com/bits-and-blooms/bitset v1.7.0 // indirect
 	github.com/btcsuite/btcd/btcec/v2 v2.2.1 // indirect
-	github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0
 	github.com/cenkalti/backoff/v4 v4.2.1 // indirect
 	github.com/cespare/xxhash v1.1.0 // indirect
 	github.com/cespare/xxhash/v2 v2.2.0 // indirect
@@ -44,7 +30,11 @@ require (
 	github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
 	github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 // indirect
 	github.com/cockroachdb/redact v1.1.3 // indirect
+	github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
+	github.com/consensys/bavard v0.1.13 // indirect
+	github.com/consensys/gnark-crypto v0.12.1 // indirect
 	github.com/coreos/go-semver v0.3.0 // indirect
+	github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
 	github.com/deckarep/golang-set/v2 v2.1.0 // indirect
 	github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
@@ -54,6 +44,7 @@ require (
 	github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
 	github.com/dustin/go-humanize v1.0.1 // indirect
 	github.com/ef-ds/deque v1.0.4 // indirect
+	github.com/ethereum/c-kzg-4844 v0.4.0 // indirect
 	github.com/ethereum/go-ethereum v1.13.5 // indirect
 	github.com/fsnotify/fsnotify v1.6.0 // indirect
 	github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c // indirect
@@ -110,6 +101,7 @@ require (
 	github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
 	github.com/minio/sha256-simd v1.0.1 // indirect
 	github.com/mitchellh/mapstructure v1.5.0 // indirect
+	github.com/mmcloughlin/addchain v0.4.0 // indirect
 	github.com/mr-tron/base58 v1.2.0 // indirect
 	github.com/multiformats/go-base32 v0.1.0 // indirect
 	github.com/multiformats/go-base36 v0.2.0 // indirect
@@ -121,10 +113,10 @@ require (
 	github.com/multiformats/go-varint v0.0.7 // indirect
 	github.com/olekukonko/tablewriter v0.0.5 // indirect
 	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
-	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240120002724-ff3d1a4bab55 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240120002724-ff3d1a4bab55 // indirect
-	github.com/onflow/flow-go v0.33.2-0.20240122190738-254af677b873 // indirect
-	github.com/onflow/flow-go/crypto v0.25.0 // indirect
+	github.com/onflow/crypto v0.25.0 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d // indirect
+	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d // indirect
+	github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61 // indirect
 	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2 // indirect
 	github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba // indirect
 	github.com/opentracing/opentracing-go v1.2.0 // indirect
@@ -146,7 +138,7 @@ require (
 	github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
 	github.com/slok/go-http-metrics v0.10.0 // indirect
 	github.com/spaolacci/murmur3 v1.1.0 // indirect
-	github.com/spf13/afero v1.9.3 // indirect
+	github.com/spf13/afero v1.10.0 // indirect
 	github.com/spf13/cast v1.5.0 // indirect
 	github.com/spf13/cobra v1.8.0 // indirect
 	github.com/spf13/jwalterweatherman v1.1.0 // indirect
@@ -154,6 +146,7 @@ require (
 	github.com/spf13/viper v1.15.0 // indirect
 	github.com/stretchr/objx v0.5.0 // indirect
 	github.com/subosito/gotenv v1.4.2 // indirect
+	github.com/supranational/blst v0.3.11 // indirect
 	github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect
 	github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c // indirect
 	github.com/tklauser/go-sysconf v0.3.12 // indirect
@@ -164,7 +157,6 @@ require (
 	github.com/vmihailenco/tagparser v0.1.1 // indirect
 	github.com/x448/float16 v0.8.4 // indirect
 	github.com/zeebo/blake3 v0.2.3 // indirect
-	github.com/zeebo/xxh3 v1.0.2 // indirect
 	go.opentelemetry.io/otel v1.16.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 // indirect
@@ -178,10 +170,12 @@ require (
 	go.uber.org/zap v1.24.0 // indirect
 	golang.org/x/crypto v0.17.0 // indirect
 	golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc // indirect
+	golang.org/x/mod v0.14.0 // indirect
 	golang.org/x/net v0.19.0 // indirect
 	golang.org/x/sync v0.5.0 // indirect
 	golang.org/x/sys v0.15.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
+	golang.org/x/tools v0.16.0 // indirect
 	golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
 	gonum.org/v1/gonum v0.13.0 // indirect
 	google.golang.org/appengine v1.6.7 // indirect
@@ -197,9 +191,10 @@ require (
 	modernc.org/mathutil v1.5.0 // indirect
 	modernc.org/memory v1.5.0 // indirect
 	modernc.org/sqlite v1.21.1 // indirect
+	rsc.io/tmplfunc v0.0.3 // indirect
 )
 
-replace github.com/onflow/flow-nft/lib/go/contracts => ../../../../flow/flow-nft/lib/go/contracts
+// replace github.com/onflow/flow-nft/lib/go/contracts => ../../../../flow/flow-nft/lib/go/contracts
 
 replace github.com/onflow/flow-ft/lib/go/contracts => ../contracts
 
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 29e5b23e..8c33c472 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -961,8 +961,8 @@ github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migc
 github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
 github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8=
-github.com/SaveTheRbtz/mph v0.1.2 h1:5l3W496Up+7BNOVJQnJhzcGBh+wWfxWdmPUAkx3WmaM=
-github.com/SaveTheRbtz/mph v0.1.2/go.mod h1:V4+WtKQPe2+dEA5os1WnGsEB0NR9qgqqgIiSt73+sT4=
+github.com/SaveTheRbtz/mph v0.1.1-0.20240117162131-4166ec7869bc h1:DCHzPQOcU/7gwDTWbFQZc5qHMPS1g0xTO56k8NXsv9M=
+github.com/SaveTheRbtz/mph v0.1.1-0.20240117162131-4166ec7869bc/go.mod h1:LJM5a3zcIJ/8TmZwlUczvROEJT8ntOdhdG9jjcR1B0I=
 github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0=
 github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
 github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA=
@@ -1048,8 +1048,8 @@ github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFA
 github.com/btcsuite/btcd/btcec/v2 v2.2.1 h1:xP60mv8fvp+0khmrN0zTdPC3cNm24rfeE6lh2R/Yv3E=
 github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8=
 github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
-github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 h1:59Kx4K6lzOW5w6nFlA0v5+lk/6sjybR934QNHSJZPTQ=
-github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
+github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2 h1:KdUfX2zKommPRa+PD0sWZUyXe9w277ABlgELO7H04IM=
+github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
 github.com/bytecodealliance/wasmtime-go/v7 v7.0.0/go.mod h1:bu6fic7trDt20w+LMooX7j3fsOwv4/ln6j8gAdP6vmA=
 github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34=
 github.com/c-bata/go-prompt v0.2.6/go.mod h1:/LMAke8wD2FsNu9EXNdHxNLbd9MedkPnCdfpU9wwHfY=
@@ -1638,7 +1638,7 @@ github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM52
 github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
 github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
 github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
-github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
+github.com/klauspost/cpuid/v2 v2.2.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
 github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
 github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg=
@@ -1710,12 +1710,10 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky
 github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
 github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
-github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
 github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
-github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
@@ -1726,7 +1724,6 @@ github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4
 github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
 github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE=
 github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0=
-github.com/mattn/go-tty v0.0.4/go.mod h1:u5GGXBtZU6RQoKV8gY5W6UhMudbR5vXnUe7j3pxse28=
 github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
@@ -1805,30 +1802,28 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
 github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
-github.com/onflow/atree v0.6.0/go.mod h1:gBHU0M05qCbv9NN0kijLWMgC47gHVNBIp4KmsVFi0tc=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
-github.com/onflow/cadence v0.42.6/go.mod h1:raU8va8QRyTa/eUbhej4mbyW2ETePfSaywoo36MddgE=
-github.com/onflow/cadence v1.0.0-preview.2.0.20240120000236-f3397a0efdad h1:byQlVs03hkss2a0x/c8sGJRCzm5xOkC1oJIuDBaupso=
-github.com/onflow/cadence v1.0.0-preview.2.0.20240120000236-f3397a0efdad/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
+github.com/onflow/cadence v1.0.0-M3/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
+github.com/onflow/cadence v1.0.0-M4 h1:/nt3j7vpYDxuI0ghIgAJrb2R01ijvJYZLAkKt+zbpTY=
+github.com/onflow/cadence v1.0.0-M4/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
 github.com/onflow/crypto v0.25.0 h1:BeWbLsh3ZD13Ej+Uky6kg1PL1ZIVBDVX+2MVBNwqddg=
 github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI=
-github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240120002724-ff3d1a4bab55 h1:2MDRQGjNs4P9o3qDZkffp4KnLTQU+EsMnD0M44SPxF0=
-github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240120002724-ff3d1a4bab55/go.mod h1:BLHo5p9QaE+t/Erf8lXOIU/LdTj2Fhs2BGQvjjOCdyU=
-github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240120002724-ff3d1a4bab55 h1:f+ETsRPfwhVwmA4y+qyp/lmGQXbz/dkzUJ93TPckQcM=
-github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240120002724-ff3d1a4bab55/go.mod h1:PMZB6yTducbk3uAj/8N9yqqd0IVsV54yue+LesbGdto=
-github.com/onflow/flow-emulator v0.59.1-0.20240122200325-58ef35ed4aed h1:ybV/+STwazQhJrTuWklYWcuZdWFpti5b0EkTE2MIe7Q=
-github.com/onflow/flow-emulator v0.59.1-0.20240122200325-58ef35ed4aed/go.mod h1:UfcYYcaMMFHvSBA78+goDf2K/eNDrDoBlqjN+JPZyJE=
-github.com/onflow/flow-go v0.33.2-0.20240122190738-254af677b873 h1:h4Ea4hk4Ry19Q/55L/vHnRy4E2NxTA5Y5ZKn2RV1FP8=
-github.com/onflow/flow-go v0.33.2-0.20240122190738-254af677b873/go.mod h1:qiNwvJHt0ATFSiF01IfORYelT5xPiHZ86paYWX3Bwzc=
-github.com/onflow/flow-go-sdk v0.44.1-0.20240124213231-78d9f08eeae1 h1:mPPWgbBvXa1e4Szh4pScMJSB0JEOoUggLeargIaqrKk=
-github.com/onflow/flow-go-sdk v0.44.1-0.20240124213231-78d9f08eeae1/go.mod h1:CfMN55RlTRb3WnKPynmjoqLO2qCmF0EgczN4SSa4gZk=
-github.com/onflow/flow-go/crypto v0.25.0 h1:6lmoiAQ3APCF+nV7f4f2AXL3PuDKqQiWqRJXmjrMEq4=
-github.com/onflow/flow-go/crypto v0.25.0/go.mod h1:OOb2vYcS8AOCajBClhHTJ0NKftFl1RQgTQ0+Vh4nbqk=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d h1:Afcfk/9jAQZ1v5PLGdP68FG/0yPPM60fn9Eq8ChBGS0=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d/go.mod h1:Ts/HN+N0RaYJ6oPCqR1JPaMVFiVaMdKTSUH4OdSjjs0=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d h1:IQJpP3VLLjT4R8ItBpr+Mmp0IOnC/8iBcM0/67JNB9c=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d/go.mod h1:MZ2j5YVTQiSE0B99zuaYhxvGG5GcvimWpQK1Fw/1QBg=
+github.com/onflow/flow-emulator v1.0.0-M1 h1:0hBEmvm73F+5HhN5ugkOP3UyN+Ea9yGWflEmoeGzgdw=
+github.com/onflow/flow-emulator v1.0.0-M1/go.mod h1:JFJCeQVyhCQVD2Tq4QhctIXK6j5U6aU15yoEwMJt5AQ=
+github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61 h1:Xq40zbxw9mDS1+Zz1p6DCzAxDYQwbHWLJ5B9HOp9Fk8=
+github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61/go.mod h1:xdzERQeTalqsU0rHGSZgqQuE5krMfBQ4BA/4bgrLndY=
+github.com/onflow/flow-go-sdk v1.0.0-M1 h1:mke/ebYwNRRWPZqcwCV56Alx0A8psew43ZbSEUQ4TL8=
+github.com/onflow/flow-go-sdk v1.0.0-M1/go.mod h1:TDW0MNuCs4SvqYRUzkbRnRmHQL1h4X8wURsCw9P9beo=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad h1:I6LD9BOsilGbiqhGjP86FIIXJe0YdUz75d/oWdHFzDI=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231121210617-52ee94b830c2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2 h1:+rT+UsfTR39JZO8ht2+4fkaWfHw74SCj1fyz1lWuX8A=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
-github.com/onflow/sdks v0.5.0/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba h1:rIehuhO6bj4FkwE4VzwEjX7MoAlOhUJENBJLqDqVxAo=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
 github.com/onflow/wal v0.0.0-20230529184820-bc9f8244608d h1:gAEqYPn3DS83rHIKEpsajnppVD1+zwuYPFyeDVFaQvg=
@@ -1973,8 +1968,8 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B
 github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
 github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
 github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
-github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk=
-github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
+github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY=
+github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
 github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
 github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
 github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
@@ -2086,7 +2081,6 @@ github.com/zeebo/blake3 v0.2.3 h1:TFoLXsjeXqRNFxSbk35Dk4YtszE/MQQGK10BH4ptoTg=
 github.com/zeebo/blake3 v0.2.3/go.mod h1:mjJjZpnsyIVtVgTOSpJ9vmRE4wgDeyt2HU3qXvvKCaQ=
 github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo=
 github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4=
-github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
 github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
 go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
 go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
@@ -2097,7 +2091,7 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
 go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
-go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
+go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM=
 go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s=
 go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4=
 go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0=
@@ -2110,7 +2104,7 @@ go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26
 go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4=
 go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE=
 go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4=
-go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8=
+go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4=
 go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs=
 go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
@@ -2124,6 +2118,7 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
 go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
 go.uber.org/automaxprocs v1.5.2/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0=
+go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
 go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
 go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
 go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4=
@@ -2169,6 +2164,7 @@ golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIi
 golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
 golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
 golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
+golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
 golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
 golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
 golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -2525,6 +2521,7 @@ golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
 golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
 golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
 golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
+golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -2580,6 +2577,7 @@ golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtn
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
diff --git a/lib/go/test/token_test_helpers.go b/lib/go/test/token_test_helpers.go
index c96c6a27..290b3fb7 100644
--- a/lib/go/test/token_test_helpers.go
+++ b/lib/go/test/token_test_helpers.go
@@ -39,7 +39,7 @@ func deployTokenContracts(
 		[]sdktemplates.Contract{
 			{
 				Name:   "ViewResolver",
-				Source: string(nftcontracts.Resolver()),
+				Source: string(nftcontracts.ViewResolver()),
 			},
 		},
 	)
@@ -59,8 +59,21 @@ func deployTokenContracts(
 	)
 	assert.NoError(t, err)
 
+	// Deploy the Burner contract
+	burnerAddress, err := adapter.CreateAccount(context.Background(),
+		nil,
+		[]sdktemplates.Contract{
+			{
+				Name:   "Burner",
+				Source: string(contracts.Burner()),
+			},
+		},
+	)
+	assert.NoError(t, err)
+	env.BurnerAddress = burnerAddress.Hex()
+
 	// Deploy the FungibleToken contract
-	fungibleTokenCode := contracts.FungibleToken(resolverAddress.String())
+	fungibleTokenCode := contracts.FungibleToken(resolverAddress.String(), burnerAddress.String())
 	fungibleAddr, err := adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
@@ -102,7 +115,7 @@ func deployTokenContracts(
 	env.FungibleTokenMetadataViewsAddress = fungibleMetadataViewsAddr.Hex()
 
 	// Deploy the ExampleToken contract
-	exampleTokenCode := contracts.ExampleToken(fungibleAddr.String(), metadataViewsAddr.String(), fungibleMetadataViewsAddr.String(), resolverAddress.String(), "")
+	exampleTokenCode := contracts.ExampleToken(fungibleAddr.String(), metadataViewsAddr.String(), fungibleMetadataViewsAddr.String(), resolverAddress.String())
 	tokenAddr, err = adapter.CreateAccount(context.Background(),
 		key,
 		[]sdktemplates.Contract{
diff --git a/tests/scripts/get_vault_display.cdc b/tests/scripts/get_vault_display.cdc
index 5d92e5ed..9276a74a 100644
--- a/tests/scripts/get_vault_display.cdc
+++ b/tests/scripts/get_vault_display.cdc
@@ -9,7 +9,8 @@ import "ViewResolver"
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let account = getAccount(address)
 
-    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get vault data view for the contract")
     
     let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
         ?? panic("Could not borrow Balance reference to the Vault")
diff --git a/tests/scripts/get_views.cdc b/tests/scripts/get_views.cdc
index 976f38eb..ab741025 100644
--- a/tests/scripts/get_views.cdc
+++ b/tests/scripts/get_views.cdc
@@ -9,7 +9,8 @@ import "FungibleToken"
 access(all) fun main(address: Address): [Type] {
     let account = getAccount(address)
 
-    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get vault data view for the contract")
     
     let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
         ?? panic("Could not borrow Balance reference to the Vault")
diff --git a/transactions/burn_tokens.cdc b/transactions/burn_tokens.cdc
index 6f7ee0b6..29c223c3 100644
--- a/transactions/burn_tokens.cdc
+++ b/transactions/burn_tokens.cdc
@@ -1,5 +1,7 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import Burner from "Burner"
 
 /// This transaction is a template for a transaction that could be used by the admin account to burn tokens from their
 /// stored Vault
@@ -18,16 +20,19 @@ transaction(amount: UFix64) {
 
         self.supplyBefore = ExampleToken.totalSupply
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+            ?? panic("Could not get vault data view for the contract")
+
         // Withdraw tokens from the signer's vault in storage
-        let sourceVault = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(
-                from: ExampleToken.VaultStoragePath
+        let sourceVault = signer.storage.borrow<auth(FungibleToken.Withdraw) &ExampleToken.Vault>(
+                from: vaultData.storagePath
             ) ?? panic("Could not borrow a reference to the signer's ExampleToken vault")
         self.burnVault <- sourceVault.withdraw(amount: amount) as! @ExampleToken.Vault
     }
 
     execute {
 
-        ExampleToken.burnTokens(from: <-self.burnVault)
+        Burner.burn(<-self.burnVault)
 
     }
 
diff --git a/transactions/create_forwarder.cdc b/transactions/create_forwarder.cdc
index ce305568..d1926f33 100644
--- a/transactions/create_forwarder.cdc
+++ b/transactions/create_forwarder.cdc
@@ -30,31 +30,35 @@ import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 transaction(receiver: Address) {
 
-    prepare(acct: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
+    prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
     
-        let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
+        let vaultRef = signer.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
             ?? panic("Could not borrow Balance reference to the Vault")
 
+        // Get the receiver capability for the account being forwarded to
+        let recipient = getAccount(receiver).capabilities.get<&{FungibleToken.Receiver}>(vaultData.receiverPath)
+            ?? panic("Could not get the receiver capability")
+
         // Create the forwarder and save it to the account that is doing the forwarding
         let vault <- TokenForwarding.createNewForwarder(recipient: recipient)
-        acct.storage.save(<-vault, to: /storage/exampleTokenForwarder)
+        signer.storage.save(<-vault, to: /storage/exampleTokenForwarder)
 
         // Unlink the existing capability
-        acct.capabilities.unpublish(ExampleToken.ReceiverPublicPath)
+        signer.capabilities.unpublish(vaultData.receiverPath)
 
         // Link the new forwarding receiver capability
-        let tokenReceiverCap = acct.capabilities.storage.issue<&{FungibleToken.Receiver}>(
+        let tokenReceiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(
                 /storage/exampleTokenForwarder
             )
-        acct.capabilities.publish(tokenReceiverCap, at: ExampleToken.ReceiverPublicPath)
+        signer.capabilities.publish(tokenReceiverCap, at: vaultData.receiverPath)
 
         // Link the new ForwarderPublic capability
-        let tokenForwarderCap = acct.capabilities.storage.issue<&{TokenForwarding.ForwarderPublic}>(
+        let tokenForwarderCap = signer.capabilities.storage.issue<&{TokenForwarding.ForwarderPublic}>(
                 /storage/exampleTokenForwarder
             )
-        acct.capabilities.publish(tokenForwarderCap, at: /public/exampleTokenForwarder)
+        signer.capabilities.publish(tokenForwarderCap, at: /public/exampleTokenForwarder)
     }
 }
diff --git a/transactions/generic_transfer.cdc b/transactions/generic_transfer.cdc
index 9b50bafa..e9416981 100644
--- a/transactions/generic_transfer.cdc
+++ b/transactions/generic_transfer.cdc
@@ -14,7 +14,7 @@ transaction(amount: UFix64, to: Address, senderPath: StoragePath, receiverPath:
     prepare(signer: auth(BorrowValue) &Account) {
 
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &{FungibleToken.Provider}>(from: senderPath)
+        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &{FungibleToken.Provider}>(from: senderPath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
         self.tempVault <- vaultRef.withdraw(amount: amount)
diff --git a/transactions/mint_tokens.cdc b/transactions/mint_tokens.cdc
index 102388dc..b1a7e8fe 100644
--- a/transactions/mint_tokens.cdc
+++ b/transactions/mint_tokens.cdc
@@ -1,5 +1,6 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// This transaction is what the minter Account uses to mint new tokens
 /// They provide the recipient address and amount to mint, and the tokens
@@ -11,7 +12,7 @@ transaction(recipient: Address, amount: UFix64) {
     let tokenMinter: &ExampleToken.Minter
 
     /// Reference to the Fungible Token Receiver of the recipient
-    let tokenReceiver: &{FungibleToken.Vault}
+    let tokenReceiver: &{FungibleToken.Receiver}
 
     /// The total supply of tokens before the burn
     let supplyBefore: UFix64
@@ -23,11 +24,11 @@ transaction(recipient: Address, amount: UFix64) {
         self.tokenMinter = signer.storage.borrow<&ExampleToken.Minter>(from: ExampleToken.AdminStoragePath)
             ?? panic("Signer is not the token admin")
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
     
-        let vaultRef = getAccount(recipient).capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
-            ?? panic("Could not borrow Balance reference to the Vault")
+        self.tokenReceiver = getAccount(recipient).capabilities.borrow<&{FungibleToken.Receiver}>(vaultData.receiverPath)
+            ?? panic("Could not borrow receiver reference to the Vault")
     }
 
     execute {
diff --git a/transactions/privateForwarder/create_account_private_forwarder.cdc b/transactions/privateForwarder/create_account_private_forwarder.cdc
index 768f600b..ade172ca 100644
--- a/transactions/privateForwarder/create_account_private_forwarder.cdc
+++ b/transactions/privateForwarder/create_account_private_forwarder.cdc
@@ -1,6 +1,7 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 import PrivateReceiverForwarder from "PrivateReceiverForwarder"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// This transaction is used to create a user's Flow account with a private forwarder
 
@@ -9,18 +10,21 @@ transaction {
     /// New Account that will hold the forwarder
     let newAccount: auth(Storage, Contracts, Keys, Inbox, Capabilities) &Account
 
-    prepare(payer: auth(BorrowValue) &Account) {
-        self.newAccount = Account(payer: payer)
+    prepare(signer: auth(BorrowValue) &Account) {
+        self.newAccount = Account(payer: signer)
     }
 
     execute {
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+
         // Save a regular vault to the new account
-        self.newAccount.storage.save(<-ExampleToken.createEmptyVault(), to: ExampleToken.VaultStoragePath)
+        self.newAccount.storage.save(<-ExampleToken.createEmptyVault(vaultType: Type<@ExampleToken.Vault>()), to: vaultData.storagePath)
 
         // Issue a Receiver Capability targetting the ExampleToken Vault
         let receiverCapability = self.newAccount.capabilities.storage.issue<&{FungibleToken.Receiver}>(
-            ExampleToken.VaultStoragePath
+            vaultData.storagePath
         )
 
         // Use the private receiver to create a private forwarder
diff --git a/transactions/privateForwarder/create_private_forwarder.cdc b/transactions/privateForwarder/create_private_forwarder.cdc
index 1a0c2709..55d1b77d 100644
--- a/transactions/privateForwarder/create_private_forwarder.cdc
+++ b/transactions/privateForwarder/create_private_forwarder.cdc
@@ -1,6 +1,7 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 import PrivateReceiverForwarder from "PrivateReceiverForwarder"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 // This transaction creates a new private receiver in an account that 
 // doesn't already have a private receiver or a public token receiver
@@ -9,9 +10,13 @@ import PrivateReceiverForwarder from "PrivateReceiverForwarder"
 transaction {
 
     prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {
+
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+            ?? panic("Could not get vault data view for the contract")
+
         // Issue a Receiver Capability targetting the ExampleToken Vault
         let receiverCapability = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(
-            ExampleToken.VaultStoragePath
+            vaultData.storagePath
         )
         // Create the Forwarder resource
         let forwarder <- PrivateReceiverForwarder.createNewForwarder(recipient: receiverCapability)
diff --git a/transactions/privateForwarder/setup_and_create_forwarder.cdc b/transactions/privateForwarder/setup_and_create_forwarder.cdc
index e354e76c..9e4e422a 100644
--- a/transactions/privateForwarder/setup_and_create_forwarder.cdc
+++ b/transactions/privateForwarder/setup_and_create_forwarder.cdc
@@ -10,7 +10,7 @@ import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 transaction {
 
     prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
         if signer.capabilities.get<&PrivateReceiverForwarder.Forwarder>(PrivateReceiverForwarder.PrivateReceiverPublicPath) != nil {
@@ -21,7 +21,7 @@ transaction {
         if signer.storage.check<&ExampleToken.Vault>(from: vaultData.storagePath) == false {
             // Create a new ExampleToken Vault and put it in storage
             signer.storage.save(
-                <-ExampleToken.createEmptyVault(vaultType: Type<ExampleToken.Vault>()),
+                <-ExampleToken.createEmptyVault(vaultType: Type<@ExampleToken.Vault>()),
                 to: vaultData.storagePath
             )
         }
diff --git a/transactions/privateForwarder/transfer_private_many_accounts.cdc b/transactions/privateForwarder/transfer_private_many_accounts.cdc
index 220165aa..cfbcdbd2 100644
--- a/transactions/privateForwarder/transfer_private_many_accounts.cdc
+++ b/transactions/privateForwarder/transfer_private_many_accounts.cdc
@@ -8,17 +8,17 @@ import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 transaction(addressAmountMap: {Address: UFix64}) {
 
     // The Vault resource that holds the tokens that are being transferred
-    let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
+    let vaultRef: auth(FungibleToken.Withdraw) &ExampleToken.Vault
 
     let privateForwardingSender: &PrivateReceiverForwarder.Sender
 
     prepare(signer: auth(BorrowValue) &Account) {
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: vaultData.storagePath)
+        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &ExampleToken.Vault>(from: vaultData.storagePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
         self.privateForwardingSender = signer.storage.borrow<&PrivateReceiverForwarder.Sender>(from: PrivateReceiverForwarder.SenderStoragePath)
diff --git a/transactions/safe_generic_transfer.cdc b/transactions/safe_generic_transfer.cdc
index 23439b05..490ca1e4 100644
--- a/transactions/safe_generic_transfer.cdc
+++ b/transactions/safe_generic_transfer.cdc
@@ -17,7 +17,7 @@ transaction(amount: UFix64, to: Address, senderPath: StoragePath, receiverPath:
     prepare(signer: auth(BorrowValue) &Account) {
 
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &{FungibleToken.Provider}>(from: senderPath)
+        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &{FungibleToken.Provider}>(from: senderPath)
 			?? panic("Could not borrow reference to the owner's Vault!")
         
         self.senderReceiverRef = signer.storage.borrow<&{FungibleToken.Receiver}>(from: senderPath)
diff --git a/transactions/scripts/get_balance.cdc b/transactions/scripts/get_balance.cdc
index 09bfe1e0..4db1ffb0 100644
--- a/transactions/scripts/get_balance.cdc
+++ b/transactions/scripts/get_balance.cdc
@@ -3,9 +3,11 @@
 
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 access(all) fun main(address: Address): UFix64 {
-    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get vault data view for the contract")
 
     return getAccount(address).capabilities.borrow<&{FungibleToken.Vault}>(
             vaultData.metadataPath
diff --git a/transactions/scripts/metadata/get_token_metadata.cdc b/transactions/scripts/metadata/get_token_metadata.cdc
index 8aac5b12..b96831a0 100644
--- a/transactions/scripts/metadata/get_token_metadata.cdc
+++ b/transactions/scripts/metadata/get_token_metadata.cdc
@@ -5,7 +5,8 @@ import ViewResolver from "ViewResolver"
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTView {
     let account = getAccount(address)
 
-    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get vault data view for the contract")
 
     let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
diff --git a/transactions/scripts/metadata/get_vault_data.cdc b/transactions/scripts/metadata/get_vault_data.cdc
index 84f68f10..98daa670 100644
--- a/transactions/scripts/metadata/get_vault_data.cdc
+++ b/transactions/scripts/metadata/get_vault_data.cdc
@@ -5,7 +5,10 @@ import ViewResolver from "ViewResolver"
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTVaultData {
     let account = getAccount(address)
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get vault data view for the contract")
+
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let vaultData = FungibleTokenMetadataViews.getFTVaultData(vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_display.cdc b/transactions/scripts/metadata/get_vault_display.cdc
index 2a77d80c..729d5956 100644
--- a/transactions/scripts/metadata/get_vault_display.cdc
+++ b/transactions/scripts/metadata/get_vault_display.cdc
@@ -5,7 +5,10 @@ import ViewResolver from "ViewResolver"
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let account = getAccount(address)
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get vault data view for the contract")
+
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftDisplay = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_supply_view.cdc b/transactions/scripts/metadata/get_vault_supply_view.cdc
index 7d9e02f7..026d6ad0 100644
--- a/transactions/scripts/metadata/get_vault_supply_view.cdc
+++ b/transactions/scripts/metadata/get_vault_supply_view.cdc
@@ -7,7 +7,10 @@ import ViewResolver from "ViewResolver"
 access(all) fun main(address: Address): UFix64 {
     let account = getAccount(address)
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(ExampleToken.VaultPublicPath)
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get vault data view for the contract")
+
+    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftSupply = vaultRef.resolveView(Type<FungibleTokenMetadataViews.TotalSupply>())!
diff --git a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
index e35425da..daf42b23 100644
--- a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
+++ b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
@@ -26,7 +26,8 @@ access(all) fun main(address: Address): Bool {
             }
         )
 
-    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get vault data view for the contract")
 
     let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
diff --git a/transactions/setup_account.cdc b/transactions/setup_account.cdc
index 416d08dd..6bfcaa35 100644
--- a/transactions/setup_account.cdc
+++ b/transactions/setup_account.cdc
@@ -5,31 +5,35 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
 import ViewResolver from "ViewResolver"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 transaction () {
 
     prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+            ?? panic("ViewResolver does not resolve FTVaultData view")
+
         // Return early if the account already stores a ExampleToken Vault
-        if signer.storage.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath) != nil {
+        if signer.storage.borrow<&ExampleToken.Vault>(from: vaultData.storagePath) != nil {
             return
         }
 
-        let vault <- ExampleToken.createEmptyVault()
+        let vault <- ExampleToken.createEmptyVault(vaultType: Type<@ExampleToken.Vault>())
 
         // Create a new ExampleToken Vault and put it in storage
-        signer.storage.save(<-vault, to: ExampleToken.VaultStoragePath)
+        signer.storage.save(<-vault, to: vaultData.storagePath)
 
         // Create a public capability to the Vault that exposes the Vault interfaces
         let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(
-            ExampleToken.VaultStoragePath
+            vaultData.storagePath
         )
-        signer.capabilities.publish(vaultCap, at: ExampleToken.VaultPublicPath)
+        signer.capabilities.publish(vaultCap, at: vaultData.metadataPath)
 
         // Create a public Capability to the Vault's Receiver functionality
         let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(
-            ExampleToken.VaultStoragePath
+            vaultData.storagePath
         )
-        signer.capabilities.publish(receiverCap, at: ExampleToken.ReceiverPublicPath)
+        signer.capabilities.publish(receiverCap, at: vaultData.receiverPath)
     }
 }
diff --git a/transactions/switchboard/add_vault_capability.cdc b/transactions/switchboard/add_vault_capability.cdc
index 175bb17b..5b3abcf2 100644
--- a/transactions/switchboard/add_vault_capability.cdc
+++ b/transactions/switchboard/add_vault_capability.cdc
@@ -1,6 +1,7 @@
 import FungibleToken from "FungibleToken"
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to add a new fungible token vault
 /// capability to their switchboard resource
@@ -13,13 +14,14 @@ transaction {
     prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
 
         let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
 
         /* ExampleToken Vault configuration */
         //
         // Configure an ExampleToken Vault if needed
         if signer.storage.borrow<&ExampleToken.Vault>(from: vaultData.storagePath) == nil {
             // Create a new ExampleToken Vault and save it in storage
-            signer.storage.save(<-ExampleToken.createEmptyVault(), to: vaultData.storagePath)
+            signer.storage.save(<-ExampleToken.createEmptyVault(vaultType: Type<@ExampleToken.Vault>()), to: vaultData.storagePath)
             // Clear existing Capabilities at canonical paths
             signer.capabilities.unpublish(vaultData.metadataPath)
             signer.capabilities.unpublish(vaultData.receiverPath)
@@ -33,7 +35,7 @@ transaction {
         
         // Get the example token vault capability from the signer's account
         self.exampleTokenVaultCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(
-                ExampleToken.ReceiverPublicPath
+                vaultData.receiverPath
             ) ?? panic("Signer does not have a Example Token receiver capability")
         
         // Check if the receiver capability exists
diff --git a/transactions/switchboard/add_vault_wrapper_capability.cdc b/transactions/switchboard/add_vault_wrapper_capability.cdc
index 99dffa2a..93ae0df5 100644
--- a/transactions/switchboard/add_vault_wrapper_capability.cdc
+++ b/transactions/switchboard/add_vault_wrapper_capability.cdc
@@ -1,6 +1,7 @@
 import FungibleToken from "FungibleToken"
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to add a new vault wrapper capability
 /// to their switchboard resource
@@ -12,9 +13,12 @@ transaction {
 
     prepare(signer: auth(BorrowValue) &Account) {
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+
         // Get the token forwarder capability from the signer's account
         self.tokenForwarderCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(
-                ExampleToken.ReceiverPublicPath
+                vaultData.receiverPath
             )
 
         // Check if the receiver capability exists
diff --git a/transactions/switchboard/batch_add_vault_capabilities.cdc b/transactions/switchboard/batch_add_vault_capabilities.cdc
index 427cf649..7444f7c4 100644
--- a/transactions/switchboard/batch_add_vault_capabilities.cdc
+++ b/transactions/switchboard/batch_add_vault_capabilities.cdc
@@ -1,5 +1,6 @@
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to add several new fungible token
 /// vaults, belonging to a certain `Address` to their switchboard resource.
@@ -12,8 +13,11 @@ transaction (address: Address) {
 
     prepare(signer: auth(BorrowValue) &Account) {
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+
         // Get the example token vault path from the contract
-        self.exampleTokenVaultPath = ExampleToken.ReceiverPublicPath
+        self.exampleTokenVaultPath = vaultData.receiverPath
       
         // And store it in the array of public paths that will be passed to the
         // switchboard method
diff --git a/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc b/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
index e626d68d..f4298fbc 100644
--- a/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
+++ b/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
@@ -1,5 +1,6 @@
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to add several capabilities that point
 /// to fungible token vaults of a different `Type` and belong to a certain `Address`, to their switchboard resource.
@@ -12,10 +13,13 @@ transaction (address: Address) {
 
     prepare(signer: auth(BorrowValue) &Account) {
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+
         // Store the Example Token receiver's public path in the array of public 
         // paths that will be passed to the switchboard method
         self.vaultPaths = []
-        self.vaultPaths.append(ExampleToken.ReceiverPublicPath)
+        self.vaultPaths.append(vaultData.receiverPath)
 
         // Store the Example Token's type in the array of types that will be passed 
         // to the switchboard method
diff --git a/transactions/switchboard/safe_transfer_tokens.cdc b/transactions/switchboard/safe_transfer_tokens.cdc
index 7d2e02a8..b7ac6360 100644
--- a/transactions/switchboard/safe_transfer_tokens.cdc
+++ b/transactions/switchboard/safe_transfer_tokens.cdc
@@ -1,6 +1,7 @@
 import FungibleToken from "FungibleToken"
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 // This transaction is a template for a transaction that could be used by anyone 
 // to send tokens to another account through a switchboard using the safeDeposit
@@ -11,12 +12,15 @@ import ExampleToken from "ExampleToken"
 transaction(to: Address, amount: UFix64) {
 
     // The reference to the vault from the payer's account
-    let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
+    let vaultRef: auth(FungibleToken.Withdraw) &ExampleToken.Vault
 
     prepare(signer: auth(BorrowValue) &Account) {
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &ExampleToken.Vault>(from: vaultData.storagePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
     }
diff --git a/transactions/switchboard/safe_transfer_tokens_v2.cdc b/transactions/switchboard/safe_transfer_tokens_v2.cdc
index e53a6a3c..31e75853 100644
--- a/transactions/switchboard/safe_transfer_tokens_v2.cdc
+++ b/transactions/switchboard/safe_transfer_tokens_v2.cdc
@@ -1,6 +1,7 @@
 import FungibleToken from "FungibleToken"
 import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to send tokens to another account
 /// through a switchboard using the deposit method but before depositing we will explicitly check whether receiving
@@ -9,12 +10,15 @@ import ExampleToken from "ExampleToken"
 transaction(to: Address, amount: UFix64) {
 
     // The reference to the vault from the payer's account
-    let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
+    let vaultRef: auth(FungibleToken.Withdraw) &ExampleToken.Vault
 
     prepare(signer: auth(BorrowValue) &Account) {
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &ExampleToken.Vault>(from: vaultData.storagePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
     }
diff --git a/transactions/switchboard/setup_royalty_account.cdc b/transactions/switchboard/setup_royalty_account.cdc
index 6dd8dfbe..184b8417 100644
--- a/transactions/switchboard/setup_royalty_account.cdc
+++ b/transactions/switchboard/setup_royalty_account.cdc
@@ -15,76 +15,76 @@ transaction () {
     let fiatTokenVaultCapability: Capability<&{FungibleToken.Receiver}>   
     let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
 
-    prepare(acct: AuthAccount) {
+    prepare(signer: AuthAccount) {
 
         // Check if the account already has a Flow Vault
-        if acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault) == nil {
+        if signer.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault) == nil {
             // If not, create a new Flow Vault resource and put it into storage
-            acct.save(<- FlowToken.createEmptyVault(), to: /storage/flowTokenVault)
+            signer.save(<- FlowToken.createEmptyVault(vaultType: Type<@FlowToken.Vault>()), to: /storage/flowTokenVault)
         }
         // Check if the receiver capability is linked on the flow receiver path
-        if !acct.getCapability<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
+        if !signer.getCapability<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
                                                                            .check() {
             // if it's not, create a public capability to the flow vault exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
-            acct.unlink(/public/flowTokenReceiver)
-            acct.link<&{FungibleToken.Receiver}>(/public/flowTokenReceiver, 
+            signer.unlink(/public/flowTokenReceiver)
+            signer.link<&{FungibleToken.Receiver}>(/public/flowTokenReceiver, 
                                                      target: /storage/flowTokenVault)
         }
-        self.flowTokenVaultCapability = acct.getCapability<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
+        self.flowTokenVaultCapability = signer.getCapability<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
 
         // Check if the account already has a USDC Vault
-        if acct.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) == nil {
+        if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) == nil {
             // If not, create a new USDC Vault resource and put it into storage
-            acct.save(<- FiatToken.createEmptyVault(), 
+            signer.save(<- FiatToken.createEmptyVault(vaultType: Type<@FiatToken.Vault>()), 
                                                       to: FiatToken.VaultStoragePath)
         }
         // Check if the receiver capability is linked on the USDC receiver path
-        if !acct.getCapability<&{FungibleToken.Receiver}>
+        if !signer.getCapability<&{FungibleToken.Receiver}>
                                            (FiatToken.VaultReceiverPubPath).check() {
             // if it's not, create a public capability to the USDC vault exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
-            acct.unlink(FiatToken.VaultReceiverPubPath)
-            acct.link<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath, 
+            signer.unlink(FiatToken.VaultReceiverPubPath)
+            signer.link<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath, 
                                                   target: FiatToken.VaultStoragePath)
         }
-        self.fiatTokenVaultCapability = acct.getCapability<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath)
+        self.fiatTokenVaultCapability = signer.getCapability<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath)
         
         // Check if the account already has a Switchboard resource
-        if acct.borrow<&FungibleTokenSwitchboard.Switchboard>
+        if signer.borrow<&FungibleTokenSwitchboard.Switchboard>
                                 (from: FungibleTokenSwitchboard.StoragePath) == nil {
             // If not, create a new Switchboard resource and put it into storage
-            acct.save(<- FungibleTokenSwitchboard.createSwitchboard(), 
+            signer.save(<- FungibleTokenSwitchboard.createSwitchboard(), 
                                             to: FungibleTokenSwitchboard.StoragePath)
         }
         // Check if the receiver capability is linked on the receiver path
-        if !acct.getCapability
+        if !signer.getCapability
                       <&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>
                               (FungibleTokenSwitchboard.ReceiverPublicPath).check() {
             // if it's not, create a public capability to the Switchboard exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
-            acct.unlink(FungibleTokenSwitchboard.ReceiverPublicPath)
-            acct.link<&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>(
+            signer.unlink(FungibleTokenSwitchboard.ReceiverPublicPath)
+            signer.link<&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>(
                                          FungibleTokenSwitchboard.ReceiverPublicPath,
                                         target: FungibleTokenSwitchboard.StoragePath)
         }
         // Check if the SwitchboardPublic and ft receiver capabilities are linked on
         // the switchboard public path
-        if !acct.getCapability<
+        if !signer.getCapability<
         &FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}
                                        >(FungibleTokenSwitchboard.ReceiverPublicPath)
                                                                            .check() {
             // if it's not, create a public capability to the Switchboard exposing 
             // both the {FungibleTokenSwitchboard.SwitchboardPublic} and the 
             // {FungibleToken.Receiver} interfaces
-            acct.unlink(FungibleTokenSwitchboard.PublicPath)
-            acct.link<
+            signer.unlink(FungibleTokenSwitchboard.PublicPath)
+            signer.link<
             &FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}
                                                >(FungibleTokenSwitchboard.PublicPath,
                                         target: FungibleTokenSwitchboard.StoragePath)
         }
         // Get a reference to the switchboard
-        self.switchboardRef = acct.borrow<&FungibleTokenSwitchboard.Switchboard>
+        self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
                                          (from: FungibleTokenSwitchboard.StoragePath) 
                                 ?? panic("Could not borrow reference to switchboard")
 
diff --git a/transactions/switchboard/setup_royalty_account_by_paths.cdc b/transactions/switchboard/setup_royalty_account_by_paths.cdc
index 6042e260..a6d4f1fd 100644
--- a/transactions/switchboard/setup_royalty_account_by_paths.cdc
+++ b/transactions/switchboard/setup_royalty_account_by_paths.cdc
@@ -15,7 +15,7 @@ transaction (address: Address) {
     let vaultTypes: [Type]    
     let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
 
-    prepare(acct: AuthAccount) {
+    prepare(signer: AuthAccount) {
 
         // Prepare the paths and types arrays with the Flow and USDC tokens data
         self.vaultPaths = []
@@ -26,71 +26,71 @@ transaction (address: Address) {
         self.vaultTypes.append(Type<@FiatToken.Vault>())
 
         // Check if the account already has a Flow Vault
-        if acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault) == nil {
+        if signer.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault) == nil {
             // If not, create a new Flow Vault resource and put it into storage
-            acct.save(<- FlowToken.createEmptyVault(), to: /storage/flowTokenVault)
+            signer.save(<- FlowToken.createEmptyVault(vaultType: Type<@FlowToken.Vault>()), to: /storage/flowTokenVault)
         }
         // Check if the receiver capability is linked on the flow receiver path
-        if !acct.getCapability<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
+        if !signer.getCapability<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
                                                                            .check() {
             // if it's not, create a public capability to the flow vault exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
-            acct.unlink(/public/flowTokenReceiver)
-            acct.link<&{FungibleToken.Receiver}>(/public/flowTokenReceiver, 
+            signer.unlink(/public/flowTokenReceiver)
+            signer.link<&{FungibleToken.Receiver}>(/public/flowTokenReceiver, 
                                                      target: /storage/flowTokenVault)
         }
 
         // Check if the account already has a USDC Vault
-        if acct.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) == nil {
+        if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) == nil {
             // If not, create a new USDC Vault resource and put it into storage
-            acct.save(<- FiatToken.createEmptyVault(), 
+            signer.save(<- FiatToken.createEmptyVault(vaultType: Type<@FiatToken.Vault>()), 
                                                       to: FiatToken.VaultStoragePath)
         }
         // Check if the receiver capability is linked on the USDC receiver path
-        if !acct.getCapability<&{FungibleToken.Receiver}>
+        if !signer.getCapability<&{FungibleToken.Receiver}>
                                            (FiatToken.VaultReceiverPubPath).check() {
             // if it's not, create a public capability to the USDC vault exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
-            acct.unlink(FiatToken.VaultReceiverPubPath)
-            acct.link<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath, 
+            signer.unlink(FiatToken.VaultReceiverPubPath)
+            signer.link<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath, 
                                                   target: FiatToken.VaultStoragePath)
         }
 
         // Check if the account already has a Switchboard resource
-        if acct.borrow<&FungibleTokenSwitchboard.Switchboard>
+        if signer.borrow<&FungibleTokenSwitchboard.Switchboard>
                                 (from: FungibleTokenSwitchboard.StoragePath) == nil {
             // If not, create a new Switchboard resource and put it into storage
-            acct.save(<- FungibleTokenSwitchboard.createSwitchboard(), 
+            signer.save(<- FungibleTokenSwitchboard.createSwitchboard(), 
                                             to: FungibleTokenSwitchboard.StoragePath)
         }
         // Check if the receiver capability is linked on the receiver path
-        if !acct.getCapability
+        if !signer.getCapability
                       <&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>
                               (FungibleTokenSwitchboard.ReceiverPublicPath).check() {
             // if it's not, create a public capability to the Switchboard exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
-            acct.unlink(FungibleTokenSwitchboard.ReceiverPublicPath)
-            acct.link<&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>(
+            signer.unlink(FungibleTokenSwitchboard.ReceiverPublicPath)
+            signer.link<&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>(
                                          FungibleTokenSwitchboard.ReceiverPublicPath,
                                         target: FungibleTokenSwitchboard.StoragePath)
         }
         // Check if the SwitchboardPublic and ft receiver capabilities are linked on
         // the switchboard public path
-        if !acct.getCapability<
+        if !signer.getCapability<
         &FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}
                                        >(FungibleTokenSwitchboard.ReceiverPublicPath)
                                                                            .check() {
             // if it's not, create a public capability to the Switchboard exposing 
             // both the {FungibleTokenSwitchboard.SwitchboardPublic} and the 
             // {FungibleToken.Receiver} interfaces
-            acct.unlink(FungibleTokenSwitchboard.PublicPath)
-            acct.link<
+            signer.unlink(FungibleTokenSwitchboard.PublicPath)
+            signer.link<
             &FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}
                                                >(FungibleTokenSwitchboard.PublicPath,
                                         target: FungibleTokenSwitchboard.StoragePath)
         }
         // Get a reference to the switchboard
-        self.switchboardRef = acct.borrow<&FungibleTokenSwitchboard.Switchboard>
+        self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
                                          (from: FungibleTokenSwitchboard.StoragePath) 
                                 ?? panic("Could not borrow reference to switchboard")
 
diff --git a/transactions/switchboard/transfer_tokens.cdc b/transactions/switchboard/transfer_tokens.cdc
index b8b4923e..f29c81a7 100644
--- a/transactions/switchboard/transfer_tokens.cdc
+++ b/transactions/switchboard/transfer_tokens.cdc
@@ -1,5 +1,6 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to send tokens to another account
 /// through a switchboard, as long as they have set up their switchboard and have add the proper capability to it
@@ -10,12 +11,15 @@ import ExampleToken from "ExampleToken"
 transaction(to: Address, amount: UFix64, receiverPath: PublicPath) {
 
     // The signer's vault to withdraw from
-    let sourceVault: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
+    let sourceVault: auth(FungibleToken.Withdraw) &ExampleToken.Vault
 
     prepare(signer: auth(BorrowValue) &Account) {
 
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+            ?? panic("Could not get vault data view for the contract")
+
         // Get a reference to the signer's stored vault
-        self.sourceVault = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.sourceVault = signer.storage.borrow<auth(FungibleToken.Withdraw) &ExampleToken.Vault>(from: vaultData.storagePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
     }
diff --git a/transactions/transfer_many_accounts.cdc b/transactions/transfer_many_accounts.cdc
index edd94ab8..1ca4e51d 100644
--- a/transactions/transfer_many_accounts.cdc
+++ b/transactions/transfer_many_accounts.cdc
@@ -1,16 +1,23 @@
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// Transfers tokens to a list of addresses specified in the `addressAmountMap` parameter
 
 transaction(addressAmountMap: {Address: UFix64}) {
 
-    // The Vault resource that holds the tokens that are being transferred
-    let vaultRef: auth(FungibleToken.Withdrawable) &ExampleToken.Vault
+    /// FTVaultData metadata view for the token being used
+    let vaultData: FungibleTokenMetadataViews.FTVaultData
+
+    /// The Vault resource that holds the tokens that are being transferred
+    let vaultRef: auth(FungibleToken.Withdraw) &ExampleToken.Vault
 
     prepare(signer: auth(BorrowValue) &Account) {
+        self.vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+            ?? panic("ViewResolver does not resolve FTVaultData view")
+
         // Get a reference to the signer's stored vault
-        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &ExampleToken.Vault>(from: self.vaultData.storagePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
     }
 
@@ -25,7 +32,7 @@ transaction(addressAmountMap: {Address: UFix64}) {
             let recipient = getAccount(address)
 
             // Get a reference to the recipient's Receiver
-            let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
+            let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)
                 ?? panic("Could not borrow receiver reference to the recipient's Vault")
 
             // Deposit the withdrawn tokens in the recipient's receiver
diff --git a/transactions/transfer_tokens.cdc b/transactions/transfer_tokens.cdc
index eb30bac0..d27820d5 100644
--- a/transactions/transfer_tokens.cdc
+++ b/transactions/transfer_tokens.cdc
@@ -7,16 +7,23 @@
 
 import FungibleToken from "FungibleToken"
 import ExampleToken from "ExampleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 transaction(amount: UFix64, to: Address) {
 
+    /// FTVaultData metadata view for the token being used
+    let vaultData: FungibleTokenMetadataViews.FTVaultData
+
     // The Vault resource that holds the tokens that are being transferred
     let sentVault: @{FungibleToken.Vault}
 
     prepare(signer: auth(BorrowValue) &Account) {
 
+        self.vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+            ?? panic("ViewResolver does not resolve FTVaultData view")
+
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdrawable) &ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
+        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &ExampleToken.Vault>(from: self.vaultData.storagePath)
             ?? panic("Could not borrow reference to the owner's Vault!")
 
         // Withdraw tokens from the signer's stored vault
@@ -29,7 +36,7 @@ transaction(amount: UFix64, to: Address) {
         let recipient = getAccount(to)
 
         // Get a reference to the recipient's Receiver
-        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
+        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)
             ?? panic("Could not borrow receiver reference to the recipient's Vault")
 
         // Deposit the withdrawn tokens in the recipient's receiver

From 9141cd6d33e3b27852ac0e11bd1be685efd852ae Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 31 Jan 2024 18:03:02 -0600
Subject: [PATCH 088/115] add post-condition for vault type

---
 contracts/FungibleToken.cdc                   |  1 +
 lib/go/contracts/contracts_test.go            |  4 ++--
 lib/go/contracts/internal/assets/assets.go    |  6 ++---
 lib/go/templates/internal/assets/assets.go    | 24 +++++++++----------
 .../create_account_private_forwarder.cdc      |  2 +-
 5 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index f60a98ea..c7319119 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -182,6 +182,7 @@ access(all) contract interface FungibleToken: ViewResolver {
                     "Amount withdrawn must be less than or equal than the balance of the Vault"
             }
             post {
+                result.getType() == self.getType(): "Must return the same vault type as self"
                 // use the special function `before` to get the value of the `balance` field
                 // at the beginning of the function execution
                 //
diff --git a/lib/go/contracts/contracts_test.go b/lib/go/contracts/contracts_test.go
index a64d6650..e0af7796 100644
--- a/lib/go/contracts/contracts_test.go
+++ b/lib/go/contracts/contracts_test.go
@@ -11,12 +11,12 @@ import (
 const addrA = "0A"
 
 func TestFungibleTokenContract(t *testing.T) {
-	contract := contracts.FungibleToken()
+	contract := contracts.FungibleToken(addrA, addrA)
 	assert.NotNil(t, contract)
 }
 
 func TestExampleTokenContract(t *testing.T) {
-	contract := contracts.ExampleToken(addrA, addrA, addrA)
+	contract := contracts.ExampleToken(addrA, addrA, addrA, addrA)
 	assert.NotNil(t, contract)
 	assert.Contains(t, string(contract), addrA)
 }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 19e54d50..75b787a7 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken.cdc (10.318kB)
-// ../../../contracts/FungibleToken.cdc (9.933kB)
+// ../../../contracts/FungibleToken.cdc (10.027kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.044kB)
 // ../../../contracts/utility/Burner.cdc (1.882kB)
@@ -99,7 +99,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4b\x93\xdb\xc6\x11\xbe\xf3\x57\x74\xad\x0f\x22\x1d\x8a\xeb\x43\x2a\x87\xad\xd8\xb2\x64\x5b\x55\x3a\x24\x95\xb2\x56\xd6\x21\x49\x15\x87\x40\x93\x1c\xef\x60\x06\x9e\x19\x90\x62\xb6\xf6\xbf\xa7\xba\xe7\x01\x0c\x08\xee\xae\x6c\x25\xbe\x88\x0b\xcc\xf4\xfb\xf1\x75\xc3\xd7\x5f\x7f\x3d\x9b\x7d\x05\xb7\x7b\x84\xb7\xca\x1c\xe1\x6d\xa7\x77\x72\xa3\x10\x6e\xcd\x1d\x6a\x70\x5e\xe8\x5a\xd8\x7a\x36\xfb\xea\x2b\x58\xa7\x97\xfc\x6e\x0d\x95\xd1\xde\x8a\xca\xcf\x66\x7c\x7d\xfa\x26\x48\x07\xda\x80\x32\x7a\x87\x16\x84\x06\xa9\x3d\xda\xad\xa8\x70\xe6\xf7\xc2\x83\x50\x0a\xb6\xe9\xaa\xe7\xab\x89\xae\x83\xa3\xe9\x54\x0d\x7b\x71\xa0\x57\xf4\x7c\x6b\x6c\x03\xde\xac\x66\xb3\x77\x5b\x10\xd0\x39\xb4\x0e\x8e\x42\x7b\x47\x07\x6a\x6c\x95\x39\x81\x00\x8d\xc7\x11\xad\x25\xf8\x3d\x4a\xdb\xcb\x5c\x1b\x24\xc1\x3c\x68\xc4\x9a\x2e\xcb\xa6\x55\xd8\xa0\xf6\x74\x12\x0a\x55\x7b\x99\x97\xb0\xe9\x7c\x24\xc5\x0c\xdc\xac\x36\x17\x48\xe4\x4b\x0e\x6a\xdc\x4a\x8d\x35\x48\x0d\x7e\x2f\x5d\x96\x62\x15\xec\xfa\x8b\xe8\x94\x5f\x83\x45\x67\x3a\x5b\x0d\x6e\xce\x66\x3f\x89\x6a\x3f\xb6\x4f\x3e\xe7\x4f\x2d\x32\x73\x77\xce\xfd\x32\xd1\xc8\xf4\x1f\xd6\x1c\x64\x8d\x76\xbd\x84\xf5\xcf\x58\xa1\x3c\xf0\x6f\xa1\x6b\x58\xbf\x11\x4a\xe8\x0a\xa7\x6e\x3b\xf6\xb6\x1b\xa9\x57\x29\x61\x11\x5a\x8b\x2f\x2b\xa3\x6b\xe9\xa5\xd1\x8e\x49\xb5\xc6\xf9\xe1\x33\xf6\xb9\x45\xe7\xad\xac\xfc\x8c\x04\xc5\x4f\x58\x75\xf4\x12\xcc\x96\x25\xdf\x76\xba\x0a\x87\xd9\x5c\x08\xac\xc9\x8a\xf9\x9e\x80\xf8\x38\x6c\x85\x15\x1e\x61\x83\x95\xe8\x48\x16\x0f\x3b\x79\x40\xc7\xc7\x29\x28\xf8\x87\xd8\x48\x25\xfd\x89\x6c\xe3\xf6\xc2\xe2\x4c\x80\xc5\x2d\x5a\xd4\x15\xc7\x53\x70\x23\x53\x0f\x72\x19\xad\x4e\x80\x9f\x5a\xe3\x22\xa9\xad\x44\x55\xbb\x5e\xa2\x99\xd4\x60\x34\x82\xb1\xd0\x18\x8b\x49\xe2\xde\x14\x14\x98\x14\xd3\xce\x44\x81\x42\x84\x8e\xa4\x69\xc4\x1d\x42\xd5\x39\x6f\x9a\x6c\xe1\x68\x9a\xec\x44\xb2\x4d\x69\x65\x0a\x70\x03\x07\x61\xa5\xe9\xe8\xb4\xd4\x3b\x07\x47\xe9\xf7\x4c\x3e\x44\xe3\x6a\xf6\xd6\x58\xc0\x4f\x82\xc8\x2c\x41\xc0\x56\x74\x15\x7a\xa8\x84\x86\x0d\xf6\xd4\xb1\x86\xcd\x29\x25\x94\xd4\xbb\x59\x30\x07\xa4\xa0\x28\xa2\xe5\xeb\xeb\xd9\x4c\x36\xad\xb1\x1e\x7e\x91\x78\xfc\x19\x9d\x51\x07\xb4\xb0\xb5\xa6\x81\xab\xe1\xa3\xab\x74\xee\x4d\x67\x75\x3e\x11\xfe\xb8\x9a\xcd\xae\xaf\xaf\xcb\xc4\xa2\x27\xc5\xd3\x58\x3c\xb2\x9c\x22\x46\x92\xc5\x41\x11\xb1\xf8\x5b\x27\xed\x54\xca\x95\x89\xc2\x94\x7b\x45\xe0\x23\x82\xf3\x52\xa9\x50\x50\xa4\x07\xe1\x8a\x82\x04\x7b\xb4\x7d\x4c\x79\xfe\x8b\xc3\xcd\x34\x1c\x55\xdb\x4e\x31\xc9\xce\x07\x4f\x36\xe8\xf7\xa6\x8e\x8e\x6b\x84\x3e\x41\x6b\xcd\xaf\xc8\x85\x8b\xd8\x04\x66\x54\x9d\x48\x52\x66\x6a\xf4\xa8\x0e\xb9\x25\x93\x8c\x55\x25\x84\xf7\xe6\x44\xca\x36\x28\xb4\xcb\xba\xae\xb8\x50\x86\x10\xe9\x9f\xd2\x6f\x7e\x96\x23\x20\xe8\x9c\x8c\xe2\x8a\x52\xd0\x97\x15\x51\x55\xe8\xdc\x5c\x28\xb5\xc8\x92\x0c\xec\x50\xf8\xe8\xa6\x74\xfa\xfd\x6c\x06\x00\x70\x7d\x0d\xaf\x35\xa0\xf6\xd2\x47\xfb\x6f\x8d\x25\x19\xcd\x51\xea\x1d\xb3\xa5\xd0\xac\xad\x38\x0a\xc5\x79\xc2\xf1\x19\x22\x42\x84\xa4\x63\x42\x43\x51\x86\xe4\x3e\xc6\xdb\x89\xdd\x35\xf7\x28\x3c\x04\x57\x07\x33\x60\x23\x3d\x85\xf2\x71\x8f\x3a\x31\x20\x03\x26\xce\xfa\x09\x76\x87\x21\x23\x3d\xa7\x72\x7a\x03\xef\xbd\x95\x7a\xb7\x04\xd1\x98\x4e\xfb\x1b\xf8\xf0\x56\x7e\xfa\xcb\x9f\x97\x4c\xea\x06\x5e\xd7\xb5\x45\xe7\x5e\x85\xbf\x3f\x7c\x78\xf7\xe3\x0d\x7c\x78\xa7\x3d\x9d\xc8\x6c\x87\x8f\x17\xbf\x47\x81\x1a\x5b\xe3\xa4\x0f\x21\xfe\xb8\xf8\x3f\xa6\xa3\x4f\x88\xef\xcd\x50\x78\x6f\x4a\xd1\x33\xc3\x0b\xa2\xff\xf4\x88\xd8\x7b\x84\x9d\x32\x1b\xa1\x60\xd3\x59\x1d\xb3\x82\x8e\x55\x42\x29\x3a\x45\x25\x4a\x80\x36\xfa\xe5\x7f\xd0\x1a\xd8\x84\xe6\x72\x41\x1f\x2e\x16\x4f\x29\x33\xb6\xfd\x40\xd2\x37\x03\xea\x54\x5d\x86\xc6\xef\x23\x9c\x35\x69\x43\xb1\x73\x3d\x56\xc9\x85\xfe\x5f\xf9\x1e\x85\xf5\x0e\xbd\xa7\xa8\x8e\x92\x83\xe4\xb2\xc9\xb5\xa9\xe0\x33\xd4\xe6\xbc\x73\x26\xd1\xe0\x9e\x0f\x8f\x2f\x1c\x84\x4d\x0c\x92\xa2\x7c\xee\xa1\xd7\x2d\x55\xe7\xe7\x28\x87\x24\x63\x15\xfb\x58\xac\x17\xa1\x24\x90\x46\x29\x54\xa9\xf4\x27\x22\xc3\x0c\xe5\xae\x96\xaa\x08\x27\xf4\xa9\xc5\xd5\x19\xdf\x77\x1e\x32\x8e\x8a\x0c\x4b\x5e\x46\xc3\x7a\x93\xc0\x04\x15\xd4\x65\xbe\x3b\xe8\xdd\x0a\x05\xf5\x4a\xd3\xc6\x70\x6a\x8d\x73\x32\xb6\x4b\xb3\x85\xca\xa2\x60\x21\x62\xcb\x8c\x7e\xb3\xae\x17\x9d\x34\x26\x20\xc6\x78\x8e\x6c\x2a\xac\x54\xa7\x08\xcc\xb8\xe0\x9a\xa3\x4e\xe6\x5d\x7d\x8e\xd3\x72\x47\x8c\x85\x2f\xb1\x7c\x1b\x43\x85\x33\xd4\xdd\x81\xc8\x62\x81\x24\x68\xea\x5a\xac\xe4\x56\x56\x31\x76\xfb\x12\x58\x50\x91\x0e\xc4\x41\x48\x25\x42\xd3\xa2\x1e\x9d\xab\x48\x71\xf0\x36\xc0\x46\x82\xc3\x9b\xd4\x8c\x98\xf5\xc1\xc8\x1a\x5a\xa1\x65\x45\x16\xe2\x8c\xa4\xbc\xe3\x3f\x52\x09\x1d\x12\xca\x39\x9b\x83\xd9\x41\xa7\xef\xb4\x19\x31\x7c\x5d\x07\xc8\x26\x94\x3a\x2d\x49\x25\x76\x4c\x56\xd1\x41\xdb\x05\x2e\x1c\x2f\x4d\xa7\xbc\x6c\x15\xc2\x81\x4a\xd5\x48\xc7\x08\xac\x32\x50\xad\xf6\x58\xdd\x85\xae\x1a\x01\x54\xb8\x05\x9d\xf6\x52\xf1\x83\x1a\x1d\xf7\xb7\x60\xbc\xb1\xc9\x2c\x8a\x6a\x8f\xf5\x12\x5a\xe3\x29\x3e\x49\x46\xd8\xa3\x6a\x93\xd6\xd0\xa2\xe5\x14\xcd\xde\x4e\xb7\xa7\x53\x4f\xe2\x91\x72\x1f\xa4\x7b\x9d\xbc\x71\x6b\x52\x63\x98\x97\xd5\x67\x71\x03\x6f\x8c\x51\x65\x34\x24\x53\x83\xeb\x36\x71\x76\x79\x34\x9d\x52\xa0\x15\x44\x08\x2f\x5b\xf4\x9d\xa5\x2e\x10\x71\x69\xc6\x77\x16\x1b\x73\xe0\x86\x10\x70\xde\xe0\xe2\x28\x50\x7a\x04\xfd\xc2\x45\x35\x41\xe1\x01\x15\x99\x6e\x1d\xf5\x4e\xca\x2d\xd6\xc5\xed\xf7\x86\x40\xb7\xb1\xe4\x63\x8a\xae\x70\x5b\xfa\x25\xc3\xde\x30\x8e\xa1\x24\x68\x94\x73\x0b\xcc\x86\x30\x0f\x48\xef\x50\x6d\x0b\x6a\x86\x07\xbe\xd8\xd5\xeb\x01\xf8\x66\xad\xd6\x49\x86\xf5\xb4\x36\x63\x49\xd9\x43\xc7\x8b\x4e\xf9\xfe\x9e\x2d\xf6\x30\x28\xaf\xf4\x1f\x0d\x20\xa3\x47\x81\x11\xac\x2d\xba\x38\x22\x6d\x19\xa4\x9b\x68\x68\xf2\x00\x1c\x84\xea\xf0\xec\x5a\xb8\xb2\x4a\xb9\xf3\xed\xb7\xa9\x35\x9d\x9d\xa4\xff\xae\x3e\xf6\x10\x28\x96\x81\xa6\x73\x9e\x32\x98\x38\x39\xd1\x20\x61\xd0\x61\x36\xc6\x84\xe8\x11\x0c\x2b\x75\x75\x46\x9e\x5a\xf0\x19\x74\x21\x07\xac\x76\xe8\x6f\x4f\x2d\xce\x17\x2b\x59\x93\xe9\xb7\x12\x6d\xdf\x41\xc3\xbf\x09\xcd\xf0\x05\x73\xd4\x68\x5f\xad\x44\x00\x07\xc3\xe6\xca\xaf\xbb\x4e\xd6\x67\xd8\x26\xda\x81\xde\x2d\x0a\xd9\x1e\x66\xe5\xaf\x41\xf7\x4a\x43\xe6\x1f\xef\x5e\x11\xad\x4c\x34\x2f\xa9\xa3\x17\x9f\xd1\xbc\x3e\x62\x6a\x19\x52\x57\xaa\xab\x11\x04\xe4\x49\x35\x88\xc1\x95\xaa\x74\x50\x6c\x5b\x99\xca\x11\x33\xc2\xa7\x89\xef\x39\x03\x5f\x30\x43\x40\xee\x99\x0e\x4d\x68\xb5\x49\x87\xa6\xa7\xbb\x25\x28\x79\x87\xe0\x5a\x25\x19\xf2\x37\xd0\xb5\x54\x35\x32\x11\x87\xba\x0e\x2f\x68\x58\x94\x5b\xce\x37\x0f\xad\x0a\xb3\x29\x3c\xbf\xed\x25\x67\x8d\xdb\x5e\x34\x3d\x78\x71\x87\x7d\x95\xa2\xca\x15\xdf\x50\xb5\xb8\xe0\x86\x62\x6f\xf1\x58\xca\xb3\x50\x94\xed\x91\xe6\x3c\x44\x6b\xca\xf0\x45\x29\xd2\x0e\xfd\xfb\xae\xa5\xb1\x13\x6b\x3e\x40\xe1\x4f\x68\x22\xb5\xaf\x41\x51\x55\xd2\x71\x2b\x3e\x84\xa1\x9f\x0f\xc6\x01\x8a\xfb\x4a\x54\x9a\xe4\x68\x07\x6d\x6c\xb2\x59\x4c\xf3\x9d\x2f\x6e\xe0\xfe\x96\xd3\x91\xda\xc4\x43\x29\xeb\xcf\x51\x92\xe3\x1e\xb9\x88\x1a\xcb\x01\xc8\x18\x5a\x1e\xa8\x33\x9f\x5a\x6e\xc9\x41\x82\x30\xa6\xd3\xdb\x22\x79\x12\xb5\xd7\x49\x0f\x8e\x55\xa1\xe3\x2d\xa0\x51\x94\x09\xb9\x3d\x57\xec\x5f\xa9\xe8\xc4\xba\xe6\x6d\xc7\x13\x66\x8d\xdb\x3c\x55\x5c\x54\x51\xba\x73\x0d\x63\xad\xa1\x9f\xa9\x15\x8e\x12\xbd\x1f\x57\x0a\xac\x58\x63\xc0\x12\x6c\xea\x3e\xd2\x42\x53\xe1\x95\x49\xbf\xe0\xcb\xfa\x2e\x13\x6a\x5e\xc2\xad\x15\xda\x6d\xd1\x1a\xbb\xcc\xa8\x2c\xec\xab\xd2\x70\xda\x63\xcb\xae\x1f\x56\xc8\xbe\x2e\x69\x01\x27\xf4\x9f\x93\x06\xac\xca\xcd\x40\x9a\x9e\x71\x96\x6b\x38\x1e\xaf\xd2\x8f\x65\x5c\x81\xac\xe8\x1f\x46\x77\x63\xfc\x28\x51\xd5\x31\xf6\xac\x18\x57\x19\x43\x10\xf2\x70\xd9\x41\x13\xb3\x42\x41\xfd\x87\x38\x7a\x11\xd8\x13\xe3\xfd\xa1\x74\x3c\xa9\x61\x0d\x07\x29\xc2\x86\x20\x0a\x4b\x8f\xe7\x8b\x75\x9c\xe1\x0a\x8a\xef\x46\x2b\x99\x58\xaf\x28\xd4\x36\xc6\xdc\xdd\x21\x32\xfa\x32\x36\xb4\x26\x7a\xce\x03\x5d\x89\x05\x59\xdf\x18\x95\x1b\x2c\x07\xc9\xa8\x30\x89\x57\xa3\xf3\xd6\x9c\xb0\x2e\xc1\xdb\xdf\x88\xea\x78\x37\x74\x1c\x2e\x59\xba\xb6\x16\x1e\xfb\x92\xf9\x82\xda\xba\x17\x8a\x23\x40\x9d\x4a\x59\x0c\x75\x7e\x45\xd8\xa5\xdc\xa1\xb8\xb0\xab\xd9\x20\xea\x64\xa8\x00\xcd\x02\x02\xcb\x88\x2e\xd0\x5c\x3d\x6a\x26\x8e\xeb\xb4\x1f\x76\xe8\x0b\x2f\x7b\x03\x61\x22\xc6\xad\xb1\x41\x6a\x2a\xe0\xa3\x3d\xe8\xf9\x1c\x20\x19\xac\xb4\x36\x4c\xcc\xc1\x6a\xdc\xc5\x23\xdc\x74\xad\x68\x1a\xc6\xe6\xd4\x77\xc2\x44\x1d\xbd\xb1\x1a\xc7\x53\x5a\xff\x84\x82\x4b\xea\x52\xec\x6c\x44\x75\x37\x5f\x8c\xa1\x94\xc5\x09\x24\xc5\xee\x2e\xa6\xf6\x67\xc0\x10\x3e\xb2\x49\x19\x34\x81\x38\x2e\xa1\x0a\xb8\x0c\xe9\x86\x34\x09\x99\x7d\xb3\xfa\xe6\x06\xae\x6e\x07\xf6\x4e\xe0\x8b\xfd\x10\x6d\x5f\x77\x36\x2d\xac\x86\xca\xa7\x35\x86\x33\xb1\x90\x70\x81\xa5\x5a\x42\xf7\xc9\xbe\x58\x5f\x5d\x44\x3e\xff\xef\xfe\x94\x50\x54\x2c\xea\xa3\x1c\x01\xae\xb7\x0c\x71\xea\x72\xc7\x19\xe7\x2e\x61\x11\xf0\x53\x8b\x95\xc7\x7a\x9c\x22\x3c\xba\xe5\x6e\xd4\xcf\xd2\x24\xdb\x32\x98\x07\x4f\x21\x61\x74\x1f\xe9\x71\x50\xe4\xf5\x6a\x21\x4b\x41\x9e\xb0\x1c\x2b\x76\x16\xea\x7f\xa0\xe1\x8e\x22\xe3\xfa\x1a\xde\xa0\x32\xc7\x38\x75\x92\x29\x06\x4b\xf0\x84\xcd\x5c\x67\x23\xf2\xb4\x9d\x7e\xe9\x65\x13\x3f\xae\x70\x73\x1a\xd3\x63\x93\xec\x30\xb5\xd4\xe1\x22\xac\x15\x0c\xb8\x72\x27\x89\x1d\x2d\x22\xb9\xf2\x03\xda\x2a\xac\x65\x57\x50\xd0\x97\xdb\xb3\xfc\x71\xef\xbb\x0d\x49\x33\x37\xdb\xd0\x77\xff\xfa\xfd\xfd\x04\xa5\x87\xef\xe6\x8b\x71\xca\x02\xcf\x2c\xdc\xf8\xef\x4b\xb2\x37\x8c\x04\xca\xc4\x7a\x00\x54\x6e\x2a\xc7\x33\x72\xe1\x79\xae\x69\xfd\x09\x6a\xc9\x1e\x13\xf6\x94\x46\x98\x14\x7c\x3c\x39\xb1\x6f\xb3\x19\x8e\x7b\x03\xb5\xd1\x2f\xfc\x14\xe5\x7e\x85\x3f\x69\x9f\x25\xb8\xae\xda\x13\x93\xf2\xf5\xfb\xa3\xf4\xd5\x7e\x63\x84\xad\xd7\x4b\x58\xf3\xb3\xb7\xc6\x1e\x05\x0d\xaf\x6b\x40\x5f\xad\x2e\x9a\xe2\xe1\x79\x99\xfb\x43\x80\xff\x71\xf9\x51\x02\xb4\x1e\x52\x30\x42\x93\x6e\x00\x7b\x2e\x46\xf0\xf3\xf0\xd4\xc8\x01\x51\xe8\xe4\xbe\xc9\x14\xf8\x27\x11\xf9\x37\xbc\x7a\x05\x5b\xa1\x1c\x5e\x52\x68\x62\x4d\xb1\x0e\x25\x79\xdd\xb7\x35\xa6\xfb\xc2\x15\x7b\x5a\x98\x5c\x51\x68\x3c\x8e\xd7\x14\x89\x30\xd9\xe5\xfc\xfe\x97\x9e\xed\x27\x1b\x52\xd1\x07\xbe\x7b\x62\x42\x7f\x1d\xc6\xf2\x7e\xde\x4e\x3d\x42\xa1\xe3\xd2\xab\x19\xd2\xfc\xd6\x09\x15\xfe\x9a\x18\xd6\x27\x46\xf4\x67\x35\xac\xeb\x6b\x88\x1f\x9a\xc2\xb6\x50\xa8\x5c\x08\x61\x1d\x30\xc1\x9a\xe7\xca\x08\x1b\x42\x62\x45\xa6\xfd\x5a\x95\x3f\x52\x4e\x11\x8f\x98\x66\x83\x3b\xa9\x35\x83\xb3\x12\x58\xf4\x9f\x5e\x27\x6e\x3f\xd9\x5e\x83\x80\xf3\xe1\xe3\x05\xbc\x7c\xdc\xda\x7f\xcf\x01\x33\x6e\xc9\x5c\x40\xe2\xc0\xda\x5b\x96\x20\x0e\x7f\xed\x4c\xc7\x45\x98\x6f\xc7\xfb\x91\xf4\xfe\x99\x1d\xf9\xf2\x10\x2b\xea\x9a\x06\x58\x37\x84\x68\x67\x1e\x3f\xcb\xf5\xcf\x19\x61\xa7\x0a\xf7\xb8\x6a\xd3\x68\xe7\x1c\xda\x01\x30\xad\x8c\xae\x2c\xfa\xd8\x96\xa2\x79\xfa\xcf\x44\x19\x39\xa7\xbd\xd2\x98\x5e\xac\xd1\x83\x79\x31\x0f\x99\x09\xfe\x44\x6a\xcf\xc8\x30\xd2\x65\x25\xdd\x3b\xed\x3c\x59\x65\x5e\x76\x96\xc5\x0d\x4c\x7b\xff\x87\x00\xa0\x92\xf5\xf9\xd3\x6b\x65\x9a\x56\xf8\xc1\x70\x42\xfa\x5d\x58\x77\x8d\x3f\x75\xb1\x18\x8f\xe3\x4c\x3e\x92\x71\xa6\x37\x17\x56\x5e\xe9\x73\xd8\x60\xe1\x35\xfa\x22\xc6\x84\xbe\x10\x30\x9d\xcc\x9c\x3f\xa5\xc7\x43\x91\x17\xbf\x2b\x8f\x5c\xd7\x3c\x99\x40\x7d\xe8\x3c\x5a\xbd\x46\x89\xc3\x5f\x62\xf0\x27\x02\x00\x31\x67\x94\x32\x47\xc7\xd3\x5e\xf8\xdf\x2e\x4c\x3c\x53\x74\x07\x8e\xb7\xbd\xa0\x54\x3b\xfb\x02\x08\x4f\xe4\xcf\x98\xe5\xfc\xb3\x57\xbd\xe7\x3b\xdb\x7e\x32\xd0\x78\x54\xa7\xc8\x23\x9a\x22\x98\x92\x01\xed\x50\xd8\xcb\x16\x82\x72\xfb\xf1\x3f\xb0\xd1\xd4\xb2\x62\xd2\x36\x87\x04\x09\x32\x9e\x98\x2e\x38\x03\x2b\x4d\x18\x2d\x1a\x2c\x67\x16\x99\x6c\x40\x99\x0d\x97\xa1\x6f\xa8\x28\xf9\x2b\x60\x23\x7c\xb5\x2f\x3e\xe1\x9c\x27\xf4\x97\x76\x48\x72\xc1\xc3\x7f\x03\x00\x00\xff\xff\xbe\xc6\xa4\x38\xcd\x26\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4d\x93\x1b\x37\xce\xbe\xeb\x57\xa0\x26\x07\x4b\x79\x65\x4d\x0e\x6f\xed\x61\x6a\x13\xc7\x4e\xe2\x2a\x1f\xb2\xb5\x15\x8f\xe3\xc3\xee\x56\x89\xea\x86\x24\x66\xd8\x64\x87\x64\x4b\xd6\x4e\xcd\x7f\xdf\x02\xf8\xd1\xcd\x56\x6b\x66\x9c\x78\x37\x17\x6b\xba\x49\x10\x00\x01\x3c\x0f\xd0\xb9\xfe\xfa\xeb\xd9\xec\x2b\xb8\xdd\x23\xbc\x55\xe6\x08\x6f\x3b\xbd\x93\x1b\x85\x70\x6b\xee\x50\x83\xf3\x42\xd7\xc2\xd6\xb3\xd9\x57\x5f\xc1\x3a\xbd\xe4\x77\x6b\xa8\x8c\xf6\x56\x54\x7e\x36\xe3\xed\xd3\x3b\x41\x3a\xd0\x06\x94\xd1\x3b\xb4\x20\x34\x48\xed\xd1\x6e\x45\x85\x33\xbf\x17\x1e\x84\x52\xb0\x4d\x5b\x3d\x6f\x4d\x72\x1d\x1c\x4d\xa7\x6a\xd8\x8b\x03\xbd\xa2\xe7\x5b\x63\x1b\xf0\x66\x35\x9b\xbd\xdb\x82\x80\xce\xa1\x75\x70\x14\xda\x3b\x5a\x50\x63\xab\xcc\x09\x04\x68\x3c\x8e\x64\x2d\xc1\xef\x51\xda\x5e\xe7\xda\x20\x29\xe6\x41\x23\xd6\xb4\x59\x36\xad\xc2\x06\xb5\xa7\x95\x50\x98\xda\xeb\xbc\x84\x4d\xe7\xa3\x28\x3e\xc0\xcd\x6a\x73\x41\x44\xde\xe4\xa0\xc6\xad\xd4\x58\x83\xd4\xe0\xf7\xd2\x65\x2d\x56\xc1\xaf\xbf\x8a\x4e\xf9\x35\x58\x74\xa6\xb3\xd5\x60\xe7\x6c\xf6\x93\xa8\xf6\x63\xff\xe4\x75\xfe\xd4\x22\x1f\xee\xce\x4f\xbf\x2c\x34\x1e\xfa\x77\x6b\x0e\xb2\x46\xbb\x5e\xc2\xfa\x17\xac\x50\x1e\xf8\xb7\xd0\x35\xac\xdf\x08\x25\x74\x85\x53\xbb\x1d\xdf\xb6\x1b\x99\x57\x29\x61\x11\x5a\x8b\x2f\x2b\xa3\x6b\xe9\xa5\xd1\x8e\x45\xb5\xc6\xf9\xe1\x33\xbe\x73\x8b\xce\x5b\x59\xf9\x19\x29\x8a\x9f\xb0\xea\xe8\x25\x98\x2d\x6b\xbe\xed\x74\x15\x16\xb3\xbb\x10\xd8\x92\x15\x9f\x7b\x02\x3a\xc7\x61\x2b\xac\xf0\x08\x1b\xac\x44\x47\xba\x78\xd8\xc9\x03\x3a\x5e\x4e\x41\xc1\x3f\xc4\x46\x2a\xe9\x4f\xe4\x1b\xb7\x17\x16\x67\x02\x2c\x6e\xd1\xa2\xae\x38\x9e\xc2\x35\xb2\xf4\xa0\x97\xd1\xea\x04\xf8\xa9\x35\x2e\x8a\xda\x4a\x54\xb5\xeb\x35\x9a\x49\x0d\x46\x23\x18\x0b\x8d\xb1\x98\x34\xee\x5d\x41\x81\x49\x31\xed\x4c\x54\x28\x44\xe8\x48\x9b\x46\xdc\x21\x54\x9d\xf3\xa6\xc9\x1e\x8e\xae\xc9\x97\x48\xbe\x29\xbd\x4c\x01\x6e\xe0\x20\xac\x34\x1d\xad\x96\x7a\xe7\xe0\x28\xfd\x9e\xc5\x87\x68\x5c\xcd\xde\x1a\x0b\xf8\x49\x90\x98\x25\x08\xd8\x8a\xae\x42\x0f\x95\xd0\xb0\xc1\x5e\x3a\xd6\xb0\x39\xa5\x84\x92\x7a\x37\x0b\xee\x80\x14\x14\x45\xb4\x7c\x7d\x3d\x9b\xc9\xa6\x35\xd6\xc3\xaf\x12\x8f\xbf\xa0\x33\xea\x80\x16\xb6\xd6\x34\x70\x35\x7c\x74\x95\xd6\xbd\xe9\xac\xce\x2b\xc2\x1f\x57\xb3\xd9\xf5\xf5\x75\x99\x58\xf4\xa4\x78\x1a\x8b\x47\xd6\x53\xc4\x48\xb2\x38\x28\x22\x16\x7f\xef\xa4\x9d\x4a\xb9\x32\x51\x58\x72\x6f\x08\x7c\x44\x70\x5e\x2a\x15\x0a\x8a\xf4\x20\x5c\x51\x90\x60\x8f\xb6\x8f\x29\xcf\x7f\x71\xb8\x99\x86\xa3\x6a\xdb\x29\x16\xd9\xf9\x70\x93\x0d\xfa\xbd\xa9\xe3\xc5\x35\x42\x9f\xa0\xb5\xe6\x37\xe4\xc2\x45\xc7\x84\xc3\xa8\x3a\x91\xa6\x7c\xa8\xd1\xa3\x3a\xe4\x96\x2c\x32\x56\x95\x10\xde\x9b\x13\x19\xdb\xa0\xd0\x2e\xdb\xba\xe2\x42\x19\x42\xa4\x7f\x4a\xbf\xf9\x59\x8e\x80\x60\x73\x72\x8a\x2b\x4a\x41\x5f\x56\x44\x55\xa1\x73\x73\xa1\xd4\x22\x6b\x32\xf0\x43\x71\x47\x37\xe5\xa5\xdf\xcf\x66\x00\x00\xd7\xd7\xf0\x5a\x03\x6a\x2f\x7d\xf4\xff\xd6\x58\xd2\xd1\x1c\xa5\xde\xf1\xb1\x14\x9a\xb5\x15\x47\xa1\x38\x4f\x38\x3e\x43\x44\x88\x90\x74\x2c\x68\xa8\xca\x50\xdc\xc7\xb8\x3b\x1d\x77\xcd\x18\x85\x87\x70\xd5\xc1\x0d\xd8\x48\x4f\xa1\x7c\xdc\xa3\x4e\x07\x90\x03\xd3\xc9\xfa\x89\xe3\x0e\xc3\x83\xf4\x9c\xca\xe9\x0d\xbc\xf7\x56\xea\xdd\x12\x44\x63\x3a\xed\x6f\xe0\xc3\x5b\xf9\xe9\x2f\xff\xbf\x64\x51\x37\xf0\xba\xae\x2d\x3a\xf7\x2a\xfc\xfd\xe1\xc3\xbb\x1f\x6f\xe0\xc3\x3b\xed\x69\x45\x3e\x76\xf8\x78\xf1\x47\x0c\xa8\xb1\x35\x4e\xfa\x10\xe2\x8f\xab\xff\x63\x5a\xfa\x84\xfa\xde\x0c\x95\xf7\xa6\x54\x3d\x1f\x78\x41\xf5\x9f\x1e\x51\x7b\x8f\xb0\x53\x66\x23\x14\x6c\x3a\xab\x63\x56\xd0\xb2\x4a\x28\x45\xab\xa8\x44\x09\xd0\x46\xbf\xfc\x37\x5a\x03\x9b\x00\x2e\x17\xec\xe1\x62\xf1\x94\x31\x63\xdf\x0f\x34\x7d\x33\x90\x4e\xd5\x65\xe8\xfc\x3e\xc2\xd9\x92\x36\x14\x3b\xd7\x73\x95\x5c\xe8\xff\x99\xf7\x51\x58\xef\xd0\x7b\x8a\xea\xa8\x39\x48\x2e\x9b\x5c\x9b\x8a\x73\x86\xd6\x9c\x23\x67\x52\x0d\xee\x79\xf1\x78\xc3\x41\xd8\x74\x40\x32\x94\xd7\x3d\xf4\xb6\xa5\xea\xfc\x1c\xe3\x90\x74\xac\x22\x8e\xc5\x7a\x11\x4a\x02\x59\x94\x42\x95\x4a\x7f\x12\x32\xcc\x50\x46\xb5\x54\x45\x38\xa1\x4f\x2d\xae\xce\xce\x7d\xe7\x21\xf3\xa8\x78\x60\x79\x96\xd1\xb0\xde\x24\x32\x41\x05\x75\x99\xf7\x0e\xb0\x5b\xa1\x20\xac\x34\x6d\x0c\xa7\xd6\x38\x27\x23\x5c\x9a\x2d\x54\x16\x05\x2b\x11\x21\x33\xde\x9b\x75\xbd\xea\x64\x31\x11\x31\xe6\x73\xe4\x53\x61\xa5\x3a\x45\x62\xc6\x05\xd7\x1c\x75\x72\xef\xea\x73\x2e\x2d\x23\x62\x2c\x7c\xe9\xc8\xb7\x31\x54\x38\x43\xdd\x1d\x88\xac\x16\x48\xa2\xa6\xae\xc5\x4a\x6e\x65\x15\x63\xb7\x2f\x81\x85\x14\xe9\x40\x1c\x84\x54\x22\x80\x16\x61\x74\xae\x22\xc5\xc2\xdb\x40\x1b\x89\x0e\x6f\x12\x18\xf1\xd1\x07\x23\x6b\x68\x85\x96\x15\x79\x88\x33\x92\xf2\x8e\xff\x48\x25\x74\x28\x28\xe7\x6c\x0e\x66\x07\x9d\xbe\xd3\x66\x74\xe0\xeb\x3a\x50\x36\xa1\xd4\x69\x49\x26\xf1\xc5\x64\x13\x1d\xb4\x5d\x38\x85\xe3\xa5\xe9\x94\x97\xad\x42\x38\x50\xa9\x1a\xd9\x18\x89\x55\x26\xaa\xd5\x1e\xab\xbb\x80\xaa\x91\x40\x85\x5d\xd0\x69\x2f\x15\x3f\xa8\xd1\x31\xbe\x05\xe7\x8d\x5d\x66\x51\x54\x7b\xac\x97\xd0\x1a\x4f\xf1\x49\x3a\xc2\x1e\x55\x9b\xac\x86\x16\x2d\xa7\x68\xbe\xed\xb4\x7b\x3a\xf5\x24\x1e\x29\xf7\x41\xba\xd7\xe9\x36\x6e\x4d\x02\x86\x79\x59\x7d\x16\x37\xf0\xc6\x18\x55\x46\x43\x72\x35\xb8\x6e\x13\x7b\x97\x47\xd3\x29\x05\x5a\x21\x84\xf8\xb2\x45\xdf\x59\x42\x81\xc8\x4b\x33\xbf\xb3\xd8\x98\x03\x03\x42\xe0\x79\x83\x8d\xa3\x40\xe9\x19\xf4\x0b\x17\xcd\x04\x85\x07\x54\xe4\xba\x75\xb4\x3b\x19\xb7\x58\x17\xbb\xdf\x1b\x22\xdd\xc6\xd2\x1d\x53\x74\x85\xdd\xd2\x2f\x99\xf6\x86\x76\x0c\x25\x51\xa3\x9c\x5b\x60\x36\xc4\x79\x40\x7a\x87\x6a\x5b\x48\x33\xdc\xf0\x45\x54\xaf\x07\xe4\x9b\xad\x5a\x27\x1d\xd6\xd3\xd6\x8c\x35\xe5\x1b\x3a\x5e\xbc\x94\xef\xef\xd9\x63\x0f\x83\xf2\x4a\xff\x51\x03\x32\x7a\x14\x0e\x82\xb5\x45\x17\x5b\xa4\x2d\x93\x74\x13\x1d\x4d\x37\x00\x07\xa1\x3a\x3c\xdb\x16\xb6\xac\x52\xee\x7c\xfb\x6d\x82\xa6\xb3\x95\xf4\xdf\xd5\xc7\x9e\x02\xc5\x32\xd0\x74\xce\x53\x06\xd3\x49\x4e\x34\x48\x1c\x74\x98\x8d\x31\x21\x7a\x06\xc3\x46\x5d\x9d\x89\x27\x08\x3e\xa3\x2e\x74\x01\xab\x1d\xfa\xdb\x53\x8b\xf3\xc5\x4a\xd6\xe4\xfa\xad\x44\xdb\x23\x68\xf8\x37\xb1\x19\xde\x60\x8e\x1a\xed\xab\x95\x08\xe4\x60\x08\xae\xfc\xba\xeb\x64\x7d\xc6\x6d\xa2\x1f\xe8\xdd\xa2\xd0\xed\x61\x56\xfe\x1a\xa0\x57\x6a\x32\xff\x3c\x7a\x45\xb6\x32\x01\x5e\x52\xc7\x5b\x7c\x06\x78\x7d\xc4\x04\x19\x52\x57\xaa\xab\x11\x04\xe4\x4e\x35\xa8\xc1\x95\xaa\xbc\xa0\x08\x5b\x59\xca\x11\x33\xc3\xa7\x8e\xef\x39\x0d\x5f\x70\x43\x60\xee\x59\x0e\x75\x68\xb5\x49\x8b\xa6\xbb\xbb\x25\x28\x79\x87\xe0\x5a\x25\x99\xf2\x37\xd0\xb5\x54\x35\xb2\x10\x87\xba\x0e\x2f\xa8\x59\x94\x5b\xce\x37\x0f\xad\x0a\xbd\x29\x3c\x1f\xf6\xd2\x65\x8d\x61\x2f\xba\x1e\xbc\xb8\xc3\xbe\x4a\x51\xe5\x8a\x6f\xa8\x5a\x5c\xb8\x86\x62\x6e\xf1\x58\xca\xb3\x52\x94\xed\x51\xe6\x3c\x44\x6b\xca\xf0\x45\xa9\xd2\x0e\xfd\xfb\xae\xa5\xb6\x13\x6b\x5e\x40\xe1\x4f\x6c\x22\xc1\xd7\xa0\xa8\x2a\xe9\x18\x8a\x0f\xa1\xe9\xe7\x85\xb1\x81\x62\x5c\x89\x46\x93\x1e\xed\x00\xc6\x26\xc1\x62\xfa\xdc\xf9\xe2\x06\xee\x6f\x39\x1d\x09\x26\x1e\x4a\x5d\x7f\x89\x9a\x1c\xf7\xc8\x45\xd4\x58\x0e\x40\xe6\xd0\xf2\x40\xc8\x7c\x6a\x19\x92\x83\x06\xa1\x4d\xa7\xb7\x45\xf2\x24\x69\xaf\x93\x1d\x1c\xab\x42\xc7\x5d\x40\xad\x28\x0b\x72\x7b\xae\xd8\xbf\x51\xd1\x89\x75\xcd\xdb\x8e\x3b\xcc\x1a\xb7\xb9\xab\xb8\x68\xa2\x74\xe7\x16\xc6\x5a\x43\x3f\x13\x14\x8e\x12\xbd\x6f\x57\x0a\xae\x58\x63\xe0\x12\xec\xea\x3e\xd2\x02\xa8\xf0\xc8\xa4\x1f\xf0\x65\x7b\x97\x89\x35\x2f\xe1\xd6\x0a\xed\xb6\x68\x8d\x5d\x66\x56\x16\xe6\x55\xa9\x39\xed\xb9\x65\xd7\x37\x2b\xe4\x5f\x97\xac\x80\x13\xfa\xcf\x49\x03\x36\xe5\x66\xa0\x4d\x7f\x70\xd6\x6b\xd8\x1e\xaf\xd2\x8f\x65\x1c\x81\xac\xe8\x1f\x66\x77\x63\xfe\x28\x51\xd5\x31\xf6\xac\x18\x57\x19\x43\x14\xf2\x70\xf9\x82\x26\x7a\x85\x42\xfa\x0f\xb1\xf5\x22\xb2\x27\xc6\xf3\x43\xe9\xb8\x53\xc3\x1a\x0e\x52\x84\x09\x41\x54\x96\x1e\xcf\x17\xeb\xd8\xc3\x15\x12\xdf\x8d\x46\x32\xb1\x5e\x51\xa8\x6d\x8c\xb9\xbb\x43\x64\xf6\x65\x6c\x80\x26\x7a\xce\x0d\x5d\xc9\x05\xd9\xde\x18\x95\x1b\x2c\x1b\xc9\x68\x30\xa9\x57\xa3\xf3\xd6\x9c\xb0\x2e\xc9\xdb\xcf\x24\x75\x3c\x1b\x3a\x0e\x87\x2c\x5d\x5b\x0b\x8f\x7d\xc9\x7c\x41\xb0\xee\x85\xe2\x08\x50\xa7\x52\x17\x43\xc8\xaf\x88\xbb\x94\x33\x14\x17\x66\x35\x1b\x44\x9d\x1c\x15\xa8\x59\x60\x60\x99\xd1\x05\x99\xab\x47\xdd\xc4\x71\x9d\xe6\xc3\x0e\x7d\x71\xcb\xde\x40\xe8\x88\x71\x6b\x6c\xd0\x9a\x0a\xf8\x68\x0e\x7a\xde\x07\x48\x26\x2b\xad\x0d\x1d\x73\xf0\x1a\xa3\x78\xa4\x9b\xae\x15\x4d\xc3\xdc\x9c\x70\x27\x74\xd4\xf1\x36\x56\xe3\x78\x4a\xe3\x9f\x50\x70\xc9\x5c\x8a\x9d\x8d\xa8\xee\xe6\x8b\x31\x95\xb2\x38\xc1\xa4\xf8\xba\x8b\xae\xfd\x19\x34\x84\x97\x6c\x52\x06\x4d\x30\x8e\x4b\xac\x02\x2e\x53\xba\xa1\x4c\x62\x66\xdf\xac\xbe\xb9\x81\xab\xdb\x81\xbf\x13\xf9\xe2\x7b\x88\xbe\xaf\x3b\x9b\x06\x56\x43\xe3\xd3\x18\xc3\x99\x58\x48\xb8\xc0\x52\x2d\xa1\xfd\xe4\x5f\xac\xaf\x2e\x32\x9f\xff\x35\x3e\x25\x16\x15\x8b\xfa\x28\x47\x80\xeb\x2d\x53\x9c\xba\x9c\x71\xc6\xbe\x4b\x58\x04\xfc\xd4\x62\xe5\xb1\x1e\xa7\x08\xb7\x6e\x19\x8d\xfa\x5e\x9a\x74\x5b\x06\xf7\xe0\x29\x24\x8c\xee\x23\x3d\x36\x8a\x3c\x5e\x2d\x74\x29\xc4\x13\x97\x63\xc3\xce\x42\xfd\x4f\x00\xee\x28\x32\xae\xaf\xe1\x0d\x2a\x73\x8c\x5d\x27\xb9\x62\x30\x04\x4f\xdc\xcc\x75\x36\x32\x4f\xdb\xe9\x97\x5e\x36\xf1\xe3\x0a\x83\xd3\x58\x1e\xbb\x64\x87\x09\x52\x87\x83\xb0\x56\x30\xe1\xca\x48\x12\x11\x2d\x32\xb9\xf2\x03\xda\x2a\x8c\x65\x57\x50\xc8\x97\xdb\xb3\xfc\x71\xef\xbb\x0d\x69\x33\x37\xdb\x80\xbb\x7f\xfd\xfe\x7e\x42\xd2\xc3\x77\xf3\xc5\x38\x65\x81\x7b\x16\x06\xfe\xfb\x52\xec\x0d\x33\x81\x32\xb1\x1e\x00\x95\x9b\xca\xf1\xcc\x5c\xb8\x9f\x6b\x5a\x7f\x82\x5a\xf2\x8d\x09\x7b\x4a\x2d\x4c\x0a\x3e\xee\x9c\xf8\x6e\xb3\x1b\x8e\x7b\x03\xb5\xd1\x2f\xfc\x94\xe4\x7e\x84\x3f\xe9\x9f\x25\xb8\xae\xda\xd3\x21\xe5\xeb\xf7\x47\xe9\xab\xfd\xc6\x08\x5b\xaf\x97\xb0\xe6\x67\x6f\x8d\x3d\x0a\x6a\x5e\xd7\x80\xbe\x5a\x5d\x74\xc5\xc3\xf3\x32\xf7\x87\x40\xff\xe3\xf0\xa3\x24\x68\x3d\xa5\x60\x86\x26\xdd\x80\xf6\x5c\x8c\xe0\xe7\xf1\xa9\xd1\x05\x44\xa5\xd3\xf5\x4d\xa6\xc0\x3f\x48\xc8\xbf\xe0\xd5\x2b\xd8\x0a\xe5\xf0\x92\x41\x13\x63\x8a\x75\x28\xc9\xeb\x1e\xd6\x58\xee\x0b\x57\xcc\x69\x61\x72\x44\xa1\xf1\x38\x1e\x53\x24\xc1\xe4\x97\xf3\xfd\x5f\xba\xb7\x9f\x04\xa4\x02\x07\xbe\x7b\xa2\x43\x7f\x1d\xda\xf2\xbe\xdf\x4e\x18\xa1\xd0\x71\xe9\xd5\x4c\x69\x7e\xef\x84\x0a\x7f\x4d\x34\xeb\x13\x2d\xfa\xb3\x00\x2b\x36\xd1\x39\x25\x09\xb4\xc6\x49\x7a\xf5\xf3\x90\xbb\xa7\xa1\x41\x0f\x0f\x94\x17\xb4\xe7\x7c\x42\x70\x7d\x0d\xf1\x33\x56\x98\x45\x0a\x95\xcb\x2c\xac\x03\xe3\x58\x73\xd7\x1a\x49\x49\x48\xdb\x68\x52\x3f\xb4\xe5\x4f\xa0\x53\xc2\x23\x63\xda\xe0\x4e\x6a\xcd\xd4\xaf\xa4\x2d\xfd\x87\xdd\x89\xdd\x4f\x82\x77\x50\x70\x3e\x7c\xbc\x80\x97\x8f\xdf\xe5\xdf\x72\x38\x8e\x01\x9f\xcb\x53\x6c\x87\xfb\x7b\x23\x02\xc5\xdf\x52\xd3\x72\x11\xba\xe7\xf1\xf4\x25\xbd\x7f\x26\xde\x5f\x6e\x91\x45\x5d\x53\x7b\xec\x86\x04\xf0\x2c\x9e\xce\x2a\xc9\xe7\x34\xc8\x53\xb0\x30\xc6\x04\x6a\x1c\x9d\x43\x3b\xa0\xbd\x95\xd1\x95\x45\x1f\x41\x2f\xba\xa7\xff\x08\x95\x79\x79\x0a\xc0\xb1\xbc\x88\x00\x83\x6e\x34\xb7\xb0\x89\x5c\x45\x69\xcf\xc8\x5f\xb2\x65\x25\xdd\x3b\xed\x3c\x79\x65\x5e\xa6\xc4\xe2\x06\xa6\x6f\xff\x87\x40\xcf\x92\xf7\xf9\xc3\x6e\x65\x9a\x56\xf8\x41\xeb\x43\xf6\x5d\x18\xa6\x8d\x3f\xa4\xb1\x1a\x8f\xb3\x58\x5e\x92\x59\xac\x37\x17\x06\x6a\xe9\x63\xdb\x60\x9c\x36\xfa\xde\xc6\x82\xbe\x10\xed\x9d\xcc\x9c\xff\x4b\x8f\x87\x2a\x2f\xfe\x50\x1e\xb9\xae\x79\x32\x81\xfa\xd0\x79\xb4\x36\x8e\x12\x87\xbf\xf3\xe0\x4f\x44\x2f\x62\xce\x28\x65\x8e\x8e\x7b\xc9\xf0\x3f\x75\x98\xb8\xa6\xc0\x1e\x8e\xb7\xbd\xa0\x54\x3b\xfb\xbe\x08\x4f\xe4\xcf\xf8\xc8\xf9\x67\x0f\x92\xcf\x27\xc2\x7d\xdf\xa1\xf1\xa8\x4e\xf1\x8c\xe8\x8a\xe0\x4a\xa6\xcb\x43\x65\x2f\x7b\x08\xca\xd9\xca\x7f\xc1\x47\x53\xa3\x90\x49\xdf\x1c\x12\xe1\xc8\x6c\x65\xba\xe0\x0c\xbc\x34\xe1\xb4\x29\xd4\x1b\x48\x66\xc7\x65\x62\x1d\x2a\x4a\xfe\xc6\xd8\x08\x5f\xed\x8b\x0f\x44\xe7\x09\xfd\xa5\x2f\x24\x5d\xc1\xc3\x7f\x02\x00\x00\xff\xff\x2a\xf5\xf4\xd7\x2b\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x35, 0xb, 0xd3, 0x4d, 0xb9, 0x72, 0x6c, 0x8c, 0x7d, 0x33, 0xd9, 0x94, 0x78, 0x6b, 0xd3, 0x21, 0xb3, 0x2d, 0xf4, 0x9b, 0xff, 0x88, 0x55, 0x9a, 0xe3, 0xc7, 0xaf, 0xda, 0x6f, 0x27, 0x15}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x95, 0xf0, 0x96, 0x47, 0xec, 0x7c, 0xdc, 0x90, 0x39, 0x23, 0x32, 0x42, 0xf8, 0xfe, 0xc6, 0x4b, 0xe7, 0x83, 0x1b, 0xec, 0xc5, 0xa7, 0xb3, 0x64, 0x87, 0xc6, 0x2f, 0x25, 0x5f, 0xe0, 0xbc, 0x95}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index b3127e4d..7a5530d0 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -5,11 +5,11 @@
 // generic_transfer.cdc (1.331kB)
 // metadata/setup_account_from_vault_reference.cdc (1.909kB)
 // mint_tokens.cdc (1.827kB)
-// privateForwarder/create_account_private_forwarder.cdc (1.981kB)
-// privateForwarder/create_private_forwarder.cdc (1.659kB)
+// privateForwarder/create_account_private_forwarder.cdc (2.025kB)
+// privateForwarder/create_private_forwarder.cdc (1.703kB)
 // privateForwarder/deploy_forwarder_contract.cdc (418B)
-// privateForwarder/setup_and_create_forwarder.cdc (2.482kB)
-// privateForwarder/transfer_private_many_accounts.cdc (1.499kB)
+// privateForwarder/setup_and_create_forwarder.cdc (2.527kB)
+// privateForwarder/transfer_private_many_accounts.cdc (1.543kB)
 // safe_generic_transfer.cdc (1.888kB)
 // scripts/get_balance.cdc (722B)
 // scripts/get_supply.cdc (195B)
@@ -206,7 +206,7 @@ func mint_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _privateforwarderCreate_account_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x51\x4f\xdb\x40\x0c\x7e\xcf\xaf\xb0\xfa\xc0\x52\x29\xb4\xef\xa8\xc0\xb6\x8e\x4a\x68\x1a\x42\xa3\xe3\xdd\x4d\x4d\x72\xda\xf5\x2e\xba\x73\x12\x2a\xd4\xff\x3e\x5d\x92\x4b\x72\xd0\x6e\xb0\x3c\x20\xea\xd8\x9f\xbf\xcf\xfe\x1c\xb1\x2b\xb4\x61\x58\x95\x2a\x13\x1b\x49\x6b\xfd\x9b\x14\x3c\x19\xbd\x83\x49\x10\x9b\x44\x5d\xe6\xcd\x33\xee\x8a\x30\x71\x1c\xea\xf3\xee\x8d\xa8\x90\xe9\x27\xa5\x24\x2a\x32\x2b\x6d\x6a\x34\x5b\x32\x5d\xcd\xa9\xd7\x7d\x7d\xd0\xfd\x07\x31\x6e\x91\xf1\x51\x50\x6d\x8f\xd1\x0b\x12\x26\x51\x34\x9f\xcf\x61\x9d\x0b\x0b\x6c\x50\x59\x4c\x59\x68\x05\xc2\x42\x69\x69\x0b\xac\x21\x35\x84\x4c\x80\x2e\x60\x3e\x59\x58\x49\x5d\x03\xa6\xa9\x2e\x15\x43\x2d\x38\x07\x84\xa2\xa5\x08\x4f\x9e\x5b\x14\x8d\xd1\x5e\xa2\x08\x00\xc0\x75\xba\xa3\x1a\xbe\x74\xc5\x9c\xa3\x43\x90\x12\x72\x2d\xb7\xc0\xf9\x18\xc0\x15\x48\x62\x50\x54\x77\xf9\x17\x80\x25\xe7\xf1\x03\x6b\x83\x19\x25\xb0\xd4\x8a\x0d\xa6\x6c\x13\xf8\x4e\x7b\x9b\xc0\xad\xda\xe8\xe7\x04\x96\x58\xe0\x46\x48\xc1\x82\xec\x14\xce\xba\xea\x96\x42\x61\xa8\x40\x43\xb1\x15\x99\x22\xd3\x21\x7e\xd5\xc6\xe8\xfa\x11\x65\x49\x43\xfe\x14\x5e\x9a\x0a\xf7\x58\x92\x4f\xb3\x81\x08\x5c\x7a\x09\x71\x81\x7b\x07\xd3\xc2\x4d\x9b\x82\x43\xdb\x89\x9e\x29\x2d\x99\xbc\x76\x2f\xa7\xc2\x52\xf2\x37\x64\x84\xcb\xc0\x1f\x33\x43\x56\xcb\x8a\xbc\x28\xb7\x9d\xd8\xc5\x4a\x93\xd2\x7a\x5f\xd0\x05\x28\x21\x13\xa8\x04\xd5\xed\x4f\xf7\x77\x71\x7a\xb3\xb3\xd5\xfa\xd1\xf7\xba\x8a\xa7\xd3\x9e\x85\x7b\xae\xaf\xa1\x40\x25\xd2\x78\xb2\xd4\xa5\xdc\x82\xd2\x0c\x99\x67\x07\x0e\xa3\x69\xe4\xd6\xd1\xac\x25\xed\x58\x4d\xa6\x83\x9a\xf9\x1c\x1e\xb0\x72\xc6\x30\x94\x95\x12\x4d\x57\xcd\xba\x29\x51\xd4\xbb\xe4\xd4\x1c\x67\xb6\x5d\xe5\xcc\x62\x45\xf1\xe2\x3c\x98\x47\x6b\xbb\x9b\x5d\xc1\xfb\x46\x47\xdc\xa0\x8f\xa4\x7f\x0e\xd2\x9b\x1c\xa7\x33\x01\xd6\x17\xc3\x98\x7d\x8f\x7b\xe4\x3c\x24\x7f\x6b\x6d\xe9\xd8\xfb\xbb\x1a\x7c\xb3\x07\x46\x93\x11\xb3\x50\x59\xa3\x25\x38\xe4\xa6\x53\xb0\x53\xd3\x21\x8c\x00\x2e\xdf\x68\x4d\x47\xae\xec\x85\x0b\xc7\x61\x71\xf6\x12\xac\x71\xe6\x19\x1d\xae\xe2\x60\x6b\x47\x45\xf5\x19\xa1\xba\x5f\x96\x1a\xea\xfe\x32\x3d\xc7\xe0\xa2\xdf\x9e\xed\x58\x56\x1f\x85\xc5\xf9\xc9\x6f\x54\xb7\xa7\x3b\xaa\xfb\x50\x6c\x28\x15\x85\x20\x77\xb1\x6f\x47\x73\xc4\x41\x63\x9e\x43\x53\xd6\xfd\x57\xa6\x93\xfb\x5e\x1f\xf5\x18\xad\x17\x4e\x52\x7f\xf5\xe2\xe1\x5f\x4e\x19\x1b\xa4\x35\xf9\xf0\xa9\xf6\xa7\x7a\x7c\x82\x4b\x2c\x3e\x68\x89\x93\xa4\xfb\xff\x5e\x99\xc3\x3d\xff\xa1\x34\xc0\x98\x8e\x55\xdf\x97\x1b\x29\x6c\xde\xe8\xfc\x90\xf2\xbf\xca\x2c\x5a\xd4\x90\xfb\x78\x4e\x49\xf0\x06\xf9\xfd\xfb\x6b\x08\xa7\xc7\x6e\xe2\x10\x1d\xfe\x04\x00\x00\xff\xff\x2c\x6d\x06\x76\xbd\x07\x00\x00"
+var _privateforwarderCreate_account_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4d\x4f\xdb\x40\x10\xbd\xfb\x57\x4c\x73\xa0\xb6\x64\x92\x3b\x0a\xd0\x36\x25\x12\xaa\x8a\x50\x49\xb9\x4f\x9c\xc1\x5e\x75\xb3\x6b\xed\x8e\x6d\x22\x94\xff\x5e\xad\xbf\x97\x24\x14\xea\x03\x22\xe3\x99\x37\xef\xcd\xbc\xb1\xd8\xe6\xda\x30\x2c\x0b\x95\x8a\xb5\xa4\x95\xfe\x43\x0a\x9e\x8c\xde\xc2\xc4\x8b\x4d\x82\x36\xf3\xe6\x19\xb7\xb9\x9f\x38\x0e\xf5\x79\xf7\x46\x94\xc8\xf4\x8b\x12\x12\x25\x99\xa5\x36\x15\x9a\x0d\x99\xb6\xe6\xd4\xeb\xbe\xde\xeb\xfe\x93\x18\x37\xc8\xf8\x28\xa8\xb2\xc7\xe8\x79\x09\x93\x20\x98\xcd\x66\xb0\xca\x84\x05\x36\xa8\x2c\x26\x2c\xb4\x02\x61\xa1\xb0\xb4\x01\xd6\x90\x18\x42\x26\x40\x17\x30\x9f\x2d\x2c\xa5\xae\x00\x93\x44\x17\x8a\xa1\x12\x9c\x01\x42\xde\x50\x84\xa7\x8e\x5b\x10\x8c\xd1\x5e\x82\x00\x00\xc0\x75\xba\xa3\x0a\xbe\xb6\xc5\x9c\xa1\x43\x90\x12\x32\x2d\x37\xc0\xd9\x18\xc0\x15\x48\x62\x50\x54\xb5\xf9\x17\x80\x05\x67\xe1\x03\x6b\x83\x29\xc5\xb0\xd0\x8a\x0d\x26\x6c\x63\xf8\x41\x3b\x1b\xc3\xad\x5a\xeb\xe7\x18\x16\x98\xe3\x5a\x48\xc1\x82\x6c\x04\x67\x6d\x75\x43\x21\x37\x94\xa3\xa1\xd0\x8a\x54\x91\x69\x11\xbf\x69\x63\x74\xf5\x88\xb2\xa0\x21\x3f\x82\x97\xba\xc2\x3d\x96\xe4\xd3\x74\x20\x02\x97\x9d\x84\x30\xc7\x9d\x83\x69\xe0\xa2\xba\x60\xdf\x74\xa2\x67\x4a\x0a\xa6\x4e\x7b\x27\xa7\xc4\x42\xf2\x77\x64\x84\x4b\xcf\x1f\x53\x43\x56\xcb\x92\x3a\x51\x6e\x3b\xa1\x8b\x15\x26\xa1\xd5\x2e\xa7\x0b\x50\x42\xc6\x50\x0a\xaa\x9a\x9f\xee\xef\xfc\xf4\x66\xa7\xcb\xd5\x63\xd7\xeb\x2a\x8c\x22\x40\xfb\xe9\x0d\xa7\x8c\xd3\xaf\x7b\xc6\xee\xb9\xbe\x86\x1c\x95\x48\xc2\xc9\x42\x17\x72\x03\x4a\x33\xa4\x9d\x12\x70\x00\x35\x29\xb7\xba\x7a\x85\x49\xab\x60\x12\x0d\xca\x67\x33\x78\xc0\xd2\x99\xc8\x50\x5a\x48\x34\x6d\x35\xeb\xba\x44\x51\xef\xa8\x53\x33\x9f\xda\x66\xed\x53\x8b\x25\x85\xf3\x73\x6f\x76\x8d\x45\x6f\xb6\x39\xef\x6a\x11\x61\x8d\x3e\x1a\xd3\x17\x2f\xbd\xce\x71\x33\x89\x81\xf5\xc5\xb0\x92\xae\xc7\x3d\x72\xe6\x93\xbf\xb5\xb6\x70\xec\xbb\x1b\x1c\x3c\xb6\x03\x46\x93\x12\xb3\x50\x69\xad\xc5\x3b\xfa\xba\x93\xb7\x7f\xd3\x22\x8c\x00\x2e\x0f\xb4\x26\x23\x07\xf7\xc2\x85\xe3\x30\x3f\x7b\xf1\x76\x38\xed\x18\xed\xaf\x42\x6f\x6b\x47\x45\xf5\x19\xbe\xba\xdf\x96\x6a\xea\xdd\x15\x77\x1c\xbd\xeb\x3f\x3c\xf1\xb1\xac\x3e\x0a\xf3\xf3\x93\xdf\xb3\x76\x4f\x77\x54\xf5\xa1\xd0\x50\x22\x72\x41\xee\xba\x0f\x47\x73\xc4\x41\x63\x9e\x43\x53\xd6\xfd\x17\xa9\x95\xfb\x5e\x1f\xf5\x18\x8d\x17\x4e\x52\x7f\xf5\xe2\xe1\x5f\x4e\x19\x1b\xa4\x31\xf9\xf0\x59\xef\xce\xfa\xf8\x04\x17\x98\x7f\xd0\x12\x27\x49\xf7\xff\xbd\x32\x87\x7b\xfe\x43\xa9\x87\x11\x8d\x55\xdf\x17\x6b\x29\x6c\x56\xeb\xfc\x90\xf2\x37\x65\xe6\x0d\xaa\xcf\x7d\x3c\xa7\xd8\x7b\x83\xfc\xfe\xfd\xd5\x84\x93\x63\x37\xb1\x0f\xf6\x7f\x03\x00\x00\xff\xff\x21\x83\x93\xcd\xe9\x07\x00\x00"
 
 func privateforwarderCreate_account_private_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -222,11 +222,11 @@ func privateforwarderCreate_account_private_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/create_account_private_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0x1e, 0xb6, 0x78, 0x61, 0x93, 0x2, 0x26, 0xcd, 0x10, 0x18, 0x3, 0xb3, 0x97, 0x2e, 0xbc, 0x9, 0xa9, 0x22, 0x7e, 0xe, 0x82, 0x2d, 0x1f, 0x0, 0x1d, 0x9c, 0xd5, 0xce, 0x2d, 0x51, 0x5b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x20, 0xfc, 0xb5, 0x37, 0xa5, 0xe, 0xd, 0x99, 0x7e, 0xe1, 0xc8, 0x1c, 0x7e, 0x23, 0xf0, 0xa2, 0x91, 0xb1, 0x97, 0x2b, 0xdc, 0xb, 0x1a, 0x8a, 0x53, 0xdd, 0x4c, 0x6a, 0x5c, 0xf3, 0xd3, 0xc1}}
 	return a, nil
 }
 
-var _privateforwarderCreate_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x53\x4d\x8f\xda\x3c\x10\xbe\xe7\x57\x8c\x38\xec\x9b\x48\x6c\xb8\x23\x76\x57\xaf\x68\x91\x7a\x68\x85\x0a\xe2\x3e\x98\x21\xb1\x6a\xec\xc8\x9e\x84\xa2\x15\xff\xbd\x72\xbe\x88\x29\x91\x76\xeb\x03\x22\x33\x9e\x99\xe7\x63\x2c\x4f\x85\xb1\x0c\xab\x52\x67\x72\xaf\x68\x6b\x7e\x91\x86\xa3\x35\x27\x98\x04\xb1\x49\xd4\xde\xfc\xfa\x1b\x4f\x45\x78\x71\x18\xea\xef\xad\xad\xac\x90\xe9\x27\x09\x92\x15\xd9\x95\xb1\x67\xb4\x07\xb2\x6d\xcd\x58\xba\xaf\x0f\xa6\x7f\x27\xc6\x03\x32\xee\x24\x9d\xdd\x23\x78\xc1\x85\x49\x14\xcd\x66\xb0\xcd\xa5\x03\xb6\xa8\x1d\x0a\x96\x46\x83\xb0\x84\x4c\x0e\x10\x34\x9d\xa1\x68\x00\x80\x6d\x11\x80\xd4\x80\x1a\x50\x08\x53\x6a\x06\xce\x91\xc1\xb7\x39\x18\x72\xfa\x3f\x06\x54\x96\xf0\x70\x81\x1c\x2b\x02\xfc\xbb\xdc\x58\x1f\x2d\xf7\x4a\x0a\xe0\x5a\x9c\x2e\xe5\xbb\xec\x4b\xae\x3b\xdd\xb7\xd9\x61\xa9\x38\x8a\x86\x30\xdf\xa3\x08\x00\xa0\xb0\x54\xa0\xa5\xd8\xc9\x4c\x93\x9d\x03\x96\x9c\xc7\xdf\x9c\x2b\x69\xc3\xc6\x62\x46\x4b\x2c\x70\x2f\x95\xe4\xcb\xd2\x68\xb6\x46\x29\xb2\x53\x58\x7b\x04\x2e\xbf\x25\xa7\xb0\xc1\x8a\x76\xa8\x4a\x4a\xe0\xe9\xff\x86\x5e\xd2\x4d\xf1\x47\x11\x43\xe5\x71\x7c\x41\x46\x78\x09\x1c\x4e\x2d\x39\xa3\x2a\xaa\x47\xa0\x60\xaf\x6f\xec\x63\xa5\x15\xb4\xbd\x14\x34\x07\x2d\xd5\x14\x2a\x49\xe7\xe6\xd3\xff\x2e\xc6\xbd\x49\x57\xdb\x5d\x37\xeb\x35\x4e\x92\x1e\x85\x3f\x6f\x6f\x50\xa0\x96\x22\x9e\x2c\x4d\xa9\x0e\xa0\x0d\x43\xd6\xa1\x03\xdf\xa3\x1e\x04\x47\x63\x81\x73\x02\xd1\xa2\x9a\x24\x37\x36\xb3\x19\xd4\x2a\x01\x42\xb7\x5c\x70\x53\x03\x18\x6d\x46\xcc\x52\x67\x75\x87\x60\x9b\x1b\x33\x86\xb2\x74\x16\x0e\x1a\xbc\x40\xe3\x48\x2a\xba\x98\x24\x97\xba\xc6\x93\x54\xfa\xd1\x8b\xa7\xf7\x40\x80\xb4\x03\x72\x7d\x8d\x03\xbe\xbd\xea\x5d\xfd\x1a\x39\xef\x6f\x24\x43\x4e\xcb\x7a\x79\x6b\xcc\xb7\xa7\xd4\x19\x11\x60\x3e\xf6\xe9\xc5\xf3\xe8\x2b\x4c\x9b\xc7\xf0\x83\xce\x7d\x28\xb6\x24\x64\x21\x49\xf3\xfc\x01\xef\x00\x8c\xdf\xa8\x11\x28\xc0\x06\x5a\x32\x7d\x45\x2b\x58\xa7\x91\xc3\x8a\xe2\xc5\x73\x8f\x73\x0a\x6c\xe6\xe3\x48\xef\x12\x9b\x9b\x52\xc9\x23\xd3\x87\x5e\x9b\x4f\xe9\xb5\xc4\xe2\x63\xee\x8e\x42\xed\xff\xdd\xf9\xec\xcf\x3f\xf0\x0b\x7a\x04\x64\xdb\x57\x5e\xd3\xfb\x14\xe1\x47\xec\x8a\xa6\x59\x08\x79\xa8\xca\x34\xc8\x20\x7f\xdc\xac\x1a\xa7\x78\xb0\xd5\xd7\xe8\x1a\xfd\x09\x00\x00\xff\xff\xe2\x30\x5c\xd3\x7b\x06\x00\x00"
+var _privateforwarderCreate_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4d\x8f\xda\x3c\x10\xbe\xe7\x57\xcc\xcb\x61\xdf\x44\x62\xc3\x1d\xb1\xbb\xaa\x68\x57\xea\xa1\x15\x2a\x88\xfb\x60\x86\xc4\xaa\xb1\x23\x7b\x12\x8a\x56\xfc\xf7\xca\xf9\x22\xa6\xa4\xda\xad\x0f\x08\x66\xc6\x33\xcf\xc7\x18\x79\x2c\x8c\x65\x78\x2d\x75\x26\x77\x8a\x36\xe6\x27\x69\x38\x58\x73\x84\x49\x10\x9b\x44\x6d\xe5\x97\x5f\x78\x2c\xc2\xc2\x61\xa8\xaf\x5b\x59\x59\x21\xd3\x0f\x12\x24\x2b\xb2\xaf\xc6\x9e\xd0\xee\xc9\xb6\x77\xc6\xd2\xfd\xfd\x60\xfa\x37\x62\xdc\x23\xe3\x56\xd2\xc9\xdd\x83\x17\x14\x4c\xa2\x68\x36\x83\x4d\x2e\x1d\xb0\x45\xed\x50\xb0\x34\x1a\x84\x25\x64\x72\x80\xa0\xe9\x04\x45\x03\x00\x6c\x8b\x00\xa4\x06\xd4\x80\x42\x98\x52\x33\x70\x8e\x0c\xbe\xcd\xde\x90\xd3\xff\x33\xa0\xb2\x84\xfb\x33\xe4\x58\x11\xe0\x9f\xd7\x8d\xf5\xd1\x72\xa7\xa4\x00\xae\xc5\xe9\x52\xbe\xcb\xae\xe4\xba\xd3\x6d\x9b\x2d\x96\x8a\xa3\x68\x08\xf3\x2d\x8a\x00\x00\x0a\x4b\x05\x5a\x8a\x9d\xcc\x34\xd9\x39\x60\xc9\x79\xfc\xd5\xb9\x92\xd6\x6c\x2c\x66\xb4\xc4\x02\x77\x52\x49\x3e\x2f\x8d\x66\x6b\x94\x22\x3b\x85\x95\x47\xe0\xf2\x6b\x72\x0a\x6b\xac\x68\x8b\xaa\xa4\x04\x1e\x3e\x35\xf4\x92\x6e\x8a\x3f\x8a\x18\x2a\x8f\xe3\x33\x32\xc2\x53\xe0\x70\x6a\xc9\x19\x55\x51\x3d\x02\x05\x7b\x7d\x63\x1f\x2b\xad\xa0\xcd\xb9\xa0\x39\x68\xa9\xa6\x50\x49\x3a\x35\x3f\xfd\xe7\x62\xdc\x9b\xf4\x75\xb3\xed\x66\x3d\xc7\x49\x02\xe8\xfe\xfb\x8b\xd7\xc3\xf2\x97\x1e\xb1\x3f\x2f\x2f\x50\xa0\x96\x22\x9e\x2c\x4d\xa9\xf6\xa0\x0d\x43\xd6\x31\x01\xdf\xa0\x06\x05\x07\x63\x81\x73\x02\xd1\x32\x98\x24\x57\xe6\xb3\x19\xd4\x8a\x02\x42\xb7\x88\x70\x55\x0e\x18\x6d\x46\xcc\x52\x67\x75\x87\x60\xf3\x1b\xe3\x86\x12\x76\x76\x0f\x1a\x3c\x41\xe3\x5e\x2a\xba\x98\x24\x97\xba\xc6\xbf\x54\xfa\xd1\x8b\x87\xb7\x80\x7d\xda\x01\xb9\x3c\xc7\x01\xdf\xde\xa1\xee\xfe\x0a\x39\xef\x2b\x92\x21\xa7\x65\xbd\xe8\x35\xe6\xeb\xb3\xeb\x4c\x0b\x30\x1f\xfa\xf4\xe2\x71\xf4\xc5\xa6\xcd\xc3\xf9\x4e\xa7\x3e\x14\x5b\x12\xb2\x90\xa4\x79\x7e\x87\x77\x00\xc6\x6f\xdf\x08\x14\x60\x03\x2d\x99\xfe\x46\x2b\x58\xa7\x91\xc3\x8a\xe2\xc5\x63\x8f\x73\x0a\x6c\xe6\xe3\x48\x6f\x12\xeb\xab\x52\xc9\x3d\xd3\x87\x5e\x9b\x0f\xe9\xb5\xc4\xe2\x7d\xee\x8e\x42\xed\xbf\xdd\xf8\xec\xcf\x3f\xf0\x0b\x7a\x04\x64\xdb\x7f\x84\x9a\xde\x87\x08\xdf\x63\x57\x34\xcd\x42\xc8\x43\x55\xa6\x41\x06\xf9\xfd\x66\xd5\x38\xc5\x9d\xad\xbe\x44\x97\xe8\x77\x00\x00\x00\xff\xff\x50\x45\x63\xdc\xa7\x06\x00\x00"
 
 func privateforwarderCreate_private_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -242,7 +242,7 @@ func privateforwarderCreate_private_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/create_private_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1c, 0x9b, 0xa3, 0xcc, 0x90, 0x50, 0x4a, 0x9b, 0xa4, 0x72, 0xfd, 0x1d, 0x82, 0x41, 0x75, 0x5b, 0xb9, 0x4a, 0xe2, 0xa9, 0xe1, 0xeb, 0x1, 0xb, 0xa6, 0xfb, 0x13, 0x97, 0xbc, 0x82, 0x29, 0x18}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x98, 0xff, 0x61, 0x1c, 0x7c, 0x46, 0xa2, 0xe6, 0xc3, 0x93, 0xd9, 0xce, 0xec, 0xf1, 0x88, 0x96, 0x4c, 0x17, 0x51, 0xe1, 0x89, 0xac, 0xce, 0x3e, 0x46, 0xb4, 0xb6, 0xf9, 0xb7, 0x2e, 0x1a, 0xb}}
 	return a, nil
 }
 
@@ -266,7 +266,7 @@ func privateforwarderDeploy_forwarder_contractCdc() (*asset, error) {
 	return a, nil
 }
 
-var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x41\x6f\xf2\x38\x10\xbd\xe7\x57\xcc\x72\x40\x89\x44\xe1\x8e\x80\x6a\xc5\xb6\xd2\x1e\x76\x55\x6d\x11\xf7\xc1\x19\xc0\x6a\xb0\x23\x7b\x02\x8b\x2a\xfe\xfb\xca\x0e\x09\x76\x49\xb6\xf4\xf3\xa1\x2a\x8e\x3d\xf3\xe6\xbd\x79\xe3\x44\x1e\x4a\x6d\x18\x5e\x2b\xb5\x93\x9b\x82\x56\xfa\x83\x14\x6c\x8d\x3e\xc0\x20\xda\x1b\x34\x27\x5f\xfe\xc5\x43\x19\x1f\x0c\xb7\xda\x73\x6f\x46\x1e\x91\xe9\x1f\x12\x24\x8f\x64\x5e\xb5\x39\xa1\xc9\xc9\x5c\xef\xf4\x7d\x1e\x74\x22\xfa\x8b\x18\x73\x64\x5c\x4b\x3a\xd9\x2e\x78\xd1\x81\x41\x92\x4c\x26\x13\x58\xed\xa5\x05\x36\xa8\x2c\x0a\x96\x5a\x01\xe6\xb9\x05\x84\x35\x56\x05\x8f\x00\xa1\xac\x31\x80\xb9\x82\x80\x6d\x83\xc2\xdf\x47\xd8\x60\x81\x4a\x10\x08\x2c\x71\x23\x0b\xc9\xe7\x11\xa0\xca\xdd\xd5\x6a\x53\x48\x11\x7c\x70\x77\x81\xf7\xb7\x60\x49\x12\xa6\xfe\x4c\x12\x00\x80\xd2\x50\x89\x86\x52\x2b\x77\x8a\xcc\x14\xb0\xe2\x7d\xfa\xa7\xb5\x15\xbd\xb3\x36\xb8\xa3\x65\x1b\x70\xa9\x15\x1b\x5d\x14\x64\x46\xf0\xe6\xb2\xd9\xfd\x32\x80\xf1\x8e\x47\x5a\x63\x51\x51\x06\xc3\xdf\x85\xd0\x95\xe2\x0c\x3e\x7d\x12\xb7\x0a\x62\x38\xba\x3a\xff\x40\x46\x98\x47\xaa\x8d\x0d\x59\x5d\x1c\xc9\x67\x40\xc1\x8e\xb3\xd4\xed\x55\x46\xd0\xea\x5c\xd2\x14\x94\x2c\x46\x70\x94\x74\xaa\x7f\xba\xbf\xb3\x7e\xbe\xc7\xaf\xab\x75\x93\x6b\x91\x66\x59\x8b\xc2\xad\xe7\x67\x28\x51\x49\x91\x0e\x96\xba\x2a\x72\x50\x9a\x61\xd7\xa0\x03\x17\xc3\x27\x6a\xf9\x13\x57\x54\x83\x2c\x69\xe3\xc8\x2d\xd4\x8c\x8d\x5b\xc2\x25\xd9\xf1\x8e\x78\x36\xec\x6b\xa4\x71\xfb\xdf\x22\xed\x3d\xf3\xe5\x83\xe7\x59\xbc\x21\xef\x33\xf8\x6d\xee\x58\x08\x28\x75\x6b\x32\x69\x9b\xa6\xed\x15\x38\xa1\x05\x2c\x0c\x61\x7e\x06\x4b\x0c\x55\x19\xdd\x31\xc4\x95\x51\xed\xd6\xa5\xab\x2c\x5b\xab\x3f\x16\x7b\x12\x1f\xb3\x61\xa4\x96\xa7\x76\x91\xba\xa6\x9f\xde\x34\x6d\xae\xd4\x60\xe7\x73\xd8\x62\x61\xe9\x1e\xee\xd2\x90\x43\x8b\xa0\xe8\x14\x7b\xd7\xc7\xf5\xed\x5c\x56\x0c\x92\x41\x2a\xb8\x06\x8d\x82\x7c\x81\x68\xf1\x48\x69\x74\xc0\xad\xd9\x53\x84\x59\xf8\xac\x2f\x87\x92\xcf\x3e\x4d\xea\x71\x07\xcd\xd4\x55\x61\x96\x8d\xee\xe2\xb2\xee\xa9\x39\x3a\x99\x75\xb1\x1b\x16\x7f\xb5\x6b\x5d\xf2\xcd\x46\x4e\x01\x45\x94\x53\xfe\x5d\xab\x6d\xb4\x31\xfa\x34\x1b\x7e\x46\x2e\xa8\x91\x5f\x16\xe9\x0d\xe2\xe1\x6a\x8c\x56\x97\xfb\x26\x6a\xbd\xb9\xc4\x12\xe6\x9d\xe9\x1a\xb2\xa5\x1b\x0d\xdd\xfd\x70\x47\x95\x5b\xdf\x53\x15\xd3\x15\xe8\x1b\xe5\x2f\xeb\x81\x93\x36\x30\x47\x80\x1c\x0a\x11\x55\xd9\x43\xbe\x1f\x6b\x80\xd0\x98\x2b\xe4\x9d\xd1\xec\x88\x59\xaa\x9d\xf7\xfc\x7d\x5f\x46\x83\xac\x19\xa9\x41\x80\x87\x68\xfb\x22\x56\x03\xe4\xd2\x41\xde\x23\x3d\x16\x61\xba\xd9\x7f\xf6\xd4\xfb\xd6\x5d\x7d\xf0\x37\x9d\xda\xad\xd4\x90\x90\xa5\x24\xc5\xd3\x8e\xba\x82\x24\x5d\xb6\x9b\x3d\xb5\x69\x47\xde\x1a\x8f\x0e\xb6\xf7\x60\x58\x74\x8a\x14\x6a\xa3\xbd\x26\xb7\x07\xbb\x79\x1a\xba\xeb\x7f\xb8\x89\x1f\x19\xd4\x77\xba\xfc\x42\x81\x3d\x93\x61\x32\x69\x9e\x51\x5f\xde\x8f\x0a\xfe\x3f\x8b\x44\xe9\x42\x56\xe2\x61\xe6\xfc\xf3\xf3\x67\x28\x89\xeb\xb8\x24\x97\xe4\xbf\x00\x00\x00\xff\xff\x0d\x62\xb1\x6f\xb2\x09\x00\x00"
+var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x41\x6f\xf2\x38\x10\xbd\xe7\x57\xcc\xc7\x01\x25\x12\x85\x3b\x02\xba\x2b\xf6\xab\xb4\x87\x5d\x55\x5b\xc4\x7d\x70\x06\xb0\xbe\x60\x47\xf6\x04\x16\x55\xfc\xf7\x95\x1d\x12\xec\x92\xb4\x74\x7d\xa8\x8a\x63\xcf\xbc\x79\x6f\xde\x38\x91\x87\x52\x1b\x86\x97\x4a\xed\xe4\xa6\xa0\x95\xfe\x45\x0a\xb6\x46\x1f\x60\x10\xed\x0d\x9a\x93\x3f\xff\xc5\x43\x19\x1f\x0c\xb7\xda\x73\xaf\x46\x1e\x91\xe9\x1f\x12\x24\x8f\x64\x5e\xb4\x39\xa1\xc9\xc9\x5c\xef\xf4\x7d\x1e\x74\x22\xfa\x8b\x18\x73\x64\x5c\x4b\x3a\xd9\x2e\x78\xd1\x81\x41\x92\x4c\x26\x13\x58\xed\xa5\x05\x36\xa8\x2c\x0a\x96\x5a\x01\xe6\xb9\x05\x84\x35\x56\x05\x8f\x00\xa1\xac\x31\x80\xb9\x82\x80\x6d\x83\xc2\xdf\x47\xd8\x60\x81\x4a\x10\x08\x2c\x71\x23\x0b\xc9\xe7\x11\xa0\xca\xdd\xd5\x6a\x53\x48\x11\x7c\x70\x77\x81\xf7\xb7\x60\x49\x12\xa6\x7e\x4f\x12\x00\x80\xd2\x50\x89\x86\x52\x2b\x77\x8a\xcc\x14\xb0\xe2\x7d\xfa\xa7\xb5\x15\xbd\xb1\x36\xb8\xa3\x65\x1b\x70\xa9\x15\x1b\x5d\x14\x64\x46\xf0\xea\xb2\xd9\xfd\x32\x80\xf1\x86\x47\x5a\x63\x51\x51\x06\xc3\xdf\x85\xd0\x95\xe2\x0c\xde\x7d\x12\xb7\x0a\x62\x38\xba\x3a\xff\x40\x46\x98\x47\xaa\x8d\x0d\x59\x5d\x1c\xc9\x67\x40\xc1\x8e\xb3\xd4\xed\x55\x46\xd0\xea\x5c\xd2\x14\x94\x2c\x46\x70\x94\x74\xaa\x7f\xba\xbf\xb3\x7e\xbe\xc7\x2f\xab\x75\x93\x6b\x91\x66\x19\xa0\xfd\xf1\x89\x7e\xe1\xf1\xe7\x16\xb1\x5b\xcf\xcf\x50\xa2\x92\x22\x1d\x2c\x75\x55\xe4\xa0\x34\xc3\xae\xa9\x04\x5c\x00\x0f\xaa\xe5\x5a\x5c\x2b\x18\x64\x49\x1b\x47\x6e\xa1\x66\x77\xdc\x8a\x23\xc9\x8e\x77\xc4\xb3\x61\x5f\xd3\x8d\xdb\xff\x16\x69\xef\x99\x0f\x1f\xbc\x26\xe2\x15\x79\x9f\xc1\x8f\xb9\x63\x2c\xa0\xdf\xad\xc9\xa4\x6d\xb0\xb6\xaf\xe0\x84\x16\xb0\x30\x84\xf9\x19\x2c\x31\x54\x65\x74\xc7\x10\x57\x46\xb5\x5b\x97\xae\xb2\x6c\xdd\x29\x63\xb1\x27\xf1\x6b\x36\x8c\x94\xf5\xbc\x2e\x52\x67\x90\xe9\x4d\xff\xe6\x4a\x0d\x76\x3e\x87\x2d\x16\x96\xee\xe1\x2e\x0d\x39\xb4\x08\x8a\x4e\xb1\xcf\x7d\x5c\xdf\xfa\x65\xc5\x20\x19\xa4\x82\x6b\xd0\x28\xc8\x07\x88\x16\x8f\x94\x46\x07\xdc\x9a\x3d\x45\x98\x85\xcf\xfa\xf3\x50\xf2\xd9\xa7\x49\x3d\xee\xa0\xf1\x7e\xeb\x2a\x31\xcb\x46\x77\x81\x59\xf7\x14\x1d\x9d\xcc\xba\xe8\x0d\xab\xbf\x7a\xbb\xae\xf9\xe6\x39\x27\x81\x22\xca\x29\xff\xaa\xd7\x36\xda\x18\x7d\x9a\x0d\xdf\x23\x0f\xd4\xc8\x2f\x8b\xf4\x06\xf1\x70\xb5\x45\x2b\xcc\x7d\x17\xb5\x46\x5e\x62\x09\xf3\xce\x74\x0d\xdb\xd2\xcd\x91\xee\x86\xb8\xa3\xca\xad\xaf\xa9\x8a\xe9\x0a\x04\x8e\xf2\x97\xf5\x74\x4a\x1b\x98\x23\x40\x0e\x85\x88\xaa\xec\x21\xdf\xcf\x40\x40\x68\xdc\x15\xf2\xce\x68\x76\xc4\x2c\xd5\xce\x9b\xfe\xbe\x31\xa3\xa9\xd7\xcc\xdf\x20\xc0\x43\xb4\x7d\x10\xab\x01\x72\xe9\x20\xef\x91\x1e\x8b\x30\xdd\xfc\x3f\x7b\xea\x7d\x18\xaf\x46\xf8\x9b\x4e\xed\x56\x6a\x48\xc8\x52\x92\xe2\x69\x47\x5d\x41\x92\x2e\xdf\xcd\x9e\xda\xb4\x23\x6f\x8d\x47\x27\xdb\x5b\x30\x2d\x3a\x45\x0a\xb5\xd1\x5e\x93\xdb\xeb\xde\xbc\x23\xdd\xf5\x3f\xdc\xc4\x8f\x4c\xea\x3b\x5d\xfe\x47\x81\x3d\x93\x61\x32\x69\xde\x5c\x5f\xde\xb7\x0a\xfe\xcc\x22\x51\xba\x90\x95\x78\x98\x39\xff\x7c\xff\x1d\x4a\xe2\x3a\x2e\xc9\x25\xf9\x2f\x00\x00\xff\xff\x99\x97\xb9\xa2\xdf\x09\x00\x00"
 
 func privateforwarderSetup_and_create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -282,11 +282,11 @@ func privateforwarderSetup_and_create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/setup_and_create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0xe6, 0x4a, 0xeb, 0x61, 0xec, 0x8b, 0x55, 0xb2, 0x19, 0xde, 0x6c, 0xed, 0x34, 0x24, 0x5, 0xd4, 0x0, 0x23, 0x98, 0x6, 0x55, 0x52, 0x37, 0x21, 0x37, 0x33, 0x28, 0xcd, 0x7b, 0xaf, 0xe3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd4, 0xa3, 0xf6, 0x5c, 0xa2, 0x5a, 0x74, 0x24, 0xd, 0xb6, 0xe8, 0x5c, 0xdb, 0xfb, 0x3d, 0xe6, 0x7a, 0x15, 0x1e, 0xda, 0xa0, 0xdd, 0x37, 0x3a, 0x92, 0x47, 0x75, 0x59, 0x4, 0x73, 0x27, 0x5b}}
 	return a, nil
 }
 
-var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x4b\x6f\x9b\x40\x10\x3e\x87\x5f\x31\xf1\x21\x05\x29\xc5\x97\xaa\x07\x94\x87\xd2\xb4\xee\x29\x52\x94\xb8\xee\xa1\xea\x61\x02\x63\x58\x05\xef\xa2\xd9\xc1\x24\x8a\xfc\xdf\xab\x85\x85\x40\x13\xcb\xaa\x54\x1f\xfc\x58\x7f\x33\xf3\x3d\x66\x51\x9b\xca\xb0\xc0\xa2\xd6\xb9\x7a\x28\x69\x69\x1e\x49\xc3\x9a\xcd\x06\x66\x93\xb3\x59\xe0\x91\xdf\x9e\x70\x53\x4d\x81\xe3\xa3\x01\x77\xcb\x6a\x8b\x42\x77\x94\x92\xda\x12\x2f\x0c\x37\xc8\x19\xb1\xaf\xd9\xf7\xf7\x50\x3f\x99\x7e\x43\x82\x19\x0a\xae\x14\x35\xf6\x3d\x7a\x13\xc0\x2c\x08\xe6\xf3\x39\x2c\x0b\x65\x41\x18\xb5\xc5\x54\x94\xd1\xdd\xf7\x35\xb1\x05\x31\xb0\x41\xfd\x0c\x98\x65\x4c\xd6\x92\x05\x29\xd8\xd4\x79\x01\x52\x90\x62\xa8\x3a\x76\xc0\x9e\x9e\x0d\x82\x51\xa3\xd0\x97\x5d\x6d\x4c\xad\xe5\x06\xab\x04\x5e\xae\xba\xa3\x04\x7e\x2c\xd4\xd3\xe7\x4f\xbb\x08\x5e\x82\x00\x00\xa0\x25\x42\xb0\xc2\xba\x14\x60\xb2\xa6\xe6\x94\x40\x0a\x14\x28\x4c\x99\xb9\xc9\x04\xe2\x34\xd8\xee\x14\x99\xe0\x81\x94\xce\x07\xbe\x4c\x59\xdb\xaa\x24\x81\xad\xeb\x73\x47\xeb\x04\xb0\x96\x22\x9c\x98\x10\xff\x54\x52\x64\x8c\x4d\x04\x27\xe3\x4c\xe2\x76\x78\x30\xf4\xf0\xea\xbc\xe7\x4a\xe7\xf7\xa4\x33\xe2\x04\x4e\xf6\xa5\x12\x77\x88\xae\x45\xc5\x54\x21\x53\x68\x55\xae\x5d\x55\x4b\xe4\x8b\x61\x36\xcd\x0a\xcb\x9a\x22\x38\xb9\x4a\x53\x67\xcd\x60\xc2\x84\xfd\x57\x14\x84\xf3\xc9\x22\xc5\xce\x98\x72\x4b\xd7\x46\x0b\x63\x2a\x2e\xc6\xb0\x37\x6b\xf9\x5c\x51\x02\x5a\x95\xa7\xb0\x55\xd4\x74\x3f\xdd\xfb\xd9\xfe\x15\x88\x17\xcb\x55\x3f\xeb\x22\x8c\xa2\x81\x85\x7b\x5d\x5e\x42\x85\x5a\xa5\xe1\xec\xda\xd4\x65\x06\xda\x08\xe4\x3d\x3b\x70\x3d\xda\x41\xb0\x36\xdc\xa6\x93\x7a\x56\xb3\xe8\x55\xcd\x7c\x0e\xdf\x49\x00\x81\x69\x4d\x4c\xda\x65\x6a\x5a\x74\x67\xcb\x07\x0b\x56\x0c\x53\xd6\x75\x1d\xea\x2c\x95\xeb\xb8\x0f\x11\xce\x3d\x3a\x76\x58\xcc\x29\x7e\x68\x6d\x3c\xfb\xd7\x6c\x2f\x42\x77\x27\x92\x57\x7f\xfb\x86\xb7\x28\x45\x14\x1c\x1d\x1d\xbd\xa7\xb9\x1b\xf6\x56\x81\x69\x3a\x01\x6d\xeb\xe3\xb1\xea\x96\xfd\x9e\xf5\xd9\x2b\xe6\xd0\x56\xf5\xe4\x0f\xc0\xee\xff\xbb\xa2\x5d\xf7\x41\x4f\x94\xd6\x42\xe3\x5d\x75\xc9\xfb\x4b\x0e\x4a\xc3\xdf\xf7\x3d\x7e\xa4\x67\x3b\xc6\x1f\xf2\x26\xb6\xa4\x33\xaf\xaf\x8d\xcd\xf6\xcf\x90\x53\x7f\xf7\x13\x38\xfb\x38\xd9\x8d\xb8\xf1\x81\x87\xd8\x8e\x4d\xde\xb0\xf8\xe5\x0f\x7e\x1f\x47\xa3\x88\x76\x5e\xda\x2e\xf8\x13\x00\x00\xff\xff\x66\x23\xc4\xd7\xdb\x05\x00\x00"
+var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x4d\x6f\x9b\x4c\x10\x3e\x87\x5f\x31\xf1\x21\x2f\x48\x79\xf1\xa5\xea\x01\xe5\x43\x69\x5a\xf7\x14\x29\x4a\x5c\xf7\x50\xf5\x30\x81\x31\xac\x82\x77\xd1\xec\x60\x12\x45\xfe\xef\xd5\xc2\x42\xa0\x89\x6b\x55\xaa\x0f\xfe\x58\x3f\x33\xf3\x7c\x0c\xab\x36\x95\x61\x81\x45\xad\x73\xf5\x50\xd2\xd2\x3c\x92\x86\x35\x9b\x0d\xcc\x26\x67\xb3\xc0\x23\xbf\x3c\xe1\xa6\x9a\x02\xc7\x47\x03\xee\x96\xd5\x16\x85\xee\x28\x25\xb5\x25\x5e\x18\x6e\x90\x33\x62\x5f\xb3\xef\xef\xa1\x7e\x32\xfd\x86\x04\x33\x14\x5c\x29\x6a\xec\x7b\xf4\x26\x80\x59\x10\xcc\xe7\x73\x58\x16\xca\x82\x30\x6a\x8b\xa9\x28\xa3\xbb\xef\x6b\x62\x0b\x62\x60\x83\xfa\x19\x30\xcb\x98\xac\x25\x0b\x52\xb0\xa9\xf3\x02\xa4\x20\xc5\x50\x75\xec\x80\x3d\x3d\x1b\x04\xa3\x46\xa1\x2f\xbb\xda\x98\x5a\xcb\x0d\x56\x09\xbc\x5c\x75\x47\x09\x7c\x5b\xa8\xa7\x8f\x1f\x76\x11\xbc\x04\x01\x00\x40\x4b\x84\x60\x85\x75\x29\xc0\x64\x4d\xcd\x29\x81\x14\x28\x50\x98\x32\x73\x93\x09\xc4\x69\xb0\xdd\x29\x32\xc1\x03\x29\x9d\x0f\x7c\x99\xb2\xb6\x55\x49\x02\x5b\xd7\xe7\x8e\xd6\x09\x60\x2d\x45\x38\x31\x21\xfe\xae\xa4\xc8\x18\x9b\x08\x4e\xc6\x99\xc4\xed\xf0\x60\xe8\xe1\xd5\x79\xcf\x95\xce\xef\x49\x67\xc4\x09\x9c\xec\x4b\x25\xee\x10\x5d\x8b\x8a\xa9\x42\xa6\xd0\xaa\x5c\xbb\xaa\x96\xc8\x27\xc3\x6c\x9a\x15\x96\x35\x45\x70\x72\x95\xa6\xce\x9a\xc1\x84\x09\xfb\xcf\x28\x08\xe7\x93\x45\x8a\x9d\x31\xe5\x96\xae\x8d\x16\xc6\x54\x5c\x8c\x61\x6f\xd6\xf2\xb9\xa2\x04\xb4\x2a\x4f\x61\xab\xa8\xe9\x7e\xba\xf7\xb3\xfd\x2b\x10\x2f\x96\xab\x7e\xd6\x45\x18\x45\x80\xf6\xf8\x0f\x2b\x35\x86\x5f\x0e\x8c\xdd\xeb\xf2\x12\x2a\xd4\x2a\x0d\x67\xd7\xa6\x2e\x33\xd0\x46\x20\xef\x95\x80\x6b\xd0\x92\x82\xb5\xe1\x36\xc9\xd4\x2b\x98\x45\xaf\xca\xe7\x73\xf8\x4a\x02\x08\x4c\x6b\x62\xd2\x2e\x7f\xd3\xa2\x3b\x0b\xff\xb3\x60\xc5\x30\x65\x5d\xd7\xa1\xce\x52\xb9\x8e\xfb\xc0\xe1\xdc\xa3\x63\x87\xc5\x9c\xe2\x87\xd6\xf2\xb3\xbf\xdd\x83\x8b\xd0\x3d\x3f\xc9\x6b\x16\x7d\xc3\x5b\x94\x22\x0a\x8e\x8e\x8e\xde\xd3\xdc\x0d\x7b\xab\xc0\x34\x9d\x80\xb6\xf5\xf1\x58\x75\xcb\x7e\xcf\xaa\xed\x15\x73\x68\x03\x7b\xf2\x07\x60\xf7\xff\x5c\xd1\xae\xfb\xa0\x27\x4a\x6b\xa1\xf1\x5e\xbb\xe4\xfd\x85\x00\x4a\xc3\xef\x77\x43\xfc\x48\xcf\x76\x8c\x3f\xe4\x4d\x6c\x49\x67\x5e\x5f\x1b\x9b\xed\xef\x9b\x53\x7f\x4f\x24\x70\xf6\xff\x64\x37\xe2\xc6\x07\x1e\x62\x3b\x36\x79\xc3\xe2\x87\x3f\xf8\x79\x1c\x8d\x22\xda\x79\x69\xbb\xe0\x57\x00\x00\x00\xff\xff\x28\x58\x16\x99\x07\x06\x00\x00"
 
 func privateforwarderTransfer_private_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -302,7 +302,7 @@ func privateforwarderTransfer_private_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/transfer_private_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbf, 0xa7, 0xc8, 0x59, 0x40, 0x9e, 0x22, 0x76, 0x92, 0x2a, 0x3d, 0x72, 0xa0, 0xa1, 0xef, 0xa1, 0x58, 0x38, 0x11, 0xdc, 0xc2, 0x26, 0x81, 0x5f, 0xa7, 0xa7, 0xb6, 0x11, 0x74, 0xab, 0x2c, 0x92}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x7e, 0xe4, 0x34, 0xd4, 0xa, 0x7b, 0x43, 0x36, 0x20, 0xf7, 0x1a, 0x33, 0xe, 0x77, 0xdd, 0x87, 0x7e, 0x9c, 0xff, 0xf3, 0x23, 0x21, 0xbf, 0x15, 0xaa, 0xed, 0xa4, 0xd4, 0xf7, 0xc0, 0x10}}
 	return a, nil
 }
 
diff --git a/transactions/privateForwarder/create_account_private_forwarder.cdc b/transactions/privateForwarder/create_account_private_forwarder.cdc
index ade172ca..0e887b11 100644
--- a/transactions/privateForwarder/create_account_private_forwarder.cdc
+++ b/transactions/privateForwarder/create_account_private_forwarder.cdc
@@ -16,7 +16,7 @@ transaction {
 
     execute {
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
         // Save a regular vault to the new account

From fd4ce30d819fddcc843b1b8a678d4122d4569618 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Thu, 1 Feb 2024 12:40:03 -0600
Subject: [PATCH 089/115] remove some go tests

---
 coverage.json                     | 238 +++++++++++++++++++-----------
 lib/go/test/forwarding_test.go    | 217 ---------------------------
 lib/go/test/token_test_helpers.go |  13 ++
 3 files changed, 167 insertions(+), 301 deletions(-)
 delete mode 100644 lib/go/test/forwarding_test.go

diff --git a/coverage.json b/coverage.json
index d4d05ab4..9664efd1 100644
--- a/coverage.json
+++ b/coverage.json
@@ -1,9 +1,9 @@
 {
   "coverage": {
-    "A.0000000000000007.ExampleToken": {
+    "./contracts/ExampleToken.cdc": {
       "line_hits": {
-        "104": 0,
-        "106": 0,
+        "104": 11,
+        "106": 11,
         "113": 0,
         "117": 0,
         "121": 0,
@@ -12,18 +12,18 @@
         "128": 0,
         "132": 0,
         "137": 0,
-        "151": 0,
-        "152": 0,
-        "165": 0,
-        "166": 0,
-        "167": 0,
-        "168": 0,
+        "151": 2,
+        "152": 2,
+        "165": 2,
+        "166": 2,
+        "167": 2,
+        "168": 2,
         "179": 0,
         "18": 0,
-        "194": 0,
-        "195": 0,
-        "196": 0,
-        "208": 0,
+        "194": 1,
+        "195": 1,
+        "196": 1,
+        "208": 1,
         "21": 0,
         "212": 1,
         "214": 1,
@@ -35,18 +35,18 @@
         "229": 1,
         "231": 1,
         "232": 1,
-        "25": 0,
-        "28": 0,
-        "54": 1,
-        "55": 1,
-        "56": 1,
-        "57": 1,
-        "58": 1,
-        "63": 0,
-        "64": 0,
-        "66": 0,
-        "70": 0,
-        "79": 0,
+        "25": 11,
+        "28": 11,
+        "54": 5,
+        "55": 5,
+        "56": 5,
+        "57": 5,
+        "58": 5,
+        "63": 1,
+        "64": 1,
+        "66": 1,
+        "70": 1,
+        "79": 11,
         "81": 0,
         "86": 0,
         "92": 0,
@@ -55,19 +55,10 @@
       "missed_lines": [
         18,
         21,
-        25,
-        28,
-        63,
-        64,
-        66,
-        70,
-        79,
         81,
         86,
         92,
         93,
-        104,
-        106,
         113,
         117,
         121,
@@ -76,79 +67,158 @@
         128,
         132,
         137,
-        151,
-        152,
-        165,
-        166,
+        179
+      ],
+      "statements": 49,
+      "percentage": "69.4%"
+    },
+    "./contracts/FungibleToken.cdc": {
+      "line_hits": {
+        "100": 2,
+        "148": 1,
+        "151": 1,
+        "162": 0,
+        "163": 0,
+        "167": 0,
+        "173": 0,
+        "181": 3,
+        "185": 2,
+        "189": 5,
+        "200": 2,
+        "202": 2,
+        "205": 6,
+        "214": 0,
+        "223": 1,
+        "224": 1,
+        "98": 2
+      },
+      "missed_lines": [
+        162,
+        163,
         167,
+        173,
+        214
+      ],
+      "statements": 17,
+      "percentage": "70.6%"
+    },
+    "./contracts/FungibleTokenMetadataViews.cdc": {
+      "line_hits": {
+        "102": 0,
+        "103": 0,
+        "104": 0,
+        "107": 0,
+        "145": 11,
+        "146": 11,
+        "148": 11,
+        "149": 11,
+        "150": 11,
+        "151": 11,
+        "152": 11,
+        "153": 11,
+        "163": 0,
+        "164": 0,
+        "165": 0,
+        "168": 0,
+        "176": 0,
+        "27": 0,
+        "28": 0,
+        "38": 0,
+        "39": 0,
+        "40": 0,
+        "42": 0,
+        "87": 0,
+        "88": 0,
+        "89": 0,
+        "90": 0,
+        "91": 0,
+        "92": 0
+      },
+      "missed_lines": [
+        27,
+        28,
+        38,
+        39,
+        40,
+        42,
+        87,
+        88,
+        89,
+        90,
+        91,
+        92,
+        102,
+        103,
+        104,
+        107,
+        163,
+        164,
+        165,
         168,
-        179,
-        194,
-        195,
-        196,
-        208
+        176
       ],
-      "statements": 49,
-      "percentage": "30.6%"
+      "statements": 29,
+      "percentage": "27.6%"
     },
-    "A.0000000000000007.PrivateReceiverForwarder": {
+    "./contracts/utility/Burner.cdc": {
       "line_hits": {
+        "24": 1,
+        "25": 1,
+        "26": 1,
+        "27": 0,
+        "28": 0,
+        "29": 0,
+        "30": 0,
+        "32": 0,
+        "33": 0,
+        "34": 0,
         "35": 0,
+        "36": 0,
         "37": 0,
         "39": 0,
-        "41": 0,
-        "43": 0,
-        "48": 0,
-        "50": 0,
-        "57": 0,
-        "64": 0,
-        "66": 0,
-        "70": 0,
-        "77": 1,
-        "79": 1,
-        "80": 1,
-        "82": 1
+        "41": 0
       },
       "missed_lines": [
+        27,
+        28,
+        29,
+        30,
+        32,
+        33,
+        34,
         35,
+        36,
         37,
         39,
-        41,
-        43,
-        48,
-        50,
-        57,
-        64,
-        66,
-        70
+        41
       ],
       "statements": 15,
-      "percentage": "26.7%"
+      "percentage": "20.0%"
     }
   },
   "excluded_locations": [
-    "s.7465737400000000000000000000000000000000000000000000000000000000",
-    "A.0000000000000001.FlowStorageFees",
-    "A.0000000000000001.FlowEpoch",
-    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000002.FungibleToken",
+    "A.0000000000000001.MetadataViews",
+    "A.0000000000000001.FlowServiceAccount",
+    "I.Crypto",
+    "I.BlockchainHelpers",
+    "A.0000000000000004.FlowFees",
     "A.0000000000000002.FungibleTokenMetadataViews",
     "A.0000000000000001.NonFungibleToken",
+    "A.0000000000000001.ViewResolver",
+    "A.0000000000000003.FlowToken",
+    "A.0000000000000001.FlowClusterQC",
+    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000001.ExampleNFT",
     "A.0000000000000001.FlowDKG",
+    "A.0000000000000001.FlowStorageFees",
+    "A.0000000000000001.FlowEpoch",
+    "I.Test",
+    "A.0000000000000001.StakingProxy",
     "A.0000000000000001.RandomBeaconHistory",
     "A.0000000000000001.NodeVersionBeacon",
-    "A.0000000000000003.FlowToken",
+    "s.7465737400000000000000000000000000000000000000000000000000000000",
     "A.0000000000000001.FlowStakingCollection",
-    "I.Test",
-    "A.0000000000000001.ExampleNFT",
-    "I.Crypto",
-    "A.0000000000000001.StakingProxy",
-    "A.0000000000000001.FlowServiceAccount",
-    "A.0000000000000001.ViewResolver",
-    "A.0000000000000001.MetadataViews",
-    "A.0000000000000002.FungibleToken",
-    "A.0000000000000004.FlowFees",
-    "A.0000000000000001.LockedTokens",
-    "A.0000000000000001.FlowClusterQC",
-    "I.BlockchainHelpers"
+    "A.0000000000000001.LockedTokens"
   ]
 }
\ No newline at end of file
diff --git a/lib/go/test/forwarding_test.go b/lib/go/test/forwarding_test.go
deleted file mode 100644
index a1516685..00000000
--- a/lib/go/test/forwarding_test.go
+++ /dev/null
@@ -1,217 +0,0 @@
-package test
-
-import (
-	"context"
-	"testing"
-
-	"github.com/stretchr/testify/assert"
-	"github.com/stretchr/testify/require"
-
-	"github.com/onflow/cadence"
-	jsoncdc "github.com/onflow/cadence/encoding/json"
-	"github.com/onflow/cadence/runtime/common"
-	"github.com/onflow/flow-go-sdk"
-	"github.com/onflow/flow-go-sdk/crypto"
-
-	"github.com/onflow/flow-ft/lib/go/contracts"
-	"github.com/onflow/flow-ft/lib/go/templates"
-)
-
-func TestPrivateForwarder(t *testing.T) {
-	b, adapter, accountKeys := newTestSetup(t)
-
-	serviceSigner, _ := b.ServiceKey().Signer()
-
-	env := templates.Environment{}
-
-	exampleTokenAccountKey, exampleTokenSigner := accountKeys.NewWithSigner()
-	exampleTokenAddr := deployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey}, &env)
-
-	forwardingCode := contracts.PrivateReceiverForwarder(env.FungibleTokenAddress)
-	cadenceCode := bytesToCadenceArray(forwardingCode)
-
-	name, _ := cadence.NewString("PrivateReceiverForwarder")
-
-	tx := flow.NewTransaction().
-		SetScript(templates.GenerateDeployPrivateForwardingScript()).
-		SetGasLimit(100).
-		SetProposalKey(b.ServiceKey().Address, b.ServiceKey().Index, b.ServiceKey().SequenceNumber).
-		SetPayer(b.ServiceKey().Address).
-		AddAuthorizer(exampleTokenAddr).
-		AddRawArgument(jsoncdc.MustEncode(name)).
-		AddRawArgument(jsoncdc.MustEncode(cadenceCode))
-
-	_ = tx.AddArgument(cadence.Path{Domain: common.PathDomainStorage, Identifier: "privateForwardingSender"})
-	_ = tx.AddArgument(cadence.Path{Domain: common.PathDomainStorage, Identifier: "privateForwardingStorage"})
-	_ = tx.AddArgument(cadence.Path{Domain: common.PathDomainPublic, Identifier: "privateForwardingPublic"})
-
-	signAndSubmit(
-		t, b, tx,
-		[]flow.Address{b.ServiceKey().Address, exampleTokenAddr},
-		[]crypto.Signer{serviceSigner, exampleTokenSigner},
-		false,
-	)
-
-	env.PrivateForwardingAddress = env.ExampleTokenAddress
-
-	joshAccountKey, joshSigner := accountKeys.NewWithSigner()
-	joshAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{joshAccountKey}, nil)
-
-	t.Run("Should be able to set up an account to accept private deposits", func(t *testing.T) {
-
-		script := templates.GenerateSetupAccountPrivateForwarderScript(env)
-
-		tx := flow.NewTransaction().
-			SetScript(script).
-			SetGasLimit(100).
-			SetProposalKey(
-				b.ServiceKey().Address,
-				b.ServiceKey().Index,
-				b.ServiceKey().SequenceNumber,
-			).
-			SetPayer(b.ServiceKey().Address).
-			AddAuthorizer(joshAddress)
-
-		signAndSubmit(
-			t, b, tx,
-			[]flow.Address{
-				b.ServiceKey().Address,
-				joshAddress,
-			},
-			[]crypto.Signer{
-				serviceSigner,
-				joshSigner,
-			},
-			false,
-		)
-	})
-
-	t.Run("Should be able to transfer private tokens to an account", func(t *testing.T) {
-
-		recipient1Address := cadence.Address(joshAddress)
-		recipient1Amount := CadenceUFix64("300.0")
-
-		pair := cadence.KeyValuePair{Key: recipient1Address, Value: recipient1Amount}
-		recipientPairs := make([]cadence.KeyValuePair, 1)
-		recipientPairs[0] = pair
-
-		script := templates.GenerateTransferPrivateManyAccountsScript(env)
-		tx = flow.NewTransaction().
-			SetScript(script).
-			SetGasLimit(100).
-			SetProposalKey(
-				b.ServiceKey().Address,
-				b.ServiceKey().Index,
-				b.ServiceKey().SequenceNumber,
-			).
-			SetPayer(b.ServiceKey().Address).
-			AddAuthorizer(exampleTokenAddr)
-
-		_ = tx.AddArgument(cadence.NewDictionary(recipientPairs))
-
-		signAndSubmit(
-			t, b, tx,
-			[]flow.Address{
-				b.ServiceKey().Address,
-				exampleTokenAddr,
-			},
-			[]crypto.Signer{
-				serviceSigner,
-				exampleTokenSigner,
-			},
-			false,
-		)
-
-		// Assert that the vaults' balances are correct
-		script = templates.GenerateInspectVaultScript(env)
-		result, err := b.ExecuteScript(
-			script,
-			[][]byte{
-				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
-			},
-		)
-		require.NoError(t, err)
-		if !assert.True(t, result.Succeeded()) {
-			t.Log(result.Error.Error())
-		}
-		balance := result.Value
-		assertEqual(t, CadenceUFix64("700.0"), balance)
-
-		script = templates.GenerateInspectVaultScript(env)
-		result, err = b.ExecuteScript(
-			script,
-			[][]byte{
-				jsoncdc.MustEncode(cadence.Address(joshAddress)),
-			},
-		)
-		require.NoError(t, err)
-		if !assert.True(t, result.Succeeded()) {
-			t.Log(result.Error.Error())
-		}
-		balance = result.Value
-		assertEqual(t, CadenceUFix64("300.0"), balance)
-
-		script = templates.GenerateInspectSupplyScript(env)
-		supply := executeScriptAndCheck(t, b, script, nil)
-		assertEqual(t, CadenceUFix64("1000.0"), supply)
-	})
-
-	t.Run("Should be able to create a new account with private forwarder", func(t *testing.T) {
-
-		script := templates.GenerateCreateAccountPrivateForwarderScript(env)
-		tx = flow.NewTransaction().
-			SetScript(script).
-			SetGasLimit(100).
-			SetProposalKey(
-				b.ServiceKey().Address,
-				b.ServiceKey().Index,
-				b.ServiceKey().SequenceNumber,
-			).
-			SetPayer(b.ServiceKey().Address).
-			AddAuthorizer(exampleTokenAddr)
-
-		signAndSubmit(
-			t, b, tx,
-			[]flow.Address{
-				b.ServiceKey().Address,
-				exampleTokenAddr,
-			},
-			[]crypto.Signer{
-				serviceSigner,
-				exampleTokenSigner,
-			},
-			false,
-		)
-
-	})
-
-	t.Run("Should be able to do account setup a second time without change", func(t *testing.T) {
-
-		script := templates.GenerateSetupAccountPrivateForwarderScript(env)
-
-		// send the same transaction one more time for the same address that's already set up
-		tx := flow.NewTransaction().
-			SetScript(script).
-			SetGasLimit(100).
-			SetProposalKey(
-				b.ServiceKey().Address,
-				b.ServiceKey().Index,
-				b.ServiceKey().SequenceNumber,
-			).
-			SetPayer(b.ServiceKey().Address).
-			AddAuthorizer(joshAddress)
-
-		signAndSubmit(
-			t, b, tx,
-			[]flow.Address{
-				b.ServiceKey().Address,
-				joshAddress,
-			},
-			[]crypto.Signer{
-				serviceSigner,
-				joshSigner,
-			},
-			false,
-		)
-	})
-}
diff --git a/lib/go/test/token_test_helpers.go b/lib/go/test/token_test_helpers.go
index 290b3fb7..bba165bf 100644
--- a/lib/go/test/token_test_helpers.go
+++ b/lib/go/test/token_test_helpers.go
@@ -156,6 +156,19 @@ func deployTokenContracts(
 	assert.NoError(t, err)
 	env.SwitchboardAddress = switchboardAddr.Hex()
 
+	// // Deploy the PrivateReceiverForwarder contract
+	// privateRecFor := contracts.PrivateReceiverForwarder(fungibleAddr.String())
+	// _, err = adapter.CreateAccount(context.Background(),
+	// 	key,
+	// 	[]sdktemplates.Contract{
+	// 		{
+	// 			Name:   "PrivateReceiverForwarder",
+	// 			Source: string(privateRecFor),
+	// 		},
+	// 	},
+	// )
+	// assert.NoError(t, err)
+
 	_, err = b.CommitBlock()
 	assert.NoError(t, err)
 

From c4cd3a604f80bedf844f18325fbf753f42a416fe Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Thu, 1 Feb 2024 12:54:46 -0600
Subject: [PATCH 090/115] add view functions to Balance and change transactions
 to use Balance instead of concrete type

---
 contracts/FungibleToken.cdc                   |  2 +
 lib/go/contracts/internal/assets/assets.go    |  6 +-
 lib/go/templates/internal/assets/assets.go    | 58 +++++++++----------
 tests/scripts/get_unsupported_view.cdc        |  2 +-
 tests/scripts/get_vault_display.cdc           |  2 +-
 tests/scripts/get_views.cdc                   |  2 +-
 transactions/create_forwarder.cdc             |  2 +-
 .../setup_account_from_vault_reference.cdc    |  2 +-
 transactions/scripts/get_balance.cdc          |  2 +-
 .../scripts/metadata/get_token_metadata.cdc   |  3 +-
 .../scripts/metadata/get_vault_data.cdc       |  3 +-
 .../scripts/metadata/get_vault_display.cdc    |  3 +-
 .../metadata/get_vault_supply_view.cdc        |  3 +-
 ...ample_token_vault_display_strict_equal.cdc |  2 +-
 transactions/setup_account.cdc                |  2 +-
 .../switchboard/add_vault_capability.cdc      |  2 +-
 16 files changed, 51 insertions(+), 45 deletions(-)

diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index c7319119..c2ecba38 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -62,6 +62,8 @@ access(all) contract interface FungibleToken: ViewResolver {
     ///
     access(all) resource interface Balance {
         access(all) var balance: UFix64
+        access(all) view fun getViews(): [Type]
+        access(all) fun resolveView(_ view: Type): AnyStruct?
     }
 
     /// Provider
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 75b787a7..9581385e 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken.cdc (10.318kB)
-// ../../../contracts/FungibleToken.cdc (10.027kB)
+// ../../../contracts/FungibleToken.cdc (10.137kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.044kB)
 // ../../../contracts/utility/Burner.cdc (1.882kB)
@@ -99,7 +99,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4d\x93\x1b\x37\xce\xbe\xeb\x57\xa0\x26\x07\x4b\x79\x65\x4d\x0e\x6f\xed\x61\x6a\x13\xc7\x4e\xe2\x2a\x1f\xb2\xb5\x15\x8f\xe3\xc3\xee\x56\x89\xea\x86\x24\x66\xd8\x64\x87\x64\x4b\xd6\x4e\xcd\x7f\xdf\x02\xf8\xd1\xcd\x56\x6b\x66\x9c\x78\x37\x17\x6b\xba\x49\x10\x00\x01\x3c\x0f\xd0\xb9\xfe\xfa\xeb\xd9\xec\x2b\xb8\xdd\x23\xbc\x55\xe6\x08\x6f\x3b\xbd\x93\x1b\x85\x70\x6b\xee\x50\x83\xf3\x42\xd7\xc2\xd6\xb3\xd9\x57\x5f\xc1\x3a\xbd\xe4\x77\x6b\xa8\x8c\xf6\x56\x54\x7e\x36\xe3\xed\xd3\x3b\x41\x3a\xd0\x06\x94\xd1\x3b\xb4\x20\x34\x48\xed\xd1\x6e\x45\x85\x33\xbf\x17\x1e\x84\x52\xb0\x4d\x5b\x3d\x6f\x4d\x72\x1d\x1c\x4d\xa7\x6a\xd8\x8b\x03\xbd\xa2\xe7\x5b\x63\x1b\xf0\x66\x35\x9b\xbd\xdb\x82\x80\xce\xa1\x75\x70\x14\xda\x3b\x5a\x50\x63\xab\xcc\x09\x04\x68\x3c\x8e\x64\x2d\xc1\xef\x51\xda\x5e\xe7\xda\x20\x29\xe6\x41\x23\xd6\xb4\x59\x36\xad\xc2\x06\xb5\xa7\x95\x50\x98\xda\xeb\xbc\x84\x4d\xe7\xa3\x28\x3e\xc0\xcd\x6a\x73\x41\x44\xde\xe4\xa0\xc6\xad\xd4\x58\x83\xd4\xe0\xf7\xd2\x65\x2d\x56\xc1\xaf\xbf\x8a\x4e\xf9\x35\x58\x74\xa6\xb3\xd5\x60\xe7\x6c\xf6\x93\xa8\xf6\x63\xff\xe4\x75\xfe\xd4\x22\x1f\xee\xce\x4f\xbf\x2c\x34\x1e\xfa\x77\x6b\x0e\xb2\x46\xbb\x5e\xc2\xfa\x17\xac\x50\x1e\xf8\xb7\xd0\x35\xac\xdf\x08\x25\x74\x85\x53\xbb\x1d\xdf\xb6\x1b\x99\x57\x29\x61\x11\x5a\x8b\x2f\x2b\xa3\x6b\xe9\xa5\xd1\x8e\x45\xb5\xc6\xf9\xe1\x33\xbe\x73\x8b\xce\x5b\x59\xf9\x19\x29\x8a\x9f\xb0\xea\xe8\x25\x98\x2d\x6b\xbe\xed\x74\x15\x16\xb3\xbb\x10\xd8\x92\x15\x9f\x7b\x02\x3a\xc7\x61\x2b\xac\xf0\x08\x1b\xac\x44\x47\xba\x78\xd8\xc9\x03\x3a\x5e\x4e\x41\xc1\x3f\xc4\x46\x2a\xe9\x4f\xe4\x1b\xb7\x17\x16\x67\x02\x2c\x6e\xd1\xa2\xae\x38\x9e\xc2\x35\xb2\xf4\xa0\x97\xd1\xea\x04\xf8\xa9\x35\x2e\x8a\xda\x4a\x54\xb5\xeb\x35\x9a\x49\x0d\x46\x23\x18\x0b\x8d\xb1\x98\x34\xee\x5d\x41\x81\x49\x31\xed\x4c\x54\x28\x44\xe8\x48\x9b\x46\xdc\x21\x54\x9d\xf3\xa6\xc9\x1e\x8e\xae\xc9\x97\x48\xbe\x29\xbd\x4c\x01\x6e\xe0\x20\xac\x34\x1d\xad\x96\x7a\xe7\xe0\x28\xfd\x9e\xc5\x87\x68\x5c\xcd\xde\x1a\x0b\xf8\x49\x90\x98\x25\x08\xd8\x8a\xae\x42\x0f\x95\xd0\xb0\xc1\x5e\x3a\xd6\xb0\x39\xa5\x84\x92\x7a\x37\x0b\xee\x80\x14\x14\x45\xb4\x7c\x7d\x3d\x9b\xc9\xa6\x35\xd6\xc3\xaf\x12\x8f\xbf\xa0\x33\xea\x80\x16\xb6\xd6\x34\x70\x35\x7c\x74\x95\xd6\xbd\xe9\xac\xce\x2b\xc2\x1f\x57\xb3\xd9\xf5\xf5\x75\x99\x58\xf4\xa4\x78\x1a\x8b\x47\xd6\x53\xc4\x48\xb2\x38\x28\x22\x16\x7f\xef\xa4\x9d\x4a\xb9\x32\x51\x58\x72\x6f\x08\x7c\x44\x70\x5e\x2a\x15\x0a\x8a\xf4\x20\x5c\x51\x90\x60\x8f\xb6\x8f\x29\xcf\x7f\x71\xb8\x99\x86\xa3\x6a\xdb\x29\x16\xd9\xf9\x70\x93\x0d\xfa\xbd\xa9\xe3\xc5\x35\x42\x9f\xa0\xb5\xe6\x37\xe4\xc2\x45\xc7\x84\xc3\xa8\x3a\x91\xa6\x7c\xa8\xd1\xa3\x3a\xe4\x96\x2c\x32\x56\x95\x10\xde\x9b\x13\x19\xdb\xa0\xd0\x2e\xdb\xba\xe2\x42\x19\x42\xa4\x7f\x4a\xbf\xf9\x59\x8e\x80\x60\x73\x72\x8a\x2b\x4a\x41\x5f\x56\x44\x55\xa1\x73\x73\xa1\xd4\x22\x6b\x32\xf0\x43\x71\x47\x37\xe5\xa5\xdf\xcf\x66\x00\x00\xd7\xd7\xf0\x5a\x03\x6a\x2f\x7d\xf4\xff\xd6\x58\xd2\xd1\x1c\xa5\xde\xf1\xb1\x14\x9a\xb5\x15\x47\xa1\x38\x4f\x38\x3e\x43\x44\x88\x90\x74\x2c\x68\xa8\xca\x50\xdc\xc7\xb8\x3b\x1d\x77\xcd\x18\x85\x87\x70\xd5\xc1\x0d\xd8\x48\x4f\xa1\x7c\xdc\xa3\x4e\x07\x90\x03\xd3\xc9\xfa\x89\xe3\x0e\xc3\x83\xf4\x9c\xca\xe9\x0d\xbc\xf7\x56\xea\xdd\x12\x44\x63\x3a\xed\x6f\xe0\xc3\x5b\xf9\xe9\x2f\xff\xbf\x64\x51\x37\xf0\xba\xae\x2d\x3a\xf7\x2a\xfc\xfd\xe1\xc3\xbb\x1f\x6f\xe0\xc3\x3b\xed\x69\x45\x3e\x76\xf8\x78\xf1\x47\x0c\xa8\xb1\x35\x4e\xfa\x10\xe2\x8f\xab\xff\x63\x5a\xfa\x84\xfa\xde\x0c\x95\xf7\xa6\x54\x3d\x1f\x78\x41\xf5\x9f\x1e\x51\x7b\x8f\xb0\x53\x66\x23\x14\x6c\x3a\xab\x63\x56\xd0\xb2\x4a\x28\x45\xab\xa8\x44\x09\xd0\x46\xbf\xfc\x37\x5a\x03\x9b\x00\x2e\x17\xec\xe1\x62\xf1\x94\x31\x63\xdf\x0f\x34\x7d\x33\x90\x4e\xd5\x65\xe8\xfc\x3e\xc2\xd9\x92\x36\x14\x3b\xd7\x73\x95\x5c\xe8\xff\x99\xf7\x51\x58\xef\xd0\x7b\x8a\xea\xa8\x39\x48\x2e\x9b\x5c\x9b\x8a\x73\x86\xd6\x9c\x23\x67\x52\x0d\xee\x79\xf1\x78\xc3\x41\xd8\x74\x40\x32\x94\xd7\x3d\xf4\xb6\xa5\xea\xfc\x1c\xe3\x90\x74\xac\x22\x8e\xc5\x7a\x11\x4a\x02\x59\x94\x42\x95\x4a\x7f\x12\x32\xcc\x50\x46\xb5\x54\x45\x38\xa1\x4f\x2d\xae\xce\xce\x7d\xe7\x21\xf3\xa8\x78\x60\x79\x96\xd1\xb0\xde\x24\x32\x41\x05\x75\x99\xf7\x0e\xb0\x5b\xa1\x20\xac\x34\x6d\x0c\xa7\xd6\x38\x27\x23\x5c\x9a\x2d\x54\x16\x05\x2b\x11\x21\x33\xde\x9b\x75\xbd\xea\x64\x31\x11\x31\xe6\x73\xe4\x53\x61\xa5\x3a\x45\x62\xc6\x05\xd7\x1c\x75\x72\xef\xea\x73\x2e\x2d\x23\x62\x2c\x7c\xe9\xc8\xb7\x31\x54\x38\x43\xdd\x1d\x88\xac\x16\x48\xa2\xa6\xae\xc5\x4a\x6e\x65\x15\x63\xb7\x2f\x81\x85\x14\xe9\x40\x1c\x84\x54\x22\x80\x16\x61\x74\xae\x22\xc5\xc2\xdb\x40\x1b\x89\x0e\x6f\x12\x18\xf1\xd1\x07\x23\x6b\x68\x85\x96\x15\x79\x88\x33\x92\xf2\x8e\xff\x48\x25\x74\x28\x28\xe7\x6c\x0e\x66\x07\x9d\xbe\xd3\x66\x74\xe0\xeb\x3a\x50\x36\xa1\xd4\x69\x49\x26\xf1\xc5\x64\x13\x1d\xb4\x5d\x38\x85\xe3\xa5\xe9\x94\x97\xad\x42\x38\x50\xa9\x1a\xd9\x18\x89\x55\x26\xaa\xd5\x1e\xab\xbb\x80\xaa\x91\x40\x85\x5d\xd0\x69\x2f\x15\x3f\xa8\xd1\x31\xbe\x05\xe7\x8d\x5d\x66\x51\x54\x7b\xac\x97\xd0\x1a\x4f\xf1\x49\x3a\xc2\x1e\x55\x9b\xac\x86\x16\x2d\xa7\x68\xbe\xed\xb4\x7b\x3a\xf5\x24\x1e\x29\xf7\x41\xba\xd7\xe9\x36\x6e\x4d\x02\x86\x79\x59\x7d\x16\x37\xf0\xc6\x18\x55\x46\x43\x72\x35\xb8\x6e\x13\x7b\x97\x47\xd3\x29\x05\x5a\x21\x84\xf8\xb2\x45\xdf\x59\x42\x81\xc8\x4b\x33\xbf\xb3\xd8\x98\x03\x03\x42\xe0\x79\x83\x8d\xa3\x40\xe9\x19\xf4\x0b\x17\xcd\x04\x85\x07\x54\xe4\xba\x75\xb4\x3b\x19\xb7\x58\x17\xbb\xdf\x1b\x22\xdd\xc6\xd2\x1d\x53\x74\x85\xdd\xd2\x2f\x99\xf6\x86\x76\x0c\x25\x51\xa3\x9c\x5b\x60\x36\xc4\x79\x40\x7a\x87\x6a\x5b\x48\x33\xdc\xf0\x45\x54\xaf\x07\xe4\x9b\xad\x5a\x27\x1d\xd6\xd3\xd6\x8c\x35\xe5\x1b\x3a\x5e\xbc\x94\xef\xef\xd9\x63\x0f\x83\xf2\x4a\xff\x51\x03\x32\x7a\x14\x0e\x82\xb5\x45\x17\x5b\xa4\x2d\x93\x74\x13\x1d\x4d\x37\x00\x07\xa1\x3a\x3c\xdb\x16\xb6\xac\x52\xee\x7c\xfb\x6d\x82\xa6\xb3\x95\xf4\xdf\xd5\xc7\x9e\x02\xc5\x32\xd0\x74\xce\x53\x06\xd3\x49\x4e\x34\x48\x1c\x74\x98\x8d\x31\x21\x7a\x06\xc3\x46\x5d\x9d\x89\x27\x08\x3e\xa3\x2e\x74\x01\xab\x1d\xfa\xdb\x53\x8b\xf3\xc5\x4a\xd6\xe4\xfa\xad\x44\xdb\x23\x68\xf8\x37\xb1\x19\xde\x60\x8e\x1a\xed\xab\x95\x08\xe4\x60\x08\xae\xfc\xba\xeb\x64\x7d\xc6\x6d\xa2\x1f\xe8\xdd\xa2\xd0\xed\x61\x56\xfe\x1a\xa0\x57\x6a\x32\xff\x3c\x7a\x45\xb6\x32\x01\x5e\x52\xc7\x5b\x7c\x06\x78\x7d\xc4\x04\x19\x52\x57\xaa\xab\x11\x04\xe4\x4e\x35\xa8\xc1\x95\xaa\xbc\xa0\x08\x5b\x59\xca\x11\x33\xc3\xa7\x8e\xef\x39\x0d\x5f\x70\x43\x60\xee\x59\x0e\x75\x68\xb5\x49\x8b\xa6\xbb\xbb\x25\x28\x79\x87\xe0\x5a\x25\x99\xf2\x37\xd0\xb5\x54\x35\xb2\x10\x87\xba\x0e\x2f\xa8\x59\x94\x5b\xce\x37\x0f\xad\x0a\xbd\x29\x3c\x1f\xf6\xd2\x65\x8d\x61\x2f\xba\x1e\xbc\xb8\xc3\xbe\x4a\x51\xe5\x8a\x6f\xa8\x5a\x5c\xb8\x86\x62\x6e\xf1\x58\xca\xb3\x52\x94\xed\x51\xe6\x3c\x44\x6b\xca\xf0\x45\xa9\xd2\x0e\xfd\xfb\xae\xa5\xb6\x13\x6b\x5e\x40\xe1\x4f\x6c\x22\xc1\xd7\xa0\xa8\x2a\xe9\x18\x8a\x0f\xa1\xe9\xe7\x85\xb1\x81\x62\x5c\x89\x46\x93\x1e\xed\x00\xc6\x26\xc1\x62\xfa\xdc\xf9\xe2\x06\xee\x6f\x39\x1d\x09\x26\x1e\x4a\x5d\x7f\x89\x9a\x1c\xf7\xc8\x45\xd4\x58\x0e\x40\xe6\xd0\xf2\x40\xc8\x7c\x6a\x19\x92\x83\x06\xa1\x4d\xa7\xb7\x45\xf2\x24\x69\xaf\x93\x1d\x1c\xab\x42\xc7\x5d\x40\xad\x28\x0b\x72\x7b\xae\xd8\xbf\x51\xd1\x89\x75\xcd\xdb\x8e\x3b\xcc\x1a\xb7\xb9\xab\xb8\x68\xa2\x74\xe7\x16\xc6\x5a\x43\x3f\x13\x14\x8e\x12\xbd\x6f\x57\x0a\xae\x58\x63\xe0\x12\xec\xea\x3e\xd2\x02\xa8\xf0\xc8\xa4\x1f\xf0\x65\x7b\x97\x89\x35\x2f\xe1\xd6\x0a\xed\xb6\x68\x8d\x5d\x66\x56\x16\xe6\x55\xa9\x39\xed\xb9\x65\xd7\x37\x2b\xe4\x5f\x97\xac\x80\x13\xfa\xcf\x49\x03\x36\xe5\x66\xa0\x4d\x7f\x70\xd6\x6b\xd8\x1e\xaf\xd2\x8f\x65\x1c\x81\xac\xe8\x1f\x66\x77\x63\xfe\x28\x51\xd5\x31\xf6\xac\x18\x57\x19\x43\x14\xf2\x70\xf9\x82\x26\x7a\x85\x42\xfa\x0f\xb1\xf5\x22\xb2\x27\xc6\xf3\x43\xe9\xb8\x53\xc3\x1a\x0e\x52\x84\x09\x41\x54\x96\x1e\xcf\x17\xeb\xd8\xc3\x15\x12\xdf\x8d\x46\x32\xb1\x5e\x51\xa8\x6d\x8c\xb9\xbb\x43\x64\xf6\x65\x6c\x80\x26\x7a\xce\x0d\x5d\xc9\x05\xd9\xde\x18\x95\x1b\x2c\x1b\xc9\x68\x30\xa9\x57\xa3\xf3\xd6\x9c\xb0\x2e\xc9\xdb\xcf\x24\x75\x3c\x1b\x3a\x0e\x87\x2c\x5d\x5b\x0b\x8f\x7d\xc9\x7c\x41\xb0\xee\x85\xe2\x08\x50\xa7\x52\x17\x43\xc8\xaf\x88\xbb\x94\x33\x14\x17\x66\x35\x1b\x44\x9d\x1c\x15\xa8\x59\x60\x60\x99\xd1\x05\x99\xab\x47\xdd\xc4\x71\x9d\xe6\xc3\x0e\x7d\x71\xcb\xde\x40\xe8\x88\x71\x6b\x6c\xd0\x9a\x0a\xf8\x68\x0e\x7a\xde\x07\x48\x26\x2b\xad\x0d\x1d\x73\xf0\x1a\xa3\x78\xa4\x9b\xae\x15\x4d\xc3\xdc\x9c\x70\x27\x74\xd4\xf1\x36\x56\xe3\x78\x4a\xe3\x9f\x50\x70\xc9\x5c\x8a\x9d\x8d\xa8\xee\xe6\x8b\x31\x95\xb2\x38\xc1\xa4\xf8\xba\x8b\xae\xfd\x19\x34\x84\x97\x6c\x52\x06\x4d\x30\x8e\x4b\xac\x02\x2e\x53\xba\xa1\x4c\x62\x66\xdf\xac\xbe\xb9\x81\xab\xdb\x81\xbf\x13\xf9\xe2\x7b\x88\xbe\xaf\x3b\x9b\x06\x56\x43\xe3\xd3\x18\xc3\x99\x58\x48\xb8\xc0\x52\x2d\xa1\xfd\xe4\x5f\xac\xaf\x2e\x32\x9f\xff\x35\x3e\x25\x16\x15\x8b\xfa\x28\x47\x80\xeb\x2d\x53\x9c\xba\x9c\x71\xc6\xbe\x4b\x58\x04\xfc\xd4\x62\xe5\xb1\x1e\xa7\x08\xb7\x6e\x19\x8d\xfa\x5e\x9a\x74\x5b\x06\xf7\xe0\x29\x24\x8c\xee\x23\x3d\x36\x8a\x3c\x5e\x2d\x74\x29\xc4\x13\x97\x63\xc3\xce\x42\xfd\x4f\x00\xee\x28\x32\xae\xaf\xe1\x0d\x2a\x73\x8c\x5d\x27\xb9\x62\x30\x04\x4f\xdc\xcc\x75\x36\x32\x4f\xdb\xe9\x97\x5e\x36\xf1\xe3\x0a\x83\xd3\x58\x1e\xbb\x64\x87\x09\x52\x87\x83\xb0\x56\x30\xe1\xca\x48\x12\x11\x2d\x32\xb9\xf2\x03\xda\x2a\x8c\x65\x57\x50\xc8\x97\xdb\xb3\xfc\x71\xef\xbb\x0d\x69\x33\x37\xdb\x80\xbb\x7f\xfd\xfe\x7e\x42\xd2\xc3\x77\xf3\xc5\x38\x65\x81\x7b\x16\x06\xfe\xfb\x52\xec\x0d\x33\x81\x32\xb1\x1e\x00\x95\x9b\xca\xf1\xcc\x5c\xb8\x9f\x6b\x5a\x7f\x82\x5a\xf2\x8d\x09\x7b\x4a\x2d\x4c\x0a\x3e\xee\x9c\xf8\x6e\xb3\x1b\x8e\x7b\x03\xb5\xd1\x2f\xfc\x94\xe4\x7e\x84\x3f\xe9\x9f\x25\xb8\xae\xda\xd3\x21\xe5\xeb\xf7\x47\xe9\xab\xfd\xc6\x08\x5b\xaf\x97\xb0\xe6\x67\x6f\x8d\x3d\x0a\x6a\x5e\xd7\x80\xbe\x5a\x5d\x74\xc5\xc3\xf3\x32\xf7\x87\x40\xff\xe3\xf0\xa3\x24\x68\x3d\xa5\x60\x86\x26\xdd\x80\xf6\x5c\x8c\xe0\xe7\xf1\xa9\xd1\x05\x44\xa5\xd3\xf5\x4d\xa6\xc0\x3f\x48\xc8\xbf\xe0\xd5\x2b\xd8\x0a\xe5\xf0\x92\x41\x13\x63\x8a\x75\x28\xc9\xeb\x1e\xd6\x58\xee\x0b\x57\xcc\x69\x61\x72\x44\xa1\xf1\x38\x1e\x53\x24\xc1\xe4\x97\xf3\xfd\x5f\xba\xb7\x9f\x04\xa4\x02\x07\xbe\x7b\xa2\x43\x7f\x1d\xda\xf2\xbe\xdf\x4e\x18\xa1\xd0\x71\xe9\xd5\x4c\x69\x7e\xef\x84\x0a\x7f\x4d\x34\xeb\x13\x2d\xfa\xb3\x00\x2b\x36\xd1\x39\x25\x09\xb4\xc6\x49\x7a\xf5\xf3\x90\xbb\xa7\xa1\x41\x0f\x0f\x94\x17\xb4\xe7\x7c\x42\x70\x7d\x0d\xf1\x33\x56\x98\x45\x0a\x95\xcb\x2c\xac\x03\xe3\x58\x73\xd7\x1a\x49\x49\x48\xdb\x68\x52\x3f\xb4\xe5\x4f\xa0\x53\xc2\x23\x63\xda\xe0\x4e\x6a\xcd\xd4\xaf\xa4\x2d\xfd\x87\xdd\x89\xdd\x4f\x82\x77\x50\x70\x3e\x7c\xbc\x80\x97\x8f\xdf\xe5\xdf\x72\x38\x8e\x01\x9f\xcb\x53\x6c\x87\xfb\x7b\x23\x02\xc5\xdf\x52\xd3\x72\x11\xba\xe7\xf1\xf4\x25\xbd\x7f\x26\xde\x5f\x6e\x91\x45\x5d\x53\x7b\xec\x86\x04\xf0\x2c\x9e\xce\x2a\xc9\xe7\x34\xc8\x53\xb0\x30\xc6\x04\x6a\x1c\x9d\x43\x3b\xa0\xbd\x95\xd1\x95\x45\x1f\x41\x2f\xba\xa7\xff\x08\x95\x79\x79\x0a\xc0\xb1\xbc\x88\x00\x83\x6e\x34\xb7\xb0\x89\x5c\x45\x69\xcf\xc8\x5f\xb2\x65\x25\xdd\x3b\xed\x3c\x79\x65\x5e\xa6\xc4\xe2\x06\xa6\x6f\xff\x87\x40\xcf\x92\xf7\xf9\xc3\x6e\x65\x9a\x56\xf8\x41\xeb\x43\xf6\x5d\x18\xa6\x8d\x3f\xa4\xb1\x1a\x8f\xb3\x58\x5e\x92\x59\xac\x37\x17\x06\x6a\xe9\x63\xdb\x60\x9c\x36\xfa\xde\xc6\x82\xbe\x10\xed\x9d\xcc\x9c\xff\x4b\x8f\x87\x2a\x2f\xfe\x50\x1e\xb9\xae\x79\x32\x81\xfa\xd0\x79\xb4\x36\x8e\x12\x87\xbf\xf3\xe0\x4f\x44\x2f\x62\xce\x28\x65\x8e\x8e\x7b\xc9\xf0\x3f\x75\x98\xb8\xa6\xc0\x1e\x8e\xb7\xbd\xa0\x54\x3b\xfb\xbe\x08\x4f\xe4\xcf\xf8\xc8\xf9\x67\x0f\x92\xcf\x27\xc2\x7d\xdf\xa1\xf1\xa8\x4e\xf1\x8c\xe8\x8a\xe0\x4a\xa6\xcb\x43\x65\x2f\x7b\x08\xca\xd9\xca\x7f\xc1\x47\x53\xa3\x90\x49\xdf\x1c\x12\xe1\xc8\x6c\x65\xba\xe0\x0c\xbc\x34\xe1\xb4\x29\xd4\x1b\x48\x66\xc7\x65\x62\x1d\x2a\x4a\xfe\xc6\xd8\x08\x5f\xed\x8b\x0f\x44\xe7\x09\xfd\xa5\x2f\x24\x5d\xc1\xc3\x7f\x02\x00\x00\xff\xff\x2a\xf5\xf4\xd7\x2b\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x51\x93\xdb\x36\x0e\x7e\xf7\xaf\xc0\x6c\x1f\x62\xf7\x1c\x6f\x1f\x6e\xee\xc1\x73\x6d\xba\x69\x9b\x99\x3c\xf4\xe6\xa6\xd9\x34\x0f\xbd\xce\x99\x96\x20\x9b\x5d\x8a\x54\x49\xca\x8e\x6f\x67\xff\xfb\x0d\x40\x52\x12\x65\x79\x77\xd3\xe6\xae\x2f\x59\x4b\x24\x08\x80\x00\xbe\x0f\x50\xaf\xbf\xfc\x72\x36\xfb\x02\x6e\xf7\x08\x6f\x94\x39\xc2\x9b\x56\xef\xe4\x56\x21\xdc\x9a\x3b\xd4\xe0\xbc\xd0\xa5\xb0\xe5\x6c\xf6\xc5\x17\xb0\x49\x2f\xf9\xdd\x06\x0a\xa3\xbd\x15\x85\x9f\xcd\x78\xfb\xf4\x4e\x90\x0e\xb4\x01\x65\xf4\x0e\x2d\x08\x0d\x52\x7b\xb4\x95\x28\x70\xe6\xf7\xc2\x83\x50\x0a\xaa\xb4\xd5\xf3\xd6\x24\xd7\xc1\xd1\xb4\xaa\x84\xbd\x38\xd0\x2b\x7a\x5e\x19\x5b\x83\x37\xab\xd9\xec\x6d\x05\x02\x5a\x87\xd6\xc1\x51\x68\xef\x68\x41\x89\x8d\x32\x27\x10\xa0\xf1\x38\x92\xb5\x04\xbf\x47\x69\x7b\x9d\x4b\x83\xa4\x98\x07\x8d\x58\xd2\x66\x59\x37\x0a\x6b\xd4\x9e\x56\x42\x66\x6a\xaf\xf3\x12\xb6\xad\x8f\xa2\xf8\x00\x37\x2b\xcd\x05\x11\xdd\x26\x07\x25\x56\x52\x63\x09\x52\x83\xdf\x4b\xd7\x69\xb1\x0a\x7e\xfd\x59\xb4\xca\x6f\xc0\xa2\x33\xad\x2d\x06\x3b\x67\xb3\x1f\x44\xb1\x1f\xfb\xa7\x5b\xe7\x4f\x0d\xf2\xe1\xee\xfc\xf4\xcb\x42\xe3\xa1\xff\xb4\xe6\x20\x4b\xb4\x9b\x25\x6c\x7e\xc2\x02\xe5\x81\xff\x16\xba\x84\xcd\x6b\xa1\x84\x2e\x70\x6a\xb7\xe3\xdb\x76\x23\xf3\x0a\x25\x2c\x42\x63\xf1\x65\x61\x74\x29\xbd\x34\xda\xb1\xa8\xc6\x38\x3f\x7c\xc6\x77\x6e\xd1\x79\x2b\x0b\x3f\x23\x45\xf1\x23\x16\x2d\xbd\x04\x53\xb1\xe6\x55\xab\x8b\xb0\x98\xdd\x85\xc0\x96\xac\xf8\xdc\x13\xd0\x39\x0e\x1b\x61\x85\x47\xd8\x62\x21\x5a\xd2\xc5\xc3\x4e\x1e\xd0\xf1\x72\x0a\x0a\xfe\x43\x6c\xa5\x92\xfe\x44\xbe\x71\x7b\x61\x71\x26\xc0\x62\x85\x16\x75\xc1\xf1\x14\xae\x91\xa5\x07\xbd\x8c\x56\x27\xc0\x8f\x8d\x71\x51\x54\x25\x51\x95\xae\xd7\x68\x26\x35\x18\x8d\x60\x2c\xd4\xc6\x62\xd2\xb8\x77\x05\x05\x26\xc5\xb4\x33\x51\xa1\x10\xa1\x23\x6d\x6a\x71\x87\x50\xb4\xce\x9b\xba\xf3\x70\x74\x4d\x77\x89\xe4\x9b\xdc\xcb\x14\xe0\x06\x0e\xc2\x4a\xd3\xd2\x6a\xa9\x77\x0e\x8e\xd2\xef\x59\x7c\x88\xc6\xd5\xec\x8d\xb1\x80\x1f\x05\x89\x59\x82\x80\x4a\xb4\x05\x7a\x28\x84\x86\x2d\xf6\xd2\xb1\x84\xed\x29\x25\x94\xd4\xbb\x59\x70\x07\xa4\xa0\xc8\xa2\xe5\xcb\xeb\xd9\x4c\xd6\x8d\xb1\x1e\x7e\x96\x78\xfc\x09\x9d\x51\x07\xb4\x50\x59\x53\xc3\xd5\xf0\xd1\x55\x5a\xf7\xba\xb5\xba\x5b\x11\x7e\x5c\xcd\x66\xd7\xd7\xd7\x79\x62\xd1\x93\xec\x69\x2c\x1e\x9d\x9e\x22\x46\x92\xc5\x41\x11\xb1\xf8\x7b\x2b\xed\x54\xca\xe5\x89\xc2\x92\x7b\x43\xe0\x03\x82\xf3\x52\xa9\x50\x50\xa4\x07\xe1\xb2\x82\x04\x7b\xb4\x7d\x4c\x79\xfe\xc5\xe1\x66\x6a\x8e\xaa\xaa\x55\x2c\xb2\xf5\xe1\x26\x6b\xf4\x7b\x53\xc6\x8b\xab\x85\x3e\x41\x63\xcd\x6f\xc8\x85\x8b\x8e\x09\x87\x51\x75\x22\x4d\xf9\x50\xa3\x47\x75\xc8\x2d\x59\x64\xac\x2a\x21\xbc\xb7\x27\x32\xb6\x46\xa1\x5d\x67\xeb\x8a\x0b\x65\x08\x91\xfe\x29\xfd\xcd\xcf\xba\x08\x08\x36\x27\xa7\xb8\xac\x14\xf4\x65\x45\x14\x05\x3a\x37\x17\x4a\x2d\x3a\x4d\x06\x7e\xc8\xee\x68\x9d\x5f\xfa\xfd\x6c\x06\x00\x70\x7d\x0d\x37\x1a\x50\x7b\xe9\xa3\xff\x2b\x63\x49\x47\x73\x94\x7a\xc7\xc7\x52\x68\x96\x56\x1c\x85\xe2\x3c\xe1\xf8\x0c\x11\x21\x42\xd2\xb1\xa0\xa1\x2a\x43\x71\x1f\xe2\xee\x74\xdc\x35\x63\x14\x1e\xc2\x55\x07\x37\x60\x2d\x3d\x85\xf2\x71\x8f\x3a\x1d\x40\x0e\x4c\x27\xeb\x27\x8e\x3b\x0c\x0f\xd2\x73\x2a\xa7\x6b\x78\xe7\xad\xd4\xbb\x25\x88\xda\xb4\xda\xaf\xe1\xfd\x1b\xf9\xf1\x6f\x7f\x5d\xb2\xa8\x35\xdc\x94\xa5\x45\xe7\x5e\x85\xdf\xef\xdf\xbf\xfd\x7e\x0d\xef\xdf\x6a\x4f\x2b\xba\x63\x87\x8f\x17\x7f\xc4\x80\x12\x1b\xe3\xa4\x0f\x21\xfe\xb8\xfa\xdf\xa7\xa5\x4f\xa8\xef\xcd\x50\x79\x6f\x72\xd5\xbb\x03\x2f\xa8\xfe\xc3\x23\x6a\xef\x11\x76\xca\x6c\x85\x82\x6d\x6b\x75\xcc\x0a\x5a\x56\x08\xa5\x68\x15\x95\x28\x01\xda\xe8\x97\xff\x41\x6b\x60\x1b\xc0\xe5\x82\x3d\x5c\x2c\x9e\x32\x66\xec\xfb\x81\xa6\xaf\x07\xd2\xa9\xba\x0c\x9d\xdf\x47\x38\x5b\xd2\x84\x62\xe7\x7a\xae\xd2\x15\xfa\x7f\x75\xfb\x28\xac\x77\xe8\x3d\x45\x75\xd4\x1c\x24\x97\x4d\xae\x4d\xd9\x39\x43\x6b\xce\x91\x33\xa9\x06\xf7\xbc\x78\xbc\xe1\x20\x6c\x3a\x20\x19\x3a\xbd\x4e\xe2\x91\x14\x25\xad\x28\x33\xdd\x7c\xb1\x86\x5f\x6e\x4f\x0d\xfe\x3a\xb9\x9e\x96\xda\x90\xbd\xb4\x7c\xfe\x6f\x96\xb0\x06\xda\xb1\x58\xc3\x8d\x3e\xbd\xf3\xb6\x2d\xfc\x2b\xde\xfd\xd0\x7b\x32\x61\xc1\x73\x5c\x89\xe4\x91\x22\xa2\x66\xac\x4e\xa1\x00\x91\xff\x52\x62\x10\xd0\x24\x21\xc3\x7a\xc0\x18\x9a\x6a\x16\x97\x8f\x53\x83\xab\xb3\x73\xdf\x7a\xe8\x58\x5b\x3c\x30\x3f\xcb\x68\xd8\x6c\x13\x75\xa1\xf2\xbd\xec\xf6\x0e\x98\x82\x42\x41\xc8\x6c\x9a\x18\xbc\x8d\x71\x4e\x46\x70\x36\x15\x14\x16\x05\x2b\x11\x01\x3a\x46\x89\x75\xbd\xea\x64\x31\xd1\x3e\x66\x8f\xe4\x69\x61\xa5\x3a\x45\x1a\xc8\xe5\xdd\x1c\x75\xba\xcc\xd5\xa7\x84\x48\x87\xbf\xb1\xcc\xa6\x23\xdf\xc4\xc0\xe4\x7a\xe0\xee\x40\x74\x6a\x81\x24\x22\xec\x1a\x2c\x64\x25\x8b\x98\x29\x7d\xc1\xcd\xa4\x48\x07\xe2\x20\xa4\x12\x01\x22\x89\x11\x74\x35\x2b\x5b\x78\x1b\x48\x2a\x91\xef\x6d\x82\x3e\x3e\xfa\x60\x64\x09\x8d\xd0\xb2\x20\x0f\x71\xfe\x53\x96\xf3\x8f\x54\xb0\x87\x82\xba\x0a\xd1\xa5\x8e\x83\x56\xdf\x69\x33\x3a\xf0\xa6\x0c\x04\x51\x28\x75\x5a\x92\x49\x7c\x31\x9d\x89\x0e\x9a\x36\x9c\xc2\xf1\x52\xb7\xca\xcb\x46\x21\x1c\xa8\x30\x8e\x6c\x8c\x34\xae\xa3\xc5\xc5\x1e\x8b\xbb\x80\xe1\x91\xae\x85\x5d\xd0\x6a\x2f\x15\x3f\x28\xd1\x31\x9a\x06\xe7\x8d\x5d\x66\x51\x14\x7b\x2c\x97\xd0\x18\x4f\xf1\x49\x3a\xc2\x1e\x55\x93\xac\x86\x06\x2d\x17\x84\xee\xb6\xd3\xee\xc7\x13\x58\xba\x9b\x74\x1b\xb7\x26\xc1\xd0\x3c\xaf\x75\x8b\x35\xbc\x36\x46\xe5\xd1\x90\x5c\x0d\xae\xdd\xc6\x4e\xe9\xd1\x74\x4a\x81\x96\x09\x21\x76\x6e\xd1\xb7\x96\x30\x27\xb2\xe0\x8e\x4d\x5a\xac\xcd\x81\xe1\x27\xb0\xca\xc1\xc6\x51\xa0\xf4\x7c\xfd\x85\x8b\x66\x82\xc2\x03\x2a\x72\xdd\x26\xda\x9d\x8c\x5b\x6c\xb2\xdd\xef\x0c\x51\x7c\x63\xe9\x8e\x29\xba\xc2\x6e\xe9\x97\x4c\xb2\x43\xf3\x87\x92\x88\x58\x97\x5b\x60\xb6\xc4\xb0\x40\x7a\x87\xaa\xca\xa4\x19\x6e\x2f\x23\x87\x28\x07\x54\x9f\xad\xda\x24\x1d\x36\xd3\xd6\x8c\x35\xe5\x1b\x3a\x5e\xbc\x94\x6f\xef\xd9\x63\x0f\x83\x62\x4e\xff\x51\xbb\x33\x7a\x14\x0e\x82\x8d\x45\x17\x1b\xb2\x8a\x5b\x02\x13\x1d\x4d\x37\x00\x07\xa1\x5a\x3c\xdb\x16\xb6\xac\x52\xee\x7c\xfd\x75\x02\xc2\xb3\x95\xf4\xdf\xd5\x87\x9e\x70\xc5\x32\x50\xb7\xce\x53\x06\xd3\x49\x4e\xd4\x48\x8c\x77\x98\x8d\x31\x21\x7a\xbe\xc4\x46\x5d\x9d\x89\x27\xc0\x3f\x23\x4a\x74\x01\xab\x1d\x7a\x02\x92\xf9\x62\x25\x4b\x72\x7d\x25\xd1\xf6\x78\x1d\xfe\x4d\xdc\x89\x37\x98\xa3\x46\xfb\x6a\x25\x02\x15\x19\x42\x39\xbf\x6e\x5b\x59\x9e\x31\xa9\xe8\x07\x7a\xb7\xc8\x74\x7b\x98\xe5\x7f\x0d\xd0\x2b\xb5\xb4\x7f\x1e\xbd\x22\x37\x9a\x00\x2f\xa9\xe3\x2d\x3e\x03\xbc\x3e\x60\x82\x0c\xa9\x0b\xd5\x96\x08\x02\xba\xbe\x38\xa8\xc1\x95\x2a\xbf\xa0\x08\x5b\x9d\x94\x23\x76\xfd\x04\xf5\x97\xcf\x69\x2f\x83\x1b\x42\x9f\xd0\xc9\xa1\x7e\xb0\x34\x69\xd1\x74\x2f\xb9\x04\x25\xef\x10\x5c\xa3\x24\x37\x18\x35\xb4\x0d\x55\x8d\x4e\x88\x43\x5d\x86\x17\xd4\x9a\xca\x8a\xf3\xcd\x43\xa3\x42\x27\x0c\xcf\x87\xbd\x74\x59\x63\xd8\x8b\xae\x07\x2f\xee\xb0\xaf\x52\x54\xb9\xe2\x1b\xaa\x16\x17\xae\x21\x9b\x92\x3c\x96\xf2\x1d\x4b\x8a\x32\xe7\x21\x5a\x53\x86\x2f\x72\x95\x76\xe8\xdf\xb5\x0d\x35\xb9\x58\xf2\x02\x0a\x7f\x62\x13\x09\xbe\x06\x45\x55\x49\xc7\x50\x7c\x08\x23\x06\x5e\x18\xdb\x35\xc6\x95\x68\x34\xe9\xd1\x0c\x60\xec\x12\xdb\x9b\x38\x97\xb8\xdf\xfd\x2d\xa7\x23\xc1\xc4\x43\xae\xeb\x4f\x51\x93\xe3\x1e\xb9\x88\x1a\xcb\x01\xc8\x8c\x5d\x1e\x08\x99\x4f\x0d\x43\x72\xd0\x20\x0c\x05\xe8\x6d\x96\x3c\x49\xda\x4d\xb2\x83\x63\x55\xe8\xb8\x0b\xa8\xf1\x65\x41\x6e\xcf\x15\xfb\x37\x2a\x3a\xb1\xae\x79\xdb\x72\x3f\x5b\x62\xd5\xf5\x30\x17\x4d\x94\xee\xdc\xc2\x58\x6b\x22\x59\x65\x28\x1c\x25\x7a\xdf\x1c\x65\x5c\xb1\xc4\xc0\x25\xd8\xd5\x7d\xa4\x05\x50\xe1\x01\x4d\x3f\x4e\xec\xec\x5d\x26\x8e\xbe\x84\x5b\x2b\xb4\xab\xd0\x1a\xbb\xec\x58\x59\x98\x8e\xa5\x56\xb8\xe7\x96\x6d\xdf\x1a\x91\x7f\x5d\xb2\x02\x4e\xe8\x3f\x25\x0d\xd8\x94\xf5\x40\x9b\xfe\xe0\x4e\xaf\x61\x33\xbe\x4a\x7f\x2c\xe3\xc0\x65\x45\xff\x30\xbb\x1b\xf3\x47\x89\xaa\x8c\xb1\x67\xc5\xb8\xca\x18\xa2\x90\x87\xcb\x17\x34\xd1\x99\x64\xd2\xbf\x8b\x8d\x1e\x91\x3d\x31\x9e\x56\x4a\xc7\x7d\x21\x96\x70\x90\x22\xcc\x23\xa2\xb2\xf4\x78\xbe\xd8\xc4\x8e\x31\x93\xf8\x76\x34\x00\x8a\xf5\x8a\x42\x6d\x6b\xcc\xdd\x1d\x22\xb3\x2f\x63\x03\x34\xd1\x73\x6e\x1f\x73\x2e\xc8\xf6\xc6\xa8\xdc\x62\xde\xb6\x46\x83\x49\xbd\x12\x9d\xb7\xe6\x84\x65\x4e\xde\x7e\x24\xa9\xe3\x49\xd4\x71\x38\xd2\x69\x9b\x52\x78\xec\x4b\xe6\x0b\x82\x75\x2f\x14\x47\x80\x3a\xe5\xba\x18\x42\x7e\x45\xdc\x25\x9f\xd8\xb8\x30\x19\xda\x22\xea\xe4\xa8\x40\xcd\x02\x03\xeb\x18\x5d\x90\xb9\x7a\xd4\x4d\x1c\xd7\x69\x1a\xed\xd0\x67\xb7\xec\x0d\x84\xfe\x1b\x2b\x63\x83\xd6\x54\xc0\x47\x53\xd7\xf3\x3e\x40\x32\x59\x69\x6c\xe8\xcf\x83\xd7\x18\xc5\x23\xdd\x74\x8d\xa8\x6b\xe6\xe6\x84\x3b\xa1\x7f\x8f\xb7\xb1\x1a\xc7\x53\x1a\x36\x85\x82\x4b\xe6\x52\xec\x6c\x45\x71\x37\x5f\x8c\xa9\x94\xc5\x09\x26\xc5\xd7\x9d\xcd\x08\x9e\x41\x43\x78\xc9\x36\x65\xd0\x04\xe3\xb8\xc4\x2a\xe0\x32\xa5\x1b\xca\x24\x66\xf6\xd5\xea\xab\x35\x5c\xdd\x0e\xfc\x9d\xc8\x17\xdf\x43\xf4\x7d\xd9\xda\x34\x1e\x1b\x1a\x9f\x86\x26\xce\xc4\x42\xc2\x05\x96\x6a\x09\xed\x27\xff\x62\x79\x75\x91\xf9\xfc\xbf\xf1\x29\xb1\xa8\x58\xd4\x47\x39\x02\x5c\x6f\x99\xe2\x94\xf9\x44\x35\xf6\x5d\xc2\x22\xe0\xc7\x06\x0b\x8f\xe5\x38\x45\xb8\x75\xeb\xd0\xa8\xef\xa5\x49\xb7\x65\x70\x0f\x9e\x42\xc2\xe8\x3e\xd2\x63\xa3\xc8\xc3\xdc\x4c\x97\x4c\x3c\x71\x39\x36\xec\x2c\xd4\xff\x04\xe0\x8e\x22\xe3\xfa\x1a\x5e\xa3\x32\xc7\xd8\x75\x92\x2b\x06\x23\xf7\xc4\xcd\x5c\x6b\x23\xf3\xb4\xad\x7e\xe9\x65\x1d\x3f\xe5\x30\x38\x8d\xe5\xb1\x4b\x76\x98\x20\x75\x38\x76\x6b\x04\x13\xae\x0e\x49\x22\xa2\x45\x26\x97\x7f\xae\x5b\x85\x21\xf0\x0a\x32\xf9\xb2\x3a\xcb\x1f\xf7\xae\xdd\x92\x36\x73\x53\x05\xdc\xfd\xfb\xb7\xf7\x13\x92\x1e\xbe\x99\x2f\xc6\x29\x0b\xdc\xb3\x30\xf0\xdf\xe7\x62\xd7\xcc\x04\xf2\xc4\x7a\x00\x54\x6e\x2a\xc7\x3b\xe6\xc2\xfd\x5c\xdd\xf8\x13\x94\x92\x6f\x4c\xd8\x53\x6a\x61\x52\xf0\x71\xe7\xc4\x77\xdb\xb9\xe1\xb8\x37\x50\x1a\xfd\xc2\x4f\x49\xee\x3f\x18\x4c\xfa\x67\x09\xae\x2d\xf6\x74\x48\xfe\xfa\xdd\x51\xfa\x62\xbf\x35\xc2\x96\x9b\x25\x6c\xf8\xd9\x1b\x63\x8f\x82\x9a\xd7\x0d\xa0\x2f\x56\x17\x5d\xf1\xf0\xbc\xcc\xfd\x2e\xd0\xff\x38\xfc\xc8\x09\x5a\x4f\x29\x98\xa1\x49\x37\xa0\x3d\x17\x23\xf8\x79\x7c\x6a\x74\x01\x51\xe9\x74\x7d\x93\x29\xf0\x0b\x09\xf9\x15\x5e\xbd\x82\x4a\x28\x87\x97\x0c\x9a\x18\x53\x6c\x42\x49\xde\xf4\xb0\xc6\x72\x5f\xb8\x6c\x2a\x0c\x93\x23\x0a\x8d\xc7\xf1\x98\x22\x09\x26\xbf\x9c\xef\xff\xdc\xbd\xfd\x24\x20\x65\x38\xf0\xcd\x13\x1d\xfa\x4d\x68\xcb\xfb\x7e\x3b\x61\x84\x42\xc7\xa5\x57\x33\xa5\xf9\xbd\x15\x2a\xfc\x9a\x68\xd6\x27\x5a\xf4\x67\x01\x56\x6c\xa2\xbb\x94\x24\xd0\x1a\x27\xe9\xd5\x8f\x43\xee\x9e\x86\x06\x3d\x3c\x50\x5e\xd0\x9e\xf3\x09\xc1\xf5\x35\xc4\x8f\x66\x61\x16\x29\x54\x57\x66\x61\x13\x18\xc7\x86\xbb\xd6\x48\x4a\x42\xda\x46\x93\xfa\xa1\x2d\x7f\x70\x9d\x12\x1e\x19\xd3\x16\x77\x52\x6b\xa6\x7e\x39\x6d\xe9\x3f\x23\x4f\xec\x7e\x12\xbc\x83\x82\xf3\xe1\xe3\x05\xbc\x7c\xfc\x2e\xff\xd1\x85\xe3\x18\xf0\xb9\x3c\xc5\x76\xb8\xbf\x37\x22\x50\xfc\xe5\x36\x2d\x17\xa1\x7b\x1e\x4f\x5f\xd2\xfb\x67\xe2\xfd\xe5\x16\x59\x94\x25\xb5\xc7\x6e\x48\x00\xcf\xe2\xe9\xac\x92\x7c\x4a\x83\x3c\x05\x0b\x63\x4c\xa0\xc6\xd1\x39\xb4\x03\xda\x5b\x18\x5d\x58\xf4\x11\xf4\xa2\x7b\xfa\x4f\x5e\x1d\x2f\x4f\x01\x38\x96\x17\x11\x60\xd0\x8d\x76\x2d\x6c\x22\x57\x51\xda\x33\xf2\x97\x6c\x59\x49\xf7\x56\x3b\x4f\x5e\x99\xe7\x29\xb1\x58\xc3\xf4\xed\x7f\x17\xe8\x59\xf2\x3e\x7f\x46\x2e\x4c\xdd\x08\x3f\x68\x7d\xc8\xbe\x0b\xc3\xb4\xf1\x67\x3b\x56\xe3\x71\x16\xcb\x4b\x3a\x16\xeb\xcd\x85\x81\x5a\xfa\xb4\x37\x18\xa7\x8d\xbe\xee\xb1\xa0\xcf\x44\x7b\x27\x33\xe7\x2f\xe9\xf1\x50\xe5\xc5\x1f\xca\x23\xd7\xd6\x4f\x26\x50\x1f\x3a\x8f\xd6\xc6\x51\xe2\xf0\x77\x1e\xfc\x81\xe8\x45\xcc\x19\xa5\xcc\xd1\x71\x2f\x19\xfe\x17\x12\x13\xd7\x64\xd8\xc3\xf1\xb6\x17\x94\x6a\x67\x5f\x33\xe1\x89\xfc\x19\x1f\x39\xff\xe4\x41\xf2\xf9\x44\xb8\xef\x3b\x34\x1e\xd5\x29\x9e\x11\x5d\x11\x5c\xc9\x74\x79\xa8\xec\x65\x0f\x41\x3e\x5b\xf9\x1f\xf8\x68\x6a\x14\x32\xe9\x9b\x43\x22\x1c\x1d\x5b\x99\x2e\x38\x03\x2f\x4d\x38\x6d\x0a\xf5\x06\x92\xd9\x71\x1d\xb1\x0e\x15\xa5\xfb\xc6\x58\x0b\x5f\xec\xb3\x0f\x44\xe7\x09\xfd\xb9\x2f\x24\x5d\xc1\xc3\x7f\x03\x00\x00\xff\xff\xac\x9d\x02\x78\x99\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x95, 0xf0, 0x96, 0x47, 0xec, 0x7c, 0xdc, 0x90, 0x39, 0x23, 0x32, 0x42, 0xf8, 0xfe, 0xc6, 0x4b, 0xe7, 0x83, 0x1b, 0xec, 0xc5, 0xa7, 0xb3, 0x64, 0x87, 0xc6, 0x2f, 0x25, 0x5f, 0xe0, 0xbc, 0x95}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcf, 0xb8, 0x2b, 0xfa, 0xd1, 0xe1, 0x37, 0xb3, 0xbd, 0x7, 0x99, 0x68, 0x15, 0x30, 0x70, 0xde, 0x41, 0x58, 0xe, 0x9f, 0xd2, 0xbb, 0xb6, 0xa6, 0xa9, 0x3c, 0x2d, 0x20, 0xc7, 0x7e, 0xd8, 0x47}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 7a5530d0..2f456295 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,9 +1,9 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // burn_tokens.cdc (1.718kB)
-// create_forwarder.cdc (3.033kB)
+// create_forwarder.cdc (3.035kB)
 // generic_transfer.cdc (1.331kB)
-// metadata/setup_account_from_vault_reference.cdc (1.909kB)
+// metadata/setup_account_from_vault_reference.cdc (1.911kB)
 // mint_tokens.cdc (1.827kB)
 // privateForwarder/create_account_private_forwarder.cdc (2.025kB)
 // privateForwarder/create_private_forwarder.cdc (1.703kB)
@@ -11,20 +11,20 @@
 // privateForwarder/setup_and_create_forwarder.cdc (2.527kB)
 // privateForwarder/transfer_private_many_accounts.cdc (1.543kB)
 // safe_generic_transfer.cdc (1.888kB)
-// scripts/get_balance.cdc (722B)
+// scripts/get_balance.cdc (724B)
 // scripts/get_supply.cdc (195B)
 // scripts/get_supported_vault_types.cdc (921B)
-// scripts/metadata/get_token_metadata.cdc (774B)
-// scripts/metadata/get_vault_data.cdc (838B)
-// scripts/metadata/get_vault_display.cdc (832B)
-// scripts/metadata/get_vault_supply_view.cdc (915B)
+// scripts/metadata/get_token_metadata.cdc (816B)
+// scripts/metadata/get_vault_data.cdc (880B)
+// scripts/metadata/get_vault_display.cdc (874B)
+// scripts/metadata/get_vault_supply_view.cdc (957B)
 // scripts/switchboard/check_receiver_by_type.cdc (570B)
 // scripts/switchboard/get_vault_types.cdc (698B)
 // scripts/switchboard/get_vault_types_and_address.cdc (676B)
 // scripts/test/example_token_vault_display_strict_equal.cdc (2.25kB)
 // scripts/tokenForwarder/is_recipient_valid.cdc (444B)
-// setup_account.cdc (1.723kB)
-// switchboard/add_vault_capability.cdc (4.276kB)
+// setup_account.cdc (1.728kB)
+// switchboard/add_vault_capability.cdc (4.281kB)
 // switchboard/add_vault_wrapper_capability.cdc (1.756kB)
 // switchboard/batch_add_vault_capabilities.cdc (1.607kB)
 // switchboard/batch_add_vault_wrapper_capabilities.cdc (1.84kB)
@@ -126,7 +126,7 @@ func burn_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x8f\xdb\x36\x10\xbd\xf3\x57\x4c\x7d\x48\xed\xc0\x91\xd1\xaf\x8b\xb1\xc9\x22\x71\xba\x45\x80\xb6\x08\xb2\x9b\xbd\x36\x63\x6a\x6c\xb1\xa1\x49\x81\x1c\x59\x31\x82\xfd\xef\x05\x49\x89\x96\xb4\x1f\x4d\x2f\xf5\x61\xb1\x12\x87\x33\x6f\xde\x7b\x33\x5a\x3d\x7f\x2e\xc4\x4d\xa5\x3c\xb0\x43\xe3\x51\xb2\xb2\x06\x94\x07\x04\xa6\x43\xad\x91\x09\x76\xd6\x85\xc7\xc1\x39\x57\xc8\x20\x6d\xa3\x4b\xd8\x12\x34\x9e\x4a\xc1\x16\x3c\x31\x34\x35\xa0\x01\x94\xd2\x36\x86\x81\x6d\xb8\xdc\xa2\x2b\xa1\xa4\xda\x7a\xc5\x54\x02\xdb\xcf\x64\x7c\x38\x43\x63\xb9\x22\x07\x8e\x24\xa9\x23\xb9\x42\x88\x77\x3b\x40\x73\xb2\x86\xc0\x93\x29\xfd\x30\x38\xd4\x71\xdf\x7b\xb8\x4a\x19\xc9\xc1\x87\xee\xde\x52\x70\x45\xf9\x09\x5a\xa5\x35\xfc\xdd\x78\xce\xc5\xb9\xb2\x9e\x06\xb9\x42\xf8\x2d\x36\x9a\x53\x27\x15\x7a\xd8\x12\x19\x11\x3a\x40\x1f\x8f\x1d\x49\x55\x2b\x32\x0c\x68\x4a\xa0\x83\x0a\xff\x00\x1d\xc3\x9b\x78\x49\x99\x52\x49\x64\xf2\xa2\xad\x94\xac\x22\xba\xbe\x60\xe8\xb2\xea\x0b\x16\x1d\xc1\x2d\x9e\x96\xa0\x42\x7f\x60\x77\xbb\x17\xb2\x42\x65\xc0\x93\x3b\x2a\x49\xd0\xa2\xe1\x08\xed\x60\x8d\x62\xeb\xa0\xad\x6c\x90\xa1\x4b\xa8\xcc\x5e\x9c\xe1\x2b\x5e\x82\x62\x90\x68\xa0\x45\x96\x55\x82\x15\x8f\x3c\x11\xb4\x15\x39\x1a\x00\x00\x89\x07\x82\x9d\xb3\x87\x42\x88\x6b\xa6\xba\x8b\x4c\x6a\x25\xa9\x3c\xb4\x8a\xab\x74\x21\x77\xe1\xd6\x42\xfc\x50\xc0\x4d\x45\x70\xd5\x98\xbd\xda\x6a\x82\x9b\x18\x21\xad\x61\x87\x32\xb0\xc0\xe4\x76\x28\x09\x7c\x15\xfd\x80\xda\x11\x96\xa7\xe0\x8b\x92\x6a\x6d\x4f\x54\x82\xb7\x07\x8a\xa0\xc4\x8f\x29\x1b\xd6\xb5\x56\x12\x43\x3e\x1e\xe7\xeb\xb2\x0c\x6e\x17\xe2\xa7\x74\x69\xa0\x48\x67\xaf\x2e\xb8\xc2\x23\x01\x76\x82\x06\xb3\x72\xf4\x73\x4a\xec\x08\x99\x4a\x01\x00\x51\x48\xcf\xd6\x51\x09\xca\x80\x62\x1f\x9f\x70\x4f\xa9\x77\x84\xba\xd9\x6a\xe5\x2b\x2a\xb3\x97\xc4\xcf\x05\xbc\x8d\x40\x22\x9f\x9f\x62\xf7\x57\x59\x93\x42\x96\xf2\xd3\x19\x7c\x74\x69\xa9\x76\x3b\x72\x03\x98\xe2\x97\x22\x78\x16\x10\x0c\xb5\xf0\x3a\xbd\x5c\xc3\x26\x22\x8b\x69\xfb\x7e\x8c\x75\x07\xd4\xfa\xb4\x8c\x70\xb9\x22\x03\xae\x31\xa9\x72\x6a\xe4\xaf\x2c\x4d\x2a\x3d\x18\xca\x74\x69\x4f\xcc\xca\xec\x61\x34\x10\x41\xfa\x51\xa1\x64\xe0\x89\xd1\x0b\xf1\x7c\x25\x84\x3a\xd4\xd6\x71\xd6\x3b\xc9\x1d\x13\xcc\x46\xef\x66\x7d\xe4\xaf\x5f\xf0\x50\x8f\x03\x87\xaf\x72\xdc\x84\xba\x2e\x74\xf2\x76\xf6\x60\xfd\x3f\x88\xb1\x44\xc6\x5b\x45\xad\x7f\x08\xcc\x28\x60\x26\xc4\x80\x96\x79\xbf\x5c\xd6\xf0\xba\x2c\x1d\x79\xbf\x80\xaf\x22\x72\x55\x3b\xaa\xd1\xd1\xdc\xab\xbd\x09\xe7\xd8\x70\x35\x7f\x63\x9d\xb3\xed\x2d\xea\x86\x96\xf0\xce\xfb\x86\xae\x93\x49\x36\x58\xe3\x56\x69\xc5\xa7\x4d\xd0\xdb\x6a\x4d\x6e\x09\xef\x93\x65\xce\x87\x4b\xb8\xc6\x23\x75\xf7\x3f\x9a\x7a\x7a\xbe\x80\x67\x9d\x05\x32\x8e\xf0\xd3\xc4\x70\x0c\x06\x7e\x8b\x8c\xf0\x72\xc4\x6a\xe1\xc8\x5b\x7d\xa4\x4d\xe7\xb3\xd0\xe5\x3c\xbc\x6b\x9c\xa4\x9b\x53\x4d\x6b\x30\x4a\x2f\xe1\xa8\xa8\x4d\x8f\xe1\xef\xc5\xe3\x0c\x15\x57\x37\xb7\x7d\xad\x57\xf3\xc5\x02\xd0\x7f\xf7\x04\xe3\xc3\xf0\xcb\x8c\x38\xfc\x2e\x2f\xa1\x46\xa3\xe4\x7c\xb6\x89\x93\x68\x2c\x07\x07\xa6\x4e\x20\x24\x88\xa0\xba\xa1\xa4\x3c\x29\xb3\x45\x4c\x73\xbf\xfb\x0f\xb4\x83\x97\x90\x04\x29\x64\x4f\x9a\x22\x5f\x6c\xa3\x2e\x17\xcf\xbe\x8e\x70\x16\x11\xd8\xdd\xab\x79\xe6\xae\x38\x74\xd0\xdf\x23\x57\x8b\x7f\x45\x9b\xd2\xc2\x1b\xd4\x68\x64\x18\x86\x38\xbb\x92\x46\x5f\x89\xd9\xe2\x2c\xd4\x6a\x05\xbf\x11\xf7\x93\x93\xe6\x2b\x03\x3d\xe5\x4e\xfb\x49\xdb\x52\xf4\xfa\xf9\xb3\x60\x47\x4d\x9f\x77\xda\xcb\x40\x5c\xe7\x8c\xec\xd9\xc5\x98\x83\x3d\xf1\x3d\x02\xfa\x21\x1f\x71\xd0\xdf\xff\x36\x0e\xf6\x8f\xf7\x33\xe9\x7c\xb0\xb3\xf2\x22\x4a\x6b\x35\xac\x60\xc5\x3d\x6b\xd3\x3d\x53\xda\x7e\x27\x0d\xbe\x67\xf7\xc4\x87\x8b\x17\xd3\x2d\x51\xa4\xb5\xf7\x27\xb5\xf9\xab\x3f\xcf\x9c\xad\xcf\xf4\x9d\x9b\xec\xbc\xd3\x6d\xf6\x22\x00\x9b\x5f\xbc\x88\xf9\x97\xc0\x76\x0d\xab\xee\x68\x45\x83\x11\xcb\xd9\xc7\xfd\x7e\x34\x5a\x99\xcf\x11\x38\x7d\x51\x3e\x6e\xd6\x33\x39\xd3\x9a\x23\xad\x9a\x7e\xf4\x1f\x95\x65\x58\xe8\xf7\xbe\x8c\x49\xd3\xd2\x2f\xc9\x07\x24\x19\xf1\x16\x3f\x72\xbd\x05\x36\x58\x3f\x32\x3c\x3d\x1b\x2a\xec\xb3\xa7\x2c\x34\xf2\x4a\xc4\xf6\x24\x5b\xa3\xf0\x7b\x1a\x8c\x20\xf4\x6c\x4c\x11\x2f\x01\x79\x0d\xff\x99\xa3\x0c\x21\x2e\x60\xf9\x24\x3f\x39\xf6\xdb\x09\x9a\xda\x70\x52\xee\xff\x63\x6a\x88\x3d\x51\xb5\x8a\xe7\xf2\x31\xfb\x86\xac\x77\xe2\x4e\xfc\x13\x00\x00\xff\xff\xf3\xbc\xdc\x65\xd9\x0b\x00\x00"
+var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x8f\xdb\x36\x10\xbd\xf3\x57\x4c\x7d\x48\xed\xc0\x91\xd1\xaf\x8b\xb1\xc9\x22\x71\xba\x45\x80\xb6\x08\xb2\x9b\xbd\x36\x63\x6a\x6c\xb1\xa1\x49\x81\x1c\x59\x31\x82\xfd\xef\x05\x49\x89\x96\xb4\x1f\x4d\x2f\xf5\x61\xb1\x12\x87\x33\x6f\xde\x7b\x33\x5a\x3d\x7f\x2e\xc4\x4d\xa5\x3c\xb0\x43\xe3\x51\xb2\xb2\x06\x94\x07\x04\xa6\x43\xad\x91\x09\x76\xd6\x85\xc7\xc1\x39\x57\xc8\x20\x6d\xa3\x4b\xd8\x12\x34\x9e\x4a\xc1\x16\x3c\x31\x34\x35\xa0\x01\x94\xd2\x36\x86\x81\x6d\xb8\xdc\xa2\x2b\xa1\xa4\xda\x7a\xc5\x54\x02\xdb\xcf\x64\x7c\x38\x43\x63\xb9\x22\x07\x8e\x24\xa9\x23\xb9\x42\x88\x77\x3b\x40\x73\xb2\x86\xc0\x93\x29\xfd\x30\x38\xd4\x71\xdf\x7b\xb8\x4a\x19\xc9\xc1\x87\xee\xde\x52\x70\x45\xf9\x09\x5a\xa5\x35\xfc\xdd\x78\xce\xc5\xb9\xb2\x9e\x06\xb9\x42\xf8\x2d\x36\x9a\x53\x27\x15\x7a\xd8\x12\x19\x11\x3a\x40\x1f\x8f\x1d\x49\x55\x2b\x32\x0c\x68\x4a\xa0\x83\x0a\xff\x00\x1d\xc3\x9b\x78\x49\x99\x52\x49\x64\xf2\xa2\xad\x94\xac\x22\xba\xbe\x60\xe8\xb2\xea\x0b\x16\x1d\xc1\x2d\x9e\x96\xa0\x42\x7f\x60\x77\xbb\x17\xb2\x42\x65\xc0\x93\x3b\x2a\x49\xd0\xa2\xe1\x08\xed\x60\x8d\x62\xeb\xa0\xad\x6c\x90\xa1\x4b\xa8\xcc\x5e\x9c\xe1\x2b\x5e\x82\x62\x90\x68\xa0\x45\x96\x55\x82\x15\x8f\x3c\x11\xb4\x15\x39\x1a\x00\x00\x89\x07\x82\x9d\xb3\x87\x42\x88\x6b\xa6\xba\x8b\x4c\x6a\x25\xa9\x3c\xb4\x8a\xab\x74\x21\x77\xe1\xd6\x42\xfc\x50\xc0\x4d\x45\x70\xd5\x98\xbd\xda\x6a\x82\x9b\x18\x21\xad\x61\x87\x32\xb0\xc0\xe4\x76\x28\x09\x7c\x15\xfd\x80\xda\x11\x96\xa7\xe0\x8b\x92\x6a\x6d\x4f\x54\x82\xb7\x07\x8a\xa0\xc4\x8f\x29\x1b\xd6\xb5\x56\x12\x43\x3e\x1e\xe7\xeb\xb2\x0c\x6e\x17\xe2\xa7\x74\x69\xa0\x48\x67\xaf\x2e\xb8\xc2\x23\x01\x76\x82\x06\xb3\x72\xf4\x73\x4a\xec\x08\x99\x4a\x01\x00\x51\x48\xcf\xd6\x51\x09\xca\x80\x62\x1f\x9f\x70\x4f\xa9\x77\x84\xba\xd9\x6a\xe5\x2b\x2a\xb3\x97\xc4\xcf\x05\xbc\x8d\x40\x22\x9f\x9f\x62\xf7\x57\x59\x93\x42\x96\xf2\xd3\x19\x7c\x74\x69\xa9\x76\x3b\x72\x03\x98\xe2\x97\x22\x78\x16\x10\x0c\xb5\xf0\x3a\xbd\x5c\xc3\x26\x22\x8b\x69\xfb\x7e\x8c\x75\x07\xd4\xfa\xb4\x8c\x70\xb9\x22\x03\xae\x31\xa9\x72\x6a\xe4\xaf\x2c\x4d\x2a\x3d\x18\xca\x74\x69\x4f\xcc\xca\xec\x61\x34\x10\x41\xfa\x51\xa1\x64\xe0\x89\xd1\x0b\xf1\x7c\x25\x84\x3a\xd4\xd6\x71\xd6\x3b\xc9\x1d\x13\xcc\x46\xef\x66\x7d\xe4\xaf\x5f\xf0\x50\x8f\x03\x87\xaf\x72\xdc\x84\xba\x2e\x74\xf2\x76\xf6\x60\xfd\x3f\x88\xb1\x44\xc6\x5b\x45\xad\x7f\x08\xcc\x28\x60\x26\xc4\x80\x96\x79\xbf\x5c\xd6\xf0\xba\x2c\x1d\x79\xbf\x80\xaf\x22\x72\x55\x3b\xaa\xd1\xd1\xdc\xab\xbd\x09\xe7\xd8\x70\x35\x7f\x63\x9d\xb3\xed\x2d\xea\x86\x96\xf0\xce\xfb\x86\xae\x93\x49\x36\x58\xe3\x56\x69\xc5\xa7\x4d\xd0\xdb\x6a\x4d\x6e\x09\xef\x93\x65\xce\x87\x4b\xb8\xc6\x23\x75\xf7\x3f\x9a\x7a\x7a\xbe\x80\x67\x9d\x05\x32\x8e\xf0\xd3\xc4\x70\x0c\x06\x7e\x8b\x8c\xf0\x72\xc4\x6a\xe1\xc8\x5b\x7d\xa4\x4d\xe7\xb3\xd0\xe5\x3c\xbc\x6b\x9c\xa4\x9b\x53\x4d\x6b\x30\x4a\x2f\xe1\xa8\xa8\x4d\x8f\xe1\xef\xc5\xe3\x0c\x15\x57\x37\xb7\x7d\xad\x57\xf3\xc5\x02\xd0\x7f\xf7\x04\xe3\xc3\xf0\xcb\x8c\x38\xfc\x2e\x2f\xa1\x46\xa3\xe4\x7c\xb6\x89\x93\x68\x2c\x07\x07\xa6\x4e\x20\x24\x88\xa0\xba\xa1\xa4\x3c\x29\xb3\x45\x4c\x73\xbf\xfb\x0f\xb4\x83\x97\x90\x04\x29\x64\x4f\x9a\x22\x5f\x6c\xa3\x2e\x17\xcf\xbe\x8e\x70\x16\x6f\x50\xa3\x91\x74\xf7\x6a\x9e\xd9\x2b\x0e\x1d\xf8\xf7\xc8\xd5\xe2\x5f\xf1\xa6\xc4\xd0\x25\x02\x47\x71\x7a\x25\x8d\xbe\x13\xb3\xc5\x59\xaa\xd5\x0a\x7e\x23\xee\x67\x27\x4d\x58\x86\x7a\xca\xbd\xf6\xb3\xb6\xa5\xe8\xf6\xf3\x87\xc1\x8e\xda\x3e\x6f\xb5\x97\x81\xba\xce\x1b\xd9\xb5\x8b\x31\x0b\x7b\xe2\x7b\x14\xf4\x63\x3e\xe2\xa0\xbf\xff\x6d\x1c\xec\x1f\xef\x67\xd2\xf9\x60\x6b\xe5\x55\x94\x16\x6b\x58\xc2\x8a\x7b\xd6\xa6\x9b\xa6\xb4\xfd\x56\x1a\x7c\xd1\xee\xc9\x0f\x17\x2f\xa6\x7b\xa2\x48\x8b\xef\x4f\x6a\xf3\x77\x7f\x9e\x39\x5b\x9f\xe9\x3b\x37\xd9\xb9\xa7\xdb\xed\x45\x00\x36\xbf\x78\x11\xf3\x2f\x81\xed\x1a\x56\xdd\xd1\x8a\x06\x43\x96\xb3\x8f\xfb\xfd\x68\xb4\x32\x9f\x23\x70\xfa\xa2\x7c\xdc\xad\x67\x72\xa6\x35\x47\x5a\x35\xfd\xf0\x3f\x2a\xcb\xb0\xd0\xef\x7d\x19\x93\xe6\xa5\x5f\x93\x0f\x48\x32\xe2\x2d\x7e\xe6\x7a\x0b\x6c\xb0\x7e\x64\x7c\x7a\x36\x54\xd8\x68\x4f\x59\x68\xe4\x95\x88\xed\x49\xb6\x46\xe1\xf7\x34\x18\x41\xe8\xd9\x98\x22\x5e\x02\xf2\x1a\xfe\x33\x47\x19\x42\x5c\xc1\xf2\x49\x7e\x72\xec\xb7\x13\x34\xb5\xe1\xa4\xdc\xff\xc7\xd4\x10\x7b\xa2\x6a\x15\xcf\xe5\x63\xf6\x0d\x59\xef\xc4\x9d\xf8\x27\x00\x00\xff\xff\x42\xf6\xb5\x93\xdb\x0b\x00\x00"
 
 func create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -142,7 +142,7 @@ func create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x95, 0xab, 0x41, 0xb9, 0x60, 0x8d, 0xea, 0xa4, 0xbe, 0x12, 0x73, 0x30, 0x33, 0x40, 0x6b, 0x1a, 0x86, 0x64, 0x8a, 0x25, 0x1a, 0x50, 0x47, 0x8b, 0xf4, 0xac, 0x6a, 0x54, 0xd4, 0x41, 0x7e, 0xe9}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf6, 0x4f, 0x7d, 0x59, 0xb9, 0x58, 0x9, 0x5a, 0x94, 0xf9, 0x87, 0x2c, 0x10, 0x98, 0xce, 0xe6, 0x32, 0x96, 0x59, 0x4d, 0xb7, 0xfc, 0x1d, 0x68, 0x7f, 0x4f, 0x37, 0xda, 0x7d, 0x16, 0x8f, 0xa3}}
 	return a, nil
 }
 
@@ -166,7 +166,7 @@ func generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
-var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\xcd\x6e\xf3\x36\x10\xbc\xeb\x29\x06\x3e\xa4\x32\xe0\xc8\x77\xc3\x4e\x90\xba\x4d\x4f\x05\x82\xd4\xcd\x7d\x2d\xad\x2c\x22\x32\x29\x90\x2b\xab\x41\xe0\x77\x2f\x44\xfd\x98\x72\xdd\x2f\x40\x3e\x1d\x0c\x7a\xb9\xbb\x9c\x99\x9d\x55\xc7\xca\x58\xc1\x73\xad\x0f\x6a\x5f\xf2\xce\xbc\xb3\x46\x6e\xcd\x11\xb3\x49\x6c\x16\xdd\xca\xfc\x93\x85\x32\x12\x7a\x53\xdc\xb8\x5b\x65\x93\x84\xb1\x47\xfb\xef\x95\x9d\x29\x4f\x6c\xfb\xaa\x30\x34\x8b\xa2\xe5\x72\x89\x5d\xa1\x1c\xc4\x92\x76\x94\x8a\x32\x1a\xca\xa1\x29\x48\x40\x1a\x94\xa6\xa6\xd6\x82\xc6\xd4\x65\x06\x5b\x6b\x5f\x21\x06\x8e\x05\x4a\x1c\x97\x39\xea\xaa\x0d\x1c\x49\xd3\x81\x91\xf7\xa8\x20\x2d\x2c\x97\x74\xdd\xf3\x5a\xfb\xd6\xbe\xba\x76\xec\x70\xf2\x4c\xc4\xe0\x5d\x9b\x06\x4d\xc1\x96\x87\xb6\x6d\xbf\x82\x71\xa2\xba\x14\x5f\xa0\x34\x9c\x18\xdb\xb6\x27\x9d\xb5\x69\xa9\x65\x12\xf6\x69\x7c\xac\xe4\xa3\x4b\x4e\xa2\x28\xa0\x11\x53\x96\x59\x76\x6e\x85\xa7\xee\xb0\x40\x55\xef\x4b\x95\xbe\x90\x14\x2b\xbc\x8c\xe7\x39\x3e\xa3\x08\x00\x2a\xcb\x15\x59\x8e\x9d\x3a\x68\xb6\x2b\x50\x2d\x45\xfc\x17\x9d\xf8\x8d\xca\x9a\x17\xd8\x52\x45\x7b\x55\x2a\x51\xec\xe6\xb8\x7b\xea\xb4\x69\xcb\xd1\x7f\xcb\x25\x7e\x35\xd6\x9a\x06\x04\xcb\x39\x5b\xd6\xa9\xe7\x35\x12\xf2\x4c\x38\x83\xd1\x3e\x56\x91\x73\x9c\x8d\x32\x93\x84\xd1\x0b\xdc\xf1\x81\x92\x05\xb6\x1f\xdf\x2b\xe7\xd8\xe0\xc0\xd2\x03\x19\x08\xcf\xc7\xec\xf6\x4b\xd2\x00\x75\xb2\xf7\xe8\xd6\x77\x9f\xa1\x0f\x92\xe1\x70\x7e\x88\x2f\x6f\x4e\xdb\x3c\x3e\xa2\x22\xad\xd2\x78\xb6\xf5\x56\xd0\x46\xb0\xff\x82\x6a\x3b\xe3\x11\x2d\x66\xf3\x28\xd4\xe9\x6f\xd7\xce\x8f\x64\x5a\x6c\x59\xac\xe2\x53\x37\xda\xe7\x5d\x8b\x12\x13\xf2\xb9\xf8\xd8\xe6\x07\xfb\x91\x1c\x58\xba\xd2\xf8\x14\xb0\x5c\x85\xc2\x4d\xb1\xfc\xc1\x32\x3c\xd8\x02\xff\x8d\x84\x3a\xf0\x7e\x67\xfc\xcf\x05\xcf\x35\x9c\xb1\x62\xd3\x83\x4b\xc2\xe0\xa0\x1b\xe2\xd9\xae\xe0\x61\xfa\x9d\x3e\x99\xca\xf4\x2f\x02\x75\xac\x4a\x3e\xb2\x96\x40\xba\x6c\x80\x70\xa5\xda\xb6\x33\x3e\x41\x73\x13\x5a\x1f\xb5\x53\xfa\xe0\x1b\x74\xbb\xf1\x7b\x7b\xe7\x61\x8c\xcb\x07\xa5\x9d\xca\xf8\x9a\xe9\x84\x0f\x5f\xca\xd6\xf7\x01\x8f\xe4\xba\x6b\x3c\xc5\xd5\x6e\x09\x94\x0c\xf3\xef\xfd\x3c\x66\x74\x1b\x95\xf4\x5b\x9c\x38\x3a\x71\xbc\xbe\xbf\x3c\xb6\x80\x98\x55\x28\xe6\x90\x3a\x35\xe2\x4d\x25\x3a\xc7\x62\xb4\xf9\x07\x72\x63\x03\x29\x9b\x42\xa5\x05\x94\x4e\xcb\x3a\x63\xe7\x2f\x46\xc3\x43\x69\x61\x9b\x53\xca\x13\x15\x7c\xe1\x96\x2a\x6c\x06\xe4\x93\x25\x1a\x68\x28\xe7\x6a\x5e\xdf\x7d\x4e\xac\x98\x78\x0e\xe7\x87\xf8\x4b\x36\xb7\x5a\x7b\x32\xae\x88\x07\x04\x0b\x90\x4c\x85\x39\xf6\x56\xef\x7a\x7d\x4b\x11\xfe\xa7\x32\xa3\x5d\x2c\xa7\xac\xfe\x5f\x8a\xe1\xfa\xbb\x6a\xbc\xf6\xf5\x3f\x2b\x48\x80\xe3\xbf\x9a\x0c\x97\x81\x26\xe7\xe8\x1c\xe1\xdf\x00\x00\x00\xff\xff\x0c\xf6\xf8\x93\x75\x07\x00\x00"
+var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\xcd\x6e\xf3\x36\x10\xbc\xeb\x29\x06\x3e\xa4\x32\xe0\x4f\xbe\x1b\x76\x82\xc4\x6d\x7a\x2a\x10\xa4\x6e\xee\x6b\x69\x65\x11\x91\x49\x81\x5c\x59\x0d\x02\xbf\x7b\x21\xea\xc7\x94\xeb\x36\x40\x3e\x1d\x0c\x7a\xb9\xbb\x9c\x99\x9d\x55\xc7\xca\x58\xc1\x73\xad\x0f\x6a\x5f\xf2\xce\xbc\xb3\x46\x6e\xcd\x11\xb3\x49\x6c\x16\xdd\xca\xfc\x83\x85\x32\x12\x7a\x53\xdc\xb8\x5b\x65\x93\x84\xb1\x47\xfb\xef\x95\x9d\x29\x4f\x6c\xfb\xaa\x30\x34\x8b\xa2\xe5\x72\x89\x5d\xa1\x1c\xc4\x92\x76\x94\x8a\x32\x1a\xca\xa1\x29\x48\x40\x1a\x94\xa6\xa6\xd6\x82\xc6\xd4\x65\x06\x5b\x6b\x5f\x21\x06\x8e\x05\x4a\x1c\x97\x39\xea\xaa\x0d\x1c\x49\xd3\x81\x91\xf7\xa8\x20\x2d\x2c\x97\x74\xdd\xf3\x5a\xfb\xd6\xbe\xba\x76\xec\x70\xf2\x4c\xc4\xe0\x5d\x9b\x06\x4d\xc1\x96\x87\xb6\x6d\xbf\x82\x71\xa2\xba\x14\x5f\xa0\x34\x9c\x18\xdb\xb6\x27\x9d\xb5\x69\xa9\x65\x12\xf6\x69\x7c\xac\xe4\xa3\x4b\x4e\xa2\x28\xa0\x11\x53\x96\x59\x76\x6e\x85\xc7\xee\xb0\x40\x55\xef\x4b\x95\xbe\x90\x14\x2b\xbc\x8c\xe7\x39\x3e\xa3\x08\x00\x2a\xcb\x15\x59\x8e\x9d\x3a\x68\xb6\x2b\x50\x2d\x45\xfc\x27\x9d\xf8\x8d\xca\x9a\x17\xd8\x52\x45\x7b\x55\x2a\x51\xec\xe6\xb8\x7b\xec\xb4\x69\xcb\xd1\x7f\xcb\x25\x9e\x8c\xb5\xa6\x01\xc1\x72\xce\x96\x75\xea\x79\x8d\x84\x3c\x13\xce\x60\xb4\x8f\x55\xe4\x1c\x67\xa3\xcc\x24\x61\xf4\x02\x77\x7c\xa0\x64\x81\xed\xc7\xf7\xca\x39\x36\x38\xb0\xf4\x40\x06\xc2\xf3\x31\xbb\xfd\x92\x34\x40\x9d\xec\x3d\xba\xf5\xdd\x67\xe8\x83\x64\x38\x9c\xef\xe3\xcb\x9b\xd3\x36\x0f\x0f\xa8\x48\xab\x34\x9e\x6d\xbd\x15\xb4\x11\xec\xbf\xa0\xda\xce\x78\x44\x8b\xd9\x3c\x0a\x75\xfa\xcb\xb5\xf3\x23\x99\x16\x5b\x16\xab\xf8\xd4\x8d\xf6\x79\xd7\xa2\xc4\x84\x7c\x2e\x3e\xb6\xf9\x9f\xfd\x48\x0e\x2c\x5d\x69\x7c\x0a\x58\xae\x42\xe1\xa6\x58\x7e\x67\x19\x1e\x6c\x81\xff\x4a\x42\x1d\x78\xbf\x33\xfe\xe7\x82\xe7\x1a\xce\x58\xb1\xe9\xc1\x25\x61\x70\xd0\x0d\xf1\x6c\x57\xf0\x30\xfd\x4e\x9f\x4c\x65\xfa\x17\x81\x3a\x56\x25\x1f\x59\x4b\x20\x5d\x36\x40\xb8\x52\x6d\xdb\x19\x9f\xa0\xb9\x09\xad\x8f\xda\x29\x7d\xf0\x0d\xba\xdd\xf8\xad\xbd\xf3\x30\xc6\xe5\x83\xd2\x4e\x65\x7c\xcd\x74\xc2\x87\x2f\x65\xeb\x1f\x01\x8f\xe4\xba\x6b\x3c\xc5\xd5\x6e\x09\x94\x0c\xf3\xef\xfd\x3c\x66\x74\x1b\x95\xf4\x5b\x9c\x38\x3a\x71\xbc\xfe\x71\x79\x6c\x01\x31\xab\x50\xcc\x21\x75\x6a\xc4\x9b\x4a\x74\x8e\xc5\x68\xf3\x0f\xe4\xc6\x06\x52\x36\x85\x4a\x0b\x28\x9d\x96\x75\xc6\xce\x5f\x8c\x86\x87\xd2\xc2\x36\xa7\x94\x27\x2a\xf8\xc2\x2d\x55\xd8\x0c\xc8\x27\x4b\x34\xd0\x50\xce\xd5\xbc\xbe\xfb\x9c\x58\x31\x79\xa2\x92\x74\xca\xe7\xfb\xf8\x4b\x3e\xb7\x9a\x7b\x3a\xae\x88\x07\x0c\x0b\x90\x4c\xa5\x39\xf6\x66\xef\x7a\x7d\x4b\x13\xfe\xbb\x32\xa3\x61\x2c\xa7\xac\xfe\x5b\x8c\xe1\xfa\xbb\x7a\xbc\xf6\xf5\x3f\x2b\x48\x80\xe3\xdf\x9a\x0c\x97\x81\x26\xe7\xe8\x1c\xe1\x9f\x00\x00\x00\xff\xff\xcf\xec\xdd\x4c\x77\x07\x00\x00"
 
 func metadataSetup_account_from_vault_referenceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -182,7 +182,7 @@ func metadataSetup_account_from_vault_referenceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "metadata/setup_account_from_vault_reference.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x75, 0x50, 0xf5, 0xd5, 0x57, 0x5a, 0xa1, 0xb4, 0x46, 0xae, 0xe1, 0xfc, 0x2a, 0x15, 0x3, 0x58, 0xb6, 0x64, 0x95, 0xa3, 0x6e, 0x91, 0xc6, 0x84, 0xa0, 0xda, 0x3, 0x2a, 0xaa, 0x94, 0x36, 0xba}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xa0, 0xe3, 0xbc, 0x9e, 0x19, 0xff, 0xd7, 0xa2, 0xab, 0x8d, 0x3e, 0x4b, 0xd6, 0xaa, 0x10, 0x78, 0xa4, 0xea, 0xd6, 0xe5, 0x5a, 0xc1, 0x42, 0xfd, 0x9e, 0xaa, 0x1c, 0xd1, 0x1c, 0x9c, 0x62}}
 	return a, nil
 }
 
@@ -326,7 +326,7 @@ func safe_generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\x31\x6f\xdb\x30\x10\x85\x77\xfe\x8a\x57\x0d\xad\x08\x14\xf2\x52\x74\x30\xd2\x18\x69\x5a\x6f\x05\x3a\xa8\xd9\x4f\xd4\x29\x26\x4a\x91\x02\x79\xb2\x53\x04\xf9\xef\x05\x25\xcb\x88\x80\xc4\x1c\x04\xea\xf8\x78\xef\x7b\x24\x37\x1b\xd4\x07\x9b\x90\x4c\xb4\x83\x20\x32\xb5\x09\x72\x60\x34\xe4\xc8\x1b\x46\x67\xd9\xb5\x6a\xb3\x41\xe8\x40\x1e\x64\x4c\x18\xbd\x7c\x4a\xf8\xf9\x44\xfd\xe0\xb8\x0e\x7f\xd9\xe3\xfb\xac\x56\xca\xf6\x43\x88\x82\xfd\xe8\x1f\x6d\xb3\xac\x76\x31\xf4\x28\x56\xb5\x62\x51\xae\xda\xcc\xc2\xd7\xa5\xe2\xcd\x8e\xbf\x58\xa8\x25\xa1\x07\xcb\xa7\xf4\x56\xfb\x95\xa0\x50\x8a\x8c\xe1\x94\x4a\x72\x4e\xa3\x1b\x3d\x7a\xb2\xbe\xa4\xb6\x8d\x9c\xd2\x16\x77\xf3\x44\x6f\xf1\x67\x6f\x9f\xbe\x7e\xc1\xb3\x02\x00\xc7\x82\x23\x8d\x4e\x7e\x90\x10\xbe\xad\x50\xab\xc8\x29\xb8\x23\xdf\x07\x2f\x91\x8c\x64\xa3\x32\xd7\xc6\x68\xb8\xfe\x37\xf0\x16\xde\xba\xcf\x38\x5a\x3e\xcd\xbf\xf9\x7b\xf3\x3e\x64\xb5\xaf\x1f\x16\xaf\xdb\x52\x6b\x50\xfa\x70\x25\xf4\x6b\xf9\x6e\xa2\xcd\x63\xb7\xc3\x40\xde\x9a\xb2\xb8\x0f\xa3\x6b\xe1\x83\xe0\x71\x49\x81\xbc\x79\x02\x42\x17\xe2\x74\xc9\xe6\x4c\x5f\x68\x35\xf5\x88\x2c\x63\xf4\x79\xcb\xdd\x7c\xcf\xcb\x19\xe9\xca\xd0\x40\x8d\x75\x56\x2c\xa7\xaa\x09\x31\x86\xd3\xcd\xc7\xe7\x15\x60\x35\x11\xbd\xdc\x96\x17\x9e\x3c\x2e\x27\x58\xf5\xe7\x00\xbf\x49\x0e\x17\x89\xde\x55\xe7\xa7\x76\x35\xc5\xec\xb8\xbc\x33\x44\xee\x38\x72\x9e\x49\x98\x92\x4c\xd6\x85\x56\x2f\xea\x7f\x00\x00\x00\xff\xff\x1a\x5b\x9c\x58\xd2\x02\x00\x00"
+var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x52\x4d\x6f\xdb\x30\x0c\xbd\xeb\x57\xbc\xf9\xb0\x59\xc0\xe0\x5c\x86\x1d\x82\xae\x41\xd7\x2d\xb7\x01\x3b\x64\xbd\xd3\x32\xdd\x08\x93\x25\x43\xa2\x93\x0e\x45\xff\xfb\x20\x7f\x04\x35\xd0\x46\x07\x43\xa6\x1e\x1f\xdf\x23\xb9\xd9\xe0\x70\xb4\x09\xc9\x44\xdb\x0b\x22\x53\x93\x20\x47\x46\x4d\x8e\xbc\x61\xb4\x96\x5d\xa3\x36\x1b\x84\x16\xe4\x41\xc6\x84\xc1\xcb\xa7\x84\x9f\x4f\xd4\xf5\x8e\x0f\xe1\x2f\x7b\x7c\x9f\xd0\x4a\xd9\xae\x0f\x51\xb0\x1f\xfc\xa3\xad\x97\xd7\x36\x86\x0e\xc5\x2a\x56\x2c\xc8\x15\xcd\x04\x7c\x1d\x2a\xde\x64\xfc\xc5\x42\x0d\x09\x3d\x58\x3e\xa7\xb7\xe8\x57\x80\x42\x29\x32\x86\x53\x2a\xc9\x39\x8d\x76\xf0\xe8\xc8\xfa\x92\x9a\x26\x72\x4a\x5b\xdc\x4d\x17\xbd\xc5\x9f\xbd\x7d\xfa\xfa\x05\xcf\x0a\x00\x1c\x0b\x4e\x34\x38\xf9\x41\x42\xf8\xb6\x92\x5a\x45\x4e\xc1\x9d\xf8\x3e\x78\x89\x64\x24\x17\x2a\x73\x6c\x88\x86\x0f\xff\x7a\xde\xc2\x5b\xf7\x19\x27\xcb\xe7\xe9\x37\x7f\x6f\xde\x17\x59\xed\x0f\x0f\x4b\xad\xdb\x52\x6b\x50\xfa\x70\xc5\xf4\x6b\xf8\x6e\x54\x9b\xcf\x6e\x87\x9e\xbc\x35\x65\x71\x1f\x06\xd7\xc0\x07\xc1\xe3\xe2\x02\x39\x79\x14\x84\x36\xc4\x71\xc8\x66\x56\x5f\x68\x35\x72\x44\x96\x21\xfa\x9c\x72\x37\xcd\x79\xe9\x91\xae\x0c\xf5\x54\x5b\x67\xc5\x72\xaa\xea\x10\x63\x38\xdf\x7c\x7c\x5e\x09\xac\xe6\x2d\x78\xb9\x2d\x2f\x8a\xf2\xb9\xf4\xb0\xea\x66\x0b\xbf\x49\x8e\x17\x88\xde\x55\xf3\xb2\x5d\xf5\x31\xd5\x5c\x36\x0d\x91\x5b\x8e\x9c\x6f\x12\x46\x2f\x63\x3b\x0a\xad\x5e\xd4\xff\x00\x00\x00\xff\xff\x02\x72\x91\x6a\xd4\x02\x00\x00"
 
 func scriptsGet_balanceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -342,7 +342,7 @@ func scriptsGet_balanceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_balance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0x35, 0xb1, 0xfd, 0x48, 0x8a, 0x70, 0xd0, 0x18, 0x38, 0xd2, 0xb7, 0xe8, 0xf, 0xf8, 0x21, 0x7, 0xcb, 0x27, 0xfd, 0x89, 0xea, 0x45, 0xb2, 0x78, 0x5d, 0xe6, 0xcc, 0xd7, 0x25, 0x64, 0x4}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x55, 0xda, 0x1a, 0xda, 0xf0, 0xe5, 0x7d, 0x21, 0xa2, 0x8d, 0x36, 0x41, 0x1, 0xc1, 0x8c, 0xaa, 0x5b, 0x83, 0x3d, 0xd4, 0xae, 0x3, 0xc0, 0x69, 0x41, 0xdf, 0x3a, 0xa1, 0xf3, 0xcd, 0x89}}
 	return a, nil
 }
 
@@ -386,7 +386,7 @@ func scriptsGet_supported_vault_typesCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x92\x51\x8b\xa3\x30\x10\xc7\xdf\xfd\x14\x73\x3e\x1c\x0a\x87\x1f\x40\x6a\x4b\xe9\x5d\xdf\x0e\x8e\x52\xee\x7d\x1a\xc7\x36\x6c\x4c\x24\x19\xed\x2e\xa5\xdf\x7d\x89\x89\xe2\x2e\xac\xdb\x87\x9a\x19\x66\xfe\xfe\xfe\xff\x28\xdb\xce\x58\x86\x3f\xaf\xd8\x76\x8a\xce\xe6\x85\x34\x34\xd6\xb4\x90\x2e\x5b\x69\x12\xe7\x8e\xbd\xbe\xca\x4b\xec\xfe\x25\xc6\x1a\x19\xff\x4b\xba\xbb\xb8\xf5\xf5\xc0\xac\xe1\xab\x13\x39\xa3\x06\xb2\x71\x6b\xd9\x4a\x93\x04\x85\x20\xe7\x32\x54\x2a\x87\xa6\xd7\xd0\xa2\xd4\x19\xd6\xb5\x25\xe7\x4a\xd8\x87\x43\x5e\xae\xd0\x14\xc7\xb3\x7f\xc2\x23\x01\x00\x50\xc4\x80\x42\x98\x5e\x33\x54\x70\x25\xde\x87\x62\xd2\xcc\x93\x79\x6c\xc0\x5e\xf1\x6f\x64\x84\xea\x43\x28\x85\x0d\x78\x07\xa3\xd9\xa2\x60\xaf\x9e\xf9\x5e\x6f\x05\x9d\xdf\x3a\x2a\x41\x4b\xf5\x0b\x06\x49\xf7\x50\xfa\xff\xcd\x3a\xe1\xf4\xae\x6d\x96\xe7\x80\xee\xc7\x37\x86\xa6\xf1\xdd\x48\xeb\x7f\xbb\x1d\x74\xa8\xa5\xc8\xd2\x83\xe9\x55\x0d\xda\xb0\xb7\x17\x5c\x80\x5f\x1e\x81\xa0\x31\x16\xf8\x46\x20\x22\x7d\xfa\xd9\xf1\x89\x1a\xa8\xa6\x8c\x0a\x81\x1d\x5e\xa4\x92\x2c\xc9\x15\x17\x63\xad\xb9\x6f\x7e\x3e\x96\x97\x54\x4c\x87\xe7\x36\x9b\x23\x2b\xda\x48\xfc\x0f\xf9\x96\xaf\x42\x06\x51\x40\xb0\xd4\x90\x25\x2d\x08\xd8\x8c\x88\x01\xdd\x4e\x1f\xc3\x02\xb4\x19\x43\x87\x6a\x2d\xa5\x2b\x71\xb8\xf9\x6c\x58\xd0\x96\xb3\xc9\x28\x67\x89\x7b\xab\xa3\x62\xf2\x4c\xde\x03\x00\x00\xff\xff\x49\x4c\x59\x3a\x06\x03\x00\x00"
+var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x92\xc1\x0a\x9b\x40\x10\x86\xef\x3e\xc5\xd4\x43\x51\x28\x3e\x80\xc4\x84\x34\x6d\x6e\x85\x12\x42\xef\x93\x75\x4c\x96\xae\xbb\xb2\x3b\x9a\x96\x90\x77\x2f\xeb\xae\x62\x4a\x6a\x3d\xa8\x3b\xfc\xf3\xfb\xcd\xef\xc8\xb6\x33\x96\xe1\xeb\x2f\x6c\x3b\x45\x67\xf3\x93\x34\x34\xd6\xb4\x90\x2e\x4b\x69\x12\x75\xc7\x5e\x5f\xe5\x25\x56\xbf\x11\x63\x8d\x8c\x3f\x24\xdd\x5d\xec\xfa\xb7\xe0\xbd\xc7\xbb\xb6\x59\xe9\xfb\x4e\xe4\x8c\x1a\xc8\x46\xe1\xb2\x94\x26\x09\x0a\x41\xce\x65\xa8\x54\x0e\x4d\xaf\xa1\x45\xa9\x33\xac\x6b\x4b\xce\x95\xb0\x0f\x2f\x79\xb9\xc2\x5d\x1c\xcf\xfe\x09\x8f\x04\x00\x40\x11\x03\x0a\x61\x7a\xcd\x50\xc1\x95\x78\x1f\x0e\x93\x67\x9e\xcc\xb2\x01\x7b\xc5\x5f\x90\x11\xaa\x97\xf8\x0a\x1b\xf0\x0e\x46\xb3\x45\xc1\xde\x3d\xf3\xb5\xde\x0a\x3a\xff\xee\xa8\x04\x2d\xd5\x27\x18\x24\xdd\xc3\xd1\xdf\x37\xeb\x84\xd3\xb7\xb6\x59\x9e\x03\xba\x0f\xff\x19\x68\x92\xef\x46\x5a\x7f\xed\x76\xd0\xa1\x96\x22\x4b\x0f\xa6\x57\x35\x68\xc3\x7e\xbc\x30\x05\xf8\xe6\x11\x08\x1a\x63\x81\x6f\x04\x22\xd2\xa7\x7f\x4f\x7c\xa2\x06\xaa\x29\xa3\x42\x60\x87\x17\xa9\x24\x4b\x72\xc5\xc5\x58\x6b\xee\x9b\x8f\x8f\x17\xb8\xe2\x33\x2a\xd4\x82\x9e\xdb\x6c\x8e\xac\x68\x23\xf1\x77\xe4\x5b\xbe\x0a\x19\x4c\x01\xc1\x52\x43\x96\xb4\x20\x60\x33\x22\x06\x74\x3b\x2d\xc3\x02\xb4\x19\x43\x87\x6a\x2d\xa5\x2b\x71\xf8\xf3\xd9\xb0\x58\xa9\x72\x1e\x32\xda\x59\xe2\xde\xea\xe8\x98\x3c\x93\x3f\x01\x00\x00\xff\xff\xef\x98\xde\x00\x30\x03\x00\x00"
 
 func scriptsMetadataGet_token_metadataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -402,11 +402,11 @@ func scriptsMetadataGet_token_metadataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_token_metadata.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x29, 0xd8, 0x83, 0x7, 0xdc, 0x8e, 0x70, 0x34, 0x39, 0xdd, 0x88, 0x46, 0x8e, 0x21, 0x97, 0x36, 0x76, 0x59, 0xc1, 0x30, 0x62, 0x5a, 0xec, 0x7d, 0x89, 0x3b, 0x6d, 0x44, 0x5b, 0x5b, 0xc5, 0xa4}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x27, 0x32, 0xf6, 0x6f, 0xbc, 0xc7, 0x69, 0x60, 0x42, 0x21, 0x3a, 0x7f, 0x8f, 0x6b, 0x44, 0xae, 0x69, 0xb6, 0x27, 0x30, 0xef, 0x7a, 0x4d, 0x71, 0x96, 0xc5, 0x95, 0xbc, 0x93, 0x91, 0x4e}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xdf\xaa\xe2\x40\x0c\xc6\xef\xfb\x14\xd9\x5e\x2c\x2d\x2c\x7d\x00\xf1\x0f\xe2\xae\x77\x0b\x8b\x88\xf7\x71\x9a\xea\xb0\xd3\x99\x92\x49\x75\x17\xf1\xdd\x0f\xd3\x69\x7b\x7a\x0e\x47\xd1\x0b\x99\x84\x24\xfd\x7d\x5f\xa2\xeb\xc6\xb1\xc0\xaf\x7f\x58\x37\x86\xf6\xee\x2f\x59\xa8\xd8\xd5\x90\x4e\x53\x69\xd2\xd7\x6d\x5b\x7b\xd2\xc7\x3e\xfb\x9b\x04\x4b\x14\x3c\x68\xba\xfa\xbe\xeb\x71\xc1\x38\x23\x44\x3b\xf2\xce\x5c\x88\xfb\xae\x69\x2a\x4d\x12\x54\x8a\xbc\xcf\xd0\x98\x1c\xaa\xd6\x42\x8d\xda\x66\x58\x96\x4c\xde\xcf\x60\x1d\x1f\xf9\xec\x09\x4d\xb1\xdd\x1f\xb0\x35\xf2\x13\x05\xe1\x96\x00\x00\x18\x12\x40\xa5\x5c\x6b\x05\x16\x70\x22\x59\xc7\x60\x18\x9c\x27\x63\xd9\x65\x6c\x5d\x7c\x70\xa6\xe0\xc8\xb8\x71\x56\x18\x95\x84\x4f\x65\x21\xd7\xb2\xa2\xfd\xff\x86\x66\x60\xb5\xf9\x01\x17\x4d\xd7\x18\x86\xff\xf9\x6b\x98\xcb\x2c\xcf\x01\xfd\xb7\x17\x55\xad\x3a\xda\xf0\x5b\xad\xa0\x41\xab\x55\x96\x6e\x5c\x6b\x4a\xb0\x4e\x82\xbc\xa8\x02\x42\x73\x07\x04\x95\x63\x90\x33\x81\xea\xe9\xd3\xcf\x8a\x77\x54\xc1\x62\xf0\xa8\x50\xd8\xe0\x51\x1b\x2d\x9a\x7c\x71\x74\xcc\xee\x3a\xff\x7e\x9b\x6e\xaa\x18\x1e\xf7\x65\x36\x5a\x56\xd4\x3d\xf1\x1f\x94\x73\xfe\x14\x32\x0e\x05\x04\xa6\x8a\x98\xac\x22\x10\xd7\x21\x46\x74\x1e\x2e\xe2\xc1\x6a\x9e\x18\x75\x22\x99\x78\x95\x0d\xf2\xbe\xe2\x89\x37\x5f\x3a\xf2\x1d\x94\x0e\xdb\xae\xc9\x0a\x4c\x4f\x28\x18\x38\x60\x30\x49\xcb\xf6\x9d\x24\xb9\x27\x6f\x01\x00\x00\xff\xff\x03\xb1\x74\x64\x46\x03\x00\x00"
+var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xcf\x6a\xc2\x40\x10\xc6\xef\x79\x8a\x69\x0e\x25\x81\x92\x07\x10\xff\x60\x6d\xbd\x15\x8a\x88\xf7\x71\x33\xd1\xa5\x9b\xdd\xb0\x3b\xd1\x16\xf1\xdd\xcb\x66\x93\x34\x16\x15\x73\x08\xd9\x61\xbe\xc9\xef\xfb\x76\x64\x59\x19\xcb\xf0\xfe\x8d\x65\xa5\x68\x6d\xbe\x48\x43\x61\x4d\x09\xf1\xb0\x14\x47\x6d\xdf\xb2\xd6\x3b\xb9\x6d\xab\x1f\xc4\x98\x23\xe3\x46\xd2\xd1\xb5\xaa\xdb\x0d\xd7\x67\x5c\x93\xf5\x9d\x5e\xb7\x22\x67\xd4\x81\x6c\xdb\x38\x2c\xc5\x51\x84\x42\x90\x73\x09\x2a\x95\x42\x51\x6b\x28\x51\xea\x04\xf3\xdc\x92\x73\x23\x98\x87\x8f\x74\x74\x87\x3b\x5b\xae\x37\x58\x2b\x7e\x43\x46\x38\x45\x00\x00\x8a\x18\x50\x08\x53\x6b\x86\x09\xec\x88\xe7\xe1\xd0\x0d\x4e\xa3\xbe\xed\xd0\x4b\x27\x17\x19\x66\x36\x30\x2e\x8c\x66\x8b\x82\xfd\xaf\x12\x5f\xab\xad\xa0\xf5\x4f\x45\x23\xd0\x52\xbd\xc0\x41\xd2\x31\x1c\xfd\x7b\xfc\x18\xe6\x34\x49\x53\x40\xf7\xf4\xa0\xab\x59\x43\xeb\x9f\xd9\x0c\x2a\xd4\x52\x24\xf1\xc2\xd4\x2a\x07\x6d\xd8\xdb\x0b\x2e\xc0\x8b\x1b\x20\x28\x8c\x05\xde\x13\x88\x96\x3e\xfe\xef\x78\x45\x05\x4c\xba\x8c\x32\x81\x15\x6e\xa5\x92\x2c\xc9\x65\x5b\x63\xad\x39\x8e\x9f\x4f\x17\x70\xd9\x2b\x2a\xd4\x82\xce\xd3\xa4\x8f\x2c\x2b\x5b\xe2\x4f\xe4\x7d\x7a\x17\x32\x0c\x05\x04\x4b\x05\x59\xd2\x82\x80\x4d\x83\x18\xd0\x6d\xb7\x11\x37\xae\xe6\x4e\x50\x3b\xe2\x41\x56\x49\x67\xef\x1a\x4f\x58\xd8\xdc\x90\x6b\xa0\xa4\xbf\xed\x92\x34\xc3\x70\x85\x7c\x80\x1d\x86\x25\xae\xad\xfe\x23\x89\xce\xd1\x6f\x00\x00\x00\xff\xff\x01\xa8\xd7\x14\x70\x03\x00\x00"
 
 func scriptsMetadataGet_vault_dataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -422,11 +422,11 @@ func scriptsMetadataGet_vault_dataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_data.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x29, 0x13, 0x4a, 0x64, 0x3c, 0x79, 0xae, 0xad, 0x27, 0xdd, 0x36, 0x3e, 0xbb, 0xbe, 0xd3, 0x19, 0x62, 0x96, 0xc2, 0xef, 0x3a, 0xeb, 0x38, 0xb3, 0x8, 0x9b, 0x7, 0x21, 0xf0, 0x19, 0x2b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0x34, 0x86, 0x5c, 0xb8, 0x74, 0x3f, 0x48, 0xec, 0x71, 0xb9, 0x5a, 0x4b, 0x3b, 0xd0, 0x7b, 0x8, 0x14, 0x2a, 0x33, 0x99, 0x5e, 0x2c, 0x1e, 0xd, 0x31, 0x8b, 0x17, 0x81, 0x8f, 0xcc, 0x78}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xd1\xaa\xe2\x30\x10\x86\xef\xfb\x14\xb3\xbd\x58\x5a\x58\xfa\x00\x62\x15\xd1\xf5\x6e\x61\x11\xf1\x7e\x4c\xa7\x1a\x36\x4d\x4a\x32\xd5\x15\xf1\xdd\x97\x34\x4d\xed\x1e\xce\x69\x2f\x4a\x32\xcc\x4c\xbe\xff\x9f\x91\x4d\x6b\x2c\xc3\xcf\xbf\xd8\xb4\x8a\x8e\xe6\x0f\x69\xa8\xad\x69\x20\x9d\x86\xd2\x64\xc8\xdb\x77\xfa\x22\xcf\x43\xf4\x17\x31\x56\xc8\x78\x92\x74\x77\x43\xd5\xd7\x09\x63\x0f\x7f\x3b\x90\x33\xea\x46\x76\xa8\x9a\x86\xd2\x24\x41\x21\xc8\xb9\x0c\x95\xca\xa1\xee\x34\x34\x28\x75\x86\x55\x65\xc9\xb9\x05\x6c\xc2\x21\x5f\xcc\xd0\x14\xfb\xe3\x4e\xba\x56\xe1\x03\x9e\x09\x00\x80\x22\x06\x14\xc2\x74\x9a\xa1\x84\x0b\xf1\x26\x5c\x62\xdb\x3c\x19\xd3\x6e\xd8\x29\xde\x21\x23\x94\xff\xf9\x52\xd8\x40\xb8\x35\x9a\x2d\x0a\xf6\x0f\x65\x3e\xd6\x59\x41\xc7\x47\x4b\x0b\xd0\x52\xfd\x80\x9b\xa4\x7b\xb8\xfa\xff\x72\x16\xf2\x14\xdf\x5a\x65\x79\x0e\xe8\xbe\xcd\x6b\x1a\xd3\xd7\x3d\xad\xff\xd6\x6b\x68\x51\x4b\x91\xa5\x5b\xd3\xa9\x0a\xb4\x61\x2f\x2f\xa8\x00\x5f\xdc\x03\x41\x6d\x2c\xf0\x95\x40\x0c\xf4\xe9\x47\xc5\x07\xaa\xa1\x8c\x1e\x15\x02\x5b\x3c\x4b\x25\x59\x92\x2b\xce\xc6\x5a\x73\x5f\x7e\x7f\x4e\xe7\x54\xc4\xc3\x6b\x95\x8d\x96\x15\xcd\x40\xfc\x1b\xf9\x9a\xcf\x42\x86\xa6\x80\x60\xa9\x26\x4b\x5a\x10\xb0\xe9\x11\x03\xba\x8d\xfb\x30\x01\xad\x39\x4e\xb5\x9c\x33\xea\x42\x3c\xce\x3f\x8b\xe2\x3e\xa3\x09\xfb\x5e\x19\x72\x3d\x92\xf4\xb3\x6e\x48\x33\xbc\xd7\xc7\x9b\x17\x11\x2c\x71\x67\xf5\x9b\x22\x79\x25\xff\x02\x00\x00\xff\xff\x91\xdd\xaf\xd9\x40\x03\x00\x00"
+var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xd1\x8a\xea\x30\x10\x86\xef\xfb\x14\x73\x7a\x71\x68\xe1\xd0\x07\x10\xab\x78\x74\xbd\x5b\x58\x44\xbc\x1f\xd3\xa9\x86\x4d\x93\x92\x4c\x75\x45\x7c\xf7\x25\x4d\x5b\x75\x71\xdb\x8b\x92\x0c\xff\x4c\xbe\xf9\x67\x64\x55\x1b\xcb\xf0\xf6\x85\x55\xad\x68\x6b\x3e\x49\x43\x69\x4d\x05\xf1\x63\x28\x8e\x3a\xdd\xba\xd1\x07\xb9\xef\xa2\xef\xc4\x58\x20\xe3\x4e\xd2\xd9\x75\x59\xbf\x0b\x5e\xd7\x78\x95\x36\x28\x7d\xde\x86\x9c\x51\x27\xb2\x9d\xf0\x31\x14\x47\x11\x0a\x41\xce\x25\xa8\x54\x0a\x65\xa3\xa1\x42\xa9\x13\x2c\x0a\x4b\xce\x4d\x60\x11\x0e\xe9\x64\x84\x3b\x5b\x6f\x57\xd2\xd5\x0a\x2f\x70\x8d\x00\x00\x14\x31\xa0\x10\xa6\xd1\x0c\x39\x1c\x88\x17\xe1\xd2\x97\x4d\xa3\x41\x76\xc2\x46\xf1\x0a\x19\x21\x7f\x72\x30\xb3\x81\x70\x69\x34\x5b\x14\xec\x1f\x4a\x7c\xac\xb1\x82\xb6\x97\x9a\x26\xa0\xa5\xfa\x07\x27\x49\xe7\x70\xf5\xff\xe9\x28\xe4\xae\x7f\x6b\x96\xa4\x29\xa0\xfb\x33\xde\xd3\x20\x9f\xb7\xb4\xfe\x9b\xcf\xa1\x46\x2d\x45\x12\x2f\x4d\xa3\x0a\xd0\x86\x7d\x7b\xa1\x0b\xf0\xc9\x2d\x10\x94\xc6\x02\x1f\x09\x44\x47\x1f\xff\xec\x78\x43\x25\xe4\xbd\x47\x99\xc0\x1a\xf7\x52\x49\x96\xe4\xb2\xbd\xb1\xd6\x9c\xa7\x7f\xaf\x4f\x70\xd9\x7f\x54\xa8\x05\xdd\x66\xc9\x60\x59\x56\x75\xc4\x1f\xc8\xc7\x74\x14\x32\x14\x05\x04\x4b\x25\x59\xd2\x82\x80\x4d\x8b\x18\xd0\x6d\xbf\x0f\x0f\xa0\x25\xf7\x53\xcd\xc7\x8c\x3a\x10\x0f\xf3\x4f\xfa\xe6\x5e\xd1\x84\x65\x2d\x0c\xb9\x16\x49\xfa\x59\x57\xa4\x19\xee\xeb\xe3\xcd\xeb\x11\x2c\x71\x63\xf5\x9d\x22\xba\x45\xdf\x01\x00\x00\xff\xff\x7f\x69\x99\x2c\x6a\x03\x00\x00"
 
 func scriptsMetadataGet_vault_displayCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -442,11 +442,11 @@ func scriptsMetadataGet_vault_displayCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_display.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x19, 0x7b, 0xb0, 0xe8, 0x3b, 0x82, 0xe6, 0x52, 0x1a, 0x61, 0xbe, 0x5e, 0x29, 0x66, 0xd2, 0x6, 0xf, 0xd, 0x33, 0xfc, 0x45, 0xce, 0x10, 0x23, 0x36, 0xb0, 0xd9, 0x40, 0xb3, 0x7, 0x37, 0x1a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x18, 0x10, 0x18, 0x71, 0x73, 0xc8, 0x69, 0xb8, 0xb8, 0xbe, 0x13, 0x21, 0x7d, 0xfc, 0x8, 0x2, 0xa0, 0x87, 0xc1, 0xe9, 0xa8, 0x98, 0x95, 0xd3, 0xa9, 0x5d, 0x16, 0x5a, 0x1, 0x6b, 0x71, 0xfd}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x52\xc1\x6e\xdb\x30\x0c\xbd\xeb\x2b\x58\x1f\x36\x1b\x18\x9c\xcb\xb0\x43\x50\x37\x28\xba\x65\xa7\x01\x43\x97\xf5\xce\xc8\x74\x2b\x4c\x96\x0c\x8a\x4e\x1a\x14\xfd\xf7\x41\x96\xed\x78\x03\xda\xe4\x10\x88\x34\xf9\xf8\xf8\x1e\x4d\xdb\x79\x16\xf8\xf6\x8c\x6d\x67\x69\xe7\xff\x90\x83\x86\x7d\x0b\xd9\x32\x95\xa9\xb1\x6e\xdb\xbb\x47\xb3\x1f\xb3\x3f\x48\xb0\x46\xc1\x07\x43\xc7\x30\x76\xbd\x5d\x30\x63\xc4\xe8\x9e\x82\xb7\x07\xe2\xb1\x6b\x99\xca\x94\x5a\xad\x56\xf0\x9d\x24\x80\x3c\x11\x88\x17\xb4\x10\xfa\xae\xb3\x27\xf0\xcd\x90\x3b\x60\x6f\xe5\x63\x00\x19\xf8\xd6\x86\x49\x8b\x3d\x25\xb0\xf9\xbb\x52\xa8\x35\x85\x90\xa3\xb5\x05\x34\xbd\x83\x16\x8d\xcb\xb1\xae\x99\x42\x58\xc3\x6d\x7a\x14\x6b\xf8\xbd\x35\xcf\x5f\x3e\xc3\x8b\x02\x00\xb0\x24\x80\x5a\xfb\xde\x09\x54\xf0\x48\x72\x9b\x82\xa9\xb1\x50\x73\xd9\x30\xe6\x2b\x0a\x42\xf5\x8f\x82\x25\xa7\x5d\xee\xbc\x13\x46\x2d\x71\xbd\x3c\xe6\x7a\xd6\xb4\x3b\x75\xb4\x06\x67\xec\x27\x38\x18\x3a\xa6\x30\xfe\x5f\xbf\xad\x5d\xb9\xdd\x3d\x4c\xb3\x6e\xf2\xa2\x00\x0c\x57\xef\x78\xb1\x2c\xdf\x0c\x6c\xe3\x6f\xb3\x81\x0e\x9d\xd1\x79\x76\xe7\x7b\x5b\x83\xf3\x12\xd7\x4b\x5b\x40\x6c\x1e\x08\x41\xe3\x79\x10\x51\x8f\xec\xb3\xff\x37\xbe\xa7\x06\xaa\x49\xa3\x52\x63\x87\x7b\x63\x8d\x18\x0a\xe5\xde\x33\xfb\xe3\xf5\x87\x97\xa5\xa3\xe5\xf4\x78\xbd\xc9\x67\xc9\xca\x76\x64\xfc\x13\xe5\xa9\x78\x97\x64\x02\x05\x04\xa6\x86\x98\x9c\x8e\x47\x71\xf6\x19\x78\xba\x9c\x05\xd1\x46\x7e\xa5\x8b\xa9\x66\xce\x93\x2b\x83\x1b\x97\x04\xdf\xc5\xab\x4b\x10\x51\xf0\xab\x33\x72\xba\xc4\x58\x05\xd5\x79\xcc\x05\x43\x16\x70\x09\x89\x49\x7a\x76\x0b\xb0\x32\x3d\xd5\xab\xfa\x1b\x00\x00\xff\xff\x9e\x73\xf0\xa2\x93\x03\x00\x00"
+var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x52\xc1\x6e\xdb\x30\x0c\xbd\xeb\x2b\x58\x1f\x36\x1b\x18\x9c\xcb\xb0\x43\x50\x37\xe8\xba\x65\xa7\x01\x43\xe7\xf5\xce\xc8\x74\x2b\x4c\x96\x0c\x89\x4a\x1a\x14\xfd\xf7\x41\x96\xed\xb8\x43\xdb\xf8\x60\x48\xd4\xe3\xe3\xe3\x23\x55\xd7\x5b\xc7\xf0\xfd\x11\xbb\x5e\x53\x6d\xff\x92\x81\xd6\xd9\x0e\xb2\x65\x28\x13\x23\x6e\x1b\xcc\xbd\xda\x8d\xd1\x9f\xc4\xd8\x20\xe3\x9d\xa2\x83\x1f\xb3\xde\x06\xbc\xce\xf1\x5a\xda\x8c\x8c\x79\xb7\xe4\xad\xde\x93\x1b\x81\xcb\x50\x26\xc4\x6a\xb5\x82\x1f\xc4\x1e\xf8\x81\x80\x2d\xa3\x06\x1f\xfa\x5e\x1f\xc1\xb6\x43\x6c\x8f\x41\xf3\x47\x0f\x3c\x14\x6b\x94\x23\xc9\xfa\x98\xc8\xe6\x77\x21\x50\x4a\xf2\x3e\x47\xad\x0b\x68\x83\x81\x0e\x95\xc9\xb1\x69\x1c\x79\xbf\x86\xeb\x74\x28\xd6\xf0\x67\xab\x1e\xbf\x7c\x86\x27\x01\x00\xa0\x89\x01\xa5\xb4\xc1\x30\x54\x70\x4f\x7c\x9d\x2e\x53\x62\x21\x66\xd8\x50\xe6\x1b\x32\x42\xf5\xc2\xeb\xd2\xa5\x5e\x6e\xac\x61\x87\x92\x63\x7b\x79\x8c\x05\x27\xa9\x3e\xf6\xb4\x06\xa3\xf4\x27\xd8\x2b\x3a\xa4\x6b\xfc\x5f\xbe\xed\x72\xb9\xad\xef\xa6\x5a\x57\x79\x51\x00\xfa\x8b\x77\xa6\xb6\x84\x6f\x06\xb5\xf1\xdb\x6c\xa0\x47\xa3\x64\x9e\xdd\xd8\xa0\x1b\x30\x96\x63\x7b\xa9\x0b\x88\xc9\x83\x20\x68\xad\x1b\x4c\x94\xa3\xfa\xec\xff\x8e\x6f\xa9\x85\x6a\xf2\xa8\x94\xd8\xe3\x4e\x69\xc5\x8a\x7c\xb9\xb3\xce\xd9\xc3\xe5\x87\xa7\x17\xe2\xca\xaf\xa8\xd1\x48\x7a\xbe\xca\x67\xcb\xca\x6e\x54\xfc\x0b\xf9\xa1\x78\x57\x64\x22\x05\x04\x47\x2d\x39\x32\x32\x2e\xc5\x69\xce\xe0\xa6\xcd\x59\x08\x6d\xf9\x77\xda\x98\x6a\xd6\x3c\x4d\x65\x98\xc6\x39\xc3\xeb\xb8\x75\x89\x22\x1a\x7e\x71\x62\x4e\x9b\x18\x51\x50\x9d\xca\x9c\x19\xc8\x82\x2e\x31\x39\xe2\xe0\xcc\x82\xac\x4c\x47\xf1\x2c\xfe\x05\x00\x00\xff\xff\x3f\x27\xba\x7c\xbd\x03\x00\x00"
 
 func scriptsMetadataGet_vault_supply_viewCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -462,7 +462,7 @@ func scriptsMetadataGet_vault_supply_viewCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_supply_view.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5c, 0xb1, 0xfc, 0xa6, 0x14, 0xa5, 0x64, 0x59, 0x90, 0xc6, 0xf5, 0xb8, 0x40, 0xb3, 0xfb, 0x11, 0xe9, 0x93, 0xf2, 0x8a, 0xf6, 0x51, 0x12, 0x9e, 0xc8, 0x60, 0xff, 0x90, 0xfc, 0x11, 0xc4, 0xd1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x97, 0xd8, 0x1f, 0xa, 0x79, 0xbf, 0xb8, 0x87, 0x1b, 0x50, 0xf7, 0x33, 0xd1, 0xd5, 0xc4, 0x27, 0xf9, 0x81, 0xc3, 0x8d, 0x3b, 0x78, 0x47, 0x38, 0xc9, 0x50, 0xf0, 0x9b, 0x91, 0xc1, 0xe7, 0xf3}}
 	return a, nil
 }
 
@@ -526,7 +526,7 @@ func scriptsSwitchboardGet_vault_types_and_addressCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x5d\x6f\xdb\x38\x10\x7c\xd7\xaf\xd8\xd3\x01\x86\x84\x4b\xe9\xf4\x23\xb9\xd6\xa8\x1b\xf4\xda\x1a\xf7\xd0\x02\x45\xe0\xeb\x3d\x14\x45\xb0\xa6\xd6\x32\x11\x8a\x14\xc8\x95\xed\xa0\xc8\x7f\x3f\x50\x5f\x96\x1d\x9d\x51\x3e\x18\x16\x77\x76\x76\x38\x12\x47\x15\xa5\x75\x0c\x8b\xca\xe4\x6a\xa5\x69\x69\xef\xc9\x7c\x21\xc6\x0c\x19\xbf\x29\xda\x79\x58\x3b\x5b\x40\xfc\xff\x80\x38\x6a\x39\xc6\xda\xc6\x91\xe1\xe9\x96\xbc\xd5\x5b\x72\x2d\x70\xb8\xd5\xe3\x3e\xed\xb1\x28\xdb\x99\x2d\x6e\xb8\x15\x47\xd1\x74\x3a\x85\x25\x79\x86\x0d\xe9\x92\x1c\x78\xe9\x54\xc9\xc0\x16\xb6\xa8\x55\x86\x4c\xc7\x24\x9e\xdc\x96\x3c\x2c\x96\x1f\x95\x2f\x35\x3e\x00\x7a\xa0\x7d\x49\x92\x29\x0b\x64\x11\x4a\x49\xde\x27\xa8\x75\x0a\xeb\xca\x40\x81\xca\x24\x98\x65\x8e\xbc\x9f\xc1\xfb\xe6\x4f\x3a\x83\xbf\xac\xd5\xf0\x33\x02\x00\xd0\xc4\x80\x52\xda\xca\x30\xcc\x21\x27\x7e\xdf\x3c\x74\x6d\x69\xd4\xc3\xba\x51\x30\x3f\xe3\xb8\xe8\xd5\x25\x75\x63\xb7\x0c\x16\x34\xeb\x1d\xe8\x09\xa0\xf1\xe2\xe2\x08\xeb\x1f\x8a\x95\xd5\x01\xbd\x58\x9e\x94\x32\x6a\x4c\x52\xd6\xcc\x20\x5e\x6e\x94\x0f\x07\x6d\xa8\xb8\x36\x49\x79\xa8\x3c\x65\xc1\x1b\x34\x40\xed\x3c\xb6\xb5\xc9\xf0\x60\x2b\xc8\x68\x4b\xda\xd6\xff\x1d\x18\xda\x33\x2c\x96\xf0\xbb\x35\x0b\x6d\x77\xe2\x64\x1e\xed\x99\x9c\x41\xfd\xcf\xed\xe7\xd9\xf1\x37\x22\x3e\x1d\x4a\x49\xbc\x61\x2e\xfd\x6c\x3a\x6d\xe7\x3d\x5b\xb3\xb0\x66\x1d\x08\xad\xcb\xe3\xf4\x98\x54\xdb\xdc\xfa\x53\xba\x2f\x94\x29\xf4\xc9\xf7\x23\x64\x58\x23\xb0\xe4\x09\x28\xac\xb5\xd2\x74\xca\xfa\xf7\x72\xf9\x75\xa1\x34\x8d\x77\x84\x55\xb9\xe0\x74\xa7\x1f\xbd\x27\xf6\x62\x47\x2b\xaf\x98\x9e\x05\x4a\x2f\xa4\x2d\xa6\x57\xeb\xeb\x17\x6f\x5e\xc9\x4b\xf9\x27\xbe\x96\x59\x76\xfd\xea\xe5\xea\xb9\x7c\xfd\xe2\xf2\xa4\x80\x57\x57\x72\xf5\x5c\xbe\x79\x79\x7d\x17\xec\xbc\xfb\xd7\xba\xac\x40\x77\x2f\xfc\x36\x8f\x47\x35\x9c\x78\xd3\xad\x22\x9c\x73\xf9\x50\x86\x8f\x46\x15\x98\xd3\xd4\x6f\xf3\x3f\xf6\x85\x7e\xca\x92\xfe\x88\xce\x10\x7a\x2b\x15\x6a\x3f\x6b\xbf\xf7\xe1\x8a\x79\xa7\x98\xc9\xc5\xbf\xf4\x6a\x5b\x70\xed\x46\x78\xb3\x77\x2b\x6d\xe5\xbd\xdc\xa0\x32\x71\x7a\xc4\xfd\xd8\x3f\x0d\x6e\xcf\x16\x2b\xcd\x1f\x91\x11\xe6\x47\xb7\x5a\xb8\x26\x38\x3e\x58\xc3\x0e\x25\x07\x05\x49\xd8\xab\x9c\xa4\xc6\x00\xa3\xf4\x05\x6c\x15\xed\x9a\xc7\xf0\xfb\xf6\xec\x0d\xfc\xd6\xcd\x7a\x97\xa4\x29\xa0\xff\xed\xfc\x85\xed\xe1\x37\xbd\xf0\x9b\x1b\x28\xd1\x28\x99\xc4\x1f\x6c\xa5\x33\x30\x96\x43\x38\x34\xa7\x80\xd0\x5c\x0b\x82\xb5\x75\xc0\x1b\x02\xd9\xaa\x8f\x4f\x4f\x7c\x4b\x6b\x98\x77\x09\x23\x24\x96\xb8\x52\x5a\xb1\x22\x2f\x56\xd6\x39\xbb\x7b\x3b\xf9\x39\x8c\x4f\xd1\xfd\x79\x7c\x97\xf4\x96\x89\xa2\x55\xfc\x15\x79\x93\x9e\x15\xd9\x90\x02\x82\xa3\x35\x39\x32\xb2\xbe\xfb\x41\x62\x23\xdd\x75\x31\x3d\x10\x8a\x92\x2b\xd4\xe7\x63\x2d\x27\x3e\x24\x5b\x77\xb2\x31\x29\x4d\x54\x67\x96\x7c\xad\x47\x85\x17\x5d\x90\xe1\x41\x6c\x07\xe7\xba\xf9\xe1\xc2\x39\x4e\x1a\x09\xa2\x4e\x06\xa1\x98\x0a\x2f\x34\x99\x9c\x37\x30\x9f\xf7\xc1\x3b\x52\xbe\x80\x82\xbc\xc7\x3c\x5c\x93\x26\x41\xa0\xed\x2b\x94\x2f\x90\xe5\x26\x1e\x49\xf0\xcf\x36\xb7\x35\x1a\xc6\xc9\xbf\x5f\xfe\x38\x31\x67\xd8\xf1\x54\x6b\x87\x77\xc4\x95\x33\x07\xca\x10\xfa\xe1\x00\x6d\x47\xfd\x38\x99\x1c\xea\x4d\xd0\x0f\x10\xed\xc6\x64\xd2\x1b\xdb\x63\x07\xc9\x3f\x68\x18\xee\x0e\x99\x07\xb9\x2d\x2a\x37\x1c\x71\x5a\x99\x4c\xe0\xc9\xb0\xfe\xb4\x22\x04\xa0\xa8\x9c\x4a\xd2\x03\xc5\x68\x75\x30\xfc\x50\xef\x43\x6c\xac\xb9\x2f\x46\x8f\x51\xf4\x5f\x00\x00\x00\xff\xff\xe9\xee\xf1\x70\xca\x08\x00\x00"
+var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x5d\x6f\xdb\x38\x10\x7c\xd7\xaf\xd8\xd3\x01\x86\x84\x4b\xe9\xf4\x23\xb9\xd6\xa8\x1b\xf4\xcb\xb8\x87\x16\x28\x02\x5f\xef\xa1\x28\x82\x35\xb5\x96\x89\x50\xa4\x40\xae\x6c\x07\x45\xfe\xfb\x81\xfa\xb2\xec\xe8\x8c\xe3\x83\x61\x71\x67\x67\x87\x23\x71\x54\x51\x5a\xc7\xb0\xa8\x4c\xae\x56\x9a\x96\xf6\x9e\xcc\x57\x62\xcc\x90\xf1\xbb\xa2\x9d\x87\xb5\xb3\x05\xc4\xff\x0d\x88\xa3\x96\x63\xac\x6d\x1c\x19\x9e\x6e\xc9\x5b\xbd\x25\xd7\x02\x87\x5b\x3d\xee\xf3\x1e\x8b\xb2\x9d\xd9\xe2\x86\x5b\x71\x14\x4d\xa7\x53\x58\x92\x67\xd8\x90\x2e\xc9\x81\x97\x4e\x95\x0c\x6c\x61\x8b\x5a\x65\xc8\x74\x4c\xe2\xc9\x6d\xc9\xc3\x62\xf9\x49\xf9\x52\xe3\x03\xa0\x07\xda\x97\x24\x99\xb2\x40\x16\xa1\x94\xe4\x7d\x82\x5a\xa7\xb0\xae\x0c\x14\xa8\x4c\x82\x59\xe6\xc8\xfb\x19\xbc\x6f\xfe\xa4\x33\xf8\x60\xad\x86\x5f\x11\x00\x80\x26\x06\x94\xd2\x56\x86\x61\x0e\x39\xf1\xfb\xe6\xa1\x6b\x4b\xa3\x1e\xd6\x8d\x82\xf9\x19\xc7\x45\xaf\x2e\xa9\x1b\xbb\x65\xb0\xa0\x59\xef\x40\x4f\x00\x8d\x17\x17\x47\x58\xff\x50\xac\xac\x0e\xe8\xc5\xf2\xa4\x94\x51\x63\x92\xb2\x66\x06\xf1\x72\xa3\x7c\x38\x68\x43\xc5\xb5\x49\xca\x43\xe5\x29\x0b\xde\xa0\x01\x6a\xe7\xb1\xad\x4d\x86\x07\x5b\x41\x46\x5b\xd2\xb6\xfe\xef\xc0\xd0\x9e\x61\xb1\x84\xdf\xad\x59\x68\xbb\x13\x27\xf3\x68\xcf\xe4\x0c\xea\xbf\x6f\xbf\xcc\x8e\xbf\x11\xf1\xf9\x50\x4a\xe2\x0d\x73\xe9\x67\xd3\x69\x3b\xef\xd9\x9a\x85\x35\xeb\x40\x68\x5d\x1e\xa7\xc7\xa4\xda\xe6\xd6\x9f\xd2\x7d\xa5\x4c\xa1\x4f\x7e\x1c\x21\xc3\x1a\x81\x25\x4f\x40\x61\xad\x95\xa6\x53\xd6\xbf\x96\xcb\x6f\x0b\xa5\x69\xbc\x23\xac\xca\x05\xa7\x3b\xfd\xe8\x3d\xb1\x17\x3b\x5a\x79\xc5\xf4\x2c\x50\x7a\x21\x6d\x31\xbd\x5a\x5f\xbf\x78\xf3\x4a\x5e\xca\x3f\xf1\xb5\xcc\xb2\xeb\x57\x2f\x57\xcf\xe5\xeb\x17\x97\x27\x05\xbc\xba\x92\xab\xe7\xf2\xcd\xcb\xeb\xbb\x60\xe7\xdd\x3f\xd6\x65\x05\xba\x7b\xe1\xb7\x79\x3c\xaa\xe1\xc4\x9b\x6e\x15\xe1\x9c\xcb\x87\x32\x7c\x34\xaa\xc0\x9c\xa6\x7e\x9b\xff\xb1\x2f\xf4\x53\x96\xf4\x67\x74\x86\xd0\x5b\xa9\x50\xfb\x59\xfb\xbd\x0f\x57\xcc\x3b\xc5\x4c\x2e\xfe\x5f\xaf\xb6\x05\xd7\x6e\x84\x37\x7b\xb7\xd2\x56\xde\xcb\x0d\x2a\x13\xa7\x47\xdc\x8f\xfd\xd3\xe0\xf6\x6c\xb1\xd2\xfc\x09\x19\x61\x7e\x74\xab\x85\x6b\x82\xe3\xa3\x35\xec\x50\x72\x50\x90\x84\xbd\xca\x49\x6a\x0c\x30\x4a\x5f\xc0\x56\xd1\xae\x79\x0c\xbf\x6f\xcf\xde\xc0\xef\xdd\xac\x77\x49\x9a\x02\xfa\xdf\xce\x5f\xd8\x1e\x7e\xd3\x0b\xbf\xb9\x81\x12\x8d\x92\x49\xfc\xd1\x56\x3a\x03\x63\x39\x84\x43\x73\x0a\x08\xcd\xb5\x20\x58\x5b\x07\xbc\x21\x90\xad\xfa\xf8\xf4\xc4\xb7\xb4\x86\x79\x97\x30\x42\x62\x89\x2b\xa5\x15\x2b\xf2\x62\x65\x9d\xb3\xbb\xb7\x93\x5f\x47\xe2\xc4\x07\xd4\x68\x24\x3d\xbe\x4b\x7a\xcb\x44\xd1\x2a\xfe\x86\xbc\x49\xcf\x8a\x6c\x48\x01\xc1\xd1\x9a\x1c\x19\x59\xdf\xfd\x20\xb1\x91\xee\xba\x98\x1e\x08\x45\xc9\x15\xea\xf3\xb1\x96\x13\x1f\x92\xad\x3b\xd9\x98\x94\x26\xaa\x33\x4b\xbe\xd6\xa3\xc2\x8b\x2e\xc8\xf0\x20\xb6\x83\x73\xdd\xfc\x70\xe1\x1c\x27\x8d\x04\x51\x27\x83\x50\x4c\x85\x17\x9a\x4c\xce\x1b\x98\xcf\xfb\xe0\x1d\x29\x5f\x40\x41\xde\x63\x1e\xae\x49\x93\x20\xd0\xf6\x15\xca\x17\xc8\x72\x13\x8f\x24\xf8\x17\x9b\xdb\x1a\x0d\xe3\xe4\x3f\x2e\x7f\x9e\x98\x33\xec\x78\xaa\xb5\xc3\x3b\xe2\xca\x99\x03\x65\x08\xfd\x70\x80\xb6\xa3\x7e\x9c\x4c\x0e\xf5\x26\xe8\x07\x88\x76\x63\x32\xe9\x8d\xed\xb1\x83\xe4\x1f\x34\x0c\x77\x87\xcc\x83\xdc\x16\x95\x1b\x8e\x38\xad\x4c\x26\xf0\x64\x58\x7f\x5a\x11\x02\x50\x54\x4e\x25\xe9\x81\x62\xb4\x3a\x18\x7e\xa8\xf7\x21\x36\xd6\xdc\x17\xa3\xc7\x28\xfa\x37\x00\x00\xff\xff\xd6\x72\xf9\x6e\xca\x08\x00\x00"
 
 func scriptsTestExample_token_vault_display_strict_equalCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -542,7 +542,7 @@ func scriptsTestExample_token_vault_display_strict_equalCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/test/example_token_vault_display_strict_equal.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xc4, 0x1e, 0x43, 0x6, 0x4f, 0x75, 0x6a, 0x5f, 0x26, 0x57, 0x53, 0x50, 0xe7, 0xc4, 0xb, 0x81, 0x41, 0x13, 0xde, 0xe, 0xe0, 0x6a, 0x4c, 0x95, 0xa9, 0x5c, 0x4, 0x97, 0x68, 0x49, 0x75}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x24, 0xb8, 0xd3, 0x89, 0x76, 0xb4, 0x57, 0x9c, 0xe2, 0xc6, 0xef, 0xd5, 0xa9, 0xcb, 0x5c, 0x87, 0xfa, 0xac, 0x7f, 0xfc, 0x43, 0xac, 0x1, 0xc6, 0x3a, 0x17, 0xce, 0x73, 0x52, 0x58, 0x24, 0x89}}
 	return a, nil
 }
 
@@ -566,7 +566,7 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	return a, nil
 }
 
-var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x54\x4d\x6f\xdb\x30\x0c\xbd\xfb\x57\xbc\xe6\xd0\xd9\x40\x9a\xdc\x8b\xb4\xdd\x96\xb5\xc0\x0e\x03\x8a\x36\xc8\x9d\x71\x98\x46\x98\x22\x19\x12\x9d\xd4\x28\xfa\xdf\x07\xc9\x1f\xb5\x3b\x77\xdb\x65\x3e\x18\x10\xf5\x44\x3e\xbe\x47\x69\x3e\xc7\x6a\xaf\x3c\xc4\x91\xf1\x94\x8b\xb2\x06\xca\x83\x20\x7c\x28\x34\x09\x63\x67\x5d\x58\xf6\xf6\xc5\x82\xb4\xb6\xa7\x64\x3e\x07\x99\xca\x1a\x8e\xa1\xed\x16\x84\x35\x95\x5a\xe0\xd8\xdb\xd2\xe5\x31\x2e\x7b\x56\x0e\x94\xe7\xb6\x34\x02\x1f\x02\x24\xe1\xa8\xec\xb9\x42\x4e\x06\xa5\xe7\xb0\x00\x3f\xd3\xa1\xd0\xbc\xb2\x3f\xd9\x24\x89\x3a\x14\xd6\x09\xee\x4a\xf3\xa4\x36\x4d\x14\x3b\x67\x0f\x98\x0c\x62\x93\x16\x79\xdb\x3b\xde\x00\xfb\xa1\x0e\xb7\x56\x7c\x7a\x60\x6f\xf5\x91\x5d\x83\xeb\x87\x26\xa3\x95\x7f\xb0\xd0\x96\x84\x02\xd2\x8f\xd1\x18\x00\x26\x49\xd2\x17\x2c\xcd\xf0\x92\x24\x00\x50\x38\x2e\xc8\x71\xea\xd5\x93\x61\x77\x09\x2a\x65\x9f\x7e\xb5\xce\xd9\xd3\x9a\x74\xc9\x53\x7c\xf7\xbe\xe4\x47\xb1\x8e\x9e\x78\x49\x05\x6d\x94\x56\x52\x2d\xad\x11\x67\xb5\x66\x37\xc5\x7d\xb9\xd1\xca\xef\xdf\x36\xa7\x78\xa4\x23\xc7\xf3\x19\xce\xbf\xd4\x4a\x77\x25\xc3\xa7\x59\x70\x0c\xce\x7c\x23\x21\x5c\x0d\xa4\x9a\xb9\xba\xf1\x58\x82\x72\x09\x0d\xa4\xad\x81\xab\xaa\xe0\x4b\x18\xa5\xa7\x38\x2a\x3e\xd5\xcb\xf0\x5f\x7c\xdc\xfc\xec\x6e\xb5\x6e\x6b\x5d\xa7\x59\x06\xf2\x67\x7f\x10\xb3\x0f\xbf\xe9\x18\x87\xef\xe6\x06\x05\x19\x95\xa7\x03\x7f\xb0\xb5\xec\x61\x6c\x3d\x65\xfa\xc8\xe8\x25\x88\x2c\x27\xd9\x5b\xe7\xf3\x39\x1e\x58\x4a\x67\xc0\xe4\x74\x05\xb5\x8b\xa3\xd6\x8e\x23\x69\xc7\xb4\xad\xe0\xc5\x3a\x0e\x63\x3f\x18\xa2\x98\xb6\x4b\xa5\x76\xa8\x6d\x9b\xf9\xda\x9e\xd9\x26\x1a\xb7\x38\x1f\xc8\x19\x0f\x5d\xa7\x61\x44\x2e\xdf\x44\x6f\xcf\xdc\x93\xec\x33\x9c\x5d\x05\x4d\xf1\x32\x68\xd7\x45\x9e\x5d\xe8\x75\xc4\x3e\x2c\x2e\x86\xde\xe5\x8e\x49\xf8\xf6\x50\x48\x15\xeb\xa6\x11\xd6\xb3\xe9\xf3\x18\xb7\x6c\x28\xd0\x32\x26\x01\xc1\xf0\x69\x44\x00\x90\xd9\xa2\x28\x05\x4a\xa0\x0c\x9a\x46\xba\x04\xef\x34\xf1\x74\xe4\x74\x71\x11\x79\x4c\x21\xf6\x23\x0d\xc6\x19\x14\x61\xb6\x73\xe4\xdd\x6c\x37\x2f\x48\xc3\x24\x3c\x1d\xe0\xe7\xc2\x7a\xf6\xbd\xb0\x32\xc2\x6e\x47\x39\xfb\xdf\x25\x5b\x52\x81\xab\x96\x64\x97\x57\xb1\xef\x18\xab\x70\xe3\xc6\x4d\x1c\xf8\x33\xda\x47\x87\xc8\xde\x0b\x32\xa8\x55\xd4\x77\x36\x6d\x29\x4d\x41\xd2\x57\xe6\xd0\xdc\x88\xbf\x4b\xb3\x1c\x97\xe6\x93\xc7\x03\xe7\xac\xe2\x9b\x56\x9a\xf8\xee\x50\x40\x0d\x14\x71\x0d\xe4\x9f\x45\x79\x19\xdc\xdb\x59\x5b\xe2\xf5\x3f\x48\xd3\xe3\xf6\x5e\x9d\x76\xab\x56\xa7\xbe\x1c\xaf\xc9\xaf\x00\x00\x00\xff\xff\xb2\xa9\x11\x07\xbb\x06\x00\x00"
+var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x94\x4f\x6f\xdb\x3c\x0c\xc6\xef\xfe\x14\x4f\x73\xe8\x6b\x03\x69\x72\x2f\xd2\xf6\x5d\xb3\x16\xd8\x61\x40\xd1\x06\xb9\x33\x0e\xd3\x08\x53\x24\x43\xa2\x93\x1a\x45\xbf\xfb\x20\xf9\x4f\xed\xce\xdd\x80\x01\xf3\xc1\x80\x28\x8a\x7c\xf8\x23\xa5\xf9\x1c\xab\xbd\xf2\x10\x47\xc6\x53\x2e\xca\x1a\x28\x0f\x82\xf0\xa1\xd0\x24\x8c\x9d\x75\x61\xd9\xdb\x17\x0b\xd2\xda\x9e\x92\xf9\x1c\x64\x2a\x6b\x38\x9a\xb6\x5b\x10\xd6\x54\x6a\x81\x63\x6f\x4b\x97\x47\xbb\xec\x59\x39\x50\x9e\xdb\xd2\x08\x7c\x30\x90\x84\xa3\xb2\xe7\x0a\x39\x19\x94\x9e\xc3\x02\xfc\x42\x87\x42\xf3\xca\xfe\x60\x93\x24\xea\x50\x58\x27\xb8\x2f\xcd\xb3\xda\x34\x56\xec\x9c\x3d\x60\x32\xb0\x4d\x5a\xcf\xbb\xde\xf1\xc6\xb1\x6f\xea\xfc\xd6\x8a\x4f\x8f\xec\xad\x3e\xb2\x6b\xfc\xfa\xa6\xc9\x68\xe6\xef\x2c\xb4\x25\xa1\xe0\xe9\xc7\x64\x0c\x1c\x26\x49\xd2\x07\x96\x66\x78\x4d\x12\x00\x28\x1c\x17\xe4\x38\xf5\xea\xd9\xb0\xbb\x04\x95\xb2\x4f\x6f\xad\x73\xf6\xb4\x26\x5d\xf2\x14\xdf\xbc\x2f\xf9\x49\xac\xa3\x67\x5e\x52\x41\x1b\xa5\x95\x54\x4b\x6b\xc4\x59\xad\xd9\x4d\xf1\x50\x6e\xb4\xf2\xfb\xf7\xcd\x29\x9e\xe8\xc8\xf1\x7c\x86\xf3\x2f\x35\xe9\x2e\x65\xf8\x34\x0b\x8e\xa1\x33\x5f\x49\x08\x57\x03\x54\x33\x57\x17\x1e\x53\x50\x2e\xa1\x80\xb4\x6d\xe0\xaa\x2a\xf8\x12\x46\xe9\x29\x8e\x8a\x4f\xf5\x32\xfc\x17\x9f\x17\x3f\xbb\x5f\xad\xdb\x5c\xd7\x69\x96\x81\xfc\xd9\x6f\x60\xf6\xdd\x6f\x3a\xc5\xe1\xbb\xb9\x41\x41\x46\xe5\xe9\xa0\x3f\xd8\x5a\xf6\x30\xb6\x9e\x32\x7d\x64\xf4\x02\x44\x95\x93\xec\xbd\xf2\xf9\x1c\x8f\x2c\xa5\x33\x60\x72\xba\x82\xda\xc5\x51\x6b\xc7\x91\xb4\x63\xda\x56\xf0\x62\x1d\x87\xb1\x1f\x0c\x51\x0c\xdb\x85\x52\x3b\xd4\x6d\x9b\xf9\xba\x3d\xb3\x4d\x6c\xdc\xe2\x7c\x80\x33\x1e\xba\x4e\xc3\x88\x5c\xbe\x43\x6f\xcf\x3c\x90\xec\x33\x9c\x5d\x05\xa6\x78\x1d\x94\xeb\xa2\xce\xce\xf4\x36\xd2\x3e\x2c\x2e\x86\xbd\xcb\x1d\x93\xf0\xdd\xa1\x90\x2a\xe6\x4d\xa3\x5b\xaf\x4d\xff\x8f\x69\xcb\x86\x80\x96\x31\x08\x08\x86\x4f\x23\x00\x40\x66\x8b\xa2\x14\x28\x81\x32\x68\x0a\xe9\x02\x7c\x60\xe2\xe9\xc8\xe9\xe2\x22\xea\x98\x42\xec\x67\x0c\xc6\x15\x14\x61\xb6\x73\xe4\xdd\x6c\x37\x2f\x48\xa3\x24\x3c\x1d\xe0\x97\xc2\x7a\xf6\x3d\xb3\x32\xc2\x6e\x47\x39\xfb\x5f\x91\x2d\xa9\xc0\x55\x2b\xb2\x8b\xab\xd8\x77\x8a\x55\xb8\x71\x8b\xf3\xd7\xc1\x88\xce\x6e\x49\x93\xc9\xf9\xed\x3a\x1d\x34\x69\xb4\x98\xce\x23\xfb\x48\x65\x90\xb0\xa8\x2f\x6e\xda\xea\x9a\x82\xa4\x8f\xe7\xd0\x5c\x8b\x3f\xf3\x59\x8e\xf3\xf9\xcf\xe3\x91\x73\x56\xf1\x61\x2b\x4d\x7c\x7c\x28\x78\x0d\xb0\xb8\xc6\xe5\x6f\xc9\xb4\x29\xfe\x05\x9a\x9e\xb6\x8f\x74\xda\xad\x9a\x4e\x7d\x43\xde\x92\x9f\x01\x00\x00\xff\xff\xaa\x1b\x52\x89\xc0\x06\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -582,11 +582,11 @@ func setup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5c, 0x5a, 0xe6, 0x82, 0xc, 0x47, 0x7c, 0xaf, 0x47, 0x7f, 0xb3, 0xb9, 0xcb, 0x6b, 0x64, 0xbb, 0x2a, 0x83, 0xff, 0x63, 0x0, 0xe5, 0x59, 0x37, 0x5f, 0x9c, 0x4e, 0x76, 0x28, 0xb, 0x6d, 0xc4}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x30, 0xc4, 0x81, 0xb9, 0xd2, 0xa2, 0x3c, 0x67, 0xf4, 0x73, 0x77, 0x1, 0xa3, 0x30, 0x6a, 0x32, 0xa5, 0xd5, 0xb7, 0xd8, 0x48, 0xca, 0x8c, 0x17, 0x56, 0x24, 0xa3, 0xe3, 0x21, 0x3f, 0x60, 0x79}}
 	return a, nil
 }
 
-var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\x0c\x7c\x70\xa5\xc0\x95\xef\x46\x92\xed\xd6\xdd\x2d\x7a\x68\xb1\xd8\xa4\xb9\x8f\xa9\xb1\x45\xac\x4c\x0a\x24\x65\xc7\x08\xf2\xdf\x0b\x52\x5f\xa4\x4d\x25\x4e\xba\x88\x0e\x89\x2c\x71\x66\xde\xbc\x19\xce\x13\xf9\xae\x92\xca\xc0\xd7\x5a\x6c\xf9\xba\xa4\x7b\xf9\x83\x04\x6c\x94\xdc\xc1\x34\x78\x36\x9d\xc4\x56\xde\x1d\xb8\x61\xc5\x5a\xa2\xca\x63\x46\xde\xeb\xde\xfe\xcb\x23\xee\xaa\x30\x90\xff\x28\x1e\xe7\x6f\x32\x98\xa3\xc1\x07\x4e\x07\x1d\x8b\x14\x2c\x98\x4e\x26\x8b\xc5\x02\xee\x0b\xae\xc1\x28\x14\x1a\x99\xe1\x52\x00\xd7\x80\x60\x68\x57\x95\x68\x08\x36\x52\xd9\x9f\xde\x7b\x53\xa0\x01\x26\xeb\x32\x87\x35\x41\xad\x29\x87\xf5\x11\x50\x1c\xa5\x20\x30\x12\x30\xcf\x01\x41\xd0\x01\x36\x6d\x6c\x30\x2e\x8d\x3d\xd6\xa5\x71\x31\x19\x56\xb8\xe6\x25\x37\x47\x6b\x60\x0a\xe2\x0a\xb4\x47\x92\x22\x2d\x6b\xc5\xc8\x2e\x9e\xf8\xb1\x9f\x26\x13\x00\x80\x92\x0c\x90\x47\xc7\x83\xf5\xbc\xea\x9d\x2e\x61\xb8\xbf\x9e\x3d\x05\x14\x64\xdf\x89\x11\xdf\x93\x7a\xbe\xed\x5d\x79\xa1\xbf\xd3\x66\x09\x30\x1b\xab\x4f\xe6\xdd\x37\x50\x2a\x45\x15\x2a\x4a\x34\xdf\x0a\x52\x4b\xc0\xda\x14\xc9\xef\x52\x29\x79\x78\xc0\xb2\xa6\x39\xfc\xa5\x75\x4d\x77\x46\x2a\xdc\xd2\x80\x6b\x25\x85\x51\xb2\x2c\x49\xcd\xe1\x5b\xbd\x2e\xb9\x2e\x86\x97\x73\xb8\xc3\x3d\xb5\xf6\xff\x8a\xea\xf4\x7d\x0a\xb3\xcf\x8c\xc9\x5a\x98\xb4\xa3\xa4\xcb\xc5\x91\xfc\x07\x1a\x84\x9b\xa0\x89\x32\xcb\x69\xb9\x27\x17\x17\x99\xb1\x2d\x90\x74\x3c\xdf\x1f\x2b\x5a\x82\xe0\xe5\x1c\xf6\x9c\x0e\xcd\x4f\xfb\xf7\x7a\xbc\x7d\xb2\xaf\xf7\x0f\x5d\xac\xdb\x24\x4d\x7b\x14\xf6\xfa\xf4\x09\x2a\x14\x9c\x25\xd3\x95\x6b\x14\x21\x0d\x6c\x3b\x74\x60\x7d\xb8\x40\xae\xbb\x4c\x41\xc0\x5a\x54\xd3\x74\xc8\x66\x71\x15\xee\x02\x17\xcd\xae\xdc\xf0\x6d\xad\xd0\xf5\xc3\xd5\x62\x58\xee\xdf\xc2\xaa\x5d\x46\x80\x22\xe6\x86\x6f\x40\x10\xe5\x94\xf7\x46\x7c\x03\x4d\x0d\x33\xdd\xd4\x2a\x5b\xbb\x2a\x5e\xcf\x02\x1a\x9d\xf9\x6d\x62\x37\xd7\x72\x20\xbb\xb3\xf9\x86\xa6\x48\xe1\xe6\xc6\x72\x09\x4f\x01\x25\x16\x94\x22\xbb\xa5\x9a\xcd\x11\x01\x85\x22\x07\x8d\x7b\x02\x6e\x80\x0b\x68\x7d\x06\x5e\x4e\x20\xda\xd5\xc9\xf5\xaf\x01\x42\xe6\xa2\x7c\xd9\x55\xe6\xe8\xdc\x26\x0e\xa5\x57\xd3\xdf\x62\x09\xa5\xe9\x1c\x8c\x1c\x4b\xe9\x2c\x93\x92\x50\x01\x3d\x72\x6d\xb8\xd8\x0e\xdb\x8d\x93\x06\x3b\x1d\x50\x48\xc1\x19\x96\x50\xa1\x29\x74\x2c\x03\xe6\x99\x64\x75\xd7\xe2\xc9\x10\x7e\xd7\x36\xdb\x79\xfc\x4b\x3d\xa8\x76\xa7\x47\x33\x70\xbb\xb2\xe5\x7d\x06\xdd\x50\x08\x32\x09\x4c\xfa\xbd\xb5\xc2\x0a\x6e\xa2\x18\xba\xa2\x70\xeb\x3a\xde\x36\x17\xb0\x6b\x03\x75\xc8\x2f\x8e\x35\x3a\xe3\x2e\x89\xb8\x58\x74\x13\x68\x3c\xfd\x18\x86\x80\xf1\x15\x56\x73\x40\xe3\x37\xd0\xdb\x2a\xd8\x79\xf3\x72\x3f\x75\x18\x2f\xe8\x73\x7f\xe7\x0f\x80\x3f\xc9\xb8\xc9\xd2\xca\x84\x2f\x41\xbe\xfc\x38\x91\xb4\xeb\x1a\x48\xbf\x68\xc0\x66\xb0\xf6\xbe\x34\x95\x9b\xec\x05\xb1\x19\x29\xd0\x96\xcc\x4b\x65\x09\xe8\xb0\x57\x3c\xcb\x60\x59\xea\x8d\xd5\x3b\x17\x12\x72\x49\xda\x0d\xd7\xc2\x8e\x0d\xec\x86\x0a\x34\x53\xa5\xf3\xe4\x25\x3c\x4d\xa3\x6c\xad\x0a\x62\x3f\xec\x08\xb4\x54\x44\xcc\x9a\xad\x3e\xb4\x04\x6a\x4d\xca\x84\x59\xbc\x46\x54\xc6\x6c\x90\x24\x9d\x43\x60\xb6\x23\xad\x71\x4b\x4b\x78\x7f\x4e\xbd\xbf\x58\x72\x57\xe0\x7f\x7e\x69\x32\x75\x75\x89\x6c\xf8\x4a\xff\x26\xb5\xb8\xe4\xd3\xa1\xd3\x8f\xf1\xb5\x6f\x96\x13\x1f\xee\xbb\x75\x64\x14\x4f\xa3\x29\xde\x93\xa4\x95\x8b\x8b\x32\xf8\x30\xf5\x18\x45\xd3\xed\x3c\x37\xe7\xd8\x5b\x25\x65\xd4\xed\x98\xbb\x5e\x5f\x7a\x5d\x99\x05\x05\x7a\x51\x65\x7e\xe2\xf0\x3f\x9b\x32\xf6\xba\xa4\x64\x67\x86\xe7\x1a\xe5\x7d\x34\x37\x34\xbc\x13\xef\xc8\x16\x69\x7c\xce\xe1\xc3\x73\xfb\xbf\x6a\x78\xa6\x5f\x3f\xb5\x29\xbb\x28\x31\xf6\x5f\x09\x17\x0b\xf3\x7c\x2a\x99\x08\x8a\x36\xa4\x48\x30\x6a\x8f\x66\x2d\x0c\xed\x17\x3c\x14\xc7\xf0\xf8\x34\xf4\xc0\xfb\x26\xe3\x59\x79\x2e\x1f\x95\xa3\x6a\x39\x1c\x42\x1a\x2c\x61\x92\x1e\xfe\x56\x1e\x27\x0d\x37\xee\x1f\x3d\x12\xab\x0d\xf9\xe7\xac\xc5\x02\x3e\xe7\x79\x73\x70\x39\x3d\xc9\x06\xe7\xd8\x5a\xdb\xf9\x86\x79\xfe\x0f\x1d\x9a\x4f\xcd\x1d\x99\x42\xbe\xc8\x5f\xe6\x2d\x4f\x98\x77\xa6\x7d\x4d\x5f\x43\xe8\xcf\x93\xff\x02\x00\x00\xff\xff\x0a\xba\x49\x9b\xb4\x10\x00\x00"
+var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xdb\x38\x10\xbd\xfb\x57\x0c\x7c\xf0\x4a\x81\x57\xbe\x1b\x49\xba\xad\xb7\x5d\xec\x61\x17\x45\x93\xcd\x7d\x4c\x8d\x2c\xa2\x32\x29\x90\x94\x1d\x23\xf0\x7f\x5f\x90\xfa\x22\x6d\x29\x71\xdc\xa2\x3a\x24\xb2\xc4\x99\x79\xf3\x66\x38\x4f\xe4\xdb\x52\x2a\x03\x5f\x2a\xb1\xe1\xeb\x82\x1e\xe5\x77\x12\x90\x29\xb9\x85\x69\xf0\x6c\x3a\x19\x5a\xf9\xb0\xe7\x86\xe5\x6b\x89\x2a\x1d\x32\xf2\x5e\x77\xf6\x9f\x9f\x71\x5b\x86\x81\xfc\x47\xc3\x71\xfe\x21\x83\x29\x1a\x7c\xe2\xb4\xd7\x43\x91\x82\x05\xd3\xc9\x64\xb1\x58\xc0\x63\xce\x35\x18\x85\x42\x23\x33\x5c\x0a\xe0\x1a\x10\x0c\x6d\xcb\x02\x0d\x41\x26\x95\xfd\xe9\xbd\x37\x39\x1a\x60\xb2\x2a\x52\x58\x13\x54\x9a\x52\x58\x1f\x00\xc5\x41\x0a\x02\x23\x01\xd3\x14\x10\x04\xed\x21\x6b\x62\x83\x71\x69\xec\xb0\x2a\x8c\x8b\xc9\xb0\xc4\x35\x2f\xb8\x39\x58\x03\x93\x13\x57\xa0\x3d\x92\x14\x69\x59\x29\x46\x76\xf1\xc4\x8f\xfd\x32\x99\x00\x00\x14\x64\x80\x3c\x3a\x9e\xac\xe7\x55\xe7\x74\x09\xfd\xfd\xed\xec\x25\xa0\x20\xf9\x46\x8c\xf8\x8e\xd4\xf1\xbe\x73\xe5\x85\xfe\x46\xd9\x12\x60\x36\x56\x9f\xc4\xbb\xaf\xa1\x94\x8a\x4a\x54\x14\x69\xbe\x11\xa4\x96\x80\x95\xc9\xa3\x4f\x52\x29\xb9\x7f\xc2\xa2\xa2\x39\xfc\xad\x75\x45\x0f\x46\x2a\xdc\x50\x8f\x6b\x25\x85\x51\xb2\x28\x48\xcd\xe1\x6b\xb5\x2e\xb8\xce\xfb\x97\x73\x78\xc0\x1d\x35\xf6\xff\x89\xf2\xf4\x7d\x0c\xb3\x8f\x8c\xc9\x4a\x98\xb8\xa5\xa4\xcd\xc5\x91\xfc\x27\x1a\x84\xbb\xa0\x89\x12\xcb\x69\xb1\x23\x17\x17\x99\xb1\x2d\x10\xb5\x3c\x3f\x1e\x4a\x5a\x82\xe0\xc5\x1c\x76\x9c\xf6\xf5\x4f\xfb\xf7\x76\xbc\x7d\x92\x2f\x8f\x4f\x6d\xac\xfb\x28\x8e\x3b\x14\xf6\xfa\xf0\x01\x4a\x14\x9c\x45\xd3\x95\x6b\x14\x21\x0d\x6c\x5a\x74\x60\x7d\xb8\x40\xae\xbb\x4c\x4e\xc0\x1a\x54\xd3\xb8\xcf\x66\x71\x13\xee\x02\x17\xcd\xae\xcc\xf8\xa6\x52\xe8\xfa\xe1\x66\xd1\x2f\xf7\x6f\x61\xd5\x2c\x23\x40\x31\xe4\x86\x67\x20\x88\x52\x4a\x3b\x23\x9e\x41\x5d\xc3\x44\xd7\xb5\x4a\xd6\xae\x8a\xb7\xb3\x80\x46\x67\x7e\x1f\xd9\xcd\xb5\xec\xc9\x6e\x6d\xbe\xa2\xc9\x63\xb8\xbb\xb3\x5c\xc2\x4b\x40\x89\x05\xa5\xc8\x6e\xa9\x7a\x73\x0c\x80\x42\x91\x82\xc6\x1d\x01\x37\xc0\x05\x34\x3e\x03\x2f\x27\x10\xed\xea\xe8\xf6\xf7\x00\x21\x73\x51\x3e\x6f\x4b\x73\x70\x6e\x23\x87\xd2\xab\xe9\x1f\x43\x09\xc5\xf1\x1c\x8c\x1c\x4b\xe9\x2c\x93\x82\x50\x01\x3d\x73\x6d\xb8\xd8\xf4\xdb\x8d\x93\x06\x3b\x1d\x50\x48\xc1\x19\x16\x50\xa2\xc9\xf5\x50\x06\xcc\x33\x49\xaa\xb6\xc5\xa3\x3e\xfc\xb6\x69\xb6\xf3\xf8\x97\x7a\x50\xcd\x4e\x1f\xcc\xc0\xed\xca\x86\xf7\x19\xb4\x43\x21\xc8\x24\x30\xe9\xf6\xd6\x0a\x4b\xb8\x1b\xc4\xd0\x16\x85\x5b\xd7\x67\x73\xe7\x13\x16\x28\x18\x1d\xef\xa3\x0b\x28\xb6\xd1\x5a\xf8\xd7\x06\xec\x07\xdd\x25\x11\x17\x8b\x76\x0c\x8d\x73\x30\x84\x21\xa0\x7d\x85\xe5\x1c\xd0\xf8\x5d\xf4\xbe\x32\xb6\xde\xbc\xdc\x4f\x1d\x0e\x57\xf5\xd8\xdd\xf9\x53\xe0\x2f\x32\x6e\xbc\x34\x5a\xe1\xeb\x90\xaf\x41\x4e\x29\xed\xba\x1a\xd2\x6f\x1a\xb0\x9e\xae\x9d\x2f\x4d\x45\x96\xbc\xa2\x38\x23\x05\xda\x90\x79\xad\x2c\x01\x1d\xf6\x1a\xce\x32\x58\x16\x7b\xb3\xf5\xc1\x85\x84\x54\x92\x76\x13\x36\xb7\xb3\x03\xdb\xc9\x02\xf5\x68\x69\x3d\x79\x09\x4f\xe3\x41\xb6\x56\x39\xb1\xef\x76\x0e\x5a\x2a\x06\xcc\xea\xfd\xde\xb7\x04\x6a\x4d\xca\x84\x59\xbc\x45\x54\xc2\x6c\x90\x28\x9e\x43\x60\xb6\x25\xad\x71\x43\x4b\xb8\x3e\xa7\xce\xdf\x50\x72\x37\xe0\x7f\x83\x69\x32\x55\x79\x89\x76\xf8\x72\xff\x2e\xc9\xb8\xe4\xfb\xa1\x15\x91\xf1\xb5\xef\xd6\x14\x1f\xee\xd5\x62\x32\x8a\xa7\x16\x16\xef\x49\xd4\x68\xc6\x45\x19\xfc\x32\x09\x19\x45\xd3\xee\x3c\x37\xe7\xd8\x7b\x75\x65\xd4\xed\x98\xbb\x4e\x64\x3a\x71\x99\x05\x05\x7a\x55\x6a\x7e\xe2\xf0\x3f\x9b\x32\xf6\xba\xa4\x64\x67\x86\xe7\x1a\xe5\x7d\x39\xd7\x34\x5c\x89\x77\x64\x8b\xd4\x3e\xe7\xf0\xcb\x73\xfb\x51\x35\x3c\xd3\xaf\x9f\xda\x94\x6d\x94\x21\xf6\xdf\x08\x37\x14\xe6\x78\x2a\x99\x08\x8a\x32\x52\x24\x18\x35\xe7\xb3\x06\x86\xf6\x0b\x1e\x8a\x63\x78\x86\xea\x7b\xe0\xba\xc9\x78\x56\x9e\xcb\x47\xe5\xa8\x5a\xf6\x27\x91\x1a\x4b\x98\xa4\x87\xbf\x91\xc7\x49\xcd\x8d\xfb\x47\xcf\xc4\x2a\x43\xfe\x61\x6b\xb1\x80\x8f\x69\x5a\x9f\x5e\x4e\x8f\xb3\xc1\x61\xb6\xd2\x76\xbe\x61\x9a\xfe\x4b\xfb\xfa\x7b\x73\x4b\x26\x97\xaf\xf2\x97\x78\xcb\x23\xe6\x1d\x6c\xdf\xd2\xd7\x10\xfa\x71\xf2\x7f\x00\x00\x00\xff\xff\x7f\x23\x7a\x17\xb9\x10\x00\x00"
 
 func switchboardAdd_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -602,7 +602,7 @@ func switchboardAdd_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0x71, 0x2, 0x32, 0x3d, 0x50, 0x61, 0x71, 0x22, 0x3e, 0x38, 0x31, 0x2a, 0x60, 0xb3, 0xf5, 0x75, 0x25, 0x24, 0x9b, 0x84, 0x73, 0x7a, 0xfd, 0xe4, 0xfe, 0x47, 0x41, 0xd, 0xee, 0x63, 0xa8}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x84, 0x71, 0xd2, 0xa1, 0x52, 0xd1, 0x47, 0xc2, 0xe0, 0x23, 0x38, 0x53, 0x30, 0x6b, 0xdf, 0x15, 0xea, 0x94, 0x34, 0x56, 0xb5, 0x9f, 0x47, 0xec, 0xb6, 0x76, 0xb5, 0x3c, 0x56, 0xbd, 0xd2, 0x42}}
 	return a, nil
 }
 
diff --git a/tests/scripts/get_unsupported_view.cdc b/tests/scripts/get_unsupported_view.cdc
index 8f23de61..84a48cca 100644
--- a/tests/scripts/get_unsupported_view.cdc
+++ b/tests/scripts/get_unsupported_view.cdc
@@ -11,7 +11,7 @@ access(all) fun main(address: Address, type: Type): AnyStruct? {
 
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
     
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
         ?? panic("Could not borrow Balance reference to the Vault")
 
     return vaultRef.resolveView(type)
diff --git a/tests/scripts/get_vault_display.cdc b/tests/scripts/get_vault_display.cdc
index 9276a74a..0cc48ed2 100644
--- a/tests/scripts/get_vault_display.cdc
+++ b/tests/scripts/get_vault_display.cdc
@@ -12,7 +12,7 @@ access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
     
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
         ?? panic("Could not borrow Balance reference to the Vault")
 
     let ftDisplay = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/tests/scripts/get_views.cdc b/tests/scripts/get_views.cdc
index ab741025..3ccfa76d 100644
--- a/tests/scripts/get_views.cdc
+++ b/tests/scripts/get_views.cdc
@@ -12,7 +12,7 @@ access(all) fun main(address: Address): [Type] {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
     
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
         ?? panic("Could not borrow Balance reference to the Vault")
 
     return vaultRef.getViews()
diff --git a/transactions/create_forwarder.cdc b/transactions/create_forwarder.cdc
index d1926f33..960a4eb3 100644
--- a/transactions/create_forwarder.cdc
+++ b/transactions/create_forwarder.cdc
@@ -35,7 +35,7 @@ transaction(receiver: Address) {
         let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
     
-        let vaultRef = signer.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath)
+        let vaultRef = signer.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
             ?? panic("Could not borrow Balance reference to the Vault")
 
         // Get the receiver capability for the account being forwarded to
diff --git a/transactions/metadata/setup_account_from_vault_reference.cdc b/transactions/metadata/setup_account_from_vault_reference.cdc
index 6dd7e15f..272a9283 100644
--- a/transactions/metadata/setup_account_from_vault_reference.cdc
+++ b/transactions/metadata/setup_account_from_vault_reference.cdc
@@ -28,7 +28,7 @@ transaction(address: Address, publicPath: PublicPath) {
         signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)
         
         // Create a public capability for the vault which includes the .Resolver interface
-        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)
+        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance}>(ftVaultData.storagePath)
         signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)
 
         // Create a public capability for the vault exposing the receiver interface
diff --git a/transactions/scripts/get_balance.cdc b/transactions/scripts/get_balance.cdc
index 4db1ffb0..d0901bda 100644
--- a/transactions/scripts/get_balance.cdc
+++ b/transactions/scripts/get_balance.cdc
@@ -9,7 +9,7 @@ access(all) fun main(address: Address): UFix64 {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    return getAccount(address).capabilities.borrow<&{FungibleToken.Vault}>(
+    return getAccount(address).capabilities.borrow<&{FungibleToken.Balance}>(
             vaultData.metadataPath
         )?.balance
         ?? panic("Could not borrow Balance reference to the Vault")
diff --git a/transactions/scripts/metadata/get_token_metadata.cdc b/transactions/scripts/metadata/get_token_metadata.cdc
index b96831a0..59fdf9d9 100644
--- a/transactions/scripts/metadata/get_token_metadata.cdc
+++ b/transactions/scripts/metadata/get_token_metadata.cdc
@@ -1,5 +1,6 @@
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import FungibleToken from "FungibleToken"
 import ViewResolver from "ViewResolver"
 
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTView {
@@ -8,7 +9,7 @@ access(all) fun main(address: Address): FungibleTokenMetadataViews.FTView {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftView = FungibleTokenMetadataViews.getFTView(viewResolver: vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_data.cdc b/transactions/scripts/metadata/get_vault_data.cdc
index 98daa670..2849ba64 100644
--- a/transactions/scripts/metadata/get_vault_data.cdc
+++ b/transactions/scripts/metadata/get_vault_data.cdc
@@ -1,5 +1,6 @@
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import FungibleToken from "FungibleToken"
 import ViewResolver from "ViewResolver"
 
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTVaultData {
@@ -8,7 +9,7 @@ access(all) fun main(address: Address): FungibleTokenMetadataViews.FTVaultData {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let vaultData = FungibleTokenMetadataViews.getFTVaultData(vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_display.cdc b/transactions/scripts/metadata/get_vault_display.cdc
index 729d5956..29f8620e 100644
--- a/transactions/scripts/metadata/get_vault_display.cdc
+++ b/transactions/scripts/metadata/get_vault_display.cdc
@@ -1,5 +1,6 @@
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import FungibleToken from "FungibleToken"
 import ViewResolver from "ViewResolver"
 
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
@@ -8,7 +9,7 @@ access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftDisplay = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_supply_view.cdc b/transactions/scripts/metadata/get_vault_supply_view.cdc
index 026d6ad0..0b8e41ac 100644
--- a/transactions/scripts/metadata/get_vault_supply_view.cdc
+++ b/transactions/scripts/metadata/get_vault_supply_view.cdc
@@ -1,5 +1,6 @@
 import ExampleToken from "ExampleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import FungibleToken from "FungibleToken"
 import ViewResolver from "ViewResolver"
 
 /// Gets the total supply of the vault's token directly from the vault
@@ -10,7 +11,7 @@ access(all) fun main(address: Address): UFix64 {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftSupply = vaultRef.resolveView(Type<FungibleTokenMetadataViews.TotalSupply>())!
diff --git a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
index daf42b23..2a611334 100644
--- a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
+++ b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
@@ -29,7 +29,7 @@ access(all) fun main(address: Address): Bool {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let actual = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/transactions/setup_account.cdc b/transactions/setup_account.cdc
index 6bfcaa35..a837659d 100644
--- a/transactions/setup_account.cdc
+++ b/transactions/setup_account.cdc
@@ -25,7 +25,7 @@ transaction () {
         signer.storage.save(<-vault, to: vaultData.storagePath)
 
         // Create a public capability to the Vault that exposes the Vault interfaces
-        let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(
+        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance}>(
             vaultData.storagePath
         )
         signer.capabilities.publish(vaultCap, at: vaultData.metadataPath)
diff --git a/transactions/switchboard/add_vault_capability.cdc b/transactions/switchboard/add_vault_capability.cdc
index 5b3abcf2..05724eb1 100644
--- a/transactions/switchboard/add_vault_capability.cdc
+++ b/transactions/switchboard/add_vault_capability.cdc
@@ -26,7 +26,7 @@ transaction {
             signer.capabilities.unpublish(vaultData.metadataPath)
             signer.capabilities.unpublish(vaultData.receiverPath)
             // Issue Vault & Receiver Capabilities
-            let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(vaultData.storagePath)
+            let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance}>(vaultData.storagePath)
             let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(vaultData.storagePath)
             // Publish Capabilities
             signer.capabilities.publish(vaultCap, at: vaultData.metadataPath)

From 4670592eba7cebe77184293aadca64a36873041a Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Thu, 1 Feb 2024 13:15:27 -0600
Subject: [PATCH 091/115] use Balance and FungibleToken.Vault as public
 interfaces

---
 contracts/ExampleToken.cdc                    |  6 ++---
 lib/go/contracts/internal/assets/assets.go    |  6 ++---
 lib/go/templates/internal/assets/assets.go    | 24 +++++++++----------
 .../setup_account_from_vault_reference.cdc    |  2 +-
 .../setup_and_create_forwarder.cdc            |  2 +-
 transactions/setup_account.cdc                |  2 +-
 .../switchboard/add_vault_capability.cdc      |  2 +-
 7 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 9ca13120..c27e4a01 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -15,14 +15,14 @@ access(all) contract ExampleToken: FungibleToken {
     access(all) let AdminStoragePath: StoragePath
 
     access(all) view fun getContractViews(resourceType: Type?): [Type] {
-        let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
+        let vaultRef = self.account.capabilities.borrow<&{FungibleToken.Vault}>(/public/exampleTokenVault)
             ?? panic("Could not borrow a reference to the vault resolver")
         
         return vaultRef.getViews()
     }
 
     access(all) fun resolveContractView(resourceType: Type?, viewType: Type): AnyStruct? {
-        let vaultRef = self.account.capabilities.borrow<&ExampleToken.Vault>(/public/exampleTokenVault)
+        let vaultRef = self.account.capabilities.borrow<&{FungibleToken.Vault}>(/public/exampleTokenVault)
             ?? panic("Could not borrow a reference to the vault resolver")
         
         return vaultRef.resolveView(viewType)
@@ -221,7 +221,7 @@ access(all) contract ExampleToken: FungibleToken {
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
         // and the `balance` method through the `Balance` interface
         //
-        let exampleTokenCap = self.account.capabilities.storage.issue<&Vault>(vault.storagePath)
+        let exampleTokenCap = self.account.capabilities.storage.issue<&{FungibleToken.Balance, FungibleToken.Vault}>(vault.storagePath)
         self.account.capabilities.publish(exampleTokenCap, at: vault.publicPath)
         let receiverCap = self.account.capabilities.storage.issue<&{FungibleToken.Receiver}>(vault.storagePath)
         self.account.capabilities.publish(receiverCap, at: vault.receiverPath)
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 9581385e..866df334 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,6 +1,6 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (10.318kB)
+// ../../../contracts/ExampleToken.cdc (10.363kB)
 // ../../../contracts/FungibleToken.cdc (10.137kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.044kB)
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x5f\x6f\xdc\x36\x12\x7f\xf7\xa7\x98\xee\x01\xbd\x5d\xd4\x5e\x3b\x6d\x92\x6b\x17\x76\x5c\x27\x8d\x71\x07\x34\x40\x90\xb8\xed\x43\x10\xc4\x5c\x69\xb4\xe2\x59\x22\x05\x92\xda\xf5\xd6\xf0\x77\x3f\xf0\x9f\x44\xea\xcf\x7a\xed\xe4\xe9\xf4\x60\xaf\x24\xce\x70\x38\xf3\x9b\xe1\xcc\x50\xb4\xac\xb8\x50\x70\x59\xb3\x15\x5d\x16\x78\xc5\x6f\x90\x41\x26\x78\x09\x93\xe8\xd9\xe4\xc0\x8d\x7c\x87\x8a\xa4\x44\x91\x3f\x29\x6e\xa4\x1b\x19\x3d\x6b\x46\x46\xf4\x43\x64\xe3\x03\x1a\x1e\xfa\xee\x03\x4a\x5e\xac\x51\x38\xaa\xf0\xd1\xe4\xe0\x80\x24\x09\x4a\x39\x25\x45\x31\x83\x84\x33\x25\x48\xa2\xe0\xed\x2d\x29\x2b\xc7\x78\xd1\x59\xdc\xdd\xc1\x01\x00\xc0\xf1\xf1\x31\x5c\xe5\x08\xb8\x46\xa6\x40\xe5\x44\x01\x95\x80\x25\x55\x0a\x53\xd8\xe4\xc8\x80\xe1\x06\x94\xa6\x91\x40\x04\x42\x49\x99\xc2\xd4\x10\x87\x93\x5a\x06\x86\xb7\x7c\x67\x86\x4c\x49\xc9\x6b\xa6\x16\xf0\xc7\x25\xbd\x7d\xf9\xfc\x10\xd4\xb6\xc2\x05\x7c\x54\x82\xb2\xd5\x2c\x98\x9e\x2b\x52\x80\xac\xab\xaa\xd8\x02\xcf\x22\xa9\x25\x50\x06\x78\x4b\xa5\x42\x96\x60\x6f\xd2\x35\x11\xa0\x34\xf9\x47\x43\xed\xa7\x6a\x79\x5f\xa4\x25\x65\xf0\x9e\xa8\xbc\x47\x5b\xa0\xb2\xaf\x3f\x2a\x2e\xc8\x0a\xf5\x20\x2d\x5d\x73\x73\xd0\x9f\x8e\xe2\x06\xb2\x9a\xc1\x0a\xd5\x1b\xa7\x64\x63\xa8\xa9\x40\xc9\x6b\x91\xe0\x95\x59\xa2\xfe\x7b\x3e\x5b\xc0\x27\xfd\xe3\x33\xdc\x19\x46\xfa\xd2\x73\xae\x49\x5d\xa8\x0f\x98\xc1\x19\x48\x2c\xb2\x39\x49\x12\xad\xa6\x79\x42\x2a\xb2\xa4\x05\x55\x14\xe5\x7c\xc9\x85\xe0\x9b\xd3\xef\x43\x5d\xcc\xff\xd4\x94\xaf\xa6\xc7\x55\xbd\x2c\x68\x72\x8c\xc1\x3b\xf3\x6a\xd6\xcc\xa3\xaf\xf3\x73\xa8\x08\xa3\xc9\x74\xf2\x86\xd7\x45\x0a\x8c\x2b\xb0\x6c\x81\x80\xc0\x0c\x85\x56\x29\x28\x0e\x2a\x47\x2b\x15\x08\x0f\xa8\x96\x55\xf3\x43\xa0\xaa\x05\x6b\xc4\x9f\xaf\xd0\xad\xdd\x8e\xbd\xef\xab\x4b\x6b\xca\x71\x0c\xb5\x35\xa4\xac\x43\xa3\xdb\xf6\xc1\x6c\x01\x17\x6c\xfb\x51\x89\x3a\x51\xe7\xff\xa7\x0a\x74\x63\x8d\x4a\xfc\xea\x23\x5d\x6a\x00\x1b\xb9\xfc\x5d\xf3\xf4\x2d\x49\x72\xa8\x25\x0a\x90\x8a\x0b\x94\x40\x18\x50\x26\x15\xd1\x02\xf1\x0c\x38\x2b\xb6\x46\x2a\x43\xae\x7d\x48\xe5\x48\xed\x68\xb2\xc2\xc8\xf3\xb3\x9a\x25\x8a\x72\xeb\x6a\x2d\x0d\x61\x29\xac\xf8\x1a\x05\xc3\x14\x96\x96\x5b\x25\xd0\x3c\xaf\xb8\x54\x3a\xca\xa4\xd4\x10\x36\xec\x28\xeb\x04\x19\x13\x3f\x54\x8e\x5b\x13\x39\x12\x52\x14\x98\xce\xa3\xd9\x93\x1c\x93\x1b\x09\x39\xa9\x2a\x64\x40\x14\x88\x9a\x29\x5a\xa2\x21\x45\x1d\xee\x48\x23\xa1\x8e\x4c\x1d\x1e\x0d\xaf\x0f\x0e\x53\x7a\x04\xb3\xeb\x5f\x22\x24\x02\x89\x8e\x63\x6e\x65\x3a\x30\xe2\xad\xd2\x1a\xf2\xb7\x26\x4e\x9a\xb0\xa7\xc5\x6c\xd8\x69\x71\x53\xcc\x28\x33\xc4\x87\x20\x8d\x91\x05\x6a\x11\x18\x87\x0d\xd9\x42\xc6\xb5\x6c\x25\x29\x68\x42\x79\x2d\xad\x39\x14\x77\x73\x5a\x2d\xb6\xaa\xe1\xb5\x9b\x96\x32\x20\x54\xcc\xe1\x02\x64\x85\x09\x25\x05\x98\x68\x29\xc0\x7b\x05\x30\xc4\x54\x6a\x4e\xcb\x56\x06\xc5\x4d\xdc\x6d\xd8\xb5\x31\x39\x56\x45\xe8\x7e\x0d\x43\x23\x4a\x27\xfe\x5b\x5f\xf0\xbb\x40\x68\x11\x13\x4f\x61\x49\x0a\x0f\x26\x95\x53\x69\x51\xdb\x8c\xed\xc6\x60\x37\x3a\x8e\xbf\x43\x03\xe5\x58\xac\x1d\x23\xb0\xae\x6a\xc7\xbf\x6f\x7e\x8f\x0e\x17\x98\x20\x5d\xa3\xe8\x11\x04\xcb\x04\xca\xa8\xa2\xa4\xa0\x7f\xa3\x81\x81\x5f\x2a\x51\xad\xca\x8c\x11\x35\xe4\x34\x16\x1b\x5a\x4d\x38\xed\xac\x75\x16\x44\x27\x7d\x99\x90\xe4\x59\x9e\x79\xe6\xd1\x10\x1d\xc4\x68\x8a\x4c\xd1\x8c\xa2\x80\x33\x98\xf4\x22\xd1\xa4\xcf\x33\x50\x1d\x9c\x85\xba\x9b\xb6\xbc\x16\x01\xdf\xd9\x77\x7d\x1e\xad\x36\xe1\x2c\xd0\xce\x23\x38\x84\x0a\x1e\xe7\x11\x2d\xe8\x83\x23\x99\x04\xfc\xee\x63\xdc\xbd\x31\x5e\x6d\xc3\x85\xf1\x77\x03\x54\x8b\x70\xed\x72\xcb\xda\x84\xa1\x35\x25\xc6\x62\xd7\xaf\xf5\xbd\x98\xeb\xc7\xd3\xd9\x35\x94\xa8\x72\x9e\x76\x41\xe1\xdd\xdb\x6e\x44\x7a\xac\x9e\x66\x49\x92\x9b\x69\xd7\x68\x34\x8b\xed\xf6\x0a\x4e\xe6\x27\x9d\x31\xfa\x8a\x76\x93\x20\xf1\x80\xb3\xf1\x57\x47\x11\xeb\x88\xe5\xfd\x2e\xe4\x9c\xcc\x4f\x86\xd4\x35\x96\x8f\xb8\xbd\x78\x20\xe9\x80\x76\xef\xf9\xd4\x5b\x91\x1e\x7c\x3a\x9e\x81\xce\x2f\xaf\xf4\xff\x57\xd3\xd9\xe1\x13\x48\x7f\xa3\xb2\x2a\xc8\xf6\x89\xd4\xc6\x11\x7e\x23\x8a\x3c\x89\xfe\xaa\x35\xc1\xab\x69\xbc\xb1\x7f\x7e\x48\xaf\x41\xe2\x62\x76\xe7\x2f\x46\xd3\xbb\x33\x13\x63\xc1\x0d\x55\x49\x6e\xcd\xd2\x07\x4f\x42\x24\xee\xaf\xef\x45\x8f\x3e\xb0\xe3\x83\x0c\xa6\x83\xd4\xfa\xca\x94\xb3\xca\xc2\x3b\x74\xbb\xce\xc7\x58\x74\x06\x44\x7e\xb7\x5b\x10\x37\xf8\xbc\x6f\xbc\x56\x98\xc6\xc8\x4f\x12\x27\x84\xc8\x1e\x02\x35\xc3\xcf\x07\x25\x9a\x3d\xd5\x64\xad\x56\x86\xad\xa6\x03\x7e\x89\x29\x25\x70\x16\x17\x8e\xf3\x77\xfa\xe9\xb8\xb1\x8c\x8e\x68\x81\x8b\x0e\xd9\xbf\xaf\xae\xde\x5f\xd2\x02\x77\x53\xd6\xa2\x58\xc0\x24\x57\xaa\x92\x8b\xe3\x63\x22\x25\x2a\x39\xdf\xe0\x52\x52\x85\x47\x9a\xad\x9c\x27\xbc\x3c\x7e\x91\xbd\xfc\xf1\x97\xe7\xc9\x49\xf2\x2f\xf2\x73\x92\xa6\x2f\x9f\xff\xb4\x7c\x96\xfc\xfc\xe3\x49\xe7\x05\x79\xf1\x22\x59\x3e\x4b\x7e\xf9\xe9\xe5\x97\xcb\x82\x6f\xbe\xfc\xc5\x45\x5a\x12\x71\x33\x97\xeb\xd5\x64\x54\x8e\x01\xcf\xf5\x97\xd1\x88\x4d\xf9\x27\xb4\x24\x2b\x3c\x96\xeb\xd5\x0f\xb7\x65\x31\xcc\xad\x6f\x9d\x48\xb5\x72\x58\xb7\x72\xfa\xc9\xbc\xfe\x3c\x4c\xbe\x8f\x3f\x39\xeb\x8e\xeb\x9a\x91\x52\xaf\xc1\xed\x00\x0d\x33\x5b\x0c\x4f\xc6\x15\x20\xb7\xe5\x92\x6b\x13\xbd\xbd\xbc\xda\x31\x2c\x45\x99\x08\x5a\xe9\x74\x64\x01\x93\x2b\x9d\x8d\xf5\x77\xc8\x5a\x62\x0a\xc4\x14\x02\x6e\xef\xd5\x39\x63\x8e\x45\x05\x5b\x5e\x43\x8a\x6b\x2c\xb8\xf9\x2d\x80\xe9\x1c\xf8\xf2\x0a\xfe\xc1\x99\xb6\xe4\x7c\xc7\xdc\x78\xab\x50\x30\x52\xfc\xf1\xe1\xf7\x2e\x06\xdf\xb6\xaf\xa6\x0d\xc8\xdc\xdc\x47\x99\x9a\x73\x96\x69\xe6\x5c\xac\x26\x3b\x40\x50\xf0\x15\x97\x0b\x67\xc2\x1d\xaa\xe2\x3a\x55\x96\x8b\x81\xb0\x1a\x5e\x13\xb5\xa1\x4a\xa1\x98\xec\x25\xac\x1b\x6c\x9c\x40\xcb\xfa\x65\x59\xf0\xe4\x26\xc9\x09\x65\x93\x61\xb8\x40\x6f\xd3\xf6\xd7\x93\x63\x47\x18\xc2\xc6\xa3\x47\x50\xf3\x46\x89\x86\xaf\x7d\x5d\x72\xb8\xb3\xec\xcd\x04\x2f\x17\xbd\x5c\x72\x7c\xa1\x8f\xab\x7f\x4d\x21\x9a\x5a\x41\x47\xb4\xb7\xd7\xe6\xe5\xd5\x31\xee\x6e\x51\x0d\xd1\x5d\xce\x38\x84\xe2\xd2\xa0\x97\xcc\xee\x8a\x53\x56\xc4\x80\xb0\xcd\xa3\x1f\x9e\xef\x77\xca\x6e\x30\x6d\x5b\x1b\xa7\xdf\xdf\xc5\x95\x98\xcf\x8f\xef\x07\xf3\x9c\xae\x14\x7d\x76\x43\xb6\xde\xc1\xc8\xd6\xa7\x6f\xcb\x4a\x6d\xcd\xe0\x4b\x57\x5d\x2f\x60\x9a\xd5\x4c\x67\x90\xbf\xde\x0d\x94\x8a\xf7\x0f\xb8\x9e\x33\xee\xe9\x51\xd3\xdf\xe8\x4e\x34\xdd\xe1\x53\xc3\xaf\x9e\xe8\x54\x71\xea\xf7\xd4\x44\x2a\xe0\x32\x8e\xc5\xa8\xf9\x38\x56\x02\xec\xb1\xb6\xfb\xa1\x6c\x9d\xd1\x62\xac\x60\x5a\xa1\xd2\xbc\xb9\x50\x98\x1a\xe5\x6a\x9d\x48\xe0\x66\x97\x20\x45\xb1\x75\x3c\x24\x10\x28\xa8\x34\xbd\x07\xdb\xa1\x52\x66\xa0\xeb\x78\x50\xd9\xc0\xd4\x24\xc0\x95\xeb\x58\xc0\x8e\x42\x63\x60\x5e\x0d\x9a\x3b\x0b\xc9\xd7\x9c\x17\x5d\xa8\xe8\x00\x26\x3d\x95\x21\xe8\x0c\x3f\x83\xbb\x4e\x29\x14\x8d\xfe\x64\x7c\x6e\x85\x66\xb2\xe9\xec\x33\x9c\x81\x12\x35\x0e\xa9\x2c\x26\xdc\xbb\x7e\xa2\xb2\xbf\xaa\xa9\x0a\xbb\x91\x5a\xd0\xe1\x9a\xca\x0b\x37\xa8\x97\x4f\xca\x14\x63\xe7\xe7\x90\x91\x42\xe2\x98\x39\x2f\xe4\x8d\xd4\x45\xa8\x0e\xa4\xb6\x6b\x6e\xda\x58\x4b\x84\x0d\x55\x79\x2a\xc8\xc6\x9d\x46\x3c\xd4\x8b\x69\x17\x74\xb1\x26\xb4\x20\x06\xda\x7f\x39\x1e\x9d\x86\xfc\xce\x55\x39\x29\x4e\xcf\x86\xab\xd7\x8e\xfc\x5e\xca\xf0\x61\x34\xc0\x07\x19\x07\x3c\x72\x63\x7b\x96\x6e\x16\x9b\xb7\x10\xb1\xaa\x4b\x64\x2a\x22\x24\x2c\x6d\xb8\x3b\xd8\x3a\x22\xa7\x0f\xd7\xde\x9a\x8f\x4e\xfd\x1f\xe5\x42\x9e\xf6\x05\xd3\x37\xc3\xb2\xe2\x82\x88\xad\xeb\x74\xfa\x43\x0f\x93\x42\xe9\xa4\x89\x17\x69\xc4\x41\xe5\xe8\x0f\x40\xac\x00\x02\x61\x89\x94\xad\x40\x09\xc2\x64\x86\x42\x60\x3a\xd7\x13\x79\xa7\xd3\x14\x0c\x37\x81\xeb\x6b\x3e\xbe\x1b\xe9\xa6\xe5\x51\x4f\xd2\x70\xb6\xdd\x4d\x90\x1c\x68\x83\x80\x14\x2b\xae\x33\xf6\x58\x26\x2c\x24\x6e\x72\x14\x38\xbc\x70\x07\x8a\x38\x8e\x7b\x1c\xd8\x02\x77\x33\x8a\x8a\x5f\xfb\x3b\xca\xee\x26\x57\x74\x7b\xe4\x0c\x34\x84\xaa\xd3\xa3\xb0\x3b\xda\xb6\xd2\x2c\xc5\x6c\x0c\x5e\x4e\x05\x8f\x43\x97\x53\x33\x5f\xfe\x17\x93\x2e\xc4\x0c\xac\x48\x9a\xca\x88\x0d\x55\xb2\x69\x06\x3a\xeb\x44\x6d\x50\x04\xbe\x61\x28\xe4\x1e\x88\xa3\x12\x48\x51\xf0\x8d\x45\x54\x8a\x52\x09\x6e\x7b\xe8\x52\x4f\x6f\x45\x5b\x62\x42\x6a\x89\x2d\x88\x63\x9f\xd2\x22\x07\x60\xd5\xb0\x44\xe1\x25\x71\xcd\x5f\xd3\xb1\x35\xb4\xff\x6c\x65\xcf\x49\xbc\xae\x25\x22\xd3\x38\x93\x75\xa9\x8b\x04\x96\xda\x5e\x76\xc6\x4d\x4f\xde\x81\xcc\x48\xe8\x3b\xeb\x23\x70\x6a\x9a\x23\xce\x20\x2e\xa5\x1c\xce\x17\xba\x3d\xb6\x26\x8d\x85\xd3\x23\xeb\xbc\xba\x5e\x1f\xc0\xda\xde\x48\xfb\xc1\xf2\x1b\x6c\xad\x45\x6f\x3a\xdd\x34\xb0\x45\x95\x31\x49\x1c\x4b\x3b\xb8\xeb\x66\x30\x7b\x02\x30\x0e\x37\xd6\xd6\xda\xdb\x80\x84\x78\xfa\x1b\x05\xef\x85\x3a\x1f\x40\x68\x1b\x1f\x48\x51\xe8\x50\xe3\xe2\xc4\x1c\x2e\xec\x49\x43\x59\x4b\x1b\x2f\xec\x9e\xe0\xcf\x48\x7a\x1c\x4d\x5e\x6e\x38\x59\xde\x4d\xfc\xe9\x1e\x0a\xe9\x07\x5c\xa4\xf6\x10\xc3\x80\xd7\xbe\x8f\x39\xda\x7a\xc3\x9d\x4e\x10\x5b\x82\xfa\x1c\xc2\xc3\x42\x36\xa7\x06\xb6\x3c\xd5\x7b\xe0\x7e\xb8\xea\xa7\x8c\xfb\x44\xa3\x07\x82\xcb\xc9\xfc\x24\x8c\x2c\x10\x1f\xb0\xd9\xd3\x97\x03\x18\x39\x4f\xf2\xf1\xc3\x46\x16\xb3\x1c\x62\xce\x94\x9d\x26\xec\x79\x93\xf6\x4d\x7f\x46\xf3\xb8\xb3\x19\x77\xf8\x73\x17\x69\x59\xb3\xb1\xc7\xdf\x7b\x22\x4e\x13\xc8\x60\xe2\x43\x13\xdc\xb4\xfd\x4a\x8f\x23\x15\x9c\xb2\x1f\x8e\xe2\x2e\xa4\xe8\x22\x6f\x2f\x0b\xb6\xa2\x3f\x65\x5f\x79\x4a\x7f\xfd\x87\xa1\xfd\x06\x4b\x3a\xf2\x31\x82\xfd\xef\x3f\x46\x88\x33\xcb\x79\x70\xf6\xf1\x75\xdb\x57\x07\x64\x83\x81\x24\x84\xdb\x57\x05\x90\x6f\x1b\x3c\xbe\x6d\xe0\xf8\x06\x41\x63\xc8\x7f\x06\x83\xc5\xda\x27\xde\x4d\xd6\xbe\x1b\x71\x8d\x55\xe1\x81\xc0\xe1\x2c\x69\x8e\xff\xc2\x6d\xcd\xa0\x27\x86\xe9\xb3\x93\x13\xbd\xd5\xc4\x43\xba\x9f\x99\xc0\x19\x1c\x3b\xe5\x45\x1f\x21\xd8\xaf\x55\xa2\xb3\xca\x37\x56\xb2\xf6\x5c\xde\xe0\xa0\xeb\xd0\x46\x77\xee\x13\x1d\x6d\x3a\xb2\x46\x8d\x02\xca\xa2\x13\x7f\xcb\xb2\xf9\x19\x6d\xc8\xc3\x1a\xe8\x2e\x70\x36\x24\x1b\x71\x87\xb4\xd0\x7c\x80\xb1\xed\x34\x85\x82\x3c\x1b\x6f\x2b\x2e\x31\x8c\x6b\xf6\x44\xcf\xa1\xc0\x9f\xe5\xd9\xcf\x0f\x50\x5d\x98\xa2\xd4\x95\x73\xfe\x9d\xca\x05\xaf\x57\x56\x0b\xd7\xbe\x7b\x72\x0d\x26\x92\x66\x24\x09\x17\xeb\xb3\x1d\xb8\x76\x6b\xba\x1e\x64\xf2\xda\xbf\x1c\xe2\x11\x29\x2c\x34\xd7\x1b\x52\xed\xfc\x06\xc5\x37\xe5\xa8\x94\x35\x9e\x7e\xef\x5a\x33\x36\x33\x19\xec\xc0\x8d\xb3\x32\x1a\x96\xf9\xb4\x33\xfd\x21\x10\xb5\x70\xb9\x4e\xdb\x93\x9a\x45\x12\xfb\x02\xff\x91\xd2\x8e\x37\xa9\xbe\x6a\x01\x81\x34\xa1\xf0\x61\x27\x6e\x76\x30\xcc\xcf\x0b\xa8\xd1\x3d\x75\x7d\xa6\x43\x50\x7c\x31\xec\x4c\xee\x8b\x9e\x48\x17\x76\xeb\x6e\xe1\x6e\x77\xdf\xe9\xc8\x02\x3a\x13\x1a\x62\x3b\xe1\xa0\x57\xfb\x58\x71\x7f\xf0\xbf\x00\x00\x00\xff\xff\xda\x98\xff\xe0\x4e\x28\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x6d\x6f\xdb\x38\xf2\x7f\x9f\x4f\x31\xeb\x3f\xf0\x3f\x1b\x4d\x94\x74\xb7\xed\xed\x1a\x79\xd8\xb4\xdb\xe0\x0e\xd8\x02\x45\x9b\xdd\x7d\x51\x14\x0d\x2d\x8d\x2d\x5e\x24\x52\x20\x29\x3b\xde\x20\xdf\xfd\xc0\x27\x89\xd4\x83\xe3\xa6\x7d\x75\x7a\x91\x58\x12\x67\x38\x9c\xf9\xcd\x70\x66\x28\x5a\x56\x5c\x28\xb8\xaa\xd9\x8a\x2e\x0a\xbc\xe6\xb7\xc8\x60\x29\x78\x09\x93\xe8\xd9\xe4\xc0\x8d\x7c\x87\x8a\x64\x44\x91\x3f\x29\x6e\xa4\x1b\x19\x3d\x6b\x46\x46\xf4\x43\x64\xe3\x03\x1a\x1e\xfa\xee\x03\x4a\x5e\xac\x51\x38\xaa\xf0\xd1\xe4\xe0\x80\xa4\x29\x4a\x39\x25\x45\x31\x83\x94\x33\x25\x48\xaa\xe0\xed\x1d\x29\x2b\xc7\x78\xde\x59\xdc\xfd\xc1\x01\x00\xc0\xf1\xf1\x31\x5c\xe7\x08\xb8\x46\xa6\x40\xe5\x44\x01\x95\x80\x25\x55\x0a\x33\xd8\xe4\xc8\x80\xe1\x06\x94\xa6\x91\x40\x04\x42\x49\x99\xc2\xcc\x10\x87\x93\x5a\x06\x86\xb7\x7c\x67\x86\x4c\x49\xc9\x6b\xa6\xe6\xf0\xc7\x15\xbd\x7b\xf5\xe2\x10\xd4\xb6\xc2\x39\x7c\x54\x82\xb2\xd5\x2c\x98\x9e\x2b\x52\x80\xac\xab\xaa\xd8\x02\x5f\x46\x52\x4b\xa0\x0c\xf0\x8e\x4a\x85\x2c\xc5\xde\xa4\x6b\x22\x40\x69\xf2\x8f\x86\xda\x4f\xd5\xf2\xbe\xcc\x4a\xca\xe0\x3d\x51\x79\x8f\xb6\x40\x65\x5f\x7f\x54\x5c\x90\x15\xea\x41\x5a\xba\xe6\xe6\xa0\x3f\x1d\xc5\x0d\x2c\x6b\x06\x2b\x54\x6f\x9c\x92\x8d\xa1\xa6\x02\x25\xaf\x45\x8a\xd7\x66\x89\xfa\xef\xc5\x6c\x0e\x9f\xf4\x8f\xcf\x70\x6f\x18\xe9\x4b\xcf\xb9\x26\x75\xa1\x3e\xe0\x12\xce\x40\x62\xb1\x4c\x48\x9a\x6a\x35\x25\x29\xa9\xc8\x82\x16\x54\x51\x94\xc9\x82\x0b\xc1\x37\xa7\xff\x7f\x1f\x19\x2d\xf9\x53\xd3\x3e\x9c\x4f\x8f\xab\x7a\x51\xd0\xf4\x18\x03\x55\x99\x77\xb3\x66\x2a\x7d\x5d\x5c\x40\x45\x18\x4d\xa7\x93\x37\xbc\x2e\x32\x60\x5c\x81\xe5\x0c\x04\x04\x2e\x51\x68\xad\x82\xe2\xa0\x72\xb4\x82\x81\xf0\x98\x6a\x59\x35\x3f\x04\xaa\x5a\xb0\x66\x05\xc9\x0a\xdd\xf2\xed\xd8\x87\xbe\xc6\xb4\xb2\x1c\xc7\x50\x61\x43\xfa\x3a\x34\xea\x6d\x1f\xcc\xe6\x70\xc9\xb6\x1f\x95\xa8\x53\x75\xf1\xbf\xab\x43\x37\xd6\x68\xc5\x2b\x20\x52\xa7\x86\xb1\x91\xcb\xdf\x35\x4f\xdf\x92\x34\x87\x5a\xa2\x00\xa9\xb8\x40\x09\x84\x01\x65\x52\x11\x2d\x10\x5f\x02\x67\xc5\xd6\x48\x65\xc8\xb5\x27\xa9\x1c\xa9\x1d\x4d\x56\x18\xf9\xff\xb2\x66\xa9\xa2\xdc\x3a\x5c\x4b\x43\x58\x06\x2b\xbe\x46\xc1\x30\x83\x85\xe5\x56\x09\x34\xcf\x2b\x2e\x95\x8e\x35\x19\x35\x84\x0d\x3b\xca\x3a\xa1\xc6\x44\x11\x95\xe3\xd6\xc4\x8f\x94\x14\x05\x66\x49\x34\x7b\x9a\x63\x7a\x2b\x21\x27\x55\x85\x0c\x88\x02\x51\x33\x45\x4b\x34\xa4\xa8\x83\x1e\x69\x24\xd4\xf1\xa9\xc3\xa3\xe1\xf5\xc1\xc1\x4a\x8f\x60\x76\xfd\x0b\x84\x54\x20\xd1\xd1\xcc\xad\x4c\x87\x47\xbc\x53\x5a\x43\xfe\xd6\x44\x4b\x13\xfc\xb4\x98\x0d\x3b\x2d\x6e\x86\x4b\xca\x0c\xf1\x21\x48\x63\x64\x81\x5a\x04\xc6\x61\x43\xb6\xb0\xe4\x5a\xb6\x92\x14\x34\xa5\xbc\x96\xd6\x1c\x8a\xbb\x39\xad\x16\x5b\xd5\xf0\xda\x4d\x4b\x19\x10\x2a\x12\xb8\x04\x59\x61\x4a\x49\x01\x26\x66\x0a\xf0\x8e\x01\x0c\x31\x93\x9a\xd3\xa2\x95\x41\x71\x13\x7d\x1b\x76\x6d\x64\x8e\x55\x11\x7a\x60\xc3\xd0\x88\xd2\xd9\x05\xac\x33\xf8\xbd\x20\xb4\x88\x89\xaa\xb0\x20\x85\x07\x93\xca\xa9\xb4\xa8\x6d\xc6\x76\x23\xb1\x1b\x1d\x47\xe1\xa1\x81\x72\x2c\xe2\x8e\x11\x58\x57\xb5\xe3\xdf\x37\xbf\x47\x87\x0b\x4c\x91\xae\x51\xf4\x08\x82\x65\x02\x65\x54\x51\x52\xd0\xbf\xd1\xc0\xc0\x2f\x95\xa8\x56\x65\xc6\x88\x1a\x72\x1a\x8b\x0d\xad\x26\x9c\x76\xd6\x3a\x0b\x02\x94\xbe\x4c\x54\xf2\x2c\xcf\x3c\xf3\x68\x88\x8e\x63\x34\x43\xa6\xe8\x92\xa2\x80\x33\x98\xf4\x22\xd1\xa4\xcf\x33\x50\x1d\x9c\x85\xba\x9b\xb6\xbc\xe6\x01\xdf\xd9\x0f\x7d\x1e\xad\x36\xe1\x2c\xd0\xce\x57\x70\x08\x15\x3c\xce\x23\x5a\xd0\x07\x47\x32\x09\xf8\x3d\xc4\xb8\x7b\x63\xbc\xda\x86\x0b\xe3\xef\x06\xa8\x16\xe1\xda\xe5\x16\xb5\x09\x43\x6b\x4a\x8c\xc5\x6e\x5e\xeb\x7b\x91\xe8\xc7\xd3\xd9\x0d\x94\xa8\x72\x9e\x75\x41\xe1\xdd\xdb\xee\x45\x7a\xac\x9e\x66\x41\xd2\xdb\x69\xd7\x68\x74\x19\xdb\xed\x1c\x4e\x92\x93\xce\x18\x7d\x85\x09\x4a\x12\xa4\x1f\x70\x36\xfe\xea\x28\x62\x1d\xb1\x7c\xd8\x85\x9c\x93\xe4\x64\x48\x5d\x63\x59\x89\xdb\x8e\x07\x52\x0f\x68\xf7\x9e\x4f\xbd\x15\xe9\xc1\xa7\xe3\x79\x68\x72\x75\xad\xff\x9f\x4f\x67\x87\x4f\x20\xfd\x8d\xca\xaa\x20\xdb\x27\x52\x1b\x47\xf8\x8d\x28\xf2\x24\xfa\xeb\xd6\x04\xe7\xd3\x78\x63\xff\xfc\x98\x5e\x83\xdc\xc5\xec\xce\x5f\x8c\xa6\x77\x27\x27\xc6\x82\x1b\xaa\xd2\xdc\x9a\xa5\x0f\x9e\x94\x48\xdc\x5f\xdf\xf3\x1e\x7d\x60\xc7\x47\x19\x4c\x07\xa9\xf5\xb5\x54\xce\x2a\x73\xef\xd0\xed\x3a\xbf\xc6\xa2\x33\x20\xf2\x87\xdd\x82\xb8\xc1\x17\x7d\xe3\xb5\xc2\x34\x46\x7e\x92\x38\x21\x44\xf6\x10\xa8\x19\x7e\x31\x28\xd1\xec\xa9\x26\x6b\xb5\x32\x6c\x35\x1d\xf0\x4b\xcc\x28\x81\xb3\xb8\x7c\x4c\xde\xe9\xa7\xe3\xc6\x32\x3a\xa2\x05\xce\x3b\x64\xff\xba\xbe\x7e\x7f\x45\x0b\xdc\x4d\x59\x8b\x62\x0e\x93\x5c\xa9\x4a\xce\x8f\x8f\x89\x94\xa8\x64\xb2\xc1\x85\xa4\x0a\x8f\x34\x5b\x99\xa4\xbc\x3c\x7e\xb9\x7c\xf5\xe3\x2f\x2f\xd2\x93\xf4\x9f\xe4\xe7\x34\xcb\x5e\xbd\xf8\x69\xf1\x3c\xfd\xf9\xc7\x93\xce\x0b\xf2\xf2\x65\xba\x78\x9e\xfe\xf2\xd3\xab\x2f\x57\x05\xdf\x7c\xf9\x8b\x8b\xac\x24\xe2\x36\x91\xeb\xd5\x64\x54\x8e\x01\xcf\xf5\x97\xd1\x88\xcd\xfa\x27\xb4\x24\x2b\x3c\x96\xeb\xd5\xb3\xbb\xb2\x18\xe6\xd6\xb7\x4e\xa4\x5a\x39\xac\x5b\x39\xfd\x64\x5e\x7f\x1e\x26\xdf\xc7\x9f\x9c\x75\xc7\x75\xcd\x48\xa9\xd7\xe0\x76\x80\x86\x99\x2d\x89\x27\xe3\x0a\x90\xdb\x72\xc1\xb5\x89\xde\x5e\x5d\xef\x18\x96\xa1\x4c\x05\xad\x74\x3a\x32\x87\xc9\xb5\xce\xc6\xfa\x3b\x64\x2d\x31\x03\x62\x0a\x01\xb7\xf7\xea\x9c\x31\xc7\xa2\x82\x2d\xaf\x21\xc3\x35\x16\xdc\xfc\x16\xc0\x74\x0e\x7c\x75\x0d\xff\xc7\x99\xb6\x64\xb2\x63\x6e\xbc\x53\x28\x18\x29\xfe\xf8\xf0\x7b\x17\x83\x6f\xdb\x57\xd3\x06\x64\x6e\xee\xa3\xa5\x4a\x38\x5b\x6a\xe6\x5c\xac\x26\x3b\x40\x50\xf0\x15\x97\x73\x67\xc2\x1d\xaa\xe2\x3a\x55\x96\xf3\x81\xb0\x1a\x5e\x13\xb5\xa1\x4a\xa1\x98\xec\x25\xac\x1b\x6c\x9c\x40\xcb\xfa\x65\x51\xf0\xf4\x36\xcd\x09\x65\x93\x61\xb8\x40\x6f\xd3\xf6\xd7\x93\x63\x47\x18\xc2\xc6\xa3\x47\x50\xf6\x46\x89\x86\x2f\x7f\x5d\x72\xd8\x54\xbe\xd1\x20\x33\xc5\xf9\x74\x29\x78\x39\xef\xe5\x92\xe3\x0b\xfd\xba\xfa\xd7\x14\xa2\x99\x15\x74\x44\x7b\x7b\x6d\x5e\x5e\x1d\xe3\xee\x16\xd5\x10\xdd\xe5\x8c\x43\x28\x2e\x0d\x7a\xc9\xec\xae\x38\x65\x45\x0c\x08\xdb\x3c\xfa\xf1\xf9\x7e\xa7\xec\x16\xb3\xb6\xbb\xd1\x6b\x4b\xf8\xfc\xf8\x61\x30\xcf\xe9\x4a\xd1\x67\x37\x64\xeb\x1d\x8c\x6c\x7d\xfa\xb6\xac\xd4\xd6\x0c\xbe\x72\xd5\xf5\x1c\xa6\xcb\x9a\xe9\x0c\xf2\xd7\xc1\xbe\xc9\x23\xae\xe7\x8c\x7b\x7a\xd4\xf4\x37\xba\x13\x4d\x77\xf8\xd4\xf0\xab\x27\x3a\x55\x9c\xfa\x3d\x35\x91\x0a\xb8\x8c\x63\x31\x6a\x41\x8e\x95\x00\x7b\xac\xed\x61\x28\x5b\x67\xb4\x18\x2b\x98\x56\xa8\x34\x6f\x2e\x14\x66\x46\xb9\x5a\x27\x12\xb8\xd9\x25\x48\x51\x6c\x1d\x0f\x09\x04\x0a\x2a\x4d\xef\xc1\x76\xa8\x94\x19\xe8\x3a\x1e\x54\x36\x30\x35\x09\x70\xe5\x3a\x16\xb0\xa3\xd0\x18\x98\x57\x83\xe6\xde\x42\xf2\x35\xe7\x45\x17\x2a\x3a\x80\x49\x4f\x65\x08\x3a\xc3\xcf\xe0\xbe\x53\x0a\x45\xa3\x3f\x19\x9f\x5b\xa1\x99\x6c\x3a\xfb\x0c\x67\xa0\x44\x8d\x43\x2a\x8b\x09\xf7\xae\x9f\xa8\xec\xaf\x6a\xaa\xc2\x86\xa4\x16\x74\xb8\xa6\xf2\xc2\x0d\xea\xe5\x93\x32\xc5\xd8\xc5\x05\x2c\x49\x21\x71\xcc\x9c\x97\xf2\x56\xea\x22\x54\x07\x52\xdb\x3b\x37\x6d\xac\x05\xc2\x86\xaa\x3c\x13\x64\xe3\xce\x24\x1e\xeb\xc5\xb4\x0b\xba\x5c\x13\x5a\x10\x03\xed\xbf\x1c\x8f\x4e\x5b\x7e\xe7\xaa\x9c\x14\xa7\x67\xc3\xd5\x6b\x47\x7e\x2f\x65\xf8\x30\x1a\xe0\x83\x8c\x03\x1e\xb9\xb5\x3d\x4b\x37\x8b\xcd\x5b\x88\x58\xd5\x25\x32\x15\x11\x12\x96\x35\xdc\x1d\x6c\x1d\x91\xd3\x87\x6b\x6f\x25\xa3\x53\xff\x5b\xb9\x90\xa7\x7d\xc1\xf4\xcd\xb0\xac\xb8\x20\x62\xeb\x3a\x9d\xfe\xe8\xc3\xa4\x50\x3a\x69\xe2\x45\x16\x71\x50\x39\xfa\x63\x10\x2b\x80\x40\x58\x20\x65\x2b\x50\x82\x30\xb9\x44\x21\x30\x4b\xf4\x44\xde\xe9\x34\x05\xc3\x4d\xe0\xfa\x9a\x8f\xef\x46\xba\x69\x79\xd4\x93\x34\x9c\x6d\x77\x13\x24\x07\xda\x20\x20\xc3\x8a\xeb\x8c\x3d\x96\x09\x0b\x89\x9b\x1c\x05\x0e\x2f\xdc\x81\x22\x8e\xe3\x1e\x07\xb6\xc0\xdd\x8c\xa2\xe2\xd7\xfe\x8e\xb2\xbb\xc9\x15\xdd\x1e\x39\x03\x0d\xa1\xea\xf4\x28\xec\x8e\xb6\xad\x34\x4b\x31\x1b\x83\x97\x53\xc1\xd7\xa1\xcb\xa9\x99\x2f\xfe\x83\x69\x17\x62\x06\x56\x24\xcb\x64\xc4\x86\x2a\xd9\x34\x03\x9d\x75\xa2\x36\x28\x02\xdf\x30\x14\x72\x0f\xc4\x51\x09\xa4\x28\xf8\xc6\x22\x2a\x43\xa9\x04\xb7\x3d\x74\xa9\xa7\xb7\xa2\x2d\x30\x25\xb5\xc4\x16\xc4\xb1\x4f\x69\x91\x03\xb0\x6a\x58\xa2\xf0\x92\xb8\xe6\xaf\xe9\xd8\x1a\xda\x7f\xb4\xb2\xe7\x24\x5e\xd7\x02\x91\x69\x9c\xc9\xba\xd4\x45\x02\xcb\x6c\x2f\x7b\xc9\x4d\x4f\xde\x81\xcc\x48\xe8\x3b\xeb\x23\x70\x6a\x9a\x23\xce\x20\x2e\xa5\x1c\xce\x17\xba\x3d\xb6\x26\x8d\x85\xd3\x23\xeb\xbc\xba\x5e\x1f\xc0\xda\xde\x48\x7b\x66\xf9\x0d\xb6\xd6\xa2\x37\x9d\x6e\x1a\xd8\xa2\xca\x98\x24\x8e\xa5\x1d\xdc\x75\x33\x98\x3d\x01\x18\x87\x1b\x6b\x6b\xed\x6d\x40\x42\x3c\xfd\x8d\x82\xf7\x42\x9d\x0f\x20\xb4\x8d\x0f\xa4\x28\x74\xa8\x71\x71\x22\x81\x4b\x7b\xd2\x50\xd6\xd2\xc6\x0b\xbb\x27\xf8\x33\x92\x1e\x47\x93\x97\x1b\x4e\x96\x77\x13\x7f\xba\x87\x42\xfa\x01\x17\x99\x3d\xc4\x30\xe0\xb5\xef\x63\x8e\xb6\xde\x70\xa7\x13\xc4\x96\xa0\x3e\x87\xf0\xb0\x90\xcd\xa9\x81\x2d\x4f\xf5\x1e\xb8\x1f\xae\xfa\x29\xe3\x3e\xd1\xe8\x91\xe0\x72\x92\x9c\x84\x91\x05\xe2\x03\x36\x7b\xfa\x72\x00\x23\xe7\x49\x3e\x7e\xd8\xc8\x62\x96\x43\xcc\xc9\xb2\xd3\x84\x3d\x6f\xd2\xbe\xe9\xcf\x68\xbe\xee\x6c\xc6\x1d\xfe\xdc\x47\x5a\xd6\x6c\xec\x21\xf8\x9e\x88\xd3\x04\x32\x98\xf8\xd0\x04\x37\x6d\xbf\xd2\xe3\x48\x05\x67\xed\x87\xa3\xb8\x0b\x29\xba\xc8\xdb\xcb\x82\xad\xe8\x4f\xd9\x57\x9e\xd2\x5f\x7f\x36\xb4\xdf\x60\x49\x47\x3e\x49\xb0\xff\xfd\x27\x09\x71\x66\x99\x04\x67\x1f\xdf\xb6\x7d\x75\x40\x36\x18\x48\x42\xb8\x7d\x53\x00\xf9\xbe\xc1\xe3\xfb\x06\x8e\xef\x10\x34\x86\xfc\x67\x30\x58\xac\x7d\xe2\xdd\x64\xed\xbb\x11\xd7\x58\x15\x1e\x09\x1c\xce\x92\xe6\xf8\x2f\xdc\xd6\x0c\x7a\x62\x98\x3e\x3f\x39\xd1\x5b\x4d\x3c\xa4\xfb\xb1\x09\x9c\xc1\xb1\x53\x5e\xf4\x11\x82\xfd\x66\x25\x3a\xab\x7c\x63\x25\x6b\xcf\xe5\x0d\x0e\xba\x0e\x6d\x74\xe7\x3e\xd4\xd1\xa6\x23\x6b\xd4\x28\xa0\x2c\x3a\xf1\xb7\x2c\x9b\x9f\xd1\x86\x3c\xac\x81\xee\x02\x67\x43\xb2\x11\x77\x48\x0b\xcd\x37\x18\xdb\x4e\x53\x28\xc8\xb3\xf1\xae\xe2\x12\xc3\xb8\x66\x4f\xf4\x1c\x0a\xfc\x59\x9e\xfd\xfc\x00\xd5\xa5\x29\x4a\x5d\x39\xe7\xdf\xa9\x5c\xf0\x7a\x65\xb5\x70\xe3\xbb\x27\x37\x60\x22\xe9\x92\xa4\xe1\x62\x7d\xb6\x03\x37\x6e\x4d\x37\x83\x4c\x5e\xfb\x97\x43\x3c\x22\x85\x85\xe6\x7a\x43\xaa\x9d\x9f\xa1\xf8\xa6\x1c\x95\xb2\xee\xb7\x7d\xdc\x9c\x87\x43\xe7\xf2\x0f\xe7\x16\xcc\xc3\x8d\xba\xf1\x19\x8d\x21\x64\x3e\xed\x48\x79\x08\x44\xcd\x5d\x4a\xd4\xb6\xae\x66\xd1\xc2\x7c\x1f\xe0\xdb\x16\x15\xf4\xb2\xbe\x69\x01\x81\x34\xa1\xf0\x61\xc3\x6e\x76\x30\xcc\xcf\x0b\xa8\x9d\x60\xea\xda\x51\x87\xa0\xf8\x7c\xd8\xe7\xdc\x87\x3f\x91\x2e\xec\x0e\xdf\x7a\x85\xdd\xa4\xa7\x23\x0b\xe8\x4c\x68\x88\xed\x84\x83\xce\xef\x43\xca\xc3\xc1\x7f\x03\x00\x00\xff\xff\xfa\x02\x58\x4e\x7b\x28\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,7 +95,7 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xc6, 0x77, 0x68, 0xd8, 0x10, 0x65, 0xf7, 0x4e, 0x2e, 0xc, 0xa2, 0xf1, 0xf5, 0xe4, 0x91, 0x52, 0xb2, 0xe3, 0xda, 0xb9, 0xe5, 0x5, 0xcf, 0x75, 0x89, 0x48, 0xbe, 0x50, 0xe6, 0x64, 0xd1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcd, 0x87, 0x4f, 0xb1, 0x24, 0x46, 0xb6, 0xc2, 0x7d, 0x9b, 0xe2, 0xfe, 0x8c, 0xea, 0x1, 0x4d, 0xd6, 0xf4, 0xcd, 0x61, 0xf, 0x50, 0x5c, 0xee, 0xf9, 0xe6, 0xc0, 0xf5, 0x4f, 0xb2, 0xac, 0x4e}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 2f456295..4c81ffad 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -3,12 +3,12 @@
 // burn_tokens.cdc (1.718kB)
 // create_forwarder.cdc (3.035kB)
 // generic_transfer.cdc (1.331kB)
-// metadata/setup_account_from_vault_reference.cdc (1.911kB)
+// metadata/setup_account_from_vault_reference.cdc (1.932kB)
 // mint_tokens.cdc (1.827kB)
 // privateForwarder/create_account_private_forwarder.cdc (2.025kB)
 // privateForwarder/create_private_forwarder.cdc (1.703kB)
 // privateForwarder/deploy_forwarder_contract.cdc (418B)
-// privateForwarder/setup_and_create_forwarder.cdc (2.527kB)
+// privateForwarder/setup_and_create_forwarder.cdc (2.553kB)
 // privateForwarder/transfer_private_many_accounts.cdc (1.543kB)
 // safe_generic_transfer.cdc (1.888kB)
 // scripts/get_balance.cdc (724B)
@@ -23,8 +23,8 @@
 // scripts/switchboard/get_vault_types_and_address.cdc (676B)
 // scripts/test/example_token_vault_display_strict_equal.cdc (2.25kB)
 // scripts/tokenForwarder/is_recipient_valid.cdc (444B)
-// setup_account.cdc (1.728kB)
-// switchboard/add_vault_capability.cdc (4.281kB)
+// setup_account.cdc (1.749kB)
+// switchboard/add_vault_capability.cdc (4.302kB)
 // switchboard/add_vault_wrapper_capability.cdc (1.756kB)
 // switchboard/batch_add_vault_capabilities.cdc (1.607kB)
 // switchboard/batch_add_vault_wrapper_capabilities.cdc (1.84kB)
@@ -166,7 +166,7 @@ func generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
-var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\xcd\x6e\xf3\x36\x10\xbc\xeb\x29\x06\x3e\xa4\x32\xe0\x4f\xbe\x1b\x76\x82\xc4\x6d\x7a\x2a\x10\xa4\x6e\xee\x6b\x69\x65\x11\x91\x49\x81\x5c\x59\x0d\x02\xbf\x7b\x21\xea\xc7\x94\xeb\x36\x40\x3e\x1d\x0c\x7a\xb9\xbb\x9c\x99\x9d\x55\xc7\xca\x58\xc1\x73\xad\x0f\x6a\x5f\xf2\xce\xbc\xb3\x46\x6e\xcd\x11\xb3\x49\x6c\x16\xdd\xca\xfc\x83\x85\x32\x12\x7a\x53\xdc\xb8\x5b\x65\x93\x84\xb1\x47\xfb\xef\x95\x9d\x29\x4f\x6c\xfb\xaa\x30\x34\x8b\xa2\xe5\x72\x89\x5d\xa1\x1c\xc4\x92\x76\x94\x8a\x32\x1a\xca\xa1\x29\x48\x40\x1a\x94\xa6\xa6\xd6\x82\xc6\xd4\x65\x06\x5b\x6b\x5f\x21\x06\x8e\x05\x4a\x1c\x97\x39\xea\xaa\x0d\x1c\x49\xd3\x81\x91\xf7\xa8\x20\x2d\x2c\x97\x74\xdd\xf3\x5a\xfb\xd6\xbe\xba\x76\xec\x70\xf2\x4c\xc4\xe0\x5d\x9b\x06\x4d\xc1\x96\x87\xb6\x6d\xbf\x82\x71\xa2\xba\x14\x5f\xa0\x34\x9c\x18\xdb\xb6\x27\x9d\xb5\x69\xa9\x65\x12\xf6\x69\x7c\xac\xe4\xa3\x4b\x4e\xa2\x28\xa0\x11\x53\x96\x59\x76\x6e\x85\xc7\xee\xb0\x40\x55\xef\x4b\x95\xbe\x90\x14\x2b\xbc\x8c\xe7\x39\x3e\xa3\x08\x00\x2a\xcb\x15\x59\x8e\x9d\x3a\x68\xb6\x2b\x50\x2d\x45\xfc\x27\x9d\xf8\x8d\xca\x9a\x17\xd8\x52\x45\x7b\x55\x2a\x51\xec\xe6\xb8\x7b\xec\xb4\x69\xcb\xd1\x7f\xcb\x25\x9e\x8c\xb5\xa6\x01\xc1\x72\xce\x96\x75\xea\x79\x8d\x84\x3c\x13\xce\x60\xb4\x8f\x55\xe4\x1c\x67\xa3\xcc\x24\x61\xf4\x02\x77\x7c\xa0\x64\x81\xed\xc7\xf7\xca\x39\x36\x38\xb0\xf4\x40\x06\xc2\xf3\x31\xbb\xfd\x92\x34\x40\x9d\xec\x3d\xba\xf5\xdd\x67\xe8\x83\x64\x38\x9c\xef\xe3\xcb\x9b\xd3\x36\x0f\x0f\xa8\x48\xab\x34\x9e\x6d\xbd\x15\xb4\x11\xec\xbf\xa0\xda\xce\x78\x44\x8b\xd9\x3c\x0a\x75\xfa\xcb\xb5\xf3\x23\x99\x16\x5b\x16\xab\xf8\xd4\x8d\xf6\x79\xd7\xa2\xc4\x84\x7c\x2e\x3e\xb6\xf9\x9f\xfd\x48\x0e\x2c\x5d\x69\x7c\x0a\x58\xae\x42\xe1\xa6\x58\x7e\x67\x19\x1e\x6c\x81\xff\x4a\x42\x1d\x78\xbf\x33\xfe\xe7\x82\xe7\x1a\xce\x58\xb1\xe9\xc1\x25\x61\x70\xd0\x0d\xf1\x6c\x57\xf0\x30\xfd\x4e\x9f\x4c\x65\xfa\x17\x81\x3a\x56\x25\x1f\x59\x4b\x20\x5d\x36\x40\xb8\x52\x6d\xdb\x19\x9f\xa0\xb9\x09\xad\x8f\xda\x29\x7d\xf0\x0d\xba\xdd\xf8\xad\xbd\xf3\x30\xc6\xe5\x83\xd2\x4e\x65\x7c\xcd\x74\xc2\x87\x2f\x65\xeb\x1f\x01\x8f\xe4\xba\x6b\x3c\xc5\xd5\x6e\x09\x94\x0c\xf3\xef\xfd\x3c\x66\x74\x1b\x95\xf4\x5b\x9c\x38\x3a\x71\xbc\xfe\x71\x79\x6c\x01\x31\xab\x50\xcc\x21\x75\x6a\xc4\x9b\x4a\x74\x8e\xc5\x68\xf3\x0f\xe4\xc6\x06\x52\x36\x85\x4a\x0b\x28\x9d\x96\x75\xc6\xce\x5f\x8c\x86\x87\xd2\xc2\x36\xa7\x94\x27\x2a\xf8\xc2\x2d\x55\xd8\x0c\xc8\x27\x4b\x34\xd0\x50\xce\xd5\xbc\xbe\xfb\x9c\x58\x31\x79\xa2\x92\x74\xca\xe7\xfb\xf8\x4b\x3e\xb7\x9a\x7b\x3a\xae\x88\x07\x0c\x0b\x90\x4c\xa5\x39\xf6\x66\xef\x7a\x7d\x4b\x13\xfe\xbb\x32\xa3\x61\x2c\xa7\xac\xfe\x5b\x8c\xe1\xfa\xbb\x7a\xbc\xf6\xf5\x3f\x2b\x48\x80\xe3\xdf\x9a\x0c\x97\x81\x26\xe7\xe8\x1c\xe1\x9f\x00\x00\x00\xff\xff\xcf\xec\xdd\x4c\x77\x07\x00\x00"
+var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\xcd\x6e\xf3\x36\x10\xbc\xeb\x29\x06\x3e\xa4\x32\xe0\x4f\xbe\x1b\x76\x82\xc4\x6d\x7a\x2a\x10\xa4\x6e\xee\x6b\x69\x65\x11\x91\x49\x81\x5c\x59\x0d\x02\xbf\x7b\x21\xea\xc7\x94\xeb\x36\x40\x3e\x1d\x0c\x7a\xb9\xbb\x9c\x99\x9d\x55\xc7\xca\x58\xc1\x73\xad\x0f\x6a\x5f\xf2\xce\xbc\xb3\x46\x6e\xcd\x11\xb3\x49\x6c\x16\xdd\xca\xfc\x83\x85\x32\x12\x7a\x53\xdc\xb8\x5b\x65\x93\x84\xb1\x47\xfb\xef\x95\x9d\x29\x4f\x6c\xfb\xaa\x30\x34\x8b\xa2\xe5\x72\x89\x5d\xa1\x1c\xc4\x92\x76\x94\x8a\x32\x1a\xca\xa1\x29\x48\x40\x1a\x94\xa6\xa6\xd6\x82\xc6\xd4\x65\x06\x5b\x6b\x5f\x21\x06\x8e\x05\x4a\x1c\x97\x39\xea\xaa\x0d\x1c\x49\xd3\x81\x91\xf7\xa8\x20\x2d\x2c\x97\x74\xdd\xf3\x5a\xfb\xd6\xbe\xba\x76\xec\x70\xf2\x4c\xc4\xe0\x5d\x9b\x06\x4d\xc1\x96\x87\xb6\x6d\xbf\x82\x71\xa2\xba\x14\x5f\xa0\x34\x9c\x18\xdb\xb6\x27\x9d\xb5\x69\xa9\x65\x12\xf6\x69\x7c\xac\xe4\xa3\x4b\x4e\xa2\x28\xa0\x11\x53\x96\x59\x76\x6e\x85\xc7\xee\xb0\x40\x55\xef\x4b\x95\xbe\x90\x14\x2b\xbc\x8c\xe7\x39\x3e\xa3\x08\x00\x2a\xcb\x15\x59\x8e\x9d\x3a\x68\xb6\x2b\x50\x2d\x45\xfc\x27\x9d\xf8\x8d\xca\x9a\x17\xd8\x52\x45\x7b\x55\x2a\x51\xec\xe6\xb8\x7b\xec\xb4\x69\xcb\xd1\x7f\xcb\x25\x9e\x8c\xb5\xa6\x01\xc1\x72\xce\x96\x75\xea\x79\x8d\x84\x3c\x13\xce\x60\xb4\x8f\x55\xe4\x1c\x67\xa3\xcc\x24\x61\xf4\x02\x77\x7c\xa0\x64\x81\xed\xc7\xf7\xca\x39\x36\x38\xb0\xf4\x40\x06\xc2\xf3\x31\xbb\xfd\x92\x34\x40\x9d\xec\x3d\xba\xf5\xdd\x67\xe8\x83\x64\x38\x9c\xef\xe3\xcb\x9b\xd3\x36\x0f\x0f\xa8\x48\xab\x34\x9e\x6d\xbd\x15\xb4\x11\xec\xbf\xa0\xda\xce\x78\x44\x8b\xd9\x3c\x0a\x75\xfa\xcb\xb5\xf3\x23\x99\x16\x5b\x16\xab\xf8\xd4\x8d\xf6\x79\xd7\xa2\xc4\x84\x7c\x2e\x3e\xb6\xf9\x9f\xfd\x48\x0e\x2c\x5d\x69\x7c\x0a\x58\xae\x42\xe1\xa6\x58\x7e\x67\x19\x1e\x6c\x81\xff\x4a\x42\x1d\x78\xbf\x33\xfe\xe7\x82\xe7\x1a\xce\x58\xb1\xe9\xc1\x25\x61\x70\xd0\x0d\xf1\x6c\x57\xf0\x30\xfd\x4e\x9f\x4c\x65\xfa\x17\x81\x3a\x56\x25\x1f\x59\x4b\x20\x5d\x36\x40\xb8\x52\x6d\xdb\x19\x9f\xa0\xb9\x09\xad\x8f\xda\x29\x7d\xf0\x0d\xba\xdd\xf8\xad\xbd\xf3\x30\xc6\xe5\x83\xd2\x4e\x65\x7c\xcd\x74\xc2\x87\x2f\x65\xeb\x1f\x01\x8f\xe4\xba\x6b\x3c\xc5\xd5\x6e\x09\x94\x0c\xf3\xef\xfd\x3c\x66\x74\x1b\x95\xf4\x5b\x9c\x38\x3a\x71\xbc\xfe\x71\x79\x6c\x01\x31\xab\x50\xcc\x21\x75\x6a\xc4\x9b\x4a\x74\x8e\xc5\x68\xf3\x0f\xe4\xc6\x06\x52\x36\x85\x4a\x0b\x28\x9d\x96\x75\xc6\xce\x5f\x8c\x86\x87\xd2\xc2\x36\xa7\x94\x27\x2a\xf8\xc2\x2d\x55\xd8\x0c\xc8\x27\x4b\x34\xd0\x50\xce\xd5\xbc\xbe\xfb\x9c\x58\x31\x79\xa2\x92\x74\xca\x8b\xa9\x43\x13\x4f\xed\x7c\x1f\x7f\x49\xf2\xd6\x8b\x9e\xa3\x2b\xe2\x01\xd8\x02\x24\x53\xbd\x8e\xfd\x06\x74\xbd\xbe\x25\x14\xff\x5d\x99\xd1\x45\x96\x53\x56\xff\xad\xd0\x70\xfd\x5d\x91\x5e\xfb\xfa\x9f\x15\x24\xc0\xf1\x6f\x4d\x86\xcb\x40\x93\x73\x74\x8e\xf0\x4f\x00\x00\x00\xff\xff\x5a\x52\x4c\x03\x8c\x07\x00\x00"
 
 func metadataSetup_account_from_vault_referenceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -182,7 +182,7 @@ func metadataSetup_account_from_vault_referenceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "metadata/setup_account_from_vault_reference.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xa0, 0xe3, 0xbc, 0x9e, 0x19, 0xff, 0xd7, 0xa2, 0xab, 0x8d, 0x3e, 0x4b, 0xd6, 0xaa, 0x10, 0x78, 0xa4, 0xea, 0xd6, 0xe5, 0x5a, 0xc1, 0x42, 0xfd, 0x9e, 0xaa, 0x1c, 0xd1, 0x1c, 0x9c, 0x62}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0x94, 0x2f, 0xb5, 0x89, 0xb8, 0x9f, 0xcb, 0xfb, 0xc, 0xa7, 0xdc, 0xfa, 0x20, 0x14, 0xd2, 0xa9, 0x2, 0x2f, 0x8e, 0xfa, 0xd5, 0x95, 0x9b, 0x73, 0xfb, 0x38, 0x44, 0xa7, 0xfd, 0x9e, 0x5e}}
 	return a, nil
 }
 
@@ -266,7 +266,7 @@ func privateforwarderDeploy_forwarder_contractCdc() (*asset, error) {
 	return a, nil
 }
 
-var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x41\x6f\xf2\x38\x10\xbd\xe7\x57\xcc\xc7\x01\x25\x12\x85\x3b\x02\xba\x2b\xf6\xab\xb4\x87\x5d\x55\x5b\xc4\x7d\x70\x06\xb0\xbe\x60\x47\xf6\x04\x16\x55\xfc\xf7\x95\x1d\x12\xec\x92\xb4\x74\x7d\xa8\x8a\x63\xcf\xbc\x79\x6f\xde\x38\x91\x87\x52\x1b\x86\x97\x4a\xed\xe4\xa6\xa0\x95\xfe\x45\x0a\xb6\x46\x1f\x60\x10\xed\x0d\x9a\x93\x3f\xff\xc5\x43\x19\x1f\x0c\xb7\xda\x73\xaf\x46\x1e\x91\xe9\x1f\x12\x24\x8f\x64\x5e\xb4\x39\xa1\xc9\xc9\x5c\xef\xf4\x7d\x1e\x74\x22\xfa\x8b\x18\x73\x64\x5c\x4b\x3a\xd9\x2e\x78\xd1\x81\x41\x92\x4c\x26\x13\x58\xed\xa5\x05\x36\xa8\x2c\x0a\x96\x5a\x01\xe6\xb9\x05\x84\x35\x56\x05\x8f\x00\xa1\xac\x31\x80\xb9\x82\x80\x6d\x83\xc2\xdf\x47\xd8\x60\x81\x4a\x10\x08\x2c\x71\x23\x0b\xc9\xe7\x11\xa0\xca\xdd\xd5\x6a\x53\x48\x11\x7c\x70\x77\x81\xf7\xb7\x60\x49\x12\xa6\x7e\x4f\x12\x00\x80\xd2\x50\x89\x86\x52\x2b\x77\x8a\xcc\x14\xb0\xe2\x7d\xfa\xa7\xb5\x15\xbd\xb1\x36\xb8\xa3\x65\x1b\x70\xa9\x15\x1b\x5d\x14\x64\x46\xf0\xea\xb2\xd9\xfd\x32\x80\xf1\x86\x47\x5a\x63\x51\x51\x06\xc3\xdf\x85\xd0\x95\xe2\x0c\xde\x7d\x12\xb7\x0a\x62\x38\xba\x3a\xff\x40\x46\x98\x47\xaa\x8d\x0d\x59\x5d\x1c\xc9\x67\x40\xc1\x8e\xb3\xd4\xed\x55\x46\xd0\xea\x5c\xd2\x14\x94\x2c\x46\x70\x94\x74\xaa\x7f\xba\xbf\xb3\x7e\xbe\xc7\x2f\xab\x75\x93\x6b\x91\x66\x19\xa0\xfd\xf1\x89\x7e\xe1\xf1\xe7\x16\xb1\x5b\xcf\xcf\x50\xa2\x92\x22\x1d\x2c\x75\x55\xe4\xa0\x34\xc3\xae\xa9\x04\x5c\x00\x0f\xaa\xe5\x5a\x5c\x2b\x18\x64\x49\x1b\x47\x6e\xa1\x66\x77\xdc\x8a\x23\xc9\x8e\x77\xc4\xb3\x61\x5f\xd3\x8d\xdb\xff\x16\x69\xef\x99\x0f\x1f\xbc\x26\xe2\x15\x79\x9f\xc1\x8f\xb9\x63\x2c\xa0\xdf\xad\xc9\xa4\x6d\xb0\xb6\xaf\xe0\x84\x16\xb0\x30\x84\xf9\x19\x2c\x31\x54\x65\x74\xc7\x10\x57\x46\xb5\x5b\x97\xae\xb2\x6c\xdd\x29\x63\xb1\x27\xf1\x6b\x36\x8c\x94\xf5\xbc\x2e\x52\x67\x90\xe9\x4d\xff\xe6\x4a\x0d\x76\x3e\x87\x2d\x16\x96\xee\xe1\x2e\x0d\x39\xb4\x08\x8a\x4e\xb1\xcf\x7d\x5c\xdf\xfa\x65\xc5\x20\x19\xa4\x82\x6b\xd0\x28\xc8\x07\x88\x16\x8f\x94\x46\x07\xdc\x9a\x3d\x45\x98\x85\xcf\xfa\xf3\x50\xf2\xd9\xa7\x49\x3d\xee\xa0\xf1\x7e\xeb\x2a\x31\xcb\x46\x77\x81\x59\xf7\x14\x1d\x9d\xcc\xba\xe8\x0d\xab\xbf\x7a\xbb\xae\xf9\xe6\x39\x27\x81\x22\xca\x29\xff\xaa\xd7\x36\xda\x18\x7d\x9a\x0d\xdf\x23\x0f\xd4\xc8\x2f\x8b\xf4\x06\xf1\x70\xb5\x45\x2b\xcc\x7d\x17\xb5\x46\x5e\x62\x09\xf3\xce\x74\x0d\xdb\xd2\xcd\x91\xee\x86\xb8\xa3\xca\xad\xaf\xa9\x8a\xe9\x0a\x04\x8e\xf2\x97\xf5\x74\x4a\x1b\x98\x23\x40\x0e\x85\x88\xaa\xec\x21\xdf\xcf\x40\x40\x68\xdc\x15\xf2\xce\x68\x76\xc4\x2c\xd5\xce\x9b\xfe\xbe\x31\xa3\xa9\xd7\xcc\xdf\x20\xc0\x43\xb4\x7d\x10\xab\x01\x72\xe9\x20\xef\x91\x1e\x8b\x30\xdd\xfc\x3f\x7b\xea\x7d\x18\xaf\x46\xf8\x9b\x4e\xed\x56\x6a\x48\xc8\x52\x92\xe2\x69\x47\x5d\x41\x92\x2e\xdf\xcd\x9e\xda\xb4\x23\x6f\x8d\x47\x27\xdb\x5b\x30\x2d\x3a\x45\x0a\xb5\xd1\x5e\x93\xdb\xeb\xde\xbc\x23\xdd\xf5\x3f\xdc\xc4\x8f\x4c\xea\x3b\x5d\xfe\x47\x81\x3d\x93\x61\x32\x69\xde\x5c\x5f\xde\xb7\x0a\xfe\xcc\x22\x51\xba\x90\x95\x78\x98\x39\xff\x7c\xff\x1d\x4a\xe2\x3a\x2e\xc9\x25\xf9\x2f\x00\x00\xff\xff\x99\x97\xb9\xa2\xdf\x09\x00\x00"
+var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x4f\x6f\xe2\x3a\x10\xbf\xe7\x53\x4c\x39\xa0\x44\x4a\xe1\x8e\x80\xbe\xf7\x78\xad\xb4\x87\x5d\x55\x5b\xc4\x7d\x70\x06\xb0\x1a\xec\xc8\x76\x60\x51\xc5\x77\x5f\xd9\x21\xc1\x6e\x92\x96\xd6\x87\xaa\x38\xf6\xcc\xef\xcf\xcc\x38\xe2\xfb\x42\x2a\x03\x4f\xa5\xd8\xf2\x75\x4e\x4b\xf9\x4a\x02\x36\x4a\xee\x61\x10\xec\x0d\xea\x93\x8f\x7f\x70\x5f\x84\x07\xfd\xad\xe6\xdc\xb3\xe2\x07\x34\xf4\x9b\x18\xf1\x03\xa9\x27\xa9\x8e\xa8\x32\x52\x97\x3b\x7d\x9f\x07\x9d\x88\x7e\x92\xc1\x0c\x0d\xae\x38\x1d\x75\x17\xbc\xe0\xc0\x20\x8a\xc6\xe3\x31\x2c\x77\x5c\x83\x51\x28\x34\x32\xc3\xa5\x00\xcc\x32\x0d\x08\x2b\x2c\x73\x93\x02\x42\x51\x61\x00\x75\x01\x01\x9b\x1a\x85\xbb\x8f\xb0\xc6\x1c\x05\x23\x60\x58\xe0\x9a\xe7\xdc\x9c\x52\x40\x91\xd9\xab\xe5\x3a\xe7\xcc\xfb\x60\xef\x82\xd9\x5d\x83\x45\x91\x9f\xfa\x2d\x8a\x00\x00\x0a\x45\x05\x2a\x8a\x35\xdf\x0a\x52\x13\xc0\xd2\xec\xe2\x1f\x5a\x97\xf4\x62\xa4\xc2\x2d\x2d\x9a\x80\x0b\x29\x8c\x92\x79\x4e\x2a\x85\x67\x9b\x4d\xef\x16\x1e\x8c\x17\x3c\xd0\x0a\xf3\x92\x12\x18\xfe\xcb\x98\x2c\x85\x49\xe0\xcd\x25\xb1\x2b\x27\x03\x07\xcb\xf3\x7f\x34\x08\xb3\xc0\xb5\x91\x22\x2d\xf3\x03\xb9\x0c\xc8\x8c\xd5\x2c\xb6\x7b\xa5\x62\xb4\x3c\x15\x34\x01\xc1\xf3\x14\x0e\x9c\x8e\xd5\x4f\xfb\x77\xda\xaf\xf7\xe8\x69\xb9\xaa\x73\xcd\xe3\x24\x01\xd4\x77\x1f\xf8\xe7\x1f\x7f\x68\x10\xdb\xf5\xf0\x00\x05\x0a\xce\xe2\xc1\x42\x96\x79\x06\x42\x1a\xd8\xd6\x4c\xc0\x06\x70\xa0\x1a\xad\xd9\x85\xc1\x20\x89\x9a\x38\x7c\x03\x95\xba\xa3\xc6\x1c\x4e\x7a\xb4\x25\x33\x1d\xf6\x15\xdd\xa8\xf9\x6f\x1e\xf7\x9e\x79\xf7\xc1\x79\xc2\x9e\xd1\xec\x12\xb8\x9b\x59\xc5\x3c\xf9\xed\x1a\x8f\x9b\x02\x6b\xea\x0a\x8e\xa8\x01\x73\x45\x98\x9d\x40\x93\x81\xb2\x08\xee\x28\x32\xa5\x12\xcd\xd6\xb9\x8b\x96\xae\x2a\x65\xc4\x76\xc4\x5e\xa7\xc3\xc0\x59\xa7\xeb\x3c\xb6\x0d\x32\xb9\xfa\x5f\x5f\xa9\xc0\xce\x66\xb0\xc1\x5c\x53\x1b\xee\x42\x91\x45\x8b\x20\xe8\x18\xf6\xb9\x8b\xeb\x4a\xbf\x28\x0d\x70\x03\x5c\xc0\x25\x68\x10\xe4\x1d\x44\x8d\x07\x8a\x83\x03\x76\x4d\xef\x03\xcc\xcc\x65\x7d\xdc\x17\xe6\xe4\xd2\xc4\x0e\xb7\x57\x78\xff\x74\x51\x4c\x92\xb4\x15\xd8\xc8\x1e\xd2\xc1\xc9\xa4\x4b\x5e\x9f\xfd\xa5\xb7\x2b\xce\xd7\x9e\xb3\x16\x08\xa2\x8c\xb2\xcf\x6a\x6d\x2d\x95\x92\xc7\xe9\xf0\x2d\xe8\x81\x0a\xf9\x79\x1e\x5f\x21\xee\x2f\x6d\xd1\x18\xd3\xae\xa2\xa6\x91\x17\x58\xc0\xac\x33\x5d\xad\x36\xb7\x73\xa4\x95\xf5\xbf\x6a\x86\xa5\xd0\x0d\xa6\x25\xa2\x5d\x9f\x8b\x18\x0a\xe9\x59\x1f\x20\x2b\xaa\xb9\x15\xd7\x04\x52\x40\xe3\x5b\x14\xf0\xef\xb1\xc5\x4d\x47\x40\xa8\xfb\xce\x77\xc4\xa0\xda\x92\x31\x5c\x6c\xdd\x38\x68\x97\x6c\x30\x0f\xeb\xc9\xec\x05\xf8\x8e\xa0\x35\x90\x2e\xf1\x6e\xa9\xbe\x00\xd3\x75\x32\x4c\xef\x7b\x9f\xcc\x4b\x8b\xfc\xa2\x63\xb3\x15\x2b\x62\xbc\xe0\x24\xcc\xa4\x83\x97\x97\xa4\xab\x23\xa7\xf7\x4d\xda\xd4\x35\xcd\xad\x33\xef\xc5\x9b\x23\x9d\x26\xf9\xde\x48\xe7\xc9\xf5\xdd\xaf\x5f\x98\x6e\xfe\x37\x97\xf7\x2d\x33\xbc\xe5\xcb\x37\x08\xf6\xcc\x8c\xf1\xb8\x7e\x8d\x1d\xbd\x2f\x11\xfe\xa8\x45\x82\x74\xbe\x2a\xe1\x98\xb3\xfd\xf3\xf5\x17\x2a\x0a\x79\x9c\xa3\x73\xf4\x37\x00\x00\xff\xff\xaf\xfd\xf1\xa2\xf9\x09\x00\x00"
 
 func privateforwarderSetup_and_create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -282,7 +282,7 @@ func privateforwarderSetup_and_create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/setup_and_create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd4, 0xa3, 0xf6, 0x5c, 0xa2, 0x5a, 0x74, 0x24, 0xd, 0xb6, 0xe8, 0x5c, 0xdb, 0xfb, 0x3d, 0xe6, 0x7a, 0x15, 0x1e, 0xda, 0xa0, 0xdd, 0x37, 0x3a, 0x92, 0x47, 0x75, 0x59, 0x4, 0x73, 0x27, 0x5b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2f, 0x5b, 0x9f, 0x6a, 0x94, 0x53, 0xeb, 0xc0, 0xa5, 0xb0, 0x2c, 0x56, 0x2c, 0x33, 0xcd, 0xde, 0x4b, 0xa1, 0x12, 0x2a, 0x90, 0x4a, 0xb9, 0x71, 0x68, 0x29, 0x4d, 0xf3, 0xa2, 0xde, 0x33, 0xad}}
 	return a, nil
 }
 
@@ -566,7 +566,7 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	return a, nil
 }
 
-var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x94\x4f\x6f\xdb\x3c\x0c\xc6\xef\xfe\x14\x4f\x73\xe8\x6b\x03\x69\x72\x2f\xd2\xf6\x5d\xb3\x16\xd8\x61\x40\xd1\x06\xb9\x33\x0e\xd3\x08\x53\x24\x43\xa2\x93\x1a\x45\xbf\xfb\x20\xf9\x4f\xed\xce\xdd\x80\x01\xf3\xc1\x80\x28\x8a\x7c\xf8\x23\xa5\xf9\x1c\xab\xbd\xf2\x10\x47\xc6\x53\x2e\xca\x1a\x28\x0f\x82\xf0\xa1\xd0\x24\x8c\x9d\x75\x61\xd9\xdb\x17\x0b\xd2\xda\x9e\x92\xf9\x1c\x64\x2a\x6b\x38\x9a\xb6\x5b\x10\xd6\x54\x6a\x81\x63\x6f\x4b\x97\x47\xbb\xec\x59\x39\x50\x9e\xdb\xd2\x08\x7c\x30\x90\x84\xa3\xb2\xe7\x0a\x39\x19\x94\x9e\xc3\x02\xfc\x42\x87\x42\xf3\xca\xfe\x60\x93\x24\xea\x50\x58\x27\xb8\x2f\xcd\xb3\xda\x34\x56\xec\x9c\x3d\x60\x32\xb0\x4d\x5a\xcf\xbb\xde\xf1\xc6\xb1\x6f\xea\xfc\xd6\x8a\x4f\x8f\xec\xad\x3e\xb2\x6b\xfc\xfa\xa6\xc9\x68\xe6\xef\x2c\xb4\x25\xa1\xe0\xe9\xc7\x64\x0c\x1c\x26\x49\xd2\x07\x96\x66\x78\x4d\x12\x00\x28\x1c\x17\xe4\x38\xf5\xea\xd9\xb0\xbb\x04\x95\xb2\x4f\x6f\xad\x73\xf6\xb4\x26\x5d\xf2\x14\xdf\xbc\x2f\xf9\x49\xac\xa3\x67\x5e\x52\x41\x1b\xa5\x95\x54\x4b\x6b\xc4\x59\xad\xd9\x4d\xf1\x50\x6e\xb4\xf2\xfb\xf7\xcd\x29\x9e\xe8\xc8\xf1\x7c\x86\xf3\x2f\x35\xe9\x2e\x65\xf8\x34\x0b\x8e\xa1\x33\x5f\x49\x08\x57\x03\x54\x33\x57\x17\x1e\x53\x50\x2e\xa1\x80\xb4\x6d\xe0\xaa\x2a\xf8\x12\x46\xe9\x29\x8e\x8a\x4f\xf5\x32\xfc\x17\x9f\x17\x3f\xbb\x5f\xad\xdb\x5c\xd7\x69\x96\x81\xfc\xd9\x6f\x60\xf6\xdd\x6f\x3a\xc5\xe1\xbb\xb9\x41\x41\x46\xe5\xe9\xa0\x3f\xd8\x5a\xf6\x30\xb6\x9e\x32\x7d\x64\xf4\x02\x44\x95\x93\xec\xbd\xf2\xf9\x1c\x8f\x2c\xa5\x33\x60\x72\xba\x82\xda\xc5\x51\x6b\xc7\x91\xb4\x63\xda\x56\xf0\x62\x1d\x87\xb1\x1f\x0c\x51\x0c\xdb\x85\x52\x3b\xd4\x6d\x9b\xf9\xba\x3d\xb3\x4d\x6c\xdc\xe2\x7c\x80\x33\x1e\xba\x4e\xc3\x88\x5c\xbe\x43\x6f\xcf\x3c\x90\xec\x33\x9c\x5d\x05\xa6\x78\x1d\x94\xeb\xa2\xce\xce\xf4\x36\xd2\x3e\x2c\x2e\x86\xbd\xcb\x1d\x93\xf0\xdd\xa1\x90\x2a\xe6\x4d\xa3\x5b\xaf\x4d\xff\x8f\x69\xcb\x86\x80\x96\x31\x08\x08\x86\x4f\x23\x00\x40\x66\x8b\xa2\x14\x28\x81\x32\x68\x0a\xe9\x02\x7c\x60\xe2\xe9\xc8\xe9\xe2\x22\xea\x98\x42\xec\x67\x0c\xc6\x15\x14\x61\xb6\x73\xe4\xdd\x6c\x37\x2f\x48\xa3\x24\x3c\x1d\xe0\x97\xc2\x7a\xf6\x3d\xb3\x32\xc2\x6e\x47\x39\xfb\x5f\x91\x2d\xa9\xc0\x55\x2b\xb2\x8b\xab\xd8\x77\x8a\x55\xb8\x71\x8b\xf3\xd7\xc1\x88\xce\x6e\x49\x93\xc9\xf9\xed\x3a\x1d\x34\x69\xb4\x98\xce\x23\xfb\x48\x65\x90\xb0\xa8\x2f\x6e\xda\xea\x9a\x82\xa4\x8f\xe7\xd0\x5c\x8b\x3f\xf3\x59\x8e\xf3\xf9\xcf\xe3\x91\x73\x56\xf1\x61\x2b\x4d\x7c\x7c\x28\x78\x0d\xb0\xb8\xc6\xe5\x6f\xc9\xb4\x29\xfe\x05\x9a\x9e\xb6\x8f\x74\xda\xad\x9a\x4e\x7d\x43\xde\x92\x9f\x01\x00\x00\xff\xff\xaa\x1b\x52\x89\xc0\x06\x00\x00"
+var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x94\x4f\x6f\xdb\x3c\x0c\xc6\xef\xfe\x14\x4f\x73\xe8\x6b\x03\x69\x72\x2f\xd2\xf6\x5d\xb3\x16\xd8\x61\x40\xd1\x06\xb9\x33\x0e\xd3\x08\x53\x24\x43\xa2\x93\x1a\x45\xbf\xfb\x20\xf9\x4f\xed\xce\xdd\x80\x01\xf3\xc1\x80\x28\x8a\x7c\xf8\x23\xa5\xf9\x1c\xab\xbd\xf2\x10\x47\xc6\x53\x2e\xca\x1a\x28\x0f\x82\xf0\xa1\xd0\x24\x8c\x9d\x75\x61\xd9\xdb\x17\x0b\xd2\xda\x9e\x92\xf9\x1c\x64\x2a\x6b\x38\x9a\xb6\x5b\x10\xd6\x54\x6a\x81\x63\x6f\x4b\x97\x47\xbb\xec\x59\x39\x50\x9e\xdb\xd2\x08\x7c\x30\x90\x84\xa3\xb2\xe7\x0a\x39\x19\x94\x9e\xc3\x02\xfc\x42\x87\x42\xf3\xca\xfe\x60\x93\x24\xea\x50\x58\x27\xb8\x2f\xcd\xb3\xda\x34\x56\xec\x9c\x3d\x60\x32\xb0\x4d\x5a\xcf\xbb\xde\xf1\xc6\xb1\x6f\xea\xfc\xd6\x8a\x4f\x8f\xec\xad\x3e\xb2\x6b\xfc\xfa\xa6\xc9\x68\xe6\xef\x2c\xb4\x25\xa1\xe0\xe9\xc7\x64\x0c\x1c\x26\x49\xd2\x07\x96\x66\x78\x4d\x12\x00\x28\x1c\x17\xe4\x38\xf5\xea\xd9\xb0\xbb\x04\x95\xb2\x4f\x6f\xad\x73\xf6\xb4\x26\x5d\xf2\x14\xdf\xbc\x2f\xf9\x49\xac\xa3\x67\x5e\x52\x41\x1b\xa5\x95\x54\x4b\x6b\xc4\x59\xad\xd9\x4d\xf1\x50\x6e\xb4\xf2\xfb\xf7\xcd\x29\x9e\xe8\xc8\xf1\x7c\x86\xf3\x2f\x35\xe9\x2e\x65\xf8\x34\x0b\x8e\xa1\x33\x5f\x49\x08\x57\x03\x54\x33\x57\x17\x1e\x53\x50\x2e\xa1\x80\xb4\x6d\xe0\xaa\x2a\xf8\x12\x46\xe9\x29\x8e\x8a\x4f\xf5\x32\xfc\x17\x9f\x17\x3f\xbb\x5f\xad\xdb\x5c\xd7\x69\x96\x81\xfc\xd9\x6f\x60\xf6\xdd\x6f\x3a\xc5\xe1\xbb\xb9\x41\x41\x46\xe5\xe9\xa0\x3f\xd8\x5a\xf6\x30\xb6\x9e\x32\x7d\x64\xf4\x02\x44\x95\x93\xec\xbd\xf2\xf9\x1c\x8f\x2c\xa5\x33\x60\x72\xba\x82\xda\xc5\x51\x6b\xc7\x91\xb4\x63\xda\x56\xf0\x62\x1d\x87\xb1\x1f\x0c\x51\x0c\xdb\x85\x52\x3b\xd4\x6d\x9b\xf9\xba\x3d\xb3\x4d\x6c\xdc\xe2\x7c\x80\x33\x1e\xba\x4e\xc3\x88\x5c\xbe\x43\x6f\xcf\x3c\x90\xec\x33\x9c\x5d\x05\xa6\x78\x1d\x94\xeb\xa2\xce\xce\xf4\x36\xd2\x3e\x2c\x2e\x86\xbd\xcb\x1d\x93\xf0\xdd\xa1\x90\x2a\xe6\x4d\xa3\x5b\xaf\x4d\xff\x8f\x69\xcb\x86\x80\x96\x31\x08\x08\x86\x4f\x23\x00\x40\x66\x8b\xa2\x14\x28\x81\x32\x68\x0a\xe9\x02\x7c\x60\xe2\xe9\xc8\xe9\xe2\x22\xea\x98\x42\xec\x67\x0c\xc6\x15\x14\x61\xb6\x73\xe4\xdd\x6c\x37\x2f\x48\xa3\x24\x3c\x1d\xe0\x97\xc2\x7a\xf6\x3d\xb3\x32\xc2\x6e\x47\x39\xfb\x5f\x91\x2d\xa9\xc0\x55\x2b\xb2\x8b\xab\xd8\x77\x8a\x55\xb8\x71\x8b\xf3\xd7\xc1\x88\xce\x6e\x49\x93\xc9\x79\x3a\x9c\xdc\x9a\xe0\xdb\x75\x3a\xe8\xdc\x68\x85\x9d\x47\xf6\x11\xd5\x40\x45\x51\xdf\xe6\xb4\x15\x3b\x05\x49\x9f\xd9\xa1\xb9\x2b\x7f\x86\xb6\x1c\x87\xf6\x9f\xc7\x23\xe7\xac\xe2\x6b\x57\x9a\xf8\x22\x51\xf0\x1a\xb0\x72\x8d\xcb\xdf\xe2\x6a\x53\xfc\x0b\x34\x3d\x6d\x1f\xe9\xb4\x5b\x35\x9d\xfa\xda\xbc\x25\x3f\x03\x00\x00\xff\xff\xf1\x84\x12\x73\xd5\x06\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -582,11 +582,11 @@ func setup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x30, 0xc4, 0x81, 0xb9, 0xd2, 0xa2, 0x3c, 0x67, 0xf4, 0x73, 0x77, 0x1, 0xa3, 0x30, 0x6a, 0x32, 0xa5, 0xd5, 0xb7, 0xd8, 0x48, 0xca, 0x8c, 0x17, 0x56, 0x24, 0xa3, 0xe3, 0x21, 0x3f, 0x60, 0x79}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x29, 0xc9, 0x26, 0xc1, 0xa5, 0xd, 0x1e, 0xb7, 0x21, 0x92, 0xf, 0x17, 0xb3, 0xaa, 0x7b, 0xe9, 0xb6, 0x50, 0x74, 0x36, 0xf5, 0x85, 0x6c, 0xde, 0x92, 0xbb, 0x1b, 0xd5, 0xeb, 0xf3, 0xad, 0x43}}
 	return a, nil
 }
 
-var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xdb\x38\x10\xbd\xfb\x57\x0c\x7c\xf0\x4a\x81\x57\xbe\x1b\x49\xba\xad\xb7\x5d\xec\x61\x17\x45\x93\xcd\x7d\x4c\x8d\x2c\xa2\x32\x29\x90\x94\x1d\x23\xf0\x7f\x5f\x90\xfa\x22\x6d\x29\x71\xdc\xa2\x3a\x24\xb2\xc4\x99\x79\xf3\x66\x38\x4f\xe4\xdb\x52\x2a\x03\x5f\x2a\xb1\xe1\xeb\x82\x1e\xe5\x77\x12\x90\x29\xb9\x85\x69\xf0\x6c\x3a\x19\x5a\xf9\xb0\xe7\x86\xe5\x6b\x89\x2a\x1d\x32\xf2\x5e\x77\xf6\x9f\x9f\x71\x5b\x86\x81\xfc\x47\xc3\x71\xfe\x21\x83\x29\x1a\x7c\xe2\xb4\xd7\x43\x91\x82\x05\xd3\xc9\x64\xb1\x58\xc0\x63\xce\x35\x18\x85\x42\x23\x33\x5c\x0a\xe0\x1a\x10\x0c\x6d\xcb\x02\x0d\x41\x26\x95\xfd\xe9\xbd\x37\x39\x1a\x60\xb2\x2a\x52\x58\x13\x54\x9a\x52\x58\x1f\x00\xc5\x41\x0a\x02\x23\x01\xd3\x14\x10\x04\xed\x21\x6b\x62\x83\x71\x69\xec\xb0\x2a\x8c\x8b\xc9\xb0\xc4\x35\x2f\xb8\x39\x58\x03\x93\x13\x57\xa0\x3d\x92\x14\x69\x59\x29\x46\x76\xf1\xc4\x8f\xfd\x32\x99\x00\x00\x14\x64\x80\x3c\x3a\x9e\xac\xe7\x55\xe7\x74\x09\xfd\xfd\xed\xec\x25\xa0\x20\xf9\x46\x8c\xf8\x8e\xd4\xf1\xbe\x73\xe5\x85\xfe\x46\xd9\x12\x60\x36\x56\x9f\xc4\xbb\xaf\xa1\x94\x8a\x4a\x54\x14\x69\xbe\x11\xa4\x96\x80\x95\xc9\xa3\x4f\x52\x29\xb9\x7f\xc2\xa2\xa2\x39\xfc\xad\x75\x45\x0f\x46\x2a\xdc\x50\x8f\x6b\x25\x85\x51\xb2\x28\x48\xcd\xe1\x6b\xb5\x2e\xb8\xce\xfb\x97\x73\x78\xc0\x1d\x35\xf6\xff\x89\xf2\xf4\x7d\x0c\xb3\x8f\x8c\xc9\x4a\x98\xb8\xa5\xa4\xcd\xc5\x91\xfc\x27\x1a\x84\xbb\xa0\x89\x12\xcb\x69\xb1\x23\x17\x17\x99\xb1\x2d\x10\xb5\x3c\x3f\x1e\x4a\x5a\x82\xe0\xc5\x1c\x76\x9c\xf6\xf5\x4f\xfb\xf7\x76\xbc\x7d\x92\x2f\x8f\x4f\x6d\xac\xfb\x28\x8e\x3b\x14\xf6\xfa\xf0\x01\x4a\x14\x9c\x45\xd3\x95\x6b\x14\x21\x0d\x6c\x5a\x74\x60\x7d\xb8\x40\xae\xbb\x4c\x4e\xc0\x1a\x54\xd3\xb8\xcf\x66\x71\x13\xee\x02\x17\xcd\xae\xcc\xf8\xa6\x52\xe8\xfa\xe1\x66\xd1\x2f\xf7\x6f\x61\xd5\x2c\x23\x40\x31\xe4\x86\x67\x20\x88\x52\x4a\x3b\x23\x9e\x41\x5d\xc3\x44\xd7\xb5\x4a\xd6\xae\x8a\xb7\xb3\x80\x46\x67\x7e\x1f\xd9\xcd\xb5\xec\xc9\x6e\x6d\xbe\xa2\xc9\x63\xb8\xbb\xb3\x5c\xc2\x4b\x40\x89\x05\xa5\xc8\x6e\xa9\x7a\x73\x0c\x80\x42\x91\x82\xc6\x1d\x01\x37\xc0\x05\x34\x3e\x03\x2f\x27\x10\xed\xea\xe8\xf6\xf7\x00\x21\x73\x51\x3e\x6f\x4b\x73\x70\x6e\x23\x87\xd2\xab\xe9\x1f\x43\x09\xc5\xf1\x1c\x8c\x1c\x4b\xe9\x2c\x93\x82\x50\x01\x3d\x73\x6d\xb8\xd8\xf4\xdb\x8d\x93\x06\x3b\x1d\x50\x48\xc1\x19\x16\x50\xa2\xc9\xf5\x50\x06\xcc\x33\x49\xaa\xb6\xc5\xa3\x3e\xfc\xb6\x69\xb6\xf3\xf8\x97\x7a\x50\xcd\x4e\x1f\xcc\xc0\xed\xca\x86\xf7\x19\xb4\x43\x21\xc8\x24\x30\xe9\xf6\xd6\x0a\x4b\xb8\x1b\xc4\xd0\x16\x85\x5b\xd7\x67\x73\xe7\x13\x16\x28\x18\x1d\xef\xa3\x0b\x28\xb6\xd1\x5a\xf8\xd7\x06\xec\x07\xdd\x25\x11\x17\x8b\x76\x0c\x8d\x73\x30\x84\x21\xa0\x7d\x85\xe5\x1c\xd0\xf8\x5d\xf4\xbe\x32\xb6\xde\xbc\xdc\x4f\x1d\x0e\x57\xf5\xd8\xdd\xf9\x53\xe0\x2f\x32\x6e\xbc\x34\x5a\xe1\xeb\x90\xaf\x41\x4e\x29\xed\xba\x1a\xd2\x6f\x1a\xb0\x9e\xae\x9d\x2f\x4d\x45\x96\xbc\xa2\x38\x23\x05\xda\x90\x79\xad\x2c\x01\x1d\xf6\x1a\xce\x32\x58\x16\x7b\xb3\xf5\xc1\x85\x84\x54\x92\x76\x13\x36\xb7\xb3\x03\xdb\xc9\x02\xf5\x68\x69\x3d\x79\x09\x4f\xe3\x41\xb6\x56\x39\xb1\xef\x76\x0e\x5a\x2a\x06\xcc\xea\xfd\xde\xb7\x04\x6a\x4d\xca\x84\x59\xbc\x45\x54\xc2\x6c\x90\x28\x9e\x43\x60\xb6\x25\xad\x71\x43\x4b\xb8\x3e\xa7\xce\xdf\x50\x72\x37\xe0\x7f\x83\x69\x32\x55\x79\x89\x76\xf8\x72\xff\x2e\xc9\xb8\xe4\xfb\xa1\x15\x91\xf1\xb5\xef\xd6\x14\x1f\xee\xd5\x62\x32\x8a\xa7\x16\x16\xef\x49\xd4\x68\xc6\x45\x19\xfc\x32\x09\x19\x45\xd3\xee\x3c\x37\xe7\xd8\x7b\x75\x65\xd4\xed\x98\xbb\x4e\x64\x3a\x71\x99\x05\x05\x7a\x55\x6a\x7e\xe2\xf0\x3f\x9b\x32\xf6\xba\xa4\x64\x67\x86\xe7\x1a\xe5\x7d\x39\xd7\x34\x5c\x89\x77\x64\x8b\xd4\x3e\xe7\xf0\xcb\x73\xfb\x51\x35\x3c\xd3\xaf\x9f\xda\x94\x6d\x94\x21\xf6\xdf\x08\x37\x14\xe6\x78\x2a\x99\x08\x8a\x32\x52\x24\x18\x35\xe7\xb3\x06\x86\xf6\x0b\x1e\x8a\x63\x78\x86\xea\x7b\xe0\xba\xc9\x78\x56\x9e\xcb\x47\xe5\xa8\x5a\xf6\x27\x91\x1a\x4b\x98\xa4\x87\xbf\x91\xc7\x49\xcd\x8d\xfb\x47\xcf\xc4\x2a\x43\xfe\x61\x6b\xb1\x80\x8f\x69\x5a\x9f\x5e\x4e\x8f\xb3\xc1\x61\xb6\xd2\x76\xbe\x61\x9a\xfe\x4b\xfb\xfa\x7b\x73\x4b\x26\x97\xaf\xf2\x97\x78\xcb\x23\xe6\x1d\x6c\xdf\xd2\xd7\x10\xfa\x71\xf2\x7f\x00\x00\x00\xff\xff\x7f\x23\x7a\x17\xb9\x10\x00\x00"
+var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xdb\x38\x10\xbd\xfb\x57\x0c\x7c\xf0\x4a\x81\x57\xbe\x1b\x49\xba\xad\xb7\x5d\xec\x61\x17\x45\x93\xcd\x7d\x4c\x8d\x2c\xa2\x32\x29\x90\x94\x1d\x23\xf0\x7f\x5f\x90\xfa\x22\x6d\x29\x71\xdc\xa2\x3a\x24\xb2\xc4\x99\x79\xf3\x66\x38\x4f\xe4\xdb\x52\x2a\x03\x5f\x2a\xb1\xe1\xeb\x82\x1e\xe5\x77\x12\x90\x29\xb9\x85\x69\xf0\x6c\x3a\x19\x5a\xf9\xb0\xe7\x86\xe5\x6b\x89\x2a\x1d\x32\xf2\x5e\x77\xf6\x9f\x9f\x71\x5b\x86\x81\xfc\x47\xc3\x71\xfe\x21\x83\x29\x1a\x7c\xe2\xb4\xd7\x43\x91\x82\x05\xd3\xc9\x64\xb1\x58\xc0\x63\xce\x35\x18\x85\x42\x23\x33\x5c\x0a\xe0\x1a\x10\x0c\x6d\xcb\x02\x0d\x41\x26\x95\xfd\xe9\xbd\x37\x39\x1a\x60\xb2\x2a\x52\x58\x13\x54\x9a\x52\x58\x1f\x00\xc5\x41\x0a\x02\x23\x01\xd3\x14\x10\x04\xed\x21\x6b\x62\x83\x71\x69\xec\xb0\x2a\x8c\x8b\xc9\xb0\xc4\x35\x2f\xb8\x39\x58\x03\x93\x13\x57\xa0\x3d\x92\x14\x69\x59\x29\x46\x76\xf1\xc4\x8f\xfd\x32\x99\x00\x00\x14\x64\x80\x3c\x3a\x9e\xac\xe7\x55\xe7\x74\x09\xfd\xfd\xed\xec\x25\xa0\x20\xf9\x46\x8c\xf8\x8e\xd4\xf1\xbe\x73\xe5\x85\xfe\x46\xd9\x12\x60\x36\x56\x9f\xc4\xbb\xaf\xa1\x94\x8a\x4a\x54\x14\x69\xbe\x11\xa4\x96\x80\x95\xc9\xa3\x4f\x52\x29\xb9\x7f\xc2\xa2\xa2\x39\xfc\xad\x75\x45\x0f\x46\x2a\xdc\x50\x8f\x6b\x25\x85\x51\xb2\x28\x48\xcd\xe1\x6b\xb5\x2e\xb8\xce\xfb\x97\x73\x78\xc0\x1d\x35\xf6\xff\x89\xf2\xf4\x7d\x0c\xb3\x8f\x8c\xc9\x4a\x98\xb8\xa5\xa4\xcd\xc5\x91\xfc\x27\x1a\x84\xbb\xa0\x89\x12\xcb\x69\xb1\x23\x17\x17\x99\xb1\x2d\x10\xb5\x3c\x3f\x1e\x4a\x5a\x82\xe0\xc5\x1c\x76\x9c\xf6\xf5\x4f\xfb\xf7\x76\xbc\x7d\x92\x2f\x8f\x4f\x6d\xac\xfb\x28\x8e\x3b\x14\xf6\xfa\xf0\x01\x4a\x14\x9c\x45\xd3\x95\x6b\x14\x21\x0d\x6c\x5a\x74\x60\x7d\xb8\x40\xae\xbb\x4c\x4e\xc0\x1a\x54\xd3\xb8\xcf\x66\x71\x13\xee\x02\x17\xcd\xae\xcc\xf8\xa6\x52\xe8\xfa\xe1\x66\xd1\x2f\xf7\x6f\x61\xd5\x2c\x23\x40\x31\xe4\x86\x67\x20\x88\x52\x4a\x3b\x23\x9e\x41\x5d\xc3\x44\xd7\xb5\x4a\xd6\xae\x8a\xb7\xb3\x80\x46\x67\x7e\x1f\xd9\xcd\xb5\xec\xc9\x6e\x6d\xbe\xa2\xc9\x63\xb8\xbb\xb3\x5c\xc2\x4b\x40\x89\x05\xa5\xc8\x6e\xa9\x7a\x73\x0c\x80\x42\x91\x82\xc6\x1d\x01\x37\xc0\x05\x34\x3e\x03\x2f\x27\x10\xed\xea\xe8\xf6\xf7\x00\x21\x73\x51\x3e\x6f\x4b\x73\x70\x6e\x23\x87\xd2\xab\xe9\x1f\x43\x09\xc5\xf1\x1c\x8c\x1c\x4b\xe9\x2c\x93\x82\x50\x01\x3d\x73\x6d\xb8\xd8\xf4\xdb\x8d\x93\x06\x3b\x1d\x50\x48\xc1\x19\x16\x50\xa2\xc9\xf5\x50\x06\xcc\x33\x49\xaa\xb6\xc5\xa3\x3e\xfc\xb6\x69\xb6\xf3\xf8\x97\x7a\x50\xcd\x4e\x1f\xcc\xc0\xed\xca\x86\xf7\x19\xb4\x43\x21\xc8\x24\x30\xe9\xf6\xd6\x0a\x4b\xb8\x1b\xc4\xd0\x16\x85\x5b\xd7\x67\x73\xe7\x13\x16\x28\x18\xcd\xc3\x91\x5d\xd3\x7f\xbc\x8f\x2e\xe0\xdd\x42\x68\x73\xba\x16\x45\x3f\xfd\x2e\x89\xb8\x58\xb4\xb3\x69\x9c\x98\x21\x0c\x41\x2d\x56\x58\xce\x01\x8d\xdf\x5a\xef\xab\x6d\xeb\xcd\xcb\xfd\xd4\xe1\x70\xa9\x8f\xdd\x9d\x3f\x1a\xfe\x22\xe3\x66\x4e\x23\x20\xbe\x38\xf9\xc2\xe4\xe4\xd3\xae\xab\x21\xfd\xa6\x01\xeb\x91\xdb\xf9\xd2\x54\x64\xc9\x2b\x32\x34\x52\xa0\x0d\x99\xd7\xca\x12\xd0\x61\xaf\xe1\x2c\x83\x65\xb1\x37\x70\x1f\x5c\x48\x48\x25\x69\x37\x76\x73\x3b\x50\xb0\x1d\x37\x50\xcf\x9b\xd6\x93\x97\xf0\x34\x1e\x64\x6b\x95\x13\xfb\x6e\x87\xa3\xa5\x62\xc0\xac\x1e\x02\x7d\x4b\xa0\xd6\xa4\x4c\x98\xc5\x5b\x44\x25\xcc\x06\x89\xe2\x39\x04\x66\x5b\xd2\x1a\x37\xb4\x84\xeb\x73\xea\xfc\x0d\x25\x77\x03\xfe\x87\x99\x26\x53\x95\x97\x08\x8a\xff\x0d\xf0\x2e\x1d\xb9\xe4\xa3\xa2\x55\x96\xf1\xb5\xef\x16\x1a\x1f\xee\xd5\x0a\x33\x8a\xa7\x56\x1b\xef\x49\xd4\x08\xc9\x45\x19\xfc\x32\x5d\x19\x45\xd3\xee\x3c\x37\xe7\xd8\x7b\xc5\x66\xd4\xed\x98\xbb\x4e\x79\x3a\xc5\x99\x05\x05\x7a\x55\x7f\x7e\xe2\xf0\x3f\x9b\x32\xf6\xba\xa4\x64\x67\x86\xe7\x1a\xe5\x7d\x4e\xd7\x34\x5c\x89\x77\x64\x8b\xd4\x3e\x4f\x75\xf4\x17\xe4\xf6\xa3\x6a\x78\xa6\x5f\x3f\xb5\x29\xdb\x28\x43\xec\xbf\x11\x6e\x28\xcc\xf1\x54\x32\x11\x14\x65\xa4\x48\x30\x6a\x0e\x6d\x0d\x0c\xed\x17\x3c\x14\xc7\xf0\x60\xd5\xf7\xc0\x75\x93\xf1\xac\x3c\x97\x8f\xca\x51\xb5\xec\x8f\x27\x35\x96\x30\x49\x0f\x7f\x23\x8f\x93\x9a\x1b\xf7\x8f\x9e\x89\x55\x86\xfc\x13\xd8\x62\x01\x1f\xd3\xb4\x3e\xd2\x9c\x9e\x71\x83\x13\x6e\xa5\xed\x7c\xc3\x34\xfd\x97\xf6\xf5\x47\xe8\x96\x4c\x2e\x5f\xe5\x2f\xf1\x96\x47\xcc\x3b\xed\xbe\xa5\xaf\x21\xf4\xe3\xe4\xff\x00\x00\x00\xff\xff\xa5\xd5\x3f\x16\xce\x10\x00\x00"
 
 func switchboardAdd_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -602,7 +602,7 @@ func switchboardAdd_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x84, 0x71, 0xd2, 0xa1, 0x52, 0xd1, 0x47, 0xc2, 0xe0, 0x23, 0x38, 0x53, 0x30, 0x6b, 0xdf, 0x15, 0xea, 0x94, 0x34, 0x56, 0xb5, 0x9f, 0x47, 0xec, 0xb6, 0x76, 0xb5, 0x3c, 0x56, 0xbd, 0xd2, 0x42}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0x13, 0x13, 0xa6, 0x33, 0xab, 0x31, 0x65, 0xc6, 0xea, 0xc2, 0xf4, 0x2f, 0x93, 0x40, 0xf9, 0x27, 0xef, 0xf5, 0xb8, 0x1b, 0xcd, 0xee, 0xca, 0x1f, 0x3b, 0x11, 0xb6, 0x7c, 0xee, 0x9f, 0x4d}}
 	return a, nil
 }
 
diff --git a/transactions/metadata/setup_account_from_vault_reference.cdc b/transactions/metadata/setup_account_from_vault_reference.cdc
index 272a9283..2483feae 100644
--- a/transactions/metadata/setup_account_from_vault_reference.cdc
+++ b/transactions/metadata/setup_account_from_vault_reference.cdc
@@ -28,7 +28,7 @@ transaction(address: Address, publicPath: PublicPath) {
         signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)
         
         // Create a public capability for the vault which includes the .Resolver interface
-        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance}>(ftVaultData.storagePath)
+        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance, FungibleToken.Vault}>(ftVaultData.storagePath)
         signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)
 
         // Create a public capability for the vault exposing the receiver interface
diff --git a/transactions/privateForwarder/setup_and_create_forwarder.cdc b/transactions/privateForwarder/setup_and_create_forwarder.cdc
index 9e4e422a..9e1fef2a 100644
--- a/transactions/privateForwarder/setup_and_create_forwarder.cdc
+++ b/transactions/privateForwarder/setup_and_create_forwarder.cdc
@@ -28,7 +28,7 @@ transaction {
 
         // Create a public Vault Capability if needed
         if signer.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.metadataPath) == nil {
-            let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(
+            let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance, FungibleToken.Vault}>(
                     vaultData.storagePath
                 )
             signer.capabilities.publish(vaultCap, at: vaultData.metadataPath)
diff --git a/transactions/setup_account.cdc b/transactions/setup_account.cdc
index a837659d..8c04e506 100644
--- a/transactions/setup_account.cdc
+++ b/transactions/setup_account.cdc
@@ -25,7 +25,7 @@ transaction () {
         signer.storage.save(<-vault, to: vaultData.storagePath)
 
         // Create a public capability to the Vault that exposes the Vault interfaces
-        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance}>(
+        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance, FungibleToken.Vault}>(
             vaultData.storagePath
         )
         signer.capabilities.publish(vaultCap, at: vaultData.metadataPath)
diff --git a/transactions/switchboard/add_vault_capability.cdc b/transactions/switchboard/add_vault_capability.cdc
index 05724eb1..eeff6018 100644
--- a/transactions/switchboard/add_vault_capability.cdc
+++ b/transactions/switchboard/add_vault_capability.cdc
@@ -26,7 +26,7 @@ transaction {
             signer.capabilities.unpublish(vaultData.metadataPath)
             signer.capabilities.unpublish(vaultData.receiverPath)
             // Issue Vault & Receiver Capabilities
-            let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance}>(vaultData.storagePath)
+            let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance, FungibleToken.Vault}>(vaultData.storagePath)
             let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(vaultData.storagePath)
             // Publish Capabilities
             signer.capabilities.publish(vaultCap, at: vaultData.metadataPath)

From a85b4f9983e781066a6b0ecf99276cf3dbc38e54 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Mon, 5 Feb 2024 15:59:42 -0600
Subject: [PATCH 092/115] use correct linked types

---
 .github/workflows/ci.yml                      |   2 +-
 contracts/ExampleToken.cdc                    | 110 ++-
 contracts/FungibleToken.cdc                   |   2 -
 contracts/FungibleTokenMetadataViews.cdc      |   2 +-
 coverage.json                                 | 649 ++++++++++++++----
 lib/go/contracts/internal/assets/assets.go    |  18 +-
 lib/go/templates/internal/assets/assets.go    |  60 +-
 tests/scripts/get_token_metadata.cdc          |   3 +-
 tests/scripts/get_unsupported_view.cdc        |   6 +-
 tests/scripts/get_vault_data.cdc              |   5 +-
 tests/scripts/get_vault_display.cdc           |   2 +-
 tests/scripts/get_views.cdc                   |   2 +-
 tests/switchboard_tests.cdc                   |  31 +-
 transactions/create_forwarder.cdc             |   2 +-
 .../setup_account_from_vault_reference.cdc    |   2 +-
 .../scripts/metadata/get_token_metadata.cdc   |   2 +-
 .../scripts/metadata/get_vault_data.cdc       |   2 +-
 .../scripts/metadata/get_vault_display.cdc    |   2 +-
 .../metadata/get_vault_supply_view.cdc        |   2 +-
 ...ample_token_vault_display_strict_equal.cdc |   2 +-
 transactions/setup_account.cdc                |   4 +-
 .../switchboard/add_vault_capability.cdc      |   2 +-
 .../batch_add_vault_wrapper_capabilities.cdc  |   2 +-
 .../switchboard/safe_transfer_tokens_v2.cdc   |   2 +-
 .../switchboard/setup_royalty_account.cdc     |  12 +-
 .../setup_royalty_account_by_paths.cdc        |  12 +-
 transactions/switchboard/transfer_tokens.cdc  |   2 +-
 27 files changed, 652 insertions(+), 290 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 89bdb4a2..68b0cfc2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -19,7 +19,7 @@ jobs:
           restore-keys: |
             ${{ runner.os }}-go-
       - name: Install Flow CLI
-        run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.9.2-stable-cadence.1
+        run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.12.0-cadence-v1.0.0-M4-2
       - name: Flow CLI Version
         run: flow version
       - name: Update PATH
diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index c27e4a01..3a29dd5f 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -15,17 +15,56 @@ access(all) contract ExampleToken: FungibleToken {
     access(all) let AdminStoragePath: StoragePath
 
     access(all) view fun getContractViews(resourceType: Type?): [Type] {
-        let vaultRef = self.account.capabilities.borrow<&{FungibleToken.Vault}>(/public/exampleTokenVault)
-            ?? panic("Could not borrow a reference to the vault resolver")
-        
-        return vaultRef.getViews()
+        return [
+            Type<FungibleTokenMetadataViews.FTView>(),
+            Type<FungibleTokenMetadataViews.FTDisplay>(),
+            Type<FungibleTokenMetadataViews.FTVaultData>(),
+            Type<FungibleTokenMetadataViews.TotalSupply>()
+        ]
     }
 
     access(all) fun resolveContractView(resourceType: Type?, viewType: Type): AnyStruct? {
-        let vaultRef = self.account.capabilities.borrow<&{FungibleToken.Vault}>(/public/exampleTokenVault)
-            ?? panic("Could not borrow a reference to the vault resolver")
-        
-        return vaultRef.resolveView(viewType)
+        switch viewType {
+            case Type<FungibleTokenMetadataViews.FTView>():
+                return FungibleTokenMetadataViews.FTView(
+                    ftDisplay: self.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTDisplay>()) as! FungibleTokenMetadataViews.FTDisplay?,
+                    ftVaultData: self.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+                )
+            case Type<FungibleTokenMetadataViews.FTDisplay>():
+                let media = MetadataViews.Media(
+                        file: MetadataViews.HTTPFile(
+                        url: "https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.svg"
+                    ),
+                    mediaType: "image/svg+xml"
+                )
+                let medias = MetadataViews.Medias([media])
+                return FungibleTokenMetadataViews.FTDisplay(
+                    name: "Example Fungible Token",
+                    symbol: "EFT",
+                    description: "This fungible token is used as an example to help you develop your next FT #onFlow.",
+                    externalURL: MetadataViews.ExternalURL("https://example-ft.onflow.org"),
+                    logos: medias,
+                    socials: {
+                        "twitter": MetadataViews.ExternalURL("https://twitter.com/flow_blockchain")
+                    }
+                )
+            case Type<FungibleTokenMetadataViews.FTVaultData>():
+                return FungibleTokenMetadataViews.FTVaultData(
+                    storagePath: /storage/exampleTokenVault,
+                    receiverPath: /public/exampleTokenReceiver,
+                    metadataPath: /public/exampleTokenVault,
+                    receiverLinkedType: Type<&ExampleToken.Vault>(),
+                    metadataLinkedType: Type<&ExampleToken.Vault>(),
+                    createEmptyVaultFunction: (fun(): @{FungibleToken.Vault} {
+                        return <-ExampleToken.createEmptyVault(vaultType: Type<@ExampleToken.Vault>())
+                    })
+                )
+            case Type<FungibleTokenMetadataViews.TotalSupply>():
+                return FungibleTokenMetadataViews.TotalSupply(
+                    totalSupply: ExampleToken.totalSupply
+                )
+        }
+        return nil
     }
 
     /// Vault
@@ -67,58 +106,11 @@ access(all) contract ExampleToken: FungibleToken {
         }
 
         access(all) view fun getViews(): [Type] {
-            return [
-                Type<FungibleTokenMetadataViews.FTView>(),
-                Type<FungibleTokenMetadataViews.FTDisplay>(),
-                Type<FungibleTokenMetadataViews.FTVaultData>(),
-                Type<FungibleTokenMetadataViews.TotalSupply>()
-            ]
+            return ExampleToken.getContractViews(resourceType: nil)
         }
 
         access(all) fun resolveView(_ view: Type): AnyStruct? {
-            switch view {
-                case Type<FungibleTokenMetadataViews.FTView>():
-                    return FungibleTokenMetadataViews.FTView(
-                        ftDisplay: self.resolveView(Type<FungibleTokenMetadataViews.FTDisplay>()) as! FungibleTokenMetadataViews.FTDisplay?,
-                        ftVaultData: self.resolveView(Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
-                    )
-                case Type<FungibleTokenMetadataViews.FTDisplay>():
-                    let media = MetadataViews.Media(
-                            file: MetadataViews.HTTPFile(
-                            url: "https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.svg"
-                        ),
-                        mediaType: "image/svg+xml"
-                    )
-                    let medias = MetadataViews.Medias([media])
-                    return FungibleTokenMetadataViews.FTDisplay(
-                        name: "Example Fungible Token",
-                        symbol: "EFT",
-                        description: "This fungible token is used as an example to help you develop your next FT #onFlow.",
-                        externalURL: MetadataViews.ExternalURL("https://example-ft.onflow.org"),
-                        logos: medias,
-                        socials: {
-                            "twitter": MetadataViews.ExternalURL("https://twitter.com/flow_blockchain")
-                        }
-                    )
-                case Type<FungibleTokenMetadataViews.FTVaultData>():
-                    let vaultRef = ExampleToken.account.storage.borrow<&ExampleToken.Vault>(from: self.storagePath)
-                        ?? panic("Could not borrow a reference to the stored vault")
-                    return FungibleTokenMetadataViews.FTVaultData(
-                        storagePath: self.storagePath,
-                        receiverPath: self.receiverPath,
-                        metadataPath: self.publicPath,
-                        receiverLinkedType: Type<&{FungibleToken.Receiver}>(),
-                        metadataLinkedType: Type<&ExampleToken.Vault>(),
-                        createEmptyVaultFunction: (fun(): @{FungibleToken.Vault} {
-                            return <-vaultRef.createEmptyVault()
-                        })
-                    )
-                case Type<FungibleTokenMetadataViews.TotalSupply>():
-                    return FungibleTokenMetadataViews.TotalSupply(
-                        totalSupply: ExampleToken.totalSupply
-                    )
-            }
-            return nil
+            return ExampleToken.resolveContractView(resourceType: nil, viewType: view)
         }
 
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
@@ -221,9 +213,9 @@ access(all) contract ExampleToken: FungibleToken {
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
         // and the `balance` method through the `Balance` interface
         //
-        let exampleTokenCap = self.account.capabilities.storage.issue<&{FungibleToken.Balance, FungibleToken.Vault}>(vault.storagePath)
+        let exampleTokenCap = self.account.capabilities.storage.issue<&ExampleToken.Vault>(vault.storagePath)
         self.account.capabilities.publish(exampleTokenCap, at: vault.publicPath)
-        let receiverCap = self.account.capabilities.storage.issue<&{FungibleToken.Receiver}>(vault.storagePath)
+        let receiverCap = self.account.capabilities.storage.issue<&ExampleToken.Vault>(vault.storagePath)
         self.account.capabilities.publish(receiverCap, at: vault.receiverPath)
 
         self.account.storage.save(<-vault, to: /storage/exampleTokenVault)
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index c2ecba38..c7319119 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -62,8 +62,6 @@ access(all) contract interface FungibleToken: ViewResolver {
     ///
     access(all) resource interface Balance {
         access(all) var balance: UFix64
-        access(all) view fun getViews(): [Type]
-        access(all) fun resolveView(_ view: Type): AnyStruct?
     }
 
     /// Provider
diff --git a/contracts/FungibleTokenMetadataViews.cdc b/contracts/FungibleTokenMetadataViews.cdc
index f12eea18..789d7790 100644
--- a/contracts/FungibleTokenMetadataViews.cdc
+++ b/contracts/FungibleTokenMetadataViews.cdc
@@ -143,7 +143,7 @@ access(all) contract FungibleTokenMetadataViews {
         ) {
             pre {
                 receiverLinkedType.isSubtype(of: Type<&{FungibleToken.Receiver}>()): "Receiver public type must include FungibleToken.Receiver."
-                metadataLinkedType.isSubtype(of: Type<&{ViewResolver.Resolver}>()): "Metadata public type must include ViewResolver.Resolver interfaces."
+                metadataLinkedType.isSubtype(of: Type<&{FungibleToken.Vault}>()): "Metadata linked type must be a fungible token vault"
             }
             self.storagePath = storagePath
             self.receiverPath = receiverPath
diff --git a/coverage.json b/coverage.json
index 9664efd1..6a215484 100644
--- a/coverage.json
+++ b/coverage.json
@@ -2,95 +2,84 @@
   "coverage": {
     "./contracts/ExampleToken.cdc": {
       "line_hits": {
-        "104": 11,
-        "106": 11,
-        "113": 0,
-        "117": 0,
-        "121": 0,
-        "126": 0,
-        "127": 0,
-        "128": 0,
-        "132": 0,
-        "137": 0,
-        "151": 2,
-        "152": 2,
-        "165": 2,
-        "166": 2,
-        "167": 2,
-        "168": 2,
-        "179": 0,
-        "18": 0,
-        "194": 1,
-        "195": 1,
-        "196": 1,
-        "208": 1,
-        "21": 0,
-        "212": 1,
-        "214": 1,
-        "218": 1,
-        "224": 1,
-        "225": 1,
-        "226": 1,
-        "227": 1,
-        "229": 1,
-        "231": 1,
-        "232": 1,
-        "25": 11,
-        "28": 11,
-        "54": 5,
-        "55": 5,
-        "56": 5,
-        "57": 5,
-        "58": 5,
-        "63": 1,
-        "64": 1,
-        "66": 1,
-        "70": 1,
-        "79": 11,
-        "81": 0,
-        "86": 0,
-        "92": 0,
-        "93": 0
+        "102": 1,
+        "103": 1,
+        "105": 1,
+        "109": 1,
+        "113": 5,
+        "118": 0,
+        "119": 0,
+        "120": 0,
+        "124": 0,
+        "129": 0,
+        "143": 7,
+        "144": 7,
+        "157": 6,
+        "158": 6,
+        "159": 6,
+        "160": 6,
+        "171": 0,
+        "18": 1,
+        "186": 1,
+        "187": 1,
+        "188": 1,
+        "200": 8,
+        "204": 4,
+        "206": 4,
+        "210": 4,
+        "216": 4,
+        "217": 4,
+        "218": 4,
+        "219": 4,
+        "221": 4,
+        "223": 4,
+        "224": 4,
+        "27": 45,
+        "29": 2,
+        "34": 4,
+        "40": 4,
+        "41": 4,
+        "52": 38,
+        "59": 2,
+        "63": 0,
+        "67": 1,
+        "93": 20,
+        "94": 20,
+        "95": 20,
+        "96": 20,
+        "97": 20
       },
       "missed_lines": [
-        18,
-        21,
-        81,
-        86,
-        92,
-        93,
-        113,
-        117,
-        121,
-        126,
-        127,
-        128,
-        132,
-        137,
-        179
+        63,
+        118,
+        119,
+        120,
+        124,
+        129,
+        171
       ],
-      "statements": 49,
-      "percentage": "69.4%"
+      "statements": 46,
+      "percentage": "84.8%"
     },
     "./contracts/FungibleToken.cdc": {
       "line_hits": {
-        "100": 2,
+        "100": 7,
         "148": 1,
         "151": 1,
         "162": 0,
         "163": 0,
         "167": 0,
         "173": 0,
-        "181": 3,
-        "185": 2,
-        "189": 5,
-        "200": 2,
-        "202": 2,
-        "205": 6,
+        "181": 8,
+        "185": 7,
+        "189": 15,
+        "200": 6,
+        "202": 6,
+        "205": 18,
         "214": 0,
-        "223": 1,
-        "224": 1,
-        "98": 2
+        "223": 8,
+        "224": 8,
+        "98": 7
       },
       "missed_lines": [
         162,
@@ -104,52 +93,38 @@
     },
     "./contracts/FungibleTokenMetadataViews.cdc": {
       "line_hits": {
-        "102": 0,
-        "103": 0,
-        "104": 0,
+        "102": 2,
+        "103": 2,
+        "104": 2,
         "107": 0,
-        "145": 11,
-        "146": 11,
-        "148": 11,
-        "149": 11,
-        "150": 11,
-        "151": 11,
-        "152": 11,
-        "153": 11,
+        "145": 38,
+        "146": 38,
+        "148": 38,
+        "149": 38,
+        "150": 38,
+        "151": 38,
+        "152": 38,
+        "153": 38,
         "163": 0,
         "164": 0,
         "165": 0,
         "168": 0,
         "176": 0,
-        "27": 0,
-        "28": 0,
-        "38": 0,
-        "39": 0,
-        "40": 0,
+        "27": 2,
+        "28": 2,
+        "38": 2,
+        "39": 2,
+        "40": 2,
         "42": 0,
-        "87": 0,
-        "88": 0,
-        "89": 0,
-        "90": 0,
-        "91": 0,
-        "92": 0
+        "87": 5,
+        "88": 5,
+        "89": 5,
+        "90": 5,
+        "91": 5,
+        "92": 5
       },
       "missed_lines": [
-        27,
-        28,
-        38,
-        39,
-        40,
         42,
-        87,
-        88,
-        89,
-        90,
-        91,
-        92,
-        102,
-        103,
-        104,
         107,
         163,
         164,
@@ -158,7 +133,115 @@
         176
       ],
       "statements": 29,
-      "percentage": "27.6%"
+      "percentage": "75.9%"
+    },
+    "./contracts/FungibleTokenSwitchboard.cdc": {
+      "line_hits": {
+        "102": 0,
+        "104": 0,
+        "107": 0,
+        "110": 0,
+        "138": 0,
+        "140": 0,
+        "143": 0,
+        "164": 1,
+        "167": 1,
+        "168": 1,
+        "172": 1,
+        "174": 1,
+        "176": 1,
+        "195": 1,
+        "198": 1,
+        "201": 1,
+        "215": 4,
+        "219": 3,
+        "222": 3,
+        "239": 0,
+        "242": 0,
+        "244": 0,
+        "248": 0,
+        "249": 0,
+        "254": 0,
+        "256": 0,
+        "257": 0,
+        "266": 1,
+        "267": 0,
+        "270": 1,
+        "282": 1,
+        "283": 0,
+        "286": 1,
+        "297": 0,
+        "298": 0,
+        "299": 0,
+        "300": 0,
+        "303": 0,
+        "314": 0,
+        "316": 0,
+        "317": 0,
+        "319": 0,
+        "322": 0,
+        "330": 4,
+        "331": 4,
+        "332": 2,
+        "333": 2,
+        "336": 4,
+        "342": 0,
+        "343": 0,
+        "344": 0,
+        "345": 0,
+        "350": 1,
+        "359": 1,
+        "363": 1,
+        "364": 1,
+        "365": 1,
+        "68": 1,
+        "71": 1,
+        "74": 1,
+        "77": 1,
+        "82": 0,
+        "94": 0,
+        "97": 0,
+        "98": 0
+      },
+      "missed_lines": [
+        82,
+        94,
+        97,
+        98,
+        102,
+        104,
+        107,
+        110,
+        138,
+        140,
+        143,
+        239,
+        242,
+        244,
+        248,
+        249,
+        254,
+        256,
+        257,
+        267,
+        283,
+        297,
+        298,
+        299,
+        300,
+        303,
+        314,
+        316,
+        317,
+        319,
+        322,
+        342,
+        343,
+        344,
+        345
+      ],
+      "statements": 65,
+      "percentage": "46.2%"
     },
     "./contracts/utility/Burner.cdc": {
       "line_hits": {
@@ -194,31 +277,339 @@
       ],
       "statements": 15,
       "percentage": "20.0%"
+    },
+    "./contracts/utility/MetadataViews.cdc": {
+      "line_hits": {
+        "111": 0,
+        "112": 0,
+        "121": 0,
+        "122": 0,
+        "125": 0,
+        "143": 5,
+        "144": 5,
+        "156": 5,
+        "166": 0,
+        "167": 0,
+        "168": 0,
+        "171": 0,
+        "181": 0,
+        "191": 0,
+        "192": 0,
+        "193": 0,
+        "196": 0,
+        "208": 10,
+        "218": 0,
+        "219": 0,
+        "220": 0,
+        "223": 0,
+        "257": 0,
+        "259": 0,
+        "260": 0,
+        "261": 0,
+        "276": 0,
+        "277": 0,
+        "278": 0,
+        "280": 0,
+        "282": 0,
+        "290": 0,
+        "300": 0,
+        "301": 0,
+        "302": 0,
+        "305": 0,
+        "315": 0,
+        "340": 0,
+        "341": 0,
+        "342": 0,
+        "343": 0,
+        "354": 0,
+        "362": 0,
+        "372": 0,
+        "373": 0,
+        "374": 0,
+        "377": 0,
+        "392": 0,
+        "393": 0,
+        "394": 0,
+        "398": 0,
+        "399": 0,
+        "400": 0,
+        "401": 0,
+        "404": 0,
+        "432": 0,
+        "433": 0,
+        "435": 0,
+        "436": 0,
+        "437": 0,
+        "450": 0,
+        "460": 0,
+        "461": 0,
+        "462": 0,
+        "465": 0,
+        "478": 0,
+        "48": 0,
+        "488": 0,
+        "489": 0,
+        "49": 0,
+        "490": 0,
+        "493": 0,
+        "50": 0,
+        "513": 0,
+        "514": 0,
+        "517": 0,
+        "518": 0,
+        "519": 0,
+        "529": 0,
+        "530": 0,
+        "531": 0,
+        "534": 0,
+        "561": 0,
+        "562": 0,
+        "563": 0,
+        "564": 0,
+        "565": 0,
+        "566": 0,
+        "567": 0,
+        "568": 0,
+        "579": 0,
+        "580": 0,
+        "581": 0,
+        "584": 0,
+        "60": 0,
+        "61": 0,
+        "62": 0,
+        "627": 0,
+        "629": 0,
+        "630": 0,
+        "631": 0,
+        "632": 0,
+        "633": 0,
+        "643": 0,
+        "644": 0,
+        "645": 0,
+        "648": 0,
+        "65": 0,
+        "683": 0,
+        "684": 0,
+        "685": 0,
+        "686": 0,
+        "687": 0,
+        "688": 0,
+        "699": 0,
+        "700": 0,
+        "701": 0,
+        "704": 0,
+        "81": 5,
+        "85": 3
+      },
+      "missed_lines": [
+        48,
+        49,
+        50,
+        60,
+        61,
+        62,
+        65,
+        111,
+        112,
+        121,
+        122,
+        125,
+        166,
+        167,
+        168,
+        171,
+        181,
+        191,
+        192,
+        193,
+        196,
+        218,
+        219,
+        220,
+        223,
+        257,
+        259,
+        260,
+        261,
+        276,
+        277,
+        278,
+        280,
+        282,
+        290,
+        300,
+        301,
+        302,
+        305,
+        315,
+        340,
+        341,
+        342,
+        343,
+        354,
+        362,
+        372,
+        373,
+        374,
+        377,
+        392,
+        393,
+        394,
+        398,
+        399,
+        400,
+        401,
+        404,
+        432,
+        433,
+        435,
+        436,
+        437,
+        450,
+        460,
+        461,
+        462,
+        465,
+        478,
+        488,
+        489,
+        490,
+        493,
+        513,
+        514,
+        517,
+        518,
+        519,
+        529,
+        530,
+        531,
+        534,
+        561,
+        562,
+        563,
+        564,
+        565,
+        566,
+        567,
+        568,
+        579,
+        580,
+        581,
+        584,
+        627,
+        629,
+        630,
+        631,
+        632,
+        633,
+        643,
+        644,
+        645,
+        648,
+        683,
+        684,
+        685,
+        686,
+        687,
+        688,
+        699,
+        700,
+        701,
+        704
+      ],
+      "statements": 120,
+      "percentage": "5.0%"
+    },
+    "./contracts/utility/PrivateReceiverForwarder.cdc": {
+      "line_hits": {
+        "35": 1,
+        "37": 1,
+        "39": 1,
+        "41": 1,
+        "43": 1,
+        "48": 2,
+        "50": 2,
+        "57": 2,
+        "64": 1,
+        "66": 1,
+        "70": 1,
+        "77": 1,
+        "79": 1,
+        "80": 1,
+        "82": 1
+      },
+      "missed_lines": [],
+      "statements": 15,
+      "percentage": "100.0%"
+    },
+    "./contracts/utility/TokenForwarding.cdc": {
+      "line_hits": {
+        "105": 0,
+        "106": 0,
+        "107": 0,
+        "108": 0,
+        "113": 1,
+        "115": 1,
+        "122": 1,
+        "52": 1,
+        "54": 1,
+        "56": 1,
+        "58": 1,
+        "60": 1,
+        "66": 0,
+        "76": 0,
+        "83": 0,
+        "85": 0,
+        "93": 0,
+        "94": 0,
+        "96": 0,
+        "97": 0,
+        "98": 0,
+        "99": 0
+      },
+      "missed_lines": [
+        66,
+        76,
+        83,
+        85,
+        93,
+        94,
+        96,
+        97,
+        98,
+        99,
+        105,
+        106,
+        107,
+        108
+      ],
+      "statements": 22,
+      "percentage": "36.4%"
     }
   },
   "excluded_locations": [
-    "A.0000000000000002.FungibleToken",
-    "A.0000000000000001.MetadataViews",
+    "A.0000000000000001.NonFungibleToken",
     "A.0000000000000001.FlowServiceAccount",
-    "I.Crypto",
+    "A.0000000000000001.FlowStorageFees",
+    "A.0000000000000001.FlowClusterQC",
     "I.BlockchainHelpers",
-    "A.0000000000000004.FlowFees",
     "A.0000000000000002.FungibleTokenMetadataViews",
-    "A.0000000000000001.NonFungibleToken",
-    "A.0000000000000001.ViewResolver",
-    "A.0000000000000003.FlowToken",
-    "A.0000000000000001.FlowClusterQC",
-    "A.0000000000000001.FlowIDTableStaking",
-    "A.0000000000000001.ExampleNFT",
-    "A.0000000000000001.FlowDKG",
-    "A.0000000000000001.FlowStorageFees",
-    "A.0000000000000001.FlowEpoch",
-    "I.Test",
     "A.0000000000000001.StakingProxy",
-    "A.0000000000000001.RandomBeaconHistory",
+    "A.0000000000000001.FlowDKG",
+    "A.0000000000000004.FlowFees",
     "A.0000000000000001.NodeVersionBeacon",
+    "A.0000000000000002.FungibleToken",
     "s.7465737400000000000000000000000000000000000000000000000000000000",
+    "A.0000000000000001.FlowEpoch",
+    "A.0000000000000001.RandomBeaconHistory",
+    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000001.LockedTokens",
+    "A.0000000000000003.FlowToken",
+    "A.0000000000000001.MetadataViews",
     "A.0000000000000001.FlowStakingCollection",
-    "A.0000000000000001.LockedTokens"
+    "A.0000000000000001.ViewResolver",
+    "A.0000000000000001.ExampleNFT",
+    "I.Crypto",
+    "I.Test"
   ]
 }
\ No newline at end of file
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 866df334..5828d3e0 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,8 +1,8 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (10.363kB)
-// ../../../contracts/FungibleToken.cdc (10.137kB)
-// ../../../contracts/FungibleTokenMetadataViews.cdc (6.67kB)
+// ../../../contracts/ExampleToken.cdc (9.779kB)
+// ../../../contracts/FungibleToken.cdc (10.027kB)
+// ../../../contracts/FungibleTokenMetadataViews.cdc (6.652kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.044kB)
 // ../../../contracts/utility/Burner.cdc (1.882kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.61kB)
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\x6d\x6f\xdb\x38\xf2\x7f\x9f\x4f\x31\xeb\x3f\xf0\x3f\x1b\x4d\x94\x74\xb7\xed\xed\x1a\x79\xd8\xb4\xdb\xe0\x0e\xd8\x02\x45\x9b\xdd\x7d\x51\x14\x0d\x2d\x8d\x2d\x5e\x24\x52\x20\x29\x3b\xde\x20\xdf\xfd\xc0\x27\x89\xd4\x83\xe3\xa6\x7d\x75\x7a\x91\x58\x12\x67\x38\x9c\xf9\xcd\x70\x66\x28\x5a\x56\x5c\x28\xb8\xaa\xd9\x8a\x2e\x0a\xbc\xe6\xb7\xc8\x60\x29\x78\x09\x93\xe8\xd9\xe4\xc0\x8d\x7c\x87\x8a\x64\x44\x91\x3f\x29\x6e\xa4\x1b\x19\x3d\x6b\x46\x46\xf4\x43\x64\xe3\x03\x1a\x1e\xfa\xee\x03\x4a\x5e\xac\x51\x38\xaa\xf0\xd1\xe4\xe0\x80\xa4\x29\x4a\x39\x25\x45\x31\x83\x94\x33\x25\x48\xaa\xe0\xed\x1d\x29\x2b\xc7\x78\xde\x59\xdc\xfd\xc1\x01\x00\xc0\xf1\xf1\x31\x5c\xe7\x08\xb8\x46\xa6\x40\xe5\x44\x01\x95\x80\x25\x55\x0a\x33\xd8\xe4\xc8\x80\xe1\x06\x94\xa6\x91\x40\x04\x42\x49\x99\xc2\xcc\x10\x87\x93\x5a\x06\x86\xb7\x7c\x67\x86\x4c\x49\xc9\x6b\xa6\xe6\xf0\xc7\x15\xbd\x7b\xf5\xe2\x10\xd4\xb6\xc2\x39\x7c\x54\x82\xb2\xd5\x2c\x98\x9e\x2b\x52\x80\xac\xab\xaa\xd8\x02\x5f\x46\x52\x4b\xa0\x0c\xf0\x8e\x4a\x85\x2c\xc5\xde\xa4\x6b\x22\x40\x69\xf2\x8f\x86\xda\x4f\xd5\xf2\xbe\xcc\x4a\xca\xe0\x3d\x51\x79\x8f\xb6\x40\x65\x5f\x7f\x54\x5c\x90\x15\xea\x41\x5a\xba\xe6\xe6\xa0\x3f\x1d\xc5\x0d\x2c\x6b\x06\x2b\x54\x6f\x9c\x92\x8d\xa1\xa6\x02\x25\xaf\x45\x8a\xd7\x66\x89\xfa\xef\xc5\x6c\x0e\x9f\xf4\x8f\xcf\x70\x6f\x18\xe9\x4b\xcf\xb9\x26\x75\xa1\x3e\xe0\x12\xce\x40\x62\xb1\x4c\x48\x9a\x6a\x35\x25\x29\xa9\xc8\x82\x16\x54\x51\x94\xc9\x82\x0b\xc1\x37\xa7\xff\x7f\x1f\x19\x2d\xf9\x53\xd3\x3e\x9c\x4f\x8f\xab\x7a\x51\xd0\xf4\x18\x03\x55\x99\x77\xb3\x66\x2a\x7d\x5d\x5c\x40\x45\x18\x4d\xa7\x93\x37\xbc\x2e\x32\x60\x5c\x81\xe5\x0c\x04\x04\x2e\x51\x68\xad\x82\xe2\xa0\x72\xb4\x82\x81\xf0\x98\x6a\x59\x35\x3f\x04\xaa\x5a\xb0\x66\x05\xc9\x0a\xdd\xf2\xed\xd8\x87\xbe\xc6\xb4\xb2\x1c\xc7\x50\x61\x43\xfa\x3a\x34\xea\x6d\x1f\xcc\xe6\x70\xc9\xb6\x1f\x95\xa8\x53\x75\xf1\xbf\xab\x43\x37\xd6\x68\xc5\x2b\x20\x52\xa7\x86\xb1\x91\xcb\xdf\x35\x4f\xdf\x92\x34\x87\x5a\xa2\x00\xa9\xb8\x40\x09\x84\x01\x65\x52\x11\x2d\x10\x5f\x02\x67\xc5\xd6\x48\x65\xc8\xb5\x27\xa9\x1c\xa9\x1d\x4d\x56\x18\xf9\xff\xb2\x66\xa9\xa2\xdc\x3a\x5c\x4b\x43\x58\x06\x2b\xbe\x46\xc1\x30\x83\x85\xe5\x56\x09\x34\xcf\x2b\x2e\x95\x8e\x35\x19\x35\x84\x0d\x3b\xca\x3a\xa1\xc6\x44\x11\x95\xe3\xd6\xc4\x8f\x94\x14\x05\x66\x49\x34\x7b\x9a\x63\x7a\x2b\x21\x27\x55\x85\x0c\x88\x02\x51\x33\x45\x4b\x34\xa4\xa8\x83\x1e\x69\x24\xd4\xf1\xa9\xc3\xa3\xe1\xf5\xc1\xc1\x4a\x8f\x60\x76\xfd\x0b\x84\x54\x20\xd1\xd1\xcc\xad\x4c\x87\x47\xbc\x53\x5a\x43\xfe\xd6\x44\x4b\x13\xfc\xb4\x98\x0d\x3b\x2d\x6e\x86\x4b\xca\x0c\xf1\x21\x48\x63\x64\x81\x5a\x04\xc6\x61\x43\xb6\xb0\xe4\x5a\xb6\x92\x14\x34\xa5\xbc\x96\xd6\x1c\x8a\xbb\x39\xad\x16\x5b\xd5\xf0\xda\x4d\x4b\x19\x10\x2a\x12\xb8\x04\x59\x61\x4a\x49\x01\x26\x66\x0a\xf0\x8e\x01\x0c\x31\x93\x9a\xd3\xa2\x95\x41\x71\x13\x7d\x1b\x76\x6d\x64\x8e\x55\x11\x7a\x60\xc3\xd0\x88\xd2\xd9\x05\xac\x33\xf8\xbd\x20\xb4\x88\x89\xaa\xb0\x20\x85\x07\x93\xca\xa9\xb4\xa8\x6d\xc6\x76\x23\xb1\x1b\x1d\x47\xe1\xa1\x81\x72\x2c\xe2\x8e\x11\x58\x57\xb5\xe3\xdf\x37\xbf\x47\x87\x0b\x4c\x91\xae\x51\xf4\x08\x82\x65\x02\x65\x54\x51\x52\xd0\xbf\xd1\xc0\xc0\x2f\x95\xa8\x56\x65\xc6\x88\x1a\x72\x1a\x8b\x0d\xad\x26\x9c\x76\xd6\x3a\x0b\x02\x94\xbe\x4c\x54\xf2\x2c\xcf\x3c\xf3\x68\x88\x8e\x63\x34\x43\xa6\xe8\x92\xa2\x80\x33\x98\xf4\x22\xd1\xa4\xcf\x33\x50\x1d\x9c\x85\xba\x9b\xb6\xbc\xe6\x01\xdf\xd9\x0f\x7d\x1e\xad\x36\xe1\x2c\xd0\xce\x57\x70\x08\x15\x3c\xce\x23\x5a\xd0\x07\x47\x32\x09\xf8\x3d\xc4\xb8\x7b\x63\xbc\xda\x86\x0b\xe3\xef\x06\xa8\x16\xe1\xda\xe5\x16\xb5\x09\x43\x6b\x4a\x8c\xc5\x6e\x5e\xeb\x7b\x91\xe8\xc7\xd3\xd9\x0d\x94\xa8\x72\x9e\x75\x41\xe1\xdd\xdb\xee\x45\x7a\xac\x9e\x66\x41\xd2\xdb\x69\xd7\x68\x74\x19\xdb\xed\x1c\x4e\x92\x93\xce\x18\x7d\x85\x09\x4a\x12\xa4\x1f\x70\x36\xfe\xea\x28\x62\x1d\xb1\x7c\xd8\x85\x9c\x93\xe4\x64\x48\x5d\x63\x59\x89\xdb\x8e\x07\x52\x0f\x68\xf7\x9e\x4f\xbd\x15\xe9\xc1\xa7\xe3\x79\x68\x72\x75\xad\xff\x9f\x4f\x67\x87\x4f\x20\xfd\x8d\xca\xaa\x20\xdb\x27\x52\x1b\x47\xf8\x8d\x28\xf2\x24\xfa\xeb\xd6\x04\xe7\xd3\x78\x63\xff\xfc\x98\x5e\x83\xdc\xc5\xec\xce\x5f\x8c\xa6\x77\x27\x27\xc6\x82\x1b\xaa\xd2\xdc\x9a\xa5\x0f\x9e\x94\x48\xdc\x5f\xdf\xf3\x1e\x7d\x60\xc7\x47\x19\x4c\x07\xa9\xf5\xb5\x54\xce\x2a\x73\xef\xd0\xed\x3a\xbf\xc6\xa2\x33\x20\xf2\x87\xdd\x82\xb8\xc1\x17\x7d\xe3\xb5\xc2\x34\x46\x7e\x92\x38\x21\x44\xf6\x10\xa8\x19\x7e\x31\x28\xd1\xec\xa9\x26\x6b\xb5\x32\x6c\x35\x1d\xf0\x4b\xcc\x28\x81\xb3\xb8\x7c\x4c\xde\xe9\xa7\xe3\xc6\x32\x3a\xa2\x05\xce\x3b\x64\xff\xba\xbe\x7e\x7f\x45\x0b\xdc\x4d\x59\x8b\x62\x0e\x93\x5c\xa9\x4a\xce\x8f\x8f\x89\x94\xa8\x64\xb2\xc1\x85\xa4\x0a\x8f\x34\x5b\x99\xa4\xbc\x3c\x7e\xb9\x7c\xf5\xe3\x2f\x2f\xd2\x93\xf4\x9f\xe4\xe7\x34\xcb\x5e\xbd\xf8\x69\xf1\x3c\xfd\xf9\xc7\x93\xce\x0b\xf2\xf2\x65\xba\x78\x9e\xfe\xf2\xd3\xab\x2f\x57\x05\xdf\x7c\xf9\x8b\x8b\xac\x24\xe2\x36\x91\xeb\xd5\x64\x54\x8e\x01\xcf\xf5\x97\xd1\x88\xcd\xfa\x27\xb4\x24\x2b\x3c\x96\xeb\xd5\xb3\xbb\xb2\x18\xe6\xd6\xb7\x4e\xa4\x5a\x39\xac\x5b\x39\xfd\x64\x5e\x7f\x1e\x26\xdf\xc7\x9f\x9c\x75\xc7\x75\xcd\x48\xa9\xd7\xe0\x76\x80\x86\x99\x2d\x89\x27\xe3\x0a\x90\xdb\x72\xc1\xb5\x89\xde\x5e\x5d\xef\x18\x96\xa1\x4c\x05\xad\x74\x3a\x32\x87\xc9\xb5\xce\xc6\xfa\x3b\x64\x2d\x31\x03\x62\x0a\x01\xb7\xf7\xea\x9c\x31\xc7\xa2\x82\x2d\xaf\x21\xc3\x35\x16\xdc\xfc\x16\xc0\x74\x0e\x7c\x75\x0d\xff\xc7\x99\xb6\x64\xb2\x63\x6e\xbc\x53\x28\x18\x29\xfe\xf8\xf0\x7b\x17\x83\x6f\xdb\x57\xd3\x06\x64\x6e\xee\xa3\xa5\x4a\x38\x5b\x6a\xe6\x5c\xac\x26\x3b\x40\x50\xf0\x15\x97\x73\x67\xc2\x1d\xaa\xe2\x3a\x55\x96\xf3\x81\xb0\x1a\x5e\x13\xb5\xa1\x4a\xa1\x98\xec\x25\xac\x1b\x6c\x9c\x40\xcb\xfa\x65\x51\xf0\xf4\x36\xcd\x09\x65\x93\x61\xb8\x40\x6f\xd3\xf6\xd7\x93\x63\x47\x18\xc2\xc6\xa3\x47\x50\xf6\x46\x89\x86\x2f\x7f\x5d\x72\xd8\x54\xbe\xd1\x20\x33\xc5\xf9\x74\x29\x78\x39\xef\xe5\x92\xe3\x0b\xfd\xba\xfa\xd7\x14\xa2\x99\x15\x74\x44\x7b\x7b\x6d\x5e\x5e\x1d\xe3\xee\x16\xd5\x10\xdd\xe5\x8c\x43\x28\x2e\x0d\x7a\xc9\xec\xae\x38\x65\x45\x0c\x08\xdb\x3c\xfa\xf1\xf9\x7e\xa7\xec\x16\xb3\xb6\xbb\xd1\x6b\x4b\xf8\xfc\xf8\x61\x30\xcf\xe9\x4a\xd1\x67\x37\x64\xeb\x1d\x8c\x6c\x7d\xfa\xb6\xac\xd4\xd6\x0c\xbe\x72\xd5\xf5\x1c\xa6\xcb\x9a\xe9\x0c\xf2\xd7\xc1\xbe\xc9\x23\xae\xe7\x8c\x7b\x7a\xd4\xf4\x37\xba\x13\x4d\x77\xf8\xd4\xf0\xab\x27\x3a\x55\x9c\xfa\x3d\x35\x91\x0a\xb8\x8c\x63\x31\x6a\x41\x8e\x95\x00\x7b\xac\xed\x61\x28\x5b\x67\xb4\x18\x2b\x98\x56\xa8\x34\x6f\x2e\x14\x66\x46\xb9\x5a\x27\x12\xb8\xd9\x25\x48\x51\x6c\x1d\x0f\x09\x04\x0a\x2a\x4d\xef\xc1\x76\xa8\x94\x19\xe8\x3a\x1e\x54\x36\x30\x35\x09\x70\xe5\x3a\x16\xb0\xa3\xd0\x18\x98\x57\x83\xe6\xde\x42\xf2\x35\xe7\x45\x17\x2a\x3a\x80\x49\x4f\x65\x08\x3a\xc3\xcf\xe0\xbe\x53\x0a\x45\xa3\x3f\x19\x9f\x5b\xa1\x99\x6c\x3a\xfb\x0c\x67\xa0\x44\x8d\x43\x2a\x8b\x09\xf7\xae\x9f\xa8\xec\xaf\x6a\xaa\xc2\x86\xa4\x16\x74\xb8\xa6\xf2\xc2\x0d\xea\xe5\x93\x32\xc5\xd8\xc5\x05\x2c\x49\x21\x71\xcc\x9c\x97\xf2\x56\xea\x22\x54\x07\x52\xdb\x3b\x37\x6d\xac\x05\xc2\x86\xaa\x3c\x13\x64\xe3\xce\x24\x1e\xeb\xc5\xb4\x0b\xba\x5c\x13\x5a\x10\x03\xed\xbf\x1c\x8f\x4e\x5b\x7e\xe7\xaa\x9c\x14\xa7\x67\xc3\xd5\x6b\x47\x7e\x2f\x65\xf8\x30\x1a\xe0\x83\x8c\x03\x1e\xb9\xb5\x3d\x4b\x37\x8b\xcd\x5b\x88\x58\xd5\x25\x32\x15\x11\x12\x96\x35\xdc\x1d\x6c\x1d\x91\xd3\x87\x6b\x6f\x25\xa3\x53\xff\x5b\xb9\x90\xa7\x7d\xc1\xf4\xcd\xb0\xac\xb8\x20\x62\xeb\x3a\x9d\xfe\xe8\xc3\xa4\x50\x3a\x69\xe2\x45\x16\x71\x50\x39\xfa\x63\x10\x2b\x80\x40\x58\x20\x65\x2b\x50\x82\x30\xb9\x44\x21\x30\x4b\xf4\x44\xde\xe9\x34\x05\xc3\x4d\xe0\xfa\x9a\x8f\xef\x46\xba\x69\x79\xd4\x93\x34\x9c\x6d\x77\x13\x24\x07\xda\x20\x20\xc3\x8a\xeb\x8c\x3d\x96\x09\x0b\x89\x9b\x1c\x05\x0e\x2f\xdc\x81\x22\x8e\xe3\x1e\x07\xb6\xc0\xdd\x8c\xa2\xe2\xd7\xfe\x8e\xb2\xbb\xc9\x15\xdd\x1e\x39\x03\x0d\xa1\xea\xf4\x28\xec\x8e\xb6\xad\x34\x4b\x31\x1b\x83\x97\x53\xc1\xd7\xa1\xcb\xa9\x99\x2f\xfe\x83\x69\x17\x62\x06\x56\x24\xcb\x64\xc4\x86\x2a\xd9\x34\x03\x9d\x75\xa2\x36\x28\x02\xdf\x30\x14\x72\x0f\xc4\x51\x09\xa4\x28\xf8\xc6\x22\x2a\x43\xa9\x04\xb7\x3d\x74\xa9\xa7\xb7\xa2\x2d\x30\x25\xb5\xc4\x16\xc4\xb1\x4f\x69\x91\x03\xb0\x6a\x58\xa2\xf0\x92\xb8\xe6\xaf\xe9\xd8\x1a\xda\x7f\xb4\xb2\xe7\x24\x5e\xd7\x02\x91\x69\x9c\xc9\xba\xd4\x45\x02\xcb\x6c\x2f\x7b\xc9\x4d\x4f\xde\x81\xcc\x48\xe8\x3b\xeb\x23\x70\x6a\x9a\x23\xce\x20\x2e\xa5\x1c\xce\x17\xba\x3d\xb6\x26\x8d\x85\xd3\x23\xeb\xbc\xba\x5e\x1f\xc0\xda\xde\x48\x7b\x66\xf9\x0d\xb6\xd6\xa2\x37\x9d\x6e\x1a\xd8\xa2\xca\x98\x24\x8e\xa5\x1d\xdc\x75\x33\x98\x3d\x01\x18\x87\x1b\x6b\x6b\xed\x6d\x40\x42\x3c\xfd\x8d\x82\xf7\x42\x9d\x0f\x20\xb4\x8d\x0f\xa4\x28\x74\xa8\x71\x71\x22\x81\x4b\x7b\xd2\x50\xd6\xd2\xc6\x0b\xbb\x27\xf8\x33\x92\x1e\x47\x93\x97\x1b\x4e\x96\x77\x13\x7f\xba\x87\x42\xfa\x01\x17\x99\x3d\xc4\x30\xe0\xb5\xef\x63\x8e\xb6\xde\x70\xa7\x13\xc4\x96\xa0\x3e\x87\xf0\xb0\x90\xcd\xa9\x81\x2d\x4f\xf5\x1e\xb8\x1f\xae\xfa\x29\xe3\x3e\xd1\xe8\x91\xe0\x72\x92\x9c\x84\x91\x05\xe2\x03\x36\x7b\xfa\x72\x00\x23\xe7\x49\x3e\x7e\xd8\xc8\x62\x96\x43\xcc\xc9\xb2\xd3\x84\x3d\x6f\xd2\xbe\xe9\xcf\x68\xbe\xee\x6c\xc6\x1d\xfe\xdc\x47\x5a\xd6\x6c\xec\x21\xf8\x9e\x88\xd3\x04\x32\x98\xf8\xd0\x04\x37\x6d\xbf\xd2\xe3\x48\x05\x67\xed\x87\xa3\xb8\x0b\x29\xba\xc8\xdb\xcb\x82\xad\xe8\x4f\xd9\x57\x9e\xd2\x5f\x7f\x36\xb4\xdf\x60\x49\x47\x3e\x49\xb0\xff\xfd\x27\x09\x71\x66\x99\x04\x67\x1f\xdf\xb6\x7d\x75\x40\x36\x18\x48\x42\xb8\x7d\x53\x00\xf9\xbe\xc1\xe3\xfb\x06\x8e\xef\x10\x34\x86\xfc\x67\x30\x58\xac\x7d\xe2\xdd\x64\xed\xbb\x11\xd7\x58\x15\x1e\x09\x1c\xce\x92\xe6\xf8\x2f\xdc\xd6\x0c\x7a\x62\x98\x3e\x3f\x39\xd1\x5b\x4d\x3c\xa4\xfb\xb1\x09\x9c\xc1\xb1\x53\x5e\xf4\x11\x82\xfd\x66\x25\x3a\xab\x7c\x63\x25\x6b\xcf\xe5\x0d\x0e\xba\x0e\x6d\x74\xe7\x3e\xd4\xd1\xa6\x23\x6b\xd4\x28\xa0\x2c\x3a\xf1\xb7\x2c\x9b\x9f\xd1\x86\x3c\xac\x81\xee\x02\x67\x43\xb2\x11\x77\x48\x0b\xcd\x37\x18\xdb\x4e\x53\x28\xc8\xb3\xf1\xae\xe2\x12\xc3\xb8\x66\x4f\xf4\x1c\x0a\xfc\x59\x9e\xfd\xfc\x00\xd5\xa5\x29\x4a\x5d\x39\xe7\xdf\xa9\x5c\xf0\x7a\x65\xb5\x70\xe3\xbb\x27\x37\x60\x22\xe9\x92\xa4\xe1\x62\x7d\xb6\x03\x37\x6e\x4d\x37\x83\x4c\x5e\xfb\x97\x43\x3c\x22\x85\x85\xe6\x7a\x43\xaa\x9d\x9f\xa1\xf8\xa6\x1c\x95\xb2\xee\xb7\x7d\xdc\x9c\x87\x43\xe7\xf2\x0f\xe7\x16\xcc\xc3\x8d\xba\xf1\x19\x8d\x21\x64\x3e\xed\x48\x79\x08\x44\xcd\x5d\x4a\xd4\xb6\xae\x66\xd1\xc2\x7c\x1f\xe0\xdb\x16\x15\xf4\xb2\xbe\x69\x01\x81\x34\xa1\xf0\x61\xc3\x6e\x76\x30\xcc\xcf\x0b\xa8\x9d\x60\xea\xda\x51\x87\xa0\xf8\x7c\xd8\xe7\xdc\x87\x3f\x91\x2e\xec\x0e\xdf\x7a\x85\xdd\xa4\xa7\x23\x0b\xe8\x4c\x68\x88\xed\x84\x83\xce\xef\x43\xca\xc3\xc1\x7f\x03\x00\x00\xff\xff\xfa\x02\x58\x4e\x7b\x28\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xf5\x01\x77\x36\x9a\x38\xe9\x6e\xdb\xdb\x35\x92\x66\xd3\x6e\x83\x3b\x60\x0b\x14\x6d\xb6\xfb\x10\x14\x0d\x2d\x8d\x6d\x5e\x24\x52\x20\x29\x3b\xde\x20\xdf\xfd\x30\xfc\x23\x93\xb2\x94\x38\x69\x0f\xe7\x87\xc4\x92\x66\x86\xc3\x99\x1f\xe7\x9f\xcc\xcb\x4a\x2a\x03\xe7\xb5\x98\xf3\x69\x81\x17\xf2\x1a\x05\xcc\x94\x2c\x61\x90\xdc\x1b\xec\x79\xca\xf7\x68\x58\xce\x0c\xfb\xcc\x71\xa5\x3d\x65\x72\xaf\xa1\x4c\xf8\xbb\xd8\xfa\x09\x1a\x19\x74\xf5\x11\xb5\x2c\x96\xa8\x3c\x57\x7c\x6b\xb0\xb7\xc7\xb2\x0c\xb5\x1e\xb2\xa2\x18\x41\x26\x85\x51\x2c\x33\xf0\xee\x86\x95\x95\x17\x3c\x69\x6d\xee\x76\x6f\x0f\x00\xe0\xf0\xf0\x10\x2e\x16\x08\xb8\x44\x61\xc0\x2c\x98\x01\xae\x01\x4b\x6e\x0c\xe6\xb0\x5a\xa0\x00\x81\x2b\x30\xc4\xa3\x81\x29\x84\x92\x0b\x83\xb9\x65\x8e\x17\x75\x02\xac\x6c\xfd\xde\x92\x0c\x59\x29\x6b\x61\x26\xf0\xc7\x39\xbf\x79\xf5\x62\x1f\xcc\xba\xc2\x09\x7c\x32\x8a\x8b\xf9\x28\x5a\x5e\x1a\x56\x80\xae\xab\xaa\x58\x83\x9c\x25\x5a\x6b\xe0\x02\xf0\x86\x6b\x83\x22\xc3\xad\x45\x97\x4c\x81\x21\xf6\x4f\x96\x3b\x2c\xb5\x91\x7d\x96\x97\x5c\xc0\x07\x66\x16\x5b\xbc\x05\x1a\xf7\xf8\x93\x91\x8a\xcd\x91\x88\x48\xbb\xe6\x62\x6f\x7b\x39\x8e\x2b\x98\xd5\x02\xe6\x68\xde\x7a\x23\x5b\x47\x0d\x15\x6a\x59\xab\x0c\x2f\xec\x16\xe9\xef\xe9\x68\x02\x97\xf4\xe5\x0b\xdc\x5a\x41\xf4\x51\x68\x6a\x25\xe0\xb2\xb9\x41\x1f\x22\x3a\xee\x07\xc1\xf8\xfc\x82\xfe\xbf\x1e\x8e\xf6\x1f\xc9\xf6\x1b\xd7\x55\xc1\xd6\x4f\xe0\xfc\xcc\xea\xc2\xfc\xc6\x0c\x7b\x34\xef\xc5\xc6\x1b\xaf\x87\xa3\x86\xf5\x8b\xfd\x76\xb7\x6d\x52\xb2\xa6\x72\x30\x8e\x2d\xda\x65\xd0\x7d\x6b\xff\xcd\x8d\xd1\x04\xce\xc4\xfa\x93\x51\x75\x66\x4e\x23\x23\xeb\x15\x37\xd9\xa2\x21\x8e\x9e\xd0\x27\x63\x1a\x77\x37\xf9\x24\xe1\x8d\x5c\xf8\x20\xf3\x70\x8b\x93\x3e\x33\xe3\x9d\x32\x01\x8d\xc5\x6c\xfc\xf0\xd6\x05\x2f\xda\x1b\xdf\xd5\xeb\x23\x60\xfa\x87\xfb\x35\xf5\xc4\xa7\xfb\x3d\xda\x36\x40\xf8\xdf\xe9\x1b\x63\x6d\x07\x8d\x1b\xf2\xd3\x2d\x95\x47\x4f\x71\xf4\xc6\x5c\xdb\xbe\xa6\x10\x51\x62\xce\x19\x9c\xa4\x01\x7f\xfc\x9e\xee\x76\xbb\xd8\x1a\x8e\x17\x38\x69\xb1\xfc\xeb\xe2\xe2\xc3\x39\x2f\xb0\x9f\xab\x56\xc5\x04\x06\x0b\x63\x2a\x3d\x39\x3c\x64\x5a\xa3\xd1\xe3\x15\x4e\x35\x37\x78\x40\x22\xf5\x38\x93\xe5\xe1\xcb\xd9\xab\x1f\x7f\x79\x91\x1d\x65\xff\x64\x3f\x67\x79\xfe\xea\xc5\x4f\xd3\xe7\xd9\xcf\x3f\x1e\xb5\x1e\xb0\x97\x2f\xb3\xe9\xf3\xec\x97\x9f\x5e\x7d\x3d\x2f\xe4\xea\xeb\x9f\x52\xe5\x25\x53\xd7\x63\xbd\x9c\x0f\x3a\x75\x18\x75\xa3\xc0\x5a\xc0\x79\x73\xc0\x4b\x36\xc7\x43\xbd\x9c\x3f\xbb\x29\x8b\x6d\x29\xa3\x7e\x13\xea\x6e\x1b\xea\xe1\xa5\x7d\xfc\x65\x9b\x75\x97\x93\xe6\xbd\xd7\x6d\x53\xc1\x4a\xd2\xd9\xe7\x93\x46\x90\x4b\x52\x83\xee\xcd\xea\x75\x39\x95\xe4\x86\x77\xe7\x17\x3d\x24\x39\xea\x4c\xf1\xca\x70\x29\x26\x30\xb8\x58\x70\x4d\x51\xcc\x89\xb6\x79\x92\x32\x68\xad\x31\x07\xa6\x81\x51\xfa\x72\xeb\x1b\x09\x0b\x2c\x2a\x58\xcb\x1a\x72\x5c\x62\x21\xed\x77\x05\x02\x6f\x0c\x9c\x5f\xc0\xdf\xa4\x20\x4f\x8d\x7b\xd6\xc5\x1b\x83\x4a\xb0\xe2\x8f\x8f\xbf\xb7\xb1\xf5\x6e\xf3\x68\xd8\x00\xc8\xaf\x7b\x30\x33\x63\x29\x66\x24\x58\xaa\xf9\xa0\xc7\xc9\x85\x9c\x4b\x3d\xf1\xae\xea\x31\x8d\xcc\x38\x2b\xf4\xa4\x15\x50\xe3\xcf\xc0\xac\xa8\x70\x50\x83\x9d\x14\xf4\xc4\x16\xd4\xa4\xdf\xd7\x69\x21\xb3\xeb\x6c\xc1\xb8\x18\x6c\xc3\x01\x6c\x02\x69\xdf\x79\xd2\x99\x8f\x43\xce\x13\x23\x7c\x90\xd0\x8d\x3c\x1d\x97\x14\x87\xfe\x2a\x38\xc4\x0a\xb4\x02\xba\xed\xac\x30\x43\xbe\x44\xe5\xb9\xab\x7a\x5a\xf0\x2c\x61\xfe\xe8\x29\xfa\xce\xab\xd3\xb5\x9f\x7f\x87\xc5\x7f\xe7\xe2\x1a\xf3\x28\x86\xff\x3d\x2e\xcb\xc6\x56\xc2\x56\x71\xd0\xd6\xe0\x9b\x84\x64\x0a\x99\xc1\x77\x65\x65\xd6\x96\xf0\xbc\x16\x99\x3b\x73\xc3\x59\x2d\x86\xa3\x09\xfc\x7a\x9b\xf8\xc8\xc9\xbb\xbb\x07\x9e\xde\xb3\xc7\x07\x89\x1a\xed\x85\x86\x4b\xfa\x1b\x69\xfd\x6b\xa7\xd6\x3d\x08\xdd\xbe\xfd\x04\x88\xa6\x55\xd4\x53\x20\x1a\x49\xe8\x86\x68\x52\x36\x27\x1b\x8c\x9e\xdc\xb3\x97\xbb\x76\x51\x2b\x78\x11\x17\x79\x54\x7d\x5b\x53\x85\xab\xe6\xee\x3b\x96\x2d\x28\x3e\x2a\x7b\x4c\xd0\xc6\x48\x2e\xb4\x61\x22\x43\xaa\xff\xa5\x28\xd6\x60\x16\xe8\xd8\xa9\x01\x30\x0b\xe4\x2a\x1c\xaa\xa4\x6d\x99\x79\x50\x68\x4f\xe6\x79\x98\xc8\x61\x2e\x97\xa8\x04\xe6\x30\x75\xd2\x2a\x85\xf6\x7e\x25\xb5\xa1\x16\x29\xe7\x96\xb1\x11\xc7\x5b\xf6\x74\xcd\x8f\x59\xe0\xda\xb6\x3d\x19\x2b\x0a\xcc\xc7\xc9\xea\xd9\x02\xb3\x6b\x0d\x0b\x56\x55\x28\x80\x19\x50\xb5\x30\xbc\x44\xcb\x8a\xd4\xab\xb1\x46\x43\x4a\x0a\x2d\x19\x8d\xac\x8f\xbe\x82\x22\x0a\xe1\xf6\x3f\x45\x7f\x00\xf2\xb0\x33\xea\xea\x28\x51\xc8\x59\x73\x69\x9b\x3c\xdb\xb3\x91\x9a\x8d\x38\x52\x37\xc7\x19\x17\x96\x79\x1f\xb4\xa4\xe7\x0a\x49\x05\x21\x61\xc5\xd6\x30\x93\xa4\x5b\xc9\x0a\x9e\x71\x59\x6b\xe7\x0e\x23\xfd\x9a\xce\x8a\x1b\xd3\xc8\xda\x2f\xcb\x05\x30\xae\xc6\x70\x06\xba\x42\xca\x06\x60\x5b\x3d\x05\xa1\x06\x04\x81\x98\x6b\x92\x34\xdd\xe8\x60\xa4\x6d\x1a\x1b\x71\x9b\x86\x32\x35\x45\xdc\x17\x34\x02\xad\x2a\xad\xe6\xd5\x9d\xc1\xd0\xc2\xc6\x1e\xb1\xd8\x85\x29\x2b\x02\x98\x0c\xa5\xe7\x65\x83\xc3\xf6\x32\xd4\x40\x7a\xea\xb4\x79\xec\x22\xd4\x7d\x8d\x62\x1f\x83\x0b\xbd\x8e\xfe\x43\xf3\xbd\x97\x3c\x0d\xfc\x11\x43\xb4\x4d\xe0\x82\x1b\xce\x0a\xfe\x17\x5a\x18\x84\xad\x12\xf8\x82\xc9\xac\x13\x09\x72\x84\xc5\x86\x97\x18\x87\xad\xbd\x8e\x5a\xc1\xd2\xd6\xf8\x41\xe4\x49\x10\x9e\x90\x50\x41\xc7\x73\x14\x86\xcf\x38\x2a\x38\x81\xc1\x56\x66\x19\x6c\xcb\x8c\x4c\x07\x27\xb1\xed\x86\x1b\x59\x93\x48\xee\xe8\x87\x6d\x19\x1b\x6b\xc2\x49\x64\x9d\x47\x48\x88\x0d\xdc\x2f\x63\xd0\x95\x6a\x07\x91\xbc\xbb\x14\x77\x6f\xed\xa9\x76\xe1\x82\x75\x94\x82\xd3\xda\x86\xa1\x25\x67\xd6\x63\x57\x6f\xe8\x5a\x8d\xe9\xf6\x70\x74\x45\xc9\x72\x21\xf3\x36\x28\xc2\xf1\x76\x1d\x32\xd1\xd2\x32\x53\x96\x5d\x0f\xdb\x4e\xe3\xb3\xd4\x6f\xaf\xe1\x68\x7c\xd4\x91\x05\xfb\x82\x3c\x9c\xf4\x3f\x3a\x48\x44\x27\x22\xef\xee\x43\xce\xd1\xf8\xa8\xcb\x5c\x7d\xc3\x14\x37\x44\xe9\x9a\x98\xc0\x26\xc1\x24\x4a\x3e\x30\x81\x11\xbc\x18\x3d\xa4\x40\x34\x7a\xb0\x7d\xec\x57\xab\xd2\xfd\xb3\x85\x3e\x75\x1e\xdd\x17\xd3\xb7\x4e\x0d\x09\x51\x73\x34\x64\x7f\xa9\x0c\xe6\x9f\x43\x31\xa2\x41\xda\x9e\x83\x15\xc5\xda\xeb\xa0\x81\x41\xc1\xb5\x0d\xce\x36\xc6\xd9\x11\x9b\x0e\x29\x81\xeb\x26\xa4\xd8\x8d\x57\x3e\xa4\xdf\xe7\x89\x8e\x75\xc9\x2f\xb7\x4e\xeb\x37\x52\x16\xed\x02\x8b\x02\x82\x0e\x5c\x96\xa1\x45\x7e\x02\xb7\x2d\xac\x24\xd4\x97\x16\x3a\x73\xb4\x8b\x0d\x47\x5f\xe0\x04\x8c\xaa\xb1\xcb\xe4\x29\xe3\xce\x00\xe3\x7a\x7b\x57\x43\x13\xcf\x91\x48\xd1\x6e\x2f\x07\xe5\x3a\xed\x72\x69\x2c\x5a\x4f\x4f\x61\xc6\x0a\x8d\x7d\xee\x3c\xd3\xd7\x9a\x4e\x29\x9d\x7e\x37\x13\xb5\x79\x7e\x8a\xb0\xe2\x66\x91\x2b\xb6\xf2\xb3\xe6\x87\x92\xd5\x66\x43\x67\x4b\xc6\x0b\x66\xf3\xe1\x9f\x5e\x46\x6b\xdc\x7a\xef\xae\xbc\x16\xc7\x27\xdd\xc7\xbb\xa5\x7f\xd0\x32\xbe\x99\x10\x84\xd2\xdc\x03\x8f\x5d\xbb\xa2\xce\xaf\xe2\xba\x60\xa6\xe6\x75\x89\xc2\x24\x8c\x54\x8f\x05\xe9\x1e\xb6\x9e\xc9\xdb\xc3\xe7\xff\x71\xef\xd2\xff\x36\xbe\x66\xa1\xb3\x60\x0b\x0b\x2c\x2b\xa9\x98\x5a\xfb\x52\x30\x8c\xb4\x6d\x43\x4e\x2d\xb8\x2c\xf2\x44\x82\x59\x60\x18\x6f\x3b\x05\x14\xc2\x14\xb9\x98\x83\x51\x4c\xe8\x19\x2a\x85\xf9\x98\x16\x0a\x87\x8e\x38\x04\xae\xa2\xf2\x98\xe4\x84\x72\xcd\x2f\x2b\x93\xa2\xcd\x4a\x76\xe5\x1f\x95\x63\xbc\x41\x40\x8e\x95\xd4\x3c\x0c\xd4\x83\x2c\x2c\x34\xae\xa8\x64\xeb\xde\xb8\x07\x45\x5a\x13\x05\x1c\xb8\xc0\xb6\xea\x45\x45\x47\x37\x73\x7f\x15\x90\x5c\x1e\x78\x07\x75\xa1\xea\xf8\x20\x2e\x1f\x37\xb5\x86\xe3\xe8\x8d\x76\xde\x04\x8f\x43\x97\x37\xb3\x9c\xfe\x07\xb3\x36\xc4\x2c\xac\x58\x9e\xeb\x44\x0c\x37\xba\xa9\x96\xbc\x77\x92\x3a\x11\x41\xae\x04\x2a\xbd\x03\xe2\xb8\x06\x56\x14\x72\xe5\x10\x95\xa3\x36\x4a\xba\x26\x43\xd3\xf2\x4e\xb5\x29\x66\xac\xd6\xb8\x01\x71\x7a\xa6\x48\xe5\x08\xac\x04\x4b\x54\x41\x13\x5f\x1d\xdb\x92\xd6\xf2\xfe\x63\xa3\xfb\x82\xa5\xfb\x9a\x22\x0a\xc2\x99\xae\x4b\xcc\xed\xd6\x6d\xb1\x3f\x93\xb6\x69\xf1\x20\xb3\x1a\x86\xd6\xa3\x07\x4e\x4d\x52\xf4\x0e\x19\xd2\x19\xec\xeb\xb2\xdb\x45\x08\x65\x01\x97\x82\x8e\x0f\xdc\xe1\x65\xfa\x87\x2e\xac\xed\x8c\xb4\x67\x4e\x5e\x67\xed\x91\x3c\x69\x95\x1b\xe0\x46\x74\xd6\x25\x69\x2c\x6d\xe1\xae\xdd\xf7\xef\x08\xc0\x34\xdc\x38\x5f\xd3\x69\x03\x16\xe3\xe9\x2f\x54\x72\x2b\xd4\x85\x00\xc2\x37\xf1\x81\x15\x05\x85\x1a\x1f\x27\xa8\xb3\xb2\xad\x58\x59\x6b\x17\x2f\x5c\x4e\x08\x4d\xe4\x96\x44\xdb\x41\x5b\x49\x4e\x76\x13\x7f\xda\x5d\x33\xdd\x90\x2a\x77\x5d\x9e\x05\xaf\x7b\x9e\x4a\xcc\x32\x1b\x7c\x5d\xfb\xc6\x5c\x15\x1b\x6a\x88\x00\x0b\xdd\xb4\x55\xae\xc2\xa5\x1c\xb8\x1b\xae\xb6\x06\x2d\x3b\x45\xa3\x07\x82\xcb\xd1\xf8\xa8\x3d\x94\x88\x26\x10\xae\x3d\xed\x6d\xb8\x43\xfc\x70\x91\xc5\x6e\x87\xd9\x37\x86\xde\x12\xae\x21\xa7\xb3\x19\x9a\xd8\xc7\x35\xaf\xbe\x3b\xbe\x4d\xac\x4c\x62\xdc\xcb\xcd\x1d\x11\x47\x0c\x3a\x5a\x78\xdf\x06\x37\xf2\x5f\x19\x70\x64\xa2\x77\xa8\xfb\xbd\xb8\x8b\x39\xda\xc8\xdb\xc9\x83\x1b\xd5\x9f\x92\x57\x9e\xd2\x80\x3c\xeb\xca\x37\x58\xf2\x9e\x57\xcd\xee\x7f\x78\xd5\x9c\x56\x96\xe3\xa8\x39\xfc\xb6\xf4\xd5\x02\x59\x67\x20\x89\xe1\xf6\x4d\x01\xe4\xfb\x06\x8f\xef\x1b\x38\xbe\x43\xd0\xe8\x3a\x3f\x9d\xc1\xa2\x35\x95\x7d\x10\x71\x8d\x57\xe1\x81\xc0\xe1\x3d\x69\xe7\x23\x71\x5a\xb3\xe8\x49\x61\xfa\xfc\xe8\x88\x52\x4d\x4a\xd2\xfe\x11\x01\x9c\x74\x8f\xfc\xdd\x6f\x11\x92\x61\xce\x5b\xa7\xd9\x66\x70\x69\x71\xd0\x3e\xd0\xd6\x76\xfe\x07\x18\xe4\x3a\xb6\x44\x42\x01\x17\xc9\x48\xd4\x89\x6c\xbe\x26\x09\xb9\xdb\x02\xed\x0d\x8e\xba\x74\x63\x7e\x8a\x05\x19\xab\xd8\x94\x17\xdc\xac\x03\xfe\x2c\x86\xf2\xb8\xce\xc6\x9b\x4a\x6a\x8c\xe3\x9a\x1b\x79\x78\x14\x84\x61\x87\x9b\xcf\xa2\x39\xb3\x4d\xa9\x6f\xe7\xc2\x33\xb3\x50\xb2\x9e\x3b\x2b\x5c\x85\xf1\xcb\x15\xd8\x48\x3a\x63\x59\xbc\xd9\x50\xed\xc0\x95\xdf\xd3\x55\xa7\x90\x37\xe1\x61\x97\x8c\xc4\x60\xb1\xbb\xde\xb2\x2a\x94\x24\x1e\xe2\xe3\xc6\x04\x1c\x75\x18\x69\x8d\xb9\xd6\x75\xcf\x9b\x0d\x57\xa6\x44\xb3\xaf\x51\x8a\x9c\x4e\xb9\xd6\xdc\x7a\x31\x6c\xe9\xb2\x0f\xcc\x4c\x7c\xe1\xb3\x99\x84\x8d\x12\xf5\x43\xb7\xff\xff\x56\x3d\xd2\x23\x56\x3b\x1e\xbf\x8d\xf6\xba\xe5\x05\xd5\x08\xe4\xc3\xe3\x03\xcb\xb8\x0f\x46\xde\xf7\x1a\x2d\x92\x45\x56\x70\x19\x7c\x83\x7a\x97\x84\x87\x3d\x1b\x68\x2d\x68\x99\xdd\x82\x9d\x87\x3b\x84\x8c\xbb\xbd\xff\x06\x00\x00\xff\xff\x93\x8a\xc1\xba\x33\x26\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,11 +95,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcd, 0x87, 0x4f, 0xb1, 0x24, 0x46, 0xb6, 0xc2, 0x7d, 0x9b, 0xe2, 0xfe, 0x8c, 0xea, 0x1, 0x4d, 0xd6, 0xf4, 0xcd, 0x61, 0xf, 0x50, 0x5c, 0xee, 0xf9, 0xe6, 0xc0, 0xf5, 0x4f, 0xb2, 0xac, 0x4e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0xbf, 0x61, 0xcd, 0x14, 0x51, 0xb8, 0x5f, 0x45, 0xd5, 0x6f, 0x6a, 0x93, 0x48, 0x4b, 0x77, 0xd1, 0x6d, 0x10, 0xcc, 0x5f, 0x4a, 0xb5, 0xa5, 0x6c, 0xb6, 0xde, 0x7e, 0x89, 0x56, 0xd8, 0xd0}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x51\x93\xdb\x36\x0e\x7e\xf7\xaf\xc0\x6c\x1f\x62\xf7\x1c\x6f\x1f\x6e\xee\xc1\x73\x6d\xba\x69\x9b\x99\x3c\xf4\xe6\xa6\xd9\x34\x0f\xbd\xce\x99\x96\x20\x9b\x5d\x8a\x54\x49\xca\x8e\x6f\x67\xff\xfb\x0d\x40\x52\x12\x65\x79\x77\xd3\xe6\xae\x2f\x59\x4b\x24\x08\x80\x00\xbe\x0f\x50\xaf\xbf\xfc\x72\x36\xfb\x02\x6e\xf7\x08\x6f\x94\x39\xc2\x9b\x56\xef\xe4\x56\x21\xdc\x9a\x3b\xd4\xe0\xbc\xd0\xa5\xb0\xe5\x6c\xf6\xc5\x17\xb0\x49\x2f\xf9\xdd\x06\x0a\xa3\xbd\x15\x85\x9f\xcd\x78\xfb\xf4\x4e\x90\x0e\xb4\x01\x65\xf4\x0e\x2d\x08\x0d\x52\x7b\xb4\x95\x28\x70\xe6\xf7\xc2\x83\x50\x0a\xaa\xb4\xd5\xf3\xd6\x24\xd7\xc1\xd1\xb4\xaa\x84\xbd\x38\xd0\x2b\x7a\x5e\x19\x5b\x83\x37\xab\xd9\xec\x6d\x05\x02\x5a\x87\xd6\xc1\x51\x68\xef\x68\x41\x89\x8d\x32\x27\x10\xa0\xf1\x38\x92\xb5\x04\xbf\x47\x69\x7b\x9d\x4b\x83\xa4\x98\x07\x8d\x58\xd2\x66\x59\x37\x0a\x6b\xd4\x9e\x56\x42\x66\x6a\xaf\xf3\x12\xb6\xad\x8f\xa2\xf8\x00\x37\x2b\xcd\x05\x11\xdd\x26\x07\x25\x56\x52\x63\x09\x52\x83\xdf\x4b\xd7\x69\xb1\x0a\x7e\xfd\x59\xb4\xca\x6f\xc0\xa2\x33\xad\x2d\x06\x3b\x67\xb3\x1f\x44\xb1\x1f\xfb\xa7\x5b\xe7\x4f\x0d\xf2\xe1\xee\xfc\xf4\xcb\x42\xe3\xa1\xff\xb4\xe6\x20\x4b\xb4\x9b\x25\x6c\x7e\xc2\x02\xe5\x81\xff\x16\xba\x84\xcd\x6b\xa1\x84\x2e\x70\x6a\xb7\xe3\xdb\x76\x23\xf3\x0a\x25\x2c\x42\x63\xf1\x65\x61\x74\x29\xbd\x34\xda\xb1\xa8\xc6\x38\x3f\x7c\xc6\x77\x6e\xd1\x79\x2b\x0b\x3f\x23\x45\xf1\x23\x16\x2d\xbd\x04\x53\xb1\xe6\x55\xab\x8b\xb0\x98\xdd\x85\xc0\x96\xac\xf8\xdc\x13\xd0\x39\x0e\x1b\x61\x85\x47\xd8\x62\x21\x5a\xd2\xc5\xc3\x4e\x1e\xd0\xf1\x72\x0a\x0a\xfe\x43\x6c\xa5\x92\xfe\x44\xbe\x71\x7b\x61\x71\x26\xc0\x62\x85\x16\x75\xc1\xf1\x14\xae\x91\xa5\x07\xbd\x8c\x56\x27\xc0\x8f\x8d\x71\x51\x54\x25\x51\x95\xae\xd7\x68\x26\x35\x18\x8d\x60\x2c\xd4\xc6\x62\xd2\xb8\x77\x05\x05\x26\xc5\xb4\x33\x51\xa1\x10\xa1\x23\x6d\x6a\x71\x87\x50\xb4\xce\x9b\xba\xf3\x70\x74\x4d\x77\x89\xe4\x9b\xdc\xcb\x14\xe0\x06\x0e\xc2\x4a\xd3\xd2\x6a\xa9\x77\x0e\x8e\xd2\xef\x59\x7c\x88\xc6\xd5\xec\x8d\xb1\x80\x1f\x05\x89\x59\x82\x80\x4a\xb4\x05\x7a\x28\x84\x86\x2d\xf6\xd2\xb1\x84\xed\x29\x25\x94\xd4\xbb\x59\x70\x07\xa4\xa0\xc8\xa2\xe5\xcb\xeb\xd9\x4c\xd6\x8d\xb1\x1e\x7e\x96\x78\xfc\x09\x9d\x51\x07\xb4\x50\x59\x53\xc3\xd5\xf0\xd1\x55\x5a\xf7\xba\xb5\xba\x5b\x11\x7e\x5c\xcd\x66\xd7\xd7\xd7\x79\x62\xd1\x93\xec\x69\x2c\x1e\x9d\x9e\x22\x46\x92\xc5\x41\x11\xb1\xf8\x7b\x2b\xed\x54\xca\xe5\x89\xc2\x92\x7b\x43\xe0\x03\x82\xf3\x52\xa9\x50\x50\xa4\x07\xe1\xb2\x82\x04\x7b\xb4\x7d\x4c\x79\xfe\xc5\xe1\x66\x6a\x8e\xaa\xaa\x55\x2c\xb2\xf5\xe1\x26\x6b\xf4\x7b\x53\xc6\x8b\xab\x85\x3e\x41\x63\xcd\x6f\xc8\x85\x8b\x8e\x09\x87\x51\x75\x22\x4d\xf9\x50\xa3\x47\x75\xc8\x2d\x59\x64\xac\x2a\x21\xbc\xb7\x27\x32\xb6\x46\xa1\x5d\x67\xeb\x8a\x0b\x65\x08\x91\xfe\x29\xfd\xcd\xcf\xba\x08\x08\x36\x27\xa7\xb8\xac\x14\xf4\x65\x45\x14\x05\x3a\x37\x17\x4a\x2d\x3a\x4d\x06\x7e\xc8\xee\x68\x9d\x5f\xfa\xfd\x6c\x06\x00\x70\x7d\x0d\x37\x1a\x50\x7b\xe9\xa3\xff\x2b\x63\x49\x47\x73\x94\x7a\xc7\xc7\x52\x68\x96\x56\x1c\x85\xe2\x3c\xe1\xf8\x0c\x11\x21\x42\xd2\xb1\xa0\xa1\x2a\x43\x71\x1f\xe2\xee\x74\xdc\x35\x63\x14\x1e\xc2\x55\x07\x37\x60\x2d\x3d\x85\xf2\x71\x8f\x3a\x1d\x40\x0e\x4c\x27\xeb\x27\x8e\x3b\x0c\x0f\xd2\x73\x2a\xa7\x6b\x78\xe7\xad\xd4\xbb\x25\x88\xda\xb4\xda\xaf\xe1\xfd\x1b\xf9\xf1\x6f\x7f\x5d\xb2\xa8\x35\xdc\x94\xa5\x45\xe7\x5e\x85\xdf\xef\xdf\xbf\xfd\x7e\x0d\xef\xdf\x6a\x4f\x2b\xba\x63\x87\x8f\x17\x7f\xc4\x80\x12\x1b\xe3\xa4\x0f\x21\xfe\xb8\xfa\xdf\xa7\xa5\x4f\xa8\xef\xcd\x50\x79\x6f\x72\xd5\xbb\x03\x2f\xa8\xfe\xc3\x23\x6a\xef\x11\x76\xca\x6c\x85\x82\x6d\x6b\x75\xcc\x0a\x5a\x56\x08\xa5\x68\x15\x95\x28\x01\xda\xe8\x97\xff\x41\x6b\x60\x1b\xc0\xe5\x82\x3d\x5c\x2c\x9e\x32\x66\xec\xfb\x81\xa6\xaf\x07\xd2\xa9\xba\x0c\x9d\xdf\x47\x38\x5b\xd2\x84\x62\xe7\x7a\xae\xd2\x15\xfa\x7f\x75\xfb\x28\xac\x77\xe8\x3d\x45\x75\xd4\x1c\x24\x97\x4d\xae\x4d\xd9\x39\x43\x6b\xce\x91\x33\xa9\x06\xf7\xbc\x78\xbc\xe1\x20\x6c\x3a\x20\x19\x3a\xbd\x4e\xe2\x91\x14\x25\xad\x28\x33\xdd\x7c\xb1\x86\x5f\x6e\x4f\x0d\xfe\x3a\xb9\x9e\x96\xda\x90\xbd\xb4\x7c\xfe\x6f\x96\xb0\x06\xda\xb1\x58\xc3\x8d\x3e\xbd\xf3\xb6\x2d\xfc\x2b\xde\xfd\xd0\x7b\x32\x61\xc1\x73\x5c\x89\xe4\x91\x22\xa2\x66\xac\x4e\xa1\x00\x91\xff\x52\x62\x10\xd0\x24\x21\xc3\x7a\xc0\x18\x9a\x6a\x16\x97\x8f\x53\x83\xab\xb3\x73\xdf\x7a\xe8\x58\x5b\x3c\x30\x3f\xcb\x68\xd8\x6c\x13\x75\xa1\xf2\xbd\xec\xf6\x0e\x98\x82\x42\x41\xc8\x6c\x9a\x18\xbc\x8d\x71\x4e\x46\x70\x36\x15\x14\x16\x05\x2b\x11\x01\x3a\x46\x89\x75\xbd\xea\x64\x31\xd1\x3e\x66\x8f\xe4\x69\x61\xa5\x3a\x45\x1a\xc8\xe5\xdd\x1c\x75\xba\xcc\xd5\xa7\x84\x48\x87\xbf\xb1\xcc\xa6\x23\xdf\xc4\xc0\xe4\x7a\xe0\xee\x40\x74\x6a\x81\x24\x22\xec\x1a\x2c\x64\x25\x8b\x98\x29\x7d\xc1\xcd\xa4\x48\x07\xe2\x20\xa4\x12\x01\x22\x89\x11\x74\x35\x2b\x5b\x78\x1b\x48\x2a\x91\xef\x6d\x82\x3e\x3e\xfa\x60\x64\x09\x8d\xd0\xb2\x20\x0f\x71\xfe\x53\x96\xf3\x8f\x54\xb0\x87\x82\xba\x0a\xd1\xa5\x8e\x83\x56\xdf\x69\x33\x3a\xf0\xa6\x0c\x04\x51\x28\x75\x5a\x92\x49\x7c\x31\x9d\x89\x0e\x9a\x36\x9c\xc2\xf1\x52\xb7\xca\xcb\x46\x21\x1c\xa8\x30\x8e\x6c\x8c\x34\xae\xa3\xc5\xc5\x1e\x8b\xbb\x80\xe1\x91\xae\x85\x5d\xd0\x6a\x2f\x15\x3f\x28\xd1\x31\x9a\x06\xe7\x8d\x5d\x66\x51\x14\x7b\x2c\x97\xd0\x18\x4f\xf1\x49\x3a\xc2\x1e\x55\x93\xac\x86\x06\x2d\x17\x84\xee\xb6\xd3\xee\xc7\x13\x58\xba\x9b\x74\x1b\xb7\x26\xc1\xd0\x3c\xaf\x75\x8b\x35\xbc\x36\x46\xe5\xd1\x90\x5c\x0d\xae\xdd\xc6\x4e\xe9\xd1\x74\x4a\x81\x96\x09\x21\x76\x6e\xd1\xb7\x96\x30\x27\xb2\xe0\x8e\x4d\x5a\xac\xcd\x81\xe1\x27\xb0\xca\xc1\xc6\x51\xa0\xf4\x7c\xfd\x85\x8b\x66\x82\xc2\x03\x2a\x72\xdd\x26\xda\x9d\x8c\x5b\x6c\xb2\xdd\xef\x0c\x51\x7c\x63\xe9\x8e\x29\xba\xc2\x6e\xe9\x97\x4c\xb2\x43\xf3\x87\x92\x88\x58\x97\x5b\x60\xb6\xc4\xb0\x40\x7a\x87\xaa\xca\xa4\x19\x6e\x2f\x23\x87\x28\x07\x54\x9f\xad\xda\x24\x1d\x36\xd3\xd6\x8c\x35\xe5\x1b\x3a\x5e\xbc\x94\x6f\xef\xd9\x63\x0f\x83\x62\x4e\xff\x51\xbb\x33\x7a\x14\x0e\x82\x8d\x45\x17\x1b\xb2\x8a\x5b\x02\x13\x1d\x4d\x37\x00\x07\xa1\x5a\x3c\xdb\x16\xb6\xac\x52\xee\x7c\xfd\x75\x02\xc2\xb3\x95\xf4\xdf\xd5\x87\x9e\x70\xc5\x32\x50\xb7\xce\x53\x06\xd3\x49\x4e\xd4\x48\x8c\x77\x98\x8d\x31\x21\x7a\xbe\xc4\x46\x5d\x9d\x89\x27\xc0\x3f\x23\x4a\x74\x01\xab\x1d\x7a\x02\x92\xf9\x62\x25\x4b\x72\x7d\x25\xd1\xf6\x78\x1d\xfe\x4d\xdc\x89\x37\x98\xa3\x46\xfb\x6a\x25\x02\x15\x19\x42\x39\xbf\x6e\x5b\x59\x9e\x31\xa9\xe8\x07\x7a\xb7\xc8\x74\x7b\x98\xe5\x7f\x0d\xd0\x2b\xb5\xb4\x7f\x1e\xbd\x22\x37\x9a\x00\x2f\xa9\xe3\x2d\x3e\x03\xbc\x3e\x60\x82\x0c\xa9\x0b\xd5\x96\x08\x02\xba\xbe\x38\xa8\xc1\x95\x2a\xbf\xa0\x08\x5b\x9d\x94\x23\x76\xfd\x04\xf5\x97\xcf\x69\x2f\x83\x1b\x42\x9f\xd0\xc9\xa1\x7e\xb0\x34\x69\xd1\x74\x2f\xb9\x04\x25\xef\x10\x5c\xa3\x24\x37\x18\x35\xb4\x0d\x55\x8d\x4e\x88\x43\x5d\x86\x17\xd4\x9a\xca\x8a\xf3\xcd\x43\xa3\x42\x27\x0c\xcf\x87\xbd\x74\x59\x63\xd8\x8b\xae\x07\x2f\xee\xb0\xaf\x52\x54\xb9\xe2\x1b\xaa\x16\x17\xae\x21\x9b\x92\x3c\x96\xf2\x1d\x4b\x8a\x32\xe7\x21\x5a\x53\x86\x2f\x72\x95\x76\xe8\xdf\xb5\x0d\x35\xb9\x58\xf2\x02\x0a\x7f\x62\x13\x09\xbe\x06\x45\x55\x49\xc7\x50\x7c\x08\x23\x06\x5e\x18\xdb\x35\xc6\x95\x68\x34\xe9\xd1\x0c\x60\xec\x12\xdb\x9b\x38\x97\xb8\xdf\xfd\x2d\xa7\x23\xc1\xc4\x43\xae\xeb\x4f\x51\x93\xe3\x1e\xb9\x88\x1a\xcb\x01\xc8\x8c\x5d\x1e\x08\x99\x4f\x0d\x43\x72\xd0\x20\x0c\x05\xe8\x6d\x96\x3c\x49\xda\x4d\xb2\x83\x63\x55\xe8\xb8\x0b\xa8\xf1\x65\x41\x6e\xcf\x15\xfb\x37\x2a\x3a\xb1\xae\x79\xdb\x72\x3f\x5b\x62\xd5\xf5\x30\x17\x4d\x94\xee\xdc\xc2\x58\x6b\x22\x59\x65\x28\x1c\x25\x7a\xdf\x1c\x65\x5c\xb1\xc4\xc0\x25\xd8\xd5\x7d\xa4\x05\x50\xe1\x01\x4d\x3f\x4e\xec\xec\x5d\x26\x8e\xbe\x84\x5b\x2b\xb4\xab\xd0\x1a\xbb\xec\x58\x59\x98\x8e\xa5\x56\xb8\xe7\x96\x6d\xdf\x1a\x91\x7f\x5d\xb2\x02\x4e\xe8\x3f\x25\x0d\xd8\x94\xf5\x40\x9b\xfe\xe0\x4e\xaf\x61\x33\xbe\x4a\x7f\x2c\xe3\xc0\x65\x45\xff\x30\xbb\x1b\xf3\x47\x89\xaa\x8c\xb1\x67\xc5\xb8\xca\x18\xa2\x90\x87\xcb\x17\x34\xd1\x99\x64\xd2\xbf\x8b\x8d\x1e\x91\x3d\x31\x9e\x56\x4a\xc7\x7d\x21\x96\x70\x90\x22\xcc\x23\xa2\xb2\xf4\x78\xbe\xd8\xc4\x8e\x31\x93\xf8\x76\x34\x00\x8a\xf5\x8a\x42\x6d\x6b\xcc\xdd\x1d\x22\xb3\x2f\x63\x03\x34\xd1\x73\x6e\x1f\x73\x2e\xc8\xf6\xc6\xa8\xdc\x62\xde\xb6\x46\x83\x49\xbd\x12\x9d\xb7\xe6\x84\x65\x4e\xde\x7e\x24\xa9\xe3\x49\xd4\x71\x38\xd2\x69\x9b\x52\x78\xec\x4b\xe6\x0b\x82\x75\x2f\x14\x47\x80\x3a\xe5\xba\x18\x42\x7e\x45\xdc\x25\x9f\xd8\xb8\x30\x19\xda\x22\xea\xe4\xa8\x40\xcd\x02\x03\xeb\x18\x5d\x90\xb9\x7a\xd4\x4d\x1c\xd7\x69\x1a\xed\xd0\x67\xb7\xec\x0d\x84\xfe\x1b\x2b\x63\x83\xd6\x54\xc0\x47\x53\xd7\xf3\x3e\x40\x32\x59\x69\x6c\xe8\xcf\x83\xd7\x18\xc5\x23\xdd\x74\x8d\xa8\x6b\xe6\xe6\x84\x3b\xa1\x7f\x8f\xb7\xb1\x1a\xc7\x53\x1a\x36\x85\x82\x4b\xe6\x52\xec\x6c\x45\x71\x37\x5f\x8c\xa9\x94\xc5\x09\x26\xc5\xd7\x9d\xcd\x08\x9e\x41\x43\x78\xc9\x36\x65\xd0\x04\xe3\xb8\xc4\x2a\xe0\x32\xa5\x1b\xca\x24\x66\xf6\xd5\xea\xab\x35\x5c\xdd\x0e\xfc\x9d\xc8\x17\xdf\x43\xf4\x7d\xd9\xda\x34\x1e\x1b\x1a\x9f\x86\x26\xce\xc4\x42\xc2\x05\x96\x6a\x09\xed\x27\xff\x62\x79\x75\x91\xf9\xfc\xbf\xf1\x29\xb1\xa8\x58\xd4\x47\x39\x02\x5c\x6f\x99\xe2\x94\xf9\x44\x35\xf6\x5d\xc2\x22\xe0\xc7\x06\x0b\x8f\xe5\x38\x45\xb8\x75\xeb\xd0\xa8\xef\xa5\x49\xb7\x65\x70\x0f\x9e\x42\xc2\xe8\x3e\xd2\x63\xa3\xc8\xc3\xdc\x4c\x97\x4c\x3c\x71\x39\x36\xec\x2c\xd4\xff\x04\xe0\x8e\x22\xe3\xfa\x1a\x5e\xa3\x32\xc7\xd8\x75\x92\x2b\x06\x23\xf7\xc4\xcd\x5c\x6b\x23\xf3\xb4\xad\x7e\xe9\x65\x1d\x3f\xe5\x30\x38\x8d\xe5\xb1\x4b\x76\x98\x20\x75\x38\x76\x6b\x04\x13\xae\x0e\x49\x22\xa2\x45\x26\x97\x7f\xae\x5b\x85\x21\xf0\x0a\x32\xf9\xb2\x3a\xcb\x1f\xf7\xae\xdd\x92\x36\x73\x53\x05\xdc\xfd\xfb\xb7\xf7\x13\x92\x1e\xbe\x99\x2f\xc6\x29\x0b\xdc\xb3\x30\xf0\xdf\xe7\x62\xd7\xcc\x04\xf2\xc4\x7a\x00\x54\x6e\x2a\xc7\x3b\xe6\xc2\xfd\x5c\xdd\xf8\x13\x94\x92\x6f\x4c\xd8\x53\x6a\x61\x52\xf0\x71\xe7\xc4\x77\xdb\xb9\xe1\xb8\x37\x50\x1a\xfd\xc2\x4f\x49\xee\x3f\x18\x4c\xfa\x67\x09\xae\x2d\xf6\x74\x48\xfe\xfa\xdd\x51\xfa\x62\xbf\x35\xc2\x96\x9b\x25\x6c\xf8\xd9\x1b\x63\x8f\x82\x9a\xd7\x0d\xa0\x2f\x56\x17\x5d\xf1\xf0\xbc\xcc\xfd\x2e\xd0\xff\x38\xfc\xc8\x09\x5a\x4f\x29\x98\xa1\x49\x37\xa0\x3d\x17\x23\xf8\x79\x7c\x6a\x74\x01\x51\xe9\x74\x7d\x93\x29\xf0\x0b\x09\xf9\x15\x5e\xbd\x82\x4a\x28\x87\x97\x0c\x9a\x18\x53\x6c\x42\x49\xde\xf4\xb0\xc6\x72\x5f\xb8\x6c\x2a\x0c\x93\x23\x0a\x8d\xc7\xf1\x98\x22\x09\x26\xbf\x9c\xef\xff\xdc\xbd\xfd\x24\x20\x65\x38\xf0\xcd\x13\x1d\xfa\x4d\x68\xcb\xfb\x7e\x3b\x61\x84\x42\xc7\xa5\x57\x33\xa5\xf9\xbd\x15\x2a\xfc\x9a\x68\xd6\x27\x5a\xf4\x67\x01\x56\x6c\xa2\xbb\x94\x24\xd0\x1a\x27\xe9\xd5\x8f\x43\xee\x9e\x86\x06\x3d\x3c\x50\x5e\xd0\x9e\xf3\x09\xc1\xf5\x35\xc4\x8f\x66\x61\x16\x29\x54\x57\x66\x61\x13\x18\xc7\x86\xbb\xd6\x48\x4a\x42\xda\x46\x93\xfa\xa1\x2d\x7f\x70\x9d\x12\x1e\x19\xd3\x16\x77\x52\x6b\xa6\x7e\x39\x6d\xe9\x3f\x23\x4f\xec\x7e\x12\xbc\x83\x82\xf3\xe1\xe3\x05\xbc\x7c\xfc\x2e\xff\xd1\x85\xe3\x18\xf0\xb9\x3c\xc5\x76\xb8\xbf\x37\x22\x50\xfc\xe5\x36\x2d\x17\xa1\x7b\x1e\x4f\x5f\xd2\xfb\x67\xe2\xfd\xe5\x16\x59\x94\x25\xb5\xc7\x6e\x48\x00\xcf\xe2\xe9\xac\x92\x7c\x4a\x83\x3c\x05\x0b\x63\x4c\xa0\xc6\xd1\x39\xb4\x03\xda\x5b\x18\x5d\x58\xf4\x11\xf4\xa2\x7b\xfa\x4f\x5e\x1d\x2f\x4f\x01\x38\x96\x17\x11\x60\xd0\x8d\x76\x2d\x6c\x22\x57\x51\xda\x33\xf2\x97\x6c\x59\x49\xf7\x56\x3b\x4f\x5e\x99\xe7\x29\xb1\x58\xc3\xf4\xed\x7f\x17\xe8\x59\xf2\x3e\x7f\x46\x2e\x4c\xdd\x08\x3f\x68\x7d\xc8\xbe\x0b\xc3\xb4\xf1\x67\x3b\x56\xe3\x71\x16\xcb\x4b\x3a\x16\xeb\xcd\x85\x81\x5a\xfa\xb4\x37\x18\xa7\x8d\xbe\xee\xb1\xa0\xcf\x44\x7b\x27\x33\xe7\x2f\xe9\xf1\x50\xe5\xc5\x1f\xca\x23\xd7\xd6\x4f\x26\x50\x1f\x3a\x8f\xd6\xc6\x51\xe2\xf0\x77\x1e\xfc\x81\xe8\x45\xcc\x19\xa5\xcc\xd1\x71\x2f\x19\xfe\x17\x12\x13\xd7\x64\xd8\xc3\xf1\xb6\x17\x94\x6a\x67\x5f\x33\xe1\x89\xfc\x19\x1f\x39\xff\xe4\x41\xf2\xf9\x44\xb8\xef\x3b\x34\x1e\xd5\x29\x9e\x11\x5d\x11\x5c\xc9\x74\x79\xa8\xec\x65\x0f\x41\x3e\x5b\xf9\x1f\xf8\x68\x6a\x14\x32\xe9\x9b\x43\x22\x1c\x1d\x5b\x99\x2e\x38\x03\x2f\x4d\x38\x6d\x0a\xf5\x06\x92\xd9\x71\x1d\xb1\x0e\x15\xa5\xfb\xc6\x58\x0b\x5f\xec\xb3\x0f\x44\xe7\x09\xfd\xb9\x2f\x24\x5d\xc1\xc3\x7f\x03\x00\x00\xff\xff\xac\x9d\x02\x78\x99\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4d\x93\x1b\x37\xce\xbe\xeb\x57\xa0\x26\x07\x4b\x79\x65\x4d\x0e\x6f\xed\x61\x6a\x13\xc7\x4e\xe2\x2a\x1f\xb2\xb5\x15\x8f\xe3\xc3\xee\x56\x89\xea\x86\x24\x66\xd8\x64\x87\x64\x4b\xd6\x4e\xcd\x7f\xdf\x02\xf8\xd1\xcd\x56\x6b\x66\x9c\x78\x37\x17\x6b\xba\x49\x10\x00\x01\x3c\x0f\xd0\xb9\xfe\xfa\xeb\xd9\xec\x2b\xb8\xdd\x23\xbc\x55\xe6\x08\x6f\x3b\xbd\x93\x1b\x85\x70\x6b\xee\x50\x83\xf3\x42\xd7\xc2\xd6\xb3\xd9\x57\x5f\xc1\x3a\xbd\xe4\x77\x6b\xa8\x8c\xf6\x56\x54\x7e\x36\xe3\xed\xd3\x3b\x41\x3a\xd0\x06\x94\xd1\x3b\xb4\x20\x34\x48\xed\xd1\x6e\x45\x85\x33\xbf\x17\x1e\x84\x52\xb0\x4d\x5b\x3d\x6f\x4d\x72\x1d\x1c\x4d\xa7\x6a\xd8\x8b\x03\xbd\xa2\xe7\x5b\x63\x1b\xf0\x66\x35\x9b\xbd\xdb\x82\x80\xce\xa1\x75\x70\x14\xda\x3b\x5a\x50\x63\xab\xcc\x09\x04\x68\x3c\x8e\x64\x2d\xc1\xef\x51\xda\x5e\xe7\xda\x20\x29\xe6\x41\x23\xd6\xb4\x59\x36\xad\xc2\x06\xb5\xa7\x95\x50\x98\xda\xeb\xbc\x84\x4d\xe7\xa3\x28\x3e\xc0\xcd\x6a\x73\x41\x44\xde\xe4\xa0\xc6\xad\xd4\x58\x83\xd4\xe0\xf7\xd2\x65\x2d\x56\xc1\xaf\xbf\x8a\x4e\xf9\x35\x58\x74\xa6\xb3\xd5\x60\xe7\x6c\xf6\x93\xa8\xf6\x63\xff\xe4\x75\xfe\xd4\x22\x1f\xee\xce\x4f\xbf\x2c\x34\x1e\xfa\x77\x6b\x0e\xb2\x46\xbb\x5e\xc2\xfa\x17\xac\x50\x1e\xf8\xb7\xd0\x35\xac\xdf\x08\x25\x74\x85\x53\xbb\x1d\xdf\xb6\x1b\x99\x57\x29\x61\x11\x5a\x8b\x2f\x2b\xa3\x6b\xe9\xa5\xd1\x8e\x45\xb5\xc6\xf9\xe1\x33\xbe\x73\x8b\xce\x5b\x59\xf9\x19\x29\x8a\x9f\xb0\xea\xe8\x25\x98\x2d\x6b\xbe\xed\x74\x15\x16\xb3\xbb\x10\xd8\x92\x15\x9f\x7b\x02\x3a\xc7\x61\x2b\xac\xf0\x08\x1b\xac\x44\x47\xba\x78\xd8\xc9\x03\x3a\x5e\x4e\x41\xc1\x3f\xc4\x46\x2a\xe9\x4f\xe4\x1b\xb7\x17\x16\x67\x02\x2c\x6e\xd1\xa2\xae\x38\x9e\xc2\x35\xb2\xf4\xa0\x97\xd1\xea\x04\xf8\xa9\x35\x2e\x8a\xda\x4a\x54\xb5\xeb\x35\x9a\x49\x0d\x46\x23\x18\x0b\x8d\xb1\x98\x34\xee\x5d\x41\x81\x49\x31\xed\x4c\x54\x28\x44\xe8\x48\x9b\x46\xdc\x21\x54\x9d\xf3\xa6\xc9\x1e\x8e\xae\xc9\x97\x48\xbe\x29\xbd\x4c\x01\x6e\xe0\x20\xac\x34\x1d\xad\x96\x7a\xe7\xe0\x28\xfd\x9e\xc5\x87\x68\x5c\xcd\xde\x1a\x0b\xf8\x49\x90\x98\x25\x08\xd8\x8a\xae\x42\x0f\x95\xd0\xb0\xc1\x5e\x3a\xd6\xb0\x39\xa5\x84\x92\x7a\x37\x0b\xee\x80\x14\x14\x45\xb4\x7c\x7d\x3d\x9b\xc9\xa6\x35\xd6\xc3\xaf\x12\x8f\xbf\xa0\x33\xea\x80\x16\xb6\xd6\x34\x70\x35\x7c\x74\x95\xd6\xbd\xe9\xac\xce\x2b\xc2\x1f\x57\xb3\xd9\xf5\xf5\x75\x99\x58\xf4\xa4\x78\x1a\x8b\x47\xd6\x53\xc4\x48\xb2\x38\x28\x22\x16\x7f\xef\xa4\x9d\x4a\xb9\x32\x51\x58\x72\x6f\x08\x7c\x44\x70\x5e\x2a\x15\x0a\x8a\xf4\x20\x5c\x51\x90\x60\x8f\xb6\x8f\x29\xcf\x7f\x71\xb8\x99\x86\xa3\x6a\xdb\x29\x16\xd9\xf9\x70\x93\x0d\xfa\xbd\xa9\xe3\xc5\x35\x42\x9f\xa0\xb5\xe6\x37\xe4\xc2\x45\xc7\x84\xc3\xa8\x3a\x91\xa6\x7c\xa8\xd1\xa3\x3a\xe4\x96\x2c\x32\x56\x95\x10\xde\x9b\x13\x19\xdb\xa0\xd0\x2e\xdb\xba\xe2\x42\x19\x42\xa4\x7f\x4a\xbf\xf9\x59\x8e\x80\x60\x73\x72\x8a\x2b\x4a\x41\x5f\x56\x44\x55\xa1\x73\x73\xa1\xd4\x22\x6b\x32\xf0\x43\x71\x47\x37\xe5\xa5\xdf\xcf\x66\x00\x00\xd7\xd7\xf0\x5a\x03\x6a\x2f\x7d\xf4\xff\xd6\x58\xd2\xd1\x1c\xa5\xde\xf1\xb1\x14\x9a\xb5\x15\x47\xa1\x38\x4f\x38\x3e\x43\x44\x88\x90\x74\x2c\x68\xa8\xca\x50\xdc\xc7\xb8\x3b\x1d\x77\xcd\x18\x85\x87\x70\xd5\xc1\x0d\xd8\x48\x4f\xa1\x7c\xdc\xa3\x4e\x07\x90\x03\xd3\xc9\xfa\x89\xe3\x0e\xc3\x83\xf4\x9c\xca\xe9\x0d\xbc\xf7\x56\xea\xdd\x12\x44\x63\x3a\xed\x6f\xe0\xc3\x5b\xf9\xe9\x2f\xff\xbf\x64\x51\x37\xf0\xba\xae\x2d\x3a\xf7\x2a\xfc\xfd\xe1\xc3\xbb\x1f\x6f\xe0\xc3\x3b\xed\x69\x45\x3e\x76\xf8\x78\xf1\x47\x0c\xa8\xb1\x35\x4e\xfa\x10\xe2\x8f\xab\xff\x63\x5a\xfa\x84\xfa\xde\x0c\x95\xf7\xa6\x54\x3d\x1f\x78\x41\xf5\x9f\x1e\x51\x7b\x8f\xb0\x53\x66\x23\x14\x6c\x3a\xab\x63\x56\xd0\xb2\x4a\x28\x45\xab\xa8\x44\x09\xd0\x46\xbf\xfc\x37\x5a\x03\x9b\x00\x2e\x17\xec\xe1\x62\xf1\x94\x31\x63\xdf\x0f\x34\x7d\x33\x90\x4e\xd5\x65\xe8\xfc\x3e\xc2\xd9\x92\x36\x14\x3b\xd7\x73\x95\x5c\xe8\xff\x99\xf7\x51\x58\xef\xd0\x7b\x8a\xea\xa8\x39\x48\x2e\x9b\x5c\x9b\x8a\x73\x86\xd6\x9c\x23\x67\x52\x0d\xee\x79\xf1\x78\xc3\x41\xd8\x74\x40\x32\x94\xd7\x3d\xf4\xb6\xa5\xea\xfc\x1c\xe3\x90\x74\xac\x22\x8e\xc5\x7a\x11\x4a\x02\x59\x94\x42\x95\x4a\x7f\x12\x32\xcc\x50\x46\xb5\x54\x45\x38\xa1\x4f\x2d\xae\xce\xce\x7d\xe7\x21\xf3\xa8\x78\x60\x79\x96\xd1\xb0\xde\x24\x32\x41\x05\x75\x99\xf7\x0e\xb0\x5b\xa1\x20\xac\x34\x6d\x0c\xa7\xd6\x38\x27\x23\x5c\x9a\x2d\x54\x16\x05\x2b\x11\x21\x33\xde\x9b\x75\xbd\xea\x64\x31\x11\x31\xe6\x73\xe4\x53\x61\xa5\x3a\x45\x62\xc6\x05\xd7\x1c\x75\x72\xef\xea\x73\x2e\x2d\x23\x62\x2c\x7c\xe9\xc8\xb7\x31\x54\x38\x43\xdd\x1d\x88\xac\x16\x48\xa2\xa6\xae\xc5\x4a\x6e\x65\x15\x63\xb7\x2f\x81\x85\x14\xe9\x40\x1c\x84\x54\x22\x80\x16\x61\x74\xae\x22\xc5\xc2\xdb\x40\x1b\x89\x0e\x6f\x12\x18\xf1\xd1\x07\x23\x6b\x68\x85\x96\x15\x79\x88\x33\x92\xf2\x8e\xff\x48\x25\x74\x28\x28\xe7\x6c\x0e\x66\x07\x9d\xbe\xd3\x66\x74\xe0\xeb\x3a\x50\x36\xa1\xd4\x69\x49\x26\xf1\xc5\x64\x13\x1d\xb4\x5d\x38\x85\xe3\xa5\xe9\x94\x97\xad\x42\x38\x50\xa9\x1a\xd9\x18\x89\x55\x26\xaa\xd5\x1e\xab\xbb\x80\xaa\x91\x40\x85\x5d\xd0\x69\x2f\x15\x3f\xa8\xd1\x31\xbe\x05\xe7\x8d\x5d\x66\x51\x54\x7b\xac\x97\xd0\x1a\x4f\xf1\x49\x3a\xc2\x1e\x55\x9b\xac\x86\x16\x2d\xa7\x68\xbe\xed\xb4\x7b\x3a\xf5\x24\x1e\x29\xf7\x41\xba\xd7\xe9\x36\x6e\x4d\x02\x86\x79\x59\x7d\x16\x37\xf0\xc6\x18\x55\x46\x43\x72\x35\xb8\x6e\x13\x7b\x97\x47\xd3\x29\x05\x5a\x21\x84\xf8\xb2\x45\xdf\x59\x42\x81\xc8\x4b\x33\xbf\xb3\xd8\x98\x03\x03\x42\xe0\x79\x83\x8d\xa3\x40\xe9\x19\xf4\x0b\x17\xcd\x04\x85\x07\x54\xe4\xba\x75\xb4\x3b\x19\xb7\x58\x17\xbb\xdf\x1b\x22\xdd\xc6\xd2\x1d\x53\x74\x85\xdd\xd2\x2f\x99\xf6\x86\x76\x0c\x25\x51\xa3\x9c\x5b\x60\x36\xc4\x79\x40\x7a\x87\x6a\x5b\x48\x33\xdc\xf0\x45\x54\xaf\x07\xe4\x9b\xad\x5a\x27\x1d\xd6\xd3\xd6\x8c\x35\xe5\x1b\x3a\x5e\xbc\x94\xef\xef\xd9\x63\x0f\x83\xf2\x4a\xff\x51\x03\x32\x7a\x14\x0e\x82\xb5\x45\x17\x5b\xa4\x2d\x93\x74\x13\x1d\x4d\x37\x00\x07\xa1\x3a\x3c\xdb\x16\xb6\xac\x52\xee\x7c\xfb\x6d\x82\xa6\xb3\x95\xf4\xdf\xd5\xc7\x9e\x02\xc5\x32\xd0\x74\xce\x53\x06\xd3\x49\x4e\x34\x48\x1c\x74\x98\x8d\x31\x21\x7a\x06\xc3\x46\x5d\x9d\x89\x27\x08\x3e\xa3\x2e\x74\x01\xab\x1d\xfa\xdb\x53\x8b\xf3\xc5\x4a\xd6\xe4\xfa\xad\x44\xdb\x23\x68\xf8\x37\xb1\x19\xde\x60\x8e\x1a\xed\xab\x95\x08\xe4\x60\x08\xae\xfc\xba\xeb\x64\x7d\xc6\x6d\xa2\x1f\xe8\xdd\xa2\xd0\xed\x61\x56\xfe\x1a\xa0\x57\x6a\x32\xff\x3c\x7a\x45\xb6\x32\x01\x5e\x52\xc7\x5b\x7c\x06\x78\x7d\xc4\x04\x19\x52\x57\xaa\xab\x11\x04\xe4\x4e\x35\xa8\xc1\x95\xaa\xbc\xa0\x08\x5b\x59\xca\x11\x33\xc3\xa7\x8e\xef\x39\x0d\x5f\x70\x43\x60\xee\x59\x0e\x75\x68\xb5\x49\x8b\xa6\xbb\xbb\x25\x28\x79\x87\xe0\x5a\x25\x99\xf2\x37\xd0\xb5\x54\x35\xb2\x10\x87\xba\x0e\x2f\xa8\x59\x94\x5b\xce\x37\x0f\xad\x0a\xbd\x29\x3c\x1f\xf6\xd2\x65\x8d\x61\x2f\xba\x1e\xbc\xb8\xc3\xbe\x4a\x51\xe5\x8a\x6f\xa8\x5a\x5c\xb8\x86\x62\x6e\xf1\x58\xca\xb3\x52\x94\xed\x51\xe6\x3c\x44\x6b\xca\xf0\x45\xa9\xd2\x0e\xfd\xfb\xae\xa5\xb6\x13\x6b\x5e\x40\xe1\x4f\x6c\x22\xc1\xd7\xa0\xa8\x2a\xe9\x18\x8a\x0f\xa1\xe9\xe7\x85\xb1\x81\x62\x5c\x89\x46\x93\x1e\xed\x00\xc6\x26\xc1\x62\xfa\xdc\xf9\xe2\x06\xee\x6f\x39\x1d\x09\x26\x1e\x4a\x5d\x7f\x89\x9a\x1c\xf7\xc8\x45\xd4\x58\x0e\x40\xe6\xd0\xf2\x40\xc8\x7c\x6a\x19\x92\x83\x06\xa1\x4d\xa7\xb7\x45\xf2\x24\x69\xaf\x93\x1d\x1c\xab\x42\xc7\x5d\x40\xad\x28\x0b\x72\x7b\xae\xd8\xbf\x51\xd1\x89\x75\xcd\xdb\x8e\x3b\xcc\x1a\xb7\xb9\xab\xb8\x68\xa2\x74\xe7\x16\xc6\x5a\x43\x3f\x13\x14\x8e\x12\xbd\x6f\x57\x0a\xae\x58\x63\xe0\x12\xec\xea\x3e\xd2\x02\xa8\xf0\xc8\xa4\x1f\xf0\x65\x7b\x97\x89\x35\x2f\xe1\xd6\x0a\xed\xb6\x68\x8d\x5d\x66\x56\x16\xe6\x55\xa9\x39\xed\xb9\x65\xd7\x37\x2b\xe4\x5f\x97\xac\x80\x13\xfa\xcf\x49\x03\x36\xe5\x66\xa0\x4d\x7f\x70\xd6\x6b\xd8\x1e\xaf\xd2\x8f\x65\x1c\x81\xac\xe8\x1f\x66\x77\x63\xfe\x28\x51\xd5\x31\xf6\xac\x18\x57\x19\x43\x14\xf2\x70\xf9\x82\x26\x7a\x85\x42\xfa\x0f\xb1\xf5\x22\xb2\x27\xc6\xf3\x43\xe9\xb8\x53\xc3\x1a\x0e\x52\x84\x09\x41\x54\x96\x1e\xcf\x17\xeb\xd8\xc3\x15\x12\xdf\x8d\x46\x32\xb1\x5e\x51\xa8\x6d\x8c\xb9\xbb\x43\x64\xf6\x65\x6c\x80\x26\x7a\xce\x0d\x5d\xc9\x05\xd9\xde\x18\x95\x1b\x2c\x1b\xc9\x68\x30\xa9\x57\xa3\xf3\xd6\x9c\xb0\x2e\xc9\xdb\xcf\x24\x75\x3c\x1b\x3a\x0e\x87\x2c\x5d\x5b\x0b\x8f\x7d\xc9\x7c\x41\xb0\xee\x85\xe2\x08\x50\xa7\x52\x17\x43\xc8\xaf\x88\xbb\x94\x33\x14\x17\x66\x35\x1b\x44\x9d\x1c\x15\xa8\x59\x60\x60\x99\xd1\x05\x99\xab\x47\xdd\xc4\x71\x9d\xe6\xc3\x0e\x7d\x71\xcb\xde\x40\xe8\x88\x71\x6b\x6c\xd0\x9a\x0a\xf8\x68\x0e\x7a\xde\x07\x48\x26\x2b\xad\x0d\x1d\x73\xf0\x1a\xa3\x78\xa4\x9b\xae\x15\x4d\xc3\xdc\x9c\x70\x27\x74\xd4\xf1\x36\x56\xe3\x78\x4a\xe3\x9f\x50\x70\xc9\x5c\x8a\x9d\x8d\xa8\xee\xe6\x8b\x31\x95\xb2\x38\xc1\xa4\xf8\xba\x8b\xae\xfd\x19\x34\x84\x97\x6c\x52\x06\x4d\x30\x8e\x4b\xac\x02\x2e\x53\xba\xa1\x4c\x62\x66\xdf\xac\xbe\xb9\x81\xab\xdb\x81\xbf\x13\xf9\xe2\x7b\x88\xbe\xaf\x3b\x9b\x06\x56\x43\xe3\xd3\x18\xc3\x99\x58\x48\xb8\xc0\x52\x2d\xa1\xfd\xe4\x5f\xac\xaf\x2e\x32\x9f\xff\x35\x3e\x25\x16\x15\x8b\xfa\x28\x47\x80\xeb\x2d\x53\x9c\xba\x9c\x71\xc6\xbe\x4b\x58\x04\xfc\xd4\x62\xe5\xb1\x1e\xa7\x08\xb7\x6e\x19\x8d\xfa\x5e\x9a\x74\x5b\x06\xf7\xe0\x29\x24\x8c\xee\x23\x3d\x36\x8a\x3c\x5e\x2d\x74\x29\xc4\x13\x97\x63\xc3\xce\x42\xfd\x4f\x00\xee\x28\x32\xae\xaf\xe1\x0d\x2a\x73\x8c\x5d\x27\xb9\x62\x30\x04\x4f\xdc\xcc\x75\x36\x32\x4f\xdb\xe9\x97\x5e\x36\xf1\xe3\x0a\x83\xd3\x58\x1e\xbb\x64\x87\x09\x52\x87\x83\xb0\x56\x30\xe1\xca\x48\x12\x11\x2d\x32\xb9\xf2\x03\xda\x2a\x8c\x65\x57\x50\xc8\x97\xdb\xb3\xfc\x71\xef\xbb\x0d\x69\x33\x37\xdb\x80\xbb\x7f\xfd\xfe\x7e\x42\xd2\xc3\x77\xf3\xc5\x38\x65\x81\x7b\x16\x06\xfe\xfb\x52\xec\x0d\x33\x81\x32\xb1\x1e\x00\x95\x9b\xca\xf1\xcc\x5c\xb8\x9f\x6b\x5a\x7f\x82\x5a\xf2\x8d\x09\x7b\x4a\x2d\x4c\x0a\x3e\xee\x9c\xf8\x6e\xb3\x1b\x8e\x7b\x03\xb5\xd1\x2f\xfc\x94\xe4\x7e\x84\x3f\xe9\x9f\x25\xb8\xae\xda\xd3\x21\xe5\xeb\xf7\x47\xe9\xab\xfd\xc6\x08\x5b\xaf\x97\xb0\xe6\x67\x6f\x8d\x3d\x0a\x6a\x5e\xd7\x80\xbe\x5a\x5d\x74\xc5\xc3\xf3\x32\xf7\x87\x40\xff\xe3\xf0\xa3\x24\x68\x3d\xa5\x60\x86\x26\xdd\x80\xf6\x5c\x8c\xe0\xe7\xf1\xa9\xd1\x05\x44\xa5\xd3\xf5\x4d\xa6\xc0\x3f\x48\xc8\xbf\xe0\xd5\x2b\xd8\x0a\xe5\xf0\x92\x41\x13\x63\x8a\x75\x28\xc9\xeb\x1e\xd6\x58\xee\x0b\x57\xcc\x69\x61\x72\x44\xa1\xf1\x38\x1e\x53\x24\xc1\xe4\x97\xf3\xfd\x5f\xba\xb7\x9f\x04\xa4\x02\x07\xbe\x7b\xa2\x43\x7f\x1d\xda\xf2\xbe\xdf\x4e\x18\xa1\xd0\x71\xe9\xd5\x4c\x69\x7e\xef\x84\x0a\x7f\x4d\x34\xeb\x13\x2d\xfa\xb3\x00\x2b\x36\xd1\x39\x25\x09\xb4\xc6\x49\x7a\xf5\xf3\x90\xbb\xa7\xa1\x41\x0f\x0f\x94\x17\xb4\xe7\x7c\x42\x70\x7d\x0d\xf1\x33\x56\x98\x45\x0a\x95\xcb\x2c\xac\x03\xe3\x58\x73\xd7\x1a\x49\x49\x48\xdb\x68\x52\x3f\xb4\xe5\x4f\xa0\x53\xc2\x23\x63\xda\xe0\x4e\x6a\xcd\xd4\xaf\xa4\x2d\xfd\x87\xdd\x89\xdd\x4f\x82\x77\x50\x70\x3e\x7c\xbc\x80\x97\x8f\xdf\xe5\xdf\x72\x38\x8e\x01\x9f\xcb\x53\x6c\x87\xfb\x7b\x23\x02\xc5\xdf\x52\xd3\x72\x11\xba\xe7\xf1\xf4\x25\xbd\x7f\x26\xde\x5f\x6e\x91\x45\x5d\x53\x7b\xec\x86\x04\xf0\x2c\x9e\xce\x2a\xc9\xe7\x34\xc8\x53\xb0\x30\xc6\x04\x6a\x1c\x9d\x43\x3b\xa0\xbd\x95\xd1\x95\x45\x1f\x41\x2f\xba\xa7\xff\x08\x95\x79\x79\x0a\xc0\xb1\xbc\x88\x00\x83\x6e\x34\xb7\xb0\x89\x5c\x45\x69\xcf\xc8\x5f\xb2\x65\x25\xdd\x3b\xed\x3c\x79\x65\x5e\xa6\xc4\xe2\x06\xa6\x6f\xff\x87\x40\xcf\x92\xf7\xf9\xc3\x6e\x65\x9a\x56\xf8\x41\xeb\x43\xf6\x5d\x18\xa6\x8d\x3f\xa4\xb1\x1a\x8f\xb3\x58\x5e\x92\x59\xac\x37\x17\x06\x6a\xe9\x63\xdb\x60\x9c\x36\xfa\xde\xc6\x82\xbe\x10\xed\x9d\xcc\x9c\xff\x4b\x8f\x87\x2a\x2f\xfe\x50\x1e\xb9\xae\x79\x32\x81\xfa\xd0\x79\xb4\x36\x8e\x12\x87\xbf\xf3\xe0\x4f\x44\x2f\x62\xce\x28\x65\x8e\x8e\x7b\xc9\xf0\x3f\x75\x98\xb8\xa6\xc0\x1e\x8e\xb7\xbd\xa0\x54\x3b\xfb\xbe\x08\x4f\xe4\xcf\xf8\xc8\xf9\x67\x0f\x92\xcf\x27\xc2\x7d\xdf\xa1\xf1\xa8\x4e\xf1\x8c\xe8\x8a\xe0\x4a\xa6\xcb\x43\x65\x2f\x7b\x08\xca\xd9\xca\x7f\xc1\x47\x53\xa3\x90\x49\xdf\x1c\x12\xe1\xc8\x6c\x65\xba\xe0\x0c\xbc\x34\xe1\xb4\x29\xd4\x1b\x48\x66\xc7\x65\x62\x1d\x2a\x4a\xfe\xc6\xd8\x08\x5f\xed\x8b\x0f\x44\xe7\x09\xfd\xa5\x2f\x24\x5d\xc1\xc3\x7f\x02\x00\x00\xff\xff\x2a\xf5\xf4\xd7\x2b\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,11 +115,11 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcf, 0xb8, 0x2b, 0xfa, 0xd1, 0xe1, 0x37, 0xb3, 0xbd, 0x7, 0x99, 0x68, 0x15, 0x30, 0x70, 0xde, 0x41, 0x58, 0xe, 0x9f, 0xd2, 0xbb, 0xb6, 0xa6, 0xa9, 0x3c, 0x2d, 0x20, 0xc7, 0x7e, 0xd8, 0x47}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x95, 0xf0, 0x96, 0x47, 0xec, 0x7c, 0xdc, 0x90, 0x39, 0x23, 0x32, 0x42, 0xf8, 0xfe, 0xc6, 0x4b, 0xe7, 0x83, 0x1b, 0xec, 0xc5, 0xa7, 0xb3, 0x64, 0x87, 0xc6, 0x2f, 0x25, 0x5f, 0xe0, 0xbc, 0x95}}
 	return a, nil
 }
 
-var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x5f\x6f\xe3\xb8\x11\x7f\xf7\xa7\x98\xfa\xe1\x2e\x01\xb2\xf2\xee\xa2\x68\x0f\xc6\xb9\x7b\x0b\x5c\x8c\x16\xc8\x62\x17\x59\xef\xf5\xb1\x4b\x49\x23\x9b\x08\x45\xaa\x24\x65\xc7\x08\xf2\xdd\x8b\x21\xa9\x3f\x94\x25\xc7\xb9\xf6\x50\x3f\x24\x12\x39\x9c\xf9\xcd\x1f\x0e\x7f\x14\x2f\x2b\xa5\x2d\xac\x6b\xb9\xe5\xa9\xc0\x8d\x7a\x40\x09\x85\x56\x25\xcc\xa3\xb1\xf9\x2c\x48\x7e\x42\xcb\x72\x66\xd9\x6f\x1c\x0f\x26\x48\x46\x63\xad\x24\xbd\xdd\xa3\x51\x62\x8f\x3a\x08\xf6\x87\xe6\xb3\xd9\x62\xb1\x80\xcd\x8e\x1b\xc8\x94\xb4\x9a\x65\x16\x78\x59\x09\x2c\x51\x5a\x03\x76\x87\x50\x06\xc5\x60\x2c\x93\x39\xd3\x39\x54\x5a\x55\xca\x60\xee\xd6\x72\x09\xeb\xbb\x7f\x7c\x79\xf3\xee\xed\x4f\x7f\x4d\xdc\x88\xfb\x73\x8f\xc5\x12\x76\xd6\x56\x66\xb9\x58\x6c\xb9\xdd\xd5\x69\x92\xa9\x72\xa1\x64\x21\xd4\x61\x51\x08\x5e\x99\x45\x2a\x54\xba\x28\x19\x97\x0b\x56\x55\x82\x67\xcc\x72\x25\x17\xef\xdf\xbe\x7f\xff\xf6\xa7\x77\xef\xde\x14\xc1\xf9\x37\x96\xbc\x37\x6f\x1a\x24\x49\x99\x77\x86\xbe\x5a\x5d\x67\xd6\x00\x93\x39\x68\x34\xaa\xd6\x19\x1a\xc8\x98\xec\xfc\x00\x25\x11\x94\x86\x52\x69\x74\x6b\x5a\x97\xec\xb1\x42\x73\x03\x19\x13\x02\x73\xd8\x53\xe8\x12\xb8\x65\xd9\xce\x3d\xbb\x69\xd0\x58\x69\x34\x14\x0e\xb7\x96\x41\xce\x8b\x02\x35\xe9\x7d\xe0\x32\x07\x55\xb4\xfa\x9c\xff\x33\x96\x65\x68\xcc\x15\x13\xe2\xba\x0b\x6a\x94\xc8\x38\x7f\x4f\xb3\x19\x00\x00\x29\x5f\x6f\x68\x08\x0e\x9a\x55\x06\xd6\x9b\x5f\xb9\xa9\x04\x3b\x3a\xdf\xd6\x9b\xdf\x58\x2d\xec\xaf\xcc\xb2\x1b\x37\xc0\x0d\xd4\x06\x73\xb0\x0a\xb6\x7c\x8f\xc0\x20\x53\xe4\xb1\x45\x68\xf5\x55\x3c\xb3\xb5\x46\xc2\xc8\x5a\x08\xe0\x30\x24\xf0\x49\x19\x3b\x18\x6c\xf1\x1a\x30\x3b\x55\x8b\xbc\x53\xd5\x45\xd3\x52\xb5\x50\x7c\x92\x66\xd2\xfd\xef\xbb\x6d\x5c\x52\x1a\x77\x9e\xdc\xfc\x50\x46\xa0\x85\xc2\x06\x17\x97\x9d\xb7\x1f\x9c\xe4\x99\x25\x6d\x1c\x96\xfd\xa0\x7c\x68\x57\xb8\xd4\x71\xc9\xed\x55\x3b\x44\xbf\x51\x5b\x37\x03\x91\x97\x74\x5f\xf7\x9c\xa1\x9f\x41\x51\x24\xad\x66\x58\x75\x56\xc6\xc4\x5a\x85\x4e\xb0\x7d\x6b\x45\x9f\x67\xfe\x6f\x1b\xf4\xbf\xa3\xa8\x50\xbb\x14\xa3\xa5\x14\x6e\x46\x02\x4f\x82\xbf\x54\x4c\xb3\xd2\x4d\x36\x7b\x7b\x09\x1f\x41\xa3\xab\xd4\x0c\x49\x05\x6d\x66\xdd\xf4\x82\x66\xab\x74\x1a\x34\xda\x5a\x4b\xf8\xd8\x64\xcd\xe7\x70\x32\xc5\x45\x2d\x09\x94\x17\xbe\x8a\x0d\xff\xf0\xd4\x6f\x32\x49\xf3\xf0\x7c\xbd\x3c\x2d\x09\xca\x69\xc9\x8e\x29\x86\x99\x55\xe4\x44\x12\x00\x3b\x23\x9b\x63\x85\x3f\x7b\xb1\xbf\x5d\x5d\x5f\xb7\x2a\x78\xd1\x54\x86\x57\xd0\x57\x17\xa7\x2b\xf8\x18\x24\x99\xf9\x53\xc0\x33\xc8\x40\x4f\x34\xf8\x37\x55\x49\x2e\xb1\x2e\x0c\x61\x28\x8a\xc4\xf5\x99\xf2\xea\x56\xb6\x83\xf1\xda\xae\xe6\x86\x55\xe1\xc0\x5b\x05\xf8\x48\x6d\xd8\xe5\x95\xcb\x42\xe9\xd2\xf5\x4f\x90\x88\xb9\xef\x0b\x66\xa7\x0e\x19\x73\x22\x9c\xfa\x49\xd2\x6d\x67\xdf\xf2\x99\x84\x14\x7d\x1b\x49\x8f\xd0\x6b\xc2\xa6\x6b\x2b\x12\xd4\x1e\xb5\xdb\x54\xd4\x76\x5a\x0d\x5b\xcd\xaa\x1d\xcf\x0c\x35\x17\x82\xb0\xde\x5c\xd0\x0f\x9a\x8d\xd2\xa5\xc5\x83\x41\xc8\xc3\x8c\x64\x25\x42\xa1\xb4\xc7\xec\x3a\x7f\xd2\x17\x8e\x16\xde\x3e\x32\x6a\x4b\x4b\x98\xaf\x85\x3a\xcc\x47\xe5\x86\x0d\x84\x0c\x2c\xe9\xd8\xe0\x72\x3b\x3b\x81\xc1\xd2\x54\xe3\x9e\x33\x8b\x39\x98\x63\x99\x2a\xf1\x7b\xc0\xdc\x7d\xfe\xe7\x7c\x12\x80\x57\x3b\x0e\xe1\x23\xe4\x68\x32\xcd\x2b\x97\x49\x0a\x6b\xa5\xd5\x9e\xe7\x68\xa2\x44\xb8\x90\xbf\x06\x11\xb9\x46\xa8\xfc\x0a\x3a\x3b\x48\xb7\x64\x96\x52\x9c\xd5\x9a\x9a\xc4\xb1\xcd\xa4\x50\x07\x90\x68\x0f\x4a\x3f\x24\xd3\x7e\xf4\x90\x8e\x3b\x73\xfb\x68\x51\x4b\x26\x40\x70\xf9\x40\x05\xc5\xe0\xdb\xfd\x1d\x3d\x38\x27\xe8\x38\x8e\x0a\x97\xa5\xaa\xb6\x0e\x41\x73\xf2\x0f\x1d\x1c\x42\xc0\x60\xe1\xdb\xfd\xdd\x32\x66\x45\xc9\x6d\x37\x15\xa3\xfa\xdc\x91\x01\xd8\xa3\x36\xae\xda\x83\xe7\xb1\x5d\x10\x6a\xab\xa6\x8d\xd3\xac\x19\x9a\xfd\x84\x39\x67\x26\xb6\xf8\x55\x65\x3c\x44\xc1\xed\x2b\x8d\xc4\x30\x4e\xed\xfd\x68\xc0\x78\xd1\x9d\x2a\xb1\x62\x5b\x34\x51\x6e\xe1\x8b\x32\xc6\x89\x3f\xe0\xd1\x50\x9b\xa3\xdd\x3b\xe7\xd2\x58\xb6\xd5\xac\x9c\xdf\xc0\xdc\x1e\xb8\xb5\xa8\xe9\x31\xe7\x26\x53\x3a\x9f\xdf\x00\xda\x6c\xda\x0d\x6f\xd2\x2c\xe1\xc9\xe7\xf0\x4c\x20\x9f\x67\x2f\x1d\xb2\xfd\xcd\x15\x37\xbf\xb8\xea\xe3\xb9\x91\x4a\x8a\x05\x2e\xcb\x73\xbc\xe6\x4c\x7a\x06\xc8\x5e\x13\x80\x66\xd1\x28\x11\x70\xbd\x6b\xe5\x82\x70\x3a\x19\xba\xc9\x2a\x44\xe2\x54\xa0\xbf\xf3\x57\xfd\x98\x9c\x8a\xf6\xe2\x01\xab\x7e\x74\x4e\x45\x5d\x18\x60\xe5\xc3\x31\x82\xca\x3b\x4f\xb0\xfc\xd3\xa5\x64\xa4\xeb\xe5\x5c\x02\x83\x03\x3b\x82\xdd\x31\x0b\x07\x2e\x44\x73\x78\x7a\x82\x9d\x83\x72\x6e\x30\xd1\x1e\x10\xf0\x47\x10\x17\xd9\xda\xe9\x81\xbb\x94\xc5\x34\xc7\xf7\xbf\xe0\x15\x54\xa6\x65\xac\x4f\x43\x2e\xe2\x28\x48\x98\xbe\x90\xd6\x04\x69\x62\x36\x83\xda\x0a\x3a\xf3\x48\xdd\x89\x05\x66\x3e\x8c\x1e\xb0\xcd\x2f\x84\xa9\xa7\x25\x12\x79\x9e\xe6\x40\x92\x8b\xdf\x47\x41\x8c\xa5\x26\xeb\x2e\x2b\xd2\xa2\xbb\x07\x1d\xb8\xdd\x05\x22\x4b\xb4\x27\x79\x15\x21\x31\x68\xeb\xaa\xb7\xda\x6b\xa3\xeb\x28\xea\xae\xa4\xc8\x2a\xdb\x7a\xbb\x55\x9d\x0a\x9e\x41\xc6\x2a\x96\x72\xc1\x2d\x6f\x5a\xea\xf9\x5b\x4b\xcb\xd3\x63\x9e\xf2\x85\xd9\x1d\x95\x7b\x63\xe1\xb0\x43\xdd\x92\xab\x00\x89\x1b\xd0\x98\xa9\xb2\x44\x19\x58\x58\x8a\x3e\x10\xf9\x99\x1e\xec\x15\x92\x7e\x6a\x80\xed\x4b\x7c\x8e\x7c\xf1\xce\x54\x84\xe2\xb0\xe3\xd9\x0e\xca\xda\x58\xd2\x4f\x47\x8b\x37\xd6\x4b\x48\xf0\x5d\x63\x86\x9c\x76\x4e\x1b\x84\xe3\x34\x90\x46\xd8\x23\xf1\x06\xff\x6b\x20\x29\x13\x8c\xb6\x72\x73\x45\x77\xfb\x78\x32\x33\x63\xb0\x9a\x0b\xf6\x79\x58\xb4\x91\x7c\x13\x0a\x97\xd7\x0e\x10\xf3\xbc\xe2\x7b\xdf\xbf\xef\x89\x2f\x3a\x6e\x80\x11\x2e\xab\x79\x46\xb4\x2f\xdc\xfa\xff\x5d\x73\x3a\x0d\x20\x32\xe1\x94\x44\x77\xf9\xe4\x3e\xa8\xfc\xee\x8b\xbc\x60\x19\xbe\x1c\xdf\x3b\x07\x8b\x00\x2f\x1d\xec\xff\x8f\x23\xa3\xad\xad\xe7\xc7\x05\x19\x39\xef\xc8\xba\x96\x59\x60\xb2\xcc\x02\x13\x42\x1d\x0c\x64\x1a\x7d\x97\x50\x05\x91\x5a\x2c\x2b\x7b\xec\xf6\x8f\x93\x24\x67\xa4\x75\x3b\x28\x46\xad\x42\x4f\x09\xe4\x29\x3f\x83\xd0\x99\xc1\x5b\xd2\xee\xf6\xf3\x92\x16\x5c\x5d\x2f\xe1\x97\xa7\x38\x81\x6e\xf6\x65\x6a\x33\xb5\x47\x6f\x06\x37\xcc\xf1\x0d\x14\x4b\x4d\xd5\xf3\xb8\xae\x61\x8c\xc7\x75\x9d\x97\x1a\x46\xa3\xc9\xcc\x4b\x51\x69\xd6\x0f\xcf\xa4\x4a\xe3\xe8\x19\x33\x44\x9c\x70\xf3\xb5\x4e\xa9\x12\xaf\x54\xe1\x81\xfd\xfc\xc3\xd3\xf8\x0e\x7a\xa6\xb3\x6f\x09\xf3\xe6\xbd\xe9\x11\xae\x8e\x5d\x87\xe1\x32\x13\x75\x8e\x30\xbe\xbe\x77\x57\x99\x0e\xce\x38\xa0\xf1\x43\x3e\xe0\x69\xe8\xe0\x34\x9e\xd1\xe5\xfd\x7d\x34\x9f\x38\x6b\xa1\xe5\x61\x5d\x41\x11\x17\xeb\x1d\x01\x27\xa2\xfd\x12\x83\x55\x54\x71\xa7\xc2\xfd\x4a\x23\xd6\xd0\x7b\x9d\xd6\xdc\x45\xab\xa7\xbf\x1b\x9c\xb6\x12\x2d\x3c\x1d\x3c\x5d\x38\x2c\x4b\x58\x4d\x56\xea\xe5\xc4\xb4\x3b\xbe\x5f\xa6\xa6\x9f\x87\xd4\xf4\x0f\xf9\xa4\xd6\x23\xa6\x1d\xb8\x8b\x3f\xb0\xb5\xdf\x87\x5e\x45\x4e\xbb\xaf\x97\xa7\xf4\x74\x7f\xe1\x97\xb6\x46\xc5\x34\x29\xdd\x07\x35\x81\x7e\x8e\x31\xa7\xae\x39\xb8\x68\xec\xff\xb7\xb4\xd3\x2a\xcb\x04\x98\xba\xaa\x44\xfb\x01\xc3\xa1\xf8\x31\x7c\x1e\x99\xa2\x79\x1b\x5a\xf8\xd5\xaf\x9b\xfe\x42\xed\x15\x2f\xe1\xdb\x9a\x3f\xfe\xe5\xcf\x63\x87\x84\xed\xf4\x34\x62\xa3\x97\xc3\x00\x71\x05\xbd\x05\x27\x35\xfd\x3c\x83\xff\x04\x00\x00\xff\xff\x2e\xcd\x3a\x2d\x0e\x1a\x00\x00"
+var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x5f\x6f\xe3\xb8\x11\x7f\xf7\xa7\x98\xfa\xe1\x2e\x01\xb2\xf2\xee\xa2\x68\x0f\xc6\xb9\x7b\x0b\x5c\x8c\x16\xc8\x62\x17\x59\xef\xf5\xb1\x4b\x49\x23\x9b\x08\x45\xaa\x24\x65\xc7\x08\xf2\xdd\x8b\x21\xa9\x3f\x94\x25\xc7\xb9\xf6\x50\x3f\x24\x12\x39\x9c\xf9\xcd\x1f\x0e\x7f\x14\x2f\x2b\xa5\x2d\xac\x6b\xb9\xe5\xa9\xc0\x8d\x7a\x40\x09\x85\x56\x25\xcc\xa3\xb1\xf9\x2c\x48\x7e\x42\xcb\x72\x66\xd9\x6f\x1c\x0f\x26\x48\x46\x63\xad\x24\xbd\xdd\xa3\x51\x62\x8f\x3a\x08\xf6\x87\xe6\xb3\xd9\x62\xb1\x80\xcd\x8e\x1b\xc8\x94\xb4\x9a\x65\x16\x78\x59\x09\x2c\x51\x5a\x03\x76\x87\x50\x06\xc5\x60\x2c\x93\x39\xd3\x39\x54\x5a\x55\xca\x60\xee\xd6\x72\x09\xeb\xbb\x7f\x7c\x79\xf3\xee\xed\x4f\x7f\x4d\xdc\x88\xfb\x73\x8f\xc5\x12\x76\xd6\x56\x66\xb9\x58\x6c\xb9\xdd\xd5\x69\x92\xa9\x72\xa1\x64\x21\xd4\x61\x51\x08\x5e\x99\x45\x2a\x54\xba\x28\x19\x97\x0b\x56\x55\x82\x67\xcc\x72\x25\x17\xef\xdf\xbe\x7f\xff\xf6\xa7\x77\xef\xde\x14\xc1\xf9\x37\x96\xbc\x37\x6f\x1a\x24\x49\x99\x77\x86\xbe\x5a\x5d\x67\xd6\x00\x93\x39\x68\x34\xaa\xd6\x19\x1a\xc8\x98\xec\xfc\x00\x25\x11\x94\x86\x52\x69\x74\x6b\x5a\x97\xec\xb1\x42\x73\x03\x19\x13\x02\x73\xd8\x53\xe8\x12\xb8\x65\xd9\xce\x3d\xbb\x69\xd0\x58\x69\x34\x14\x0e\xb7\x96\x41\xce\x8b\x02\x35\xe9\x7d\xe0\x32\x07\x55\xb4\xfa\x9c\xff\x33\x96\x65\x68\xcc\x15\x13\xe2\xba\x0b\x6a\x94\xc8\x38\x7f\x4f\xb3\x19\x00\x00\x29\x5f\x6f\x68\x08\x0e\x9a\x55\x06\xd6\x9b\x5f\xb9\xa9\x04\x3b\x3a\xdf\xd6\x9b\xdf\x58\x2d\xec\xaf\xcc\xb2\x1b\x37\xc0\x0d\xd4\x06\x73\xb0\x0a\xb6\x7c\x8f\xc0\x20\x53\xe4\xb1\x45\x68\xf5\x55\x3c\xb3\xb5\x46\xc2\xc8\x5a\x08\xe0\x30\x24\xf0\x49\x19\x3b\x18\x6c\xf1\x1a\x30\x3b\x55\x8b\xbc\x53\xd5\x45\xd3\x52\xb5\x50\x7c\x92\x66\xd2\xfd\xef\xbb\x6d\x5c\x52\x1a\x77\x9e\xdc\xfc\x50\x46\xa0\x85\xc2\x06\x17\x97\x9d\xb7\x1f\x9c\xe4\x99\x25\x6d\x1c\x96\xfd\xa0\x7c\x68\x57\xb8\xd4\x71\xc9\xed\x55\x3b\x44\xbf\x51\x5b\x37\x03\x91\x97\x74\x5f\xf7\x9c\xa1\x9f\x41\x51\x24\xad\x66\x58\x75\x56\xc6\xc4\x5a\x85\x4e\xb0\x7d\x6b\x45\x9f\x67\xfe\x6f\x1b\xf4\xbf\xa3\xa8\x50\xbb\x14\xa3\xa5\x14\x6e\x46\x02\x4f\x82\xbf\x54\x4c\xb3\xd2\x4d\x36\x7b\x7b\x09\x1f\x41\xa3\xab\xd4\x0c\x49\x05\x6d\x66\xdd\xf4\x82\x66\xab\x74\x1a\x34\xda\x5a\x4b\xf8\xd8\x64\xcd\xe7\x70\x32\xc5\x45\x2d\x09\x94\x17\xbe\x8a\x0d\xff\xf0\xd4\x6f\x32\x49\xf3\xf0\x7c\xbd\x3c\x2d\x09\xca\x69\xc9\x8e\x29\x86\x99\x55\xe4\x44\x12\x00\x3b\x23\x9b\x63\x85\x3f\x7b\xb1\xbf\x5d\x5d\x5f\xb7\x2a\x78\xd1\x54\x86\x57\xd0\x57\x17\xa7\x2b\xf8\x18\x24\x99\xf9\x53\xc0\x33\xc8\x40\x4f\x34\xf8\x37\x55\x49\x2e\xb1\x2e\x0c\x61\x28\x8a\xc4\xf5\x99\xf2\xea\x56\xb6\x83\xf1\xda\xae\xe6\x86\x55\xe1\xc0\x5b\x05\xf8\x48\x6d\xd8\xe5\x95\xcb\x42\xe9\xd2\xf5\x4f\x90\x88\xb9\xef\x0b\x66\xa7\x0e\x19\x73\x22\x9c\xfa\x49\xd2\x6d\x67\xdf\xf2\x99\x84\x14\x7d\x1b\x49\x8f\xd0\x6b\xc2\xa6\x6b\x2b\x12\xd4\x1e\xb5\xdb\x54\xd4\x76\x5a\x0d\x5b\xcd\xaa\x1d\xcf\x0c\x35\x17\x82\xb0\xde\x5c\xd0\x0f\x9a\x8d\xd2\xa5\xc5\x83\x41\xc8\xc3\x8c\x64\x25\x42\xa1\xb4\xc7\xec\x3a\x7f\xd2\x17\x8e\x16\xde\x3e\x32\x6a\x4b\x4b\x98\xaf\x85\x3a\xcc\x47\xe5\x86\x0d\x84\x0c\x2c\xe9\xd8\xe0\x72\x3b\x3b\x81\xc1\xd2\x54\xe3\x9e\x33\x8b\x39\x98\x63\x99\x2a\xf1\x7b\xc0\xdc\x7d\xfe\xe7\x7c\x12\x80\x57\x3b\x0e\xe1\x23\xe4\x68\x32\xcd\x2b\x97\x49\x0a\x6b\xa5\xd5\x9e\xe7\x68\xa2\x44\xb8\x90\xbf\x06\x11\xb9\x46\xa8\xfc\x0a\x3a\x3b\x48\xb7\x64\x96\x52\x9c\xd5\x9a\x9a\xc4\xb1\xcd\xa4\x50\x07\x90\x68\x0f\x4a\x3f\x24\xd3\x7e\xf4\x90\x8e\x3b\x73\xfb\x68\x51\x4b\x26\x40\x70\xf9\x40\x05\xc5\xe0\xdb\xfd\x1d\x3d\x38\x27\xe8\x38\x8e\x0a\x97\xa5\xaa\xb6\x0e\x41\x73\xf2\x0f\x1d\x1c\x42\xc0\x60\xe1\xdb\xfd\xdd\x32\x66\x45\xc9\x6d\x37\x15\xa3\xfa\xdc\x91\x01\xd8\xa3\x36\xae\xda\x83\xe7\xb1\x5d\x10\x6a\xab\xa6\x8d\xd3\xac\x19\x9a\xfd\x84\x39\x67\x26\xb6\xf8\x55\x65\x3c\x44\xc1\xed\x2b\x8d\xc4\x30\x4e\xed\xfd\x68\xc0\x78\xd1\x9d\x2a\xb1\x62\x5b\x34\x51\x6e\xe1\x8b\x32\xc6\x89\x3f\xe0\xd1\x50\x9b\xa3\xdd\x3b\xe7\xd2\x58\xb6\xd5\xac\x9c\xdf\xc0\xdc\x1e\xb8\xb5\xa8\xe9\x31\xe7\x26\x53\x3a\x9f\xdf\x00\xda\x6c\xda\x0d\x6f\xd2\x2c\xe1\xc9\xe7\xf0\x4c\x20\x9f\x67\x2f\x1d\xb2\xfd\xcd\x15\x37\xbf\xb8\xea\xe3\xb9\x91\x4a\x8a\x05\x2e\xcb\x73\xbc\xe6\x4c\x7a\x06\xc8\x5e\x13\x80\x66\xd1\x28\x11\x70\xbd\x6b\xe5\x82\x70\x3a\x19\xba\xc9\x2a\x44\xe2\x54\xa0\xbf\xf3\x57\xfd\x98\x9c\x8a\xf6\xe2\x01\xab\x7e\x74\x4e\x45\x5d\x18\x60\xe5\xc3\x31\x82\xca\x3b\x4f\xb0\xfc\xd3\xa5\x64\xa4\xeb\xe5\x5c\x02\x83\x03\x3b\x82\xdd\x31\x0b\x07\x2e\x44\x73\x78\x7a\x82\x9d\x83\x72\x6e\x30\xd1\x1e\x10\xf0\x47\x10\x17\xd9\xda\xe9\x81\xbb\x94\xc5\x34\xc7\xf7\xbf\xe0\x15\x54\xa6\x65\xac\x4f\x43\x2e\xe2\x28\x48\x98\xbe\x90\xd6\x04\x69\x62\x36\x83\xda\x0a\x3a\xf3\x48\xdd\x89\x05\x66\x3e\x8c\x1e\xb0\xcd\x2f\x84\xa9\xa7\x25\x12\x79\x9e\xe6\x40\x92\x8b\xdf\x47\x41\x8c\xa5\x26\xeb\x2e\x2b\xd2\xa2\xbb\x07\x1d\xb8\xdd\x05\x22\x4b\xb4\x27\x79\x15\x21\x31\x68\xeb\xaa\xb7\xda\x6b\xa3\xeb\x28\xea\xae\xa4\xc8\x2a\xdb\x7a\xbb\x55\x9d\x0a\x9e\x41\xc6\x2a\x96\x72\xc1\x2d\x6f\x5a\xea\xf9\x5b\x4b\xcb\xd3\x63\x9e\xf2\x85\xd9\x1d\x95\x7b\x63\xe1\xb0\x43\xdd\x92\xab\x00\x89\x1b\xd0\x98\xa9\xb2\x44\x19\x58\x58\x8a\x3e\x10\xf9\x99\x1e\xec\x15\x92\x7e\x6a\x80\xed\x4b\x7c\x8e\x7c\xf1\xce\x54\x84\xe2\xb0\xe3\xd9\x0e\xca\xda\x58\xd2\x4f\x47\x8b\x37\xd6\x4b\x48\xf0\x5d\x63\x86\x9c\x76\x4e\x1b\x84\xe3\x34\x90\x46\xd8\x23\xf1\x06\xff\x6b\x20\x29\x13\x8c\xb6\x72\x73\x45\x77\xfb\x78\x32\x33\x63\xb0\x9a\x0b\xf6\x79\x58\xb4\x91\x7c\x13\x0a\x97\xd7\x0e\x10\xf3\xbc\xe2\x7b\xdf\xbf\xef\x89\x2f\x3a\x6e\x80\x11\x2e\xab\x79\x46\xb4\x2f\xdc\xfa\xff\x5d\x73\x3a\x0d\x20\x32\xe1\x94\x44\x77\xf9\xe4\x3e\xa8\xfc\xee\x8b\xbc\x60\x19\xbe\x1c\xdf\x3b\x07\x8b\x00\x2f\x1d\xec\xff\x8f\x23\xa3\xad\xad\xe7\xc7\x05\x19\x39\xef\xc8\xba\x96\x59\x60\xb2\xcc\x02\x13\x42\x1d\x0c\x64\x1a\x7d\x97\x50\x05\x91\x5a\x2c\x2b\x7b\xec\xf6\x8f\x93\x24\x67\xa4\x75\x3b\x28\x46\xad\x42\x4f\x09\xe4\x29\x3f\x83\xd0\x99\xc1\x5b\xd2\xee\xf6\xf3\x92\x16\x5c\x5d\x2f\xe1\x97\xa7\x38\x81\x6e\xf6\x65\x6a\x33\xb5\x47\x6f\x06\x37\xcc\xf1\x0d\x14\x4b\x4d\xd5\xf3\xb8\xae\x61\x8c\xc7\x75\x9d\x97\x1a\x46\xa3\xc9\xcc\x4b\x51\x69\xd6\x0f\xcf\xa4\x4a\xe3\xe8\x19\x33\x44\x9c\x70\xf3\xb5\x4e\xa9\x12\xaf\x54\xe1\x81\xfd\xfc\xc3\xd3\xf8\x0e\x7a\xa6\xb3\x6f\x09\xf3\xe6\xbd\xe9\x11\xae\x8e\x5d\x87\xe1\x32\x13\x75\x8e\x30\xbe\xbe\x77\x57\x99\x0e\xce\x25\x80\xbc\xef\x01\x4d\x43\x06\xdb\xde\xd6\xa2\x49\x11\xd8\xf0\xca\xe0\x8a\x78\x3e\x71\xb2\x42\xcb\xba\xba\xf2\x21\xe6\xd5\x6b\xf8\x27\xa2\xfd\x82\x82\x55\x54\x5f\xa7\xc2\xfd\xba\x22\x8e\xd0\x7b\x9d\xd6\xdc\xc5\xa6\xa7\xbf\x1b\x9c\xb6\x12\x2d\x3c\x1d\x3c\x5d\x38\x2c\x42\x58\x4d\xd6\xe5\xe5\x34\xb4\x3b\xac\x5f\x26\xa2\x9f\x87\x44\xf4\x0f\xf9\x80\xd6\xa3\xa1\x1d\xb8\x8b\x3f\xa7\xb5\x5f\x83\x5e\x45\x45\xbb\x6f\x95\xa7\x64\x74\x7f\xe1\x77\xb5\x46\xc5\x34\x05\xdd\x07\x35\x81\x6c\x8e\xf1\xa4\xae\x15\xb8\x68\xec\xff\xb7\x24\xd3\x2a\xcb\x04\x98\xba\xaa\x44\xfb\xb9\xc2\xa1\xf8\x31\x7c\x0c\x99\x22\x75\x1b\x5a\xf8\xd5\xaf\x9b\xfe\x1e\xed\x15\x2f\xe1\xdb\x9a\x3f\xfe\xe5\xcf\x63\x47\x82\xed\xf4\x34\x62\xa3\x57\xc1\x00\x71\x05\xbd\x05\x27\x35\xfd\x3c\x83\xff\x04\x00\x00\xff\xff\x9d\x50\x33\xf6\xfc\x19\x00\x00"
 
 func fungibletokenmetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -135,7 +135,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenMetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4b, 0x24, 0xf5, 0x5, 0xd9, 0x7b, 0x85, 0x6b, 0x5b, 0x1c, 0x32, 0x1e, 0xd1, 0x4b, 0x7a, 0x4b, 0xfc, 0x38, 0x7a, 0x9f, 0x82, 0xa7, 0x41, 0xb8, 0xe4, 0x6b, 0xce, 0x43, 0xd4, 0xdc, 0xd, 0x7a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe8, 0x33, 0x2d, 0xac, 0xf2, 0x7a, 0xc2, 0xab, 0x93, 0xbb, 0xde, 0x3b, 0x1, 0x95, 0xe5, 0xaa, 0x36, 0xae, 0x1f, 0x41, 0x2d, 0x19, 0x3e, 0xd, 0xef, 0xc7, 0x1, 0x13, 0x9f, 0x65, 0xbf, 0xfa}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 4c81ffad..3ef19fab 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,9 +1,9 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // burn_tokens.cdc (1.718kB)
-// create_forwarder.cdc (3.035kB)
+// create_forwarder.cdc (3.03kB)
 // generic_transfer.cdc (1.331kB)
-// metadata/setup_account_from_vault_reference.cdc (1.932kB)
+// metadata/setup_account_from_vault_reference.cdc (1.909kB)
 // mint_tokens.cdc (1.827kB)
 // privateForwarder/create_account_private_forwarder.cdc (2.025kB)
 // privateForwarder/create_private_forwarder.cdc (1.703kB)
@@ -14,16 +14,16 @@
 // scripts/get_balance.cdc (724B)
 // scripts/get_supply.cdc (195B)
 // scripts/get_supported_vault_types.cdc (921B)
-// scripts/metadata/get_token_metadata.cdc (816B)
-// scripts/metadata/get_vault_data.cdc (880B)
-// scripts/metadata/get_vault_display.cdc (874B)
-// scripts/metadata/get_vault_supply_view.cdc (957B)
+// scripts/metadata/get_token_metadata.cdc (811B)
+// scripts/metadata/get_vault_data.cdc (875B)
+// scripts/metadata/get_vault_display.cdc (869B)
+// scripts/metadata/get_vault_supply_view.cdc (952B)
 // scripts/switchboard/check_receiver_by_type.cdc (570B)
 // scripts/switchboard/get_vault_types.cdc (698B)
 // scripts/switchboard/get_vault_types_and_address.cdc (676B)
-// scripts/test/example_token_vault_display_strict_equal.cdc (2.25kB)
+// scripts/test/example_token_vault_display_strict_equal.cdc (2.245kB)
 // scripts/tokenForwarder/is_recipient_valid.cdc (444B)
-// setup_account.cdc (1.749kB)
+// setup_account.cdc (1.717kB)
 // switchboard/add_vault_capability.cdc (4.302kB)
 // switchboard/add_vault_wrapper_capability.cdc (1.756kB)
 // switchboard/batch_add_vault_capabilities.cdc (1.607kB)
@@ -32,8 +32,8 @@
 // switchboard/safe_transfer_tokens.cdc (2.226kB)
 // switchboard/safe_transfer_tokens_v2.cdc (2.129kB)
 // switchboard/setup_account.cdc (2.091kB)
-// switchboard/setup_royalty_account.cdc (5.997kB)
-// switchboard/setup_royalty_account_by_paths.cdc (6.068kB)
+// switchboard/setup_royalty_account.cdc (5.795kB)
+// switchboard/setup_royalty_account_by_paths.cdc (5.866kB)
 // switchboard/transfer_tokens.cdc (1.709kB)
 // transfer_many_accounts.cdc (1.841kB)
 // transfer_tokens.cdc (1.872kB)
@@ -126,7 +126,7 @@ func burn_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x8f\xdb\x36\x10\xbd\xf3\x57\x4c\x7d\x48\xed\xc0\x91\xd1\xaf\x8b\xb1\xc9\x22\x71\xba\x45\x80\xb6\x08\xb2\x9b\xbd\x36\x63\x6a\x6c\xb1\xa1\x49\x81\x1c\x59\x31\x82\xfd\xef\x05\x49\x89\x96\xb4\x1f\x4d\x2f\xf5\x61\xb1\x12\x87\x33\x6f\xde\x7b\x33\x5a\x3d\x7f\x2e\xc4\x4d\xa5\x3c\xb0\x43\xe3\x51\xb2\xb2\x06\x94\x07\x04\xa6\x43\xad\x91\x09\x76\xd6\x85\xc7\xc1\x39\x57\xc8\x20\x6d\xa3\x4b\xd8\x12\x34\x9e\x4a\xc1\x16\x3c\x31\x34\x35\xa0\x01\x94\xd2\x36\x86\x81\x6d\xb8\xdc\xa2\x2b\xa1\xa4\xda\x7a\xc5\x54\x02\xdb\xcf\x64\x7c\x38\x43\x63\xb9\x22\x07\x8e\x24\xa9\x23\xb9\x42\x88\x77\x3b\x40\x73\xb2\x86\xc0\x93\x29\xfd\x30\x38\xd4\x71\xdf\x7b\xb8\x4a\x19\xc9\xc1\x87\xee\xde\x52\x70\x45\xf9\x09\x5a\xa5\x35\xfc\xdd\x78\xce\xc5\xb9\xb2\x9e\x06\xb9\x42\xf8\x2d\x36\x9a\x53\x27\x15\x7a\xd8\x12\x19\x11\x3a\x40\x1f\x8f\x1d\x49\x55\x2b\x32\x0c\x68\x4a\xa0\x83\x0a\xff\x00\x1d\xc3\x9b\x78\x49\x99\x52\x49\x64\xf2\xa2\xad\x94\xac\x22\xba\xbe\x60\xe8\xb2\xea\x0b\x16\x1d\xc1\x2d\x9e\x96\xa0\x42\x7f\x60\x77\xbb\x17\xb2\x42\x65\xc0\x93\x3b\x2a\x49\xd0\xa2\xe1\x08\xed\x60\x8d\x62\xeb\xa0\xad\x6c\x90\xa1\x4b\xa8\xcc\x5e\x9c\xe1\x2b\x5e\x82\x62\x90\x68\xa0\x45\x96\x55\x82\x15\x8f\x3c\x11\xb4\x15\x39\x1a\x00\x00\x89\x07\x82\x9d\xb3\x87\x42\x88\x6b\xa6\xba\x8b\x4c\x6a\x25\xa9\x3c\xb4\x8a\xab\x74\x21\x77\xe1\xd6\x42\xfc\x50\xc0\x4d\x45\x70\xd5\x98\xbd\xda\x6a\x82\x9b\x18\x21\xad\x61\x87\x32\xb0\xc0\xe4\x76\x28\x09\x7c\x15\xfd\x80\xda\x11\x96\xa7\xe0\x8b\x92\x6a\x6d\x4f\x54\x82\xb7\x07\x8a\xa0\xc4\x8f\x29\x1b\xd6\xb5\x56\x12\x43\x3e\x1e\xe7\xeb\xb2\x0c\x6e\x17\xe2\xa7\x74\x69\xa0\x48\x67\xaf\x2e\xb8\xc2\x23\x01\x76\x82\x06\xb3\x72\xf4\x73\x4a\xec\x08\x99\x4a\x01\x00\x51\x48\xcf\xd6\x51\x09\xca\x80\x62\x1f\x9f\x70\x4f\xa9\x77\x84\xba\xd9\x6a\xe5\x2b\x2a\xb3\x97\xc4\xcf\x05\xbc\x8d\x40\x22\x9f\x9f\x62\xf7\x57\x59\x93\x42\x96\xf2\xd3\x19\x7c\x74\x69\xa9\x76\x3b\x72\x03\x98\xe2\x97\x22\x78\x16\x10\x0c\xb5\xf0\x3a\xbd\x5c\xc3\x26\x22\x8b\x69\xfb\x7e\x8c\x75\x07\xd4\xfa\xb4\x8c\x70\xb9\x22\x03\xae\x31\xa9\x72\x6a\xe4\xaf\x2c\x4d\x2a\x3d\x18\xca\x74\x69\x4f\xcc\xca\xec\x61\x34\x10\x41\xfa\x51\xa1\x64\xe0\x89\xd1\x0b\xf1\x7c\x25\x84\x3a\xd4\xd6\x71\xd6\x3b\xc9\x1d\x13\xcc\x46\xef\x66\x7d\xe4\xaf\x5f\xf0\x50\x8f\x03\x87\xaf\x72\xdc\x84\xba\x2e\x74\xf2\x76\xf6\x60\xfd\x3f\x88\xb1\x44\xc6\x5b\x45\xad\x7f\x08\xcc\x28\x60\x26\xc4\x80\x96\x79\xbf\x5c\xd6\xf0\xba\x2c\x1d\x79\xbf\x80\xaf\x22\x72\x55\x3b\xaa\xd1\xd1\xdc\xab\xbd\x09\xe7\xd8\x70\x35\x7f\x63\x9d\xb3\xed\x2d\xea\x86\x96\xf0\xce\xfb\x86\xae\x93\x49\x36\x58\xe3\x56\x69\xc5\xa7\x4d\xd0\xdb\x6a\x4d\x6e\x09\xef\x93\x65\xce\x87\x4b\xb8\xc6\x23\x75\xf7\x3f\x9a\x7a\x7a\xbe\x80\x67\x9d\x05\x32\x8e\xf0\xd3\xc4\x70\x0c\x06\x7e\x8b\x8c\xf0\x72\xc4\x6a\xe1\xc8\x5b\x7d\xa4\x4d\xe7\xb3\xd0\xe5\x3c\xbc\x6b\x9c\xa4\x9b\x53\x4d\x6b\x30\x4a\x2f\xe1\xa8\xa8\x4d\x8f\xe1\xef\xc5\xe3\x0c\x15\x57\x37\xb7\x7d\xad\x57\xf3\xc5\x02\xd0\x7f\xf7\x04\xe3\xc3\xf0\xcb\x8c\x38\xfc\x2e\x2f\xa1\x46\xa3\xe4\x7c\xb6\x89\x93\x68\x2c\x07\x07\xa6\x4e\x20\x24\x88\xa0\xba\xa1\xa4\x3c\x29\xb3\x45\x4c\x73\xbf\xfb\x0f\xb4\x83\x97\x90\x04\x29\x64\x4f\x9a\x22\x5f\x6c\xa3\x2e\x17\xcf\xbe\x8e\x70\x16\x6f\x50\xa3\x91\x74\xf7\x6a\x9e\xd9\x2b\x0e\x1d\xf8\xf7\xc8\xd5\xe2\x5f\xf1\xa6\xc4\xd0\x25\x02\x47\x71\x7a\x25\x8d\xbe\x13\xb3\xc5\x59\xaa\xd5\x0a\x7e\x23\xee\x67\x27\x4d\x58\x86\x7a\xca\xbd\xf6\xb3\xb6\xa5\xe8\xf6\xf3\x87\xc1\x8e\xda\x3e\x6f\xb5\x97\x81\xba\xce\x1b\xd9\xb5\x8b\x31\x0b\x7b\xe2\x7b\x14\xf4\x63\x3e\xe2\xa0\xbf\xff\x6d\x1c\xec\x1f\xef\x67\xd2\xf9\x60\x6b\xe5\x55\x94\x16\x6b\x58\xc2\x8a\x7b\xd6\xa6\x9b\xa6\xb4\xfd\x56\x1a\x7c\xd1\xee\xc9\x0f\x17\x2f\xa6\x7b\xa2\x48\x8b\xef\x4f\x6a\xf3\x77\x7f\x9e\x39\x5b\x9f\xe9\x3b\x37\xd9\xb9\xa7\xdb\xed\x45\x00\x36\xbf\x78\x11\xf3\x2f\x81\xed\x1a\x56\xdd\xd1\x8a\x06\x43\x96\xb3\x8f\xfb\xfd\x68\xb4\x32\x9f\x23\x70\xfa\xa2\x7c\xdc\xad\x67\x72\xa6\x35\x47\x5a\x35\xfd\xf0\x3f\x2a\xcb\xb0\xd0\xef\x7d\x19\x93\xe6\xa5\x5f\x93\x0f\x48\x32\xe2\x2d\x7e\xe6\x7a\x0b\x6c\xb0\x7e\x64\x7c\x7a\x36\x54\xd8\x68\x4f\x59\x68\xe4\x95\x88\xed\x49\xb6\x46\xe1\xf7\x34\x18\x41\xe8\xd9\x98\x22\x5e\x02\xf2\x1a\xfe\x33\x47\x19\x42\x5c\xc1\xf2\x49\x7e\x72\xec\xb7\x13\x34\xb5\xe1\xa4\xdc\xff\xc7\xd4\x10\x7b\xa2\x6a\x15\xcf\xe5\x63\xf6\x0d\x59\xef\xc4\x9d\xf8\x27\x00\x00\xff\xff\x42\xf6\xb5\x93\xdb\x0b\x00\x00"
+var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x6f\x1b\x37\x10\xbd\xf3\x57\x4c\x75\x70\x25\x43\x5e\xa1\x5f\x17\xc1\x8e\x91\x28\x75\x11\xa0\x2d\x82\xd8\xf1\xb5\x19\x71\x47\x5a\x36\x14\xb9\x20\x67\xb5\x11\x02\xff\xf7\x82\xe4\x2e\xb5\x2b\x7f\x34\xbd\x54\x07\xc3\xbb\x1c\xce\xbc\x79\xef\xcd\xec\xe2\xfc\x5c\x88\xbb\x4a\x79\x60\x87\xc6\xa3\x64\x65\x0d\x28\x0f\x08\x4c\xbb\x5a\x23\x13\x6c\xac\x0b\x8f\x83\x73\xae\x90\x41\xda\x46\x97\xb0\x26\x68\x3c\x95\x82\x2d\x78\x62\x68\x6a\x40\x03\x28\xa5\x6d\x0c\x03\xdb\x70\xb9\x45\x57\x42\x49\xb5\xf5\x8a\xa9\x04\xb6\x9f\xc9\xf8\x70\x86\xc6\x72\x45\x0e\x1c\x49\x52\x7b\x72\x85\x10\xef\x36\x80\xe6\x60\x0d\x81\x27\x53\xfa\x61\x70\xa8\xe3\xbe\xf7\x70\x93\x32\x92\x83\x0f\xdd\xbd\xb9\xe0\x8a\xf2\x13\xb4\x4a\x6b\xf8\xbb\xf1\x9c\x8b\x73\x65\x3d\x0d\x72\x85\xf0\x7b\x6c\x34\xa7\x4e\x2a\xf4\xb0\x26\x32\x22\x74\x80\x3e\x1e\x3b\x92\xaa\x56\x64\x18\xd0\x94\x40\x3b\x15\xfe\x01\xda\x87\x37\xf1\x92\x32\xa5\x92\xc8\xe4\x45\x5b\x29\x59\x45\x74\x7d\xc1\xd0\x65\xd5\x17\x2c\x3a\x82\x5b\x3c\xcc\x41\x85\xfe\xc0\x6e\x36\x17\xb2\x42\x65\xc0\x93\xdb\x2b\x49\xd0\xa2\xe1\x08\x6d\x67\x8d\x62\xeb\xa0\xad\x6c\x90\xa1\x4b\xa8\xcc\x56\x1c\xe1\x2b\x9e\x83\x62\x90\x68\xa0\x45\x96\x55\x82\x15\x8f\x3c\x11\xb4\x15\x39\x1a\x00\x00\x89\x3b\x82\x8d\xb3\xbb\x42\x88\x5b\xa6\xba\x8b\x4c\x6a\x25\xa9\x3c\xb4\x8a\xab\x74\x21\x77\xe1\x96\x42\xfc\x50\xc0\x5d\x45\x70\xd3\x98\xad\x5a\x6b\x82\xbb\x18\x21\xad\x61\x87\x32\xb0\xc0\xe4\x36\x28\x09\x7c\x15\xfd\x80\xda\x11\x96\x87\xe0\x8b\x92\x6a\x6d\x0f\x54\x82\xb7\x3b\x8a\xa0\xc4\x8f\x29\x1b\xd6\xb5\x56\x12\x43\x3e\x1e\xe7\xeb\xb2\x0c\x6e\x17\xe2\xa7\x74\x69\xa0\x48\x67\xaf\x2e\xb8\xc2\x3d\x01\x76\x82\x06\xb3\x72\xf4\x73\x4a\xec\x08\x99\x4a\x01\x00\x51\x48\xcf\xd6\x51\x09\xca\x80\x62\x1f\x9f\x70\x4b\xa9\x77\x84\xba\x59\x6b\xe5\x2b\x2a\xb3\x97\xc4\xcf\x05\xbc\x8d\x40\x22\x9f\x9f\x62\xf7\x37\x59\x93\x42\x96\xf2\xd3\x11\x7c\x74\x69\xa9\x36\x1b\x72\x03\x98\xe2\x97\x22\x78\x16\x10\x0c\xb5\xf0\x3a\xbd\x5c\xc2\x2a\x22\x8b\x69\xfb\x7e\x8c\x75\x3b\xd4\xfa\x30\x8f\x70\xb9\x22\x03\xae\x31\xa9\x72\x6a\xe4\xaf\x2c\x4d\x2a\x3d\x18\xca\x74\x69\x4b\xcc\xca\x6c\x61\x34\x10\x41\xfa\x51\xa1\x64\xe0\x13\xa3\x17\xe2\x7c\x21\x84\xda\xd5\xd6\x71\xd6\x3b\xc9\x1d\x13\x4c\x46\xef\x26\x7d\xe4\xaf\x5f\x70\x57\x8f\x03\x87\xaf\x72\xdc\x09\x75\x5d\xe8\xc9\xdb\xc9\x93\xf5\xff\x20\xc6\x12\x19\xef\x15\xb5\xfe\x29\x30\xa3\x80\x89\x10\x03\x5a\xa6\xfd\x72\x59\xc2\xeb\xb2\x74\xe4\xfd\x0c\xbe\x8a\xc8\x55\xed\xa8\x46\x47\x53\xaf\xb6\x26\x9c\x63\xc3\xd5\xf4\x8d\x75\xce\xb6\xf7\xa8\x1b\x9a\xc3\x3b\xef\x1b\xba\x4d\x26\x59\x61\x8d\x6b\xa5\x15\x1f\x56\x41\x6f\xab\x35\xb9\x39\xbc\x4f\x96\x39\x1e\xce\xe1\x16\xf7\xd4\xdd\xff\x68\xea\xd3\xf3\x19\x9c\x75\x16\xc8\x38\xc2\x4f\x13\xc3\x3e\x18\xf8\x2d\x32\xc2\xd5\x88\xd5\xc2\x91\xb7\x7a\x4f\xab\xce\x67\xa1\xcb\x69\x78\xd7\x38\x49\x77\x87\x9a\x96\x60\x94\x9e\xc3\x5e\x51\x9b\x1e\xc3\xdf\xcb\xe7\x19\x2a\x6e\xee\xee\xfb\x5a\xaf\xa6\xb3\x19\xa0\xff\xee\x05\xc6\x87\xe1\xd7\x19\x71\xf8\x5d\x5f\x43\x8d\x46\xc9\xe9\x64\x15\x27\xd1\x58\x0e\x0e\x4c\x9d\x40\x48\x10\x41\x75\x43\x49\x79\x52\x26\xb3\x98\xe6\x71\xf7\x1f\x68\x03\x57\x90\x04\x29\x64\x4f\x9a\x22\x5f\xac\xa3\x2e\x97\x67\x23\x62\x22\xac\x57\xd3\x4c\x5c\xb1\xeb\x70\xbf\x47\xae\x66\xff\x0a\x35\xe5\x84\x37\xa8\xd1\xc8\x30\x09\x71\x70\x25\x8d\x3e\x11\x93\xd9\x51\xa5\xc5\x02\x7e\x23\xee\xc7\x26\x0d\x57\x46\x79\xc8\x6d\xf6\x63\xb6\xa6\x68\xf4\xe3\x37\xc1\x8e\x3a\x3e\x2e\xb4\xab\xc0\x5a\x67\x8b\x6c\xd8\xd9\x98\x80\x2d\xf1\xe5\xd9\xd7\x91\x4a\x45\x3f\xe1\x0f\x43\x0e\xfa\xfb\xdf\xc6\xc1\xf6\xf9\x7e\x4e\x3a\x1f\x2c\xac\xbc\x85\xd2\x4e\x0d\xfb\x57\x71\xcf\xda\xe9\x92\x29\x6d\xbf\x90\x06\x1f\xb3\x47\xca\xc3\xe5\xc5\xe9\x8a\x28\xd2\xce\xfb\x93\xda\xfc\xc9\x9f\x66\xce\x96\x47\xfa\x8e\x4d\x76\xc6\xe9\xd6\x7a\x11\x80\x4d\x2f\x2f\x62\xfe\x39\xb0\x5d\xc2\xa2\x3b\x5a\xd0\xc0\x46\x39\xfb\xb8\xdf\x8f\x46\x2b\xf3\x39\x02\xa7\x2f\xca\xc7\xb5\x7a\x24\xe7\xb4\xe6\x48\xab\xa6\x9f\xfb\x67\x65\x19\x16\xfa\xbd\x2f\x63\xd2\xa8\xf4\x1b\xf2\x09\x49\x46\xbc\xc5\x2f\x5c\x6f\x81\x15\xd6\xcf\x4c\x4e\xcf\x86\x0a\xcb\xec\x25\x0b\x8d\xbc\x12\xb1\xbd\xc8\xd6\x28\xfc\x91\x06\x23\x08\x3d\x1b\xa7\x88\xe7\x80\xbc\x84\xff\xcc\x51\x86\x10\xb7\xaf\x7c\x91\x9f\x1c\xfb\xed\x04\x9d\xda\xf0\xa4\xdc\xff\xc7\xd4\x10\x7b\xa2\x6a\x11\xcf\xe5\x73\xf6\x0d\x59\x1f\xc4\x83\xf8\x27\x00\x00\xff\xff\xd7\x6d\x3e\x0e\xd6\x0b\x00\x00"
 
 func create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -142,7 +142,7 @@ func create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf6, 0x4f, 0x7d, 0x59, 0xb9, 0x58, 0x9, 0x5a, 0x94, 0xf9, 0x87, 0x2c, 0x10, 0x98, 0xce, 0xe6, 0x32, 0x96, 0x59, 0x4d, 0xb7, 0xfc, 0x1d, 0x68, 0x7f, 0x4f, 0x37, 0xda, 0x7d, 0x16, 0x8f, 0xa3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd1, 0x5e, 0x90, 0xca, 0x6e, 0x60, 0x21, 0x70, 0xf6, 0x28, 0x92, 0x2d, 0xb4, 0x78, 0xe8, 0xdb, 0x53, 0x66, 0xbf, 0xb6, 0xef, 0x1c, 0x27, 0xb9, 0xce, 0xc6, 0x44, 0xe8, 0x98, 0x2f, 0x61, 0xad}}
 	return a, nil
 }
 
@@ -166,7 +166,7 @@ func generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
-var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\xcd\x6e\xf3\x36\x10\xbc\xeb\x29\x06\x3e\xa4\x32\xe0\x4f\xbe\x1b\x76\x82\xc4\x6d\x7a\x2a\x10\xa4\x6e\xee\x6b\x69\x65\x11\x91\x49\x81\x5c\x59\x0d\x02\xbf\x7b\x21\xea\xc7\x94\xeb\x36\x40\x3e\x1d\x0c\x7a\xb9\xbb\x9c\x99\x9d\x55\xc7\xca\x58\xc1\x73\xad\x0f\x6a\x5f\xf2\xce\xbc\xb3\x46\x6e\xcd\x11\xb3\x49\x6c\x16\xdd\xca\xfc\x83\x85\x32\x12\x7a\x53\xdc\xb8\x5b\x65\x93\x84\xb1\x47\xfb\xef\x95\x9d\x29\x4f\x6c\xfb\xaa\x30\x34\x8b\xa2\xe5\x72\x89\x5d\xa1\x1c\xc4\x92\x76\x94\x8a\x32\x1a\xca\xa1\x29\x48\x40\x1a\x94\xa6\xa6\xd6\x82\xc6\xd4\x65\x06\x5b\x6b\x5f\x21\x06\x8e\x05\x4a\x1c\x97\x39\xea\xaa\x0d\x1c\x49\xd3\x81\x91\xf7\xa8\x20\x2d\x2c\x97\x74\xdd\xf3\x5a\xfb\xd6\xbe\xba\x76\xec\x70\xf2\x4c\xc4\xe0\x5d\x9b\x06\x4d\xc1\x96\x87\xb6\x6d\xbf\x82\x71\xa2\xba\x14\x5f\xa0\x34\x9c\x18\xdb\xb6\x27\x9d\xb5\x69\xa9\x65\x12\xf6\x69\x7c\xac\xe4\xa3\x4b\x4e\xa2\x28\xa0\x11\x53\x96\x59\x76\x6e\x85\xc7\xee\xb0\x40\x55\xef\x4b\x95\xbe\x90\x14\x2b\xbc\x8c\xe7\x39\x3e\xa3\x08\x00\x2a\xcb\x15\x59\x8e\x9d\x3a\x68\xb6\x2b\x50\x2d\x45\xfc\x27\x9d\xf8\x8d\xca\x9a\x17\xd8\x52\x45\x7b\x55\x2a\x51\xec\xe6\xb8\x7b\xec\xb4\x69\xcb\xd1\x7f\xcb\x25\x9e\x8c\xb5\xa6\x01\xc1\x72\xce\x96\x75\xea\x79\x8d\x84\x3c\x13\xce\x60\xb4\x8f\x55\xe4\x1c\x67\xa3\xcc\x24\x61\xf4\x02\x77\x7c\xa0\x64\x81\xed\xc7\xf7\xca\x39\x36\x38\xb0\xf4\x40\x06\xc2\xf3\x31\xbb\xfd\x92\x34\x40\x9d\xec\x3d\xba\xf5\xdd\x67\xe8\x83\x64\x38\x9c\xef\xe3\xcb\x9b\xd3\x36\x0f\x0f\xa8\x48\xab\x34\x9e\x6d\xbd\x15\xb4\x11\xec\xbf\xa0\xda\xce\x78\x44\x8b\xd9\x3c\x0a\x75\xfa\xcb\xb5\xf3\x23\x99\x16\x5b\x16\xab\xf8\xd4\x8d\xf6\x79\xd7\xa2\xc4\x84\x7c\x2e\x3e\xb6\xf9\x9f\xfd\x48\x0e\x2c\x5d\x69\x7c\x0a\x58\xae\x42\xe1\xa6\x58\x7e\x67\x19\x1e\x6c\x81\xff\x4a\x42\x1d\x78\xbf\x33\xfe\xe7\x82\xe7\x1a\xce\x58\xb1\xe9\xc1\x25\x61\x70\xd0\x0d\xf1\x6c\x57\xf0\x30\xfd\x4e\x9f\x4c\x65\xfa\x17\x81\x3a\x56\x25\x1f\x59\x4b\x20\x5d\x36\x40\xb8\x52\x6d\xdb\x19\x9f\xa0\xb9\x09\xad\x8f\xda\x29\x7d\xf0\x0d\xba\xdd\xf8\xad\xbd\xf3\x30\xc6\xe5\x83\xd2\x4e\x65\x7c\xcd\x74\xc2\x87\x2f\x65\xeb\x1f\x01\x8f\xe4\xba\x6b\x3c\xc5\xd5\x6e\x09\x94\x0c\xf3\xef\xfd\x3c\x66\x74\x1b\x95\xf4\x5b\x9c\x38\x3a\x71\xbc\xfe\x71\x79\x6c\x01\x31\xab\x50\xcc\x21\x75\x6a\xc4\x9b\x4a\x74\x8e\xc5\x68\xf3\x0f\xe4\xc6\x06\x52\x36\x85\x4a\x0b\x28\x9d\x96\x75\xc6\xce\x5f\x8c\x86\x87\xd2\xc2\x36\xa7\x94\x27\x2a\xf8\xc2\x2d\x55\xd8\x0c\xc8\x27\x4b\x34\xd0\x50\xce\xd5\xbc\xbe\xfb\x9c\x58\x31\x79\xa2\x92\x74\xca\x8b\xa9\x43\x13\x4f\xed\x7c\x1f\x7f\x49\xf2\xd6\x8b\x9e\xa3\x2b\xe2\x01\xd8\x02\x24\x53\xbd\x8e\xfd\x06\x74\xbd\xbe\x25\x14\xff\x5d\x99\xd1\x45\x96\x53\x56\xff\xad\xd0\x70\xfd\x5d\x91\x5e\xfb\xfa\x9f\x15\x24\xc0\xf1\x6f\x4d\x86\xcb\x40\x93\x73\x74\x8e\xf0\x4f\x00\x00\x00\xff\xff\x5a\x52\x4c\x03\x8c\x07\x00\x00"
+var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\xcd\x6e\xf3\x36\x10\xbc\xeb\x29\x06\x3e\xa4\x32\xe0\xc8\x77\xc3\x4e\x90\xba\x4d\x4f\x05\x82\xd4\xcd\x7d\x2d\xad\x2c\x22\x32\x29\x90\x2b\xab\x41\xe0\x77\x2f\x44\xfd\x98\x72\xdd\x2f\x40\x3e\x1d\x0c\x7a\xb9\xbb\x9c\x99\x9d\x55\xc7\xca\x58\xc1\x73\xad\x0f\x6a\x5f\xf2\xce\xbc\xb3\x46\x6e\xcd\x11\xb3\x49\x6c\x16\xdd\xca\xfc\x93\x85\x32\x12\x7a\x53\xdc\xb8\x5b\x65\x93\x84\xb1\x47\xfb\xef\x95\x9d\x29\x4f\x6c\xfb\xaa\x30\x34\x8b\xa2\xe5\x72\x89\x5d\xa1\x1c\xc4\x92\x76\x94\x8a\x32\x1a\xca\xa1\x29\x48\x40\x1a\x94\xa6\xa6\xd6\x82\xc6\xd4\x65\x06\x5b\x6b\x5f\x21\x06\x8e\x05\x4a\x1c\x97\x39\xea\xaa\x0d\x1c\x49\xd3\x81\x91\xf7\xa8\x20\x2d\x2c\x97\x74\xdd\xf3\x5a\xfb\xd6\xbe\xba\x76\xec\x70\xf2\x4c\xc4\xe0\x5d\x9b\x06\x4d\xc1\x96\x87\xb6\x6d\xbf\x82\x71\xa2\xba\x14\x5f\xa0\x34\x9c\x18\xdb\xb6\x27\x9d\xb5\x69\xa9\x65\x12\xf6\x69\x7c\xac\xe4\xa3\x4b\x4e\xa2\x28\xa0\x11\x53\x96\x59\x76\x6e\x85\xa7\xee\xb0\x40\x55\xef\x4b\x95\xbe\x90\x14\x2b\xbc\x8c\xe7\x39\x3e\xa3\x08\x00\x2a\xcb\x15\x59\x8e\x9d\x3a\x68\xb6\x2b\x50\x2d\x45\xfc\x17\x9d\xf8\x8d\xca\x9a\x17\xd8\x52\x45\x7b\x55\x2a\x51\xec\xe6\xb8\x7b\xea\xb4\x69\xcb\xd1\x7f\xcb\x25\x7e\x35\xd6\x9a\x06\x04\xcb\x39\x5b\xd6\xa9\xe7\x35\x12\xf2\x4c\x38\x83\xd1\x3e\x56\x91\x73\x9c\x8d\x32\x93\x84\xd1\x0b\xdc\xf1\x81\x92\x05\xb6\x1f\xdf\x2b\xe7\xd8\xe0\xc0\xd2\x03\x19\x08\xcf\xc7\xec\xf6\x4b\xd2\x00\x75\xb2\xf7\xe8\xd6\x77\x9f\xa1\x0f\x92\xe1\x70\x7e\x88\x2f\x6f\x4e\xdb\x3c\x3e\xa2\x22\xad\xd2\x78\xb6\xf5\x56\xd0\x46\xb0\xff\x82\x6a\x3b\xe3\x11\x2d\x66\xf3\x28\xd4\xe9\x6f\xd7\xce\x8f\x64\x5a\x6c\x59\xac\xe2\x53\x37\xda\xe7\x5d\x8b\x12\x13\xf2\xb9\xf8\xd8\xe6\x07\xfb\x91\x1c\x58\xba\xd2\xf8\x14\xb0\x5c\x85\xc2\x4d\xb1\xfc\xc1\x32\x3c\xd8\x02\xff\x8d\x84\x3a\xf0\x7e\x67\xfc\xcf\x05\xcf\x35\x9c\xb1\x62\xd3\x83\x4b\xc2\xe0\xa0\x1b\xe2\xd9\xae\xe0\x61\xfa\x9d\x3e\x99\xca\xf4\x2f\x02\x75\xac\x4a\x3e\xb2\x96\x40\xba\x6c\x80\x70\xa5\xda\xb6\x33\x3e\x41\x73\x13\x5a\x1f\xb5\x53\xfa\xe0\x1b\x74\xbb\xf1\x7b\x7b\xe7\x61\x8c\xcb\x07\xa5\x9d\xca\xf8\x9a\xe9\x84\x0f\x5f\xca\xd6\xf7\x01\x8f\xe4\xba\x6b\x3c\xc5\xd5\x6e\x09\x94\x0c\xf3\xef\xfd\x3c\x66\x74\x1b\x95\xf4\x5b\x9c\x38\x3a\x71\xbc\xbe\xbf\x3c\xb6\x80\x98\x55\x28\xe6\x90\x3a\x35\xe2\x4d\x25\x3a\xc7\x62\xb4\xf9\x07\x72\x63\x03\x29\x9b\x42\xa5\x05\x94\x4e\xcb\x3a\x63\xe7\x2f\x46\xc3\x43\x69\x61\x9b\x53\xca\x13\x15\x7c\xe1\x96\x2a\x6c\x06\xe4\x93\x25\x1a\x68\x28\xe7\x6a\x5e\xdf\x7d\x4e\xac\x98\x78\x0e\xe7\x87\xf8\x4b\x36\xb7\x5a\x7b\x32\xae\x88\x07\x04\x0b\x90\x4c\x85\x39\xf6\x56\xef\x7a\x7d\x4b\x11\xfe\xa7\x32\xa3\x5d\x2c\xa7\xac\xfe\x5f\x8a\xe1\xfa\xbb\x6a\xbc\xf6\xf5\x3f\x2b\x48\x80\xe3\xbf\x9a\x0c\x97\x81\x26\xe7\xe8\x1c\xe1\xdf\x00\x00\x00\xff\xff\x0c\xf6\xf8\x93\x75\x07\x00\x00"
 
 func metadataSetup_account_from_vault_referenceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -182,7 +182,7 @@ func metadataSetup_account_from_vault_referenceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "metadata/setup_account_from_vault_reference.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0x94, 0x2f, 0xb5, 0x89, 0xb8, 0x9f, 0xcb, 0xfb, 0xc, 0xa7, 0xdc, 0xfa, 0x20, 0x14, 0xd2, 0xa9, 0x2, 0x2f, 0x8e, 0xfa, 0xd5, 0x95, 0x9b, 0x73, 0xfb, 0x38, 0x44, 0xa7, 0xfd, 0x9e, 0x5e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x75, 0x50, 0xf5, 0xd5, 0x57, 0x5a, 0xa1, 0xb4, 0x46, 0xae, 0xe1, 0xfc, 0x2a, 0x15, 0x3, 0x58, 0xb6, 0x64, 0x95, 0xa3, 0x6e, 0x91, 0xc6, 0x84, 0xa0, 0xda, 0x3, 0x2a, 0xaa, 0x94, 0x36, 0xba}}
 	return a, nil
 }
 
@@ -386,7 +386,7 @@ func scriptsGet_supported_vault_typesCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x92\xc1\x0a\x9b\x40\x10\x86\xef\x3e\xc5\xd4\x43\x51\x28\x3e\x80\xc4\x84\x34\x6d\x6e\x85\x12\x42\xef\x93\x75\x4c\x96\xae\xbb\xb2\x3b\x9a\x96\x90\x77\x2f\xeb\xae\x62\x4a\x6a\x3d\xa8\x3b\xfc\xf3\xfb\xcd\xef\xc8\xb6\x33\x96\xe1\xeb\x2f\x6c\x3b\x45\x67\xf3\x93\x34\x34\xd6\xb4\x90\x2e\x4b\x69\x12\x75\xc7\x5e\x5f\xe5\x25\x56\xbf\x11\x63\x8d\x8c\x3f\x24\xdd\x5d\xec\xfa\xb7\xe0\xbd\xc7\xbb\xb6\x59\xe9\xfb\x4e\xe4\x8c\x1a\xc8\x46\xe1\xb2\x94\x26\x09\x0a\x41\xce\x65\xa8\x54\x0e\x4d\xaf\xa1\x45\xa9\x33\xac\x6b\x4b\xce\x95\xb0\x0f\x2f\x79\xb9\xc2\x5d\x1c\xcf\xfe\x09\x8f\x04\x00\x40\x11\x03\x0a\x61\x7a\xcd\x50\xc1\x95\x78\x1f\x0e\x93\x67\x9e\xcc\xb2\x01\x7b\xc5\x5f\x90\x11\xaa\x97\xf8\x0a\x1b\xf0\x0e\x46\xb3\x45\xc1\xde\x3d\xf3\xb5\xde\x0a\x3a\xff\xee\xa8\x04\x2d\xd5\x27\x18\x24\xdd\xc3\xd1\xdf\x37\xeb\x84\xd3\xb7\xb6\x59\x9e\x03\xba\x0f\xff\x19\x68\x92\xef\x46\x5a\x7f\xed\x76\xd0\xa1\x96\x22\x4b\x0f\xa6\x57\x35\x68\xc3\x7e\xbc\x30\x05\xf8\xe6\x11\x08\x1a\x63\x81\x6f\x04\x22\xd2\xa7\x7f\x4f\x7c\xa2\x06\xaa\x29\xa3\x42\x60\x87\x17\xa9\x24\x4b\x72\xc5\xc5\x58\x6b\xee\x9b\x8f\x8f\x17\xb8\xe2\x33\x2a\xd4\x82\x9e\xdb\x6c\x8e\xac\x68\x23\xf1\x77\xe4\x5b\xbe\x0a\x19\x4c\x01\xc1\x52\x43\x96\xb4\x20\x60\x33\x22\x06\x74\x3b\x2d\xc3\x02\xb4\x19\x43\x87\x6a\x2d\xa5\x2b\x71\xf8\xf3\xd9\xb0\x58\xa9\x72\x1e\x32\xda\x59\xe2\xde\xea\xe8\x98\x3c\x93\x3f\x01\x00\x00\xff\xff\xef\x98\xde\x00\x30\x03\x00\x00"
+var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x92\xc1\x8e\x9b\x30\x10\x86\xef\x3c\xc5\x94\x43\x05\x52\xc5\x03\xa0\x90\x28\x4a\x9b\x5b\xa5\x2a\x8a\x7a\x9f\x98\x21\xb1\x6a\x6c\x64\x0f\xa4\xab\xd5\xbe\xfb\xca\xd8\x20\xb2\xca\xb2\x1c\x00\x8f\xfe\xf9\xf9\xe6\x67\x64\xdb\x19\xcb\xf0\xeb\x3f\xb6\x9d\xa2\xb3\xf9\x47\x1a\x1a\x6b\x5a\x48\x97\xa5\x34\x89\xba\x63\xaf\xaf\xf2\x12\xab\xbf\x89\xb1\x46\xc6\xbf\x92\xee\x2e\x76\x7d\x2e\x78\xee\xf1\xac\x6d\x56\xfa\xbe\x13\x39\xa3\x06\xb2\x51\xb8\x2c\xa5\x49\x82\x42\x90\x73\x19\x2a\x95\x43\xd3\x6b\x68\x51\xea\x0c\xeb\xda\x92\x73\x25\xec\xc3\x4b\x5e\xae\x70\x17\xc7\xb3\x7f\xc2\x6b\x02\x00\xa0\x88\x01\x85\x30\xbd\x66\xa8\xe0\x4a\xbc\x0f\x87\xc9\x33\x4f\x66\xd9\x80\xbd\xe2\x9f\xc8\x08\xd5\x43\x7c\x85\x0d\x78\x07\xa3\xd9\xa2\x60\xef\x9e\xf9\x5a\x6f\x05\x9d\x5f\x3a\x2a\x41\x4b\xf5\x03\x06\x49\xf7\x70\xf4\xf7\xcd\x3a\xe1\xf4\xad\x6d\x96\xe7\x80\xee\xdb\x17\x03\x4d\xf2\xdd\x48\xeb\xaf\xdd\x0e\x3a\xd4\x52\x64\xe9\xc1\xf4\xaa\x06\x6d\xd8\x8f\x17\xa6\x00\xdf\x3c\x02\x41\x63\x2c\xf0\x8d\x40\x44\xfa\xf4\xe3\xc4\x27\x6a\xa0\x9a\x32\x2a\x04\x76\x78\x91\x4a\xb2\x24\x57\x5c\x8c\xb5\xe6\xbe\xf9\xfe\x90\xc6\xc8\xb2\xcd\xe6\xb4\x8a\x36\xc2\xfe\x41\xbe\xe5\xab\x7c\xc1\x0f\x10\x2c\x35\x64\x49\x0b\x02\x36\x23\x5d\xa0\xb6\xd3\x1e\x2c\x18\x9b\x31\x6f\xa8\xd6\x02\xba\x12\x87\x9f\x9e\x0d\x8b\x6d\x2a\xe7\xf9\xa2\x9d\x25\xee\xad\x8e\x8e\xc9\x5b\xf2\x1e\x00\x00\xff\xff\x55\xb3\x0f\xbf\x2b\x03\x00\x00"
 
 func scriptsMetadataGet_token_metadataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -402,11 +402,11 @@ func scriptsMetadataGet_token_metadataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_token_metadata.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x27, 0x32, 0xf6, 0x6f, 0xbc, 0xc7, 0x69, 0x60, 0x42, 0x21, 0x3a, 0x7f, 0x8f, 0x6b, 0x44, 0xae, 0x69, 0xb6, 0x27, 0x30, 0xef, 0x7a, 0x4d, 0x71, 0x96, 0xc5, 0x95, 0xbc, 0x93, 0x91, 0x4e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x91, 0xf0, 0x8, 0xae, 0xce, 0x94, 0xfd, 0x85, 0x1, 0x56, 0x13, 0x2d, 0x94, 0x7a, 0x3f, 0x73, 0x89, 0xc8, 0x65, 0x95, 0x59, 0x2d, 0x5f, 0xfd, 0x83, 0x84, 0x66, 0x27, 0xaa, 0xc0, 0x8b, 0x35}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xcf\x6a\xc2\x40\x10\xc6\xef\x79\x8a\x69\x0e\x25\x81\x92\x07\x10\xff\x60\x6d\xbd\x15\x8a\x88\xf7\x71\x33\xd1\xa5\x9b\xdd\xb0\x3b\xd1\x16\xf1\xdd\xcb\x66\x93\x34\x16\x15\x73\x08\xd9\x61\xbe\xc9\xef\xfb\x76\x64\x59\x19\xcb\xf0\xfe\x8d\x65\xa5\x68\x6d\xbe\x48\x43\x61\x4d\x09\xf1\xb0\x14\x47\x6d\xdf\xb2\xd6\x3b\xb9\x6d\xab\x1f\xc4\x98\x23\xe3\x46\xd2\xd1\xb5\xaa\xdb\x0d\xd7\x67\x5c\x93\xf5\x9d\x5e\xb7\x22\x67\xd4\x81\x6c\xdb\x38\x2c\xc5\x51\x84\x42\x90\x73\x09\x2a\x95\x42\x51\x6b\x28\x51\xea\x04\xf3\xdc\x92\x73\x23\x98\x87\x8f\x74\x74\x87\x3b\x5b\xae\x37\x58\x2b\x7e\x43\x46\x38\x45\x00\x00\x8a\x18\x50\x08\x53\x6b\x86\x09\xec\x88\xe7\xe1\xd0\x0d\x4e\xa3\xbe\xed\xd0\x4b\x27\x17\x19\x66\x36\x30\x2e\x8c\x66\x8b\x82\xfd\xaf\x12\x5f\xab\xad\xa0\xf5\x4f\x45\x23\xd0\x52\xbd\xc0\x41\xd2\x31\x1c\xfd\x7b\xfc\x18\xe6\x34\x49\x53\x40\xf7\xf4\xa0\xab\x59\x43\xeb\x9f\xd9\x0c\x2a\xd4\x52\x24\xf1\xc2\xd4\x2a\x07\x6d\xd8\xdb\x0b\x2e\xc0\x8b\x1b\x20\x28\x8c\x05\xde\x13\x88\x96\x3e\xfe\xef\x78\x45\x05\x4c\xba\x8c\x32\x81\x15\x6e\xa5\x92\x2c\xc9\x65\x5b\x63\xad\x39\x8e\x9f\x4f\x17\x70\xd9\x2b\x2a\xd4\x82\xce\xd3\xa4\x8f\x2c\x2b\x5b\xe2\x4f\xe4\x7d\x7a\x17\x32\x0c\x05\x04\x4b\x05\x59\xd2\x82\x80\x4d\x83\x18\xd0\x6d\xb7\x11\x37\xae\xe6\x4e\x50\x3b\xe2\x41\x56\x49\x67\xef\x1a\x4f\x58\xd8\xdc\x90\x6b\xa0\xa4\xbf\xed\x92\x34\xc3\x70\x85\x7c\x80\x1d\x86\x25\xae\xad\xfe\x23\x89\xce\xd1\x6f\x00\x00\x00\xff\xff\x01\xa8\xd7\x14\x70\x03\x00\x00"
+var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xcf\x8a\xdb\x30\x10\xc6\xef\x7e\x8a\xa9\x0f\xc5\x86\xe2\x07\x08\xf9\x43\x48\x9b\x5b\xa1\x84\x90\xfb\x44\x1e\x27\xa2\xb2\x64\x46\xe3\xa4\x65\xd9\x77\x5f\x64\xd9\x5e\x67\x49\x42\x7c\x30\xd6\x30\xdf\xf8\xf7\x7d\x1a\x5d\x37\x8e\x05\x7e\xfd\xc3\xba\x31\xb4\x77\x7f\xc9\x42\xc5\xae\x86\x74\x5a\x4a\x93\xbe\x6f\xdb\xda\x93\x3e\xf6\xd5\xdf\x24\x58\xa2\xe0\x41\xd3\xd5\xf7\xaa\xc7\x0d\xf7\x67\xdc\x93\x8d\x9d\x41\xb7\x23\xef\xcc\x85\xb8\x6f\x9c\x96\xd2\x24\x41\xa5\xc8\xfb\x0c\x8d\xc9\xa1\x6a\x2d\xd4\xa8\x6d\x86\x65\xc9\xe4\xfd\x0c\xd6\xf1\x23\x9f\x3d\xe1\x2e\xb6\xfb\x03\xb6\x46\x7e\xa2\x20\xbc\x25\x00\x00\x86\x04\x50\x29\xd7\x5a\x81\x05\x9c\x48\xd6\xf1\x30\x0c\xce\x93\xb1\xed\x32\x4a\x17\x37\x19\x16\x1c\x19\x37\xce\x0a\xa3\x92\xf0\xab\x2c\xd4\x5a\x56\xb4\xff\xdf\xd0\x0c\xac\x36\x3f\xe0\xa2\xe9\x1a\x8f\xe1\x3d\x7f\x0d\x73\x99\xe5\x39\xa0\xff\xf6\xa2\xab\x55\x47\x1b\x9e\xd5\x0a\x1a\xb4\x5a\x65\xe9\xc6\xb5\xa6\x04\xeb\x24\xd8\x8b\x2e\x20\x88\x3b\x20\xa8\x1c\x83\x9c\x09\x54\x4f\x9f\x7e\x75\xbc\xa3\x0a\x16\x43\x46\x85\xc2\x06\x8f\xda\x68\xd1\xe4\x8b\xa3\x63\x76\xd7\xf9\xf7\x9b\x34\x3a\x96\x65\x36\xa6\x55\xd4\x3d\xec\x1f\x94\x73\xfe\x94\x2f\xce\x03\x04\xa6\x8a\x98\xac\x22\x10\xd7\xd1\x45\x6a\x1e\x96\xe1\xc1\xad\x3c\xc9\xe8\x44\x32\x89\x29\x1b\x9c\xdd\xe3\x89\xbb\x5a\x3a\xf2\x1d\x94\x0e\xd6\x6a\xb2\x02\xd3\xed\x09\xd9\x0d\x18\x4c\xd2\xb2\xfd\x24\x49\xde\x93\x8f\x00\x00\x00\xff\xff\x0d\x2c\x40\x36\x6b\x03\x00\x00"
 
 func scriptsMetadataGet_vault_dataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -422,11 +422,11 @@ func scriptsMetadataGet_vault_dataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_data.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0x34, 0x86, 0x5c, 0xb8, 0x74, 0x3f, 0x48, 0xec, 0x71, 0xb9, 0x5a, 0x4b, 0x3b, 0xd0, 0x7b, 0x8, 0x14, 0x2a, 0x33, 0x99, 0x5e, 0x2c, 0x1e, 0xd, 0x31, 0x8b, 0x17, 0x81, 0x8f, 0xcc, 0x78}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0xc2, 0xf3, 0xff, 0xd4, 0x87, 0x39, 0x3c, 0x78, 0x58, 0xe2, 0x19, 0x3d, 0xd8, 0xca, 0xd9, 0x99, 0xa3, 0x87, 0xfd, 0xc4, 0x4, 0xc8, 0x2, 0x58, 0x9f, 0xa9, 0xa0, 0x28, 0x9e, 0x7c, 0x26}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xd1\x8a\xea\x30\x10\x86\xef\xfb\x14\x73\x7a\x71\x68\xe1\xd0\x07\x10\xab\x78\x74\xbd\x5b\x58\x44\xbc\x1f\xd3\xa9\x86\x4d\x93\x92\x4c\x75\x45\x7c\xf7\x25\x4d\x5b\x75\x71\xdb\x8b\x92\x0c\xff\x4c\xbe\xf9\x67\x64\x55\x1b\xcb\xf0\xf6\x85\x55\xad\x68\x6b\x3e\x49\x43\x69\x4d\x05\xf1\x63\x28\x8e\x3a\xdd\xba\xd1\x07\xb9\xef\xa2\xef\xc4\x58\x20\xe3\x4e\xd2\xd9\x75\x59\xbf\x0b\x5e\xd7\x78\x95\x36\x28\x7d\xde\x86\x9c\x51\x27\xb2\x9d\xf0\x31\x14\x47\x11\x0a\x41\xce\x25\xa8\x54\x0a\x65\xa3\xa1\x42\xa9\x13\x2c\x0a\x4b\xce\x4d\x60\x11\x0e\xe9\x64\x84\x3b\x5b\x6f\x57\xd2\xd5\x0a\x2f\x70\x8d\x00\x00\x14\x31\xa0\x10\xa6\xd1\x0c\x39\x1c\x88\x17\xe1\xd2\x97\x4d\xa3\x41\x76\xc2\x46\xf1\x0a\x19\x21\x7f\x72\x30\xb3\x81\x70\x69\x34\x5b\x14\xec\x1f\x4a\x7c\xac\xb1\x82\xb6\x97\x9a\x26\xa0\xa5\xfa\x07\x27\x49\xe7\x70\xf5\xff\xe9\x28\xe4\xae\x7f\x6b\x96\xa4\x29\xa0\xfb\x33\xde\xd3\x20\x9f\xb7\xb4\xfe\x9b\xcf\xa1\x46\x2d\x45\x12\x2f\x4d\xa3\x0a\xd0\x86\x7d\x7b\xa1\x0b\xf0\xc9\x2d\x10\x94\xc6\x02\x1f\x09\x44\x47\x1f\xff\xec\x78\x43\x25\xe4\xbd\x47\x99\xc0\x1a\xf7\x52\x49\x96\xe4\xb2\xbd\xb1\xd6\x9c\xa7\x7f\xaf\x4f\x70\xd9\x7f\x54\xa8\x05\xdd\x66\xc9\x60\x59\x56\x75\xc4\x1f\xc8\xc7\x74\x14\x32\x14\x05\x04\x4b\x25\x59\xd2\x82\x80\x4d\x8b\x18\xd0\x6d\xbf\x0f\x0f\xa0\x25\xf7\x53\xcd\xc7\x8c\x3a\x10\x0f\xf3\x4f\xfa\xe6\x5e\xd1\x84\x65\x2d\x0c\xb9\x16\x49\xfa\x59\x57\xa4\x19\xee\xeb\xe3\xcd\xeb\x11\x2c\x71\x63\xf5\x9d\x22\xba\x45\xdf\x01\x00\x00\xff\xff\x7f\x69\x99\x2c\x6a\x03\x00\x00"
+var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xd1\xca\xda\x40\x10\x85\xef\xf3\x14\xd3\x5c\x94\x04\x4a\x1e\x40\xfe\x28\xa2\xf5\xae\x50\x44\xbc\x1f\x37\x13\x5d\xba\xd9\x0d\xb3\x13\xad\x94\xbe\x7b\xd9\x6c\x12\xb5\xf8\xc7\x0b\xc9\x0e\x67\x66\xbf\x73\x76\x74\xd3\x3a\x16\xf8\xfe\x1b\x9b\xd6\xd0\xc1\xfd\x22\x0b\x35\xbb\x06\xd2\xe7\x52\x9a\x0c\xba\x5d\x67\xcf\xfa\x34\x54\x7f\x90\x60\x85\x82\x47\x4d\x37\x3f\x74\x7d\x2e\x78\x3f\xe3\x5d\xdb\xa4\x0c\x7d\x7b\xf2\xce\x5c\x89\x07\xe1\x73\x29\x4d\x12\x54\x8a\xbc\xcf\xd0\x98\x1c\xea\xce\x42\x83\xda\x66\x58\x55\x4c\xde\x2f\x60\x1d\x3f\xf2\xc5\x0c\x77\xb1\x3b\x6c\xb5\x6f\x0d\xde\xe1\x4f\x02\x00\x60\x48\x00\x95\x72\x9d\x15\x28\xe1\x4c\xb2\x8e\x87\x71\x6c\x9e\x4c\xb2\x2b\x76\x46\xb6\x28\x08\xe5\x4b\x82\x05\x47\xc2\x8d\xb3\xc2\xa8\x24\x5c\x94\x85\x5a\xc7\x8a\x0e\xf7\x96\x16\x60\xb5\xf9\x06\x57\x4d\xb7\x78\x0c\xff\x1f\xb3\x90\xc7\xf1\xae\x65\x96\xe7\x80\xfe\xcb\xbc\xa7\x49\xbe\xea\x69\xc3\x6f\xb5\x82\x16\xad\x56\x59\xba\x71\x9d\xa9\xc0\x3a\x09\xf6\xa2\x0b\x08\xcd\x3d\x10\xd4\x8e\x41\x2e\x04\x6a\xa0\x4f\xff\x77\xbc\xa7\x1a\xca\x31\xa3\x42\x61\x8b\x27\x6d\xb4\x68\xf2\xc5\xc9\x31\xbb\xdb\xc7\xd7\x97\x34\x7a\x96\x65\x36\xa5\x55\x34\x03\xec\x4f\x94\x4b\x3e\xcb\x17\xe7\x01\x02\x53\x4d\x4c\x56\x11\x88\xeb\xe9\x22\x35\x8f\xab\xf0\xc4\x58\xcb\xf8\xa0\xe5\x5c\x46\x67\x92\xe9\xe9\xb3\xd1\xd7\x3b\x9a\xb8\xa7\x95\x23\xdf\x23\xe9\x60\xac\x21\x2b\xf0\xd8\x9c\x90\xdb\x88\xc0\x24\x1d\xdb\x07\x45\xf2\x37\xf9\x17\x00\x00\xff\xff\x73\x8b\x51\x9e\x65\x03\x00\x00"
 
 func scriptsMetadataGet_vault_displayCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -442,11 +442,11 @@ func scriptsMetadataGet_vault_displayCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_display.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x18, 0x10, 0x18, 0x71, 0x73, 0xc8, 0x69, 0xb8, 0xb8, 0xbe, 0x13, 0x21, 0x7d, 0xfc, 0x8, 0x2, 0xa0, 0x87, 0xc1, 0xe9, 0xa8, 0x98, 0x95, 0xd3, 0xa9, 0x5d, 0x16, 0x5a, 0x1, 0x6b, 0x71, 0xfd}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0x91, 0x5d, 0x9d, 0x2b, 0x64, 0x67, 0x5c, 0xad, 0xb5, 0x60, 0xfb, 0x1a, 0xa3, 0xc1, 0x58, 0xbb, 0xc4, 0xe5, 0xee, 0xc8, 0xa7, 0x49, 0x7a, 0x45, 0x4b, 0xdf, 0x93, 0xa3, 0xd9, 0x11, 0xec}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x52\xc1\x6e\xdb\x30\x0c\xbd\xeb\x2b\x58\x1f\x36\x1b\x18\x9c\xcb\xb0\x43\x50\x37\xe8\xba\x65\xa7\x01\x43\xe7\xf5\xce\xc8\x74\x2b\x4c\x96\x0c\x89\x4a\x1a\x14\xfd\xf7\x41\x96\xed\xb8\x43\xdb\xf8\x60\x48\xd4\xe3\xe3\xe3\x23\x55\xd7\x5b\xc7\xf0\xfd\x11\xbb\x5e\x53\x6d\xff\x92\x81\xd6\xd9\x0e\xb2\x65\x28\x13\x23\x6e\x1b\xcc\xbd\xda\x8d\xd1\x9f\xc4\xd8\x20\xe3\x9d\xa2\x83\x1f\xb3\xde\x06\xbc\xce\xf1\x5a\xda\x8c\x8c\x79\xb7\xe4\xad\xde\x93\x1b\x81\xcb\x50\x26\xc4\x6a\xb5\x82\x1f\xc4\x1e\xf8\x81\x80\x2d\xa3\x06\x1f\xfa\x5e\x1f\xc1\xb6\x43\x6c\x8f\x41\xf3\x47\x0f\x3c\x14\x6b\x94\x23\xc9\xfa\x98\xc8\xe6\x77\x21\x50\x4a\xf2\x3e\x47\xad\x0b\x68\x83\x81\x0e\x95\xc9\xb1\x69\x1c\x79\xbf\x86\xeb\x74\x28\xd6\xf0\x67\xab\x1e\xbf\x7c\x86\x27\x01\x00\xa0\x89\x01\xa5\xb4\xc1\x30\x54\x70\x4f\x7c\x9d\x2e\x53\x62\x21\x66\xd8\x50\xe6\x1b\x32\x42\xf5\xc2\xeb\xd2\xa5\x5e\x6e\xac\x61\x87\x92\x63\x7b\x79\x8c\x05\x27\xa9\x3e\xf6\xb4\x06\xa3\xf4\x27\xd8\x2b\x3a\xa4\x6b\xfc\x5f\xbe\xed\x72\xb9\xad\xef\xa6\x5a\x57\x79\x51\x00\xfa\x8b\x77\xa6\xb6\x84\x6f\x06\xb5\xf1\xdb\x6c\xa0\x47\xa3\x64\x9e\xdd\xd8\xa0\x1b\x30\x96\x63\x7b\xa9\x0b\x88\xc9\x83\x20\x68\xad\x1b\x4c\x94\xa3\xfa\xec\xff\x8e\x6f\xa9\x85\x6a\xf2\xa8\x94\xd8\xe3\x4e\x69\xc5\x8a\x7c\xb9\xb3\xce\xd9\xc3\xe5\x87\xa7\x17\xe2\xca\xaf\xa8\xd1\x48\x7a\xbe\xca\x67\xcb\xca\x6e\x54\xfc\x0b\xf9\xa1\x78\x57\x64\x22\x05\x04\x47\x2d\x39\x32\x32\x2e\xc5\x69\xce\xe0\xa6\xcd\x59\x08\x6d\xf9\x77\xda\x98\x6a\xd6\x3c\x4d\x65\x98\xc6\x39\xc3\xeb\xb8\x75\x89\x22\x1a\x7e\x71\x62\x4e\x9b\x18\x51\x50\x9d\xca\x9c\x19\xc8\x82\x2e\x31\x39\xe2\xe0\xcc\x82\xac\x4c\x47\xf1\x2c\xfe\x05\x00\x00\xff\xff\x3f\x27\xba\x7c\xbd\x03\x00\x00"
+var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x52\x4d\x6f\xdb\x30\x0c\xbd\xeb\x57\xb0\x3e\x6c\x36\x30\x38\x97\x61\x87\xa0\x6e\x50\x74\xcb\x4e\x03\x86\x2e\xeb\x9d\x91\xe9\x56\x98\x2c\x19\x14\x9d\x34\x18\xf6\xdf\x07\x59\xb6\xe3\x16\xfd\xf0\xc1\x90\xa8\xc7\xc7\xc7\x47\x9a\xb6\xf3\x2c\xf0\xed\x11\xdb\xce\xd2\xce\xff\x21\x07\x0d\xfb\x16\xb2\x65\x28\x53\x23\x6e\xdb\xbb\x7b\xb3\x1f\xa3\x3f\x48\xb0\x46\xc1\x3b\x43\xc7\x30\x66\xbd\x0e\x78\x99\xe3\xa5\xb4\x19\x19\xf3\x6e\x29\x78\x7b\x20\x1e\x81\xcb\x50\xa6\xd4\x6a\xb5\x82\xef\x24\x01\xe4\x81\x40\xbc\xa0\x85\xd0\x77\x9d\x3d\x81\x6f\x86\xd8\x01\x7b\x2b\x1f\x03\xc8\x50\xac\x36\x4c\x5a\xec\x29\x91\xcd\xef\x4a\xa1\xd6\x14\x42\x8e\xd6\x16\xd0\xf4\x0e\x5a\x34\x2e\xc7\xba\x66\x0a\x61\x0d\xd7\xe9\x50\xac\xe1\xf7\xd6\x3c\x7e\xf9\x0c\x7f\x15\x00\x80\x25\x01\xd4\xda\xf7\x4e\xa0\x82\x7b\x92\xeb\x74\x99\x12\x0b\x35\xc3\x86\x32\x5f\x51\x10\xaa\x27\x5e\x97\x9c\x7a\xb9\xf1\x4e\x18\xb5\xc4\xf6\xf2\x18\xeb\x59\xd3\xee\xd4\xd1\x1a\x9c\xb1\x9f\xe0\x60\xe8\x98\xae\xf1\x7f\xf9\xba\xcb\xe5\x76\x77\x37\xd5\xba\xca\x8b\x02\x30\x5c\xbc\x31\xb5\x25\x7c\x33\xa8\x8d\xdf\x66\x03\x1d\x3a\xa3\xf3\xec\xc6\xf7\xb6\x06\xe7\x25\xb6\x97\xba\x80\x98\x3c\x08\x82\xc6\xf3\x60\xa2\x1e\xd5\x67\xcf\x3b\xbe\xa5\x06\xaa\xc9\xa3\x52\x63\x87\x7b\x63\x8d\x18\x0a\xe5\xde\x33\xfb\xe3\xe5\x87\x27\x6e\x0c\x5a\xae\xf2\xd9\xad\xb2\x1d\xc5\xfe\x44\x79\x28\xde\xd4\x97\xf8\x00\x81\xa9\x21\x26\xa7\xe3\x3e\x9c\x47\x0c\x3c\x2d\xcd\x42\x63\x23\xbf\xd2\xb2\x54\xb3\xdc\x69\x20\xc3\x20\xde\xf3\x7a\x17\x17\x2e\x51\x44\xaf\x2f\xce\xcc\x69\x09\x23\x0a\xaa\x73\x99\x77\x66\xb1\xa0\x4b\x4c\x4c\xd2\xb3\x5b\x90\x95\xe9\xa8\xfe\xa9\xff\x01\x00\x00\xff\xff\x5f\x56\xcb\x59\xb8\x03\x00\x00"
 
 func scriptsMetadataGet_vault_supply_viewCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -462,7 +462,7 @@ func scriptsMetadataGet_vault_supply_viewCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_supply_view.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x97, 0xd8, 0x1f, 0xa, 0x79, 0xbf, 0xb8, 0x87, 0x1b, 0x50, 0xf7, 0x33, 0xd1, 0xd5, 0xc4, 0x27, 0xf9, 0x81, 0xc3, 0x8d, 0x3b, 0x78, 0x47, 0x38, 0xc9, 0x50, 0xf0, 0x9b, 0x91, 0xc1, 0xe7, 0xf3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x45, 0xf, 0xd6, 0xd1, 0x1f, 0xd8, 0x8f, 0x54, 0x7f, 0xf6, 0xee, 0x8f, 0x56, 0x7f, 0x94, 0x5d, 0x17, 0xff, 0xf6, 0x91, 0x1a, 0x40, 0x8a, 0xfe, 0xfb, 0xfc, 0x26, 0x55, 0xb1, 0x97, 0xe4, 0x7b}}
 	return a, nil
 }
 
@@ -526,7 +526,7 @@ func scriptsSwitchboardGet_vault_types_and_addressCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x5d\x6f\xdb\x38\x10\x7c\xd7\xaf\xd8\xd3\x01\x86\x84\x4b\xe9\xf4\x23\xb9\xd6\xa8\x1b\xf4\xcb\xb8\x87\x16\x28\x02\x5f\xef\xa1\x28\x82\x35\xb5\x96\x89\x50\xa4\x40\xae\x6c\x07\x45\xfe\xfb\x81\xfa\xb2\xec\xe8\x8c\xe3\x83\x61\x71\x67\x67\x87\x23\x71\x54\x51\x5a\xc7\xb0\xa8\x4c\xae\x56\x9a\x96\xf6\x9e\xcc\x57\x62\xcc\x90\xf1\xbb\xa2\x9d\x87\xb5\xb3\x05\xc4\xff\x0d\x88\xa3\x96\x63\xac\x6d\x1c\x19\x9e\x6e\xc9\x5b\xbd\x25\xd7\x02\x87\x5b\x3d\xee\xf3\x1e\x8b\xb2\x9d\xd9\xe2\x86\x5b\x71\x14\x4d\xa7\x53\x58\x92\x67\xd8\x90\x2e\xc9\x81\x97\x4e\x95\x0c\x6c\x61\x8b\x5a\x65\xc8\x74\x4c\xe2\xc9\x6d\xc9\xc3\x62\xf9\x49\xf9\x52\xe3\x03\xa0\x07\xda\x97\x24\x99\xb2\x40\x16\xa1\x94\xe4\x7d\x82\x5a\xa7\xb0\xae\x0c\x14\xa8\x4c\x82\x59\xe6\xc8\xfb\x19\xbc\x6f\xfe\xa4\x33\xf8\x60\xad\x86\x5f\x11\x00\x80\x26\x06\x94\xd2\x56\x86\x61\x0e\x39\xf1\xfb\xe6\xa1\x6b\x4b\xa3\x1e\xd6\x8d\x82\xf9\x19\xc7\x45\xaf\x2e\xa9\x1b\xbb\x65\xb0\xa0\x59\xef\x40\x4f\x00\x8d\x17\x17\x47\x58\xff\x50\xac\xac\x0e\xe8\xc5\xf2\xa4\x94\x51\x63\x92\xb2\x66\x06\xf1\x72\xa3\x7c\x38\x68\x43\xc5\xb5\x49\xca\x43\xe5\x29\x0b\xde\xa0\x01\x6a\xe7\xb1\xad\x4d\x86\x07\x5b\x41\x46\x5b\xd2\xb6\xfe\xef\xc0\xd0\x9e\x61\xb1\x84\xdf\xad\x59\x68\xbb\x13\x27\xf3\x68\xcf\xe4\x0c\xea\xbf\x6f\xbf\xcc\x8e\xbf\x11\xf1\xf9\x50\x4a\xe2\x0d\x73\xe9\x67\xd3\x69\x3b\xef\xd9\x9a\x85\x35\xeb\x40\x68\x5d\x1e\xa7\xc7\xa4\xda\xe6\xd6\x9f\xd2\x7d\xa5\x4c\xa1\x4f\x7e\x1c\x21\xc3\x1a\x81\x25\x4f\x40\x61\xad\x95\xa6\x53\xd6\xbf\x96\xcb\x6f\x0b\xa5\x69\xbc\x23\xac\xca\x05\xa7\x3b\xfd\xe8\x3d\xb1\x17\x3b\x5a\x79\xc5\xf4\x2c\x50\x7a\x21\x6d\x31\xbd\x5a\x5f\xbf\x78\xf3\x4a\x5e\xca\x3f\xf1\xb5\xcc\xb2\xeb\x57\x2f\x57\xcf\xe5\xeb\x17\x97\x27\x05\xbc\xba\x92\xab\xe7\xf2\xcd\xcb\xeb\xbb\x60\xe7\xdd\x3f\xd6\x65\x05\xba\x7b\xe1\xb7\x79\x3c\xaa\xe1\xc4\x9b\x6e\x15\xe1\x9c\xcb\x87\x32\x7c\x34\xaa\xc0\x9c\xa6\x7e\x9b\xff\xb1\x2f\xf4\x53\x96\xf4\x67\x74\x86\xd0\x5b\xa9\x50\xfb\x59\xfb\xbd\x0f\x57\xcc\x3b\xc5\x4c\x2e\xfe\x5f\xaf\xb6\x05\xd7\x6e\x84\x37\x7b\xb7\xd2\x56\xde\xcb\x0d\x2a\x13\xa7\x47\xdc\x8f\xfd\xd3\xe0\xf6\x6c\xb1\xd2\xfc\x09\x19\x61\x7e\x74\xab\x85\x6b\x82\xe3\xa3\x35\xec\x50\x72\x50\x90\x84\xbd\xca\x49\x6a\x0c\x30\x4a\x5f\xc0\x56\xd1\xae\x79\x0c\xbf\x6f\xcf\xde\xc0\xef\xdd\xac\x77\x49\x9a\x02\xfa\xdf\xce\x5f\xd8\x1e\x7e\xd3\x0b\xbf\xb9\x81\x12\x8d\x92\x49\xfc\xd1\x56\x3a\x03\x63\x39\x84\x43\x73\x0a\x08\xcd\xb5\x20\x58\x5b\x07\xbc\x21\x90\xad\xfa\xf8\xf4\xc4\xb7\xb4\x86\x79\x97\x30\x42\x62\x89\x2b\xa5\x15\x2b\xf2\x62\x65\x9d\xb3\xbb\xb7\x93\x5f\x47\xe2\xc4\x07\xd4\x68\x24\x3d\xbe\x4b\x7a\xcb\x44\xd1\x2a\xfe\x86\xbc\x49\xcf\x8a\x6c\x48\x01\xc1\xd1\x9a\x1c\x19\x59\xdf\xfd\x20\xb1\x91\xee\xba\x98\x1e\x08\x45\xc9\x15\xea\xf3\xb1\x96\x13\x1f\x92\xad\x3b\xd9\x98\x94\x26\xaa\x33\x4b\xbe\xd6\xa3\xc2\x8b\x2e\xc8\xf0\x20\xb6\x83\x73\xdd\xfc\x70\xe1\x1c\x27\x8d\x04\x51\x27\x83\x50\x4c\x85\x17\x9a\x4c\xce\x1b\x98\xcf\xfb\xe0\x1d\x29\x5f\x40\x41\xde\x63\x1e\xae\x49\x93\x20\xd0\xf6\x15\xca\x17\xc8\x72\x13\x8f\x24\xf8\x17\x9b\xdb\x1a\x0d\xe3\xe4\x3f\x2e\x7f\x9e\x98\x33\xec\x78\xaa\xb5\xc3\x3b\xe2\xca\x99\x03\x65\x08\xfd\x70\x80\xb6\xa3\x7e\x9c\x4c\x0e\xf5\x26\xe8\x07\x88\x76\x63\x32\xe9\x8d\xed\xb1\x83\xe4\x1f\x34\x0c\x77\x87\xcc\x83\xdc\x16\x95\x1b\x8e\x38\xad\x4c\x26\xf0\x64\x58\x7f\x5a\x11\x02\x50\x54\x4e\x25\xe9\x81\x62\xb4\x3a\x18\x7e\xa8\xf7\x21\x36\xd6\xdc\x17\xa3\xc7\x28\xfa\x37\x00\x00\xff\xff\xd6\x72\xf9\x6e\xca\x08\x00\x00"
+var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x5d\x6f\xdb\x36\x14\x7d\xd7\xaf\xb8\xd3\x00\x43\xc2\x52\x39\xfd\x48\xd6\x1a\x75\x83\xae\xad\xb1\x87\x16\x28\x02\xad\x7b\x28\x8a\xe0\x9a\xba\x92\x89\x50\xa4\x40\x5e\xd9\x09\x86\xfe\xf7\x81\xfa\xb2\xac\x68\xc6\xf8\x10\x84\xbc\xe7\x9e\x7b\x78\x2c\x1e\x59\x56\xc6\x32\x6c\x6a\x5d\xc8\xad\xa2\xd4\xdc\x93\xfe\x42\x8c\x19\x32\x7e\x93\x74\x70\x90\x5b\x53\x42\xf8\xdf\x80\x30\xe8\x38\xe6\xda\xe6\x91\x7e\x77\x4b\xce\xa8\x3d\xd9\x0e\x38\x3e\x1a\x70\x9f\x1e\xb0\xac\xba\x99\x1d\x6e\x7c\x14\x06\xc1\x72\xb9\x84\x94\x1c\xc3\x8e\x54\x45\x16\x9c\xb0\xb2\x62\x60\x03\x7b\x54\x32\x43\xa6\x53\x12\x47\x76\x4f\x0e\x36\xe9\x47\xe9\x2a\x85\x8f\x80\x0e\xe8\xa1\x22\xc1\x94\x79\xb2\x00\x85\x20\xe7\x22\x54\x2a\x86\xbc\xd6\x50\xa2\xd4\x11\x66\x99\x25\xe7\x56\xf0\xbe\xfd\x27\x5e\xc1\x1f\xc6\x28\xf8\x27\x00\x00\x50\xc4\x80\x42\x98\x5a\x33\xac\xa1\x20\x7e\xdf\x6e\xfa\xb6\x38\x18\x60\xfd\x28\x58\x9f\x71\x3c\x19\xd4\x45\x4d\x63\xbf\x34\x96\xb4\x1a\x1c\x18\x08\xa0\xf5\xe2\xe2\x04\xeb\x1e\xcb\xad\x51\x1e\xbd\x49\x27\xa5\x8c\x5a\x93\xa4\xd1\x2b\x08\xd3\x9d\x74\xfe\xa2\x2d\x15\x37\x26\x49\x07\xb5\xa3\xcc\x7b\x83\x1a\xa8\x9b\xc7\xa6\x31\x19\x1e\x4d\x0d\x19\xed\x49\x99\xe6\x7f\x0b\x9a\x1e\x18\x36\x29\xfc\x6a\xf4\x46\x99\x43\x32\x99\x47\x0f\x4c\x56\xa3\xfa\xeb\xf6\xf3\xea\xf4\x1b\x49\x3e\x1d\x4b\x51\xb8\x63\xae\xdc\x6a\xb9\xec\xe6\x3d\xcb\x39\x31\x3a\xf7\x84\xc6\x16\x61\x7c\x4a\xaa\x4c\x61\xdc\x94\xee\x0b\x65\x12\x5d\xf4\xfd\x04\xe9\xd7\x0c\x2c\x7a\x02\xf2\x2b\x97\x8a\xa6\xac\x7f\xa6\xe9\xd7\x8d\x54\x34\xdf\xe1\x57\x6d\xbd\xd3\xbd\x7e\x74\x8e\xd8\x25\x07\xda\x3a\xc9\xf4\xcc\x53\xba\x44\x98\x72\x79\x95\x5f\xbf\x78\xf3\x4a\x5c\x8a\xdf\xf1\xb5\xc8\xb2\xeb\x57\x2f\xb7\xcf\xc5\xeb\x17\x97\x93\x02\x5e\x5d\x89\xed\x73\xf1\xe6\xe5\xf5\x9d\xb7\xf3\xee\x6f\x63\xb3\x12\xed\x7d\xe2\xf6\x45\x38\xab\x61\xe2\x4d\xbf\x4a\x7f\xcf\xf4\xb1\xf2\x1f\x8d\x2c\xb1\xa0\xa5\xdb\x17\xbf\x3d\x94\xea\x29\x4b\xfc\x23\x38\x43\xe8\x8c\x90\xa8\xdc\xaa\xfb\xde\xc7\x2b\xe4\x83\x64\x26\x1b\xfe\xaf\x9f\xb6\x03\x37\x6e\xf8\x5f\xf6\x6e\xab\x8c\xb8\x17\x3b\x94\x3a\x8c\x4f\xb8\x7f\x0e\xbb\xd1\xeb\xd9\x63\xad\xf8\x23\x32\xc2\xfa\xe4\x55\x27\xb6\x0d\x8e\x0f\x46\xb3\x45\xc1\x5e\x41\xe4\xcf\x6a\x2b\xa8\x35\x40\x4b\x75\x01\x7b\x49\x87\x76\xeb\xff\xbe\x3d\xfb\x02\xbf\xf5\xb3\xde\x45\x71\x0c\xe8\x7e\x39\xff\x60\x07\xf8\xcd\x20\xfc\xe6\x06\x2a\xd4\x52\x44\xe1\x07\x53\xab\x0c\xb4\x61\x1f\x0e\xed\x2d\xc0\x37\x37\x82\x20\x37\x16\x78\x47\x20\x3a\xf5\xe1\xf4\xc6\xb7\x94\xc3\xba\x4f\x98\x44\x60\x85\x5b\xa9\x24\x4b\x72\xc9\xd6\x58\x6b\x0e\x6f\x17\x27\x6e\x34\x5a\xde\x45\x83\x5b\x49\xd9\x89\xfd\x8a\xbc\x8b\xcf\xea\x6b\xf9\x00\xc1\x52\x4e\x96\xb4\x68\x9e\xbd\x57\xd7\xaa\xb6\x7d\x42\x8f\x34\xa2\xe0\x1a\xd5\xf9\x44\x2b\x88\x8f\xa1\xd6\x5f\x6a\x4e\x4a\x9b\xd2\x99\x21\xd7\xe8\x91\xfe\x56\x25\x69\x1e\x25\xb6\x37\xad\x9f\xef\xdf\x9a\xe5\xa8\x95\x90\x34\xa1\x90\x48\xa6\xd2\x25\x8a\x74\xc1\x3b\x58\xaf\x87\xcc\x9d\x29\x5f\x40\x49\xce\x61\xe1\x5f\x48\x1b\x1e\xd0\xf5\x95\xd2\x95\xc8\x62\x17\xce\x84\xf7\x67\x53\x98\x06\x0d\xf3\xe4\xdf\x2f\x7f\x4c\xcc\x19\x77\x3c\xd5\xda\xe3\x2d\x71\x6d\xf5\x91\xd2\xe7\xbd\xbf\x40\xd7\xd1\x6c\x17\x8b\x63\xbd\xcd\xf8\x11\xa2\x3b\x58\x2c\x06\x63\x07\xec\x28\xf4\x47\x0d\xe3\xd3\x31\xf3\x28\xb2\x93\xda\x8e\x47\x4c\x2b\x8b\x05\x3c\x19\x36\xdc\x36\xf1\xd9\x97\xd4\x56\x46\xf1\x91\x62\xb6\x3a\x1a\x7e\xac\x0f\xf9\x35\xd7\x3c\x14\x83\x9f\x41\xf0\x6f\x00\x00\x00\xff\xff\xf6\x5e\xe7\x05\xc5\x08\x00\x00"
 
 func scriptsTestExample_token_vault_display_strict_equalCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -542,7 +542,7 @@ func scriptsTestExample_token_vault_display_strict_equalCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/test/example_token_vault_display_strict_equal.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x24, 0xb8, 0xd3, 0x89, 0x76, 0xb4, 0x57, 0x9c, 0xe2, 0xc6, 0xef, 0xd5, 0xa9, 0xcb, 0x5c, 0x87, 0xfa, 0xac, 0x7f, 0xfc, 0x43, 0xac, 0x1, 0xc6, 0x3a, 0x17, 0xce, 0x73, 0x52, 0x58, 0x24, 0x89}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x61, 0x79, 0xbb, 0xba, 0xfb, 0xd5, 0x1e, 0x9, 0x58, 0xb2, 0x8d, 0x3d, 0xc2, 0xd1, 0xf6, 0x38, 0xda, 0xcd, 0xce, 0x98, 0xd2, 0xf4, 0x17, 0x1, 0x9e, 0xf8, 0x11, 0x9d, 0x7b, 0xc2, 0xd1}}
 	return a, nil
 }
 
@@ -566,7 +566,7 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	return a, nil
 }
 
-var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x94\x4f\x6f\xdb\x3c\x0c\xc6\xef\xfe\x14\x4f\x73\xe8\x6b\x03\x69\x72\x2f\xd2\xf6\x5d\xb3\x16\xd8\x61\x40\xd1\x06\xb9\x33\x0e\xd3\x08\x53\x24\x43\xa2\x93\x1a\x45\xbf\xfb\x20\xf9\x4f\xed\xce\xdd\x80\x01\xf3\xc1\x80\x28\x8a\x7c\xf8\x23\xa5\xf9\x1c\xab\xbd\xf2\x10\x47\xc6\x53\x2e\xca\x1a\x28\x0f\x82\xf0\xa1\xd0\x24\x8c\x9d\x75\x61\xd9\xdb\x17\x0b\xd2\xda\x9e\x92\xf9\x1c\x64\x2a\x6b\x38\x9a\xb6\x5b\x10\xd6\x54\x6a\x81\x63\x6f\x4b\x97\x47\xbb\xec\x59\x39\x50\x9e\xdb\xd2\x08\x7c\x30\x90\x84\xa3\xb2\xe7\x0a\x39\x19\x94\x9e\xc3\x02\xfc\x42\x87\x42\xf3\xca\xfe\x60\x93\x24\xea\x50\x58\x27\xb8\x2f\xcd\xb3\xda\x34\x56\xec\x9c\x3d\x60\x32\xb0\x4d\x5a\xcf\xbb\xde\xf1\xc6\xb1\x6f\xea\xfc\xd6\x8a\x4f\x8f\xec\xad\x3e\xb2\x6b\xfc\xfa\xa6\xc9\x68\xe6\xef\x2c\xb4\x25\xa1\xe0\xe9\xc7\x64\x0c\x1c\x26\x49\xd2\x07\x96\x66\x78\x4d\x12\x00\x28\x1c\x17\xe4\x38\xf5\xea\xd9\xb0\xbb\x04\x95\xb2\x4f\x6f\xad\x73\xf6\xb4\x26\x5d\xf2\x14\xdf\xbc\x2f\xf9\x49\xac\xa3\x67\x5e\x52\x41\x1b\xa5\x95\x54\x4b\x6b\xc4\x59\xad\xd9\x4d\xf1\x50\x6e\xb4\xf2\xfb\xf7\xcd\x29\x9e\xe8\xc8\xf1\x7c\x86\xf3\x2f\x35\xe9\x2e\x65\xf8\x34\x0b\x8e\xa1\x33\x5f\x49\x08\x57\x03\x54\x33\x57\x17\x1e\x53\x50\x2e\xa1\x80\xb4\x6d\xe0\xaa\x2a\xf8\x12\x46\xe9\x29\x8e\x8a\x4f\xf5\x32\xfc\x17\x9f\x17\x3f\xbb\x5f\xad\xdb\x5c\xd7\x69\x96\x81\xfc\xd9\x6f\x60\xf6\xdd\x6f\x3a\xc5\xe1\xbb\xb9\x41\x41\x46\xe5\xe9\xa0\x3f\xd8\x5a\xf6\x30\xb6\x9e\x32\x7d\x64\xf4\x02\x44\x95\x93\xec\xbd\xf2\xf9\x1c\x8f\x2c\xa5\x33\x60\x72\xba\x82\xda\xc5\x51\x6b\xc7\x91\xb4\x63\xda\x56\xf0\x62\x1d\x87\xb1\x1f\x0c\x51\x0c\xdb\x85\x52\x3b\xd4\x6d\x9b\xf9\xba\x3d\xb3\x4d\x6c\xdc\xe2\x7c\x80\x33\x1e\xba\x4e\xc3\x88\x5c\xbe\x43\x6f\xcf\x3c\x90\xec\x33\x9c\x5d\x05\xa6\x78\x1d\x94\xeb\xa2\xce\xce\xf4\x36\xd2\x3e\x2c\x2e\x86\xbd\xcb\x1d\x93\xf0\xdd\xa1\x90\x2a\xe6\x4d\xa3\x5b\xaf\x4d\xff\x8f\x69\xcb\x86\x80\x96\x31\x08\x08\x86\x4f\x23\x00\x40\x66\x8b\xa2\x14\x28\x81\x32\x68\x0a\xe9\x02\x7c\x60\xe2\xe9\xc8\xe9\xe2\x22\xea\x98\x42\xec\x67\x0c\xc6\x15\x14\x61\xb6\x73\xe4\xdd\x6c\x37\x2f\x48\xa3\x24\x3c\x1d\xe0\x97\xc2\x7a\xf6\x3d\xb3\x32\xc2\x6e\x47\x39\xfb\x5f\x91\x2d\xa9\xc0\x55\x2b\xb2\x8b\xab\xd8\x77\x8a\x55\xb8\x71\x8b\xf3\xd7\xc1\x88\xce\x6e\x49\x93\xc9\x79\x3a\x9c\xdc\x9a\xe0\xdb\x75\x3a\xe8\xdc\x68\x85\x9d\x47\xf6\x11\xd5\x40\x45\x51\xdf\xe6\xb4\x15\x3b\x05\x49\x9f\xd9\xa1\xb9\x2b\x7f\x86\xb6\x1c\x87\xf6\x9f\xc7\x23\xe7\xac\xe2\x6b\x57\x9a\xf8\x22\x51\xf0\x1a\xb0\x72\x8d\xcb\xdf\xe2\x6a\x53\xfc\x0b\x34\x3d\x6d\x1f\xe9\xb4\x5b\x35\x9d\xfa\xda\xbc\x25\x3f\x03\x00\x00\xff\xff\xf1\x84\x12\x73\xd5\x06\x00\x00"
+var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x54\x4d\x4f\x23\x39\x10\xbd\xf7\xaf\x78\xe4\xc0\x76\x4b\x21\xb9\xa3\x00\xbb\x9b\x05\x69\x0f\x23\x21\x88\x72\xaf\x74\x2a\xc4\x1a\xc7\xb6\xec\xea\x84\x08\xf1\xdf\x47\x76\x7f\xd0\xcd\x34\x33\xd7\xe9\x43\x4b\x2e\x3f\x57\xbd\x7a\xaf\xec\xf9\x1c\xab\xbd\x0a\x10\x4f\x26\x50\x29\xca\x1a\xa8\x00\x82\xf0\xc1\x69\x12\xc6\xce\xfa\xb8\xec\xed\x8b\x05\x69\x6d\x4f\xd9\x7c\x0e\x32\x67\x6b\x38\x85\xb6\x5b\x10\xd6\x54\x69\x81\xe7\x60\x2b\x5f\xa6\xb8\xec\x59\x79\x50\x59\xda\xca\x08\x42\x0c\x90\xc4\xa3\xb2\xe7\x33\x4a\x32\xa8\x02\xc7\x05\xf8\x95\x0e\x4e\xf3\xca\x7e\x67\x93\x65\xea\xe0\xac\x17\x3c\x54\xe6\x45\x6d\x9a\x28\x76\xde\x1e\x30\x19\xc4\x26\x2d\xf2\xbe\x77\xbc\x01\xf6\x43\x1d\x6e\xad\xf8\xf4\xc4\xc1\xea\x23\xfb\x06\xd7\x0f\x4d\x46\x2b\x7f\x63\xa1\x2d\x09\x45\x64\x18\xa3\x31\x00\x4c\xb2\xac\x2f\x58\x5e\xe0\x2d\xcb\x00\xc0\x79\x76\xe4\x39\x0f\xea\xc5\xb0\xbf\x06\x55\xb2\xcf\xff\xb5\xde\xdb\xd3\x9a\x74\xc5\x53\xfc\x1f\x42\xc5\xcf\x62\x3d\xbd\xf0\x92\x1c\x6d\x94\x56\x72\x5e\x5a\x23\xde\x6a\xcd\x7e\x8a\xc7\x6a\xa3\x55\xd8\x7f\x6c\x4e\xf1\x4c\x47\x4e\xe7\x0b\x5c\xfe\x53\x2b\xdd\x95\x8c\x9f\x66\xc1\x31\x3a\xf3\x1f\x09\xe1\x66\x20\xd5\xcc\xd7\x8d\xa7\x12\x54\x4a\x6c\x20\x6f\x0d\x5c\x9d\x1d\x5f\xc3\x28\x3d\xc5\x51\xf1\xa9\x5e\xc6\xff\xe2\xeb\xe6\x67\x0f\xab\x75\x5b\xeb\x36\x2f\x0a\x50\xb8\xf8\x85\x98\x7d\xf8\x5d\xc7\x38\x7e\x77\x77\x70\x64\x54\x99\x0f\xfc\xc1\xd6\x72\x80\xb1\xf5\x94\xe9\x23\xa3\x97\x20\xb1\x9c\x14\x1f\x9d\xcf\xe7\x78\x62\xa9\xbc\x01\x93\xd7\x67\xa8\x5d\x1a\xb5\x76\x1c\x49\x7b\xa6\xed\x19\x41\xac\xe7\x38\xf6\x83\x21\x4a\x69\xbb\x54\x6a\x87\xda\xb6\x59\xa8\xed\x99\x6d\x92\x71\x8b\xcb\x81\x9c\xe9\xd0\x6d\x1e\x47\xe4\xfa\x43\xf4\xf6\xcc\x23\xc9\xbe\xc0\xc5\x4d\xd4\x14\x6f\x83\x76\x7d\xe2\xd9\x85\xde\x47\xec\xc3\xe2\x6a\xe8\x5d\xe9\x99\x84\xef\x0f\x4e\xce\xa9\x6e\x9e\x60\x3d\x9b\xfe\x1e\xe3\x56\x0c\x05\x5a\xa6\x24\x20\x18\x3e\x8d\x08\x00\x32\x5b\xb8\x4a\xa0\x04\xca\xa0\x69\xa4\x4b\xf0\x49\x93\x40\x47\xce\x17\x57\x89\xc7\x14\x62\xbf\xd2\x60\x9c\x81\x8b\xb3\x5d\xa2\xec\x66\xbb\x79\x41\x1a\x26\xf1\xe9\x00\xbf\x3a\x1b\x38\xf4\xc2\xca\x08\xfb\x1d\x95\x1c\x7e\x96\x6c\x49\x0e\x37\x2d\xc9\x2e\xaf\xe2\xd0\x31\x56\xf1\xc6\x8d\x9b\x38\xf0\x67\xb4\x8f\x0e\x51\x7c\x16\x64\x50\xcb\xd5\x77\x36\x6f\x29\x4d\x41\xd2\x57\xe6\xd0\xdc\x88\xdf\x4b\xb3\x1c\x97\xe6\xaf\x80\x27\x2e\x59\xa5\x37\xad\x32\xe9\xdd\xa1\x88\x1a\x28\xe2\x1b\xc8\x9f\x25\x4a\x8f\xd5\x67\x5d\xda\xad\x5a\x97\xfa\x5a\xbc\x67\x3f\x02\x00\x00\xff\xff\xaf\x9b\xe4\x87\xb5\x06\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -582,7 +582,7 @@ func setup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x29, 0xc9, 0x26, 0xc1, 0xa5, 0xd, 0x1e, 0xb7, 0x21, 0x92, 0xf, 0x17, 0xb3, 0xaa, 0x7b, 0xe9, 0xb6, 0x50, 0x74, 0x36, 0xf5, 0x85, 0x6c, 0xde, 0x92, 0xbb, 0x1b, 0xd5, 0xeb, 0xf3, 0xad, 0x43}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0x5e, 0xca, 0xd, 0x19, 0x96, 0xbf, 0x52, 0x19, 0xe2, 0xd9, 0x2e, 0x7a, 0x7d, 0x92, 0x6e, 0xc4, 0xfb, 0xa2, 0x81, 0x5c, 0x69, 0x92, 0x6d, 0x66, 0x9e, 0x1c, 0xe6, 0x75, 0x7a, 0x64, 0x97}}
 	return a, nil
 }
 
@@ -746,7 +746,7 @@ func switchboardSetup_accountCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardSetup_royalty_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\xc1\x6e\xe3\x36\x10\xbd\xfb\x2b\x5e\x73\xd8\xca\x40\x6a\xdf\x83\x24\xdb\x34\x6d\x16\xbd\x14\x8b\x4d\xb6\x3d\xd3\xd2\xc8\x22\x22\x93\x02\x39\x8a\xd7\x08\xf2\xef\x05\x29\x4b\xa6\x9c\xc8\x96\x14\xa3\xa9\x0e\x89\x2d\x91\xc3\x79\x33\xef\x3d\x53\x94\xab\x42\x1b\xc6\x5d\xa9\x96\x72\x91\xd3\x83\x7e\x24\x85\xd4\xe8\x15\xce\x5a\xf7\xce\x26\x6f\x8d\xbc\x5f\x4b\x8e\xb3\x85\x16\x26\x79\x6b\x52\xf0\x78\x37\x3f\xd7\xeb\xd6\x2a\xf5\xf7\xdd\x08\x29\xb8\x35\xa2\xfe\x7e\x36\x99\x4c\xe6\x73\x3c\x64\xd2\x82\x8d\x50\x56\xc4\x2c\xb5\x82\xb4\x10\x60\x5a\x15\xb9\x60\x42\xaa\x8d\xfb\x1a\x3c\xe7\x4c\x30\x62\x5d\xe6\x09\x16\x84\xd2\x52\x82\xc5\x06\x2e\x94\x50\x1b\xad\x08\x69\x99\xe7\x1b\x58\xe2\xb2\x80\x50\x10\x71\xac\x4b\xc5\x3e\x92\xa1\x98\xe4\x93\x54\x4b\x2c\x34\x67\x3e\x7b\x08\x95\xe0\xfb\xfd\xef\xb7\x60\x97\x95\x85\x60\x70\x46\xb0\x62\x45\x2e\x68\x51\x2e\x72\x19\xa3\x10\x9c\x21\x72\x31\xa4\xb2\x2c\x54\x4c\x7e\x94\xd1\x1b\x91\xb3\x24\x8b\x79\x35\x70\xfe\x85\x14\x19\x19\xdf\x3d\x7c\xf3\x6b\x91\xf1\x53\xa7\x2e\xd4\x77\xeb\x56\x76\xd3\x44\x92\xfc\x45\xeb\xbf\x45\x99\xf3\x3f\x46\x14\x05\x19\xfb\xdb\xe6\xab\x5b\xc2\x06\x3d\x58\x11\x67\x3a\x81\xc8\x73\xbd\xb6\x35\x3a\xd6\x0e\xb3\x0b\x17\x8b\x42\x2c\x64\x2e\x79\x83\xf5\x36\x08\x6c\x19\x67\x10\x16\xbe\xc2\x77\xda\xac\x85\x49\xdc\x7d\x97\x34\x89\x04\x3a\xad\xd6\x8f\xb9\x14\x79\x85\x18\x4f\x2e\x8d\xd9\x24\xac\x71\x34\xc5\xf3\x64\x02\x00\x39\x31\xd2\xba\xa9\x3e\xe1\xdb\x66\xd9\x0b\xec\x3e\x5f\x7e\x7a\x6e\x91\x65\x56\xc3\x7f\xb9\xde\xc5\xa9\x5b\x3f\x2e\x0e\x80\x26\x54\x50\xa6\x6f\x94\x5e\x00\x9f\xba\xa8\x3a\x0b\x3e\x57\x90\x0a\x43\x85\x30\x14\x59\xb9\x54\x64\x2e\x70\x53\x72\x76\x53\x91\xa4\x81\xed\xae\xf9\x1c\xb7\x19\xc5\x8f\x90\x75\xd1\x2a\x22\x89\xdc\x90\x48\x36\xc8\x84\x63\xaa\xe7\x90\x07\xd4\x4c\x94\x29\xaa\xd8\xb3\x85\x36\x46\xaf\x2f\x3f\x35\xb2\x98\xf9\x91\xd7\x91\xd3\xc2\x05\xe6\x96\xb5\x11\x4b\x9a\xb7\x2b\x3c\xc5\xd5\x15\x94\xcc\xf1\xdc\x84\xdc\xe6\xf3\x67\x0a\xa5\xf9\x1c\xb1\x21\x27\x0e\x01\x45\xeb\x20\x03\x18\xb2\xba\x34\x31\x79\x52\x17\x25\x43\x32\xa4\x62\x8d\xed\x42\xad\x78\xdb\x1c\xad\x78\xa2\xe8\xf2\x97\x9d\x94\x67\x55\xf4\x3f\x56\x05\x6f\x7c\xd8\xc8\x33\xe4\x61\x53\xd0\x05\xdc\xdf\xcb\x5f\x5f\xe1\x99\x4e\xcf\xc1\xba\x1b\x51\xb3\xf0\x4b\x67\x79\x4d\xad\x97\x80\xd7\xd2\x22\x97\xea\x91\x12\x78\xe1\x93\xa7\xe2\x6e\xa4\x53\x56\x58\xf5\x9f\xb6\x90\x96\xc4\xbd\x18\x15\xd5\xa2\x6d\xb2\xad\x9f\x4d\x5b\x95\x7a\xe7\x35\x8b\x1d\x4e\xaf\xa9\xbd\x7e\xca\x14\x92\x7f\xb6\x7b\x4d\xdd\x5a\x4e\x50\x07\xd6\x3b\xf4\xbe\x19\xa0\x1f\x85\xf6\x76\xb2\x1f\xd2\x8d\x4b\xc8\x3d\x64\xa4\xa5\xaa\x3d\xd3\xe8\x72\x99\xf9\x87\x5d\xd5\x70\x44\x21\x93\x8a\xf8\x4d\x96\x94\xca\x35\xa2\x6f\xc1\xb6\x93\xdc\x94\x51\xe5\x3f\xc7\xb8\xfa\xb3\x30\x4b\xe2\x41\x34\xb4\x94\xa7\xb3\x2e\x87\xc3\x15\x4e\x48\xa9\x81\xce\xe2\x7f\x94\x8e\x3a\x4b\xed\xa9\x6d\x67\xd9\xbb\x7d\x5f\x95\xc3\xfd\xc2\x0c\x34\x97\x5d\x12\xef\x33\x97\x26\x9f\x1e\xe6\xb2\x0f\xc9\x99\xcb\x48\x3d\x3a\x4f\x3a\x50\x8b\x53\xd9\x92\xaf\xd2\xc9\x6c\x69\x08\xd6\x68\x0f\x5d\x1d\xe5\x6b\xb9\xf0\x08\x4f\xe6\x3d\x1e\xe2\x87\x7a\xcf\x11\xa4\x63\x0c\xe8\x70\xc8\x51\xac\xab\x2d\x68\x18\xeb\x2a\x17\xea\xd8\x1f\x8d\x70\xa1\xbe\xb5\x1a\x68\x49\xe1\x1b\x42\x6d\x07\x87\xcc\xa9\xc7\x9e\xec\x38\xdb\x6b\x4b\xeb\x0c\x36\xda\xdc\xde\x82\x33\xca\xdd\xba\x52\xab\x56\x0b\xee\x44\x43\xad\xcc\x1b\x58\x1f\xe4\xa7\xb2\xb2\x61\x2e\xd6\x81\xa5\x5f\xeb\xc7\x1a\x60\xd4\x19\x3c\xe0\x79\x2e\xe3\xd3\x1a\x60\x48\x96\x8f\x72\xc0\x01\xb8\xbb\xed\xf0\x5d\xad\x89\xfa\xb3\x77\x40\xb6\xe7\xbd\xa3\x36\xf6\x7a\x22\x4d\x04\x53\xab\x74\xbc\xfe\x53\x7e\x43\x2c\xee\x2d\x5f\x18\xda\xe9\x65\xb2\xd7\xf8\xf0\xdd\x3d\x38\x36\x38\xbe\x15\x68\x46\x8c\xe8\x4d\xc7\xa0\x0a\xcc\x39\x3a\xfa\xd8\xb7\xde\xd7\xe3\x39\xf7\xce\xeb\xbf\xd5\xad\x3f\x0e\x7a\xad\xcf\x83\xc5\x7d\xf1\x54\x71\x93\xf6\xa3\x1d\x17\xb9\x1d\xa3\xf2\x3e\xea\x6e\x3d\xf8\xdf\xd1\xa9\xbe\x0e\xd0\xea\x83\x4c\xe1\x0b\x31\x04\x0c\xa5\x64\xc8\x1f\xee\xe9\x7d\x49\xb7\xf7\x6a\xed\x03\xa8\xdd\x0e\xed\xb4\x5b\x9f\xe6\x1a\xb4\x07\x3a\x1a\xf6\xf3\x67\x14\x42\xc9\x38\x3a\xbb\xf5\xe7\xa8\x4a\x33\xaa\xc4\xdb\x15\x08\x40\x9e\x6d\x5f\x5f\x5f\xaa\x7f\xf4\x83\xe2\x92\x29\x10\xe7\x7c\x8e\x9b\xa4\x92\xc3\x6b\x0d\x86\xce\x58\x7a\x01\x06\x27\xa0\xdb\x73\xce\x43\xf5\x9d\x05\xc3\xa3\x38\x38\x38\x3c\xf8\xf6\x3e\x7d\x47\xc8\x8e\xad\xf8\xb4\x2e\xc2\xcb\x04\xff\x06\x00\x00\xff\xff\x8d\x9e\x81\x4b\x6d\x17\x00\x00"
+var _switchboardSetup_royalty_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x41\x6f\xe3\x36\x13\xbd\xfb\x57\xcc\x97\x43\x3e\x19\x48\xad\x7b\x90\x64\x9b\xa6\xcd\xa2\x97\x62\xb1\xc9\xb6\x67\x9a\x1a\x59\x44\x64\x52\x20\x87\xf1\x1a\x81\xff\x7b\x41\xca\x92\x28\xc5\xb2\x25\x47\x68\x74\x48\x6c\x91\x7c\x9c\x37\x7c\xf3\x4c\x52\xac\x0b\xa5\x09\x1e\xad\x5c\x89\x65\x8e\xcf\xea\x05\x25\xa4\x5a\xad\xe1\xa2\xf5\xee\x62\x76\xa8\xe7\xd3\x46\x10\xcf\x96\x8a\xe9\xe4\xd0\xa0\xa0\xb9\x19\x9f\xab\x4d\x6b\x96\xea\x7b\xd3\x43\x30\x6a\xf5\xa8\xbe\x5f\xcc\x66\xb3\x38\x86\xe7\x4c\x18\x20\xcd\xa4\x61\x9c\x84\x92\x20\x0c\x30\x20\x5c\x17\x39\x23\x84\x54\x69\xf7\x35\x68\xa7\x8c\x11\x70\x65\xf3\x04\x96\x08\xd6\x60\x02\xcb\x2d\x38\x28\x26\xb7\x4a\x22\xa4\x36\xcf\xb7\x60\x90\x6c\x01\x4c\x02\xe3\x5c\x59\x49\x1e\x49\x23\x47\xf1\x2a\xe4\x0a\x96\x8a\x32\x1f\x3d\x30\x99\xc0\x8f\xa7\xdf\x1f\x80\x5c\x54\x06\x18\x01\x65\x08\x86\xad\xd1\x81\x16\x76\x99\x0b\x0e\x05\xa3\x0c\x22\x87\x21\xa4\x21\x26\x39\xfa\x5e\x5a\x6d\x59\x4e\x02\x0d\xc4\x65\xc7\xf8\x2b\x4a\xd4\x82\x3f\x3e\x7f\xf7\x73\xa1\xf6\x43\xe7\x0e\xea\x87\x71\x33\xbb\x61\x2c\x49\xfe\xc2\xcd\xdf\xcc\xe6\xf4\x8f\x66\x45\x81\xda\xfc\xb6\xfd\xe6\xa6\x30\xc1\x1a\xac\x91\x32\x95\x00\xcb\x73\xb5\x31\x15\x3b\x52\x8e\xb3\x83\xe3\xac\x60\x4b\x91\x0b\xda\xc2\x66\x0f\x02\xc6\xf2\x0c\x98\x01\x9f\xe1\x47\xa5\x37\x4c\x27\xee\xbd\x0b\x1a\x59\x02\x2a\x2d\xe7\xe7\x64\x59\x5e\x32\x86\x57\x17\xc6\x62\x16\xe6\x38\x9a\xc3\xdb\x6c\x06\x00\x90\x23\x41\x5a\x2d\xaa\x0f\xf8\xa1\x9e\xf6\x1a\x9a\xcf\x37\x97\x6f\x2d\xb1\x2c\x2a\xfa\xbb\xbb\x06\xa7\x5a\xfa\xf3\x70\x00\xa0\x86\x0a\xd2\xf4\x1d\xd3\x6b\x80\xcb\x3e\xa9\x2e\x82\xcf\x25\xa5\x42\x63\xc1\x34\x46\x46\xac\x24\xea\x6b\xb8\xb7\x94\xdd\x97\x22\xa9\x69\xbb\x27\x8e\xe1\x21\x43\xfe\x02\xa2\x4a\x5a\x29\x24\x96\x6b\x64\xc9\x16\x32\xe6\x94\xea\x35\xe4\x09\xd5\x03\x45\x0a\x25\xf6\x62\xa9\xb4\x56\x9b\x9b\xcb\xba\x2c\x16\xbe\xe7\x5d\xe4\x6a\xe1\x1a\x62\x43\x4a\xb3\x15\xc6\xed\x0c\xcf\xe1\xf6\x16\xa4\xc8\xe1\xad\x86\xdc\xc7\xf3\x67\x0a\x52\xd1\x15\x70\x8d\xae\x38\x18\x48\xdc\x04\x11\x80\x46\xa3\xac\xe6\xe8\x45\x5d\x58\x02\x41\x20\x24\x29\xd8\x4f\xd4\xc2\xdb\xc7\x68\xd8\x2b\x46\x37\xbf\x34\xa5\xbc\x28\xd1\xff\x58\x17\xb4\xf5\xb0\x91\x57\xc8\xf3\xb6\xc0\x6b\x70\x7f\x6f\x7e\x7d\xc7\x67\x3e\xbf\x02\x52\xfd\x8c\xea\x89\x77\xbd\xe9\xd5\x55\xbd\x04\xba\x16\x06\x72\x21\x5f\x30\x01\x5f\xf8\xe8\xa5\xd8\xf4\x74\x95\x15\x66\xfd\x7f\x7b\x4a\x2b\xa4\x41\x8a\x8a\xaa\xa2\xad\xa3\xad\xda\xe6\xad\x4c\x7d\xf0\x59\x70\xc7\xd3\xd7\x54\x67\x3d\x45\x0a\x82\xfe\x6f\x3a\x8b\xba\xb7\x9c\x20\x0f\xa4\x1a\xf6\x7e\x31\x00\x7f\x16\xca\xdb\x49\x17\xd2\xf5\x4b\xd0\x35\x12\xa4\x56\x56\x9e\xa9\x95\x5d\x65\xbe\xb1\x2f\x1b\x4e\x28\xa8\x53\xc6\x0f\xaa\xc4\x4a\xb7\x10\x43\x13\xb6\x1f\xe4\x86\x1c\x10\x7f\x2f\xc8\x15\x9c\x97\x76\x62\x7a\x85\x34\x4a\x7d\x06\xf3\x74\xd1\x67\x6c\x70\x0b\x13\x2a\x69\xa4\xa1\xf8\xdf\xa2\x93\x86\x52\x59\x69\xdb\x50\x3a\xaf\x9f\xca\x74\xb8\x1f\x96\x91\x9e\xd2\x04\xf1\x31\x4f\xa9\xe3\x19\xe0\x29\x5d\x4a\xce\x53\xce\x2c\x43\x67\x45\x47\x72\x31\x95\x1b\xf9\x2c\x4d\xe6\x46\x63\xb8\x46\x1d\x76\x15\xca\x37\xbb\xf4\x0c\x27\xb3\x1c\x4f\xf1\x53\x2d\xe7\x04\xd3\x23\xbe\xd3\x15\xd4\x71\xa4\xb3\xc4\x56\x39\xcf\x38\xb1\x95\xe6\xd3\xb3\x1b\x3a\xc3\x7c\x86\xa6\x68\xa4\x13\x85\xe7\x81\xca\x05\x8e\x79\xd2\x80\x1d\xd8\x69\x91\x57\x4e\xd6\x0b\x76\xb6\xa7\x1d\xa2\x73\x96\xa9\xf5\x85\x56\xce\x16\xbc\x89\xc6\x3a\x98\xf7\xad\x21\xcc\xa7\x72\xb0\x71\xe6\xd5\xc3\x65\x9a\xa5\x8f\x7a\x41\x02\x3d\xe7\x82\x4f\xeb\x6f\xa1\x28\x3e\xcb\xe0\x46\xf0\x3e\xe2\x76\x43\x96\x20\x1a\xae\xc6\x11\x51\x5d\x0d\x46\xad\xed\x72\x22\x8d\x07\x43\xcb\x70\x7c\x3d\xa7\x74\x40\xfc\xee\x8c\xce\x34\x36\xfa\x9f\x75\x16\x38\x3c\x79\x07\x87\xfe\xd3\xbf\xe8\x75\x8f\x61\x67\xd0\x81\xa9\xba\x3b\x5f\x17\x1f\x7c\xfe\xdb\xda\xf2\x17\x31\xef\x6b\xa8\x27\x7b\x25\xe5\x9d\x5f\x66\x37\xa8\x8b\x76\xba\x10\xcd\x39\x95\x38\xa4\x02\x5b\x0d\x93\x4a\xa1\x7a\x8e\x48\xe2\x93\x8a\xf1\x2b\x12\x30\xd0\x98\xa2\x46\x7f\x25\xa6\xba\xa5\xd4\xde\xf3\xb4\xaf\x6d\x9a\x9d\xce\xb4\x5b\x88\xfa\x19\xb5\x97\x38\x09\xfb\xe5\x0b\x14\x4c\x0a\x1e\x5d\x3c\xf8\xdb\x47\xa9\x08\xca\xc0\xdb\x19\x08\x48\x5e\xec\x4f\x7f\xbb\xf2\x1f\xfe\x44\x6e\x09\x83\xc2\x8a\x63\xb8\x4f\x4a\x29\xbf\xaf\x9f\xd0\x91\xac\x2f\x9e\xe0\xde\x70\x7f\x3b\x78\x2c\xbf\x8b\xa0\x7b\xc4\x83\xeb\xb6\xa3\x87\xdf\xf9\x07\x20\x7b\xb6\xb4\xf3\x2a\x09\xbb\x19\xfc\x1b\x00\x00\xff\xff\x1d\xb6\x26\x42\xa3\x16\x00\x00"
 
 func switchboardSetup_royalty_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -762,11 +762,11 @@ func switchboardSetup_royalty_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_royalty_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0x95, 0xf0, 0xf7, 0xbc, 0xd, 0x72, 0x44, 0xa2, 0x64, 0xc5, 0x86, 0xa6, 0x7, 0xa3, 0x6f, 0xfa, 0x38, 0xdd, 0x22, 0x66, 0x4a, 0x76, 0xfa, 0x84, 0xf3, 0x30, 0x62, 0x32, 0x5, 0x49, 0xca}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4b, 0xc1, 0xd2, 0x45, 0xc7, 0x29, 0x20, 0x37, 0x3e, 0x6e, 0x8f, 0x5b, 0xbb, 0x54, 0xb9, 0xd4, 0x8a, 0x84, 0xe1, 0x97, 0xa8, 0x81, 0xcc, 0x66, 0xcc, 0xee, 0xd5, 0x60, 0xfb, 0xb5, 0xb, 0x22}}
 	return a, nil
 }
 
-var _switchboardSetup_royalty_account_by_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x58\xcd\x6e\xe3\x36\x10\xbe\xfb\x29\xa6\x39\xa4\x32\xe0\xda\x77\x23\xc9\x36\x4d\x9b\x45\x2f\x45\xb0\xc9\xb6\x87\x45\x0e\x63\x69\x64\x11\x91\x49\x81\x1c\xc5\x6b\x04\x79\xf7\x82\xa4\x7e\x6d\x2b\x96\x15\xb7\x59\x5d\x6c\x89\x33\xc3\xf9\xfb\x3e\x51\x23\x56\x99\xd2\x0c\xb7\xb9\x5c\x8a\x45\x4a\x0f\xea\x89\x24\xc4\x5a\xad\xe0\xac\xf5\xec\x6c\xb4\x4f\xf2\x7e\x2d\x38\x4c\x16\x0a\x75\xb4\x4f\xa9\xb1\x5c\xeb\xa7\x6a\xdd\xda\xa5\xbc\xaf\x25\x04\x72\x4b\xa2\xbc\x3f\x1b\x8d\x46\xb3\x19\x3c\x24\xc2\x00\x6b\x94\x06\x43\x16\x4a\x82\x30\x80\xc0\xb4\xca\x52\x64\x82\x58\x69\x7b\xdb\x58\xe7\x04\x19\x42\x95\xa7\x11\x2c\x08\x72\x43\x11\x2c\x36\x60\x4d\xa1\xdc\x28\x49\x10\xe7\x69\xba\x01\x43\x9c\x67\x80\x12\x30\x0c\x55\x2e\xd9\x59\xd2\x14\x92\x78\x16\x72\x09\x0b\xc5\x89\xf3\x1e\x50\x46\xf0\xf5\xfe\xf7\x1b\x60\xeb\x95\x01\x64\xe0\x84\xc0\xe0\x8a\xac\xd1\x2c\x5f\xa4\x22\x84\x0c\x39\x81\xc0\xda\x10\xd2\x30\xca\x90\x9c\x94\x56\x1b\x4c\x59\x90\x81\x99\x17\x9c\x7d\x26\x49\x5a\x84\xb7\x0f\x5f\xdc\x5e\xa4\x9d\xea\xd8\x9a\xfa\x6a\xec\xce\x56\x0d\xa3\xe8\x2f\x5a\xff\x8d\x79\xca\xff\x68\xcc\x32\xd2\xe6\xb7\xcd\x9d\xdd\xc2\x34\x6a\xb0\x22\x4e\x54\x04\x98\xa6\x6a\x6d\xca\xe8\x58\xd9\x98\xad\xb9\x10\x33\x5c\x88\x54\xf0\x06\xd6\x85\x11\x30\x79\x98\x00\x1a\x70\x19\xbe\x55\x7a\x8d\x3a\xb2\xcf\xad\xd3\x84\x11\xa8\xd8\xef\x1f\x72\x8e\xa9\x8f\x18\x9e\xad\x1b\xd3\x51\x33\xc7\x01\x46\x91\x26\x63\xe6\x70\xed\xff\x8c\xe1\x65\x34\x02\x00\x48\x89\xbd\x82\xf5\xd6\xcc\xe1\xdb\x9d\x0b\xdb\xde\x3d\xb6\x05\x1e\x36\x19\x59\x01\xfb\xfb\x68\x57\xaa\xe5\x46\x8c\x5f\x28\x9e\x03\x9c\x77\xf5\xd9\xb4\xf1\xdf\xef\x9f\x69\xca\x50\x53\x60\xc4\x52\x92\x9e\xc3\x75\xce\xc9\xb5\xaf\x70\xe5\xa3\xbd\x66\x33\xb8\xf3\xa2\x2e\x60\x5b\x03\xe3\x4a\xcd\xd6\x2d\x40\xad\x71\x63\x60\x2d\x38\x71\xeb\x7b\x3b\x21\x42\xc6\xca\xa0\xa1\x34\x9e\xd6\x91\xc3\x25\x7c\x7b\xec\x5a\x9c\xda\x6a\xc8\x28\x28\x7b\x22\x2e\x51\x51\xf6\xc4\xf8\x90\x66\x85\x92\xa9\x6b\x92\x52\xef\x2e\x5f\xdc\xb9\x6e\xda\x55\x77\xe9\xee\xf2\xca\x2d\x96\xb6\xed\xcd\xc5\xaf\x15\x52\xfd\x0e\x57\xc1\xb8\xd3\xea\x96\x62\xdb\x35\xa7\xd8\x4c\xfb\x4d\x42\xe1\x13\x88\xb2\xd1\x3c\xf8\x30\xd5\x84\xd1\x06\x12\xb4\xe8\x76\xd9\x76\xda\x95\xa2\x88\xc1\x97\x74\xba\x50\x5a\xab\xf5\xc5\xf9\x8e\x83\x96\x3f\xe6\x30\x33\xac\x34\x2e\xa9\x4e\xaa\x5b\x1e\xc3\xe5\x25\x48\x91\xc2\x4b\x65\xb2\xf0\xe7\xcf\x18\xa4\xe2\x09\x84\x9a\x2c\xa1\x20\x48\x5a\x37\x3c\x00\x4d\x46\xe5\x3a\x24\x57\xfe\x2c\x67\x10\x0c\x42\xb2\x82\x62\xa3\x96\xbd\xc2\x47\x83\xcf\x14\x5c\xfc\x52\xd3\xdf\xd4\x5b\xff\x63\x95\xf1\xc6\x99\x0d\xaa\xf4\xcd\xa1\x33\xe1\x13\x60\xd5\x1d\x51\xb5\xf1\x6b\x67\x7a\x75\xc9\x31\x0d\x2e\x10\x06\x52\x21\x9f\x28\x02\x47\x96\x04\xd6\x6c\x2d\x69\x91\xd0\xcc\xfa\x4f\x45\x48\x4b\xe2\x9b\xca\xc8\xc5\xf9\x4b\x0b\x92\xd3\xb2\x01\x5f\xaf\xfa\x34\xf5\x09\xae\x69\x68\xe3\x0c\xc6\xbb\xf5\x14\x31\x08\xfe\xd9\x6c\x15\xb5\xa0\xe9\x46\x1e\x58\xd5\xd1\xbb\x62\x00\x7d\xcf\x94\xa3\xe0\x6d\x93\x56\x2e\x22\xbb\xc8\x10\xe7\xb2\x7c\xcf\x68\x95\x2f\x3d\x3d\x74\x65\xc3\x36\x0a\xe9\x18\xc3\xbd\x5d\x92\x4b\x5b\x88\xbe\x09\x2b\x94\xac\xca\xa0\xf4\x4f\x60\x58\xfe\x19\xf5\x92\xb8\x57\x1b\x1e\x09\x73\xc7\xa5\x07\x61\xbe\x4d\x27\x1e\xe6\x5b\x8f\xef\xbd\x6f\x8e\xfc\x8e\x43\x7a\xed\xc4\xfb\x90\x5e\xf9\xd3\x03\xe9\xbb\x0c\x39\xb4\x38\x8e\x20\xde\xc8\xc5\xa9\x38\xc2\x65\xe9\x64\x1c\x71\x4c\xac\x87\x5e\x75\x27\x23\x02\x17\xe2\x87\x12\x41\xdf\x97\x3a\xf4\x67\x83\xb7\x4d\x0e\xea\xba\x92\x0f\xfa\x75\xdd\x91\x94\xd0\xfc\xc4\x28\xe1\xf8\x16\x39\xf4\x38\x17\x1e\xee\xb6\x92\x52\x3a\x8d\x0d\x26\x97\x7d\xe1\x0c\x62\x97\x2e\xd7\xfc\x6e\x8d\x27\xc1\xb1\x54\xe2\x08\xa4\x4f\xe4\xa7\xa2\x92\xe3\x58\xa4\x23\x96\x7e\xa5\x1f\x4a\x40\x41\xa7\xf1\x06\x80\x8a\xaf\x9a\xd3\x11\x50\xb3\x59\x3e\x8a\x81\x8e\x88\xbb\x9b\x8e\xde\x55\x9a\xa0\x7f\xf7\x1e\xe1\xed\xa4\xb7\xd5\x8a\xde\x4e\x84\x89\x86\xaa\x77\xc7\xe1\x3f\xe6\x3d\x60\x11\xee\xc3\x93\x6a\xbc\x8c\xb6\x0a\xdf\xfc\xf8\x6f\xcc\x1d\x0e\xbf\x8a\x2b\x89\x01\xb5\xe9\x10\xf2\xc1\x4c\xa0\xa3\x8e\x7d\xf3\x7d\x35\xbc\xe7\xde\x79\xfd\xbf\xb8\x75\xf3\xa4\x5d\x7c\xbe\x99\xdc\x57\x3f\x90\x48\x68\xc7\xda\x61\x90\x9b\x21\x28\xef\x83\xee\xd6\xc2\x0f\xd7\x4e\xe5\xf5\x46\x5b\x7d\x10\x29\x7c\x26\x06\x04\x4d\x31\x69\x72\xd3\x41\xb5\x0d\xe9\xf6\x78\xa5\x3d\x04\x83\xcb\xff\xe6\xe8\x53\x5d\x47\x9d\x81\x0e\x9a\xfd\xf4\x09\x32\x94\x22\x0c\xce\x6e\xdc\x20\x56\x2a\x06\xef\x78\x3b\x03\x8d\x20\xcf\x8a\x29\x51\x71\x64\xa4\xef\x14\xe6\x4c\xf5\xc8\x6e\x36\x83\xeb\xc8\xa3\xa1\x45\x98\xbb\x79\x84\xdc\x21\xb0\x73\x86\x3a\xea\xcc\xf2\xb4\x53\x27\xc8\xfc\x38\x73\x6b\x1c\x77\xec\x59\xcb\x8f\x3c\xb7\xc6\x67\x13\xa8\xa6\xa9\xc5\x9f\x3a\x15\xaf\x23\xf8\x37\x00\x00\xff\xff\x29\xb5\xc5\x68\xb4\x17\x00\x00"
+var _switchboardSetup_royalty_account_by_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\x4c\x73\x48\x65\x20\xb5\xef\x46\x92\x6d\x9a\x36\x8b\x5e\x8a\x60\x93\x6d\x0f\x8b\x1c\xc6\xd2\xc8\x22\x22\x93\x02\x39\x8a\xd7\x08\xf2\xdf\x0b\x92\xfa\xb6\x15\x4b\x5e\xb7\xd1\x25\x91\xc9\x19\xce\xc7\x7b\x4f\xd2\x88\x75\xa6\x34\xc3\x5d\x2e\x57\x62\x99\xd2\xa3\x7a\x26\x09\xb1\x56\x6b\x38\x6b\xfd\x76\x36\xd9\xb7\xf3\x61\x23\x38\x4c\x96\x0a\x75\xb4\xcf\xa8\xb1\x5c\xdb\xa7\x6a\xd3\x3a\xa5\xbc\xaf\x77\x08\xe4\xd6\x8e\xf2\xfe\x6c\x32\x99\xcc\xe7\xf0\x98\x08\x03\xac\x51\x1a\x0c\x59\x28\x09\xc2\x00\x02\xd3\x3a\x4b\x91\x09\x62\xa5\xed\x6d\x63\x9d\x13\x64\x08\x55\x9e\x46\xb0\x24\xc8\x0d\x45\xb0\xdc\x82\x75\x85\x72\xab\x24\x41\x9c\xa7\xe9\x16\x0c\x71\x9e\x01\x4a\xc0\x30\x54\xb9\x64\xe7\x49\x53\x48\xe2\x45\xc8\x15\x2c\x15\x27\x2e\x7a\x40\x19\xc1\xd7\x87\xdf\x6f\x81\x6d\x54\x06\x90\x81\x13\x02\x83\x6b\xb2\x4e\xb3\x7c\x99\x8a\x10\x32\xe4\x04\x02\xeb\x43\x48\xc3\x28\x43\x72\xbb\xb4\xda\x62\xca\x82\x0c\xcc\xfd\xc6\xf9\x67\x92\xa4\x45\x78\xf7\xf8\xc5\x9d\x45\xda\x99\x4e\xad\xab\xaf\xc6\x9e\x6c\xcd\x30\x8a\xfe\xa2\xcd\xdf\x98\xa7\xfc\x8f\xc6\x2c\x23\x6d\x7e\xdb\xde\xdb\x23\x4c\xa3\x07\x6b\xe2\x44\x45\x80\x69\xaa\x36\xa6\xcc\x8e\x95\xcd\xd9\xba\x0b\x31\xc3\xa5\x48\x05\x6f\x61\x53\x38\x01\x93\x87\x09\xa0\x01\x57\xe1\x3b\xa5\x37\xa8\x23\xfb\xbb\x0d\x9a\x30\x02\x15\xfb\xf3\x43\xce\x31\xf5\x19\xc3\x8b\x0d\x63\x36\x69\xd6\x38\xc0\x28\xd2\x64\xcc\x02\x6e\xfc\x3f\x53\x78\x9d\x4c\x00\x00\x52\x62\x6f\x60\xa3\x35\x0b\xf8\x76\xef\xd2\xb6\x77\x4f\xed\x0d\x8f\xdb\x8c\xec\x06\xfb\xf7\xc9\xae\x54\xcb\x8d\x1c\xbf\x50\xbc\x00\x38\xef\xc3\xd9\xac\xf1\xbf\x3f\x3f\xd3\x94\xa1\xa6\xc0\x88\x95\x24\xbd\x80\x9b\x9c\x93\x1b\xdf\xe1\x2a\x46\x7b\xcd\xe7\x70\xef\xb7\xba\x84\x6d\x0f\x8c\x6b\x35\xdb\xb0\x00\xb5\xc6\xad\x81\x8d\xe0\xc4\xad\xef\x45\x42\x84\x8c\x95\x43\x43\x69\x3c\xab\x33\x87\x2b\xf8\xf6\xd4\xb7\x38\xb3\xdd\x90\x51\x50\x62\x22\x2e\x59\x51\x62\x62\x7a\xc8\xb2\x62\xc9\xcc\x81\xa4\xb4\xbb\xcf\x97\xf7\x0e\x4d\xbb\xe6\xae\xdc\x7d\x51\xb9\xc5\xd2\xb7\xbd\xb9\xfc\xb5\x62\xaa\x3f\xe1\x3a\x98\xf6\x7a\xed\x18\xb6\x43\x73\x86\xcd\xb2\xdf\x26\x14\x3e\x83\x28\x81\xe6\xc9\x87\xa9\x26\x8c\xb6\x90\xa0\x65\xb7\xab\xb6\xb3\xae\x0c\x45\x0c\xbe\xa5\xb3\xa5\xd2\x5a\x6d\x2e\xcf\x77\x02\xb4\xfa\xb1\x80\xb9\x61\xa5\x71\x45\x75\x51\xdd\xf2\x14\xae\xae\x40\x8a\x14\x5e\x2b\x97\x45\x3c\x7f\xc6\x20\x15\x5f\x40\xa8\xc9\x0a\x0a\x82\xa4\x4d\x23\x02\xd0\x64\x54\xae\x43\x72\xed\xcf\x72\x06\xc1\x20\x24\x2b\x28\x0e\x6a\xf9\x2b\x62\x34\xf8\x42\xc1\xe5\x2f\xb5\xfc\xcd\xbc\xf7\x3f\xd6\x19\x6f\x9d\xdb\xa0\x2a\xdf\x02\x7a\x0b\x7e\x01\xac\xfa\x33\xaa\x0e\x7e\xeb\x2d\xaf\x2e\x35\xa6\xa1\x05\xc2\x40\x2a\xe4\x33\x45\xe0\xc4\x92\xc0\xba\xad\x77\x5a\x26\x34\xab\xfe\x53\x91\xd2\x8a\xf8\xb6\x72\x72\x79\xfe\xda\xa2\xe4\xac\x04\xe0\xdb\xf5\x10\x50\x9f\xe0\x9a\x85\x36\xcf\x60\xba\xdb\x4f\x11\x83\xe0\x9f\x4d\xa7\xa9\x85\x4c\x37\xea\xc0\xaa\xce\xde\x35\x03\xe8\x7b\xa6\x9c\x04\x77\x5d\xda\x7d\x11\xd9\x45\x86\x38\x97\xe5\x73\x46\xab\x7c\xe5\xe5\xa1\xaf\x1a\x16\x28\xa4\x63\x0c\xf7\xa2\x24\x97\xb6\x11\x43\x0b\x56\x18\x59\x93\x3d\xe0\xef\x75\x72\x01\xc7\x95\x9d\x51\xaf\x88\x07\xa1\x6f\x24\xbb\x9d\x84\x1e\x64\x77\x57\x45\x3c\xbb\x3b\x3f\x3f\xf8\xd8\x9c\xe6\x8d\x23\x78\x1d\xc4\x8f\x11\xbc\x8a\x67\x00\xc1\x77\x85\xf1\xd8\xe6\x38\x5d\x78\xa7\x16\xa7\x92\x06\x57\xa5\x93\x49\xc3\x98\x5c\x0f\x3d\xe1\x4e\xc6\x7f\x97\xe2\x87\xf2\x7f\xe8\xb3\x1c\x76\x44\xa0\x0b\xa8\xf7\x3d\x1d\x05\xb6\x52\x06\x86\x81\x6d\xa4\x12\x34\x3f\x28\x4a\x16\xbe\xa7\x09\x03\xde\x02\x0f\x83\xac\x54\x92\x5e\x67\x47\x6b\xca\xbe\x74\x8e\x12\x95\xbe\xd0\xfc\x69\x8d\x5f\x82\xb1\x0a\xe2\x74\x63\x48\xe6\xa7\x52\x90\x71\xe2\xd1\x93\xcb\x69\x5a\x1f\xf4\x3a\x69\x10\xa5\xf8\x56\x39\x9d\xbe\x34\x41\xf1\x51\x02\x33\x22\xef\x77\xd4\x66\x48\x0b\x82\xe1\x68\x1c\x11\xd5\xc5\x60\xaf\x95\x5c\x9d\x08\xe3\x0d\x53\x1f\x8e\xe3\x73\xcc\x7b\xc0\x2f\xdc\x67\x23\xd5\xf8\x9f\x74\x1a\xdc\xfc\x74\x6f\x4c\x0d\x0e\x3f\x51\xab\x1d\xc3\xbe\x83\x07\x96\xea\xfa\x78\x5c\xfc\xe0\xf5\xff\x72\xcb\x4d\x72\x76\x39\xd4\x53\x3d\x9f\xf2\x9b\x1f\x05\x24\xb4\xe3\xed\x30\x11\xcd\x31\x4c\x1c\xc2\xc0\xd6\xc2\x49\xa1\x50\x5e\xef\x40\xe2\x83\xc8\xf8\x99\x18\x10\x34\xc5\xa4\xc9\xcd\xd4\x54\x97\x4a\xed\xa1\x44\x7b\x74\x04\x57\xff\xcd\x2b\x44\x75\x8d\x7a\x97\x38\xe8\xf6\xd3\x27\xc8\x50\x8a\x30\x38\xbb\x75\xe3\x4b\xa9\x18\x7c\xe0\xed\x0a\x34\x92\x3c\x2b\x66\x2b\xc5\xab\x17\x7d\xa7\x30\x67\xaa\x07\x5d\xf3\x39\xdc\x44\x1e\xc9\x2d\xa1\xda\xad\x23\xe4\x8e\x3d\xbd\x93\xc7\x49\x6f\x95\x67\xbd\x36\x41\xe6\x87\x80\x9d\x21\xd6\xd8\x77\x16\x3f\x28\xec\x0c\x9d\x2e\xa0\x9a\x41\x16\xff\xd4\xa5\x78\x9b\xc0\xbf\x01\x00\x00\xff\xff\x0d\xc7\x03\x14\xea\x16\x00\x00"
 
 func switchboardSetup_royalty_account_by_pathsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -782,7 +782,7 @@ func switchboardSetup_royalty_account_by_pathsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_royalty_account_by_paths.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x6d, 0x53, 0x1a, 0x41, 0xf5, 0x1b, 0x3f, 0x2c, 0x78, 0x91, 0x9d, 0x16, 0x25, 0xc1, 0xec, 0x1d, 0x60, 0x9b, 0xc, 0x51, 0xf3, 0x85, 0xaa, 0x1c, 0x57, 0x8a, 0x67, 0x68, 0xe4, 0xdd, 0x4c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x4d, 0x32, 0xb6, 0xa2, 0x9d, 0xba, 0x78, 0x72, 0xde, 0xfe, 0xe8, 0x11, 0x66, 0xe5, 0x11, 0x7e, 0x9f, 0xfb, 0xf9, 0xa3, 0x95, 0x63, 0x6e, 0x3f, 0x82, 0x4, 0xe1, 0x73, 0x8, 0xc4, 0x8e}}
 	return a, nil
 }
 
diff --git a/tests/scripts/get_token_metadata.cdc b/tests/scripts/get_token_metadata.cdc
index 11e4d214..0c034aef 100644
--- a/tests/scripts/get_token_metadata.cdc
+++ b/tests/scripts/get_token_metadata.cdc
@@ -9,7 +9,8 @@ import "ViewResolver"
 access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
 
-    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get the vault data view for ExampleToken")
 
     let vaultRef = account.capabilities.borrow<&{ViewResolver.Resolver}>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
diff --git a/tests/scripts/get_unsupported_view.cdc b/tests/scripts/get_unsupported_view.cdc
index 84a48cca..4073cfd3 100644
--- a/tests/scripts/get_unsupported_view.cdc
+++ b/tests/scripts/get_unsupported_view.cdc
@@ -5,13 +5,15 @@
 import "ExampleToken"
 import "MetadataViews"
 import "FungibleToken"
+import "FungibleTokenMetadataViews"
 
 access(all) fun main(address: Address, type: Type): AnyStruct? {
     let account = getAccount(address)
 
-    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get the vault data view for ExampleToken")
     
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&ExampleToken.Vault>(vaultData.metadataPath)
         ?? panic("Could not borrow Balance reference to the Vault")
 
     return vaultRef.resolveView(type)
diff --git a/tests/scripts/get_vault_data.cdc b/tests/scripts/get_vault_data.cdc
index c248382f..7d2effe3 100644
--- a/tests/scripts/get_vault_data.cdc
+++ b/tests/scripts/get_vault_data.cdc
@@ -9,7 +9,8 @@ import "MetadataViews"
 access(all) fun main(address: Address): Bool {
     let account = getAccount(address)
 
-    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+    let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+        ?? panic("Could not get vault data view for the contract")
 
     // FungibleTokenMetadataViews.FTVaultData cannot be returned as
     // a script result, because of the createEmptyVault() function.
@@ -17,7 +18,7 @@ access(all) fun main(address: Address): Bool {
     assert(Type<&ExampleToken.Vault>() == vaultData.receiverLinkedType)
     assert(Type<&ExampleToken.Vault>() == vaultData.metadataLinkedType)
     let vault <- vaultData.createEmptyVault()
-    let vaultIsEmpty = vault.getBalance() == 0.0
+    let vaultIsEmpty = vault.balance == 0.0
     assert(vaultIsEmpty)
 
     destroy vault
diff --git a/tests/scripts/get_vault_display.cdc b/tests/scripts/get_vault_display.cdc
index 0cc48ed2..deb26092 100644
--- a/tests/scripts/get_vault_display.cdc
+++ b/tests/scripts/get_vault_display.cdc
@@ -12,7 +12,7 @@ access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
     
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&ExampleToken.Vault>(vaultData.metadataPath)
         ?? panic("Could not borrow Balance reference to the Vault")
 
     let ftDisplay = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/tests/scripts/get_views.cdc b/tests/scripts/get_views.cdc
index 3ccfa76d..1dd26731 100644
--- a/tests/scripts/get_views.cdc
+++ b/tests/scripts/get_views.cdc
@@ -12,7 +12,7 @@ access(all) fun main(address: Address): [Type] {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
     
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&ExampleToken.Vault>(vaultData.metadataPath)
         ?? panic("Could not borrow Balance reference to the Vault")
 
     return vaultRef.getViews()
diff --git a/tests/switchboard_tests.cdc b/tests/switchboard_tests.cdc
index 906b4546..af8b4da4 100644
--- a/tests/switchboard_tests.cdc
+++ b/tests/switchboard_tests.cdc
@@ -16,33 +16,10 @@ fun setup() {
     deploy("FungibleToken", "../contracts/FungibleToken.cdc")
     deploy("NonFungibleToken", "../contracts/utility/NonFungibleToken.cdc")
     deploy("MetadataViews", "../contracts/utility/MetadataViews.cdc")
-    var err = Test.deployContract(
-        name: "FungibleTokenMetadataViews",
-        path: "../contracts/FungibleTokenMetadataViews.cdc",
-        arguments: []
-    )
-    Test.expect(err, Test.beNil())
-
-    err = Test.deployContract(
-        name: "ExampleToken",
-        path: "../contracts/ExampleToken.cdc",
-        arguments: []
-    )
-    Test.expect(err, Test.beNil())
-
-    err = Test.deployContract(
-        name: "FungibleTokenSwitchboard",
-        path: "../contracts/FungibleTokenSwitchboard.cdc",
-        arguments: []
-    )
-    Test.expect(err, Test.beNil())
-
-    err = Test.deployContract(
-        name: "TokenForwarding",
-        path: "../contracts/utility/TokenForwarding.cdc",
-        arguments: []
-    )
-    Test.expect(err, Test.beNil())
+    deploy("FungibleTokenMetadataViews", "../contracts/FungibleTokenMetadataViews.cdc")
+    deploy("ExampleToken", "../contracts/ExampleToken.cdc")
+    deploy("FungibleTokenSwitchboard", "../contracts/FungibleTokenSwitchboard.cdc")
+    deploy("TokenForwarding", "../contracts/utility/TokenForwarding.cdc")
 }
 
 access(all)
diff --git a/transactions/create_forwarder.cdc b/transactions/create_forwarder.cdc
index 960a4eb3..7b98dae7 100644
--- a/transactions/create_forwarder.cdc
+++ b/transactions/create_forwarder.cdc
@@ -35,7 +35,7 @@ transaction(receiver: Address) {
         let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
     
-        let vaultRef = signer.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
+        let vaultRef = signer.capabilities.borrow<&ExampleToken.Vault>(vaultData.metadataPath)
             ?? panic("Could not borrow Balance reference to the Vault")
 
         // Get the receiver capability for the account being forwarded to
diff --git a/transactions/metadata/setup_account_from_vault_reference.cdc b/transactions/metadata/setup_account_from_vault_reference.cdc
index 2483feae..6dd7e15f 100644
--- a/transactions/metadata/setup_account_from_vault_reference.cdc
+++ b/transactions/metadata/setup_account_from_vault_reference.cdc
@@ -28,7 +28,7 @@ transaction(address: Address, publicPath: PublicPath) {
         signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)
         
         // Create a public capability for the vault which includes the .Resolver interface
-        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance, FungibleToken.Vault}>(ftVaultData.storagePath)
+        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)
         signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)
 
         // Create a public capability for the vault exposing the receiver interface
diff --git a/transactions/scripts/metadata/get_token_metadata.cdc b/transactions/scripts/metadata/get_token_metadata.cdc
index 59fdf9d9..d823eed3 100644
--- a/transactions/scripts/metadata/get_token_metadata.cdc
+++ b/transactions/scripts/metadata/get_token_metadata.cdc
@@ -9,7 +9,7 @@ access(all) fun main(address: Address): FungibleTokenMetadataViews.FTView {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&ExampleToken.Vault>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftView = FungibleTokenMetadataViews.getFTView(viewResolver: vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_data.cdc b/transactions/scripts/metadata/get_vault_data.cdc
index 2849ba64..f9705b79 100644
--- a/transactions/scripts/metadata/get_vault_data.cdc
+++ b/transactions/scripts/metadata/get_vault_data.cdc
@@ -9,7 +9,7 @@ access(all) fun main(address: Address): FungibleTokenMetadataViews.FTVaultData {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&ExampleToken.Vault>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let vaultData = FungibleTokenMetadataViews.getFTVaultData(vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_display.cdc b/transactions/scripts/metadata/get_vault_display.cdc
index 29f8620e..182662cf 100644
--- a/transactions/scripts/metadata/get_vault_display.cdc
+++ b/transactions/scripts/metadata/get_vault_display.cdc
@@ -9,7 +9,7 @@ access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&ExampleToken.Vault>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftDisplay = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/transactions/scripts/metadata/get_vault_supply_view.cdc b/transactions/scripts/metadata/get_vault_supply_view.cdc
index 0b8e41ac..885e3607 100644
--- a/transactions/scripts/metadata/get_vault_supply_view.cdc
+++ b/transactions/scripts/metadata/get_vault_supply_view.cdc
@@ -11,7 +11,7 @@ access(all) fun main(address: Address): UFix64 {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&ExampleToken.Vault>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let ftSupply = vaultRef.resolveView(Type<FungibleTokenMetadataViews.TotalSupply>())!
diff --git a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
index 2a611334..1f77d057 100644
--- a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
+++ b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
@@ -29,7 +29,7 @@ access(all) fun main(address: Address): Bool {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
         ?? panic("Could not get vault data view for the contract")
 
-    let vaultRef = account.capabilities.borrow<&{FungibleToken.Balance}>(vaultData.metadataPath)
+    let vaultRef = account.capabilities.borrow<&ExampleToken.Vault>(vaultData.metadataPath)
         ?? panic("Could not borrow a reference to the vault resolver")
 
     let actual = FungibleTokenMetadataViews.getFTDisplay(vaultRef)
diff --git a/transactions/setup_account.cdc b/transactions/setup_account.cdc
index 8c04e506..c8b7b588 100644
--- a/transactions/setup_account.cdc
+++ b/transactions/setup_account.cdc
@@ -25,13 +25,13 @@ transaction () {
         signer.storage.save(<-vault, to: vaultData.storagePath)
 
         // Create a public capability to the Vault that exposes the Vault interfaces
-        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Balance, FungibleToken.Vault}>(
+        let vaultCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(
             vaultData.storagePath
         )
         signer.capabilities.publish(vaultCap, at: vaultData.metadataPath)
 
         // Create a public Capability to the Vault's Receiver functionality
-        let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(
+        let receiverCap = signer.capabilities.storage.issue<&ExampleToken.Vault>(
             vaultData.storagePath
         )
         signer.capabilities.publish(receiverCap, at: vaultData.receiverPath)
diff --git a/transactions/switchboard/add_vault_capability.cdc b/transactions/switchboard/add_vault_capability.cdc
index eeff6018..75e2416a 100644
--- a/transactions/switchboard/add_vault_capability.cdc
+++ b/transactions/switchboard/add_vault_capability.cdc
@@ -13,7 +13,7 @@ transaction {
 
     prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
         /* ExampleToken Vault configuration */
diff --git a/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc b/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
index f4298fbc..91c3f689 100644
--- a/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
+++ b/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
@@ -13,7 +13,7 @@ transaction (address: Address) {
 
     prepare(signer: auth(BorrowValue) &Account) {
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
         // Store the Example Token receiver's public path in the array of public 
diff --git a/transactions/switchboard/safe_transfer_tokens_v2.cdc b/transactions/switchboard/safe_transfer_tokens_v2.cdc
index 31e75853..6173753e 100644
--- a/transactions/switchboard/safe_transfer_tokens_v2.cdc
+++ b/transactions/switchboard/safe_transfer_tokens_v2.cdc
@@ -14,7 +14,7 @@ transaction(to: Address, amount: UFix64) {
 
     prepare(signer: auth(BorrowValue) &Account) {
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
         // Get a reference to the signer's stored vault
diff --git a/transactions/switchboard/setup_royalty_account.cdc b/transactions/switchboard/setup_royalty_account.cdc
index 184b8417..ef4ed65c 100644
--- a/transactions/switchboard/setup_royalty_account.cdc
+++ b/transactions/switchboard/setup_royalty_account.cdc
@@ -28,7 +28,7 @@ transaction () {
             // if it's not, create a public capability to the flow vault exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
             signer.unlink(/public/flowTokenReceiver)
-            signer.link<&{FungibleToken.Receiver}>(/public/flowTokenReceiver, 
+            signer.link<&FlowToken.Vault>(/public/flowTokenReceiver, 
                                                      target: /storage/flowTokenVault)
         }
         self.flowTokenVaultCapability = signer.getCapability<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
@@ -45,7 +45,7 @@ transaction () {
             // if it's not, create a public capability to the USDC vault exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
             signer.unlink(FiatToken.VaultReceiverPubPath)
-            signer.link<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath, 
+            signer.link<&FiatToken.Vault>(FiatToken.VaultReceiverPubPath, 
                                                   target: FiatToken.VaultStoragePath)
         }
         self.fiatTokenVaultCapability = signer.getCapability<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath)
@@ -59,19 +59,19 @@ transaction () {
         }
         // Check if the receiver capability is linked on the receiver path
         if !signer.getCapability
-                      <&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>
+                      <&FungibleTokenSwitchboard.Switchboard>
                               (FungibleTokenSwitchboard.ReceiverPublicPath).check() {
             // if it's not, create a public capability to the Switchboard exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
             signer.unlink(FungibleTokenSwitchboard.ReceiverPublicPath)
-            signer.link<&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>(
+            signer.link<&FungibleTokenSwitchboard.Switchboard>(
                                          FungibleTokenSwitchboard.ReceiverPublicPath,
                                         target: FungibleTokenSwitchboard.StoragePath)
         }
         // Check if the SwitchboardPublic and ft receiver capabilities are linked on
         // the switchboard public path
         if !signer.getCapability<
-        &FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}
+        &FungibleTokenSwitchboard.Switchboard
                                        >(FungibleTokenSwitchboard.ReceiverPublicPath)
                                                                            .check() {
             // if it's not, create a public capability to the Switchboard exposing 
@@ -79,7 +79,7 @@ transaction () {
             // {FungibleToken.Receiver} interfaces
             signer.unlink(FungibleTokenSwitchboard.PublicPath)
             signer.link<
-            &FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}
+            &FungibleTokenSwitchboard.Switchboard
                                                >(FungibleTokenSwitchboard.PublicPath,
                                         target: FungibleTokenSwitchboard.StoragePath)
         }
diff --git a/transactions/switchboard/setup_royalty_account_by_paths.cdc b/transactions/switchboard/setup_royalty_account_by_paths.cdc
index a6d4f1fd..591ec6b9 100644
--- a/transactions/switchboard/setup_royalty_account_by_paths.cdc
+++ b/transactions/switchboard/setup_royalty_account_by_paths.cdc
@@ -36,7 +36,7 @@ transaction (address: Address) {
             // if it's not, create a public capability to the flow vault exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
             signer.unlink(/public/flowTokenReceiver)
-            signer.link<&{FungibleToken.Receiver}>(/public/flowTokenReceiver, 
+            signer.link<&FlowToken.Vault>(/public/flowTokenReceiver, 
                                                      target: /storage/flowTokenVault)
         }
 
@@ -52,7 +52,7 @@ transaction (address: Address) {
             // if it's not, create a public capability to the USDC vault exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
             signer.unlink(FiatToken.VaultReceiverPubPath)
-            signer.link<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath, 
+            signer.link<&FiatToken.Vault>(FiatToken.VaultReceiverPubPath, 
                                                   target: FiatToken.VaultStoragePath)
         }
 
@@ -65,19 +65,19 @@ transaction (address: Address) {
         }
         // Check if the receiver capability is linked on the receiver path
         if !signer.getCapability
-                      <&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>
+                      <&FungibleTokenSwitchboard.Switchboard>
                               (FungibleTokenSwitchboard.ReceiverPublicPath).check() {
             // if it's not, create a public capability to the Switchboard exposing 
             // the deposit function through the {FungibleToken.Receiver} interface
             signer.unlink(FungibleTokenSwitchboard.ReceiverPublicPath)
-            signer.link<&FungibleTokenSwitchboard.Switchboard{FungibleToken.Receiver}>(
+            signer.link<&FungibleTokenSwitchboard.Switchboard>(
                                          FungibleTokenSwitchboard.ReceiverPublicPath,
                                         target: FungibleTokenSwitchboard.StoragePath)
         }
         // Check if the SwitchboardPublic and ft receiver capabilities are linked on
         // the switchboard public path
         if !signer.getCapability<
-        &FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}
+        &FungibleTokenSwitchboard.Switchboard
                                        >(FungibleTokenSwitchboard.ReceiverPublicPath)
                                                                            .check() {
             // if it's not, create a public capability to the Switchboard exposing 
@@ -85,7 +85,7 @@ transaction (address: Address) {
             // {FungibleToken.Receiver} interfaces
             signer.unlink(FungibleTokenSwitchboard.PublicPath)
             signer.link<
-            &FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic, FungibleToken.Receiver}
+            &FungibleTokenSwitchboard.Switchboard
                                                >(FungibleTokenSwitchboard.PublicPath,
                                         target: FungibleTokenSwitchboard.StoragePath)
         }
diff --git a/transactions/switchboard/transfer_tokens.cdc b/transactions/switchboard/transfer_tokens.cdc
index f29c81a7..97e89633 100644
--- a/transactions/switchboard/transfer_tokens.cdc
+++ b/transactions/switchboard/transfer_tokens.cdc
@@ -15,7 +15,7 @@ transaction(to: Address, amount: UFix64, receiverPath: PublicPath) {
 
     prepare(signer: auth(BorrowValue) &Account) {
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
         // Get a reference to the signer's stored vault

From 320aa3cf09e0c72dbd6052028bb70ebd37246a17 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Mon, 5 Feb 2024 16:41:07 -0600
Subject: [PATCH 093/115] generate assets

---
 contracts/utility/MetadataViews.cdc        |  2 +-
 contracts/utility/NonFungibleToken.cdc     | 14 ++++++++-----
 lib/go/contracts/internal/assets/assets.go | 12 +++++------
 lib/go/templates/internal/assets/assets.go | 24 +++++++++++-----------
 4 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/contracts/utility/MetadataViews.cdc b/contracts/utility/MetadataViews.cdc
index e1079077..f8695bc0 100644
--- a/contracts/utility/MetadataViews.cdc
+++ b/contracts/utility/MetadataViews.cdc
@@ -624,7 +624,7 @@ access(all) contract MetadataViews {
             createEmptyCollectionFunction: fun(): @{NonFungibleToken.Collection}
         ) {
             pre {
-                publicLinkedType.isSubtype(of: Type<&{NonFungibleToken.Receiver, ViewResolver.ResolverCollection}>()): "Public type must include NonFungibleToken.Receiver and ViewResolver.ResolverCollection interfaces."
+                publicLinkedType.isSubtype(of: Type<&{NonFungibleToken.Collection}>()): "Public type must be a subtype of NonFungibleToken.Collection interface."
             }
             self.storagePath=storagePath
             self.publicPath=publicPath
diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index 6466d8c7..1eba76ed 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -169,10 +169,18 @@ access(all) contract interface NonFungibleToken: ViewResolver {
         access(all) view fun isSupportedNFTType(type: Type): Bool
     }
 
+    /// Kept for backwards-compatibility reasons
+    access(all) resource interface CollectionPublic {
+        access(all) fun deposit(token: @{NFT})
+        access(all) view fun getLength(): Int
+        access(all) view fun getIDs(): [UInt64]
+        access(all) view fun borrowNFT(_ id: UInt64): &{NFT}?
+    }
+
     /// Requirement for the concrete resource type
     /// to be declared in the implementing contract
     ///
-    access(all) resource interface Collection: Provider, Receiver {
+    access(all) resource interface Collection: Provider, Receiver, CollectionPublic, ViewResolver.ResolverCollection {
 
         /// deposit takes a NFT as an argument and stores it in the collection
         /// @param token: The NFT to deposit into the collection
@@ -190,10 +198,6 @@ access(all) contract interface NonFungibleToken: ViewResolver {
         /// @return An integer indicating the size of the collection
         access(all) view fun getLength(): Int
 
-        /// Gets a list of all the IDs in the collection
-        /// @return An array of NFT IDs in the collection
-        access(all) view fun getIDs(): [UInt64] 
-
         /// Borrows a reference to an NFT stored in the collection
         /// If the NFT with the specified ID is not in the collection,
         /// the function should return `nil` and not panic.
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 5828d3e0..a34cfae8 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -5,8 +5,8 @@
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.652kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.044kB)
 // ../../../contracts/utility/Burner.cdc (1.882kB)
-// ../../../contracts/utility/MetadataViews.cdc (25.61kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (10.396kB)
+// ../../../contracts/utility/MetadataViews.cdc (25.552kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (10.595kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.864kB)
 // ../../../contracts/utility/TokenForwarding.cdc (5.451kB)
 // ../../../contracts/utility/ViewResolver.cdc (2.718kB)
@@ -179,7 +179,7 @@ func utilityBurnerCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7c\x6d\x73\x1b\xb9\x91\xf0\x77\xff\x8a\xb6\x52\xe5\x48\xcf\x43\x91\xf2\x66\x6f\xeb\x8e\xb5\xcc\xc6\x6b\x5b\x89\xae\x6c\x9f\xcb\x96\x93\xab\x72\xb9\x2c\x70\xa6\x49\x22\x9a\x01\x26\x00\x46\x14\xe3\xf2\x7f\xbf\x42\xe3\x65\x30\x2f\x14\x47\x8a\x37\xd6\x07\x7b\x38\x03\x34\x1a\x8d\x7e\x47\x03\xbc\xac\xa4\x32\x70\x5e\x8b\x35\x5f\x16\x78\x29\xaf\x51\xc0\x4a\xc9\x12\x8e\x5a\xef\x8e\x1e\xf9\x96\x6f\xa4\x18\x6a\xdc\x7d\x1d\xdb\xff\x95\xe3\xf6\x1d\x6a\x59\xdc\xa0\xf2\x6d\xd3\x57\x47\x8f\x1e\xcd\x66\x33\xb8\xdc\x70\x0d\x99\x14\x46\xb1\xcc\x00\x2f\xab\x02\x4b\x14\x46\x83\xd9\x20\x94\x68\x58\xce\x0c\x03\x6d\x98\xc8\x99\xca\xa1\x52\xb2\x92\x1a\x73\xea\xcb\x05\x9c\xbf\xba\x78\x7b\x7a\xf6\xd3\x1f\x7e\x9a\xda\x37\xf4\xf6\x1d\xae\xe6\xb0\x31\xa6\xd2\xf3\xd9\x6c\xcd\xcd\xa6\x5e\x4e\x33\x59\xce\xa4\x58\x15\x72\x3b\x5b\x15\xbc\xd2\xb3\x65\x21\x97\xb3\x92\x71\x31\x63\x55\x55\xf0\x8c\x19\x2e\xc5\xec\x87\xb3\x1f\x9e\x9e\xfd\xd7\xd3\x9f\x4e\xc5\xca\x9c\x86\xc1\xa7\x65\x1e\x61\xbf\x37\xaa\xce\x8c\x06\x26\x72\x50\xa8\x65\xad\x32\xd4\x90\x31\xd1\x60\x0e\x52\x20\x48\x05\xa5\x54\x48\x7d\xe2\x24\xcc\xae\x42\x3d\x81\x8c\x15\x05\xe6\x70\xc3\x71\xab\xa7\xf0\x92\x65\x1b\x7a\xa6\xcf\xa0\xb0\x52\xa8\x2d\x01\xa8\x2f\x83\x9c\xaf\x56\xa8\x2c\xdc\x6b\x2e\x72\x90\xab\x08\x6f\x02\xba\xce\x36\xc0\x34\x30\xc8\x14\x32\x23\x15\x2c\xb9\x5c\x2b\x56\x6d\x76\xd4\x5b\x2a\x60\xf0\xdf\x6f\x5f\xfe\x19\x78\xc9\xd6\x08\x2b\x5e\xa0\xa3\x13\xcb\x32\xd4\xfa\x98\x15\xc5\x49\x43\xfc\xd7\x1e\xb0\x5d\x25\x0d\x5f\x1e\x3d\x02\x00\xb0\x70\x5e\x70\x5d\x15\x6c\x07\xdc\x0e\xb5\x64\x9a\x67\x1e\xe3\x0d\x33\xc0\x45\x56\xd4\x39\xba\x05\x13\xac\xc4\x09\xe4\xa8\x33\xc5\x2b\x4b\x52\x4b\xa9\x08\xc7\x6c\xea\x72\x29\x18\x2f\x60\x65\x51\x13\x20\x97\x7f\xc7\xcc\x4c\xe1\xb5\xd4\xc6\xff\xd0\xa0\x37\xb2\x2e\xf2\x84\xa0\xc6\xb2\x88\x1d\x70\x1a\x20\xd1\xff\xe9\x1c\x34\xad\x4b\x44\xd4\xe3\x1e\xc6\xbd\xf4\x98\x59\xea\x59\x2c\xfd\xb0\x69\x9b\x4e\x7b\xae\x61\xc5\xb1\xc8\x61\xcb\x8b\x02\x96\x08\xb9\x83\x8c\xb9\x65\xba\x82\x6b\xcf\x03\x66\x83\x0a\x57\x52\xa1\xc7\xba\x05\x66\x49\x6f\x95\xb1\x33\xcd\xa4\xc8\xb8\xc6\xe1\x31\xd3\x99\x14\x68\x08\xd7\xb9\xe5\x35\x2e\xd6\xed\x99\x3c\x83\xad\xe2\xc6\xa0\x68\xd1\xf8\x1b\x4d\x8b\x41\x8e\x86\xf1\xc0\x9c\x6d\xb0\x93\x16\x28\x2d\x89\xe9\x97\x48\x6c\x0e\x37\xa8\x96\x52\x23\x1c\xe3\x74\x3d\x05\x06\x15\x53\x8c\xf8\x10\xb8\xd0\x06\x19\xf1\x2d\x03\xcd\xc5\xba\x40\x28\xb8\xc0\x93\x71\x94\x48\x66\xb9\x8f\x20\xba\x64\x45\x91\xb0\x56\x94\x20\xf6\x40\xda\x78\xfe\x5b\x22\x30\xd8\xe2\xf2\x74\xa5\x38\x8a\xbc\xd8\x91\xf8\xc0\x31\x9f\x22\xc9\xd4\x04\xde\xbe\xf9\xf3\x49\x0b\x08\xc9\x83\xa7\x4b\x9f\x61\x26\x76\xe2\xd7\x50\x29\x24\xd1\x9f\x00\x9a\x6c\x1c\x15\xe2\xe4\xe6\xf0\xe5\x9c\x17\xf8\xb5\xa1\x01\x2d\x14\x17\xdc\x1c\xc7\x57\xf6\x2f\xe5\xa0\x49\xeb\xcb\x00\x45\xdb\x0d\xfa\x83\x85\x2f\x27\xf0\xa5\xd5\x52\x63\xb1\x9a\x92\x5c\x2d\x68\xc0\xfe\xc7\x94\x49\x17\xe9\xd0\xfd\xa6\xcd\x02\x2e\x1a\x14\x62\x33\x87\xc4\xd7\x46\x25\xfd\x05\x8b\x0a\x15\x18\x09\x6b\x6c\xe4\x9e\x98\x98\xd4\x2c\x5b\x21\x6c\xd9\xae\xa5\x30\x6c\xbf\x3f\x59\xd6\x2c\x89\x6c\xc1\x10\xcd\xe1\x19\x28\x24\x25\x9b\xa1\x85\x68\xf9\x45\x05\xc3\x15\xb4\x7c\x03\x41\xa1\xa9\x95\x80\x67\x02\x24\xcd\x85\x15\x71\x7c\xa7\x86\xf6\x6a\xa9\x55\x2d\x2c\xba\xbe\xf5\xf1\xe7\x0e\x1a\x4f\xbe\xa4\xf6\x71\x1a\x1e\xbe\x9e\xc0\x3c\x8c\xf0\x4b\xb2\x04\x7c\x45\xcc\x41\x1c\xb0\x68\x81\x9a\x7a\xec\x2d\xb8\xe3\xcb\x5d\x85\x3f\xfb\xee\x7f\x3c\x3e\xe9\x2e\x62\x80\xe2\x41\x00\xd3\xbf\x24\x6a\x14\x3a\x7f\x7e\xee\x37\xad\x0f\x5f\x1f\xf5\x9f\x7c\x43\xe1\xd7\x30\x59\xb9\x3f\xa3\x40\xc5\x33\xe0\xc2\xa0\x5a\x31\x4b\x72\x2b\x36\x8d\xe1\x03\xe6\x24\x4d\x1b\xa9\x30\x07\x2b\xc3\x0a\xe4\x6a\x05\xd9\x86\x71\x31\x05\xcb\x94\x3a\x82\xf3\xe2\x56\x6b\xcc\xed\xda\xc5\x85\xd4\xce\xe6\xe9\x09\xdc\xf0\x1c\xa5\x53\xd7\xd2\xea\x6b\x28\x31\xe7\xec\xa0\x2d\x69\xf0\xb3\x03\x26\xb4\x48\xdb\x12\xc9\xec\xb2\xd6\x8a\x1f\x9f\x44\x15\xd5\x99\xf2\x5f\xc9\x58\x4a\xc0\x5b\xeb\xbb\x84\xf9\x39\xeb\xa9\x3d\x3c\xeb\x3f\x01\x23\x5b\xf1\x97\xcb\xcb\xb7\x70\x2c\x15\x3d\xbc\x3f\x81\x0f\xef\x5e\x1d\xc4\xd6\x36\xb5\x78\xce\xef\xc2\xd6\x2e\x74\xad\x8a\xbe\x26\x6d\xb4\x48\xf2\x79\x50\xdc\x6b\x65\x05\xb4\x56\xa9\x68\xde\x83\x32\x1d\x90\x9e\x4b\x02\xe4\xfd\xe2\x3e\x4c\xc1\x86\x43\x2e\xde\x9e\xbf\x8f\x34\xa2\x5f\x7e\xf9\x81\x29\x6c\x98\x22\x87\xe5\xce\x8a\x37\x57\xe4\xf5\x58\xe7\x82\xe7\x28\x0c\x5f\x71\x54\x70\xfc\xfc\xe2\xc5\x49\x04\xa2\x18\x31\x8b\xd9\x30\xb2\x8c\x5c\x61\x66\xe0\xc3\xbb\x8b\x29\x3c\x83\xac\xe0\xb6\x6f\xe2\x3a\x12\x1f\xd6\x1a\x9d\xb3\xf2\xfc\xe2\x45\xe3\xf4\x48\x58\x59\xcf\xcd\xf2\x5f\x21\x19\xf9\x0c\xde\x1f\xbb\xe1\xcc\xae\x37\xa1\xbb\x66\x06\xb7\x6c\x77\x70\xa1\x6d\xe3\xd6\x42\xb7\x2c\xd0\xf3\x8b\x17\x96\xa5\xec\x10\x03\x13\xb4\x5e\x17\xe1\x47\x23\x3a\x6f\x30\xe9\xdd\x82\xd4\xf2\xa2\x73\x99\xe9\x29\xaf\x56\x7a\xca\xe5\xcc\xba\x32\x58\x19\x3d\xf3\x23\x9c\xb2\x3c\x57\x96\x83\xc5\x7a\x36\xca\x9c\x65\x3c\x1f\x36\xe6\x6f\x99\xd9\x90\x44\x24\xaa\xb5\xb2\xef\xbc\x52\xa6\x45\x0f\x0a\x99\x94\xbd\x27\x9e\x5b\x1d\xa9\x76\xa3\x0c\x3c\xd7\x20\x45\xb1\x03\x81\x98\x5b\xfb\xbc\x6a\x80\x73\x6d\x3d\x16\x9e\x63\x5c\xf2\x3b\x81\x8e\x20\x92\x05\x7b\xaa\x77\xda\x60\xa9\xc7\x91\xc7\xce\x38\xd0\xe7\x97\x21\x19\x4d\xe8\x37\x69\xb7\x1e\x14\xd9\x8c\xe7\xb0\xb0\x44\xef\x7f\x22\xe2\x2e\x08\xc6\x90\x3c\x37\x74\xab\x45\x46\x5c\xee\x04\xd6\x31\x18\x51\x5e\x30\xc3\x6f\xd0\xaa\xa8\x86\xbb\x7a\x8c\x75\x07\x9d\x36\x72\x7b\x6a\xe4\xcc\xb3\xd0\xa9\x7d\x7d\x2a\xc5\xe9\x16\x97\xb3\xdf\x39\xd8\xa7\xb5\x2a\xf4\xde\x15\x08\xd6\xd8\xba\xf8\xda\xa9\x18\xcb\x96\x8c\x0b\xfb\x18\xd7\xb5\x56\xfc\x20\xed\x47\x69\x2c\x6f\x2e\x3d\xe1\x1a\x22\xee\x35\x95\x47\x76\x4a\xf3\xd9\xec\x68\x6a\x59\x82\x99\xe3\xb0\x26\x27\xe1\xc5\xd1\xec\x28\x3e\x5b\x58\x27\x1d\xe3\x3a\xa4\x31\xf7\x43\x3d\xac\x43\xa3\xa5\x0d\x6a\x74\xcb\xcd\xc6\xc5\x28\x4a\xa1\xae\x24\xcf\xed\xbc\xc9\x4a\x5a\xe7\xe1\xa0\x4a\x7a\x6d\x5b\x76\x35\x11\x69\x27\xc7\x12\xe8\x60\x8d\x62\xfe\x15\xa9\xb6\xae\x97\xeb\xc2\xe8\x9c\xb3\x53\x0a\x92\x33\x59\xa2\x95\x61\xb7\xbe\x52\x95\xe4\xe5\xef\x2a\x9c\xe9\x7a\x49\x2d\x98\xf6\xde\xe6\x12\x73\xb0\x31\x1a\xb4\x60\x45\x56\xc4\x1b\x2c\x64\x85\x6a\x5a\xca\x7f\xf2\xa2\x60\x53\xa9\xd6\x33\x14\xa7\x1f\xde\x13\x9b\xce\xfe\x86\xcb\x99\x35\xad\xb3\x5f\x6d\xd4\xab\x3f\xcb\xd5\x67\xfa\xf9\xfa\xe2\xf5\xcb\xcf\xe4\x68\x8e\x9a\x55\xa4\xe5\x5d\xa6\x37\x9d\xfa\xa4\xdf\xa5\x2d\xdb\xb4\xde\xb6\xc7\xc2\xfe\xd3\xfd\x10\x3b\x2f\xe2\xd3\x7e\xbe\xf8\x9b\x62\x95\xf5\xa5\x1d\xff\x4b\x05\x65\x5d\x18\x5e\x15\x7e\xd9\x5c\xa2\x62\x14\x0f\xe8\x2e\x13\x3c\x13\xc0\xd4\x92\x1b\xc5\xd4\xee\x54\xf3\x7f\x62\x4e\xa1\x90\x0f\xff\x77\x20\xea\x72\x89\xd6\xb9\xf3\x3c\xc4\xad\x96\xdc\x4b\x45\xfa\x3a\x87\x8f\xd4\xf6\xd3\x10\x09\x3f\x77\xda\x0c\xea\x43\x6a\x02\x8b\xce\x60\x07\x22\x0c\x3f\xbf\x7f\x6b\x80\xd1\x18\x41\x3f\xfa\xb8\xf0\xc2\x35\xbe\x57\x74\xe1\xba\x3c\x34\xb8\x70\xbd\x47\xc6\x16\x91\x51\xa0\xf3\xf7\x0d\x42\x8b\x21\x0d\x57\xf0\x0c\x85\x75\x19\xb3\x4c\x2a\x52\x6c\x46\x46\xf9\xd7\x55\x7e\x4b\x22\xef\x5b\xe9\x66\x1d\x2f\x43\xd2\xa9\x15\x61\x78\x5f\x21\xf8\x56\x72\x65\xf5\xe6\x9b\xf3\x4b\xeb\x38\x78\x18\xf9\x41\x7d\xf9\xca\xa3\xb4\xdf\x49\xb7\x78\x5d\x44\xbf\xed\x2e\xa5\xf1\x39\xf1\xef\xee\x74\xdc\xdb\x20\x2d\xfb\xc7\x1f\x63\x65\x20\xe0\xfd\x9d\x84\x20\x0c\x3f\x4e\x0a\x7c\xeb\x7b\x89\x81\xef\xf3\x50\x39\xf0\xdd\x47\x0a\x42\x9f\x0b\x7e\x03\x49\x88\xf1\x92\x75\xd0\x88\xe8\xd6\xc3\x35\x58\x02\xa5\x66\x01\x6f\x0d\x2a\x4b\x5c\xcd\x4d\x63\xe8\x7d\x52\x3e\xe1\xfb\xe5\x2e\x0d\x76\x2c\xaf\x5f\x23\x4c\x63\x5c\xf3\x6b\x21\x33\x0b\x5d\x86\x38\xa9\xd6\xa8\x34\xa4\x31\x10\x25\xe1\x14\x5f\x73\x3b\x1a\x25\xc2\x7c\x0e\xd8\x4a\x0f\x25\xaa\x2b\x25\xff\x6e\xfb\x56\x36\x34\xa2\xe0\x38\x98\x70\xe7\x6f\xda\x86\x99\x2c\x0a\x24\x57\xb4\x41\x16\xd7\x51\x9e\xb7\xdb\xed\xb4\xdc\x51\xf6\xde\x43\x73\x99\xff\x1b\x54\x96\xee\xa7\x72\x45\xdf\x1a\x28\x87\x44\xf5\xa5\xa7\x8f\x25\xdf\x83\x63\xea\xcf\x30\x22\xaa\x5e\xdc\x19\xff\xb6\x05\x31\xc5\xea\x3b\x09\x63\x8a\xc2\x38\x81\x4c\x7a\xdc\x4b\x28\x93\x7e\x0f\x15\xcc\x04\xc4\x48\xe1\x1c\x5e\xf7\x6f\x2e\xa0\x8e\xc9\x57\x5c\x60\x88\xd9\xcb\x4a\x6a\xb6\xb4\x61\xae\xdc\xb1\xc2\xec\x9a\x9d\x2f\x6a\xbc\xe6\x37\xa8\xa1\x64\xea\x1a\x4d\x55\xb0\x0c\x35\xb0\x46\xcc\x6a\x61\xf5\x79\x9e\xa6\xd6\x24\xe8\xba\x72\xdb\x77\xe7\x97\x1e\x28\x47\x7d\xd0\x46\xbd\xf3\xc3\x77\x1c\xba\x90\xbc\x6b\x6f\x04\xbe\xc3\x0c\xf9\x4d\x4c\x30\x20\x2c\x51\xe0\x8a\x67\x9c\xa9\x5d\x48\xc0\xfb\xf9\xb4\xb3\x15\x8c\x38\x23\x98\xd4\x4c\xa1\x41\xb7\x0d\x16\x3a\x05\xc0\x14\xa2\x84\x5f\xd3\x35\x1a\xbb\xae\xc7\x27\x9d\x20\x33\x93\x65\x89\x22\x77\x09\x99\x53\xf8\x40\x4a\xc8\xa7\xf3\x69\x87\xcc\x6a\x42\x81\xdb\x44\xff\xc0\x79\x21\xb7\x6e\x16\x2d\x60\xaa\x3d\x25\xae\xa1\xd6\xd6\x79\xb8\x5a\xa3\xf1\xb4\x09\xb3\x7e\x5b\x2f\x0b\x9e\xbd\x65\x66\x73\x7c\x72\x35\x21\x7d\x28\xa4\x69\x83\x73\x99\x21\xb4\x8b\xcd\xea\xc2\x24\xa3\xc6\x49\x39\xa5\x4b\x1b\x33\xac\x28\xe4\xd6\xeb\x50\x23\xa1\xae\x72\x8b\x7a\x0b\x20\x91\x8c\x55\x6c\xc9\x0b\x6e\x28\xf1\x4d\xb1\x50\x6d\x6a\x45\xab\x5e\x93\xd6\xa7\xcd\x99\xb5\x5f\xb3\xa6\xf9\x5e\x45\x16\x90\x99\xc3\xf3\xd8\xf8\xe7\x27\x5f\x5a\xab\x3d\x0d\xf3\xfe\xfa\xc7\x36\x6f\xbc\x76\x61\x83\xf5\x2e\x42\x36\x36\x63\x45\x56\x17\x16\x79\x8b\x1d\x2b\x65\xed\x9c\x26\xcd\x0a\x84\x1b\x56\xd4\x08\x46\x31\xa1\x57\xa8\x94\xeb\xd1\x5e\x04\xcf\x84\x0d\x8d\xde\x48\x83\x70\x0a\x17\x26\xd9\xa5\x59\xa2\xd9\x22\x0a\x38\x9b\x9e\x11\xf1\x9f\x4e\xcf\xda\x60\x5e\xde\xda\x2e\x8e\xa3\x92\x91\xb9\x86\x5b\xea\x50\x36\x88\x73\x0d\x67\xd3\xff\xf8\xc9\x36\x15\x29\xdb\xb6\x01\xba\xfe\xdb\x80\x00\xf5\xf8\x7f\x70\x3b\xed\x8b\x0a\x2b\x8a\x1d\x54\xa8\x32\x14\xc6\x9a\xb5\x35\x26\x99\x6e\xb7\x37\x64\x50\x95\xda\x12\x65\xc9\x34\xd7\x50\x49\x2e\x4c\x2b\xaa\xb4\x8d\xb4\x2c\x78\x6e\x17\x7a\xc9\x2c\x69\x75\xc9\x94\x89\x1b\xb7\x1a\xb6\x1b\x1b\x6d\x67\x2c\x27\x7d\x2e\x57\x2b\xcb\x39\x57\x1f\xce\xf9\xed\x4f\x3f\x5e\x75\x19\x87\x19\x60\x85\x42\x96\xef\x82\x6e\x70\xca\x27\x1d\x9f\xf8\x27\x63\xda\x52\x37\x63\xf6\x07\x37\xba\x0d\xc8\x86\xcd\xde\x1b\x60\x0a\xc1\x3a\x93\x0a\x8b\x1d\xe4\x68\x67\xc4\x05\xd7\xc6\x67\xf9\xd7\x36\xc4\x4b\x5a\x8b\x3c\x2a\xa5\xb6\x90\x54\x96\x03\xfe\x33\xa0\x20\x57\x50\x29\xcc\xb8\x8e\xd6\x7e\x88\x65\xb3\xda\xcc\xc1\xcd\xb4\xcd\x8e\xff\x13\x4c\x55\x6b\xc7\x2b\xf5\x6c\x9c\x0c\xd9\xc9\xd9\xa1\xd8\x2e\x64\x8c\xfc\x9a\x4f\x7a\x02\xa7\xb0\x70\x73\xd8\xf0\x2a\xb2\x9d\xfd\x70\xb5\x65\x45\x81\xe6\x2a\xec\x09\x5b\x65\x3b\x01\x17\xe4\x9a\x8d\x85\x8b\x85\xc6\xfe\x3a\x90\x53\xb4\x15\xa8\xa0\xe4\xeb\x8d\x81\x2d\x13\x86\x74\x76\x85\x19\x5f\xed\xf6\xcf\xfa\xce\x7d\xd1\xc6\xf3\xb8\xa7\x3c\x4f\x52\x6a\x4e\x86\x06\xe9\xda\xce\x4a\x0d\x39\xb0\x59\x6d\xe0\x8f\x0b\x12\xc8\x27\x4f\xe8\xd7\xcf\x0b\x12\xcb\x39\x1c\x3d\xaf\x8d\x97\x9f\x46\x82\xb9\xb0\xaf\x78\x0e\x8a\x89\x35\x02\x9f\x22\x7c\x3c\x9b\x3c\xfd\x74\xb4\xc7\xc0\x42\xf0\x9b\xa2\x96\x5e\x44\x1d\x31\x90\xff\xac\x0d\x2c\x2c\x16\xfd\x4f\x87\xf7\x27\xef\x91\x2d\x09\x26\xd3\x15\x76\xc4\x0e\xaf\x53\x63\x6d\x39\xef\x1f\x35\xaa\x9d\xb3\x29\x57\xef\x82\x41\xbe\x0a\x86\x97\x0a\x65\xde\x9c\x5f\x26\xde\xb3\x65\x2a\x12\xb1\xdb\x0a\x33\xe3\xf4\x64\xc5\x76\x8d\x35\xf7\x5a\xc1\x25\xc4\x6c\x84\x44\xec\x13\x9c\xf5\x91\xb6\xde\xc2\xe9\xa6\x6f\x94\x62\x3b\xcf\xa9\x8a\x65\xd7\x4e\x4f\x70\x91\xf3\x1b\x9e\xd7\xac\x68\x30\xe8\x32\xaa\xa5\x6e\x94\xcf\x0b\xb1\x92\x7a\x0e\x1f\x3d\x81\x3e\xdd\xb1\x61\xe4\xfd\xe5\x81\x4e\x5d\xce\xb3\x3e\x94\xe5\x19\x67\x5c\x98\x01\x5d\x53\x1a\x90\x15\x05\x71\x5c\xa3\xd4\xa3\x0b\x60\xad\xf2\x12\x61\x4d\x9e\x80\xdf\xd9\x79\x3a\x3d\x6b\x81\xbd\x61\xd6\xcb\x36\xac\x78\x4e\x5c\x73\xd6\xf9\x6c\x17\x3c\x98\x04\x2e\x22\x9e\x03\x32\x90\x00\x89\x8f\xff\x3f\xf4\x9d\x76\xb9\xb1\xcd\xdb\x4c\x6b\x54\xe6\x38\xf6\x73\xd2\x33\x81\x12\xb5\x66\x6b\x9c\xc3\xd1\x7b\x37\xd9\x38\xfe\xf8\xd9\x1e\x9d\x74\xc9\xf8\x4c\x6b\xbe\x76\x7a\x2c\xc0\x1b\x14\x22\x37\xd2\xa2\xdf\xa8\x93\xa8\x7d\xe7\x9c\xde\x14\x1e\x65\xfd\x06\x33\xa5\x9d\x1d\x75\x46\x1c\x97\x64\xf0\x5d\x6d\x07\x26\xbc\xee\x98\xf6\x70\xde\x35\xa6\xf3\xa3\xc7\xc6\x51\x1f\x9f\x24\x2c\x75\xc7\x66\xe4\xc0\x1c\xe1\xae\x88\xac\x11\xa1\xef\x14\x8f\xbd\xeb\xd0\xe7\x50\x34\xd6\x50\xe4\x3e\xb1\x58\xec\xf5\xd0\x48\x2c\x02\x18\x19\x87\xa5\xaa\xa9\x2b\x61\xdf\xa4\x16\xc1\xd9\x60\xb7\xc9\x48\x5a\x24\x1a\x25\xf2\x61\x49\xde\xc9\xb2\x58\x66\x6c\xab\xbb\x98\x28\xa1\xb2\xb8\x06\x04\xb9\xf0\x78\x83\xc2\xd4\xe4\xfe\xa5\xb0\x58\xf4\xc6\xf5\x96\x9b\x6c\xb3\x94\x36\xb4\x0b\xb6\x6b\x12\xe1\x6e\x1c\x23\x84\xba\xb5\x65\xed\xc1\xd2\xbe\x65\x0b\xb9\x48\x20\xfb\x4b\xc8\x4e\x8d\x5c\x77\x8b\xac\x89\x55\x62\xac\x16\x10\xb2\xe1\x61\x6a\x43\x87\x98\xa7\x2f\x53\x83\x51\xd0\x3c\x1d\xe7\x4b\x77\x1d\x66\x15\x7d\x9c\xf9\x58\xf2\xfc\xf2\x5d\x3a\xec\x81\x74\xae\x2f\x21\x73\x1b\xb9\x49\x31\xa4\xcf\x67\xbd\x39\xbf\x9c\xf6\x16\x27\x44\x23\x14\x6a\x2a\xc6\x9d\x6f\x99\x98\xb1\x6b\xdc\xcd\x9c\x4f\x52\x31\xae\x34\xb0\x42\x8a\xb5\x8b\x39\xb5\x2c\x1b\xb9\xa3\xb4\xef\xad\x5d\x56\xda\xca\xa0\x71\xd9\x52\xd6\x8e\x89\x08\xf4\x21\x5b\x7b\x69\x1b\x25\x34\x19\xa8\x4e\x24\x38\x53\x78\xc5\xaf\x11\x7e\x65\xd9\xf5\x5a\xc9\x5a\xe4\x13\x78\xb9\x43\x3d\x81\xbf\x30\xae\x3a\xa5\x63\x63\xcb\x07\x69\xa4\x5a\xe4\xa8\x0a\xf2\x75\xdd\x94\xd3\x51\x27\x41\xf1\x98\xf0\x9a\x08\xad\x5d\xf9\x1e\x35\x81\x4a\xc9\x1b\x9e\x63\x20\x46\xd0\x56\x04\x6c\x3f\x4e\xf4\x79\x0e\xcf\xc4\xce\x95\xd0\xb6\xf0\xf2\xb5\x72\x56\x43\xa4\xeb\xa5\x37\x72\x4b\x0b\x10\xc7\x72\xc4\xde\x3a\xd7\x99\x6b\x47\x36\xeb\x1e\xb9\xa9\x44\x46\x49\x81\x5b\x3e\xe7\x42\x1b\x26\x32\x9c\xc0\x4e\xd6\x90\x91\x88\xeb\x80\x95\x1d\x8a\x41\x2d\xf8\x2d\x18\x5e\xa2\x36\xac\xac\x5c\x18\xef\xdd\xf0\x16\x7e\x4c\xc3\xd1\x0b\x66\xf0\x88\x26\x8e\x45\x91\x8e\x55\x15\xcc\xac\xa4\x8d\xe7\x6c\xf0\x2b\x85\xae\x4b\x5f\x11\xe2\x68\x47\xb5\xba\xe4\xb2\x84\x2c\x01\xf3\x7b\x60\xfb\x3d\xfd\x66\xec\x81\xa2\x00\x6b\x6e\x99\xb2\x81\xa1\xf5\x2c\x59\xa1\x65\xd4\x0e\x2e\x13\x5b\xec\xbc\x64\x30\x63\x14\x5f\xd6\xa6\xb5\x33\xdf\x66\x0e\x27\x2d\xd1\xa4\x84\xc8\x8f\xd0\x2c\x8a\x06\x82\xa6\xca\x09\x3f\x45\xff\x2e\xb0\xc1\x9b\xf3\xcb\xdf\x6b\x50\x84\xd3\x7e\x6e\x70\xdf\xe7\x1e\xf7\xc1\x22\x87\x56\x05\x63\x8f\x7d\x26\x83\x74\x99\x74\x01\xdf\xbf\x62\xd1\x71\xc4\xc2\x0d\x38\x10\x30\x24\x9c\xb0\x48\x71\x18\x88\x4d\xdc\xba\x2c\x3c\x4e\x23\x23\x0a\x52\x77\xa4\x26\x83\xe7\x13\x34\xd6\x61\xfd\xe6\x3b\xfa\x0e\xb4\x5b\x39\x42\xc5\x45\x70\xa9\xa4\x0d\xa8\x38\x64\xd9\xc6\xeb\xa6\x3b\x95\x9b\xbe\x23\x51\xee\x50\x9b\xc3\x47\x6a\xb9\x67\x0b\xb7\xd3\x68\x70\x0d\xfd\x1c\x17\xbe\xf1\x80\xd1\xb7\x7f\xed\x60\x26\xcf\x75\x63\x40\x9c\x1e\xf6\x4c\xeb\xf1\xb6\x48\xb4\xba\xb4\xbd\x54\xe7\xb6\x51\xdb\x39\xa9\x52\x27\xd3\x7e\xee\x86\x24\x8f\xe5\x39\xe6\x07\x5d\x53\x6b\x41\x59\x9e\x13\x28\x3b\xe1\xb9\x83\x7a\xc7\x4c\xa7\x96\x45\x44\x7e\x6c\xee\xa8\xef\x68\x7b\xa4\xc9\x9c\xbe\x97\x4f\xea\x51\x18\xe7\x90\xba\xc6\xf7\xf2\x46\x5d\x97\x87\xba\xa2\xae\xf7\x48\x3f\xb4\xc7\xd9\xe1\xef\x1b\x38\xa1\x7e\xdd\x62\x8d\x95\x91\x80\x4c\xf3\x82\xe2\xa0\x1b\x54\x86\x6a\xd1\xe8\x1b\x53\x3b\x5a\x09\xc7\x13\x70\x2e\x15\xa5\xf5\x13\x07\x25\x6c\x6c\x69\xbf\xb9\x20\x49\x7d\x93\xbe\x46\x4e\x05\x8d\xa1\x20\x3e\xac\x12\x69\x05\x6f\xe1\x2f\x9d\x13\x10\xe1\x91\xe9\x2a\xd1\x6c\x64\x2c\x8b\xd7\xf5\x6a\xc5\x1d\x43\xac\xf9\x0d\xf9\xa8\x25\xd9\x17\x8a\xdc\xe4\xca\x67\x72\x3c\x8a\xfb\x18\xcd\xce\xc7\x09\x51\x7b\x66\x4b\x0c\x93\x76\x2a\xed\xb2\x11\xef\xa4\x37\xde\xd2\x91\x93\xfc\x0d\x2b\x51\xcf\x5b\x95\xd8\xbe\x68\xcb\x61\xe3\xed\x77\xc8\xeb\x5d\xd9\xb1\xae\x22\xb0\xf0\x77\x8d\x3b\x4f\x2d\xa6\x9c\xb5\xdb\x32\xe1\xc7\x5f\x62\x66\xb5\xe2\x95\xc3\xe3\x6a\xd0\xa7\x26\x07\x9a\xd9\x0e\x5d\x3d\xb2\x8f\xdd\x2d\x1e\x97\xd2\x73\xbc\x23\xc5\x17\x87\x78\x62\xe2\xbe\x4e\xba\xf3\xfc\xe8\xda\x7c\xfa\xe5\x64\xde\x67\xc8\xd9\x0c\x9e\xc7\xd5\x77\x49\x45\xed\xb3\x8a\x61\x4a\xd1\xa4\x78\xa7\xce\x6d\x1a\x70\xd5\x38\xd1\xfe\x2c\x4f\x3e\xed\x78\x8d\xbb\x4e\x7e\x72\xc3\x44\x5e\xa0\xb3\x18\x44\x64\x1b\xe8\x50\xc2\xd3\x34\x8d\xff\x5e\xeb\x64\x6c\xe2\x93\x00\x9f\x0a\x9d\x8b\x62\x9a\x0a\x6e\x6b\xb2\xf0\x78\x61\x45\xa5\x23\x70\xd6\x95\xbb\xb6\x68\xb7\xda\x3e\x1e\x10\x4b\x4b\xd4\xa9\xc2\x52\xde\xe0\xf1\x35\xee\xe6\x70\xdd\xad\xaa\x6b\x9e\xe2\xe3\x80\x85\x82\x05\x7c\xfc\xf4\xa8\x37\x3e\x81\x27\xbe\x69\x0f\x1d\x21\xc0\xc2\xad\x90\x77\x63\xae\xa3\x07\x63\x7b\x7e\xbc\xfe\xf4\xb8\xe3\xc0\x08\x5e\x34\xce\x8b\xe0\x45\x1b\xdb\x8e\x0d\x20\x5b\x31\x34\x81\xc0\x94\x8e\xb1\x5c\xaf\x93\xae\xba\x89\x79\xf1\x98\xc1\xec\x69\x0d\xae\x75\x8d\x4d\x62\xd3\x1f\xcc\x8a\x10\x28\x30\x72\x9b\x29\x25\x1d\x75\xd3\xbc\xe4\x05\x53\xc9\xc9\x34\x0b\x16\x6f\x59\x69\xbb\x33\x01\xff\x6b\x15\xc3\xd3\xb3\x33\xeb\x74\xbb\x8d\xae\x08\x8c\x0b\xeb\x30\xbb\x2d\x3b\xe7\xcb\xac\x6a\x77\x3e\xcc\xe5\xd4\xdd\x7e\x41\xba\xe3\xd9\x38\x40\xcf\x5c\xf5\x80\x63\xb7\xa5\x75\x6d\x14\x05\x2e\x11\x73\xcc\x39\x4d\x6b\x02\xdb\x0d\xcf\xa8\xb6\x78\xbb\xa1\x0a\xf0\xf0\x69\x1f\x1e\x8e\x94\x96\x53\xb5\xd3\x6e\xbe\x8a\x0d\x5c\x15\x1b\xe9\x97\x43\xb1\xde\x4b\x37\xc4\xa1\xd3\x68\x29\x26\xa1\xcd\x79\x43\xbf\x89\xd3\xc2\x59\xc8\x4b\xbc\x47\x33\x81\xb7\x05\xdb\x4d\xe0\x3d\x2a\x8e\xba\xbd\x4f\xe1\x2b\xeb\xdc\x49\x87\x2d\xdb\x25\x85\x15\x0e\x44\x56\x30\xad\x6d\x54\x63\xf5\x47\x20\xd0\xa8\x58\xf2\x97\xfe\x3c\x7c\xff\xa4\x90\x6f\xcf\x61\x2b\x9a\x11\x13\x70\xf4\xc3\x8f\x81\x17\x8e\x7f\xf7\xc3\x8f\xb3\xa7\x67\x67\x27\x47\x54\x91\xe2\x62\x4f\x0f\x88\x6b\xf8\xe1\xc7\x3b\x22\x5c\x6a\x35\x87\x0f\x17\xc2\x74\xf7\x7d\x2c\x5a\x25\xbb\x1d\x44\xcd\x06\x62\x7e\x7b\xd9\x33\xf5\xb4\xd3\xb7\x7b\x0a\x2c\x24\x5c\x7c\xd4\xeb\x92\x2e\x05\x2f\xb9\xc1\xfc\xd4\x0f\x81\xf9\x30\xb4\x11\x53\xb6\x88\x72\x6d\xbf\x0d\x76\xa5\x4a\x1d\x12\xb7\x5a\xf8\x41\xc3\xbc\x5c\xdf\x26\x5d\x65\xc3\x59\x23\xad\xee\x18\x77\xa6\xac\x64\xb7\x81\x7e\x07\xe3\xaf\x5f\x26\x1d\x8a\x4f\x5a\xdd\x07\x1c\x28\x8b\xdb\xa0\x0a\x87\x26\xbd\xed\x17\xe6\xe7\x85\x6d\xfd\x38\xcd\x6e\x5f\x36\x8c\x90\x31\x31\x94\xc8\x36\x7e\x91\x5d\xab\xc7\x47\xfb\xb4\x3b\x8c\x0a\xfa\xfc\x58\x8b\x6e\x2c\x1e\x1b\xd8\xa1\x08\xcd\x91\x51\x5c\x6b\x5f\x28\xa8\x81\x51\x75\xb4\xbe\xf1\xbf\x50\x49\xdb\x13\xe9\xd6\x6e\x63\x4b\x5f\xb2\xa0\x31\xf7\x72\x89\xd5\x8a\xaf\xb8\x36\x73\xf8\xe8\x31\xdb\x57\x77\xdb\x6f\x38\x5c\x7c\xeb\xdb\xc1\x22\x76\x19\x1b\xd1\x44\xd2\x7c\xaf\x53\x7e\x11\x81\x91\x05\x4f\xbe\xf9\xfd\xaa\x9d\x7c\xa7\x07\x97\x3a\xf9\xfe\x63\xeb\x9c\x1a\x76\xeb\x4a\xe9\xb7\x2a\x72\x8a\x49\x39\xf2\xcb\x83\x31\x3a\x75\x65\x4f\x39\x68\x54\x9c\x15\x81\x7f\x5d\x8e\x3c\xec\x5f\x5a\x6e\x8d\xc0\xde\xba\x8e\x1a\x36\xec\x06\x93\x63\xf1\x04\xc8\xcf\x82\xdc\x06\xf2\xe4\x3b\x70\xa3\x9e\x8c\xe0\xde\x5b\xdf\xb5\x64\xbb\x58\x9a\x43\x7b\xae\x0a\xd7\xb5\xf5\x64\x2e\x5e\xb8\x04\x60\xda\x28\x39\x8b\xdf\x04\x5c\xce\x98\x86\x43\x60\xee\x9c\xcf\xd4\x9d\x46\x69\x21\xc0\x75\x6b\xfb\x76\x89\x50\x0b\xfe\x8f\x9a\x8a\x62\xfc\x81\x41\xb2\xde\x64\xb6\x09\x15\xab\xf6\xc9\x43\x67\x26\x10\xed\x90\xf2\x78\xef\x86\xdc\x9f\x7f\xd9\x67\x37\x53\x49\x6e\xb7\x19\xce\xa0\xed\xd1\x97\x07\x04\xd8\xa3\xf7\xbd\xc4\xd7\x0f\x3f\x4e\x78\x5d\xe3\x7b\x89\xae\xeb\xf2\x50\xc1\x75\xbd\x47\x8a\x6d\x6f\xa1\xbf\xb5\xd0\x36\xa5\xc3\x3e\x8d\x99\xba\xc7\x5e\x48\x5d\x22\x2d\xc9\x6e\xda\xde\x54\xa0\xe5\x82\xe9\xd0\x55\x20\xe6\xda\x45\x8d\x37\x18\xb2\x10\x3a\x93\x8a\x62\x87\xb4\x04\x63\x59\x1b\xe0\xee\x04\x7d\x04\x48\x9d\x96\xb2\xc9\x53\xee\x63\x7e\x9f\x07\xff\xd2\x73\x06\xfd\x50\xbe\xa2\xd0\xb5\xa2\x44\xfc\x81\xcc\x3b\xf5\x0b\xd5\x30\x03\xbe\x6f\xc9\x6e\x79\x59\x97\xcd\x36\x0a\x75\x38\xe0\x70\xed\x03\x36\x70\x9d\x43\x8a\xaa\x3b\xda\x76\xe0\x74\x63\x0c\x11\x5e\xe1\x1a\x45\xce\xd4\x6e\x02\x2f\x2b\x9e\x4d\x2c\x6d\x70\x02\x1f\x44\x26\xcb\xd2\xba\x8e\xcf\xe9\xff\x76\xac\xe0\x4f\xcf\xb5\x13\xdf\x23\xea\x8e\x06\xbd\xc7\x36\xed\x26\xad\xc9\x0f\x16\x16\x0d\x39\x91\x6e\xe1\x16\xce\x8d\x7c\xf2\xa4\x45\xa3\xc5\x3e\xe7\xb2\x62\x82\x67\xc7\x47\xcf\x02\x3f\x44\xee\xd3\x61\x49\xdb\xf7\x93\x48\x45\xdc\xd5\xf3\x20\xfb\x5a\xcf\xa3\xd3\x59\x66\xd8\xef\x23\xc2\xbf\x50\x66\xd4\x29\x2f\x70\x73\xf9\x9e\xc9\x5c\x8f\xc2\xc8\xea\x02\x6a\x7c\xbf\xd2\x02\xb7\x63\xf3\xd0\xba\x02\xea\x3d\xb6\xa8\xa0\xab\x29\xc2\xdf\x37\xd0\x9e\x6f\xce\x2f\x49\x81\x6e\x15\xab\x34\x25\xdc\x9e\xd3\x05\x29\x74\xa5\x8e\xdb\x74\xb9\xe2\xb9\x2b\x14\xbc\xaa\x6b\xfb\xe8\xb2\x71\x6e\xc7\x31\xec\xe6\x44\x78\x21\xcd\xca\xa8\x36\xbc\x40\x83\x50\xf1\x8c\xaa\x7c\xe3\xe1\x23\x7f\x7f\x0e\x79\x0d\xc3\x97\xe7\x44\x70\xa3\x6e\xd1\x09\x73\xd8\xef\x47\xf0\x3c\xfa\x10\xfb\x9a\xd8\xb9\x1d\x6c\xe4\x73\x60\xf3\xf6\xd5\x43\xd3\x70\xd9\xc5\xde\x7e\xd8\x94\xe7\x77\xfb\xa6\xc7\x05\xf6\xf6\x6f\x32\x5e\x2f\x98\x61\x73\x3b\xe3\xe7\xad\x57\xa3\xba\x06\xe4\xdb\xbd\x0f\xe1\x1e\x2b\x36\xd2\x72\x9a\xbd\xad\x43\x3e\xd2\xef\x75\x1c\xbc\xf8\x85\xe7\x10\x83\xf4\xd6\x07\xbb\x1e\x7b\x3e\xf9\x55\x80\x7d\xcb\xd0\x6e\x9d\xd0\xbe\xd7\x23\x25\x7e\xbb\x57\x9b\xe2\x30\x44\xf2\xbd\x1d\x22\x7a\x83\x84\x6e\x77\x6b\xea\x61\x52\xf2\x76\x6e\xb8\xe9\xd0\x34\xbc\x1f\x0e\x58\x73\x3a\x2b\xd7\xff\x40\x04\x5d\x10\x5d\x07\x34\xbe\xc7\x39\xee\x11\xf7\x9b\xa4\x74\x5c\xa4\x54\xed\x37\xed\x10\x6f\xd1\xa1\xe6\x9d\x1d\x22\x22\xbd\x77\xfd\x6e\x0d\xf1\x16\x03\xa5\x9d\x30\x6e\xf3\x75\xaf\x11\xf3\x67\xbd\x88\x71\xf7\xd9\x2c\xab\x33\x2e\x7d\x9a\x82\xe7\xbf\x89\x45\x0b\xda\x6d\x9c\x25\xf3\xad\x8f\x1b\x65\x36\xb9\x87\x51\xeb\x6b\x52\x8a\xc2\x56\xe6\xaf\x63\x8c\x9a\xef\x6d\xad\x5a\x6a\x14\x43\xf7\xc1\xfc\x5a\xb0\x4c\xae\xcd\x63\x60\xfa\x71\xc0\x22\x59\xa7\xae\x21\x0b\xb3\xec\xab\x12\x9e\xf7\xd5\xc8\xbc\x8d\xb7\x7d\x35\xa8\x50\xba\xda\x21\xb9\xfa\x28\x05\x70\x32\x5e\xbf\x74\x8e\x91\xdd\x01\xa5\xa7\x6f\x88\x73\xdd\x82\xb6\xf5\xce\x48\x28\x51\x09\x0d\x03\x3a\x3c\xaf\x54\x33\x05\x18\x4d\x15\xe6\x1d\x1d\xbd\xb8\x35\xbd\xfc\xfe\x4e\xab\x4b\xa3\xc4\x0e\xc4\x73\xae\x82\xbb\x09\xe6\xfc\x25\x28\x74\x95\x8e\xbf\xd6\xd0\x28\x8e\x37\x38\x5c\x6e\x72\xd7\xa1\x50\xe7\x64\xd7\x15\xb0\xce\x59\x4d\x97\xc2\xae\x94\xb4\xda\x20\xc2\xb3\x43\xb2\xb5\x1b\xd4\x95\x04\x36\x47\x94\xc6\x1c\x51\xeb\xad\x64\x27\xf6\x73\xb7\xc9\x88\x38\xce\x96\xee\x81\x20\x7f\xc8\x9f\xd8\x56\xe1\xc4\x58\x4c\xca\xb8\x1b\x85\xf6\x6f\x3c\x78\x58\x6f\xfd\xa5\x2b\xf1\x47\xe7\x1e\x1b\x37\x1b\x2a\x09\x75\x1b\x4f\x65\xad\x29\xe3\x5a\x70\x71\xed\x06\xf3\xcb\x31\x30\xf1\xb8\x55\x11\xb2\x5f\x10\xb7\xa8\xb2\xa2\xa6\x23\xec\xf1\x50\x20\x4d\x24\x9c\xf6\xf3\x5b\x65\x5e\x62\x9c\xcb\xd9\x7c\xdc\x3b\xa7\x2a\xd6\x6a\xa6\x75\x9b\xfd\x10\x75\xf0\x84\x5e\xb2\xc8\xe1\x3e\x2b\x37\xb3\x3c\xe8\x64\x07\xbe\x05\x4d\x48\x7f\xf6\x11\x85\xe1\x26\x5c\xf8\x89\xb7\x5c\x9b\x09\x70\x03\x42\x82\xf5\x94\x51\x35\xd1\xdb\xd2\x95\x25\x2a\x1e\x32\x68\x49\x96\x30\xce\xf1\xc0\x14\x1b\x6e\x99\x03\xd5\x6c\xb5\xa7\x68\x67\xd5\xa9\x01\xf6\xcb\xe5\x73\xe7\x6c\x25\x15\xe1\xea\xf6\x7c\xaa\x66\x95\x0f\x0c\xfc\x8a\xc0\xb8\x9d\xde\xfe\xc0\xe7\xb1\xf0\xc3\x1d\xcd\x2a\xe4\x56\xbb\xe3\x8a\x3e\x19\xc0\x04\x60\x59\x99\x5d\x57\xaa\x02\xc1\xed\xfc\x03\x0f\x13\x03\xb7\xc0\x07\x56\xba\xe3\x08\x15\xed\xac\xbc\xb4\x43\xa4\x24\x5a\xd5\xe2\xf8\x64\x0e\x7f\xfa\xd2\xbd\xe1\x75\xda\xb4\x3a\x7c\x13\xe1\x3e\x89\x69\xeb\xb8\x61\x1e\x1c\x6a\xd3\x5d\xc4\xa1\x36\x5d\x7a\x77\x94\xfa\xd0\x74\xc3\x22\x8c\x9d\x76\x54\xb7\xa3\x0e\x44\x75\xd1\x9a\x72\xfd\xde\xdd\x54\x73\x2c\x57\x0e\xc7\x9f\x9f\xf4\x07\x0c\x85\xd1\x13\x18\x74\x31\x12\x7c\xac\x8f\x30\x87\x23\xaf\x78\x48\x40\x49\xe5\xf8\x82\x8b\xde\xdd\xbd\x11\x34\xa9\x8c\x03\xd0\x13\x25\x32\x3d\x78\x24\x2b\x59\xef\x45\xf2\xdc\x6f\xd8\x2c\xf9\xa2\x79\xdc\xd7\xac\x41\x66\xd1\x7d\xb1\xaf\x4b\x43\xed\x45\xf7\xc5\x80\xc3\x3c\xc4\x13\x8b\x3b\x39\x65\xac\xdb\xdb\x37\x53\x94\xc1\xd9\x86\x93\x55\x54\xd7\x1f\x6a\x3e\x05\xad\x5d\x1e\x8b\x34\xfe\x3d\xb9\x9d\x3e\x8a\xa3\x9d\xe3\x8e\x2f\x75\x9f\x8c\x4f\x3f\x02\x7c\x60\xf2\xa7\x07\x68\x64\x1e\xe8\x2e\x07\x22\xfc\x7d\xfb\x84\xfa\x1e\x07\xcc\xd7\xbb\xd3\x99\xdb\xa0\xb2\x7f\x9f\x5c\x73\xd9\x5c\x7c\x31\xca\x11\x73\x49\x23\x01\xe1\xea\x0b\x92\xf3\x08\x8d\xee\xe6\xe5\x99\x0e\x56\xbc\x67\x58\xbc\x8f\xb4\x44\x6b\x87\x2d\xc0\x7b\x7a\x63\xbd\x0b\x44\x67\x33\x78\xc3\xca\x9e\x81\x25\xf4\xb7\x1b\x14\x21\x66\x70\xb5\x7a\x7e\xf8\xee\x6d\x1f\xdd\xa1\xef\x3c\xec\xf0\x22\x49\xba\x0e\x8d\x3a\x44\xa4\xe0\x79\x8d\x19\xf8\xc0\xd5\xc4\xf1\x0a\x09\x77\xd9\x00\x79\x2c\xfe\x12\x16\x1a\x8a\x8e\xe6\xa7\x7c\x10\x0e\x92\x8c\x1c\x7e\x5c\x0a\xac\x85\xd1\xfb\x7f\xd4\x4c\xa1\xaf\x1e\x70\x37\x50\xb6\x4e\xd7\x8c\x1e\x5b\x13\xa0\x8b\x92\xaa\x35\xda\x63\xd3\xf5\x4e\xad\x51\x7f\x65\x42\xa0\x6a\x8d\x1a\xef\x54\x68\x06\x9b\x74\x9d\x71\xda\xf7\x61\x54\x6e\x05\x02\x99\x82\xa7\x3f\x9c\x9d\xdd\xfe\xf4\x87\xb3\xfd\x68\x2d\x69\xa4\x91\x68\xbd\x97\x19\xf7\x8b\xa3\x1d\x19\xa8\xbe\xbd\x8d\xd5\xef\x35\x68\xd7\x6e\x23\x4b\xac\xd8\x1a\x5b\x25\x3e\xf0\x56\xfa\x8b\x5b\xa9\x16\xb0\x64\x54\x2a\x74\x44\xa7\x4d\xd6\x8a\x95\x47\x13\x38\x32\x5b\x6e\x0c\x2a\xfb\x98\x73\x9d\x49\x95\x1f\x1d\x38\xbe\xe3\x46\xd4\x49\x4d\xe8\xde\xe5\xfd\x4d\x2f\x82\x1e\xc7\x61\xed\x3e\x87\x38\xa3\xdd\xfa\xd0\x82\x75\x60\xdf\x87\x2e\xa1\xd3\x6f\x7a\x67\xf5\x3d\x52\x78\x09\x61\x60\x91\x92\xa9\xdf\x34\xa1\x0a\x2c\x52\x1a\x0d\x40\x75\x24\xb1\x10\xdd\xd3\xc3\x9c\x92\xf4\xf6\xec\x61\xbf\xc4\xbb\x25\x11\xda\x77\xf4\x4f\x1e\xe4\x9b\x3c\xe0\xc6\xed\xc1\x64\xf3\x37\xf1\x50\xee\x75\x17\xf7\x01\xbb\x1a\xfe\x1e\xee\xa7\x7c\x7d\xf4\x7f\x01\x00\x00\xff\xff\x57\x7a\xd0\xa8\x0a\x64\x00\x00"
+var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7c\x6d\x73\xdb\x38\x92\xf0\xf7\xfc\x8a\x1e\x6f\xd5\xac\xfd\x3c\xb2\xe4\xcc\xce\x4d\xdd\xa9\x46\x3b\x9b\x49\xe2\xdd\x5c\xcd\xe4\x52\x89\x67\xf7\xaa\x52\x53\x31\x44\xb6\x24\xac\x49\x82\x0b\x80\x96\xb5\xa9\xfc\xf7\xab\x6e\xbc\x10\xa4\x28\x8b\xf6\x66\x36\xfe\x90\x50\x24\xd0\x68\x34\xfa\x1d\x0d\xc8\xb2\x56\xda\xc2\x65\x53\xad\xe5\xb2\xc0\x2b\x75\x83\x15\xac\xb4\x2a\xe1\xa4\xf3\xee\xe4\x89\x6f\xf9\x5a\x55\x43\x8d\xfb\xaf\x63\xfb\xbf\x4a\xdc\xbe\x45\xa3\x8a\x5b\xd4\xbe\x6d\xfa\xea\xe4\xc9\x93\xd9\x6c\x06\x57\x1b\x69\x20\x53\x95\xd5\x22\xb3\x20\xcb\xba\xc0\x12\x2b\x6b\xc0\x6e\x10\x4a\xb4\x22\x17\x56\x80\xb1\xa2\xca\x85\xce\xa1\xd6\xaa\x56\x06\x73\xee\x2b\x2b\xb8\xfc\xe9\xd5\x9b\xf3\x8b\xef\xfe\xf0\xdd\x94\xde\xf0\xdb\xb7\xb8\x9a\xc3\xc6\xda\xda\xcc\x67\xb3\xb5\xb4\x9b\x66\x39\xcd\x54\x39\x53\xd5\xaa\x50\xdb\xd9\xaa\x90\xb5\x99\x2d\x0b\xb5\x9c\x95\x42\x56\x33\x51\xd7\x85\xcc\x84\x95\xaa\x9a\x7d\x73\xf1\xcd\xd3\x8b\xff\x7a\xfa\xdd\x79\xb5\xb2\xe7\x61\xf0\x69\x99\x47\xd8\xef\xac\x6e\x32\x6b\x40\x54\x39\x68\x34\xaa\xd1\x19\x1a\xc8\x44\xd5\x62\x0e\xaa\x42\x50\x1a\x4a\xa5\x91\xfb\xc4\x49\xd8\x5d\x8d\x66\x02\x99\x28\x0a\xcc\xe1\x56\xe2\xd6\x4c\xe1\xa5\xc8\x36\xfc\xcc\x9f\x41\x63\xad\xd1\x10\x01\xb8\xaf\x80\x5c\xae\x56\xa8\x09\xee\x8d\xac\x72\x50\xab\x08\x6f\x02\xa6\xc9\x36\x20\x0c\x08\xc8\x34\x0a\xab\x34\x2c\xa5\x5a\x6b\x51\x6f\x76\xdc\x5b\x69\x10\xf0\xdf\x6f\x5e\xfe\x19\x64\x29\xd6\x08\x2b\x59\xa0\xa3\x93\xc8\x32\x34\xe6\x54\x14\xc5\x59\x4b\xfc\x9f\x3d\x60\x5a\x25\x03\x1f\x9f\x3c\x01\x00\x20\x38\x2f\xa4\xa9\x0b\xb1\x03\x49\x43\x2d\x85\x91\x99\xc7\x78\x23\x2c\xc8\x2a\x2b\x9a\x1c\xdd\x82\x55\xa2\xc4\x09\xe4\x68\x32\x2d\x6b\x22\x29\x51\x2a\xc2\xb1\x9b\xa6\x5c\x56\x42\x16\xb0\x22\xd4\x2a\x50\xcb\xbf\x63\x66\xa7\xf0\xb3\x32\xd6\xff\x30\x60\x36\xaa\x29\xf2\x84\xa0\x96\x58\x84\x06\x9c\x06\x48\xfc\x7f\x3a\x07\xc3\xeb\x12\x11\xf5\xb8\x87\x71\xaf\x3c\x66\x44\x3d\xc2\xd2\x0f\x9b\xb6\xe9\xb5\x97\x06\x56\x12\x8b\x1c\xb6\xb2\x28\x60\x89\x90\x3b\xc8\x98\x13\xd3\x15\xd2\x78\x1e\xb0\x1b\xd4\xb8\x52\x1a\x3d\xd6\x1d\x30\x4b\x7e\xab\x2d\xcd\x34\x53\x55\x26\x0d\x0e\x8f\x99\xce\xa4\x40\xcb\xb8\xce\x89\xd7\x64\xb5\xee\xce\xe4\x19\x6c\xb5\xb4\x16\xab\x0e\x8d\x3f\xd3\xb4\x04\xe4\x68\x85\x0c\xcc\xd9\x05\x3b\xe9\x80\x32\x8a\x99\x7e\x89\xcc\xe6\x70\x8b\x7a\xa9\x0c\xc2\x29\x4e\xd7\x53\x10\x50\x0b\x2d\x98\x0f\x41\x56\xc6\xa2\x60\xbe\x15\x60\x64\xb5\x2e\x10\x0a\x59\xe1\xd9\x38\x4a\x24\xb3\x3c\x44\x10\x53\x8a\xa2\x48\x58\x2b\x4a\x90\x78\x24\x6d\x3c\xff\x2d\x11\x04\x6c\x71\x79\xbe\xd2\x12\xab\xbc\xd8\xb1\xf8\xc0\xa9\x9c\x22\xcb\xd4\x04\xde\xbc\xfe\xf3\x59\x07\x08\xcb\x83\xa7\xcb\x3e\xc3\x4c\x68\xe2\x37\x50\x6b\x64\xd1\x9f\x00\xda\x6c\x1c\x15\xe2\xe4\xe6\xf0\xf1\x52\x16\xf8\xa9\xa5\x01\x2f\x94\xac\xa4\x3d\x8d\xaf\xe8\x2f\xe5\xa0\x49\xe7\xcb\x00\x45\xbb\x0d\xf6\x07\x0b\x5f\xce\xe0\x63\xa7\xa5\xc1\x62\x35\x65\xb9\x5a\xf0\x80\xfb\x1f\x53\x26\x5d\xa4\x43\xef\x37\x6d\x17\x70\xd1\xa2\x10\x9b\x39\x24\x3e\xb5\x2a\xe9\x2f\x58\xd4\xa8\xc1\x2a\x58\x63\x2b\xf7\xcc\xc4\xac\x66\xc5\x0a\x61\x2b\x76\x1d\x85\x41\xfd\xfe\x44\xac\x59\x32\xd9\x82\x21\x9a\xc3\x33\xd0\xc8\x4a\x36\x43\x82\x48\xfc\xa2\x83\xe1\x0a\x5a\xbe\x85\xa0\xd1\x36\xba\x82\x67\x15\x28\x9e\x8b\x28\xe2\xf8\x4e\x0d\x1d\xd4\x52\xab\xa6\x22\x74\x7d\xeb\xd3\x0f\x3d\x34\xbe\xfe\x98\xda\xc7\x69\x78\xf8\x74\x06\xf3\x30\xc2\x0f\xc9\x12\xc8\x15\x33\x07\x73\xc0\xa2\x03\x6a\xea\xb1\x27\x70\xa7\x57\xbb\x1a\xbf\xf7\xdd\xff\x78\x7a\xd6\x5f\xc4\x00\xc5\x83\x00\x61\x7e\x48\xd4\x28\xf4\xfe\xfc\xdc\x6f\x3b\x1f\x3e\x3d\xd9\x7f\xf2\x0d\x2b\xbf\x86\xc9\xca\xfd\x19\x2b\xd4\x32\x03\x59\x59\xd4\x2b\x41\x24\x27\xb1\x69\x0d\x1f\x08\x27\x69\xc6\x2a\x8d\x39\x90\x0c\x6b\x50\xab\x15\x64\x1b\x21\xab\x29\x10\x53\x9a\x08\xce\x8b\x5b\x63\x30\xa7\xb5\x8b\x0b\x69\x9c\xcd\x33\x13\xb8\x95\x39\x2a\xa7\xae\x15\xe9\x6b\x28\x31\x97\xe2\xa8\x2d\x69\xf1\xa3\x01\x13\x5a\xa4\x6d\x99\x64\xb4\xac\x8d\x96\xa7\x67\x51\x45\xf5\xa6\xfc\x57\x36\x96\x0a\xf0\x8e\x7c\x97\x30\x3f\x67\x3d\x8d\x87\x47\xfe\x13\x08\xb6\x15\x7f\xb9\xba\x7a\x03\xa7\x4a\xf3\xc3\xbb\x33\xf8\xe5\xed\x4f\x47\xb1\xa5\xa6\x84\xe7\xfc\x3e\x6c\x69\xa1\x1b\x5d\xec\x6b\xd2\x56\x8b\x24\x9f\x07\xc5\xbd\xd1\x24\xa0\x8d\x4e\x45\xf3\x01\x94\xe9\x81\xf4\x5c\x12\x20\x1f\x16\xf7\x61\x0a\xb6\x1c\xf2\xea\xcd\xe5\xbb\x48\x23\xfe\xe5\x97\x1f\x84\xc6\x96\x29\x72\x58\xee\x48\xbc\xa5\x66\xaf\x87\x9c\x0b\x99\x63\x65\xe5\x4a\xa2\x86\xd3\xe7\xaf\x5e\x9c\x45\x20\x5a\x30\xb3\xd8\x8d\x60\xcb\x28\x35\x66\x16\x7e\x79\xfb\x6a\x0a\xcf\x20\x2b\x24\xf5\x4d\x5c\x47\xe6\xc3\xc6\xa0\x73\x56\x9e\xbf\x7a\xd1\x3a\x3d\x0a\x56\xe4\xb9\x11\xff\x15\x4a\xb0\xcf\xe0\xfd\xb1\x5b\x29\x68\xbd\x19\xdd\xb5\xb0\xb8\x15\xbb\xa3\x0b\x4d\x8d\x3b\x0b\xdd\xb1\x40\xcf\x5f\xbd\x20\x96\xa2\x21\x06\x26\x48\x5e\x17\xe3\xc7\x23\x3a\x6f\x30\xe9\xdd\x81\xd4\xf1\xa2\x73\x95\x99\xa9\xac\x57\x66\x2a\xd5\x8c\x5c\x19\xac\xad\x99\xf9\x11\xce\x45\x9e\x6b\xe2\xe0\x6a\x3d\x1b\x65\xce\x32\x99\x0f\x1b\xf3\x37\xc2\x6e\x58\x22\x12\xd5\x5a\xd3\x3b\xaf\x94\x79\xd1\x83\x42\x66\x65\xef\x89\xe7\x56\x47\xe9\xdd\x28\x03\x2f\x0d\xa8\xaa\xd8\x41\x85\x98\x93\x7d\x5e\xb5\xc0\xa5\x21\x8f\x45\xe6\x18\x97\xfc\x5e\xa0\x23\x88\x44\x60\xcf\xcd\xce\x58\x2c\xcd\x38\xf2\xd0\x8c\x03\x7d\x7e\x18\x92\xd1\x84\x7e\x93\x6e\xeb\x41\x91\xcd\x64\x0e\x0b\x22\xfa\xfe\x27\x26\xee\x82\x61\x0c\xc9\x73\x4b\xb7\xa6\xca\x98\xcb\x9d\xc0\x3a\x06\x63\xca\x57\xc2\xca\x5b\x24\x15\xd5\x72\xd7\x1e\x63\xdd\x43\xa7\x8d\xda\x9e\x5b\x35\xf3\x2c\x74\x4e\xaf\xcf\x55\x75\xbe\xc5\xe5\xec\x77\x0e\xf6\x79\xa3\x0b\x73\x70\x05\x82\x35\x26\x17\xdf\x38\x15\x43\x6c\x29\x64\x45\x8f\x71\x5d\x1b\x2d\x8f\xd2\x7e\x94\xc6\xf2\xe6\xd2\x13\xae\x25\xe2\x41\x53\x79\x42\x53\x9a\xcf\x66\x27\x53\x62\x09\x61\x4f\xc3\x9a\x9c\x85\x17\x27\xb3\x93\xf8\x4c\xb0\xce\x7a\xc6\x75\x48\x63\x1e\x86\x7a\x5c\x87\x46\x4b\x1b\xd4\xe8\x56\xda\x8d\x8b\x51\xb4\x46\x53\x2b\x99\xd3\xbc\xd9\x4a\x92\xf3\x70\x54\x25\xfd\x4c\x2d\xfb\x9a\x88\xb5\x93\x63\x09\x74\xb0\x46\x31\xff\x8a\x55\x5b\xdf\xcb\x75\x61\x74\x2e\xc5\x39\x07\xc9\x99\x2a\x91\x64\xd8\xad\xaf\xd2\x25\x7b\xf9\xbb\x1a\x67\xa6\x59\x72\x0b\x61\xbc\xb7\xb9\xc4\x1c\x28\x46\x83\x0e\xac\xc8\x8a\x78\x8b\x85\xaa\x51\x4f\x4b\xf5\x4f\x59\x14\x62\xaa\xf4\x7a\x86\xd5\xf9\x2f\xef\x98\x4d\x67\x7f\xc3\xe5\x8c\x4c\xeb\xec\x47\x8a\x7a\xcd\x07\xb5\xfa\xc0\x3f\x7f\x7e\xf5\xf3\xcb\x0f\xec\x68\x8e\x9a\x55\xa4\xe5\x7d\xa6\x37\x9d\xfa\x64\xbf\x4b\x57\xb6\x79\xbd\xa9\xc7\x82\xfe\xe9\x7f\x88\x9d\x17\xf1\xe9\x30\x5f\xfc\x4d\x8b\x9a\x7c\x69\xc7\xff\x4a\x43\xd9\x14\x56\xd6\x85\x5f\x36\x97\xa8\x18\xc5\x03\xa6\xcf\x04\xcf\x2a\x10\x7a\x29\xad\x16\x7a\x77\x6e\xe4\x3f\x31\xe7\x50\xc8\x87\xff\x3b\xa8\x9a\x72\x89\xe4\xdc\x79\x1e\x92\xa4\x25\x0f\x52\x91\xbf\xce\xe1\x3d\xb7\xfd\x75\x88\x84\x1f\x7a\x6d\x06\xf5\x21\x37\x81\x45\x6f\xb0\x23\x11\x86\x9f\xdf\xbf\x35\xc0\x68\x8d\xa0\x1f\x7d\x5c\x78\xe1\x1a\x3f\x28\xba\x70\x5d\x1e\x1b\x5c\xb8\xde\x23\x63\x8b\xc8\x28\xd0\xfb\xfb\x0c\xa1\xc5\x90\x86\x2b\x64\x86\x15\xb9\x8c\x59\xa6\x34\x2b\x36\xab\xa2\xfc\x9b\x3a\xbf\x63\x91\xf7\xad\x4c\xbb\x8e\x57\x21\xe9\xd4\x89\x30\xbc\xaf\x10\x7c\x2b\xb5\x22\xbd\xf9\xfa\xf2\x8a\x1c\x07\x0f\x23\x3f\xaa\x2f\x7f\xf2\x28\x1d\x76\xd2\x09\xaf\x57\xd1\x6f\xbb\x4f\x69\x7c\x48\xfc\xbb\x7b\x1d\xf7\x2e\x48\x62\xff\xf8\x63\xac\x0c\x04\xbc\xbf\x90\x10\x84\xe1\xc7\x49\x81\x6f\xfd\x20\x31\xf0\x7d\x1e\x2b\x07\xbe\xfb\x48\x41\xd8\xe7\x82\xdf\x40\x12\x62\xbc\x44\x0e\x1a\x13\x9d\x3c\x5c\x8b\x25\x70\x6a\x16\xf0\xce\xa2\x26\xe2\x1a\x69\x5b\x43\xef\x93\xf2\x09\xdf\x2f\x77\x69\xb0\x43\xbc\x7e\x83\x30\x8d\x71\xcd\x8f\x85\xca\x08\xba\x0a\x71\x52\x63\x50\x1b\x48\x63\x20\x4e\xc2\x69\xb9\x96\x34\x1a\x27\xc2\x7c\x0e\x98\xa4\x87\x13\xd5\xb5\x56\x7f\xa7\xbe\x35\x85\x46\x1c\x1c\x07\x13\xee\xfc\x4d\x6a\x98\xa9\xa2\x40\x76\x45\x5b\x64\x71\x1d\xe5\x79\xbb\xdd\x4e\xcb\x1d\x67\xef\x3d\x34\x97\xf9\xbf\x45\x4d\x74\x3f\x57\x2b\xfe\xd6\x42\x39\x26\xaa\x2f\x3d\x7d\x88\x7c\x8f\x8e\xa9\x3f\xc0\x88\xa8\x7a\x71\x6f\xfc\xdb\x15\xc4\x14\xab\x2f\x24\x8c\x29\x0a\xe3\x04\x32\xe9\xf1\x20\xa1\x4c\xfa\x3d\x56\x30\x13\x10\x23\x85\x73\x78\xdd\x3f\xbb\x80\x3a\x26\x5f\xc9\x0a\x43\xcc\x5e\xd6\xca\x88\x25\x85\xb9\x6a\x27\x0a\xbb\x6b\x77\xbe\xb8\xf1\x5a\xde\xa2\x81\x52\xe8\x1b\xb4\x75\x21\x32\x34\x20\x5a\x31\x6b\x2a\xd2\xe7\x79\x9a\x5a\x53\x60\x9a\xda\x6d\xdf\x5d\x5e\x79\xa0\x12\xcd\x51\x1b\xf5\xd6\x0f\xdf\x73\xe8\x42\xf2\xae\xbb\x11\xf8\x16\x33\x94\xb7\x31\xc1\x80\xb0\xc4\x0a\x57\x32\x93\x42\xef\x42\x02\xde\xcf\xa7\x9b\xad\x10\xcc\x19\xc1\xa4\x66\x1a\x2d\xba\x6d\xb0\xd0\x29\x00\xe6\x10\x25\xfc\x9a\xae\xd1\xd2\xba\x9e\x9e\xf5\x82\xcc\x4c\x95\x25\x56\xb9\x4b\xc8\x9c\xc3\x2f\xac\x84\x7c\x3a\x9f\x77\xc8\x48\x13\x56\xb8\x4d\xf4\x0f\x5c\x16\x6a\xeb\x66\xd1\x01\xa6\xbb\x53\x92\x06\x1a\x43\xce\xc3\xf5\x1a\xad\xa7\x4d\x98\xf5\x9b\x66\x59\xc8\xec\x8d\xb0\x9b\xd3\xb3\xeb\x09\xeb\xc3\x4a\xd9\x2e\x38\x97\x19\x42\x5a\x6c\xd1\x14\x36\x19\x35\x4e\xca\x29\x5d\xde\x98\x11\x45\xa1\xb6\x5e\x87\x5a\x05\x4d\x9d\x13\xea\x1d\x80\x4c\x32\x51\x8b\xa5\x2c\xa4\xe5\xc4\x37\xc7\x42\x8d\x6d\x34\xaf\x7a\xc3\x5a\x9f\x37\x67\xd6\x7e\xcd\xda\xe6\x07\x15\x59\x40\x66\x0e\xcf\x63\xe3\xef\xbf\xfe\xd8\x59\xed\x69\x98\xf7\xa7\x3f\x76\x79\xe3\x67\x17\x36\x90\x77\x11\xb2\xb1\x99\x28\xb2\xa6\x20\xe4\x09\x3b\x51\xaa\xc6\x39\x4d\x46\x14\x08\xb7\xa2\x68\x10\xac\x16\x95\x59\xa1\xd6\xae\x47\x77\x11\x3c\x13\xb6\x34\x7a\xad\x2c\xc2\x39\xbc\xb2\xc9\x2e\xcd\x12\xed\x16\xb1\x82\x8b\xe9\x05\x13\xff\xe9\xf4\xa2\x0b\xe6\xe5\x1d\x75\x71\x1c\x95\x8c\x2c\x0d\xdc\x71\x87\xb2\x45\x5c\x1a\xb8\x98\xfe\xc7\x77\xd4\xb4\x4a\xd9\xb6\x0b\xd0\xf5\xdf\x06\x04\xb8\xc7\xff\x83\xbb\xe9\xbe\xa8\x88\xa2\xd8\x41\x8d\x3a\xc3\xca\x92\x59\x5b\x63\x92\xe9\x76\x7b\x43\x16\x75\x69\x88\x28\x4b\x61\xa4\x81\x5a\xc9\xca\x76\xa2\x4a\x6a\x64\x54\x21\x73\x5a\xe8\xa5\x20\xd2\x9a\x52\x68\x1b\x37\x6e\x0d\x6c\x37\x14\x6d\x67\x22\x67\x7d\xae\x56\x2b\xe2\x9c\xeb\x5f\x2e\xe5\xdd\x77\xdf\x5e\xf7\x19\x47\x58\x10\x85\x46\x91\xef\x82\x6e\x70\xca\x27\x1d\x9f\xf9\x27\x13\x86\xa8\x9b\x09\xfa\x21\xad\xe9\x02\xa2\xb0\xd9\x7b\x03\x42\x23\x90\x33\xa9\xb1\xd8\x41\x8e\x34\x23\x59\x49\x63\x7d\x96\x7f\x4d\x21\x5e\xd2\xba\xca\xa3\x52\xea\x0a\x49\x4d\x1c\xf0\x9f\x01\x05\xb5\x82\x5a\x63\x26\x4d\xb4\xf6\x43\x2c\x9b\x35\x76\x0e\x6e\xa6\x5d\x76\xfc\x9f\x60\xaa\x3a\x3b\x5e\xa9\x67\xe3\x64\x88\x26\x47\x43\x89\x5d\xc8\x18\xf9\x35\x9f\xec\x09\x9c\xc6\xc2\xcd\x61\x23\xeb\xc8\x76\xf4\xe1\x7a\x2b\x8a\x02\xed\x75\xd8\x13\x26\x65\x3b\x01\x17\xe4\xda\x0d\xc1\xc5\xc2\xe0\xfe\x3a\xb0\x53\xb4\xad\x50\x43\x29\xd7\x1b\x0b\x5b\x51\x59\xd6\xd9\x35\x66\x72\xb5\x3b\x3c\xeb\x7b\xf7\x45\x5b\xcf\xe3\x81\xf2\x3c\x49\xa9\x39\x19\x1a\xa4\x6f\x3b\x6b\x3d\xe4\xc0\x66\x8d\x85\x3f\x2e\x58\x20\xbf\xfe\x9a\x7f\x7d\xbf\x60\xb1\x9c\xc3\xc9\xf3\xc6\x7a\xf9\x69\x25\x58\x56\xf4\x4a\xe6\xa0\x45\xb5\x46\x90\x53\x84\xf7\x17\x93\xa7\xbf\x9e\x1c\x30\xb0\x10\xfc\xa6\xa8\xa5\x17\x51\x47\x0c\xe4\x3f\x1b\x0b\x0b\xc2\x62\xff\xd3\xf1\xfd\xc9\x07\x64\x4b\x82\xc9\x74\x85\x1d\xb1\xc3\xcf\xa9\xb1\x26\xce\xfb\x47\x83\x7a\xe7\x6c\xca\xf5\xdb\x60\x90\xaf\x83\xe1\xe5\x42\x99\xd7\x97\x57\x89\xf7\x4c\x4c\xc5\x22\x76\x57\x63\x66\x9d\x9e\xac\xc5\xae\xb5\xe6\x5e\x2b\xb8\x84\x18\x45\x48\xcc\x3e\xc1\x59\x1f\x69\xeb\x09\x4e\x3f\x7d\xa3\xb5\xd8\x79\x4e\xd5\x22\xbb\x71\x7a\x42\x56\xb9\xbc\x95\x79\x23\x8a\x16\x83\x3e\xa3\x12\x75\xa3\x7c\xbe\xaa\x56\xca\xcc\xe1\xbd\x27\xd0\xaf\xf7\x6c\x18\x79\x7f\x79\xa0\x53\x9f\xf3\xc8\x87\x22\x9e\x71\xc6\x45\x58\x30\x0d\xa7\x01\x45\x51\x30\xc7\xb5\x4a\x3d\xba\x00\x64\x95\x97\x08\x6b\xf6\x04\xfc\xce\xce\xd3\xe9\x45\x07\xec\xad\x20\x2f\xdb\x8a\xe2\x39\x73\xcd\x45\xef\x33\x2d\x78\x30\x09\xb2\x8a\x78\x0e\xc8\x40\x02\x24\x3e\xfe\xff\xd0\x77\xda\xe7\xc6\x2e\x6f\x0b\x63\x50\xdb\xd3\xd8\xcf\x49\xcf\x04\x4a\x34\x46\xac\x71\x0e\x27\xef\xdc\x64\xe3\xf8\xe3\x67\x7b\x72\xd6\x27\xe3\x33\x63\xe4\xda\xe9\xb1\x00\x6f\x50\x88\xdc\x48\x8b\xfd\x46\xbd\x44\xed\x5b\xe7\xf4\xa6\xf0\x38\xeb\x37\x98\x29\xed\xed\xa8\x0b\xe6\xb8\x24\x83\xef\x6a\x3b\x30\xe1\x75\xc7\xb4\xc7\xf3\xae\x31\x9d\x1f\x3d\x36\x89\xe6\xf4\x2c\x61\xa9\x7b\x36\x23\x07\xe6\x08\xf7\x45\x64\xad\x08\x7d\xa1\x78\xec\x6d\x8f\x3e\xc7\xa2\xb1\x96\x22\x0f\x89\xc5\x62\xaf\xc7\x46\x62\x11\xc0\xc8\x38\x2c\x55\x4d\x7d\x09\xfb\x2c\xb5\x08\xce\x06\xbb\x4d\x46\xd6\x22\xd1\x28\xb1\x0f\xcb\xf2\xce\x96\x85\x98\xb1\xab\xee\x62\xa2\x84\xcb\xe2\x5a\x10\xec\xc2\xe3\x2d\x56\xb6\x61\xf7\x2f\x85\x25\xa2\x37\x6e\xb6\xd2\x66\x9b\xa5\xa2\xd0\x2e\xd8\xae\x49\x84\xbb\x71\x8c\x10\xea\xd6\x96\x8d\x07\xcb\xfb\x96\x1d\xe4\x22\x81\xe8\x57\xa5\x7a\x35\x72\xfd\x2d\xb2\x36\x56\x89\xb1\x5a\x40\x88\xc2\xc3\xd4\x86\x0e\x31\xcf\xbe\x4c\x0d\x46\x41\xf3\x74\x9c\x8f\xfd\x75\x98\xd5\xfc\x71\xe6\x63\xc9\xcb\xab\xb7\xe9\xb0\x47\xd2\xb9\xbe\x84\xcc\x6d\xe4\x26\xc5\x90\x3e\x9f\xf5\xfa\xf2\x6a\xba\xb7\x38\x21\x1a\xe1\x50\x53\x0b\xe9\x7c\xcb\xc4\x8c\xdd\xe0\x6e\xe6\x7c\x92\x5a\x48\x6d\x40\x14\xaa\x5a\xbb\x98\xd3\xa8\xb2\x95\x3b\x4e\xfb\xde\xd1\xb2\xf2\x56\x06\x8f\x2b\x96\xaa\x71\x4c\xc4\xa0\x8f\xd9\xda\x2b\x6a\x94\xd0\x64\xa0\x3a\x91\xe1\x4c\xe1\x27\x79\x83\xf0\xa3\xc8\x6e\xd6\x5a\x35\x55\x3e\x81\x97\x3b\x34\x13\xf8\x8b\x90\xba\x57\x3a\x36\xb6\x7c\x90\x47\x6a\xaa\x1c\x75\xc1\xbe\xae\x9b\x72\x3a\xea\x24\x28\x1e\x1b\x5e\x33\xa1\x8d\x2b\xdf\xe3\x26\x50\x6b\x75\x2b\x73\x0c\xc4\x08\xda\x8a\x81\x1d\xc6\x89\x3f\xcf\xe1\x59\xb5\x73\x25\xb4\x1d\xbc\x7c\xad\x1c\x69\x88\x74\xbd\xcc\x46\x6d\x79\x01\xe2\x58\x8e\xd8\x5b\xe7\x3a\x4b\xe3\xc8\x46\xee\x91\x9b\x4a\x64\x94\x14\x38\xf1\xb9\xac\x8c\x15\x55\x86\x13\xd8\xa9\x06\x32\x16\x71\x13\xb0\xa2\xa1\x04\x34\x95\xbc\x03\x2b\x4b\x34\x56\x94\xb5\x0b\xe3\xbd\x1b\xde\xc1\x4f\x18\x38\x79\x21\x2c\x9e\xf0\xc4\xb1\x28\xd2\xb1\xea\x42\xd8\x95\xa2\x78\x8e\x82\x5f\x55\x99\xa6\xf4\x15\x21\x8e\x76\x5c\xab\xcb\x2e\x4b\xc8\x12\x08\xbf\x07\x76\xd8\xd3\x6f\xc7\x1e\x28\x0a\x20\x73\x2b\x34\x05\x86\xe4\x59\x8a\xc2\xa8\xa8\x1d\x5c\x26\xb6\xd8\x79\xc9\x10\xd6\x6a\xb9\x6c\x6c\x67\x67\xbe\xcb\x1c\x4e\x5a\xa2\x49\x09\x91\x1f\xa3\x59\x14\x2d\x04\xc3\x95\x13\x7e\x8a\xfe\x5d\x60\x83\xd7\x97\x57\xbf\x37\xa0\x19\xa7\xc3\xdc\xe0\xbe\xcf\x3d\xee\x83\x45\x0e\x9d\x0a\xc6\x3d\xf6\x99\x0c\xd2\x65\xd2\x07\xfc\xf0\x8a\x45\xc7\x11\x0b\x37\xe0\x40\xc0\x90\x70\xc2\x22\xc5\x61\x20\x36\x71\xeb\xb2\xf0\x38\x8d\x8c\x28\x58\xdd\xb1\x9a\x0c\x9e\x4f\xd0\x58\xc7\xf5\x9b\xef\xe8\x3b\xf0\x6e\xe5\x08\x15\x17\xc1\xa5\x92\x36\xa0\xe2\x50\x64\x1b\xaf\x9b\xee\x55\x6e\xe6\x9e\x44\xb9\x43\x6d\x0e\xef\xb9\xe5\x81\x2d\xdc\x5e\xa3\xc1\x35\xf4\x73\x5c\xf8\xc6\x03\x46\x9f\xfe\xba\xc1\x4c\x9e\x9b\xd6\x80\x38\x3d\xec\x99\xd6\xe3\x4d\x48\x74\xba\x74\xbd\x54\xe7\xb6\x71\xdb\x39\xab\x52\x27\xd3\x7e\xee\x96\x25\x4f\xe4\x39\xe6\x47\x5d\x53\xb2\xa0\x22\xcf\x19\x14\x4d\x78\xee\xa0\xde\x33\xd3\x29\xb1\x48\x95\x9f\xda\x7b\xea\x3b\xba\x1e\x69\x32\xa7\x2f\xe5\x93\x7a\x14\xc6\x39\xa4\xae\xf1\x83\xbc\x51\xd7\xe5\xb1\xae\xa8\xeb\x3d\xd2\x0f\xdd\xe3\xec\xf0\xf7\x19\x9c\x50\xbf\x6e\xb1\xc6\xca\x2a\x40\x61\x64\xc1\x71\xd0\x2d\x6a\xcb\xb5\x68\xfc\x4d\xe8\x1d\xaf\x84\xe3\x09\xb8\x54\x9a\xd3\xfa\x89\x83\x12\x36\xb6\x8c\xdf\x5c\x50\xac\xbe\x59\x5f\xa3\xe4\x82\xc6\x50\x10\x1f\x56\x89\xb5\x82\xb7\xf0\x57\xce\x09\x88\xf0\xd8\x74\x95\x68\x37\x2a\x96\xc5\x9b\x66\xb5\x92\x8e\x21\xd6\xf2\x96\x7d\xd4\x92\xed\x0b\x47\x6e\x6a\xe5\x33\x39\x1e\xc5\x43\x8c\x46\xf3\x71\x42\xd4\x9d\xd9\x12\xc3\xa4\x9d\x4a\xbb\x6a\xc5\x3b\xe9\x8d\x77\x7c\xe4\x24\x7f\x2d\x4a\x34\xf3\x4e\x25\xb6\x2f\xda\x72\xd8\x78\xfb\x1d\xf2\x7a\xd7\x34\xd6\x75\x04\x16\xfe\x6e\x70\xe7\xa9\x25\xb4\xb3\x76\x5b\x51\xf9\xf1\x97\x98\x91\x56\xbc\x76\x78\x5c\x0f\xfa\xd4\xec\x40\x0b\xea\xd0\xd7\x23\x87\xd8\x9d\xf0\xb8\x52\x9e\xe3\x1d\x29\x3e\x3a\xc4\x13\x13\xf7\x69\xd2\x9f\xe7\x7b\xd7\xe6\xd7\x1f\xce\xe6\xfb\x0c\x39\x9b\xc1\xf3\xb8\xfa\x2e\xa9\x68\x7c\x56\x31\x4c\x29\x9a\x14\xef\xd4\xb9\x4d\x03\xa9\x5b\x27\xda\x9f\xe5\xc9\xa7\x3d\xaf\x71\xd7\xcb\x4f\x6e\x44\x95\x17\xe8\x2c\x06\x13\x99\x02\x1d\x4e\x78\xda\xb6\xf1\xdf\x1b\x93\x8c\xcd\x7c\x12\xe0\x73\xa1\x73\x51\x4c\x53\xc1\xed\x4c\x16\xbe\x5a\x90\xa8\xf4\x04\x8e\x5c\xb9\x1b\x42\xbb\xd3\xf6\xab\x01\xb1\x24\xa2\x4e\x35\x96\xea\x16\x4f\x6f\x70\x37\x87\x9b\x7e\x55\x5d\xfb\x14\x1f\x07\x2c\x14\x2c\xe0\xfd\xaf\x4f\xf6\xc6\x67\xf0\xcc\x37\xdd\xa1\x23\x04\x58\xb8\x15\xf2\x6e\xcc\x4d\xf4\x60\xa8\xe7\xfb\x9b\x5f\xbf\xea\x39\x30\x95\x2c\x5a\xe7\xa5\x92\x45\x17\xdb\x9e\x0d\x60\x5b\x31\x34\x81\xc0\x94\x8e\xb1\x5c\xaf\xb3\xbe\xba\x89\x79\xf1\x98\xc1\xdc\xd3\x1a\xd2\x98\x06\xdb\xc4\xa6\x3f\x98\x15\x21\x70\x60\xe4\x36\x53\x4a\x3e\xea\x66\x64\x29\x0b\xa1\x93\x93\x69\x04\x16\xef\x44\x49\xdd\x45\x05\xff\x4b\x8a\xe1\xe9\xc5\x05\x39\xdd\x6e\xa3\x2b\x02\x93\x15\x39\xcc\x6e\xcb\xce\xf9\x32\xab\xc6\x9d\x0f\x73\x39\x75\xb7\x5f\x90\xee\x78\xb6\x0e\xd0\x33\x57\x3d\xe0\xd8\x6d\x49\xae\x8d\xe6\xc0\x25\x62\x8e\xb9\xe4\x69\x4d\x60\xbb\x91\x19\xd7\x16\x6f\x37\x5c\x01\x1e\x3e\x1d\xc2\xc3\x91\x92\x38\xd5\x38\xed\xe6\xab\xd8\xc0\x55\xb1\xb1\x7e\x39\x16\xeb\xbd\x74\x43\x1c\x3b\x8d\x96\x62\x12\xda\x5c\xb6\xf4\x9b\x38\x2d\x9c\x85\xbc\xc4\x3b\xb4\x13\x78\x53\x88\xdd\x04\xde\xa1\x96\x68\xba\xfb\x14\xbe\xb2\xce\x9d\x74\xd8\x8a\x5d\x52\x58\xe1\x40\x64\x85\x30\x86\xa2\x1a\xd2\x1f\x81\x40\xa3\x62\xc9\x1f\xf6\xe7\xe1\xfb\x27\x85\x7c\x07\x0e\x5b\xf1\x8c\x44\x05\x27\xdf\x7c\x1b\x78\xe1\xf4\x77\xdf\x7c\x3b\x7b\x7a\x71\x71\x76\xc2\x15\x29\x2e\xf6\xf4\x80\xa4\x81\x6f\xbe\xbd\x27\xc2\xe5\x56\x73\xf8\xe5\x55\x65\xfb\xfb\x3e\x84\x56\x29\xee\x06\x51\xa3\x40\xcc\x6f\x2f\x7b\xa6\x9e\xf6\xfa\xf6\x4f\x81\x85\x84\x8b\x8f\x7a\x5d\xd2\xa5\x90\xa5\xb4\x98\x9f\xfb\x21\x30\x1f\x86\x36\x62\xca\x84\xa8\x34\xf4\x6d\xb0\x2b\x57\xea\xb0\xb8\x35\x95\x1f\x34\xcc\xcb\xf5\x6d\xd3\x55\x14\xce\x5a\x45\xba\x63\xdc\x99\xb2\x52\xdc\x05\xfa\x1d\x8d\xbf\x7e\x98\xf4\x28\x3e\xe9\x74\x1f\x70\xa0\x08\xb7\x41\x15\x0e\x6d\x7a\xdb\x2f\xcc\xf7\x0b\x6a\xfd\x55\x9a\xdd\xbe\x6a\x19\x21\x13\xd5\x50\x22\xdb\xfa\x45\x76\xad\xbe\x3a\x39\xa4\xdd\x61\x54\xd0\xe7\xc7\x5a\xf4\x63\xf1\xd8\x80\x86\x62\x34\x47\x46\x71\x9d\x7d\xa1\xa0\x06\x46\xd5\xd1\xfa\xc6\xff\x42\x25\xed\x9e\x48\x77\x76\x1b\x3b\xfa\x52\x04\x8d\x79\x90\x4b\x48\x2b\xfe\x24\x8d\x9d\xc3\x7b\x8f\xd9\xa1\xba\xdb\xfd\x86\xc3\xc5\xb7\xbe\x1d\x2c\x62\x97\xb1\x11\x4d\x24\xcd\x97\x3a\xe5\x17\x11\x18\x59\xf0\xe4\x9b\x3f\xac\xda\xc9\x77\x7a\x74\xa9\x93\xef\x3f\xb6\xce\xa9\x65\xb7\xbe\x94\x7e\xae\x22\xa7\x98\x94\x63\xbf\x3c\x18\xa3\x73\x57\xf6\x94\x83\x41\x2d\x45\x11\xf8\xd7\xe5\xc8\xc3\xfe\x25\x71\x6b\x04\xf6\xc6\x75\x34\xb0\x11\xb7\x98\x1c\x8b\x67\x40\x7e\x16\xec\x36\xb0\x27\xdf\x83\x1b\xf5\x64\x04\xf7\x8e\x7c\xd7\x52\xec\x62\x69\x0e\xef\xb9\x6a\x5c\x37\xe4\xc9\xbc\x7a\xe1\x12\x80\x69\xa3\xe4\x2c\x7e\x1b\x70\x39\x63\x1a\x0e\x81\xb9\x73\x3e\x53\x77\x1a\xa5\x83\x80\x34\x9d\xed\xdb\x25\x42\x53\xc9\x7f\x34\x5c\x14\xe3\x0f\x0c\xb2\xf5\x66\xb3\xcd\xa8\x90\xda\x67\x0f\x5d\xd8\x40\xb4\x63\xca\xe3\x9d\x1b\xf2\x70\xfe\xe5\x90\xdd\x4c\x25\xb9\xdb\x66\x38\x83\x76\x40\x5f\x1e\x11\x60\x8f\xde\x97\x12\x5f\x3f\xfc\x38\xe1\x75\x8d\x1f\x24\xba\xae\xcb\x63\x05\xd7\xf5\x1e\x29\xb6\x7b\x0b\xfd\xb9\x85\xb6\x2d\x1d\xf6\x69\xcc\xd4\x3d\xf6\x42\xea\x12\x69\x49\x76\x93\x7a\x73\x81\x96\x0b\xa6\x43\xd7\x0a\x31\x37\x2e\x6a\xbc\xc5\x90\x85\x30\x99\xd2\x1c\x3b\xa4\x25\x18\xcb\xc6\x82\x74\x27\xe8\x23\x40\xee\xb4\x54\x6d\x9e\xf2\x10\xf3\xfb\x3c\xf8\xc7\x3d\x67\xd0\x0f\xe5\x2b\x0a\x5d\x2b\x4e\xc4\x1f\xc9\xbc\x73\xbf\x50\x0d\x33\xe0\xfb\x96\xe2\x4e\x96\x4d\xd9\x6e\xa3\x70\x87\x23\x0e\xd7\x21\x60\x03\xd7\x39\xa4\xa8\xba\xa3\x6d\x47\x4e\x37\xc6\x10\xe1\x27\x5c\x63\x95\x0b\xbd\x9b\xc0\xcb\x5a\x66\x13\xa2\x0d\x4e\xe0\x97\x2a\x53\x65\x49\xae\xe3\x73\xfe\xbf\x1b\x2b\xf8\xd3\x73\xdd\xc4\xf7\x88\xba\xa3\x41\xef\xb1\x4b\xbb\x49\x67\xf2\x83\x85\x45\x43\x4e\xa4\x5b\xb8\x85\x73\x23\xbf\xfe\xba\x43\xa3\xc5\x21\xe7\xb2\x16\x95\xcc\x4e\x4f\x9e\x05\x7e\x88\xdc\x67\xc2\x92\x76\xef\x27\x51\x9a\xb9\x6b\xcf\x83\xdc\xd7\x7a\x1e\x9d\xde\x32\xc3\x61\x1f\x11\xfe\x85\x32\xa3\x5e\x79\x81\x9b\xcb\x97\x4c\xe6\x7a\x14\x46\x56\x17\x70\xe3\x87\x95\x16\xb8\x1d\x9b\xc7\xd6\x15\x70\xef\xb1\x45\x05\x7d\x4d\x11\xfe\x3e\x83\xf6\x7c\x7d\x79\xc5\x0a\x74\xab\x45\x6d\x38\xe1\xf6\x9c\x2f\x48\xe1\x2b\x75\xdc\xa6\xcb\xb5\xcc\x5d\xa1\xe0\x75\xd3\xd0\xa3\xcb\xc6\xb9\x1d\xc7\xb0\x9b\x13\xe1\x85\x34\xab\xe0\xda\xf0\x02\x2d\x42\x2d\x33\xae\xf2\x8d\x87\x8f\xfc\xfd\x39\xec\x35\x0c\x5f\x9e\x13\xc1\x8d\xba\x45\x27\xcc\xe1\xb0\x1f\x21\xf3\xe8\x43\x1c\x6a\x42\x73\x3b\xda\xc8\xe7\xc0\xe6\xdd\xab\x87\xa6\xe1\xb2\x8b\x83\xfd\xb0\x2d\xcf\xef\xf7\x4d\x8f\x0b\x1c\xec\xdf\x66\xbc\x5e\x08\x2b\xe6\x34\xe3\xe7\x9d\x57\xa3\xba\x06\xe4\xbb\xbd\x8f\xe1\x1e\x2b\x36\xd2\x72\x9a\x83\xad\x43\x3e\xd2\xef\x75\x1c\xbd\xf8\x45\xe6\x10\x83\xf4\xce\x07\x5a\x8f\x03\x9f\xfc\x2a\xc0\xa1\x65\xe8\xb6\x4e\x68\xbf\xd7\x23\x25\x7e\xb7\x57\x97\xe2\x30\x44\xf2\x83\x1d\x22\x7a\x83\x84\xee\x76\x6b\xeb\x61\x52\xf2\xf6\x6e\xb8\xe9\xd1\x34\xbc\x1f\x0e\x58\x73\x3e\x2b\xb7\xff\x81\x09\xba\x60\xba\x0e\x68\x7c\x8f\x73\xdc\x23\xde\x6f\x92\xd2\x71\x91\x52\x75\xbf\x69\x8f\x78\x8b\x1e\x35\xef\xed\x10\x11\xd9\x7b\xb7\xdf\xad\x25\xde\x62\xa0\xb4\x13\xc6\x6d\xbe\x1e\x34\x62\xfe\xac\x17\x33\xee\x21\x9b\x45\x3a\xe3\xca\xa7\x29\x64\xfe\x9b\x58\xb4\xa0\xdd\xc6\x59\x32\xdf\xfa\xb4\x55\x66\x93\x07\x18\xb5\x7d\x4d\xca\x51\xd8\xca\xfe\x75\x8c\x51\xf3\xbd\xc9\xaa\xa5\x46\x31\x74\x1f\xcc\xaf\x05\xcb\xe4\xda\x7c\x05\xc2\x7c\x15\xb0\x48\xd6\xa9\x6f\xc8\xc2\x2c\xf7\x55\x89\xcc\xf7\xd5\xc8\xbc\x8b\x37\xbd\x1a\x54\x28\x7d\xed\x90\x5c\x7d\x94\x02\x38\x1b\xaf\x5f\x7a\xc7\xc8\xee\x81\xb2\xa7\x6f\x98\x73\xdd\x82\x76\xf5\xce\x48\x28\x51\x09\x0d\x03\x3a\x3e\xaf\x54\x33\x05\x18\x6d\x15\xe6\x3d\x1d\xbd\xb8\xb5\xbd\xfc\xfe\x4e\xa7\x4b\xab\xc4\x8e\xc4\x73\xae\x82\xbb\x0d\xe6\xfc\x25\x28\x7c\x95\x8e\xbf\xd6\xd0\x6a\x89\xb7\x38\x5c\x6e\x72\xdf\xa1\x50\xe7\x64\x37\x35\x88\xde\x59\x4d\x97\xc2\xae\xb5\x22\x6d\x10\xe1\xd1\x90\x62\xed\x06\x75\x25\x81\xed\x11\xa5\x31\x47\xd4\xf6\x56\xb2\x17\xfb\xb9\xdb\x64\xaa\x38\xce\x96\xef\x81\x60\x7f\xc8\x9f\xd8\xd6\xe1\xc4\x58\x4c\xca\xb8\x1b\x85\x0e\x6f\x3c\x78\x58\x6f\xfc\xa5\x2b\xf1\x47\xef\x1e\x1b\x37\x1b\x2e\x09\x75\x1b\x4f\x65\x63\x38\xe3\x5a\xc8\xea\xc6\x0d\xe6\x97\x63\x60\xe2\x71\xab\x22\x64\xbf\x20\x6e\x51\x65\x45\xc3\x47\xd8\xe3\xa1\x40\x9e\x48\x38\xed\xe7\xb7\xca\xbc\xc4\x38\x97\xb3\xfd\x78\x70\x4e\x75\xac\xd5\x4c\xeb\x36\xf7\x43\xd4\xc1\x13\x7a\xc9\x22\x87\xfb\xac\xdc\xcc\xf2\xa0\x93\x1d\xf8\x0e\xb4\x4a\xf9\xb3\x8f\x58\x59\x69\xc3\x85\x9f\x78\x27\x8d\x9d\x80\xb4\x50\x29\x20\x4f\x19\x75\x1b\xbd\x2d\x5d\x59\xa2\x96\x21\x83\x96\x64\x09\xe3\x1c\x8f\x4c\xb1\xe5\x96\x39\x70\xcd\x56\x77\x8a\x34\xab\x5e\x0d\xb0\x5f\x2e\x9f\x3b\x17\x2b\xa5\x19\x57\xb7\xe7\x53\xb7\xab\x7c\x64\xe0\x9f\x18\x8c\xdb\xe9\xdd\x1f\xf8\x32\x16\x7e\xb8\xa3\x59\x85\xda\x1a\x77\x5c\xd1\x27\x03\x44\x05\x58\xd6\x76\xd7\x97\xaa\x40\x70\x9a\x7f\xe0\x61\x66\xe0\x0e\xf8\xc0\x4a\xf7\x1c\xa1\xe2\x9d\x95\x97\x34\x44\x4a\xa2\x55\x53\x9d\x9e\xcd\xe1\x4f\x1f\xfb\x37\xbc\x4e\xdb\x56\xc7\x6f\x22\x3c\x24\x31\x5d\x1d\x37\xcc\x83\x43\x6d\xfa\x8b\x38\xd4\xa6\x4f\xef\x9e\x52\x1f\x9a\x6e\x58\x84\xb1\xd3\x8e\xea\x76\xd4\x81\xa8\x3e\x5a\x53\x69\xde\xb9\x9b\x6a\x4e\xd5\xca\xe1\xf8\xfd\xd7\xf7\x0e\x48\x4e\xc0\x1c\x4e\xbc\x66\x61\x09\x0c\x3a\x45\x40\xb8\xf5\x46\xad\xf6\x2e\xe9\x4d\x60\xb4\x72\x32\x3d\x7a\xb0\x2a\x59\xb5\x45\xf2\xbc\xdf\xb0\x5d\xb8\x45\xfb\x78\xa8\x59\x8b\xcb\xa2\xff\xe2\x50\x97\x96\x66\x8b\xfe\x8b\x01\xb7\x77\x68\x65\x17\xf7\xae\xf7\x58\xe7\x75\xdf\xd8\x70\x1e\x66\x1b\xce\x47\x71\x75\x7e\xa8\xdc\xac\x78\x81\xf2\x58\x6a\xf1\xef\xc9\xd0\xec\xa3\x38\xda\xc5\xed\x79\x44\x0f\xc9\xdb\xec\xc7\x71\x8f\x4c\xe1\xec\x01\x1a\x99\xcd\xb9\xcf\x0d\x08\x7f\x9f\x3f\x2d\x7e\xc0\x8d\xf2\x55\xeb\x7c\x72\x36\x28\xde\xdf\x27\x97\x55\xb6\xd7\x57\x8c\x72\xa7\x5c\xea\xa7\x82\x70\x81\x05\x1b\xf8\x08\x8d\x6f\xd8\x95\x99\x09\xb6\x78\xcf\x3c\x78\x4f\x67\x89\x64\x4d\x09\xe0\x03\x7d\xaa\xbd\x6b\x40\x67\x33\x78\x2d\xca\x3d\x33\xc9\xe8\x6f\x37\x58\x05\xcf\xdf\x55\xdc\xf9\xe1\xfb\x77\x76\xf4\x87\xbe\xf7\xc8\xc2\x8b\x24\x75\x3a\x34\xea\x10\x91\x82\xff\x34\x66\xe0\x23\x17\x0c\xc7\x8b\x20\xdc\x95\x01\xec\x77\xf8\xab\x54\x78\x28\x3e\x60\x9f\xf2\x41\x38\x0e\x32\x72\xf8\x71\x89\xac\x0e\x46\xef\xfe\xd1\x08\x8d\xbe\x06\xc0\xdd\x23\xd9\x39\x23\x33\x7a\x6c\xc3\x80\x5e\x95\x5c\x73\xd1\x1d\x9b\x2f\x69\xea\x8c\xfa\xa3\xa8\x2a\xd4\x9d\x51\xe3\xcd\x08\xed\x60\x93\xbe\x4b\xcd\xbb\x37\x82\x8b\xa6\xa0\x42\xa1\xe1\xe9\x37\x17\x17\x77\xdf\xfd\xe1\xe2\x30\x5a\x4b\x1e\x69\x24\x5a\xef\x54\x26\xfd\xe2\x18\x47\x06\xae\x52\xef\x62\xf5\x7b\x03\xc6\xb5\xdb\xa8\x12\x6b\xb1\xc6\x4e\xa1\x0e\xbc\x51\xfe\xfa\x55\xae\xe8\x2b\x05\x17\xfc\x9c\xf0\x99\x91\xb5\x16\xe5\xc9\x04\x4e\xec\x56\x5a\x8b\x9a\x1e\x73\x69\x32\xa5\xf3\x93\x23\x87\x70\xdc\x88\x26\xa9\xec\x3c\xb8\xbc\xbf\xe9\x75\xce\xe3\x38\xac\xdb\xe7\x18\x67\x74\x5b\x1f\x5b\xb0\x1e\xec\x87\xd0\x25\x74\xfa\x4d\x6f\x9e\x7e\x40\x22\x2e\x21\x0c\x2c\x52\x32\xed\x37\x4d\xa8\x02\x8b\x94\x46\x03\x50\x1d\x49\x08\xa2\x7b\x7a\x9c\x53\x92\xde\x81\x3d\xec\x97\x78\xb7\x24\x42\xfb\x82\xfe\xc9\xa3\x7c\x93\x47\xdc\x9b\x3d\x98\x32\xfe\x2c\x1e\xca\x83\x6e\xd4\x3e\x62\x57\xc3\xdf\xe3\xfd\x94\x4f\x4f\xfe\x2f\x00\x00\xff\xff\x89\xc0\x73\x3f\xd0\x63\x00\x00"
 
 func utilityMetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -195,11 +195,11 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/MetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb0, 0xee, 0xa8, 0xa8, 0x62, 0x1, 0x4a, 0xd, 0xaa, 0xd6, 0xf2, 0xba, 0xa0, 0xf7, 0x91, 0x4c, 0x14, 0x3, 0x3c, 0xae, 0xdf, 0x3b, 0xd2, 0xf, 0x68, 0xf2, 0x3a, 0xed, 0xd9, 0xb5, 0xef, 0x89}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0x29, 0x7, 0x59, 0xc, 0x86, 0x2d, 0x16, 0x76, 0x12, 0xef, 0x30, 0x5d, 0x87, 0xf7, 0xf2, 0x44, 0x60, 0x4d, 0xfa, 0x6f, 0x39, 0x6d, 0x70, 0xf8, 0x49, 0x21, 0x8c, 0xf2, 0x89, 0x9c, 0xb4}}
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x51\x6f\x23\xb7\x11\x7e\xdf\x5f\x31\x75\x80\xda\x0e\x74\x72\x1f\x8a\x3e\x18\x08\x2e\x97\x38\x2e\x04\x14\x4e\x71\xd1\x25\x0f\x45\x11\x51\xbb\x23\x89\x3d\x2e\xb9\x47\x72\xa5\xa8\x8e\xff\x7b\x31\x43\x72\x97\xbb\x5a\xf9\xec\xa4\xad\x1e\x92\xd3\x6a\x39\x1c\xce\x7c\x33\xf3\xcd\xd0\x37\x5f\x7e\x59\x14\x5f\x7c\x01\xcb\x1d\xc2\xbd\x32\x07\x78\x30\xfa\xcd\x7d\xab\xb7\x72\xad\x10\x96\xe6\x23\x6a\x70\x5e\xe8\x4a\xd8\x8a\x5f\x5c\x3d\x18\x9d\x7e\xe7\x9f\x57\x50\x1a\xed\xad\x28\x7d\x51\x90\x14\xa9\x3d\xda\x8d\x28\x11\xfc\x4e\x78\x10\x4a\x4d\xc9\x4c\x6b\x1c\xb8\x9d\x69\x55\x45\x0f\x36\xc6\xd6\xe0\xcd\xbc\x58\x6c\x40\x40\xeb\xd0\xc2\x41\x68\xef\xc0\x1b\xa8\xb0\x51\xe6\x08\x02\x34\x1e\xe0\xe1\x7e\xd9\x09\x98\x81\xdf\xa1\xb4\xdd\xf7\x24\x4f\xd6\x8d\xc2\x1a\xb5\x67\xa5\xfc\xb1\x41\x07\x15\x6e\xa4\xc6\x0a\x76\x68\x31\x1e\xe6\x7e\xb9\x02\x8b\xce\xb4\xb6\xcc\x54\x0f\x27\x29\x8d\xc5\xfe\x47\x12\x11\x8e\x64\xb1\xb1\xe8\x90\x34\x13\x9a\x95\x91\x9a\xb4\x00\x57\x0b\xeb\x3b\x4d\xe6\x61\x8b\x6f\x8d\x52\x58\x7a\x69\xf4\x0a\xde\x9f\xd9\xa9\xdf\x84\xe4\x3b\x6f\x2c\xba\x68\x82\x4b\x17\x8f\x9b\xa4\xcc\x8b\x85\x07\xa9\x4b\xd5\x56\xfc\xd2\x06\x0f\xb0\x69\x35\xff\xc6\xa6\x12\x8a\xfc\x48\xfa\x98\x83\x46\x4b\x8f\x50\x38\xa9\x8e\x45\x6d\xf6\x08\x9e\xec\xef\x48\x65\xa1\x2b\x30\xad\x07\xb3\xe1\xb7\xf3\x2d\x58\xf3\xbf\x5b\xb3\x97\x15\xda\x15\xbf\xb9\x7a\x8f\x25\xca\x3d\x7d\x3d\x35\x98\xe3\x73\xb8\xfc\x09\x54\x58\x2a\x61\x31\x53\xee\x20\xfd\x0e\x9c\xa9\x11\x1a\x8b\x2c\xb4\x31\x8e\x0d\x56\x49\x7e\xa3\x88\xf6\xfd\xd4\x4a\x8b\xac\x54\x6f\x3d\x3a\xc7\xc6\xf0\xd9\x4a\xb4\x5e\x48\x0d\x5a\xd4\x52\x6f\x59\xd0\x1a\x77\x62\x2f\x8d\xed\xc0\xea\xe6\xac\xd2\x11\x48\x05\x87\x8d\xb0\xc2\x23\xac\xb1\x14\x2d\xa9\xe9\x61\x2b\xf7\xac\xe4\x1e\x95\x69\xd0\x3a\xde\x4e\xac\xa5\x92\xfe\x18\x10\x47\x60\xe9\xb5\x0f\xba\x95\x42\x93\x5b\x40\xe8\x63\x86\x88\x0e\x6c\x2c\xc5\x0d\x0d\xf3\xcd\x11\x5a\x47\x7a\x26\xb3\x39\xd6\xb8\x7f\x65\xc6\x8e\x76\xe4\x07\x72\xf5\x10\x45\x8e\xb7\x74\xa8\xab\x82\x56\xd9\xe0\x84\xe4\xc5\x06\xd1\xbe\xf1\xe6\x0d\xfd\x7f\xc6\xf6\x25\x87\x92\x29\xf4\x96\x0e\xc1\x9b\x50\x54\xb0\xe9\x05\x94\x48\x52\x15\x28\xac\xb6\x68\x8b\x13\xc0\x2e\x0d\x6f\x95\x70\x4d\x68\xd2\xc6\xef\xd0\xb2\x8a\xb3\x2e\x2c\x39\xc4\x1c\x1d\xfb\xc8\xa2\x2b\x2b\x02\xe4\x1e\xee\x97\xc5\xc6\x9a\x3a\x46\x65\xef\x3e\x8e\x53\x0d\x25\xe5\x03\x7a\xb1\xc2\xc6\x38\xe9\x3b\xfb\x82\xd1\x83\xbd\x2e\x5d\x31\xf4\x7d\x69\xc8\xc8\x3e\xc0\xc2\x5b\xa1\xdd\x06\xed\xbc\x28\xbe\xbc\x29\x0a\x59\x37\xc6\x7a\xf8\x51\xe2\x81\x42\x4c\xed\xd1\x02\x6b\x71\x91\x3f\xba\x28\x8a\x9b\x9b\x1b\x4e\x75\x35\xc1\x27\x4f\x23\x73\xf8\x9e\xb7\xce\x9f\x11\x60\x95\xe2\x35\x71\x03\xf6\x5b\xf2\x35\x2b\x32\xc0\x7b\xc8\x2e\x9c\x0c\xa4\xeb\xd3\xe2\xcd\xcd\x4d\x21\xca\x12\x9d\xbb\x12\x4a\x5d\xf7\xa9\xaa\x4f\x95\xe3\xa4\x7a\x3b\x3c\xcb\x63\x51\x00\x00\x90\x26\xef\x34\xa0\xf6\xd2\x47\x1d\x36\xc6\x86\x80\x67\x87\xef\xb0\xf3\x86\x50\x1c\xd7\x01\x26\x6c\x0b\x01\x3f\x8a\x56\x79\x96\x94\xab\x93\x8b\xfb\x29\xae\x7e\xd9\x7e\x6d\x53\x09\x1f\xe1\x1c\xfe\x0d\xb8\xe7\x28\xe0\xd7\xd8\xc2\xcf\x6e\xf7\x81\x17\xf5\x9b\x8d\x77\x8a\x09\x8c\x42\x6c\x6b\xb9\x14\x24\x05\x79\xcf\xb8\xfc\xb9\x1d\xbe\x27\x09\xfd\x06\xdf\xed\x83\xe3\x84\x3f\xad\x40\x58\x4b\x0f\x07\x02\x29\xd9\xb1\x46\x2f\x2a\xe1\x05\x59\x31\x65\x79\x17\x4f\x59\x75\xf2\x16\x21\x23\x18\xad\x8e\xb0\x46\x16\xe1\xb1\x82\xf5\x91\x81\x9e\x7c\xb2\xa2\xe7\x0f\xf7\xcb\xa0\x6f\xb5\xea\x40\xdf\xc9\x09\xe1\xa9\x61\xc5\xaf\x88\xb5\xc2\x55\x3a\x06\xc5\xfc\x06\x2d\x6a\x2a\x0f\x26\x05\x59\x38\xc3\x41\x9c\xaa\x44\xf0\xce\x2d\xd0\xd8\xe8\x13\xd7\x88\xba\xa6\x3c\xc3\x68\xe8\xf5\x93\xf1\x49\x1f\x7b\xee\x32\x2b\x06\xae\x93\x9c\x92\x27\x9f\xb6\x34\x55\x00\x1b\x15\x92\xec\x75\x30\xd1\x61\x3b\x41\x5b\x62\x29\x85\xea\x8f\x12\xdc\xd4\x49\x8c\xe7\xc9\x36\x23\xbb\xef\x4c\x15\x42\x8f\x4c\x4a\xb6\xa0\xf7\xb6\x18\x02\xee\xd4\x2a\x9d\xb4\xa1\x09\xd8\xd3\xb5\xf8\x88\x8e\xb2\xbd\x33\x41\x2b\xbf\x93\xb6\x7a\xd3\x08\xeb\x8f\x20\x75\x85\xbf\x90\x41\xc8\x85\xb5\xd1\xd2\xb3\xee\x09\xc4\x9d\x38\x82\xda\xa7\x16\xed\x91\x7f\x8c\xf6\xee\x01\x92\xd2\x5d\x40\xeb\xd0\x76\xf3\x24\xe4\x14\xa4\xfb\x3e\x00\xaa\x2b\x2a\x25\xb7\xf0\x83\xb7\x52\x6f\x67\x20\xab\x5b\xf8\xb0\xd0\xfe\x2f\x7f\x9e\x41\xdb\xe6\xdf\x78\x8b\x5b\x78\x57\x55\x16\x9d\x7b\x7b\x9d\x8b\x4d\x80\xbe\x86\xbd\x0c\x9c\x00\x86\xb8\xbb\xfa\x19\xf4\xc6\xbf\xc7\xcd\x2d\x88\xd6\xef\xae\xc2\x63\xf8\x35\x04\xc9\x35\xfc\xf1\x71\x9c\x86\xe6\x0f\xf7\xcb\xa7\xb0\xc9\x23\xff\x97\x3e\x1c\x27\x43\xc5\x83\xd8\xf9\x16\xfd\xf2\xd8\xe0\xd5\xf5\x5c\x56\xe4\xa7\x8d\xa4\x9a\x41\xfa\xc7\x17\x64\x95\x0e\x14\x1f\xd0\x97\xee\x54\xf1\x19\x7f\x7b\x3b\x17\xe1\x8c\x61\xf7\xa7\x62\x32\x86\xa5\xeb\x42\x8e\x03\x57\x84\x84\x47\xcf\x53\x1e\xd4\xb3\x6e\xa1\xd4\x95\x2c\x85\x4f\x51\x49\xaa\x93\x76\x41\xa5\x59\xc6\x98\x4e\x08\x51\xdc\x2d\x04\x5c\x27\x99\x3d\x3f\x1b\xc0\x84\x96\x7d\xf8\xb0\xb8\x4b\x22\x7a\xa6\x34\xb9\x16\x5a\xd7\x0a\xa5\x8e\x83\x08\x1a\x62\x86\xb3\xcc\x89\x3e\xd2\x81\x36\x3e\x90\x38\xf2\xbf\x69\xb5\xbf\x74\xcc\x1c\xc5\x16\x67\xb0\x22\xf1\xab\x2e\x88\x56\x5a\xaa\xd5\xe7\xb0\x98\x52\xab\x7e\x31\x1a\x69\x93\x1e\x8c\x33\x68\x22\x61\x24\x0b\xa4\xb7\xae\x27\x1d\x77\xce\x6b\x91\x15\x60\xc5\xd4\x63\xca\x28\xb0\x08\x5e\x44\xf7\xbb\x9c\x98\x6f\xf4\xbc\x0b\x73\xab\x9f\xae\xfd\xaf\xf9\x6a\xf6\x3a\x67\xdd\x25\x1d\x5e\xec\x2c\x6f\x72\x57\xf5\xfa\x9d\x71\xd6\x22\x74\x18\x15\xd7\xe1\xb5\x28\x3f\x1e\x88\x54\xbf\x21\x16\x26\xbc\x0c\x34\xf9\x44\xb7\xd3\xc6\x00\x16\x0f\xf7\xcb\x5b\xae\x58\x8f\x4f\xb9\xf4\x41\x93\x18\x8b\x9a\x83\xba\x0d\xfd\x40\x6c\x05\xcf\x1a\x61\x62\x23\xde\x27\x67\x4d\xf3\x31\x7d\x4a\x9b\xb7\x5a\x7e\x6a\x11\x16\x77\x7c\xb6\xc4\x5a\xd3\x1b\xf9\x36\x0a\x7d\x66\xd1\xa1\x94\xe9\x34\x24\x5a\x6f\x6a\xe1\x65\xc9\x61\x8d\x7b\xae\x1a\xb2\x46\x10\x99\xce\x04\x21\xe7\xad\x39\xc6\xb2\x9d\xd7\x2d\x6e\x2a\x24\x1b\x40\x24\xf8\xc8\xe4\x0b\x39\xe2\x26\x01\x0b\xce\x10\x32\x23\xcc\x34\x22\xbd\x29\xb8\x37\x15\x76\xdb\x72\x0f\x3c\x75\xb8\xb0\x38\xb5\xa4\x77\x49\xa3\xab\xfe\xc0\xf0\x15\x38\x54\x79\xda\x1e\x3e\xa7\x67\xd7\x43\xab\x94\x16\x85\xc7\xef\xea\xc6\x1f\x33\xfa\x1e\x9e\xb2\x4a\x48\x3f\x0d\xda\xba\x68\xc1\x54\xe8\xb9\xfb\x3d\xf1\x4a\x8a\x4e\x8b\xbe\xb5\x9a\x4b\x7a\x22\x0f\x42\x29\xb4\x59\x81\xc7\x63\xe0\x64\x07\x66\x6d\x6e\x20\xe2\xeb\xb0\x1e\xde\xf5\xaa\x8c\x13\x04\xb7\x5b\x51\x07\xe9\xce\x42\x83\xca\xeb\xe4\x61\xaf\xae\x6f\xe1\xeb\xc7\xfe\xfb\x53\x56\x3a\xe9\xc3\x2d\xef\xf0\x11\x7d\x2c\xba\x56\x79\x2a\xa1\x7f\x43\xbd\xf5\xbb\xab\x6b\xf8\xea\x2b\xf8\xd3\x2d\x5c\xf0\x28\x82\x77\xaa\x72\x65\x39\x54\x98\x73\x36\xfe\xf8\x87\x8b\x81\xc0\xa7\xa2\xff\xd7\xe0\xfc\x7f\x45\xef\x20\xb5\x60\x1c\x71\x89\x15\x85\x31\x43\x25\x2d\x96\x5e\x1d\xc9\x7a\xe7\x2c\x57\x49\x56\x40\xd8\x23\x73\x63\xa5\xc0\xb5\xeb\x87\xfb\xe5\x0f\xf0\x11\x8f\x81\xfc\x12\x88\x27\xad\xd6\x31\x93\x2d\xfa\x77\x7b\x21\x15\x79\xfd\x87\xb0\x9c\x0c\xf7\xb8\xe4\x6c\x16\x60\x36\xb6\x5c\xd4\xe0\xf1\xb9\xd3\x71\x9c\x65\x74\x39\x35\xb2\x83\x53\x9e\x1c\xee\x1b\x43\xf4\x3b\x06\x8b\xe3\x91\x81\x69\xf8\x90\x6a\x38\x51\x89\x4d\x71\xb9\x33\xc6\xe1\x40\xc4\xce\x1c\x08\x94\x09\x9f\xae\x5d\x07\xfb\x56\xd8\xa0\xae\x88\x73\x18\x0d\x07\x9e\x88\x0d\xf6\x89\x35\x73\x98\x08\xee\x8d\x05\xfc\x45\x50\xa7\x39\x03\xb9\x81\x15\x19\x74\xc5\x94\x5a\xc0\x5e\xa8\x16\x67\xb0\x6e\x3d\xac\x64\xb5\x82\xca\xa0\xd3\x97\x61\x10\xc6\x0a\x0e\x03\x52\xe8\xa8\x2e\x1c\x76\xb2\xdc\x05\x03\x6c\xa2\x45\x78\x82\x61\x92\x65\x25\xd7\x2e\xcb\x19\x4a\xc0\x45\x85\x1b\x6a\x18\x2f\x06\xf2\x16\x1b\x58\x07\x6b\xc5\x4a\x15\x1b\xfb\x1e\x4c\xdc\x1e\x84\x08\x12\xe0\xa4\xde\xaa\xa0\x16\x69\xf2\x2f\x02\x6d\xd8\x6d\x20\x95\x16\xce\x61\x49\x0e\xda\xa1\x6a\x5c\x8c\x6a\x07\x87\x9d\xa1\xad\xf4\xa5\x07\xd7\x5a\x0c\x16\xf4\x69\xae\xa3\x8c\xf9\x48\xa6\xa5\x3c\x9e\xcb\x1b\x22\xb7\x11\x56\xd4\x10\xea\x24\x05\x13\x61\x2c\x55\xf7\x0a\x9d\xb4\x58\x9d\xe4\x9a\xb8\x88\x72\x1e\x0f\x35\xab\xb4\x20\x22\x60\x6d\xac\x35\x87\xf3\x7b\x76\xd1\xe2\xbc\x6d\x4b\xdf\xf2\x24\x31\x8e\x0d\x13\x01\xb5\xf8\xa9\x45\x47\x61\x4d\x61\x31\x3f\x9b\x66\xb6\xe8\x43\x88\xc4\x5a\xbf\x8c\x9c\xa7\xab\xda\x70\x7b\x8e\xbb\xbf\x9d\x0e\x21\x2d\x55\x31\xcc\x15\xd3\xb5\xd9\x40\x8d\x95\xa4\x26\xa1\x1f\x2b\x74\xd3\x84\x54\xcf\x72\x16\xdb\xa7\xbd\xd7\x94\xee\x34\x68\x1c\x16\x6a\xf8\x09\x63\x4f\x9e\x7a\xfe\x34\x5c\x48\x0d\x57\xe2\x9b\x99\xa8\xd4\xa3\x12\x87\xa0\x3c\xa5\xb7\xdd\xf2\x5c\x74\x94\x14\x91\x25\x78\x58\xb3\x09\x53\x3a\x6f\x62\x65\x54\xd2\x79\xa4\x8e\x2e\xfd\xae\xa2\xc0\x34\xba\x8a\x6d\xe2\xc0\xf1\x9d\xae\x16\x6b\xb3\xc7\x6e\x42\xdc\xe9\x9c\x65\x70\xaa\x67\xe1\xa5\x71\x35\x1b\x46\x9c\xe7\x10\xe7\xea\xce\x0d\xf5\xe6\x48\xbc\x99\xbb\x75\x5a\xb2\xb8\xa3\x78\x0d\x94\xd5\xd2\x5b\x53\x40\x4e\x7a\x11\xd7\x9b\x04\x74\xa7\xf8\x84\xa6\x63\x64\x76\x43\x98\xae\x75\x24\x98\x26\x09\x57\xf9\x5e\x11\xa1\x54\x12\x09\x8f\xaf\xaa\x85\xb2\xa2\x12\x98\x4b\xe3\x5a\xd8\x53\xf3\xbe\x9b\x0a\x0d\x44\x2a\x89\x3c\x8b\x17\x44\xba\xdc\x28\xd0\x16\x77\x17\x27\xbb\x31\xc6\xc6\xcd\x4f\x5f\x8e\xcf\x74\xb4\x9d\x8e\x89\x1a\xc5\x07\xa1\x0d\x09\x9d\x11\x93\xa4\x61\x3b\x3b\x6e\x92\x32\x1e\x95\xeb\xf4\xf4\xca\xf0\x8c\x90\x74\x09\x46\xbf\x2d\x0e\xd3\x84\x7f\x4c\x98\x13\xe0\x3d\x4f\x53\x22\xa2\x87\x0c\x93\xc1\x2c\xaa\x2a\xc7\xf2\xb7\xa7\x00\xca\xf3\x71\x98\x73\x2e\x7b\x08\xc6\x6d\xce\xe6\xc1\xf8\xfb\x55\x5c\x19\x10\x35\xe2\x9f\x9c\x2b\x9b\xc6\x58\x8f\xd5\xc3\xfd\x72\xc9\xf7\x3e\xa9\x28\x0b\x8e\xe9\x34\x67\x0f\x77\x42\x3d\x33\xb0\xe9\xf4\xb4\x6f\xe3\x5f\x46\x7f\x82\x90\x5a\x34\x4d\xe8\x59\xd7\xc6\x28\x14\x7c\xbf\xd2\x0d\x1b\xb8\xac\xca\xa1\xbc\x1e\xea\xa5\xa4\x2e\x01\x5c\xd0\x9a\xec\xf7\x59\xe6\x74\x72\xc2\x8c\x3a\x7d\x63\x8c\x1a\xd1\xa2\xf7\xf1\xf8\x29\x69\x84\x2c\xc1\x2e\xda\xca\x3d\xea\xd8\x73\xb8\x78\xf0\x48\xe1\xa6\x33\x00\x8f\x84\x27\x39\x73\x58\xdc\x5f\x8c\xc4\xa9\x6a\x56\xf1\xc1\xdb\x16\x49\x76\x24\x16\xe7\xab\xf4\x3b\xdd\x79\xe8\x8c\x17\xa2\x9d\x27\xcc\xdc\xfb\x91\xb4\x8a\xf6\x1d\xd7\xfa\x17\x30\x54\xe9\xc6\x66\xce\xca\xef\x75\x30\xf4\x38\x36\xdf\x87\x9b\xab\x6e\x7e\x1d\x8c\xa8\x4b\x8b\x7e\x74\x93\x98\x8f\x40\xd7\x98\xee\xca\xba\x0e\xaf\xbb\x64\xa0\x83\x75\x17\x09\xaf\x08\xe5\x3e\xf6\x6e\xbb\xf2\x3a\x7b\x69\x80\x9f\x8b\xef\x78\x31\x29\x7d\x52\xf3\x0c\x40\x3e\x17\xe1\xa4\xe7\x78\xf2\xfb\x8a\xa8\x9f\x1c\x52\x8e\x2b\x8b\xc5\x89\xc2\x92\x91\x8a\xfc\x0e\x2a\xd4\xfb\x78\xa6\xc1\x85\x6d\x7f\x4f\x3b\x21\x2a\x71\x8d\xf3\xab\x38\xa8\x54\x4d\x55\x4e\xa8\x83\x38\x86\x72\xb4\x91\xd4\x57\x54\xe8\xbc\xd4\x62\x70\xf6\x4c\x78\x7f\x79\x43\x96\xef\x34\xad\xa5\x73\x3c\x27\x0f\x43\xfc\xd6\x79\x53\x77\x88\x27\x9a\x42\x31\xb7\xc6\x9e\xcf\x4c\xc9\x26\x89\x3b\x61\xab\x40\xfd\x09\xa0\x32\xf4\xde\x23\xe2\x33\x5d\x2a\xc7\xa3\x27\x56\xf3\x99\x4a\x19\x7e\xef\x0b\x65\xf8\x1e\xc7\x75\xe6\x4c\x95\x1c\xcf\xa7\x5e\x50\x27\x4f\x1b\x5d\xbe\xd1\xad\x4d\xab\x53\xce\x0f\x53\xb7\x3e\xcc\xce\xe1\x37\xa5\x19\xcd\xae\xdc\x32\xc3\x1c\xcc\x8e\x9d\xfc\x37\x9e\x0e\x08\x3f\x9b\xb8\x53\x6b\x7f\x4b\x55\x7c\xaa\x33\xef\x0a\x54\xea\xd1\x17\x77\xee\xe5\xca\x0a\x6b\xc5\x31\x95\xb7\xe7\x57\x9e\xd3\x70\x71\xc7\xc5\xe4\x1f\x81\xb7\xfd\x13\x8a\x51\x9f\x4c\x5d\x8f\x3b\xd3\x64\xbf\xc8\xb6\x8b\x9e\x75\xf2\xa5\x17\x5b\x93\x59\xad\x64\x7e\x96\x8d\x4b\x87\x52\x66\xa3\x86\xb1\xbf\x9a\x4f\xa5\x26\x1a\x82\xbb\x52\xc6\x38\xc9\x69\x84\x96\xe5\xfc\x73\xcd\x61\xea\xf3\x52\x89\xd0\x1b\x4f\x14\xf9\x44\x89\xac\x59\x4e\x36\x28\x91\x52\xfd\xfc\x9c\x4f\xba\x39\xc2\xd4\x2d\xde\xf3\xee\x08\x3d\x26\xf5\x7d\x3f\xe7\xdd\xde\x8b\x9b\xbd\x33\xec\xfa\x2a\x30\x55\xe2\xd6\x5a\xaa\x6b\xf8\xf5\xd7\xf4\xe8\x6d\xa4\xdc\xb2\xba\xbe\x85\x93\x75\xf4\xb9\xf8\x56\x68\xb2\x6a\x50\x8d\xbd\xd8\x9d\x2b\x58\x30\xbf\xfb\x20\x1b\x0c\xee\x2f\xbb\x3e\xa6\x16\xbe\xdc\xa5\xee\xa5\xbb\xca\xec\x70\xf0\xc2\x69\xd6\xeb\x87\x8d\x51\x35\x6e\x0e\x4e\xd8\xc5\x73\xf3\xc5\x57\x4c\x11\xcf\xee\xf1\xff\x19\x1f\x86\x2c\x4c\x6e\xe4\x9c\xd9\x3d\x39\x3f\x49\xec\xbc\xb2\x13\x7b\x1c\xea\x1e\x3a\x28\xfe\x63\x86\xf4\xfa\x69\x03\xf5\x3f\x1b\x5d\xc2\x90\x5d\xbd\xde\xdd\x89\x83\xf5\x09\x66\xc0\xfd\x7e\xe7\x50\x39\xcb\x1f\x7a\xe3\x97\xdd\x7c\x29\x4f\x22\xa3\x09\xdb\xe0\xa6\xbc\x4b\x1b\xcf\xa5\xf1\x65\xde\xa5\x9c\x21\x86\xf1\x4f\x4f\xe2\x6d\xf3\xcb\x60\xd6\x6b\x1c\xe8\xec\x04\xaf\x9a\x06\xe1\x04\x00\x7b\x00\x70\xf9\x98\x2b\x86\xc1\x6f\x04\x41\x72\xfb\x53\xf1\x9f\x00\x00\x00\xff\xff\x42\x9e\x6c\x8a\x9c\x28\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4f\x8f\xe3\x36\xb2\xbf\xeb\x53\xd4\xeb\x00\x6f\xba\x03\x8f\xfb\x1d\x1e\xf6\xd0\x40\x30\x99\xa4\xd3\x0b\x63\x17\x9d\x60\xe2\x49\x0e\x8b\x45\x4c\x4b\x65\x9b\x3b\x14\xa9\x21\x29\x3b\xde\x4e\x7f\xf7\x45\x15\x49\x89\x92\xe5\xfe\x93\xec\xae\x0f\xc9\x58\x16\x8b\xc5\xaa\x5f\x55\xfd\xaa\xd8\xd7\x5f\x7e\x59\x14\x5f\x7c\x01\xcb\x1d\xc2\x9d\x32\x07\xb8\x37\xfa\xed\x5d\xab\xb7\x72\xad\x10\x96\xe6\x13\x6a\x70\x5e\xe8\x4a\xd8\x8a\x5f\x5c\xdd\x1b\x9d\x7e\xe7\x9f\x57\x50\x1a\xed\xad\x28\x7d\x51\x90\x14\xa9\x3d\xda\x8d\x28\x11\xfc\x4e\x78\x10\x4a\x4d\xc9\x4c\x6b\x1c\xb8\x9d\x69\x55\x45\x0f\x36\xc6\xd6\xe0\xcd\xbc\x58\x6c\x40\x40\xeb\xd0\xc2\x41\x68\xef\xc0\x1b\xa8\xb0\x51\xe6\x08\x02\x34\x1e\xe0\xfe\x6e\xd9\x09\x98\x81\xdf\xa1\xb4\xdd\xf7\x24\x4f\xd6\x8d\xc2\x1a\xb5\x67\xa5\xfc\xb1\x41\x07\x15\x6e\xa4\xc6\x0a\x76\x68\x31\x1e\xe6\x6e\xb9\x02\x8b\xce\xb4\xb6\xcc\x54\x0f\x27\x29\x8d\xc5\xfe\x47\x12\x11\x8e\x64\xb1\xb1\xe8\x90\x34\x13\x9a\x95\x91\x9a\xb4\x00\x57\x0b\xeb\x3b\x4d\xe6\x61\x8b\x6f\x8d\x52\x58\x7a\x69\xf4\x0a\x3e\x9c\xd9\xa9\xdf\x84\xe4\x3b\x6f\x2c\xba\x68\x82\x37\x2e\x1e\x37\x49\x99\x17\x0b\x0f\x52\x97\xaa\xad\xf8\xa5\x0d\x1e\x60\xd3\x6a\xfe\x8d\x4d\x25\x14\xf9\x91\xf4\x31\x07\x8d\x96\x1e\xa1\x70\x52\x1d\x8b\xda\xec\x11\x3c\xd9\xdf\x91\xca\x42\x57\x60\x5a\x0f\x66\xc3\x6f\xe7\x5b\xb0\xe6\x3f\x58\xb3\x97\x15\xda\x15\xbf\xb9\xfa\x80\x25\xca\x3d\x7d\x3d\x35\x98\xe3\x73\xb8\xfc\x09\x54\x58\x2a\x61\x31\x53\xee\x20\xfd\x0e\x9c\xa9\x11\x1a\x8b\x2c\xb4\x31\x8e\x0d\x56\x49\x7e\xa3\x88\xf6\xfd\xdc\x4a\x8b\xac\x54\x6f\x3d\x3a\xc7\xc6\xf0\xd9\x4a\xb4\x5e\x48\x0d\x5a\xd4\x52\x6f\x59\xd0\x1a\x77\x62\x2f\x8d\xed\xc0\xea\xe6\xac\xd2\x11\x48\x05\x87\x8d\xb0\xc2\x23\xac\xb1\x14\x2d\xa9\xe9\x61\x2b\xf7\xac\xe4\x1e\x95\x69\xd0\x3a\xde\x4e\xac\xa5\x92\xfe\x18\x10\x47\x60\xe9\xb5\x0f\xba\x95\x42\x93\x5b\x40\xe8\x63\x86\x88\x0e\x6c\x2c\xc5\x0d\x0d\xf3\xcd\x11\x5a\x47\x7a\x26\xb3\x39\xd6\xb8\x7f\x65\xc6\x8e\x76\xe4\x07\x72\xf5\x10\x45\x8e\xb7\x74\xa8\xab\x82\x56\xd9\xe0\x84\xe4\xc5\x06\xd1\xbe\xf5\xe6\x2d\xfd\x7f\xc6\xf6\x25\x87\x92\x29\xf4\x96\x0e\xc1\x9b\x50\x54\xb0\xe9\x05\x94\x48\x52\x15\x28\xac\xb6\x68\x8b\x13\xc0\x2e\x0d\x6f\x95\x70\x4d\x68\xd2\xc6\xef\xd0\xb2\x8a\xb3\x2e\x2c\x39\xc4\x1c\x1d\xfb\xc8\xa2\x2b\x2b\x02\xe4\xee\xef\x96\xc5\xc6\x9a\x3a\x46\x65\xef\x3e\x8e\x53\x0d\x25\xe5\x03\x7a\xb1\xc2\xc6\x38\xe9\x3b\xfb\x82\xd1\x83\xbd\xde\xb8\x62\xe8\xfb\xd2\x90\x91\x7d\x80\x85\xb7\x42\xbb\x0d\xda\x79\x51\x7c\x79\x5d\x14\xb2\x6e\x8c\xf5\xf0\x93\xc4\x03\x85\x98\xda\xa3\x05\xd6\xe2\x22\x7f\x74\x51\x14\xd7\xd7\xd7\x9c\xea\x6a\x82\x4f\x9e\x46\xe6\xf0\x3d\x6f\x9d\x3f\x23\xc0\x2a\xc5\x6b\xe2\x06\xec\xb7\xe4\x6b\x56\x64\x80\xf7\x90\x5d\x38\x19\x48\xd7\xa7\xc5\xeb\xeb\xeb\x42\x94\x25\x3a\x77\x29\x94\xba\xea\x53\x55\x9f\x2a\xc7\x49\xf5\x66\x78\x96\x87\xa2\x00\x00\x20\x4d\xde\x6b\x40\xed\xa5\x8f\x3a\x6c\x8c\x0d\x01\xcf\x0e\xdf\x61\xe7\x0d\xa1\x38\xae\x03\x4c\xd8\x16\x02\x7e\x12\xad\xf2\x2c\x29\x57\x27\x17\xf7\x73\x5c\xfd\xb2\xfd\xda\xa6\x12\x3e\xc2\x39\xfc\x1b\x70\xcf\x51\xc0\xaf\xb1\x85\x9f\xdc\xee\x23\x2f\xea\x37\x1b\xef\x14\x13\x18\x85\xd8\xd6\x72\x29\x48\x0a\xf2\x9e\x71\xf9\x53\x3b\x7c\x4f\x12\xfa\x0d\xbe\xdb\x07\xc7\x09\x7f\x5a\x81\xb0\x96\x1e\x0e\x04\x52\xb2\x63\x8d\x5e\x54\xc2\x0b\xb2\x62\xca\xf2\x2e\x9e\xb2\xea\xe4\x2d\x42\x46\x30\x5a\x1d\x61\x8d\x2c\xc2\x63\x05\xeb\x23\x03\x3d\xf9\x64\x45\xcf\xef\xef\x96\x41\xdf\x6a\xd5\x81\xbe\x93\x13\xc2\x53\xc3\x8a\x5f\x11\x6b\x85\xab\x74\x0c\x8a\xf9\x0d\x5a\xd4\x54\x1e\x4c\x0a\xb2\x70\x86\x83\x38\x55\x89\xe0\x9d\x5b\xa0\xb1\xd1\x27\xae\x11\x75\x4d\x79\x86\xd1\xd0\xeb\x27\xe3\x93\x3e\xf6\xdc\x9b\xac\x18\xb8\x4e\x72\x4a\x9e\x7c\xda\xd2\x54\x01\x6c\x54\x48\xb2\xd7\xc1\x44\x87\xed\x04\x6d\x89\xa5\x14\xaa\x3f\x4a\x70\x53\x27\x31\x9e\x27\xdb\x8c\xec\xbe\x33\x55\x08\x3d\x32\x29\xd9\x82\xde\xdb\x62\x08\xb8\x53\xab\x74\xd2\x86\x26\x60\x4f\xd7\xe2\x13\x3a\xca\xf6\xce\x04\xad\xfc\x4e\xda\xea\x6d\x23\xac\x3f\x82\xd4\x15\xfe\x4a\x06\x21\x17\xd6\x46\x4b\xcf\xba\x27\x10\x77\xe2\x08\x6a\x9f\x5b\xb4\x47\xfe\x31\xda\xbb\x07\x48\x4a\x77\x01\xad\x43\xdb\xcd\x93\x90\x53\x90\xee\xfb\x00\xa8\x2e\xa9\x94\xdc\xc0\x8f\xde\x4a\xbd\x9d\x81\xac\x6e\xe0\xe3\x42\xfb\x3f\xfd\xff\x0c\xda\x36\xff\xc6\x5b\xdc\xc0\xfb\xaa\xb2\xe8\xdc\xbb\xab\x5c\x6c\x02\xf4\x15\xec\x65\xe0\x04\x30\xc4\xdd\xe5\x2f\xa0\x37\xfe\x03\x6e\x6e\x40\xb4\x7e\x77\x19\x1e\xc3\x6f\x21\x48\xae\xe0\x7f\x1f\xc6\x69\x68\x7e\x7f\xb7\x7c\x0c\x9b\x3c\xf0\x7f\xe9\xc3\x71\x32\x54\x3c\x88\x9d\x6f\xd1\x2f\x8f\x0d\x5e\x5e\xcd\x65\x45\x7e\xda\x48\xaa\x19\xa4\x7f\x7c\x41\x56\xe9\x40\xf1\x01\x7d\xe9\x4e\x15\x9f\xf1\xb7\x77\x73\x11\xce\x18\x76\x7f\x2c\x26\x63\x58\xba\x2e\xe4\x38\x70\x45\x48\x78\xf4\x3c\xe5\x41\x3d\xeb\x16\x4a\x5d\xc9\x52\xf8\x14\x95\xa4\x3a\x69\x17\x54\x9a\x65\x8c\xe9\x84\x10\xc5\xdd\x42\xc0\x75\x92\xd9\xf3\xb3\x01\x4c\x68\xd9\xc7\x8f\x8b\xdb\x24\xa2\x67\x4a\x93\x6b\xa1\x75\xad\x50\xea\x38\x88\xa0\x21\x66\x38\xcb\x9c\xe8\x23\x1d\x68\xe3\x03\x89\x23\xff\x9b\x56\xfb\x37\x8e\x99\xa3\xd8\xe2\x0c\x56\x24\x7e\xd5\x05\xd1\x4a\x4b\xb5\x7a\x0e\x8b\x29\xb5\xea\x17\xa3\x91\x36\xe9\xc1\x38\x83\x26\x12\x46\xb2\x40\x7a\xeb\x6a\xd2\x71\xe7\xbc\x16\x59\x01\x56\x4c\x3d\xa6\x8c\x02\x8b\xe0\x45\x74\x7f\xc8\x89\xf9\x46\x4f\xbb\x30\xb7\xfa\xe9\xda\x7f\x9b\xaf\x66\xaf\x73\xd6\x6d\xd2\xe1\xc5\xce\xf2\x26\x77\x55\xaf\xdf\x19\x67\x2d\x42\x87\x51\x71\x1d\x5e\x8b\xf2\xd3\x81\x48\xf5\x5b\x62\x61\xc2\xcb\x40\x93\x4f\x74\x3b\x6d\x0c\x60\x71\x7f\xb7\xbc\xe1\x8a\xf5\xf0\x98\x4b\x1f\x34\x89\xb1\xa8\x39\xa8\xdb\xd0\x0f\xc4\x56\xf0\xac\x11\x26\x36\xe2\x7d\x72\xd6\x34\x1f\xd3\xa7\xb4\x79\xab\xe5\xe7\x16\x61\x71\xcb\x67\x4b\xac\x35\xbd\x91\x6f\xa3\xd0\x67\x16\x1d\x4a\x99\x4e\x43\xa2\xf5\xa6\x16\x5e\x96\x1c\xd6\xb8\xe7\xaa\x21\x6b\x04\x91\xe9\x4c\x10\x72\xde\x9a\x63\x2c\xdb\x79\xdd\xe2\xa6\x42\xb2\x01\x44\x82\x8f\x4c\xbe\x90\x23\x6e\x12\xb0\xe0\x0c\x21\x33\xc2\x4c\x23\xd2\x9b\x82\x7b\x53\x61\xb7\x2d\xf7\xc0\x53\x87\x0b\x8b\x53\x4b\x7a\x9b\x34\xba\xec\x0f\x0c\x5f\x81\x43\x95\xa7\xed\xe1\x73\x7a\x76\x35\xb4\x4a\x69\x51\x78\xfc\xae\x6e\xfc\x31\xa3\xef\xe1\x29\xab\x84\xf4\xd3\xa0\xad\x8b\x16\x4c\x85\x9e\xbb\xdf\x13\xaf\xa4\xe8\xb4\xe8\x5b\xab\xb9\xa4\x27\xf2\x20\x94\x42\x9b\x15\x78\x3c\x06\x4e\x76\x60\xd6\xe6\x06\x22\xbe\x0e\xeb\xe1\x7d\xaf\xca\x38\x41\x70\xbb\x15\x75\x90\xee\x2c\x34\xa8\xbc\x4e\x1e\xf6\xf2\xea\x06\xbe\x7e\xe8\xbf\x3f\x66\xa5\x93\x3e\xdc\xf2\x0e\x1f\xd1\xc7\xa2\x6b\x95\xa7\x12\xfa\x57\xd4\x5b\xbf\xbb\xbc\x82\xaf\xbe\x82\xff\xbb\x81\x0b\x1e\x45\xf0\x4e\x55\xae\x2c\x87\x0a\x73\xce\xc6\x1f\xff\xe7\x62\x20\xf0\xb1\xe8\xff\x35\x38\xff\x9f\xd1\x3b\x48\x2d\x18\x47\x5c\x62\x45\x61\xcc\x50\x49\x8b\xa5\x57\x47\xb2\xde\x39\xcb\x55\x92\x15\x10\xf6\xc8\xdc\x58\x29\x70\xed\xfa\xfe\x6e\xf9\x23\x7c\xc2\x63\x20\xbf\x04\xe2\x49\xab\x75\xcc\x64\x8b\xfe\xfd\x5e\x48\x45\x5e\xff\x31\x2c\x27\xc3\x3d\x2c\x39\x9b\x05\x98\x8d\x2d\x17\x35\x78\x78\xea\x74\x1c\x67\x19\x5d\x4e\x8d\xec\xe0\x94\x27\x87\xfb\xc6\x10\xfd\x8e\xc1\xe2\x78\x64\x60\x1a\x3e\xa4\x1a\x4e\x54\x62\x53\x5c\xee\x8c\x71\x38\x10\xb1\x33\x07\x02\x65\xc2\xa7\x6b\xd7\xc1\xbe\x15\x36\xa8\x2b\xe2\x1c\x46\xc3\x81\x27\x62\x83\x7d\x62\xcd\x1c\x26\x82\x3b\x63\x01\x7f\x15\xd4\x69\xce\x40\x6e\x60\x45\x06\x5d\x31\xa5\x16\xb0\x17\xaa\xc5\x19\xac\x5b\x0f\x2b\x59\xad\xa0\x32\xe8\xf4\x9b\x30\x08\x63\x05\x87\x01\x29\x74\x54\x17\x0e\x3b\x59\xee\x82\x01\x36\xd1\x22\x3c\xc1\x30\xc9\xb2\x92\x6b\x97\xe5\x0c\x25\xe0\xa2\xc2\x0d\x35\x8c\x17\x03\x79\x8b\x0d\xac\x83\xb5\x62\xa5\x8a\x8d\x7d\x0f\x26\x6e\x0f\x42\x04\x09\x70\x52\x6f\x55\x50\x8b\x34\xf9\x07\x81\x36\xec\x36\x90\x4a\x0b\xe7\xb0\x24\x07\xed\x50\x35\x2e\x46\xb5\x83\xc3\xce\xd0\x56\xfa\x8d\x07\xd7\x5a\x0c\x16\xf4\x69\xae\xa3\x8c\xf9\x44\xa6\xa5\x3c\x9e\xcb\x1b\x22\xb7\x11\x56\xd4\x10\xea\x24\x05\x13\x61\x2c\x55\xf7\x0a\x9d\xb4\x58\x9d\xe4\x9a\xb8\x88\x72\x1e\x0f\x35\xab\xb4\x20\x22\x60\x6d\xac\x35\x87\xf3\x7b\x76\xd1\xe2\xbc\x6d\x4b\xdf\xf2\x24\x31\x8e\x0d\x13\x01\xb5\xf8\xb9\x45\x47\x61\x4d\x61\x31\x3f\x9b\x66\xb6\xe8\x43\x88\xc4\x5a\xbf\x8c\x9c\xa7\xab\xda\x70\x73\x8e\xbb\xbf\x9b\x0e\x21\x2d\x55\x31\xcc\x15\xd3\xb5\xd9\x40\x8d\x95\xa4\x26\xa1\x1f\x2b\x74\xd3\x84\x54\xcf\x72\x16\xdb\xa7\xbd\xd7\x94\xee\x34\x68\x1c\x16\x6a\xf8\x19\x63\x4f\x9e\x7a\xfe\x34\x5c\x48\x0d\x57\xe2\x9b\x99\xa8\xd4\xa3\x12\x87\xa0\x3c\xa5\xb7\xdd\xf2\x5c\x74\x94\x14\x91\x25\x78\x58\xb3\x09\x53\x3a\x6f\x62\x65\x54\xd2\x79\xa4\x8e\x2e\xfd\xae\xa2\xc0\x34\xba\x8a\x6d\xe2\xc0\xf1\x9d\xae\x16\x6b\xb3\xc7\x6e\x42\xdc\xe9\x9c\x65\x70\xaa\x67\xe1\xa5\x71\x35\x1b\x46\x9c\xe7\x10\xe7\xea\xce\x0d\xf5\xe6\x48\xbc\x99\xbb\x75\x5a\xb2\xb8\xa5\x78\x0d\x94\xd5\xd2\x5b\x53\x40\x4e\x7a\x11\xd7\x9b\x04\x74\xa7\xf8\x84\xa6\x63\x64\x76\x43\x98\xae\x75\x24\x98\x26\x09\x97\xf9\x5e\x11\xa1\x54\x12\x09\x8f\xaf\xaa\x85\xb2\xa2\x12\x98\x4b\xe3\x5a\xd8\x53\xf3\xbe\x9b\x0a\x0d\x44\x2a\x89\x3c\x8b\x17\x44\xba\xdc\x28\xd0\x16\xb7\x17\x27\xbb\x31\xc6\xc6\xcd\x4f\x5f\x8e\xcf\x74\xb4\x9d\x8e\x89\x1a\xc5\x07\xa1\x0d\x09\x9d\x11\x93\xa4\x61\x3b\x3b\x6e\x92\x32\x1e\x95\xeb\xf4\xf8\xca\xf0\x8c\x90\x74\x09\x46\xbf\x2f\x0e\xd3\x84\x7f\x4c\x98\x13\xe0\x3d\x4f\x53\x22\xa2\x87\x0c\x93\xc1\x2c\xaa\x2a\xc7\xf2\xb7\xa7\x00\xca\xf3\x71\x98\x73\x2e\x7b\x08\xc6\x6d\xce\xe6\xc1\xf8\xfb\x65\x5c\x19\x10\x35\xe2\x9f\x9c\x2b\x9b\xc6\x58\x8f\xd5\xfd\xdd\x72\xc9\xf7\x3e\xa9\x28\x0b\x8e\xe9\x34\x67\x0f\x77\x42\x3d\x33\xb0\xe9\xf4\xb4\x6f\xe3\x5f\x46\x7f\x82\x90\x5a\x34\x4d\xe8\x59\xd7\xc6\x28\x14\x7c\xbf\xd2\x0d\x1b\xb8\xac\xca\xa1\xbc\x1e\xea\xa5\xa4\x2e\x01\x5c\xd0\x9a\xec\xf7\x2c\x73\x3a\x39\x61\x46\x9d\xbe\x31\x46\x8d\x68\xd1\x87\x78\xfc\x94\x34\x42\x96\x60\x17\x6d\xe5\x1e\x75\xec\x39\x5c\x3c\x78\xa4\x70\xd3\x19\x80\x47\xc2\x93\x9c\x39\x2c\xee\x2f\x46\xe2\x54\x35\xab\xf8\xe0\x6d\x8b\x24\x3b\x12\x8b\xf3\x55\xfa\xbd\xee\x3c\x74\xc6\x0b\xd1\xce\x13\x66\xee\xfd\x48\x5a\x45\xfb\x8e\x6b\xfd\x0b\x18\xaa\x74\x63\x33\x67\xe5\xf7\x2a\x18\x7a\x1c\x9b\x7f\x21\x0b\x3c\xd1\x30\x83\x45\xe1\xd2\x48\xf5\x99\x60\xec\xa3\xe7\x87\x76\xad\x64\x99\xe5\xc9\x17\x06\xc6\x73\x30\x4a\x8d\xc6\x0d\xe5\x94\x67\xdf\x5e\xdc\x32\xcc\xfe\x16\x32\xfa\xdf\x9f\x7e\x3f\xd0\x23\xa2\x2c\xbf\xe4\x44\x85\x79\x0a\xd1\x92\xb1\xe1\x3e\x84\x2b\xbf\x6e\xf0\x1f\xd0\xa7\x4b\x8b\x7e\x74\x05\x9b\xcf\x8e\xd7\x98\x2e\x19\xbb\xd6\xb8\xbb\x9d\x21\x44\x74\x37\x30\xaf\xc8\x81\xbd\xd9\x6f\x3a\x5e\x32\xeb\x32\xe3\xec\xc4\x2d\xb3\xe9\x99\x43\xd6\xe0\x3e\x9d\x4c\xcf\xe5\xd2\x78\x09\x2c\x7d\x3a\xd9\x99\x60\x7c\x2e\x9b\xd2\xd1\xc6\x53\xf6\x57\x00\x69\x72\x20\x3c\xae\xe2\x16\x27\x8a\x78\x46\xe0\xf2\xfb\xbe\xc0\xad\xe2\x99\x06\x97\xe3\xfd\x9d\xf8\x84\xa8\xc4\xeb\xce\xaf\xe2\x04\xa6\x6a\x62\x14\x42\x1d\xc4\x31\x94\xfe\x8d\xa4\x1e\xae\x42\xe7\xa5\x16\x83\xb3\x67\xc2\xfb\x8b\x32\xb2\x7c\xa7\x69\x2d\x9d\xe3\x3b\x89\x70\x61\xd2\x3a\x6f\xea\x2e\xbb\x10\x25\xa4\xfc\xb6\xc6\x9e\x3b\x4e\xc9\x26\x89\x3b\x61\xab\xd0\x66\x11\xa6\x65\x98\x73\x8c\x48\xe6\x34\x2d\x19\x8f\xf9\x58\xcd\x27\x58\x49\xf8\xbd\x27\x25\xe1\x7b\x1c\x8d\x9a\x33\x8c\x64\x3c\x0b\x7c\x01\x27\x39\x1d\x2a\xf0\xed\x79\x6d\x5a\x9d\xea\x6b\x98\x70\xf6\x91\x79\x0e\xbf\x29\xa5\x6b\x76\xe5\x96\xd9\xfc\x60\x4e\xef\xe4\x3f\xf1\x74\x18\xfb\xca\xec\x36\x6a\xf7\x29\x3b\xb9\x33\xb3\x82\x17\xa9\xbd\xe8\xc9\x33\xdf\xdd\xb1\xa2\x4c\xce\x25\xd3\xcc\x6c\xea\x3b\x94\x32\x1b\xf5\xbd\xfd\x5f\x18\xa4\x8a\x19\x0d\xc2\xcd\x35\xc3\x87\xe4\x34\x42\xcb\x72\xfe\x5c\x8f\x9b\xda\xd5\x54\xe9\xf4\xc6\x13\xd3\x3f\x51\x22\xeb\xf9\x93\x0d\x4a\xa4\xc4\x3b\x3f\xe7\x9b\x6e\x1c\x32\x75\x19\xf9\xfb\x6b\xc1\x4b\x7a\xd6\x33\x4d\xc2\x65\x20\xdc\xd4\x22\x68\xa9\xae\xe0\xb7\xdf\xd2\xa3\x77\xb1\x73\x90\xd5\xd5\x0d\x9c\xac\xa3\xcf\xc5\xb7\x42\x93\x55\x83\x6a\xec\xc5\xee\x5c\xc1\x82\xf9\x15\x0e\xd9\x60\x70\x0d\xdb\xb5\x63\xb5\xf0\xe5\x2e\x35\x61\xdd\x8d\x6c\x87\x83\x17\x0e\xe5\x5e\x3f\x33\x8d\xaa\x71\x8f\x73\x42\x92\x9e\x1a\x93\xbe\x62\x18\x7a\x76\x8f\xff\xce\x14\x34\x24\x38\x72\x23\xa7\xa3\xee\xc9\xf9\x81\x68\xe7\x95\x9d\xd8\xe3\x50\xf7\xd0\x08\xf2\xdf\x64\xa4\xd7\x4f\xfb\xc0\xff\xd8\x04\x16\x86\x5c\xe7\xf5\xee\x4e\x8c\xa8\x4f\x30\x03\x0a\xfb\x07\x67\xe3\x59\xfe\xd0\x1b\xbf\xec\xc6\x64\x79\x12\x19\x0d\x0a\x07\x17\xfe\x5d\xda\x18\xa5\x0c\x61\xad\x38\xa6\x66\x6b\x99\x37\x5b\x67\x68\x5a\xfc\x0b\x9a\x78\x69\xfe\x32\x98\xf5\x1a\x07\x56\x3e\x41\x59\xa6\x41\x38\x01\xc0\x1e\x00\xcc\x75\xe7\x8a\x61\xf0\x3b\x41\x90\xdc\xfe\x58\xfc\x2b\x00\x00\xff\xff\x5a\x46\xc7\x4c\x63\x29\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -215,7 +215,7 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8b, 0x48, 0xb5, 0xa0, 0xa9, 0x41, 0x86, 0x3a, 0x1b, 0x2, 0xce, 0x36, 0x78, 0xcb, 0x98, 0x9a, 0xe8, 0xae, 0x62, 0xae, 0x61, 0x27, 0xc0, 0xdb, 0x3a, 0xf7, 0xb, 0x91, 0xa7, 0xcb, 0x80, 0xc1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0x6f, 0x32, 0x53, 0xae, 0xd1, 0xcc, 0xc6, 0xe, 0xf5, 0x94, 0x1e, 0x4d, 0xdb, 0x89, 0xe3, 0xec, 0xbf, 0xef, 0x5f, 0x1d, 0x88, 0x7f, 0x91, 0x69, 0x2a, 0xac, 0xaa, 0x25, 0x1b, 0x66, 0xda}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 3ef19fab..381da91f 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -24,17 +24,17 @@
 // scripts/test/example_token_vault_display_strict_equal.cdc (2.245kB)
 // scripts/tokenForwarder/is_recipient_valid.cdc (444B)
 // setup_account.cdc (1.717kB)
-// switchboard/add_vault_capability.cdc (4.302kB)
+// switchboard/add_vault_capability.cdc (4.346kB)
 // switchboard/add_vault_wrapper_capability.cdc (1.756kB)
 // switchboard/batch_add_vault_capabilities.cdc (1.607kB)
-// switchboard/batch_add_vault_wrapper_capabilities.cdc (1.84kB)
+// switchboard/batch_add_vault_wrapper_capabilities.cdc (1.884kB)
 // switchboard/remove_vault_capability.cdc (1.241kB)
 // switchboard/safe_transfer_tokens.cdc (2.226kB)
-// switchboard/safe_transfer_tokens_v2.cdc (2.129kB)
+// switchboard/safe_transfer_tokens_v2.cdc (2.173kB)
 // switchboard/setup_account.cdc (2.091kB)
 // switchboard/setup_royalty_account.cdc (5.795kB)
 // switchboard/setup_royalty_account_by_paths.cdc (5.866kB)
-// switchboard/transfer_tokens.cdc (1.709kB)
+// switchboard/transfer_tokens.cdc (1.753kB)
 // transfer_many_accounts.cdc (1.841kB)
 // transfer_tokens.cdc (1.872kB)
 
@@ -586,7 +586,7 @@ func setup_accountCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xdb\x38\x10\xbd\xfb\x57\x0c\x7c\xf0\x4a\x81\x57\xbe\x1b\x49\xba\xad\xb7\x5d\xec\x61\x17\x45\x93\xcd\x7d\x4c\x8d\x2c\xa2\x32\x29\x90\x94\x1d\x23\xf0\x7f\x5f\x90\xfa\x22\x6d\x29\x71\xdc\xa2\x3a\x24\xb2\xc4\x99\x79\xf3\x66\x38\x4f\xe4\xdb\x52\x2a\x03\x5f\x2a\xb1\xe1\xeb\x82\x1e\xe5\x77\x12\x90\x29\xb9\x85\x69\xf0\x6c\x3a\x19\x5a\xf9\xb0\xe7\x86\xe5\x6b\x89\x2a\x1d\x32\xf2\x5e\x77\xf6\x9f\x9f\x71\x5b\x86\x81\xfc\x47\xc3\x71\xfe\x21\x83\x29\x1a\x7c\xe2\xb4\xd7\x43\x91\x82\x05\xd3\xc9\x64\xb1\x58\xc0\x63\xce\x35\x18\x85\x42\x23\x33\x5c\x0a\xe0\x1a\x10\x0c\x6d\xcb\x02\x0d\x41\x26\x95\xfd\xe9\xbd\x37\x39\x1a\x60\xb2\x2a\x52\x58\x13\x54\x9a\x52\x58\x1f\x00\xc5\x41\x0a\x02\x23\x01\xd3\x14\x10\x04\xed\x21\x6b\x62\x83\x71\x69\xec\xb0\x2a\x8c\x8b\xc9\xb0\xc4\x35\x2f\xb8\x39\x58\x03\x93\x13\x57\xa0\x3d\x92\x14\x69\x59\x29\x46\x76\xf1\xc4\x8f\xfd\x32\x99\x00\x00\x14\x64\x80\x3c\x3a\x9e\xac\xe7\x55\xe7\x74\x09\xfd\xfd\xed\xec\x25\xa0\x20\xf9\x46\x8c\xf8\x8e\xd4\xf1\xbe\x73\xe5\x85\xfe\x46\xd9\x12\x60\x36\x56\x9f\xc4\xbb\xaf\xa1\x94\x8a\x4a\x54\x14\x69\xbe\x11\xa4\x96\x80\x95\xc9\xa3\x4f\x52\x29\xb9\x7f\xc2\xa2\xa2\x39\xfc\xad\x75\x45\x0f\x46\x2a\xdc\x50\x8f\x6b\x25\x85\x51\xb2\x28\x48\xcd\xe1\x6b\xb5\x2e\xb8\xce\xfb\x97\x73\x78\xc0\x1d\x35\xf6\xff\x89\xf2\xf4\x7d\x0c\xb3\x8f\x8c\xc9\x4a\x98\xb8\xa5\xa4\xcd\xc5\x91\xfc\x27\x1a\x84\xbb\xa0\x89\x12\xcb\x69\xb1\x23\x17\x17\x99\xb1\x2d\x10\xb5\x3c\x3f\x1e\x4a\x5a\x82\xe0\xc5\x1c\x76\x9c\xf6\xf5\x4f\xfb\xf7\x76\xbc\x7d\x92\x2f\x8f\x4f\x6d\xac\xfb\x28\x8e\x3b\x14\xf6\xfa\xf0\x01\x4a\x14\x9c\x45\xd3\x95\x6b\x14\x21\x0d\x6c\x5a\x74\x60\x7d\xb8\x40\xae\xbb\x4c\x4e\xc0\x1a\x54\xd3\xb8\xcf\x66\x71\x13\xee\x02\x17\xcd\xae\xcc\xf8\xa6\x52\xe8\xfa\xe1\x66\xd1\x2f\xf7\x6f\x61\xd5\x2c\x23\x40\x31\xe4\x86\x67\x20\x88\x52\x4a\x3b\x23\x9e\x41\x5d\xc3\x44\xd7\xb5\x4a\xd6\xae\x8a\xb7\xb3\x80\x46\x67\x7e\x1f\xd9\xcd\xb5\xec\xc9\x6e\x6d\xbe\xa2\xc9\x63\xb8\xbb\xb3\x5c\xc2\x4b\x40\x89\x05\xa5\xc8\x6e\xa9\x7a\x73\x0c\x80\x42\x91\x82\xc6\x1d\x01\x37\xc0\x05\x34\x3e\x03\x2f\x27\x10\xed\xea\xe8\xf6\xf7\x00\x21\x73\x51\x3e\x6f\x4b\x73\x70\x6e\x23\x87\xd2\xab\xe9\x1f\x43\x09\xc5\xf1\x1c\x8c\x1c\x4b\xe9\x2c\x93\x82\x50\x01\x3d\x73\x6d\xb8\xd8\xf4\xdb\x8d\x93\x06\x3b\x1d\x50\x48\xc1\x19\x16\x50\xa2\xc9\xf5\x50\x06\xcc\x33\x49\xaa\xb6\xc5\xa3\x3e\xfc\xb6\x69\xb6\xf3\xf8\x97\x7a\x50\xcd\x4e\x1f\xcc\xc0\xed\xca\x86\xf7\x19\xb4\x43\x21\xc8\x24\x30\xe9\xf6\xd6\x0a\x4b\xb8\x1b\xc4\xd0\x16\x85\x5b\xd7\x67\x73\xe7\x13\x16\x28\x18\xcd\xc3\x91\x5d\xd3\x7f\xbc\x8f\x2e\xe0\xdd\x42\x68\x73\xba\x16\x45\x3f\xfd\x2e\x89\xb8\x58\xb4\xb3\x69\x9c\x98\x21\x0c\x41\x2d\x56\x58\xce\x01\x8d\xdf\x5a\xef\xab\x6d\xeb\xcd\xcb\xfd\xd4\xe1\x70\xa9\x8f\xdd\x9d\x3f\x1a\xfe\x22\xe3\x66\x4e\x23\x20\xbe\x38\xf9\xc2\xe4\xe4\xd3\xae\xab\x21\xfd\xa6\x01\xeb\x91\xdb\xf9\xd2\x54\x64\xc9\x2b\x32\x34\x52\xa0\x0d\x99\xd7\xca\x12\xd0\x61\xaf\xe1\x2c\x83\x65\xb1\x37\x70\x1f\x5c\x48\x48\x25\x69\x37\x76\x73\x3b\x50\xb0\x1d\x37\x50\xcf\x9b\xd6\x93\x97\xf0\x34\x1e\x64\x6b\x95\x13\xfb\x6e\x87\xa3\xa5\x62\xc0\xac\x1e\x02\x7d\x4b\xa0\xd6\xa4\x4c\x98\xc5\x5b\x44\x25\xcc\x06\x89\xe2\x39\x04\x66\x5b\xd2\x1a\x37\xb4\x84\xeb\x73\xea\xfc\x0d\x25\x77\x03\xfe\x87\x99\x26\x53\x95\x97\x08\x8a\xff\x0d\xf0\x2e\x1d\xb9\xe4\xa3\xa2\x55\x96\xf1\xb5\xef\x16\x1a\x1f\xee\xd5\x0a\x33\x8a\xa7\x56\x1b\xef\x49\xd4\x08\xc9\x45\x19\xfc\x32\x5d\x19\x45\xd3\xee\x3c\x37\xe7\xd8\x7b\xc5\x66\xd4\xed\x98\xbb\x4e\x79\x3a\xc5\x99\x05\x05\x7a\x55\x7f\x7e\xe2\xf0\x3f\x9b\x32\xf6\xba\xa4\x64\x67\x86\xe7\x1a\xe5\x7d\x4e\xd7\x34\x5c\x89\x77\x64\x8b\xd4\x3e\x4f\x75\xf4\x17\xe4\xf6\xa3\x6a\x78\xa6\x5f\x3f\xb5\x29\xdb\x28\x43\xec\xbf\x11\x6e\x28\xcc\xf1\x54\x32\x11\x14\x65\xa4\x48\x30\x6a\x0e\x6d\x0d\x0c\xed\x17\x3c\x14\xc7\xf0\x60\xd5\xf7\xc0\x75\x93\xf1\xac\x3c\x97\x8f\xca\x51\xb5\xec\x8f\x27\x35\x96\x30\x49\x0f\x7f\x23\x8f\x93\x9a\x1b\xf7\x8f\x9e\x89\x55\x86\xfc\x13\xd8\x62\x01\x1f\xd3\xb4\x3e\xd2\x9c\x9e\x71\x83\x13\x6e\xa5\xed\x7c\xc3\x34\xfd\x97\xf6\xf5\x47\xe8\x96\x4c\x2e\x5f\xe5\x2f\xf1\x96\x47\xcc\x3b\xed\xbe\xa5\xaf\x21\xf4\xe3\xe4\xff\x00\x00\x00\xff\xff\xa5\xd5\x3f\x16\xce\x10\x00\x00"
+var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x5b\x73\xe2\x36\x14\x7e\xe7\x57\x9c\xf2\x40\xed\x0c\x35\xef\x4c\x2e\xdd\xa5\xbb\x9d\x3e\xb4\xb3\xb3\x49\xf3\x7e\x90\x0f\x58\xb3\x46\xf2\x48\x32\x84\xc9\xf0\xdf\x3b\x92\x6f\x12\xd8\x84\xd0\x9d\xf8\x21\x31\xf6\xb9\x5f\xbe\xcf\xe2\x9b\x42\x2a\x03\x5f\x4b\xb1\xe6\xcb\x9c\x9e\xe4\x0f\x12\xb0\x52\x72\x03\xe3\xe0\xd9\x78\xd4\x27\xf9\xb8\xe3\x86\x65\x4b\x89\x2a\xed\x53\xf2\x5e\xb7\xfa\x5f\x5e\x70\x53\x84\x8e\xfc\x47\xfd\x7e\xfe\x26\x83\x29\x1a\x7c\xe6\xb4\xd3\x7d\x9e\x02\x81\xf1\x68\x34\x9b\xcd\xe0\x29\xe3\x1a\x8c\x42\xa1\x91\x19\x2e\x05\x70\x0d\x08\x86\x36\x45\x8e\x86\x60\x25\x95\xfd\xe9\xbd\x37\x19\x1a\x60\xb2\xcc\x53\x58\x12\x94\x9a\x52\x58\xee\x01\xc5\x5e\x0a\x02\x23\x01\xd3\x14\x10\x04\xed\x60\x55\xfb\x06\xe3\xd2\xd8\x62\x99\x1b\xe7\x93\x61\x81\x4b\x9e\x73\xb3\xb7\x0a\x26\x23\xae\x40\x7b\x45\x52\xa4\x65\xa9\x18\x59\xe1\x91\xef\xfb\x75\x34\x02\x00\xc8\xc9\x00\x79\xe5\x78\xb6\x96\x17\xad\xd1\x39\x74\xf7\xb7\x93\xd7\xa0\x04\xc9\x77\x62\xc4\xb7\xa4\x0e\xf7\xad\x29\xcf\xf5\x77\x5a\xcd\x01\x26\x43\xfd\x49\xbc\xfb\x2a\x94\x42\x51\x81\x8a\x22\xcd\xd7\x82\xd4\x1c\xb0\x34\x59\xf4\x59\x2a\x25\x77\xcf\x98\x97\x34\x85\xbf\xb4\x2e\xe9\xd1\x48\x85\x6b\xea\xe2\x5a\x48\x61\x94\xcc\x73\x52\x53\xf8\x56\x2e\x73\xae\xb3\xee\xe5\x14\x1e\x71\x4b\xb5\xfe\xbf\xa2\x38\x7e\x1f\xc3\xe4\x13\x63\xb2\x14\x26\x6e\x4a\xd2\xe4\xe2\x8a\xfc\x07\x1a\x84\xbb\x60\x88\x12\x5b\xd3\x7c\x4b\xce\x2f\x32\x63\x47\x20\x6a\xea\xfc\xb4\x2f\x68\x0e\x82\xe7\x53\xd8\x72\xda\x55\x3f\xed\xdf\xdb\xe1\xf1\x49\xbe\x3e\x3d\x37\xbe\xee\xa3\x38\x06\xd4\xbf\x9c\x19\x47\x5f\xfc\xa1\x8d\xd8\x5e\x0f\x0f\x50\xa0\xe0\x2c\x1a\x2f\xdc\x50\x09\x69\x60\xdd\x64\x02\xd6\x80\x0b\xca\x4d\xa2\xc9\x08\x58\x9d\xc1\x38\xee\x32\x9f\xdd\x84\x1b\xe3\x5c\x59\xc9\x15\x5f\x97\x0a\xdd\xec\xdc\xcc\x3a\x71\xff\x16\x16\xb5\x18\x01\x8a\x3e\x33\x7c\x05\x82\x28\xa5\xb4\x55\xe2\x2b\xa8\xfa\x9d\xe8\xaa\xaf\xc9\xd2\x75\xfc\x76\x12\x94\xdc\xa9\xdf\x47\x76\x11\xe7\x5d\x63\x1a\x9d\x6f\x68\xb2\x18\xee\xee\x6c\xdd\xe1\x35\x28\x89\x0d\x4a\x91\x5d\xbf\x6a\x91\x7a\x82\x42\x91\x82\xc6\x2d\x01\x37\xc0\x05\xd4\x36\x03\x2b\x47\x21\x5a\xe9\xe8\xf6\xb7\x20\x42\xe6\xbc\x7c\xd9\x14\x66\xef\xcc\x46\x2e\x4a\xaf\xff\xbf\xf7\x25\x14\xc7\x53\x30\x72\x28\xa5\x93\x4c\x72\x42\x05\xf4\xc2\xb5\xe1\x62\xdd\xad\x26\x27\x0d\x16\x49\x50\x48\xc1\x19\xe6\x50\xa0\xc9\x74\x5f\x06\xcc\x53\x49\xca\x66\x1d\xa2\xce\xfd\xa6\x9e\xb4\x53\xff\x97\x5a\x50\x35\x2a\xf4\x66\xe0\x36\xb8\xae\xfb\x04\x1a\x00\x09\x32\x09\x54\xda\x3d\x5c\x60\x01\x77\xbd\x31\x34\x4d\xe1\xd6\xf4\x09\x46\x7d\xc6\x1c\x05\xa3\x69\xb8\x4f\x55\xf9\x0f\xf7\xd1\x05\x75\xb7\x21\x34\x39\x5d\x1b\x45\x87\x94\x97\x78\x9c\xcd\x1a\x1c\x1b\x2e\x4c\x5f\x0c\x41\x2f\x16\x58\x4c\x01\x8d\x3f\x5a\xef\xeb\x6d\x63\xcd\xcb\xfd\xd8\x60\x7f\xab\x0f\xed\x9d\x0f\x0d\x7f\x92\x71\x98\x53\x93\x8d\x4f\x64\x3e\x89\x39\xaa\xb5\x72\x55\x48\xbf\x6a\xc0\x0a\x9e\x5b\x5b\x9a\xf2\x55\x72\x86\xb2\x06\x1a\xb4\x26\x73\xae\x2d\x41\x39\xec\xd5\x9f\x65\x20\x16\x7b\x80\xfb\xe8\x5c\x42\x2a\x49\x3b\xd8\xcd\x2c\xa0\x60\x03\x37\x50\xe1\x4d\x63\xc9\x4b\x78\x1c\xf7\x56\x6b\x91\x11\xfb\x61\xc1\xd1\x96\xa2\x47\xad\x02\x81\x6e\x24\x50\x6b\x52\x26\xcc\xe2\xad\x42\x25\xcc\x3a\x89\xe2\x29\x04\x6a\x1b\xd2\x1a\xd7\x34\x87\xeb\x73\x6a\xed\xf5\x25\x77\x03\xfe\x47\x9c\x26\x53\x16\x97\x10\x8a\xff\xbd\xf0\x2e\x1e\xb9\xe4\x03\xa4\x61\x96\x61\xd9\x77\x13\x8d\x1f\xee\xd5\x0c\x33\x18\x4f\xc5\x36\xde\x93\xa8\x26\x92\x8b\x32\xf8\x30\x5e\x19\x8c\xa6\xd9\x3c\x87\x73\xec\xbd\x64\x33\x68\x76\xc8\x5c\xcb\x3c\x2d\xe3\x4c\x82\x06\x9d\xe5\x9f\x9f\x08\xfe\x27\x28\x63\xaf\x4b\x5a\x76\xa2\x78\xca\x51\xde\xa7\x77\x55\x86\x2b\xe3\x1d\x58\x91\xca\xe6\x31\x8f\x7e\x40\x6e\xff\x97\x0d\x4f\xf8\xeb\xa7\x0e\x65\xe3\xa5\xaf\xfa\x6f\xb8\xeb\x73\x73\x38\xa6\x4c\x04\x45\x2b\x52\x24\x18\xd5\x07\xbc\x3a\x0c\xed\x37\x3c\x24\xc7\xf0\x10\xd6\xcd\xc0\x75\xc8\x78\xd2\x9e\xcb\xa1\x72\x90\x2d\xbb\xe3\x49\x15\x4b\x98\xa4\x17\x7f\x4d\x8f\xa3\xaa\x36\xee\x1f\xbd\x10\x2b\x0d\xf9\xa7\xb5\xd9\x0c\x3e\xa5\x69\x75\xa4\x39\x3e\x0f\x07\xa7\xe1\x52\x5b\x7c\xc3\x34\xfd\x87\x76\xd5\x47\xe8\x86\x4c\x26\xcf\xd6\x2f\xf1\xc4\x23\xe6\x9d\x8c\xdf\xe2\xd7\x30\xf4\xc3\xe8\xbf\x00\x00\x00\xff\xff\x94\x09\xdf\xed\xfa\x10\x00\x00"
 
 func switchboardAdd_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -602,7 +602,7 @@ func switchboardAdd_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0x13, 0x13, 0xa6, 0x33, 0xab, 0x31, 0x65, 0xc6, 0xea, 0xc2, 0xf4, 0x2f, 0x93, 0x40, 0xf9, 0x27, 0xef, 0xf5, 0xb8, 0x1b, 0xcd, 0xee, 0xca, 0x1f, 0x3b, 0x11, 0xb6, 0x7c, 0xee, 0x9f, 0x4d}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x50, 0x57, 0xb, 0x2f, 0x6, 0xcf, 0x9b, 0x37, 0xab, 0xae, 0x81, 0x71, 0x73, 0xad, 0xed, 0xc3, 0xeb, 0xff, 0xe0, 0xa3, 0xc2, 0xbf, 0x9f, 0xcc, 0xea, 0x65, 0x8e, 0x9, 0x95, 0xbd, 0x1b, 0x91}}
 	return a, nil
 }
 
@@ -646,7 +646,7 @@ func switchboardBatch_add_vault_capabilitiesCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardBatch_add_vault_wrapper_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4f\x6f\xdb\x3e\x0c\xbd\xfb\x53\x10\x39\xb4\x0e\x10\x38\xf7\xa0\x7f\x7e\x6d\x7f\xeb\x4e\x1b\x8a\x35\xe8\x0e\x45\x81\x30\x32\x1d\x0b\x53\x24\x41\xa2\x93\x06\x43\xbf\xfb\x20\xd9\x71\xad\x2e\x06\xba\x1c\x1c\x5b\x24\xc5\xf7\xc8\x47\xca\xad\x35\x8e\xe1\xbe\xd1\x1b\xb9\x56\xb4\x34\xbf\x48\x3f\xee\x25\x8b\x7a\x6d\xd0\x95\x50\x39\xb3\x85\xc9\x98\x79\x92\x75\xf1\x5f\x5e\x71\x6b\x3b\x7b\x17\x33\x3c\xea\xfd\x92\x8b\xbe\x11\x63\x89\x8c\x4f\x92\xf6\xfe\x54\xa6\xc4\x61\x92\x65\xf3\xf9\x1c\x96\xb5\xf4\xc0\x0e\xb5\x47\xc1\xd2\x68\x90\x1e\x10\x98\xb6\x56\x21\x13\x54\xc6\x85\xcf\x81\x9d\x6b\x64\x10\xa6\x51\x25\xac\x09\x1a\x4f\x25\xac\x0f\x80\xfa\x60\x34\x01\x1b\xc0\xb2\x04\x4f\x3b\x72\xa8\x40\xa0\xc5\xb5\x54\x92\x25\xf9\x36\xd0\x1a\xa9\x39\x26\x66\x03\x55\x07\x0e\x38\xf2\xdc\x61\xa3\xd8\x83\xa9\x00\xa1\x94\x55\x45\x8e\x34\xc3\x6a\x79\xb0\xb4\x02\xd4\x21\x9f\x32\x7a\x13\x93\x80\x20\xc7\x28\x35\xac\x6e\xca\xd2\x91\xf7\xab\x59\x38\xe7\x9a\xa4\x03\x3f\x28\xb8\x23\x6f\x1a\x27\xa8\x08\x49\xb3\x21\x91\x1c\xdb\xc8\x05\x74\x57\x4c\xe1\x77\x96\x01\x00\x28\xe2\x16\xcc\x03\x72\xed\x17\xf0\xfc\xd0\xac\x95\x14\xe1\xeb\x25\x75\x08\xd8\x82\x43\xf8\x7f\x37\x0d\xf2\xff\xa0\x6a\x01\x70\x36\xd6\xf0\x62\xf0\xde\xe6\xb6\x8e\x2c\x3a\xca\xbd\xdc\x68\x72\x0b\xc0\x86\xeb\xfc\xd6\x38\x67\xf6\x4f\xa8\x1a\x9a\xc2\xd9\x8d\x10\xa6\xd1\xdc\xc3\x4d\x10\xfd\x8f\x8c\x70\x99\x08\xa8\x08\x35\x50\x3b\xba\x33\x9a\x1d\x0a\x0e\xed\xcf\x8f\x75\x09\xc8\x17\xa0\xa5\x9a\xc1\x4e\xd2\xbe\xfd\x0c\xcf\x8b\x71\xe9\x14\xf7\xcb\xa7\x63\xae\xab\x7c\x3a\xed\x51\x84\xdf\xf5\x35\x58\xd4\x52\xe4\x93\xbb\x28\x12\x6d\x18\x36\x47\x74\x10\xee\x88\x89\xa2\xb2\xb8\x26\x10\x1d\xaa\xc9\xf4\x9d\xcd\x7c\x0e\x8f\x6c\x1c\x45\x87\x8e\x0a\xb4\xc3\xe0\x48\x90\xdc\x91\x3b\xf7\x60\x63\x57\xc0\x22\xd7\x20\x75\xf4\x45\xe7\xf0\x10\x14\xd4\xd9\x86\x37\x06\xbf\x4e\x85\x7b\xa9\x54\x50\xaf\x45\x1f\xf4\xdb\x0a\x27\x91\xcd\x96\xb8\x36\x65\x1f\xee\x49\x55\xc5\xbb\x24\xe0\x12\x9e\x5f\xc6\x8c\x05\x5a\x4b\xba\xcc\xfb\x76\x14\x47\xcc\xc1\xfc\x29\x96\xe7\x1e\xf8\x60\xe9\x2f\x56\xe1\xf0\x34\x85\xe1\xa5\xff\x42\x27\x0a\x78\x8c\x4e\x34\x1e\xe9\x44\x4d\xfc\x97\xe8\x2a\x8a\x60\x20\x80\x21\x88\xaf\xc4\x80\xe0\x28\x4e\xb1\xa0\x1e\x54\x94\xb5\x1f\x82\x4b\x13\xa7\xb3\x03\x97\x5d\x44\xe1\xd9\x38\xdc\x50\xb1\x8e\xa3\x70\xf1\xa9\x89\xba\xca\x13\x65\x86\x5f\xd8\x8a\x8b\xd1\xf5\x5c\x3c\xb6\x59\x42\xa3\x92\xd0\xe9\x49\x59\xb7\x58\x52\x92\x03\xfc\x93\xb6\x2e\xf1\xf1\xd6\xb6\x9d\x5e\x49\x34\x4c\xc3\xc9\x9d\xcf\xc3\xfe\x69\x47\xe1\xb8\x2e\x0f\xb9\x24\x3f\x3d\xd5\xc8\xc6\x4b\xbd\x09\x3b\xf6\x3b\xed\x63\xf9\x7f\xba\xd0\x1f\xe7\x6f\x0f\x09\xe8\x13\xb5\x2c\x46\xa3\xd2\x32\xd9\x76\xe9\x7d\x50\xf5\x0c\x12\x27\x6e\x17\xdf\x07\xad\xcc\x12\x9f\x7e\xbf\x76\x2f\xbd\xb1\x9b\x81\xb7\x2c\x7b\xfb\x13\x00\x00\xff\xff\x7b\xb9\xab\xc6\x30\x07\x00\x00"
+var _switchboardBatch_add_vault_wrapper_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4d\x6f\xe3\x38\x0c\xbd\xfb\x57\x70\x73\x68\x1d\x20\x70\xee\x41\x3f\xb6\xed\x6e\xf7\xb4\x83\x62\x1a\x74\x0e\x45\x81\x30\x32\x1d\x0b\xa3\x48\x82\x44\x27\x0d\x06\xfd\xef\x03\xc9\x8e\x6b\x75\xe2\x41\x27\x07\xc7\x16\x49\xf1\x3d\xf2\x91\x72\x6b\x8d\x63\xb8\x6f\xf4\x46\xae\x15\x2d\xcd\x77\xd2\x8f\x7b\xc9\xa2\x5e\x1b\x74\x25\x54\xce\x6c\x61\x32\x66\x9e\x64\x5d\xfc\xbf\xaf\xb8\xb5\x9d\xbd\x8b\x19\x1e\xf5\x7e\xc9\x45\xff\x13\x63\x89\x8c\x4f\x92\xf6\xfe\x54\xa6\xc4\x61\x92\x65\xf3\xf9\x1c\x96\xb5\xf4\xc0\x0e\xb5\x47\xc1\xd2\x68\x90\x1e\x10\x98\xb6\x56\x21\x13\x54\xc6\x85\xcf\x81\x9d\x6b\x64\x10\xa6\x51\x25\xac\x09\x1a\x4f\x25\xac\x0f\x80\xfa\x60\x34\x01\x1b\xc0\xb2\x04\x4f\x3b\x72\xa8\x40\xa0\xc5\xb5\x54\x92\x25\xf9\x36\xd0\x1a\xa9\x39\x26\x66\x03\x55\x07\x0e\x38\xf2\xdc\x61\xa3\xd8\x83\xa9\x00\xa1\x94\x55\x45\x8e\x34\xc3\x6a\x79\xb0\xb4\x02\xd4\x21\x9f\x32\x7a\x13\x93\x80\x20\xc7\x28\x35\xac\x6e\xca\xd2\x91\xf7\xab\x59\x38\xe7\x9a\xa4\x03\x3f\x28\xb8\x23\x6f\x1a\x27\xa8\x08\x49\xb3\x21\x91\x1c\xdb\xc8\x05\x74\x57\x4c\xe1\x47\x96\x01\x00\x28\xe2\x16\xcc\x03\x72\xed\x17\xf0\xfc\xd0\xac\x95\x14\xe1\xeb\x25\x75\x08\xd8\x82\x43\xf8\x7f\x37\x0d\xf2\x7f\xa5\x6a\x01\x70\x36\xd6\xf0\x62\xf0\xde\xe6\xb6\x8e\x2c\x3a\xca\xbd\xdc\x68\x72\x0b\xc0\x86\xeb\xfc\xd6\x38\x67\xf6\x4f\xa8\x1a\x9a\xc2\xd9\x8d\x10\xa6\xd1\xdc\xc3\x4d\x10\xfd\x83\x8c\x70\x99\x08\xa8\x08\x35\x50\x3b\xba\x33\x9a\x1d\x0a\x0e\xed\xcf\x8f\x75\x09\xc8\x17\xa0\xa5\x9a\xc1\x4e\xd2\xbe\xfd\x0c\xcf\x8b\x71\xe9\x14\xf7\xcb\xa7\x63\xae\xab\x7c\x3a\x05\xf4\x7f\xfd\x46\x8a\x43\xf7\xeb\x1e\x71\xf8\x5d\x5f\x83\x45\x2d\x45\x3e\xb9\x8b\x82\xd2\x86\x61\x73\x64\x02\xe1\x82\x08\x2a\xaa\x90\x6b\x02\xd1\x31\x98\x4c\xdf\x99\xcf\xe7\xf0\xc8\xc6\x51\x74\xe8\x68\x43\x3b\x38\x8e\x04\xc9\x1d\xb9\x73\x0f\x36\x76\x10\x2c\x72\x0d\x52\x47\x5f\x74\x0e\x0f\x41\x6d\x9d\x6d\x78\x63\xf0\xeb\x14\xbb\x97\x4a\x05\xa5\x5b\xf4\x41\xeb\xad\xc8\x12\x89\x6d\x89\x6b\x53\xf6\xe1\x9e\x54\x55\xbc\xcb\x07\x2e\xe1\xf9\x65\xcc\x58\xa0\xb5\xa4\xcb\xbc\x6f\x5d\x71\xc4\x1c\xcc\x9f\x62\x79\xee\x81\x0f\x96\x7e\x61\x15\x0e\x4f\x53\x18\x5e\xfa\x27\x74\xa2\xd8\xc7\xe8\x44\xe3\x91\x4e\xd4\xcf\xdf\x89\x06\xa3\x02\x82\x58\xba\xd8\x21\x88\xff\x88\x01\xc1\x51\x9c\x78\x41\x3d\xa8\x38\x02\x7e\x08\x2e\x4d\x9c\xce\x19\x5c\x76\x11\x85\x67\xe3\x70\x43\xc5\x3a\x8e\xcd\xc5\xa7\xa6\xef\x2a\x4f\x94\x19\x7e\x61\x83\x2e\x46\x57\x79\xf1\xd8\x66\x09\x8d\x4a\x42\xa7\x27\x65\xdd\x62\x49\x49\x0e\xf0\x4f\xda\xba\xc4\xc7\x5b\xdb\x76\x7a\x25\xd1\x30\x0d\xa7\x7c\x3e\x0f\xbb\xaa\x1d\x85\xe3\x6a\x3d\xe4\x92\xfc\xf4\x54\x23\x1b\x2f\xf5\x26\xec\xe3\x2f\xb4\x8f\xe5\xff\xe6\x42\x7f\x9c\xbf\x3d\x24\xa0\x4f\xd4\xb2\x18\x8d\x4a\xcb\x64\xdb\x05\xf9\x41\xd5\x33\x48\x9c\xb8\x5d\x92\x1f\xb4\x32\x4b\x7c\xfa\x5d\xdc\xbd\xf4\xc6\x6e\x06\xde\xb2\xec\xed\x67\x00\x00\x00\xff\xff\xe3\x19\x31\xfe\x5c\x07\x00\x00"
 
 func switchboardBatch_add_vault_wrapper_capabilitiesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -662,7 +662,7 @@ func switchboardBatch_add_vault_wrapper_capabilitiesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/batch_add_vault_wrapper_capabilities.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x86, 0xfc, 0x8e, 0x81, 0xcf, 0xed, 0xdb, 0x37, 0xa9, 0x8, 0x21, 0xc9, 0xf8, 0xe7, 0x1c, 0xd2, 0xed, 0xfc, 0xff, 0x5d, 0xe1, 0x49, 0x43, 0x91, 0xf9, 0xbe, 0xa4, 0x97, 0x4a, 0x11, 0x3f, 0x33}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0x4, 0xb8, 0xdf, 0x79, 0x94, 0x68, 0x7f, 0xf8, 0xa4, 0x61, 0xf6, 0xc3, 0x84, 0xff, 0x8, 0x66, 0x4e, 0x37, 0x7, 0x7e, 0x45, 0x83, 0x3b, 0xff, 0xe8, 0xd2, 0xc2, 0xf6, 0xef, 0xc3, 0x52}}
 	return a, nil
 }
 
@@ -706,7 +706,7 @@ func switchboardSafe_transfer_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\xc1\x6e\xdb\x46\x10\x3d\x5b\x5f\x31\xd1\xc1\x26\x81\x84\xba\x14\x3d\x08\xb6\xd3\x24\xad\x7b\x2a\x10\xa4\xae\x7a\x1e\x2e\x87\xe2\x36\xab\x5d\x62\x77\x68\x5a\x08\xfc\xef\xc5\x70\x49\x8a\x6b\xcb\x80\xa3\x83\x85\xd5\xee\xcc\x9b\x79\xef\xcd\x58\x1f\x5a\xe7\x19\xee\x3a\xbb\xd7\xa5\xa1\x7b\xf7\x9d\x2c\xd4\xde\x1d\x60\x9d\xfc\xb6\x5e\x9d\x7b\xf9\x77\xaf\x59\x35\xa5\x43\x5f\x9d\x0b\x5a\x5c\xcf\xf1\x7f\x3c\xe2\xa1\x4d\x81\x96\x3f\x9d\xc7\xf9\x8b\x18\x2b\x64\xdc\x69\xea\xc3\x39\xa4\xe4\xc1\x7a\xb5\xda\x6c\x36\x70\xdf\xe8\x00\xec\xd1\x06\x54\xac\x9d\x05\x1d\x00\x81\xe9\xd0\x1a\x64\x82\xda\x79\x39\x2e\xee\xb9\x41\x06\xe5\x3a\x53\x41\x49\xd0\x05\xaa\xa0\x3c\x02\xda\xa3\xb3\x04\xec\x20\x90\xad\x80\x05\x2e\xc8\x11\xad\xe3\x86\x3c\xa0\x52\xae\xb3\x3c\x60\x72\xe3\x5d\xb7\x6f\x00\x21\x2c\xa8\xe9\x82\xb6\x7b\xe0\x86\xa0\xa2\xd6\x05\xcd\x70\x20\x6e\x5c\x05\x65\xc7\x50\x52\xed\xfc\x7c\x23\x0f\x7b\x82\x5e\x1b\x03\xf4\xd8\x1a\xad\x34\x9b\x23\xa8\x86\xd4\x77\xe8\x1b\x1a\x10\x3d\x29\xd2\x0f\xda\xee\x07\x4c\x85\x2d\x96\xda\x68\x3e\x4a\x87\xa5\xf3\xde\xf5\x58\x1a\x02\xe7\xc1\x3a\x06\xb4\x15\xe8\x1a\x8e\x14\xa4\x04\x0b\x9a\x63\xfa\xa9\x16\xa9\xeb\x01\x3b\xc3\xd2\x94\x1c\x62\x7a\xf2\x8b\xcc\x85\x20\xad\x16\x64\x65\xec\xb6\xf0\xa9\xaa\x3c\x85\xf0\x1e\xf0\x20\x0c\x6c\xe1\x9f\x3b\xfd\xf8\xeb\x2f\x39\xfc\x58\xad\x00\x00\x06\x11\x24\x5f\x4d\x9e\xac\xa2\x09\x20\xa2\x0d\x32\xca\xb1\xc5\x23\xf9\xab\x30\x13\x29\xa1\x86\x38\x3e\xfb\x46\xf5\x16\xb0\xe3\x26\x4b\x04\x2f\xfe\xd5\xdc\x54\x1e\xfb\x1c\x2e\x97\xfe\x29\x76\x12\x14\xe1\x5b\x4f\x2d\x7a\xca\x82\xde\x5b\xf2\x63\x96\xcf\x03\x3f\x3b\x34\x1d\xe5\x70\xf9\x29\x42\xce\x15\x27\xd0\xbf\x23\x23\xdc\x24\x8e\x2d\x3c\x05\x67\x1e\xe8\x8b\xb3\xec\x51\xb1\xf8\x2d\x93\xdf\x3a\xaf\xe8\xfe\xd8\xd2\x16\xac\x36\xef\xe1\x41\x53\x1f\x8f\xf2\xf7\xfa\x75\xaf\x16\x77\xf7\xbb\x09\xeb\x36\xcb\xf3\xb9\x0a\xf9\x7c\xfc\x08\x2d\x5a\xad\xb2\xf5\x97\xc1\x95\xa2\xe6\x7e\xaa\x0e\x24\xc7\x00\x34\x58\x59\x88\x54\x63\x55\xeb\xfc\xd4\xcd\x66\x03\x7f\x12\x03\xbe\x54\x21\xd2\x72\x15\x20\xb0\xf3\x54\xc5\xac\x73\x5c\x20\x53\x17\x93\x02\x70\x33\xbe\x2e\xe4\x2d\xee\xa9\x88\x36\xbb\xfe\x59\x61\x6e\x33\x51\x7d\x7b\xe2\x77\x4a\xf8\x15\xb9\xc9\x57\x17\x17\x17\xe7\x7a\x8e\x60\x2f\x3b\x70\x7d\x6c\x60\x48\xfd\x6e\xea\xfa\x29\x7e\xd1\x23\xa9\x8e\x69\xa9\xec\xc8\xc5\xe8\x71\xdd\x6a\xb2\x7c\x15\xa0\xed\x4a\xa3\xd5\x64\x3f\x70\xe5\x7f\xa4\x38\xb1\xc3\xfc\x1a\x6e\x44\x80\xd1\x35\x19\xbb\x3c\xb5\x4d\x20\xcb\x43\x31\x70\xfd\x21\x65\xb0\xe8\x47\x5a\xb2\x69\x56\xe2\xf7\x9b\x94\x5a\x16\xbb\xd8\xa9\x5f\x87\xba\xd3\x02\x4e\xb7\x51\xb6\x39\xb4\x98\x87\x59\x53\x98\xe4\xbb\xfc\xf1\xda\xbe\x2e\x5e\xe0\x3c\xdd\x66\x89\x39\xe5\xf3\x6a\x74\x0c\x11\x51\x93\x98\xfc\xac\xa5\x67\x79\xc7\xb5\x93\xf4\xbf\xe8\xe8\xdd\x3a\x97\x24\x09\x63\x3b\x34\xba\x92\x75\x7e\x5a\x5c\xb2\x42\x17\x3b\xb1\x3c\x8e\xfb\x37\x60\x4d\x71\xfa\x3f\x1f\x65\x2a\xe7\x34\xba\x9e\x44\x8e\xd1\xa3\xe1\x13\x2a\x8b\xe7\xd1\x19\x9f\xc6\xfb\xb7\x73\x46\xcf\x65\xa9\x2c\x9b\x7f\x96\x70\x5c\xbf\xe3\x40\x5c\x7f\x98\xbd\x73\xda\x01\x4f\x40\x26\xd0\xb3\x34\x9b\x0d\x7c\x23\xee\xbc\x85\xba\xb3\xd5\xf0\x9f\x68\x9e\xe4\xc9\xc2\xba\x3e\xb1\xa9\xc3\x40\xb2\x72\xb6\xd6\xfb\x4e\x06\x9d\xdd\x74\x3b\xb0\x36\xa4\x49\x2b\x4d\x9c\xfb\x96\x42\xa7\xc1\x7b\x5a\xfd\x1f\x00\x00\xff\xff\x3d\xfb\xb8\xeb\x51\x08\x00\x00"
+var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x6f\xe3\x46\x0c\x3d\xc7\xbf\x82\xf1\x21\x91\x80\x5d\xf9\x52\xf4\x60\xe4\xa3\xbb\xdb\xa6\xa7\x02\x8b\x6d\xea\x9e\xa9\x11\x65\x4d\x77\x3c\x23\xcc\x50\x51\x84\x85\xff\x7b\x41\x8d\x24\x4b\x89\x53\xa4\x3a\x58\x18\x0d\xc9\x47\xf2\x3d\xd2\xfa\x50\x3b\xcf\xf0\xd0\xd8\xbd\xce\x0d\x3d\xba\xef\x64\xa1\xf4\xee\x00\xeb\xc5\xb7\xf5\xea\x9c\xe5\x9f\xad\x66\x55\xe5\x0e\x7d\x71\xce\x69\x76\x3d\xf9\xff\xf6\x8c\x87\x7a\x09\x34\xff\x74\x1e\xe7\x0f\x62\x2c\x90\x71\xa7\xa9\x0d\xe7\x90\x16\x06\xeb\xd5\x6a\xb3\xd9\xc0\x63\xa5\x03\xb0\x47\x1b\x50\xb1\x76\x16\x74\x00\x04\xa6\x43\x6d\x90\x09\x4a\xe7\xe5\x38\xbb\xe7\x0a\x19\x94\x6b\x4c\x01\x39\x41\x13\xa8\x80\xbc\x03\xb4\x9d\xb3\x04\xec\x20\x90\x2d\x80\x05\x2e\xc8\x11\xad\xe3\x8a\x3c\xa0\x52\xae\xb1\xdc\x63\x72\xe5\x5d\xb3\xaf\x00\x21\xcc\x5a\xd3\x04\x6d\xf7\xc0\x15\x41\x41\xb5\x0b\x9a\xe1\x40\x5c\xb9\x02\xf2\x86\x21\xa7\xd2\xf9\xe9\x46\x0c\x5b\x82\x56\x1b\x03\xf4\x5c\x1b\xad\x34\x9b\x0e\x54\x45\xea\x3b\xb4\x15\xf5\x88\x9e\x14\xe9\x27\x6d\xf7\x3d\xa6\xc2\x1a\x73\x6d\x34\x77\x52\x61\xee\xbc\x77\x2d\xe6\x86\xc0\x79\xb0\x8e\x01\x6d\x01\xba\x84\x8e\x82\xa4\x60\x41\x73\x0c\x3f\xe6\x22\x79\x3d\x61\x63\x58\x8a\x92\x43\x0c\x4f\x7e\x16\x39\x13\xa4\xd5\xac\x59\x09\xbb\x2d\x7c\x2a\x0a\x4f\x21\x7c\x00\x3c\x48\x07\xb6\xf0\xd7\x83\x7e\xfe\xf9\xa7\x14\x7e\xac\x56\x00\x00\x3d\x09\x12\xaf\x24\x4f\x56\xd1\x08\x10\xd1\x7a\x1a\xe5\x58\x63\x47\xfe\x3a\x4c\x8d\x14\x57\x43\x1c\xcd\xbe\x51\xb9\x05\x6c\xb8\x4a\x16\x84\x67\x7f\x6b\xae\x0a\x8f\x6d\x0a\x57\x73\xfd\x64\x3b\x71\x8a\xf0\xb5\xa7\x1a\x3d\x25\x41\xef\x2d\xf9\x21\xca\xe7\xbe\x3f\x3b\x34\x0d\xa5\x70\xf5\x29\x42\x4e\x19\x2f\xa0\x7f\x45\x46\xb8\x5d\x28\x36\xf3\x14\x9c\x79\xa2\x2f\xce\xb2\x47\xc5\xa2\xb7\x44\xbe\x35\x5e\xd1\x63\x57\xd3\x16\xac\x36\x1f\xe0\x49\x53\x1b\x8f\xf2\x7b\xf3\xb6\x56\xb3\x87\xc7\xdd\x88\x75\x97\xa4\x29\x60\xb8\xfc\x0f\xed\xcf\xcd\xef\xa7\x8c\xe5\xb9\xbf\x87\x1a\xad\x56\xc9\xfa\x4b\xaf\x60\x61\x7e\x3f\x56\x02\x12\xa0\x4f\xaa\x97\xbd\x34\x5d\x0d\x15\xac\xd3\x53\xe5\x9b\x0d\xfc\x4e\x0c\xf8\x9a\xb1\xd8\xc2\xeb\x00\x81\x9d\xa7\x22\x46\x9d\xfc\x02\x99\x32\x1b\xd9\x82\xdb\xc1\x3a\x13\x5b\xdc\x53\x16\x25\x79\xf3\x7f\x49\xbc\x4b\x44\x21\xdb\x13\x17\x63\xc0\xaf\xc8\x55\xba\xba\xb8\xb8\x38\x57\x73\x04\x7b\x5d\x81\x6b\x63\x01\x7d\xe8\xcb\xb1\xea\x63\x7c\xd1\x33\xa9\x86\x69\xae\x82\xa1\x17\xc3\x3c\xe8\x5a\x93\xe5\xeb\x00\x75\x93\x1b\xad\x46\xa9\x82\xcb\xff\x21\xc5\x0b\xe9\x4c\xd6\x70\x2b\x04\x0c\x0a\x4b\xd8\xa5\x4b\x89\x05\xb2\xdc\x27\x03\x37\x1f\x97\x1d\xcc\xda\xa1\x2d\xc9\x38\x57\xf1\xfd\x2e\xa6\xe6\xc9\xce\xf6\xef\xd7\x3e\xef\x65\x02\xa7\xdb\x48\xdb\xe4\x9a\x4d\x83\xaf\x29\x8c\xf4\x5d\xfd\x78\x6b\xb7\x67\xaf\x70\x8e\x77\xc9\x42\x9c\xf2\xbc\xe9\x1d\x5d\x84\xd4\x85\x4f\x7a\x56\xd2\x13\xbd\xc3\x8a\x5a\xd4\x3f\xab\xe8\x72\x9d\x4a\x90\x45\xc7\x76\x68\x74\x21\xab\xff\xb4\xe4\x64\xdd\xce\xf6\x67\xde\x0d\xbb\x3a\x60\x49\x71\x53\x7c\xee\x64\x82\xa7\x30\xba\x1c\x49\x8e\xde\x83\xe0\x17\xad\xcc\x5e\x7a\x27\x7c\x5a\x05\xbf\x9c\x13\x7a\x2a\x0b\x68\x5e\xfc\x8b\x80\xc3\xaa\x1e\x06\xe2\xe6\xe3\xa4\x9d\x74\xf2\x3a\x02\x99\x40\x2f\xc2\x6c\x36\xf0\x8d\xb8\xf1\x16\xca\xc6\x16\xfd\xbf\xd6\x34\xc9\xa3\x84\x75\x79\xea\xa6\x0e\x7d\x93\x95\xb3\xa5\xde\x37\x32\xe8\xec\xc6\xdb\xbe\x6b\x7d\x98\x65\xa6\x0b\xe5\xbe\x27\xd1\x71\xf0\x8e\xab\x7f\x03\x00\x00\xff\xff\x23\xc8\xa9\xc9\x7d\x08\x00\x00"
 
 func switchboardSafe_transfer_tokens_v2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -722,7 +722,7 @@ func switchboardSafe_transfer_tokens_v2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens_v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa5, 0x59, 0xbf, 0x63, 0xc2, 0xe7, 0x0, 0x50, 0x3d, 0x63, 0x1d, 0x22, 0xec, 0x4, 0x1b, 0x3a, 0xa2, 0x1d, 0x30, 0x44, 0xe1, 0x7b, 0x74, 0xd4, 0x67, 0xd9, 0x74, 0xb9, 0x81, 0x15, 0x30, 0x85}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0x5c, 0xdb, 0xb0, 0x53, 0x52, 0x91, 0x59, 0x5c, 0x7b, 0xb1, 0xb9, 0x96, 0xc7, 0xef, 0x9a, 0xc4, 0xcd, 0x43, 0xa7, 0xc2, 0x22, 0x9e, 0x7c, 0x8, 0xb3, 0x44, 0xdd, 0xa5, 0xb9, 0x11, 0xb9}}
 	return a, nil
 }
 
@@ -786,7 +786,7 @@ func switchboardSetup_royalty_account_by_pathsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardTransfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x41\x6f\xdb\x3a\x0c\x3e\x37\xbf\x82\xcd\xa1\x75\x80\x3c\xe7\xf2\xf0\x0e\x41\xd3\xa2\xaf\x5d\x76\x1a\x50\x14\x59\x76\xa6\x65\xc6\xd6\xe6\x48\x82\x44\xc7\x0d\x8a\xfe\xf7\x41\xb2\xec\xd8\x69\x87\x6d\x3d\xd4\x31\xfd\x91\x1f\x3f\xf2\x93\xe4\xde\x68\xcb\xb0\xae\x55\x21\xb3\x8a\x36\xfa\x07\x29\xd8\x59\xbd\x87\xe9\x28\x36\x9d\x44\xe4\xa7\x17\xdc\x9b\x31\x70\x18\xea\x71\xa3\xec\x2f\xc4\x98\x23\xe3\x56\x52\xe3\x3e\x2a\x3f\x02\x4c\x27\x93\xc5\x62\x01\x9b\x52\x3a\x60\x8b\xca\xa1\x60\xa9\x15\x48\x07\x08\x4c\x7b\x53\x21\x13\xec\xb4\xf5\xaf\x83\xef\x5c\x22\x83\xd0\x75\x95\x43\x46\x50\x3b\xca\x21\x3b\x02\xaa\xa3\x56\x04\xac\xc1\x91\xca\x81\x3d\x9d\xf3\xaf\xa8\x34\x97\x64\x01\x85\xd0\xb5\xe2\xc0\xc9\xa5\xd5\x75\x51\x02\x82\x6b\x24\x8b\x32\xd3\x68\xf3\x39\xa0\x83\x4a\xab\xc2\x3f\xb9\xa4\x23\x94\x78\x20\x70\xc4\x50\x1b\x1f\x90\x76\x08\x07\x54\x79\x8b\xc0\x3c\xf7\x9f\xc1\x58\x6d\xc8\x82\x40\x83\x99\xac\x24\x1f\x3d\xbd\x0c\x8c\x51\x69\xc0\x5a\x72\x0e\xf4\x2e\xa4\x58\x12\x24\x0f\xa7\xee\xe6\x21\x8a\x7b\xff\xdb\x67\x07\xdd\x3b\xff\x5d\xb5\x1c\x4f\x75\x56\x49\xf1\x84\x5c\x86\xc9\xf8\x50\x41\x8a\xac\x14\xb0\xde\x9c\xca\x35\xb2\xaa\x20\xa3\x28\x96\xc0\xa0\xc5\x3d\x31\x59\x17\xba\x19\x8c\x33\x61\xbd\x84\xfb\xb6\xab\x79\x64\x5e\xc2\xd7\xb5\x7c\xf9\xef\xdf\x79\x5f\xd0\x13\x2e\x07\xe4\x33\x78\x9d\x4c\x00\x00\xa2\x2c\x27\x0b\x45\xf6\xda\xc1\x01\xeb\x2a\x74\xde\x48\x2e\x73\x8b\x4d\xb0\x41\x80\x56\xc4\xe0\x74\x6d\x05\x6d\x3d\x68\x09\x58\x73\x99\x8c\xfc\x91\x7e\x8b\x59\x33\xb8\x1a\xda\x2d\x0d\x19\x2d\xa3\xb1\x64\xd0\x52\xd2\x52\xc6\x2a\xff\x6b\x6b\x75\xb3\xc5\xaa\xa6\x19\x5c\xdd\xb7\xc3\xec\x9b\xec\xd8\x43\x73\x8f\xc8\x08\xab\x91\xc1\x53\x4b\x4e\x57\x07\x7a\xd0\x8a\x2d\x0a\xf6\xf6\x4c\x7c\xcc\x37\xbb\x39\x1a\x5a\x82\x92\xd5\x1c\x0e\x92\x9a\xf6\xd5\xff\xbf\xf9\xb5\xb5\xd3\xf5\x66\xdb\x71\xdd\x26\xb3\x59\xdf\x85\xff\xbb\xbb\x03\x83\x4a\x8a\x64\xfa\x10\x4c\xac\x34\x43\xd1\x75\x07\xbe\x46\x20\xea\xf7\x2b\x62\x57\xd3\xd9\x49\xcd\x62\x01\x9f\x89\x01\xc1\xd2\x8e\x2c\x29\x11\x9c\xcf\xc3\x4d\x38\xd6\x96\xf2\xb6\x6a\x9f\xe7\xa8\xda\xa5\x83\x25\xc0\x2a\x26\xa4\x1e\x8e\x05\xa5\x59\x98\xe4\xcd\xdf\xee\xe6\x36\xf1\x7b\x5e\x9e\x46\xdc\x15\x0c\x6e\x99\x5c\x5c\x5c\x7c\x24\xbb\x25\x7b\x2f\x42\x37\xad\x86\x50\xfa\xb2\x13\xfe\xd6\x3e\xe8\x85\x44\xcd\x34\x5c\x6e\x1c\x47\x3c\x51\xd2\x48\x52\x7c\xed\xc0\x04\xbf\x76\x67\x0b\x74\xf6\x9d\x04\x8f\x1c\xd1\xa3\x61\xe5\x77\x10\x8d\x93\xb0\xfe\xa3\x59\x0f\xb9\x9e\xe3\x49\x39\x2f\x1f\x82\xcf\xb4\x83\xd5\x09\x9e\xf6\x57\x84\x24\xd7\x4d\xfc\xea\x75\x3c\xee\xae\xe0\xdb\x6d\x32\x3c\x85\xbf\x9f\x65\xbc\x02\x46\xdd\x0e\xee\xad\xcb\x33\x1f\x3d\x92\xd1\x4e\xb6\xc3\xeb\x0e\xad\xea\xee\x4f\xa9\xde\x09\xb5\xe7\x42\x07\x22\xd3\xbc\x2d\x16\xcd\x70\xf3\xcf\xb9\xdf\xd2\x8e\x21\xe9\x6e\x9a\xf6\x39\x3b\xad\xf8\x6d\xf2\x33\x00\x00\xff\xff\xa9\xac\xce\x6f\xad\x06\x00\x00"
+var _switchboardTransfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4d\x6f\xe3\x38\x0c\x3d\x37\xbf\x82\xcd\xa1\x75\x80\xac\x73\x59\xec\x21\x68\x5a\x74\xdb\xcd\x9e\x06\x28\x8a\x4c\xe6\x4c\xcb\x8c\xad\x19\x47\x12\x24\x3a\x6e\x50\xf4\xbf\x0f\x24\xcb\x8e\x9d\x76\xbe\x7a\xa8\x63\xfa\x91\x8f\x8f\x7a\x94\xdc\x1b\x6d\x19\xd6\xb5\x2a\x64\x56\xd1\x46\x7f\x23\x05\x3b\xab\xf7\x30\x1d\xc5\xa6\x93\x88\xfc\xef\x05\xf7\x66\x0c\x1c\x86\x7a\xdc\x28\xfb\x13\x31\xe6\xc8\xb8\x95\xd4\xb8\x8f\xca\x8f\x00\xd3\xc9\x64\xb1\x58\xc0\xa6\x94\x0e\xd8\xa2\x72\x28\x58\x6a\x05\xd2\x01\x02\xd3\xde\x54\xc8\x04\x3b\x6d\xfd\xeb\xe0\x3b\x97\xc8\x20\x74\x5d\xe5\x90\x11\xd4\x8e\x72\xc8\x8e\x80\xea\xa8\x15\x01\x6b\x70\xa4\x72\x60\x4f\xe7\xfc\x2b\x2a\xcd\x25\x59\x40\x21\x74\xad\x38\x70\x72\x69\x75\x5d\x94\x80\xe0\x1a\xc9\xa2\xcc\x34\xda\x7c\x0e\xe8\xa0\xd2\xaa\xf0\x4f\x2e\xe9\x08\x25\x1e\x08\x1c\x31\xd4\xc6\x07\xa4\x1d\xc2\x01\x55\xde\x22\x30\xcf\xfd\x67\x30\x56\x1b\xb2\x20\xd0\x60\x26\x2b\xc9\x47\x4f\x2f\x03\x63\x54\x1a\xb0\x96\x9c\x03\xbd\x0b\x29\x96\x04\xc9\xc3\xa9\xbb\x79\x88\xe2\xde\xff\xf6\xd9\x41\xf7\xce\x7f\x57\x2d\xc7\x53\x9d\x55\x52\x3c\x21\x97\x61\x32\x3e\x54\x90\x22\x2b\x05\xac\x37\xa7\x72\x8d\xac\x2a\xc8\x28\x8a\x25\x30\x68\x71\x4f\x4c\xd6\x85\x6e\x06\xe3\x4c\x58\x2f\xe1\xbe\xed\x6a\x1e\x99\x97\xf0\x79\x2d\x5f\xfe\xf9\x7b\xde\x17\xf4\x84\xcb\x01\xf9\x0c\x5e\x27\x13\x00\x80\x28\xcb\xc9\x42\x91\xbd\x76\x70\xc0\xba\x0a\x9d\x37\x92\xcb\xdc\x62\x13\x6c\x10\xa0\x15\x31\x38\x5d\x5b\x41\x5b\x0f\x5a\x02\xd6\x5c\x26\x23\x7f\xa4\x5f\x62\xd6\x0c\xae\x86\x76\x4b\x43\x46\xcb\x68\x2c\x19\xb4\x94\xb4\x94\xb1\xca\xbf\xda\x5a\xdd\x6c\xb1\xaa\x69\x06\x57\xf7\xed\x30\xfb\x26\x3b\xf6\xd0\xdc\x23\x32\xc2\x6a\x64\xf0\xd4\x92\xd3\xd5\x81\x1e\xb4\x62\x8b\x82\xbd\x3d\x13\x1f\xf3\xcd\x6e\x8e\x86\x96\xa0\x64\x35\x87\x83\xa4\xa6\x7d\xf5\xff\x6f\x7e\x6c\xed\x74\xbd\xd9\x76\x5c\xb7\xc9\x6c\x06\xe8\x2e\x7f\xb2\x2a\x43\xf8\x5d\xdf\xb1\xff\xbb\xbb\x03\x83\x4a\x8a\x64\xfa\x10\x0c\xaf\x34\x43\xd1\x29\x01\x5f\x20\x34\xd5\x7b\x41\x44\x05\xd3\xd9\x49\xf9\x62\x01\xff\x13\x03\x82\xa5\x1d\x59\x52\x22\x6c\x09\x0f\x4f\xcd\xb1\xb6\x94\xb7\x55\xfb\x3c\x47\xd5\x2e\x1d\x1c\x18\xac\x62\x42\xea\xe1\x58\x50\x9a\x85\xa9\xdf\xfc\xe9\x39\xde\x26\xde\x13\xcb\xd3\x71\x74\x05\x83\xb3\x26\x17\x17\x17\x1f\xc9\x6e\xc9\xde\x8b\xd0\x4d\xab\x21\x94\xbe\xec\x84\xbf\xb5\x0f\x7a\x21\x51\x33\x0d\x8d\x10\xc7\x11\xb7\x4f\x1a\x49\x8a\xaf\x1d\x98\xe0\xed\x6e\x0f\x41\x67\x5f\x49\xf0\xc8\x3d\x3d\x1a\x56\xfe\x0c\xa2\xc9\x12\xd6\xbf\x35\xeb\x21\xd7\x73\xdc\xaa\xf3\xf2\x21\xf8\x4c\x3b\x58\x9d\xe0\x69\x7f\x9d\x48\x72\xdd\xc4\xaf\x5e\xc7\xe3\xee\x0a\xbe\xdd\x26\xc3\x8d\xfd\xf5\x2c\xe3\x75\x31\xea\x76\x70\xc7\x5d\x9e\xf9\xe8\x91\x8c\x76\xb2\x1d\x5e\xb7\xe0\xaa\xbb\x6b\xa5\x7a\x27\xd4\x9e\x0b\x1d\x88\x4c\xf3\xb6\x58\x34\xc3\xcd\x5f\xe7\x7e\x4b\x3b\x86\xa4\xbb\x95\xda\xe7\xec\x74\xc4\x6f\x93\xef\x01\x00\x00\xff\xff\x22\xb2\x59\x79\xd9\x06\x00\x00"
 
 func switchboardTransfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -802,7 +802,7 @@ func switchboardTransfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x0, 0xf8, 0xeb, 0x9c, 0x8a, 0xce, 0xe0, 0xae, 0xb0, 0x25, 0x6c, 0xdb, 0x92, 0x95, 0x3, 0xf5, 0x6a, 0x9f, 0x9, 0x2c, 0x21, 0x4, 0x15, 0xa3, 0x3a, 0x61, 0xf, 0xc, 0x65, 0x97, 0xd7, 0x49}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe5, 0xd3, 0x72, 0xb6, 0x22, 0x80, 0xfb, 0x3e, 0x7f, 0xe3, 0x12, 0x8b, 0xbf, 0xf3, 0x6c, 0x63, 0x25, 0x48, 0xea, 0x16, 0xb9, 0x67, 0xd4, 0x86, 0x8a, 0xc4, 0x3e, 0x5b, 0xb7, 0xb6, 0x97, 0x3f}}
 	return a, nil
 }
 

From 2ab8303b23b7de5187b7f240cf8934763bff2ee4 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 9 Feb 2024 11:51:39 -0600
Subject: [PATCH 094/115] update generic setup and transfer transactions

---
 coverage.json                                 | 64 +++++++++----------
 lib/go/templates/internal/assets/assets.go    | 23 +++++++
 lib/go/templates/transaction_templates.go     | 36 ++++++++++-
 lib/go/test/token_test.go                     |  2 +-
 tests/metadata_views_tests.cdc                | 13 +++-
 .../metadata/setup_account_from_address.cdc   | 37 +++++++++++
 6 files changed, 139 insertions(+), 36 deletions(-)
 create mode 100644 transactions/metadata/setup_account_from_address.cdc

diff --git a/coverage.json b/coverage.json
index 6a215484..85db9177 100644
--- a/coverage.json
+++ b/coverage.json
@@ -23,7 +23,7 @@
         "186": 1,
         "187": 1,
         "188": 1,
-        "200": 8,
+        "200": 9,
         "204": 4,
         "206": 4,
         "210": 4,
@@ -34,20 +34,20 @@
         "221": 4,
         "223": 4,
         "224": 4,
-        "27": 45,
+        "27": 47,
         "29": 2,
         "34": 4,
         "40": 4,
         "41": 4,
-        "52": 38,
-        "59": 2,
+        "52": 40,
+        "59": 3,
         "63": 0,
         "67": 1,
-        "93": 20,
-        "94": 20,
-        "95": 20,
-        "96": 20,
-        "97": 20
+        "93": 21,
+        "94": 21,
+        "95": 21,
+        "96": 21,
+        "97": 21
       },
       "missed_lines": [
         63,
@@ -77,8 +77,8 @@
         "202": 6,
         "205": 18,
         "214": 0,
-        "223": 8,
-        "224": 8,
+        "223": 9,
+        "224": 9,
         "98": 7
       },
       "missed_lines": [
@@ -97,14 +97,14 @@
         "103": 2,
         "104": 2,
         "107": 0,
-        "145": 38,
-        "146": 38,
-        "148": 38,
-        "149": 38,
-        "150": 38,
-        "151": 38,
-        "152": 38,
-        "153": 38,
+        "145": 40,
+        "146": 40,
+        "148": 40,
+        "149": 40,
+        "150": 40,
+        "151": 40,
+        "152": 40,
+        "153": 40,
         "163": 0,
         "164": 0,
         "165": 0,
@@ -589,27 +589,27 @@
   },
   "excluded_locations": [
     "A.0000000000000001.NonFungibleToken",
-    "A.0000000000000001.FlowServiceAccount",
-    "A.0000000000000001.FlowStorageFees",
-    "A.0000000000000001.FlowClusterQC",
+    "A.0000000000000002.FungibleToken",
+    "A.0000000000000001.ExampleNFT",
+    "I.Test",
     "I.BlockchainHelpers",
-    "A.0000000000000002.FungibleTokenMetadataViews",
     "A.0000000000000001.StakingProxy",
     "A.0000000000000001.FlowDKG",
-    "A.0000000000000004.FlowFees",
-    "A.0000000000000001.NodeVersionBeacon",
-    "A.0000000000000002.FungibleToken",
+    "A.0000000000000002.FungibleTokenMetadataViews",
+    "A.0000000000000001.FlowStakingCollection",
     "s.7465737400000000000000000000000000000000000000000000000000000000",
+    "A.0000000000000001.FlowServiceAccount",
+    "A.0000000000000004.FlowFees",
     "A.0000000000000001.FlowEpoch",
-    "A.0000000000000001.RandomBeaconHistory",
-    "A.0000000000000001.FlowIDTableStaking",
-    "A.0000000000000001.LockedTokens",
     "A.0000000000000003.FlowToken",
     "A.0000000000000001.MetadataViews",
-    "A.0000000000000001.FlowStakingCollection",
     "A.0000000000000001.ViewResolver",
-    "A.0000000000000001.ExampleNFT",
+    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000001.RandomBeaconHistory",
     "I.Crypto",
-    "I.Test"
+    "A.0000000000000001.FlowClusterQC",
+    "A.0000000000000001.NodeVersionBeacon",
+    "A.0000000000000001.FlowStorageFees",
+    "A.0000000000000001.LockedTokens"
   ]
 }
\ No newline at end of file
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 381da91f..8a0b9715 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -3,6 +3,7 @@
 // burn_tokens.cdc (1.718kB)
 // create_forwarder.cdc (3.03kB)
 // generic_transfer.cdc (1.331kB)
+// metadata/setup_account_from_address.cdc (1.906kB)
 // metadata/setup_account_from_vault_reference.cdc (1.909kB)
 // mint_tokens.cdc (1.827kB)
 // privateForwarder/create_account_private_forwarder.cdc (2.025kB)
@@ -166,6 +167,26 @@ func generic_transferCdc() (*asset, error) {
 	return a, nil
 }
 
+var _metadataSetup_account_from_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x54\x4d\x6f\xe3\x36\x14\xbc\xeb\x57\x4c\x7d\x08\x64\xc0\x2b\xdf\x0d\x27\xc1\xd6\x6d\x6e\x2d\x8a\xac\x9b\xfb\x33\xf5\x64\x11\x2b\x93\x02\xf9\x64\x35\x08\xf2\xdf\x0b\x52\x1f\x91\x12\x27\x01\xb2\x3a\x18\x32\xdf\xe7\x0c\x67\xa4\x4f\xb5\x75\x82\xbb\xc6\x1c\xf5\xa1\xe2\xbd\xfd\xc9\x06\x85\xb3\x27\x2c\x66\x67\x8b\xe4\x52\xe6\x5f\x2c\x94\x93\xd0\x83\xe6\xd6\x5f\x2a\x9b\x25\x2c\x92\x64\xbd\x5e\x63\x5f\x6a\x0f\x71\x64\x3c\x29\xd1\xd6\x40\x7b\xb4\x25\x09\xc8\x80\x94\xb2\x8d\x11\xb4\xb6\xa9\x72\xb8\xc6\xc4\x0a\xb1\xf0\x2c\xd0\xe2\xb9\x2a\xd0\xd4\xe1\xe0\x44\x86\x8e\x8c\xa2\x9f\x06\x09\xe3\x7c\xd6\x75\x2f\x1a\x13\x5b\xc7\xea\xc6\xb3\xc7\x39\x6e\x28\x16\x3f\x8d\x6d\xd1\x96\xec\x78\x68\x1b\xfa\x95\x8c\x33\x35\x95\xc4\x02\x6d\xe0\xc5\xba\xd0\x9e\x4c\x1e\xd2\x94\x63\x12\x8e\x69\x7c\xaa\xe5\xb1\x4b\xce\x92\x64\x02\x23\x55\xd6\x88\x23\x25\xdf\xf3\xdc\xb1\xf7\x1b\xf4\x2f\x2b\x0c\x91\xbf\xe9\xc4\x1b\xfc\x10\xa7\xcd\x71\x89\xa7\x24\x01\x80\xda\x71\x4d\x8e\x53\xaf\x8f\x86\xdd\x06\xd4\x48\x99\xfe\xa0\x33\x3f\x50\xd5\xf0\x0a\x3b\xaa\xe9\xa0\x2b\x2d\x9a\xfd\x12\x57\xdf\x3b\x86\x42\x39\xfa\x67\xbd\xc6\xef\xd6\x39\xdb\x82\xe0\xb8\x60\xc7\x46\x45\x74\x23\xac\x88\x87\x73\x58\x13\xcf\x6a\xf2\x9e\xf3\x91\x6c\x92\xe9\x69\xdd\x1c\x2a\xad\xfe\x21\x29\xc7\x01\x15\x0b\x1c\x7b\x5b\x9d\xd9\xdd\x73\x81\x6b\x1c\x59\xfa\x45\x5e\xc3\x5e\x8e\x55\xe1\xc9\x86\xa8\xcf\x0e\x71\xc5\xed\xd5\x4c\x1f\x37\xa9\x89\x9c\x4c\x19\x9a\x77\xb8\xbd\x45\x4d\x46\xab\x74\xb1\x8b\x9a\x30\x56\x70\x78\x17\xed\x5c\x0e\x63\xdb\xc5\x32\x99\xb2\xf5\xaf\x0f\x77\x49\x32\xaf\x77\x2c\x4e\xf3\xb9\xbb\xe6\xbb\x7d\x90\x2c\x66\x14\x14\xf2\x10\xc8\xfc\x83\x84\x70\x3d\x25\x24\xeb\xdf\x77\xfd\xb8\x50\x9a\x86\xb3\xc6\x29\xde\x3f\xd6\xbc\x81\xd1\xd5\x2a\x8a\xb0\xfb\x1b\x7e\xb7\xef\x3b\x25\xbb\xdb\x8f\xa3\x6e\xd2\xe5\x12\xe4\x7f\xfb\xc0\x79\xd3\xf4\xdb\x4f\xd9\xeb\x97\x1d\x60\x8e\x90\xc2\x76\x28\xac\x8b\x81\xa3\x3e\xb3\x19\x47\x7e\x4c\xe7\xae\x73\x07\xc1\x70\x3b\xf5\x07\x1a\xaf\xcd\x31\xb6\xeb\x0c\xf4\x67\x88\xc5\x81\xa3\x43\xa1\x8d\xd7\xf9\x9b\x65\x66\xbc\xf3\x4b\xd9\xf6\xdb\xe4\x12\xb2\xd7\x5d\xd3\xf9\x5e\xc1\x44\xd0\x32\x68\xa3\x97\xfb\x98\xd1\x19\x2e\xeb\xad\x9e\x79\x3a\x73\xba\xfd\xf6\x32\x6c\x05\xb1\x9b\xe9\xa5\x0f\xa9\xc1\x1b\x2f\x22\xbd\xc8\x44\x67\x22\xa8\xc1\xbb\x8f\x23\xb1\x1d\x33\x6d\xa9\x55\x09\x6d\x54\xd5\xe4\xec\x63\x20\xbb\xef\x05\x05\x6d\x84\x5d\x41\x8a\x67\x2c\xc4\xc2\x1d\xd5\xb8\x1e\x36\x57\x93\x2f\xc3\x08\x43\x7b\xdf\xf0\xf6\xea\x69\xa6\x96\x2c\x62\x78\xbe\x49\x3f\x45\x73\xa9\x75\x04\xe3\xcb\x74\xd8\x60\x05\x92\x39\x31\xa7\x5e\x8d\x5d\xaf\x2f\x31\xc2\xff\xd5\x76\x94\x8b\x63\xc5\xfa\x7d\x2a\x86\xf0\x57\xd9\xb8\xef\xeb\x7f\x95\x90\xc9\x1e\x6f\x39\x19\x82\x13\x4e\x9e\x93\xe7\x04\xff\x07\x00\x00\xff\xff\xe5\x5e\x12\x03\x72\x07\x00\x00"
+
+func metadataSetup_account_from_addressCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_metadataSetup_account_from_addressCdc,
+		"metadata/setup_account_from_address.cdc",
+	)
+}
+
+func metadataSetup_account_from_addressCdc() (*asset, error) {
+	bytes, err := metadataSetup_account_from_addressCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "metadata/setup_account_from_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0x9c, 0x89, 0x2b, 0x3d, 0xd4, 0xa8, 0xbb, 0x53, 0x93, 0x74, 0xac, 0x7a, 0x36, 0xb0, 0x66, 0xed, 0x3a, 0x77, 0xd4, 0xe0, 0x7c, 0x14, 0xff, 0x58, 0x20, 0xd9, 0x53, 0xf4, 0x42, 0xc5, 0xf}}
+	return a, nil
+}
+
 var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\xcd\x6e\xf3\x36\x10\xbc\xeb\x29\x06\x3e\xa4\x32\xe0\xc8\x77\xc3\x4e\x90\xba\x4d\x4f\x05\x82\xd4\xcd\x7d\x2d\xad\x2c\x22\x32\x29\x90\x2b\xab\x41\xe0\x77\x2f\x44\xfd\x98\x72\xdd\x2f\x40\x3e\x1d\x0c\x7a\xb9\xbb\x9c\x99\x9d\x55\xc7\xca\x58\xc1\x73\xad\x0f\x6a\x5f\xf2\xce\xbc\xb3\x46\x6e\xcd\x11\xb3\x49\x6c\x16\xdd\xca\xfc\x93\x85\x32\x12\x7a\x53\xdc\xb8\x5b\x65\x93\x84\xb1\x47\xfb\xef\x95\x9d\x29\x4f\x6c\xfb\xaa\x30\x34\x8b\xa2\xe5\x72\x89\x5d\xa1\x1c\xc4\x92\x76\x94\x8a\x32\x1a\xca\xa1\x29\x48\x40\x1a\x94\xa6\xa6\xd6\x82\xc6\xd4\x65\x06\x5b\x6b\x5f\x21\x06\x8e\x05\x4a\x1c\x97\x39\xea\xaa\x0d\x1c\x49\xd3\x81\x91\xf7\xa8\x20\x2d\x2c\x97\x74\xdd\xf3\x5a\xfb\xd6\xbe\xba\x76\xec\x70\xf2\x4c\xc4\xe0\x5d\x9b\x06\x4d\xc1\x96\x87\xb6\x6d\xbf\x82\x71\xa2\xba\x14\x5f\xa0\x34\x9c\x18\xdb\xb6\x27\x9d\xb5\x69\xa9\x65\x12\xf6\x69\x7c\xac\xe4\xa3\x4b\x4e\xa2\x28\xa0\x11\x53\x96\x59\x76\x6e\x85\xa7\xee\xb0\x40\x55\xef\x4b\x95\xbe\x90\x14\x2b\xbc\x8c\xe7\x39\x3e\xa3\x08\x00\x2a\xcb\x15\x59\x8e\x9d\x3a\x68\xb6\x2b\x50\x2d\x45\xfc\x17\x9d\xf8\x8d\xca\x9a\x17\xd8\x52\x45\x7b\x55\x2a\x51\xec\xe6\xb8\x7b\xea\xb4\x69\xcb\xd1\x7f\xcb\x25\x7e\x35\xd6\x9a\x06\x04\xcb\x39\x5b\xd6\xa9\xe7\x35\x12\xf2\x4c\x38\x83\xd1\x3e\x56\x91\x73\x9c\x8d\x32\x93\x84\xd1\x0b\xdc\xf1\x81\x92\x05\xb6\x1f\xdf\x2b\xe7\xd8\xe0\xc0\xd2\x03\x19\x08\xcf\xc7\xec\xf6\x4b\xd2\x00\x75\xb2\xf7\xe8\xd6\x77\x9f\xa1\x0f\x92\xe1\x70\x7e\x88\x2f\x6f\x4e\xdb\x3c\x3e\xa2\x22\xad\xd2\x78\xb6\xf5\x56\xd0\x46\xb0\xff\x82\x6a\x3b\xe3\x11\x2d\x66\xf3\x28\xd4\xe9\x6f\xd7\xce\x8f\x64\x5a\x6c\x59\xac\xe2\x53\x37\xda\xe7\x5d\x8b\x12\x13\xf2\xb9\xf8\xd8\xe6\x07\xfb\x91\x1c\x58\xba\xd2\xf8\x14\xb0\x5c\x85\xc2\x4d\xb1\xfc\xc1\x32\x3c\xd8\x02\xff\x8d\x84\x3a\xf0\x7e\x67\xfc\xcf\x05\xcf\x35\x9c\xb1\x62\xd3\x83\x4b\xc2\xe0\xa0\x1b\xe2\xd9\xae\xe0\x61\xfa\x9d\x3e\x99\xca\xf4\x2f\x02\x75\xac\x4a\x3e\xb2\x96\x40\xba\x6c\x80\x70\xa5\xda\xb6\x33\x3e\x41\x73\x13\x5a\x1f\xb5\x53\xfa\xe0\x1b\x74\xbb\xf1\x7b\x7b\xe7\x61\x8c\xcb\x07\xa5\x9d\xca\xf8\x9a\xe9\x84\x0f\x5f\xca\xd6\xf7\x01\x8f\xe4\xba\x6b\x3c\xc5\xd5\x6e\x09\x94\x0c\xf3\xef\xfd\x3c\x66\x74\x1b\x95\xf4\x5b\x9c\x38\x3a\x71\xbc\xbe\xbf\x3c\xb6\x80\x98\x55\x28\xe6\x90\x3a\x35\xe2\x4d\x25\x3a\xc7\x62\xb4\xf9\x07\x72\x63\x03\x29\x9b\x42\xa5\x05\x94\x4e\xcb\x3a\x63\xe7\x2f\x46\xc3\x43\x69\x61\x9b\x53\xca\x13\x15\x7c\xe1\x96\x2a\x6c\x06\xe4\x93\x25\x1a\x68\x28\xe7\x6a\x5e\xdf\x7d\x4e\xac\x98\x78\x0e\xe7\x87\xf8\x4b\x36\xb7\x5a\x7b\x32\xae\x88\x07\x04\x0b\x90\x4c\x85\x39\xf6\x56\xef\x7a\x7d\x4b\x11\xfe\xa7\x32\xa3\x5d\x2c\xa7\xac\xfe\x5f\x8a\xe1\xfa\xbb\x6a\xbc\xf6\xf5\x3f\x2b\x48\x80\xe3\xbf\x9a\x0c\x97\x81\x26\xe7\xe8\x1c\xe1\xdf\x00\x00\x00\xff\xff\x0c\xf6\xf8\x93\x75\x07\x00\x00"
 
 func metadataSetup_account_from_vault_referenceCdcBytes() ([]byte, error) {
@@ -940,6 +961,7 @@ var _bindata = map[string]func() (*asset, error){
 	"burn_tokens.cdc":                                           burn_tokensCdc,
 	"create_forwarder.cdc":                                      create_forwarderCdc,
 	"generic_transfer.cdc":                                      generic_transferCdc,
+	"metadata/setup_account_from_address.cdc":                   metadataSetup_account_from_addressCdc,
 	"metadata/setup_account_from_vault_reference.cdc":           metadataSetup_account_from_vault_referenceCdc,
 	"mint_tokens.cdc":                                           mint_tokensCdc,
 	"privateForwarder/create_account_private_forwarder.cdc":     privateforwarderCreate_account_private_forwarderCdc,
@@ -1024,6 +1046,7 @@ var _bintree = &bintree{nil, map[string]*bintree{
 	"create_forwarder.cdc": {create_forwarderCdc, map[string]*bintree{}},
 	"generic_transfer.cdc": {generic_transferCdc, map[string]*bintree{}},
 	"metadata": {nil, map[string]*bintree{
+		"setup_account_from_address.cdc": {metadataSetup_account_from_addressCdc, map[string]*bintree{}},
 		"setup_account_from_vault_reference.cdc": {metadataSetup_account_from_vault_referenceCdc, map[string]*bintree{}},
 	}},
 	"mint_tokens.cdc": {mint_tokensCdc, map[string]*bintree{}},
diff --git a/lib/go/templates/transaction_templates.go b/lib/go/templates/transaction_templates.go
index b9d4b7e3..aa607d72 100644
--- a/lib/go/templates/transaction_templates.go
+++ b/lib/go/templates/transaction_templates.go
@@ -5,6 +5,8 @@ package templates
 import (
 	_ "github.com/kevinburke/go-bindata"
 
+	"strings"
+
 	"github.com/onflow/flow-ft/lib/go/templates/internal/assets"
 )
 
@@ -13,6 +15,7 @@ const (
 	genericTransferFilename      = "generic_transfer.cdc"
 	transferManyAccountsFilename = "transfer_many_accounts.cdc"
 	setupAccountFilename         = "setup_account.cdc"
+	setupGenericVaultFilename    = "metadata/setup_account_from_address.cdc"
 	mintTokensFilename           = "mint_tokens.cdc"
 	createForwarderFilename      = "create_forwarder.cdc"
 	burnTokensFilename           = "burn_tokens.cdc"
@@ -29,6 +32,29 @@ func GenerateCreateTokenScript(env Environment) []byte {
 	return []byte(ReplaceAddresses(code, env))
 }
 
+// GenerateSetupGenericVaultScript creates a script that instantiates
+// a new Vault instance and stores it in storage. It can be used
+// to create any token as long as you know the address of the contract
+// and the name of the contract
+func GenerateSetupAccountFromAddressScript(fungibleTokenAddr, fungibleTokenMVAddr string) []byte {
+
+	code := assets.MustAssetString(setupGenericVaultFilename)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderFungibleToken,
+		withHexPrefix(fungibleTokenAddr),
+	)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderFTMetadataViews,
+		withHexPrefix(fungibleTokenMVAddr),
+	)
+
+	return []byte(code)
+}
+
 // GenerateTransferVaultScript creates a script that withdraws an tokens from an account
 // and deposits it to another account's vault
 func GenerateTransferVaultScript(env Environment) []byte {
@@ -40,11 +66,17 @@ func GenerateTransferVaultScript(env Environment) []byte {
 
 // GenerateTransferGenericVaultScript creates a script that withdraws an tokens from an account
 // and deposits it to another account's vault for any vault type
-func GenerateTransferGenericVaultScript(env Environment) []byte {
+func GenerateTransferGenericVaultScript(fungibleTokenAddr string) []byte {
 
 	code := assets.MustAssetString(genericTransferFilename)
 
-	return []byte(ReplaceAddresses(code, env))
+	code = strings.ReplaceAll(
+		code,
+		placeholderFungibleToken,
+		withHexPrefix(fungibleTokenAddr),
+	)
+
+	return []byte(code)
 }
 
 // GenerateTransferManyAccountsScript creates a script that transfers the same number of tokens
diff --git a/lib/go/test/token_test.go b/lib/go/test/token_test.go
index 92f7648e..33808c36 100644
--- a/lib/go/test/token_test.go
+++ b/lib/go/test/token_test.go
@@ -262,7 +262,7 @@ func TestTokenExternalTransfers(t *testing.T) {
 
 	t.Run("Should be able to transfer tokens with the generic transfer transaction", func(t *testing.T) {
 
-		script := templates.GenerateTransferGenericVaultScript(env)
+		script := templates.GenerateTransferGenericVaultScript(env.FungibleTokenAddress)
 
 		tx := createTxWithTemplateAndAuthorizer(b, script, joshAddress)
 
diff --git a/tests/metadata_views_tests.cdc b/tests/metadata_views_tests.cdc
index d77535ac..d611e6dd 100644
--- a/tests/metadata_views_tests.cdc
+++ b/tests/metadata_views_tests.cdc
@@ -6,6 +6,8 @@ import "FungibleTokenMetadataViews"
 import "ExampleToken"
 import "FungibleToken"
 
+access(all) let admin = Test.getAccount(0x0000000000000007)
+
 /* Test Setup */
 
 access(all) fun setup() {
@@ -27,12 +29,21 @@ access(all) fun testSetupAccountUsingFTView() {
     setupExampleToken(alice)
     let aliceBalance = getExampleTokenBalance(alice)
     txExecutor("metadata/setup_account_from_vault_reference.cdc", [bob], [alice.address, /public/exampleTokenVault], nil, nil)
-    let bobBalance = getExampleTokenBalance(alice)
+    let bobBalance = getExampleTokenBalance(bob)
 
     Test.assertEqual(0.0, aliceBalance)
     Test.assertEqual(0.0, bobBalance)
 }
 
+access(all) fun testSetupAccountUsingContractAddressAndName() {
+    let bob = Test.createAccount()
+
+    txExecutor("metadata/setup_account_from_address.cdc", [bob], [admin.address, "ExampleToken"], nil, nil)
+    let bobBalance = getExampleTokenBalance(bob)
+
+    Test.assertEqual(0.0, bobBalance)
+}
+
 access(all) fun testRetrieveVaultDisplayInfo() {
     let alice = Test.createAccount()
 
diff --git a/transactions/metadata/setup_account_from_address.cdc b/transactions/metadata/setup_account_from_address.cdc
new file mode 100644
index 00000000..fc8ec455
--- /dev/null
+++ b/transactions/metadata/setup_account_from_address.cdc
@@ -0,0 +1,37 @@
+import FungibleToken from "FungibleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+
+/// This transaction is what an account would run
+/// to set itself up to manage fungible tokens. This function
+/// uses views to know where to set up the vault
+/// in storage and to create the empty vault.
+
+transaction(contractAddress: Address, contractName: String) {
+
+    prepare(signer: auth(SaveValue, Capabilities) &Account) {
+        // Borrow a reference to the vault stored on the passed account at the passed publicPath
+        let resolverRef = getAccount(contractAddress)
+            .contracts.borrow<&FungibleToken>(name: contractName)
+            ?? panic("Could not borrow a reference to the fungible token contract")
+
+        // Use that reference to retrieve the FTView 
+        let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+            ?? panic("Could not resolve the FTVaultData view for the given Fungible token contract")
+
+        // Create a new empty vault using the createEmptyVault function inside the FTVaultData
+        let emptyVault <-ftVaultData.createEmptyVault()
+
+        // Save it to the account
+        signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)
+        
+        // Create a public capability for the vault which includes the .Resolver interface
+        let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)
+        signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)
+
+        // Create a public capability for the vault exposing the receiver interface
+        let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)
+        signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)
+
+    }
+}
+ 
\ No newline at end of file

From 959b707198762ba7bf276cd3c39a3acd14927efe Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 13 Feb 2024 16:01:56 -0600
Subject: [PATCH 095/115] update generic transfer transactions

---
 coverage.json                                 |  34 +++---
 lib/go/templates/internal/assets/assets.go    |  45 ++++++--
 lib/go/templates/transaction_templates.go     |  46 ++++++--
 lib/go/test/go.mod                            |  38 +++---
 lib/go/test/go.sum                            |  36 ++++++
 lib/go/test/token_test.go                     | 109 ++++++++----------
 .../generic_transfer_with_address.cdc         |  44 +++++++
 ...er.cdc => generic_transfer_with_paths.cdc} |  14 ++-
 8 files changed, 244 insertions(+), 122 deletions(-)
 create mode 100644 transactions/generic_transfer_with_address.cdc
 rename transactions/{generic_transfer.cdc => generic_transfer_with_paths.cdc} (62%)

diff --git a/coverage.json b/coverage.json
index 85db9177..1f1c894f 100644
--- a/coverage.json
+++ b/coverage.json
@@ -588,28 +588,28 @@
     }
   },
   "excluded_locations": [
-    "A.0000000000000001.NonFungibleToken",
     "A.0000000000000002.FungibleToken",
-    "A.0000000000000001.ExampleNFT",
-    "I.Test",
-    "I.BlockchainHelpers",
-    "A.0000000000000001.StakingProxy",
-    "A.0000000000000001.FlowDKG",
-    "A.0000000000000002.FungibleTokenMetadataViews",
-    "A.0000000000000001.FlowStakingCollection",
-    "s.7465737400000000000000000000000000000000000000000000000000000000",
-    "A.0000000000000001.FlowServiceAccount",
-    "A.0000000000000004.FlowFees",
     "A.0000000000000001.FlowEpoch",
+    "s.7465737400000000000000000000000000000000000000000000000000000000",
     "A.0000000000000003.FlowToken",
-    "A.0000000000000001.MetadataViews",
-    "A.0000000000000001.ViewResolver",
-    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000001.NonFungibleToken",
+    "I.Test",
     "A.0000000000000001.RandomBeaconHistory",
-    "I.Crypto",
-    "A.0000000000000001.FlowClusterQC",
+    "A.0000000000000001.FlowServiceAccount",
     "A.0000000000000001.NodeVersionBeacon",
+    "A.0000000000000002.FungibleTokenMetadataViews",
+    "A.0000000000000001.ExampleNFT",
+    "A.0000000000000004.FlowFees",
+    "A.0000000000000001.FlowDKG",
+    "A.0000000000000001.FlowStakingCollection",
+    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000001.StakingProxy",
     "A.0000000000000001.FlowStorageFees",
-    "A.0000000000000001.LockedTokens"
+    "A.0000000000000001.FlowClusterQC",
+    "I.Crypto",
+    "A.0000000000000001.LockedTokens",
+    "A.0000000000000001.ViewResolver",
+    "A.0000000000000001.MetadataViews",
+    "I.BlockchainHelpers"
   ]
 }
\ No newline at end of file
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 8a0b9715..45d7ba80 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -2,7 +2,8 @@
 // sources:
 // burn_tokens.cdc (1.718kB)
 // create_forwarder.cdc (3.03kB)
-// generic_transfer.cdc (1.331kB)
+// generic_transfer_with_address.cdc (2.1kB)
+// generic_transfer_with_paths.cdc (1.697kB)
 // metadata/setup_account_from_address.cdc (1.906kB)
 // metadata/setup_account_from_vault_reference.cdc (1.909kB)
 // mint_tokens.cdc (1.827kB)
@@ -147,23 +148,43 @@ func create_forwarderCdc() (*asset, error) {
 	return a, nil
 }
 
-var _generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4d\x6f\xe2\x48\x10\x3d\x87\x5f\xf1\x96\x43\x02\x12\x71\x2e\xab\x3d\xa0\x7c\x6c\x36\x52\xf6\x1a\x65\x32\x99\x73\xd1\x5d\xe0\x9e\x98\x6e\xab\xbb\x8c\x83\x22\xfe\xfb\xa8\xcb\xc6\x40\xa2\x39\x0c\x17\x4c\x51\xf5\xde\xab\xd7\xcf\xed\xd6\x75\x88\x82\xc7\xc6\xaf\xdc\xa2\xe2\x97\xf0\xc6\x1e\xcb\x18\xd6\x18\x9f\xd4\xc6\xa3\xd1\xd5\xd5\x15\x1e\xc8\xa3\xa6\x94\xe0\x3c\xc8\x6f\x91\x24\x44\x5a\x31\x6a\x92\x12\xe4\x2d\x22\x1b\x76\x1b\x8e\x5d\xc5\xf9\x24\x4c\x16\x61\x89\x9f\x4d\x12\x48\xc9\xb0\xbc\xa4\xa6\x92\x42\xf1\x5e\x4a\x97\x50\xb1\x24\x6c\x43\x03\x53\x86\x90\x58\xbb\x44\x85\xe4\x62\x4b\x5e\x20\x01\x89\xbd\x05\x25\xb4\x5c\x55\xda\x62\xa8\xa6\x85\xab\x9c\x6c\xbf\xf6\xb9\xfc\xa8\x14\x4a\x73\xef\xb7\x3d\xa2\xca\x32\xe4\xb1\x60\x5d\x84\x15\x93\x3c\x28\xae\x9a\x35\x7b\x41\xc9\x91\x67\x48\x01\x2d\x55\xaa\x2c\x95\xa1\xa9\xac\xe2\x74\x8f\x30\x25\x9b\xb7\xc3\xc4\x86\xaa\x86\x53\xe6\x5e\xd3\x1b\x23\x35\xb1\xdb\xc1\x79\x61\x6f\xd9\x1e\x53\xbb\xb4\xa7\x75\x5e\xe5\x49\x24\x9f\xc8\x88\x0b\x7e\x42\xeb\xd0\x78\x99\xe3\xfb\xa3\x7b\xff\xe7\xef\x19\x24\xcc\x71\x6f\x6d\xe4\x94\x66\xba\x17\xc7\x27\x92\x72\x8e\x6f\x9d\xed\xf9\xc7\x6c\xb0\xbc\xfb\xeb\xa9\x59\x54\xce\xe4\xe7\x29\x3e\x46\x23\x00\x50\x9f\x19\xaf\xd9\x76\x44\x4e\xa1\x89\x26\x2b\x24\x41\x19\x2a\x9b\x0e\x86\xa7\xae\x4a\x91\xb1\x60\xe7\x57\x50\x75\x4b\x8e\x91\xad\x42\x55\x2c\x10\x5e\xd7\x8a\x35\xc7\xbf\x1f\x27\x21\x29\xb4\xbc\xeb\x58\xeb\xc8\x35\x45\x9e\x24\xb7\xf2\x1c\xe7\xa0\x46\xca\xc9\x7f\x21\xc6\xd0\xbe\x66\xc3\xa6\x38\xbf\x37\x26\x2f\x3c\x08\xed\xc5\xfe\xcf\x02\x42\xe4\x25\x47\xf6\x59\x69\x50\x85\x1d\xd0\x45\xd2\xd0\xb1\xc5\x26\x93\x0d\x73\x59\x99\x56\x9e\x79\x89\x9b\xbe\xb9\xe8\xf3\x59\x2c\x94\xf7\x5a\x35\x9c\x4a\xfe\xe1\xa4\xb4\x91\xda\x29\xce\x3f\x2d\xf3\x14\xc3\xc6\x59\x8e\xbb\xdb\x49\x7e\x21\xe6\x47\x27\x30\x1d\x9d\x9d\x9d\xdd\xdd\xa1\x26\xef\xcc\x64\xfc\xa0\xa9\xf0\x41\xd0\xf1\x7c\xd5\x1e\xda\x4e\xba\x1a\xf4\xd7\x78\x7a\xd8\x37\x71\xb5\x2c\x06\x4b\x71\x7d\x39\x6c\x51\xb4\xbd\xb4\x21\x17\xdd\xf7\x54\x67\x7b\x97\xf9\x9d\x4d\x23\x8c\x8f\x13\x23\x22\x1b\x57\xbb\x9c\xcd\x1b\xac\x58\x7a\x9f\x27\x12\xa6\x9f\xdb\x34\x39\x9d\x65\xc3\x50\x31\xbc\x59\x8e\xd3\xde\xba\xcf\xee\x3c\xf7\xb3\xbb\xdb\xc9\x71\x00\x0f\x04\xf9\xf3\x27\x16\x0d\xf4\x17\x09\x7b\xf0\x13\xa7\x72\x8c\xfb\x38\xee\xd3\xaa\x17\xd5\x6f\xb3\x71\x84\xdc\xdd\x49\x87\x1b\x63\x00\x3d\xb2\xa0\xb0\x5c\x87\xe4\xa4\x3f\xed\xeb\xcb\xd3\xa3\xd9\xdb\xbe\xfb\x15\x00\x00\xff\xff\xab\x62\xdc\x5e\x33\x05\x00\x00"
+var _generic_transfer_with_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x53\xe3\x46\x10\x3d\xe3\x5f\xf1\xf0\x81\x95\xaa\x58\x71\x49\xe5\xe0\x62\x21\x84\x14\x39\x25\xb5\xb5\xf1\x92\x73\x5b\x6a\x5b\x53\xc8\x33\xaa\x99\x96\xbd\x14\xc5\x7f\x4f\xcd\x87\x06\xcb\x0b\x04\x0e\xd8\x6e\x4d\xbf\x7e\xfd\xfa\xf5\x48\x6d\x7b\x63\x05\x77\x83\xde\xa8\x55\xc7\x4b\xf3\xc0\x1a\x6b\x6b\xb6\x98\x4f\x62\xf3\xd9\x6b\x27\xff\x62\xa1\x86\x84\xee\x15\xef\xdd\x6b\x69\x93\x03\xf3\xd9\xec\xe2\xe2\x02\xb7\xa4\xd1\x93\x73\x50\x1a\xa4\x1f\x51\x1b\x2d\x96\x6a\x01\x35\x8d\x65\xe7\x40\xba\x81\xa6\x2d\x43\x0c\xc4\x92\x76\x6b\xb6\x20\xc8\x0b\x37\x69\x49\x72\x5e\x00\x5d\xb6\xca\xa1\x63\x71\x78\x34\x03\xea\xd6\x18\xc7\x90\x96\x53\x96\x0f\xee\x49\x8b\x87\x74\xac\x1b\x9f\x13\xf2\x6e\x0e\x09\xd4\xa4\xb1\x62\x9f\xed\x58\xa3\x65\xcb\xe7\x70\x06\x7b\xea\x02\xb2\x6b\xcd\xd0\x35\xa8\x5b\xae\x1f\x40\x76\x33\x6c\x59\x0b\x76\xd4\x0d\xec\x02\x98\x18\x6c\xe9\x81\xe1\x06\x1b\x8b\x2b\x2d\xac\x1b\x6e\x12\x8b\x9e\xa4\x85\x72\xa1\x7b\x6e\xa0\x74\xa0\x11\x5a\xa4\x5a\x94\xd1\x05\x6d\xcd\xa0\x65\x81\xef\x77\xea\xc7\xaf\xbf\x9c\x43\xcc\x02\x37\x51\x96\xf3\xcc\x33\x05\x5e\x79\xf2\x37\x6d\x79\x81\x7f\xc4\x2a\xbd\x29\xf1\x34\x9b\x01\x40\x50\x87\x71\x4f\x43\x27\xb0\xec\xcc\x60\x6b\x8e\x12\xb6\xa6\x6b\xdc\x8b\x4c\x2e\x46\xc9\x32\x56\xac\xf4\x26\xab\x6f\xb9\x09\x50\x1d\x0b\x84\xb7\x7d\xc0\x5a\xe0\xb7\xa7\xc9\xb0\xab\x10\x7e\xce\x55\xef\x96\x21\xf0\x07\x09\xc1\x89\x1d\xea\x20\xff\x86\x25\x08\x11\xfd\x92\x61\x77\xe3\xd1\xc5\x3b\x16\xab\x0e\x20\x63\x99\xde\x72\x4f\x96\x0b\xa7\x36\x9a\xed\x02\x34\x48\x5b\xfc\x6e\xac\x35\xfb\x7b\x3f\x98\x12\x67\x37\x75\xed\x45\xcd\x7a\x24\x76\xf1\x10\x08\x96\xd7\x6c\x59\xd7\xd1\x6f\x2d\x47\x2a\x70\x62\x2c\x37\x30\x3a\xc4\xd2\xc8\x28\x62\x81\xe4\x30\xda\x0f\xab\x4e\xd5\x5f\x49\xda\x5c\xc0\xb7\xe4\xb5\xee\x76\x6c\xbf\xf1\x1a\x5f\x7c\xdf\x89\x49\x71\x34\xc8\x32\x67\xf9\xbf\x6a\x7c\xea\xaa\x55\xa0\x78\x79\x36\x11\xe4\xaa\xd0\x61\xca\x87\x33\x9f\x22\x5c\x5f\xa3\x27\xad\xea\x62\x7e\x1b\x0c\xab\x8d\x60\xf5\x66\xb7\xeb\x04\x9e\x3c\x3a\xc2\xce\xcb\x89\x5a\xdf\x5d\xb2\xcc\x24\xdf\xb2\x58\xc5\xbb\x68\xf6\xbb\xa5\x9f\x11\x72\x96\xe3\x6e\x5d\xe5\xb1\xe2\xcb\xa1\x1e\x55\xfa\x7e\x9b\xaa\xf9\xcc\x62\xf4\xe6\xf2\xb1\xe7\x05\xb4\xea\xce\xb1\x53\xbc\x8f\x3f\xfd\xff\xcb\x8f\x39\xe3\xaa\x28\x4b\x90\x3b\xfd\xa0\x91\xae\xff\x57\xbc\x44\x76\xec\x32\xb7\xe4\xd9\x61\x6d\x6c\x78\xb0\x51\x3b\xd6\xb9\xe4\xfb\x6a\xfe\xc9\xf2\xda\x28\xa2\x89\x3f\xb9\xd1\x7b\x41\xbc\x89\xa5\x42\x24\xfa\x29\x1e\xae\xfc\x51\xda\xf0\xe8\x95\xe0\xff\xe9\x56\xfe\xab\xa4\x6d\x2c\xed\x4b\x9c\x1d\xed\xeb\x57\x6b\x76\xaa\x61\xfb\x7c\x55\xf8\x5d\x5c\x1c\x8d\x6c\xc4\xf6\xc6\x2e\x67\x27\x27\x27\xef\x18\xeb\xa7\x5e\xcc\x3e\xb6\x12\xd4\x3a\x3d\xec\x3f\x14\xc9\xb7\x08\x2e\x3f\xe7\xae\xaa\x7d\xa2\x9a\xef\xc1\xf8\x19\xed\x9d\x2e\x16\xfe\xc1\xf5\x20\x8c\xa7\xa3\x5d\xab\x55\xaf\xfc\x7d\x3c\xd9\x34\x31\xe5\xf1\x31\x56\x79\x25\x73\x52\x55\x53\x4f\x2b\xd5\x29\x51\xfc\xb2\x76\x47\x6a\x7d\x4b\xb9\xcf\x57\xc5\x91\x4e\x23\x6a\x14\xea\x83\xab\xf8\x93\x62\x99\xcd\x27\x87\xb1\xd6\xe9\x91\x71\x96\xe3\xeb\x30\xdd\xd7\xe9\x6d\xf8\x86\x75\x0e\x90\x03\x1a\x72\x9b\x8f\x19\xf4\x40\x91\xaa\xe1\xde\x38\x25\xc9\x0c\x97\x9f\xa7\x93\x1a\xa7\xf0\xfc\x5f\x00\x00\x00\xff\xff\x12\x91\xfc\xab\x34\x08\x00\x00"
 
-func generic_transferCdcBytes() ([]byte, error) {
+func generic_transfer_with_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
-		_generic_transferCdc,
-		"generic_transfer.cdc",
+		_generic_transfer_with_addressCdc,
+		"generic_transfer_with_address.cdc",
 	)
 }
 
-func generic_transferCdc() (*asset, error) {
-	bytes, err := generic_transferCdcBytes()
+func generic_transfer_with_addressCdc() (*asset, error) {
+	bytes, err := generic_transfer_with_addressCdcBytes()
 	if err != nil {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "generic_transfer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa3, 0xa7, 0x57, 0x32, 0xee, 0x9d, 0x77, 0x16, 0x42, 0xa5, 0xd5, 0x7, 0xd8, 0x9e, 0xbc, 0xc3, 0x5e, 0x9c, 0x54, 0xb3, 0x9a, 0x47, 0x6f, 0x4d, 0x39, 0xf2, 0x89, 0xd2, 0xde, 0x79, 0x85, 0x57}}
+	info := bindataFileInfo{name: "generic_transfer_with_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb9, 0x4a, 0xf4, 0x63, 0x63, 0x28, 0x2, 0xe, 0x4f, 0x4d, 0x7b, 0x6a, 0xf8, 0x97, 0x44, 0xa6, 0x87, 0xf8, 0xef, 0x51, 0xd7, 0xe6, 0xef, 0xad, 0x96, 0xea, 0x6d, 0x6c, 0xe7, 0xab, 0x13, 0xe7}}
+	return a, nil
+}
+
+var _generic_transfer_with_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\xcf\x6f\xda\x30\x14\x3e\x97\xbf\xe2\x2b\x87\x36\x48\x34\x5c\xa6\x1d\x50\x7f\xac\xab\xd4\x69\xb7\xaa\xed\xba\xb3\x71\x5e\x88\xd7\x60\x47\x7e\x2f\x50\x54\xf1\xbf\x4f\x76\x42\x20\x94\x69\xda\xb8\x90\x18\xe7\x7b\xdf\xaf\x18\xb3\xa8\x9c\x17\xdc\xd7\x76\x6e\x66\x25\x3d\xbb\x57\xb2\xc8\xbd\x5b\x60\xd8\x5b\x1b\x0e\x06\x93\xc9\x04\x77\xca\xa2\x52\xcc\x30\x16\xca\xae\xc1\xe2\xbc\x9a\x13\x2a\x25\x05\x94\xcd\xe0\x49\x93\x59\x92\x6f\x56\x4c\x46\x56\x4c\x6e\xc8\xc3\x58\x16\x52\x19\x5c\x8e\x5f\x35\x0b\xa4\x20\x64\x94\xab\xba\x94\x34\x42\x3f\x17\x86\x51\x92\x30\xd6\xae\x86\x2e\x9c\x63\x8a\xbb\x24\x72\x0a\x8b\x2b\x65\x05\xe2\xc0\x64\x33\x28\xc6\x8a\xca\x32\x6e\xd1\xaa\x52\x33\x53\x1a\x59\x7f\xdc\x67\xc2\x65\x1c\x11\xc7\xdc\xda\x75\x8b\x18\x19\x6a\x65\x31\xa3\xa8\x89\x22\xa6\xb2\x50\x7e\x5e\x2f\xc8\x0a\x0a\xf2\x34\x06\x3b\xac\x54\x19\x99\x71\xe1\xea\x32\x8b\x38\xcd\x25\x74\x41\xfa\x75\xf7\xc4\x52\x95\x35\x71\x98\xbd\x50\xaf\x04\xae\x7d\xa3\xc1\x58\x21\x9b\x51\xb6\x3f\xda\xf0\x76\xac\xb1\x91\x9e\x78\x65\x59\x69\x31\xce\x26\x6a\xe1\x6a\x2b\x53\xfc\xb8\x37\x6f\x9f\x3f\x8d\x21\x6e\x8a\xdb\x2c\xf3\xc4\x3c\x8e\xba\xc8\x3f\x28\x29\xbe\x77\x06\x4f\xf1\x24\xde\xd8\xf9\xb8\x8b\xe0\xf8\xef\x23\xbc\x0f\x06\x00\x10\x2d\x27\xbc\x84\x04\xe0\x89\x5d\xed\x75\x20\xab\x04\x85\x2b\x33\xde\x79\xcf\xcd\xaa\xf2\x84\x19\x19\x3b\x47\x24\x9a\x93\xf7\x94\x45\xa8\x92\x04\x42\x8b\x2a\x62\x4d\xf1\xe5\xbd\x57\x9d\x34\x2e\x6f\x9a\xa9\x95\xa7\x4a\x79\x4a\xd8\xcc\x6d\x20\xa5\x6a\x29\x92\xaf\xce\x7b\xb7\x7a\x09\xde\x8d\x70\x76\xab\x75\xd0\xde\x11\xdd\x4e\x68\xbb\x16\x64\xe1\x0a\x4f\xbb\xbb\xc4\xec\xa9\x3c\xe6\xcd\xa8\xc3\x09\x9f\x9b\x1b\x54\xca\x1a\x9d\x0c\xef\x62\x84\xd6\x09\xb4\xb3\x2c\xbe\xd6\x02\xd5\xef\x74\x7c\x15\x82\x13\x95\x77\x4b\x13\x12\x3c\x2c\x36\x47\x5b\x87\xa3\x1d\xd9\xc9\x04\xdf\x28\x20\x79\xca\xc9\x93\x0d\xb6\xba\x08\xd2\xa8\x3e\xe7\x38\x83\x32\x2c\x83\x33\x3d\x91\x71\xe5\x91\x72\x5c\xb5\x9b\xd3\x96\x4e\x3a\x8b\x26\x5d\x46\xc3\xfa\xfe\xfe\x34\x52\x64\x5e\xad\x46\x38\x3b\x70\xfe\xa1\x21\xed\x37\xd7\x49\x10\x32\xdd\xf7\x70\x34\x38\x39\x39\x39\xe6\x45\x33\xe8\x23\x79\xb7\x6a\xb8\xc7\x38\x4f\xf7\x05\x33\x95\x79\xda\x15\x00\x97\x17\x9d\x8c\x74\xd5\x72\xeb\x0a\xdd\x7c\x37\x89\xb4\x9d\xa0\x37\xd2\xb5\x10\xde\x7b\x4e\x54\xf5\xac\x34\xba\x4d\xfb\xa1\xbb\xe9\x85\x7d\xbc\xea\xff\x16\x77\x33\xe7\xff\xd3\x0e\x5c\x3d\x69\x53\x99\x70\x00\x5c\x61\x4e\xd2\x36\x38\x11\x37\x3a\xdc\x16\xe9\x36\xf9\x76\x0f\xa5\xdd\xf1\x65\x88\xb7\x39\x1f\x46\xf9\xd8\x3e\xbb\xb9\x4e\x76\xce\xfc\x5d\xe9\x9f\xc2\xec\x86\x9f\x33\xb6\xd0\xa7\x07\x25\x7e\x6e\x5f\xf3\xed\x29\xd0\xb9\x73\xb4\xc6\x7b\xc8\xcd\x3f\xc0\xee\x50\xee\x40\xf7\x0c\x48\x33\xaa\x1c\x1b\x69\x8b\x79\x79\xd1\x2f\xd1\xb6\x20\x9b\xdf\x01\x00\x00\xff\xff\x25\xb7\x7d\xef\xa1\x06\x00\x00"
+
+func generic_transfer_with_pathsCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_generic_transfer_with_pathsCdc,
+		"generic_transfer_with_paths.cdc",
+	)
+}
+
+func generic_transfer_with_pathsCdc() (*asset, error) {
+	bytes, err := generic_transfer_with_pathsCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "generic_transfer_with_paths.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6a, 0xcb, 0x54, 0x6b, 0x40, 0x65, 0x79, 0x9c, 0xe2, 0x63, 0x61, 0x29, 0xb5, 0xe5, 0x8, 0xef, 0x33, 0xe6, 0x21, 0xf9, 0x11, 0xdc, 0x75, 0x77, 0x71, 0xaa, 0x2c, 0xb3, 0xd8, 0x46, 0xb7, 0xc}}
 	return a, nil
 }
 
@@ -960,7 +981,8 @@ func AssetNames() []string {
 var _bindata = map[string]func() (*asset, error){
 	"burn_tokens.cdc":                                           burn_tokensCdc,
 	"create_forwarder.cdc":                                      create_forwarderCdc,
-	"generic_transfer.cdc":                                      generic_transferCdc,
+	"generic_transfer_with_address.cdc":                         generic_transfer_with_addressCdc,
+	"generic_transfer_with_paths.cdc":                           generic_transfer_with_pathsCdc,
 	"metadata/setup_account_from_address.cdc":                   metadataSetup_account_from_addressCdc,
 	"metadata/setup_account_from_vault_reference.cdc":           metadataSetup_account_from_vault_referenceCdc,
 	"mint_tokens.cdc":                                           mint_tokensCdc,
@@ -1044,7 +1066,8 @@ type bintree struct {
 var _bintree = &bintree{nil, map[string]*bintree{
 	"burn_tokens.cdc": {burn_tokensCdc, map[string]*bintree{}},
 	"create_forwarder.cdc": {create_forwarderCdc, map[string]*bintree{}},
-	"generic_transfer.cdc": {generic_transferCdc, map[string]*bintree{}},
+	"generic_transfer_with_address.cdc": {generic_transfer_with_addressCdc, map[string]*bintree{}},
+	"generic_transfer_with_paths.cdc": {generic_transfer_with_pathsCdc, map[string]*bintree{}},
 	"metadata": {nil, map[string]*bintree{
 		"setup_account_from_address.cdc": {metadataSetup_account_from_addressCdc, map[string]*bintree{}},
 		"setup_account_from_vault_reference.cdc": {metadataSetup_account_from_vault_referenceCdc, map[string]*bintree{}},
diff --git a/lib/go/templates/transaction_templates.go b/lib/go/templates/transaction_templates.go
index aa607d72..f1f3bf10 100644
--- a/lib/go/templates/transaction_templates.go
+++ b/lib/go/templates/transaction_templates.go
@@ -11,14 +11,15 @@ import (
 )
 
 const (
-	transferTokensFilename       = "transfer_tokens.cdc"
-	genericTransferFilename      = "generic_transfer.cdc"
-	transferManyAccountsFilename = "transfer_many_accounts.cdc"
-	setupAccountFilename         = "setup_account.cdc"
-	setupGenericVaultFilename    = "metadata/setup_account_from_address.cdc"
-	mintTokensFilename           = "mint_tokens.cdc"
-	createForwarderFilename      = "create_forwarder.cdc"
-	burnTokensFilename           = "burn_tokens.cdc"
+	transferTokensFilename             = "transfer_tokens.cdc"
+	genericTransferWithPathsFilename   = "generic_transfer_with_paths.cdc"
+	genericTransferWithAddressFilename = "generic_transfer_with_address.cdc"
+	transferManyAccountsFilename       = "transfer_many_accounts.cdc"
+	setupAccountFilename               = "setup_account.cdc"
+	setupGenericVaultFilename          = "metadata/setup_account_from_address.cdc"
+	mintTokensFilename                 = "mint_tokens.cdc"
+	createForwarderFilename            = "create_forwarder.cdc"
+	burnTokensFilename                 = "burn_tokens.cdc"
 )
 
 // GenerateCreateTokenScript creates a script that instantiates
@@ -64,11 +65,11 @@ func GenerateTransferVaultScript(env Environment) []byte {
 	return []byte(ReplaceAddresses(code, env))
 }
 
-// GenerateTransferGenericVaultScript creates a script that withdraws an tokens from an account
-// and deposits it to another account's vault for any vault type
-func GenerateTransferGenericVaultScript(fungibleTokenAddr string) []byte {
+// GenerateTransferGenericVaultWithPathsScript creates a script that withdraws an tokens from an account
+// and deposits it to another account's vault for any vault type using paths as arguments
+func GenerateTransferGenericVaultWithPathsScript(fungibleTokenAddr string) []byte {
 
-	code := assets.MustAssetString(genericTransferFilename)
+	code := assets.MustAssetString(genericTransferWithPathsFilename)
 
 	code = strings.ReplaceAll(
 		code,
@@ -79,6 +80,27 @@ func GenerateTransferGenericVaultScript(fungibleTokenAddr string) []byte {
 	return []byte(code)
 }
 
+// GenerateTransferGenericVaultWithAddressScript creates a script that withdraws an tokens from an account
+// and deposits it to another account's vault for any vault type using the contract's address and name as arguments
+func GenerateTransferGenericVaultWithAddressScript(fungibleTokenAddr, ftMetadataViewsAddr string) []byte {
+
+	code := assets.MustAssetString(genericTransferWithAddressFilename)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderFungibleToken,
+		withHexPrefix(fungibleTokenAddr),
+	)
+
+	code = strings.ReplaceAll(
+		code,
+		placeholderFTMetadataViews,
+		withHexPrefix(ftMetadataViewsAddr),
+	)
+
+	return []byte(code)
+}
+
 // GenerateTransferManyAccountsScript creates a script that transfers the same number of tokens
 // to a list of accounts
 func GenerateTransferManyAccountsScript(env Environment) []byte {
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index 7d9c1f99..6c67044a 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -4,12 +4,12 @@ go 1.18
 
 require (
 	github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2
-	github.com/onflow/cadence v1.0.0-M4
-	github.com/onflow/flow-emulator v1.0.0-M1
-	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240125205519-2e80d9b4bd01
+	github.com/onflow/cadence v1.0.0-M5
+	github.com/onflow/flow-emulator v1.0.0-M3
+	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240205224107-320aa3cf09e0
 	github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240125205519-2e80d9b4bd01
-	github.com/onflow/flow-go-sdk v1.0.0-M1
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad
+	github.com/onflow/flow-go-sdk v1.0.0-M2
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
@@ -50,7 +50,7 @@ require (
 	github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c // indirect
 	github.com/fxamacker/circlehash v0.3.0 // indirect
 	github.com/getsentry/sentry-go v0.18.0 // indirect
-	github.com/glebarez/go-sqlite v1.21.1 // indirect
+	github.com/glebarez/go-sqlite v1.22.0 // indirect
 	github.com/go-logr/logr v1.2.4 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
 	github.com/go-ole/go-ole v1.2.6 // indirect
@@ -61,7 +61,7 @@ require (
 	github.com/golang/glog v1.1.2 // indirect
 	github.com/golang/protobuf v1.5.3 // indirect
 	github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
-	github.com/google/uuid v1.4.0 // indirect
+	github.com/google/uuid v1.5.0 // indirect
 	github.com/gorilla/websocket v1.5.0 // indirect
 	github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect
 	github.com/hashicorp/errwrap v1.1.0 // indirect
@@ -96,8 +96,8 @@ require (
 	github.com/logrusorgru/aurora/v4 v4.0.0 // indirect
 	github.com/magiconair/properties v1.8.7 // indirect
 	github.com/mattn/go-colorable v0.1.13 // indirect
-	github.com/mattn/go-isatty v0.0.19 // indirect
-	github.com/mattn/go-runewidth v0.0.14 // indirect
+	github.com/mattn/go-isatty v0.0.20 // indirect
+	github.com/mattn/go-runewidth v0.0.15 // indirect
 	github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
 	github.com/minio/sha256-simd v1.0.1 // indirect
 	github.com/mitchellh/mapstructure v1.5.0 // indirect
@@ -114,10 +114,10 @@ require (
 	github.com/olekukonko/tablewriter v0.0.5 // indirect
 	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
 	github.com/onflow/crypto v0.25.0 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d // indirect
-	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d // indirect
-	github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61 // indirect
-	github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101-928bf99024d7 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7 // indirect
+	github.com/onflow/flow-go v0.33.2-0.20240206235622-50f8c81f1f43 // indirect
+	github.com/onflow/flow/protobuf/go/flow v0.3.7 // indirect
 	github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba // indirect
 	github.com/opentracing/opentracing-go v1.2.0 // indirect
 	github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
@@ -175,8 +175,8 @@ require (
 	golang.org/x/sync v0.5.0 // indirect
 	golang.org/x/sys v0.15.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	golang.org/x/tools v0.16.0 // indirect
-	golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
+	golang.org/x/tools v0.16.1 // indirect
+	golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
 	gonum.org/v1/gonum v0.13.0 // indirect
 	google.golang.org/appengine v1.6.7 // indirect
 	google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b // indirect
@@ -187,10 +187,10 @@ require (
 	gopkg.in/ini.v1 v1.67.0 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 	lukechampine.com/blake3 v1.2.1 // indirect
-	modernc.org/libc v1.22.3 // indirect
-	modernc.org/mathutil v1.5.0 // indirect
-	modernc.org/memory v1.5.0 // indirect
-	modernc.org/sqlite v1.21.1 // indirect
+	modernc.org/libc v1.37.6 // indirect
+	modernc.org/mathutil v1.6.0 // indirect
+	modernc.org/memory v1.7.2 // indirect
+	modernc.org/sqlite v1.28.0 // indirect
 	rsc.io/tmplfunc v0.0.3 // indirect
 )
 
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 8c33c472..17ee2632 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -1254,6 +1254,8 @@ github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NB
 github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM=
 github.com/glebarez/go-sqlite v1.21.1 h1:7MZyUPh2XTrHS7xNEHQbrhfMZuPSzhkm2A1qgg0y5NY=
 github.com/glebarez/go-sqlite v1.21.1/go.mod h1:ISs8MF6yk5cL4n/43rSOmVMGJJjHYr7L2MbZZ5Q4E2E=
+github.com/glebarez/go-sqlite v1.22.0 h1:uAcMJhaA6r3LHMTFgP0SifzgXg46yJkgxqyuyec+ruQ=
+github.com/glebarez/go-sqlite v1.22.0/go.mod h1:PlBIdHe0+aUEFn+r2/uthrWq4FxbzugL0L8Li6yQJbc=
 github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
 github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
 github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98=
@@ -1444,6 +1446,8 @@ github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+
 github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
 github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
+github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
 github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
 github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
@@ -1712,12 +1716,16 @@ github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/
 github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
 github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
+github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
+github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
 github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
+github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
 github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
 github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
@@ -1807,23 +1815,39 @@ github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs
 github.com/onflow/cadence v1.0.0-M3/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
 github.com/onflow/cadence v1.0.0-M4 h1:/nt3j7vpYDxuI0ghIgAJrb2R01ijvJYZLAkKt+zbpTY=
 github.com/onflow/cadence v1.0.0-M4/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
+github.com/onflow/cadence v1.0.0-M5 h1:vNG7x2KLLrt2yfVr1HtEXUlUi4GdNo+rkXnPkhSzsFA=
+github.com/onflow/cadence v1.0.0-M5/go.mod h1:a4mccDU90hmuxCLUFzs9J/ANG/rYbFa36h4Z0bBAqNU=
 github.com/onflow/crypto v0.25.0 h1:BeWbLsh3ZD13Ej+Uky6kg1PL1ZIVBDVX+2MVBNwqddg=
 github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d h1:Afcfk/9jAQZ1v5PLGdP68FG/0yPPM60fn9Eq8ChBGS0=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d/go.mod h1:Ts/HN+N0RaYJ6oPCqR1JPaMVFiVaMdKTSUH4OdSjjs0=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101-928bf99024d7 h1:OI/4F2NK/X/4x3dTUFFDGtuOsSa9pX+jjBeSEcBrY/M=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101-928bf99024d7/go.mod h1:GK+Ik1K3L3v8xmHmRQv5yxJz81lYhdYSNm0PQ63Xrws=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d h1:IQJpP3VLLjT4R8ItBpr+Mmp0IOnC/8iBcM0/67JNB9c=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d/go.mod h1:MZ2j5YVTQiSE0B99zuaYhxvGG5GcvimWpQK1Fw/1QBg=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7 h1:WAx8ftVz1BeXiKvQ9gLKEf1J3NBWK26Pbczd0iH4C6I=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7/go.mod h1:MZ2j5YVTQiSE0B99zuaYhxvGG5GcvimWpQK1Fw/1QBg=
 github.com/onflow/flow-emulator v1.0.0-M1 h1:0hBEmvm73F+5HhN5ugkOP3UyN+Ea9yGWflEmoeGzgdw=
 github.com/onflow/flow-emulator v1.0.0-M1/go.mod h1:JFJCeQVyhCQVD2Tq4QhctIXK6j5U6aU15yoEwMJt5AQ=
+github.com/onflow/flow-emulator v1.0.0-M3 h1:+Rktq6OzQfJCLNVweJqtTUKZrHMc6eVVZn1tYI1PMMg=
+github.com/onflow/flow-emulator v1.0.0-M3/go.mod h1:iMQ7WbzrEa+xQL23P8zCxrXv8YhAWUds8SvEdERB14o=
 github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61 h1:Xq40zbxw9mDS1+Zz1p6DCzAxDYQwbHWLJ5B9HOp9Fk8=
 github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61/go.mod h1:xdzERQeTalqsU0rHGSZgqQuE5krMfBQ4BA/4bgrLndY=
+github.com/onflow/flow-go v0.33.2-0.20240206235622-50f8c81f1f43 h1:KB10iF+6HIQ/hKykzBf8n3P8cDDRHL4ytfc0R4ApCZM=
+github.com/onflow/flow-go v0.33.2-0.20240206235622-50f8c81f1f43/go.mod h1:gWMjeDpt0YuJiwxtgdD8qxsM53PvUyoPHmjisZZmjR0=
 github.com/onflow/flow-go-sdk v1.0.0-M1 h1:mke/ebYwNRRWPZqcwCV56Alx0A8psew43ZbSEUQ4TL8=
 github.com/onflow/flow-go-sdk v1.0.0-M1/go.mod h1:TDW0MNuCs4SvqYRUzkbRnRmHQL1h4X8wURsCw9P9beo=
+github.com/onflow/flow-go-sdk v1.0.0-M2 h1:YWeXTo112RF8s6swiOU5oW8JWbOOz392FCeAbGnm+W4=
+github.com/onflow/flow-go-sdk v1.0.0-M2/go.mod h1:mllhNw5WAEug59EWvW3TudcrtPmB5VfLA3iUx7mAA4s=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad h1:I6LD9BOsilGbiqhGjP86FIIXJe0YdUz75d/oWdHFzDI=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6 h1:/2vvjKkWG/3cKP3IpgiGNqXi0yskn4GmNTjmeCwMoz8=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231121210617-52ee94b830c2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2 h1:+rT+UsfTR39JZO8ht2+4fkaWfHw74SCj1fyz1lWuX8A=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
+github.com/onflow/flow/protobuf/go/flow v0.3.7 h1:+6sBdlE/u4ZMTVB9U1lA6Xn2Bd48lOOX96Bv9dNubsk=
+github.com/onflow/flow/protobuf/go/flow v0.3.7/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba h1:rIehuhO6bj4FkwE4VzwEjX7MoAlOhUJENBJLqDqVxAo=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
 github.com/onflow/wal v0.0.0-20230529184820-bc9f8244608d h1:gAEqYPn3DS83rHIKEpsajnppVD1+zwuYPFyeDVFaQvg=
@@ -2634,6 +2658,8 @@ golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM
 golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
 golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
 golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
+golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA=
+golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -2643,6 +2669,8 @@ golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNq
 golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU=
+golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
 gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
 gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
 gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
@@ -3077,10 +3105,14 @@ modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI=
 modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug=
 modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY=
 modernc.org/libc v1.22.3/go.mod h1:MQrloYP209xa2zHome2a8HLiLm6k0UT8CoHpV74tOFw=
+modernc.org/libc v1.37.6 h1:orZH3c5wmhIQFTXF+Nt+eeauyd+ZIt2BX6ARe+kD+aw=
+modernc.org/libc v1.37.6/go.mod h1:YAXkAZ8ktnkCKaN9sw/UDeUVkGYJ/YquGO4FTi5nmHE=
 modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
 modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
 modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
 modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4=
+modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo=
 modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
 modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
 modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
@@ -3088,12 +3120,16 @@ modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
 modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
 modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
 modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E=
+modernc.org/memory v1.7.2/go.mod h1:NO4NVCQy0N7ln+T9ngWqOQfi7ley4vpwvARR+Hjw95E=
 modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
 modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
 modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4=
 modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0=
 modernc.org/sqlite v1.21.1 h1:GyDFqNnESLOhwwDRaHGdp2jKLDzpyT/rNLglX3ZkMSU=
 modernc.org/sqlite v1.21.1/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI=
+modernc.org/sqlite v1.28.0 h1:Zx+LyDDmXczNnEQdvPuEfcFVA2ZPyaD7UCZDjef3BHQ=
+modernc.org/sqlite v1.28.0/go.mod h1:Qxpazz0zH8Z1xCFyi5GSL3FzbtZ3fvbjmywNogldEW0=
 modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw=
 modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
 modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw=
diff --git a/lib/go/test/token_test.go b/lib/go/test/token_test.go
index 33808c36..c7460a82 100644
--- a/lib/go/test/token_test.go
+++ b/lib/go/test/token_test.go
@@ -1,14 +1,13 @@
 package test
 
 import (
+	"context"
 	"testing"
 
 	"github.com/stretchr/testify/assert"
-	"github.com/stretchr/testify/require"
 
 	"github.com/onflow/cadence"
 	jsoncdc "github.com/onflow/cadence/encoding/json"
-	"github.com/onflow/cadence/runtime/common"
 	"github.com/onflow/flow-go-sdk"
 	"github.com/onflow/flow-go-sdk/crypto"
 
@@ -45,7 +44,7 @@ func TestTokenSetupAccount(t *testing.T) {
 	exampleTokenAccountKey, _ := accountKeys.NewWithSigner()
 
 	env := templates.Environment{}
-	_ = deployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey}, &env)
+	exampleTokenAddr := deployTokenContracts(b, adapter, t, []*flow.AccountKey{exampleTokenAccountKey}, &env)
 
 	t.Run("Should be able to create empty Vault that doesn't affect supply", func(t *testing.T) {
 		joshAddress, _, _ := createAccountWithVault(b, adapter, t,
@@ -75,6 +74,33 @@ func TestTokenSetupAccount(t *testing.T) {
 		})
 		assert.Equal(t, CadenceUFix64("1000.0"), supply)
 	})
+
+	t.Run("Should be able to create empty Vault with the generic setup transaction", func(t *testing.T) {
+		newAccountKey, newSigner := accountKeys.NewWithSigner()
+		newAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{newAccountKey}, nil)
+
+		serviceSigner, _ := b.ServiceKey().Signer()
+
+		// Setup new account with an empty vault
+		script := templates.GenerateSetupAccountFromAddressScript(env.FungibleTokenAddress, env.FungibleTokenMetadataViewsAddress)
+		tx := createTxWithTemplateAndAuthorizer(b, script, newAddress)
+
+		tx.AddArgument(cadence.NewAddress(exampleTokenAddr))
+		tx.AddArgument(cadence.String("ExampleToken"))
+
+		signAndSubmit(
+			t, b, tx,
+			[]flow.Address{
+				b.ServiceKey().Address,
+				newAddress,
+			},
+			[]crypto.Signer{
+				serviceSigner,
+				newSigner,
+			},
+			false,
+		)
+	})
 }
 
 // Steps:
@@ -186,111 +212,76 @@ func TestTokenExternalTransfers(t *testing.T) {
 		assert.Equal(t, CadenceUFix64("1000.0"), supply)
 	})
 
-	t.Run("Should be able to transfer to multiple accounts ", func(t *testing.T) {
-
-		recipient1Address := cadence.Address(joshAddress)
-		recipient1Amount := CadenceUFix64("300.0")
+	t.Run("Should be able to transfer tokens with the generic transfer transactions", func(t *testing.T) {
 
-		pair := cadence.KeyValuePair{Key: recipient1Address, Value: recipient1Amount}
-		recipientPairs := make([]cadence.KeyValuePair, 1)
-		recipientPairs[0] = pair
+		script := templates.GenerateTransferGenericVaultWithPathsScript(env.FungibleTokenAddress)
 
-		script := templates.GenerateTransferManyAccountsScript(env)
+		tx := createTxWithTemplateAndAuthorizer(b, script, joshAddress)
 
-		tx := flow.NewTransaction().
-			SetScript(script).
-			SetGasLimit(100).
-			SetProposalKey(
-				b.ServiceKey().Address,
-				b.ServiceKey().Index,
-				b.ServiceKey().SequenceNumber,
-			).
-			SetPayer(b.ServiceKey().Address).
-			AddAuthorizer(exampleTokenAddr)
+		_ = tx.AddArgument(CadenceUFix64("300.0"))
+		_ = tx.AddArgument(cadence.NewAddress(exampleTokenAddr))
 
-		_ = tx.AddArgument(cadence.NewDictionary(recipientPairs))
+		tx.AddArgument(cadence.String("exampleTokenVault"))
+		tx.AddArgument(cadence.String("exampleTokenReceiver"))
 
 		signAndSubmit(
 			t, b, tx,
 			[]flow.Address{
 				b.ServiceKey().Address,
-				exampleTokenAddr,
+				joshAddress,
 			},
 			[]crypto.Signer{
 				serviceSigner,
-				exampleTokenSigner,
+				joshSigner,
 			},
 			false,
 		)
 
 		// Assert that the vaults' balances are correct
-		// Sender vault
 		script = templates.GenerateInspectVaultScript(env)
-		result, err := b.ExecuteScript(
+		result := executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
 			},
 		)
-		require.NoError(t, err)
-		if !assert.True(t, result.Succeeded()) {
-			t.Log(result.Error.Error())
-		}
-		balance := result.Value
-		assert.Equal(t, CadenceUFix64("400.0"), balance)
+		assertEqual(t, CadenceUFix64("1000.0"), result)
 
-		// Receiver Vault
 		script = templates.GenerateInspectVaultScript(env)
-		result, err = b.ExecuteScript(
+		result = executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(joshAddress)),
 			},
 		)
-		require.NoError(t, err)
-		if !assert.True(t, result.Succeeded()) {
-			t.Log(result.Error.Error())
-		}
-		balance = result.Value
-		assert.Equal(t, CadenceUFix64("600.0"), balance)
-
-		// Supply should not have changed
-		script = templates.GenerateInspectSupplyScript(env)
-		supply := executeScriptAndCheck(t, b, script, nil)
-		assert.Equal(t, CadenceUFix64("1000.0"), supply)
-	})
-
-	t.Run("Should be able to transfer tokens with the generic transfer transaction", func(t *testing.T) {
+		assertEqual(t, CadenceUFix64("0.0"), result)
 
-		script := templates.GenerateTransferGenericVaultScript(env.FungibleTokenAddress)
+		script = templates.GenerateTransferGenericVaultWithAddressScript(env.FungibleTokenAddress, env.FungibleTokenMetadataViewsAddress)
 
-		tx := createTxWithTemplateAndAuthorizer(b, script, joshAddress)
+		tx = createTxWithTemplateAndAuthorizer(b, script, exampleTokenAddr)
 
 		_ = tx.AddArgument(CadenceUFix64("300.0"))
-		_ = tx.AddArgument(cadence.NewAddress(exampleTokenAddr))
-
-		storagePath := cadence.Path{Domain: common.PathDomainStorage, Identifier: "exampleTokenVault"}
-		publicPath := cadence.Path{Domain: common.PathDomainPublic, Identifier: "exampleTokenReceiver"}
+		_ = tx.AddArgument(cadence.NewAddress(joshAddress))
 
-		_ = tx.AddArgument(storagePath)
-		_ = tx.AddArgument(publicPath)
+		tx.AddArgument(cadence.NewAddress(exampleTokenAddr))
+		tx.AddArgument(cadence.String("ExampleToken"))
 
 		signAndSubmit(
 			t, b, tx,
 			[]flow.Address{
 				b.ServiceKey().Address,
-				joshAddress,
+				exampleTokenAddr,
 			},
 			[]crypto.Signer{
 				serviceSigner,
-				joshSigner,
+				exampleTokenSigner,
 			},
 			false,
 		)
 
 		// Assert that the vaults' balances are correct
 		script = templates.GenerateInspectVaultScript(env)
-		result := executeScriptAndCheck(t, b,
+		result = executeScriptAndCheck(t, b,
 			script,
 			[][]byte{
 				jsoncdc.MustEncode(cadence.Address(exampleTokenAddr)),
diff --git a/transactions/generic_transfer_with_address.cdc b/transactions/generic_transfer_with_address.cdc
new file mode 100644
index 00000000..7fb20237
--- /dev/null
+++ b/transactions/generic_transfer_with_address.cdc
@@ -0,0 +1,44 @@
+import FungibleToken from "FungibleToken"
+import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+
+/// Can pass in any contract address and name to transfer a token from that contract
+/// This lets you choose the token you want to send
+///
+/// Any contract can be chosen here, so wallets should check argument values
+/// to make sure the intended token path is passed in
+///
+transaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {
+
+    // The Vault resource that holds the tokens that are being transferred
+    let tempVault: @{FungibleToken.Vault}
+
+    // FTVaultData struct to get paths from
+    let vaultData: FungibleTokenMetadataViews.FTVaultData
+
+    prepare(signer: auth(BorrowValue) &Account) {
+
+        // Borrow a reference to the vault stored on the passed account at the passed publicPath
+        let resolverRef = getAccount(contractAddress)
+            .contracts.borrow<&FungibleToken>(name: contractName)
+            ?? panic("Could not borrow a reference to the fungible token contract")
+
+        // Use that reference to retrieve the FTView 
+        self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+            ?? panic("Could not resolve the FTVaultData view for the given Fungible token contract")
+
+        // Get a reference to the signer's stored vault
+        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &{FungibleToken.Provider}>(from: self.vaultData.storagePath)
+			?? panic("Could not borrow reference to the owner's Vault!")
+
+        self.tempVault <- vaultRef.withdraw(amount: amount)
+    }
+
+    execute {
+        let recipient = getAccount(to)
+        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)
+            ?? panic("Could not borrow reference to the recipient's Receiver!")
+
+        // Transfer tokens from the signer's stored vault to the receiver capability
+        receiverRef.deposit(from: <-self.tempVault)
+    }
+}
\ No newline at end of file
diff --git a/transactions/generic_transfer.cdc b/transactions/generic_transfer_with_paths.cdc
similarity index 62%
rename from transactions/generic_transfer.cdc
rename to transactions/generic_transfer_with_paths.cdc
index e9416981..16851ffa 100644
--- a/transactions/generic_transfer.cdc
+++ b/transactions/generic_transfer_with_paths.cdc
@@ -1,28 +1,34 @@
 import FungibleToken from "FungibleToken"
 
-/// Can pass in any storage path and receiver path instead of just the default.
+/// Can pass in any storage path and receiver path identifier instead of just the default.
 /// This lets you choose the token you want to send as well the capability you want to send it to.
 ///
 /// Any token path can be passed as an argument here, so wallets should
 /// should check argument values to make sure the intended token path is passed in
 ///
-transaction(amount: UFix64, to: Address, senderPath: StoragePath, receiverPath: PublicPath) {
+transaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {
 
     // The Vault resource that holds the tokens that are being transferred
     let tempVault: @{FungibleToken.Vault}
 
     prepare(signer: auth(BorrowValue) &Account) {
 
+        let storagePath = StoragePath(identifier: senderPathIdentifier)
+            ?? panic("Could not construct a storage path from the provided path identifier string")
+
         // Get a reference to the signer's stored vault
-        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &{FungibleToken.Provider}>(from: senderPath)
+        let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &{FungibleToken.Provider}>(from: storagePath)
 			?? panic("Could not borrow reference to the owner's Vault!")
 
         self.tempVault <- vaultRef.withdraw(amount: amount)
     }
 
     execute {
+        let publicPath = PublicPath(identifier: receiverPathIdentifier)
+            ?? panic("Could not construct a public path from the provided path identifier string")
+
         let recipient = getAccount(to)
-        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(receiverPath)
+        let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)
             ?? panic("Could not borrow reference to the recipient's Receiver!")
 
         // Transfer tokens from the signer's stored vault to the receiver capability

From 29d91e18f0c100c6eb09578bc153920a0c148bd7 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 5 Mar 2024 15:25:55 -0600
Subject: [PATCH 096/115] update contract borrows and ExampleToken import

---
 .github/workflows/ci.yml                      |   4 +-
 Makefile                                      |   4 +-
 contracts/ExampleToken.cdc                    |   1 -
 contracts/FungibleToken.cdc                   |   1 +
 coverage.json                                 | 142 +++++++++---------
 lib/go/contracts/contracts.go                 |   3 +-
 lib/go/contracts/contracts_test.go            |   2 +-
 lib/go/contracts/internal/assets/assets.go    |  12 +-
 lib/go/templates/internal/assets/assets.go    |  12 +-
 lib/go/test/go.mod                            |  98 ++++++------
 lib/go/test/go.sum                            |  96 ++++++++++++
 lib/go/test/token_test_helpers.go             |   6 +-
 .../generic_transfer_with_address.cdc         |   2 +-
 .../metadata/setup_account_from_address.cdc   |   2 +-
 14 files changed, 243 insertions(+), 142 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 68b0cfc2..20ace90c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -19,9 +19,9 @@ jobs:
           restore-keys: |
             ${{ runner.os }}-go-
       - name: Install Flow CLI
-        run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.12.0-cadence-v1.0.0-M4-2
+        run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/feature/stable-cadence/install.sh)"
       - name: Flow CLI Version
-        run: flow version
+        run: flow-c1 version
       - name: Update PATH
         run: echo "/root/.local/bin" >> $GITHUB_PATH
       - name: Run tests
diff --git a/Makefile b/Makefile
index 2d03f4bd..146da318 100644
--- a/Makefile
+++ b/Makefile
@@ -2,9 +2,9 @@
 test:
 	$(MAKE) generate -C lib/go
 	$(MAKE) test -C lib/go
-	flow test --cover --covercode="contracts" tests/*.cdc
+	flow-c1 test --cover --covercode="contracts" tests/*.cdc
 
 .PHONY: ci
 ci:
 	$(MAKE) ci -C lib/go
-	flow test --cover --covercode="contracts" tests/*.cdc
+	flow-c1 test --cover --covercode="contracts" tests/*.cdc
diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 3a29dd5f..6eb3be84 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -1,7 +1,6 @@
 import FungibleToken from "FungibleToken"
 import MetadataViews from "MetadataViews"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import ViewResolver from "ViewResolver"
 
 access(all) contract ExampleToken: FungibleToken {
 
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index c7319119..abd7d5bb 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -150,6 +150,7 @@ access(all) contract interface FungibleToken: ViewResolver {
             post {
                 self.balance == 0.0: "The balance must be set to zero during the burnCallback method so that it cannot be spammed"
             }
+            self.balance = 0.0
         }
 
         /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
diff --git a/coverage.json b/coverage.json
index 1f1c894f..aad0759c 100644
--- a/coverage.json
+++ b/coverage.json
@@ -2,61 +2,61 @@
   "coverage": {
     "./contracts/ExampleToken.cdc": {
       "line_hits": {
+        "101": 1,
         "102": 1,
-        "103": 1,
-        "105": 1,
-        "109": 1,
-        "113": 5,
+        "104": 1,
+        "108": 1,
+        "112": 5,
+        "117": 0,
         "118": 0,
         "119": 0,
-        "120": 0,
-        "124": 0,
-        "129": 0,
+        "123": 0,
+        "128": 0,
+        "142": 7,
         "143": 7,
-        "144": 7,
+        "156": 6,
         "157": 6,
         "158": 6,
         "159": 6,
-        "160": 6,
-        "171": 0,
-        "18": 1,
+        "17": 1,
+        "170": 0,
+        "185": 1,
         "186": 1,
         "187": 1,
-        "188": 1,
-        "200": 9,
-        "204": 4,
-        "206": 4,
-        "210": 4,
+        "199": 9,
+        "203": 4,
+        "205": 4,
+        "209": 4,
+        "215": 4,
         "216": 4,
         "217": 4,
         "218": 4,
-        "219": 4,
-        "221": 4,
+        "220": 4,
+        "222": 4,
         "223": 4,
-        "224": 4,
-        "27": 47,
-        "29": 2,
-        "34": 4,
+        "26": 47,
+        "28": 2,
+        "33": 4,
+        "39": 4,
         "40": 4,
-        "41": 4,
-        "52": 40,
-        "59": 3,
-        "63": 0,
-        "67": 1,
+        "51": 40,
+        "58": 3,
+        "62": 0,
+        "66": 1,
+        "92": 21,
         "93": 21,
         "94": 21,
         "95": 21,
-        "96": 21,
-        "97": 21
+        "96": 21
       },
       "missed_lines": [
-        63,
+        62,
+        117,
         118,
         119,
-        120,
-        124,
-        129,
-        171
+        123,
+        128,
+        170
       ],
       "statements": 46,
       "percentage": "84.8%"
@@ -66,30 +66,32 @@
         "100": 7,
         "148": 1,
         "151": 1,
-        "162": 0,
+        "153": 0,
         "163": 0,
-        "167": 0,
-        "173": 0,
-        "181": 8,
-        "185": 7,
-        "189": 15,
-        "200": 6,
-        "202": 6,
-        "205": 18,
-        "214": 0,
-        "223": 9,
+        "164": 0,
+        "168": 0,
+        "174": 0,
+        "182": 8,
+        "186": 7,
+        "190": 15,
+        "201": 6,
+        "203": 6,
+        "206": 18,
+        "215": 0,
         "224": 9,
+        "225": 9,
         "98": 7
       },
       "missed_lines": [
-        162,
+        153,
         163,
-        167,
-        173,
-        214
+        164,
+        168,
+        174,
+        215
       ],
-      "statements": 17,
-      "percentage": "70.6%"
+      "statements": 18,
+      "percentage": "66.7%"
     },
     "./contracts/FungibleTokenMetadataViews.cdc": {
       "line_hits": {
@@ -588,28 +590,30 @@
     }
   },
   "excluded_locations": [
-    "A.0000000000000002.FungibleToken",
-    "A.0000000000000001.FlowEpoch",
-    "s.7465737400000000000000000000000000000000000000000000000000000000",
     "A.0000000000000003.FlowToken",
-    "A.0000000000000001.NonFungibleToken",
-    "I.Test",
-    "A.0000000000000001.RandomBeaconHistory",
-    "A.0000000000000001.FlowServiceAccount",
-    "A.0000000000000001.NodeVersionBeacon",
-    "A.0000000000000002.FungibleTokenMetadataViews",
-    "A.0000000000000001.ExampleNFT",
     "A.0000000000000004.FlowFees",
-    "A.0000000000000001.FlowDKG",
+    "A.0000000000000002.FungibleTokenSwitchboard",
     "A.0000000000000001.FlowStakingCollection",
-    "A.0000000000000001.FlowIDTableStaking",
-    "A.0000000000000001.StakingProxy",
-    "A.0000000000000001.FlowStorageFees",
-    "A.0000000000000001.FlowClusterQC",
+    "A.0000000000000001.MetadataViews",
+    "A.0000000000000001.FlowServiceAccount",
+    "A.0000000000000001.NonFungibleToken",
+    "A.0000000000000001.EVM",
+    "A.0000000000000002.FungibleToken",
+    "A.0000000000000001.ViewResolver",
     "I.Crypto",
+    "s.7465737400000000000000000000000000000000000000000000000000000000",
     "A.0000000000000001.LockedTokens",
-    "A.0000000000000001.ViewResolver",
-    "A.0000000000000001.MetadataViews",
-    "I.BlockchainHelpers"
+    "A.0000000000000001.FlowDKG",
+    "A.0000000000000001.FlowEpoch",
+    "A.0000000000000001.ExampleNFT",
+    "I.Test",
+    "I.BlockchainHelpers",
+    "A.0000000000000001.FlowStorageFees",
+    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000002.FungibleTokenMetadataViews",
+    "A.0000000000000001.FlowClusterQC",
+    "A.0000000000000001.NodeVersionBeacon",
+    "A.0000000000000001.RandomBeaconHistory",
+    "A.0000000000000001.StakingProxy"
   ]
 }
\ No newline at end of file
diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index 5a244fd7..5a8d2893 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -64,13 +64,12 @@ func FungibleTokenSwitchboard(fungibleTokenAddr string) []byte {
 // ExampleToken returns the second version of the ExampleToken contract.
 //
 // The returned contract will import the FungibleToken interface from the specified address.
-func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr, viewResolverAddr string) []byte {
+func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr string) []byte {
 	code := assets.MustAssetString(filenameExampleToken)
 
 	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
 	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
 	code = placeholderFTMetadataViews.ReplaceAllString(code, "0x"+ftMetadataViewsAddr)
-	code = placeholderViewResolver.ReplaceAllString(code, "0x"+viewResolverAddr)
 
 	return []byte(code)
 }
diff --git a/lib/go/contracts/contracts_test.go b/lib/go/contracts/contracts_test.go
index e0af7796..f87dec83 100644
--- a/lib/go/contracts/contracts_test.go
+++ b/lib/go/contracts/contracts_test.go
@@ -16,7 +16,7 @@ func TestFungibleTokenContract(t *testing.T) {
 }
 
 func TestExampleTokenContract(t *testing.T) {
-	contract := contracts.ExampleToken(addrA, addrA, addrA, addrA)
+	contract := contracts.ExampleToken(addrA, addrA, addrA)
 	assert.NotNil(t, contract)
 	assert.Contains(t, string(contract), addrA)
 }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index a34cfae8..ebc6665a 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (9.779kB)
-// ../../../contracts/FungibleToken.cdc (10.027kB)
+// ../../../contracts/ExampleToken.cdc (9.739kB)
+// ../../../contracts/FungibleToken.cdc (10.058kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.652kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.044kB)
 // ../../../contracts/utility/Burner.cdc (1.882kB)
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xf5\x01\x77\x36\x9a\x38\xe9\x6e\xdb\xdb\x35\x92\x66\xd3\x6e\x83\x3b\x60\x0b\x14\x6d\xb6\xfb\x10\x14\x0d\x2d\x8d\x6d\x5e\x24\x52\x20\x29\x3b\xde\x20\xdf\xfd\x30\xfc\x23\x93\xb2\x94\x38\x69\x0f\xe7\x87\xc4\x92\x66\x86\xc3\x99\x1f\xe7\x9f\xcc\xcb\x4a\x2a\x03\xe7\xb5\x98\xf3\x69\x81\x17\xf2\x1a\x05\xcc\x94\x2c\x61\x90\xdc\x1b\xec\x79\xca\xf7\x68\x58\xce\x0c\xfb\xcc\x71\xa5\x3d\x65\x72\xaf\xa1\x4c\xf8\xbb\xd8\xfa\x09\x1a\x19\x74\xf5\x11\xb5\x2c\x96\xa8\x3c\x57\x7c\x6b\xb0\xb7\xc7\xb2\x0c\xb5\x1e\xb2\xa2\x18\x41\x26\x85\x51\x2c\x33\xf0\xee\x86\x95\x95\x17\x3c\x69\x6d\xee\x76\x6f\x0f\x00\xe0\xf0\xf0\x10\x2e\x16\x08\xb8\x44\x61\xc0\x2c\x98\x01\xae\x01\x4b\x6e\x0c\xe6\xb0\x5a\xa0\x00\x81\x2b\x30\xc4\xa3\x81\x29\x84\x92\x0b\x83\xb9\x65\x8e\x17\x75\x02\xac\x6c\xfd\xde\x92\x0c\x59\x29\x6b\x61\x26\xf0\xc7\x39\xbf\x79\xf5\x62\x1f\xcc\xba\xc2\x09\x7c\x32\x8a\x8b\xf9\x28\x5a\x5e\x1a\x56\x80\xae\xab\xaa\x58\x83\x9c\x25\x5a\x6b\xe0\x02\xf0\x86\x6b\x83\x22\xc3\xad\x45\x97\x4c\x81\x21\xf6\x4f\x96\x3b\x2c\xb5\x91\x7d\x96\x97\x5c\xc0\x07\x66\x16\x5b\xbc\x05\x1a\xf7\xf8\x93\x91\x8a\xcd\x91\x88\x48\xbb\xe6\x62\x6f\x7b\x39\x8e\x2b\x98\xd5\x02\xe6\x68\xde\x7a\x23\x5b\x47\x0d\x15\x6a\x59\xab\x0c\x2f\xec\x16\xe9\xef\xe9\x68\x02\x97\xf4\xe5\x0b\xdc\x5a\x41\xf4\x51\x68\x6a\x25\xe0\xb2\xb9\x41\x1f\x22\x3a\xee\x07\xc1\xf8\xfc\x82\xfe\xbf\x1e\x8e\xf6\x1f\xc9\xf6\x1b\xd7\x55\xc1\xd6\x4f\xe0\xfc\xcc\xea\xc2\xfc\xc6\x0c\x7b\x34\xef\xc5\xc6\x1b\xaf\x87\xa3\x86\xf5\x8b\xfd\x76\xb7\x6d\x52\xb2\xa6\x72\x30\x8e\x2d\xda\x65\xd0\x7d\x6b\xff\xcd\x8d\xd1\x04\xce\xc4\xfa\x93\x51\x75\x66\x4e\x23\x23\xeb\x15\x37\xd9\xa2\x21\x8e\x9e\xd0\x27\x63\x1a\x77\x37\xf9\x24\xe1\x8d\x5c\xf8\x20\xf3\x70\x8b\x93\x3e\x33\xe3\x9d\x32\x01\x8d\xc5\x6c\xfc\xf0\xd6\x05\x2f\xda\x1b\xdf\xd5\xeb\x23\x60\xfa\x87\xfb\x35\xf5\xc4\xa7\xfb\x3d\xda\x36\x40\xf8\xdf\xe9\x1b\x63\x6d\x07\x8d\x1b\xf2\xd3\x2d\x95\x47\x4f\x71\xf4\xc6\x5c\xdb\xbe\xa6\x10\x51\x62\xce\x19\x9c\xa4\x01\x7f\xfc\x9e\xee\x76\xbb\xd8\x1a\x8e\x17\x38\x69\xb1\xfc\xeb\xe2\xe2\xc3\x39\x2f\xb0\x9f\xab\x56\xc5\x04\x06\x0b\x63\x2a\x3d\x39\x3c\x64\x5a\xa3\xd1\xe3\x15\x4e\x35\x37\x78\x40\x22\xf5\x38\x93\xe5\xe1\xcb\xd9\xab\x1f\x7f\x79\x91\x1d\x65\xff\x64\x3f\x67\x79\xfe\xea\xc5\x4f\xd3\xe7\xd9\xcf\x3f\x1e\xb5\x1e\xb0\x97\x2f\xb3\xe9\xf3\xec\x97\x9f\x5e\x7d\x3d\x2f\xe4\xea\xeb\x9f\x52\xe5\x25\x53\xd7\x63\xbd\x9c\x0f\x3a\x75\x18\x75\xa3\xc0\x5a\xc0\x79\x73\xc0\x4b\x36\xc7\x43\xbd\x9c\x3f\xbb\x29\x8b\x6d\x29\xa3\x7e\x13\xea\x6e\x1b\xea\xe1\xa5\x7d\xfc\x65\x9b\x75\x97\x93\xe6\xbd\xd7\x6d\x53\xc1\x4a\xd2\xd9\xe7\x93\x46\x90\x4b\x52\x83\xee\xcd\xea\x75\x39\x95\xe4\x86\x77\xe7\x17\x3d\x24\x39\xea\x4c\xf1\xca\x70\x29\x26\x30\xb8\x58\x70\x4d\x51\xcc\x89\xb6\x79\x92\x32\x68\xad\x31\x07\xa6\x81\x51\xfa\x72\xeb\x1b\x09\x0b\x2c\x2a\x58\xcb\x1a\x72\x5c\x62\x21\xed\x77\x05\x02\x6f\x0c\x9c\x5f\xc0\xdf\xa4\x20\x4f\x8d\x7b\xd6\xc5\x1b\x83\x4a\xb0\xe2\x8f\x8f\xbf\xb7\xb1\xf5\x6e\xf3\x68\xd8\x00\xc8\xaf\x7b\x30\x33\x63\x29\x66\x24\x58\xaa\xf9\xa0\xc7\xc9\x85\x9c\x4b\x3d\xf1\xae\xea\x31\x8d\xcc\x38\x2b\xf4\xa4\x15\x50\xe3\xcf\xc0\xac\xa8\x70\x50\x83\x9d\x14\xf4\xc4\x16\xd4\xa4\xdf\xd7\x69\x21\xb3\xeb\x6c\xc1\xb8\x18\x6c\xc3\x01\x6c\x02\x69\xdf\x79\xd2\x99\x8f\x43\xce\x13\x23\x7c\x90\xd0\x8d\x3c\x1d\x97\x14\x87\xfe\x2a\x38\xc4\x0a\xb4\x02\xba\xed\xac\x30\x43\xbe\x44\xe5\xb9\xab\x7a\x5a\xf0\x2c\x61\xfe\xe8\x29\xfa\xce\xab\xd3\xb5\x9f\x7f\x87\xc5\x7f\xe7\xe2\x1a\xf3\x28\x86\xff\x3d\x2e\xcb\xc6\x56\xc2\x56\x71\xd0\xd6\xe0\x9b\x84\x64\x0a\x99\xc1\x77\x65\x65\xd6\x96\xf0\xbc\x16\x99\x3b\x73\xc3\x59\x2d\x86\xa3\x09\xfc\x7a\x9b\xf8\xc8\xc9\xbb\xbb\x07\x9e\xde\xb3\xc7\x07\x89\x1a\xed\x85\x86\x4b\xfa\x1b\x69\xfd\x6b\xa7\xd6\x3d\x08\xdd\xbe\xfd\x04\x88\xa6\x55\xd4\x53\x20\x1a\x49\xe8\x86\x68\x52\x36\x27\x1b\x8c\x9e\xdc\xb3\x97\xbb\x76\x51\x2b\x78\x11\x17\x79\x54\x7d\x5b\x53\x85\xab\xe6\xee\x3b\x96\x2d\x28\x3e\x2a\x7b\x4c\xd0\xc6\x48\x2e\xb4\x61\x22\x43\xaa\xff\xa5\x28\xd6\x60\x16\xe8\xd8\xa9\x01\x30\x0b\xe4\x2a\x1c\xaa\xa4\x6d\x99\x79\x50\x68\x4f\xe6\x79\x98\xc8\x61\x2e\x97\xa8\x04\xe6\x30\x75\xd2\x2a\x85\xf6\x7e\x25\xb5\xa1\x16\x29\xe7\x96\xb1\x11\xc7\x5b\xf6\x74\xcd\x8f\x59\xe0\xda\xb6\x3d\x19\x2b\x0a\xcc\xc7\xc9\xea\xd9\x02\xb3\x6b\x0d\x0b\x56\x55\x28\x80\x19\x50\xb5\x30\xbc\x44\xcb\x8a\xd4\xab\xb1\x46\x43\x4a\x0a\x2d\x19\x8d\xac\x8f\xbe\x82\x22\x0a\xe1\xf6\x3f\x45\x7f\x00\xf2\xb0\x33\xea\xea\x28\x51\xc8\x59\x73\x69\x9b\x3c\xdb\xb3\x91\x9a\x8d\x38\x52\x37\xc7\x19\x17\x96\x79\x1f\xb4\xa4\xe7\x0a\x49\x05\x21\x61\xc5\xd6\x30\x93\xa4\x5b\xc9\x0a\x9e\x71\x59\x6b\xe7\x0e\x23\xfd\x9a\xce\x8a\x1b\xd3\xc8\xda\x2f\xcb\x05\x30\xae\xc6\x70\x06\xba\x42\xca\x06\x60\x5b\x3d\x05\xa1\x06\x04\x81\x98\x6b\x92\x34\xdd\xe8\x60\xa4\x6d\x1a\x1b\x71\x9b\x86\x32\x35\x45\xdc\x17\x34\x02\xad\x2a\xad\xe6\xd5\x9d\xc1\xd0\xc2\xc6\x1e\xb1\xd8\x85\x29\x2b\x02\x98\x0c\xa5\xe7\x65\x83\xc3\xf6\x32\xd4\x40\x7a\xea\xb4\x79\xec\x22\xd4\x7d\x8d\x62\x1f\x83\x0b\xbd\x8e\xfe\x43\xf3\xbd\x97\x3c\x0d\xfc\x11\x43\xb4\x4d\xe0\x82\x1b\xce\x0a\xfe\x17\x5a\x18\x84\xad\x12\xf8\x82\xc9\xac\x13\x09\x72\x84\xc5\x86\x97\x18\x87\xad\xbd\x8e\x5a\xc1\xd2\xd6\xf8\x41\xe4\x49\x10\x9e\x90\x50\x41\xc7\x73\x14\x86\xcf\x38\x2a\x38\x81\xc1\x56\x66\x19\x6c\xcb\x8c\x4c\x07\x27\xb1\xed\x86\x1b\x59\x93\x48\xee\xe8\x87\x6d\x19\x1b\x6b\xc2\x49\x64\x9d\x47\x48\x88\x0d\xdc\x2f\x63\xd0\x95\x6a\x07\x91\xbc\xbb\x14\x77\x6f\xed\xa9\x76\xe1\x82\x75\x94\x82\xd3\xda\x86\xa1\x25\x67\xd6\x63\x57\x6f\xe8\x5a\x8d\xe9\xf6\x70\x74\x45\xc9\x72\x21\xf3\x36\x28\xc2\xf1\x76\x1d\x32\xd1\xd2\x32\x53\x96\x5d\x0f\xdb\x4e\xe3\xb3\xd4\x6f\xaf\xe1\x68\x7c\xd4\x91\x05\xfb\x82\x3c\x9c\xf4\x3f\x3a\x48\x44\x27\x22\xef\xee\x43\xce\xd1\xf8\xa8\xcb\x5c\x7d\xc3\x14\x37\x44\xe9\x9a\x98\xc0\x26\xc1\x24\x4a\x3e\x30\x81\x11\xbc\x18\x3d\xa4\x40\x34\x7a\xb0\x7d\xec\x57\xab\xd2\xfd\xb3\x85\x3e\x75\x1e\xdd\x17\xd3\xb7\x4e\x0d\x09\x51\x73\x34\x64\x7f\xa9\x0c\xe6\x9f\x43\x31\xa2\x41\xda\x9e\x83\x15\xc5\xda\xeb\xa0\x81\x41\xc1\xb5\x0d\xce\x36\xc6\xd9\x11\x9b\x0e\x29\x81\xeb\x26\xa4\xd8\x8d\x57\x3e\xa4\xdf\xe7\x89\x8e\x75\xc9\x2f\xb7\x4e\xeb\x37\x52\x16\xed\x02\x8b\x02\x82\x0e\x5c\x96\xa1\x45\x7e\x02\xb7\x2d\xac\x24\xd4\x97\x16\x3a\x73\xb4\x8b\x0d\x47\x5f\xe0\x04\x8c\xaa\xb1\xcb\xe4\x29\xe3\xce\x00\xe3\x7a\x7b\x57\x43\x13\xcf\x91\x48\xd1\x6e\x2f\x07\xe5\x3a\xed\x72\x69\x2c\x5a\x4f\x4f\x61\xc6\x0a\x8d\x7d\xee\x3c\xd3\xd7\x9a\x4e\x29\x9d\x7e\x37\x13\xb5\x79\x7e\x8a\xb0\xe2\x66\x91\x2b\xb6\xf2\xb3\xe6\x87\x92\xd5\x66\x43\x67\x4b\xc6\x0b\x66\xf3\xe1\x9f\x5e\x46\x6b\xdc\x7a\xef\xae\xbc\x16\xc7\x27\xdd\xc7\xbb\xa5\x7f\xd0\x32\xbe\x99\x10\x84\xd2\xdc\x03\x8f\x5d\xbb\xa2\xce\xaf\xe2\xba\x60\xa6\xe6\x75\x89\xc2\x24\x8c\x54\x8f\x05\xe9\x1e\xb6\x9e\xc9\xdb\xc3\xe7\xff\x71\xef\xd2\xff\x36\xbe\x66\xa1\xb3\x60\x0b\x0b\x2c\x2b\xa9\x98\x5a\xfb\x52\x30\x8c\xb4\x6d\x43\x4e\x2d\xb8\x2c\xf2\x44\x82\x59\x60\x18\x6f\x3b\x05\x14\xc2\x14\xb9\x98\x83\x51\x4c\xe8\x19\x2a\x85\xf9\x98\x16\x0a\x87\x8e\x38\x04\xae\xa2\xf2\x98\xe4\x84\x72\xcd\x2f\x2b\x93\xa2\xcd\x4a\x76\xe5\x1f\x95\x63\xbc\x41\x40\x8e\x95\xd4\x3c\x0c\xd4\x83\x2c\x2c\x34\xae\xa8\x64\xeb\xde\xb8\x07\x45\x5a\x13\x05\x1c\xb8\xc0\xb6\xea\x45\x45\x47\x37\x73\x7f\x15\x90\x5c\x1e\x78\x07\x75\xa1\xea\xf8\x20\x2e\x1f\x37\xb5\x86\xe3\xe8\x8d\x76\xde\x04\x8f\x43\x97\x37\xb3\x9c\xfe\x07\xb3\x36\xc4\x2c\xac\x58\x9e\xeb\x44\x0c\x37\xba\xa9\x96\xbc\x77\x92\x3a\x11\x41\xae\x04\x2a\xbd\x03\xe2\xb8\x06\x56\x14\x72\xe5\x10\x95\xa3\x36\x4a\xba\x26\x43\xd3\xf2\x4e\xb5\x29\x66\xac\xd6\xb8\x01\x71\x7a\xa6\x48\xe5\x08\xac\x04\x4b\x54\x41\x13\x5f\x1d\xdb\x92\xd6\xf2\xfe\x63\xa3\xfb\x82\xa5\xfb\x9a\x22\x0a\xc2\x99\xae\x4b\xcc\xed\xd6\x6d\xb1\x3f\x93\xb6\x69\xf1\x20\xb3\x1a\x86\xd6\xa3\x07\x4e\x4d\x52\xf4\x0e\x19\xd2\x19\xec\xeb\xb2\xdb\x45\x08\x65\x01\x97\x82\x8e\x0f\xdc\xe1\x65\xfa\x87\x2e\xac\xed\x8c\xb4\x67\x4e\x5e\x67\xed\x91\x3c\x69\x95\x1b\xe0\x46\x74\xd6\x25\x69\x2c\x6d\xe1\xae\xdd\xf7\xef\x08\xc0\x34\xdc\x38\x5f\xd3\x69\x03\x16\xe3\xe9\x2f\x54\x72\x2b\xd4\x85\x00\xc2\x37\xf1\x81\x15\x05\x85\x1a\x1f\x27\xa8\xb3\xb2\xad\x58\x59\x6b\x17\x2f\x5c\x4e\x08\x4d\xe4\x96\x44\xdb\x41\x5b\x49\x4e\x76\x13\x7f\xda\x5d\x33\xdd\x90\x2a\x77\x5d\x9e\x05\xaf\x7b\x9e\x4a\xcc\x32\x1b\x7c\x5d\xfb\xc6\x5c\x15\x1b\x6a\x88\x00\x0b\xdd\xb4\x55\xae\xc2\xa5\x1c\xb8\x1b\xae\xb6\x06\x2d\x3b\x45\xa3\x07\x82\xcb\xd1\xf8\xa8\x3d\x94\x88\x26\x10\xae\x3d\xed\x6d\xb8\x43\xfc\x70\x91\xc5\x6e\x87\xd9\x37\x86\xde\x12\xae\x21\xa7\xb3\x19\x9a\xd8\xc7\x35\xaf\xbe\x3b\xbe\x4d\xac\x4c\x62\xdc\xcb\xcd\x1d\x11\x47\x0c\x3a\x5a\x78\xdf\x06\x37\xf2\x5f\x19\x70\x64\xa2\x77\xa8\xfb\xbd\xb8\x8b\x39\xda\xc8\xdb\xc9\x83\x1b\xd5\x9f\x92\x57\x9e\xd2\x80\x3c\xeb\xca\x37\x58\xf2\x9e\x57\xcd\xee\x7f\x78\xd5\x9c\x56\x96\xe3\xa8\x39\xfc\xb6\xf4\xd5\x02\x59\x67\x20\x89\xe1\xf6\x4d\x01\xe4\xfb\x06\x8f\xef\x1b\x38\xbe\x43\xd0\xe8\x3a\x3f\x9d\xc1\xa2\x35\x95\x7d\x10\x71\x8d\x57\xe1\x81\xc0\xe1\x3d\x69\xe7\x23\x71\x5a\xb3\xe8\x49\x61\xfa\xfc\xe8\x88\x52\x4d\x4a\xd2\xfe\x11\x01\x9c\x74\x8f\xfc\xdd\x6f\x11\x92\x61\xce\x5b\xa7\xd9\x66\x70\x69\x71\xd0\x3e\xd0\xd6\x76\xfe\x07\x18\xe4\x3a\xb6\x44\x42\x01\x17\xc9\x48\xd4\x89\x6c\xbe\x26\x09\xb9\xdb\x02\xed\x0d\x8e\xba\x74\x63\x7e\x8a\x05\x19\xab\xd8\x94\x17\xdc\xac\x03\xfe\x2c\x86\xf2\xb8\xce\xc6\x9b\x4a\x6a\x8c\xe3\x9a\x1b\x79\x78\x14\x84\x61\x87\x9b\xcf\xa2\x39\xb3\x4d\xa9\x6f\xe7\xc2\x33\xb3\x50\xb2\x9e\x3b\x2b\x5c\x85\xf1\xcb\x15\xd8\x48\x3a\x63\x59\xbc\xd9\x50\xed\xc0\x95\xdf\xd3\x55\xa7\x90\x37\xe1\x61\x97\x8c\xc4\x60\xb1\xbb\xde\xb2\x2a\x94\x24\x1e\xe2\xe3\xc6\x04\x1c\x75\x18\x69\x8d\xb9\xd6\x75\xcf\x9b\x0d\x57\xa6\x44\xb3\xaf\x51\x8a\x9c\x4e\xb9\xd6\xdc\x7a\x31\x6c\xe9\xb2\x0f\xcc\x4c\x7c\xe1\xb3\x99\x84\x8d\x12\xf5\x43\xb7\xff\xff\x56\x3d\xd2\x23\x56\x3b\x1e\xbf\x8d\xf6\xba\xe5\x05\xd5\x08\xe4\xc3\xe3\x03\xcb\xb8\x0f\x46\xde\xf7\x1a\x2d\x92\x45\x56\x70\x19\x7c\x83\x7a\x97\x84\x87\x3d\x1b\x68\x2d\x68\x99\xdd\x82\x9d\x87\x3b\x84\x8c\xbb\xbd\xff\x06\x00\x00\xff\xff\x93\x8a\xc1\xba\x33\x26\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xf5\x01\x77\x36\x9a\x38\xe9\x6e\xdb\xdb\x35\x92\x66\xd3\x6e\x83\x3b\x60\x0b\x14\x6d\xb6\xfb\x10\x14\x0d\x2d\x8d\x6d\x5e\x24\x52\x20\x29\x3b\xde\x20\xdf\xfd\x30\xfc\x23\x93\xb2\x94\x38\x69\x0f\xe7\x87\xc4\x92\x66\x86\xc3\x99\x1f\xe7\x9f\xcc\xcb\x4a\x2a\x03\xe7\xb5\x98\xf3\x69\x81\x17\xf2\x1a\x05\xcc\x94\x2c\x61\x90\xdc\x1b\xec\x79\xca\xf7\x68\x58\xce\x0c\xfb\xcc\x71\xa5\x3d\x65\x72\xaf\xa1\x4c\xf8\xbb\xd8\xfa\x09\x06\x7b\x7b\x2c\xcb\x50\xeb\x21\x2b\x8a\x11\x64\x52\x18\xc5\x32\x03\xef\x6e\x58\x59\x79\x86\x49\x4b\xe9\xdb\xbd\x3d\x00\x80\xc3\xc3\x43\xb8\x58\x20\xe0\x12\x85\x01\xb3\x60\x06\xb8\x06\x2c\xb9\x31\x98\xc3\x6a\x81\x02\x04\xae\xc0\x10\x8f\x06\xa6\x10\x4a\x2e\x0c\xe6\x96\x39\x5e\xd4\x09\xb0\xb2\xf5\x7b\x4b\x32\x64\xa5\xac\x85\x99\xc0\x1f\xe7\xfc\xe6\xd5\x8b\x7d\x30\xeb\x0a\x27\xf0\xc9\x28\x2e\xe6\xa3\x68\x79\x69\x58\x01\xba\xae\xaa\x62\x0d\x72\x96\x68\xad\x81\x0b\xc0\x1b\xae\x0d\x8a\x0c\xb7\x16\x5d\x32\x05\x86\xd8\x3f\x59\xee\xb0\xd4\x46\xf6\x59\x5e\x72\x01\x1f\x98\x59\x6c\xf1\x16\x68\xdc\xe3\x4f\x46\x2a\x36\x47\x22\x22\xed\x9a\x8b\xbd\xed\xe5\x38\xae\x60\x56\x0b\x98\xa3\x79\xeb\x8d\x6c\x1d\x30\x54\xa8\x65\xad\x32\xbc\xb0\x5b\xa4\xbf\xa7\xa3\x09\x5c\xd2\x97\x2f\x70\x6b\x05\xd1\x47\xa1\xa9\x95\x80\xcb\xe6\x06\x7d\x88\xe8\xb8\xdf\xb9\xe3\xf3\x0b\xfa\xff\x7a\x38\xda\x7f\x24\xdb\x6f\x5c\x57\x05\x5b\x3f\x81\xf3\x33\xab\x0b\xf3\x1b\x33\xec\xd1\xbc\x17\x1b\x6f\xbc\x1e\x8e\x1a\xd6\x2f\xf6\xdb\xdd\xb6\x49\xc9\x9a\x64\xbc\x62\x89\xb1\x45\xbb\x0c\xba\x6f\xed\xbf\xb9\x31\x9a\xc0\x99\x58\x7f\x32\xaa\xce\xcc\x69\x64\x64\xbd\xe2\x26\x5b\x34\xc4\xd1\x13\xfa\x64\x4c\xe3\xee\x26\x9f\x24\xbc\x91\x0b\x1f\x64\x1e\x6e\x71\xd2\x67\x66\xbc\x53\x26\xa0\xb1\x98\x8d\x1f\xde\xba\xe0\x45\x7b\xe3\xbb\x7a\x7d\x04\x4c\xff\x70\xbf\xa6\x9e\xf8\x74\xbf\x47\xdb\x06\x08\xff\x3b\x7d\x63\xac\xed\xa0\x71\x43\x7e\xba\xa5\xf2\xe8\x29\x8e\xde\x98\x6b\xdb\xd7\x14\x22\x4a\xcc\x39\x83\x93\x34\x90\x8f\xdf\xd3\xdd\x6e\x17\x5b\xc3\xf1\x02\x27\x2d\x96\x7f\x5d\x5c\x7c\x38\xe7\x05\xf6\x73\xd5\xaa\x98\xc0\x60\x61\x4c\xa5\x27\x87\x87\x4c\x6b\x34\x7a\xbc\xc2\xa9\xe6\x06\x0f\x48\xa4\x1e\x67\xb2\x3c\x7c\x39\x7b\xf5\xe3\x2f\x2f\xb2\xa3\xec\x9f\xec\xe7\x2c\xcf\x5f\xbd\xf8\x69\xfa\x3c\xfb\xf9\xc7\xa3\xd6\x03\xf6\xf2\x65\x36\x7d\x9e\xfd\xf2\xd3\xab\xaf\xe7\x85\x5c\x7d\xfd\x53\xaa\xbc\x64\xea\x7a\xac\x97\xf3\x41\xa7\x0e\xa3\x6e\x14\x58\x0b\x38\x6f\x0e\x78\xc9\xe6\x78\xa8\x97\xf3\x67\x37\x65\xb1\x2d\x65\xd4\x6f\x42\xdd\x6d\x43\x3d\xbc\xb4\x8f\xbf\x6c\xb3\xee\x72\xd2\xbc\xf7\xba\x6d\x2a\x58\x49\x3a\xfb\x7c\xd2\x08\x72\x49\x6a\xd0\xbd\x59\xbd\x2e\xa7\x92\xdc\xf0\xee\xfc\xa2\x87\x24\x47\x9d\x29\x5e\x19\x2e\xc5\x04\x06\x17\x0b\xae\x29\x8a\x39\xd1\x36\x4f\x52\x06\xad\x35\xe6\xc0\x34\x30\x4a\x5f\x6e\x7d\x23\x61\x81\x45\x05\x6b\x59\x43\x8e\x4b\x2c\xa4\xfd\xae\x40\xe0\x8d\x81\xf3\x0b\xf8\x9b\x14\xe4\xa9\x71\xcf\xba\x78\x63\x50\x09\x56\xfc\xf1\xf1\xf7\x36\xb6\xde\x6d\x1e\x0d\x1b\x00\xf9\x75\x0f\x66\x66\x2c\xc5\x8c\x04\x4b\x35\x1f\xf4\x38\xb9\x90\x73\xa9\x27\xde\x55\x3d\xa6\x91\x19\x67\x85\x9e\xb4\x02\x6a\xfc\x19\x98\x15\x15\x0e\x6a\xb0\x93\x82\x9e\xd8\x82\x9a\xf4\xfb\x3a\x2d\x64\x76\x9d\x2d\x18\x17\x83\x6d\x38\x80\x4d\x20\xed\x3b\x4f\x3a\xf3\x71\xc8\x79\x62\x84\x0f\x12\xba\x91\xa7\xe3\x92\xe2\xd0\x5f\x05\x87\x58\x81\x56\x40\xb7\x9d\x15\x66\xc8\x97\xa8\x3c\x77\x55\x4f\x0b\x9e\x25\xcc\x1f\x3d\x45\xdf\x79\x75\xba\xf6\xf3\xef\xb0\xf8\xef\x5c\x5c\x63\x1e\xc5\xf0\xbf\xc7\x65\xd9\xd8\x4a\xd8\x2a\x0e\xda\x1a\x7c\x93\x90\x4c\x21\x33\xf8\xae\xac\xcc\xda\x12\x9e\xd7\x22\x73\x67\x6e\x38\xab\xc5\x70\x34\x81\x5f\x6f\x13\x1f\x39\x79\x77\xf7\xc0\xd3\x7b\xf6\xf8\x20\x51\xa3\xbd\xd0\x70\x49\x7f\x23\xad\x7f\xed\xd4\xba\x07\xa1\xdb\xb7\x9f\x00\xd1\xb4\x8a\x7a\x0a\x44\x23\x09\xdd\x10\x4d\xca\xe6\x64\x83\xd1\x93\x7b\xf6\x72\xd7\x2e\x6a\x05\x2f\xe2\x22\x8f\xaa\x6f\x6b\xaa\x70\xd5\xdc\x7d\xc7\xb2\x05\xc5\x47\x65\x8f\x09\xda\x18\xc9\x85\x36\x4c\x64\x48\xf5\xbf\x14\xc5\x1a\xcc\x02\x1d\x3b\x35\x00\x66\x81\x5c\x85\x43\x95\xb4\x2d\x33\x0f\x0a\xed\xc9\x3c\x0f\x13\x39\xcc\xe5\x12\x95\xc0\x1c\xa6\x4e\x5a\xa5\xd0\xde\xaf\xa4\x36\xd4\x22\xe5\xdc\x32\x36\xe2\x78\xcb\x9e\xae\xf9\x31\x0b\x5c\xdb\xb6\x27\x63\x45\x81\xf9\x38\x59\x3d\x5b\x60\x76\xad\x61\xc1\xaa\x0a\x05\x30\x03\xaa\x16\x86\x97\x68\x59\x71\x89\x0a\x58\xa3\x21\x25\x85\x96\x8c\x46\xd6\x47\x5f\x41\x11\x85\x70\xfb\x9f\xa2\x3f\x00\x79\xd8\x19\x75\x75\x94\x28\xe4\xac\xb9\xb4\x4d\x9e\xed\xd9\x48\xcd\x46\x1c\xa9\x9b\xe3\x8c\x0b\xcb\xbc\x0f\x5a\xd2\x73\x85\xa4\x82\x90\xb0\x62\x6b\x98\x49\xd2\xad\x64\x05\xcf\xb8\xac\xb5\x73\x87\x91\x7e\x4d\x67\xc5\x8d\x69\x64\xed\x97\xe5\x02\x18\x57\x63\x38\x03\x5d\x21\x65\x03\xb0\xad\x9e\x82\x50\x03\x82\x40\xcc\x35\x49\x9a\x6e\x74\x30\xd2\x36\x8d\x8d\xb8\x4d\x43\x99\x9a\x22\xee\x0b\x1a\x81\x56\x95\x56\xf3\xea\xce\x60\x68\x61\x63\x8f\x58\xec\xc2\x94\x15\x01\x4c\x86\xd2\xf3\xb2\xc1\x61\x7b\x19\x6a\x20\x3d\x75\xda\x3c\x76\x11\xea\xbe\x46\xb1\x8f\xc1\x85\x5e\x47\xff\xa1\xf9\xde\x4b\x9e\x06\xfe\x88\x21\xda\x26\x70\xc1\x0d\x67\x05\xff\x0b\x2d\x0c\xc2\x56\x09\x7c\xc1\x64\xd6\x89\x04\x39\xc2\x62\xc3\x4b\x8c\xc3\xd6\x5e\x47\xad\x60\x69\x6b\xfc\x20\xf2\x24\x08\x4f\x48\xa8\xa0\xe3\x39\x0a\xc3\x67\x1c\x15\x9c\xc0\x60\x2b\xb3\x0c\xb6\x65\x46\xa6\x83\x93\xd8\x76\xc3\x8d\xac\x49\x24\x77\xf4\xc3\xb6\x8c\x8d\x35\xe1\x24\xb2\xce\x23\x24\xc4\x06\xee\x97\x31\xe8\x4a\xb5\x83\x48\xde\x5d\x8a\xbb\xb7\xf6\x54\xbb\x70\xc1\x3a\x4a\xc1\x69\x6d\xc3\xd0\x92\x33\xeb\xb1\xab\x37\x74\xad\xc6\x74\x7b\x38\xba\xa2\x64\xb9\x90\x79\x1b\x14\xe1\x78\xbb\x0e\x99\x68\x69\x99\x29\xcb\xae\x87\x6d\xa7\xf1\x59\xea\xb7\xd7\x70\x34\x3e\xea\xc8\x82\x7d\x41\x1e\x4e\xfa\x1f\x1d\x24\xa2\x13\x91\x77\xf7\x21\xe7\x68\x7c\xd4\x65\xae\xbe\x61\x8a\x1b\xa2\x74\x4d\x4c\x60\x93\x60\x12\x25\x1f\x98\xc0\x08\x5e\x8c\x1e\x52\x20\x1a\x3d\xd8\x3e\xf6\xab\x55\xe9\xfe\xd9\x42\x9f\x3a\x8f\xee\x8b\xe9\x5b\xa7\x86\x84\xa8\x39\x1a\xb2\xbf\x54\x06\xf3\xcf\xa1\x18\xd1\x20\x6d\xcf\xc1\x8a\x62\xed\x75\xd0\xc0\xa0\xe0\xda\x06\x67\x1b\xe3\xec\x88\x4d\x87\x94\xc0\x75\x13\x52\xec\xc6\x2b\x1f\xd2\xef\xf3\x44\xc7\xba\xe4\x97\x5b\xa7\xf5\x1b\x29\x8b\x76\x81\x45\x01\x41\x07\x2e\xcb\xd0\x22\x3f\x81\xdb\x16\x56\x12\xea\x4b\x0b\x9d\x39\xda\xc5\x86\xa3\x2f\x70\x02\x46\xd5\xd8\x65\xf2\x94\x71\x67\x80\x71\xbd\xbd\xab\xa1\x89\xe7\x48\xa4\x68\xb7\x97\x83\x72\x9d\x76\xb9\x34\x16\xad\xa7\xa7\x30\x63\x85\xc6\x3e\x77\x9e\xe9\x6b\x4d\xa7\x94\x4e\xbf\x9b\x89\xda\x3c\x3f\x45\x58\x71\xb3\xc8\x15\x5b\xf9\x19\xf2\x43\xc9\x6a\xb3\xa1\xb3\x25\xe3\x05\xb3\xf9\xf0\x4f\x2f\xa3\x35\x6e\xbd\x77\x57\x5e\x8b\xe3\x93\xee\xe3\xdd\xd2\x3f\x68\x19\xdf\x4c\x08\x42\x69\xee\x81\xc7\xae\x5d\x51\xe7\x57\x71\x5d\x30\x53\xf3\xba\x44\x61\x12\x46\xaa\xc7\x82\x74\x0f\x5b\xcf\xe4\xed\xe1\xf3\xff\xb8\x77\xe9\x7f\x1b\x5f\xb3\xd0\x59\xb0\x85\x05\x96\x95\x54\x4c\xad\x7d\x29\x18\x46\xda\xb6\x21\xa7\x16\x5c\x16\x79\x22\xc1\x2c\x30\x8c\xb7\x9d\x02\x0a\x61\x8a\x5c\xcc\xc1\x28\x26\xf4\x0c\x95\xc2\x7c\x4c\x0b\x85\x43\x47\x1c\x02\x57\x51\x79\x4c\x72\x42\xb9\xe6\x97\x95\x49\xd1\x66\x25\xbb\xf2\x8f\xca\x31\xde\x20\x20\xc7\x4a\x6a\x1e\x06\xea\x41\x16\x16\x1a\x57\x54\xb2\x75\x6f\xdc\x83\x22\xad\x89\x02\x0e\x5c\x60\x5b\xf5\xa2\xa2\xa3\x9b\xb9\xbf\x0a\x48\x2e\x0f\xbc\x83\xba\x50\x75\x7c\x10\x97\x8f\x9b\x5a\xc3\x71\xf4\x46\x3b\x6f\x82\xc7\xa1\xcb\x9b\x59\x4e\xff\x83\x59\x1b\x62\x16\x56\x2c\xcf\x75\x22\x86\x1b\xdd\x54\x4b\xde\x3b\x49\x9d\x88\x20\x57\x02\x95\xde\x01\x71\x5c\x03\x2b\x0a\xb9\x72\x88\xca\x51\x1b\x25\x5d\x93\xa1\x69\x79\xa7\xda\x14\x33\x56\x6b\xdc\x80\x38\x3d\x53\xa4\x72\x04\x56\x82\x25\xaa\xa0\x89\xaf\x8e\x6d\x49\x6b\x79\xff\xb1\xd1\x7d\xc1\xd2\x7d\x4d\x11\x05\xe1\x4c\xd7\x25\xe6\x76\xeb\xb6\xd8\x9f\x49\xdb\xb4\x78\x90\x59\x0d\x43\xeb\xd1\x03\xa7\x26\x29\x7a\x87\x0c\xe9\x0c\xf6\x75\xd9\xed\x22\x84\xb2\x80\x4b\x41\xc7\x07\xee\xf0\x32\xfd\x43\x17\xd6\x76\x46\xda\x33\x27\xaf\xb3\xf6\x48\x9e\xb4\xca\x0d\x70\x23\x3a\xeb\x92\x34\x96\xb6\x70\xd7\xee\xfb\x77\x04\x60\x1a\x6e\x9c\xaf\xe9\xb4\x01\x8b\xf1\xf4\x17\x2a\xb9\x15\xea\x42\x00\xe1\x9b\xf8\xc0\x8a\x82\x42\x8d\x8f\x13\xd4\x59\xd9\x56\xac\xac\xb5\x8b\x17\x2e\x27\x84\x26\x72\x4b\xa2\xed\xa0\xad\x24\x27\xbb\x89\x3f\xed\xae\x99\x6e\x48\x95\xbb\x2e\xcf\x82\xd7\x3d\x4f\x25\x66\x99\x0d\xbe\xae\x7d\x63\xae\x8a\x0d\x35\x44\x80\x85\x6e\xda\x2a\x57\xe1\x52\x0e\xdc\x0d\x57\x5b\x83\x96\x9d\xa2\xd1\x03\xc1\xe5\x68\x7c\xd4\x1e\x4a\x44\x13\x08\xd7\x9e\xf6\x36\xdc\x21\x7e\xb8\xc8\x62\xb7\xc3\xec\x1b\x43\x6f\x09\xd7\x90\xd3\xd9\x0c\x4d\xec\xe3\x9a\x57\xdf\x1d\xdf\x26\x56\x26\x31\xee\xe5\xe6\x8e\x88\x23\x06\x1d\x2d\xbc\x6f\x83\x1b\xf9\xaf\x0c\x38\x32\xd1\x3b\xd4\xfd\x5e\xdc\xc5\x1c\x6d\xe4\xed\xe4\xc1\x8d\xea\x4f\xc9\x2b\x4f\x69\x40\x9e\x75\xe5\x1b\x2c\x79\xcf\xab\x66\xf7\x3f\xbc\x6a\x4e\x2b\xcb\x71\xd4\x1c\x7e\x5b\xfa\x6a\x81\xac\x33\x90\xc4\x70\xfb\xa6\x00\xf2\x7d\x83\xc7\xf7\x0d\x1c\xdf\x21\x68\x74\x9d\x9f\xce\x60\xd1\x9a\xca\x3e\x88\xb8\xc6\xab\xf0\x40\xe0\xf0\x9e\xb4\xf3\x91\x38\xad\x59\xf4\xa4\x30\x7d\x7e\x74\x44\xa9\x26\x25\x69\xff\x88\x00\x4e\xba\x47\xfe\xee\xb7\x08\xc9\x30\xe7\xad\xd3\x6c\x33\xb8\xb4\x38\x68\x1f\x68\x6b\x3b\xff\x03\x0c\x72\x1d\x5b\x22\xa1\x80\x8b\x64\x24\xea\x44\x36\x5f\x93\x84\xdc\x6d\x81\xf6\x06\x47\x5d\xba\x31\x3f\xc5\x82\x8c\x55\x6c\xca\x0b\x6e\xd6\x01\x7f\x16\x43\x79\x5c\x67\xe3\x4d\x25\x35\xc6\x71\xcd\x8d\x3c\x3c\x0a\xc2\xb0\xc3\xcd\x67\xd1\x9c\xd9\xa6\xd4\xb7\x73\xe1\x99\x59\x28\x59\xcf\x9d\x15\xae\xc2\xf8\xe5\x0a\x6c\x24\x9d\xb1\x2c\xde\x6c\xa8\x76\xe0\xca\xef\xe9\xaa\x53\xc8\x9b\xf0\xb0\x4b\x46\x62\xb0\xd8\x5d\x6f\x59\x15\x4a\x12\x0f\xf1\x71\x63\x02\x8e\x3a\x8c\xb4\xc6\x5c\xeb\xba\xe7\xcd\x86\x2b\x53\xa2\xd9\xd7\x28\x45\x4e\xa7\x5c\x6b\x6e\xbd\x18\xb6\x74\xd9\x07\x66\x26\xbe\xf0\xd9\x4c\xc2\x46\x89\xfa\xa1\xdb\xff\x7f\xab\x1e\xe9\x11\xab\x1d\x8f\xdf\x46\x7b\xdd\xf2\x82\x6a\x04\xf2\xe1\xf1\x81\x65\xdc\x07\x23\xef\x7b\x8d\x16\xc9\x22\x2b\xb8\x0c\xbe\x41\xbd\x4b\xc2\xc3\x9e\x0d\xb4\x16\xb4\xcc\x6e\xc1\xce\xc3\x1d\x42\xc6\xdd\xde\x7f\x03\x00\x00\xff\xff\xe7\x8f\x67\x4a\x0b\x26\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,11 +95,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0xbf, 0x61, 0xcd, 0x14, 0x51, 0xb8, 0x5f, 0x45, 0xd5, 0x6f, 0x6a, 0x93, 0x48, 0x4b, 0x77, 0xd1, 0x6d, 0x10, 0xcc, 0x5f, 0x4a, 0xb5, 0xa5, 0x6c, 0xb6, 0xde, 0x7e, 0x89, 0x56, 0xd8, 0xd0}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0x72, 0x7b, 0x36, 0x45, 0xba, 0x4c, 0xea, 0x6a, 0x3f, 0x84, 0x4c, 0x33, 0xd3, 0x1, 0x96, 0xa6, 0x48, 0x84, 0xd6, 0x23, 0x8e, 0x6, 0x2e, 0xbc, 0xd, 0xe0, 0x8e, 0xe6, 0x9, 0x38, 0x38}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4d\x93\x1b\x37\xce\xbe\xeb\x57\xa0\x26\x07\x4b\x79\x65\x4d\x0e\x6f\xed\x61\x6a\x13\xc7\x4e\xe2\x2a\x1f\xb2\xb5\x15\x8f\xe3\xc3\xee\x56\x89\xea\x86\x24\x66\xd8\x64\x87\x64\x4b\xd6\x4e\xcd\x7f\xdf\x02\xf8\xd1\xcd\x56\x6b\x66\x9c\x78\x37\x17\x6b\xba\x49\x10\x00\x01\x3c\x0f\xd0\xb9\xfe\xfa\xeb\xd9\xec\x2b\xb8\xdd\x23\xbc\x55\xe6\x08\x6f\x3b\xbd\x93\x1b\x85\x70\x6b\xee\x50\x83\xf3\x42\xd7\xc2\xd6\xb3\xd9\x57\x5f\xc1\x3a\xbd\xe4\x77\x6b\xa8\x8c\xf6\x56\x54\x7e\x36\xe3\xed\xd3\x3b\x41\x3a\xd0\x06\x94\xd1\x3b\xb4\x20\x34\x48\xed\xd1\x6e\x45\x85\x33\xbf\x17\x1e\x84\x52\xb0\x4d\x5b\x3d\x6f\x4d\x72\x1d\x1c\x4d\xa7\x6a\xd8\x8b\x03\xbd\xa2\xe7\x5b\x63\x1b\xf0\x66\x35\x9b\xbd\xdb\x82\x80\xce\xa1\x75\x70\x14\xda\x3b\x5a\x50\x63\xab\xcc\x09\x04\x68\x3c\x8e\x64\x2d\xc1\xef\x51\xda\x5e\xe7\xda\x20\x29\xe6\x41\x23\xd6\xb4\x59\x36\xad\xc2\x06\xb5\xa7\x95\x50\x98\xda\xeb\xbc\x84\x4d\xe7\xa3\x28\x3e\xc0\xcd\x6a\x73\x41\x44\xde\xe4\xa0\xc6\xad\xd4\x58\x83\xd4\xe0\xf7\xd2\x65\x2d\x56\xc1\xaf\xbf\x8a\x4e\xf9\x35\x58\x74\xa6\xb3\xd5\x60\xe7\x6c\xf6\x93\xa8\xf6\x63\xff\xe4\x75\xfe\xd4\x22\x1f\xee\xce\x4f\xbf\x2c\x34\x1e\xfa\x77\x6b\x0e\xb2\x46\xbb\x5e\xc2\xfa\x17\xac\x50\x1e\xf8\xb7\xd0\x35\xac\xdf\x08\x25\x74\x85\x53\xbb\x1d\xdf\xb6\x1b\x99\x57\x29\x61\x11\x5a\x8b\x2f\x2b\xa3\x6b\xe9\xa5\xd1\x8e\x45\xb5\xc6\xf9\xe1\x33\xbe\x73\x8b\xce\x5b\x59\xf9\x19\x29\x8a\x9f\xb0\xea\xe8\x25\x98\x2d\x6b\xbe\xed\x74\x15\x16\xb3\xbb\x10\xd8\x92\x15\x9f\x7b\x02\x3a\xc7\x61\x2b\xac\xf0\x08\x1b\xac\x44\x47\xba\x78\xd8\xc9\x03\x3a\x5e\x4e\x41\xc1\x3f\xc4\x46\x2a\xe9\x4f\xe4\x1b\xb7\x17\x16\x67\x02\x2c\x6e\xd1\xa2\xae\x38\x9e\xc2\x35\xb2\xf4\xa0\x97\xd1\xea\x04\xf8\xa9\x35\x2e\x8a\xda\x4a\x54\xb5\xeb\x35\x9a\x49\x0d\x46\x23\x18\x0b\x8d\xb1\x98\x34\xee\x5d\x41\x81\x49\x31\xed\x4c\x54\x28\x44\xe8\x48\x9b\x46\xdc\x21\x54\x9d\xf3\xa6\xc9\x1e\x8e\xae\xc9\x97\x48\xbe\x29\xbd\x4c\x01\x6e\xe0\x20\xac\x34\x1d\xad\x96\x7a\xe7\xe0\x28\xfd\x9e\xc5\x87\x68\x5c\xcd\xde\x1a\x0b\xf8\x49\x90\x98\x25\x08\xd8\x8a\xae\x42\x0f\x95\xd0\xb0\xc1\x5e\x3a\xd6\xb0\x39\xa5\x84\x92\x7a\x37\x0b\xee\x80\x14\x14\x45\xb4\x7c\x7d\x3d\x9b\xc9\xa6\x35\xd6\xc3\xaf\x12\x8f\xbf\xa0\x33\xea\x80\x16\xb6\xd6\x34\x70\x35\x7c\x74\x95\xd6\xbd\xe9\xac\xce\x2b\xc2\x1f\x57\xb3\xd9\xf5\xf5\x75\x99\x58\xf4\xa4\x78\x1a\x8b\x47\xd6\x53\xc4\x48\xb2\x38\x28\x22\x16\x7f\xef\xa4\x9d\x4a\xb9\x32\x51\x58\x72\x6f\x08\x7c\x44\x70\x5e\x2a\x15\x0a\x8a\xf4\x20\x5c\x51\x90\x60\x8f\xb6\x8f\x29\xcf\x7f\x71\xb8\x99\x86\xa3\x6a\xdb\x29\x16\xd9\xf9\x70\x93\x0d\xfa\xbd\xa9\xe3\xc5\x35\x42\x9f\xa0\xb5\xe6\x37\xe4\xc2\x45\xc7\x84\xc3\xa8\x3a\x91\xa6\x7c\xa8\xd1\xa3\x3a\xe4\x96\x2c\x32\x56\x95\x10\xde\x9b\x13\x19\xdb\xa0\xd0\x2e\xdb\xba\xe2\x42\x19\x42\xa4\x7f\x4a\xbf\xf9\x59\x8e\x80\x60\x73\x72\x8a\x2b\x4a\x41\x5f\x56\x44\x55\xa1\x73\x73\xa1\xd4\x22\x6b\x32\xf0\x43\x71\x47\x37\xe5\xa5\xdf\xcf\x66\x00\x00\xd7\xd7\xf0\x5a\x03\x6a\x2f\x7d\xf4\xff\xd6\x58\xd2\xd1\x1c\xa5\xde\xf1\xb1\x14\x9a\xb5\x15\x47\xa1\x38\x4f\x38\x3e\x43\x44\x88\x90\x74\x2c\x68\xa8\xca\x50\xdc\xc7\xb8\x3b\x1d\x77\xcd\x18\x85\x87\x70\xd5\xc1\x0d\xd8\x48\x4f\xa1\x7c\xdc\xa3\x4e\x07\x90\x03\xd3\xc9\xfa\x89\xe3\x0e\xc3\x83\xf4\x9c\xca\xe9\x0d\xbc\xf7\x56\xea\xdd\x12\x44\x63\x3a\xed\x6f\xe0\xc3\x5b\xf9\xe9\x2f\xff\xbf\x64\x51\x37\xf0\xba\xae\x2d\x3a\xf7\x2a\xfc\xfd\xe1\xc3\xbb\x1f\x6f\xe0\xc3\x3b\xed\x69\x45\x3e\x76\xf8\x78\xf1\x47\x0c\xa8\xb1\x35\x4e\xfa\x10\xe2\x8f\xab\xff\x63\x5a\xfa\x84\xfa\xde\x0c\x95\xf7\xa6\x54\x3d\x1f\x78\x41\xf5\x9f\x1e\x51\x7b\x8f\xb0\x53\x66\x23\x14\x6c\x3a\xab\x63\x56\xd0\xb2\x4a\x28\x45\xab\xa8\x44\x09\xd0\x46\xbf\xfc\x37\x5a\x03\x9b\x00\x2e\x17\xec\xe1\x62\xf1\x94\x31\x63\xdf\x0f\x34\x7d\x33\x90\x4e\xd5\x65\xe8\xfc\x3e\xc2\xd9\x92\x36\x14\x3b\xd7\x73\x95\x5c\xe8\xff\x99\xf7\x51\x58\xef\xd0\x7b\x8a\xea\xa8\x39\x48\x2e\x9b\x5c\x9b\x8a\x73\x86\xd6\x9c\x23\x67\x52\x0d\xee\x79\xf1\x78\xc3\x41\xd8\x74\x40\x32\x94\xd7\x3d\xf4\xb6\xa5\xea\xfc\x1c\xe3\x90\x74\xac\x22\x8e\xc5\x7a\x11\x4a\x02\x59\x94\x42\x95\x4a\x7f\x12\x32\xcc\x50\x46\xb5\x54\x45\x38\xa1\x4f\x2d\xae\xce\xce\x7d\xe7\x21\xf3\xa8\x78\x60\x79\x96\xd1\xb0\xde\x24\x32\x41\x05\x75\x99\xf7\x0e\xb0\x5b\xa1\x20\xac\x34\x6d\x0c\xa7\xd6\x38\x27\x23\x5c\x9a\x2d\x54\x16\x05\x2b\x11\x21\x33\xde\x9b\x75\xbd\xea\x64\x31\x11\x31\xe6\x73\xe4\x53\x61\xa5\x3a\x45\x62\xc6\x05\xd7\x1c\x75\x72\xef\xea\x73\x2e\x2d\x23\x62\x2c\x7c\xe9\xc8\xb7\x31\x54\x38\x43\xdd\x1d\x88\xac\x16\x48\xa2\xa6\xae\xc5\x4a\x6e\x65\x15\x63\xb7\x2f\x81\x85\x14\xe9\x40\x1c\x84\x54\x22\x80\x16\x61\x74\xae\x22\xc5\xc2\xdb\x40\x1b\x89\x0e\x6f\x12\x18\xf1\xd1\x07\x23\x6b\x68\x85\x96\x15\x79\x88\x33\x92\xf2\x8e\xff\x48\x25\x74\x28\x28\xe7\x6c\x0e\x66\x07\x9d\xbe\xd3\x66\x74\xe0\xeb\x3a\x50\x36\xa1\xd4\x69\x49\x26\xf1\xc5\x64\x13\x1d\xb4\x5d\x38\x85\xe3\xa5\xe9\x94\x97\xad\x42\x38\x50\xa9\x1a\xd9\x18\x89\x55\x26\xaa\xd5\x1e\xab\xbb\x80\xaa\x91\x40\x85\x5d\xd0\x69\x2f\x15\x3f\xa8\xd1\x31\xbe\x05\xe7\x8d\x5d\x66\x51\x54\x7b\xac\x97\xd0\x1a\x4f\xf1\x49\x3a\xc2\x1e\x55\x9b\xac\x86\x16\x2d\xa7\x68\xbe\xed\xb4\x7b\x3a\xf5\x24\x1e\x29\xf7\x41\xba\xd7\xe9\x36\x6e\x4d\x02\x86\x79\x59\x7d\x16\x37\xf0\xc6\x18\x55\x46\x43\x72\x35\xb8\x6e\x13\x7b\x97\x47\xd3\x29\x05\x5a\x21\x84\xf8\xb2\x45\xdf\x59\x42\x81\xc8\x4b\x33\xbf\xb3\xd8\x98\x03\x03\x42\xe0\x79\x83\x8d\xa3\x40\xe9\x19\xf4\x0b\x17\xcd\x04\x85\x07\x54\xe4\xba\x75\xb4\x3b\x19\xb7\x58\x17\xbb\xdf\x1b\x22\xdd\xc6\xd2\x1d\x53\x74\x85\xdd\xd2\x2f\x99\xf6\x86\x76\x0c\x25\x51\xa3\x9c\x5b\x60\x36\xc4\x79\x40\x7a\x87\x6a\x5b\x48\x33\xdc\xf0\x45\x54\xaf\x07\xe4\x9b\xad\x5a\x27\x1d\xd6\xd3\xd6\x8c\x35\xe5\x1b\x3a\x5e\xbc\x94\xef\xef\xd9\x63\x0f\x83\xf2\x4a\xff\x51\x03\x32\x7a\x14\x0e\x82\xb5\x45\x17\x5b\xa4\x2d\x93\x74\x13\x1d\x4d\x37\x00\x07\xa1\x3a\x3c\xdb\x16\xb6\xac\x52\xee\x7c\xfb\x6d\x82\xa6\xb3\x95\xf4\xdf\xd5\xc7\x9e\x02\xc5\x32\xd0\x74\xce\x53\x06\xd3\x49\x4e\x34\x48\x1c\x74\x98\x8d\x31\x21\x7a\x06\xc3\x46\x5d\x9d\x89\x27\x08\x3e\xa3\x2e\x74\x01\xab\x1d\xfa\xdb\x53\x8b\xf3\xc5\x4a\xd6\xe4\xfa\xad\x44\xdb\x23\x68\xf8\x37\xb1\x19\xde\x60\x8e\x1a\xed\xab\x95\x08\xe4\x60\x08\xae\xfc\xba\xeb\x64\x7d\xc6\x6d\xa2\x1f\xe8\xdd\xa2\xd0\xed\x61\x56\xfe\x1a\xa0\x57\x6a\x32\xff\x3c\x7a\x45\xb6\x32\x01\x5e\x52\xc7\x5b\x7c\x06\x78\x7d\xc4\x04\x19\x52\x57\xaa\xab\x11\x04\xe4\x4e\x35\xa8\xc1\x95\xaa\xbc\xa0\x08\x5b\x59\xca\x11\x33\xc3\xa7\x8e\xef\x39\x0d\x5f\x70\x43\x60\xee\x59\x0e\x75\x68\xb5\x49\x8b\xa6\xbb\xbb\x25\x28\x79\x87\xe0\x5a\x25\x99\xf2\x37\xd0\xb5\x54\x35\xb2\x10\x87\xba\x0e\x2f\xa8\x59\x94\x5b\xce\x37\x0f\xad\x0a\xbd\x29\x3c\x1f\xf6\xd2\x65\x8d\x61\x2f\xba\x1e\xbc\xb8\xc3\xbe\x4a\x51\xe5\x8a\x6f\xa8\x5a\x5c\xb8\x86\x62\x6e\xf1\x58\xca\xb3\x52\x94\xed\x51\xe6\x3c\x44\x6b\xca\xf0\x45\xa9\xd2\x0e\xfd\xfb\xae\xa5\xb6\x13\x6b\x5e\x40\xe1\x4f\x6c\x22\xc1\xd7\xa0\xa8\x2a\xe9\x18\x8a\x0f\xa1\xe9\xe7\x85\xb1\x81\x62\x5c\x89\x46\x93\x1e\xed\x00\xc6\x26\xc1\x62\xfa\xdc\xf9\xe2\x06\xee\x6f\x39\x1d\x09\x26\x1e\x4a\x5d\x7f\x89\x9a\x1c\xf7\xc8\x45\xd4\x58\x0e\x40\xe6\xd0\xf2\x40\xc8\x7c\x6a\x19\x92\x83\x06\xa1\x4d\xa7\xb7\x45\xf2\x24\x69\xaf\x93\x1d\x1c\xab\x42\xc7\x5d\x40\xad\x28\x0b\x72\x7b\xae\xd8\xbf\x51\xd1\x89\x75\xcd\xdb\x8e\x3b\xcc\x1a\xb7\xb9\xab\xb8\x68\xa2\x74\xe7\x16\xc6\x5a\x43\x3f\x13\x14\x8e\x12\xbd\x6f\x57\x0a\xae\x58\x63\xe0\x12\xec\xea\x3e\xd2\x02\xa8\xf0\xc8\xa4\x1f\xf0\x65\x7b\x97\x89\x35\x2f\xe1\xd6\x0a\xed\xb6\x68\x8d\x5d\x66\x56\x16\xe6\x55\xa9\x39\xed\xb9\x65\xd7\x37\x2b\xe4\x5f\x97\xac\x80\x13\xfa\xcf\x49\x03\x36\xe5\x66\xa0\x4d\x7f\x70\xd6\x6b\xd8\x1e\xaf\xd2\x8f\x65\x1c\x81\xac\xe8\x1f\x66\x77\x63\xfe\x28\x51\xd5\x31\xf6\xac\x18\x57\x19\x43\x14\xf2\x70\xf9\x82\x26\x7a\x85\x42\xfa\x0f\xb1\xf5\x22\xb2\x27\xc6\xf3\x43\xe9\xb8\x53\xc3\x1a\x0e\x52\x84\x09\x41\x54\x96\x1e\xcf\x17\xeb\xd8\xc3\x15\x12\xdf\x8d\x46\x32\xb1\x5e\x51\xa8\x6d\x8c\xb9\xbb\x43\x64\xf6\x65\x6c\x80\x26\x7a\xce\x0d\x5d\xc9\x05\xd9\xde\x18\x95\x1b\x2c\x1b\xc9\x68\x30\xa9\x57\xa3\xf3\xd6\x9c\xb0\x2e\xc9\xdb\xcf\x24\x75\x3c\x1b\x3a\x0e\x87\x2c\x5d\x5b\x0b\x8f\x7d\xc9\x7c\x41\xb0\xee\x85\xe2\x08\x50\xa7\x52\x17\x43\xc8\xaf\x88\xbb\x94\x33\x14\x17\x66\x35\x1b\x44\x9d\x1c\x15\xa8\x59\x60\x60\x99\xd1\x05\x99\xab\x47\xdd\xc4\x71\x9d\xe6\xc3\x0e\x7d\x71\xcb\xde\x40\xe8\x88\x71\x6b\x6c\xd0\x9a\x0a\xf8\x68\x0e\x7a\xde\x07\x48\x26\x2b\xad\x0d\x1d\x73\xf0\x1a\xa3\x78\xa4\x9b\xae\x15\x4d\xc3\xdc\x9c\x70\x27\x74\xd4\xf1\x36\x56\xe3\x78\x4a\xe3\x9f\x50\x70\xc9\x5c\x8a\x9d\x8d\xa8\xee\xe6\x8b\x31\x95\xb2\x38\xc1\xa4\xf8\xba\x8b\xae\xfd\x19\x34\x84\x97\x6c\x52\x06\x4d\x30\x8e\x4b\xac\x02\x2e\x53\xba\xa1\x4c\x62\x66\xdf\xac\xbe\xb9\x81\xab\xdb\x81\xbf\x13\xf9\xe2\x7b\x88\xbe\xaf\x3b\x9b\x06\x56\x43\xe3\xd3\x18\xc3\x99\x58\x48\xb8\xc0\x52\x2d\xa1\xfd\xe4\x5f\xac\xaf\x2e\x32\x9f\xff\x35\x3e\x25\x16\x15\x8b\xfa\x28\x47\x80\xeb\x2d\x53\x9c\xba\x9c\x71\xc6\xbe\x4b\x58\x04\xfc\xd4\x62\xe5\xb1\x1e\xa7\x08\xb7\x6e\x19\x8d\xfa\x5e\x9a\x74\x5b\x06\xf7\xe0\x29\x24\x8c\xee\x23\x3d\x36\x8a\x3c\x5e\x2d\x74\x29\xc4\x13\x97\x63\xc3\xce\x42\xfd\x4f\x00\xee\x28\x32\xae\xaf\xe1\x0d\x2a\x73\x8c\x5d\x27\xb9\x62\x30\x04\x4f\xdc\xcc\x75\x36\x32\x4f\xdb\xe9\x97\x5e\x36\xf1\xe3\x0a\x83\xd3\x58\x1e\xbb\x64\x87\x09\x52\x87\x83\xb0\x56\x30\xe1\xca\x48\x12\x11\x2d\x32\xb9\xf2\x03\xda\x2a\x8c\x65\x57\x50\xc8\x97\xdb\xb3\xfc\x71\xef\xbb\x0d\x69\x33\x37\xdb\x80\xbb\x7f\xfd\xfe\x7e\x42\xd2\xc3\x77\xf3\xc5\x38\x65\x81\x7b\x16\x06\xfe\xfb\x52\xec\x0d\x33\x81\x32\xb1\x1e\x00\x95\x9b\xca\xf1\xcc\x5c\xb8\x9f\x6b\x5a\x7f\x82\x5a\xf2\x8d\x09\x7b\x4a\x2d\x4c\x0a\x3e\xee\x9c\xf8\x6e\xb3\x1b\x8e\x7b\x03\xb5\xd1\x2f\xfc\x94\xe4\x7e\x84\x3f\xe9\x9f\x25\xb8\xae\xda\xd3\x21\xe5\xeb\xf7\x47\xe9\xab\xfd\xc6\x08\x5b\xaf\x97\xb0\xe6\x67\x6f\x8d\x3d\x0a\x6a\x5e\xd7\x80\xbe\x5a\x5d\x74\xc5\xc3\xf3\x32\xf7\x87\x40\xff\xe3\xf0\xa3\x24\x68\x3d\xa5\x60\x86\x26\xdd\x80\xf6\x5c\x8c\xe0\xe7\xf1\xa9\xd1\x05\x44\xa5\xd3\xf5\x4d\xa6\xc0\x3f\x48\xc8\xbf\xe0\xd5\x2b\xd8\x0a\xe5\xf0\x92\x41\x13\x63\x8a\x75\x28\xc9\xeb\x1e\xd6\x58\xee\x0b\x57\xcc\x69\x61\x72\x44\xa1\xf1\x38\x1e\x53\x24\xc1\xe4\x97\xf3\xfd\x5f\xba\xb7\x9f\x04\xa4\x02\x07\xbe\x7b\xa2\x43\x7f\x1d\xda\xf2\xbe\xdf\x4e\x18\xa1\xd0\x71\xe9\xd5\x4c\x69\x7e\xef\x84\x0a\x7f\x4d\x34\xeb\x13\x2d\xfa\xb3\x00\x2b\x36\xd1\x39\x25\x09\xb4\xc6\x49\x7a\xf5\xf3\x90\xbb\xa7\xa1\x41\x0f\x0f\x94\x17\xb4\xe7\x7c\x42\x70\x7d\x0d\xf1\x33\x56\x98\x45\x0a\x95\xcb\x2c\xac\x03\xe3\x58\x73\xd7\x1a\x49\x49\x48\xdb\x68\x52\x3f\xb4\xe5\x4f\xa0\x53\xc2\x23\x63\xda\xe0\x4e\x6a\xcd\xd4\xaf\xa4\x2d\xfd\x87\xdd\x89\xdd\x4f\x82\x77\x50\x70\x3e\x7c\xbc\x80\x97\x8f\xdf\xe5\xdf\x72\x38\x8e\x01\x9f\xcb\x53\x6c\x87\xfb\x7b\x23\x02\xc5\xdf\x52\xd3\x72\x11\xba\xe7\xf1\xf4\x25\xbd\x7f\x26\xde\x5f\x6e\x91\x45\x5d\x53\x7b\xec\x86\x04\xf0\x2c\x9e\xce\x2a\xc9\xe7\x34\xc8\x53\xb0\x30\xc6\x04\x6a\x1c\x9d\x43\x3b\xa0\xbd\x95\xd1\x95\x45\x1f\x41\x2f\xba\xa7\xff\x08\x95\x79\x79\x0a\xc0\xb1\xbc\x88\x00\x83\x6e\x34\xb7\xb0\x89\x5c\x45\x69\xcf\xc8\x5f\xb2\x65\x25\xdd\x3b\xed\x3c\x79\x65\x5e\xa6\xc4\xe2\x06\xa6\x6f\xff\x87\x40\xcf\x92\xf7\xf9\xc3\x6e\x65\x9a\x56\xf8\x41\xeb\x43\xf6\x5d\x18\xa6\x8d\x3f\xa4\xb1\x1a\x8f\xb3\x58\x5e\x92\x59\xac\x37\x17\x06\x6a\xe9\x63\xdb\x60\x9c\x36\xfa\xde\xc6\x82\xbe\x10\xed\x9d\xcc\x9c\xff\x4b\x8f\x87\x2a\x2f\xfe\x50\x1e\xb9\xae\x79\x32\x81\xfa\xd0\x79\xb4\x36\x8e\x12\x87\xbf\xf3\xe0\x4f\x44\x2f\x62\xce\x28\x65\x8e\x8e\x7b\xc9\xf0\x3f\x75\x98\xb8\xa6\xc0\x1e\x8e\xb7\xbd\xa0\x54\x3b\xfb\xbe\x08\x4f\xe4\xcf\xf8\xc8\xf9\x67\x0f\x92\xcf\x27\xc2\x7d\xdf\xa1\xf1\xa8\x4e\xf1\x8c\xe8\x8a\xe0\x4a\xa6\xcb\x43\x65\x2f\x7b\x08\xca\xd9\xca\x7f\xc1\x47\x53\xa3\x90\x49\xdf\x1c\x12\xe1\xc8\x6c\x65\xba\xe0\x0c\xbc\x34\xe1\xb4\x29\xd4\x1b\x48\x66\xc7\x65\x62\x1d\x2a\x4a\xfe\xc6\xd8\x08\x5f\xed\x8b\x0f\x44\xe7\x09\xfd\xa5\x2f\x24\x5d\xc1\xc3\x7f\x02\x00\x00\xff\xff\x2a\xf5\xf4\xd7\x2b\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4b\x93\xdb\x36\xf2\xbf\xeb\x53\x74\x4d\x0e\x96\xf2\x97\x35\x39\xfc\x6b\x0f\x53\x9b\x38\x76\x12\x57\xf9\x90\xad\xad\x78\x1c\x1f\x76\xb7\x4a\x10\xd9\x92\x90\x01\x01\x06\x00\x25\x6b\xa7\xe6\xbb\x6f\x75\xe3\x41\x82\xa2\x66\xc6\x89\x77\x73\xb1\x86\x04\xfa\xfd\xf8\x75\x33\xd7\x5f\x7f\x3d\x9b\x7d\x05\xb7\x7b\x84\xb7\xca\x1c\xe1\x6d\xa7\x77\x72\xa3\x10\x6e\xcd\x1d\x6a\x70\x5e\xe8\x5a\xd8\x7a\x36\xfb\xea\x2b\x58\xa7\x97\xfc\x6e\x0d\x95\xd1\xde\x8a\xca\xcf\x66\x7c\x7d\xfa\x26\x48\x07\xda\x80\x32\x7a\x87\x16\x84\x06\xa9\x3d\xda\xad\xa8\x70\xe6\xf7\xc2\x83\x50\x0a\xb6\xe9\xaa\xe7\xab\x89\xae\x83\xa3\xe9\x54\x0d\x7b\x71\xa0\x57\xf4\x7c\x6b\x6c\x03\xde\xac\x66\xb3\x77\x5b\x10\xd0\x39\xb4\x0e\x8e\x42\x7b\x47\x07\x6a\x6c\x95\x39\x81\x00\x8d\xc7\x11\xad\x25\xf8\x3d\x4a\xdb\xcb\x5c\x1b\x24\xc1\x3c\x68\xc4\x9a\x2e\xcb\xa6\x55\xd8\xa0\xf6\x74\x12\x0a\x55\x7b\x99\x97\xb0\xe9\x7c\x24\xc5\x0c\xdc\xac\x36\x17\x48\xe4\x4b\x0e\x6a\xdc\x4a\x8d\x35\x48\x0d\x7e\x2f\x5d\x96\x62\x15\xec\xfa\xab\xe8\x94\x5f\x83\x45\x67\x3a\x5b\x0d\x6e\xce\x66\x3f\x89\x6a\x3f\xb6\x4f\x3e\xe7\x4f\x2d\x32\x73\x77\xce\xfd\x32\xd1\xc8\xf4\xef\xd6\x1c\x64\x8d\x76\xbd\x84\xf5\x2f\x58\xa1\x3c\xf0\x6f\xa1\x6b\x58\xbf\x11\x4a\xe8\x0a\xa7\x6e\x3b\xf6\xb6\x1b\xa9\x57\x29\x61\x11\x5a\x8b\x2f\x2b\xa3\x6b\xe9\xa5\xd1\x8e\x49\xb5\xc6\xf9\xe1\x33\xf6\xb9\x45\xe7\xad\xac\xfc\x8c\x04\xc5\x4f\x58\x75\xf4\x12\xcc\x96\x25\xdf\x76\xba\x0a\x87\xd9\x5c\x08\xac\xc9\x8a\xf9\x9e\x80\xf8\x38\x6c\x85\x15\x1e\x61\x83\x95\xe8\x48\x16\x0f\x3b\x79\x40\xc7\xc7\x29\x28\xf8\x87\xd8\x48\x25\xfd\x89\x6c\xe3\xf6\xc2\xe2\x4c\x80\xc5\x2d\x5a\xd4\x15\xc7\x53\x70\x23\x53\x0f\x72\x19\xad\x4e\x80\x9f\x5a\xe3\x22\xa9\xad\x44\x55\xbb\x5e\xa2\x99\xd4\x60\x34\x82\xb1\xd0\x18\x8b\x49\xe2\xde\x14\x14\x98\x14\xd3\xce\x44\x81\x42\x84\x8e\xa4\x69\xc4\x1d\x42\xd5\x39\x6f\x9a\x6c\xe1\x68\x9a\xec\x44\xb2\x4d\x69\x65\x0a\x70\x03\x07\x61\xa5\xe9\xe8\xb4\xd4\x3b\x07\x47\xe9\xf7\x4c\x3e\x44\xe3\x6a\xf6\xd6\x58\xc0\x4f\x82\xc8\x2c\x41\xc0\x56\x74\x15\x7a\xa8\x84\x86\x0d\xf6\xd4\xb1\x86\xcd\x29\x25\x94\xd4\xbb\x59\x30\x07\xa4\xa0\x28\xa2\xe5\xeb\xeb\xd9\x4c\x36\xad\xb1\x1e\x7e\x95\x78\xfc\x05\x9d\x51\x07\xb4\xb0\xb5\xa6\x81\xab\xe1\xa3\xab\x74\xee\x4d\x67\x75\x3e\x11\xfe\xb8\x9a\xcd\xae\xaf\xaf\xcb\xc4\xa2\x27\xc5\xd3\x58\x3c\xb2\x9c\x22\x46\x92\xc5\x41\x11\xb1\xf8\x7b\x27\xed\x54\xca\x95\x89\xc2\x94\x7b\x45\xe0\x23\x82\xf3\x52\xa9\x50\x50\xa4\x07\xe1\x8a\x82\x04\x7b\xb4\x7d\x4c\x79\xfe\x8b\xc3\xcd\x34\x1c\x55\xdb\x4e\x31\xc9\xce\x07\x4f\x36\xe8\xf7\xa6\x8e\x8e\x6b\x84\x3e\x41\x6b\xcd\x6f\xc8\x85\x8b\xd8\x04\x66\x54\x9d\x48\x52\x66\x6a\xf4\xa8\x0e\xb9\x25\x93\x8c\x55\x25\x84\xf7\xe6\x44\xca\x36\x28\xb4\xcb\xba\xae\xb8\x50\x86\x10\xe9\x9f\xd2\x6f\x7e\x96\x23\x20\xe8\x9c\x8c\xe2\x8a\x52\xd0\x97\x15\x51\x55\xe8\xdc\x5c\x28\xb5\xc8\x92\x0c\xec\x50\xf8\xe8\xa6\x74\xfa\xfd\x6c\x06\x00\x70\x7d\x0d\xaf\x35\xa0\xf6\xd2\x47\xfb\x6f\x8d\x25\x19\xcd\x51\xea\x1d\xb3\xa5\xd0\xac\xad\x38\x0a\xc5\x79\xc2\xf1\x19\x22\x42\x84\xa4\x63\x42\x43\x51\x86\xe4\x3e\xc6\xdb\x89\xdd\x35\xf7\x28\x3c\x04\x57\x07\x33\x60\x23\x3d\x85\xf2\x71\x8f\x3a\x31\x20\x03\x26\xce\xfa\x09\x76\x87\x21\x23\x3d\xa7\x72\x7a\x03\xef\xbd\x95\x7a\xb7\x04\xd1\x98\x4e\xfb\x1b\xf8\xf0\x56\x7e\xfa\xcb\xff\x2f\x99\xd4\x0d\xbc\xae\x6b\x8b\xce\xbd\x0a\x7f\x7f\xf8\xf0\xee\xc7\x1b\xf8\xf0\x4e\x7b\x3a\x91\xd9\x0e\x1f\x2f\xfe\x88\x02\x35\xb6\xc6\x49\x1f\x42\xfc\x71\xf1\x7f\x4c\x47\x9f\x10\xdf\x9b\xa1\xf0\xde\x94\xa2\x67\x86\x17\x44\xff\xe9\x11\xb1\xf7\x08\x3b\x65\x36\x42\xc1\xa6\xb3\x3a\x66\x05\x1d\xab\x84\x52\x74\x8a\x4a\x94\x00\x6d\xf4\xcb\x7f\xa3\x35\xb0\x09\xcd\xe5\x82\x3e\x5c\x2c\x9e\x52\x66\x6c\xfb\x81\xa4\x6f\x06\xd4\xa9\xba\x0c\x8d\xdf\x47\x38\x6b\xd2\x86\x62\xe7\x7a\xac\x92\x0b\xfd\x3f\xf3\x3d\x0a\xeb\x1d\x7a\x4f\x51\x1d\x25\x07\xc9\x65\x93\x6b\x53\xc1\x67\xa8\xcd\x79\xe7\x4c\xa2\xc1\x3d\x1f\x1e\x5f\x38\x08\x9b\x18\x24\x45\xf9\xdc\x43\xaf\x5b\xaa\xce\xcf\x51\x0e\x49\xc6\x2a\xf6\xb1\x58\x2f\x42\x49\x20\x8d\x52\xa8\x52\xe9\x4f\x44\x86\x19\xca\x5d\x2d\x55\x11\x4e\xe8\x53\x8b\xab\x33\xbe\xef\x3c\x64\x1c\x15\x19\x96\xbc\x8c\x86\xf5\x26\x81\x09\x2a\xa8\xcb\x7c\x77\xd0\xbb\x15\x0a\xea\x95\xa6\x8d\xe1\xd4\x1a\xe7\x64\x6c\x97\x66\x0b\x95\x45\xc1\x42\xc4\x96\x19\xfd\x66\x5d\x2f\x3a\x69\x4c\x40\x8c\xf1\x1c\xd9\x54\x58\xa9\x4e\x11\x98\x71\xc1\x35\x47\x9d\xcc\xbb\xfa\x1c\xa7\xe5\x8e\x18\x0b\x5f\x62\xf9\x36\x86\x0a\x67\xa8\xbb\x03\x91\xc5\x02\x49\xd0\xd4\xb5\x58\xc9\xad\xac\x62\xec\xf6\x25\xb0\xa0\x22\x1d\x88\x83\x90\x4a\x84\xa6\x45\x3d\x3a\x57\x91\xe2\xe0\x6d\x80\x8d\x04\x87\x37\xa9\x19\x31\xeb\x83\x91\x35\xb4\x42\xcb\x8a\x2c\xc4\x19\x49\x79\xc7\x7f\xa4\x12\x3a\x24\x94\x73\x36\x07\xb3\x83\x4e\xdf\x69\x33\x62\xf8\xba\x0e\x90\x4d\x28\x75\x5a\x92\x4a\xec\x98\xac\xa2\x83\xb6\x0b\x5c\x38\x5e\x9a\x4e\x79\xd9\x2a\x84\x03\x95\xaa\x91\x8e\x11\x58\x65\xa0\x5a\xed\xb1\xba\x0b\x5d\x35\x02\xa8\x70\x0b\x3a\xed\xa5\xe2\x07\x35\x3a\xee\x6f\xc1\x78\x63\x93\x59\x14\xd5\x1e\xeb\x25\xb4\xc6\x53\x7c\x92\x8c\xb0\x47\xd5\x26\xad\xa1\x45\xcb\x29\x9a\xbd\x9d\x6e\x4f\xa7\x9e\xc4\x23\xe5\x3e\x48\xf7\x3a\x79\xe3\xd6\xa4\xc6\x30\x2f\xab\xcf\xe2\x06\xde\x18\xa3\xca\x68\x48\xa6\x06\xd7\x6d\xe2\xec\xf2\x68\x3a\xa5\x40\x2b\x88\x10\x5e\xb6\xe8\x3b\x4b\x5d\x20\xe2\xd2\x8c\xef\x2c\x36\xe6\xc0\x0d\x21\xe0\xbc\xc1\xc5\x51\xa0\xf4\x08\xfa\x85\x8b\x6a\x82\xc2\x03\x2a\x32\xdd\x3a\xea\x9d\x94\x5b\xac\x8b\xdb\xef\x0d\x81\x6e\x63\xc9\xc7\x14\x5d\xe1\xb6\xf4\x4b\x86\xbd\x61\x1c\x43\x49\xd0\x28\xe7\x16\x98\x0d\x61\x1e\x90\xde\xa1\xda\x16\xd4\x0c\x0f\x7c\xb1\xab\xd7\x03\xf0\xcd\x5a\xad\x93\x0c\xeb\x69\x6d\xc6\x92\xb2\x87\x8e\x17\x9d\xf2\xfd\x3d\x5b\xec\x61\x50\x5e\xe9\x3f\x1a\x40\x46\x8f\x02\x23\x58\x5b\x74\x71\x44\xda\x32\x48\x37\xd1\xd0\xe4\x01\x38\x08\xd5\xe1\xd9\xb5\x70\x65\x95\x72\xe7\xdb\x6f\x53\x6b\x3a\x3b\x49\xff\x5d\x7d\xec\x21\x50\x2c\x03\x4d\xe7\x3c\x65\x30\x71\x72\xa2\x41\xc2\xa0\xc3\x6c\x8c\x09\xd1\x23\x18\x56\xea\xea\x8c\x3c\xb5\xe0\x33\xe8\x42\x0e\x58\xed\xd0\xdf\x9e\x5a\x9c\x2f\x56\xb2\x26\xd3\x6f\x25\xda\xbe\x83\x86\x7f\x13\x9a\xe1\x0b\xe6\xa8\xd1\xbe\x5a\x89\x00\x0e\x86\xcd\x95\x5f\x77\x9d\xac\xcf\xb0\x4d\xb4\x03\xbd\x5b\x14\xb2\x3d\xcc\xca\x5f\x83\xee\x95\x86\xcc\x3f\xdf\xbd\x22\x5a\x99\x68\x5e\x52\x47\x2f\x3e\xa3\x79\x7d\xc4\xd4\x32\xa4\xae\x54\x57\x23\x08\xc8\x93\x6a\x10\x83\x2b\x55\xe9\xa0\xd8\xb6\x32\x95\x23\x66\x84\x4f\x13\xdf\x73\x06\xbe\x60\x86\x80\xdc\x33\x1d\x9a\xd0\x6a\x93\x0e\x4d\x4f\x77\x4b\x50\xf2\x0e\xc1\xb5\x4a\x32\xe4\x6f\xa0\x6b\xa9\x6a\x64\x22\x0e\x75\x1d\x5e\xd0\xb0\x28\xb7\x9c\x6f\x1e\x5a\x15\x66\x53\x78\x7e\xdb\x4b\xce\x1a\xb7\xbd\x68\x7a\xf0\xe2\x0e\xfb\x2a\x45\x95\x2b\xbe\xa1\x6a\x71\xc1\x0d\xc5\xde\xe2\xb1\x94\x67\xa1\x28\xdb\x23\xcd\x79\x88\xd6\x94\xe1\x8b\x52\xa4\x1d\xfa\xf7\x5d\x4b\x63\x27\xd6\x7c\x80\xc2\x9f\xd0\x44\x6a\x5f\x83\xa2\xaa\xa4\xe3\x56\x7c\x08\x43\x3f\x1f\x8c\x03\x14\xf7\x95\xa8\x34\xc9\xd1\x0e\xda\xd8\x64\xb3\x98\xe6\x3b\x5f\xdc\xc0\xfd\x2d\xa7\x23\xb5\x89\x87\x52\xd6\x5f\xa2\x24\xc7\x3d\x72\x11\x35\x96\x03\x90\x31\xb4\x3c\x50\x67\x3e\xb5\xdc\x92\x83\x04\x61\x4c\xa7\xb7\x45\xf2\x24\x6a\xaf\x93\x1e\x1c\xab\x42\xc7\x5b\x40\xa3\x28\x13\x72\x7b\xae\xd8\xbf\x51\xd1\x89\x75\xcd\xdb\x8e\x27\xcc\x1a\xb7\x79\xaa\xb8\xa8\xa2\x74\xe7\x1a\xc6\x5a\x43\x3f\x53\x2b\x1c\x25\x7a\x3f\xae\x14\x58\xb1\xc6\x80\x25\xd8\xd4\x7d\xa4\x85\xa6\xc2\x2b\x93\x7e\xc1\x97\xf5\x5d\x26\xd4\xbc\x84\x5b\x2b\xb4\xdb\xa2\x35\x76\x99\x51\x59\xd8\x57\xa5\xe1\xb4\xc7\x96\x5d\x3f\xac\x90\x7d\x5d\xd2\x02\x4e\xe8\x3f\x27\x0d\x58\x95\x9b\x81\x34\x3d\xe3\x2c\xd7\x70\x3c\x5e\xa5\x1f\xcb\xb8\x02\x59\xd1\x3f\x8c\xee\xc6\xf8\x51\xa2\xaa\x63\xec\x59\x31\xae\x32\x86\x20\xe4\xe1\xb2\x83\x26\x66\x85\x82\xfa\x0f\x71\xf4\x22\xb0\x27\xc6\xfb\x43\xe9\x78\x52\xc3\x1a\x0e\x52\x84\x0d\x41\x14\x96\x1e\xcf\x17\xeb\x38\xc3\x15\x14\xdf\x8d\x56\x32\xb1\x5e\x51\xa8\x6d\x8c\xb9\xbb\x43\x64\xf4\x65\x6c\x68\x4d\xf4\x9c\x07\xba\x12\x0b\xb2\xbe\x31\x2a\x37\x58\x0e\x92\x51\x61\x12\xaf\x46\xe7\xad\x39\x61\x5d\x82\xb7\x9f\x89\xea\x78\x37\x74\x1c\x2e\x59\xba\xb6\x16\x1e\xfb\x92\xf9\x82\xda\xba\x17\x8a\x23\x40\x9d\x4a\x59\x0c\x75\x7e\x45\xd8\xa5\xdc\xa1\xb8\xb0\xab\xd9\x20\xea\x64\xa8\x00\xcd\x02\x02\xcb\x88\x2e\xd0\x5c\x3d\x6a\x26\x8e\xeb\xb4\x1f\x76\xe8\x0b\x2f\x7b\x03\x61\x22\xc6\xad\xb1\x41\x6a\x2a\xe0\xa3\x3d\xe8\xf9\x1c\x20\x19\xac\xb4\x36\x4c\xcc\xc1\x6a\xdc\xc5\x23\xdc\x74\xad\x68\x1a\xc6\xe6\xd4\x77\xc2\x44\x1d\xbd\xb1\x1a\xc7\x53\x5a\xff\x84\x82\x4b\xea\x52\xec\x6c\x44\x75\x37\x5f\x8c\xa1\x94\xc5\x09\x24\xc5\xee\x2e\xa6\xf6\x67\xc0\x10\x3e\xb2\x49\x19\x34\x81\x38\x2e\xa1\x0a\xb8\x0c\xe9\x86\x34\x09\x99\x7d\xb3\xfa\xe6\x06\xae\x6e\x07\xf6\x4e\xe0\x8b\xfd\x10\x6d\x5f\x77\x36\x2d\xac\x86\xca\xa7\x35\x86\x33\xb1\x90\x70\x81\xa5\x5a\x42\xf7\xc9\xbe\x58\x5f\x3d\x22\x63\x29\x0c\xc9\x32\x00\x46\xff\xeb\xf6\x95\x40\x56\xac\xf9\xa3\x14\x02\x2e\xc7\x8c\x80\xea\x72\x05\x1a\xc7\x32\x61\x11\xf0\x53\x8b\x95\xc7\x7a\x9c\x41\x3c\xd9\xe5\x66\xd5\x8f\xda\x24\xdb\x32\x58\x0f\x4f\x21\x9f\x74\x9f\x08\x71\x8e\xe4\xed\x6b\x21\x4b\x41\x9e\xa0\x1e\x2b\x76\x96\x09\x7f\xa2\x1f\x8f\x02\xe7\xfa\x1a\xde\xa0\x32\xc7\x38\x94\x92\x29\x06\x3b\xf2\x04\xdd\x5c\x67\x23\x30\xb5\x9d\x7e\xe9\x65\x13\xbf\xbd\x70\xef\x1a\xd3\x63\x93\xec\x30\x75\xdc\xe1\x9e\xac\x15\x8c\xc7\x72\xa3\x89\x0d\x2f\x02\xbd\xf2\xfb\xda\x2a\x6c\x6d\x57\x50\xd0\x97\xdb\xb3\xf4\x72\xef\xbb\x0d\x49\x33\x37\xdb\xd0\x96\xff\xfa\xfd\xfd\x04\xa5\x87\xef\xe6\x8b\x71\x46\x03\x8f\x34\x8c\x0b\xee\x4b\xb2\x37\x0c\x14\xca\x98\x7e\x00\x54\x6e\xaa\x04\x64\x60\xc3\xe3\x5e\xd3\xfa\x13\xd4\x92\x3d\x26\xec\x29\x4d\x38\x29\xf8\x78\xb0\x62\xdf\x66\x33\x1c\xf7\x06\x6a\xa3\x5f\xf8\x29\xca\xfd\x86\x7f\xd2\x3e\x4b\x70\x5d\xb5\x27\x26\xe5\xeb\xf7\x47\xe9\xab\xfd\xc6\x08\x5b\xaf\x97\xb0\xe6\x67\x6f\x8d\x3d\x0a\x9a\x6d\xd7\x80\xbe\x5a\x5d\x34\xc5\xc3\xc5\x91\xa6\x6c\xb2\x61\x3a\x88\xbb\x91\x12\xbf\xf5\x88\x83\x01\x9c\x74\x03\x54\x74\x31\x82\x9f\x07\xb7\x46\x0e\x88\x42\x27\xf7\x4d\xa6\xc0\x3f\x88\xc8\xbf\xe0\xd5\x2b\xd8\x0a\xe5\xf0\x92\x42\x13\x5b\x8c\x75\xa8\xd8\xeb\xbe\xeb\x31\xdd\x17\xae\x58\xe3\xc2\xe4\x06\x43\xe3\x71\xbc\xc5\x48\x84\xc9\x2e\xe7\xf7\xbf\xf4\xe8\x3f\xd9\xaf\x8a\xca\xfc\xdd\x13\x03\xfc\xeb\x30\xb5\xf7\xe3\x78\x6a\x21\x0a\x1d\x97\x5e\xcd\x88\xe7\xf7\x4e\xa8\xf0\xd7\xc4\x2c\x3f\x31\xc1\x3f\xab\x9f\xc5\x19\x3b\xa7\x24\xf5\xb4\x71\x92\x5e\xfd\x3c\x84\xf6\x69\xa7\xd0\xb7\x07\xca\x0b\xba\x73\xbe\x40\xb8\xbe\x86\xf8\x95\x2b\xac\x2a\x85\xca\x65\x16\xd6\x01\x90\xac\x79\xa8\x8d\x98\x25\xa4\x6d\x54\xa9\xdf\xe9\xf2\x17\xd2\x29\xe2\x11\x50\x6d\x70\x27\xb5\x66\x64\x58\xa2\x9a\xfe\xbb\xef\xc4\xed\x27\x7b\x7b\x10\x70\x3e\x7c\xbc\x80\x97\x8f\xfb\xf2\x6f\x39\x1c\xc7\x78\x80\xcb\x53\x9c\x96\x7b\xbf\x11\xbe\xe2\x4f\xad\xe9\xb8\x08\xc3\xf5\x78\x39\x93\xde\x5f\x72\xf1\xc3\x73\x27\x68\x51\xd7\x34\x3d\xbb\x21\x3e\x3c\x8b\xa7\xb3\x4a\xf2\x39\xf3\xf3\x54\x5b\x18\xf7\x04\x9a\x2b\x9d\x43\x3b\x40\xc5\x95\xd1\x95\x45\x1f\x9b\x5e\x34\x4f\xff\x8d\x2a\xc3\xf6\x14\x80\x63\x7a\xb1\x03\x0c\x86\xd5\x3c\xe1\x26\xec\x15\xa9\x3d\x23\x7f\x49\x97\x95\x74\xef\xb4\xf3\x64\x95\x79\x99\x12\x8b\x1b\x98\xf6\xfe\x0f\x01\xbd\x25\xeb\xf3\x77\xdf\xca\x34\xad\xf0\x83\xc9\x88\xf4\xbb\xb0\x6b\x1b\x7f\x67\x63\x31\x1e\x07\xb9\x7c\x24\x83\x5c\x6f\x2e\xec\xdb\xd2\xb7\xb8\xc1\xb6\x6d\xf4\x39\x8e\x09\x7d\x21\x54\x3c\x99\x39\xff\x97\x1e\x0f\x45\x5e\xfc\xa1\x3c\x72\x5d\xf3\x64\x02\xf5\xa1\xf3\x68\x6d\x1c\x25\x0e\x7f\x06\xc2\x9f\x08\x5e\xc4\x9c\x51\xca\x1c\x1d\x8f\x9a\xe1\xff\xf9\x30\xf1\x4c\xd1\x7b\x38\xde\xf6\x82\x52\xed\xec\xf3\x23\x3c\x91\x3f\x63\x96\xf3\xcf\xde\x33\x9f\x2f\x8c\xfb\xb1\x44\xe3\x51\x9d\x22\x8f\x68\x8a\x60\x4a\x86\xcb\x43\x61\x2f\x5b\x08\xca\xd5\xcb\x7f\xc1\x46\x53\x9b\x92\x49\xdb\x1c\x12\xe0\xc8\x68\x65\xba\xe0\x0c\xac\x34\x61\xb4\xa9\xae\x37\xa0\xcc\x86\xcb\xc0\x3a\x54\x94\xfc\x09\xb2\x11\xbe\xda\x17\xdf\x8f\xce\x13\xfa\x4b\x3b\x24\xb9\xe0\xe1\x3f\x01\x00\x00\xff\xff\x70\xcf\x1d\xc0\x4a\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x95, 0xf0, 0x96, 0x47, 0xec, 0x7c, 0xdc, 0x90, 0x39, 0x23, 0x32, 0x42, 0xf8, 0xfe, 0xc6, 0x4b, 0xe7, 0x83, 0x1b, 0xec, 0xc5, 0xa7, 0xb3, 0x64, 0x87, 0xc6, 0x2f, 0x25, 0x5f, 0xe0, 0xbc, 0x95}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd4, 0xf2, 0x6e, 0xf3, 0xca, 0xc6, 0xfd, 0xdd, 0x46, 0x62, 0x19, 0x83, 0x28, 0x14, 0x7c, 0x5, 0xbc, 0xb8, 0x69, 0xe5, 0xd8, 0xec, 0x1e, 0xc, 0x33, 0xeb, 0xac, 0x95, 0x3, 0xc, 0x84, 0x8f}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 45d7ba80..5fb66cc2 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -2,9 +2,9 @@
 // sources:
 // burn_tokens.cdc (1.718kB)
 // create_forwarder.cdc (3.03kB)
-// generic_transfer_with_address.cdc (2.1kB)
+// generic_transfer_with_address.cdc (2.102kB)
 // generic_transfer_with_paths.cdc (1.697kB)
-// metadata/setup_account_from_address.cdc (1.906kB)
+// metadata/setup_account_from_address.cdc (1.908kB)
 // metadata/setup_account_from_vault_reference.cdc (1.909kB)
 // mint_tokens.cdc (1.827kB)
 // privateForwarder/create_account_private_forwarder.cdc (2.025kB)
@@ -148,7 +148,7 @@ func create_forwarderCdc() (*asset, error) {
 	return a, nil
 }
 
-var _generic_transfer_with_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x53\xe3\x46\x10\x3d\xe3\x5f\xf1\xf0\x81\x95\xaa\x58\x71\x49\xe5\xe0\x62\x21\x84\x14\x39\x25\xb5\xb5\xf1\x92\x73\x5b\x6a\x5b\x53\xc8\x33\xaa\x99\x96\xbd\x14\xc5\x7f\x4f\xcd\x87\x06\xcb\x0b\x04\x0e\xd8\x6e\x4d\xbf\x7e\xfd\xfa\xf5\x48\x6d\x7b\x63\x05\x77\x83\xde\xa8\x55\xc7\x4b\xf3\xc0\x1a\x6b\x6b\xb6\x98\x4f\x62\xf3\xd9\x6b\x27\xff\x62\xa1\x86\x84\xee\x15\xef\xdd\x6b\x69\x93\x03\xf3\xd9\xec\xe2\xe2\x02\xb7\xa4\xd1\x93\x73\x50\x1a\xa4\x1f\x51\x1b\x2d\x96\x6a\x01\x35\x8d\x65\xe7\x40\xba\x81\xa6\x2d\x43\x0c\xc4\x92\x76\x6b\xb6\x20\xc8\x0b\x37\x69\x49\x72\x5e\x00\x5d\xb6\xca\xa1\x63\x71\x78\x34\x03\xea\xd6\x18\xc7\x90\x96\x53\x96\x0f\xee\x49\x8b\x87\x74\xac\x1b\x9f\x13\xf2\x6e\x0e\x09\xd4\xa4\xb1\x62\x9f\xed\x58\xa3\x65\xcb\xe7\x70\x06\x7b\xea\x02\xb2\x6b\xcd\xd0\x35\xa8\x5b\xae\x1f\x40\x76\x33\x6c\x59\x0b\x76\xd4\x0d\xec\x02\x98\x18\x6c\xe9\x81\xe1\x06\x1b\x8b\x2b\x2d\xac\x1b\x6e\x12\x8b\x9e\xa4\x85\x72\xa1\x7b\x6e\xa0\x74\xa0\x11\x5a\xa4\x5a\x94\xd1\x05\x6d\xcd\xa0\x65\x81\xef\x77\xea\xc7\xaf\xbf\x9c\x43\xcc\x02\x37\x51\x96\xf3\xcc\x33\x05\x5e\x79\xf2\x37\x6d\x79\x81\x7f\xc4\x2a\xbd\x29\xf1\x34\x9b\x01\x40\x50\x87\x71\x4f\x43\x27\xb0\xec\xcc\x60\x6b\x8e\x12\xb6\xa6\x6b\xdc\x8b\x4c\x2e\x46\xc9\x32\x56\xac\xf4\x26\xab\x6f\xb9\x09\x50\x1d\x0b\x84\xb7\x7d\xc0\x5a\xe0\xb7\xa7\xc9\xb0\xab\x10\x7e\xce\x55\xef\x96\x21\xf0\x07\x09\xc1\x89\x1d\xea\x20\xff\x86\x25\x08\x11\xfd\x92\x61\x77\xe3\xd1\xc5\x3b\x16\xab\x0e\x20\x63\x99\xde\x72\x4f\x96\x0b\xa7\x36\x9a\xed\x02\x34\x48\x5b\xfc\x6e\xac\x35\xfb\x7b\x3f\x98\x12\x67\x37\x75\xed\x45\xcd\x7a\x24\x76\xf1\x10\x08\x96\xd7\x6c\x59\xd7\xd1\x6f\x2d\x47\x2a\x70\x62\x2c\x37\x30\x3a\xc4\xd2\xc8\x28\x62\x81\xe4\x30\xda\x0f\xab\x4e\xd5\x5f\x49\xda\x5c\xc0\xb7\xe4\xb5\xee\x76\x6c\xbf\xf1\x1a\x5f\x7c\xdf\x89\x49\x71\x34\xc8\x32\x67\xf9\xbf\x6a\x7c\xea\xaa\x55\xa0\x78\x79\x36\x11\xe4\xaa\xd0\x61\xca\x87\x33\x9f\x22\x5c\x5f\xa3\x27\xad\xea\x62\x7e\x1b\x0c\xab\x8d\x60\xf5\x66\xb7\xeb\x04\x9e\x3c\x3a\xc2\xce\xcb\x89\x5a\xdf\x5d\xb2\xcc\x24\xdf\xb2\x58\xc5\xbb\x68\xf6\xbb\xa5\x9f\x11\x72\x96\xe3\x6e\x5d\xe5\xb1\xe2\xcb\xa1\x1e\x55\xfa\x7e\x9b\xaa\xf9\xcc\x62\xf4\xe6\xf2\xb1\xe7\x05\xb4\xea\xce\xb1\x53\xbc\x8f\x3f\xfd\xff\xcb\x8f\x39\xe3\xaa\x28\x4b\x90\x3b\xfd\xa0\x91\xae\xff\x57\xbc\x44\x76\xec\x32\xb7\xe4\xd9\x61\x6d\x6c\x78\xb0\x51\x3b\xd6\xb9\xe4\xfb\x6a\xfe\xc9\xf2\xda\x28\xa2\x89\x3f\xb9\xd1\x7b\x41\xbc\x89\xa5\x42\x24\xfa\x29\x1e\xae\xfc\x51\xda\xf0\xe8\x95\xe0\xff\xe9\x56\xfe\xab\xa4\x6d\x2c\xed\x4b\x9c\x1d\xed\xeb\x57\x6b\x76\xaa\x61\xfb\x7c\x55\xf8\x5d\x5c\x1c\x8d\x6c\xc4\xf6\xc6\x2e\x67\x27\x27\x27\xef\x18\xeb\xa7\x5e\xcc\x3e\xb6\x12\xd4\x3a\x3d\xec\x3f\x14\xc9\xb7\x08\x2e\x3f\xe7\xae\xaa\x7d\xa2\x9a\xef\xc1\xf8\x19\xed\x9d\x2e\x16\xfe\xc1\xf5\x20\x8c\xa7\xa3\x5d\xab\x55\xaf\xfc\x7d\x3c\xd9\x34\x31\xe5\xf1\x31\x56\x79\x25\x73\x52\x55\x53\x4f\x2b\xd5\x29\x51\xfc\xb2\x76\x47\x6a\x7d\x4b\xb9\xcf\x57\xc5\x91\x4e\x23\x6a\x14\xea\x83\xab\xf8\x93\x62\x99\xcd\x27\x87\xb1\xd6\xe9\x91\x71\x96\xe3\xeb\x30\xdd\xd7\xe9\x6d\xf8\x86\x75\x0e\x90\x03\x1a\x72\x9b\x8f\x19\xf4\x40\x91\xaa\xe1\xde\x38\x25\xc9\x0c\x97\x9f\xa7\x93\x1a\xa7\xf0\xfc\x5f\x00\x00\x00\xff\xff\x12\x91\xfc\xab\x34\x08\x00\x00"
+var _generic_transfer_with_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x6f\xdb\x46\x10\x3d\x5b\xbf\xe2\x59\x87\x84\x04\x1c\xfa\x52\xf4\x20\x38\x76\x5d\x17\xee\xa9\x45\x90\x2a\xee\x79\x44\x8e\xc4\x85\xa9\x5d\x62\x77\x28\xc5\x30\xf4\xdf\x8b\xfd\xe0\x46\x54\x6c\xd7\x3e\x58\xd2\x70\xe7\xcd\x9b\x37\x6f\x96\x6a\xdb\x1b\x2b\xb8\x1f\xf4\x46\xad\x3a\x5e\x9a\x47\xd6\x58\x5b\xb3\xc5\x7c\x12\x9b\xcf\x5e\x3a\xf9\x17\x0b\x35\x24\xf4\xa0\x78\xef\x5e\x4a\x9b\x1c\x98\xcf\x66\x97\x97\x97\xb8\x23\x8d\x9e\x9c\x83\xd2\x20\xfd\x84\xda\x68\xb1\x54\x0b\xa8\x69\x2c\x3b\x07\xd2\x0d\x34\x6d\x19\x62\x20\x96\xb4\x5b\xb3\x05\x41\x7e\x70\x93\x96\x24\xe7\x05\xd0\x65\xab\x1c\x3a\x16\x87\x27\x33\xa0\x6e\x8d\x71\x0c\x69\x39\x65\xf9\xe0\x9e\xb4\x78\x48\xc7\xba\xf1\x39\x21\xef\xf6\x98\x40\x4d\x1a\x2b\xf6\xd9\x8e\x35\x5a\xb6\x7c\x01\x67\xb0\xa7\x2e\x20\xbb\xd6\x0c\x5d\x83\xba\xe5\xfa\x11\x64\x37\xc3\x96\xb5\x60\x47\xdd\xc0\x2e\x80\x89\xc1\x96\x1e\x19\x6e\xb0\xb1\xb8\xd2\xc2\xba\xe1\x26\xb1\xe8\x49\x5a\x28\x17\xba\xe7\x06\x4a\x07\x1a\xa1\x45\xaa\x45\x19\x5d\xd0\xd6\x0c\x5a\x16\xf8\x76\xaf\xbe\xff\xfa\xcb\x05\xc4\x2c\x70\x1b\x65\xb9\xc8\x3c\x53\xe0\x85\x27\x7f\xd3\x96\x17\xf8\x47\xac\xd2\x9b\x12\xcf\xb3\x19\x00\x04\x75\x18\x0f\x34\x74\x02\xcb\xce\x0c\xb6\xe6\x28\x61\x6b\xba\xc6\xfd\x90\xc9\xc5\x28\x59\xc6\x8a\x95\xde\x64\xf5\x2d\x37\x01\xaa\x63\x81\xf0\xb6\x0f\x58\x0b\xfc\xf6\x3c\x19\x76\x15\xc2\x87\x5c\xf5\x7e\x19\x02\x7f\x90\x10\x9c\xd8\xa1\x0e\xf2\x6f\x58\x82\x10\xd1\x2f\x19\x76\x37\x1e\x5d\xbc\x61\xb1\xea\x08\x32\x96\xe9\x2d\xf7\x64\xb9\x70\x6a\xa3\xd9\x2e\x40\x83\xb4\xc5\xef\xc6\x5a\xb3\x7f\xf0\x83\x29\xf1\xe1\xb6\xae\xbd\xa8\x59\x8f\xc4\x2e\x1e\x02\xc1\xf2\x9a\x2d\xeb\x3a\xfa\xad\xe5\x48\x05\x4e\x8c\xe5\x06\x46\x87\x58\x1a\x19\x45\x2c\x90\x1c\x47\xfb\x61\xd5\xa9\xfa\x0b\x49\x9b\x0b\xf8\x96\xbc\xd6\xdd\x8e\xed\x57\x5e\xe3\xb3\xef\x3b\x31\x29\x4e\x06\x59\xe6\x2c\xff\x57\x8d\x4f\x5d\xb5\x0a\x14\xaf\x3e\x4c\x65\x3e\x5c\x17\x3a\xcc\xf9\x78\xea\x53\x8c\x9b\x1b\xf4\xa4\x55\x5d\xcc\xef\x82\x65\xb5\x11\xac\x5e\xed\x77\x9d\xd0\x93\x4b\x47\xd8\x79\x39\xd1\xeb\x9b\x4b\xa6\x99\xe4\x5b\x16\xab\x78\x17\xed\x7e\xbf\xf4\x53\x42\xce\x72\xdc\xad\xab\x3c\x58\x7c\x3e\x56\xa4\x4a\xdf\xef\x52\x35\x9f\x59\x8c\xee\x5c\x3e\xf5\xbc\x80\x56\xdd\x05\x76\x8a\xf7\xf1\xa7\xff\x7f\xf5\x3e\x6f\x5c\x17\x65\x09\x72\xe7\xef\xb4\xd2\xcd\xff\x8a\x97\xc8\x8e\x5d\xe6\x96\x3c\x3b\xac\x8d\x0d\x0f\x36\x6a\xc7\x3a\x97\x7c\x5b\xcd\x3f\x59\x5e\x1a\x45\xb4\xf1\x47\x37\xba\x2f\x88\x37\x31\x55\x88\x44\x47\xc5\xc3\x95\x3f\x4a\x1b\x1e\xdd\x12\x36\x60\xba\x97\xff\x2a\x69\x1b\x4b\xfb\x12\x27\x56\xaa\xbe\x58\xb3\x53\x0d\xdb\xc3\x75\xe1\xb7\x71\x71\x32\xb2\x11\xdb\x5b\xbb\x9c\x9d\x9d\x9d\xbd\x61\xac\x9f\x7a\x31\xfb\xd8\x4a\x50\xeb\xfc\xb8\xff\x50\x24\xdf\x23\xb8\xfa\x94\xbb\xaa\xf6\x89\x6a\xbe\x09\xe3\x67\xb4\x77\xba\x5a\xf8\x3b\xd7\x83\x30\x9e\x4f\xb6\xad\x56\xbd\xf2\x37\xf2\x64\xd7\xc4\x94\xa7\xc7\x58\xe5\xa5\xcc\x49\x55\x4d\x3d\xad\x54\xa7\x44\xf1\x6b\x8b\x57\x7d\x4d\xb9\x87\xeb\xe2\x44\xa7\x11\x35\x0a\xf5\xce\x55\xfc\x49\xb1\xcc\xe6\xa3\xc3\x58\xeb\xfc\xc4\x38\xcb\xf1\x85\x98\x6e\xec\xf4\x3e\x7c\xc5\x3a\x47\xc8\x01\x0d\xb9\xcd\xa7\x0c\x7a\xa4\x48\xd5\x70\x6f\x9c\x92\x64\x86\xab\x4f\xd3\x49\x8d\x53\x38\xfc\x17\x00\x00\xff\xff\xd0\xf0\xc1\x85\x36\x08\x00\x00"
 
 func generic_transfer_with_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -164,7 +164,7 @@ func generic_transfer_with_addressCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "generic_transfer_with_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb9, 0x4a, 0xf4, 0x63, 0x63, 0x28, 0x2, 0xe, 0x4f, 0x4d, 0x7b, 0x6a, 0xf8, 0x97, 0x44, 0xa6, 0x87, 0xf8, 0xef, 0x51, 0xd7, 0xe6, 0xef, 0xad, 0x96, 0xea, 0x6d, 0x6c, 0xe7, 0xab, 0x13, 0xe7}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x39, 0xf2, 0x2d, 0x74, 0x1d, 0xb7, 0x2, 0xb7, 0x10, 0x3a, 0xbe, 0x8f, 0xec, 0xee, 0xef, 0xf2, 0x14, 0x2b, 0x75, 0xd2, 0xfd, 0xd2, 0x20, 0x62, 0x0, 0xe2, 0xba, 0x4, 0xc, 0x1b, 0xec, 0xee}}
 	return a, nil
 }
 
@@ -188,7 +188,7 @@ func generic_transfer_with_pathsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _metadataSetup_account_from_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x54\x4d\x6f\xe3\x36\x14\xbc\xeb\x57\x4c\x7d\x08\x64\xc0\x2b\xdf\x0d\x27\xc1\xd6\x6d\x6e\x2d\x8a\xac\x9b\xfb\x33\xf5\x64\x11\x2b\x93\x02\xf9\x64\x35\x08\xf2\xdf\x0b\x52\x1f\x91\x12\x27\x01\xb2\x3a\x18\x32\xdf\xe7\x0c\x67\xa4\x4f\xb5\x75\x82\xbb\xc6\x1c\xf5\xa1\xe2\xbd\xfd\xc9\x06\x85\xb3\x27\x2c\x66\x67\x8b\xe4\x52\xe6\x5f\x2c\x94\x93\xd0\x83\xe6\xd6\x5f\x2a\x9b\x25\x2c\x92\x64\xbd\x5e\x63\x5f\x6a\x0f\x71\x64\x3c\x29\xd1\xd6\x40\x7b\xb4\x25\x09\xc8\x80\x94\xb2\x8d\x11\xb4\xb6\xa9\x72\xb8\xc6\xc4\x0a\xb1\xf0\x2c\xd0\xe2\xb9\x2a\xd0\xd4\xe1\xe0\x44\x86\x8e\x8c\xa2\x9f\x06\x09\xe3\x7c\xd6\x75\x2f\x1a\x13\x5b\xc7\xea\xc6\xb3\xc7\x39\x6e\x28\x16\x3f\x8d\x6d\xd1\x96\xec\x78\x68\x1b\xfa\x95\x8c\x33\x35\x95\xc4\x02\x6d\xe0\xc5\xba\xd0\x9e\x4c\x1e\xd2\x94\x63\x12\x8e\x69\x7c\xaa\xe5\xb1\x4b\xce\x92\x64\x02\x23\x55\xd6\x88\x23\x25\xdf\xf3\xdc\xb1\xf7\x1b\xf4\x2f\x2b\x0c\x91\xbf\xe9\xc4\x1b\xfc\x10\xa7\xcd\x71\x89\xa7\x24\x01\x80\xda\x71\x4d\x8e\x53\xaf\x8f\x86\xdd\x06\xd4\x48\x99\xfe\xa0\x33\x3f\x50\xd5\xf0\x0a\x3b\xaa\xe9\xa0\x2b\x2d\x9a\xfd\x12\x57\xdf\x3b\x86\x42\x39\xfa\x67\xbd\xc6\xef\xd6\x39\xdb\x82\xe0\xb8\x60\xc7\x46\x45\x74\x23\xac\x88\x87\x73\x58\x13\xcf\x6a\xf2\x9e\xf3\x91\x6c\x92\xe9\x69\xdd\x1c\x2a\xad\xfe\x21\x29\xc7\x01\x15\x0b\x1c\x7b\x5b\x9d\xd9\xdd\x73\x81\x6b\x1c\x59\xfa\x45\x5e\xc3\x5e\x8e\x55\xe1\xc9\x86\xa8\xcf\x0e\x71\xc5\xed\xd5\x4c\x1f\x37\xa9\x89\x9c\x4c\x19\x9a\x77\xb8\xbd\x45\x4d\x46\xab\x74\xb1\x8b\x9a\x30\x56\x70\x78\x17\xed\x5c\x0e\x63\xdb\xc5\x32\x99\xb2\xf5\xaf\x0f\x77\x49\x32\xaf\x77\x2c\x4e\xf3\xb9\xbb\xe6\xbb\x7d\x90\x2c\x66\x14\x14\xf2\x10\xc8\xfc\x83\x84\x70\x3d\x25\x24\xeb\xdf\x77\xfd\xb8\x50\x9a\x86\xb3\xc6\x29\xde\x3f\xd6\xbc\x81\xd1\xd5\x2a\x8a\xb0\xfb\x1b\x7e\xb7\xef\x3b\x25\xbb\xdb\x8f\xa3\x6e\xd2\xe5\x12\xe4\x7f\xfb\xc0\x79\xd3\xf4\xdb\x4f\xd9\xeb\x97\x1d\x60\x8e\x90\xc2\x76\x28\xac\x8b\x81\xa3\x3e\xb3\x19\x47\x7e\x4c\xe7\xae\x73\x07\xc1\x70\x3b\xf5\x07\x1a\xaf\xcd\x31\xb6\xeb\x0c\xf4\x67\x88\xc5\x81\xa3\x43\xa1\x8d\xd7\xf9\x9b\x65\x66\xbc\xf3\x4b\xd9\xf6\xdb\xe4\x12\xb2\xd7\x5d\xd3\xf9\x5e\xc1\x44\xd0\x32\x68\xa3\x97\xfb\x98\xd1\x19\x2e\xeb\xad\x9e\x79\x3a\x73\xba\xfd\xf6\x32\x6c\x05\xb1\x9b\xe9\xa5\x0f\xa9\xc1\x1b\x2f\x22\xbd\xc8\x44\x67\x22\xa8\xc1\xbb\x8f\x23\xb1\x1d\x33\x6d\xa9\x55\x09\x6d\x54\xd5\xe4\xec\x63\x20\xbb\xef\x05\x05\x6d\x84\x5d\x41\x8a\x67\x2c\xc4\xc2\x1d\xd5\xb8\x1e\x36\x57\x93\x2f\xc3\x08\x43\x7b\xdf\xf0\xf6\xea\x69\xa6\x96\x2c\x62\x78\xbe\x49\x3f\x45\x73\xa9\x75\x04\xe3\xcb\x74\xd8\x60\x05\x92\x39\x31\xa7\x5e\x8d\x5d\xaf\x2f\x31\xc2\xff\xd5\x76\x94\x8b\x63\xc5\xfa\x7d\x2a\x86\xf0\x57\xd9\xb8\xef\xeb\x7f\x95\x90\xc9\x1e\x6f\x39\x19\x82\x13\x4e\x9e\x93\xe7\x04\xff\x07\x00\x00\xff\xff\xe5\x5e\x12\x03\x72\x07\x00\x00"
+var _metadataSetup_account_from_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x54\x4d\x6f\xe3\x36\x14\xbc\xeb\x57\x4c\x7d\x58\xc8\x80\x57\xbe\x1b\x4e\x82\xad\xdb\xdc\x5a\x14\x59\x37\xf7\x67\xea\xc9\x22\x56\x26\x05\xf2\xc9\x6a\xb0\xf0\x7f\x2f\x48\x7d\x44\x4a\x9c\x04\xc8\xea\x60\xc8\x7c\x9f\x33\x9c\x91\x3e\xd5\xd6\x09\xee\x1b\x73\xd4\x87\x8a\xf7\xf6\x07\x1b\x14\xce\x9e\xb0\x98\x9d\x2d\x92\x6b\x99\x7f\xb1\x50\x4e\x42\x8f\x9a\x5b\x7f\xad\x6c\x96\xb0\x48\x92\xf5\x7a\x8d\x7d\xa9\x3d\xc4\x91\xf1\xa4\x44\x5b\x03\xed\xd1\x96\x24\x20\x03\x52\xca\x36\x46\xd0\xda\xa6\xca\xe1\x1a\x13\x2b\xc4\xc2\xb3\x40\x8b\xe7\xaa\x40\x53\x87\x83\x13\x19\x3a\x32\x8a\x7e\x1a\x24\x8c\xf3\x59\xd7\xbd\x68\x4c\x6c\x1d\xab\x1b\xcf\x1e\xe7\xb8\xa1\x58\xfc\x30\xb6\x45\x5b\xb2\xe3\xa1\x6d\xe8\x57\x32\xce\xd4\x54\x12\x0b\xb4\x81\x17\xeb\x42\x7b\x32\x79\x48\x53\x8e\x49\x38\xa6\xf1\xa9\x96\xa7\x2e\x39\x4b\x92\x09\x8c\x54\x59\x23\x8e\x94\x7c\xcb\x73\xc7\xde\x6f\xd0\xbf\xac\x30\x44\xfe\xa6\x13\x6f\xf0\x5d\x9c\x36\xc7\x25\x7e\x26\x09\x00\xd4\x8e\x6b\x72\x9c\x7a\x7d\x34\xec\x36\xa0\x46\xca\xf4\x3b\x9d\xf9\x91\xaa\x86\x57\xd8\x51\x4d\x07\x5d\x69\xd1\xec\x97\xf8\xf2\xad\x63\x28\x94\xa3\x7f\xd6\x6b\xfc\x6e\x9d\xb3\x2d\x08\x8e\x0b\x76\x6c\x54\x44\x37\xc2\x8a\x78\x38\x87\x35\xf1\xac\x26\xef\x39\x1f\xc9\x26\x99\x9e\xd6\xcd\xa1\xd2\xea\x1f\x92\x72\x1c\x50\xb1\xc0\xb1\xb7\xd5\x99\xdd\x03\x17\xb8\xc1\x91\xa5\x5f\xe4\x25\xec\xe5\x58\x15\x9e\x6c\x88\xfa\xec\x10\x57\xdc\x7e\xf9\x39\x13\xc8\xe5\x36\x35\x91\x95\x29\x47\xf3\x1e\x77\x77\xa8\xc9\x68\x95\x2e\x76\x51\x15\xc6\x0a\x0e\x6f\xe2\x9d\x0b\x62\x6c\xbb\x58\x26\x53\xbe\xfe\xf5\xe1\x36\x49\xe6\xf5\x8e\xc5\x69\x3e\x77\x17\x7d\xbf\x0f\xa2\xc5\x8c\x84\x42\x1e\x03\x9d\x7f\x90\x10\x6e\xa6\x94\x64\xfd\xfb\xae\x1f\x17\x4a\xd3\x70\xd6\x38\xc5\xfb\xa7\x9a\x37\x30\xba\x5a\x45\x19\x76\x7f\xc3\xef\xf6\x6d\xaf\x64\xf7\xfb\x71\xd4\x6d\xba\x5c\x82\xfc\x6f\xef\x78\x6f\x9a\x7e\xf7\x21\x7b\xfd\xb2\x03\xcc\x11\x52\xd8\x0e\x85\x75\x31\x70\xd4\x67\x36\xe3\xc8\xf7\xe9\xdc\x75\xfe\x20\x18\x6e\xa7\x0e\x41\xe3\xb5\x39\xc6\x76\x9d\x85\xfe\x0c\xb1\x38\x70\xf4\x28\xb4\xf1\x3a\x7f\xb5\xcc\x8c\x77\x7e\x2e\xdb\x7e\x9d\x5c\x42\xf6\xb2\x6b\x3a\xdf\x2b\xd8\x08\x5a\x06\x6d\xf4\x82\x1f\x33\x3a\xcb\x65\xbd\xd9\x33\x4f\x67\x4e\xb7\x5f\x9f\x87\xad\x20\x76\x33\xbd\xf4\x21\x35\xb8\xe3\x59\xa4\x57\x99\xe8\x6c\x04\x35\xb8\xf7\x69\x24\xb6\x63\xa6\x2d\xb5\x2a\xa1\x8d\xaa\x9a\x9c\x7d\x0c\x64\x0f\xbd\xa0\xa0\x8d\xb0\x2b\x48\xf1\x8c\x85\x58\xb8\xa3\x1a\x37\xc3\xe6\x6a\xf2\x6d\x18\x61\x68\xef\x1b\x7e\xe9\xb3\x2c\x62\xb8\xdc\xa6\x1f\xa2\xb9\xd6\x3a\x82\xf1\x65\x3a\x6c\xb0\x02\xc9\x9c\x98\x53\xaf\xc6\xae\xd7\xa7\x18\xe1\xff\x6a\x3b\xca\xc5\xb1\x62\xfd\x36\x15\x43\xf8\xb3\x6c\x3c\xf4\xf5\xbf\x4a\xc8\x64\x8f\xd7\x9c\x0c\xc1\x09\x27\x97\xe4\x92\xe0\xff\x00\x00\x00\xff\xff\x5a\xbb\x0e\x5f\x74\x07\x00\x00"
 
 func metadataSetup_account_from_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -204,7 +204,7 @@ func metadataSetup_account_from_addressCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "metadata/setup_account_from_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0x9c, 0x89, 0x2b, 0x3d, 0xd4, 0xa8, 0xbb, 0x53, 0x93, 0x74, 0xac, 0x7a, 0x36, 0xb0, 0x66, 0xed, 0x3a, 0x77, 0xd4, 0xe0, 0x7c, 0x14, 0xff, 0x58, 0x20, 0xd9, 0x53, 0xf4, 0x42, 0xc5, 0xf}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x7e, 0x68, 0x5b, 0x80, 0xac, 0x50, 0xcc, 0x45, 0xdf, 0x8d, 0x62, 0x47, 0x8c, 0xc0, 0xfd, 0x1, 0x9f, 0x83, 0x8c, 0x89, 0xdc, 0xd7, 0x26, 0x35, 0x9b, 0x2e, 0x91, 0x15, 0xad, 0xdd, 0xa8}}
 	return a, nil
 }
 
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index 6c67044a..db86b41e 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -4,12 +4,12 @@ go 1.18
 
 require (
 	github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2
-	github.com/onflow/cadence v1.0.0-M5
-	github.com/onflow/flow-emulator v1.0.0-M3
-	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240205224107-320aa3cf09e0
-	github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240125205519-2e80d9b4bd01
-	github.com/onflow/flow-go-sdk v1.0.0-M2
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6
+	github.com/onflow/cadence v1.0.0-M8
+	github.com/onflow/flow-emulator v1.0.0-M8
+	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240213220156-959b70719876
+	github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240213220156-959b70719876
+	github.com/onflow/flow-go-sdk v1.0.0-M7
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
@@ -51,7 +51,7 @@ require (
 	github.com/fxamacker/circlehash v0.3.0 // indirect
 	github.com/getsentry/sentry-go v0.18.0 // indirect
 	github.com/glebarez/go-sqlite v1.22.0 // indirect
-	github.com/go-logr/logr v1.2.4 // indirect
+	github.com/go-logr/logr v1.4.1 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
 	github.com/go-ole/go-ole v1.2.6 // indirect
 	github.com/go-redis/redis/v8 v8.11.5 // indirect
@@ -61,37 +61,37 @@ require (
 	github.com/golang/glog v1.1.2 // indirect
 	github.com/golang/protobuf v1.5.3 // indirect
 	github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
-	github.com/google/uuid v1.5.0 // indirect
+	github.com/google/uuid v1.6.0 // indirect
 	github.com/gorilla/websocket v1.5.0 // indirect
-	github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect
+	github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect
 	github.com/hashicorp/errwrap v1.1.0 // indirect
 	github.com/hashicorp/go-multierror v1.1.1 // indirect
-	github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect
-	github.com/hashicorp/golang-lru/v2 v2.0.2 // indirect
+	github.com/hashicorp/golang-lru v1.0.2 // indirect
+	github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
 	github.com/hashicorp/hcl v1.0.0 // indirect
 	github.com/holiman/bloomfilter/v2 v2.0.3 // indirect
 	github.com/holiman/uint256 v1.2.3 // indirect
 	github.com/inconshreveable/mousetrap v1.1.0 // indirect
 	github.com/ipfs/bbloom v0.0.4 // indirect
-	github.com/ipfs/go-block-format v0.1.2 // indirect
+	github.com/ipfs/go-block-format v0.2.0 // indirect
 	github.com/ipfs/go-cid v0.4.1 // indirect
 	github.com/ipfs/go-datastore v0.6.0 // indirect
 	github.com/ipfs/go-ipfs-blockstore v1.3.0 // indirect
 	github.com/ipfs/go-ipfs-ds-help v1.1.0 // indirect
-	github.com/ipfs/go-ipfs-util v0.0.2 // indirect
-	github.com/ipfs/go-ipld-format v0.5.0 // indirect
+	github.com/ipfs/go-ipfs-util v0.0.3 // indirect
+	github.com/ipfs/go-ipld-format v0.6.0 // indirect
 	github.com/ipfs/go-log v1.0.5 // indirect
 	github.com/ipfs/go-log/v2 v2.5.1 // indirect
 	github.com/ipfs/go-metrics-interface v0.0.1 // indirect
 	github.com/jbenet/goprocess v0.1.4 // indirect
 	github.com/k0kubun/pp v3.0.1+incompatible // indirect
 	github.com/kevinburke/go-bindata v3.24.0+incompatible // indirect
-	github.com/klauspost/compress v1.16.5 // indirect
-	github.com/klauspost/cpuid/v2 v2.2.5 // indirect
+	github.com/klauspost/compress v1.17.4 // indirect
+	github.com/klauspost/cpuid/v2 v2.2.6 // indirect
 	github.com/kr/pretty v0.3.1 // indirect
 	github.com/kr/text v0.2.0 // indirect
 	github.com/libp2p/go-buffer-pool v0.1.0 // indirect
-	github.com/libp2p/go-libp2p v0.28.1 // indirect
+	github.com/libp2p/go-libp2p v0.32.2 // indirect
 	github.com/logrusorgru/aurora v2.0.3+incompatible // indirect
 	github.com/logrusorgru/aurora/v4 v4.0.0 // indirect
 	github.com/magiconair/properties v1.8.7 // indirect
@@ -99,24 +99,26 @@ require (
 	github.com/mattn/go-isatty v0.0.20 // indirect
 	github.com/mattn/go-runewidth v0.0.15 // indirect
 	github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
+	github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
 	github.com/minio/sha256-simd v1.0.1 // indirect
 	github.com/mitchellh/mapstructure v1.5.0 // indirect
 	github.com/mmcloughlin/addchain v0.4.0 // indirect
 	github.com/mr-tron/base58 v1.2.0 // indirect
 	github.com/multiformats/go-base32 v0.1.0 // indirect
 	github.com/multiformats/go-base36 v0.2.0 // indirect
-	github.com/multiformats/go-multiaddr v0.9.0 // indirect
+	github.com/multiformats/go-multiaddr v0.12.2 // indirect
 	github.com/multiformats/go-multibase v0.2.0 // indirect
 	github.com/multiformats/go-multicodec v0.9.0 // indirect
 	github.com/multiformats/go-multihash v0.2.3 // indirect
-	github.com/multiformats/go-multistream v0.4.1 // indirect
+	github.com/multiformats/go-multistream v0.5.0 // indirect
 	github.com/multiformats/go-varint v0.0.7 // indirect
 	github.com/olekukonko/tablewriter v0.0.5 // indirect
 	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
 	github.com/onflow/crypto v0.25.0 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101-928bf99024d7 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7 // indirect
-	github.com/onflow/flow-go v0.33.2-0.20240206235622-50f8c81f1f43 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-0e6ce7e3222b // indirect
+	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-0e6ce7e3222b // indirect
+	github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25122 // indirect
+	github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a // indirect
 	github.com/onflow/flow/protobuf/go/flow v0.3.7 // indirect
 	github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba // indirect
 	github.com/opentracing/opentracing-go v1.2.0 // indirect
@@ -125,15 +127,15 @@ require (
 	github.com/pierrec/lz4 v2.6.1+incompatible // indirect
 	github.com/pkg/errors v0.9.1 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
-	github.com/prometheus/client_golang v1.16.0 // indirect
-	github.com/prometheus/client_model v0.4.0 // indirect
-	github.com/prometheus/common v0.42.0 // indirect
-	github.com/prometheus/procfs v0.10.1 // indirect
+	github.com/prometheus/client_golang v1.18.0 // indirect
+	github.com/prometheus/client_model v0.5.0 // indirect
+	github.com/prometheus/common v0.45.0 // indirect
+	github.com/prometheus/procfs v0.12.0 // indirect
 	github.com/psiemens/graceland v1.0.0 // indirect
 	github.com/psiemens/sconfig v0.1.0 // indirect
 	github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
 	github.com/rivo/uniseg v0.4.4 // indirect
-	github.com/rogpeppe/go-internal v1.9.0 // indirect
+	github.com/rogpeppe/go-internal v1.10.0 // indirect
 	github.com/sethvargo/go-retry v0.2.3 // indirect
 	github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
 	github.com/slok/go-http-metrics v0.10.0 // indirect
@@ -157,33 +159,33 @@ require (
 	github.com/vmihailenco/tagparser v0.1.1 // indirect
 	github.com/x448/float16 v0.8.4 // indirect
 	github.com/zeebo/blake3 v0.2.3 // indirect
-	go.opentelemetry.io/otel v1.16.0 // indirect
+	go.opentelemetry.io/otel v1.22.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 // indirect
-	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 // indirect
-	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 // indirect
-	go.opentelemetry.io/otel/metric v1.16.0 // indirect
-	go.opentelemetry.io/otel/sdk v1.16.0 // indirect
-	go.opentelemetry.io/otel/trace v1.16.0 // indirect
-	go.opentelemetry.io/proto/otlp v0.19.0 // indirect
+	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect
+	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 // indirect
+	go.opentelemetry.io/otel/metric v1.22.0 // indirect
+	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
+	go.opentelemetry.io/otel/trace v1.22.0 // indirect
+	go.opentelemetry.io/proto/otlp v1.0.0 // indirect
 	go.uber.org/atomic v1.11.0 // indirect
 	go.uber.org/multierr v1.11.0 // indirect
-	go.uber.org/zap v1.24.0 // indirect
-	golang.org/x/crypto v0.17.0 // indirect
-	golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc // indirect
+	go.uber.org/zap v1.26.0 // indirect
+	golang.org/x/crypto v0.18.0 // indirect
+	golang.org/x/exp v0.0.0-20240119083558-1b970713d09a // indirect
 	golang.org/x/mod v0.14.0 // indirect
-	golang.org/x/net v0.19.0 // indirect
-	golang.org/x/sync v0.5.0 // indirect
-	golang.org/x/sys v0.15.0 // indirect
+	golang.org/x/net v0.20.0 // indirect
+	golang.org/x/sync v0.6.0 // indirect
+	golang.org/x/sys v0.16.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	golang.org/x/tools v0.16.1 // indirect
+	golang.org/x/tools v0.17.0 // indirect
 	golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
-	gonum.org/v1/gonum v0.13.0 // indirect
-	google.golang.org/appengine v1.6.7 // indirect
-	google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b // indirect
-	google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b // indirect
-	google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 // indirect
-	google.golang.org/grpc v1.59.0 // indirect
-	google.golang.org/protobuf v1.31.0 // indirect
+	gonum.org/v1/gonum v0.14.0 // indirect
+	google.golang.org/appengine v1.6.8 // indirect
+	google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 // indirect
+	google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect
+	google.golang.org/grpc v1.60.1 // indirect
+	google.golang.org/protobuf v1.32.0 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 	lukechampine.com/blake3 v1.2.1 // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 17ee2632..1f5e082b 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -1288,6 +1288,8 @@ github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV
 github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
 github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
+github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
+github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
 github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
 github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8=
@@ -1448,6 +1450,8 @@ github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
 github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
 github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
+github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
 github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
 github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
@@ -1489,6 +1493,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 h1:Wqo399gCIufwto+VfwCSvsnfGpF/w5E9CNxSwbpD6No=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU=
 github.com/guptarohit/asciigraph v0.5.5/go.mod h1:dYl5wwK4gNsnFf9Zp+l06rFiDZ5YtXM6x7SRWZ3KGag=
 github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
@@ -1505,8 +1511,12 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ
 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs=
 github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
+github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c=
+github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
 github.com/hashicorp/golang-lru/v2 v2.0.2 h1:Dwmkdr5Nc/oBiXgJS3CDHNhJtIHkuZ3DZF5twqnfBdU=
 github.com/hashicorp/golang-lru/v2 v2.0.2/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
+github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
+github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
 github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
 github.com/holiman/billy v0.0.0-20230718173358-1c7e68d277a7/go.mod h1:5GuXa7vkL8u9FkFuWdVvfR5ix8hRB7DbOAaYULamFpc=
@@ -1546,6 +1556,8 @@ github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyq
 github.com/ipfs/boxo v0.10.0 h1:tdDAxq8jrsbRkYoF+5Rcqyeb91hgWe2hp7iLu7ORZLY=
 github.com/ipfs/go-block-format v0.1.2 h1:GAjkfhVx1f4YTODS6Esrj1wt2HhrtwTnhEr+DyPUaJo=
 github.com/ipfs/go-block-format v0.1.2/go.mod h1:mACVcrxarQKstUU3Yf/RdwbC4DzPV6++rO2a3d+a/KE=
+github.com/ipfs/go-block-format v0.2.0 h1:ZqrkxBA2ICbDRbK8KJs/u0O3dlp6gmAuuXUJNiW1Ycs=
+github.com/ipfs/go-block-format v0.2.0/go.mod h1:+jpL11nFx5A/SPpsoBn6Bzkra/zaArfSmsknbPMYgzM=
 github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog=
 github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s=
 github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk=
@@ -1561,8 +1573,12 @@ github.com/ipfs/go-ipfs-ds-help v1.1.0 h1:yLE2w9RAsl31LtfMt91tRZcrx+e61O5mDxFRR9
 github.com/ipfs/go-ipfs-ds-help v1.1.0/go.mod h1:YR5+6EaebOhfcqVCyqemItCLthrpVNot+rsOU/5IatU=
 github.com/ipfs/go-ipfs-util v0.0.2 h1:59Sswnk1MFaiq+VcaknX7aYEyGyGDAA73ilhEK2POp8=
 github.com/ipfs/go-ipfs-util v0.0.2/go.mod h1:CbPtkWJzjLdEcezDns2XYaehFVNXG9zrdrtMecczcsQ=
+github.com/ipfs/go-ipfs-util v0.0.3 h1:2RFdGez6bu2ZlZdI+rWfIdbQb1KudQp3VGwPtdNCmE0=
+github.com/ipfs/go-ipfs-util v0.0.3/go.mod h1:LHzG1a0Ig4G+iZ26UUOMjHd+lfM84LZCrn17xAKWBvs=
 github.com/ipfs/go-ipld-format v0.5.0 h1:WyEle9K96MSrvr47zZHKKcDxJ/vlpET6PSiQsAFO+Ds=
 github.com/ipfs/go-ipld-format v0.5.0/go.mod h1:ImdZqJQaEouMjCvqCe0ORUS+uoBmf7Hf+EO/jh+nk3M=
+github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U=
+github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg=
 github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8=
 github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo=
 github.com/ipfs/go-log/v2 v2.1.3/go.mod h1:/8d0SH3Su5Ooc31QlL1WysJhvyOTDCjcCZ9Axpmri6g=
@@ -1638,6 +1654,8 @@ github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHU
 github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4=
 github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI=
 github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
+github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4=
+github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM=
 github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
 github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
 github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
@@ -1645,6 +1663,8 @@ github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuOb
 github.com/klauspost/cpuid/v2 v2.2.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
 github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
 github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
+github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc=
+github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
 github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg=
 github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -1677,6 +1697,8 @@ github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QT
 github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c=
 github.com/libp2p/go-libp2p v0.28.1 h1:YurK+ZAI6cKfASLJBVFkpVBdl3wGhFi6fusOt725ii8=
 github.com/libp2p/go-libp2p v0.28.1/go.mod h1:s3Xabc9LSwOcnv9UD4nORnXKTsWkPMkIMB/JIGXVnzk=
+github.com/libp2p/go-libp2p v0.32.2 h1:s8GYN4YJzgUoyeYNPdW7JZeZ5Ee31iNaIBfGYMAY4FQ=
+github.com/libp2p/go-libp2p v0.32.2/go.mod h1:E0LKe+diV/ZVJVnOJby8VC5xzHF0660osg71skcxJvk=
 github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLEQHwOCZ7s8s=
 github.com/libp2p/go-libp2p-kbucket v0.6.3 h1:p507271wWzpy2f1XxPzCQG9NiN6R6lHL9GiSErbQQo0=
 github.com/libp2p/go-libp2p-pubsub v0.9.3 h1:ihcz9oIBMaCK9kcx+yHWm3mLAFBMAUsM4ux42aikDxo=
@@ -1737,6 +1759,8 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5
 github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
 github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
+github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg=
+github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k=
 github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg=
 github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ=
 github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8=
@@ -1780,6 +1804,8 @@ github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9
 github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4=
 github.com/multiformats/go-multiaddr v0.9.0 h1:3h4V1LHIk5w4hJHekMKWALPXErDfz/sggzwC/NcqbDQ=
 github.com/multiformats/go-multiaddr v0.9.0/go.mod h1:mI67Lb1EeTOYb8GQfL/7wpIZwc46ElrvzhYnoJOmTT0=
+github.com/multiformats/go-multiaddr v0.12.2 h1:9G9sTY/wCYajKa9lyfWPmpZAwe6oV+Wb1zcmMS1HG24=
+github.com/multiformats/go-multiaddr v0.12.2/go.mod h1:GKyaTYjZRdcUhyOetrxTk9z0cW+jA/YrnqTOvKgi44M=
 github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A=
 github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs=
 github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g=
@@ -1791,6 +1817,8 @@ github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7B
 github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM=
 github.com/multiformats/go-multistream v0.4.1 h1:rFy0Iiyn3YT0asivDUIR05leAdwZq3de4741sbiSdfo=
 github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqdtyNUEhKSM0Lwar2p77Q=
+github.com/multiformats/go-multistream v0.5.0 h1:5htLSLl7lvJk3xx3qT/8Zm9J4K8vEOf/QGkvOGQAyiE=
+github.com/multiformats/go-multistream v0.5.0/go.mod h1:n6tMZiwiP2wUsR8DgfDWw1dydlEqV3l6N3/GBsX6ILA=
 github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
 github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
 github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
@@ -1817,32 +1845,48 @@ github.com/onflow/cadence v1.0.0-M4 h1:/nt3j7vpYDxuI0ghIgAJrb2R01ijvJYZLAkKt+zbp
 github.com/onflow/cadence v1.0.0-M4/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
 github.com/onflow/cadence v1.0.0-M5 h1:vNG7x2KLLrt2yfVr1HtEXUlUi4GdNo+rkXnPkhSzsFA=
 github.com/onflow/cadence v1.0.0-M5/go.mod h1:a4mccDU90hmuxCLUFzs9J/ANG/rYbFa36h4Z0bBAqNU=
+github.com/onflow/cadence v1.0.0-M8 h1:ioQ7TyhpsIaImAC7Xn2r8kIgIBdimvyuWeKlGfRxWB8=
+github.com/onflow/cadence v1.0.0-M8/go.mod h1:a4mccDU90hmuxCLUFzs9J/ANG/rYbFa36h4Z0bBAqNU=
 github.com/onflow/crypto v0.25.0 h1:BeWbLsh3ZD13Ej+Uky6kg1PL1ZIVBDVX+2MVBNwqddg=
 github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d h1:Afcfk/9jAQZ1v5PLGdP68FG/0yPPM60fn9Eq8ChBGS0=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d/go.mod h1:Ts/HN+N0RaYJ6oPCqR1JPaMVFiVaMdKTSUH4OdSjjs0=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101-928bf99024d7 h1:OI/4F2NK/X/4x3dTUFFDGtuOsSa9pX+jjBeSEcBrY/M=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101-928bf99024d7/go.mod h1:GK+Ik1K3L3v8xmHmRQv5yxJz81lYhdYSNm0PQ63Xrws=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-0e6ce7e3222b h1:oXHQft30sElpK7G3xWB5tEizI2G+S4p64iVh0LtX4E0=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-0e6ce7e3222b/go.mod h1:At+gEXmy13wpvxHYlS8bqjKEBufL+UXMQpJyHQxiXY8=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d h1:IQJpP3VLLjT4R8ItBpr+Mmp0IOnC/8iBcM0/67JNB9c=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d/go.mod h1:MZ2j5YVTQiSE0B99zuaYhxvGG5GcvimWpQK1Fw/1QBg=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7 h1:WAx8ftVz1BeXiKvQ9gLKEf1J3NBWK26Pbczd0iH4C6I=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7/go.mod h1:MZ2j5YVTQiSE0B99zuaYhxvGG5GcvimWpQK1Fw/1QBg=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-0e6ce7e3222b h1:oiV9EbViI07FiO4rKeJ5/RGoQDCGd4c6SX/cdMwHbFE=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-0e6ce7e3222b/go.mod h1:cTE5NCp+Zk04yA24gCEjBdQIrzDU/iRICgLSx4LsGX0=
 github.com/onflow/flow-emulator v1.0.0-M1 h1:0hBEmvm73F+5HhN5ugkOP3UyN+Ea9yGWflEmoeGzgdw=
 github.com/onflow/flow-emulator v1.0.0-M1/go.mod h1:JFJCeQVyhCQVD2Tq4QhctIXK6j5U6aU15yoEwMJt5AQ=
 github.com/onflow/flow-emulator v1.0.0-M3 h1:+Rktq6OzQfJCLNVweJqtTUKZrHMc6eVVZn1tYI1PMMg=
 github.com/onflow/flow-emulator v1.0.0-M3/go.mod h1:iMQ7WbzrEa+xQL23P8zCxrXv8YhAWUds8SvEdERB14o=
+github.com/onflow/flow-emulator v1.0.0-M8 h1:FE9OtyXh3tZLjszpznIfMyaTmIoX+maFBYd1mCY+ke0=
+github.com/onflow/flow-emulator v1.0.0-M8/go.mod h1:mSp1JTXt1JGmriiG7Lc2VulQHG1tl6Oj1zGSr/h0ySk=
 github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61 h1:Xq40zbxw9mDS1+Zz1p6DCzAxDYQwbHWLJ5B9HOp9Fk8=
 github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61/go.mod h1:xdzERQeTalqsU0rHGSZgqQuE5krMfBQ4BA/4bgrLndY=
 github.com/onflow/flow-go v0.33.2-0.20240206235622-50f8c81f1f43 h1:KB10iF+6HIQ/hKykzBf8n3P8cDDRHL4ytfc0R4ApCZM=
 github.com/onflow/flow-go v0.33.2-0.20240206235622-50f8c81f1f43/go.mod h1:gWMjeDpt0YuJiwxtgdD8qxsM53PvUyoPHmjisZZmjR0=
+github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25122 h1:6R1L5Ji+lEWdTRcqeTLVLGPX1FqiWHeXHnRKAUsciSE=
+github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25122/go.mod h1:HSffipIVOyXvK3/gsYU13EwRMxbuK591hmjqF36nbEI=
 github.com/onflow/flow-go-sdk v1.0.0-M1 h1:mke/ebYwNRRWPZqcwCV56Alx0A8psew43ZbSEUQ4TL8=
 github.com/onflow/flow-go-sdk v1.0.0-M1/go.mod h1:TDW0MNuCs4SvqYRUzkbRnRmHQL1h4X8wURsCw9P9beo=
 github.com/onflow/flow-go-sdk v1.0.0-M2 h1:YWeXTo112RF8s6swiOU5oW8JWbOOz392FCeAbGnm+W4=
 github.com/onflow/flow-go-sdk v1.0.0-M2/go.mod h1:mllhNw5WAEug59EWvW3TudcrtPmB5VfLA3iUx7mAA4s=
+github.com/onflow/flow-go-sdk v1.0.0-M7 h1:5EhtgpupjdhJZoHpu8AhA7++AroGL6BFpb8D0AYIUQw=
+github.com/onflow/flow-go-sdk v1.0.0-M7/go.mod h1:aXSavLzoRlz5FiMjcI7p5QhihWScGctxydzf4dv/avo=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad h1:I6LD9BOsilGbiqhGjP86FIIXJe0YdUz75d/oWdHFzDI=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6 h1:/2vvjKkWG/3cKP3IpgiGNqXi0yskn4GmNTjmeCwMoz8=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a h1:xMEtuQp4+ltfEZcw+4smv4wechSBAus4yEAtPghXZeQ=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
+github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a h1:Ark2dPAaSxSr45G5WJjB1P5H0tFtXnHcOIp+dM146yo=
+github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a/go.mod h1:p+2hRvtjLUR3MW1NsoJe5Gqgr2eeH49QB6+s6ze00w0=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231121210617-52ee94b830c2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2 h1:+rT+UsfTR39JZO8ht2+4fkaWfHw74SCj1fyz1lWuX8A=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
@@ -1905,6 +1949,8 @@ github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqr
 github.com/prometheus/client_golang v1.12.0/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
 github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8=
 github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc=
+github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk=
+github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA=
 github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -1913,6 +1959,8 @@ github.com/prometheus/client_model v0.2.1-0.20210607210712-147c58e9608a/go.mod h
 github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
 github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY=
 github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
+github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw=
+github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
 github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
 github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
 github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
@@ -1922,6 +1970,8 @@ github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9
 github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
 github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM=
 github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc=
+github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM=
+github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY=
 github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
 github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
@@ -1930,6 +1980,8 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1
 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
 github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg=
 github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM=
+github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
+github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
 github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
 github.com/protolambda/bls12-381-util v0.0.0-20220416220906-d8552aa452c7/go.mod h1:IToEjHuttnUzwZI5KBSM/LOOW3qLbbrHOEfp3SbECGY=
 github.com/psiemens/graceland v1.0.0 h1:L580AVV4Q2XLcPpmvxJRH9UpEAYr/eu2jBKmMglhvM8=
@@ -1951,6 +2003,8 @@ github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE
 github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
 github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
 github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
+github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
+github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
 github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
 github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
 github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w=
@@ -2118,23 +2172,37 @@ go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
 go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM=
 go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s=
 go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4=
+go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y=
+go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI=
 go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0=
 go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0/go.mod h1:vLarbg68dH2Wa77g71zmKQqlQ8+8Rq3GRG31uc0WcWI=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 h1:cbsD4cUcviQGXdw8+bo5x2wazq10SKz8hEbtCRPcU78=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0/go.mod h1:JgXSGah17croqhJfhByOLVY719k1emAXC8MVhCIJlRs=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruOgJP5QiA1pw4fYYdv6nc6CBWw=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0/go.mod h1:zgBdWWAu7oEEMC06MMKc5NLbA/1YDXV1sMpSqEeLQLg=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 h1:ap+y8RXX3Mu9apKVtOkM6WSFESLM8K3wNQyOU8sWHcc=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0/go.mod h1:5w41DY6S9gZrbjuq6Y+753e96WfPha5IcsOSZTtullM=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h1:nUeKExfxAQVbiVFn32YXpXZZHZ61Cc3s3Rn1pDBGAb0=
 go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo=
 go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4=
+go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg=
+go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY=
 go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE=
 go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4=
+go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8=
+go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E=
 go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4=
 go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs=
 go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0=
+go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0=
+go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
 go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
 go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw=
 go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
+go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
+go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
 go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
@@ -2158,6 +2226,8 @@ go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
 go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
 go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
 go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
+go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
+go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@@ -2191,6 +2261,8 @@ golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf
 golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
 golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
 golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc=
+golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
 golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -2212,6 +2284,8 @@ golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N0
 golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k=
 golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc h1:ao2WRsKSzW6KuUY9IWPwWahcHCgR0s52IfwutMfEbdM=
 golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI=
+golang.org/x/exp v0.0.0-20240119083558-1b970713d09a h1:Q8/wZp0KX97QFTc2ywcOE0YRjZPVIx+MXInMzdvQqcA=
+golang.org/x/exp v0.0.0-20240119083558-1b970713d09a/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
 golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@@ -2346,6 +2420,8 @@ golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
 golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
 golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
 golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
+golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo=
+golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
 golang.org/x/oauth2 v0.0.0-20170207211851-4464e7848382/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -2402,6 +2478,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
 golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
 golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
 golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
+golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -2528,6 +2606,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
 golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=
+golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -2660,6 +2740,8 @@ golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
 golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
 golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA=
 golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
+golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc=
+golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -2680,6 +2762,8 @@ gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
 gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA=
 gonum.org/v1/gonum v0.13.0 h1:a0T3bh+7fhRyqeNbiC3qVHYmkiQgit3wnNan/2c0HMM=
 gonum.org/v1/gonum v0.13.0/go.mod h1:/WPYRckkfWrhWefxyYTfrTtQR0KH4iyHNuzxqXAKyAU=
+gonum.org/v1/gonum v0.14.0 h1:2NiG67LD1tEH0D7kM+ps2V+fXmsAnpUeec7n8tcr4S0=
+gonum.org/v1/gonum v0.14.0/go.mod h1:AoWeoz0becf9QMWtE8iWXNXc27fK4fNeHNf/oMejGfU=
 gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
 gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
 gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
@@ -2761,6 +2845,8 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID
 google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
 google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
 google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
+google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
 google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
 google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -2915,6 +3001,8 @@ google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqv
 google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:EMfReVxb80Dq1hhioy0sOsY9jCE46YDgHlJ7fWVUWRE=
 google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b h1:+YaDE2r2OG8t/z5qmsh7Y+XXwCbvadxxZ0YY6mTdrVA=
 google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI=
+google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 h1:nz5NESFLZbJGPFxDT/HCn+V1mZ8JGNoY4nUpmW/Y2eg=
+google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917/go.mod h1:pZqR+glSb11aJ+JQcczCvgf47+duRuzNSKqE8YAQnV0=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
 google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
@@ -2931,6 +3019,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.
 google.golang.org/genproto/googleapis/api v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:SUBoKXbI1Efip18FClrQVGjWcyd0QZd8KkvdP34t7ww=
 google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b h1:CIC2YMXmIhYw6evmhPxBKJ4fmLbOFtXQN/GV3XOZR8k=
 google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870=
+google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 h1:OPXtXn7fNMaXwO3JvOmF1QyTc00jsSFFz1vXXBOdCDo=
+google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:B5xPO//w8qmBDjGReYLpR6UJPnkldGkCSMoH/2vxJeg=
 google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
 google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c=
 google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw=
@@ -2951,6 +3041,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go.
 google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 h1:AB/lmRny7e2pLhFEYIbl5qkDAUt2h0ZRO4wGPhZf+ik=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 h1:gphdwh0npgs8elJ4T6J+DQJHPVF7RsuJHCfwztUb4J4=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA=
 google.golang.org/grpc v0.0.0-20170208002647-2a6bf6142e96/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
 google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
@@ -3003,6 +3095,8 @@ google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSs
 google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
 google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
 google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
+google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU=
+google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -3023,6 +3117,8 @@ google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw
 google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
 google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
+google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/lib/go/test/token_test_helpers.go b/lib/go/test/token_test_helpers.go
index bba165bf..d0b6a6f4 100644
--- a/lib/go/test/token_test_helpers.go
+++ b/lib/go/test/token_test_helpers.go
@@ -47,7 +47,7 @@ func deployTokenContracts(
 	env.ViewResolverAddress = resolverAddress.Hex()
 
 	// Deploy the NonFungibleToken contract
-	nonFungibleTokenCode := nftcontracts.NonFungibleToken(resolverAddress)
+	nonFungibleTokenCode := nftcontracts.NonFungibleToken(env.ViewResolverAddress)
 	nftAddress, err := adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
@@ -87,7 +87,7 @@ func deployTokenContracts(
 	env.FungibleTokenAddress = fungibleAddr.Hex()
 
 	// Deploy the MetadataViews contract
-	metadataViewsCode := nftcontracts.MetadataViews(fungibleAddr, nftAddress, resolverAddress)
+	metadataViewsCode := nftcontracts.MetadataViews(env.FungibleTokenAddress, nftAddress.Hex(), env.ViewResolverAddress)
 	metadataViewsAddr, err := adapter.CreateAccount(context.Background(),
 		nil,
 		[]sdktemplates.Contract{
@@ -115,7 +115,7 @@ func deployTokenContracts(
 	env.FungibleTokenMetadataViewsAddress = fungibleMetadataViewsAddr.Hex()
 
 	// Deploy the ExampleToken contract
-	exampleTokenCode := contracts.ExampleToken(fungibleAddr.String(), metadataViewsAddr.String(), fungibleMetadataViewsAddr.String(), resolverAddress.String())
+	exampleTokenCode := contracts.ExampleToken(fungibleAddr.String(), metadataViewsAddr.String(), fungibleMetadataViewsAddr.String())
 	tokenAddr, err = adapter.CreateAccount(context.Background(),
 		key,
 		[]sdktemplates.Contract{
diff --git a/transactions/generic_transfer_with_address.cdc b/transactions/generic_transfer_with_address.cdc
index 7fb20237..2d687e5f 100644
--- a/transactions/generic_transfer_with_address.cdc
+++ b/transactions/generic_transfer_with_address.cdc
@@ -19,7 +19,7 @@ transaction(amount: UFix64, to: Address, contractAddress: Address, contractName:
 
         // Borrow a reference to the vault stored on the passed account at the passed publicPath
         let resolverRef = getAccount(contractAddress)
-            .contracts.borrow<&FungibleToken>(name: contractName)
+            .contracts.borrow<&{FungibleToken}>(name: contractName)
             ?? panic("Could not borrow a reference to the fungible token contract")
 
         // Use that reference to retrieve the FTView 
diff --git a/transactions/metadata/setup_account_from_address.cdc b/transactions/metadata/setup_account_from_address.cdc
index fc8ec455..44b06af0 100644
--- a/transactions/metadata/setup_account_from_address.cdc
+++ b/transactions/metadata/setup_account_from_address.cdc
@@ -11,7 +11,7 @@ transaction(contractAddress: Address, contractName: String) {
     prepare(signer: auth(SaveValue, Capabilities) &Account) {
         // Borrow a reference to the vault stored on the passed account at the passed publicPath
         let resolverRef = getAccount(contractAddress)
-            .contracts.borrow<&FungibleToken>(name: contractName)
+            .contracts.borrow<&{FungibleToken}>(name: contractName)
             ?? panic("Could not borrow a reference to the fungible token contract")
 
         // Use that reference to retrieve the FTView 

From 98772c9e23e92b71371dd48be8fc6697a570aa4e Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 6 Mar 2024 12:57:16 -0600
Subject: [PATCH 097/115] update README for v2 standards

---
 README.md | 317 +++++++++++++++++++++++++++++-------------------------
 1 file changed, 171 insertions(+), 146 deletions(-)

diff --git a/README.md b/README.md
index 0691792f..8470b920 100644
--- a/README.md
+++ b/README.md
@@ -4,16 +4,16 @@ This is a description of the Flow standard for fungible token contracts.  It is
 
 ## What is Flow?
 
-Flow is a new blockchain for open worlds. Read more about it [here](https://www.onflow.org/).
+Flow is a new blockchain for open worlds. Read more about it [here](https://www.flow.com/).
 
 ## What is Cadence?
 
 Cadence is a new Resource-oriented programming language 
 for developing smart contracts for the Flow Blockchain.
-Read more about it [here](https://docs.onflow.org/docs) and see its implementation [here](https://github.com/onflow/cadence)
+Read more about it [here](https://developers.flow.com/) and see its implementation [here](https://github.com/onflow/cadence)
 
 We recommend that anyone who is reading this should have already
-completed the [Cadence Tutorials](https://docs.onflow.org/docs/getting-started-1) 
+completed the [Cadence Tutorials](https://cadence-lang.org/docs/tutorial/first-steps) 
 so they can build a basic understanding of the programming language.
 
 Resource-oriented programming, and by extension Cadence, 
@@ -28,97 +28,111 @@ The `FungibleToken`, `FungibleTokenMetadataViews`, and `FungibleTokenSwitchboard
 on various networks. You can import them in your contracts from these addresses.
 There is no need to deploy them yourself.
 
-(note: default deployment of `FungibleTokenMetadataViews`
-and `FungibleTokenSwitchboard` is still pending for emulator/canary, so you will still have to deploy those yourself on those networks)
-
-| Network         | Contract Address     |
-| --------------- | -------------------- |
-| Emulator/Canary | `0xee82856bf20e2aa6` |
-| Testnet         | `0x9a0766d93b6608b7` |
-| Sandboxnet      | `0xe20612a0776ca4bf` |
-| Mainnet         | `0xf233dcee88fe0abe` |
+| Network                      | Contract Address     |
+| ---------------------------- | -------------------- |
+| Emulator                     | `0xee82856bf20e2aa6` |
+| Testnet/Previewnet/Crescendo | `0x9a0766d93b6608b7` |
+| Sandboxnet                   | `0xe20612a0776ca4bf` |
+| Mainnet                      | `0xf233dcee88fe0abe` |
 
+The `Burner` contract is also deployed to these addresses, but should not be used until after the Cadence 1.0 network upgrade.
 
 ## Basics of the Standard:
 
-The code for the standard is in `contracts/FungibleToken.cdc`. An example implementation of the standard that simulates what a simple token would be like is in `contracts/ExampleToken.cdc`. 
+The code for the standard is in [`contracts/FungibleToken.cdc`](contracts/FungibleToken.cdc). An example implementation of the standard that simulates what a simple token would be like is in [`contracts/ExampleToken.cdc`](contracts/FungibleToken.cdc). 
 
-The exact smart contract that is used for the official Flow Network Token is in the `flow-core-contracts` repository.
+The exact smart contract that is used for the official Flow Network Token (`FlowToken`) is in [the `flow-core-contracts` repository](https://github.com/onflow/flow-core-contracts/blob/master/contracts/FlowToken.cdc).
 
 Example transactions that users could use to interact with fungible tokens are located in the `transactions/` directory. These templates are mostly generic and can be used with any fungible token implementation by providing the correct addresses, names, and values.
 
-The standard consists of a contract interface called `FungibleToken` that requires implementing contracts to define a `Vault` resource that represents the tokens that an account owns. Each account that owns tokens will have a `Vault` stored in its account storage.  Users call functions on each other's `Vault`s to send and receive tokens.  
+The standard consists of a contract interface called `FungibleToken` that defines important
+functionality for token implementations. Contracts are expected to define a resource
+that implement the `FungibleToken.Vault` resource interface.
+A `Vault` represents the tokens that an account owns. Each account that owns tokens
+will have a `Vault` stored in its account storage. 
+Users call functions on each other's `Vault`s to send and receive tokens.  
 
-Right now we are using unsigned 64-bit fixed point numbers `UFix64` as the type to represent token balance information. This type has 8 decimal places and cannot represent negative numbers.
+The standard uses unsigned 64-bit fixed point numbers `UFix64` as the type to represent token balance information. This type has 8 decimal places and cannot represent negative numbers.
 
 ## Core Features (All contained in the main FungibleToken interface)
 
-1- Getting metadata for the token smart contract via the fields of the contract:
-
-- `pub var totalSupply: UFix64`
-    - The only required field of the contract.  It would be incremented when new tokens are minted and decremented when they are destroyed.
-- Event that gets emitted when the contract is initialized
-    - `pub event TokensInitialized(initialSupply: UFix64)`
-
-2- Retrieving the token fields of a `Vault` in an account that owns tokens.
-
-- Balance interface
-    - `pub var balance: UFix64`
-        - The only required field of the `Vault` type
-
-3- Withdrawing a specific amount of tokens *amount* using the *withdraw* function of the owner's `Vault`
-
-- Provider interface
-    - `pub fun withdraw(amount: UFix64): @FungibleToken.Vault`
-        - Conditions
-            - the returned Vault's balance must equal the amount withdrawn
-            - The amount withdrawn must be less than or equal to the balance
-            - The resulting balance must equal the initial balance - amount
-    - Users can give other accounts a reference to their `Vault` cast as a `Provider` to allow them to withdraw and send tokens for them.  A contract can define any custom logic to govern the amount of tokens that can be withdrawn at a time with a `Provider`.  This can mimic the `approve`, `transferFrom` functionality of ERC20.
-- withdraw event
-    - Indicates how much was withdrawn and from what account the `Vault` is stored in.
+### `Balance` Interface
+
+Specifies that the implementing type must have a `UFix64` `balance` field.
+  - `access(all) var balance: UFix64`
+
+### `Provider` Interface
+Defines a [`withdraw ` function](contracts/FungibleToken.cdc#L95) for withdrawing a specific amount of tokens *amount*.
+  - `access(all) fun withdraw(amount: UFix64): @{FungibleToken.Vault}`
+      - Conditions
+          - the returned Vault's balance must equal the amount withdrawn
+          - The amount withdrawn must be less than or equal to the balance
+          - The resulting balance must equal the initial balance - amount
+  - Users can give other accounts a reference to their `Vault` cast as a `Provider`
+  to allow them to withdraw and send tokens for them. 
+  A contract can define any custom logic to govern the amount of tokens
+  that can be withdrawn at a time with a `Provider`. 
+  This can mimic the `approve`, `transferFrom` functionality of ERC20.
+- [`FungibleToken.Withdrawn` event](contracts/FungibleToken.cdc#L50)
+    - Event that is emitted automatically to indicate how much was withdrawn
+    and from what account the `Vault` is stored in.
       If the `Vault` is not in account storage when the event is emitted,
       `from` will be `nil`.
-    - `pub event TokensWithdrawn(amount: UFix64, from: Address?)`
-
-4 - Depositing a specific amount of tokens *from* using the *deposit* function of the recipient's `Vault`
-
-- `Receiver` interface
-    - `pub fun deposit(from: @FungibleToken.Vault)`
-    - Conditions
-        - `from` balance must be non-zero
-        - The resulting balance must be equal to the initial balance + the balance of `from`
-- deposit event
-    - Indicates how much was deposited and to what account the `Vault` is stored in.
-      If the `Vault` is not in account storage when the event is emitted,
-      `to` will be `nil`.
-    - `pub event TokensDeposited(amount: UFix64, to: Address?)`
-- Users could create custom `Receiver`s to trigger special code when transfers to them happen, like forwarding the tokens
-  to another account, splitting them up, and much more.
-
-- It is important that if you are making your own implementation of the fungible token interface that
+    - Contracts do not have to emit their own events,
+    the standard events will automatically be emitted.
+
+Defines [an `isAvailableToWithdraw()` function](contracts/FungibleToken.cdc#L95)
+to ask a `Provider` if the specified number of tokens can be withdrawn from the implementing type.
+
+### `Receiver` Interface
+Defines functionality to depositing fungible tokens into a resource object.
+- [`deposit()` function](contracts/FungibleToken.cdc#L119):
+  - `access(all) fun deposit(from: @{FungibleToken.Vault})`
+  - Conditions
+      - `from` balance must be non-zero
+      - The resulting balance must be equal to the initial balance + the balance of `from`
+  - It is important that if you are making your own implementation of the fungible token interface that
   you cast the input to `deposit` as the type of your token.
   `let vault <- from as! @ExampleToken.Vault`
   The interface specifies the argument as `@FungibleToken.Vault`, any resource that satisfies this can be sent to the deposit function. The interface checks that the concrete types match, but you'll still need to cast the `Vault` before storing it.
-
-5 - Creating an empty Vault resource
-
-- `pub fun createEmptyVault(): @FungibleToken.Vault`
+- deposit event
+    - [`FungibleToken.Deposited` event](contracts/FungibleToken.cdc#L53) from the standard
+    that indicates how much was deposited and to what account the `Vault` is stored in.
+      - If the `Vault` is not in account storage when the event is emitted,
+        `to` will be `nil`.
+      - This event is emitted automatically on any deposit, so projects do not need
+        to define and emit their own events.
+
+Defines Functionality for Getting Supported Vault Types
+- Some resource types can accept multiple different vault types in their deposit functions,
+  so the `getSupportedVaultTypes()` and `isSupportedVaultType()` functions allow callers
+  to query a resource that implements `Receiver` to see if the `Receiver` accepts
+  their desired `Vault` type in its deposit function.
+
+Users could create custom `Receiver`s to trigger special code when transfers to them happen,
+like forwarding the tokens to another account, splitting them up, and much more.
+
+### `Vault` Interface
+[Interface](contracts/FungibleToken.cdc#L134) that inherits from `Provider`, `Receiver`, `Balance`, `ViewResolver.Resolver`,
+and `Burner.Burnable` and provides additional pre and post conditions.
+
+The `ViewResolver.Resolver` interface defines functionality for retrieving metadata
+about a particular resource object. [Fungible Token metadata](README.md#ft-metadata) is described below.
+
+See the comments in [the `Burner` contract](contracts/Burner.cdc) for context about it.
+Basically, it defines functionality for tokens to have custom logic when those tokens
+are destroyed.
+
+### Creating an empty Vault resource
+Defines functionality in the contract to create a new empty vault of
+of the contract's defined type.
+- `access(all) fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault}`
 - Defined in the contract 
-  To create an empty `Vault`, the caller calls the function in the contract and stores the Vault in their storage.
+- To create an empty `Vault`, the caller calls the function and provides the Vault Type
+  that they want. They get a vault back and can store it in their storage.
 - Conditions:
     - the balance of the returned Vault must be 0
 
-6 - Destroying a Vault
-
-If a `Vault` is explicitly destroyed using Cadence's `destroy` keyword, the balance of the destroyed vault must be subtracted from the total supply.
-
-7 - Standard for Token Metadata
-
-- not sure what this should be yet
-- Could be a dictionary, could be an IPFS hash, could be json, etc.
-- need suggestions!
-
 
 ## Comparison to Similar Standards in Ethereum
 
@@ -133,20 +147,32 @@ This spec covers much of the same ground that a spec like ERC-20 covers, but wit
 
 ## FT Metadata
 
-FT Metadata is represented in a flexible and modular way using both the [standard proposed in FLIP-0636](https://github.com/onflow/flips/blob/main/application/20210916-nft-metadata.md) and the [standard proposed in FLIP-1087](https://github.com/onflow/flips/blob/main/application/20220811-fungible-tokens-metadata.md).
+FT Metadata is represented in a flexible and modular way using both
+the [standard proposed in FLIP-0636](https://github.com/onflow/flips/blob/main/application/20210916-nft-metadata.md)
+and the [standard proposed in FLIP-1087](https://github.com/onflow/flips/blob/main/application/20220811-fungible-tokens-metadata.md).
 
-When writing an NFT contract, you should implement the [`MetadataViews.Resolver`](contracts/utility/MetadataViews.cdc#L20-L23) interface, which allows your `Vault` resource to implement one or more metadata types called views.
+[A guide for NFT metadata](https://developers.flow.com/build/advanced-concepts/metadata-views)
+is provided on the docs site. Many of the concepts described there also apply
+to fungible tokens, so it is useful to read for any Cadence developer.
+
+When writing an FT contract interface, your contract will implement
+the `FungibleToken` contract interface which already inherits
+from [the `ViewResolver` contract interface](https://github.com/onflow/flow-nft/blob/master/contracts/ViewResolver.cdc),
+so you will be required to implement the metadata functions.
+Additionally, your `Vault` will also implement the `ViewResolver.Resolver` by default,
+which allows your `Vault` resource to implement one or more metadata types called views.
 
 Views do not specify or require how to store your metadata, they only specify
 the format to query and return them, so projects can still be flexible with how they store their data.
 
 ### Fungible token Metadata Views
 
-The [Example Token contract](contracts/ExampleToken.cdc) defines three new views that can used to communicate any fungible token information:
+The [FungibleTokenMetadataViews contract](contracts/FungibleTokenMetadataViews.cdc) defines four new views that can used to communicate any fungible token information:
 
-1. `FTView` A view that wraps the two other views that actually contain the data.
-1. `FTDisplay` The view that contains all the information that will be needed by other dApps to display the fungible token: name, symbol, description, external URL, logos and links to social media.
-1. `FTVaultData` The view that can be used by other dApps to interact programmatically with the fungible token, providing the information about the public and private paths used by default by the token, the public and private linked types for exposing capabilities and the function for creating new empty vaults. You can use this view to [setup an account using the vault stored in other account without the need of importing the actual token contract.](transactions/setup_account_from_vault_reference.cdc)
+1. `FTView`: A view that wraps the two other views that actually contain the data.
+2. `FTDisplay`: The view that contains all the information that will be needed by other dApps to display the fungible token: name, symbol, description, external URL, logos and links to social media.
+3. `FTVaultData`: The view that can be used by other dApps to interact programmatically with the fungible token, providing the information about the public and private paths used by default by the token, the public and private linked types for exposing capabilities and the function for creating new empty vaults. You can use this view to [setup an account using the vault stored in other account without the need of importing the actual token contract.](transactions/setup_account_from_vault_reference.cdc)
+4. `TotalSupply`: Specifies the total supply of the given token.
 
 ### How to implement metadata
 
@@ -156,67 +182,21 @@ The [Example Token contract](contracts/ExampleToken.cdc) shows how to implement
 
 In this repository you can find examples on how to read metadata, accessing the `ExampleToken` display (name, symbol, logos, etc.) and its vault data (paths, linked types and the method to create a new vault).
 
-First step will be to borrow a reference to the token's vault stored in some account:
-
-```cadence
-let vaultRef = account
-    .getCapability(ExampleToken.VaultPublicPath)
-    .borrow<&{MetadataViews.Resolver}>()
-    ?? panic("Could not borrow a reference to the vault resolver")
-```
-
 Latter using that reference you can call methods defined in the [Fungible Token Metadata Views contract](contracts/FungibleTokenMetadataViews.cdc) that will return you the structure containing the desired information:
 
-```cadence
-let ftView = FungibleTokenMetadataViews.getFTView(viewResolver: vaultRef)
-```
-
-Alternatively you could call directly the `resolveView(_ view: Type): AnyStruct?` method on the `ExampleToken.Vault`, but the `getFTView(viewResolver: &{MetadataViews.Resolver}): FTView`, `getFTDisplay(_ viewResolver: &{MetadataViews.Resolver}): FTDisplay?` and `getFTVaultData(_ viewResolver: &{MetadataViews.Resolver}): FTVaultData?` defined on the `FungibleMetadataViews` contract will ease the process of dealing with optional types when retrieving this views.
-
-Finally you can return the whole of structure or just log some values from the views depending on what you are aiming for:
 
-```cadence
-return ftView
-````
-
-```cadence
-/*
-When you retrieve a FTView both the FTDisplay and the FTVaultData views contained on it are optional values, meaning that the token could not be implementing then.
-*/
-log(ftView.ftDisplay!.symbol)
-```
 
 ## Bonus Features
 
-**Minting and Burning are not included in the standard but are included in the FlowToken example contract to illustrate what minting and burning might look like for a token in Flow.**
-
-8 - Minting or Burning a specific amount of tokens using a specific minter resource that an owner can control
-
-- `MintandBurn` Resource
-    - function to mintTokens
-    - tokens minted event
-    - Each minter has a set amount of tokens that they are allowed to mint. This cannot be changed and a new minter needs to be created to add more allowance.
-    - function to burnTokens
-    - tokens Burnt event
-    - Each time tokens are minted or burnt, that value is added or subtracted to or from the total supply.
-
+The following features could each be defined as a separate standard. It would be good to make standards for these, but not necessary to include in the main standard interface and are not currently defined in this example.
 
-**The following features could each be defined as a separate interface. It would be good to make standards for these, but not necessary to include in the main standard interface and are not currently defined in this example.**
+- Scoped Provider 
+This refers to restricting a `Provider` capability to only be able to withdraw a specific amount of tokens from someone else's `Vault`
+This is currently being worked on.
 
-9 - Withdrawing a specific amount of tokens from someone else's `Vault` by using their `provider` reference.
-
-- approved withdraw event
-- Providing a resource that only approves an account to send a specific amount per transaction or per day/month/etc.
-- Returning the amount of tokens that an account can send for another account.
-- Reading the balance of the account that you have permission to send tokens for
-- Owner is able to increase and decrease the approval at will, or revoke it completely
-    - This is much harder than anticipated
-
-11 - Pausing Token transfers (maybe a way to prevent the contract from being imported)
-
-12 - Cloning the token to create a new token with the same distribution
-
-13 - Restricted ownership (For accredited investors and such)
+- Pausing Token transfers (maybe a way to prevent the contract from being imported)
+- Cloning the token to create a new token with the same distribution
+- Restricted ownership (For accredited investors and such)
 - allowlisting
 - denylisting
 
@@ -224,15 +204,18 @@ log(ftView.ftDisplay!.symbol)
 
 To use the Flow Token contract as is, you need to follow these steps:
 
-1. If you are using the Playground, you need to deploy the `FungibleToken` definition to account 1 yourself and import it in `ExampleToken`. It is a pre-deployed interface in the emulator, testnet, and mainnet and you can import definition from those accounts:
+1. If you are using any network or the playground, there is no need to deploy
+the `FungibleToken` definition to accounts yourself.
+It is a pre-deployed interface in the emulator, testnet, mainnet,
+and playground and you can import definition from those accounts:
     - `0xee82856bf20e2aa6` on emulator
     - `0x9a0766d93b6608b7` on testnet
     - `0xf233dcee88fe0abe` on mainnet
-2. Deploy the `ExampleToken` definition
+2. Deploy the `ExampleToken` definition, making sure to import the `FungibleToken` interface.
 3. You can use the `get_balance.cdc` or `get_supply.cdc` scripts to read the 
    balance of a user's `Vault` or the total supply of all tokens, respectively.
-4. Use the `setupAccount.cdc` on any account to set up the account to be able to
-   use `FlowTokens`.
+4. Use the `setup_account.cdc` on any account to set up the account to be able to
+   use `ExampleToken`.
 5. Use the `transfer_tokens.cdc` transaction file to send tokens from one user with
    a `Vault` in their account storage to another user with a `Vault` in their account storage.
 6. Use the `mint_tokens.cdc` transaction with the admin account to mint new tokens.
@@ -248,11 +231,16 @@ To use the Flow Token contract as is, you need to follow these steps:
 
  Users willing to use the Fungible Token Switchboard will need to setup their accounts by creating a new `FungibleTokenSwitchboard.Switchboard` resource and saving it to their accounts at the `FungibleTokenSwitchboard.StoragePath` path.
  
- This can be accomplished by executing the transaction found in this repository `transactions/switchboard/setup_account.cdc`. This transaction will create and save a Switchboard resource to the signer's account,
- and it also will create the needed public capabilities to access it. After setting up their switchboard, in order to make it support receiving a certain token, users will need to add the desired token's receiver capability to their switchboard resource.
+ This can be accomplished by executing the transaction found in this repository `transactions/switchboard/setup_account.cdc`.
+ This transaction will create and save a Switchboard resource to the signer's account,
+ and it also will create the needed public capabilities to access it.
+ After setting up their switchboard, in order to make it support receiving a certain token,
+ users will need to add the desired token's receiver capability to their switchboard resource.
  
  ## Adding a new vault to the switchboard
- When a user wants to receive a new fungible token through their switchboard, they will need to add a new public capability linked to said FT to their switchboard resource. This can be accomplished in two different ways:
+ When a user wants to receive a new fungible token through their switchboard,
+ they will need to add a new public capability linked to said FT
+ to their switchboard resource. This can be accomplished in two different ways:
  
  1. Adding a single capability using `addNewVault(capability: Capability<&{FungibleToken.Receiver}>)`
     * Before calling this method on a transaction you should first retrieve the capability to the token's vault you are
@@ -280,7 +268,10 @@ To use the Flow Token contract as is, you need to follow these steps:
         }
     }
     ```
-    This function will panic if is not possible to `.borrow()` a reference to a `&{FungibleToken.Receiver}` from the passed capability. It will also panic if there is already a capability stored for the same `Type` of resource exposed by the capability.
+    This function will panic if is not possible to `.borrow()` a reference
+    to a `&{FungibleToken.Receiver}` from the passed capability.
+    It will also panic if there is already a capability stored
+    for the same `Type` of resource exposed by the capability.
 
  2. Adding one or more capabilities using the paths where they are stored using `addNewVaultsByPath(paths: [PublicPath], address: Address)`
     * When using this method, an array of `PublicPath` objects should be passed along with the `Address` of the account from where the vaults' capabilities should be retrieved.
@@ -312,7 +303,9 @@ To use the Flow Token contract as is, you need to follow these steps:
         }
     }
     ```
-    This function won't panic, instead it will just not add to the `@Switchboard` any capability which can not be retrieved from any of the provided `PublicPath`s. It will also ignore any type of `&{FungibleToken.Receiver}` that is already present on the `@Switchboard`
+    This function won't panic, instead it will just not add to the `@Switchboard`
+    any capability which can not be retrieved from any of the provided `PublicPath`s.
+    It will also ignore any type of `&{FungibleToken.Receiver}` that is already present on the `@Switchboard`
 
   3. Adding a capability to a receiver specifying which type of token will be deposited there 
   using `addNewVaultWrapper(capability: Capability<&{FungibleToken.Receiver}>, type: Type)`. 
@@ -357,7 +350,9 @@ To use the Flow Token contract as is, you need to follow these steps:
   ```
 
  ## Removing a vault from the switchboard
- If a user no longer wants to be able to receive deposits from a certain FT, or if they want to update the provided capability for one of them, they will need to remove the vault from the switchboard.
+ If a user no longer wants to be able to receive deposits from a certain FT,
+ or if they want to update the provided capability for one of them,
+ they will need to remove the vault from the switchboard.
  This can be accomplished by using `removeVault(capability: Capability<&{FungibleToken.Receiver}>)`. 
 This can be observed in the template transaction `transactions/switchboard/remove_vault_capability.cdc`:
  ```cadence
@@ -386,9 +381,12 @@ This can be observed in the template transaction `transactions/switchboard/remov
  This function will panic if is not possible to `.borrow()` a reference to a `&{FungibleToken.Receiver}` from the passed capability.
 
  ## Transferring tokens through the switchboard
- The Fungible Token Switchboard provides two different ways of depositing tokens to it, using the `deposit(from: @FungibleToken.Vault)` method enforced by the `{FungibleToken.Receiver}` or using the `safeDeposit(from: @FungibleToken.Vault): @FungibleToken`:
+ The Fungible Token Switchboard provides two different ways of depositing tokens to it,
+ using the `deposit(from: @FungibleToken.Vault)` method enforced by
+ the `{FungibleToken.Receiver}` or using the `safeDeposit(from: @FungibleToken.Vault): @FungibleToken`:
 
- 1. Using the first method will be just the same as depositing to `&{FungibleToken.Receiver}`. The path for the Switchboard receiver is defined in `FungibleTokenSwitchboard.ReceiverPublicPath`,
+ 1. Using the first method will be just the same as depositing to `&{FungibleToken.Receiver}`.
+ The path for the Switchboard receiver is defined in `FungibleTokenSwitchboard.ReceiverPublicPath`,
  the generic receiver path `/public/GenericFTReceiver` that can also be obtained from the NFT MetadataViews contract.
  An example of how to do this can be found in the transaction template on this repo `transactions/switchboard/transfer_tokens.cdc`
  ```cadence
@@ -424,7 +422,13 @@ This can be observed in the template transaction `transactions/switchboard/remov
  }
  ```
 
- 2. The `safeDeposit(from: @FungibleToken.Vault): @FungibleToken` works in a similar way, with the difference that it will not panic if the desired FT Vault can not be obtained from the Switchboard. The method will return the passed vault, empty if the funds were deposited successfully or still containing the funds if the transfer of the funds was not possible. Keep in mind that when using this method on a transaction you will always have to deal with the returned resource. An example of this can be found on `transactions/switchboard/safe_transfer_tokens.cdc`:
+ 2. The `safeDeposit(from: @FungibleToken.Vault): @FungibleToken` works in a similar way,
+ with the difference that it will not panic if the desired FT Vault
+ can not be obtained from the Switchboard. The method will return the passed vault,
+ empty if the funds were deposited successfully or still containing the funds
+ if the transfer of the funds was not possible. Keep in mind that 
+ when using this method on a transaction you will always have to deal
+ with the returned resource. An example of this can be found on `transactions/switchboard/safe_transfer_tokens.cdc`:
  ```cadence
  transaction(to: Address, amount: UFix64) {
     // The reference to the vault from the payer's account
@@ -462,7 +466,28 @@ This can be observed in the template transaction `transactions/switchboard/remov
 
 # Running Automated Tests
 
-You can find automated tests in the `lib/go/test/token_test.go` file. It uses the transaction templates that are contained in the `lib/go/templates/transaction_templates.go` file. Currently, these rely on a dependency from a private dapper labs repository to run, so external users will not be able to run them. We are working on making all of this public so anyone can run tests, but haven't completed this work yet.
+There are two sets of tests in the repo, Cadence tests and Go tests.
+The Cadence tests are much more straightforward nad are all written in Cadence,
+so we recommend following those.
+
+## Cadence Testing Framework
+
+The Cadence tests are located in the `tests/` repository. They are written in Cadence
+and can be run directly from the command line using the Flow CLI.
+Make sure you are using [the latest Cadence 1.0 CLI verion](https://forum.flow.com/t/update-on-cadence-1-0/5197/10).
+```
+flow test --cover --covercode="contracts" tests/*.cdc
+```
+
+## Go tests
+
+You can find automated tests in the `lib/go/test/token_test.go` file.
+It uses the transaction templates that are contained in the
+`lib/go/templates/transaction_templates.go` file. You can run them by navigating
+to the `lib/go/test/` directory and running `go test -v`.
+If you make changes to the contracts or transactions in between running tests,
+you will need to run `make generate` from the `lib/go/` directory
+to generate the assets used in the tests.
 
 ## License 
 

From 61cf8a092850abb2a71dfd99cc1977188d8e1fdc Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 6 Mar 2024 13:52:24 -0600
Subject: [PATCH 098/115] use correct import placeholder format

---
 README.md                                     |  11 +-
 contracts/ExampleToken.cdc                    |   6 +-
 contracts/FungibleToken.cdc                   |   4 +-
 contracts/FungibleTokenMetadataViews.cdc      |   6 +-
 contracts/FungibleTokenSwitchboard.cdc        |   2 +-
 contracts/utility/MetadataViews.cdc           |   6 +-
 contracts/utility/NonFungibleToken.cdc        |   2 +-
 .../utility/PrivateReceiverForwarder.cdc      |   2 +-
 contracts/utility/TokenForwarding.cdc         |   2 +-
 coverage.json                                 |  38 +--
 lib/go/contracts/contracts.go                 |  36 +--
 lib/go/contracts/internal/assets/assets.go    |  48 ++--
 lib/go/templates/internal/assets/assets.go    | 222 +++++++++---------
 lib/go/templates/templates.go                 |  27 ++-
 transactions/burn_tokens.cdc                  |   8 +-
 transactions/create_forwarder.cdc             |   8 +-
 .../generic_transfer_with_address.cdc         |   2 +-
 transactions/generic_transfer_with_paths.cdc  |   2 +-
 .../metadata/setup_account_from_address.cdc   |   4 +-
 .../setup_account_from_vault_reference.cdc    |   6 +-
 transactions/mint_tokens.cdc                  |   6 +-
 .../create_account_private_forwarder.cdc      |   8 +-
 .../create_private_forwarder.cdc              |   8 +-
 .../setup_and_create_forwarder.cdc            |   8 +-
 .../transfer_private_many_accounts.cdc        |   8 +-
 transactions/safe_generic_transfer.cdc        |   2 +-
 transactions/scripts/get_balance.cdc          |   6 +-
 transactions/scripts/get_supply.cdc           |   2 +-
 .../scripts/get_supported_vault_types.cdc     |   2 +-
 .../scripts/metadata/get_token_metadata.cdc   |   8 +-
 .../scripts/metadata/get_vault_data.cdc       |   8 +-
 .../scripts/metadata/get_vault_display.cdc    |   8 +-
 .../metadata/get_vault_supply_view.cdc        |   8 +-
 .../switchboard/check_receiver_by_type.cdc    |   4 +-
 .../scripts/switchboard/get_vault_types.cdc   |   4 +-
 .../get_vault_types_and_address.cdc           |   4 +-
 ...ample_token_vault_display_strict_equal.cdc |   8 +-
 transactions/setup_account.cdc                |   8 +-
 .../switchboard/add_vault_capability.cdc      |   8 +-
 .../add_vault_wrapper_capability.cdc          |   8 +-
 .../batch_add_vault_capabilities.cdc          |   6 +-
 .../batch_add_vault_wrapper_capabilities.cdc  |   6 +-
 .../switchboard/remove_vault_capability.cdc   |   6 +-
 .../switchboard/safe_transfer_tokens.cdc      |   8 +-
 .../switchboard/safe_transfer_tokens_v2.cdc   |   8 +-
 transactions/switchboard/setup_account.cdc    |   4 +-
 .../switchboard/setup_royalty_account.cdc     |   8 +-
 .../setup_royalty_account_by_paths.cdc        |   8 +-
 transactions/switchboard/transfer_tokens.cdc  |   6 +-
 transactions/transfer_many_accounts.cdc       |   6 +-
 transactions/transfer_tokens.cdc              |   6 +-
 51 files changed, 332 insertions(+), 308 deletions(-)

diff --git a/README.md b/README.md
index 8470b920..4459eacb 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,15 @@
 # Fungible Token Standard
 
-This is a description of the Flow standard for fungible token contracts.  It is meant to contain the minimum requirements to implement a safe, secure, easy to understand, and easy to use fungible token contract. It also includes an example implementation to show how a concrete smart contract would actually implement the interface.
+This is a description of the Flow standard for fungible token contracts. 
+It is meant to contain the minimum requirements to implement a safe, secure, easy to understand,
+and easy to use fungible token contract.
+It also includes an example implementation to show how a 
+concrete smart contract would actually implement the interface.
+
+The version of the contracts in the `master` branch is the
+Cadence 1.0 version of the contracts and is not the same
+as the ones that are currently deployed to testnet and mainnet.
+See the `cadence-0.42` branch for the currently deployed versions.
 
 ## What is Flow?
 
diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 6eb3be84..58b092c6 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -1,6 +1,6 @@
-import FungibleToken from "FungibleToken"
-import MetadataViews from "MetadataViews"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "MetadataViews"
+import "FungibleTokenMetadataViews"
 
 access(all) contract ExampleToken: FungibleToken {
 
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index abd7d5bb..9f377cb1 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -31,8 +31,8 @@ to the Provider interface.
 
 */
 
-import ViewResolver from "ViewResolver"
-import Burner from "Burner"
+import "ViewResolver"
+import "Burner"
 
 /// FungibleToken
 ///
diff --git a/contracts/FungibleTokenMetadataViews.cdc b/contracts/FungibleTokenMetadataViews.cdc
index 789d7790..c0cdd51f 100644
--- a/contracts/FungibleTokenMetadataViews.cdc
+++ b/contracts/FungibleTokenMetadataViews.cdc
@@ -1,6 +1,6 @@
-import FungibleToken from "FungibleToken"
-import MetadataViews from "MetadataViews"
-import ViewResolver from "ViewResolver"
+import "FungibleToken"
+import "MetadataViews"
+import "ViewResolver"
 
 /// This contract implements the metadata standard proposed
 /// in FLIP-1087.
diff --git a/contracts/FungibleTokenSwitchboard.cdc b/contracts/FungibleTokenSwitchboard.cdc
index 1c9cfbc3..a06e6cd3 100644
--- a/contracts/FungibleTokenSwitchboard.cdc
+++ b/contracts/FungibleTokenSwitchboard.cdc
@@ -1,4 +1,4 @@
-import FungibleToken from "FungibleToken"
+import "FungibleToken"
 
 /// The contract that allows an account to receive payments in multiple fungible
 /// tokens using a single `{FungibleToken.Receiver}` capability.
diff --git a/contracts/utility/MetadataViews.cdc b/contracts/utility/MetadataViews.cdc
index f8695bc0..f47932eb 100644
--- a/contracts/utility/MetadataViews.cdc
+++ b/contracts/utility/MetadataViews.cdc
@@ -1,6 +1,6 @@
-import FungibleToken from "FungibleToken"
-import NonFungibleToken from "NonFungibleToken"
-import ViewResolver from "ViewResolver"
+import "FungibleToken"
+import "NonFungibleToken"
+import "ViewResolver"
 
 /// This contract implements the metadata standard proposed
 /// in FLIP-0636.
diff --git a/contracts/utility/NonFungibleToken.cdc b/contracts/utility/NonFungibleToken.cdc
index 1eba76ed..4f79d2cc 100644
--- a/contracts/utility/NonFungibleToken.cdc
+++ b/contracts/utility/NonFungibleToken.cdc
@@ -36,7 +36,7 @@ Collection to complete the transfer.
 
 */
 
-import ViewResolver from "ViewResolver"
+import "ViewResolver"
 
 /// The main NFT contract. Other NFT contracts will
 /// import and implement the interfaces defined in this contract
diff --git a/contracts/utility/PrivateReceiverForwarder.cdc b/contracts/utility/PrivateReceiverForwarder.cdc
index e9b72112..0bdf60c9 100644
--- a/contracts/utility/PrivateReceiverForwarder.cdc
+++ b/contracts/utility/PrivateReceiverForwarder.cdc
@@ -7,7 +7,7 @@ whose deposit function is only callable by an admin through a public capability.
 
 */
 
-import FungibleToken from "FungibleToken"
+import "FungibleToken"
 
 access(all) contract PrivateReceiverForwarder {
 
diff --git a/contracts/utility/TokenForwarding.cdc b/contracts/utility/TokenForwarding.cdc
index a7537f6e..b954c62b 100644
--- a/contracts/utility/TokenForwarding.cdc
+++ b/contracts/utility/TokenForwarding.cdc
@@ -14,7 +14,7 @@ their tokens to.
 
 */
 
-import FungibleToken from "FungibleToken"
+import "FungibleToken"
 
 access(all) contract TokenForwarding {
 
diff --git a/coverage.json b/coverage.json
index aad0759c..f479b00f 100644
--- a/coverage.json
+++ b/coverage.json
@@ -590,30 +590,30 @@
     }
   },
   "excluded_locations": [
-    "A.0000000000000003.FlowToken",
-    "A.0000000000000004.FlowFees",
-    "A.0000000000000002.FungibleTokenSwitchboard",
-    "A.0000000000000001.FlowStakingCollection",
-    "A.0000000000000001.MetadataViews",
-    "A.0000000000000001.FlowServiceAccount",
-    "A.0000000000000001.NonFungibleToken",
-    "A.0000000000000001.EVM",
-    "A.0000000000000002.FungibleToken",
     "A.0000000000000001.ViewResolver",
-    "I.Crypto",
-    "s.7465737400000000000000000000000000000000000000000000000000000000",
-    "A.0000000000000001.LockedTokens",
+    "A.0000000000000001.NodeVersionBeacon",
     "A.0000000000000001.FlowDKG",
-    "A.0000000000000001.FlowEpoch",
-    "A.0000000000000001.ExampleNFT",
-    "I.Test",
     "I.BlockchainHelpers",
+    "s.7465737400000000000000000000000000000000000000000000000000000000",
     "A.0000000000000001.FlowStorageFees",
-    "A.0000000000000001.FlowIDTableStaking",
-    "A.0000000000000002.FungibleTokenMetadataViews",
+    "A.0000000000000002.FungibleTokenSwitchboard",
+    "A.0000000000000001.FlowServiceAccount",
+    "A.0000000000000002.FungibleToken",
+    "A.0000000000000001.StakingProxy",
     "A.0000000000000001.FlowClusterQC",
-    "A.0000000000000001.NodeVersionBeacon",
+    "A.0000000000000001.ExampleNFT",
+    "A.0000000000000001.MetadataViews",
+    "A.0000000000000002.FungibleTokenMetadataViews",
+    "A.0000000000000004.FlowFees",
+    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000001.FlowStakingCollection",
+    "A.0000000000000001.LockedTokens",
+    "I.Test",
+    "A.0000000000000001.EVM",
+    "A.0000000000000001.FlowEpoch",
     "A.0000000000000001.RandomBeaconHistory",
-    "A.0000000000000001.StakingProxy"
+    "A.0000000000000003.FlowToken",
+    "A.0000000000000001.NonFungibleToken",
+    "I.Crypto"
   ]
 }
\ No newline at end of file
diff --git a/lib/go/contracts/contracts.go b/lib/go/contracts/contracts.go
index 5a8d2893..d4918b0d 100644
--- a/lib/go/contracts/contracts.go
+++ b/lib/go/contracts/contracts.go
@@ -18,6 +18,12 @@ var (
 	placeholderFTMetadataViews = regexp.MustCompile(`"FungibleTokenMetadataViews"`)
 	placeholderViewResolver    = regexp.MustCompile(`"ViewResolver"`)
 	placeholderBurner          = regexp.MustCompile(`"Burner"`)
+	exampleTokenImport         = "ExampleToken from "
+	metadataViewsImport        = "MetadataViews from "
+	ftMetadataViewsImport      = "FungibleTokenMetadataViews from "
+	burnerImport               = "Burner from "
+	fungibleTokenImport        = "FungibleToken from "
+	viewResolverImport         = "ViewResolver from "
 )
 
 const (
@@ -35,8 +41,8 @@ const (
 func FungibleToken(resolverAddr, burnerAddr string) []byte {
 	code := assets.MustAssetString(filenameFungibleToken)
 
-	code = placeholderViewResolver.ReplaceAllString(code, "0x"+resolverAddr)
-	code = placeholderBurner.ReplaceAllString(code, "0x"+burnerAddr)
+	code = placeholderViewResolver.ReplaceAllString(code, viewResolverImport+"0x"+resolverAddr)
+	code = placeholderBurner.ReplaceAllString(code, burnerImport+"0x"+burnerAddr)
 
 	return []byte(code)
 }
@@ -45,9 +51,9 @@ func FungibleToken(resolverAddr, burnerAddr string) []byte {
 func FungibleTokenMetadataViews(fungibleTokenAddr, metadataViewsAddr, viewResolverAddr string) []byte {
 	code := assets.MustAssetString(filenameFTMetadataViews)
 
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
-	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
-	code = placeholderViewResolver.ReplaceAllString(code, "0x"+viewResolverAddr)
+	code = placeholderFungibleToken.ReplaceAllString(code, fungibleTokenImport+"0x"+fungibleTokenAddr)
+	code = placeholderMetadataViews.ReplaceAllString(code, metadataViewsImport+"0x"+metadataViewsAddr)
+	code = placeholderViewResolver.ReplaceAllString(code, viewResolverImport+"0x"+viewResolverAddr)
 
 	return []byte(code)
 }
@@ -56,7 +62,7 @@ func FungibleTokenMetadataViews(fungibleTokenAddr, metadataViewsAddr, viewResolv
 func FungibleTokenSwitchboard(fungibleTokenAddr string) []byte {
 	code := assets.MustAssetString(filenameFTSwitchboard)
 
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+	code = placeholderFungibleToken.ReplaceAllString(code, fungibleTokenImport+"0x"+fungibleTokenAddr)
 
 	return []byte(code)
 }
@@ -67,9 +73,9 @@ func FungibleTokenSwitchboard(fungibleTokenAddr string) []byte {
 func ExampleToken(fungibleTokenAddr, metadataViewsAddr, ftMetadataViewsAddr string) []byte {
 	code := assets.MustAssetString(filenameExampleToken)
 
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
-	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
-	code = placeholderFTMetadataViews.ReplaceAllString(code, "0x"+ftMetadataViewsAddr)
+	code = placeholderFungibleToken.ReplaceAllString(code, fungibleTokenImport+"0x"+fungibleTokenAddr)
+	code = placeholderMetadataViews.ReplaceAllString(code, metadataViewsImport+"0x"+metadataViewsAddr)
+	code = placeholderFTMetadataViews.ReplaceAllString(code, ftMetadataViewsImport+"0x"+ftMetadataViewsAddr)
 
 	return []byte(code)
 }
@@ -93,9 +99,9 @@ func CustomToken(fungibleTokenAddr,
 
 	code := assets.MustAssetString(filenameExampleToken)
 
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
-	code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metadataViewsAddr)
-	code = placeholderFTMetadataViews.ReplaceAllString(code, "0x"+ftMetadataViewsAddr)
+	code = placeholderFungibleToken.ReplaceAllString(code, fungibleTokenImport+"0x"+fungibleTokenAddr)
+	code = placeholderMetadataViews.ReplaceAllString(code, metadataViewsImport+"0x"+metadataViewsAddr)
+	code = placeholderFTMetadataViews.ReplaceAllString(code, ftMetadataViewsImport+"0x"+ftMetadataViewsAddr)
 
 	code = strings.ReplaceAll(
 		code,
@@ -124,7 +130,7 @@ func CustomToken(fungibleTokenAddr,
 func TokenForwarding(fungibleTokenAddr string) []byte {
 	code := assets.MustAssetString(filenameTokenForwarding)
 
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+	code = placeholderFungibleToken.ReplaceAllString(code, fungibleTokenImport+"0x"+fungibleTokenAddr)
 
 	return []byte(code)
 }
@@ -135,7 +141,7 @@ func TokenForwarding(fungibleTokenAddr string) []byte {
 func CustomTokenForwarding(fungibleTokenAddr, tokenName, storageName string) []byte {
 	code := assets.MustAssetString(filenameTokenForwarding)
 
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+	code = placeholderFungibleToken.ReplaceAllString(code, fungibleTokenImport+"0x"+fungibleTokenAddr)
 
 	code = strings.ReplaceAll(
 		code,
@@ -155,7 +161,7 @@ func CustomTokenForwarding(fungibleTokenAddr, tokenName, storageName string) []b
 func PrivateReceiverForwarder(fungibleTokenAddr string) []byte {
 	code := assets.MustAssetString(filenamePrivateForwarder)
 
-	code = placeholderFungibleToken.ReplaceAllString(code, "0x"+fungibleTokenAddr)
+	code = placeholderFungibleToken.ReplaceAllString(code, fungibleTokenImport+"0x"+fungibleTokenAddr)
 
 	return []byte(code)
 }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index ebc6665a..9f3a657b 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,14 +1,14 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (9.739kB)
-// ../../../contracts/FungibleToken.cdc (10.058kB)
-// ../../../contracts/FungibleTokenMetadataViews.cdc (6.652kB)
-// ../../../contracts/FungibleTokenSwitchboard.cdc (18.044kB)
+// ../../../contracts/ExampleToken.cdc (9.669kB)
+// ../../../contracts/FungibleToken.cdc (10.028kB)
+// ../../../contracts/FungibleTokenMetadataViews.cdc (6.596kB)
+// ../../../contracts/FungibleTokenSwitchboard.cdc (18.025kB)
 // ../../../contracts/utility/Burner.cdc (1.882kB)
-// ../../../contracts/utility/MetadataViews.cdc (25.552kB)
-// ../../../contracts/utility/NonFungibleToken.cdc (10.595kB)
-// ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.864kB)
-// ../../../contracts/utility/TokenForwarding.cdc (5.451kB)
+// ../../../contracts/utility/MetadataViews.cdc (25.493kB)
+// ../../../contracts/utility/NonFungibleToken.cdc (10.577kB)
+// ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.845kB)
+// ../../../contracts/utility/TokenForwarding.cdc (5.432kB)
 // ../../../contracts/utility/ViewResolver.cdc (2.718kB)
 
 package assets
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x5a\x5f\x6f\xdb\x38\x12\x7f\xcf\xa7\x98\xf5\x01\x77\x36\x9a\x38\xe9\x6e\xdb\xdb\x35\x92\x66\xd3\x6e\x83\x3b\x60\x0b\x14\x6d\xb6\xfb\x10\x14\x0d\x2d\x8d\x6d\x5e\x24\x52\x20\x29\x3b\xde\x20\xdf\xfd\x30\xfc\x23\x93\xb2\x94\x38\x69\x0f\xe7\x87\xc4\x92\x66\x86\xc3\x99\x1f\xe7\x9f\xcc\xcb\x4a\x2a\x03\xe7\xb5\x98\xf3\x69\x81\x17\xf2\x1a\x05\xcc\x94\x2c\x61\x90\xdc\x1b\xec\x79\xca\xf7\x68\x58\xce\x0c\xfb\xcc\x71\xa5\x3d\x65\x72\xaf\xa1\x4c\xf8\xbb\xd8\xfa\x09\x06\x7b\x7b\x2c\xcb\x50\xeb\x21\x2b\x8a\x11\x64\x52\x18\xc5\x32\x03\xef\x6e\x58\x59\x79\x86\x49\x4b\xe9\xdb\xbd\x3d\x00\x80\xc3\xc3\x43\xb8\x58\x20\xe0\x12\x85\x01\xb3\x60\x06\xb8\x06\x2c\xb9\x31\x98\xc3\x6a\x81\x02\x04\xae\xc0\x10\x8f\x06\xa6\x10\x4a\x2e\x0c\xe6\x96\x39\x5e\xd4\x09\xb0\xb2\xf5\x7b\x4b\x32\x64\xa5\xac\x85\x99\xc0\x1f\xe7\xfc\xe6\xd5\x8b\x7d\x30\xeb\x0a\x27\xf0\xc9\x28\x2e\xe6\xa3\x68\x79\x69\x58\x01\xba\xae\xaa\x62\x0d\x72\x96\x68\xad\x81\x0b\xc0\x1b\xae\x0d\x8a\x0c\xb7\x16\x5d\x32\x05\x86\xd8\x3f\x59\xee\xb0\xd4\x46\xf6\x59\x5e\x72\x01\x1f\x98\x59\x6c\xf1\x16\x68\xdc\xe3\x4f\x46\x2a\x36\x47\x22\x22\xed\x9a\x8b\xbd\xed\xe5\x38\xae\x60\x56\x0b\x98\xa3\x79\xeb\x8d\x6c\x1d\x30\x54\xa8\x65\xad\x32\xbc\xb0\x5b\xa4\xbf\xa7\xa3\x09\x5c\xd2\x97\x2f\x70\x6b\x05\xd1\x47\xa1\xa9\x95\x80\xcb\xe6\x06\x7d\x88\xe8\xb8\xdf\xb9\xe3\xf3\x0b\xfa\xff\x7a\x38\xda\x7f\x24\xdb\x6f\x5c\x57\x05\x5b\x3f\x81\xf3\x33\xab\x0b\xf3\x1b\x33\xec\xd1\xbc\x17\x1b\x6f\xbc\x1e\x8e\x1a\xd6\x2f\xf6\xdb\xdd\xb6\x49\xc9\x9a\x64\xbc\x62\x89\xb1\x45\xbb\x0c\xba\x6f\xed\xbf\xb9\x31\x9a\xc0\x99\x58\x7f\x32\xaa\xce\xcc\x69\x64\x64\xbd\xe2\x26\x5b\x34\xc4\xd1\x13\xfa\x64\x4c\xe3\xee\x26\x9f\x24\xbc\x91\x0b\x1f\x64\x1e\x6e\x71\xd2\x67\x66\xbc\x53\x26\xa0\xb1\x98\x8d\x1f\xde\xba\xe0\x45\x7b\xe3\xbb\x7a\x7d\x04\x4c\xff\x70\xbf\xa6\x9e\xf8\x74\xbf\x47\xdb\x06\x08\xff\x3b\x7d\x63\xac\xed\xa0\x71\x43\x7e\xba\xa5\xf2\xe8\x29\x8e\xde\x98\x6b\xdb\xd7\x14\x22\x4a\xcc\x39\x83\x93\x34\x90\x8f\xdf\xd3\xdd\x6e\x17\x5b\xc3\xf1\x02\x27\x2d\x96\x7f\x5d\x5c\x7c\x38\xe7\x05\xf6\x73\xd5\xaa\x98\xc0\x60\x61\x4c\xa5\x27\x87\x87\x4c\x6b\x34\x7a\xbc\xc2\xa9\xe6\x06\x0f\x48\xa4\x1e\x67\xb2\x3c\x7c\x39\x7b\xf5\xe3\x2f\x2f\xb2\xa3\xec\x9f\xec\xe7\x2c\xcf\x5f\xbd\xf8\x69\xfa\x3c\xfb\xf9\xc7\xa3\xd6\x03\xf6\xf2\x65\x36\x7d\x9e\xfd\xf2\xd3\xab\xaf\xe7\x85\x5c\x7d\xfd\x53\xaa\xbc\x64\xea\x7a\xac\x97\xf3\x41\xa7\x0e\xa3\x6e\x14\x58\x0b\x38\x6f\x0e\x78\xc9\xe6\x78\xa8\x97\xf3\x67\x37\x65\xb1\x2d\x65\xd4\x6f\x42\xdd\x6d\x43\x3d\xbc\xb4\x8f\xbf\x6c\xb3\xee\x72\xd2\xbc\xf7\xba\x6d\x2a\x58\x49\x3a\xfb\x7c\xd2\x08\x72\x49\x6a\xd0\xbd\x59\xbd\x2e\xa7\x92\xdc\xf0\xee\xfc\xa2\x87\x24\x47\x9d\x29\x5e\x19\x2e\xc5\x04\x06\x17\x0b\xae\x29\x8a\x39\xd1\x36\x4f\x52\x06\xad\x35\xe6\xc0\x34\x30\x4a\x5f\x6e\x7d\x23\x61\x81\x45\x05\x6b\x59\x43\x8e\x4b\x2c\xa4\xfd\xae\x40\xe0\x8d\x81\xf3\x0b\xf8\x9b\x14\xe4\xa9\x71\xcf\xba\x78\x63\x50\x09\x56\xfc\xf1\xf1\xf7\x36\xb6\xde\x6d\x1e\x0d\x1b\x00\xf9\x75\x0f\x66\x66\x2c\xc5\x8c\x04\x4b\x35\x1f\xf4\x38\xb9\x90\x73\xa9\x27\xde\x55\x3d\xa6\x91\x19\x67\x85\x9e\xb4\x02\x6a\xfc\x19\x98\x15\x15\x0e\x6a\xb0\x93\x82\x9e\xd8\x82\x9a\xf4\xfb\x3a\x2d\x64\x76\x9d\x2d\x18\x17\x83\x6d\x38\x80\x4d\x20\xed\x3b\x4f\x3a\xf3\x71\xc8\x79\x62\x84\x0f\x12\xba\x91\xa7\xe3\x92\xe2\xd0\x5f\x05\x87\x58\x81\x56\x40\xb7\x9d\x15\x66\xc8\x97\xa8\x3c\x77\x55\x4f\x0b\x9e\x25\xcc\x1f\x3d\x45\xdf\x79\x75\xba\xf6\xf3\xef\xb0\xf8\xef\x5c\x5c\x63\x1e\xc5\xf0\xbf\xc7\x65\xd9\xd8\x4a\xd8\x2a\x0e\xda\x1a\x7c\x93\x90\x4c\x21\x33\xf8\xae\xac\xcc\xda\x12\x9e\xd7\x22\x73\x67\x6e\x38\xab\xc5\x70\x34\x81\x5f\x6f\x13\x1f\x39\x79\x77\xf7\xc0\xd3\x7b\xf6\xf8\x20\x51\xa3\xbd\xd0\x70\x49\x7f\x23\xad\x7f\xed\xd4\xba\x07\xa1\xdb\xb7\x9f\x00\xd1\xb4\x8a\x7a\x0a\x44\x23\x09\xdd\x10\x4d\xca\xe6\x64\x83\xd1\x93\x7b\xf6\x72\xd7\x2e\x6a\x05\x2f\xe2\x22\x8f\xaa\x6f\x6b\xaa\x70\xd5\xdc\x7d\xc7\xb2\x05\xc5\x47\x65\x8f\x09\xda\x18\xc9\x85\x36\x4c\x64\x48\xf5\xbf\x14\xc5\x1a\xcc\x02\x1d\x3b\x35\x00\x66\x81\x5c\x85\x43\x95\xb4\x2d\x33\x0f\x0a\xed\xc9\x3c\x0f\x13\x39\xcc\xe5\x12\x95\xc0\x1c\xa6\x4e\x5a\xa5\xd0\xde\xaf\xa4\x36\xd4\x22\xe5\xdc\x32\x36\xe2\x78\xcb\x9e\xae\xf9\x31\x0b\x5c\xdb\xb6\x27\x63\x45\x81\xf9\x38\x59\x3d\x5b\x60\x76\xad\x61\xc1\xaa\x0a\x05\x30\x03\xaa\x16\x86\x97\x68\x59\x71\x89\x0a\x58\xa3\x21\x25\x85\x96\x8c\x46\xd6\x47\x5f\x41\x11\x85\x70\xfb\x9f\xa2\x3f\x00\x79\xd8\x19\x75\x75\x94\x28\xe4\xac\xb9\xb4\x4d\x9e\xed\xd9\x48\xcd\x46\x1c\xa9\x9b\xe3\x8c\x0b\xcb\xbc\x0f\x5a\xd2\x73\x85\xa4\x82\x90\xb0\x62\x6b\x98\x49\xd2\xad\x64\x05\xcf\xb8\xac\xb5\x73\x87\x91\x7e\x4d\x67\xc5\x8d\x69\x64\xed\x97\xe5\x02\x18\x57\x63\x38\x03\x5d\x21\x65\x03\xb0\xad\x9e\x82\x50\x03\x82\x40\xcc\x35\x49\x9a\x6e\x74\x30\xd2\x36\x8d\x8d\xb8\x4d\x43\x99\x9a\x22\xee\x0b\x1a\x81\x56\x95\x56\xf3\xea\xce\x60\x68\x61\x63\x8f\x58\xec\xc2\x94\x15\x01\x4c\x86\xd2\xf3\xb2\xc1\x61\x7b\x19\x6a\x20\x3d\x75\xda\x3c\x76\x11\xea\xbe\x46\xb1\x8f\xc1\x85\x5e\x47\xff\xa1\xf9\xde\x4b\x9e\x06\xfe\x88\x21\xda\x26\x70\xc1\x0d\x67\x05\xff\x0b\x2d\x0c\xc2\x56\x09\x7c\xc1\x64\xd6\x89\x04\x39\xc2\x62\xc3\x4b\x8c\xc3\xd6\x5e\x47\xad\x60\x69\x6b\xfc\x20\xf2\x24\x08\x4f\x48\xa8\xa0\xe3\x39\x0a\xc3\x67\x1c\x15\x9c\xc0\x60\x2b\xb3\x0c\xb6\x65\x46\xa6\x83\x93\xd8\x76\xc3\x8d\xac\x49\x24\x77\xf4\xc3\xb6\x8c\x8d\x35\xe1\x24\xb2\xce\x23\x24\xc4\x06\xee\x97\x31\xe8\x4a\xb5\x83\x48\xde\x5d\x8a\xbb\xb7\xf6\x54\xbb\x70\xc1\x3a\x4a\xc1\x69\x6d\xc3\xd0\x92\x33\xeb\xb1\xab\x37\x74\xad\xc6\x74\x7b\x38\xba\xa2\x64\xb9\x90\x79\x1b\x14\xe1\x78\xbb\x0e\x99\x68\x69\x99\x29\xcb\xae\x87\x6d\xa7\xf1\x59\xea\xb7\xd7\x70\x34\x3e\xea\xc8\x82\x7d\x41\x1e\x4e\xfa\x1f\x1d\x24\xa2\x13\x91\x77\xf7\x21\xe7\x68\x7c\xd4\x65\xae\xbe\x61\x8a\x1b\xa2\x74\x4d\x4c\x60\x93\x60\x12\x25\x1f\x98\xc0\x08\x5e\x8c\x1e\x52\x20\x1a\x3d\xd8\x3e\xf6\xab\x55\xe9\xfe\xd9\x42\x9f\x3a\x8f\xee\x8b\xe9\x5b\xa7\x86\x84\xa8\x39\x1a\xb2\xbf\x54\x06\xf3\xcf\xa1\x18\xd1\x20\x6d\xcf\xc1\x8a\x62\xed\x75\xd0\xc0\xa0\xe0\xda\x06\x67\x1b\xe3\xec\x88\x4d\x87\x94\xc0\x75\x13\x52\xec\xc6\x2b\x1f\xd2\xef\xf3\x44\xc7\xba\xe4\x97\x5b\xa7\xf5\x1b\x29\x8b\x76\x81\x45\x01\x41\x07\x2e\xcb\xd0\x22\x3f\x81\xdb\x16\x56\x12\xea\x4b\x0b\x9d\x39\xda\xc5\x86\xa3\x2f\x70\x02\x46\xd5\xd8\x65\xf2\x94\x71\x67\x80\x71\xbd\xbd\xab\xa1\x89\xe7\x48\xa4\x68\xb7\x97\x83\x72\x9d\x76\xb9\x34\x16\xad\xa7\xa7\x30\x63\x85\xc6\x3e\x77\x9e\xe9\x6b\x4d\xa7\x94\x4e\xbf\x9b\x89\xda\x3c\x3f\x45\x58\x71\xb3\xc8\x15\x5b\xf9\x19\xf2\x43\xc9\x6a\xb3\xa1\xb3\x25\xe3\x05\xb3\xf9\xf0\x4f\x2f\xa3\x35\x6e\xbd\x77\x57\x5e\x8b\xe3\x93\xee\xe3\xdd\xd2\x3f\x68\x19\xdf\x4c\x08\x42\x69\xee\x81\xc7\xae\x5d\x51\xe7\x57\x71\x5d\x30\x53\xf3\xba\x44\x61\x12\x46\xaa\xc7\x82\x74\x0f\x5b\xcf\xe4\xed\xe1\xf3\xff\xb8\x77\xe9\x7f\x1b\x5f\xb3\xd0\x59\xb0\x85\x05\x96\x95\x54\x4c\xad\x7d\x29\x18\x46\xda\xb6\x21\xa7\x16\x5c\x16\x79\x22\xc1\x2c\x30\x8c\xb7\x9d\x02\x0a\x61\x8a\x5c\xcc\xc1\x28\x26\xf4\x0c\x95\xc2\x7c\x4c\x0b\x85\x43\x47\x1c\x02\x57\x51\x79\x4c\x72\x42\xb9\xe6\x97\x95\x49\xd1\x66\x25\xbb\xf2\x8f\xca\x31\xde\x20\x20\xc7\x4a\x6a\x1e\x06\xea\x41\x16\x16\x1a\x57\x54\xb2\x75\x6f\xdc\x83\x22\xad\x89\x02\x0e\x5c\x60\x5b\xf5\xa2\xa2\xa3\x9b\xb9\xbf\x0a\x48\x2e\x0f\xbc\x83\xba\x50\x75\x7c\x10\x97\x8f\x9b\x5a\xc3\x71\xf4\x46\x3b\x6f\x82\xc7\xa1\xcb\x9b\x59\x4e\xff\x83\x59\x1b\x62\x16\x56\x2c\xcf\x75\x22\x86\x1b\xdd\x54\x4b\xde\x3b\x49\x9d\x88\x20\x57\x02\x95\xde\x01\x71\x5c\x03\x2b\x0a\xb9\x72\x88\xca\x51\x1b\x25\x5d\x93\xa1\x69\x79\xa7\xda\x14\x33\x56\x6b\xdc\x80\x38\x3d\x53\xa4\x72\x04\x56\x82\x25\xaa\xa0\x89\xaf\x8e\x6d\x49\x6b\x79\xff\xb1\xd1\x7d\xc1\xd2\x7d\x4d\x11\x05\xe1\x4c\xd7\x25\xe6\x76\xeb\xb6\xd8\x9f\x49\xdb\xb4\x78\x90\x59\x0d\x43\xeb\xd1\x03\xa7\x26\x29\x7a\x87\x0c\xe9\x0c\xf6\x75\xd9\xed\x22\x84\xb2\x80\x4b\x41\xc7\x07\xee\xf0\x32\xfd\x43\x17\xd6\x76\x46\xda\x33\x27\xaf\xb3\xf6\x48\x9e\xb4\xca\x0d\x70\x23\x3a\xeb\x92\x34\x96\xb6\x70\xd7\xee\xfb\x77\x04\x60\x1a\x6e\x9c\xaf\xe9\xb4\x01\x8b\xf1\xf4\x17\x2a\xb9\x15\xea\x42\x00\xe1\x9b\xf8\xc0\x8a\x82\x42\x8d\x8f\x13\xd4\x59\xd9\x56\xac\xac\xb5\x8b\x17\x2e\x27\x84\x26\x72\x4b\xa2\xed\xa0\xad\x24\x27\xbb\x89\x3f\xed\xae\x99\x6e\x48\x95\xbb\x2e\xcf\x82\xd7\x3d\x4f\x25\x66\x99\x0d\xbe\xae\x7d\x63\xae\x8a\x0d\x35\x44\x80\x85\x6e\xda\x2a\x57\xe1\x52\x0e\xdc\x0d\x57\x5b\x83\x96\x9d\xa2\xd1\x03\xc1\xe5\x68\x7c\xd4\x1e\x4a\x44\x13\x08\xd7\x9e\xf6\x36\xdc\x21\x7e\xb8\xc8\x62\xb7\xc3\xec\x1b\x43\x6f\x09\xd7\x90\xd3\xd9\x0c\x4d\xec\xe3\x9a\x57\xdf\x1d\xdf\x26\x56\x26\x31\xee\xe5\xe6\x8e\x88\x23\x06\x1d\x2d\xbc\x6f\x83\x1b\xf9\xaf\x0c\x38\x32\xd1\x3b\xd4\xfd\x5e\xdc\xc5\x1c\x6d\xe4\xed\xe4\xc1\x8d\xea\x4f\xc9\x2b\x4f\x69\x40\x9e\x75\xe5\x1b\x2c\x79\xcf\xab\x66\xf7\x3f\xbc\x6a\x4e\x2b\xcb\x71\xd4\x1c\x7e\x5b\xfa\x6a\x81\xac\x33\x90\xc4\x70\xfb\xa6\x00\xf2\x7d\x83\xc7\xf7\x0d\x1c\xdf\x21\x68\x74\x9d\x9f\xce\x60\xd1\x9a\xca\x3e\x88\xb8\xc6\xab\xf0\x40\xe0\xf0\x9e\xb4\xf3\x91\x38\xad\x59\xf4\xa4\x30\x7d\x7e\x74\x44\xa9\x26\x25\x69\xff\x88\x00\x4e\xba\x47\xfe\xee\xb7\x08\xc9\x30\xe7\xad\xd3\x6c\x33\xb8\xb4\x38\x68\x1f\x68\x6b\x3b\xff\x03\x0c\x72\x1d\x5b\x22\xa1\x80\x8b\x64\x24\xea\x44\x36\x5f\x93\x84\xdc\x6d\x81\xf6\x06\x47\x5d\xba\x31\x3f\xc5\x82\x8c\x55\x6c\xca\x0b\x6e\xd6\x01\x7f\x16\x43\x79\x5c\x67\xe3\x4d\x25\x35\xc6\x71\xcd\x8d\x3c\x3c\x0a\xc2\xb0\xc3\xcd\x67\xd1\x9c\xd9\xa6\xd4\xb7\x73\xe1\x99\x59\x28\x59\xcf\x9d\x15\xae\xc2\xf8\xe5\x0a\x6c\x24\x9d\xb1\x2c\xde\x6c\xa8\x76\xe0\xca\xef\xe9\xaa\x53\xc8\x9b\xf0\xb0\x4b\x46\x62\xb0\xd8\x5d\x6f\x59\x15\x4a\x12\x0f\xf1\x71\x63\x02\x8e\x3a\x8c\xb4\xc6\x5c\xeb\xba\xe7\xcd\x86\x2b\x53\xa2\xd9\xd7\x28\x45\x4e\xa7\x5c\x6b\x6e\xbd\x18\xb6\x74\xd9\x07\x66\x26\xbe\xf0\xd9\x4c\xc2\x46\x89\xfa\xa1\xdb\xff\x7f\xab\x1e\xe9\x11\xab\x1d\x8f\xdf\x46\x7b\xdd\xf2\x82\x6a\x04\xf2\xe1\xf1\x81\x65\xdc\x07\x23\xef\x7b\x8d\x16\xc9\x22\x2b\xb8\x0c\xbe\x41\xbd\x4b\xc2\xc3\x9e\x0d\xb4\x16\xb4\xcc\x6e\xc1\xce\xc3\x1d\x42\xc6\xdd\xde\x7f\x03\x00\x00\xff\xff\xe7\x8f\x67\x4a\x0b\x26\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x5a\xdd\x6f\xdb\x38\x12\x7f\xcf\x5f\x31\xeb\x03\xee\x6c\x34\x71\xd2\xdd\xb6\xb7\x6b\x24\xcd\xa6\xdd\x06\x77\xc0\x16\x28\xda\x6c\xf7\x21\x28\x1a\x5a\x1a\xdb\xbc\x48\xa4\x40\x52\x76\xbc\x41\xfe\xf7\xc3\xf0\x43\x26\x65\x29\x71\xd2\x1e\xce\x0f\x89\x25\x71\x3e\x38\xf3\xe3\x7c\xc9\xbc\xac\xa4\x32\x30\x38\xaf\xc5\x9c\x4f\x0b\xbc\x90\xd7\x28\x06\x7b\xe1\xf6\x7b\x34\x2c\x67\x86\x7d\xe6\xb8\xd2\x9b\xdb\xc9\xea\xd6\x9a\x3d\x96\x65\xa8\xf5\x90\x15\xc5\x08\x32\x29\x8c\x62\x99\x81\x77\x37\xac\xac\x3c\xc1\x04\x12\x7a\xb8\xdd\xdb\x03\x00\x38\x3c\x3c\x84\x8b\x05\x02\x2e\x51\x18\x30\x0b\x66\x80\x6b\xc0\x92\x1b\x83\x39\xac\x16\x28\x40\xe0\x0a\x0c\xd1\x68\x60\x0a\xa1\xe4\xc2\x60\x6e\x89\x63\xa1\x8e\x81\xe5\xad\xdf\xdb\x25\x43\x56\xca\x5a\x98\x09\xfc\x71\xce\x6f\x5e\xbd\xd8\x07\xb3\xae\x70\x02\x9f\x8c\xe2\x62\x3e\x8a\xc4\x4b\xc3\x0a\xd0\x75\x55\x15\x6b\x90\xb3\x44\x6b\x0d\x5c\x00\xde\x70\x6d\x50\x64\xb8\x25\x74\xc9\x14\x18\x22\xff\x64\xa9\x83\xa8\x0d\xef\xb3\xbc\xe4\x02\x3e\x30\xb3\xd8\xa2\x2d\xd0\xb8\xc7\x9f\x8c\x54\x6c\x8e\xb4\x88\xb4\x6b\x2e\xf6\xb6\xc5\x71\x5c\xc1\xac\x16\x30\x47\xf3\xd6\x1b\xd9\x3a\x60\xa8\x50\xcb\x5a\x65\x78\x61\xb7\x48\x7f\x4f\x47\x13\xb8\xa4\x2f\x5f\xe0\xd6\x32\xa2\x8f\x42\x53\x2b\x01\x97\xcd\x0d\xfa\xd0\xa2\xe3\x7e\xe7\x8e\xcf\x2f\xe8\xff\xeb\xe1\x68\xff\x91\x64\xbf\x71\x5d\x15\x6c\xfd\x04\xca\xcf\xac\x2e\xcc\x6f\xcc\xb0\x47\xd3\x5e\x6c\xbc\xf1\x7a\x38\x6a\x48\xbf\xd8\x6f\x77\xdb\x26\x25\x6b\x92\xf1\x8a\x25\xc6\x16\xed\x32\xe8\xbe\xb5\xff\xe6\xc6\x68\x02\x67\x62\xfd\xc9\xa8\x3a\x33\xa7\x91\x91\xf5\x8a\x9b\x6c\xd1\x2c\x8e\x9e\xd0\x27\x63\x1a\x77\x37\xf9\x24\xa1\x8d\x5c\xf8\x20\xf1\x70\x8b\x92\x3e\x33\xe3\x9d\x32\x01\x8d\xc5\x6c\xfc\xf0\xd6\x05\x2f\xda\x1b\xdf\xd5\xeb\x23\x60\xfa\x87\xfb\x35\xf5\x8b\x4f\xf7\x7b\xb4\x6d\x80\xf0\xbf\xd3\x37\xc6\xda\x0e\x1a\x37\xcb\x4f\xb7\x54\x1e\x3d\xc5\xd1\x1b\x73\x6d\xfb\x9a\x42\x44\x89\x39\x67\x70\x02\x29\xdd\x7b\xba\xdb\xed\x62\x6b\x38\x5e\xe0\xa4\x45\xf2\xaf\x8b\x8b\x0f\xe7\xbc\xc0\x7e\xaa\x5a\x15\x13\x18\x2c\x8c\xa9\xf4\xe4\xf0\x90\x69\x8d\x46\x8f\x57\x38\xd5\xdc\xe0\x01\xb1\xd4\xe3\x4c\x96\x87\x2f\x67\xaf\x7e\xfc\xe5\x45\x76\x94\xfd\x93\xfd\x9c\xe5\xf9\xab\x17\x3f\x4d\x9f\x67\x3f\xff\x78\xd4\x7a\xc0\x5e\xbe\xcc\xa6\xcf\xb3\x5f\x7e\x7a\xf5\xf5\xbc\x90\xab\xaf\x7f\x4a\x95\x97\x4c\x5d\x8f\xf5\x72\x3e\xe8\xd4\x61\xd4\x8d\x02\x6b\x01\xe7\xcd\x01\x2f\xd9\x1c\x0f\xf5\x72\xfe\xec\xa6\x2c\xb6\xb9\x8c\xfa\x4d\xa8\xbb\x6d\xa8\x87\x97\xf6\xf1\x97\x6d\xd2\x5d\x4e\x9a\xf7\x5e\xb7\x4d\x05\x2b\x49\x67\x9f\x4f\x1a\x46\x2e\x49\x0d\xba\x37\xab\xd7\xe5\x54\x92\x1b\xde\x9d\x5f\xf4\x2c\xc9\x51\x67\x8a\x57\x86\x4b\x31\x81\xc1\xc5\x82\x6b\x8a\x62\x8e\xb5\xcd\x93\x94\x41\x6b\x8d\x39\x30\x0d\x8c\xd2\x97\x93\x6f\x24\x2c\xb0\xa8\x60\x2d\x6b\xc8\x71\x89\x85\xb4\xdf\x15\x08\xbc\x31\x70\x7e\x01\x7f\x93\x82\x3c\x35\xee\x91\x8b\x37\x06\x95\x60\xc5\x1f\x1f\x7f\x6f\x63\xeb\xdd\xe6\xd1\xb0\x01\x90\x97\x7b\x30\x33\x63\x29\x66\xc4\x58\xaa\xf9\xa0\xc7\xc9\x85\x9c\x4b\x3d\xf1\xae\xea\x31\x8d\xcc\x38\x2b\xf4\xa4\x15\x50\xe3\xcf\xc0\xac\xa8\x70\x50\x83\x9d\x14\xf4\x8b\x2d\xa8\x49\xbf\xaf\xd3\x42\x66\xd7\xd9\x82\x71\x31\xd8\x86\x03\xd8\x04\xd2\xbe\xf3\xa4\x33\x1f\x87\x9c\x27\x46\xf8\xc0\xa1\x1b\x79\x3a\x2e\x29\x0e\xfd\x55\x70\x88\x65\x68\x19\x74\xdb\x59\x61\x86\x7c\x89\xca\x53\x57\xf5\xb4\xe0\x59\x42\xfc\xd1\xaf\xe8\x3b\xaf\x4e\xd7\x7e\xfa\x1d\x84\xff\xce\xc5\x35\xe6\x51\x0c\xff\x7b\x5c\x96\x8d\x2d\x87\xad\xe2\xa0\xad\xc1\x37\x31\xc9\x14\x32\x83\xef\xca\xca\xac\xed\xc2\xf3\x5a\x64\xee\xcc\x0d\x67\xb5\x18\x8e\x26\xf0\xeb\x6d\xe2\x23\xc7\xef\xee\x1e\x78\x7a\xcf\x1e\x1f\x24\x6a\xb4\x05\x0d\x97\xf4\x37\xd2\xfa\xd7\x4e\xad\x7b\x10\xba\x7d\xfb\x09\x10\x4d\xab\xa8\xa7\x40\x34\xe2\xd0\x0d\xd1\xa4\x6c\x4e\x36\x18\x3d\xb9\x67\x2f\x77\xed\xa2\x56\xf0\x22\x2e\xf2\xa8\xfa\xb6\xa6\x0a\x57\xcd\xdd\x77\x2c\x5b\x50\x7c\x54\xf6\x98\xa0\x8d\x91\x5c\x68\xc3\x44\x86\x54\xff\x4b\x51\xac\xc1\x2c\xd0\x91\x53\x03\x60\x16\xc8\x55\x38\x54\x49\xdb\x32\xf3\xa0\xd0\x7e\x99\xa7\x61\x22\x87\xb9\x5c\xa2\x12\x98\xc3\xd4\x71\xab\x14\xda\xfb\x95\xd4\x86\x5a\xa4\x9c\x5b\xc2\x86\x1d\x6f\xd9\xd3\x35\x3f\x66\x81\x6b\xdb\xf6\x64\xac\x28\x30\x1f\x27\xd2\xb3\x05\x66\xd7\x1a\x16\xac\xaa\x50\x00\x33\xa0\x6a\x61\x78\x89\x96\x14\x97\xa8\x80\x35\x1a\x52\x52\x68\xf1\x68\x78\x7d\xf4\x15\x14\xad\x10\x6e\xff\x53\xf4\x07\x20\x0f\x3b\xa3\xae\x8e\x12\x85\x9c\x35\x97\xb6\xc9\xb3\x3d\x1b\xa9\xd9\xb0\x23\x75\x73\x9c\x71\x61\x89\xf7\x41\x4b\x7a\xae\x90\x54\x10\x12\x56\x6c\x0d\x33\x49\xba\x95\xac\xe0\x19\x97\xb5\x76\xee\x30\xd2\xcb\x74\x56\xdc\x98\x46\xd6\x5e\x2c\x17\xc0\xb8\x1a\xc3\x19\xe8\x0a\x29\x1b\x80\x6d\xf5\x14\x84\x1a\x10\x04\x62\xae\x89\xd3\x74\xa3\x83\x91\xb6\x69\x6c\xd8\x6d\x1a\xca\xd4\x14\x71\x5f\xd0\x30\xb4\xaa\xb4\x9a\x57\x77\x06\x43\x0b\x1b\x7b\xc4\x62\x17\xa6\xac\x08\x60\x32\x94\x9e\x97\x0d\x0e\xdb\x62\xa8\x81\xf4\xab\xd3\xe6\xb1\x6b\xa1\xee\x6b\x14\xfb\x08\x5c\xe8\x75\xeb\x3f\x34\xdf\x7b\x97\xa7\x81\x3f\x22\x88\xb6\x09\x5c\x70\xc3\x59\xc1\xff\x42\x0b\x83\xb0\x55\x02\x5f\x30\x99\x75\x22\x41\x8e\xb0\xd8\xd0\x12\xe1\xb0\xb5\xd7\x51\x2b\x58\xda\x1a\x3f\xb0\x3c\x09\xcc\x93\x25\x54\xd0\xf1\x1c\x85\xe1\x33\x8e\x0a\x4e\x60\xb0\x95\x59\x06\xdb\x3c\x23\xd3\xc1\x49\x6c\xbb\xe1\x86\xd7\x24\xe2\x3b\xfa\x61\x9b\xc7\xc6\x9a\x70\x12\x59\xe7\x11\x1c\x62\x03\xf7\xf3\x18\x74\xa5\xda\x41\xc4\xef\x2e\xc5\xdd\x5b\x7b\xaa\x5d\xb8\x60\x1d\xa5\xe0\xb4\xb6\x61\x68\xc9\x99\xf5\xd8\xd5\x1b\xba\x56\x63\xba\x3d\x1c\x5d\x51\xb2\x5c\xc8\xbc\x0d\x8a\x70\xbc\x5d\x87\x4c\x6b\x49\xcc\x94\x65\xd7\xc3\xb6\xd3\xf8\x2c\xf5\xdb\x6b\x38\x1a\x1f\x75\x64\xc1\xbe\x20\x0f\x27\xfd\x8f\x0e\x12\xd6\x09\xcb\xbb\xfb\x90\x73\x34\x3e\xea\x32\x57\xdf\x30\xc5\x0d\x51\xba\x26\x26\xb0\x49\x30\x89\x92\x0f\x4c\x60\x04\x2f\x46\x0f\x29\x10\x8d\x1e\x6c\x1f\xfb\xd5\xaa\x74\xff\x6c\xa1\x4f\x9d\x47\xf7\xc5\xf4\xad\x53\x43\x42\xd4\x1c\x0d\xd9\x5f\x2a\x83\xf9\xe7\x50\x8c\x68\x90\xb6\xe7\x60\x45\xb1\xf6\x3a\x68\x60\x50\x70\x6d\x83\xb3\x8d\x71\x76\xc4\xa6\x43\x4a\xe0\xba\x09\x29\x76\xe3\x95\x0f\xe9\xf7\x79\xa2\x43\x2e\xf9\xe5\xd6\x69\xfd\x46\xca\xa2\x5d\x60\x51\x40\xd0\x81\xca\x12\xb4\x96\x9f\xc0\x6d\x0b\x2b\xc9\xea\x4b\x0b\x9d\x39\x5a\x61\xc3\xd1\x17\x38\x01\xa3\x6a\xec\x32\x79\x4a\xb8\x33\xc0\xb8\xde\xde\xd5\xd0\xc4\x73\x24\x52\xb4\xdb\xcb\x41\xb9\x4e\xbb\x5c\x1a\x8b\xd6\xd3\x53\x98\xb1\x42\x63\x9f\x3b\xcf\xf4\xb5\xa6\x53\x4a\xa7\xdf\xcd\x44\x6d\x9e\x9f\x22\xac\xb8\x59\xe4\x8a\xad\x04\xcc\x94\x2c\x1f\x4c\x56\x9b\x0d\x9d\x2d\x19\x2f\x98\xcd\x87\x7f\x7a\x1e\xad\x71\xeb\xbd\xbb\xf2\x5a\x1c\x9f\x74\x1f\xef\x96\xfe\x41\xcb\xf8\x66\xb2\x20\x94\xe6\x1e\x78\xec\xda\x15\x75\x5e\x8a\xeb\x82\x99\x9a\xd7\x25\x0a\x93\x10\x52\x3d\x16\xb8\x7b\xd8\x7a\x22\x6f\x0f\x9f\xff\xc7\xbd\xa2\xff\x6d\x7c\xcd\x42\x67\xc1\x16\x16\x58\x56\x52\x31\xb5\xf6\xa5\x60\x18\x69\xdb\x86\x9c\x5a\x70\x59\xe4\x09\x07\xb3\xc0\x30\xde\x76\x0a\x28\x84\x29\x72\x31\x07\xa3\x98\xd0\x33\x54\x0a\xf3\x31\x09\x0a\x87\x8e\x28\x04\xae\xa2\xf2\x98\xf8\x84\x72\xcd\x8b\x95\x49\xd1\x66\x39\xbb\xf2\x8f\xca\x31\xde\x20\x20\xc7\x4a\x6a\x1e\x06\xea\x81\x17\x16\x1a\x57\x54\xb2\x75\x6f\xdc\x83\x22\xad\x89\x02\x0e\x5c\x60\x5b\xf5\xa2\xa2\xa3\x9b\xb9\xbf\x0a\x48\x2e\x0f\xbc\x83\xba\x50\x75\x7c\x10\x97\x8f\x9b\x5a\xc3\x51\xf4\x46\x3b\x6f\x82\xc7\xa1\xcb\x9b\x59\x4e\xff\x83\x59\x1b\x62\x16\x56\x2c\xcf\x75\xc2\x86\x1b\xdd\x54\x4b\xde\x3b\x49\x9d\x88\x20\x57\x02\x95\xde\x01\x71\x5c\x03\x2b\x0a\xb9\x72\x88\xca\x51\x1b\x25\x5d\x93\xa1\x49\xbc\x53\x6d\x8a\x19\xab\x35\x6e\x40\x9c\x9e\x29\x52\x39\x02\x2b\xc1\x12\x55\xd0\xc4\x57\xc7\xb6\xa4\xb5\xb4\xff\xd8\xe8\xbe\x60\xe9\xbe\xa6\x88\x82\x70\xa6\xeb\x12\x73\xbb\x75\x5b\xec\xcf\xa4\x6d\x5a\x3c\xc8\xac\x86\xa1\xf5\xe8\x81\x53\x93\x14\xbd\x43\x86\x74\x06\xfb\xba\xec\x76\x11\x42\x59\xc0\xa5\xa0\xe3\x03\x77\x78\x99\xfe\xa1\x0b\x6b\x3b\x23\xed\x99\xe3\xd7\x59\x7b\x24\x4f\x5a\xe5\x06\xb8\x11\x9d\x75\x49\x1a\x4b\x5b\xb8\x6b\xf7\xfd\x3b\x02\x30\x0d\x37\xce\xd7\x74\xda\x80\xc5\x78\xfa\x0b\x95\xdc\x0a\x75\x21\x80\xf0\x4d\x7c\x60\x45\x41\xa1\xc6\xc7\x09\xea\xac\x6c\x2b\x56\xd6\xda\xc5\x0b\x97\x13\x42\x13\xb9\xc5\xd1\x76\xd0\x96\x93\xe3\xdd\xc4\x9f\x76\xd7\x4c\x37\xa4\xca\x5d\x97\x67\xc1\xeb\x9e\xa7\x1c\xb3\xcc\x06\x5f\xd7\xbe\x31\x57\xc5\x86\x1a\x22\xc0\x42\x37\x6d\x95\xab\x70\x29\x07\xee\x86\xab\xad\x41\xcb\x4e\xd1\xe8\x81\xe0\x72\x34\x3e\x6a\x0f\x25\xa2\x09\x84\x6b\x4f\x7b\x1b\xee\x10\x3f\x5c\x64\xb1\xdb\x61\xf6\x8d\xa1\xb7\x84\x6b\xc8\xe9\x6c\x86\x26\xf6\x71\xcd\xab\xef\x8e\x6f\x13\x2b\x13\x1b\xf7\x72\x73\x47\xc4\x11\x81\x8e\x04\xef\xdb\xe0\x46\xfe\x2b\x03\x8e\x4c\xf4\x0e\x75\xbf\x17\x77\x31\x45\x1b\x79\x3b\x79\x70\xa3\xfa\x53\xf2\xca\x53\x1a\x90\x67\x5d\xf9\x06\x4b\xde\xf3\xaa\xd9\xfd\x0f\xaf\x9a\xd3\xca\x72\x1c\x35\x87\xdf\x96\xbe\x5a\x20\xeb\x0c\x24\x31\xdc\xbe\x29\x80\x7c\xdf\xe0\xf1\x7d\x03\xc7\x77\x08\x1a\x5d\xe7\xa7\x33\x58\xb4\xa6\xb2\x0f\x22\xae\xf1\x2a\x3c\x10\x38\xbc\x27\xed\x7c\x24\x4e\x6b\x16\x3d\x29\x4c\x9f\x1f\x1d\x51\xaa\x49\x97\xb4\x7f\x44\x00\x27\xdd\x23\x7f\xf7\x5b\x84\x64\x98\xf3\xd6\x69\xb6\x19\x5c\x5a\x1c\xb4\x0f\xb4\xb5\x9d\xff\x01\x06\xb9\x8e\x2d\x91\x50\xc0\x45\x32\x12\x75\x2c\x9b\xaf\x49\x42\xee\xb6\x40\x7b\x83\xa3\x2e\xdd\x98\x9f\x62\x41\xc6\x2a\x36\xe5\x05\x37\xeb\x80\x3f\x8b\xa1\x3c\xae\xb3\xf1\xa6\x92\x1a\xe3\xb8\xe6\x46\x1e\x1e\x05\x61\xd8\xe1\xe6\xb3\x68\xce\x6c\x53\xea\xdb\xb9\xf0\xcc\x2c\x94\xac\xe7\xce\x0a\x57\x61\xfc\x72\x05\x36\x92\xce\x58\x16\x6f\x36\x54\x3b\x70\xe5\xf7\x74\xd5\xc9\xe4\x4d\x78\xd8\xc5\x23\x31\x58\xec\xae\xb7\xac\x0a\x25\x89\x87\xf8\xb8\x31\x01\x47\x1d\x46\x5a\x63\xae\x75\xdd\xf3\x66\xc3\x95\x29\xd1\xec\x6b\x94\x22\xa7\x93\xaf\x35\xb7\x5e\x0c\x5b\xba\xec\x03\x33\x13\x5f\xf8\x6c\x26\x61\xa3\x44\xfd\xd0\xed\xff\xbf\x55\x8f\xf4\x88\xd5\x8e\xc7\x6f\xa3\xbd\x6e\x7e\x41\x35\x02\xf9\xf0\xf8\xc0\x12\xee\x83\x91\xf7\xbd\x46\x8b\x78\x91\x15\x5c\x06\xdf\xa0\xde\x25\xe1\x61\xcf\x06\x5a\x02\x2d\xb1\x13\xd8\x79\xb8\x43\xc8\xb8\xdb\xfb\x6f\x00\x00\x00\xff\xff\xeb\x29\x98\x94\xc5\x25\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,11 +95,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0x72, 0x7b, 0x36, 0x45, 0xba, 0x4c, 0xea, 0x6a, 0x3f, 0x84, 0x4c, 0x33, 0xd3, 0x1, 0x96, 0xa6, 0x48, 0x84, 0xd6, 0x23, 0x8e, 0x6, 0x2e, 0xbc, 0xd, 0xe0, 0x8e, 0xe6, 0x9, 0x38, 0x38}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa4, 0xc7, 0x50, 0x84, 0xfc, 0x59, 0xa, 0xfe, 0xe5, 0x7b, 0x68, 0xa4, 0xa5, 0x55, 0x8c, 0x15, 0x3, 0xc4, 0x8, 0x78, 0xbf, 0xc8, 0x90, 0x8a, 0xd, 0xeb, 0xcc, 0xc9, 0x57, 0xb, 0x1d, 0x1e}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4b\x93\xdb\x36\xf2\xbf\xeb\x53\x74\x4d\x0e\x96\xf2\x97\x35\x39\xfc\x6b\x0f\x53\x9b\x38\x76\x12\x57\xf9\x90\xad\xad\x78\x1c\x1f\x76\xb7\x4a\x10\xd9\x92\x90\x01\x01\x06\x00\x25\x6b\xa7\xe6\xbb\x6f\x75\xe3\x41\x82\xa2\x66\xc6\x89\x77\x73\xb1\x86\x04\xfa\xfd\xf8\x75\x33\xd7\x5f\x7f\x3d\x9b\x7d\x05\xb7\x7b\x84\xb7\xca\x1c\xe1\x6d\xa7\x77\x72\xa3\x10\x6e\xcd\x1d\x6a\x70\x5e\xe8\x5a\xd8\x7a\x36\xfb\xea\x2b\x58\xa7\x97\xfc\x6e\x0d\x95\xd1\xde\x8a\xca\xcf\x66\x7c\x7d\xfa\x26\x48\x07\xda\x80\x32\x7a\x87\x16\x84\x06\xa9\x3d\xda\xad\xa8\x70\xe6\xf7\xc2\x83\x50\x0a\xb6\xe9\xaa\xe7\xab\x89\xae\x83\xa3\xe9\x54\x0d\x7b\x71\xa0\x57\xf4\x7c\x6b\x6c\x03\xde\xac\x66\xb3\x77\x5b\x10\xd0\x39\xb4\x0e\x8e\x42\x7b\x47\x07\x6a\x6c\x95\x39\x81\x00\x8d\xc7\x11\xad\x25\xf8\x3d\x4a\xdb\xcb\x5c\x1b\x24\xc1\x3c\x68\xc4\x9a\x2e\xcb\xa6\x55\xd8\xa0\xf6\x74\x12\x0a\x55\x7b\x99\x97\xb0\xe9\x7c\x24\xc5\x0c\xdc\xac\x36\x17\x48\xe4\x4b\x0e\x6a\xdc\x4a\x8d\x35\x48\x0d\x7e\x2f\x5d\x96\x62\x15\xec\xfa\xab\xe8\x94\x5f\x83\x45\x67\x3a\x5b\x0d\x6e\xce\x66\x3f\x89\x6a\x3f\xb6\x4f\x3e\xe7\x4f\x2d\x32\x73\x77\xce\xfd\x32\xd1\xc8\xf4\xef\xd6\x1c\x64\x8d\x76\xbd\x84\xf5\x2f\x58\xa1\x3c\xf0\x6f\xa1\x6b\x58\xbf\x11\x4a\xe8\x0a\xa7\x6e\x3b\xf6\xb6\x1b\xa9\x57\x29\x61\x11\x5a\x8b\x2f\x2b\xa3\x6b\xe9\xa5\xd1\x8e\x49\xb5\xc6\xf9\xe1\x33\xf6\xb9\x45\xe7\xad\xac\xfc\x8c\x04\xc5\x4f\x58\x75\xf4\x12\xcc\x96\x25\xdf\x76\xba\x0a\x87\xd9\x5c\x08\xac\xc9\x8a\xf9\x9e\x80\xf8\x38\x6c\x85\x15\x1e\x61\x83\x95\xe8\x48\x16\x0f\x3b\x79\x40\xc7\xc7\x29\x28\xf8\x87\xd8\x48\x25\xfd\x89\x6c\xe3\xf6\xc2\xe2\x4c\x80\xc5\x2d\x5a\xd4\x15\xc7\x53\x70\x23\x53\x0f\x72\x19\xad\x4e\x80\x9f\x5a\xe3\x22\xa9\xad\x44\x55\xbb\x5e\xa2\x99\xd4\x60\x34\x82\xb1\xd0\x18\x8b\x49\xe2\xde\x14\x14\x98\x14\xd3\xce\x44\x81\x42\x84\x8e\xa4\x69\xc4\x1d\x42\xd5\x39\x6f\x9a\x6c\xe1\x68\x9a\xec\x44\xb2\x4d\x69\x65\x0a\x70\x03\x07\x61\xa5\xe9\xe8\xb4\xd4\x3b\x07\x47\xe9\xf7\x4c\x3e\x44\xe3\x6a\xf6\xd6\x58\xc0\x4f\x82\xc8\x2c\x41\xc0\x56\x74\x15\x7a\xa8\x84\x86\x0d\xf6\xd4\xb1\x86\xcd\x29\x25\x94\xd4\xbb\x59\x30\x07\xa4\xa0\x28\xa2\xe5\xeb\xeb\xd9\x4c\x36\xad\xb1\x1e\x7e\x95\x78\xfc\x05\x9d\x51\x07\xb4\xb0\xb5\xa6\x81\xab\xe1\xa3\xab\x74\xee\x4d\x67\x75\x3e\x11\xfe\xb8\x9a\xcd\xae\xaf\xaf\xcb\xc4\xa2\x27\xc5\xd3\x58\x3c\xb2\x9c\x22\x46\x92\xc5\x41\x11\xb1\xf8\x7b\x27\xed\x54\xca\x95\x89\xc2\x94\x7b\x45\xe0\x23\x82\xf3\x52\xa9\x50\x50\xa4\x07\xe1\x8a\x82\x04\x7b\xb4\x7d\x4c\x79\xfe\x8b\xc3\xcd\x34\x1c\x55\xdb\x4e\x31\xc9\xce\x07\x4f\x36\xe8\xf7\xa6\x8e\x8e\x6b\x84\x3e\x41\x6b\xcd\x6f\xc8\x85\x8b\xd8\x04\x66\x54\x9d\x48\x52\x66\x6a\xf4\xa8\x0e\xb9\x25\x93\x8c\x55\x25\x84\xf7\xe6\x44\xca\x36\x28\xb4\xcb\xba\xae\xb8\x50\x86\x10\xe9\x9f\xd2\x6f\x7e\x96\x23\x20\xe8\x9c\x8c\xe2\x8a\x52\xd0\x97\x15\x51\x55\xe8\xdc\x5c\x28\xb5\xc8\x92\x0c\xec\x50\xf8\xe8\xa6\x74\xfa\xfd\x6c\x06\x00\x70\x7d\x0d\xaf\x35\xa0\xf6\xd2\x47\xfb\x6f\x8d\x25\x19\xcd\x51\xea\x1d\xb3\xa5\xd0\xac\xad\x38\x0a\xc5\x79\xc2\xf1\x19\x22\x42\x84\xa4\x63\x42\x43\x51\x86\xe4\x3e\xc6\xdb\x89\xdd\x35\xf7\x28\x3c\x04\x57\x07\x33\x60\x23\x3d\x85\xf2\x71\x8f\x3a\x31\x20\x03\x26\xce\xfa\x09\x76\x87\x21\x23\x3d\xa7\x72\x7a\x03\xef\xbd\x95\x7a\xb7\x04\xd1\x98\x4e\xfb\x1b\xf8\xf0\x56\x7e\xfa\xcb\xff\x2f\x99\xd4\x0d\xbc\xae\x6b\x8b\xce\xbd\x0a\x7f\x7f\xf8\xf0\xee\xc7\x1b\xf8\xf0\x4e\x7b\x3a\x91\xd9\x0e\x1f\x2f\xfe\x88\x02\x35\xb6\xc6\x49\x1f\x42\xfc\x71\xf1\x7f\x4c\x47\x9f\x10\xdf\x9b\xa1\xf0\xde\x94\xa2\x67\x86\x17\x44\xff\xe9\x11\xb1\xf7\x08\x3b\x65\x36\x42\xc1\xa6\xb3\x3a\x66\x05\x1d\xab\x84\x52\x74\x8a\x4a\x94\x00\x6d\xf4\xcb\x7f\xa3\x35\xb0\x09\xcd\xe5\x82\x3e\x5c\x2c\x9e\x52\x66\x6c\xfb\x81\xa4\x6f\x06\xd4\xa9\xba\x0c\x8d\xdf\x47\x38\x6b\xd2\x86\x62\xe7\x7a\xac\x92\x0b\xfd\x3f\xf3\x3d\x0a\xeb\x1d\x7a\x4f\x51\x1d\x25\x07\xc9\x65\x93\x6b\x53\xc1\x67\xa8\xcd\x79\xe7\x4c\xa2\xc1\x3d\x1f\x1e\x5f\x38\x08\x9b\x18\x24\x45\xf9\xdc\x43\xaf\x5b\xaa\xce\xcf\x51\x0e\x49\xc6\x2a\xf6\xb1\x58\x2f\x42\x49\x20\x8d\x52\xa8\x52\xe9\x4f\x44\x86\x19\xca\x5d\x2d\x55\x11\x4e\xe8\x53\x8b\xab\x33\xbe\xef\x3c\x64\x1c\x15\x19\x96\xbc\x8c\x86\xf5\x26\x81\x09\x2a\xa8\xcb\x7c\x77\xd0\xbb\x15\x0a\xea\x95\xa6\x8d\xe1\xd4\x1a\xe7\x64\x6c\x97\x66\x0b\x95\x45\xc1\x42\xc4\x96\x19\xfd\x66\x5d\x2f\x3a\x69\x4c\x40\x8c\xf1\x1c\xd9\x54\x58\xa9\x4e\x11\x98\x71\xc1\x35\x47\x9d\xcc\xbb\xfa\x1c\xa7\xe5\x8e\x18\x0b\x5f\x62\xf9\x36\x86\x0a\x67\xa8\xbb\x03\x91\xc5\x02\x49\xd0\xd4\xb5\x58\xc9\xad\xac\x62\xec\xf6\x25\xb0\xa0\x22\x1d\x88\x83\x90\x4a\x84\xa6\x45\x3d\x3a\x57\x91\xe2\xe0\x6d\x80\x8d\x04\x87\x37\xa9\x19\x31\xeb\x83\x91\x35\xb4\x42\xcb\x8a\x2c\xc4\x19\x49\x79\xc7\x7f\xa4\x12\x3a\x24\x94\x73\x36\x07\xb3\x83\x4e\xdf\x69\x33\x62\xf8\xba\x0e\x90\x4d\x28\x75\x5a\x92\x4a\xec\x98\xac\xa2\x83\xb6\x0b\x5c\x38\x5e\x9a\x4e\x79\xd9\x2a\x84\x03\x95\xaa\x91\x8e\x11\x58\x65\xa0\x5a\xed\xb1\xba\x0b\x5d\x35\x02\xa8\x70\x0b\x3a\xed\xa5\xe2\x07\x35\x3a\xee\x6f\xc1\x78\x63\x93\x59\x14\xd5\x1e\xeb\x25\xb4\xc6\x53\x7c\x92\x8c\xb0\x47\xd5\x26\xad\xa1\x45\xcb\x29\x9a\xbd\x9d\x6e\x4f\xa7\x9e\xc4\x23\xe5\x3e\x48\xf7\x3a\x79\xe3\xd6\xa4\xc6\x30\x2f\xab\xcf\xe2\x06\xde\x18\xa3\xca\x68\x48\xa6\x06\xd7\x6d\xe2\xec\xf2\x68\x3a\xa5\x40\x2b\x88\x10\x5e\xb6\xe8\x3b\x4b\x5d\x20\xe2\xd2\x8c\xef\x2c\x36\xe6\xc0\x0d\x21\xe0\xbc\xc1\xc5\x51\xa0\xf4\x08\xfa\x85\x8b\x6a\x82\xc2\x03\x2a\x32\xdd\x3a\xea\x9d\x94\x5b\xac\x8b\xdb\xef\x0d\x81\x6e\x63\xc9\xc7\x14\x5d\xe1\xb6\xf4\x4b\x86\xbd\x61\x1c\x43\x49\xd0\x28\xe7\x16\x98\x0d\x61\x1e\x90\xde\xa1\xda\x16\xd4\x0c\x0f\x7c\xb1\xab\xd7\x03\xf0\xcd\x5a\xad\x93\x0c\xeb\x69\x6d\xc6\x92\xb2\x87\x8e\x17\x9d\xf2\xfd\x3d\x5b\xec\x61\x50\x5e\xe9\x3f\x1a\x40\x46\x8f\x02\x23\x58\x5b\x74\x71\x44\xda\x32\x48\x37\xd1\xd0\xe4\x01\x38\x08\xd5\xe1\xd9\xb5\x70\x65\x95\x72\xe7\xdb\x6f\x53\x6b\x3a\x3b\x49\xff\x5d\x7d\xec\x21\x50\x2c\x03\x4d\xe7\x3c\x65\x30\x71\x72\xa2\x41\xc2\xa0\xc3\x6c\x8c\x09\xd1\x23\x18\x56\xea\xea\x8c\x3c\xb5\xe0\x33\xe8\x42\x0e\x58\xed\xd0\xdf\x9e\x5a\x9c\x2f\x56\xb2\x26\xd3\x6f\x25\xda\xbe\x83\x86\x7f\x13\x9a\xe1\x0b\xe6\xa8\xd1\xbe\x5a\x89\x00\x0e\x86\xcd\x95\x5f\x77\x9d\xac\xcf\xb0\x4d\xb4\x03\xbd\x5b\x14\xb2\x3d\xcc\xca\x5f\x83\xee\x95\x86\xcc\x3f\xdf\xbd\x22\x5a\x99\x68\x5e\x52\x47\x2f\x3e\xa3\x79\x7d\xc4\xd4\x32\xa4\xae\x54\x57\x23\x08\xc8\x93\x6a\x10\x83\x2b\x55\xe9\xa0\xd8\xb6\x32\x95\x23\x66\x84\x4f\x13\xdf\x73\x06\xbe\x60\x86\x80\xdc\x33\x1d\x9a\xd0\x6a\x93\x0e\x4d\x4f\x77\x4b\x50\xf2\x0e\xc1\xb5\x4a\x32\xe4\x6f\xa0\x6b\xa9\x6a\x64\x22\x0e\x75\x1d\x5e\xd0\xb0\x28\xb7\x9c\x6f\x1e\x5a\x15\x66\x53\x78\x7e\xdb\x4b\xce\x1a\xb7\xbd\x68\x7a\xf0\xe2\x0e\xfb\x2a\x45\x95\x2b\xbe\xa1\x6a\x71\xc1\x0d\xc5\xde\xe2\xb1\x94\x67\xa1\x28\xdb\x23\xcd\x79\x88\xd6\x94\xe1\x8b\x52\xa4\x1d\xfa\xf7\x5d\x4b\x63\x27\xd6\x7c\x80\xc2\x9f\xd0\x44\x6a\x5f\x83\xa2\xaa\xa4\xe3\x56\x7c\x08\x43\x3f\x1f\x8c\x03\x14\xf7\x95\xa8\x34\xc9\xd1\x0e\xda\xd8\x64\xb3\x98\xe6\x3b\x5f\xdc\xc0\xfd\x2d\xa7\x23\xb5\x89\x87\x52\xd6\x5f\xa2\x24\xc7\x3d\x72\x11\x35\x96\x03\x90\x31\xb4\x3c\x50\x67\x3e\xb5\xdc\x92\x83\x04\x61\x4c\xa7\xb7\x45\xf2\x24\x6a\xaf\x93\x1e\x1c\xab\x42\xc7\x5b\x40\xa3\x28\x13\x72\x7b\xae\xd8\xbf\x51\xd1\x89\x75\xcd\xdb\x8e\x27\xcc\x1a\xb7\x79\xaa\xb8\xa8\xa2\x74\xe7\x1a\xc6\x5a\x43\x3f\x53\x2b\x1c\x25\x7a\x3f\xae\x14\x58\xb1\xc6\x80\x25\xd8\xd4\x7d\xa4\x85\xa6\xc2\x2b\x93\x7e\xc1\x97\xf5\x5d\x26\xd4\xbc\x84\x5b\x2b\xb4\xdb\xa2\x35\x76\x99\x51\x59\xd8\x57\xa5\xe1\xb4\xc7\x96\x5d\x3f\xac\x90\x7d\x5d\xd2\x02\x4e\xe8\x3f\x27\x0d\x58\x95\x9b\x81\x34\x3d\xe3\x2c\xd7\x70\x3c\x5e\xa5\x1f\xcb\xb8\x02\x59\xd1\x3f\x8c\xee\xc6\xf8\x51\xa2\xaa\x63\xec\x59\x31\xae\x32\x86\x20\xe4\xe1\xb2\x83\x26\x66\x85\x82\xfa\x0f\x71\xf4\x22\xb0\x27\xc6\xfb\x43\xe9\x78\x52\xc3\x1a\x0e\x52\x84\x0d\x41\x14\x96\x1e\xcf\x17\xeb\x38\xc3\x15\x14\xdf\x8d\x56\x32\xb1\x5e\x51\xa8\x6d\x8c\xb9\xbb\x43\x64\xf4\x65\x6c\x68\x4d\xf4\x9c\x07\xba\x12\x0b\xb2\xbe\x31\x2a\x37\x58\x0e\x92\x51\x61\x12\xaf\x46\xe7\xad\x39\x61\x5d\x82\xb7\x9f\x89\xea\x78\x37\x74\x1c\x2e\x59\xba\xb6\x16\x1e\xfb\x92\xf9\x82\xda\xba\x17\x8a\x23\x40\x9d\x4a\x59\x0c\x75\x7e\x45\xd8\xa5\xdc\xa1\xb8\xb0\xab\xd9\x20\xea\x64\xa8\x00\xcd\x02\x02\xcb\x88\x2e\xd0\x5c\x3d\x6a\x26\x8e\xeb\xb4\x1f\x76\xe8\x0b\x2f\x7b\x03\x61\x22\xc6\xad\xb1\x41\x6a\x2a\xe0\xa3\x3d\xe8\xf9\x1c\x20\x19\xac\xb4\x36\x4c\xcc\xc1\x6a\xdc\xc5\x23\xdc\x74\xad\x68\x1a\xc6\xe6\xd4\x77\xc2\x44\x1d\xbd\xb1\x1a\xc7\x53\x5a\xff\x84\x82\x4b\xea\x52\xec\x6c\x44\x75\x37\x5f\x8c\xa1\x94\xc5\x09\x24\xc5\xee\x2e\xa6\xf6\x67\xc0\x10\x3e\xb2\x49\x19\x34\x81\x38\x2e\xa1\x0a\xb8\x0c\xe9\x86\x34\x09\x99\x7d\xb3\xfa\xe6\x06\xae\x6e\x07\xf6\x4e\xe0\x8b\xfd\x10\x6d\x5f\x77\x36\x2d\xac\x86\xca\xa7\x35\x86\x33\xb1\x90\x70\x81\xa5\x5a\x42\xf7\xc9\xbe\x58\x5f\x3d\x22\x63\x29\x0c\xc9\x32\x00\x46\xff\xeb\xf6\x95\x40\x56\xac\xf9\xa3\x14\x02\x2e\xc7\x8c\x80\xea\x72\x05\x1a\xc7\x32\x61\x11\xf0\x53\x8b\x95\xc7\x7a\x9c\x41\x3c\xd9\xe5\x66\xd5\x8f\xda\x24\xdb\x32\x58\x0f\x4f\x21\x9f\x74\x9f\x08\x71\x8e\xe4\xed\x6b\x21\x4b\x41\x9e\xa0\x1e\x2b\x76\x96\x09\x7f\xa2\x1f\x8f\x02\xe7\xfa\x1a\xde\xa0\x32\xc7\x38\x94\x92\x29\x06\x3b\xf2\x04\xdd\x5c\x67\x23\x30\xb5\x9d\x7e\xe9\x65\x13\xbf\xbd\x70\xef\x1a\xd3\x63\x93\xec\x30\x75\xdc\xe1\x9e\xac\x15\x8c\xc7\x72\xa3\x89\x0d\x2f\x02\xbd\xf2\xfb\xda\x2a\x6c\x6d\x57\x50\xd0\x97\xdb\xb3\xf4\x72\xef\xbb\x0d\x49\x33\x37\xdb\xd0\x96\xff\xfa\xfd\xfd\x04\xa5\x87\xef\xe6\x8b\x71\x46\x03\x8f\x34\x8c\x0b\xee\x4b\xb2\x37\x0c\x14\xca\x98\x7e\x00\x54\x6e\xaa\x04\x64\x60\xc3\xe3\x5e\xd3\xfa\x13\xd4\x92\x3d\x26\xec\x29\x4d\x38\x29\xf8\x78\xb0\x62\xdf\x66\x33\x1c\xf7\x06\x6a\xa3\x5f\xf8\x29\xca\xfd\x86\x7f\xd2\x3e\x4b\x70\x5d\xb5\x27\x26\xe5\xeb\xf7\x47\xe9\xab\xfd\xc6\x08\x5b\xaf\x97\xb0\xe6\x67\x6f\x8d\x3d\x0a\x9a\x6d\xd7\x80\xbe\x5a\x5d\x34\xc5\xc3\xc5\x91\xa6\x6c\xb2\x61\x3a\x88\xbb\x91\x12\xbf\xf5\x88\x83\x01\x9c\x74\x03\x54\x74\x31\x82\x9f\x07\xb7\x46\x0e\x88\x42\x27\xf7\x4d\xa6\xc0\x3f\x88\xc8\xbf\xe0\xd5\x2b\xd8\x0a\xe5\xf0\x92\x42\x13\x5b\x8c\x75\xa8\xd8\xeb\xbe\xeb\x31\xdd\x17\xae\x58\xe3\xc2\xe4\x06\x43\xe3\x71\xbc\xc5\x48\x84\xc9\x2e\xe7\xf7\xbf\xf4\xe8\x3f\xd9\xaf\x8a\xca\xfc\xdd\x13\x03\xfc\xeb\x30\xb5\xf7\xe3\x78\x6a\x21\x0a\x1d\x97\x5e\xcd\x88\xe7\xf7\x4e\xa8\xf0\xd7\xc4\x2c\x3f\x31\xc1\x3f\xab\x9f\xc5\x19\x3b\xa7\x24\xf5\xb4\x71\x92\x5e\xfd\x3c\x84\xf6\x69\xa7\xd0\xb7\x07\xca\x0b\xba\x73\xbe\x40\xb8\xbe\x86\xf8\x95\x2b\xac\x2a\x85\xca\x65\x16\xd6\x01\x90\xac\x79\xa8\x8d\x98\x25\xa4\x6d\x54\xa9\xdf\xe9\xf2\x17\xd2\x29\xe2\x11\x50\x6d\x70\x27\xb5\x66\x64\x58\xa2\x9a\xfe\xbb\xef\xc4\xed\x27\x7b\x7b\x10\x70\x3e\x7c\xbc\x80\x97\x8f\xfb\xf2\x6f\x39\x1c\xc7\x78\x80\xcb\x53\x9c\x96\x7b\xbf\x11\xbe\xe2\x4f\xad\xe9\xb8\x08\xc3\xf5\x78\x39\x93\xde\x5f\x72\xf1\xc3\x73\x27\x68\x51\xd7\x34\x3d\xbb\x21\x3e\x3c\x8b\xa7\xb3\x4a\xf2\x39\xf3\xf3\x54\x5b\x18\xf7\x04\x9a\x2b\x9d\x43\x3b\x40\xc5\x95\xd1\x95\x45\x1f\x9b\x5e\x34\x4f\xff\x8d\x2a\xc3\xf6\x14\x80\x63\x7a\xb1\x03\x0c\x86\xd5\x3c\xe1\x26\xec\x15\xa9\x3d\x23\x7f\x49\x97\x95\x74\xef\xb4\xf3\x64\x95\x79\x99\x12\x8b\x1b\x98\xf6\xfe\x0f\x01\xbd\x25\xeb\xf3\x77\xdf\xca\x34\xad\xf0\x83\xc9\x88\xf4\xbb\xb0\x6b\x1b\x7f\x67\x63\x31\x1e\x07\xb9\x7c\x24\x83\x5c\x6f\x2e\xec\xdb\xd2\xb7\xb8\xc1\xb6\x6d\xf4\x39\x8e\x09\x7d\x21\x54\x3c\x99\x39\xff\x97\x1e\x0f\x45\x5e\xfc\xa1\x3c\x72\x5d\xf3\x64\x02\xf5\xa1\xf3\x68\x6d\x1c\x25\x0e\x7f\x06\xc2\x9f\x08\x5e\xc4\x9c\x51\xca\x1c\x1d\x8f\x9a\xe1\xff\xf9\x30\xf1\x4c\xd1\x7b\x38\xde\xf6\x82\x52\xed\xec\xf3\x23\x3c\x91\x3f\x63\x96\xf3\xcf\xde\x33\x9f\x2f\x8c\xfb\xb1\x44\xe3\x51\x9d\x22\x8f\x68\x8a\x60\x4a\x86\xcb\x43\x61\x2f\x5b\x08\xca\xd5\xcb\x7f\xc1\x46\x53\x9b\x92\x49\xdb\x1c\x12\xe0\xc8\x68\x65\xba\xe0\x0c\xac\x34\x61\xb4\xa9\xae\x37\xa0\xcc\x86\xcb\xc0\x3a\x54\x94\xfc\x09\xb2\x11\xbe\xda\x17\xdf\x8f\xce\x13\xfa\x4b\x3b\x24\xb9\xe0\xe1\x3f\x01\x00\x00\xff\xff\x70\xcf\x1d\xc0\x4a\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4b\x93\xdb\x36\xf2\xbf\xeb\x53\x74\x4d\x0e\x96\xf2\x97\x35\x39\xfc\x6b\x0f\x53\x9b\x38\x76\x12\x57\xf9\x90\xad\xad\x78\x1c\x1f\x76\xb7\x4a\x10\xd9\x92\x90\x01\x01\x06\x00\x25\x6b\xa7\xe6\xbb\x6f\x75\xe3\x41\x82\xa2\x66\xc6\x89\x77\x73\xb1\x86\x04\xfa\xfd\xf8\x75\x33\xd7\x5f\x7f\x3d\x9b\x7d\x05\xb7\x7b\x84\xb7\xca\x1c\xe1\x6d\xa7\x77\x72\xa3\x10\x6e\xcd\x1d\x6a\x70\x5e\xe8\x5a\xd8\x7a\x36\xfb\xea\x2b\x58\xa7\x97\xfc\x6e\x0d\x95\xd1\xde\x8a\xca\xcf\x66\x7c\x7d\xfa\x26\x48\x07\xda\x80\x32\x7a\x87\x16\x84\x06\xa9\x3d\xda\xad\xa8\x70\xe6\xf7\xc2\x83\x50\x0a\xb6\xe9\xaa\xe7\xab\x89\xae\x83\xa3\xe9\x54\x0d\x7b\x71\xa0\x57\xf4\x7c\x6b\x6c\x03\xde\xac\x66\xb3\x77\x5b\x10\xd0\x39\xb4\x0e\x8e\x42\x7b\x47\x07\x6a\x6c\x95\x39\x81\x00\x8d\xc7\x11\xad\x25\xf8\x3d\x4a\xdb\xcb\x5c\x1b\x24\xc1\x3c\x68\xc4\x9a\x2e\xcb\xa6\x55\xd8\xa0\xf6\x74\x12\x0a\x55\x7b\x99\x97\xb0\xe9\x7c\x24\xc5\x0c\xdc\xac\x36\x17\x48\xe4\x4b\x0e\x6a\xdc\x4a\x8d\x35\x48\x0d\x7e\x2f\x5d\x96\x62\x15\xec\xfa\xab\xe8\x94\x5f\x83\x45\x67\x3a\x5b\x0d\x6e\xce\x66\x3f\x89\x6a\x3f\xb6\x4f\x3e\xe7\x4f\x2d\x32\x73\x77\xce\xfd\x32\xd1\xc8\xf4\xef\xd6\x1c\x64\x8d\x76\xbd\x84\xf5\x2f\x58\xa1\x3c\xf0\x6f\xa1\x6b\x58\xbf\x11\x4a\xe8\x0a\xa7\x6e\x3b\xf6\xb6\x1b\xa9\x57\x29\x61\x11\x5a\x8b\x2f\x2b\xa3\x6b\xe9\xa5\xd1\x8e\x49\xb5\xc6\xf9\xe1\x33\xf6\xb9\x45\xe7\xad\xac\xfc\x8c\x04\xc5\x4f\x58\x75\xf4\x12\xcc\x96\x25\xdf\x76\xba\x0a\x87\xd9\x5c\x08\xac\xc9\x8a\xf9\x9e\x80\xf8\x38\x6c\x85\x15\x1e\x61\x83\x95\xe8\x48\x16\x0f\x3b\x79\x40\xc7\xc7\x29\x28\xf8\x87\xd8\x48\x25\xfd\x89\x6c\xe3\xf6\xc2\xe2\x4c\x80\xc5\x2d\x5a\xd4\x15\xc7\x53\x70\x23\x53\x0f\x72\x19\xad\x4e\x80\x9f\x5a\xe3\x22\xa9\xad\x44\x55\xbb\x5e\xa2\x99\xd4\x60\x34\x82\xb1\xd0\x18\x8b\x49\xe2\xde\x14\x14\x98\x14\xd3\xce\x44\x81\x42\x84\x8e\xa4\x69\xc4\x1d\x42\xd5\x39\x6f\x9a\x6c\xe1\x68\x9a\xec\x44\xb2\x4d\x69\x65\x0a\x70\x03\x07\x61\xa5\xe9\xe8\xb4\xd4\x3b\x07\x47\xe9\xf7\x4c\x3e\x44\xe3\x6a\xf6\xd6\x58\xc0\x4f\x82\xc8\x2c\x41\xc0\x56\x74\x15\x7a\xa8\x84\x86\x0d\xf6\xd4\xb1\x86\xcd\x29\x25\x94\xd4\xbb\x59\x30\x07\xa4\xa0\x28\xa2\xe5\xeb\xeb\xd9\x4c\x36\xad\xb1\x1e\xae\x7e\x95\x78\xfc\x05\x9d\x51\x07\xb4\x57\xf9\xe9\x9b\xce\x6a\xfa\x7b\x76\x7d\x7d\x5d\xa6\x0e\x3d\x29\x9e\xc6\xf2\x90\x25\x11\x31\x56\x2c\x0e\xca\x84\xc5\xdf\x3b\x69\xa7\x92\xaa\x4c\x05\xa6\xdc\x8b\x0a\x1f\x11\x9c\x97\x4a\x85\x92\x21\x3d\x08\x57\x94\x1c\xd8\xa3\xed\xa3\xc6\xf3\x5f\x1c\x50\xa6\xe1\xb8\xd9\x76\x8a\x49\x76\x3e\xf8\xaa\x41\xbf\x37\x75\x74\x4d\x23\xf4\x09\x5a\x6b\x7e\x43\x2e\x4d\xc4\x26\x30\xa3\xfa\x43\x92\x32\x53\xa3\x47\x95\xc6\x2d\x99\x64\xac\x1b\x21\x80\x37\x27\x52\xb6\x41\xa1\x5d\xd6\x75\xc5\xa5\x30\x04\x41\xff\x94\x7e\xf3\xb3\xec\xe3\xa0\x73\x32\x8a\x2b\x92\xbd\x2f\x1c\xa2\xaa\xd0\xb9\xb9\x50\x6a\x91\x25\x19\xd8\xa1\xf0\xd1\x0d\x0c\xbd\x0a\xf7\xb3\x19\x00\xc0\xf5\x35\xbc\xd6\x80\xda\x4b\x1f\xed\xbf\x35\x96\x64\x34\x47\xa9\x77\xcc\x96\x82\xaf\xb6\xe2\x28\x14\x67\x02\x47\x20\x6c\xad\x69\x40\x84\xb4\x62\x42\x43\x51\x86\xe4\x3e\xc6\xdb\x89\xdd\x35\x77\x21\x3c\x04\x57\x07\x33\x60\x23\x3d\x05\xeb\x71\x8f\x3a\x31\x20\x03\x26\xce\xfa\x09\x76\x87\x21\x23\x3d\xa7\x82\x79\x03\xef\xbd\x95\x7a\xb7\x04\xd1\x98\x4e\xfb\x1b\xf8\xf0\x56\x7e\xfa\xcb\xff\x2f\x99\xd4\x0d\xbc\xae\x6b\x8b\xce\xbd\x0a\x7f\x7f\xf8\xf0\xee\xc7\x1b\xf8\xf0\x4e\x7b\x3a\x91\xd9\x0e\x1f\x2f\xfe\x88\x02\x35\xb6\xc6\x49\x1f\x42\xfc\x71\xf1\x7f\x4c\x47\x9f\x10\xdf\x9b\xa1\xf0\xde\x94\xa2\x67\x86\x17\x44\xff\xe9\x11\xb1\xf7\x08\x3b\x65\x36\x42\xc1\xa6\xb3\x3a\x66\x05\x1d\xab\x84\x52\x74\x8a\x8a\x90\x00\x6d\xf4\xcb\x7f\xa3\x35\xb0\x09\xed\xe3\x82\x3e\x5c\x2c\x9e\x52\x66\x6c\xfb\x81\xa4\x6f\x06\xd4\xa9\xba\x0c\x8d\xdf\x47\x38\x6b\xd2\x86\x72\xe6\x7a\x34\x92\x4b\xf9\x3f\xf3\x3d\x0a\xeb\x1d\x7a\x4f\x51\x1d\x25\x07\xc9\x85\x91\x6b\x53\xc1\x67\xa8\xcd\x79\x6f\x4c\xa2\xc1\x3d\x1f\x1e\x5f\x38\x08\x9b\x18\x24\x45\xf9\xdc\x43\xaf\x5b\xaa\xbf\xcf\x51\x0e\x49\xc6\x2a\x76\xaa\x58\x2f\x42\x49\x20\x8d\x52\xa8\x52\x71\x4f\x44\x86\x19\xca\x7d\x2b\x55\x11\x4e\xe8\x53\x8b\xab\x33\xbe\xef\x3c\x64\xa4\x14\x19\x96\xbc\x8c\x86\xf5\x26\xc1\x05\x2a\xa8\xcb\x7c\x77\xd0\x9d\x15\x0a\xea\x86\xa6\x8d\xe1\xd4\x1a\xe7\x64\x6c\x88\x66\x0b\x95\x45\xc1\x42\xc4\xa6\x18\xfd\x66\x5d\x2f\x3a\x69\x4c\x50\x8b\x11\x1b\xd9\x54\x58\xa9\x4e\x11\x7a\x71\xc1\x35\x47\x9d\xcc\xbb\xfa\x1c\xa7\xe5\x9e\x17\x0b\x5f\x62\xf9\x36\x86\x0a\x67\xa8\xbb\x03\x91\xc5\x02\x49\xe0\xd3\xb5\x58\xc9\xad\xac\x62\xec\xf6\x25\xb0\xa0\x22\x1d\x88\x83\x90\x4a\x84\xa6\x45\x5d\x38\x57\x91\xe2\xe0\x6d\x00\x86\x04\x78\x37\xa9\x19\x31\xeb\x83\x91\x35\xb4\x42\xcb\x8a\x2c\xc4\x19\x49\x79\xc7\x7f\xa4\x12\x3a\x24\x94\x73\x36\x07\xb3\x83\x4e\xdf\x69\x33\x62\xf8\xba\x0e\xa0\x4c\x28\x75\x5a\x92\x4a\xec\x98\xac\xa2\x83\xb6\x0b\x5c\x38\x5e\x9a\x4e\x79\xd9\x2a\x84\x03\x95\xaa\x91\x8e\x11\x3a\x65\x28\x5a\xed\xb1\xba\x0b\x5d\x35\x42\xa4\x70\x0b\x3a\xed\xa5\xe2\x07\x35\x3a\xee\x6f\xc1\x78\x63\x93\x59\x14\xd5\x1e\xeb\x25\xb4\xc6\x53\x7c\x92\x8c\xb0\x47\xd5\x26\xad\xa1\x45\xcb\x29\x9a\xbd\x9d\x6e\x4f\xa7\x9e\xc4\x23\xe5\x3e\x48\xf7\x3a\x79\xe3\xd6\xa4\xc6\x30\x2f\xab\xcf\xe2\x06\xde\x18\xa3\xca\x68\x48\xa6\x06\xd7\x6d\xe2\x74\xf2\x68\x3a\xa5\x40\x2b\x88\x10\x22\xb6\xe8\x3b\x4b\x5d\x20\x22\xcf\x8c\xe0\x2c\x36\xe6\xc0\x0d\x21\x20\xb9\xc1\xc5\x51\xa0\xf4\x18\xf9\x85\x8b\x6a\x82\xc2\x03\x2a\x32\xdd\x3a\xea\x9d\x94\x5b\xac\x8b\xdb\xef\x0d\xc1\x6a\x63\xc9\xc7\x14\x5d\xe1\xb6\xf4\x4b\x06\xb6\x61\xe0\x42\x49\xd0\x28\xe7\x16\x98\x0d\x61\x1e\x90\xde\xa1\xda\x16\xd4\x0c\x8f\x74\xb1\xab\xd7\x03\x78\xcd\x5a\xad\x93\x0c\xeb\x69\x6d\xc6\x92\xb2\x87\x8e\x17\x9d\xf2\xfd\x3d\x5b\xec\x61\x50\x5e\xe9\x3f\x1a\x31\x46\x8f\x02\x23\x58\x5b\x74\x71\x08\xda\x32\x0c\x37\xd1\xd0\xe4\x01\x38\x08\xd5\xe1\xd9\xb5\x70\x65\x95\x72\xe7\xdb\x6f\x53\x6b\x3a\x3b\x49\xff\x5d\x7d\xec\x21\x50\x2c\x03\x4d\xe7\x3c\x65\x30\x71\x72\xa2\x41\xc2\xa0\xc3\x6c\x8c\x09\xd1\x23\x18\x56\xea\xea\x8c\x3c\xb5\xe0\x33\xe8\x42\x0e\x58\xed\xd0\xdf\x9e\x5a\x9c\x2f\x56\xb2\x26\xd3\x6f\x25\xda\xbe\x83\x86\x7f\x13\x9a\xe1\x0b\xe6\xa8\xd1\xbe\x5a\x89\x00\x0e\x86\xcd\x95\x5f\x77\x9d\xac\xcf\xb0\x4d\xb4\x03\xbd\x5b\x14\xb2\x3d\xcc\xca\x5f\x83\xee\x95\xc6\xc8\x3f\xdf\xbd\x22\x5a\x99\x68\x5e\x52\x47\x2f\x3e\xa3\x79\x7d\xc4\xd4\x32\xa4\xae\x54\x57\x23\x08\xc8\xb3\x68\x10\x83\x2b\x55\xe9\xa0\xd8\xb6\x32\x95\x23\x66\x84\x4f\x33\xdd\x73\x46\xba\x60\x86\x80\xdc\x33\x1d\x9a\xc1\x6a\x93\x0e\x4d\xcf\x6f\x4b\x50\xf2\x0e\xc1\xb5\x4a\x32\xe4\x6f\xa0\x6b\xa9\x6a\x64\x22\x0e\x75\x1d\x5e\xd0\x38\x28\xb7\x9c\x6f\x1e\x5a\x15\xa6\x4f\x78\x7e\xdb\x4b\xce\x1a\xb7\xbd\x68\x7a\xf0\xe2\x0e\xfb\x2a\x45\x95\x2b\xbe\xa1\x6a\x71\xc1\x0d\xc5\x66\xe2\xb1\x94\x67\xa1\x28\xdb\x23\xcd\x79\x88\xd6\x94\xe1\x8b\x52\xa4\x1d\xfa\xf7\x5d\x4b\xa3\x26\xd6\x7c\x80\xc2\x9f\xd0\x44\x6a\x5f\x83\xa2\xaa\xa4\xe3\x56\x7c\x08\x63\x3d\x1f\x8c\x03\x14\xf7\x95\xa8\x34\xc9\xd1\x0e\xda\xd8\x64\xb3\x98\xe6\x3b\x5f\xdc\xc0\xfd\x2d\xa7\x23\xb5\x89\x87\x52\xd6\x5f\xa2\x24\xc7\x3d\x72\x11\x35\x96\x03\x90\x31\xb4\x3c\x50\x67\x3e\xb5\xdc\x92\x83\x04\x61\x10\xa7\xb7\x45\xf2\x24\x6a\xaf\x93\x1e\x1c\xab\x42\xc7\x5b\x40\xa3\x28\x13\x72\x7b\xae\xd8\xbf\x51\xd1\x89\x75\xcd\xdb\x8e\x27\xcc\x1a\xb7\x79\xaa\xb8\xa8\xa2\x74\xe7\x1a\xc6\x5a\x43\x3f\x53\x2b\x1c\x25\x7a\x3f\xae\x14\x58\xb1\xc6\x80\x25\xd8\xd4\x7d\xa4\x85\xa6\xc2\x4b\x91\x7e\x85\x97\xf5\x5d\x26\xd4\xbc\x84\x5b\x2b\xb4\xdb\xa2\x35\x76\x99\x51\x59\xd8\x48\xa5\xe1\xb4\xc7\x96\x5d\x3f\xac\x90\x7d\x5d\xd2\x02\x4e\xe8\x3f\x27\x0d\x58\x95\x9b\x81\x34\x3d\xe3\x2c\xd7\x70\x3c\x5e\xa5\x1f\xcb\x30\xc8\xd8\x15\xfd\xc3\xe8\x6e\x8c\x1f\x25\xaa\x3a\xc6\x9e\x15\xe3\x2a\x63\x08\x42\x1e\x2e\x3b\x68\x62\x56\x28\xa8\xff\x10\x47\x2f\x02\x7b\x62\xbc\x21\x94\x8e\x27\x35\xac\xe1\x20\x45\xd8\x10\x44\x61\xe9\xf1\x7c\xb1\x8e\x33\x5c\x41\xf1\xdd\x68\x25\x13\xeb\x15\x85\xda\xc6\x98\xbb\x3b\x44\x46\x5f\xc6\x86\xd6\x44\xcf\x79\xa0\x2b\xb1\x20\xeb\x1b\xa3\x72\x83\xe5\x20\x19\x15\x26\xf1\x6a\x74\xde\x9a\x13\xd6\x25\x78\xfb\x99\xa8\x8e\x77\x43\xc7\xe1\x92\xa5\x6b\x6b\xe1\xb1\x2f\x99\x2f\xa8\xad\x7b\xa1\x38\x02\xd4\xa9\x94\xc5\x50\xe7\x57\x84\x5d\xca\x1d\x8a\x0b\xbb\x9a\x0d\xa2\x4e\x86\x0a\xd0\x2c\x20\xb0\x8c\xe8\x02\xcd\xd5\xa3\x66\xe2\xb8\x4e\x1b\x60\x87\xbe\xf0\xb2\x37\x10\x26\x62\xdc\x1a\x1b\xa4\xa6\x02\x3e\xda\x74\x9e\xcf\x01\x92\xc1\x4a\x6b\xc3\xc4\x1c\xac\xc6\x5d\x3c\xc2\x4d\xd7\x8a\xa6\x61\x6c\x4e\x7d\x27\x4c\xd4\xd1\x1b\xab\x71\x3c\xa5\xf5\x4f\x28\xb8\xa4\x2e\xc5\xce\x46\x54\x77\xf3\xc5\x18\x4a\x59\x9c\x40\x52\xec\xee\x62\x6a\x7f\x06\x0c\xe1\x23\x9b\x94\x41\x13\x88\xe3\x12\xaa\x80\xcb\x90\x6e\x48\x93\x90\xd9\x37\xab\x6f\x6e\xe0\xea\x76\x60\xef\x04\xbe\xd8\x0f\xd1\xf6\x75\x67\xd3\xc2\x6a\xa8\x7c\x5a\x63\x38\x13\x0b\x09\x17\x58\xaa\x25\x74\x9f\xec\x8b\xf5\xd5\x23\x32\x96\xc2\x90\x2c\x03\x60\xf4\xbf\x6e\x5f\x09\x64\xc5\x9a\x3f\x4a\x21\xe0\x72\xcc\x08\xa8\x2e\x57\xa0\x71\x2c\x13\x16\x01\x3f\xb5\x58\x79\xac\xc7\x19\xc4\x93\x5d\x6e\x56\xfd\xa8\x4d\xb2\x2d\x83\xf5\xf0\x14\xf2\x49\xf7\x89\x10\xe7\x48\xde\xbe\x16\xb2\x14\xe4\x09\xea\xb1\x62\x67\x99\xf0\x27\xfa\xf1\x28\x70\xae\xaf\xe1\x0d\x2a\x73\x8c\x43\x29\x99\x62\xb0\x05\x4f\xd0\xcd\x75\x36\x02\x53\xdb\xe9\x97\x5e\x36\xf1\xeb\x0a\xf7\xae\x31\x3d\x36\xc9\x0e\x53\xc7\x1d\xee\xc9\x5a\xc1\x78\x2c\x37\x9a\xd8\xf0\x22\xd0\x2b\xbf\xa0\xad\xc2\xd6\x76\x05\x05\x7d\xb9\x3d\x4b\x2f\xf7\xbe\xdb\x90\x34\x73\xb3\x0d\x6d\xf9\xaf\xdf\xdf\x4f\x50\x7a\xf8\x6e\xbe\x18\x67\x34\xf0\x48\xc3\xb8\xe0\xbe\x24\x7b\xc3\x40\xa1\x8c\xe9\x07\x40\xe5\xa6\x4a\x40\x06\x36\x3c\xee\x35\xad\x3f\x41\x2d\xd9\x63\xc2\x9e\xd2\x84\x93\x82\x8f\x07\x2b\xf6\x6d\x36\xc3\x71\x6f\xa0\x36\xfa\x85\x9f\xa2\xdc\x6f\xf8\x27\xed\xb3\x04\xd7\x55\x7b\x62\x52\xbe\x7e\x7f\x94\xbe\xda\x6f\x8c\xb0\xf5\x7a\x09\x6b\x7e\xf6\xd6\xd8\xa3\xa0\xd9\x76\x0d\xe8\xab\xd5\x45\x53\x3c\x5c\x1c\x69\xca\x26\x1b\xa6\x83\xb8\x1b\x29\xf1\x5b\x8f\x38\x18\xc0\x49\x37\x40\x45\x17\x23\xf8\x79\x70\x6b\xe4\x80\x28\x74\x72\xdf\x64\x0a\xfc\x83\x88\xfc\x0b\x5e\xbd\x82\xad\x50\x0e\x2f\x29\x34\xb1\xc5\x58\x87\x8a\xbd\xee\xbb\x1e\xd3\x7d\xe1\x8a\x35\x2e\x4c\x6e\x30\x34\x1e\xc7\x5b\x8c\x44\x98\xec\x72\x7e\xff\x4b\x8f\xfe\x93\xfd\xaa\xa8\xcc\xdf\x3d\x31\xc0\xbf\x0e\x53\x7b\x3f\x8e\xa7\x16\xa2\xd0\x71\xe9\xd5\x8c\x78\x7e\xef\x84\x0a\x7f\x4d\xcc\xf2\x13\x13\xfc\xb3\xfa\x59\x9c\xb1\x73\x4a\x52\x4f\x1b\x27\xe9\xd5\xcf\x43\x68\x9f\x76\x0a\x7d\x7b\xa0\xbc\xa0\x3b\xe7\x0b\x84\xeb\x6b\x88\x5f\xb9\xc2\xaa\x52\xa8\x5c\x66\x61\x1d\x00\xc9\x9a\x87\xda\x88\x59\x42\xda\x46\x95\xfa\x9d\x2e\x7f\x03\x9d\x22\x1e\x01\xd5\x06\x77\x52\x6b\x46\x86\x25\xaa\xe9\xbf\xec\x4e\xdc\x7e\xb2\xb7\x07\x01\xe7\xc3\xc7\x0b\x78\xf9\xb8\x2f\xff\x96\xc3\x71\x8c\x07\xb8\x3c\xc5\x69\xb9\xf7\x1b\xe1\x2b\xfe\x98\x9a\x8e\x8b\x30\x5c\x8f\x97\x33\xe9\xfd\x25\x17\x3f\x3c\x77\x82\x16\x75\x4d\xd3\xb3\x1b\xe2\xc3\xb3\x78\x3a\xab\x24\x9f\x33\x3f\x4f\xb5\x85\x71\x4f\xa0\xb9\xd2\x39\xb4\x03\x54\x5c\x19\x5d\x59\xf4\xb1\xe9\x45\xf3\xf4\xdf\xa8\x32\x6c\x4f\x01\x38\xa6\x17\x3b\xc0\x60\x58\xcd\x13\x6e\xc2\x5e\x91\xda\x33\xf2\x97\x74\x59\x49\xf7\x4e\x3b\x4f\x56\x99\x97\x29\xb1\xb8\x81\x69\xef\xff\x10\xd0\x5b\xb2\x3e\x7f\xf7\xad\x4c\xd3\x0a\x3f\x98\x8c\x48\xbf\x0b\xbb\xb6\xf1\x77\x36\x16\xe3\x71\x90\xcb\x47\x32\xc8\xf5\xe6\xc2\xbe\x2d\x7d\x8b\x1b\x6c\xdb\x46\x9f\xe3\x98\xd0\x17\x42\xc5\x93\x99\xf3\x7f\xe9\xf1\x50\xe4\xc5\x1f\xca\x23\xd7\x35\x4f\x26\x50\x1f\x3a\x8f\xd6\xc6\x51\xe2\xf0\x67\x20\xfc\x89\xe0\x45\xcc\x19\xa5\xcc\xd1\xf1\xa8\x19\xfe\xaf\x0e\x13\xcf\x14\xbd\x87\xe3\x6d\x2f\x28\xd5\xce\x3e\x3f\xc2\x13\xf9\x33\x66\x39\xff\xec\x3d\xf3\xf9\xc2\xb8\x1f\x4b\x34\x1e\xd5\x29\xf2\x88\xa6\x08\xa6\x64\xb8\x3c\x14\xf6\xb2\x85\xa0\x5c\xbd\xfc\x17\x6c\x34\xb5\x29\x99\xb4\xcd\x21\x01\x8e\x8c\x56\xa6\x0b\xce\xc0\x4a\x13\x46\x9b\xea\x7a\x03\xca\x6c\xb8\x0c\xac\x43\x45\xc9\x9f\x20\x1b\xe1\xab\x7d\xf1\xfd\xe8\x3c\xa1\xbf\xb4\x43\x92\x0b\x1e\xfe\x13\x00\x00\xff\xff\x89\x68\x48\xef\x2c\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,11 +115,11 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd4, 0xf2, 0x6e, 0xf3, 0xca, 0xc6, 0xfd, 0xdd, 0x46, 0x62, 0x19, 0x83, 0x28, 0x14, 0x7c, 0x5, 0xbc, 0xb8, 0x69, 0xe5, 0xd8, 0xec, 0x1e, 0xc, 0x33, 0xeb, 0xac, 0x95, 0x3, 0xc, 0x84, 0x8f}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0xf8, 0x8d, 0xcb, 0xe3, 0x32, 0x7b, 0xbd, 0xcc, 0x38, 0x9b, 0x27, 0x57, 0x8e, 0xda, 0x5c, 0xea, 0x31, 0x7f, 0x59, 0x5e, 0xcb, 0x71, 0xa0, 0x77, 0xf4, 0x80, 0x14, 0x16, 0xd7, 0x2d, 0x30}}
 	return a, nil
 }
 
-var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x5f\x6f\xe3\xb8\x11\x7f\xf7\xa7\x98\xfa\xe1\x2e\x01\xb2\xf2\xee\xa2\x68\x0f\xc6\xb9\x7b\x0b\x5c\x8c\x16\xc8\x62\x17\x59\xef\xf5\xb1\x4b\x49\x23\x9b\x08\x45\xaa\x24\x65\xc7\x08\xf2\xdd\x8b\x21\xa9\x3f\x94\x25\xc7\xb9\xf6\x50\x3f\x24\x12\x39\x9c\xf9\xcd\x1f\x0e\x7f\x14\x2f\x2b\xa5\x2d\xac\x6b\xb9\xe5\xa9\xc0\x8d\x7a\x40\x09\x85\x56\x25\xcc\xa3\xb1\xf9\x2c\x48\x7e\x42\xcb\x72\x66\xd9\x6f\x1c\x0f\x26\x48\x46\x63\xad\x24\xbd\xdd\xa3\x51\x62\x8f\x3a\x08\xf6\x87\xe6\xb3\xd9\x62\xb1\x80\xcd\x8e\x1b\xc8\x94\xb4\x9a\x65\x16\x78\x59\x09\x2c\x51\x5a\x03\x76\x87\x50\x06\xc5\x60\x2c\x93\x39\xd3\x39\x54\x5a\x55\xca\x60\xee\xd6\x72\x09\xeb\xbb\x7f\x7c\x79\xf3\xee\xed\x4f\x7f\x4d\xdc\x88\xfb\x73\x8f\xc5\x12\x76\xd6\x56\x66\xb9\x58\x6c\xb9\xdd\xd5\x69\x92\xa9\x72\xa1\x64\x21\xd4\x61\x51\x08\x5e\x99\x45\x2a\x54\xba\x28\x19\x97\x0b\x56\x55\x82\x67\xcc\x72\x25\x17\xef\xdf\xbe\x7f\xff\xf6\xa7\x77\xef\xde\x14\xc1\xf9\x37\x96\xbc\x37\x6f\x1a\x24\x49\x99\x77\x86\xbe\x5a\x5d\x67\xd6\x00\x93\x39\x68\x34\xaa\xd6\x19\x1a\xc8\x98\xec\xfc\x00\x25\x11\x94\x86\x52\x69\x74\x6b\x5a\x97\xec\xb1\x42\x73\x03\x19\x13\x02\x73\xd8\x53\xe8\x12\xb8\x65\xd9\xce\x3d\xbb\x69\xd0\x58\x69\x34\x14\x0e\xb7\x96\x41\xce\x8b\x02\x35\xe9\x7d\xe0\x32\x07\x55\xb4\xfa\x9c\xff\x33\x96\x65\x68\xcc\x15\x13\xe2\xba\x0b\x6a\x94\xc8\x38\x7f\x4f\xb3\x19\x00\x00\x29\x5f\x6f\x68\x08\x0e\x9a\x55\x06\xd6\x9b\x5f\xb9\xa9\x04\x3b\x3a\xdf\xd6\x9b\xdf\x58\x2d\xec\xaf\xcc\xb2\x1b\x37\xc0\x0d\xd4\x06\x73\xb0\x0a\xb6\x7c\x8f\xc0\x20\x53\xe4\xb1\x45\x68\xf5\x55\x3c\xb3\xb5\x46\xc2\xc8\x5a\x08\xe0\x30\x24\xf0\x49\x19\x3b\x18\x6c\xf1\x1a\x30\x3b\x55\x8b\xbc\x53\xd5\x45\xd3\x52\xb5\x50\x7c\x92\x66\xd2\xfd\xef\xbb\x6d\x5c\x52\x1a\x77\x9e\xdc\xfc\x50\x46\xa0\x85\xc2\x06\x17\x97\x9d\xb7\x1f\x9c\xe4\x99\x25\x6d\x1c\x96\xfd\xa0\x7c\x68\x57\xb8\xd4\x71\xc9\xed\x55\x3b\x44\xbf\x51\x5b\x37\x03\x91\x97\x74\x5f\xf7\x9c\xa1\x9f\x41\x51\x24\xad\x66\x58\x75\x56\xc6\xc4\x5a\x85\x4e\xb0\x7d\x6b\x45\x9f\x67\xfe\x6f\x1b\xf4\xbf\xa3\xa8\x50\xbb\x14\xa3\xa5\x14\x6e\x46\x02\x4f\x82\xbf\x54\x4c\xb3\xd2\x4d\x36\x7b\x7b\x09\x1f\x41\xa3\xab\xd4\x0c\x49\x05\x6d\x66\xdd\xf4\x82\x66\xab\x74\x1a\x34\xda\x5a\x4b\xf8\xd8\x64\xcd\xe7\x70\x32\xc5\x45\x2d\x09\x94\x17\xbe\x8a\x0d\xff\xf0\xd4\x6f\x32\x49\xf3\xf0\x7c\xbd\x3c\x2d\x09\xca\x69\xc9\x8e\x29\x86\x99\x55\xe4\x44\x12\x00\x3b\x23\x9b\x63\x85\x3f\x7b\xb1\xbf\x5d\x5d\x5f\xb7\x2a\x78\xd1\x54\x86\x57\xd0\x57\x17\xa7\x2b\xf8\x18\x24\x99\xf9\x53\xc0\x33\xc8\x40\x4f\x34\xf8\x37\x55\x49\x2e\xb1\x2e\x0c\x61\x28\x8a\xc4\xf5\x99\xf2\xea\x56\xb6\x83\xf1\xda\xae\xe6\x86\x55\xe1\xc0\x5b\x05\xf8\x48\x6d\xd8\xe5\x95\xcb\x42\xe9\xd2\xf5\x4f\x90\x88\xb9\xef\x0b\x66\xa7\x0e\x19\x73\x22\x9c\xfa\x49\xd2\x6d\x67\xdf\xf2\x99\x84\x14\x7d\x1b\x49\x8f\xd0\x6b\xc2\xa6\x6b\x2b\x12\xd4\x1e\xb5\xdb\x54\xd4\x76\x5a\x0d\x5b\xcd\xaa\x1d\xcf\x0c\x35\x17\x82\xb0\xde\x5c\xd0\x0f\x9a\x8d\xd2\xa5\xc5\x83\x41\xc8\xc3\x8c\x64\x25\x42\xa1\xb4\xc7\xec\x3a\x7f\xd2\x17\x8e\x16\xde\x3e\x32\x6a\x4b\x4b\x98\xaf\x85\x3a\xcc\x47\xe5\x86\x0d\x84\x0c\x2c\xe9\xd8\xe0\x72\x3b\x3b\x81\xc1\xd2\x54\xe3\x9e\x33\x8b\x39\x98\x63\x99\x2a\xf1\x7b\xc0\xdc\x7d\xfe\xe7\x7c\x12\x80\x57\x3b\x0e\xe1\x23\xe4\x68\x32\xcd\x2b\x97\x49\x0a\x6b\xa5\xd5\x9e\xe7\x68\xa2\x44\xb8\x90\xbf\x06\x11\xb9\x46\xa8\xfc\x0a\x3a\x3b\x48\xb7\x64\x96\x52\x9c\xd5\x9a\x9a\xc4\xb1\xcd\xa4\x50\x07\x90\x68\x0f\x4a\x3f\x24\xd3\x7e\xf4\x90\x8e\x3b\x73\xfb\x68\x51\x4b\x26\x40\x70\xf9\x40\x05\xc5\xe0\xdb\xfd\x1d\x3d\x38\x27\xe8\x38\x8e\x0a\x97\xa5\xaa\xb6\x0e\x41\x73\xf2\x0f\x1d\x1c\x42\xc0\x60\xe1\xdb\xfd\xdd\x32\x66\x45\xc9\x6d\x37\x15\xa3\xfa\xdc\x91\x01\xd8\xa3\x36\xae\xda\x83\xe7\xb1\x5d\x10\x6a\xab\xa6\x8d\xd3\xac\x19\x9a\xfd\x84\x39\x67\x26\xb6\xf8\x55\x65\x3c\x44\xc1\xed\x2b\x8d\xc4\x30\x4e\xed\xfd\x68\xc0\x78\xd1\x9d\x2a\xb1\x62\x5b\x34\x51\x6e\xe1\x8b\x32\xc6\x89\x3f\xe0\xd1\x50\x9b\xa3\xdd\x3b\xe7\xd2\x58\xb6\xd5\xac\x9c\xdf\xc0\xdc\x1e\xb8\xb5\xa8\xe9\x31\xe7\x26\x53\x3a\x9f\xdf\x00\xda\x6c\xda\x0d\x6f\xd2\x2c\xe1\xc9\xe7\xf0\x4c\x20\x9f\x67\x2f\x1d\xb2\xfd\xcd\x15\x37\xbf\xb8\xea\xe3\xb9\x91\x4a\x8a\x05\x2e\xcb\x73\xbc\xe6\x4c\x7a\x06\xc8\x5e\x13\x80\x66\xd1\x28\x11\x70\xbd\x6b\xe5\x82\x70\x3a\x19\xba\xc9\x2a\x44\xe2\x54\xa0\xbf\xf3\x57\xfd\x98\x9c\x8a\xf6\xe2\x01\xab\x7e\x74\x4e\x45\x5d\x18\x60\xe5\xc3\x31\x82\xca\x3b\x4f\xb0\xfc\xd3\xa5\x64\xa4\xeb\xe5\x5c\x02\x83\x03\x3b\x82\xdd\x31\x0b\x07\x2e\x44\x73\x78\x7a\x82\x9d\x83\x72\x6e\x30\xd1\x1e\x10\xf0\x47\x10\x17\xd9\xda\xe9\x81\xbb\x94\xc5\x34\xc7\xf7\xbf\xe0\x15\x54\xa6\x65\xac\x4f\x43\x2e\xe2\x28\x48\x98\xbe\x90\xd6\x04\x69\x62\x36\x83\xda\x0a\x3a\xf3\x48\xdd\x89\x05\x66\x3e\x8c\x1e\xb0\xcd\x2f\x84\xa9\xa7\x25\x12\x79\x9e\xe6\x40\x92\x8b\xdf\x47\x41\x8c\xa5\x26\xeb\x2e\x2b\xd2\xa2\xbb\x07\x1d\xb8\xdd\x05\x22\x4b\xb4\x27\x79\x15\x21\x31\x68\xeb\xaa\xb7\xda\x6b\xa3\xeb\x28\xea\xae\xa4\xc8\x2a\xdb\x7a\xbb\x55\x9d\x0a\x9e\x41\xc6\x2a\x96\x72\xc1\x2d\x6f\x5a\xea\xf9\x5b\x4b\xcb\xd3\x63\x9e\xf2\x85\xd9\x1d\x95\x7b\x63\xe1\xb0\x43\xdd\x92\xab\x00\x89\x1b\xd0\x98\xa9\xb2\x44\x19\x58\x58\x8a\x3e\x10\xf9\x99\x1e\xec\x15\x92\x7e\x6a\x80\xed\x4b\x7c\x8e\x7c\xf1\xce\x54\x84\xe2\xb0\xe3\xd9\x0e\xca\xda\x58\xd2\x4f\x47\x8b\x37\xd6\x4b\x48\xf0\x5d\x63\x86\x9c\x76\x4e\x1b\x84\xe3\x34\x90\x46\xd8\x23\xf1\x06\xff\x6b\x20\x29\x13\x8c\xb6\x72\x73\x45\x77\xfb\x78\x32\x33\x63\xb0\x9a\x0b\xf6\x79\x58\xb4\x91\x7c\x13\x0a\x97\xd7\x0e\x10\xf3\xbc\xe2\x7b\xdf\xbf\xef\x89\x2f\x3a\x6e\x80\x11\x2e\xab\x79\x46\xb4\x2f\xdc\xfa\xff\x5d\x73\x3a\x0d\x20\x32\xe1\x94\x44\x77\xf9\xe4\x3e\xa8\xfc\xee\x8b\xbc\x60\x19\xbe\x1c\xdf\x3b\x07\x8b\x00\x2f\x1d\xec\xff\x8f\x23\xa3\xad\xad\xe7\xc7\x05\x19\x39\xef\xc8\xba\x96\x59\x60\xb2\xcc\x02\x13\x42\x1d\x0c\x64\x1a\x7d\x97\x50\x05\x91\x5a\x2c\x2b\x7b\xec\xf6\x8f\x93\x24\x67\xa4\x75\x3b\x28\x46\xad\x42\x4f\x09\xe4\x29\x3f\x83\xd0\x99\xc1\x5b\xd2\xee\xf6\xf3\x92\x16\x5c\x5d\x2f\xe1\x97\xa7\x38\x81\x6e\xf6\x65\x6a\x33\xb5\x47\x6f\x06\x37\xcc\xf1\x0d\x14\x4b\x4d\xd5\xf3\xb8\xae\x61\x8c\xc7\x75\x9d\x97\x1a\x46\xa3\xc9\xcc\x4b\x51\x69\xd6\x0f\xcf\xa4\x4a\xe3\xe8\x19\x33\x44\x9c\x70\xf3\xb5\x4e\xa9\x12\xaf\x54\xe1\x81\xfd\xfc\xc3\xd3\xf8\x0e\x7a\xa6\xb3\x6f\x09\xf3\xe6\xbd\xe9\x11\xae\x8e\x5d\x87\xe1\x32\x13\x75\x8e\x30\xbe\xbe\x77\x57\x99\x0e\xce\x25\x80\xbc\xef\x01\x4d\x43\x06\xdb\xde\xd6\xa2\x49\x11\xd8\xf0\xca\xe0\x8a\x78\x3e\x71\xb2\x42\xcb\xba\xba\xf2\x21\xe6\xd5\x6b\xf8\x27\xa2\xfd\x82\x82\x55\x54\x5f\xa7\xc2\xfd\xba\x22\x8e\xd0\x7b\x9d\xd6\xdc\xc5\xa6\xa7\xbf\x1b\x9c\xb6\x12\x2d\x3c\x1d\x3c\x5d\x38\x2c\x42\x58\x4d\xd6\xe5\xe5\x34\xb4\x3b\xac\x5f\x26\xa2\x9f\x87\x44\xf4\x0f\xf9\x80\xd6\xa3\xa1\x1d\xb8\x8b\x3f\xa7\xb5\x5f\x83\x5e\x45\x45\xbb\x6f\x95\xa7\x64\x74\x7f\xe1\x77\xb5\x46\xc5\x34\x05\xdd\x07\x35\x81\x6c\x8e\xf1\xa4\xae\x15\xb8\x68\xec\xff\xb7\x24\xd3\x2a\xcb\x04\x98\xba\xaa\x44\xfb\xb9\xc2\xa1\xf8\x31\x7c\x0c\x99\x22\x75\x1b\x5a\xf8\xd5\xaf\x9b\xfe\x1e\xed\x15\x2f\xe1\xdb\x9a\x3f\xfe\xe5\xcf\x63\x47\x82\xed\xf4\x34\x62\xa3\x57\xc1\x00\x71\x05\xbd\x05\x27\x35\xfd\x3c\x83\xff\x04\x00\x00\xff\xff\x9d\x50\x33\xf6\xfc\x19\x00\x00"
+var _fungibletokenmetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\xdf\x6f\xdb\xbe\x11\x7f\xf7\x5f\x71\xf3\x43\x9b\x00\x89\xdc\x16\xc3\x56\x18\xf5\xda\x02\x8d\xb1\x01\x29\x1a\x24\x6e\xf7\xb8\x52\xd2\xc9\x26\x42\x91\x1a\x49\xd9\x31\x82\xfc\xef\xc3\x91\xd4\x4f\x4b\x8e\xd3\x7d\x8b\xaf\x1f\x12\x89\x3c\xde\x7d\xee\x07\x8f\x1f\x8a\xe7\x85\xd2\x16\xa6\xcb\x52\xae\x79\x2c\x70\xa5\xee\x51\x4e\x27\xd5\xf0\x57\xb4\x2c\x65\x96\xfd\xe0\xb8\x33\xcd\x30\xbd\xde\xa2\x51\x62\x8b\x7a\x3a\x99\xcc\x66\x33\x58\x6d\xb8\x81\x44\x49\xab\x59\x62\x81\xe7\x85\xc0\x1c\xa5\x35\x60\x37\x08\x79\x50\x03\xc6\x32\x99\x32\x9d\x42\xa1\x55\xa1\x0c\xa6\x6e\x2d\x97\xb0\xbc\xfe\xd7\xcd\xe5\xdb\x37\xef\xff\x1e\xb9\x11\xf7\xe7\x16\xb3\x39\x6c\xac\x2d\xcc\x7c\x36\x5b\x73\xbb\x29\xe3\x28\x51\xf9\x4c\xc9\x4c\xa8\xdd\x2c\x13\xbc\x30\xb3\x58\xa8\x78\x96\x33\x2e\x67\xac\x28\x04\x4f\x98\xe5\x4a\xce\xde\xbd\x79\xf7\xee\xcd\xfb\xb7\x6f\x2f\xb3\xe0\xd7\xa5\x25\xc7\xcc\x65\x85\x24\xca\xd3\xc6\xd0\x9d\xd5\x65\x62\x0d\x30\x99\x82\x46\xa3\x4a\x9d\xa0\x81\x84\xc9\xc6\x0f\x50\x12\x41\x69\xc8\x95\x46\xb7\xa6\x76\xc9\xee\x0b\x34\x17\x90\x30\x21\x30\x85\x2d\x05\x2a\x82\x2b\x96\x6c\xdc\xb3\x9b\x06\x8d\x85\x46\x43\xe1\x70\x6b\x19\xa4\x3c\xcb\x50\x93\xde\x7b\x2e\x53\x50\x59\xad\xcf\xf9\x3f\x61\x49\x82\xc6\x9c\x31\x21\xce\x9b\xa0\x76\x72\xd4\xc9\x0c\x3c\x4e\x26\x00\x00\xa4\x7c\xb9\xa2\x21\xd8\x69\x56\x18\x58\xae\xbe\x70\x53\x08\xb6\x77\xbe\x2d\x57\x3f\x58\x29\xec\x17\x66\xd9\x85\x1b\xe0\x06\x4a\x83\x29\x58\x05\x6b\xbe\x45\x60\x90\x28\xf2\xd8\x22\xd4\xfa\x0a\x9e\xd8\x52\x23\x61\x64\x35\x04\x70\x18\x22\xf8\xaa\x8c\xed\x0d\xd6\x78\x0d\x98\x8d\x2a\x45\xda\xa8\x6a\xa2\x69\xa9\x5a\x28\x3e\x51\x35\xe9\xfe\xb7\xdd\x36\x2e\x29\x95\x3b\x8f\x6e\xbe\x2f\x23\xd0\x42\x66\x83\x8b\xf3\xc6\xdb\x8f\x4e\xf2\xc8\x92\x3a\x0e\xf3\x76\x50\x3e\xd6\x2b\x5c\xea\xb8\xe4\xf6\xac\x1e\xa2\xdf\xa0\xad\x8b\x9e\xc8\x73\xba\xcf\x5b\xce\xd0\xcf\xa0\xc8\xa2\x5a\x33\x2c\x1a\x2b\x43\x62\xb5\x42\x27\x58\xbf\xd5\xa2\x4f\x13\xff\xb7\x0e\xfa\x3f\x51\x14\xa8\x5d\x8a\xd1\x52\x0a\x57\x03\x81\x27\xc1\x4f\x05\xd3\x2c\x77\x93\xd5\xde\x9e\xc3\x67\xd0\xe8\x2a\x35\x41\x52\x41\x9b\x59\x87\xc9\x7a\xab\x34\x1a\x34\xda\x52\x4b\xf8\x5c\x65\xcd\xe7\x70\x34\xc5\x59\x29\x09\x94\x17\x3e\xeb\x1a\x7e\xf5\xd8\x6e\x32\x51\xf5\xf0\x74\x3e\x3f\x2c\x09\xca\x69\xce\xf6\x31\x86\x99\x45\xc7\x89\x28\x00\x76\x46\x56\xfb\x02\x3f\x78\xb1\x7f\x9c\x9d\x9f\xd7\x2a\x78\x56\x55\x86\x57\xd0\x56\xd7\x4d\x57\xf0\x31\x48\x32\xf3\x97\x80\xa7\x97\x81\x96\x68\xf0\x6f\xac\x92\x5c\x62\x5d\x18\xc2\x50\x27\x12\xe7\x47\xca\xab\x59\x59\x0f\x76\xd7\x36\x35\xd7\xaf\x0a\x07\xde\x2a\xc0\x07\x6a\xc3\x2e\xaf\x5c\x66\x4a\xe7\xae\x7f\x82\x44\x4c\x7d\x5f\x30\x1b\xb5\x4b\x98\x13\xe1\xd4\x4f\xa2\x66\x3b\xfb\x96\xcf\x24\xc4\xe8\xdb\x48\xbc\x87\x56\x13\x36\x4d\x5b\x91\xa0\xb6\xa8\xdd\xa6\xa2\xb6\x53\x6b\x58\x6b\x56\x6c\x78\x62\xa8\xb9\x10\x84\xe5\xea\x84\x7e\x50\x6d\x94\x26\x2d\x1e\x0c\x42\x1a\x66\x24\xcb\x11\x32\xa5\x3d\x66\xd7\xf9\xa3\xb6\x70\x67\xe1\xd5\x03\xa3\xb6\x34\x87\xe9\x52\xa8\xdd\x74\x50\xae\xdf\x40\xc8\xc0\x9c\x8e\x0d\x2e\xd7\x93\x03\x18\x2c\x8e\x35\x6e\x39\xb3\x98\x82\xd9\xe7\xb1\x12\xbf\x02\xe6\xfa\xdb\xbf\xa7\xa3\x00\xbc\xda\x61\x08\x9f\x21\x45\x93\x68\x5e\xb8\x4c\x52\x58\x0b\xad\xb6\x3c\x45\xd3\x49\x84\x0b\xf9\x4b\x10\x91\x6b\x84\xca\xaf\xa0\xb3\x83\x74\x4b\x66\x29\xc5\x49\xa9\xa9\x49\xec\xeb\x4c\x0a\xb5\x03\x89\x76\xa7\xf4\x7d\x34\xee\x47\x0b\xe9\xb0\x33\x57\x0f\x16\xb5\x64\x02\x04\x97\xf7\x54\x50\x0c\xbe\xdf\x5e\xd3\x83\x73\x82\x8e\xe3\x4e\xe1\xb2\x58\x95\xd6\x21\xa8\x4e\xfe\xbe\x83\x7d\x08\x18\x2c\x7c\xbf\xbd\x9e\x43\xe7\x54\x8d\xae\x9a\xa9\x2e\xaa\x6f\x0d\x19\x80\x2d\x6a\xe3\xaa\x3d\x78\xde\xb5\x0b\x42\xad\xd5\xb8\x71\x9a\x35\x7d\xb3\x5f\x31\xe5\xcc\x74\x2d\xde\xa9\x84\x87\x28\xb8\x7d\xa5\x91\x18\xc6\xa1\xbd\xd7\x06\x8c\x17\xdd\xa8\x1c\x0b\xb6\x46\xd3\xc9\x2d\xdc\x28\x63\x9c\xf8\x3d\xee\x0d\xb5\x39\xda\xbd\x53\x2e\x8d\x65\x6b\xcd\xf2\xe9\x05\x4c\xed\x8e\x5b\x8b\x9a\x1e\x53\x6e\x12\xa5\xd3\xe9\x05\xa0\x4d\xc6\xdd\xf0\x26\xcd\x1c\x1e\x7d\x0e\x8f\x04\xf2\x69\xf2\xdc\x21\xdb\xde\x5c\xdd\xe6\xd7\xad\xfa\xee\xdc\x40\x25\x75\x05\x4e\xcb\x73\x77\xcd\x91\xf4\xf4\x90\xbd\x24\x00\xd5\xa2\x41\x22\xe0\x7a\xd7\xc2\x05\xe1\x70\x32\x74\x93\x45\x88\xc4\xa1\x40\x7b\xe7\x2f\xda\x31\x39\x14\x6d\xc5\x03\x16\xed\xe8\x1c\x8a\xba\x30\xc0\xc2\x87\x63\x00\x95\x77\x9e\x60\xf9\xa7\x53\xc9\x48\xd3\xcb\xb9\x04\x06\x3b\xb6\x07\xbb\x61\x16\x76\x5c\x88\xea\xf0\xf4\x04\x3b\x05\xe5\xdc\x60\xa2\x3e\x20\xe0\x77\x10\x17\x59\xdb\x69\x81\x3b\x95\xc5\x54\xc7\xf7\x7f\xe0\x05\x54\xa6\x66\xac\x8f\x7d\x2e\xe2\x28\x48\x98\x3e\x91\xd6\x04\x69\x62\x36\xbd\xda\x0a\x3a\xd3\x8e\xba\x03\x0b\xcc\x7c\x1c\x3c\x60\xab\x5f\x08\x53\x4b\x4b\x47\xe4\x69\x9c\x03\x49\x2e\x7e\x8d\x82\x18\x4b\x4d\xd6\x5d\x56\xa4\x45\x77\x0f\xda\x71\xbb\x09\x44\x96\x68\x4f\xf4\x22\x42\x62\xd0\x96\x45\x6b\xb5\xd7\x46\xd7\x51\xd4\x4d\x49\x91\x55\xb6\xf6\x76\x8b\x32\x16\x3c\x81\x84\x15\x2c\xe6\x82\x5b\x5e\xb5\xd4\xe3\xb7\x96\x9a\xa7\x77\x79\xca\x0d\xb3\x1b\x2a\xf7\xca\xc2\x6e\x83\xba\x26\x57\x01\x12\x37\xa0\x31\x51\x79\x8e\x32\xb0\xb0\x18\x7d\x20\xd2\x23\x3d\xd8\x2b\x24\xfd\xd4\x00\xeb\x97\xee\x39\x72\xe3\x9d\x29\x08\xc5\x6e\xc3\x93\x0d\xe4\xa5\xb1\xa4\x9f\x8e\x16\x6f\xac\x95\x90\xe0\xbb\xc6\x04\x39\xed\x9c\x3a\x08\xfb\x71\x20\x95\xb0\x47\xe2\x0d\xfe\xdf\x40\x62\x26\x18\x6d\xe5\xea\x8a\xee\xf6\xf1\x68\x66\x86\x60\x55\x17\xec\xe3\xb0\x68\x23\xf9\x26\x14\x2e\xaf\x0d\x20\xe6\x79\xc5\xcf\xb6\x7f\x3f\x23\x5f\x74\xdc\x00\x23\x5c\x56\xf3\x84\x68\x5f\xb8\xf5\xff\xb7\xe4\x74\x1a\x40\xc7\x84\x53\xd2\xb9\xcb\x47\xb7\x41\xe5\x4f\x5f\xe4\x19\x4b\xf0\xf9\xf8\x5e\x3b\x58\x04\x78\xee\x60\xff\x39\x8e\x0c\xb6\xb6\x96\x1f\x27\x64\xe4\xb8\x23\xcb\x52\x26\x81\xc9\x32\x0b\x4c\x08\xb5\x33\x90\x68\xf4\x5d\x42\x65\x44\x6a\x31\x2f\xec\xbe\xd9\x3f\x4e\x92\x9c\x91\xd6\xed\xa0\x2e\x6a\x15\x7a\x4a\x20\x4f\xe9\x11\x84\xce\x0c\x5e\x91\x76\xb7\x9f\xe7\xb4\xe0\xec\x7c\x0e\x9f\x1e\xbb\x09\x74\xb3\xcf\x53\x9b\xb1\x3d\x7a\xd1\xbb\x61\x0e\x6f\xa0\xae\xd4\x58\x3d\x0f\xeb\xea\xc7\x78\x58\xd7\x71\xa9\x7e\x34\xaa\xcc\x3c\x17\x95\x6a\x7d\xff\x4c\x2a\x34\x0e\x9e\x31\x7d\xc4\x11\x37\x77\x65\x4c\x95\x78\xa6\x32\x0f\xec\xc3\xab\xc7\xe1\x1d\xf4\x44\x67\xdf\x1c\xa6\xd5\x7b\xd5\x23\x5c\x1d\xbb\x0e\xc3\x65\x22\xca\x14\x61\x78\x7d\xeb\xae\x32\x1e\x9c\x53\x00\x79\xdf\x03\x9a\x8a\x0c\xd6\xbd\xad\x46\x13\x23\xb0\xfe\x95\xc1\x15\xf1\x74\xe4\x64\x85\x9a\x75\x35\xe5\x43\xcc\xab\xd5\xf0\x0f\x44\xdb\x05\x05\x8b\x4e\x7d\x1d\x0a\xb7\xeb\x8a\x38\x42\xeb\x75\x5c\x73\x13\x9b\x96\xfe\x66\x70\xdc\x4a\x67\xe1\xe1\xe0\xe1\xc2\x7e\x11\xc2\x62\xb4\x2e\x4f\xa7\xa1\xcd\x61\xfd\x3c\x11\xfd\xd6\x27\xa2\xbf\xe5\x03\x5a\x8b\x86\x36\xe0\x4e\xfe\x9c\x56\x7f\x0d\x7a\x11\x15\x6d\xbe\x55\x1e\x92\xd1\xed\x89\xdf\xd5\x2a\x15\xe3\x14\x74\x1b\xd4\x04\xb2\x39\xc4\x93\x9a\x56\xe0\xa2\xb1\xfd\x63\x49\xa6\x55\x96\x09\x30\x65\x51\x88\xfa\x73\x85\x43\xf1\x3a\x7c\x0c\x19\x23\x75\x2b\x5a\x78\xe7\xd7\x8d\x7f\x8f\xf6\x8a\xe7\xf0\x7d\xc9\x1f\xfe\xf6\xd7\xa1\x23\xc1\x36\x7a\x2a\xb1\xc1\xab\x60\x80\xb8\x80\xd6\x82\x83\x9a\x7e\x9a\xc0\xff\x02\x00\x00\xff\xff\xea\x75\x9d\x1b\xc4\x19\x00\x00"
 
 func fungibletokenmetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -135,11 +135,11 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenMetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe8, 0x33, 0x2d, 0xac, 0xf2, 0x7a, 0xc2, 0xab, 0x93, 0xbb, 0xde, 0x3b, 0x1, 0x95, 0xe5, 0xaa, 0x36, 0xae, 0x1f, 0x41, 0x2d, 0x19, 0x3e, 0xd, 0xef, 0xc7, 0x1, 0x13, 0x9f, 0x65, 0xbf, 0xfa}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x53, 0xfc, 0xad, 0xee, 0xc4, 0x9b, 0x6f, 0x62, 0xa8, 0xb3, 0x38, 0xb7, 0x4d, 0x4f, 0xa5, 0xe3, 0x6f, 0x64, 0x1, 0x31, 0x9e, 0x70, 0x6c, 0xd2, 0x98, 0x59, 0x34, 0xc2, 0x84, 0x56, 0xd0, 0xbc}}
 	return a, nil
 }
 
-var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\xdf\x73\xdb\x36\xf2\x7f\xf7\x5f\xb1\xf5\xc3\x37\xd2\x8c\x2b\xf7\xe1\x3b\xf7\xe0\xa9\x9b\x9f\x97\x4e\x5f\x7a\x9d\xd4\xbd\x3c\x64\x32\x63\x88\x5c\x5a\x38\x53\x00\x07\x00\xa5\xa8\x19\xff\xef\x37\x0b\x80\x24\x40\x82\x14\xe5\xf8\x9a\xde\x4d\xf5\x90\x58\x12\xb1\xd8\x5d\xec\xee\x67\x17\x0b\x88\x6f\x2b\xa9\x0c\xbc\xad\xc5\x1d\x5f\x97\x78\x23\xef\x51\x40\xa1\xe4\x16\xce\xa3\xcf\xce\xcf\xce\x2e\x2f\x2f\xe1\x66\x83\x90\x49\x61\x14\xcb\x0c\x98\x0d\x33\xc0\xca\x52\xee\x35\x30\x01\x2c\xcb\x64\x2d\x0c\x18\x09\x0a\x33\xe4\x3b\x84\x8a\x1d\xb6\x28\x8c\x06\x2e\x60\x5b\x97\x86\x57\x25\x42\xe1\xe9\x5a\x82\x86\x88\x6b\xa8\x35\x17\x77\xc0\x80\xfe\x2b\x11\x6e\x3f\x47\x93\xaf\xde\x39\x7a\xea\xe1\x16\x32\x56\xb1\x35\x2f\xb9\x39\xac\x3c\x47\x5c\x07\x1f\x82\xde\xc8\xba\xcc\x81\xe7\xc8\xca\xf2\x00\x6b\x04\x6d\xa4\xc2\x1c\x18\x31\x8c\x60\x07\xdd\x46\xe4\x7f\xdd\x73\x93\x6d\xd6\x92\xa9\xbc\x9d\xe9\x97\x7a\x5d\xf2\xec\x17\x66\x36\x70\x0d\x97\x95\x7d\x77\xf9\x23\x0a\x54\x3c\x7b\x7b\xd3\x3c\x75\x6b\xa9\xad\x6b\x03\xdc\x40\xc6\x44\x38\x9d\x38\xec\x37\xa8\xd0\x71\x79\xc6\xb2\x0c\xb5\x5e\xb0\xb2\x5c\x76\x0a\x1c\xe3\x02\x3e\x9f\x01\x9c\x01\x00\x5c\x5e\xc2\xaf\x46\x2a\x76\x87\xc0\x44\x0e\x8e\x2b\x20\xb6\xb4\xfd\x3e\x24\x5b\xa2\x69\x1e\xa6\x07\xae\xc2\x37\xc9\x87\x3b\x19\xaf\x82\xbf\x93\x8f\x0e\xd5\x12\x0d\xf1\xbc\x3a\xfb\xc0\x1d\x0a\x6f\x1c\x5c\x03\x6e\xb9\x31\x98\xc3\x7e\x83\x02\x18\x08\xdc\xc3\x8e\xd5\xa5\x09\xd7\x8c\x6b\x60\x79\x8e\x39\x99\x0e\x6b\x69\xe9\x40\x21\x0a\xb5\xac\x55\x86\xab\xf6\xdb\x01\x9b\x6e\xda\x7f\x12\xed\xd7\x2d\xe9\x97\x44\x76\x61\x0e\x15\x5e\xc1\xcd\xa1\xc2\x8b\x90\xea\x3f\xf6\x02\xd5\x15\xbc\xcc\x73\x85\x5a\x3f\xbf\x70\x34\x8f\xbd\x3a\xbe\x7b\xe3\x97\x27\xa8\x21\xa5\x02\x85\x5b\xb9\xc3\xdc\x79\x1f\x83\x27\xd5\xc3\x3b\x47\x3b\xd2\xc4\x97\xab\xe2\xc9\xd4\x91\x63\x25\xb5\x77\x21\x21\x0d\xb9\x51\x26\xb7\x55\x89\x06\xf3\xa3\xa2\xfe\x2c\xcd\xeb\xe6\xe1\x37\x8e\x50\x24\x27\xdb\x52\x58\xba\x82\xdf\xde\xf2\x4f\x7f\xfb\xff\x99\xa2\x8d\xeb\xa6\x27\x17\x17\x06\x55\xc1\x32\x74\xb2\xa1\x28\xa4\xca\x50\xdb\x58\xb3\x45\xb3\x91\xce\xaa\x29\x4a\x52\x4c\x90\x02\xe9\x7d\xb6\xc1\xec\x1e\xa4\xa0\xc7\x5a\x72\x6c\xc7\x78\xc9\xd6\x25\x76\x4a\xe5\xa8\x41\x16\x14\x18\x13\x46\x60\x43\x02\x2b\xb5\x04\xfc\x54\x49\xed\x27\x6d\xc9\x35\x4a\x75\x5c\x68\x9a\xb6\xf9\xa8\xa8\x45\xae\x69\x7a\x6e\x26\xd4\xdb\xce\xd3\xc9\x18\x04\x29\x1f\x8b\x3e\xb7\xea\x0c\x87\x16\xb5\x80\x3b\x34\xd6\x0a\x69\x15\xf4\x62\x79\x05\x1f\xe8\xaf\x8f\xc9\xe7\x77\x1c\xf7\xc3\x41\xef\xb9\xd9\x78\xb5\xd3\xf8\xcf\x37\x76\x55\xfd\x27\x0f\x47\x09\xfd\x5a\x57\x04\x6e\x98\xc7\x6c\x78\x32\xaf\xa4\x2c\xd3\x34\x68\xb8\xd7\xd4\x82\x9c\xf1\x0a\x5e\xf4\xf0\xc8\x12\x7c\x58\x8e\x8e\xd6\xac\xc0\x37\x73\x28\x8c\x7d\xf1\x7c\x5a\x38\x6b\x3e\x4d\x4c\x7e\x75\x20\x81\x02\x93\x5f\x3a\xe1\xa6\x49\x10\x8b\xaf\xa4\x52\x72\x9f\x1a\xff\x7f\x63\x00\xec\x18\x7b\x88\x7d\xa0\x35\x14\xeb\x02\x16\x00\xbd\x03\xf4\x31\xdf\xe1\x7d\x93\x1f\xa8\xce\x58\x43\x8b\xbf\x70\xee\x42\x19\x01\x11\x91\xe4\x7f\xd6\x89\xf2\xdc\x9a\xbc\x0b\x94\xf4\xdd\xd6\xb9\x40\xeb\x56\x03\xdb\x67\xe2\xd0\x9f\x9b\x6d\xa5\x27\xdc\xf9\x1b\xc9\xae\xe7\x78\x42\x60\xff\x57\x90\x56\xd1\xc5\x94\x93\xb4\x6b\x42\xd3\xbc\xe1\x99\xe1\x52\x30\x75\x80\x8d\x2c\xf3\x46\xde\x31\x5d\xc5\x2a\x8a\x28\x71\x91\xe3\x27\xcc\x61\x7d\x48\x51\x70\x60\x43\x32\xae\xa2\x51\x7d\x03\x69\xf2\x92\x25\xec\x98\x6a\xe7\x7d\x1d\x4c\xdb\x3a\x4f\x87\x2c\xdf\x8f\x9a\xca\x0f\xde\x4a\x9a\xe9\x5e\xe6\xb9\xf6\x19\xc0\x51\x11\x0f\xb4\x9a\x24\x4a\x18\xf7\x22\x6a\x31\x12\x0e\x44\xa2\x37\x2f\x2a\xa6\xd8\x36\x20\x7a\xe5\xf2\xd7\x68\x12\x17\x3a\x81\x41\x86\xca\x30\x2e\xba\xf4\x34\x24\x15\x2a\x32\x08\xa2\x76\xfd\xc0\x6c\x94\xac\xef\x36\x53\x59\x2b\x39\x46\x44\x70\xcf\xcb\x92\x60\xae\xcd\x7b\x7a\xc2\x4e\xaf\x54\x1b\x68\x58\x9e\xff\x8c\x7b\x1b\x33\x16\xa1\x9c\xb3\xd6\x67\x19\x04\x6f\x37\x13\xb8\x88\x00\x0c\x14\x16\xa8\x50\x64\xd8\xf0\xe6\x64\xaf\x24\x61\x81\x65\xd8\xdb\x5a\xa0\xcd\x3d\x42\x9f\xde\x9e\xb9\x82\xc0\xc6\x04\xe0\x42\xf3\x1c\xfb\xa2\x46\x63\x28\xd9\xb4\x53\xbd\xc3\x02\xae\xc3\x6c\x7f\x6d\x59\x5b\x2c\xc7\xf1\xfb\xf9\x73\xa8\x98\xe0\x19\x2c\xce\x5f\x33\x61\xf3\x08\x27\x4e\x24\x8c\x13\xc4\x26\x59\x1d\xf5\xf3\x65\x9f\xf3\xd7\x16\xa1\x79\x41\xdc\x12\xeb\x64\xba\x95\xc2\x1d\x97\x75\x54\x6f\x14\x52\x81\xa1\x1a\xc4\x9a\xc8\x05\x8d\x10\xd2\x44\xd4\x78\x01\x0b\x8d\x65\xb1\x4a\xb9\xd4\x87\x46\xda\xd5\x1d\x5a\x8c\x5a\x2c\x3f\xc2\xf5\x35\x08\x5e\xf6\xd7\xc7\x73\x56\x6b\x0c\x56\x24\x90\xed\x50\x21\x30\x0d\xf7\xe8\xb8\x22\x9d\x37\x31\x25\x45\x27\x10\x82\xa2\xa8\xd9\xa0\x18\x3c\x76\x22\xdb\x01\xcd\xd4\x8c\x94\xf5\x59\x76\xc2\x64\x50\xe4\x3c\x63\xc6\x02\x06\x95\x93\x36\x3e\x04\xac\x6d\x98\x86\x35\xa2\x48\x8a\x60\xbd\x67\xf0\x85\x9d\x66\xa2\x10\x18\xb2\x7e\x31\x3b\xdd\x6d\xf4\x32\x48\x0f\xad\xa6\x2c\x54\x3d\x5f\x31\x97\xa1\x9c\x90\x45\xb7\xaf\x41\x3a\x1d\x78\x80\x27\x1b\x9b\xea\x03\x60\xa9\x31\x6d\x29\x3f\x35\xd6\xbb\x67\x1a\x58\xa9\x90\xe5\x07\x8a\x74\x7d\xeb\xa5\xd2\xd8\x59\xaf\xf5\x9f\x01\x29\xfb\xe9\xe2\xfc\xa6\xf5\x84\x96\x94\xb3\x41\x6e\xf3\xd8\x10\xf7\x7a\x6e\xd1\x73\xaf\x2e\xed\x1a\x81\x88\x7a\xbb\x46\x45\x89\xef\x2c\xb0\xa0\x24\x79\x7d\x70\x7b\x08\x71\xd4\xde\x20\x54\x54\x2b\x83\x2d\xc5\xe9\xfd\x01\x98\x6a\x6a\xf4\x38\xc6\x26\x5e\x29\x34\xb1\xf4\x1c\x90\xf4\x48\x83\xdb\x25\x88\xf9\x1a\x9b\xcd\x53\xf3\x4b\xea\xe8\xf9\x37\x24\x77\x97\xf7\xf8\x37\x21\xd1\xd3\xb1\x41\xbf\x3a\x50\x9d\xbe\xf0\xcc\x7f\xe8\x4a\xf7\x8f\x17\x1d\x0f\x3e\xb1\x4e\xc0\xc2\x8f\xe8\xfc\xb6\xd9\xe2\x99\x2b\xf3\x20\xb4\x3b\x99\xae\x29\x3b\x7f\xe9\x68\x2d\x92\x56\x7d\x79\x09\x6f\xa5\x02\x64\xd9\xc6\xaa\xf9\x82\x46\x38\xe0\x60\x54\x23\xf7\x62\x97\x87\x17\x33\xc0\x1f\x2e\x86\xd0\xfa\x4c\x8f\xd8\x50\xde\xe6\x63\x11\x19\x32\x65\xe2\x81\xcc\xdc\x2d\xf9\xd0\xd9\x78\x61\xc5\x0b\xd8\xba\x76\xb2\xae\xa2\x85\xbb\x43\x33\x81\xc7\x76\x79\x52\x41\x1f\xbe\x1c\x9c\xc7\x68\xee\xf1\x74\x8c\x0e\x86\xbb\x08\xe3\xe7\xa7\x28\xe3\x10\x17\x73\xd0\xb5\x35\xc7\xa2\x2e\xcb\xc3\x6a\xb5\x4a\x12\xf0\x5a\x3b\x82\xf7\x69\x7d\x78\x06\x56\xab\x15\x19\x40\x88\xd3\x42\x26\x81\xda\x65\x5a\x71\xc0\x1b\xa5\x3c\x0f\xb2\xbf\x99\x87\xd9\x3d\x96\x7f\x3b\x1d\xbf\x8f\x91\x3c\xb2\xce\xcd\xeb\x54\x89\xe6\xd2\x25\x24\x16\xf9\x6c\x78\x9f\x2f\x4d\x87\xfe\x69\xa4\x0f\x5f\xff\x09\xd4\x9f\x07\xf3\x47\xc9\x0c\x40\x7d\xd6\xc8\xe5\xe8\xb7\x0f\xc9\x6f\x86\x9f\x3e\x9c\x86\xba\x4f\x5b\x98\x81\xae\x30\xe3\xc5\x81\x4c\x78\xbf\xe1\xd9\x06\x6e\x49\xed\xb7\x84\x68\xb7\xe9\x5d\x8f\xdb\x66\x0f\x3d\x22\xe8\xeb\x2d\x17\xd8\xb8\x59\x59\x07\xe2\x36\x64\x71\x91\x95\x75\x4e\x41\x0b\x0e\xb2\x56\x11\x53\xe7\x7b\xc5\xaa\x0a\xd5\x79\x8f\x3b\x27\x91\xa6\x00\xb5\x21\x77\x63\x70\xfb\xc2\x32\xf1\x56\xaa\x3d\x53\x54\x86\xaf\xfc\x9f\xa8\x6e\x57\xf0\x93\xdb\x96\xb4\xfb\x6c\xeb\xb8\x2a\xac\xb5\x63\x4a\xee\x50\xed\x15\x37\xce\xaf\x9d\x1f\x1b\xc3\xb2\x8d\xdf\xd2\x6e\x6b\xcb\xb0\x58\xe2\x66\x23\x6b\x13\x8b\xba\x61\x3b\xeb\xf1\xb2\xdb\xe3\x60\x11\xaa\x14\x5c\x69\x13\xe1\xff\xff\x66\xc5\x9b\x92\xca\x6f\x50\x35\x1a\x96\x45\xdf\x5a\xbd\xb2\xac\x05\x45\x46\x33\xe0\xa5\x53\xc8\x05\x28\x46\xc8\x41\xcf\xb8\x2c\xd6\x5b\xa9\x2d\x10\x8d\xdd\xdc\x6a\x02\x74\x8b\x6d\xf4\x5d\x44\x4f\x33\x9e\xa7\x82\xe5\xdc\xfc\xec\xbd\x33\xd5\xd3\x4b\xf8\xc7\x94\x18\x23\xaf\x60\xff\x6f\x98\x00\x86\xd5\x70\xaf\x6d\xb1\x97\xea\x3e\x4c\xbc\xad\xa8\x5a\xa3\x0a\x77\x24\x56\x76\xc7\x72\xb1\xbc\x80\x2d\x6a\xcd\xee\xf0\x0a\xce\x5d\x0a\xad\x75\x9c\xce\x59\x00\xa7\x9c\xa0\xe4\xf9\xb0\x2a\x6f\xb0\xd3\x5a\x80\x35\x0b\x34\xa8\x42\xd4\x9c\x48\x7b\xc6\xe1\x8f\xc8\x4d\xe0\xdd\x93\x96\xae\xc9\xb2\x75\x1c\xbc\x06\xeb\xeb\xd6\x89\xfe\x1d\xc2\xc7\x23\xf1\x6a\x46\xd1\x19\x0f\x5a\x4e\x42\xc9\xef\xa8\x24\x48\x05\x5b\xca\x27\x67\x57\x70\x3e\x22\xc4\x01\x31\xd9\xf6\x18\x01\x16\x3d\x85\x2c\xba\x47\x38\x15\x26\xfe\x4b\xb0\x45\x47\xe0\x32\x80\x16\xd2\xe5\x5c\x70\x21\x1c\x88\x06\x0e\xf1\xa5\x6f\x2b\xf0\x87\xd4\xc5\x56\xce\x2e\xd8\xb7\x35\x71\x3f\xe2\xcb\x78\x11\xa5\xe8\x4a\xc6\xaf\x59\x6f\xfb\x78\x3e\x59\x76\x7b\x11\x5d\x53\xec\x49\xe2\xf8\x5f\x85\xfc\xf1\x42\x9e\x5f\xfc\x55\xcb\x8f\x0c\xff\xea\xb5\xfc\x23\x0a\xe3\x39\x15\xea\x34\xec\xeb\x0f\xfc\xe3\xcc\x52\xf7\xc4\x32\xf7\x11\x75\xec\x09\x69\x40\xf8\xea\x52\x02\x92\x66\xba\xaa\x7c\x82\x92\xf6\xf4\x72\x36\x5d\xca\x3e\xba\x60\x75\xa7\x59\x08\x5e\x67\xd4\xab\x6d\x22\x9f\x72\x81\xa7\xec\x24\x0e\xb8\xf1\x7d\xd7\x01\xb4\x47\x07\x7d\x1e\xd7\xf7\x73\x24\xfe\xfc\x7d\x3f\x9f\x69\x4c\xae\x01\xcc\x6a\xfb\xfd\x31\x5d\xbf\xd1\x10\x24\xa1\xe0\xae\x49\xd6\x5b\x75\x27\xe1\xbc\x3a\x63\xe5\x1e\x5e\xdc\xe3\x21\xb5\x1f\x35\xe0\xe6\xef\x4f\x59\x74\x78\xab\x3b\x5a\x76\x34\x47\xc5\x46\x0a\x8f\x39\xdb\x68\x5f\xa3\x0c\x69\xfe\x8a\xfc\xe7\x86\xdd\xa7\xc2\x84\x5b\x5d\x7b\x94\x44\xd6\xa4\x4a\x97\xf1\xdb\x34\x48\xc9\x0a\x55\x37\x20\xb1\x27\x92\x0c\x32\x52\x35\x69\x28\x21\x13\x37\xc7\x83\x89\x3b\x17\x44\x61\xa4\xcb\x5f\x93\x7c\x1e\x89\x4f\x8f\x3a\xb9\x34\x9e\x19\xa6\x22\xa7\x14\xa8\x7b\xc7\x68\xa7\x1c\xb9\x95\xa7\x67\x59\x70\x3d\x81\xc5\x34\x59\xb0\xf9\x3c\x30\x8e\xc0\xcd\x63\x9d\xf9\x16\xa4\xdb\x36\xe8\x8e\xf4\xd8\x5d\x2a\xae\x43\x46\xcf\x97\x67\x23\x71\x2f\xde\xe7\xf1\xa6\x90\xa3\xe6\xaa\x99\x60\x2a\x5a\x8d\xc9\x3b\x1e\xbb\xe2\x98\x05\x41\xd0\x4a\x44\xe0\x36\x1e\xf5\xf9\x6f\x5d\x31\x5e\xf2\xef\xbf\xa5\xff\x47\x4b\xf4\xa3\x3e\x61\x94\x2f\xc7\xad\x73\x0c\x7c\x23\x22\x36\x07\x7f\x63\xd7\xf0\x55\x5c\xde\x3f\xc2\xc4\x76\x92\xdb\x23\x50\x56\x31\xf7\xd6\x8b\xc2\x84\xb4\xbf\xc0\xe3\x45\x6a\xca\xd9\x76\xcd\x09\xc0\x78\x03\xd1\x32\x63\x1a\xa0\xa6\x78\x4a\xc0\xa5\x7d\x5d\x99\xde\x85\x9e\xf2\x6c\x85\xa6\x56\xe2\x14\xa7\xbe\x68\x6b\xf5\xb0\xcd\xe3\x55\x9b\xeb\x46\x07\xcd\x0e\x2c\xa5\xe5\x5d\x36\x7e\x01\x36\x1b\xe6\x65\x69\xcf\x94\x33\x2e\x22\x0d\x47\xe4\x3c\xa1\x81\x75\x09\xc4\xbc\xf5\x22\x22\x4f\x5a\x2e\x64\x2d\xe6\xa6\x22\x5f\x7e\xd6\x71\x18\x8c\x6e\x94\xc5\xd6\xa6\x54\xf4\x41\x79\x70\x68\xfa\x68\x5a\xd1\x55\x35\x91\x33\x93\x31\x55\x0a\x35\x81\xaa\x3b\x83\x1b\xa5\x60\xbd\x0a\xc7\x57\x36\x4f\x11\xd5\xd2\xc7\x34\xde\x23\x18\x27\xf0\x78\x10\x08\xf2\x97\x23\x65\x8f\x93\x79\x8f\x6e\x8b\x6b\x9a\x60\xaa\x98\x1b\x16\x72\x47\xe3\xdb\x78\x99\xfb\xbe\x33\xdd\xd6\x2c\x49\xe5\x76\xc3\x7c\x18\x58\x9b\xd7\x64\x64\x5b\x91\xc7\xe4\x8a\xed\x17\xcd\xc9\x6e\xfb\xe9\x9a\x95\x4c\x64\xb8\x1c\x46\xdb\xb1\xaa\xc2\xf3\xc8\x8b\xae\xc1\xc1\x78\xe9\x9b\xc4\x5a\x6e\xc9\x5b\x98\x96\xa2\x6f\x0d\xe1\x74\xf0\x03\x7c\xb7\xfa\x2e\xa1\x00\x9b\x5a\xa5\x8e\xa6\x27\x05\x76\xb9\x55\x6c\x2d\xe9\x72\x2a\x25\x73\xfa\xc9\x47\x66\x61\x43\xfd\xf9\xa8\xe6\xb4\x3f\xa1\xcb\x1c\xb5\x51\xd2\xbb\xe5\x59\x82\x82\xe0\xe5\x18\x2a\xd9\x06\x83\xcf\x69\xfb\x49\x36\x6f\xda\x68\x36\x6c\x73\xed\x9a\x03\xc7\xda\x45\x73\x42\xfe\x3e\xde\x01\x3d\xd8\x68\xd8\x84\x7f\xdb\xb2\xc0\x89\x79\xbc\x54\x0c\xd6\x52\x96\xc8\x04\x6c\x99\x6d\x85\x0c\xf2\x28\xa9\x1a\xe6\x99\x67\x9e\x02\x77\x78\x4c\xf0\xf1\xa7\xbc\x7b\xa6\xc7\x8b\xe3\x6d\x0e\x7b\x50\x21\x61\xb2\x5e\x9e\x82\x95\x1a\x7b\xcb\x9c\x5a\xcd\x23\xf3\x7c\xd3\xf4\x7c\xc6\x96\xfc\x47\x34\xda\x63\x92\xcf\x1a\x98\xd6\xfc\x4e\x34\xab\x5d\x29\xb9\xe3\x1d\x36\x0d\xcf\x2f\xdb\xab\x5f\x94\x17\x20\x29\x8f\xa9\x03\xac\x31\x63\xb5\xc6\x16\x53\xb9\xb9\xa0\xfc\xc5\xe7\x0e\x95\xd4\xda\x03\x31\x94\x52\xde\x43\x2d\x72\x74\x1d\xa3\x8d\x94\xee\x6c\xb9\x46\x24\x1d\xb2\xb1\x6e\x1e\x77\xf7\x31\x04\xe0\xa7\x0a\x33\x5b\x12\x5b\xc3\xb2\xcb\xb9\x72\x2c\x6d\xb0\xac\x34\xdc\xd5\x4c\xe5\xc0\xee\x18\x17\x9a\xca\xb6\x82\x0b\x6e\xb0\x3c\x40\xb6\x61\x9c\x84\xec\x35\x06\x88\x86\xb4\xad\x48\x2e\x9c\x8d\x44\x13\x6f\x59\xc9\x33\x7b\xa6\xe5\x9e\xdb\x20\x5a\x40\x5d\xe5\x5d\x21\x98\xd9\x6b\x6f\x95\x72\xa5\x62\xc9\x35\x65\x5b\xda\xf9\xe2\x1a\x89\xfe\x96\xe5\xbe\xa1\xcc\x14\x36\x66\x28\x5c\x5e\x5f\x28\x29\x8c\x3e\xda\x82\xfd\xe3\x7c\x4a\x80\xac\xec\x1e\x6e\x39\x9a\x54\x66\x52\xe8\x7a\x8b\xaa\xdd\xc0\x0f\x3b\x34\xcd\x1d\x9b\x4b\x2b\x27\x33\xbe\x20\x40\xae\x40\xee\xc5\xb4\xdf\x3d\xf6\x6a\xc4\xd0\x15\xbf\xb1\x3e\x32\xee\xc7\x26\xd1\x6d\x85\x74\xbc\xfc\x02\x3f\x1c\x94\x21\xfd\xa6\x1d\x25\x5a\xc6\x55\xbd\xbe\xbf\x2f\xe1\x5e\xc8\xbd\x6f\xaf\xf9\x3b\x9a\xdd\x81\x81\xe3\x67\x3f\x5c\x82\x55\x31\xe5\x9c\xd9\x73\x37\x61\x5f\x41\xe6\x7c\x8f\x07\xdd\x65\x3a\xdd\x5e\x3e\x2d\xb3\x2f\x42\xa3\xb1\x73\x2e\x8b\xf2\xd6\x4d\x5c\xdf\x0f\x8b\x02\x33\xc3\x77\xe4\x8f\x11\xb1\x66\xcf\x3b\xcd\xea\xcc\x2b\x4e\xbd\x15\xa5\x74\xaa\x9d\xf0\x26\x6c\xfb\xc0\x35\x7c\xf8\x38\xe8\x51\xb4\x5e\x06\x7c\x62\x75\x57\x56\x4f\xc9\xf6\xc5\x91\x73\x5e\x37\x51\x78\x1e\x49\xde\x62\x86\x57\xac\xaa\x50\xe4\x8b\x76\xfc\x69\x59\x96\x5f\xdd\x98\xe6\x57\x37\x47\x60\xa5\x14\x77\x16\x2c\x5c\x53\xcc\xf7\x03\x6d\x53\x2c\xde\xf8\xb1\x31\xcd\x4f\xdc\x1c\x64\x49\x57\x84\x49\xb3\x7e\x19\x9a\xf1\x96\x55\x55\x93\x25\x4c\xd8\x6e\xcc\x00\x59\x83\xcf\xdc\xdb\x78\x68\x33\xb9\x67\xba\xe5\xfb\xa8\xc9\x3e\xe6\x96\xdd\x51\x5b\x0e\x86\x0f\x07\x5f\xc3\xe7\x41\xbe\xdd\x9e\x25\xb1\x4d\xc1\xf8\xe8\x47\xc9\x7b\x7b\xa9\x7f\x1a\x7f\xf0\xcd\x1f\xd7\x7a\x0f\x36\x45\x7a\x8b\x30\xc3\x97\x02\x85\x05\xf3\x4f\x96\x91\x21\x9b\x63\x13\x9d\xec\x7f\x01\x1f\x27\xb8\x22\x05\x51\x47\xce\x25\x6f\xbe\x11\x6f\x9b\xf4\xba\xb9\x70\xe9\x9a\x04\xf6\x4e\xb3\xdf\xe6\x88\xc8\x3a\x3f\x1e\x1c\xc1\x70\x3f\x02\x40\x44\x9f\xf9\x0f\x9f\xb5\x13\x1f\xf7\xb1\x37\x11\x50\xbc\xbd\xf1\x3c\x25\x0f\x85\xad\x8e\xba\xc7\x8c\xbb\xa3\xf0\x19\x06\xae\xa1\xa3\x61\xba\x37\x60\xe0\x0d\x7f\x1a\xeb\xee\xf1\x1d\xdb\xa5\x51\xf5\xf0\x04\xf2\x0c\x73\xeb\x11\x1d\x33\xb2\x77\xde\x9a\xf6\x1b\xb4\xe9\xaf\xcb\xa5\xad\x1d\xdc\xf1\x9d\x37\x2e\x7b\xed\x24\xcb\xb0\x32\xdd\x35\xc7\x26\x58\xf6\x4c\x36\xd8\xcd\xcb\xdc\xcf\x52\x60\xe5\x6e\x82\x5a\x42\xfe\x07\x22\xfe\x55\xeb\xc6\x90\xad\x80\x44\x34\xc7\x22\xda\x92\x48\x1a\x07\xd7\x43\xdb\x38\x5a\x96\x25\x6c\xa3\x71\xf8\x31\x63\x4b\xed\x41\x75\x0e\x76\x3d\x58\x32\x93\xc8\x3c\x52\x8b\x11\xaf\x9b\xbf\x3d\x14\xd5\x7e\xe9\xc6\x2b\x95\x2f\x03\xfb\xb9\xbc\x84\x9f\x04\x37\x9c\x95\xfc\x77\x1c\x1c\x9c\x19\x3b\x88\x31\x6a\xb1\xb1\x87\xf8\xc9\x83\xcb\xc6\x6f\xa3\x30\xe4\x7f\x7a\x84\x52\x7d\x85\x94\xe2\xbb\x66\xd8\xba\x64\xe2\x3e\xda\xd0\x83\x97\x50\x6b\x54\xb0\xa5\x35\xcf\x58\x59\xb6\x04\x6d\x90\x6a\x83\x5b\x77\x02\xc5\xe1\x2c\xa9\x04\xf3\xf0\x1e\xbc\x2f\x21\xb4\xfb\x65\x8d\xf6\xc6\xf0\x59\xdf\x5a\x6c\xf9\x6e\x99\x0a\x2e\x45\x51\x00\x79\xd1\xff\x99\x8f\x68\x91\xbe\xff\xd6\x4b\x12\x8d\x0a\xb5\x30\x58\x05\xab\xcb\xe0\x97\x3e\xe0\x1a\x2e\x3d\x7b\x97\xc5\xc8\xef\x8b\xc4\x83\x93\x3f\x75\x32\x36\xd4\x3d\x1c\x13\x38\xed\x37\x53\x1a\x69\x1e\xce\xfe\x1d\x00\x00\xff\xff\xf0\xb3\x4a\x29\x7c\x46\x00\x00"
+var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\xdf\x73\xdb\x36\xf2\x7f\xf7\x5f\xb1\xf5\xc3\x37\xd2\x8c\x2b\xf7\xe1\x3b\xf7\xe0\xa9\x9b\x9f\x97\x4e\x5f\x7a\x9d\xd4\xbd\x3c\x64\x32\x63\x88\x5c\x5a\x38\x53\x00\x07\x00\xa5\xa8\x19\xff\xef\x37\x0b\x80\x24\x40\x82\x14\xe5\xf8\x9a\xde\x4d\xf5\x90\x58\x12\xb1\xd8\x5d\xec\xee\x67\x17\x0b\x88\x6f\x2b\xa9\x0c\x9c\xbf\xad\xc5\x1d\x5f\x97\x78\x23\xef\x51\x9c\x9f\x9d\x5d\x5e\x5e\xc2\xcd\x06\x21\x93\xc2\x28\x96\x19\x30\x1b\x66\x80\x95\xa5\xdc\x6b\x60\x02\x58\x96\xc9\x5a\x18\x30\x12\x14\x66\xc8\x77\x08\x15\x3b\x6c\x51\x18\x0d\x5c\xc0\xb6\x2e\x0d\xaf\x4a\x84\xc2\xd3\xb5\x04\x0d\x11\xd7\x50\x6b\x2e\xee\x80\x01\xfd\x57\x22\xdc\x7e\x8e\x26\x5f\xbd\x73\xf4\xd4\xc3\x2d\x64\xac\x62\x6b\x5e\x72\x73\x58\x79\x8e\xb8\x0e\x3e\x04\xbd\x91\x75\x99\x03\xcf\x91\x95\xe5\x01\xd6\x08\xda\x48\x85\x39\x30\x62\x18\xc1\x0e\xba\x8d\xc8\xff\xba\xe7\x26\xdb\xac\x25\x53\x79\x3b\xd3\x2f\xf5\xba\xe4\xd9\x2f\xcc\x6c\xe0\x1a\x2e\x2b\xfb\xee\xf2\x47\x14\xa8\x78\xf6\xf6\xa6\x79\xea\xd6\x52\x5b\xd7\x06\xb8\x81\x8c\x89\x70\x3a\x71\xd8\x6f\x50\xa1\xe3\xf2\x8c\x65\x19\x6a\xbd\x60\x65\xb9\xec\x14\x38\xc6\x05\x7c\x3e\x03\x38\x03\x00\xb8\xbc\x84\x5f\x8d\x54\xec\x0e\x81\x89\x1c\x1c\x57\x40\x6c\x69\xfb\x7d\x48\xb6\x44\xd3\x3c\x4c\x0f\x5c\x85\x6f\x92\x0f\x77\x32\x5e\x05\x7f\x27\x1f\x1d\xaa\x25\x1a\xe2\x79\x75\xf6\x81\x3b\x14\xde\x38\xb8\x06\xdc\x72\x63\x30\x87\xfd\x06\x05\x30\x10\xb8\x87\x1d\xab\x4b\x13\xae\x19\xd7\xc0\xf2\x1c\x73\x32\x1d\xd6\xd2\xd2\x81\x42\x14\x6a\x59\xab\x0c\x57\xed\xb7\x03\x36\xdd\xb4\xff\x24\xda\xaf\x5b\xd2\x2f\x89\xec\xc2\x1c\x2a\xbc\x82\x9b\x43\x85\x17\x21\xd5\x7f\xec\x05\xaa\x2b\x78\x99\xe7\x0a\xb5\x7e\x7e\xe1\x68\x1e\x7b\x75\x7c\xf7\xc6\x2f\x4f\x50\x43\x4a\x05\x0a\xb7\x72\x87\x39\x14\x4a\x6e\x81\xc1\x93\xea\xe1\x9d\xa3\x1d\x69\xe2\xcb\x55\xf1\x64\xea\xc8\xb1\x92\xda\xbb\x90\x90\x86\xdc\x28\x93\xdb\xaa\x44\x83\xf9\x51\x51\x7f\x96\xe6\x75\xf3\xf0\x1b\x47\x28\x92\x93\x6d\x29\x2c\x5d\xc1\x6f\x6f\xf9\xa7\xbf\xfd\xff\x4c\xd1\xc6\x75\xd3\x93\x8b\x0b\x83\xaa\x60\x19\x3a\xd9\x50\x14\x52\x65\xa8\x6d\xac\xd9\xa2\xd9\x48\x67\xd5\x14\x25\x29\x26\x48\x81\xf4\x3e\xdb\x60\x76\x0f\x52\xd0\x63\x2d\x39\xb6\x63\xbc\x64\xeb\x12\x3b\xa5\x72\xd4\x20\x0b\x0a\x8c\x09\x23\xb0\x21\x81\x95\x5a\x02\x7e\xaa\xa4\xf6\x93\xb6\xe4\x1a\xa5\x3a\x2e\x34\x4d\xdb\x7c\x54\xd4\x22\xd7\x34\x3d\x37\x13\xea\x6d\xe7\xe9\x64\x0c\x82\x94\x8f\x45\x9f\x5b\x75\x86\x43\x8b\x5a\xc0\x1d\x1a\x6b\x85\xb4\x0a\x7a\xb1\xbc\x82\x0f\xf4\xd7\xc7\xe4\xf3\x3b\x8e\xfb\xe1\xa0\xf7\xdc\x6c\xbc\xda\x69\xfc\xe7\x1b\xbb\xaa\xfe\x93\x87\xa3\x84\x7e\xad\x2b\x42\x32\xcc\x63\x36\x3c\x99\x57\x52\x96\x69\x1a\x34\xdc\x6b\x6a\x41\xce\x78\x05\x2f\x7a\x78\x64\x09\x3e\x2c\x47\x47\x6b\x56\xe0\x9b\x39\x14\xc6\xbe\x78\x3e\x2d\x9c\x35\x9f\x26\x26\xbf\x3a\x90\x40\x81\xc9\x2f\x9d\x70\xd3\x24\x88\xc5\x57\x52\x29\xb9\x4f\x8d\xff\xbf\x31\x00\x76\x8c\x3d\xc4\x3e\xd0\x1a\x8a\x75\x01\x0b\x80\xde\x01\xfa\x98\xef\xf0\xbe\xc9\x0f\x54\x67\xac\xa1\xc5\x5f\x38\x77\xa1\x8c\x80\x88\x48\xf2\x3f\xeb\x44\x79\x6e\x4d\xde\x05\x4a\xfa\x6e\xeb\x5c\xa0\x75\xab\x81\xed\x33\x71\xe8\xcf\xcd\xb6\xd2\x13\xee\xfc\x8d\x64\xd7\x73\x3c\x21\xb0\xff\x2b\x48\xab\xe8\x62\xca\x49\xda\x35\xa1\x69\xde\xf0\xcc\x70\x29\x98\x3a\xc0\x46\x96\x79\x23\xef\x98\xae\x62\x15\x45\x94\xb8\xc8\xf1\x13\xe6\xb0\x3e\xa4\x28\x38\xb0\x21\x19\x57\xd1\xa8\xbe\x81\x34\x79\xc9\x12\x76\x4c\xb5\xf3\xbe\x0e\xa6\x6d\x9d\xa7\x43\x96\xef\x47\x4d\xe5\x07\x6f\x25\xcd\x74\x2f\xf3\x5c\xfb\x0c\xe0\xa8\x88\x07\x5a\x4d\x12\x25\x8c\x7b\x11\xb5\x18\x09\x07\x22\xd1\x9b\x17\x15\x53\x6c\x1b\x10\xbd\x72\xf9\x6b\x34\x89\x0b\x9d\xc0\x20\x43\x65\x18\x17\x5d\x7a\x1a\x92\x0a\x15\x19\x04\x51\xbb\x7e\x60\x36\x4a\xd6\x77\x9b\xa9\xac\x95\x1c\x23\x22\xb8\xe7\x65\x49\x30\xd7\xe6\x3d\x3d\x61\xa7\x57\xaa\x0d\x34\x2c\xcf\x7f\xc6\xbd\x8d\x19\x8b\x50\xce\x59\xeb\xb3\x0c\x82\xb7\x9b\x09\x5c\x44\x00\x06\x0a\x0b\x54\x28\x32\x6c\x78\x73\xb2\x57\x92\xb0\xc0\x32\xec\x6d\x2d\xd0\xe6\x1e\xa1\x4f\x6f\xcf\x5c\x41\x60\x63\x02\x70\xa1\x79\x8e\x7d\x51\xa3\x31\x94\x6c\xda\xa9\xde\x61\x01\xd7\x61\xb6\xbf\xb6\xac\x2d\x96\xe3\xf8\xfd\xfc\x39\x54\x4c\xf0\x0c\x16\xe7\xaf\x99\xb0\x79\x84\x13\x27\x12\xc6\x09\x62\x93\xac\x8e\xfa\xf9\xb2\xcf\xf9\x6b\x8b\xd0\xbc\x20\x6e\x89\x75\x32\xdd\x4a\xe1\x8e\xcb\x3a\xaa\x37\x0a\xa9\xc0\x50\x0d\x62\x4d\xe4\x82\x46\x08\x69\x22\x6a\xbc\x80\x85\xc6\xb2\x58\xa5\x5c\xea\x43\x23\xed\xea\x0e\x2d\x46\x2d\x96\x1f\xe1\xfa\x1a\x04\x2f\xfb\xeb\xe3\x39\xab\x35\x06\x2b\x12\xc8\x76\xa8\x10\x98\x86\x7b\x74\x5c\x91\xce\x9b\x98\x92\xa2\x13\x08\x41\x51\xd4\x6c\x50\x0c\x1e\x3b\x91\xed\x80\x66\x6a\x46\xca\xfa\x2c\x3b\x61\x32\x28\x72\x9e\x31\x63\x01\x83\xca\x49\x1b\x1f\x02\xd6\x36\x4c\xc3\x1a\x51\x24\x45\xb0\xde\x33\xf8\xc2\x4e\x33\x51\x08\x0c\x59\xbf\x98\x9d\xee\x36\x7a\x19\xa4\x87\x56\x53\x16\xaa\x9e\xaf\x98\xcb\x50\x4e\xc8\xa2\xdb\xd7\x20\x9d\x0e\x3c\xc0\x93\x8d\x4d\xf5\x01\xb0\xd4\x98\xb6\x94\x9f\x1a\xeb\xdd\x33\x0d\xac\x54\xc8\xf2\x03\x45\xba\xbe\xf5\x52\x69\xec\xac\xd7\xfa\xcf\x80\x94\xfd\x74\x71\x7e\xd3\x7a\x42\x4b\xca\xd9\x20\xb7\x79\x6c\x88\x7b\x3d\xb7\xe8\xb9\x57\x97\x76\x8d\x40\x44\xbd\x5d\xa3\xa2\xc4\x77\x16\x58\x50\x92\xbc\x3e\xb8\x3d\x84\x38\x6a\x6f\x10\x2a\xaa\x95\xc1\x96\xe2\xf4\xfe\x00\x4c\x35\x35\x7a\x1c\x63\x13\xaf\x14\x9a\x58\x7a\x0e\x48\x7a\xa4\xc1\xed\x12\xc4\x7c\x8d\xcd\xe6\xa9\xf9\x25\x75\xf4\xfc\x1b\x92\xbb\xcb\x7b\xfc\x9b\x90\xe8\xe9\xd8\xa0\x5f\x1d\xa8\x4e\x5f\x78\xe6\x3f\x74\xa5\xfb\xc7\x8b\x8e\x07\x9f\x58\x27\x60\xe1\x47\x74\x7e\xdb\x6c\xf1\xcc\x95\x79\x10\xda\x9d\x4c\xd7\x94\x9d\xbf\x74\xb4\x16\x49\xab\xbe\xbc\x84\xb7\x52\x01\xb2\x6c\x63\xd5\x7c\x41\x23\x1c\x70\x30\xaa\x91\x7b\xb1\xcb\xc3\x8b\x19\xe0\x0f\x17\x43\x68\x7d\xa6\x47\x6c\x28\x6f\xf3\xb1\x88\x0c\x99\x32\xf1\x40\x66\xee\x96\x7c\xe8\x6c\xbc\xb0\xe2\x05\x6c\x5d\x3b\x59\x57\xd1\xc2\xdd\xa1\x99\xc0\x63\xbb\x3c\xa9\xa0\x0f\x5f\x0e\xce\x63\x34\xf7\x78\x3a\x46\x07\xc3\x5d\x84\xf1\xf3\x53\x94\x71\x88\x8b\x39\xe8\xda\x9a\x63\x51\x97\xe5\x61\xb5\x5a\x25\x09\x78\xad\x1d\xc1\xfb\xb4\x3e\x3c\x03\xab\xd5\x8a\x0c\x20\xc4\x69\x21\x93\x40\xed\x32\xad\x38\xe0\x8d\x52\x9e\x07\xd9\xdf\xcc\xc3\xec\x1e\xcb\xbf\x9d\x8e\xdf\xc7\x48\x1e\x59\xe7\xe6\x75\xaa\x44\x73\xe9\x12\x12\x8b\x7c\x36\xbc\xcf\x97\xa6\x43\xff\x34\xd2\x87\xaf\xff\x04\xea\xcf\x83\xf9\xa3\x64\x06\xa0\x3e\x6b\xe4\x72\xf4\xdb\x87\xe4\x37\xc3\x4f\x1f\x4e\x43\xdd\xa7\x2d\xcc\x40\x57\x98\xf1\xe2\x40\x26\xbc\xdf\xf0\x6c\x03\xb7\xa4\xf6\x5b\x42\xb4\xdb\xf4\xae\xc7\x6d\xb3\x87\x1e\x11\xf4\xf5\x96\x0b\x6c\xdc\xac\xac\x03\x71\x1b\xb2\xb8\xc8\xca\x3a\xa7\xa0\x05\x07\x59\xab\x88\xa9\xf3\xbd\x62\x55\x85\xea\xbc\xc7\x9d\x93\x48\x53\x80\xda\x90\xbb\x31\xb8\x7d\x61\x99\x78\x2b\xd5\x9e\x29\x2a\xc3\x57\xfe\x4f\x54\xb7\x2b\xf8\xc9\x6d\x4b\xda\x7d\xb6\x75\x5c\x15\xd6\xda\x31\x25\x77\xa8\xf6\x8a\x1b\xe7\xd7\xce\x8f\x8d\x61\xd9\xc6\x6f\x69\xb7\xb5\x65\x58\x2c\x71\xb3\x91\xb5\x89\x45\xdd\xb0\x9d\xf5\x78\xd9\xed\x71\xb0\x08\x55\x0a\xae\xb4\x89\xf0\xff\x7f\xb3\xe2\x4d\x49\xe5\x37\xa8\x1a\x0d\xcb\xa2\x6f\xad\x5e\x59\xd6\x82\x22\xa3\x19\xf0\xd2\x29\xe4\x02\x14\x23\xe4\xa0\x67\x5c\x16\xeb\xad\xd4\x16\x88\xc6\x6e\x6e\x35\x01\xba\xc5\x36\xfa\x2e\xa2\xa7\x19\xcf\x53\xc1\x72\x6e\x7e\xf6\xde\x99\xea\xe9\x25\xfc\x63\x4a\x8c\x91\x57\xb0\xff\x37\x4c\x00\xc3\x6a\xb8\xd7\xb6\xd8\x4b\x75\x1f\x26\xde\x56\x54\xad\x51\x85\x3b\x12\x2b\xbb\x63\xb9\x58\x5e\xc0\x16\xb5\x66\x77\x78\x05\xe7\x2e\x85\xd6\x3a\x4e\xe7\x2c\x80\x53\x4e\x50\xf2\x7c\x58\x95\x37\xd8\x69\x2d\xc0\x9a\x05\x1a\x54\x21\x6a\x4e\xa4\x3d\xe3\xf0\x47\xe4\x26\xf0\xee\x49\x4b\xd7\x64\xd9\x3a\x0e\x5e\x83\xf5\x75\xeb\x44\xff\x0e\xe1\xe3\x91\x78\x35\xa3\xe8\x8c\x07\x2d\x27\xa1\xe4\x77\x54\x12\xa4\x82\x2d\xe5\x93\xb3\x2b\x38\x1f\x11\xe2\x80\x98\x6c\x7b\x8c\x00\x8b\x9e\x42\x16\xdd\x23\x9c\x0a\x13\xff\x25\xd8\xa2\x23\x70\x19\x40\x0b\xe9\x72\x2e\xb8\x10\x0e\x44\x03\x87\xf8\xd2\xb7\x15\xf8\x43\xea\x62\x2b\x67\x17\xec\xdb\x9a\xb8\x1f\xf1\x65\xbc\x88\x52\x74\x25\xe3\xd7\xac\xb7\x7d\x3c\x9f\x2c\xbb\xbd\x88\xae\x29\xf6\x24\x71\xfc\xaf\x42\xfe\x78\x21\xcf\x2f\xfe\xaa\xe5\x47\x86\x7f\xf5\x5a\xfe\x11\x85\xf1\x9c\x0a\x75\x1a\xf6\xf5\x07\xfe\x71\x66\xa9\x7b\x62\x99\xfb\x88\x3a\xf6\x84\x34\x20\x7c\x75\x29\x01\x49\x33\x5d\x55\x3e\x41\x49\x7b\x7a\x39\x9b\x2e\x65\x1f\x5d\xb0\xba\xd3\x2c\x04\xaf\x33\xea\xd5\x36\x91\x4f\xb9\xc0\x53\x76\x12\x07\xdc\xf8\xbe\xeb\x00\xda\xa3\x83\x3e\x8f\xeb\xfb\x39\x12\x7f\xfe\xbe\x9f\xcf\x34\x26\xd7\x00\x66\xb5\xfd\xfe\x98\xae\xdf\x68\x08\x92\x50\x70\xd7\x24\xeb\xad\xba\x93\x70\x5e\x9d\xb1\x72\x0f\x2f\xee\xf1\x90\xda\x8f\x1a\x70\xf3\xf7\xa7\x2c\x3a\xbc\xd5\x1d\x2d\x3b\x9a\xa3\x62\x23\x85\xc7\x9c\x6d\xb4\xaf\x51\x86\x34\x7f\x45\xfe\x73\xc3\xee\x53\x61\xc2\xad\xae\x3d\x4a\x22\x6b\x52\xa5\xcb\xf8\x6d\x1a\xa4\x64\x85\xaa\x1b\x90\xd8\x13\x49\x06\x19\xa9\x9a\x34\x94\x90\x89\x9b\xe3\xc1\xc4\x9d\x0b\xa2\x30\xd2\xe5\xaf\x49\x3e\x8f\xc4\xa7\x47\x9d\x5c\x1a\xcf\x0c\x53\x91\x53\x0a\xd4\xbd\x63\xb4\x53\x8e\xdc\xca\xd3\xb3\x2c\xb8\x9e\xc0\x62\x9a\x2c\xd8\x7c\x1e\x18\x47\xe0\xe6\xb1\xce\x7c\x0b\xd2\x6d\x1b\x74\x47\x7a\xec\x2e\x15\xd7\x21\xa3\xe7\xcb\xb3\x91\xb8\x17\xef\xf3\x78\x53\xc8\x51\x73\xd5\x4c\x30\x15\xad\xc6\xe4\x1d\x8f\x5d\x71\xcc\x82\x20\x68\x25\x22\x70\x1b\x8f\xfa\xfc\xb7\xae\x18\x2f\xf9\xf7\xdf\xd2\xff\xa3\x25\xfa\x51\x9f\x30\xca\x97\xe3\xd6\x39\x06\xbe\x11\x11\x9b\x83\xbf\xb1\x6b\xf8\x2a\x2e\xef\x1f\x61\x62\x3b\xc9\xed\x11\x28\xab\x98\x7b\xeb\x45\x61\x42\xda\x5f\xe0\xf1\x22\x35\xe5\x6c\xbb\xe6\x04\x60\xbc\x81\x68\x99\x31\x0d\x50\x53\x3c\x25\xe0\xd2\xbe\xae\x4c\xef\x42\x4f\x79\xb6\x42\x53\x2b\x71\x8a\x53\x5f\xb4\xb5\x7a\xd8\xe6\xf1\xaa\xcd\x75\xa3\x83\x66\x07\x96\xd2\xf2\x2e\x1b\xbf\x00\x9b\x0d\xf3\xb2\xb4\x67\xca\x19\x17\x91\x86\x23\x72\x9e\xd0\xc0\xba\x04\x62\xde\x7a\x11\x91\x27\x2d\x17\xb2\x16\x73\x53\x91\x2f\x3f\xeb\x38\x0c\x46\x37\xca\x62\x6b\x53\x2a\xfa\xa0\x3c\x38\x34\x7d\x34\xad\xe8\xaa\x9a\xc8\x99\xc9\x98\x2a\x85\x9a\x40\xd5\x9d\xc1\x8d\x52\xb0\x5e\x85\xe3\x2b\x9b\xa7\x88\x6a\xe9\x63\x1a\xef\x11\x8c\x13\x78\x3c\x08\x04\xf9\xcb\x91\xb2\xc7\xc9\xbc\x47\xb7\xc5\x35\x4d\x30\x55\xcc\x0d\x0b\xb9\xa3\xf1\x6d\xbc\xcc\x7d\xdf\x99\x6e\x6b\x96\xa4\x72\xbb\x61\x3e\x0c\xac\xcd\x6b\x32\xb2\xad\xc8\x63\x72\xc5\xf6\x8b\xe6\x64\xb7\xfd\x74\xcd\x4a\x26\x32\x5c\x0e\xa3\xed\x58\x55\xe1\x79\xe4\x45\xd7\xe0\x60\xbc\xf4\x4d\x62\x2d\xb7\xe4\x2d\x4c\x4b\xd1\xb7\x86\x70\x3a\xf8\x01\xbe\x5b\x7d\x97\x50\x80\x4d\xad\x52\x47\xd3\x93\x02\xbb\xdc\x2a\xb6\x96\x74\x39\x95\x92\x39\xfd\xe4\x23\xb3\xb0\xa1\xfe\x7c\x54\x73\xda\x9f\xd0\x65\x8e\xda\x28\xe9\xdd\xf2\x2c\x41\x41\xf0\x72\x0c\x95\x6c\x83\xc1\xe7\xb4\xfd\x24\x9b\x37\x6d\x34\x1b\xb6\xb9\x76\xcd\x81\x63\xed\xa2\x39\x21\x7f\x1f\xef\x80\x1e\x6c\x34\x6c\xc2\xbf\x6d\x59\xe0\xc4\x3c\x5e\x2a\x06\x6b\x29\x4b\x64\x02\xb6\xcc\xb6\x42\x06\x79\x94\x54\x0d\xf3\xcc\x33\x4f\x81\x3b\x3c\x26\xf8\xf8\x53\xde\x3d\xd3\xe3\xc5\xf1\x36\x87\x3d\xa8\x90\x30\x59\x2f\x4f\xc1\x4a\x8d\xbd\x65\x4e\xad\xe6\x91\x79\xbe\x69\x7a\x3e\x63\x4b\xfe\x23\x1a\xed\x31\xc9\x67\x0d\x4c\x6b\x7e\x27\x9a\xd5\xae\x94\xdc\xf1\x0e\x9b\x86\xe7\x97\xed\xd5\x2f\xca\x0b\x90\x94\xc7\xd4\x01\xd6\x98\xb1\x5a\x63\x8b\xa9\xdc\x5c\x50\xfe\xe2\x73\x87\x4a\x6a\xed\x81\x18\x4a\x29\xef\xa1\x16\x39\xba\x8e\xd1\x46\x4a\x77\xb6\x5c\x23\x92\x0e\xd9\x58\x37\x8f\xbb\xfb\x18\x02\xf0\x53\x85\x99\x2d\x89\xad\x61\xd9\xe5\x5c\x39\x96\x36\x58\x56\x1a\xee\x6a\xa6\x72\x60\x77\x8c\x0b\x4d\x65\x5b\xc1\x05\x37\x58\x1e\x20\xdb\x30\x4e\x42\xf6\x1a\x03\x44\x43\xda\x56\x24\x17\xce\x46\xa2\x89\xb7\xac\xe4\x99\x3d\xd3\x72\xcf\x6d\x10\x2d\xa0\xae\xf2\xae\x10\xcc\xec\xb5\xb7\x4a\xb9\x52\xb1\xe4\x9a\xb2\x2d\xed\x7c\x71\x8d\x44\x7f\xcb\x72\xdf\x50\x66\x0a\x1b\x33\x14\x2e\xaf\x2f\x94\x14\x46\x1f\x6d\xc1\xfe\x71\x3e\x25\x40\x56\x76\x0f\xb7\x1c\x4d\x2a\x33\x29\x74\xbd\x45\xd5\x6e\xe0\x87\x1d\x9a\xe6\x8e\xcd\xa5\x95\x93\x19\x5f\x10\x20\x57\x20\xf7\x62\xda\xef\x1e\x7b\x35\x62\xe8\x8a\xdf\x58\x1f\x19\xf7\x63\x93\xe8\xb6\x42\x3a\x5e\x7e\x81\x1f\x0e\xca\x90\x7e\xd3\x8e\x12\x2d\xe3\xaa\x5e\xdf\xdf\x97\x70\x2f\xe4\xde\xb7\xd7\xfc\x1d\xcd\xee\xc0\xc0\xf1\xb3\x1f\x2e\xc1\xaa\x98\x72\xce\xec\xb9\x9b\xb0\xaf\x20\x73\xbe\xc7\x83\xee\x32\x9d\x6e\x2f\x9f\x96\xd9\x17\xa1\xd1\xd8\x39\x97\x45\x79\xeb\x26\xae\xef\x87\x45\x81\x99\xe1\x3b\xf2\xc7\x88\x58\xb3\xe7\x9d\x66\x75\xe6\x15\xa7\xde\x8a\x52\x3a\xd5\x4e\x78\x13\xb6\x7d\xe0\x1a\x3e\x7c\x1c\xf4\x28\x5a\x2f\x03\x3e\xb1\xba\x2b\xab\xa7\x64\xfb\xe2\xc8\x39\xaf\x9b\x28\x3c\x8f\x24\x6f\x31\xc3\x2b\x56\x55\x28\xf2\x45\x3b\xfe\xb4\x2c\xcb\xaf\x6e\x4c\xf3\xab\x9b\x23\xb0\x52\x8a\x3b\x0b\x16\xae\x29\xe6\xfb\x81\xb6\x29\x16\x6f\xfc\xd8\x98\xe6\x27\x6e\x0e\xb2\xa4\x2b\xc2\xa4\x59\xbf\x0c\xcd\x78\xcb\xaa\xaa\xc9\x12\x26\x6c\x37\x66\x80\xac\xc1\x67\xee\x6d\x3c\xb4\x99\xdc\x33\xdd\xf2\x7d\xd4\x64\x1f\x73\xcb\xee\xa8\x2d\x07\xc3\x87\x83\xaf\xe1\xf3\x20\xdf\x6e\xcf\x92\xd8\xa6\x60\x7c\xf4\xa3\xe4\xbd\xbd\xd4\x3f\x8d\x3f\xf8\xe6\x8f\x6b\xbd\x07\x9b\x22\xbd\x45\x98\xe1\x4b\x81\xc2\x82\xf9\x27\xcb\xc8\x90\xcd\xb1\x89\x4e\xf6\xbf\x80\x8f\x13\x5c\x91\x82\xa8\x23\xe7\x92\x37\xdf\x88\xb7\x4d\x7a\xdd\x5c\xb8\x74\x4d\x02\x7b\xa7\xd9\x6f\x73\x44\x64\x9d\x1f\x0f\x8e\x60\xb8\x1f\x01\x20\xa2\xcf\xfc\x87\xcf\xda\x89\x8f\xfb\xd8\x9b\x08\x28\xde\xde\x78\x9e\x92\x87\xc2\x56\x47\xdd\x63\xc6\xdd\x51\xf8\x0c\x03\xd7\xd0\xd1\x30\xdd\x1b\x30\xf0\x86\x3f\x8d\x75\xf7\xf8\x8e\xed\xd2\xa8\x7a\x78\x02\x79\x86\xb9\xf5\x88\x8e\x19\xd9\x3b\x6f\x4d\xfb\x0d\xda\xf4\xd7\xe5\xd2\xd6\x0e\xee\xf8\xce\x1b\x97\xbd\x76\x92\x65\x58\x99\xee\x9a\x63\x13\x2c\x7b\x26\x1b\xec\xe6\x65\xee\x67\x29\xb0\x72\x37\x41\x2d\x21\xff\x03\x11\xff\xaa\x75\x63\xc8\x56\x40\x22\x9a\x63\x11\x6d\x49\x24\x8d\x83\xeb\xa1\x6d\x1c\x2d\xcb\x12\xb6\xd1\x38\xfc\x98\xb1\xa5\xf6\xa0\x3a\x07\xbb\x1e\x2c\x99\x49\x64\x1e\xa9\xc5\x88\xd7\xcd\xdf\x1e\x8a\x6a\xbf\x74\xe3\x95\xca\x97\x81\xfd\x5c\x5e\xc2\x4f\x82\x1b\xce\x4a\xfe\x3b\x0e\x0e\xce\x8c\x1d\xc4\x18\xb5\xd8\xd8\x43\xfc\xe4\xc1\x65\xe3\xb7\x51\x18\xf2\x3f\x3d\x42\xa9\xbe\x42\x4a\xf1\x5d\x33\x6c\x5d\x32\x71\x1f\x6d\xe8\xc1\x4b\xa8\x35\x2a\xd8\xd2\x9a\x67\xac\x2c\x5b\x82\x36\x48\xb5\xc1\xad\x3b\x81\xe2\x70\x96\x54\x82\x79\x78\x0f\xde\x97\x10\xda\xfd\xb2\x46\x7b\x63\xf8\xac\x6f\x2d\xb6\x7c\xb7\x4c\x05\x97\xa2\x28\x80\xbc\xe8\xff\xcc\x47\xb4\x48\xdf\x7f\xeb\x25\x89\x46\x85\x5a\x18\xac\x82\xd5\x65\xf0\x4b\x1f\x70\x0d\x97\x9e\xbd\xcb\x62\xe4\xf7\x45\xe2\xc1\xc9\x9f\x3a\x19\x1b\xea\x1e\x8e\x09\x9c\xf6\x9b\x29\x8d\x34\x0f\x67\xff\x0e\x00\x00\xff\xff\xb4\x77\xb4\x8f\x69\x46\x00\x00"
 
 func fungibletokenswitchboardCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -155,7 +155,7 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenSwitchboard.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3b, 0x35, 0x2a, 0x3c, 0x5e, 0xf2, 0x64, 0x7d, 0x25, 0x7c, 0x74, 0x12, 0x40, 0x42, 0x6a, 0x9c, 0x76, 0xc4, 0xda, 0x21, 0x5c, 0xc8, 0x1, 0xed, 0xe4, 0x19, 0x22, 0xc5, 0xac, 0x6f, 0xe2, 0xc6}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0x99, 0xa9, 0xbb, 0x82, 0x7b, 0x4, 0xec, 0xe1, 0x46, 0xa3, 0xf8, 0x40, 0xe8, 0x33, 0x16, 0xba, 0xa6, 0x66, 0x9b, 0xe8, 0x79, 0xfc, 0xfb, 0x18, 0xd, 0xd0, 0x1f, 0x6b, 0x42, 0x69, 0x8a}}
 	return a, nil
 }
 
@@ -179,7 +179,7 @@ func utilityBurnerCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7c\x6d\x73\xdb\x38\x92\xf0\xf7\xfc\x8a\x1e\x6f\xd5\xac\xfd\x3c\xb2\xe4\xcc\xce\x4d\xdd\xa9\x46\x3b\x9b\x49\xe2\xdd\x5c\xcd\xe4\x52\x89\x67\xf7\xaa\x52\x53\x31\x44\xb6\x24\xac\x49\x82\x0b\x80\x96\xb5\xa9\xfc\xf7\xab\x6e\xbc\x10\xa4\x28\x8b\xf6\x66\x36\xfe\x90\x50\x24\xd0\x68\x34\xfa\x1d\x0d\xc8\xb2\x56\xda\xc2\x65\x53\xad\xe5\xb2\xc0\x2b\x75\x83\x15\xac\xb4\x2a\xe1\xa4\xf3\xee\xe4\x89\x6f\xf9\x5a\x55\x43\x8d\xfb\xaf\x63\xfb\xbf\x4a\xdc\xbe\x45\xa3\x8a\x5b\xd4\xbe\x6d\xfa\xea\xe4\xc9\x93\xd9\x6c\x06\x57\x1b\x69\x20\x53\x95\xd5\x22\xb3\x20\xcb\xba\xc0\x12\x2b\x6b\xc0\x6e\x10\x4a\xb4\x22\x17\x56\x80\xb1\xa2\xca\x85\xce\xa1\xd6\xaa\x56\x06\x73\xee\x2b\x2b\xb8\xfc\xe9\xd5\x9b\xf3\x8b\xef\xfe\xf0\xdd\x94\xde\xf0\xdb\xb7\xb8\x9a\xc3\xc6\xda\xda\xcc\x67\xb3\xb5\xb4\x9b\x66\x39\xcd\x54\x39\x53\xd5\xaa\x50\xdb\xd9\xaa\x90\xb5\x99\x2d\x0b\xb5\x9c\x95\x42\x56\x33\x51\xd7\x85\xcc\x84\x95\xaa\x9a\x7d\x73\xf1\xcd\xd3\x8b\xff\x7a\xfa\xdd\x79\xb5\xb2\xe7\x61\xf0\x69\x99\x47\xd8\xef\xac\x6e\x32\x6b\x40\x54\x39\x68\x34\xaa\xd1\x19\x1a\xc8\x44\xd5\x62\x0e\xaa\x42\x50\x1a\x4a\xa5\x91\xfb\xc4\x49\xd8\x5d\x8d\x66\x02\x99\x28\x0a\xcc\xe1\x56\xe2\xd6\x4c\xe1\xa5\xc8\x36\xfc\xcc\x9f\x41\x63\xad\xd1\x10\x01\xb8\xaf\x80\x5c\xae\x56\xa8\x09\xee\x8d\xac\x72\x50\xab\x08\x6f\x02\xa6\xc9\x36\x20\x0c\x08\xc8\x34\x0a\xab\x34\x2c\xa5\x5a\x6b\x51\x6f\x76\xdc\x5b\x69\x10\xf0\xdf\x6f\x5e\xfe\x19\x64\x29\xd6\x08\x2b\x59\xa0\xa3\x93\xc8\x32\x34\xe6\x54\x14\xc5\x59\x4b\xfc\x9f\x3d\x60\x5a\x25\x03\x1f\x9f\x3c\x01\x00\x20\x38\x2f\xa4\xa9\x0b\xb1\x03\x49\x43\x2d\x85\x91\x99\xc7\x78\x23\x2c\xc8\x2a\x2b\x9a\x1c\xdd\x82\x55\xa2\xc4\x09\xe4\x68\x32\x2d\x6b\x22\x29\x51\x2a\xc2\xb1\x9b\xa6\x5c\x56\x42\x16\xb0\x22\xd4\x2a\x50\xcb\xbf\x63\x66\xa7\xf0\xb3\x32\xd6\xff\x30\x60\x36\xaa\x29\xf2\x84\xa0\x96\x58\x84\x06\x9c\x06\x48\xfc\x7f\x3a\x07\xc3\xeb\x12\x11\xf5\xb8\x87\x71\xaf\x3c\x66\x44\x3d\xc2\xd2\x0f\x9b\xb6\xe9\xb5\x97\x06\x56\x12\x8b\x1c\xb6\xb2\x28\x60\x89\x90\x3b\xc8\x98\x13\xd3\x15\xd2\x78\x1e\xb0\x1b\xd4\xb8\x52\x1a\x3d\xd6\x1d\x30\x4b\x7e\xab\x2d\xcd\x34\x53\x55\x26\x0d\x0e\x8f\x99\xce\xa4\x40\xcb\xb8\xce\x89\xd7\x64\xb5\xee\xce\xe4\x19\x6c\xb5\xb4\x16\xab\x0e\x8d\x3f\xd3\xb4\x04\xe4\x68\x85\x0c\xcc\xd9\x05\x3b\xe9\x80\x32\x8a\x99\x7e\x89\xcc\xe6\x70\x8b\x7a\xa9\x0c\xc2\x29\x4e\xd7\x53\x10\x50\x0b\x2d\x98\x0f\x41\x56\xc6\xa2\x60\xbe\x15\x60\x64\xb5\x2e\x10\x0a\x59\xe1\xd9\x38\x4a\x24\xb3\x3c\x44\x10\x53\x8a\xa2\x48\x58\x2b\x4a\x90\x78\x24\x6d\x3c\xff\x2d\x11\x04\x6c\x71\x79\xbe\xd2\x12\xab\xbc\xd8\xb1\xf8\xc0\xa9\x9c\x22\xcb\xd4\x04\xde\xbc\xfe\xf3\x59\x07\x08\xcb\x83\xa7\xcb\x3e\xc3\x4c\x68\xe2\x37\x50\x6b\x64\xd1\x9f\x00\xda\x6c\x1c\x15\xe2\xe4\xe6\xf0\xf1\x52\x16\xf8\xa9\xa5\x01\x2f\x94\xac\xa4\x3d\x8d\xaf\xe8\x2f\xe5\xa0\x49\xe7\xcb\x00\x45\xbb\x0d\xf6\x07\x0b\x5f\xce\xe0\x63\xa7\xa5\xc1\x62\x35\x65\xb9\x5a\xf0\x80\xfb\x1f\x53\x26\x5d\xa4\x43\xef\x37\x6d\x17\x70\xd1\xa2\x10\x9b\x39\x24\x3e\xb5\x2a\xe9\x2f\x58\xd4\xa8\xc1\x2a\x58\x63\x2b\xf7\xcc\xc4\xac\x66\xc5\x0a\x61\x2b\x76\x1d\x85\x41\xfd\xfe\x44\xac\x59\x32\xd9\x82\x21\x9a\xc3\x33\xd0\xc8\x4a\x36\x43\x82\x48\xfc\xa2\x83\xe1\x0a\x5a\xbe\x85\xa0\xd1\x36\xba\x82\x67\x15\x28\x9e\x8b\x28\xe2\xf8\x4e\x0d\x1d\xd4\x52\xab\xa6\x22\x74\x7d\xeb\xd3\x0f\x3d\x34\xbe\xfe\x98\xda\xc7\x69\x78\xf8\x74\x06\xf3\x30\xc2\x0f\xc9\x12\xc8\x15\x33\x07\x73\xc0\xa2\x03\x6a\xea\xb1\x27\x70\xa7\x57\xbb\x1a\xbf\xf7\xdd\xff\x78\x7a\xd6\x5f\xc4\x00\xc5\x83\x00\x61\x7e\x48\xd4\x28\xf4\xfe\xfc\xdc\x6f\x3b\x1f\x3e\x3d\xd9\x7f\xf2\x0d\x2b\xbf\x86\xc9\xca\xfd\x19\x2b\xd4\x32\x03\x59\x59\xd4\x2b\x41\x24\x27\xb1\x69\x0d\x1f\x08\x27\x69\xc6\x2a\x8d\x39\x90\x0c\x6b\x50\xab\x15\x64\x1b\x21\xab\x29\x10\x53\x9a\x08\xce\x8b\x5b\x63\x30\xa7\xb5\x8b\x0b\x69\x9c\xcd\x33\x13\xb8\x95\x39\x2a\xa7\xae\x15\xe9\x6b\x28\x31\x97\xe2\xa8\x2d\x69\xf1\xa3\x01\x13\x5a\xa4\x6d\x99\x64\xb4\xac\x8d\x96\xa7\x67\x51\x45\xf5\xa6\xfc\x57\x36\x96\x0a\xf0\x8e\x7c\x97\x30\x3f\x67\x3d\x8d\x87\x47\xfe\x13\x08\xb6\x15\x7f\xb9\xba\x7a\x03\xa7\x4a\xf3\xc3\xbb\x33\xf8\xe5\xed\x4f\x47\xb1\xa5\xa6\x84\xe7\xfc\x3e\x6c\x69\xa1\x1b\x5d\xec\x6b\xd2\x56\x8b\x24\x9f\x07\xc5\xbd\xd1\x24\xa0\x8d\x4e\x45\xf3\x01\x94\xe9\x81\xf4\x5c\x12\x20\x1f\x16\xf7\x61\x0a\xb6\x1c\xf2\xea\xcd\xe5\xbb\x48\x23\xfe\xe5\x97\x1f\x84\xc6\x96\x29\x72\x58\xee\x48\xbc\xa5\x66\xaf\x87\x9c\x0b\x99\x63\x65\xe5\x4a\xa2\x86\xd3\xe7\xaf\x5e\x9c\x45\x20\x5a\x30\xb3\xd8\x8d\x60\xcb\x28\x35\x66\x16\x7e\x79\xfb\x6a\x0a\xcf\x20\x2b\x24\xf5\x4d\x5c\x47\xe6\xc3\xc6\xa0\x73\x56\x9e\xbf\x7a\xd1\x3a\x3d\x0a\x56\xe4\xb9\x11\xff\x15\x4a\xb0\xcf\xe0\xfd\xb1\x5b\x29\x68\xbd\x19\xdd\xb5\xb0\xb8\x15\xbb\xa3\x0b\x4d\x8d\x3b\x0b\xdd\xb1\x40\xcf\x5f\xbd\x20\x96\xa2\x21\x06\x26\x48\x5e\x17\xe3\xc7\x23\x3a\x6f\x30\xe9\xdd\x81\xd4\xf1\xa2\x73\x95\x99\xa9\xac\x57\x66\x2a\xd5\x8c\x5c\x19\xac\xad\x99\xf9\x11\xce\x45\x9e\x6b\xe2\xe0\x6a\x3d\x1b\x65\xce\x32\x99\x0f\x1b\xf3\x37\xc2\x6e\x58\x22\x12\xd5\x5a\xd3\x3b\xaf\x94\x79\xd1\x83\x42\x66\x65\xef\x89\xe7\x56\x47\xe9\xdd\x28\x03\x2f\x0d\xa8\xaa\xd8\x41\x85\x98\x93\x7d\x5e\xb5\xc0\xa5\x21\x8f\x45\xe6\x18\x97\xfc\x5e\xa0\x23\x88\x44\x60\xcf\xcd\xce\x58\x2c\xcd\x38\xf2\xd0\x8c\x03\x7d\x7e\x18\x92\xd1\x84\x7e\x93\x6e\xeb\x41\x91\xcd\x64\x0e\x0b\x22\xfa\xfe\x27\x26\xee\x82\x61\x0c\xc9\x73\x4b\xb7\xa6\xca\x98\xcb\x9d\xc0\x3a\x06\x63\xca\x57\xc2\xca\x5b\x24\x15\xd5\x72\xd7\x1e\x63\xdd\x43\xa7\x8d\xda\x9e\x5b\x35\xf3\x2c\x74\x4e\xaf\xcf\x55\x75\xbe\xc5\xe5\xec\x77\x0e\xf6\x79\xa3\x0b\x73\x70\x05\x82\x35\x26\x17\xdf\x38\x15\x43\x6c\x29\x64\x45\x8f\x71\x5d\x1b\x2d\x8f\xd2\x7e\x94\xc6\xf2\xe6\xd2\x13\xae\x25\xe2\x41\x53\x79\x42\x53\x9a\xcf\x66\x27\x53\x62\x09\x61\x4f\xc3\x9a\x9c\x85\x17\x27\xb3\x93\xf8\x4c\xb0\xce\x7a\xc6\x75\x48\x63\x1e\x86\x7a\x5c\x87\x46\x4b\x1b\xd4\xe8\x56\xda\x8d\x8b\x51\xb4\x46\x53\x2b\x99\xd3\xbc\xd9\x4a\x92\xf3\x70\x54\x25\xfd\x4c\x2d\xfb\x9a\x88\xb5\x93\x63\x09\x74\xb0\x46\x31\xff\x8a\x55\x5b\xdf\xcb\x75\x61\x74\x2e\xc5\x39\x07\xc9\x99\x2a\x91\x64\xd8\xad\xaf\xd2\x25\x7b\xf9\xbb\x1a\x67\xa6\x59\x72\x0b\x61\xbc\xb7\xb9\xc4\x1c\x28\x46\x83\x0e\xac\xc8\x8a\x78\x8b\x85\xaa\x51\x4f\x4b\xf5\x4f\x59\x14\x62\xaa\xf4\x7a\x86\xd5\xf9\x2f\xef\x98\x4d\x67\x7f\xc3\xe5\x8c\x4c\xeb\xec\x47\x8a\x7a\xcd\x07\xb5\xfa\xc0\x3f\x7f\x7e\xf5\xf3\xcb\x0f\xec\x68\x8e\x9a\x55\xa4\xe5\x7d\xa6\x37\x9d\xfa\x64\xbf\x4b\x57\xb6\x79\xbd\xa9\xc7\x82\xfe\xe9\x7f\x88\x9d\x17\xf1\xe9\x30\x5f\xfc\x4d\x8b\x9a\x7c\x69\xc7\xff\x4a\x43\xd9\x14\x56\xd6\x85\x5f\x36\x97\xa8\x18\xc5\x03\xa6\xcf\x04\xcf\x2a\x10\x7a\x29\xad\x16\x7a\x77\x6e\xe4\x3f\x31\xe7\x50\xc8\x87\xff\x3b\xa8\x9a\x72\x89\xe4\xdc\x79\x1e\x92\xa4\x25\x0f\x52\x91\xbf\xce\xe1\x3d\xb7\xfd\x75\x88\x84\x1f\x7a\x6d\x06\xf5\x21\x37\x81\x45\x6f\xb0\x23\x11\x86\x9f\xdf\xbf\x35\xc0\x68\x8d\xa0\x1f\x7d\x5c\x78\xe1\x1a\x3f\x28\xba\x70\x5d\x1e\x1b\x5c\xb8\xde\x23\x63\x8b\xc8\x28\xd0\xfb\xfb\x0c\xa1\xc5\x90\x86\x2b\x64\x86\x15\xb9\x8c\x59\xa6\x34\x2b\x36\xab\xa2\xfc\x9b\x3a\xbf\x63\x91\xf7\xad\x4c\xbb\x8e\x57\x21\xe9\xd4\x89\x30\xbc\xaf\x10\x7c\x2b\xb5\x22\xbd\xf9\xfa\xf2\x8a\x1c\x07\x0f\x23\x3f\xaa\x2f\x7f\xf2\x28\x1d\x76\xd2\x09\xaf\x57\xd1\x6f\xbb\x4f\x69\x7c\x48\xfc\xbb\x7b\x1d\xf7\x2e\x48\x62\xff\xf8\x63\xac\x0c\x04\xbc\xbf\x90\x10\x84\xe1\xc7\x49\x81\x6f\xfd\x20\x31\xf0\x7d\x1e\x2b\x07\xbe\xfb\x48\x41\xd8\xe7\x82\xdf\x40\x12\x62\xbc\x44\x0e\x1a\x13\x9d\x3c\x5c\x8b\x25\x70\x6a\x16\xf0\xce\xa2\x26\xe2\x1a\x69\x5b\x43\xef\x93\xf2\x09\xdf\x2f\x77\x69\xb0\x43\xbc\x7e\x83\x30\x8d\x71\xcd\x8f\x85\xca\x08\xba\x0a\x71\x52\x63\x50\x1b\x48\x63\x20\x4e\xc2\x69\xb9\x96\x34\x1a\x27\xc2\x7c\x0e\x98\xa4\x87\x13\xd5\xb5\x56\x7f\xa7\xbe\x35\x85\x46\x1c\x1c\x07\x13\xee\xfc\x4d\x6a\x98\xa9\xa2\x40\x76\x45\x5b\x64\x71\x1d\xe5\x79\xbb\xdd\x4e\xcb\x1d\x67\xef\x3d\x34\x97\xf9\xbf\x45\x4d\x74\x3f\x57\x2b\xfe\xd6\x42\x39\x26\xaa\x2f\x3d\x7d\x88\x7c\x8f\x8e\xa9\x3f\xc0\x88\xa8\x7a\x71\x6f\xfc\xdb\x15\xc4\x14\xab\x2f\x24\x8c\x29\x0a\xe3\x04\x32\xe9\xf1\x20\xa1\x4c\xfa\x3d\x56\x30\x13\x10\x23\x85\x73\x78\xdd\x3f\xbb\x80\x3a\x26\x5f\xc9\x0a\x43\xcc\x5e\xd6\xca\x88\x25\x85\xb9\x6a\x27\x0a\xbb\x6b\x77\xbe\xb8\xf1\x5a\xde\xa2\x81\x52\xe8\x1b\xb4\x75\x21\x32\x34\x20\x5a\x31\x6b\x2a\xd2\xe7\x79\x9a\x5a\x53\x60\x9a\xda\x6d\xdf\x5d\x5e\x79\xa0\x12\xcd\x51\x1b\xf5\xd6\x0f\xdf\x73\xe8\x42\xf2\xae\xbb\x11\xf8\x16\x33\x94\xb7\x31\xc1\x80\xb0\xc4\x0a\x57\x32\x93\x42\xef\x42\x02\xde\xcf\xa7\x9b\xad\x10\xcc\x19\xc1\xa4\x66\x1a\x2d\xba\x6d\xb0\xd0\x29\x00\xe6\x10\x25\xfc\x9a\xae\xd1\xd2\xba\x9e\x9e\xf5\x82\xcc\x4c\x95\x25\x56\xb9\x4b\xc8\x9c\xc3\x2f\xac\x84\x7c\x3a\x9f\x77\xc8\x48\x13\x56\xb8\x4d\xf4\x0f\x5c\x16\x6a\xeb\x66\xd1\x01\xa6\xbb\x53\x92\x06\x1a\x43\xce\xc3\xf5\x1a\xad\xa7\x4d\x98\xf5\x9b\x66\x59\xc8\xec\x8d\xb0\x9b\xd3\xb3\xeb\x09\xeb\xc3\x4a\xd9\x2e\x38\x97\x19\x42\x5a\x6c\xd1\x14\x36\x19\x35\x4e\xca\x29\x5d\xde\x98\x11\x45\xa1\xb6\x5e\x87\x5a\x05\x4d\x9d\x13\xea\x1d\x80\x4c\x32\x51\x8b\xa5\x2c\xa4\xe5\xc4\x37\xc7\x42\x8d\x6d\x34\xaf\x7a\xc3\x5a\x9f\x37\x67\xd6\x7e\xcd\xda\xe6\x07\x15\x59\x40\x66\x0e\xcf\x63\xe3\xef\xbf\xfe\xd8\x59\xed\x69\x98\xf7\xa7\x3f\x76\x79\xe3\x67\x17\x36\x90\x77\x11\xb2\xb1\x99\x28\xb2\xa6\x20\xe4\x09\x3b\x51\xaa\xc6\x39\x4d\x46\x14\x08\xb7\xa2\x68\x10\xac\x16\x95\x59\xa1\xd6\xae\x47\x77\x11\x3c\x13\xb6\x34\x7a\xad\x2c\xc2\x39\xbc\xb2\xc9\x2e\xcd\x12\xed\x16\xb1\x82\x8b\xe9\x05\x13\xff\xe9\xf4\xa2\x0b\xe6\xe5\x1d\x75\x71\x1c\x95\x8c\x2c\x0d\xdc\x71\x87\xb2\x45\x5c\x1a\xb8\x98\xfe\xc7\x77\xd4\xb4\x4a\xd9\xb6\x0b\xd0\xf5\xdf\x06\x04\xb8\xc7\xff\x83\xbb\xe9\xbe\xa8\x88\xa2\xd8\x41\x8d\x3a\xc3\xca\x92\x59\x5b\x63\x92\xe9\x76\x7b\x43\x16\x75\x69\x88\x28\x4b\x61\xa4\x81\x5a\xc9\xca\x76\xa2\x4a\x6a\x64\x54\x21\x73\x5a\xe8\xa5\x20\xd2\x9a\x52\x68\x1b\x37\x6e\x0d\x6c\x37\x14\x6d\x67\x22\x67\x7d\xae\x56\x2b\xe2\x9c\xeb\x5f\x2e\xe5\xdd\x77\xdf\x5e\xf7\x19\x47\x58\x10\x85\x46\x91\xef\x82\x6e\x70\xca\x27\x1d\x9f\xf9\x27\x13\x86\xa8\x9b\x09\xfa\x21\xad\xe9\x02\xa2\xb0\xd9\x7b\x03\x42\x23\x90\x33\xa9\xb1\xd8\x41\x8e\x34\x23\x59\x49\x63\x7d\x96\x7f\x4d\x21\x5e\xd2\xba\xca\xa3\x52\xea\x0a\x49\x4d\x1c\xf0\x9f\x01\x05\xb5\x82\x5a\x63\x26\x4d\xb4\xf6\x43\x2c\x9b\x35\x76\x0e\x6e\xa6\x5d\x76\xfc\x9f\x60\xaa\x3a\x3b\x5e\xa9\x67\xe3\x64\x88\x26\x47\x43\x89\x5d\xc8\x18\xf9\x35\x9f\xec\x09\x9c\xc6\xc2\xcd\x61\x23\xeb\xc8\x76\xf4\xe1\x7a\x2b\x8a\x02\xed\x75\xd8\x13\x26\x65\x3b\x01\x17\xe4\xda\x0d\xc1\xc5\xc2\xe0\xfe\x3a\xb0\x53\xb4\xad\x50\x43\x29\xd7\x1b\x0b\x5b\x51\x59\xd6\xd9\x35\x66\x72\xb5\x3b\x3c\xeb\x7b\xf7\x45\x5b\xcf\xe3\x81\xf2\x3c\x49\xa9\x39\x19\x1a\xa4\x6f\x3b\x6b\x3d\xe4\xc0\x66\x8d\x85\x3f\x2e\x58\x20\xbf\xfe\x9a\x7f\x7d\xbf\x60\xb1\x9c\xc3\xc9\xf3\xc6\x7a\xf9\x69\x25\x58\x56\xf4\x4a\xe6\xa0\x45\xb5\x46\x90\x53\x84\xf7\x17\x93\xa7\xbf\x9e\x1c\x30\xb0\x10\xfc\xa6\xa8\xa5\x17\x51\x47\x0c\xe4\x3f\x1b\x0b\x0b\xc2\x62\xff\xd3\xf1\xfd\xc9\x07\x64\x4b\x82\xc9\x74\x85\x1d\xb1\xc3\xcf\xa9\xb1\x26\xce\xfb\x47\x83\x7a\xe7\x6c\xca\xf5\xdb\x60\x90\xaf\x83\xe1\xe5\x42\x99\xd7\x97\x57\x89\xf7\x4c\x4c\xc5\x22\x76\x57\x63\x66\x9d\x9e\xac\xc5\xae\xb5\xe6\x5e\x2b\xb8\x84\x18\x45\x48\xcc\x3e\xc1\x59\x1f\x69\xeb\x09\x4e\x3f\x7d\xa3\xb5\xd8\x79\x4e\xd5\x22\xbb\x71\x7a\x42\x56\xb9\xbc\x95\x79\x23\x8a\x16\x83\x3e\xa3\x12\x75\xa3\x7c\xbe\xaa\x56\xca\xcc\xe1\xbd\x27\xd0\xaf\xf7\x6c\x18\x79\x7f\x79\xa0\x53\x9f\xf3\xc8\x87\x22\x9e\x71\xc6\x45\x58\x30\x0d\xa7\x01\x45\x51\x30\xc7\xb5\x4a\x3d\xba\x00\x64\x95\x97\x08\x6b\xf6\x04\xfc\xce\xce\xd3\xe9\x45\x07\xec\xad\x20\x2f\xdb\x8a\xe2\x39\x73\xcd\x45\xef\x33\x2d\x78\x30\x09\xb2\x8a\x78\x0e\xc8\x40\x02\x24\x3e\xfe\xff\xd0\x77\xda\xe7\xc6\x2e\x6f\x0b\x63\x50\xdb\xd3\xd8\xcf\x49\xcf\x04\x4a\x34\x46\xac\x71\x0e\x27\xef\xdc\x64\xe3\xf8\xe3\x67\x7b\x72\xd6\x27\xe3\x33\x63\xe4\xda\xe9\xb1\x00\x6f\x50\x88\xdc\x48\x8b\xfd\x46\xbd\x44\xed\x5b\xe7\xf4\xa6\xf0\x38\xeb\x37\x98\x29\xed\xed\xa8\x0b\xe6\xb8\x24\x83\xef\x6a\x3b\x30\xe1\x75\xc7\xb4\xc7\xf3\xae\x31\x9d\x1f\x3d\x36\x89\xe6\xf4\x2c\x61\xa9\x7b\x36\x23\x07\xe6\x08\xf7\x45\x64\xad\x08\x7d\xa1\x78\xec\x6d\x8f\x3e\xc7\xa2\xb1\x96\x22\x0f\x89\xc5\x62\xaf\xc7\x46\x62\x11\xc0\xc8\x38\x2c\x55\x4d\x7d\x09\xfb\x2c\xb5\x08\xce\x06\xbb\x4d\x46\xd6\x22\xd1\x28\xb1\x0f\xcb\xf2\xce\x96\x85\x98\xb1\xab\xee\x62\xa2\x84\xcb\xe2\x5a\x10\xec\xc2\xe3\x2d\x56\xb6\x61\xf7\x2f\x85\x25\xa2\x37\x6e\xb6\xd2\x66\x9b\xa5\xa2\xd0\x2e\xd8\xae\x49\x84\xbb\x71\x8c\x10\xea\xd6\x96\x8d\x07\xcb\xfb\x96\x1d\xe4\x22\x81\xe8\x57\xa5\x7a\x35\x72\xfd\x2d\xb2\x36\x56\x89\xb1\x5a\x40\x88\xc2\xc3\xd4\x86\x0e\x31\xcf\xbe\x4c\x0d\x46\x41\xf3\x74\x9c\x8f\xfd\x75\x98\xd5\xfc\x71\xe6\x63\xc9\xcb\xab\xb7\xe9\xb0\x47\xd2\xb9\xbe\x84\xcc\x6d\xe4\x26\xc5\x90\x3e\x9f\xf5\xfa\xf2\x6a\xba\xb7\x38\x21\x1a\xe1\x50\x53\x0b\xe9\x7c\xcb\xc4\x8c\xdd\xe0\x6e\xe6\x7c\x92\x5a\x48\x6d\x40\x14\xaa\x5a\xbb\x98\xd3\xa8\xb2\x95\x3b\x4e\xfb\xde\xd1\xb2\xf2\x56\x06\x8f\x2b\x96\xaa\x71\x4c\xc4\xa0\x8f\xd9\xda\x2b\x6a\x94\xd0\x64\xa0\x3a\x91\xe1\x4c\xe1\x27\x79\x83\xf0\xa3\xc8\x6e\xd6\x5a\x35\x55\x3e\x81\x97\x3b\x34\x13\xf8\x8b\x90\xba\x57\x3a\x36\xb6\x7c\x90\x47\x6a\xaa\x1c\x75\xc1\xbe\xae\x9b\x72\x3a\xea\x24\x28\x1e\x1b\x5e\x33\xa1\x8d\x2b\xdf\xe3\x26\x50\x6b\x75\x2b\x73\x0c\xc4\x08\xda\x8a\x81\x1d\xc6\x89\x3f\xcf\xe1\x59\xb5\x73\x25\xb4\x1d\xbc\x7c\xad\x1c\x69\x88\x74\xbd\xcc\x46\x6d\x79\x01\xe2\x58\x8e\xd8\x5b\xe7\x3a\x4b\xe3\xc8\x46\xee\x91\x9b\x4a\x64\x94\x14\x38\xf1\xb9\xac\x8c\x15\x55\x86\x13\xd8\xa9\x06\x32\x16\x71\x13\xb0\xa2\xa1\x04\x34\x95\xbc\x03\x2b\x4b\x34\x56\x94\xb5\x0b\xe3\xbd\x1b\xde\xc1\x4f\x18\x38\x79\x21\x2c\x9e\xf0\xc4\xb1\x28\xd2\xb1\xea\x42\xd8\x95\xa2\x78\x8e\x82\x5f\x55\x99\xa6\xf4\x15\x21\x8e\x76\x5c\xab\xcb\x2e\x4b\xc8\x12\x08\xbf\x07\x76\xd8\xd3\x6f\xc7\x1e\x28\x0a\x20\x73\x2b\x34\x05\x86\xe4\x59\x8a\xc2\xa8\xa8\x1d\x5c\x26\xb6\xd8\x79\xc9\x10\xd6\x6a\xb9\x6c\x6c\x67\x67\xbe\xcb\x1c\x4e\x5a\xa2\x49\x09\x91\x1f\xa3\x59\x14\x2d\x04\xc3\x95\x13\x7e\x8a\xfe\x5d\x60\x83\xd7\x97\x57\xbf\x37\xa0\x19\xa7\xc3\xdc\xe0\xbe\xcf\x3d\xee\x83\x45\x0e\x9d\x0a\xc6\x3d\xf6\x99\x0c\xd2\x65\xd2\x07\xfc\xf0\x8a\x45\xc7\x11\x0b\x37\xe0\x40\xc0\x90\x70\xc2\x22\xc5\x61\x20\x36\x71\xeb\xb2\xf0\x38\x8d\x8c\x28\x58\xdd\xb1\x9a\x0c\x9e\x4f\xd0\x58\xc7\xf5\x9b\xef\xe8\x3b\xf0\x6e\xe5\x08\x15\x17\xc1\xa5\x92\x36\xa0\xe2\x50\x64\x1b\xaf\x9b\xee\x55\x6e\xe6\x9e\x44\xb9\x43\x6d\x0e\xef\xb9\xe5\x81\x2d\xdc\x5e\xa3\xc1\x35\xf4\x73\x5c\xf8\xc6\x03\x46\x9f\xfe\xba\xc1\x4c\x9e\x9b\xd6\x80\x38\x3d\xec\x99\xd6\xe3\x4d\x48\x74\xba\x74\xbd\x54\xe7\xb6\x71\xdb\x39\xab\x52\x27\xd3\x7e\xee\x96\x25\x4f\xe4\x39\xe6\x47\x5d\x53\xb2\xa0\x22\xcf\x19\x14\x4d\x78\xee\xa0\xde\x33\xd3\x29\xb1\x48\x95\x9f\xda\x7b\xea\x3b\xba\x1e\x69\x32\xa7\x2f\xe5\x93\x7a\x14\xc6\x39\xa4\xae\xf1\x83\xbc\x51\xd7\xe5\xb1\xae\xa8\xeb\x3d\xd2\x0f\xdd\xe3\xec\xf0\xf7\x19\x9c\x50\xbf\x6e\xb1\xc6\xca\x2a\x40\x61\x64\xc1\x71\xd0\x2d\x6a\xcb\xb5\x68\xfc\x4d\xe8\x1d\xaf\x84\xe3\x09\xb8\x54\x9a\xd3\xfa\x89\x83\x12\x36\xb6\x8c\xdf\x5c\x50\xac\xbe\x59\x5f\xa3\xe4\x82\xc6\x50\x10\x1f\x56\x89\xb5\x82\xb7\xf0\x57\xce\x09\x88\xf0\xd8\x74\x95\x68\x37\x2a\x96\xc5\x9b\x66\xb5\x92\x8e\x21\xd6\xf2\x96\x7d\xd4\x92\xed\x0b\x47\x6e\x6a\xe5\x33\x39\x1e\xc5\x43\x8c\x46\xf3\x71\x42\xd4\x9d\xd9\x12\xc3\xa4\x9d\x4a\xbb\x6a\xc5\x3b\xe9\x8d\x77\x7c\xe4\x24\x7f\x2d\x4a\x34\xf3\x4e\x25\xb6\x2f\xda\x72\xd8\x78\xfb\x1d\xf2\x7a\xd7\x34\xd6\x75\x04\x16\xfe\x6e\x70\xe7\xa9\x25\xb4\xb3\x76\x5b\x51\xf9\xf1\x97\x98\x91\x56\xbc\x76\x78\x5c\x0f\xfa\xd4\xec\x40\x0b\xea\xd0\xd7\x23\x87\xd8\x9d\xf0\xb8\x52\x9e\xe3\x1d\x29\x3e\x3a\xc4\x13\x13\xf7\x69\xd2\x9f\xe7\x7b\xd7\xe6\xd7\x1f\xce\xe6\xfb\x0c\x39\x9b\xc1\xf3\xb8\xfa\x2e\xa9\x68\x7c\x56\x31\x4c\x29\x9a\x14\xef\xd4\xb9\x4d\x03\xa9\x5b\x27\xda\x9f\xe5\xc9\xa7\x3d\xaf\x71\xd7\xcb\x4f\x6e\x44\x95\x17\xe8\x2c\x06\x13\x99\x02\x1d\x4e\x78\xda\xb6\xf1\xdf\x1b\x93\x8c\xcd\x7c\x12\xe0\x73\xa1\x73\x51\x4c\x53\xc1\xed\x4c\x16\xbe\x5a\x90\xa8\xf4\x04\x8e\x5c\xb9\x1b\x42\xbb\xd3\xf6\xab\x01\xb1\x24\xa2\x4e\x35\x96\xea\x16\x4f\x6f\x70\x37\x87\x9b\x7e\x55\x5d\xfb\x14\x1f\x07\x2c\x14\x2c\xe0\xfd\xaf\x4f\xf6\xc6\x67\xf0\xcc\x37\xdd\xa1\x23\x04\x58\xb8\x15\xf2\x6e\xcc\x4d\xf4\x60\xa8\xe7\xfb\x9b\x5f\xbf\xea\x39\x30\x95\x2c\x5a\xe7\xa5\x92\x45\x17\xdb\x9e\x0d\x60\x5b\x31\x34\x81\xc0\x94\x8e\xb1\x5c\xaf\xb3\xbe\xba\x89\x79\xf1\x98\xc1\xdc\xd3\x1a\xd2\x98\x06\xdb\xc4\xa6\x3f\x98\x15\x21\x70\x60\xe4\x36\x53\x4a\x3e\xea\x66\x64\x29\x0b\xa1\x93\x93\x69\x04\x16\xef\x44\x49\xdd\x45\x05\xff\x4b\x8a\xe1\xe9\xc5\x05\x39\xdd\x6e\xa3\x2b\x02\x93\x15\x39\xcc\x6e\xcb\xce\xf9\x32\xab\xc6\x9d\x0f\x73\x39\x75\xb7\x5f\x90\xee\x78\xb6\x0e\xd0\x33\x57\x3d\xe0\xd8\x6d\x49\xae\x8d\xe6\xc0\x25\x62\x8e\xb9\xe4\x69\x4d\x60\xbb\x91\x19\xd7\x16\x6f\x37\x5c\x01\x1e\x3e\x1d\xc2\xc3\x91\x92\x38\xd5\x38\xed\xe6\xab\xd8\xc0\x55\xb1\xb1\x7e\x39\x16\xeb\xbd\x74\x43\x1c\x3b\x8d\x96\x62\x12\xda\x5c\xb6\xf4\x9b\x38\x2d\x9c\x85\xbc\xc4\x3b\xb4\x13\x78\x53\x88\xdd\x04\xde\xa1\x96\x68\xba\xfb\x14\xbe\xb2\xce\x9d\x74\xd8\x8a\x5d\x52\x58\xe1\x40\x64\x85\x30\x86\xa2\x1a\xd2\x1f\x81\x40\xa3\x62\xc9\x1f\xf6\xe7\xe1\xfb\x27\x85\x7c\x07\x0e\x5b\xf1\x8c\x44\x05\x27\xdf\x7c\x1b\x78\xe1\xf4\x77\xdf\x7c\x3b\x7b\x7a\x71\x71\x76\xc2\x15\x29\x2e\xf6\xf4\x80\xa4\x81\x6f\xbe\xbd\x27\xc2\xe5\x56\x73\xf8\xe5\x55\x65\xfb\xfb\x3e\x84\x56\x29\xee\x06\x51\xa3\x40\xcc\x6f\x2f\x7b\xa6\x9e\xf6\xfa\xf6\x4f\x81\x85\x84\x8b\x8f\x7a\x5d\xd2\xa5\x90\xa5\xb4\x98\x9f\xfb\x21\x30\x1f\x86\x36\x62\xca\x84\xa8\x34\xf4\x6d\xb0\x2b\x57\xea\xb0\xb8\x35\x95\x1f\x34\xcc\xcb\xf5\x6d\xd3\x55\x14\xce\x5a\x45\xba\x63\xdc\x99\xb2\x52\xdc\x05\xfa\x1d\x8d\xbf\x7e\x98\xf4\x28\x3e\xe9\x74\x1f\x70\xa0\x08\xb7\x41\x15\x0e\x6d\x7a\xdb\x2f\xcc\xf7\x0b\x6a\xfd\x55\x9a\xdd\xbe\x6a\x19\x21\x13\xd5\x50\x22\xdb\xfa\x45\x76\xad\xbe\x3a\x39\xa4\xdd\x61\x54\xd0\xe7\xc7\x5a\xf4\x63\xf1\xd8\x80\x86\x62\x34\x47\x46\x71\x9d\x7d\xa1\xa0\x06\x46\xd5\xd1\xfa\xc6\xff\x42\x25\xed\x9e\x48\x77\x76\x1b\x3b\xfa\x52\x04\x8d\x79\x90\x4b\x48\x2b\xfe\x24\x8d\x9d\xc3\x7b\x8f\xd9\xa1\xba\xdb\xfd\x86\xc3\xc5\xb7\xbe\x1d\x2c\x62\x97\xb1\x11\x4d\x24\xcd\x97\x3a\xe5\x17\x11\x18\x59\xf0\xe4\x9b\x3f\xac\xda\xc9\x77\x7a\x74\xa9\x93\xef\x3f\xb6\xce\xa9\x65\xb7\xbe\x94\x7e\xae\x22\xa7\x98\x94\x63\xbf\x3c\x18\xa3\x73\x57\xf6\x94\x83\x41\x2d\x45\x11\xf8\xd7\xe5\xc8\xc3\xfe\x25\x71\x6b\x04\xf6\xc6\x75\x34\xb0\x11\xb7\x98\x1c\x8b\x67\x40\x7e\x16\xec\x36\xb0\x27\xdf\x83\x1b\xf5\x64\x04\xf7\x8e\x7c\xd7\x52\xec\x62\x69\x0e\xef\xb9\x6a\x5c\x37\xe4\xc9\xbc\x7a\xe1\x12\x80\x69\xa3\xe4\x2c\x7e\x1b\x70\x39\x63\x1a\x0e\x81\xb9\x73\x3e\x53\x77\x1a\xa5\x83\x80\x34\x9d\xed\xdb\x25\x42\x53\xc9\x7f\x34\x5c\x14\xe3\x0f\x0c\xb2\xf5\x66\xb3\xcd\xa8\x90\xda\x67\x0f\x5d\xd8\x40\xb4\x63\xca\xe3\x9d\x1b\xf2\x70\xfe\xe5\x90\xdd\x4c\x25\xb9\xdb\x66\x38\x83\x76\x40\x5f\x1e\x11\x60\x8f\xde\x97\x12\x5f\x3f\xfc\x38\xe1\x75\x8d\x1f\x24\xba\xae\xcb\x63\x05\xd7\xf5\x1e\x29\xb6\x7b\x0b\xfd\xb9\x85\xb6\x2d\x1d\xf6\x69\xcc\xd4\x3d\xf6\x42\xea\x12\x69\x49\x76\x93\x7a\x73\x81\x96\x0b\xa6\x43\xd7\x0a\x31\x37\x2e\x6a\xbc\xc5\x90\x85\x30\x99\xd2\x1c\x3b\xa4\x25\x18\xcb\xc6\x82\x74\x27\xe8\x23\x40\xee\xb4\x54\x6d\x9e\xf2\x10\xf3\xfb\x3c\xf8\xc7\x3d\x67\xd0\x0f\xe5\x2b\x0a\x5d\x2b\x4e\xc4\x1f\xc9\xbc\x73\xbf\x50\x0d\x33\xe0\xfb\x96\xe2\x4e\x96\x4d\xd9\x6e\xa3\x70\x87\x23\x0e\xd7\x21\x60\x03\xd7\x39\xa4\xa8\xba\xa3\x6d\x47\x4e\x37\xc6\x10\xe1\x27\x5c\x63\x95\x0b\xbd\x9b\xc0\xcb\x5a\x66\x13\xa2\x0d\x4e\xe0\x97\x2a\x53\x65\x49\xae\xe3\x73\xfe\xbf\x1b\x2b\xf8\xd3\x73\xdd\xc4\xf7\x88\xba\xa3\x41\xef\xb1\x4b\xbb\x49\x67\xf2\x83\x85\x45\x43\x4e\xa4\x5b\xb8\x85\x73\x23\xbf\xfe\xba\x43\xa3\xc5\x21\xe7\xb2\x16\x95\xcc\x4e\x4f\x9e\x05\x7e\x88\xdc\x67\xc2\x92\x76\xef\x27\x51\x9a\xb9\x6b\xcf\x83\xdc\xd7\x7a\x1e\x9d\xde\x32\xc3\x61\x1f\x11\xfe\x85\x32\xa3\x5e\x79\x81\x9b\xcb\x97\x4c\xe6\x7a\x14\x46\x56\x17\x70\xe3\x87\x95\x16\xb8\x1d\x9b\xc7\xd6\x15\x70\xef\xb1\x45\x05\x7d\x4d\x11\xfe\x3e\x83\xf6\x7c\x7d\x79\xc5\x0a\x74\xab\x45\x6d\x38\xe1\xf6\x9c\x2f\x48\xe1\x2b\x75\xdc\xa6\xcb\xb5\xcc\x5d\xa1\xe0\x75\xd3\xd0\xa3\xcb\xc6\xb9\x1d\xc7\xb0\x9b\x13\xe1\x85\x34\xab\xe0\xda\xf0\x02\x2d\x42\x2d\x33\xae\xf2\x8d\x87\x8f\xfc\xfd\x39\xec\x35\x0c\x5f\x9e\x13\xc1\x8d\xba\x45\x27\xcc\xe1\xb0\x1f\x21\xf3\xe8\x43\x1c\x6a\x42\x73\x3b\xda\xc8\xe7\xc0\xe6\xdd\xab\x87\xa6\xe1\xb2\x8b\x83\xfd\xb0\x2d\xcf\xef\xf7\x4d\x8f\x0b\x1c\xec\xdf\x66\xbc\x5e\x08\x2b\xe6\x34\xe3\xe7\x9d\x57\xa3\xba\x06\xe4\xbb\xbd\x8f\xe1\x1e\x2b\x36\xd2\x72\x9a\x83\xad\x43\x3e\xd2\xef\x75\x1c\xbd\xf8\x45\xe6\x10\x83\xf4\xce\x07\x5a\x8f\x03\x9f\xfc\x2a\xc0\xa1\x65\xe8\xb6\x4e\x68\xbf\xd7\x23\x25\x7e\xb7\x57\x97\xe2\x30\x44\xf2\x83\x1d\x22\x7a\x83\x84\xee\x76\x6b\xeb\x61\x52\xf2\xf6\x6e\xb8\xe9\xd1\x34\xbc\x1f\x0e\x58\x73\x3e\x2b\xb7\xff\x81\x09\xba\x60\xba\x0e\x68\x7c\x8f\x73\xdc\x23\xde\x6f\x92\xd2\x71\x91\x52\x75\xbf\x69\x8f\x78\x8b\x1e\x35\xef\xed\x10\x11\xd9\x7b\xb7\xdf\xad\x25\xde\x62\xa0\xb4\x13\xc6\x6d\xbe\x1e\x34\x62\xfe\xac\x17\x33\xee\x21\x9b\x45\x3a\xe3\xca\xa7\x29\x64\xfe\x9b\x58\xb4\xa0\xdd\xc6\x59\x32\xdf\xfa\xb4\x55\x66\x93\x07\x18\xb5\x7d\x4d\xca\x51\xd8\xca\xfe\x75\x8c\x51\xf3\xbd\xc9\xaa\xa5\x46\x31\x74\x1f\xcc\xaf\x05\xcb\xe4\xda\x7c\x05\xc2\x7c\x15\xb0\x48\xd6\xa9\x6f\xc8\xc2\x2c\xf7\x55\x89\xcc\xf7\xd5\xc8\xbc\x8b\x37\xbd\x1a\x54\x28\x7d\xed\x90\x5c\x7d\x94\x02\x38\x1b\xaf\x5f\x7a\xc7\xc8\xee\x81\xb2\xa7\x6f\x98\x73\xdd\x82\x76\xf5\xce\x48\x28\x51\x09\x0d\x03\x3a\x3e\xaf\x54\x33\x05\x18\x6d\x15\xe6\x3d\x1d\xbd\xb8\xb5\xbd\xfc\xfe\x4e\xa7\x4b\xab\xc4\x8e\xc4\x73\xae\x82\xbb\x0d\xe6\xfc\x25\x28\x7c\x95\x8e\xbf\xd6\xd0\x6a\x89\xb7\x38\x5c\x6e\x72\xdf\xa1\x50\xe7\x64\x37\x35\x88\xde\x59\x4d\x97\xc2\xae\xb5\x22\x6d\x10\xe1\xd1\x90\x62\xed\x06\x75\x25\x81\xed\x11\xa5\x31\x47\xd4\xf6\x56\xb2\x17\xfb\xb9\xdb\x64\xaa\x38\xce\x96\xef\x81\x60\x7f\xc8\x9f\xd8\xd6\xe1\xc4\x58\x4c\xca\xb8\x1b\x85\x0e\x6f\x3c\x78\x58\x6f\xfc\xa5\x2b\xf1\x47\xef\x1e\x1b\x37\x1b\x2e\x09\x75\x1b\x4f\x65\x63\x38\xe3\x5a\xc8\xea\xc6\x0d\xe6\x97\x63\x60\xe2\x71\xab\x22\x64\xbf\x20\x6e\x51\x65\x45\xc3\x47\xd8\xe3\xa1\x40\x9e\x48\x38\xed\xe7\xb7\xca\xbc\xc4\x38\x97\xb3\xfd\x78\x70\x4e\x75\xac\xd5\x4c\xeb\x36\xf7\x43\xd4\xc1\x13\x7a\xc9\x22\x87\xfb\xac\xdc\xcc\xf2\xa0\x93\x1d\xf8\x0e\xb4\x4a\xf9\xb3\x8f\x58\x59\x69\xc3\x85\x9f\x78\x27\x8d\x9d\x80\xb4\x50\x29\x20\x4f\x19\x75\x1b\xbd\x2d\x5d\x59\xa2\x96\x21\x83\x96\x64\x09\xe3\x1c\x8f\x4c\xb1\xe5\x96\x39\x70\xcd\x56\x77\x8a\x34\xab\x5e\x0d\xb0\x5f\x2e\x9f\x3b\x17\x2b\xa5\x19\x57\xb7\xe7\x53\xb7\xab\x7c\x64\xe0\x9f\x18\x8c\xdb\xe9\xdd\x1f\xf8\x32\x16\x7e\xb8\xa3\x59\x85\xda\x1a\x77\x5c\xd1\x27\x03\x44\x05\x58\xd6\x76\xd7\x97\xaa\x40\x70\x9a\x7f\xe0\x61\x66\xe0\x0e\xf8\xc0\x4a\xf7\x1c\xa1\xe2\x9d\x95\x97\x34\x44\x4a\xa2\x55\x53\x9d\x9e\xcd\xe1\x4f\x1f\xfb\x37\xbc\x4e\xdb\x56\xc7\x6f\x22\x3c\x24\x31\x5d\x1d\x37\xcc\x83\x43\x6d\xfa\x8b\x38\xd4\xa6\x4f\xef\x9e\x52\x1f\x9a\x6e\x58\x84\xb1\xd3\x8e\xea\x76\xd4\x81\xa8\x3e\x5a\x53\x69\xde\xb9\x9b\x6a\x4e\xd5\xca\xe1\xf8\xfd\xd7\xf7\x0e\x48\x4e\xc0\x1c\x4e\xbc\x66\x61\x09\x0c\x3a\x45\x40\xb8\xf5\x46\xad\xf6\x2e\xe9\x4d\x60\xb4\x72\x32\x3d\x7a\xb0\x2a\x59\xb5\x45\xf2\xbc\xdf\xb0\x5d\xb8\x45\xfb\x78\xa8\x59\x8b\xcb\xa2\xff\xe2\x50\x97\x96\x66\x8b\xfe\x8b\x01\xb7\x77\x68\x65\x17\xf7\xae\xf7\x58\xe7\x75\xdf\xd8\x70\x1e\x66\x1b\xce\x47\x71\x75\x7e\xa8\xdc\xac\x78\x81\xf2\x58\x6a\xf1\xef\xc9\xd0\xec\xa3\x38\xda\xc5\xed\x79\x44\x0f\xc9\xdb\xec\xc7\x71\x8f\x4c\xe1\xec\x01\x1a\x99\xcd\xb9\xcf\x0d\x08\x7f\x9f\x3f\x2d\x7e\xc0\x8d\xf2\x55\xeb\x7c\x72\x36\x28\xde\xdf\x27\x97\x55\xb6\xd7\x57\x8c\x72\xa7\x5c\xea\xa7\x82\x70\x81\x05\x1b\xf8\x08\x8d\x6f\xd8\x95\x99\x09\xb6\x78\xcf\x3c\x78\x4f\x67\x89\x64\x4d\x09\xe0\x03\x7d\xaa\xbd\x6b\x40\x67\x33\x78\x2d\xca\x3d\x33\xc9\xe8\x6f\x37\x58\x05\xcf\xdf\x55\xdc\xf9\xe1\xfb\x77\x76\xf4\x87\xbe\xf7\xc8\xc2\x8b\x24\x75\x3a\x34\xea\x10\x91\x82\xff\x34\x66\xe0\x23\x17\x0c\xc7\x8b\x20\xdc\x95\x01\xec\x77\xf8\xab\x54\x78\x28\x3e\x60\x9f\xf2\x41\x38\x0e\x32\x72\xf8\x71\x89\xac\x0e\x46\xef\xfe\xd1\x08\x8d\xbe\x06\xc0\xdd\x23\xd9\x39\x23\x33\x7a\x6c\xc3\x80\x5e\x95\x5c\x73\xd1\x1d\x9b\x2f\x69\xea\x8c\xfa\xa3\xa8\x2a\xd4\x9d\x51\xe3\xcd\x08\xed\x60\x93\xbe\x4b\xcd\xbb\x37\x82\x8b\xa6\xa0\x42\xa1\xe1\xe9\x37\x17\x17\x77\xdf\xfd\xe1\xe2\x30\x5a\x4b\x1e\x69\x24\x5a\xef\x54\x26\xfd\xe2\x18\x47\x06\xae\x52\xef\x62\xf5\x7b\x03\xc6\xb5\xdb\xa8\x12\x6b\xb1\xc6\x4e\xa1\x0e\xbc\x51\xfe\xfa\x55\xae\xe8\x2b\x05\x17\xfc\x9c\xf0\x99\x91\xb5\x16\xe5\xc9\x04\x4e\xec\x56\x5a\x8b\x9a\x1e\x73\x69\x32\xa5\xf3\x93\x23\x87\x70\xdc\x88\x26\xa9\xec\x3c\xb8\xbc\xbf\xe9\x75\xce\xe3\x38\xac\xdb\xe7\x18\x67\x74\x5b\x1f\x5b\xb0\x1e\xec\x87\xd0\x25\x74\xfa\x4d\x6f\x9e\x7e\x40\x22\x2e\x21\x0c\x2c\x52\x32\xed\x37\x4d\xa8\x02\x8b\x94\x46\x03\x50\x1d\x49\x08\xa2\x7b\x7a\x9c\x53\x92\xde\x81\x3d\xec\x97\x78\xb7\x24\x42\xfb\x82\xfe\xc9\xa3\x7c\x93\x47\xdc\x9b\x3d\x98\x32\xfe\x2c\x1e\xca\x83\x6e\xd4\x3e\x62\x57\xc3\xdf\xe3\xfd\x94\x4f\x4f\xfe\x2f\x00\x00\xff\xff\x89\xc0\x73\x3f\xd0\x63\x00\x00"
+var _utilityMetadataviewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7c\x6d\x73\xdb\x38\x92\xf0\xf7\xfc\x8a\x1e\x6f\xd5\xac\xfd\x3c\xb2\xe4\xcc\xce\x4d\xdd\xa9\x46\x3b\x9b\x49\xe2\xdd\x5c\xcd\xe4\x52\x89\x67\xf7\xaa\x52\x53\x31\x44\xb6\x24\xac\x49\x82\x0b\x80\x96\xb5\xa9\xfc\xf7\xab\x6e\xbc\x10\xa4\x28\x8b\xf6\x66\x36\xfe\x90\x50\x24\xd0\x68\x34\xfa\x1d\x0d\xc8\xb2\x56\xda\xc2\xc9\x65\x53\xad\xe5\xb2\xc0\x2b\x75\x83\xd5\xc9\x93\xf0\xfa\xb5\xaa\x0e\x7c\xf9\xab\xc4\xed\x5b\x34\xaa\xb8\x45\x7d\xf2\xe4\xc9\x6c\x36\x83\xab\x8d\x34\x90\xa9\xca\x6a\x91\x59\x90\x65\x5d\x60\x89\x95\x35\x60\x37\x08\x25\x5a\x91\x0b\x2b\xc0\x58\x51\xe5\x42\xe7\x50\x6b\x55\x2b\x83\x39\xf7\x95\x15\x5c\xfe\xf4\xea\xcd\xf9\xc5\x77\x7f\xf8\x6e\x4a\x6f\xf8\xed\x5b\x5c\xcd\x61\x63\x6d\x6d\xe6\xb3\xd9\x5a\xda\x4d\xb3\x9c\x66\xaa\x9c\xa9\x6a\x55\xa8\xed\x6c\x55\xc8\xda\xcc\x96\x85\x5a\xce\x4a\x21\xab\x99\xa8\xeb\x42\x66\xc2\x4a\x55\xcd\xbe\xb9\xf8\xe6\xe9\xc5\x7f\x3d\xfd\xee\xbc\x5a\xd9\xf3\x30\xf8\xb4\xcc\x23\xec\x77\x56\x37\x99\x35\x20\xaa\x1c\x34\x1a\xd5\xe8\x0c\x0d\x64\xa2\x6a\x31\x07\x55\x21\x28\x0d\xa5\xd2\xc8\x7d\xe2\x24\xec\xae\x46\x33\x81\x4c\x14\x05\xe6\x70\x2b\x71\x6b\xa6\xf0\x52\x64\x1b\x7e\xe6\xcf\xa0\xb1\xd6\x68\x88\x00\xdc\x57\x40\x2e\x57\x2b\xd4\x04\xf7\x46\x56\x39\xa8\x55\x84\x37\x01\xd3\x64\x1b\x10\x06\x04\x64\x1a\x85\x55\x1a\x96\x52\xad\xb5\xa8\x37\x3b\xee\xad\x34\x08\xf8\xef\x37\x2f\xff\x0c\xb2\x14\x6b\x84\x95\x2c\xd0\xd1\x49\x64\x19\x1a\x73\x2a\x8a\xe2\xac\x25\xfe\xcf\x1e\x30\xad\x92\x81\x8f\x4f\x9e\x00\x00\x10\x9c\x17\xd2\xd4\x85\xd8\x81\xa4\xa1\x96\xc2\xc8\xcc\x63\xbc\x11\x16\x64\x95\x15\x4d\x8e\x6e\xc1\x2a\x51\xe2\x04\x72\x34\x99\x96\x35\x91\x94\x28\x15\xe1\xd8\x4d\x53\x2e\x2b\x21\x0b\x58\x11\x6a\x15\xa8\xe5\xdf\x31\xb3\x53\xf8\x59\x19\xeb\x7f\x18\x30\x1b\xd5\x14\x79\x42\x50\x4b\x2c\x42\x03\x4e\x03\x24\xfe\x3f\x9d\x83\xe1\x75\x89\x88\x7a\xdc\xc3\xb8\x57\x1e\x33\xa2\x1e\x61\xe9\x87\x4d\xdb\xf4\xda\x4b\x03\x2b\x89\x45\x0e\x5b\x59\x14\xb0\x44\xc8\x1d\x64\xcc\x89\xe9\x0a\x69\x3c\x0f\xd8\x0d\x6a\x5c\x29\x8d\x1e\xeb\x0e\x98\x25\xbf\xd5\x96\x66\x9a\xa9\x2a\x93\x06\x87\xc7\x4c\x67\x52\xa0\x65\x5c\xe7\xc4\x6b\xb2\x5a\x77\x67\xf2\x0c\xb6\x5a\x5a\x8b\x55\x87\xc6\x9f\x69\x5a\x02\x72\xb4\x42\x06\xe6\xec\x82\x9d\x74\x40\x19\xc5\x4c\xbf\x44\x66\x73\xb8\x45\xbd\x54\x06\xe1\x14\xa7\xeb\x29\x08\xa8\x85\x16\xcc\x87\x20\x2b\x63\x51\x30\xdf\x0a\x30\xb2\x5a\x17\x08\x85\xac\xf0\x6c\x1c\x25\x92\x59\x1e\x22\x88\x29\x45\x51\x24\xac\x15\x25\x48\x3c\x92\x36\x9e\xff\x96\x08\x02\xb6\xb8\x3c\x5f\x69\x89\x55\x5e\xec\x58\x7c\xe0\x54\x4e\x91\x65\x6a\x02\x6f\x5e\xff\xf9\xac\x03\x84\xe5\xc1\xd3\x65\x9f\x61\x26\x34\xf1\x1b\xa8\x35\xb2\xe8\x4f\x00\x6d\x36\x8e\x0a\x71\x72\x73\xf8\x78\x29\x0b\xfc\xd4\xd2\x80\x17\x4a\x56\xd2\x9e\xc6\x57\xf4\x97\x72\xd0\xa4\xf3\x65\x80\xa2\xdd\x06\xfb\x83\x85\x2f\x67\xf0\xb1\xd3\xd2\x60\xb1\x9a\xb2\x5c\x2d\x78\xc0\xfd\x8f\x29\x93\x2e\xd2\xa1\xf7\x9b\xb6\x0b\xb8\x68\x51\x88\xcd\x1c\x12\x9f\x5a\x95\xf4\x17\x2c\x6a\xd4\x60\x15\xac\xb1\x95\x7b\x66\x62\x56\xb3\x62\x85\xb0\x15\xbb\x8e\xc2\xa0\x7e\x7f\x22\xd6\x2c\x99\x6c\xc1\x10\xcd\xe1\x19\x68\x64\x25\x9b\x21\x41\x24\x7e\xd1\xfe\x63\xd4\xf2\x2d\x04\x8d\xb6\xd1\x15\x3c\xab\x40\xf1\x5c\x44\x11\xc7\x77\x6a\xe8\xa0\x96\x5a\x35\x15\xa1\xeb\x5b\x9f\x7e\xe8\xa1\xf1\xf5\xc7\xd4\x3e\x4e\xc3\xc3\xa7\x33\x98\x87\x11\x7e\x48\x96\x40\xae\x98\x39\x98\x03\x16\x1d\x50\x53\x8f\x3d\x81\x3b\xbd\xda\xd5\xf8\xbd\xef\xfe\xc7\xd3\xb3\xfe\x22\x06\x28\x1e\x04\x08\xf3\x43\xa2\x46\xa1\xf7\xe7\xe7\x7e\xdb\xf9\xf0\xe9\xc9\xfe\x93\x6f\x58\xf9\x35\x4c\x56\xee\xcf\x58\xa1\x96\x19\xc8\xca\xa2\x5e\x09\x22\x39\x89\x4d\x6b\xf8\x40\x38\x49\x33\x56\x69\xcc\x81\x64\x58\x83\x5a\xad\x20\xdb\x08\x59\x4d\x81\x98\xd2\x44\x70\x5e\xdc\x1a\x83\x39\xad\x5d\x5c\x48\xe3\x6c\x9e\x99\xc0\xad\xcc\x51\x39\x75\xad\x48\x5f\x43\x89\xb9\x14\x47\x6d\x49\x8b\x1f\x0d\x98\xd0\x22\x6d\xcb\x24\xa3\x65\x6d\xb4\x3c\x3d\x8b\x2a\xaa\x37\xe5\xbf\xb2\xb1\x54\x80\x77\xe4\xbb\x84\xf9\x39\xeb\x69\x3c\x3c\xf2\x96\x40\xb0\xad\xf8\xcb\xd5\xd5\x1b\x38\x55\x9a\x1f\xde\x9d\xc1\x2f\x6f\x7f\x3a\x8a\x2d\x35\x25\x3c\xe7\xf7\x61\x4b\x0b\xdd\xe8\x62\x5f\x93\xb6\x5a\x24\xf9\x3c\x28\xee\x8d\x26\x01\x6d\x74\x2a\x9a\x0f\xa0\x4c\x0f\xa4\xe7\x92\x00\xf9\xb0\xb8\x0f\x53\xb0\xe5\x90\x57\x6f\x2e\xdf\x45\x1a\xf1\x2f\xbf\xfc\x20\x34\xb6\x4c\x91\xc3\x72\x47\xe2\x2d\x35\x7b\x3d\xe4\x5c\xc8\x1c\x2b\x2b\x57\x12\x35\x9c\x3e\x7f\xf5\xe2\x2c\x02\xd1\x82\x99\xc5\x6e\x04\x5b\x46\xa9\x31\xb3\xf0\xcb\xdb\x57\x53\x78\x06\x59\x21\xa9\x6f\xe2\x3a\x32\x1f\x36\x06\x9d\xb3\xf2\xfc\xd5\x8b\xd6\xe9\x51\xb0\x22\xcf\x8d\xf8\xaf\x50\x82\x7d\x06\xef\x8f\xdd\x4a\x41\xeb\xcd\xe8\xae\x85\xc5\xad\xd8\x1d\x5d\x68\x6a\xdc\x59\xe8\x8e\x05\x7a\xfe\xea\x05\xb1\x14\x0d\x31\x30\x41\xf2\xba\x18\x3f\x1e\xd1\x79\x83\x49\xef\x0e\xa4\x8e\x17\x9d\xab\xcc\x4c\x65\xbd\x32\x53\xa9\x66\xe4\xca\x60\x6d\xcd\xcc\x8f\x70\x2e\xf2\x5c\x13\x07\x57\xeb\xd9\x28\x73\x96\xc9\x7c\xd8\x98\xbf\x11\x76\xc3\x12\x91\xa8\xd6\x9a\xde\x79\xa5\xcc\x8b\x1e\x14\x32\x2b\x7b\x4f\x3c\xb7\x3a\x4a\xef\x46\x19\x78\x69\x40\x55\xc5\x0e\x2a\xc4\x9c\xec\xf3\xaa\x05\x2e\x0d\x79\x2c\x32\xc7\xb8\xe4\xf7\x02\x1d\x41\x24\x02\x7b\x6e\x76\xc6\x62\x69\xc6\x91\x87\x66\x1c\xe8\xf3\xc3\x90\x8c\x26\xf4\x9b\x74\x5b\x0f\x8a\x6c\x26\x73\x58\x10\xd1\xf7\x3f\x31\x71\x17\x0c\x63\x48\x9e\x5b\xba\x35\x55\xc6\x5c\xee\x04\xd6\x31\x18\x53\xbe\x12\x56\xde\x22\xa9\xa8\x96\xbb\xf6\x18\xeb\x1e\x3a\x6d\xd4\xf6\xdc\xaa\x99\x67\xa1\x73\x7a\x7d\xae\xaa\xf3\x2d\x2e\x67\xbf\x73\xb0\xcf\x1b\x5d\x98\x83\x2b\x10\xac\x31\xb9\xf8\xc6\xa9\x18\x62\x4b\x21\x2b\x7a\x8c\xeb\xda\x68\x79\x94\xf6\xa3\x34\x96\x37\x97\x9e\x70\x2d\x11\x0f\x9a\xca\x13\x9a\xd2\x7c\x36\x3b\x99\x12\x4b\x08\x7b\x1a\xd6\xe4\x2c\xbc\x38\x99\x9d\xc4\x67\x82\x75\xd6\x33\xae\x43\x1a\xf3\x30\xd4\xe3\x3a\x34\x5a\xda\xa0\x46\xb7\xd2\x6e\x5c\x8c\xa2\x35\x9a\x5a\xc9\x9c\xe6\xcd\x56\x92\x9c\x87\xa3\x2a\xe9\x67\x6a\xd9\xd7\x44\xac\x9d\x1c\x4b\xa0\x83\x35\x8a\xf9\x57\xac\xda\xfa\x5e\xae\x0b\xa3\x73\x29\xce\x39\x48\xce\x54\x89\x24\xc3\x6e\x7d\x95\x2e\xd9\xcb\xdf\xd5\x38\x33\xcd\x92\x5b\x08\xe3\xbd\xcd\x25\xe6\x40\x31\x1a\x74\x60\x45\x56\xc4\x5b\x2c\x54\x8d\x7a\x5a\xaa\x7f\xca\xa2\x10\x53\xa5\xd7\x33\xac\xce\x7f\x79\xc7\x6c\x3a\xfb\x1b\x2e\x67\x64\x5a\x67\x3f\x52\xd4\x6b\x3e\xa8\xd5\x07\xfe\xf9\xf3\xab\x9f\x5f\x7e\x60\x47\x73\xd4\xac\x22\x2d\xef\x33\xbd\xe9\xd4\x27\xfb\x5d\xba\xb2\xcd\xeb\x4d\x3d\x16\xf4\x4f\xff\x43\xec\xbc\x88\x4f\x87\xf9\xe2\x6f\x5a\xd4\xe4\x4b\x3b\xfe\x57\x1a\xca\xa6\xb0\xb2\x2e\xfc\xb2\xb9\x44\xc5\x28\x1e\x30\x7d\x26\x78\x56\x81\xd0\x4b\x69\xb5\xd0\xbb\x73\x23\xff\x89\x39\x87\x42\x3e\xfc\xdf\x41\xd5\x94\x4b\x24\xe7\xce\xf3\x90\x24\x2d\x79\x90\x8a\xfc\x75\x0e\xef\xb9\xed\xaf\x43\x24\xfc\xd0\x6b\x33\xa8\x0f\xb9\x09\x2c\x7a\x83\x1d\x89\x30\xfc\xfc\xfe\xad\x01\x46\x6b\x04\xfd\xe8\xe3\xc2\x0b\xd7\xf8\x41\xd1\x85\xeb\xf2\xd8\xe0\xc2\xf5\x1e\x19\x5b\x44\x46\x81\xde\xdf\x67\x08\x2d\x86\x34\x5c\x21\x33\xac\xc8\x65\xcc\x32\xa5\x59\xb1\x59\x15\xe5\xdf\xd4\xf9\x1d\x8b\xbc\x6f\x65\xda\x75\xbc\x0a\x49\xa7\x4e\x84\xe1\x7d\x85\xe0\x5b\xa9\x15\xe9\xcd\xd7\x97\x57\xe4\x38\x78\x18\xf9\x51\x7d\xf9\x93\x47\xe9\xb0\x93\x4e\x78\xbd\x8a\x7e\xdb\x7d\x4a\xe3\x43\xe2\xdf\xdd\xeb\xb8\x77\x41\x12\xfb\xc7\x1f\x63\x65\x20\xe0\xfd\x85\x84\x20\x0c\x3f\x4e\x0a\x7c\xeb\x07\x89\x81\xef\xf3\x58\x39\xf0\xdd\x47\x0a\xc2\x3e\x17\xfc\x06\x92\x10\xe3\x25\x72\xd0\x98\xe8\xe4\xe1\x5a\x2c\x81\x53\xb3\x80\x77\x16\x35\x11\xd7\x48\xdb\x1a\x7a\x9f\x94\x4f\xf8\x7e\xb9\x4b\x83\x1d\xe2\xf5\x1b\x84\x69\x8c\x6b\x7e\x2c\x54\x46\xd0\x55\x88\x93\x1a\x83\xda\x40\x1a\x03\x71\x12\x4e\xcb\xb5\xa4\xd1\x38\x11\xe6\x73\xc0\x24\x3d\x9c\xa8\xae\xb5\xfa\x3b\xf5\xad\x29\x34\xe2\xe0\x38\x98\x70\xe7\x6f\x52\xc3\x4c\x15\x05\xb2\x2b\xda\x22\x8b\xeb\x28\xcf\xdb\xed\x76\x5a\xee\x38\x7b\xef\xa1\xb9\xcc\xff\x2d\x6a\xa2\xfb\xb9\x5a\xf1\xb7\x16\xca\x31\x51\x7d\xe9\xe9\x43\xe4\x7b\x74\x4c\xfd\x01\x46\x44\xd5\x8b\x7b\xe3\xdf\xae\x20\xa6\x58\x7d\x21\x61\x4c\x51\x18\x27\x90\x49\x8f\x07\x09\x65\xd2\xef\xb1\x82\x99\x80\x18\x29\x9c\xc3\xeb\xfe\xd9\x05\xd4\x31\xf9\x4a\x56\x18\x62\xf6\xb2\x56\x46\x2c\x29\xcc\x55\x3b\x51\xd8\x5d\xbb\xf3\xc5\x8d\xd7\xf2\x16\x0d\x94\x42\xdf\xa0\xad\x0b\x91\xa1\x01\xd1\x8a\x59\x53\x91\x3e\xcf\xd3\xd4\x9a\x02\xd3\xd4\xbc\xf9\x46\xe2\xe3\x80\x4a\x34\x47\x6d\xd4\x5b\x3f\x7c\xcf\xa1\x0b\xc9\xbb\xce\xfe\x1e\xbc\xc5\x0c\xe5\x6d\x4c\x30\x20\x2c\xb1\xc2\x95\xcc\xa4\xd0\xbb\x90\x80\xf7\xf3\xe9\x66\x2b\x04\x73\x46\x30\xa9\x99\x46\x8b\x6e\x1b\x2c\x74\x0a\x80\x39\x44\x09\xbf\xa6\x6b\xb4\xb4\xae\xa7\x67\xbd\x20\x33\x53\x65\x89\x55\xee\x12\x32\xe7\xf0\x0b\x2b\x21\x9f\xce\xe7\x1d\x32\xd2\x84\x15\x6e\x13\xfd\x03\x97\x85\xda\xba\x59\x74\x80\xe9\xee\x94\xa4\x81\xc6\x90\xf3\x70\xbd\x46\xeb\x69\x13\x66\xfd\xa6\x59\x16\x32\x7b\x23\xec\xe6\xf4\xec\x7a\xc2\xfa\xb0\x52\xb6\x0b\xce\x65\x86\x90\x16\x5b\x34\x85\x4d\x46\x8d\x93\x72\x4a\x97\x37\x66\x44\x51\xa8\xad\xd7\xa1\x56\x41\x53\xe7\x84\x7a\x07\x20\x93\x4c\xd4\x62\x29\x0b\x69\x39\xf1\xcd\xb1\x50\x63\x1b\xcd\xab\xde\xb0\xd6\xe7\xcd\x99\xb5\x5f\xb3\xb6\xf9\x41\x45\x16\x90\x99\xc3\xf3\xd8\xf8\xfb\xaf\x3f\x76\x56\x7b\x1a\xe6\xfd\xe9\x8f\x5d\xde\xf8\xd9\x85\x0d\xe4\x5d\x84\x6c\x6c\x26\x8a\xac\x29\x08\x79\xc2\x4e\x94\xaa\x71\x4e\x93\x11\x05\xc2\xad\x28\x1a\x04\xab\x45\x65\x56\xa8\xb5\xeb\xd1\x5d\x04\xcf\x84\x2d\x8d\x5e\x2b\x8b\x70\x0e\xaf\x6c\xb2\x4b\xb3\x44\xbb\x45\xac\xe0\x62\x7a\xc1\xc4\x7f\x3a\xbd\xe8\x82\x79\x79\x47\x5d\x1c\x47\x25\x23\x4b\x03\x77\xdc\xa1\x6c\x11\x97\x06\x2e\xa6\xff\xf1\x1d\x35\xad\x52\xb6\xed\x02\x74\xfd\xb7\x01\x01\xee\xf1\xff\xe0\x6e\xba\x2f\x2a\xa2\x28\x76\x50\xa3\xce\xb0\xb2\x64\xd6\xd6\x98\x64\xba\xdd\xde\x90\x45\x5d\x1a\x22\xca\x52\x18\x69\xa0\x56\xb2\xb2\x9d\xa8\x92\x1a\x19\x55\xc8\x9c\x16\x7a\x29\x88\xb4\xa6\x14\xda\xc6\x8d\x5b\x03\xdb\x0d\x45\xdb\x99\xc8\x59\x9f\xab\xd5\x8a\x38\xe7\xfa\x97\x4b\x79\xf7\xdd\xb7\xd7\x7d\xc6\x11\x16\x44\xa1\x51\xe4\xbb\xa0\x1b\x9c\xf2\x49\xc7\x67\xfe\xc9\x84\x21\xea\x66\x82\x7e\x48\x6b\xba\x80\x28\x6c\xf6\xde\x80\xd0\x08\xe4\x4c\x6a\x2c\x76\x90\x23\xcd\x48\x56\xd2\x58\x9f\xe5\x5f\x53\x88\x97\xb4\xae\xf2\xa8\x94\xba\x42\x52\x13\x07\xfc\x67\x40\x41\xad\xa0\xd6\x98\x49\x13\xad\xfd\x10\xcb\x66\x8d\x9d\x83\x9b\x69\x97\x1d\xff\x27\x98\xaa\xce\x8e\x57\xea\xd9\x38\x19\xa2\xc9\xd1\x50\x62\x17\x32\x46\x7e\xcd\x27\x7b\x02\xa7\xb1\x70\x73\xd8\xc8\x3a\xb2\x1d\x7d\xb8\xde\x8a\xa2\x40\x7b\x1d\xf6\x84\x49\xd9\x4e\xc0\x05\xb9\x76\x43\x70\xb1\x30\xb8\xbf\x0e\xec\x14\x6d\x2b\xd4\x50\xca\xf5\xc6\xc2\x56\x54\x96\x75\x76\x8d\x99\x5c\xed\x0e\xcf\xfa\xde\x7d\xd1\xd6\xf3\x78\xa0\x3c\x4f\x52\x6a\x4e\x86\x06\xe9\xdb\xce\x5a\x0f\x39\xb0\x59\x63\xe1\x8f\x0b\x16\xc8\xaf\xbf\xe6\x5f\xdf\x2f\x58\x2c\xe7\x70\xf2\xbc\xb1\x5e\x7e\x5a\x09\x96\x15\xbd\x92\x39\x68\x51\xad\x11\xe4\x14\xe1\xfd\xc5\xe4\xe9\xaf\x27\x07\x0c\x2c\x04\xbf\x29\x6a\xe9\x45\xd4\x11\x03\xf9\xcf\xc6\xc2\x82\xb0\xd8\xff\x74\x7c\x7f\xf2\x01\xd9\x92\x60\x32\x5d\x61\x47\xec\xf0\x73\x6a\xac\x89\xf3\xfe\xd1\xa0\xde\x39\x9b\x72\xfd\x36\x18\xe4\xeb\x60\x78\x57\x5a\x95\xc4\x3e\x89\xf7\x4c\x4c\xc5\x22\x76\x57\x63\x66\x9d\x9e\xac\xc5\xae\xb5\xe6\x5e\x2b\xb8\x84\x18\x45\x48\xcc\x3e\xc1\x59\x1f\x69\xeb\x09\x4e\x3f\x7d\xa3\xb5\xd8\x79\x4e\xd5\x22\xbb\x71\x7a\x42\x56\xb9\xbc\x95\x79\x23\x8a\x16\x83\x3e\xa3\x12\x75\xa3\x7c\xbe\xaa\x56\xca\xcc\xe1\xbd\x27\xd0\xaf\xf7\x6c\x18\x79\x7f\x79\xa0\x53\x9f\xf3\xc8\x87\x22\x9e\x71\xc6\x45\x58\x30\x0d\xa7\x01\x45\x51\x30\xc7\xb5\x4a\x3d\xba\x00\x64\x95\x97\x08\x6b\xf6\x04\xfc\xce\xce\xd3\xe9\x45\x07\xec\xad\x20\x2f\xdb\x8a\xe2\x39\x73\xcd\x45\xef\x33\x2d\x78\x30\x09\xb2\x8a\x78\x0e\xc8\x40\x02\x24\x3e\xfe\xff\xd0\x77\xda\xe7\xc6\x2e\x6f\x0b\x63\x50\xdb\xd3\xd8\xcf\x49\xcf\x04\x4a\x34\x46\xac\x71\x0e\x27\xef\xdc\x64\xe3\xf8\xe3\x67\x7b\x72\xd6\x27\xe3\x33\x63\xe4\xda\xe9\xb1\x00\x6f\x50\x88\xdc\x48\x8b\xfd\x46\xbd\x44\xed\x5b\xe7\xf4\xa6\xf0\x38\xeb\x37\x98\x29\xed\xed\xa8\x0b\xe6\xb8\x24\x83\xef\x6a\x3b\x30\xe1\x75\xc7\xb4\xc7\xf3\xae\x31\x9d\x1f\x3d\x36\x89\xe6\xf4\x2c\x61\xa9\x7b\x36\x23\x07\xe6\x08\xf7\x45\x64\xad\x08\x7d\xa1\x78\xec\x6d\x8f\x3e\xc7\xa2\xb1\x96\x22\x0f\x89\xc5\x62\xaf\xc7\x46\x62\x11\xc0\xc8\x38\x2c\x55\x4d\x7d\x09\xfb\x2c\xb5\x08\xce\x06\xbb\x4d\x46\xd6\x22\xd1\x28\xb1\x0f\xcb\xf2\xce\x96\x85\x98\xb1\xab\xee\x62\xa2\x84\xcb\xe2\x5a\x10\xec\xc2\xe3\x2d\x56\xb6\x61\xf7\x2f\x85\x25\xa2\x37\x6e\xb6\xd2\x66\x9b\xa5\xa2\xd0\x2e\xd8\xae\x49\x84\xbb\x71\x8c\x10\xea\xd6\x96\x8d\x07\xcb\xfb\x96\x1d\xe4\x22\x81\xe8\x57\xa5\x7a\x35\x72\xfd\x2d\xb2\x36\x56\x89\xb1\x5a\x40\x88\xc2\xc3\xd4\x86\x0e\x31\xcf\xbe\x4c\x0d\x46\x41\xf3\x74\x9c\x8f\xfd\x75\x98\xd5\xfc\x71\xe6\x63\xc9\xcb\xab\xb7\xe9\xb0\x47\xd2\xb9\xbe\x84\xcc\x6d\xe4\x26\xc5\x90\x3e\x9f\xf5\xfa\xf2\x6a\xba\xb7\x38\x21\x1a\xe1\x50\x53\x0b\xe9\x7c\xcb\xc4\x8c\xdd\xe0\x6e\xe6\x7c\x92\x5a\x48\x6d\x40\x14\xaa\x5a\xbb\x98\xd3\xa8\xb2\x95\x3b\x4e\xfb\xde\xd1\xb2\xf2\x56\x06\x8f\x2b\x96\xaa\x71\x4c\xc4\xa0\x8f\xd9\xda\x2b\x6a\x94\xd0\x64\xa0\x3a\x91\xe1\x4c\xe1\x27\x79\x83\xf0\xa3\xc8\x6e\xd6\x5a\x35\x55\x3e\x81\x97\x3b\x34\x13\xf8\x8b\x90\xba\x57\x3a\x36\xb6\x7c\x90\x47\x6a\xaa\x1c\x75\xc1\xbe\xae\x9b\x72\x3a\xea\x24\x28\x1e\x1b\x5e\x33\xa1\x8d\x2b\xdf\xe3\x26\x50\x6b\x75\x2b\x73\x0c\xc4\x08\xda\x8a\x81\x1d\xc6\x89\x3f\xcf\xe1\x59\xb5\x73\x25\xb4\x1d\xbc\x7c\xad\x1c\x69\x88\x74\xbd\xcc\x46\x6d\x79\x01\xe2\x58\x8e\xd8\x5b\xe7\x3a\x4b\xe3\xc8\x46\xee\x91\x9b\x4a\x64\x94\x14\x38\xf1\xb9\xac\x8c\x15\x55\x86\x13\xd8\xa9\x06\x32\x16\x71\x13\xb0\xa2\xa1\x04\x34\x95\xbc\x03\x2b\x4b\x34\x56\x94\xb5\x0b\xe3\xbd\x1b\xde\xc1\x4f\x18\x38\x79\x21\x2c\x9e\xf0\xc4\xb1\x28\xd2\xb1\xea\x42\xd8\x95\xa2\x78\x8e\x82\x5f\x55\x99\xa6\xf4\x15\x21\x8e\x76\x5c\xab\xcb\x2e\x4b\xc8\x12\x08\xbf\x07\x76\xd8\xd3\x6f\xc7\x1e\x28\x0a\x20\x73\x2b\x34\x05\x86\xe4\x59\x8a\xc2\xa8\xa8\x1d\x5c\x26\xb6\xd8\x79\xc9\x10\xd6\x6a\xb9\x6c\x6c\x67\x67\xbe\xcb\x1c\x4e\x5a\xa2\x49\x09\x91\x1f\xa3\x59\x14\x2d\x04\xc3\x95\x13\x7e\x8a\xfe\x5d\x60\x83\xd7\x97\x57\xbf\x37\xa0\x19\xa7\xc3\xdc\xe0\xbe\xcf\x3d\xee\x83\x45\x0e\x9d\x0a\xc6\x3d\xf6\x99\x0c\xd2\x65\xd2\x07\xfc\xf0\x8a\x45\xc7\x11\x0b\x37\xe0\x40\xc0\x90\x70\xc2\x22\xc5\x61\x20\x36\x71\xeb\xb2\xf0\x38\x8d\x8c\x28\x58\xdd\xb1\x9a\x0c\x9e\x4f\xd0\x58\xc7\xf5\x9b\xef\xe8\x3b\xf0\x6e\xe5\x08\x15\x17\xc1\xa5\x92\x36\xa0\xe2\x50\x64\x1b\xaf\x9b\xee\x55\x6e\xe6\x9e\x44\xb9\x43\x6d\x0e\xef\xb9\xe5\x81\x2d\xdc\x5e\xa3\xc1\x35\xf4\x73\x5c\xf8\xc6\x03\x46\x9f\xfe\xba\xc1\x4c\x9e\x9b\xd6\x80\x38\x3d\xec\x99\xd6\xe3\x4d\x48\x74\xba\x74\xbd\x54\xe7\xb6\x71\xdb\x39\xab\x52\x27\xd3\x7e\xee\x96\x25\x4f\xe4\x39\xe6\x47\x5d\x53\xb2\xa0\x22\xcf\x19\x14\x4d\x78\xee\xa0\xde\x33\xd3\x29\xb1\x48\x95\x9f\xda\x7b\xea\x3b\xba\x1e\x69\x32\xa7\x2f\xe5\x93\x7a\x14\xc6\x39\xa4\xae\xf1\x83\xbc\x51\xd7\xe5\xb1\xae\xa8\xeb\x3d\xd2\x0f\xdd\xe3\xec\xf0\xf7\x19\x9c\x50\xbf\x6e\xb1\xc6\xca\x2a\x40\x61\x64\xc1\x71\xd0\x2d\x6a\xcb\xb5\x68\xfc\x4d\xe8\x1d\xaf\x84\xe3\x09\xb8\x54\x9a\xd3\xfa\x89\x83\x12\x36\xb6\x8c\xdf\x5c\x50\xac\xbe\x59\x5f\xa3\xe4\x82\xc6\x50\x10\x1f\x56\x89\xb5\x82\xb7\xf0\x57\xce\x09\x88\xf0\xd8\x74\x95\x68\x37\x2a\x96\xc5\x9b\x66\xb5\x92\x8e\x21\xd6\xf2\x96\x7d\xd4\x92\xed\x0b\x47\x6e\x6a\xe5\x33\x39\x1e\xc5\x43\x8c\x46\xf3\x71\x42\xd4\x9d\xd9\x12\xc3\xa4\x9d\x4a\xbb\x6a\xc5\x3b\xe9\x8d\x77\x7c\xe4\x24\x7f\x2d\x4a\x34\xf3\x4e\x25\xb6\x2f\xda\x72\xd8\x78\xfb\x1d\xf2\x7a\xd7\x34\xd6\x75\x04\x16\xfe\x6e\x70\xe7\xa9\x25\xb4\xb3\x76\x5b\x51\xf9\xf1\x97\x98\x91\x56\xbc\x76\x78\x5c\x0f\xfa\xd4\xec\x40\x0b\xea\xd0\xd7\x23\x87\xd8\x9d\xf0\xb8\x52\x9e\xe3\x1d\x29\x3e\x3a\xc4\x13\x13\xf7\x69\xd2\x9f\xe7\x7b\xd7\xe6\xd7\x1f\xce\xe6\xfb\x0c\x39\x9b\xc1\xf3\xb8\xfa\x2e\xa9\x68\x7c\x56\x31\x4c\x29\x9a\x14\xef\xd4\xb9\x4d\x03\xa9\x5b\x27\xda\x9f\xe5\xc9\xa7\x3d\xaf\x71\xd7\xcb\x4f\x6e\x44\x95\x17\xe8\x2c\x06\x13\x99\x02\x1d\x4e\x78\xda\xb6\xf1\xdf\x1b\x93\x8c\xcd\x7c\x12\xe0\x73\xa1\x73\x51\x4c\x53\xc1\xed\x4c\x16\xbe\x5a\x90\xa8\xf4\x04\x8e\x5c\xb9\x1b\x42\xbb\xd3\xf6\xab\x01\xb1\x24\xa2\x4e\x35\x96\xea\x16\x4f\x6f\x70\x37\x87\x9b\x7e\x55\x5d\xfb\x14\x1f\x07\x2c\x14\x2c\xe0\xfd\xaf\x4f\xf6\xc6\x67\xf0\xcc\x37\xdd\xa1\x23\x04\x58\xb8\x15\xf2\x6e\xcc\x4d\xf4\x60\xa8\xe7\xfb\x9b\x5f\xbf\xea\x39\x30\x95\x2c\x5a\xe7\xa5\x92\x45\x17\xdb\x9e\x0d\x60\x5b\x31\x34\x81\xc0\x94\x8e\xb1\x5c\xaf\xb3\xbe\xba\x89\x79\xf1\x98\xc1\xdc\xd3\x1a\xd2\x98\x06\xdb\xc4\xa6\x3f\x98\x15\x21\x70\x60\xe4\x36\x53\x4a\x3e\xea\x66\x64\x29\x0b\xa1\x93\x93\x69\x04\x16\xef\x44\x49\xdd\x45\x05\xff\x4b\x8a\xe1\xe9\xc5\x05\x39\xdd\x6e\xa3\x2b\x02\x93\x15\x39\xcc\x6e\xcb\xce\xf9\x32\xab\xc6\x9d\x0f\x73\x39\x75\xb7\x5f\x90\xee\x78\xb6\x0e\xd0\x33\x57\x3d\xe0\xd8\x6d\x49\xae\x8d\xe6\xc0\x25\x62\x8e\xb9\xe4\x69\x4d\x60\xbb\x91\x19\xd7\x16\x6f\x37\x5c\x01\x1e\x3e\x1d\xc2\xc3\x91\x92\x38\xd5\x38\xed\xe6\xab\xd8\xc0\x55\xb1\xb1\x7e\x39\x16\xeb\xbd\x74\x43\x1c\x3b\x8d\x96\x62\x12\xda\x5c\xb6\xf4\x9b\x38\x2d\x9c\x85\xbc\xc4\x3b\xb4\x13\x78\x53\x88\xdd\x04\xde\xa1\x96\x68\xba\xfb\x14\xbe\xb2\xce\x9d\x74\xd8\x8a\x5d\x52\x58\xe1\x40\x64\x85\x30\x86\xa2\x1a\xd2\x1f\x81\x40\xa3\x62\xc9\x1f\xf6\xe7\xe1\xfb\x27\x85\x7c\x07\x0e\x5b\xf1\x8c\x44\x05\x27\xdf\x7c\x1b\x78\xe1\xf4\x77\xdf\x7c\x3b\x7b\x7a\x71\x71\x76\xc2\x15\x29\x2e\xf6\xf4\x80\xa4\x81\x6f\xbe\xbd\x27\xc2\xe5\x56\x73\xf8\xe5\x55\x65\xfb\xfb\x3e\x84\x56\x29\xee\x06\x51\xa3\x40\xcc\x6f\x2f\x7b\xa6\x9e\xf6\xfa\xf6\x4f\x81\x85\x84\x8b\x8f\x7a\x5d\xd2\xa5\x90\xa5\xb4\x98\x9f\xfb\x21\x30\x1f\x86\x36\x62\xca\x84\xa8\x34\xf4\x6d\xb0\x2b\x57\xea\xb0\xb8\x35\x95\x1f\x34\xcc\xcb\xf5\x6d\xd3\x55\x14\xce\x5a\x45\xba\x63\xdc\x99\xb2\x52\xdc\x05\xfa\x1d\x8d\xbf\x7e\x98\xf4\x28\x3e\xe9\x74\x1f\x70\xa0\x08\xb7\x41\x15\x0e\x6d\x7a\xdb\x2f\xcc\xf7\x0b\x6a\xfd\x55\x9a\xdd\xbe\x6a\x19\x21\x13\xd5\x50\x22\xdb\xfa\x45\x76\xad\xbe\x3a\x39\xa4\xdd\x61\x54\xd0\xe7\xc7\x5a\xf4\x63\xf1\xd8\x80\x86\x62\x34\x47\x46\x71\x9d\x7d\xa1\xa0\x06\x46\xd5\xd1\xfa\xc6\xff\x42\x25\xed\x9e\x48\x77\x76\x1b\x3b\xfa\x52\x04\x8d\x79\x90\x4b\x48\x2b\xfe\x24\x8d\x9d\xc3\x7b\x8f\xd9\xa1\xba\xdb\xfd\x86\xc3\xc5\xb7\xbe\x1d\x2c\x62\x97\xb1\x11\x4d\x24\xcd\x97\x3a\xe5\x17\x11\x18\x59\xf0\xe4\x9b\x3f\xac\xda\xc9\x77\x7a\x74\xa9\x93\xef\x3f\xb6\xce\xa9\x65\xb7\xbe\x94\x7e\xae\x22\xa7\x98\x94\x63\xbf\x3c\x18\xa3\x73\x57\xf6\x94\x83\x41\x2d\x45\x11\xf8\xd7\xe5\xc8\xc3\xfe\x25\x71\x6b\x04\xf6\xc6\x75\x34\xb0\x11\xb7\x98\x1c\x8b\x67\x40\x7e\x16\xec\x36\xb0\x27\xdf\x83\x1b\xf5\x64\x04\xf7\x8e\x7c\xd7\x52\xec\x62\x69\x0e\xef\xb9\x6a\x5c\x37\xe4\xc9\xbc\x7a\xe1\x12\x80\x69\xa3\xe4\x2c\x7e\x1b\x70\x39\x63\x1a\x0e\x81\xb9\x73\x3e\x53\x77\x1a\xa5\x83\x80\x34\x9d\xed\xdb\x25\x42\x53\xc9\x7f\x34\x5c\x14\xe3\x0f\x0c\xb2\xf5\x66\xb3\xcd\xa8\x90\xda\x67\x0f\x5d\xd8\x40\xb4\x63\xca\xe3\x9d\x1b\xf2\x70\xfe\xe5\x90\xdd\x4c\x25\xb9\xdb\x66\x38\x83\x76\x40\x5f\x1e\x11\x60\x8f\xde\x97\x12\x5f\x3f\xfc\x38\xe1\x75\x8d\x1f\x24\xba\xae\xcb\x63\x05\xd7\xf5\x1e\x29\xb6\x7b\x0b\xfd\xb9\x85\xb6\x2d\x1d\xf6\x69\xcc\xd4\x3d\xf6\x42\xea\x12\x69\x49\x76\x93\x7a\x73\x81\x96\x0b\xa6\x43\xd7\x0a\x31\x37\x2e\x6a\xbc\xc5\x90\x85\x30\x99\xd2\x1c\x3b\xa4\x25\x18\xcb\xc6\x82\x74\x27\xe8\x23\x40\xee\xb4\x54\x6d\x9e\xf2\x10\xf3\xfb\x3c\xf8\xc7\x3d\x67\xd0\x0f\xe5\x2b\x0a\x5d\x2b\x4e\xc4\x1f\xc9\xbc\x73\xbf\x50\x0d\x33\xe0\xfb\x96\xe2\x4e\x96\x4d\xd9\x6e\xa3\x70\x87\x23\x0e\xd7\x21\x60\x03\xd7\x39\xa4\xa8\xba\xa3\x6d\x47\x4e\x37\xc6\x10\xe1\x27\x5c\x63\x95\x0b\xbd\x9b\xc0\xcb\x5a\x66\x13\xa2\x0d\x4e\xe0\x97\x2a\x53\x65\x49\xae\xe3\x73\xfe\xbf\x1b\x2b\xf8\xd3\x73\xdd\xc4\xf7\x88\xba\xa3\x41\xef\xb1\x4b\xbb\x49\x67\xf2\x83\x85\x45\x43\x4e\xa4\x5b\xb8\x85\x73\x23\xbf\xfe\xba\x43\xa3\xc5\x21\xe7\xb2\x16\x95\xcc\x4e\x4f\x9e\x05\x7e\x88\xdc\x67\xc2\x92\x76\xef\x27\x51\x9a\xb9\x6b\xcf\x83\xdc\xd7\x7a\x1e\x9d\xde\x32\xc3\x61\x1f\x11\xfe\x85\x32\xa3\x5e\x79\x81\x9b\xcb\x97\x4c\xe6\x7a\x14\x46\x56\x17\x70\xe3\x87\x95\x16\xb8\x1d\x9b\xc7\xd6\x15\x70\xef\xb1\x45\x05\x7d\x4d\x11\xfe\x3e\x83\xf6\x7c\x7d\x79\xc5\x0a\x74\xab\x45\x6d\x38\xe1\xf6\x9c\x2f\x48\xe1\x2b\x75\xdc\xa6\xcb\xb5\xcc\x5d\xa1\xe0\x75\xd3\xd0\xa3\xcb\xc6\xb9\x1d\xc7\xb0\x9b\x13\xe1\x85\x34\xab\xe0\xda\xf0\x02\x2d\x42\x2d\x33\xae\xf2\x8d\x87\x8f\xfc\xfd\x39\xec\x35\x0c\x5f\x9e\x13\xc1\x8d\xba\x45\x27\xcc\xe1\xb0\x1f\x21\xf3\xe8\x43\x1c\x6a\x42\x73\x3b\xda\xc8\xe7\xc0\xe6\xdd\xab\x87\xa6\xe1\xb2\x8b\x83\xfd\xb0\x2d\xcf\xef\xf7\x4d\x8f\x0b\x1c\xec\xdf\x66\xbc\x5e\x08\x2b\xe6\x34\xe3\xe7\x9d\x57\xa3\xba\x06\xe4\xbb\xbd\x8f\xe1\x1e\x2b\x36\xd2\x72\x9a\x83\xad\x43\x3e\xd2\xef\x75\x1c\xbd\xf8\x45\xe6\x10\x83\xf4\xce\x07\x5a\x8f\x03\x9f\xfc\x2a\xc0\xa1\x65\xe8\xb6\x4e\x68\xbf\xd7\x23\x25\x7e\xb7\x57\x97\xe2\x30\x44\xf2\x83\x1d\x22\x7a\x83\x84\xee\x76\x6b\xeb\x61\x52\xf2\xf6\x6e\xb8\xe9\xd1\x34\xbc\x1f\x0e\x58\x73\x3e\x2b\xb7\xff\x81\x09\xba\x60\xba\x0e\x68\x7c\x8f\x73\xdc\x23\xde\x6f\x92\xd2\x71\x91\x52\x75\xbf\x69\x8f\x78\x8b\x1e\x35\xef\xed\x10\x11\xd9\x7b\xb7\xdf\xad\x25\xde\x62\xa0\xb4\x13\xc6\x6d\xbe\x1e\x34\x62\xfe\xac\x17\x33\xee\x21\x9b\x45\x3a\xe3\xca\xa7\x29\x64\xfe\x9b\x58\xb4\xa0\xdd\xc6\x59\x32\xdf\xfa\xb4\x55\x66\x93\x07\x18\xb5\x7d\x4d\xca\x51\xd8\xca\xfe\x75\x8c\x51\xf3\xbd\xc9\xaa\xa5\x46\x31\x74\x1f\xcc\xaf\x05\xcb\xe4\xda\x7c\x05\xc2\x7c\x15\xb0\x48\xd6\xa9\x6f\xc8\xc2\x2c\xf7\x55\x89\xcc\xf7\xd5\xc8\xbc\x8b\x37\xbd\x1a\x54\x28\x7d\xed\x90\x5c\x7d\x94\x02\x38\x1b\xaf\x5f\x7a\xc7\xc8\xee\x81\xb2\xa7\x6f\x98\x73\xdd\x82\x76\xf5\xce\x48\x28\x51\x09\x0d\x03\x3a\x3e\xaf\x54\x33\x05\x18\x6d\x15\xe6\x3d\x1d\xbd\xb8\xb5\xbd\xfc\xfe\x4e\xa7\x4b\xab\xc4\x8e\xc4\x73\xae\x82\xbb\x0d\xe6\xfc\x25\x28\x7c\x95\x8e\xbf\xd6\xd0\x6a\x89\xb7\x38\x5c\x6e\x72\xdf\xa1\x50\xe7\x64\x37\x35\x88\xde\x59\x4d\x97\xc2\xae\xb5\x22\x6d\x10\xe1\xd1\x90\x62\xed\x06\x75\x25\x81\xed\x11\xa5\x31\x47\xd4\xf6\x56\xb2\x17\xfb\xb9\xdb\x64\xaa\x38\xce\x96\xef\x81\x60\x7f\xc8\x9f\xd8\xd6\xe1\xc4\x58\x4c\xca\xb8\x1b\x85\x0e\x6f\x3c\x78\x58\x6f\xfc\xa5\x2b\xf1\x47\xef\x1e\x1b\x37\x1b\x2e\x09\x75\x1b\x4f\x65\x63\x38\xe3\x5a\xc8\xea\xc6\x0d\xe6\x97\x63\x60\xe2\x71\xab\x22\x64\xbf\x20\x6e\x51\x65\x45\xc3\x47\xd8\xe3\xa1\x40\x9e\x48\x38\xed\xe7\xb7\xca\xbc\xc4\x38\x97\xb3\xfd\x78\x70\x4e\x75\xac\xd5\x4c\xeb\x36\xf7\x43\xd4\xc1\x13\x7a\xc9\x22\x87\xfb\xac\xdc\xcc\xf2\xa0\x93\x1d\xf8\x0e\xb4\x4a\xf9\xb3\x8f\x58\x59\x69\xc3\x85\x9f\x78\x27\x8d\x9d\x80\xb4\x50\x29\x20\x4f\x19\x75\x1b\xbd\x2d\x5d\x59\xa2\x96\x21\x83\x96\x64\x09\xe3\x1c\x8f\x4c\xb1\xe5\x96\x39\x70\xcd\x56\x77\x8a\x34\xab\x5e\x0d\xb0\x5f\x2e\x9f\x3b\x17\x2b\xa5\x19\x57\xb7\xe7\x53\xb7\xab\x7c\x64\xe0\x9f\x18\x8c\xdb\xe9\xdd\x1f\xf8\x32\x16\x7e\xb8\xa3\x59\x85\xda\x1a\x77\x5c\xd1\x27\x03\x44\x05\x58\xd6\x76\xd7\x97\xaa\x40\x70\x9a\x7f\xe0\x61\x66\xe0\x0e\xf8\xc0\x4a\xf7\x1c\xa1\xe2\x9d\x95\x97\x34\x44\x4a\xa2\x55\x53\x9d\x9e\xcd\xe1\x4f\x1f\xfb\xf7\xb9\x4e\xdb\x56\xc7\x6f\x22\x3c\x24\x31\x5d\x1d\x37\xcc\x83\x43\x6d\xfa\x8b\x38\xd4\xa6\x4f\xef\x9e\x52\x1f\x9a\x6e\x58\x84\xb1\xd3\x8e\xea\x76\xd4\x81\xa8\x3e\x5a\x53\x69\xde\xb9\x9b\x6a\x4e\xd5\xca\xe1\xf8\xfd\xd7\xf7\x0e\x48\x4e\xc0\x1c\x4e\xbc\x66\x61\x09\x0c\x3a\x45\x40\xb8\xf5\x46\xad\xe0\x1e\x18\xad\x9c\x4c\x8f\x1e\xac\x4a\x56\x6d\x91\x3c\xef\x37\x6c\x17\x6e\xd1\x3e\x1e\x6a\xd6\xe2\xb2\xe8\xbf\x38\xd4\xa5\xa5\xd9\xa2\xff\x62\xc0\xed\x1d\x5a\xd9\xc5\xbd\xeb\x3d\xd6\x79\xdd\x37\x36\x9c\x87\xd9\x86\xf3\x51\x5c\x9d\x1f\x2a\x37\x2b\x5e\xa0\x3c\x96\x5a\xfc\x7b\x32\x34\xfb\x28\x8e\x76\x71\x7b\x1e\xd1\x43\xf2\x36\xfb\x71\xdc\x23\x53\x38\x7b\x80\x46\x66\x73\xee\x73\x03\xc2\xdf\xe7\x4f\x8b\x1f\x70\xa3\x7c\xd5\x3a\x9f\x9c\x0d\x8a\xf7\xf7\xc9\x65\x95\xed\xf5\x15\xa3\xdc\x29\x97\xfa\xa9\x20\x5c\x60\xc1\x06\x3e\x42\xe3\x1b\x76\x65\x66\x82\x2d\xde\x33\x0f\xde\xd3\x59\x22\x59\x53\x02\xf8\x40\x9f\x6a\xef\x1a\xd0\xd9\x0c\x5e\x8b\x72\xcf\x4c\x32\xfa\xdb\x0d\x56\xc1\xf3\x77\x15\x77\x7e\xf8\xfe\x9d\x1d\xfd\xa1\xef\x3d\xb2\xf0\x22\x49\x9d\x0e\x8d\x3a\x44\xa4\xe0\x3f\x8d\x19\xf8\xc8\x05\xc3\xf1\x22\x08\x77\x65\x00\xfb\x1d\xfe\x2a\x15\x1e\x8a\x0f\xd8\xa7\x7c\x10\x8e\x83\x8c\x1c\x7e\x5c\x22\xab\x83\xd1\xbb\x7f\x34\x42\xa3\xaf\x01\x70\xf7\x48\x76\xce\xc8\x8c\x1e\xdb\x30\xa0\x57\x25\xd7\x5c\x74\xc7\xe6\x4b\x9a\x3a\xa3\xfe\x28\xaa\x0a\x75\x67\xd4\x78\x33\x42\x3b\xd8\xa4\xef\x52\xf3\xee\x8d\xe0\xa2\x29\xa8\x50\x68\x78\xfa\xcd\xc5\xc5\xdd\x77\x7f\xb8\x38\x8c\xd6\x92\x47\x1a\x89\xd6\x3b\x95\x49\xbf\x38\xc6\x91\x81\xab\xd4\xbb\x58\xfd\xde\x80\x71\xed\x36\xaa\xc4\x5a\xac\xb1\x53\xa8\x03\x6f\x94\xbf\x7e\x95\x2b\xfa\x4a\xc1\x05\x3f\x27\x7c\x66\x64\xad\x45\x79\x32\x81\x13\xbb\x95\xd6\xa2\xa6\xc7\x5c\x9a\x4c\xe9\xfc\xe4\xc8\x21\x1c\x37\xa2\x49\x2a\x3b\x0f\x2e\xef\x6f\x7a\x9d\xf3\x38\x0e\xeb\xf6\x39\xc6\x19\xdd\xd6\xc7\x16\xac\x07\xfb\x21\x74\x09\x9d\x7e\xd3\x9b\xa7\x1f\x90\x88\x4b\x08\x03\x8b\x94\x4c\xfb\x4d\x13\xaa\xc0\x22\xa5\xd1\x00\x54\x47\x12\x82\xe8\x9e\x1e\xe7\x94\xa4\x77\x60\x0f\xfb\x25\xde\x2d\x89\xd0\xbe\xa0\x7f\xf2\x28\xdf\xe4\x11\xf7\x66\x0f\xa6\x8c\x3f\x8b\x87\xf2\xa0\x1b\xb5\x8f\xd8\xd5\xf0\xf7\x78\x3f\xe5\xd3\x93\xff\x0b\x00\x00\xff\xff\xab\xc6\xb5\xf8\x95\x63\x00\x00"
 
 func utilityMetadataviewsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -195,11 +195,11 @@ func utilityMetadataviewsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/MetadataViews.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0x29, 0x7, 0x59, 0xc, 0x86, 0x2d, 0x16, 0x76, 0x12, 0xef, 0x30, 0x5d, 0x87, 0xf7, 0xf2, 0x44, 0x60, 0x4d, 0xfa, 0x6f, 0x39, 0x6d, 0x70, 0xf8, 0x49, 0x21, 0x8c, 0xf2, 0x89, 0x9c, 0xb4}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x6d, 0x67, 0x22, 0x2e, 0x22, 0x41, 0x93, 0x6b, 0xed, 0xd6, 0x12, 0x5d, 0x31, 0x50, 0x78, 0x22, 0xd3, 0x14, 0x70, 0x8a, 0x22, 0x4a, 0xfd, 0x1c, 0x65, 0x29, 0xc4, 0xe1, 0x33, 0x18, 0xf6}}
 	return a, nil
 }
 
-var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4f\x8f\xe3\x36\xb2\xbf\xeb\x53\xd4\xeb\x00\x6f\xba\x03\x8f\xfb\x1d\x1e\xf6\xd0\x40\x30\x99\xa4\xd3\x0b\x63\x17\x9d\x60\xe2\x49\x0e\x8b\x45\x4c\x4b\x65\x9b\x3b\x14\xa9\x21\x29\x3b\xde\x4e\x7f\xf7\x45\x15\x49\x89\x92\xe5\xfe\x93\xec\xae\x0f\xc9\x58\x16\x8b\xc5\xaa\x5f\x55\xfd\xaa\xd8\xd7\x5f\x7e\x59\x14\x5f\x7c\x01\xcb\x1d\xc2\x9d\x32\x07\xb8\x37\xfa\xed\x5d\xab\xb7\x72\xad\x10\x96\xe6\x13\x6a\x70\x5e\xe8\x4a\xd8\x8a\x5f\x5c\xdd\x1b\x9d\x7e\xe7\x9f\x57\x50\x1a\xed\xad\x28\x7d\x51\x90\x14\xa9\x3d\xda\x8d\x28\x11\xfc\x4e\x78\x10\x4a\x4d\xc9\x4c\x6b\x1c\xb8\x9d\x69\x55\x45\x0f\x36\xc6\xd6\xe0\xcd\xbc\x58\x6c\x40\x40\xeb\xd0\xc2\x41\x68\xef\xc0\x1b\xa8\xb0\x51\xe6\x08\x02\x34\x1e\xe0\xfe\x6e\xd9\x09\x98\x81\xdf\xa1\xb4\xdd\xf7\x24\x4f\xd6\x8d\xc2\x1a\xb5\x67\xa5\xfc\xb1\x41\x07\x15\x6e\xa4\xc6\x0a\x76\x68\x31\x1e\xe6\x6e\xb9\x02\x8b\xce\xb4\xb6\xcc\x54\x0f\x27\x29\x8d\xc5\xfe\x47\x12\x11\x8e\x64\xb1\xb1\xe8\x90\x34\x13\x9a\x95\x91\x9a\xb4\x00\x57\x0b\xeb\x3b\x4d\xe6\x61\x8b\x6f\x8d\x52\x58\x7a\x69\xf4\x0a\x3e\x9c\xd9\xa9\xdf\x84\xe4\x3b\x6f\x2c\xba\x68\x82\x37\x2e\x1e\x37\x49\x99\x17\x0b\x0f\x52\x97\xaa\xad\xf8\xa5\x0d\x1e\x60\xd3\x6a\xfe\x8d\x4d\x25\x14\xf9\x91\xf4\x31\x07\x8d\x96\x1e\xa1\x70\x52\x1d\x8b\xda\xec\x11\x3c\xd9\xdf\x91\xca\x42\x57\x60\x5a\x0f\x66\xc3\x6f\xe7\x5b\xb0\xe6\x3f\x58\xb3\x97\x15\xda\x15\xbf\xb9\xfa\x80\x25\xca\x3d\x7d\x3d\x35\x98\xe3\x73\xb8\xfc\x09\x54\x58\x2a\x61\x31\x53\xee\x20\xfd\x0e\x9c\xa9\x11\x1a\x8b\x2c\xb4\x31\x8e\x0d\x56\x49\x7e\xa3\x88\xf6\xfd\xdc\x4a\x8b\xac\x54\x6f\x3d\x3a\xc7\xc6\xf0\xd9\x4a\xb4\x5e\x48\x0d\x5a\xd4\x52\x6f\x59\xd0\x1a\x77\x62\x2f\x8d\xed\xc0\xea\xe6\xac\xd2\x11\x48\x05\x87\x8d\xb0\xc2\x23\xac\xb1\x14\x2d\xa9\xe9\x61\x2b\xf7\xac\xe4\x1e\x95\x69\xd0\x3a\xde\x4e\xac\xa5\x92\xfe\x18\x10\x47\x60\xe9\xb5\x0f\xba\x95\x42\x93\x5b\x40\xe8\x63\x86\x88\x0e\x6c\x2c\xc5\x0d\x0d\xf3\xcd\x11\x5a\x47\x7a\x26\xb3\x39\xd6\xb8\x7f\x65\xc6\x8e\x76\xe4\x07\x72\xf5\x10\x45\x8e\xb7\x74\xa8\xab\x82\x56\xd9\xe0\x84\xe4\xc5\x06\xd1\xbe\xf5\xe6\x2d\xfd\x7f\xc6\xf6\x25\x87\x92\x29\xf4\x96\x0e\xc1\x9b\x50\x54\xb0\xe9\x05\x94\x48\x52\x15\x28\xac\xb6\x68\x8b\x13\xc0\x2e\x0d\x6f\x95\x70\x4d\x68\xd2\xc6\xef\xd0\xb2\x8a\xb3\x2e\x2c\x39\xc4\x1c\x1d\xfb\xc8\xa2\x2b\x2b\x02\xe4\xee\xef\x96\xc5\xc6\x9a\x3a\x46\x65\xef\x3e\x8e\x53\x0d\x25\xe5\x03\x7a\xb1\xc2\xc6\x38\xe9\x3b\xfb\x82\xd1\x83\xbd\xde\xb8\x62\xe8\xfb\xd2\x90\x91\x7d\x80\x85\xb7\x42\xbb\x0d\xda\x79\x51\x7c\x79\x5d\x14\xb2\x6e\x8c\xf5\xf0\x93\xc4\x03\x85\x98\xda\xa3\x05\xd6\xe2\x22\x7f\x74\x51\x14\xd7\xd7\xd7\x9c\xea\x6a\x82\x4f\x9e\x46\xe6\xf0\x3d\x6f\x9d\x3f\x23\xc0\x2a\xc5\x6b\xe2\x06\xec\xb7\xe4\x6b\x56\x64\x80\xf7\x90\x5d\x38\x19\x48\xd7\xa7\xc5\xeb\xeb\xeb\x42\x94\x25\x3a\x77\x29\x94\xba\xea\x53\x55\x9f\x2a\xc7\x49\xf5\x66\x78\x96\x87\xa2\x00\x00\x20\x4d\xde\x6b\x40\xed\xa5\x8f\x3a\x6c\x8c\x0d\x01\xcf\x0e\xdf\x61\xe7\x0d\xa1\x38\xae\x03\x4c\xd8\x16\x02\x7e\x12\xad\xf2\x2c\x29\x57\x27\x17\xf7\x73\x5c\xfd\xb2\xfd\xda\xa6\x12\x3e\xc2\x39\xfc\x1b\x70\xcf\x51\xc0\xaf\xb1\x85\x9f\xdc\xee\x23\x2f\xea\x37\x1b\xef\x14\x13\x18\x85\xd8\xd6\x72\x29\x48\x0a\xf2\x9e\x71\xf9\x53\x3b\x7c\x4f\x12\xfa\x0d\xbe\xdb\x07\xc7\x09\x7f\x5a\x81\xb0\x96\x1e\x0e\x04\x52\xb2\x63\x8d\x5e\x54\xc2\x0b\xb2\x62\xca\xf2\x2e\x9e\xb2\xea\xe4\x2d\x42\x46\x30\x5a\x1d\x61\x8d\x2c\xc2\x63\x05\xeb\x23\x03\x3d\xf9\x64\x45\xcf\xef\xef\x96\x41\xdf\x6a\xd5\x81\xbe\x93\x13\xc2\x53\xc3\x8a\x5f\x11\x6b\x85\xab\x74\x0c\x8a\xf9\x0d\x5a\xd4\x54\x1e\x4c\x0a\xb2\x70\x86\x83\x38\x55\x89\xe0\x9d\x5b\xa0\xb1\xd1\x27\xae\x11\x75\x4d\x79\x86\xd1\xd0\xeb\x27\xe3\x93\x3e\xf6\xdc\x9b\xac\x18\xb8\x4e\x72\x4a\x9e\x7c\xda\xd2\x54\x01\x6c\x54\x48\xb2\xd7\xc1\x44\x87\xed\x04\x6d\x89\xa5\x14\xaa\x3f\x4a\x70\x53\x27\x31\x9e\x27\xdb\x8c\xec\xbe\x33\x55\x08\x3d\x32\x29\xd9\x82\xde\xdb\x62\x08\xb8\x53\xab\x74\xd2\x86\x26\x60\x4f\xd7\xe2\x13\x3a\xca\xf6\xce\x04\xad\xfc\x4e\xda\xea\x6d\x23\xac\x3f\x82\xd4\x15\xfe\x4a\x06\x21\x17\xd6\x46\x4b\xcf\xba\x27\x10\x77\xe2\x08\x6a\x9f\x5b\xb4\x47\xfe\x31\xda\xbb\x07\x48\x4a\x77\x01\xad\x43\xdb\xcd\x93\x90\x53\x90\xee\xfb\x00\xa8\x2e\xa9\x94\xdc\xc0\x8f\xde\x4a\xbd\x9d\x81\xac\x6e\xe0\xe3\x42\xfb\x3f\xfd\xff\x0c\xda\x36\xff\xc6\x5b\xdc\xc0\xfb\xaa\xb2\xe8\xdc\xbb\xab\x5c\x6c\x02\xf4\x15\xec\x65\xe0\x04\x30\xc4\xdd\xe5\x2f\xa0\x37\xfe\x03\x6e\x6e\x40\xb4\x7e\x77\x19\x1e\xc3\x6f\x21\x48\xae\xe0\x7f\x1f\xc6\x69\x68\x7e\x7f\xb7\x7c\x0c\x9b\x3c\xf0\x7f\xe9\xc3\x71\x32\x54\x3c\x88\x9d\x6f\xd1\x2f\x8f\x0d\x5e\x5e\xcd\x65\x45\x7e\xda\x48\xaa\x19\xa4\x7f\x7c\x41\x56\xe9\x40\xf1\x01\x7d\xe9\x4e\x15\x9f\xf1\xb7\x77\x73\x11\xce\x18\x76\x7f\x2c\x26\x63\x58\xba\x2e\xe4\x38\x70\x45\x48\x78\xf4\x3c\xe5\x41\x3d\xeb\x16\x4a\x5d\xc9\x52\xf8\x14\x95\xa4\x3a\x69\x17\x54\x9a\x65\x8c\xe9\x84\x10\xc5\xdd\x42\xc0\x75\x92\xd9\xf3\xb3\x01\x4c\x68\xd9\xc7\x8f\x8b\xdb\x24\xa2\x67\x4a\x93\x6b\xa1\x75\xad\x50\xea\x38\x88\xa0\x21\x66\x38\xcb\x9c\xe8\x23\x1d\x68\xe3\x03\x89\x23\xff\x9b\x56\xfb\x37\x8e\x99\xa3\xd8\xe2\x0c\x56\x24\x7e\xd5\x05\xd1\x4a\x4b\xb5\x7a\x0e\x8b\x29\xb5\xea\x17\xa3\x91\x36\xe9\xc1\x38\x83\x26\x12\x46\xb2\x40\x7a\xeb\x6a\xd2\x71\xe7\xbc\x16\x59\x01\x56\x4c\x3d\xa6\x8c\x02\x8b\xe0\x45\x74\x7f\xc8\x89\xf9\x46\x4f\xbb\x30\xb7\xfa\xe9\xda\x7f\x9b\xaf\x66\xaf\x73\xd6\x6d\xd2\xe1\xc5\xce\xf2\x26\x77\x55\xaf\xdf\x19\x67\x2d\x42\x87\x51\x71\x1d\x5e\x8b\xf2\xd3\x81\x48\xf5\x5b\x62\x61\xc2\xcb\x40\x93\x4f\x74\x3b\x6d\x0c\x60\x71\x7f\xb7\xbc\xe1\x8a\xf5\xf0\x98\x4b\x1f\x34\x89\xb1\xa8\x39\xa8\xdb\xd0\x0f\xc4\x56\xf0\xac\x11\x26\x36\xe2\x7d\x72\xd6\x34\x1f\xd3\xa7\xb4\x79\xab\xe5\xe7\x16\x61\x71\xcb\x67\x4b\xac\x35\xbd\x91\x6f\xa3\xd0\x67\x16\x1d\x4a\x99\x4e\x43\xa2\xf5\xa6\x16\x5e\x96\x1c\xd6\xb8\xe7\xaa\x21\x6b\x04\x91\xe9\x4c\x10\x72\xde\x9a\x63\x2c\xdb\x79\xdd\xe2\xa6\x42\xb2\x01\x44\x82\x8f\x4c\xbe\x90\x23\x6e\x12\xb0\xe0\x0c\x21\x33\xc2\x4c\x23\xd2\x9b\x82\x7b\x53\x61\xb7\x2d\xf7\xc0\x53\x87\x0b\x8b\x53\x4b\x7a\x9b\x34\xba\xec\x0f\x0c\x5f\x81\x43\x95\xa7\xed\xe1\x73\x7a\x76\x35\xb4\x4a\x69\x51\x78\xfc\xae\x6e\xfc\x31\xa3\xef\xe1\x29\xab\x84\xf4\xd3\xa0\xad\x8b\x16\x4c\x85\x9e\xbb\xdf\x13\xaf\xa4\xe8\xb4\xe8\x5b\xab\xb9\xa4\x27\xf2\x20\x94\x42\x9b\x15\x78\x3c\x06\x4e\x76\x60\xd6\xe6\x06\x22\xbe\x0e\xeb\xe1\x7d\xaf\xca\x38\x41\x70\xbb\x15\x75\x90\xee\x2c\x34\xa8\xbc\x4e\x1e\xf6\xf2\xea\x06\xbe\x7e\xe8\xbf\x3f\x66\xa5\x93\x3e\xdc\xf2\x0e\x1f\xd1\xc7\xa2\x6b\x95\xa7\x12\xfa\x57\xd4\x5b\xbf\xbb\xbc\x82\xaf\xbe\x82\xff\xbb\x81\x0b\x1e\x45\xf0\x4e\x55\xae\x2c\x87\x0a\x73\xce\xc6\x1f\xff\xe7\x62\x20\xf0\xb1\xe8\xff\x35\x38\xff\x9f\xd1\x3b\x48\x2d\x18\x47\x5c\x62\x45\x61\xcc\x50\x49\x8b\xa5\x57\x47\xb2\xde\x39\xcb\x55\x92\x15\x10\xf6\xc8\xdc\x58\x29\x70\xed\xfa\xfe\x6e\xf9\x23\x7c\xc2\x63\x20\xbf\x04\xe2\x49\xab\x75\xcc\x64\x8b\xfe\xfd\x5e\x48\x45\x5e\xff\x31\x2c\x27\xc3\x3d\x2c\x39\x9b\x05\x98\x8d\x2d\x17\x35\x78\x78\xea\x74\x1c\x67\x19\x5d\x4e\x8d\xec\xe0\x94\x27\x87\xfb\xc6\x10\xfd\x8e\xc1\xe2\x78\x64\x60\x1a\x3e\xa4\x1a\x4e\x54\x62\x53\x5c\xee\x8c\x71\x38\x10\xb1\x33\x07\x02\x65\xc2\xa7\x6b\xd7\xc1\xbe\x15\x36\xa8\x2b\xe2\x1c\x46\xc3\x81\x27\x62\x83\x7d\x62\xcd\x1c\x26\x82\x3b\x63\x01\x7f\x15\xd4\x69\xce\x40\x6e\x60\x45\x06\x5d\x31\xa5\x16\xb0\x17\xaa\xc5\x19\xac\x5b\x0f\x2b\x59\xad\xa0\x32\xe8\xf4\x9b\x30\x08\x63\x05\x87\x01\x29\x74\x54\x17\x0e\x3b\x59\xee\x82\x01\x36\xd1\x22\x3c\xc1\x30\xc9\xb2\x92\x6b\x97\xe5\x0c\x25\xe0\xa2\xc2\x0d\x35\x8c\x17\x03\x79\x8b\x0d\xac\x83\xb5\x62\xa5\x8a\x8d\x7d\x0f\x26\x6e\x0f\x42\x04\x09\x70\x52\x6f\x55\x50\x8b\x34\xf9\x07\x81\x36\xec\x36\x90\x4a\x0b\xe7\xb0\x24\x07\xed\x50\x35\x2e\x46\xb5\x83\xc3\xce\xd0\x56\xfa\x8d\x07\xd7\x5a\x0c\x16\xf4\x69\xae\xa3\x8c\xf9\x44\xa6\xa5\x3c\x9e\xcb\x1b\x22\xb7\x11\x56\xd4\x10\xea\x24\x05\x13\x61\x2c\x55\xf7\x0a\x9d\xb4\x58\x9d\xe4\x9a\xb8\x88\x72\x1e\x0f\x35\xab\xb4\x20\x22\x60\x6d\xac\x35\x87\xf3\x7b\x76\xd1\xe2\xbc\x6d\x4b\xdf\xf2\x24\x31\x8e\x0d\x13\x01\xb5\xf8\xb9\x45\x47\x61\x4d\x61\x31\x3f\x9b\x66\xb6\xe8\x43\x88\xc4\x5a\xbf\x8c\x9c\xa7\xab\xda\x70\x73\x8e\xbb\xbf\x9b\x0e\x21\x2d\x55\x31\xcc\x15\xd3\xb5\xd9\x40\x8d\x95\xa4\x26\xa1\x1f\x2b\x74\xd3\x84\x54\xcf\x72\x16\xdb\xa7\xbd\xd7\x94\xee\x34\x68\x1c\x16\x6a\xf8\x19\x63\x4f\x9e\x7a\xfe\x34\x5c\x48\x0d\x57\xe2\x9b\x99\xa8\xd4\xa3\x12\x87\xa0\x3c\xa5\xb7\xdd\xf2\x5c\x74\x94\x14\x91\x25\x78\x58\xb3\x09\x53\x3a\x6f\x62\x65\x54\xd2\x79\xa4\x8e\x2e\xfd\xae\xa2\xc0\x34\xba\x8a\x6d\xe2\xc0\xf1\x9d\xae\x16\x6b\xb3\xc7\x6e\x42\xdc\xe9\x9c\x65\x70\xaa\x67\xe1\xa5\x71\x35\x1b\x46\x9c\xe7\x10\xe7\xea\xce\x0d\xf5\xe6\x48\xbc\x99\xbb\x75\x5a\xb2\xb8\xa5\x78\x0d\x94\xd5\xd2\x5b\x53\x40\x4e\x7a\x11\xd7\x9b\x04\x74\xa7\xf8\x84\xa6\x63\x64\x76\x43\x98\xae\x75\x24\x98\x26\x09\x97\xf9\x5e\x11\xa1\x54\x12\x09\x8f\xaf\xaa\x85\xb2\xa2\x12\x98\x4b\xe3\x5a\xd8\x53\xf3\xbe\x9b\x0a\x0d\x44\x2a\x89\x3c\x8b\x17\x44\xba\xdc\x28\xd0\x16\xb7\x17\x27\xbb\x31\xc6\xc6\xcd\x4f\x5f\x8e\xcf\x74\xb4\x9d\x8e\x89\x1a\xc5\x07\xa1\x0d\x09\x9d\x11\x93\xa4\x61\x3b\x3b\x6e\x92\x32\x1e\x95\xeb\xf4\xf8\xca\xf0\x8c\x90\x74\x09\x46\xbf\x2f\x0e\xd3\x84\x7f\x4c\x98\x13\xe0\x3d\x4f\x53\x22\xa2\x87\x0c\x93\xc1\x2c\xaa\x2a\xc7\xf2\xb7\xa7\x00\xca\xf3\x71\x98\x73\x2e\x7b\x08\xc6\x6d\xce\xe6\xc1\xf8\xfb\x65\x5c\x19\x10\x35\xe2\x9f\x9c\x2b\x9b\xc6\x58\x8f\xd5\xfd\xdd\x72\xc9\xf7\x3e\xa9\x28\x0b\x8e\xe9\x34\x67\x0f\x77\x42\x3d\x33\xb0\xe9\xf4\xb4\x6f\xe3\x5f\x46\x7f\x82\x90\x5a\x34\x4d\xe8\x59\xd7\xc6\x28\x14\x7c\xbf\xd2\x0d\x1b\xb8\xac\xca\xa1\xbc\x1e\xea\xa5\xa4\x2e\x01\x5c\xd0\x9a\xec\xf7\x2c\x73\x3a\x39\x61\x46\x9d\xbe\x31\x46\x8d\x68\xd1\x87\x78\xfc\x94\x34\x42\x96\x60\x17\x6d\xe5\x1e\x75\xec\x39\x5c\x3c\x78\xa4\x70\xd3\x19\x80\x47\xc2\x93\x9c\x39\x2c\xee\x2f\x46\xe2\x54\x35\xab\xf8\xe0\x6d\x8b\x24\x3b\x12\x8b\xf3\x55\xfa\xbd\xee\x3c\x74\xc6\x0b\xd1\xce\x13\x66\xee\xfd\x48\x5a\x45\xfb\x8e\x6b\xfd\x0b\x18\xaa\x74\x63\x33\x67\xe5\xf7\x2a\x18\x7a\x1c\x9b\x7f\x21\x0b\x3c\xd1\x30\x83\x45\xe1\xd2\x48\xf5\x99\x60\xec\xa3\xe7\x87\x76\xad\x64\x99\xe5\xc9\x17\x06\xc6\x73\x30\x4a\x8d\xc6\x0d\xe5\x94\x67\xdf\x5e\xdc\x32\xcc\xfe\x16\x32\xfa\xdf\x9f\x7e\x3f\xd0\x23\xa2\x2c\xbf\xe4\x44\x85\x79\x0a\xd1\x92\xb1\xe1\x3e\x84\x2b\xbf\x6e\xf0\x1f\xd0\xa7\x4b\x8b\x7e\x74\x05\x9b\xcf\x8e\xd7\x98\x2e\x19\xbb\xd6\xb8\xbb\x9d\x21\x44\x74\x37\x30\xaf\xc8\x81\xbd\xd9\x6f\x3a\x5e\x32\xeb\x32\xe3\xec\xc4\x2d\xb3\xe9\x99\x43\xd6\xe0\x3e\x9d\x4c\xcf\xe5\xd2\x78\x09\x2c\x7d\x3a\xd9\x99\x60\x7c\x2e\x9b\xd2\xd1\xc6\x53\xf6\x57\x00\x69\x72\x20\x3c\xae\xe2\x16\x27\x8a\x78\x46\xe0\xf2\xfb\xbe\xc0\xad\xe2\x99\x06\x97\xe3\xfd\x9d\xf8\x84\xa8\xc4\xeb\xce\xaf\xe2\x04\xa6\x6a\x62\x14\x42\x1d\xc4\x31\x94\xfe\x8d\xa4\x1e\xae\x42\xe7\xa5\x16\x83\xb3\x67\xc2\xfb\x8b\x32\xb2\x7c\xa7\x69\x2d\x9d\xe3\x3b\x89\x70\x61\xd2\x3a\x6f\xea\x2e\xbb\x10\x25\xa4\xfc\xb6\xc6\x9e\x3b\x4e\xc9\x26\x89\x3b\x61\xab\xd0\x66\x11\xa6\x65\x98\x73\x8c\x48\xe6\x34\x2d\x19\x8f\xf9\x58\xcd\x27\x58\x49\xf8\xbd\x27\x25\xe1\x7b\x1c\x8d\x9a\x33\x8c\x64\x3c\x0b\x7c\x01\x27\x39\x1d\x2a\xf0\xed\x79\x6d\x5a\x9d\xea\x6b\x98\x70\xf6\x91\x79\x0e\xbf\x29\xa5\x6b\x76\xe5\x96\xd9\xfc\x60\x4e\xef\xe4\x3f\xf1\x74\x18\xfb\xca\xec\x36\x6a\xf7\x29\x3b\xb9\x33\xb3\x82\x17\xa9\xbd\xe8\xc9\x33\xdf\xdd\xb1\xa2\x4c\xce\x25\xd3\xcc\x6c\xea\x3b\x94\x32\x1b\xf5\xbd\xfd\x5f\x18\xa4\x8a\x19\x0d\xc2\xcd\x35\xc3\x87\xe4\x34\x42\xcb\x72\xfe\x5c\x8f\x9b\xda\xd5\x54\xe9\xf4\xc6\x13\xd3\x3f\x51\x22\xeb\xf9\x93\x0d\x4a\xa4\xc4\x3b\x3f\xe7\x9b\x6e\x1c\x32\x75\x19\xf9\xfb\x6b\xc1\x4b\x7a\xd6\x33\x4d\xc2\x65\x20\xdc\xd4\x22\x68\xa9\xae\xe0\xb7\xdf\xd2\xa3\x77\xb1\x73\x90\xd5\xd5\x0d\x9c\xac\xa3\xcf\xc5\xb7\x42\x93\x55\x83\x6a\xec\xc5\xee\x5c\xc1\x82\xf9\x15\x0e\xd9\x60\x70\x0d\xdb\xb5\x63\xb5\xf0\xe5\x2e\x35\x61\xdd\x8d\x6c\x87\x83\x17\x0e\xe5\x5e\x3f\x33\x8d\xaa\x71\x8f\x73\x42\x92\x9e\x1a\x93\xbe\x62\x18\x7a\x76\x8f\xff\xce\x14\x34\x24\x38\x72\x23\xa7\xa3\xee\xc9\xf9\x81\x68\xe7\x95\x9d\xd8\xe3\x50\xf7\xd0\x08\xf2\xdf\x64\xa4\xd7\x4f\xfb\xc0\xff\xd8\x04\x16\x86\x5c\xe7\xf5\xee\x4e\x8c\xa8\x4f\x30\x03\x0a\xfb\x07\x67\xe3\x59\xfe\xd0\x1b\xbf\xec\xc6\x64\x79\x12\x19\x0d\x0a\x07\x17\xfe\x5d\xda\x18\xa5\x0c\x61\xad\x38\xa6\x66\x6b\x99\x37\x5b\x67\x68\x5a\xfc\x0b\x9a\x78\x69\xfe\x32\x98\xf5\x1a\x07\x56\x3e\x41\x59\xa6\x41\x38\x01\xc0\x1e\x00\xcc\x75\xe7\x8a\x61\xf0\x3b\x41\x90\xdc\xfe\x58\xfc\x2b\x00\x00\xff\xff\x5a\x46\xc7\x4c\x63\x29\x00\x00"
+var _utilityNonfungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4f\x8f\xe3\x36\xb2\xbf\xeb\x53\xd4\xeb\x00\x6f\xba\x03\x8f\xfb\x1d\x1e\xf6\xd0\x40\x30\x99\xa4\xd3\x0b\x63\x17\x9d\x60\xe2\x49\x0e\x8b\x45\x4c\x4b\x65\x9b\x3b\x14\xa9\x21\x29\x3b\xde\x4e\x7f\xf7\x45\x15\x49\x89\x92\xe5\xfe\x93\xec\xae\x0f\xc9\x58\x16\x8b\xc5\xaa\x5f\x55\xfd\xaa\xd8\xd7\x5f\x7e\x59\x14\x5f\x7c\x01\xcb\x1d\xc2\x9d\x32\x07\xb8\x37\xfa\xed\x5d\xab\xb7\x72\xad\x10\x96\xe6\x13\x6a\x70\x5e\xe8\x4a\xd8\x8a\x5f\x5c\xdd\x1b\x9d\x7e\xe7\x9f\x57\x50\x1a\xed\xad\x28\x7d\x51\x90\x14\xa9\x3d\xda\x8d\x28\x11\xfc\x4e\x78\x10\x4a\x4d\xc9\x4c\x6b\x1c\xb8\x9d\x69\x55\x45\x0f\x36\xc6\xd6\xe0\xcd\xbc\x58\x6c\x40\x40\xeb\xd0\xc2\x41\x68\xef\xc0\x1b\xa8\xb0\x51\xe6\x08\x02\x34\x1e\xe0\xfe\x6e\xd9\x09\x98\x81\xdf\xa1\xb4\xdd\xf7\x24\x4f\xd6\x8d\xc2\x1a\xb5\x67\xa5\xfc\xb1\x41\x07\x15\x6e\xa4\xc6\x0a\x76\x68\x31\x1e\xe6\x6e\xb9\x02\x8b\xce\xb4\xb6\xcc\x54\x0f\x27\x29\x8d\xc5\xfe\x47\x12\x11\x8e\x64\xb1\xb1\xe8\x90\x34\x13\x9a\x95\x91\x9a\xb4\x00\x57\x0b\xeb\x3b\x4d\xe6\x61\x8b\x6f\x8d\x52\x58\x7a\x69\xf4\x0a\x3e\x9c\xd9\xa9\xdf\x84\xe4\x3b\x6f\x2c\xba\x68\x82\x37\x2e\x1e\x37\x49\x99\x17\x0b\x0f\x52\x97\xaa\xad\xf8\xa5\x0d\x1e\x60\xd3\x6a\xfe\x8d\x4d\x25\x14\xf9\x91\xf4\x31\x07\x8d\x96\x1e\xa1\x70\x52\x1d\x8b\xda\xec\x11\x3c\xd9\xdf\x91\xca\x42\x57\x60\x5a\x0f\x66\xc3\x6f\xe7\x5b\xb0\xe6\x3f\x58\xb3\x97\x15\xda\x15\xbf\xb9\xfa\x80\x25\xca\x3d\x7d\x3d\x35\x98\xe3\x73\xb8\xfc\x09\x54\x58\x2a\x61\x31\x53\xee\x20\xfd\x0e\x9c\xa9\x11\x1a\x8b\x2c\xb4\x31\x8e\x0d\x56\x49\x7e\xa3\x88\xf6\xfd\xdc\x4a\x8b\xac\x54\x6f\x3d\x3a\xc7\xc6\xf0\xd9\x4a\xb4\x5e\x48\x0d\x5a\xd4\x52\x6f\x59\xd0\x1a\x77\x62\x2f\x8d\xed\xc0\xea\xe6\xac\xd2\x11\x48\x05\x87\x8d\xb0\xc2\x23\xac\xb1\x14\x2d\xa9\xe9\x61\x2b\xf7\xac\xe4\x1e\x95\x69\xd0\x3a\xde\x4e\xac\xa5\x92\xfe\x18\x10\x47\x60\xe9\xb5\x0f\xba\x95\x42\x93\x5b\x40\xe8\x63\x86\x88\x0e\x6c\x2c\xc5\x0d\x0d\xf3\xcd\x11\x5a\x47\x7a\x26\xb3\x39\xd6\xb8\x7f\x65\xc6\x8e\x76\xe4\x07\x72\xf5\x10\x45\x8e\xb7\x74\xa8\xab\x82\x56\xd9\xe0\x84\xe4\xc5\x06\xd1\xbe\xf5\xe6\x2d\xfd\x7f\xc6\xf6\x25\x87\x92\x29\xf4\x96\x0e\xc1\x9b\x50\x54\xb0\xe9\x05\x94\x48\x52\x15\x28\xac\xb6\x68\x8b\x13\xc0\x2e\x0d\x6f\x95\x70\x4d\x68\xd2\xc6\xef\xd0\xb2\x8a\xb3\x2e\x2c\x39\xc4\x1c\x1d\xfb\xc8\xa2\x2b\x2b\x02\xe4\xee\xef\x96\xc5\xc6\x9a\x3a\x46\x65\xef\x3e\x8e\x53\x0d\x25\xe5\x03\x7a\xb1\xc2\xc6\x38\xe9\x3b\xfb\x82\xd1\x83\xbd\xde\xb8\x62\xe8\xfb\xd2\x90\x91\x7d\x80\x85\xb7\x42\xbb\x0d\xda\x79\x51\x7c\x79\x5d\x14\xb2\x6e\x8c\xf5\x70\xf1\x93\xc4\x03\xc5\x98\xda\xa3\xbd\x28\x8a\xeb\xeb\x6b\x4e\x6c\x35\x81\x25\x4f\x1a\x73\xf8\x9e\x37\xca\x9f\x11\x3c\x95\xe2\x35\x51\x1c\x7b\x29\x79\x96\xb7\x1d\xa0\x3b\xe4\x12\x0e\x7d\xe9\xfa\x24\x78\x7d\x7d\x5d\x88\xb2\x44\xe7\x2e\x85\x52\x57\x7d\x62\xea\x13\xe3\x38\x85\xde\x40\xae\x38\x3c\x14\x05\x00\x00\x69\xf2\x5e\x03\x6a\x2f\x7d\xd4\x61\x63\x6c\x08\x6f\x76\xef\x0e\x3b\xdb\x0b\xc5\x51\x1c\x40\xc1\xf6\x17\xf0\x93\x68\x95\x67\x49\xb9\x3a\xb9\xb8\x9f\xe3\xea\x97\xed\xd7\x36\x95\xf0\x11\xbc\xe1\xdf\x80\x7b\xc6\x3c\xbf\xc6\x16\x7e\x72\xbb\x8f\xbc\xa8\xdf\x6c\xbc\x53\x4c\x57\x14\x50\x5b\xcb\x89\x3f\x29\xc8\x7b\xc6\xe5\x4f\xed\xf0\x3d\x49\xe8\x37\xf8\x6e\x1f\x1c\x27\xfc\x69\xbd\xc1\x5a\x7a\x38\x10\x24\xc9\x8e\x35\x7a\x51\x09\x2f\xc8\x8a\x29\xa7\xbb\x78\xca\xaa\x93\xb7\x08\xf1\x6f\xb4\x3a\xc2\x1a\x59\x84\xc7\x0a\xd6\x47\x86\x75\xf2\xc9\x8a\x9e\xdf\xdf\x2d\x83\xbe\xd5\xaa\x83\x78\x27\x27\x04\xa3\x86\x15\xbf\x22\xd6\x0a\x57\xe9\x18\x14\xe1\x1b\xb4\xa8\xa9\x18\x98\x14\x52\xe1\x0c\x07\x71\xaa\x12\xc1\x3b\xb7\x40\x63\xa3\x4f\x5c\x23\xea\x9a\xb2\x0a\xa3\xa1\xd7\x4f\xc6\x27\x7d\xa4\xb9\x37\x59\xea\x77\x9d\xe4\x94\x2a\xf9\xb4\xa5\xa9\x02\xd8\xa8\x6c\x64\xaf\x83\x89\x0e\xdb\x09\xda\x12\x4b\x29\x54\x7f\x94\xe0\xa6\x4e\x62\x3c\x4f\xb6\x19\xd9\x7d\x67\xaa\x10\x7a\x64\x52\xb2\x05\xbd\xb7\xc5\x10\x70\xa7\x56\xe9\xa4\x0d\x4d\xc0\x9e\xae\xc5\x27\x74\x94\xdb\x9d\x09\x5a\xf9\x9d\xb4\xd5\xdb\x46\x58\x7f\x04\xa9\x2b\xfc\x95\x0c\x42\x2e\xac\x8d\x96\x9e\x75\x4f\x20\xee\xc4\x11\xd4\x3e\xb7\x68\x8f\xfc\x63\xb4\x77\x0f\x90\x94\xdc\x02\x5a\x87\xb6\x9b\x27\x21\xa7\x20\xdd\xf7\x01\x50\x5d\x52\xe1\xb8\x81\x1f\xbd\x95\x7a\x3b\x03\x59\xdd\xc0\xc7\x85\xf6\x7f\xfa\xff\x19\xb4\x6d\xfe\x8d\xb7\xb8\x81\xf7\x55\x65\xd1\xb9\x77\x57\xb9\xd8\x04\xe8\x2b\xd8\xcb\xc0\x00\x60\x88\xbb\xcb\x5f\x40\x6f\xfc\x07\xdc\xdc\x80\x68\xfd\xee\x32\x3c\x86\xdf\x42\x90\x5c\xc1\xff\x3e\x8c\xd3\xd0\xfc\xfe\x6e\xf9\x18\x36\x79\xe0\xff\xd2\x87\xe3\x64\xa8\x78\x10\x3b\xdf\xa2\x5f\x1e\x1b\xbc\xbc\x9a\xcb\x8a\xfc\xb4\x91\x54\x21\x48\xff\xf8\x82\xac\xd2\x81\xe2\x03\xfa\xd2\x9d\x2a\x3e\xe3\x6f\xef\xe6\x22\x9c\x31\xec\xfe\x58\x4c\xc6\xb0\x74\x5d\xc8\x71\xe0\x8a\x90\xf0\xe8\x79\xca\x83\x7a\xd6\x2d\x94\xba\x92\xa5\xf0\x29\x2a\x49\x75\xd2\x2e\xa8\x34\xcb\xf8\xd1\x09\xfd\x89\xbb\x85\x80\xeb\x24\xb3\xe7\x67\x03\x98\xd0\xb2\x8f\x1f\x17\xb7\x49\x44\xcf\x8b\x26\xd7\x42\xeb\x5a\xa1\xd4\x71\x10\x41\x43\xcc\x70\x96\x39\xd1\x47\x3a\xd0\xc6\x07\xca\x46\xfe\x37\xad\xf6\x6f\x1c\xf3\x44\xb1\xc5\x19\xac\x48\xfc\xaa\x0b\xa2\x95\x96\x6a\xf5\x1c\x16\x53\x6a\xd5\x2f\x46\x23\x6d\xd2\x83\x71\x06\x4d\xa4\x87\x64\x81\xf4\xd6\xd5\xa4\xe3\xce\x79\x2d\x72\x00\xac\x98\x68\x4c\x19\x05\x16\xc1\x8b\xe8\xfe\x90\x13\xf3\x8d\x9e\x76\x61\x6e\xf5\xd3\xb5\xff\x36\x5f\xcd\x5e\xe7\xac\xdb\xa4\xc3\x8b\x9d\xe5\x4d\xee\xaa\x5e\xbf\x33\xce\x5a\x84\x7e\xa2\xe2\x3a\xbc\x16\xe5\xa7\x03\x51\xe8\xb7\xc4\xb9\x84\x97\x81\x14\x9f\xe8\x76\xda\x06\xc0\xe2\xfe\x6e\x79\xc3\x15\xeb\xe1\x31\x97\x3e\x68\x09\x63\x51\x73\x50\xb7\x81\xfd\xc7\xc6\xef\xac\x11\x26\x36\xe2\x7d\x72\xd6\x34\x1f\xd3\xa7\xb4\x79\xab\xe5\xe7\x16\x61\x71\xcb\x67\x4b\x1c\x35\xbd\x91\x6f\xa3\xd0\x67\x16\x1d\x4a\x99\x4e\x43\xa2\xf5\xa6\x16\x5e\x96\x1c\xd6\xb8\xe7\xaa\x21\x6b\x04\x91\xe9\x4c\x10\x72\xde\x9a\x63\x2c\xdb\x79\xdd\xe2\x16\x42\xb2\x01\x44\x82\x8f\x4c\xbe\x90\x23\x6e\x12\xb0\xe0\x0c\x21\x33\xc2\x4c\x23\xd2\x9b\x82\x3b\x51\x61\xb7\x2d\x77\xbc\x53\x87\x0b\x8b\x53\x03\x7a\x9b\x34\xba\xec\x0f\x0c\x5f\x81\x43\x95\xa7\xed\xe1\x73\x7a\x76\x35\xb4\x4a\x69\x51\x78\xfc\xae\x6e\xfc\x31\x23\xeb\xe1\x29\xab\x84\xf4\xd3\xa0\x89\x8b\x16\x4c\x85\x9e\x7b\xdd\x13\xaf\xa4\xe8\xb4\xe8\x5b\xab\xb9\xa4\x27\xf2\x20\x94\x42\x9b\x15\x78\x3c\x06\x4e\x76\x60\xd6\xe6\x06\x22\xbe\x0e\xeb\xe1\x7d\xaf\xca\x38\x41\x70\x73\x15\x75\x90\xee\x2c\x34\xa8\xbc\x4e\x1e\xf6\xf2\xea\x06\xbe\x7e\xe8\xbf\x3f\x66\xa5\x93\x3e\xdc\xe0\x0e\x1f\xd1\xc7\xa2\x6b\x95\xa7\x12\xfa\x57\xd4\x5b\xbf\xbb\xbc\x82\xaf\xbe\x82\xff\xbb\x81\x0b\x1e\x3c\xf0\x4e\x55\xae\x2c\x87\x0a\x73\xce\xc6\x1f\xff\xe7\x62\x20\xf0\xb1\xe8\xff\x35\x38\xff\x9f\xd1\x3b\x48\x0d\x17\x47\x5c\x62\x45\x61\xa8\x50\x49\x8b\xa5\x57\x47\xb2\xde\x39\xcb\x55\x92\x15\x10\xf6\xc8\xdc\x58\x29\x70\xed\xfa\xfe\x6e\xf9\x23\x7c\xc2\x63\x20\xbf\x04\xe2\x49\xab\x75\xcc\x64\x8b\xfe\xfd\x5e\x48\x45\x5e\xff\x31\x2c\x27\xc3\x3d\x2c\x39\x9b\x05\x98\x8d\x2d\x17\x35\x78\x78\xea\x74\x1c\x67\x19\x5d\x4e\x6d\xeb\xe0\x94\x27\x87\xfb\xc6\x10\xfd\x8e\xc1\xe2\x78\x40\x60\x1a\x3e\xa4\x1a\xce\x4f\x62\x0b\x5c\xee\x8c\x71\x38\x10\xb1\x33\x07\x02\x65\xc2\xa7\x6b\xd7\xc1\xbe\x15\x36\xa8\x2b\xe2\x1c\x46\xc3\x81\xe7\x5f\x83\x7d\x62\xcd\x1c\x26\x82\x3b\x63\x01\x7f\x15\xd4\x69\xce\x40\x6e\x60\x45\x06\x5d\x31\xa5\x16\xb0\x17\xaa\xc5\x19\xac\x5b\x0f\x2b\x59\xad\xa0\x32\xe8\xf4\x9b\x30\xf6\x62\x05\x87\x01\x29\x74\x54\x17\x0e\x3b\x59\xee\x82\x01\x36\xd1\x22\x3c\xaf\x30\xc9\xb2\x92\x6b\x97\xe5\x0c\x25\xe0\xa2\xc2\x0d\x35\x8c\x17\x03\x79\x8b\x0d\xac\x83\xb5\x62\xa5\x8a\x6d\x7c\x0f\x26\x6e\x0f\x42\x04\x09\x70\x52\x6f\x55\x50\x8b\x34\xf9\x07\x81\x36\xec\x36\x90\x4a\x0b\xe7\xb0\x24\x07\xed\x50\x35\x2e\x46\xb5\x83\xc3\xce\xd0\x56\xfa\x8d\x07\xd7\x5a\x0c\x16\xf4\x69\x8a\xa3\x8c\xf9\x44\xa6\xa5\x3c\x9e\xcb\x1b\x22\xb7\x11\x56\xd4\x10\xea\x24\x05\x13\x61\x2c\x55\xf7\x0a\x9d\xb4\x58\x9d\xe4\x9a\xb8\x88\x72\x1e\x8f\x30\xab\xb4\x20\x22\x60\x6d\xac\x35\x87\xf3\x7b\x76\xd1\xe2\xbc\x6d\x4b\xdf\xf2\xdc\x30\x0e\x09\x13\x01\xb5\xf8\xb9\x45\x47\x61\x4d\x61\x31\x3f\x9b\x66\xb6\xe8\x43\x88\xc4\x5a\xbf\x8c\x9c\xa7\xab\xda\x70\x73\x8e\xbb\xbf\x9b\x0e\x21\x2d\x55\x31\xcc\x15\xd3\xb5\xd9\x40\x8d\x95\xa4\x26\xa1\x1f\x2b\x74\xd3\x84\x54\xcf\x72\x16\xdb\xa7\xbd\xd7\x94\xee\x34\x56\x1c\x16\x6a\xf8\x19\x63\x4f\x9e\x7a\xfe\x34\x5c\x48\x0d\x57\xe2\x9b\x99\xa8\xd4\xa3\x12\x87\xa0\x3c\xa5\xb7\xdd\xf2\x5c\x74\x94\x14\x91\x25\x78\x58\xb3\x09\x33\x39\x6f\x62\x65\x54\xd2\x79\xa4\x8e\x2e\xfd\xae\xa2\xc0\x34\xa8\x8a\x6d\xe2\xc0\xf1\x9d\xae\x16\x6b\xb3\xc7\x6e\x1e\xdc\xe9\x9c\x65\x70\xaa\x67\xe1\xa5\x71\x35\x1b\x46\x9c\xe7\x10\xe7\xea\xce\x0d\xf5\xe6\x48\xbc\x99\xbb\x75\x5a\xb2\xb8\xa5\x78\x0d\x94\xd5\xd2\x5b\x53\x40\x4e\x7a\x11\xd7\x9b\x04\x74\xa7\xf8\x84\xa6\x63\x64\x76\x43\x98\xae\x75\x24\x98\x26\x09\x97\xf9\x5e\x11\xa1\x54\x12\x09\x8f\xaf\xaa\x85\xb2\xa2\x12\x98\x4b\xe3\x5a\xd8\x53\xf3\xbe\x9b\x0a\x0d\x44\x2a\x89\x3c\x79\x17\x44\xba\xdc\x28\xd0\x16\xb7\x17\x27\xbb\x31\xc6\xc6\xcd\x4f\x5f\x8e\xcf\x74\xb4\x9d\x8e\x89\x1a\xc5\x07\xa1\x0d\x09\x9d\x11\x93\xa4\x61\x3b\x3b\x6e\x92\x32\x1e\x95\xeb\xf4\xf8\xca\xf0\x8c\x90\x74\x09\x46\xbf\x2f\x0e\xd3\x3c\x7f\x4c\x98\x13\xe0\x3d\x4f\x53\x22\xa2\x87\x0c\x93\xc1\x2c\xaa\x2a\xc7\xf2\xb7\xa7\x00\xca\xf3\x71\x98\x73\x2e\x7b\x08\xc6\x6d\xce\xe6\xc1\xf8\xfb\x65\x5c\x19\x10\x35\xe2\x9f\x9c\x2b\x9b\xc6\x58\x8f\xd5\xfd\xdd\x72\xc9\xb7\x3c\xa9\x28\x0b\x8e\xe9\x34\x55\x0f\x37\x40\x3d\x33\xb0\xe9\xf4\xb4\x6f\xe3\x5f\x46\x7f\x82\x90\x5a\x34\x4d\xe8\x59\xd7\xc6\x28\x14\x7c\x9b\xd2\x0d\x1b\xb8\xac\xca\xa1\xbc\x1e\xea\xa5\xa4\x2e\x01\x5c\xd0\x9a\xec\xf7\x2c\x73\x3a\x39\x61\x46\x9d\xbe\x31\x46\x8d\x68\xd1\x87\x78\xfc\x94\x34\x42\x96\x60\x17\x6d\xe5\x1e\x75\xec\x39\x5c\x3c\x78\xa4\x70\xd3\x19\x80\x47\xc2\x93\x9c\x39\x2c\xee\xaf\x41\xe2\x54\x35\xab\xf8\xe0\x6d\x8b\x24\x3b\x12\x8b\xf3\x55\xfa\xbd\xee\x3c\x74\xc6\x0b\xd1\xce\x13\x66\xee\xfd\x48\x5a\x45\xfb\x8e\x6b\xfd\x0b\x18\xaa\x74\x63\x33\x67\xe5\xf7\x2a\x18\x7a\x1c\x9b\x7f\x21\x0b\x3c\xd1\x30\x83\x45\xe1\xd2\x48\xf5\x99\x60\xec\xa3\xe7\x87\x76\xad\x64\x99\xe5\xc9\x17\x06\xc6\x73\x30\x4a\x8d\xc6\x0d\xe5\x94\x67\xdf\x5e\xdc\x32\xcc\xfe\x16\x32\xfa\xdf\x9f\x7e\x3f\xd0\x23\xa2\x2c\xbf\xe4\x44\x85\x79\x0a\xd1\x92\xb1\xe1\x3e\x84\x0b\xbe\x6e\xf0\x1f\xd0\xa7\x4b\x8b\x7e\x74\xe1\x9a\xcf\x8e\xd7\x98\xae\x14\xbb\xd6\xb8\xbb\x9d\x21\x44\x74\x37\x30\xaf\xc8\x81\xbd\xd9\x6f\x3a\x5e\x32\xeb\x32\xe3\xec\xc4\x2d\xb3\xe9\x99\x43\xd6\xe0\x3e\x9d\x4c\xcf\xe5\xd2\x78\xe5\x2b\x7d\x3a\xd9\x99\x60\x7c\x2e\x9b\xd2\xd1\xc6\x53\xf6\x57\x00\x69\x72\x20\x3c\xae\xe2\x16\x27\x8a\x78\x46\xe0\xf2\xdb\xbd\xc0\xad\xe2\x99\x06\x57\xe1\xfd\x0d\xf8\x84\xa8\xc4\xeb\xce\xaf\xe2\x04\xa6\x6a\x62\x14\x42\x1d\xc4\x31\x94\xfe\x8d\xa4\x1e\xae\x42\xe7\xa5\x16\x83\xb3\x67\xc2\xfb\x8b\x32\xb2\x7c\xa7\x69\x2d\x9d\xe3\x3b\x89\x70\x61\xd2\x3a\x6f\xea\x2e\xbb\x10\x25\xa4\xfc\xb6\xc6\x9e\x3b\x4e\xc9\x26\x89\x3b\x61\xab\xd0\x66\x11\xa6\x65\x98\x73\x8c\x48\xe6\x34\x2d\x19\x8f\xf9\x58\xcd\x27\x58\x49\xf8\xbd\x27\x25\xe1\x7b\x1c\x8d\x9a\x33\x8c\x64\x3c\x0b\x7c\x01\x27\x39\x1d\x2a\xf0\x5d\x79\x6d\x5a\x9d\xea\x6b\x98\x70\xf6\x91\x79\x0e\xbf\x29\xa5\x6b\x76\xe5\x96\xd9\xfc\x60\x4e\xef\xe4\x3f\xf1\x74\x18\xfb\xca\xec\x36\x6a\xf7\x29\x3b\xb9\x33\xb3\x82\x17\xa9\xbd\xe8\xc9\x33\xdf\xdd\xb1\xa2\x4c\xce\x25\xd3\xcc\x6c\xea\x3b\x94\x32\x1b\xf5\xbd\xfd\xdf\x13\xa4\x8a\x19\x0d\xc2\xcd\x35\xc3\x87\xe4\x34\x42\xcb\x72\xfe\x5c\x8f\x9b\xda\xd5\x54\xe9\xf4\xc6\x13\xd3\x3f\x51\x22\xeb\xf9\x93\x0d\x4a\xa4\xc4\x3b\x3f\xe7\x9b\x6e\x1c\x32\x75\x19\xf9\xfb\x6b\xc1\x4b\x7a\xd6\x33\x4d\xc2\x65\x20\xdc\xd4\x22\x68\xa9\xae\xe0\xb7\xdf\xd2\xa3\x77\xb1\x73\x90\xd5\xd5\x0d\x9c\xac\xa3\xcf\xc5\xb7\x42\x93\x55\x83\x6a\xec\xc5\xee\x5c\xc1\x82\xf9\x15\x0e\xd9\x60\x70\x0d\xdb\xb5\x63\xb5\xf0\xe5\x2e\x35\x61\xdd\x8d\x6c\x87\x83\x17\x0e\xe5\x5e\x3f\x33\x8d\xaa\x71\x8f\x73\x42\x92\x9e\x1a\x93\xbe\x62\x18\x7a\x76\x8f\xff\xce\x14\x34\x24\x38\x72\x23\xa7\xa3\xee\xc9\xf9\x81\x68\xe7\x95\x9d\xd8\xe3\x50\xf7\xd0\x08\xf2\xdf\x64\xa4\xd7\x4f\xfb\xc0\xff\xd8\x04\x16\x86\x5c\xe7\xf5\xee\x4e\x8c\xa8\x4f\x30\x03\x0a\xfb\x07\x67\xe3\x59\xfe\xd0\x1b\xbf\xec\xc6\x64\x79\x12\x19\x0d\x0a\x07\x17\xfe\x5d\xda\x18\xa5\x0c\x61\xad\x38\xa6\x66\x6b\x99\x37\x5b\x67\x68\x5a\xfc\x0b\x9a\x78\x69\xfe\x32\x98\xf5\x1a\x07\x56\x3e\x41\x59\xa6\x41\x38\x01\xc0\x1e\x00\xcc\x75\xe7\x8a\x61\xf0\x3b\x41\x90\xdc\xfe\x58\xfc\x2b\x00\x00\xff\xff\xee\x5d\xf5\x18\x51\x29\x00\x00"
 
 func utilityNonfungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -215,11 +215,11 @@ func utilityNonfungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/NonFungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0x6f, 0x32, 0x53, 0xae, 0xd1, 0xcc, 0xc6, 0xe, 0xf5, 0x94, 0x1e, 0x4d, 0xdb, 0x89, 0xe3, 0xec, 0xbf, 0xef, 0x5f, 0x1d, 0x88, 0x7f, 0x91, 0x69, 0x2a, 0xac, 0xaa, 0x25, 0x1b, 0x66, 0xda}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x45, 0x41, 0xe6, 0x8c, 0xc7, 0xc4, 0xf2, 0x8, 0x8f, 0x10, 0x73, 0xca, 0xee, 0x3, 0x22, 0x4b, 0xca, 0x4e, 0x9e, 0x38, 0xda, 0xd, 0x25, 0x77, 0xa5, 0xb8, 0x53, 0x62, 0x6a, 0x17, 0xf}}
 	return a, nil
 }
 
-var _utilityPrivatereceiverforwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\x4b\x8f\xdb\x36\x10\xbe\xeb\x57\x4c\x5c\x20\x95\x02\x47\xbe\x14\x3d\x18\xeb\x6c\x82\xa4\x0b\xe4\x52\x2c\x92\x6c\xaf\xc5\x98\x1a\xdb\x6c\x68\x52\x20\x47\x76\x17\x0b\xff\xf7\x82\x0f\xbd\xed\xa0\xf1\xc5\xa2\xc4\x79\x7c\x33\xdf\x37\xe4\xea\x4d\x96\xfd\x02\x0f\x8d\xde\xcb\xad\x22\xf8\x66\xbe\x93\x86\x47\x2b\x4f\xc8\x04\x5f\x48\x90\x3c\x91\x85\x8f\x46\xb3\x45\xc1\x59\xf6\xed\x20\x1d\x88\xb4\x04\x79\xac\x15\x1d\x49\xb3\x03\x04\x57\x93\x90\xa8\xc0\x92\x33\x8d\x15\x04\xa8\x2b\xb0\xad\x0b\xa9\x99\xec\x0e\x05\x41\x76\x3e\x18\x47\x50\x51\x6d\x9c\x64\xd8\x35\x5a\xb0\x34\x1a\xa4\x03\xa3\xd5\x33\x08\x54\x0a\x7d\x32\xdb\x67\x40\x0d\x58\x1d\xa5\x06\x3e\x58\xd3\xec\x0f\x80\x50\x37\x5b\x25\x05\x08\xac\x71\x2b\x95\xe4\xe7\x32\xcb\xde\xac\xb2\x4c\x1e\x6b\x63\xb9\x83\x12\x91\xec\xac\x39\xc2\x62\xf4\x6e\x91\x65\x28\x04\x39\x97\xa3\x52\x45\x8f\x25\x81\x6e\x31\x3f\x18\x7b\x46\x5b\x91\x85\x97\x2c\x03\x00\x58\xad\xe0\x8f\x13\x69\x06\x3e\x20\xfb\x64\xe9\x28\x99\xa9\x82\xf3\x81\x34\xb0\x77\xed\x00\x6d\x07\x8c\x2a\x60\x03\x7c\x20\x60\xb4\x7b\xe2\xae\x14\xc1\xdb\x30\x05\x0a\x6e\x53\xfc\x4f\xd1\x3a\xc7\xa3\x69\x34\xaf\xe1\xe9\x41\xfe\xfb\xfb\x6f\xcb\xde\xeb\xd3\xd3\xe7\x4f\x6b\x78\xfa\xac\xd9\xbf\xf6\x00\xd7\xf0\xa1\xaa\x2c\x39\x77\xbf\x04\x36\xe3\xd5\x70\x77\x91\xcd\x42\x2b\x62\xf8\x4a\xba\x22\xfb\x95\x8d\xc5\x3d\x3d\x22\x1f\xd6\x30\x58\x5c\xb7\x99\x14\xeb\xa6\xf1\xff\xb0\x7d\x0c\xfd\x8c\xa6\xfd\xf3\x3c\x6c\x47\xab\x59\x67\x52\x77\x02\x35\xa5\xf3\xfd\xb0\x14\x0a\x3f\xec\x44\x68\xcf\x59\x2a\x05\x5b\x02\x47\x9a\xcb\xb1\x2d\x01\x3f\xd7\x04\x52\x57\x52\x20\x93\x4b\x6d\x0e\x9d\x46\xb0\xb4\x23\x4b\x5a\x90\xef\x29\x8e\x5b\x19\x5d\x74\x8f\x29\x67\x47\x6a\x57\xc0\x09\xad\xdf\x2c\x6b\x49\xbe\x99\x1f\x3b\xd2\xde\xbd\x7e\x19\xb1\xb2\x6c\xcb\x71\x79\x37\x02\x95\x20\x5c\x0b\xb4\x5a\x79\xb2\x47\xed\x84\x64\x19\xbf\x93\x4f\xf6\x2f\x6c\x14\x83\xd9\xfe\x43\x82\x01\x5d\x10\x91\xdd\x37\x5e\xa7\x41\x93\xbb\x58\x40\x37\xf4\x24\xb9\x65\x6b\x97\xee\xaf\x2e\x79\x6a\x9c\xd4\xfb\xf0\xcd\xb1\xb1\x54\xf5\xd5\xf8\x01\xfe\x56\x57\x85\x17\x78\x0b\x23\x8f\x74\x7d\x3f\xc1\x1e\xc2\x5c\x0a\x78\xe9\x9c\xf8\x9f\x1a\x68\xe6\x0b\xed\x60\x03\xbe\xa6\x65\x97\x5f\xb9\x35\xd6\x9a\x73\x5e\xbc\xca\x66\x76\x5b\x54\xe8\xbb\xb5\x09\x02\x29\xd3\x72\xbe\xaf\x69\x64\xd5\x6e\xf2\xcf\xe3\x1d\x83\xe8\xe5\x18\xc1\xdd\x5b\xff\x5f\x8c\xb7\xfb\x81\x70\x4b\xc6\x29\x83\x99\x8e\x7d\xd0\x56\xc5\x01\x9e\x39\x6b\xb2\xf7\x25\x46\x0d\x47\x41\x0f\xf3\x98\x7f\x8f\x8e\x86\x7b\xbc\xd3\xa2\x4b\xed\xd2\x67\x29\xb5\xe4\xfc\x67\xf9\x38\xed\x4b\x6d\x69\xf2\x26\xd5\x6a\xd2\x16\x78\xb5\x01\x2d\xd5\x1a\x16\x1f\x4d\xa3\x2a\xd0\x86\x21\x7e\xeb\x0f\x96\x5e\x57\x61\x52\x7b\x8e\xf5\x39\x2d\x46\x41\x2e\xa3\xd5\x98\x0a\xb0\xe9\xe3\x67\x63\x83\x4b\x37\xbd\x85\x25\x64\xfa\x93\xce\xfd\x00\x89\xaf\xbc\x66\x34\x9d\x07\x83\xa5\x4f\xeb\x2c\xf9\x10\xd2\xaa\xad\x39\xc9\x2a\x90\x7f\x18\x28\x11\x7f\x38\xa8\x3c\xdf\xe7\xb1\x7e\xbe\xec\x6b\x78\x3f\x1c\x75\x7d\xa1\xb9\xb1\x1a\xee\xde\xc6\x18\x70\x35\x42\xf7\x58\xb4\x45\xb8\x3d\x4f\xe3\xfc\x1f\x44\x98\x82\x71\xa4\xab\x44\xeb\x90\xa4\xcb\xff\x86\xc4\xbf\xee\xb0\x59\xa6\x11\xfb\x23\x71\xcf\xd4\x87\x42\x78\x75\xc0\x06\xf6\xc4\x1f\xe2\x22\x4f\x9e\x8b\xf9\xf6\x7a\x7c\x70\xc0\xa6\x75\x50\x76\x97\x01\x49\x2e\xf1\xef\xee\xf5\xad\x03\xbd\xec\x9e\xde\xe5\x33\x1a\xfb\xdf\x4d\xc3\x9b\x27\xd7\xcc\x4d\x01\xf7\xf7\x50\xa3\x96\x22\x9f\xb3\x7f\x74\x98\x24\x50\xed\x50\x26\xbb\x98\x20\x9f\xa0\x9e\x0d\xa2\x58\xf7\x62\x64\x73\x5d\x03\x41\xfd\x2e\x74\x7b\x76\x52\x2f\xc3\x6c\xbf\x76\x86\x2f\xd3\x8d\x6b\x7a\x42\x8f\x3a\x1a\xe4\x38\xbb\x48\x84\x91\xdd\x86\x9b\x6c\xbe\x7d\x83\xf0\x56\x93\x2b\xc4\x2d\xab\x3e\x1b\xd8\x0c\xd2\x9c\x84\x6a\x59\x92\xbc\x96\x0e\x4f\x94\x77\xfa\x89\x59\xe7\x45\x1c\xb5\xd7\x81\xa4\x96\x5c\xb2\xcb\x7f\x01\x00\x00\xff\xff\xe1\x32\xb9\x4f\x30\x0b\x00\x00"
+var _utilityPrivatereceiverforwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\x4b\x8f\xdb\x36\x10\xbe\xeb\x57\x4c\x5c\x20\x95\x02\x47\xbe\x14\x3d\x18\xeb\x6c\x82\xa4\x0b\xe4\x52\x2c\x92\x6c\xaf\xc5\x98\x1a\x5b\x6c\x68\x52\x20\x47\x56\x17\x0b\xff\xf7\x82\x14\xf5\xb6\x83\xc6\x17\x93\xd2\x3c\xbe\x79\x7c\x33\xda\xbc\x49\x92\x5f\xe0\xa1\xd6\x47\xb9\x57\x04\xdf\xcc\x77\xd2\xf0\x68\xe5\x19\x99\xe0\x0b\x09\x92\x67\xb2\xf0\xd1\x68\xb6\x28\x38\x49\xbe\x95\xd2\x81\x88\x57\x90\xa7\x4a\xd1\x89\x34\x3b\x40\x70\x15\x09\x89\x0a\x2c\x39\x53\x5b\x41\x80\xba\x00\xdb\x99\x90\x9a\xc9\x1e\x50\x10\x24\x4d\x69\x1c\x41\x41\x95\x71\x92\xe1\x50\x6b\xc1\xd2\x68\x90\x0e\x8c\x56\xcf\x20\x50\x29\xf4\x60\xf6\xcf\x80\x1a\xb0\x38\x49\x0d\x5c\x5a\x53\x1f\x4b\x40\xa8\xea\xbd\x92\x02\x04\x56\xb8\x97\x4a\xf2\x73\x9e\x24\x6f\x36\x49\x22\x4f\x95\xb1\x0c\xab\x2e\x96\x10\xca\x2a\x49\x50\x08\x72\x2e\x45\xa5\xb2\x01\x78\x8c\xb0\x0b\xf0\xc1\xd8\x06\x6d\x41\x16\x5e\x92\x04\x00\x60\xb3\x81\x3f\xce\xa4\x19\xb8\x44\xf6\xc8\xe8\x24\x99\xa9\x80\xa6\x24\x0d\xec\x4d\x3b\x40\xdb\x47\x41\x05\xb0\x01\x2e\x09\x18\xed\x91\xb8\x8f\x3b\x58\x1b\x43\xa0\x60\x36\xfa\xff\xd4\x6a\xa7\x78\x32\xb5\xe6\x2d\x3c\x3d\xc8\x7f\x7f\xff\x6d\x3d\x58\x7d\x7a\xfa\xfc\x69\x0b\x4f\x9f\x35\xfb\xc7\x07\x6b\x4e\x5b\xf8\x50\x14\x96\x9c\xbb\x5f\x03\x9b\xe9\x6d\x2c\x9d\x25\x0b\xd7\x8a\x18\xbe\x92\x2e\xc8\x7e\x65\x63\xf1\x48\x8f\xc8\xe5\x16\x46\x97\xeb\x3a\xb3\x64\xdd\x54\xfe\x1f\xba\x8f\xa1\x78\xad\xea\x70\x5e\xba\xed\x7b\x68\x51\x99\x58\x9d\xd0\x87\xd2\xf9\x7a\x58\x0a\x89\x1f\x57\x22\x94\xa7\x91\x4a\xc1\x9e\xc0\x91\xe6\x7c\xaa\x4b\xc0\xcf\x15\x81\xd4\x85\x14\xc8\xe4\x62\x99\x43\xa5\x11\x2c\x1d\xc8\x92\x16\xe4\x6b\x8a\xd3\x52\xb6\x26\xfa\x63\xc4\xec\x48\x1d\x32\x38\xa3\xf5\xc2\xb2\x92\xe4\x8b\xf9\xb1\xef\xd0\xbb\xd7\x2f\x93\xae\xcc\xbb\x74\x5c\xde\x4d\x82\x8a\x21\x5c\x73\xb4\xd9\x78\x92\xb6\x44\x09\x60\x19\xbf\x93\x07\xfb\x17\xd6\x8a\xc1\xec\xff\x21\xc1\x80\x2e\x30\xc6\x1e\x6b\x4f\xca\x40\xc0\x43\x9b\x40\x37\xb6\x24\xb9\xeb\xd6\x1e\xee\xaf\x2e\x5a\xaa\x9d\xd4\xc7\xf0\xce\xb1\xb1\x54\x0c\xd9\xf8\x41\xfc\x1d\xaf\x32\xcf\xe6\x2e\x8c\xb4\x6d\xd7\xf7\xb3\xd8\x83\x9b\x4b\x06\x2f\xbd\x11\xff\x53\x23\xce\x7c\xa1\x03\xec\xc0\xe7\x34\xef\xf1\xe5\x7b\x63\xad\x69\xd2\xec\x55\xb2\xd0\xdb\xa3\x42\x5f\xad\x5d\x20\x48\x1e\xaf\x4b\xb9\xba\x96\x45\x27\xe4\xcf\x53\x89\x91\xf7\x7c\x1a\xc1\xdd\x5b\xff\x9f\x4d\xc5\xfd\x40\xb8\x45\xe3\x88\x60\xc1\x63\xef\xb4\x63\x71\x08\xcf\x34\x9a\xec\x7d\x8e\x2d\x87\x5b\x42\x8f\x71\x2c\xdf\xb7\x86\xc6\x32\xde\x68\xd6\x43\xbb\x0c\x28\xa5\x96\x9c\xfe\x6c\x3f\xce\xeb\x52\x59\x9a\x3d\x89\xb9\x9a\x95\x05\x5e\xed\x40\x4b\xb5\x85\xd5\x47\x53\xab\x02\xb4\x61\x68\xdf\x0d\x5b\x64\xe0\x95\x4f\x41\xe8\xb1\x01\xd3\x6a\xe2\xe4\x32\xb9\x4d\x5b\x01\x76\x83\xff\x64\xaa\x70\xe9\xa7\xb7\xb0\x84\x4c\x7f\x52\x33\x0c\x90\xf6\x91\xe7\x8c\xa6\x66\x34\x58\x06\x58\x8d\xe4\x32\xc0\xaa\xac\x39\xcb\x22\x34\xff\xd8\x51\x6c\xfc\xf1\xa0\xf2\xfd\xbe\xf4\xf5\xf3\x69\xdf\xc2\xfb\xf1\xa8\x1b\x12\xcd\xb5\xd5\x70\xf7\xb6\xf5\x01\x57\x3d\xf4\xc7\xac\x4b\xc2\xed\x79\xda\xce\xff\x91\x87\x79\x30\x8e\x74\x11\xdb\x3a\x80\x74\xe9\xdf\x10\xfb\xaf\x5f\x36\xeb\x38\x62\x7f\x44\xee\x05\xfb\x50\x08\xcf\x0e\xd8\xc1\x91\xf8\x43\x7b\x49\xa3\xe5\x6c\x29\x5e\x4d\x17\x07\xec\x3a\x03\x79\xbf\xf9\x25\xb9\xd8\x7f\x77\xaf\x6f\x2d\xf4\xbc\x3f\xbd\x4b\x17\x6d\xec\x7f\x37\x15\x6f\x6e\xae\x85\x99\x0c\xee\xef\xa1\x42\x2d\x45\xba\xec\xfe\xc9\x32\x89\x41\x75\x43\x99\xec\x6a\x16\xf9\x2c\xea\xc5\x20\x6a\xf3\x9e\x4d\x74\xae\x73\x20\xb0\xdf\x85\x6a\x2f\x36\xf5\x3a\xcc\xf6\x6b\x3b\x7c\x1d\x3f\xaf\xe6\x1b\x7a\x52\xd1\x40\xc7\xc5\x87\x44\x18\xd9\x9d\xbb\x99\xf0\xed\x2f\x08\xaf\x35\xfb\x84\xb8\xa5\x35\xa0\x81\xdd\x08\xe6\xcc\x55\xd7\x25\xd1\x6a\xee\xf0\x4c\x69\xcf\x9f\x16\x75\x9a\xb5\xa3\xf6\x7a\x20\xb1\x24\x97\xe4\xf2\x5f\x00\x00\x00\xff\xff\x07\xfa\xd7\x82\x1d\x0b\x00\x00"
 
 func utilityPrivatereceiverforwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -235,11 +235,11 @@ func utilityPrivatereceiverforwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/PrivateReceiverForwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x75, 0xda, 0x26, 0xaa, 0x7c, 0x3c, 0x41, 0x56, 0xc3, 0xad, 0x4, 0xa6, 0x74, 0xae, 0x7a, 0x12, 0xf0, 0x33, 0x31, 0x90, 0xcf, 0x95, 0x9a, 0xfc, 0xa2, 0x5a, 0xc1, 0x15, 0xaf, 0xb4, 0x91, 0xb7}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x2f, 0x24, 0x60, 0x5f, 0xf6, 0x4d, 0xaa, 0xa8, 0x62, 0x34, 0x83, 0x34, 0x3f, 0x32, 0xf5, 0x6d, 0x4a, 0x70, 0x8, 0x1, 0xf, 0x11, 0x51, 0x7e, 0x34, 0xeb, 0xab, 0xff, 0x6e, 0x9, 0xf}}
 	return a, nil
 }
 
-var _utilityTokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x5d\x6f\xe3\xb6\x12\x7d\xd7\xaf\x98\xcd\x05\x6e\xec\x45\x56\x7e\xb9\xb8\x0f\xc6\xe6\xee\xe7\x4d\xbb\x2f\x45\x91\x26\xed\x43\xb1\xe8\xd2\xd4\xc8\xe2\x9a\x26\x05\x72\x64\xad\x11\xf8\xbf\x17\x43\xea\xdb\x76\x9a\x2d\xd0\x02\x05\x36\x2f\x91\x64\x72\xe6\xcc\xcc\x99\x33\xa2\x16\xcf\x9f\x27\xc9\xbf\xe0\xa6\x32\x6b\xb5\xd2\x08\x77\x76\x83\x06\x6e\xac\xab\x85\xcb\x94\x59\xc3\x3b\x6b\xc8\x09\x49\x49\x72\x57\x28\x0f\xb2\xb9\x05\x5f\xd8\xda\x43\x61\x6b\x10\x06\x84\x94\xb6\x32\x04\xd2\x56\x3a\x03\x8f\x04\x55\x09\x02\x64\xe5\xc9\x6e\x3b\xe3\xd1\xf6\x2d\x4a\x54\x3b\x74\x09\x59\x10\x5a\xdb\x1a\xa8\xc0\x2d\x90\x85\x3c\x7a\x05\xe2\x75\x9e\x9f\x08\xc8\x54\x9e\xa3\x43\x43\x9d\x8f\xba\x40\x83\x3b\x74\xbc\x6d\x0f\x2e\x5a\x6b\xf6\xa4\x8c\x12\xf7\x20\x85\x81\xb2\x5a\x69\xe5\x0b\x20\x86\xdd\x04\x84\x0e\x1c\x7a\x5b\x39\x89\x20\x3c\x88\x0e\x0c\x48\x51\x8a\x95\xd2\x8a\xf6\xf0\xb9\xf2\x04\x5a\x6d\x10\x04\xfc\x2c\x2a\x4d\x57\x89\x30\x19\xbb\x03\x8f\x86\x6d\x64\x16\xbd\xb9\x24\xc0\x1d\x1a\x30\x88\x0c\x19\x36\xc6\xd6\xa0\x08\x94\xef\x41\xa7\x49\xf2\x4b\x81\x66\x98\xa2\x5a\x18\x0a\xb1\x49\x87\x82\xd8\x47\x87\xed\x2a\x86\x24\x85\xd6\xc1\x5b\x5c\xf1\x03\xd6\xdd\x8a\x24\xaf\x8c\x24\x65\xd9\x62\x06\xa5\xb3\x3b\x95\x21\x3b\xad\x15\x15\x61\x4f\x17\x90\xc3\x00\x41\x22\x50\x21\x28\x5a\x66\xdf\x83\x44\x27\x54\xa0\x72\x7d\xba\xd3\x24\x79\xbe\x48\x12\xb5\x2d\xad\xa3\x49\xd5\x72\x67\xb7\x70\x31\x7a\x76\x91\x24\x42\x4a\xf4\x7e\x26\xb4\x9e\xf7\xcc\x08\x3f\x0e\x18\xf4\x90\x24\x00\x00\x8b\x05\xfc\x7f\xc7\x85\x0c\x78\x94\x07\xdc\x2a\x22\xcc\x42\x41\x5b\x10\xc2\x21\x64\x58\x5a\xaf\x28\x66\x95\x63\x22\xe1\xd6\x48\x6d\xa9\x5d\xb0\x36\xf4\x8c\xc1\x6c\x9b\xa4\xec\x7d\xdc\x3f\x13\x5b\x4e\xf8\x12\xee\x6f\xd4\x97\xff\xfe\xe7\xaa\xb7\x7b\x7f\xff\xe1\xfd\x12\xee\x3f\x18\xe2\xc7\x1c\xd9\x12\xde\x64\x99\x43\xef\x5f\x5d\x01\xd9\xf1\xdd\x70\xf5\x3c\x39\x72\xde\xf1\x49\x19\x42\x97\x0b\x89\x7d\x41\x7f\x64\x0a\xca\x36\x01\x31\x09\x0b\xf8\x1e\x75\x89\x0e\xba\x52\x32\x17\x0a\x94\x1b\x4e\x04\x15\xe8\x42\xff\x7c\x72\x28\x55\xa9\xd0\xd0\xa7\x01\x37\x47\x76\x94\x07\x63\x09\xb4\x20\x0e\xdf\xba\xc8\x99\x9e\xc7\xa4\x62\x0a\x05\xd0\xbe\x44\x5e\xbe\x13\x5a\x65\x69\x67\x64\x18\x46\x5e\x99\x88\x62\x36\x5f\xc2\x5b\x6b\xf5\x18\xf3\x77\xc8\xa4\x2d\xb0\x2b\x02\x08\xef\xd5\xda\xb4\x1e\x3a\xb4\x03\x00\xe9\xc8\x42\x50\x0f\x86\x8c\xec\x54\xb8\x3d\xac\x50\x8a\xca\x63\xe0\xae\xad\x08\x14\x5d\x35\xfd\xc3\x61\x95\xd6\xfb\xa0\x48\x64\x41\x5b\xbb\x81\x2a\xb4\x1e\x63\x28\xac\xcd\x42\x03\x78\x44\x50\x39\x0b\xcd\xd9\x0c\xd9\x9c\x9b\x0f\xbf\x94\x28\x03\xa3\x38\x13\xd6\xb1\x87\x34\x42\x2a\x50\x97\x1e\xd6\x15\x0b\x8f\x58\x0b\x65\x3c\x81\x32\xb9\x32\x8a\x50\xef\x41\x16\x42\x71\x94\x53\x52\x5b\x07\x36\x14\x4b\x99\x90\x55\x18\x39\xde\x0a\xad\xa4\xb2\x95\x87\x8d\x32\x59\x40\x51\x95\x99\x20\xf4\x91\xfd\x51\x27\x4b\x17\x99\xab\x95\x27\x65\xd6\x3e\x36\xd9\x0a\xd9\xfe\x56\x64\x4d\xe7\x72\x4b\x44\x17\xd6\x80\x27\xeb\x30\x77\xd6\x90\x1f\xa5\x77\xe4\xfd\xb5\x43\xaa\x5c\x50\x1d\x5b\x32\xc5\x84\xee\xeb\x36\x20\x48\x6e\x1d\x77\xad\xaf\xb6\xe8\x02\x46\x4e\xee\x34\xd0\x96\x9d\x8b\x80\x81\x15\x8b\x29\x1b\x84\xc3\xd6\xe6\x2c\x97\xbc\xc8\xf1\xad\x75\xce\xd6\x4c\xa8\x7f\x3f\x8c\x94\x23\x6d\x55\xea\xf0\x2a\x18\x38\x3c\xd2\x56\x5d\x33\x2d\xe1\xb4\x8d\xab\xc7\xfb\xad\x23\x5e\x5d\xa0\xc3\x10\xe2\x50\x60\x82\xea\xd4\x4a\x6b\x58\x05\x79\xa7\x74\xbc\x17\x9b\xe6\x31\x99\x92\x7d\xfd\x22\x4d\xc5\x50\x64\x9b\x2e\xe8\x15\x2a\x9a\x98\x26\xc8\xa3\xce\xe7\xb0\x13\xae\x6f\x99\x25\xbc\xeb\xe9\x3b\xf4\xde\xe0\x3c\x65\x6d\xb1\xe0\x6c\x34\xfa\x11\xf4\x5d\x6c\xd0\xb7\x03\x0b\xec\xea\x33\x4a\x0a\x23\xce\x80\x70\xeb\x6a\x1b\x26\xa8\xc9\x5a\xe9\xf7\x43\x4b\x8a\x5a\xa5\xed\x30\x5d\xfa\xc6\x52\xe5\x03\x09\x78\xf6\x31\xf5\xb2\x3e\xe4\x47\x82\xec\x58\xd0\x44\x30\x8b\x1a\xfb\x7a\xc2\x82\xe0\xe1\x30\x87\x87\x6e\x3f\xff\xe9\x81\xd4\xdf\x62\x0e\xd7\xc0\x39\x4b\x3b\x68\xe9\x2a\xd0\xea\xe5\x59\x4e\xfd\x6f\x36\x7f\x96\x1c\x99\x5c\x09\x2d\xb8\x50\xd7\xa1\xcb\xd2\xe6\xf6\x78\x5d\x55\xa9\xac\x5d\xc4\xd7\xe3\x15\x03\x60\xe9\x38\xb8\x97\x2f\xf8\xff\x7c\xbc\x9c\x47\xdc\xf9\xc1\xd4\x60\x38\x9a\x4c\xec\xb6\x9d\x4b\x21\x76\x5b\x1b\x74\xaf\x52\x11\xa7\x52\x1c\x51\x43\x24\xc7\xbf\x47\x43\xc3\x35\x6c\x74\xde\x81\x3b\xfc\x13\x47\xd2\x84\x28\x8d\xca\x4d\xd8\x11\x76\x3c\x4a\x8e\x73\x49\xf8\x36\xe3\xbe\xcd\xb8\xbf\x64\xc6\x3d\x89\xb7\x4f\x50\xb5\xd3\xc4\xe5\xf2\x99\x35\xde\xf6\xec\x0c\xf7\x7e\x2c\xe8\x6d\xe8\x79\x77\x10\x6a\x24\xbf\x39\x44\x64\xfd\xd2\xa7\x08\xfb\xc4\xe7\xec\x37\x30\x58\xdf\x9e\x9a\x68\x53\x79\x2f\x1d\x4e\x9e\xf0\xdf\x70\xf7\x53\x52\x01\xcf\xae\xc1\x28\xbd\x84\x8b\x77\x81\x66\xdc\x4d\x71\xdb\xa9\x13\x50\xe0\x1c\x07\xdb\xc3\xba\x18\x41\x38\x8c\xee\xc6\x95\x81\xeb\x11\xba\x73\xea\xf1\x06\xd6\x48\x34\x12\x51\x66\x76\x2c\x76\x2c\x46\x78\xdb\x08\xed\xe9\xc1\x57\x25\x9f\xb2\x30\x83\xd5\x3e\x1e\x51\xdb\x37\x9e\xab\x91\xd9\xba\x50\xb2\x08\xe7\xd9\xd5\xf0\xc5\xa5\x1f\xcb\x97\xcd\xc3\xcb\xce\xf1\x1f\x37\xcd\x1b\xe7\xc4\x9e\x19\x71\x73\xd7\xc0\x89\x1d\x3b\xf1\x72\x5a\x96\x77\x0a\xeb\xc0\x81\x35\xd2\x4f\x6d\x14\x61\x94\xdf\xb1\x29\x6e\x85\x07\xbe\x8a\x9a\x7d\x98\x14\x5b\xe5\xf0\xec\xab\x15\xfb\x04\x61\x9a\x48\x1e\x0e\x8f\xd4\x91\xc7\xf9\x8e\x81\xfd\xf9\xd7\x88\xa9\x39\x3f\x0a\xd8\x4f\x42\xbd\x9e\xe2\x99\x2c\xff\xb5\x45\x93\xae\x31\x64\x6b\x36\xff\x08\xd7\x40\xae\xc2\x93\x0a\x31\xde\x7d\x8e\x79\xb7\x0d\xc5\xda\x59\x1d\xa5\x3f\x90\x63\xad\x76\x0d\xe3\xc2\xfb\xaa\x94\x58\x76\x94\xeb\xbf\x15\x4c\x78\x1c\x40\xf6\x8c\x88\xbb\x40\x98\x7d\x34\xe4\x8b\xd0\x71\xe1\x2b\x49\x03\x94\x03\x60\xa3\x19\xe6\xbc\xf7\x71\xda\x28\x7f\xcc\x9a\x19\x85\x2c\xf2\xe5\xe9\x59\x7f\x22\xf7\x6d\x45\xcf\xd1\x70\x4a\xbb\x91\x09\xde\x3c\xa9\x0d\x43\xf8\x78\x9e\x69\xdd\xf2\x31\xe1\x00\xb5\x47\x78\x68\x57\xe5\x82\x6f\x0f\xa7\x4a\xc5\xd3\x76\x76\xf2\xa5\xff\x69\x12\xf9\x55\xcc\xfd\x7b\xf5\xf1\x78\x74\x1c\x86\xe7\x3a\x9e\x51\x47\x9f\xb2\x9a\x47\x7c\x66\x31\x58\x8f\x3e\xd0\xb5\xb0\xba\x8f\x5a\x67\x66\x54\xa3\x6e\x47\xb3\xe9\xc8\xd7\x99\xb4\x2f\xe1\x75\xef\xb6\x4f\x78\x53\xca\x97\x2f\x9a\x2f\x74\x27\xcd\x74\x97\xf3\x26\xd2\x43\xf2\x7b\x00\x00\x00\xff\xff\xe7\x75\x18\x43\x4b\x15\x00\x00"
+var _utilityTokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x5d\x6f\xe3\xb6\x12\x7d\xd7\xaf\x98\xcd\x05\x6e\xec\x45\x56\x7e\xb9\xb8\x0f\xc6\xe6\xee\xe7\x4d\xbb\x2f\x45\x91\x26\xed\x43\xb1\xe8\xd2\xd4\xc8\xe2\x9a\x26\x05\x72\x64\xad\x11\xf8\xbf\x17\x43\xea\xdb\x76\x9a\x2d\xd0\x02\x05\x36\x2f\x91\x64\x72\xe6\xcc\xcc\x99\x33\xa2\x16\xcf\x9f\x27\xc9\xbf\xe0\xa6\x32\x6b\xb5\xd2\x08\x77\x76\x83\x06\x6e\xac\xab\x85\xcb\x94\x59\xc3\x3b\x6b\xc8\x09\x49\x49\x72\x57\x28\x0f\xb2\xb9\x05\x5f\xd8\xda\x43\x61\x6b\x10\x06\x84\x94\xb6\x32\x04\xd2\x56\x3a\x03\x8f\x04\x55\x09\x02\x64\xe5\xc9\x6e\x3b\xe3\xd1\xf6\x2d\x4a\x54\x3b\x74\x09\x59\x10\x5a\xdb\x1a\xa8\xc0\x2d\x90\x85\x3c\x7a\x05\xe2\x75\x9e\x9f\x08\xc8\x54\x9e\xa3\x43\x43\x9d\x8f\xba\x40\x83\x3b\x74\xbc\x6d\x0f\x2e\x5a\x6b\xf6\xa4\x8c\x12\xf7\x20\x85\x81\xb2\x5a\x69\xe5\x0b\x20\x86\xdd\x04\x84\x0e\x1c\x7a\x5b\x39\x89\x20\x3c\x88\x0e\x0c\x48\x51\x8a\x95\xd2\x8a\xf6\xf0\xb9\xf2\x04\x5a\x6d\x10\x04\xfc\x2c\x2a\x4d\x57\x89\x30\x19\xbb\x03\x8f\x86\x6d\x64\x16\xbd\xb9\x24\xc0\x1d\x1a\x30\x88\x0c\x19\x36\xc6\xd6\xa0\x08\x94\xef\x41\xa7\x49\xf2\x4b\x81\x66\x98\xa2\x5a\x18\x0a\xb1\x49\x87\x82\xd8\x47\x87\xed\x2a\x86\x24\x85\xd6\xc1\x5b\x5c\xf1\x03\xd6\xdd\x8a\x24\xaf\x8c\x24\x65\xd9\x62\x06\xa5\xb3\x3b\x95\x21\x3b\xad\x15\x15\x61\x4f\x17\x90\xc3\x00\x41\x22\x50\x21\x28\x5a\x66\xdf\x83\x44\x27\x54\xa0\x72\x7d\xba\xd3\x24\x79\xbe\x48\x12\xb5\x2d\xad\x23\xb8\x18\x95\xed\x22\x49\x84\x94\xe8\xfd\x4c\x68\x3d\xef\x69\x10\x7e\x1c\xd0\xe5\x21\x49\x00\x00\x16\x0b\xf8\xff\x8e\xab\x16\x9c\x2b\x0f\xb8\x55\x44\x98\x85\xea\xb5\x1e\x85\x43\xc8\xb0\xb4\x5e\x51\x4c\x21\x07\x40\xc2\xad\x91\xda\xba\xba\x60\x6d\xe8\x19\x83\xd9\x36\x23\xd9\xfb\xb8\x7f\x26\xb6\x9c\xdd\x25\xdc\xdf\xa8\x2f\xff\xfd\xcf\x55\x6f\xf7\xfe\xfe\xc3\xfb\x25\xdc\x7f\x30\xc4\x8f\x73\x67\xb7\x4b\x78\x93\x65\x0e\xbd\x7f\x75\x05\x64\xc7\x77\xc3\xd5\xf3\xe4\xc8\x79\x47\x1e\x65\x08\x5d\x2e\x24\xf6\xd5\xfb\x91\xf9\x26\xdb\x04\xc4\x24\x2c\xe0\x7b\xd4\x25\x3a\xe8\xea\xc6\x85\x2f\x50\x6e\x38\x11\x54\xa0\x0b\xcd\xf2\xc9\xa1\x54\xa5\x42\x43\x9f\x06\x44\x1c\xd9\x51\x1e\x8c\x25\xd0\x82\x38\x7c\xeb\x22\x41\x7a\xd2\x92\x8a\x29\x14\x40\xfb\x12\x79\xf9\x4e\x68\x95\xa5\x9d\x91\x61\x18\x79\x65\x22\x8a\xd9\x7c\x09\x6f\xad\xd5\x63\xcc\xdf\x21\x33\xb4\xc0\xae\x08\x20\xbc\x57\x6b\xd3\x7a\xe8\xd0\x0e\x00\xa4\x23\x0b\x41\x2a\x18\x32\xb2\x53\xe1\xf6\xb0\x42\x29\x2a\x8f\x81\xa8\xb6\x22\x50\x74\xd5\x34\x0b\x87\x55\x5a\xef\x83\xfc\x90\x05\x6d\xed\x06\xaa\xd0\x67\x8c\xa1\xb0\x36\x0b\x6c\xf7\x88\xa0\x72\x56\x95\xb3\x19\xb2\x39\x77\x1a\x7e\x29\x51\x06\x46\x71\x26\xac\x63\x0f\x69\x84\x54\xa0\x2e\x3d\xac\x2b\x56\x19\xb1\x16\xca\x78\x02\x65\x72\x65\x14\xa1\xde\x83\x2c\x84\xe2\x28\xa7\xa4\xb6\x0e\x6c\x28\x96\x32\x21\xab\x30\x72\xbc\x15\x5a\x49\x65\x2b\x0f\x1b\x65\xb2\x80\xa2\x2a\x33\x41\xe8\x23\xfb\xa3\x28\x96\x2e\x32\x57\x2b\x4f\xca\xac\x7d\xa0\x22\xac\x90\xed\x6f\x45\xd6\xb4\x29\xb7\x44\x74\x61\x0d\x78\xb2\x0e\x73\x67\x0d\xf9\x51\x7a\x47\xde\x5f\x3b\xa4\xca\x05\x89\xb1\x25\x53\x4c\xe8\xbe\x6e\x03\x82\xe4\xd6\x71\xd7\xfa\x6a\x8b\x2e\x60\xe4\xe4\x4e\x03\x6d\xd9\xb9\x08\x18\x58\x9e\x98\xb2\x41\x25\x6c\x6d\xce\x72\xc9\x8b\x1c\xdf\x5a\xe7\x6c\xcd\x84\xfa\xf7\xc3\x48\x39\xd2\x56\x92\x0e\xaf\x82\x81\xc3\x23\x6d\xd5\x35\xd3\x12\x4e\xdb\xb8\x7a\xbc\xdf\x3a\xe2\xd5\x05\x3a\x0c\x21\x0e\x05\x26\xa8\x4e\xad\xb4\x86\x55\xd0\x72\x4a\xc7\x7b\xb1\x69\x1e\x93\x29\xd9\xd7\x2f\xd2\x54\x0c\x15\xb5\xe9\x82\x5e\xa1\xa2\x89\x69\x82\x3c\xea\x7c\x0e\x3b\xe1\xfa\x96\x59\xc2\xbb\x9e\xbe\x43\xef\x0d\xce\x53\xd6\x16\x0b\xce\x46\xa3\x1f\x41\xcc\xc5\x06\x7d\x3b\x9d\xc0\xae\x3e\xa3\xa4\x30\xcf\x0c\x08\xb7\xae\xb6\x61\x5c\x9a\xac\xd5\x79\x3f\xb4\xa4\xa8\x55\xda\x0e\xd3\xa5\x6f\x2c\x55\x3e\x90\x80\x07\x1d\x53\x2f\xeb\x43\x7e\x24\xc8\x8e\x05\x4d\x04\xb3\xa8\xb1\xaf\x27\x2c\x08\x1e\x0e\x73\x78\xe8\xf6\xf3\x9f\x1e\x48\xfd\x2d\xe6\x70\x0d\x9c\xb3\xb4\x83\x96\xae\x02\xad\x5e\x9e\xe5\xd4\xff\x66\xf3\x67\xc9\x91\xc9\x95\xd0\x82\x0b\x75\x1d\xba\x2c\x6d\x6e\x8f\xd7\x55\x95\xca\xda\x45\x7c\x3d\x5e\x31\x00\x96\x8e\x83\x7b\xf9\x82\xff\xcf\xc7\xcb\x79\xc4\x9d\x1f\x4c\x0d\x86\xa3\xc9\xc4\x6e\xdb\xb9\x14\x62\xb7\xb5\x41\xf7\x2a\x15\x71\x2a\xc5\x11\x35\x44\x72\xfc\x7b\x34\x34\x5c\xc3\x46\xe7\x1d\xb8\xc3\x3f\x71\x24\x4d\x88\xd2\xa8\xdc\x84\x1d\x61\xc7\xa3\xe4\x38\x97\x84\x6f\x33\xee\xdb\x8c\xfb\x4b\x66\xdc\x93\x78\xfb\x04\x55\x3b\x4d\x5c\x2e\x9f\x59\xe3\x6d\xcf\xce\x70\xef\xc7\x82\xde\x86\x9e\x77\xa7\x9e\x46\xf2\x9b\x13\x43\xd6\x2f\x7d\x8a\xb0\x4f\x7c\xce\x7e\x03\x83\xf5\xed\xa9\x89\x36\x95\xf7\xd2\xe1\xe4\x09\xff\x0d\x77\x3f\x25\x15\xf0\xec\x1a\x8c\xd2\x4b\xb8\x78\x17\x68\xc6\xdd\x14\xb7\x9d\x3a\xee\x04\xce\x71\xb0\x3d\xac\x8b\x11\x84\xc3\xe8\x6e\x5c\x19\xb8\x1e\xa1\x3b\xa7\x1e\x6f\x60\x8d\x44\x23\x11\x65\x66\xc7\x62\xc7\x62\x84\xb7\x8d\xd0\x9e\x1e\x7c\x55\xf2\x91\x0a\x33\x58\xed\xe3\x79\xb4\x7d\xe3\xb9\x1a\x99\xad\x0b\x25\x8b\x70\x78\x5d\x0d\x5f\x5c\xfa\xb1\x7c\xd9\x3c\xbc\xec\x1c\xff\x71\xd3\xbc\x71\x4e\xec\x99\x11\x37\x77\x0d\x9c\xd8\xb1\x13\x2f\xa7\x65\x79\xa7\xb0\x0e\x1c\x58\x23\xfd\xd4\x46\x11\x46\xf9\x1d\x9b\xe2\x56\x78\xe0\xab\xa8\xd9\x87\x49\xb1\x55\x0e\xcf\xbe\x5a\xb1\x4f\x10\xa6\x89\xe4\xe1\xf0\x48\x1d\x79\x9c\xef\x18\xd8\x9f\x7f\x8d\x98\x9a\xf3\xa3\x80\xfd\x24\xd4\xeb\x29\x9e\xc9\xf2\x5f\x5b\x34\xe9\x1a\x43\xb6\x66\xf3\x8f\x70\x0d\xe4\x2a\x3c\xa9\x10\xe3\xdd\xe7\x98\x77\xdb\x50\xac\x9d\xd5\x51\xfa\x03\x39\xd6\x6a\xd7\x30\x2e\xbc\xaf\x4a\x89\x65\x47\xb9\xfe\xc3\xc0\x84\xc7\x01\x64\xcf\x88\xb8\x0b\x84\xd9\x47\x43\xbe\x08\x1d\x17\x3e\x89\x34\x40\x39\x00\x36\x9a\x61\xce\x7b\x1f\xa7\x8d\xf2\xc7\xac\x99\x51\xc8\x22\x5f\x9e\x9e\xf5\x27\x72\xdf\x56\xf4\x1c\x0d\xa7\xb4\x1b\x99\xe0\xcd\x93\xda\x30\x84\x8f\xe7\x99\xd6\x2d\x1f\x13\x0e\x50\x7b\x84\x87\x76\x55\x2e\xf8\xf6\x70\xaa\x54\x3c\x6d\x67\x27\x5f\xfa\x9f\x26\x91\x5f\xc5\xdc\xbf\x57\x1f\x8f\x47\xc7\x61\x78\xae\xe3\x19\x75\xf4\xdd\xaa\x79\xc4\x67\x16\x83\xf5\xe8\x6b\x5c\x0b\xab\xfb\x82\x75\x66\x46\x35\xea\x76\x34\x9b\x8e\x7c\x9d\x49\xfb\x12\x5e\xf7\x6e\xfb\x84\x37\xa5\x7c\xf9\xa2\xf9\x1c\x77\xd2\x4c\x77\x39\x6f\x22\x3d\x24\xbf\x07\x00\x00\xff\xff\xad\x3d\x5a\xf8\x38\x15\x00\x00"
 
 func utilityTokenforwardingCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -255,7 +255,7 @@ func utilityTokenforwardingCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/TokenForwarding.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0x2d, 0x34, 0x5a, 0x83, 0xfc, 0x22, 0x36, 0x30, 0x46, 0x57, 0x80, 0x88, 0x71, 0x1, 0xdc, 0x2d, 0xea, 0x86, 0x95, 0x8a, 0x19, 0x7, 0x42, 0x16, 0x1a, 0x43, 0xbc, 0xc8, 0xf6, 0x6e, 0x97}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x95, 0x8b, 0x89, 0x34, 0xc7, 0xf1, 0x11, 0xaa, 0xaf, 0x7, 0x5c, 0xfc, 0x47, 0x86, 0x50, 0xf3, 0x92, 0x1, 0x3e, 0x29, 0x95, 0xd4, 0xa8, 0xa5, 0x90, 0x78, 0x56, 0xe6, 0x88, 0x3d, 0xff}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 5fb66cc2..e061a4c0 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,44 +1,44 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// burn_tokens.cdc (1.718kB)
-// create_forwarder.cdc (3.03kB)
-// generic_transfer_with_address.cdc (2.102kB)
-// generic_transfer_with_paths.cdc (1.697kB)
-// metadata/setup_account_from_address.cdc (1.908kB)
-// metadata/setup_account_from_vault_reference.cdc (1.909kB)
-// mint_tokens.cdc (1.827kB)
-// privateForwarder/create_account_private_forwarder.cdc (2.025kB)
-// privateForwarder/create_private_forwarder.cdc (1.703kB)
+// burn_tokens.cdc (1.637kB)
+// create_forwarder.cdc (2.94kB)
+// generic_transfer_with_address.cdc (2.083kB)
+// generic_transfer_with_paths.cdc (1.678kB)
+// metadata/setup_account_from_address.cdc (1.857kB)
+// metadata/setup_account_from_vault_reference.cdc (1.84kB)
+// mint_tokens.cdc (1.758kB)
+// privateForwarder/create_account_private_forwarder.cdc (1.926kB)
+// privateForwarder/create_private_forwarder.cdc (1.604kB)
 // privateForwarder/deploy_forwarder_contract.cdc (418B)
-// privateForwarder/setup_and_create_forwarder.cdc (2.553kB)
-// privateForwarder/transfer_private_many_accounts.cdc (1.543kB)
-// safe_generic_transfer.cdc (1.888kB)
-// scripts/get_balance.cdc (724B)
-// scripts/get_supply.cdc (195B)
-// scripts/get_supported_vault_types.cdc (921B)
-// scripts/metadata/get_token_metadata.cdc (811B)
-// scripts/metadata/get_vault_data.cdc (875B)
-// scripts/metadata/get_vault_display.cdc (869B)
-// scripts/metadata/get_vault_supply_view.cdc (952B)
-// scripts/switchboard/check_receiver_by_type.cdc (570B)
-// scripts/switchboard/get_vault_types.cdc (698B)
-// scripts/switchboard/get_vault_types_and_address.cdc (676B)
-// scripts/test/example_token_vault_display_strict_equal.cdc (2.245kB)
+// privateForwarder/setup_and_create_forwarder.cdc (2.454kB)
+// privateForwarder/transfer_private_many_accounts.cdc (1.444kB)
+// safe_generic_transfer.cdc (1.869kB)
+// scripts/get_balance.cdc (655B)
+// scripts/get_supply.cdc (177B)
+// scripts/get_supported_vault_types.cdc (902B)
+// scripts/metadata/get_token_metadata.cdc (724B)
+// scripts/metadata/get_vault_data.cdc (788B)
+// scripts/metadata/get_vault_display.cdc (782B)
+// scripts/metadata/get_vault_supply_view.cdc (865B)
+// scripts/switchboard/check_receiver_by_type.cdc (522B)
+// scripts/switchboard/get_vault_types.cdc (649B)
+// scripts/switchboard/get_vault_types_and_address.cdc (627B)
+// scripts/test/example_token_vault_display_strict_equal.cdc (2.158kB)
 // scripts/tokenForwarder/is_recipient_valid.cdc (444B)
-// setup_account.cdc (1.717kB)
-// switchboard/add_vault_capability.cdc (4.346kB)
-// switchboard/add_vault_wrapper_capability.cdc (1.756kB)
-// switchboard/batch_add_vault_capabilities.cdc (1.607kB)
-// switchboard/batch_add_vault_wrapper_capabilities.cdc (1.884kB)
-// switchboard/remove_vault_capability.cdc (1.241kB)
-// switchboard/safe_transfer_tokens.cdc (2.226kB)
-// switchboard/safe_transfer_tokens_v2.cdc (2.173kB)
-// switchboard/setup_account.cdc (2.091kB)
-// switchboard/setup_royalty_account.cdc (5.795kB)
-// switchboard/setup_royalty_account_by_paths.cdc (5.866kB)
-// switchboard/transfer_tokens.cdc (1.753kB)
-// transfer_many_accounts.cdc (1.841kB)
-// transfer_tokens.cdc (1.872kB)
+// setup_account.cdc (1.63kB)
+// switchboard/add_vault_capability.cdc (4.247kB)
+// switchboard/add_vault_wrapper_capability.cdc (1.657kB)
+// switchboard/batch_add_vault_capabilities.cdc (1.527kB)
+// switchboard/batch_add_vault_wrapper_capabilities.cdc (1.804kB)
+// switchboard/remove_vault_capability.cdc (1.174kB)
+// switchboard/safe_transfer_tokens.cdc (2.127kB)
+// switchboard/safe_transfer_tokens_v2.cdc (2.074kB)
+// switchboard/setup_account.cdc (2.042kB)
+// switchboard/setup_royalty_account.cdc (5.716kB)
+// switchboard/setup_royalty_account_by_paths.cdc (5.787kB)
+// switchboard/transfer_tokens.cdc (1.684kB)
+// transfer_many_accounts.cdc (1.772kB)
+// transfer_tokens.cdc (1.803kB)
 
 package assets
 
@@ -108,7 +108,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _burn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x4f\x6f\x9b\x30\x14\xbf\xf3\x29\xde\x38\x74\x20\xad\xe4\x32\xed\x10\x25\xed\xda\xae\xbd\x4d\x9a\xd4\x2c\x3b\x3f\xe0\x11\xac\x81\x8d\xec\x47\x93\xaa\xeb\x77\x9f\x6c\x03\xc1\x4d\x53\x0e\x89\x6c\xde\xfb\xfd\x79\xfe\x19\xd1\x76\x4a\x33\x3c\xf4\x72\x27\xf2\x86\x36\xea\x2f\x49\xa8\xb4\x6a\x21\x0e\xf6\xe2\x68\xa8\xbc\x3f\x60\xdb\x85\x85\xf3\xad\xa9\x2e\xe8\xfe\x49\x8c\x25\x32\x6e\x05\xed\xcd\x7b\xf0\x41\xc1\x84\x71\xdb\x6b\x49\x7a\xa8\xf7\x8b\x38\x8a\x16\x8b\x05\x6c\x6a\x61\x80\x35\x4a\x83\x05\x0b\x25\x41\x18\x40\x60\x6a\xbb\x06\x99\xa0\x52\xda\x2e\x67\xef\xb9\x46\x86\x42\xf5\x4d\x09\x39\x41\x6f\xa8\x84\xfc\x19\xb8\x26\xc0\xb2\x15\x12\xb0\x28\x54\x2f\x19\x58\x41\xde\x6b\x09\x6c\x55\x0d\x52\xb9\x26\xa1\x1d\xad\x61\xa5\xa9\x84\x2d\xf6\x0d\xdb\x8d\x41\x0b\xb9\x1e\x21\x77\x80\xad\x43\xd9\x8f\x44\x08\x1d\x6a\x6c\x89\x49\x5b\x68\xcb\x37\x53\xe5\x20\x66\xeb\xc4\xb7\x2f\xe1\xf7\x83\x38\x7c\xfb\x9a\xc2\x4b\x14\x01\x00\x8c\x2c\xac\x18\x1b\x30\x7d\xd7\x35\xcf\xa0\xaa\x51\x64\x4e\x95\xd2\xe4\xc0\xad\x0e\xd7\xd2\x10\x0f\x85\xb7\xee\xed\x88\x79\x04\x74\x26\x40\x93\x51\xbd\x2e\xc8\x0f\xa8\x56\x4d\x69\xbc\x4a\x0f\xed\x76\x51\x13\xe4\x64\xed\x59\x78\x2a\x27\x02\xbb\x74\x30\x4b\xf8\x3e\x0f\x41\xe6\x07\xe4\xea\x3a\x4d\x1d\x6a\x4a\x8c\xd8\x49\xd2\x4b\xc0\x9e\xeb\xe4\x56\x69\xad\xf6\x5b\x6c\x7a\x4a\xe1\xe2\xc6\xcf\x7e\xb2\x6b\x1f\x43\x4d\x95\xcd\x0d\xc0\x3a\x88\x5e\xe6\x66\xf1\xe8\x0a\x8e\x5d\x56\xd4\x93\xe5\xfe\x81\x8c\x6f\x3b\xac\xd5\xe6\x89\xee\x94\x64\x8d\x05\xdb\xa8\x25\xa3\xfd\xcd\x73\x47\x4b\x90\xa2\xf9\x02\x4f\x82\xf6\x7e\x69\x7f\x57\xe7\x63\x9a\x3d\x6c\xb6\x23\xd7\x55\x92\xa6\x80\xe6\xd3\x07\xb1\x9f\x97\x5f\x4f\x8a\xed\x73\x7d\x0d\x1d\x4a\x51\x24\xf1\x9d\xcb\x8d\x54\x0c\xbb\xd1\x09\x58\x00\x27\xca\xa5\xda\x9e\x4d\x31\x38\x88\xd3\xa3\xf3\xc5\x02\xfe\x08\xae\x4b\x8d\xfb\xb7\xd9\x05\x3f\xfa\xcf\x66\x00\x14\xd2\xe5\x18\x77\x14\xcc\xcd\x0f\xc2\xa7\x62\x3d\xf4\x64\x43\x61\x96\xbb\x03\x5b\xb9\xc3\x0b\x2c\x66\x23\x6b\x0a\x17\xa7\x11\xb8\x4a\x02\xa3\xf6\xb1\xaa\x96\xc7\x43\x1a\x19\x7e\x21\xd7\x41\x6d\xfa\xee\x58\xbc\x0e\x40\xd0\x54\x91\x26\x69\x83\xab\x42\x93\xc1\x07\xca\xf1\xc4\x69\x18\xab\x29\xb6\xb0\xba\x9c\xdb\xce\xf6\x83\x97\xe9\x1e\xfa\x7f\x7f\xb2\xef\x25\xdc\x42\xbe\xfa\x43\xa0\x03\x15\x3d\xd3\x3c\xc3\xfe\x8b\xe5\xe8\x92\xd5\x65\x48\x3d\x1c\xdd\xd0\xdc\x29\xc3\xf0\x32\x35\x9e\x0b\x3a\xac\xd7\x90\x9c\xde\x8c\xcb\x51\xe7\x32\x98\x60\x3c\xde\xfc\x38\x2b\x94\x2c\x90\x4f\x5b\x33\x56\x8f\xac\x85\xdc\x25\x69\x1a\xf4\x8e\x1d\x31\xfc\x83\x9b\x8a\xed\xc5\x9d\x50\xce\xa9\x9b\x83\x9d\x47\xbb\x3f\x74\x54\x30\x95\x33\xc0\x8f\x2c\x9d\x82\xbe\x46\xaf\xd1\xff\x00\x00\x00\xff\xff\xc6\xcc\x49\x87\xb6\x06\x00\x00"
+var _burn_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xcd\x6e\x9b\x40\x10\xbe\xf3\x14\x53\x0e\x29\x48\x0d\xbe\x54\x3d\x58\x76\xd2\x24\x4d\x6e\x95\x2a\xc5\x75\xcf\x03\x0c\x66\x55\xd8\x45\xbb\x43\xec\x28\xcd\xbb\x57\xbb\xcb\x62\x88\xe3\xaa\x1c\x12\xb1\xcc\x7c\x3f\x33\xdf\x5a\xb4\x9d\xd2\x0c\xf1\x43\x2f\x77\x22\x6f\x68\xa3\x7e\x93\x8c\xa3\x70\x7c\x7f\xc0\xb6\x3b\x39\x9d\x15\x7f\x27\xc6\x12\x19\xb7\x82\xf6\xe6\x58\x73\xdb\x6b\x49\x3a\x8e\xa2\xc5\x62\x01\x9b\x5a\x18\x60\x8d\xd2\x60\xc1\x42\x49\x10\x06\x10\x98\xda\xae\x41\x26\xa8\x94\xb6\xaf\x93\xef\x5c\x23\x43\xa1\xfa\xa6\x84\x9c\xa0\x37\x54\x42\xfe\x0c\x5c\x13\x60\xd9\x0a\x09\x58\x14\xaa\x97\x0c\xac\x20\xef\xb5\x04\xb6\x4a\x0c\x54\x5a\xb5\xb6\x4a\x68\x47\x6b\x58\x69\x2a\x61\x8b\x7d\xc3\xf6\x60\xd0\x42\xae\x47\xc8\x1d\x60\xeb\x50\xf6\x81\x08\xa1\x43\x8d\x2d\x31\x69\x0b\x6d\xf9\x26\xaa\x1c\xc4\xe4\x3d\xf1\xed\x4b\xf8\xf9\x20\x0e\x5f\x3e\xa7\xf0\x12\x45\x00\x00\x81\x85\x15\x63\x03\xa6\xef\xba\xe6\x19\x54\x15\x44\xe6\x54\x29\x4d\x0e\xdc\xea\x70\x2d\x0d\xf1\x50\x78\xeb\xbe\x06\xcc\x23\xa0\x33\x01\x9a\x8c\xea\x75\x41\x7e\x40\xb5\x6a\x4a\xe3\x55\x7a\x68\x77\x8a\x9a\x20\x27\x6b\xcf\xc2\x53\x39\x12\xd8\x57\x07\xb3\x84\xaf\xd3\xc5\x66\x7e\x40\xae\xae\xd3\xd4\xa1\xa6\xc4\x88\x9d\x24\xbd\x04\xec\xb9\x4e\x6e\x95\xd6\x6a\xbf\xc5\xa6\xa7\x14\x2e\x6e\xfc\xec\x47\xbb\xf6\x31\xd4\x54\xd9\xd4\x00\xac\x61\x46\xe1\x66\xf1\xe8\x0a\x8e\x5d\x56\xd4\x93\xe5\xfe\x86\x8c\x6f\x3b\xac\xd5\xe6\x89\xee\x94\x64\x8d\x05\xdb\x78\x25\xc1\xfe\xe6\xb9\xa3\x25\x48\xd1\x7c\x82\x27\x41\x7b\xff\x6a\xff\xae\xce\x47\x33\x7b\xd8\x6c\x03\xd7\x55\x92\xa6\x80\xe6\x03\xfc\x5f\xf9\xf5\xa8\xd8\x3e\xd7\xd7\xd0\xa1\x14\x45\x12\xdf\xb9\xdc\x48\xc5\xb0\x0b\x4e\xc0\x02\x38\x51\x2e\xd5\x76\x37\xc5\xe0\x20\x4e\x8f\xce\x17\x0b\xf8\x25\xb8\x2e\x35\xee\xdf\x66\x17\xfc\xe8\x3f\x9a\x01\x50\x48\x97\x63\xdc\xd1\x6c\x6e\x7e\x10\x3e\x15\xeb\xa1\x27\x1b\x0a\xb3\xdc\x2d\x6c\xe5\x96\x37\xb3\x98\x05\xd6\x14\x2e\x4e\x23\x70\x95\xcc\x8c\xda\xc7\xaa\x5a\x1e\x97\x14\x18\x7e\x20\xd7\xb3\xda\xf4\xdd\xb1\x78\x1d\x80\xa0\xa9\x22\x4d\xd2\x06\x57\xcd\x4d\x4e\x55\x78\x9e\x38\x9d\xc7\x6a\x8c\x2d\xac\x2e\xa7\xb6\xb3\xfd\xe0\x65\xbc\x87\xfe\xbf\xdf\xec\x7b\x09\xb7\x90\xaf\x7e\x09\x74\xa0\xa2\x67\x9a\x66\xd8\xff\x62\x39\xba\x64\x75\x39\xa7\x1e\x56\x37\x34\x77\xca\x30\xbc\x8c\x8d\xe7\x82\x0e\xeb\x35\x24\xa7\x37\xe3\x32\xe8\x5c\xce\x26\x18\x87\x9b\x1f\x67\x85\x92\x05\xf2\x69\x6b\xc6\xea\x91\xb5\x90\xbb\x24\x4d\x67\xbd\xa1\x23\x86\x3f\x70\x53\xb1\xbd\xb8\x23\xca\x39\x75\x53\xb0\xf3\x68\xf7\x87\x8e\x0a\xa6\x72\x02\xf8\x2f\x4b\xa7\xa0\xaf\xd1\x6b\xf4\x37\x00\x00\xff\xff\x87\x35\xe9\x7a\x65\x06\x00\x00"
 
 func burn_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -124,11 +124,11 @@ func burn_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "burn_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf0, 0x1d, 0x1d, 0x8c, 0x4, 0x1f, 0xef, 0x3e, 0x70, 0x68, 0xcb, 0x78, 0xd1, 0x5, 0x2a, 0x92, 0xc2, 0xfc, 0x2c, 0xa1, 0x9e, 0x59, 0xb, 0xc1, 0x13, 0xa8, 0x45, 0x6e, 0x12, 0x72, 0xfc, 0x70}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcd, 0x3a, 0x71, 0x8e, 0xc0, 0xcf, 0x7, 0x23, 0xb1, 0x43, 0xfd, 0x39, 0xec, 0xdf, 0x21, 0xe7, 0x92, 0x6d, 0xba, 0x52, 0x22, 0x80, 0x25, 0xdb, 0x62, 0xe9, 0xeb, 0x93, 0x24, 0x5, 0xda, 0xad}}
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4d\x6f\x1b\x37\x10\xbd\xf3\x57\x4c\x75\x70\x25\x43\x5e\xa1\x5f\x17\xc1\x8e\x91\x28\x75\x11\xa0\x2d\x82\xd8\xf1\xb5\x19\x71\x47\x5a\x36\x14\xb9\x20\x67\xb5\x11\x02\xff\xf7\x82\xe4\x2e\xb5\x2b\x7f\x34\xbd\x54\x07\xc3\xbb\x1c\xce\xbc\x79\xef\xcd\xec\xe2\xfc\x5c\x88\xbb\x4a\x79\x60\x87\xc6\xa3\x64\x65\x0d\x28\x0f\x08\x4c\xbb\x5a\x23\x13\x6c\xac\x0b\x8f\x83\x73\xae\x90\x41\xda\x46\x97\xb0\x26\x68\x3c\x95\x82\x2d\x78\x62\x68\x6a\x40\x03\x28\xa5\x6d\x0c\x03\xdb\x70\xb9\x45\x57\x42\x49\xb5\xf5\x8a\xa9\x04\xb6\x9f\xc9\xf8\x70\x86\xc6\x72\x45\x0e\x1c\x49\x52\x7b\x72\x85\x10\xef\x36\x80\xe6\x60\x0d\x81\x27\x53\xfa\x61\x70\xa8\xe3\xbe\xf7\x70\x93\x32\x92\x83\x0f\xdd\xbd\xb9\xe0\x8a\xf2\x13\xb4\x4a\x6b\xf8\xbb\xf1\x9c\x8b\x73\x65\x3d\x0d\x72\x85\xf0\x7b\x6c\x34\xa7\x4e\x2a\xf4\xb0\x26\x32\x22\x74\x80\x3e\x1e\x3b\x92\xaa\x56\x64\x18\xd0\x94\x40\x3b\x15\xfe\x01\xda\x87\x37\xf1\x92\x32\xa5\x92\xc8\xe4\x45\x5b\x29\x59\x45\x74\x7d\xc1\xd0\x65\xd5\x17\x2c\x3a\x82\x5b\x3c\xcc\x41\x85\xfe\xc0\x6e\x36\x17\xb2\x42\x65\xc0\x93\xdb\x2b\x49\xd0\xa2\xe1\x08\x6d\x67\x8d\x62\xeb\xa0\xad\x6c\x90\xa1\x4b\xa8\xcc\x56\x1c\xe1\x2b\x9e\x83\x62\x90\x68\xa0\x45\x96\x55\x82\x15\x8f\x3c\x11\xb4\x15\x39\x1a\x00\x00\x89\x3b\x82\x8d\xb3\xbb\x42\x88\x5b\xa6\xba\x8b\x4c\x6a\x25\xa9\x3c\xb4\x8a\xab\x74\x21\x77\xe1\x96\x42\xfc\x50\xc0\x5d\x45\x70\xd3\x98\xad\x5a\x6b\x82\xbb\x18\x21\xad\x61\x87\x32\xb0\xc0\xe4\x36\x28\x09\x7c\x15\xfd\x80\xda\x11\x96\x87\xe0\x8b\x92\x6a\x6d\x0f\x54\x82\xb7\x3b\x8a\xa0\xc4\x8f\x29\x1b\xd6\xb5\x56\x12\x43\x3e\x1e\xe7\xeb\xb2\x0c\x6e\x17\xe2\xa7\x74\x69\xa0\x48\x67\xaf\x2e\xb8\xc2\x3d\x01\x76\x82\x06\xb3\x72\xf4\x73\x4a\xec\x08\x99\x4a\x01\x00\x51\x48\xcf\xd6\x51\x09\xca\x80\x62\x1f\x9f\x70\x4b\xa9\x77\x84\xba\x59\x6b\xe5\x2b\x2a\xb3\x97\xc4\xcf\x05\xbc\x8d\x40\x22\x9f\x9f\x62\xf7\x37\x59\x93\x42\x96\xf2\xd3\x11\x7c\x74\x69\xa9\x36\x1b\x72\x03\x98\xe2\x97\x22\x78\x16\x10\x0c\xb5\xf0\x3a\xbd\x5c\xc2\x2a\x22\x8b\x69\xfb\x7e\x8c\x75\x3b\xd4\xfa\x30\x8f\x70\xb9\x22\x03\xae\x31\xa9\x72\x6a\xe4\xaf\x2c\x4d\x2a\x3d\x18\xca\x74\x69\x4b\xcc\xca\x6c\x61\x34\x10\x41\xfa\x51\xa1\x64\xe0\x13\xa3\x17\xe2\x7c\x21\x84\xda\xd5\xd6\x71\xd6\x3b\xc9\x1d\x13\x4c\x46\xef\x26\x7d\xe4\xaf\x5f\x70\x57\x8f\x03\x87\xaf\x72\xdc\x09\x75\x5d\xe8\xc9\xdb\xc9\x93\xf5\xff\x20\xc6\x12\x19\xef\x15\xb5\xfe\x29\x30\xa3\x80\x89\x10\x03\x5a\xa6\xfd\x72\x59\xc2\xeb\xb2\x74\xe4\xfd\x0c\xbe\x8a\xc8\x55\xed\xa8\x46\x47\x53\xaf\xb6\x26\x9c\x63\xc3\xd5\xf4\x8d\x75\xce\xb6\xf7\xa8\x1b\x9a\xc3\x3b\xef\x1b\xba\x4d\x26\x59\x61\x8d\x6b\xa5\x15\x1f\x56\x41\x6f\xab\x35\xb9\x39\xbc\x4f\x96\x39\x1e\xce\xe1\x16\xf7\xd4\xdd\xff\x68\xea\xd3\xf3\x19\x9c\x75\x16\xc8\x38\xc2\x4f\x13\xc3\x3e\x18\xf8\x2d\x32\xc2\xd5\x88\xd5\xc2\x91\xb7\x7a\x4f\xab\xce\x67\xa1\xcb\x69\x78\xd7\x38\x49\x77\x87\x9a\x96\x60\x94\x9e\xc3\x5e\x51\x9b\x1e\xc3\xdf\xcb\xe7\x19\x2a\x6e\xee\xee\xfb\x5a\xaf\xa6\xb3\x19\xa0\xff\xee\x05\xc6\x87\xe1\xd7\x19\x71\xf8\x5d\x5f\x43\x8d\x46\xc9\xe9\x64\x15\x27\xd1\x58\x0e\x0e\x4c\x9d\x40\x48\x10\x41\x75\x43\x49\x79\x52\x26\xb3\x98\xe6\x71\xf7\x1f\x68\x03\x57\x90\x04\x29\x64\x4f\x9a\x22\x5f\xac\xa3\x2e\x97\x67\x23\x62\x22\xac\x57\xd3\x4c\x5c\xb1\xeb\x70\xbf\x47\xae\x66\xff\x0a\x35\xe5\x84\x37\xa8\xd1\xc8\x30\x09\x71\x70\x25\x8d\x3e\x11\x93\xd9\x51\xa5\xc5\x02\x7e\x23\xee\xc7\x26\x0d\x57\x46\x79\xc8\x6d\xf6\x63\xb6\xa6\x68\xf4\xe3\x37\xc1\x8e\x3a\x3e\x2e\xb4\xab\xc0\x5a\x67\x8b\x6c\xd8\xd9\x98\x80\x2d\xf1\xe5\xd9\xd7\x91\x4a\x45\x3f\xe1\x0f\x43\x0e\xfa\xfb\xdf\xc6\xc1\xf6\xf9\x7e\x4e\x3a\x1f\x2c\xac\xbc\x85\xd2\x4e\x0d\xfb\x57\x71\xcf\xda\xe9\x92\x29\x6d\xbf\x90\x06\x1f\xb3\x47\xca\xc3\xe5\xc5\xe9\x8a\x28\xd2\xce\xfb\x93\xda\xfc\xc9\x9f\x66\xce\x96\x47\xfa\x8e\x4d\x76\xc6\xe9\xd6\x7a\x11\x80\x4d\x2f\x2f\x62\xfe\x39\xb0\x5d\xc2\xa2\x3b\x5a\xd0\xc0\x46\x39\xfb\xb8\xdf\x8f\x46\x2b\xf3\x39\x02\xa7\x2f\xca\xc7\xb5\x7a\x24\xe7\xb4\xe6\x48\xab\xa6\x9f\xfb\x67\x65\x19\x16\xfa\xbd\x2f\x63\xd2\xa8\xf4\x1b\xf2\x09\x49\x46\xbc\xc5\x2f\x5c\x6f\x81\x15\xd6\xcf\x4c\x4e\xcf\x86\x0a\xcb\xec\x25\x0b\x8d\xbc\x12\xb1\xbd\xc8\xd6\x28\xfc\x91\x06\x23\x08\x3d\x1b\xa7\x88\xe7\x80\xbc\x84\xff\xcc\x51\x86\x10\xb7\xaf\x7c\x91\x9f\x1c\xfb\xed\x04\x9d\xda\xf0\xa4\xdc\xff\xc7\xd4\x10\x7b\xa2\x6a\x11\xcf\xe5\x73\xf6\x0d\x59\x1f\xc4\x83\xf8\x27\x00\x00\xff\xff\xd7\x6d\x3e\x0e\xd6\x0b\x00\x00"
+var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x5f\x6f\xdb\x36\x10\x7f\xe7\xa7\xb8\xf9\x21\xb3\x03\x47\xc6\xfe\xbd\x18\x49\x83\xd6\x5d\x86\x02\xdb\x50\x34\x69\x5e\xd7\x33\x75\x36\xb9\xd2\xa4\x40\x9e\xac\x1a\x45\xbe\xfb\x40\x52\x92\x25\xa7\xc9\xb2\x97\xf9\x21\x88\x44\xf2\xee\xf7\x8f\xa7\xc5\xf9\xb9\x10\x77\x4a\x07\x60\x8f\x36\xa0\x64\xed\x2c\xe8\x00\x08\x4c\xbb\xca\x20\x13\x6c\x9c\x8f\x8f\x83\x75\x56\xc8\x20\x5d\x6d\x4a\x58\x13\xd4\x81\x4a\xc1\x0e\x02\x31\xd4\x15\xa0\x05\x94\xd2\xd5\x96\x81\x5d\x3c\xdc\xa0\x2f\xa1\xa4\xca\x05\xcd\x54\x02\xbb\xcf\x64\x43\x5c\x43\xeb\x58\x91\x07\x4f\x92\xf4\x9e\x7c\x21\xc4\xbb\x0d\xa0\x3d\x38\x4b\x10\xc8\x96\x61\xb8\x39\xf6\xf1\xdf\x07\xb8\xc9\x15\xc9\xc3\x87\xf6\xdc\x5c\xb0\xa2\xfe\x09\x1a\x6d\x0c\xfc\x5d\x07\xee\x9b\xb3\x72\x81\x06\xb5\xe2\xf6\x7b\xac\x0d\x67\x26\x0a\x03\xac\x89\xac\x88\x0c\x30\xa4\x65\x4f\x52\x57\x9a\x2c\x03\xda\x12\x68\xa7\xe3\x3f\x40\xfb\xf8\x26\x1d\xd2\xb6\xd4\x12\x99\x82\x68\x94\x96\x2a\xa1\xeb\x1a\x46\x96\xaa\x6b\x58\xb4\x02\x37\x78\x98\x83\x8e\xfc\xc0\x6d\x36\x17\x52\xa1\xb6\x10\xc8\xef\xb5\x24\x68\xd0\x72\x82\xb6\x73\x56\xb3\xf3\xd0\x28\x17\x6d\x68\x0b\x6a\xbb\x15\x47\xf8\x9a\xe7\xa0\x19\x24\x5a\x68\x90\xa5\xca\xb0\xd2\x52\x20\x82\x46\x91\xa7\x01\x00\x90\xb8\x23\xd8\x78\xb7\x2b\x84\xb8\x65\xaa\xda\x9d\xd9\xad\x6c\x55\x80\x46\xb3\xca\x07\x7a\x16\x7e\x29\xc4\x0f\x05\xdc\x29\x82\x9b\xda\x6e\xf5\xda\x10\xdc\xa5\x1d\xd2\x59\xf6\x28\xa3\x0a\x4c\x7e\x83\x92\x20\xa8\x94\x07\x34\x9e\xb0\x3c\xc4\x5c\x94\x54\x19\x77\xa0\x12\x82\xdb\x51\x02\x25\x7e\xcc\xd5\xb0\xaa\x8c\x96\x18\xeb\xf1\xb8\x5e\x5b\x65\x70\xba\x10\x3f\xe5\x43\x03\x47\xda\x78\xb5\x9b\x15\xee\x09\xb0\x35\x34\x86\x95\x53\x9e\x73\x61\x4f\xc8\x54\x0a\x00\x48\x46\x06\x76\x9e\x4a\xd0\x16\x34\x87\xf4\x84\x5b\xca\xdc\x11\xaa\x7a\x6d\x74\x50\x54\xf6\x59\x12\x3f\x17\xf0\x36\x01\x49\x7a\x7e\x4a\xec\x6f\x7a\x4f\x0a\x59\xca\x4f\x47\xf0\x29\xa5\xa5\xde\x6c\xc8\x0f\x60\x8a\x5f\x8a\x98\x59\x40\xb0\xd4\xc0\xeb\xfc\x72\x09\xab\x84\x2c\x95\xed\xf8\x58\xe7\x77\x68\xcc\x61\x9e\xe0\xb2\x22\x0b\xbe\xb6\xb9\x73\x26\xf2\x57\x6f\x4d\x6e\x3d\xb8\x94\xf9\xd0\x96\x98\xb5\xdd\xc2\xe8\x42\x44\xeb\x47\x8d\x72\x80\x4f\x82\x5e\x88\xf3\x85\x10\x7a\x57\x39\xcf\x30\xe9\x0c\x4f\x8c\x27\xfd\xeb\x5f\xbf\xe0\xae\x7a\xf4\xf6\x44\x96\xc9\xb7\xab\xfc\x41\x8c\x25\x32\xde\x6b\x6a\xc2\x44\x88\x01\xf8\x69\x37\x02\x96\xf0\xba\x2c\x3d\x85\x30\x83\xaf\x22\x31\xaa\x3c\x55\xe8\x69\x1a\xf4\xd6\xc6\x75\xac\x59\x4d\xdf\x38\xef\x5d\x73\x8f\xa6\xa6\x39\xbc\x0b\xa1\xa6\xdb\x6c\xe5\x0a\x2b\x5c\x6b\xa3\xf9\xb0\x8a\xae\x38\x63\xc8\xcf\xe1\x7d\x36\xf6\xb8\x38\x87\x5b\xdc\x53\x7b\xfe\xa3\xad\x4e\xd7\x67\x70\xd6\x1a\xd5\xe3\x88\x3f\x43\x0c\xfb\x18\xb3\xb7\xc8\x08\x57\x30\x54\xa3\xf0\x14\x9c\xd9\xd3\xaa\x4d\x43\x64\x39\x8d\xef\x6a\x2f\xe9\xee\x50\xd1\x12\xac\x36\x73\xd8\x6b\x6a\xf2\x63\xfc\x7b\xf9\xb4\x42\xc5\xcd\xdd\x7d\xd7\xeb\xd5\x74\x36\x03\x0c\xdf\xc1\xcb\xb6\x5f\xf7\x88\xe3\xef\xfa\x1a\x2a\xb4\x5a\x4e\x27\xab\x74\x5f\xac\xe3\x98\x93\xcc\x04\x62\x81\x04\xaa\xbd\x3a\xd4\xe7\x79\x32\x4b\x65\x1e\xb3\xff\x40\x1b\xb8\x82\x6c\x48\x21\x3b\xd1\x34\x85\x62\x9d\x7c\xb9\x3c\x1b\x09\x93\x60\xbd\x9a\xf6\xc2\x15\xbb\x16\xf7\x7b\x64\x35\xfb\x57\xa8\xb9\x26\xbc\x41\x83\x56\xc6\xbc\xa6\xeb\x25\x69\x34\xc8\x27\xb3\xa3\x4b\x8b\x05\xfc\x46\xdc\x85\x3b\x5f\x81\x1e\xe5\xa1\xa7\xd9\x5d\x86\x35\xc5\x0b\x33\x98\xdc\x6e\xc4\xf8\x38\x76\xae\xa2\x6a\x6d\x2c\xfa\xc0\xce\xc6\x02\x6c\x89\x2f\xcf\xbe\x8e\x5c\x2a\xba\x7b\xf8\x30\xd4\xa0\x3b\xff\x32\x0d\xb6\x4f\xf3\x39\x61\x3e\x18\x2b\xfd\xac\xc8\x93\x2f\x4e\x49\xcd\x9d\x6a\xa7\xa3\xa0\x74\xdd\xd8\x18\x7c\x72\x1e\x39\x0f\x97\x17\xf0\x68\x06\xa6\x8e\x7f\x52\xd3\x7f\x98\xa7\xbd\x66\xcb\xa3\x7c\x47\x92\x6d\x70\xda\xe1\x5b\x44\x60\xd3\xcb\x8b\x54\x7f\x0e\xec\x96\xb0\x68\x97\x16\x34\x88\x51\x5f\x7d\xcc\xf7\xa3\x35\xda\x7e\x4e\xc0\xe9\x8b\x0e\x69\xf8\x1d\xc5\x39\xed\x39\xf2\xaa\xee\xee\xfd\x93\xb6\x0c\x1b\xfd\xde\xb5\xb1\xf9\xaa\xb4\xf4\xbf\x65\xc9\x48\xb7\xf4\x1d\xea\x22\xb0\xc2\xea\x89\x9b\xd3\xa9\xa1\xe3\x30\x7b\x2e\x42\xa3\xac\x24\x6c\xcf\xaa\x35\xda\xfe\xc8\x83\x11\x84\x4e\x8d\x53\xc4\x73\x40\x5e\xc2\x7f\xd6\xa8\x87\x90\xa6\xaf\x7c\x56\x9f\x7e\xef\xcb\x05\x3a\x8d\xe1\x49\xbb\xff\x4f\xa9\x21\xf6\x2c\xd5\x22\xad\xcb\xa7\xe2\x1b\xab\x3e\x88\x07\xf1\x4f\x00\x00\x00\xff\xff\x5d\xea\x35\xcc\x7c\x0b\x00\x00"
 
 func create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -144,11 +144,11 @@ func create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd1, 0x5e, 0x90, 0xca, 0x6e, 0x60, 0x21, 0x70, 0xf6, 0x28, 0x92, 0x2d, 0xb4, 0x78, 0xe8, 0xdb, 0x53, 0x66, 0xbf, 0xb6, 0xef, 0x1c, 0x27, 0xb9, 0xce, 0xc6, 0x44, 0xe8, 0x98, 0x2f, 0x61, 0xad}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x30, 0x86, 0x62, 0x2f, 0x7c, 0xc2, 0xfc, 0xc7, 0xe3, 0xef, 0x15, 0xb0, 0x9e, 0x95, 0x95, 0x4f, 0x55, 0x6f, 0xc5, 0xc, 0x33, 0x95, 0xbd, 0x3f, 0x89, 0xd9, 0xc3, 0x85, 0x28, 0x1, 0xb4, 0xba}}
 	return a, nil
 }
 
-var _generic_transfer_with_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x6f\xdb\x46\x10\x3d\x5b\xbf\xe2\x59\x87\x84\x04\x1c\xfa\x52\xf4\x20\x38\x76\x5d\x17\xee\xa9\x45\x90\x2a\xee\x79\x44\x8e\xc4\x85\xa9\x5d\x62\x77\x28\xc5\x30\xf4\xdf\x8b\xfd\xe0\x46\x54\x6c\xd7\x3e\x58\xd2\x70\xe7\xcd\x9b\x37\x6f\x96\x6a\xdb\x1b\x2b\xb8\x1f\xf4\x46\xad\x3a\x5e\x9a\x47\xd6\x58\x5b\xb3\xc5\x7c\x12\x9b\xcf\x5e\x3a\xf9\x17\x0b\x35\x24\xf4\xa0\x78\xef\x5e\x4a\x9b\x1c\x98\xcf\x66\x97\x97\x97\xb8\x23\x8d\x9e\x9c\x83\xd2\x20\xfd\x84\xda\x68\xb1\x54\x0b\xa8\x69\x2c\x3b\x07\xd2\x0d\x34\x6d\x19\x62\x20\x96\xb4\x5b\xb3\x05\x41\x7e\x70\x93\x96\x24\xe7\x05\xd0\x65\xab\x1c\x3a\x16\x87\x27\x33\xa0\x6e\x8d\x71\x0c\x69\x39\x65\xf9\xe0\x9e\xb4\x78\x48\xc7\xba\xf1\x39\x21\xef\xf6\x98\x40\x4d\x1a\x2b\xf6\xd9\x8e\x35\x5a\xb6\x7c\x01\x67\xb0\xa7\x2e\x20\xbb\xd6\x0c\x5d\x83\xba\xe5\xfa\x11\x64\x37\xc3\x96\xb5\x60\x47\xdd\xc0\x2e\x80\x89\xc1\x96\x1e\x19\x6e\xb0\xb1\xb8\xd2\xc2\xba\xe1\x26\xb1\xe8\x49\x5a\x28\x17\xba\xe7\x06\x4a\x07\x1a\xa1\x45\xaa\x45\x19\x5d\xd0\xd6\x0c\x5a\x16\xf8\x76\xaf\xbe\xff\xfa\xcb\x05\xc4\x2c\x70\x1b\x65\xb9\xc8\x3c\x53\xe0\x85\x27\x7f\xd3\x96\x17\xf8\x47\xac\xd2\x9b\x12\xcf\xb3\x19\x00\x04\x75\x18\x0f\x34\x74\x02\xcb\xce\x0c\xb6\xe6\x28\x61\x6b\xba\xc6\xfd\x90\xc9\xc5\x28\x59\xc6\x8a\x95\xde\x64\xf5\x2d\x37\x01\xaa\x63\x81\xf0\xb6\x0f\x58\x0b\xfc\xf6\x3c\x19\x76\x15\xc2\x87\x5c\xf5\x7e\x19\x02\x7f\x90\x10\x9c\xd8\xa1\x0e\xf2\x6f\x58\x82\x10\xd1\x2f\x19\x76\x37\x1e\x5d\xbc\x61\xb1\xea\x08\x32\x96\xe9\x2d\xf7\x64\xb9\x70\x6a\xa3\xd9\x2e\x40\x83\xb4\xc5\xef\xc6\x5a\xb3\x7f\xf0\x83\x29\xf1\xe1\xb6\xae\xbd\xa8\x59\x8f\xc4\x2e\x1e\x02\xc1\xf2\x9a\x2d\xeb\x3a\xfa\xad\xe5\x48\x05\x4e\x8c\xe5\x06\x46\x87\x58\x1a\x19\x45\x2c\x90\x1c\x47\xfb\x61\xd5\xa9\xfa\x0b\x49\x9b\x0b\xf8\x96\xbc\xd6\xdd\x8e\xed\x57\x5e\xe3\xb3\xef\x3b\x31\x29\x4e\x06\x59\xe6\x2c\xff\x57\x8d\x4f\x5d\xb5\x0a\x14\xaf\x3e\x4c\x65\x3e\x5c\x17\x3a\xcc\xf9\x78\xea\x53\x8c\x9b\x1b\xf4\xa4\x55\x5d\xcc\xef\x82\x65\xb5\x11\xac\x5e\xed\x77\x9d\xd0\x93\x4b\x47\xd8\x79\x39\xd1\xeb\x9b\x4b\xa6\x99\xe4\x5b\x16\xab\x78\x17\xed\x7e\xbf\xf4\x53\x42\xce\x72\xdc\xad\xab\x3c\x58\x7c\x3e\x56\xa4\x4a\xdf\xef\x52\x35\x9f\x59\x8c\xee\x5c\x3e\xf5\xbc\x80\x56\xdd\x05\x76\x8a\xf7\xf1\xa7\xff\x7f\xf5\x3e\x6f\x5c\x17\x65\x09\x72\xe7\xef\xb4\xd2\xcd\xff\x8a\x97\xc8\x8e\x5d\xe6\x96\x3c\x3b\xac\x8d\x0d\x0f\x36\x6a\xc7\x3a\x97\x7c\x5b\xcd\x3f\x59\x5e\x1a\x45\xb4\xf1\x47\x37\xba\x2f\x88\x37\x31\x55\x88\x44\x47\xc5\xc3\x95\x3f\x4a\x1b\x1e\xdd\x12\x36\x60\xba\x97\xff\x2a\x69\x1b\x4b\xfb\x12\x27\x56\xaa\xbe\x58\xb3\x53\x0d\xdb\xc3\x75\xe1\xb7\x71\x71\x32\xb2\x11\xdb\x5b\xbb\x9c\x9d\x9d\x9d\xbd\x61\xac\x9f\x7a\x31\xfb\xd8\x4a\x50\xeb\xfc\xb8\xff\x50\x24\xdf\x23\xb8\xfa\x94\xbb\xaa\xf6\x89\x6a\xbe\x09\xe3\x67\xb4\x77\xba\x5a\xf8\x3b\xd7\x83\x30\x9e\x4f\xb6\xad\x56\xbd\xf2\x37\xf2\x64\xd7\xc4\x94\xa7\xc7\x58\xe5\xa5\xcc\x49\x55\x4d\x3d\xad\x54\xa7\x44\xf1\x6b\x8b\x57\x7d\x4d\xb9\x87\xeb\xe2\x44\xa7\x11\x35\x0a\xf5\xce\x55\xfc\x49\xb1\xcc\xe6\xa3\xc3\x58\xeb\xfc\xc4\x38\xcb\xf1\x85\x98\x6e\xec\xf4\x3e\x7c\xc5\x3a\x47\xc8\x01\x0d\xb9\xcd\xa7\x0c\x7a\xa4\x48\xd5\x70\x6f\x9c\x92\x64\x86\xab\x4f\xd3\x49\x8d\x53\x38\xfc\x17\x00\x00\xff\xff\xd0\xf0\xc1\x85\x36\x08\x00\x00"
+var _generic_transfer_with_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x6f\xdb\x46\x10\x3d\x5b\xbf\xe2\x59\x87\x84\x04\x1c\xfa\x52\xf4\x20\x38\x76\x5d\x17\xee\xa9\x45\x90\x2a\xee\x79\x44\x8e\xc4\x85\xa9\x5d\x62\x77\x28\xc5\x30\xf4\xdf\x8b\xfd\xe0\x56\x54\x6c\xc7\x3e\x58\xd2\x70\xe7\xcd\xcc\x7b\x6f\x96\x6a\xdb\x1b\x2b\x98\xdf\x0f\x7a\xa3\x56\x1d\x2f\xcd\x23\xeb\xf9\x2c\x85\x27\xd1\xbf\x58\xa8\x21\xa1\x07\xc5\x7b\x87\xb5\x35\xdb\x93\xb4\xc9\x81\xf9\x6c\x76\x79\x79\x89\x3b\xd2\xe8\xc9\x39\x28\x0d\xd2\x4f\xa8\x8d\x16\x4b\xb5\x80\x9a\xc6\xb2\x73\x20\xdd\x40\xd3\x96\x21\x06\x62\x49\xbb\x35\x5b\x10\xc4\x03\xc6\x22\xd2\x92\xe4\xbc\x00\xba\x6c\x95\x43\xc7\xe2\xf0\x64\x06\xd4\xad\x31\x8e\x21\x2d\xa7\x2c\x1f\xdc\x93\x16\x0f\xe9\x58\x37\x3e\x27\xe4\xdd\x1e\x37\x50\x93\xc6\x8a\x7d\xb6\x63\x8d\x96\x2d\x5f\xc0\x19\xec\xa9\x0b\xc8\xae\x35\x43\xd7\xa0\x6e\xb9\x7e\x04\xd9\xcd\xb0\x65\x2d\xd8\x51\x37\xb0\x0b\x60\x62\xb0\xa5\x47\x86\x1b\x6c\x2c\xae\xb4\xb0\x6e\xb8\x49\x5d\xf4\x24\x2d\x94\x0b\xd3\x73\x03\xa5\x43\x1b\x61\x44\xaa\x45\x19\x5d\xd0\xd6\x0c\x5a\x16\xf8\x76\xaf\xbe\xff\xfa\xcb\x05\xc4\x2c\x70\x1b\x69\xb9\xc8\x7d\xa6\xc0\x0b\x4f\xfe\xa6\x2d\x2f\xf0\x8f\x58\xa5\x37\x25\x9e\x67\x33\x00\x08\xec\x30\x1e\x68\xe8\x04\x96\x9d\x19\x6c\xcd\x91\xc2\xd6\x74\x8d\xfb\x9f\x26\x17\xa3\x64\x19\x2b\x56\x7a\x93\xd9\xb7\xdc\x04\xa8\x8e\x05\xc2\xdb\x3e\x60\x2d\xf0\xdb\xf3\x44\xec\x2a\x84\x0f\xb9\xea\xfd\x32\x04\xfe\x20\x21\x38\xb1\x43\x1d\xe8\xdf\xb0\x04\x22\xa2\x5f\x32\xec\x6e\x3c\xba\x78\xc3\x62\xd5\x11\x64\x2c\xd3\x5b\xee\xc9\x72\xe1\xd4\x46\xb3\x5d\x80\x06\x69\x8b\xdf\x8d\xb5\x66\xff\xe0\x85\x29\xf1\xe1\xb6\xae\x3d\xa9\x99\x8f\xd4\x5d\x3c\x04\x82\xe5\x35\x5b\xd6\x75\xf4\x5b\xcb\xb1\x15\x38\x31\x96\x1b\x18\x1d\x62\x49\x32\x8a\x58\x20\x39\x8e\xf6\xc3\xaa\x53\xf5\x17\x92\x36\x17\xf0\x23\x79\xae\xbb\x1d\xdb\xaf\xbc\xc6\x67\x3f\x77\xea\xa4\x38\x11\xb2\xcc\x59\xfe\xaf\x1a\x9f\xba\x6a\x15\x5a\xbc\xfa\x30\xa5\xf9\x70\x5d\xe8\xa0\xf3\xb1\xea\x53\x8c\x9b\x1b\xf4\xa4\x55\x5d\xcc\xef\x82\x65\xb5\x11\xac\x5e\x9d\x77\x9d\xd0\x93\x4b\x47\xd8\x79\x39\xe1\xeb\x9b\x4b\xa6\x99\xe4\x5b\x16\xab\x78\x17\xed\x7e\xbf\xf4\x2a\x21\x67\x39\xee\xd6\x55\x16\x16\x9f\x8f\x19\xa9\xd2\xf7\xbb\x54\xcd\x67\x16\xa3\x3b\x97\x4f\x3d\x2f\xa0\x55\x77\x81\x9d\xe2\x7d\xfc\xe9\xff\x5f\xbd\xcf\x1b\xd7\x45\x59\x82\xdc\xf9\x3b\xad\x74\xf3\x53\xf2\x52\xb3\xe3\x94\x79\x24\xdf\x1d\xd6\xc6\x86\x07\x1b\xb5\x63\x9d\x4b\xbe\xcd\xe6\x9f\x2c\x2f\x49\x11\x6d\xfc\xd1\x8d\xee\x0b\xe4\x4d\x4c\x15\x22\xd1\x51\xf1\x70\xe5\x8f\xd2\x86\x47\xb7\x84\x0d\x98\xee\xe5\xbf\x4a\xda\xc6\xd2\xbe\xc4\x89\x95\xaa\x2f\xd6\xec\x54\xc3\xf6\x70\x5d\xf8\x6d\x5c\x9c\x48\x36\x62\x7b\x6b\x97\xb3\xb3\xb3\xb3\x37\x8c\xf5\xc3\x2c\x66\x1f\x47\x09\x6c\x9d\x1f\xcf\x1f\x8a\xe4\x7b\x04\x57\x9f\xf2\x54\xd5\x3e\xb5\x9a\x6f\xc2\xf8\x19\xed\x9d\xae\x16\xfe\xce\xf5\x20\x8c\xe7\x93\x6d\xab\x55\xaf\xfc\x8d\x3c\xd9\x35\x31\xe5\xe9\x31\x56\x79\x29\x73\x52\x55\x53\x4f\x2b\xd5\x29\x51\xfc\xda\xe2\x55\x5f\x53\xee\xe1\xba\x38\xe1\x69\x44\x8d\x44\xbd\x73\x15\x7f\x60\x2c\x77\xf3\xd1\x61\xac\x75\x7e\x62\x9c\xe5\xf8\x42\x4c\x37\x76\x7a\x1f\xbe\x62\x9d\x23\xe4\x80\x86\x3c\xe6\x53\x06\x3d\x62\xa4\x6a\xb8\x37\x4e\x49\x32\xc3\xd5\xa7\xa9\x52\xa3\x0a\x87\xff\x02\x00\x00\xff\xff\x2b\x19\x34\xc7\x23\x08\x00\x00"
 
 func generic_transfer_with_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -164,11 +164,11 @@ func generic_transfer_with_addressCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "generic_transfer_with_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x39, 0xf2, 0x2d, 0x74, 0x1d, 0xb7, 0x2, 0xb7, 0x10, 0x3a, 0xbe, 0x8f, 0xec, 0xee, 0xef, 0xf2, 0x14, 0x2b, 0x75, 0xd2, 0xfd, 0xd2, 0x20, 0x62, 0x0, 0xe2, 0xba, 0x4, 0xc, 0x1b, 0xec, 0xee}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x70, 0x6a, 0x10, 0xc2, 0x53, 0x67, 0xc4, 0x96, 0x67, 0x8, 0x8a, 0x2f, 0xec, 0xe2, 0x1e, 0xfb, 0x60, 0x5d, 0xb, 0xbb, 0xa1, 0xcb, 0x7, 0x78, 0xd9, 0x9, 0xf9, 0x12, 0x3b, 0x3b, 0xe}}
 	return a, nil
 }
 
-var _generic_transfer_with_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\xcf\x6f\xda\x30\x14\x3e\x97\xbf\xe2\x2b\x87\x36\x48\x34\x5c\xa6\x1d\x50\x7f\xac\xab\xd4\x69\xb7\xaa\xed\xba\xb3\x71\x5e\x88\xd7\x60\x47\x7e\x2f\x50\x54\xf1\xbf\x4f\x76\x42\x20\x94\x69\xda\xb8\x90\x18\xe7\x7b\xdf\xaf\x18\xb3\xa8\x9c\x17\xdc\xd7\x76\x6e\x66\x25\x3d\xbb\x57\xb2\xc8\xbd\x5b\x60\xd8\x5b\x1b\x0e\x06\x93\xc9\x04\x77\xca\xa2\x52\xcc\x30\x16\xca\xae\xc1\xe2\xbc\x9a\x13\x2a\x25\x05\x94\xcd\xe0\x49\x93\x59\x92\x6f\x56\x4c\x46\x56\x4c\x6e\xc8\xc3\x58\x16\x52\x19\x5c\x8e\x5f\x35\x0b\xa4\x20\x64\x94\xab\xba\x94\x34\x42\x3f\x17\x86\x51\x92\x30\xd6\xae\x86\x2e\x9c\x63\x8a\xbb\x24\x72\x0a\x8b\x2b\x65\x05\xe2\xc0\x64\x33\x28\xc6\x8a\xca\x32\x6e\xd1\xaa\x52\x33\x53\x1a\x59\x7f\xdc\x67\xc2\x65\x1c\x11\xc7\xdc\xda\x75\x8b\x18\x19\x6a\x65\x31\xa3\xa8\x89\x22\xa6\xb2\x50\x7e\x5e\x2f\xc8\x0a\x0a\xf2\x34\x06\x3b\xac\x54\x19\x99\x71\xe1\xea\x32\x8b\x38\xcd\x25\x74\x41\xfa\x75\xf7\xc4\x52\x95\x35\x71\x98\xbd\x50\xaf\x04\xae\x7d\xa3\xc1\x58\x21\x9b\x51\xb6\x3f\xda\xf0\x76\xac\xb1\x91\x9e\x78\x65\x59\x69\x31\xce\x26\x6a\xe1\x6a\x2b\x53\xfc\xb8\x37\x6f\x9f\x3f\x8d\x21\x6e\x8a\xdb\x2c\xf3\xc4\x3c\x8e\xba\xc8\x3f\x28\x29\xbe\x77\x06\x4f\xf1\x24\xde\xd8\xf9\xb8\x8b\xe0\xf8\xef\x23\xbc\x0f\x06\x00\x10\x2d\x27\xbc\x84\x04\xe0\x89\x5d\xed\x75\x20\xab\x04\x85\x2b\x33\xde\x79\xcf\xcd\xaa\xf2\x84\x19\x19\x3b\x47\x24\x9a\x93\xf7\x94\x45\xa8\x92\x04\x42\x8b\x2a\x62\x4d\xf1\xe5\xbd\x57\x9d\x34\x2e\x6f\x9a\xa9\x95\xa7\x4a\x79\x4a\xd8\xcc\x6d\x20\xa5\x6a\x29\x92\xaf\xce\x7b\xb7\x7a\x09\xde\x8d\x70\x76\xab\x75\xd0\xde\x11\xdd\x4e\x68\xbb\x16\x64\xe1\x0a\x4f\xbb\xbb\xc4\xec\xa9\x3c\xe6\xcd\xa8\xc3\x09\x9f\x9b\x1b\x54\xca\x1a\x9d\x0c\xef\x62\x84\xd6\x09\xb4\xb3\x2c\xbe\xd6\x02\xd5\xef\x74\x7c\x15\x82\x13\x95\x77\x4b\x13\x12\x3c\x2c\x36\x47\x5b\x87\xa3\x1d\xd9\xc9\x04\xdf\x28\x20\x79\xca\xc9\x93\x0d\xb6\xba\x08\xd2\xa8\x3e\xe7\x38\x83\x32\x2c\x83\x33\x3d\x91\x71\xe5\x91\x72\x5c\xb5\x9b\xd3\x96\x4e\x3a\x8b\x26\x5d\x46\xc3\xfa\xfe\xfe\x34\x52\x64\x5e\xad\x46\x38\x3b\x70\xfe\xa1\x21\xed\x37\xd7\x49\x10\x32\xdd\xf7\x70\x34\x38\x39\x39\x39\xe6\x45\x33\xe8\x23\x79\xb7\x6a\xb8\xc7\x38\x4f\xf7\x05\x33\x95\x79\xda\x15\x00\x97\x17\x9d\x8c\x74\xd5\x72\xeb\x0a\xdd\x7c\x37\x89\xb4\x9d\xa0\x37\xd2\xb5\x10\xde\x7b\x4e\x54\xf5\xac\x34\xba\x4d\xfb\xa1\xbb\xe9\x85\x7d\xbc\xea\xff\x16\x77\x33\xe7\xff\xd3\x0e\x5c\x3d\x69\x53\x99\x70\x00\x5c\x61\x4e\xd2\x36\x38\x11\x37\x3a\xdc\x16\xe9\x36\xf9\x76\x0f\xa5\xdd\xf1\x65\x88\xb7\x39\x1f\x46\xf9\xd8\x3e\xbb\xb9\x4e\x76\xce\xfc\x5d\xe9\x9f\xc2\xec\x86\x9f\x33\xb6\xd0\xa7\x07\x25\x7e\x6e\x5f\xf3\xed\x29\xd0\xb9\x73\xb4\xc6\x7b\xc8\xcd\x3f\xc0\xee\x50\xee\x40\xf7\x0c\x48\x33\xaa\x1c\x1b\x69\x8b\x79\x79\xd1\x2f\xd1\xb6\x20\x9b\xdf\x01\x00\x00\xff\xff\x25\xb7\x7d\xef\xa1\x06\x00\x00"
+var _generic_transfer_with_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x4b\x4f\xeb\x38\x14\x5e\xd3\x5f\xf1\xd1\x05\xa4\x52\x49\x37\xa3\x59\x54\x3c\x86\x41\x62\x34\x3b\x04\x0c\xb3\x76\xed\x93\xc6\x97\xd4\x8e\x7c\x4e\x5a\x2a\xd4\xff\x7e\x65\x27\x4d\x1f\xf4\xea\xea\x5e\x36\x24\xae\x7d\xbe\x67\x5d\xbb\xa8\x7d\x10\x0c\x1f\x1b\x37\xb7\xb3\x8a\x5e\xfd\x3b\xb9\xe1\x60\x30\x99\x4c\xf0\xa0\x1c\x6a\xc5\x0c\xeb\xa0\xdc\x1a\x2c\x3e\xa8\x39\xa1\x56\x52\x42\x39\x83\x40\x9a\xec\x92\x42\xbb\x62\x0d\x39\xb1\x85\xa5\x00\xeb\x58\x48\x19\xf8\x02\xdf\x1a\x16\x48\x49\x30\x54\xa8\xa6\x92\x3c\x8d\x7e\x2d\x2d\xa3\x22\x61\xac\x7d\x03\x5d\x7a\xcf\x94\x76\x49\xc4\x4f\x8b\x2b\xe5\x04\xe2\xc1\xe4\x0c\x14\x63\x45\x55\x95\xb6\x68\x55\xab\x99\xad\xac\xac\xbf\xee\xb3\xf1\x31\x41\x24\x98\x7b\xb7\xee\x26\x26\x86\x5a\x39\xcc\x28\x69\xa2\x34\x53\x39\xa8\x30\x6f\x16\xe4\x04\x25\x05\x1a\x83\x3d\x56\xaa\x4a\xcc\xb8\xf4\x4d\x65\xd2\x9c\xf6\x11\xba\x24\xfd\xbe\x3b\xb1\x54\x55\x43\x1c\xb1\x17\xea\x9d\xc0\x4d\x68\x35\x58\x27\xe4\x0c\x99\x7d\x68\xcb\x5b\x58\xeb\x12\x3d\x09\xca\xb1\xd2\x62\xbd\xcb\xd4\xc2\x37\x4e\xa6\xf8\xef\xd1\x7e\xfc\xf9\xc7\x18\xe2\xa7\xb8\x37\x26\x10\xf3\x38\xe9\xa2\xf0\xa4\xa4\xfc\xb7\x37\x78\x8a\x17\x09\xd6\xcd\xc7\x7d\x04\xa7\x3f\x1f\xe1\x73\x30\x00\x80\x64\x39\xe1\x2d\x26\x80\x40\xec\x9b\xa0\x23\x59\x25\x28\x7d\x65\x78\xe7\x3d\xb7\xab\x2a\x10\x66\x64\xdd\x1c\x89\x68\x41\x21\x90\x49\xa3\x2a\x12\x08\x2d\xea\x34\x6b\x8a\xbf\x3e\x0f\xaa\x93\xa7\xe5\x4d\x8b\x5a\x07\xaa\x55\xa0\x8c\xed\xdc\x45\x52\xaa\x91\x32\xfb\xdb\x87\xe0\x57\x6f\xd1\xbb\x11\x2e\xee\xb5\x8e\xda\x7b\xa2\x5b\x84\xae\x6b\x51\x16\x6e\xf0\xb2\x7b\xcb\xec\x9e\xca\x53\xde\x8c\xfa\x39\xf1\xef\xee\x0e\xb5\x72\x56\x67\xc3\x87\x14\xa1\xf3\x02\xed\x1d\x4b\x68\xb4\x40\x1d\x76\xba\x08\x7e\x91\x9c\xa8\x83\x5f\xda\x98\xe0\x71\xb1\x39\xd9\x3a\x1c\xed\xc8\x4e\x26\xf8\x87\xe2\xa4\x40\x05\x05\x72\xd1\x56\x9f\x86\xb4\xaa\x2f\x39\x61\x90\xc1\x32\x3a\x73\x20\x32\xad\x3c\x53\x81\x9b\x6e\x73\xde\xd1\xc9\x67\xc9\xa4\xeb\x64\xd8\xa1\xbf\xff\x5b\x29\x4d\x50\xab\x11\x2e\x8e\x9c\x7f\x6a\x49\x87\xcd\x6d\x16\x85\x4c\xf7\x3d\x1c\x0d\xce\xce\xce\x4e\x79\xd1\x02\x7d\x25\xef\x57\x2d\xf7\x14\xe7\xf9\xbe\x60\xa6\xaa\xc8\xfb\x02\xe0\xfa\xaa\x97\x91\xaf\x3a\x6e\x7d\xa1\xdb\xff\x6d\x22\x5d\x27\xe8\x83\x74\x23\x84\xcf\x03\x27\xea\x66\x56\x59\xdd\xa5\xfd\xd4\xbf\x1c\x84\x7d\xba\xea\xbf\x16\x77\x8b\xf3\xfb\x69\x47\xae\x81\xb4\xad\x6d\xbc\x00\x6e\x30\x27\xe9\x1a\x9c\x89\x1f\x1d\x6f\x4b\x74\xdb\x7c\xfb\x43\x79\x7f\x7d\x59\xe2\x6d\xce\xc7\x51\x3e\x77\x67\x37\xb7\xd9\xce\x99\x9f\x2b\xfd\x51\x98\x3d\xf8\x25\x63\x3b\xfa\xfc\xa8\xc4\xaf\xdd\xd7\x7c\x7b\x0b\xf4\xee\x9c\xac\xf1\xde\xe4\xf6\x17\x60\x77\x29\xf7\x43\xf7\x0c\xc8\x0d\xd5\x9e\xad\x74\xc5\xbc\xbe\x3a\x2c\xd1\xb6\x20\x9b\xef\x01\x00\x00\xff\xff\xa3\xb6\x2f\xc4\x8e\x06\x00\x00"
 
 func generic_transfer_with_pathsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -184,11 +184,11 @@ func generic_transfer_with_pathsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "generic_transfer_with_paths.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6a, 0xcb, 0x54, 0x6b, 0x40, 0x65, 0x79, 0x9c, 0xe2, 0x63, 0x61, 0x29, 0xb5, 0xe5, 0x8, 0xef, 0x33, 0xe6, 0x21, 0xf9, 0x11, 0xdc, 0x75, 0x77, 0x71, 0xaa, 0x2c, 0xb3, 0xd8, 0x46, 0xb7, 0xc}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x76, 0xb6, 0xe6, 0xe, 0x4f, 0x9f, 0xd0, 0x1, 0xaa, 0xaf, 0xa9, 0xcf, 0x67, 0x93, 0xb0, 0x92, 0x46, 0x35, 0xe5, 0xf0, 0xa6, 0xb6, 0x1, 0x1b, 0xa, 0x2a, 0x9c, 0x94, 0xcc, 0xac, 0x94, 0xd5}}
 	return a, nil
 }
 
-var _metadataSetup_account_from_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x54\x4d\x6f\xe3\x36\x14\xbc\xeb\x57\x4c\x7d\x58\xc8\x80\x57\xbe\x1b\x4e\x82\xad\xdb\xdc\x5a\x14\x59\x37\xf7\x67\xea\xc9\x22\x56\x26\x05\xf2\xc9\x6a\xb0\xf0\x7f\x2f\x48\x7d\x44\x4a\x9c\x04\xc8\xea\x60\xc8\x7c\x9f\x33\x9c\x91\x3e\xd5\xd6\x09\xee\x1b\x73\xd4\x87\x8a\xf7\xf6\x07\x1b\x14\xce\x9e\xb0\x98\x9d\x2d\x92\x6b\x99\x7f\xb1\x50\x4e\x42\x8f\x9a\x5b\x7f\xad\x6c\x96\xb0\x48\x92\xf5\x7a\x8d\x7d\xa9\x3d\xc4\x91\xf1\xa4\x44\x5b\x03\xed\xd1\x96\x24\x20\x03\x52\xca\x36\x46\xd0\xda\xa6\xca\xe1\x1a\x13\x2b\xc4\xc2\xb3\x40\x8b\xe7\xaa\x40\x53\x87\x83\x13\x19\x3a\x32\x8a\x7e\x1a\x24\x8c\xf3\x59\xd7\xbd\x68\x4c\x6c\x1d\xab\x1b\xcf\x1e\xe7\xb8\xa1\x58\xfc\x30\xb6\x45\x5b\xb2\xe3\xa1\x6d\xe8\x57\x32\xce\xd4\x54\x12\x0b\xb4\x81\x17\xeb\x42\x7b\x32\x79\x48\x53\x8e\x49\x38\xa6\xf1\xa9\x96\xa7\x2e\x39\x4b\x92\x09\x8c\x54\x59\x23\x8e\x94\x7c\xcb\x73\xc7\xde\x6f\xd0\xbf\xac\x30\x44\xfe\xa6\x13\x6f\xf0\x5d\x9c\x36\xc7\x25\x7e\x26\x09\x00\xd4\x8e\x6b\x72\x9c\x7a\x7d\x34\xec\x36\xa0\x46\xca\xf4\x3b\x9d\xf9\x91\xaa\x86\x57\xd8\x51\x4d\x07\x5d\x69\xd1\xec\x97\xf8\xf2\xad\x63\x28\x94\xa3\x7f\xd6\x6b\xfc\x6e\x9d\xb3\x2d\x08\x8e\x0b\x76\x6c\x54\x44\x37\xc2\x8a\x78\x38\x87\x35\xf1\xac\x26\xef\x39\x1f\xc9\x26\x99\x9e\xd6\xcd\xa1\xd2\xea\x1f\x92\x72\x1c\x50\xb1\xc0\xb1\xb7\xd5\x99\xdd\x03\x17\xb8\xc1\x91\xa5\x5f\xe4\x25\xec\xe5\x58\x15\x9e\x6c\x88\xfa\xec\x10\x57\xdc\x7e\xf9\x39\x13\xc8\xe5\x36\x35\x91\x95\x29\x47\xf3\x1e\x77\x77\xa8\xc9\x68\x95\x2e\x76\x51\x15\xc6\x0a\x0e\x6f\xe2\x9d\x0b\x62\x6c\xbb\x58\x26\x53\xbe\xfe\xf5\xe1\x36\x49\xe6\xf5\x8e\xc5\x69\x3e\x77\x17\x7d\xbf\x0f\xa2\xc5\x8c\x84\x42\x1e\x03\x9d\x7f\x90\x10\x6e\xa6\x94\x64\xfd\xfb\xae\x1f\x17\x4a\xd3\x70\xd6\x38\xc5\xfb\xa7\x9a\x37\x30\xba\x5a\x45\x19\x76\x7f\xc3\xef\xf6\x6d\xaf\x64\xf7\xfb\x71\xd4\x6d\xba\x5c\x82\xfc\x6f\xef\x78\x6f\x9a\x7e\xf7\x21\x7b\xfd\xb2\x03\xcc\x11\x52\xd8\x0e\x85\x75\x31\x70\xd4\x67\x36\xe3\xc8\xf7\xe9\xdc\x75\xfe\x20\x18\x6e\xa7\x0e\x41\xe3\xb5\x39\xc6\x76\x9d\x85\xfe\x0c\xb1\x38\x70\xf4\x28\xb4\xf1\x3a\x7f\xb5\xcc\x8c\x77\x7e\x2e\xdb\x7e\x9d\x5c\x42\xf6\xb2\x6b\x3a\xdf\x2b\xd8\x08\x5a\x06\x6d\xf4\x82\x1f\x33\x3a\xcb\x65\xbd\xd9\x33\x4f\x67\x4e\xb7\x5f\x9f\x87\xad\x20\x76\x33\xbd\xf4\x21\x35\xb8\xe3\x59\xa4\x57\x99\xe8\x6c\x04\x35\xb8\xf7\x69\x24\xb6\x63\xa6\x2d\xb5\x2a\xa1\x8d\xaa\x9a\x9c\x7d\x0c\x64\x0f\xbd\xa0\xa0\x8d\xb0\x2b\x48\xf1\x8c\x85\x58\xb8\xa3\x1a\x37\xc3\xe6\x6a\xf2\x6d\x18\x61\x68\xef\x1b\x7e\xe9\xb3\x2c\x62\xb8\xdc\xa6\x1f\xa2\xb9\xd6\x3a\x82\xf1\x65\x3a\x6c\xb0\x02\xc9\x9c\x98\x53\xaf\xc6\xae\xd7\xa7\x18\xe1\xff\x6a\x3b\xca\xc5\xb1\x62\xfd\x36\x15\x43\xf8\xb3\x6c\x3c\xf4\xf5\xbf\x4a\xc8\x64\x8f\xd7\x9c\x0c\xc1\x09\x27\x97\xe4\x92\xe0\xff\x00\x00\x00\xff\xff\x5a\xbb\x0e\x5f\x74\x07\x00\x00"
+var _metadataSetup_account_from_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x54\x4b\x6f\xdb\x3c\x10\xbc\xeb\x57\xec\xe7\x43\x20\x03\x8e\x7c\x37\x9c\x04\xf9\xdc\xe6\xd6\xa2\x48\xdc\xdc\xd7\xd4\xca\x22\x22\x93\x02\x77\x69\x35\x08\xfc\xdf\x0b\x52\x8f\x48\x79\x34\x45\xaa\x83\x21\x73\x9f\x33\x9c\x91\x3e\xd4\xd6\x09\xcc\x6e\xbc\xd9\xeb\x5d\x45\x5b\xfb\x40\x66\x96\xbc\x79\xfc\x8d\x04\x73\x14\xbc\xd7\xd4\xf0\x2c\x49\x96\xcb\x25\x6c\x4b\xcd\x20\x0e\x0d\xa3\x12\x6d\x0d\x68\x86\xa6\x44\x01\x34\x80\x4a\x59\x6f\x04\x1a\xeb\xab\x1c\x9c\x37\xb1\x42\x2c\x30\x09\x68\x61\xaa\x0a\xf0\x75\x38\x38\xa0\xc1\x3d\x41\xd1\x4d\x03\x09\xe3\x38\x6b\xbb\x17\xde\xc4\xd6\xb1\xda\x33\x31\x1c\xc3\x02\xa1\xee\xc1\xd8\x06\x9a\x92\x1c\xf5\x6d\x43\xbf\x92\xe0\x88\xbe\x92\x58\xa0\x0d\xb0\x58\x17\xda\xa3\xc9\x43\x9a\x72\x84\x42\x31\x8d\x0e\xb5\x3c\xb6\xc9\x59\x92\x8c\x60\xa4\xca\x1a\x71\xa8\xe4\x3a\xcf\x1d\x31\xaf\xa0\x7b\x59\x40\x1f\xf9\x8e\x07\x5a\xc1\x9d\x38\x6d\xf6\x73\x78\x4a\x12\x00\x80\xda\x51\x8d\x8e\x52\xd6\x7b\x43\x6e\x05\xe8\xa5\x4c\xef\xf0\x48\xf7\x58\x79\x5a\xc0\x06\x6b\xdc\xe9\x4a\x8b\x26\x9e\xc3\xd9\x75\xcb\x50\x28\x87\xee\x59\x2e\xe1\x7f\xeb\x9c\x6d\x00\xc1\x51\x41\x8e\x8c\x8a\xe8\x06\x58\x11\x0f\xe5\x60\x4d\x3c\xab\x91\x99\xf2\x81\x6c\x94\xf1\x69\xed\x77\x95\x56\x3f\x50\xca\x61\x40\x45\x02\x8e\xd8\x56\x47\x72\xb7\x54\xc0\x05\xec\x49\xba\x45\x5e\xc2\x9e\x0f\x55\xe1\xc9\xfa\x28\x67\xbb\xb8\xe2\xfa\xec\x69\x22\x90\xd3\x65\x6a\x22\x2b\x63\x8e\xa6\x3d\xae\xae\xa0\x46\xa3\x55\x3a\xdb\x44\x55\x18\x2b\xb0\x7b\x17\xef\x54\x10\x43\xdb\xd9\x3c\x19\xf3\xf5\x93\xc3\x6d\xa2\x4c\xeb\x1d\x89\xd3\x74\x6c\x2f\xfa\x66\x1b\x44\x0b\x13\x12\x0a\xb9\x0f\x74\x7e\x41\x41\xb8\x18\x53\x92\x75\xef\x9b\x6e\x5c\x28\x4d\xc3\x99\x77\x8a\xb6\x8f\x35\xad\xc0\xe8\x6a\x11\x65\xd8\xfe\x0d\xbf\xeb\xf7\xbd\x92\xdd\x6c\x87\x51\x97\xe9\x7c\x0e\xc8\xff\xc1\xdf\xa5\x5f\x7d\xc8\x5e\xb7\x6c\x0f\x73\x80\x14\xb6\x83\xc2\xba\x18\xd8\xeb\x23\x99\x61\xe4\x9f\xe9\xdc\xb4\xfe\x40\x30\xd4\x8c\x1d\x02\x9e\xb5\xd9\xc7\x76\xad\x85\xbe\x86\x58\x1c\x38\x78\x14\xb4\x61\x9d\xbf\x5a\x66\xc2\x3b\x3d\x97\xad\xcf\x47\x97\x90\xbd\xec\x9a\x4e\xf7\x0a\x36\x02\x2d\xbd\x36\x3a\xc1\x0f\x19\xad\xe5\xb2\xce\xec\x19\xe3\x91\xd2\xf5\xf9\xf3\xb0\x05\x88\x5d\x8d\x2f\xbd\x4f\x0d\xee\x78\x16\xe9\x9b\x4c\xb4\x36\x02\xd5\xbb\xf7\x71\x20\xb6\x65\xa6\x29\xb5\x2a\x41\x1b\x55\xf9\x9c\x38\x06\xb2\xdb\x4e\x50\xa0\x8d\x90\x2b\x50\xd1\x84\x85\x58\xb8\xc1\x1a\x2e\xfa\xcd\xd5\xe8\xdb\x30\xc0\xd0\xcc\x9e\x5e\xfa\x2c\x8b\x18\x4e\x97\xe9\x87\x68\xde\x6a\x1d\xc1\x70\x99\xf6\x1b\x2c\x00\x65\x4a\xcc\xa1\x53\x63\xdb\xeb\x53\x8c\xd0\xaf\xda\x0e\x72\x71\xa4\x48\xbf\x4f\x45\x1f\xfe\x2c\x1b\xb7\x5d\xfd\xbf\x12\x32\xda\xe3\x35\x27\x7d\x70\xc4\xc9\x29\x39\x25\xf0\x3b\x00\x00\xff\xff\xc6\x61\x97\x91\x41\x07\x00\x00"
 
 func metadataSetup_account_from_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -204,11 +204,11 @@ func metadataSetup_account_from_addressCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "metadata/setup_account_from_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x7e, 0x68, 0x5b, 0x80, 0xac, 0x50, 0xcc, 0x45, 0xdf, 0x8d, 0x62, 0x47, 0x8c, 0xc0, 0xfd, 0x1, 0x9f, 0x83, 0x8c, 0x89, 0xdc, 0xd7, 0x26, 0x35, 0x9b, 0x2e, 0x91, 0x15, 0xad, 0xdd, 0xa8}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x18, 0x2e, 0xb8, 0xe0, 0x29, 0x5b, 0x76, 0x7e, 0xc7, 0x7e, 0xf3, 0x51, 0xec, 0x7e, 0xad, 0x23, 0xad, 0x97, 0xd9, 0x0, 0xf4, 0x6, 0xd7, 0x49, 0x21, 0x3c, 0xc4, 0xce, 0xf6, 0x67, 0x5e, 0x4c}}
 	return a, nil
 }
 
-var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\xcd\x6e\xf3\x36\x10\xbc\xeb\x29\x06\x3e\xa4\x32\xe0\xc8\x77\xc3\x4e\x90\xba\x4d\x4f\x05\x82\xd4\xcd\x7d\x2d\xad\x2c\x22\x32\x29\x90\x2b\xab\x41\xe0\x77\x2f\x44\xfd\x98\x72\xdd\x2f\x40\x3e\x1d\x0c\x7a\xb9\xbb\x9c\x99\x9d\x55\xc7\xca\x58\xc1\x73\xad\x0f\x6a\x5f\xf2\xce\xbc\xb3\x46\x6e\xcd\x11\xb3\x49\x6c\x16\xdd\xca\xfc\x93\x85\x32\x12\x7a\x53\xdc\xb8\x5b\x65\x93\x84\xb1\x47\xfb\xef\x95\x9d\x29\x4f\x6c\xfb\xaa\x30\x34\x8b\xa2\xe5\x72\x89\x5d\xa1\x1c\xc4\x92\x76\x94\x8a\x32\x1a\xca\xa1\x29\x48\x40\x1a\x94\xa6\xa6\xd6\x82\xc6\xd4\x65\x06\x5b\x6b\x5f\x21\x06\x8e\x05\x4a\x1c\x97\x39\xea\xaa\x0d\x1c\x49\xd3\x81\x91\xf7\xa8\x20\x2d\x2c\x97\x74\xdd\xf3\x5a\xfb\xd6\xbe\xba\x76\xec\x70\xf2\x4c\xc4\xe0\x5d\x9b\x06\x4d\xc1\x96\x87\xb6\x6d\xbf\x82\x71\xa2\xba\x14\x5f\xa0\x34\x9c\x18\xdb\xb6\x27\x9d\xb5\x69\xa9\x65\x12\xf6\x69\x7c\xac\xe4\xa3\x4b\x4e\xa2\x28\xa0\x11\x53\x96\x59\x76\x6e\x85\xa7\xee\xb0\x40\x55\xef\x4b\x95\xbe\x90\x14\x2b\xbc\x8c\xe7\x39\x3e\xa3\x08\x00\x2a\xcb\x15\x59\x8e\x9d\x3a\x68\xb6\x2b\x50\x2d\x45\xfc\x17\x9d\xf8\x8d\xca\x9a\x17\xd8\x52\x45\x7b\x55\x2a\x51\xec\xe6\xb8\x7b\xea\xb4\x69\xcb\xd1\x7f\xcb\x25\x7e\x35\xd6\x9a\x06\x04\xcb\x39\x5b\xd6\xa9\xe7\x35\x12\xf2\x4c\x38\x83\xd1\x3e\x56\x91\x73\x9c\x8d\x32\x93\x84\xd1\x0b\xdc\xf1\x81\x92\x05\xb6\x1f\xdf\x2b\xe7\xd8\xe0\xc0\xd2\x03\x19\x08\xcf\xc7\xec\xf6\x4b\xd2\x00\x75\xb2\xf7\xe8\xd6\x77\x9f\xa1\x0f\x92\xe1\x70\x7e\x88\x2f\x6f\x4e\xdb\x3c\x3e\xa2\x22\xad\xd2\x78\xb6\xf5\x56\xd0\x46\xb0\xff\x82\x6a\x3b\xe3\x11\x2d\x66\xf3\x28\xd4\xe9\x6f\xd7\xce\x8f\x64\x5a\x6c\x59\xac\xe2\x53\x37\xda\xe7\x5d\x8b\x12\x13\xf2\xb9\xf8\xd8\xe6\x07\xfb\x91\x1c\x58\xba\xd2\xf8\x14\xb0\x5c\x85\xc2\x4d\xb1\xfc\xc1\x32\x3c\xd8\x02\xff\x8d\x84\x3a\xf0\x7e\x67\xfc\xcf\x05\xcf\x35\x9c\xb1\x62\xd3\x83\x4b\xc2\xe0\xa0\x1b\xe2\xd9\xae\xe0\x61\xfa\x9d\x3e\x99\xca\xf4\x2f\x02\x75\xac\x4a\x3e\xb2\x96\x40\xba\x6c\x80\x70\xa5\xda\xb6\x33\x3e\x41\x73\x13\x5a\x1f\xb5\x53\xfa\xe0\x1b\x74\xbb\xf1\x7b\x7b\xe7\x61\x8c\xcb\x07\xa5\x9d\xca\xf8\x9a\xe9\x84\x0f\x5f\xca\xd6\xf7\x01\x8f\xe4\xba\x6b\x3c\xc5\xd5\x6e\x09\x94\x0c\xf3\xef\xfd\x3c\x66\x74\x1b\x95\xf4\x5b\x9c\x38\x3a\x71\xbc\xbe\xbf\x3c\xb6\x80\x98\x55\x28\xe6\x90\x3a\x35\xe2\x4d\x25\x3a\xc7\x62\xb4\xf9\x07\x72\x63\x03\x29\x9b\x42\xa5\x05\x94\x4e\xcb\x3a\x63\xe7\x2f\x46\xc3\x43\x69\x61\x9b\x53\xca\x13\x15\x7c\xe1\x96\x2a\x6c\x06\xe4\x93\x25\x1a\x68\x28\xe7\x6a\x5e\xdf\x7d\x4e\xac\x98\x78\x0e\xe7\x87\xf8\x4b\x36\xb7\x5a\x7b\x32\xae\x88\x07\x04\x0b\x90\x4c\x85\x39\xf6\x56\xef\x7a\x7d\x4b\x11\xfe\xa7\x32\xa3\x5d\x2c\xa7\xac\xfe\x5f\x8a\xe1\xfa\xbb\x6a\xbc\xf6\xf5\x3f\x2b\x48\x80\xe3\xbf\x9a\x0c\x97\x81\x26\xe7\xe8\x1c\xe1\xdf\x00\x00\x00\xff\xff\x0c\xf6\xf8\x93\x75\x07\x00\x00"
+var _metadataSetup_account_from_vault_referenceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\xc1\x6e\xdb\x30\x0c\xbd\xfb\x2b\x88\x1c\x3a\x07\x48\x9d\x7b\x90\xb4\xe8\xb2\x75\xa7\x01\x45\x97\xf5\xce\xd8\x74\x2c\xd4\x91\x0c\x89\xb6\x57\x14\xf9\xf7\x41\x92\xe5\xc8\x59\x8b\x02\x9d\x0f\x81\x42\x91\xd4\x7b\x8f\x8f\xe2\xd8\x28\xcd\x30\xbb\x6f\xe5\x41\xec\x6b\xda\xa9\x67\x92\xb3\xe4\xcd\xf0\x4f\x62\x2c\x90\xf1\x49\x50\x6f\xce\x39\xf6\xef\x23\x19\x55\x77\xa4\x67\x49\xb2\x5c\x2e\x61\x57\x09\x03\xac\x51\x1a\xcc\x59\x28\x09\xc2\x40\x5f\x21\x03\x4a\xc0\x3c\x57\xad\x64\xe8\x55\x5b\x17\xa0\x5b\xe9\x2a\x58\x81\x21\x06\xc1\x86\xea\x12\xda\xc6\x06\x8e\x28\xf1\x40\x50\x0e\x18\x80\x2d\x08\x93\xf9\xee\x65\x2b\x5d\x6b\x57\xdd\x1a\x32\xd0\x59\x58\xb6\xee\x59\xaa\x1e\xfa\x8a\x34\x85\xb6\xb6\x5f\x45\xd0\x61\x5b\xb3\x2b\x10\x12\x0c\x2b\x6d\xdb\xa3\x2c\x6c\x5a\xae\x09\x99\x5c\x1a\x1d\x1b\x7e\xf1\xc9\x59\x92\x44\x34\x52\x2c\x0a\x4d\xc6\xac\xe0\xce\x1f\x16\xd0\xb4\xfb\x5a\xe4\x0f\xc8\xd5\x0a\x1e\xc6\xf3\x1c\x5e\x93\x04\x00\xa0\xd1\xd4\xa0\xa6\xd4\x88\x83\x24\xbd\x02\x6c\xb9\x4a\x7f\x61\x47\x4f\x58\xb7\xb4\x80\x2d\x36\xb8\x17\xb5\x60\x41\x66\x0e\x57\x77\x5e\x1b\x5b\x0e\xc3\xb7\x5c\xc2\x57\xa5\xb5\xea\x01\x41\x53\x49\x9a\x64\xee\x78\x8d\x84\x1c\x13\x2a\x40\x49\x17\x6b\xd0\x18\x2a\x46\x99\x91\xe3\xe8\x19\xee\xf8\x40\x4d\x0c\x7a\x18\xdf\x23\x95\xb0\x81\x03\xf1\x00\x24\x10\x9e\x8f\xd9\xf6\xcb\xf2\x08\x75\xb6\x77\xe8\xd6\x57\xaf\xb1\x0f\xb2\x70\x38\xdd\xa4\xe7\x37\xa7\x6d\x6e\x6f\xa1\x41\x29\xf2\x74\xb6\x75\x56\x90\x8a\x61\xff\x01\x55\x3b\xe3\x11\x2d\xcc\xe6\x49\xac\xd3\x6f\x63\xe7\x87\x3c\x2d\xd6\xc4\x5a\x50\xe7\x47\x7b\xbf\xb3\x28\x61\x42\xbe\x64\x17\xdb\xc0\xfb\x66\xcf\x0e\xc4\xbe\x34\xed\x22\x96\xab\x58\xb8\x29\x96\x1f\xc4\xe1\x41\x0b\xfc\x1b\x32\x7a\xf0\xa5\x56\x47\xff\x73\xc6\x73\x09\x67\xac\xd8\x0c\xe0\xb2\x38\x18\x74\x83\x74\xb6\xab\x28\x4c\xdf\xeb\x53\x88\x42\x7e\x61\x10\xc7\xa6\xa6\x23\x49\x8e\xa4\x2b\x02\x84\x0b\xd5\xb6\xde\xf8\x08\x92\xfa\xd8\xfa\xd0\x1a\x21\x0f\xae\x81\xdf\x8d\xef\xf6\xce\xc1\x18\x97\x0f\x84\x34\xa2\xa0\x4b\xa6\x13\x3e\x74\x2e\x5b\x5f\x47\x3c\xb2\xcb\xae\xe9\x14\x97\xdd\x12\x10\x1c\xe6\x3f\xf8\x79\xcc\xf0\x1b\x95\x0d\x5b\x9c\x19\xec\x28\x5d\x5f\x9f\x1f\x5b\x00\xab\x55\x2c\x66\x48\x9d\x1a\xf1\x4d\x25\xbc\x63\x61\xb4\xf9\x0b\x94\x4a\x47\x52\xf6\x95\xc8\x2b\x10\x32\xaf\xdb\x82\x8c\xbb\x18\x0d\x0f\x42\x32\xe9\x12\x73\x9a\xa8\xe0\x0a\xb7\xd8\xc0\x26\x20\x9f\x2c\x51\xa0\x21\x8c\x69\x69\x7d\xf5\x3a\xb1\x62\xe6\x38\x9c\x6e\xd2\x0f\xd9\xbc\xd5\xda\x91\x31\x55\x1a\x10\x2c\x00\x79\x2a\xcc\x71\xb0\xba\xef\xf5\x29\x45\xe8\x4f\xa3\x46\xbb\x68\xca\x49\xbc\x2f\x45\xb8\xfe\xac\x1a\x8f\x43\xfd\xff\x0a\x12\xe1\xf8\x57\x93\x70\x19\x69\x72\x4a\x4e\x09\xfc\x0d\x00\x00\xff\xff\xb9\xe0\xf8\xc0\x30\x07\x00\x00"
 
 func metadataSetup_account_from_vault_referenceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -224,11 +224,11 @@ func metadataSetup_account_from_vault_referenceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "metadata/setup_account_from_vault_reference.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x75, 0x50, 0xf5, 0xd5, 0x57, 0x5a, 0xa1, 0xb4, 0x46, 0xae, 0xe1, 0xfc, 0x2a, 0x15, 0x3, 0x58, 0xb6, 0x64, 0x95, 0xa3, 0x6e, 0x91, 0xc6, 0x84, 0xa0, 0xda, 0x3, 0x2a, 0xaa, 0x94, 0x36, 0xba}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf6, 0xf7, 0xf3, 0x7, 0x11, 0xf1, 0x3e, 0x5, 0x7, 0xcb, 0xee, 0xf9, 0x81, 0x4d, 0xb5, 0x12, 0x22, 0x58, 0x73, 0x23, 0x35, 0x9, 0xea, 0xb9, 0xb8, 0xaf, 0x71, 0x41, 0x9e, 0xd, 0x5, 0x70}}
 	return a, nil
 }
 
-var _mint_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x4b\x4f\xdb\x40\x10\xbe\xfb\x57\x4c\x7d\x40\xb6\x0a\xce\xa5\xea\x21\x4a\x40\x3c\xca\x0d\xa9\x82\x94\xfb\xd8\x1e\x27\xdb\xda\xbb\xd6\xec\x3a\x21\x42\xfc\xf7\x6a\x1f\x76\x6c\x48\xe2\x03\x28\xb3\x33\xdf\x37\xf3\xcd\x43\x34\xad\x62\x03\x8f\x9d\x5c\x8b\xbc\xa6\x95\xfa\x47\x12\x2a\x56\x0d\xc4\x13\x5b\x1c\x05\xcf\x5f\x6f\xd8\xb4\x53\xc7\xb1\x69\xf0\x9b\x44\x3f\x91\xc1\x12\x0d\xbe\x0a\xda\xe9\x63\xf0\x13\x87\x38\x8a\x66\xb3\x19\xac\x36\x42\x83\x61\x94\x1a\x0b\x23\x94\x04\xa1\x61\xb7\x41\x03\x66\x43\xd0\x08\x69\x88\xe1\xb6\x28\x54\x27\x0d\x74\x9a\x34\x18\xe5\xcc\x20\x69\x07\xc6\xa2\xea\x80\x43\x7b\x68\x59\x6d\x45\x49\x2e\x96\xa9\x10\xad\x20\x69\x00\xcb\x92\x49\x6b\x40\x59\x02\x36\x0e\x29\x80\x5c\x3a\x9b\xf5\x1e\x21\x21\x93\x4f\xa8\x22\x66\x2a\xad\xaf\xf5\x18\x50\x2a\x9b\x92\x8d\x16\x72\x1d\x45\xa3\xd4\x93\x81\x72\x0e\xb7\xde\xfb\x32\x10\xce\xe1\xcf\xa3\x78\xfb\xf9\x23\x85\xf7\x28\x02\x00\xb0\x44\xcf\x54\x11\x93\x2c\xa8\xa7\x08\x12\x83\x97\xfd\xc9\x17\xff\x4c\x5a\x75\x5c\x10\xa8\xfc\x2f\x15\xc6\x45\xd7\x64\x7c\xc6\xde\x67\x0e\x17\xe3\xee\x64\xde\x7a\x86\xa8\xef\x4a\x60\x7a\xa6\x82\xc4\x96\x18\x54\x35\x95\x6e\x4a\xd6\xbb\xcd\xe1\xe2\x7d\xd2\xd7\xac\x7f\xf9\x38\x70\xae\x9c\xa8\x06\x6b\xd0\x5d\xdb\xd6\x7b\x87\xed\x44\x86\x9c\x2a\xc5\xbe\x49\x79\xc7\x72\x20\xf1\x8e\x77\xee\xb5\x17\xcc\x03\xb6\x4c\x2d\x32\x25\x5a\xac\xa5\xe5\xc7\xce\x6c\x92\x3b\xc5\xac\x76\xaf\x58\x77\x94\xc2\x45\x98\x11\x2b\x30\x84\x4f\x53\x5d\x65\x63\x50\x58\x4e\x06\x3b\x73\xf9\xbd\x38\x87\x68\x88\x9a\xcd\xc0\x23\x03\x02\x7f\x16\x0e\xcb\x46\xc8\x71\x27\x06\x9e\x51\x3b\x60\x09\x3e\xd1\x4c\x1b\xc5\xb8\xa6\x2c\x77\x80\x8b\x63\x5d\xba\x4e\xec\xa2\xcc\xa7\x89\xdd\x5a\x9a\x17\x1f\xfc\x1b\xcd\x26\x1d\xb8\xec\x77\x73\x03\x2d\x4a\x51\x24\xf1\x8b\xa3\xb1\x2b\x23\x95\x39\xcc\xb1\x4f\x33\x4e\x0f\x45\x59\x79\xb7\xd8\xd5\xe6\x01\x0d\x7e\x96\x81\x49\xab\x7a\x4b\xf7\x4a\x1a\xc6\xc2\xd8\xed\x4c\x38\x4c\xdd\x6a\xdf\xd2\x1c\xa4\xa8\x2f\x61\x2b\x68\xe7\x7f\xda\xbf\x8b\xd3\x9b\x9d\x3d\xae\x5e\x7b\xae\xeb\x24\x4d\x01\xf5\xb7\x33\x97\x62\xec\x7e\x73\xa2\xd0\x7b\xd5\xd5\xa5\x2b\x72\xdd\x57\x02\x16\xc0\x25\x05\x95\x62\x57\x7c\x11\x2a\x88\xbd\x5e\x47\x1a\x34\x4c\xfa\xd2\x02\x85\x99\x39\xec\x6d\x9a\x15\xd8\x62\x2e\x6a\x61\x04\xe9\xa1\x6d\xa7\xa6\xfd\x3a\x19\x34\xcd\x38\x18\xcf\xb5\xeb\x50\x85\x47\x86\x3e\xe8\xeb\xa0\x39\x45\x42\x1d\x61\xab\xe8\x8d\x8a\xce\x50\x7f\x41\xc2\xac\xde\x33\xa1\xf1\x97\xb2\x3f\x62\xe3\xa6\xbb\x0b\x5a\x3a\x34\x58\x5c\x7d\x19\xd5\xcc\xbe\xbb\xaa\x74\xd2\x5f\x2a\xff\x3f\x9d\xb0\x3c\x50\xab\xb4\x70\x23\xd6\xf4\x29\xba\xe4\x69\x4b\x7c\x46\xe7\xac\xf4\x81\x61\xc8\x17\x57\xa3\x7c\x26\xc5\xb5\x4a\x9b\xd1\xea\x9e\x5a\x53\x58\x2e\x8f\xac\xf5\xf7\xe1\xca\xc6\x5f\xce\x4e\xd3\x69\x03\x39\x81\x90\x05\x13\x6a\x2a\x21\xdf\xfb\x55\x76\x21\x71\x48\xe2\xe3\x7f\x00\x00\x00\xff\xff\xf3\x77\x90\x72\x23\x07\x00\x00"
+var _mint_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xcd\x6e\xdb\x4c\x0c\xbc\xeb\x29\xf8\xe9\x10\x48\xf8\x12\xf9\x52\xf4\x60\xd8\x09\xf2\xd3\xdc\x02\x14\x89\x9b\x3b\x25\x51\xf6\xb6\xd2\xae\xc0\x5d\xd9\x31\x82\xbc\x7b\xb1\x3f\x92\xa5\x38\x36\xaa\x43\x02\xef\x92\x33\xc3\x21\xb9\xa2\x69\x15\x1b\x88\x1f\x3b\xb9\x16\x79\x4d\x2b\xf5\x87\x64\x1c\xf5\xc7\x3f\xde\xb0\x69\x8f\x4e\x27\xc1\x4f\x64\xb0\x44\x83\xaf\x82\x76\x3a\x8e\xa2\xd9\x6c\x06\xab\x8d\xd0\x60\x18\xa5\xc6\xc2\x08\x25\x41\x68\xd8\x6d\xd0\x80\xd9\x10\x34\x42\x1a\x62\xb8\x2d\x0a\xd5\x49\x03\x9d\x26\x0d\x46\xb9\x63\x90\xb4\x03\x63\x51\x75\xc0\xa1\x3d\xb4\xac\xb6\xa2\x24\x97\xcb\x54\x88\x56\x90\x34\x80\x65\xc9\xa4\x35\xa0\x2c\x01\x1b\x87\x14\x40\x2e\xdd\x99\x8d\x1e\x21\x21\x93\x17\x54\x11\x33\x95\x36\xd6\x46\x0c\x28\x95\x95\x64\xb3\x85\x5c\x47\xd1\x48\x7a\x32\x50\xce\xe1\xd6\x47\x5f\x06\xc2\x39\xfc\x7a\x14\x6f\xdf\xbf\xa5\xf0\x1e\x45\x00\x00\x96\xe8\x99\x2a\x62\x92\x05\xf5\x14\xc1\x42\x70\x66\xc1\x93\x2f\xfe\x99\xb4\xea\xb8\x20\x50\xf9\x6f\x2a\x8c\xcb\xae\xc9\x78\xc5\x3e\x66\x0e\x17\x63\xf7\x33\x7f\x7a\x86\xa8\xef\x4a\x60\x7a\xa6\x82\xc4\x96\x18\x54\x35\xb5\x6e\x4a\xd6\x87\xcd\xe1\xe2\x7d\xd2\xd7\xac\xbf\xf9\x38\x70\xae\x9c\xa9\x06\x6b\xd0\x5d\xdb\xd6\x7b\x87\xed\x4c\x86\x9c\x2a\xc5\xbe\x49\x79\xc7\x72\x20\xf1\x81\x77\xee\xb6\x37\xcc\x03\xb6\x4c\x2d\x32\x25\x5a\xac\xa5\xe5\xc7\xce\x6c\x92\x3b\xc5\xac\x76\xaf\x58\x77\x94\xc2\x45\x98\x11\x6b\x30\x84\x4f\x53\x5d\x65\x63\x50\x58\xc2\xc4\x27\xa7\xef\xc5\x05\x44\x43\xd6\x6c\x06\x1e\x19\x10\xf8\xb3\x71\x58\x36\x42\x8e\x3b\x31\xf0\x8c\xda\x01\x4b\xf0\x42\x33\x6d\x14\xe3\x9a\xb2\xdc\x01\x2e\xbe\xea\xd2\x75\x52\xb1\x6a\xe6\x53\x61\xb7\x96\xe6\xc5\x27\xff\x44\xb3\x49\x07\x2e\xfb\xdd\xdc\x40\x8b\x52\x14\x49\xfc\xe2\x68\xec\xca\x48\x65\x0e\x73\xec\x65\xc6\xe9\xa1\x28\x6b\xef\x16\xbb\xda\x3c\xa0\xc1\xcf\x36\x30\x69\x55\x6f\xe9\x5e\x49\xc3\x58\x18\xbb\x9d\x09\x87\xa9\x5b\xed\x5b\x9a\x83\x14\xf5\x25\x6c\x05\xed\xfc\x4f\xfb\x77\x71\x7a\xb3\xb3\xc7\xd5\x6b\xcf\x75\x9d\xa4\x29\xa0\xfe\x0f\xfe\x2d\xfc\xe6\x44\xa1\xf7\xaa\xab\x4b\x57\xe4\xba\xaf\x04\x2c\x80\x13\x05\x95\x62\x57\x7c\x11\x2a\x88\xbd\x5f\x5f\x34\x68\x98\xf4\xa5\x05\x0a\x33\x73\xd8\xdb\x34\x2b\xb0\xc5\x5c\xd4\xc2\x08\xd2\x43\xdb\x4e\x4d\xfb\x75\x32\x78\x9a\x71\x38\x3c\xd7\xae\x43\x15\x1e\x19\xfa\xa4\xe3\x41\x73\x8e\x84\x3a\xc2\x56\xd1\x1b\x15\x9d\xa1\xfe\x05\x09\xb3\x7a\xcf\x84\xc6\xbf\x94\xfd\x23\x36\x6e\xba\x7b\x41\x4b\x87\x06\x8b\xab\xa3\x51\xcd\xec\xbd\xab\x4a\x27\xfd\x4b\xe5\xff\xa7\x13\x96\x07\x6a\x95\x16\x6e\xc4\x9a\x5e\xa2\x13\x4f\x5b\xe2\x33\x3e\x67\xa5\x4f\x0c\x43\xbe\xb8\x1a\xe9\x99\x14\xd7\x2a\x6d\x46\xab\x7b\x6a\x4d\x61\xb9\xfc\x62\xad\xff\x1f\x5e\xd9\xf8\xe8\xd9\x69\x3a\x6d\x20\x27\x10\xb2\x60\x42\x4d\x25\xe4\x7b\xbf\xca\x2e\x25\x0e\x22\x3e\xfe\x06\x00\x00\xff\xff\x0d\x2e\x19\xab\xde\x06\x00\x00"
 
 func mint_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -244,11 +244,11 @@ func mint_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "mint_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4b, 0xf1, 0x4e, 0x1, 0x16, 0x2, 0x4c, 0xf9, 0x39, 0x6e, 0xb5, 0x5b, 0xcf, 0x75, 0x79, 0x75, 0x20, 0xc8, 0x14, 0x5d, 0x76, 0x81, 0xf4, 0x57, 0xc8, 0xe0, 0xbd, 0xe7, 0xaf, 0x8e, 0x3c, 0x5a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0x3d, 0x6c, 0x6f, 0x34, 0x31, 0xf6, 0x60, 0x31, 0xf, 0x89, 0x21, 0xb3, 0x7, 0xc0, 0x7d, 0x62, 0x7a, 0x5d, 0xa9, 0xc, 0xd3, 0xee, 0x4a, 0xcf, 0x22, 0x4b, 0x2a, 0xea, 0x2a, 0xa4, 0x84}}
 	return a, nil
 }
 
-var _privateforwarderCreate_account_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4d\x4f\xdb\x40\x10\xbd\xfb\x57\x4c\x73\xa0\xb6\x64\x92\x3b\x0a\xd0\x36\x25\x12\xaa\x8a\x50\x49\xb9\x4f\x9c\xc1\x5e\x75\xb3\x6b\xed\x8e\x6d\x22\x94\xff\x5e\xad\xbf\x97\x24\x14\xea\x03\x22\xe3\x99\x37\xef\xcd\xbc\xb1\xd8\xe6\xda\x30\x2c\x0b\x95\x8a\xb5\xa4\x95\xfe\x43\x0a\x9e\x8c\xde\xc2\xc4\x8b\x4d\x82\x36\xf3\xe6\x19\xb7\xb9\x9f\x38\x0e\xf5\x79\xf7\x46\x94\xc8\xf4\x8b\x12\x12\x25\x99\xa5\x36\x15\x9a\x0d\x99\xb6\xe6\xd4\xeb\xbe\xde\xeb\xfe\x93\x18\x37\xc8\xf8\x28\xa8\xb2\xc7\xe8\x79\x09\x93\x20\x98\xcd\x66\xb0\xca\x84\x05\x36\xa8\x2c\x26\x2c\xb4\x02\x61\xa1\xb0\xb4\x01\xd6\x90\x18\x42\x26\x40\x17\x30\x9f\x2d\x2c\xa5\xae\x00\x93\x44\x17\x8a\xa1\x12\x9c\x01\x42\xde\x50\x84\xa7\x8e\x5b\x10\x8c\xd1\x5e\x82\x00\x00\xc0\x75\xba\xa3\x0a\xbe\xb6\xc5\x9c\xa1\x43\x90\x12\x32\x2d\x37\xc0\xd9\x18\xc0\x15\x48\x62\x50\x54\xb5\xf9\x17\x80\x05\x67\xe1\x03\x6b\x83\x29\xc5\xb0\xd0\x8a\x0d\x26\x6c\x63\xf8\x41\x3b\x1b\xc3\xad\x5a\xeb\xe7\x18\x16\x98\xe3\x5a\x48\xc1\x82\x6c\x04\x67\x6d\x75\x43\x21\x37\x94\xa3\xa1\xd0\x8a\x54\x91\x69\x11\xbf\x69\x63\x74\xf5\x88\xb2\xa0\x21\x3f\x82\x97\xba\xc2\x3d\x96\xe4\xd3\x74\x20\x02\x97\x9d\x84\x30\xc7\x9d\x83\x69\xe0\xa2\xba\x60\xdf\x74\xa2\x67\x4a\x0a\xa6\x4e\x7b\x27\xa7\xc4\x42\xf2\x77\x64\x84\x4b\xcf\x1f\x53\x43\x56\xcb\x92\x3a\x51\x6e\x3b\xa1\x8b\x15\x26\xa1\xd5\x2e\xa7\x0b\x50\x42\xc6\x50\x0a\xaa\x9a\x9f\xee\xef\xfc\xf4\x66\xa7\xcb\xd5\x63\xd7\xeb\x2a\x8c\x22\x40\xfb\xe9\x0d\xa7\x8c\xd3\xaf\x7b\xc6\xee\xb9\xbe\x86\x1c\x95\x48\xc2\xc9\x42\x17\x72\x03\x4a\x33\xa4\x9d\x12\x70\x00\x35\x29\xb7\xba\x7a\x85\x49\xab\x60\x12\x0d\xca\x67\x33\x78\xc0\xd2\x99\xc8\x50\x5a\x48\x34\x6d\x35\xeb\xba\x44\x51\xef\xa8\x53\x33\x9f\xda\x66\xed\x53\x8b\x25\x85\xf3\x73\x6f\x76\x8d\x45\x6f\xb6\x39\xef\x6a\x11\x61\x8d\x3e\x1a\xd3\x17\x2f\xbd\xce\x71\x33\x89\x81\xf5\xc5\xb0\x92\xae\xc7\x3d\x72\xe6\x93\xbf\xb5\xb6\x70\xec\xbb\x1b\x1c\x3c\xb6\x03\x46\x93\x12\xb3\x50\x69\xad\xc5\x3b\xfa\xba\x93\xb7\x7f\xd3\x22\x8c\x00\x2e\x0f\xb4\x26\x23\x07\xf7\xc2\x85\xe3\x30\x3f\x7b\xf1\x76\x38\xed\x18\xed\xaf\x42\x6f\x6b\x47\x45\xf5\x19\xbe\xba\xdf\x96\x6a\xea\xdd\x15\x77\x1c\xbd\xeb\x3f\x3c\xf1\xb1\xac\x3e\x0a\xf3\xf3\x93\xdf\xb3\x76\x4f\x77\x54\xf5\xa1\xd0\x50\x22\x72\x41\xee\xba\x0f\x47\x73\xc4\x41\x63\x9e\x43\x53\xd6\xfd\x17\xa9\x95\xfb\x5e\x1f\xf5\x18\x8d\x17\x4e\x52\x7f\xf5\xe2\xe1\x5f\x4e\x19\x1b\xa4\x31\xf9\xf0\x59\xef\xce\xfa\xf8\x04\x17\x98\x7f\xd0\x12\x27\x49\xf7\xff\xbd\x32\x87\x7b\xfe\x43\xa9\x87\x11\x8d\x55\xdf\x17\x6b\x29\x6c\x56\xeb\xfc\x90\xf2\x37\x65\xe6\x0d\xaa\xcf\x7d\x3c\xa7\xd8\x7b\x83\xfc\xfe\xfd\xd5\x84\x93\x63\x37\xb1\x0f\xf6\x7f\x03\x00\x00\xff\xff\x21\x83\x93\xcd\xe9\x07\x00\x00"
+var _privateforwarderCreate_account_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4f\x4f\xdb\x4e\x10\xbd\xfb\x53\xcc\x2f\x07\x7e\x8e\x64\x92\x3b\x0a\xd0\x36\x25\x12\xaa\x8a\x50\x49\xb9\x4f\x9c\xc1\x5e\x75\xd9\xb5\x76\xc7\x36\x11\xca\x77\xaf\x76\xed\xf5\x1f\x92\xb4\x50\x1f\x10\x19\xcf\xbc\x79\x6f\xe6\x8d\xc5\x73\xa1\x0d\xc3\x64\x55\xaa\x4c\x6c\x24\xad\xf5\x2f\x52\x93\x28\x84\x6f\x5e\xf0\xb9\x38\x88\xde\x1b\x51\x21\xd3\x0f\x4a\x49\x54\x64\x56\xda\xd4\x68\xb6\x64\xfa\x8c\x11\xdc\x77\x62\xdc\x22\xe3\xa3\xa0\xda\x4e\xa2\x68\x3e\x9f\xc3\x3a\x17\x16\xd8\xa0\xb2\x98\xb2\xd0\x0a\x84\x85\xd2\xd2\x16\x58\x43\x6a\x08\x99\x00\x5d\xc0\xfc\x6f\x61\x25\x75\x0d\x98\xa6\xba\x54\x0c\xb5\xe0\x1c\x10\x8a\x86\x02\x3c\x85\xde\x51\x34\x44\x7b\x8d\x22\x00\x00\xd7\xe9\x8e\x6a\xf8\xdc\x16\x73\x8e\x0e\x41\x4a\xc8\xb5\xdc\x02\xe7\x43\x00\x57\x20\x89\x41\x51\xdd\xe6\x5f\x00\x96\x9c\xc7\x0f\xac\x0d\x66\x94\xc0\x52\x2b\x36\x98\xb2\x4d\xe0\x1b\xed\x6c\x02\xb7\x6a\xa3\x5f\x12\x58\x62\x81\x1b\x21\x05\x0b\xb2\x53\x38\x6b\xab\x1b\x0a\x85\xa1\x02\x0d\xc5\x56\x64\x8a\x4c\x8b\xf8\x45\x1b\xa3\xeb\x47\x94\x25\xf5\xf9\x53\x78\xf5\x15\xee\xb1\x24\x9f\x66\x3d\x11\xb8\x0c\x12\xe2\x02\x77\x0e\xa6\x81\x9b\xfa\x82\x7d\xd3\x89\x5e\x28\x2d\x99\x82\xf6\x20\xa7\xc2\x52\xf2\x57\x64\x84\x4b\x18\xae\x73\x66\xc8\x6a\x59\x51\x10\xe5\xb6\x13\xbb\x58\x69\x52\x5a\xef\x0a\xba\x00\x25\x64\x02\x95\xa0\xba\xf9\xe9\xfe\x2e\x4e\x6f\x76\xb6\x5a\x3f\x86\x5e\x57\xf1\x74\x0a\x68\xff\x83\xf7\xa5\x5f\x77\x8c\xdd\x73\x7d\x0d\x05\x2a\x91\xc6\x93\xa5\x2e\xe5\x16\x94\x66\xc8\x82\x12\x70\x00\x9e\x94\x5b\x9d\x5f\x61\xda\x2a\x98\x4c\x7b\xe5\xf3\x39\x3c\x60\xe5\x4c\x64\x28\x2b\x25\x9a\xb6\x9a\xb5\x2f\x51\xd4\x39\xea\xd4\xcc\x67\xb6\x59\xfb\xcc\x62\x45\xf1\xe2\x7c\x34\xbb\xc6\xa2\x37\xcf\x05\xef\xbc\x88\xd8\xa3\x0f\xc6\xf4\x69\x94\xee\x73\xdc\x4c\x12\x60\x7d\xd1\xaf\x24\xf4\xb8\x47\xce\xc7\xe4\x6f\xad\x2d\x1d\xfb\x70\x63\xbd\xc7\x76\xc0\x68\x32\x62\x16\x2a\xf3\x5a\x86\x9d\xc0\x77\x1a\xed\xdf\xb4\x08\x03\x80\xcb\x03\xad\xe9\xc0\xc1\x9d\x70\xe1\x38\x2c\xce\x5e\x47\x3b\x9c\x05\x46\xfb\xab\x78\xb4\xb5\xa3\xa2\xba\x8c\xb1\xba\x9f\x96\x3c\xf5\x70\xc5\x81\xe3\xe8\xfa\x0f\x4f\x7c\x28\xab\x8b\xc2\xe2\x1c\x4e\x7d\x90\xda\x3d\xdd\x51\xdd\x85\x62\x43\xa9\x28\x04\xb9\xeb\x3e\x1c\xcd\x11\x07\x0d\x79\xf6\x4d\x59\x77\x5f\xa4\x56\xee\x7b\x7d\xd4\x61\x34\x5e\x38\x49\xfd\xcd\x8b\x87\xbf\x39\x65\x68\x90\xc6\xe4\x1d\x16\x84\xb3\x3e\x3e\xc1\x25\x16\x1f\xb4\xc4\x49\xd2\xdd\x7f\x6f\xcc\xe1\x9e\x7f\x50\x3a\xc2\x98\x0e\x55\xdf\x97\x1b\x29\x6c\xee\x75\x7e\x48\xf9\x1f\x65\x16\x0d\xea\x98\xfb\x70\x4e\xc9\xe8\x0d\xf2\xfb\xf7\xe7\x09\xa7\xc7\x6e\x62\x1f\xed\x7f\x07\x00\x00\xff\xff\xf5\x1b\x9e\xbf\x86\x07\x00\x00"
 
 func privateforwarderCreate_account_private_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -264,11 +264,11 @@ func privateforwarderCreate_account_private_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/create_account_private_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x20, 0xfc, 0xb5, 0x37, 0xa5, 0xe, 0xd, 0x99, 0x7e, 0xe1, 0xc8, 0x1c, 0x7e, 0x23, 0xf0, 0xa2, 0x91, 0xb1, 0x97, 0x2b, 0xdc, 0xb, 0x1a, 0x8a, 0x53, 0xdd, 0x4c, 0x6a, 0x5c, 0xf3, 0xd3, 0xc1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc6, 0xe5, 0xb, 0x42, 0xd1, 0x1d, 0x59, 0x77, 0x2, 0x91, 0xe3, 0xb5, 0x15, 0x41, 0xd8, 0x35, 0x45, 0xf5, 0x8c, 0xf2, 0x8b, 0x98, 0x2f, 0x5e, 0xc0, 0x2, 0x91, 0x4a, 0x37, 0x9d, 0xf9, 0x81}}
 	return a, nil
 }
 
-var _privateforwarderCreate_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4d\x8f\xda\x3c\x10\xbe\xe7\x57\xcc\xcb\x61\xdf\x44\x62\xc3\x1d\xb1\xbb\xaa\x68\x57\xea\xa1\x15\x2a\x88\xfb\x60\x86\xc4\xaa\xb1\x23\x7b\x12\x8a\x56\xfc\xf7\xca\xf9\x22\xa6\xa4\xda\xad\x0f\x08\x66\xc6\x33\xcf\xc7\x18\x79\x2c\x8c\x65\x78\x2d\x75\x26\x77\x8a\x36\xe6\x27\x69\x38\x58\x73\x84\x49\x10\x9b\x44\x6d\xe5\x97\x5f\x78\x2c\xc2\xc2\x61\xa8\xaf\x5b\x59\x59\x21\xd3\x0f\x12\x24\x2b\xb2\xaf\xc6\x9e\xd0\xee\xc9\xb6\x77\xc6\xd2\xfd\xfd\x60\xfa\x37\x62\xdc\x23\xe3\x56\xd2\xc9\xdd\x83\x17\x14\x4c\xa2\x68\x36\x83\x4d\x2e\x1d\xb0\x45\xed\x50\xb0\x34\x1a\x84\x25\x64\x72\x80\xa0\xe9\x04\x45\x03\x00\x6c\x8b\x00\xa4\x06\xd4\x80\x42\x98\x52\x33\x70\x8e\x0c\xbe\xcd\xde\x90\xd3\xff\x33\xa0\xb2\x84\xfb\x33\xe4\x58\x11\xe0\x9f\xd7\x8d\xf5\xd1\x72\xa7\xa4\x00\xae\xc5\xe9\x52\xbe\xcb\xae\xe4\xba\xd3\x6d\x9b\x2d\x96\x8a\xa3\x68\x08\xf3\x2d\x8a\x00\x00\x0a\x4b\x05\x5a\x8a\x9d\xcc\x34\xd9\x39\x60\xc9\x79\xfc\xd5\xb9\x92\xd6\x6c\x2c\x66\xb4\xc4\x02\x77\x52\x49\x3e\x2f\x8d\x66\x6b\x94\x22\x3b\x85\x95\x47\xe0\xf2\x6b\x72\x0a\x6b\xac\x68\x8b\xaa\xa4\x04\x1e\x3e\x35\xf4\x92\x6e\x8a\x3f\x8a\x18\x2a\x8f\xe3\x33\x32\xc2\x53\xe0\x70\x6a\xc9\x19\x55\x51\x3d\x02\x05\x7b\x7d\x63\x1f\x2b\xad\xa0\xcd\xb9\xa0\x39\x68\xa9\xa6\x50\x49\x3a\x35\x3f\xfd\xe7\x62\xdc\x9b\xf4\x75\xb3\xed\x66\x3d\xc7\x49\x02\xe8\xfe\xfb\x8b\xd7\xc3\xf2\x97\x1e\xb1\x3f\x2f\x2f\x50\xa0\x96\x22\x9e\x2c\x4d\xa9\xf6\xa0\x0d\x43\xd6\x31\x01\xdf\xa0\x06\x05\x07\x63\x81\x73\x02\xd1\x32\x98\x24\x57\xe6\xb3\x19\xd4\x8a\x02\x42\xb7\x88\x70\x55\x0e\x18\x6d\x46\xcc\x52\x67\x75\x87\x60\xf3\x1b\xe3\x86\x12\x76\x76\x0f\x1a\x3c\x41\xe3\x5e\x2a\xba\x98\x24\x97\xba\xc6\xbf\x54\xfa\xd1\x8b\x87\xb7\x80\x7d\xda\x01\xb9\x3c\xc7\x01\xdf\xde\xa1\xee\xfe\x0a\x39\xef\x2b\x92\x21\xa7\x65\xbd\xe8\x35\xe6\xeb\xb3\xeb\x4c\x0b\x30\x1f\xfa\xf4\xe2\x71\xf4\xc5\xa6\xcd\xc3\xf9\x4e\xa7\x3e\x14\x5b\x12\xb2\x90\xa4\x79\x7e\x87\x77\x00\xc6\x6f\xdf\x08\x14\x60\x03\x2d\x99\xfe\x46\x2b\x58\xa7\x91\xc3\x8a\xe2\xc5\x63\x8f\x73\x0a\x6c\xe6\xe3\x48\x6f\x12\xeb\xab\x52\xc9\x3d\xd3\x87\x5e\x9b\x0f\xe9\xb5\xc4\xe2\x7d\xee\x8e\x42\xed\xbf\xdd\xf8\xec\xcf\x3f\xf0\x0b\x7a\x04\x64\xdb\x7f\x84\x9a\xde\x87\x08\xdf\x63\x57\x34\xcd\x42\xc8\x43\x55\xa6\x41\x06\xf9\xfd\x66\xd5\x38\xc5\x9d\xad\xbe\x44\x97\xe8\x77\x00\x00\x00\xff\xff\x50\x45\x63\xdc\xa7\x06\x00\x00"
+var _privateforwarderCreate_private_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4f\x6f\xe2\x3e\x10\xbd\xe7\x53\xbc\x1f\x87\xfe\x12\x89\x86\x3b\xa2\xad\x56\xec\x56\xda\xc3\xae\xaa\x2d\xe2\x3e\x98\x29\xb1\xd6\xb5\x23\x7b\x12\xb6\xaa\xfa\xdd\x57\x4e\x48\x48\x5a\x90\xe8\xfa\x80\x60\xc6\x7e\xf3\xfe\xd8\xe8\xe7\xd2\x79\xc1\xe4\xbe\xb2\x3b\xbd\x31\xbc\x72\xbf\xd9\x4e\x92\xae\xfc\xed\x0f\x3d\x97\x1f\xaa\x0f\x5e\xd7\x24\xfc\x8b\x15\xeb\x9a\xfd\xbd\xf3\x7b\xf2\x5b\xf6\xc7\x1d\x23\xb8\x1f\x2c\xb4\x25\xa1\xb5\xe6\x7d\x98\x24\xc9\x6c\x86\x55\xa1\x03\xc4\x93\x0d\xa4\x44\x3b\x0b\xe5\x99\x84\x03\x08\x96\xf7\x28\xdb\x01\xf0\x87\x09\xd0\x16\x64\x41\x4a\xb9\xca\x0a\xa4\x20\x41\x84\xd9\x3a\x0e\xf6\x7f\x01\x19\xcf\xb4\x7d\x41\x41\x35\x83\x3e\x1e\x77\x3e\x56\xab\x8d\xd1\x0a\x12\x29\xf5\xad\x88\xb2\xa9\xa4\x41\x7a\x0f\xb3\xa6\xca\x48\x92\x0c\x69\xbe\x26\x09\x00\x94\x9e\x4b\xf2\x9c\x06\xbd\xb3\xec\xe7\xa0\x4a\x8a\xf4\x7b\x08\x15\x3f\x8a\xf3\xb4\xe3\x25\x95\xb4\xd1\x46\xcb\xcb\xd2\x59\xf1\xce\x18\xf6\x53\x3c\x44\x06\xa1\x38\x36\xa7\x78\xa4\x9a\xd7\x64\x2a\xce\x70\xf5\xa5\x95\x97\x75\x53\xe2\x32\x2c\xa8\x23\x8f\xaf\x24\x84\x1b\x0c\x03\xc9\x3d\x07\x67\x6a\x6e\x46\x90\x92\xe8\x6f\x1a\x6b\x95\x57\xbc\x7a\x29\x79\x0e\xab\xcd\x14\xb5\xe6\x7d\xfb\x33\x7e\x2e\xce\x67\x93\xdf\xaf\xd6\xdd\xac\xdb\x34\xcb\x40\xe1\x3f\x5c\xb6\xfd\xae\x67\x1c\xd7\xdd\x1d\x4a\xb2\x5a\xa5\x93\xa5\xab\xcc\x16\xd6\x09\x76\x9d\x12\x44\x80\x86\x14\x9e\x9c\x87\x14\x0c\x75\x50\x30\xc9\x8e\xca\x67\x33\x34\x8e\x82\xd0\x5d\x34\x1c\x9d\x83\x90\xdf\xb1\x88\xb6\xbb\x06\x61\xe8\xcb\x21\xb8\xa1\x85\x5d\xdc\x03\x80\x1b\xb4\xe9\xe5\xaa\xab\x69\x0e\x79\x68\xf3\xcb\x75\x1c\xbd\xb8\x7a\x1d\xa9\xcf\x3b\x22\x6f\xb7\xe9\x48\x6f\x9f\x50\x77\xfe\x81\xa4\xe8\x77\x64\x43\x4d\xcb\xe6\xa2\x37\x9c\xfb\x77\x83\x2e\xb4\x11\xe7\xa7\xbe\xbd\xb8\xc6\xb9\x27\x97\xb7\x0f\xe7\x27\xef\xfb\x52\xea\x59\xe9\x52\xb3\x95\xf9\x09\xdd\x23\x32\xf1\xf6\x9d\xa1\x02\x71\x38\x88\xe9\x4f\x1c\x0c\xeb\x3c\x0a\x54\x73\xba\xb8\xee\x79\x4e\x21\x6e\x7e\x9e\xe9\xbb\xc6\xe3\xd1\xa9\xec\x54\xe8\xc3\xac\xdd\xa7\xfc\x5a\x52\x79\x59\xba\x67\xa9\xf6\xdf\xde\xe5\x1c\xd7\x3f\xe8\x1b\x61\x8c\xc4\x1e\xfe\x11\x1a\x79\x9f\x12\x7c\x4a\x5d\xd9\x82\x8d\x29\x0f\x5d\x99\x8e\x3a\x24\x97\x87\xd5\xf0\x54\x27\x6e\xf5\x5b\xf2\x96\xfc\x0d\x00\x00\xff\xff\xfa\xff\xed\x29\x44\x06\x00\x00"
 
 func privateforwarderCreate_private_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -284,7 +284,7 @@ func privateforwarderCreate_private_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/create_private_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x98, 0xff, 0x61, 0x1c, 0x7c, 0x46, 0xa2, 0xe6, 0xc3, 0x93, 0xd9, 0xce, 0xec, 0xf1, 0x88, 0x96, 0x4c, 0x17, 0x51, 0xe1, 0x89, 0xac, 0xce, 0x3e, 0x46, 0xb4, 0xb6, 0xf9, 0xb7, 0x2e, 0x1a, 0xb}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0x48, 0x67, 0xa0, 0x21, 0xff, 0x4a, 0x17, 0x0, 0xac, 0xe9, 0xbd, 0x40, 0xab, 0xae, 0x68, 0xc0, 0x8a, 0xb3, 0x89, 0xf9, 0x1c, 0x88, 0x82, 0xff, 0xe5, 0xff, 0x76, 0x8a, 0xc6, 0x2e, 0xce}}
 	return a, nil
 }
 
@@ -308,7 +308,7 @@ func privateforwarderDeploy_forwarder_contractCdc() (*asset, error) {
 	return a, nil
 }
 
-var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x4f\x6f\xe2\x3a\x10\xbf\xe7\x53\x4c\x39\xa0\x44\x4a\xe1\x8e\x80\xbe\xf7\x78\xad\xb4\x87\x5d\x55\x5b\xc4\x7d\x70\x06\xb0\x1a\xec\xc8\x76\x60\x51\xc5\x77\x5f\xd9\x21\xc1\x6e\x92\x96\xd6\x87\xaa\x38\xf6\xcc\xef\xcf\xcc\x38\xe2\xfb\x42\x2a\x03\x4f\xa5\xd8\xf2\x75\x4e\x4b\xf9\x4a\x02\x36\x4a\xee\x61\x10\xec\x0d\xea\x93\x8f\x7f\x70\x5f\x84\x07\xfd\xad\xe6\xdc\xb3\xe2\x07\x34\xf4\x9b\x18\xf1\x03\xa9\x27\xa9\x8e\xa8\x32\x52\x97\x3b\x7d\x9f\x07\x9d\x88\x7e\x92\xc1\x0c\x0d\xae\x38\x1d\x75\x17\xbc\xe0\xc0\x20\x8a\xc6\xe3\x31\x2c\x77\x5c\x83\x51\x28\x34\x32\xc3\xa5\x00\xcc\x32\x0d\x08\x2b\x2c\x73\x93\x02\x42\x51\x61\x00\x75\x01\x01\x9b\x1a\x85\xbb\x8f\xb0\xc6\x1c\x05\x23\x60\x58\xe0\x9a\xe7\xdc\x9c\x52\x40\x91\xd9\xab\xe5\x3a\xe7\xcc\xfb\x60\xef\x82\xd9\x5d\x83\x45\x91\x9f\xfa\x2d\x8a\x00\x00\x0a\x45\x05\x2a\x8a\x35\xdf\x0a\x52\x13\xc0\xd2\xec\xe2\x1f\x5a\x97\xf4\x62\xa4\xc2\x2d\x2d\x9a\x80\x0b\x29\x8c\x92\x79\x4e\x2a\x85\x67\x9b\x4d\xef\x16\x1e\x8c\x17\x3c\xd0\x0a\xf3\x92\x12\x18\xfe\xcb\x98\x2c\x85\x49\xe0\xcd\x25\xb1\x2b\x27\x03\x07\xcb\xf3\x7f\x34\x08\xb3\xc0\xb5\x91\x22\x2d\xf3\x03\xb9\x0c\xc8\x8c\xd5\x2c\xb6\x7b\xa5\x62\xb4\x3c\x15\x34\x01\xc1\xf3\x14\x0e\x9c\x8e\xd5\x4f\xfb\x77\xda\xaf\xf7\xe8\x69\xb9\xaa\x73\xcd\xe3\x24\x01\xd4\x77\x1f\xf8\xe7\x1f\x7f\x68\x10\xdb\xf5\xf0\x00\x05\x0a\xce\xe2\xc1\x42\x96\x79\x06\x42\x1a\xd8\xd6\x4c\xc0\x06\x70\xa0\x1a\xad\xd9\x85\xc1\x20\x89\x9a\x38\x7c\x03\x95\xba\xa3\xc6\x1c\x4e\x7a\xb4\x25\x33\x1d\xf6\x15\xdd\xa8\xf9\x6f\x1e\xf7\x9e\x79\xf7\xc1\x79\xc2\x9e\xd1\xec\x12\xb8\x9b\x59\xc5\x3c\xf9\xed\x1a\x8f\x9b\x02\x6b\xea\x0a\x8e\xa8\x01\x73\x45\x98\x9d\x40\x93\x81\xb2\x08\xee\x28\x32\xa5\x12\xcd\xd6\xb9\x8b\x96\xae\x2a\x65\xc4\x76\xc4\x5e\xa7\xc3\xc0\x59\xa7\xeb\x3c\xb6\x0d\x32\xb9\xfa\x5f\x5f\xa9\xc0\xce\x66\xb0\xc1\x5c\x53\x1b\xee\x42\x91\x45\x8b\x20\xe8\x18\xf6\xb9\x8b\xeb\x4a\xbf\x28\x0d\x70\x03\x5c\xc0\x25\x68\x10\xe4\x1d\x44\x8d\x07\x8a\x83\x03\x76\x4d\xef\x03\xcc\xcc\x65\x7d\xdc\x17\xe6\xe4\xd2\xc4\x0e\xb7\x57\x78\xff\x74\x51\x4c\x92\xb4\x15\xd8\xc8\x1e\xd2\xc1\xc9\xa4\x4b\x5e\x9f\xfd\xa5\xb7\x2b\xce\xd7\x9e\xb3\x16\x08\xa2\x8c\xb2\xcf\x6a\x6d\x2d\x95\x92\xc7\xe9\xf0\x2d\xe8\x81\x0a\xf9\x79\x1e\x5f\x21\xee\x2f\x6d\xd1\x18\xd3\xae\xa2\xa6\x91\x17\x58\xc0\xac\x33\x5d\xad\x36\xb7\x73\xa4\x95\xf5\xbf\x6a\x86\xa5\xd0\x0d\xa6\x25\xa2\x5d\x9f\x8b\x18\x0a\xe9\x59\x1f\x20\x2b\xaa\xb9\x15\xd7\x04\x52\x40\xe3\x5b\x14\xf0\xef\xb1\xc5\x4d\x47\x40\xa8\xfb\xce\x77\xc4\xa0\xda\x92\x31\x5c\x6c\xdd\x38\x68\x97\x6c\x30\x0f\xeb\xc9\xec\x05\xf8\x8e\xa0\x35\x90\x2e\xf1\x6e\xa9\xbe\x00\xd3\x75\x32\x4c\xef\x7b\x9f\xcc\x4b\x8b\xfc\xa2\x63\xb3\x15\x2b\x62\xbc\xe0\x24\xcc\xa4\x83\x97\x97\xa4\xab\x23\xa7\xf7\x4d\xda\xd4\x35\xcd\xad\x33\xef\xc5\x9b\x23\x9d\x26\xf9\xde\x48\xe7\xc9\xf5\xdd\xaf\x5f\x98\x6e\xfe\x37\x97\xf7\x2d\x33\xbc\xe5\xcb\x37\x08\xf6\xcc\x8c\xf1\xb8\x7e\x8d\x1d\xbd\x2f\x11\xfe\xa8\x45\x82\x74\xbe\x2a\xe1\x98\xb3\xfd\xf3\xf5\x17\x2a\x0a\x79\x9c\xa3\x73\xf4\x37\x00\x00\xff\xff\xaf\xfd\xf1\xa2\xf9\x09\x00\x00"
+var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\xcd\x6e\xfa\x38\x10\xbf\xe7\x29\xa6\x1c\x50\x22\xa5\x70\x47\x40\x77\x97\x6d\xa5\x3d\xec\xaa\xda\x22\xee\x83\x33\x80\xd5\x60\x47\xf6\x04\x16\x55\xbc\xfb\xca\x09\x09\x76\x13\xfe\xa5\xf5\xa1\x2a\x8e\x3d\xbf\x8f\xf9\x70\x24\xf7\x85\x36\x0c\x83\x97\x52\x6d\xe5\x3a\xa7\xa5\x7e\x27\x35\x68\xb7\x9f\xff\xc3\x7d\xd1\xd9\x7d\x35\xf2\x80\x4c\xff\x92\x20\x79\x20\xf3\xa2\xcd\x11\x4d\x46\x66\xd0\x1f\xee\x6f\x62\xcc\x90\x71\x25\xe9\x68\x07\x51\x34\x1e\x8f\x61\xb9\x93\x16\xd8\xa0\xb2\x28\x58\x6a\x05\x98\x65\x16\x10\x56\x58\xe6\x9c\x02\x42\x51\x63\x80\xb9\x80\xc0\xa6\x41\xa9\xee\x23\xac\x31\x47\x25\x08\x04\x16\xb8\x96\xb9\xe4\x53\x0a\xa8\x32\x77\xb5\x5c\xe7\x52\x78\x1f\xdc\x5d\xe0\xdd\x35\x58\x14\xf9\xd0\x1f\x51\x04\x00\x50\x18\x2a\xd0\x50\x6c\xe5\x56\x91\x99\x00\x96\xbc\x8b\xff\xb2\xb6\xa4\x37\xd6\x06\xb7\xb4\x68\x03\x2e\xb4\x62\xa3\xf3\x9c\x4c\x0a\xaf\x0e\xcd\xee\x16\x1e\x8d\x37\x3c\xd0\x0a\xf3\x92\x12\x18\xfe\x2e\x84\x2e\x15\x27\xf0\x51\x81\xb8\x95\x13\xc3\xc1\xe9\xfc\x13\x19\x61\x06\xbe\xc9\x23\x43\x56\xe7\x07\xaa\x10\x50\xb0\xf3\x2c\x76\x7b\xa5\x11\xb4\x3c\x15\x34\x01\x25\xf3\x14\x0e\x92\x8e\xf5\x4f\xf7\x77\x7a\xdb\xef\xd1\xcb\x72\xd5\x60\xcd\xe3\x24\x01\xb4\x0f\x70\xdf\xf1\xa7\x96\xb1\x5b\x4f\x4f\x50\xa0\x92\x22\x1e\x2c\x74\x99\x67\xa0\x34\xc3\xb6\x51\x02\x2e\x40\x45\xaa\xf5\x5a\x5c\x14\x0c\x92\xa8\x8d\x23\x37\x50\xbb\x3b\x6a\x93\x23\xc9\x8e\xb6\xc4\xd3\xe1\xad\xa2\x1a\xb5\xff\xcd\xe3\x9b\x67\x3e\x7d\xa8\x72\x22\x5e\x91\x77\x09\x3c\xcc\x9c\x63\x9e\xfd\x6e\x8d\xc7\x6d\x81\xb5\x75\x05\x47\xb4\x80\xb9\x21\xcc\x4e\x60\x89\xa1\x2c\x82\x3b\x86\xb8\x34\xaa\xdd\x3a\xf7\xc9\xb2\x75\xa5\x8c\xc4\x8e\xc4\xfb\x74\x18\x64\xb6\xf2\x75\x1e\x6f\x8c\xde\x4f\xae\xf9\x6f\xae\xd4\x64\x67\x33\xd8\x60\x6e\xa9\x4b\x77\x61\xc8\xb1\x45\x50\x74\x0c\x2a\xa6\x6e\x99\xaa\xf4\x8b\x92\x41\x32\x48\x05\x97\xa0\x41\x90\x4f\x14\x2d\x1e\x28\x0e\x0e\xb8\x35\x7d\x0c\x38\x8b\x0a\xf5\x79\x5f\xf0\xa9\x82\x89\x2b\xde\x5e\xe1\xfd\xd6\x27\x31\x49\xd2\x4e\x60\xd6\x37\x44\x07\x27\x93\x3e\x7b\x7d\xf5\x97\xde\xae\x35\x5f\x7b\xce\xa5\x40\x11\x65\x94\x7d\x55\x6b\x6b\x6d\x8c\x3e\x4e\x87\x1f\x41\x0f\xd4\xcc\xcf\xf3\xf8\x4a\x71\x7f\x69\x8b\x36\x31\xdd\x2a\x6a\x1b\x79\x81\x05\xcc\x7a\xe1\x1a\xb7\xa5\x9b\x23\x1d\xd4\x3f\xea\x19\x96\x42\x3f\x99\x8e\x89\x6e\x7d\x6d\x62\x68\xa4\x97\xfa\x80\x59\x51\xcf\xad\xb8\x11\x90\x02\xb2\x9f\xa2\x40\xff\x8d\xb4\x54\xd3\x11\x10\x9a\xbe\xf3\x33\xc2\x68\xb6\xc4\x2c\xd5\xb6\x1a\x07\xdd\x92\x0d\xe6\x61\x33\x99\xbd\x00\x3f\x31\xb4\x21\xd2\x67\xde\x3d\xd5\x17\x70\xba\x4e\x86\xe9\x23\xdc\x1c\x3d\x75\x8b\xfc\x43\xc7\x76\x2b\x36\x24\x64\x21\x49\xf1\xa4\x47\x97\x07\xd2\xd7\x91\xd3\xc7\x16\x36\xad\x9a\xe6\xde\x99\xf7\xe6\xcd\x91\xde\x24\xf9\xb9\xd1\x55\x4e\xda\x58\xd0\xbc\x30\xfd\xfa\xef\x2e\xef\x7b\x66\x78\x27\x2f\x3f\x10\x78\x63\x66\x8c\xc7\xcd\x6b\x5c\xc9\xfb\x96\xe0\x5f\xb5\x48\x00\xe7\xbb\x12\x8e\x39\xd7\x3f\xdf\x7f\xa1\xa2\x50\xc7\x39\x3a\x47\xff\x07\x00\x00\xff\xff\x81\xac\x56\xd3\x96\x09\x00\x00"
 
 func privateforwarderSetup_and_create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -324,11 +324,11 @@ func privateforwarderSetup_and_create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/setup_and_create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2f, 0x5b, 0x9f, 0x6a, 0x94, 0x53, 0xeb, 0xc0, 0xa5, 0xb0, 0x2c, 0x56, 0x2c, 0x33, 0xcd, 0xde, 0x4b, 0xa1, 0x12, 0x2a, 0x90, 0x4a, 0xb9, 0x71, 0x68, 0x29, 0x4d, 0xf3, 0xa2, 0xde, 0x33, 0xad}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x85, 0x8d, 0x93, 0xdb, 0xc7, 0xd4, 0x6f, 0x9f, 0xe, 0x9f, 0x56, 0x7b, 0xbc, 0x3c, 0x70, 0xb0, 0x4d, 0x81, 0x25, 0xc6, 0xd2, 0xd9, 0x15, 0x92, 0x4c, 0xab, 0x2d, 0x7a, 0x8b, 0x54, 0xd, 0xab}}
 	return a, nil
 }
 
-var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x4d\x6f\x9b\x4c\x10\x3e\x87\x5f\x31\xf1\x21\x2f\x48\x79\xf1\xa5\xea\x01\xe5\x43\x69\x5a\xf7\x14\x29\x4a\x5c\xf7\x50\xf5\x30\x81\x31\xac\x82\x77\xd1\xec\x60\x12\x45\xfe\xef\xd5\xc2\x42\xa0\x89\x6b\x55\xaa\x0f\xfe\x58\x3f\x33\xf3\x7c\x0c\xab\x36\x95\x61\x81\x45\xad\x73\xf5\x50\xd2\xd2\x3c\x92\x86\x35\x9b\x0d\xcc\x26\x67\xb3\xc0\x23\xbf\x3c\xe1\xa6\x9a\x02\xc7\x47\x03\xee\x96\xd5\x16\x85\xee\x28\x25\xb5\x25\x5e\x18\x6e\x90\x33\x62\x5f\xb3\xef\xef\xa1\x7e\x32\xfd\x86\x04\x33\x14\x5c\x29\x6a\xec\x7b\xf4\x26\x80\x59\x10\xcc\xe7\x73\x58\x16\xca\x82\x30\x6a\x8b\xa9\x28\xa3\xbb\xef\x6b\x62\x0b\x62\x60\x83\xfa\x19\x30\xcb\x98\xac\x25\x0b\x52\xb0\xa9\xf3\x02\xa4\x20\xc5\x50\x75\xec\x80\x3d\x3d\x1b\x04\xa3\x46\xa1\x2f\xbb\xda\x98\x5a\xcb\x0d\x56\x09\xbc\x5c\x75\x47\x09\x7c\x5b\xa8\xa7\x8f\x1f\x76\x11\xbc\x04\x01\x00\x40\x4b\x84\x60\x85\x75\x29\xc0\x64\x4d\xcd\x29\x81\x14\x28\x50\x98\x32\x73\x93\x09\xc4\x69\xb0\xdd\x29\x32\xc1\x03\x29\x9d\x0f\x7c\x99\xb2\xb6\x55\x49\x02\x5b\xd7\xe7\x8e\xd6\x09\x60\x2d\x45\x38\x31\x21\xfe\xae\xa4\xc8\x18\x9b\x08\x4e\xc6\x99\xc4\xed\xf0\x60\xe8\xe1\xd5\x79\xcf\x95\xce\xef\x49\x67\xc4\x09\x9c\xec\x4b\x25\xee\x10\x5d\x8b\x8a\xa9\x42\xa6\xd0\xaa\x5c\xbb\xaa\x96\xc8\x27\xc3\x6c\x9a\x15\x96\x35\x45\x70\x72\x95\xa6\xce\x9a\xc1\x84\x09\xfb\xcf\x28\x08\xe7\x93\x45\x8a\x9d\x31\xe5\x96\xae\x8d\x16\xc6\x54\x5c\x8c\x61\x6f\xd6\xf2\xb9\xa2\x04\xb4\x2a\x4f\x61\xab\xa8\xe9\x7e\xba\xf7\xb3\xfd\x2b\x10\x2f\x96\xab\x7e\xd6\x45\x18\x45\x80\xf6\xf8\x0f\x2b\x35\x86\x5f\x0e\x8c\xdd\xeb\xf2\x12\x2a\xd4\x2a\x0d\x67\xd7\xa6\x2e\x33\xd0\x46\x20\xef\x95\x80\x6b\xd0\x92\x82\xb5\xe1\x36\xc9\xd4\x2b\x98\x45\xaf\xca\xe7\x73\xf8\x4a\x02\x08\x4c\x6b\x62\xd2\x2e\x7f\xd3\xa2\x3b\x0b\xff\xb3\x60\xc5\x30\x65\x5d\xd7\xa1\xce\x52\xb9\x8e\xfb\xc0\xe1\xdc\xa3\x63\x87\xc5\x9c\xe2\x87\xd6\xf2\xb3\xbf\xdd\x83\x8b\xd0\x3d\x3f\xc9\x6b\x16\x7d\xc3\x5b\x94\x22\x0a\x8e\x8e\x8e\xde\xd3\xdc\x0d\x7b\xab\xc0\x34\x9d\x80\xb6\xf5\xf1\x58\x75\xcb\x7e\xcf\xaa\xed\x15\x73\x68\x03\x7b\xf2\x07\x60\xf7\xff\x5c\xd1\xae\xfb\xa0\x27\x4a\x6b\xa1\xf1\x5e\xbb\xe4\xfd\x85\x00\x4a\xc3\xef\x77\x43\xfc\x48\xcf\x76\x8c\x3f\xe4\x4d\x6c\x49\x67\x5e\x5f\x1b\x9b\xed\xef\x9b\x53\x7f\x4f\x24\x70\xf6\xff\x64\x37\xe2\xc6\x07\x1e\x62\x3b\x36\x79\xc3\xe2\x87\x3f\xf8\x79\x1c\x8d\x22\xda\x79\x69\xbb\xe0\x57\x00\x00\x00\xff\xff\x28\x58\x16\x99\x07\x06\x00\x00"
+var _privateforwarderTransfer_private_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xcd\x6e\x9b\x40\x10\x3e\x87\xa7\x98\xf8\x90\x82\x94\xe2\x4b\xd5\x03\xca\x8f\xd2\xb4\xee\x29\x52\x94\xb8\xee\xa1\xea\x61\x02\x63\x58\x05\xef\xa2\xd9\xc1\x24\x8a\xfc\xee\xd5\xb2\x8b\x83\x9b\x5a\x6e\xa5\xfa\x60\x60\x34\xfb\xcd\xf7\x33\x5a\xb5\x6a\x0c\x0b\x4c\x66\xad\x2e\xd5\x43\x4d\x73\xf3\x48\x7a\x12\x0d\xe5\x2f\x4f\xb8\x6a\xde\x54\x6f\x59\xad\x51\xe8\x8e\x72\x52\x6b\xe2\x99\xe1\x0e\xb9\x20\x7e\xed\xd8\x81\xbb\x21\xc1\x02\x05\x17\x8a\x3a\x3b\x89\xa2\xe9\x74\x0a\xf3\x4a\x59\x10\x46\x6d\x31\x17\x65\xb4\x7f\x5f\x12\x5b\x10\x03\x2b\xd4\xcf\x80\x45\xc1\x64\x2d\x59\x90\x8a\x4d\x5b\x56\x20\x15\x29\x86\xc6\x4f\x07\x0e\xe3\x6d\x14\x8d\x80\xe2\x70\xec\x6a\x65\x5a\x2d\x37\xd8\x64\xf0\x72\xe5\x4b\x19\x7c\x9b\xa9\xa7\x8f\x1f\x36\x09\xbc\x44\x11\x00\x40\x4f\x84\x60\x81\x6d\x2d\xc0\x64\x4d\xcb\x39\x81\x54\x28\x50\x99\xba\x70\x93\x09\xc4\x69\xb0\xbe\x8a\x4c\xf0\x40\x4a\x97\x5b\xbe\x4c\x45\x0f\x55\x93\xc0\xda\xe1\xdc\xd1\x32\x03\x6c\xa5\x8a\x77\x4c\x48\xbf\x2b\xa9\x0a\xc6\x2e\x81\x93\xb1\xab\x69\x3f\x3c\xda\x62\x04\x75\xc1\x53\xa5\xcb\x7b\xd2\x05\x71\x06\x27\xfb\x5c\x4f\x7d\x87\x87\x68\x98\x1a\x64\x8a\xad\x2a\xb5\x3b\xd5\x13\xf9\x64\x98\x4d\xb7\xc0\xba\xa5\x04\x4e\xae\xf2\xdc\x59\xb3\x35\x61\x87\xfd\x67\x14\x84\x73\xd8\x61\xe8\x8c\xa9\xd7\x74\x6d\xb4\x30\xe6\xe2\x62\x8c\x07\xb3\xe6\xcf\x0d\x65\xa0\x55\x7d\x0a\x6b\x45\x9d\xff\x74\xff\x67\xfb\x57\x20\x9d\xcd\x17\xc3\xac\x8b\x38\x49\x00\xed\x31\xfc\x5d\xfb\xe5\x96\xb1\xfb\x5d\x5e\x42\x83\x5a\xe5\xf1\xe4\xda\xb4\x75\x01\xda\x08\x94\x83\x12\x70\x00\x3d\x29\x58\x1a\xee\x93\xcc\x83\x82\x49\xf2\xaa\x7c\x3a\x85\xaf\x24\x80\xc0\xb4\x24\x26\xed\xf2\x37\x7d\xb7\xb7\xf0\x9d\x05\x2b\x86\xa9\xf0\xa8\xdb\x73\x96\xea\x65\x3a\x04\x0e\xe7\xa1\x3b\x75\xbd\x58\x52\xfa\xd0\x5b\x7e\xf6\xaf\x7b\x70\x11\x2f\xd9\xac\xb2\xd7\x2c\x06\xc0\x5b\x94\x2a\x89\x8e\x8e\x8e\xfe\xa4\xd9\x0f\x7b\xab\xc0\x74\x5e\x40\x0f\x7d\x3c\x56\xdd\xb3\xdf\xb3\x6a\x7b\xc5\x1c\xda\xc0\x81\xfc\x81\xb6\xfb\xff\xae\x68\xe3\x1f\xf4\x44\x79\x2b\x34\xde\x6b\x97\x7c\xb8\x10\x40\x69\xf8\xfd\x6e\x48\x1f\xe9\xd9\x8e\xfb\x0f\x79\x93\x5a\xd2\x45\xd0\xd7\xc7\x66\x87\xfb\xe6\x34\xdc\x13\x19\x9c\xbd\xdf\xd9\x8d\xb4\x0b\x81\xc7\xd8\x8f\xcd\xde\xb0\xf8\x11\x0a\x3f\x8f\x93\x51\x44\x9b\x20\x6d\x13\xfd\x0a\x00\x00\xff\xff\xfe\x05\x59\x4b\xa4\x05\x00\x00"
 
 func privateforwarderTransfer_private_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -344,11 +344,11 @@ func privateforwarderTransfer_private_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/transfer_private_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x7e, 0xe4, 0x34, 0xd4, 0xa, 0x7b, 0x43, 0x36, 0x20, 0xf7, 0x1a, 0x33, 0xe, 0x77, 0xdd, 0x87, 0x7e, 0x9c, 0xff, 0xf3, 0x23, 0x21, 0xbf, 0x15, 0xaa, 0xed, 0xa4, 0xd4, 0xf7, 0xc0, 0x10}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0xde, 0xed, 0x59, 0xfa, 0x7b, 0x94, 0xe8, 0xfa, 0x8b, 0xe5, 0xca, 0xbb, 0x8f, 0xf8, 0x15, 0x7f, 0xfd, 0xf9, 0xfc, 0x8f, 0x43, 0x7b, 0x71, 0xc2, 0x7f, 0x53, 0xb5, 0xf6, 0xfa, 0xc8, 0x53}}
 	return a, nil
 }
 
-var _safe_generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x95\xc1\x6e\xdc\x36\x10\x86\xcf\xde\xa7\x98\xf8\xe0\x48\x80\x23\x5f\x8a\x1e\x16\x4e\x53\x37\x80\x7b\xe8\xa1\x86\xe3\xa6\xe7\x59\x71\x24\xb1\xe6\x92\x02\x67\x64\x65\x61\xec\xbb\x17\x24\x25\xee\xca\x6b\x03\xce\xc9\xf4\x88\x9c\xff\x9b\x9f\x33\x5c\xbd\xed\x9d\x17\xb8\x1d\x6c\xab\x37\x86\x1e\xdc\x23\x59\x68\xbc\xdb\xc2\xf9\x22\x76\xbe\x5a\x5d\x5d\x5d\xc1\x57\xb4\xd0\x23\x33\x68\x0b\x68\x77\xc0\xe2\x3c\xb6\x04\x3d\x4a\x07\x68\x15\x78\xaa\x49\x3f\x91\x4f\x11\x6d\x59\x08\x15\xb8\x06\xfe\x1b\x58\x40\x3a\x02\x45\x0d\x0e\x46\xaa\x98\xef\xa1\xd3\x0c\x86\x84\x61\xe7\x06\xa8\x3b\xe7\x98\xe2\x2e\x89\x20\x21\x38\xa2\x15\x10\x07\x4c\x56\x01\x32\x8c\x64\x4c\xdc\x52\x63\x8f\x1b\x6d\xb4\xec\x4e\xf7\xe9\xb0\x8c\x12\x51\xe6\xc6\xee\xa6\x8c\x11\xab\x46\x0b\x1b\x8a\x85\x50\xcc\x89\x16\xd0\xb7\xc3\x96\xac\x40\x47\x9e\x2e\x81\x1d\x8c\x68\x22\x19\x77\x6e\x30\x2a\xe6\x49\x4b\xa8\x3b\xaa\x1f\x0f\x27\x9e\xd0\x0c\xc4\x41\x7b\x8b\x8f\x04\x3c\xf8\x54\x83\xb6\x42\x56\x91\x3a\x96\xd6\x3c\xcb\x6a\x1b\xf1\xc4\xa3\x65\xac\x45\x3b\x5b\xe0\xd6\x0d\x56\xd6\xf0\xcf\xad\xfe\xf1\xeb\x2f\x97\x20\x6e\x0d\x37\x4a\x79\x62\xbe\x8c\x75\x91\xbf\x43\xe9\xd6\xf0\x2d\xd9\x1e\xfe\xb9\xcc\x96\xa7\x4f\x77\xc3\xc6\xe8\x3a\xac\x4b\x78\x5e\xad\x00\x00\xa2\xcf\x04\xdf\x83\xed\xe0\x89\xdd\xe0\xeb\x40\x88\x02\x9d\x33\x8a\x0f\x86\x73\x8a\xa2\x27\xd8\x90\xb6\x2d\x44\xba\x86\xbc\x27\x15\x53\x19\x12\x10\xda\xf6\x31\xd7\x1a\x7e\x5f\xf4\x48\x15\xa3\x59\xf3\x0f\xe7\xbd\x1b\x43\xf9\xd4\x90\x27\x5b\xd3\x8c\x3a\x8b\xe9\x66\x8a\x04\x29\xac\xeb\x50\x3d\x28\x47\x6c\x3f\x0a\xf0\xd0\xc7\xd6\x0c\x70\xa1\xf6\x88\x13\xce\x65\x90\xe4\xc8\xfd\x54\xfe\x3d\x35\x6b\xb8\x78\x4e\x24\x73\x70\x9f\x68\x7a\x4f\x3d\x7a\x2a\x58\xb7\x96\xfc\x1a\x70\x90\xae\x48\x7c\xdf\xc3\xe5\x95\x70\x71\x93\xe4\xb3\x69\x53\x11\x7f\x92\x00\x82\xcf\x15\x88\x4b\x40\x31\xd1\x47\x8e\x03\x40\x0a\x9e\x62\xe5\xf3\xb9\x00\x17\x23\xf7\xd4\xc0\xe7\x69\x73\x35\xcd\x4a\xb5\x89\xba\xd7\x91\x61\xe9\xdf\xbf\x5a\x3a\xe5\x71\x2c\xe1\xe2\x79\xf9\xe5\xce\xbb\x27\xad\xc8\xef\x7f\x2b\xc2\x70\xae\x8f\xba\xa1\x5c\x9d\x9d\x9d\x7d\xf9\x02\x3d\x5a\x5d\x17\xe7\x5f\x63\x87\x5a\x27\x90\x74\x4e\xd9\xdd\x98\xd0\xe3\x6d\x7d\x38\x2f\x33\x76\x5e\x30\x99\xa6\x3a\x71\xf7\xcd\x4a\x5e\xc2\x66\xf3\x7f\x1e\xf6\xad\x4c\xef\xa8\x62\x49\x9f\x9b\x14\xae\x3f\xe5\xbb\xa8\xc6\xc9\xe0\x3c\x69\xe9\x6f\xb2\x60\xea\x15\xfa\x41\xf5\x20\x04\xcf\x8b\xeb\xf4\x0b\x1f\x5a\x92\xa9\x5f\x0a\x71\x65\x95\x5f\x22\x4d\xfc\x0e\x53\x8e\x07\xb6\xfc\xb0\x90\x99\x9a\x9e\x54\x64\x7f\xd8\xf5\xc4\xf0\xf9\x58\xbc\x6a\x49\xbe\x9d\x6e\x2a\xca\xe3\xa6\xfd\xdb\x9a\x5d\x1e\xdd\x79\xd8\xc6\x8e\x6c\x74\x2e\x3f\xd1\x9a\x61\xd4\xc6\xa4\xc1\x3a\xcc\x66\x78\x0c\xd0\xb7\x24\xa4\xe0\xf6\xa1\xca\x89\x75\xf3\x1a\x5e\x55\x3b\x2b\xa8\x2d\xff\x45\xbb\x62\x69\x7d\x60\x0d\x7b\x8a\xb2\x3c\x72\x73\x7e\x91\x5e\xe0\xc5\xdf\x9c\x37\x47\x6b\xbe\xf5\xcc\x7e\x78\xfc\x17\x89\x8f\x9d\x52\xd4\x3b\xd6\x32\xf5\xe0\xf5\xa7\x25\xdc\xc1\xb0\x3d\x90\x61\x7a\x41\xf8\xfa\x08\xbc\x3f\xe7\xd4\x51\xfb\xff\x03\x00\x00\xff\xff\xec\x0b\x40\x8e\x60\x07\x00\x00"
+var _safe_generic_transferCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x94\xc1\x6e\xe3\x36\x10\x86\xcf\xf1\x53\xcc\xe6\x90\x95\x80\xac\x72\x29\x7a\x30\xb2\xdd\xa6\x0b\xa4\x87\x1e\x1a\x64\xd3\xed\x79\x2c\x8e\x24\x36\x34\x29\x70\x46\xd1\x1a\x81\xdf\xbd\x20\x29\xd1\x56\x9c\x00\xd9\x93\xe9\x11\x39\xff\x37\x3f\x67\xa8\xb7\xbd\xf3\x02\xe7\xb7\x83\x6d\xf5\xc6\xd0\x83\x7b\x24\x7b\xbe\x5a\x5d\x5d\x5d\xc1\x57\xb4\xd0\x23\x33\x68\x0b\x68\x77\xc0\xe2\x3c\xb6\x04\x3d\x4a\x07\x68\x15\x78\xaa\x49\x3f\x91\x4f\x11\x6d\x59\x08\x15\xb8\x06\xfe\x1b\x58\x40\x3a\x02\x45\x0d\x0e\x46\xaa\x98\xef\xa1\xd3\x0c\x86\x84\x61\xe7\x06\xa8\x3b\xe7\x98\xe2\x2e\x09\xa2\x31\x38\xa2\x15\x10\x07\x4c\x56\x01\x32\x8c\x64\x4c\xdc\x52\x63\x8f\x1b\x6d\xb4\xec\x4e\xf7\xe9\xb0\x8c\x12\x51\xe6\xc6\xee\xa6\x8c\x11\xab\x46\x0b\x1b\x8a\x85\x50\xcc\x89\x16\xd0\xb7\xc3\x96\xac\x40\x47\x9e\x2e\x81\x1d\x8c\x68\x22\x19\x77\x6e\x30\x2a\xe6\x49\x4b\xa8\x3b\xaa\x1f\x0f\x27\x9e\xd0\x0c\xc4\x41\x7b\x8b\x8f\x04\x3c\xf8\x54\x83\xb6\x42\x56\x91\x3a\x96\xd6\x3c\xcb\x6a\x1b\xf1\xc4\xa3\x65\xac\x45\x3b\x5b\xe0\xd6\x0d\x56\xd6\xf0\xcf\xad\xfe\xf1\xeb\x2f\x97\x20\x6e\x0d\x37\x4a\x79\x62\xbe\x8c\x75\x91\xbf\x43\xe9\xd6\xf0\x2d\xd9\x1e\xfe\x5c\x66\xcb\xd3\xa7\xbb\x61\x63\x74\x1d\xd6\x25\x3c\xaf\x56\x00\x00\xd1\x67\x82\xef\xc1\x76\xf0\xc4\x6e\xf0\x75\x20\x44\x81\xce\x19\xc5\x07\xc3\x39\x45\xd1\x13\x6c\x48\xdb\x16\x22\x5d\x43\xde\x93\x8a\xa9\x0c\x09\x08\x6d\xfb\x98\x6b\x0d\xbf\x2f\x7a\xa4\x8a\xd1\xac\xf9\x87\xf3\xde\x8d\xa1\x7c\x6a\xc8\x93\xad\x69\x46\x9d\xc5\x74\x33\x45\x82\x14\xd6\x75\xa8\x1e\x94\x23\xb6\x1f\x05\x78\xe8\x63\x1f\x06\xb8\x50\x7b\xc4\x09\xe7\x32\x48\x72\xe4\x7e\x2a\xff\x9e\x9a\x35\x5c\x3c\x27\x92\x39\xb8\x4f\x34\xbd\xa7\x1e\x3d\x15\xac\x5b\x4b\x7e\x0d\x38\x48\x57\x24\xbe\xef\xe1\xf2\x4a\xb8\xb8\x49\xf2\xd9\xb4\xa9\x88\x3f\x49\x00\xc1\xe7\x0a\xc4\x25\xa0\x98\xe8\x23\xc7\x01\x20\x05\x4f\xb1\xf2\xf9\x5c\x80\x8b\x91\x7b\x6a\xe0\xf3\xb4\xb9\x9a\x66\xa5\xda\x44\xdd\xeb\xc8\xb0\xf4\xef\x5f\x2d\x9d\xf2\x38\x96\x70\xf1\xbc\xfc\x72\xe7\xdd\x93\x56\xe4\xf7\xbf\x15\x8d\x77\xdb\xf5\x51\x37\x94\xab\xb3\xb3\xb3\x2f\x5f\xa0\x47\xab\xeb\xe2\xfc\x6b\xec\x50\xeb\x04\x92\xce\x29\xbb\x1b\x13\x7a\xbc\xad\x0f\xe7\x65\xc6\xce\x0b\x26\xd3\x54\x27\xee\xbe\x59\xc9\x4b\xd8\x6c\xfe\xcf\xc3\xbe\x95\xe9\x1d\x55\x2c\xe9\x73\x93\xc2\xf5\xa7\x7c\x17\xd5\x38\x19\x9c\x27\x2d\xfd\x26\x0b\xa6\x5e\xa1\x1f\x54\x0f\x42\xf0\xbc\xb8\x4e\xbf\xf0\xa1\x25\x99\xfa\xa5\x10\x57\x56\xf9\x25\xd2\xc4\xef\x30\xe5\x78\x60\xcb\x0f\x0b\x99\xa9\xe9\x49\x45\xf6\x87\x5d\x4f\x0c\x9f\x8f\xc5\xab\x96\xe4\xdb\xe9\xa6\xa2\x3c\x6e\xda\xbf\xad\xd9\xe5\xd1\x9d\x87\x6d\xec\xc8\x46\xe7\xf2\x13\xad\x19\x46\x6d\x4c\x1a\xac\xc3\x6c\x86\xc7\x00\x7d\x4b\x42\x0a\x6e\x1f\xaa\x9c\x58\x37\xaf\xe1\x55\xb5\xb3\x82\xda\xf2\x5f\xb4\x2b\x96\xd6\x07\xd6\xb0\xa7\x28\xcb\x23\x37\xe7\x17\xe9\x05\x5e\xe8\x94\xb7\x47\x6b\xbe\xf5\xcc\x7e\x78\xfc\x17\x89\x8f\x9d\x52\xd4\x3b\xd6\x32\xf5\xe0\xf5\xa7\x25\xdc\xc1\xb0\x3d\x90\x61\x7a\x41\xf8\xfa\x08\xbc\x3f\xe7\xd4\x51\xfb\xff\x03\x00\x00\xff\xff\x9a\x18\x8b\x27\x4d\x07\x00\x00"
 
 func safe_generic_transferCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -364,11 +364,11 @@ func safe_generic_transferCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "safe_generic_transfer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0x4, 0xb0, 0x62, 0x41, 0xad, 0xf6, 0xd, 0x6a, 0x5d, 0xe0, 0x39, 0xdc, 0xc1, 0xb7, 0x9a, 0xec, 0xfd, 0x69, 0xf0, 0xe1, 0xc6, 0x9c, 0x6a, 0x4d, 0x55, 0xe7, 0x8f, 0x39, 0x5d, 0xe3, 0xfc}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0x8d, 0x46, 0x21, 0xb0, 0x65, 0x20, 0xf1, 0x62, 0x4d, 0xa3, 0x39, 0x31, 0xa, 0xe8, 0x61, 0x55, 0xfd, 0xbc, 0x95, 0xf3, 0xf9, 0x3c, 0x7e, 0x40, 0x8a, 0x4d, 0x32, 0x5e, 0xa0, 0x0, 0x47}}
 	return a, nil
 }
 
-var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x52\x4d\x6f\xdb\x30\x0c\xbd\xeb\x57\xbc\xf9\xb0\x59\xc0\xe0\x5c\x86\x1d\x82\xae\x41\xd7\x2d\xb7\x01\x3b\x64\xbd\xd3\x32\xdd\x08\x93\x25\x43\xa2\x93\x0e\x45\xff\xfb\x20\x7f\x04\x35\xd0\x46\x07\x43\xa6\x1e\x1f\xdf\x23\xb9\xd9\xe0\x70\xb4\x09\xc9\x44\xdb\x0b\x22\x53\x93\x20\x47\x46\x4d\x8e\xbc\x61\xb4\x96\x5d\xa3\x36\x1b\x84\x16\xe4\x41\xc6\x84\xc1\xcb\xa7\x84\x9f\x4f\xd4\xf5\x8e\x0f\xe1\x2f\x7b\x7c\x9f\xd0\x4a\xd9\xae\x0f\x51\xb0\x1f\xfc\xa3\xad\x97\xd7\x36\x86\x0e\xc5\x2a\x56\x2c\xc8\x15\xcd\x04\x7c\x1d\x2a\xde\x64\xfc\xc5\x42\x0d\x09\x3d\x58\x3e\xa7\xb7\xe8\x57\x80\x42\x29\x32\x86\x53\x2a\xc9\x39\x8d\x76\xf0\xe8\xc8\xfa\x92\x9a\x26\x72\x4a\x5b\xdc\x4d\x17\xbd\xc5\x9f\xbd\x7d\xfa\xfa\x05\xcf\x0a\x00\x1c\x0b\x4e\x34\x38\xf9\x41\x42\xf8\xb6\x92\x5a\x45\x4e\xc1\x9d\xf8\x3e\x78\x89\x64\x24\x17\x2a\x73\x6c\x88\x86\x0f\xff\x7a\xde\xc2\x5b\xf7\x19\x27\xcb\xe7\xe9\x37\x7f\x6f\xde\x17\x59\xed\x0f\x0f\x4b\xad\xdb\x52\x6b\x50\xfa\x70\xc5\xf4\x6b\xf8\x6e\x54\x9b\xcf\x6e\x87\x9e\xbc\x35\x65\x71\x1f\x06\xd7\xc0\x07\xc1\xe3\xe2\x02\x39\x79\x14\x84\x36\xc4\x71\xc8\x66\x56\x5f\x68\x35\x72\x44\x96\x21\xfa\x9c\x72\x37\xcd\x79\xe9\x91\xae\x0c\xf5\x54\x5b\x67\xc5\x72\xaa\xea\x10\x63\x38\xdf\x7c\x7c\x5e\x09\xac\xe6\x2d\x78\xb9\x2d\x2f\x8a\xf2\xb9\xf4\xb0\xea\x66\x0b\xbf\x49\x8e\x17\x88\xde\x55\xf3\xb2\x5d\xf5\x31\xd5\x5c\x36\x0d\x91\x5b\x8e\x9c\x6f\x12\x46\x2f\x63\x3b\x0a\xad\x5e\xd4\xff\x00\x00\x00\xff\xff\x02\x72\x91\x6a\xd4\x02\x00\x00"
+var _scriptsGet_balanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x52\x4d\x8f\xd4\x30\x0c\xbd\xe7\x57\x3c\x7a\x80\x46\x42\x9d\x0b\xe2\x30\x5a\x76\xb4\x2c\xcc\x0d\x89\x43\xd9\xbb\x9b\xba\x3b\x11\x69\x52\x25\xee\xcc\xa2\xd5\xfe\x77\x94\x7e\x89\x91\x00\xad\x0f\x91\xe3\x3c\xc7\xef\xd9\xde\xed\x50\x9f\x6c\x42\x32\xd1\x0e\x82\xc8\xd4\x26\xc8\x89\xd1\x90\x23\x6f\x18\x9d\x65\xd7\xaa\xdd\x0e\xa1\x03\x79\x90\x31\x61\xf4\xf2\x2e\xe1\xeb\x13\xf5\x83\xe3\x3a\xfc\x64\x8f\xcf\x33\x5a\x29\xdb\x0f\x21\x0a\x8a\xe3\xe8\x1f\x6d\xb3\x3c\x17\x5b\xf8\xcf\xa4\xe2\xef\xe0\x6f\x2c\xd4\x92\xd0\x83\xe5\x4b\x2a\x94\x22\x63\x38\xa5\x92\x9c\xd3\xe8\x46\x8f\x9e\xac\x2f\xa9\x6d\x23\xa7\xb4\xc7\xdd\xec\xe8\x3d\x7e\x1c\xed\xd3\xc7\x0f\x78\x56\x00\xe0\x58\x70\xa6\xd1\xc9\x17\x12\xc2\xa7\x2b\xb2\x55\xe4\x14\xdc\x99\xef\x83\x97\x48\x46\x72\xa1\x32\xc7\xc6\x68\xb8\xfe\x35\xf0\x1e\xde\xba\xf7\x38\x5b\xbe\xcc\xd7\x7c\xde\xfc\x9b\x64\x75\xac\x1f\xd6\x5a\xb7\xa5\xd6\xa0\xf4\x06\xaf\x83\x1f\x26\xb6\xd9\x0e\x07\x0c\xe4\xad\x29\x8b\xfb\x30\xba\x16\x3e\x08\x1e\x57\x15\xc8\xc9\x13\x21\x74\x21\x4e\xf3\x31\x0b\xfb\x42\xab\xe9\x8f\xc8\x32\x46\x9f\x53\xee\xe6\x11\xad\x3d\xd2\x95\xa1\x81\x1a\xeb\xac\x58\x4e\x55\x13\x62\x0c\x97\x9b\xb7\xcf\x57\x04\xab\x65\x80\x2f\xb7\xe5\xc6\x28\xdb\xd6\xc3\xaa\x5f\x24\x7c\x27\x39\x6d\x10\x7d\xa8\x96\x3d\xf9\xaf\x8e\xb9\xe6\xba\x24\x88\xdc\x71\xe4\xec\x49\x98\xb4\x4c\xed\x28\xb4\x7a\x51\xbf\x03\x00\x00\xff\xff\xa7\x99\xe9\xa6\x8f\x02\x00\x00"
 
 func scriptsGet_balanceCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -384,11 +384,11 @@ func scriptsGet_balanceCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_balance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x55, 0xda, 0x1a, 0xda, 0xf0, 0xe5, 0x7d, 0x21, 0xa2, 0x8d, 0x36, 0x41, 0x1, 0xc1, 0x8c, 0xaa, 0x5b, 0x83, 0x3d, 0xd4, 0xae, 0x3, 0xc0, 0x69, 0x41, 0xdf, 0x3a, 0xa1, 0xf3, 0xcd, 0x89}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x74, 0xb1, 0xe6, 0x91, 0x19, 0xf, 0xfc, 0xd5, 0xd0, 0x29, 0x4e, 0x6d, 0x98, 0x41, 0x6f, 0x26, 0x51, 0x25, 0x3a, 0x95, 0xff, 0xe1, 0x7c, 0xc4, 0x2d, 0xfe, 0x9a, 0x6, 0x79, 0x82, 0x55, 0x8}}
 	return a, nil
 }
 
-var _scriptsGet_supplyCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\xce\x3d\xaa\xc3\x30\x10\x04\xe0\x7e\x4f\x31\xb8\xb2\x9b\xa7\xe6\xf1\x8a\xd7\x27\x17\x88\x73\x80\x45\x96\xb0\x88\xfe\xd8\x5d\x83\x43\xc8\xdd\x03\xae\xe2\x76\x66\x18\x3e\xe7\x30\xaf\x49\xa1\x5e\x52\x37\x48\xe0\x45\x61\x6b\x80\x35\xe3\x0c\xdd\x7a\xcf\x4f\xc4\x14\xf2\x42\xce\xa1\xc5\xa3\xbc\xec\x5c\x7a\x0e\x73\x7b\x84\x0a\x2d\x2c\x06\xdf\xaa\x09\x7b\x23\x4a\xa5\x37\xb1\xf3\x26\x4a\x2b\x18\xbe\xa3\x81\x88\xbd\x0f\xaa\x23\xe7\x3c\x21\x6e\x15\x85\x53\x1d\xa7\x7f\xdc\xaf\x69\xff\xfb\xc5\x8b\x00\x40\x82\x6d\x52\x4f\x6f\x3f\x87\xed\x76\xd0\xe8\x4d\x9f\x00\x00\x00\xff\xff\x8f\xf7\xbd\x87\xc3\x00\x00\x00"
+var _scriptsGet_supplyCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\xce\x3d\x6a\xc3\x40\x10\xc5\xf1\x7e\x4e\xf1\x50\x25\x35\xd9\x26\xa4\x48\x9f\x5c\xc0\xf2\x01\x86\xd5\x08\x2d\xde\x2f\x66\x46\x20\x63\x7c\x77\x83\x2a\xbb\x7e\x8f\x3f\xbf\x10\x30\x6f\xc9\x60\x51\x53\x77\xa8\xf0\x62\xf0\x4d\xe0\xcd\x39\xc3\xf6\xde\xf3\x1d\x6b\x92\xbc\x50\x08\x68\xeb\x39\xfe\x1d\x5c\x7a\x96\xb9\xdd\xa4\xc2\x0a\xab\x23\xb6\xea\xca\xd1\x89\x52\xe9\x4d\x1d\xc3\xfb\x69\x20\xe2\x18\xc5\x6c\xe4\x9c\x27\xac\x7b\x45\xe1\x54\xc7\xe9\x17\xd7\xff\x74\xfc\x7c\xe3\x41\x00\xa0\xe2\xbb\xd6\x8f\xfe\xd7\x29\xb9\x9c\x10\x7a\xd2\x2b\x00\x00\xff\xff\xd2\xfd\xa1\x6d\xb1\x00\x00\x00"
 
 func scriptsGet_supplyCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -404,11 +404,11 @@ func scriptsGet_supplyCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_supply.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0xd5, 0xf3, 0x75, 0xbf, 0xc, 0x80, 0x25, 0xb3, 0x59, 0x1, 0x8c, 0xc6, 0x48, 0xfe, 0x86, 0xbb, 0x9, 0x17, 0xd, 0xcc, 0x8c, 0x6a, 0xbd, 0x42, 0x10, 0xf, 0x68, 0x44, 0x60, 0xad, 0x57}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0x3c, 0xc, 0x52, 0x8e, 0x74, 0x2e, 0x22, 0x44, 0xf5, 0xa0, 0x5, 0xc1, 0x1c, 0xd1, 0x7c, 0x1f, 0x2c, 0xff, 0x1, 0x86, 0x2b, 0xa5, 0xab, 0x70, 0xa3, 0x21, 0x31, 0xd1, 0x71, 0x8a, 0x8b}}
 	return a, nil
 }
 
-var _scriptsGet_supported_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x53\x4d\x8f\x9b\x30\x10\xbd\xf3\x2b\x9e\x72\xe8\x82\x54\x91\x7b\xd4\x76\x95\x1e\xaa\x1e\x57\x49\xda\x33\xc6\x0c\xb1\xb5\x06\xa3\xf1\x10\x14\x45\xf9\xef\x95\x4d\xd2\x0d\x51\xcb\x09\x8d\xe6\x7d\xf8\xcd\x8c\xed\x06\xcf\x82\x1f\x63\x7f\xb4\xb5\xa3\x83\x7f\xa7\x1e\x2d\xfb\x0e\xab\x45\x6d\x95\x65\xeb\xf5\x1a\x07\x63\x03\x82\x66\x3b\x48\x00\x93\x8c\xdc\x07\x88\x21\x84\x71\x88\x44\xd4\x2c\xa9\x5e\x02\xe4\x3c\x10\xea\x73\xea\x1a\xd8\x9f\x6c\x43\x0d\x2a\x51\x7c\x24\xa9\xa0\x9a\x86\x29\x84\x32\xb1\x3f\x57\x11\x8c\x1f\x5d\x03\xe3\x5d\x93\xf0\x5a\x0d\xaa\xb6\xce\xca\x19\x93\xb1\xda\x40\xfb\xbe\xf5\xdc\x05\x4c\x56\xcc\x52\xba\xdc\x91\x26\x7b\x22\x06\x53\x10\xb6\x3a\x9a\x8b\x66\x92\xd4\x64\xac\x23\x58\x41\xe3\x29\xf4\x2f\x82\x4e\x89\x10\x63\x32\x24\x86\xf8\x51\x89\xa9\x25\x0e\x10\x8f\xf6\xc6\x0f\x49\x31\x79\x86\x82\x1e\x83\xf8\x0e\x7c\x17\x73\xf6\x9d\x30\xbf\x66\x61\x67\x3f\x59\xd1\xa6\xf6\x8a\x9b\x2a\x22\xab\x54\xbd\x7b\xac\x4a\xfc\xf4\x13\x45\x82\x5b\x08\x6f\x4a\x4c\x05\x21\xe7\x42\x34\xc5\xf4\x1c\x40\x10\xcf\x14\x32\xa5\x35\x85\x90\x2b\xe7\x8a\xe8\x0f\x9d\xb2\x7d\x3e\x53\x6c\xb0\x9d\x73\xfc\x8c\x0f\xce\x0d\xde\xc6\xda\x59\x1d\xff\x8b\x0d\x2e\x87\xf3\x40\x1b\x7c\xf7\xde\x5d\x71\xc9\x32\x00\x58\xaf\xb1\x4d\xac\xcf\x92\xad\xe7\xe5\x18\x67\xda\xfb\xb8\x12\xd8\x91\x3c\x40\x76\xd4\xe2\x2b\x8e\x24\x5b\xad\xfd\xd8\xcb\xcd\x59\x51\xfe\x6d\xb1\x14\xca\xda\x33\xfb\xe9\xcb\xa7\xcb\xbf\x07\x78\xfd\x96\x7f\xf8\x2f\x92\x4a\xfc\x5e\x5f\x31\xa8\xde\xea\x7c\xf5\xab\x57\xf3\x54\x30\x33\x2d\xf6\x24\x2e\xc6\xc3\x06\x84\xb1\x9e\x57\xf2\x7f\x62\xf3\xf6\x0f\x4a\xcc\xaa\xd4\xbe\xd7\x4a\x1e\xd4\x4b\xf1\x7b\x61\xdb\x1f\xf3\xa2\x28\xee\x61\xed\xd2\x1d\x3c\x9d\xc1\x49\x8d\x4e\x92\x52\x28\x53\xe3\x7c\x2d\xcb\x6c\xca\x23\xc9\xfe\x0e\xf9\x1d\x11\x71\x1c\x21\x2f\xb2\xeb\x9f\x00\x00\x00\xff\xff\x7f\xdd\x37\x37\x99\x03\x00\x00"
+var _scriptsGet_supported_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x93\x4f\x6f\x9b\x40\x10\xc5\xef\x7c\x8a\x27\x1f\x1a\x90\x2a\x7c\xb7\xda\x46\xe9\xa1\xea\x31\x4a\xd2\x9e\x59\x96\xc1\xbb\xca\xc2\xa2\x99\xc1\xc8\xb2\xfc\xdd\xab\x05\xbb\x31\x56\xeb\x93\xb5\x9a\xf7\x7e\x8f\xf9\xe3\xbb\x21\xb2\x62\xf3\x63\xec\xf7\xbe\x0e\xf4\x16\xdf\xa9\xdf\x64\xd9\x76\xbb\xc5\x9b\xf3\x02\xb1\xec\x07\x15\x30\xe9\xc8\xbd\x40\x1d\x41\xc6\x21\xa9\xa8\xc1\x4a\xf6\x20\xd0\xe3\x40\xa8\x8f\x73\xd5\xc0\xf1\xe0\x1b\x6a\x50\xa9\xe1\x3d\x69\x05\xd3\x34\x4c\x22\xe5\xec\x7e\xff\x0a\x71\x71\x0c\x0d\x5c\x0c\xcd\xac\xb7\x66\x30\xb5\x0f\x5e\x8f\x98\x9c\xb7\x0e\x36\xf6\x6d\xe4\x4e\x30\x79\x75\x6b\x74\xf9\x42\x96\xfc\x81\x18\x4c\xa2\xec\x6d\x0a\x97\xc2\xcc\xa8\xc9\xf9\x40\xf0\x8a\x26\x92\xf4\x0f\x8a\xce\xa8\x12\x63\x72\xa4\x8e\xf8\x96\xc4\xd4\x12\x0b\x34\xa2\xbd\xf8\x43\x13\x00\x91\x61\x60\x47\xd1\xd8\x81\xaf\xb0\xe0\xdf\x09\xcb\xd7\xac\xe2\xbc\x4e\x5e\xad\xab\xa3\xe1\xa6\x4a\xca\x6a\x7e\xbd\x66\xac\x4a\xfc\x8c\x13\x25\x83\x4b\x13\x9e\x8d\xba\x0a\x4a\x21\x48\x0a\xc5\x74\xdf\x00\xd1\xc8\x24\x99\xb1\x96\x44\x72\x13\x42\x91\xf2\xa1\x33\xbe\xcf\x17\x8b\x1d\x9e\x96\x3e\x7e\xc6\x87\xe7\x0e\xcf\x63\x1d\xbc\x4d\xff\x8b\x1d\x4e\x6f\xc7\x81\x76\xf8\x1e\x63\x38\xe3\x94\x65\x00\xb0\xdd\xe2\x69\x76\xbd\x47\xb6\x91\xd7\x63\x5c\x6c\xaf\xe3\x9a\xc5\x81\xf4\x46\xf2\x42\x2d\xbe\x62\x4f\xfa\x64\x6d\x1c\x7b\xbd\x24\x2b\xca\xbf\x25\x9e\xa4\xac\x23\x73\x9c\xbe\x7c\x3a\xfd\x7b\x80\xe7\x6f\xf9\x47\xfe\x62\xa6\xa4\xdf\xe3\x23\x06\xd3\x7b\x9b\x6f\x7e\xf5\x66\x99\x0a\x16\xa7\xd5\x9e\xa4\xc5\xb8\xd9\x00\x19\xeb\x65\x25\xff\x07\x43\xcb\xb1\xc3\x60\xd4\x6d\x4a\x1b\x7b\x6b\xf4\x86\x5e\x6a\x7c\x55\xf6\xfd\x3e\x2f\x8a\xe2\xda\xac\x97\xf9\x0e\xee\xce\xe0\x60\xc6\xa0\x33\x49\xca\xb9\x70\xb9\x96\x75\x6f\xca\x3d\xe9\xeb\x55\xf2\x3b\x29\xd2\x38\x24\x2f\xb2\xf3\x9f\x00\x00\x00\xff\xff\x42\x4f\xb5\xad\x86\x03\x00\x00"
 
 func scriptsGet_supported_vault_typesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -424,11 +424,11 @@ func scriptsGet_supported_vault_typesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_supported_vault_types.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0x4, 0x1a, 0x9c, 0x9f, 0x51, 0xb3, 0xec, 0xab, 0x13, 0xc, 0x39, 0xf6, 0x88, 0xd5, 0x1c, 0x77, 0x74, 0x44, 0x9a, 0x7, 0xb2, 0x58, 0xf0, 0x1e, 0x1e, 0x32, 0x3, 0xcf, 0x2f, 0x96, 0xbd}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc6, 0x86, 0x77, 0x5e, 0x9a, 0x4b, 0xc9, 0x1f, 0x99, 0xc1, 0x61, 0x13, 0x81, 0xe, 0xc9, 0x79, 0xa0, 0x5, 0xf7, 0x5d, 0x1e, 0xb4, 0xf2, 0x48, 0x90, 0x75, 0x45, 0x8c, 0xc2, 0xac, 0x4, 0x5b}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x92\xc1\x8e\x9b\x30\x10\x86\xef\x3c\xc5\x94\x43\x05\x52\xc5\x03\xa0\x90\x28\x4a\x9b\x5b\xa5\x2a\x8a\x7a\x9f\x98\x21\xb1\x6a\x6c\x64\x0f\xa4\xab\xd5\xbe\xfb\xca\xd8\x20\xb2\xca\xb2\x1c\x00\x8f\xfe\xf9\xf9\xe6\x67\x64\xdb\x19\xcb\xf0\xeb\x3f\xb6\x9d\xa2\xb3\xf9\x47\x1a\x1a\x6b\x5a\x48\x97\xa5\x34\x89\xba\x63\xaf\xaf\xf2\x12\xab\xbf\x89\xb1\x46\xc6\xbf\x92\xee\x2e\x76\x7d\x2e\x78\xee\xf1\xac\x6d\x56\xfa\xbe\x13\x39\xa3\x06\xb2\x51\xb8\x2c\xa5\x49\x82\x42\x90\x73\x19\x2a\x95\x43\xd3\x6b\x68\x51\xea\x0c\xeb\xda\x92\x73\x25\xec\xc3\x4b\x5e\xae\x70\x17\xc7\xb3\x7f\xc2\x6b\x02\x00\xa0\x88\x01\x85\x30\xbd\x66\xa8\xe0\x4a\xbc\x0f\x87\xc9\x33\x4f\x66\xd9\x80\xbd\xe2\x9f\xc8\x08\xd5\x43\x7c\x85\x0d\x78\x07\xa3\xd9\xa2\x60\xef\x9e\xf9\x5a\x6f\x05\x9d\x5f\x3a\x2a\x41\x4b\xf5\x03\x06\x49\xf7\x70\xf4\xf7\xcd\x3a\xe1\xf4\xad\x6d\x96\xe7\x80\xee\xdb\x17\x03\x4d\xf2\xdd\x48\xeb\xaf\xdd\x0e\x3a\xd4\x52\x64\xe9\xc1\xf4\xaa\x06\x6d\xd8\x8f\x17\xa6\x00\xdf\x3c\x02\x41\x63\x2c\xf0\x8d\x40\x44\xfa\xf4\xe3\xc4\x27\x6a\xa0\x9a\x32\x2a\x04\x76\x78\x91\x4a\xb2\x24\x57\x5c\x8c\xb5\xe6\xbe\xf9\xfe\x90\xc6\xc8\xb2\xcd\xe6\xb4\x8a\x36\xc2\xfe\x41\xbe\xe5\xab\x7c\xc1\x0f\x10\x2c\x35\x64\x49\x0b\x02\x36\x23\x5d\xa0\xb6\xd3\x1e\x2c\x18\x9b\x31\x6f\xa8\xd6\x02\xba\x12\x87\x9f\x9e\x0d\x8b\x6d\x2a\xe7\xf9\xa2\x9d\x25\xee\xad\x8e\x8e\xc9\x5b\xf2\x1e\x00\x00\xff\xff\x55\xb3\x0f\xbf\x2b\x03\x00\x00"
+var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x92\x51\x6b\xab\x40\x10\x85\xdf\xfd\x15\x73\x7d\xb8\x28\x5c\xfc\x01\x12\x13\x42\x6e\xf3\x56\x28\x21\xf4\x7d\xb2\x8e\xc9\xd2\x75\x57\x66\x47\xd3\x52\xfa\xdf\xcb\xba\x9a\xa6\x85\xa4\x3e\xa8\x3b\x1c\xcf\x7e\xe7\xb8\xba\xed\x1c\x0b\xa4\x0f\xaf\xd8\x76\x86\xf6\xee\x85\x6c\x9a\xcc\xd3\x6d\x6f\x8f\xfa\x30\x8d\x1f\x49\xb0\x46\xc1\x67\x4d\x67\x7f\x43\xf3\x35\x0e\xaa\x1d\x79\x67\x06\xe2\x34\x49\x50\x29\xf2\x3e\x43\x63\x72\x68\x7a\x0b\x2d\x6a\x9b\x61\x5d\x33\x79\x5f\xc2\x3a\xbe\xe4\x25\xdc\xde\xb1\xd8\xee\xc3\x13\xde\x13\x00\x00\x43\x02\xa8\x94\xeb\xad\x40\x05\x47\x92\x75\x5c\xcc\x9e\x79\x72\x91\x0d\xd8\x1b\xf9\x8f\x82\x50\xc1\x75\xcc\x82\x23\xde\xc6\x59\x61\x54\x12\xdc\xb3\x30\xeb\x59\xd1\xfe\xad\xa3\x12\xac\x36\xff\x60\xd0\x74\x8e\xcb\x70\x5f\xdc\x27\x9c\xf7\x5a\x66\x79\x0e\xe8\xff\xfc\x12\x68\x96\xaf\x46\xda\x70\xad\x56\xd0\xa1\xd5\x2a\x4b\x37\xae\x37\x35\x58\x27\x21\x5e\x4c\x01\xe1\xe3\x11\x08\x1a\xc7\x20\x27\x02\x35\xd1\xa7\x3f\x13\xef\xa8\x81\x6a\xee\xa8\x50\xd8\xe1\x41\x1b\x2d\x9a\x7c\x71\x70\xcc\xee\xbc\xf8\xfb\xad\x8d\x91\x65\x99\x5d\xda\x2a\xda\x09\xf6\x09\xe5\x94\xdf\xe5\x8b\x7e\x80\xc0\xd4\x10\x93\x55\x04\xe2\x46\xba\x48\xcd\xf3\x39\xb8\x62\x6c\xc6\xbe\xa1\xba\x57\xd0\x91\x24\xfe\xf4\x6c\xb8\x3a\x4d\xe5\x25\xdf\x64\xc7\x24\x3d\xdb\xc9\x31\xf9\x48\x3e\x03\x00\x00\xff\xff\xc9\x37\x5b\x08\xd4\x02\x00\x00"
 
 func scriptsMetadataGet_token_metadataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -444,11 +444,11 @@ func scriptsMetadataGet_token_metadataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_token_metadata.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x91, 0xf0, 0x8, 0xae, 0xce, 0x94, 0xfd, 0x85, 0x1, 0x56, 0x13, 0x2d, 0x94, 0x7a, 0x3f, 0x73, 0x89, 0xc8, 0x65, 0x95, 0x59, 0x2d, 0x5f, 0xfd, 0x83, 0x84, 0x66, 0x27, 0xaa, 0xc0, 0x8b, 0x35}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0xfc, 0x4e, 0xb4, 0x47, 0xb8, 0x1e, 0xb9, 0x13, 0x51, 0x56, 0xbe, 0x7c, 0x8b, 0x10, 0x98, 0x7c, 0xa, 0xb3, 0x49, 0x78, 0x0, 0x61, 0x80, 0xd6, 0x16, 0x9d, 0x83, 0x3f, 0xf7, 0xcd, 0xdb}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xcf\x8a\xdb\x30\x10\xc6\xef\x7e\x8a\xa9\x0f\xc5\x86\xe2\x07\x08\xf9\x43\x48\x9b\x5b\xa1\x84\x90\xfb\x44\x1e\x27\xa2\xb2\x64\x46\xe3\xa4\x65\xd9\x77\x5f\x64\xd9\x5e\x67\x49\x42\x7c\x30\xd6\x30\xdf\xf8\xf7\x7d\x1a\x5d\x37\x8e\x05\x7e\xfd\xc3\xba\x31\xb4\x77\x7f\xc9\x42\xc5\xae\x86\x74\x5a\x4a\x93\xbe\x6f\xdb\xda\x93\x3e\xf6\xd5\xdf\x24\x58\xa2\xe0\x41\xd3\xd5\xf7\xaa\xc7\x0d\xf7\x67\xdc\x93\x8d\x9d\x41\xb7\x23\xef\xcc\x85\xb8\x6f\x9c\x96\xd2\x24\x41\xa5\xc8\xfb\x0c\x8d\xc9\xa1\x6a\x2d\xd4\xa8\x6d\x86\x65\xc9\xe4\xfd\x0c\xd6\xf1\x23\x9f\x3d\xe1\x2e\xb6\xfb\x03\xb6\x46\x7e\xa2\x20\xbc\x25\x00\x00\x86\x04\x50\x29\xd7\x5a\x81\x05\x9c\x48\xd6\xf1\x30\x0c\xce\x93\xb1\xed\x32\x4a\x17\x37\x19\x16\x1c\x19\x37\xce\x0a\xa3\x92\xf0\xab\x2c\xd4\x5a\x56\xb4\xff\xdf\xd0\x0c\xac\x36\x3f\xe0\xa2\xe9\x1a\x8f\xe1\x3d\x7f\x0d\x73\x99\xe5\x39\xa0\xff\xf6\xa2\xab\x55\x47\x1b\x9e\xd5\x0a\x1a\xb4\x5a\x65\xe9\xc6\xb5\xa6\x04\xeb\x24\xd8\x8b\x2e\x20\x88\x3b\x20\xa8\x1c\x83\x9c\x09\x54\x4f\x9f\x7e\x75\xbc\xa3\x0a\x16\x43\x46\x85\xc2\x06\x8f\xda\x68\xd1\xe4\x8b\xa3\x63\x76\xd7\xf9\xf7\x9b\x34\x3a\x96\x65\x36\xa6\x55\xd4\x3d\xec\x1f\x94\x73\xfe\x94\x2f\xce\x03\x04\xa6\x8a\x98\xac\x22\x10\xd7\xd1\x45\x6a\x1e\x96\xe1\xc1\xad\x3c\xc9\xe8\x44\x32\x89\x29\x1b\x9c\xdd\xe3\x89\xbb\x5a\x3a\xf2\x1d\x94\x0e\xd6\x6a\xb2\x02\xd3\xed\x09\xd9\x0d\x18\x4c\xd2\xb2\xfd\x24\x49\xde\x93\x8f\x00\x00\x00\xff\xff\x0d\x2c\x40\x36\x6b\x03\x00\x00"
+var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\x5f\x6b\xea\x40\x10\xc5\xdf\xf3\x29\xce\xcd\xc3\x25\x81\x4b\x3e\x80\xf8\x07\xf1\xd6\xb7\x42\x11\xf1\x7d\xdc\x4c\x74\xe9\x66\x37\xec\x4e\xb4\xa5\xf4\xbb\x97\x4d\x8c\xda\x52\xc5\x3c\x84\xec\x61\x66\xe7\x77\x4e\x46\xd7\x8d\xf3\x82\xf4\xe9\x8d\xea\xc6\xf0\xda\xbd\xb2\x4d\x93\x41\x5d\xb6\x76\xa7\xb7\x27\xf9\x99\x85\x4a\x12\xda\x68\x3e\x86\x1b\x35\x17\x39\x56\xad\x38\x38\x73\x60\x9f\x26\x09\x29\xc5\x21\x64\x64\x4c\x8e\xaa\xb5\xa8\x49\xdb\x8c\xca\xd2\x73\x08\x23\xcc\xfb\x8f\x7c\x84\xdb\x13\x8b\xe5\x7a\x43\xad\x91\xff\x24\x84\x8f\x04\x00\x0c\x0b\x48\x29\xd7\x5a\xc1\x04\x3b\x96\x79\x7f\x18\x2e\xce\x93\x73\xd9\xe1\xdc\x3a\xc1\xb5\xd7\xc2\xf7\x8c\x0b\x67\xc5\x93\x92\x38\x2a\x8b\x5a\xeb\x15\xaf\xdf\x1b\x1e\xc1\x6a\xf3\x0f\x07\xcd\xc7\xfe\x18\xdf\xe3\xc7\x30\xa7\x59\x9e\x83\xc2\x9f\x07\x5d\xcd\x3a\xda\xf8\xcc\x66\x68\xc8\x6a\x95\xa5\x0b\xd7\x9a\x12\xd6\x49\xb4\xd7\xbb\x40\x6c\xee\x80\x50\x39\x0f\xd9\x33\xd4\x89\x3e\xfd\xe9\x78\xc5\x15\x26\x43\x46\x85\xa2\x86\xb6\xda\x68\xd1\x1c\x8a\xad\xf3\xde\x1d\xc7\x7f\xbf\xa5\xd1\xb1\x4c\xb3\x73\x5a\x45\x7d\x82\x7d\x21\xd9\xe7\x77\xf9\xfa\xfb\x40\xf0\x5c\xb1\x67\xab\x18\xe2\x3a\xba\x9e\xda\x0f\xcb\x70\xe3\xaf\xdc\xc9\x68\xc7\x72\x15\x53\x36\x38\xfb\x8d\xa7\xeb\x46\xe9\x38\x74\x50\x3a\x5a\xab\xd9\x0a\xae\xb7\x27\x66\x37\x60\x78\x96\xd6\xdb\x0b\x49\xf2\x99\x7c\x05\x00\x00\xff\xff\x3b\x31\x07\x10\x14\x03\x00\x00"
 
 func scriptsMetadataGet_vault_dataCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -464,11 +464,11 @@ func scriptsMetadataGet_vault_dataCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_data.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0xc2, 0xf3, 0xff, 0xd4, 0x87, 0x39, 0x3c, 0x78, 0x58, 0xe2, 0x19, 0x3d, 0xd8, 0xca, 0xd9, 0x99, 0xa3, 0x87, 0xfd, 0xc4, 0x4, 0xc8, 0x2, 0x58, 0x9f, 0xa9, 0xa0, 0x28, 0x9e, 0x7c, 0x26}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xac, 0x3d, 0xd, 0xf, 0x6f, 0x5f, 0xca, 0x47, 0x3d, 0x78, 0x5f, 0xb, 0xa, 0x53, 0x78, 0xe, 0x43, 0x6b, 0x95, 0xa2, 0x5a, 0x6d, 0x68, 0xae, 0xde, 0x44, 0x79, 0x1, 0xf1, 0xc0, 0x85, 0x5e}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\xd1\xca\xda\x40\x10\x85\xef\xf3\x14\xd3\x5c\x94\x04\x4a\x1e\x40\xfe\x28\xa2\xf5\xae\x50\x44\xbc\x1f\x37\x13\x5d\xba\xd9\x0d\xb3\x13\xad\x94\xbe\x7b\xd9\x6c\x12\xb5\xf8\xc7\x0b\xc9\x0e\x67\x66\xbf\x73\x76\x74\xd3\x3a\x16\xf8\xfe\x1b\x9b\xd6\xd0\xc1\xfd\x22\x0b\x35\xbb\x06\xd2\xe7\x52\x9a\x0c\xba\x5d\x67\xcf\xfa\x34\x54\x7f\x90\x60\x85\x82\x47\x4d\x37\x3f\x74\x7d\x2e\x78\x3f\xe3\x5d\xdb\xa4\x0c\x7d\x7b\xf2\xce\x5c\x89\x07\xe1\x73\x29\x4d\x12\x54\x8a\xbc\xcf\xd0\x98\x1c\xea\xce\x42\x83\xda\x66\x58\x55\x4c\xde\x2f\x60\x1d\x3f\xf2\xc5\x0c\x77\xb1\x3b\x6c\xb5\x6f\x0d\xde\xe1\x4f\x02\x00\x60\x48\x00\x95\x72\x9d\x15\x28\xe1\x4c\xb2\x8e\x87\x71\x6c\x9e\x4c\xb2\x2b\x76\x46\xb6\x28\x08\xe5\x4b\x82\x05\x47\xc2\x8d\xb3\xc2\xa8\x24\x5c\x94\x85\x5a\xc7\x8a\x0e\xf7\x96\x16\x60\xb5\xf9\x06\x57\x4d\xb7\x78\x0c\xff\x1f\xb3\x90\xc7\xf1\xae\x65\x96\xe7\x80\xfe\xcb\xbc\xa7\x49\xbe\xea\x69\xc3\x6f\xb5\x82\x16\xad\x56\x59\xba\x71\x9d\xa9\xc0\x3a\x09\xf6\xa2\x0b\x08\xcd\x3d\x10\xd4\x8e\x41\x2e\x04\x6a\xa0\x4f\xff\x77\xbc\xa7\x1a\xca\x31\xa3\x42\x61\x8b\x27\x6d\xb4\x68\xf2\xc5\xc9\x31\xbb\xdb\xc7\xd7\x97\x34\x7a\x96\x65\x36\xa5\x55\x34\x03\xec\x4f\x94\x4b\x3e\xcb\x17\xe7\x01\x02\x53\x4d\x4c\x56\x11\x88\xeb\xe9\x22\x35\x8f\xab\xf0\xc4\x58\xcb\xf8\xa0\xe5\x5c\x46\x67\x92\xe9\xe9\xb3\xd1\xd7\x3b\x9a\xb8\xa7\x95\x23\xdf\x23\xe9\x60\xac\x21\x2b\xf0\xd8\x9c\x90\xdb\x88\xc0\x24\x1d\xdb\x07\x45\xf2\x37\xf9\x17\x00\x00\xff\xff\x73\x8b\x51\x9e\x65\x03\x00\x00"
+var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\x51\x6b\xc2\x30\x10\xc7\xdf\xfb\x29\x6e\x7d\x18\x2d\x8c\x7e\x00\xb1\x8a\xe8\x7c\x1b\x0c\x11\xdf\xcf\xf4\xaa\x61\x69\x52\x92\xab\x4e\xc6\xbe\xfb\x48\x63\xaa\x1b\xb3\x7d\x28\xc9\xf1\x4f\xee\xf7\xff\xe7\x64\xd3\x1a\xcb\x90\xbe\x7e\x62\xd3\x2a\xda\x9a\x0f\xd2\x69\x12\xab\xeb\x4e\x1f\xe4\xfe\x5a\x7e\x23\xc6\x0a\x19\x77\x92\xce\xee\x81\xe6\x56\xf6\xaa\x0d\x39\xa3\x4e\x64\xd3\x24\x41\x21\xc8\xb9\x0c\x95\xca\xa1\xee\x34\x34\x28\x75\x86\x55\x65\xc9\xb9\x09\x2c\xc2\x22\x9f\xc0\xe3\x8e\xc5\x7a\xbb\x92\xae\x55\x78\x81\xaf\x04\x00\x40\x11\x03\x0a\x61\x3a\xcd\x50\xc2\x81\x78\x11\x36\xf1\xda\x3c\x19\x64\x27\xec\x14\xaf\x90\x11\x4a\xb8\x77\x5a\xd8\x40\xb8\x34\x9a\x2d\x0a\xf6\x8d\x32\x5f\xeb\xac\xa0\xed\xa5\xa5\x09\x68\xa9\x5e\xe0\x24\xe9\x1c\xb6\xfe\x3f\x1d\x85\xdc\xc5\x5e\xb3\x2c\xcf\x01\xdd\xd3\xb8\xa7\x41\x3e\xef\x69\xfd\x37\x9f\x43\x8b\x5a\x8a\x2c\x5d\x9a\x4e\x55\xa0\x0d\x7b\x7b\xc1\x05\xf8\xc3\x3d\x10\xd4\xc6\x02\x1f\x09\xc4\x95\x3e\xfd\xeb\x78\x43\x35\x94\x31\xa3\x42\x60\x8b\x7b\xa9\x24\x4b\x72\xc5\xde\x58\x6b\xce\xd3\xe7\x5f\x69\xf4\x2c\xb3\x6c\x48\xab\x68\xae\xb0\xef\xc8\xc7\x7c\x94\x2f\xdc\x07\x08\x96\x6a\xb2\xa4\x05\x01\x9b\x9e\x2e\x50\xdb\x38\x0a\x77\x8c\x35\xc7\x07\x2d\xc7\x32\x3a\x10\x0f\x4f\x9f\x45\x5f\xff\xd1\xf4\x67\xa1\x32\xe4\x7a\x24\xe9\x8d\x35\xa4\x19\x6e\x93\xe3\x73\x8b\x08\x96\xb8\xb3\xfa\x46\x91\x7c\x27\x3f\x01\x00\x00\xff\xff\xbd\x1a\x99\xeb\x0e\x03\x00\x00"
 
 func scriptsMetadataGet_vault_displayCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -484,11 +484,11 @@ func scriptsMetadataGet_vault_displayCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_display.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0x91, 0x5d, 0x9d, 0x2b, 0x64, 0x67, 0x5c, 0xad, 0xb5, 0x60, 0xfb, 0x1a, 0xa3, 0xc1, 0x58, 0xbb, 0xc4, 0xe5, 0xee, 0xc8, 0xa7, 0x49, 0x7a, 0x45, 0x4b, 0xdf, 0x93, 0xa3, 0xd9, 0x11, 0xec}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x78, 0x95, 0x2f, 0x6d, 0x3e, 0x77, 0x8, 0x66, 0x9b, 0x5d, 0x2d, 0xd3, 0x7e, 0xb4, 0xb0, 0x7b, 0xa4, 0xd4, 0x2c, 0x68, 0xc3, 0x3d, 0x31, 0xea, 0x37, 0x8c, 0xaf, 0x8a, 0x30, 0xd6, 0xc3, 0x8b}}
 	return a, nil
 }
 
-var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x52\x4d\x6f\xdb\x30\x0c\xbd\xeb\x57\xb0\x3e\x6c\x36\x30\x38\x97\x61\x87\xa0\x6e\x50\x74\xcb\x4e\x03\x86\x2e\xeb\x9d\x91\xe9\x56\x98\x2c\x19\x14\x9d\x34\x18\xf6\xdf\x07\x59\xb6\xe3\x16\xfd\xf0\xc1\x90\xa8\xc7\xc7\xc7\x47\x9a\xb6\xf3\x2c\xf0\xed\x11\xdb\xce\xd2\xce\xff\x21\x07\x0d\xfb\x16\xb2\x65\x28\x53\x23\x6e\xdb\xbb\x7b\xb3\x1f\xa3\x3f\x48\xb0\x46\xc1\x3b\x43\xc7\x30\x66\xbd\x0e\x78\x99\xe3\xa5\xb4\x19\x19\xf3\x6e\x29\x78\x7b\x20\x1e\x81\xcb\x50\xa6\xd4\x6a\xb5\x82\xef\x24\x01\xe4\x81\x40\xbc\xa0\x85\xd0\x77\x9d\x3d\x81\x6f\x86\xd8\x01\x7b\x2b\x1f\x03\xc8\x50\xac\x36\x4c\x5a\xec\x29\x91\xcd\xef\x4a\xa1\xd6\x14\x42\x8e\xd6\x16\xd0\xf4\x0e\x5a\x34\x2e\xc7\xba\x66\x0a\x61\x0d\xd7\xe9\x50\xac\xe1\xf7\xd6\x3c\x7e\xf9\x0c\x7f\x15\x00\x80\x25\x01\xd4\xda\xf7\x4e\xa0\x82\x7b\x92\xeb\x74\x99\x12\x0b\x35\xc3\x86\x32\x5f\x51\x10\xaa\x27\x5e\x97\x9c\x7a\xb9\xf1\x4e\x18\xb5\xc4\xf6\xf2\x18\xeb\x59\xd3\xee\xd4\xd1\x1a\x9c\xb1\x9f\xe0\x60\xe8\x98\xae\xf1\x7f\xf9\xba\xcb\xe5\x76\x77\x37\xd5\xba\xca\x8b\x02\x30\x5c\xbc\x31\xb5\x25\x7c\x33\xa8\x8d\xdf\x66\x03\x1d\x3a\xa3\xf3\xec\xc6\xf7\xb6\x06\xe7\x25\xb6\x97\xba\x80\x98\x3c\x08\x82\xc6\xf3\x60\xa2\x1e\xd5\x67\xcf\x3b\xbe\xa5\x06\xaa\xc9\xa3\x52\x63\x87\x7b\x63\x8d\x18\x0a\xe5\xde\x33\xfb\xe3\xe5\x87\x27\x6e\x0c\x5a\xae\xf2\xd9\xad\xb2\x1d\xc5\xfe\x44\x79\x28\xde\xd4\x97\xf8\x00\x81\xa9\x21\x26\xa7\xe3\x3e\x9c\x47\x0c\x3c\x2d\xcd\x42\x63\x23\xbf\xd2\xb2\x54\xb3\xdc\x69\x20\xc3\x20\xde\xf3\x7a\x17\x17\x2e\x51\x44\xaf\x2f\xce\xcc\x69\x09\x23\x0a\xaa\x73\x99\x77\x66\xb1\xa0\x4b\x4c\x4c\xd2\xb3\x5b\x90\x95\xe9\xa8\xfe\xa9\xff\x01\x00\x00\xff\xff\x5f\x56\xcb\x59\xb8\x03\x00\x00"
+var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x52\xc1\x8e\xd3\x30\x10\xbd\xfb\x2b\xde\xf6\x00\x89\x84\xd2\x0b\xe2\x50\x6d\xb6\x5a\x2d\x94\x13\x12\x5a\xca\xde\xa7\xce\x64\xd7\xc2\xb1\x23\x7b\xd2\x6e\x85\xf8\x77\xe4\xb8\x69\x0a\xd2\xb2\xf4\x50\xd9\x93\xf1\x9b\xf7\xde\x3c\xd3\xf5\x3e\x08\x16\x9f\x9e\xa9\xeb\x2d\x6f\xfd\x0f\x76\x0b\x35\x55\x37\x83\x7b\x34\xbb\x53\xf9\x0b\x0b\x35\x24\xf4\x60\xf8\x10\x5f\xe8\x99\xcb\xa9\xeb\x9e\xa3\xb7\x7b\x0e\x0b\xa5\x96\xcb\x25\x3e\xb3\x44\xc8\x13\x43\xbc\x90\x45\x1c\xfa\xde\x1e\xe1\xdb\xb1\xb6\xa7\xc1\xca\xdb\x08\x49\x30\x68\x4c\x60\x2d\xf6\x88\x36\xf8\x6e\xfe\xae\x14\x69\xcd\x31\x16\x64\x6d\x89\x76\x70\xe8\xc8\xb8\x82\x9a\x26\x70\x8c\x2b\xdc\xe6\x43\xb9\xc2\xf7\x8d\x79\xfe\xf0\x1e\x3f\x15\x00\x58\x16\x90\xd6\x7e\x70\x82\x1a\x8f\x2c\xb7\xf9\x32\x3d\x2c\xd5\xb9\x6d\x1c\xf3\x91\x84\x50\xe3\xd2\x93\x2a\x64\x2d\x77\xde\x49\x20\x2d\x49\x5e\x91\x6a\x43\xd0\xbc\x3d\xf6\xbc\x82\x33\xf6\x1d\xf6\x86\x0f\xf9\x9a\xfe\xaf\x5f\x36\xb0\xda\x6c\x1f\xa6\x59\x37\x45\x59\x82\xe2\x15\xfe\xaf\x7d\x3d\xb2\x4d\xbf\xf5\x1a\x3d\x39\xa3\x8b\xc5\x9d\x1f\x6c\x03\xe7\x25\xc9\xcb\x2a\x90\x1e\x8f\x84\xd0\xfa\x30\x9a\xa8\x4f\xec\x17\x7f\x2b\xbe\xe7\x16\xf5\xe4\x51\xa5\xa9\xa7\x9d\xb1\x46\x0c\xc7\x6a\xe7\x43\xf0\x87\xeb\x37\x7f\xb8\x31\x72\xb9\x29\xce\x6e\x55\xdd\x89\xec\x57\x92\xa7\xf2\x9f\xfc\x32\x1e\x08\x81\x5b\x0e\xec\x74\xca\xc3\xbc\x62\x84\x29\x34\x17\x1c\x5b\xf9\x96\xc3\x52\x9f\xe9\x4e\x0b\x19\x17\xf1\x9a\xd7\xdb\x14\xb8\x0c\x91\xbc\xbe\x9a\x91\x73\x08\x53\x17\xea\x79\xcc\x2b\xbb\xb8\x80\xcb\x48\x81\x65\x08\xee\x02\xac\xca\x47\xf5\x4b\xfd\x0e\x00\x00\xff\xff\x3c\x7c\x95\xe9\x61\x03\x00\x00"
 
 func scriptsMetadataGet_vault_supply_viewCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -504,11 +504,11 @@ func scriptsMetadataGet_vault_supply_viewCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/metadata/get_vault_supply_view.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x45, 0xf, 0xd6, 0xd1, 0x1f, 0xd8, 0x8f, 0x54, 0x7f, 0xf6, 0xee, 0x8f, 0x56, 0x7f, 0x94, 0x5d, 0x17, 0xff, 0xf6, 0x91, 0x1a, 0x40, 0x8a, 0xfe, 0xfb, 0xfc, 0x26, 0x55, 0xb1, 0x97, 0xe4, 0x7b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd4, 0x58, 0x26, 0x46, 0x13, 0x4a, 0x14, 0x30, 0x81, 0x47, 0x51, 0x27, 0xa, 0x1b, 0xb8, 0xda, 0x1a, 0x8e, 0x71, 0x73, 0x2, 0xb6, 0x49, 0x3e, 0x82, 0x6b, 0x6b, 0xe7, 0x57, 0x52, 0xd6, 0x81}}
 	return a, nil
 }
 
-var _scriptsSwitchboardCheck_receiver_by_typeCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x91\x41\x6f\xe2\x30\x14\x84\xef\xf9\x15\xa3\x1c\x56\xf6\x25\x3f\x00\xb1\xb0\xb0\x6a\xcf\x08\x68\xef\xce\xcb\x4b\x62\xe1\xd8\x91\xf3\x52\x1a\x21\xfe\x7b\x45\x93\xb6\x69\x25\x0e\xbd\x3d\x7b\x66\xec\xcf\x63\xdb\xb4\x21\x0a\x1e\x7b\x5f\xd9\xdc\xf1\x31\x9c\xd8\x1f\xce\x56\xa8\xce\x83\x89\x05\xca\x18\x1a\xa4\xf7\xe4\x34\x99\xf2\x0f\xaf\xa6\x69\x27\x7d\xca\xcc\xb7\xd2\x24\x31\x44\xdc\x75\xca\x38\xa7\x51\xf6\x1e\x8d\xb1\x5e\x75\x5f\x47\x2d\xb0\x29\x8a\xc8\x5d\xa7\x17\xd8\x86\xe0\x70\x49\x1c\x0b\x66\x8e\x3d\x97\xf8\x8b\x8a\x65\x43\x14\x7a\x2f\xf3\xb4\x4e\x00\x20\xab\x58\xfe\x9b\xd6\xe4\xd6\x59\x19\x96\x7f\x2e\xf7\xb8\xb3\xd9\xbc\xeb\x73\x67\xe9\xba\x52\x77\xcd\xa3\x63\x67\xa4\x9e\xae\xc9\x43\x8c\xe1\xac\x34\xde\x97\xeb\x35\x5a\xe3\x2d\xa9\xf4\xc9\x9b\xdc\x31\x24\x60\x74\x80\x3e\x61\x70\xb6\x52\x23\x72\x27\xd1\x92\x70\x01\x19\x5a\x46\x28\xf1\x1b\xc6\xa9\xd9\x8c\x82\x27\xf3\xed\xfd\x99\x84\x83\x44\xeb\x2b\xa5\xf5\x87\x8c\xd4\x8c\x45\xa5\x7a\xe4\x8e\x2c\x7d\xf4\x3f\x2a\xcd\xa8\x66\x3a\xed\x99\xd8\xbe\x70\xdc\x0e\xc7\xa1\x65\x75\x83\x5b\xe0\x36\x2e\xff\xcd\xff\x31\x7b\x36\xbd\x93\x95\xd2\x3a\xb9\xbe\x05\x00\x00\xff\xff\xda\xcb\x5c\xb3\x3a\x02\x00\x00"
+var _scriptsSwitchboardCheck_receiver_by_typeCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x91\xc1\x6e\xea\x30\x10\x45\xf7\xf9\x8a\xab\x2c\x9e\xec\x4d\x3e\x00\xf1\xa0\x50\xb5\x6b\x04\xb4\x7b\x67\x32\x49\x2c\x1c\x3b\x72\x26\xa5\x11\xe2\xdf\x2b\x1a\x68\xd3\x4a\x2c\xba\x1b\xcb\xe7\xca\xc7\x77\x6c\xd3\x86\x28\x48\x9f\x7b\x5f\xd9\xdc\xf1\x3e\x1c\xd8\xef\x8e\x56\xa8\xce\x83\x89\x45\x9a\xdc\x88\xa7\x77\xd3\xb4\x57\x20\x4d\x12\x43\xc4\x5d\xa7\x8c\x73\x1a\x65\xef\xd1\x18\xeb\x55\xf7\x1d\x9c\x61\x55\x14\x91\xbb\x4e\xcf\xb0\x0e\xc1\xe1\x94\x38\x16\x4c\x88\x2d\x97\xf8\x8f\x8a\x65\x45\x14\x7a\x2f\xd3\xb4\x4e\x00\x20\xab\x58\x1e\x4d\x6b\x72\xeb\xac\x0c\xf3\x7f\xa7\x7b\x96\xd9\x64\xde\xf4\xb9\xb3\x74\x5e\xa8\xbb\xf0\x48\x6c\x8c\xd4\xd7\x67\xf2\x10\x63\x38\x2a\x8d\xcf\xe3\x72\x89\xd6\x78\x4b\x2a\x7d\xf1\x26\x77\x0c\x09\x18\x09\xd0\x97\x0c\x8e\x56\x6a\x44\xee\x24\x5a\x12\x2e\x20\x43\xcb\x08\x25\xfe\xe2\x88\x32\x86\x06\x69\x46\xc1\x93\xf9\xf1\xff\x4c\xc2\x4e\xa2\xf5\x95\xd2\xfa\x76\x8d\xd4\x8c\x45\xa5\x7a\xf4\x8e\x2c\x7d\xf4\xbf\x2a\xcd\xa8\x66\x3a\x6c\x99\xd8\xbe\x71\x5c\x0f\xfb\xa1\x65\x75\x91\x9b\xe1\x32\xce\x1f\xa6\x7b\xcc\x5e\x4d\xef\x64\xa1\xb4\x4e\xce\x1f\x01\x00\x00\xff\xff\x42\x49\x50\xe3\x0a\x02\x00\x00"
 
 func scriptsSwitchboardCheck_receiver_by_typeCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -524,11 +524,11 @@ func scriptsSwitchboardCheck_receiver_by_typeCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/switchboard/check_receiver_by_type.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0xb8, 0x6e, 0x4b, 0xcb, 0x6a, 0xa3, 0x48, 0xfb, 0xf, 0xdc, 0xa5, 0xe5, 0x47, 0xac, 0x7c, 0xae, 0xc4, 0x91, 0x8b, 0x70, 0x1, 0x95, 0xf7, 0x73, 0xee, 0xf6, 0x9e, 0x85, 0x22, 0xec, 0xc9}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x28, 0xbd, 0x17, 0x97, 0x36, 0x67, 0x9d, 0x1d, 0x71, 0xf7, 0xf1, 0x0, 0x2c, 0x7c, 0xa2, 0x2a, 0xde, 0xb2, 0x26, 0x85, 0xa2, 0x40, 0xc, 0xb, 0x9c, 0x93, 0x79, 0xea, 0xb6, 0xf1, 0xa8, 0xca}}
 	return a, nil
 }
 
-var _scriptsSwitchboardGet_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x91\xcd\x0a\xdb\x30\x10\x84\xef\x7a\x8a\xc1\x87\x62\x5f\xec\x7b\x68\x1a\x42\xa0\xbd\x86\x34\xf4\x52\x0a\x91\xe5\xb5\x2d\x2a\x4b\x46\x5a\x37\x84\x90\x77\x2f\xb2\x9a\xc6\x29\x09\xd4\x27\xa3\xfd\x66\x66\x7f\xf4\x30\x3a\xcf\xf8\x3c\xd9\x4e\xd7\x86\x8e\xee\x27\x59\xb4\xde\x0d\xc8\x9e\xde\x32\xf1\x8a\xfc\x7a\xd6\xac\xfa\xda\x49\xdf\xbc\x12\x2d\xca\x99\x10\x55\x85\x63\xaf\x03\x82\xf2\x7a\x64\x78\x92\x4d\x00\xf7\x84\xc0\xce\x53\x83\x5f\x72\x32\x0c\x25\x47\x59\x6b\xa3\x59\x53\x48\x9e\x12\x61\x11\xe3\x6c\xd4\x44\xb3\x51\x86\x40\x0d\xa4\x52\x6e\xb2\x2c\xa4\x52\x14\x42\x2e\x8d\x29\xd0\x4e\x16\x83\xd4\x36\xff\x53\x5c\x61\xdb\x34\x9e\x42\x28\x56\xf8\x7e\xbc\x8c\xf4\x03\x57\x21\x00\xc0\x10\x47\x07\xc6\x1a\x1d\xf1\x36\xe1\x77\x59\x91\x98\xaa\xc2\x97\x88\xc1\x53\x4b\x9e\xac\x22\xb0\x4b\x9d\x2f\x1a\x53\xce\xb6\xce\x0f\xda\x76\xb1\xba\x18\x7d\x3f\xd5\x46\xab\xbf\x69\x0b\xcd\x81\x5a\xac\xe7\xf8\xb2\x23\xde\xdd\x27\xbf\xe4\xef\xb6\x58\x26\xaf\xbd\xe4\xbe\x98\x0d\xe3\x57\xd6\xce\x7b\x77\xfe\xf8\xe1\xad\x6a\xf1\x7f\xfd\x1f\x28\xa5\xdc\x3e\xe5\x8f\x90\xcd\x06\xa3\xb4\x5a\xe5\xd9\xce\x4d\xa6\x81\x75\x8c\x94\xfb\xbc\x95\xc5\x74\xd9\x63\x7d\x07\xe2\xc9\xcf\x87\x83\xa7\x10\xcf\xec\x5a\x9c\x3a\xe2\x6f\xf1\xe6\xf1\x20\x21\x2f\x4e\x33\xed\x13\xfa\xbc\xa5\xf2\x1f\x54\x88\x9b\xf8\x1d\x00\x00\xff\xff\x0f\x40\x25\x01\xba\x02\x00\x00"
+var _scriptsSwitchboardGet_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x51\x4d\x6b\xe3\x30\x10\xbd\xeb\x57\x3c\x7c\x58\xec\x8b\x7d\x0f\x9b\x0d\x21\xb0\x7b\x0d\xd9\xd0\x4b\x29\x44\x96\xc7\xb6\xa8\x2c\x19\x69\xdc\x10\x42\xfe\x7b\x91\xdd\x34\x4e\x69\xa0\x3e\x19\xcd\xfb\x98\x79\x4f\x77\xbd\xf3\x8c\xe4\xef\x60\x1b\x5d\x1a\xda\xbb\x57\xb2\x89\xf8\xf6\xf9\xff\x51\xb3\x6a\x4b\x27\x7d\x95\x08\x51\x14\xd8\xb7\x3a\x20\x28\xaf\x7b\x86\x27\x59\x05\x70\x4b\x08\xec\x3c\x55\x78\x93\x83\x61\x28\xd9\xcb\x52\x1b\xcd\x9a\x02\x6a\xef\x3a\x48\x84\x9b\x0e\x9c\x8d\x9c\x28\xd6\xcb\x10\xa8\x82\x54\xca\x0d\x96\x85\x54\x8a\x42\x48\xa5\x31\x19\xea\xc1\xa2\x93\xda\xa6\x1f\xc3\x05\xd6\x55\xe5\x29\x84\x6c\x81\xe7\xfd\xa9\xa7\x17\x9c\x85\x00\x00\x43\x1c\x15\x18\x4b\x34\xc4\xeb\x09\x7e\xa5\x65\x13\xa6\x28\xf0\x2f\xc2\xe0\xa9\x26\x4f\x56\x11\xd8\x4d\x9b\xcf\x16\x53\xce\xd6\xce\x77\xda\x36\x71\x3a\x3b\x7d\x3b\x94\x46\xab\x4f\xb7\x19\x67\x47\x35\x96\xa3\x7d\xde\x10\x6f\xae\x97\x9f\xd2\x47\x29\xe6\x93\xd6\x56\x72\x9b\x8d\x82\xf1\xcb\x4b\xe7\xbd\x3b\xfe\xfe\xf5\x90\x35\xfb\x3f\xff\x04\x34\xb9\x5c\xfe\xa4\x37\x93\xd5\x0a\xbd\xb4\x5a\xa5\xc9\xc6\x0d\xa6\x82\x75\x8c\xc9\xf7\x3e\x95\xd9\x75\xc9\x2d\xbe\x1d\xf1\xe0\xc7\xe2\xe0\x29\xc4\x9a\x5d\x8d\x43\x43\xfc\x14\x3b\x8f\x85\x84\x34\x3b\x8c\x68\x3f\x41\xef\x53\xca\xbf\x40\x85\xb8\x88\xf7\x00\x00\x00\xff\xff\x34\x76\xa3\x3d\x89\x02\x00\x00"
 
 func scriptsSwitchboardGet_vault_typesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -544,11 +544,11 @@ func scriptsSwitchboardGet_vault_typesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/switchboard/get_vault_types.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0x74, 0x9c, 0xc1, 0x57, 0xd3, 0x1b, 0xfe, 0x8, 0x2c, 0x71, 0xb9, 0x27, 0x9a, 0xd1, 0x61, 0xe0, 0x73, 0x5e, 0x58, 0xb4, 0xd9, 0x69, 0x25, 0x6f, 0x62, 0x61, 0x45, 0x1a, 0xbd, 0x79, 0x52}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5b, 0x3a, 0x34, 0x84, 0xf0, 0x9c, 0x3d, 0xf2, 0x3, 0xc9, 0x31, 0xb0, 0xa9, 0x89, 0x21, 0xb5, 0xd3, 0x99, 0xef, 0xa1, 0x62, 0x13, 0x4e, 0x29, 0x51, 0xba, 0x55, 0xcb, 0x65, 0x30, 0xc3, 0x48}}
 	return a, nil
 }
 
-var _scriptsSwitchboardGet_vault_types_and_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x91\x41\x6f\xa3\x30\x10\x85\xef\xfe\x15\x4f\x1c\x56\x70\x81\x7b\xb4\xbb\x51\xb4\xd2\xf6\x1a\xa5\x51\x7b\x8d\x31\x03\x58\x35\x36\x1a\x0f\x8d\xaa\x28\xff\xbd\x02\x92\x88\xa8\x89\x8f\x9e\xf9\xe6\xbd\x79\x63\xbb\x3e\xb0\xe0\xff\xe0\x1b\x5b\x3a\xda\x87\x0f\xf2\xa8\x39\x74\x48\xee\xfe\x12\xf5\xa8\xf3\xf5\x68\xc5\xb4\x65\xd0\x5c\x3d\x82\x16\xe5\x44\xa9\xa2\x28\xb0\x6f\x6d\x44\x34\x6c\x7b\x01\x93\xae\x22\xa4\x25\x44\x09\x4c\x15\x3e\xf5\xe0\x04\x46\xf7\xba\xb4\xce\x8a\xa5\x38\x0f\xd5\x88\x0b\x9d\xe0\x27\xa6\xd7\x31\x52\x05\x6d\x4c\x18\xbc\x8c\xc3\x95\x36\x86\x62\x4c\xb5\x73\x19\xea\xc1\xa3\xd3\xd6\xa7\x97\x86\x15\x36\x55\xc5\x14\x63\xb6\xc2\x69\xff\xd5\xd3\xed\xe3\x8c\x93\x52\x00\x50\x14\x78\x21\x81\x06\x53\x4d\x4c\xde\x10\x24\xcc\xfe\x16\xf2\x26\xf8\x3a\x70\x67\x7d\x33\x56\x17\x1b\x6e\x87\xd2\x59\x33\x4d\x72\x24\x4b\x66\x47\x35\xfe\xa0\x21\xd9\xcc\x5e\xae\x9e\xb2\x7c\xb9\x6b\x5e\x06\xe6\x70\xfc\xfd\xeb\xf4\x2c\xc3\xfc\x87\xda\xf9\x6f\x3a\x09\x5e\xdf\x53\x72\x6e\xdf\x6a\x69\x6f\xfd\x19\xd6\x6b\xf4\xda\x5b\x93\x26\xff\xc2\xe0\x2a\xf8\x20\x98\x4d\xdc\x47\xb0\x58\x25\xc9\x6e\x59\xed\x48\x06\x9e\x6f\xc1\x14\xc7\xcb\x85\x1a\x87\x86\xe4\x6d\x3c\xe3\x18\x71\x7c\xb7\xd2\x5e\x52\x4e\xb3\xc3\x04\xf2\x4c\xdd\xa7\x93\x3f\xa7\x94\x3a\xab\xef\x00\x00\x00\xff\xff\x7f\x15\x84\x88\xa4\x02\x00\x00"
+var _scriptsSwitchboardGet_vault_types_and_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x91\x41\x6f\xa3\x30\x10\x85\xef\xfe\x15\x4f\x1c\x56\x70\x81\x7b\xb4\xbb\x51\xb4\xd2\xf6\x1a\xa5\x51\x7b\x8d\x31\x03\x58\x35\x36\x1a\x0f\x8d\xaa\x28\xff\xbd\x02\x92\x94\xa8\x8d\x8f\xe3\x79\x33\x6f\xbe\x67\xbb\x3e\xb0\x20\xf9\x3f\xf8\xc6\x96\x8e\xf6\xe1\x8d\x7c\xa2\x7e\x2c\x3f\x1f\xad\x98\xb6\x0c\x9a\xab\x44\xa9\xa2\x28\xb0\x6f\x6d\x44\x34\x6c\x7b\x01\x93\xae\x22\xa4\x25\x44\x09\x4c\x15\xde\xf5\xe0\x04\x46\xf7\xba\xb4\xce\x8a\xa5\x88\x9a\x43\x07\x8d\xf8\x35\x08\xc1\x4f\x9a\x5e\xc7\x48\x15\xb4\x31\x61\xf0\x32\x0e\x57\xda\x18\x8a\x31\xd5\xce\x65\xa8\x07\x8f\x4e\x5b\x9f\x5e\x1a\x56\xd8\x54\x15\x53\x8c\xd9\x0a\xa7\xfd\x47\x4f\xb7\xc2\x19\x27\xa5\x00\xa0\x28\xf0\x44\x02\x0d\xa6\x9a\x98\xbc\x21\x48\x98\xfd\x2d\xd6\x9b\xe0\xeb\xc0\x9d\xf5\xcd\xf8\xbb\xb8\x70\x3b\x94\xce\x9a\x69\x92\x23\x59\x6a\x76\x54\xe3\x0f\x1a\x92\xcd\xec\xe5\xea\x29\xcb\x97\xb7\xe6\x65\x60\x0e\xc7\xdf\xbf\x4e\x8f\x18\xe6\xdf\xb6\x9d\xff\xa6\xd3\xc2\xeb\x7b\xa8\x9c\xdb\xb7\x5a\xda\x5b\x7f\x86\xf5\x1a\xbd\xf6\xd6\xa4\xc9\xbf\x30\xb8\x0a\x3e\x08\x66\x13\xf7\x08\x16\xa7\x24\xd9\x8d\xd5\x8e\x64\xe0\x39\x0b\xa6\x38\x26\x17\x6a\x1c\x1a\x92\x97\x31\xc6\x11\x71\x7c\xb5\xd2\x5e\x28\xa7\xd9\x61\x12\xf2\xac\xba\xa7\x93\x3f\x56\x29\x75\x56\x9f\x01\x00\x00\xff\xff\xec\x44\x7e\xc2\x73\x02\x00\x00"
 
 func scriptsSwitchboardGet_vault_types_and_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -564,11 +564,11 @@ func scriptsSwitchboardGet_vault_types_and_addressCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/switchboard/get_vault_types_and_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0x17, 0x56, 0x85, 0xb2, 0xb9, 0xd7, 0x4f, 0x34, 0xc6, 0xf8, 0xef, 0x17, 0xce, 0xe0, 0x3, 0x4e, 0x33, 0x6c, 0x36, 0xe4, 0xa5, 0x3a, 0xa8, 0x49, 0xdf, 0xda, 0xe2, 0x4c, 0x71, 0xeb, 0x71}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x94, 0x76, 0x20, 0xbc, 0xb8, 0xf5, 0x3c, 0xf5, 0x75, 0x8d, 0x73, 0x44, 0x5, 0x28, 0x62, 0xe4, 0x3, 0xba, 0xf3, 0x2a, 0x1f, 0x15, 0x71, 0xde, 0x9a, 0xd8, 0xe3, 0x7d, 0x48, 0xd3, 0xdc}}
 	return a, nil
 }
 
-var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x5d\x6f\xdb\x36\x14\x7d\xd7\xaf\xb8\xd3\x00\x43\xc2\x52\x39\xfd\x48\xd6\x1a\x75\x83\xae\xad\xb1\x87\x16\x28\x02\xad\x7b\x28\x8a\xe0\x9a\xba\x92\x89\x50\xa4\x40\x5e\xd9\x09\x86\xfe\xf7\x81\xfa\xb2\xac\x68\xc6\xf8\x10\x84\xbc\xe7\x9e\x7b\x78\x2c\x1e\x59\x56\xc6\x32\x6c\x6a\x5d\xc8\xad\xa2\xd4\xdc\x93\xfe\x42\x8c\x19\x32\x7e\x93\x74\x70\x90\x5b\x53\x42\xf8\xdf\x80\x30\xe8\x38\xe6\xda\xe6\x91\x7e\x77\x4b\xce\xa8\x3d\xd9\x0e\x38\x3e\x1a\x70\x9f\x1e\xb0\xac\xba\x99\x1d\x6e\x7c\x14\x06\xc1\x72\xb9\x84\x94\x1c\xc3\x8e\x54\x45\x16\x9c\xb0\xb2\x62\x60\x03\x7b\x54\x32\x43\xa6\x53\x12\x47\x76\x4f\x0e\x36\xe9\x47\xe9\x2a\x85\x8f\x80\x0e\xe8\xa1\x22\xc1\x94\x79\xb2\x00\x85\x20\xe7\x22\x54\x2a\x86\xbc\xd6\x50\xa2\xd4\x11\x66\x99\x25\xe7\x56\xf0\xbe\xfd\x27\x5e\xc1\x1f\xc6\x28\xf8\x27\x00\x00\x50\xc4\x80\x42\x98\x5a\x33\xac\xa1\x20\x7e\xdf\x6e\xfa\xb6\x38\x18\x60\xfd\x28\x58\x9f\x71\x3c\x19\xd4\x45\x4d\x63\xbf\x34\x96\xb4\x1a\x1c\x18\x08\xa0\xf5\xe2\xe2\x04\xeb\x1e\xcb\xad\x51\x1e\xbd\x49\x27\xa5\x8c\x5a\x93\xa4\xd1\x2b\x08\xd3\x9d\x74\xfe\xa2\x2d\x15\x37\x26\x49\x07\xb5\xa3\xcc\x7b\x83\x1a\xa8\x9b\xc7\xa6\x31\x19\x1e\x4d\x0d\x19\xed\x49\x99\xe6\x7f\x0b\x9a\x1e\x18\x36\x29\xfc\x6a\xf4\x46\x99\x43\x32\x99\x47\x0f\x4c\x56\xa3\xfa\xeb\xf6\xf3\xea\xf4\x1b\x49\x3e\x1d\x4b\x51\xb8\x63\xae\xdc\x6a\xb9\xec\xe6\x3d\xcb\x39\x31\x3a\xf7\x84\xc6\x16\x61\x7c\x4a\xaa\x4c\x61\xdc\x94\xee\x0b\x65\x12\x5d\xf4\xfd\x04\xe9\xd7\x0c\x2c\x7a\x02\xf2\x2b\x97\x8a\xa6\xac\x7f\xa6\xe9\xd7\x8d\x54\x34\xdf\xe1\x57\x6d\xbd\xd3\xbd\x7e\x74\x8e\xd8\x25\x07\xda\x3a\xc9\xf4\xcc\x53\xba\x44\x98\x72\x79\x95\x5f\xbf\x78\xf3\x4a\x5c\x8a\xdf\xf1\xb5\xc8\xb2\xeb\x57\x2f\xb7\xcf\xc5\xeb\x17\x97\x93\x02\x5e\x5d\x89\xed\x73\xf1\xe6\xe5\xf5\x9d\xb7\xf3\xee\x6f\x63\xb3\x12\xed\x7d\xe2\xf6\x45\x38\xab\x61\xe2\x4d\xbf\x4a\x7f\xcf\xf4\xb1\xf2\x1f\x8d\x2c\xb1\xa0\xa5\xdb\x17\xbf\x3d\x94\xea\x29\x4b\xfc\x23\x38\x43\xe8\x8c\x90\xa8\xdc\xaa\xfb\xde\xc7\x2b\xe4\x83\x64\x26\x1b\xfe\xaf\x9f\xb6\x03\x37\x6e\xf8\x5f\xf6\x6e\xab\x8c\xb8\x17\x3b\x94\x3a\x8c\x4f\xb8\x7f\x0e\xbb\xd1\xeb\xd9\x63\xad\xf8\x23\x32\xc2\xfa\xe4\x55\x27\xb6\x0d\x8e\x0f\x46\xb3\x45\xc1\x5e\x41\xe4\xcf\x6a\x2b\xa8\x35\x40\x4b\x75\x01\x7b\x49\x87\x76\xeb\xff\xbe\x3d\xfb\x02\xbf\xf5\xb3\xde\x45\x71\x0c\xe8\x7e\x39\xff\x60\x07\xf8\xcd\x20\xfc\xe6\x06\x2a\xd4\x52\x44\xe1\x07\x53\xab\x0c\xb4\x61\x1f\x0e\xed\x2d\xc0\x37\x37\x82\x20\x37\x16\x78\x47\x20\x3a\xf5\xe1\xf4\xc6\xb7\x94\xc3\xba\x4f\x98\x44\x60\x85\x5b\xa9\x24\x4b\x72\xc9\xd6\x58\x6b\x0e\x6f\x17\x27\x6e\x34\x5a\xde\x45\x83\x5b\x49\xd9\x89\xfd\x8a\xbc\x8b\xcf\xea\x6b\xf9\x00\xc1\x52\x4e\x96\xb4\x68\x9e\xbd\x57\xd7\xaa\xb6\x7d\x42\x8f\x34\xa2\xe0\x1a\xd5\xf9\x44\x2b\x88\x8f\xa1\xd6\x5f\x6a\x4e\x4a\x9b\xd2\x99\x21\xd7\xe8\x91\xfe\x56\x25\x69\x1e\x25\xb6\x37\xad\x9f\xef\xdf\x9a\xe5\xa8\x95\x90\x34\xa1\x90\x48\xa6\xd2\x25\x8a\x74\xc1\x3b\x58\xaf\x87\xcc\x9d\x29\x5f\x40\x49\xce\x61\xe1\x5f\x48\x1b\x1e\xd0\xf5\x95\xd2\x95\xc8\x62\x17\xce\x84\xf7\x67\x53\x98\x06\x0d\xf3\xe4\xdf\x2f\x7f\x4c\xcc\x19\x77\x3c\xd5\xda\xe3\x2d\x71\x6d\xf5\x91\xd2\xe7\xbd\xbf\x40\xd7\xd1\x6c\x17\x8b\x63\xbd\xcd\xf8\x11\xa2\x3b\x58\x2c\x06\x63\x07\xec\x28\xf4\x47\x0d\xe3\xd3\x31\xf3\x28\xb2\x93\xda\x8e\x47\x4c\x2b\x8b\x05\x3c\x19\x36\xdc\x36\xf1\xd9\x97\xd4\x56\x46\xf1\x91\x62\xb6\x3a\x1a\x7e\xac\x0f\xf9\x35\xd7\x3c\x14\x83\x9f\x41\xf0\x6f\x00\x00\x00\xff\xff\xf6\x5e\xe7\x05\xc5\x08\x00\x00"
+var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\xdb\x38\x10\xbd\xeb\x57\xcc\x6a\x01\x43\xc2\xa6\x72\xfa\x91\x6c\x6b\xd4\x0d\xba\x6d\x8d\x3d\xb4\x40\x11\x68\xbb\x87\xa2\x08\xc6\xd4\x58\x26\x42\x91\x02\x39\xb2\x1d\x2c\xfa\xdf\x17\xd4\x97\x65\x45\x31\xca\x83\x61\x72\x66\xde\xbc\x79\xf6\x3c\x59\x94\xc6\x32\x84\xab\x4a\xe7\x72\xad\x28\x35\xf7\xa4\xbf\x10\x63\x86\x8c\xdf\x24\xed\x5d\x18\x74\x39\x4f\x3c\xfb\xeb\x2d\x39\xa3\x76\x64\x8f\xaf\x9f\x0e\x58\x94\x2d\x5e\x18\x04\xf3\xf9\x1c\x52\x72\x0c\x5b\x52\x25\x59\x70\xc2\xca\x92\x81\x0d\xec\x50\xc9\x0c\x99\x60\x58\x01\x8e\xec\x8e\x1c\xac\xd2\x8f\xd2\x95\x0a\x1f\x00\x1d\xd0\xa1\x24\xc1\x94\x79\xb0\x00\x85\x20\xe7\x22\x54\x2a\x86\x4d\xa5\xa1\x40\xa9\x23\xcc\x32\x4b\xce\x2d\xe0\x7d\xf3\x25\x5e\xc0\x5f\xc6\x28\xf8\x2f\x00\x00\x50\xc4\x80\x42\x98\x4a\x33\x2c\x21\x27\x7e\xdf\x5c\xba\xb2\x38\xe8\xd3\xba\x56\xb0\x84\xa7\x95\x49\x7a\x76\x51\x5d\xd8\x1d\x8d\x05\x2d\x7a\x05\x7a\x00\x68\xb4\xb8\x38\xc9\x75\x0f\xc5\xda\x28\x9f\xbd\x4a\x47\xa1\x8c\x1a\x91\xa4\xd1\x0b\x08\xd3\xad\x74\x7e\xd0\x06\x8a\x6b\x91\xa4\x83\xca\x51\xe6\xb5\x41\x0d\xd4\xf6\x63\x53\x8b\x0c\x0f\xa6\x82\x8c\x76\xa4\x4c\xfd\xdd\x82\xa6\x03\xc3\x2a\x85\xdf\x8d\x5e\x29\xb3\x4f\x46\xfd\xe8\xc0\x64\x35\xaa\x7f\x6e\x3f\x2f\xe0\x74\xd0\x4f\xc7\x50\x14\x6e\x99\x4b\xb7\x98\xcf\xdb\x7e\xcf\x36\x9c\x18\xbd\xf1\x80\xc6\xe6\x61\x7c\x0a\xaa\x4c\x6e\xdc\x18\xee\x0b\x65\x12\x5d\xf4\xfd\x24\xd3\x9f\x89\xb4\xe8\x51\x92\x3f\x1b\xa9\x68\x8c\xfa\x77\x9a\x7e\x5d\x49\x45\xd3\x15\xfe\x54\xd6\x2b\xdd\xf1\x47\xe7\x88\x5d\xb2\xa7\xb5\x93\x4c\xcf\x3c\xa4\x4b\x84\x29\xe6\x57\x9b\xeb\x17\x6f\x5e\x89\x4b\xf1\x27\xbe\x16\x59\x76\xfd\xea\xe5\xfa\xb9\x78\xfd\xe2\x72\x14\xc0\xab\x2b\xb1\x7e\x2e\xde\xbc\xbc\xbe\xf3\x72\xde\xfd\x6b\x6c\x56\xa0\xbd\x4f\xdc\x2e\x0f\x27\x39\x8c\xb4\xe9\x4e\xe1\xe7\x4c\x1f\x4a\xff\xa7\x91\x05\xe6\x34\x77\xbb\xfc\x8f\x43\xa1\x1e\xa3\xc4\x3f\x82\x33\x80\xce\x08\x89\xca\x2d\xda\xff\xfb\xf0\x84\xbc\x97\xcc\x64\xc3\x5f\xfa\x69\xdb\xe4\x5a\x0d\xff\xcb\xde\xad\x95\x11\xf7\x62\x8b\x52\x87\xf1\x09\xf6\xcf\xfe\x36\xd8\x9e\x1d\x56\x8a\x3f\x22\x23\x2c\x4f\xb6\x3a\xb1\x8d\x4d\x7c\x30\x9a\x2d\x0a\xf6\x0c\x22\xff\x56\x59\x41\x8d\x00\x5a\xaa\x0b\xd8\x49\xda\x37\x57\xff\xf9\xf6\xec\x06\x7e\xeb\x7a\xbd\x8b\xe2\x18\xd0\xfd\x76\x7e\x61\xfb\xf4\x9b\x9e\xf8\xcd\x0d\x94\xa8\xa5\x88\xc2\x0f\xa6\x52\x19\x68\xc3\xde\x1c\x9a\x29\xc0\x17\xd7\x84\x60\x63\x2c\xf0\x96\x40\xb4\xec\xc3\xf1\xc4\xb7\xb4\x81\x65\xe7\x30\x89\xc0\x12\xd7\x52\x49\x96\xe4\x92\xb5\xb1\xd6\xec\xdf\xce\x4e\xd4\xa8\xb9\xbc\x8b\x7a\xb5\x92\xa2\x25\xfb\x15\x79\x1b\x9f\xe5\xd7\xe0\x01\x82\xa5\x0d\x59\xd2\xa2\x5e\x7b\xcf\xae\x61\x6d\x3b\x3f\x1e\x70\x44\xc1\x15\xaa\xf3\x8e\x96\x13\x1f\x4d\xad\x1b\x6a\x8a\x4a\xe3\xd2\x99\x21\x57\xf3\x91\x7e\xaa\x82\x34\x0f\x1c\xdb\x8b\xd6\xf5\xf7\xbb\x66\x39\x6a\x28\x24\xb5\x29\x24\x92\xa9\x70\x89\x22\x9d\xf3\x16\x96\xcb\xde\x73\x27\xc2\x17\x50\x90\x73\x98\xfb\x0d\x69\xcc\x03\xda\xba\x42\xba\x02\x59\x6c\xc3\x09\xf3\xfe\x6c\x72\x53\x67\xc3\x34\xf8\xf7\xcb\x1f\x23\x71\x86\x15\x8f\xb9\x76\xf9\x96\xb8\xb2\xfa\x08\xe9\xfd\xde\x0f\xd0\x56\xd4\xd7\xd9\xec\x18\x6f\x3c\x7e\x90\xd1\x3e\xcc\x66\xbd\xb0\x7d\xee\xc0\xf4\x07\x05\xc3\xd7\x21\xf2\xc0\xb2\x93\xca\x0e\x5b\x8c\x23\xb3\x19\x3c\x6a\xd6\x4f\x9b\x78\xef\x4b\x2a\x2b\xa3\xf8\x08\x31\x19\x1d\x34\x3f\xc6\x7b\xff\x9a\x2a\xee\x83\xc1\xcf\x20\xf8\x3f\x00\x00\xff\xff\x82\xa8\x93\x68\x6e\x08\x00\x00"
 
 func scriptsTestExample_token_vault_display_strict_equalCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -584,7 +584,7 @@ func scriptsTestExample_token_vault_display_strict_equalCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/test/example_token_vault_display_strict_equal.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x61, 0x79, 0xbb, 0xba, 0xfb, 0xd5, 0x1e, 0x9, 0x58, 0xb2, 0x8d, 0x3d, 0xc2, 0xd1, 0xf6, 0x38, 0xda, 0xcd, 0xce, 0x98, 0xd2, 0xf4, 0x17, 0x1, 0x9e, 0xf8, 0x11, 0x9d, 0x7b, 0xc2, 0xd1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x33, 0x52, 0xb1, 0x7d, 0xac, 0xec, 0x6e, 0xd7, 0xe6, 0xce, 0x43, 0x69, 0xe2, 0xb0, 0x8f, 0x7e, 0x1b, 0xd5, 0x9c, 0x7a, 0x80, 0xaa, 0x36, 0x19, 0x63, 0xb5, 0x83, 0x2f, 0xac, 0x34, 0xf0, 0x53}}
 	return a, nil
 }
 
@@ -608,7 +608,7 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	return a, nil
 }
 
-var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x54\x4d\x4f\x23\x39\x10\xbd\xf7\xaf\x78\xe4\xc0\x76\x4b\x21\xb9\xa3\x00\xbb\x9b\x05\x69\x0f\x23\x21\x88\x72\xaf\x74\x2a\xc4\x1a\xc7\xb6\xec\xea\x84\x08\xf1\xdf\x47\x76\x7f\xd0\xcd\x34\x33\xd7\xe9\x43\x4b\x2e\x3f\x57\xbd\x7a\xaf\xec\xf9\x1c\xab\xbd\x0a\x10\x4f\x26\x50\x29\xca\x1a\xa8\x00\x82\xf0\xc1\x69\x12\xc6\xce\xfa\xb8\xec\xed\x8b\x05\x69\x6d\x4f\xd9\x7c\x0e\x32\x67\x6b\x38\x85\xb6\x5b\x10\xd6\x54\x69\x81\xe7\x60\x2b\x5f\xa6\xb8\xec\x59\x79\x50\x59\xda\xca\x08\x42\x0c\x90\xc4\xa3\xb2\xe7\x33\x4a\x32\xa8\x02\xc7\x05\xf8\x95\x0e\x4e\xf3\xca\x7e\x67\x93\x65\xea\xe0\xac\x17\x3c\x54\xe6\x45\x6d\x9a\x28\x76\xde\x1e\x30\x19\xc4\x26\x2d\xf2\xbe\x77\xbc\x01\xf6\x43\x1d\x6e\xad\xf8\xf4\xc4\xc1\xea\x23\xfb\x06\xd7\x0f\x4d\x46\x2b\x7f\x63\xa1\x2d\x09\x45\x64\x18\xa3\x31\x00\x4c\xb2\xac\x2f\x58\x5e\xe0\x2d\xcb\x00\xc0\x79\x76\xe4\x39\x0f\xea\xc5\xb0\xbf\x06\x55\xb2\xcf\xff\xb5\xde\xdb\xd3\x9a\x74\xc5\x53\xfc\x1f\x42\xc5\xcf\x62\x3d\xbd\xf0\x92\x1c\x6d\x94\x56\x72\x5e\x5a\x23\xde\x6a\xcd\x7e\x8a\xc7\x6a\xa3\x55\xd8\x7f\x6c\x4e\xf1\x4c\x47\x4e\xe7\x0b\x5c\xfe\x53\x2b\xdd\x95\x8c\x9f\x66\xc1\x31\x3a\xf3\x1f\x09\xe1\x66\x20\xd5\xcc\xd7\x8d\xa7\x12\x54\x4a\x6c\x20\x6f\x0d\x5c\x9d\x1d\x5f\xc3\x28\x3d\xc5\x51\xf1\xa9\x5e\xc6\xff\xe2\xeb\xe6\x67\x0f\xab\x75\x5b\xeb\x36\x2f\x0a\x50\xb8\xf8\x85\x98\x7d\xf8\x5d\xc7\x38\x7e\x77\x77\x70\x64\x54\x99\x0f\xfc\xc1\xd6\x72\x80\xb1\xf5\x94\xe9\x23\xa3\x97\x20\xb1\x9c\x14\x1f\x9d\xcf\xe7\x78\x62\xa9\xbc\x01\x93\xd7\x67\xa8\x5d\x1a\xb5\x76\x1c\x49\x7b\xa6\xed\x19\x41\xac\xe7\x38\xf6\x83\x21\x4a\x69\xbb\x54\x6a\x87\xda\xb6\x59\xa8\xed\x99\x6d\x92\x71\x8b\xcb\x81\x9c\xe9\xd0\x6d\x1e\x47\xe4\xfa\x43\xf4\xf6\xcc\x23\xc9\xbe\xc0\xc5\x4d\xd4\x14\x6f\x83\x76\x7d\xe2\xd9\x85\xde\x47\xec\xc3\xe2\x6a\xe8\x5d\xe9\x99\x84\xef\x0f\x4e\xce\xa9\x6e\x9e\x60\x3d\x9b\xfe\x1e\xe3\x56\x0c\x05\x5a\xa6\x24\x20\x18\x3e\x8d\x08\x00\x32\x5b\xb8\x4a\xa0\x04\xca\xa0\x69\xa4\x4b\xf0\x49\x93\x40\x47\xce\x17\x57\x89\xc7\x14\x62\xbf\xd2\x60\x9c\x81\x8b\xb3\x5d\xa2\xec\x66\xbb\x79\x41\x1a\x26\xf1\xe9\x00\xbf\x3a\x1b\x38\xf4\xc2\xca\x08\xfb\x1d\x95\x1c\x7e\x96\x6c\x49\x0e\x37\x2d\xc9\x2e\xaf\xe2\xd0\x31\x56\xf1\xc6\x8d\x9b\x38\xf0\x67\xb4\x8f\x0e\x51\x7c\x16\x64\x50\xcb\xd5\x77\x36\x6f\x29\x4d\x41\xd2\x57\xe6\xd0\xdc\x88\xdf\x4b\xb3\x1c\x97\xe6\xaf\x80\x27\x2e\x59\xa5\x37\xad\x32\xe9\xdd\xa1\x88\x1a\x28\xe2\x1b\xc8\x9f\x25\x4a\x8f\xd5\x67\x5d\xda\xad\x5a\x97\xfa\x5a\xbc\x67\x3f\x02\x00\x00\xff\xff\xaf\x9b\xe4\x87\xb5\x06\x00\x00"
+var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x94\x41\x6f\xdb\x3c\x0c\x86\xef\xfe\x15\x6f\x73\xe8\x67\x03\x69\x72\x2f\xd2\xf6\xdb\xb2\x16\xd8\x61\x40\xd1\x06\xb9\x33\x0e\xd3\x08\x53\x24\x41\xa2\x93\x06\x45\xff\xfb\x20\x39\x76\xec\xce\xc5\x76\x9c\x0f\x01\x44\x51\xe4\xcb\x87\x64\xa6\x53\x2c\xb6\x2a\x40\x3c\x99\x40\xa5\x28\x6b\xa0\x02\x08\xc2\x3b\xa7\x49\x18\x1b\xeb\xe3\xb1\x73\x2f\x16\xa4\xb5\x3d\x64\xd3\x29\xc8\x1c\xad\xe1\x64\x5a\xaf\x41\x58\x52\xa5\x05\x9e\x83\xad\x7c\x99\xec\xb2\x65\xe5\x41\x65\x69\x2b\x23\x08\xd1\x40\x12\x9f\xca\x96\x8f\x28\xc9\xa0\x0a\x1c\x0f\xe0\x57\xda\x39\xcd\x0b\xfb\x93\x4d\x96\xa9\x9d\xb3\x5e\x30\x7a\xa8\xcc\x8b\x5a\x9d\xcc\xa3\xd6\x7c\xdf\x71\x3e\x5b\x97\x8a\x0f\x4f\x1c\xac\xde\xb3\x1f\x0d\x87\xf8\xc1\x42\x6b\x12\x8a\xae\x61\x94\x65\xdd\xca\xf2\x02\x6f\x59\x06\x00\xce\xb3\x23\xcf\x79\x50\x2f\x86\xfd\x35\xa8\x92\x6d\xfe\xd5\x7a\x6f\x0f\x4b\xd2\x15\x8f\xf1\x3d\x84\x8a\x9f\xc5\x7a\x7a\xe1\x39\x39\x5a\x29\xad\xe4\x38\xb7\x46\xbc\xd5\x9a\xfd\x18\x8f\xd5\x4a\xab\xb0\x3d\x5f\x8e\xf1\x4c\x7b\x4e\xef\x0b\x5c\x7e\xa9\x91\xb4\x29\xe3\xa7\x59\xb0\x8f\x08\xbf\x91\x10\x6e\xd0\xad\x72\xe2\xeb\xc2\x52\x0a\x2a\x25\x16\x90\x37\xa4\x17\x47\xc7\xd7\x30\x4a\x8f\xb1\x57\x7c\xa8\x8f\xf1\x77\xf6\x79\xf1\x93\x87\xc5\xb2\xc9\x75\x9b\x17\x05\x28\x5c\xe0\xef\xdc\xef\x5a\xc5\xf1\xbb\xbb\x83\x23\xa3\xca\xbc\xc7\x1f\x6b\xcb\x01\xc6\xd6\xe3\xa0\xf7\x8c\x4e\x80\xa4\x72\x54\x9c\x2b\x9f\x4e\xf1\xc4\x52\x79\x03\x26\xaf\x8f\x50\x9b\x34\x13\xcd\xdc\x90\xf6\x4c\xeb\x23\x82\x58\xcf\x71\x3e\xbb\x64\xea\xa9\x6b\x43\xa9\x0d\xea\xb6\x4d\x42\xdd\x9e\xc9\x2a\x35\x6e\x76\xd9\xc3\x99\x1e\xdd\xe6\x1b\x6f\x77\xd7\x67\xe8\xcd\x9b\x47\x92\x6d\x81\x8b\x9b\xc8\x14\x6f\xbd\x72\x7d\xd2\xd9\x9a\xde\x07\xda\x87\xd9\x55\xbf\x77\xa5\x67\x12\xbe\xdf\x39\x39\xa6\xbc\x79\x72\xeb\xb4\xe9\xff\x21\x6d\x45\x1f\xd0\x3c\x05\x01\xc1\xf0\x61\x00\x00\xc8\xac\xe1\x2a\x81\x12\x28\x83\x53\x21\x6d\x80\x0f\x4c\x02\xed\x39\x9f\x5d\x25\x1d\x63\x88\xfd\x8c\xc1\xb0\x02\x17\x67\xbb\x44\xd9\xce\xf6\x69\xd5\x4f\x4a\xe2\x8e\x83\x5f\x9d\x0d\x1c\x3a\x66\x65\x84\xfd\x86\x4a\x0e\xbf\x23\x9b\x93\xc3\x4d\x23\xb2\x8d\xab\x38\xb4\x8a\x55\xdc\xb8\xe1\x26\xf6\xfa\x33\x58\x47\xeb\x51\x7c\x04\xd2\xcb\xe5\xea\x9d\xcd\x1b\x49\x63\x90\x74\xc9\xec\x4e\x1b\xf1\x67\x34\xf3\x61\x34\xff\x05\x3c\x71\xc9\x2a\x2e\xc8\xa6\x32\xe9\x7f\x87\xa2\x57\x8f\x88\x3f\xb9\xfc\x5b\x50\x3a\xaa\x3e\x72\x69\xae\x6a\x2e\xf5\x5a\xbc\x67\xbf\x02\x00\x00\xff\xff\xfa\xdc\x38\x5a\x5e\x06\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -624,11 +624,11 @@ func setup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0x5e, 0xca, 0xd, 0x19, 0x96, 0xbf, 0x52, 0x19, 0xe2, 0xd9, 0x2e, 0x7a, 0x7d, 0x92, 0x6e, 0xc4, 0xfb, 0xa2, 0x81, 0x5c, 0x69, 0x92, 0x6d, 0x66, 0x9e, 0x1c, 0xe6, 0x75, 0x7a, 0x64, 0x97}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb3, 0x82, 0x3c, 0xc7, 0xdc, 0x85, 0xf8, 0xad, 0xef, 0xa0, 0x18, 0x66, 0xb, 0x3, 0xc9, 0x2a, 0xa4, 0xeb, 0x9e, 0xc0, 0x4, 0x3d, 0xa, 0xfe, 0x31, 0xb1, 0xdd, 0x76, 0x84, 0xbe, 0x13, 0x5c}}
 	return a, nil
 }
 
-var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x5b\x73\xe2\x36\x14\x7e\xe7\x57\x9c\xf2\x40\xed\x0c\x35\xef\x4c\x2e\xdd\xa5\xbb\x9d\x3e\xb4\xb3\xb3\x49\xf3\x7e\x90\x0f\x58\xb3\x46\xf2\x48\x32\x84\xc9\xf0\xdf\x3b\x92\x6f\x12\xd8\x84\xd0\x9d\xf8\x21\x31\xf6\xb9\x5f\xbe\xcf\xe2\x9b\x42\x2a\x03\x5f\x4b\xb1\xe6\xcb\x9c\x9e\xe4\x0f\x12\xb0\x52\x72\x03\xe3\xe0\xd9\x78\xd4\x27\xf9\xb8\xe3\x86\x65\x4b\x89\x2a\xed\x53\xf2\x5e\xb7\xfa\x5f\x5e\x70\x53\x84\x8e\xfc\x47\xfd\x7e\xfe\x26\x83\x29\x1a\x7c\xe6\xb4\xd3\x7d\x9e\x02\x81\xf1\x68\x34\x9b\xcd\xe0\x29\xe3\x1a\x8c\x42\xa1\x91\x19\x2e\x05\x70\x0d\x08\x86\x36\x45\x8e\x86\x60\x25\x95\xfd\xe9\xbd\x37\x19\x1a\x60\xb2\xcc\x53\x58\x12\x94\x9a\x52\x58\xee\x01\xc5\x5e\x0a\x02\x23\x01\xd3\x14\x10\x04\xed\x60\x55\xfb\x06\xe3\xd2\xd8\x62\x99\x1b\xe7\x93\x61\x81\x4b\x9e\x73\xb3\xb7\x0a\x26\x23\xae\x40\x7b\x45\x52\xa4\x65\xa9\x18\x59\xe1\x91\xef\xfb\x75\x34\x02\x00\xc8\xc9\x00\x79\xe5\x78\xb6\x96\x17\xad\xd1\x39\x74\xf7\xb7\x93\xd7\xa0\x04\xc9\x77\x62\xc4\xb7\xa4\x0e\xf7\xad\x29\xcf\xf5\x77\x5a\xcd\x01\x26\x43\xfd\x49\xbc\xfb\x2a\x94\x42\x51\x81\x8a\x22\xcd\xd7\x82\xd4\x1c\xb0\x34\x59\xf4\x59\x2a\x25\x77\xcf\x98\x97\x34\x85\xbf\xb4\x2e\xe9\xd1\x48\x85\x6b\xea\xe2\x5a\x48\x61\x94\xcc\x73\x52\x53\xf8\x56\x2e\x73\xae\xb3\xee\xe5\x14\x1e\x71\x4b\xb5\xfe\xbf\xa2\x38\x7e\x1f\xc3\xe4\x13\x63\xb2\x14\x26\x6e\x4a\xd2\xe4\xe2\x8a\xfc\x07\x1a\x84\xbb\x60\x88\x12\x5b\xd3\x7c\x4b\xce\x2f\x32\x63\x47\x20\x6a\xea\xfc\xb4\x2f\x68\x0e\x82\xe7\x53\xd8\x72\xda\x55\x3f\xed\xdf\xdb\xe1\xf1\x49\xbe\x3e\x3d\x37\xbe\xee\xa3\x38\x06\xd4\xbf\x9c\x19\x47\x5f\xfc\xa1\x8d\xd8\x5e\x0f\x0f\x50\xa0\xe0\x2c\x1a\x2f\xdc\x50\x09\x69\x60\xdd\x64\x02\xd6\x80\x0b\xca\x4d\xa2\xc9\x08\x58\x9d\xc1\x38\xee\x32\x9f\xdd\x84\x1b\xe3\x5c\x59\xc9\x15\x5f\x97\x0a\xdd\xec\xdc\xcc\x3a\x71\xff\x16\x16\xb5\x18\x01\x8a\x3e\x33\x7c\x05\x82\x28\xa5\xb4\x55\xe2\x2b\xa8\xfa\x9d\xe8\xaa\xaf\xc9\xd2\x75\xfc\x76\x12\x94\xdc\xa9\xdf\x47\x76\x11\xe7\x5d\x63\x1a\x9d\x6f\x68\xb2\x18\xee\xee\x6c\xdd\xe1\x35\x28\x89\x0d\x4a\x91\x5d\xbf\x6a\x91\x7a\x82\x42\x91\x82\xc6\x2d\x01\x37\xc0\x05\xd4\x36\x03\x2b\x47\x21\x5a\xe9\xe8\xf6\xb7\x20\x42\xe6\xbc\x7c\xd9\x14\x66\xef\xcc\x46\x2e\x4a\xaf\xff\xbf\xf7\x25\x14\xc7\x53\x30\x72\x28\xa5\x93\x4c\x72\x42\x05\xf4\xc2\xb5\xe1\x62\xdd\xad\x26\x27\x0d\x16\x49\x50\x48\xc1\x19\xe6\x50\xa0\xc9\x74\x5f\x06\xcc\x53\x49\xca\x66\x1d\xa2\xce\xfd\xa6\x9e\xb4\x53\xff\x97\x5a\x50\x35\x2a\xf4\x66\xe0\x36\xb8\xae\xfb\x04\x1a\x00\x09\x32\x09\x54\xda\x3d\x5c\x60\x01\x77\xbd\x31\x34\x4d\xe1\xd6\xf4\x09\x46\x7d\xc6\x1c\x05\xa3\x69\xb8\x4f\x55\xf9\x0f\xf7\xd1\x05\x75\xb7\x21\x34\x39\x5d\x1b\x45\x87\x94\x97\x78\x9c\xcd\x1a\x1c\x1b\x2e\x4c\x5f\x0c\x41\x2f\x16\x58\x4c\x01\x8d\x3f\x5a\xef\xeb\x6d\x63\xcd\xcb\xfd\xd8\x60\x7f\xab\x0f\xed\x9d\x0f\x0d\x7f\x92\x71\x98\x53\x93\x8d\x4f\x64\x3e\x89\x39\xaa\xb5\x72\x55\x48\xbf\x6a\xc0\x0a\x9e\x5b\x5b\x9a\xf2\x55\x72\x86\xb2\x06\x1a\xb4\x26\x73\xae\x2d\x41\x39\xec\xd5\x9f\x65\x20\x16\x7b\x80\xfb\xe8\x5c\x42\x2a\x49\x3b\xd8\xcd\x2c\xa0\x60\x03\x37\x50\xe1\x4d\x63\xc9\x4b\x78\x1c\xf7\x56\x6b\x91\x11\xfb\x61\xc1\xd1\x96\xa2\x47\xad\x02\x81\x6e\x24\x50\x6b\x52\x26\xcc\xe2\xad\x42\x25\xcc\x3a\x89\xe2\x29\x04\x6a\x1b\xd2\x1a\xd7\x34\x87\xeb\x73\x6a\xed\xf5\x25\x77\x03\xfe\x47\x9c\x26\x53\x16\x97\x10\x8a\xff\xbd\xf0\x2e\x1e\xb9\xe4\x03\xa4\x61\x96\x61\xd9\x77\x13\x8d\x1f\xee\xd5\x0c\x33\x18\x4f\xc5\x36\xde\x93\xa8\x26\x92\x8b\x32\xf8\x30\x5e\x19\x8c\xa6\xd9\x3c\x87\x73\xec\xbd\x64\x33\x68\x76\xc8\x5c\xcb\x3c\x2d\xe3\x4c\x82\x06\x9d\xe5\x9f\x9f\x08\xfe\x27\x28\x63\xaf\x4b\x5a\x76\xa2\x78\xca\x51\xde\xa7\x77\x55\x86\x2b\xe3\x1d\x58\x91\xca\xe6\x31\x8f\x7e\x40\x6e\xff\x97\x0d\x4f\xf8\xeb\xa7\x0e\x65\xe3\xa5\xaf\xfa\x6f\xb8\xeb\x73\x73\x38\xa6\x4c\x04\x45\x2b\x52\x24\x18\xd5\x07\xbc\x3a\x0c\xed\x37\x3c\x24\xc7\xf0\x10\xd6\xcd\xc0\x75\xc8\x78\xd2\x9e\xcb\xa1\x72\x90\x2d\xbb\xe3\x49\x15\x4b\x98\xa4\x17\x7f\x4d\x8f\xa3\xaa\x36\xee\x1f\xbd\x10\x2b\x0d\xf9\xa7\xb5\xd9\x0c\x3e\xa5\x69\x75\xa4\x39\x3e\x0f\x07\xa7\xe1\x52\x5b\x7c\xc3\x34\xfd\x87\x76\xd5\x47\xe8\x86\x4c\x26\xcf\xd6\x2f\xf1\xc4\x23\xe6\x9d\x8c\xdf\xe2\xd7\x30\xf4\xc3\xe8\xbf\x00\x00\x00\xff\xff\x94\x09\xdf\xed\xfa\x10\x00\x00"
+var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\x4c\x7d\x70\xa5\xc0\x95\xef\x46\x3e\xba\xeb\xee\x16\x3d\xb4\x58\x6c\xd2\xdc\xc7\xd4\xd8\x22\x56\x26\x05\x92\xb2\x63\x04\xfe\xef\x05\xa9\x2f\xd2\x96\x1c\xc7\x5d\x44\x87\x44\x96\xc8\x99\xf7\x66\xc8\xf7\x44\xbe\x29\xa4\x32\x30\xfe\x5a\x8a\x35\x5f\xe6\xf4\x24\x7f\x90\x18\x8f\x7a\x1f\x3f\xee\xb8\x61\xd9\x52\xa2\x4a\xbb\x11\x5f\x5e\x70\x53\x9c\x9f\xf7\x37\x19\x4c\xd1\xe0\x33\xa7\x9d\x1e\x8f\x46\xb3\xd9\x0c\x9e\x32\xae\xc1\x28\x14\x1a\x99\xe1\x52\x00\xd7\x80\x60\x68\x53\xe4\x68\x08\x56\x52\xd9\x9f\xde\x7b\x93\xa1\x01\x26\xcb\x3c\x85\x25\x41\xa9\x29\x85\xe5\x1e\x50\xec\xa5\x20\x30\x12\x30\x4d\x01\x41\xd0\x0e\x56\x75\x6e\x30\x36\x39\x6c\xb1\xcc\x8d\xcb\xc9\xb0\xc0\x25\xcf\xb9\xd9\xdb\x09\x26\x23\xae\x40\x77\x9c\x40\x91\x96\xa5\x62\x64\x07\x8f\xfc\xdc\xaf\xa3\x11\x00\x40\x4e\x06\xc8\xa3\xfb\x6c\x23\x2f\xda\xa0\x73\xe8\xee\x6f\x27\xaf\x41\x09\x92\xef\xc4\x88\x6f\x49\x1d\xee\xdb\x50\x5e\xea\xef\xb4\x9a\x03\x4c\x86\xaa\x9d\x78\xf7\x15\x94\x42\x51\x81\x8a\x22\xcd\xd7\x82\xd4\x1c\xb0\x34\x59\xf4\x59\x2a\x25\x77\xcf\x98\x97\x34\x85\xbf\xb4\x2e\xe9\xd1\x48\x85\x6b\xea\x70\x2d\xa4\x30\x4a\xe6\x39\xa9\x29\x7c\x2b\x97\x39\xd7\x59\xf7\x72\x0a\x8f\xb8\xa5\x7a\xfe\xbf\xa2\x38\x7e\x1f\xc3\xe4\x13\x63\xb2\x14\x26\x6e\x4a\xd2\x70\x71\x45\xfe\x03\x0d\xc2\x1d\xf8\x2b\x22\xb1\x35\xcd\xb7\xe4\xf2\x22\x33\x76\x09\x44\x4d\x9d\x9f\xf6\x05\xcd\x41\xf0\x7c\x0a\x5b\x4e\xbb\xea\xa7\xfd\x7b\x3b\xbc\x7c\x92\xaf\x4f\xcf\x4d\xae\xfb\x28\x8e\x01\xf5\x2f\x70\xd9\xf0\x87\x16\xb1\xbd\x1e\x1e\xa0\x40\xc1\x59\x34\x5e\xb8\x45\x25\xa4\x81\x75\xc3\x04\x6c\x00\x07\xca\xad\x44\x93\x11\xb0\x9a\xc1\x38\xee\x98\xcf\x6e\x02\xb2\xe0\x52\xd9\x91\x2b\xbe\x2e\x15\xba\xb5\x73\x33\xeb\x86\xfb\xb7\xb0\xa8\x87\x11\xa0\xe8\x0b\xc3\x57\x20\x88\x52\x4a\xdb\x49\x7c\x05\x55\xbf\x13\x5d\xf5\x35\x59\xba\x8e\xdf\x4e\x82\x92\xbb\xe9\xf7\xd1\x4a\xc9\xcd\xbc\x6b\x4c\x33\xe7\x1b\x9a\x2c\x86\xbb\x3b\x5b\x77\x78\x0d\x4a\x62\x41\x29\xb2\xdb\xaf\xda\x48\x3d\xa0\x50\xa4\xa0\x71\x4b\xc0\x0d\x70\x01\x75\xcc\x20\xca\x11\x44\x3b\x3a\xba\xfd\x2d\x40\xc8\x5c\x96\x2f\x9b\xc2\xec\x5d\xd8\xc8\xa1\xf4\xfa\xff\x7b\x1f\xa1\x38\x9e\x82\x91\x43\x94\x4e\x98\xe4\x84\x0a\xe8\x85\x6b\xc3\xc5\xba\xdb\x9a\x9c\x34\x58\x25\x41\x21\x05\x67\x98\x43\x81\x26\xd3\x7d\x0c\x98\x37\x25\x29\x9b\xed\x10\x75\xe9\x37\xf5\x4a\x3b\xcd\x7f\x69\x04\x55\xab\x42\x2f\x03\xb7\x83\xeb\xba\x4f\xa0\x11\x90\x80\x49\x30\xa5\xdd\x87\x0b\x2c\xe0\xae\x17\x43\xd3\x14\x6e\x43\x9f\x68\xd4\x67\xcc\x51\x30\x9a\x86\xfb\xa9\x2a\xff\xe1\x3e\xba\xa0\xee\x16\x42\xc3\xe9\x5a\x14\x9d\x52\x5e\x92\x71\x36\x6b\x74\x6c\xb8\x30\x7d\x18\x82\x5e\x2c\xb0\x98\x02\x1a\x7f\x69\xbd\xaf\xb7\x4d\x34\x8f\xfb\x71\xc0\xfe\x56\x1f\xda\x3b\x5f\x1a\xfe\x24\xe3\x34\xa7\x36\x1b\xdf\xc8\x7c\x13\xb3\x3b\xdc\x8d\xab\x20\xfd\xaa\x01\x2b\x79\x6e\x63\x69\xca\x57\xc9\x19\xcb\x1a\x68\xd0\x9a\xcc\xb9\xb6\x04\xe5\xb0\x57\x3f\xcb\x60\x58\xec\x09\xee\xa3\x4b\x09\xa9\x24\xed\x64\x37\xb3\x82\x82\x8d\xdc\x40\xa5\x37\x4d\x24\x8f\xf0\x38\xee\xad\xd6\x22\x23\xf6\xc3\x8a\xa3\x2d\x45\xcf\xb4\x4a\x04\xba\x25\x81\x5a\x93\x32\x21\x8b\xb7\x0a\x95\x30\x9b\x24\x8a\xa7\x10\x4c\xdb\x90\xd6\xb8\xa6\x39\x5c\xcf\xa9\x8d\xd7\x47\xee\x06\x3c\xe7\x07\x4d\xa6\x2c\x2e\x31\x14\xff\x7b\xe1\x5d\x3e\x72\xc9\x07\x48\xe3\x2c\xc3\x63\xdf\x6d\x34\x3e\xdc\xab\x1d\x66\x10\x4f\xe5\x36\xde\x93\xa8\x36\x92\x8b\x18\x7c\x98\xaf\x0c\xa2\x69\x76\x9e\xd3\x39\xf6\x5e\xb3\x19\x0c\x3b\x14\xae\x75\x9e\xd6\x71\x26\x41\x83\xce\xfa\xcf\x4f\x14\xff\x13\x95\xb1\xd7\x25\x2d\x3b\x99\x78\xea\x51\xde\xa7\x77\x55\x86\x2b\xf1\x0e\x6c\x91\x2a\xe6\xb1\x8f\x7e\x00\xb7\xff\xeb\x86\x27\xfe\xf5\x53\x17\x65\x93\xa5\xaf\xfa\x6f\xa4\xeb\x4b\x73\x38\xb6\x4c\x04\x45\x2b\x52\x24\x18\xd5\x07\xbc\x1a\x86\xf6\x1b\x1e\x9a\x63\x78\x08\xeb\xd6\xc0\x75\xca\x78\xd2\x9e\xcb\xa5\x72\xd0\x2d\xbb\xe3\x49\x85\x25\x24\xe9\xe1\xaf\xed\x71\x54\xd5\xc6\xfd\xa3\x17\x62\xa5\x21\xff\xb4\x36\x9b\xc1\xa7\x34\xad\x8e\x34\xc7\xe7\xe1\xe0\x34\x5c\x6a\xab\x6f\x98\xa6\xff\xd0\xae\xfa\x08\xdd\x90\xc9\xe4\xd9\xfa\x25\xde\xf0\x88\x79\x27\xe3\xb7\xfc\x35\x84\x7e\x18\xfd\x17\x00\x00\xff\xff\xa1\x32\x94\x0f\x97\x10\x00\x00"
 
 func switchboardAdd_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -644,11 +644,11 @@ func switchboardAdd_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x50, 0x57, 0xb, 0x2f, 0x6, 0xcf, 0x9b, 0x37, 0xab, 0xae, 0x81, 0x71, 0x73, 0xad, 0xed, 0xc3, 0xeb, 0xff, 0xe0, 0xa3, 0xc2, 0xbf, 0x9f, 0xcc, 0xea, 0x65, 0x8e, 0x9, 0x95, 0xbd, 0x1b, 0x91}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0x38, 0xd4, 0x9a, 0xb3, 0xee, 0x32, 0x59, 0xf2, 0x18, 0x1c, 0x9b, 0x60, 0x0, 0xd4, 0xc, 0xeb, 0x97, 0x69, 0x2d, 0x37, 0x92, 0x20, 0xdd, 0x92, 0x2e, 0xa, 0xb1, 0x32, 0x87, 0x1d, 0xfd}}
 	return a, nil
 }
 
-var _switchboardAdd_vault_wrapper_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xcb\x6e\xdb\x3a\x10\xdd\xeb\x2b\x06\x5e\xe4\x4a\x40\x20\xed\x8d\x3c\x6e\xae\x6f\xd3\x55\x8b\x22\x31\xd2\xf5\x98\x1a\x49\x44\x64\x52\x20\x47\x56\x8c\xc0\xff\x5e\x50\x2f\x93\xad\x6c\x54\x0b\x5b\x8f\x19\x9e\x39\xe7\xcc\x8c\xdc\x37\xda\x30\x3c\xb7\xaa\x94\xbb\x9a\xb6\xfa\x9d\x14\x14\x46\xef\x61\x15\xbc\x5b\x45\x4b\x91\xaf\x9d\x64\x51\xed\x34\x9a\x7c\x29\xc9\xfb\x3c\xe7\x7f\xf9\xc0\x7d\x13\x02\xf9\xaf\x96\x71\xbe\x11\x63\x8e\x8c\x6f\x92\x3a\xbb\x84\x14\x04\xac\xa2\x28\xcb\x32\xd8\x56\xd2\x02\x1b\x54\x16\x05\x4b\xad\x40\x5a\x40\x60\xda\x37\x35\x32\x41\xa1\x8d\x7b\xf4\xbe\x73\x85\x0c\x42\xb7\x75\x0e\x3b\x82\xd6\x52\x0e\xbb\x23\xa0\x3a\x6a\x45\xc0\x1a\x30\xcf\x01\x41\x51\x07\x07\x6c\x6b\x86\xce\x60\xd3\x90\x01\x81\x0d\xee\x64\x2d\xf9\xd8\xe3\xb2\x06\xae\x48\x1a\xb0\x9e\x3a\x86\xac\x6e\x8d\x20\x17\x11\xf9\xa0\x9f\x51\x04\x00\x50\x13\x03\x3b\x26\xcf\xda\x74\x68\x72\x32\x9b\xf9\xd4\x35\x9c\xef\xef\x6e\x3e\x03\xe2\xe9\x0b\x09\x92\x07\x32\xa7\x87\xf9\x1c\x0f\xf7\x85\x8a\x35\xc0\xcd\x25\x57\x52\xef\x7e\xa8\xa3\x31\xd4\xa0\xa1\xd8\xca\x52\x91\x59\x03\xb6\x5c\xc5\xff\x69\x63\x74\xf7\x86\x75\x4b\x09\xdc\x3c\x09\xa1\x5b\xc5\xc9\x54\xfa\x04\xdb\x8b\xf2\x3f\x32\xc2\x7d\xe0\x72\xea\xb8\xd7\x07\xda\x68\xc5\x06\x05\x3b\x8f\xe2\x49\x8f\xed\xb1\xa1\x35\x28\x59\xdf\xc2\x41\x52\x37\x3c\xba\xdf\xbb\xcb\xfe\xa6\xcf\xdb\xb7\x09\xeb\x21\x4e\x92\xb9\x0a\x77\x3d\x3e\x42\x83\x4a\x8a\x78\xb5\xe9\x9d\x54\x9a\xa1\x9c\xaa\x03\x77\x46\x0f\xd4\xdb\xcf\x15\x81\x18\xab\x5a\x25\x67\x36\x59\x06\x5f\x9d\x1f\x15\x0d\x9e\xb8\xe0\xc1\x14\xcf\xeb\xa1\x0d\x5d\xcc\xa0\xd5\x3f\x16\x70\x50\x66\x3e\xc7\x52\x5d\xa4\x97\x5c\x85\xfb\x31\x31\x9d\xcf\x94\x64\xd3\x92\xf8\x8a\xc7\x71\xc0\xd5\x5d\xb3\xea\xa9\x19\xa3\x7e\x20\x57\x41\x58\xc8\x6c\x53\x91\x78\x07\x59\xf4\xa5\x4f\x39\x3e\x2f\xfa\x90\x96\xed\x9c\x82\xd6\x92\xe1\x10\xf8\x2a\xb1\x54\x38\x84\x38\xb9\x0d\x52\xf6\x64\x2d\x96\xb4\x86\xd5\x6b\xcf\x1a\x72\x4d\xb6\x77\xa7\xc2\x03\x01\x42\xa7\xcd\xbb\x54\x25\x14\x23\xf5\x51\xfa\x85\x0a\x57\xd1\x32\x33\xe7\x19\x82\xa1\x82\x0c\x29\x41\xe3\x20\x8e\x2a\x5b\x7f\x2c\x42\x87\xc2\x79\x39\xfb\x62\x59\x1b\x2c\x29\xdd\xf5\xed\x7f\xf7\x57\x53\xb4\xe0\x90\xeb\x93\xf5\xc5\xbd\x99\xbe\x0e\x28\x7f\xba\xb6\xd8\xca\x43\x2d\x21\x49\xaf\xfe\xa9\x8b\x4f\xc3\x1f\x7d\x90\x68\x99\xfc\x49\xcd\x32\x78\xca\xf3\xa1\xf5\xcf\x9e\x4f\x52\x79\x1b\xab\xb5\xce\x0d\xcc\xf3\xef\xd4\xf5\xe3\x06\x7b\xe2\x4a\x5f\xd5\x2e\xf5\xc2\x7f\x0e\xdb\x31\xd4\x43\x78\x4b\xed\x6a\x13\x85\xcd\xc3\xe7\xb5\xf0\x6f\xb0\x5a\x7a\xa4\x87\x38\xf9\xbd\x23\x4e\x51\x74\x8a\x7e\x05\x00\x00\xff\xff\x81\x27\xa5\x64\xdc\x06\x00\x00"
+var _switchboardAdd_vault_wrapper_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\xdb\x30\x0c\xbd\xfb\x57\x10\x3e\x74\x36\x50\xd8\xf7\xa0\x1f\xeb\xb2\x75\xa7\x0d\x43\x1b\x74\x67\x46\xa6\x6d\xa1\x8e\x64\x48\x74\x9c\xa0\xc8\x7f\x1f\xe4\x4f\x79\x4b\x82\xf9\x90\x58\x09\xa9\xc7\xf7\x1e\x49\xb9\xab\xb5\x61\x08\x9f\x1b\x55\xc8\x6d\x45\x1b\xfd\x4e\x2a\x0c\xce\xfe\xfc\xda\x4a\x16\xe5\x56\xa3\xc9\xe6\x88\x6f\x07\xdc\xd5\xd7\xf3\x7e\x10\x63\x86\x8c\x6f\x92\x5a\x1b\x06\x41\x9a\xa6\xb0\x29\xa5\x05\x36\xa8\x2c\x0a\x96\x5a\x81\xb4\x80\xc0\xb4\xab\x2b\x64\x82\x5c\x1b\x77\xf4\xfe\xe7\x12\x19\x84\x6e\xaa\x0c\xb6\x04\x8d\xa5\x0c\xb6\x47\x40\x75\xd4\x8a\x80\x35\x60\x96\x01\x82\xa2\x16\xf6\xd8\x54\x0c\xad\xc1\xba\x26\x03\x02\x6b\xdc\xca\x4a\xf2\xb1\xc3\x65\x0d\x5c\x92\x34\x60\x67\x32\x60\xc8\xea\xc6\x08\x72\x11\x81\x0f\xfa\x11\x04\x00\x00\x15\x31\xb0\x63\xf2\xac\x4d\x8b\x26\x23\xb3\x9e\x6e\x5d\xc1\xfc\x7e\x77\xf3\xb1\x20\x9e\xbc\x90\x20\xb9\x27\x73\x7a\x98\xee\xf1\x70\x5f\x28\x5f\x01\xdc\x5c\xd2\x38\xf1\xde\xfb\x3a\x6a\x43\x35\x1a\x8a\xac\x2c\x14\x99\x15\x60\xc3\x65\xf4\x45\x1b\xa3\xdb\x37\xac\x1a\x8a\xe1\xe6\x49\x08\xdd\x28\x8e\xc7\xd2\x47\xd8\x4e\x94\xaf\xc8\x08\xf7\xe0\x5b\x96\x38\xee\xd5\x9e\xd6\x5a\xb1\x41\xc1\xce\xa3\x68\xd4\x63\x73\xac\x69\x05\x4a\x56\xb7\xb0\x97\xd4\xf6\x47\xf7\x79\x77\xd9\xdf\xe4\x79\xf3\x36\x62\x3d\x44\x71\x3c\x55\xe1\x9e\xc7\x47\xa8\x51\x49\x11\x85\xeb\xce\x49\xa5\x19\x8a\xb1\x3a\x70\x77\x74\x40\x9d\xfd\x5c\x12\x88\xa1\xaa\x30\x9e\xd9\xa4\x29\x7c\x77\x7e\x94\xd4\x7b\xe2\x82\x7b\x53\x3c\xaf\x21\x37\x7a\xd7\xc5\xf4\x5a\x7d\xb2\x80\xbd\x32\xd3\x3d\x96\xaa\x3c\xb9\xe4\x2a\xdc\x0f\x89\xc9\x74\xa7\x24\x9b\x14\xc4\x57\x3c\x8e\x16\x5c\xdd\x33\xa9\x9e\x98\x21\xea\x17\x72\xb9\x08\x5b\x32\x5b\x97\x24\xde\x41\xe6\x5d\xe9\x63\x8e\xcf\x8b\x0e\xd2\xb2\x9d\x52\xd0\x5a\x32\xbc\x04\xbe\x4a\x2c\x11\x0e\x21\x8a\x6f\x17\x29\x3b\xb2\x16\x0b\x5a\x41\xf8\xda\xb1\x86\x4c\x93\xed\xdc\x29\x71\x4f\x80\xd0\x6a\xf3\x2e\x55\x01\xf9\x40\x7d\x90\xfe\x4c\x85\x61\x70\x9e\x99\xf3\x0c\xc1\x50\x4e\x86\x94\xa0\x61\x10\x07\x95\xad\x3f\x16\x4b\x87\x96\xf3\x32\xfb\x62\x59\x1b\x2c\x28\xd9\x76\xed\x7f\xf7\x5f\x53\x74\xc6\x21\xd7\x27\x2b\xb8\x9c\xdc\xa3\xfc\xeb\xda\xd9\x56\xee\x6b\x59\x92\xf4\xea\x1f\xbb\xf8\xd4\x7f\xd1\x81\x44\xc3\xe4\x4f\x6a\x9a\xc2\x53\x96\xf5\xad\x3f\x7b\x3e\x4a\xe5\x6d\xac\xc6\x3a\x37\x30\xcb\x7e\x52\xdb\x8d\x1b\xec\x88\x4b\x7d\x55\xbb\xc4\x0b\xff\xdd\x6f\xc7\xa5\x1e\xc2\x5b\x6a\x57\x9b\x68\xd9\x3c\x3c\xaf\x85\xcf\x8b\xd5\xd2\x21\x3d\x44\xf1\xdf\x1d\x71\x0a\x82\x53\xf0\x27\x00\x00\xff\xff\x77\x92\x43\x58\x79\x06\x00\x00"
 
 func switchboardAdd_vault_wrapper_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -664,11 +664,11 @@ func switchboardAdd_vault_wrapper_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_wrapper_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x70, 0xc8, 0xf7, 0x96, 0x40, 0x2a, 0x3f, 0xc3, 0x4, 0xe6, 0xff, 0x36, 0xa5, 0xbe, 0x6a, 0x17, 0xb5, 0x9b, 0xf8, 0xb5, 0x4d, 0x8d, 0xd5, 0x53, 0xaf, 0xe0, 0xbb, 0x3f, 0xe2, 0x21, 0x5a, 0xc7}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xce, 0x5, 0x41, 0x8, 0x23, 0xfc, 0x9a, 0xe6, 0xd1, 0x1e, 0xbb, 0x18, 0xb9, 0xa0, 0xe0, 0xbd, 0x4c, 0xb2, 0xcc, 0xd3, 0x28, 0xa5, 0x18, 0x4d, 0x7b, 0x68, 0xee, 0x92, 0xc3, 0xe3, 0xf4}}
 	return a, nil
 }
 
-var _switchboardBatch_add_vault_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6b\xeb\x38\x14\xdd\xfb\x57\x1c\xb2\x78\x38\x50\x9c\x7d\x78\x69\x69\x3b\xd3\x59\xcd\x50\xa6\x21\x9b\x52\xe8\xb5\x7d\x13\x8b\x51\x24\x23\x5d\x27\x0d\x43\xff\xfb\x20\xcb\x71\xe4\x21\x81\xa7\x85\x91\x7d\xbf\x8e\xce\x39\x96\xda\xb7\xd6\x09\x5e\x3a\xb3\x53\xa5\xe6\xb5\xfd\x87\xcd\xdb\x51\x49\xd5\x94\x96\x5c\x8d\xad\xb3\x7b\xcc\x6e\x85\x67\xd9\x50\xff\xfb\x17\xed\xdb\x21\x3e\xd4\xa4\x9f\xc6\xbc\x49\xa3\x3f\x59\xa8\x26\xa1\x8d\xe2\xa3\xbf\x36\x69\x92\x30\xcb\xb2\xc5\x62\x81\x75\xa3\x3c\xc4\x91\xf1\x54\x89\xb2\x06\xca\x83\x20\xbc\x6f\x35\x09\x63\x6b\x5d\x78\x4d\xe2\xd2\x90\xa0\xb2\x9d\xae\x51\x32\x3a\xcf\x35\xca\x13\xc8\x9c\xac\x61\x88\x05\xd5\x35\x3c\x1f\xd8\x91\x86\xe1\x23\xb6\x03\x02\x48\x80\xd0\xcf\x3c\x50\xa7\xc5\xdf\xa1\x64\x6d\xcd\x4e\x99\x5d\x5f\x87\x8a\x9d\x90\x32\xf8\x7c\xac\x6b\xc7\xde\x7f\x86\xcf\xd2\xb0\x72\xf0\x09\x85\x8e\xbd\xed\x5c\xc5\x45\xe8\x95\xa5\xd0\x72\x8a\x85\x4b\x0c\x1d\xe6\xf8\x37\xcb\x00\x40\xb3\x80\x13\x02\x37\x01\xc1\x2b\x49\xb3\xc4\x6b\x57\x6a\x55\x85\xfd\x98\x79\x38\x47\xfd\x12\xef\x97\xf8\xc7\x98\x90\xc0\xf9\x9b\xb7\x4b\xe0\xc7\x2d\x45\x8b\x64\x1f\xa1\xb4\x8e\x5b\x72\x9c\x7b\xb5\x33\xec\x96\xa0\x4e\x9a\xfc\xc9\x3a\x67\x8f\x1b\xd2\x1d\xcf\xf1\xe3\xb1\xaa\x6c\x67\x64\x44\x3f\xc1\xf5\x1b\x09\x61\x35\x71\x48\x11\x28\xd1\x07\x7e\xb6\x46\x1c\x55\x12\xf4\xcd\xcf\x34\xad\x4f\x2d\x2f\x61\x94\xbe\xc3\x41\xf1\x31\xbe\x86\xe7\xcf\xdb\xde\x28\x5e\xd6\x9b\xf3\xac\xfb\x7c\x3e\x1f\x51\x84\xf5\xf0\x80\x96\x8c\xaa\xf2\xd9\x73\xef\x02\x63\x05\xbb\x33\x3a\x84\x1e\xfd\xa0\xde\x3a\xd2\x30\xaa\x01\xd5\x6c\x7e\x39\xcd\x62\x81\x3f\x58\xfa\xf0\x20\x4b\xb4\xc7\xd0\xa4\x25\x69\xa2\x81\xd3\x06\x63\xb5\x67\xbd\x2d\xae\xca\x89\xd5\x85\xa4\xc2\x71\xc5\xea\xc0\x6e\xd4\x16\x48\x01\x3c\x9a\x1a\x5e\xac\x63\x28\x81\x32\xfd\x28\x72\x8e\x4e\xb0\x5b\xb4\xbd\xea\x3d\x10\x1f\x2d\x7f\x54\x5a\x07\xc7\xb7\xe4\x83\xe7\xa3\x35\xd3\x7e\xa9\x47\xf7\x2c\x8d\xad\xa7\x80\x2f\xae\xc2\x0a\xef\x1f\xb7\x82\x05\xb5\x2d\x9b\x3a\xbf\x7d\xc8\xf9\x95\xc3\x04\x36\x09\x8e\xb7\xec\xd8\x54\x3c\xc0\x43\x34\x99\x4f\xb1\x4d\xe7\x4e\x9d\x8c\xd5\x50\x51\x04\x62\x68\xc7\x45\xd9\x1b\xf3\xe7\x2f\xf9\xfb\x3e\x9f\xf8\x24\xac\xa0\xe1\xf2\xe6\x6d\x58\xbc\xc5\x29\x89\x40\x71\xcd\xaf\x9a\x2c\x62\x99\x1e\x32\xc1\x3f\x8b\xbc\xf4\x8f\xef\x68\x35\xfe\xe2\xaa\x13\x4e\xff\xa3\x20\x7c\x5d\x47\x5f\x51\x4b\xa5\xd2\x4a\x4e\x23\x5d\x89\x84\x9d\x0f\x17\x13\xd5\xf5\x5f\x7c\xec\xa9\xbf\x2a\xea\x94\xbf\x22\x49\xf7\x4f\xa7\xde\x91\x79\x1b\x2f\x92\xff\xc9\x7c\x87\xf1\xb2\x1a\x36\xc3\xef\xf1\x9d\x65\xdf\xd9\x7f\x01\x00\x00\xff\xff\x53\xe7\x9d\xf9\x47\x06\x00\x00"
+var _switchboardBatch_add_vault_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x5d\x6b\xc3\x36\x14\x7d\xf7\xaf\x38\xe4\xa1\x38\x50\x9c\xf7\xd0\xb4\xb4\xdd\xba\xa7\x8d\xb2\x85\xbc\x94\x42\xaf\xad\x9b\x58\x4c\x91\x8c\x74\x9d\x34\x8c\xfe\xf7\x21\xdb\x71\xe4\x91\xc0\xf4\x60\x64\xeb\x7e\x9c\x7b\xce\xb1\xf4\xbe\x71\x5e\x30\x7b\x6b\xed\x4e\x97\x86\xd7\xee\x6f\xb6\x7f\x1d\xb5\x54\x75\xe9\xc8\xab\x59\x76\x8e\xf8\xf5\x9b\xf6\xcd\x10\x70\xf9\x3a\xc9\xfb\x9d\x85\x14\x09\x6d\x34\x1f\xc3\x2c\xcb\x16\x8b\x05\xd6\xb5\x0e\x10\x4f\x36\x50\x25\xda\x59\xe8\x00\x82\xf0\xbe\x31\x24\x8c\xad\xf3\xf1\x35\x39\x97\x9a\x04\x95\x6b\x8d\x42\xc9\x68\x03\x2b\x94\x27\x90\x3d\x39\xcb\x10\x07\x52\x0a\x81\x0f\xec\xc9\xc0\xf2\x11\xdb\x01\x01\x24\x42\xe8\x7a\x1e\xa8\x35\x12\xee\x51\xb2\x71\x76\xa7\xed\xae\xcb\x43\xc5\x5e\x48\x5b\x7c\x3d\x2b\xe5\x39\x84\xaf\xf8\x59\x6a\xd6\x1e\xe1\x32\x31\x3c\x07\xd7\xfa\x8a\x8b\x58\x2b\x4b\xa1\xe5\xd4\x27\x2e\x31\x54\x98\xe3\x9f\x2c\x03\x00\xc3\x02\x4e\x08\xda\x44\x04\xef\x24\xf5\x12\xef\x6d\x69\x74\x15\xf7\x63\xe4\xe1\x7c\x1a\x96\xf8\xb8\x9c\x7f\x8e\x01\x09\x9c\x3f\x79\xbb\x04\xee\x6e\xe9\x53\x24\xfb\x1e\x4a\xe3\xb9\x21\xcf\x79\xd0\x3b\xcb\x7e\x09\x6a\xa5\xce\x5f\x9c\xf7\xee\xb8\x21\xd3\xf2\x1c\x77\xcf\x55\xe5\x5a\x2b\x23\xfa\x09\xae\x5f\x48\x08\x2b\xa4\x72\x17\x91\x12\x73\xe0\x57\x67\xc5\x53\x25\x51\xdf\xfc\x4c\xd3\xfa\xd4\xf0\x12\x56\x9b\x7b\x1c\x34\x1f\xfb\xd7\xf8\x7c\xb8\xed\x8d\xe2\x6d\xbd\x39\xf7\x7a\xcc\xe7\xf3\x11\x45\x5c\x4f\x4f\x68\xc8\xea\x2a\x9f\xbd\x76\x2e\xb0\x4e\xb0\x3b\xa3\x43\xac\xd1\x35\xea\xac\x23\x35\xa3\x1a\x50\xcd\xe6\x97\x69\x16\x0b\xfc\xc6\xd2\x1d\x0f\xb2\xf4\xf6\x18\x8a\x34\x24\x35\xb6\xde\xed\x27\x05\xc6\xec\xc0\x66\x5b\x5c\x95\x13\xab\x0b\x49\x85\xe7\x8a\xf5\x81\xfd\xa8\x2d\x90\x02\x78\xb6\x0a\x41\x9c\x67\x68\x81\xb6\x5d\x2b\xf2\x9e\x4e\x70\x5b\x34\x9d\xea\x1d\x90\xd0\x5b\xfe\xa8\x8d\x89\x8e\x6f\x28\x44\xcf\xf7\xd6\x4c\xeb\xa5\x1e\xdd\xb3\xd4\x4e\x4d\x01\x5f\x5c\x85\x15\x3e\x3e\x6f\x1d\x16\xd4\x34\x6c\x55\x7e\x7b\xc8\xf9\x95\x61\x22\x9b\x04\xcf\x5b\xf6\x6c\x2b\x1e\xe0\xa1\x37\x59\x48\xb1\x4d\xfb\x4e\x9d\x8c\xd5\x90\x51\x44\x62\x68\xc7\x45\xd9\x19\xf3\xe1\x7f\xf9\xfb\x31\x9f\xf8\x24\xae\xa8\xe1\x12\xb7\x93\xfb\x2e\x89\x40\xfd\x9a\x5f\x35\x59\x8f\x65\x3a\x64\x82\x7f\xd6\xf3\xd2\x3d\x7e\x7a\xab\xf1\x37\x57\xad\x70\xfa\x1f\x45\xe1\x95\xea\x7d\x45\x0d\x95\xda\x68\x39\x8d\x74\x25\x12\xb6\x21\x5e\x4c\xa4\xd4\x1f\x7c\xec\xa8\xbf\x2a\xea\x94\xbf\x22\x09\x0f\x2f\xa7\xce\x91\x79\xd3\x5f\x24\xff\x91\xf9\x1e\xe3\x65\x35\x6c\x86\xdf\xe3\x27\xcb\x7e\xb2\x7f\x03\x00\x00\xff\xff\xeb\x06\x40\x63\xf7\x05\x00\x00"
 
 func switchboardBatch_add_vault_capabilitiesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -684,11 +684,11 @@ func switchboardBatch_add_vault_capabilitiesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/batch_add_vault_capabilities.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xa4, 0x10, 0x87, 0xdc, 0x1b, 0x72, 0x21, 0x22, 0xfd, 0xb, 0x25, 0x8a, 0xbe, 0x55, 0xe6, 0xf2, 0x94, 0x6d, 0x7, 0xc6, 0x7c, 0x1a, 0xe8, 0xfe, 0xd9, 0x58, 0xa7, 0x70, 0x9f, 0x6e, 0x65}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0xda, 0x9e, 0x7a, 0x33, 0xe5, 0xbe, 0x33, 0x81, 0xd7, 0x14, 0x9a, 0xba, 0x9f, 0x46, 0x8c, 0x5f, 0xa6, 0x38, 0xdc, 0x47, 0xf1, 0x1a, 0x87, 0xce, 0x23, 0xaf, 0xc9, 0x12, 0x74, 0xb3, 0x5d}}
 	return a, nil
 }
 
-var _switchboardBatch_add_vault_wrapper_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4d\x6f\xe3\x38\x0c\xbd\xfb\x57\x70\x73\x68\x1d\x20\x70\xee\x41\x3f\xb6\xed\x6e\xf7\xb4\x83\x62\x1a\x74\x0e\x45\x81\x30\x32\x1d\x0b\xa3\x48\x82\x44\x27\x0d\x06\xfd\xef\x03\xc9\x8e\x6b\x75\xe2\x41\x27\x07\xc7\x16\x49\xf1\x3d\xf2\x91\x72\x6b\x8d\x63\xb8\x6f\xf4\x46\xae\x15\x2d\xcd\x77\xd2\x8f\x7b\xc9\xa2\x5e\x1b\x74\x25\x54\xce\x6c\x61\x32\x66\x9e\x64\x5d\xfc\xbf\xaf\xb8\xb5\x9d\xbd\x8b\x19\x1e\xf5\x7e\xc9\x45\xff\x13\x63\x89\x8c\x4f\x92\xf6\xfe\x54\xa6\xc4\x61\x92\x65\xf3\xf9\x1c\x96\xb5\xf4\xc0\x0e\xb5\x47\xc1\xd2\x68\x90\x1e\x10\x98\xb6\x56\x21\x13\x54\xc6\x85\xcf\x81\x9d\x6b\x64\x10\xa6\x51\x25\xac\x09\x1a\x4f\x25\xac\x0f\x80\xfa\x60\x34\x01\x1b\xc0\xb2\x04\x4f\x3b\x72\xa8\x40\xa0\xc5\xb5\x54\x92\x25\xf9\x36\xd0\x1a\xa9\x39\x26\x66\x03\x55\x07\x0e\x38\xf2\xdc\x61\xa3\xd8\x83\xa9\x00\xa1\x94\x55\x45\x8e\x34\xc3\x6a\x79\xb0\xb4\x02\xd4\x21\x9f\x32\x7a\x13\x93\x80\x20\xc7\x28\x35\xac\x6e\xca\xd2\x91\xf7\xab\x59\x38\xe7\x9a\xa4\x03\x3f\x28\xb8\x23\x6f\x1a\x27\xa8\x08\x49\xb3\x21\x91\x1c\xdb\xc8\x05\x74\x57\x4c\xe1\x47\x96\x01\x00\x28\xe2\x16\xcc\x03\x72\xed\x17\xf0\xfc\xd0\xac\x95\x14\xe1\xeb\x25\x75\x08\xd8\x82\x43\xf8\x7f\x37\x0d\xf2\x7f\xa5\x6a\x01\x70\x36\xd6\xf0\x62\xf0\xde\xe6\xb6\x8e\x2c\x3a\xca\xbd\xdc\x68\x72\x0b\xc0\x86\xeb\xfc\xd6\x38\x67\xf6\x4f\xa8\x1a\x9a\xc2\xd9\x8d\x10\xa6\xd1\xdc\xc3\x4d\x10\xfd\x83\x8c\x70\x99\x08\xa8\x08\x35\x50\x3b\xba\x33\x9a\x1d\x0a\x0e\xed\xcf\x8f\x75\x09\xc8\x17\xa0\xa5\x9a\xc1\x4e\xd2\xbe\xfd\x0c\xcf\x8b\x71\xe9\x14\xf7\xcb\xa7\x63\xae\xab\x7c\x3a\x05\xf4\x7f\xfd\x46\x8a\x43\xf7\xeb\x1e\x71\xf8\x5d\x5f\x83\x45\x2d\x45\x3e\xb9\x8b\x82\xd2\x86\x61\x73\x64\x02\xe1\x82\x08\x2a\xaa\x90\x6b\x02\xd1\x31\x98\x4c\xdf\x99\xcf\xe7\xf0\xc8\xc6\x51\x74\xe8\x68\x43\x3b\x38\x8e\x04\xc9\x1d\xb9\x73\x0f\x36\x76\x10\x2c\x72\x0d\x52\x47\x5f\x74\x0e\x0f\x41\x6d\x9d\x6d\x78\x63\xf0\xeb\x14\xbb\x97\x4a\x05\xa5\x5b\xf4\x41\xeb\xad\xc8\x12\x89\x6d\x89\x6b\x53\xf6\xe1\x9e\x54\x55\xbc\xcb\x07\x2e\xe1\xf9\x65\xcc\x58\xa0\xb5\xa4\xcb\xbc\x6f\x5d\x71\xc4\x1c\xcc\x9f\x62\x79\xee\x81\x0f\x96\x7e\x61\x15\x0e\x4f\x53\x18\x5e\xfa\x27\x74\xa2\xd8\xc7\xe8\x44\xe3\x91\x4e\xd4\xcf\xdf\x89\x06\xa3\x02\x82\x58\xba\xd8\x21\x88\xff\x88\x01\xc1\x51\x9c\x78\x41\x3d\xa8\x38\x02\x7e\x08\x2e\x4d\x9c\xce\x19\x5c\x76\x11\x85\x67\xe3\x70\x43\xc5\x3a\x8e\xcd\xc5\xa7\xa6\xef\x2a\x4f\x94\x19\x7e\x61\x83\x2e\x46\x57\x79\xf1\xd8\x66\x09\x8d\x4a\x42\xa7\x27\x65\xdd\x62\x49\x49\x0e\xf0\x4f\xda\xba\xc4\xc7\x5b\xdb\x76\x7a\x25\xd1\x30\x0d\xa7\x7c\x3e\x0f\xbb\xaa\x1d\x85\xe3\x6a\x3d\xe4\x92\xfc\xf4\x54\x23\x1b\x2f\xf5\x26\xec\xe3\x2f\xb4\x8f\xe5\xff\xe6\x42\x7f\x9c\xbf\x3d\x24\xa0\x4f\xd4\xb2\x18\x8d\x4a\xcb\x64\xdb\x05\xf9\x41\xd5\x33\x48\x9c\xb8\x5d\x92\x1f\xb4\x32\x4b\x7c\xfa\x5d\xdc\xbd\xf4\xc6\x6e\x06\xde\xb2\xec\xed\x67\x00\x00\x00\xff\xff\xe3\x19\x31\xfe\x5c\x07\x00\x00"
+var _switchboardBatch_add_vault_wrapper_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4d\x6f\xe3\x38\x0c\xbd\xfb\x57\xbc\xcd\xa1\x75\x80\xc0\xb9\x07\xfd\xd8\xb6\xbb\xdd\xd3\x2e\x8a\x6d\xd0\x39\x14\x05\xc2\xd8\x74\x2c\x8c\x23\x09\x12\x9d\x34\x18\xf4\xbf\x0f\x24\x3b\x89\xdd\x49\x80\x4e\x0e\x8e\x2d\x92\xe2\x7b\xe4\x23\xd5\xda\x1a\x27\x18\x3d\x36\x7a\xa5\x96\x35\xcf\xcd\x77\xd6\xcf\x5b\x25\x79\xb5\x34\xe4\x8a\x51\xb2\xf7\xf8\xfb\x9d\xd6\xb6\x73\x38\x9e\x0e\xe2\xfe\x65\xa1\x82\x84\x5e\x14\x6f\xfd\x28\x49\xa6\xd3\x29\xe6\x95\xf2\x10\x47\xda\x53\x2e\xca\x68\x28\x0f\x82\xf0\xda\xd6\x24\x8c\xd2\xb8\xf0\xd9\xb3\x4b\x45\x82\xdc\x34\x75\x81\x25\xa3\xf1\x5c\x60\xb9\x03\xe9\x9d\xd1\x0c\x31\xa0\xa2\x80\xe7\x0d\x3b\xaa\x91\x93\xa5\xa5\xaa\x95\x28\xf6\x6d\xa0\x35\x4a\x4b\x4c\x2c\x06\x65\x07\x0e\x12\xd0\x61\x43\x4d\x2d\x1e\xa6\x04\xa1\x50\x65\xc9\x8e\xb5\x60\x31\xdf\x59\x5e\x80\x74\xc8\x57\x1b\xbd\x8a\x49\x90\xb3\x13\x52\x1a\x8b\xbb\xa2\x70\xec\xfd\x62\x12\xce\xa5\x62\xe5\xe0\x8f\xf5\x81\x63\x6f\x1a\x97\x73\x16\x92\x26\x7d\x22\x29\xb5\x91\x33\x74\x57\x8c\xf1\x23\x49\x00\xa0\x66\x69\xc1\x3c\x91\x54\x7e\x86\xd7\xa7\x66\x59\xab\x3c\x7c\xbd\x0d\x1d\x02\xb6\xe0\x10\xfe\x8f\xa6\x5e\xfe\xff\xb9\x9c\x01\x17\xe7\xda\x97\xf5\xde\xdb\xdc\xd6\xb1\x25\xc7\xa9\x57\x2b\xcd\x6e\x06\x6a\xa4\x4a\xef\x8d\x73\x66\xfb\x42\x75\xc3\x63\x5c\xdc\xe5\xb9\x69\xb4\x1c\xe0\x0e\x10\xfd\x45\x42\xb8\x46\x5f\x0d\x59\xa8\x41\xbd\xe1\x07\xa3\xc5\x51\x2e\xa1\xfd\xe9\xbe\x2e\x01\xf9\x0c\x5a\xd5\x13\x6c\x14\x6f\xdb\xcf\xf0\xbc\x3a\x2f\x9d\xec\x71\xfe\xb2\xcf\x75\x93\x8e\xc7\x20\xff\x07\xbe\xe6\x7e\x7b\x40\x1c\x7e\xb7\xb7\xb0\xa4\x55\x9e\x8e\x1e\xa2\xa0\xb4\x11\xac\xf6\x4c\x10\x2e\x88\xa0\xa2\x0a\xa5\x62\xe4\x1d\x83\xd1\xf8\xc8\x7c\x3a\xc5\xb3\x18\xc7\xd1\xa1\xa3\x8d\x08\x02\x8e\x73\x56\x1b\x76\x97\x1e\x36\x76\x10\x96\xa4\x82\xd2\xd1\x97\x9c\xa3\x5d\x50\x5b\x67\xeb\xdf\x18\xfc\x3a\xc5\x6e\x55\x5d\x07\xa5\x5b\xf2\x41\xeb\xad\xc8\x06\x12\x5b\xb3\x54\xa6\x38\x84\x7b\xae\xcb\xec\x28\x1f\x5c\xe3\xf5\xed\x9c\x31\x23\x6b\x59\x17\xe9\xa1\x75\xd9\x1e\x73\x30\x7f\x89\xe5\xa5\x87\xec\x2c\xff\xc2\x2a\x1c\x9e\xa6\xd0\xbf\xf4\x77\xe8\x44\xb1\x9f\xa3\x13\x8d\x7b\x3a\x51\x3f\x7f\x0e\x34\x18\x15\x10\xc4\xd2\xc5\xf6\x41\xfc\xc3\x02\x82\xe3\x38\xf1\x39\x1f\x40\xc5\x11\xf0\x7d\x70\xc3\xc4\xc3\x39\xc3\x75\x17\x91\x79\x31\x8e\x56\x9c\x2d\xe3\xd8\x5c\x7d\x69\xfa\x6e\xd2\x81\x32\xc3\xaf\x74\x66\x3d\xc3\xf9\xe0\x36\x4b\x68\xd4\x20\x74\x7c\x52\xd6\x2d\x96\x21\xc9\x1e\xfe\x51\x5b\x97\xf8\xf8\x68\xdb\xce\xef\x9c\x37\xc2\xfd\x29\x9f\x4e\xc3\xae\x6a\x47\x61\xbf\x5a\x77\xa9\x62\x3f\x3e\xd5\xc8\xc6\x2b\xbd\x0a\xfb\xf8\x3f\xde\xc6\xf2\x7f\x73\xa1\x3f\xce\xdf\xef\x06\xa0\x4f\xd4\x32\x3b\x1b\x35\x2c\x93\x6d\x17\xe4\x27\x55\x4f\x30\x70\x92\x76\x49\x7e\xd2\xca\x64\xe0\x73\xd8\xc5\xdd\xcb\xc1\xd8\xcd\xc0\x47\x92\x7c\xfc\x0c\x00\x00\xff\xff\x54\xf1\x3b\x37\x0c\x07\x00\x00"
 
 func switchboardBatch_add_vault_wrapper_capabilitiesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -704,11 +704,11 @@ func switchboardBatch_add_vault_wrapper_capabilitiesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/batch_add_vault_wrapper_capabilities.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0x4, 0xb8, 0xdf, 0x79, 0x94, 0x68, 0x7f, 0xf8, 0xa4, 0x61, 0xf6, 0xc3, 0x84, 0xff, 0x8, 0x66, 0x4e, 0x37, 0x7, 0x7e, 0x45, 0x83, 0x3b, 0xff, 0xe8, 0xd2, 0xc2, 0xf6, 0xef, 0xc3, 0x52}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x80, 0xd, 0xb9, 0x60, 0x6c, 0x4f, 0x3a, 0xbb, 0x97, 0x52, 0x37, 0x84, 0x7e, 0x37, 0xf9, 0x95, 0xc, 0x40, 0x74, 0x9f, 0x33, 0xe6, 0x1b, 0x6e, 0xe9, 0xd9, 0x93, 0xec, 0x6c, 0x94, 0x72, 0x5c}}
 	return a, nil
 }
 
-var _switchboardRemove_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x93\x41\x6f\xa3\x3e\x10\xc5\xef\x7c\x8a\xa7\x1c\xfa\x87\x0b\xdc\x51\xff\xad\x76\xab\xdd\xbd\x56\x49\xd5\xfb\xe0\x0c\x60\x2d\xd8\xc8\x1e\xd2\x46\x55\xbe\xfb\xca\xd0\x10\xa3\x4d\x76\xd7\x97\x04\xdb\x33\x6f\xde\xcf\x33\xba\x1f\xac\x13\x7c\x1f\x4d\xa3\xab\x8e\x5f\xec\x4f\x36\xa8\x9d\xed\xb1\x59\xed\x6d\x92\x6b\x37\x77\x6f\x5a\x54\x5b\x59\x72\xfb\x6b\x41\xd1\xf1\x12\xff\xed\x9d\xfa\x61\x2d\x14\x6f\x6d\x92\xa4\x28\x0a\xbc\xb4\xda\x43\x1c\x19\x4f\x4a\xb4\x35\xd0\x1e\x04\xe1\x7e\xe8\x48\x18\xb5\x75\xe1\x33\x3a\x97\x96\x04\xca\x8e\xdd\x1e\x15\x63\xf4\xbc\x47\x75\x04\x99\xa3\x35\x0c\xb1\x70\xdc\xdb\x03\xa3\xfe\x2c\x0f\x32\xe9\x1f\x68\xec\x64\x12\x54\x34\x50\xa5\x3b\x2d\xc7\xb9\x28\x69\x59\x3b\xf8\xc8\x9f\x63\x6f\x47\xa7\x38\x5c\x4f\x22\xe9\x74\x20\x69\x4b\x3c\x8f\x55\xa7\xd5\x33\x49\x9b\xe1\x23\x49\x00\xa0\x63\x01\x47\xde\x5e\x83\xda\xd3\x2c\x24\xc7\x12\x4f\x8b\xe6\xfd\xdd\xc7\x0a\x5c\xbe\x65\xc5\xfa\xc0\xee\xf4\xb0\x64\x8a\x6a\xd9\x72\x5d\x02\x77\xb7\x58\xe7\xd1\xff\xb9\x92\xc1\xf1\x40\x8e\x53\xaf\x1b\xc3\xae\x04\x8d\xd2\xa6\x5f\xad\x73\xf6\xed\x95\xba\x91\x33\xdc\x7d\x51\xca\x8e\x46\x96\xe2\xc3\x2a\x0a\xfc\x60\x09\x2c\xae\xf1\xc1\x9c\xed\x3f\x0f\x9a\x63\x97\x38\xcf\x5d\x9d\xdf\x76\x8e\xff\x3f\x43\xf3\x25\xab\x66\x9f\x37\x2c\x7f\xe0\x30\x61\xce\x16\x89\xb0\x1e\x1f\x31\x90\xd1\x2a\xdd\xec\xa6\x74\xd8\x5b\xf6\x30\x56\xd0\xd2\x81\x71\x8e\x8d\x38\x83\x04\x8d\x3e\xb0\x41\xc8\xb6\xc9\x7e\xb3\x4a\x70\x5c\xb3\x63\xa3\xa6\xae\xb9\xb8\xf4\x31\xff\xb5\xd1\xf5\xc3\x5c\xcc\x79\xb1\x8e\x1a\xce\xab\x89\xf3\xfd\x3f\x3d\xd7\x43\xba\x72\x18\x56\xc0\x5d\xde\x1c\xbb\x7c\x37\xab\x84\xc6\x5b\x85\x66\x11\x9e\xa7\x69\x2e\x02\x98\xb9\x96\xb5\xc9\xa8\xfe\x33\x91\xd3\xfc\xc3\xef\xac\x46\xe1\x4b\x4b\x14\x05\xb6\xf3\x20\xdd\xec\x89\x68\x62\x46\xaf\x4d\x33\xed\xe6\xf3\xf8\x4d\x6d\x90\x66\xe8\x59\x5a\x7b\xa6\x78\x85\xe1\xea\xfa\x45\xa5\xfc\x5b\x63\x5d\xaa\x3f\x25\xbf\x02\x00\x00\xff\xff\x3d\x55\x3c\x24\xd9\x04\x00\x00"
+var _switchboardRemove_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x93\x4f\x6f\x9b\x40\x10\xc5\xef\x7c\x8a\x27\x1f\x5c\xb8\xc0\x1d\xa5\x89\x5a\xab\xed\x35\x72\xa2\xdc\x87\xf5\x00\xab\xc2\x2e\xda\x1d\x9c\x58\x91\xbf\x7b\xb5\x10\xf3\x47\xb5\xdb\xec\xc5\x36\xde\x99\xf7\xde\x8f\x19\xdd\x76\xd6\x09\x36\x3f\x7b\x53\xe9\xa2\xe1\x67\xfb\x9b\xcd\x26\xba\xfa\xf8\xe9\x55\x8b\xaa\x0b\x4b\xee\x30\xdf\xf8\xf1\x46\x6d\x37\xd5\x45\x59\x96\xe1\xb9\xd6\x1e\xe2\xc8\x78\x52\xa2\xad\x81\xf6\x20\x08\xb7\x5d\x43\xc2\x28\xad\x0b\x3f\x17\xff\x4b\x4d\x02\x65\xfb\xe6\x80\x82\xd1\x7b\x3e\xa0\x38\x81\xcc\xc9\x1a\x86\x58\x38\x6e\xed\x91\x51\x7e\x98\x81\x04\x31\x1c\xa9\x6f\x64\x10\x54\xd4\x51\xa1\x1b\x2d\x27\x94\xce\xb6\x90\x9a\xb5\x83\x9f\xed\xc2\xb1\xb7\xbd\x53\x1c\xae\x47\x0b\xe9\xb8\x23\xa9\x73\x3c\xf6\x45\xa3\xd5\x23\x49\x9d\xe0\x3d\x8a\x00\xa0\x61\x01\x2f\xb2\xbd\x04\xb5\xdd\x28\x24\xa7\x1c\xbb\x49\xf3\x6e\xfb\xbe\xc2\x94\xee\x59\xb1\x3e\xb2\x3b\xdf\x4f\x9d\x16\x5e\xf6\x5c\xe6\xc0\xf6\x16\xd9\x74\xf1\x7d\x74\xd2\x39\xee\xc8\x71\xec\x75\x65\xd8\xe5\xa0\x5e\xea\xf8\xbb\x75\xce\xbe\xbe\x50\xd3\x73\x82\xed\x37\xa5\x6c\x6f\x64\x32\x1f\x4e\x96\xe1\x17\x4b\x60\x71\x8d\x0f\xc6\x6e\x5f\x3c\x68\xac\x9d\xea\x3c\x37\x65\x7a\x3b\x39\xbe\x7e\x94\xa6\x53\x57\xcd\x3e\xad\x58\xfe\xc1\x61\xc0\x9c\x4c\x12\xe1\x3c\x3c\xa0\x23\xa3\x55\xbc\x79\x1a\xda\xe1\x60\xd9\xc3\x58\x41\x4d\x47\xc6\xa5\x76\xc1\x19\x24\xa8\xf4\x91\x0d\x42\xb7\x4d\xf2\x57\x54\x82\xe3\x92\x1d\x1b\x35\x4c\xcd\x9c\xd2\x2f\xf9\xaf\x83\xae\x5f\xcc\x1c\xce\x8b\x75\x54\x71\x5a\x0c\x9c\xef\x3e\xf5\xba\xee\xe3\x55\xc2\x70\x02\xee\x1c\xb7\x8b\x47\x95\x30\x78\xab\xd2\x64\x81\x67\x37\xec\x45\x00\x33\x7a\x59\x87\x5c\xf8\xbf\x10\x39\x8f\x1f\xfc\xc6\xaa\x17\x9e\x47\x22\xcb\xb0\x1f\x17\xe9\xe6\x4c\x2c\x36\xa6\xf7\xda\x54\xc3\xd3\x74\x5c\xbf\x61\x0c\xe2\x04\x2d\x4b\x6d\x2f\x14\xaf\x30\x5c\x5d\x9f\x55\xf2\xff\x0d\xd6\xec\xfe\x1c\xfd\x09\x00\x00\xff\xff\xeb\x2f\x91\x93\x96\x04\x00\x00"
 
 func switchboardRemove_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -724,11 +724,11 @@ func switchboardRemove_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/remove_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x4f, 0xc7, 0x3c, 0x6, 0x9f, 0xb3, 0x52, 0xf6, 0x12, 0x96, 0x57, 0x15, 0xd1, 0xdc, 0x4f, 0x26, 0x26, 0x38, 0x2c, 0x8f, 0x74, 0xd4, 0xb9, 0xd7, 0x51, 0x0, 0x6f, 0xcd, 0x1e, 0x92, 0x28}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x27, 0x93, 0x3e, 0xb, 0xd6, 0xca, 0x79, 0x7d, 0x92, 0x6d, 0x5a, 0x17, 0xc2, 0x32, 0x74, 0x84, 0x14, 0x4f, 0x19, 0x6b, 0x5, 0x19, 0x2, 0xfc, 0x15, 0x7b, 0x32, 0x84, 0x68, 0x42, 0x48}}
 	return a, nil
 }
 
-var _switchboardSafe_transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x6f\xe3\x36\x10\x3d\xc7\xbf\x62\xd6\x87\x44\x02\x5c\xe5\x52\xf4\x60\x24\x59\x6c\x93\xa6\xa7\x02\x8b\xad\x9b\x9e\xc7\xe4\x48\x62\x57\x26\x05\x72\x64\xc5\x08\xf2\xdf\x0b\x92\xfa\xa0\x36\x0e\x9a\xe6\x10\x9b\xd2\x7c\xbc\x79\xef\x71\xac\x0e\xad\xb1\x0c\x8f\x9d\xae\xd4\xbe\xa1\x9d\xf9\x4e\x1a\x4a\x6b\x0e\xb0\x5e\x3c\x5b\xaf\xce\x45\xfe\xd9\x2b\x16\xf5\xde\xa0\x95\xe7\x92\x92\xd7\x53\xfe\x6f\xcf\x78\x68\x97\x8d\xd2\x47\xe7\xfb\xfc\x41\x8c\x12\x19\x9f\x14\xf5\xee\x5c\xa7\x45\xc0\x7a\xb5\xba\xbe\x86\x5d\xad\x1c\xb0\x45\xed\x50\xb0\x32\x1a\x94\x03\x04\xa6\x43\xdb\x20\x13\x94\xc6\xfa\x63\xf2\x9e\x6b\x64\x10\xa6\x6b\x24\xec\x09\x3a\x47\x12\xf6\x27\x40\x7d\x32\x9a\xc0\x57\x64\x03\x8e\xb4\x04\xf6\x1d\x9d\x3f\xa2\x36\x5c\x93\x05\x14\xc2\x74\x9a\x81\x6b\x6b\xba\xaa\x06\x04\x97\x30\xd3\x39\xa5\x2b\xe0\x9a\xc0\x61\x49\x0f\xd4\x1a\xa7\xd8\x17\x3c\x10\xd7\x46\x16\x11\x6a\x3c\x40\xaf\x9a\x06\xb4\x61\x68\x51\x2b\x01\xaa\x8c\x89\x49\x39\x69\xc8\x85\x88\x1a\x8f\xe4\xdf\xfa\x52\x02\x5b\xdc\xab\x46\xf1\x29\xc0\x64\x63\xc3\x2b\x90\xe4\x94\x25\x09\x8f\xbb\x0d\x58\xe2\xce\xea\x11\x8b\x8c\x38\x48\xc2\x11\xbb\x86\x41\x69\xc7\x84\xb2\x88\xdc\x11\xf4\x8a\x6b\x69\xb1\x07\x3c\x84\xd9\xd0\x4f\x5e\xd3\x34\x6b\x50\xa1\x22\xfe\x32\x9c\xfb\x91\x39\x1f\xd4\xa2\xc5\x03\x31\x59\x37\x32\xe7\x9f\x26\x6c\x17\xab\xe4\x90\xb1\xd9\xc2\x17\x29\x2d\x39\xb7\x19\xfa\x6d\xe1\xaf\x47\xf5\xfc\xcb\xcf\x39\xbc\xac\x56\x00\x00\x03\x2c\x4b\x25\x59\xd2\x82\xc6\xa2\x11\x7d\x40\x13\x3b\x9f\xc8\x5e\xb9\x11\x66\x48\x6d\x88\x63\xd8\x37\x2a\xb7\x80\x1d\xd7\xd9\xc2\x3d\xc5\xdf\xc3\xac\x39\x5c\xa6\x66\x2c\x9e\x7c\x52\x6c\xdf\x5a\x6a\xd1\x52\xe6\x54\xa5\xc9\x0e\x55\x7e\x35\xd6\x9a\xfe\x09\x9b\x8e\x72\xb8\x1c\x98\x98\x10\x2f\x5a\x3f\x20\x23\xdc\x2e\xec\x5f\x58\x72\xa6\x39\xd2\xbd\xd1\x6c\x51\xb0\x37\x6f\xe6\x9f\x75\x56\xd0\xee\xd4\xd2\x16\xb4\x6a\x36\x70\x54\xd4\xc7\xa3\xff\x7f\xf3\xbe\xf1\x8b\xc7\xdd\xd3\xd8\xeb\x2e\xcb\xf3\x09\x85\xff\xfb\xfc\x39\x5a\x2a\x5b\xdf\x07\xa5\xbc\x83\xaa\x11\x1d\xf8\x1a\xa1\x51\xb8\x18\x9e\x48\x31\xa0\x5a\xe7\xf3\x34\xd7\xd7\xf0\x3b\x31\xe0\x5b\x15\x22\x2d\x57\x2e\x5a\x6f\xf0\xd4\x94\xe7\xa8\x29\x8b\x51\x01\xb8\x1d\xa2\x0b\x1f\x8b\x15\x15\xfb\x40\xe3\xcd\xff\x15\xe6\x2e\xf3\xaa\x6f\x67\x7e\xc7\x82\x5f\x91\xeb\x7c\x75\x71\x71\x71\x6e\xe6\xd8\xec\xed\x04\xa6\x8f\x03\x84\xd2\x9f\xc6\xa9\x5f\xe3\x07\x3d\x93\xe8\x98\x52\x65\x07\x2e\x38\x78\x52\xa8\x56\x91\xe6\x2b\x07\x6d\xb7\x6f\x94\x98\x6e\x89\xd9\xff\x43\x82\x17\x76\x98\xa2\xe1\x36\xb9\x3f\x19\x9b\x7c\x69\x1b\x47\x9a\x03\x18\xb8\xf9\x69\xc9\x60\x31\xde\xcd\x6c\xbc\x2b\xf1\xf3\x43\x4a\xa5\x60\xd3\xfd\xfd\x8d\x04\xa9\x23\xd9\x25\x86\x39\x20\x2a\x37\x65\x17\x15\xf1\xfd\xb4\x74\xb2\xf7\xf6\x7e\xf1\x35\xf0\x11\x15\x49\xed\x38\x8a\x7e\xf9\x6e\x66\xf2\xfd\xe5\x23\x41\xb1\xd3\xeb\x5d\xf6\xdf\xd2\xc7\x49\x97\xdc\x24\xa3\x7e\x5a\xe7\x1e\xe2\x82\xcd\x61\x6d\x07\x0a\xcb\x4e\x4b\x07\xe1\x27\x63\xb1\x9a\x37\xe3\xba\x1e\x76\xeb\xbc\xaa\x85\xf1\xde\xe5\xb8\x1c\xd3\x4d\x1f\x77\xf2\x5c\x35\x6d\x39\x6c\x64\x30\x65\x1c\xe5\xbb\xd2\xd5\x06\x9c\x81\x9e\x86\xdd\x6f\xfc\x2c\xc6\x8f\xc2\xb5\x71\x3f\x96\x50\x65\xd0\x50\x1b\x7e\x18\x77\xfd\xec\xa7\x85\xb0\x45\xf2\xc3\x34\x5c\xaa\xe0\xb9\xc1\x80\xef\xfa\x2d\x7f\x59\x68\xba\x34\xa9\xfc\xa1\xde\x1b\x1c\xb3\x21\x5e\x67\xaa\x25\x39\xb6\xe6\x14\x6b\x4d\x08\xa6\xcb\xf8\xba\xfa\x37\x00\x00\xff\xff\xfe\x7e\x74\x01\xb2\x08\x00\x00"
+var _switchboardSafe_transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x6f\xe3\x46\x0c\x3d\xc7\xbf\x82\xeb\x43\x22\x01\xae\x72\x29\x7a\x30\x92\x2c\xb6\x49\xd3\x53\x81\xc5\xd6\x4d\xcf\xb4\x86\x92\xa6\x2b\x0f\x85\x19\xca\x8a\x11\xe4\xbf\x17\x33\xa3\xcf\xcd\xba\xcd\xe6\x10\x7b\x24\x0e\xf9\xde\xe3\x23\xad\x0f\x0d\x5b\x81\xf5\x63\x6b\x4a\xbd\xaf\x69\xc7\x5f\xc9\xac\x57\xdf\x7d\xfc\x67\xa7\x25\xaf\xf6\x8c\x56\x4d\x11\xbf\x3d\xe3\xa1\xf9\xef\x7b\x7f\x90\xa0\x42\xc1\x27\x4d\x9d\x5b\xaf\x56\xd7\xd7\xb0\xab\xb4\x03\xb1\x68\x1c\xe6\xa2\xd9\x80\x76\x80\x20\x74\x68\x6a\x14\x82\x82\xad\x3f\xce\xde\x4b\x85\x02\x39\xb7\xb5\x82\x3d\x41\xeb\x48\xc1\xfe\x04\x68\x4e\x6c\x08\x7c\x46\x61\x70\x64\x14\x88\xaf\xe8\xfc\x11\x0d\x4b\x45\x16\x30\xcf\xb9\x35\x02\x52\x59\x6e\xcb\x0a\x10\xdc\x44\x04\x5a\xa7\x4d\x09\x52\x11\x38\x2c\xe8\x81\x1a\x76\x5a\x7c\xc2\x03\x49\xc5\x2a\x8b\x50\xe3\x01\x3a\x5d\xd7\x60\x58\xa0\x41\xa3\x73\xd0\x45\xbc\x38\x4b\xa7\x98\x5c\x88\xa8\xf0\x48\xfe\xad\x4f\x95\x63\x83\x7b\x5d\x6b\x39\x05\x98\xc2\x36\xbc\x02\x45\x4e\x5b\x52\xf0\xb8\xdb\x80\x25\x69\xad\x19\xb0\xa8\x88\x83\x14\x1c\xb1\xad\x05\xb4\x71\x42\xa8\xb2\xa8\x1d\x41\xa7\xa5\x52\x16\x3b\xc0\x43\xe0\x86\x9e\x79\x45\x23\xd7\xc2\xf2\x01\x4a\x92\x4f\xfd\xb9\x1b\x94\xf3\x41\x0d\x5a\x3c\x90\x90\x75\x83\x72\xfe\xe9\x4c\xed\x6c\x35\x3b\x24\xc2\x5b\xf8\xa4\x94\x25\xe7\x36\x7d\xbd\x2d\xfc\xf5\xa8\x9f\x7f\xf9\x39\x85\x97\xd5\x0a\x00\xa0\x87\x65\xa9\x20\x4b\x26\xa7\x21\x69\x44\x1f\xd0\xc4\xca\x27\xb2\x57\x6e\x80\x19\xae\xd6\x24\x31\xec\x0b\x15\x5b\xc0\x56\xaa\x64\xe1\x9e\xec\xef\x9e\x6b\x0a\x97\x73\xb3\x65\x4f\xfe\x52\x2c\xdf\x58\x6a\xd0\x52\xe2\x74\x69\xc8\xf6\x59\x7e\x65\x6b\xb9\x7b\xc2\xba\xa5\x14\x2e\x7b\x25\x46\xc4\x8b\xd2\x0f\x28\x08\xb7\xb0\x48\x6f\xc9\x71\x7d\xa4\x7b\x36\x62\x31\x17\x6f\xde\xc4\x3f\x6b\x6d\x4e\xbb\x53\x43\x5b\x30\xba\xde\xc0\x51\x53\x17\x8f\xfe\xff\xcd\x79\xe3\x67\x8f\xbb\xa7\xa1\xd6\x5d\x92\xa6\x23\x0a\xff\xf7\xf1\x63\xb4\x54\xb2\xbe\x0f\x9d\xf2\x0e\x2a\x07\x74\xe0\x73\x84\x42\x61\x30\xbc\x90\x79\x8f\x6a\x9d\x4e\x6c\xae\xaf\xe1\x77\x12\xc0\xb7\x5d\x88\xb2\x5c\xb9\x68\xbd\xde\x53\xe3\x3d\x47\x75\x91\x0d\x1d\x80\xdb\x3e\x3a\xf3\xb1\x58\x52\xb6\x0f\x32\xde\xfc\x68\x63\xee\x12\xdf\xf5\xed\xa4\xef\x90\xf0\x33\x4a\x95\xae\x2e\x2e\x2e\xbe\xc7\x39\x16\x7b\xcb\x80\xbb\x48\x20\xa4\xfe\x30\xb0\x7e\x8d\x1f\xf4\x4c\x79\x2b\x34\xef\x6c\xaf\x85\x04\x4f\xe6\xba\xd1\x64\xe4\xca\x41\xd3\xee\x6b\x9d\x8f\x53\xc2\xfb\x7f\x28\x97\x85\x1d\xc6\x68\xb8\x9d\xcd\x4f\x22\x9c\x2e\x6d\xe3\xc8\x48\x00\x03\x37\x3f\x2d\x15\xcc\x86\xd9\x4c\x86\x59\x89\x9f\xef\xea\xd4\x1c\xec\x6c\xdd\xc2\x17\xca\x49\x1f\xc9\x2e\x31\x4c\x01\xb1\x73\xe3\xed\xac\x24\xb9\x1f\x97\x4e\x72\x6e\x8b\x67\x9f\x83\x1e\xb1\x23\x73\x3b\x0e\x4d\xbf\x3c\x7b\x73\xf6\xfd\xe5\x3d\x41\xb1\xd2\xeb\x5d\xf2\xff\xad\x8f\x4c\x97\xda\xcc\xa8\x7e\x58\xa7\x1e\xe2\x42\xcd\x7e\x6d\x07\x09\x8b\xd6\x28\x07\xe1\x27\x63\xb1\x9a\x37\xc3\xba\xee\x77\xeb\xb4\xaa\x73\xf6\xde\x95\xb8\x1c\xe7\x9b\x3e\xee\xe4\x29\xeb\xbc\x64\xbf\x91\x81\x8b\x48\xe5\xab\x36\xe5\x06\x1c\x43\x47\xfd\xee\x67\xcf\x85\x3d\x15\xa9\xd8\x7d\x9b\x42\x17\xa1\x87\x86\xe5\x61\xd8\xf5\x93\x9f\x16\x8d\xcd\x66\x3f\x4c\xfd\x50\x05\xcf\xf5\x06\x3c\xeb\xb7\xf4\x65\xd1\xd3\xa5\x49\xd5\x37\xf9\xde\xe0\x98\x0c\xf1\x3a\x49\xad\xc8\x89\xe5\x53\xcc\x35\x22\x18\x87\xf1\x75\xf5\x6f\x00\x00\x00\xff\xff\x41\xd1\x76\x1e\x4f\x08\x00\x00"
 
 func switchboardSafe_transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -744,11 +744,11 @@ func switchboardSafe_transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0xee, 0x88, 0x3d, 0x6e, 0x49, 0xe2, 0x64, 0xb9, 0xd0, 0x9e, 0xb2, 0x9b, 0x79, 0x4d, 0xeb, 0x29, 0xd8, 0x5f, 0x11, 0x3c, 0xba, 0xb3, 0xd4, 0x76, 0xc4, 0x87, 0x6e, 0xe0, 0xec, 0xef, 0x54}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0x35, 0x81, 0x26, 0xa2, 0xb8, 0x6b, 0x6, 0x4, 0xfc, 0xee, 0xa, 0xcb, 0x26, 0x20, 0xfe, 0x28, 0x6e, 0x3b, 0xb5, 0x8c, 0xee, 0x19, 0x73, 0x5d, 0x7a, 0xd8, 0x24, 0x74, 0x75, 0xcd, 0x59}}
 	return a, nil
 }
 
-var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x6f\xe3\x46\x0c\x3d\xc7\xbf\x82\xf1\x21\x91\x80\x5d\xf9\x52\xf4\x60\xe4\xa3\xbb\xdb\xa6\xa7\x02\x8b\x6d\xea\x9e\xa9\x11\x65\x4d\x77\x3c\x23\xcc\x50\x51\x84\x85\xff\x7b\x41\x8d\x24\x4b\x89\x53\xa4\x3a\x58\x18\x0d\xc9\x47\xf2\x3d\xd2\xfa\x50\x3b\xcf\xf0\xd0\xd8\xbd\xce\x0d\x3d\xba\xef\x64\xa1\xf4\xee\x00\xeb\xc5\xb7\xf5\xea\x9c\xe5\x9f\xad\x66\x55\xe5\x0e\x7d\x71\xce\x69\x76\x3d\xf9\xff\xf6\x8c\x87\x7a\x09\x34\xff\x74\x1e\xe7\x0f\x62\x2c\x90\x71\xa7\xa9\x0d\xe7\x90\x16\x06\xeb\xd5\x6a\xb3\xd9\xc0\x63\xa5\x03\xb0\x47\x1b\x50\xb1\x76\x16\x74\x00\x04\xa6\x43\x6d\x90\x09\x4a\xe7\xe5\x38\xbb\xe7\x0a\x19\x94\x6b\x4c\x01\x39\x41\x13\xa8\x80\xbc\x03\xb4\x9d\xb3\x04\xec\x20\x90\x2d\x80\x05\x2e\xc8\x11\xad\xe3\x8a\x3c\xa0\x52\xae\xb1\xdc\x63\x72\xe5\x5d\xb3\xaf\x00\x21\xcc\x5a\xd3\x04\x6d\xf7\xc0\x15\x41\x41\xb5\x0b\x9a\xe1\x40\x5c\xb9\x02\xf2\x86\x21\xa7\xd2\xf9\xe9\x46\x0c\x5b\x82\x56\x1b\x03\xf4\x5c\x1b\xad\x34\x9b\x0e\x54\x45\xea\x3b\xb4\x15\xf5\x88\x9e\x14\xe9\x27\x6d\xf7\x3d\xa6\xc2\x1a\x73\x6d\x34\x77\x52\x61\xee\xbc\x77\x2d\xe6\x86\xc0\x79\xb0\x8e\x01\x6d\x01\xba\x84\x8e\x82\xa4\x60\x41\x73\x0c\x3f\xe6\x22\x79\x3d\x61\x63\x58\x8a\x92\x43\x0c\x4f\x7e\x16\x39\x13\xa4\xd5\xac\x59\x09\xbb\x2d\x7c\x2a\x0a\x4f\x21\x7c\x00\x3c\x48\x07\xb6\xf0\xd7\x83\x7e\xfe\xf9\xa7\x14\x7e\xac\x56\x00\x00\x3d\x09\x12\xaf\x24\x4f\x56\xd1\x08\x10\xd1\x7a\x1a\xe5\x58\x63\x47\xfe\x3a\x4c\x8d\x14\x57\x43\x1c\xcd\xbe\x51\xb9\x05\x6c\xb8\x4a\x16\x84\x67\x7f\x6b\xae\x0a\x8f\x6d\x0a\x57\x73\xfd\x64\x3b\x71\x8a\xf0\xb5\xa7\x1a\x3d\x25\x41\xef\x2d\xf9\x21\xca\xe7\xbe\x3f\x3b\x34\x0d\xa5\x70\xf5\x29\x42\x4e\x19\x2f\xa0\x7f\x45\x46\xb8\x5d\x28\x36\xf3\x14\x9c\x79\xa2\x2f\xce\xb2\x47\xc5\xa2\xb7\x44\xbe\x35\x5e\xd1\x63\x57\xd3\x16\xac\x36\x1f\xe0\x49\x53\x1b\x8f\xf2\x7b\xf3\xb6\x56\xb3\x87\xc7\xdd\x88\x75\x97\xa4\x29\x60\xb8\xfc\x0f\xed\xcf\xcd\xef\xa7\x8c\xe5\xb9\xbf\x87\x1a\xad\x56\xc9\xfa\x4b\xaf\x60\x61\x7e\x3f\x56\x02\x12\xa0\x4f\xaa\x97\xbd\x34\x5d\x0d\x15\xac\xd3\x53\xe5\x9b\x0d\xfc\x4e\x0c\xf8\x9a\xb1\xd8\xc2\xeb\x00\x81\x9d\xa7\x22\x46\x9d\xfc\x02\x99\x32\x1b\xd9\x82\xdb\xc1\x3a\x13\x5b\xdc\x53\x16\x25\x79\xf3\x7f\x49\xbc\x4b\x44\x21\xdb\x13\x17\x63\xc0\xaf\xc8\x55\xba\xba\xb8\xb8\x38\x57\x73\x04\x7b\x5d\x81\x6b\x63\x01\x7d\xe8\xcb\xb1\xea\x63\x7c\xd1\x33\xa9\x86\x69\xae\x82\xa1\x17\xc3\x3c\xe8\x5a\x93\xe5\xeb\x00\x75\x93\x1b\xad\x46\xa9\x82\xcb\xff\x21\xc5\x0b\xe9\x4c\xd6\x70\x2b\x04\x0c\x0a\x4b\xd8\xa5\x4b\x89\x05\xb2\xdc\x27\x03\x37\x1f\x97\x1d\xcc\xda\xa1\x2d\xc9\x38\x57\xf1\xfd\x2e\xa6\xe6\xc9\xce\xf6\xef\xd7\x3e\xef\x65\x02\xa7\xdb\x48\xdb\xe4\x9a\x4d\x83\xaf\x29\x8c\xf4\x5d\xfd\x78\x6b\xb7\x67\xaf\x70\x8e\x77\xc9\x42\x9c\xf2\xbc\xe9\x1d\x5d\x84\xd4\x85\x4f\x7a\x56\xd2\x13\xbd\xc3\x8a\x5a\xd4\x3f\xab\xe8\x72\x9d\x4a\x90\x45\xc7\x76\x68\x74\x21\xab\xff\xb4\xe4\x64\xdd\xce\xf6\x67\xde\x0d\xbb\x3a\x60\x49\x71\x53\x7c\xee\x64\x82\xa7\x30\xba\x1c\x49\x8e\xde\x83\xe0\x17\xad\xcc\x5e\x7a\x27\x7c\x5a\x05\xbf\x9c\x13\x7a\x2a\x0b\x68\x5e\xfc\x8b\x80\xc3\xaa\x1e\x06\xe2\xe6\xe3\xa4\x9d\x74\xf2\x3a\x02\x99\x40\x2f\xc2\x6c\x36\xf0\x8d\xb8\xf1\x16\xca\xc6\x16\xfd\xbf\xd6\x34\xc9\xa3\x84\x75\x79\xea\xa6\x0e\x7d\x93\x95\xb3\xa5\xde\x37\x32\xe8\xec\xc6\xdb\xbe\x6b\x7d\x98\x65\xa6\x0b\xe5\xbe\x27\xd1\x71\xf0\x8e\xab\x7f\x03\x00\x00\xff\xff\x23\xc8\xa9\xc9\x7d\x08\x00\x00"
+var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4b\x6f\xe4\x36\x0c\x3e\x67\x7e\x05\x33\x87\xc4\x06\x76\x3d\x97\xa2\x87\x41\x1e\xdd\xdd\x36\x3d\x15\x58\x6c\xd3\xe9\x99\x96\xe9\x31\xbb\x1a\xc9\x90\xe8\x38\xc6\x22\xff\xbd\x90\xe5\x67\x1e\x45\xea\xc3\x18\xb2\xc8\x8f\x8f\xef\x23\x87\x4f\xb5\x75\x02\xdb\xbb\xc6\x1c\x39\xd7\x74\x6f\xbf\x93\xd9\x6e\x5e\xfd\xfc\x67\xcb\xa2\xaa\xdc\xa2\x2b\x66\x8b\xdf\x1e\xf1\x54\xff\xb7\xdf\x1f\x24\x58\xa0\xe0\x81\xa9\xf5\xdb\xcd\x66\xb7\xdb\xc1\x7d\xc5\x1e\xc4\xa1\xf1\xa8\x84\xad\x01\xf6\x80\x20\x74\xaa\x35\x0a\x41\x69\x5d\x38\x2e\xee\xa5\x42\x01\x65\x1b\x5d\x40\x4e\xd0\x78\x2a\x20\xef\x00\x4d\x67\x0d\x81\x58\xf0\x64\x0a\x90\x10\xce\x87\x23\x1a\x2b\x15\x39\x40\xa5\x6c\x63\xa4\x8f\x29\x95\xb3\xcd\xb1\x02\x04\x3f\x57\x02\x8d\x67\x73\x04\xa9\x08\x0a\xaa\xad\x67\x81\x13\x49\x65\x0b\xc8\x1b\x81\x9c\x4a\xeb\xa6\x9b\x60\xd8\x12\xb4\xac\x35\xd0\x63\xad\x59\xb1\xe8\x0e\x54\x45\xea\x3b\xb4\x15\xf5\x11\x1d\x29\xe2\x07\x36\xc7\x3e\xa6\xc2\x1a\x73\xd6\x2c\x5d\xa8\x30\xb7\xce\xd9\x16\x73\x4d\x60\x1d\x18\x2b\x80\xa6\x00\x2e\xa1\x23\x1f\x52\x30\xc0\x12\xe1\xc7\x5c\x42\x5e\x0f\xd8\x68\x09\x45\x85\x43\x84\x27\xb7\x40\xce\x42\xa4\xcd\xa2\x59\x89\xd8\x3d\x7c\x2a\x0a\x47\xde\x7f\x00\x3c\x85\x0e\xec\xe1\xaf\x3b\x7e\xfc\xf9\xa7\x14\x7e\x6c\x36\x00\x00\x3d\x09\x01\xaf\x24\x47\x46\xd1\x18\x20\x46\x2b\x9d\x3d\xf5\xc7\x1a\x3b\x72\x97\x7e\x6a\x64\x70\xd5\x24\xd1\xec\x1b\x95\x7b\xc0\x46\xaa\x64\x45\x78\xf6\x37\x4b\x55\x38\x6c\x53\xb8\x58\xea\x23\x3b\x04\xa7\x18\xbe\x76\x54\xa3\xa3\xc4\xf3\xd1\x90\x1b\x50\x3e\xf7\xfd\x39\xa0\x6e\x28\x85\x8b\x4f\x31\xe4\x94\xf1\x2a\xf4\xaf\x28\x08\xd7\xb0\x82\x77\xe4\xad\x7e\xa0\x2f\xd6\x88\x43\x25\x41\x6f\x49\xf8\xd6\x38\x45\xf7\x5d\x4d\x7b\x30\xac\x3f\xc0\x03\x53\x1b\x8f\xe1\xf7\xea\x6d\xad\x66\x77\xf7\x87\x31\xd6\x4d\x92\xa6\x80\xfe\x1c\xde\x67\x7e\x3b\x65\x1c\x9e\xdb\x5b\xa8\xd1\xb0\x4a\xb6\x5f\x7a\x05\x07\xe6\x8f\x63\x25\x10\x00\xfa\xa4\x7a\xd9\x87\xa6\xab\xa1\x82\x6d\x3a\x57\xbe\xdb\xc1\xef\x24\x80\x2f\x19\x8b\x2d\xbc\xf4\xe0\xc5\x3a\x2a\x22\xea\xe4\xe7\x49\x97\xd9\xc8\x16\x5c\x0f\xd6\x59\xb0\xc5\x23\x65\x51\x92\x57\xff\x97\xc4\x9b\x24\x28\x64\x3f\x73\x31\x02\x7e\x45\xa9\xd2\xcd\xd9\xd9\xd9\x6b\x35\xc7\x60\x2f\x2b\xb0\x6d\x2c\xa0\x87\x3e\x1f\xab\x7e\x8a\x2f\x7a\x24\xd5\x08\x2d\x55\x30\xf4\x62\x98\x07\xae\x99\x8c\x5c\x7a\xa8\x9b\x5c\xb3\x1a\xa5\x0a\x36\xff\x87\x94\xac\xa4\x33\x59\xc3\x75\x20\x60\x50\x58\x22\x36\x5d\x4b\xcc\x93\x91\x3e\x19\xb8\xfa\xb8\xee\x60\xd6\x0e\x6d\x49\xc6\xb9\x8a\xef\x77\x31\xb5\x4c\x76\xb1\x4d\xbf\xf6\x79\xaf\x13\x98\x6f\x23\x6d\x93\x6b\x36\x0d\x3e\x93\x1f\xe9\xbb\xf8\xf1\xd6\xa6\xce\x5e\xc4\x79\xba\x49\x56\xe2\x0c\xcf\x9b\xde\xd1\x25\x90\xba\xf2\x49\x5f\x95\xf4\x44\xef\xb0\xa2\x56\xf5\x2f\x2a\x3a\xdf\xa6\x01\x64\xd5\xb1\x03\x6a\x2e\xc2\xea\x9f\x97\x5c\x58\xb7\x8b\xfd\x99\x77\xc3\xae\xf6\x58\x52\xdc\x14\x9f\xbb\x30\xc1\x13\x0c\x97\x23\xc9\xd1\x7b\x10\xfc\xaa\x95\xd9\x73\xef\x44\xe6\x55\xf0\xcb\x6b\x42\x4f\xc3\x02\x5a\x16\xff\x0c\x70\x58\xd5\xc3\x40\x5c\x7d\x9c\xb4\x93\x4e\x5e\x4f\x40\xda\xd3\x33\x98\xdd\x0e\xbe\x91\x34\xce\x40\xd9\x98\xa2\xff\xd7\x9a\x26\x79\x94\x30\x97\x73\x37\xd9\xf7\x4d\x56\xd6\x94\x7c\x6c\xc2\xa0\x8b\x1d\x6f\xfb\xae\xf5\x30\xeb\x4c\x57\xca\x7d\x4f\xa2\xe3\xe0\x3d\x6d\xfe\x0d\x00\x00\xff\xff\x1e\xee\x83\xe0\x1a\x08\x00\x00"
 
 func switchboardSafe_transfer_tokens_v2CdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -764,11 +764,11 @@ func switchboardSafe_transfer_tokens_v2Cdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens_v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0x5c, 0xdb, 0xb0, 0x53, 0x52, 0x91, 0x59, 0x5c, 0x7b, 0xb1, 0xb9, 0x96, 0xc7, 0xef, 0x9a, 0xc4, 0xcd, 0x43, 0xa7, 0xc2, 0x22, 0x9e, 0x7c, 0x8, 0xb3, 0x44, 0xdd, 0xa5, 0xb9, 0x11, 0xb9}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x59, 0x85, 0x2e, 0x4, 0xcf, 0xf2, 0xab, 0xdc, 0xdd, 0x31, 0x4d, 0x67, 0xa9, 0x3f, 0x85, 0xcc, 0x24, 0xa0, 0x6c, 0xf1, 0xb9, 0xa9, 0x62, 0xd3, 0xc9, 0xae, 0x74, 0xfb, 0x3a, 0xdb, 0x10, 0xa2}}
 	return a, nil
 }
 
-var _switchboardSetup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x54\x5d\x6b\xe3\x3a\x10\x7d\xf7\xaf\x38\xb7\x0f\x25\x81\xdc\xe4\xbd\xb4\x85\x7b\x03\x17\xee\x5b\xd9\x76\xf7\x7d\x2c\x4f\x62\x51\x45\x32\xd2\xa8\x6d\x08\xf9\xef\x8b\xec\xd8\xb5\xb3\x76\xb6\xfb\x01\x2b\x0a\x8d\x3c\x9a\xa3\x39\x73\xce\x48\xef\x2a\xe7\x05\xff\x45\xbb\xd5\xb9\xe1\x27\xf7\xcc\xf6\xf1\x55\x8b\x2a\x73\x47\xbe\xc0\xc6\xbb\x1d\xae\xa6\xc2\x57\xd9\x58\xfe\x58\xd2\x55\x96\xad\x56\x78\x2a\x75\x80\x78\xb2\x81\x94\x68\x67\xa1\x03\x08\xc2\xbb\xca\x90\x30\x36\xce\xa7\x6d\x2f\x2e\x25\x09\x94\x8b\xa6\x40\xce\x88\x81\x0b\xe4\x7b\x24\x28\xb2\x7b\x67\x19\xe2\xd2\x1f\x15\x05\x08\xfd\xba\x3d\x07\x17\xbd\x6a\x0e\x94\xac\x3d\x48\x29\x17\xad\x20\xb8\x06\x55\x4a\xde\x43\x91\x4d\x60\x9e\x15\xeb\x17\xc6\x2e\x1a\xd1\x95\x61\x6c\x4e\xb5\x43\x52\xf1\x01\x31\x68\xbb\x05\x21\xfd\x33\x8c\xc3\x80\xdb\xf2\x53\x93\xee\x8f\x59\xbf\xf6\x43\x96\x01\x40\xe5\xb9\x22\xcf\xb3\xa0\xb7\x96\xfd\x0d\x28\x4a\x39\xfb\xd7\x79\xef\x5e\xbf\x90\x89\xbc\xc0\xff\x21\x44\x7e\x14\xe7\x69\xcb\x6b\xaa\x28\xd7\x46\xcb\x7e\xed\xac\x78\x67\x0c\xfb\x05\x1e\x62\x6e\x74\x28\xdf\x83\x0b\x3c\xd2\x0b\x9f\xf2\x3f\xdb\xea\x3c\x3e\xc7\xf5\x3f\x0d\xdf\x79\x5b\x47\x5a\xab\x15\xd6\x25\xab\x67\xe8\x4d\xe2\xdf\xf5\x84\x8c\x67\x2a\xf6\x28\x29\x4c\xf4\x71\x01\xcf\x12\xbd\x05\x93\x37\xfb\x94\x1f\x5c\x07\x9b\x76\x35\xbb\x65\x68\x58\x2c\xf3\x9a\xdf\xed\xf5\x94\x71\x96\xbd\xdf\xf7\xb3\xe4\x97\x9b\x49\x0f\x2e\x4f\xad\x79\x20\x29\xe7\xf8\xeb\x0e\x56\x1b\x1c\xba\xcb\xd3\x6a\x6a\xeb\x3e\x1d\x07\xc1\x01\x7b\xcf\xc9\x68\x04\xcb\xaf\xe3\x7e\x21\x5b\xa0\x8a\x02\x2d\xd0\x56\x1c\x4e\x8c\x3a\x90\x33\xa2\x81\x5e\x78\x36\xb8\xee\xf6\xef\x69\x26\xaa\xbe\xbe\xf7\x65\x36\x5f\x0c\x92\xc5\x7d\xac\x0f\x5d\xd2\x7c\x28\xae\x61\xf2\xe0\x37\x1d\x24\xf9\xb5\xf3\x83\xe6\x80\x34\x48\x64\x9d\xd5\x8a\x0c\x2a\x92\x32\x9c\x73\x52\xbd\xe3\xcb\xd8\x9a\x6a\x36\x59\x4f\x6b\xfb\xda\x9d\xaa\x96\xe7\x57\x21\xfb\x50\xa3\xba\xd5\x08\x0a\x1d\xee\xfe\x34\xe0\x03\x31\xf9\xad\x72\xf5\xc0\xa6\x40\xc1\x69\x23\x7d\xb4\x4d\xb4\xed\xf3\xe2\x5d\xdc\x96\xf5\xb9\xa9\x99\x4e\x36\x60\xbf\x21\xf5\xee\x01\xc3\xd2\x3e\x19\x7e\x4d\x15\xee\x46\xe9\xb6\x16\xd1\x69\xbc\x6f\xaf\xa7\xf0\xef\x87\xf6\x49\xeb\x87\x1c\xd0\xb8\xe0\x52\xdf\xdb\xae\xf7\x4a\x5e\x80\xe4\x82\xd3\x2e\x29\xfb\x1b\x64\xc9\x9d\xd4\x3d\xef\x43\x1d\x3e\xf2\x54\x34\xf5\x1c\xeb\x21\x4d\xe8\xd3\x00\x63\xfa\x85\x81\x80\xe1\x1c\xf6\x27\x95\xbc\x58\xea\x02\x7f\x5c\xf5\x31\x9e\xdf\x91\xff\x9b\x29\x3c\x66\xd9\x31\xfb\x1a\x00\x00\xff\xff\xd7\x8b\x14\x2a\x2b\x08\x00\x00"
+var _switchboardSetup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x54\x5d\x6b\xe3\x38\x14\x7d\xf7\xaf\x38\xdb\x87\x92\x40\x36\x79\x2f\x6d\x61\x37\xb0\xb0\x6f\x65\xda\x99\xf7\x6b\xf9\x26\x16\x55\x24\x23\x5d\xb5\x35\x21\xff\x7d\x90\x1d\xbb\x76\x26\xce\x74\x3e\x60\x44\xa1\x91\x25\x1d\x9d\x73\xcf\xb9\xd2\xbb\xca\x79\xc1\xd5\x7f\xd1\x6e\x75\x6e\xf8\xc9\x3d\xb3\x7d\x7c\xd5\xa2\xca\xdc\x91\x2f\xae\xb2\xb3\x3b\xae\xb2\x6c\xb5\xc2\x53\xa9\x03\xc4\x93\x0d\xa4\x44\x3b\x0b\x1d\x40\x10\xde\x55\x86\x84\xb1\x71\x3e\x4d\x07\xeb\x52\x92\x40\xb9\x68\x0a\xe4\x8c\x18\xb8\x40\x5e\x23\x41\x91\xad\x9d\x65\x88\x4b\x7f\x54\x14\x20\x0c\x58\xc0\x73\x70\xd1\xab\x76\x43\xc9\xda\x83\x94\x72\xd1\x0a\x82\x6b\x51\xa5\xe4\x1a\x8a\x6c\x02\xf3\xac\x58\xbf\x30\x76\xd1\x88\xae\x0c\x63\x73\xe4\x0e\x49\xe4\x03\x62\xd0\x76\x0b\x42\xfa\x67\x18\xfb\x91\xb6\xe5\xa7\xf6\xb8\x3f\x64\x43\xee\xfb\x2c\x03\x80\xca\x73\x45\x9e\x67\x41\x6f\x2d\xfb\x1b\x50\x94\x72\xf6\xaf\xf3\xde\xbd\x7e\x21\x13\x79\x81\xff\x43\x88\xfc\x28\xce\xd3\x96\xd7\x54\x51\xae\x8d\x96\x7a\xed\xac\x78\x67\x0c\xfb\x05\x1e\x62\x6e\x74\x28\xdf\x17\x17\x78\xa4\x17\x3e\x9e\xff\x6c\xab\xd3\xf5\x39\xae\xff\x69\xf5\xce\x3b\x1e\x69\xac\x56\x58\x97\xac\x9e\xa1\x37\x49\x7f\x5f\x13\x32\x9e\xa9\xa8\x51\x52\x98\xa8\xe3\x02\x9e\x25\x7a\x0b\x26\x6f\xea\x74\x3e\xb8\x1e\x36\xcd\x1a\x75\xcb\xd0\xaa\x58\xe6\x8d\xbe\xdb\xeb\xa9\x94\x2c\x07\xbf\xef\x67\x1b\xef\x76\x37\x98\xde\xdb\x82\x3e\x90\x94\x73\xfc\x75\x07\xab\x0d\xf6\xfd\xe5\x69\xb4\xdc\xfa\x4f\x87\xd1\xe2\x48\xbd\xe7\x14\x34\x82\xe5\xd7\xf3\x79\x21\x5b\xa0\x8a\x02\x2d\xd0\x56\x1c\x8e\x8a\x7a\x90\x13\xa1\x81\x5e\x78\x36\xba\xee\xf6\xef\x69\x25\xaa\xb9\x7e\xf0\x65\x36\x5f\x8c\x0e\x8b\xfb\x58\x1d\xfa\x43\xf3\xb1\xb9\x86\xc9\x83\xdf\x74\x90\x94\xd7\x3e\x0f\x9a\x03\x52\x23\x91\x75\x56\x2b\x32\xa8\x48\xca\x70\xaa\x49\x0d\xb6\x2f\x63\x17\xaa\xd9\x24\x9f\x2e\xf6\x4d\x3a\x55\x63\xcf\xaf\x42\x0e\xa1\xce\xfa\xd6\x20\x28\xf4\xb8\xf5\xb1\xc1\x47\x66\xf2\x5b\xe5\x9a\x86\x4d\x0b\x05\xa7\x89\x0c\xd1\x36\xd1\x76\xcf\x8b\x77\x71\x5b\x36\xfb\xa6\x7a\x3a\xc5\x80\xfd\x86\xd4\x7b\x06\x0c\x4b\xf7\x64\xf8\x35\x55\xb8\x3b\x2b\xb7\x8b\x88\x4e\xed\x7d\x7b\x3d\x85\x7f\x3f\x8e\x4f\x1a\x3f\x94\x80\x36\x05\x97\xea\xde\x55\x7d\x40\x79\x01\x92\x0b\x49\xbb\xe4\xec\x6f\xb0\x25\x77\xd2\xd4\x7c\x08\xb5\xff\xc8\x53\xd1\xf2\x39\x34\x4d\x9a\xd0\xa7\x01\xce\xf9\x17\x46\x06\x86\x53\xd8\x9f\x74\xf2\x22\xd5\x05\xfe\xb8\xeb\xe7\x74\x7e\xc7\xfe\x6f\xba\xf0\x90\x65\x87\xec\x6b\x00\x00\x00\xff\xff\x0c\x98\xe2\x14\xfa\x07\x00\x00"
 
 func switchboardSetup_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -784,11 +784,11 @@ func switchboardSetup_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x92, 0xf5, 0x43, 0x80, 0x12, 0x2b, 0xe9, 0xd6, 0xc5, 0x8d, 0x39, 0xa0, 0xb7, 0xb, 0x9a, 0xc2, 0x9a, 0x3a, 0xec, 0x9, 0xab, 0xe, 0xda, 0xed, 0x5d, 0xcf, 0xd4, 0xa5, 0x0, 0x38, 0xa7, 0x4d}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0xad, 0xd5, 0x2a, 0x2a, 0xca, 0x5c, 0xb4, 0x7e, 0xa8, 0xbf, 0x89, 0x5e, 0x54, 0xfc, 0x30, 0xbe, 0xa4, 0xb4, 0xb7, 0x82, 0xf2, 0xcd, 0x40, 0x3d, 0xaa, 0x5b, 0x47, 0xe1, 0xf0, 0xe2, 0x2f}}
 	return a, nil
 }
 
-var _switchboardSetup_royalty_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x41\x6f\xe3\x36\x13\xbd\xfb\x57\xcc\x97\x43\x3e\x19\x48\xad\x7b\x90\x64\x9b\xa6\xcd\xa2\x97\x62\xb1\xc9\xb6\x67\x9a\x1a\x59\x44\x64\x52\x20\x87\xf1\x1a\x81\xff\x7b\x41\xca\x92\x28\xc5\xb2\x25\x47\x68\x74\x48\x6c\x91\x7c\x9c\x37\x7c\xf3\x4c\x52\xac\x0b\xa5\x09\x1e\xad\x5c\x89\x65\x8e\xcf\xea\x05\x25\xa4\x5a\xad\xe1\xa2\xf5\xee\x62\x76\xa8\xe7\xd3\x46\x10\xcf\x96\x8a\xe9\xe4\xd0\xa0\xa0\xb9\x19\x9f\xab\x4d\x6b\x96\xea\x7b\xd3\x43\x30\x6a\xf5\xa8\xbe\x5f\xcc\x66\xb3\x38\x86\xe7\x4c\x18\x20\xcd\xa4\x61\x9c\x84\x92\x20\x0c\x30\x20\x5c\x17\x39\x23\x84\x54\x69\xf7\x35\x68\xa7\x8c\x11\x70\x65\xf3\x04\x96\x08\xd6\x60\x02\xcb\x2d\x38\x28\x26\xb7\x4a\x22\xa4\x36\xcf\xb7\x60\x90\x6c\x01\x4c\x02\xe3\x5c\x59\x49\x1e\x49\x23\x47\xf1\x2a\xe4\x0a\x96\x8a\x32\x1f\x3d\x30\x99\xc0\x8f\xa7\xdf\x1f\x80\x5c\x54\x06\x18\x01\x65\x08\x86\xad\xd1\x81\x16\x76\x99\x0b\x0e\x05\xa3\x0c\x22\x87\x21\xa4\x21\x26\x39\xfa\x5e\x5a\x6d\x59\x4e\x02\x0d\xc4\x65\xc7\xf8\x2b\x4a\xd4\x82\x3f\x3e\x7f\xf7\x73\xa1\xf6\x43\xe7\x0e\xea\x87\x71\x33\xbb\x61\x2c\x49\xfe\xc2\xcd\xdf\xcc\xe6\xf4\x8f\x66\x45\x81\xda\xfc\xb6\xfd\xe6\xa6\x30\xc1\x1a\xac\x91\x32\x95\x00\xcb\x73\xb5\x31\x15\x3b\x52\x8e\xb3\x83\xe3\xac\x60\x4b\x91\x0b\xda\xc2\x66\x0f\x02\xc6\xf2\x0c\x98\x01\x9f\xe1\x47\xa5\x37\x4c\x27\xee\xbd\x0b\x1a\x59\x02\x2a\x2d\xe7\xe7\x64\x59\x5e\x32\x86\x57\x17\xc6\x62\x16\xe6\x38\x9a\xc3\xdb\x6c\x06\x00\x90\x23\x41\x5a\x2d\xaa\x0f\xf8\xa1\x9e\xf6\x1a\x9a\xcf\x37\x97\x6f\x2d\xb1\x2c\x2a\xfa\xbb\xbb\x06\xa7\x5a\xfa\xf3\x70\x00\xa0\x86\x0a\xd2\xf4\x1d\xd3\x6b\x80\xcb\x3e\xa9\x2e\x82\xcf\x25\xa5\x42\x63\xc1\x34\x46\x46\xac\x24\xea\x6b\xb8\xb7\x94\xdd\x97\x22\xa9\x69\xbb\x27\x8e\xe1\x21\x43\xfe\x02\xa2\x4a\x5a\x29\x24\x96\x6b\x64\xc9\x16\x32\xe6\x94\xea\x35\xe4\x09\xd5\x03\x45\x0a\x25\xf6\x62\xa9\xb4\x56\x9b\x9b\xcb\xba\x2c\x16\xbe\xe7\x5d\xe4\x6a\xe1\x1a\x62\x43\x4a\xb3\x15\xc6\xed\x0c\xcf\xe1\xf6\x16\xa4\xc8\xe1\xad\x86\xdc\xc7\xf3\x67\x0a\x52\xd1\x15\x70\x8d\xae\x38\x18\x48\xdc\x04\x11\x80\x46\xa3\xac\xe6\xe8\x45\x5d\x58\x02\x41\x20\x24\x29\xd8\x4f\xd4\xc2\xdb\xc7\x68\xd8\x2b\x46\x37\xbf\x34\xa5\xbc\x28\xd1\xff\x58\x17\xb4\xf5\xb0\x91\x57\xc8\xf3\xb6\xc0\x6b\x70\x7f\x6f\x7e\x7d\xc7\x67\x3e\xbf\x02\x52\xfd\x8c\xea\x89\x77\xbd\xe9\xd5\x55\xbd\x04\xba\x16\x06\x72\x21\x5f\x30\x01\x5f\xf8\xe8\xa5\xd8\xf4\x74\x95\x15\x66\xfd\x7f\x7b\x4a\x2b\xa4\x41\x8a\x8a\xaa\xa2\xad\xa3\xad\xda\xe6\xad\x4c\x7d\xf0\x59\x70\xc7\xd3\xd7\x54\x67\x3d\x45\x0a\x82\xfe\x6f\x3a\x8b\xba\xb7\x9c\x20\x0f\xa4\x1a\xf6\x7e\x31\x00\x7f\x16\xca\xdb\x49\x17\xd2\xf5\x4b\xd0\x35\x12\xa4\x56\x56\x9e\xa9\x95\x5d\x65\xbe\xb1\x2f\x1b\x4e\x28\xa8\x53\xc6\x0f\xaa\xc4\x4a\xb7\x10\x43\x13\xb6\x1f\xe4\x86\x1c\x10\x7f\x2f\xc8\x15\x9c\x97\x76\x62\x7a\x85\x34\x4a\x7d\x06\xf3\x74\xd1\x67\x6c\x70\x0b\x13\x2a\x69\xa4\xa1\xf8\xdf\xa2\x93\x86\x52\x59\x69\xdb\x50\x3a\xaf\x9f\xca\x74\xb8\x1f\x96\x91\x9e\xd2\x04\xf1\x31\x4f\xa9\xe3\x19\xe0\x29\x5d\x4a\xce\x53\xce\x2c\x43\x67\x45\x47\x72\x31\x95\x1b\xf9\x2c\x4d\xe6\x46\x63\xb8\x46\x1d\x76\x15\xca\x37\xbb\xf4\x0c\x27\xb3\x1c\x4f\xf1\x53\x2d\xe7\x04\xd3\x23\xbe\xd3\x15\xd4\x71\xa4\xb3\xc4\x56\x39\xcf\x38\xb1\x95\xe6\xd3\xb3\x1b\x3a\xc3\x7c\x86\xa6\x68\xa4\x13\x85\xe7\x81\xca\x05\x8e\x79\xd2\x80\x1d\xd8\x69\x91\x57\x4e\xd6\x0b\x76\xb6\xa7\x1d\xa2\x73\x96\xa9\xf5\x85\x56\xce\x16\xbc\x89\xc6\x3a\x98\xf7\xad\x21\xcc\xa7\x72\xb0\x71\xe6\xd5\xc3\x65\x9a\xa5\x8f\x7a\x41\x02\x3d\xe7\x82\x4f\xeb\x6f\xa1\x28\x3e\xcb\xe0\x46\xf0\x3e\xe2\x76\x43\x96\x20\x1a\xae\xc6\x11\x51\x5d\x0d\x46\xad\xed\x72\x22\x8d\x07\x43\xcb\x70\x7c\x3d\xa7\x74\x40\xfc\xee\x8c\xce\x34\x36\xfa\x9f\x75\x16\x38\x3c\x79\x07\x87\xfe\xd3\xbf\xe8\x75\x8f\x61\x67\xd0\x81\xa9\xba\x3b\x5f\x17\x1f\x7c\xfe\xdb\xda\xf2\x17\x31\xef\x6b\xa8\x27\x7b\x25\xe5\x9d\x5f\x66\x37\xa8\x8b\x76\xba\x10\xcd\x39\x95\x38\xa4\x02\x5b\x0d\x93\x4a\xa1\x7a\x8e\x48\xe2\x93\x8a\xf1\x2b\x12\x30\xd0\x98\xa2\x46\x7f\x25\xa6\xba\xa5\xd4\xde\xf3\xb4\xaf\x6d\x9a\x9d\xce\xb4\x5b\x88\xfa\x19\xb5\x97\x38\x09\xfb\xe5\x0b\x14\x4c\x0a\x1e\x5d\x3c\xf8\xdb\x47\xa9\x08\xca\xc0\xdb\x19\x08\x48\x5e\xec\x4f\x7f\xbb\xf2\x1f\xfe\x44\x6e\x09\x83\xc2\x8a\x63\xb8\x4f\x4a\x29\xbf\xaf\x9f\xd0\x91\xac\x2f\x9e\xe0\xde\x70\x7f\x3b\x78\x2c\xbf\x8b\xa0\x7b\xc4\x83\xeb\xb6\xa3\x87\xdf\xf9\x07\x20\x7b\xb6\xb4\xf3\x2a\x09\xbb\x19\xfc\x1b\x00\x00\xff\xff\x1d\xb6\x26\x42\xa3\x16\x00\x00"
+var _switchboardSetup_royalty_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x41\x6f\xe3\x36\x13\xbd\xfb\x57\xbc\x2f\x87\x7c\x32\x90\xda\xf7\x20\xc9\x36\x4d\x9b\x45\x2f\xc5\x62\x93\x6d\xcf\x34\x35\xb2\x88\xc8\xa4\x40\x8e\xe2\x35\x82\xfc\xf7\x82\x94\x25\xd3\x4e\x64\x4b\x8e\xd1\xe8\xb0\xeb\x88\xe4\xe3\xbc\xe1\x9b\x27\x92\x6a\x51\x1a\xcb\x38\xbb\xaf\xf4\x5c\xcd\x0a\x7a\x34\x4f\xa4\xcf\x46\xef\xbe\x7e\x58\x2a\x96\xf9\xcc\x08\x9b\x46\x3d\x0a\xb3\xdc\x1d\xa4\x04\xaf\x5f\x8d\x46\xd3\x29\x1e\x73\xe5\xc0\x56\x68\x27\x24\x2b\xa3\xa1\x1c\x04\x98\x16\x65\x21\x98\x90\x19\xeb\xff\x8c\xda\x39\x17\x0c\x69\xaa\x22\xc5\x8c\x50\x39\x4a\x31\x5b\xc1\x43\x09\xbd\x32\x9a\x90\x55\x45\xb1\x82\x23\xae\x4a\x08\x0d\x21\xa5\xa9\x34\x07\x24\x4b\x92\xd4\xb3\xd2\x73\xcc\x0c\xe7\xf0\xe1\x41\xe8\x14\x3f\x1e\x7e\xbf\x03\xfb\xa8\x1c\x04\x83\x73\x82\x13\x0b\xf2\xa0\x65\x35\x2b\x94\x44\x29\x38\x47\xe2\x31\x94\x76\x2c\xb4\xa4\xd0\xcb\x9a\x95\x28\x58\x91\xc3\xb4\xee\x38\xfd\x4a\x9a\xac\x92\xf7\x8f\xdf\xc3\x5c\x64\xc3\xd0\xb1\x87\xfa\xe1\xfc\xcc\x7e\x98\x48\xd3\xbf\x68\xf9\xb7\xa8\x0a\xfe\xc7\x8a\xb2\x24\xeb\x7e\x5b\x7d\xf3\x53\xb8\x4d\x1a\xb1\x20\xce\x4d\x0a\x51\x14\x66\xe9\x1a\x76\x6c\x3c\x67\x0f\x27\x45\x29\x66\xaa\x50\xbc\xc2\x72\x0d\x02\x57\xc9\x1c\xc2\x21\x64\xf8\xde\xd8\xa5\xb0\xa9\x7f\xef\x83\x26\x91\xc2\x64\xf5\xfc\x92\x2b\x51\xd4\x8c\xf1\xec\xc3\x98\x8c\xe2\x1c\x27\x63\xbc\x8c\x46\x00\x50\x10\x23\x6b\x56\x31\x04\x7c\xd7\x4e\x7b\x89\xcd\xef\xab\xf3\x97\x2d\x39\x4c\x1a\xfa\xaf\x37\x1b\x9c\x66\xe9\x8f\xc3\x01\xd0\x42\x45\x69\xfa\x4e\xd9\x25\x70\xde\x25\xc6\x49\xf4\xbb\xa6\x54\x5a\x2a\x85\xa5\xc4\xa9\xb9\x26\x7b\x89\xdb\x8a\xf3\xdb\x5a\x24\x2d\x6d\xff\x4c\xa7\xb8\xcb\x49\x3e\x41\x35\x49\xab\x85\x24\x0a\x4b\x22\x5d\x21\x17\x5e\xa9\x41\x43\x81\x50\x3b\x50\x65\xa8\xb1\x27\x33\x63\xad\x59\x5e\x9d\xb7\x75\x30\x09\x3d\x6f\x92\xcc\x9a\xc5\x25\xa6\x8e\x8d\x15\x73\x9a\x6e\x67\x78\x8c\xeb\x6b\x68\x55\xe0\xa5\x85\x5c\xc7\xf3\x67\x06\x6d\xf8\x02\xd2\x92\x2f\x0e\x01\x4d\xcb\x28\x02\x58\x72\xa6\xb2\x92\x82\xa8\xcb\x8a\xa1\x18\x4a\xb3\xc1\x7a\xa2\x2d\xbc\x75\x8c\x4e\x3c\x53\x72\xf5\x0b\x36\x31\xd6\xe8\x7f\x2c\x4a\x5e\x05\xd8\x24\x28\xe4\x71\x55\xd2\x25\xfc\xbf\x57\xbf\xbe\xe1\x33\x1e\x5f\x80\x4d\x37\xa3\x76\xe2\xd7\xce\xf4\xda\xa6\x5e\x22\x5d\x2b\x87\x42\xe9\x27\x4a\x11\x0a\x9f\x82\x14\x37\x3d\x7d\x65\xc5\x59\xff\xdf\x9a\xd2\x9c\xb8\x97\xa2\x92\xa6\x68\xdb\x68\x9b\xb6\xf1\x56\xa6\x3e\xf8\x4c\xa4\xe7\x19\x6a\x6a\x67\x3d\x55\x06\xc5\xff\x77\x3b\x8b\xba\xb6\x9c\x28\x0f\x6c\x36\xec\xc3\x62\x80\x7e\x96\x26\xd8\xc9\x2e\xa4\xef\x97\x92\x6f\x64\x64\x95\x6e\x3c\xd3\x9a\x6a\x9e\x87\xc6\xae\x6c\x78\xa1\x90\xcd\x84\x7c\x57\x25\x95\xf6\x0b\xd1\x37\x61\xeb\x41\x7e\xc8\x3b\xe2\xef\x04\xb9\xc0\x71\x69\x67\x61\xe7\xc4\x83\xd4\xe7\xa8\xc8\x26\x5d\xc6\x86\x6b\x9c\x50\x49\x03\x0d\x25\x7c\x8b\x0e\x1a\x4a\x63\xa5\xdb\x86\xb2\xf3\xfa\xa1\x4e\x87\xff\xb0\x0c\xf4\x94\x4d\x10\x1f\xf3\x94\x36\x9e\x1e\x9e\xb2\x4b\xc9\x7b\xca\x91\x65\xe8\xad\x68\x4f\x2e\x4e\xe5\x46\x21\x4b\x27\x73\xa3\x21\x5c\x93\x1d\x76\x0d\xca\xb7\x6a\x16\x18\x9e\xcc\x72\x02\xc5\x4f\xb5\x9c\x03\x4c\xf7\xf8\xce\xae\xa0\xf6\x23\x1d\x25\xb6\xc6\x79\x86\x89\xad\x36\x9f\x8e\xdd\xd0\x11\xe6\xd3\x37\x45\x03\x9d\x28\xda\x39\xb5\x2e\xb0\xcf\x93\x7a\xec\xc0\x0e\x8b\xbc\x71\xb2\x4e\xb0\xa3\x3d\xed\x3d\x3a\x47\x99\x5a\x57\x68\xf5\x6c\xd1\x9b\x64\xa8\x83\x05\xdf\xea\xc3\xfc\x54\x0e\x36\xcc\xbc\x3a\xb8\x9c\x66\xe9\x93\x4e\x90\x48\xcf\x85\x92\xa7\xf5\xb7\x58\x14\x9f\x65\x70\x03\x78\xef\x71\xbb\x3e\x4b\x90\xf4\x57\xe3\x80\xa8\x2e\x7a\xa3\xb6\x76\x79\x22\x8d\x47\x43\xeb\x70\x42\x3d\x67\xfc\x8e\xf8\xfd\x19\x5d\x58\xda\xe8\x7f\xb4\xb3\xc0\xf1\xc9\x3b\x3a\xf4\x1f\xfe\xa2\xb7\x3d\xfa\x9d\x41\x7b\xa6\xea\xe6\x78\x5d\x7c\xf0\xf9\x6f\x6b\x2b\x5c\xc4\xbc\xad\xa1\x8e\xec\xd5\x94\x5f\xc3\x32\xfb\x41\xbb\x68\x87\x0b\xd1\x1d\x53\x89\x7d\x2a\x70\xab\xe1\xa4\x52\x68\x9e\x3d\x92\xf8\xa4\x62\xfc\x4a\x0c\x01\x4b\x19\x59\x0a\x57\x62\x66\xb7\x94\xb6\xf7\x3c\xdb\xd7\x36\x9b\x9d\xce\x69\xb7\x10\xed\x33\x68\x2f\x71\x10\xf6\xcb\x17\x94\x42\x2b\x99\x9c\xdd\x85\xdb\x47\x6d\x18\x75\xe0\xdb\x19\x88\x48\x9e\xad\x4f\x7f\xaf\xf5\x7f\xf4\x93\x64\xc5\x14\x15\xd6\x74\x8a\xdb\xb4\x96\xf2\xdb\xfa\x89\x1d\xa9\x0a\xc5\x13\xdd\x1b\xae\x6f\x07\xf7\xe5\x77\x12\x75\x4f\x64\x74\xdd\xb6\xf7\xf0\x3b\xfe\x00\x64\xc7\x96\x76\xdc\x24\xe1\x75\x84\x7f\x03\x00\x00\xff\xff\xb2\x5b\x9f\xd4\x54\x16\x00\x00"
 
 func switchboardSetup_royalty_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -804,11 +804,11 @@ func switchboardSetup_royalty_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_royalty_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4b, 0xc1, 0xd2, 0x45, 0xc7, 0x29, 0x20, 0x37, 0x3e, 0x6e, 0x8f, 0x5b, 0xbb, 0x54, 0xb9, 0xd4, 0x8a, 0x84, 0xe1, 0x97, 0xa8, 0x81, 0xcc, 0x66, 0xcc, 0xee, 0xd5, 0x60, 0xfb, 0xb5, 0xb, 0x22}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0x9, 0xe, 0x8a, 0xe9, 0x2d, 0x8e, 0x9a, 0xf8, 0xf0, 0x94, 0xfe, 0x75, 0xce, 0xf9, 0xd5, 0xde, 0x78, 0x41, 0xdc, 0x69, 0x46, 0xd5, 0xaf, 0xa, 0x87, 0x60, 0x4a, 0xa1, 0xc4, 0x18, 0xf2}}
 	return a, nil
 }
 
-var _switchboardSetup_royalty_account_by_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\x4c\x73\x48\x65\x20\xb5\xef\x46\x92\x6d\x9a\x36\x8b\x5e\x8a\x60\x93\x6d\x0f\x8b\x1c\xc6\xd2\xc8\x22\x22\x93\x02\x39\x8a\xd7\x08\xf2\xdf\x0b\x92\xfa\xb6\x15\x4b\x5e\xb7\xd1\x25\x91\xc9\x19\xce\xc7\x7b\x4f\xd2\x88\x75\xa6\x34\xc3\x5d\x2e\x57\x62\x99\xd2\xa3\x7a\x26\x09\xb1\x56\x6b\x38\x6b\xfd\x76\x36\xd9\xb7\xf3\x61\x23\x38\x4c\x96\x0a\x75\xb4\xcf\xa8\xb1\x5c\xdb\xa7\x6a\xd3\x3a\xa5\xbc\xaf\x77\x08\xe4\xd6\x8e\xf2\xfe\x6c\x32\x99\xcc\xe7\xf0\x98\x08\x03\xac\x51\x1a\x0c\x59\x28\x09\xc2\x00\x02\xd3\x3a\x4b\x91\x09\x62\xa5\xed\x6d\x63\x9d\x13\x64\x08\x55\x9e\x46\xb0\x24\xc8\x0d\x45\xb0\xdc\x82\x75\x85\x72\xab\x24\x41\x9c\xa7\xe9\x16\x0c\x71\x9e\x01\x4a\xc0\x30\x54\xb9\x64\xe7\x49\x53\x48\xe2\x45\xc8\x15\x2c\x15\x27\x2e\x7a\x40\x19\xc1\xd7\x87\xdf\x6f\x81\x6d\x54\x06\x90\x81\x13\x02\x83\x6b\xb2\x4e\xb3\x7c\x99\x8a\x10\x32\xe4\x04\x02\xeb\x43\x48\xc3\x28\x43\x72\xbb\xb4\xda\x62\xca\x82\x0c\xcc\xfd\xc6\xf9\x67\x92\xa4\x45\x78\xf7\xf8\xc5\x9d\x45\xda\x99\x4e\xad\xab\xaf\xc6\x9e\x6c\xcd\x30\x8a\xfe\xa2\xcd\xdf\x98\xa7\xfc\x8f\xc6\x2c\x23\x6d\x7e\xdb\xde\xdb\x23\x4c\xa3\x07\x6b\xe2\x44\x45\x80\x69\xaa\x36\xa6\xcc\x8e\x95\xcd\xd9\xba\x0b\x31\xc3\xa5\x48\x05\x6f\x61\x53\x38\x01\x93\x87\x09\xa0\x01\x57\xe1\x3b\xa5\x37\xa8\x23\xfb\xbb\x0d\x9a\x30\x02\x15\xfb\xf3\x43\xce\x31\xf5\x19\xc3\x8b\x0d\x63\x36\x69\xd6\x38\xc0\x28\xd2\x64\xcc\x02\x6e\xfc\x3f\x53\x78\x9d\x4c\x00\x00\x52\x62\x6f\x60\xa3\x35\x0b\xf8\x76\xef\xd2\xb6\x77\x4f\xed\x0d\x8f\xdb\x8c\xec\x06\xfb\xf7\xc9\xae\x54\xcb\x8d\x1c\xbf\x50\xbc\x00\x38\xef\xc3\xd9\xac\xf1\xbf\x3f\x3f\xd3\x94\xa1\xa6\xc0\x88\x95\x24\xbd\x80\x9b\x9c\x93\x1b\xdf\xe1\x2a\x46\x7b\xcd\xe7\x70\xef\xb7\xba\x84\x6d\x0f\x8c\x6b\x35\xdb\xb0\x00\xb5\xc6\xad\x81\x8d\xe0\xc4\xad\xef\x45\x42\x84\x8c\x95\x43\x43\x69\x3c\xab\x33\x87\x2b\xf8\xf6\xd4\xb7\x38\xb3\xdd\x90\x51\x50\x62\x22\x2e\x59\x51\x62\x62\x7a\xc8\xb2\x62\xc9\xcc\x81\xa4\xb4\xbb\xcf\x97\xf7\x0e\x4d\xbb\xe6\xae\xdc\x7d\x51\xb9\xc5\xd2\xb7\xbd\xb9\xfc\xb5\x62\xaa\x3f\xe1\x3a\x98\xf6\x7a\xed\x18\xb6\x43\x73\x86\xcd\xb2\xdf\x26\x14\x3e\x83\x28\x81\xe6\xc9\x87\xa9\x26\x8c\xb6\x90\xa0\x65\xb7\xab\xb6\xb3\xae\x0c\x45\x0c\xbe\xa5\xb3\xa5\xd2\x5a\x6d\x2e\xcf\x77\x02\xb4\xfa\xb1\x80\xb9\x61\xa5\x71\x45\x75\x51\xdd\xf2\x14\xae\xae\x40\x8a\x14\x5e\x2b\x97\x45\x3c\x7f\xc6\x20\x15\x5f\x40\xa8\xc9\x0a\x0a\x82\xa4\x4d\x23\x02\xd0\x64\x54\xae\x43\x72\xed\xcf\x72\x06\xc1\x20\x24\x2b\x28\x0e\x6a\xf9\x2b\x62\x34\xf8\x42\xc1\xe5\x2f\xb5\xfc\xcd\xbc\xf7\x3f\xd6\x19\x6f\x9d\xdb\xa0\x2a\xdf\x02\x7a\x0b\x7e\x01\xac\xfa\x33\xaa\x0e\x7e\xeb\x2d\xaf\x2e\x35\xa6\xa1\x05\xc2\x40\x2a\xe4\x33\x45\xe0\xc4\x92\xc0\xba\xad\x77\x5a\x26\x34\xab\xfe\x53\x91\xd2\x8a\xf8\xb6\x72\x72\x79\xfe\xda\xa2\xe4\xac\x04\xe0\xdb\xf5\x10\x50\x9f\xe0\x9a\x85\x36\xcf\x60\xba\xdb\x4f\x11\x83\xe0\x9f\x4d\xa7\xa9\x85\x4c\x37\xea\xc0\xaa\xce\xde\x35\x03\xe8\x7b\xa6\x9c\x04\x77\x5d\xda\x7d\x11\xd9\x45\x86\x38\x97\xe5\x73\x46\xab\x7c\xe5\xe5\xa1\xaf\x1a\x16\x28\xa4\x63\x0c\xf7\xa2\x24\x97\xb6\x11\x43\x0b\x56\x18\x59\x93\x3d\xe0\xef\x75\x72\x01\xc7\x95\x9d\x51\xaf\x88\x07\xa1\x6f\x24\xbb\x9d\x84\x1e\x64\x77\x57\x45\x3c\xbb\x3b\x3f\x3f\xf8\xd8\x9c\xe6\x8d\x23\x78\x1d\xc4\x8f\x11\xbc\x8a\x67\x00\xc1\x77\x85\xf1\xd8\xe6\x38\x5d\x78\xa7\x16\xa7\x92\x06\x57\xa5\x93\x49\xc3\x98\x5c\x0f\x3d\xe1\x4e\xc6\x7f\x97\xe2\x87\xf2\x7f\xe8\xb3\x1c\x76\x44\xa0\x0b\xa8\xf7\x3d\x1d\x05\xb6\x52\x06\x86\x81\x6d\xa4\x12\x34\x3f\x28\x4a\x16\xbe\xa7\x09\x03\xde\x02\x0f\x83\xac\x54\x92\x5e\x67\x47\x6b\xca\xbe\x74\x8e\x12\x95\xbe\xd0\xfc\x69\x8d\x5f\x82\xb1\x0a\xe2\x74\x63\x48\xe6\xa7\x52\x90\x71\xe2\xd1\x93\xcb\x69\x5a\x1f\xf4\x3a\x69\x10\xa5\xf8\x56\x39\x9d\xbe\x34\x41\xf1\x51\x02\x33\x22\xef\x77\xd4\x66\x48\x0b\x82\xe1\x68\x1c\x11\xd5\xc5\x60\xaf\x95\x5c\x9d\x08\xe3\x0d\x53\x1f\x8e\xe3\x73\xcc\x7b\xc0\x2f\xdc\x67\x23\xd5\xf8\x9f\x74\x1a\xdc\xfc\x74\x6f\x4c\x0d\x0e\x3f\x51\xab\x1d\xc3\xbe\x83\x07\x96\xea\xfa\x78\x5c\xfc\xe0\xf5\xff\x72\xcb\x4d\x72\x76\x39\xd4\x53\x3d\x9f\xf2\x9b\x1f\x05\x24\xb4\xe3\xed\x30\x11\xcd\x31\x4c\x1c\xc2\xc0\xd6\xc2\x49\xa1\x50\x5e\xef\x40\xe2\x83\xc8\xf8\x99\x18\x10\x34\xc5\xa4\xc9\xcd\xd4\x54\x97\x4a\xed\xa1\x44\x7b\x74\x04\x57\xff\xcd\x2b\x44\x75\x8d\x7a\x97\x38\xe8\xf6\xd3\x27\xc8\x50\x8a\x30\x38\xbb\x75\xe3\x4b\xa9\x18\x7c\xe0\xed\x0a\x34\x92\x3c\x2b\x66\x2b\xc5\xab\x17\x7d\xa7\x30\x67\xaa\x07\x5d\xf3\x39\xdc\x44\x1e\xc9\x2d\xa1\xda\xad\x23\xe4\x8e\x3d\xbd\x93\xc7\x49\x6f\x95\x67\xbd\x36\x41\xe6\x87\x80\x9d\x21\xd6\xd8\x77\x16\x3f\x28\xec\x0c\x9d\x2e\xa0\x9a\x41\x16\xff\xd4\xa5\x78\x9b\xc0\xbf\x01\x00\x00\xff\xff\x0d\xc7\x03\x14\xea\x16\x00\x00"
+var _switchboardSetup_royalty_account_by_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\xbc\xe6\x90\xca\x40\x6a\xdf\x8d\x24\xdb\x34\x6d\x16\xbd\x14\xc1\x26\xdb\x1e\x16\x39\xd0\xd2\xc8\x22\x22\x93\x02\x39\x8a\xd7\x08\xf2\xdf\x0b\x92\x92\x2c\x7f\x28\x96\xbd\x6e\xa3\x4b\x62\x91\x33\x9c\x8f\xf7\x9e\xa4\x91\xf3\x42\x1b\xc6\xd9\x5d\xa9\x66\x72\x9a\xd3\xa3\x7e\x26\x75\x36\xd8\x79\xfb\x61\x21\x39\xce\xa6\x5a\x98\xa4\xb5\x23\xd7\x8b\x4d\x23\x29\xb8\xba\x35\x18\x8c\xc7\x78\xcc\xa4\x05\x1b\xa1\xac\x88\x59\x6a\x05\x69\x21\xc0\x34\x2f\x72\xc1\x84\x54\x1b\xf7\xb3\xb5\xce\x99\x60\xc4\xba\xcc\x13\x4c\x09\xa5\xa5\x04\xd3\x25\x9c\x2b\xa1\x96\x5a\x11\xd2\x32\xcf\x97\xb0\xc4\x65\x01\xa1\x20\xe2\x58\x97\x8a\xbd\x27\x43\x31\xc9\x17\xa9\x66\x98\x6a\xce\xe0\xc2\x83\x50\x09\xbe\x3e\xfc\x7e\x0b\x76\x51\x59\x08\x06\x67\x04\x2b\xe6\xe4\x9c\x16\xe5\x34\x97\x31\x0a\xc1\x19\x22\xe7\x43\x2a\xcb\x42\xc5\xe4\x77\x19\xbd\x14\x39\x4b\xb2\x18\x87\x8d\xe3\xcf\xa4\xc8\xc8\xf8\xee\xf1\x8b\x3f\x8b\x8c\x37\x1d\x3a\x57\x5f\xad\x3b\xd9\x99\x89\x24\xf9\x8b\x16\x7f\x8b\x32\xe7\x7f\x8c\x28\x0a\x32\xf6\xb7\xe5\xbd\x3b\xc2\xae\xca\x88\x39\x71\xa6\x13\x88\x3c\xd7\x0b\x5b\x67\xc7\xda\xe5\xec\xdc\xc5\xa2\x10\x53\x99\x4b\x5e\x62\x51\x39\x81\x2d\xe3\x0c\xc2\xc2\x57\xf8\x4e\x9b\x85\x30\x89\xbb\xef\x82\x26\x91\x40\xa7\xe1\xfc\x98\x4b\x91\x87\x8c\xf1\xe2\xc2\x18\x0d\xda\x35\x8e\x44\x92\x18\xb2\x76\x82\x9b\xf0\xcf\x10\xaf\x83\x01\x00\xe4\xc4\xc1\xc0\x45\x6b\x27\xf8\x76\xef\xd3\x76\xbf\x9e\xd6\x37\x3c\x2e\x0b\x72\x1b\xdc\xdf\x27\xb7\xd2\x2c\xb7\x72\xfc\x42\xe9\x04\x38\xef\x42\xd2\xa8\xf5\x7f\x38\xbf\x30\x54\x08\x43\x91\x95\x33\x45\x66\x82\x9b\x92\xb3\x9b\xd0\xe1\x26\x46\x77\x8d\xc7\xb8\x0f\x5b\x7d\xc2\xae\x07\xd6\xb7\x9a\x5d\x58\x10\xc6\x88\xa5\xc5\x42\x72\xe6\xd7\x77\x22\x21\x11\x2c\x1a\x87\x96\xf2\x74\xb4\xca\x1c\x57\xf8\xf6\xd4\xb5\x38\x72\xdd\x50\x49\x54\x63\x22\xad\x69\x50\x63\x62\xb8\xcf\xb2\x61\xc9\xc8\x83\xa4\xb6\xbb\x2f\xa7\xf7\x1e\x4d\xdb\xe6\xbe\xdc\x5d\x51\xf9\xc5\xda\xb7\xfb\x71\xf9\x6b\x43\xcd\x70\xc2\x75\x34\xec\xf4\xba\x61\xb8\x1e\x9a\x37\x6c\x97\xfd\x36\xa3\xf8\x19\xb2\x06\x5a\x20\x9f\xc8\x0d\x89\x64\x89\x4c\x38\x76\xfb\x6a\x7b\xeb\xc6\x50\xa6\x08\x2d\x1d\x4d\xb5\x31\x7a\x71\x79\xbe\x15\x60\x6a\xf4\x7c\x82\xb1\x65\x6d\xc4\x8c\x56\x45\xf5\xcb\x43\x5c\x5d\x41\xc9\x1c\xaf\x8d\xcb\x2a\x9e\x3f\x53\x28\xcd\x17\x88\x0d\x39\x41\x11\x50\xb4\x68\x45\x00\x43\x56\x97\x26\x26\xdf\xfe\xa2\x64\x48\x86\x54\xac\x51\x1d\xb4\xe6\xaf\x8a\xd1\x8a\x17\x8a\x2e\x7f\xc1\x2a\xc6\xe0\xfd\x8f\x79\xc1\x4b\xef\x36\x6a\xca\x37\x41\x67\xc1\x2f\xc0\xba\x3b\xa3\xe6\xe0\xb7\xce\xf2\x9a\x5a\x63\x5a\x5a\x20\x2d\x72\xa9\x9e\x29\x81\x17\x4b\x82\x73\xbb\xda\xe9\x98\xd0\xae\xfa\x4f\x55\x4a\x33\xe2\xdb\xc6\xc9\xe5\xf9\xeb\x1a\x25\x47\x35\x00\xdf\xae\xfb\x80\xfa\x04\xd7\x28\x76\x79\x46\xc3\xed\x7e\xca\x14\x92\x7f\xb6\x1b\x4d\xad\x64\xba\x55\x07\xd6\xab\xec\x7d\x33\x40\xdf\x0b\xed\x25\x78\xd3\xa5\xdb\x97\x90\x5b\x64\xa4\xa5\xaa\x9f\x33\x46\x97\xb3\x20\x0f\x5d\xd5\x70\x40\x21\x93\x8a\x78\x27\x4a\x4a\xe5\x1a\xd1\xb7\x60\x95\x91\x33\xd9\x01\xfe\x4e\x27\x17\x38\xae\xec\x2c\xcc\x8c\xb8\x17\xfa\x0e\x64\xb7\x97\xd0\xbd\xec\xde\x54\x91\xc0\xee\x8d\xdb\x0f\x21\x36\xaf\x79\x87\x11\x7c\x15\xc4\x8f\x11\xbc\x89\xa7\x07\xc1\xb7\x85\xf1\xd8\xe6\x78\x5d\x78\xa7\x16\xa7\x92\x06\x5f\xa5\x93\x49\xc3\x21\xb9\xee\x7b\xc2\x9d\x8c\xff\x3e\xc5\x0f\xe5\x7f\xdf\x67\x39\xb6\x44\x60\x13\x50\xef\x7b\x3a\x0a\x6c\xb5\x0c\xf4\x03\xdb\x81\x4a\xd0\x7a\x7b\x6b\x58\xf8\x9e\x26\xf4\x78\x0b\xdc\x0f\xb2\x5a\x49\x3a\x9d\x1d\xad\x29\xbb\xd2\x39\x4a\x54\xba\x42\x0b\xa7\xb5\xee\x44\x87\x2a\x88\xd7\x8d\x3e\x99\x9f\x4a\x41\x0e\x13\x8f\x8e\x5c\x4e\xd3\xfa\xa8\xd3\x49\x8b\x28\xd5\xb7\xca\xe9\xf4\xa5\x0d\x8a\x8f\x12\x98\x03\xf2\x7e\x47\x6d\xfa\xb4\x20\xea\x8f\xc6\x03\xa2\xba\xe8\xed\xb5\x91\xab\x13\x61\xbc\x65\x1a\xc2\xf1\x7c\x4e\x79\x07\xf8\xa5\xff\x6c\xa4\x15\xfe\x07\x1b\x0d\x6e\x7f\xba\xb7\xa6\x06\xfb\x9f\xa8\xcd\x8e\x7e\xdf\xc1\x3d\x4b\x75\x7d\x3c\x2e\x7e\xf0\xfa\x7f\xb9\xe5\x27\x39\xdb\x1c\xea\xa8\x5e\x48\xf9\x2d\x8c\x02\x32\xda\xf2\xb6\x9f\x88\xf6\x18\x26\xf6\x61\xe0\xda\xc2\x49\xa1\x50\x5f\xef\x40\xe2\x83\xc8\xf8\x99\x18\x02\x86\x52\x32\xe4\x67\x6a\x7a\x93\x4a\xeb\x43\x89\xf5\xd1\x11\xae\xfe\x9b\x57\x88\xe6\x3a\xe8\x5d\x62\xaf\xdb\x4f\x9f\x50\x08\x25\xe3\xe8\xec\xd6\x8f\x2f\x95\x66\x84\xc0\xd7\x2b\xd0\x4a\xf2\xac\x9a\xad\x54\xaf\x5e\xf4\x9d\xe2\x92\x69\x35\xe8\x1a\x8f\x71\x93\x04\x24\xaf\x09\xd5\x76\x1d\x51\x7a\xf6\x74\x4e\x1e\x07\x9d\x55\x1e\x75\xda\x44\x45\x18\x02\x6e\x0c\xb1\x0e\x7d\x67\x09\x83\xc2\x8d\xa1\xd3\x05\x9a\x19\x64\xf5\xcf\xaa\x14\x6f\x03\xfc\x1b\x00\x00\xff\xff\x52\xa1\x56\xee\x9b\x16\x00\x00"
 
 func switchboardSetup_royalty_account_by_pathsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -824,11 +824,11 @@ func switchboardSetup_royalty_account_by_pathsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_royalty_account_by_paths.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x4d, 0x32, 0xb6, 0xa2, 0x9d, 0xba, 0x78, 0x72, 0xde, 0xfe, 0xe8, 0x11, 0x66, 0xe5, 0x11, 0x7e, 0x9f, 0xfb, 0xf9, 0xa3, 0x95, 0x63, 0x6e, 0x3f, 0x82, 0x4, 0xe1, 0x73, 0x8, 0xc4, 0x8e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa1, 0x53, 0x31, 0x0, 0x3f, 0xea, 0x51, 0x37, 0x84, 0x1a, 0x32, 0x24, 0x0, 0x4, 0x77, 0x73, 0xaa, 0x14, 0x27, 0xf4, 0x47, 0x50, 0x73, 0x22, 0xe9, 0x7f, 0x78, 0xb7, 0xc9, 0x1b, 0xc, 0x1b}}
 	return a, nil
 }
 
-var _switchboardTransfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4d\x6f\xe3\x38\x0c\x3d\x37\xbf\x82\xcd\xa1\x75\x80\xac\x73\x59\xec\x21\x68\x5a\x74\xdb\xcd\x9e\x06\x28\x8a\x4c\xe6\x4c\xcb\x8c\xad\x19\x47\x12\x24\x3a\x6e\x50\xf4\xbf\x0f\x24\xcb\x8e\x9d\x76\xbe\x7a\xa8\x63\xfa\x91\x8f\x8f\x7a\x94\xdc\x1b\x6d\x19\xd6\xb5\x2a\x64\x56\xd1\x46\x7f\x23\x05\x3b\xab\xf7\x30\x1d\xc5\xa6\x93\x88\xfc\xef\x05\xf7\x66\x0c\x1c\x86\x7a\xdc\x28\xfb\x13\x31\xe6\xc8\xb8\x95\xd4\xb8\x8f\xca\x8f\x00\xd3\xc9\x64\xb1\x58\xc0\xa6\x94\x0e\xd8\xa2\x72\x28\x58\x6a\x05\xd2\x01\x02\xd3\xde\x54\xc8\x04\x3b\x6d\xfd\xeb\xe0\x3b\x97\xc8\x20\x74\x5d\xe5\x90\x11\xd4\x8e\x72\xc8\x8e\x80\xea\xa8\x15\x01\x6b\x70\xa4\x72\x60\x4f\xe7\xfc\x2b\x2a\xcd\x25\x59\x40\x21\x74\xad\x38\x70\x72\x69\x75\x5d\x94\x80\xe0\x1a\xc9\xa2\xcc\x34\xda\x7c\x0e\xe8\xa0\xd2\xaa\xf0\x4f\x2e\xe9\x08\x25\x1e\x08\x1c\x31\xd4\xc6\x07\xa4\x1d\xc2\x01\x55\xde\x22\x30\xcf\xfd\x67\x30\x56\x1b\xb2\x20\xd0\x60\x26\x2b\xc9\x47\x4f\x2f\x03\x63\x54\x1a\xb0\x96\x9c\x03\xbd\x0b\x29\x96\x04\xc9\xc3\xa9\xbb\x79\x88\xe2\xde\xff\xf6\xd9\x41\xf7\xce\x7f\x57\x2d\xc7\x53\x9d\x55\x52\x3c\x21\x97\x61\x32\x3e\x54\x90\x22\x2b\x05\xac\x37\xa7\x72\x8d\xac\x2a\xc8\x28\x8a\x25\x30\x68\x71\x4f\x4c\xd6\x85\x6e\x06\xe3\x4c\x58\x2f\xe1\xbe\xed\x6a\x1e\x99\x97\xf0\x79\x2d\x5f\xfe\xf9\x7b\xde\x17\xf4\x84\xcb\x01\xf9\x0c\x5e\x27\x13\x00\x80\x28\xcb\xc9\x42\x91\xbd\x76\x70\xc0\xba\x0a\x9d\x37\x92\xcb\xdc\x62\x13\x6c\x10\xa0\x15\x31\x38\x5d\x5b\x41\x5b\x0f\x5a\x02\xd6\x5c\x26\x23\x7f\xa4\x5f\x62\xd6\x0c\xae\x86\x76\x4b\x43\x46\xcb\x68\x2c\x19\xb4\x94\xb4\x94\xb1\xca\xbf\xda\x5a\xdd\x6c\xb1\xaa\x69\x06\x57\xf7\xed\x30\xfb\x26\x3b\xf6\xd0\xdc\x23\x32\xc2\x6a\x64\xf0\xd4\x92\xd3\xd5\x81\x1e\xb4\x62\x8b\x82\xbd\x3d\x13\x1f\xf3\xcd\x6e\x8e\x86\x96\xa0\x64\x35\x87\x83\xa4\xa6\x7d\xf5\xff\x6f\x7e\x6c\xed\x74\xbd\xd9\x76\x5c\xb7\xc9\x6c\x06\xe8\x2e\x7f\xb2\x2a\x43\xf8\x5d\xdf\xb1\xff\xbb\xbb\x03\x83\x4a\x8a\x64\xfa\x10\x0c\xaf\x34\x43\xd1\x29\x01\x5f\x20\x34\xd5\x7b\x41\x44\x05\xd3\xd9\x49\xf9\x62\x01\xff\x13\x03\x82\xa5\x1d\x59\x52\x22\x6c\x09\x0f\x4f\xcd\xb1\xb6\x94\xb7\x55\xfb\x3c\x47\xd5\x2e\x1d\x1c\x18\xac\x62\x42\xea\xe1\x58\x50\x9a\x85\xa9\xdf\xfc\xe9\x39\xde\x26\xde\x13\xcb\xd3\x71\x74\x05\x83\xb3\x26\x17\x17\x17\x1f\xc9\x6e\xc9\xde\x8b\xd0\x4d\xab\x21\x94\xbe\xec\x84\xbf\xb5\x0f\x7a\x21\x51\x33\x0d\x8d\x10\xc7\x11\xb7\x4f\x1a\x49\x8a\xaf\x1d\x98\xe0\xed\x6e\x0f\x41\x67\x5f\x49\xf0\xc8\x3d\x3d\x1a\x56\xfe\x0c\xa2\xc9\x12\xd6\xbf\x35\xeb\x21\xd7\x73\xdc\xaa\xf3\xf2\x21\xf8\x4c\x3b\x58\x9d\xe0\x69\x7f\x9d\x48\x72\xdd\xc4\xaf\x5e\xc7\xe3\xee\x0a\xbe\xdd\x26\xc3\x8d\xfd\xf5\x2c\xe3\x75\x31\xea\x76\x70\xc7\x5d\x9e\xf9\xe8\x91\x8c\x76\xb2\x1d\x5e\xb7\xe0\xaa\xbb\x6b\xa5\x7a\x27\xd4\x9e\x0b\x1d\x88\x4c\xf3\xb6\x58\x34\xc3\xcd\x5f\xe7\x7e\x4b\x3b\x86\xa4\xbb\x95\xda\xe7\xec\x74\xc4\x6f\x93\xef\x01\x00\x00\xff\xff\x22\xb2\x59\x79\xd9\x06\x00\x00"
+var _switchboardTransfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x41\x6f\xeb\x36\x0c\x3e\x37\xbf\xe2\x6b\x0e\xad\x03\x64\xce\x65\xd8\x21\x68\x5a\x74\xed\xb2\xd3\x80\xa2\xc8\xb2\x33\x2d\x33\xb1\x36\x47\x32\x24\x3a\x6e\x50\xf4\xbf\x0f\x92\xed\xc4\x49\xdf\xc3\xeb\xeb\xa1\x8e\x28\x92\x1f\x3f\xf2\xa3\xf4\xae\xb2\x4e\x30\x5e\xd6\x66\xab\xb3\x92\x57\xf6\x3f\x36\xe3\x51\x6f\xfe\xe3\x8d\x76\xd5\x27\xeb\x99\xf3\x5f\x2c\x94\x93\xd0\x5a\x73\xe3\xc7\xa3\xd1\x6c\x36\xc3\xaa\xd0\x1e\xe2\xc8\x78\x52\xa2\xad\x81\xf6\x20\x08\xef\xaa\x92\x84\xb1\xb1\x2e\x1c\x07\xf7\x52\x90\x40\xd9\xba\xcc\x91\x31\x6a\xcf\x39\xb2\x03\xc8\x1c\xac\x61\x88\x85\x67\x93\x43\x02\x9c\x0f\x47\x32\x56\x0a\x76\x20\xa5\x6c\x6d\x24\x62\x4a\xe1\x6c\xbd\x2d\x40\xf0\x8d\x16\x55\x64\x96\x5c\x3e\x05\x79\x94\xd6\x6c\xc3\x57\x0a\x3e\xa0\xa0\x3d\xc3\xb3\xa0\xae\x82\x41\xbb\xa1\x3b\xc8\xe4\xad\x07\xe5\x79\xb8\x46\xe5\x6c\xc5\x0e\x8a\x2a\xca\x74\xa9\xe5\x10\xe0\x75\x44\xec\x98\x46\x5f\xc7\xde\xc3\x6e\x62\x88\x63\xc5\x7a\x7f\xaa\x6e\x1a\xad\xb4\x0b\xbf\x43\x74\xe4\xbd\x09\xf7\xa6\xc5\x78\xa9\xb3\x52\xab\x17\x92\x22\x76\x26\x98\xb6\x6c\xd8\x69\x85\xe5\xea\x94\xae\xd1\x65\x89\x8c\x3b\xb2\x8c\x8a\x1c\xed\x58\xd8\xf9\x58\xcd\xa0\x9d\x89\xd8\x39\x1e\xdb\xaa\xa6\x1d\xf2\x1c\x7f\x2f\xf5\xdb\x6f\xbf\x4e\x8f\x09\x03\xe0\x7c\x00\x3e\xc1\xfb\x68\x04\x00\x1d\x2d\xaf\xb7\x86\xdd\xad\xc7\x9e\xea\x32\x56\xde\x68\x29\x72\x47\x0d\x36\xce\xee\xa2\x6b\xc9\x02\x6f\x6b\xa7\x78\x1d\x9c\xe6\xa0\x5a\x8a\xe4\x4c\x1f\xe9\x3f\x5d\xd4\x04\x37\x43\x39\xa5\x31\xa2\x45\xac\x1c\x57\xe4\x38\x69\x21\xbb\x2c\xbf\x5b\xe7\x6c\xb3\xa6\xb2\xe6\x09\x6e\x1e\xdb\x66\x1e\x8b\xec\xd1\x63\x71\xcf\x24\x84\x05\xce\xd2\x3b\xf6\xb6\xdc\xf3\x93\x35\xe2\x48\x49\x90\x67\x12\x6c\xa1\xd8\xd5\xa1\xe2\x39\x8c\x2e\xa7\xd8\x6b\x6e\xda\x63\xf8\x7f\xf7\x7d\x69\xa7\xcb\xd5\xba\xc7\xba\x4f\x26\x13\x90\xbf\xc6\xd7\xdc\x1f\x8e\x15\x87\xbf\x87\x07\x54\x64\xb4\x4a\xc6\x4f\x51\xf0\xc6\x0a\xb6\x3d\x13\x84\x04\xb1\xa8\xa3\x16\x54\xc7\x60\x3c\x39\x31\x9f\xcd\xf0\x27\x0b\x08\x8e\x37\xec\xd8\xa8\xb8\x25\x32\x9c\x9a\x17\xeb\x38\x6f\xb3\x1e\xe3\x3c\x97\x9b\x74\x30\x30\x2c\xba\x80\x34\xb8\xd3\x96\xd3\x2c\x76\xfd\xee\x67\xe7\x78\x9f\x04\x4d\xcc\x4f\xe3\xe8\x13\x46\x65\x8d\xae\xae\xae\xbe\x45\xbb\x05\xfb\x4c\xc2\x36\x2d\x87\x98\xfa\xba\x27\xfe\xd1\x7e\xf8\x8d\x55\x2d\x3c\x14\x42\xd7\x8e\x6e\xfb\x74\xa5\xd9\xc8\xad\x47\x15\xb5\xdd\xef\x21\x6c\xf6\x2f\x2b\x39\x53\xcf\xd1\x1b\x8b\x30\x83\x4e\x64\x89\xd8\x2f\xf5\x7a\x88\xf5\xda\x6d\xd5\x65\xfa\x68\x7c\xe5\x0d\x16\x27\xf7\xf4\xf8\x9c\x68\xf6\x7d\xc7\x6f\xde\xcf\xdb\xdd\x27\xfc\xb8\x4f\x86\x1b\xfb\xe3\x5e\x76\xcf\xc5\x59\xb5\x83\x37\xee\xfa\x42\x47\xcf\x5c\x59\xaf\xdb\xe6\xf5\x0b\x6e\xfa\xb7\x56\x9b\x4f\x44\xdd\x25\xd1\x01\xc9\x34\x6f\x93\x75\x62\xb8\xfb\xe5\x52\x6f\x69\x8f\x90\xf4\xaf\x52\xfb\x9d\x9c\x46\xfc\x31\xfa\x3f\x00\x00\xff\xff\x0c\x28\x2d\xa4\x94\x06\x00\x00"
 
 func switchboardTransfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -844,11 +844,11 @@ func switchboardTransfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe5, 0xd3, 0x72, 0xb6, 0x22, 0x80, 0xfb, 0x3e, 0x7f, 0xe3, 0x12, 0x8b, 0xbf, 0xf3, 0x6c, 0x63, 0x25, 0x48, 0xea, 0x16, 0xb9, 0x67, 0xd4, 0x86, 0x8a, 0xc4, 0x3e, 0x5b, 0xb7, 0xb6, 0x97, 0x3f}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0xf, 0xbc, 0x92, 0xd5, 0x70, 0x8, 0x33, 0xb2, 0xec, 0xf7, 0x37, 0xf9, 0x9d, 0x78, 0xbf, 0x5c, 0x5, 0x1a, 0xff, 0xe5, 0x94, 0x16, 0xd6, 0xdf, 0x0, 0xed, 0x36, 0xbb, 0xe8, 0x89, 0x83}}
 	return a, nil
 }
 
-var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x4f\xe3\x48\x10\x3d\xe3\x5f\x51\xe4\x00\xb6\xb4\x38\x97\xd5\x1e\xac\x00\x62\x61\xd9\x13\xd2\x28\xca\x30\x87\xd1\x48\x54\xec\x72\xdc\x83\xd3\x6d\x75\x97\x13\x10\xca\x7f\x1f\xf5\x87\x8d\x9d\x44\x0c\xd3\x87\x44\x69\x57\xd5\x7b\xf5\xea\x95\x23\xd6\x8d\xd2\x0c\xf7\xad\x5c\x89\x65\x4d\x0b\xf5\x4c\x12\x4a\xad\xd6\x30\x19\xdd\x4d\xa2\x10\xf9\xdf\x0b\xae\x9b\x71\xe0\xf0\xaa\x8f\x1b\x65\x3f\x10\x63\x81\x8c\x8f\x82\xb6\xe6\x58\xf9\x51\xc0\x24\x8a\xa6\xd3\x29\x2c\x34\x4a\x53\x92\x36\xc0\x36\xc4\x7e\x01\x42\x2d\x0c\x83\x2a\x01\x8b\x42\x93\x31\x64\xc0\x34\x94\x8b\x52\x50\x01\x42\x02\x57\x04\x4f\xe1\xd9\xcd\x5a\xb5\x92\x1f\xb0\x79\x82\x06\x35\xae\x89\x49\x47\x11\xdb\xb2\x98\xb3\x50\x32\xde\x0f\xcc\xe0\xed\xc6\x5f\x65\xf0\xf5\x5e\xbc\xfc\xf3\xf7\x2e\x81\xb7\x28\x02\x00\xb0\x94\xee\x17\x8f\xd8\xd6\x7c\x87\x8c\xb0\x0e\x94\x61\x23\x68\x0b\xa5\xd2\x0e\xdb\x51\x85\x25\x09\xb9\x82\xd6\x50\xe1\x52\x6b\x62\xd8\x74\x89\xd9\x07\xd2\xa4\x03\x80\x77\xd4\x45\x45\xe0\xae\x41\x93\x51\xad\xce\x09\xb8\x42\x86\x4a\xd5\x85\x79\x47\x35\xfe\x16\x35\x05\x7c\x0e\x02\xea\x7d\x1a\x73\x2a\x33\xc0\x96\xab\x78\x44\x25\xfd\x26\xb8\x2a\x34\x6e\x13\x38\x1b\xce\x34\x75\xe0\x9e\x4f\xa3\xa9\x41\x4d\xb1\x11\x2b\x49\x3a\x54\xf9\x57\x69\xad\xb6\x8f\x58\xb7\x94\xc0\xd9\x4d\x9e\x5b\x39\xad\x70\x10\x8e\xa1\xba\x4c\x7b\x05\xe0\x72\xe4\xa2\xd4\x76\x55\x6f\xe8\x56\x49\xd6\x98\xb3\x55\x22\xee\x3a\x5d\xbc\x36\x94\x81\x14\xf5\x5f\x4e\x67\xff\xd3\x7e\xce\x3e\xa7\xe2\x55\x9c\x24\x80\xe6\xf4\x93\xa2\x5f\xf7\x94\xed\xb9\xbe\x86\x06\xa5\xc8\xe3\x89\x0d\x9c\x7b\x9a\x1a\x0a\x45\x06\xa4\xf2\xe3\xa8\x37\x34\xb2\x85\x65\x39\x49\xa2\xbe\xce\x74\x0a\xff\x13\x03\x82\xa6\x92\x34\x49\x3b\x3c\xe5\x86\xe6\x25\x3c\x37\x60\x58\x69\x2a\xfc\x68\x8e\x48\x36\xa7\x12\x2e\x43\x74\x6a\x63\x71\x45\xe9\xd2\x49\x3e\xfb\xd3\x21\x5e\xc5\x76\xf9\xb2\xbd\x81\x74\x55\xbf\x20\x57\x49\x74\x72\x72\xf2\xde\xf8\xad\x6a\xeb\xc2\x35\xeb\x11\x0f\xdb\x50\x5b\xdf\x85\xab\x7f\x3a\x49\x5c\x07\x3b\x2f\x00\xbd\x50\xde\x32\x75\x2b\x64\x8f\x5d\x94\xb0\x76\x76\x5f\xf7\x37\x30\x7d\xa6\x57\x33\x8c\x0f\x1a\x76\x5d\x75\x56\x77\xef\x90\xdf\xab\xd8\xd9\xde\x90\x64\xbf\x42\xb3\x8b\xb1\xb4\xe9\x36\x54\x8e\xd1\x71\xc8\x0e\x28\x7d\x0f\x17\x3f\x4e\x93\x03\x5a\x76\xb4\x96\x85\xa6\x5c\x34\x82\x24\x9f\x1b\x68\xda\x65\x2d\x72\x40\xbf\x06\xa0\x96\x3f\x29\x3f\x64\xd4\x67\xc0\x25\xac\x88\xc3\xd2\x74\x6f\xa4\xe3\x48\x47\x4c\x34\x04\x9e\x53\x4e\x62\x43\xfa\x18\x96\x7b\xe0\x9d\xd4\xa7\xa4\x39\x36\xb8\x14\xb5\x60\x41\xa6\x73\xd4\xd9\xdb\xd8\x4e\x5d\xd1\xdd\x55\xbc\x67\x9a\xae\xaa\x77\x0d\xec\x9d\x0f\x2d\xe4\x13\x3f\xee\xc6\x8d\x6b\x72\x28\xc4\x1d\x35\xca\x08\x2f\x7b\x37\x3b\xd9\xd9\x22\xfc\x03\x0c\xeb\xe8\x63\xaa\x0c\x14\x49\x0b\x5f\x30\x6c\xc6\xec\xa2\xf7\xca\x00\x7b\x17\x5c\xbd\x8b\x7e\x05\x00\x00\xff\xff\x5a\x95\x28\x10\x31\x07\x00\x00"
+var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x4f\xe3\x48\x10\x3d\xe3\x5f\x51\xe4\x00\xb6\xb4\x38\x97\xd5\x1e\xac\x00\x62\x61\xd9\x13\xd2\x28\xca\x30\x87\xd1\x48\x54\xec\x72\xdc\x83\xd3\x6d\x75\x97\x13\x10\xca\x7f\x1f\xf5\x57\x70\x3e\x06\x31\x7d\x48\x94\x72\x75\xd5\x7b\xaf\x5e\xc5\x62\xd9\x29\xcd\x30\xba\xef\xe5\x42\xcc\x5b\x9a\xa9\x67\x92\xa3\x24\x86\xff\x7b\xc1\x65\x77\x10\xdd\x49\x7e\x20\xc6\x0a\x19\x1f\x05\xad\xcd\x28\x49\xc6\xe3\x31\xcc\x34\x4a\x53\x93\x36\xc0\x36\xc5\x7e\x01\x42\x2b\x0c\x83\xaa\x01\xab\x4a\x93\x31\x64\xc0\x74\x54\x8a\x5a\x50\x05\x42\x02\x37\x04\x4f\xe1\xd9\xcd\x52\xf5\x92\x1f\xb0\x7b\x82\x0e\x35\x2e\x89\x49\x27\x09\xdb\xb2\x58\xb2\x50\x32\xdd\x4f\x2c\xe0\xed\xc6\x87\x0a\xf8\x7a\x2f\x5e\xfe\xf9\x7b\x93\xc1\x5b\x92\x00\x00\x58\x48\xf7\xb3\x47\xec\x5b\xbe\x43\x46\x58\x06\xc8\xb0\x12\xb4\x86\x5a\x69\xd7\xdb\x41\x85\x39\x09\xb9\x80\xde\x50\xe5\xae\xb6\xc4\xb0\x8a\x17\x0b\xf8\x3d\xf3\x7c\xd0\xe0\xbd\xeb\xac\x21\x70\x61\xd0\x64\x54\xaf\x4b\x02\x6e\x90\xa1\x51\x6d\x65\xde\xbb\x1a\x1f\x45\x4d\xa1\x3f\x07\x01\xf5\x3e\x8c\x29\xd5\x05\x60\xcf\x4d\xba\x03\x25\xff\x26\xb8\xa9\x34\xae\x33\x38\x1b\xce\x2c\x77\xcd\x3d\x9e\x4e\x53\x87\x9a\x52\x23\x16\x92\x74\xa8\xf2\xaf\xd2\x5a\xad\x1f\xb1\xed\x29\x83\xb3\x9b\xb2\xb4\x72\x5a\xe1\x20\x1c\x43\x6d\x9d\x6f\x15\x80\x4b\xd8\x29\x6f\x59\xb5\x2b\xba\x55\x92\x35\x96\x6c\x95\x48\x23\xd3\xd9\x6b\x47\x05\x48\xd1\xfe\xe5\x74\xf6\x3f\xed\xe7\xe4\x73\x2a\x5e\xa5\x59\x06\x68\x4e\x3f\x29\xfa\xf5\x16\xb2\x3d\xd7\xd7\xd0\xa1\x14\x65\x3a\xb2\x89\x53\x0f\x53\x43\xa5\xc8\x80\x54\x7e\x1c\xed\x8a\x76\x6c\x61\x51\x8e\xb2\x64\x5b\x67\x3c\x86\xff\x89\x01\x41\x53\x4d\x9a\xa4\x1d\x9e\x72\x43\xf3\x12\x9e\x1b\x30\xac\x34\x55\x7e\x34\x47\x24\x9b\x52\x0d\x97\x21\x3b\xb7\xb9\xb8\xa0\x7c\xee\x24\x9f\xfc\xe9\x10\xaf\xd2\x5a\xab\x65\xb1\x37\x90\x58\xf5\x0b\x72\x93\x25\x27\x27\x27\xef\xc4\x6f\x55\xdf\x56\x8e\xac\xef\x78\x48\x43\xad\x3d\x0b\x57\xff\x74\x94\x39\x06\x1b\x2f\x00\xbd\x50\xd9\x33\xc5\x15\xb2\xc7\x2e\x4a\x58\x3b\xbb\xaf\xfb\x1b\x98\x3f\xd3\xab\x19\xe6\x07\x0d\x23\xab\x68\x75\x4b\xe3\x13\x2a\x46\xdb\x1b\x92\xec\x57\x68\x72\xb1\x2b\x6d\xbe\x0e\x95\x53\x74\x18\x8a\x03\x48\xdf\x43\xe0\xc7\x69\x76\x00\xcb\x8e\xd6\xa2\xd0\x54\x8a\x4e\x90\xe4\x73\x03\x5d\x3f\x6f\x45\x09\xe8\xd7\x00\xd4\xfc\x27\x95\x87\x88\xb6\x37\xe0\x12\x16\xc4\x61\x69\xe2\x3f\xd2\xf1\x4e\x47\x4c\x34\x6c\x3c\xa5\x92\xc4\x8a\xf4\xb1\x5e\xee\x81\x77\xd2\xf6\x4a\x5e\x62\x87\x73\xd1\x0a\x16\x64\xa2\xa3\xce\xde\x76\xed\x14\x8b\x6e\xae\xd2\x3d\xd3\xc4\xaa\xde\x35\xb0\x77\x3e\xb4\x90\xbf\xf8\x31\x1b\x37\xae\xd1\xa1\x10\x77\xd4\x29\x23\xbc\xec\x71\x76\x32\xda\x22\xbc\x01\x86\x75\xf4\x31\x55\x06\x8a\xe4\x95\x2f\x18\x36\x63\x72\xb1\xf5\xca\xa0\xf7\x26\xb8\x7a\x93\xfc\x0a\x00\x00\xff\xff\xab\x22\xcc\xb5\xec\x06\x00\x00"
 
 func transfer_many_accountsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -864,11 +864,11 @@ func transfer_many_accountsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_many_accounts.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x79, 0x52, 0xbc, 0xa, 0x35, 0xc4, 0x27, 0x38, 0x88, 0x1c, 0xc2, 0x1e, 0xeb, 0x35, 0x82, 0x5f, 0xde, 0x8a, 0x3e, 0xa2, 0x2c, 0xc2, 0x72, 0xaf, 0x37, 0x6e, 0xc4, 0x5e, 0x4, 0x90, 0xf0, 0x4c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1d, 0x55, 0x99, 0x5b, 0x8, 0xa8, 0x39, 0xe2, 0x24, 0x45, 0x26, 0xaa, 0x87, 0xf6, 0x8, 0x46, 0xc, 0x81, 0x61, 0x1a, 0x9c, 0x6, 0x7e, 0xbe, 0x37, 0x6b, 0x4, 0x9, 0x55, 0x71, 0xd8, 0xc5}}
 	return a, nil
 }
 
-var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x41\x4f\xdb\x4a\x10\xbe\xfb\x57\x0c\x39\x80\x23\x81\x7d\x79\x7a\x87\x28\xc0\xe3\x41\xe9\xa9\x52\x85\x52\x7a\x1e\xdb\x93\x78\x5b\x67\xd7\x9a\x1d\x27\x20\xc4\x7f\xaf\x76\xd7\x6b\xec\x40\x29\xf5\x01\xb4\x93\xd9\x6f\xbe\xf9\xbe\x99\xcd\x73\x58\xd5\xca\x82\x30\x6a\x8b\xa5\x28\xa3\x41\x59\x40\x10\xda\xb6\x0d\x0a\xc1\xda\xb0\x3b\x8e\x7e\x97\x1a\x25\xc9\x73\x28\x4d\xd7\x54\x50\x10\x74\x96\x2a\x28\x1e\x01\xf5\xa3\xd1\x04\x62\xc0\x92\xae\x40\xcc\x4f\xd2\xd6\x1d\x51\x1b\xa9\x89\x01\xcb\xd2\x74\xda\x5f\x76\x20\x50\xa3\x85\x82\x48\x83\x25\x81\xae\x75\xa9\x4c\x25\xa9\x1d\xf5\x97\xb3\x24\xcf\x13\xcf\x91\x60\xaf\xa4\xae\x18\xf7\x80\x5b\x07\x02\xe8\x4a\xd4\x14\x41\x61\xcd\x66\x0b\x1b\x92\xab\x97\x22\xfb\xc8\xd0\xe5\xb5\xc8\xb8\x25\x21\xf6\x94\x5c\x64\xd4\x54\x92\xa8\x6d\x6b\x58\xe0\xb6\xd3\x1b\x55\x34\xb4\x72\xf5\x03\xe6\x6c\x12\x9b\xc5\xcc\x4f\x0f\xb8\x6d\xa7\x89\xe3\xd0\xec\x4d\xc4\x2f\x24\x58\xa1\xe0\xbd\xa2\xbd\x7d\x0b\x7e\x92\x30\x4b\x92\x11\xc7\x34\x34\xbe\x80\x6f\xb7\xea\xe1\xdf\x7f\x4e\x41\xcc\x02\xae\xaa\x8a\xc9\xda\x39\x3c\x25\x09\x00\x40\x9e\xe7\x70\xbb\xba\xc7\xae\x91\x1b\x14\x84\x6d\x8f\x07\x3b\x45\x7b\x6f\xa6\xef\xdc\x93\x2e\x48\xe9\x8d\x77\xcf\x5f\x6d\x48\x60\x17\x2f\x2e\xde\xe1\x9d\x8d\x0a\xc4\xaa\xde\x22\x1f\x05\x26\x6b\x3a\x2e\xa9\xf7\xd8\x34\x95\x7d\x29\x6a\x43\x14\x99\xfa\xf2\xbe\xc1\x35\x31\x8f\x58\x58\xd2\xe2\xb1\x16\xf0\xdf\xd3\x84\x47\xe6\xc3\xcf\xa1\x6a\xcb\xd4\x22\x53\x6a\xd5\x46\x13\x2f\x00\x3b\xa9\xd3\xff\x0d\xb3\xd9\xdf\x63\xd3\xd1\x1c\x8e\xfb\x61\x18\xe4\x71\x9f\xa5\x66\x9d\x0d\x8d\xc2\xf9\xc4\xc9\xcc\xb1\x6f\x76\x74\x6d\xb4\x30\x96\xe2\x1a\x4e\x63\x47\xab\xc7\x96\x16\xa0\x55\x73\xea\xe5\x0c\x47\xf7\x77\xf9\x31\xb1\x2e\xd2\xf9\x1c\xd0\x1e\x7d\x50\xdb\xcb\x81\xb2\xfb\x2e\x2f\xa1\x45\xad\xca\x74\xe6\x12\xef\x02\x4d\x86\xca\x90\x05\x6d\x82\xec\xcd\x8e\x26\xee\x3b\x96\xb3\xf9\x4b\xeb\x79\x0e\x9f\x49\x00\x81\x69\x4d\x4c\xba\xa4\xb8\x0b\x41\xc3\x13\x0b\x56\x0c\x53\x15\x06\x61\xb8\x37\x8c\xc6\x1d\xad\xe1\xbc\x4f\xce\x5c\x2a\x6e\x28\x2b\xbc\xe4\x4b\x2f\xff\xd4\xad\xef\xfd\xce\xce\xe1\x78\x22\xb2\x67\x78\x91\xba\xf9\x5f\x1c\xf8\x11\x51\xbf\xa2\xd4\xf3\xdf\x08\x70\xed\xf7\xda\x35\x1d\x4a\xbf\x6e\xc7\xec\x43\x37\xbe\xd0\xd1\x81\x04\x91\x55\x9c\x48\xbf\x86\x7f\x16\xc1\xf3\x1c\x46\x13\x96\x67\x83\x24\x59\x7c\x9b\x86\x15\x0d\xff\x03\xff\x7e\x5a\xe9\x81\xca\x4e\x68\x3c\x89\xbd\x1d\xae\x34\x53\xa9\x5a\x45\x5a\x4e\x2c\xb4\x5d\xd1\xa8\x72\x78\xd8\x4c\xf1\x83\xca\xa9\x17\x43\x36\x9c\x8f\x9e\xbc\x54\xcc\x87\xbc\x1e\xd7\xba\x0b\xef\x2d\x1f\xc2\xfb\x60\x70\x7b\x48\xcf\x4a\x6c\xb1\x50\x8d\x12\x45\x36\xba\x7e\x7c\xb0\xa0\x11\xf0\xf9\x22\x3d\x30\x36\xa2\xfe\xa5\xb3\xe1\xd2\xfb\x5d\x78\x47\x0e\x5c\xbe\xa1\xd6\x58\x15\xd4\x8d\xfe\xe8\x68\xb9\xd2\xaf\x30\xf8\x50\x89\x91\x0a\x59\x15\xc0\xfa\x89\x5d\x9e\x4d\x67\x21\xfa\xfc\x9c\xfc\x0a\x00\x00\xff\xff\xa8\x88\xdd\xc4\x50\x07\x00\x00"
+var _transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\xc1\x6e\xeb\x36\x10\xbc\xeb\x2b\xe6\xf9\x90\x27\x03\xef\x49\x97\xa2\x07\xc3\x49\x9a\x26\x4d\x4f\x05\x8a\xc0\x4d\xcf\x2b\x69\x6d\xb1\x95\x49\x81\x5c\xd9\x09\x82\xfc\x7b\x41\x52\x54\x64\x07\x69\x53\x1d\x12\x70\xbd\xdc\x99\x9d\xd9\x65\x59\x62\xd3\x2a\x07\xb1\xa4\x1d\xd5\xa2\x8c\x86\x72\x20\x08\xef\xfb\x8e\x84\xb1\x35\xd6\x1f\x67\xbf\x4b\x4b\x92\x95\x25\x6a\x33\x74\x0d\x2a\xc6\xe0\xb8\x41\xf5\x0c\xd2\xcf\x46\x33\xc4\xc0\xb1\x6e\x20\xe6\x6f\xd6\xce\x1f\x49\x1b\x69\xd9\x82\xea\xda\x0c\x3a\x5c\xf6\x45\xd0\x92\x43\xc5\xac\xe1\x58\x30\xf4\x3e\xd5\x72\xcd\xea\xc0\xe3\xe5\x22\x2b\xcb\x2c\x70\x64\x1c\x95\xb4\x8d\xa5\x23\x68\xef\x8b\x80\x3c\x44\xcb\xa9\x28\xb6\xd6\xec\xb1\x63\xb9\x79\x03\x39\x26\x86\x3e\xaf\x27\x4b\x7b\x16\xb6\x81\x92\x8f\xcc\x9a\xca\x32\xb5\xef\x8d\x15\x2c\xee\x07\xbd\x53\x55\xc7\x1b\x4f\x60\x31\x85\x7f\x79\xa2\x7d\xff\x2e\x7a\x92\xfc\x1b\x0b\x35\x24\xf4\xa8\xf8\xe8\x16\x59\x36\x2b\x9f\x47\xce\x2b\xfc\x71\xaf\x9e\x7e\xfc\xe1\x1b\xc4\xac\x70\xd3\x34\x96\x9d\x5b\xe2\x25\xcb\x00\xa0\x2c\x4b\xdc\x6f\x1e\x69\xe8\xe4\x8e\x84\xb0\x1f\xeb\xe1\xa0\xf8\x18\x7c\x08\xa4\x3d\x14\x2a\x56\x7a\x17\x84\x0f\x57\x3b\x16\x1c\xd2\xc5\x15\x3e\xa6\x55\xcc\x00\x12\x6a\x50\x37\x44\x61\xd9\x99\xc1\xd6\x3c\xda\x63\xba\xc6\xbd\x81\xba\x18\x25\xcb\x23\x7c\x68\x70\xcb\xd6\xce\x58\x38\xd6\x12\x6a\xad\xf0\xd3\xcb\x09\x8f\x22\x84\x5f\x23\x6a\x6f\xb9\x27\xcb\xb9\x53\x3b\xcd\x76\x05\x1a\xa4\xcd\x7f\x36\xd6\x9a\xe3\x23\x75\x03\x2f\x71\x31\xfa\x38\xc9\xe3\x3f\xc7\xdd\xb6\x98\x1a\xc5\x25\xe6\xb6\x14\x9e\x7d\x77\xe0\x5b\xa3\xc5\x52\x2d\xbe\xe1\x3c\x75\xb4\x79\xee\x79\x05\xad\xba\x6f\x41\xce\x78\xf4\x7f\xd7\x9f\x13\xeb\x2a\x5f\x2e\x41\xee\xcb\x27\xb5\xbd\x9e\x28\xfb\xef\xfa\x1a\x3d\x69\x55\xe7\x0b\x9f\xf8\x10\x69\x5a\x34\x86\x1d\xb4\x89\xb2\x77\x07\x3e\x71\xdf\xb3\x5c\x2c\xdf\x5a\x2f\x4b\xfc\xca\x02\x82\xe5\x2d\x5b\xd6\x35\xa7\x31\x8e\x1a\x7e\x75\x70\x62\x2c\x37\x71\x10\xa6\x7b\xd3\x68\x3c\xf0\x16\x97\x63\x72\xe1\x53\x69\xc7\x45\x15\x24\x5f\x07\xf9\x4f\xdd\xfa\x73\x5c\xb7\x25\x2e\x4e\x44\x0e\x0c\xaf\x72\xbf\x6d\xab\x33\x3f\x52\xd5\xdf\x49\xda\xe5\x07\x02\xdc\x86\x95\xf4\x4d\x47\xe8\xf7\xed\x98\x63\xec\x26\x00\x7d\x39\x93\x20\xb1\x4a\x13\x19\x96\xfe\xbf\x45\x08\x3c\xa7\xd1\xc4\xfa\xfb\x24\x49\x91\x9e\x95\x69\x45\xe3\xff\xc8\x7f\x9c\x56\x7e\xe2\x7a\x10\x9e\x4f\xe2\x68\x87\x87\xb6\x5c\xab\x5e\xb1\x96\xaf\x0e\xfd\x50\x75\xaa\x9e\xde\x24\x53\xfd\xc5\xf5\xa9\x17\x53\x36\x2e\x67\xaf\x55\x2e\xe6\x53\x5e\xcf\xb1\x1e\xe2\x53\x69\xcf\xcb\x87\x60\x74\x7b\x4a\x2f\x6a\xea\xa9\x52\x9d\x12\xc5\x2e\xb9\x7e\x71\xb6\xa0\xa9\xe0\xeb\x55\x7e\x66\x6c\xaa\xfa\x3f\x9d\x8d\x97\xfe\xbd\x8b\xe0\xc8\x99\xcb\x77\xdc\x1b\xa7\xa2\xba\xc9\x1f\x9d\x2c\x57\xfa\x5d\x0d\x7b\xae\xc4\x4c\x85\xa2\x89\xc5\xc6\x89\x5d\x7f\x3f\x9d\x85\xe4\xf3\x6b\xf6\x4f\x00\x00\x00\xff\xff\xdb\x83\x07\xed\x0b\x07\x00\x00"
 
 func transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -884,7 +884,7 @@ func transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0xeb, 0xf5, 0xbd, 0xdf, 0x36, 0xbe, 0xbe, 0xd7, 0x5d, 0xac, 0xb9, 0x29, 0xc9, 0xcb, 0x71, 0x9f, 0x4a, 0x0, 0x79, 0x61, 0x75, 0x2c, 0xff, 0x5a, 0x8d, 0x3d, 0x7d, 0x7d, 0xda, 0x14, 0xef}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x3d, 0x51, 0xbf, 0x1a, 0xd8, 0x34, 0xf, 0x15, 0x63, 0x6a, 0xf2, 0x48, 0x2b, 0x2f, 0xc8, 0x77, 0x7, 0x72, 0x38, 0xf1, 0x0, 0x4b, 0xc9, 0x48, 0xe0, 0x8a, 0x1a, 0x18, 0xd8, 0xb, 0x6c}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/templates.go b/lib/go/templates/templates.go
index a6fdfe7c..233ea6e4 100644
--- a/lib/go/templates/templates.go
+++ b/lib/go/templates/templates.go
@@ -24,6 +24,15 @@ var (
 	placeholderFTMetadataViews    = "\"FungibleTokenMetadataViews\""
 	placeholderViewResolver       = "\"ViewResolver\""
 	placeholderBurner             = "\"Burner\""
+	exampleTokenImport            = "ExampleToken from "
+	metadataViewsImport           = "MetadataViews from "
+	ftMetadataViewsImport         = "FungibleTokenMetadataViews from "
+	burnerImport                  = "Burner from "
+	fungibleTokenImport           = "FungibleToken from "
+	viewResolverImport            = "ViewResolver from "
+	switchboardImport             = "FungibleTokenSwitchboard from "
+	forwardingImport              = "TokenForwarding from "
+	privateForwardingImport       = "PrivateReceiverForwarder from "
 )
 
 type Environment struct {
@@ -56,55 +65,55 @@ func ReplaceAddresses(code string, env Environment) string {
 	code = strings.ReplaceAll(
 		code,
 		placeholderFungibleToken,
-		withHexPrefix(env.FungibleTokenAddress),
+		fungibleTokenImport+withHexPrefix(env.FungibleTokenAddress),
 	)
 
 	code = strings.ReplaceAll(
 		code,
 		placeholderExampleToken,
-		withHexPrefix(env.ExampleTokenAddress),
+		exampleTokenImport+withHexPrefix(env.ExampleTokenAddress),
 	)
 
 	code = strings.ReplaceAll(
 		code,
 		placeholderForwarding,
-		withHexPrefix(env.TokenForwardingAddress),
+		forwardingImport+withHexPrefix(env.TokenForwardingAddress),
 	)
 
 	code = strings.ReplaceAll(
 		code,
 		placeholderPrivateForwardAddr,
-		withHexPrefix(env.PrivateForwardingAddress),
+		privateForwardingImport+withHexPrefix(env.PrivateForwardingAddress),
 	)
 
 	code = strings.ReplaceAll(
 		code,
 		placeholderMetadataViews,
-		withHexPrefix(env.MetadataViewsAddress),
+		metadataViewsImport+withHexPrefix(env.MetadataViewsAddress),
 	)
 
 	code = strings.ReplaceAll(
 		code,
 		placeholderFTMetadataViews,
-		withHexPrefix(env.FungibleTokenMetadataViewsAddress),
+		ftMetadataViewsImport+withHexPrefix(env.FungibleTokenMetadataViewsAddress),
 	)
 
 	code = strings.ReplaceAll(
 		code,
 		placeholderViewResolver,
-		withHexPrefix(env.ViewResolverAddress),
+		viewResolverImport+withHexPrefix(env.ViewResolverAddress),
 	)
 
 	code = strings.ReplaceAll(
 		code,
 		placeholderBurner,
-		withHexPrefix(env.BurnerAddress),
+		burnerImport+withHexPrefix(env.BurnerAddress),
 	)
 
 	code = strings.ReplaceAll(
 		code,
 		placeholderSwitchboard,
-		withHexPrefix(env.SwitchboardAddress),
+		switchboardImport+withHexPrefix(env.SwitchboardAddress),
 	)
 
 	// storageName := MakeFirstLowerCase(tokenName)
diff --git a/transactions/burn_tokens.cdc b/transactions/burn_tokens.cdc
index 29c223c3..ef7aadc5 100644
--- a/transactions/burn_tokens.cdc
+++ b/transactions/burn_tokens.cdc
@@ -1,7 +1,7 @@
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import Burner from "Burner"
+import "FungibleToken"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
+import "Burner"
 
 /// This transaction is a template for a transaction that could be used by the admin account to burn tokens from their
 /// stored Vault
diff --git a/transactions/create_forwarder.cdc b/transactions/create_forwarder.cdc
index 7b98dae7..aa0648e1 100644
--- a/transactions/create_forwarder.cdc
+++ b/transactions/create_forwarder.cdc
@@ -23,10 +23,10 @@ Steps to set up accounts with token forwarder:
     getting the Receiver from the account that is the recipient.
 */
 
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import TokenForwarding from "TokenForwarding"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "TokenForwarding"
+import "FungibleTokenMetadataViews"
 
 transaction(receiver: Address) {
 
diff --git a/transactions/generic_transfer_with_address.cdc b/transactions/generic_transfer_with_address.cdc
index 2d687e5f..2e90e378 100644
--- a/transactions/generic_transfer_with_address.cdc
+++ b/transactions/generic_transfer_with_address.cdc
@@ -1,4 +1,4 @@
-import FungibleToken from "FungibleToken"
+import "FungibleToken"
 import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
 
 /// Can pass in any contract address and name to transfer a token from that contract
diff --git a/transactions/generic_transfer_with_paths.cdc b/transactions/generic_transfer_with_paths.cdc
index 16851ffa..cbb99b58 100644
--- a/transactions/generic_transfer_with_paths.cdc
+++ b/transactions/generic_transfer_with_paths.cdc
@@ -1,4 +1,4 @@
-import FungibleToken from "FungibleToken"
+import "FungibleToken"
 
 /// Can pass in any storage path and receiver path identifier instead of just the default.
 /// This lets you choose the token you want to send as well the capability you want to send it to.
diff --git a/transactions/metadata/setup_account_from_address.cdc b/transactions/metadata/setup_account_from_address.cdc
index 44b06af0..f6bfe622 100644
--- a/transactions/metadata/setup_account_from_address.cdc
+++ b/transactions/metadata/setup_account_from_address.cdc
@@ -1,5 +1,5 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "FungibleTokenMetadataViews"
 
 /// This transaction is what an account would run
 /// to set itself up to manage fungible tokens. This function
diff --git a/transactions/metadata/setup_account_from_vault_reference.cdc b/transactions/metadata/setup_account_from_vault_reference.cdc
index 6dd7e15f..8e0d514e 100644
--- a/transactions/metadata/setup_account_from_vault_reference.cdc
+++ b/transactions/metadata/setup_account_from_vault_reference.cdc
@@ -1,6 +1,6 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import ViewResolver from "ViewResolver"
+import "FungibleToken"
+import "FungibleTokenMetadataViews"
+import "ViewResolver"
 
 /// This transaction is what an account would run
 /// to set itself up to manage fungible tokens. This function
diff --git a/transactions/mint_tokens.cdc b/transactions/mint_tokens.cdc
index b1a7e8fe..0ac0e940 100644
--- a/transactions/mint_tokens.cdc
+++ b/transactions/mint_tokens.cdc
@@ -1,6 +1,6 @@
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 /// This transaction is what the minter Account uses to mint new tokens
 /// They provide the recipient address and amount to mint, and the tokens
diff --git a/transactions/privateForwarder/create_account_private_forwarder.cdc b/transactions/privateForwarder/create_account_private_forwarder.cdc
index 0e887b11..292070e1 100644
--- a/transactions/privateForwarder/create_account_private_forwarder.cdc
+++ b/transactions/privateForwarder/create_account_private_forwarder.cdc
@@ -1,7 +1,7 @@
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import PrivateReceiverForwarder from "PrivateReceiverForwarder"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "PrivateReceiverForwarder"
+import "FungibleTokenMetadataViews"
 
 /// This transaction is used to create a user's Flow account with a private forwarder
 
diff --git a/transactions/privateForwarder/create_private_forwarder.cdc b/transactions/privateForwarder/create_private_forwarder.cdc
index 55d1b77d..6e365eda 100644
--- a/transactions/privateForwarder/create_private_forwarder.cdc
+++ b/transactions/privateForwarder/create_private_forwarder.cdc
@@ -1,7 +1,7 @@
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import PrivateReceiverForwarder from "PrivateReceiverForwarder"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "PrivateReceiverForwarder"
+import "FungibleTokenMetadataViews"
 
 // This transaction creates a new private receiver in an account that 
 // doesn't already have a private receiver or a public token receiver
diff --git a/transactions/privateForwarder/setup_and_create_forwarder.cdc b/transactions/privateForwarder/setup_and_create_forwarder.cdc
index 9e1fef2a..f5d258c6 100644
--- a/transactions/privateForwarder/setup_and_create_forwarder.cdc
+++ b/transactions/privateForwarder/setup_and_create_forwarder.cdc
@@ -1,8 +1,8 @@
 
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import PrivateReceiverForwarder from "PrivateReceiverForwarder"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "PrivateReceiverForwarder"
+import "FungibleTokenMetadataViews"
 
 /// This transaction adds a Vault, a private receiver forwarder
 /// a balance capability, and a public capability for the receiver
diff --git a/transactions/privateForwarder/transfer_private_many_accounts.cdc b/transactions/privateForwarder/transfer_private_many_accounts.cdc
index cfbcdbd2..fa705ddb 100644
--- a/transactions/privateForwarder/transfer_private_many_accounts.cdc
+++ b/transactions/privateForwarder/transfer_private_many_accounts.cdc
@@ -1,7 +1,7 @@
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import PrivateReceiverForwarder from "PrivateReceiverForwarder"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "PrivateReceiverForwarder"
+import "FungibleTokenMetadataViews"
 
 /// This transaction transfers to many addresses through their private receivers
 
diff --git a/transactions/safe_generic_transfer.cdc b/transactions/safe_generic_transfer.cdc
index 490ca1e4..f9d43929 100644
--- a/transactions/safe_generic_transfer.cdc
+++ b/transactions/safe_generic_transfer.cdc
@@ -1,4 +1,4 @@
-import FungibleToken from "FungibleToken"
+import "FungibleToken"
 
 /// Can pass in any storage path and receiver path instead of just the default.
 /// This lets you choose the token you want to send as well the capability you want to send it to.
diff --git a/transactions/scripts/get_balance.cdc b/transactions/scripts/get_balance.cdc
index d0901bda..8c9dd45a 100644
--- a/transactions/scripts/get_balance.cdc
+++ b/transactions/scripts/get_balance.cdc
@@ -1,9 +1,9 @@
 // This script reads the balance field
 // of an account's ExampleToken Balance
 
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 access(all) fun main(address: Address): UFix64 {
     let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
diff --git a/transactions/scripts/get_supply.cdc b/transactions/scripts/get_supply.cdc
index 1c2ccd09..eac571ba 100644
--- a/transactions/scripts/get_supply.cdc
+++ b/transactions/scripts/get_supply.cdc
@@ -1,7 +1,7 @@
 // This script reads the total supply field
 // of the ExampleToken smart contract
 
-import ExampleToken from "ExampleToken"
+import "ExampleToken"
 
 access(all) fun main(): UFix64 {
     return ExampleToken.totalSupply
diff --git a/transactions/scripts/get_supported_vault_types.cdc b/transactions/scripts/get_supported_vault_types.cdc
index b7dcc1fc..0a2c31a2 100644
--- a/transactions/scripts/get_supported_vault_types.cdc
+++ b/transactions/scripts/get_supported_vault_types.cdc
@@ -1,4 +1,4 @@
-import FungibleToken from "FungibleToken"
+import "FungibleToken"
 
 /// This scripts returns the supported FungibleToken's type by the provided `target` address.
 /// `target` address should hold the capability which conforms with FungibleToken.Receiver restricted type
diff --git a/transactions/scripts/metadata/get_token_metadata.cdc b/transactions/scripts/metadata/get_token_metadata.cdc
index d823eed3..59fc650f 100644
--- a/transactions/scripts/metadata/get_token_metadata.cdc
+++ b/transactions/scripts/metadata/get_token_metadata.cdc
@@ -1,7 +1,7 @@
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import FungibleToken from "FungibleToken"
-import ViewResolver from "ViewResolver"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ViewResolver"
 
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTView {
     let account = getAccount(address)
diff --git a/transactions/scripts/metadata/get_vault_data.cdc b/transactions/scripts/metadata/get_vault_data.cdc
index f9705b79..692d016c 100644
--- a/transactions/scripts/metadata/get_vault_data.cdc
+++ b/transactions/scripts/metadata/get_vault_data.cdc
@@ -1,7 +1,7 @@
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import FungibleToken from "FungibleToken"
-import ViewResolver from "ViewResolver"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ViewResolver"
 
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTVaultData {
     let account = getAccount(address)
diff --git a/transactions/scripts/metadata/get_vault_display.cdc b/transactions/scripts/metadata/get_vault_display.cdc
index 182662cf..3b8b85f0 100644
--- a/transactions/scripts/metadata/get_vault_display.cdc
+++ b/transactions/scripts/metadata/get_vault_display.cdc
@@ -1,7 +1,7 @@
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import FungibleToken from "FungibleToken"
-import ViewResolver from "ViewResolver"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ViewResolver"
 
 access(all) fun main(address: Address): FungibleTokenMetadataViews.FTDisplay {
     let account = getAccount(address)
diff --git a/transactions/scripts/metadata/get_vault_supply_view.cdc b/transactions/scripts/metadata/get_vault_supply_view.cdc
index 885e3607..bd11142f 100644
--- a/transactions/scripts/metadata/get_vault_supply_view.cdc
+++ b/transactions/scripts/metadata/get_vault_supply_view.cdc
@@ -1,7 +1,7 @@
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import FungibleToken from "FungibleToken"
-import ViewResolver from "ViewResolver"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ViewResolver"
 
 /// Gets the total supply of the vault's token directly from the vault
 
diff --git a/transactions/scripts/switchboard/check_receiver_by_type.cdc b/transactions/scripts/switchboard/check_receiver_by_type.cdc
index 15f0411f..0534abbd 100644
--- a/transactions/scripts/switchboard/check_receiver_by_type.cdc
+++ b/transactions/scripts/switchboard/check_receiver_by_type.cdc
@@ -1,5 +1,5 @@
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import ExampleToken from "ExampleToken"
+import "FungibleTokenSwitchboard"
+import "ExampleToken"
 
 access(all) fun main(switchboard: Address): Bool {
 let switchboardRef = getAccount(switchboard)
diff --git a/transactions/scripts/switchboard/get_vault_types.cdc b/transactions/scripts/switchboard/get_vault_types.cdc
index e6802e60..ee8c424e 100644
--- a/transactions/scripts/switchboard/get_vault_types.cdc
+++ b/transactions/scripts/switchboard/get_vault_types.cdc
@@ -1,5 +1,5 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
+import "FungibleToken"
+import "FungibleTokenSwitchboard"
 
 // This script reads the stored vault capabilities from a switchboard on the
 // passed account
diff --git a/transactions/scripts/switchboard/get_vault_types_and_address.cdc b/transactions/scripts/switchboard/get_vault_types_and_address.cdc
index d4fd046e..3fae4d76 100644
--- a/transactions/scripts/switchboard/get_vault_types_and_address.cdc
+++ b/transactions/scripts/switchboard/get_vault_types_and_address.cdc
@@ -1,5 +1,5 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
+import "FungibleToken"
+import "FungibleTokenSwitchboard"
 
 /// This script reads the stored vault capabilities from a switchboard on the passed account
 ///
diff --git a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
index 1f77d057..80fe2bfe 100644
--- a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
+++ b/transactions/scripts/test/example_token_vault_display_strict_equal.cdc
@@ -1,7 +1,7 @@
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
-import MetadataViews from "MetadataViews"
-import ViewResolver from "ViewResolver"
-import ExampleToken from "ExampleToken"
+import "FungibleTokenMetadataViews"
+import "MetadataViews"
+import "ViewResolver"
+import "ExampleToken"
 
 /// Test helper script to validate ExampleToken serves FTDisplay as expected
 ///
diff --git a/transactions/setup_account.cdc b/transactions/setup_account.cdc
index c8b7b588..bf9d4314 100644
--- a/transactions/setup_account.cdc
+++ b/transactions/setup_account.cdc
@@ -2,10 +2,10 @@
 // anyone to add a Vault resource to their account so that
 // they can use the exampleToken
 
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import ViewResolver from "ViewResolver"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "ViewResolver"
+import "FungibleTokenMetadataViews"
 
 transaction () {
 
diff --git a/transactions/switchboard/add_vault_capability.cdc b/transactions/switchboard/add_vault_capability.cdc
index 75e2416a..957e299a 100644
--- a/transactions/switchboard/add_vault_capability.cdc
+++ b/transactions/switchboard/add_vault_capability.cdc
@@ -1,7 +1,7 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "FungibleTokenSwitchboard"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to add a new fungible token vault
 /// capability to their switchboard resource
diff --git a/transactions/switchboard/add_vault_wrapper_capability.cdc b/transactions/switchboard/add_vault_wrapper_capability.cdc
index 93ae0df5..7974d2dd 100644
--- a/transactions/switchboard/add_vault_wrapper_capability.cdc
+++ b/transactions/switchboard/add_vault_wrapper_capability.cdc
@@ -1,7 +1,7 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "FungibleTokenSwitchboard"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to add a new vault wrapper capability
 /// to their switchboard resource
diff --git a/transactions/switchboard/batch_add_vault_capabilities.cdc b/transactions/switchboard/batch_add_vault_capabilities.cdc
index 7444f7c4..007de1bb 100644
--- a/transactions/switchboard/batch_add_vault_capabilities.cdc
+++ b/transactions/switchboard/batch_add_vault_capabilities.cdc
@@ -1,6 +1,6 @@
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleTokenSwitchboard"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to add several new fungible token
 /// vaults, belonging to a certain `Address` to their switchboard resource.
diff --git a/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc b/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
index 91c3f689..051d8d32 100644
--- a/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
+++ b/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
@@ -1,6 +1,6 @@
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleTokenSwitchboard"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to add several capabilities that point
 /// to fungible token vaults of a different `Type` and belong to a certain `Address`, to their switchboard resource.
diff --git a/transactions/switchboard/remove_vault_capability.cdc b/transactions/switchboard/remove_vault_capability.cdc
index 7af656ee..f0e774e3 100644
--- a/transactions/switchboard/remove_vault_capability.cdc
+++ b/transactions/switchboard/remove_vault_capability.cdc
@@ -1,6 +1,6 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import ExampleToken from "ExampleToken"
+import "FungibleToken"
+import "FungibleTokenSwitchboard"
+import "ExampleToken"
 
 /// This transaction is a template for a transaction that could be used by anyone to remove fungible token vault
 /// capability from their switchboard resource
diff --git a/transactions/switchboard/safe_transfer_tokens.cdc b/transactions/switchboard/safe_transfer_tokens.cdc
index b7ac6360..0cd472fc 100644
--- a/transactions/switchboard/safe_transfer_tokens.cdc
+++ b/transactions/switchboard/safe_transfer_tokens.cdc
@@ -1,7 +1,7 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "FungibleTokenSwitchboard"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 // This transaction is a template for a transaction that could be used by anyone 
 // to send tokens to another account through a switchboard using the safeDeposit
diff --git a/transactions/switchboard/safe_transfer_tokens_v2.cdc b/transactions/switchboard/safe_transfer_tokens_v2.cdc
index 6173753e..5adb2057 100644
--- a/transactions/switchboard/safe_transfer_tokens_v2.cdc
+++ b/transactions/switchboard/safe_transfer_tokens_v2.cdc
@@ -1,7 +1,7 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "FungibleTokenSwitchboard"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to send tokens to another account
 /// through a switchboard using the deposit method but before depositing we will explicitly check whether receiving
diff --git a/transactions/switchboard/setup_account.cdc b/transactions/switchboard/setup_account.cdc
index 8787f597..6d0215a5 100644
--- a/transactions/switchboard/setup_account.cdc
+++ b/transactions/switchboard/setup_account.cdc
@@ -1,5 +1,5 @@
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import FungibleToken from "FungibleToken"
+import "FungibleTokenSwitchboard"
+import "FungibleToken"
 
 // This transaction is a template for a transaction that could be used by 
 // anyone to to add a Switchboard resource to their account so that they can
diff --git a/transactions/switchboard/setup_royalty_account.cdc b/transactions/switchboard/setup_royalty_account.cdc
index ef4ed65c..31fce029 100644
--- a/transactions/switchboard/setup_royalty_account.cdc
+++ b/transactions/switchboard/setup_royalty_account.cdc
@@ -1,7 +1,7 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import FlowToken from "FlowToken"
-import FiatToken from "FiatToken"
+import "FungibleToken"
+import "FungibleTokenSwitchboard"
+import "FlowToken"
+import "FiatToken"
 
 
 // This transaction is a template for a transaction that could be used by 
diff --git a/transactions/switchboard/setup_royalty_account_by_paths.cdc b/transactions/switchboard/setup_royalty_account_by_paths.cdc
index 591ec6b9..b6b2ba51 100644
--- a/transactions/switchboard/setup_royalty_account_by_paths.cdc
+++ b/transactions/switchboard/setup_royalty_account_by_paths.cdc
@@ -1,7 +1,7 @@
-import FungibleToken from "FungibleToken"
-import FungibleTokenSwitchboard from "FungibleTokenSwitchboard"
-import FlowToken from "FlowToken"
-import FiatToken from "FiatToken"
+import "FungibleToken"
+import "FungibleTokenSwitchboard"
+import "FlowToken"
+import "FiatToken"
 
 
 // This transaction is a template for a transaction that could be used by 
diff --git a/transactions/switchboard/transfer_tokens.cdc b/transactions/switchboard/transfer_tokens.cdc
index 97e89633..9d87bf6a 100644
--- a/transactions/switchboard/transfer_tokens.cdc
+++ b/transactions/switchboard/transfer_tokens.cdc
@@ -1,6 +1,6 @@
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to send tokens to another account
 /// through a switchboard, as long as they have set up their switchboard and have add the proper capability to it
diff --git a/transactions/transfer_many_accounts.cdc b/transactions/transfer_many_accounts.cdc
index 1ca4e51d..736540ce 100644
--- a/transactions/transfer_many_accounts.cdc
+++ b/transactions/transfer_many_accounts.cdc
@@ -1,6 +1,6 @@
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 /// Transfers tokens to a list of addresses specified in the `addressAmountMap` parameter
 
diff --git a/transactions/transfer_tokens.cdc b/transactions/transfer_tokens.cdc
index d27820d5..f8e3b04e 100644
--- a/transactions/transfer_tokens.cdc
+++ b/transactions/transfer_tokens.cdc
@@ -5,9 +5,9 @@
 // The withdraw amount and the account from getAccount
 // would be the parameters to the transaction
 
-import FungibleToken from "FungibleToken"
-import ExampleToken from "ExampleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleToken"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
 
 transaction(amount: UFix64, to: Address) {
 

From a31032af9b68d92b2c01eb85cc2103fae698bb19 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 8 Mar 2024 10:41:58 -0600
Subject: [PATCH 099/115] update previewnet address

---
 README.md     | 13 +++++++------
 coverage.json | 36 ++++++++++++++++++------------------
 2 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/README.md b/README.md
index 4459eacb..3b132870 100644
--- a/README.md
+++ b/README.md
@@ -37,12 +37,13 @@ The `FungibleToken`, `FungibleTokenMetadataViews`, and `FungibleTokenSwitchboard
 on various networks. You can import them in your contracts from these addresses.
 There is no need to deploy them yourself.
 
-| Network                      | Contract Address     |
-| ---------------------------- | -------------------- |
-| Emulator                     | `0xee82856bf20e2aa6` |
-| Testnet/Previewnet/Crescendo | `0x9a0766d93b6608b7` |
-| Sandboxnet                   | `0xe20612a0776ca4bf` |
-| Mainnet                      | `0xf233dcee88fe0abe` |
+| Network           | Contract Address     |
+| ----------------- | -------------------- |
+| Emulator          | `0xee82856bf20e2aa6` |
+| PreviewNet        | `0xa0225e7000ac82a9` |
+| Testnet/Crescendo | `0x9a0766d93b6608b7` |
+| Sandboxnet        | `0xe20612a0776ca4bf` |
+| Mainnet           | `0xf233dcee88fe0abe` |
 
 The `Burner` contract is also deployed to these addresses, but should not be used until after the Cadence 1.0 network upgrade.
 
diff --git a/coverage.json b/coverage.json
index f479b00f..945b90e9 100644
--- a/coverage.json
+++ b/coverage.json
@@ -590,30 +590,30 @@
     }
   },
   "excluded_locations": [
-    "A.0000000000000001.ViewResolver",
-    "A.0000000000000001.NodeVersionBeacon",
     "A.0000000000000001.FlowDKG",
-    "I.BlockchainHelpers",
-    "s.7465737400000000000000000000000000000000000000000000000000000000",
-    "A.0000000000000001.FlowStorageFees",
+    "A.0000000000000001.FlowIDTableStaking",
     "A.0000000000000002.FungibleTokenSwitchboard",
-    "A.0000000000000001.FlowServiceAccount",
-    "A.0000000000000002.FungibleToken",
+    "A.0000000000000003.FlowToken",
+    "A.0000000000000001.FlowEpoch",
+    "A.0000000000000001.NodeVersionBeacon",
     "A.0000000000000001.StakingProxy",
+    "A.0000000000000002.FungibleToken",
+    "A.0000000000000001.LockedTokens",
+    "I.Test",
     "A.0000000000000001.FlowClusterQC",
-    "A.0000000000000001.ExampleNFT",
-    "A.0000000000000001.MetadataViews",
+    "A.0000000000000001.NonFungibleToken",
     "A.0000000000000002.FungibleTokenMetadataViews",
-    "A.0000000000000004.FlowFees",
-    "A.0000000000000001.FlowIDTableStaking",
     "A.0000000000000001.FlowStakingCollection",
-    "A.0000000000000001.LockedTokens",
-    "I.Test",
-    "A.0000000000000001.EVM",
-    "A.0000000000000001.FlowEpoch",
+    "I.Crypto",
+    "s.7465737400000000000000000000000000000000000000000000000000000000",
+    "I.BlockchainHelpers",
+    "A.0000000000000001.MetadataViews",
+    "A.0000000000000001.FlowServiceAccount",
+    "A.0000000000000001.ViewResolver",
     "A.0000000000000001.RandomBeaconHistory",
-    "A.0000000000000003.FlowToken",
-    "A.0000000000000001.NonFungibleToken",
-    "I.Crypto"
+    "A.0000000000000001.EVM",
+    "A.0000000000000004.FlowFees",
+    "A.0000000000000001.ExampleNFT",
+    "A.0000000000000001.FlowStorageFees"
   ]
 }
\ No newline at end of file

From 4f590467911f70bfc87c17e81a67584862fc2a79 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 26 Mar 2024 13:58:33 -0500
Subject: [PATCH 100/115] update Burner for optional resources and add tests

---
 contracts/utility/Burner.cdc               |   8 +-
 coverage.json                              | 148 ++++++++++-----------
 lib/go/contracts/internal/assets/assets.go |   6 +-
 tests/example_token_tests.cdc              |  54 +++++++-
 tests/transactions/burn_array.cdc          |  37 ++++++
 tests/transactions/burn_dict.cdc           |  37 ++++++
 tests/transactions/burn_optional.cdc       |  37 ++++++
 7 files changed, 244 insertions(+), 83 deletions(-)
 create mode 100644 tests/transactions/burn_array.cdc
 create mode 100644 tests/transactions/burn_dict.cdc
 create mode 100644 tests/transactions/burn_optional.cdc

diff --git a/contracts/utility/Burner.cdc b/contracts/utility/Burner.cdc
index 0a3795e8..66ba5f2c 100644
--- a/contracts/utility/Burner.cdc
+++ b/contracts/utility/Burner.cdc
@@ -20,7 +20,13 @@ access(all) contract Burner {
     /// burn is a global method which will destroy any resource it is given.
     /// If the provided resource implements the Burnable interface,
     /// it will call the burnCallback method and then destroy afterwards.
-    access(all) fun burn(_ r: @AnyResource) {
+    access(all) fun burn(_ toBurn: @AnyResource?) {
+        if toBurn == nil {
+            destroy toBurn
+            return
+        }
+        let r <- toBurn!
+
         if let s <- r as? @{Burnable} {
             s.burnCallback()
             destroy s
diff --git a/coverage.json b/coverage.json
index 945b90e9..d59cd0d6 100644
--- a/coverage.json
+++ b/coverage.json
@@ -2,9 +2,9 @@
   "coverage": {
     "./contracts/ExampleToken.cdc": {
       "line_hits": {
-        "101": 1,
-        "102": 1,
-        "104": 1,
+        "101": 12,
+        "102": 12,
+        "104": 12,
         "108": 1,
         "112": 5,
         "117": 0,
@@ -12,8 +12,8 @@
         "119": 0,
         "123": 0,
         "128": 0,
-        "142": 7,
-        "143": 7,
+        "142": 17,
+        "143": 17,
         "156": 6,
         "157": 6,
         "158": 6,
@@ -34,20 +34,20 @@
         "220": 4,
         "222": 4,
         "223": 4,
-        "26": 47,
+        "26": 50,
         "28": 2,
         "33": 4,
         "39": 4,
         "40": 4,
-        "51": 40,
+        "51": 43,
         "58": 3,
         "62": 0,
         "66": 1,
-        "92": 21,
-        "93": 21,
-        "94": 21,
-        "95": 21,
-        "96": 21
+        "92": 31,
+        "93": 31,
+        "94": 31,
+        "95": 31,
+        "96": 31
       },
       "missed_lines": [
         62,
@@ -63,24 +63,24 @@
     },
     "./contracts/FungibleToken.cdc": {
       "line_hits": {
-        "100": 7,
-        "148": 1,
-        "151": 1,
+        "100": 17,
+        "148": 12,
+        "151": 12,
         "153": 0,
         "163": 0,
         "164": 0,
         "168": 0,
         "174": 0,
-        "182": 8,
-        "186": 7,
-        "190": 15,
+        "182": 18,
+        "186": 17,
+        "190": 35,
         "201": 6,
         "203": 6,
         "206": 18,
         "215": 0,
         "224": 9,
         "225": 9,
-        "98": 7
+        "98": 17
       },
       "missed_lines": [
         153,
@@ -99,14 +99,14 @@
         "103": 2,
         "104": 2,
         "107": 0,
-        "145": 40,
-        "146": 40,
-        "148": 40,
-        "149": 40,
-        "150": 40,
-        "151": 40,
-        "152": 40,
-        "153": 40,
+        "145": 43,
+        "146": 43,
+        "148": 43,
+        "149": 43,
+        "150": 43,
+        "151": 43,
+        "152": 43,
+        "153": 43,
         "163": 0,
         "164": 0,
         "165": 0,
@@ -247,38 +247,33 @@
     },
     "./contracts/utility/Burner.cdc": {
       "line_hits": {
-        "24": 1,
-        "25": 1,
-        "26": 1,
-        "27": 0,
-        "28": 0,
-        "29": 0,
-        "30": 0,
-        "32": 0,
-        "33": 0,
-        "34": 0,
-        "35": 0,
-        "36": 0,
-        "37": 0,
-        "39": 0,
-        "41": 0
+        "24": 14,
+        "25": 0,
+        "26": 0,
+        "28": 14,
+        "30": 14,
+        "31": 12,
+        "32": 12,
+        "33": 2,
+        "34": 1,
+        "35": 5,
+        "36": 5,
+        "38": 1,
+        "39": 1,
+        "40": 1,
+        "41": 1,
+        "42": 5,
+        "43": 5,
+        "45": 1,
+        "47": 0
       },
       "missed_lines": [
-        27,
-        28,
-        29,
-        30,
-        32,
-        33,
-        34,
-        35,
-        36,
-        37,
-        39,
-        41
+        25,
+        26,
+        47
       ],
-      "statements": 15,
-      "percentage": "20.0%"
+      "statements": 19,
+      "percentage": "84.2%"
     },
     "./contracts/utility/MetadataViews.cdc": {
       "line_hits": {
@@ -590,30 +585,31 @@
     }
   },
   "excluded_locations": [
-    "A.0000000000000001.FlowDKG",
-    "A.0000000000000001.FlowIDTableStaking",
-    "A.0000000000000002.FungibleTokenSwitchboard",
-    "A.0000000000000003.FlowToken",
-    "A.0000000000000001.FlowEpoch",
-    "A.0000000000000001.NodeVersionBeacon",
-    "A.0000000000000001.StakingProxy",
-    "A.0000000000000002.FungibleToken",
-    "A.0000000000000001.LockedTokens",
-    "I.Test",
-    "A.0000000000000001.FlowClusterQC",
-    "A.0000000000000001.NonFungibleToken",
-    "A.0000000000000002.FungibleTokenMetadataViews",
     "A.0000000000000001.FlowStakingCollection",
-    "I.Crypto",
-    "s.7465737400000000000000000000000000000000000000000000000000000000",
+    "A.0000000000000001.ExampleNFT",
     "I.BlockchainHelpers",
-    "A.0000000000000001.MetadataViews",
-    "A.0000000000000001.FlowServiceAccount",
-    "A.0000000000000001.ViewResolver",
+    "A.0000000000000002.FungibleTokenMetadataViews",
     "A.0000000000000001.RandomBeaconHistory",
+    "A.0000000000000001.FlowEpoch",
     "A.0000000000000001.EVM",
     "A.0000000000000004.FlowFees",
-    "A.0000000000000001.ExampleNFT",
-    "A.0000000000000001.FlowStorageFees"
+    "I.Crypto",
+    "A.0000000000000001.FlowServiceAccount",
+    "A.0000000000000003.FlowToken",
+    "A.0000000000000001.FlowStorageFees",
+    "A.0000000000000001.LockedTokens",
+    "A.0000000000000001.NonFungibleToken",
+    "A.0000000000000001.FlowDKG",
+    "A.0000000000000001.FlowIDTableStaking",
+    "A.0000000000000001.Burner",
+    "A.0000000000000001.ViewResolver",
+    "I.Test",
+    "A.0000000000000002.FungibleToken",
+    "A.0000000000000001.StakingProxy",
+    "A.0000000000000002.FungibleTokenSwitchboard",
+    "A.0000000000000001.FlowClusterQC",
+    "A.0000000000000001.NodeVersionBeacon",
+    "A.0000000000000001.MetadataViews",
+    "s.7465737400000000000000000000000000000000000000000000000000000000"
   ]
 }
\ No newline at end of file
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 9f3a657b..c8aac1e1 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -4,7 +4,7 @@
 // ../../../contracts/FungibleToken.cdc (10.028kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.596kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.025kB)
-// ../../../contracts/utility/Burner.cdc (1.882kB)
+// ../../../contracts/utility/Burner.cdc (1.997kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.493kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (10.577kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.845kB)
@@ -159,7 +159,7 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityBurnerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x8e\xe3\x44\x10\xbd\xcf\x57\x3c\x6e\xc9\x68\x26\x59\xae\xd1\x02\x3b\x1b\x76\x05\x42\x80\x04\x23\x71\x40\x68\xd5\x6e\x97\xe3\x56\x3a\xd5\x51\x77\x79\x2c\x33\xca\x9f\x71\xe3\xc7\x50\xb5\xe3\x8e\x37\xcc\x48\x1c\xb0\x34\xd2\xc8\x7e\x55\xef\xd5\xab\x57\x59\xaf\xd7\x78\xdf\x45\xa6\x08\x97\x60\x60\x03\x4b\x34\x56\x20\xad\x11\x58\xc3\x68\x8c\x75\xde\x89\x11\x82\xb4\x84\x9a\x92\xc4\xce\x8a\x0b\x8c\xd0\xc0\xf0\x80\x48\x29\x74\xd1\x12\x02\xa3\xf1\xa1\x5f\xdd\xac\xd7\x6b\xfd\xc3\x56\xbb\xb9\xaa\x93\x10\x53\x7e\x71\x8f\x87\x2e\x89\x63\xfc\xe0\x1d\x13\xee\xd1\x8a\x1c\xd3\x66\xbd\x96\xde\x89\x50\x5c\xd9\x70\x58\x9b\x0c\xf9\xa4\xad\x64\x38\x97\x7d\x4b\xec\xfe\xc4\x87\xda\xb1\x75\xfb\x57\xea\x2a\xdf\x51\x72\x3b\x3e\x97\xbc\x37\x49\x9c\x61\xfc\xf8\xf7\x5f\xde\x53\x7c\xa5\x48\xba\x58\x05\x4f\x2c\x37\xc6\x5a\x4a\x69\x61\xbc\x5f\x5e\x6c\x38\x7b\xf3\x7c\x03\x00\xda\xf7\xb7\x96\x18\xdb\x48\xc9\x12\xd7\x01\x8b\xad\xa9\x89\x2d\xe1\xcb\xd5\x9b\xa5\x5a\x18\xc9\x93\x49\x54\xdf\xc1\x76\x49\xc2\xa1\x18\x16\x62\x42\xef\xbc\x47\x45\x88\x74\x08\x4f\x54\xa3\x89\xe1\x00\x6b\x6a\xb2\xb4\x2a\x0c\x4a\x69\x2a\x4f\x79\x21\x0c\xc7\x42\xb1\x31\x96\x70\x20\xc3\x02\x09\x88\x74\xf4\xfa\x42\x5a\x97\xe0\x43\x12\x34\x64\xa4\x8b\x74\x07\xe3\x7d\xe8\x1d\xef\x74\x31\x81\x49\xd1\xa6\xae\x75\xb1\xc6\xfb\xca\xd8\x7d\xa1\x39\x90\xb4\xa1\x56\x00\x71\xea\x62\xde\xee\x80\x3a\x80\x83\x8c\xa2\xc3\x80\x14\x14\xa6\xfd\xfa\xd6\xd9\x56\x25\xe9\xe7\xa2\xa4\xa2\xbb\xd2\x30\xc4\x89\xcd\x87\x9d\xb3\xa8\xd4\x06\xcd\xc4\x3c\x32\xa9\xb3\x2d\x4c\x82\xba\xbb\xd7\xbe\x9a\xa9\xd4\x1d\x8f\x7e\xc8\x71\xc2\xc7\x47\x6c\x83\xf7\x94\xe1\x53\xef\xc2\xf1\xd3\xcf\x8f\x1f\x36\x78\x6c\x35\x6b\x7e\x40\x6f\x06\xe5\x4c\x44\xa8\x88\xa9\x71\x32\x5a\x9a\x8d\x29\xc6\x95\x6a\x97\xb2\x42\xdf\x9b\x21\xa1\x4b\x63\xa0\xab\x2e\xf2\x64\x86\xe3\xb1\x74\x5a\xff\x0a\x0f\xa3\x8d\x7d\x1b\x10\x7a\xd6\x0b\x29\x69\xd7\xe3\x38\xf7\x22\xd5\x8b\xdb\x5b\x0e\x72\x7b\x5b\xe8\x24\x14\x1f\x67\x65\x99\xa0\x37\x43\x86\xcd\x33\x57\x10\x97\x8d\x97\x28\x8c\xf9\x9b\x55\x4c\x0a\x97\x68\x3a\xce\x33\x6c\xcf\x0b\x5e\x2c\x33\xf6\x74\x53\x74\xe4\x09\xf3\x75\xef\x7c\xa8\x8c\x9f\xa6\x1d\x57\x9a\x33\x59\x74\xce\xcf\xd9\x89\x56\xed\xdc\x13\xf1\x25\x9d\xdf\x37\xd9\xb5\x63\x0c\x4f\xae\xa6\x7a\x86\x3e\x1c\x3d\x1d\x88\x25\x65\xc0\x25\xc5\xd3\x34\x97\xa4\x38\x19\x59\x35\x93\x65\x07\x93\xfe\x49\x9d\xe1\x5a\xbf\xf1\x45\x5b\x23\x14\x7b\x13\xeb\xb4\xfa\x97\x77\x93\x09\x8b\x4f\x88\x1b\xbc\x7b\xe0\xe1\x97\xb3\xae\xe5\xcc\x3b\xd7\xc0\x93\x20\xe1\xed\x3d\x22\x4c\xfa\x06\xef\x9e\x27\x9d\xa7\x19\x4e\x9f\xb4\x7a\xc1\xd4\xe9\x29\xe7\x51\xde\x9e\x40\x3e\xd1\xc4\x60\x62\x9c\x71\xfc\x3e\x93\xf3\xc7\x15\x4d\xdf\x3a\x4f\x8a\x5f\x79\xe2\x9d\xb4\xf8\x1a\x6f\xae\x20\xfa\x68\x53\x27\x74\xd0\xae\x0a\x1e\x7f\x40\x3e\xba\x98\xe4\x4a\x5a\xd6\x4e\xbe\xc9\xf2\x17\x6f\xef\xb5\xea\x73\xc4\xe9\xc5\x51\x4c\x8c\xaf\x0c\x53\x3b\x2b\x73\xc7\xbe\x33\xa9\x55\xc7\x7e\xcd\x47\xbd\xc1\x6c\xba\x6b\x13\xb5\x7c\x4f\x43\xc2\x57\xb9\xcb\x4a\xff\x7f\x61\x7c\x7d\xfd\xdf\xe7\xcf\x9d\x46\x03\x16\x7b\x1a\x36\x63\xf9\x67\x8e\x2c\xbf\xf8\x5f\x3c\x51\xa6\x6b\x53\x9e\x5f\x44\xce\xbc\x3b\x5f\xdf\xe9\x9f\x00\x00\x00\xff\xff\xfd\xbf\x47\x15\x5a\x07\x00\x00"
+var _utilityBurnerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x41\x8b\xe3\x46\x13\xbd\xfb\x57\xbc\xbd\xd9\xc3\x8c\xbd\xdf\xd5\xec\x7c\xbb\xb3\xce\x2e\x09\x21\x09\x24\x03\x39\x84\xb0\xb4\x5a\x25\xab\x71\xab\xda\x74\x97\x46\x28\x8b\xff\x59\x6e\xf9\x63\xa1\x5a\x96\xac\x71\x66\x20\x87\x0c\x0c\x98\xee\x57\xf5\x5e\xbd\x7a\xad\xcd\x66\x83\x8f\x6d\x64\x8a\x70\x09\x06\x36\xb0\x44\x63\x05\x52\x1b\x81\x35\x8c\xca\x58\xe7\x9d\x18\x21\x48\x4d\x28\x29\x49\x6c\xad\xb8\xc0\x08\x15\x0c\xf7\x88\x94\x42\x1b\x2d\x21\x30\x2a\x1f\xba\xf5\x62\xb3\xd9\xe8\x3f\x76\xda\xcd\x15\xad\x84\x98\xf2\xc1\x1d\x1e\xda\x24\x8e\xf1\xbd\x77\x4c\xb8\x43\x2d\x72\x4c\xdb\xcd\x46\x3a\x27\x42\x71\x6d\x43\xb3\x31\x19\xf2\x45\x5b\x49\x7f\x2e\xfb\x86\xd8\xfd\x81\x4f\xa5\x63\xeb\x0e\xaf\xd4\x15\xbe\xa5\xe4\xf6\x7c\x2e\xf9\x68\x92\x38\xc3\xf8\xe1\xaf\x3f\xbd\xa7\xf8\x4a\x91\xb4\xb1\x08\x9e\x58\x16\xc6\x5a\x4a\x69\x69\xbc\x5f\x5d\x6c\x38\x7b\xf3\x75\x01\x00\xda\xf7\xd7\x9a\x18\xbb\x48\xc9\x12\x97\x01\xcb\x9d\x29\x89\x2d\xe1\x7f\xeb\xb7\x2b\xb5\x30\x92\x27\x93\xa8\xbc\x85\x6d\x93\x84\x66\x32\x2c\xc4\x84\xce\x79\x8f\x82\x10\xa9\x09\x4f\x54\xa2\x8a\xa1\x81\x35\x25\x59\x5a\x4f\x0c\x4a\x69\x0a\x4f\x79\x21\x0c\xc7\x42\xb1\x32\x96\xd0\x90\x61\x81\x04\x44\x3a\x7a\x3d\x90\xda\x25\xf8\x90\x04\x15\x19\x69\x23\xdd\xc2\x78\x1f\x3a\xc7\x7b\x5d\x4c\x60\x52\xb4\x29\x4b\x5d\xac\xf1\xbe\x30\xf6\x30\xd1\x34\x24\x75\x28\x15\x40\x9c\xda\x98\xb7\xdb\xa3\x0c\xe0\x20\x83\xe8\xd0\x23\x05\x85\x69\xbf\xae\x76\xb6\x56\x49\x7a\x3d\x29\x29\xe8\x76\x6a\x18\xe2\xc8\xe6\xc3\xde\x59\x14\x6a\x83\x66\x62\x1e\x99\xd4\xda\x1a\x26\x41\xdd\x3d\x68\x5f\xcd\x54\x6a\x8f\x47\xdf\xe7\x38\xe1\xf3\x23\x76\xc1\x7b\xca\xf0\xb1\xf7\xc4\xf1\xe3\x4f\x8f\x9f\xb6\x78\xac\x35\x6b\xbe\x47\x67\x7a\xe5\x4c\x44\x28\x88\xa9\x72\x32\x58\x9a\x8d\x99\x8c\x9b\xaa\x5d\xca\x0a\x7d\x67\xfa\x84\x36\x0d\x81\x2e\xda\xc8\xa3\x19\x8e\x87\xd2\x71\xfd\x6b\x3c\x0c\x36\x76\x75\x40\xe8\x58\x5f\xc8\x94\x76\x7d\x1c\xe7\x5e\xa4\x7a\x71\x73\xc3\x41\x6e\x6e\x26\x3a\x09\x93\x8f\xb3\xb2\x4c\xd0\x99\x3e\xc3\xe6\x99\x9b\x10\x97\x8d\x4f\x51\x18\xf2\x37\xab\x18\x15\xae\x50\xb5\x9c\x67\xd8\x9d\x17\xbc\x5c\x65\xec\x69\x31\xe9\xc8\x13\xe6\xd7\xbd\xf7\xa1\x30\x7e\x9c\x76\x58\x69\xce\xe4\xa4\x73\xfe\x9c\x9d\x68\xd5\xde\x3d\x11\x5f\xd2\xf9\x5d\x95\x5d\x3b\xc6\xf0\xe4\x4a\x2a\x67\xe8\xe6\xe8\xa9\x21\x96\x94\x01\x97\x14\x8f\xd3\x5c\x92\xe2\x64\x60\xd5\x4c\x4e\x3b\x18\xf5\x8f\xea\x0c\x97\x7a\xc7\x17\x6d\x95\x50\xec\x4c\x2c\xd3\xfa\x1f\xde\x8d\x26\x2c\xbf\x40\x82\x52\x6f\xf1\xe1\x81\xfb\x9f\xcf\xe2\xde\xaf\x66\x0e\xba\xea\x8c\xc1\xfd\x3d\xd8\xf9\xd9\x95\xfe\x8d\x74\x03\xe6\xd9\x55\x24\x99\x1f\x9d\xa6\x5f\x9e\x04\x11\xef\xee\xce\x45\x6f\x16\x73\x32\xbd\x4c\x7a\x19\x61\xd2\x7b\x7c\xf8\x3a\x5a\x73\xba\x62\x4e\xeb\x17\xf6\x78\x2d\x2b\x5d\xe8\x41\x3e\xd1\xc8\x60\x62\x9c\x71\xfc\x36\x1b\xfe\xf7\x2b\x9a\xae\x76\x9e\x14\xbf\xf6\xc4\x7b\xa9\xf1\x7f\xbc\xbd\x82\x8c\x33\x39\xa1\x46\xbb\x2a\x78\xf8\x66\x7d\x76\x31\xc9\x95\xb4\xac\x9d\x7c\x95\xe5\x2f\xdf\xdd\x69\xd5\x73\xc4\xe9\xc5\x51\x4c\x8c\xaf\x0c\x53\x3a\x2b\x73\xc7\xbe\x35\xa9\x56\xc7\x7e\xc9\xdf\x91\x2d\x66\xd3\x5d\x9b\xa8\xe5\x07\xea\x13\xee\x73\x97\xb5\xfe\x7e\x61\x7c\x3d\xfe\xf7\xf3\xe7\x4e\x83\x01\xcb\x03\xf5\xdb\xa1\xfc\x99\x23\xab\x37\xff\x89\x27\xca\x74\x6d\xca\xcb\xf9\x8c\x57\x39\x3c\x2d\x4e\x7f\x07\x00\x00\xff\xff\x5f\x32\xec\xc3\xcd\x07\x00\x00"
 
 func utilityBurnerCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -175,7 +175,7 @@ func utilityBurnerCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/Burner.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9f, 0x84, 0xf0, 0xc, 0x8d, 0x2a, 0xfd, 0x70, 0x91, 0x65, 0x14, 0xe5, 0x6f, 0x94, 0x59, 0xef, 0x7f, 0x42, 0x6b, 0x70, 0xa7, 0x44, 0xd, 0xd1, 0xb6, 0x4f, 0x27, 0x23, 0xff, 0x77, 0x9c, 0xe7}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0xaf, 0x18, 0xe2, 0x27, 0x98, 0x4c, 0xd4, 0x34, 0xa3, 0xad, 0x0, 0xbb, 0x2f, 0x36, 0x18, 0xb7, 0x64, 0x82, 0x84, 0x2b, 0xae, 0x92, 0xe, 0xe5, 0x56, 0x62, 0xc3, 0x7c, 0x8b, 0xf3, 0x31}}
 	return a, nil
 }
 
diff --git a/tests/example_token_tests.cdc b/tests/example_token_tests.cdc
index 065eb23d..3f55f57a 100644
--- a/tests/example_token_tests.cdc
+++ b/tests/example_token_tests.cdc
@@ -157,7 +157,7 @@ fun testTransferTokenAmountGreaterThanBalance() {
 
 access(all)
 fun testBurnTokens() {
-    let txResult = executeTransaction(
+    var txResult = executeTransaction(
         "../transactions/burn_tokens.cdc",
         [50.0],
         admin
@@ -172,15 +172,63 @@ fun testBurnTokens() {
     Test.assertEqual(50.0, tokensBurnedEvent.amount)
     Test.assertEqual("A.0000000000000007.ExampleToken.Vault", tokensBurnedEvent.type)
 
-    let scriptResult = executeScript(
+    var scriptResult = executeScript(
         "../transactions/scripts/get_balance.cdc",
         [admin.address]
     )
     Test.expect(scriptResult, Test.beSucceeded())
 
     // The admin should now have the initial supply of 1000.0 tokens
-    let balance = scriptResult.returnValue! as! UFix64
+    var balance = scriptResult.returnValue! as! UFix64
     Test.assertEqual(1000.0, balance)
+
+    txResult = executeTransaction(
+        "transactions/burn_array.cdc",
+        [10.0, 5],
+        admin
+    )
+    Test.expect(txResult, Test.beSucceeded())
+
+    scriptResult = executeScript(
+        "../transactions/scripts/get_supply.cdc",
+        []
+    )
+    Test.expect(scriptResult, Test.beSucceeded())
+
+    var totalSupply = scriptResult.returnValue! as! UFix64
+    Test.assertEqual(1150.0, totalSupply)
+
+        txResult = executeTransaction(
+        "transactions/burn_dict.cdc",
+        [10.0, 5],
+        admin
+    )
+    Test.expect(txResult, Test.beSucceeded())
+
+    scriptResult = executeScript(
+        "../transactions/scripts/get_supply.cdc",
+        []
+    )
+    Test.expect(scriptResult, Test.beSucceeded())
+
+    totalSupply = scriptResult.returnValue! as! UFix64
+    Test.assertEqual(1100.0, totalSupply)
+
+    txResult = executeTransaction(
+        "transactions/burn_optional.cdc",
+        [],
+        admin
+    )
+    Test.expect(txResult, Test.beSucceeded())
+
+    scriptResult = executeScript(
+        "../transactions/scripts/get_supply.cdc",
+        []
+    )
+    Test.expect(scriptResult, Test.beSucceeded())
+
+    totalSupply = scriptResult.returnValue! as! UFix64
+    Test.assertEqual(200.0, totalSupply)
 }
 
 access(all)
diff --git a/tests/transactions/burn_array.cdc b/tests/transactions/burn_array.cdc
new file mode 100644
index 00000000..115ec4bf
--- /dev/null
+++ b/tests/transactions/burn_array.cdc
@@ -0,0 +1,37 @@
+import "FungibleToken"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
+import "Burner"
+
+/// This transaction is for testing burning an array of Vaults
+///
+transaction(amountPerIndex: UFix64, numIndicies: Int) {
+
+    /// Vault resource that holds the tokens that are being burned
+    let burnVaults: @[ExampleToken.Vault]
+
+    prepare(signer: auth(BorrowValue) &Account) {
+
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+            ?? panic("Could not get vault data view for the contract")
+
+        // Withdraw tokens from the signer's vault in storage
+        let sourceVault = signer.storage.borrow<auth(FungibleToken.Withdraw) &ExampleToken.Vault>(
+                from: vaultData.storagePath
+            ) ?? panic("Could not borrow a reference to the signer's ExampleToken vault")
+        
+        self.burnVaults <- []
+        var i = 0
+        while i < numIndicies {
+            let vault <- sourceVault.withdraw(amount: amountPerIndex) as! @ExampleToken.Vault
+            self.burnVaults.append(<-vault)
+            i = i + 1
+        }
+    }
+
+    execute {
+
+        Burner.burn(<-self.burnVaults)
+
+    }
+}
diff --git a/tests/transactions/burn_dict.cdc b/tests/transactions/burn_dict.cdc
new file mode 100644
index 00000000..186afab6
--- /dev/null
+++ b/tests/transactions/burn_dict.cdc
@@ -0,0 +1,37 @@
+import "FungibleToken"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
+import "Burner"
+
+/// This transaction is for testing burning a dictionary of Vaults
+///
+transaction(amountPerIndex: UFix64, numIndicies: Int) {
+
+    /// Vault resource that holds the tokens that are being burned
+    let burnVaults: @{Int: ExampleToken.Vault}
+
+    prepare(signer: auth(BorrowValue) &Account) {
+
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+            ?? panic("Could not get vault data view for the contract")
+
+        // Withdraw tokens from the signer's vault in storage
+        let sourceVault = signer.storage.borrow<auth(FungibleToken.Withdraw) &ExampleToken.Vault>(
+                from: vaultData.storagePath
+            ) ?? panic("Could not borrow a reference to the signer's ExampleToken vault")
+        
+        self.burnVaults <- {}
+        var i = 0
+        while i < numIndicies {
+            let vault <- sourceVault.withdraw(amount: amountPerIndex) as! @ExampleToken.Vault
+            self.burnVaults[i] <-! vault
+            i = i + 1
+        }
+    }
+
+    execute {
+
+        Burner.burn(<-self.burnVaults)
+
+    }
+}
diff --git a/tests/transactions/burn_optional.cdc b/tests/transactions/burn_optional.cdc
new file mode 100644
index 00000000..08507f76
--- /dev/null
+++ b/tests/transactions/burn_optional.cdc
@@ -0,0 +1,37 @@
+import "FungibleToken"
+import "ExampleToken"
+import "FungibleTokenMetadataViews"
+import "Burner"
+
+/// This transaction is a template for a transaction that could be used by an account
+/// to load a vault from storage and burn the whole vault
+///
+/// It is meant for testing purposes to burn an optional vault with the burner contract
+///
+transaction {
+
+    /// The total supply of tokens before the burn
+    let supplyBefore: UFix64
+
+    /// Vault resource that holds the tokens that are being burned
+    let burnVault: @AnyResource
+
+    prepare(signer: auth(Storage) &Account) {
+
+        self.supplyBefore = ExampleToken.totalSupply
+
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
+            ?? panic("Could not get vault data view for the contract")
+
+        // Withdraw tokens from the signer's vault in storage
+        self.burnVault <- signer.storage.load<@AnyResource>(
+                from: vaultData.storagePath
+        )
+    }
+
+    execute {
+
+        Burner.burn(<-self.burnVault)
+
+    }
+}

From 8453adb4c1c973f4fd1d11e29f553fa6381d562f Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 26 Mar 2024 14:52:10 -0500
Subject: [PATCH 101/115] revove coverage file

---
 coverage.json | 615 --------------------------------------------------
 1 file changed, 615 deletions(-)
 delete mode 100644 coverage.json

diff --git a/coverage.json b/coverage.json
deleted file mode 100644
index d59cd0d6..00000000
--- a/coverage.json
+++ /dev/null
@@ -1,615 +0,0 @@
-{
-  "coverage": {
-    "./contracts/ExampleToken.cdc": {
-      "line_hits": {
-        "101": 12,
-        "102": 12,
-        "104": 12,
-        "108": 1,
-        "112": 5,
-        "117": 0,
-        "118": 0,
-        "119": 0,
-        "123": 0,
-        "128": 0,
-        "142": 17,
-        "143": 17,
-        "156": 6,
-        "157": 6,
-        "158": 6,
-        "159": 6,
-        "17": 1,
-        "170": 0,
-        "185": 1,
-        "186": 1,
-        "187": 1,
-        "199": 9,
-        "203": 4,
-        "205": 4,
-        "209": 4,
-        "215": 4,
-        "216": 4,
-        "217": 4,
-        "218": 4,
-        "220": 4,
-        "222": 4,
-        "223": 4,
-        "26": 50,
-        "28": 2,
-        "33": 4,
-        "39": 4,
-        "40": 4,
-        "51": 43,
-        "58": 3,
-        "62": 0,
-        "66": 1,
-        "92": 31,
-        "93": 31,
-        "94": 31,
-        "95": 31,
-        "96": 31
-      },
-      "missed_lines": [
-        62,
-        117,
-        118,
-        119,
-        123,
-        128,
-        170
-      ],
-      "statements": 46,
-      "percentage": "84.8%"
-    },
-    "./contracts/FungibleToken.cdc": {
-      "line_hits": {
-        "100": 17,
-        "148": 12,
-        "151": 12,
-        "153": 0,
-        "163": 0,
-        "164": 0,
-        "168": 0,
-        "174": 0,
-        "182": 18,
-        "186": 17,
-        "190": 35,
-        "201": 6,
-        "203": 6,
-        "206": 18,
-        "215": 0,
-        "224": 9,
-        "225": 9,
-        "98": 17
-      },
-      "missed_lines": [
-        153,
-        163,
-        164,
-        168,
-        174,
-        215
-      ],
-      "statements": 18,
-      "percentage": "66.7%"
-    },
-    "./contracts/FungibleTokenMetadataViews.cdc": {
-      "line_hits": {
-        "102": 2,
-        "103": 2,
-        "104": 2,
-        "107": 0,
-        "145": 43,
-        "146": 43,
-        "148": 43,
-        "149": 43,
-        "150": 43,
-        "151": 43,
-        "152": 43,
-        "153": 43,
-        "163": 0,
-        "164": 0,
-        "165": 0,
-        "168": 0,
-        "176": 0,
-        "27": 2,
-        "28": 2,
-        "38": 2,
-        "39": 2,
-        "40": 2,
-        "42": 0,
-        "87": 5,
-        "88": 5,
-        "89": 5,
-        "90": 5,
-        "91": 5,
-        "92": 5
-      },
-      "missed_lines": [
-        42,
-        107,
-        163,
-        164,
-        165,
-        168,
-        176
-      ],
-      "statements": 29,
-      "percentage": "75.9%"
-    },
-    "./contracts/FungibleTokenSwitchboard.cdc": {
-      "line_hits": {
-        "102": 0,
-        "104": 0,
-        "107": 0,
-        "110": 0,
-        "138": 0,
-        "140": 0,
-        "143": 0,
-        "164": 1,
-        "167": 1,
-        "168": 1,
-        "172": 1,
-        "174": 1,
-        "176": 1,
-        "195": 1,
-        "198": 1,
-        "201": 1,
-        "215": 4,
-        "219": 3,
-        "222": 3,
-        "239": 0,
-        "242": 0,
-        "244": 0,
-        "248": 0,
-        "249": 0,
-        "254": 0,
-        "256": 0,
-        "257": 0,
-        "266": 1,
-        "267": 0,
-        "270": 1,
-        "282": 1,
-        "283": 0,
-        "286": 1,
-        "297": 0,
-        "298": 0,
-        "299": 0,
-        "300": 0,
-        "303": 0,
-        "314": 0,
-        "316": 0,
-        "317": 0,
-        "319": 0,
-        "322": 0,
-        "330": 4,
-        "331": 4,
-        "332": 2,
-        "333": 2,
-        "336": 4,
-        "342": 0,
-        "343": 0,
-        "344": 0,
-        "345": 0,
-        "350": 1,
-        "359": 1,
-        "363": 1,
-        "364": 1,
-        "365": 1,
-        "68": 1,
-        "71": 1,
-        "74": 1,
-        "77": 1,
-        "82": 0,
-        "94": 0,
-        "97": 0,
-        "98": 0
-      },
-      "missed_lines": [
-        82,
-        94,
-        97,
-        98,
-        102,
-        104,
-        107,
-        110,
-        138,
-        140,
-        143,
-        239,
-        242,
-        244,
-        248,
-        249,
-        254,
-        256,
-        257,
-        267,
-        283,
-        297,
-        298,
-        299,
-        300,
-        303,
-        314,
-        316,
-        317,
-        319,
-        322,
-        342,
-        343,
-        344,
-        345
-      ],
-      "statements": 65,
-      "percentage": "46.2%"
-    },
-    "./contracts/utility/Burner.cdc": {
-      "line_hits": {
-        "24": 14,
-        "25": 0,
-        "26": 0,
-        "28": 14,
-        "30": 14,
-        "31": 12,
-        "32": 12,
-        "33": 2,
-        "34": 1,
-        "35": 5,
-        "36": 5,
-        "38": 1,
-        "39": 1,
-        "40": 1,
-        "41": 1,
-        "42": 5,
-        "43": 5,
-        "45": 1,
-        "47": 0
-      },
-      "missed_lines": [
-        25,
-        26,
-        47
-      ],
-      "statements": 19,
-      "percentage": "84.2%"
-    },
-    "./contracts/utility/MetadataViews.cdc": {
-      "line_hits": {
-        "111": 0,
-        "112": 0,
-        "121": 0,
-        "122": 0,
-        "125": 0,
-        "143": 5,
-        "144": 5,
-        "156": 5,
-        "166": 0,
-        "167": 0,
-        "168": 0,
-        "171": 0,
-        "181": 0,
-        "191": 0,
-        "192": 0,
-        "193": 0,
-        "196": 0,
-        "208": 10,
-        "218": 0,
-        "219": 0,
-        "220": 0,
-        "223": 0,
-        "257": 0,
-        "259": 0,
-        "260": 0,
-        "261": 0,
-        "276": 0,
-        "277": 0,
-        "278": 0,
-        "280": 0,
-        "282": 0,
-        "290": 0,
-        "300": 0,
-        "301": 0,
-        "302": 0,
-        "305": 0,
-        "315": 0,
-        "340": 0,
-        "341": 0,
-        "342": 0,
-        "343": 0,
-        "354": 0,
-        "362": 0,
-        "372": 0,
-        "373": 0,
-        "374": 0,
-        "377": 0,
-        "392": 0,
-        "393": 0,
-        "394": 0,
-        "398": 0,
-        "399": 0,
-        "400": 0,
-        "401": 0,
-        "404": 0,
-        "432": 0,
-        "433": 0,
-        "435": 0,
-        "436": 0,
-        "437": 0,
-        "450": 0,
-        "460": 0,
-        "461": 0,
-        "462": 0,
-        "465": 0,
-        "478": 0,
-        "48": 0,
-        "488": 0,
-        "489": 0,
-        "49": 0,
-        "490": 0,
-        "493": 0,
-        "50": 0,
-        "513": 0,
-        "514": 0,
-        "517": 0,
-        "518": 0,
-        "519": 0,
-        "529": 0,
-        "530": 0,
-        "531": 0,
-        "534": 0,
-        "561": 0,
-        "562": 0,
-        "563": 0,
-        "564": 0,
-        "565": 0,
-        "566": 0,
-        "567": 0,
-        "568": 0,
-        "579": 0,
-        "580": 0,
-        "581": 0,
-        "584": 0,
-        "60": 0,
-        "61": 0,
-        "62": 0,
-        "627": 0,
-        "629": 0,
-        "630": 0,
-        "631": 0,
-        "632": 0,
-        "633": 0,
-        "643": 0,
-        "644": 0,
-        "645": 0,
-        "648": 0,
-        "65": 0,
-        "683": 0,
-        "684": 0,
-        "685": 0,
-        "686": 0,
-        "687": 0,
-        "688": 0,
-        "699": 0,
-        "700": 0,
-        "701": 0,
-        "704": 0,
-        "81": 5,
-        "85": 3
-      },
-      "missed_lines": [
-        48,
-        49,
-        50,
-        60,
-        61,
-        62,
-        65,
-        111,
-        112,
-        121,
-        122,
-        125,
-        166,
-        167,
-        168,
-        171,
-        181,
-        191,
-        192,
-        193,
-        196,
-        218,
-        219,
-        220,
-        223,
-        257,
-        259,
-        260,
-        261,
-        276,
-        277,
-        278,
-        280,
-        282,
-        290,
-        300,
-        301,
-        302,
-        305,
-        315,
-        340,
-        341,
-        342,
-        343,
-        354,
-        362,
-        372,
-        373,
-        374,
-        377,
-        392,
-        393,
-        394,
-        398,
-        399,
-        400,
-        401,
-        404,
-        432,
-        433,
-        435,
-        436,
-        437,
-        450,
-        460,
-        461,
-        462,
-        465,
-        478,
-        488,
-        489,
-        490,
-        493,
-        513,
-        514,
-        517,
-        518,
-        519,
-        529,
-        530,
-        531,
-        534,
-        561,
-        562,
-        563,
-        564,
-        565,
-        566,
-        567,
-        568,
-        579,
-        580,
-        581,
-        584,
-        627,
-        629,
-        630,
-        631,
-        632,
-        633,
-        643,
-        644,
-        645,
-        648,
-        683,
-        684,
-        685,
-        686,
-        687,
-        688,
-        699,
-        700,
-        701,
-        704
-      ],
-      "statements": 120,
-      "percentage": "5.0%"
-    },
-    "./contracts/utility/PrivateReceiverForwarder.cdc": {
-      "line_hits": {
-        "35": 1,
-        "37": 1,
-        "39": 1,
-        "41": 1,
-        "43": 1,
-        "48": 2,
-        "50": 2,
-        "57": 2,
-        "64": 1,
-        "66": 1,
-        "70": 1,
-        "77": 1,
-        "79": 1,
-        "80": 1,
-        "82": 1
-      },
-      "missed_lines": [],
-      "statements": 15,
-      "percentage": "100.0%"
-    },
-    "./contracts/utility/TokenForwarding.cdc": {
-      "line_hits": {
-        "105": 0,
-        "106": 0,
-        "107": 0,
-        "108": 0,
-        "113": 1,
-        "115": 1,
-        "122": 1,
-        "52": 1,
-        "54": 1,
-        "56": 1,
-        "58": 1,
-        "60": 1,
-        "66": 0,
-        "76": 0,
-        "83": 0,
-        "85": 0,
-        "93": 0,
-        "94": 0,
-        "96": 0,
-        "97": 0,
-        "98": 0,
-        "99": 0
-      },
-      "missed_lines": [
-        66,
-        76,
-        83,
-        85,
-        93,
-        94,
-        96,
-        97,
-        98,
-        99,
-        105,
-        106,
-        107,
-        108
-      ],
-      "statements": 22,
-      "percentage": "36.4%"
-    }
-  },
-  "excluded_locations": [
-    "A.0000000000000001.FlowStakingCollection",
-    "A.0000000000000001.ExampleNFT",
-    "I.BlockchainHelpers",
-    "A.0000000000000002.FungibleTokenMetadataViews",
-    "A.0000000000000001.RandomBeaconHistory",
-    "A.0000000000000001.FlowEpoch",
-    "A.0000000000000001.EVM",
-    "A.0000000000000004.FlowFees",
-    "I.Crypto",
-    "A.0000000000000001.FlowServiceAccount",
-    "A.0000000000000003.FlowToken",
-    "A.0000000000000001.FlowStorageFees",
-    "A.0000000000000001.LockedTokens",
-    "A.0000000000000001.NonFungibleToken",
-    "A.0000000000000001.FlowDKG",
-    "A.0000000000000001.FlowIDTableStaking",
-    "A.0000000000000001.Burner",
-    "A.0000000000000001.ViewResolver",
-    "I.Test",
-    "A.0000000000000002.FungibleToken",
-    "A.0000000000000001.StakingProxy",
-    "A.0000000000000002.FungibleTokenSwitchboard",
-    "A.0000000000000001.FlowClusterQC",
-    "A.0000000000000001.NodeVersionBeacon",
-    "A.0000000000000001.MetadataViews",
-    "s.7465737400000000000000000000000000000000000000000000000000000000"
-  ]
-}
\ No newline at end of file

From bd133114f87a8917a4db112e9bbef96dba88a44c Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 27 Mar 2024 11:23:34 -0500
Subject: [PATCH 102/115] fix imports for standard transactions

---
 lib/go/templates/internal/assets/assets.go     |  6 +++---
 lib/go/templates/transaction_templates.go      | 10 +++++-----
 transactions/generic_transfer_with_address.cdc |  2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index e061a4c0..fa2df4f8 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -2,7 +2,7 @@
 // sources:
 // burn_tokens.cdc (1.637kB)
 // create_forwarder.cdc (2.94kB)
-// generic_transfer_with_address.cdc (2.083kB)
+// generic_transfer_with_address.cdc (2.051kB)
 // generic_transfer_with_paths.cdc (1.678kB)
 // metadata/setup_account_from_address.cdc (1.857kB)
 // metadata/setup_account_from_vault_reference.cdc (1.84kB)
@@ -148,7 +148,7 @@ func create_forwarderCdc() (*asset, error) {
 	return a, nil
 }
 
-var _generic_transfer_with_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x6f\xdb\x46\x10\x3d\x5b\xbf\xe2\x59\x87\x84\x04\x1c\xfa\x52\xf4\x20\x38\x76\x5d\x17\xee\xa9\x45\x90\x2a\xee\x79\x44\x8e\xc4\x85\xa9\x5d\x62\x77\x28\xc5\x30\xf4\xdf\x8b\xfd\xe0\x56\x54\x6c\xc7\x3e\x58\xd2\x70\xe7\xcd\xcc\x7b\x6f\x96\x6a\xdb\x1b\x2b\x98\xdf\x0f\x7a\xa3\x56\x1d\x2f\xcd\x23\xeb\xf9\x2c\x85\x27\xd1\xbf\x58\xa8\x21\xa1\x07\xc5\x7b\x87\xb5\x35\xdb\x93\xb4\xc9\x81\xf9\x6c\x76\x79\x79\x89\x3b\xd2\xe8\xc9\x39\x28\x0d\xd2\x4f\xa8\x8d\x16\x4b\xb5\x80\x9a\xc6\xb2\x73\x20\xdd\x40\xd3\x96\x21\x06\x62\x49\xbb\x35\x5b\x10\xc4\x03\xc6\x22\xd2\x92\xe4\xbc\x00\xba\x6c\x95\x43\xc7\xe2\xf0\x64\x06\xd4\xad\x31\x8e\x21\x2d\xa7\x2c\x1f\xdc\x93\x16\x0f\xe9\x58\x37\x3e\x27\xe4\xdd\x1e\x37\x50\x93\xc6\x8a\x7d\xb6\x63\x8d\x96\x2d\x5f\xc0\x19\xec\xa9\x0b\xc8\xae\x35\x43\xd7\xa0\x6e\xb9\x7e\x04\xd9\xcd\xb0\x65\x2d\xd8\x51\x37\xb0\x0b\x60\x62\xb0\xa5\x47\x86\x1b\x6c\x2c\xae\xb4\xb0\x6e\xb8\x49\x5d\xf4\x24\x2d\x94\x0b\xd3\x73\x03\xa5\x43\x1b\x61\x44\xaa\x45\x19\x5d\xd0\xd6\x0c\x5a\x16\xf8\x76\xaf\xbe\xff\xfa\xcb\x05\xc4\x2c\x70\x1b\x69\xb9\xc8\x7d\xa6\xc0\x0b\x4f\xfe\xa6\x2d\x2f\xf0\x8f\x58\xa5\x37\x25\x9e\x67\x33\x00\x08\xec\x30\x1e\x68\xe8\x04\x96\x9d\x19\x6c\xcd\x91\xc2\xd6\x74\x8d\xfb\x9f\x26\x17\xa3\x64\x19\x2b\x56\x7a\x93\xd9\xb7\xdc\x04\xa8\x8e\x05\xc2\xdb\x3e\x60\x2d\xf0\xdb\xf3\x44\xec\x2a\x84\x0f\xb9\xea\xfd\x32\x04\xfe\x20\x21\x38\xb1\x43\x1d\xe8\xdf\xb0\x04\x22\xa2\x5f\x32\xec\x6e\x3c\xba\x78\xc3\x62\xd5\x11\x64\x2c\xd3\x5b\xee\xc9\x72\xe1\xd4\x46\xb3\x5d\x80\x06\x69\x8b\xdf\x8d\xb5\x66\xff\xe0\x85\x29\xf1\xe1\xb6\xae\x3d\xa9\x99\x8f\xd4\x5d\x3c\x04\x82\xe5\x35\x5b\xd6\x75\xf4\x5b\xcb\xb1\x15\x38\x31\x96\x1b\x18\x1d\x62\x49\x32\x8a\x58\x20\x39\x8e\xf6\xc3\xaa\x53\xf5\x17\x92\x36\x17\xf0\x23\x79\xae\xbb\x1d\xdb\xaf\xbc\xc6\x67\x3f\x77\xea\xa4\x38\x11\xb2\xcc\x59\xfe\xaf\x1a\x9f\xba\x6a\x15\x5a\xbc\xfa\x30\xa5\xf9\x70\x5d\xe8\xa0\xf3\xb1\xea\x53\x8c\x9b\x1b\xf4\xa4\x55\x5d\xcc\xef\x82\x65\xb5\x11\xac\x5e\x9d\x77\x9d\xd0\x93\x4b\x47\xd8\x79\x39\xe1\xeb\x9b\x4b\xa6\x99\xe4\x5b\x16\xab\x78\x17\xed\x7e\xbf\xf4\x2a\x21\x67\x39\xee\xd6\x55\x16\x16\x9f\x8f\x19\xa9\xd2\xf7\xbb\x54\xcd\x67\x16\xa3\x3b\x97\x4f\x3d\x2f\xa0\x55\x77\x81\x9d\xe2\x7d\xfc\xe9\xff\x5f\xbd\xcf\x1b\xd7\x45\x59\x82\xdc\xf9\x3b\xad\x74\xf3\x53\xf2\x52\xb3\xe3\x94\x79\x24\xdf\x1d\xd6\xc6\x86\x07\x1b\xb5\x63\x9d\x4b\xbe\xcd\xe6\x9f\x2c\x2f\x49\x11\x6d\xfc\xd1\x8d\xee\x0b\xe4\x4d\x4c\x15\x22\xd1\x51\xf1\x70\xe5\x8f\xd2\x86\x47\xb7\x84\x0d\x98\xee\xe5\xbf\x4a\xda\xc6\xd2\xbe\xc4\x89\x95\xaa\x2f\xd6\xec\x54\xc3\xf6\x70\x5d\xf8\x6d\x5c\x9c\x48\x36\x62\x7b\x6b\x97\xb3\xb3\xb3\xb3\x37\x8c\xf5\xc3\x2c\x66\x1f\x47\x09\x6c\x9d\x1f\xcf\x1f\x8a\xe4\x7b\x04\x57\x9f\xf2\x54\xd5\x3e\xb5\x9a\x6f\xc2\xf8\x19\xed\x9d\xae\x16\xfe\xce\xf5\x20\x8c\xe7\x93\x6d\xab\x55\xaf\xfc\x8d\x3c\xd9\x35\x31\xe5\xe9\x31\x56\x79\x29\x73\x52\x55\x53\x4f\x2b\xd5\x29\x51\xfc\xda\xe2\x55\x5f\x53\xee\xe1\xba\x38\xe1\x69\x44\x8d\x44\xbd\x73\x15\x7f\x60\x2c\x77\xf3\xd1\x61\xac\x75\x7e\x62\x9c\xe5\xf8\x42\x4c\x37\x76\x7a\x1f\xbe\x62\x9d\x23\xe4\x80\x86\x3c\xe6\x53\x06\x3d\x62\xa4\x6a\xb8\x37\x4e\x49\x32\xc3\xd5\xa7\xa9\x52\xa3\x0a\x87\xff\x02\x00\x00\xff\xff\x2b\x19\x34\xc7\x23\x08\x00\x00"
+var _generic_transfer_with_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x6f\xdb\x46\x10\x3d\x5b\xbf\xe2\x59\x87\x84\x04\x1c\xfa\x52\xf4\x20\x38\x76\x5d\x17\xee\xa9\x45\x90\x2a\xee\x79\x44\x8e\xc4\x85\xa9\x5d\x62\x77\x28\xc5\x30\xf4\xdf\x8b\xfd\xe0\x56\x54\x6c\xc7\x3e\x58\xd2\x70\xe7\xcd\xcc\x7b\x6f\x96\x6a\xdb\x1b\x2b\x98\xdf\x0f\x7a\xa3\x56\x1d\x2f\xcd\x23\xeb\xf9\xec\xc5\xf0\x5f\x2c\xd4\x90\xd0\x83\xe2\xbd\x9b\xcf\x66\x97\x97\x97\xb8\x23\x8d\x9e\x9c\x83\xd2\x20\xfd\x84\xda\x68\xb1\x54\x0b\xa8\x69\x2c\x3b\x07\xd2\x0d\x34\x6d\x19\x62\x20\x96\xb4\x5b\xb3\x05\x41\x3c\x20\xd6\xd6\x6c\x21\x2d\x49\xce\x0b\xa0\xcb\x56\x39\x74\x2c\x0e\x4f\x66\x40\xdd\x1a\xe3\x18\xd2\x72\xca\xf2\xc1\x3d\x69\xf1\x90\x8e\x75\xe3\x73\x42\xde\xed\x71\x03\x35\x69\xac\xd8\x67\x3b\xd6\x68\xd9\xf2\x05\x9c\xc1\x9e\xba\x80\xec\x5a\x33\x74\x0d\xea\x96\xeb\x47\x90\xdd\x0c\x5b\xd6\x82\x1d\x75\x03\xbb\x00\x26\x06\x5b\x7a\x64\xb8\xc1\xc6\xe2\x4a\x0b\xeb\x86\x9b\xd4\x45\x4f\xd2\x42\xb9\x30\x3d\x37\x50\x3a\xb4\x11\x46\xa4\x5a\x94\xd1\x05\x6d\xcd\xa0\x65\x81\x6f\xf7\xea\xfb\xaf\xbf\x5c\x40\xcc\x02\xb7\x91\x96\x8b\xdc\x67\x0a\xbc\xf0\xe4\x6f\xda\xf2\x02\xff\x88\x55\x7a\x53\xe2\x79\x36\x03\x80\xc0\x0e\xe3\x81\x86\x4e\x60\xd9\x99\xc1\xd6\x1c\x29\x6c\x4d\xd7\xb8\xff\x69\x72\x31\x4a\x96\xb1\x62\xa5\x37\x99\x7d\xcb\x4d\x80\xea\x58\x20\xbc\xed\x03\xd6\x02\xbf\x3d\x4f\xc4\xae\x42\xf8\x90\xab\xde\x2f\x43\xe0\x0f\x12\x82\x13\x3b\xd4\x81\xfe\x0d\x4b\x20\xc2\x05\x29\x33\xec\x6e\x3c\xba\xc0\xeb\x0e\xaa\x8e\x20\x63\x99\xde\x72\x4f\x96\x0b\xa7\x36\x9a\xed\x02\x34\x48\x5b\xfc\x6e\xac\x35\xfb\x07\x2f\x4c\x89\x0f\xb7\x75\xed\x49\xcd\x7c\xa4\xee\xe2\x21\x10\x2c\xaf\xd9\xb2\xae\xa3\xdf\x5a\x8e\xad\xc0\x89\xb1\xdc\xc0\xe8\x10\x4b\x92\x51\xc4\x02\xc9\x71\xb4\x1f\x56\x9d\xaa\xbf\x90\xb4\xb9\x80\x1f\xc9\x73\xdd\xed\xd8\x7e\xe5\x35\x3e\xfb\xb9\x53\x27\xc5\x89\x90\x65\xce\xf2\x7f\xd5\xf8\xd4\x55\xab\xd0\xe2\xd5\x87\x29\xcd\x87\xeb\x42\x07\x9d\x8f\x55\x9f\x62\xdc\xdc\xa0\x27\xad\xea\x62\x7e\x17\x2c\xab\x8d\x60\xf5\xea\xbc\xeb\x84\x9e\x5c\x3a\xc2\xce\xcb\x09\x5f\xdf\x5c\x32\xcd\x24\xdf\xb2\x58\xc5\xbb\x68\xf7\xfb\xa5\x57\x09\x39\xcb\x71\xb7\xae\xb2\xb0\xf8\x7c\xcc\x48\x95\xbe\xdf\xa5\x6a\x3e\xb3\x18\xdd\xb9\x7c\xea\x79\x01\xad\xba\x0b\xec\x14\xef\xe3\x4f\xff\xff\xea\x7d\xde\xb8\x2e\xca\x12\xe4\xce\xdf\x69\xa5\x9b\x9f\x92\x97\x9a\x1d\xa7\xcc\x23\xf9\xee\xb0\x36\x36\x3c\xd8\xa8\x1d\xeb\x5c\xf2\x6d\x36\xff\x64\x79\x49\x8a\x68\xe3\x8f\x6e\x74\x5f\x20\x6f\x62\xaa\x10\x89\x8e\x8a\x87\x2b\x7f\x94\x36\x3c\xba\x25\x6c\xc0\x74\x2f\xff\x55\xd2\x36\x96\xf6\x25\x4e\xac\x54\x7d\xb1\x66\xa7\x1a\xb6\x87\xeb\xc2\x6f\xe3\xe2\x44\xb2\x11\xdb\x5b\xbb\x9c\x9d\x9d\x9d\xbd\x61\xac\x1f\x66\x31\xfb\x38\x4a\x60\xeb\xfc\x78\xfe\x50\x24\xdf\x23\xb8\xfa\x94\xa7\xaa\xf6\xa9\xd5\x7c\x13\xc6\xcf\x68\xef\x74\xb5\xf0\x77\xae\x07\x61\x3c\x9f\x6c\x5b\xad\x7a\xe5\x6f\xe4\xc9\xae\x89\x29\x4f\x8f\xb1\xca\x4b\x99\x93\xaa\x9a\x7a\x5a\xa9\x4e\x89\xe2\xd7\x16\xaf\xfa\x9a\x72\x0f\xd7\xc5\x09\x4f\x23\x6a\x24\xea\x9d\xab\xf8\x03\x63\xb9\x9b\x8f\x0e\x63\xad\xf3\x13\xe3\x2c\xc7\x17\x62\xba\xb1\xd3\xfb\xf0\x15\xeb\x1c\x21\x07\x34\xe4\x31\x9f\x32\xe8\x11\x23\x55\xc3\xbd\x71\x4a\x92\x19\xae\x3e\x4d\x95\x1a\x55\x38\xfc\x17\x00\x00\xff\xff\x17\xb8\x36\x26\x03\x08\x00\x00"
 
 func generic_transfer_with_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -164,7 +164,7 @@ func generic_transfer_with_addressCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "generic_transfer_with_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x70, 0x6a, 0x10, 0xc2, 0x53, 0x67, 0xc4, 0x96, 0x67, 0x8, 0x8a, 0x2f, 0xec, 0xe2, 0x1e, 0xfb, 0x60, 0x5d, 0xb, 0xbb, 0xa1, 0xcb, 0x7, 0x78, 0xd9, 0x9, 0xf9, 0x12, 0x3b, 0x3b, 0xe}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3f, 0xeb, 0xb4, 0xb8, 0xb2, 0x13, 0xcc, 0xe, 0xc2, 0x7b, 0xf7, 0xe5, 0xf0, 0x19, 0xab, 0x17, 0xa0, 0x4, 0x1, 0xb5, 0xb2, 0x2, 0xf0, 0x5, 0x9, 0xf1, 0x4f, 0x4d, 0x60, 0xcb, 0xe7, 0x34}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/transaction_templates.go b/lib/go/templates/transaction_templates.go
index f1f3bf10..ba72ba6b 100644
--- a/lib/go/templates/transaction_templates.go
+++ b/lib/go/templates/transaction_templates.go
@@ -44,13 +44,13 @@ func GenerateSetupAccountFromAddressScript(fungibleTokenAddr, fungibleTokenMVAdd
 	code = strings.ReplaceAll(
 		code,
 		placeholderFungibleToken,
-		withHexPrefix(fungibleTokenAddr),
+		fungibleTokenImport+withHexPrefix(fungibleTokenAddr),
 	)
 
 	code = strings.ReplaceAll(
 		code,
 		placeholderFTMetadataViews,
-		withHexPrefix(fungibleTokenMVAddr),
+		ftMetadataViewsImport+withHexPrefix(fungibleTokenMVAddr),
 	)
 
 	return []byte(code)
@@ -74,7 +74,7 @@ func GenerateTransferGenericVaultWithPathsScript(fungibleTokenAddr string) []byt
 	code = strings.ReplaceAll(
 		code,
 		placeholderFungibleToken,
-		withHexPrefix(fungibleTokenAddr),
+		fungibleTokenImport+withHexPrefix(fungibleTokenAddr),
 	)
 
 	return []byte(code)
@@ -89,13 +89,13 @@ func GenerateTransferGenericVaultWithAddressScript(fungibleTokenAddr, ftMetadata
 	code = strings.ReplaceAll(
 		code,
 		placeholderFungibleToken,
-		withHexPrefix(fungibleTokenAddr),
+		fungibleTokenImport+withHexPrefix(fungibleTokenAddr),
 	)
 
 	code = strings.ReplaceAll(
 		code,
 		placeholderFTMetadataViews,
-		withHexPrefix(ftMetadataViewsAddr),
+		ftMetadataViewsImport+withHexPrefix(ftMetadataViewsAddr),
 	)
 
 	return []byte(code)
diff --git a/transactions/generic_transfer_with_address.cdc b/transactions/generic_transfer_with_address.cdc
index 2e90e378..f98bc884 100644
--- a/transactions/generic_transfer_with_address.cdc
+++ b/transactions/generic_transfer_with_address.cdc
@@ -1,5 +1,5 @@
 import "FungibleToken"
-import FungibleTokenMetadataViews from "FungibleTokenMetadataViews"
+import "FungibleTokenMetadataViews"
 
 /// Can pass in any contract address and name to transfer a token from that contract
 /// This lets you choose the token you want to send

From 1519d106b676c13d7fcc0b49a3beb7019f587759 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 29 Mar 2024 13:59:09 -0500
Subject: [PATCH 103/115] add switchboard entitlements and tests

---
 README.md                                     |  29 +--
 contracts/ExampleToken.cdc                    |  24 ++-
 contracts/FungibleToken.cdc                   |   5 +-
 contracts/FungibleTokenSwitchboard.cdc        |  49 +++--
 flow.json                                     |  11 +-
 lib/go/contracts/internal/assets/assets.go    |  18 +-
 lib/go/templates/internal/assets/assets.go    | 167 +++++-------------
 tests/example_token_tests.cdc                 |  14 +-
 tests/scripts/get_supported_vault_types.cdc   |  14 --
 tests/switchboard_tests.cdc                   |  36 +++-
 transactions/create_forwarder.cdc             |   3 -
 .../generic_transfer_with_address.cdc         |   2 +-
 .../scripts/get_supported_vault_types.cdc     |   2 +-
 .../switchboard/check_receiver_by_type.cdc    |  10 --
 .../scripts/switchboard/get_vault_types.cdc   |  18 --
 .../tokenForwarder/is_recipient_valid.cdc     |   6 +-
 .../switchboard/add_vault_capability.cdc      |   4 +-
 .../add_vault_wrapper_capability.cdc          |  20 ++-
 .../batch_add_vault_capabilities.cdc          |  12 +-
 .../batch_add_vault_wrapper_capabilities.cdc  |   4 +-
 .../switchboard/remove_vault_capability.cdc   |   4 +-
 .../switchboard/safe_transfer_tokens.cdc      |  35 ++--
 .../switchboard/safe_transfer_tokens_v2.cdc   |  47 -----
 .../scripts}/get_vault_types_and_address.cdc  |   0
 .../switchboard/setup_royalty_account.cdc     |  85 ++++-----
 .../setup_royalty_account_by_paths.cdc        |  85 ++++-----
 26 files changed, 269 insertions(+), 435 deletions(-)
 delete mode 100644 tests/scripts/get_supported_vault_types.cdc
 delete mode 100644 transactions/scripts/switchboard/check_receiver_by_type.cdc
 delete mode 100644 transactions/scripts/switchboard/get_vault_types.cdc
 delete mode 100644 transactions/switchboard/safe_transfer_tokens_v2.cdc
 rename transactions/{scripts/switchboard => switchboard/scripts}/get_vault_types_and_address.cdc (100%)

diff --git a/README.md b/README.md
index 3b132870..61f9106f 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ There is no need to deploy them yourself.
 | Sandboxnet        | `0xe20612a0776ca4bf` |
 | Mainnet           | `0xf233dcee88fe0abe` |
 
-The `Burner` contract is also deployed to these addresses, but should not be used until after the Cadence 1.0 network upgrade.
+The `Burner` contract is also deployed to these addresses, but should only be used in Cadence 1.0 `FungibleToken` implementations of the standard.
 
 ## Basics of the Standard:
 
@@ -72,13 +72,14 @@ Specifies that the implementing type must have a `UFix64` `balance` field.
   - `access(all) var balance: UFix64`
 
 ### `Provider` Interface
-Defines a [`withdraw ` function](contracts/FungibleToken.cdc#L95) for withdrawing a specific amount of tokens *amount*.
+Defines a [`withdraw ` function](contracts/FungibleToken.cdc#L95) for withdrawing a specific amount of tokens as *amount*.
   - `access(all) fun withdraw(amount: UFix64): @{FungibleToken.Vault}`
       - Conditions
           - the returned Vault's balance must equal the amount withdrawn
           - The amount withdrawn must be less than or equal to the balance
           - The resulting balance must equal the initial balance - amount
-  - Users can give other accounts a reference to their `Vault` cast as a `Provider`
+  - Users can give other accounts a persistent Capability
+  or ephemeral reference to their `Vault` cast as a `Provider`
   to allow them to withdraw and send tokens for them. 
   A contract can define any custom logic to govern the amount of tokens
   that can be withdrawn at a time with a `Provider`. 
@@ -89,7 +90,7 @@ Defines a [`withdraw ` function](contracts/FungibleToken.cdc#L95) for withdrawin
       If the `Vault` is not in account storage when the event is emitted,
       `from` will be `nil`.
     - Contracts do not have to emit their own events,
-    the standard events will automatically be emitted.
+    the standard events will automatically be emitted from the interface contract with values identifying the relevant `Vault`.
 
 Defines [an `isAvailableToWithdraw()` function](contracts/FungibleToken.cdc#L95)
 to ask a `Provider` if the specified number of tokens can be withdrawn from the implementing type.
@@ -104,14 +105,14 @@ Defines functionality to depositing fungible tokens into a resource object.
   - It is important that if you are making your own implementation of the fungible token interface that
   you cast the input to `deposit` as the type of your token.
   `let vault <- from as! @ExampleToken.Vault`
-  The interface specifies the argument as `@FungibleToken.Vault`, any resource that satisfies this can be sent to the deposit function. The interface checks that the concrete types match, but you'll still need to cast the `Vault` before storing it.
+  The interface specifies the argument as `@{FungibleToken.Vault}`, any resource that satisfies this can be sent to the deposit function. The interface checks that the concrete types match, but you'll still need to cast the `Vault` before incrementing the receiving `Vault`'s balance.
 - deposit event
     - [`FungibleToken.Deposited` event](contracts/FungibleToken.cdc#L53) from the standard
     that indicates how much was deposited and to what account the `Vault` is stored in.
       - If the `Vault` is not in account storage when the event is emitted,
         `to` will be `nil`.
-      - This event is emitted automatically on any deposit, so projects do not need
-        to define and emit their own events.
+      - This event is emitted from the interface contract automatically on any deposit,
+        so projects do not need to define and emit their own events.
 
 Defines Functionality for Getting Supported Vault Types
 - Some resource types can accept multiple different vault types in their deposit functions,
@@ -180,8 +181,13 @@ the format to query and return them, so projects can still be flexible with how
 The [FungibleTokenMetadataViews contract](contracts/FungibleTokenMetadataViews.cdc) defines four new views that can used to communicate any fungible token information:
 
 1. `FTView`: A view that wraps the two other views that actually contain the data.
-2. `FTDisplay`: The view that contains all the information that will be needed by other dApps to display the fungible token: name, symbol, description, external URL, logos and links to social media.
-3. `FTVaultData`: The view that can be used by other dApps to interact programmatically with the fungible token, providing the information about the public and private paths used by default by the token, the public and private linked types for exposing capabilities and the function for creating new empty vaults. You can use this view to [setup an account using the vault stored in other account without the need of importing the actual token contract.](transactions/setup_account_from_vault_reference.cdc)
+2. `FTDisplay`: The view that contains all the information that will be needed
+by other dApps to display the fungible token: name, symbol, description, external URL, logos and links to social media.
+3. `FTVaultData`: The view that can be used by other dApps to interact programmatically
+with the fungible token, providing the information about the public and storage paths
+used by default by the token, the public linked types for exposing capabilities
+and the function for creating new empty vaults.
+You can use this view to [setup an account using the vault stored in other account without the need of importing the actual token contract.](transactions/setup_account_from_vault_reference.cdc)
 4. `TotalSupply`: Specifies the total supply of the given token.
 
 ### How to implement metadata
@@ -219,7 +225,8 @@ the `FungibleToken` definition to accounts yourself.
 It is a pre-deployed interface in the emulator, testnet, mainnet,
 and playground and you can import definition from those accounts:
     - `0xee82856bf20e2aa6` on emulator
-    - `0x9a0766d93b6608b7` on testnet
+    - `0xa0225e7000ac82a9 ` on previewnet
+    - `0x9a0766d93b6608b7` on testnet/crescendo
     - `0xf233dcee88fe0abe` on mainnet
 2. Deploy the `ExampleToken` definition, making sure to import the `FungibleToken` interface.
 3. You can use the `get_balance.cdc` or `get_supply.cdc` scripts to read the 
@@ -477,7 +484,7 @@ This can be observed in the template transaction `transactions/switchboard/remov
 # Running Automated Tests
 
 There are two sets of tests in the repo, Cadence tests and Go tests.
-The Cadence tests are much more straightforward nad are all written in Cadence,
+The Cadence tests are much more straightforward and are all written in Cadence,
 so we recommend following those.
 
 ## Cadence Testing Framework
diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 58b092c6..740e8ddf 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -10,7 +10,10 @@ access(all) contract ExampleToken: FungibleToken {
     /// Total supply of ExampleTokens in existence
     access(all) var totalSupply: UFix64
 
-    /// Admin Path
+    /// Storage and Public Paths
+    access(all) let VaultStoragePath: StoragePath
+    access(all) let VaultPublicPath: PublicPath
+    access(all) let ReceiverPublicPath: PublicPath
     access(all) let AdminStoragePath: StoragePath
 
     access(all) view fun getContractViews(resourceType: Type?): [Type] {
@@ -83,17 +86,9 @@ access(all) contract ExampleToken: FungibleToken {
         /// The total balance of this vault
         access(all) var balance: UFix64
 
-        access(all) var storagePath: StoragePath
-        access(all) var publicPath: PublicPath
-        access(all) var receiverPath: PublicPath
-
         // initialize the balance at resource creation time
         init(balance: UFix64) {
             self.balance = balance
-            let identifier = "exampleTokenVault"
-            self.storagePath = StoragePath(identifier: identifier)!
-            self.publicPath = PublicPath(identifier: identifier)!
-            self.receiverPath = PublicPath(identifier: "exampleTokenReceiver")!
         }
 
         /// Called when a fungible token is burned via the `Burner.burn()` method
@@ -202,6 +197,9 @@ access(all) contract ExampleToken: FungibleToken {
     init() {
         self.totalSupply = 1000.0
 
+        self.VaultStoragePath = /storage/exampleTokenVault
+        self.VaultPublicPath = /public/exampleTokenVault
+        self.ReceiverPublicPath = /public/exampleTokenReceiver
         self.AdminStoragePath = /storage/exampleTokenAdmin 
 
         // Create the Vault with the total supply of tokens and save it in storage
@@ -212,10 +210,10 @@ access(all) contract ExampleToken: FungibleToken {
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
         // and the `balance` method through the `Balance` interface
         //
-        let exampleTokenCap = self.account.capabilities.storage.issue<&ExampleToken.Vault>(vault.storagePath)
-        self.account.capabilities.publish(exampleTokenCap, at: vault.publicPath)
-        let receiverCap = self.account.capabilities.storage.issue<&ExampleToken.Vault>(vault.storagePath)
-        self.account.capabilities.publish(receiverCap, at: vault.receiverPath)
+        let exampleTokenCap = self.account.capabilities.storage.issue<&ExampleToken.Vault>(self.VaultStoragePath)
+        self.account.capabilities.publish(exampleTokenCap, at: self.VaultPublicPath)
+        let receiverCap = self.account.capabilities.storage.issue<&ExampleToken.Vault>(self.VaultStoragePath)
+        self.account.capabilities.publish(receiverCap, at: self.ReceiverPublicPath)
 
         self.account.storage.save(<-vault, to: /storage/exampleTokenVault)
 
diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 9f377cb1..8e4e9eab 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -118,7 +118,8 @@ access(all) contract interface FungibleToken: ViewResolver {
         ///
         access(all) fun deposit(from: @{Vault})
 
-        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
+        /// getSupportedVaultTypes returns a dictionary of Vault types
+        /// and whether the type is currently supported by this Receiver
         access(all) view fun getSupportedVaultTypes(): {Type: Bool}
 
         /// Returns whether or not the given type is accepted by the Receiver
@@ -153,7 +154,7 @@ access(all) contract interface FungibleToken: ViewResolver {
             self.balance = 0.0
         }
 
-        /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts
+        /// getSupportedVaultTypes returns a dictionary of vault types and whether this receiver accepts the indexed type
         /// The default implementation is included here because vaults are expected
         /// to only accepted their own type, so they have no need to provide an implementation
         /// for this function
diff --git a/contracts/FungibleTokenSwitchboard.cdc b/contracts/FungibleTokenSwitchboard.cdc
index a06e6cd3..a215b796 100644
--- a/contracts/FungibleTokenSwitchboard.cdc
+++ b/contracts/FungibleTokenSwitchboard.cdc
@@ -13,6 +13,8 @@ access(all) contract FungibleTokenSwitchboard {
     access(all) let PublicPath: PublicPath
     access(all) let ReceiverPublicPath: PublicPath
 
+    access(all) entitlement Owner
+
     /// The event that is emitted when a new vault capability is added to a
     /// switchboard resource.
     /// 
@@ -35,12 +37,11 @@ access(all) contract FungibleTokenSwitchboard {
     /// deposit methods to deposit funds on it.
     /// 
     access(all) resource interface SwitchboardPublic {
-        access(all) fun getVaultTypes(): [Type]
         access(all) view fun getVaultTypesWithAddress(): {Type: Address}
         access(all) view fun getSupportedVaultTypes(): {Type: Bool}
+        access(all) view fun isSupportedVaultType(type: Type): Bool
         access(all) fun deposit(from: @{FungibleToken.Vault})
         access(all) fun safeDeposit(from: @{FungibleToken.Vault}): @{FungibleToken.Vault}?
-        access(all) view fun checkReceiverByType(type: Type): Bool
         access(all) view fun safeBorrowByType(type: Type): &{FungibleToken.Receiver}?
     }
 
@@ -62,7 +63,7 @@ access(all) contract FungibleTokenSwitchboard {
         /// token vault deposit function through `{FungibleToken.Receiver}` that
         /// will be added to the switchboard.
         /// 
-        access(all) fun addNewVault(capability: Capability<&{FungibleToken.Receiver}>) {
+        access(Owner) fun addNewVault(capability: Capability<&{FungibleToken.Receiver}>) {
             // Borrow a reference to the vault pointed to by the capability we 
             // want to store inside the switchboard
             let vaultRef = capability.borrow() 
@@ -89,7 +90,7 @@ access(all) contract FungibleTokenSwitchboard {
         /// @param paths: The paths where the public capabilities are stored.
         /// @param address: The address of the owner of the capabilities.
         /// 
-        access(all) fun addNewVaultsByPath(paths: [PublicPath], address: Address) {
+        access(Owner) fun addNewVaultsByPath(paths: [PublicPath], address: Address) {
             // Get the account where the public capabilities are stored
             let owner = getAccount(address)
             // For each path, get the saved capability and store it 
@@ -132,7 +133,7 @@ access(all) contract FungibleTokenSwitchboard {
         /// capability, rather than the `Type` from the reference borrowed from
         /// said capability
         /// 
-        access(all) fun addNewVaultWrapper(capability: Capability<&{FungibleToken.Receiver}>, 
+        access(Owner) fun addNewVaultWrapper(capability: Capability<&{FungibleToken.Receiver}>, 
                                                                         type: Type) {
             // Check if the capability is working
             assert(capability.check(), message: "The passed capability is not valid")
@@ -158,7 +159,7 @@ access(all) contract FungibleTokenSwitchboard {
         /// @param types: The types of the fungible token to be deposited on each path.
         /// @param address: The address of the owner of the capabilities.
         /// 
-        access(all) fun addNewVaultWrappersByPath(paths: [PublicPath], types: [Type], 
+        access(Owner) fun addNewVaultWrappersByPath(paths: [PublicPath], types: [Type], 
                                                                   address: Address) {
             // Get the account where the public capabilities are stored
             let owner = getAccount(address)
@@ -189,7 +190,7 @@ access(all) contract FungibleTokenSwitchboard {
         /// @param capability: The capability to a fungible token vault to be
         /// removed from the switchboard.
         /// 
-        access(all) fun removeVault(capability: Capability<&{FungibleToken.Receiver}>) {
+        access(Owner) fun removeVault(capability: Capability<&{FungibleToken.Receiver}>) {
             // Borrow a reference to the vault pointed to by the capability we 
             // want to remove from the switchboard
             let vaultRef = capability.borrow()
@@ -286,23 +287,6 @@ access(all) contract FungibleTokenSwitchboard {
             return self.receiverCapabilities[type]!.borrow()
         }
 
-        /// A getter function to know which tokens a certain switchboard 
-        /// resource is prepared to receive.
-        ///
-        /// @return The keys from the dictionary of stored 
-        /// `{FungibleToken.Receiver}` capabilities that can be effectively 
-        /// borrowed.
-        ///
-        access(all) fun getVaultTypes(): [Type] {
-            let effectiveTypes: [Type] = []
-            for vaultType in self.receiverCapabilities.keys {
-                if self.receiverCapabilities[vaultType]!.check() {
-                    effectiveTypes.append(vaultType)
-                }
-            }
-            return effectiveTypes
-        }
-
         /// A getter function to know which tokens a certain switchboard 
         /// resource is prepared to receive along with the address where
         /// those tokens will be deposited.
@@ -328,9 +312,20 @@ access(all) contract FungibleTokenSwitchboard {
         /// @return Dictionary of FT types that can be deposited.
         access(all) view fun getSupportedVaultTypes(): {Type: Bool} { 
             let supportedVaults: {Type: Bool} = {}
-            for vaultType in self.receiverCapabilities.keys {
-                if self.receiverCapabilities[vaultType]!.check() {
-                    supportedVaults[vaultType] = true
+            for receiverType in self.receiverCapabilities.keys {
+                if self.receiverCapabilities[receiverType]!.check() {
+                    if receiverType.isSubtype(of: Type<@{FungibleToken.Vault}>()) {
+                        supportedVaults[receiverType] = true
+                    }
+                    if receiverType.isSubtype(of: Type<@{FungibleToken.Receiver}>()) {
+                        let receiverRef = self.receiverCapabilities[receiverType]!.borrow()!
+                        let subReceiverSupportedTypes = receiverRef.getSupportedVaultTypes()
+                        for subReceiverType in subReceiverSupportedTypes.keys {                          
+                            if subReceiverType.isSubtype(of: Type<@{FungibleToken.Vault}>()) {
+                                supportedVaults[subReceiverType] = true
+                            }
+                        }
+                    }
                 }
             }
             return supportedVaults
diff --git a/flow.json b/flow.json
index 54c479ba..78f2917f 100644
--- a/flow.json
+++ b/flow.json
@@ -5,6 +5,7 @@
       "aliases": {
         "emulator": "0xee82856bf20e2aa6",
         "testing": "0x0000000000000007",
+        "previewnet": "0xa0225e7000ac82a9",
         "testnet": "0x9a0766d93b6608b7",
         "mainnet": "0xf233dcee88fe0abe"
       }
@@ -14,6 +15,7 @@
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
         "testing": "0x0000000000000007",
+        "previewnet": "0xa0225e7000ac82a9",
         "mainnet": "0xf233dcee88fe0abe",
         "testnet": "0x9a0766d93b6608b7"
       }
@@ -23,6 +25,7 @@
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
         "testing": "0x0000000000000007",
+        "previewnet": "0xa0225e7000ac82a9",
         "mainnet": "0xf233dcee88fe0abe",
         "testnet": "0x9a0766d93b6608b7"
       }
@@ -53,6 +56,7 @@
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
         "testing": "0x0000000000000007",
+        "previewnet": "0xb6763b4399a888c8",
         "mainnet": "0x1d7e57aa55817448",
         "testnet": "0x631e88ae7f1d7c20"
       }
@@ -61,7 +65,9 @@
       "source": "./contracts/utility/Burner.cdc",
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
-        "testing": "0x0000000000000007"
+        "testing": "0x0000000000000007",
+        "previewnet": "0xa0225e7000ac82a9",
+        "testnet": "0x9a0766d93b6608b7"
       }
     },
     "NonFungibleToken": {
@@ -69,6 +75,7 @@
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
         "testing": "0x0000000000000007",
+        "previewnet": "0xb6763b4399a888c8",
         "mainnet": "0x1d7e57aa55817448",
         "testnet": "0x631e88ae7f1d7c20"
       }
@@ -78,6 +85,7 @@
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
         "testing": "0x0000000000000007",
+        "previewnet": "0xb6763b4399a888c8",
         "mainnet": "0x1d7e57aa55817448",
         "testnet": "0x631e88ae7f1d7c20"
       }
@@ -108,6 +116,7 @@
   "networks": {
     "emulator": "127.0.0.1:3569",
     "testing": "127.0.0.1:3569",
+    "previewnet": "access.previewnet.nodes.onflow.org:9000",
     "testnet": "access.devnet.nodes.onflow.org:9000",
     "mainnet": "access.mainnet.nodes.onflow.org:9000"
   },
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index c8aac1e1..2ed406bc 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,9 +1,9 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (9.669kB)
-// ../../../contracts/FungibleToken.cdc (10.028kB)
+// ../../../contracts/ExampleToken.cdc (9.619kB)
+// ../../../contracts/FungibleToken.cdc (10.088kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.596kB)
-// ../../../contracts/FungibleTokenSwitchboard.cdc (18.025kB)
+// ../../../contracts/FungibleTokenSwitchboard.cdc (18.111kB)
 // ../../../contracts/utility/Burner.cdc (1.997kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.493kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (10.577kB)
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x5a\xdd\x6f\xdb\x38\x12\x7f\xcf\x5f\x31\xeb\x03\xee\x6c\x34\x71\xd2\xdd\xb6\xb7\x6b\x24\xcd\xa6\xdd\x06\x77\xc0\x16\x28\xda\x6c\xf7\x21\x28\x1a\x5a\x1a\xdb\xbc\x48\xa4\x40\x52\x76\xbc\x41\xfe\xf7\xc3\xf0\x43\x26\x65\x29\x71\xd2\x1e\xce\x0f\x89\x25\x71\x3e\x38\xf3\xe3\x7c\xc9\xbc\xac\xa4\x32\x30\x38\xaf\xc5\x9c\x4f\x0b\xbc\x90\xd7\x28\x06\x7b\xe1\xf6\x7b\x34\x2c\x67\x86\x7d\xe6\xb8\xd2\x9b\xdb\xc9\xea\xd6\x9a\x3d\x96\x65\xa8\xf5\x90\x15\xc5\x08\x32\x29\x8c\x62\x99\x81\x77\x37\xac\xac\x3c\xc1\x04\x12\x7a\xb8\xdd\xdb\x03\x00\x38\x3c\x3c\x84\x8b\x05\x02\x2e\x51\x18\x30\x0b\x66\x80\x6b\xc0\x92\x1b\x83\x39\xac\x16\x28\x40\xe0\x0a\x0c\xd1\x68\x60\x0a\xa1\xe4\xc2\x60\x6e\x89\x63\xa1\x8e\x81\xe5\xad\xdf\xdb\x25\x43\x56\xca\x5a\x98\x09\xfc\x71\xce\x6f\x5e\xbd\xd8\x07\xb3\xae\x70\x02\x9f\x8c\xe2\x62\x3e\x8a\xc4\x4b\xc3\x0a\xd0\x75\x55\x15\x6b\x90\xb3\x44\x6b\x0d\x5c\x00\xde\x70\x6d\x50\x64\xb8\x25\x74\xc9\x14\x18\x22\xff\x64\xa9\x83\xa8\x0d\xef\xb3\xbc\xe4\x02\x3e\x30\xb3\xd8\xa2\x2d\xd0\xb8\xc7\x9f\x8c\x54\x6c\x8e\xb4\x88\xb4\x6b\x2e\xf6\xb6\xc5\x71\x5c\xc1\xac\x16\x30\x47\xf3\xd6\x1b\xd9\x3a\x60\xa8\x50\xcb\x5a\x65\x78\x61\xb7\x48\x7f\x4f\x47\x13\xb8\xa4\x2f\x5f\xe0\xd6\x32\xa2\x8f\x42\x53\x2b\x01\x97\xcd\x0d\xfa\xd0\xa2\xe3\x7e\xe7\x8e\xcf\x2f\xe8\xff\xeb\xe1\x68\xff\x91\x64\xbf\x71\x5d\x15\x6c\xfd\x04\xca\xcf\xac\x2e\xcc\x6f\xcc\xb0\x47\xd3\x5e\x6c\xbc\xf1\x7a\x38\x6a\x48\xbf\xd8\x6f\x77\xdb\x26\x25\x6b\x92\xf1\x8a\x25\xc6\x16\xed\x32\xe8\xbe\xb5\xff\xe6\xc6\x68\x02\x67\x62\xfd\xc9\xa8\x3a\x33\xa7\x91\x91\xf5\x8a\x9b\x6c\xd1\x2c\x8e\x9e\xd0\x27\x63\x1a\x77\x37\xf9\x24\xa1\x8d\x5c\xf8\x20\xf1\x70\x8b\x92\x3e\x33\xe3\x9d\x32\x01\x8d\xc5\x6c\xfc\xf0\xd6\x05\x2f\xda\x1b\xdf\xd5\xeb\x23\x60\xfa\x87\xfb\x35\xf5\x8b\x4f\xf7\x7b\xb4\x6d\x80\xf0\xbf\xd3\x37\xc6\xda\x0e\x1a\x37\xcb\x4f\xb7\x54\x1e\x3d\xc5\xd1\x1b\x73\x6d\xfb\x9a\x42\x44\x89\x39\x67\x70\x02\x29\xdd\x7b\xba\xdb\xed\x62\x6b\x38\x5e\xe0\xa4\x45\xf2\xaf\x8b\x8b\x0f\xe7\xbc\xc0\x7e\xaa\x5a\x15\x13\x18\x2c\x8c\xa9\xf4\xe4\xf0\x90\x69\x8d\x46\x8f\x57\x38\xd5\xdc\xe0\x01\xb1\xd4\xe3\x4c\x96\x87\x2f\x67\xaf\x7e\xfc\xe5\x45\x76\x94\xfd\x93\xfd\x9c\xe5\xf9\xab\x17\x3f\x4d\x9f\x67\x3f\xff\x78\xd4\x7a\xc0\x5e\xbe\xcc\xa6\xcf\xb3\x5f\x7e\x7a\xf5\xf5\xbc\x90\xab\xaf\x7f\x4a\x95\x97\x4c\x5d\x8f\xf5\x72\x3e\xe8\xd4\x61\xd4\x8d\x02\x6b\x01\xe7\xcd\x01\x2f\xd9\x1c\x0f\xf5\x72\xfe\xec\xa6\x2c\xb6\xb9\x8c\xfa\x4d\xa8\xbb\x6d\xa8\x87\x97\xf6\xf1\x97\x6d\xd2\x5d\x4e\x9a\xf7\x5e\xb7\x4d\x05\x2b\x49\x67\x9f\x4f\x1a\x46\x2e\x49\x0d\xba\x37\xab\xd7\xe5\x54\x92\x1b\xde\x9d\x5f\xf4\x2c\xc9\x51\x67\x8a\x57\x86\x4b\x31\x81\xc1\xc5\x82\x6b\x8a\x62\x8e\xb5\xcd\x93\x94\x41\x6b\x8d\x39\x30\x0d\x8c\xd2\x97\x93\x6f\x24\x2c\xb0\xa8\x60\x2d\x6b\xc8\x71\x89\x85\xb4\xdf\x15\x08\xbc\x31\x70\x7e\x01\x7f\x93\x82\x3c\x35\xee\x91\x8b\x37\x06\x95\x60\xc5\x1f\x1f\x7f\x6f\x63\xeb\xdd\xe6\xd1\xb0\x01\x90\x97\x7b\x30\x33\x63\x29\x66\xc4\x58\xaa\xf9\xa0\xc7\xc9\x85\x9c\x4b\x3d\xf1\xae\xea\x31\x8d\xcc\x38\x2b\xf4\xa4\x15\x50\xe3\xcf\xc0\xac\xa8\x70\x50\x83\x9d\x14\xf4\x8b\x2d\xa8\x49\xbf\xaf\xd3\x42\x66\xd7\xd9\x82\x71\x31\xd8\x86\x03\xd8\x04\xd2\xbe\xf3\xa4\x33\x1f\x87\x9c\x27\x46\xf8\xc0\xa1\x1b\x79\x3a\x2e\x29\x0e\xfd\x55\x70\x88\x65\x68\x19\x74\xdb\x59\x61\x86\x7c\x89\xca\x53\x57\xf5\xb4\xe0\x59\x42\xfc\xd1\xaf\xe8\x3b\xaf\x4e\xd7\x7e\xfa\x1d\x84\xff\xce\xc5\x35\xe6\x51\x0c\xff\x7b\x5c\x96\x8d\x2d\x87\xad\xe2\xa0\xad\xc1\x37\x31\xc9\x14\x32\x83\xef\xca\xca\xac\xed\xc2\xf3\x5a\x64\xee\xcc\x0d\x67\xb5\x18\x8e\x26\xf0\xeb\x6d\xe2\x23\xc7\xef\xee\x1e\x78\x7a\xcf\x1e\x1f\x24\x6a\xb4\x05\x0d\x97\xf4\x37\xd2\xfa\xd7\x4e\xad\x7b\x10\xba\x7d\xfb\x09\x10\x4d\xab\xa8\xa7\x40\x34\xe2\xd0\x0d\xd1\xa4\x6c\x4e\x36\x18\x3d\xb9\x67\x2f\x77\xed\xa2\x56\xf0\x22\x2e\xf2\xa8\xfa\xb6\xa6\x0a\x57\xcd\xdd\x77\x2c\x5b\x50\x7c\x54\xf6\x98\xa0\x8d\x91\x5c\x68\xc3\x44\x86\x54\xff\x4b\x51\xac\xc1\x2c\xd0\x91\x53\x03\x60\x16\xc8\x55\x38\x54\x49\xdb\x32\xf3\xa0\xd0\x7e\x99\xa7\x61\x22\x87\xb9\x5c\xa2\x12\x98\xc3\xd4\x71\xab\x14\xda\xfb\x95\xd4\x86\x5a\xa4\x9c\x5b\xc2\x86\x1d\x6f\xd9\xd3\x35\x3f\x66\x81\x6b\xdb\xf6\x64\xac\x28\x30\x1f\x27\xd2\xb3\x05\x66\xd7\x1a\x16\xac\xaa\x50\x00\x33\xa0\x6a\x61\x78\x89\x96\x14\x97\xa8\x80\x35\x1a\x52\x52\x68\xf1\x68\x78\x7d\xf4\x15\x14\xad\x10\x6e\xff\x53\xf4\x07\x20\x0f\x3b\xa3\xae\x8e\x12\x85\x9c\x35\x97\xb6\xc9\xb3\x3d\x1b\xa9\xd9\xb0\x23\x75\x73\x9c\x71\x61\x89\xf7\x41\x4b\x7a\xae\x90\x54\x10\x12\x56\x6c\x0d\x33\x49\xba\x95\xac\xe0\x19\x97\xb5\x76\xee\x30\xd2\xcb\x74\x56\xdc\x98\x46\xd6\x5e\x2c\x17\xc0\xb8\x1a\xc3\x19\xe8\x0a\x29\x1b\x80\x6d\xf5\x14\x84\x1a\x10\x04\x62\xae\x89\xd3\x74\xa3\x83\x91\xb6\x69\x6c\xd8\x6d\x1a\xca\xd4\x14\x71\x5f\xd0\x30\xb4\xaa\xb4\x9a\x57\x77\x06\x43\x0b\x1b\x7b\xc4\x62\x17\xa6\xac\x08\x60\x32\x94\x9e\x97\x0d\x0e\xdb\x62\xa8\x81\xf4\xab\xd3\xe6\xb1\x6b\xa1\xee\x6b\x14\xfb\x08\x5c\xe8\x75\xeb\x3f\x34\xdf\x7b\x97\xa7\x81\x3f\x22\x88\xb6\x09\x5c\x70\xc3\x59\xc1\xff\x42\x0b\x83\xb0\x55\x02\x5f\x30\x99\x75\x22\x41\x8e\xb0\xd8\xd0\x12\xe1\xb0\xb5\xd7\x51\x2b\x58\xda\x1a\x3f\xb0\x3c\x09\xcc\x93\x25\x54\xd0\xf1\x1c\x85\xe1\x33\x8e\x0a\x4e\x60\xb0\x95\x59\x06\xdb\x3c\x23\xd3\xc1\x49\x6c\xbb\xe1\x86\xd7\x24\xe2\x3b\xfa\x61\x9b\xc7\xc6\x9a\x70\x12\x59\xe7\x11\x1c\x62\x03\xf7\xf3\x18\x74\xa5\xda\x41\xc4\xef\x2e\xc5\xdd\x5b\x7b\xaa\x5d\xb8\x60\x1d\xa5\xe0\xb4\xb6\x61\x68\xc9\x99\xf5\xd8\xd5\x1b\xba\x56\x63\xba\x3d\x1c\x5d\x51\xb2\x5c\xc8\xbc\x0d\x8a\x70\xbc\x5d\x87\x4c\x6b\x49\xcc\x94\x65\xd7\xc3\xb6\xd3\xf8\x2c\xf5\xdb\x6b\x38\x1a\x1f\x75\x64\xc1\xbe\x20\x0f\x27\xfd\x8f\x0e\x12\xd6\x09\xcb\xbb\xfb\x90\x73\x34\x3e\xea\x32\x57\xdf\x30\xc5\x0d\x51\xba\x26\x26\xb0\x49\x30\x89\x92\x0f\x4c\x60\x04\x2f\x46\x0f\x29\x10\x8d\x1e\x6c\x1f\xfb\xd5\xaa\x74\xff\x6c\xa1\x4f\x9d\x47\xf7\xc5\xf4\xad\x53\x43\x42\xd4\x1c\x0d\xd9\x5f\x2a\x83\xf9\xe7\x50\x8c\x68\x90\xb6\xe7\x60\x45\xb1\xf6\x3a\x68\x60\x50\x70\x6d\x83\xb3\x8d\x71\x76\xc4\xa6\x43\x4a\xe0\xba\x09\x29\x76\xe3\x95\x0f\xe9\xf7\x79\xa2\x43\x2e\xf9\xe5\xd6\x69\xfd\x46\xca\xa2\x5d\x60\x51\x40\xd0\x81\xca\x12\xb4\x96\x9f\xc0\x6d\x0b\x2b\xc9\xea\x4b\x0b\x9d\x39\x5a\x61\xc3\xd1\x17\x38\x01\xa3\x6a\xec\x32\x79\x4a\xb8\x33\xc0\xb8\xde\xde\xd5\xd0\xc4\x73\x24\x52\xb4\xdb\xcb\x41\xb9\x4e\xbb\x5c\x1a\x8b\xd6\xd3\x53\x98\xb1\x42\x63\x9f\x3b\xcf\xf4\xb5\xa6\x53\x4a\xa7\xdf\xcd\x44\x6d\x9e\x9f\x22\xac\xb8\x59\xe4\x8a\xad\x04\xcc\x94\x2c\x1f\x4c\x56\x9b\x0d\x9d\x2d\x19\x2f\x98\xcd\x87\x7f\x7a\x1e\xad\x71\xeb\xbd\xbb\xf2\x5a\x1c\x9f\x74\x1f\xef\x96\xfe\x41\xcb\xf8\x66\xb2\x20\x94\xe6\x1e\x78\xec\xda\x15\x75\x5e\x8a\xeb\x82\x99\x9a\xd7\x25\x0a\x93\x10\x52\x3d\x16\xb8\x7b\xd8\x7a\x22\x6f\x0f\x9f\xff\xc7\xbd\xa2\xff\x6d\x7c\xcd\x42\x67\xc1\x16\x16\x58\x56\x52\x31\xb5\xf6\xa5\x60\x18\x69\xdb\x86\x9c\x5a\x70\x59\xe4\x09\x07\xb3\xc0\x30\xde\x76\x0a\x28\x84\x29\x72\x31\x07\xa3\x98\xd0\x33\x54\x0a\xf3\x31\x09\x0a\x87\x8e\x28\x04\xae\xa2\xf2\x98\xf8\x84\x72\xcd\x8b\x95\x49\xd1\x66\x39\xbb\xf2\x8f\xca\x31\xde\x20\x20\xc7\x4a\x6a\x1e\x06\xea\x81\x17\x16\x1a\x57\x54\xb2\x75\x6f\xdc\x83\x22\xad\x89\x02\x0e\x5c\x60\x5b\xf5\xa2\xa2\xa3\x9b\xb9\xbf\x0a\x48\x2e\x0f\xbc\x83\xba\x50\x75\x7c\x10\x97\x8f\x9b\x5a\xc3\x51\xf4\x46\x3b\x6f\x82\xc7\xa1\xcb\x9b\x59\x4e\xff\x83\x59\x1b\x62\x16\x56\x2c\xcf\x75\xc2\x86\x1b\xdd\x54\x4b\xde\x3b\x49\x9d\x88\x20\x57\x02\x95\xde\x01\x71\x5c\x03\x2b\x0a\xb9\x72\x88\xca\x51\x1b\x25\x5d\x93\xa1\x49\xbc\x53\x6d\x8a\x19\xab\x35\x6e\x40\x9c\x9e\x29\x52\x39\x02\x2b\xc1\x12\x55\xd0\xc4\x57\xc7\xb6\xa4\xb5\xb4\xff\xd8\xe8\xbe\x60\xe9\xbe\xa6\x88\x82\x70\xa6\xeb\x12\x73\xbb\x75\x5b\xec\xcf\xa4\x6d\x5a\x3c\xc8\xac\x86\xa1\xf5\xe8\x81\x53\x93\x14\xbd\x43\x86\x74\x06\xfb\xba\xec\x76\x11\x42\x59\xc0\xa5\xa0\xe3\x03\x77\x78\x99\xfe\xa1\x0b\x6b\x3b\x23\xed\x99\xe3\xd7\x59\x7b\x24\x4f\x5a\xe5\x06\xb8\x11\x9d\x75\x49\x1a\x4b\x5b\xb8\x6b\xf7\xfd\x3b\x02\x30\x0d\x37\xce\xd7\x74\xda\x80\xc5\x78\xfa\x0b\x95\xdc\x0a\x75\x21\x80\xf0\x4d\x7c\x60\x45\x41\xa1\xc6\xc7\x09\xea\xac\x6c\x2b\x56\xd6\xda\xc5\x0b\x97\x13\x42\x13\xb9\xc5\xd1\x76\xd0\x96\x93\xe3\xdd\xc4\x9f\x76\xd7\x4c\x37\xa4\xca\x5d\x97\x67\xc1\xeb\x9e\xa7\x1c\xb3\xcc\x06\x5f\xd7\xbe\x31\x57\xc5\x86\x1a\x22\xc0\x42\x37\x6d\x95\xab\x70\x29\x07\xee\x86\xab\xad\x41\xcb\x4e\xd1\xe8\x81\xe0\x72\x34\x3e\x6a\x0f\x25\xa2\x09\x84\x6b\x4f\x7b\x1b\xee\x10\x3f\x5c\x64\xb1\xdb\x61\xf6\x8d\xa1\xb7\x84\x6b\xc8\xe9\x6c\x86\x26\xf6\x71\xcd\xab\xef\x8e\x6f\x13\x2b\x13\x1b\xf7\x72\x73\x47\xc4\x11\x81\x8e\x04\xef\xdb\xe0\x46\xfe\x2b\x03\x8e\x4c\xf4\x0e\x75\xbf\x17\x77\x31\x45\x1b\x79\x3b\x79\x70\xa3\xfa\x53\xf2\xca\x53\x1a\x90\x67\x5d\xf9\x06\x4b\xde\xf3\xaa\xd9\xfd\x0f\xaf\x9a\xd3\xca\x72\x1c\x35\x87\xdf\x96\xbe\x5a\x20\xeb\x0c\x24\x31\xdc\xbe\x29\x80\x7c\xdf\xe0\xf1\x7d\x03\xc7\x77\x08\x1a\x5d\xe7\xa7\x33\x58\xb4\xa6\xb2\x0f\x22\xae\xf1\x2a\x3c\x10\x38\xbc\x27\xed\x7c\x24\x4e\x6b\x16\x3d\x29\x4c\x9f\x1f\x1d\x51\xaa\x49\x97\xb4\x7f\x44\x00\x27\xdd\x23\x7f\xf7\x5b\x84\x64\x98\xf3\xd6\x69\xb6\x19\x5c\x5a\x1c\xb4\x0f\xb4\xb5\x9d\xff\x01\x06\xb9\x8e\x2d\x91\x50\xc0\x45\x32\x12\x75\x2c\x9b\xaf\x49\x42\xee\xb6\x40\x7b\x83\xa3\x2e\xdd\x98\x9f\x62\x41\xc6\x2a\x36\xe5\x05\x37\xeb\x80\x3f\x8b\xa1\x3c\xae\xb3\xf1\xa6\x92\x1a\xe3\xb8\xe6\x46\x1e\x1e\x05\x61\xd8\xe1\xe6\xb3\x68\xce\x6c\x53\xea\xdb\xb9\xf0\xcc\x2c\x94\xac\xe7\xce\x0a\x57\x61\xfc\x72\x05\x36\x92\xce\x58\x16\x6f\x36\x54\x3b\x70\xe5\xf7\x74\xd5\xc9\xe4\x4d\x78\xd8\xc5\x23\x31\x58\xec\xae\xb7\xac\x0a\x25\x89\x87\xf8\xb8\x31\x01\x47\x1d\x46\x5a\x63\xae\x75\xdd\xf3\x66\xc3\x95\x29\xd1\xec\x6b\x94\x22\xa7\x93\xaf\x35\xb7\x5e\x0c\x5b\xba\xec\x03\x33\x13\x5f\xf8\x6c\x26\x61\xa3\x44\xfd\xd0\xed\xff\xbf\x55\x8f\xf4\x88\xd5\x8e\xc7\x6f\xa3\xbd\x6e\x7e\x41\x35\x02\xf9\xf0\xf8\xc0\x12\xee\x83\x91\xf7\xbd\x46\x8b\x78\x91\x15\x5c\x06\xdf\xa0\xde\x25\xe1\x61\xcf\x06\x5a\x02\x2d\xb1\x13\xd8\x79\xb8\x43\xc8\xb8\xdb\xfb\x6f\x00\x00\x00\xff\xff\xeb\x29\x98\x94\xc5\x25\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x5a\x6d\x6f\xdb\x38\x12\xfe\x9e\x5f\x31\x9b\x03\xee\x6c\x34\x71\xd2\xdd\xb6\xb7\x6b\x24\xcd\xa6\xdd\x06\x77\xc0\x16\x28\xda\x6c\xf7\x43\x51\x34\xb4\x34\xb6\x78\xa1\x48\x81\xa4\xec\x78\x83\xfe\xf7\xc3\xf0\x45\x16\x65\x29\x71\xd2\x1e\x70\xfe\xd0\xe8\x85\x33\x1c\xce\x3c\x9c\x99\x87\x2a\x2f\x2b\xa5\x2d\xec\x5f\xd4\x72\xc1\x67\x02\x2f\xd5\x35\xca\xfd\xbd\xf8\xf8\x2d\x5a\x96\x33\xcb\x3e\x72\x5c\x99\xcd\xe3\x64\x74\x67\xcc\x1e\xcb\x32\x34\x66\xc4\x84\x18\x43\xa6\xa4\xd5\x2c\xb3\xf0\xe6\x86\x95\x55\x10\x98\x42\x22\x0f\xb7\x7b\x7b\x00\x00\x47\x47\x47\x70\x59\x20\xe0\x12\xa5\x05\x5b\x30\x0b\xdc\x00\x96\xdc\x5a\xcc\x61\x55\xa0\x04\x89\x2b\xb0\x24\x63\x80\x69\x84\x92\x4b\x8b\xb9\x13\x6e\x4f\xea\x15\x38\xdd\xe6\xad\x1b\x32\x62\xa5\xaa\xa5\x9d\xc2\x1f\x17\xfc\xe6\xc5\xb3\x03\xb0\xeb\x0a\xa7\xf0\xc1\x6a\x2e\x17\xe3\xd6\xf4\xca\x32\x01\xa6\xae\x2a\xb1\x06\x35\x4f\xac\x36\xc0\x25\xe0\x0d\x37\x16\x65\x86\x5b\x93\x2e\x99\x06\x4b\xe2\x1f\x9c\x74\x9c\x6a\xa3\xfb\x83\x55\x9a\x2d\x10\x98\xcc\xe1\x5d\x3d\x13\x3c\x83\x77\xcc\x16\x66\x4b\x93\x40\x0b\x1f\x59\x2d\x6c\x90\xa0\x51\x53\x68\xdd\x0c\x4b\x78\xbd\x5e\x60\x73\xdd\x3b\xfe\x3d\x66\xc8\x97\xa8\x1f\x20\x72\x9e\x97\x5c\x0e\x1a\xb5\xed\x11\x8e\x2b\x98\xd7\x12\x16\x68\x5f\x07\x1c\x38\x8c\x8c\x34\x1a\x55\xeb\x0c\x2f\x5d\x14\xe8\xdf\xb3\xf1\x14\x3e\xd1\xc5\x67\xb8\x75\x8a\xe8\xa7\xd1\xd6\x5a\xc2\xa7\xe6\x01\xfd\x68\xd0\xc9\x30\xfe\x26\x17\x97\xf4\xf7\xe5\x68\x7c\xf0\x40\xb1\xdf\xb8\xa9\x04\x5b\x3f\x42\xd2\xb9\xfe\x37\x66\xd9\x83\x65\x2f\x37\x80\x79\x39\x1a\x37\xa2\x9f\xdd\xd5\xd7\x6d\x97\x92\x37\xc9\x79\x62\x89\x6d\x8f\xf6\x39\xf4\xc0\xf9\x7f\xf3\x60\x3c\x85\x73\xb9\xfe\x60\x75\x9d\xd9\xb3\x96\x93\xcd\x8a\xdb\xac\x68\x06\xb7\xde\xd0\x2f\x63\x06\x77\x77\xf9\x34\x91\x6d\x85\xf0\x5e\xe1\xd1\x96\x24\xfd\xe6\x36\x04\x65\x0a\x06\xc5\x7c\x72\xff\xd2\x25\x17\xdd\x85\xef\x1a\xf5\x31\x30\xf3\xc3\xdd\x96\x86\xc1\x67\x07\x03\xd6\x36\x40\xf8\xdf\xd9\xdb\xc6\xda\x0e\x16\x37\xc3\xcf\xb6\x4c\x1e\x3f\x26\xd0\x1b\x77\x6d\xc7\x9a\x52\x44\x89\x39\x67\x70\x0a\xa9\xdc\x5b\x7a\xda\x1f\x62\xe7\x38\x2e\x70\xda\x11\xf9\xd7\xe5\xe5\xbb\x0b\x2e\x70\x58\xaa\xd6\x62\x0a\xfb\x85\xb5\x95\x99\x1e\x1d\x31\x63\xd0\x9a\xc9\x0a\x67\x86\x5b\x3c\x24\x95\x66\x92\xa9\xf2\xe8\xf9\xfc\xc5\x8f\xbf\x3c\xcb\x8e\xb3\x7f\xb2\x9f\xb3\x3c\x7f\xf1\xec\xa7\xd9\xd3\xec\xe7\x1f\x8f\x3b\x2f\xd8\xf3\xe7\xd9\xec\x69\xf6\xcb\x4f\x2f\xbe\x5c\x08\xb5\xfa\xf2\xa7\xd2\x79\xc9\xf4\xf5\xc4\x2c\x17\xfb\xbd\x36\x8c\xfb\x51\xe0\x3c\xe0\xa3\xb9\xcf\x4b\xb6\xc0\x23\xb3\x5c\x3c\xb9\x29\xc5\xb6\x96\xf1\xb0\x0b\x4d\xbf\x0f\xcd\xe8\x93\x7b\xfd\x79\x5b\x74\x97\x9d\x16\xa2\xd7\xef\x53\xc9\x4a\xb2\x39\x94\xbc\x46\x91\xaf\xa3\xfb\xfd\x8b\x35\xeb\x72\xa6\x28\x0c\x6f\x2e\x2e\x07\x86\xe4\x68\x32\xcd\x2b\xcb\x95\x9c\xc2\xfe\x65\xc1\x0d\x65\x31\xaf\xda\x95\x72\x2a\xf2\xb5\xc1\x1c\x98\x01\x46\x15\xd6\xcf\x6f\x15\x14\x28\x2a\x58\xab\x1a\x72\x5c\xa2\x50\xee\x5a\x83\xc4\x1b\x0b\x17\x97\xf0\x37\x25\x29\x52\x93\x81\x79\xf1\xc6\xa2\x96\x4c\xfc\xf1\xfe\xf7\x2e\xb6\xde\x6c\x5e\x8d\x1a\x00\x85\x79\x0f\xe7\x76\xa2\xe4\x9c\x14\x2b\xbd\xd8\x1f\x08\xb2\x50\x0b\x65\xa6\x21\x54\x03\xae\x51\x19\x67\xc2\x4c\x3b\x09\xb5\xfd\xdb\xb7\x2b\xea\x6d\xf4\xfe\x4e\x06\x86\xc1\x0e\xd4\x64\xdf\x97\x99\x50\xd9\x75\x56\x30\x2e\xf7\xb7\xe1\x00\xae\x80\x74\x9f\x3c\x6a\xcf\xb7\x53\xce\x23\x33\x7c\xd4\xd0\x8f\x3c\xd3\x6e\x29\x8e\xc2\x5d\x0c\x88\x53\xe8\x14\xf4\xfb\x59\xc7\x3e\xc6\x4b\x57\xae\x85\x49\x84\x63\xa7\x33\xb4\x5f\xbd\xad\xc3\xf2\x3b\x4c\xfe\x3b\x97\xd7\x98\xb7\x72\xf8\xdf\xdb\x9d\xe3\xc4\x69\xd8\x6a\x0e\xba\x16\x7c\x93\x92\x4c\x23\xb3\xf8\xa6\xac\xec\xda\x0d\xbc\xa8\x65\xe6\xf7\xdc\x68\x5e\xcb\xd1\x78\x0a\xbf\xde\x26\x31\xf2\xfa\xbe\xde\x01\xcf\x10\xd9\x93\xc3\xc4\x8c\xee\x44\xa3\x25\xfd\xdb\xb2\xfa\xd7\x5e\xab\x07\x10\xba\xfd\xf8\x11\x10\x4d\xbb\xa8\xc7\x40\xb4\xa5\xa1\x1f\xa2\x49\x67\x9f\x2c\xb0\xf5\xe6\x8e\xb5\x7c\xed\x36\xb5\x92\x8b\x76\x93\x47\x04\xc1\xb9\x2a\xde\x35\x4f\xdf\xb0\xac\xa0\xfc\xa8\xdd\x36\x41\x97\x23\xb9\x34\x96\xc9\x0c\x89\xa2\x28\x29\xd6\x60\x0b\xf4\xe2\xc4\x51\x6c\x81\x5c\xc7\x4d\x95\x30\xab\x79\x00\x85\x09\xc3\x82\x0c\x31\x92\x85\x5a\xa2\x96\x98\xc3\xcc\x6b\xab\xb4\x67\x2a\x95\x32\x96\x58\x5c\xce\x9d\x60\xa3\x8e\x77\xfc\xe9\xf9\x99\x2d\x70\xed\x98\x59\xc6\x84\xc0\x7c\x92\xcc\x9e\x15\x98\x5d\x1b\x28\x58\x55\xa1\x04\x66\x41\xd7\xd2\xf2\x12\x9d\x28\x2e\x51\x03\x6b\x2c\xa4\xa2\xd0\xd1\xd1\xe8\x7a\x1f\x3a\x28\x1a\x21\xfd\xfa\x67\x18\x36\x40\x1e\x57\x46\xc4\x93\x0a\x85\x9a\x37\xb7\x8e\x87\x3a\x5a\x49\x66\x36\xea\xc8\xdc\x1c\xe7\x5c\x3a\xe1\x03\x30\x8a\xde\x6b\x24\x13\xa4\x82\x15\x5b\xc3\x5c\x91\x6d\x25\x13\x3c\xe3\xaa\x36\x3e\x1c\x56\x85\x39\xbd\x17\x37\xae\x51\x75\x98\x96\x4b\x60\x5c\x4f\xe0\x1c\x4c\x85\x54\x0d\xc0\xb1\x51\x0d\xb1\x07\x04\x89\x98\x1b\xd2\x34\xdb\xd8\x60\x95\xe3\xb5\x8d\xba\x0d\xe7\x4d\x5d\xd1\xe6\x05\x8d\x42\x67\x4a\x87\x5f\xfb\x3d\x18\x59\x76\x3b\x22\x0e\xbb\x30\x63\x22\x82\xc9\x52\x79\x5e\x36\x38\xec\x4e\x43\x1c\x37\x8c\x4e\xf9\xad\x57\x0a\x5c\x72\xcb\x99\xe0\x7f\xa1\x73\x7a\x54\x4c\xa1\x8e\x06\x3a\x97\x51\x80\x29\xf2\x8d\x2c\x09\x8e\x3a\x9a\xc7\x9d\xd4\xe4\x3a\xea\xa8\xf2\x34\x2a\x6f\xed\xb0\x64\x79\xaf\x1d\x78\x3c\x2a\x59\x4f\xc7\x31\xab\x1d\xda\x97\x9c\x39\x53\xaf\x5e\xd1\xbd\x9e\xd0\xe3\xd1\xf8\x8a\x72\x72\xa1\xf2\xae\x13\x22\x8a\x3c\x11\xa3\xb1\x34\xcd\x8c\x65\xd7\xa3\xae\xb5\x7c\x9e\x1a\xfc\x12\x8e\x27\xc7\x3d\xc9\x76\x28\x97\xc0\xe9\xf0\xab\xc3\x44\x75\xa2\xf2\xeb\x5d\x2e\x3b\x9e\x1c\xf7\xb9\x6b\x88\xb3\x7b\xae\xde\x47\xcc\x5b\x79\x2c\x31\xf2\x1e\xa2\x2f\xb9\x18\xdf\x67\x40\x8b\xe1\x3a\xba\xf4\xc5\x99\x74\x37\x85\x1d\x32\xe7\xc1\xf4\x8b\xae\x7a\x2d\x24\x44\x2d\xd0\x92\xff\x95\xb6\x98\x7f\x8c\x35\xcf\x80\x72\xad\x2d\x13\x62\x1d\x6c\x30\xc0\x40\x70\xe3\x72\x80\xdb\x4a\xee\xb0\xc9\xc4\xcc\xc3\x4d\xd3\x35\xb8\x85\x57\x21\x73\xdc\x15\x89\x9e\x79\x29\x2e\xb7\xde\xea\x57\x4a\x89\x6e\x1d\x27\x22\x61\xa2\x94\x13\xe8\x0c\x3f\x85\xdb\x0e\x56\x92\xd1\x9f\x1c\x74\x16\xe8\x26\x1b\x8d\x3f\xc3\x29\x58\x5d\x63\x9f\xcb\x53\xc1\x9d\x01\xc6\xcd\xf6\xaa\x46\xb6\x7d\x5c\x41\x86\xf6\x47\x39\x1a\xd7\xeb\x97\x4f\xd6\xa1\xf5\xec\x0c\xe6\x4c\x98\xc1\x04\x71\x6e\xae\x0d\xed\x52\xda\xfd\xfe\x74\xd0\x95\x93\x19\xc2\x8a\xdb\x22\xd7\x6c\x25\x61\xae\x55\x79\x6f\x4e\xdc\x2c\xe8\x7c\xc9\xb8\x60\x2e\xed\xfe\x19\x74\x74\x0e\x1e\xef\x5c\x55\xb0\xe2\xe4\xb4\x7f\x7b\x77\xec\x8f\x56\xb6\x1f\x26\x03\x62\x07\x18\x80\xc7\xae\x7d\xef\x10\x66\xf1\x64\x8b\xe9\x45\x5d\xa2\xb4\x89\x20\x95\xfd\xa8\x3d\xc0\x36\x08\x05\x7f\x84\x32\x33\x19\x9c\xfa\xdf\x36\x94\x46\xda\x0b\xae\x7e\x61\x59\x29\xcd\xf4\x3a\x74\x1c\xf1\x70\xd7\xf1\x3e\x62\x7a\x4a\xe4\x89\x06\x5b\x60\x3c\xe8\xf5\x06\x68\x84\x19\x72\xb9\x00\xab\x99\x34\x73\xd4\x1a\xf3\x09\x4d\x14\x37\x1d\x49\x48\x5c\xb5\xba\x30\xd2\x13\xbb\x82\x30\xad\x4a\x7a\x03\xa7\xd9\x77\x19\x54\xf5\x79\x83\x80\x1c\x2b\x65\x78\x3c\x5a\x8e\xba\x50\x18\x5c\x51\x67\xd0\xbf\xf0\x00\x8a\xb4\xf4\x46\x1c\xf8\xc4\xb6\x1a\x44\x45\x4f\xd3\x7c\x77\xf9\x4b\x6e\x0f\x43\x80\xfa\x50\x75\x72\xd8\xee\x52\x36\x45\xd6\x4b\x0c\x66\xbb\xe0\x82\x87\xa1\x2b\xb8\x59\xcd\xfe\x83\x59\x17\x62\x0e\x56\x2c\xcf\x4d\xa2\x86\x5b\xd3\xb4\x09\x21\x3a\x49\x3b\x82\xa0\x56\x12\xb5\xd9\x01\x71\xdc\x00\x13\x42\xad\x3c\xa2\x72\x34\x56\x2b\xdf\xcb\x1a\x9a\xde\x9b\x36\xc3\x8c\xd5\x06\x37\x20\x4e\xf7\x14\x99\xdc\x02\x2b\xc1\x12\x75\xb4\x24\x34\x61\xae\x73\x72\xb2\xff\xd8\xd8\x5e\xb0\x74\x5d\x33\x44\x49\x38\x33\x75\x89\xb9\x5b\xba\xeb\x29\xe7\xca\xf5\xc6\x01\x64\xce\xc2\xd8\xe1\x0e\xc0\xa9\x29\x8a\x21\x20\x23\xda\x83\x43\x64\xae\xdb\x84\x50\x15\xf0\x25\xe8\xe4\xd0\x6f\x5e\x66\x7e\xe8\xc3\xda\xce\x48\x7b\xe2\xf5\xf5\xf6\x1e\xc9\x9b\x4e\xbb\x01\xfe\x24\xc8\x85\x24\xcd\xa5\x1d\xdc\x75\xe9\xe5\x8e\x00\x4c\xd3\x8d\x8f\x35\xed\x36\x60\x6d\x3c\xfd\x85\x5a\x6d\xa5\xba\x98\x40\xf8\x26\x3f\x30\x21\x28\xd5\x84\x3c\x41\x0d\xbc\xeb\xf8\xcb\xda\xf8\x7c\xe1\x6b\x42\xe4\x2a\x5b\x1a\x1d\x51\x73\x9a\xbc\xee\x26\xff\x74\xc9\x19\x3d\x50\x3a\xf7\x64\xc2\x81\xd7\xbf\x4f\x35\x66\x99\x4b\xbe\x9e\x25\x30\xdf\xc5\xc6\x1e\x22\xc2\xc2\x34\xdd\xbb\xef\x70\xa9\x06\xee\x86\xab\x2d\x3e\xbf\x53\x36\xba\x27\xb9\x1c\x4f\x8e\xbb\xdc\xb7\x45\x74\x3d\x0b\x1a\xe4\x75\x31\x7f\xf8\xcc\xe2\x96\xc3\xf2\x92\xc8\x94\xf7\x84\xe7\x7d\xb4\x37\x23\x57\x7a\x18\x47\x0a\x24\xec\x36\xf1\x32\xa9\xf1\x9f\xf9\x76\x44\x1c\x09\x98\xd6\xc4\x07\x2e\xb9\x51\xfc\xca\x88\x23\xdb\xfa\x9a\x78\x30\x88\xbb\xb6\x44\x17\x79\x3b\x45\x70\x63\xfa\x63\xea\xca\x63\x08\xc8\x93\xbe\x7a\x83\x25\x1f\xf8\xe8\xea\xff\xc6\x8f\xae\x69\x67\x39\xe1\x39\x4a\xcb\xe7\x1c\xf5\xf8\xdb\xca\x57\x07\x64\xbd\x89\xa4\x0d\xb7\x6f\x4a\x20\xdf\x37\x79\x7c\xdf\xc4\xf1\x1d\x92\x46\xdf\xfe\xe9\x4d\x16\x9d\xc3\xbf\x7b\x11\xd7\x44\x15\xee\x49\x1c\x21\x92\xee\x60\xa0\x5d\xd6\x1c\x7a\x52\x98\x3e\x3d\x3e\xa6\x52\x93\x0e\xe9\x7e\x40\x87\xd3\x3b\x4e\x96\x7b\x44\x37\x9f\xc2\x49\x72\xe8\x54\x38\x15\xdc\xfe\xa4\x3e\x20\x1b\x07\xa6\xe2\xdd\xcf\xeb\x43\x26\xbb\x71\x90\x1c\xbc\xbc\xf6\xce\xdc\x1c\xe9\x39\xe8\x76\x73\x90\x0b\x77\xf8\xdf\x13\x84\x36\xb6\x44\x02\x2e\x97\xc9\x61\xa1\x57\xd9\x5c\x26\x3d\x44\x7f\xd0\xba\x31\x19\xf7\xd9\xc6\xc0\x3b\x02\x32\x56\xb1\x19\x17\xdc\xae\xe3\x96\x71\xb0\xcf\xdb\xd4\x00\x6f\x2a\x65\xb0\x9d\x8a\xfd\x29\x4d\x00\x6e\x3c\x9f\xf1\x27\x97\x68\xcf\x1d\x8f\x0e\x0c\x34\xbe\xb3\x85\x56\xf5\xc2\x7b\xe1\x2a\x7a\xfc\x0a\x5c\xf2\x9f\xb3\xac\xbd\xd8\xd8\xa0\xc1\x55\x58\xd3\x55\xaf\x92\x57\xf1\x65\x9f\x8e\xc4\x61\xed\x70\xbd\x66\x55\xec\xa2\xc2\xae\x9c\x34\x2e\xe0\x68\x26\xc1\xf7\x13\x6e\x4c\x3d\x70\xe6\xdf\x8b\xe8\x71\x8a\x9e\x5e\xdd\xce\xe5\xa6\x18\x75\xec\x39\x00\x66\xa7\xbd\x60\x1f\x27\xcb\x88\x07\x15\xff\x0f\x4b\x68\xd9\xd2\x32\x7f\x7b\xcb\x8d\xf7\xfa\x95\x46\x1b\x09\xf5\xa3\x93\x43\x07\xe9\x03\xb0\xea\xae\x2f\x4e\x2d\x5d\xe4\x0e\xdf\x85\x6c\xb6\x81\x6f\x24\x46\x03\xab\xe8\x4c\xe8\x84\xfd\x84\xbd\xbb\x3d\xa6\xbd\xaf\x7b\xff\x0d\x00\x00\xff\xff\x01\xc2\xd9\x61\x93\x25\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,11 +95,11 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa4, 0xc7, 0x50, 0x84, 0xfc, 0x59, 0xa, 0xfe, 0xe5, 0x7b, 0x68, 0xa4, 0xa5, 0x55, 0x8c, 0x15, 0x3, 0xc4, 0x8, 0x78, 0xbf, 0xc8, 0x90, 0x8a, 0xd, 0xeb, 0xcc, 0xc9, 0x57, 0xb, 0x1d, 0x1e}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x28, 0xee, 0x30, 0xde, 0xd2, 0x6, 0xfc, 0x78, 0x7b, 0xf1, 0x91, 0x61, 0x2d, 0xd7, 0xba, 0x75, 0x17, 0x9d, 0xd8, 0xfe, 0xfb, 0xd5, 0x5d, 0x22, 0xb, 0xd6, 0xd3, 0xad, 0xdc, 0xb9, 0x6d, 0x70}}
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5a\x4b\x93\xdb\x36\xf2\xbf\xeb\x53\x74\x4d\x0e\x96\xf2\x97\x35\x39\xfc\x6b\x0f\x53\x9b\x38\x76\x12\x57\xf9\x90\xad\xad\x78\x1c\x1f\x76\xb7\x4a\x10\xd9\x92\x90\x01\x01\x06\x00\x25\x6b\xa7\xe6\xbb\x6f\x75\xe3\x41\x82\xa2\x66\xc6\x89\x77\x73\xb1\x86\x04\xfa\xfd\xf8\x75\x33\xd7\x5f\x7f\x3d\x9b\x7d\x05\xb7\x7b\x84\xb7\xca\x1c\xe1\x6d\xa7\x77\x72\xa3\x10\x6e\xcd\x1d\x6a\x70\x5e\xe8\x5a\xd8\x7a\x36\xfb\xea\x2b\x58\xa7\x97\xfc\x6e\x0d\x95\xd1\xde\x8a\xca\xcf\x66\x7c\x7d\xfa\x26\x48\x07\xda\x80\x32\x7a\x87\x16\x84\x06\xa9\x3d\xda\xad\xa8\x70\xe6\xf7\xc2\x83\x50\x0a\xb6\xe9\xaa\xe7\xab\x89\xae\x83\xa3\xe9\x54\x0d\x7b\x71\xa0\x57\xf4\x7c\x6b\x6c\x03\xde\xac\x66\xb3\x77\x5b\x10\xd0\x39\xb4\x0e\x8e\x42\x7b\x47\x07\x6a\x6c\x95\x39\x81\x00\x8d\xc7\x11\xad\x25\xf8\x3d\x4a\xdb\xcb\x5c\x1b\x24\xc1\x3c\x68\xc4\x9a\x2e\xcb\xa6\x55\xd8\xa0\xf6\x74\x12\x0a\x55\x7b\x99\x97\xb0\xe9\x7c\x24\xc5\x0c\xdc\xac\x36\x17\x48\xe4\x4b\x0e\x6a\xdc\x4a\x8d\x35\x48\x0d\x7e\x2f\x5d\x96\x62\x15\xec\xfa\xab\xe8\x94\x5f\x83\x45\x67\x3a\x5b\x0d\x6e\xce\x66\x3f\x89\x6a\x3f\xb6\x4f\x3e\xe7\x4f\x2d\x32\x73\x77\xce\xfd\x32\xd1\xc8\xf4\xef\xd6\x1c\x64\x8d\x76\xbd\x84\xf5\x2f\x58\xa1\x3c\xf0\x6f\xa1\x6b\x58\xbf\x11\x4a\xe8\x0a\xa7\x6e\x3b\xf6\xb6\x1b\xa9\x57\x29\x61\x11\x5a\x8b\x2f\x2b\xa3\x6b\xe9\xa5\xd1\x8e\x49\xb5\xc6\xf9\xe1\x33\xf6\xb9\x45\xe7\xad\xac\xfc\x8c\x04\xc5\x4f\x58\x75\xf4\x12\xcc\x96\x25\xdf\x76\xba\x0a\x87\xd9\x5c\x08\xac\xc9\x8a\xf9\x9e\x80\xf8\x38\x6c\x85\x15\x1e\x61\x83\x95\xe8\x48\x16\x0f\x3b\x79\x40\xc7\xc7\x29\x28\xf8\x87\xd8\x48\x25\xfd\x89\x6c\xe3\xf6\xc2\xe2\x4c\x80\xc5\x2d\x5a\xd4\x15\xc7\x53\x70\x23\x53\x0f\x72\x19\xad\x4e\x80\x9f\x5a\xe3\x22\xa9\xad\x44\x55\xbb\x5e\xa2\x99\xd4\x60\x34\x82\xb1\xd0\x18\x8b\x49\xe2\xde\x14\x14\x98\x14\xd3\xce\x44\x81\x42\x84\x8e\xa4\x69\xc4\x1d\x42\xd5\x39\x6f\x9a\x6c\xe1\x68\x9a\xec\x44\xb2\x4d\x69\x65\x0a\x70\x03\x07\x61\xa5\xe9\xe8\xb4\xd4\x3b\x07\x47\xe9\xf7\x4c\x3e\x44\xe3\x6a\xf6\xd6\x58\xc0\x4f\x82\xc8\x2c\x41\xc0\x56\x74\x15\x7a\xa8\x84\x86\x0d\xf6\xd4\xb1\x86\xcd\x29\x25\x94\xd4\xbb\x59\x30\x07\xa4\xa0\x28\xa2\xe5\xeb\xeb\xd9\x4c\x36\xad\xb1\x1e\xae\x7e\x95\x78\xfc\x05\x9d\x51\x07\xb4\x57\xf9\xe9\x9b\xce\x6a\xfa\x7b\x76\x7d\x7d\x5d\xa6\x0e\x3d\x29\x9e\xc6\xf2\x90\x25\x11\x31\x56\x2c\x0e\xca\x84\xc5\xdf\x3b\x69\xa7\x92\xaa\x4c\x05\xa6\xdc\x8b\x0a\x1f\x11\x9c\x97\x4a\x85\x92\x21\x3d\x08\x57\x94\x1c\xd8\xa3\xed\xa3\xc6\xf3\x5f\x1c\x50\xa6\xe1\xb8\xd9\x76\x8a\x49\x76\x3e\xf8\xaa\x41\xbf\x37\x75\x74\x4d\x23\xf4\x09\x5a\x6b\x7e\x43\x2e\x4d\xc4\x26\x30\xa3\xfa\x43\x92\x32\x53\xa3\x47\x95\xc6\x2d\x99\x64\xac\x1b\x21\x80\x37\x27\x52\xb6\x41\xa1\x5d\xd6\x75\xc5\xa5\x30\x04\x41\xff\x94\x7e\xf3\xb3\xec\xe3\xa0\x73\x32\x8a\x2b\x92\xbd\x2f\x1c\xa2\xaa\xd0\xb9\xb9\x50\x6a\x91\x25\x19\xd8\xa1\xf0\xd1\x0d\x0c\xbd\x0a\xf7\xb3\x19\x00\xc0\xf5\x35\xbc\xd6\x80\xda\x4b\x1f\xed\xbf\x35\x96\x64\x34\x47\xa9\x77\xcc\x96\x82\xaf\xb6\xe2\x28\x14\x67\x02\x47\x20\x6c\xad\x69\x40\x84\xb4\x62\x42\x43\x51\x86\xe4\x3e\xc6\xdb\x89\xdd\x35\x77\x21\x3c\x04\x57\x07\x33\x60\x23\x3d\x05\xeb\x71\x8f\x3a\x31\x20\x03\x26\xce\xfa\x09\x76\x87\x21\x23\x3d\xa7\x82\x79\x03\xef\xbd\x95\x7a\xb7\x04\xd1\x98\x4e\xfb\x1b\xf8\xf0\x56\x7e\xfa\xcb\xff\x2f\x99\xd4\x0d\xbc\xae\x6b\x8b\xce\xbd\x0a\x7f\x7f\xf8\xf0\xee\xc7\x1b\xf8\xf0\x4e\x7b\x3a\x91\xd9\x0e\x1f\x2f\xfe\x88\x02\x35\xb6\xc6\x49\x1f\x42\xfc\x71\xf1\x7f\x4c\x47\x9f\x10\xdf\x9b\xa1\xf0\xde\x94\xa2\x67\x86\x17\x44\xff\xe9\x11\xb1\xf7\x08\x3b\x65\x36\x42\xc1\xa6\xb3\x3a\x66\x05\x1d\xab\x84\x52\x74\x8a\x8a\x90\x00\x6d\xf4\xcb\x7f\xa3\x35\xb0\x09\xed\xe3\x82\x3e\x5c\x2c\x9e\x52\x66\x6c\xfb\x81\xa4\x6f\x06\xd4\xa9\xba\x0c\x8d\xdf\x47\x38\x6b\xd2\x86\x72\xe6\x7a\x34\x92\x4b\xf9\x3f\xf3\x3d\x0a\xeb\x1d\x7a\x4f\x51\x1d\x25\x07\xc9\x85\x91\x6b\x53\xc1\x67\xa8\xcd\x79\x6f\x4c\xa2\xc1\x3d\x1f\x1e\x5f\x38\x08\x9b\x18\x24\x45\xf9\xdc\x43\xaf\x5b\xaa\xbf\xcf\x51\x0e\x49\xc6\x2a\x76\xaa\x58\x2f\x42\x49\x20\x8d\x52\xa8\x52\x71\x4f\x44\x86\x19\xca\x7d\x2b\x55\x11\x4e\xe8\x53\x8b\xab\x33\xbe\xef\x3c\x64\xa4\x14\x19\x96\xbc\x8c\x86\xf5\x26\xc1\x05\x2a\xa8\xcb\x7c\x77\xd0\x9d\x15\x0a\xea\x86\xa6\x8d\xe1\xd4\x1a\xe7\x64\x6c\x88\x66\x0b\x95\x45\xc1\x42\xc4\xa6\x18\xfd\x66\x5d\x2f\x3a\x69\x4c\x50\x8b\x11\x1b\xd9\x54\x58\xa9\x4e\x11\x7a\x71\xc1\x35\x47\x9d\xcc\xbb\xfa\x1c\xa7\xe5\x9e\x17\x0b\x5f\x62\xf9\x36\x86\x0a\x67\xa8\xbb\x03\x91\xc5\x02\x49\xe0\xd3\xb5\x58\xc9\xad\xac\x62\xec\xf6\x25\xb0\xa0\x22\x1d\x88\x83\x90\x4a\x84\xa6\x45\x5d\x38\x57\x91\xe2\xe0\x6d\x00\x86\x04\x78\x37\xa9\x19\x31\xeb\x83\x91\x35\xb4\x42\xcb\x8a\x2c\xc4\x19\x49\x79\xc7\x7f\xa4\x12\x3a\x24\x94\x73\x36\x07\xb3\x83\x4e\xdf\x69\x33\x62\xf8\xba\x0e\xa0\x4c\x28\x75\x5a\x92\x4a\xec\x98\xac\xa2\x83\xb6\x0b\x5c\x38\x5e\x9a\x4e\x79\xd9\x2a\x84\x03\x95\xaa\x91\x8e\x11\x3a\x65\x28\x5a\xed\xb1\xba\x0b\x5d\x35\x42\xa4\x70\x0b\x3a\xed\xa5\xe2\x07\x35\x3a\xee\x6f\xc1\x78\x63\x93\x59\x14\xd5\x1e\xeb\x25\xb4\xc6\x53\x7c\x92\x8c\xb0\x47\xd5\x26\xad\xa1\x45\xcb\x29\x9a\xbd\x9d\x6e\x4f\xa7\x9e\xc4\x23\xe5\x3e\x48\xf7\x3a\x79\xe3\xd6\xa4\xc6\x30\x2f\xab\xcf\xe2\x06\xde\x18\xa3\xca\x68\x48\xa6\x06\xd7\x6d\xe2\x74\xf2\x68\x3a\xa5\x40\x2b\x88\x10\x22\xb6\xe8\x3b\x4b\x5d\x20\x22\xcf\x8c\xe0\x2c\x36\xe6\xc0\x0d\x21\x20\xb9\xc1\xc5\x51\xa0\xf4\x18\xf9\x85\x8b\x6a\x82\xc2\x03\x2a\x32\xdd\x3a\xea\x9d\x94\x5b\xac\x8b\xdb\xef\x0d\xc1\x6a\x63\xc9\xc7\x14\x5d\xe1\xb6\xf4\x4b\x06\xb6\x61\xe0\x42\x49\xd0\x28\xe7\x16\x98\x0d\x61\x1e\x90\xde\xa1\xda\x16\xd4\x0c\x8f\x74\xb1\xab\xd7\x03\x78\xcd\x5a\xad\x93\x0c\xeb\x69\x6d\xc6\x92\xb2\x87\x8e\x17\x9d\xf2\xfd\x3d\x5b\xec\x61\x50\x5e\xe9\x3f\x1a\x31\x46\x8f\x02\x23\x58\x5b\x74\x71\x08\xda\x32\x0c\x37\xd1\xd0\xe4\x01\x38\x08\xd5\xe1\xd9\xb5\x70\x65\x95\x72\xe7\xdb\x6f\x53\x6b\x3a\x3b\x49\xff\x5d\x7d\xec\x21\x50\x2c\x03\x4d\xe7\x3c\x65\x30\x71\x72\xa2\x41\xc2\xa0\xc3\x6c\x8c\x09\xd1\x23\x18\x56\xea\xea\x8c\x3c\xb5\xe0\x33\xe8\x42\x0e\x58\xed\xd0\xdf\x9e\x5a\x9c\x2f\x56\xb2\x26\xd3\x6f\x25\xda\xbe\x83\x86\x7f\x13\x9a\xe1\x0b\xe6\xa8\xd1\xbe\x5a\x89\x00\x0e\x86\xcd\x95\x5f\x77\x9d\xac\xcf\xb0\x4d\xb4\x03\xbd\x5b\x14\xb2\x3d\xcc\xca\x5f\x83\xee\x95\xc6\xc8\x3f\xdf\xbd\x22\x5a\x99\x68\x5e\x52\x47\x2f\x3e\xa3\x79\x7d\xc4\xd4\x32\xa4\xae\x54\x57\x23\x08\xc8\xb3\x68\x10\x83\x2b\x55\xe9\xa0\xd8\xb6\x32\x95\x23\x66\x84\x4f\x33\xdd\x73\x46\xba\x60\x86\x80\xdc\x33\x1d\x9a\xc1\x6a\x93\x0e\x4d\xcf\x6f\x4b\x50\xf2\x0e\xc1\xb5\x4a\x32\xe4\x6f\xa0\x6b\xa9\x6a\x64\x22\x0e\x75\x1d\x5e\xd0\x38\x28\xb7\x9c\x6f\x1e\x5a\x15\xa6\x4f\x78\x7e\xdb\x4b\xce\x1a\xb7\xbd\x68\x7a\xf0\xe2\x0e\xfb\x2a\x45\x95\x2b\xbe\xa1\x6a\x71\xc1\x0d\xc5\x66\xe2\xb1\x94\x67\xa1\x28\xdb\x23\xcd\x79\x88\xd6\x94\xe1\x8b\x52\xa4\x1d\xfa\xf7\x5d\x4b\xa3\x26\xd6\x7c\x80\xc2\x9f\xd0\x44\x6a\x5f\x83\xa2\xaa\xa4\xe3\x56\x7c\x08\x63\x3d\x1f\x8c\x03\x14\xf7\x95\xa8\x34\xc9\xd1\x0e\xda\xd8\x64\xb3\x98\xe6\x3b\x5f\xdc\xc0\xfd\x2d\xa7\x23\xb5\x89\x87\x52\xd6\x5f\xa2\x24\xc7\x3d\x72\x11\x35\x96\x03\x90\x31\xb4\x3c\x50\x67\x3e\xb5\xdc\x92\x83\x04\x61\x10\xa7\xb7\x45\xf2\x24\x6a\xaf\x93\x1e\x1c\xab\x42\xc7\x5b\x40\xa3\x28\x13\x72\x7b\xae\xd8\xbf\x51\xd1\x89\x75\xcd\xdb\x8e\x27\xcc\x1a\xb7\x79\xaa\xb8\xa8\xa2\x74\xe7\x1a\xc6\x5a\x43\x3f\x53\x2b\x1c\x25\x7a\x3f\xae\x14\x58\xb1\xc6\x80\x25\xd8\xd4\x7d\xa4\x85\xa6\xc2\x4b\x91\x7e\x85\x97\xf5\x5d\x26\xd4\xbc\x84\x5b\x2b\xb4\xdb\xa2\x35\x76\x99\x51\x59\xd8\x48\xa5\xe1\xb4\xc7\x96\x5d\x3f\xac\x90\x7d\x5d\xd2\x02\x4e\xe8\x3f\x27\x0d\x58\x95\x9b\x81\x34\x3d\xe3\x2c\xd7\x70\x3c\x5e\xa5\x1f\xcb\x30\xc8\xd8\x15\xfd\xc3\xe8\x6e\x8c\x1f\x25\xaa\x3a\xc6\x9e\x15\xe3\x2a\x63\x08\x42\x1e\x2e\x3b\x68\x62\x56\x28\xa8\xff\x10\x47\x2f\x02\x7b\x62\xbc\x21\x94\x8e\x27\x35\xac\xe1\x20\x45\xd8\x10\x44\x61\xe9\xf1\x7c\xb1\x8e\x33\x5c\x41\xf1\xdd\x68\x25\x13\xeb\x15\x85\xda\xc6\x98\xbb\x3b\x44\x46\x5f\xc6\x86\xd6\x44\xcf\x79\xa0\x2b\xb1\x20\xeb\x1b\xa3\x72\x83\xe5\x20\x19\x15\x26\xf1\x6a\x74\xde\x9a\x13\xd6\x25\x78\xfb\x99\xa8\x8e\x77\x43\xc7\xe1\x92\xa5\x6b\x6b\xe1\xb1\x2f\x99\x2f\xa8\xad\x7b\xa1\x38\x02\xd4\xa9\x94\xc5\x50\xe7\x57\x84\x5d\xca\x1d\x8a\x0b\xbb\x9a\x0d\xa2\x4e\x86\x0a\xd0\x2c\x20\xb0\x8c\xe8\x02\xcd\xd5\xa3\x66\xe2\xb8\x4e\x1b\x60\x87\xbe\xf0\xb2\x37\x10\x26\x62\xdc\x1a\x1b\xa4\xa6\x02\x3e\xda\x74\x9e\xcf\x01\x92\xc1\x4a\x6b\xc3\xc4\x1c\xac\xc6\x5d\x3c\xc2\x4d\xd7\x8a\xa6\x61\x6c\x4e\x7d\x27\x4c\xd4\xd1\x1b\xab\x71\x3c\xa5\xf5\x4f\x28\xb8\xa4\x2e\xc5\xce\x46\x54\x77\xf3\xc5\x18\x4a\x59\x9c\x40\x52\xec\xee\x62\x6a\x7f\x06\x0c\xe1\x23\x9b\x94\x41\x13\x88\xe3\x12\xaa\x80\xcb\x90\x6e\x48\x93\x90\xd9\x37\xab\x6f\x6e\xe0\xea\x76\x60\xef\x04\xbe\xd8\x0f\xd1\xf6\x75\x67\xd3\xc2\x6a\xa8\x7c\x5a\x63\x38\x13\x0b\x09\x17\x58\xaa\x25\x74\x9f\xec\x8b\xf5\xd5\x23\x32\x96\xc2\x90\x2c\x03\x60\xf4\xbf\x6e\x5f\x09\x64\xc5\x9a\x3f\x4a\x21\xe0\x72\xcc\x08\xa8\x2e\x57\xa0\x71\x2c\x13\x16\x01\x3f\xb5\x58\x79\xac\xc7\x19\xc4\x93\x5d\x6e\x56\xfd\xa8\x4d\xb2\x2d\x83\xf5\xf0\x14\xf2\x49\xf7\x89\x10\xe7\x48\xde\xbe\x16\xb2\x14\xe4\x09\xea\xb1\x62\x67\x99\xf0\x27\xfa\xf1\x28\x70\xae\xaf\xe1\x0d\x2a\x73\x8c\x43\x29\x99\x62\xb0\x05\x4f\xd0\xcd\x75\x36\x02\x53\xdb\xe9\x97\x5e\x36\xf1\xeb\x0a\xf7\xae\x31\x3d\x36\xc9\x0e\x53\xc7\x1d\xee\xc9\x5a\xc1\x78\x2c\x37\x9a\xd8\xf0\x22\xd0\x2b\xbf\xa0\xad\xc2\xd6\x76\x05\x05\x7d\xb9\x3d\x4b\x2f\xf7\xbe\xdb\x90\x34\x73\xb3\x0d\x6d\xf9\xaf\xdf\xdf\x4f\x50\x7a\xf8\x6e\xbe\x18\x67\x34\xf0\x48\xc3\xb8\xe0\xbe\x24\x7b\xc3\x40\xa1\x8c\xe9\x07\x40\xe5\xa6\x4a\x40\x06\x36\x3c\xee\x35\xad\x3f\x41\x2d\xd9\x63\xc2\x9e\xd2\x84\x93\x82\x8f\x07\x2b\xf6\x6d\x36\xc3\x71\x6f\xa0\x36\xfa\x85\x9f\xa2\xdc\x6f\xf8\x27\xed\xb3\x04\xd7\x55\x7b\x62\x52\xbe\x7e\x7f\x94\xbe\xda\x6f\x8c\xb0\xf5\x7a\x09\x6b\x7e\xf6\xd6\xd8\xa3\xa0\xd9\x76\x0d\xe8\xab\xd5\x45\x53\x3c\x5c\x1c\x69\xca\x26\x1b\xa6\x83\xb8\x1b\x29\xf1\x5b\x8f\x38\x18\xc0\x49\x37\x40\x45\x17\x23\xf8\x79\x70\x6b\xe4\x80\x28\x74\x72\xdf\x64\x0a\xfc\x83\x88\xfc\x0b\x5e\xbd\x82\xad\x50\x0e\x2f\x29\x34\xb1\xc5\x58\x87\x8a\xbd\xee\xbb\x1e\xd3\x7d\xe1\x8a\x35\x2e\x4c\x6e\x30\x34\x1e\xc7\x5b\x8c\x44\x98\xec\x72\x7e\xff\x4b\x8f\xfe\x93\xfd\xaa\xa8\xcc\xdf\x3d\x31\xc0\xbf\x0e\x53\x7b\x3f\x8e\xa7\x16\xa2\xd0\x71\xe9\xd5\x8c\x78\x7e\xef\x84\x0a\x7f\x4d\xcc\xf2\x13\x13\xfc\xb3\xfa\x59\x9c\xb1\x73\x4a\x52\x4f\x1b\x27\xe9\xd5\xcf\x43\x68\x9f\x76\x0a\x7d\x7b\xa0\xbc\xa0\x3b\xe7\x0b\x84\xeb\x6b\x88\x5f\xb9\xc2\xaa\x52\xa8\x5c\x66\x61\x1d\x00\xc9\x9a\x87\xda\x88\x59\x42\xda\x46\x95\xfa\x9d\x2e\x7f\x03\x9d\x22\x1e\x01\xd5\x06\x77\x52\x6b\x46\x86\x25\xaa\xe9\xbf\xec\x4e\xdc\x7e\xb2\xb7\x07\x01\xe7\xc3\xc7\x0b\x78\xf9\xb8\x2f\xff\x96\xc3\x71\x8c\x07\xb8\x3c\xc5\x69\xb9\xf7\x1b\xe1\x2b\xfe\x98\x9a\x8e\x8b\x30\x5c\x8f\x97\x33\xe9\xfd\x25\x17\x3f\x3c\x77\x82\x16\x75\x4d\xd3\xb3\x1b\xe2\xc3\xb3\x78\x3a\xab\x24\x9f\x33\x3f\x4f\xb5\x85\x71\x4f\xa0\xb9\xd2\x39\xb4\x03\x54\x5c\x19\x5d\x59\xf4\xb1\xe9\x45\xf3\xf4\xdf\xa8\x32\x6c\x4f\x01\x38\xa6\x17\x3b\xc0\x60\x58\xcd\x13\x6e\xc2\x5e\x91\xda\x33\xf2\x97\x74\x59\x49\xf7\x4e\x3b\x4f\x56\x99\x97\x29\xb1\xb8\x81\x69\xef\xff\x10\xd0\x5b\xb2\x3e\x7f\xf7\xad\x4c\xd3\x0a\x3f\x98\x8c\x48\xbf\x0b\xbb\xb6\xf1\x77\x36\x16\xe3\x71\x90\xcb\x47\x32\xc8\xf5\xe6\xc2\xbe\x2d\x7d\x8b\x1b\x6c\xdb\x46\x9f\xe3\x98\xd0\x17\x42\xc5\x93\x99\xf3\x7f\xe9\xf1\x50\xe4\xc5\x1f\xca\x23\xd7\x35\x4f\x26\x50\x1f\x3a\x8f\xd6\xc6\x51\xe2\xf0\x67\x20\xfc\x89\xe0\x45\xcc\x19\xa5\xcc\xd1\xf1\xa8\x19\xfe\xaf\x0e\x13\xcf\x14\xbd\x87\xe3\x6d\x2f\x28\xd5\xce\x3e\x3f\xc2\x13\xf9\x33\x66\x39\xff\xec\x3d\xf3\xf9\xc2\xb8\x1f\x4b\x34\x1e\xd5\x29\xf2\x88\xa6\x08\xa6\x64\xb8\x3c\x14\xf6\xb2\x85\xa0\x5c\xbd\xfc\x17\x6c\x34\xb5\x29\x99\xb4\xcd\x21\x01\x8e\x8c\x56\xa6\x0b\xce\xc0\x4a\x13\x46\x9b\xea\x7a\x03\xca\x6c\xb8\x0c\xac\x43\x45\xc9\x9f\x20\x1b\xe1\xab\x7d\xf1\xfd\xe8\x3c\xa1\xbf\xb4\x43\x92\x0b\x1e\xfe\x13\x00\x00\xff\xff\x89\x68\x48\xef\x2c\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x4b\x93\xdb\xc6\x11\xbe\xf3\x57\x74\xad\x0f\x22\x1d\x8a\xeb\x43\x2a\x87\xad\xd8\xb2\x64\x5b\x55\x3a\x38\x95\xb2\x56\xd6\x21\x49\x15\x87\x40\x93\x1c\xef\x60\x06\x9e\x19\x90\x62\xb6\xf6\xbf\xa7\xba\xe7\x01\x0c\x08\xee\xae\x6c\xc5\x17\x71\x81\x99\x7e\x3f\xbe\x6e\xf8\xfa\xeb\xaf\x67\xb3\xaf\xe0\x76\x8f\xf0\x56\x99\x23\xbc\xed\xf4\x4e\x6e\x14\xc2\xad\xb9\x43\x0d\xce\x0b\x5d\x0b\x5b\xcf\x66\x5f\x7d\x05\xeb\xf4\x92\xdf\xad\xa1\x32\xda\x5b\x51\xf9\xd9\x8c\xaf\x4f\xdf\x04\xe9\x40\x1b\x50\x46\xef\xd0\x82\xd0\x20\xb5\x47\xbb\x15\x15\xce\xfc\x5e\x78\x10\x4a\xc1\x36\x5d\xf5\x7c\x35\xd1\x75\x70\x34\x9d\xaa\x61\x2f\x0e\xf4\x8a\x9e\x6f\x8d\x6d\xc0\x9b\xd5\x6c\xf6\x6e\x0b\x02\x3a\x87\xd6\xc1\x51\x68\xef\xe8\x40\x8d\xad\x32\x27\x10\xa0\xf1\x38\xa2\xb5\x04\xbf\x47\x69\x7b\x99\x6b\x83\x24\x98\x07\x8d\x58\xd3\x65\xd9\xb4\x0a\x1b\xd4\x9e\x4e\x42\xa1\x6a\x2f\xf3\x12\x36\x9d\x8f\xa4\x98\x81\x9b\xd5\xe6\x02\x89\x7c\xc9\x41\x8d\x5b\xa9\xb1\x06\xa9\xc1\xef\xa5\xcb\x52\xac\x82\x5d\x7f\x15\x9d\xf2\x6b\xb0\xe8\x4c\x67\xab\xc1\xcd\xd9\xec\x27\x51\xed\xc7\xf6\xc9\xe7\xfc\xa9\x45\x66\xee\xce\xb9\x5f\x26\x1a\x99\xfe\xd3\x9a\x83\xac\xd1\xae\x97\xb0\xfe\x05\x2b\x94\x07\xfe\x2d\x74\x0d\xeb\x37\x42\x09\x5d\xe1\xd4\x6d\xc7\xde\x76\x23\xf5\x2a\x25\x2c\x42\x6b\xf1\x65\x65\x74\x2d\xbd\x34\xda\x31\xa9\xd6\x38\x3f\x7c\xc6\x3e\xb7\xe8\xbc\x95\x95\x9f\x91\xa0\xf8\x09\xab\x8e\x5e\x82\xd9\xb2\xe4\xdb\x4e\x57\xe1\x30\x9b\x0b\x81\x35\x59\x31\xdf\x13\x10\x1f\x87\xad\xb0\xc2\x23\x6c\xb0\x12\x1d\xc9\xe2\x61\x27\x0f\xe8\xf8\x38\x05\x05\xff\x10\x1b\xa9\xa4\x3f\x91\x6d\xdc\x5e\x58\x9c\x09\xb0\xb8\x45\x8b\xba\xe2\x78\x0a\x6e\x64\xea\x41\x2e\xa3\xd5\x09\xf0\x53\x6b\x5c\x24\xb5\x95\xa8\x6a\xd7\x4b\x34\x93\x1a\x8c\x46\x30\x16\x1a\x63\x31\x49\xdc\x9b\x82\x02\x93\x62\xda\x99\x28\x50\x88\xd0\x91\x34\x8d\xb8\x43\xa8\x3a\xe7\x4d\x93\x2d\x1c\x4d\x93\x9d\x48\xb6\x29\xad\x4c\x01\x6e\xe0\x20\xac\x34\x1d\x9d\x96\x7a\xe7\xe0\x28\xfd\x9e\xc9\x87\x68\x5c\xcd\xde\x1a\x0b\xf8\x49\x10\x99\x25\x08\xd8\x8a\xae\x42\x0f\x95\xd0\xb0\xc1\x9e\x3a\xd6\xb0\x39\xa5\x84\x92\x7a\x37\x0b\xe6\x80\x14\x14\x45\xb4\x7c\x7d\x3d\x9b\xc9\xa6\x35\xd6\xc3\xd5\xaf\x12\x8f\xbf\xa0\x33\xea\x80\xf6\x2a\x3f\x7d\xd3\x59\x4d\x7f\xcf\xae\xaf\xaf\xcb\xd4\xa1\x27\xc5\xd3\x58\x1e\xb2\x24\x22\xc6\x8a\xc5\x41\x99\xb0\xf8\x7b\x27\xed\x54\x52\x95\xa9\xc0\x94\x7b\x51\xe1\x23\x82\xf3\x52\xa9\x50\x32\xa4\x07\xe1\x8a\x92\x03\x7b\xb4\x7d\xd4\x78\xfe\x8b\x03\xca\x34\x1c\x37\xdb\x4e\x31\xc9\xce\x07\x5f\x35\xe8\xf7\xa6\x8e\xae\x69\x84\x3e\x41\x6b\xcd\x6f\xc8\xa5\x89\xd8\x04\x66\x54\x7f\x48\x52\x66\x6a\xf4\xa8\xd2\xb8\x25\x93\x8c\x75\x23\x04\xf0\xe6\x44\xca\x36\x28\xb4\xcb\xba\xae\xb8\x14\x86\x20\xe8\x9f\xd2\x6f\x7e\x96\x7d\x1c\x74\x4e\x46\x71\x45\xb2\xf7\x85\x43\x54\x15\x3a\x37\x17\x4a\x2d\xb2\x24\x03\x3b\x14\x3e\xba\x81\xa1\x57\xe1\x7e\x36\x03\x00\xb8\xbe\x86\xd7\x1a\x50\x7b\xe9\xa3\xfd\xb7\xc6\x92\x8c\xe6\x28\xf5\x8e\xd9\x52\xf0\xd5\x56\x1c\x85\xe2\x4c\xe0\x08\x84\xad\x35\x0d\x88\x90\x56\x4c\x68\x28\xca\x90\xdc\xc7\x78\x3b\xb1\xbb\xe6\x2e\x84\x87\xe0\xea\x60\x06\x6c\xa4\xa7\x60\x3d\xee\x51\x27\x06\x64\xc0\xc4\x59\x3f\xc1\xee\x30\x64\xa4\xe7\x54\x30\x6f\xe0\xbd\xb7\x52\xef\x96\x20\x1a\xd3\x69\x7f\x03\x1f\xde\xca\x4f\x7f\xfb\xeb\x92\x49\xdd\xc0\xeb\xba\xb6\xe8\xdc\xab\xf0\xf7\x87\x0f\xef\x7e\xbc\x81\x0f\xef\xb4\xa7\x13\x99\xed\xf0\xf1\xe2\x8f\x28\x50\x63\x6b\x9c\xf4\x21\xc4\x1f\x17\xff\xc7\x74\xf4\x09\xf1\xbd\x19\x0a\xef\x4d\x29\x7a\x66\x78\x41\xf4\x9f\x1e\x11\x7b\x8f\xb0\x53\x66\x23\x14\x6c\x3a\xab\x63\x56\xd0\xb1\x4a\x28\x45\xa7\xa8\x08\x09\xd0\x46\xbf\xfc\x2f\x5a\x03\x9b\xd0\x3e\x2e\xe8\xc3\xc5\xe2\x29\x65\xc6\xb6\x1f\x48\xfa\x66\x40\x9d\xaa\xcb\xd0\xf8\x7d\x84\xb3\x26\x6d\x28\x67\xae\x47\x23\xb9\x94\xff\x3b\xdf\xa3\xb0\xde\xa1\xf7\x14\xd5\x51\x72\x90\x5c\x18\xb9\x36\x15\x7c\x86\xda\x9c\xf7\xc6\x24\x1a\xdc\xf3\xe1\xf1\x85\x83\xb0\x89\x41\x52\x94\xcf\x3d\xf4\xba\xa5\xfa\xfb\x1c\xe5\x90\x64\xac\x62\xa7\x8a\xf5\x22\x94\x04\xd2\x28\x85\x2a\x15\xf7\x44\x64\x98\xa1\xdc\xb7\x52\x15\xe1\x84\x3e\xb5\xb8\x3a\xe3\xfb\xce\x43\x46\x4a\x91\x61\xc9\xcb\x68\x58\x6f\x12\x5c\xa0\x82\xba\xcc\x77\x07\xdd\x59\xa1\xa0\x6e\x68\xda\x18\x4e\xad\x71\x4e\xc6\x86\x68\xb6\x50\x59\x14\x2c\x44\x6c\x8a\xd1\x6f\xd6\xf5\xa2\x93\xc6\x04\xb5\x18\xb1\x91\x4d\x85\x95\xea\x14\xa1\x17\x17\x5c\x73\xd4\xc9\xbc\xab\xcf\x71\x5a\xee\x79\xb1\xf0\x25\x96\x6f\x63\xa8\x70\x86\xba\x3b\x10\x59\x2c\x90\x04\x3e\x5d\x8b\x95\xdc\xca\x2a\xc6\x6e\x5f\x02\x0b\x2a\xd2\x81\x38\x08\xa9\x44\x68\x5a\xd4\x85\x73\x15\x29\x0e\xde\x06\x60\x48\x80\x77\x93\x9a\x11\xb3\x3e\x18\x59\x43\x2b\xb4\xac\xc8\x42\x9c\x91\x94\x77\xfc\x47\x2a\xa1\x43\x42\x39\x67\x73\x30\x3b\xe8\xf4\x9d\x36\x23\x86\xaf\xeb\x00\xca\x84\x52\xa7\x25\xa9\xc4\x8e\xc9\x2a\x3a\x68\xbb\xc0\x85\xe3\xa5\xe9\x94\x97\xad\x42\x38\x50\xa9\x1a\xe9\x18\xa1\x53\x86\xa2\xd5\x1e\xab\xbb\xd0\x55\x23\x44\x0a\xb7\xa0\xd3\x5e\x2a\x7e\x50\xa3\xe3\xfe\x16\x8c\x37\x36\x99\x45\x51\xed\xb1\x5e\x42\x6b\x3c\xc5\x27\xc9\x08\x7b\x54\x6d\xd2\x1a\x5a\xb4\x9c\xa2\xd9\xdb\xe9\xf6\x74\xea\x49\x3c\x52\xee\x83\x74\xaf\x93\x37\x6e\x4d\x6a\x0c\xf3\xb2\xfa\x2c\x6e\xe0\x8d\x31\xaa\x8c\x86\x64\x6a\x70\xdd\x26\x4e\x27\x8f\xa6\x53\x0a\xb4\x82\x08\x21\x62\x8b\xbe\xb3\xd4\x05\x22\xf2\xcc\x08\xce\x62\x63\x0e\xdc\x10\x02\x92\x1b\x5c\x1c\x05\x4a\x8f\x91\x5f\xb8\xa8\x26\x28\x3c\xa0\x22\xd3\xad\xa3\xde\x49\xb9\xc5\xba\xb8\xfd\xde\x10\xac\x36\x96\x7c\x4c\xd1\x15\x6e\x4b\xbf\x64\x60\x1b\x06\x2e\x94\x04\x8d\x72\x6e\x81\xd9\x10\xe6\x01\xe9\x1d\xaa\x6d\x41\xcd\xf0\x48\x17\xbb\x7a\x3d\x80\xd7\xac\xd5\x3a\xc9\xb0\x9e\xd6\x66\x2c\x29\x7b\xe8\x78\xd1\x29\xdf\xdf\xb3\xc5\x1e\x06\xe5\x95\xfe\xa3\x11\x63\xf4\x28\x30\x82\xb5\x45\x17\x87\xa0\x2d\xc3\x70\x13\x0d\x4d\x1e\x80\x83\x50\x1d\x9e\x5d\x0b\x57\x56\x29\x77\xbe\xfd\x36\xb5\xa6\xb3\x93\xf4\xdf\xd5\xc7\x1e\x02\xc5\x32\xd0\x74\xce\x53\x06\x13\x27\x27\x1a\x24\x0c\x3a\xcc\xc6\x98\x10\x3d\x82\x61\xa5\xae\xce\xc8\x53\x0b\x3e\x83\x2e\xe4\x80\xd5\x0e\xfd\xed\xa9\xc5\xf9\x62\x25\x6b\x32\xfd\x56\xa2\xed\x3b\x68\xf8\x37\xa1\x19\xbe\x60\x8e\x1a\xed\xab\x95\x08\xe0\x60\xd8\x5c\xf9\x75\xd7\xc9\xfa\x0c\xdb\x44\x3b\xd0\xbb\x45\x21\xdb\xc3\xac\xfc\x35\xe8\x5e\x69\x8c\xfc\xf3\xdd\x2b\xa2\x95\x89\xe6\x25\x75\xf4\xe2\x33\x9a\xd7\x47\x4c\x2d\x43\xea\x4a\x75\x35\x82\x80\x3c\x8b\x06\x31\xb8\x52\x95\x0e\x8a\x6d\x2b\x53\x39\x62\x46\xf8\x34\xd3\x3d\x67\xa4\x0b\x66\x08\xc8\x3d\xd3\xa1\x19\xac\x36\xe9\xd0\xf4\xfc\xb6\x04\x25\xef\x10\x5c\xab\x24\x43\xfe\x06\xba\x96\xaa\x46\x26\xe2\x50\xd7\xe1\x05\x8d\x83\x72\xcb\xf9\xe6\xa1\x55\x61\xfa\x84\xe7\xb7\xbd\xe4\xac\x71\xdb\x8b\xa6\x07\x2f\xee\xb0\xaf\x52\x54\xb9\xe2\x1b\xaa\x16\x17\xdc\x50\x6c\x26\x1e\x4b\x79\x16\x8a\xb2\x3d\xd2\x9c\x87\x68\x4d\x19\xbe\x28\x45\xda\xa1\x7f\xdf\xb5\x34\x6a\x62\xcd\x07\x28\xfc\xdd\xa0\x92\xd6\x92\xab\xa1\xb0\x8c\x26\xe2\x44\x4f\x67\xce\xaa\xef\x71\x8f\x5c\xdb\xd8\xe4\xa7\x96\x9b\x63\xd5\x59\x32\xa2\x3a\x81\x4b\x5c\x68\x42\xe3\x4d\x4d\x11\xd2\x63\x05\x72\x57\x99\x16\x70\xbe\xb8\x81\xfb\x5b\xce\x5b\xea\x27\x0f\xa5\x52\xbf\x44\xe9\x93\x44\xc6\x72\xa4\x32\xd8\x96\x07\x6a\xe1\x51\x3c\xe2\xd8\x66\x99\xf0\x5c\x24\x6e\xe6\xa1\xc3\xc6\xa0\x16\x3a\xde\x02\x9a\x59\x99\x90\xdb\x73\x69\xff\x8d\xaa\x53\x2c\x80\xde\x76\x3c\x8a\xd6\xb8\xcd\xe3\xc7\x45\x15\xa5\x3b\xd7\x30\x16\x25\xfa\x99\x7a\xe6\xa8\x22\xf4\x73\x4d\x01\x2a\x6b\x0c\xa0\x83\x4d\xdc\x87\x64\xe8\x3e\xbc\x3d\xe9\x77\x7d\x59\xdf\x65\x82\xd7\x4b\xb8\xb5\x42\xbb\x2d\x5a\x63\x97\x19\xbe\x85\xd5\x55\x9a\x62\x7b\x10\xda\xf5\x53\x0d\xd9\xb7\x77\xf1\x09\xfd\xe7\xe4\x0b\xab\x72\x33\x90\xa6\x67\x9c\xe5\x1a\xce\xd1\xab\xf4\x63\x19\x26\x1e\xbb\xa2\x7f\x18\x06\x8e\x81\xa6\x44\x55\xc7\x29\xdf\x8a\x71\x39\x32\x84\x35\x0f\x97\x1d\x34\x31\x54\x14\xd4\x7f\x88\x33\x1a\xa1\x42\x31\x5e\x25\x4a\xc7\x23\x1d\xd6\x70\x90\x22\xac\x12\xa2\xb0\xf4\x78\xbe\x58\xc7\x61\xaf\xa0\xf8\x6e\xb4\xbb\x89\x85\x8d\x42\x6d\x63\xcc\xdd\x1d\x22\xc3\x34\x63\x43\x0f\xa3\xe7\x3c\xf9\x95\xd9\xc8\xfa\xc6\xa8\xdc\x60\x39\x71\x46\x85\x49\xbc\x1a\x9d\xb7\xe6\x84\x75\x89\xf2\x7e\x26\xaa\xe3\x25\xd2\x71\xb8\x8d\xe9\xda\x5a\x78\xec\x6b\xeb\x0b\xea\xff\x5e\x28\x8e\x00\x75\x2a\x65\x31\x04\x11\x14\x81\x9c\x72\xd9\xe2\xc2\x52\x67\x83\xa8\x93\xa1\x02\x86\x0b\x50\x2d\x43\xbf\x40\x73\xf5\xa8\x99\x38\xae\xd3\xaa\xd8\xa1\x2f\xbc\xec\x0d\x84\xd1\x19\xb7\xc6\x06\xa9\xa9\xd2\x8f\x56\xa2\xe7\x03\x83\x64\x54\xd3\xda\x30\x5a\x07\xab\x71\xbb\x8f\xb8\xd4\xb5\xa2\x69\x18\xc4\x53\x83\x0a\xa3\x77\xf4\xc6\x6a\x1c\x4f\x69\x4f\x14\x2a\x33\xa9\x4b\xb1\xb3\x11\xd5\xdd\x7c\x31\xc6\x5c\x16\x27\x20\x17\xbb\xbb\x18\xef\x9f\x81\x57\xf8\xc8\x26\x65\xd0\x04\x34\xb9\x04\x3f\xe0\x32\xf6\x1b\xd2\x24\x08\xf7\xcd\xea\x9b\x1b\xb8\xba\x1d\xd8\x3b\xa1\x34\xf6\x43\xb4\x7d\xdd\xd9\xb4\xd9\x1a\x2a\x9f\xf6\x1d\xce\xc4\x42\xc2\x05\x96\x6a\x09\xdd\x27\xfb\x62\x7d\xf5\x88\x8c\xa5\x30\x24\xcb\x00\x41\xfd\x99\x3e\x77\xe8\xfb\xdc\xa8\xb7\xf1\x04\x15\xdb\x7b\x68\x04\x2e\x2e\xaa\x6b\xfc\x44\x01\x38\x6a\xcf\x0c\xd0\x62\x1b\x18\x65\x15\x70\x85\x66\xf4\x54\x97\xeb\xd3\x38\xd2\x09\x8b\x80\x9f\x5a\xac\x3c\xd6\xe3\xa4\xe2\xa9\x30\xf7\xaf\x7e\x4c\x27\xfe\xcb\x60\x50\x3c\x85\x14\xd3\x7d\x6e\xc4\x19\x94\x37\xb7\x85\x2c\x05\x79\x82\x89\xac\xe9\x59\x72\xfc\x89\x16\x3d\x8a\xa5\xeb\x6b\x78\x83\xca\x1c\xe3\x40\x4b\xa6\x18\x6c\xd0\x13\xec\x73\x9d\x8d\xa0\xd6\x76\xfa\xa5\x97\x4d\x84\x16\xdc\xce\xc6\xf4\xd8\x24\x3b\x4c\x4d\x78\xb8\x63\x6b\x05\x63\xb9\xdc\x7b\x62\x0f\x8c\x20\xb1\xfc\xfa\xb6\x0a\x1b\xdf\x15\x14\xf4\xe5\xf6\x2c\xe3\xdc\xfb\x6e\x43\xd2\xcc\xcd\x36\x74\xea\xbf\x7f\x7f\x3f\x41\xe9\xe1\xbb\xf9\x62\x9c\xe4\xc0\xe3\x10\x43\x85\xfb\x92\xec\x0d\x63\x87\x32\xcc\x1f\x00\x95\x9b\xaa\x0a\x19\xeb\xf0\xa8\xd8\xb4\xfe\x34\x8c\xe3\x38\x1d\xa5\xe0\xe3\xa1\x8c\x7d\x9b\xcd\x70\xdc\x1b\xa8\x8d\x7e\xe1\xa7\x28\xf7\x5f\x07\x26\xed\xb3\x04\xd7\x55\x7b\x62\x52\xbe\x7e\x7f\x94\xbe\xda\x6f\x8c\xb0\xf5\x7a\x09\x6b\x7e\xf6\xd6\xd8\xa3\xa0\xb9\x78\x0d\xe8\xab\xd5\x45\x53\x3c\x5c\x1c\x87\xca\xbe\x1b\x26\x8b\xb8\x57\x29\x21\xdd\x39\xce\xfc\xf5\x4b\x21\xb0\x91\x03\xa2\xd0\xc9\x7d\x93\x29\xf0\x2f\x22\xf2\x1f\x78\xf5\x0a\xb6\x42\x39\xbc\xa4\xd0\xc4\x06\x64\x1d\x8a\xf8\xba\x6f\x84\x4c\xf7\x85\x2b\x56\xc0\x30\xb9\xfd\xd0\x78\x1c\x6f\x40\x12\x61\xb2\xcb\xf9\xfd\x2f\xbd\x36\x98\x6c\x61\x45\xb1\xfe\xee\x89\xe1\xff\x75\x98\xf8\xfb\x51\x3e\x75\x15\x85\x8e\x87\x3f\xcd\x20\xe8\xf7\x4e\xa8\xf0\xd7\xc4\x1e\x60\x62\xfa\x7f\x56\x8b\x8b\xf3\x79\x4e\x49\x6a\x73\xe3\x24\xbd\xfa\x79\x88\xf6\xd3\x3e\xa2\x6f\x1b\x94\x17\x74\xe7\x7c\xf9\x70\x7d\x0d\xf1\x0b\x59\x58\x73\x0a\x95\xcb\x2c\xac\x03\x46\x59\xf3\x40\x1c\x61\x4c\x48\xdb\xa8\x52\xbf\x0f\xe6\xef\xa7\x53\xc4\x23\xc6\xda\xe0\x4e\x6a\xcd\x60\xb1\x04\x3a\xfd\x57\xe1\x89\xdb\x4f\xb6\xfb\x20\xe0\x7c\xf8\x78\x01\x2f\x1f\xf7\xe5\x3f\x72\x38\x8e\x21\x02\x97\xa7\x38\x69\xf7\x7e\x23\xc8\xc5\x1f\x62\xd3\x71\x11\x06\xf3\xf1\x62\x27\xbd\xbf\xe4\xe2\x87\xe7\x4e\xdf\xa2\xae\x69\xf2\x76\x43\xc8\x78\x16\x4f\x67\x95\xe4\x73\x66\xef\xa9\xb6\x30\xee\x09\x34\x6a\x3a\x87\x76\x00\x94\x2b\xa3\x2b\x8b\x3e\x36\xbd\x68\x9e\xfe\xfb\x56\x46\xf2\x29\x00\xc7\xf4\x62\x07\x18\xcc\xaf\x79\xe8\x4d\x70\x2c\x52\x7b\x46\xfe\x92\x2e\x2b\xe9\xde\x69\xe7\xc9\x2a\xf3\x32\x25\x16\x37\x30\xed\xfd\x1f\x02\xa0\x4b\xd6\xe7\x6f\xc6\x95\x69\x5a\xe1\x07\xc3\x12\xe9\x77\x61\x4f\x37\xfe\x46\xc7\x62\x3c\x8e\x7b\xf9\x48\xc6\xbd\xde\x5c\xd8\xd5\xa5\xef\x78\x83\x4d\xdd\xe8\x53\x1e\x13\xfa\x42\x40\x79\x32\x73\xfe\x92\x1e\x0f\x45\x5e\xfc\xa1\x3c\x72\x5d\xf3\x64\x02\xf5\xa1\xf3\x68\x6d\x1c\x25\x0e\x7f\x42\xc2\x9f\x08\x5e\xc4\x9c\x51\xca\x1c\x1d\x4f\x9f\xe1\xff\x08\x31\xf1\x4c\xd1\x7b\x38\xde\xf6\x82\x52\xed\xec\xd3\x25\x3c\x91\x3f\x63\x96\xf3\xcf\xde\x51\x9f\x2f\x9b\xfb\x49\x45\xe3\x51\x9d\x22\x8f\x68\x8a\x60\x4a\x86\xcb\x43\x61\x2f\x5b\x08\xca\x6d\xcc\xff\xc1\x46\x53\xcb\x93\x49\xdb\x1c\x12\xe0\xc8\x68\x65\xba\xe0\x0c\xac\x34\x61\xb4\xa9\xae\x37\xa0\xcc\x86\xcb\xc0\x3a\x54\x94\xfc\xf9\xb2\x11\xbe\xda\x17\xdf\x9e\xce\x13\xfa\x4b\x3b\x24\xb9\xe0\xe1\x7f\x01\x00\x00\xff\xff\xb3\x16\x85\x0a\x68\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0xf8, 0x8d, 0xcb, 0xe3, 0x32, 0x7b, 0xbd, 0xcc, 0x38, 0x9b, 0x27, 0x57, 0x8e, 0xda, 0x5c, 0xea, 0x31, 0x7f, 0x59, 0x5e, 0xcb, 0x71, 0xa0, 0x77, 0xf4, 0x80, 0x14, 0x16, 0xd7, 0x2d, 0x30}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x58, 0xb4, 0x7a, 0xf8, 0x8, 0x4, 0xc4, 0xc2, 0xea, 0xa0, 0xca, 0x57, 0x7c, 0xb0, 0x3c, 0xa2, 0xc1, 0xd1, 0xc2, 0xc3, 0x40, 0x32, 0x60, 0xda, 0x66, 0x3e, 0xe, 0x5, 0x8f, 0xd4, 0xbd, 0x50}}
 	return a, nil
 }
 
@@ -139,7 +139,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\xdf\x73\xdb\x36\xf2\x7f\xf7\x5f\xb1\xf5\xc3\x37\xd2\x8c\x2b\xf7\xe1\x3b\xf7\xe0\xa9\x9b\x9f\x97\x4e\x5f\x7a\x9d\xd4\xbd\x3c\x64\x32\x63\x88\x5c\x5a\x38\x53\x00\x07\x00\xa5\xa8\x19\xff\xef\x37\x0b\x80\x24\x40\x82\x14\xe5\xf8\x9a\xde\x4d\xf5\x90\x58\x12\xb1\xd8\x5d\xec\xee\x67\x17\x0b\x88\x6f\x2b\xa9\x0c\x9c\xbf\xad\xc5\x1d\x5f\x97\x78\x23\xef\x51\x9c\x9f\x9d\x5d\x5e\x5e\xc2\xcd\x06\x21\x93\xc2\x28\x96\x19\x30\x1b\x66\x80\x95\xa5\xdc\x6b\x60\x02\x58\x96\xc9\x5a\x18\x30\x12\x14\x66\xc8\x77\x08\x15\x3b\x6c\x51\x18\x0d\x5c\xc0\xb6\x2e\x0d\xaf\x4a\x84\xc2\xd3\xb5\x04\x0d\x11\xd7\x50\x6b\x2e\xee\x80\x01\xfd\x57\x22\xdc\x7e\x8e\x26\x5f\xbd\x73\xf4\xd4\xc3\x2d\x64\xac\x62\x6b\x5e\x72\x73\x58\x79\x8e\xb8\x0e\x3e\x04\xbd\x91\x75\x99\x03\xcf\x91\x95\xe5\x01\xd6\x08\xda\x48\x85\x39\x30\x62\x18\xc1\x0e\xba\x8d\xc8\xff\xba\xe7\x26\xdb\xac\x25\x53\x79\x3b\xd3\x2f\xf5\xba\xe4\xd9\x2f\xcc\x6c\xe0\x1a\x2e\x2b\xfb\xee\xf2\x47\x14\xa8\x78\xf6\xf6\xa6\x79\xea\xd6\x52\x5b\xd7\x06\xb8\x81\x8c\x89\x70\x3a\x71\xd8\x6f\x50\xa1\xe3\xf2\x8c\x65\x19\x6a\xbd\x60\x65\xb9\xec\x14\x38\xc6\x05\x7c\x3e\x03\x38\x03\x00\xb8\xbc\x84\x5f\x8d\x54\xec\x0e\x81\x89\x1c\x1c\x57\x40\x6c\x69\xfb\x7d\x48\xb6\x44\xd3\x3c\x4c\x0f\x5c\x85\x6f\x92\x0f\x77\x32\x5e\x05\x7f\x27\x1f\x1d\xaa\x25\x1a\xe2\x79\x75\xf6\x81\x3b\x14\xde\x38\xb8\x06\xdc\x72\x63\x30\x87\xfd\x06\x05\x30\x10\xb8\x87\x1d\xab\x4b\x13\xae\x19\xd7\xc0\xf2\x1c\x73\x32\x1d\xd6\xd2\xd2\x81\x42\x14\x6a\x59\xab\x0c\x57\xed\xb7\x03\x36\xdd\xb4\xff\x24\xda\xaf\x5b\xd2\x2f\x89\xec\xc2\x1c\x2a\xbc\x82\x9b\x43\x85\x17\x21\xd5\x7f\xec\x05\xaa\x2b\x78\x99\xe7\x0a\xb5\x7e\x7e\xe1\x68\x1e\x7b\x75\x7c\xf7\xc6\x2f\x4f\x50\x43\x4a\x05\x0a\xb7\x72\x87\x39\x14\x4a\x6e\x81\xc1\x93\xea\xe1\x9d\xa3\x1d\x69\xe2\xcb\x55\xf1\x64\xea\xc8\xb1\x92\xda\xbb\x90\x90\x86\xdc\x28\x93\xdb\xaa\x44\x83\xf9\x51\x51\x7f\x96\xe6\x75\xf3\xf0\x1b\x47\x28\x92\x93\x6d\x29\x2c\x5d\xc1\x6f\x6f\xf9\xa7\xbf\xfd\xff\x4c\xd1\xc6\x75\xd3\x93\x8b\x0b\x83\xaa\x60\x19\x3a\xd9\x50\x14\x52\x65\xa8\x6d\xac\xd9\xa2\xd9\x48\x67\xd5\x14\x25\x29\x26\x48\x81\xf4\x3e\xdb\x60\x76\x0f\x52\xd0\x63\x2d\x39\xb6\x63\xbc\x64\xeb\x12\x3b\xa5\x72\xd4\x20\x0b\x0a\x8c\x09\x23\xb0\x21\x81\x95\x5a\x02\x7e\xaa\xa4\xf6\x93\xb6\xe4\x1a\xa5\x3a\x2e\x34\x4d\xdb\x7c\x54\xd4\x22\xd7\x34\x3d\x37\x13\xea\x6d\xe7\xe9\x64\x0c\x82\x94\x8f\x45\x9f\x5b\x75\x86\x43\x8b\x5a\xc0\x1d\x1a\x6b\x85\xb4\x0a\x7a\xb1\xbc\x82\x0f\xf4\xd7\xc7\xe4\xf3\x3b\x8e\xfb\xe1\xa0\xf7\xdc\x6c\xbc\xda\x69\xfc\xe7\x1b\xbb\xaa\xfe\x93\x87\xa3\x84\x7e\xad\x2b\x42\x32\xcc\x63\x36\x3c\x99\x57\x52\x96\x69\x1a\x34\xdc\x6b\x6a\x41\xce\x78\x05\x2f\x7a\x78\x64\x09\x3e\x2c\x47\x47\x6b\x56\xe0\x9b\x39\x14\xc6\xbe\x78\x3e\x2d\x9c\x35\x9f\x26\x26\xbf\x3a\x90\x40\x81\xc9\x2f\x9d\x70\xd3\x24\x88\xc5\x57\x52\x29\xb9\x4f\x8d\xff\xbf\x31\x00\x76\x8c\x3d\xc4\x3e\xd0\x1a\x8a\x75\x01\x0b\x80\xde\x01\xfa\x98\xef\xf0\xbe\xc9\x0f\x54\x67\xac\xa1\xc5\x5f\x38\x77\xa1\x8c\x80\x88\x48\xf2\x3f\xeb\x44\x79\x6e\x4d\xde\x05\x4a\xfa\x6e\xeb\x5c\xa0\x75\xab\x81\xed\x33\x71\xe8\xcf\xcd\xb6\xd2\x13\xee\xfc\x8d\x64\xd7\x73\x3c\x21\xb0\xff\x2b\x48\xab\xe8\x62\xca\x49\xda\x35\xa1\x69\xde\xf0\xcc\x70\x29\x98\x3a\xc0\x46\x96\x79\x23\xef\x98\xae\x62\x15\x45\x94\xb8\xc8\xf1\x13\xe6\xb0\x3e\xa4\x28\x38\xb0\x21\x19\x57\xd1\xa8\xbe\x81\x34\x79\xc9\x12\x76\x4c\xb5\xf3\xbe\x0e\xa6\x6d\x9d\xa7\x43\x96\xef\x47\x4d\xe5\x07\x6f\x25\xcd\x74\x2f\xf3\x5c\xfb\x0c\xe0\xa8\x88\x07\x5a\x4d\x12\x25\x8c\x7b\x11\xb5\x18\x09\x07\x22\xd1\x9b\x17\x15\x53\x6c\x1b\x10\xbd\x72\xf9\x6b\x34\x89\x0b\x9d\xc0\x20\x43\x65\x18\x17\x5d\x7a\x1a\x92\x0a\x15\x19\x04\x51\xbb\x7e\x60\x36\x4a\xd6\x77\x9b\xa9\xac\x95\x1c\x23\x22\xb8\xe7\x65\x49\x30\xd7\xe6\x3d\x3d\x61\xa7\x57\xaa\x0d\x34\x2c\xcf\x7f\xc6\xbd\x8d\x19\x8b\x50\xce\x59\xeb\xb3\x0c\x82\xb7\x9b\x09\x5c\x44\x00\x06\x0a\x0b\x54\x28\x32\x6c\x78\x73\xb2\x57\x92\xb0\xc0\x32\xec\x6d\x2d\xd0\xe6\x1e\xa1\x4f\x6f\xcf\x5c\x41\x60\x63\x02\x70\xa1\x79\x8e\x7d\x51\xa3\x31\x94\x6c\xda\xa9\xde\x61\x01\xd7\x61\xb6\xbf\xb6\xac\x2d\x96\xe3\xf8\xfd\xfc\x39\x54\x4c\xf0\x0c\x16\xe7\xaf\x99\xb0\x79\x84\x13\x27\x12\xc6\x09\x62\x93\xac\x8e\xfa\xf9\xb2\xcf\xf9\x6b\x8b\xd0\xbc\x20\x6e\x89\x75\x32\xdd\x4a\xe1\x8e\xcb\x3a\xaa\x37\x0a\xa9\xc0\x50\x0d\x62\x4d\xe4\x82\x46\x08\x69\x22\x6a\xbc\x80\x85\xc6\xb2\x58\xa5\x5c\xea\x43\x23\xed\xea\x0e\x2d\x46\x2d\x96\x1f\xe1\xfa\x1a\x04\x2f\xfb\xeb\xe3\x39\xab\x35\x06\x2b\x12\xc8\x76\xa8\x10\x98\x86\x7b\x74\x5c\x91\xce\x9b\x98\x92\xa2\x13\x08\x41\x51\xd4\x6c\x50\x0c\x1e\x3b\x91\xed\x80\x66\x6a\x46\xca\xfa\x2c\x3b\x61\x32\x28\x72\x9e\x31\x63\x01\x83\xca\x49\x1b\x1f\x02\xd6\x36\x4c\xc3\x1a\x51\x24\x45\xb0\xde\x33\xf8\xc2\x4e\x33\x51\x08\x0c\x59\xbf\x98\x9d\xee\x36\x7a\x19\xa4\x87\x56\x53\x16\xaa\x9e\xaf\x98\xcb\x50\x4e\xc8\xa2\xdb\xd7\x20\x9d\x0e\x3c\xc0\x93\x8d\x4d\xf5\x01\xb0\xd4\x98\xb6\x94\x9f\x1a\xeb\xdd\x33\x0d\xac\x54\xc8\xf2\x03\x45\xba\xbe\xf5\x52\x69\xec\xac\xd7\xfa\xcf\x80\x94\xfd\x74\x71\x7e\xd3\x7a\x42\x4b\xca\xd9\x20\xb7\x79\x6c\x88\x7b\x3d\xb7\xe8\xb9\x57\x97\x76\x8d\x40\x44\xbd\x5d\xa3\xa2\xc4\x77\x16\x58\x50\x92\xbc\x3e\xb8\x3d\x84\x38\x6a\x6f\x10\x2a\xaa\x95\xc1\x96\xe2\xf4\xfe\x00\x4c\x35\x35\x7a\x1c\x63\x13\xaf\x14\x9a\x58\x7a\x0e\x48\x7a\xa4\xc1\xed\x12\xc4\x7c\x8d\xcd\xe6\xa9\xf9\x25\x75\xf4\xfc\x1b\x92\xbb\xcb\x7b\xfc\x9b\x90\xe8\xe9\xd8\xa0\x5f\x1d\xa8\x4e\x5f\x78\xe6\x3f\x74\xa5\xfb\xc7\x8b\x8e\x07\x9f\x58\x27\x60\xe1\x47\x74\x7e\xdb\x6c\xf1\xcc\x95\x79\x10\xda\x9d\x4c\xd7\x94\x9d\xbf\x74\xb4\x16\x49\xab\xbe\xbc\x84\xb7\x52\x01\xb2\x6c\x63\xd5\x7c\x41\x23\x1c\x70\x30\xaa\x91\x7b\xb1\xcb\xc3\x8b\x19\xe0\x0f\x17\x43\x68\x7d\xa6\x47\x6c\x28\x6f\xf3\xb1\x88\x0c\x99\x32\xf1\x40\x66\xee\x96\x7c\xe8\x6c\xbc\xb0\xe2\x05\x6c\x5d\x3b\x59\x57\xd1\xc2\xdd\xa1\x99\xc0\x63\xbb\x3c\xa9\xa0\x0f\x5f\x0e\xce\x63\x34\xf7\x78\x3a\x46\x07\xc3\x5d\x84\xf1\xf3\x53\x94\x71\x88\x8b\x39\xe8\xda\x9a\x63\x51\x97\xe5\x61\xb5\x5a\x25\x09\x78\xad\x1d\xc1\xfb\xb4\x3e\x3c\x03\xab\xd5\x8a\x0c\x20\xc4\x69\x21\x93\x40\xed\x32\xad\x38\xe0\x8d\x52\x9e\x07\xd9\xdf\xcc\xc3\xec\x1e\xcb\xbf\x9d\x8e\xdf\xc7\x48\x1e\x59\xe7\xe6\x75\xaa\x44\x73\xe9\x12\x12\x8b\x7c\x36\xbc\xcf\x97\xa6\x43\xff\x34\xd2\x87\xaf\xff\x04\xea\xcf\x83\xf9\xa3\x64\x06\xa0\x3e\x6b\xe4\x72\xf4\xdb\x87\xe4\x37\xc3\x4f\x1f\x4e\x43\xdd\xa7\x2d\xcc\x40\x57\x98\xf1\xe2\x40\x26\xbc\xdf\xf0\x6c\x03\xb7\xa4\xf6\x5b\x42\xb4\xdb\xf4\xae\xc7\x6d\xb3\x87\x1e\x11\xf4\xf5\x96\x0b\x6c\xdc\xac\xac\x03\x71\x1b\xb2\xb8\xc8\xca\x3a\xa7\xa0\x05\x07\x59\xab\x88\xa9\xf3\xbd\x62\x55\x85\xea\xbc\xc7\x9d\x93\x48\x53\x80\xda\x90\xbb\x31\xb8\x7d\x61\x99\x78\x2b\xd5\x9e\x29\x2a\xc3\x57\xfe\x4f\x54\xb7\x2b\xf8\xc9\x6d\x4b\xda\x7d\xb6\x75\x5c\x15\xd6\xda\x31\x25\x77\xa8\xf6\x8a\x1b\xe7\xd7\xce\x8f\x8d\x61\xd9\xc6\x6f\x69\xb7\xb5\x65\x58\x2c\x71\xb3\x91\xb5\x89\x45\xdd\xb0\x9d\xf5\x78\xd9\xed\x71\xb0\x08\x55\x0a\xae\xb4\x89\xf0\xff\x7f\xb3\xe2\x4d\x49\xe5\x37\xa8\x1a\x0d\xcb\xa2\x6f\xad\x5e\x59\xd6\x82\x22\xa3\x19\xf0\xd2\x29\xe4\x02\x14\x23\xe4\xa0\x67\x5c\x16\xeb\xad\xd4\x16\x88\xc6\x6e\x6e\x35\x01\xba\xc5\x36\xfa\x2e\xa2\xa7\x19\xcf\x53\xc1\x72\x6e\x7e\xf6\xde\x99\xea\xe9\x25\xfc\x63\x4a\x8c\x91\x57\xb0\xff\x37\x4c\x00\xc3\x6a\xb8\xd7\xb6\xd8\x4b\x75\x1f\x26\xde\x56\x54\xad\x51\x85\x3b\x12\x2b\xbb\x63\xb9\x58\x5e\xc0\x16\xb5\x66\x77\x78\x05\xe7\x2e\x85\xd6\x3a\x4e\xe7\x2c\x80\x53\x4e\x50\xf2\x7c\x58\x95\x37\xd8\x69\x2d\xc0\x9a\x05\x1a\x54\x21\x6a\x4e\xa4\x3d\xe3\xf0\x47\xe4\x26\xf0\xee\x49\x4b\xd7\x64\xd9\x3a\x0e\x5e\x83\xf5\x75\xeb\x44\xff\x0e\xe1\xe3\x91\x78\x35\xa3\xe8\x8c\x07\x2d\x27\xa1\xe4\x77\x54\x12\xa4\x82\x2d\xe5\x93\xb3\x2b\x38\x1f\x11\xe2\x80\x98\x6c\x7b\x8c\x00\x8b\x9e\x42\x16\xdd\x23\x9c\x0a\x13\xff\x25\xd8\xa2\x23\x70\x19\x40\x0b\xe9\x72\x2e\xb8\x10\x0e\x44\x03\x87\xf8\xd2\xb7\x15\xf8\x43\xea\x62\x2b\x67\x17\xec\xdb\x9a\xb8\x1f\xf1\x65\xbc\x88\x52\x74\x25\xe3\xd7\xac\xb7\x7d\x3c\x9f\x2c\xbb\xbd\x88\xae\x29\xf6\x24\x71\xfc\xaf\x42\xfe\x78\x21\xcf\x2f\xfe\xaa\xe5\x47\x86\x7f\xf5\x5a\xfe\x11\x85\xf1\x9c\x0a\x75\x1a\xf6\xf5\x07\xfe\x71\x66\xa9\x7b\x62\x99\xfb\x88\x3a\xf6\x84\x34\x20\x7c\x75\x29\x01\x49\x33\x5d\x55\x3e\x41\x49\x7b\x7a\x39\x9b\x2e\x65\x1f\x5d\xb0\xba\xd3\x2c\x04\xaf\x33\xea\xd5\x36\x91\x4f\xb9\xc0\x53\x76\x12\x07\xdc\xf8\xbe\xeb\x00\xda\xa3\x83\x3e\x8f\xeb\xfb\x39\x12\x7f\xfe\xbe\x9f\xcf\x34\x26\xd7\x00\x66\xb5\xfd\xfe\x98\xae\xdf\x68\x08\x92\x50\x70\xd7\x24\xeb\xad\xba\x93\x70\x5e\x9d\xb1\x72\x0f\x2f\xee\xf1\x90\xda\x8f\x1a\x70\xf3\xf7\xa7\x2c\x3a\xbc\xd5\x1d\x2d\x3b\x9a\xa3\x62\x23\x85\xc7\x9c\x6d\xb4\xaf\x51\x86\x34\x7f\x45\xfe\x73\xc3\xee\x53\x61\xc2\xad\xae\x3d\x4a\x22\x6b\x52\xa5\xcb\xf8\x6d\x1a\xa4\x64\x85\xaa\x1b\x90\xd8\x13\x49\x06\x19\xa9\x9a\x34\x94\x90\x89\x9b\xe3\xc1\xc4\x9d\x0b\xa2\x30\xd2\xe5\xaf\x49\x3e\x8f\xc4\xa7\x47\x9d\x5c\x1a\xcf\x0c\x53\x91\x53\x0a\xd4\xbd\x63\xb4\x53\x8e\xdc\xca\xd3\xb3\x2c\xb8\x9e\xc0\x62\x9a\x2c\xd8\x7c\x1e\x18\x47\xe0\xe6\xb1\xce\x7c\x0b\xd2\x6d\x1b\x74\x47\x7a\xec\x2e\x15\xd7\x21\xa3\xe7\xcb\xb3\x91\xb8\x17\xef\xf3\x78\x53\xc8\x51\x73\xd5\x4c\x30\x15\xad\xc6\xe4\x1d\x8f\x5d\x71\xcc\x82\x20\x68\x25\x22\x70\x1b\x8f\xfa\xfc\xb7\xae\x18\x2f\xf9\xf7\xdf\xd2\xff\xa3\x25\xfa\x51\x9f\x30\xca\x97\xe3\xd6\x39\x06\xbe\x11\x11\x9b\x83\xbf\xb1\x6b\xf8\x2a\x2e\xef\x1f\x61\x62\x3b\xc9\xed\x11\x28\xab\x98\x7b\xeb\x45\x61\x42\xda\x5f\xe0\xf1\x22\x35\xe5\x6c\xbb\xe6\x04\x60\xbc\x81\x68\x99\x31\x0d\x50\x53\x3c\x25\xe0\xd2\xbe\xae\x4c\xef\x42\x4f\x79\xb6\x42\x53\x2b\x71\x8a\x53\x5f\xb4\xb5\x7a\xd8\xe6\xf1\xaa\xcd\x75\xa3\x83\x66\x07\x96\xd2\xf2\x2e\x1b\xbf\x00\x9b\x0d\xf3\xb2\xb4\x67\xca\x19\x17\x91\x86\x23\x72\x9e\xd0\xc0\xba\x04\x62\xde\x7a\x11\x91\x27\x2d\x17\xb2\x16\x73\x53\x91\x2f\x3f\xeb\x38\x0c\x46\x37\xca\x62\x6b\x53\x2a\xfa\xa0\x3c\x38\x34\x7d\x34\xad\xe8\xaa\x9a\xc8\x99\xc9\x98\x2a\x85\x9a\x40\xd5\x9d\xc1\x8d\x52\xb0\x5e\x85\xe3\x2b\x9b\xa7\x88\x6a\xe9\x63\x1a\xef\x11\x8c\x13\x78\x3c\x08\x04\xf9\xcb\x91\xb2\xc7\xc9\xbc\x47\xb7\xc5\x35\x4d\x30\x55\xcc\x0d\x0b\xb9\xa3\xf1\x6d\xbc\xcc\x7d\xdf\x99\x6e\x6b\x96\xa4\x72\xbb\x61\x3e\x0c\xac\xcd\x6b\x32\xb2\xad\xc8\x63\x72\xc5\xf6\x8b\xe6\x64\xb7\xfd\x74\xcd\x4a\x26\x32\x5c\x0e\xa3\xed\x58\x55\xe1\x79\xe4\x45\xd7\xe0\x60\xbc\xf4\x4d\x62\x2d\xb7\xe4\x2d\x4c\x4b\xd1\xb7\x86\x70\x3a\xf8\x01\xbe\x5b\x7d\x97\x50\x80\x4d\xad\x52\x47\xd3\x93\x02\xbb\xdc\x2a\xb6\x96\x74\x39\x95\x92\x39\xfd\xe4\x23\xb3\xb0\xa1\xfe\x7c\x54\x73\xda\x9f\xd0\x65\x8e\xda\x28\xe9\xdd\xf2\x2c\x41\x41\xf0\x72\x0c\x95\x6c\x83\xc1\xe7\xb4\xfd\x24\x9b\x37\x6d\x34\x1b\xb6\xb9\x76\xcd\x81\x63\xed\xa2\x39\x21\x7f\x1f\xef\x80\x1e\x6c\x34\x6c\xc2\xbf\x6d\x59\xe0\xc4\x3c\x5e\x2a\x06\x6b\x29\x4b\x64\x02\xb6\xcc\xb6\x42\x06\x79\x94\x54\x0d\xf3\xcc\x33\x4f\x81\x3b\x3c\x26\xf8\xf8\x53\xde\x3d\xd3\xe3\xc5\xf1\x36\x87\x3d\xa8\x90\x30\x59\x2f\x4f\xc1\x4a\x8d\xbd\x65\x4e\xad\xe6\x91\x79\xbe\x69\x7a\x3e\x63\x4b\xfe\x23\x1a\xed\x31\xc9\x67\x0d\x4c\x6b\x7e\x27\x9a\xd5\xae\x94\xdc\xf1\x0e\x9b\x86\xe7\x97\xed\xd5\x2f\xca\x0b\x90\x94\xc7\xd4\x01\xd6\x98\xb1\x5a\x63\x8b\xa9\xdc\x5c\x50\xfe\xe2\x73\x87\x4a\x6a\xed\x81\x18\x4a\x29\xef\xa1\x16\x39\xba\x8e\xd1\x46\x4a\x77\xb6\x5c\x23\x92\x0e\xd9\x58\x37\x8f\xbb\xfb\x18\x02\xf0\x53\x85\x99\x2d\x89\xad\x61\xd9\xe5\x5c\x39\x96\x36\x58\x56\x1a\xee\x6a\xa6\x72\x60\x77\x8c\x0b\x4d\x65\x5b\xc1\x05\x37\x58\x1e\x20\xdb\x30\x4e\x42\xf6\x1a\x03\x44\x43\xda\x56\x24\x17\xce\x46\xa2\x89\xb7\xac\xe4\x99\x3d\xd3\x72\xcf\x6d\x10\x2d\xa0\xae\xf2\xae\x10\xcc\xec\xb5\xb7\x4a\xb9\x52\xb1\xe4\x9a\xb2\x2d\xed\x7c\x71\x8d\x44\x7f\xcb\x72\xdf\x50\x66\x0a\x1b\x33\x14\x2e\xaf\x2f\x94\x14\x46\x1f\x6d\xc1\xfe\x71\x3e\x25\x40\x56\x76\x0f\xb7\x1c\x4d\x2a\x33\x29\x74\xbd\x45\xd5\x6e\xe0\x87\x1d\x9a\xe6\x8e\xcd\xa5\x95\x93\x19\x5f\x10\x20\x57\x20\xf7\x62\xda\xef\x1e\x7b\x35\x62\xe8\x8a\xdf\x58\x1f\x19\xf7\x63\x93\xe8\xb6\x42\x3a\x5e\x7e\x81\x1f\x0e\xca\x90\x7e\xd3\x8e\x12\x2d\xe3\xaa\x5e\xdf\xdf\x97\x70\x2f\xe4\xde\xb7\xd7\xfc\x1d\xcd\xee\xc0\xc0\xf1\xb3\x1f\x2e\xc1\xaa\x98\x72\xce\xec\xb9\x9b\xb0\xaf\x20\x73\xbe\xc7\x83\xee\x32\x9d\x6e\x2f\x9f\x96\xd9\x17\xa1\xd1\xd8\x39\x97\x45\x79\xeb\x26\xae\xef\x87\x45\x81\x99\xe1\x3b\xf2\xc7\x88\x58\xb3\xe7\x9d\x66\x75\xe6\x15\xa7\xde\x8a\x52\x3a\xd5\x4e\x78\x13\xb6\x7d\xe0\x1a\x3e\x7c\x1c\xf4\x28\x5a\x2f\x03\x3e\xb1\xba\x2b\xab\xa7\x64\xfb\xe2\xc8\x39\xaf\x9b\x28\x3c\x8f\x24\x6f\x31\xc3\x2b\x56\x55\x28\xf2\x45\x3b\xfe\xb4\x2c\xcb\xaf\x6e\x4c\xf3\xab\x9b\x23\xb0\x52\x8a\x3b\x0b\x16\xae\x29\xe6\xfb\x81\xb6\x29\x16\x6f\xfc\xd8\x98\xe6\x27\x6e\x0e\xb2\xa4\x2b\xc2\xa4\x59\xbf\x0c\xcd\x78\xcb\xaa\xaa\xc9\x12\x26\x6c\x37\x66\x80\xac\xc1\x67\xee\x6d\x3c\xb4\x99\xdc\x33\xdd\xf2\x7d\xd4\x64\x1f\x73\xcb\xee\xa8\x2d\x07\xc3\x87\x83\xaf\xe1\xf3\x20\xdf\x6e\xcf\x92\xd8\xa6\x60\x7c\xf4\xa3\xe4\xbd\xbd\xd4\x3f\x8d\x3f\xf8\xe6\x8f\x6b\xbd\x07\x9b\x22\xbd\x45\x98\xe1\x4b\x81\xc2\x82\xf9\x27\xcb\xc8\x90\xcd\xb1\x89\x4e\xf6\xbf\x80\x8f\x13\x5c\x91\x82\xa8\x23\xe7\x92\x37\xdf\x88\xb7\x4d\x7a\xdd\x5c\xb8\x74\x4d\x02\x7b\xa7\xd9\x6f\x73\x44\x64\x9d\x1f\x0f\x8e\x60\xb8\x1f\x01\x20\xa2\xcf\xfc\x87\xcf\xda\x89\x8f\xfb\xd8\x9b\x08\x28\xde\xde\x78\x9e\x92\x87\xc2\x56\x47\xdd\x63\xc6\xdd\x51\xf8\x0c\x03\xd7\xd0\xd1\x30\xdd\x1b\x30\xf0\x86\x3f\x8d\x75\xf7\xf8\x8e\xed\xd2\xa8\x7a\x78\x02\x79\x86\xb9\xf5\x88\x8e\x19\xd9\x3b\x6f\x4d\xfb\x0d\xda\xf4\xd7\xe5\xd2\xd6\x0e\xee\xf8\xce\x1b\x97\xbd\x76\x92\x65\x58\x99\xee\x9a\x63\x13\x2c\x7b\x26\x1b\xec\xe6\x65\xee\x67\x29\xb0\x72\x37\x41\x2d\x21\xff\x03\x11\xff\xaa\x75\x63\xc8\x56\x40\x22\x9a\x63\x11\x6d\x49\x24\x8d\x83\xeb\xa1\x6d\x1c\x2d\xcb\x12\xb6\xd1\x38\xfc\x98\xb1\xa5\xf6\xa0\x3a\x07\xbb\x1e\x2c\x99\x49\x64\x1e\xa9\xc5\x88\xd7\xcd\xdf\x1e\x8a\x6a\xbf\x74\xe3\x95\xca\x97\x81\xfd\x5c\x5e\xc2\x4f\x82\x1b\xce\x4a\xfe\x3b\x0e\x0e\xce\x8c\x1d\xc4\x18\xb5\xd8\xd8\x43\xfc\xe4\xc1\x65\xe3\xb7\x51\x18\xf2\x3f\x3d\x42\xa9\xbe\x42\x4a\xf1\x5d\x33\x6c\x5d\x32\x71\x1f\x6d\xe8\xc1\x4b\xa8\x35\x2a\xd8\xd2\x9a\x67\xac\x2c\x5b\x82\x36\x48\xb5\xc1\xad\x3b\x81\xe2\x70\x96\x54\x82\x79\x78\x0f\xde\x97\x10\xda\xfd\xb2\x46\x7b\x63\xf8\xac\x6f\x2d\xb6\x7c\xb7\x4c\x05\x97\xa2\x28\x80\xbc\xe8\xff\xcc\x47\xb4\x48\xdf\x7f\xeb\x25\x89\x46\x85\x5a\x18\xac\x82\xd5\x65\xf0\x4b\x1f\x70\x0d\x97\x9e\xbd\xcb\x62\xe4\xf7\x45\xe2\xc1\xc9\x9f\x3a\x19\x1b\xea\x1e\x8e\x09\x9c\xf6\x9b\x29\x8d\x34\x0f\x67\xff\x0e\x00\x00\xff\xff\xb4\x77\xb4\x8f\x69\x46\x00\x00"
+var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\x5f\x73\xdb\xb6\xb2\x7f\xf7\xa7\xd8\xf8\xe1\x46\x9a\x71\xe5\x3e\xdc\xb9\x0f\x9e\xb8\xf9\xd7\x9b\x4e\x5f\x7a\x3b\x89\x7b\xf3\x90\xc9\x8c\x21\x72\x69\xe1\x98\x02\x38\x00\x28\x45\xcd\xf8\xbb\x9f\x59\x00\x24\x01\x12\xa4\x28\xc7\x6d\xcf\x39\x53\x3d\x24\x96\x44\x2c\x76\x17\xbb\xfb\xdb\xc5\x02\xe2\xdb\x4a\x2a\x03\xe7\xef\x6a\x71\xc7\xd7\x25\xde\xc8\x7b\x14\xe7\x67\x67\x97\x97\x97\x70\xb3\x41\xc8\xa4\x30\x8a\x65\x06\xcc\x86\x19\x60\x65\x29\xf7\x1a\x98\x00\x96\x65\xb2\x16\x06\x8c\x04\x85\x19\xf2\x1d\x42\xc5\x0e\x5b\x14\x46\x03\x17\xb0\xad\x4b\xc3\xab\x12\xa1\xf0\x74\x2d\x41\x43\xc4\x35\xd4\x9a\x8b\x3b\x60\x40\xff\x95\x08\xb7\x5f\xa3\xc9\x57\xef\x1d\x3d\xf5\x70\x0b\x19\xab\xd8\x9a\x97\xdc\x1c\x56\x9e\x23\xae\x83\x0f\x41\x6f\x64\x5d\xe6\xc0\x73\x64\x65\x79\x80\x35\x82\x36\x52\x61\x0e\x8c\x18\x46\xb0\x83\x6e\x23\xf2\x1f\xf6\xdc\x64\x9b\xb5\x64\x2a\x6f\x67\xfa\xb5\x5e\x97\x3c\xfb\x95\x99\x0d\x5c\xc3\x65\x65\xdf\x5d\xfe\x84\x02\x15\xcf\xde\xdd\x34\x4f\xdd\x5a\x6a\xeb\xda\x00\x37\x90\x31\x11\x4e\x27\x0e\xfb\x0d\x2a\x74\x5c\x9e\xb1\x2c\x43\xad\x17\xac\x2c\x97\x9d\x02\xc7\xb8\x80\xaf\x67\x00\x67\x00\x00\x97\x97\xf0\xc1\x48\xc5\xee\x10\x98\xc8\xc1\x71\x05\xc4\x96\xb6\xdf\x87\x64\x4b\x34\xcd\xc3\xf4\xc0\x55\xf8\x26\xf9\x70\x27\xe3\x55\xf0\x77\xf2\xd1\xa1\x5a\xa2\x21\x83\x31\x28\x0c\x37\x25\xd2\xe2\xc3\xff\xed\x05\xaa\x33\x2f\x8e\x33\x21\xdc\xd1\x17\xd6\x7e\xb8\x06\xdc\x72\x63\x30\x87\xfd\x06\x05\x30\x10\xb8\x87\x1d\xab\x4b\x13\x2e\x2b\xd7\xc0\xf2\x1c\x73\xb2\x2e\xd6\xd2\xd2\x81\xce\x14\x6a\x59\xab\x0c\x57\xed\xb7\x43\xae\xec\xb4\xff\x4f\xb4\xdf\xb6\xa4\x5f\x13\xd9\x85\x39\x54\x78\x05\x37\x87\x0a\x2f\x42\xaa\x96\xf7\x2b\x78\x9d\xe7\x0a\xb5\x7e\x79\xe1\x68\x1e\x7b\x75\x7c\xf7\xc6\x2f\x4f\x50\x43\x4a\x05\x0a\xb7\x72\x87\x39\x14\x4a\x6e\x81\xc1\x93\xea\xe1\xbd\xa3\x1d\x69\xe2\xdb\x55\xf1\x64\xea\xc8\xb1\x92\xda\x7b\x99\x90\x86\x3c\x2d\x93\xdb\xaa\x44\x83\xf9\x51\x51\x7f\x91\xe6\x6d\xf3\xf0\x8f\x8e\x50\x24\x27\xdb\x52\xe4\xba\x82\xdf\xde\xf1\x2f\xff\xf3\xdf\x33\x45\x1b\xd7\x4d\x4f\x2e\x2e\x0c\xaa\x82\x65\xe8\x64\x43\x51\x48\x95\xa1\xb6\xe1\x68\x8b\x66\x23\x9d\x55\x53\x20\xa5\xb0\x21\x05\xd2\xfb\x6c\x83\xd9\x3d\x48\x41\x8f\xb5\xe4\xd8\x8e\xf1\x92\xad\x4b\xec\x94\xca\x51\x83\x2c\x28\x76\x26\x8c\xc0\x46\x0d\x56\x6a\x09\xf8\xa5\x92\xda\x4f\xda\x92\x6b\x94\xea\xb8\xd0\x34\x6d\xf3\x51\x51\x8b\x5c\xd3\xf4\xdc\x4c\xa8\xb7\x9d\xa7\x93\x31\x88\x63\x3e\x5c\x7d\x6d\xd5\x19\x0e\xdd\x71\xdc\xd3\x2c\x70\x87\xc6\x9a\x22\x2d\x85\xfe\xc8\xcd\xc6\xab\x71\xb1\xbc\x82\xaf\x37\x76\x95\xfc\x27\x0f\x47\x09\x7d\xa8\x2b\x02\x2f\xcc\x3b\x8a\x01\x99\x37\x52\x96\x47\x68\x70\x3d\x24\x11\x98\xca\xd2\x11\x49\xd2\xa0\xe1\x5e\x7b\x0b\x72\xd0\x2b\x78\xd5\x83\x31\x4b\xf1\x61\x39\x3a\x5a\xb3\x02\x7f\x9c\x43\x61\xec\x8b\x97\xd3\xc2\x11\xfd\x37\x52\x29\xb9\x7f\x73\x18\x0a\xf6\x5f\x63\xa0\xeb\xa8\x3e\xc4\x46\xdd\xae\xbc\xb5\x69\x0b\x7a\xde\xa2\xfb\x38\xef\x30\xbe\xc9\x09\x54\x67\x7d\xa1\x09\x5f\x38\xfb\xa7\x2c\x80\x88\x48\x72\x28\xeb\x15\x79\x6e\x6d\xd8\x45\x3e\xfa\x6e\xeb\x6c\xba\xf5\x93\x81\x31\x33\x71\xe8\xcf\xcd\xb6\xd2\x13\xee\x1c\x88\x64\xd7\x73\x4c\x3b\x30\xe8\x2b\x48\xab\xe8\x62\xca\xea\xdb\x35\xa1\x69\x7e\xe4\x99\xe1\x52\x30\x75\x80\x8d\x2c\xf3\x46\xde\x31\x5d\xc5\x2a\x8a\x28\x71\x91\xe3\x17\xcc\x61\x7d\x48\x51\x70\xe8\x41\x32\xae\xa2\x51\x7d\x03\x69\x72\x91\x25\xec\x98\x6a\xe7\x7d\x1b\x4c\xdb\x7a\x4f\x07\x15\x2f\x46\x4d\xe5\x07\x6f\x25\xcd\x74\xaf\xf3\x5c\x7b\x48\x3f\x2a\xe2\x81\x56\x93\x44\x09\x03\x59\x44\x2d\x86\xb6\x81\x48\xf4\xe6\x55\xc5\x14\xdb\x06\x44\xaf\x5c\xce\x1a\x4d\xe2\x62\x21\x30\xc8\x50\x19\xc6\x45\x97\x92\x86\xa4\x42\x45\x06\x51\xd1\xae\x1f\x98\x8d\x92\xf5\xdd\x66\x2a\x53\x25\xc7\x88\x08\xee\x79\x59\x12\x6e\xb5\x89\x4c\x4f\xd8\xe9\x95\xb2\x18\xe3\xe2\x04\xcb\xf3\x5f\x70\x6f\x5d\x7e\x11\x4a\x3a\x6b\x85\x96\x41\x3c\x76\x73\x81\x8b\x09\xc0\x40\x61\x81\x0a\x45\x86\x0d\x77\x4e\xfa\x4a\x52\x78\xb7\x2c\x7b\x6b\x0b\xf4\xb9\x47\xe8\xd3\xdb\x33\x57\x06\xd8\xa8\x00\x5c\x68\x9e\x63\x5f\xd8\x68\x0c\xa5\x98\x76\xaa\xf7\x58\xc0\x75\x98\xe3\xaf\x2d\x6b\x8b\xe5\x38\x24\xbf\x7c\x09\x15\x13\x3c\x83\xc5\xf9\x5b\x26\x6c\x6a\xe0\xc4\x89\x84\x71\x82\xd8\xbc\xa9\xa3\x7e\xbe\xec\x73\xfe\xd6\x82\x2e\x2f\x88\x5b\x62\x9d\x8c\xb7\x52\xb8\xe3\xb2\x8e\xaa\x8c\x42\x2a\x30\x54\x79\x58\x23\xb9\xa0\x11\x42\x9a\x88\x1a\x2f\x60\xa1\xb1\x2c\x56\x29\xa7\xfa\xd4\x48\xbb\xba\x43\x87\x31\xcb\xcf\x70\x7d\x0d\x82\x97\xfd\xf5\xf1\x9c\xd5\x1a\x83\x15\x09\x64\x3b\x54\x08\x4c\xc3\x3d\x3a\xae\x48\xe7\x4d\x54\x49\xd1\x09\x84\xa0\x38\x6a\x36\x28\x06\x8f\x9d\xc8\x76\x40\x33\x35\x23\x25\x72\x96\x9d\x30\xbf\x13\x39\xcf\x98\xb1\x90\x41\x45\xa4\x8d\x10\x01\x6b\x1b\xa6\x61\x8d\x28\x92\x22\x58\xff\x19\x7c\x61\xa7\x99\xc8\xed\x87\xac\x5f\xcc\xce\x60\x1b\xbd\x0c\x32\x3e\xab\x29\x0b\x56\x2f\x57\xcc\x25\x29\x27\x24\xc6\xed\x6b\x90\x21\x07\x1e\xe0\xc9\xc6\xa6\xfa\x00\x58\x6a\x4c\x5b\xca\xcf\x8d\xf5\xee\x99\x06\x56\x2a\x64\xf9\x81\x62\x5d\xdf\x7a\xa9\x20\x76\xd6\x6b\xfd\x67\x40\xca\x7e\xba\x38\xbf\x69\x3d\xa1\x25\xe5\x6c\x90\xdb\xd4\x34\x44\xbe\x9e\x5b\xf4\xdc\xab\xcb\xbc\x46\x40\xa2\xde\xae\x51\x51\x2e\x3b\x0b\x2e\x28\xef\x5d\x1f\xdc\xce\x41\x1c\xb7\x37\x08\x15\x55\xc8\x60\x0b\x70\x7a\x7f\x00\xa6\x9a\xca\x3c\x8e\xb2\x89\x57\x0a\x4f\x2c\x3d\x07\x25\x3d\xd2\xe0\xf6\x06\x62\xbe\xc6\x66\xf3\xd4\xfc\x92\x3a\x7a\xfe\x0d\xc9\xdd\x65\x3e\xfe\x4d\x48\xf4\x31\xe8\xa0\xdf\x1c\xa8\x3e\x5f\x78\xf6\x3f\x75\x25\xfb\xe7\x8b\x8e\x0b\x9f\x5d\x27\x80\xe1\x27\x74\x9e\xdb\x6c\xed\xcc\x95\x7a\x10\xdc\x9d\x54\xd7\x94\xa2\xbf\x76\xb4\x16\x49\xbb\xbe\xbc\x84\x77\x52\x01\xb2\x6c\x63\x15\x7d\x41\x23\x1c\x74\x30\x2a\x7c\x7b\xd1\xcb\x03\x8c\x19\x20\x10\x17\x43\x78\x7d\xae\x47\xac\x28\x6f\x73\xb2\x88\x0c\x19\x33\xf1\x40\x86\xee\x16\x7d\xe8\x6e\xbc\xb0\xe2\x05\x6c\x5d\x3b\x59\x57\xd1\xd2\xdd\xa1\x99\x40\x64\xbb\x3c\xa9\xb0\x0f\xdf\x0e\xcf\x63\x34\xf7\x78\x3a\x4a\x07\xc3\x5d\x8c\xf1\xf3\x53\x9c\x71\x98\x8b\x39\xe8\xda\x1a\x64\x51\x97\xe5\x61\xb5\x5a\x25\x09\x78\xad\x1d\x41\xfc\xb4\x3e\x3c\x03\xab\xd5\x8a\x0c\x20\x44\x6a\x21\x93\x50\xed\xb2\xad\x38\xe4\x8d\x52\x9e\x07\xda\xcf\xe6\xa1\x76\x8f\xe5\xdf\x4e\x47\xf0\x63\x24\x8f\xac\x73\xf3\x3a\x55\xa2\xb9\x74\x09\x8b\x45\x3e\x1b\xe0\xe7\x4b\xd3\xe1\x7f\x1a\xeb\xc3\xd7\x1f\x81\xfb\xf3\x80\xfe\x28\x99\x01\xac\xcf\x1a\xb9\x1c\xfd\xf6\x21\xf9\xcd\xf0\xd3\x87\xd3\x70\xf7\x69\x8b\x33\xd0\x15\x66\xbc\x38\x90\x09\xef\x37\x3c\xdb\xc0\x2d\xa9\xfd\x96\x30\xed\x36\xbd\x6d\x71\xdb\xec\x9d\x47\x04\x7d\xcd\xe5\x02\x1b\x37\x2b\xeb\x40\xdc\x86\x2c\x2e\xb2\xb2\xce\x29\x68\xc1\x41\xd6\x2a\x62\xea\x7c\xaf\x58\x55\xa1\x3a\xef\x71\xe7\x24\xd2\x14\xa0\x36\xe4\x6e\x0c\x6e\x5f\x59\x26\xde\x49\xb5\x67\x8a\x4a\xf1\x95\xff\x13\xd5\xed\x0a\x7e\x76\x7b\x8d\x76\xf3\x6c\x1d\x57\x86\xb5\x76\x4c\xc9\x1d\xaa\xbd\xe2\xc6\xf9\xb5\xf3\x63\x63\x58\xb6\xf1\xfb\xd4\x6d\x7d\x19\x96\x4b\xdc\x6c\x64\x6d\x62\x51\x37\x6c\x67\x3d\x5e\x76\xfb\x1c\x2c\x42\x95\x82\x2b\x6d\xa2\x0c\xe0\x3f\xb3\xea\x4d\x49\xe5\x37\xa9\x1a\x0d\xcb\xa2\x6f\xad\x5e\x59\xd6\x82\x22\xa3\x19\xf0\xd2\x29\xe4\x02\x14\x23\xe4\xa0\x67\x5c\x1e\xeb\xad\xd4\x96\x88\xc6\x6e\x70\x35\x01\xba\xc5\x36\xfa\x2e\xa2\xa7\x19\xcf\x53\xc1\x72\x7e\x86\xf6\xd1\x19\xeb\xe9\x65\xfc\x63\xca\x8c\x91\x57\xb0\x0b\x38\x4c\x01\xc3\x8a\xb8\xd7\x8d\xd8\x4b\x75\x1f\x26\xdf\x56\x58\xad\x51\x85\xbb\x12\x2b\xbb\x8f\xbd\x58\x5e\xc0\x16\xb5\x66\x77\x78\x05\xe7\x2e\x8d\xd6\x3a\x4e\xe8\x2c\x84\x53\x56\x50\xf2\x7c\x58\x99\x37\xe8\x69\x6d\xc0\x1a\x06\x1a\x54\x21\x6e\x4e\x24\x3e\xe3\x00\x48\xe4\x26\x10\xef\x49\xcb\xd7\x64\xe9\x3a\x0e\x5f\x83\xf5\x75\xeb\x44\xff\x0e\x01\xe4\x91\x88\x35\xa3\xf0\x8c\x07\x2d\x27\xc1\xe4\x77\x54\x12\xa4\x82\x2d\x65\x94\xb3\xab\x38\x1f\x13\xe2\x90\x98\xec\x66\x8c\x40\x8b\x9e\xc2\x16\xdd\x23\x9c\x0a\x14\xff\x26\xe8\xa2\x23\x78\x19\x80\x0b\xe9\x72\x2e\xbc\x10\x12\x44\x03\x87\x08\xd3\xb7\x15\xf8\x53\x6a\x63\x2b\x67\x17\xee\xdb\xba\xb8\x1f\xf3\x65\xbc\x88\x52\x74\x45\xe3\x5f\x5b\x73\xfb\x88\x3e\x59\x7a\x7b\x21\x3f\x91\xf5\x7e\x7e\x92\x48\xfe\x77\x31\x7f\xbc\x98\xe7\x17\x7f\xd7\xf3\x23\xc3\xff\xf2\x7a\xfe\x11\xc5\xf1\x9c\x2a\x75\x1a\xf8\xf5\x27\xfe\x79\x66\xb9\x7b\x62\xa9\xfb\x88\x5a\xf6\x84\x44\x20\x7c\x75\x49\x01\x49\x33\x5d\x59\x3e\x41\x59\x7b\x7a\x49\x9b\x2e\x67\x1f\x5d\xb4\xba\x63\x2a\x04\xb0\x33\x6a\xd6\x36\x99\x4f\xb9\xc0\x53\x76\x14\x07\xdc\xf8\xfe\xeb\x00\xdc\xa3\x13\x3c\x8f\xed\xff\x39\x22\xff\xfa\xfd\x3f\x9f\x6d\x4c\xae\x02\xcc\x6a\xff\xfd\x39\xdd\xbf\xd1\x20\x24\xa1\xe0\xae\x59\xd6\x5b\x77\x27\xe1\xbc\x5a\x63\xe5\x1e\x5e\xdc\xe3\x21\xb5\x2b\x35\xe0\xe6\x7f\x9f\xb2\xf0\xf0\x76\x77\xb4\xf4\x68\x4e\x81\x8d\x14\x1f\x73\x36\xd3\xfe\x8a\x52\xa4\xf9\x2b\xf2\xa0\x1b\x76\x9f\x0a\x14\x6e\x75\xed\xa1\x12\x59\x93\x2a\x5d\xd6\x6f\x13\x21\x25\x2b\x54\xdd\x80\xc4\xce\x48\x32\xcc\x48\xd5\xa4\xa2\x84\x4d\xdc\x1c\x0f\x27\xee\x78\x0f\x05\x92\x2e\x87\x4d\xf2\x79\x24\x42\x3d\xea\x00\xd2\x78\x6e\x98\x8a\x9d\x52\xa0\xee\x1d\xa2\x9d\x72\xe4\x56\x9e\x9e\x65\xc1\xf5\x04\x1a\xd3\x64\xc1\x16\xf4\xc0\x38\x02\x37\x8f\x75\xe6\x5b\x91\x6e\xeb\xa0\x3b\xdc\x63\xf7\xaa\xb8\x0e\x19\x3d\x5f\x9e\x8d\xc4\xbd\x78\xb7\xc7\x9b\x42\x8e\x9a\xab\x66\x82\xa9\x68\x35\x26\xef\x78\xec\x8a\x63\x16\x04\x41\x2b\x11\x81\xdb\x78\xd4\xe7\xbf\x75\xc5\x78\xc9\x5f\x7c\x47\xff\x8f\x96\xe9\x47\x7d\xc2\x28\x5f\x92\x5b\xe7\x18\xf8\x46\x44\x6c\x0e\x02\xc7\xae\xe1\x2b\xb9\xbc\x7f\x98\x89\xed\x24\xb7\x87\xa1\xac\x62\xee\xad\x17\x85\x29\x69\x7f\x81\xc7\x0b\xd5\x94\xb3\xed\x9a\x93\x7c\xf1\x36\xa2\x65\xc6\x34\x50\x4d\xf1\x94\x80\x4b\xfb\xda\x32\xbd\x17\x3d\xe5\xd9\x0a\x4d\xad\xc4\x29\x4e\x7d\xd1\xd6\xeb\x61\xb3\xc7\xab\x36\xd7\x8d\x0e\x9a\x7d\x58\x4a\xcc\xbb\x7c\xfc\x02\x6c\x3e\xcc\xcb\xd2\x9e\x28\x67\x5c\x44\x1a\x8e\xc8\x79\x42\x03\xeb\x12\x88\x79\xeb\x45\x44\x9e\xb4\x5c\xc8\x5a\x1c\x49\x46\x9e\xf0\xc8\xe2\x30\x18\xdd\x28\x8b\xad\x4d\xb1\xe8\x83\xf2\xe0\x3c\xf4\xd1\xb4\xa2\xab\x6b\x22\x67\x26\x63\xaa\x14\x6a\x02\x55\x77\xbc\x36\x4a\xc2\x7a\x35\x8e\xaf\x6d\x9e\x22\xaa\xa5\x8f\x6b\x7c\x44\x30\x4e\xe0\xf1\x20\x10\xe4\x2f\x47\x0a\x1f\x27\xf3\x1e\xdd\x36\xd7\x34\xc1\x54\x39\x37\x2c\xe5\x8e\xc6\xb7\xf1\x42\xf7\x63\x67\xba\xad\x59\x92\xca\xed\xb6\xf9\x30\xb0\x36\xaf\xc9\xc8\xb6\x22\x8f\xc9\x15\xdb\x2f\x9a\x43\xdb\xf6\xd3\x35\x2b\x99\xc8\x70\x39\x8c\xb6\x63\x75\x85\xe7\x91\x17\x5d\x9b\x83\xf1\xd2\xb7\x8a\xb5\xdc\x92\xb7\x30\x2d\x45\xdf\x1a\xc2\xe9\xe0\x07\xf8\x7e\xf5\x7d\x42\x01\x36\xb5\x4a\x9d\x3a\x4f\x0a\xec\x72\xab\xd8\x5a\xd2\x05\x55\x4a\xe6\xf4\x93\x8f\xcc\xc2\x86\xfa\xf3\x51\xcd\x69\x7f\x42\x97\x39\x6a\xa3\xa4\x77\xcb\xb3\x04\x05\xc1\xcb\x31\x54\xb2\x4d\x06\x9f\xd3\xf6\x93\x6c\xde\x34\xd3\x6c\xd8\xe6\xda\x35\x08\x8e\x35\x8d\xe6\x84\xfc\x7d\xbc\x0b\x7a\xb0\xd1\xb0\x09\xff\xb6\x6d\x81\x13\xf3\x78\xa9\x18\xac\xa5\x2c\x91\x09\xd8\x32\xdb\x0e\x19\xe4\x51\x52\x35\xcc\x33\xcf\x3c\x05\xee\xf0\xb8\x60\xf2\xb0\xb6\x65\xa0\x29\xdb\x52\xe7\xb5\xdf\x48\x59\xf6\x4c\x8f\x17\xc7\x5b\x1d\xf6\xb8\x42\xc2\x64\xbd\x3c\x05\x2b\x35\xf6\x96\x39\xb5\x9a\x47\xe6\x79\xd6\xf4\x7d\xc6\x96\xfc\x27\x34\xda\x63\x92\xcf\x1a\x98\xd6\xfc\x4e\x34\xab\x5d\x29\xb9\xe3\x1d\x36\x0d\x4f\x32\xdb\x8b\x5f\x94\x17\x20\x29\x8f\xa9\x03\xac\x31\x63\xb5\xc6\x16\x53\xb9\xb9\xa0\xfc\xc5\xe7\x0e\x95\xd4\xda\x03\x31\x94\x52\xde\x43\x2d\x72\x74\x5d\xa3\x8d\x94\xee\x94\xb9\x46\x24\x1d\xb2\xb1\x9e\x1e\x77\x57\x2d\x04\xe0\x97\x0a\x33\x5b\x12\x5b\xc3\xb2\xcb\xb9\x72\x2c\x6d\xb0\xac\x34\xdc\xd5\x4c\xe5\xc0\xee\x18\x17\x9a\xca\xb6\x82\x0b\x6e\xb0\x3c\x40\xb6\x61\x9c\x84\xec\x35\x07\x88\x86\xb4\x0d\x49\x2e\x9c\x8d\x44\x13\x6f\x59\xc9\x33\x7b\xb2\xe5\x9e\xdb\x20\x5a\x40\x5d\xe5\x5d\x21\x98\xd9\x4b\x6f\x95\x72\xa5\x62\xc9\x35\x65\x5b\xda\xf9\xe2\x1a\x89\xfe\x96\xe5\xbe\xad\xcc\x14\x36\x66\x28\x5c\x5e\x5f\x28\x29\x8c\x3e\xda\x88\xfd\xf3\x7c\x4a\x80\xac\xec\x2e\x6e\x39\x9a\x54\x66\x52\xe8\x7a\x8b\xaa\xdd\xc4\x0f\xbb\x34\xcd\xf5\x99\x4b\x2b\x27\x33\xbe\x20\x40\xae\x40\xee\xc5\xb4\xdf\x3d\xf6\x92\xc4\xd0\x15\x9f\x59\x1f\x19\xf7\x63\x93\xe8\xb8\x42\x3a\x5e\x7e\x83\x1f\x0e\xca\x90\x7e\xe3\x8e\x12\x2d\xe3\xaa\x5e\xdf\xe5\x97\x70\x2f\xe4\xde\xb7\xd8\xfc\x0d\xcd\xee\xd8\xc0\xf1\x13\x20\x2e\xc1\xaa\x98\x72\xce\xdc\xdc\x06\x65\xa5\x14\x77\xd6\x3b\x5d\x1f\xc2\x37\x61\x6c\x1f\x22\xae\xb4\xad\x11\xf9\x89\x9b\xf3\x03\xe9\x14\x3c\x69\x3f\xaf\x83\x2e\x00\x6c\x59\x55\x35\x61\x79\xe2\xdc\x42\xcc\x00\x99\xb6\x4f\x95\x5a\x03\xb4\xd0\xf9\x5c\xb7\x7c\x27\xd9\xf8\xd6\x1b\x4e\x3d\x73\xa0\x5c\x0c\x8b\x02\x33\xc3\x77\xd8\x1f\x3e\x1c\x7c\x0d\x5f\x07\x09\x4e\xdb\xc0\xb7\x7d\x98\xb8\xdf\x5e\xf2\xde\xe6\x15\x79\x56\xeb\xe6\xc0\x27\xcc\x6b\x75\x8f\x87\x91\x0e\xca\x91\xe3\x66\x37\x11\x3e\x8c\x67\x8f\xf6\x9a\x8f\xed\x77\x06\x55\x68\x6f\x11\x92\x63\x47\x15\x16\xcc\x3f\x99\xb7\x87\x6c\x8e\x4d\x34\x95\x56\x7a\x33\x1c\xe5\xe3\x04\x57\xa4\x80\xed\xc8\x39\xb4\xf4\xdd\x4f\xdb\x19\xd5\xcd\x4d\x35\xb7\x2b\x6b\xef\x87\xfa\xba\x32\x22\xeb\xfc\x78\xd0\xf7\x76\x77\xae\x89\xe8\x73\xff\xe1\xf3\x76\xe2\xe3\x3e\x16\x5c\x64\x92\x05\xbc\xbb\xf1\x3c\x25\xcf\xe2\xac\x8e\xba\xc7\x8c\x7b\x7b\xf0\x15\x06\xae\xa1\xa3\x61\xba\x37\x60\xe0\x0d\x64\xdd\xcd\x82\xff\x31\x06\x1e\x52\x3f\x6a\xe3\xbc\x88\xb8\x59\x71\xfd\xa1\x5e\x93\x1a\x17\xb2\x70\x80\xf3\x22\x5d\x33\xff\xb0\x58\x4e\xb5\xd3\x7a\x5a\x89\x99\x82\x6b\x30\xaa\x4e\x9f\x2c\x4d\x9f\x2f\x7c\x04\x9b\x41\x2f\x74\x92\x53\x5a\xc3\x86\xb6\xab\x36\x67\xab\xb6\x81\xb5\x67\x93\xc4\x75\xbd\x6e\x78\x69\x4d\xcc\x5a\x17\x5c\x87\x13\xaf\xc6\x4c\x70\x94\xb8\x2d\x12\x3b\xe2\xad\x35\x8d\xcd\xe7\xad\x69\x8c\x1c\x4c\x9f\x01\x20\x9b\x8b\x27\x7b\x32\x63\x69\x5e\x7d\xa3\xe9\xcd\x37\x69\x37\xcd\x2b\x6d\x3f\xe3\xdf\xcc\x6f\x02\x42\x90\xf0\xc4\x8c\x8e\xc5\xd2\xf7\x3e\x68\xee\x37\x68\xd3\x6a\x97\xa3\xdb\x70\x77\xc7\x77\x3e\x86\xda\x6b\x2d\x59\x86\x95\xe9\x2e\x52\x36\x52\xf7\x22\x73\xb0\x4b\x98\xb9\x1f\xbb\xc0\xca\xdd\x35\xb5\x84\xfc\xcf\x4e\xfc\xa3\xd6\x4d\xbc\xb6\xea\x22\xa2\x39\x16\xd1\x56\xc7\x37\xdc\x3b\x4e\x64\x07\x3d\x75\x34\x2e\x34\xcb\xa0\xfd\x66\x4f\x87\x23\xd7\x03\x33\x70\x45\xe3\x68\x8e\xda\x3e\x1e\xaf\x9b\xbf\x9d\x14\xd5\x94\xe9\x96\x2e\x95\x45\x83\x00\x79\x79\x09\x3f\x0b\x6e\x38\x2b\xf9\xef\x38\x38\x94\x33\x76\xc4\x63\x34\x74\xc4\x40\xe0\x27\x0f\xae\x33\xbf\x8b\xd0\xd6\xff\xa0\x09\x95\x10\x0a\xa9\x74\x70\x4d\xb6\x75\xc9\xc4\x7d\xb4\x51\x08\xaf\xa1\xd6\xa8\x60\x4b\x6b\x9e\xb1\xb2\x6c\x09\x5a\x2c\x6e\x31\xbc\x3b\xdb\xe2\xd2\x49\x52\x09\xe6\xe1\xd5\x79\x5f\x9a\x68\xf7\x7b\x1d\xed\x9d\xe4\xb3\xbe\xb5\xd8\x6d\x01\xcb\x54\x70\xe9\x8a\x70\xf2\x55\xff\xc7\x43\xa2\x45\x7a\xf1\x9d\x97\x24\x1a\x15\x6a\x61\xb0\x0a\x56\x97\xc1\xef\x87\xc0\x35\x5c\x7a\xf6\x2e\x8b\x91\x5f\x2d\x89\x07\x27\x7f\x40\x65\x6c\xa8\x7b\x38\x26\x70\xda\x2f\xb1\x34\xd2\x3c\x9c\xfd\x33\x00\x00\xff\xff\xb1\x3c\xb3\x6c\xbf\x46\x00\x00"
 
 func fungibletokenswitchboardCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -155,7 +155,7 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenSwitchboard.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0x99, 0xa9, 0xbb, 0x82, 0x7b, 0x4, 0xec, 0xe1, 0x46, 0xa3, 0xf8, 0x40, 0xe8, 0x33, 0x16, 0xba, 0xa6, 0x66, 0x9b, 0xe8, 0x79, 0xfc, 0xfb, 0x18, 0xd, 0xd0, 0x1f, 0x6b, 0x42, 0x69, 0x8a}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0x3b, 0x5a, 0xf1, 0x21, 0xd3, 0x19, 0xc8, 0xf7, 0x48, 0xac, 0x35, 0x12, 0x78, 0x5c, 0x36, 0x86, 0x8d, 0xb4, 0xb3, 0xbe, 0x34, 0x86, 0x18, 0x89, 0x4d, 0x66, 0xb1, 0x1, 0xf, 0x6d, 0x17}}
 	return a, nil
 }
 
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index fa2df4f8..e729e2f6 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,8 +1,8 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // burn_tokens.cdc (1.637kB)
-// create_forwarder.cdc (2.94kB)
-// generic_transfer_with_address.cdc (2.051kB)
+// create_forwarder.cdc (2.768kB)
+// generic_transfer_with_address.cdc (2.072kB)
 // generic_transfer_with_paths.cdc (1.678kB)
 // metadata/setup_account_from_address.cdc (1.857kB)
 // metadata/setup_account_from_vault_reference.cdc (1.84kB)
@@ -15,27 +15,24 @@
 // safe_generic_transfer.cdc (1.869kB)
 // scripts/get_balance.cdc (655B)
 // scripts/get_supply.cdc (177B)
-// scripts/get_supported_vault_types.cdc (902B)
+// scripts/get_supported_vault_types.cdc (903B)
 // scripts/metadata/get_token_metadata.cdc (724B)
 // scripts/metadata/get_vault_data.cdc (788B)
 // scripts/metadata/get_vault_display.cdc (782B)
 // scripts/metadata/get_vault_supply_view.cdc (865B)
-// scripts/switchboard/check_receiver_by_type.cdc (522B)
-// scripts/switchboard/get_vault_types.cdc (649B)
-// scripts/switchboard/get_vault_types_and_address.cdc (627B)
 // scripts/test/example_token_vault_display_strict_equal.cdc (2.158kB)
-// scripts/tokenForwarder/is_recipient_valid.cdc (444B)
+// scripts/tokenForwarder/is_recipient_valid.cdc (278B)
 // setup_account.cdc (1.63kB)
-// switchboard/add_vault_capability.cdc (4.247kB)
-// switchboard/add_vault_wrapper_capability.cdc (1.657kB)
-// switchboard/batch_add_vault_capabilities.cdc (1.527kB)
-// switchboard/batch_add_vault_wrapper_capabilities.cdc (1.804kB)
-// switchboard/remove_vault_capability.cdc (1.174kB)
-// switchboard/safe_transfer_tokens.cdc (2.127kB)
-// switchboard/safe_transfer_tokens_v2.cdc (2.074kB)
+// switchboard/add_vault_capability.cdc (4.321kB)
+// switchboard/add_vault_wrapper_capability.cdc (1.961kB)
+// switchboard/batch_add_vault_capabilities.cdc (1.636kB)
+// switchboard/batch_add_vault_wrapper_capabilities.cdc (1.878kB)
+// switchboard/remove_vault_capability.cdc (1.248kB)
+// switchboard/safe_transfer_tokens.cdc (2.074kB)
+// switchboard/scripts/get_vault_types_and_address.cdc (627B)
 // switchboard/setup_account.cdc (2.042kB)
-// switchboard/setup_royalty_account.cdc (5.716kB)
-// switchboard/setup_royalty_account_by_paths.cdc (5.787kB)
+// switchboard/setup_royalty_account.cdc (4.831kB)
+// switchboard/setup_royalty_account_by_paths.cdc (4.942kB)
 // switchboard/transfer_tokens.cdc (1.684kB)
 // transfer_many_accounts.cdc (1.772kB)
 // transfer_tokens.cdc (1.803kB)
@@ -128,7 +125,7 @@ func burn_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x5f\x6f\xdb\x36\x10\x7f\xe7\xa7\xb8\xf9\x21\xb3\x03\x47\xc6\xfe\xbd\x18\x49\x83\xd6\x5d\x86\x02\xdb\x50\x34\x69\x5e\xd7\x33\x75\x36\xb9\xd2\xa4\x40\x9e\xac\x1a\x45\xbe\xfb\x40\x52\x92\x25\xa7\xc9\xb2\x97\xf9\x21\x88\x44\xf2\xee\xf7\x8f\xa7\xc5\xf9\xb9\x10\x77\x4a\x07\x60\x8f\x36\xa0\x64\xed\x2c\xe8\x00\x08\x4c\xbb\xca\x20\x13\x6c\x9c\x8f\x8f\x83\x75\x56\xc8\x20\x5d\x6d\x4a\x58\x13\xd4\x81\x4a\xc1\x0e\x02\x31\xd4\x15\xa0\x05\x94\xd2\xd5\x96\x81\x5d\x3c\xdc\xa0\x2f\xa1\xa4\xca\x05\xcd\x54\x02\xbb\xcf\x64\x43\x5c\x43\xeb\x58\x91\x07\x4f\x92\xf4\x9e\x7c\x21\xc4\xbb\x0d\xa0\x3d\x38\x4b\x10\xc8\x96\x61\xb8\x39\xf6\xf1\xdf\x07\xb8\xc9\x15\xc9\xc3\x87\xf6\xdc\x5c\xb0\xa2\xfe\x09\x1a\x6d\x0c\xfc\x5d\x07\xee\x9b\xb3\x72\x81\x06\xb5\xe2\xf6\x7b\xac\x0d\x67\x26\x0a\x03\xac\x89\xac\x88\x0c\x30\xa4\x65\x4f\x52\x57\x9a\x2c\x03\xda\x12\x68\xa7\xe3\x3f\x40\xfb\xf8\x26\x1d\xd2\xb6\xd4\x12\x99\x82\x68\x94\x96\x2a\xa1\xeb\x1a\x46\x96\xaa\x6b\x58\xb4\x02\x37\x78\x98\x83\x8e\xfc\xc0\x6d\x36\x17\x52\xa1\xb6\x10\xc8\xef\xb5\x24\x68\xd0\x72\x82\xb6\x73\x56\xb3\xf3\xd0\x28\x17\x6d\x68\x0b\x6a\xbb\x15\x47\xf8\x9a\xe7\xa0\x19\x24\x5a\x68\x90\xa5\xca\xb0\xd2\x52\x20\x82\x46\x91\xa7\x01\x00\x90\xb8\x23\xd8\x78\xb7\x2b\x84\xb8\x65\xaa\xda\x9d\xd9\xad\x6c\x55\x80\x46\xb3\xca\x07\x7a\x16\x7e\x29\xc4\x0f\x05\xdc\x29\x82\x9b\xda\x6e\xf5\xda\x10\xdc\xa5\x1d\xd2\x59\xf6\x28\xa3\x0a\x4c\x7e\x83\x92\x20\xa8\x94\x07\x34\x9e\xb0\x3c\xc4\x5c\x94\x54\x19\x77\xa0\x12\x82\xdb\x51\x02\x25\x7e\xcc\xd5\xb0\xaa\x8c\x96\x18\xeb\xf1\xb8\x5e\x5b\x65\x70\xba\x10\x3f\xe5\x43\x03\x47\xda\x78\xb5\x9b\x15\xee\x09\xb0\x35\x34\x86\x95\x53\x9e\x73\x61\x4f\xc8\x54\x0a\x00\x48\x46\x06\x76\x9e\x4a\xd0\x16\x34\x87\xf4\x84\x5b\xca\xdc\x11\xaa\x7a\x6d\x74\x50\x54\xf6\x59\x12\x3f\x17\xf0\x36\x01\x49\x7a\x7e\x4a\xec\x6f\x7a\x4f\x0a\x59\xca\x4f\x47\xf0\x29\xa5\xa5\xde\x6c\xc8\x0f\x60\x8a\x5f\x8a\x98\x59\x40\xb0\xd4\xc0\xeb\xfc\x72\x09\xab\x84\x2c\x95\xed\xf8\x58\xe7\x77\x68\xcc\x61\x9e\xe0\xb2\x22\x0b\xbe\xb6\xb9\x73\x26\xf2\x57\x6f\x4d\x6e\x3d\xb8\x94\xf9\xd0\x96\x98\xb5\xdd\xc2\xe8\x42\x44\xeb\x47\x8d\x72\x80\x4f\x82\x5e\x88\xf3\x85\x10\x7a\x57\x39\xcf\x30\xe9\x0c\x4f\x8c\x27\xfd\xeb\x5f\xbf\xe0\xae\x7a\xf4\xf6\x44\x96\xc9\xb7\xab\xfc\x41\x8c\x25\x32\xde\x6b\x6a\xc2\x44\x88\x01\xf8\x69\x37\x02\x96\xf0\xba\x2c\x3d\x85\x30\x83\xaf\x22\x31\xaa\x3c\x55\xe8\x69\x1a\xf4\xd6\xc6\x75\xac\x59\x4d\xdf\x38\xef\x5d\x73\x8f\xa6\xa6\x39\xbc\x0b\xa1\xa6\xdb\x6c\xe5\x0a\x2b\x5c\x6b\xa3\xf9\xb0\x8a\xae\x38\x63\xc8\xcf\xe1\x7d\x36\xf6\xb8\x38\x87\x5b\xdc\x53\x7b\xfe\xa3\xad\x4e\xd7\x67\x70\xd6\x1a\xd5\xe3\x88\x3f\x43\x0c\xfb\x18\xb3\xb7\xc8\x08\x57\x30\x54\xa3\xf0\x14\x9c\xd9\xd3\xaa\x4d\x43\x64\x39\x8d\xef\x6a\x2f\xe9\xee\x50\xd1\x12\xac\x36\x73\xd8\x6b\x6a\xf2\x63\xfc\x7b\xf9\xb4\x42\xc5\xcd\xdd\x7d\xd7\xeb\xd5\x74\x36\x03\x0c\xdf\xc1\xcb\xb6\x5f\xf7\x88\xe3\xef\xfa\x1a\x2a\xb4\x5a\x4e\x27\xab\x74\x5f\xac\xe3\x98\x93\xcc\x04\x62\x81\x04\xaa\xbd\x3a\xd4\xe7\x79\x32\x4b\x65\x1e\xb3\xff\x40\x1b\xb8\x82\x6c\x48\x21\x3b\xd1\x34\x85\x62\x9d\x7c\xb9\x3c\x1b\x09\x93\x60\xbd\x9a\xf6\xc2\x15\xbb\x16\xf7\x7b\x64\x35\xfb\x57\xa8\xb9\x26\xbc\x41\x83\x56\xc6\xbc\xa6\xeb\x25\x69\x34\xc8\x27\xb3\xa3\x4b\x8b\x05\xfc\x46\xdc\x85\x3b\x5f\x81\x1e\xe5\xa1\xa7\xd9\x5d\x86\x35\xc5\x0b\x33\x98\xdc\x6e\xc4\xf8\x38\x76\xae\xa2\x6a\x6d\x2c\xfa\xc0\xce\xc6\x02\x6c\x89\x2f\xcf\xbe\x8e\x5c\x2a\xba\x7b\xf8\x30\xd4\xa0\x3b\xff\x32\x0d\xb6\x4f\xf3\x39\x61\x3e\x18\x2b\xfd\xac\xc8\x93\x2f\x4e\x49\xcd\x9d\x6a\xa7\xa3\xa0\x74\xdd\xd8\x18\x7c\x72\x1e\x39\x0f\x97\x17\xf0\x68\x06\xa6\x8e\x7f\x52\xd3\x7f\x98\xa7\xbd\x66\xcb\xa3\x7c\x47\x92\x6d\x70\xda\xe1\x5b\x44\x60\xd3\xcb\x8b\x54\x7f\x0e\xec\x96\xb0\x68\x97\x16\x34\x88\x51\x5f\x7d\xcc\xf7\xa3\x35\xda\x7e\x4e\xc0\xe9\x8b\x0e\x69\xf8\x1d\xc5\x39\xed\x39\xf2\xaa\xee\xee\xfd\x93\xb6\x0c\x1b\xfd\xde\xb5\xb1\xf9\xaa\xb4\xf4\xbf\x65\xc9\x48\xb7\xf4\x1d\xea\x22\xb0\xc2\xea\x89\x9b\xd3\xa9\xa1\xe3\x30\x7b\x2e\x42\xa3\xac\x24\x6c\xcf\xaa\x35\xda\xfe\xc8\x83\x11\x84\x4e\x8d\x53\xc4\x73\x40\x5e\xc2\x7f\xd6\xa8\x87\x90\xa6\xaf\x7c\x56\x9f\x7e\xef\xcb\x05\x3a\x8d\xe1\x49\xbb\xff\x4f\xa9\x21\xf6\x2c\xd5\x22\xad\xcb\xa7\xe2\x1b\xab\x3e\x88\x07\xf1\x4f\x00\x00\x00\xff\xff\x5d\xea\x35\xcc\x7c\x0b\x00\x00"
+var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4f\x6f\xe3\xb6\x13\xbd\xf3\x53\xcc\xcf\x87\xfd\xd9\x81\x23\xa3\xff\x2e\x46\xb2\xc1\xd6\xdb\x14\x0b\xb4\xc5\xa2\xf1\xe6\xda\x1d\x53\x63\x93\x5d\x99\x14\xc8\x91\xb5\xc6\x22\xdf\xbd\x20\x29\xd1\x92\xf3\x07\xe9\xa5\x3e\x04\x91\xc8\x99\x79\xef\xcd\x9b\xd1\xe2\xe2\x42\x88\xb5\xd2\x1e\xd8\xa1\xf1\x28\x59\x5b\x03\xda\x03\x02\xd3\xbe\xae\x90\x09\xb6\xd6\x85\xc7\xc1\x39\x2b\x64\x90\xb6\xa9\x4a\xd8\x10\x34\x9e\x4a\xc1\x16\x3c\x31\x34\x35\xa0\x01\x94\xd2\x36\x86\x81\x6d\x08\x6e\xd1\x95\x50\x52\x6d\xbd\x66\x2a\x81\xed\x17\x32\x3e\x9c\xa1\xb1\xac\xc8\x81\x23\x49\xfa\x40\xae\x10\xe2\xc3\x16\xd0\x1c\xad\x21\xf0\x64\x4a\x3f\xbc\x1c\xea\xb8\xff\x7b\xb8\x4d\x19\xc9\xc1\x9f\x5d\xdc\x5c\xb0\xa2\xfc\x04\xad\xae\x2a\xf8\xbb\xf1\x9c\x8b\xb3\xb2\x9e\x06\xb9\xc2\xf5\x7b\x6c\x2a\x4e\x4c\x14\x7a\xd8\x10\x19\x11\x18\xa0\x8f\xc7\x8e\xa4\xae\x35\x19\x06\x34\x25\xd0\x5e\x87\x7f\x80\x0e\xe1\x4d\x0c\xd2\xa6\xd4\x12\x99\xbc\x68\x95\x96\x2a\xa2\xeb\x0b\x06\x96\xaa\x2f\x58\x74\x02\xb7\x78\x9c\x83\x0e\xfc\xc0\x6e\xb7\x97\x52\xa1\x36\xe0\xc9\x1d\xb4\x24\x68\xd1\x70\x84\xb6\xb7\x46\xb3\x75\xd0\x2a\x1b\xda\xd0\x25\xd4\x66\x27\x4e\xf0\x35\xcf\x41\x33\x48\x34\xd0\x22\x4b\x95\x60\xc5\x23\x4f\x04\xad\x22\x47\x03\x00\x20\x71\x4f\xb0\x75\x76\x5f\x08\x71\xc7\x54\x77\x37\x53\xb7\x52\xab\x3c\xb4\x9a\x55\x0a\xc8\x2c\xdc\x52\x88\xef\x0a\x58\x2b\x82\xdb\xc6\xec\xf4\xa6\x22\x58\xc7\x1b\xd2\x1a\x76\x28\x83\x0a\x4c\x6e\x8b\x92\xc0\xab\xe8\x07\xac\x1c\x61\x79\x0c\xbe\x28\xa9\xae\xec\x91\x4a\xf0\x76\x4f\x11\x94\xf8\x3e\x65\xc3\xba\xae\xb4\xc4\x90\x8f\xc7\xf9\xba\x2c\x83\xe8\x42\xfc\x90\x82\x06\x1d\xe9\xec\xd5\x5d\x56\x78\x20\xc0\xae\xa1\xc1\xac\x1c\xfd\x9c\x12\x3b\x42\xa6\x52\x00\x40\x6c\xa4\x67\xeb\xa8\x04\x6d\x40\xb3\x8f\x4f\xb8\xa3\xc4\x1d\xa1\x6e\x36\x95\xf6\x8a\xca\xec\x25\xf1\x63\x01\xef\x23\x90\xa8\xe7\xe7\xc8\xfe\x36\xf7\xa4\x90\xa5\xfc\x7c\x02\x1f\x5d\x5a\xea\xed\x96\xdc\x00\xa6\xf8\xa9\x08\x9e\x05\x04\x43\x2d\xbc\x4b\x2f\x97\xb0\x8a\xc8\x62\xda\x9e\x8f\xb1\x6e\x8f\x55\x75\x9c\x47\xb8\xac\xc8\x80\x6b\x4c\xaa\x9c\x88\xfc\x95\x5b\x93\x4a\x0f\x86\x32\x05\xed\x88\x59\x9b\x1d\x8c\x06\x22\xb4\x7e\x54\x28\x19\xf8\xcc\xe8\x85\xb8\x58\x08\xa1\xf7\xb5\x75\x0c\x93\xbe\xe1\x91\xf1\x24\xbf\xfe\xe5\x2b\xee\xeb\x47\x6f\xcf\x64\x99\x3c\x9d\xe5\x77\x62\x2c\x91\xf1\x5e\x53\xeb\x27\x42\x0c\xc0\x4f\xfb\x15\xb0\x84\x77\x65\xe9\xc8\xfb\x19\x7c\x13\x91\x51\xed\xa8\x46\x47\x53\xaf\x77\x26\x9c\x63\xc3\x6a\xfa\xb3\x75\xce\xb6\xf7\x58\x35\x34\x87\x0f\xde\x37\x74\x97\x5a\xb9\xc2\x1a\x37\xba\xd2\x7c\x5c\x85\xae\xd8\xaa\x22\x37\x87\x8f\xa9\xb1\xa7\xc3\x39\xdc\xe1\x81\xba\xf8\x4f\xa6\x3e\x3f\x9f\xc1\x9b\xae\x51\x19\x47\xf8\x55\xc4\x70\x08\x36\x7b\x8f\x8c\x70\x0d\x43\x35\x0a\x47\xde\x56\x07\x5a\x75\x6e\x08\x2c\xa7\xe1\x5d\xe3\x24\xad\x8f\x35\x2d\xc1\xe8\x6a\x0e\x07\x4d\x6d\x7a\x0c\x7f\xaf\x9e\x57\xa8\xb8\x5d\xdf\xf7\xb5\xde\x4e\x67\x33\x40\xff\x3f\x78\xdd\xf5\x9b\x8c\x38\xfc\x6e\x6e\xa0\x46\xa3\xe5\x74\xb2\x8a\xf3\x62\x2c\x07\x9f\x24\x26\x10\x12\x44\x50\xdd\xe8\x50\xf6\xf3\x64\x76\x62\xbe\x58\xc0\xaf\xc4\xbd\x61\x92\xad\x64\x96\x2b\x87\xf6\x06\xdb\x50\x30\xe1\x60\x1b\xda\x91\x86\xa7\x51\xbe\x0e\x48\x3a\xa9\xb3\x09\x66\x45\x4e\xad\xc9\x17\x3b\xe2\xab\x37\xdf\x46\xcc\x8b\xde\xdb\x0f\x6f\xa7\xb9\x21\x45\x1f\xff\x11\x59\xcd\x5e\x25\xc1\x33\x7c\xce\x98\x0f\x46\x35\xcf\x5f\xda\x26\x61\xf3\x68\xee\x3f\x29\xe7\xe3\x55\xda\x7e\x14\x07\x6b\xfc\x91\x97\xe0\xea\x12\x1e\xed\x95\x58\xf1\x0f\x6a\xf3\xc7\x6e\x9a\x35\x5b\x9e\xe4\x3b\x91\x4c\xd3\x51\x74\x0b\xad\x08\xc0\xa6\x57\x97\x31\xff\x1c\xd8\x2e\x61\xd1\x1d\x2d\x68\xe0\xd9\x9c\x7d\xcc\xf7\x93\xa9\xb4\xf9\x12\x81\xd3\x57\xed\xe3\x42\x39\x89\x73\x5e\x73\xd4\xab\xa6\x9f\xa5\x67\xdb\x32\x2c\xf4\x5b\x5f\xc6\x24\xfb\x75\xf4\x9f\x6a\xc9\x48\xb7\xb8\xdb\x7b\x0b\xac\xb0\x86\xeb\x27\xc1\xf4\x6a\xe8\xb0\x20\x5e\xb2\xd0\xc8\x2b\x11\xdb\x8b\x6a\x8d\xae\x3f\xea\xc1\x08\x42\xaf\xc6\x39\xe2\x39\x20\x2f\xe1\x5f\x6b\x94\x21\xc4\x8d\x26\x5f\xd4\x27\xdf\x7d\xbd\x40\xe7\x36\x3c\x2b\xf7\xdf\x29\x35\xc4\x9e\xa4\x5a\xc4\x73\xf9\x9c\x7d\x43\xd6\x07\xf1\x20\xfe\x09\x00\x00\xff\xff\x8f\x70\x87\x17\xd0\x0a\x00\x00"
 
 func create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -144,11 +141,11 @@ func create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x30, 0x86, 0x62, 0x2f, 0x7c, 0xc2, 0xfc, 0xc7, 0xe3, 0xef, 0x15, 0xb0, 0x9e, 0x95, 0x95, 0x4f, 0x55, 0x6f, 0xc5, 0xc, 0x33, 0x95, 0xbd, 0x3f, 0x89, 0xd9, 0xc3, 0x85, 0x28, 0x1, 0xb4, 0xba}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x2d, 0x1d, 0x46, 0xca, 0x5c, 0x15, 0x80, 0x87, 0x12, 0xa2, 0x35, 0x4c, 0x8e, 0x22, 0xeb, 0xd2, 0x7c, 0x3b, 0xff, 0x8e, 0xfc, 0x9c, 0x5f, 0x5d, 0xd3, 0xa5, 0x49, 0x96, 0x86, 0x85, 0xc0}}
 	return a, nil
 }
 
-var _generic_transfer_with_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x6f\xdb\x46\x10\x3d\x5b\xbf\xe2\x59\x87\x84\x04\x1c\xfa\x52\xf4\x20\x38\x76\x5d\x17\xee\xa9\x45\x90\x2a\xee\x79\x44\x8e\xc4\x85\xa9\x5d\x62\x77\x28\xc5\x30\xf4\xdf\x8b\xfd\xe0\x56\x54\x6c\xc7\x3e\x58\xd2\x70\xe7\xcd\xcc\x7b\x6f\x96\x6a\xdb\x1b\x2b\x98\xdf\x0f\x7a\xa3\x56\x1d\x2f\xcd\x23\xeb\xf9\xec\xc5\xf0\x5f\x2c\xd4\x90\xd0\x83\xe2\xbd\x9b\xcf\x66\x97\x97\x97\xb8\x23\x8d\x9e\x9c\x83\xd2\x20\xfd\x84\xda\x68\xb1\x54\x0b\xa8\x69\x2c\x3b\x07\xd2\x0d\x34\x6d\x19\x62\x20\x96\xb4\x5b\xb3\x05\x41\x3c\x20\xd6\xd6\x6c\x21\x2d\x49\xce\x0b\xa0\xcb\x56\x39\x74\x2c\x0e\x4f\x66\x40\xdd\x1a\xe3\x18\xd2\x72\xca\xf2\xc1\x3d\x69\xf1\x90\x8e\x75\xe3\x73\x42\xde\xed\x71\x03\x35\x69\xac\xd8\x67\x3b\xd6\x68\xd9\xf2\x05\x9c\xc1\x9e\xba\x80\xec\x5a\x33\x74\x0d\xea\x96\xeb\x47\x90\xdd\x0c\x5b\xd6\x82\x1d\x75\x03\xbb\x00\x26\x06\x5b\x7a\x64\xb8\xc1\xc6\xe2\x4a\x0b\xeb\x86\x9b\xd4\x45\x4f\xd2\x42\xb9\x30\x3d\x37\x50\x3a\xb4\x11\x46\xa4\x5a\x94\xd1\x05\x6d\xcd\xa0\x65\x81\x6f\xf7\xea\xfb\xaf\xbf\x5c\x40\xcc\x02\xb7\x91\x96\x8b\xdc\x67\x0a\xbc\xf0\xe4\x6f\xda\xf2\x02\xff\x88\x55\x7a\x53\xe2\x79\x36\x03\x80\xc0\x0e\xe3\x81\x86\x4e\x60\xd9\x99\xc1\xd6\x1c\x29\x6c\x4d\xd7\xb8\xff\x69\x72\x31\x4a\x96\xb1\x62\xa5\x37\x99\x7d\xcb\x4d\x80\xea\x58\x20\xbc\xed\x03\xd6\x02\xbf\x3d\x4f\xc4\xae\x42\xf8\x90\xab\xde\x2f\x43\xe0\x0f\x12\x82\x13\x3b\xd4\x81\xfe\x0d\x4b\x20\xc2\x05\x29\x33\xec\x6e\x3c\xba\xc0\xeb\x0e\xaa\x8e\x20\x63\x99\xde\x72\x4f\x96\x0b\xa7\x36\x9a\xed\x02\x34\x48\x5b\xfc\x6e\xac\x35\xfb\x07\x2f\x4c\x89\x0f\xb7\x75\xed\x49\xcd\x7c\xa4\xee\xe2\x21\x10\x2c\xaf\xd9\xb2\xae\xa3\xdf\x5a\x8e\xad\xc0\x89\xb1\xdc\xc0\xe8\x10\x4b\x92\x51\xc4\x02\xc9\x71\xb4\x1f\x56\x9d\xaa\xbf\x90\xb4\xb9\x80\x1f\xc9\x73\xdd\xed\xd8\x7e\xe5\x35\x3e\xfb\xb9\x53\x27\xc5\x89\x90\x65\xce\xf2\x7f\xd5\xf8\xd4\x55\xab\xd0\xe2\xd5\x87\x29\xcd\x87\xeb\x42\x07\x9d\x8f\x55\x9f\x62\xdc\xdc\xa0\x27\xad\xea\x62\x7e\x17\x2c\xab\x8d\x60\xf5\xea\xbc\xeb\x84\x9e\x5c\x3a\xc2\xce\xcb\x09\x5f\xdf\x5c\x32\xcd\x24\xdf\xb2\x58\xc5\xbb\x68\xf7\xfb\xa5\x57\x09\x39\xcb\x71\xb7\xae\xb2\xb0\xf8\x7c\xcc\x48\x95\xbe\xdf\xa5\x6a\x3e\xb3\x18\xdd\xb9\x7c\xea\x79\x01\xad\xba\x0b\xec\x14\xef\xe3\x4f\xff\xff\xea\x7d\xde\xb8\x2e\xca\x12\xe4\xce\xdf\x69\xa5\x9b\x9f\x92\x97\x9a\x1d\xa7\xcc\x23\xf9\xee\xb0\x36\x36\x3c\xd8\xa8\x1d\xeb\x5c\xf2\x6d\x36\xff\x64\x79\x49\x8a\x68\xe3\x8f\x6e\x74\x5f\x20\x6f\x62\xaa\x10\x89\x8e\x8a\x87\x2b\x7f\x94\x36\x3c\xba\x25\x6c\xc0\x74\x2f\xff\x55\xd2\x36\x96\xf6\x25\x4e\xac\x54\x7d\xb1\x66\xa7\x1a\xb6\x87\xeb\xc2\x6f\xe3\xe2\x44\xb2\x11\xdb\x5b\xbb\x9c\x9d\x9d\x9d\xbd\x61\xac\x1f\x66\x31\xfb\x38\x4a\x60\xeb\xfc\x78\xfe\x50\x24\xdf\x23\xb8\xfa\x94\xa7\xaa\xf6\xa9\xd5\x7c\x13\xc6\xcf\x68\xef\x74\xb5\xf0\x77\xae\x07\x61\x3c\x9f\x6c\x5b\xad\x7a\xe5\x6f\xe4\xc9\xae\x89\x29\x4f\x8f\xb1\xca\x4b\x99\x93\xaa\x9a\x7a\x5a\xa9\x4e\x89\xe2\xd7\x16\xaf\xfa\x9a\x72\x0f\xd7\xc5\x09\x4f\x23\x6a\x24\xea\x9d\xab\xf8\x03\x63\xb9\x9b\x8f\x0e\x63\xad\xf3\x13\xe3\x2c\xc7\x17\x62\xba\xb1\xd3\xfb\xf0\x15\xeb\x1c\x21\x07\x34\xe4\x31\x9f\x32\xe8\x11\x23\x55\xc3\xbd\x71\x4a\x92\x19\xae\x3e\x4d\x95\x1a\x55\x38\xfc\x17\x00\x00\xff\xff\x17\xb8\x36\x26\x03\x08\x00\x00"
+var _generic_transfer_with_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x6f\xdb\x46\x10\x3d\x5b\xbf\xe2\x59\x87\x84\x04\x1c\xfa\x52\xf4\x20\x38\x76\x5d\x17\xee\xa9\x45\x90\x2a\xee\x79\x44\x8e\xc4\x85\xa9\x5d\x62\x77\x28\xc5\x30\xf4\xdf\x8b\xfd\xe0\x56\x54\x6c\xc7\x3e\x58\xd2\x70\xe7\xcd\xcc\x7b\x6f\x96\x6a\xdb\x1b\x2b\x98\xdf\x0f\x7a\xa3\x56\x1d\x2f\xcd\x23\xeb\xf9\xec\xc5\xf0\x5f\x2c\xd4\x90\xd0\x83\xe2\xbd\x9b\xcf\x66\x97\x97\x97\xb8\x23\x8d\x9e\x9c\x83\xd2\x20\xfd\x84\xda\x68\xb1\x54\x0b\xa8\x69\x2c\x3b\x07\xd2\x0d\x34\x6d\x19\x62\x20\x96\xb4\x5b\xb3\x05\x41\x3c\x20\xd6\xd6\x6c\x21\x2d\x49\xce\x0b\xa0\xcb\x56\x39\x74\x2c\x0e\x4f\x66\x40\xdd\x1a\xe3\x18\xd2\x72\xca\xf2\xc1\x3d\x69\xf1\x90\x8e\x75\xe3\x73\x42\xde\xed\x71\x03\x35\x69\xac\xd8\x67\x3b\xd6\x68\xd9\xf2\x05\x9c\xc1\x9e\xba\x80\xec\x5a\x33\x74\x0d\xea\x96\xeb\x47\x90\xdd\x0c\x5b\xd6\x82\x1d\x75\x03\xbb\x00\x26\x06\x5b\x7a\x64\xb8\xc1\xc6\xe2\x4a\x0b\xeb\x86\x9b\xd4\x45\x2e\x14\xa6\xf3\x63\x8e\x23\x2b\x17\x28\xe1\x06\x4a\x87\xde\xc2\xdc\x54\x8b\x32\xba\xa0\xad\x19\xb4\x2c\xf0\xed\x5e\x7d\xff\xf5\x97\x0b\x88\x59\xe0\x36\x26\x5e\x64\xcc\x14\x78\xe1\xc9\xdf\xb4\xe5\x05\xfe\x11\xab\xf4\xa6\xc4\xf3\x6c\x06\x00\x81\x32\xc6\x03\x0d\x9d\xc0\xb2\x33\x83\xad\x39\xf2\xda\x9a\xae\x71\xff\x73\xe7\x62\x94\x2c\x63\xc5\x4a\x6f\xb2\x24\x96\x9b\x00\xd5\xb1\x40\x78\xdb\x07\xac\x05\x7e\x7b\x9e\x38\xa0\x0a\xe1\x43\xae\x7a\xbf\x0c\x81\x3f\x48\x08\x4e\xec\x50\x07\x4d\x36\x2c\xe8\x49\x5a\x17\xf4\xcd\xb0\xbb\xf1\xe8\x02\xaf\xdb\xaa\x3a\x82\x8c\x65\x7a\xcb\x3d\x59\x2e\x9c\xda\x68\xb6\x0b\xd0\x20\x6d\xf1\xbb\xb1\xd6\xec\x1f\xbc\x5a\x25\x3e\xdc\xd6\xb5\x27\x35\xf3\x91\xba\x8b\x87\x40\xb0\xbc\x66\xcb\xba\x8e\x26\x6c\x39\xb6\x02\x27\xc6\x72\x03\xa3\x43\x2c\x49\x46\x11\x0b\x24\xc7\xd1\x7e\x58\x75\xaa\xfe\x42\xd2\xe6\x02\x7e\x24\xcf\x75\xb7\x63\xfb\x95\xd7\xf8\xec\xe7\x4e\x9d\x14\x27\x42\x96\x39\xcb\xff\x55\xe3\x53\x57\xad\x42\x8b\x57\x1f\xa6\x34\x1f\xae\x0b\x1d\x74\x3e\x56\x7d\x8a\x71\x73\x83\x9e\xb4\xaa\x8b\xf9\x5d\xf0\xb1\x36\x82\xd5\xab\xf3\xae\x13\xfa\x89\x75\xe7\xe5\x84\xaf\x6f\x2e\x99\x66\x92\x6f\x59\xac\xe2\x5d\xdc\x81\xfb\xa5\x57\x09\x39\xcb\x71\xb7\xae\xb2\xb0\xf8\x7c\xcc\x48\x95\xbe\xdf\xa5\x6a\x3e\xb3\x18\xdd\xb9\x7c\xea\x79\x01\xad\xba\x0b\xec\x14\xef\xe3\x4f\xff\xff\xea\x7d\xde\xb8\x2e\xca\x12\xe4\xce\xdf\x69\xa5\x9b\x9f\x92\x97\x9a\x1d\xa7\xcc\x23\xf9\xee\xb0\x36\x36\x3c\xd8\xa8\x1d\xeb\x5c\xf2\x6d\x36\xff\x64\x79\x49\x8a\x68\xe3\x8f\x6e\x74\x5f\x20\x6f\x62\xaa\x10\x89\x8e\x8a\x87\x2b\x7f\x94\x36\x3c\xba\x25\x6c\xc0\x74\x2f\xff\x55\xd2\x36\x96\xf6\x25\x4e\xac\x54\x7d\xb1\x66\xa7\x1a\xb6\x87\xeb\xc2\x6f\xe3\xe2\x44\xb2\x11\xdb\x5b\xbb\x9c\x9d\x9d\x9d\xbd\x61\xac\x1f\x66\x31\xfb\x38\x4a\x60\xeb\xfc\x78\xfe\x50\x24\xdf\x23\xb8\xfa\x94\xa7\xaa\xf6\xa9\xd5\x7c\x13\xc6\xcf\x68\xef\x74\xb5\xf0\x77\xae\x07\x61\x3c\x9f\x6c\x5b\xad\x7a\xe5\xaf\xe9\xc9\xae\x89\x29\x4f\x8f\xb1\xca\x4b\x99\x93\xaa\x9a\x7a\x5a\xa9\x4e\x89\xe2\xd7\x16\xaf\xfa\x9a\x72\x0f\xd7\xc5\x09\x4f\x23\x6a\x24\xea\x9d\xab\xf8\x03\x63\xb9\x9b\x8f\x0e\x63\xad\xf3\x13\xe3\x2c\xc7\xb7\x64\xba\xb1\xd3\x4b\xf2\x15\xeb\x1c\x21\x07\x34\xe4\x31\x9f\x32\xe8\x11\x23\x55\xc3\xbd\x71\x4a\x92\x19\xae\x3e\x4d\x95\x1a\x55\x38\xfc\x17\x00\x00\xff\xff\xb0\x78\xc6\x50\x18\x08\x00\x00"
 
 func generic_transfer_with_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -164,7 +161,7 @@ func generic_transfer_with_addressCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "generic_transfer_with_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3f, 0xeb, 0xb4, 0xb8, 0xb2, 0x13, 0xcc, 0xe, 0xc2, 0x7b, 0xf7, 0xe5, 0xf0, 0x19, 0xab, 0x17, 0xa0, 0x4, 0x1, 0xb5, 0xb2, 0x2, 0xf0, 0x5, 0x9, 0xf1, 0x4f, 0x4d, 0x60, 0xcb, 0xe7, 0x34}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x50, 0xe3, 0x8f, 0x2b, 0xb4, 0xff, 0xf8, 0x64, 0xaf, 0xe5, 0x57, 0xf, 0x46, 0xc6, 0x47, 0xae, 0xd8, 0x1c, 0x23, 0x52, 0x67, 0xa5, 0x96, 0xdd, 0xdc, 0x5d, 0x39, 0x26, 0x21, 0x75, 0xb8, 0x7}}
 	return a, nil
 }
 
@@ -408,7 +405,7 @@ func scriptsGet_supplyCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsGet_supported_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x93\x4f\x6f\x9b\x40\x10\xc5\xef\x7c\x8a\x27\x1f\x1a\x90\x2a\x7c\xb7\xda\x46\xe9\xa1\xea\x31\x4a\xd2\x9e\x59\x96\xc1\xbb\xca\xc2\xa2\x99\xc1\xc8\xb2\xfc\xdd\xab\x05\xbb\x31\x56\xeb\x93\xb5\x9a\xf7\x7e\x8f\xf9\xe3\xbb\x21\xb2\x62\xf3\x63\xec\xf7\xbe\x0e\xf4\x16\xdf\xa9\xdf\x64\xd9\x76\xbb\xc5\x9b\xf3\x02\xb1\xec\x07\x15\x30\xe9\xc8\xbd\x40\x1d\x41\xc6\x21\xa9\xa8\xc1\x4a\xf6\x20\xd0\xe3\x40\xa8\x8f\x73\xd5\xc0\xf1\xe0\x1b\x6a\x50\xa9\xe1\x3d\x69\x05\xd3\x34\x4c\x22\xe5\xec\x7e\xff\x0a\x71\x71\x0c\x0d\x5c\x0c\xcd\xac\xb7\x66\x30\xb5\x0f\x5e\x8f\x98\x9c\xb7\x0e\x36\xf6\x6d\xe4\x4e\x30\x79\x75\x6b\x74\xf9\x42\x96\xfc\x81\x18\x4c\xa2\xec\x6d\x0a\x97\xc2\xcc\xa8\xc9\xf9\x40\xf0\x8a\x26\x92\xf4\x0f\x8a\xce\xa8\x12\x63\x72\xa4\x8e\xf8\x96\xc4\xd4\x12\x0b\x34\xa2\xbd\xf8\x43\x13\x00\x91\x61\x60\x47\xd1\xd8\x81\xaf\xb0\xe0\xdf\x09\xcb\xd7\xac\xe2\xbc\x4e\x5e\xad\xab\xa3\xe1\xa6\x4a\xca\x6a\x7e\xbd\x66\xac\x4a\xfc\x8c\x13\x25\x83\x4b\x13\x9e\x8d\xba\x0a\x4a\x21\x48\x0a\xc5\x74\xdf\x00\xd1\xc8\x24\x99\xb1\x96\x44\x72\x13\x42\x91\xf2\xa1\x33\xbe\xcf\x17\x8b\x1d\x9e\x96\x3e\x7e\xc6\x87\xe7\x0e\xcf\x63\x1d\xbc\x4d\xff\x8b\x1d\x4e\x6f\xc7\x81\x76\xf8\x1e\x63\x38\xe3\x94\x65\x00\xb0\xdd\xe2\x69\x76\xbd\x47\xb6\x91\xd7\x63\x5c\x6c\xaf\xe3\x9a\xc5\x81\xf4\x46\xf2\x42\x2d\xbe\x62\x4f\xfa\x64\x6d\x1c\x7b\xbd\x24\x2b\xca\xbf\x25\x9e\xa4\xac\x23\x73\x9c\xbe\x7c\x3a\xfd\x7b\x80\xe7\x6f\xf9\x47\xfe\x62\xa6\xa4\xdf\xe3\x23\x06\xd3\x7b\x9b\x6f\x7e\xf5\x66\x99\x0a\x16\xa7\xd5\x9e\xa4\xc5\xb8\xd9\x00\x19\xeb\x65\x25\xff\x07\x43\xcb\xb1\xc3\x60\xd4\x6d\x4a\x1b\x7b\x6b\xf4\x86\x5e\x6a\x7c\x55\xf6\xfd\x3e\x2f\x8a\xe2\xda\xac\x97\xf9\x0e\xee\xce\xe0\x60\xc6\xa0\x33\x49\xca\xb9\x70\xb9\x96\x75\x6f\xca\x3d\xe9\xeb\x55\xf2\x3b\x29\xd2\x38\x24\x2f\xb2\xf3\x9f\x00\x00\x00\xff\xff\x42\x4f\xb5\xad\x86\x03\x00\x00"
+var _scriptsGet_supported_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x93\x4f\x6f\x9b\x40\x10\xc5\xef\x7c\x8a\x27\x1f\x1a\x90\x2a\x7c\xb7\xda\x46\xe9\xa1\xea\x31\x4a\xd2\x9e\x59\x96\xc1\xbb\xca\xc2\xa2\x99\xc1\xc8\xb2\xfc\xdd\xab\x05\xbb\x31\x56\xeb\x93\xb5\x9a\xf7\x7e\x8f\xf9\xe3\xbb\x21\xb2\x62\xf3\x63\xec\xf7\xbe\x0e\xf4\x16\xdf\xa9\xdf\x64\xd9\x76\xbb\xc5\x9b\xf3\x02\xb1\xec\x07\x15\x30\xe9\xc8\xbd\x40\x1d\x41\xc6\x21\xa9\xa8\xc1\x4a\xf6\x20\xd0\xe3\x40\xa8\x8f\x73\xd5\xc0\xf1\xe0\x1b\x6a\x50\xa9\xe1\x3d\x69\x05\xd3\x34\x4c\x22\xe5\xec\x7e\xff\x0a\x71\x71\x0c\x0d\x5c\x0c\xcd\xac\xb7\x66\x30\xb5\x0f\x5e\x8f\x98\x9c\xb7\x0e\x36\xf6\x6d\xe4\x4e\x30\x79\x75\x6b\x74\xf9\x42\x96\xfc\x81\x18\x4c\xa2\xec\x6d\x0a\x97\xc2\xcc\xa8\xc9\xf9\x40\xf0\x8a\x26\x92\xf4\x0f\x8a\xce\xa8\x12\x63\x72\xa4\x8e\xf8\x96\xc4\xd4\x12\x0b\x34\xa2\xbd\xf8\x43\x13\x00\x91\x61\x60\x47\xd1\xd8\x81\xaf\xb0\xe0\xdf\x09\xcb\xd7\xac\xe2\xbc\x4e\x5e\xad\xab\xa3\xe1\xa6\x4a\xca\x6a\x7e\xbd\x66\xac\x4a\xfc\x8c\x13\x25\x83\x4b\x13\x9e\x8d\xba\x0a\x4a\x21\x48\x0a\xc5\x74\xdf\x00\xd1\xc8\x24\x99\xb1\x96\x44\x72\x13\x42\x91\xf2\xa1\x33\xbe\xcf\x17\x8b\x1d\x9e\x96\x3e\x7e\xc6\x87\xe7\x0e\xcf\x63\x1d\xbc\x4d\xff\x8b\x1d\x4e\x6f\xc7\x81\x76\xf8\x1e\x63\x38\xe3\x94\x65\x00\xb0\xdd\xe2\x69\x76\xbd\x47\xb6\x91\xd7\x63\x5c\x6c\xaf\xe3\x9a\xc5\x81\xf4\x46\xf2\x42\x2d\xbe\x62\x4f\xfa\x64\x6d\x1c\x7b\xbd\x24\x2b\xca\xbf\x25\x9e\xa4\xac\x23\x73\x9c\xbe\x7c\x3a\xfd\x7b\x80\xe7\x6f\xf9\x47\xfe\x62\xa6\xa4\xdf\xe3\x23\x06\xd3\x7b\x9b\x6f\x7e\xf5\x66\x99\x0a\x16\xa7\xd5\x9e\xa4\xc5\xb8\xd9\x00\x19\xeb\x65\x25\xff\x07\x43\xcb\xb1\xc3\x60\xd4\x6d\x4a\x1b\x7b\x6b\xf4\x86\x5e\x6a\x7c\x55\xf6\xfd\x3e\x2f\x8a\xe2\xda\xac\x97\xf9\x0e\xee\xce\xe0\x60\xc6\xa0\x33\x49\xca\xb9\x70\xb9\x96\x75\x6f\xca\x3d\xe9\xeb\x55\xf2\x3b\x29\xd2\x38\x24\x2f\xb2\x73\xf6\x27\x00\x00\xff\xff\x60\x93\xa8\xaa\x87\x03\x00\x00"
 
 func scriptsGet_supported_vault_typesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -424,7 +421,7 @@ func scriptsGet_supported_vault_typesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/get_supported_vault_types.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc6, 0x86, 0x77, 0x5e, 0x9a, 0x4b, 0xc9, 0x1f, 0x99, 0xc1, 0x61, 0x13, 0x81, 0xe, 0xc9, 0x79, 0xa0, 0x5, 0xf7, 0x5d, 0x1e, 0xb4, 0xf2, 0x48, 0x90, 0x75, 0x45, 0x8c, 0xc2, 0xac, 0x4, 0x5b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe0, 0xc7, 0x62, 0xe7, 0x3d, 0xbc, 0xf3, 0x6f, 0xd, 0x82, 0x27, 0x6a, 0x8b, 0x4b, 0x9d, 0x4c, 0xcd, 0xb9, 0xe, 0x3b, 0x55, 0xa9, 0xd5, 0x69, 0x23, 0x2d, 0xfa, 0x9f, 0x6c, 0x4d, 0xa, 0xa9}}
 	return a, nil
 }
 
@@ -508,66 +505,6 @@ func scriptsMetadataGet_vault_supply_viewCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsSwitchboardCheck_receiver_by_typeCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x91\xc1\x6e\xea\x30\x10\x45\xf7\xf9\x8a\xab\x2c\x9e\xec\x4d\x3e\x00\xf1\xa0\x50\xb5\x6b\x04\xb4\x7b\x67\x32\x49\x2c\x1c\x3b\x72\x26\xa5\x11\xe2\xdf\x2b\x1a\x68\xd3\x4a\x2c\xba\x1b\xcb\xe7\xca\xc7\x77\x6c\xd3\x86\x28\x48\x9f\x7b\x5f\xd9\xdc\xf1\x3e\x1c\xd8\xef\x8e\x56\xa8\xce\x83\x89\x45\x9a\xdc\x88\xa7\x77\xd3\xb4\x57\x20\x4d\x12\x43\xc4\x5d\xa7\x8c\x73\x1a\x65\xef\xd1\x18\xeb\x55\xf7\x1d\x9c\x61\x55\x14\x91\xbb\x4e\xcf\xb0\x0e\xc1\xe1\x94\x38\x16\x4c\x88\x2d\x97\xf8\x8f\x8a\x65\x45\x14\x7a\x2f\xd3\xb4\x4e\x00\x20\xab\x58\x1e\x4d\x6b\x72\xeb\xac\x0c\xf3\x7f\xa7\x7b\x96\xd9\x64\xde\xf4\xb9\xb3\x74\x5e\xa8\xbb\xf0\x48\x6c\x8c\xd4\xd7\x67\xf2\x10\x63\x38\x2a\x8d\xcf\xe3\x72\x89\xd6\x78\x4b\x2a\x7d\xf1\x26\x77\x0c\x09\x18\x09\xd0\x97\x0c\x8e\x56\x6a\x44\xee\x24\x5a\x12\x2e\x20\x43\xcb\x08\x25\xfe\xe2\x88\x32\x86\x06\x69\x46\xc1\x93\xf9\xf1\xff\x4c\xc2\x4e\xa2\xf5\x95\xd2\xfa\x76\x8d\xd4\x8c\x45\xa5\x7a\xf4\x8e\x2c\x7d\xf4\xbf\x2a\xcd\xa8\x66\x3a\x6c\x99\xd8\xbe\x71\x5c\x0f\xfb\xa1\x65\x75\x91\x9b\xe1\x32\xce\x1f\xa6\x7b\xcc\x5e\x4d\xef\x64\xa1\xb4\x4e\xce\x1f\x01\x00\x00\xff\xff\x42\x49\x50\xe3\x0a\x02\x00\x00"
-
-func scriptsSwitchboardCheck_receiver_by_typeCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_scriptsSwitchboardCheck_receiver_by_typeCdc,
-		"scripts/switchboard/check_receiver_by_type.cdc",
-	)
-}
-
-func scriptsSwitchboardCheck_receiver_by_typeCdc() (*asset, error) {
-	bytes, err := scriptsSwitchboardCheck_receiver_by_typeCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "scripts/switchboard/check_receiver_by_type.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x28, 0xbd, 0x17, 0x97, 0x36, 0x67, 0x9d, 0x1d, 0x71, 0xf7, 0xf1, 0x0, 0x2c, 0x7c, 0xa2, 0x2a, 0xde, 0xb2, 0x26, 0x85, 0xa2, 0x40, 0xc, 0xb, 0x9c, 0x93, 0x79, 0xea, 0xb6, 0xf1, 0xa8, 0xca}}
-	return a, nil
-}
-
-var _scriptsSwitchboardGet_vault_typesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x51\x4d\x6b\xe3\x30\x10\xbd\xeb\x57\x3c\x7c\x58\xec\x8b\x7d\x0f\x9b\x0d\x21\xb0\x7b\x0d\xd9\xd0\x4b\x29\x44\x96\xc7\xb6\xa8\x2c\x19\x69\xdc\x10\x42\xfe\x7b\x91\xdd\x34\x4e\x69\xa0\x3e\x19\xcd\xfb\x98\x79\x4f\x77\xbd\xf3\x8c\xe4\xef\x60\x1b\x5d\x1a\xda\xbb\x57\xb2\x89\xf8\xf6\xf9\xff\x51\xb3\x6a\x4b\x27\x7d\x95\x08\x51\x14\xd8\xb7\x3a\x20\x28\xaf\x7b\x86\x27\x59\x05\x70\x4b\x08\xec\x3c\x55\x78\x93\x83\x61\x28\xd9\xcb\x52\x1b\xcd\x9a\x02\x6a\xef\x3a\x48\x84\x9b\x0e\x9c\x8d\x9c\x28\xd6\xcb\x10\xa8\x82\x54\xca\x0d\x96\x85\x54\x8a\x42\x48\xa5\x31\x19\xea\xc1\xa2\x93\xda\xa6\x1f\xc3\x05\xd6\x55\xe5\x29\x84\x6c\x81\xe7\xfd\xa9\xa7\x17\x9c\x85\x00\x00\x43\x1c\x15\x18\x4b\x34\xc4\xeb\x09\x7e\xa5\x65\x13\xa6\x28\xf0\x2f\xc2\xe0\xa9\x26\x4f\x56\x11\xd8\x4d\x9b\xcf\x16\x53\xce\xd6\xce\x77\xda\x36\x71\x3a\x3b\x7d\x3b\x94\x46\xab\x4f\xb7\x19\x67\x47\x35\x96\xa3\x7d\xde\x10\x6f\xae\x97\x9f\xd2\x47\x29\xe6\x93\xd6\x56\x72\x9b\x8d\x82\xf1\xcb\x4b\xe7\xbd\x3b\xfe\xfe\xf5\x90\x35\xfb\x3f\xff\x04\x34\xb9\x5c\xfe\xa4\x37\x93\xd5\x0a\xbd\xb4\x5a\xa5\xc9\xc6\x0d\xa6\x82\x75\x8c\xc9\xf7\x3e\x95\xd9\x75\xc9\x2d\xbe\x1d\xf1\xe0\xc7\xe2\xe0\x29\xc4\x9a\x5d\x8d\x43\x43\xfc\x14\x3b\x8f\x85\x84\x34\x3b\x8c\x68\x3f\x41\xef\x53\xca\xbf\x40\x85\xb8\x88\xf7\x00\x00\x00\xff\xff\x34\x76\xa3\x3d\x89\x02\x00\x00"
-
-func scriptsSwitchboardGet_vault_typesCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_scriptsSwitchboardGet_vault_typesCdc,
-		"scripts/switchboard/get_vault_types.cdc",
-	)
-}
-
-func scriptsSwitchboardGet_vault_typesCdc() (*asset, error) {
-	bytes, err := scriptsSwitchboardGet_vault_typesCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "scripts/switchboard/get_vault_types.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5b, 0x3a, 0x34, 0x84, 0xf0, 0x9c, 0x3d, 0xf2, 0x3, 0xc9, 0x31, 0xb0, 0xa9, 0x89, 0x21, 0xb5, 0xd3, 0x99, 0xef, 0xa1, 0x62, 0x13, 0x4e, 0x29, 0x51, 0xba, 0x55, 0xcb, 0x65, 0x30, 0xc3, 0x48}}
-	return a, nil
-}
-
-var _scriptsSwitchboardGet_vault_types_and_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x91\x41\x6f\xa3\x30\x10\x85\xef\xfe\x15\x4f\x1c\x56\x70\x81\x7b\xb4\xbb\x51\xb4\xd2\xf6\x1a\xa5\x51\x7b\x8d\x31\x03\x58\x35\x36\x1a\x0f\x8d\xaa\x28\xff\xbd\x02\x92\x94\xa8\x8d\x8f\xe3\x79\x33\x6f\xbe\x67\xbb\x3e\xb0\x20\xf9\x3f\xf8\xc6\x96\x8e\xf6\xe1\x8d\x7c\xa2\x7e\x2c\x3f\x1f\xad\x98\xb6\x0c\x9a\xab\x44\xa9\xa2\x28\xb0\x6f\x6d\x44\x34\x6c\x7b\x01\x93\xae\x22\xa4\x25\x44\x09\x4c\x15\xde\xf5\xe0\x04\x46\xf7\xba\xb4\xce\x8a\xa5\x88\x9a\x43\x07\x8d\xf8\x35\x08\xc1\x4f\x9a\x5e\xc7\x48\x15\xb4\x31\x61\xf0\x32\x0e\x57\xda\x18\x8a\x31\xd5\xce\x65\xa8\x07\x8f\x4e\x5b\x9f\x5e\x1a\x56\xd8\x54\x15\x53\x8c\xd9\x0a\xa7\xfd\x47\x4f\xb7\xc2\x19\x27\xa5\x00\xa0\x28\xf0\x44\x02\x0d\xa6\x9a\x98\xbc\x21\x48\x98\xfd\x2d\xd6\x9b\xe0\xeb\xc0\x9d\xf5\xcd\xf8\xbb\xb8\x70\x3b\x94\xce\x9a\x69\x92\x23\x59\x6a\x76\x54\xe3\x0f\x1a\x92\xcd\xec\xe5\xea\x29\xcb\x97\xb7\xe6\x65\x60\x0e\xc7\xdf\xbf\x4e\x8f\x18\xe6\xdf\xb6\x9d\xff\xa6\xd3\xc2\xeb\x7b\xa8\x9c\xdb\xb7\x5a\xda\x5b\x7f\x86\xf5\x1a\xbd\xf6\xd6\xa4\xc9\xbf\x30\xb8\x0a\x3e\x08\x66\x13\xf7\x08\x16\xa7\x24\xd9\x8d\xd5\x8e\x64\xe0\x39\x0b\xa6\x38\x26\x17\x6a\x1c\x1a\x92\x97\x31\xc6\x11\x71\x7c\xb5\xd2\x5e\x28\xa7\xd9\x61\x12\xf2\xac\xba\xa7\x93\x3f\x56\x29\x75\x56\x9f\x01\x00\x00\xff\xff\xec\x44\x7e\xc2\x73\x02\x00\x00"
-
-func scriptsSwitchboardGet_vault_types_and_addressCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_scriptsSwitchboardGet_vault_types_and_addressCdc,
-		"scripts/switchboard/get_vault_types_and_address.cdc",
-	)
-}
-
-func scriptsSwitchboardGet_vault_types_and_addressCdc() (*asset, error) {
-	bytes, err := scriptsSwitchboardGet_vault_types_and_addressCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "scripts/switchboard/get_vault_types_and_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x94, 0x76, 0x20, 0xbc, 0xb8, 0xf5, 0x3c, 0xf5, 0x75, 0x8d, 0x73, 0x44, 0x5, 0x28, 0x62, 0xe4, 0x3, 0xba, 0xf3, 0x2a, 0x1f, 0x15, 0x71, 0xde, 0x9a, 0xd8, 0xe3, 0x7d, 0x48, 0xd3, 0xdc}}
-	return a, nil
-}
-
 var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\xdb\x38\x10\xbd\xeb\x57\xcc\x6a\x01\x43\xc2\xa6\x72\xfa\x91\x6c\x6b\xd4\x0d\xba\x6d\x8d\x3d\xb4\x40\x11\x68\xbb\x87\xa2\x08\xc6\xd4\x58\x26\x42\x91\x02\x39\xb2\x1d\x2c\xfa\xdf\x17\xd4\x97\x65\x45\x31\xca\x83\x61\x72\x66\xde\xbc\x79\xf6\x3c\x59\x94\xc6\x32\x84\xab\x4a\xe7\x72\xad\x28\x35\xf7\xa4\xbf\x10\x63\x86\x8c\xdf\x24\xed\x5d\x18\x74\x39\x4f\x3c\xfb\xeb\x2d\x39\xa3\x76\x64\x8f\xaf\x9f\x0e\x58\x94\x2d\x5e\x18\x04\xf3\xf9\x1c\x52\x72\x0c\x5b\x52\x25\x59\x70\xc2\xca\x92\x81\x0d\xec\x50\xc9\x0c\x99\x60\x58\x01\x8e\xec\x8e\x1c\xac\xd2\x8f\xd2\x95\x0a\x1f\x00\x1d\xd0\xa1\x24\xc1\x94\x79\xb0\x00\x85\x20\xe7\x22\x54\x2a\x86\x4d\xa5\xa1\x40\xa9\x23\xcc\x32\x4b\xce\x2d\xe0\x7d\xf3\x25\x5e\xc0\x5f\xc6\x28\xf8\x2f\x00\x00\x50\xc4\x80\x42\x98\x4a\x33\x2c\x21\x27\x7e\xdf\x5c\xba\xb2\x38\xe8\xd3\xba\x56\xb0\x84\xa7\x95\x49\x7a\x76\x51\x5d\xd8\x1d\x8d\x05\x2d\x7a\x05\x7a\x00\x68\xb4\xb8\x38\xc9\x75\x0f\xc5\xda\x28\x9f\xbd\x4a\x47\xa1\x8c\x1a\x91\xa4\xd1\x0b\x08\xd3\xad\x74\x7e\xd0\x06\x8a\x6b\x91\xa4\x83\xca\x51\xe6\xb5\x41\x0d\xd4\xf6\x63\x53\x8b\x0c\x0f\xa6\x82\x8c\x76\xa4\x4c\xfd\xdd\x82\xa6\x03\xc3\x2a\x85\xdf\x8d\x5e\x29\xb3\x4f\x46\xfd\xe8\xc0\x64\x35\xaa\x7f\x6e\x3f\x2f\xe0\x74\xd0\x4f\xc7\x50\x14\x6e\x99\x4b\xb7\x98\xcf\xdb\x7e\xcf\x36\x9c\x18\xbd\xf1\x80\xc6\xe6\x61\x7c\x0a\xaa\x4c\x6e\xdc\x18\xee\x0b\x65\x12\x5d\xf4\xfd\x24\xd3\x9f\x89\xb4\xe8\x51\x92\x3f\x1b\xa9\x68\x8c\xfa\x77\x9a\x7e\x5d\x49\x45\xd3\x15\xfe\x54\xd6\x2b\xdd\xf1\x47\xe7\x88\x5d\xb2\xa7\xb5\x93\x4c\xcf\x3c\xa4\x4b\x84\x29\xe6\x57\x9b\xeb\x17\x6f\x5e\x89\x4b\xf1\x27\xbe\x16\x59\x76\xfd\xea\xe5\xfa\xb9\x78\xfd\xe2\x72\x14\xc0\xab\x2b\xb1\x7e\x2e\xde\xbc\xbc\xbe\xf3\x72\xde\xfd\x6b\x6c\x56\xa0\xbd\x4f\xdc\x2e\x0f\x27\x39\x8c\xb4\xe9\x4e\xe1\xe7\x4c\x1f\x4a\xff\xa7\x91\x05\xe6\x34\x77\xbb\xfc\x8f\x43\xa1\x1e\xa3\xc4\x3f\x82\x33\x80\xce\x08\x89\xca\x2d\xda\xff\xfb\xf0\x84\xbc\x97\xcc\x64\xc3\x5f\xfa\x69\xdb\xe4\x5a\x0d\xff\xcb\xde\xad\x95\x11\xf7\x62\x8b\x52\x87\xf1\x09\xf6\xcf\xfe\x36\xd8\x9e\x1d\x56\x8a\x3f\x22\x23\x2c\x4f\xb6\x3a\xb1\x8d\x4d\x7c\x30\x9a\x2d\x0a\xf6\x0c\x22\xff\x56\x59\x41\x8d\x00\x5a\xaa\x0b\xd8\x49\xda\x37\x57\xff\xf9\xf6\xec\x06\x7e\xeb\x7a\xbd\x8b\xe2\x18\xd0\xfd\x76\x7e\x61\xfb\xf4\x9b\x9e\xf8\xcd\x0d\x94\xa8\xa5\x88\xc2\x0f\xa6\x52\x19\x68\xc3\xde\x1c\x9a\x29\xc0\x17\xd7\x84\x60\x63\x2c\xf0\x96\x40\xb4\xec\xc3\xf1\xc4\xb7\xb4\x81\x65\xe7\x30\x89\xc0\x12\xd7\x52\x49\x96\xe4\x92\xb5\xb1\xd6\xec\xdf\xce\x4e\xd4\xa8\xb9\xbc\x8b\x7a\xb5\x92\xa2\x25\xfb\x15\x79\x1b\x9f\xe5\xd7\xe0\x01\x82\xa5\x0d\x59\xd2\xa2\x5e\x7b\xcf\xae\x61\x6d\x3b\x3f\x1e\x70\x44\xc1\x15\xaa\xf3\x8e\x96\x13\x1f\x4d\xad\x1b\x6a\x8a\x4a\xe3\xd2\x99\x21\x57\xf3\x91\x7e\xaa\x82\x34\x0f\x1c\xdb\x8b\xd6\xf5\xf7\xbb\x66\x39\x6a\x28\x24\xb5\x29\x24\x92\xa9\x70\x89\x22\x9d\xf3\x16\x96\xcb\xde\x73\x27\xc2\x17\x50\x90\x73\x98\xfb\x0d\x69\xcc\x03\xda\xba\x42\xba\x02\x59\x6c\xc3\x09\xf3\xfe\x6c\x72\x53\x67\xc3\x34\xf8\xf7\xcb\x1f\x23\x71\x86\x15\x8f\xb9\x76\xf9\x96\xb8\xb2\xfa\x08\xe9\xfd\xde\x0f\xd0\x56\xd4\xd7\xd9\xec\x18\x6f\x3c\x7e\x90\xd1\x3e\xcc\x66\xbd\xb0\x7d\xee\xc0\xf4\x07\x05\xc3\xd7\x21\xf2\xc0\xb2\x93\xca\x0e\x5b\x8c\x23\xb3\x19\x3c\x6a\xd6\x4f\x9b\x78\xef\x4b\x2a\x2b\xa3\xf8\x08\x31\x19\x1d\x34\x3f\xc6\x7b\xff\x9a\x2a\xee\x83\xc1\xcf\x20\xf8\x3f\x00\x00\xff\xff\x82\xa8\x93\x68\x6e\x08\x00\x00"
 
 func scriptsTestExample_token_vault_display_strict_equalCdcBytes() ([]byte, error) {
@@ -588,7 +525,7 @@ func scriptsTestExample_token_vault_display_strict_equalCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsTokenforwarderIs_recipient_validCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x50\x4b\x6a\xc3\x40\x0c\xdd\xfb\x14\x0f\x2f\xca\x18\x8a\x0f\x60\xda\x86\xb4\x90\x75\x28\xed\x01\xe4\xb1\xec\x0c\x19\x8f\x8c\x2c\x13\x42\xc8\xdd\x4b\x6d\x5a\x48\x48\x88\x56\x42\xbc\x9f\x5e\xe8\x07\x51\xc3\x97\xec\x39\x6d\x44\x0f\xa4\x4d\x48\x1d\x5a\x95\x1e\xf9\xd5\x35\xcf\x32\xf2\x9e\xc7\xd1\x51\x8c\x05\xda\x29\xa1\xa7\x90\x1c\x35\x8d\x56\x58\x37\x8d\xf2\x38\x3e\xc3\x2e\x59\x5b\xb2\x5d\x85\xed\x54\xc7\xe0\x7f\xf7\xa2\xc2\xbb\x48\xc4\x29\x03\x80\xc8\x86\x76\xc1\xb2\x7e\x72\x8b\x57\x74\x6c\x6b\xef\x65\x4a\x36\x2b\x17\x33\xee\xc6\x94\x1d\xdb\x07\x0d\x54\x87\x18\xec\xf8\xf2\x74\xba\x8a\x5b\x6e\xfe\x74\x17\xf3\xf3\x9b\xbb\x11\xed\xbe\x7c\x2d\xaa\x72\x70\x77\x01\xab\x15\x06\x4a\xc1\xbb\xfc\x3b\x51\x1d\x19\x26\x58\x38\x78\x18\x05\xca\xa3\x69\xf0\x06\x3b\x0e\xbc\xd4\x4d\xf0\xff\xdf\xe4\x45\x36\xdb\x2a\xdb\xa4\xe9\xa2\xa1\xd2\xef\xd8\xef\x5d\x91\x9d\x7f\x02\x00\x00\xff\xff\x1c\x3c\x53\x68\xbc\x01\x00\x00"
+var _scriptsTokenforwarderIs_recipient_validCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\xce\xb1\x6a\x03\x31\x0c\x06\xe0\xdd\x4f\x21\x32\x14\x1b\x8a\x1f\xe0\x68\x0b\xe9\x90\x39\x94\xbe\x80\x4e\xd6\x25\x26\x8e\x15\x64\x99\x0c\x21\xef\x5e\x7a\x47\x87\x2b\xa7\x49\xc3\xaf\x5f\x5f\xbe\xde\x44\x0d\x76\xdf\x72\xe1\x7a\x10\xbd\xa3\xa6\x5c\x4f\x3b\xe7\x90\x88\x5b\xf3\x58\x4a\x80\xa9\x57\xb8\x62\xae\x1e\x53\xd2\x01\xf6\x29\x29\xb7\xf6\x0a\xb6\xbe\x3a\xa2\x9d\x07\x38\xf6\xb1\x64\xfa\xdd\xc3\x00\x9f\x22\x05\x1e\x0e\x00\xa0\xb0\xc1\xb4\x64\x59\xbf\x78\x82\x77\x38\xb1\xed\x89\xa4\x57\x9b\x9b\xc3\x9c\xdb\x98\x48\x78\xc3\x31\x97\x6c\x99\x5b\x1c\x45\x55\xee\x6f\x2f\x8f\x7f\xe8\x78\xf8\x6b\x5f\x08\xcf\x0f\xbf\x01\x0c\x6e\xfe\xa2\x6c\x5d\xeb\x0a\x14\xe9\xcc\x74\xf1\xc1\x3d\x7f\x02\x00\x00\xff\xff\x63\xb3\x87\xb4\x16\x01\x00\x00"
 
 func scriptsTokenforwarderIs_recipient_validCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -604,7 +541,7 @@ func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "scripts/tokenForwarder/is_recipient_valid.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7a, 0x23, 0x4d, 0x2, 0xff, 0x47, 0x5f, 0xfa, 0x75, 0xc3, 0x97, 0xa7, 0xe, 0x25, 0x75, 0xe4, 0xab, 0xb9, 0x6d, 0xd0, 0x4a, 0x83, 0x54, 0x49, 0x43, 0x4e, 0x6f, 0xf8, 0x6a, 0xd6, 0x3b, 0xf9}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa1, 0xd5, 0x8d, 0x4, 0x81, 0x73, 0xb6, 0xfa, 0xe1, 0x31, 0x67, 0x35, 0x66, 0x5d, 0x6c, 0xb5, 0x1f, 0x3c, 0x61, 0x81, 0x36, 0x95, 0x6f, 0x71, 0xb8, 0x3, 0xfd, 0x72, 0x60, 0x53, 0x8a, 0xeb}}
 	return a, nil
 }
 
@@ -628,7 +565,7 @@ func setup_accountCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\x4c\x7d\x70\xa5\xc0\x95\xef\x46\x3e\xba\xeb\xee\x16\x3d\xb4\x58\x6c\xd2\xdc\xc7\xd4\xd8\x22\x56\x26\x05\x92\xb2\x63\x04\xfe\xef\x05\xa9\x2f\xd2\x96\x1c\xc7\x5d\x44\x87\x44\x96\xc8\x99\xf7\x66\xc8\xf7\x44\xbe\x29\xa4\x32\x30\xfe\x5a\x8a\x35\x5f\xe6\xf4\x24\x7f\x90\x18\x8f\x7a\x1f\x3f\xee\xb8\x61\xd9\x52\xa2\x4a\xbb\x11\x5f\x5e\x70\x53\x9c\x9f\xf7\x37\x19\x4c\xd1\xe0\x33\xa7\x9d\x1e\x8f\x46\xb3\xd9\x0c\x9e\x32\xae\xc1\x28\x14\x1a\x99\xe1\x52\x00\xd7\x80\x60\x68\x53\xe4\x68\x08\x56\x52\xd9\x9f\xde\x7b\x93\xa1\x01\x26\xcb\x3c\x85\x25\x41\xa9\x29\x85\xe5\x1e\x50\xec\xa5\x20\x30\x12\x30\x4d\x01\x41\xd0\x0e\x56\x75\x6e\x30\x36\x39\x6c\xb1\xcc\x8d\xcb\xc9\xb0\xc0\x25\xcf\xb9\xd9\xdb\x09\x26\x23\xae\x40\x77\x9c\x40\x91\x96\xa5\x62\x64\x07\x8f\xfc\xdc\xaf\xa3\x11\x00\x40\x4e\x06\xc8\xa3\xfb\x6c\x23\x2f\xda\xa0\x73\xe8\xee\x6f\x27\xaf\x41\x09\x92\xef\xc4\x88\x6f\x49\x1d\xee\xdb\x50\x5e\xea\xef\xb4\x9a\x03\x4c\x86\xaa\x9d\x78\xf7\x15\x94\x42\x51\x81\x8a\x22\xcd\xd7\x82\xd4\x1c\xb0\x34\x59\xf4\x59\x2a\x25\x77\xcf\x98\x97\x34\x85\xbf\xb4\x2e\xe9\xd1\x48\x85\x6b\xea\x70\x2d\xa4\x30\x4a\xe6\x39\xa9\x29\x7c\x2b\x97\x39\xd7\x59\xf7\x72\x0a\x8f\xb8\xa5\x7a\xfe\xbf\xa2\x38\x7e\x1f\xc3\xe4\x13\x63\xb2\x14\x26\x6e\x4a\xd2\x70\x71\x45\xfe\x03\x0d\xc2\x1d\xf8\x2b\x22\xb1\x35\xcd\xb7\xe4\xf2\x22\x33\x76\x09\x44\x4d\x9d\x9f\xf6\x05\xcd\x41\xf0\x7c\x0a\x5b\x4e\xbb\xea\xa7\xfd\x7b\x3b\xbc\x7c\x92\xaf\x4f\xcf\x4d\xae\xfb\x28\x8e\x01\xf5\x2f\x70\xd9\xf0\x87\x16\xb1\xbd\x1e\x1e\xa0\x40\xc1\x59\x34\x5e\xb8\x45\x25\xa4\x81\x75\xc3\x04\x6c\x00\x07\xca\xad\x44\x93\x11\xb0\x9a\xc1\x38\xee\x98\xcf\x6e\x02\xb2\xe0\x52\xd9\x91\x2b\xbe\x2e\x15\xba\xb5\x73\x33\xeb\x86\xfb\xb7\xb0\xa8\x87\x11\xa0\xe8\x0b\xc3\x57\x20\x88\x52\x4a\xdb\x49\x7c\x05\x55\xbf\x13\x5d\xf5\x35\x59\xba\x8e\xdf\x4e\x82\x92\xbb\xe9\xf7\xd1\x4a\xc9\xcd\xbc\x6b\x4c\x33\xe7\x1b\x9a\x2c\x86\xbb\x3b\x5b\x77\x78\x0d\x4a\x62\x41\x29\xb2\xdb\xaf\xda\x48\x3d\xa0\x50\xa4\xa0\x71\x4b\xc0\x0d\x70\x01\x75\xcc\x20\xca\x11\x44\x3b\x3a\xba\xfd\x2d\x40\xc8\x5c\x96\x2f\x9b\xc2\xec\x5d\xd8\xc8\xa1\xf4\xfa\xff\x7b\x1f\xa1\x38\x9e\x82\x91\x43\x94\x4e\x98\xe4\x84\x0a\xe8\x85\x6b\xc3\xc5\xba\xdb\x9a\x9c\x34\x58\x25\x41\x21\x05\x67\x98\x43\x81\x26\xd3\x7d\x0c\x98\x37\x25\x29\x9b\xed\x10\x75\xe9\x37\xf5\x4a\x3b\xcd\x7f\x69\x04\x55\xab\x42\x2f\x03\xb7\x83\xeb\xba\x4f\xa0\x11\x90\x80\x49\x30\xa5\xdd\x87\x0b\x2c\xe0\xae\x17\x43\xd3\x14\x6e\x43\x9f\x68\xd4\x67\xcc\x51\x30\x9a\x86\xfb\xa9\x2a\xff\xe1\x3e\xba\xa0\xee\x16\x42\xc3\xe9\x5a\x14\x9d\x52\x5e\x92\x71\x36\x6b\x74\x6c\xb8\x30\x7d\x18\x82\x5e\x2c\xb0\x98\x02\x1a\x7f\x69\xbd\xaf\xb7\x4d\x34\x8f\xfb\x71\xc0\xfe\x56\x1f\xda\x3b\x5f\x1a\xfe\x24\xe3\x34\xa7\x36\x1b\xdf\xc8\x7c\x13\xb3\x3b\xdc\x8d\xab\x20\xfd\xaa\x01\x2b\x79\x6e\x63\x69\xca\x57\xc9\x19\xcb\x1a\x68\xd0\x9a\xcc\xb9\xb6\x04\xe5\xb0\x57\x3f\xcb\x60\x58\xec\x09\xee\xa3\x4b\x09\xa9\x24\xed\x64\x37\xb3\x82\x82\x8d\xdc\x40\xa5\x37\x4d\x24\x8f\xf0\x38\xee\xad\xd6\x22\x23\xf6\xc3\x8a\xa3\x2d\x45\xcf\xb4\x4a\x04\xba\x25\x81\x5a\x93\x32\x21\x8b\xb7\x0a\x95\x30\x9b\x24\x8a\xa7\x10\x4c\xdb\x90\xd6\xb8\xa6\x39\x5c\xcf\xa9\x8d\xd7\x47\xee\x06\x3c\xe7\x07\x4d\xa6\x2c\x2e\x31\x14\xff\x7b\xe1\x5d\x3e\x72\xc9\x07\x48\xe3\x2c\xc3\x63\xdf\x6d\x34\x3e\xdc\xab\x1d\x66\x10\x4f\xe5\x36\xde\x93\xa8\x36\x92\x8b\x18\x7c\x98\xaf\x0c\xa2\x69\x76\x9e\xd3\x39\xf6\x5e\xb3\x19\x0c\x3b\x14\xae\x75\x9e\xd6\x71\x26\x41\x83\xce\xfa\xcf\x4f\x14\xff\x13\x95\xb1\xd7\x25\x2d\x3b\x99\x78\xea\x51\xde\xa7\x77\x55\x86\x2b\xf1\x0e\x6c\x91\x2a\xe6\xb1\x8f\x7e\x00\xb7\xff\xeb\x86\x27\xfe\xf5\x53\x17\x65\x93\xa5\xaf\xfa\x6f\xa4\xeb\x4b\x73\x38\xb6\x4c\x04\x45\x2b\x52\x24\x18\xd5\x07\xbc\x1a\x86\xf6\x1b\x1e\x9a\x63\x78\x08\xeb\xd6\xc0\x75\xca\x78\xd2\x9e\xcb\xa5\x72\xd0\x2d\xbb\xe3\x49\x85\x25\x24\xe9\xe1\xaf\xed\x71\x54\xd5\xc6\xfd\xa3\x17\x62\xa5\x21\xff\xb4\x36\x9b\xc1\xa7\x34\xad\x8e\x34\xc7\xe7\xe1\xe0\x34\x5c\x6a\xab\x6f\x98\xa6\xff\xd0\xae\xfa\x08\xdd\x90\xc9\xe4\xd9\xfa\x25\xde\xf0\x88\x79\x27\xe3\xb7\xfc\x35\x84\x7e\x18\xfd\x17\x00\x00\xff\xff\xa1\x32\x94\x0f\x97\x10\x00\x00"
+var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x73\xe3\x36\x0c\xbd\xfb\x57\xa0\x3e\xb8\x52\xc6\x95\xef\x9e\x7c\x74\xd7\xdd\xed\xf4\xd0\x76\x67\x93\xe6\x0e\x53\xb0\xc5\x59\x99\xd4\x90\x94\x1d\x4f\xc6\xff\xbd\x43\xea\x8b\xb4\x25\xc7\xc9\x66\xa2\x43\x22\x4b\x20\x80\x07\x80\xef\x89\x7c\x53\x48\x65\x60\xfc\xb5\x14\x6b\xbe\xcc\xe9\x41\xfe\x20\x31\x1e\xf5\x3e\xbe\xdf\x71\xc3\xb2\xa5\x44\x95\x76\x16\x5f\x9e\x70\x53\x9c\x5f\xf7\x37\x19\x4c\xd1\xe0\x23\xa7\x9d\x1e\x8f\x46\xb3\xd9\x0c\x1e\x32\xae\xc1\x28\x14\x1a\x99\xe1\x52\x00\xd7\x80\x60\x68\x53\xe4\x68\x08\x56\x52\xd9\x9f\xde\x7b\x93\xa1\x01\x26\xcb\x3c\x85\x25\x41\xa9\x29\x85\xe5\x1e\x50\xec\xa5\x20\x30\x12\x30\x4d\x01\x41\xd0\x0e\x56\x75\x6c\x30\x36\x38\x6c\xb1\xcc\x8d\x8b\xc9\xb0\xc0\x25\xcf\xb9\xd9\xdb\x05\x26\x23\xae\x40\x77\x98\x40\x91\x96\xa5\x62\x64\x8d\x47\x7e\xec\xe7\xd1\x08\x00\x20\x27\x03\xe4\xc1\x7d\xb4\x9e\x17\xad\xd3\x39\x74\xf7\xd7\x93\xe7\xa0\x04\xc9\x77\x62\xc4\xb7\xa4\x0e\xb7\xad\x2b\x2f\xf4\x77\x5a\xcd\x01\xb0\x34\x59\x34\x54\xf1\xe4\xdf\x9d\x20\x15\xc3\x64\xd0\xc0\xbb\xaf\xf2\x2d\x14\x15\xa8\x28\xd2\x7c\x2d\x48\xcd\x2b\xff\x9f\xa5\x52\x72\xf7\x88\x79\x49\x53\xf8\x4b\xeb\x92\xee\x8d\x54\xb8\xa6\x2e\xf9\x85\x14\x46\xc9\x3c\x27\x35\x85\x6f\xe5\x32\xe7\x3a\xeb\x5e\x4e\xe1\x1e\xb7\x54\xaf\xff\x4f\x14\xc7\xef\x63\x98\x7c\x62\x4c\x96\xc2\xc4\x4d\xdd\x1a\xc0\xae\x13\x7f\xa0\x41\xb8\x01\x7f\x6c\x12\x5b\xf8\x7c\x4b\x2e\x2e\x32\x63\xe7\x24\x6a\x9a\xf1\xb0\x2f\x68\x0e\x82\xe7\x53\xd8\x72\xda\x55\x3f\xed\xdf\xeb\xe1\x19\x4b\xbe\x3e\x3c\x36\xb1\x6e\xa3\x38\x06\xd4\xbf\xc0\x65\xe6\x77\x6d\xc6\xf6\xba\xbb\x83\x02\x05\x67\xd1\x78\xe1\x26\x4f\x48\x03\xeb\x06\x09\x58\x07\x2e\x29\x37\xae\x26\x23\x60\x35\x82\x71\xdc\x21\x9f\x5d\x05\x60\xc1\x85\xb2\x96\x2b\xbe\x2e\x15\xba\x01\xbb\x9a\x75\xe6\xfe\x2d\x2c\x6a\x33\x02\x14\x7d\x6e\xf8\x0a\x04\x51\x4a\x69\xbb\x88\xaf\xa0\xea\x77\xa2\xab\xbe\x26\x4b\xd7\xf1\xeb\x49\x50\x72\xb7\xfc\x36\x5a\x29\xb9\x99\x77\x8d\x69\xd6\x7c\x43\x93\xc5\x70\x73\x63\xeb\x0e\xcf\x41\x49\x6c\x52\x8a\xec\x1e\xad\x76\x5b\x4f\x52\x28\x52\xd0\xb8\x25\xe0\x06\xb8\x80\xda\x67\xe0\xe5\x28\x45\x6b\x1d\x5d\xff\x16\x64\xc8\x5c\x94\x2f\x9b\xc2\xec\x9d\xdb\xc8\x65\xe9\xf5\xff\xf7\x3e\x40\x71\x3c\x05\x23\x87\x20\x9d\x20\xc9\x09\x15\xd0\x13\xd7\x86\x8b\x75\xb7\x7f\x39\x69\xb0\x74\x83\x42\x0a\xce\x30\x87\x02\x4d\xa6\xfb\x10\x30\x6f\x49\x52\x36\xdb\x21\xea\xc2\x6f\xea\x49\x3b\x8d\x7f\xa9\x07\x55\x53\x47\x2f\x02\xb7\x83\xeb\xba\x4f\xa0\x61\x99\x00\x49\xb0\xa4\xdd\x87\x0b\x2c\xe0\xa6\x37\x87\xa6\x29\xdc\xba\x3e\x21\xb2\xcf\x98\xa3\x60\x34\x0d\xf7\x53\x55\xfe\xc3\x6d\x74\x41\xdd\x6d\x0a\x0d\xa6\xb7\x66\xd1\xd1\xe9\x25\x11\x67\xb3\x86\xc7\x86\x0b\xd3\x97\x43\xd0\x8b\x05\x16\x53\x40\xe3\x8f\xd6\xeb\x7a\xdb\x78\xf3\xb0\x1f\x3b\xec\x6f\xf5\xa1\xbd\xf3\xa9\xe1\x4f\x32\x8e\x73\x6a\x45\xf2\xd5\xce\x57\x3a\xbb\xc3\x9d\x5d\x95\xd2\xaf\x1a\xb0\xa2\xe7\xd6\x97\xa6\x7c\x95\x9c\xd1\xb5\x81\x06\xad\xc9\x9c\x6b\x4b\x50\x0e\x7b\xf5\xa3\x0c\xcc\x62\x8f\x70\xef\x5d\x48\x48\x25\x69\x47\xbb\x99\x25\x14\x6c\xe8\x06\x2a\xbe\x69\x3c\x79\x80\xc7\x71\x6f\xb5\x16\x19\xb1\x1f\x96\x1c\x6d\x29\x7a\x96\x55\x24\xd0\x8d\x04\x6a\x4d\xca\x84\x28\x5e\x2a\x54\xc2\x6c\x90\x28\x9e\x42\xb0\x6c\x43\x5a\xe3\x9a\xe6\xf0\x76\x4c\xad\xbf\x3e\x70\x57\xe0\x29\x3f\x68\x32\x65\x71\x89\xa0\xf8\xdf\x0b\xaf\xd2\x91\x4b\x3e\x40\x1a\x65\x19\xb6\x7d\xb5\xd0\xf8\xe9\xbe\x59\x61\x06\xf3\xa9\xd4\xc6\x7b\x12\xd5\x42\x72\x11\x82\x0f\xd3\x95\xc1\x6c\x9a\x9d\xe7\x78\x8e\xbd\x56\x6c\x06\xdd\x0e\xb9\x6b\x95\xa7\x55\x9c\x49\xd0\xa0\xb3\xfa\xf3\x8e\xe4\x7f\xc2\x32\xf6\xba\xa4\x65\x27\x0b\x4f\x35\xca\xfb\x3e\xaf\xca\xf0\xc6\x7c\x07\xb6\x48\xe5\xf3\x58\x47\x3f\x00\xdb\xcf\xaa\xe1\x89\x7e\xbd\xeb\x50\x36\x51\xfa\xaa\xff\x42\xb8\xbe\x30\x87\x63\xc9\x44\x50\xb4\x22\x45\x82\x51\x7d\x0a\xac\xd3\xd0\x7e\xc3\x43\x71\x0c\x4f\x6a\xdd\x0c\x1c\x31\xe3\xfb\x9d\xdf\x7a\x9a\x7f\x39\x9f\x0e\x4a\x6a\x77\x86\xa9\x12\x0e\x2b\xe1\x81\xac\x35\x74\x54\x15\xd0\xfd\xa3\x27\x62\xa5\x21\xff\x48\x37\x9b\xc1\xa7\x34\xad\xce\x3d\xc7\x27\xeb\xe0\x5c\x5d\x6a\x4b\x82\x98\xa6\xff\xd0\xae\xfa\x52\xdd\x90\xc9\xe4\xd9\x22\x27\x9e\x79\xc4\xbc\x33\xf6\x4b\x22\x1c\xa6\x7e\x18\xfd\x1f\x00\x00\xff\xff\x3f\xef\x24\x49\xe1\x10\x00\x00"
 
 func switchboardAdd_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -644,11 +581,11 @@ func switchboardAdd_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0x38, 0xd4, 0x9a, 0xb3, 0xee, 0x32, 0x59, 0xf2, 0x18, 0x1c, 0x9b, 0x60, 0x0, 0xd4, 0xc, 0xeb, 0x97, 0x69, 0x2d, 0x37, 0x92, 0x20, 0xdd, 0x92, 0x2e, 0xa, 0xb1, 0x32, 0x87, 0x1d, 0xfd}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe6, 0x1f, 0x2c, 0x4b, 0x19, 0x6a, 0x46, 0xa9, 0x82, 0x28, 0x1, 0x74, 0xff, 0x3b, 0xa, 0xda, 0x8e, 0x30, 0x9c, 0x1, 0xc8, 0x41, 0x8, 0x96, 0x80, 0x22, 0x20, 0x70, 0x89, 0x45, 0x79, 0x1}}
 	return a, nil
 }
 
-var _switchboardAdd_vault_wrapper_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\xdb\x30\x0c\xbd\xfb\x57\x10\x3e\x74\x36\x50\xd8\xf7\xa0\x1f\xeb\xb2\x75\xa7\x0d\x43\x1b\x74\x67\x46\xa6\x6d\xa1\x8e\x64\x48\x74\x9c\xa0\xc8\x7f\x1f\xe4\x4f\x79\x4b\x82\xf9\x90\x58\x09\xa9\xc7\xf7\x1e\x49\xb9\xab\xb5\x61\x08\x9f\x1b\x55\xc8\x6d\x45\x1b\xfd\x4e\x2a\x0c\xce\xfe\xfc\xda\x4a\x16\xe5\x56\xa3\xc9\xe6\x88\x6f\x07\xdc\xd5\xd7\xf3\x7e\x10\x63\x86\x8c\x6f\x92\x5a\x1b\x06\x41\x9a\xa6\xb0\x29\xa5\x05\x36\xa8\x2c\x0a\x96\x5a\x81\xb4\x80\xc0\xb4\xab\x2b\x64\x82\x5c\x1b\x77\xf4\xfe\xe7\x12\x19\x84\x6e\xaa\x0c\xb6\x04\x8d\xa5\x0c\xb6\x47\x40\x75\xd4\x8a\x80\x35\x60\x96\x01\x82\xa2\x16\xf6\xd8\x54\x0c\xad\xc1\xba\x26\x03\x02\x6b\xdc\xca\x4a\xf2\xb1\xc3\x65\x0d\x5c\x92\x34\x60\x67\x32\x60\xc8\xea\xc6\x08\x72\x11\x81\x0f\xfa\x11\x04\x00\x00\x15\x31\xb0\x63\xf2\xac\x4d\x8b\x26\x23\xb3\x9e\x6e\x5d\xc1\xfc\x7e\x77\xf3\xb1\x20\x9e\xbc\x90\x20\xb9\x27\x73\x7a\x98\xee\xf1\x70\x5f\x28\x5f\x01\xdc\x5c\xd2\x38\xf1\xde\xfb\x3a\x6a\x43\x35\x1a\x8a\xac\x2c\x14\x99\x15\x60\xc3\x65\xf4\x45\x1b\xa3\xdb\x37\xac\x1a\x8a\xe1\xe6\x49\x08\xdd\x28\x8e\xc7\xd2\x47\xd8\x4e\x94\xaf\xc8\x08\xf7\xe0\x5b\x96\x38\xee\xd5\x9e\xd6\x5a\xb1\x41\xc1\xce\xa3\x68\xd4\x63\x73\xac\x69\x05\x4a\x56\xb7\xb0\x97\xd4\xf6\x47\xf7\x79\x77\xd9\xdf\xe4\x79\xf3\x36\x62\x3d\x44\x71\x3c\x55\xe1\x9e\xc7\x47\xa8\x51\x49\x11\x85\xeb\xce\x49\xa5\x19\x8a\xb1\x3a\x70\x77\x74\x40\x9d\xfd\x5c\x12\x88\xa1\xaa\x30\x9e\xd9\xa4\x29\x7c\x77\x7e\x94\xd4\x7b\xe2\x82\x7b\x53\x3c\xaf\x21\x37\x7a\xd7\xc5\xf4\x5a\x7d\xb2\x80\xbd\x32\xd3\x3d\x96\xaa\x3c\xb9\xe4\x2a\xdc\x0f\x89\xc9\x74\xa7\x24\x9b\x14\xc4\x57\x3c\x8e\x16\x5c\xdd\x33\xa9\x9e\x98\x21\xea\x17\x72\xb9\x08\x5b\x32\x5b\x97\x24\xde\x41\xe6\x5d\xe9\x63\x8e\xcf\x8b\x0e\xd2\xb2\x9d\x52\xd0\x5a\x32\xbc\x04\xbe\x4a\x2c\x11\x0e\x21\x8a\x6f\x17\x29\x3b\xb2\x16\x0b\x5a\x41\xf8\xda\xb1\x86\x4c\x93\xed\xdc\x29\x71\x4f\x80\xd0\x6a\xf3\x2e\x55\x01\xf9\x40\x7d\x90\xfe\x4c\x85\x61\x70\x9e\x99\xf3\x0c\xc1\x50\x4e\x86\x94\xa0\x61\x10\x07\x95\xad\x3f\x16\x4b\x87\x96\xf3\x32\xfb\x62\x59\x1b\x2c\x28\xd9\x76\xed\x7f\xf7\x5f\x53\x74\xc6\x21\xd7\x27\x2b\xb8\x9c\xdc\xa3\xfc\xeb\xda\xd9\x56\xee\x6b\x59\x92\xf4\xea\x1f\xbb\xf8\xd4\x7f\xd1\x81\x44\xc3\xe4\x4f\x6a\x9a\xc2\x53\x96\xf5\xad\x3f\x7b\x3e\x4a\xe5\x6d\xac\xc6\x3a\x37\x30\xcb\x7e\x52\xdb\x8d\x1b\xec\x88\x4b\x7d\x55\xbb\xc4\x0b\xff\xdd\x6f\xc7\xa5\x1e\xc2\x5b\x6a\x57\x9b\x68\xd9\x3c\x3c\xaf\x85\xcf\x8b\xd5\xd2\x21\x3d\x44\xf1\xdf\x1d\x71\x0a\x82\x53\xf0\x27\x00\x00\xff\xff\x77\x92\x43\x58\x79\x06\x00\x00"
+var _switchboardAdd_vault_wrapper_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x55\xcb\x6e\xf2\x46\x14\xde\xfb\x29\xbe\xb2\x48\x6d\xe9\x97\xd9\xa3\xfc\x49\x53\xda\x74\xd5\x8b\x12\x94\xae\x0f\xe3\x83\x3d\x8d\x99\xb1\x66\x8e\x71\x50\xc4\xbb\x57\x1e\xe3\x5b\x12\x50\x17\xf5\x02\x6c\x73\x6e\xdf\xe5\x0c\x7a\x5f\x59\x27\x58\x3c\xd6\x26\xd7\xdb\x92\x37\xf6\x95\xcd\x22\xfa\xf2\xf5\x73\xa3\x45\x15\x5b\x4b\x2e\x1b\x23\x7e\x7d\xa3\x7d\x75\x3d\xef\x77\x16\xca\x48\xe8\x45\x73\xe3\x17\x51\xb4\x5c\x2e\xb1\x29\xb4\x87\x38\x32\x9e\x94\x68\x6b\xa0\x3d\x08\xc2\xfb\xaa\x24\x61\xec\xac\x6b\x1f\x27\xbf\x4b\x41\x02\x65\xeb\x32\xc3\x96\x51\x7b\xce\xb0\x3d\x82\xcc\xd1\x1a\x86\x58\x50\x96\x81\x60\xb8\xc1\x81\xea\x52\xd0\x38\xaa\x2a\x76\x50\x54\xd1\x56\x97\x5a\x8e\xa1\xaf\x58\x48\xc1\xda\xc1\x8f\x60\xe0\xd8\xdb\xda\x29\x3e\x4f\xc6\x47\x34\xa1\xd1\x3f\xb5\x17\x18\xe6\xac\x4d\x53\x05\x99\x9c\xdb\x6c\x28\x6b\xc4\x91\x12\x18\xda\x87\x37\x47\x90\x63\x74\xe0\xb5\xc9\xb1\x73\x76\x3f\x69\x07\x69\x69\x18\xd3\x02\x96\x90\xd6\x90\x91\x36\xc8\xd7\x55\x20\xae\xd1\x52\x7c\x1e\xb0\x2d\x15\x4d\xc9\x78\x8f\x22\x00\x28\x59\xba\xd2\x4f\xac\x58\x1f\xd8\xad\x07\xb0\x2b\x8c\xf7\xb7\x37\xef\x33\x3d\xd2\x3e\xfc\x74\x37\x94\x99\x74\x7b\xe2\xdd\x0a\xa0\x5a\x8a\xf8\x92\xfc\xe9\x9f\x8d\x61\x97\xe0\xe6\x62\xc0\xe4\xbe\x9b\xb5\x72\x5c\x91\xe3\xd8\xeb\xdc\xb0\x5b\x75\xf5\x7f\xb6\xce\xd9\xe6\x85\xca\x9a\x13\xdc\x3c\x28\x65\x6b\x23\x49\x0f\xaf\x9f\x2d\x08\xfa\x0b\x09\xe1\x3b\xa6\x76\x4b\x5b\xdd\xca\x03\xaf\xcf\xbc\xb6\xfe\x8a\x7b\x2d\x37\xc7\x8a\x57\x30\xba\xfc\x86\x83\xe6\xa6\x7b\x6c\x3f\x6f\x2f\x7b\x33\x7d\xdc\xbc\xf4\xbd\xee\xe2\x24\x01\xf9\x1f\xf0\xdf\xc2\xef\x87\x89\xdb\xeb\xfe\x1e\x15\x19\xad\xe2\xc5\x3a\x18\xc9\x58\x41\xde\x23\x41\x5b\x20\x0c\x15\x6c\x3e\x35\xd4\x22\x19\x91\x2f\x97\xf8\x8d\x65\x62\x9f\x9d\x75\x0d\xb9\x6c\xe6\xe9\xe0\xb4\x10\xd3\xf1\xfa\xa3\x07\x75\x2c\x0e\x75\x3c\x97\xbb\xf4\x82\x4b\xf0\xfd\x9c\x97\x0e\x25\x35\xfb\x34\x67\xb9\xe2\x99\x78\x06\x75\x10\x27\x75\xe7\x88\xbf\x48\x8a\x21\x24\xb9\xc8\x45\x1f\x3e\x41\xf3\x01\xfe\xba\x60\xf5\x0a\xbd\x0b\xf8\xbe\x08\x07\xbf\x69\x2f\x7e\x48\x21\xef\xd9\xc9\x7c\xbc\x6b\xe8\x53\xd5\x36\x88\x93\x6f\xb3\x8c\x3d\x7b\x4f\x39\xaf\xb0\x78\x0e\xd4\x20\xb3\xec\xc3\xd4\x05\x1d\x18\x84\xc6\xba\xd7\xb0\xe4\x67\x7e\xce\xf2\x7c\x85\x67\xa4\xe1\x93\xae\x04\xc7\x3b\x76\x6c\x14\xf7\xa7\x44\x27\x85\x9f\x6d\xfe\x0c\xc7\x7c\x49\x47\xf1\xbc\x58\x47\x39\xa7\xdb\xb0\x4e\xb7\xff\xdf\xea\x7e\xd0\xba\xbd\x5a\xc3\xad\x70\x39\xb9\x1b\x65\xe6\x81\xcb\x3e\xe8\x06\x9e\x33\x31\x01\xd9\xfb\xe1\xd4\x7d\xf1\x1b\xab\x5a\x78\x7a\x3c\x2c\x97\x78\xc8\xb2\x6e\x87\x46\x5f\xf4\x7c\x4e\x8e\xf8\xda\xb7\x92\x51\x96\xfd\xc1\x4d\x58\x5a\xec\x59\x0a\x7b\x95\xe0\x74\x12\xfe\x77\xf7\x77\x32\xe7\x43\x4d\x8e\xdb\x6b\x46\x9b\x1b\x4c\xc6\xa3\xe8\xa7\xd9\x71\x16\x1a\xdd\xc5\xc9\x47\xd7\x9c\xa2\xe8\x14\xfd\x1b\x00\x00\xff\xff\xdd\xbe\xc9\x37\xa9\x07\x00\x00"
 
 func switchboardAdd_vault_wrapper_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -664,11 +601,11 @@ func switchboardAdd_vault_wrapper_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_wrapper_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xce, 0x5, 0x41, 0x8, 0x23, 0xfc, 0x9a, 0xe6, 0xd1, 0x1e, 0xbb, 0x18, 0xb9, 0xa0, 0xe0, 0xbd, 0x4c, 0xb2, 0xcc, 0xd3, 0x28, 0xa5, 0x18, 0x4d, 0x7b, 0x68, 0xee, 0x92, 0xc3, 0xe3, 0xf4}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x69, 0x6, 0xae, 0x93, 0x30, 0x7b, 0xac, 0xf, 0xce, 0x66, 0x2a, 0x8f, 0x72, 0xb4, 0xf1, 0xab, 0x8, 0x90, 0xbf, 0xb, 0x33, 0x78, 0x4b, 0x6a, 0x7b, 0x64, 0x84, 0x5c, 0xdd, 0x97, 0xa7, 0xab}}
 	return a, nil
 }
 
-var _switchboardBatch_add_vault_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x5d\x6b\xc3\x36\x14\x7d\xf7\xaf\x38\xe4\xa1\x38\x50\x9c\xf7\xd0\xb4\xb4\xdd\xba\xa7\x8d\xb2\x85\xbc\x94\x42\xaf\xad\x9b\x58\x4c\x91\x8c\x74\x9d\x34\x8c\xfe\xf7\x21\xdb\x71\xe4\x91\xc0\xf4\x60\x64\xeb\x7e\x9c\x7b\xce\xb1\xf4\xbe\x71\x5e\x30\x7b\x6b\xed\x4e\x97\x86\xd7\xee\x6f\xb6\x7f\x1d\xb5\x54\x75\xe9\xc8\xab\x59\x76\x8e\xf8\xf5\x9b\xf6\xcd\x10\x70\xf9\x3a\xc9\xfb\x9d\x85\x14\x09\x6d\x34\x1f\xc3\x2c\xcb\x16\x8b\x05\xd6\xb5\x0e\x10\x4f\x36\x50\x25\xda\x59\xe8\x00\x82\xf0\xbe\x31\x24\x8c\xad\xf3\xf1\x35\x39\x97\x9a\x04\x95\x6b\x8d\x42\xc9\x68\x03\x2b\x94\x27\x90\x3d\x39\xcb\x10\x07\x52\x0a\x81\x0f\xec\xc9\xc0\xf2\x11\xdb\x01\x01\x24\x42\xe8\x7a\x1e\xa8\x35\x12\xee\x51\xb2\x71\x76\xa7\xed\xae\xcb\x43\xc5\x5e\x48\x5b\x7c\x3d\x2b\xe5\x39\x84\xaf\xf8\x59\x6a\xd6\x1e\xe1\x32\x31\x3c\x07\xd7\xfa\x8a\x8b\x58\x2b\x4b\xa1\xe5\xd4\x27\x2e\x31\x54\x98\xe3\x9f\x2c\x03\x00\xc3\x02\x4e\x08\xda\x44\x04\xef\x24\xf5\x12\xef\x6d\x69\x74\x15\xf7\x63\xe4\xe1\x7c\x1a\x96\xf8\xb8\x9c\x7f\x8e\x01\x09\x9c\x3f\x79\xbb\x04\xee\x6e\xe9\x53\x24\xfb\x1e\x4a\xe3\xb9\x21\xcf\x79\xd0\x3b\xcb\x7e\x09\x6a\xa5\xce\x5f\x9c\xf7\xee\xb8\x21\xd3\xf2\x1c\x77\xcf\x55\xe5\x5a\x2b\x23\xfa\x09\xae\x5f\x48\x08\x2b\xa4\x72\x17\x91\x12\x73\xe0\x57\x67\xc5\x53\x25\x51\xdf\xfc\x4c\xd3\xfa\xd4\xf0\x12\x56\x9b\x7b\x1c\x34\x1f\xfb\xd7\xf8\x7c\xb8\xed\x8d\xe2\x6d\xbd\x39\xf7\x7a\xcc\xe7\xf3\x11\x45\x5c\x4f\x4f\x68\xc8\xea\x2a\x9f\xbd\x76\x2e\xb0\x4e\xb0\x3b\xa3\x43\xac\xd1\x35\xea\xac\x23\x35\xa3\x1a\x50\xcd\xe6\x97\x69\x16\x0b\xfc\xc6\xd2\x1d\x0f\xb2\xf4\xf6\x18\x8a\x34\x24\x35\xb6\xde\xed\x27\x05\xc6\xec\xc0\x66\x5b\x5c\x95\x13\xab\x0b\x49\x85\xe7\x8a\xf5\x81\xfd\xa8\x2d\x90\x02\x78\xb6\x0a\x41\x9c\x67\x68\x81\xb6\x5d\x2b\xf2\x9e\x4e\x70\x5b\x34\x9d\xea\x1d\x90\xd0\x5b\xfe\xa8\x8d\x89\x8e\x6f\x28\x44\xcf\xf7\xd6\x4c\xeb\xa5\x1e\xdd\xb3\xd4\x4e\x4d\x01\x5f\x5c\x85\x15\x3e\x3e\x6f\x1d\x16\xd4\x34\x6c\x55\x7e\x7b\xc8\xf9\x95\x61\x22\x9b\x04\xcf\x5b\xf6\x6c\x2b\x1e\xe0\xa1\x37\x59\x48\xb1\x4d\xfb\x4e\x9d\x8c\xd5\x90\x51\x44\x62\x68\xc7\x45\xd9\x19\xf3\xe1\x7f\xf9\xfb\x31\x9f\xf8\x24\xae\xa8\xe1\x12\xb7\x93\xfb\x2e\x89\x40\xfd\x9a\x5f\x35\x59\x8f\x65\x3a\x64\x82\x7f\xd6\xf3\xd2\x3d\x7e\x7a\xab\xf1\x37\x57\xad\x70\xfa\x1f\x45\xe1\x95\xea\x7d\x45\x0d\x95\xda\x68\x39\x8d\x74\x25\x12\xb6\x21\x5e\x4c\xa4\xd4\x1f\x7c\xec\xa8\xbf\x2a\xea\x94\xbf\x22\x09\x0f\x2f\xa7\xce\x91\x79\xd3\x5f\x24\xff\x91\xf9\x1e\xe3\x65\x35\x6c\x86\xdf\xe3\x27\xcb\x7e\xb2\x7f\x03\x00\x00\xff\xff\xeb\x06\x40\x63\xf7\x05\x00\x00"
+var _switchboardBatch_add_vault_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x94\x41\x6f\x9b\x4c\x10\x86\xef\xfc\x8a\xf7\xf3\x21\x02\x29\xc2\x77\x2b\x4e\x94\xe4\x6b\x7a\x6a\x1b\xb5\x96\x2f\x51\xa4\x0c\x30\x36\xab\xe2\x5d\xb4\x3b\x98\x58\x55\xfe\x7b\xb5\x80\xf1\x52\xd9\x52\x0f\xe5\x80\x16\x76\x66\xf6\x9d\x99\x67\x56\xed\x6a\x63\x05\xb3\xa7\x46\x6f\x55\x56\xf1\xca\xfc\x64\xfd\xa3\x55\x92\x97\x99\x21\x5b\xcc\xa2\xa3\xc5\xa7\x77\xda\xd5\x83\xc1\xe9\xef\xc4\xef\x0b\x0b\x15\x24\xb4\x56\xdc\xba\x59\x14\xcd\xe7\x73\xac\x4a\xe5\x20\x96\xb4\xa3\x5c\x94\xd1\x50\x0e\x04\xe1\x5d\x5d\x91\x30\x36\xc6\xfa\xcf\x60\x5f\x4a\x12\xe4\xa6\xa9\x0a\x64\x8c\xc6\x71\x81\xec\x00\xd2\x07\xa3\x19\x62\x40\x45\x01\xc7\x7b\xb6\x54\x41\x73\x8b\xcd\xa0\x00\xe2\x25\x74\x67\xee\xa9\xa9\xc4\x5d\x23\xe3\xca\xe8\xad\xd2\xdb\xce\x0f\x39\x5b\x21\xa5\xf1\x76\x5f\x14\x96\x9d\x7b\xf3\xbf\xa5\x64\x65\xe1\x4e\x19\xc3\xb2\x33\x8d\xcd\x39\xf5\xb1\xa2\x50\x5a\x4c\xbd\xe3\x02\x43\x84\x04\xbf\xa2\x08\x00\x2a\x16\x70\x50\xa0\xb5\x57\xf0\x4c\x52\x2e\xf0\xdc\x64\x95\xca\xfd\x7a\xb4\xdc\x1f\x77\xdd\x02\x2f\xa7\xfd\xd7\xd1\x20\x90\xf3\x9d\x37\x0b\x80\x1a\x29\xe3\x4b\x3d\x4a\xbf\xb5\x9a\x6d\x82\xab\x8b\x06\xc1\xba\xd7\x5b\x5b\xae\xc9\x72\xec\xd4\x56\xb3\x5d\xf4\xf1\x1f\x8c\xb5\xa6\x5d\x53\xd5\x70\x82\xab\xfb\x3c\x37\x8d\x96\x31\xc5\x89\xf8\xff\x49\x08\x4b\x84\x4c\xa4\xbe\x6e\xd5\x9e\x1f\x8d\x16\x4b\xb9\x78\x08\xe2\x63\x2d\x57\x87\x9a\x17\xd0\xaa\xba\xc6\x5e\x71\xdb\x7f\xfa\xf7\xcd\x65\x80\xd2\xa7\xd5\xfa\x78\xd6\x6d\x9c\x24\x20\xf7\x1f\xfe\xce\xfc\x6e\x54\xec\x9f\xbb\x3b\xd4\xa4\x55\x1e\xcf\x1e\x3b\xac\xb4\x11\x6c\x8f\x99\xc0\x07\xe8\x44\x75\x2c\x4a\xc9\xc8\x87\x0c\x66\xc9\x29\xf3\xf9\x1c\x9f\x59\xba\xed\xa1\xcf\x3d\x6f\x43\x90\x9a\xa4\xc4\xc6\x9a\xdd\x24\xc0\xe8\xed\xb8\xda\xa4\x67\xf9\xc0\xf2\x54\xd0\xd4\x72\xce\x6a\xcf\x76\x84\x05\x08\x05\xdc\xeb\x02\x4e\x8c\x65\x28\x81\xd2\xdd\x51\x64\x2d\x1d\x60\x36\xa8\x3b\x8c\x3a\x21\xae\x9f\xa1\x56\x55\x95\x1f\xa1\x9a\x9c\x1f\xa2\x9e\xf5\x30\x5e\x08\xfd\x8e\xa5\x34\xc5\x54\xf0\x09\x53\x2c\xf1\xf2\x7a\x69\x33\xa5\xba\x66\x5d\xc4\x97\x93\x4c\xce\x24\xe3\xab\x49\xb0\xbc\x61\xcb\x3a\xe7\x41\x1e\x7a\x20\x5d\xa8\x6d\x7a\xee\x74\x34\xb0\x1c\x3c\x52\x5f\x18\xda\x72\x9a\x75\x10\xdf\xfc\xbb\x81\xb9\x8d\x27\x30\xf9\x26\x2f\x70\xd9\xb1\x97\x11\x74\x10\x48\xce\x12\xd8\x0b\x9d\x56\x20\x48\x6e\xd6\x17\xad\x7b\x7d\xf4\x1c\xf2\x3b\xe7\x8d\x70\x38\x90\x9e\x8a\xa2\xe8\xa1\xa3\x9a\x32\x55\x29\x39\x8c\xb5\x0c\xfa\xdb\x38\x7f\x0d\x52\x51\x7c\xe5\xb6\xeb\xcb\xd9\x8e\x4f\x8b\x9b\x06\xe6\xee\xe1\xe0\x73\x8a\xeb\xfe\xd6\xfa\x03\x81\x6b\x8c\x37\xe3\xb0\x18\x46\xe7\x23\x8a\x3e\xa2\xdf\x01\x00\x00\xff\xff\xf3\xcc\x85\x32\x64\x06\x00\x00"
 
 func switchboardBatch_add_vault_capabilitiesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -684,11 +621,11 @@ func switchboardBatch_add_vault_capabilitiesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/batch_add_vault_capabilities.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0xda, 0x9e, 0x7a, 0x33, 0xe5, 0xbe, 0x33, 0x81, 0xd7, 0x14, 0x9a, 0xba, 0x9f, 0x46, 0x8c, 0x5f, 0xa6, 0x38, 0xdc, 0x47, 0xf1, 0x1a, 0x87, 0xce, 0x23, 0xaf, 0xc9, 0x12, 0x74, 0xb3, 0x5d}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x8, 0x81, 0x7c, 0x0, 0x31, 0xb7, 0x3, 0xa, 0x32, 0x93, 0xdc, 0xd9, 0x66, 0xaa, 0xd8, 0x98, 0xf7, 0xb1, 0xec, 0x5c, 0x9a, 0x48, 0x75, 0x28, 0x63, 0x2e, 0x41, 0x6d, 0x9d, 0x51, 0x38}}
 	return a, nil
 }
 
-var _switchboardBatch_add_vault_wrapper_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\x4d\x6f\xe3\x38\x0c\xbd\xfb\x57\xbc\xcd\xa1\x75\x80\xc0\xb9\x07\xfd\xd8\xb6\xbb\xdd\xd3\x2e\x8a\x6d\xd0\x39\x14\x05\xc2\xd8\x74\x2c\x8c\x23\x09\x12\x9d\x34\x18\xf4\xbf\x0f\x24\x3b\x89\xdd\x49\x80\x4e\x0e\x8e\x2d\x92\xe2\x7b\xe4\x23\xd5\xda\x1a\x27\x18\x3d\x36\x7a\xa5\x96\x35\xcf\xcd\x77\xd6\xcf\x5b\x25\x79\xb5\x34\xe4\x8a\x51\xb2\xf7\xf8\xfb\x9d\xd6\xb6\x73\x38\x9e\x0e\xe2\xfe\x65\xa1\x82\x84\x5e\x14\x6f\xfd\x28\x49\xa6\xd3\x29\xe6\x95\xf2\x10\x47\xda\x53\x2e\xca\x68\x28\x0f\x82\xf0\xda\xd6\x24\x8c\xd2\xb8\xf0\xd9\xb3\x4b\x45\x82\xdc\x34\x75\x81\x25\xa3\xf1\x5c\x60\xb9\x03\xe9\x9d\xd1\x0c\x31\xa0\xa2\x80\xe7\x0d\x3b\xaa\x91\x93\xa5\xa5\xaa\x95\x28\xf6\x6d\xa0\x35\x4a\x4b\x4c\x2c\x06\x65\x07\x0e\x12\xd0\x61\x43\x4d\x2d\x1e\xa6\x04\xa1\x50\x65\xc9\x8e\xb5\x60\x31\xdf\x59\x5e\x80\x74\xc8\x57\x1b\xbd\x8a\x49\x90\xb3\x13\x52\x1a\x8b\xbb\xa2\x70\xec\xfd\x62\x12\xce\xa5\x62\xe5\xe0\x8f\xf5\x81\x63\x6f\x1a\x97\x73\x16\x92\x26\x7d\x22\x29\xb5\x91\x33\x74\x57\x8c\xf1\x23\x49\x00\xa0\x66\x69\xc1\x3c\x91\x54\x7e\x86\xd7\xa7\x66\x59\xab\x3c\x7c\xbd\x0d\x1d\x02\xb6\xe0\x10\xfe\x8f\xa6\x5e\xfe\xff\xb9\x9c\x01\x17\xe7\xda\x97\xf5\xde\xdb\xdc\xd6\xb1\x25\xc7\xa9\x57\x2b\xcd\x6e\x06\x6a\xa4\x4a\xef\x8d\x73\x66\xfb\x42\x75\xc3\x63\x5c\xdc\xe5\xb9\x69\xb4\x1c\xe0\x0e\x10\xfd\x45\x42\xb8\x46\x5f\x0d\x59\xa8\x41\xbd\xe1\x07\xa3\xc5\x51\x2e\xa1\xfd\xe9\xbe\x2e\x01\xf9\x0c\x5a\xd5\x13\x6c\x14\x6f\xdb\xcf\xf0\xbc\x3a\x2f\x9d\xec\x71\xfe\xb2\xcf\x75\x93\x8e\xc7\x20\xff\x07\xbe\xe6\x7e\x7b\x40\x1c\x7e\xb7\xb7\xb0\xa4\x55\x9e\x8e\x1e\xa2\xa0\xb4\x11\xac\xf6\x4c\x10\x2e\x88\xa0\xa2\x0a\xa5\x62\xe4\x1d\x83\xd1\xf8\xc8\x7c\x3a\xc5\xb3\x18\xc7\xd1\xa1\xa3\x8d\x08\x02\x8e\x73\x56\x1b\x76\x97\x1e\x36\x76\x10\x96\xa4\x82\xd2\xd1\x97\x9c\xa3\x5d\x50\x5b\x67\xeb\xdf\x18\xfc\x3a\xc5\x6e\x55\x5d\x07\xa5\x5b\xf2\x41\xeb\xad\xc8\x06\x12\x5b\xb3\x54\xa6\x38\x84\x7b\xae\xcb\xec\x28\x1f\x5c\xe3\xf5\xed\x9c\x31\x23\x6b\x59\x17\xe9\xa1\x75\xd9\x1e\x73\x30\x7f\x89\xe5\xa5\x87\xec\x2c\xff\xc2\x2a\x1c\x9e\xa6\xd0\xbf\xf4\x77\xe8\x44\xb1\x9f\xa3\x13\x8d\x7b\x3a\x51\x3f\x7f\x0e\x34\x18\x15\x10\xc4\xd2\xc5\xf6\x41\xfc\xc3\x02\x82\xe3\x38\xf1\x39\x1f\x40\xc5\x11\xf0\x7d\x70\xc3\xc4\xc3\x39\xc3\x75\x17\x91\x79\x31\x8e\x56\x9c\x2d\xe3\xd8\x5c\x7d\x69\xfa\x6e\xd2\x81\x32\xc3\xaf\x74\x66\x3d\xc3\xf9\xe0\x36\x4b\x68\xd4\x20\x74\x7c\x52\xd6\x2d\x96\x21\xc9\x1e\xfe\x51\x5b\x97\xf8\xf8\x68\xdb\xce\xef\x9c\x37\xc2\xfd\x29\x9f\x4e\xc3\xae\x6a\x47\x61\xbf\x5a\x77\xa9\x62\x3f\x3e\xd5\xc8\xc6\x2b\xbd\x0a\xfb\xf8\x3f\xde\xc6\xf2\x7f\x73\xa1\x3f\xce\xdf\xef\x06\xa0\x4f\xd4\x32\x3b\x1b\x35\x2c\x93\x6d\x17\xe4\x27\x55\x4f\x30\x70\x92\x76\x49\x7e\xd2\xca\x64\xe0\x73\xd8\xc5\xdd\xcb\xc1\xd8\xcd\xc0\x47\x92\x7c\xfc\x0c\x00\x00\xff\xff\x54\xf1\x3b\x37\x0c\x07\x00\x00"
+var _switchboardBatch_add_vault_wrapper_capabilitiesCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\x4f\x6f\xfb\x36\x0c\xbd\xfb\x53\xbc\xe5\xf0\xfb\xd9\x40\xe0\xdc\x83\xfe\x59\xdb\xad\x3b\x6d\x2b\xd6\xa0\x3b\x14\x05\xc2\xd8\x74\x2c\xcc\x91\x04\x89\x4e\x1a\x0c\xfd\xee\x83\x64\x27\xb1\xbb\x04\xe8\x80\xe5\xe0\xd8\x22\x29\xbe\x47\x3e\x52\x6d\xac\x71\x82\xc9\x63\xab\xd7\x6a\xd5\xf0\xc2\xfc\xc5\xfa\x79\xa7\xa4\xa8\x57\x86\x5c\x39\x49\x0e\x1e\x3f\xbf\xd3\xc6\xf6\x0e\xa7\xd3\x51\xdc\xaf\x2c\x54\x92\xd0\x8b\xe2\x9d\x9f\x24\xc9\x6c\x36\xc3\xa2\x56\x1e\xe2\x48\x7b\x2a\x44\x19\x0d\xe5\x41\x10\xde\xd8\x86\x84\x51\x19\x17\x3e\x07\x76\xa9\x49\x50\x98\xb6\x29\xb1\x62\xb4\x9e\x4b\xac\xf6\x20\xbd\x37\x9a\x21\x06\x54\x96\xf0\xbc\x65\x47\x0d\x0a\xb2\xb4\x52\x8d\x12\xc5\xbe\x0b\xb4\x46\x69\x89\x89\xc5\xa0\xea\xc1\x41\x02\x3a\x6c\xa9\x6d\xc4\xc3\x54\x20\x94\xaa\xaa\xd8\xb1\x16\x2c\x17\x7b\xcb\x4b\x90\x0e\xf9\x1a\xa3\xd7\x31\x09\x0a\x76\x42\x4a\x63\x79\x57\x96\x8e\xbd\x5f\x4e\xc3\xb9\xd4\xac\x1c\xfc\xa9\x3e\x70\xec\x4d\xeb\x0a\xce\x43\xd2\x64\x48\x24\xa5\x2e\x72\x8e\xfe\x8a\x0c\x7f\x27\x09\x00\x34\x2c\x1d\x98\x27\x92\xda\xcf\xf1\xfa\xd4\xae\x1a\x55\x84\xaf\xb7\xb1\x43\xc0\x16\x1c\xc2\xff\xc9\x34\xc8\xff\x07\x57\x73\x80\x5a\xa9\xd3\x4b\x2d\xcc\x7f\xdf\x69\x76\x19\xbe\x5d\x74\x18\xbc\x77\x00\xad\x63\x4b\x8e\x53\xaf\xd6\x9a\xdd\xbc\xbb\xff\xde\x38\x67\x76\x2f\xd4\xb4\x9c\xe1\xdb\x5d\x51\x98\x56\xcb\x91\xd3\x08\xf6\x4f\x24\x84\x6b\x0c\x25\x93\x87\x42\x35\x5b\x7e\x30\x5a\x1c\x15\x12\x34\x92\x1e\x8a\x17\xe8\xcd\xa1\x55\x33\xc5\x56\xf1\xae\xfb\x0c\xcf\xab\xcb\xfa\xca\x1f\x17\x2f\x87\x5c\x37\x69\x96\x81\xfc\x0f\xf8\x9a\xfb\xed\x11\x71\xf8\xdd\xde\xc2\x92\x56\x45\x3a\x79\x88\xaa\xd3\x46\xb0\x3e\x30\x41\xb8\x20\x82\x8a\x52\x95\x9a\x51\xf4\x0c\x26\xd9\x89\xf9\x6c\x86\x67\x31\x8e\xa3\x43\x4f\x1b\x11\x04\x1c\x17\xac\xb6\xec\xbe\x7b\xd8\xd8\x66\x58\x92\x1a\x4a\x47\x5f\x72\x8e\xf6\x41\x92\xbd\x6d\x78\x63\xf0\xeb\x65\xbd\x53\x4d\x13\xc6\xc1\x92\x0f\x03\xd1\x29\x71\xa4\xc3\x0d\x4b\x6d\xca\x63\xb8\xe7\xa6\xca\x4f\x1a\xc3\x35\x5e\xdf\x2e\x19\x73\xb2\x96\x75\x99\x1e\x5b\x97\x1f\x30\x07\xf3\x97\x58\x7e\xf7\x90\xbd\xe5\x7f\xb1\x0a\x87\xe7\x29\x0c\x2f\xfd\x2f\x74\xe2\x44\x5c\xa2\x13\x8d\x07\x3a\x51\x3f\x3f\x8e\x34\x18\x15\x10\xc4\xd2\xc7\x0e\x41\xfc\xc2\x02\x82\xe3\xb8\x16\x0a\x3e\x82\x8a\x23\xe0\x87\xe0\xc6\x89\xc7\xc3\x88\xeb\x3e\x22\xf7\x62\x1c\xad\x39\x5f\xc5\xb1\xb9\xfa\xff\x46\xf4\x26\x1d\xc9\x37\xfc\x2a\x67\x36\x73\x5c\x0e\xee\xa0\x84\x6e\x8e\x42\xb3\xb3\xda\xef\x00\x8f\x2b\x31\x20\x39\xe9\x8a\x17\x1f\x1f\x9d\x36\xf8\x9d\x8b\x56\x78\xb8\x0a\x66\xb3\xb0\xf5\xba\x79\x39\x2c\xe9\x7d\xaa\xd8\x67\xe7\xba\xdd\x7a\xa5\xd7\x61\xb3\xff\xc6\xbb\xd8\xa3\x3f\x5d\x68\xa2\xf3\xf7\xfb\x11\xe8\x33\x05\xcf\x2f\x46\x8d\xcb\x64\xbb\x55\xfb\x49\xfa\x53\x8c\x9c\xa4\x5b\xb7\x9f\x04\x35\x1d\xf9\x1c\xb7\x7a\xff\x72\x34\xf6\x83\xf2\x91\x24\x1f\xff\x04\x00\x00\xff\xff\xf6\x7f\x27\x53\x56\x07\x00\x00"
 
 func switchboardBatch_add_vault_wrapper_capabilitiesCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -704,11 +641,11 @@ func switchboardBatch_add_vault_wrapper_capabilitiesCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/batch_add_vault_wrapper_capabilities.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x80, 0xd, 0xb9, 0x60, 0x6c, 0x4f, 0x3a, 0xbb, 0x97, 0x52, 0x37, 0x84, 0x7e, 0x37, 0xf9, 0x95, 0xc, 0x40, 0x74, 0x9f, 0x33, 0xe6, 0x1b, 0x6e, 0xe9, 0xd9, 0x93, 0xec, 0x6c, 0x94, 0x72, 0x5c}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0x87, 0xef, 0xef, 0xe1, 0x12, 0x69, 0xb6, 0x6d, 0x72, 0xa8, 0xbd, 0x17, 0x91, 0x11, 0x34, 0xe0, 0x89, 0x19, 0x5d, 0x48, 0x24, 0x6c, 0xf6, 0xef, 0x4, 0x4f, 0xa2, 0xbe, 0x33, 0x17, 0xdc}}
 	return a, nil
 }
 
-var _switchboardRemove_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x93\x4f\x6f\x9b\x40\x10\xc5\xef\x7c\x8a\x27\x1f\x5c\xb8\xc0\x1d\xa5\x89\x5a\xab\xed\x35\x72\xa2\xdc\x87\xf5\x00\xab\xc2\x2e\xda\x1d\x9c\x58\x91\xbf\x7b\xb5\x10\xf3\x47\xb5\xdb\xec\xc5\x36\xde\x99\xf7\xde\x8f\x19\xdd\x76\xd6\x09\x36\x3f\x7b\x53\xe9\xa2\xe1\x67\xfb\x9b\xcd\x26\xba\xfa\xf8\xe9\x55\x8b\xaa\x0b\x4b\xee\x30\xdf\xf8\xf1\x46\x6d\x37\xd5\x45\x59\x96\xe1\xb9\xd6\x1e\xe2\xc8\x78\x52\xa2\xad\x81\xf6\x20\x08\xb7\x5d\x43\xc2\x28\xad\x0b\x3f\x17\xff\x4b\x4d\x02\x65\xfb\xe6\x80\x82\xd1\x7b\x3e\xa0\x38\x81\xcc\xc9\x1a\x86\x58\x38\x6e\xed\x91\x51\x7e\x98\x81\x04\x31\x1c\xa9\x6f\x64\x10\x54\xd4\x51\xa1\x1b\x2d\x27\x94\xce\xb6\x90\x9a\xb5\x83\x9f\xed\xc2\xb1\xb7\xbd\x53\x1c\xae\x47\x0b\xe9\xb8\x23\xa9\x73\x3c\xf6\x45\xa3\xd5\x23\x49\x9d\xe0\x3d\x8a\x00\xa0\x61\x01\x2f\xb2\xbd\x04\xb5\xdd\x28\x24\xa7\x1c\xbb\x49\xf3\x6e\xfb\xbe\xc2\x94\xee\x59\xb1\x3e\xb2\x3b\xdf\x4f\x9d\x16\x5e\xf6\x5c\xe6\xc0\xf6\x16\xd9\x74\xf1\x7d\x74\xd2\x39\xee\xc8\x71\xec\x75\x65\xd8\xe5\xa0\x5e\xea\xf8\xbb\x75\xce\xbe\xbe\x50\xd3\x73\x82\xed\x37\xa5\x6c\x6f\x64\x32\x1f\x4e\x96\xe1\x17\x4b\x60\x71\x8d\x0f\xc6\x6e\x5f\x3c\x68\xac\x9d\xea\x3c\x37\x65\x7a\x3b\x39\xbe\x7e\x94\xa6\x53\x57\xcd\x3e\xad\x58\xfe\xc1\x61\xc0\x9c\x4c\x12\xe1\x3c\x3c\xa0\x23\xa3\x55\xbc\x79\x1a\xda\xe1\x60\xd9\xc3\x58\x41\x4d\x47\xc6\xa5\x76\xc1\x19\x24\xa8\xf4\x91\x0d\x42\xb7\x4d\xf2\x57\x54\x82\xe3\x92\x1d\x1b\x35\x4c\xcd\x9c\xd2\x2f\xf9\xaf\x83\xae\x5f\xcc\x1c\xce\x8b\x75\x54\x71\x5a\x0c\x9c\xef\x3e\xf5\xba\xee\xe3\x55\xc2\x70\x02\xee\x1c\xb7\x8b\x47\x95\x30\x78\xab\xd2\x64\x81\x67\x37\xec\x45\x00\x33\x7a\x59\x87\x5c\xf8\xbf\x10\x39\x8f\x1f\xfc\xc6\xaa\x17\x9e\x47\x22\xcb\xb0\x1f\x17\xe9\xe6\x4c\x2c\x36\xa6\xf7\xda\x54\xc3\xd3\x74\x5c\xbf\x61\x0c\xe2\x04\x2d\x4b\x6d\x2f\x14\xaf\x30\x5c\x5d\x9f\x55\xf2\xff\x0d\xd6\xec\xfe\x1c\xfd\x09\x00\x00\xff\xff\xeb\x2f\x91\x93\x96\x04\x00\x00"
+var _switchboardRemove_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\xcf\x6e\x9b\x40\x10\xc6\xef\x3c\xc5\x27\x1f\x52\xb8\xc0\x1d\xa5\x89\x5a\xab\xed\xb1\x91\x13\xe5\x3e\xac\x07\x58\x15\x76\xd1\xee\x60\xc7\x8a\xfc\xee\xd5\x42\xcc\x1f\xd5\x6e\x2f\xdd\x0b\xb0\xcc\xcc\x37\xf3\x9b\x19\xdd\x76\xd6\x09\x36\xdf\x7b\x53\xe9\xa2\xe1\x17\xfb\x8b\xcd\x26\xba\x7a\xfd\x7c\xd4\xa2\xea\xc2\x92\xdb\xcf\x16\xdf\xde\xa8\xed\x26\xbf\x28\xcb\x32\xbc\xd4\xda\x43\x1c\x19\x4f\x4a\xb4\x35\xd0\x1e\x04\xe1\xb6\x6b\x48\x18\xa5\x75\xe1\x73\xf1\x5f\x6a\x12\x28\xdb\x37\x7b\x14\x8c\xde\xf3\x1e\xc5\x09\x64\x4e\xd6\x30\xc4\xc2\x71\x6b\x0f\x8c\xf2\x23\x19\x48\x10\xc3\x81\xfa\x46\x06\x41\x45\x1d\x15\xba\xd1\x72\x42\xe9\x6c\x0b\xa9\x59\x3b\xf8\x39\x5d\x38\xf6\xb6\x77\x8a\x83\x79\xb4\x90\x8e\x3b\x92\x3a\xc7\x53\x5f\x34\x5a\x3d\x91\xd4\x09\xde\xa3\x08\x00\x1a\x16\xf0\xa2\xb6\xd7\xa0\xb6\x1d\x85\xe4\x94\x63\x3b\x69\xde\xdf\xbd\xaf\x30\xa5\x3b\x56\xac\x0f\xec\xce\x0f\x53\xa4\x45\x2e\x3b\x2e\x73\x80\x7a\xa9\xe3\x5b\x74\xd3\x9f\x47\xc3\x2e\xc1\xdd\x4d\x83\xc5\xfb\x98\x6e\xe7\xb8\x23\xc7\xb1\xd7\x95\x61\x97\x8f\xf1\xbf\x5a\xe7\xec\xf1\x95\x9a\x9e\x13\xdc\x7d\x51\xca\xf6\x46\xa6\x0a\xc3\xc9\x32\xfc\x60\x09\xc0\xae\x41\xc4\x18\xed\x93\x07\x8d\xbe\x93\x9f\xe7\xa6\x4c\x6f\xe3\xc1\xe7\x0f\xd7\x74\x8a\xaa\xd9\xa7\x15\xcb\x5f\x60\x0d\xbd\x48\x26\x89\x70\x1e\x1f\xd1\x91\xd1\x2a\xde\x3c\x0f\xe1\xb0\xb7\xec\x61\xac\xa0\xa6\x03\xe3\xe2\xbb\x68\x06\x48\x50\xe9\x03\x1b\x84\x68\x9b\xe4\x8f\x52\x09\x8e\x4b\x76\x6c\xd4\x30\x5a\x73\x95\x7e\xd9\xa4\x75\xa1\xeb\xee\xcd\xc5\x79\xb1\x8e\x2a\x4e\x8b\x81\xf3\xfd\xff\xeb\xe9\x43\xbc\xc2\x10\x4e\xe8\x49\x8e\xdb\xce\x63\x2a\x61\x84\x57\xae\xc9\x82\xe1\x76\xd8\xb0\x40\x6f\x4c\x78\x4d\x62\x51\xe4\x05\xdb\x79\x7c\xf0\x1b\xab\x5e\x78\x9e\x9b\x2c\xc3\x6e\x5c\xc9\x9b\x83\xb3\xd8\xbd\xde\x6b\x53\x0d\xb7\xe9\xb8\xc8\xc3\xac\xc4\x09\x5a\x96\xda\x5e\x50\x5f\x01\xbd\x32\x9f\x55\xf2\x7f\x4d\xdf\x9c\xfd\x39\xfa\x1d\x00\x00\xff\xff\x13\x56\x88\xaa\xe0\x04\x00\x00"
 
 func switchboardRemove_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -724,11 +661,11 @@ func switchboardRemove_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/remove_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x27, 0x93, 0x3e, 0xb, 0xd6, 0xca, 0x79, 0x7d, 0x92, 0x6d, 0x5a, 0x17, 0xc2, 0x32, 0x74, 0x84, 0x14, 0x4f, 0x19, 0x6b, 0x5, 0x19, 0x2, 0xfc, 0x15, 0x7b, 0x32, 0x84, 0x68, 0x42, 0x48}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb2, 0xef, 0x4d, 0xbe, 0x77, 0x6b, 0xca, 0xcf, 0xab, 0x7a, 0x4a, 0x30, 0x5b, 0xc3, 0xeb, 0x88, 0xf0, 0x2, 0x26, 0xc4, 0xf4, 0x7b, 0xb6, 0x36, 0x8c, 0xbd, 0xe0, 0x13, 0xe2, 0xb8, 0x97, 0x93}}
 	return a, nil
 }
 
-var _switchboardSafe_transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x6f\xe3\x46\x0c\x3d\xc7\xbf\x82\xeb\x43\x22\x01\xae\x72\x29\x7a\x30\x92\x2c\xb6\x49\xd3\x53\x81\xc5\xd6\x4d\xcf\xb4\x86\x92\xa6\x2b\x0f\x85\x19\xca\x8a\x11\xe4\xbf\x17\x33\xa3\xcf\xcd\xba\xcd\xe6\x10\x7b\x24\x0e\xf9\xde\xe3\x23\xad\x0f\x0d\x5b\x81\xf5\x63\x6b\x4a\xbd\xaf\x69\xc7\x5f\xc9\xac\x57\xdf\x7d\xfc\x67\xa7\x25\xaf\xf6\x8c\x56\x4d\x11\xbf\x3d\xe3\xa1\xf9\xef\x7b\x7f\x90\xa0\x42\xc1\x27\x4d\x9d\x5b\xaf\x56\xd7\xd7\xb0\xab\xb4\x03\xb1\x68\x1c\xe6\xa2\xd9\x80\x76\x80\x20\x74\x68\x6a\x14\x82\x82\xad\x3f\xce\xde\x4b\x85\x02\x39\xb7\xb5\x82\x3d\x41\xeb\x48\xc1\xfe\x04\x68\x4e\x6c\x08\x7c\x46\x61\x70\x64\x14\x88\xaf\xe8\xfc\x11\x0d\x4b\x45\x16\x30\xcf\xb9\x35\x02\x52\x59\x6e\xcb\x0a\x10\xdc\x44\x04\x5a\xa7\x4d\x09\x52\x11\x38\x2c\xe8\x81\x1a\x76\x5a\x7c\xc2\x03\x49\xc5\x2a\x8b\x50\xe3\x01\x3a\x5d\xd7\x60\x58\xa0\x41\xa3\x73\xd0\x45\xbc\x38\x4b\xa7\x98\x5c\x88\xa8\xf0\x48\xfe\xad\x4f\x95\x63\x83\x7b\x5d\x6b\x39\x05\x98\xc2\x36\xbc\x02\x45\x4e\x5b\x52\xf0\xb8\xdb\x80\x25\x69\xad\x19\xb0\xa8\x88\x83\x14\x1c\xb1\xad\x05\xb4\x71\x42\xa8\xb2\xa8\x1d\x41\xa7\xa5\x52\x16\x3b\xc0\x43\xe0\x86\x9e\x79\x45\x23\xd7\xc2\xf2\x01\x4a\x92\x4f\xfd\xb9\x1b\x94\xf3\x41\x0d\x5a\x3c\x90\x90\x75\x83\x72\xfe\xe9\x4c\xed\x6c\x35\x3b\x24\xc2\x5b\xf8\xa4\x94\x25\xe7\x36\x7d\xbd\x2d\xfc\xf5\xa8\x9f\x7f\xf9\x39\x85\x97\xd5\x0a\x00\xa0\x87\x65\xa9\x20\x4b\x26\xa7\x21\x69\x44\x1f\xd0\xc4\xca\x27\xb2\x57\x6e\x80\x19\xae\xd6\x24\x31\xec\x0b\x15\x5b\xc0\x56\xaa\x64\xe1\x9e\xec\xef\x9e\x6b\x0a\x97\x73\xb3\x65\x4f\xfe\x52\x2c\xdf\x58\x6a\xd0\x52\xe2\x74\x69\xc8\xf6\x59\x7e\x65\x6b\xb9\x7b\xc2\xba\xa5\x14\x2e\x7b\x25\x46\xc4\x8b\xd2\x0f\x28\x08\xb7\xb0\x48\x6f\xc9\x71\x7d\xa4\x7b\x36\x62\x31\x17\x6f\xde\xc4\x3f\x6b\x6d\x4e\xbb\x53\x43\x5b\x30\xba\xde\xc0\x51\x53\x17\x8f\xfe\xff\xcd\x79\xe3\x67\x8f\xbb\xa7\xa1\xd6\x5d\x92\xa6\x23\x0a\xff\xf7\xf1\x63\xb4\x54\xb2\xbe\x0f\x9d\xf2\x0e\x2a\x07\x74\xe0\x73\x84\x42\x61\x30\xbc\x90\x79\x8f\x6a\x9d\x4e\x6c\xae\xaf\xe1\x77\x12\xc0\xb7\x5d\x88\xb2\x5c\xb9\x68\xbd\xde\x53\xe3\x3d\x47\x75\x91\x0d\x1d\x80\xdb\x3e\x3a\xf3\xb1\x58\x52\xb6\x0f\x32\xde\xfc\x68\x63\xee\x12\xdf\xf5\xed\xa4\xef\x90\xf0\x33\x4a\x95\xae\x2e\x2e\x2e\xbe\xc7\x39\x16\x7b\xcb\x80\xbb\x48\x20\xa4\xfe\x30\xb0\x7e\x8d\x1f\xf4\x4c\x79\x2b\x34\xef\x6c\xaf\x85\x04\x4f\xe6\xba\xd1\x64\xe4\xca\x41\xd3\xee\x6b\x9d\x8f\x53\xc2\xfb\x7f\x28\x97\x85\x1d\xc6\x68\xb8\x9d\xcd\x4f\x22\x9c\x2e\x6d\xe3\xc8\x48\x00\x03\x37\x3f\x2d\x15\xcc\x86\xd9\x4c\x86\x59\x89\x9f\xef\xea\xd4\x1c\xec\x6c\xdd\xc2\x17\xca\x49\x1f\xc9\x2e\x31\x4c\x01\xb1\x73\xe3\xed\xac\x24\xb9\x1f\x97\x4e\x72\x6e\x8b\x67\x9f\x83\x1e\xb1\x23\x73\x3b\x0e\x4d\xbf\x3c\x7b\x73\xf6\xfd\xe5\x3d\x41\xb1\xd2\xeb\x5d\xf2\xff\xad\x8f\x4c\x97\xda\xcc\xa8\x7e\x58\xa7\x1e\xe2\x42\xcd\x7e\x6d\x07\x09\x8b\xd6\x28\x07\xe1\x27\x63\xb1\x9a\x37\xc3\xba\xee\x77\xeb\xb4\xaa\x73\xf6\xde\x95\xb8\x1c\xe7\x9b\x3e\xee\xe4\x29\xeb\xbc\x64\xbf\x91\x81\x8b\x48\xe5\xab\x36\xe5\x06\x1c\x43\x47\xfd\xee\x67\xcf\x85\x3d\x15\xa9\xd8\x7d\x9b\x42\x17\xa1\x87\x86\xe5\x61\xd8\xf5\x93\x9f\x16\x8d\xcd\x66\x3f\x4c\xfd\x50\x05\xcf\xf5\x06\x3c\xeb\xb7\xf4\x65\xd1\xd3\xa5\x49\xd5\x37\xf9\xde\xe0\x98\x0c\xf1\x3a\x49\xad\xc8\x89\xe5\x53\xcc\x35\x22\x18\x87\xf1\x75\xf5\x6f\x00\x00\x00\xff\xff\x41\xd1\x76\x1e\x4f\x08\x00\x00"
+var _switchboardSafe_transfer_tokensCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4b\x6f\xe4\x36\x0c\x3e\x67\x7e\x05\x33\x87\xc4\x06\x76\x3d\x97\xa2\x87\x41\x1e\xdd\xdd\x36\x3d\x15\x58\x6c\xd3\xe9\x99\x96\xe9\x31\xbb\x1a\xc9\x90\xe8\x38\xc6\x22\xff\xbd\x90\xe5\x67\x1e\x45\xea\xc3\x18\xb2\xc8\x8f\x8f\xef\x23\x87\x4f\xb5\x75\x02\xdb\xbb\xc6\x1c\x39\xd7\x74\x6f\xbf\x93\xd9\x6e\x5e\xfd\xfc\x67\xcb\xa2\xaa\xdc\xa2\x2b\x66\x8b\xdf\x1e\xf1\x54\xff\xb7\xdf\x1f\x24\x58\xa0\xe0\x81\xa9\xf5\xdb\xcd\x66\xb7\xdb\xc1\x7d\xc5\x1e\xc4\xa1\xf1\xa8\x84\xad\x01\xf6\x80\x20\x74\xaa\x35\x0a\x41\x69\x5d\x38\x2e\xee\xa5\x42\x01\x65\x1b\x5d\x40\x4e\xd0\x78\x2a\x20\xef\x00\x4d\x67\x0d\x81\x58\xf0\x64\x0a\x90\x10\xce\x87\x23\x1a\x2b\x15\x39\x40\xa5\x6c\x63\xa4\x8f\x29\x95\xb3\xcd\xb1\x02\x04\x3f\x57\x02\x8d\x67\x73\x04\xa9\x08\x0a\xaa\xad\x67\x81\x13\x49\x65\x0b\xc8\x1b\x81\x9c\x4a\xeb\xa6\x9b\x60\xd8\x12\xb4\xac\x35\xd0\x63\xad\x59\xb1\xe8\x0e\x54\x45\xea\x3b\xb4\x15\xf5\x11\x1d\x29\xe2\x07\x36\xc7\x3e\xa6\xc2\x1a\x73\xd6\x2c\x5d\xa8\x30\xb7\xce\xd9\x16\x73\x4d\x60\x1d\x18\x2b\x80\xa6\x00\x2e\xa1\x23\x1f\x52\x30\xc0\x12\xe1\xc7\x5c\x42\x5e\x0f\xd8\x68\x09\x45\x85\x43\x84\x27\xb7\x40\xce\x42\xa4\xcd\xa2\x59\x89\xd8\x3d\x7c\x2a\x0a\x47\xde\x7f\x00\x3c\x85\x0e\xec\xe1\xaf\x3b\x7e\xfc\xf9\xa7\x14\x7e\x6c\x36\x00\x00\x3d\x09\x01\xaf\x24\x47\x46\xd1\x18\x20\x46\x2b\x9d\x3d\xf5\xc7\x1a\x3b\x72\x97\x7e\x6a\x64\x70\xd5\x24\xd1\xec\x1b\x95\x7b\xc0\x46\xaa\x64\x45\x78\xf6\x37\x4b\x55\x38\x6c\x53\xb8\x58\xea\x23\x3b\x04\xa7\x18\xbe\x76\x54\xa3\xa3\xc4\xf3\xd1\x90\x1b\x50\x3e\xf7\xfd\x39\xa0\x6e\x28\x85\x8b\x4f\x31\xe4\x94\xf1\x2a\xf4\xaf\x28\x08\xd7\xb0\x82\x77\xe4\xad\x7e\xa0\x2f\xd6\x88\x43\x25\x41\x6f\x49\xf8\xd6\x38\x45\xf7\x5d\x4d\x7b\x30\xac\x3f\xc0\x03\x53\x1b\x8f\xe1\xf7\xea\x6d\xad\x66\x77\xf7\x87\x31\xd6\x4d\x92\xa6\x80\xfe\x1c\xde\x67\x7e\x3b\x65\x1c\x9e\xdb\x5b\xa8\xd1\xb0\x4a\xb6\x5f\x7a\x05\x07\xe6\x8f\x63\x25\x10\x00\xfa\xa4\x7a\xd9\x87\xa6\xab\xa1\x82\x6d\x3a\x57\xbe\xdb\xc1\xef\x24\x80\x2f\x19\x8b\x2d\xbc\xf4\xe0\xc5\x3a\x2a\x22\xea\xe4\xe7\x49\x97\xd9\xc8\x16\x5c\x0f\xd6\x59\xb0\xc5\x23\x65\x51\x92\x57\xff\x97\xc4\x9b\x24\x28\x64\x3f\x73\x31\x02\x7e\x45\xa9\xd2\xcd\xd9\xd9\xd9\x6b\x35\xc7\x60\x2f\x2b\xb0\x6d\x2c\xa0\x87\x3e\x1f\xab\x7e\x8a\x2f\x7a\x24\xd5\x08\x2d\x55\x30\xf4\x62\x98\x07\xae\x99\x8c\x5c\x7a\xa8\x9b\x5c\xb3\x1a\xa5\x0a\x36\xff\x87\x94\xac\xa4\x33\x59\xc3\x75\x20\x60\x50\x58\x22\x36\x5d\x4b\xcc\x93\x91\x3e\x19\xb8\xfa\xb8\xee\x60\xd6\x0e\x6d\x49\xc6\xb9\x8a\xef\x77\x31\xb5\x4c\x76\xb1\x4d\xbf\xf6\x79\xaf\x13\x98\x6f\x23\x6d\x93\x6b\x36\x0d\x3e\x93\x1f\xe9\xbb\xf8\xf1\xd6\xa6\xce\x5e\xc4\x79\xba\x49\x56\xe2\x0c\xcf\x9b\xde\xd1\x25\x90\xba\xf2\x49\x5f\x95\xf4\x44\xef\xb0\xa2\x56\xf5\x2f\x2a\x3a\xdf\xa6\x01\x64\xd5\xb1\x03\x6a\x2e\xc2\xea\x9f\x97\x5c\x58\xb7\x8b\xfd\x99\x77\xc3\xae\xf6\x58\x52\xdc\x14\x9f\xbb\x30\xc1\x13\x0c\x97\x23\xc9\xd1\x7b\x10\xfc\xaa\x95\xd9\x73\xef\x44\xe6\x55\xf0\xcb\x6b\x42\x4f\xc3\x02\x5a\x16\xff\x0c\x70\x58\xd5\xc3\x40\x5c\x7d\x9c\xb4\x93\x4e\x5e\x4f\x40\xda\xd3\x33\x98\xdd\x0e\xbe\x91\x34\xce\x40\xd9\x98\xa2\xff\xd7\x9a\x26\x79\x94\x30\x97\x73\x37\xd9\xf7\x4d\x56\xd6\x94\x7c\x6c\xc2\xa0\x8b\x1d\x6f\xfb\xae\xf5\x30\xeb\x4c\x57\xca\x7d\x4f\xa2\xe3\xe0\x3d\x6d\xfe\x0d\x00\x00\xff\xff\x1e\xee\x83\xe0\x1a\x08\x00\x00"
 
 func switchboardSafe_transfer_tokensCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -744,27 +681,27 @@ func switchboardSafe_transfer_tokensCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0x35, 0x81, 0x26, 0xa2, 0xb8, 0x6b, 0x6, 0x4, 0xfc, 0xee, 0xa, 0xcb, 0x26, 0x20, 0xfe, 0x28, 0x6e, 0x3b, 0xb5, 0x8c, 0xee, 0x19, 0x73, 0x5d, 0x7a, 0xd8, 0x24, 0x74, 0x75, 0xcd, 0x59}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x59, 0x85, 0x2e, 0x4, 0xcf, 0xf2, 0xab, 0xdc, 0xdd, 0x31, 0x4d, 0x67, 0xa9, 0x3f, 0x85, 0xcc, 0x24, 0xa0, 0x6c, 0xf1, 0xb9, 0xa9, 0x62, 0xd3, 0xc9, 0xae, 0x74, 0xfb, 0x3a, 0xdb, 0x10, 0xa2}}
 	return a, nil
 }
 
-var _switchboardSafe_transfer_tokens_v2Cdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4b\x6f\xe4\x36\x0c\x3e\x67\x7e\x05\x33\x87\xc4\x06\x76\x3d\x97\xa2\x87\x41\x1e\xdd\xdd\x36\x3d\x15\x58\x6c\xd3\xe9\x99\x96\xe9\x31\xbb\x1a\xc9\x90\xe8\x38\xc6\x22\xff\xbd\x90\xe5\x67\x1e\x45\xea\xc3\x18\xb2\xc8\x8f\x8f\xef\x23\x87\x4f\xb5\x75\x02\xdb\xbb\xc6\x1c\x39\xd7\x74\x6f\xbf\x93\xd9\x6e\x5e\xfd\xfc\x67\xcb\xa2\xaa\xdc\xa2\x2b\x66\x8b\xdf\x1e\xf1\x54\xff\xb7\xdf\x1f\x24\x58\xa0\xe0\x81\xa9\xf5\xdb\xcd\x66\xb7\xdb\xc1\x7d\xc5\x1e\xc4\xa1\xf1\xa8\x84\xad\x01\xf6\x80\x20\x74\xaa\x35\x0a\x41\x69\x5d\x38\x2e\xee\xa5\x42\x01\x65\x1b\x5d\x40\x4e\xd0\x78\x2a\x20\xef\x00\x4d\x67\x0d\x81\x58\xf0\x64\x0a\x90\x10\xce\x87\x23\x1a\x2b\x15\x39\x40\xa5\x6c\x63\xa4\x8f\x29\x95\xb3\xcd\xb1\x02\x04\x3f\x57\x02\x8d\x67\x73\x04\xa9\x08\x0a\xaa\xad\x67\x81\x13\x49\x65\x0b\xc8\x1b\x81\x9c\x4a\xeb\xa6\x9b\x60\xd8\x12\xb4\xac\x35\xd0\x63\xad\x59\xb1\xe8\x0e\x54\x45\xea\x3b\xb4\x15\xf5\x11\x1d\x29\xe2\x07\x36\xc7\x3e\xa6\xc2\x1a\x73\xd6\x2c\x5d\xa8\x30\xb7\xce\xd9\x16\x73\x4d\x60\x1d\x18\x2b\x80\xa6\x00\x2e\xa1\x23\x1f\x52\x30\xc0\x12\xe1\xc7\x5c\x42\x5e\x0f\xd8\x68\x09\x45\x85\x43\x84\x27\xb7\x40\xce\x42\xa4\xcd\xa2\x59\x89\xd8\x3d\x7c\x2a\x0a\x47\xde\x7f\x00\x3c\x85\x0e\xec\xe1\xaf\x3b\x7e\xfc\xf9\xa7\x14\x7e\x6c\x36\x00\x00\x3d\x09\x01\xaf\x24\x47\x46\xd1\x18\x20\x46\x2b\x9d\x3d\xf5\xc7\x1a\x3b\x72\x97\x7e\x6a\x64\x70\xd5\x24\xd1\xec\x1b\x95\x7b\xc0\x46\xaa\x64\x45\x78\xf6\x37\x4b\x55\x38\x6c\x53\xb8\x58\xea\x23\x3b\x04\xa7\x18\xbe\x76\x54\xa3\xa3\xc4\xf3\xd1\x90\x1b\x50\x3e\xf7\xfd\x39\xa0\x6e\x28\x85\x8b\x4f\x31\xe4\x94\xf1\x2a\xf4\xaf\x28\x08\xd7\xb0\x82\x77\xe4\xad\x7e\xa0\x2f\xd6\x88\x43\x25\x41\x6f\x49\xf8\xd6\x38\x45\xf7\x5d\x4d\x7b\x30\xac\x3f\xc0\x03\x53\x1b\x8f\xe1\xf7\xea\x6d\xad\x66\x77\xf7\x87\x31\xd6\x4d\x92\xa6\x80\xfe\x1c\xde\x67\x7e\x3b\x65\x1c\x9e\xdb\x5b\xa8\xd1\xb0\x4a\xb6\x5f\x7a\x05\x07\xe6\x8f\x63\x25\x10\x00\xfa\xa4\x7a\xd9\x87\xa6\xab\xa1\x82\x6d\x3a\x57\xbe\xdb\xc1\xef\x24\x80\x2f\x19\x8b\x2d\xbc\xf4\xe0\xc5\x3a\x2a\x22\xea\xe4\xe7\x49\x97\xd9\xc8\x16\x5c\x0f\xd6\x59\xb0\xc5\x23\x65\x51\x92\x57\xff\x97\xc4\x9b\x24\x28\x64\x3f\x73\x31\x02\x7e\x45\xa9\xd2\xcd\xd9\xd9\xd9\x6b\x35\xc7\x60\x2f\x2b\xb0\x6d\x2c\xa0\x87\x3e\x1f\xab\x7e\x8a\x2f\x7a\x24\xd5\x08\x2d\x55\x30\xf4\x62\x98\x07\xae\x99\x8c\x5c\x7a\xa8\x9b\x5c\xb3\x1a\xa5\x0a\x36\xff\x87\x94\xac\xa4\x33\x59\xc3\x75\x20\x60\x50\x58\x22\x36\x5d\x4b\xcc\x93\x91\x3e\x19\xb8\xfa\xb8\xee\x60\xd6\x0e\x6d\x49\xc6\xb9\x8a\xef\x77\x31\xb5\x4c\x76\xb1\x4d\xbf\xf6\x79\xaf\x13\x98\x6f\x23\x6d\x93\x6b\x36\x0d\x3e\x93\x1f\xe9\xbb\xf8\xf1\xd6\xa6\xce\x5e\xc4\x79\xba\x49\x56\xe2\x0c\xcf\x9b\xde\xd1\x25\x90\xba\xf2\x49\x5f\x95\xf4\x44\xef\xb0\xa2\x56\xf5\x2f\x2a\x3a\xdf\xa6\x01\x64\xd5\xb1\x03\x6a\x2e\xc2\xea\x9f\x97\x5c\x58\xb7\x8b\xfd\x99\x77\xc3\xae\xf6\x58\x52\xdc\x14\x9f\xbb\x30\xc1\x13\x0c\x97\x23\xc9\xd1\x7b\x10\xfc\xaa\x95\xd9\x73\xef\x44\xe6\x55\xf0\xcb\x6b\x42\x4f\xc3\x02\x5a\x16\xff\x0c\x70\x58\xd5\xc3\x40\x5c\x7d\x9c\xb4\x93\x4e\x5e\x4f\x40\xda\xd3\x33\x98\xdd\x0e\xbe\x91\x34\xce\x40\xd9\x98\xa2\xff\xd7\x9a\x26\x79\x94\x30\x97\x73\x37\xd9\xf7\x4d\x56\xd6\x94\x7c\x6c\xc2\xa0\x8b\x1d\x6f\xfb\xae\xf5\x30\xeb\x4c\x57\xca\x7d\x4f\xa2\xe3\xe0\x3d\x6d\xfe\x0d\x00\x00\xff\xff\x1e\xee\x83\xe0\x1a\x08\x00\x00"
+var _switchboardScriptsGet_vault_types_and_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x91\x41\x6f\xa3\x30\x10\x85\xef\xfe\x15\x4f\x1c\x56\x70\x81\x7b\xb4\xbb\x51\xb4\xd2\xf6\x1a\xa5\x51\x7b\x8d\x31\x03\x58\x35\x36\x1a\x0f\x8d\xaa\x28\xff\xbd\x02\x92\x94\xa8\x8d\x8f\xe3\x79\x33\x6f\xbe\x67\xbb\x3e\xb0\x20\xf9\x3f\xf8\xc6\x96\x8e\xf6\xe1\x8d\x7c\xa2\x7e\x2c\x3f\x1f\xad\x98\xb6\x0c\x9a\xab\x44\xa9\xa2\x28\xb0\x6f\x6d\x44\x34\x6c\x7b\x01\x93\xae\x22\xa4\x25\x44\x09\x4c\x15\xde\xf5\xe0\x04\x46\xf7\xba\xb4\xce\x8a\xa5\x88\x9a\x43\x07\x8d\xf8\x35\x08\xc1\x4f\x9a\x5e\xc7\x48\x15\xb4\x31\x61\xf0\x32\x0e\x57\xda\x18\x8a\x31\xd5\xce\x65\xa8\x07\x8f\x4e\x5b\x9f\x5e\x1a\x56\xd8\x54\x15\x53\x8c\xd9\x0a\xa7\xfd\x47\x4f\xb7\xc2\x19\x27\xa5\x00\xa0\x28\xf0\x44\x02\x0d\xa6\x9a\x98\xbc\x21\x48\x98\xfd\x2d\xd6\x9b\xe0\xeb\xc0\x9d\xf5\xcd\xf8\xbb\xb8\x70\x3b\x94\xce\x9a\x69\x92\x23\x59\x6a\x76\x54\xe3\x0f\x1a\x92\xcd\xec\xe5\xea\x29\xcb\x97\xb7\xe6\x65\x60\x0e\xc7\xdf\xbf\x4e\x8f\x18\xe6\xdf\xb6\x9d\xff\xa6\xd3\xc2\xeb\x7b\xa8\x9c\xdb\xb7\x5a\xda\x5b\x7f\x86\xf5\x1a\xbd\xf6\xd6\xa4\xc9\xbf\x30\xb8\x0a\x3e\x08\x66\x13\xf7\x08\x16\xa7\x24\xd9\x8d\xd5\x8e\x64\xe0\x39\x0b\xa6\x38\x26\x17\x6a\x1c\x1a\x92\x97\x31\xc6\x11\x71\x7c\xb5\xd2\x5e\x28\xa7\xd9\x61\x12\xf2\xac\xba\xa7\x93\x3f\x56\x29\x75\x56\x9f\x01\x00\x00\xff\xff\xec\x44\x7e\xc2\x73\x02\x00\x00"
 
-func switchboardSafe_transfer_tokens_v2CdcBytes() ([]byte, error) {
+func switchboardScriptsGet_vault_types_and_addressCdcBytes() ([]byte, error) {
 	return bindataRead(
-		_switchboardSafe_transfer_tokens_v2Cdc,
-		"switchboard/safe_transfer_tokens_v2.cdc",
+		_switchboardScriptsGet_vault_types_and_addressCdc,
+		"switchboard/scripts/get_vault_types_and_address.cdc",
 	)
 }
 
-func switchboardSafe_transfer_tokens_v2Cdc() (*asset, error) {
-	bytes, err := switchboardSafe_transfer_tokens_v2CdcBytes()
+func switchboardScriptsGet_vault_types_and_addressCdc() (*asset, error) {
+	bytes, err := switchboardScriptsGet_vault_types_and_addressCdcBytes()
 	if err != nil {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "switchboard/safe_transfer_tokens_v2.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x59, 0x85, 0x2e, 0x4, 0xcf, 0xf2, 0xab, 0xdc, 0xdd, 0x31, 0x4d, 0x67, 0xa9, 0x3f, 0x85, 0xcc, 0x24, 0xa0, 0x6c, 0xf1, 0xb9, 0xa9, 0x62, 0xd3, 0xc9, 0xae, 0x74, 0xfb, 0x3a, 0xdb, 0x10, 0xa2}}
+	info := bindataFileInfo{name: "switchboard/scripts/get_vault_types_and_address.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x94, 0x76, 0x20, 0xbc, 0xb8, 0xf5, 0x3c, 0xf5, 0x75, 0x8d, 0x73, 0x44, 0x5, 0x28, 0x62, 0xe4, 0x3, 0xba, 0xf3, 0x2a, 0x1f, 0x15, 0x71, 0xde, 0x9a, 0xd8, 0xe3, 0x7d, 0x48, 0xd3, 0xdc}}
 	return a, nil
 }
 
@@ -788,7 +725,7 @@ func switchboardSetup_accountCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardSetup_royalty_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x41\x6f\xe3\x36\x13\xbd\xfb\x57\xbc\x2f\x87\x7c\x32\x90\xda\xf7\x20\xc9\x36\x4d\x9b\x45\x2f\xc5\x62\x93\x6d\xcf\x34\x35\xb2\x88\xc8\xa4\x40\x8e\xe2\x35\x82\xfc\xf7\x82\x94\x25\xd3\x4e\x64\x4b\x8e\xd1\xe8\xb0\xeb\x88\xe4\xe3\xbc\xe1\x9b\x27\x92\x6a\x51\x1a\xcb\x38\xbb\xaf\xf4\x5c\xcd\x0a\x7a\x34\x4f\xa4\xcf\x46\xef\xbe\x7e\x58\x2a\x96\xf9\xcc\x08\x9b\x46\x3d\x0a\xb3\xdc\x1d\xa4\x04\xaf\x5f\x8d\x46\xd3\x29\x1e\x73\xe5\xc0\x56\x68\x27\x24\x2b\xa3\xa1\x1c\x04\x98\x16\x65\x21\x98\x90\x19\xeb\xff\x8c\xda\x39\x17\x0c\x69\xaa\x22\xc5\x8c\x50\x39\x4a\x31\x5b\xc1\x43\x09\xbd\x32\x9a\x90\x55\x45\xb1\x82\x23\xae\x4a\x08\x0d\x21\xa5\xa9\x34\x07\x24\x4b\x92\xd4\xb3\xd2\x73\xcc\x0c\xe7\xf0\xe1\x41\xe8\x14\x3f\x1e\x7e\xbf\x03\xfb\xa8\x1c\x04\x83\x73\x82\x13\x0b\xf2\xa0\x65\x35\x2b\x94\x44\x29\x38\x47\xe2\x31\x94\x76\x2c\xb4\xa4\xd0\xcb\x9a\x95\x28\x58\x91\xc3\xb4\xee\x38\xfd\x4a\x9a\xac\x92\xf7\x8f\xdf\xc3\x5c\x64\xc3\xd0\xb1\x87\xfa\xe1\xfc\xcc\x7e\x98\x48\xd3\xbf\x68\xf9\xb7\xa8\x0a\xfe\xc7\x8a\xb2\x24\xeb\x7e\x5b\x7d\xf3\x53\xb8\x4d\x1a\xb1\x20\xce\x4d\x0a\x51\x14\x66\xe9\x1a\x76\x6c\x3c\x67\x0f\x27\x45\x29\x66\xaa\x50\xbc\xc2\x72\x0d\x02\x57\xc9\x1c\xc2\x21\x64\xf8\xde\xd8\xa5\xb0\xa9\x7f\xef\x83\x26\x91\xc2\x64\xf5\xfc\x92\x2b\x51\xd4\x8c\xf1\xec\xc3\x98\x8c\xe2\x1c\x27\x63\xbc\x8c\x46\x00\x50\x10\x23\x6b\x56\x31\x04\x7c\xd7\x4e\x7b\x89\xcd\xef\xab\xf3\x97\x2d\x39\x4c\x1a\xfa\xaf\x37\x1b\x9c\x66\xe9\x8f\xc3\x01\xd0\x42\x45\x69\xfa\x4e\xd9\x25\x70\xde\x25\xc6\x49\xf4\xbb\xa6\x54\x5a\x2a\x85\xa5\xc4\xa9\xb9\x26\x7b\x89\xdb\x8a\xf3\xdb\x5a\x24\x2d\x6d\xff\x4c\xa7\xb8\xcb\x49\x3e\x41\x35\x49\xab\x85\x24\x0a\x4b\x22\x5d\x21\x17\x5e\xa9\x41\x43\x81\x50\x3b\x50\x65\xa8\xb1\x27\x33\x63\xad\x59\x5e\x9d\xb7\x75\x30\x09\x3d\x6f\x92\xcc\x9a\xc5\x25\xa6\x8e\x8d\x15\x73\x9a\x6e\x67\x78\x8c\xeb\x6b\x68\x55\xe0\xa5\x85\x5c\xc7\xf3\x67\x06\x6d\xf8\x02\xd2\x92\x2f\x0e\x01\x4d\xcb\x28\x02\x58\x72\xa6\xb2\x92\x82\xa8\xcb\x8a\xa1\x18\x4a\xb3\xc1\x7a\xa2\x2d\xbc\x75\x8c\x4e\x3c\x53\x72\xf5\x0b\x36\x31\xd6\xe8\x7f\x2c\x4a\x5e\x05\xd8\x24\x28\xe4\x71\x55\xd2\x25\xfc\xbf\x57\xbf\xbe\xe1\x33\x1e\x5f\x80\x4d\x37\xa3\x76\xe2\xd7\xce\xf4\xda\xa6\x5e\x22\x5d\x2b\x87\x42\xe9\x27\x4a\x11\x0a\x9f\x82\x14\x37\x3d\x7d\x65\xc5\x59\xff\xdf\x9a\xd2\x9c\xb8\x97\xa2\x92\xa6\x68\xdb\x68\x9b\xb6\xf1\x56\xa6\x3e\xf8\x4c\xa4\xe7\x19\x6a\x6a\x67\x3d\x55\x06\xc5\xff\x77\x3b\x8b\xba\xb6\x9c\x28\x0f\x6c\x36\xec\xc3\x62\x80\x7e\x96\x26\xd8\xc9\x2e\xa4\xef\x97\x92\x6f\x64\x64\x95\x6e\x3c\xd3\x9a\x6a\x9e\x87\xc6\xae\x6c\x78\xa1\x90\xcd\x84\x7c\x57\x25\x95\xf6\x0b\xd1\x37\x61\xeb\x41\x7e\xc8\x3b\xe2\xef\x04\xb9\xc0\x71\x69\x67\x61\xe7\xc4\x83\xd4\xe7\xa8\xc8\x26\x5d\xc6\x86\x6b\x9c\x50\x49\x03\x0d\x25\x7c\x8b\x0e\x1a\x4a\x63\xa5\xdb\x86\xb2\xf3\xfa\xa1\x4e\x87\xff\xb0\x0c\xf4\x94\x4d\x10\x1f\xf3\x94\x36\x9e\x1e\x9e\xb2\x4b\xc9\x7b\xca\x91\x65\xe8\xad\x68\x4f\x2e\x4e\xe5\x46\x21\x4b\x27\x73\xa3\x21\x5c\x93\x1d\x76\x0d\xca\xb7\x6a\x16\x18\x9e\xcc\x72\x02\xc5\x4f\xb5\x9c\x03\x4c\xf7\xf8\xce\xae\xa0\xf6\x23\x1d\x25\xb6\xc6\x79\x86\x89\xad\x36\x9f\x8e\xdd\xd0\x11\xe6\xd3\x37\x45\x03\x9d\x28\xda\x39\xb5\x2e\xb0\xcf\x93\x7a\xec\xc0\x0e\x8b\xbc\x71\xb2\x4e\xb0\xa3\x3d\xed\x3d\x3a\x47\x99\x5a\x57\x68\xf5\x6c\xd1\x9b\x64\xa8\x83\x05\xdf\xea\xc3\xfc\x54\x0e\x36\xcc\xbc\x3a\xb8\x9c\x66\xe9\x93\x4e\x90\x48\xcf\x85\x92\xa7\xf5\xb7\x58\x14\x9f\x65\x70\x03\x78\xef\x71\xbb\x3e\x4b\x90\xf4\x57\xe3\x80\xa8\x2e\x7a\xa3\xb6\x76\x79\x22\x8d\x47\x43\xeb\x70\x42\x3d\x67\xfc\x8e\xf8\xfd\x19\x5d\x58\xda\xe8\x7f\xb4\xb3\xc0\xf1\xc9\x3b\x3a\xf4\x1f\xfe\xa2\xb7\x3d\xfa\x9d\x41\x7b\xa6\xea\xe6\x78\x5d\x7c\xf0\xf9\x6f\x6b\x2b\x5c\xc4\xbc\xad\xa1\x8e\xec\xd5\x94\x5f\xc3\x32\xfb\x41\xbb\x68\x87\x0b\xd1\x1d\x53\x89\x7d\x2a\x70\xab\xe1\xa4\x52\x68\x9e\x3d\x92\xf8\xa4\x62\xfc\x4a\x0c\x01\x4b\x19\x59\x0a\x57\x62\x66\xb7\x94\xb6\xf7\x3c\xdb\xd7\x36\x9b\x9d\xce\x69\xb7\x10\xed\x33\x68\x2f\x71\x10\xf6\xcb\x17\x94\x42\x2b\x99\x9c\xdd\x85\xdb\x47\x6d\x18\x75\xe0\xdb\x19\x88\x48\x9e\xad\x4f\x7f\xaf\xf5\x7f\xf4\x93\x64\xc5\x14\x15\xd6\x74\x8a\xdb\xb4\x96\xf2\xdb\xfa\x89\x1d\xa9\x0a\xc5\x13\xdd\x1b\xae\x6f\x07\xf7\xe5\x77\x12\x75\x4f\x64\x74\xdd\xb6\xf7\xf0\x3b\xfe\x00\x64\xc7\x96\x76\xdc\x24\xe1\x75\x84\x7f\x03\x00\x00\xff\xff\xb2\x5b\x9f\xd4\x54\x16\x00\x00"
+var _switchboardSetup_royalty_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x4d\x73\xdb\x36\x10\xbd\xeb\x57\xbc\xf8\x90\x52\x33\xaa\x74\xf7\xd8\x49\x63\xb5\xce\xe4\xd2\x7a\x62\x3b\x3d\xaf\xc8\xa5\x89\x31\x04\x70\x00\x50\xaa\xc6\xe3\xff\xde\x01\x28\x92\xd0\x07\x65\xc9\x51\xa7\x3c\x24\x32\x09\x3c\xec\xdb\x7d\xfb\x40\x50\xcc\x4b\x6d\x1c\x2e\x6e\x2b\xf5\x24\x66\x92\x1f\xf4\x33\xab\x8b\xc1\xde\xdb\xf7\x4b\xe1\xd2\x62\xa6\xc9\x64\xd1\x08\xa9\x97\xdb\x93\x04\xb9\xf5\xad\xc1\x60\x32\x99\xe0\xa1\x10\x16\xce\x90\xb2\x94\x3a\xa1\x15\x84\x05\xc1\xf1\xbc\x94\xe4\x18\xb9\x36\xfe\xcf\xe8\xb9\x2b\xc8\x21\xd5\x95\xcc\x30\x63\x54\x96\x33\xcc\x56\x08\x58\xa4\x56\x5a\x31\xf2\x4a\xca\x15\x2c\xbb\xaa\x04\x29\x50\x9a\xea\x4a\xb9\x00\x65\x38\x65\xb1\x10\xea\x09\x33\xed\x0a\xf8\x00\x41\x2a\xc3\xe3\xfd\xef\x53\x38\x1f\x97\x05\x39\xb8\x82\x61\x69\xce\x01\xb5\xac\x66\x52\xa4\x28\xc9\x15\x48\x3c\x88\x50\xd6\x91\x4a\x39\x0c\x33\x7a\x45\xd2\x09\xb6\x98\xd4\x03\x27\x5f\x59\xb1\x11\xe9\xed\xc3\xf7\xb0\x18\x9b\x30\x75\x18\xb0\x1e\xad\x5f\xdb\xcf\xa3\x2c\xfb\x93\x97\x3f\xa8\x92\xee\x6f\x43\x65\xc9\xc6\xde\xac\xee\xfc\x1a\xb6\x4b\x25\xe6\xec\x0a\x9d\x81\xa4\xd4\x4b\xdb\xf0\x73\xda\xd3\x0e\x78\x29\x95\x34\x13\x52\xb8\x15\x96\x6b\x14\xd8\x2a\x2d\x40\x16\x21\xcd\xb7\xda\x2c\xc9\x64\xfe\xbe\x0f\x9b\x29\x83\xce\xeb\x00\x52\x57\x91\xac\x49\x63\xe1\xe3\x18\x0f\xe2\x3c\x27\x43\xbc\x0c\x06\x00\x20\xd9\x21\x6f\x4a\x19\x22\x9e\xb6\xcb\x5e\xa2\xfb\x7d\xf5\xf1\x65\x43\x13\xe3\x26\x01\xaf\x9f\x3a\x9c\xa6\xfe\xef\xc3\x01\xd0\x42\x45\x79\xfa\xce\xf9\x25\x40\x95\x2b\x92\x3e\x55\x8e\xff\x5a\x2a\x36\x43\x7c\xec\x1d\x10\xfd\xae\x79\x97\x86\x4b\x32\x9c\x58\xf1\xa4\xd8\x5c\xd6\xf8\x37\xda\x18\xbd\xfc\x41\xb2\xe2\x11\xbe\x59\x5b\xf1\xbd\xd3\x86\x9e\xb8\x8b\x7f\xaa\x95\x33\x5a\x4a\x36\x23\xdc\x79\x4d\xd8\xa2\x7b\x38\xc2\x3d\x2d\x78\x3d\xff\x51\x95\xdb\xcf\x87\xf8\x52\xeb\xb5\x4d\xbf\xbf\x2c\xcb\x7c\xdc\x57\x03\x5c\xa3\x0e\x71\xdc\xca\x41\xb0\x1d\x3f\xb1\x3b\x90\xc9\xa4\x91\x6b\x8b\xda\x3c\x1b\xb6\xab\xfa\xeb\xf3\x67\x94\xa4\x44\x9a\x5c\xdc\x87\x35\x90\x69\xb6\x50\xda\xa1\xa0\x05\x83\xd0\x36\xf9\xba\xb9\xd8\x44\xaa\xbc\x18\x76\x1c\x26\x13\x4c\x0b\x4e\x9f\x21\x1a\x01\xd6\x7d\x49\xd2\x30\x65\x2b\x14\xe4\x3b\x3f\x74\x62\x20\xd8\x4e\x14\x79\xc3\xcf\xd6\xa9\x1e\xcf\x42\x11\xae\x3e\xb6\x6e\x32\x0e\x33\x3e\x25\xb9\xd1\xf3\x4b\x6c\xdd\x5e\x17\xc8\x37\xd7\x10\xd7\xd7\x50\x42\xe2\x65\x83\xe4\x64\x82\x6f\xb9\x27\x35\x42\x6a\xd8\xfb\x0e\x41\xf1\x32\x0a\x06\x86\xad\xae\x4c\xca\xc1\x2e\xca\xca\x41\x38\x08\xe5\x34\xd6\x31\x6d\xe0\x6d\x85\x6b\x69\xc1\xc9\xd5\xaf\x5d\x58\xf5\x22\x7f\xcc\x4b\xb7\x0a\xe8\x49\xe8\xbf\x87\x55\xc9\x97\xf0\xff\x5e\xfd\xb6\xc3\x6c\x38\x1c\x61\x63\x8d\xe3\x2f\xa7\x0f\xa6\xa4\x45\x7d\xed\x2d\xd5\x9e\xca\x7a\x9f\x96\x42\x3d\x73\x86\x60\xca\x5c\x27\xcb\xc4\x9e\x17\x57\xf0\xc3\xe9\x12\x3d\x85\x6e\xb2\x45\xb0\x41\xb9\xab\x66\x81\xe4\x87\x71\xea\x09\x05\x53\xdb\xaa\xbc\xc8\x21\xdc\x2f\x76\xab\xfc\x6b\xd7\x8f\x08\x3b\xdd\xd1\x5c\x6c\x08\x14\x6b\x47\x0a\x5e\x3a\xa5\xb2\xa7\x21\x1b\x39\x08\xef\x1a\x7b\xc4\x7b\x4c\x8d\xd0\xa9\x6b\x03\x7b\xed\x23\x49\x13\xc2\x08\xe4\x76\xaa\xbe\x9d\x94\x1d\x02\x4d\xf5\xfe\x5f\x0e\x51\x14\x7b\x69\xdc\x90\xf4\xdb\xef\x0e\x8b\xd7\x2d\xbb\xec\xd9\x6a\xde\x67\x97\xc7\xa6\xf2\x44\xbb\x8b\x36\x9d\xd6\x62\x8e\x31\xbe\x23\x36\xb1\xb7\xfb\xa7\xb1\xcb\x5e\xb0\x77\x1b\xe7\x3e\x5a\x3f\xe1\x9c\xfd\x21\xd6\xab\x46\x77\x92\x53\x7d\x32\xb8\xe3\x31\x19\x38\x97\x4f\x9e\x6c\x91\x3d\x74\xce\xa3\x82\xfe\x17\xa6\x48\xe2\x52\xa4\x67\x76\xd1\x58\x20\x67\xb0\xa1\x63\x12\xd1\xcf\xf4\x4c\x2e\x75\x42\x22\x8f\xd0\x52\x84\x50\x4f\x0c\xfd\x93\xbb\x3d\x22\xf3\xa7\x0f\x32\xdc\xe9\x2c\x06\x0d\x67\x99\x28\xdb\xd1\x71\xe6\xa8\xfd\xb9\x1d\x74\xdc\x9b\xf3\x61\xb5\xb5\xd7\x81\x6a\xec\xd3\xdd\x3b\xdf\x7c\xf6\x5e\xff\x85\x86\x77\x24\xbc\x71\x38\x39\x4d\xcd\x1b\x58\x67\x4d\x7a\x73\x9d\xbb\x15\xf6\x93\x7d\xa3\x2b\xde\xec\x86\xaf\xec\x40\x30\x9c\xb3\xe1\x70\xda\xd6\xdb\x5a\xde\xdc\xef\x37\xcf\x83\x5d\xaa\xb7\xf6\xce\xf3\x9d\x12\x4f\x78\x41\x3d\x69\xa7\x7d\x13\xb6\x3b\x93\x4d\xc3\x77\x10\x7f\x1a\xab\xd9\x6d\xa6\x2b\xca\x48\x73\x10\x7b\xad\xff\xe3\x7f\x38\xad\x1c\x47\x2d\x30\x99\xe0\x4b\x96\x85\x0c\xef\x2a\x3d\xf6\x8f\x2a\x7c\xc2\x88\x3e\x5f\xac\x3f\x52\x1c\x2a\xc6\x38\x1a\x9e\xa4\xd1\xa1\xff\xe0\xb9\x76\xf8\x13\x90\x3d\xef\x7e\xc3\x26\x09\xaf\x03\xfc\x1b\x00\x00\xff\xff\x4f\x5a\xee\x48\xdf\x12\x00\x00"
 
 func switchboardSetup_royalty_accountCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -804,11 +741,11 @@ func switchboardSetup_royalty_accountCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_royalty_account.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0x9, 0xe, 0x8a, 0xe9, 0x2d, 0x8e, 0x9a, 0xf8, 0xf0, 0x94, 0xfe, 0x75, 0xce, 0xf9, 0xd5, 0xde, 0x78, 0x41, 0xdc, 0x69, 0x46, 0xd5, 0xaf, 0xa, 0x87, 0x60, 0x4a, 0xa1, 0xc4, 0x18, 0xf2}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0xde, 0xae, 0x6, 0x58, 0x1c, 0x2d, 0x2, 0xcb, 0x1d, 0xf5, 0xe3, 0xb0, 0x5c, 0xea, 0x58, 0x8e, 0x23, 0x51, 0x97, 0x78, 0xc8, 0xcf, 0x16, 0xe1, 0xc8, 0xfb, 0x77, 0x17, 0x5c, 0xa8, 0x6}}
 	return a, nil
 }
 
-var _switchboardSetup_royalty_account_by_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\xbc\xe6\x90\xca\x40\x6a\xdf\x8d\x24\xdb\x34\x6d\x16\xbd\x14\xc1\x26\xdb\x1e\x16\x39\xd0\xd2\xc8\x22\x22\x93\x02\x39\x8a\xd7\x08\xf2\xdf\x0b\x92\x92\x2c\x7f\x28\x96\xbd\x6e\xa3\x4b\x62\x91\x33\x9c\x8f\xf7\x9e\xa4\x91\xf3\x42\x1b\xc6\xd9\x5d\xa9\x66\x72\x9a\xd3\xa3\x7e\x26\x75\x36\xd8\x79\xfb\x61\x21\x39\xce\xa6\x5a\x98\xa4\xb5\x23\xd7\x8b\x4d\x23\x29\xb8\xba\x35\x18\x8c\xc7\x78\xcc\xa4\x05\x1b\xa1\xac\x88\x59\x6a\x05\x69\x21\xc0\x34\x2f\x72\xc1\x84\x54\x1b\xf7\xb3\xb5\xce\x99\x60\xc4\xba\xcc\x13\x4c\x09\xa5\xa5\x04\xd3\x25\x9c\x2b\xa1\x96\x5a\x11\xd2\x32\xcf\x97\xb0\xc4\x65\x01\xa1\x20\xe2\x58\x97\x8a\xbd\x27\x43\x31\xc9\x17\xa9\x66\x98\x6a\xce\xe0\xc2\x83\x50\x09\xbe\x3e\xfc\x7e\x0b\x76\x51\x59\x08\x06\x67\x04\x2b\xe6\xe4\x9c\x16\xe5\x34\x97\x31\x0a\xc1\x19\x22\xe7\x43\x2a\xcb\x42\xc5\xe4\x77\x19\xbd\x14\x39\x4b\xb2\x18\x87\x8d\xe3\xcf\xa4\xc8\xc8\xf8\xee\xf1\x8b\x3f\x8b\x8c\x37\x1d\x3a\x57\x5f\xad\x3b\xd9\x99\x89\x24\xf9\x8b\x16\x7f\x8b\x32\xe7\x7f\x8c\x28\x0a\x32\xf6\xb7\xe5\xbd\x3b\xc2\xae\xca\x88\x39\x71\xa6\x13\x88\x3c\xd7\x0b\x5b\x67\xc7\xda\xe5\xec\xdc\xc5\xa2\x10\x53\x99\x4b\x5e\x62\x51\x39\x81\x2d\xe3\x0c\xc2\xc2\x57\xf8\x4e\x9b\x85\x30\x89\xbb\xef\x82\x26\x91\x40\xa7\xe1\xfc\x98\x4b\x91\x87\x8c\xf1\xe2\xc2\x18\x0d\xda\x35\x8e\x44\x92\x18\xb2\x76\x82\x9b\xf0\xcf\x10\xaf\x83\x01\x00\xe4\xc4\xc1\xc0\x45\x6b\x27\xf8\x76\xef\xd3\x76\xbf\x9e\xd6\x37\x3c\x2e\x0b\x72\x1b\xdc\xdf\x27\xb7\xd2\x2c\xb7\x72\xfc\x42\xe9\x04\x38\xef\x42\xd2\xa8\xf5\x7f\x38\xbf\x30\x54\x08\x43\x91\x95\x33\x45\x66\x82\x9b\x92\xb3\x9b\xd0\xe1\x26\x46\x77\x8d\xc7\xb8\x0f\x5b\x7d\xc2\xae\x07\xd6\xb7\x9a\x5d\x58\x10\xc6\x88\xa5\xc5\x42\x72\xe6\xd7\x77\x22\x21\x11\x2c\x1a\x87\x96\xf2\x74\xb4\xca\x1c\x57\xf8\xf6\xd4\xb5\x38\x72\xdd\x50\x49\x54\x63\x22\xad\x69\x50\x63\x62\xb8\xcf\xb2\x61\xc9\xc8\x83\xa4\xb6\xbb\x2f\xa7\xf7\x1e\x4d\xdb\xe6\xbe\xdc\x5d\x51\xf9\xc5\xda\xb7\xfb\x71\xf9\x6b\x43\xcd\x70\xc2\x75\x34\xec\xf4\xba\x61\xb8\x1e\x9a\x37\x6c\x97\xfd\x36\xa3\xf8\x19\xb2\x06\x5a\x20\x9f\xc8\x0d\x89\x64\x89\x4c\x38\x76\xfb\x6a\x7b\xeb\xc6\x50\xa6\x08\x2d\x1d\x4d\xb5\x31\x7a\x71\x79\xbe\x15\x60\x6a\xf4\x7c\x82\xb1\x65\x6d\xc4\x8c\x56\x45\xf5\xcb\x43\x5c\x5d\x41\xc9\x1c\xaf\x8d\xcb\x2a\x9e\x3f\x53\x28\xcd\x17\x88\x0d\x39\x41\x11\x50\xb4\x68\x45\x00\x43\x56\x97\x26\x26\xdf\xfe\xa2\x64\x48\x86\x54\xac\x51\x1d\xb4\xe6\xaf\x8a\xd1\x8a\x17\x8a\x2e\x7f\xc1\x2a\xc6\xe0\xfd\x8f\x79\xc1\x4b\xef\x36\x6a\xca\x37\x41\x67\xc1\x2f\xc0\xba\x3b\xa3\xe6\xe0\xb7\xce\xf2\x9a\x5a\x63\x5a\x5a\x20\x2d\x72\xa9\x9e\x29\x81\x17\x4b\x82\x73\xbb\xda\xe9\x98\xd0\xae\xfa\x4f\x55\x4a\x33\xe2\xdb\xc6\xc9\xe5\xf9\xeb\x1a\x25\x47\x35\x00\xdf\xae\xfb\x80\xfa\x04\xd7\x28\x76\x79\x46\xc3\xed\x7e\xca\x14\x92\x7f\xb6\x1b\x4d\xad\x64\xba\x55\x07\xd6\xab\xec\x7d\x33\x40\xdf\x0b\xed\x25\x78\xd3\xa5\xdb\x97\x90\x5b\x64\xa4\xa5\xaa\x9f\x33\x46\x97\xb3\x20\x0f\x5d\xd5\x70\x40\x21\x93\x8a\x78\x27\x4a\x4a\xe5\x1a\xd1\xb7\x60\x95\x91\x33\xd9\x01\xfe\x4e\x27\x17\x38\xae\xec\x2c\xcc\x8c\xb8\x17\xfa\x0e\x64\xb7\x97\xd0\xbd\xec\xde\x54\x91\xc0\xee\x8d\xdb\x0f\x21\x36\xaf\x79\x87\x11\x7c\x15\xc4\x8f\x11\xbc\x89\xa7\x07\xc1\xb7\x85\xf1\xd8\xe6\x78\x5d\x78\xa7\x16\xa7\x92\x06\x5f\xa5\x93\x49\xc3\x21\xb9\xee\x7b\xc2\x9d\x8c\xff\x3e\xc5\x0f\xe5\x7f\xdf\x67\x39\xb6\x44\x60\x13\x50\xef\x7b\x3a\x0a\x6c\xb5\x0c\xf4\x03\xdb\x81\x4a\xd0\x7a\x7b\x6b\x58\xf8\x9e\x26\xf4\x78\x0b\xdc\x0f\xb2\x5a\x49\x3a\x9d\x1d\xad\x29\xbb\xd2\x39\x4a\x54\xba\x42\x0b\xa7\xb5\xee\x44\x87\x2a\x88\xd7\x8d\x3e\x99\x9f\x4a\x41\x0e\x13\x8f\x8e\x5c\x4e\xd3\xfa\xa8\xd3\x49\x8b\x28\xd5\xb7\xca\xe9\xf4\xa5\x0d\x8a\x8f\x12\x98\x03\xf2\x7e\x47\x6d\xfa\xb4\x20\xea\x8f\xc6\x03\xa2\xba\xe8\xed\xb5\x91\xab\x13\x61\xbc\x65\x1a\xc2\xf1\x7c\x4e\x79\x07\xf8\xa5\xff\x6c\xa4\x15\xfe\x07\x1b\x0d\x6e\x7f\xba\xb7\xa6\x06\xfb\x9f\xa8\xcd\x8e\x7e\xdf\xc1\x3d\x4b\x75\x7d\x3c\x2e\x7e\xf0\xfa\x7f\xb9\xe5\x27\x39\xdb\x1c\xea\xa8\x5e\x48\xf9\x2d\x8c\x02\x32\xda\xf2\xb6\x9f\x88\xf6\x18\x26\xf6\x61\xe0\xda\xc2\x49\xa1\x50\x5f\xef\x40\xe2\x83\xc8\xf8\x99\x18\x02\x86\x52\x32\xe4\x67\x6a\x7a\x93\x4a\xeb\x43\x89\xf5\xd1\x11\xae\xfe\x9b\x57\x88\xe6\x3a\xe8\x5d\x62\xaf\xdb\x4f\x9f\x50\x08\x25\xe3\xe8\xec\xd6\x8f\x2f\x95\x66\x84\xc0\xd7\x2b\xd0\x4a\xf2\xac\x9a\xad\x54\xaf\x5e\xf4\x9d\xe2\x92\x69\x35\xe8\x1a\x8f\x71\x93\x04\x24\xaf\x09\xd5\x76\x1d\x51\x7a\xf6\x74\x4e\x1e\x07\x9d\x55\x1e\x75\xda\x44\x45\x18\x02\x6e\x0c\xb1\x0e\x7d\x67\x09\x83\xc2\x8d\xa1\xd3\x05\x9a\x19\x64\xf5\xcf\xaa\x14\x6f\x03\xfc\x1b\x00\x00\xff\xff\x52\xa1\x56\xee\x9b\x16\x00\x00"
+var _switchboardSetup_royalty_account_by_pathsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x4f\x6f\xe3\xb6\x13\xbd\xfb\x53\xcc\xe6\x90\x9f\x0c\xf8\x27\xdf\x8d\x64\xb7\x89\xdb\x2c\xf6\xd2\x06\x9b\x64\x7b\x58\xe4\x30\x96\x46\x11\x11\x9a\x14\xc8\x51\x5c\x23\xc8\x77\x2f\x48\xfd\x31\x65\x4b\xb1\x9d\xba\xa8\x2e\xb6\x44\xce\x70\xe6\xf1\xf1\x0d\x49\xb1\x2c\xb4\x61\x38\xbb\x29\xd5\x93\x58\x48\xba\xd7\xcf\xa4\xce\x46\xbd\x9f\xef\x56\x82\x93\x7c\xa1\xd1\xa4\x41\x0f\xa9\x57\xdb\x46\x02\xb9\xfe\x34\x1a\x4d\xa7\x53\xb8\xcf\x85\x05\x36\xa8\x2c\x26\x2c\xb4\x02\x61\x01\x81\x69\x59\x48\x64\x82\x4c\x1b\xf7\x1a\xb4\x73\x8e\x0c\x89\x2e\x65\x0a\x0b\x82\xd2\x52\x0a\x8b\x35\x78\x5f\xa8\xd6\x5a\x11\x64\xa5\x94\x6b\xb0\xc4\x65\x01\xa8\x00\x93\x44\x97\x8a\xbd\x2b\x43\x09\x89\x17\xa1\x9e\x60\xa1\x39\x07\x17\x20\xa0\x4a\xe1\xe1\xee\xd7\x39\xb0\x8b\xcb\x02\x32\x70\x4e\x60\x71\x49\xde\x6b\x51\x2e\xa4\x48\xa0\x40\xce\x21\x72\x4e\x84\xb2\x8c\x2a\x21\xdf\xcd\xe8\x35\x4a\x16\x64\x61\x5a\x75\x9c\x7e\x25\x45\x46\x24\x37\xf7\xdf\xfd\x60\x64\xbc\xe9\xd8\xfb\x7a\xb0\x6e\x6c\x67\x87\x69\xfa\x3b\xad\x7e\x60\x29\xf9\x4f\x83\x45\x41\xc6\x5e\xaf\x6f\xdd\x18\x76\x03\x25\x2c\x89\x73\x9d\x02\x4a\xa9\x57\xb6\xc9\x8f\xb5\x4b\xdb\xfb\x4b\xb0\xc0\x85\x90\x82\xd7\xb0\xaa\xbd\x80\x2d\x93\x1c\xd0\x82\x87\xf9\x46\x9b\x15\x9a\xd4\x7d\x77\x61\x13\xa6\xa0\xb3\x2a\x80\x84\x4b\x94\x55\xd2\xf0\xe2\xe2\x88\x47\xa3\x10\xe8\x08\xd3\xd4\x90\xb5\x33\xb8\xaa\xfe\x8c\xe1\x75\x34\x02\x00\x90\xc4\x95\x85\x8b\xd7\xce\xe0\xe7\xad\xcf\xdc\xbd\x3d\x76\x3b\xdc\xaf\x0b\x72\x1d\xdc\xef\xa3\x6b\x69\x9b\x83\x2c\xbf\x53\x36\x03\xc0\x92\xf3\x68\x88\x53\xf1\x1f\x2b\x45\x66\x0c\xe7\x83\x1d\x82\xff\x55\x90\x85\xa1\x02\x0d\x45\x56\x3c\x29\x32\xb3\xca\xff\xb5\x36\x46\xaf\x7e\xa0\x2c\x69\x02\xdf\xac\x2d\xe9\x8e\xb5\xc1\x27\x9a\xb7\x40\xce\xb5\x62\xa3\xa5\x24\x33\x01\x9f\x97\xcd\x37\x8d\x13\xb8\xc3\x17\xaa\xed\x1f\x54\xb1\xdd\x3e\x86\xab\x8a\x6d\x2d\x56\xee\x99\x4e\xe1\xb6\x8a\xc6\x23\xef\xe8\x60\x3d\xed\xd8\xc1\x03\x68\x0c\xae\x2d\xac\x04\xe7\xbe\xbd\x97\x95\x29\x32\xb6\x0e\x2d\xc9\x2c\xde\xcc\x00\x5c\xc2\xcf\xc7\xa1\xc6\xd8\xd1\x42\xa5\x51\x43\xcf\xac\x59\x94\x0d\x3d\xc7\xfb\x2c\xdb\x35\x1b\x7b\xba\x36\x76\xb7\xe5\xe2\xd6\x13\x7b\xd7\xdc\x4f\xfb\x50\x54\xbe\xb1\xf1\xed\x5e\x2e\x7e\x69\x85\xa2\x1a\xe1\x73\x34\x1e\xf4\xba\x65\xd8\x0d\xcd\x1b\x86\xb0\xcf\x73\x4a\x9e\x41\x34\x8c\xaf\x84\x00\xa5\x21\x4c\xd7\x90\xa3\x93\x1a\x0f\xb2\xb7\x6e\x0d\x45\x06\x15\x6b\x62\x5b\xb1\x23\x5e\x78\xde\x5c\x9c\xef\x8c\x97\x19\xbd\x9c\xc1\xd6\xe7\x9a\x53\x1e\x1d\xb8\xbc\x04\x25\x24\xbc\xb6\xde\xeb\xd0\xbe\x65\xa0\x34\x4f\x20\x31\xe4\x84\x0e\x41\xd1\x2a\x08\x06\x0c\x59\x5d\x9a\x84\x3c\x13\x8a\x92\x41\x30\x08\xc5\x1a\xea\x98\x3a\xfe\xb6\xc2\xb5\xf8\x42\xd1\xc5\xff\x37\x61\x55\x83\xfc\xb6\x2c\x78\xed\xbd\x47\x2d\xa0\x33\x18\x44\x72\x02\x9d\x31\x0e\x7f\x58\xbf\x0b\x49\xeb\xf5\x6d\x78\xae\x4c\xa3\x9d\x81\xc2\x09\x0b\x52\xa8\x67\x4a\xc1\x97\x01\xaa\xd0\x32\xa1\xca\x86\x53\xf8\xa9\x06\xa5\xf5\x20\xc8\xc6\x4f\xc4\x17\xe7\xaf\x1d\x15\x89\x1b\x42\xbf\x7d\x3e\x26\xdf\x7d\xcb\xe2\x53\x9c\xb8\x84\xa2\xf1\xee\xd4\x8b\x0c\x04\xff\xcf\x6e\xcd\x7f\x5d\x67\x82\x84\x59\x6f\xd2\x7c\xe9\x30\x14\x6a\x15\xf5\xe2\x30\xc7\x02\x2e\xa1\x2f\xdb\x86\x0f\xc2\x29\x5d\x0f\x7b\x0f\x99\x24\xd8\xd0\xab\xe3\xbb\xd6\xbe\xa8\x09\x61\x02\xc8\x3b\xd3\x3e\xa8\x15\x4d\x02\xcd\xec\xfd\xb7\x39\x04\x51\xf4\xa6\x71\x8d\xd2\x15\xfc\x9d\x2c\xde\xba\x2a\x95\x35\x56\xde\x68\x53\x15\x06\x32\x7b\x9f\x8b\x7b\x65\xf7\x48\x9d\x0b\x0a\x64\xab\x2d\x87\x28\xde\x01\x05\x77\xff\xba\x69\x74\x72\xd0\xd9\x87\x15\xb3\x2f\xad\x7f\x20\x99\xc3\x21\x56\xa3\x06\x5f\xa2\x63\x05\xd2\xcb\xe2\x21\x08\xf4\xf0\xeb\x43\xfa\x78\xb4\x34\x0e\xa4\x73\x1a\x16\x0c\x6f\xee\x02\x6a\xd7\xdb\xc8\x13\xaa\x67\x48\x90\x13\xc8\xcf\x21\x40\x0c\x67\x7a\x22\x75\x3a\x02\xc8\x03\xb8\x14\x78\xa8\x0c\xfd\xfa\xc9\xb8\x87\x64\xc2\x6f\x57\x69\xc3\xb3\xd0\xa9\x3f\x35\x05\x68\x07\x07\xa7\x83\xea\x72\xdb\xe9\xb0\x5d\xfe\xfb\x6c\x6b\x9f\x77\x66\xa3\x8f\x77\x1f\xdc\xf2\xf4\x3e\xff\x06\x87\x77\x28\xdc\x39\x48\x1d\xc7\xe6\x8e\xaf\x93\x82\xde\x3c\xa7\x5e\x0a\xfd\xc9\xee\x59\x15\x7b\x57\xc3\x57\x62\x40\x30\x94\x91\x21\x7f\xae\xd7\xdb\x5c\xee\xd6\xf9\xee\xd9\x75\x03\xf5\x56\xed\x3c\xdd\x89\xf6\x88\x8d\xe9\x51\x95\x76\xaf\xdb\x2f\x5f\xa0\x40\x25\x92\xe8\x6c\xee\x6f\x5c\x94\x66\xa8\xb2\xeb\xc2\x15\x20\x72\x56\x81\x5c\xef\xed\xe9\x2f\x4a\x4a\xa6\xcd\x69\x78\x3a\x85\xab\x34\xf5\xf8\x76\x54\x65\x17\x73\x28\xfd\x65\xc9\xe0\x45\xc9\x68\x70\x46\xe2\x41\x9b\xa8\xa8\x6e\x2c\xb6\x4e\xba\xc7\x16\xf2\xea\x56\x63\xeb\x64\x3a\x81\xf6\xc2\xa4\xfe\x53\xef\xd1\xde\x46\xa3\xb7\x11\xfc\x1d\x00\x00\xff\xff\x0b\x82\x55\xa4\x4e\x13\x00\x00"
 
 func switchboardSetup_royalty_account_by_pathsCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -824,7 +761,7 @@ func switchboardSetup_royalty_account_by_pathsCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/setup_royalty_account_by_paths.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa1, 0x53, 0x31, 0x0, 0x3f, 0xea, 0x51, 0x37, 0x84, 0x1a, 0x32, 0x24, 0x0, 0x4, 0x77, 0x73, 0xaa, 0x14, 0x27, 0xf4, 0x47, 0x50, 0x73, 0x22, 0xe9, 0x7f, 0x78, 0xb7, 0xc9, 0x1b, 0xc, 0x1b}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xff, 0x14, 0x56, 0x4d, 0xc4, 0xbf, 0x61, 0xb2, 0x72, 0x9b, 0x9f, 0x9b, 0xc, 0xb5, 0x79, 0xd4, 0xba, 0xa, 0x41, 0x6f, 0xea, 0xc7, 0x47, 0x10, 0x36, 0x82, 0x29, 0xe1, 0x9, 0x2d, 0xad, 0x39}}
 	return a, nil
 }
 
@@ -999,9 +936,6 @@ var _bindata = map[string]func() (*asset, error){
 	"scripts/metadata/get_vault_data.cdc":                       scriptsMetadataGet_vault_dataCdc,
 	"scripts/metadata/get_vault_display.cdc":                    scriptsMetadataGet_vault_displayCdc,
 	"scripts/metadata/get_vault_supply_view.cdc":                scriptsMetadataGet_vault_supply_viewCdc,
-	"scripts/switchboard/check_receiver_by_type.cdc":            scriptsSwitchboardCheck_receiver_by_typeCdc,
-	"scripts/switchboard/get_vault_types.cdc":                   scriptsSwitchboardGet_vault_typesCdc,
-	"scripts/switchboard/get_vault_types_and_address.cdc":       scriptsSwitchboardGet_vault_types_and_addressCdc,
 	"scripts/test/example_token_vault_display_strict_equal.cdc": scriptsTestExample_token_vault_display_strict_equalCdc,
 	"scripts/tokenForwarder/is_recipient_valid.cdc":             scriptsTokenforwarderIs_recipient_validCdc,
 	"setup_account.cdc":                                         setup_accountCdc,
@@ -1011,7 +945,7 @@ var _bindata = map[string]func() (*asset, error){
 	"switchboard/batch_add_vault_wrapper_capabilities.cdc":      switchboardBatch_add_vault_wrapper_capabilitiesCdc,
 	"switchboard/remove_vault_capability.cdc":                   switchboardRemove_vault_capabilityCdc,
 	"switchboard/safe_transfer_tokens.cdc":                      switchboardSafe_transfer_tokensCdc,
-	"switchboard/safe_transfer_tokens_v2.cdc":                   switchboardSafe_transfer_tokens_v2Cdc,
+	"switchboard/scripts/get_vault_types_and_address.cdc":       switchboardScriptsGet_vault_types_and_addressCdc,
 	"switchboard/setup_account.cdc":                             switchboardSetup_accountCdc,
 	"switchboard/setup_royalty_account.cdc":                     switchboardSetup_royalty_accountCdc,
 	"switchboard/setup_royalty_account_by_paths.cdc":            switchboardSetup_royalty_account_by_pathsCdc,
@@ -1091,11 +1025,6 @@ var _bintree = &bintree{nil, map[string]*bintree{
 			"get_vault_display.cdc": {scriptsMetadataGet_vault_displayCdc, map[string]*bintree{}},
 			"get_vault_supply_view.cdc": {scriptsMetadataGet_vault_supply_viewCdc, map[string]*bintree{}},
 		}},
-		"switchboard": {nil, map[string]*bintree{
-			"check_receiver_by_type.cdc": {scriptsSwitchboardCheck_receiver_by_typeCdc, map[string]*bintree{}},
-			"get_vault_types.cdc": {scriptsSwitchboardGet_vault_typesCdc, map[string]*bintree{}},
-			"get_vault_types_and_address.cdc": {scriptsSwitchboardGet_vault_types_and_addressCdc, map[string]*bintree{}},
-		}},
 		"test": {nil, map[string]*bintree{
 			"example_token_vault_display_strict_equal.cdc": {scriptsTestExample_token_vault_display_strict_equalCdc, map[string]*bintree{}},
 		}},
@@ -1111,7 +1040,9 @@ var _bintree = &bintree{nil, map[string]*bintree{
 		"batch_add_vault_wrapper_capabilities.cdc": {switchboardBatch_add_vault_wrapper_capabilitiesCdc, map[string]*bintree{}},
 		"remove_vault_capability.cdc": {switchboardRemove_vault_capabilityCdc, map[string]*bintree{}},
 		"safe_transfer_tokens.cdc": {switchboardSafe_transfer_tokensCdc, map[string]*bintree{}},
-		"safe_transfer_tokens_v2.cdc": {switchboardSafe_transfer_tokens_v2Cdc, map[string]*bintree{}},
+		"scripts": {nil, map[string]*bintree{
+			"get_vault_types_and_address.cdc": {switchboardScriptsGet_vault_types_and_addressCdc, map[string]*bintree{}},
+		}},
 		"setup_account.cdc": {switchboardSetup_accountCdc, map[string]*bintree{}},
 		"setup_royalty_account.cdc": {switchboardSetup_royalty_accountCdc, map[string]*bintree{}},
 		"setup_royalty_account_by_paths.cdc": {switchboardSetup_royalty_account_by_pathsCdc, map[string]*bintree{}},
diff --git a/tests/example_token_tests.cdc b/tests/example_token_tests.cdc
index 3f55f57a..44e6132d 100644
--- a/tests/example_token_tests.cdc
+++ b/tests/example_token_tests.cdc
@@ -73,15 +73,15 @@ fun testMintTokens() {
     Test.expect(txResult, Test.beSucceeded())
 
     // Test that the proper events were emitted
-    // var typ = Type<ExampleToken.TokensMinted>()
-    // var events = Test.eventsOfType(typ)
-    // Test.assertEqual(1, events.length)
+    var typ = Type<ExampleToken.TokensMinted>()
+    var events = Test.eventsOfType(typ)
+    Test.assertEqual(1, events.length)
 
-    // let tokensMintedEvent = events[0] as! ExampleToken.TokensMinted
-    // Test.assertEqual(250.0, tokensMintedEvent.amount)
+    let tokensMintedEvent = events[0] as! ExampleToken.TokensMinted
+    Test.assertEqual(250.0, tokensMintedEvent.amount)
 
-    var typ = Type<FungibleToken.Deposited>()
-    var events = Test.eventsOfType(typ)
+    typ = Type<FungibleToken.Deposited>()
+    events = Test.eventsOfType(typ)
     Test.assertEqual(1, events.length)
 
     let tokensDepositedEvent = events[0] as! FungibleToken.Deposited
diff --git a/tests/scripts/get_supported_vault_types.cdc b/tests/scripts/get_supported_vault_types.cdc
deleted file mode 100644
index c08fa105..00000000
--- a/tests/scripts/get_supported_vault_types.cdc
+++ /dev/null
@@ -1,14 +0,0 @@
-import "FungibleToken"
-
-/// This scripts returns the supported FungibleToken's type by the provided `target` address.
-/// `target` address should hold the capability which conforms with FungibleToken.Receiver restricted type
-/// while it doesn't matter whether capability refers to fungible token or a custom receiver like 
-/// `FungibleTokenSwitchboard` or `TokenReceiver`. However `targetPath` tells where the capability stores
-access(all) fun main(target: Address, targetPath: PublicPath): {Type: Bool} {
-
-    // Access the capability for the provided target address
-    let capabilityRef = getAccount(target).capabilities.borrow<&{FungibleToken.Receiver}>(targetPath)
-        ?? panic("Unable to borrow capability with restricted sub type {FungibleToken.Receiver} from path".concat(targetPath.toString()))
-    // Return the supported vault types.
-    return capabilityRef.getSupportedVaultTypes()
-}
diff --git a/tests/switchboard_tests.cdc b/tests/switchboard_tests.cdc
index af8b4da4..950af06e 100644
--- a/tests/switchboard_tests.cdc
+++ b/tests/switchboard_tests.cdc
@@ -40,7 +40,7 @@ fun testSetupSwitchboard() {
 
     // Test that the newly-setup switchboard cannot accept any types
     var scriptResult = executeScript(
-        "scripts/get_supported_vault_types.cdc",
+        "../transactions/scripts/get_supported_vault_types.cdc",
         [recipient.address, /public/GenericFTReceiver]
     )
     Test.expect(scriptResult, Test.beSucceeded())
@@ -57,7 +57,7 @@ fun testSetupSwitchboard() {
 
     // Test that the switchboard can now accept one vault type
     scriptResult = executeScript(
-        "scripts/get_supported_vault_types.cdc",
+        "../transactions/scripts/get_supported_vault_types.cdc",
         [recipient.address, /public/GenericFTReceiver]
     )
     Test.expect(scriptResult, Test.beSucceeded())
@@ -65,12 +65,23 @@ fun testSetupSwitchboard() {
     supportedTypes = scriptResult.returnValue! as! {Type: Bool}
     let expectedTypes = {Type<@ExampleToken.Vault>(): true}
     Test.assertEqual(expectedTypes, supportedTypes)
+
+    // Test that the switchboard capability is correct
+    scriptResult = executeScript(
+        "../transactions/switchboard/scripts/get_vault_types_and_address.cdc",
+        [recipient.address]
+    )
+    Test.expect(scriptResult, Test.beSucceeded())
+
+    var typeAddresses = scriptResult.returnValue! as! {Type: Address}
+    let expectedAddresses = {Type<@ExampleToken.Vault>(): recipient.address}
+    Test.assertEqual(expectedAddresses, typeAddresses)
 }
 
 access(all)
 fun testUseSwitchboard() {
     var txResult = executeTransaction(
-        "../transactions/switchboard/safe_transfer_tokens_v2.cdc",
+        "../transactions/switchboard/safe_transfer_tokens.cdc",
         [recipient.address, 10.0],
         admin
     )
@@ -112,7 +123,7 @@ fun testRemoveVaultTypeFromSwitchboard() {
 
     // Test that the switchboard can now accept zero vault types
     let scriptResult = executeScript(
-        "scripts/get_supported_vault_types.cdc",
+        "../transactions/scripts/get_supported_vault_types.cdc",
         [recipient.address, /public/GenericFTReceiver]
     )
     Test.expect(scriptResult, Test.beSucceeded())
@@ -130,6 +141,14 @@ fun testUseSwitchboardWithForwarder() {
     )
     Test.expect(txResult, Test.beSucceeded())
 
+    // Fail with invalid capability
+    txResult = executeTransaction(
+        "../transactions/switchboard/add_vault_wrapper_capability.cdc",
+        [],
+        recipient
+    )
+    Test.expect(txResult, Test.beSucceeded())
+
     txResult = executeTransaction(
         "../transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc",
         [recipient.address],
@@ -137,9 +156,16 @@ fun testUseSwitchboardWithForwarder() {
     )
     Test.expect(txResult, Test.beSucceeded())
 
+    txResult = executeTransaction(
+        "../transactions/switchboard/batch_add_vault_capabilities.cdc",
+        [recipient.address],
+        recipient
+    )
+    Test.expect(txResult, Test.beSucceeded())
+
     // Test that the switchboard can now accept one vault types
     var scriptResult = executeScript(
-        "scripts/get_supported_vault_types.cdc",
+        "../transactions/scripts/get_supported_vault_types.cdc",
         [recipient.address, /public/GenericFTReceiver]
     )
     Test.expect(scriptResult, Test.beSucceeded())
diff --git a/transactions/create_forwarder.cdc b/transactions/create_forwarder.cdc
index aa0648e1..df3e5ff8 100644
--- a/transactions/create_forwarder.cdc
+++ b/transactions/create_forwarder.cdc
@@ -34,9 +34,6 @@ transaction(receiver: Address) {
 
         let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
-    
-        let vaultRef = signer.capabilities.borrow<&ExampleToken.Vault>(vaultData.metadataPath)
-            ?? panic("Could not borrow Balance reference to the Vault")
 
         // Get the receiver capability for the account being forwarded to
         let recipient = getAccount(receiver).capabilities.get<&{FungibleToken.Receiver}>(vaultData.receiverPath)
diff --git a/transactions/generic_transfer_with_address.cdc b/transactions/generic_transfer_with_address.cdc
index f98bc884..486036e1 100644
--- a/transactions/generic_transfer_with_address.cdc
+++ b/transactions/generic_transfer_with_address.cdc
@@ -5,7 +5,7 @@ import "FungibleTokenMetadataViews"
 /// This lets you choose the token you want to send
 ///
 /// Any contract can be chosen here, so wallets should check argument values
-/// to make sure the intended token path is passed in
+/// to make sure the intended token contract name and address is passed in
 ///
 transaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {
 
diff --git a/transactions/scripts/get_supported_vault_types.cdc b/transactions/scripts/get_supported_vault_types.cdc
index 0a2c31a2..c08fa105 100644
--- a/transactions/scripts/get_supported_vault_types.cdc
+++ b/transactions/scripts/get_supported_vault_types.cdc
@@ -11,4 +11,4 @@ access(all) fun main(target: Address, targetPath: PublicPath): {Type: Bool} {
         ?? panic("Unable to borrow capability with restricted sub type {FungibleToken.Receiver} from path".concat(targetPath.toString()))
     // Return the supported vault types.
     return capabilityRef.getSupportedVaultTypes()
-}
\ No newline at end of file
+}
diff --git a/transactions/scripts/switchboard/check_receiver_by_type.cdc b/transactions/scripts/switchboard/check_receiver_by_type.cdc
deleted file mode 100644
index 0534abbd..00000000
--- a/transactions/scripts/switchboard/check_receiver_by_type.cdc
+++ /dev/null
@@ -1,10 +0,0 @@
-import "FungibleTokenSwitchboard"
-import "ExampleToken"
-
-access(all) fun main(switchboard: Address): Bool {
-let switchboardRef = getAccount(switchboard)
-    .getCapability<&{FungibleTokenSwitchboard.SwitchboardPublic}>(FungibleTokenSwitchboard.PublicPath)
-    .borrow() 
-    ?? panic("Unable to borrow capability with restricted type of {FungibleTokenSwitchboard.SwitchboardPublic} from ".concat(switchboard.toString()).concat( "account"))
-    return switchboardRef.checkReceiverByType(type: Type<@ExampleToken.Vault>())
-}
\ No newline at end of file
diff --git a/transactions/scripts/switchboard/get_vault_types.cdc b/transactions/scripts/switchboard/get_vault_types.cdc
deleted file mode 100644
index ee8c424e..00000000
--- a/transactions/scripts/switchboard/get_vault_types.cdc
+++ /dev/null
@@ -1,18 +0,0 @@
-import "FungibleToken"
-import "FungibleTokenSwitchboard"
-
-// This script reads the stored vault capabilities from a switchboard on the
-// passed account
-access(all) fun main(account: Address): [Type] {
-
-    let acct = getAccount(account)
-
-    // Get a reference to the switchboard conforming to SwitchboardPublic
-    let switchboardRef = acct.getCapability(FungibleTokenSwitchboard.PublicPath)
-        .borrow<&FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic}>()
-        ?? panic("Could not borrow reference to switchboard")
-
-    // Return the result of `getVaultTypes()`
-    return switchboardRef.getVaultTypes()
-
-}
diff --git a/transactions/scripts/tokenForwarder/is_recipient_valid.cdc b/transactions/scripts/tokenForwarder/is_recipient_valid.cdc
index e66967da..58d7fe42 100644
--- a/transactions/scripts/tokenForwarder/is_recipient_valid.cdc
+++ b/transactions/scripts/tokenForwarder/is_recipient_valid.cdc
@@ -1,10 +1,8 @@
-import TokenForwarding from "TokenForwarding"
+import "TokenForwarding"
 
 access(all) fun main(addr: Address, tokenForwardingPath: PublicPath): Bool {
     let forwarderRef = getAccount(addr)
-                       .getCapability<&{TokenForwarding.ForwarderPublic}>(tokenForwardingPath)
-                       .borrow()
-                       ?? panic("Unable to borrow {TokenForwarding.ForwarderPublic} restrict type from a capability")
+                       .capabilities.borrow<&{TokenForwarding.ForwarderPublic}>(tokenForwardingPath)
 
     return forwarderRef.check()
 }
\ No newline at end of file
diff --git a/transactions/switchboard/add_vault_capability.cdc b/transactions/switchboard/add_vault_capability.cdc
index 957e299a..36f27336 100644
--- a/transactions/switchboard/add_vault_capability.cdc
+++ b/transactions/switchboard/add_vault_capability.cdc
@@ -9,7 +9,7 @@ import "FungibleTokenMetadataViews"
 transaction {
 
     let exampleTokenVaultCapability: Capability<&{FungibleToken.Receiver}>
-    let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
+    let switchboardRef:  auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard
 
     prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
 
@@ -65,7 +65,7 @@ transaction {
             signer.capabilities.publish(switchboardPublicCap, at: FungibleTokenSwitchboard.PublicPath)
         }
         // Get a reference to the signers switchboard
-        self.switchboardRef = signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(
+        self.switchboardRef = signer.storage.borrow<auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard>(
                 from: FungibleTokenSwitchboard.StoragePath
             ) ?? panic("Could not borrow reference to switchboard")
     
diff --git a/transactions/switchboard/add_vault_wrapper_capability.cdc b/transactions/switchboard/add_vault_wrapper_capability.cdc
index 7974d2dd..4cb3146c 100644
--- a/transactions/switchboard/add_vault_wrapper_capability.cdc
+++ b/transactions/switchboard/add_vault_wrapper_capability.cdc
@@ -5,30 +5,32 @@ import "FungibleTokenMetadataViews"
 
 /// This transaction is a template for a transaction that could be used by anyone to add a new vault wrapper capability
 /// to their switchboard resource
+/// They would just need to change the contract name they are importing from
+/// to the token contract that they want to support with their switchboard
 ///
 transaction {
 
-    let tokenForwarderCapability: Capability<&{FungibleToken.Receiver}>
-    let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
+    let tokenReceiverCapability: Capability<&{FungibleToken.Receiver}>
+    let switchboardRef:  auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard
 
     prepare(signer: auth(BorrowValue) &Account) {
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
         // Get the token forwarder capability from the signer's account
-        self.tokenForwarderCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(
-                vaultData.receiverPath
-            )
+        self.tokenReceiverCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(
+            vaultData.receiverPath
+        ) ?? panic("Could not get receiver capability")
 
         // Check if the receiver capability exists
         assert(
-            self.tokenForwarderCapability.check(),
+            self.tokenReceiverCapability.check(),
             message: "Signer does not have a working fungible token receiver capability"
         )
 
         // Get a reference to the signers switchboard
-        self.switchboardRef = signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(
+        self.switchboardRef = signer.storage.borrow<auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard>(
                 from: FungibleTokenSwitchboard.StoragePath
             ) ?? panic("Could not borrow reference to switchboard")
 
@@ -38,7 +40,7 @@ transaction {
 
         // Add the capability to the switchboard using addNewVault method
         self.switchboardRef.addNewVaultWrapper(
-            capability: self.tokenForwarderCapability,
+            capability: self.tokenReceiverCapability,
             type: Type<@ExampleToken.Vault>()
         )
 
diff --git a/transactions/switchboard/batch_add_vault_capabilities.cdc b/transactions/switchboard/batch_add_vault_capabilities.cdc
index 007de1bb..668093ff 100644
--- a/transactions/switchboard/batch_add_vault_capabilities.cdc
+++ b/transactions/switchboard/batch_add_vault_capabilities.cdc
@@ -9,11 +9,11 @@ transaction (address: Address) {
 
     let exampleTokenVaultPath: PublicPath
     let vaultPaths: [PublicPath]
-    let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
+    let switchboardRef:  auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard
 
     prepare(signer: auth(BorrowValue) &Account) {
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
         // Get the example token vault path from the contract
@@ -25,16 +25,16 @@ transaction (address: Address) {
         self.vaultPaths.append(self.exampleTokenVaultPath)
       
         // Get a reference to the signers switchboard
-        self.switchboardRef = signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(
-                from: FungibleTokenSwitchboard.StoragePath
-            ) ?? panic("Could not borrow reference to switchboard")
+        self.switchboardRef = signer.storage.borrow<auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard>(
+            from: FungibleTokenSwitchboard.StoragePath
+        ) ?? panic("Could not borrow reference to switchboard")
     
     }
 
     execute {
 
         // Add the capability to the switchboard using addNewVault method
-        self.switchboardRef.addNewVaultsByPath (paths: self.vaultPaths, address: address)
+        self.switchboardRef.addNewVaultsByPath(paths: self.vaultPaths, address: address)
 
     }
 
diff --git a/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc b/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
index 051d8d32..a1357190 100644
--- a/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
+++ b/transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc
@@ -9,7 +9,7 @@ transaction (address: Address) {
 
     let vaultPaths: [PublicPath]
     let vaultTypes: [Type]
-    let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
+    let switchboardRef:  auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard
 
     prepare(signer: auth(BorrowValue) &Account) {
 
@@ -27,7 +27,7 @@ transaction (address: Address) {
         self.vaultTypes.append(Type<@ExampleToken.Vault>())
       
         // Get a reference to the signers switchboard
-        self.switchboardRef = signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(
+        self.switchboardRef = signer.storage.borrow<auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard>(
                 from: FungibleTokenSwitchboard.StoragePath
             ) ?? panic("Could not borrow reference to switchboard")
     
diff --git a/transactions/switchboard/remove_vault_capability.cdc b/transactions/switchboard/remove_vault_capability.cdc
index f0e774e3..e308ad43 100644
--- a/transactions/switchboard/remove_vault_capability.cdc
+++ b/transactions/switchboard/remove_vault_capability.cdc
@@ -8,7 +8,7 @@ import "ExampleToken"
 transaction(path: PublicPath) {
 
     let exampleTokenVaultCapabilty: Capability<&{FungibleToken.Receiver}>
-    let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
+    let switchboardRef:  auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard
 
     prepare(signer: auth(BorrowValue) &Account) {
 
@@ -17,7 +17,7 @@ transaction(path: PublicPath) {
             ?? panic("Signer does not have Receiver Capability at given path")
 
         // Get a reference to the signers switchboard
-        self.switchboardRef = signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>(
+        self.switchboardRef = signer.storage.borrow<auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard>(
                 from: FungibleTokenSwitchboard.StoragePath
             ) ?? panic("Could not borrow reference to switchboard")
 
diff --git a/transactions/switchboard/safe_transfer_tokens.cdc b/transactions/switchboard/safe_transfer_tokens.cdc
index 0cd472fc..5adb2057 100644
--- a/transactions/switchboard/safe_transfer_tokens.cdc
+++ b/transactions/switchboard/safe_transfer_tokens.cdc
@@ -3,12 +3,10 @@ import "FungibleTokenSwitchboard"
 import "ExampleToken"
 import "FungibleTokenMetadataViews"
 
-// This transaction is a template for a transaction that could be used by anyone 
-// to send tokens to another account through a switchboard using the safeDeposit
-// method. This method will not panic if the switchboard does not have the
-// capability to store the desired FT, returning the deposited vault instead.
-// The withdraw amount and the account from getAccount would be the parameters 
-// to the transaction.
+/// This transaction is a template for a transaction that could be used by anyone to send tokens to another account
+/// through a switchboard using the deposit method but before depositing we will explicitly check whether receiving
+/// capability is borrowable or not and if yes then it will deposit the vault to the receiver capability.
+///
 transaction(to: Address, amount: UFix64) {
 
     // The reference to the vault from the payer's account
@@ -16,7 +14,7 @@ transaction(to: Address, amount: UFix64) {
 
     prepare(signer: auth(BorrowValue) &Account) {
 
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>())
+        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
         // Get a reference to the signer's stored vault
@@ -32,19 +30,18 @@ transaction(to: Address, amount: UFix64) {
 
         let sentVault <- self.vaultRef.withdraw(amount: amount)
 
-        // Get a reference to the recipient's Switchboard Receiver
-        let switchboardRef = recipient.getCapability(FungibleTokenSwitchboard.PublicPath)
-            .borrow<&FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic}>()
-			?? panic("Could not borrow receiver reference to switchboard!")    
-
-        // Deposit the funds on the switchboard, if the deposit does not complete the method will return the funds
-        // instead of panicking, so we have to recover those funds
-        if let notDepositedVault <- switchboardRef.safeDeposit(from: <- sentVault.withdraw(amount: amount)){
-            self.vaultRef.deposit(from: <-notDepositedVault)
+        // Get a reference to the recipient's SwitchboardPublic
+        let switchboardRef = recipient.capabilities.borrow<&{FungibleTokenSwitchboard.SwitchboardPublic}>(
+                FungibleTokenSwitchboard.PublicPath
+            ) ?? panic("Could not borrow receiver reference to switchboard!")    
+
+        // Validate the receiving capability by using safeBorrowByType
+        if let receivingRef = switchboardRef.safeBorrowByType(type: Type<@ExampleToken.Vault>()) {
+            switchboardRef.deposit(from: <-sentVault)
+        } else {
+            // Return funds to signer's account if receiver is not configured to receive the funds
+            self.vaultRef.deposit(from: <-sentVault)
         }
-
-        destroy self.sentVault
-
     }
 
 }
diff --git a/transactions/switchboard/safe_transfer_tokens_v2.cdc b/transactions/switchboard/safe_transfer_tokens_v2.cdc
deleted file mode 100644
index 5adb2057..00000000
--- a/transactions/switchboard/safe_transfer_tokens_v2.cdc
+++ /dev/null
@@ -1,47 +0,0 @@
-import "FungibleToken"
-import "FungibleTokenSwitchboard"
-import "ExampleToken"
-import "FungibleTokenMetadataViews"
-
-/// This transaction is a template for a transaction that could be used by anyone to send tokens to another account
-/// through a switchboard using the deposit method but before depositing we will explicitly check whether receiving
-/// capability is borrowable or not and if yes then it will deposit the vault to the receiver capability.
-///
-transaction(to: Address, amount: UFix64) {
-
-    // The reference to the vault from the payer's account
-    let vaultRef: auth(FungibleToken.Withdraw) &ExampleToken.Vault
-
-    prepare(signer: auth(BorrowValue) &Account) {
-
-        let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
-            ?? panic("Could not get vault data view for the contract")
-
-        // Get a reference to the signer's stored vault
-        self.vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &ExampleToken.Vault>(from: vaultData.storagePath)
-			?? panic("Could not borrow reference to the owner's Vault!")
-
-    }
-
-    execute {
-
-        // Get the recipient's public account object
-        let recipient = getAccount(to)
-
-        let sentVault <- self.vaultRef.withdraw(amount: amount)
-
-        // Get a reference to the recipient's SwitchboardPublic
-        let switchboardRef = recipient.capabilities.borrow<&{FungibleTokenSwitchboard.SwitchboardPublic}>(
-                FungibleTokenSwitchboard.PublicPath
-            ) ?? panic("Could not borrow receiver reference to switchboard!")    
-
-        // Validate the receiving capability by using safeBorrowByType
-        if let receivingRef = switchboardRef.safeBorrowByType(type: Type<@ExampleToken.Vault>()) {
-            switchboardRef.deposit(from: <-sentVault)
-        } else {
-            // Return funds to signer's account if receiver is not configured to receive the funds
-            self.vaultRef.deposit(from: <-sentVault)
-        }
-    }
-
-}
diff --git a/transactions/scripts/switchboard/get_vault_types_and_address.cdc b/transactions/switchboard/scripts/get_vault_types_and_address.cdc
similarity index 100%
rename from transactions/scripts/switchboard/get_vault_types_and_address.cdc
rename to transactions/switchboard/scripts/get_vault_types_and_address.cdc
diff --git a/transactions/switchboard/setup_royalty_account.cdc b/transactions/switchboard/setup_royalty_account.cdc
index 31fce029..6adcf5b7 100644
--- a/transactions/switchboard/setup_royalty_account.cdc
+++ b/transactions/switchboard/setup_royalty_account.cdc
@@ -4,87 +4,68 @@ import "FlowToken"
 import "FiatToken"
 
 
-// This transaction is a template for a transaction that could be used by 
-// anyone fully setup an account for receiving both Flow and USDC tokens at the same
-// public path (for instance the royalties /public/GenericFTReceiver path)
-// Using the addNewVaultWrappersByPath switchboard method allows anyone to use
-// capability wrappers such as TokenForwarders instead of the actual token vault.
+/// This transaction is a template for a transaction that could be used by 
+/// anyone fully setup an account for receiving both Flow and USDC tokens at the same
+/// public path (for instance the royalties /public/GenericFTReceiver path)
+/// Using the addNewVaultWrappersByPath switchboard method allows anyone to use
+/// capability wrappers such as TokenForwarders instead of the actual token vault.
 transaction () {
 
     let flowTokenVaultCapability: Capability<&{FungibleToken.Receiver}>
     let fiatTokenVaultCapability: Capability<&{FungibleToken.Receiver}>   
-    let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
+    let switchboardRef:  auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) Account) {
 
-        // Check if the account already has a Flow Vault
-        if signer.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault) == nil {
-            // If not, create a new Flow Vault resource and put it into storage
-            signer.save(<- FlowToken.createEmptyVault(vaultType: Type<@FlowToken.Vault>()), to: /storage/flowTokenVault)
-        }
-        // Check if the receiver capability is linked on the flow receiver path
-        if !signer.getCapability<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
-                                                                           .check() {
-            // if it's not, create a public capability to the flow vault exposing 
-            // the deposit function through the {FungibleToken.Receiver} interface
-            signer.unlink(/public/flowTokenReceiver)
-            signer.link<&FlowToken.Vault>(/public/flowTokenReceiver, 
-                                                     target: /storage/flowTokenVault)
-        }
-        self.flowTokenVaultCapability = signer.getCapability<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
+        self.flowTokenVaultCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
+            ?? panic("Signer does not have a FlowToken receiver capability")
 
         // Check if the account already has a USDC Vault
-        if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) == nil {
+        if signer.storage.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) == nil {
             // If not, create a new USDC Vault resource and put it into storage
-            signer.save(<- FiatToken.createEmptyVault(vaultType: Type<@FiatToken.Vault>()), 
+            signer.storage.save(<-FiatToken.createEmptyVault(vaultType: Type<@FiatToken.Vault>()), 
                                                       to: FiatToken.VaultStoragePath)
         }
         // Check if the receiver capability is linked on the USDC receiver path
-        if !signer.getCapability<&{FungibleToken.Receiver}>
-                                           (FiatToken.VaultReceiverPubPath).check() {
-            // if it's not, create a public capability to the USDC vault exposing 
-            // the deposit function through the {FungibleToken.Receiver} interface
-            signer.unlink(FiatToken.VaultReceiverPubPath)
-            signer.link<&FiatToken.Vault>(FiatToken.VaultReceiverPubPath, 
-                                                  target: FiatToken.VaultStoragePath)
+        if !signer.capabilities.get<&{FungibleToken.Receiver}>
+                                           (FiatToken.VaultReceiverPubPath)!.check() {
+            // if it's not, create a public capability to the USDC vault
+            let tokenCap = signer.capabilities.storage.issue<&FiatToken.Vault>(FiatToken.VaultStoragePath)
+            signer.capabilities.publish(tokenCap, at: FiatToken.VaultReceiverPubPath)
+            let receiverCap = signer.capabilities.storage.issue<&FiatToken.Vault>(FiatToken.VaultStoragePath)
+            signer.capabilities.publish(receiverCap, at: FiatToken.VaultBalancePubPath)
         }
-        self.fiatTokenVaultCapability = signer.getCapability<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath)
+        self.fiatTokenVaultCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath)
         
         // Check if the account already has a Switchboard resource
-        if signer.borrow<&FungibleTokenSwitchboard.Switchboard>
+        if signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>
                                 (from: FungibleTokenSwitchboard.StoragePath) == nil {
             // If not, create a new Switchboard resource and put it into storage
-            signer.save(<- FungibleTokenSwitchboard.createSwitchboard(), 
+            signer.storage.save(<- FungibleTokenSwitchboard.createSwitchboard(), 
                                             to: FungibleTokenSwitchboard.StoragePath)
         }
         // Check if the receiver capability is linked on the receiver path
-        if !signer.getCapability
+        if !signer.capabilities.get
                       <&FungibleTokenSwitchboard.Switchboard>
-                              (FungibleTokenSwitchboard.ReceiverPublicPath).check() {
-            // if it's not, create a public capability to the Switchboard exposing 
-            // the deposit function through the {FungibleToken.Receiver} interface
-            signer.unlink(FungibleTokenSwitchboard.ReceiverPublicPath)
-            signer.link<&FungibleTokenSwitchboard.Switchboard>(
-                                         FungibleTokenSwitchboard.ReceiverPublicPath,
-                                        target: FungibleTokenSwitchboard.StoragePath)
+                              (FungibleTokenSwitchboard.ReceiverPublicPath)!.check() {
+            // if it's not, create a public capability to the Switchboard 
+            let receiverCap = signer.capabilities.storage.issue<&FungibleTokenSwitchboard.Switchboard>(FungibleTokenSwitchboard.StoragePath)
+            signer.capabilities.publish(receiverCap, at: FungibleTokenSwitchboard.ReceiverPublicPath)
         }
         // Check if the SwitchboardPublic and ft receiver capabilities are linked on
         // the switchboard public path
-        if !signer.getCapability<
+        if !signer.capabilities.get<
         &FungibleTokenSwitchboard.Switchboard
-                                       >(FungibleTokenSwitchboard.ReceiverPublicPath)
+                                       >(FungibleTokenSwitchboard.ReceiverPublicPath)!
                                                                            .check() {
-            // if it's not, create a public capability to the Switchboard exposing 
-            // both the {FungibleTokenSwitchboard.SwitchboardPublic} and the 
-            // {FungibleToken.Receiver} interfaces
-            signer.unlink(FungibleTokenSwitchboard.PublicPath)
-            signer.link<
+            // if it's not, create a public capability to the Switchboard
+            let switchboardReceiverCap = signer.capabilities.storage.issue<
             &FungibleTokenSwitchboard.Switchboard
-                                               >(FungibleTokenSwitchboard.PublicPath,
-                                        target: FungibleTokenSwitchboard.StoragePath)
+                                               >(FungibleTokenSwitchboard.StoragePath)
+            signer.capabilities.publish(switchboardReceiverCap, at: FungibleTokenSwitchboard.PublicPath)
         }
         // Get a reference to the switchboard
-        self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
+        self.switchboardRef = signer.storage.borrow<auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard>
                                          (from: FungibleTokenSwitchboard.StoragePath) 
                                 ?? panic("Could not borrow reference to switchboard")
 
diff --git a/transactions/switchboard/setup_royalty_account_by_paths.cdc b/transactions/switchboard/setup_royalty_account_by_paths.cdc
index b6b2ba51..79b4e83e 100644
--- a/transactions/switchboard/setup_royalty_account_by_paths.cdc
+++ b/transactions/switchboard/setup_royalty_account_by_paths.cdc
@@ -4,18 +4,19 @@ import "FlowToken"
 import "FiatToken"
 
 
-// This transaction is a template for a transaction that could be used by 
-// anyone fully setup an account for receiving both Flow and USDC tokens at the same
-// public path (for instance the royalties /public/GenericFTReceiver path)
-// Using the addNewVaultWrappersByPath switchboard method allows anyone to use
-// capability wrappers such as TokenForwarders instead of the actual token vault.
+/// This transaction is a template for a transaction that could be used by 
+/// anyone fully setup an account for receiving both Flow and USDC tokens at the same
+/// public path (for instance the royalties /public/GenericFTReceiver path)
+/// Using the addNewVaultWrappersByPath switchboard method allows anyone to use
+/// capability wrappers such as TokenForwarders instead of the actual token vault.
+
 transaction (address: Address) {
 
     let vaultPaths: [PublicPath]
     let vaultTypes: [Type]    
-    let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
+    let switchboardRef:  auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard
 
-    prepare(signer: AuthAccount) {
+    prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) Account) {
 
         // Prepare the paths and types arrays with the Flow and USDC tokens data
         self.vaultPaths = []
@@ -25,75 +26,55 @@ transaction (address: Address) {
         self.vaultTypes.append(Type<@FlowToken.Vault>())
         self.vaultTypes.append(Type<@FiatToken.Vault>())
 
-        // Check if the account already has a Flow Vault
-        if signer.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault) == nil {
-            // If not, create a new Flow Vault resource and put it into storage
-            signer.save(<- FlowToken.createEmptyVault(vaultType: Type<@FlowToken.Vault>()), to: /storage/flowTokenVault)
-        }
-        // Check if the receiver capability is linked on the flow receiver path
-        if !signer.getCapability<&{FungibleToken.Receiver}>(/public/flowTokenReceiver)
-                                                                           .check() {
-            // if it's not, create a public capability to the flow vault exposing 
-            // the deposit function through the {FungibleToken.Receiver} interface
-            signer.unlink(/public/flowTokenReceiver)
-            signer.link<&FlowToken.Vault>(/public/flowTokenReceiver, 
-                                                     target: /storage/flowTokenVault)
-        }
-
         // Check if the account already has a USDC Vault
-        if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) == nil {
+        if signer.storage.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) == nil {
             // If not, create a new USDC Vault resource and put it into storage
-            signer.save(<- FiatToken.createEmptyVault(vaultType: Type<@FiatToken.Vault>()), 
+            signer.storage.save(<-FiatToken.createEmptyVault(vaultType: Type<@FiatToken.Vault>()), 
                                                       to: FiatToken.VaultStoragePath)
         }
+
         // Check if the receiver capability is linked on the USDC receiver path
-        if !signer.getCapability<&{FungibleToken.Receiver}>
-                                           (FiatToken.VaultReceiverPubPath).check() {
-            // if it's not, create a public capability to the USDC vault exposing 
-            // the deposit function through the {FungibleToken.Receiver} interface
-            signer.unlink(FiatToken.VaultReceiverPubPath)
-            signer.link<&FiatToken.Vault>(FiatToken.VaultReceiverPubPath, 
-                                                  target: FiatToken.VaultStoragePath)
+        if !signer.capabilities.get<&{FungibleToken.Receiver}>
+                                           (FiatToken.VaultReceiverPubPath)!.check() {
+            // if it's not, create a public capability to the USDC vault
+            let tokenCap = signer.capabilities.storage.issue<&FiatToken.Vault>(FiatToken.VaultStoragePath)
+            signer.capabilities.publish(tokenCap, at: FiatToken.VaultReceiverPubPath)
+            let receiverCap = signer.capabilities.storage.issue<&FiatToken.Vault>(FiatToken.VaultStoragePath)
+            signer.capabilities.publish(receiverCap, at: FiatToken.VaultBalancePubPath)
         }
+        self.fiatTokenVaultCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(FiatToken.VaultReceiverPubPath)
 
         // Check if the account already has a Switchboard resource
-        if signer.borrow<&FungibleTokenSwitchboard.Switchboard>
+        if signer.storage.borrow<&FungibleTokenSwitchboard.Switchboard>
                                 (from: FungibleTokenSwitchboard.StoragePath) == nil {
             // If not, create a new Switchboard resource and put it into storage
-            signer.save(<- FungibleTokenSwitchboard.createSwitchboard(), 
+            signer.storage.save(<- FungibleTokenSwitchboard.createSwitchboard(), 
                                             to: FungibleTokenSwitchboard.StoragePath)
         }
         // Check if the receiver capability is linked on the receiver path
-        if !signer.getCapability
+        if !signer.capabilities.get
                       <&FungibleTokenSwitchboard.Switchboard>
-                              (FungibleTokenSwitchboard.ReceiverPublicPath).check() {
-            // if it's not, create a public capability to the Switchboard exposing 
-            // the deposit function through the {FungibleToken.Receiver} interface
-            signer.unlink(FungibleTokenSwitchboard.ReceiverPublicPath)
-            signer.link<&FungibleTokenSwitchboard.Switchboard>(
-                                         FungibleTokenSwitchboard.ReceiverPublicPath,
-                                        target: FungibleTokenSwitchboard.StoragePath)
+                              (FungibleTokenSwitchboard.ReceiverPublicPath)!.check() {
+            // if it's not, create a public capability to the Switchboard 
+            let receiverCap = signer.capabilities.storage.issue<&FungibleTokenSwitchboard.Switchboard>(FungibleTokenSwitchboard.StoragePath)
+            signer.capabilities.publish(receiverCap, at: FungibleTokenSwitchboard.ReceiverPublicPath)
         }
         // Check if the SwitchboardPublic and ft receiver capabilities are linked on
         // the switchboard public path
-        if !signer.getCapability<
+        if !signer.capabilities.get<
         &FungibleTokenSwitchboard.Switchboard
-                                       >(FungibleTokenSwitchboard.ReceiverPublicPath)
+                                       >(FungibleTokenSwitchboard.ReceiverPublicPath)!
                                                                            .check() {
-            // if it's not, create a public capability to the Switchboard exposing 
-            // both the {FungibleTokenSwitchboard.SwitchboardPublic} and the 
-            // {FungibleToken.Receiver} interfaces
-            signer.unlink(FungibleTokenSwitchboard.PublicPath)
-            signer.link<
+            // if it's not, create a public capability to the Switchboard
+            let switchboardReceiverCap = signer.capabilities.storage.issue<
             &FungibleTokenSwitchboard.Switchboard
-                                               >(FungibleTokenSwitchboard.PublicPath,
-                                        target: FungibleTokenSwitchboard.StoragePath)
+                                               >(FungibleTokenSwitchboard.StoragePath)
+            signer.capabilities.publish(switchboardReceiverCap, at: FungibleTokenSwitchboard.PublicPath)
         }
         // Get a reference to the switchboard
-        self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
+        self.switchboardRef = signer.storage.borrow<auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard>
                                          (from: FungibleTokenSwitchboard.StoragePath) 
                                 ?? panic("Could not borrow reference to switchboard")
-
     }
 
     execute {

From ae404658095d7164604143b030451e5ebd48477f Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 29 Mar 2024 14:47:10 -0500
Subject: [PATCH 104/115] remove old code samples in the README and add links

---
 README.md | 192 +++---------------------------------------------------
 1 file changed, 10 insertions(+), 182 deletions(-)

diff --git a/README.md b/README.md
index 61f9106f..6739426e 100644
--- a/README.md
+++ b/README.md
@@ -261,65 +261,15 @@ and playground and you can import definition from those accounts:
  
  1. Adding a single capability using `addNewVault(capability: Capability<&{FungibleToken.Receiver}>)`
     * Before calling this method on a transaction you should first retrieve the capability to the token's vault you are
-    willing to add to the switchboard, as is done in the template transaction `transactions/switchboard/add_vault_capability.cdc`.
-
-    ```cadence
-    transaction {
-        let exampleTokenVaultCapabilty: Capability<&{FungibleToken.Receiver}>
-        let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
-
-        prepare(signer: AuthAccount) {
-          // Get the example token vault capability from the signer's account
-          self.exampleTokenVaultCapability = 
-            signer.getCapability<&{FungibleToken.Receiver}>
-                                    (ExampleToken.ReceiverPublicPath)
-          // Get a reference to the signers switchboard
-          self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
-            (from: FungibleTokenSwitchboard.StoragePath) 
-              ?? panic("Could not borrow reference to switchboard")
-        }
-
-        execute {
-          // Add the capability to the switchboard using addNewVault method
-          self.switchboardRef.addNewVault(capability: self.exampleTokenVaultCapability)
-        }
-    }
-    ```
+    willing to add to the switchboard, as is done in the template transaction [`transactions/switchboard/add_vault_capability.cdc`](./transactions/switchboard/add_vault_capability.cdc).
+
     This function will panic if is not possible to `.borrow()` a reference
     to a `&{FungibleToken.Receiver}` from the passed capability.
-    It will also panic if there is already a capability stored
-    for the same `Type` of resource exposed by the capability.
 
- 2. Adding one or more capabilities using the paths where they are stored using `addNewVaultsByPath(paths: [PublicPath], address: Address)`
+ 2. Adding one or more capabilities using the paths where they are stored using `addNewVaultsByPath(paths: [PublicPath], address: Address)`. This is shown in
+    the [`batch_add_vault_wrapper_capabilities.cdc` transaction](./transactions/switchboard/batch_add_vault_wrapper_capabilities.cdc)
     * When using this method, an array of `PublicPath` objects should be passed along with the `Address` of the account from where the vaults' capabilities should be retrieved.
 
-    ```cadence
-    transaction (address: Address) {
-
-        let exampleTokenVaultPath: PublicPath
-        let vaultPaths: [PublicPath]
-        let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
-
-        prepare(signer: AuthAccount) {
-          // Get the example token vault path from the contract
-          self.exampleTokenVaultPath = ExampleToken.ReceiverPublicPath
-          // And store it in the array of public paths that will be passed to the
-          // switchboard method
-          self.vaultPaths = []
-          self.vaultPaths.append(self.exampleTokenVaultPath)
-          // Get a reference to the signers switchboard
-          self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
-            (from: FungibleTokenSwitchboard.StoragePath) 
-              ?? panic("Could not borrow reference to switchboard")
-        }
-
-        execute {
-          // Add the capability to the switchboard using addNewVault method
-          self.switchboardRef.addNewVaultsByPath(paths: self.vaultPaths, 
-                                                        address: address)
-        }
-    }
-    ```
     This function won't panic, instead it will just not add to the `@Switchboard`
     any capability which can not be retrieved from any of the provided `PublicPath`s.
     It will also ignore any type of `&{FungibleToken.Receiver}` that is already present on the `@Switchboard`
@@ -329,115 +279,27 @@ and playground and you can import definition from those accounts:
   This method can be used to link a token forwarder or any other wrapper to the switchboard. 
   Once the `Forwarder` has been properly created containing the capability to an actual `@FungibleToken.Vault`,
   this method can be used to link the `@Forwarder` to the switchboard to deposit the specified type of Fungible Token.
-  In the template transaction  `switchboard/add_vault_wrapper_capability.cdc`,
+  In [the template transaction  `switchboard/add_vault_wrapper_capability.cdc`](./transactions/switchboard/add_vault_wrapper_capability.cdc),
   we assume that the signer has a forwarder containing a capability to an `@ExampleToken.Vault` resource:
 
-  ```cadence
-  transaction {
-
-    let tokenForwarderCapability: Capability<&{FungibleToken.Receiver}>
-    let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
-
-    prepare(signer: AuthAccount) {
-
-        // Get the token forwarder capability from the signer's account
-        self.tokenForwarderCapability = 
-            signer.getCapability<&{FungibleToken.Receiver}>
-                                (ExampleToken.ReceiverPublicPath)
-        
-        // Check if the receiver capability exists
-        assert(self.tokenForwarderCapability.check(), 
-            message: "Signer does not have a working fungible token receiver capability")
-        
-        // Get a reference to the signers switchboard
-        self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
-            (from: FungibleTokenSwitchboard.StoragePath) 
-            ?? panic("Could not borrow reference to switchboard")
-    
-    }
-
-    execute {
-
-        // Add the capability to the switchboard using addNewVault method
-        self.switchboardRef.addNewVaultWrapper(capability: self.tokenForwarderCapability, type: Type<@ExampleToken.Vault>())
-    
-    }
-
-  }
-  ```
-
  ## Removing a vault from the switchboard
  If a user no longer wants to be able to receive deposits from a certain FT,
  or if they want to update the provided capability for one of them,
  they will need to remove the vault from the switchboard.
  This can be accomplished by using `removeVault(capability: Capability<&{FungibleToken.Receiver}>)`. 
-This can be observed in the template transaction `transactions/switchboard/remove_vault_capability.cdc`:
- ```cadence
- transaction {
-    let exampleTokenVaultCapabilty: Capability<&{FungibleToken.Receiver}>
-    let switchboardRef:  &FungibleTokenSwitchboard.Switchboard
-
-    prepare(signer: AuthAccount) {
-      // Get the example token vault capability from the signer's account
-      self.exampleTokenVaultCapability = signer.getCapability
-                    <&{FungibleToken.Receiver}>(ExampleToken.ReceiverPublicPath)
-      // Get a reference to the signers switchboard  
-      self.switchboardRef = signer.borrow<&FungibleTokenSwitchboard.Switchboard>
-        (from: FungibleTokenSwitchboard.StoragePath) 
-          ?? panic("Could not borrow reference to switchboard")
-
-    }
-
-    execute {
-      // Remove the capability from the switchboard using the 
-      // removeVault method
-      self.switchboardRef.removeVault(capability: self.exampleTokenVaultCapability)
-    }
- }
- ```
+This can be observed in [the template transaction `transactions/switchboard/remove_vault_capability.cdc`](./transactions/switchboard/remove_vault_capability.cdc):
+
  This function will panic if is not possible to `.borrow()` a reference to a `&{FungibleToken.Receiver}` from the passed capability.
 
  ## Transferring tokens through the switchboard
  The Fungible Token Switchboard provides two different ways of depositing tokens to it,
- using the `deposit(from: @FungibleToken.Vault)` method enforced by
+ using the `deposit(from: @{FungibleToken.Vault})` method enforced by
  the `{FungibleToken.Receiver}` or using the `safeDeposit(from: @FungibleToken.Vault): @FungibleToken`:
 
  1. Using the first method will be just the same as depositing to `&{FungibleToken.Receiver}`.
  The path for the Switchboard receiver is defined in `FungibleTokenSwitchboard.ReceiverPublicPath`,
  the generic receiver path `/public/GenericFTReceiver` that can also be obtained from the NFT MetadataViews contract.
- An example of how to do this can be found in the transaction template on this repo `transactions/switchboard/transfer_tokens.cdc`
- ```cadence
- transaction(to: Address, amount: UFix64) {
-    // The Vault resource that holds the tokens that are being transferred
-    let sentVault: @FungibleToken.Vault
-
-    prepare(signer: AuthAccount) {
-
-        // Get a reference to the signer's stored vault
-        let vaultRef = signer.borrow<&ExampleToken.Vault>
-                                    (from: ExampleToken.VaultStoragePath)
-			?? panic("Could not borrow reference to the owner's Vault!")
-
-        // Withdraw tokens from the signer's stored vault
-        self.sentVault <- vaultRef.withdraw(amount: amount)
-    }
-
-    execute {
-
-        // Get the recipient's public account object
-        let recipient = getAccount(to)
-
-        // Get a reference to the recipient's Switchboard Receiver
-        let switchboardRef = recipient.getCapability
-            (FungibleTokenSwitchboard.ReceiverPublicPath)
-            .borrow<&{FungibleToken.Receiver}>()
-			    ?? panic("Could not borrow receiver reference to switchboard!")
-
-        // Deposit the withdrawn tokens in the recipient's switchboard receiver
-        switchboardRef.deposit(from: <-self.sentVault)
-    }
- }
- ```
+ An example of how to do this can be found in the transaction template on this repo [`transactions/switchboard/transfer_tokens.cdc`](./transactions/switchboard/transfer_tokens.cdc).
 
  2. The `safeDeposit(from: @FungibleToken.Vault): @FungibleToken` works in a similar way,
  with the difference that it will not panic if the desired FT Vault
@@ -445,41 +307,7 @@ This can be observed in the template transaction `transactions/switchboard/remov
  empty if the funds were deposited successfully or still containing the funds
  if the transfer of the funds was not possible. Keep in mind that 
  when using this method on a transaction you will always have to deal
- with the returned resource. An example of this can be found on `transactions/switchboard/safe_transfer_tokens.cdc`:
- ```cadence
- transaction(to: Address, amount: UFix64) {
-    // The reference to the vault from the payer's account
-    let vaultRef: &ExampleToken.Vault
-    // The Vault resource that holds the tokens that are being transferred
-    let sentVault: @FungibleToken.Vault
-
-
-    prepare(signer: AuthAccount) {
-
-        // Get a reference to the signer's stored vault
-        self.vaultRef = signer.borrow<&ExampleToken.Vault>(from: ExampleToken.VaultStoragePath)
-			?? panic("Could not borrow reference to the owner's Vault!")
-
-        // Withdraw tokens from the signer's stored vault
-        self.sentVault <- self.vaultRef.withdraw(amount: amount)
-    }
-
-    execute {
-
-        // Get the recipient's public account object
-        let recipient = getAccount(to)
-
-        // Get a reference to the recipient's Switchboard Receiver
-        let switchboardRef = recipient.getCapability(FungibleTokenSwitchboard.PublicPath)
-            .borrow<&FungibleTokenSwitchboard.Switchboard{FungibleTokenSwitchboard.SwitchboardPublic}>()
-			?? panic("Could not borrow receiver reference to switchboard!")
-
-        // Deposit the withdrawn tokens in the recipient's switchboard receiver,
-        // then deposit the returned vault in the signer's vault
-        self.vaultRef.deposit(from: <- switchboardRef.safeDeposit(from: <-self.sentVault))
-    }
- }
- ```
+ with the returned resource. An example of this can be found on [`transactions/switchboard/safe_transfer_tokens.cdc`](./transactions/switchboard/safe_transfer_tokens.cdc):
 
 # Running Automated Tests
 

From ab7b7acd7383ef03d41b373a5699177c42f6aab5 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 2 Apr 2024 10:59:47 -0500
Subject: [PATCH 105/115] add pre-condition to createEmptyVault

---
 contracts/FungibleToken.cdc                | 1 +
 lib/go/contracts/internal/assets/assets.go | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 8e4e9eab..c210072f 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -214,6 +214,7 @@ access(all) contract interface FungibleToken: ViewResolver {
         access(all) fun createEmptyVault(): @{Vault} {
             post {
                 result.balance == 0.0: "The newly created Vault must have zero balance"
+                result.getType() == self.getType(): "The newly created Vault must have the same type as the creating vault"
             }
         }
     }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 2ed406bc..ed47c98f 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken.cdc (9.619kB)
-// ../../../contracts/FungibleToken.cdc (10.088kB)
+// ../../../contracts/FungibleToken.cdc (10.212kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.596kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.111kB)
 // ../../../contracts/utility/Burner.cdc (1.997kB)
@@ -99,7 +99,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x4b\x93\xdb\xc6\x11\xbe\xf3\x57\x74\xad\x0f\x22\x1d\x8a\xeb\x43\x2a\x87\xad\xd8\xb2\x64\x5b\x55\x3a\x38\x95\xb2\x56\xd6\x21\x49\x15\x87\x40\x93\x1c\xef\x60\x06\x9e\x19\x90\x62\xb6\xf6\xbf\xa7\xba\xe7\x01\x0c\x08\xee\xae\x6c\xc5\x17\x71\x81\x99\x7e\x3f\xbe\x6e\xf8\xfa\xeb\xaf\x67\xb3\xaf\xe0\x76\x8f\xf0\x56\x99\x23\xbc\xed\xf4\x4e\x6e\x14\xc2\xad\xb9\x43\x0d\xce\x0b\x5d\x0b\x5b\xcf\x66\x5f\x7d\x05\xeb\xf4\x92\xdf\xad\xa1\x32\xda\x5b\x51\xf9\xd9\x8c\xaf\x4f\xdf\x04\xe9\x40\x1b\x50\x46\xef\xd0\x82\xd0\x20\xb5\x47\xbb\x15\x15\xce\xfc\x5e\x78\x10\x4a\xc1\x36\x5d\xf5\x7c\x35\xd1\x75\x70\x34\x9d\xaa\x61\x2f\x0e\xf4\x8a\x9e\x6f\x8d\x6d\xc0\x9b\xd5\x6c\xf6\x6e\x0b\x02\x3a\x87\xd6\xc1\x51\x68\xef\xe8\x40\x8d\xad\x32\x27\x10\xa0\xf1\x38\xa2\xb5\x04\xbf\x47\x69\x7b\x99\x6b\x83\x24\x98\x07\x8d\x58\xd3\x65\xd9\xb4\x0a\x1b\xd4\x9e\x4e\x42\xa1\x6a\x2f\xf3\x12\x36\x9d\x8f\xa4\x98\x81\x9b\xd5\xe6\x02\x89\x7c\xc9\x41\x8d\x5b\xa9\xb1\x06\xa9\xc1\xef\xa5\xcb\x52\xac\x82\x5d\x7f\x15\x9d\xf2\x6b\xb0\xe8\x4c\x67\xab\xc1\xcd\xd9\xec\x27\x51\xed\xc7\xf6\xc9\xe7\xfc\xa9\x45\x66\xee\xce\xb9\x5f\x26\x1a\x99\xfe\xd3\x9a\x83\xac\xd1\xae\x97\xb0\xfe\x05\x2b\x94\x07\xfe\x2d\x74\x0d\xeb\x37\x42\x09\x5d\xe1\xd4\x6d\xc7\xde\x76\x23\xf5\x2a\x25\x2c\x42\x6b\xf1\x65\x65\x74\x2d\xbd\x34\xda\x31\xa9\xd6\x38\x3f\x7c\xc6\x3e\xb7\xe8\xbc\x95\x95\x9f\x91\xa0\xf8\x09\xab\x8e\x5e\x82\xd9\xb2\xe4\xdb\x4e\x57\xe1\x30\x9b\x0b\x81\x35\x59\x31\xdf\x13\x10\x1f\x87\xad\xb0\xc2\x23\x6c\xb0\x12\x1d\xc9\xe2\x61\x27\x0f\xe8\xf8\x38\x05\x05\xff\x10\x1b\xa9\xa4\x3f\x91\x6d\xdc\x5e\x58\x9c\x09\xb0\xb8\x45\x8b\xba\xe2\x78\x0a\x6e\x64\xea\x41\x2e\xa3\xd5\x09\xf0\x53\x6b\x5c\x24\xb5\x95\xa8\x6a\xd7\x4b\x34\x93\x1a\x8c\x46\x30\x16\x1a\x63\x31\x49\xdc\x9b\x82\x02\x93\x62\xda\x99\x28\x50\x88\xd0\x91\x34\x8d\xb8\x43\xa8\x3a\xe7\x4d\x93\x2d\x1c\x4d\x93\x9d\x48\xb6\x29\xad\x4c\x01\x6e\xe0\x20\xac\x34\x1d\x9d\x96\x7a\xe7\xe0\x28\xfd\x9e\xc9\x87\x68\x5c\xcd\xde\x1a\x0b\xf8\x49\x10\x99\x25\x08\xd8\x8a\xae\x42\x0f\x95\xd0\xb0\xc1\x9e\x3a\xd6\xb0\x39\xa5\x84\x92\x7a\x37\x0b\xe6\x80\x14\x14\x45\xb4\x7c\x7d\x3d\x9b\xc9\xa6\x35\xd6\xc3\xd5\xaf\x12\x8f\xbf\xa0\x33\xea\x80\xf6\x2a\x3f\x7d\xd3\x59\x4d\x7f\xcf\xae\xaf\xaf\xcb\xd4\xa1\x27\xc5\xd3\x58\x1e\xb2\x24\x22\xc6\x8a\xc5\x41\x99\xb0\xf8\x7b\x27\xed\x54\x52\x95\xa9\xc0\x94\x7b\x51\xe1\x23\x82\xf3\x52\xa9\x50\x32\xa4\x07\xe1\x8a\x92\x03\x7b\xb4\x7d\xd4\x78\xfe\x8b\x03\xca\x34\x1c\x37\xdb\x4e\x31\xc9\xce\x07\x5f\x35\xe8\xf7\xa6\x8e\xae\x69\x84\x3e\x41\x6b\xcd\x6f\xc8\xa5\x89\xd8\x04\x66\x54\x7f\x48\x52\x66\x6a\xf4\xa8\xd2\xb8\x25\x93\x8c\x75\x23\x04\xf0\xe6\x44\xca\x36\x28\xb4\xcb\xba\xae\xb8\x14\x86\x20\xe8\x9f\xd2\x6f\x7e\x96\x7d\x1c\x74\x4e\x46\x71\x45\xb2\xf7\x85\x43\x54\x15\x3a\x37\x17\x4a\x2d\xb2\x24\x03\x3b\x14\x3e\xba\x81\xa1\x57\xe1\x7e\x36\x03\x00\xb8\xbe\x86\xd7\x1a\x50\x7b\xe9\xa3\xfd\xb7\xc6\x92\x8c\xe6\x28\xf5\x8e\xd9\x52\xf0\xd5\x56\x1c\x85\xe2\x4c\xe0\x08\x84\xad\x35\x0d\x88\x90\x56\x4c\x68\x28\xca\x90\xdc\xc7\x78\x3b\xb1\xbb\xe6\x2e\x84\x87\xe0\xea\x60\x06\x6c\xa4\xa7\x60\x3d\xee\x51\x27\x06\x64\xc0\xc4\x59\x3f\xc1\xee\x30\x64\xa4\xe7\x54\x30\x6f\xe0\xbd\xb7\x52\xef\x96\x20\x1a\xd3\x69\x7f\x03\x1f\xde\xca\x4f\x7f\xfb\xeb\x92\x49\xdd\xc0\xeb\xba\xb6\xe8\xdc\xab\xf0\xf7\x87\x0f\xef\x7e\xbc\x81\x0f\xef\xb4\xa7\x13\x99\xed\xf0\xf1\xe2\x8f\x28\x50\x63\x6b\x9c\xf4\x21\xc4\x1f\x17\xff\xc7\x74\xf4\x09\xf1\xbd\x19\x0a\xef\x4d\x29\x7a\x66\x78\x41\xf4\x9f\x1e\x11\x7b\x8f\xb0\x53\x66\x23\x14\x6c\x3a\xab\x63\x56\xd0\xb1\x4a\x28\x45\xa7\xa8\x08\x09\xd0\x46\xbf\xfc\x2f\x5a\x03\x9b\xd0\x3e\x2e\xe8\xc3\xc5\xe2\x29\x65\xc6\xb6\x1f\x48\xfa\x66\x40\x9d\xaa\xcb\xd0\xf8\x7d\x84\xb3\x26\x6d\x28\x67\xae\x47\x23\xb9\x94\xff\x3b\xdf\xa3\xb0\xde\xa1\xf7\x14\xd5\x51\x72\x90\x5c\x18\xb9\x36\x15\x7c\x86\xda\x9c\xf7\xc6\x24\x1a\xdc\xf3\xe1\xf1\x85\x83\xb0\x89\x41\x52\x94\xcf\x3d\xf4\xba\xa5\xfa\xfb\x1c\xe5\x90\x64\xac\x62\xa7\x8a\xf5\x22\x94\x04\xd2\x28\x85\x2a\x15\xf7\x44\x64\x98\xa1\xdc\xb7\x52\x15\xe1\x84\x3e\xb5\xb8\x3a\xe3\xfb\xce\x43\x46\x4a\x91\x61\xc9\xcb\x68\x58\x6f\x12\x5c\xa0\x82\xba\xcc\x77\x07\xdd\x59\xa1\xa0\x6e\x68\xda\x18\x4e\xad\x71\x4e\xc6\x86\x68\xb6\x50\x59\x14\x2c\x44\x6c\x8a\xd1\x6f\xd6\xf5\xa2\x93\xc6\x04\xb5\x18\xb1\x91\x4d\x85\x95\xea\x14\xa1\x17\x17\x5c\x73\xd4\xc9\xbc\xab\xcf\x71\x5a\xee\x79\xb1\xf0\x25\x96\x6f\x63\xa8\x70\x86\xba\x3b\x10\x59\x2c\x90\x04\x3e\x5d\x8b\x95\xdc\xca\x2a\xc6\x6e\x5f\x02\x0b\x2a\xd2\x81\x38\x08\xa9\x44\x68\x5a\xd4\x85\x73\x15\x29\x0e\xde\x06\x60\x48\x80\x77\x93\x9a\x11\xb3\x3e\x18\x59\x43\x2b\xb4\xac\xc8\x42\x9c\x91\x94\x77\xfc\x47\x2a\xa1\x43\x42\x39\x67\x73\x30\x3b\xe8\xf4\x9d\x36\x23\x86\xaf\xeb\x00\xca\x84\x52\xa7\x25\xa9\xc4\x8e\xc9\x2a\x3a\x68\xbb\xc0\x85\xe3\xa5\xe9\x94\x97\xad\x42\x38\x50\xa9\x1a\xe9\x18\xa1\x53\x86\xa2\xd5\x1e\xab\xbb\xd0\x55\x23\x44\x0a\xb7\xa0\xd3\x5e\x2a\x7e\x50\xa3\xe3\xfe\x16\x8c\x37\x36\x99\x45\x51\xed\xb1\x5e\x42\x6b\x3c\xc5\x27\xc9\x08\x7b\x54\x6d\xd2\x1a\x5a\xb4\x9c\xa2\xd9\xdb\xe9\xf6\x74\xea\x49\x3c\x52\xee\x83\x74\xaf\x93\x37\x6e\x4d\x6a\x0c\xf3\xb2\xfa\x2c\x6e\xe0\x8d\x31\xaa\x8c\x86\x64\x6a\x70\xdd\x26\x4e\x27\x8f\xa6\x53\x0a\xb4\x82\x08\x21\x62\x8b\xbe\xb3\xd4\x05\x22\xf2\xcc\x08\xce\x62\x63\x0e\xdc\x10\x02\x92\x1b\x5c\x1c\x05\x4a\x8f\x91\x5f\xb8\xa8\x26\x28\x3c\xa0\x22\xd3\xad\xa3\xde\x49\xb9\xc5\xba\xb8\xfd\xde\x10\xac\x36\x96\x7c\x4c\xd1\x15\x6e\x4b\xbf\x64\x60\x1b\x06\x2e\x94\x04\x8d\x72\x6e\x81\xd9\x10\xe6\x01\xe9\x1d\xaa\x6d\x41\xcd\xf0\x48\x17\xbb\x7a\x3d\x80\xd7\xac\xd5\x3a\xc9\xb0\x9e\xd6\x66\x2c\x29\x7b\xe8\x78\xd1\x29\xdf\xdf\xb3\xc5\x1e\x06\xe5\x95\xfe\xa3\x11\x63\xf4\x28\x30\x82\xb5\x45\x17\x87\xa0\x2d\xc3\x70\x13\x0d\x4d\x1e\x80\x83\x50\x1d\x9e\x5d\x0b\x57\x56\x29\x77\xbe\xfd\x36\xb5\xa6\xb3\x93\xf4\xdf\xd5\xc7\x1e\x02\xc5\x32\xd0\x74\xce\x53\x06\x13\x27\x27\x1a\x24\x0c\x3a\xcc\xc6\x98\x10\x3d\x82\x61\xa5\xae\xce\xc8\x53\x0b\x3e\x83\x2e\xe4\x80\xd5\x0e\xfd\xed\xa9\xc5\xf9\x62\x25\x6b\x32\xfd\x56\xa2\xed\x3b\x68\xf8\x37\xa1\x19\xbe\x60\x8e\x1a\xed\xab\x95\x08\xe0\x60\xd8\x5c\xf9\x75\xd7\xc9\xfa\x0c\xdb\x44\x3b\xd0\xbb\x45\x21\xdb\xc3\xac\xfc\x35\xe8\x5e\x69\x8c\xfc\xf3\xdd\x2b\xa2\x95\x89\xe6\x25\x75\xf4\xe2\x33\x9a\xd7\x47\x4c\x2d\x43\xea\x4a\x75\x35\x82\x80\x3c\x8b\x06\x31\xb8\x52\x95\x0e\x8a\x6d\x2b\x53\x39\x62\x46\xf8\x34\xd3\x3d\x67\xa4\x0b\x66\x08\xc8\x3d\xd3\xa1\x19\xac\x36\xe9\xd0\xf4\xfc\xb6\x04\x25\xef\x10\x5c\xab\x24\x43\xfe\x06\xba\x96\xaa\x46\x26\xe2\x50\xd7\xe1\x05\x8d\x83\x72\xcb\xf9\xe6\xa1\x55\x61\xfa\x84\xe7\xb7\xbd\xe4\xac\x71\xdb\x8b\xa6\x07\x2f\xee\xb0\xaf\x52\x54\xb9\xe2\x1b\xaa\x16\x17\xdc\x50\x6c\x26\x1e\x4b\x79\x16\x8a\xb2\x3d\xd2\x9c\x87\x68\x4d\x19\xbe\x28\x45\xda\xa1\x7f\xdf\xb5\x34\x6a\x62\xcd\x07\x28\xfc\xdd\xa0\x92\xd6\x92\xab\xa1\xb0\x8c\x26\xe2\x44\x4f\x67\xce\xaa\xef\x71\x8f\x5c\xdb\xd8\xe4\xa7\x96\x9b\x63\xd5\x59\x32\xa2\x3a\x81\x4b\x5c\x68\x42\xe3\x4d\x4d\x11\xd2\x63\x05\x72\x57\x99\x16\x70\xbe\xb8\x81\xfb\x5b\xce\x5b\xea\x27\x0f\xa5\x52\xbf\x44\xe9\x93\x44\xc6\x72\xa4\x32\xd8\x96\x07\x6a\xe1\x51\x3c\xe2\xd8\x66\x99\xf0\x5c\x24\x6e\xe6\xa1\xc3\xc6\xa0\x16\x3a\xde\x02\x9a\x59\x99\x90\xdb\x73\x69\xff\x8d\xaa\x53\x2c\x80\xde\x76\x3c\x8a\xd6\xb8\xcd\xe3\xc7\x45\x15\xa5\x3b\xd7\x30\x16\x25\xfa\x99\x7a\xe6\xa8\x22\xf4\x73\x4d\x01\x2a\x6b\x0c\xa0\x83\x4d\xdc\x87\x64\xe8\x3e\xbc\x3d\xe9\x77\x7d\x59\xdf\x65\x82\xd7\x4b\xb8\xb5\x42\xbb\x2d\x5a\x63\x97\x19\xbe\x85\xd5\x55\x9a\x62\x7b\x10\xda\xf5\x53\x0d\xd9\xb7\x77\xf1\x09\xfd\xe7\xe4\x0b\xab\x72\x33\x90\xa6\x67\x9c\xe5\x1a\xce\xd1\xab\xf4\x63\x19\x26\x1e\xbb\xa2\x7f\x18\x06\x8e\x81\xa6\x44\x55\xc7\x29\xdf\x8a\x71\x39\x32\x84\x35\x0f\x97\x1d\x34\x31\x54\x14\xd4\x7f\x88\x33\x1a\xa1\x42\x31\x5e\x25\x4a\xc7\x23\x1d\xd6\x70\x90\x22\xac\x12\xa2\xb0\xf4\x78\xbe\x58\xc7\x61\xaf\xa0\xf8\x6e\xb4\xbb\x89\x85\x8d\x42\x6d\x63\xcc\xdd\x1d\x22\xc3\x34\x63\x43\x0f\xa3\xe7\x3c\xf9\x95\xd9\xc8\xfa\xc6\xa8\xdc\x60\x39\x71\x46\x85\x49\xbc\x1a\x9d\xb7\xe6\x84\x75\x89\xf2\x7e\x26\xaa\xe3\x25\xd2\x71\xb8\x8d\xe9\xda\x5a\x78\xec\x6b\xeb\x0b\xea\xff\x5e\x28\x8e\x00\x75\x2a\x65\x31\x04\x11\x14\x81\x9c\x72\xd9\xe2\xc2\x52\x67\x83\xa8\x93\xa1\x02\x86\x0b\x50\x2d\x43\xbf\x40\x73\xf5\xa8\x99\x38\xae\xd3\xaa\xd8\xa1\x2f\xbc\xec\x0d\x84\xd1\x19\xb7\xc6\x06\xa9\xa9\xd2\x8f\x56\xa2\xe7\x03\x83\x64\x54\xd3\xda\x30\x5a\x07\xab\x71\xbb\x8f\xb8\xd4\xb5\xa2\x69\x18\xc4\x53\x83\x0a\xa3\x77\xf4\xc6\x6a\x1c\x4f\x69\x4f\x14\x2a\x33\xa9\x4b\xb1\xb3\x11\xd5\xdd\x7c\x31\xc6\x5c\x16\x27\x20\x17\xbb\xbb\x18\xef\x9f\x81\x57\xf8\xc8\x26\x65\xd0\x04\x34\xb9\x04\x3f\xe0\x32\xf6\x1b\xd2\x24\x08\xf7\xcd\xea\x9b\x1b\xb8\xba\x1d\xd8\x3b\xa1\x34\xf6\x43\xb4\x7d\xdd\xd9\xb4\xd9\x1a\x2a\x9f\xf6\x1d\xce\xc4\x42\xc2\x05\x96\x6a\x09\xdd\x27\xfb\x62\x7d\xf5\x88\x8c\xa5\x30\x24\xcb\x00\x41\xfd\x99\x3e\x77\xe8\xfb\xdc\xa8\xb7\xf1\x04\x15\xdb\x7b\x68\x04\x2e\x2e\xaa\x6b\xfc\x44\x01\x38\x6a\xcf\x0c\xd0\x62\x1b\x18\x65\x15\x70\x85\x66\xf4\x54\x97\xeb\xd3\x38\xd2\x09\x8b\x80\x9f\x5a\xac\x3c\xd6\xe3\xa4\xe2\xa9\x30\xf7\xaf\x7e\x4c\x27\xfe\xcb\x60\x50\x3c\x85\x14\xd3\x7d\x6e\xc4\x19\x94\x37\xb7\x85\x2c\x05\x79\x82\x89\xac\xe9\x59\x72\xfc\x89\x16\x3d\x8a\xa5\xeb\x6b\x78\x83\xca\x1c\xe3\x40\x4b\xa6\x18\x6c\xd0\x13\xec\x73\x9d\x8d\xa0\xd6\x76\xfa\xa5\x97\x4d\x84\x16\xdc\xce\xc6\xf4\xd8\x24\x3b\x4c\x4d\x78\xb8\x63\x6b\x05\x63\xb9\xdc\x7b\x62\x0f\x8c\x20\xb1\xfc\xfa\xb6\x0a\x1b\xdf\x15\x14\xf4\xe5\xf6\x2c\xe3\xdc\xfb\x6e\x43\xd2\xcc\xcd\x36\x74\xea\xbf\x7f\x7f\x3f\x41\xe9\xe1\xbb\xf9\x62\x9c\xe4\xc0\xe3\x10\x43\x85\xfb\x92\xec\x0d\x63\x87\x32\xcc\x1f\x00\x95\x9b\xaa\x0a\x19\xeb\xf0\xa8\xd8\xb4\xfe\x34\x8c\xe3\x38\x1d\xa5\xe0\xe3\xa1\x8c\x7d\x9b\xcd\x70\xdc\x1b\xa8\x8d\x7e\xe1\xa7\x28\xf7\x5f\x07\x26\xed\xb3\x04\xd7\x55\x7b\x62\x52\xbe\x7e\x7f\x94\xbe\xda\x6f\x8c\xb0\xf5\x7a\x09\x6b\x7e\xf6\xd6\xd8\xa3\xa0\xb9\x78\x0d\xe8\xab\xd5\x45\x53\x3c\x5c\x1c\x87\xca\xbe\x1b\x26\x8b\xb8\x57\x29\x21\xdd\x39\xce\xfc\xf5\x4b\x21\xb0\x91\x03\xa2\xd0\xc9\x7d\x93\x29\xf0\x2f\x22\xf2\x1f\x78\xf5\x0a\xb6\x42\x39\xbc\xa4\xd0\xc4\x06\x64\x1d\x8a\xf8\xba\x6f\x84\x4c\xf7\x85\x2b\x56\xc0\x30\xb9\xfd\xd0\x78\x1c\x6f\x40\x12\x61\xb2\xcb\xf9\xfd\x2f\xbd\x36\x98\x6c\x61\x45\xb1\xfe\xee\x89\xe1\xff\x75\x98\xf8\xfb\x51\x3e\x75\x15\x85\x8e\x87\x3f\xcd\x20\xe8\xf7\x4e\xa8\xf0\xd7\xc4\x1e\x60\x62\xfa\x7f\x56\x8b\x8b\xf3\x79\x4e\x49\x6a\x73\xe3\x24\xbd\xfa\x79\x88\xf6\xd3\x3e\xa2\x6f\x1b\x94\x17\x74\xe7\x7c\xf9\x70\x7d\x0d\xf1\x0b\x59\x58\x73\x0a\x95\xcb\x2c\xac\x03\x46\x59\xf3\x40\x1c\x61\x4c\x48\xdb\xa8\x52\xbf\x0f\xe6\xef\xa7\x53\xc4\x23\xc6\xda\xe0\x4e\x6a\xcd\x60\xb1\x04\x3a\xfd\x57\xe1\x89\xdb\x4f\xb6\xfb\x20\xe0\x7c\xf8\x78\x01\x2f\x1f\xf7\xe5\x3f\x72\x38\x8e\x21\x02\x97\xa7\x38\x69\xf7\x7e\x23\xc8\xc5\x1f\x62\xd3\x71\x11\x06\xf3\xf1\x62\x27\xbd\xbf\xe4\xe2\x87\xe7\x4e\xdf\xa2\xae\x69\xf2\x76\x43\xc8\x78\x16\x4f\x67\x95\xe4\x73\x66\xef\xa9\xb6\x30\xee\x09\x34\x6a\x3a\x87\x76\x00\x94\x2b\xa3\x2b\x8b\x3e\x36\xbd\x68\x9e\xfe\xfb\x56\x46\xf2\x29\x00\xc7\xf4\x62\x07\x18\xcc\xaf\x79\xe8\x4d\x70\x2c\x52\x7b\x46\xfe\x92\x2e\x2b\xe9\xde\x69\xe7\xc9\x2a\xf3\x32\x25\x16\x37\x30\xed\xfd\x1f\x02\xa0\x4b\xd6\xe7\x6f\xc6\x95\x69\x5a\xe1\x07\xc3\x12\xe9\x77\x61\x4f\x37\xfe\x46\xc7\x62\x3c\x8e\x7b\xf9\x48\xc6\xbd\xde\x5c\xd8\xd5\xa5\xef\x78\x83\x4d\xdd\xe8\x53\x1e\x13\xfa\x42\x40\x79\x32\x73\xfe\x92\x1e\x0f\x45\x5e\xfc\xa1\x3c\x72\x5d\xf3\x64\x02\xf5\xa1\xf3\x68\x6d\x1c\x25\x0e\x7f\x42\xc2\x9f\x08\x5e\xc4\x9c\x51\xca\x1c\x1d\x4f\x9f\xe1\xff\x08\x31\xf1\x4c\xd1\x7b\x38\xde\xf6\x82\x52\xed\xec\xd3\x25\x3c\x91\x3f\x63\x96\xf3\xcf\xde\x51\x9f\x2f\x9b\xfb\x49\x45\xe3\x51\x9d\x22\x8f\x68\x8a\x60\x4a\x86\xcb\x43\x61\x2f\x5b\x08\xca\x6d\xcc\xff\xc1\x46\x53\xcb\x93\x49\xdb\x1c\x12\xe0\xc8\x68\x65\xba\xe0\x0c\xac\x34\x61\xb4\xa9\xae\x37\xa0\xcc\x86\xcb\xc0\x3a\x54\x94\xfc\xf9\xb2\x11\xbe\xda\x17\xdf\x9e\xce\x13\xfa\x4b\x3b\x24\xb9\xe0\xe1\x7f\x01\x00\x00\xff\xff\xb3\x16\x85\x0a\x68\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x4b\x93\xdb\xc6\x11\xbe\xf3\x57\x74\xad\x0f\x22\x1d\x8a\xeb\x43\x2a\x87\xad\xd8\xb2\x64\x5b\x55\x3a\x38\x95\xb2\x56\xd6\x21\x49\x15\x87\x40\x93\x1c\xef\x60\x06\x9e\x19\x90\x62\xb6\xf6\xbf\xa7\xba\xe7\x01\x0c\x08\xee\xae\x6c\xc5\x17\x71\x81\x99\x7e\x3f\xbe\x6e\xf8\xfa\xeb\xaf\x67\xb3\xaf\xe0\x76\x8f\xf0\x56\x99\x23\xbc\xed\xf4\x4e\x6e\x14\xc2\xad\xb9\x43\x0d\xce\x0b\x5d\x0b\x5b\xcf\x66\x5f\x7d\x05\xeb\xf4\x92\xdf\xad\xa1\x32\xda\x5b\x51\xf9\xd9\x8c\xaf\x4f\xdf\x04\xe9\x40\x1b\x50\x46\xef\xd0\x82\xd0\x20\xb5\x47\xbb\x15\x15\xce\xfc\x5e\x78\x10\x4a\xc1\x36\x5d\xf5\x7c\x35\xd1\x75\x70\x34\x9d\xaa\x61\x2f\x0e\xf4\x8a\x9e\x6f\x8d\x6d\xc0\x9b\xd5\x6c\xf6\x6e\x0b\x02\x3a\x87\xd6\xc1\x51\x68\xef\xe8\x40\x8d\xad\x32\x27\x10\xa0\xf1\x38\xa2\xb5\x04\xbf\x47\x69\x7b\x99\x6b\x83\x24\x98\x07\x8d\x58\xd3\x65\xd9\xb4\x0a\x1b\xd4\x9e\x4e\x42\xa1\x6a\x2f\xf3\x12\x36\x9d\x8f\xa4\x98\x81\x9b\xd5\xe6\x02\x89\x7c\xc9\x41\x8d\x5b\xa9\xb1\x06\xa9\xc1\xef\xa5\xcb\x52\xac\x82\x5d\x7f\x15\x9d\xf2\x6b\xb0\xe8\x4c\x67\xab\xc1\xcd\xd9\xec\x27\x51\xed\xc7\xf6\xc9\xe7\xfc\xa9\x45\x66\xee\xce\xb9\x5f\x26\x1a\x99\xfe\xd3\x9a\x83\xac\xd1\xae\x97\xb0\xfe\x05\x2b\x94\x07\xfe\x2d\x74\x0d\xeb\x37\x42\x09\x5d\xe1\xd4\x6d\xc7\xde\x76\x23\xf5\x2a\x25\x2c\x42\x6b\xf1\x65\x65\x74\x2d\xbd\x34\xda\x31\xa9\xd6\x38\x3f\x7c\xc6\x3e\xb7\xe8\xbc\x95\x95\x9f\x91\xa0\xf8\x09\xab\x8e\x5e\x82\xd9\xb2\xe4\xdb\x4e\x57\xe1\x30\x9b\x0b\x81\x35\x59\x31\xdf\x13\x10\x1f\x87\xad\xb0\xc2\x23\x6c\xb0\x12\x1d\xc9\xe2\x61\x27\x0f\xe8\xf8\x38\x05\x05\xff\x10\x1b\xa9\xa4\x3f\x91\x6d\xdc\x5e\x58\x9c\x09\xb0\xb8\x45\x8b\xba\xe2\x78\x0a\x6e\x64\xea\x41\x2e\xa3\xd5\x09\xf0\x53\x6b\x5c\x24\xb5\x95\xa8\x6a\xd7\x4b\x34\x93\x1a\x8c\x46\x30\x16\x1a\x63\x31\x49\xdc\x9b\x82\x02\x93\x62\xda\x99\x28\x50\x88\xd0\x91\x34\x8d\xb8\x43\xa8\x3a\xe7\x4d\x93\x2d\x1c\x4d\x93\x9d\x48\xb6\x29\xad\x4c\x01\x6e\xe0\x20\xac\x34\x1d\x9d\x96\x7a\xe7\xe0\x28\xfd\x9e\xc9\x87\x68\x5c\xcd\xde\x1a\x0b\xf8\x49\x10\x99\x25\x08\xd8\x8a\xae\x42\x0f\x95\xd0\xb0\xc1\x9e\x3a\xd6\xb0\x39\xa5\x84\x92\x7a\x37\x0b\xe6\x80\x14\x14\x45\xb4\x7c\x7d\x3d\x9b\xc9\xa6\x35\xd6\xc3\xd5\xaf\x12\x8f\xbf\xa0\x33\xea\x80\xf6\x2a\x3f\x7d\xd3\x59\x4d\x7f\xcf\xae\xaf\xaf\xcb\xd4\xa1\x27\xc5\xd3\x58\x1e\xb2\x24\x22\xc6\x8a\xc5\x41\x99\xb0\xf8\x7b\x27\xed\x54\x52\x95\xa9\xc0\x94\x7b\x51\xe1\x23\x82\xf3\x52\xa9\x50\x32\xa4\x07\xe1\x8a\x92\x03\x7b\xb4\x7d\xd4\x78\xfe\x8b\x03\xca\x34\x1c\x37\xdb\x4e\x31\xc9\xce\x07\x5f\x35\xe8\xf7\xa6\x8e\xae\x69\x84\x3e\x41\x6b\xcd\x6f\xc8\xa5\x89\xd8\x04\x66\x54\x7f\x48\x52\x66\x6a\xf4\xa8\xd2\xb8\x25\x93\x8c\x75\x23\x04\xf0\xe6\x44\xca\x36\x28\xb4\xcb\xba\xae\xb8\x14\x86\x20\xe8\x9f\xd2\x6f\x7e\x96\x7d\x1c\x74\x4e\x46\x71\x45\xb2\xf7\x85\x43\x54\x15\x3a\x37\x17\x4a\x2d\xb2\x24\x03\x3b\x14\x3e\xba\x81\xa1\x57\xe1\x7e\x36\x03\x00\xb8\xbe\x86\xd7\x1a\x50\x7b\xe9\xa3\xfd\xb7\xc6\x92\x8c\xe6\x28\xf5\x8e\xd9\x52\xf0\xd5\x56\x1c\x85\xe2\x4c\xe0\x08\x84\xad\x35\x0d\x88\x90\x56\x4c\x68\x28\xca\x90\xdc\xc7\x78\x3b\xb1\xbb\xe6\x2e\x84\x87\xe0\xea\x60\x06\x6c\xa4\xa7\x60\x3d\xee\x51\x27\x06\x64\xc0\xc4\x59\x3f\xc1\xee\x30\x64\xa4\xe7\x54\x30\x6f\xe0\xbd\xb7\x52\xef\x96\x20\x1a\xd3\x69\x7f\x03\x1f\xde\xca\x4f\x7f\xfb\xeb\x92\x49\xdd\xc0\xeb\xba\xb6\xe8\xdc\xab\xf0\xf7\x87\x0f\xef\x7e\xbc\x81\x0f\xef\xb4\xa7\x13\x99\xed\xf0\xf1\xe2\x8f\x28\x50\x63\x6b\x9c\xf4\x21\xc4\x1f\x17\xff\xc7\x74\xf4\x09\xf1\xbd\x19\x0a\xef\x4d\x29\x7a\x66\x78\x41\xf4\x9f\x1e\x11\x7b\x8f\xb0\x53\x66\x23\x14\x6c\x3a\xab\x63\x56\xd0\xb1\x4a\x28\x45\xa7\xa8\x08\x09\xd0\x46\xbf\xfc\x2f\x5a\x03\x9b\xd0\x3e\x2e\xe8\xc3\xc5\xe2\x29\x65\xc6\xb6\x1f\x48\xfa\x66\x40\x9d\xaa\xcb\xd0\xf8\x7d\x84\xb3\x26\x6d\x28\x67\xae\x47\x23\xb9\x94\xff\x3b\xdf\xa3\xb0\xde\xa1\xf7\x14\xd5\x51\x72\x90\x5c\x18\xb9\x36\x15\x7c\x86\xda\x9c\xf7\xc6\x24\x1a\xdc\xf3\xe1\xf1\x85\x83\xb0\x89\x41\x52\x94\xcf\x3d\xf4\xba\xa5\xfa\xfb\x1c\xe5\x90\x64\xac\x62\xa7\x8a\xf5\x22\x94\x04\xd2\x28\x85\x2a\x15\xf7\x44\x64\x98\xa1\xdc\xb7\x52\x15\xe1\x84\x3e\xb5\xb8\x3a\xe3\xfb\xce\x43\x46\x4a\x91\x61\xc9\xcb\x68\x58\x6f\x12\x5c\xa0\x82\xba\xcc\x77\x07\xdd\x59\xa1\xa0\x6e\x68\xda\x18\x4e\xad\x71\x4e\xc6\x86\x68\xb6\x50\x59\x14\x2c\x44\x6c\x8a\xd1\x6f\xd6\xf5\xa2\x93\xc6\x04\xb5\x18\xb1\x91\x4d\x85\x95\xea\x14\xa1\x17\x17\x5c\x73\xd4\xc9\xbc\xab\xcf\x71\x5a\xee\x79\xb1\xf0\x25\x96\x6f\x63\xa8\x70\x86\xba\x3b\x10\x59\x2c\x90\x04\x3e\x5d\x8b\x95\xdc\xca\x2a\xc6\x6e\x5f\x02\x0b\x2a\xd2\x81\x38\x08\xa9\x44\x68\x5a\xd4\x85\x73\x15\x29\x0e\xde\x06\x60\x48\x80\x77\x93\x9a\x11\xb3\x3e\x18\x59\x43\x2b\xb4\xac\xc8\x42\x9c\x91\x94\x77\xfc\x47\x2a\xa1\x43\x42\x39\x67\x73\x30\x3b\xe8\xf4\x9d\x36\x23\x86\xaf\xeb\x00\xca\x84\x52\xa7\x25\xa9\xc4\x8e\xc9\x2a\x3a\x68\xbb\xc0\x85\xe3\xa5\xe9\x94\x97\xad\x42\x38\x50\xa9\x1a\xe9\x18\xa1\x53\x86\xa2\xd5\x1e\xab\xbb\xd0\x55\x23\x44\x0a\xb7\xa0\xd3\x5e\x2a\x7e\x50\xa3\xe3\xfe\x16\x8c\x37\x36\x99\x45\x51\xed\xb1\x5e\x42\x6b\x3c\xc5\x27\xc9\x08\x7b\x54\x6d\xd2\x1a\x5a\xb4\x9c\xa2\xd9\xdb\xe9\xf6\x74\xea\x49\x3c\x52\xee\x83\x74\xaf\x93\x37\x6e\x4d\x6a\x0c\xf3\xb2\xfa\x2c\x6e\xe0\x8d\x31\xaa\x8c\x86\x64\x6a\x70\xdd\x26\x4e\x27\x8f\xa6\x53\x0a\xb4\x82\x08\x21\x62\x8b\xbe\xb3\xd4\x05\x22\xf2\xcc\x08\xce\x62\x63\x0e\xdc\x10\x02\x92\x1b\x5c\x1c\x05\x4a\x8f\x91\x5f\xb8\xa8\x26\x28\x3c\xa0\x22\xd3\xad\xa3\xde\x49\xb9\xc5\xba\xb8\xfd\xde\x10\xac\x36\x96\x7c\x4c\xd1\x15\x6e\x4b\xbf\x64\x60\x1b\x06\x2e\x94\x04\x8d\x72\x6e\x81\xd9\x10\xe6\x01\xe9\x1d\xaa\x6d\x41\xcd\xf0\x48\x17\xbb\x7a\x3d\x80\xd7\xac\xd5\x3a\xc9\xb0\x9e\xd6\x66\x2c\x29\x7b\xe8\x78\xd1\x29\xdf\xdf\xb3\xc5\x1e\x06\xe5\x95\xfe\xa3\x11\x63\xf4\x28\x30\x82\xb5\x45\x17\x87\xa0\x2d\xc3\x70\x13\x0d\x4d\x1e\x80\x83\x50\x1d\x9e\x5d\x0b\x57\x56\x29\x77\xbe\xfd\x36\xb5\xa6\xb3\x93\xf4\xdf\xd5\xc7\x1e\x02\xc5\x32\xd0\x74\xce\x53\x06\x13\x27\x27\x1a\x24\x0c\x3a\xcc\xc6\x98\x10\x3d\x82\x61\xa5\xae\xce\xc8\x53\x0b\x3e\x83\x2e\xe4\x80\xd5\x0e\xfd\xed\xa9\xc5\xf9\x62\x25\x6b\x32\xfd\x56\xa2\xed\x3b\x68\xf8\x37\xa1\x19\xbe\x60\x8e\x1a\xed\xab\x95\x08\xe0\x60\xd8\x5c\xf9\x75\xd7\xc9\xfa\x0c\xdb\x44\x3b\xd0\xbb\x45\x21\xdb\xc3\xac\xfc\x35\xe8\x5e\x69\x8c\xfc\xf3\xdd\x2b\xa2\x95\x89\xe6\x25\x75\xf4\xe2\x33\x9a\xd7\x47\x4c\x2d\x43\xea\x4a\x75\x35\x82\x80\x3c\x8b\x06\x31\xb8\x52\x95\x0e\x8a\x6d\x2b\x53\x39\x62\x46\xf8\x34\xd3\x3d\x67\xa4\x0b\x66\x08\xc8\x3d\xd3\xa1\x19\xac\x36\xe9\xd0\xf4\xfc\xb6\x04\x25\xef\x10\x5c\xab\x24\x43\xfe\x06\xba\x96\xaa\x46\x26\xe2\x50\xd7\xe1\x05\x8d\x83\x72\xcb\xf9\xe6\xa1\x55\x61\xfa\x84\xe7\xb7\xbd\xe4\xac\x71\xdb\x8b\xa6\x07\x2f\xee\xb0\xaf\x52\x54\xb9\xe2\x1b\xaa\x16\x17\xdc\x50\x6c\x26\x1e\x4b\x79\x16\x8a\xb2\x3d\xd2\x9c\x87\x68\x4d\x19\xbe\x28\x45\xda\xa1\x7f\xdf\xb5\x34\x6a\x62\xcd\x07\x28\xfc\xdd\xa0\x92\xd6\x92\xab\xa1\xb0\x8c\x26\xe2\x44\x4f\x67\xce\xaa\xef\x71\x8f\x5c\xdb\xd8\xe4\xa7\x96\x9b\x63\xd5\x59\x32\xa2\x3a\x81\x4b\x5c\x68\x42\xe3\x4d\x4d\x11\xd2\x63\x05\x72\x57\x99\x16\x70\xbe\xb8\x81\xfb\x5b\xce\x5b\xea\x27\x0f\xa5\x52\xbf\x44\xe9\x93\x44\xc6\x72\xa4\x32\xd8\x96\x07\x6a\xe1\x51\x3c\xe2\xd8\x66\x99\xf0\x5c\x24\x6e\xe6\xa1\xc3\xc6\xa0\x16\x3a\xde\x02\x9a\x59\x99\x90\xdb\x73\x69\xff\x8d\xaa\x53\x2c\x80\xde\x76\x3c\x8a\xd6\xb8\xcd\xe3\xc7\x45\x15\xa5\x3b\xd7\x30\x16\x25\xfa\x99\x7a\xe6\xa8\x22\xf4\x73\x4d\x01\x2a\x6b\x0c\xa0\x83\x4d\xdc\x87\x64\xe8\x3e\xbc\x3d\xe9\x77\x7d\x59\xdf\x65\x82\xd7\x4b\xb8\xb5\x42\xbb\x2d\x5a\x63\x97\x19\xbe\x85\xd5\x55\x9a\x62\x7b\x10\xda\xf5\x53\x0d\xd9\xb7\x77\xf1\x09\xfd\xe7\xe4\x0b\xab\x72\x33\x90\xa6\x67\x9c\xe5\x1a\xce\xd1\xab\xf4\x63\x19\x26\x1e\xbb\xa2\x7f\x18\x06\x8e\x81\xa6\x44\x55\xc7\x29\xdf\x8a\x71\x39\x32\x84\x35\x0f\x97\x1d\x34\x31\x54\x14\xd4\x7f\x88\x33\x1a\xa1\x42\x31\x5e\x25\x4a\xc7\x23\x1d\xd6\x70\x90\x22\xac\x12\xa2\xb0\xf4\x78\xbe\x58\xc7\x61\xaf\xa0\xf8\x6e\xb4\xbb\x89\x85\x8d\x42\x6d\x63\xcc\xdd\x1d\x22\xc3\x34\x63\x43\x0f\xa3\xe7\x3c\xf9\x95\xd9\xc8\xfa\xc6\xa8\xdc\x60\x39\x71\x46\x85\x49\xbc\x1a\x9d\xb7\xe6\x84\x75\x89\xf2\x7e\x26\xaa\xe3\x25\xd2\x71\xb8\x8d\xe9\xda\x5a\x78\xec\x6b\xeb\x0b\xea\xff\x5e\x28\x8e\x00\x75\x2a\x65\x31\x04\x11\x14\x81\x9c\x72\xd9\xe2\xc2\x52\x67\x83\xa8\x93\xa1\x02\x86\x0b\x50\x2d\x43\xbf\x40\x73\xf5\xa8\x99\x38\xae\xd3\xaa\xd8\xa1\x2f\xbc\xec\x0d\x84\xd1\x19\xb7\xc6\x06\xa9\xa9\xd2\x8f\x56\xa2\xe7\x03\x83\x64\x54\xd3\xda\x30\x5a\x07\xab\x71\xbb\x8f\xb8\xd4\xb5\xa2\x69\x18\xc4\x53\x83\x0a\xa3\x77\xf4\xc6\x6a\x1c\x4f\x69\x4f\x14\x2a\x33\xa9\x4b\xb1\xb3\x11\xd5\xdd\x7c\x31\xc6\x5c\x16\x27\x20\x17\xbb\xbb\x18\xef\x9f\x81\x57\xf8\xc8\x26\x65\xd0\x04\x34\xb9\x04\x3f\xe0\x32\xf6\x1b\xd2\x24\x08\xf7\xcd\xea\x9b\x1b\xb8\xba\x1d\xd8\x3b\xa1\x34\xf6\x43\xb4\x7d\xdd\xd9\xb4\xd9\x1a\x2a\x9f\xf6\x1d\xce\xc4\x42\xc2\x05\x96\x6a\x09\xdd\x27\xfb\x62\x7d\xf5\x88\x8c\xa5\x30\x24\xcb\x00\x41\xfd\x99\x3e\x77\xe8\xfb\xdc\xa8\xb7\xf1\x04\x15\xdb\x7b\x68\x04\x2e\x2e\xaa\x6b\xfc\x44\x01\x38\x6a\xcf\x0c\xd0\x62\x1b\x18\x65\x15\x70\x85\x66\xf4\x54\x97\xeb\xd3\x38\xd2\x09\x8b\x80\x9f\x5a\xac\x3c\xd6\xe3\xa4\xe2\xa9\x30\xf7\xaf\x7e\x4c\x27\xfe\xcb\x60\x50\x3c\x85\x14\xd3\x7d\x6e\xc4\x19\x94\x37\xb7\x85\x2c\x05\x79\x82\x89\xac\xe9\x59\x72\xfc\x89\x16\x3d\x8a\xa5\xeb\x6b\x78\x83\xca\x1c\xe3\x40\x4b\xa6\x18\x6c\xd0\x13\xec\x73\x9d\x8d\xa0\xd6\x76\xfa\xa5\x97\x4d\x84\x16\xdc\xce\xc6\xf4\xd8\x24\x3b\x4c\x4d\x78\xb8\x63\x6b\x05\x63\xb9\xdc\x7b\x62\x0f\x8c\x20\xb1\xfc\xfa\xb6\x0a\x1b\xdf\x15\x14\xf4\xe5\xf6\x2c\xe3\xdc\xfb\x6e\x43\xd2\xcc\xcd\x36\x74\xea\xbf\x7f\x7f\x3f\x41\xe9\xe1\xbb\xf9\x62\x9c\xe4\xc0\xe3\x10\x43\x85\xfb\x92\xec\x0d\x63\x87\x32\xcc\x1f\x00\x95\x9b\xaa\x0a\x19\xeb\xf0\xa8\xd8\xb4\xfe\x34\x8c\xe3\x38\x1d\xa5\xe0\xe3\xa1\x8c\x7d\x9b\xcd\x70\xdc\x1b\xa8\x8d\x7e\xe1\xa7\x28\xf7\x5f\x07\x26\xed\xb3\x04\xd7\x55\x7b\x62\x52\xbe\x7e\x7f\x94\xbe\xda\x6f\x8c\xb0\xf5\x7a\x09\x6b\x7e\xf6\xd6\xd8\xa3\xa0\xb9\x78\x0d\xe8\xab\xd5\x45\x53\x3c\x5c\x1c\x87\xca\xbe\x1b\x26\x8b\xb8\x57\x29\x21\xdd\x39\xce\xfc\xf5\x4b\x21\xb0\x91\x03\xa2\xd0\xc9\x7d\x93\x29\xf0\x2f\x22\xf2\x1f\x78\xf5\x0a\xb6\x42\x39\xbc\xa4\xd0\xc4\x06\x64\x1d\x8a\xf8\xba\x6f\x84\x4c\xf7\x85\x2b\x56\xc0\x30\xb9\xfd\xd0\x78\x1c\x6f\x40\x12\x61\xb2\xcb\xf9\xfd\x2f\xbd\x36\x98\x6c\x61\x45\xb1\xfe\xee\x89\xe1\xff\x75\x98\xf8\xfb\x51\x3e\x75\x15\x85\x8e\x87\x3f\xcd\x20\xe8\xf7\x4e\xa8\xf0\xd7\xc4\x1e\x60\x62\xfa\x7f\x56\x8b\x8b\xf3\x79\x4e\x49\x6a\x73\xe3\x24\xbd\xfa\x79\x88\xf6\xd3\x3e\xa2\x6f\x1b\x94\x17\x74\xe7\x7c\xf9\x70\x7d\x0d\xf1\x0b\x59\x58\x73\x0a\x95\xcb\x2c\xac\x03\x46\x59\xf3\x40\x1c\x61\x4c\x48\xdb\xa8\x52\xbf\x0f\xe6\xef\xa7\x53\xc4\x23\xc6\xda\xe0\x4e\x6a\xcd\x60\xb1\x04\x3a\xfd\x57\xe1\x89\xdb\x4f\xb6\xfb\x20\xe0\x7c\xf8\x78\x01\x2f\x1f\xf7\xe5\x3f\x72\x38\x8e\x21\x02\x97\xa7\x38\x69\xf7\x7e\x23\xc8\xc5\x1f\x62\xd3\x71\x11\x06\xf3\xf1\x62\x27\xbd\xbf\xe4\xe2\x87\xe7\x4e\xdf\xa2\xae\x69\xf2\x76\x43\xc8\x78\x16\x4f\x67\x95\xe4\x73\x66\xef\xa9\xb6\x30\xee\x09\x34\x6a\x3a\x87\x76\x00\x94\x2b\xa3\x2b\x8b\x3e\x36\xbd\x68\x9e\xfe\xfb\x56\x46\xf2\x29\x00\xc7\xf4\x62\x07\x18\xcc\xaf\x79\xe8\x4d\x70\x2c\x52\x7b\x46\xfe\x92\x2e\x2b\xe9\xde\x69\xe7\xc9\x2a\xf3\x32\x25\x16\x37\x30\xed\xfd\x1f\x02\xa0\x4b\xd6\xe7\x6f\xc6\x95\x69\x5a\xe1\x07\xc3\x12\xe9\x77\x61\x4f\x37\xfe\x46\xc7\x62\x3c\x8e\x7b\xf9\x48\xc6\xbd\xde\x5c\xd8\xd5\xa5\xef\x78\x83\x4d\xdd\xe8\x53\x1e\x13\xfa\x42\x40\x79\x32\x73\xfe\x92\x1e\x0f\x45\x5e\xfc\xa1\x3c\x72\x5d\xf3\x64\x02\xf5\xa1\xf3\x68\x6d\x1c\x25\x0e\x7f\x42\xc2\x9f\x08\x5e\xc4\x9c\x51\xca\x1c\x1d\x4f\x9f\xe1\xff\x08\x31\xf1\x4c\xd1\x7b\x38\xde\xf6\x82\x52\xed\xec\xd3\x25\x3c\x91\x3f\x63\x96\xf3\xcf\xde\x51\x9f\x2f\x9b\xfb\x49\x45\xe3\x51\x9d\x22\x8f\x68\x8a\x60\x4a\x86\xcb\x43\x61\xcf\x63\xf2\x59\xcd\xe1\x69\x26\xb9\x65\xa4\x66\xc1\xe9\x9e\xbe\xd5\x1d\x1e\xf7\x0e\x94\x9b\xa0\xff\x83\x7f\xa6\x16\x37\x93\x7e\x39\x24\xb0\x93\x91\xd2\x74\xb1\x1b\x78\x68\xc2\x61\x53\x46\x1d\x50\x66\x7b\x66\x50\x1f\xaa\x59\xfe\x74\xda\x08\x5f\xed\x8b\xef\x5e\xe7\xc5\xe4\x4b\x07\x43\x72\xc1\xc3\xff\x02\x00\x00\xff\xff\xb8\xcb\x3e\xd9\xe4\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x58, 0xb4, 0x7a, 0xf8, 0x8, 0x4, 0xc4, 0xc2, 0xea, 0xa0, 0xca, 0x57, 0x7c, 0xb0, 0x3c, 0xa2, 0xc1, 0xd1, 0xc2, 0xc3, 0x40, 0x32, 0x60, 0xda, 0x66, 0x3e, 0xe, 0x5, 0x8f, 0xd4, 0xbd, 0x50}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x77, 0xc7, 0xd1, 0xce, 0x84, 0xf6, 0xaf, 0x26, 0xe2, 0x6c, 0xd4, 0x81, 0xb, 0x49, 0x8c, 0x83, 0x8a, 0xed, 0x4e, 0xd9, 0x32, 0x94, 0x91, 0x6f, 0xa5, 0x51, 0xa6, 0x8e, 0xf4, 0x7, 0xf3}}
 	return a, nil
 }
 

From a9c3316609561d526deb64ef57efb5e526ebb02f Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Tue, 2 Apr 2024 11:05:48 -0500
Subject: [PATCH 106/115] update dependencies

---
 lib/go/test/go.mod | 22 +++++++++++-----------
 lib/go/test/go.sum | 18 ++++++++++++++++++
 2 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index db86b41e..1afe39e0 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -4,12 +4,12 @@ go 1.18
 
 require (
 	github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2
-	github.com/onflow/cadence v1.0.0-M8
-	github.com/onflow/flow-emulator v1.0.0-M8
-	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240213220156-959b70719876
-	github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240213220156-959b70719876
-	github.com/onflow/flow-go-sdk v1.0.0-M7
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a
+	github.com/onflow/cadence v1.0.0-preview.18
+	github.com/onflow/flow-emulator v1.0.0-preview.15
+	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240327162334-bd133114f87a
+	github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240327162334-bd133114f87a
+	github.com/onflow/flow-go-sdk v1.0.0-preview.16
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240326155818-c01c72c091c0
 	github.com/rs/zerolog v1.29.0
 	github.com/stretchr/testify v1.8.4
 )
@@ -113,12 +113,12 @@ require (
 	github.com/multiformats/go-multistream v0.5.0 // indirect
 	github.com/multiformats/go-varint v0.0.7 // indirect
 	github.com/olekukonko/tablewriter v0.0.5 // indirect
-	github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect
+	github.com/onflow/atree v0.6.1-0.20240308163425-dc825c20b1a2 // indirect
 	github.com/onflow/crypto v0.25.0 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-0e6ce7e3222b // indirect
-	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-0e6ce7e3222b // indirect
-	github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25122 // indirect
-	github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a // indirect
+	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240327170024-10241fffd864 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240327170024-10241fffd864 // indirect
+	github.com/onflow/flow-go v0.34.0-crescendo-preview.8.0.20240328003708-11040f76d0cd // indirect
+	github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240326155818-c01c72c091c0 // indirect
 	github.com/onflow/flow/protobuf/go/flow v0.3.7 // indirect
 	github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba // indirect
 	github.com/opentracing/opentracing-go v1.2.0 // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 1f5e082b..14d68f9a 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -1840,6 +1840,8 @@ github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N
 github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo=
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
+github.com/onflow/atree v0.6.1-0.20240308163425-dc825c20b1a2 h1:jJLDswfAVB0bHCu1y1FPdKukPcTNmN+jYEX9S9phbv0=
+github.com/onflow/atree v0.6.1-0.20240308163425-dc825c20b1a2/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
 github.com/onflow/cadence v1.0.0-M3/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
 github.com/onflow/cadence v1.0.0-M4 h1:/nt3j7vpYDxuI0ghIgAJrb2R01ijvJYZLAkKt+zbpTY=
 github.com/onflow/cadence v1.0.0-M4/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
@@ -1847,6 +1849,8 @@ github.com/onflow/cadence v1.0.0-M5 h1:vNG7x2KLLrt2yfVr1HtEXUlUi4GdNo+rkXnPkhSzs
 github.com/onflow/cadence v1.0.0-M5/go.mod h1:a4mccDU90hmuxCLUFzs9J/ANG/rYbFa36h4Z0bBAqNU=
 github.com/onflow/cadence v1.0.0-M8 h1:ioQ7TyhpsIaImAC7Xn2r8kIgIBdimvyuWeKlGfRxWB8=
 github.com/onflow/cadence v1.0.0-M8/go.mod h1:a4mccDU90hmuxCLUFzs9J/ANG/rYbFa36h4Z0bBAqNU=
+github.com/onflow/cadence v1.0.0-preview.18 h1:1gN+suBexuu1gZz0JjWDC9dcGBI/GIMP8R0Tyou9mzA=
+github.com/onflow/cadence v1.0.0-preview.18/go.mod h1:no8+e5V51B9mgfi4U9xdeH+GxcJdoKKDP9gdxEj9Jdg=
 github.com/onflow/crypto v0.25.0 h1:BeWbLsh3ZD13Ej+Uky6kg1PL1ZIVBDVX+2MVBNwqddg=
 github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d h1:Afcfk/9jAQZ1v5PLGdP68FG/0yPPM60fn9Eq8ChBGS0=
@@ -1855,38 +1859,52 @@ github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101-
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101-928bf99024d7/go.mod h1:GK+Ik1K3L3v8xmHmRQv5yxJz81lYhdYSNm0PQ63Xrws=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-0e6ce7e3222b h1:oXHQft30sElpK7G3xWB5tEizI2G+S4p64iVh0LtX4E0=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-0e6ce7e3222b/go.mod h1:At+gEXmy13wpvxHYlS8bqjKEBufL+UXMQpJyHQxiXY8=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240327170024-10241fffd864 h1:Tym6HXbuhoTwef+EfHWDaVgFs/gwmJ0yKD+zjJH1O1s=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240327170024-10241fffd864/go.mod h1:Br3AdtgZlvvk2h4YFJcbCHCJHsM8y0LX1CK+2EdkYR4=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d h1:IQJpP3VLLjT4R8ItBpr+Mmp0IOnC/8iBcM0/67JNB9c=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d/go.mod h1:MZ2j5YVTQiSE0B99zuaYhxvGG5GcvimWpQK1Fw/1QBg=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7 h1:WAx8ftVz1BeXiKvQ9gLKEf1J3NBWK26Pbczd0iH4C6I=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7/go.mod h1:MZ2j5YVTQiSE0B99zuaYhxvGG5GcvimWpQK1Fw/1QBg=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-0e6ce7e3222b h1:oiV9EbViI07FiO4rKeJ5/RGoQDCGd4c6SX/cdMwHbFE=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-0e6ce7e3222b/go.mod h1:cTE5NCp+Zk04yA24gCEjBdQIrzDU/iRICgLSx4LsGX0=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240327170024-10241fffd864 h1:shtPP46wORFIX3XE+gnvwVUtwejAZm3wye7Y1nJD75A=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240327170024-10241fffd864/go.mod h1:v+SKoOBjMd8c8jspqcnyM1iTejCQq8JaGr6B1XW8Vsw=
 github.com/onflow/flow-emulator v1.0.0-M1 h1:0hBEmvm73F+5HhN5ugkOP3UyN+Ea9yGWflEmoeGzgdw=
 github.com/onflow/flow-emulator v1.0.0-M1/go.mod h1:JFJCeQVyhCQVD2Tq4QhctIXK6j5U6aU15yoEwMJt5AQ=
 github.com/onflow/flow-emulator v1.0.0-M3 h1:+Rktq6OzQfJCLNVweJqtTUKZrHMc6eVVZn1tYI1PMMg=
 github.com/onflow/flow-emulator v1.0.0-M3/go.mod h1:iMQ7WbzrEa+xQL23P8zCxrXv8YhAWUds8SvEdERB14o=
 github.com/onflow/flow-emulator v1.0.0-M8 h1:FE9OtyXh3tZLjszpznIfMyaTmIoX+maFBYd1mCY+ke0=
 github.com/onflow/flow-emulator v1.0.0-M8/go.mod h1:mSp1JTXt1JGmriiG7Lc2VulQHG1tl6Oj1zGSr/h0ySk=
+github.com/onflow/flow-emulator v1.0.0-preview.15 h1:5qAiMOVdxrFKccvLRiApkGhDWyr+nvFhQGQFxRHBALg=
+github.com/onflow/flow-emulator v1.0.0-preview.15/go.mod h1:pSSLRvjxTecPQgI2ch+VVPKydeDlCg/1lHSLPrOUghw=
 github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61 h1:Xq40zbxw9mDS1+Zz1p6DCzAxDYQwbHWLJ5B9HOp9Fk8=
 github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61/go.mod h1:xdzERQeTalqsU0rHGSZgqQuE5krMfBQ4BA/4bgrLndY=
 github.com/onflow/flow-go v0.33.2-0.20240206235622-50f8c81f1f43 h1:KB10iF+6HIQ/hKykzBf8n3P8cDDRHL4ytfc0R4ApCZM=
 github.com/onflow/flow-go v0.33.2-0.20240206235622-50f8c81f1f43/go.mod h1:gWMjeDpt0YuJiwxtgdD8qxsM53PvUyoPHmjisZZmjR0=
 github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25122 h1:6R1L5Ji+lEWdTRcqeTLVLGPX1FqiWHeXHnRKAUsciSE=
 github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25122/go.mod h1:HSffipIVOyXvK3/gsYU13EwRMxbuK591hmjqF36nbEI=
+github.com/onflow/flow-go v0.34.0-crescendo-preview.8.0.20240328003708-11040f76d0cd h1:QWLgb4okWnmZHN2ebiGUNR1CNdHICE1CxVx7wQY9Q40=
+github.com/onflow/flow-go v0.34.0-crescendo-preview.8.0.20240328003708-11040f76d0cd/go.mod h1:vaUovXWZxbcxCg+wFAvb5SFouo4Q2OI3fj9XwCpbU6M=
 github.com/onflow/flow-go-sdk v1.0.0-M1 h1:mke/ebYwNRRWPZqcwCV56Alx0A8psew43ZbSEUQ4TL8=
 github.com/onflow/flow-go-sdk v1.0.0-M1/go.mod h1:TDW0MNuCs4SvqYRUzkbRnRmHQL1h4X8wURsCw9P9beo=
 github.com/onflow/flow-go-sdk v1.0.0-M2 h1:YWeXTo112RF8s6swiOU5oW8JWbOOz392FCeAbGnm+W4=
 github.com/onflow/flow-go-sdk v1.0.0-M2/go.mod h1:mllhNw5WAEug59EWvW3TudcrtPmB5VfLA3iUx7mAA4s=
 github.com/onflow/flow-go-sdk v1.0.0-M7 h1:5EhtgpupjdhJZoHpu8AhA7++AroGL6BFpb8D0AYIUQw=
 github.com/onflow/flow-go-sdk v1.0.0-M7/go.mod h1:aXSavLzoRlz5FiMjcI7p5QhihWScGctxydzf4dv/avo=
+github.com/onflow/flow-go-sdk v1.0.0-preview.16 h1:m5Dj5XLUTHIFgjWPDsapaIFKIheBlhFLwZ9aXxwX6hQ=
+github.com/onflow/flow-go-sdk v1.0.0-preview.16/go.mod h1:zQwbb+mHfV7R+xa03xr6RoU13bZOF2uKgdf7dOGELvc=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad h1:I6LD9BOsilGbiqhGjP86FIIXJe0YdUz75d/oWdHFzDI=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6 h1:/2vvjKkWG/3cKP3IpgiGNqXi0yskn4GmNTjmeCwMoz8=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a h1:xMEtuQp4+ltfEZcw+4smv4wechSBAus4yEAtPghXZeQ=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240326155818-c01c72c091c0 h1:xekR2FttJpwtpRfH1BFvf9Kztm9be8grT1GT9bpQK8M=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240326155818-c01c72c091c0/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
 github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a h1:Ark2dPAaSxSr45G5WJjB1P5H0tFtXnHcOIp+dM146yo=
 github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a/go.mod h1:p+2hRvtjLUR3MW1NsoJe5Gqgr2eeH49QB6+s6ze00w0=
+github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240326155818-c01c72c091c0 h1:Qk24unKC2ncZ+U+fd63pC5BdWyMwkKEOsjMdIrj70O0=
+github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240326155818-c01c72c091c0/go.mod h1:p+2hRvtjLUR3MW1NsoJe5Gqgr2eeH49QB6+s6ze00w0=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231121210617-52ee94b830c2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2 h1:+rT+UsfTR39JZO8ht2+4fkaWfHw74SCj1fyz1lWuX8A=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=

From 72a9edd9beccec043e92c5ad8e3f4594cc838562 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 3 Apr 2024 16:50:30 -0500
Subject: [PATCH 107/115] reorganize txs and scripts

---
 lib/go/templates/internal/assets/assets.go    | 392 +++++++++---------
 lib/go/templates/script_templates.go          |   4 +-
 lib/go/templates/transaction_templates.go     |   2 +-
 ...token_tests.cdc => example_token_test.cdc} |   2 +-
 ...iews_tests.cdc => metadata_views_test.cdc} |   8 +-
 ...dc => private_receiver_forwarder_test.cdc} |   0
 ...ample_token_vault_display_strict_equal.cdc |   0
 ...chboard_tests.cdc => switchboard_test.cdc} |   2 +-
 .../scripts}/get_token_metadata.cdc           |   0
 .../scripts}/get_vault_data.cdc               |   0
 .../scripts}/get_vault_display.cdc            |   0
 .../scripts}/get_vault_supply_view.cdc        |   0
 .../metadata}/scripts/get_views.cdc           |   0
 .../{ => tokenForwarder}/create_forwarder.cdc |   0
 .../scripts}/is_recipient_valid.cdc           |   0
 15 files changed, 206 insertions(+), 204 deletions(-)
 rename tests/{example_token_tests.cdc => example_token_test.cdc} (99%)
 rename tests/{metadata_views_tests.cdc => metadata_views_test.cdc} (91%)
 rename tests/{private_receiver_forwarder_tests.cdc => private_receiver_forwarder_test.cdc} (100%)
 rename {transactions/scripts/test => tests/scripts}/example_token_vault_display_strict_equal.cdc (100%)
 rename tests/{switchboard_tests.cdc => switchboard_test.cdc} (99%)
 rename transactions/{scripts/metadata => metadata/scripts}/get_token_metadata.cdc (100%)
 rename transactions/{scripts/metadata => metadata/scripts}/get_vault_data.cdc (100%)
 rename transactions/{scripts/metadata => metadata/scripts}/get_vault_display.cdc (100%)
 rename transactions/{scripts/metadata => metadata/scripts}/get_vault_supply_view.cdc (100%)
 rename {tests => transactions/metadata}/scripts/get_views.cdc (100%)
 rename transactions/{ => tokenForwarder}/create_forwarder.cdc (100%)
 rename transactions/{scripts/tokenForwarder => tokenForwarder/scripts}/is_recipient_valid.cdc (100%)

diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index e729e2f6..6e596244 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -1,9 +1,13 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // burn_tokens.cdc (1.637kB)
-// create_forwarder.cdc (2.768kB)
 // generic_transfer_with_address.cdc (2.072kB)
 // generic_transfer_with_paths.cdc (1.678kB)
+// metadata/scripts/get_token_metadata.cdc (724B)
+// metadata/scripts/get_vault_data.cdc (788B)
+// metadata/scripts/get_vault_display.cdc (782B)
+// metadata/scripts/get_vault_supply_view.cdc (865B)
+// metadata/scripts/get_views.cdc (752B)
 // metadata/setup_account_from_address.cdc (1.857kB)
 // metadata/setup_account_from_vault_reference.cdc (1.84kB)
 // mint_tokens.cdc (1.758kB)
@@ -16,12 +20,6 @@
 // scripts/get_balance.cdc (655B)
 // scripts/get_supply.cdc (177B)
 // scripts/get_supported_vault_types.cdc (903B)
-// scripts/metadata/get_token_metadata.cdc (724B)
-// scripts/metadata/get_vault_data.cdc (788B)
-// scripts/metadata/get_vault_display.cdc (782B)
-// scripts/metadata/get_vault_supply_view.cdc (865B)
-// scripts/test/example_token_vault_display_strict_equal.cdc (2.158kB)
-// scripts/tokenForwarder/is_recipient_valid.cdc (278B)
 // setup_account.cdc (1.63kB)
 // switchboard/add_vault_capability.cdc (4.321kB)
 // switchboard/add_vault_wrapper_capability.cdc (1.961kB)
@@ -34,6 +32,8 @@
 // switchboard/setup_royalty_account.cdc (4.831kB)
 // switchboard/setup_royalty_account_by_paths.cdc (4.942kB)
 // switchboard/transfer_tokens.cdc (1.684kB)
+// tokenForwarder/create_forwarder.cdc (2.768kB)
+// tokenForwarder/scripts/is_recipient_valid.cdc (278B)
 // transfer_many_accounts.cdc (1.772kB)
 // transfer_tokens.cdc (1.803kB)
 
@@ -125,26 +125,6 @@ func burn_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4f\x6f\xe3\xb6\x13\xbd\xf3\x53\xcc\xcf\x87\xfd\xd9\x81\x23\xa3\xff\x2e\x46\xb2\xc1\xd6\xdb\x14\x0b\xb4\xc5\xa2\xf1\xe6\xda\x1d\x53\x63\x93\x5d\x99\x14\xc8\x91\xb5\xc6\x22\xdf\xbd\x20\x29\xd1\x92\xf3\x07\xe9\xa5\x3e\x04\x91\xc8\x99\x79\xef\xcd\x9b\xd1\xe2\xe2\x42\x88\xb5\xd2\x1e\xd8\xa1\xf1\x28\x59\x5b\x03\xda\x03\x02\xd3\xbe\xae\x90\x09\xb6\xd6\x85\xc7\xc1\x39\x2b\x64\x90\xb6\xa9\x4a\xd8\x10\x34\x9e\x4a\xc1\x16\x3c\x31\x34\x35\xa0\x01\x94\xd2\x36\x86\x81\x6d\x08\x6e\xd1\x95\x50\x52\x6d\xbd\x66\x2a\x81\xed\x17\x32\x3e\x9c\xa1\xb1\xac\xc8\x81\x23\x49\xfa\x40\xae\x10\xe2\xc3\x16\xd0\x1c\xad\x21\xf0\x64\x4a\x3f\xbc\x1c\xea\xb8\xff\x7b\xb8\x4d\x19\xc9\xc1\x9f\x5d\xdc\x5c\xb0\xa2\xfc\x04\xad\xae\x2a\xf8\xbb\xf1\x9c\x8b\xb3\xb2\x9e\x06\xb9\xc2\xf5\x7b\x6c\x2a\x4e\x4c\x14\x7a\xd8\x10\x19\x11\x18\xa0\x8f\xc7\x8e\xa4\xae\x35\x19\x06\x34\x25\xd0\x5e\x87\x7f\x80\x0e\xe1\x4d\x0c\xd2\xa6\xd4\x12\x99\xbc\x68\x95\x96\x2a\xa2\xeb\x0b\x06\x96\xaa\x2f\x58\x74\x02\xb7\x78\x9c\x83\x0e\xfc\xc0\x6e\xb7\x97\x52\xa1\x36\xe0\xc9\x1d\xb4\x24\x68\xd1\x70\x84\xb6\xb7\x46\xb3\x75\xd0\x2a\x1b\xda\xd0\x25\xd4\x66\x27\x4e\xf0\x35\xcf\x41\x33\x48\x34\xd0\x22\x4b\x95\x60\xc5\x23\x4f\x04\xad\x22\x47\x03\x00\x20\x71\x4f\xb0\x75\x76\x5f\x08\x71\xc7\x54\x77\x37\x53\xb7\x52\xab\x3c\xb4\x9a\x55\x0a\xc8\x2c\xdc\x52\x88\xef\x0a\x58\x2b\x82\xdb\xc6\xec\xf4\xa6\x22\x58\xc7\x1b\xd2\x1a\x76\x28\x83\x0a\x4c\x6e\x8b\x92\xc0\xab\xe8\x07\xac\x1c\x61\x79\x0c\xbe\x28\xa9\xae\xec\x91\x4a\xf0\x76\x4f\x11\x94\xf8\x3e\x65\xc3\xba\xae\xb4\xc4\x90\x8f\xc7\xf9\xba\x2c\x83\xe8\x42\xfc\x90\x82\x06\x1d\xe9\xec\xd5\x5d\x56\x78\x20\xc0\xae\xa1\xc1\xac\x1c\xfd\x9c\x12\x3b\x42\xa6\x52\x00\x40\x6c\xa4\x67\xeb\xa8\x04\x6d\x40\xb3\x8f\x4f\xb8\xa3\xc4\x1d\xa1\x6e\x36\x95\xf6\x8a\xca\xec\x25\xf1\x63\x01\xef\x23\x90\xa8\xe7\xe7\xc8\xfe\x36\xf7\xa4\x90\xa5\xfc\x7c\x02\x1f\x5d\x5a\xea\xed\x96\xdc\x00\xa6\xf8\xa9\x08\x9e\x05\x04\x43\x2d\xbc\x4b\x2f\x97\xb0\x8a\xc8\x62\xda\x9e\x8f\xb1\x6e\x8f\x55\x75\x9c\x47\xb8\xac\xc8\x80\x6b\x4c\xaa\x9c\x88\xfc\x95\x5b\x93\x4a\x0f\x86\x32\x05\xed\x88\x59\x9b\x1d\x8c\x06\x22\xb4\x7e\x54\x28\x19\xf8\xcc\xe8\x85\xb8\x58\x08\xa1\xf7\xb5\x75\x0c\x93\xbe\xe1\x91\xf1\x24\xbf\xfe\xe5\x2b\xee\xeb\x47\x6f\xcf\x64\x99\x3c\x9d\xe5\x77\x62\x2c\x91\xf1\x5e\x53\xeb\x27\x42\x0c\xc0\x4f\xfb\x15\xb0\x84\x77\x65\xe9\xc8\xfb\x19\x7c\x13\x91\x51\xed\xa8\x46\x47\x53\xaf\x77\x26\x9c\x63\xc3\x6a\xfa\xb3\x75\xce\xb6\xf7\x58\x35\x34\x87\x0f\xde\x37\x74\x97\x5a\xb9\xc2\x1a\x37\xba\xd2\x7c\x5c\x85\xae\xd8\xaa\x22\x37\x87\x8f\xa9\xb1\xa7\xc3\x39\xdc\xe1\x81\xba\xf8\x4f\xa6\x3e\x3f\x9f\xc1\x9b\xae\x51\x19\x47\xf8\x55\xc4\x70\x08\x36\x7b\x8f\x8c\x70\x0d\x43\x35\x0a\x47\xde\x56\x07\x5a\x75\x6e\x08\x2c\xa7\xe1\x5d\xe3\x24\xad\x8f\x35\x2d\xc1\xe8\x6a\x0e\x07\x4d\x6d\x7a\x0c\x7f\xaf\x9e\x57\xa8\xb8\x5d\xdf\xf7\xb5\xde\x4e\x67\x33\x40\xff\x3f\x78\xdd\xf5\x9b\x8c\x38\xfc\x6e\x6e\xa0\x46\xa3\xe5\x74\xb2\x8a\xf3\x62\x2c\x07\x9f\x24\x26\x10\x12\x44\x50\xdd\xe8\x50\xf6\xf3\x64\x76\x62\xbe\x58\xc0\xaf\xc4\xbd\x61\x92\xad\x64\x96\x2b\x87\xf6\x06\xdb\x50\x30\xe1\x60\x1b\xda\x91\x86\xa7\x51\xbe\x0e\x48\x3a\xa9\xb3\x09\x66\x45\x4e\xad\xc9\x17\x3b\xe2\xab\x37\xdf\x46\xcc\x8b\xde\xdb\x0f\x6f\xa7\xb9\x21\x45\x1f\xff\x11\x59\xcd\x5e\x25\xc1\x33\x7c\xce\x98\x0f\x46\x35\xcf\x5f\xda\x26\x61\xf3\x68\xee\x3f\x29\xe7\xe3\x55\xda\x7e\x14\x07\x6b\xfc\x91\x97\xe0\xea\x12\x1e\xed\x95\x58\xf1\x0f\x6a\xf3\xc7\x6e\x9a\x35\x5b\x9e\xe4\x3b\x91\x4c\xd3\x51\x74\x0b\xad\x08\xc0\xa6\x57\x97\x31\xff\x1c\xd8\x2e\x61\xd1\x1d\x2d\x68\xe0\xd9\x9c\x7d\xcc\xf7\x93\xa9\xb4\xf9\x12\x81\xd3\x57\xed\xe3\x42\x39\x89\x73\x5e\x73\xd4\xab\xa6\x9f\xa5\x67\xdb\x32\x2c\xf4\x5b\x5f\xc6\x24\xfb\x75\xf4\x9f\x6a\xc9\x48\xb7\xb8\xdb\x7b\x0b\xac\xb0\x86\xeb\x27\xc1\xf4\x6a\xe8\xb0\x20\x5e\xb2\xd0\xc8\x2b\x11\xdb\x8b\x6a\x8d\xae\x3f\xea\xc1\x08\x42\xaf\xc6\x39\xe2\x39\x20\x2f\xe1\x5f\x6b\x94\x21\xc4\x8d\x26\x5f\xd4\x27\xdf\x7d\xbd\x40\xe7\x36\x3c\x2b\xf7\xdf\x29\x35\xc4\x9e\xa4\x5a\xc4\x73\xf9\x9c\x7d\x43\xd6\x07\xf1\x20\xfe\x09\x00\x00\xff\xff\x8f\x70\x87\x17\xd0\x0a\x00\x00"
-
-func create_forwarderCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_create_forwarderCdc,
-		"create_forwarder.cdc",
-	)
-}
-
-func create_forwarderCdc() (*asset, error) {
-	bytes, err := create_forwarderCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x2d, 0x1d, 0x46, 0xca, 0x5c, 0x15, 0x80, 0x87, 0x12, 0xa2, 0x35, 0x4c, 0x8e, 0x22, 0xeb, 0xd2, 0x7c, 0x3b, 0xff, 0x8e, 0xfc, 0x9c, 0x5f, 0x5d, 0xd3, 0xa5, 0x49, 0x96, 0x86, 0x85, 0xc0}}
-	return a, nil
-}
-
 var _generic_transfer_with_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\x4d\x6f\xdb\x46\x10\x3d\x5b\xbf\xe2\x59\x87\x84\x04\x1c\xfa\x52\xf4\x20\x38\x76\x5d\x17\xee\xa9\x45\x90\x2a\xee\x79\x44\x8e\xc4\x85\xa9\x5d\x62\x77\x28\xc5\x30\xf4\xdf\x8b\xfd\xe0\x56\x54\x6c\xc7\x3e\x58\xd2\x70\xe7\xcd\xcc\x7b\x6f\x96\x6a\xdb\x1b\x2b\x98\xdf\x0f\x7a\xa3\x56\x1d\x2f\xcd\x23\xeb\xf9\xec\xc5\xf0\x5f\x2c\xd4\x90\xd0\x83\xe2\xbd\x9b\xcf\x66\x97\x97\x97\xb8\x23\x8d\x9e\x9c\x83\xd2\x20\xfd\x84\xda\x68\xb1\x54\x0b\xa8\x69\x2c\x3b\x07\xd2\x0d\x34\x6d\x19\x62\x20\x96\xb4\x5b\xb3\x05\x41\x3c\x20\xd6\xd6\x6c\x21\x2d\x49\xce\x0b\xa0\xcb\x56\x39\x74\x2c\x0e\x4f\x66\x40\xdd\x1a\xe3\x18\xd2\x72\xca\xf2\xc1\x3d\x69\xf1\x90\x8e\x75\xe3\x73\x42\xde\xed\x71\x03\x35\x69\xac\xd8\x67\x3b\xd6\x68\xd9\xf2\x05\x9c\xc1\x9e\xba\x80\xec\x5a\x33\x74\x0d\xea\x96\xeb\x47\x90\xdd\x0c\x5b\xd6\x82\x1d\x75\x03\xbb\x00\x26\x06\x5b\x7a\x64\xb8\xc1\xc6\xe2\x4a\x0b\xeb\x86\x9b\xd4\x45\x2e\x14\xa6\xf3\x63\x8e\x23\x2b\x17\x28\xe1\x06\x4a\x87\xde\xc2\xdc\x54\x8b\x32\xba\xa0\xad\x19\xb4\x2c\xf0\xed\x5e\x7d\xff\xf5\x97\x0b\x88\x59\xe0\x36\x26\x5e\x64\xcc\x14\x78\xe1\xc9\xdf\xb4\xe5\x05\xfe\x11\xab\xf4\xa6\xc4\xf3\x6c\x06\x00\x81\x32\xc6\x03\x0d\x9d\xc0\xb2\x33\x83\xad\x39\xf2\xda\x9a\xae\x71\xff\x73\xe7\x62\x94\x2c\x63\xc5\x4a\x6f\xb2\x24\x96\x9b\x00\xd5\xb1\x40\x78\xdb\x07\xac\x05\x7e\x7b\x9e\x38\xa0\x0a\xe1\x43\xae\x7a\xbf\x0c\x81\x3f\x48\x08\x4e\xec\x50\x07\x4d\x36\x2c\xe8\x49\x5a\x17\xf4\xcd\xb0\xbb\xf1\xe8\x02\xaf\xdb\xaa\x3a\x82\x8c\x65\x7a\xcb\x3d\x59\x2e\x9c\xda\x68\xb6\x0b\xd0\x20\x6d\xf1\xbb\xb1\xd6\xec\x1f\xbc\x5a\x25\x3e\xdc\xd6\xb5\x27\x35\xf3\x91\xba\x8b\x87\x40\xb0\xbc\x66\xcb\xba\x8e\x26\x6c\x39\xb6\x02\x27\xc6\x72\x03\xa3\x43\x2c\x49\x46\x11\x0b\x24\xc7\xd1\x7e\x58\x75\xaa\xfe\x42\xd2\xe6\x02\x7e\x24\xcf\x75\xb7\x63\xfb\x95\xd7\xf8\xec\xe7\x4e\x9d\x14\x27\x42\x96\x39\xcb\xff\x55\xe3\x53\x57\xad\x42\x8b\x57\x1f\xa6\x34\x1f\xae\x0b\x1d\x74\x3e\x56\x7d\x8a\x71\x73\x83\x9e\xb4\xaa\x8b\xf9\x5d\xf0\xb1\x36\x82\xd5\xab\xf3\xae\x13\xfa\x89\x75\xe7\xe5\x84\xaf\x6f\x2e\x99\x66\x92\x6f\x59\xac\xe2\x5d\xdc\x81\xfb\xa5\x57\x09\x39\xcb\x71\xb7\xae\xb2\xb0\xf8\x7c\xcc\x48\x95\xbe\xdf\xa5\x6a\x3e\xb3\x18\xdd\xb9\x7c\xea\x79\x01\xad\xba\x0b\xec\x14\xef\xe3\x4f\xff\xff\xea\x7d\xde\xb8\x2e\xca\x12\xe4\xce\xdf\x69\xa5\x9b\x9f\x92\x97\x9a\x1d\xa7\xcc\x23\xf9\xee\xb0\x36\x36\x3c\xd8\xa8\x1d\xeb\x5c\xf2\x6d\x36\xff\x64\x79\x49\x8a\x68\xe3\x8f\x6e\x74\x5f\x20\x6f\x62\xaa\x10\x89\x8e\x8a\x87\x2b\x7f\x94\x36\x3c\xba\x25\x6c\xc0\x74\x2f\xff\x55\xd2\x36\x96\xf6\x25\x4e\xac\x54\x7d\xb1\x66\xa7\x1a\xb6\x87\xeb\xc2\x6f\xe3\xe2\x44\xb2\x11\xdb\x5b\xbb\x9c\x9d\x9d\x9d\xbd\x61\xac\x1f\x66\x31\xfb\x38\x4a\x60\xeb\xfc\x78\xfe\x50\x24\xdf\x23\xb8\xfa\x94\xa7\xaa\xf6\xa9\xd5\x7c\x13\xc6\xcf\x68\xef\x74\xb5\xf0\x77\xae\x07\x61\x3c\x9f\x6c\x5b\xad\x7a\xe5\xaf\xe9\xc9\xae\x89\x29\x4f\x8f\xb1\xca\x4b\x99\x93\xaa\x9a\x7a\x5a\xa9\x4e\x89\xe2\xd7\x16\xaf\xfa\x9a\x72\x0f\xd7\xc5\x09\x4f\x23\x6a\x24\xea\x9d\xab\xf8\x03\x63\xb9\x9b\x8f\x0e\x63\xad\xf3\x13\xe3\x2c\xc7\xb7\x64\xba\xb1\xd3\x4b\xf2\x15\xeb\x1c\x21\x07\x34\xe4\x31\x9f\x32\xe8\x11\x23\x55\xc3\xbd\x71\x4a\x92\x19\xae\x3e\x4d\x95\x1a\x55\x38\xfc\x17\x00\x00\xff\xff\xb0\x78\xc6\x50\x18\x08\x00\x00"
 
 func generic_transfer_with_addressCdcBytes() ([]byte, error) {
@@ -185,6 +165,106 @@ func generic_transfer_with_pathsCdc() (*asset, error) {
 	return a, nil
 }
 
+var _metadataScriptsGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x92\x51\x6b\xab\x40\x10\x85\xdf\xfd\x15\x73\x7d\xb8\x28\x5c\xfc\x01\x12\x13\x42\x6e\xf3\x56\x28\x21\xf4\x7d\xb2\x8e\xc9\xd2\x75\x57\x66\x47\xd3\x52\xfa\xdf\xcb\xba\x9a\xa6\x85\xa4\x3e\xa8\x3b\x1c\xcf\x7e\xe7\xb8\xba\xed\x1c\x0b\xa4\x0f\xaf\xd8\x76\x86\xf6\xee\x85\x6c\x9a\xcc\xd3\x6d\x6f\x8f\xfa\x30\x8d\x1f\x49\xb0\x46\xc1\x67\x4d\x67\x7f\x43\xf3\x35\x0e\xaa\x1d\x79\x67\x06\xe2\x34\x49\x50\x29\xf2\x3e\x43\x63\x72\x68\x7a\x0b\x2d\x6a\x9b\x61\x5d\x33\x79\x5f\xc2\x3a\xbe\xe4\x25\xdc\xde\xb1\xd8\xee\xc3\x13\xde\x13\x00\x00\x43\x02\xa8\x94\xeb\xad\x40\x05\x47\x92\x75\x5c\xcc\x9e\x79\x72\x91\x0d\xd8\x1b\xf9\x8f\x82\x50\xc1\x75\xcc\x82\x23\xde\xc6\x59\x61\x54\x12\xdc\xb3\x30\xeb\x59\xd1\xfe\xad\xa3\x12\xac\x36\xff\x60\xd0\x74\x8e\xcb\x70\x5f\xdc\x27\x9c\xf7\x5a\x66\x79\x0e\xe8\xff\xfc\x12\x68\x96\xaf\x46\xda\x70\xad\x56\xd0\xa1\xd5\x2a\x4b\x37\xae\x37\x35\x58\x27\x21\x5e\x4c\x01\xe1\xe3\x11\x08\x1a\xc7\x20\x27\x02\x35\xd1\xa7\x3f\x13\xef\xa8\x81\x6a\xee\xa8\x50\xd8\xe1\x41\x1b\x2d\x9a\x7c\x71\x70\xcc\xee\xbc\xf8\xfb\xad\x8d\x91\x65\x99\x5d\xda\x2a\xda\x09\xf6\x09\xe5\x94\xdf\xe5\x8b\x7e\x80\xc0\xd4\x10\x93\x55\x04\xe2\x46\xba\x48\xcd\xf3\x39\xb8\x62\x6c\xc6\xbe\xa1\xba\x57\xd0\x91\x24\xfe\xf4\x6c\xb8\x3a\x4d\xe5\x25\xdf\x64\xc7\x24\x3d\xdb\xc9\x31\xf9\x48\x3e\x03\x00\x00\xff\xff\xc9\x37\x5b\x08\xd4\x02\x00\x00"
+
+func metadataScriptsGet_token_metadataCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_metadataScriptsGet_token_metadataCdc,
+		"metadata/scripts/get_token_metadata.cdc",
+	)
+}
+
+func metadataScriptsGet_token_metadataCdc() (*asset, error) {
+	bytes, err := metadataScriptsGet_token_metadataCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "metadata/scripts/get_token_metadata.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0xfc, 0x4e, 0xb4, 0x47, 0xb8, 0x1e, 0xb9, 0x13, 0x51, 0x56, 0xbe, 0x7c, 0x8b, 0x10, 0x98, 0x7c, 0xa, 0xb3, 0x49, 0x78, 0x0, 0x61, 0x80, 0xd6, 0x16, 0x9d, 0x83, 0x3f, 0xf7, 0xcd, 0xdb}}
+	return a, nil
+}
+
+var _metadataScriptsGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\x5f\x6b\xea\x40\x10\xc5\xdf\xf3\x29\xce\xcd\xc3\x25\x81\x4b\x3e\x80\xf8\x07\xf1\xd6\xb7\x42\x11\xf1\x7d\xdc\x4c\x74\xe9\x66\x37\xec\x4e\xb4\xa5\xf4\xbb\x97\x4d\x8c\xda\x52\xc5\x3c\x84\xec\x61\x66\xe7\x77\x4e\x46\xd7\x8d\xf3\x82\xf4\xe9\x8d\xea\xc6\xf0\xda\xbd\xb2\x4d\x93\x41\x5d\xb6\x76\xa7\xb7\x27\xf9\x99\x85\x4a\x12\xda\x68\x3e\x86\x1b\x35\x17\x39\x56\xad\x38\x38\x73\x60\x9f\x26\x09\x29\xc5\x21\x64\x64\x4c\x8e\xaa\xb5\xa8\x49\xdb\x8c\xca\xd2\x73\x08\x23\xcc\xfb\x8f\x7c\x84\xdb\x13\x8b\xe5\x7a\x43\xad\x91\xff\x24\x84\x8f\x04\x00\x0c\x0b\x48\x29\xd7\x5a\xc1\x04\x3b\x96\x79\x7f\x18\x2e\xce\x93\x73\xd9\xe1\xdc\x3a\xc1\xb5\xd7\xc2\xf7\x8c\x0b\x67\xc5\x93\x92\x38\x2a\x8b\x5a\xeb\x15\xaf\xdf\x1b\x1e\xc1\x6a\xf3\x0f\x07\xcd\xc7\xfe\x18\xdf\xe3\xc7\x30\xa7\x59\x9e\x83\xc2\x9f\x07\x5d\xcd\x3a\xda\xf8\xcc\x66\x68\xc8\x6a\x95\xa5\x0b\xd7\x9a\x12\xd6\x49\xb4\xd7\xbb\x40\x6c\xee\x80\x50\x39\x0f\xd9\x33\xd4\x89\x3e\xfd\xe9\x78\xc5\x15\x26\x43\x46\x85\xa2\x86\xb6\xda\x68\xd1\x1c\x8a\xad\xf3\xde\x1d\xc7\x7f\xbf\xa5\xd1\xb1\x4c\xb3\x73\x5a\x45\x7d\x82\x7d\x21\xd9\xe7\x77\xf9\xfa\xfb\x40\xf0\x5c\xb1\x67\xab\x18\xe2\x3a\xba\x9e\xda\x0f\xcb\x70\xe3\xaf\xdc\xc9\x68\xc7\x72\x15\x53\x36\x38\xfb\x8d\xa7\xeb\x46\xe9\x38\x74\x50\x3a\x5a\xab\xd9\x0a\xae\xb7\x27\x66\x37\x60\x78\x96\xd6\xdb\x0b\x49\xf2\x99\x7c\x05\x00\x00\xff\xff\x3b\x31\x07\x10\x14\x03\x00\x00"
+
+func metadataScriptsGet_vault_dataCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_metadataScriptsGet_vault_dataCdc,
+		"metadata/scripts/get_vault_data.cdc",
+	)
+}
+
+func metadataScriptsGet_vault_dataCdc() (*asset, error) {
+	bytes, err := metadataScriptsGet_vault_dataCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "metadata/scripts/get_vault_data.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xac, 0x3d, 0xd, 0xf, 0x6f, 0x5f, 0xca, 0x47, 0x3d, 0x78, 0x5f, 0xb, 0xa, 0x53, 0x78, 0xe, 0x43, 0x6b, 0x95, 0xa2, 0x5a, 0x6d, 0x68, 0xae, 0xde, 0x44, 0x79, 0x1, 0xf1, 0xc0, 0x85, 0x5e}}
+	return a, nil
+}
+
+var _metadataScriptsGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\x51\x6b\xc2\x30\x10\xc7\xdf\xfb\x29\x6e\x7d\x18\x2d\x8c\x7e\x00\xb1\x8a\xe8\x7c\x1b\x0c\x11\xdf\xcf\xf4\xaa\x61\x69\x52\x92\xab\x4e\xc6\xbe\xfb\x48\x63\xaa\x1b\xb3\x7d\x28\xc9\xf1\x4f\xee\xf7\xff\xe7\x64\xd3\x1a\xcb\x90\xbe\x7e\x62\xd3\x2a\xda\x9a\x0f\xd2\x69\x12\xab\xeb\x4e\x1f\xe4\xfe\x5a\x7e\x23\xc6\x0a\x19\x77\x92\xce\xee\x81\xe6\x56\xf6\xaa\x0d\x39\xa3\x4e\x64\xd3\x24\x41\x21\xc8\xb9\x0c\x95\xca\xa1\xee\x34\x34\x28\x75\x86\x55\x65\xc9\xb9\x09\x2c\xc2\x22\x9f\xc0\xe3\x8e\xc5\x7a\xbb\x92\xae\x55\x78\x81\xaf\x04\x00\x40\x11\x03\x0a\x61\x3a\xcd\x50\xc2\x81\x78\x11\x36\xf1\xda\x3c\x19\x64\x27\xec\x14\xaf\x90\x11\x4a\xb8\x77\x5a\xd8\x40\xb8\x34\x9a\x2d\x0a\xf6\x8d\x32\x5f\xeb\xac\xa0\xed\xa5\xa5\x09\x68\xa9\x5e\xe0\x24\xe9\x1c\xb6\xfe\x3f\x1d\x85\xdc\xc5\x5e\xb3\x2c\xcf\x01\xdd\xd3\xb8\xa7\x41\x3e\xef\x69\xfd\x37\x9f\x43\x8b\x5a\x8a\x2c\x5d\x9a\x4e\x55\xa0\x0d\x7b\x7b\xc1\x05\xf8\xc3\x3d\x10\xd4\xc6\x02\x1f\x09\xc4\x95\x3e\xfd\xeb\x78\x43\x35\x94\x31\xa3\x42\x60\x8b\x7b\xa9\x24\x4b\x72\xc5\xde\x58\x6b\xce\xd3\xe7\x5f\x69\xf4\x2c\xb3\x6c\x48\xab\x68\xae\xb0\xef\xc8\xc7\x7c\x94\x2f\xdc\x07\x08\x96\x6a\xb2\xa4\x05\x01\x9b\x9e\x2e\x50\xdb\x38\x0a\x77\x8c\x35\xc7\x07\x2d\xc7\x32\x3a\x10\x0f\x4f\x9f\x45\x5f\xff\xd1\xf4\x67\xa1\x32\xe4\x7a\x24\xe9\x8d\x35\xa4\x19\x6e\x93\xe3\x73\x8b\x08\x96\xb8\xb3\xfa\x46\x91\x7c\x27\x3f\x01\x00\x00\xff\xff\xbd\x1a\x99\xeb\x0e\x03\x00\x00"
+
+func metadataScriptsGet_vault_displayCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_metadataScriptsGet_vault_displayCdc,
+		"metadata/scripts/get_vault_display.cdc",
+	)
+}
+
+func metadataScriptsGet_vault_displayCdc() (*asset, error) {
+	bytes, err := metadataScriptsGet_vault_displayCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "metadata/scripts/get_vault_display.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x78, 0x95, 0x2f, 0x6d, 0x3e, 0x77, 0x8, 0x66, 0x9b, 0x5d, 0x2d, 0xd3, 0x7e, 0xb4, 0xb0, 0x7b, 0xa4, 0xd4, 0x2c, 0x68, 0xc3, 0x3d, 0x31, 0xea, 0x37, 0x8c, 0xaf, 0x8a, 0x30, 0xd6, 0xc3, 0x8b}}
+	return a, nil
+}
+
+var _metadataScriptsGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x52\xc1\x8e\xd3\x30\x10\xbd\xfb\x2b\xde\xf6\x00\x89\x84\xd2\x0b\xe2\x50\x6d\xb6\x5a\x2d\x94\x13\x12\x5a\xca\xde\xa7\xce\x64\xd7\xc2\xb1\x23\x7b\xd2\x6e\x85\xf8\x77\xe4\xb8\x69\x0a\xd2\xb2\xf4\x50\xd9\x93\xf1\x9b\xf7\xde\x3c\xd3\xf5\x3e\x08\x16\x9f\x9e\xa9\xeb\x2d\x6f\xfd\x0f\x76\x0b\x35\x55\x37\x83\x7b\x34\xbb\x53\xf9\x0b\x0b\x35\x24\xf4\x60\xf8\x10\x5f\xe8\x99\xcb\xa9\xeb\x9e\xa3\xb7\x7b\x0e\x0b\xa5\x96\xcb\x25\x3e\xb3\x44\xc8\x13\x43\xbc\x90\x45\x1c\xfa\xde\x1e\xe1\xdb\xb1\xb6\xa7\xc1\xca\xdb\x08\x49\x30\x68\x4c\x60\x2d\xf6\x88\x36\xf8\x6e\xfe\xae\x14\x69\xcd\x31\x16\x64\x6d\x89\x76\x70\xe8\xc8\xb8\x82\x9a\x26\x70\x8c\x2b\xdc\xe6\x43\xb9\xc2\xf7\x8d\x79\xfe\xf0\x1e\x3f\x15\x00\x58\x16\x90\xd6\x7e\x70\x82\x1a\x8f\x2c\xb7\xf9\x32\x3d\x2c\xd5\xb9\x6d\x1c\xf3\x91\x84\x50\xe3\xd2\x93\x2a\x64\x2d\x77\xde\x49\x20\x2d\x49\x5e\x91\x6a\x43\xd0\xbc\x3d\xf6\xbc\x82\x33\xf6\x1d\xf6\x86\x0f\xf9\x9a\xfe\xaf\x5f\x36\xb0\xda\x6c\x1f\xa6\x59\x37\x45\x59\x82\xe2\x15\xfe\xaf\x7d\x3d\xb2\x4d\xbf\xf5\x1a\x3d\x39\xa3\x8b\xc5\x9d\x1f\x6c\x03\xe7\x25\xc9\xcb\x2a\x90\x1e\x8f\x84\xd0\xfa\x30\x9a\xa8\x4f\xec\x17\x7f\x2b\xbe\xe7\x16\xf5\xe4\x51\xa5\xa9\xa7\x9d\xb1\x46\x0c\xc7\x6a\xe7\x43\xf0\x87\xeb\x37\x7f\xb8\x31\x72\xb9\x29\xce\x6e\x55\xdd\x89\xec\x57\x92\xa7\xf2\x9f\xfc\x32\x1e\x08\x81\x5b\x0e\xec\x74\xca\xc3\xbc\x62\x84\x29\x34\x17\x1c\x5b\xf9\x96\xc3\x52\x9f\xe9\x4e\x0b\x19\x17\xf1\x9a\xd7\xdb\x14\xb8\x0c\x91\xbc\xbe\x9a\x91\x73\x08\x53\x17\xea\x79\xcc\x2b\xbb\xb8\x80\xcb\x48\x81\x65\x08\xee\x02\xac\xca\x47\xf5\x4b\xfd\x0e\x00\x00\xff\xff\x3c\x7c\x95\xe9\x61\x03\x00\x00"
+
+func metadataScriptsGet_vault_supply_viewCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_metadataScriptsGet_vault_supply_viewCdc,
+		"metadata/scripts/get_vault_supply_view.cdc",
+	)
+}
+
+func metadataScriptsGet_vault_supply_viewCdc() (*asset, error) {
+	bytes, err := metadataScriptsGet_vault_supply_viewCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "metadata/scripts/get_vault_supply_view.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd4, 0x58, 0x26, 0x46, 0x13, 0x4a, 0x14, 0x30, 0x81, 0x47, 0x51, 0x27, 0xa, 0x1b, 0xb8, 0xda, 0x1a, 0x8e, 0x71, 0x73, 0x2, 0xb6, 0x49, 0x3e, 0x82, 0x6b, 0x6b, 0xe7, 0x57, 0x52, 0xd6, 0x81}}
+	return a, nil
+}
+
+var _metadataScriptsGet_viewsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x91\x41\x6b\x1b\x31\x10\x85\xef\xfa\x15\xaf\x7b\x28\xbb\x50\xd6\x77\x13\xc7\xa4\x69\x73\x2b\x94\x62\x72\x29\x3d\x8c\xb5\x63\x5b\x44\x2b\x2d\x9a\x91\x93\x50\xfa\xdf\x8b\xb4\xb6\x5b\x1f\x52\xba\x87\x45\x1a\xde\xbc\xf9\xe6\x69\xb1\xc0\xe6\xe0\x04\x62\x93\x9b\x14\xf6\xc0\xf6\x49\xa0\x07\x86\xe4\x69\x8a\x49\x79\xc0\xd1\xf1\xb3\x60\x97\xe2\x88\xcf\x2f\x34\x4e\x9e\x37\xf1\x89\x83\x59\x2c\x40\x89\xab\x98\x5f\x26\xb6\x45\x1b\x03\x4b\x3f\x5b\x3a\xc1\xc8\x89\xfd\x2b\xb2\xf0\x00\x17\xa0\x2c\xea\xc2\xbe\x37\xc6\x8d\xc5\x1b\xcd\x17\x56\x1a\x48\xe9\xb1\x8c\x68\x2e\xe5\xbf\xc7\xfc\xa9\x3e\xe4\xb0\x77\xdb\x53\xf9\x8d\xce\x2b\x4d\x63\x0c\x59\xcb\x22\x2d\x79\xdf\x61\x97\x03\x46\x72\xa1\xa5\x61\x48\x2c\xb2\xc4\xdd\x7c\xe8\x96\xf8\xbe\x79\x9d\xf8\x07\x7e\x1a\x00\xf0\xac\x20\x6b\x63\x0e\x8a\x15\xf6\xac\x77\xf3\xe5\xdc\xd8\x99\x8b\xec\x48\xd9\xeb\x27\x52\xc2\xea\x2a\x9c\x3e\xb1\x44\x7f\xe4\xfb\x18\x34\x91\xd5\x82\xd9\x96\x5a\x4e\x96\xcb\xac\x25\x82\xf3\x1f\x6a\xb6\xf3\xb5\xfc\x6f\xde\x5e\xb1\x7f\xd8\x3c\x9e\x67\xdd\xb6\x5d\x07\x92\x77\xf8\x3f\xf9\xba\xd2\x96\x6f\xbd\xc6\x44\xc1\xd9\xb6\xb9\x8f\xd9\x0f\x08\x51\xcb\x7a\xf3\x16\x28\xcd\x15\x08\xbb\x98\xea\xb3\xda\x13\x7d\xd3\x55\x8b\xeb\xad\xbf\xf1\x0e\xab\x73\x4e\xbd\xa5\x89\xb6\xce\x3b\x75\x2c\xfd\x36\xa6\x14\x9f\x6f\xde\x5f\x25\x52\x79\x6e\xdb\x4b\x62\xfd\x78\x02\xfe\x4a\x7a\xe8\xfe\xc9\x38\xfb\xe1\x23\x79\x0a\x96\x91\x78\xc7\x89\xcb\x49\x63\xe5\xac\xd6\xcd\xe9\x59\x12\x6b\x4e\xe1\xc2\xd8\xef\xb9\xa6\x2f\x6d\x67\x7e\x99\xdf\x01\x00\x00\xff\xff\x9a\x49\x7d\xdd\xf0\x02\x00\x00"
+
+func metadataScriptsGet_viewsCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_metadataScriptsGet_viewsCdc,
+		"metadata/scripts/get_views.cdc",
+	)
+}
+
+func metadataScriptsGet_viewsCdc() (*asset, error) {
+	bytes, err := metadataScriptsGet_viewsCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "metadata/scripts/get_views.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xeb, 0x1, 0x21, 0x5a, 0x4e, 0xde, 0x51, 0x33, 0x58, 0xe4, 0x32, 0xf3, 0x7, 0xfc, 0xf0, 0x18, 0x22, 0xde, 0x44, 0x9f, 0x42, 0x62, 0x4, 0x10, 0x88, 0xe2, 0xce, 0x90, 0x4c, 0xc2, 0xd1}}
+	return a, nil
+}
+
 var _metadataSetup_account_from_addressCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x54\x4b\x6f\xdb\x3c\x10\xbc\xeb\x57\xec\xe7\x43\x20\x03\x8e\x7c\x37\x9c\x04\xf9\xdc\xe6\xd6\xa2\x48\xdc\xdc\xd7\xd4\xca\x22\x22\x93\x02\x77\x69\x35\x08\xfc\xdf\x0b\x52\x8f\x48\x79\x34\x45\xaa\x83\x21\x73\x9f\x33\x9c\x91\x3e\xd4\xd6\x09\xcc\x6e\xbc\xd9\xeb\x5d\x45\x5b\xfb\x40\x66\x96\xbc\x79\xfc\x8d\x04\x73\x14\xbc\xd7\xd4\xf0\x2c\x49\x96\xcb\x25\x6c\x4b\xcd\x20\x0e\x0d\xa3\x12\x6d\x0d\x68\x86\xa6\x44\x01\x34\x80\x4a\x59\x6f\x04\x1a\xeb\xab\x1c\x9c\x37\xb1\x42\x2c\x30\x09\x68\x61\xaa\x0a\xf0\x75\x38\x38\xa0\xc1\x3d\x41\xd1\x4d\x03\x09\xe3\x38\x6b\xbb\x17\xde\xc4\xd6\xb1\xda\x33\x31\x1c\xc3\x02\xa1\xee\xc1\xd8\x06\x9a\x92\x1c\xf5\x6d\x43\xbf\x92\xe0\x88\xbe\x92\x58\xa0\x0d\xb0\x58\x17\xda\xa3\xc9\x43\x9a\x72\x84\x42\x31\x8d\x0e\xb5\x3c\xb6\xc9\x59\x92\x8c\x60\xa4\xca\x1a\x71\xa8\xe4\x3a\xcf\x1d\x31\xaf\xa0\x7b\x59\x40\x1f\xf9\x8e\x07\x5a\xc1\x9d\x38\x6d\xf6\x73\x78\x4a\x12\x00\x80\xda\x51\x8d\x8e\x52\xd6\x7b\x43\x6e\x05\xe8\xa5\x4c\xef\xf0\x48\xf7\x58\x79\x5a\xc0\x06\x6b\xdc\xe9\x4a\x8b\x26\x9e\xc3\xd9\x75\xcb\x50\x28\x87\xee\x59\x2e\xe1\x7f\xeb\x9c\x6d\x00\xc1\x51\x41\x8e\x8c\x8a\xe8\x06\x58\x11\x0f\xe5\x60\x4d\x3c\xab\x91\x99\xf2\x81\x6c\x94\xf1\x69\xed\x77\x95\x56\x3f\x50\xca\x61\x40\x45\x02\x8e\xd8\x56\x47\x72\xb7\x54\xc0\x05\xec\x49\xba\x45\x5e\xc2\x9e\x0f\x55\xe1\xc9\xfa\x28\x67\xbb\xb8\xe2\xfa\xec\x69\x22\x90\xd3\x65\x6a\x22\x2b\x63\x8e\xa6\x3d\xae\xae\xa0\x46\xa3\x55\x3a\xdb\x44\x55\x18\x2b\xb0\x7b\x17\xef\x54\x10\x43\xdb\xd9\x3c\x19\xf3\xf5\x93\xc3\x6d\xa2\x4c\xeb\x1d\x89\xd3\x74\x6c\x2f\xfa\x66\x1b\x44\x0b\x13\x12\x0a\xb9\x0f\x74\x7e\x41\x41\xb8\x18\x53\x92\x75\xef\x9b\x6e\x5c\x28\x4d\xc3\x99\x77\x8a\xb6\x8f\x35\xad\xc0\xe8\x6a\x11\x65\xd8\xfe\x0d\xbf\xeb\xf7\xbd\x92\xdd\x6c\x87\x51\x97\xe9\x7c\x0e\xc8\xff\xc1\xdf\xa5\x5f\x7d\xc8\x5e\xb7\x6c\x0f\x73\x80\x14\xb6\x83\xc2\xba\x18\xd8\xeb\x23\x99\x61\xe4\x9f\xe9\xdc\xb4\xfe\x40\x30\xd4\x8c\x1d\x02\x9e\xb5\xd9\xc7\x76\xad\x85\xbe\x86\x58\x1c\x38\x78\x14\xb4\x61\x9d\xbf\x5a\x66\xc2\x3b\x3d\x97\xad\xcf\x47\x97\x90\xbd\xec\x9a\x4e\xf7\x0a\x36\x02\x2d\xbd\x36\x3a\xc1\x0f\x19\xad\xe5\xb2\xce\xec\x19\xe3\x91\xd2\xf5\xf9\xf3\xb0\x05\x88\x5d\x8d\x2f\xbd\x4f\x0d\xee\x78\x16\xe9\x9b\x4c\xb4\x36\x02\xd5\xbb\xf7\x71\x20\xb6\x65\xa6\x29\xb5\x2a\x41\x1b\x55\xf9\x9c\x38\x06\xb2\xdb\x4e\x50\xa0\x8d\x90\x2b\x50\xd1\x84\x85\x58\xb8\xc1\x1a\x2e\xfa\xcd\xd5\xe8\xdb\x30\xc0\xd0\xcc\x9e\x5e\xfa\x2c\x8b\x18\x4e\x97\xe9\x87\x68\xde\x6a\x1d\xc1\x70\x99\xf6\x1b\x2c\x00\x65\x4a\xcc\xa1\x53\x63\xdb\xeb\x53\x8c\xd0\xaf\xda\x0e\x72\x71\xa4\x48\xbf\x4f\x45\x1f\xfe\x2c\x1b\xb7\x5d\xfd\xbf\x12\x32\xda\xe3\x35\x27\x7d\x70\xc4\xc9\x29\x39\x25\xf0\x3b\x00\x00\xff\xff\xc6\x61\x97\x91\x41\x07\x00\x00"
 
 func metadataSetup_account_from_addressCdcBytes() ([]byte, error) {
@@ -425,126 +505,6 @@ func scriptsGet_supported_vault_typesCdc() (*asset, error) {
 	return a, nil
 }
 
-var _scriptsMetadataGet_token_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x92\x51\x6b\xab\x40\x10\x85\xdf\xfd\x15\x73\x7d\xb8\x28\x5c\xfc\x01\x12\x13\x42\x6e\xf3\x56\x28\x21\xf4\x7d\xb2\x8e\xc9\xd2\x75\x57\x66\x47\xd3\x52\xfa\xdf\xcb\xba\x9a\xa6\x85\xa4\x3e\xa8\x3b\x1c\xcf\x7e\xe7\xb8\xba\xed\x1c\x0b\xa4\x0f\xaf\xd8\x76\x86\xf6\xee\x85\x6c\x9a\xcc\xd3\x6d\x6f\x8f\xfa\x30\x8d\x1f\x49\xb0\x46\xc1\x67\x4d\x67\x7f\x43\xf3\x35\x0e\xaa\x1d\x79\x67\x06\xe2\x34\x49\x50\x29\xf2\x3e\x43\x63\x72\x68\x7a\x0b\x2d\x6a\x9b\x61\x5d\x33\x79\x5f\xc2\x3a\xbe\xe4\x25\xdc\xde\xb1\xd8\xee\xc3\x13\xde\x13\x00\x00\x43\x02\xa8\x94\xeb\xad\x40\x05\x47\x92\x75\x5c\xcc\x9e\x79\x72\x91\x0d\xd8\x1b\xf9\x8f\x82\x50\xc1\x75\xcc\x82\x23\xde\xc6\x59\x61\x54\x12\xdc\xb3\x30\xeb\x59\xd1\xfe\xad\xa3\x12\xac\x36\xff\x60\xd0\x74\x8e\xcb\x70\x5f\xdc\x27\x9c\xf7\x5a\x66\x79\x0e\xe8\xff\xfc\x12\x68\x96\xaf\x46\xda\x70\xad\x56\xd0\xa1\xd5\x2a\x4b\x37\xae\x37\x35\x58\x27\x21\x5e\x4c\x01\xe1\xe3\x11\x08\x1a\xc7\x20\x27\x02\x35\xd1\xa7\x3f\x13\xef\xa8\x81\x6a\xee\xa8\x50\xd8\xe1\x41\x1b\x2d\x9a\x7c\x71\x70\xcc\xee\xbc\xf8\xfb\xad\x8d\x91\x65\x99\x5d\xda\x2a\xda\x09\xf6\x09\xe5\x94\xdf\xe5\x8b\x7e\x80\xc0\xd4\x10\x93\x55\x04\xe2\x46\xba\x48\xcd\xf3\x39\xb8\x62\x6c\xc6\xbe\xa1\xba\x57\xd0\x91\x24\xfe\xf4\x6c\xb8\x3a\x4d\xe5\x25\xdf\x64\xc7\x24\x3d\xdb\xc9\x31\xf9\x48\x3e\x03\x00\x00\xff\xff\xc9\x37\x5b\x08\xd4\x02\x00\x00"
-
-func scriptsMetadataGet_token_metadataCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_scriptsMetadataGet_token_metadataCdc,
-		"scripts/metadata/get_token_metadata.cdc",
-	)
-}
-
-func scriptsMetadataGet_token_metadataCdc() (*asset, error) {
-	bytes, err := scriptsMetadataGet_token_metadataCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "scripts/metadata/get_token_metadata.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0xfc, 0x4e, 0xb4, 0x47, 0xb8, 0x1e, 0xb9, 0x13, 0x51, 0x56, 0xbe, 0x7c, 0x8b, 0x10, 0x98, 0x7c, 0xa, 0xb3, 0x49, 0x78, 0x0, 0x61, 0x80, 0xd6, 0x16, 0x9d, 0x83, 0x3f, 0xf7, 0xcd, 0xdb}}
-	return a, nil
-}
-
-var _scriptsMetadataGet_vault_dataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\x5f\x6b\xea\x40\x10\xc5\xdf\xf3\x29\xce\xcd\xc3\x25\x81\x4b\x3e\x80\xf8\x07\xf1\xd6\xb7\x42\x11\xf1\x7d\xdc\x4c\x74\xe9\x66\x37\xec\x4e\xb4\xa5\xf4\xbb\x97\x4d\x8c\xda\x52\xc5\x3c\x84\xec\x61\x66\xe7\x77\x4e\x46\xd7\x8d\xf3\x82\xf4\xe9\x8d\xea\xc6\xf0\xda\xbd\xb2\x4d\x93\x41\x5d\xb6\x76\xa7\xb7\x27\xf9\x99\x85\x4a\x12\xda\x68\x3e\x86\x1b\x35\x17\x39\x56\xad\x38\x38\x73\x60\x9f\x26\x09\x29\xc5\x21\x64\x64\x4c\x8e\xaa\xb5\xa8\x49\xdb\x8c\xca\xd2\x73\x08\x23\xcc\xfb\x8f\x7c\x84\xdb\x13\x8b\xe5\x7a\x43\xad\x91\xff\x24\x84\x8f\x04\x00\x0c\x0b\x48\x29\xd7\x5a\xc1\x04\x3b\x96\x79\x7f\x18\x2e\xce\x93\x73\xd9\xe1\xdc\x3a\xc1\xb5\xd7\xc2\xf7\x8c\x0b\x67\xc5\x93\x92\x38\x2a\x8b\x5a\xeb\x15\xaf\xdf\x1b\x1e\xc1\x6a\xf3\x0f\x07\xcd\xc7\xfe\x18\xdf\xe3\xc7\x30\xa7\x59\x9e\x83\xc2\x9f\x07\x5d\xcd\x3a\xda\xf8\xcc\x66\x68\xc8\x6a\x95\xa5\x0b\xd7\x9a\x12\xd6\x49\xb4\xd7\xbb\x40\x6c\xee\x80\x50\x39\x0f\xd9\x33\xd4\x89\x3e\xfd\xe9\x78\xc5\x15\x26\x43\x46\x85\xa2\x86\xb6\xda\x68\xd1\x1c\x8a\xad\xf3\xde\x1d\xc7\x7f\xbf\xa5\xd1\xb1\x4c\xb3\x73\x5a\x45\x7d\x82\x7d\x21\xd9\xe7\x77\xf9\xfa\xfb\x40\xf0\x5c\xb1\x67\xab\x18\xe2\x3a\xba\x9e\xda\x0f\xcb\x70\xe3\xaf\xdc\xc9\x68\xc7\x72\x15\x53\x36\x38\xfb\x8d\xa7\xeb\x46\xe9\x38\x74\x50\x3a\x5a\xab\xd9\x0a\xae\xb7\x27\x66\x37\x60\x78\x96\xd6\xdb\x0b\x49\xf2\x99\x7c\x05\x00\x00\xff\xff\x3b\x31\x07\x10\x14\x03\x00\x00"
-
-func scriptsMetadataGet_vault_dataCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_scriptsMetadataGet_vault_dataCdc,
-		"scripts/metadata/get_vault_data.cdc",
-	)
-}
-
-func scriptsMetadataGet_vault_dataCdc() (*asset, error) {
-	bytes, err := scriptsMetadataGet_vault_dataCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "scripts/metadata/get_vault_data.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xac, 0x3d, 0xd, 0xf, 0x6f, 0x5f, 0xca, 0x47, 0x3d, 0x78, 0x5f, 0xb, 0xa, 0x53, 0x78, 0xe, 0x43, 0x6b, 0x95, 0xa2, 0x5a, 0x6d, 0x68, 0xae, 0xde, 0x44, 0x79, 0x1, 0xf1, 0xc0, 0x85, 0x5e}}
-	return a, nil
-}
-
-var _scriptsMetadataGet_vault_displayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x92\x51\x6b\xc2\x30\x10\xc7\xdf\xfb\x29\x6e\x7d\x18\x2d\x8c\x7e\x00\xb1\x8a\xe8\x7c\x1b\x0c\x11\xdf\xcf\xf4\xaa\x61\x69\x52\x92\xab\x4e\xc6\xbe\xfb\x48\x63\xaa\x1b\xb3\x7d\x28\xc9\xf1\x4f\xee\xf7\xff\xe7\x64\xd3\x1a\xcb\x90\xbe\x7e\x62\xd3\x2a\xda\x9a\x0f\xd2\x69\x12\xab\xeb\x4e\x1f\xe4\xfe\x5a\x7e\x23\xc6\x0a\x19\x77\x92\xce\xee\x81\xe6\x56\xf6\xaa\x0d\x39\xa3\x4e\x64\xd3\x24\x41\x21\xc8\xb9\x0c\x95\xca\xa1\xee\x34\x34\x28\x75\x86\x55\x65\xc9\xb9\x09\x2c\xc2\x22\x9f\xc0\xe3\x8e\xc5\x7a\xbb\x92\xae\x55\x78\x81\xaf\x04\x00\x40\x11\x03\x0a\x61\x3a\xcd\x50\xc2\x81\x78\x11\x36\xf1\xda\x3c\x19\x64\x27\xec\x14\xaf\x90\x11\x4a\xb8\x77\x5a\xd8\x40\xb8\x34\x9a\x2d\x0a\xf6\x8d\x32\x5f\xeb\xac\xa0\xed\xa5\xa5\x09\x68\xa9\x5e\xe0\x24\xe9\x1c\xb6\xfe\x3f\x1d\x85\xdc\xc5\x5e\xb3\x2c\xcf\x01\xdd\xd3\xb8\xa7\x41\x3e\xef\x69\xfd\x37\x9f\x43\x8b\x5a\x8a\x2c\x5d\x9a\x4e\x55\xa0\x0d\x7b\x7b\xc1\x05\xf8\xc3\x3d\x10\xd4\xc6\x02\x1f\x09\xc4\x95\x3e\xfd\xeb\x78\x43\x35\x94\x31\xa3\x42\x60\x8b\x7b\xa9\x24\x4b\x72\xc5\xde\x58\x6b\xce\xd3\xe7\x5f\x69\xf4\x2c\xb3\x6c\x48\xab\x68\xae\xb0\xef\xc8\xc7\x7c\x94\x2f\xdc\x07\x08\x96\x6a\xb2\xa4\x05\x01\x9b\x9e\x2e\x50\xdb\x38\x0a\x77\x8c\x35\xc7\x07\x2d\xc7\x32\x3a\x10\x0f\x4f\x9f\x45\x5f\xff\xd1\xf4\x67\xa1\x32\xe4\x7a\x24\xe9\x8d\x35\xa4\x19\x6e\x93\xe3\x73\x8b\x08\x96\xb8\xb3\xfa\x46\x91\x7c\x27\x3f\x01\x00\x00\xff\xff\xbd\x1a\x99\xeb\x0e\x03\x00\x00"
-
-func scriptsMetadataGet_vault_displayCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_scriptsMetadataGet_vault_displayCdc,
-		"scripts/metadata/get_vault_display.cdc",
-	)
-}
-
-func scriptsMetadataGet_vault_displayCdc() (*asset, error) {
-	bytes, err := scriptsMetadataGet_vault_displayCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "scripts/metadata/get_vault_display.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x78, 0x95, 0x2f, 0x6d, 0x3e, 0x77, 0x8, 0x66, 0x9b, 0x5d, 0x2d, 0xd3, 0x7e, 0xb4, 0xb0, 0x7b, 0xa4, 0xd4, 0x2c, 0x68, 0xc3, 0x3d, 0x31, 0xea, 0x37, 0x8c, 0xaf, 0x8a, 0x30, 0xd6, 0xc3, 0x8b}}
-	return a, nil
-}
-
-var _scriptsMetadataGet_vault_supply_viewCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x52\xc1\x8e\xd3\x30\x10\xbd\xfb\x2b\xde\xf6\x00\x89\x84\xd2\x0b\xe2\x50\x6d\xb6\x5a\x2d\x94\x13\x12\x5a\xca\xde\xa7\xce\x64\xd7\xc2\xb1\x23\x7b\xd2\x6e\x85\xf8\x77\xe4\xb8\x69\x0a\xd2\xb2\xf4\x50\xd9\x93\xf1\x9b\xf7\xde\x3c\xd3\xf5\x3e\x08\x16\x9f\x9e\xa9\xeb\x2d\x6f\xfd\x0f\x76\x0b\x35\x55\x37\x83\x7b\x34\xbb\x53\xf9\x0b\x0b\x35\x24\xf4\x60\xf8\x10\x5f\xe8\x99\xcb\xa9\xeb\x9e\xa3\xb7\x7b\x0e\x0b\xa5\x96\xcb\x25\x3e\xb3\x44\xc8\x13\x43\xbc\x90\x45\x1c\xfa\xde\x1e\xe1\xdb\xb1\xb6\xa7\xc1\xca\xdb\x08\x49\x30\x68\x4c\x60\x2d\xf6\x88\x36\xf8\x6e\xfe\xae\x14\x69\xcd\x31\x16\x64\x6d\x89\x76\x70\xe8\xc8\xb8\x82\x9a\x26\x70\x8c\x2b\xdc\xe6\x43\xb9\xc2\xf7\x8d\x79\xfe\xf0\x1e\x3f\x15\x00\x58\x16\x90\xd6\x7e\x70\x82\x1a\x8f\x2c\xb7\xf9\x32\x3d\x2c\xd5\xb9\x6d\x1c\xf3\x91\x84\x50\xe3\xd2\x93\x2a\x64\x2d\x77\xde\x49\x20\x2d\x49\x5e\x91\x6a\x43\xd0\xbc\x3d\xf6\xbc\x82\x33\xf6\x1d\xf6\x86\x0f\xf9\x9a\xfe\xaf\x5f\x36\xb0\xda\x6c\x1f\xa6\x59\x37\x45\x59\x82\xe2\x15\xfe\xaf\x7d\x3d\xb2\x4d\xbf\xf5\x1a\x3d\x39\xa3\x8b\xc5\x9d\x1f\x6c\x03\xe7\x25\xc9\xcb\x2a\x90\x1e\x8f\x84\xd0\xfa\x30\x9a\xa8\x4f\xec\x17\x7f\x2b\xbe\xe7\x16\xf5\xe4\x51\xa5\xa9\xa7\x9d\xb1\x46\x0c\xc7\x6a\xe7\x43\xf0\x87\xeb\x37\x7f\xb8\x31\x72\xb9\x29\xce\x6e\x55\xdd\x89\xec\x57\x92\xa7\xf2\x9f\xfc\x32\x1e\x08\x81\x5b\x0e\xec\x74\xca\xc3\xbc\x62\x84\x29\x34\x17\x1c\x5b\xf9\x96\xc3\x52\x9f\xe9\x4e\x0b\x19\x17\xf1\x9a\xd7\xdb\x14\xb8\x0c\x91\xbc\xbe\x9a\x91\x73\x08\x53\x17\xea\x79\xcc\x2b\xbb\xb8\x80\xcb\x48\x81\x65\x08\xee\x02\xac\xca\x47\xf5\x4b\xfd\x0e\x00\x00\xff\xff\x3c\x7c\x95\xe9\x61\x03\x00\x00"
-
-func scriptsMetadataGet_vault_supply_viewCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_scriptsMetadataGet_vault_supply_viewCdc,
-		"scripts/metadata/get_vault_supply_view.cdc",
-	)
-}
-
-func scriptsMetadataGet_vault_supply_viewCdc() (*asset, error) {
-	bytes, err := scriptsMetadataGet_vault_supply_viewCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "scripts/metadata/get_vault_supply_view.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd4, 0x58, 0x26, 0x46, 0x13, 0x4a, 0x14, 0x30, 0x81, 0x47, 0x51, 0x27, 0xa, 0x1b, 0xb8, 0xda, 0x1a, 0x8e, 0x71, 0x73, 0x2, 0xb6, 0x49, 0x3e, 0x82, 0x6b, 0x6b, 0xe7, 0x57, 0x52, 0xd6, 0x81}}
-	return a, nil
-}
-
-var _scriptsTestExample_token_vault_display_strict_equalCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x6f\xdb\x38\x10\xbd\xeb\x57\xcc\x6a\x01\x43\xc2\xa6\x72\xfa\x91\x6c\x6b\xd4\x0d\xba\x6d\x8d\x3d\xb4\x40\x11\x68\xbb\x87\xa2\x08\xc6\xd4\x58\x26\x42\x91\x02\x39\xb2\x1d\x2c\xfa\xdf\x17\xd4\x97\x65\x45\x31\xca\x83\x61\x72\x66\xde\xbc\x79\xf6\x3c\x59\x94\xc6\x32\x84\xab\x4a\xe7\x72\xad\x28\x35\xf7\xa4\xbf\x10\x63\x86\x8c\xdf\x24\xed\x5d\x18\x74\x39\x4f\x3c\xfb\xeb\x2d\x39\xa3\x76\x64\x8f\xaf\x9f\x0e\x58\x94\x2d\x5e\x18\x04\xf3\xf9\x1c\x52\x72\x0c\x5b\x52\x25\x59\x70\xc2\xca\x92\x81\x0d\xec\x50\xc9\x0c\x99\x60\x58\x01\x8e\xec\x8e\x1c\xac\xd2\x8f\xd2\x95\x0a\x1f\x00\x1d\xd0\xa1\x24\xc1\x94\x79\xb0\x00\x85\x20\xe7\x22\x54\x2a\x86\x4d\xa5\xa1\x40\xa9\x23\xcc\x32\x4b\xce\x2d\xe0\x7d\xf3\x25\x5e\xc0\x5f\xc6\x28\xf8\x2f\x00\x00\x50\xc4\x80\x42\x98\x4a\x33\x2c\x21\x27\x7e\xdf\x5c\xba\xb2\x38\xe8\xd3\xba\x56\xb0\x84\xa7\x95\x49\x7a\x76\x51\x5d\xd8\x1d\x8d\x05\x2d\x7a\x05\x7a\x00\x68\xb4\xb8\x38\xc9\x75\x0f\xc5\xda\x28\x9f\xbd\x4a\x47\xa1\x8c\x1a\x91\xa4\xd1\x0b\x08\xd3\xad\x74\x7e\xd0\x06\x8a\x6b\x91\xa4\x83\xca\x51\xe6\xb5\x41\x0d\xd4\xf6\x63\x53\x8b\x0c\x0f\xa6\x82\x8c\x76\xa4\x4c\xfd\xdd\x82\xa6\x03\xc3\x2a\x85\xdf\x8d\x5e\x29\xb3\x4f\x46\xfd\xe8\xc0\x64\x35\xaa\x7f\x6e\x3f\x2f\xe0\x74\xd0\x4f\xc7\x50\x14\x6e\x99\x4b\xb7\x98\xcf\xdb\x7e\xcf\x36\x9c\x18\xbd\xf1\x80\xc6\xe6\x61\x7c\x0a\xaa\x4c\x6e\xdc\x18\xee\x0b\x65\x12\x5d\xf4\xfd\x24\xd3\x9f\x89\xb4\xe8\x51\x92\x3f\x1b\xa9\x68\x8c\xfa\x77\x9a\x7e\x5d\x49\x45\xd3\x15\xfe\x54\xd6\x2b\xdd\xf1\x47\xe7\x88\x5d\xb2\xa7\xb5\x93\x4c\xcf\x3c\xa4\x4b\x84\x29\xe6\x57\x9b\xeb\x17\x6f\x5e\x89\x4b\xf1\x27\xbe\x16\x59\x76\xfd\xea\xe5\xfa\xb9\x78\xfd\xe2\x72\x14\xc0\xab\x2b\xb1\x7e\x2e\xde\xbc\xbc\xbe\xf3\x72\xde\xfd\x6b\x6c\x56\xa0\xbd\x4f\xdc\x2e\x0f\x27\x39\x8c\xb4\xe9\x4e\xe1\xe7\x4c\x1f\x4a\xff\xa7\x91\x05\xe6\x34\x77\xbb\xfc\x8f\x43\xa1\x1e\xa3\xc4\x3f\x82\x33\x80\xce\x08\x89\xca\x2d\xda\xff\xfb\xf0\x84\xbc\x97\xcc\x64\xc3\x5f\xfa\x69\xdb\xe4\x5a\x0d\xff\xcb\xde\xad\x95\x11\xf7\x62\x8b\x52\x87\xf1\x09\xf6\xcf\xfe\x36\xd8\x9e\x1d\x56\x8a\x3f\x22\x23\x2c\x4f\xb6\x3a\xb1\x8d\x4d\x7c\x30\x9a\x2d\x0a\xf6\x0c\x22\xff\x56\x59\x41\x8d\x00\x5a\xaa\x0b\xd8\x49\xda\x37\x57\xff\xf9\xf6\xec\x06\x7e\xeb\x7a\xbd\x8b\xe2\x18\xd0\xfd\x76\x7e\x61\xfb\xf4\x9b\x9e\xf8\xcd\x0d\x94\xa8\xa5\x88\xc2\x0f\xa6\x52\x19\x68\xc3\xde\x1c\x9a\x29\xc0\x17\xd7\x84\x60\x63\x2c\xf0\x96\x40\xb4\xec\xc3\xf1\xc4\xb7\xb4\x81\x65\xe7\x30\x89\xc0\x12\xd7\x52\x49\x96\xe4\x92\xb5\xb1\xd6\xec\xdf\xce\x4e\xd4\xa8\xb9\xbc\x8b\x7a\xb5\x92\xa2\x25\xfb\x15\x79\x1b\x9f\xe5\xd7\xe0\x01\x82\xa5\x0d\x59\xd2\xa2\x5e\x7b\xcf\xae\x61\x6d\x3b\x3f\x1e\x70\x44\xc1\x15\xaa\xf3\x8e\x96\x13\x1f\x4d\xad\x1b\x6a\x8a\x4a\xe3\xd2\x99\x21\x57\xf3\x91\x7e\xaa\x82\x34\x0f\x1c\xdb\x8b\xd6\xf5\xf7\xbb\x66\x39\x6a\x28\x24\xb5\x29\x24\x92\xa9\x70\x89\x22\x9d\xf3\x16\x96\xcb\xde\x73\x27\xc2\x17\x50\x90\x73\x98\xfb\x0d\x69\xcc\x03\xda\xba\x42\xba\x02\x59\x6c\xc3\x09\xf3\xfe\x6c\x72\x53\x67\xc3\x34\xf8\xf7\xcb\x1f\x23\x71\x86\x15\x8f\xb9\x76\xf9\x96\xb8\xb2\xfa\x08\xe9\xfd\xde\x0f\xd0\x56\xd4\xd7\xd9\xec\x18\x6f\x3c\x7e\x90\xd1\x3e\xcc\x66\xbd\xb0\x7d\xee\xc0\xf4\x07\x05\xc3\xd7\x21\xf2\xc0\xb2\x93\xca\x0e\x5b\x8c\x23\xb3\x19\x3c\x6a\xd6\x4f\x9b\x78\xef\x4b\x2a\x2b\xa3\xf8\x08\x31\x19\x1d\x34\x3f\xc6\x7b\xff\x9a\x2a\xee\x83\xc1\xcf\x20\xf8\x3f\x00\x00\xff\xff\x82\xa8\x93\x68\x6e\x08\x00\x00"
-
-func scriptsTestExample_token_vault_display_strict_equalCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_scriptsTestExample_token_vault_display_strict_equalCdc,
-		"scripts/test/example_token_vault_display_strict_equal.cdc",
-	)
-}
-
-func scriptsTestExample_token_vault_display_strict_equalCdc() (*asset, error) {
-	bytes, err := scriptsTestExample_token_vault_display_strict_equalCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "scripts/test/example_token_vault_display_strict_equal.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x33, 0x52, 0xb1, 0x7d, 0xac, 0xec, 0x6e, 0xd7, 0xe6, 0xce, 0x43, 0x69, 0xe2, 0xb0, 0x8f, 0x7e, 0x1b, 0xd5, 0x9c, 0x7a, 0x80, 0xaa, 0x36, 0x19, 0x63, 0xb5, 0x83, 0x2f, 0xac, 0x34, 0xf0, 0x53}}
-	return a, nil
-}
-
-var _scriptsTokenforwarderIs_recipient_validCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\xce\xb1\x6a\x03\x31\x0c\x06\xe0\xdd\x4f\x21\x32\x14\x1b\x8a\x1f\xe0\x68\x0b\xe9\x90\x39\x94\xbe\x80\x4e\xd6\x25\x26\x8e\x15\x64\x99\x0c\x21\xef\x5e\x7a\x47\x87\x2b\xa7\x49\xc3\xaf\x5f\x5f\xbe\xde\x44\x0d\x76\xdf\x72\xe1\x7a\x10\xbd\xa3\xa6\x5c\x4f\x3b\xe7\x90\x88\x5b\xf3\x58\x4a\x80\xa9\x57\xb8\x62\xae\x1e\x53\xd2\x01\xf6\x29\x29\xb7\xf6\x0a\xb6\xbe\x3a\xa2\x9d\x07\x38\xf6\xb1\x64\xfa\xdd\xc3\x00\x9f\x22\x05\x1e\x0e\x00\xa0\xb0\xc1\xb4\x64\x59\xbf\x78\x82\x77\x38\xb1\xed\x89\xa4\x57\x9b\x9b\xc3\x9c\xdb\x98\x48\x78\xc3\x31\x97\x6c\x99\x5b\x1c\x45\x55\xee\x6f\x2f\x8f\x7f\xe8\x78\xf8\x6b\x5f\x08\xcf\x0f\xbf\x01\x0c\x6e\xfe\xa2\x6c\x5d\xeb\x0a\x14\xe9\xcc\x74\xf1\xc1\x3d\x7f\x02\x00\x00\xff\xff\x63\xb3\x87\xb4\x16\x01\x00\x00"
-
-func scriptsTokenforwarderIs_recipient_validCdcBytes() ([]byte, error) {
-	return bindataRead(
-		_scriptsTokenforwarderIs_recipient_validCdc,
-		"scripts/tokenForwarder/is_recipient_valid.cdc",
-	)
-}
-
-func scriptsTokenforwarderIs_recipient_validCdc() (*asset, error) {
-	bytes, err := scriptsTokenforwarderIs_recipient_validCdcBytes()
-	if err != nil {
-		return nil, err
-	}
-
-	info := bindataFileInfo{name: "scripts/tokenForwarder/is_recipient_valid.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa1, 0xd5, 0x8d, 0x4, 0x81, 0x73, 0xb6, 0xfa, 0xe1, 0x31, 0x67, 0x35, 0x66, 0x5d, 0x6c, 0xb5, 0x1f, 0x3c, 0x61, 0x81, 0x36, 0x95, 0x6f, 0x71, 0xb8, 0x3, 0xfd, 0x72, 0x60, 0x53, 0x8a, 0xeb}}
-	return a, nil
-}
-
 var _setup_accountCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x94\x41\x6f\xdb\x3c\x0c\x86\xef\xfe\x15\x6f\x73\xe8\x67\x03\x69\x72\x2f\xd2\xf6\xdb\xb2\x16\xd8\x61\x40\xd1\x06\xb9\x33\x0e\xd3\x08\x53\x24\x41\xa2\x93\x06\x45\xff\xfb\x20\x39\x76\xec\xce\xc5\x76\x9c\x0f\x01\x44\x51\xe4\xcb\x87\x64\xa6\x53\x2c\xb6\x2a\x40\x3c\x99\x40\xa5\x28\x6b\xa0\x02\x08\xc2\x3b\xa7\x49\x18\x1b\xeb\xe3\xb1\x73\x2f\x16\xa4\xb5\x3d\x64\xd3\x29\xc8\x1c\xad\xe1\x64\x5a\xaf\x41\x58\x52\xa5\x05\x9e\x83\xad\x7c\x99\xec\xb2\x65\xe5\x41\x65\x69\x2b\x23\x08\xd1\x40\x12\x9f\xca\x96\x8f\x28\xc9\xa0\x0a\x1c\x0f\xe0\x57\xda\x39\xcd\x0b\xfb\x93\x4d\x96\xa9\x9d\xb3\x5e\x30\x7a\xa8\xcc\x8b\x5a\x9d\xcc\xa3\xd6\x7c\xdf\x71\x3e\x5b\x97\x8a\x0f\x4f\x1c\xac\xde\xb3\x1f\x0d\x87\xf8\xc1\x42\x6b\x12\x8a\xae\x61\x94\x65\xdd\xca\xf2\x02\x6f\x59\x06\x00\xce\xb3\x23\xcf\x79\x50\x2f\x86\xfd\x35\xa8\x92\x6d\xfe\xd5\x7a\x6f\x0f\x4b\xd2\x15\x8f\xf1\x3d\x84\x8a\x9f\xc5\x7a\x7a\xe1\x39\x39\x5a\x29\xad\xe4\x38\xb7\x46\xbc\xd5\x9a\xfd\x18\x8f\xd5\x4a\xab\xb0\x3d\x5f\x8e\xf1\x4c\x7b\x4e\xef\x0b\x5c\x7e\xa9\x91\xb4\x29\xe3\xa7\x59\xb0\x8f\x08\xbf\x91\x10\x6e\xd0\xad\x72\xe2\xeb\xc2\x52\x0a\x2a\x25\x16\x90\x37\xa4\x17\x47\xc7\xd7\x30\x4a\x8f\xb1\x57\x7c\xa8\x8f\xf1\x77\xf6\x79\xf1\x93\x87\xc5\xb2\xc9\x75\x9b\x17\x05\x28\x5c\xe0\xef\xdc\xef\x5a\xc5\xf1\xbb\xbb\x83\x23\xa3\xca\xbc\xc7\x1f\x6b\xcb\x01\xc6\xd6\xe3\xa0\xf7\x8c\x4e\x80\xa4\x72\x54\x9c\x2b\x9f\x4e\xf1\xc4\x52\x79\x03\x26\xaf\x8f\x50\x9b\x34\x13\xcd\xdc\x90\xf6\x4c\xeb\x23\x82\x58\xcf\x71\x3e\xbb\x64\xea\xa9\x6b\x43\xa9\x0d\xea\xb6\x4d\x42\xdd\x9e\xc9\x2a\x35\x6e\x76\xd9\xc3\x99\x1e\xdd\xe6\x1b\x6f\x77\xd7\x67\xe8\xcd\x9b\x47\x92\x6d\x81\x8b\x9b\xc8\x14\x6f\xbd\x72\x7d\xd2\xd9\x9a\xde\x07\xda\x87\xd9\x55\xbf\x77\xa5\x67\x12\xbe\xdf\x39\x39\xa6\xbc\x79\x72\xeb\xb4\xe9\xff\x21\x6d\x45\x1f\xd0\x3c\x05\x01\xc1\xf0\x61\x00\x00\xc8\xac\xe1\x2a\x81\x12\x28\x83\x53\x21\x6d\x80\x0f\x4c\x02\xed\x39\x9f\x5d\x25\x1d\x63\x88\xfd\x8c\xc1\xb0\x02\x17\x67\xbb\x44\xd9\xce\xf6\x69\xd5\x4f\x4a\xe2\x8e\x83\x5f\x9d\x0d\x1c\x3a\x66\x65\x84\xfd\x86\x4a\x0e\xbf\x23\x9b\x93\xc3\x4d\x23\xb2\x8d\xab\x38\xb4\x8a\x55\xdc\xb8\xe1\x26\xf6\xfa\x33\x58\x47\xeb\x51\x7c\x04\xd2\xcb\xe5\xea\x9d\xcd\x1b\x49\x63\x90\x74\xc9\xec\x4e\x1b\xf1\x67\x34\xf3\x61\x34\xff\x05\x3c\x71\xc9\x2a\x2e\xc8\xa6\x32\xe9\x7f\x87\xa2\x57\x8f\x88\x3f\xb9\xfc\x5b\x50\x3a\xaa\x3e\x72\x69\xae\x6a\x2e\xf5\x5a\xbc\x67\xbf\x02\x00\x00\xff\xff\xfa\xdc\x38\x5a\x5e\x06\x00\x00"
 
 func setup_accountCdcBytes() ([]byte, error) {
@@ -785,6 +745,46 @@ func switchboardTransfer_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
+var _tokenforwarderCreate_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4f\x6f\xe3\xb6\x13\xbd\xf3\x53\xcc\xcf\x87\xfd\xd9\x81\x23\xa3\xff\x2e\x46\xb2\xc1\xd6\xdb\x14\x0b\xb4\xc5\xa2\xf1\xe6\xda\x1d\x53\x63\x93\x5d\x99\x14\xc8\x91\xb5\xc6\x22\xdf\xbd\x20\x29\xd1\x92\xf3\x07\xe9\xa5\x3e\x04\x91\xc8\x99\x79\xef\xcd\x9b\xd1\xe2\xe2\x42\x88\xb5\xd2\x1e\xd8\xa1\xf1\x28\x59\x5b\x03\xda\x03\x02\xd3\xbe\xae\x90\x09\xb6\xd6\x85\xc7\xc1\x39\x2b\x64\x90\xb6\xa9\x4a\xd8\x10\x34\x9e\x4a\xc1\x16\x3c\x31\x34\x35\xa0\x01\x94\xd2\x36\x86\x81\x6d\x08\x6e\xd1\x95\x50\x52\x6d\xbd\x66\x2a\x81\xed\x17\x32\x3e\x9c\xa1\xb1\xac\xc8\x81\x23\x49\xfa\x40\xae\x10\xe2\xc3\x16\xd0\x1c\xad\x21\xf0\x64\x4a\x3f\xbc\x1c\xea\xb8\xff\x7b\xb8\x4d\x19\xc9\xc1\x9f\x5d\xdc\x5c\xb0\xa2\xfc\x04\xad\xae\x2a\xf8\xbb\xf1\x9c\x8b\xb3\xb2\x9e\x06\xb9\xc2\xf5\x7b\x6c\x2a\x4e\x4c\x14\x7a\xd8\x10\x19\x11\x18\xa0\x8f\xc7\x8e\xa4\xae\x35\x19\x06\x34\x25\xd0\x5e\x87\x7f\x80\x0e\xe1\x4d\x0c\xd2\xa6\xd4\x12\x99\xbc\x68\x95\x96\x2a\xa2\xeb\x0b\x06\x96\xaa\x2f\x58\x74\x02\xb7\x78\x9c\x83\x0e\xfc\xc0\x6e\xb7\x97\x52\xa1\x36\xe0\xc9\x1d\xb4\x24\x68\xd1\x70\x84\xb6\xb7\x46\xb3\x75\xd0\x2a\x1b\xda\xd0\x25\xd4\x66\x27\x4e\xf0\x35\xcf\x41\x33\x48\x34\xd0\x22\x4b\x95\x60\xc5\x23\x4f\x04\xad\x22\x47\x03\x00\x20\x71\x4f\xb0\x75\x76\x5f\x08\x71\xc7\x54\x77\x37\x53\xb7\x52\xab\x3c\xb4\x9a\x55\x0a\xc8\x2c\xdc\x52\x88\xef\x0a\x58\x2b\x82\xdb\xc6\xec\xf4\xa6\x22\x58\xc7\x1b\xd2\x1a\x76\x28\x83\x0a\x4c\x6e\x8b\x92\xc0\xab\xe8\x07\xac\x1c\x61\x79\x0c\xbe\x28\xa9\xae\xec\x91\x4a\xf0\x76\x4f\x11\x94\xf8\x3e\x65\xc3\xba\xae\xb4\xc4\x90\x8f\xc7\xf9\xba\x2c\x83\xe8\x42\xfc\x90\x82\x06\x1d\xe9\xec\xd5\x5d\x56\x78\x20\xc0\xae\xa1\xc1\xac\x1c\xfd\x9c\x12\x3b\x42\xa6\x52\x00\x40\x6c\xa4\x67\xeb\xa8\x04\x6d\x40\xb3\x8f\x4f\xb8\xa3\xc4\x1d\xa1\x6e\x36\x95\xf6\x8a\xca\xec\x25\xf1\x63\x01\xef\x23\x90\xa8\xe7\xe7\xc8\xfe\x36\xf7\xa4\x90\xa5\xfc\x7c\x02\x1f\x5d\x5a\xea\xed\x96\xdc\x00\xa6\xf8\xa9\x08\x9e\x05\x04\x43\x2d\xbc\x4b\x2f\x97\xb0\x8a\xc8\x62\xda\x9e\x8f\xb1\x6e\x8f\x55\x75\x9c\x47\xb8\xac\xc8\x80\x6b\x4c\xaa\x9c\x88\xfc\x95\x5b\x93\x4a\x0f\x86\x32\x05\xed\x88\x59\x9b\x1d\x8c\x06\x22\xb4\x7e\x54\x28\x19\xf8\xcc\xe8\x85\xb8\x58\x08\xa1\xf7\xb5\x75\x0c\x93\xbe\xe1\x91\xf1\x24\xbf\xfe\xe5\x2b\xee\xeb\x47\x6f\xcf\x64\x99\x3c\x9d\xe5\x77\x62\x2c\x91\xf1\x5e\x53\xeb\x27\x42\x0c\xc0\x4f\xfb\x15\xb0\x84\x77\x65\xe9\xc8\xfb\x19\x7c\x13\x91\x51\xed\xa8\x46\x47\x53\xaf\x77\x26\x9c\x63\xc3\x6a\xfa\xb3\x75\xce\xb6\xf7\x58\x35\x34\x87\x0f\xde\x37\x74\x97\x5a\xb9\xc2\x1a\x37\xba\xd2\x7c\x5c\x85\xae\xd8\xaa\x22\x37\x87\x8f\xa9\xb1\xa7\xc3\x39\xdc\xe1\x81\xba\xf8\x4f\xa6\x3e\x3f\x9f\xc1\x9b\xae\x51\x19\x47\xf8\x55\xc4\x70\x08\x36\x7b\x8f\x8c\x70\x0d\x43\x35\x0a\x47\xde\x56\x07\x5a\x75\x6e\x08\x2c\xa7\xe1\x5d\xe3\x24\xad\x8f\x35\x2d\xc1\xe8\x6a\x0e\x07\x4d\x6d\x7a\x0c\x7f\xaf\x9e\x57\xa8\xb8\x5d\xdf\xf7\xb5\xde\x4e\x67\x33\x40\xff\x3f\x78\xdd\xf5\x9b\x8c\x38\xfc\x6e\x6e\xa0\x46\xa3\xe5\x74\xb2\x8a\xf3\x62\x2c\x07\x9f\x24\x26\x10\x12\x44\x50\xdd\xe8\x50\xf6\xf3\x64\x76\x62\xbe\x58\xc0\xaf\xc4\xbd\x61\x92\xad\x64\x96\x2b\x87\xf6\x06\xdb\x50\x30\xe1\x60\x1b\xda\x91\x86\xa7\x51\xbe\x0e\x48\x3a\xa9\xb3\x09\x66\x45\x4e\xad\xc9\x17\x3b\xe2\xab\x37\xdf\x46\xcc\x8b\xde\xdb\x0f\x6f\xa7\xb9\x21\x45\x1f\xff\x11\x59\xcd\x5e\x25\xc1\x33\x7c\xce\x98\x0f\x46\x35\xcf\x5f\xda\x26\x61\xf3\x68\xee\x3f\x29\xe7\xe3\x55\xda\x7e\x14\x07\x6b\xfc\x91\x97\xe0\xea\x12\x1e\xed\x95\x58\xf1\x0f\x6a\xf3\xc7\x6e\x9a\x35\x5b\x9e\xe4\x3b\x91\x4c\xd3\x51\x74\x0b\xad\x08\xc0\xa6\x57\x97\x31\xff\x1c\xd8\x2e\x61\xd1\x1d\x2d\x68\xe0\xd9\x9c\x7d\xcc\xf7\x93\xa9\xb4\xf9\x12\x81\xd3\x57\xed\xe3\x42\x39\x89\x73\x5e\x73\xd4\xab\xa6\x9f\xa5\x67\xdb\x32\x2c\xf4\x5b\x5f\xc6\x24\xfb\x75\xf4\x9f\x6a\xc9\x48\xb7\xb8\xdb\x7b\x0b\xac\xb0\x86\xeb\x27\xc1\xf4\x6a\xe8\xb0\x20\x5e\xb2\xd0\xc8\x2b\x11\xdb\x8b\x6a\x8d\xae\x3f\xea\xc1\x08\x42\xaf\xc6\x39\xe2\x39\x20\x2f\xe1\x5f\x6b\x94\x21\xc4\x8d\x26\x5f\xd4\x27\xdf\x7d\xbd\x40\xe7\x36\x3c\x2b\xf7\xdf\x29\x35\xc4\x9e\xa4\x5a\xc4\x73\xf9\x9c\x7d\x43\xd6\x07\xf1\x20\xfe\x09\x00\x00\xff\xff\x8f\x70\x87\x17\xd0\x0a\x00\x00"
+
+func tokenforwarderCreate_forwarderCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_tokenforwarderCreate_forwarderCdc,
+		"tokenForwarder/create_forwarder.cdc",
+	)
+}
+
+func tokenforwarderCreate_forwarderCdc() (*asset, error) {
+	bytes, err := tokenforwarderCreate_forwarderCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "tokenForwarder/create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x2d, 0x1d, 0x46, 0xca, 0x5c, 0x15, 0x80, 0x87, 0x12, 0xa2, 0x35, 0x4c, 0x8e, 0x22, 0xeb, 0xd2, 0x7c, 0x3b, 0xff, 0x8e, 0xfc, 0x9c, 0x5f, 0x5d, 0xd3, 0xa5, 0x49, 0x96, 0x86, 0x85, 0xc0}}
+	return a, nil
+}
+
+var _tokenforwarderScriptsIs_recipient_validCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\xce\xb1\x6a\x03\x31\x0c\x06\xe0\xdd\x4f\x21\x32\x14\x1b\x8a\x1f\xe0\x68\x0b\xe9\x90\x39\x94\xbe\x80\x4e\xd6\x25\x26\x8e\x15\x64\x99\x0c\x21\xef\x5e\x7a\x47\x87\x2b\xa7\x49\xc3\xaf\x5f\x5f\xbe\xde\x44\x0d\x76\xdf\x72\xe1\x7a\x10\xbd\xa3\xa6\x5c\x4f\x3b\xe7\x90\x88\x5b\xf3\x58\x4a\x80\xa9\x57\xb8\x62\xae\x1e\x53\xd2\x01\xf6\x29\x29\xb7\xf6\x0a\xb6\xbe\x3a\xa2\x9d\x07\x38\xf6\xb1\x64\xfa\xdd\xc3\x00\x9f\x22\x05\x1e\x0e\x00\xa0\xb0\xc1\xb4\x64\x59\xbf\x78\x82\x77\x38\xb1\xed\x89\xa4\x57\x9b\x9b\xc3\x9c\xdb\x98\x48\x78\xc3\x31\x97\x6c\x99\x5b\x1c\x45\x55\xee\x6f\x2f\x8f\x7f\xe8\x78\xf8\x6b\x5f\x08\xcf\x0f\xbf\x01\x0c\x6e\xfe\xa2\x6c\x5d\xeb\x0a\x14\xe9\xcc\x74\xf1\xc1\x3d\x7f\x02\x00\x00\xff\xff\x63\xb3\x87\xb4\x16\x01\x00\x00"
+
+func tokenforwarderScriptsIs_recipient_validCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_tokenforwarderScriptsIs_recipient_validCdc,
+		"tokenForwarder/scripts/is_recipient_valid.cdc",
+	)
+}
+
+func tokenforwarderScriptsIs_recipient_validCdc() (*asset, error) {
+	bytes, err := tokenforwarderScriptsIs_recipient_validCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "tokenForwarder/scripts/is_recipient_valid.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa1, 0xd5, 0x8d, 0x4, 0x81, 0x73, 0xb6, 0xfa, 0xe1, 0x31, 0x67, 0x35, 0x66, 0x5d, 0x6c, 0xb5, 0x1f, 0x3c, 0x61, 0x81, 0x36, 0x95, 0x6f, 0x71, 0xb8, 0x3, 0xfd, 0x72, 0x60, 0x53, 0x8a, 0xeb}}
+	return a, nil
+}
+
 var _transfer_many_accountsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x4d\x4f\xe3\x48\x10\x3d\xe3\x5f\x51\xe4\x00\xb6\xb4\x38\x97\xd5\x1e\xac\x00\x62\x61\xd9\x13\xd2\x28\xca\x30\x87\xd1\x48\x54\xec\x72\xdc\x83\xd3\x6d\x75\x97\x13\x10\xca\x7f\x1f\xf5\x57\x70\x3e\x06\x31\x7d\x48\x94\x72\x75\xd5\x7b\xaf\x5e\xc5\x62\xd9\x29\xcd\x30\xba\xef\xe5\x42\xcc\x5b\x9a\xa9\x67\x92\xa3\x24\x86\xff\x7b\xc1\x65\x77\x10\xdd\x49\x7e\x20\xc6\x0a\x19\x1f\x05\xad\xcd\x28\x49\xc6\xe3\x31\xcc\x34\x4a\x53\x93\x36\xc0\x36\xc5\x7e\x01\x42\x2b\x0c\x83\xaa\x01\xab\x4a\x93\x31\x64\xc0\x74\x54\x8a\x5a\x50\x05\x42\x02\x37\x04\x4f\xe1\xd9\xcd\x52\xf5\x92\x1f\xb0\x7b\x82\x0e\x35\x2e\x89\x49\x27\x09\xdb\xb2\x58\xb2\x50\x32\xdd\x4f\x2c\xe0\xed\xc6\x87\x0a\xf8\x7a\x2f\x5e\xfe\xf9\x7b\x93\xc1\x5b\x92\x00\x00\x58\x48\xf7\xb3\x47\xec\x5b\xbe\x43\x46\x58\x06\xc8\xb0\x12\xb4\x86\x5a\x69\xd7\xdb\x41\x85\x39\x09\xb9\x80\xde\x50\xe5\xae\xb6\xc4\xb0\x8a\x17\x0b\xf8\x3d\xf3\x7c\xd0\xe0\xbd\xeb\xac\x21\x70\x61\xd0\x64\x54\xaf\x4b\x02\x6e\x90\xa1\x51\x6d\x65\xde\xbb\x1a\x1f\x45\x4d\xa1\x3f\x07\x01\xf5\x3e\x8c\x29\xd5\x05\x60\xcf\x4d\xba\x03\x25\xff\x26\xb8\xa9\x34\xae\x33\x38\x1b\xce\x2c\x77\xcd\x3d\x9e\x4e\x53\x87\x9a\x52\x23\x16\x92\x74\xa8\xf2\xaf\xd2\x5a\xad\x1f\xb1\xed\x29\x83\xb3\x9b\xb2\xb4\x72\x5a\xe1\x20\x1c\x43\x6d\x9d\x6f\x15\x80\x4b\xd8\x29\x6f\x59\xb5\x2b\xba\x55\x92\x35\x96\x6c\x95\x48\x23\xd3\xd9\x6b\x47\x05\x48\xd1\xfe\xe5\x74\xf6\x3f\xed\xe7\xe4\x73\x2a\x5e\xa5\x59\x06\x68\x4e\x3f\x29\xfa\xf5\x16\xb2\x3d\xd7\xd7\xd0\xa1\x14\x65\x3a\xb2\x89\x53\x0f\x53\x43\xa5\xc8\x80\x54\x7e\x1c\xed\x8a\x76\x6c\x61\x51\x8e\xb2\x64\x5b\x67\x3c\x86\xff\x89\x01\x41\x53\x4d\x9a\xa4\x1d\x9e\x72\x43\xf3\x12\x9e\x1b\x30\xac\x34\x55\x7e\x34\x47\x24\x9b\x52\x0d\x97\x21\x3b\xb7\xb9\xb8\xa0\x7c\xee\x24\x9f\xfc\xe9\x10\xaf\xd2\x5a\xab\x65\xb1\x37\x90\x58\xf5\x0b\x72\x93\x25\x27\x27\x27\xef\xc4\x6f\x55\xdf\x56\x8e\xac\xef\x78\x48\x43\xad\x3d\x0b\x57\xff\x74\x94\x39\x06\x1b\x2f\x00\xbd\x50\xd9\x33\xc5\x15\xb2\xc7\x2e\x4a\x58\x3b\xbb\xaf\xfb\x1b\x98\x3f\xd3\xab\x19\xe6\x07\x0d\x23\xab\x68\x75\x4b\xe3\x13\x2a\x46\xdb\x1b\x92\xec\x57\x68\x72\xb1\x2b\x6d\xbe\x0e\x95\x53\x74\x18\x8a\x03\x48\xdf\x43\xe0\xc7\x69\x76\x00\xcb\x8e\xd6\xa2\xd0\x54\x8a\x4e\x90\xe4\x73\x03\x5d\x3f\x6f\x45\x09\xe8\xd7\x00\xd4\xfc\x27\x95\x87\x88\xb6\x37\xe0\x12\x16\xc4\x61\x69\xe2\x3f\xd2\xf1\x4e\x47\x4c\x34\x6c\x3c\xa5\x92\xc4\x8a\xf4\xb1\x5e\xee\x81\x77\xd2\xf6\x4a\x5e\x62\x87\x73\xd1\x0a\x16\x64\xa2\xa3\xce\xde\x76\xed\x14\x8b\x6e\xae\xd2\x3d\xd3\xc4\xaa\xde\x35\xb0\x77\x3e\xb4\x90\xbf\xf8\x31\x1b\x37\xae\xd1\xa1\x10\x77\xd4\x29\x23\xbc\xec\x71\x76\x32\xda\x22\xbc\x01\x86\x75\xf4\x31\x55\x06\x8a\xe4\x95\x2f\x18\x36\x63\x72\xb1\xf5\xca\xa0\xf7\x26\xb8\x7a\x93\xfc\x0a\x00\x00\xff\xff\xab\x22\xcc\xb5\xec\x06\x00\x00"
 
 func transfer_many_accountsCdcBytes() ([]byte, error) {
@@ -916,42 +916,42 @@ func AssetNames() []string {
 
 // _bindata is a table, holding each asset generator, mapped to its name.
 var _bindata = map[string]func() (*asset, error){
-	"burn_tokens.cdc":                                           burn_tokensCdc,
-	"create_forwarder.cdc":                                      create_forwarderCdc,
-	"generic_transfer_with_address.cdc":                         generic_transfer_with_addressCdc,
-	"generic_transfer_with_paths.cdc":                           generic_transfer_with_pathsCdc,
-	"metadata/setup_account_from_address.cdc":                   metadataSetup_account_from_addressCdc,
-	"metadata/setup_account_from_vault_reference.cdc":           metadataSetup_account_from_vault_referenceCdc,
-	"mint_tokens.cdc":                                           mint_tokensCdc,
-	"privateForwarder/create_account_private_forwarder.cdc":     privateforwarderCreate_account_private_forwarderCdc,
-	"privateForwarder/create_private_forwarder.cdc":             privateforwarderCreate_private_forwarderCdc,
-	"privateForwarder/deploy_forwarder_contract.cdc":            privateforwarderDeploy_forwarder_contractCdc,
-	"privateForwarder/setup_and_create_forwarder.cdc":           privateforwarderSetup_and_create_forwarderCdc,
-	"privateForwarder/transfer_private_many_accounts.cdc":       privateforwarderTransfer_private_many_accountsCdc,
-	"safe_generic_transfer.cdc":                                 safe_generic_transferCdc,
-	"scripts/get_balance.cdc":                                   scriptsGet_balanceCdc,
-	"scripts/get_supply.cdc":                                    scriptsGet_supplyCdc,
-	"scripts/get_supported_vault_types.cdc":                     scriptsGet_supported_vault_typesCdc,
-	"scripts/metadata/get_token_metadata.cdc":                   scriptsMetadataGet_token_metadataCdc,
-	"scripts/metadata/get_vault_data.cdc":                       scriptsMetadataGet_vault_dataCdc,
-	"scripts/metadata/get_vault_display.cdc":                    scriptsMetadataGet_vault_displayCdc,
-	"scripts/metadata/get_vault_supply_view.cdc":                scriptsMetadataGet_vault_supply_viewCdc,
-	"scripts/test/example_token_vault_display_strict_equal.cdc": scriptsTestExample_token_vault_display_strict_equalCdc,
-	"scripts/tokenForwarder/is_recipient_valid.cdc":             scriptsTokenforwarderIs_recipient_validCdc,
-	"setup_account.cdc":                                         setup_accountCdc,
-	"switchboard/add_vault_capability.cdc":                      switchboardAdd_vault_capabilityCdc,
-	"switchboard/add_vault_wrapper_capability.cdc":              switchboardAdd_vault_wrapper_capabilityCdc,
-	"switchboard/batch_add_vault_capabilities.cdc":              switchboardBatch_add_vault_capabilitiesCdc,
-	"switchboard/batch_add_vault_wrapper_capabilities.cdc":      switchboardBatch_add_vault_wrapper_capabilitiesCdc,
-	"switchboard/remove_vault_capability.cdc":                   switchboardRemove_vault_capabilityCdc,
-	"switchboard/safe_transfer_tokens.cdc":                      switchboardSafe_transfer_tokensCdc,
-	"switchboard/scripts/get_vault_types_and_address.cdc":       switchboardScriptsGet_vault_types_and_addressCdc,
-	"switchboard/setup_account.cdc":                             switchboardSetup_accountCdc,
-	"switchboard/setup_royalty_account.cdc":                     switchboardSetup_royalty_accountCdc,
-	"switchboard/setup_royalty_account_by_paths.cdc":            switchboardSetup_royalty_account_by_pathsCdc,
-	"switchboard/transfer_tokens.cdc":                           switchboardTransfer_tokensCdc,
-	"transfer_many_accounts.cdc":                                transfer_many_accountsCdc,
-	"transfer_tokens.cdc":                                       transfer_tokensCdc,
+	"burn_tokens.cdc":                                       burn_tokensCdc,
+	"generic_transfer_with_address.cdc":                     generic_transfer_with_addressCdc,
+	"generic_transfer_with_paths.cdc":                       generic_transfer_with_pathsCdc,
+	"metadata/scripts/get_token_metadata.cdc":               metadataScriptsGet_token_metadataCdc,
+	"metadata/scripts/get_vault_data.cdc":                   metadataScriptsGet_vault_dataCdc,
+	"metadata/scripts/get_vault_display.cdc":                metadataScriptsGet_vault_displayCdc,
+	"metadata/scripts/get_vault_supply_view.cdc":            metadataScriptsGet_vault_supply_viewCdc,
+	"metadata/scripts/get_views.cdc":                        metadataScriptsGet_viewsCdc,
+	"metadata/setup_account_from_address.cdc":               metadataSetup_account_from_addressCdc,
+	"metadata/setup_account_from_vault_reference.cdc":       metadataSetup_account_from_vault_referenceCdc,
+	"mint_tokens.cdc":                                       mint_tokensCdc,
+	"privateForwarder/create_account_private_forwarder.cdc": privateforwarderCreate_account_private_forwarderCdc,
+	"privateForwarder/create_private_forwarder.cdc":         privateforwarderCreate_private_forwarderCdc,
+	"privateForwarder/deploy_forwarder_contract.cdc":        privateforwarderDeploy_forwarder_contractCdc,
+	"privateForwarder/setup_and_create_forwarder.cdc":       privateforwarderSetup_and_create_forwarderCdc,
+	"privateForwarder/transfer_private_many_accounts.cdc":   privateforwarderTransfer_private_many_accountsCdc,
+	"safe_generic_transfer.cdc":                             safe_generic_transferCdc,
+	"scripts/get_balance.cdc":                               scriptsGet_balanceCdc,
+	"scripts/get_supply.cdc":                                scriptsGet_supplyCdc,
+	"scripts/get_supported_vault_types.cdc":                 scriptsGet_supported_vault_typesCdc,
+	"setup_account.cdc":                                     setup_accountCdc,
+	"switchboard/add_vault_capability.cdc":                  switchboardAdd_vault_capabilityCdc,
+	"switchboard/add_vault_wrapper_capability.cdc":          switchboardAdd_vault_wrapper_capabilityCdc,
+	"switchboard/batch_add_vault_capabilities.cdc":          switchboardBatch_add_vault_capabilitiesCdc,
+	"switchboard/batch_add_vault_wrapper_capabilities.cdc":  switchboardBatch_add_vault_wrapper_capabilitiesCdc,
+	"switchboard/remove_vault_capability.cdc":               switchboardRemove_vault_capabilityCdc,
+	"switchboard/safe_transfer_tokens.cdc":                  switchboardSafe_transfer_tokensCdc,
+	"switchboard/scripts/get_vault_types_and_address.cdc":   switchboardScriptsGet_vault_types_and_addressCdc,
+	"switchboard/setup_account.cdc":                         switchboardSetup_accountCdc,
+	"switchboard/setup_royalty_account.cdc":                 switchboardSetup_royalty_accountCdc,
+	"switchboard/setup_royalty_account_by_paths.cdc":        switchboardSetup_royalty_account_by_pathsCdc,
+	"switchboard/transfer_tokens.cdc":                       switchboardTransfer_tokensCdc,
+	"tokenForwarder/create_forwarder.cdc":                   tokenforwarderCreate_forwarderCdc,
+	"tokenForwarder/scripts/is_recipient_valid.cdc":         tokenforwarderScriptsIs_recipient_validCdc,
+	"transfer_many_accounts.cdc":                            transfer_many_accountsCdc,
+	"transfer_tokens.cdc":                                   transfer_tokensCdc,
 }
 
 // AssetDebug is true if the assets were built with the debug flag enabled.
@@ -999,10 +999,16 @@ type bintree struct {
 
 var _bintree = &bintree{nil, map[string]*bintree{
 	"burn_tokens.cdc": {burn_tokensCdc, map[string]*bintree{}},
-	"create_forwarder.cdc": {create_forwarderCdc, map[string]*bintree{}},
 	"generic_transfer_with_address.cdc": {generic_transfer_with_addressCdc, map[string]*bintree{}},
 	"generic_transfer_with_paths.cdc": {generic_transfer_with_pathsCdc, map[string]*bintree{}},
 	"metadata": {nil, map[string]*bintree{
+		"scripts": {nil, map[string]*bintree{
+			"get_token_metadata.cdc": {metadataScriptsGet_token_metadataCdc, map[string]*bintree{}},
+			"get_vault_data.cdc": {metadataScriptsGet_vault_dataCdc, map[string]*bintree{}},
+			"get_vault_display.cdc": {metadataScriptsGet_vault_displayCdc, map[string]*bintree{}},
+			"get_vault_supply_view.cdc": {metadataScriptsGet_vault_supply_viewCdc, map[string]*bintree{}},
+			"get_views.cdc": {metadataScriptsGet_viewsCdc, map[string]*bintree{}},
+		}},
 		"setup_account_from_address.cdc": {metadataSetup_account_from_addressCdc, map[string]*bintree{}},
 		"setup_account_from_vault_reference.cdc": {metadataSetup_account_from_vault_referenceCdc, map[string]*bintree{}},
 	}},
@@ -1019,18 +1025,6 @@ var _bintree = &bintree{nil, map[string]*bintree{
 		"get_balance.cdc": {scriptsGet_balanceCdc, map[string]*bintree{}},
 		"get_supply.cdc": {scriptsGet_supplyCdc, map[string]*bintree{}},
 		"get_supported_vault_types.cdc": {scriptsGet_supported_vault_typesCdc, map[string]*bintree{}},
-		"metadata": {nil, map[string]*bintree{
-			"get_token_metadata.cdc": {scriptsMetadataGet_token_metadataCdc, map[string]*bintree{}},
-			"get_vault_data.cdc": {scriptsMetadataGet_vault_dataCdc, map[string]*bintree{}},
-			"get_vault_display.cdc": {scriptsMetadataGet_vault_displayCdc, map[string]*bintree{}},
-			"get_vault_supply_view.cdc": {scriptsMetadataGet_vault_supply_viewCdc, map[string]*bintree{}},
-		}},
-		"test": {nil, map[string]*bintree{
-			"example_token_vault_display_strict_equal.cdc": {scriptsTestExample_token_vault_display_strict_equalCdc, map[string]*bintree{}},
-		}},
-		"tokenForwarder": {nil, map[string]*bintree{
-			"is_recipient_valid.cdc": {scriptsTokenforwarderIs_recipient_validCdc, map[string]*bintree{}},
-		}},
 	}},
 	"setup_account.cdc": {setup_accountCdc, map[string]*bintree{}},
 	"switchboard": {nil, map[string]*bintree{
@@ -1048,6 +1042,12 @@ var _bintree = &bintree{nil, map[string]*bintree{
 		"setup_royalty_account_by_paths.cdc": {switchboardSetup_royalty_account_by_pathsCdc, map[string]*bintree{}},
 		"transfer_tokens.cdc": {switchboardTransfer_tokensCdc, map[string]*bintree{}},
 	}},
+	"tokenForwarder": {nil, map[string]*bintree{
+		"create_forwarder.cdc": {tokenforwarderCreate_forwarderCdc, map[string]*bintree{}},
+		"scripts": {nil, map[string]*bintree{
+			"is_recipient_valid.cdc": {tokenforwarderScriptsIs_recipient_validCdc, map[string]*bintree{}},
+		}},
+	}},
 	"transfer_many_accounts.cdc": {transfer_many_accountsCdc, map[string]*bintree{}},
 	"transfer_tokens.cdc": {transfer_tokensCdc, map[string]*bintree{}},
 }}
diff --git a/lib/go/templates/script_templates.go b/lib/go/templates/script_templates.go
index 979cfc8a..9b2dd29f 100644
--- a/lib/go/templates/script_templates.go
+++ b/lib/go/templates/script_templates.go
@@ -8,7 +8,7 @@ const (
 	scriptsPath            = "scripts/"
 	readBalanceFilename    = "get_balance.cdc"
 	readSupplyFilename     = "get_supply.cdc"
-	readSupplyViewFilename = "metadata/get_vault_supply_view.cdc"
+	readSupplyViewFilename = "metadata/scripts/get_vault_supply_view.cdc"
 )
 
 // GenerateInspectVaultScript creates a script that retrieves a
@@ -34,7 +34,7 @@ func GenerateInspectSupplyScript(env Environment) []byte {
 // the total supply of tokens in existence through a metadata view
 func GenerateInspectSupplyViewScript(env Environment) []byte {
 
-	code := assets.MustAssetString(scriptsPath + readSupplyViewFilename)
+	code := assets.MustAssetString(readSupplyViewFilename)
 
 	return []byte(ReplaceAddresses(code, env))
 }
diff --git a/lib/go/templates/transaction_templates.go b/lib/go/templates/transaction_templates.go
index ba72ba6b..2198ca92 100644
--- a/lib/go/templates/transaction_templates.go
+++ b/lib/go/templates/transaction_templates.go
@@ -18,7 +18,7 @@ const (
 	setupAccountFilename               = "setup_account.cdc"
 	setupGenericVaultFilename          = "metadata/setup_account_from_address.cdc"
 	mintTokensFilename                 = "mint_tokens.cdc"
-	createForwarderFilename            = "create_forwarder.cdc"
+	createForwarderFilename            = "tokenForwarder/create_forwarder.cdc"
 	burnTokensFilename                 = "burn_tokens.cdc"
 )
 
diff --git a/tests/example_token_tests.cdc b/tests/example_token_test.cdc
similarity index 99%
rename from tests/example_token_tests.cdc
rename to tests/example_token_test.cdc
index 44e6132d..80cada9e 100644
--- a/tests/example_token_tests.cdc
+++ b/tests/example_token_test.cdc
@@ -234,7 +234,7 @@ fun testBurnTokens() {
 access(all)
 fun testVaultTypes() {
     let scriptResult = executeScript(
-        "scripts/get_views.cdc",
+        "../transactions/metadata/scripts/get_views.cdc",
         [recipient.address]
     )
     Test.expect(scriptResult, Test.beSucceeded())
diff --git a/tests/metadata_views_tests.cdc b/tests/metadata_views_test.cdc
similarity index 91%
rename from tests/metadata_views_tests.cdc
rename to tests/metadata_views_test.cdc
index d611e6dd..b9da725d 100644
--- a/tests/metadata_views_tests.cdc
+++ b/tests/metadata_views_test.cdc
@@ -48,9 +48,11 @@ access(all) fun testRetrieveVaultDisplayInfo() {
     let alice = Test.createAccount()
 
     setupExampleToken(alice)
-    let result = scriptExecutor("test/example_token_vault_display_strict_equal.cdc", [alice.address])! as! Bool
-
-    Test.assertEqual(true, result)
+    let scriptResult = executeScript(
+        "scripts/example_token_vault_display_strict_equal.cdc",
+        [alice.address]
+    )
+    Test.expect(scriptResult, Test.beSucceeded())
 }
 
 
diff --git a/tests/private_receiver_forwarder_tests.cdc b/tests/private_receiver_forwarder_test.cdc
similarity index 100%
rename from tests/private_receiver_forwarder_tests.cdc
rename to tests/private_receiver_forwarder_test.cdc
diff --git a/transactions/scripts/test/example_token_vault_display_strict_equal.cdc b/tests/scripts/example_token_vault_display_strict_equal.cdc
similarity index 100%
rename from transactions/scripts/test/example_token_vault_display_strict_equal.cdc
rename to tests/scripts/example_token_vault_display_strict_equal.cdc
diff --git a/tests/switchboard_tests.cdc b/tests/switchboard_test.cdc
similarity index 99%
rename from tests/switchboard_tests.cdc
rename to tests/switchboard_test.cdc
index 950af06e..d80b84b5 100644
--- a/tests/switchboard_tests.cdc
+++ b/tests/switchboard_test.cdc
@@ -135,7 +135,7 @@ fun testRemoveVaultTypeFromSwitchboard() {
 access(all)
 fun testUseSwitchboardWithForwarder() {
     var txResult = executeTransaction(
-        "../transactions/create_forwarder.cdc",
+        "../transactions/tokenForwarder/create_forwarder.cdc",
         [admin.address],
         recipient
     )
diff --git a/transactions/scripts/metadata/get_token_metadata.cdc b/transactions/metadata/scripts/get_token_metadata.cdc
similarity index 100%
rename from transactions/scripts/metadata/get_token_metadata.cdc
rename to transactions/metadata/scripts/get_token_metadata.cdc
diff --git a/transactions/scripts/metadata/get_vault_data.cdc b/transactions/metadata/scripts/get_vault_data.cdc
similarity index 100%
rename from transactions/scripts/metadata/get_vault_data.cdc
rename to transactions/metadata/scripts/get_vault_data.cdc
diff --git a/transactions/scripts/metadata/get_vault_display.cdc b/transactions/metadata/scripts/get_vault_display.cdc
similarity index 100%
rename from transactions/scripts/metadata/get_vault_display.cdc
rename to transactions/metadata/scripts/get_vault_display.cdc
diff --git a/transactions/scripts/metadata/get_vault_supply_view.cdc b/transactions/metadata/scripts/get_vault_supply_view.cdc
similarity index 100%
rename from transactions/scripts/metadata/get_vault_supply_view.cdc
rename to transactions/metadata/scripts/get_vault_supply_view.cdc
diff --git a/tests/scripts/get_views.cdc b/transactions/metadata/scripts/get_views.cdc
similarity index 100%
rename from tests/scripts/get_views.cdc
rename to transactions/metadata/scripts/get_views.cdc
diff --git a/transactions/create_forwarder.cdc b/transactions/tokenForwarder/create_forwarder.cdc
similarity index 100%
rename from transactions/create_forwarder.cdc
rename to transactions/tokenForwarder/create_forwarder.cdc
diff --git a/transactions/scripts/tokenForwarder/is_recipient_valid.cdc b/transactions/tokenForwarder/scripts/is_recipient_valid.cdc
similarity index 100%
rename from transactions/scripts/tokenForwarder/is_recipient_valid.cdc
rename to transactions/tokenForwarder/scripts/is_recipient_valid.cdc

From e726af85bb5fcf145b660dd08b4089c59223ecd5 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 5 Apr 2024 09:13:13 -0500
Subject: [PATCH 108/115] add type to TokenForwarding

---
 contracts/utility/TokenForwarding.cdc      | 6 +++---
 lib/go/contracts/internal/assets/assets.go | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/contracts/utility/TokenForwarding.cdc b/contracts/utility/TokenForwarding.cdc
index b954c62b..8527f839 100644
--- a/contracts/utility/TokenForwarding.cdc
+++ b/contracts/utility/TokenForwarding.cdc
@@ -19,7 +19,7 @@ import "FungibleToken"
 access(all) contract TokenForwarding {
 
     // Event that is emitted when tokens are deposited to the target receiver
-    access(all) event ForwardedDeposit(amount: UFix64, depositedUUID: UInt64, from: Address?, to: Address?, toUUID: UInt64)
+    access(all) event ForwardedDeposit(amount: UFix64, depositedUUID: UInt64, from: Address?, to: Address?, toUUID: UInt64, depositedType: Type)
 
     access(all) resource interface ForwarderPublic {
 
@@ -55,9 +55,9 @@ access(all) contract TokenForwarding {
 
             let uuid = from.uuid
 
-            receiverRef.deposit(from: <-from)
+            emit ForwardedDeposit(amount: balance, depositedUUID: uuid, from: self.owner?.address, to: receiverRef.owner?.address, toUUID: receiverRef.uuid, depositedType: from.getType())
 
-            emit ForwardedDeposit(amount: balance, depositedUUID: uuid, from: self.owner?.address, to: receiverRef.owner?.address, toUUID: receiverRef.uuid)
+            receiverRef.deposit(from: <-from)
         }
 
         /// Helper function to check whether set `recipient` capability
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index ed47c98f..b4731e39 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -8,7 +8,7 @@
 // ../../../contracts/utility/MetadataViews.cdc (25.493kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (10.577kB)
 // ../../../contracts/utility/PrivateReceiverForwarder.cdc (2.845kB)
-// ../../../contracts/utility/TokenForwarding.cdc (5.432kB)
+// ../../../contracts/utility/TokenForwarding.cdc (5.484kB)
 // ../../../contracts/utility/ViewResolver.cdc (2.718kB)
 
 package assets
@@ -239,7 +239,7 @@ func utilityPrivatereceiverforwarderCdc() (*asset, error) {
 	return a, nil
 }
 
-var _utilityTokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x5d\x6f\xe3\xb6\x12\x7d\xd7\xaf\x98\xcd\x05\x6e\xec\x45\x56\x7e\xb9\xb8\x0f\xc6\xe6\xee\xe7\x4d\xbb\x2f\x45\x91\x26\xed\x43\xb1\xe8\xd2\xd4\xc8\xe2\x9a\x26\x05\x72\x64\xad\x11\xf8\xbf\x17\x43\xea\xdb\x76\x9a\x2d\xd0\x02\x05\x36\x2f\x91\x64\x72\xe6\xcc\xcc\x99\x33\xa2\x16\xcf\x9f\x27\xc9\xbf\xe0\xa6\x32\x6b\xb5\xd2\x08\x77\x76\x83\x06\x6e\xac\xab\x85\xcb\x94\x59\xc3\x3b\x6b\xc8\x09\x49\x49\x72\x57\x28\x0f\xb2\xb9\x05\x5f\xd8\xda\x43\x61\x6b\x10\x06\x84\x94\xb6\x32\x04\xd2\x56\x3a\x03\x8f\x04\x55\x09\x02\x64\xe5\xc9\x6e\x3b\xe3\xd1\xf6\x2d\x4a\x54\x3b\x74\x09\x59\x10\x5a\xdb\x1a\xa8\xc0\x2d\x90\x85\x3c\x7a\x05\xe2\x75\x9e\x9f\x08\xc8\x54\x9e\xa3\x43\x43\x9d\x8f\xba\x40\x83\x3b\x74\xbc\x6d\x0f\x2e\x5a\x6b\xf6\xa4\x8c\x12\xf7\x20\x85\x81\xb2\x5a\x69\xe5\x0b\x20\x86\xdd\x04\x84\x0e\x1c\x7a\x5b\x39\x89\x20\x3c\x88\x0e\x0c\x48\x51\x8a\x95\xd2\x8a\xf6\xf0\xb9\xf2\x04\x5a\x6d\x10\x04\xfc\x2c\x2a\x4d\x57\x89\x30\x19\xbb\x03\x8f\x86\x6d\x64\x16\xbd\xb9\x24\xc0\x1d\x1a\x30\x88\x0c\x19\x36\xc6\xd6\xa0\x08\x94\xef\x41\xa7\x49\xf2\x4b\x81\x66\x98\xa2\x5a\x18\x0a\xb1\x49\x87\x82\xd8\x47\x87\xed\x2a\x86\x24\x85\xd6\xc1\x5b\x5c\xf1\x03\xd6\xdd\x8a\x24\xaf\x8c\x24\x65\xd9\x62\x06\xa5\xb3\x3b\x95\x21\x3b\xad\x15\x15\x61\x4f\x17\x90\xc3\x00\x41\x22\x50\x21\x28\x5a\x66\xdf\x83\x44\x27\x54\xa0\x72\x7d\xba\xd3\x24\x79\xbe\x48\x12\xb5\x2d\xad\x23\xb8\x18\x95\xed\x22\x49\x84\x94\xe8\xfd\x4c\x68\x3d\xef\x69\x10\x7e\x1c\xd0\xe5\x21\x49\x00\x00\x16\x0b\xf8\xff\x8e\xab\x16\x9c\x2b\x0f\xb8\x55\x44\x98\x85\xea\xb5\x1e\x85\x43\xc8\xb0\xb4\x5e\x51\x4c\x21\x07\x40\xc2\xad\x91\xda\xba\xba\x60\x6d\xe8\x19\x83\xd9\x36\x23\xd9\xfb\xb8\x7f\x26\xb6\x9c\xdd\x25\xdc\xdf\xa8\x2f\xff\xfd\xcf\x55\x6f\xf7\xfe\xfe\xc3\xfb\x25\xdc\x7f\x30\xc4\x8f\x73\x67\xb7\x4b\x78\x93\x65\x0e\xbd\x7f\x75\x05\x64\xc7\x77\xc3\xd5\xf3\xe4\xc8\x79\x47\x1e\x65\x08\x5d\x2e\x24\xf6\xd5\xfb\x91\xf9\x26\xdb\x04\xc4\x24\x2c\xe0\x7b\xd4\x25\x3a\xe8\xea\xc6\x85\x2f\x50\x6e\x38\x11\x54\xa0\x0b\xcd\xf2\xc9\xa1\x54\xa5\x42\x43\x9f\x06\x44\x1c\xd9\x51\x1e\x8c\x25\xd0\x82\x38\x7c\xeb\x22\x41\x7a\xd2\x92\x8a\x29\x14\x40\xfb\x12\x79\xf9\x4e\x68\x95\xa5\x9d\x91\x61\x18\x79\x65\x22\x8a\xd9\x7c\x09\x6f\xad\xd5\x63\xcc\xdf\x21\x33\xb4\xc0\xae\x08\x20\xbc\x57\x6b\xd3\x7a\xe8\xd0\x0e\x00\xa4\x23\x0b\x41\x2a\x18\x32\xb2\x53\xe1\xf6\xb0\x42\x29\x2a\x8f\x81\xa8\xb6\x22\x50\x74\xd5\x34\x0b\x87\x55\x5a\xef\x83\xfc\x90\x05\x6d\xed\x06\xaa\xd0\x67\x8c\xa1\xb0\x36\x0b\x6c\xf7\x88\xa0\x72\x56\x95\xb3\x19\xb2\x39\x77\x1a\x7e\x29\x51\x06\x46\x71\x26\xac\x63\x0f\x69\x84\x54\xa0\x2e\x3d\xac\x2b\x56\x19\xb1\x16\xca\x78\x02\x65\x72\x65\x14\xa1\xde\x83\x2c\x84\xe2\x28\xa7\xa4\xb6\x0e\x6c\x28\x96\x32\x21\xab\x30\x72\xbc\x15\x5a\x49\x65\x2b\x0f\x1b\x65\xb2\x80\xa2\x2a\x33\x41\xe8\x23\xfb\xa3\x28\x96\x2e\x32\x57\x2b\x4f\xca\xac\x7d\xa0\x22\xac\x90\xed\x6f\x45\xd6\xb4\x29\xb7\x44\x74\x61\x0d\x78\xb2\x0e\x73\x67\x0d\xf9\x51\x7a\x47\xde\x5f\x3b\xa4\xca\x05\x89\xb1\x25\x53\x4c\xe8\xbe\x6e\x03\x82\xe4\xd6\x71\xd7\xfa\x6a\x8b\x2e\x60\xe4\xe4\x4e\x03\x6d\xd9\xb9\x08\x18\x58\x9e\x98\xb2\x41\x25\x6c\x6d\xce\x72\xc9\x8b\x1c\xdf\x5a\xe7\x6c\xcd\x84\xfa\xf7\xc3\x48\x39\xd2\x56\x92\x0e\xaf\x82\x81\xc3\x23\x6d\xd5\x35\xd3\x12\x4e\xdb\xb8\x7a\xbc\xdf\x3a\xe2\xd5\x05\x3a\x0c\x21\x0e\x05\x26\xa8\x4e\xad\xb4\x86\x55\xd0\x72\x4a\xc7\x7b\xb1\x69\x1e\x93\x29\xd9\xd7\x2f\xd2\x54\x0c\x15\xb5\xe9\x82\x5e\xa1\xa2\x89\x69\x82\x3c\xea\x7c\x0e\x3b\xe1\xfa\x96\x59\xc2\xbb\x9e\xbe\x43\xef\x0d\xce\x53\xd6\x16\x0b\xce\x46\xa3\x1f\x41\xcc\xc5\x06\x7d\x3b\x9d\xc0\xae\x3e\xa3\xa4\x30\xcf\x0c\x08\xb7\xae\xb6\x61\x5c\x9a\xac\xd5\x79\x3f\xb4\xa4\xa8\x55\xda\x0e\xd3\xa5\x6f\x2c\x55\x3e\x90\x80\x07\x1d\x53\x2f\xeb\x43\x7e\x24\xc8\x8e\x05\x4d\x04\xb3\xa8\xb1\xaf\x27\x2c\x08\x1e\x0e\x73\x78\xe8\xf6\xf3\x9f\x1e\x48\xfd\x2d\xe6\x70\x0d\x9c\xb3\xb4\x83\x96\xae\x02\xad\x5e\x9e\xe5\xd4\xff\x66\xf3\x67\xc9\x91\xc9\x95\xd0\x82\x0b\x75\x1d\xba\x2c\x6d\x6e\x8f\xd7\x55\x95\xca\xda\x45\x7c\x3d\x5e\x31\x00\x96\x8e\x83\x7b\xf9\x82\xff\xcf\xc7\xcb\x79\xc4\x9d\x1f\x4c\x0d\x86\xa3\xc9\xc4\x6e\xdb\xb9\x14\x62\xb7\xb5\x41\xf7\x2a\x15\x71\x2a\xc5\x11\x35\x44\x72\xfc\x7b\x34\x34\x5c\xc3\x46\xe7\x1d\xb8\xc3\x3f\x71\x24\x4d\x88\xd2\xa8\xdc\x84\x1d\x61\xc7\xa3\xe4\x38\x97\x84\x6f\x33\xee\xdb\x8c\xfb\x4b\x66\xdc\x93\x78\xfb\x04\x55\x3b\x4d\x5c\x2e\x9f\x59\xe3\x6d\xcf\xce\x70\xef\xc7\x82\xde\x86\x9e\x77\xa7\x9e\x46\xf2\x9b\x13\x43\xd6\x2f\x7d\x8a\xb0\x4f\x7c\xce\x7e\x03\x83\xf5\xed\xa9\x89\x36\x95\xf7\xd2\xe1\xe4\x09\xff\x0d\x77\x3f\x25\x15\xf0\xec\x1a\x8c\xd2\x4b\xb8\x78\x17\x68\xc6\xdd\x14\xb7\x9d\x3a\xee\x04\xce\x71\xb0\x3d\xac\x8b\x11\x84\xc3\xe8\x6e\x5c\x19\xb8\x1e\xa1\x3b\xa7\x1e\x6f\x60\x8d\x44\x23\x11\x65\x66\xc7\x62\xc7\x62\x84\xb7\x8d\xd0\x9e\x1e\x7c\x55\xf2\x91\x0a\x33\x58\xed\xe3\x79\xb4\x7d\xe3\xb9\x1a\x99\xad\x0b\x25\x8b\x70\x78\x5d\x0d\x5f\x5c\xfa\xb1\x7c\xd9\x3c\xbc\xec\x1c\xff\x71\xd3\xbc\x71\x4e\xec\x99\x11\x37\x77\x0d\x9c\xd8\xb1\x13\x2f\xa7\x65\x79\xa7\xb0\x0e\x1c\x58\x23\xfd\xd4\x46\x11\x46\xf9\x1d\x9b\xe2\x56\x78\xe0\xab\xa8\xd9\x87\x49\xb1\x55\x0e\xcf\xbe\x5a\xb1\x4f\x10\xa6\x89\xe4\xe1\xf0\x48\x1d\x79\x9c\xef\x18\xd8\x9f\x7f\x8d\x98\x9a\xf3\xa3\x80\xfd\x24\xd4\xeb\x29\x9e\xc9\xf2\x5f\x5b\x34\xe9\x1a\x43\xb6\x66\xf3\x8f\x70\x0d\xe4\x2a\x3c\xa9\x10\xe3\xdd\xe7\x98\x77\xdb\x50\xac\x9d\xd5\x51\xfa\x03\x39\xd6\x6a\xd7\x30\x2e\xbc\xaf\x4a\x89\x65\x47\xb9\xfe\xc3\xc0\x84\xc7\x01\x64\xcf\x88\xb8\x0b\x84\xd9\x47\x43\xbe\x08\x1d\x17\x3e\x89\x34\x40\x39\x00\x36\x9a\x61\xce\x7b\x1f\xa7\x8d\xf2\xc7\xac\x99\x51\xc8\x22\x5f\x9e\x9e\xf5\x27\x72\xdf\x56\xf4\x1c\x0d\xa7\xb4\x1b\x99\xe0\xcd\x93\xda\x30\x84\x8f\xe7\x99\xd6\x2d\x1f\x13\x0e\x50\x7b\x84\x87\x76\x55\x2e\xf8\xf6\x70\xaa\x54\x3c\x6d\x67\x27\x5f\xfa\x9f\x26\x91\x5f\xc5\xdc\xbf\x57\x1f\x8f\x47\xc7\x61\x78\xae\xe3\x19\x75\xf4\xdd\xaa\x79\xc4\x67\x16\x83\xf5\xe8\x6b\x5c\x0b\xab\xfb\x82\x75\x66\x46\x35\xea\x76\x34\x9b\x8e\x7c\x9d\x49\xfb\x12\x5e\xf7\x6e\xfb\x84\x37\xa5\x7c\xf9\xa2\xf9\x1c\x77\xd2\x4c\x77\x39\x6f\x22\x3d\x24\xbf\x07\x00\x00\xff\xff\xad\x3d\x5a\xf8\x38\x15\x00\x00"
+var _utilityTokenforwardingCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x5d\x6f\xe3\xb6\x12\x7d\xd7\xaf\x98\xcd\x05\x6e\xec\x45\xd6\x7e\xb9\xb8\x0f\xc6\xe6\xee\xe7\x4d\xbb\x2f\x45\x91\x26\xed\x43\xb1\xe8\xd2\xd4\xc8\xe2\x9a\x26\x05\x72\x64\xad\x11\xf8\xbf\x17\x43\xea\xdb\x72\x9a\x2d\xd0\x02\x05\xd6\x0f\x89\x25\x93\x33\x67\x66\xce\x9c\x11\xb5\x7c\xfe\x3c\x49\xfe\x05\x37\xa5\xd9\xa8\xb5\x46\xb8\xb3\x5b\x34\x70\x63\x5d\x25\x5c\xaa\xcc\x06\xde\x59\x43\x4e\x48\x4a\x92\xbb\x5c\x79\x90\xf5\x25\xf8\xdc\x56\x1e\x72\x5b\x81\x30\x20\xa4\xb4\xa5\x21\x90\xb6\xd4\x29\x78\x24\x28\x0b\x10\x20\x4b\x4f\x76\xd7\x1a\x8f\xb6\x6f\x51\xa2\xda\xa3\x4b\xc8\x82\xd0\xda\x56\x40\x39\xee\x80\x2c\x64\xd1\x2b\x10\xaf\xf3\x7c\x47\x40\xaa\xb2\x0c\x1d\x1a\x6a\x7d\x54\x39\x1a\xdc\xa3\xe3\x6d\x07\x70\xd1\x5a\xbd\x67\xc1\x28\xf1\x00\x52\x18\x28\xca\xb5\x56\x3e\x07\x62\xd8\x75\x40\xe8\xc0\xa1\xb7\xa5\x93\x08\xc2\x83\x68\xc1\x80\x14\x85\x58\x2b\xad\xe8\x00\x9f\x4b\x4f\xa0\xd5\x16\x41\xc0\xcf\xa2\xd4\x74\x95\x08\x93\xb2\x3b\xf0\x68\xd8\x46\x6a\xd1\x9b\x4b\x02\xdc\xa3\x01\x83\xc8\x90\x61\x6b\x6c\x05\x8a\x40\xf9\x0e\xf4\x22\x49\x7e\xc9\xd1\xf4\x53\x54\x09\x43\x21\x36\xe9\x50\x10\xfb\x68\xb1\x5d\xc5\x90\xa4\xd0\x3a\x78\x8b\x2b\x7e\xc0\xaa\x5d\x91\x64\xa5\x91\xa4\x2c\x5b\x4c\xa1\x70\x76\xaf\x52\x64\xa7\x95\xa2\x3c\xec\x69\x03\x72\x18\x20\x48\x04\xca\x05\x45\xcb\xec\xbb\x97\xe8\x84\x72\x54\xae\x4b\xf7\x22\x49\x9e\x2f\x93\x44\xed\x0a\xeb\x08\x2e\x06\x65\xbb\x48\x12\x21\x25\x7a\x3f\x13\x5a\xcf\x3b\x1a\x84\x1f\x7b\x74\x79\x48\x12\x00\x80\xe5\x12\xfe\xbf\xe7\xaa\x05\xe7\xca\x03\xee\x14\x11\xa6\xa1\x7a\x8d\x47\xe1\x10\x52\x2c\xac\x57\x14\x53\xc8\x01\x90\x70\x1b\xa4\xa6\xae\x2e\x58\xeb\x7b\xc6\x60\xb6\xc9\x48\xfa\x3e\xee\x9f\x89\x1d\x67\x77\x05\xf7\x37\xea\xcb\x7f\xff\x73\xd5\xd9\xbd\xbf\xff\xf0\x7e\x05\xf7\x1f\x0c\xf1\xed\xcc\xd9\xdd\x0a\xde\xa4\xa9\x43\xef\x5f\x5d\x01\xd9\xe1\xd5\x70\x75\x6b\xe4\xee\x50\xe0\x0a\xf8\xef\x3c\x39\x41\xd4\x32\x4a\x19\x42\x97\x09\x89\x5d\x49\x7f\x64\x12\xca\x26\x2b\x31\x33\x4b\xf8\x1e\x75\x81\x0e\xda\x62\x32\x1b\x72\x94\x5b\xce\x0e\xe5\xe8\x42\x07\x7d\x72\x28\x55\xa1\xd0\xd0\xa7\x1e\x3b\x07\x76\x94\x07\x63\x09\xb4\x20\xce\x89\x75\x91\x35\x1d\x93\x49\xc5\xbc\x0a\xa0\x43\x81\xbc\x7c\x2f\xb4\x4a\x17\xad\x91\x7e\x18\x59\x69\x22\x8a\xd9\x7c\x05\x6f\xad\xd5\x43\xcc\xdf\x21\xd3\x36\xc7\xb6\x32\x20\xbc\x57\x1b\xd3\x78\x68\xd1\xf6\x00\x2c\x06\x16\x82\x7e\x30\x64\x64\xa7\xc2\x1d\x60\x8d\x52\x94\x1e\x03\x7b\x6d\x49\xa0\xe8\xaa\xee\x20\x0e\xab\xb0\xde\x07\x4d\x22\x0b\xda\xda\x2d\x94\xa1\xf9\x18\x43\x6e\x6d\x1a\x5a\xc0\x23\x82\xca\x58\x6a\xce\x66\xc8\x66\xdc\x7e\xf8\xa5\x40\x19\x68\xc6\x99\xb0\x8e\x3d\x2c\x22\xa4\x1c\x75\xe1\x61\x53\xb2\xf4\x88\x8d\x50\xc6\x13\x28\x93\x29\xa3\x08\xf5\x01\x64\x2e\x14\x47\x39\x66\xba\x75\x60\x43\xb1\x94\x09\x59\x85\x81\xe3\x9d\xd0\x4a\x2a\x5b\x7a\xd8\x2a\x93\x06\x14\x65\x91\x0a\x42\x1f\x5b\x22\x2a\x65\xe1\x22\x9d\xb5\xf2\xa4\xcc\xc6\x07\x7e\xc2\x1a\xd9\xfe\x4e\xa4\x75\xef\x72\x9f\x44\x17\xd6\x80\x27\xeb\x30\x73\xd6\x90\x1f\xa4\x77\xe0\xfd\xb5\x43\x2a\x5d\xd0\x1d\x5b\x30\xc5\x84\xee\xea\xd6\x23\x48\x66\x1d\xb7\xb2\x2f\x77\xe8\x02\x46\x4e\xee\x38\xd0\x86\x9d\xcb\x80\x81\x35\x8b\x29\x1b\xa4\xc3\x56\xe6\x2c\x97\xbc\xc8\xf0\xad\x75\xce\x56\x4c\xa8\x7f\x3f\x0c\xe4\x64\xd1\xe8\xd4\xf1\x55\x30\x70\x7c\xa4\xad\xda\x66\x5a\xc1\xb4\x8d\xab\xc7\xfb\xad\x25\x5e\x95\xa3\xc3\x10\x62\x5f\x75\x82\x14\x55\x4a\x6b\x58\x07\x81\xa7\xc5\x70\x2f\xd6\xcd\x63\x52\x25\xbb\xfa\x45\x9a\x8a\xbe\xcc\xd6\x5d\xd0\xc9\x56\x34\x31\x4e\x90\x47\x9d\xcd\x61\x2f\x5c\xd7\x32\x2b\x78\xd7\xd1\xb7\xef\xbd\xc6\x39\x65\x6d\xb9\xe4\x6c\xd4\xfa\x11\x14\x5e\x6c\xd1\x37\x23\x0b\xec\xfa\x33\x4a\x0a\x43\xce\x80\x70\x9b\x72\x17\x66\xa8\x49\x1b\xf1\xf7\x7d\x4b\x8a\x1a\xf9\x6d\x31\x5d\xfa\xda\x52\xe9\x03\x09\x78\xfa\x31\xf5\xd2\x2e\xe4\x47\x82\x6c\x59\x50\x47\x30\x8b\xc2\xfb\x7a\xc4\x82\xe0\xe1\x38\x87\x87\x76\x3f\x7f\x74\x4f\xff\x6f\x31\x83\x6b\xe0\x9c\x2d\x5a\x68\x8b\x75\xa0\xd5\xcb\xb3\x9c\xfa\xdf\x6c\xfe\x2c\x39\x31\xb9\x16\x5a\x70\xa1\xae\x43\x97\x2d\xea\xcb\xd3\x75\x65\xa9\xd2\x66\x11\x7f\x1f\xae\xe0\x41\x76\x7e\xfc\xd4\x46\x4f\xe6\x0f\xdb\x69\xa6\x4f\x08\xc6\x56\x06\xdd\xab\x85\x88\xb3\x27\x0e\xa2\x5e\xcc\x13\xbf\x47\x43\xfd\x35\xd1\xe8\x68\x48\x05\xd8\x1b\x24\xbe\x9a\xcd\xe7\x43\xf0\xfd\xdd\xc3\xca\xbc\x7c\xc1\xff\xe7\xed\xea\xe3\x3f\x71\x62\x8d\x78\x54\x8b\xe0\x88\x3c\x61\xc7\xa3\xdc\x39\x97\x84\x6f\x23\xf0\xdb\x08\xfc\x4b\x46\xe0\x93\x78\xfb\x04\xd1\x9b\x26\x2e\x97\xcf\x6c\xf0\xb6\x63\x67\xb8\xf6\x43\xbd\x6f\x42\xcf\xda\x93\x52\x3d\x11\xea\x53\x46\xda\x2d\x7d\x8a\xee\x8f\x7c\xce\x7e\x03\x83\xd5\xed\xd4\xc0\x1b\xab\x7f\xe1\x70\x74\x87\x3f\xfd\xdd\x4f\x49\x05\x3c\xbb\x06\xa3\xf4\x0a\x2e\xde\x05\x9a\x71\x37\xc5\x6d\x53\x47\xa4\xc0\x39\x0e\xb6\x83\x75\x31\x80\x70\x1c\x5c\x0d\x2b\x03\xd7\x03\x74\xe7\xd4\xe3\x0d\x6c\x90\x68\x20\xa2\xcc\xec\x58\xec\x58\x8c\xf0\x30\x12\xda\xd3\x83\x2f\x0b\x3e\x86\x61\x0a\xeb\x43\x3c\xc3\x36\x0f\x44\x57\x03\xb3\x55\xae\x64\x1e\x0e\xbc\xeb\xfe\x73\x4d\x37\xb5\x2f\xeb\x9b\x97\xad\xe3\x3f\x6e\x9a\x37\xce\x89\x03\x33\xe2\xe6\xae\x86\x13\x3b\x76\xe4\x65\x5a\x96\xf7\x0a\xab\xc0\x81\x0d\xd2\x4f\x4d\x14\x61\xd2\xf3\x4c\xf2\xdc\x0a\x0f\x71\x56\xb1\x66\x1f\x47\xc5\x56\x19\x3c\xfb\x6a\xc5\x9e\x20\x4c\x1d\xc9\xc3\xf1\x91\x3a\xf2\xb4\xdf\x33\xb0\x3f\xff\x94\x31\x36\xe7\x07\x01\xfb\x51\xa8\xd7\x63\x3c\xa3\xe5\xbf\x36\x68\xba\x09\xfe\x11\xae\x81\x5c\x89\x93\x0a\x31\xdc\x7d\x8e\x79\xb7\x35\xc5\x9a\x59\x1d\xa5\x3f\x90\x63\xa3\xf6\x35\xe3\xc2\xe3\xac\x94\x58\xb4\x94\xeb\x5e\x26\x8c\x78\x1c\x40\x76\x8c\x88\xbb\x40\x98\x43\x34\xe4\xf3\xd0\x71\xe1\x35\x4a\x0d\x94\x03\x60\xa3\x29\x66\xbc\xf7\x71\xda\x28\x7f\xca\x9a\x19\x75\x27\xf0\xc9\x59\x3f\x91\xfb\xa6\xa2\xe7\x68\x38\xa6\xdd\xc0\x04\x6f\x1e\xd5\x86\x21\x7c\x3c\xcf\xb4\x76\xf9\x90\x70\x80\xda\x23\x3c\x34\xab\x32\xc1\x97\xc7\xa9\x52\xf1\xb4\x9d\x4d\x9e\x09\x9e\x26\x91\x5f\xc5\xdc\xbf\x57\x1f\x4f\x47\xc7\xb1\x7f\xec\xe3\x19\x75\xf2\xae\xab\xbe\xc5\x47\x1a\x83\xd5\xe0\x0d\x5e\x03\xab\x7d\xeb\x75\x66\x46\xd5\xea\x76\x32\x9b\x4e\x7c\x9d\x49\xfb\x0a\x5e\x77\x6e\xbb\x84\xd7\xa5\x7c\xf9\xa2\x7e\x85\x37\x69\xa6\xfd\x3a\xaf\x23\x3d\x26\xbf\x07\x00\x00\xff\xff\x01\x05\x3d\xd5\x6c\x15\x00\x00"
 
 func utilityTokenforwardingCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -255,7 +255,7 @@ func utilityTokenforwardingCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "utility/TokenForwarding.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x95, 0x8b, 0x89, 0x34, 0xc7, 0xf1, 0x11, 0xaa, 0xaf, 0x7, 0x5c, 0xfc, 0x47, 0x86, 0x50, 0xf3, 0x92, 0x1, 0x3e, 0x29, 0x95, 0xd4, 0xa8, 0xa5, 0x90, 0x78, 0x56, 0xe6, 0x88, 0x3d, 0xff}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x37, 0x68, 0x20, 0x8a, 0x97, 0xd3, 0x88, 0x2b, 0xd3, 0x3f, 0x30, 0x2a, 0x82, 0x9a, 0x41, 0x3d, 0x17, 0x5, 0x4c, 0x41, 0x99, 0x4e, 0x7c, 0xb4, 0xe3, 0x46, 0x3a, 0x70, 0x34, 0xec, 0x92, 0x7e}}
 	return a, nil
 }
 

From fd26c0df2560cc68a1f15b0728a7aad58bb4d08c Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 12 Apr 2024 12:25:46 -0500
Subject: [PATCH 109/115] update comment and event test

---
 contracts/FungibleToken.cdc                | 7 ++-----
 lib/go/contracts/internal/assets/assets.go | 6 +++---
 tests/example_token_test.cdc               | 3 +--
 3 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index c210072f..43280f27 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -36,11 +36,8 @@ import "Burner"
 
 /// FungibleToken
 ///
-/// Fungible Token implementations are no longer required to implement the fungible token
-/// interface. We still have it as an interface here because there are some useful
-/// utility methods that many projects will still want to have on their contracts,
-/// but they are by no means required. all that is required is that the token
-/// implements the `Vault` interface
+/// Fungible Token implementations should implement the fungible token
+/// interface.
 access(all) contract interface FungibleToken: ViewResolver {
 
     // An entitlement for allowing the withdrawal of tokens from a Vault
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index b4731e39..61f17069 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken.cdc (9.619kB)
-// ../../../contracts/FungibleToken.cdc (10.212kB)
+// ../../../contracts/FungibleToken.cdc (9.927kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.596kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.111kB)
 // ../../../contracts/utility/Burner.cdc (1.997kB)
@@ -99,7 +99,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x4b\x93\xdb\xc6\x11\xbe\xf3\x57\x74\xad\x0f\x22\x1d\x8a\xeb\x43\x2a\x87\xad\xd8\xb2\x64\x5b\x55\x3a\x38\x95\xb2\x56\xd6\x21\x49\x15\x87\x40\x93\x1c\xef\x60\x06\x9e\x19\x90\x62\xb6\xf6\xbf\xa7\xba\xe7\x01\x0c\x08\xee\xae\x6c\xc5\x17\x71\x81\x99\x7e\x3f\xbe\x6e\xf8\xfa\xeb\xaf\x67\xb3\xaf\xe0\x76\x8f\xf0\x56\x99\x23\xbc\xed\xf4\x4e\x6e\x14\xc2\xad\xb9\x43\x0d\xce\x0b\x5d\x0b\x5b\xcf\x66\x5f\x7d\x05\xeb\xf4\x92\xdf\xad\xa1\x32\xda\x5b\x51\xf9\xd9\x8c\xaf\x4f\xdf\x04\xe9\x40\x1b\x50\x46\xef\xd0\x82\xd0\x20\xb5\x47\xbb\x15\x15\xce\xfc\x5e\x78\x10\x4a\xc1\x36\x5d\xf5\x7c\x35\xd1\x75\x70\x34\x9d\xaa\x61\x2f\x0e\xf4\x8a\x9e\x6f\x8d\x6d\xc0\x9b\xd5\x6c\xf6\x6e\x0b\x02\x3a\x87\xd6\xc1\x51\x68\xef\xe8\x40\x8d\xad\x32\x27\x10\xa0\xf1\x38\xa2\xb5\x04\xbf\x47\x69\x7b\x99\x6b\x83\x24\x98\x07\x8d\x58\xd3\x65\xd9\xb4\x0a\x1b\xd4\x9e\x4e\x42\xa1\x6a\x2f\xf3\x12\x36\x9d\x8f\xa4\x98\x81\x9b\xd5\xe6\x02\x89\x7c\xc9\x41\x8d\x5b\xa9\xb1\x06\xa9\xc1\xef\xa5\xcb\x52\xac\x82\x5d\x7f\x15\x9d\xf2\x6b\xb0\xe8\x4c\x67\xab\xc1\xcd\xd9\xec\x27\x51\xed\xc7\xf6\xc9\xe7\xfc\xa9\x45\x66\xee\xce\xb9\x5f\x26\x1a\x99\xfe\xd3\x9a\x83\xac\xd1\xae\x97\xb0\xfe\x05\x2b\x94\x07\xfe\x2d\x74\x0d\xeb\x37\x42\x09\x5d\xe1\xd4\x6d\xc7\xde\x76\x23\xf5\x2a\x25\x2c\x42\x6b\xf1\x65\x65\x74\x2d\xbd\x34\xda\x31\xa9\xd6\x38\x3f\x7c\xc6\x3e\xb7\xe8\xbc\x95\x95\x9f\x91\xa0\xf8\x09\xab\x8e\x5e\x82\xd9\xb2\xe4\xdb\x4e\x57\xe1\x30\x9b\x0b\x81\x35\x59\x31\xdf\x13\x10\x1f\x87\xad\xb0\xc2\x23\x6c\xb0\x12\x1d\xc9\xe2\x61\x27\x0f\xe8\xf8\x38\x05\x05\xff\x10\x1b\xa9\xa4\x3f\x91\x6d\xdc\x5e\x58\x9c\x09\xb0\xb8\x45\x8b\xba\xe2\x78\x0a\x6e\x64\xea\x41\x2e\xa3\xd5\x09\xf0\x53\x6b\x5c\x24\xb5\x95\xa8\x6a\xd7\x4b\x34\x93\x1a\x8c\x46\x30\x16\x1a\x63\x31\x49\xdc\x9b\x82\x02\x93\x62\xda\x99\x28\x50\x88\xd0\x91\x34\x8d\xb8\x43\xa8\x3a\xe7\x4d\x93\x2d\x1c\x4d\x93\x9d\x48\xb6\x29\xad\x4c\x01\x6e\xe0\x20\xac\x34\x1d\x9d\x96\x7a\xe7\xe0\x28\xfd\x9e\xc9\x87\x68\x5c\xcd\xde\x1a\x0b\xf8\x49\x10\x99\x25\x08\xd8\x8a\xae\x42\x0f\x95\xd0\xb0\xc1\x9e\x3a\xd6\xb0\x39\xa5\x84\x92\x7a\x37\x0b\xe6\x80\x14\x14\x45\xb4\x7c\x7d\x3d\x9b\xc9\xa6\x35\xd6\xc3\xd5\xaf\x12\x8f\xbf\xa0\x33\xea\x80\xf6\x2a\x3f\x7d\xd3\x59\x4d\x7f\xcf\xae\xaf\xaf\xcb\xd4\xa1\x27\xc5\xd3\x58\x1e\xb2\x24\x22\xc6\x8a\xc5\x41\x99\xb0\xf8\x7b\x27\xed\x54\x52\x95\xa9\xc0\x94\x7b\x51\xe1\x23\x82\xf3\x52\xa9\x50\x32\xa4\x07\xe1\x8a\x92\x03\x7b\xb4\x7d\xd4\x78\xfe\x8b\x03\xca\x34\x1c\x37\xdb\x4e\x31\xc9\xce\x07\x5f\x35\xe8\xf7\xa6\x8e\xae\x69\x84\x3e\x41\x6b\xcd\x6f\xc8\xa5\x89\xd8\x04\x66\x54\x7f\x48\x52\x66\x6a\xf4\xa8\xd2\xb8\x25\x93\x8c\x75\x23\x04\xf0\xe6\x44\xca\x36\x28\xb4\xcb\xba\xae\xb8\x14\x86\x20\xe8\x9f\xd2\x6f\x7e\x96\x7d\x1c\x74\x4e\x46\x71\x45\xb2\xf7\x85\x43\x54\x15\x3a\x37\x17\x4a\x2d\xb2\x24\x03\x3b\x14\x3e\xba\x81\xa1\x57\xe1\x7e\x36\x03\x00\xb8\xbe\x86\xd7\x1a\x50\x7b\xe9\xa3\xfd\xb7\xc6\x92\x8c\xe6\x28\xf5\x8e\xd9\x52\xf0\xd5\x56\x1c\x85\xe2\x4c\xe0\x08\x84\xad\x35\x0d\x88\x90\x56\x4c\x68\x28\xca\x90\xdc\xc7\x78\x3b\xb1\xbb\xe6\x2e\x84\x87\xe0\xea\x60\x06\x6c\xa4\xa7\x60\x3d\xee\x51\x27\x06\x64\xc0\xc4\x59\x3f\xc1\xee\x30\x64\xa4\xe7\x54\x30\x6f\xe0\xbd\xb7\x52\xef\x96\x20\x1a\xd3\x69\x7f\x03\x1f\xde\xca\x4f\x7f\xfb\xeb\x92\x49\xdd\xc0\xeb\xba\xb6\xe8\xdc\xab\xf0\xf7\x87\x0f\xef\x7e\xbc\x81\x0f\xef\xb4\xa7\x13\x99\xed\xf0\xf1\xe2\x8f\x28\x50\x63\x6b\x9c\xf4\x21\xc4\x1f\x17\xff\xc7\x74\xf4\x09\xf1\xbd\x19\x0a\xef\x4d\x29\x7a\x66\x78\x41\xf4\x9f\x1e\x11\x7b\x8f\xb0\x53\x66\x23\x14\x6c\x3a\xab\x63\x56\xd0\xb1\x4a\x28\x45\xa7\xa8\x08\x09\xd0\x46\xbf\xfc\x2f\x5a\x03\x9b\xd0\x3e\x2e\xe8\xc3\xc5\xe2\x29\x65\xc6\xb6\x1f\x48\xfa\x66\x40\x9d\xaa\xcb\xd0\xf8\x7d\x84\xb3\x26\x6d\x28\x67\xae\x47\x23\xb9\x94\xff\x3b\xdf\xa3\xb0\xde\xa1\xf7\x14\xd5\x51\x72\x90\x5c\x18\xb9\x36\x15\x7c\x86\xda\x9c\xf7\xc6\x24\x1a\xdc\xf3\xe1\xf1\x85\x83\xb0\x89\x41\x52\x94\xcf\x3d\xf4\xba\xa5\xfa\xfb\x1c\xe5\x90\x64\xac\x62\xa7\x8a\xf5\x22\x94\x04\xd2\x28\x85\x2a\x15\xf7\x44\x64\x98\xa1\xdc\xb7\x52\x15\xe1\x84\x3e\xb5\xb8\x3a\xe3\xfb\xce\x43\x46\x4a\x91\x61\xc9\xcb\x68\x58\x6f\x12\x5c\xa0\x82\xba\xcc\x77\x07\xdd\x59\xa1\xa0\x6e\x68\xda\x18\x4e\xad\x71\x4e\xc6\x86\x68\xb6\x50\x59\x14\x2c\x44\x6c\x8a\xd1\x6f\xd6\xf5\xa2\x93\xc6\x04\xb5\x18\xb1\x91\x4d\x85\x95\xea\x14\xa1\x17\x17\x5c\x73\xd4\xc9\xbc\xab\xcf\x71\x5a\xee\x79\xb1\xf0\x25\x96\x6f\x63\xa8\x70\x86\xba\x3b\x10\x59\x2c\x90\x04\x3e\x5d\x8b\x95\xdc\xca\x2a\xc6\x6e\x5f\x02\x0b\x2a\xd2\x81\x38\x08\xa9\x44\x68\x5a\xd4\x85\x73\x15\x29\x0e\xde\x06\x60\x48\x80\x77\x93\x9a\x11\xb3\x3e\x18\x59\x43\x2b\xb4\xac\xc8\x42\x9c\x91\x94\x77\xfc\x47\x2a\xa1\x43\x42\x39\x67\x73\x30\x3b\xe8\xf4\x9d\x36\x23\x86\xaf\xeb\x00\xca\x84\x52\xa7\x25\xa9\xc4\x8e\xc9\x2a\x3a\x68\xbb\xc0\x85\xe3\xa5\xe9\x94\x97\xad\x42\x38\x50\xa9\x1a\xe9\x18\xa1\x53\x86\xa2\xd5\x1e\xab\xbb\xd0\x55\x23\x44\x0a\xb7\xa0\xd3\x5e\x2a\x7e\x50\xa3\xe3\xfe\x16\x8c\x37\x36\x99\x45\x51\xed\xb1\x5e\x42\x6b\x3c\xc5\x27\xc9\x08\x7b\x54\x6d\xd2\x1a\x5a\xb4\x9c\xa2\xd9\xdb\xe9\xf6\x74\xea\x49\x3c\x52\xee\x83\x74\xaf\x93\x37\x6e\x4d\x6a\x0c\xf3\xb2\xfa\x2c\x6e\xe0\x8d\x31\xaa\x8c\x86\x64\x6a\x70\xdd\x26\x4e\x27\x8f\xa6\x53\x0a\xb4\x82\x08\x21\x62\x8b\xbe\xb3\xd4\x05\x22\xf2\xcc\x08\xce\x62\x63\x0e\xdc\x10\x02\x92\x1b\x5c\x1c\x05\x4a\x8f\x91\x5f\xb8\xa8\x26\x28\x3c\xa0\x22\xd3\xad\xa3\xde\x49\xb9\xc5\xba\xb8\xfd\xde\x10\xac\x36\x96\x7c\x4c\xd1\x15\x6e\x4b\xbf\x64\x60\x1b\x06\x2e\x94\x04\x8d\x72\x6e\x81\xd9\x10\xe6\x01\xe9\x1d\xaa\x6d\x41\xcd\xf0\x48\x17\xbb\x7a\x3d\x80\xd7\xac\xd5\x3a\xc9\xb0\x9e\xd6\x66\x2c\x29\x7b\xe8\x78\xd1\x29\xdf\xdf\xb3\xc5\x1e\x06\xe5\x95\xfe\xa3\x11\x63\xf4\x28\x30\x82\xb5\x45\x17\x87\xa0\x2d\xc3\x70\x13\x0d\x4d\x1e\x80\x83\x50\x1d\x9e\x5d\x0b\x57\x56\x29\x77\xbe\xfd\x36\xb5\xa6\xb3\x93\xf4\xdf\xd5\xc7\x1e\x02\xc5\x32\xd0\x74\xce\x53\x06\x13\x27\x27\x1a\x24\x0c\x3a\xcc\xc6\x98\x10\x3d\x82\x61\xa5\xae\xce\xc8\x53\x0b\x3e\x83\x2e\xe4\x80\xd5\x0e\xfd\xed\xa9\xc5\xf9\x62\x25\x6b\x32\xfd\x56\xa2\xed\x3b\x68\xf8\x37\xa1\x19\xbe\x60\x8e\x1a\xed\xab\x95\x08\xe0\x60\xd8\x5c\xf9\x75\xd7\xc9\xfa\x0c\xdb\x44\x3b\xd0\xbb\x45\x21\xdb\xc3\xac\xfc\x35\xe8\x5e\x69\x8c\xfc\xf3\xdd\x2b\xa2\x95\x89\xe6\x25\x75\xf4\xe2\x33\x9a\xd7\x47\x4c\x2d\x43\xea\x4a\x75\x35\x82\x80\x3c\x8b\x06\x31\xb8\x52\x95\x0e\x8a\x6d\x2b\x53\x39\x62\x46\xf8\x34\xd3\x3d\x67\xa4\x0b\x66\x08\xc8\x3d\xd3\xa1\x19\xac\x36\xe9\xd0\xf4\xfc\xb6\x04\x25\xef\x10\x5c\xab\x24\x43\xfe\x06\xba\x96\xaa\x46\x26\xe2\x50\xd7\xe1\x05\x8d\x83\x72\xcb\xf9\xe6\xa1\x55\x61\xfa\x84\xe7\xb7\xbd\xe4\xac\x71\xdb\x8b\xa6\x07\x2f\xee\xb0\xaf\x52\x54\xb9\xe2\x1b\xaa\x16\x17\xdc\x50\x6c\x26\x1e\x4b\x79\x16\x8a\xb2\x3d\xd2\x9c\x87\x68\x4d\x19\xbe\x28\x45\xda\xa1\x7f\xdf\xb5\x34\x6a\x62\xcd\x07\x28\xfc\xdd\xa0\x92\xd6\x92\xab\xa1\xb0\x8c\x26\xe2\x44\x4f\x67\xce\xaa\xef\x71\x8f\x5c\xdb\xd8\xe4\xa7\x96\x9b\x63\xd5\x59\x32\xa2\x3a\x81\x4b\x5c\x68\x42\xe3\x4d\x4d\x11\xd2\x63\x05\x72\x57\x99\x16\x70\xbe\xb8\x81\xfb\x5b\xce\x5b\xea\x27\x0f\xa5\x52\xbf\x44\xe9\x93\x44\xc6\x72\xa4\x32\xd8\x96\x07\x6a\xe1\x51\x3c\xe2\xd8\x66\x99\xf0\x5c\x24\x6e\xe6\xa1\xc3\xc6\xa0\x16\x3a\xde\x02\x9a\x59\x99\x90\xdb\x73\x69\xff\x8d\xaa\x53\x2c\x80\xde\x76\x3c\x8a\xd6\xb8\xcd\xe3\xc7\x45\x15\xa5\x3b\xd7\x30\x16\x25\xfa\x99\x7a\xe6\xa8\x22\xf4\x73\x4d\x01\x2a\x6b\x0c\xa0\x83\x4d\xdc\x87\x64\xe8\x3e\xbc\x3d\xe9\x77\x7d\x59\xdf\x65\x82\xd7\x4b\xb8\xb5\x42\xbb\x2d\x5a\x63\x97\x19\xbe\x85\xd5\x55\x9a\x62\x7b\x10\xda\xf5\x53\x0d\xd9\xb7\x77\xf1\x09\xfd\xe7\xe4\x0b\xab\x72\x33\x90\xa6\x67\x9c\xe5\x1a\xce\xd1\xab\xf4\x63\x19\x26\x1e\xbb\xa2\x7f\x18\x06\x8e\x81\xa6\x44\x55\xc7\x29\xdf\x8a\x71\x39\x32\x84\x35\x0f\x97\x1d\x34\x31\x54\x14\xd4\x7f\x88\x33\x1a\xa1\x42\x31\x5e\x25\x4a\xc7\x23\x1d\xd6\x70\x90\x22\xac\x12\xa2\xb0\xf4\x78\xbe\x58\xc7\x61\xaf\xa0\xf8\x6e\xb4\xbb\x89\x85\x8d\x42\x6d\x63\xcc\xdd\x1d\x22\xc3\x34\x63\x43\x0f\xa3\xe7\x3c\xf9\x95\xd9\xc8\xfa\xc6\xa8\xdc\x60\x39\x71\x46\x85\x49\xbc\x1a\x9d\xb7\xe6\x84\x75\x89\xf2\x7e\x26\xaa\xe3\x25\xd2\x71\xb8\x8d\xe9\xda\x5a\x78\xec\x6b\xeb\x0b\xea\xff\x5e\x28\x8e\x00\x75\x2a\x65\x31\x04\x11\x14\x81\x9c\x72\xd9\xe2\xc2\x52\x67\x83\xa8\x93\xa1\x02\x86\x0b\x50\x2d\x43\xbf\x40\x73\xf5\xa8\x99\x38\xae\xd3\xaa\xd8\xa1\x2f\xbc\xec\x0d\x84\xd1\x19\xb7\xc6\x06\xa9\xa9\xd2\x8f\x56\xa2\xe7\x03\x83\x64\x54\xd3\xda\x30\x5a\x07\xab\x71\xbb\x8f\xb8\xd4\xb5\xa2\x69\x18\xc4\x53\x83\x0a\xa3\x77\xf4\xc6\x6a\x1c\x4f\x69\x4f\x14\x2a\x33\xa9\x4b\xb1\xb3\x11\xd5\xdd\x7c\x31\xc6\x5c\x16\x27\x20\x17\xbb\xbb\x18\xef\x9f\x81\x57\xf8\xc8\x26\x65\xd0\x04\x34\xb9\x04\x3f\xe0\x32\xf6\x1b\xd2\x24\x08\xf7\xcd\xea\x9b\x1b\xb8\xba\x1d\xd8\x3b\xa1\x34\xf6\x43\xb4\x7d\xdd\xd9\xb4\xd9\x1a\x2a\x9f\xf6\x1d\xce\xc4\x42\xc2\x05\x96\x6a\x09\xdd\x27\xfb\x62\x7d\xf5\x88\x8c\xa5\x30\x24\xcb\x00\x41\xfd\x99\x3e\x77\xe8\xfb\xdc\xa8\xb7\xf1\x04\x15\xdb\x7b\x68\x04\x2e\x2e\xaa\x6b\xfc\x44\x01\x38\x6a\xcf\x0c\xd0\x62\x1b\x18\x65\x15\x70\x85\x66\xf4\x54\x97\xeb\xd3\x38\xd2\x09\x8b\x80\x9f\x5a\xac\x3c\xd6\xe3\xa4\xe2\xa9\x30\xf7\xaf\x7e\x4c\x27\xfe\xcb\x60\x50\x3c\x85\x14\xd3\x7d\x6e\xc4\x19\x94\x37\xb7\x85\x2c\x05\x79\x82\x89\xac\xe9\x59\x72\xfc\x89\x16\x3d\x8a\xa5\xeb\x6b\x78\x83\xca\x1c\xe3\x40\x4b\xa6\x18\x6c\xd0\x13\xec\x73\x9d\x8d\xa0\xd6\x76\xfa\xa5\x97\x4d\x84\x16\xdc\xce\xc6\xf4\xd8\x24\x3b\x4c\x4d\x78\xb8\x63\x6b\x05\x63\xb9\xdc\x7b\x62\x0f\x8c\x20\xb1\xfc\xfa\xb6\x0a\x1b\xdf\x15\x14\xf4\xe5\xf6\x2c\xe3\xdc\xfb\x6e\x43\xd2\xcc\xcd\x36\x74\xea\xbf\x7f\x7f\x3f\x41\xe9\xe1\xbb\xf9\x62\x9c\xe4\xc0\xe3\x10\x43\x85\xfb\x92\xec\x0d\x63\x87\x32\xcc\x1f\x00\x95\x9b\xaa\x0a\x19\xeb\xf0\xa8\xd8\xb4\xfe\x34\x8c\xe3\x38\x1d\xa5\xe0\xe3\xa1\x8c\x7d\x9b\xcd\x70\xdc\x1b\xa8\x8d\x7e\xe1\xa7\x28\xf7\x5f\x07\x26\xed\xb3\x04\xd7\x55\x7b\x62\x52\xbe\x7e\x7f\x94\xbe\xda\x6f\x8c\xb0\xf5\x7a\x09\x6b\x7e\xf6\xd6\xd8\xa3\xa0\xb9\x78\x0d\xe8\xab\xd5\x45\x53\x3c\x5c\x1c\x87\xca\xbe\x1b\x26\x8b\xb8\x57\x29\x21\xdd\x39\xce\xfc\xf5\x4b\x21\xb0\x91\x03\xa2\xd0\xc9\x7d\x93\x29\xf0\x2f\x22\xf2\x1f\x78\xf5\x0a\xb6\x42\x39\xbc\xa4\xd0\xc4\x06\x64\x1d\x8a\xf8\xba\x6f\x84\x4c\xf7\x85\x2b\x56\xc0\x30\xb9\xfd\xd0\x78\x1c\x6f\x40\x12\x61\xb2\xcb\xf9\xfd\x2f\xbd\x36\x98\x6c\x61\x45\xb1\xfe\xee\x89\xe1\xff\x75\x98\xf8\xfb\x51\x3e\x75\x15\x85\x8e\x87\x3f\xcd\x20\xe8\xf7\x4e\xa8\xf0\xd7\xc4\x1e\x60\x62\xfa\x7f\x56\x8b\x8b\xf3\x79\x4e\x49\x6a\x73\xe3\x24\xbd\xfa\x79\x88\xf6\xd3\x3e\xa2\x6f\x1b\x94\x17\x74\xe7\x7c\xf9\x70\x7d\x0d\xf1\x0b\x59\x58\x73\x0a\x95\xcb\x2c\xac\x03\x46\x59\xf3\x40\x1c\x61\x4c\x48\xdb\xa8\x52\xbf\x0f\xe6\xef\xa7\x53\xc4\x23\xc6\xda\xe0\x4e\x6a\xcd\x60\xb1\x04\x3a\xfd\x57\xe1\x89\xdb\x4f\xb6\xfb\x20\xe0\x7c\xf8\x78\x01\x2f\x1f\xf7\xe5\x3f\x72\x38\x8e\x21\x02\x97\xa7\x38\x69\xf7\x7e\x23\xc8\xc5\x1f\x62\xd3\x71\x11\x06\xf3\xf1\x62\x27\xbd\xbf\xe4\xe2\x87\xe7\x4e\xdf\xa2\xae\x69\xf2\x76\x43\xc8\x78\x16\x4f\x67\x95\xe4\x73\x66\xef\xa9\xb6\x30\xee\x09\x34\x6a\x3a\x87\x76\x00\x94\x2b\xa3\x2b\x8b\x3e\x36\xbd\x68\x9e\xfe\xfb\x56\x46\xf2\x29\x00\xc7\xf4\x62\x07\x18\xcc\xaf\x79\xe8\x4d\x70\x2c\x52\x7b\x46\xfe\x92\x2e\x2b\xe9\xde\x69\xe7\xc9\x2a\xf3\x32\x25\x16\x37\x30\xed\xfd\x1f\x02\xa0\x4b\xd6\xe7\x6f\xc6\x95\x69\x5a\xe1\x07\xc3\x12\xe9\x77\x61\x4f\x37\xfe\x46\xc7\x62\x3c\x8e\x7b\xf9\x48\xc6\xbd\xde\x5c\xd8\xd5\xa5\xef\x78\x83\x4d\xdd\xe8\x53\x1e\x13\xfa\x42\x40\x79\x32\x73\xfe\x92\x1e\x0f\x45\x5e\xfc\xa1\x3c\x72\x5d\xf3\x64\x02\xf5\xa1\xf3\x68\x6d\x1c\x25\x0e\x7f\x42\xc2\x9f\x08\x5e\xc4\x9c\x51\xca\x1c\x1d\x4f\x9f\xe1\xff\x08\x31\xf1\x4c\xd1\x7b\x38\xde\xf6\x82\x52\xed\xec\xd3\x25\x3c\x91\x3f\x63\x96\xf3\xcf\xde\x51\x9f\x2f\x9b\xfb\x49\x45\xe3\x51\x9d\x22\x8f\x68\x8a\x60\x4a\x86\xcb\x43\x61\xcf\x63\xf2\x59\xcd\xe1\x69\x26\xb9\x65\xa4\x66\xc1\xe9\x9e\xbe\xd5\x1d\x1e\xf7\x0e\x94\x9b\xa0\xff\x83\x7f\xa6\x16\x37\x93\x7e\x39\x24\xb0\x93\x91\xd2\x74\xb1\x1b\x78\x68\xc2\x61\x53\x46\x1d\x50\x66\x7b\x66\x50\x1f\xaa\x59\xfe\x74\xda\x08\x5f\xed\x8b\xef\x5e\xe7\xc5\xe4\x4b\x07\x43\x72\xc1\xc3\xff\x02\x00\x00\xff\xff\xb8\xcb\x3e\xd9\xe4\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x4b\x73\x1b\xc7\x11\xbe\xe3\x57\x74\xd1\x07\x01\x0e\x04\xfa\x90\xca\x81\x15\x5b\x96\x6c\xab\x4a\x07\xa7\x52\x16\x65\x1f\x92\x54\x61\xb0\xdb\x0b\x8c\x39\x98\x59\xcf\xcc\x02\x42\x58\xfc\xef\xa9\xee\x79\xec\xce\x62\x41\x52\x96\xa2\x8b\xc8\xdd\x99\x7e\x3f\xbe\xee\xe5\xf5\xd7\x5f\xcf\x66\x5f\xc1\xed\x0e\xe1\xad\x32\x47\x78\xdb\xe9\xad\xdc\x28\x84\x5b\x73\x87\x1a\x9c\x17\xba\x16\xb6\x9e\xcd\xbe\xfa\x0a\xd6\xe9\x25\xbf\x5b\x43\x65\xb4\xb7\xa2\xf2\xb3\x19\x5f\x9f\xbe\x09\xd2\x81\x36\xa0\x8c\xde\xa2\x05\xa1\x41\x6a\x8f\xb6\x11\x15\xce\xfc\x4e\x78\x10\x4a\x41\x93\xae\x7a\xbe\x9a\xe8\x3a\x38\x9a\x4e\xd5\xb0\x13\x07\x7a\x45\xcf\x1b\x63\xf7\xe0\xcd\x6a\x36\x7b\xd7\x80\x80\xce\xa1\x75\x70\x14\xda\x3b\x3a\x50\x63\xab\xcc\x09\x04\x68\x3c\x8e\x68\x2d\xc1\xef\x50\xda\x5e\xe6\xda\x20\x09\xe6\x41\x23\xd6\x74\x59\xee\x5b\x85\x7b\xd4\x9e\x4e\x42\xa1\x6a\x2f\xf3\x12\x36\x9d\x8f\xa4\x98\x81\x9b\xd5\xe6\x02\x89\x7c\xc9\x41\x8d\x8d\xd4\x58\x83\xd4\xe0\x77\xd2\x65\x29\x56\xc1\xae\xbf\x8a\x4e\xf9\x35\x58\x74\xa6\xb3\xd5\xe0\xe6\x6c\xf6\x93\xa8\x76\x63\xfb\xe4\x73\xfe\xd4\x22\x33\x77\xe7\xdc\x2f\x13\x8d\x4c\xff\x69\xcd\x41\xd6\x68\xd7\x4b\x58\xff\x82\x15\xca\x03\xff\x2c\x74\x0d\xeb\x37\x42\x09\x5d\xe1\xd4\x6d\xc7\xde\x76\x23\xf5\x2a\x25\x2c\x42\x6b\xf1\x65\x65\x74\x2d\xbd\x34\xda\x31\xa9\xd6\x38\x3f\x7c\xc6\x3e\xb7\xe8\xbc\x95\x95\x9f\x91\xa0\xf8\x11\xab\x8e\x5e\x82\x69\x58\xf2\xa6\xd3\x55\x38\xcc\xe6\x42\x60\x4d\x56\xcc\xf7\x04\xc4\xc7\x61\x2b\xac\xf0\x08\x1b\xac\x44\x47\xb2\x78\xd8\xca\x03\x3a\x3e\x4e\x41\xc1\x3f\x88\x8d\x54\xd2\x9f\xc8\x36\x6e\x27\x2c\xce\x04\x58\x6c\xd0\xa2\xae\x38\x9e\x82\x1b\x99\x7a\x90\xcb\x68\x75\x02\xfc\xd8\x1a\x17\x49\x35\x12\x55\xed\x7a\x89\x66\x52\x83\xd1\x08\xc6\xc2\xde\x58\x4c\x12\xf7\xa6\xa0\xc0\xa4\x98\x76\x26\x0a\x14\x22\x74\x24\xcd\x5e\xdc\x21\x54\x9d\xf3\x66\x9f\x2d\x1c\x4d\x93\x9d\x48\xb6\x29\xad\x4c\x01\x6e\xe0\x20\xac\x34\x1d\x9d\x96\x7a\xeb\xe0\x28\xfd\x8e\xc9\x87\x68\x5c\xcd\xde\x1a\x0b\xf8\x51\x10\x99\x25\x08\x68\x44\x57\xa1\x87\x4a\x68\xd8\x60\x4f\x1d\x6b\xd8\x9c\x52\x42\x49\xbd\x9d\x05\x73\x40\x0a\x8a\x22\x5a\xbe\xbe\x9e\xcd\xe4\xbe\x35\xd6\xc3\xd5\xaf\x12\x8f\xbf\xa0\x33\xea\x80\xf6\x2a\x3f\x7d\xd3\x59\x4d\xbf\xcf\xae\xaf\xaf\xcb\xd4\xa1\x27\xc5\xd3\x58\x1e\xb2\x24\x22\xb8\xda\xed\x38\xd5\xcb\x18\x2e\xe3\x9e\xc9\x0c\xe4\x12\x55\x85\xce\xcd\x85\x52\x8b\x9c\x50\xfd\xfb\x52\x8c\x1b\x18\x0a\x0e\xf7\xb3\x19\x00\xc0\xf5\x35\xbc\xd6\x80\xda\x4b\x1f\xb9\x36\xc6\x52\x45\x32\x47\xa9\xb7\x2c\x02\xd9\xb7\xb6\xe2\x28\x14\x3b\x9b\x8d\x0c\x8d\x35\x7b\x10\x21\x72\x98\xd0\x50\x94\x21\xb9\xdf\xe2\xed\xc4\xee\x9a\x0b\x2d\x1e\x82\x82\xe4\x6e\x07\xb8\x97\x9e\xfc\x71\xdc\xa1\x4e\x0c\x28\xc8\x13\x67\xfd\x04\xbb\xc3\x90\x91\x9e\x53\x4d\xb8\x81\xf7\xde\x4a\xbd\x5d\x82\xd8\x9b\x4e\xfb\x1b\xf8\xf0\x56\x7e\xfc\xdb\x5f\x97\x4c\xea\x06\x5e\xd7\xb5\x45\xe7\x5e\x85\xdf\x3f\x7c\x78\xf7\xe3\x0d\x7c\x78\xa7\x3d\x9d\xc8\x6c\x87\x8f\x17\x7f\x46\x81\x1a\x5b\xe3\xa4\x0f\xa5\xf1\x71\xf1\x7f\x4c\x47\x9f\x10\xdf\x9b\xa1\xf0\xde\x94\xa2\x67\x86\x17\x44\xff\xe9\x11\xb1\x77\x08\x5b\x65\x36\x42\xc1\xa6\xb3\x1a\xf6\xe8\x77\x86\x7b\x57\x25\x94\xa2\x53\x94\x67\x02\xb4\xd1\x2f\xff\x8b\xd6\xc0\x26\x54\xc8\x0b\xfa\x70\x3e\x3c\xa5\xcc\xd8\xf6\x03\x49\xdf\x0c\xa8\x53\x02\x0d\x8d\xdf\x47\x38\x6b\xd2\x86\x8c\x75\x7d\xc3\xcd\xd5\xea\xdf\xf9\x1e\x85\xf5\x16\xbd\xa7\xa8\x8e\x92\x83\xe4\xdc\xe7\xf4\x2b\xf8\x0c\xb5\x39\x2f\xff\x49\x34\xb8\xe7\xc3\xe3\x0b\x07\x61\x13\x83\xa4\x28\x9f\x7b\xe8\x75\x4b\x25\xe6\x39\xca\x21\xc9\x58\xc5\x62\x6c\xf1\x8f\x4e\x5a\x4e\x2c\xc7\x1a\xa5\x50\xa5\xfa\x95\x88\x0c\x33\x94\x4b\x73\x2a\x28\x9c\xd0\xa7\x16\x57\x67\x7c\xdf\x79\xc8\x60\x20\x32\x2c\x79\x19\x0d\xeb\x4d\xea\x88\x3b\xb4\xb8\xcc\x77\x07\x0d\x48\xa1\xa0\x82\x6f\xda\x18\x4e\xad\x71\x4e\xc6\x9a\x6f\x1a\xa8\x2c\x0a\x16\x22\xd6\xfd\xe8\x37\xeb\x7a\xd1\x49\x63\x42\x13\x0c\x4a\xc8\xa6\xc2\x4a\x75\x8a\xe8\x82\x7b\x95\x39\xea\x64\xde\xd5\xa7\x38\x2d\x97\xf5\x58\xf8\x12\xcb\xb7\x31\x54\x38\x43\xdd\x1d\x88\x2c\x16\x48\xc2\x57\xae\xc5\x4a\x36\xb2\x8a\xb1\xdb\x97\xc0\x82\x8a\x74\x20\x0e\x42\x2a\x11\x4a\x35\x35\x9a\x5c\x45\x8a\x83\xb7\x01\xfb\x50\xa1\xdf\x70\x9f\x6e\x3a\xc5\xac\x0f\x46\xd6\xd0\x0a\x2d\x2b\xb2\x10\x67\x24\xe5\x1d\xff\x92\x4a\xe8\x90\x50\xce\xd9\x1c\xcc\x0e\x3a\x7d\xa7\xcd\x88\xe1\xeb\x3a\xe0\x0e\xa1\xd4\x69\x49\x2a\xb1\x63\xb2\x8a\x0e\xda\x2e\x70\xe1\x78\xd9\x77\xca\xcb\x56\x21\x1c\xa8\x54\x8d\x74\x8c\xe8\x20\xa3\xad\x6a\x87\xd5\x1d\x38\xb3\xcf\x28\x20\xdc\x82\x4e\x7b\xa9\xf8\x41\x8d\x4e\x5a\xac\xa3\xf1\xc6\x26\xb3\x28\xaa\x1d\xd6\x4b\x68\x8d\xa7\xf8\x24\x19\x61\x87\xaa\x4d\x5a\x43\x8b\x96\x53\x34\x7b\x3b\xdd\x9e\x4e\x3d\x89\x47\xca\x7d\x90\xee\x75\xf2\xc6\xad\x49\x8d\x61\x5e\x56\x9f\xc5\x0d\xbc\x31\x46\x95\xd1\x90\x4c\x0d\xae\xdb\x44\x00\xfe\x68\x3a\xa5\x40\x2b\x88\x10\xe8\xb3\xe8\x3b\x4b\x5d\x20\x82\xab\x0c\x52\x2c\xee\xcd\x81\x1b\x42\x00\x2b\x83\x8b\xa3\x40\xe9\x61\xe0\x0b\x17\xd5\x04\x85\x07\x54\x64\xba\x75\xd4\x3b\x29\xb7\x58\x17\xb7\xdf\x1b\x42\x8e\xc6\x92\x8f\x29\xba\xc2\x6d\xe9\x97\x8c\xdd\xc2\x4c\x81\xd2\xef\xd0\xe6\xdc\x02\xb3\xf9\x1d\x09\x3e\x78\x87\xaa\x29\xa8\x19\x9e\x5a\x62\x57\xaf\x07\x08\x92\xb5\x5a\x27\x19\xd6\xd3\xda\x8c\x25\x65\x0f\x1d\x2f\x3a\xe5\xfb\x7b\xb6\xd8\xc3\xa0\xbc\xd2\x3f\x42\xd1\xa3\x47\x81\x11\xac\x2d\xba\x88\xf3\x1b\x46\x9a\x26\x1a\x9a\x3c\x00\x07\xa1\x3a\x3c\xbb\x16\xae\xac\x52\xee\x7c\xfb\x6d\x6a\x4d\x67\x27\xe9\xdf\xd5\x6f\x3d\x04\x8a\x65\x60\xdf\x39\x4f\x19\x4c\x9c\x9c\xd8\x23\x08\x57\x64\x63\x4c\x88\x1e\xc1\xb0\x52\x57\x67\xe4\xa9\x05\x9f\x41\x17\x72\xc0\x6a\x8b\xfe\xf6\xd4\xe2\x7c\xb1\x92\x35\x99\xbe\x91\x68\xfb\x0e\x1a\xfe\x4f\x68\x86\x2f\x98\xa3\x46\xfb\x6a\x25\x02\x38\x18\x36\x57\x7e\xdd\x75\xb2\x3e\xc3\x36\xd1\x0e\xf4\x6e\x51\xc8\xf6\x30\x2b\x7f\x1a\x74\xaf\x34\x29\x7d\x7e\xf7\x8a\x68\x65\xa2\x79\x49\x1d\xbd\xf8\x8c\xe6\xf5\x1b\xa6\x96\x21\x75\xa5\xba\x1a\x41\x40\x1e\xb7\x82\x18\x5c\xa9\x4a\x07\xc5\xb6\x95\xa9\x1c\x91\x87\x68\x8a\x1e\x1a\x5b\x9e\x33\xb5\x04\x33\x84\xa9\x25\xd3\xa1\x31\xa3\x36\xe9\xd0\xf4\x88\xb2\x04\x25\xef\x10\x5c\xab\x24\xa3\xfc\x3d\x74\x2d\x55\x8d\x4c\xc4\xa1\xae\xc3\x0b\x9a\x78\x64\xc3\xf9\xe6\xa1\x55\x61\xc0\x82\xe7\xb7\xbd\xe4\xac\x71\xdb\x8b\xa6\x07\x2f\xee\xb0\xaf\x52\x54\xb9\xe2\x1b\xaa\x16\x17\xdc\x50\x0c\xdf\x8f\xa5\x3c\x0b\x45\xd9\x1e\x69\xce\x43\xb4\xa6\x0c\x5f\x94\x22\x6d\xd1\xbf\xef\x5a\x9a\xa6\xb0\xe6\x03\x14\xfe\x6e\x50\x49\x6b\xc9\xd5\x50\x58\x46\x13\x71\x68\xa5\x33\x67\xd5\xf7\xb8\x43\xae\x6d\x6c\xf2\x53\xcb\xcd\xb1\xea\x2c\x19\x51\x9d\xc0\x25\x2e\x34\x00\xf2\x32\xa2\x08\xe9\xb1\x02\xb9\xab\x4c\x0b\x38\x5f\xdc\xc0\xfd\x2d\xe7\x2d\xf5\x93\x87\x52\xa9\x5f\xa2\xf4\x49\x22\x63\x39\x52\x19\x6c\xcb\x03\xb5\xf0\x28\x1e\x71\x6c\xb3\x4c\x78\x2e\x12\x37\xf3\xd0\x61\x63\x50\x0b\x1d\x6f\x81\xd0\xa7\x40\x28\xce\x90\xbf\x53\x75\x8a\x05\xd0\xdb\x0e\x89\x68\x8d\x4d\x1e\x3f\x2e\xaa\x28\xdd\xb9\x86\xb1\x28\xd1\x8f\xa9\x67\x8e\x2a\x42\x3f\xd7\x14\xa0\xb2\xc6\x00\x3a\xd8\xc4\x7d\x48\x86\xee\xc3\x0b\x82\x7e\x9d\x95\xf5\x5d\x26\x78\xbd\x84\x5b\x2b\xb4\x6b\xd0\x1a\xbb\xcc\xf0\x2d\x6c\x67\xd2\x14\xdb\x83\xd0\xae\x9f\x6a\xc8\xbe\xbd\x8b\x4f\xe8\x3f\x25\x5f\x58\x95\x9b\x81\x34\x3d\xe3\x2c\xd7\x70\x8e\x5e\xa5\x1f\x96\x61\xe2\xb1\x2b\xfa\x8f\x61\xe0\x18\x68\x4a\x54\x75\x10\x92\x90\xc5\xdd\x59\xbf\x10\xc1\xb9\xcf\x1e\x2a\x0a\xea\x3f\xc4\x19\x8d\x50\xa1\x18\x6f\xcb\xa4\xe3\x91\x0e\x6b\x38\x48\x11\x56\x63\x51\x58\x7a\x3c\x5f\xac\xe3\xb0\x57\x50\x7c\x37\x5a\x4f\xc4\xc2\x46\xa1\xb6\x31\xe6\xee\x0e\x91\x61\x9a\xb1\xa1\x87\xd1\x73\x9e\xfc\xca\x6c\x64\x7d\x63\x54\x6e\xb0\x9c\x38\xa3\xc2\x24\x5e\x8d\xce\x5b\x73\xc2\xba\x44\x79\x3f\x13\xd5\xf1\x9e\xe4\x28\x95\xca\xb5\xba\x6b\x6b\xe1\xb1\xaf\xad\x2f\xa8\xff\x7b\xa1\x38\x02\xd4\xa9\x94\xc5\x10\x44\x50\x04\x72\x82\x1b\x72\x41\x0e\xfb\xd5\x0d\xa2\x4e\x86\x0a\x18\x2e\x40\xb5\x0c\xfd\x02\xcd\xd5\xa3\x66\xe2\xb8\x4e\xdb\x50\x87\xbe\xf0\xb2\x37\x10\x46\x67\x6c\x8c\x0d\x52\x53\xa5\x1f\x6d\xfd\xce\x07\x06\xc9\xa8\xa6\xb5\x61\xb4\x0e\x56\xe3\x76\x1f\x71\xa9\x6b\xc5\x7e\xcf\x20\x9e\x1a\x54\x18\xbd\xa3\x37\x56\xe3\x78\x4a\x7b\xa2\x50\x99\x49\x5d\x8a\x9d\x8d\xa8\xee\xe6\x8b\x31\xe6\xb2\x38\x01\xb9\xd8\xdd\xc5\x78\xff\x0c\xbc\xc2\x47\x36\x29\x83\x26\xa0\xc9\x25\xf8\x01\x97\xb1\xdf\x90\x26\x41\xb8\x6f\x56\xdf\xdc\xc0\xd5\xed\xc0\xde\x09\xa5\xb1\x1f\xa2\xed\xeb\xce\xa6\xcd\xd6\x50\xf9\xb4\xef\x70\x26\x16\x12\x2e\xb0\x54\x4b\xe8\x3e\xd9\x17\xeb\xab\x47\x64\x2c\x85\x21\x59\x06\x08\xea\x73\xfa\xdc\xa1\xef\x73\xa3\xde\xc6\x13\x54\x6c\xef\xa1\x11\xb8\xb8\x8b\xad\xf1\x23\x05\xe0\xa8\x3d\x33\x40\x8b\x6d\x60\x94\x55\xc0\x15\x9a\xd1\x53\xcd\xf3\x7d\x1e\xeb\xe3\x48\x27\x2c\x02\x7e\x6c\xb1\xf2\x58\x8f\x93\x8a\xa7\xc2\xdc\xbf\xfa\x31\x9d\xf8\x2f\x83\x41\xf1\x14\x52\x4c\xf7\xb9\x11\x67\x50\xfe\x1e\x52\xc8\x52\x90\x27\x98\xc8\x9a\x9e\x25\xc7\x67\xb4\xe8\x51\x2c\x5d\x5f\xc3\x1b\x54\xe6\x18\x07\x5a\x32\xc5\x60\x49\x9c\x60\x9f\xeb\x6c\x04\xb5\xb6\xd3\x2f\xbd\xdc\x47\x68\xc1\xed\x6c\x4c\x8f\x4d\xb2\xc5\xd4\x84\x87\x3b\xb6\x56\x30\x96\xcb\xbd\x27\xf6\xc0\x08\x12\xcb\x0f\x4c\xab\xf0\x05\x63\x05\x05\x7d\xd9\x9c\x65\x9c\x7b\xdf\x6d\x48\x9a\xb9\x69\x42\xa7\xfe\xfb\xf7\xf7\x13\x94\x1e\xbe\x9b\x2f\xc6\x49\x0e\x3c\x0e\x31\x54\xb8\x2f\xc9\xde\x30\x76\x28\xc3\xfc\x01\x50\xb9\xa9\xaa\x90\xb1\x0e\x8f\x8a\xfb\xd6\x9f\x86\x71\x1c\xa7\xa3\x14\x7c\x3c\x94\xb1\x6f\xb3\x19\x8e\x3b\x03\xb5\xd1\x2f\xfc\x14\xe5\x7e\x27\x3e\x69\x9f\x25\xb8\xae\xda\x11\x93\xf2\xf5\xfb\xa3\xf4\xd5\x6e\x63\x84\xad\xd7\x4b\x58\xf3\xb3\xb7\xc6\x1e\x05\xcd\xc5\x6b\x40\x5f\xad\x2e\x9a\xe2\xe1\xe2\x38\x54\xf6\xdd\x30\x59\xc4\xbd\x4a\x09\xe9\xce\x71\xe6\xaf\x5f\x0a\x81\x8d\x1c\x10\x85\x4e\xee\x9b\x4c\x81\x7f\x11\x91\xff\xc0\xab\x57\xd0\x08\xe5\xf0\x92\x42\x13\x1b\x90\x75\x28\xe2\xeb\xbe\x11\x32\xdd\x17\xae\x58\x01\xc3\xe4\xf6\x43\xe3\x71\xbc\x01\x49\x84\xc9\x2e\xe7\xf7\xbf\xf4\xda\x60\xb2\x85\x15\xc5\xfa\xbb\x27\x86\xff\xd7\x61\xe2\xef\x47\xf9\xd4\x55\x14\x3a\x1e\xfe\x34\x83\xa0\x3f\x3a\xa1\xc2\x6f\x13\x7b\x80\x89\xe9\xff\x59\x2d\x2e\xce\xe7\x39\x25\xa9\xcd\x8d\x93\xf4\xea\xe7\x21\xda\x4f\xfb\x88\xbe\x6d\x50\x5e\xd0\x9d\xf3\xe5\xc3\xf5\x35\x8d\xb9\xe1\x4e\x8b\x95\x14\x2a\x97\x59\x58\x07\x8c\xb2\xe6\x81\x38\xc2\x98\x90\xb6\x51\xa5\x7e\x1f\xcc\x9f\x08\xa7\x88\x47\x8c\xb5\xc1\xad\xd4\x9a\xc1\x62\x09\x74\xfa\x0f\x9f\x13\xb7\x9f\x6c\xf7\x41\xc0\xf9\xf0\xf1\x02\x5e\x3e\xee\xcb\x7f\xe4\x70\x1c\x43\x04\x2e\x4f\x71\xd2\xee\xfd\x46\x90\x8b\xbf\x35\xa6\xe3\x22\x0c\xe6\xe3\xc5\x4e\x7a\x7f\xc9\xc5\x0f\xcf\x9d\xbe\x45\x5d\xd3\xe4\xed\x86\x90\xf1\x2c\x9e\xce\x2a\xc9\xa7\xcc\xde\x53\x6d\x61\xdc\x13\x68\xd4\x74\x0e\xed\x00\x28\x57\x46\x57\x16\x7d\x6c\x7a\xd1\x3c\xfd\xf7\xad\x8c\xe4\x53\x00\x8e\xe9\xc5\x0e\x30\x98\x5f\xf3\xd0\x9b\xe0\x58\xa4\xf6\x8c\xfc\x25\x5d\x56\xd2\xbd\xd3\xce\x93\x55\xe6\x65\x4a\x2c\x6e\x60\xda\xfb\x3f\x04\x40\x97\xac\xcf\x7f\x89\x51\x99\x7d\x2b\xfc\x60\x58\x22\xfd\x2e\xec\xe9\xc6\xdf\xe8\x58\x8c\xc7\x71\x2f\x1f\xc9\xb8\xd7\x9b\x0b\xbb\xba\xf4\x1d\x6f\xb0\xa9\x1b\x7d\xca\x63\x42\x5f\x08\x28\x4f\x66\xce\x5f\xd2\xe3\xa1\xc8\x8b\x3f\x95\x47\xae\xdb\x3f\x99\x40\x7d\xe8\x3c\x5a\x1b\x47\x89\xc3\x9f\x90\xf0\x27\x82\x17\x31\x67\x94\x32\x47\xc7\xd3\x67\xf8\xa3\x07\x13\xcf\x14\xbd\x87\xe3\x6d\x27\x28\xd5\xce\x3e\x5d\xc2\x13\xf9\x33\x66\x39\xff\xe4\x1d\xf5\xf9\xb2\xb9\x9f\x54\x34\x1e\xd5\x29\xf2\x88\xa6\x08\xa6\x64\xb8\x3c\x14\xf6\x3c\x26\x9f\xd5\x1c\x9e\x66\x92\x5b\x46\x6a\x16\x9c\xee\xe9\x5b\xdd\xe1\x71\xef\x40\xb9\x09\xfa\x3f\xf8\x67\x6a\x71\x33\xe9\x97\x43\x02\x3b\x19\x29\x4d\x17\xbb\x81\x87\x26\x1c\x36\x65\xd4\x01\x65\xb6\x67\x06\xf5\xa1\x9a\xe5\x4f\xa7\x7b\xe1\xab\x5d\xf1\xdd\xeb\xbc\x98\x7c\xe9\x60\x48\x2e\x78\xf8\x5f\x00\x00\x00\xff\xff\x2f\x67\xab\xdf\xc7\x26\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x77, 0xc7, 0xd1, 0xce, 0x84, 0xf6, 0xaf, 0x26, 0xe2, 0x6c, 0xd4, 0x81, 0xb, 0x49, 0x8c, 0x83, 0x8a, 0xed, 0x4e, 0xd9, 0x32, 0x94, 0x91, 0x6f, 0xa5, 0x51, 0xa6, 0x8e, 0xf4, 0x7, 0xf3}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0x86, 0xe2, 0x8d, 0x9d, 0x59, 0x62, 0x90, 0x86, 0x73, 0x1, 0xd6, 0x2e, 0x17, 0x62, 0xcc, 0xbb, 0xd7, 0x95, 0x28, 0x48, 0x3e, 0x40, 0x7f, 0xff, 0xe1, 0x0, 0x10, 0xc5, 0xfa, 0x12, 0xba}}
 	return a, nil
 }
 
diff --git a/tests/example_token_test.cdc b/tests/example_token_test.cdc
index 80cada9e..cd154764 100644
--- a/tests/example_token_test.cdc
+++ b/tests/example_token_test.cdc
@@ -82,9 +82,8 @@ fun testMintTokens() {
 
     typ = Type<FungibleToken.Deposited>()
     events = Test.eventsOfType(typ)
-    Test.assertEqual(1, events.length)
 
-    let tokensDepositedEvent = events[0] as! FungibleToken.Deposited
+    let tokensDepositedEvent = events[events.length - 1] as! FungibleToken.Deposited
     Test.assertEqual(250.0, tokensDepositedEvent.amount)
     Test.assertEqual(recipient.address, tokensDepositedEvent.to!)
     Test.assertEqual("A.0000000000000007.ExampleToken.Vault", tokensDepositedEvent.type)

From 263e30a8997593f25dff67f42133d68ece3bb061 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 19 Apr 2024 14:57:55 -0500
Subject: [PATCH 110/115] move withdraw event and add balance after params

---
 contracts/FungibleToken.cdc                | 8 ++++----
 lib/go/contracts/internal/assets/assets.go | 6 +++---
 tests/example_token_test.cdc               | 3 +++
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 43280f27..15e56b77 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -44,10 +44,10 @@ access(all) contract interface FungibleToken: ViewResolver {
     access(all) entitlement Withdraw
 
     /// The event that is emitted when tokens are withdrawn from a Vault
-    access(all) event Withdrawn(type: String, amount: UFix64, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64)
+    access(all) event Withdrawn(type: String, amount: UFix64, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64, balanceAfter: UFix64)
 
     /// The event that is emitted when tokens are deposited to a Vault
-    access(all) event Deposited(type: String, amount: UFix64, to: Address?, toUUID: UInt64, depositedUUID: UInt64)
+    access(all) event Deposited(type: String, amount: UFix64, to: Address?, toUUID: UInt64, depositedUUID: UInt64, balanceAfter: UFix64)
 
     /// Event that is emitted when the global burn method is called with a non-zero balance
     access(all) event Burned(type: String, amount: UFix64, fromUUID: UInt64)
@@ -94,7 +94,6 @@ access(all) contract interface FungibleToken: ViewResolver {
                 // `result` refers to the return value
                 result.balance == amount:
                     "Withdrawal amount must be the same as the balance of the withdrawn Vault"
-                emit Withdrawn(type: self.getType().identifier, amount: amount, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid)
             }
         }
     }
@@ -187,6 +186,7 @@ access(all) contract interface FungibleToken: ViewResolver {
                 //
                 self.balance == before(self.balance) - amount:
                     "New Vault balance must be the difference of the previous balance and the withdrawn Vault balance"
+                emit Withdrawn(type: result.getType().identifier, amount: amount, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid, balanceAfter: self.balance)
             }
         }
 
@@ -198,9 +198,9 @@ access(all) contract interface FungibleToken: ViewResolver {
             pre {
                 from.isInstance(self.getType()): 
                     "Cannot deposit an incompatible token type"
-                emit Deposited(type: from.getType().identifier, amount: from.balance, to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid)
             }
             post {
+                emit Deposited(type: before(from.getType().identifier), amount: before(from.balance), to: self.owner?.address, toUUID: self.uuid, depositedUUID: before(from.uuid), balanceAfter: self.balance)
                 self.balance == before(self.balance) + before(from.balance):
                     "New Vault balance must be the sum of the previous balance and the deposited Vault"
             }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 61f17069..fa9175f4 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken.cdc (9.619kB)
-// ../../../contracts/FungibleToken.cdc (9.927kB)
+// ../../../contracts/FungibleToken.cdc (10.053kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.596kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.111kB)
 // ../../../contracts/utility/Burner.cdc (1.997kB)
@@ -99,7 +99,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x4b\x73\x1b\xc7\x11\xbe\xe3\x57\x74\xd1\x07\x01\x0e\x04\xfa\x90\xca\x81\x15\x5b\x96\x6c\xab\x4a\x07\xa7\x52\x16\x65\x1f\x92\x54\x61\xb0\xdb\x0b\x8c\x39\x98\x59\xcf\xcc\x02\x42\x58\xfc\xef\xa9\xee\x79\xec\xce\x62\x41\x52\x96\xa2\x8b\xc8\xdd\x99\x7e\x3f\xbe\xee\xe5\xf5\xd7\x5f\xcf\x66\x5f\xc1\xed\x0e\xe1\xad\x32\x47\x78\xdb\xe9\xad\xdc\x28\x84\x5b\x73\x87\x1a\x9c\x17\xba\x16\xb6\x9e\xcd\xbe\xfa\x0a\xd6\xe9\x25\xbf\x5b\x43\x65\xb4\xb7\xa2\xf2\xb3\x19\x5f\x9f\xbe\x09\xd2\x81\x36\xa0\x8c\xde\xa2\x05\xa1\x41\x6a\x8f\xb6\x11\x15\xce\xfc\x4e\x78\x10\x4a\x41\x93\xae\x7a\xbe\x9a\xe8\x3a\x38\x9a\x4e\xd5\xb0\x13\x07\x7a\x45\xcf\x1b\x63\xf7\xe0\xcd\x6a\x36\x7b\xd7\x80\x80\xce\xa1\x75\x70\x14\xda\x3b\x3a\x50\x63\xab\xcc\x09\x04\x68\x3c\x8e\x68\x2d\xc1\xef\x50\xda\x5e\xe6\xda\x20\x09\xe6\x41\x23\xd6\x74\x59\xee\x5b\x85\x7b\xd4\x9e\x4e\x42\xa1\x6a\x2f\xf3\x12\x36\x9d\x8f\xa4\x98\x81\x9b\xd5\xe6\x02\x89\x7c\xc9\x41\x8d\x8d\xd4\x58\x83\xd4\xe0\x77\xd2\x65\x29\x56\xc1\xae\xbf\x8a\x4e\xf9\x35\x58\x74\xa6\xb3\xd5\xe0\xe6\x6c\xf6\x93\xa8\x76\x63\xfb\xe4\x73\xfe\xd4\x22\x33\x77\xe7\xdc\x2f\x13\x8d\x4c\xff\x69\xcd\x41\xd6\x68\xd7\x4b\x58\xff\x82\x15\xca\x03\xff\x2c\x74\x0d\xeb\x37\x42\x09\x5d\xe1\xd4\x6d\xc7\xde\x76\x23\xf5\x2a\x25\x2c\x42\x6b\xf1\x65\x65\x74\x2d\xbd\x34\xda\x31\xa9\xd6\x38\x3f\x7c\xc6\x3e\xb7\xe8\xbc\x95\x95\x9f\x91\xa0\xf8\x11\xab\x8e\x5e\x82\x69\x58\xf2\xa6\xd3\x55\x38\xcc\xe6\x42\x60\x4d\x56\xcc\xf7\x04\xc4\xc7\x61\x2b\xac\xf0\x08\x1b\xac\x44\x47\xb2\x78\xd8\xca\x03\x3a\x3e\x4e\x41\xc1\x3f\x88\x8d\x54\xd2\x9f\xc8\x36\x6e\x27\x2c\xce\x04\x58\x6c\xd0\xa2\xae\x38\x9e\x82\x1b\x99\x7a\x90\xcb\x68\x75\x02\xfc\xd8\x1a\x17\x49\x35\x12\x55\xed\x7a\x89\x66\x52\x83\xd1\x08\xc6\xc2\xde\x58\x4c\x12\xf7\xa6\xa0\xc0\xa4\x98\x76\x26\x0a\x14\x22\x74\x24\xcd\x5e\xdc\x21\x54\x9d\xf3\x66\x9f\x2d\x1c\x4d\x93\x9d\x48\xb6\x29\xad\x4c\x01\x6e\xe0\x20\xac\x34\x1d\x9d\x96\x7a\xeb\xe0\x28\xfd\x8e\xc9\x87\x68\x5c\xcd\xde\x1a\x0b\xf8\x51\x10\x99\x25\x08\x68\x44\x57\xa1\x87\x4a\x68\xd8\x60\x4f\x1d\x6b\xd8\x9c\x52\x42\x49\xbd\x9d\x05\x73\x40\x0a\x8a\x22\x5a\xbe\xbe\x9e\xcd\xe4\xbe\x35\xd6\xc3\xd5\xaf\x12\x8f\xbf\xa0\x33\xea\x80\xf6\x2a\x3f\x7d\xd3\x59\x4d\xbf\xcf\xae\xaf\xaf\xcb\xd4\xa1\x27\xc5\xd3\x58\x1e\xb2\x24\x22\xb8\xda\xed\x38\xd5\xcb\x18\x2e\xe3\x9e\xc9\x0c\xe4\x12\x55\x85\xce\xcd\x85\x52\x8b\x9c\x50\xfd\xfb\x52\x8c\x1b\x18\x0a\x0e\xf7\xb3\x19\x00\xc0\xf5\x35\xbc\xd6\x80\xda\x4b\x1f\xb9\x36\xc6\x52\x45\x32\x47\xa9\xb7\x2c\x02\xd9\xb7\xb6\xe2\x28\x14\x3b\x9b\x8d\x0c\x8d\x35\x7b\x10\x21\x72\x98\xd0\x50\x94\x21\xb9\xdf\xe2\xed\xc4\xee\x9a\x0b\x2d\x1e\x82\x82\xe4\x6e\x07\xb8\x97\x9e\xfc\x71\xdc\xa1\x4e\x0c\x28\xc8\x13\x67\xfd\x04\xbb\xc3\x90\x91\x9e\x53\x4d\xb8\x81\xf7\xde\x4a\xbd\x5d\x82\xd8\x9b\x4e\xfb\x1b\xf8\xf0\x56\x7e\xfc\xdb\x5f\x97\x4c\xea\x06\x5e\xd7\xb5\x45\xe7\x5e\x85\xdf\x3f\x7c\x78\xf7\xe3\x0d\x7c\x78\xa7\x3d\x9d\xc8\x6c\x87\x8f\x17\x7f\x46\x81\x1a\x5b\xe3\xa4\x0f\xa5\xf1\x71\xf1\x7f\x4c\x47\x9f\x10\xdf\x9b\xa1\xf0\xde\x94\xa2\x67\x86\x17\x44\xff\xe9\x11\xb1\x77\x08\x5b\x65\x36\x42\xc1\xa6\xb3\x1a\xf6\xe8\x77\x86\x7b\x57\x25\x94\xa2\x53\x94\x67\x02\xb4\xd1\x2f\xff\x8b\xd6\xc0\x26\x54\xc8\x0b\xfa\x70\x3e\x3c\xa5\xcc\xd8\xf6\x03\x49\xdf\x0c\xa8\x53\x02\x0d\x8d\xdf\x47\x38\x6b\xd2\x86\x8c\x75\x7d\xc3\xcd\xd5\xea\xdf\xf9\x1e\x85\xf5\x16\xbd\xa7\xa8\x8e\x92\x83\xe4\xdc\xe7\xf4\x2b\xf8\x0c\xb5\x39\x2f\xff\x49\x34\xb8\xe7\xc3\xe3\x0b\x07\x61\x13\x83\xa4\x28\x9f\x7b\xe8\x75\x4b\x25\xe6\x39\xca\x21\xc9\x58\xc5\x62\x6c\xf1\x8f\x4e\x5a\x4e\x2c\xc7\x1a\xa5\x50\xa5\xfa\x95\x88\x0c\x33\x94\x4b\x73\x2a\x28\x9c\xd0\xa7\x16\x57\x67\x7c\xdf\x79\xc8\x60\x20\x32\x2c\x79\x19\x0d\xeb\x4d\xea\x88\x3b\xb4\xb8\xcc\x77\x07\x0d\x48\xa1\xa0\x82\x6f\xda\x18\x4e\xad\x71\x4e\xc6\x9a\x6f\x1a\xa8\x2c\x0a\x16\x22\xd6\xfd\xe8\x37\xeb\x7a\xd1\x49\x63\x42\x13\x0c\x4a\xc8\xa6\xc2\x4a\x75\x8a\xe8\x82\x7b\x95\x39\xea\x64\xde\xd5\xa7\x38\x2d\x97\xf5\x58\xf8\x12\xcb\xb7\x31\x54\x38\x43\xdd\x1d\x88\x2c\x16\x48\xc2\x57\xae\xc5\x4a\x36\xb2\x8a\xb1\xdb\x97\xc0\x82\x8a\x74\x20\x0e\x42\x2a\x11\x4a\x35\x35\x9a\x5c\x45\x8a\x83\xb7\x01\xfb\x50\xa1\xdf\x70\x9f\x6e\x3a\xc5\xac\x0f\x46\xd6\xd0\x0a\x2d\x2b\xb2\x10\x67\x24\xe5\x1d\xff\x92\x4a\xe8\x90\x50\xce\xd9\x1c\xcc\x0e\x3a\x7d\xa7\xcd\x88\xe1\xeb\x3a\xe0\x0e\xa1\xd4\x69\x49\x2a\xb1\x63\xb2\x8a\x0e\xda\x2e\x70\xe1\x78\xd9\x77\xca\xcb\x56\x21\x1c\xa8\x54\x8d\x74\x8c\xe8\x20\xa3\xad\x6a\x87\xd5\x1d\x38\xb3\xcf\x28\x20\xdc\x82\x4e\x7b\xa9\xf8\x41\x8d\x4e\x5a\xac\xa3\xf1\xc6\x26\xb3\x28\xaa\x1d\xd6\x4b\x68\x8d\xa7\xf8\x24\x19\x61\x87\xaa\x4d\x5a\x43\x8b\x96\x53\x34\x7b\x3b\xdd\x9e\x4e\x3d\x89\x47\xca\x7d\x90\xee\x75\xf2\xc6\xad\x49\x8d\x61\x5e\x56\x9f\xc5\x0d\xbc\x31\x46\x95\xd1\x90\x4c\x0d\xae\xdb\x44\x00\xfe\x68\x3a\xa5\x40\x2b\x88\x10\xe8\xb3\xe8\x3b\x4b\x5d\x20\x82\xab\x0c\x52\x2c\xee\xcd\x81\x1b\x42\x00\x2b\x83\x8b\xa3\x40\xe9\x61\xe0\x0b\x17\xd5\x04\x85\x07\x54\x64\xba\x75\xd4\x3b\x29\xb7\x58\x17\xb7\xdf\x1b\x42\x8e\xc6\x92\x8f\x29\xba\xc2\x6d\xe9\x97\x8c\xdd\xc2\x4c\x81\xd2\xef\xd0\xe6\xdc\x02\xb3\xf9\x1d\x09\x3e\x78\x87\xaa\x29\xa8\x19\x9e\x5a\x62\x57\xaf\x07\x08\x92\xb5\x5a\x27\x19\xd6\xd3\xda\x8c\x25\x65\x0f\x1d\x2f\x3a\xe5\xfb\x7b\xb6\xd8\xc3\xa0\xbc\xd2\x3f\x42\xd1\xa3\x47\x81\x11\xac\x2d\xba\x88\xf3\x1b\x46\x9a\x26\x1a\x9a\x3c\x00\x07\xa1\x3a\x3c\xbb\x16\xae\xac\x52\xee\x7c\xfb\x6d\x6a\x4d\x67\x27\xe9\xdf\xd5\x6f\x3d\x04\x8a\x65\x60\xdf\x39\x4f\x19\x4c\x9c\x9c\xd8\x23\x08\x57\x64\x63\x4c\x88\x1e\xc1\xb0\x52\x57\x67\xe4\xa9\x05\x9f\x41\x17\x72\xc0\x6a\x8b\xfe\xf6\xd4\xe2\x7c\xb1\x92\x35\x99\xbe\x91\x68\xfb\x0e\x1a\xfe\x4f\x68\x86\x2f\x98\xa3\x46\xfb\x6a\x25\x02\x38\x18\x36\x57\x7e\xdd\x75\xb2\x3e\xc3\x36\xd1\x0e\xf4\x6e\x51\xc8\xf6\x30\x2b\x7f\x1a\x74\xaf\x34\x29\x7d\x7e\xf7\x8a\x68\x65\xa2\x79\x49\x1d\xbd\xf8\x8c\xe6\xf5\x1b\xa6\x96\x21\x75\xa5\xba\x1a\x41\x40\x1e\xb7\x82\x18\x5c\xa9\x4a\x07\xc5\xb6\x95\xa9\x1c\x91\x87\x68\x8a\x1e\x1a\x5b\x9e\x33\xb5\x04\x33\x84\xa9\x25\xd3\xa1\x31\xa3\x36\xe9\xd0\xf4\x88\xb2\x04\x25\xef\x10\x5c\xab\x24\xa3\xfc\x3d\x74\x2d\x55\x8d\x4c\xc4\xa1\xae\xc3\x0b\x9a\x78\x64\xc3\xf9\xe6\xa1\x55\x61\xc0\x82\xe7\xb7\xbd\xe4\xac\x71\xdb\x8b\xa6\x07\x2f\xee\xb0\xaf\x52\x54\xb9\xe2\x1b\xaa\x16\x17\xdc\x50\x0c\xdf\x8f\xa5\x3c\x0b\x45\xd9\x1e\x69\xce\x43\xb4\xa6\x0c\x5f\x94\x22\x6d\xd1\xbf\xef\x5a\x9a\xa6\xb0\xe6\x03\x14\xfe\x6e\x50\x49\x6b\xc9\xd5\x50\x58\x46\x13\x71\x68\xa5\x33\x67\xd5\xf7\xb8\x43\xae\x6d\x6c\xf2\x53\xcb\xcd\xb1\xea\x2c\x19\x51\x9d\xc0\x25\x2e\x34\x00\xf2\x32\xa2\x08\xe9\xb1\x02\xb9\xab\x4c\x0b\x38\x5f\xdc\xc0\xfd\x2d\xe7\x2d\xf5\x93\x87\x52\xa9\x5f\xa2\xf4\x49\x22\x63\x39\x52\x19\x6c\xcb\x03\xb5\xf0\x28\x1e\x71\x6c\xb3\x4c\x78\x2e\x12\x37\xf3\xd0\x61\x63\x50\x0b\x1d\x6f\x81\xd0\xa7\x40\x28\xce\x90\xbf\x53\x75\x8a\x05\xd0\xdb\x0e\x89\x68\x8d\x4d\x1e\x3f\x2e\xaa\x28\xdd\xb9\x86\xb1\x28\xd1\x8f\xa9\x67\x8e\x2a\x42\x3f\xd7\x14\xa0\xb2\xc6\x00\x3a\xd8\xc4\x7d\x48\x86\xee\xc3\x0b\x82\x7e\x9d\x95\xf5\x5d\x26\x78\xbd\x84\x5b\x2b\xb4\x6b\xd0\x1a\xbb\xcc\xf0\x2d\x6c\x67\xd2\x14\xdb\x83\xd0\xae\x9f\x6a\xc8\xbe\xbd\x8b\x4f\xe8\x3f\x25\x5f\x58\x95\x9b\x81\x34\x3d\xe3\x2c\xd7\x70\x8e\x5e\xa5\x1f\x96\x61\xe2\xb1\x2b\xfa\x8f\x61\xe0\x18\x68\x4a\x54\x75\x10\x92\x90\xc5\xdd\x59\xbf\x10\xc1\xb9\xcf\x1e\x2a\x0a\xea\x3f\xc4\x19\x8d\x50\xa1\x18\x6f\xcb\xa4\xe3\x91\x0e\x6b\x38\x48\x11\x56\x63\x51\x58\x7a\x3c\x5f\xac\xe3\xb0\x57\x50\x7c\x37\x5a\x4f\xc4\xc2\x46\xa1\xb6\x31\xe6\xee\x0e\x91\x61\x9a\xb1\xa1\x87\xd1\x73\x9e\xfc\xca\x6c\x64\x7d\x63\x54\x6e\xb0\x9c\x38\xa3\xc2\x24\x5e\x8d\xce\x5b\x73\xc2\xba\x44\x79\x3f\x13\xd5\xf1\x9e\xe4\x28\x95\xca\xb5\xba\x6b\x6b\xe1\xb1\xaf\xad\x2f\xa8\xff\x7b\xa1\x38\x02\xd4\xa9\x94\xc5\x10\x44\x50\x04\x72\x82\x1b\x72\x41\x0e\xfb\xd5\x0d\xa2\x4e\x86\x0a\x18\x2e\x40\xb5\x0c\xfd\x02\xcd\xd5\xa3\x66\xe2\xb8\x4e\xdb\x50\x87\xbe\xf0\xb2\x37\x10\x46\x67\x6c\x8c\x0d\x52\x53\xa5\x1f\x6d\xfd\xce\x07\x06\xc9\xa8\xa6\xb5\x61\xb4\x0e\x56\xe3\x76\x1f\x71\xa9\x6b\xc5\x7e\xcf\x20\x9e\x1a\x54\x18\xbd\xa3\x37\x56\xe3\x78\x4a\x7b\xa2\x50\x99\x49\x5d\x8a\x9d\x8d\xa8\xee\xe6\x8b\x31\xe6\xb2\x38\x01\xb9\xd8\xdd\xc5\x78\xff\x0c\xbc\xc2\x47\x36\x29\x83\x26\xa0\xc9\x25\xf8\x01\x97\xb1\xdf\x90\x26\x41\xb8\x6f\x56\xdf\xdc\xc0\xd5\xed\xc0\xde\x09\xa5\xb1\x1f\xa2\xed\xeb\xce\xa6\xcd\xd6\x50\xf9\xb4\xef\x70\x26\x16\x12\x2e\xb0\x54\x4b\xe8\x3e\xd9\x17\xeb\xab\x47\x64\x2c\x85\x21\x59\x06\x08\xea\x73\xfa\xdc\xa1\xef\x73\xa3\xde\xc6\x13\x54\x6c\xef\xa1\x11\xb8\xb8\x8b\xad\xf1\x23\x05\xe0\xa8\x3d\x33\x40\x8b\x6d\x60\x94\x55\xc0\x15\x9a\xd1\x53\xcd\xf3\x7d\x1e\xeb\xe3\x48\x27\x2c\x02\x7e\x6c\xb1\xf2\x58\x8f\x93\x8a\xa7\xc2\xdc\xbf\xfa\x31\x9d\xf8\x2f\x83\x41\xf1\x14\x52\x4c\xf7\xb9\x11\x67\x50\xfe\x1e\x52\xc8\x52\x90\x27\x98\xc8\x9a\x9e\x25\xc7\x67\xb4\xe8\x51\x2c\x5d\x5f\xc3\x1b\x54\xe6\x18\x07\x5a\x32\xc5\x60\x49\x9c\x60\x9f\xeb\x6c\x04\xb5\xb6\xd3\x2f\xbd\xdc\x47\x68\xc1\xed\x6c\x4c\x8f\x4d\xb2\xc5\xd4\x84\x87\x3b\xb6\x56\x30\x96\xcb\xbd\x27\xf6\xc0\x08\x12\xcb\x0f\x4c\xab\xf0\x05\x63\x05\x05\x7d\xd9\x9c\x65\x9c\x7b\xdf\x6d\x48\x9a\xb9\x69\x42\xa7\xfe\xfb\xf7\xf7\x13\x94\x1e\xbe\x9b\x2f\xc6\x49\x0e\x3c\x0e\x31\x54\xb8\x2f\xc9\xde\x30\x76\x28\xc3\xfc\x01\x50\xb9\xa9\xaa\x90\xb1\x0e\x8f\x8a\xfb\xd6\x9f\x86\x71\x1c\xa7\xa3\x14\x7c\x3c\x94\xb1\x6f\xb3\x19\x8e\x3b\x03\xb5\xd1\x2f\xfc\x14\xe5\x7e\x27\x3e\x69\x9f\x25\xb8\xae\xda\x11\x93\xf2\xf5\xfb\xa3\xf4\xd5\x6e\x63\x84\xad\xd7\x4b\x58\xf3\xb3\xb7\xc6\x1e\x05\xcd\xc5\x6b\x40\x5f\xad\x2e\x9a\xe2\xe1\xe2\x38\x54\xf6\xdd\x30\x59\xc4\xbd\x4a\x09\xe9\xce\x71\xe6\xaf\x5f\x0a\x81\x8d\x1c\x10\x85\x4e\xee\x9b\x4c\x81\x7f\x11\x91\xff\xc0\xab\x57\xd0\x08\xe5\xf0\x92\x42\x13\x1b\x90\x75\x28\xe2\xeb\xbe\x11\x32\xdd\x17\xae\x58\x01\xc3\xe4\xf6\x43\xe3\x71\xbc\x01\x49\x84\xc9\x2e\xe7\xf7\xbf\xf4\xda\x60\xb2\x85\x15\xc5\xfa\xbb\x27\x86\xff\xd7\x61\xe2\xef\x47\xf9\xd4\x55\x14\x3a\x1e\xfe\x34\x83\xa0\x3f\x3a\xa1\xc2\x6f\x13\x7b\x80\x89\xe9\xff\x59\x2d\x2e\xce\xe7\x39\x25\xa9\xcd\x8d\x93\xf4\xea\xe7\x21\xda\x4f\xfb\x88\xbe\x6d\x50\x5e\xd0\x9d\xf3\xe5\xc3\xf5\x35\x8d\xb9\xe1\x4e\x8b\x95\x14\x2a\x97\x59\x58\x07\x8c\xb2\xe6\x81\x38\xc2\x98\x90\xb6\x51\xa5\x7e\x1f\xcc\x9f\x08\xa7\x88\x47\x8c\xb5\xc1\xad\xd4\x9a\xc1\x62\x09\x74\xfa\x0f\x9f\x13\xb7\x9f\x6c\xf7\x41\xc0\xf9\xf0\xf1\x02\x5e\x3e\xee\xcb\x7f\xe4\x70\x1c\x43\x04\x2e\x4f\x71\xd2\xee\xfd\x46\x90\x8b\xbf\x35\xa6\xe3\x22\x0c\xe6\xe3\xc5\x4e\x7a\x7f\xc9\xc5\x0f\xcf\x9d\xbe\x45\x5d\xd3\xe4\xed\x86\x90\xf1\x2c\x9e\xce\x2a\xc9\xa7\xcc\xde\x53\x6d\x61\xdc\x13\x68\xd4\x74\x0e\xed\x00\x28\x57\x46\x57\x16\x7d\x6c\x7a\xd1\x3c\xfd\xf7\xad\x8c\xe4\x53\x00\x8e\xe9\xc5\x0e\x30\x98\x5f\xf3\xd0\x9b\xe0\x58\xa4\xf6\x8c\xfc\x25\x5d\x56\xd2\xbd\xd3\xce\x93\x55\xe6\x65\x4a\x2c\x6e\x60\xda\xfb\x3f\x04\x40\x97\xac\xcf\x7f\x89\x51\x99\x7d\x2b\xfc\x60\x58\x22\xfd\x2e\xec\xe9\xc6\xdf\xe8\x58\x8c\xc7\x71\x2f\x1f\xc9\xb8\xd7\x9b\x0b\xbb\xba\xf4\x1d\x6f\xb0\xa9\x1b\x7d\xca\x63\x42\x5f\x08\x28\x4f\x66\xce\x5f\xd2\xe3\xa1\xc8\x8b\x3f\x95\x47\xae\xdb\x3f\x99\x40\x7d\xe8\x3c\x5a\x1b\x47\x89\xc3\x9f\x90\xf0\x27\x82\x17\x31\x67\x94\x32\x47\xc7\xd3\x67\xf8\xa3\x07\x13\xcf\x14\xbd\x87\xe3\x6d\x27\x28\xd5\xce\x3e\x5d\xc2\x13\xf9\x33\x66\x39\xff\xe4\x1d\xf5\xf9\xb2\xb9\x9f\x54\x34\x1e\xd5\x29\xf2\x88\xa6\x08\xa6\x64\xb8\x3c\x14\xf6\x3c\x26\x9f\xd5\x1c\x9e\x66\x92\x5b\x46\x6a\x16\x9c\xee\xe9\x5b\xdd\xe1\x71\xef\x40\xb9\x09\xfa\x3f\xf8\x67\x6a\x71\x33\xe9\x97\x43\x02\x3b\x19\x29\x4d\x17\xbb\x81\x87\x26\x1c\x36\x65\xd4\x01\x65\xb6\x67\x06\xf5\xa1\x9a\xe5\x4f\xa7\x7b\xe1\xab\x5d\xf1\xdd\xeb\xbc\x98\x7c\xe9\x60\x48\x2e\x78\xf8\x5f\x00\x00\x00\xff\xff\x2f\x67\xab\xdf\xc7\x26\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x4f\x73\xdb\x36\x16\xbf\xeb\x53\xbc\x71\x0f\xb1\xba\x8a\xdc\xc3\xce\x1e\x3c\xdb\xa6\x49\xdb\xcc\xe4\xd0\x9d\x9d\xc6\x69\x0f\xbb\x3b\x23\x88\x7c\x94\x50\x83\x00\x0b\x80\x52\xb4\x19\x7f\xf7\x9d\xf7\xf0\x87\x04\x45\xd9\x4e\xdb\xcd\x25\x36\x49\x3c\xbc\xff\xef\xf7\x03\x7c\xf3\xe5\x97\x8b\xc5\x17\x70\xb7\x47\x78\xab\xcc\x11\xde\xf6\x7a\x27\xb7\x0a\xe1\xce\xdc\xa3\x06\xe7\x85\xae\x85\xad\x17\x8b\x2f\xbe\x80\x4d\x7a\xc9\xef\x36\x50\x19\xed\xad\xa8\xfc\x62\xc1\xcb\xe7\x57\x82\x74\xa0\x0d\x28\xa3\x77\x68\x41\x68\x90\xda\xa3\x6d\x44\x85\x0b\xbf\x17\x1e\x84\x52\xd0\xa4\xa5\x9e\x97\x26\xb9\x0e\x8e\xa6\x57\x35\xec\xc5\x81\x5e\xd1\xf3\xc6\xd8\x16\xbc\x59\x2f\x16\xef\x1a\x10\xd0\x3b\xb4\x0e\x8e\x42\x7b\x47\x1f\xd4\xd8\x29\x73\x02\x01\x1a\x8f\x13\x59\x2b\xf0\x7b\x94\x76\xd0\xb9\x36\x48\x8a\x79\xd0\x88\x35\x2d\x96\x6d\xa7\xb0\x45\xed\xe9\x4b\x28\x4c\x1d\x74\x5e\xc1\xb6\xf7\x51\x14\x6f\xe0\x16\xb5\xb9\x20\x22\x2f\x72\x50\x63\x23\x35\xd6\x20\x35\xf8\xbd\x74\x59\x8b\x75\xf0\xeb\xcf\xa2\x57\x7e\x03\x16\x9d\xe9\x6d\x35\x5a\xb9\x58\xfc\x20\xaa\xfd\xd4\x3f\xf9\x3b\x7f\xea\x90\x37\x77\xe7\xbb\x5f\x16\x1a\x37\xfd\xa7\x35\x07\x59\xa3\xdd\xac\x60\xf3\x13\x56\x28\x0f\xfc\xb3\xd0\x35\x6c\xde\x08\x25\x74\x85\x73\xab\x1d\x47\xdb\x4d\xcc\xab\x94\xb0\x08\x9d\xc5\x97\x95\xd1\xb5\xf4\xd2\x68\xc7\xa2\x3a\xe3\xfc\xf8\x19\xc7\xdc\xa2\xf3\x56\x56\x7e\x41\x8a\xe2\x47\xac\x7a\x7a\x09\xa6\x61\xcd\x9b\x5e\x57\xe1\x63\x76\x17\x02\x5b\xb2\xe6\x7d\x4f\x40\xfb\x38\xec\x84\x15\x1e\x61\x8b\x95\xe8\x49\x17\x0f\x3b\x79\x40\xc7\x9f\x53\x52\xf0\x0f\x62\x2b\x95\xf4\x27\xf2\x8d\xdb\x0b\x8b\x0b\x01\x16\x1b\xb4\xa8\x2b\xce\xa7\x10\x46\x96\x1e\xf4\x32\x5a\x9d\x00\x3f\x76\xc6\x45\x51\x8d\x44\x55\xbb\x41\xa3\x85\xd4\x60\x34\x82\xb1\xd0\x1a\x8b\x49\xe3\xc1\x15\x94\x98\x94\xd3\xce\x44\x85\x42\x86\x4e\xb4\x69\xc5\x3d\x42\xd5\x3b\x6f\xda\xec\xe1\xe8\x9a\x1c\x44\xf2\x4d\xe9\x65\x4a\x70\x03\x07\x61\xa5\xe9\xe9\x6b\xa9\x77\x0e\x8e\xd2\xef\x59\x7c\xc8\xc6\xf5\xe2\xad\xb1\x80\x1f\x05\x89\x59\x81\x80\x46\xf4\x15\x7a\xa8\x84\x86\x2d\x0e\xd2\xb1\x86\xed\x29\x15\x94\xd4\xbb\x45\x70\x07\xa4\xa4\x28\xb2\xe5\xcb\x9b\xc5\x42\xb6\x9d\xb1\x1e\xae\x7e\x96\x78\xfc\x09\x9d\x51\x07\xb4\x57\xf9\xe9\x9b\xde\x6a\xfa\x7d\x71\x73\x73\x53\x96\x0e\x3d\x29\x9e\xc6\xf6\x90\x35\x11\x21\xd4\x6e\xcf\xa5\x5e\xe6\x70\x99\xf7\x2c\x66\xa4\x97\xa8\x2a\x74\xee\x5a\x28\xb5\xcc\x05\x35\xbc\x2f\xd5\xb8\x85\xb1\xe2\xf0\x69\xb1\x00\x00\xb8\xb9\x81\xd7\x1a\x50\x7b\xe9\xe3\xae\x8d\xb1\xd4\x91\xcc\x51\xea\x1d\xab\x40\xfe\xad\xad\x38\x0a\xc5\xc1\x66\x27\x43\x63\x4d\x0b\x22\x64\x0e\x0b\x1a\xab\x32\x16\xf7\x4b\x5c\x9d\xb6\xbb\xe1\x46\x8b\x87\x60\x20\x85\xdb\x01\xb6\xd2\x53\x3c\x8e\x7b\xd4\x69\x03\x4a\xf2\xb4\xb3\x7e\x62\xbb\xc3\x78\x23\x7d\x4d\x3d\xe1\x16\xde\x7b\x2b\xf5\x6e\x05\xa2\x35\xbd\xf6\xb7\xf0\xe1\xad\xfc\xf8\xb7\xbf\xae\x58\xd4\x2d\xbc\xae\x6b\x8b\xce\xbd\x0a\xbf\x7f\xf8\xf0\xee\xfb\x5b\xf8\xf0\x4e\x7b\xfa\x22\x6f\x5b\x3e\xde\x86\x8e\xf0\xba\xf1\x68\x93\xb8\xe5\xef\x31\xab\xc6\xce\x38\xe9\x43\xc3\x7c\xdc\xa8\xef\xd3\xa7\x4f\x18\xe5\xcd\xd8\x24\x6f\x4a\xcd\xf3\x86\x9f\x65\xd0\x0f\x8f\x18\xb3\x47\xd8\x29\xb3\x15\x0a\xb6\xbd\xd5\xd0\xa2\xdf\x1b\x9e\x73\x95\x50\x8a\xbe\xa2\x9a\x14\xa0\x8d\x7e\xf9\x5f\xb4\x26\x6d\x75\xc1\x4a\xae\x9d\xa7\x4c\x9c\xc6\x69\xa4\xe9\x9b\x91\x74\x2a\xb6\x71\x48\x86\x6a\x60\x4b\xba\x50\xdd\x6e\x18\xce\xb9\xb3\xfd\x3b\xaf\xa3\x12\xd8\xa1\xf7\x54\x01\x51\x73\x90\xdc\x27\xb8\x54\x8b\x7d\xc6\xd6\x9c\x8f\x8a\xa4\x1a\x7c\xe2\x8f\xa7\x0b\x0e\xc2\xa6\x0d\x92\xa1\xfc\xdd\xc3\x60\x5b\x6a\x47\xcf\x31\x0e\x49\xc7\x2a\x36\x6e\x8b\xbf\xf5\xd2\x72\x11\x3a\xb6\x28\xa5\x35\xf5\xba\x24\x64\x5c\xcd\xdc\xc6\x53\xf3\xe1\xe2\x3f\x75\xb8\x3e\xdb\xf7\x9d\x87\x0c\x1c\xe2\x86\xe5\x5e\x46\xc3\x66\x9b\xa6\xe7\x1e\x2d\xae\xf2\xda\xd1\xb0\x52\x28\x68\x38\x98\x2e\xa6\x53\x67\x9c\x93\x71\x3e\x98\x06\x2a\x8b\x82\x95\x88\x33\x22\xc6\xcd\xba\x41\x75\xb2\x98\x90\x07\x03\x18\xf2\xa9\xb0\x52\x9d\x22\x12\xe1\xb9\x66\x8e\x3a\xb9\x77\xfd\x39\x41\xcb\x23\x20\x36\xc9\xb4\xe5\xdb\x98\x2a\x5c\xb7\xee\x1e\x44\x56\x0b\x24\x61\x31\xd7\x61\x25\x1b\x59\xc5\xdc\x1d\xda\x65\x21\x45\x3a\x10\x07\x21\x95\x08\x6d\x9d\x86\x52\xee\x38\xc5\x87\x77\x01\x27\xd1\x50\xd8\xf2\x4c\x6f\x7a\xc5\x5b\x1f\x8c\xac\xa1\x13\x5a\x56\xe4\x21\xae\x48\xaa\x3b\xfe\x25\xb5\xdb\xb1\xa0\x5c\xb3\x39\x99\x1d\xf4\xfa\x5e\x9b\xc9\x86\xaf\xeb\x80\x51\x84\x52\xa7\x15\x99\xc4\x81\xc9\x26\x3a\xe8\xfa\xb0\x0b\xe7\x4b\xdb\x2b\x2f\x3b\x85\x70\xa0\x06\x36\xb1\x31\x22\x89\x8c\xcc\xaa\x3d\x56\xf7\xe0\x4c\x9b\x11\x43\x58\x05\xbd\xf6\x52\xf1\x83\x1a\x9d\xb4\x58\x47\xe7\x4d\x5d\x66\x51\x54\x7b\xac\x57\xd0\x19\x4f\xf9\x49\x3a\xc2\x1e\x55\x97\xac\x86\x0e\x2d\x97\x68\x8e\x76\x5a\x3d\x5f\x7a\x12\x8f\x54\xfb\x20\xdd\xeb\x14\x8d\x3b\x93\x86\xc8\x75\xd9\x7d\x96\xb7\xf0\xc6\x18\x55\x66\x43\x72\x35\xb8\x7e\x1b\xc1\xfa\xa3\xe5\x94\x12\xad\x10\x42\x00\xd1\xa2\xef\x2d\xcd\x86\x08\xc4\x32\xa0\xb1\xd8\x9a\x03\x8f\x89\x00\x6c\x46\x0b\x27\x89\x32\x40\xc6\x17\x2e\x9a\x09\x0a\x0f\xa8\xc8\x75\x9b\x68\x77\x32\x6e\xb9\x29\x56\xbf\x37\x84\x32\x8d\xa5\x18\x53\x76\x85\xd5\xd2\xaf\x18\xe7\x05\xfe\x81\xd2\xef\xd1\xe6\xda\x02\xb3\xfd\x15\x09\x6a\x78\x87\xaa\x29\xa4\x19\x66\x38\x11\x01\xd4\x23\xb4\xc9\x56\x6d\x92\x0e\x9b\x79\x6b\xa6\x9a\x72\x84\x8e\x17\x83\xf2\xed\x27\xf6\xd8\xc3\xa8\xbd\xd2\x3f\x42\xdc\x93\x47\x61\x23\xd8\x58\x74\x91\x13\x34\x8c\x4a\x4d\x74\x34\x45\x00\x0e\x42\xf5\x78\xb6\x2c\x2c\x59\xa7\xda\xf9\xfa\xeb\x34\x9a\xce\xbe\xa4\x7f\x57\xbf\x0c\x70\x29\xb6\x81\xb6\x77\x9e\x2a\x98\x76\x72\xa2\x45\x10\xae\xa8\xc6\x58\x10\x03\xda\x61\xa3\xae\x0a\xf1\x0f\x8b\xf2\xa7\xd1\x84\x48\xcc\xe5\x8f\x4f\x88\x88\x13\x66\x06\x84\xd4\xd1\x53\xcf\x18\x10\xbf\x60\x6a\xcb\x52\x57\xaa\xaf\x11\x04\x64\xfa\x13\xd4\xe0\x6e\x50\x3a\x21\x8e\x86\x2c\xe5\x88\x4c\x6a\x29\x42\x44\x23\x9e\xc3\x22\x82\x1b\x02\x8b\xc8\x72\x08\xf6\xd7\x26\x7d\x34\x4f\x19\x56\xa0\xe4\x3d\x82\xeb\x94\x64\xd4\xdd\x42\xdf\x51\x65\x66\x21\x0e\x75\x1d\x5e\x10\x03\x91\x0d\xe7\xb4\x87\x4e\x05\xc2\x03\xcf\x1f\x2d\x29\x58\xd3\xd1\x12\x5d\x0f\x5e\xdc\xe3\xd0\x09\xa8\x3b\xc4\x37\x54\x91\x17\xc2\x50\x90\xe1\xc7\xca\x8a\x95\xa2\x8a\x8a\x32\xaf\x03\x16\x4e\x55\xb4\x2c\x55\xda\xa1\x7f\xdf\x77\xc4\x6e\xb0\xe6\x0f\xee\x4e\x1d\xba\x51\xb7\xaa\x25\x77\x1c\x61\x79\x62\x47\x12\x49\xdf\x9c\x75\xb8\xe3\x1e\xb9\x7f\xb0\xcb\x89\xb1\xd3\x60\xeb\x2d\x39\x51\x9d\xc0\xa5\x5d\x88\x90\xf1\xe1\x40\x91\xd2\x53\x03\x72\xe7\x9e\x57\xf0\x7a\x79\x0b\x9f\xee\x18\x4a\x52\xcf\x7e\x28\x8d\xfa\x29\x6a\x9f\x34\x32\x96\x33\x95\x01\xad\x3c\xd0\x98\x8c\xea\xd1\x8e\x5d\xd6\x09\xcf\x55\xe2\x81\x19\xa6\x58\x4c\x6a\xa1\xe3\x2a\x10\xfa\x14\x04\x45\x4e\xf7\x2b\x75\x80\xd8\x64\xbc\xed\x91\x84\xd6\xd8\x64\xe0\x7f\xd1\x44\xe9\xce\x2d\x8c\x38\x99\x7e\x4c\x73\x69\xd2\x11\x06\x46\x51\x00\xb7\x1a\xc3\x60\x67\x17\x0f\x29\x19\x3a\x3c\x13\xf6\xe1\x78\x29\xdb\xbb\x4a\x10\x76\x05\x77\x56\x68\xd7\xa0\x35\x76\x95\x21\x52\x38\x2d\x49\xac\x72\x00\x7a\xfd\xc0\x1c\xc8\xbf\x43\x88\x4f\xe8\x3f\xa7\x5e\xd8\x94\xdb\x91\x36\xc3\xc6\x59\xaf\x31\xaf\x5d\xa7\x1f\x56\x81\x55\xd8\x35\xfd\xc7\x50\x6b\x0a\xe6\x24\xaa\x3a\x28\x49\xd3\xfb\xfe\xac\x27\x8b\x10\xdc\x67\x03\xf7\x42\xfa\x77\x91\x07\x11\xf2\x12\xd3\xd3\x2b\xe9\x98\x36\x61\x0d\x07\x29\xc2\x51\x55\x54\x96\x1e\x5f\x2f\x37\x91\x50\x15\x12\xdf\x4d\x8e\x0b\x62\x63\xa3\x54\xdb\x1a\x73\x7f\x8f\xc8\x50\xc8\x58\xa6\x6a\xfc\x9c\xd9\x55\x59\x8d\x6c\x6f\xcc\xca\x2d\x96\xac\x2e\x1a\x4c\xea\xd5\xe8\xbc\x35\x27\xac\x4b\x24\xf5\x23\x49\x9d\x9e\x5b\x1c\xa5\x52\xb9\x57\xf7\x5d\x2d\x3c\x0e\xbd\xf5\x05\xcd\x58\x2f\x14\x67\x80\x3a\x95\xba\x18\x1a\xc3\x8a\x80\x44\x08\x43\x6e\xc8\xe1\xbc\x73\x8b\xa8\x93\xa3\x02\x4e\x0a\x70\x28\xc3\xab\x20\x73\xfd\xa8\x9b\x38\xaf\xd3\xe9\xa4\x43\x5f\x44\xd9\x1b\x08\xf4\x14\x1b\x63\x83\xd6\xd4\xe9\x27\xa7\x70\xe7\xa0\x5c\x32\x72\xe8\x6c\xa0\xaf\xc1\x6b\xe6\xa8\x69\xf8\xb0\x72\xae\x13\x6d\xcb\x40\x99\x06\x54\xa0\xb7\x31\x1a\xeb\x69\x3e\xa5\x73\x9b\xd0\x99\xc9\x5c\xca\x9d\xad\xa8\xee\xaf\x97\x53\x5c\x63\x71\x06\xd6\x70\xb8\x0b\x0a\x4d\xa0\x6c\xbd\xc3\xd0\x2d\x96\x6b\x59\xd3\xa0\x68\x24\x57\x6b\x84\x50\xfc\xc9\x36\x55\xd0\xc0\xad\xf9\x79\xdf\xcb\x7a\x79\x01\x7e\xc0\x65\x7c\x35\x96\x49\x30\xe9\xab\xf5\x57\xb7\x70\x75\x37\xf2\x77\x42\x42\x1c\x87\xe8\xfb\xba\xb7\xe9\xa4\x69\x6c\x7c\x3a\x53\x70\x26\x36\x12\x6e\xb0\xd4\x4b\x68\x3d\xf9\x17\xeb\x4b\x10\xe9\x5c\x19\xd2\x65\x84\xa0\xfe\xc8\x9c\x3b\x0c\x73\x6e\x32\xdb\x98\xa5\xc4\xf1\x1e\x06\x81\x8b\x67\xa3\x35\x7e\xa4\x04\x9c\x8c\x67\x06\x68\x71\x0c\x4c\xaa\x0a\xb8\x43\x33\x7a\xaa\x99\x43\x67\xea\x1c\x69\x93\xb0\x08\xf8\xb1\xc3\xca\x63\x3d\x2d\x2a\x66\x5e\x79\x7e\x0d\x54\x98\xf6\x5f\x05\x87\xe2\x29\x94\x98\x1e\x6a\x23\xf2\x3c\xbe\x9f\x28\x74\x29\xc4\x13\x4c\x64\x4b\xcf\x8a\xe3\x0f\x8c\xe8\x49\x2e\xdd\xdc\xc0\x1b\x54\xe6\x18\x49\x23\xb9\x62\x74\x68\x9b\x60\x9f\xeb\x6d\x04\xb5\xb6\xd7\x2f\xbd\x6c\x23\xb4\xe0\x71\x36\x95\xc7\x2e\xd9\x61\x1a\xc2\xe3\x73\xac\x4e\x30\x96\xcb\xb3\x27\xce\xc0\x08\x12\xcb\x0b\x9f\x75\xb8\x51\x58\x43\x21\x5f\x36\x67\x15\xe7\xde\xf7\x5b\xd2\xe6\xda\x34\x61\x52\xff\xfd\xdb\x4f\x33\x92\x1e\xbe\xb9\x5e\x4e\x8b\x1c\x98\x72\x30\x54\xf8\x54\x8a\xbd\x65\xec\x50\xa6\xf9\x03\xa0\x72\x73\x5d\x21\x63\x1d\xa6\x63\x6d\xe7\x4f\xe3\x3c\x8e\x0c\x24\x25\x1f\x13\x1f\x8e\x6d\x76\xc3\x71\x6f\xa0\x36\xfa\x85\x9f\x93\x3c\x9c\x51\xcf\xfa\x67\x05\xae\xaf\xf6\xb4\x49\xf9\xfa\xfd\x51\xfa\x6a\xbf\x35\xc2\xd6\x9b\x15\x6c\xf8\xd9\x5b\x63\x8f\x82\xb8\xe7\x06\xd0\x57\xeb\x8b\xae\x78\xb8\x48\x87\xca\xb9\x1b\x98\x45\x3c\xbb\x28\x21\xdd\x39\xce\xfc\xf9\xcf\x42\x60\x93\x00\x44\xa5\x53\xf8\x66\x4b\xe0\x5f\x24\xe4\x3f\xf0\xea\x15\x34\x42\x39\xbc\x64\xd0\xcc\x29\xc3\x26\x34\xf1\xcd\x30\x08\x59\xee\x0b\x57\x1c\xb3\xc2\xec\x09\x83\xc6\xe3\xf4\x94\x21\x09\x26\xbf\x9c\xaf\xff\xb3\xa9\xf9\xec\x08\x2b\x9a\xf5\x37\x4f\x10\xec\xd7\x81\x55\x0f\x74\x39\x4d\x15\x85\x8e\xc9\x9f\x66\x10\xf4\x5b\x2f\x54\xf8\x6d\x86\x6b\x3f\xca\xb0\xe1\xf2\x88\x8b\x67\x01\xb9\x24\x69\xcc\x4d\x8b\xf4\xea\xc7\x31\xda\x4f\x9c\x7f\x18\x1b\x54\x17\xb4\xe6\x6a\xae\xb2\xa8\xc5\xf3\x9a\x0e\x2b\x29\x54\x6e\xb3\xb0\x09\x18\x65\xc3\x84\x38\xc2\x98\x50\xb6\xd1\xa4\xe1\xcc\x95\xaf\xec\xe6\x84\x47\x8c\xb5\xc5\x9d\xd4\x9a\xc1\x62\x09\x74\x86\x8b\xc8\x99\xd5\x4f\x8e\xfb\xa0\xe0\xf5\xf8\xf1\x12\x5e\x3e\x1e\xcb\x7f\xe4\x74\x9c\x42\x04\x6e\x4f\x91\x69\x0f\x71\x23\xc8\xc5\x77\x7f\xe9\x73\x11\x88\xf9\xf4\xf0\x24\xbd\x3f\xf7\x31\xa3\xa5\xe9\x5d\xd1\x34\xac\xb3\x90\x29\xfc\x9f\x2e\x90\xd8\x4c\xc6\x7c\xaf\xd6\x22\xdc\xbc\xcc\xe2\xa8\xb3\xeb\xa4\xb8\x57\x78\x57\x5e\xc1\x14\xae\x7b\x5e\xbf\xbb\x7c\x6e\x20\xea\xda\x81\xf4\x6e\x0c\x76\xcf\x2a\xe1\xac\x07\x7e\xce\xa9\xc1\xdc\x40\x9b\x4e\x33\x22\xc9\xce\xa1\x1d\x41\xfc\xca\xe8\xca\xa2\x8f\xe3\x3a\x06\x76\xb8\x13\xcb\x1c\x24\x95\xce\x54\x5e\x9c\x5d\x23\xe6\x9d\xe9\x7a\x02\x92\x51\xda\x33\x3a\x0f\xd9\xb2\x96\xee\x9d\x76\x9e\xbc\x72\x5d\x16\xf3\xf2\x16\xe6\xf3\xf6\xbb\x00\x45\x93\xf7\xf9\x6f\x3a\x2a\xd3\x76\xc2\x8f\x68\x1e\xd9\xf7\x3b\x7a\x0c\x67\xe8\xf4\xe2\x2f\x16\x17\xab\x3b\x97\xa6\xcb\x21\x4f\xc7\x9f\xa6\x64\x0a\x37\x84\xb3\x39\x9b\x2e\x0b\x47\x19\x3b\xb9\x2f\x1c\x0b\x64\x6a\xf0\xfc\xbc\x85\xe7\xf6\x89\xbf\xcc\xaa\xfd\xbb\xba\x86\xeb\xdb\x27\xdb\xc5\x90\x6e\x4f\x9c\xb5\x16\xc5\xc6\x97\x52\xf8\x03\x81\xa9\x58\x67\x4a\x99\xa3\x63\xae\x1d\xfe\xe4\xc2\xc4\x6f\x8a\x49\xcb\x39\xba\x17\x54\x9e\x67\x97\xa1\xf0\x44\xcd\x4d\xb7\xbc\xfe\xec\x53\xef\xf3\xe3\xeb\x81\x97\x69\x3c\xaa\x53\xdc\x23\xba\x22\xb8\x92\xc9\xc1\x58\xd9\xf3\x46\xfa\xac\x51\xf8\xf4\x26\x79\x40\xa6\xd1\xc8\x2d\x22\xdd\xfe\x1d\x3e\xeb\x24\xfc\xff\x10\x9f\xb9\x63\xaa\xd9\xb8\x1c\x12\xb4\xcb\xb8\x70\xbe\x41\x8e\x22\x34\x13\xb0\x39\xa7\x8e\x24\xb3\x3f\x33\x85\x09\x1d\x30\x5f\xc6\xb6\xc2\x57\xfb\xe2\x26\xed\xbc\x01\xfd\xd9\xc9\x90\x42\xf0\xf0\xbf\x00\x00\x00\xff\xff\xa2\xe7\x8f\x57\x45\x27\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0x86, 0xe2, 0x8d, 0x9d, 0x59, 0x62, 0x90, 0x86, 0x73, 0x1, 0xd6, 0x2e, 0x17, 0x62, 0xcc, 0xbb, 0xd7, 0x95, 0x28, 0x48, 0x3e, 0x40, 0x7f, 0xff, 0xe1, 0x0, 0x10, 0xc5, 0xfa, 0x12, 0xba}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0xe4, 0x49, 0x30, 0x9e, 0xd3, 0xb8, 0xa5, 0x83, 0x72, 0xbc, 0x60, 0x84, 0xa4, 0xfb, 0xa, 0x6e, 0x88, 0xc9, 0xf9, 0x0, 0x1f, 0xc4, 0x40, 0x4e, 0x95, 0xf, 0x75, 0xfd, 0xaa, 0x86, 0x5d}}
 	return a, nil
 }
 
diff --git a/tests/example_token_test.cdc b/tests/example_token_test.cdc
index cd154764..32c3ddcd 100644
--- a/tests/example_token_test.cdc
+++ b/tests/example_token_test.cdc
@@ -87,6 +87,7 @@ fun testMintTokens() {
     Test.assertEqual(250.0, tokensDepositedEvent.amount)
     Test.assertEqual(recipient.address, tokensDepositedEvent.to!)
     Test.assertEqual("A.0000000000000007.ExampleToken.Vault", tokensDepositedEvent.type)
+    Test.assertEqual(250.0, tokensDepositedEvent.balanceAfter!)
 
     // Test that the totalSupply increased by the amount of minted tokens
     let scriptResult = executeScript(
@@ -116,8 +117,10 @@ fun testTransferTokens() {
     Test.assertEqual(1, events.length)
 
     let tokensWithdrawnEvent = events[0] as! FungibleToken.Withdrawn
+    Test.assertEqual("A.0000000000000007.ExampleToken.Vault", tokensWithdrawnEvent.type)
     Test.assertEqual(50.0, tokensWithdrawnEvent.amount)
     Test.assertEqual(recipient.address, tokensWithdrawnEvent.from!)
+    Test.assertEqual(200.0, tokensWithdrawnEvent.balanceAfter!)
 
     var scriptResult = executeScript(
         "../transactions/scripts/get_balance.cdc",

From b518689a350b329c3ae8ae2ade71b8b3f0f35ee2 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Fri, 19 Apr 2024 16:55:03 -0500
Subject: [PATCH 111/115] make event formatting prettier

---
 contracts/FungibleToken.cdc                | 18 ++++++++++++++++--
 lib/go/contracts/internal/assets/assets.go |  6 +++---
 2 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/contracts/FungibleToken.cdc b/contracts/FungibleToken.cdc
index 15e56b77..512401c1 100644
--- a/contracts/FungibleToken.cdc
+++ b/contracts/FungibleToken.cdc
@@ -186,7 +186,14 @@ access(all) contract interface FungibleToken: ViewResolver {
                 //
                 self.balance == before(self.balance) - amount:
                     "New Vault balance must be the difference of the previous balance and the withdrawn Vault balance"
-                emit Withdrawn(type: result.getType().identifier, amount: amount, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid, balanceAfter: self.balance)
+                emit Withdrawn(
+                        type: result.getType().identifier,
+                        amount: amount,
+                        from: self.owner?.address,
+                        fromUUID: self.uuid,
+                        withdrawnUUID: result.uuid,
+                        balanceAfter: self.balance
+                )
             }
         }
 
@@ -200,7 +207,14 @@ access(all) contract interface FungibleToken: ViewResolver {
                     "Cannot deposit an incompatible token type"
             }
             post {
-                emit Deposited(type: before(from.getType().identifier), amount: before(from.balance), to: self.owner?.address, toUUID: self.uuid, depositedUUID: before(from.uuid), balanceAfter: self.balance)
+                emit Deposited(
+                        type: before(from.getType().identifier),
+                        amount: before(from.balance),
+                        to: self.owner?.address,
+                        toUUID: self.uuid,
+                        depositedUUID: before(from.uuid),
+                        balanceAfter: self.balance
+                )
                 self.balance == before(self.balance) + before(from.balance):
                     "New Vault balance must be the sum of the previous balance and the deposited Vault"
             }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index fa9175f4..7aa26370 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,7 +1,7 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
 // ../../../contracts/ExampleToken.cdc (9.619kB)
-// ../../../contracts/FungibleToken.cdc (10.053kB)
+// ../../../contracts/FungibleToken.cdc (10.377kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.596kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (18.111kB)
 // ../../../contracts/utility/Burner.cdc (1.997kB)
@@ -99,7 +99,7 @@ func exampletokenCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x4f\x73\xdb\x36\x16\xbf\xeb\x53\xbc\x71\x0f\xb1\xba\x8a\xdc\xc3\xce\x1e\x3c\xdb\xa6\x49\xdb\xcc\xe4\xd0\x9d\x9d\xc6\x69\x0f\xbb\x3b\x23\x88\x7c\x94\x50\x83\x00\x0b\x80\x52\xb4\x19\x7f\xf7\x9d\xf7\xf0\x87\x04\x45\xd9\x4e\xdb\xcd\x25\x36\x49\x3c\xbc\xff\xef\xf7\x03\x7c\xf3\xe5\x97\x8b\xc5\x17\x70\xb7\x47\x78\xab\xcc\x11\xde\xf6\x7a\x27\xb7\x0a\xe1\xce\xdc\xa3\x06\xe7\x85\xae\x85\xad\x17\x8b\x2f\xbe\x80\x4d\x7a\xc9\xef\x36\x50\x19\xed\xad\xa8\xfc\x62\xc1\xcb\xe7\x57\x82\x74\xa0\x0d\x28\xa3\x77\x68\x41\x68\x90\xda\xa3\x6d\x44\x85\x0b\xbf\x17\x1e\x84\x52\xd0\xa4\xa5\x9e\x97\x26\xb9\x0e\x8e\xa6\x57\x35\xec\xc5\x81\x5e\xd1\xf3\xc6\xd8\x16\xbc\x59\x2f\x16\xef\x1a\x10\xd0\x3b\xb4\x0e\x8e\x42\x7b\x47\x1f\xd4\xd8\x29\x73\x02\x01\x1a\x8f\x13\x59\x2b\xf0\x7b\x94\x76\xd0\xb9\x36\x48\x8a\x79\xd0\x88\x35\x2d\x96\x6d\xa7\xb0\x45\xed\xe9\x4b\x28\x4c\x1d\x74\x5e\xc1\xb6\xf7\x51\x14\x6f\xe0\x16\xb5\xb9\x20\x22\x2f\x72\x50\x63\x23\x35\xd6\x20\x35\xf8\xbd\x74\x59\x8b\x75\xf0\xeb\xcf\xa2\x57\x7e\x03\x16\x9d\xe9\x6d\x35\x5a\xb9\x58\xfc\x20\xaa\xfd\xd4\x3f\xf9\x3b\x7f\xea\x90\x37\x77\xe7\xbb\x5f\x16\x1a\x37\xfd\xa7\x35\x07\x59\xa3\xdd\xac\x60\xf3\x13\x56\x28\x0f\xfc\xb3\xd0\x35\x6c\xde\x08\x25\x74\x85\x73\xab\x1d\x47\xdb\x4d\xcc\xab\x94\xb0\x08\x9d\xc5\x97\x95\xd1\xb5\xf4\xd2\x68\xc7\xa2\x3a\xe3\xfc\xf8\x19\xc7\xdc\xa2\xf3\x56\x56\x7e\x41\x8a\xe2\x47\xac\x7a\x7a\x09\xa6\x61\xcd\x9b\x5e\x57\xe1\x63\x76\x17\x02\x5b\xb2\xe6\x7d\x4f\x40\xfb\x38\xec\x84\x15\x1e\x61\x8b\x95\xe8\x49\x17\x0f\x3b\x79\x40\xc7\x9f\x53\x52\xf0\x0f\x62\x2b\x95\xf4\x27\xf2\x8d\xdb\x0b\x8b\x0b\x01\x16\x1b\xb4\xa8\x2b\xce\xa7\x10\x46\x96\x1e\xf4\x32\x5a\x9d\x00\x3f\x76\xc6\x45\x51\x8d\x44\x55\xbb\x41\xa3\x85\xd4\x60\x34\x82\xb1\xd0\x1a\x8b\x49\xe3\xc1\x15\x94\x98\x94\xd3\xce\x44\x85\x42\x86\x4e\xb4\x69\xc5\x3d\x42\xd5\x3b\x6f\xda\xec\xe1\xe8\x9a\x1c\x44\xf2\x4d\xe9\x65\x4a\x70\x03\x07\x61\xa5\xe9\xe9\x6b\xa9\x77\x0e\x8e\xd2\xef\x59\x7c\xc8\xc6\xf5\xe2\xad\xb1\x80\x1f\x05\x89\x59\x81\x80\x46\xf4\x15\x7a\xa8\x84\x86\x2d\x0e\xd2\xb1\x86\xed\x29\x15\x94\xd4\xbb\x45\x70\x07\xa4\xa4\x28\xb2\xe5\xcb\x9b\xc5\x42\xb6\x9d\xb1\x1e\xae\x7e\x96\x78\xfc\x09\x9d\x51\x07\xb4\x57\xf9\xe9\x9b\xde\x6a\xfa\x7d\x71\x73\x73\x53\x96\x0e\x3d\x29\x9e\xc6\xf6\x90\x35\x11\x21\xd4\x6e\xcf\xa5\x5e\xe6\x70\x99\xf7\x2c\x66\xa4\x97\xa8\x2a\x74\xee\x5a\x28\xb5\xcc\x05\x35\xbc\x2f\xd5\xb8\x85\xb1\xe2\xf0\x69\xb1\x00\x00\xb8\xb9\x81\xd7\x1a\x50\x7b\xe9\xe3\xae\x8d\xb1\xd4\x91\xcc\x51\xea\x1d\xab\x40\xfe\xad\xad\x38\x0a\xc5\xc1\x66\x27\x43\x63\x4d\x0b\x22\x64\x0e\x0b\x1a\xab\x32\x16\xf7\x4b\x5c\x9d\xb6\xbb\xe1\x46\x8b\x87\x60\x20\x85\xdb\x01\xb6\xd2\x53\x3c\x8e\x7b\xd4\x69\x03\x4a\xf2\xb4\xb3\x7e\x62\xbb\xc3\x78\x23\x7d\x4d\x3d\xe1\x16\xde\x7b\x2b\xf5\x6e\x05\xa2\x35\xbd\xf6\xb7\xf0\xe1\xad\xfc\xf8\xb7\xbf\xae\x58\xd4\x2d\xbc\xae\x6b\x8b\xce\xbd\x0a\xbf\x7f\xf8\xf0\xee\xfb\x5b\xf8\xf0\x4e\x7b\xfa\x22\x6f\x5b\x3e\xde\x86\x8e\xf0\xba\xf1\x68\x93\xb8\xe5\xef\x31\xab\xc6\xce\x38\xe9\x43\xc3\x7c\xdc\xa8\xef\xd3\xa7\x4f\x18\xe5\xcd\xd8\x24\x6f\x4a\xcd\xf3\x86\x9f\x65\xd0\x0f\x8f\x18\xb3\x47\xd8\x29\xb3\x15\x0a\xb6\xbd\xd5\xd0\xa2\xdf\x1b\x9e\x73\x95\x50\x8a\xbe\xa2\x9a\x14\xa0\x8d\x7e\xf9\x5f\xb4\x26\x6d\x75\xc1\x4a\xae\x9d\xa7\x4c\x9c\xc6\x69\xa4\xe9\x9b\x91\x74\x2a\xb6\x71\x48\x86\x6a\x60\x4b\xba\x50\xdd\x6e\x18\xce\xb9\xb3\xfd\x3b\xaf\xa3\x12\xd8\xa1\xf7\x54\x01\x51\x73\x90\xdc\x27\xb8\x54\x8b\x7d\xc6\xd6\x9c\x8f\x8a\xa4\x1a\x7c\xe2\x8f\xa7\x0b\x0e\xc2\xa6\x0d\x92\xa1\xfc\xdd\xc3\x60\x5b\x6a\x47\xcf\x31\x0e\x49\xc7\x2a\x36\x6e\x8b\xbf\xf5\xd2\x72\x11\x3a\xb6\x28\xa5\x35\xf5\xba\x24\x64\x5c\xcd\xdc\xc6\x53\xf3\xe1\xe2\x3f\x75\xb8\x3e\xdb\xf7\x9d\x87\x0c\x1c\xe2\x86\xe5\x5e\x46\xc3\x66\x9b\xa6\xe7\x1e\x2d\xae\xf2\xda\xd1\xb0\x52\x28\x68\x38\x98\x2e\xa6\x53\x67\x9c\x93\x71\x3e\x98\x06\x2a\x8b\x82\x95\x88\x33\x22\xc6\xcd\xba\x41\x75\xb2\x98\x90\x07\x03\x18\xf2\xa9\xb0\x52\x9d\x22\x12\xe1\xb9\x66\x8e\x3a\xb9\x77\xfd\x39\x41\xcb\x23\x20\x36\xc9\xb4\xe5\xdb\x98\x2a\x5c\xb7\xee\x1e\x44\x56\x0b\x24\x61\x31\xd7\x61\x25\x1b\x59\xc5\xdc\x1d\xda\x65\x21\x45\x3a\x10\x07\x21\x95\x08\x6d\x9d\x86\x52\xee\x38\xc5\x87\x77\x01\x27\xd1\x50\xd8\xf2\x4c\x6f\x7a\xc5\x5b\x1f\x8c\xac\xa1\x13\x5a\x56\xe4\x21\xae\x48\xaa\x3b\xfe\x25\xb5\xdb\xb1\xa0\x5c\xb3\x39\x99\x1d\xf4\xfa\x5e\x9b\xc9\x86\xaf\xeb\x80\x51\x84\x52\xa7\x15\x99\xc4\x81\xc9\x26\x3a\xe8\xfa\xb0\x0b\xe7\x4b\xdb\x2b\x2f\x3b\x85\x70\xa0\x06\x36\xb1\x31\x22\x89\x8c\xcc\xaa\x3d\x56\xf7\xe0\x4c\x9b\x11\x43\x58\x05\xbd\xf6\x52\xf1\x83\x1a\x9d\xb4\x58\x47\xe7\x4d\x5d\x66\x51\x54\x7b\xac\x57\xd0\x19\x4f\xf9\x49\x3a\xc2\x1e\x55\x97\xac\x86\x0e\x2d\x97\x68\x8e\x76\x5a\x3d\x5f\x7a\x12\x8f\x54\xfb\x20\xdd\xeb\x14\x8d\x3b\x93\x86\xc8\x75\xd9\x7d\x96\xb7\xf0\xc6\x18\x55\x66\x43\x72\x35\xb8\x7e\x1b\xc1\xfa\xa3\xe5\x94\x12\xad\x10\x42\x00\xd1\xa2\xef\x2d\xcd\x86\x08\xc4\x32\xa0\xb1\xd8\x9a\x03\x8f\x89\x00\x6c\x46\x0b\x27\x89\x32\x40\xc6\x17\x2e\x9a\x09\x0a\x0f\xa8\xc8\x75\x9b\x68\x77\x32\x6e\xb9\x29\x56\xbf\x37\x84\x32\x8d\xa5\x18\x53\x76\x85\xd5\xd2\xaf\x18\xe7\x05\xfe\x81\xd2\xef\xd1\xe6\xda\x02\xb3\xfd\x15\x09\x6a\x78\x87\xaa\x29\xa4\x19\x66\x38\x11\x01\xd4\x23\xb4\xc9\x56\x6d\x92\x0e\x9b\x79\x6b\xa6\x9a\x72\x84\x8e\x17\x83\xf2\xed\x27\xf6\xd8\xc3\xa8\xbd\xd2\x3f\x42\xdc\x93\x47\x61\x23\xd8\x58\x74\x91\x13\x34\x8c\x4a\x4d\x74\x34\x45\x00\x0e\x42\xf5\x78\xb6\x2c\x2c\x59\xa7\xda\xf9\xfa\xeb\x34\x9a\xce\xbe\xa4\x7f\x57\xbf\x0c\x70\x29\xb6\x81\xb6\x77\x9e\x2a\x98\x76\x72\xa2\x45\x10\xae\xa8\xc6\x58\x10\x03\xda\x61\xa3\xae\x0a\xf1\x0f\x8b\xf2\xa7\xd1\x84\x48\xcc\xe5\x8f\x4f\x88\x88\x13\x66\x06\x84\xd4\xd1\x53\xcf\x18\x10\xbf\x60\x6a\xcb\x52\x57\xaa\xaf\x11\x04\x64\xfa\x13\xd4\xe0\x6e\x50\x3a\x21\x8e\x86\x2c\xe5\x88\x4c\x6a\x29\x42\x44\x23\x9e\xc3\x22\x82\x1b\x02\x8b\xc8\x72\x08\xf6\xd7\x26\x7d\x34\x4f\x19\x56\xa0\xe4\x3d\x82\xeb\x94\x64\xd4\xdd\x42\xdf\x51\x65\x66\x21\x0e\x75\x1d\x5e\x10\x03\x91\x0d\xe7\xb4\x87\x4e\x05\xc2\x03\xcf\x1f\x2d\x29\x58\xd3\xd1\x12\x5d\x0f\x5e\xdc\xe3\xd0\x09\xa8\x3b\xc4\x37\x54\x91\x17\xc2\x50\x90\xe1\xc7\xca\x8a\x95\xa2\x8a\x8a\x32\xaf\x03\x16\x4e\x55\xb4\x2c\x55\xda\xa1\x7f\xdf\x77\xc4\x6e\xb0\xe6\x0f\xee\x4e\x1d\xba\x51\xb7\xaa\x25\x77\x1c\x61\x79\x62\x47\x12\x49\xdf\x9c\x75\xb8\xe3\x1e\xb9\x7f\xb0\xcb\x89\xb1\xd3\x60\xeb\x2d\x39\x51\x9d\xc0\xa5\x5d\x88\x90\xf1\xe1\x40\x91\xd2\x53\x03\x72\xe7\x9e\x57\xf0\x7a\x79\x0b\x9f\xee\x18\x4a\x52\xcf\x7e\x28\x8d\xfa\x29\x6a\x9f\x34\x32\x96\x33\x95\x01\xad\x3c\xd0\x98\x8c\xea\xd1\x8e\x5d\xd6\x09\xcf\x55\xe2\x81\x19\xa6\x58\x4c\x6a\xa1\xe3\x2a\x10\xfa\x14\x04\x45\x4e\xf7\x2b\x75\x80\xd8\x64\xbc\xed\x91\x84\xd6\xd8\x64\xe0\x7f\xd1\x44\xe9\xce\x2d\x8c\x38\x99\x7e\x4c\x73\x69\xd2\x11\x06\x46\x51\x00\xb7\x1a\xc3\x60\x67\x17\x0f\x29\x19\x3a\x3c\x13\xf6\xe1\x78\x29\xdb\xbb\x4a\x10\x76\x05\x77\x56\x68\xd7\xa0\x35\x76\x95\x21\x52\x38\x2d\x49\xac\x72\x00\x7a\xfd\xc0\x1c\xc8\xbf\x43\x88\x4f\xe8\x3f\xa7\x5e\xd8\x94\xdb\x91\x36\xc3\xc6\x59\xaf\x31\xaf\x5d\xa7\x1f\x56\x81\x55\xd8\x35\xfd\xc7\x50\x6b\x0a\xe6\x24\xaa\x3a\x28\x49\xd3\xfb\xfe\xac\x27\x8b\x10\xdc\x67\x03\xf7\x42\xfa\x77\x91\x07\x11\xf2\x12\xd3\xd3\x2b\xe9\x98\x36\x61\x0d\x07\x29\xc2\x51\x55\x54\x96\x1e\x5f\x2f\x37\x91\x50\x15\x12\xdf\x4d\x8e\x0b\x62\x63\xa3\x54\xdb\x1a\x73\x7f\x8f\xc8\x50\xc8\x58\xa6\x6a\xfc\x9c\xd9\x55\x59\x8d\x6c\x6f\xcc\xca\x2d\x96\xac\x2e\x1a\x4c\xea\xd5\xe8\xbc\x35\x27\xac\x4b\x24\xf5\x23\x49\x9d\x9e\x5b\x1c\xa5\x52\xb9\x57\xf7\x5d\x2d\x3c\x0e\xbd\xf5\x05\xcd\x58\x2f\x14\x67\x80\x3a\x95\xba\x18\x1a\xc3\x8a\x80\x44\x08\x43\x6e\xc8\xe1\xbc\x73\x8b\xa8\x93\xa3\x02\x4e\x0a\x70\x28\xc3\xab\x20\x73\xfd\xa8\x9b\x38\xaf\xd3\xe9\xa4\x43\x5f\x44\xd9\x1b\x08\xf4\x14\x1b\x63\x83\xd6\xd4\xe9\x27\xa7\x70\xe7\xa0\x5c\x32\x72\xe8\x6c\xa0\xaf\xc1\x6b\xe6\xa8\x69\xf8\xb0\x72\xae\x13\x6d\xcb\x40\x99\x06\x54\xa0\xb7\x31\x1a\xeb\x69\x3e\xa5\x73\x9b\xd0\x99\xc9\x5c\xca\x9d\xad\xa8\xee\xaf\x97\x53\x5c\x63\x71\x06\xd6\x70\xb8\x0b\x0a\x4d\xa0\x6c\xbd\xc3\xd0\x2d\x96\x6b\x59\xd3\xa0\x68\x24\x57\x6b\x84\x50\xfc\xc9\x36\x55\xd0\xc0\xad\xf9\x79\xdf\xcb\x7a\x79\x01\x7e\xc0\x65\x7c\x35\x96\x49\x30\xe9\xab\xf5\x57\xb7\x70\x75\x37\xf2\x77\x42\x42\x1c\x87\xe8\xfb\xba\xb7\xe9\xa4\x69\x6c\x7c\x3a\x53\x70\x26\x36\x12\x6e\xb0\xd4\x4b\x68\x3d\xf9\x17\xeb\x4b\x10\xe9\x5c\x19\xd2\x65\x84\xa0\xfe\xc8\x9c\x3b\x0c\x73\x6e\x32\xdb\x98\xa5\xc4\xf1\x1e\x06\x81\x8b\x67\xa3\x35\x7e\xa4\x04\x9c\x8c\x67\x06\x68\x71\x0c\x4c\xaa\x0a\xb8\x43\x33\x7a\xaa\x99\x43\x67\xea\x1c\x69\x93\xb0\x08\xf8\xb1\xc3\xca\x63\x3d\x2d\x2a\x66\x5e\x79\x7e\x0d\x54\x98\xf6\x5f\x05\x87\xe2\x29\x94\x98\x1e\x6a\x23\xf2\x3c\xbe\x9f\x28\x74\x29\xc4\x13\x4c\x64\x4b\xcf\x8a\xe3\x0f\x8c\xe8\x49\x2e\xdd\xdc\xc0\x1b\x54\xe6\x18\x49\x23\xb9\x62\x74\x68\x9b\x60\x9f\xeb\x6d\x04\xb5\xb6\xd7\x2f\xbd\x6c\x23\xb4\xe0\x71\x36\x95\xc7\x2e\xd9\x61\x1a\xc2\xe3\x73\xac\x4e\x30\x96\xcb\xb3\x27\xce\xc0\x08\x12\xcb\x0b\x9f\x75\xb8\x51\x58\x43\x21\x5f\x36\x67\x15\xe7\xde\xf7\x5b\xd2\xe6\xda\x34\x61\x52\xff\xfd\xdb\x4f\x33\x92\x1e\xbe\xb9\x5e\x4e\x8b\x1c\x98\x72\x30\x54\xf8\x54\x8a\xbd\x65\xec\x50\xa6\xf9\x03\xa0\x72\x73\x5d\x21\x63\x1d\xa6\x63\x6d\xe7\x4f\xe3\x3c\x8e\x0c\x24\x25\x1f\x13\x1f\x8e\x6d\x76\xc3\x71\x6f\xa0\x36\xfa\x85\x9f\x93\x3c\x9c\x51\xcf\xfa\x67\x05\xae\xaf\xf6\xb4\x49\xf9\xfa\xfd\x51\xfa\x6a\xbf\x35\xc2\xd6\x9b\x15\x6c\xf8\xd9\x5b\x63\x8f\x82\xb8\xe7\x06\xd0\x57\xeb\x8b\xae\x78\xb8\x48\x87\xca\xb9\x1b\x98\x45\x3c\xbb\x28\x21\xdd\x39\xce\xfc\xf9\xcf\x42\x60\x93\x00\x44\xa5\x53\xf8\x66\x4b\xe0\x5f\x24\xe4\x3f\xf0\xea\x15\x34\x42\x39\xbc\x64\xd0\xcc\x29\xc3\x26\x34\xf1\xcd\x30\x08\x59\xee\x0b\x57\x1c\xb3\xc2\xec\x09\x83\xc6\xe3\xf4\x94\x21\x09\x26\xbf\x9c\xaf\xff\xb3\xa9\xf9\xec\x08\x2b\x9a\xf5\x37\x4f\x10\xec\xd7\x81\x55\x0f\x74\x39\x4d\x15\x85\x8e\xc9\x9f\x66\x10\xf4\x5b\x2f\x54\xf8\x6d\x86\x6b\x3f\xca\xb0\xe1\xf2\x88\x8b\x67\x01\xb9\x24\x69\xcc\x4d\x8b\xf4\xea\xc7\x31\xda\x4f\x9c\x7f\x18\x1b\x54\x17\xb4\xe6\x6a\xae\xb2\xa8\xc5\xf3\x9a\x0e\x2b\x29\x54\x6e\xb3\xb0\x09\x18\x65\xc3\x84\x38\xc2\x98\x50\xb6\xd1\xa4\xe1\xcc\x95\xaf\xec\xe6\x84\x47\x8c\xb5\xc5\x9d\xd4\x9a\xc1\x62\x09\x74\x86\x8b\xc8\x99\xd5\x4f\x8e\xfb\xa0\xe0\xf5\xf8\xf1\x12\x5e\x3e\x1e\xcb\x7f\xe4\x74\x9c\x42\x04\x6e\x4f\x91\x69\x0f\x71\x23\xc8\xc5\x77\x7f\xe9\x73\x11\x88\xf9\xf4\xf0\x24\xbd\x3f\xf7\x31\xa3\xa5\xe9\x5d\xd1\x34\xac\xb3\x90\x29\xfc\x9f\x2e\x90\xd8\x4c\xc6\x7c\xaf\xd6\x22\xdc\xbc\xcc\xe2\xa8\xb3\xeb\xa4\xb8\x57\x78\x57\x5e\xc1\x14\xae\x7b\x5e\xbf\xbb\x7c\x6e\x20\xea\xda\x81\xf4\x6e\x0c\x76\xcf\x2a\xe1\xac\x07\x7e\xce\xa9\xc1\xdc\x40\x9b\x4e\x33\x22\xc9\xce\xa1\x1d\x41\xfc\xca\xe8\xca\xa2\x8f\xe3\x3a\x06\x76\xb8\x13\xcb\x1c\x24\x95\xce\x54\x5e\x9c\x5d\x23\xe6\x9d\xe9\x7a\x02\x92\x51\xda\x33\x3a\x0f\xd9\xb2\x96\xee\x9d\x76\x9e\xbc\x72\x5d\x16\xf3\xf2\x16\xe6\xf3\xf6\xbb\x00\x45\x93\xf7\xf9\x6f\x3a\x2a\xd3\x76\xc2\x8f\x68\x1e\xd9\xf7\x3b\x7a\x0c\x67\xe8\xf4\xe2\x2f\x16\x17\xab\x3b\x97\xa6\xcb\x21\x4f\xc7\x9f\xa6\x64\x0a\x37\x84\xb3\x39\x9b\x2e\x0b\x47\x19\x3b\xb9\x2f\x1c\x0b\x64\x6a\xf0\xfc\xbc\x85\xe7\xf6\x89\xbf\xcc\xaa\xfd\xbb\xba\x86\xeb\xdb\x27\xdb\xc5\x90\x6e\x4f\x9c\xb5\x16\xc5\xc6\x97\x52\xf8\x03\x81\xa9\x58\x67\x4a\x99\xa3\x63\xae\x1d\xfe\xe4\xc2\xc4\x6f\x8a\x49\xcb\x39\xba\x17\x54\x9e\x67\x97\xa1\xf0\x44\xcd\x4d\xb7\xbc\xfe\xec\x53\xef\xf3\xe3\xeb\x81\x97\x69\x3c\xaa\x53\xdc\x23\xba\x22\xb8\x92\xc9\xc1\x58\xd9\xf3\x46\xfa\xac\x51\xf8\xf4\x26\x79\x40\xa6\xd1\xc8\x2d\x22\xdd\xfe\x1d\x3e\xeb\x24\xfc\xff\x10\x9f\xb9\x63\xaa\xd9\xb8\x1c\x12\xb4\xcb\xb8\x70\xbe\x41\x8e\x22\x34\x13\xb0\x39\xa7\x8e\x24\xb3\x3f\x33\x85\x09\x1d\x30\x5f\xc6\xb6\xc2\x57\xfb\xe2\x26\xed\xbc\x01\xfd\xd9\xc9\x90\x42\xf0\xf0\xbf\x00\x00\x00\xff\xff\xa2\xe7\x8f\x57\x45\x27\x00\x00"
+var _fungibletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x5a\x4b\x93\xdb\x36\xf2\xbf\xeb\x53\x74\x4d\x0e\x96\xf2\x97\x35\x39\xfc\x6b\x0f\x53\x9b\x38\x76\x12\x57\xf9\x90\xad\xad\x78\x9c\x1c\x76\xb7\x4a\x10\xd9\x94\x90\x81\x00\x06\x00\x25\x6b\xa7\xe6\xbb\x6f\x75\xe3\x41\x82\xa2\xe6\x91\xc7\x5c\x3c\x43\x12\x8d\x7e\xfe\xfa\xd7\x80\xaf\xbf\xfc\x72\x36\xfb\x02\x6e\x77\x08\xef\x95\x39\xc2\xfb\x4e\x6f\xe5\x46\x21\xdc\x9a\x3b\xd4\xe0\xbc\xd0\xb5\xb0\xf5\x6c\xf6\xc5\x17\xb0\x4e\x2f\xf9\xdd\x1a\x2a\xa3\xbd\x15\x95\x9f\xcd\x78\xf9\xf4\x4a\x90\x0e\xb4\x01\x65\xf4\x16\x2d\x08\x0d\x52\x7b\xb4\x8d\xa8\x70\xe6\x77\xc2\x83\x50\x0a\x9a\xb4\xd4\xf3\xd2\x24\xd7\xc1\xd1\x74\xaa\x86\x9d\x38\xd0\x2b\x7a\xde\x18\xbb\x07\x6f\x56\xb3\xd9\x87\x06\x04\x74\x0e\xad\x83\xa3\xd0\xde\xd1\x07\x35\xb6\xca\x9c\x40\x80\xc6\xe3\x48\xd6\x12\xfc\x0e\xa5\xed\x75\xae\x0d\x92\x62\x1e\x34\x62\x4d\x8b\xe5\xbe\x55\xb8\x47\xed\xe9\x4b\x28\x4c\xed\x75\x5e\xc2\xa6\xf3\x51\x14\x6f\xe0\x66\xb5\xb9\x20\x22\x2f\x72\x50\x63\x23\x35\xd6\x20\x35\xf8\x9d\x74\x59\x8b\x55\xf0\xeb\xcf\xa2\x53\x7e\x0d\x16\x9d\xe9\x6c\x35\x58\x39\x9b\xfd\x20\xaa\xdd\xd8\x3f\xf9\x3b\x7f\x6a\x91\x37\x77\xe7\xbb\x5f\x16\x1a\x37\xfd\xa7\x35\x07\x59\xa3\x5d\x2f\x61\xfd\x13\x56\x28\x0f\xfc\xbb\xd0\x35\xac\xdf\x09\x25\x74\x85\x53\xab\x1d\x47\xdb\x8d\xcc\xab\x94\xb0\x08\xad\xc5\xd7\x95\xd1\xb5\xf4\xd2\x68\xc7\xa2\x5a\xe3\xfc\xf0\x19\xc7\xdc\xa2\xf3\x56\x56\x7e\x46\x8a\xe2\x67\xac\x3a\x7a\x09\xa6\x61\xcd\x9b\x4e\x57\xe1\x63\x76\x17\x02\x5b\xb2\xe2\x7d\x4f\x40\xfb\x38\x6c\x85\x15\x1e\x61\x83\x95\xe8\x48\x17\x0f\x5b\x79\x40\xc7\x9f\x53\x52\xf0\x2f\x62\x23\x95\xf4\x27\xf2\x8d\xdb\x09\x8b\x33\x01\x16\x1b\xb4\xa8\x2b\xce\xa7\x10\x46\x96\x1e\xf4\x32\x5a\x9d\x00\x3f\xb7\xc6\x45\x51\x8d\x44\x55\xbb\x5e\xa3\x99\xd4\x60\x34\x82\xb1\xb0\x37\x16\x93\xc6\xbd\x2b\x28\x31\x29\xa7\x9d\x89\x0a\x85\x0c\x1d\x69\xb3\x17\x77\x08\x55\xe7\xbc\xd9\x67\x0f\x47\xd7\xe4\x20\x92\x6f\x4a\x2f\x53\x82\x1b\x38\x08\x2b\x4d\x47\x5f\x4b\xbd\x75\x70\x94\x7e\xc7\xe2\x43\x36\xae\x66\xef\x8d\x05\xfc\x2c\x48\xcc\x12\x04\x34\xa2\xab\xd0\x43\x25\x34\x6c\xb0\x97\x8e\x35\x6c\x4e\xa9\xa0\xa4\xde\xce\x82\x3b\x20\x25\x45\x91\x2d\x5f\x5e\xcf\x66\x72\xdf\x1a\xeb\xe1\xea\x67\x89\xc7\x9f\xd0\x19\x75\x40\x7b\x95\x9f\xbe\xeb\xac\xa6\xbf\x67\xd7\xd7\xd7\x65\xe9\xd0\x93\xe2\x69\x84\x87\xac\x89\x08\xa1\x76\x3b\x2e\xf5\x32\x87\xcb\xbc\x67\x31\x03\xbd\x44\x55\xa1\x73\x73\xa1\xd4\x22\x17\x54\xff\xbe\x54\xe3\x06\x86\x8a\xc3\xfd\x6c\x06\x00\x70\x7d\x0d\x6f\x35\xa0\xf6\xd2\xc7\x5d\x1b\x63\x09\x91\xcc\x51\xea\x2d\xab\x40\xfe\xad\xad\x38\x0a\xc5\xc1\x66\x27\x43\x63\xcd\x1e\x44\xc8\x1c\x16\x34\x54\x65\x28\xee\x97\xb8\x3a\x6d\x77\xcd\x40\x8b\x87\x60\x20\x85\xdb\x01\xee\xa5\xa7\x78\x1c\x77\xa8\xd3\x06\x94\xe4\x69\x67\xfd\xc4\x76\x87\xe1\x46\x7a\x4e\x98\x70\x03\x1f\xbd\x95\x7a\xbb\x04\xb1\x37\x9d\xf6\x37\xf0\xe9\xbd\xfc\xfc\xb7\xff\x5f\xb2\xa8\x1b\x78\x5b\xd7\x16\x9d\x7b\x13\xfe\xfe\xf4\xe9\xc3\xf7\x37\xf0\xe9\x83\xf6\xf4\x45\xde\xb6\x7c\xbc\x09\x88\xf0\xb6\xf1\x68\x93\xb8\xc5\xef\x31\xab\xc6\xd6\x38\xe9\x03\x60\x3e\x6e\xd4\xf7\xe9\xd3\x27\x8c\xf2\x66\x68\x92\x37\xa5\xe6\x79\xc3\x17\x19\xf4\xc3\x23\xc6\xec\x10\xb6\xca\x6c\x84\x82\x4d\x67\x35\xec\xd1\xef\x0c\xf7\xb9\x4a\x28\x45\x5f\x51\x4d\x0a\xd0\x46\xbf\xfe\x2f\x5a\x93\xb6\xba\x60\x25\xd7\xce\x53\x26\x8e\xe3\x34\xd0\xf4\xdd\x40\x3a\x15\xdb\x30\x24\x7d\x35\xb0\x25\x6d\xa8\x6e\xd7\x37\xe7\x8c\x6c\xff\xce\xeb\xa8\x04\xb6\xe8\x3d\x55\x40\xd4\x1c\x24\xe3\x04\x97\x6a\xb1\xcf\xd0\x9a\xf3\x56\x91\x54\x83\x7b\xfe\x78\xbc\xe0\x20\x6c\xda\x20\x19\xca\xdf\x3d\xf4\xb6\x25\x38\x7a\x8e\x71\x48\x3a\x56\x11\xb8\x2d\xfe\xd6\x49\xcb\x45\xe8\xd8\xa2\x94\xd6\x84\x75\x49\xc8\xb0\x9a\x19\xc6\x13\xf8\x70\xf1\x9f\x5a\x5c\x9d\xed\xfb\xc1\x43\x26\x0e\x71\xc3\x72\x2f\xa3\x61\xbd\x49\xdd\x73\x87\x16\x97\x79\xed\xa0\x59\x29\x14\xd4\x1c\x4c\x1b\xd3\xa9\x35\xce\xc9\xd8\x1f\x4c\x03\x95\x45\xc1\x4a\xc4\x1e\x11\xe3\x66\x5d\xaf\x3a\x59\x4c\xcc\x83\x09\x0c\xf9\x54\x58\xa9\x4e\x91\x89\x70\x5f\x33\x47\x9d\xdc\xbb\x7a\x49\xd0\x72\x0b\x88\x20\x99\xb6\x7c\x1f\x53\x85\xeb\xd6\xdd\x81\xc8\x6a\x81\x24\x2e\xe6\x5a\xac\x64\x23\xab\x98\xbb\x3d\x5c\x16\x52\xa4\x03\x71\x10\x52\x89\x00\xeb\xd4\x94\x32\xe2\x14\x1f\xde\x06\x9e\x44\x4d\x61\xc3\x3d\xbd\xe9\x14\x6f\x7d\x30\xb2\x86\x56\x68\x59\x91\x87\xb8\x22\xa9\xee\xf8\x8f\x04\xb7\x43\x41\xb9\x66\x73\x32\x3b\xe8\xf4\x9d\x36\xa3\x0d\xdf\xd6\x81\xa3\x08\xa5\x4e\x4b\x32\x89\x03\x93\x4d\x74\xd0\x76\x61\x17\xce\x97\x7d\xa7\xbc\x6c\x15\xc2\x81\x00\x6c\x64\x63\x64\x12\x99\x99\x55\x3b\xac\xee\xc0\x99\x7d\x66\x0c\x61\x15\x74\xda\x4b\xc5\x0f\x6a\x74\xd2\x62\x1d\x9d\x37\x76\x99\x45\x51\xed\xb0\x5e\x42\x6b\x3c\xe5\x27\xe9\x08\x3b\x54\x6d\xb2\x1a\x5a\xb4\x5c\xa2\x39\xda\x69\xf5\x74\xe9\x49\x3c\x52\xed\x83\x74\x6f\x53\x34\x6e\x4d\x6a\x22\xf3\x12\x7d\x16\x37\xf0\xce\x18\x55\x66\x43\x72\x35\xb8\x6e\x13\xc9\xfa\xa3\xe5\x94\x12\xad\x10\x42\x04\xd1\xa2\xef\x2c\xf5\x86\x48\xc4\x32\xa1\xb1\xb8\x37\x07\x6e\x13\x81\xd8\x0c\x16\x8e\x12\xa5\xa7\x8c\xaf\x5c\x34\x13\x14\x1e\x50\x91\xeb\xd6\xd1\xee\x64\xdc\x62\x5d\xac\xfe\x68\x88\x65\x1a\x4b\x31\xa6\xec\x0a\xab\xa5\x5f\x32\xcf\x0b\xf3\x07\x4a\xbf\x43\x9b\x6b\x0b\xcc\xe6\x57\x24\xaa\xe1\x1d\xaa\xa6\x90\x66\x78\xc2\x89\x0c\xa0\x1e\xb0\x4d\xb6\x6a\x9d\x74\x58\x4f\x5b\x33\xd6\x94\x23\x74\xbc\x18\x94\x6f\xef\xd9\x63\x0f\x03\x78\xa5\x1f\x62\xdc\xa3\x47\x61\x23\x58\x5b\x74\x71\x26\x68\x98\x95\x9a\xe8\x68\x8a\x00\x1c\x84\xea\xf0\x6c\x59\x58\xb2\x4a\xb5\xf3\xf5\xd7\xa9\x35\x9d\x7d\x49\x3f\x57\xbf\xf4\x74\x29\xc2\xc0\xbe\x73\x9e\x2a\x98\x76\x72\x62\x8f\x20\x5c\x51\x8d\xb1\x20\x7a\xb6\xc3\x46\x5d\x15\xe2\x1f\x66\xe5\x6f\x83\x0e\x91\x26\x97\x3f\xde\x21\x22\x4f\x98\x68\x10\x52\x47\x4f\x3d\xa3\x41\xfc\x82\x09\x96\xa5\xae\x54\x57\x23\x08\xc8\xe3\x4f\x50\x83\xd1\xa0\x74\x42\x6c\x0d\x59\xca\x11\x79\xa8\xa5\x08\xd1\x18\xf1\x9c\x29\x22\xb8\x21\x4c\x11\x59\x0e\xd1\xfe\xda\xa4\x8f\xa6\x47\x86\x25\x28\x79\x87\xe0\x5a\x25\x99\x75\xef\xa1\x6b\xa9\x32\xb3\x10\x87\xba\x0e\x2f\x68\x02\x91\x0d\xe7\xb4\x87\x56\x85\x81\x07\x9e\xdf\x5a\x52\xb0\xc6\xad\x25\xba\x1e\xbc\xb8\xc3\x1e\x09\x08\x1d\xe2\x1b\xaa\xc8\x0b\x61\x28\x86\xe1\xc7\xca\x8a\x95\xa2\x8a\x8a\x32\xe7\x81\x0b\xa7\x2a\x5a\x94\x2a\x6d\xd1\x7f\xec\x5a\x9a\x6e\xb0\xe6\x0f\x6e\x4f\x2d\xba\x01\x5a\xd5\x92\x11\x47\x58\xee\xd8\x71\x88\xa4\x6f\xce\x10\xee\xb8\x43\xc6\x0f\x76\x39\x4d\xec\xd4\xd8\x3a\x4b\x4e\x54\x27\x70\x69\x17\x1a\xc8\xf8\x70\xa0\x48\xe9\xb1\x01\x19\xb9\xa7\x15\x9c\x2f\x6e\xe0\xfe\x96\xa9\x24\x61\xf6\x43\x69\xd4\x4f\x51\xfb\xa4\x91\xb1\x9c\xa9\x4c\x68\xe5\x81\xda\x64\x54\x8f\x76\x6c\xb3\x4e\x78\xae\x12\x37\xcc\xd0\xc5\x62\x52\x0b\x1d\x57\x81\xd0\xa7\x20\x28\xce\x74\xbf\x12\x02\x44\x90\xf1\xb6\x43\x12\x5a\x63\x93\x89\xff\x45\x13\xa5\x3b\xb7\x30\xf2\x64\xfa\x35\xf5\xa5\x11\x22\xf4\x13\x45\x41\xdc\x6a\x0c\x8d\x9d\x5d\xdc\xa7\x64\x40\x78\x1e\xd8\xfb\xe3\xa5\x6c\xef\x32\x51\xd8\x25\xdc\x5a\xa1\x5d\x83\xd6\xd8\x65\xa6\x48\xe1\xb4\x24\x4d\x95\x3d\xd1\xeb\xfa\xc9\x81\xfc\xdb\x87\xf8\x84\xfe\x25\xf5\xc2\xa6\xdc\x0c\xb4\xe9\x37\xce\x7a\x0d\xe7\xda\x55\xfa\x65\x19\xa6\x0a\xbb\xa2\x7f\x98\x6a\x8d\xc9\x9c\x44\x55\x07\x25\xa9\x7b\xdf\x9d\x61\xb2\x08\xc1\x7d\x36\x71\x2f\xa4\x7f\x17\xe7\x20\x62\x5e\x62\x7c\x7a\x25\x1d\x8f\x4d\x58\xc3\x41\x8a\x70\x54\x15\x95\xa5\xc7\xf3\xc5\x3a\x0e\x54\x85\xc4\x0f\xa3\xe3\x82\x08\x6c\x94\x6a\x1b\x63\xee\xee\x10\x99\x0a\x19\xcb\xa3\x1a\x3f\xe7\xe9\xaa\xac\x46\xb6\x37\x66\xe5\x06\xcb\xa9\x2e\x1a\x4c\xea\xd5\xe8\xbc\x35\x27\xac\x4b\x26\xf5\x23\x49\x1d\x9f\x5b\x1c\xa5\x52\x19\xab\xbb\xb6\x16\x1e\x7b\x6c\x7d\x45\x3d\xd6\x0b\xc5\x19\xa0\x4e\xa5\x2e\x86\xda\xb0\x22\x22\x11\xc2\x90\x01\x39\x9c\x77\x6e\x10\x75\x72\x54\xe0\x49\x81\x0e\x65\x7a\x15\x64\xae\x1e\x75\x13\xe7\x75\x3a\x9d\x74\xe8\x8b\x28\x7b\x03\x61\x3c\xc5\xc6\xd8\xa0\x35\x21\xfd\xe8\x14\xee\x9c\x94\x4b\x66\x0e\xad\x0d\xe3\x6b\xf0\x9a\x39\x6a\x6a\x3e\xac\x9c\x6b\xc5\x7e\xcf\x44\x99\x1a\x54\x18\x6f\x63\x34\x56\xe3\x7c\x4a\xe7\x36\x01\x99\xc9\x5c\xca\x9d\x8d\xa8\xee\xe6\x8b\x31\xaf\xb1\x38\x41\x6b\x38\xdc\xc5\x08\x4d\xa4\x6c\xb5\xc5\x80\x16\x8b\x95\xac\xa9\x51\x34\x92\xab\x35\x52\x28\xfe\x64\x93\x2a\xa8\x9f\xad\xf9\x79\xd7\xc9\x7a\x71\x81\x7e\xc0\x65\x7e\x35\x94\x49\x34\xe9\xab\xd5\x57\x37\x70\x75\x3b\xf0\x77\x62\x42\x1c\x87\xe8\xfb\xba\xb3\xe9\xa4\x69\x68\x7c\x3a\x53\x70\x26\x02\x09\x03\x2c\x61\x09\xad\x27\xff\x62\x7d\x89\x22\x9d\x2b\x43\xba\x0c\x18\xd4\x1f\xe9\x73\x87\xbe\xcf\x8d\x7a\x1b\x4f\x29\xb1\xbd\x87\x46\xe0\xe2\xd9\x68\x8d\x9f\x29\x01\x47\xed\x99\x09\x5a\x6c\x03\xa3\xaa\x02\x46\x68\x66\x4f\x35\xcf\xd0\x79\x74\x8e\x63\x93\xb0\x08\xf8\xb9\xc5\xca\x63\x3d\x2e\x2a\x9e\xbc\x72\xff\xea\x47\x61\xda\x7f\x19\x1c\x8a\xa7\x50\x62\xba\xaf\x8d\x38\xe7\xf1\xfd\x44\xa1\x4b\x21\x9e\x68\x22\x5b\x7a\x56\x1c\x7f\xa0\x45\x8f\x72\xe9\xfa\x1a\xde\xa1\x32\xc7\x38\x34\x92\x2b\x06\x87\xb6\x89\xf6\xb9\xce\x46\x52\x6b\x3b\xfd\xda\xcb\x7d\xa4\x16\xdc\xce\xc6\xf2\xd8\x25\x5b\x4c\x4d\x78\x78\x8e\xd5\x0a\xe6\x72\xb9\xf7\xc4\x1e\x18\x49\x62\x79\xe1\xb3\x0a\x37\x0a\x2b\x28\xe4\xcb\xe6\xac\xe2\xdc\xc7\x6e\x43\xda\xcc\x4d\x13\x3a\xf5\xdf\xbf\xbd\x9f\x90\xf4\xf0\xcd\x7c\x31\x2e\x72\xe0\x91\x83\xa9\xc2\x7d\x29\xf6\x86\xb9\x43\x99\xe6\x0f\x80\xca\x4d\xa1\x42\xe6\x3a\x3c\x8e\xed\x5b\x7f\x1a\xe6\x71\x9c\x40\x52\xf2\xf1\xe0\xc3\xb1\xcd\x6e\x38\xee\x0c\xd4\x46\xbf\xf2\x53\x92\xfb\x33\xea\x49\xff\x2c\xc1\x75\xd5\x8e\x36\x29\x5f\x7f\x3c\x4a\x5f\xed\x36\x46\xd8\x7a\xbd\x84\x35\x3f\x7b\x6f\xec\x51\xd0\xec\xb9\x06\xf4\xd5\xea\xa2\x2b\x1e\x2e\x8e\x43\x65\xdf\x0d\x93\x45\x3c\xbb\x28\x29\xdd\x39\xcf\xfc\xf9\xcf\x62\x60\xa3\x00\x44\xa5\x53\xf8\x26\x4b\xe0\x5f\x24\xe4\x3f\xf0\xe6\x0d\x34\x42\x39\xbc\x64\xd0\xc4\x29\xc3\x3a\x80\xf8\xba\x6f\x84\x2c\xf7\x95\x2b\x8e\x59\x61\xf2\x84\x41\xe3\x71\x7c\xca\x90\x04\x93\x5f\xce\xd7\xff\xd9\xa3\xf9\x64\x0b\x2b\xc0\xfa\x9b\x27\x06\xec\xb7\x61\xaa\xee\xc7\xe5\xd4\x55\x14\x3a\x1e\xfe\x34\x93\xa0\xdf\x3a\xa1\xc2\x5f\x13\xb3\xf6\xa3\x13\x36\x5c\x6e\x71\xf1\x2c\x20\x97\x24\xb5\xb9\x71\x91\x5e\xfd\x38\x64\xfb\x69\xe6\xef\xdb\x06\xd5\x05\xad\xb9\x9a\xaa\x2c\x82\x78\x5e\xd3\x62\x25\x85\xca\x30\x0b\xeb\xc0\x51\xd6\x3c\x10\x47\x1a\x13\xca\x36\x9a\xd4\x9f\xb9\xf2\x95\xdd\x94\xf0\xc8\xb1\x36\xb8\x95\x5a\x33\x59\x2c\x89\x4e\x7f\x11\x39\xb1\xfa\xc9\x76\x1f\x14\x9c\x0f\x1f\x2f\xe0\xf5\xe3\xb1\xfc\x47\x4e\xc7\x31\x45\x60\x78\x8a\x93\x76\x1f\x37\xa2\x5c\x7c\xf7\x97\x3e\x17\x61\x30\x1f\x1f\x9e\xa4\xf7\xe7\x3e\x66\xb6\xd4\xdf\x15\x4d\xaa\x45\x3f\xa1\xc4\xc7\xf1\x1e\x72\xa9\x8b\x4b\x53\x2d\x84\x7f\x2f\x7f\x17\xa6\x6f\xf6\x17\x93\xc7\x37\x2b\x11\xae\x70\x1e\x5f\x32\x22\x6a\x97\x3f\x1e\xdd\x63\x45\x5b\x1e\x5f\x53\xde\x09\x0d\x63\x79\xb6\xe4\x12\x43\x7c\x78\xee\xc9\x86\xa8\x6b\x07\xd2\xbb\x21\x1d\x3f\xab\xd5\x33\x94\x7e\xc9\xb9\xc6\x54\xcb\x1d\xf7\x5b\x1a\xe3\x9d\x43\x3b\x18\x42\x2a\xa3\x2b\x8b\x3e\x12\x8a\x98\x7a\xfd\xad\x5d\x9e\x92\x52\x71\x8f\xe5\xc5\xee\x3a\x38\x1b\xc8\x07\x0a\x89\xea\x46\x69\xcf\xc0\x46\xb2\x65\x25\xdd\x07\xed\x3c\x79\x65\x5e\xc2\xcd\xe2\x06\xa6\x2b\xeb\xbb\x40\x96\x93\xf7\xf9\x7f\x9d\x54\x66\xdf\x0a\x3f\x18\x44\xc9\xbe\xdf\x81\x82\x5c\x43\xfd\xd5\xe4\x13\x35\x14\x71\x81\xed\x98\x2a\xa4\xc5\xd3\x95\x34\x14\x91\xa0\xe5\xf2\x2a\x6f\x5e\x58\x55\xe9\xbe\xf4\x19\x35\x35\xba\x4a\x1d\x2a\xc6\x53\xd3\x5f\x50\x59\xf0\x5c\xac\xfd\xbf\x49\x3f\xfd\x2e\xe4\x75\xdd\xfe\x49\xc8\xed\x0b\xe2\x89\xf3\xea\x02\x0e\xf8\x62\x0f\x7f\x20\x42\x1a\x91\x40\x29\x73\x74\x7c\x5e\x11\xfe\xdb\x8a\x89\xdf\x14\x6c\x85\xab\x68\x27\x08\x40\xce\x2e\x94\xe1\x09\x54\x18\x6f\x39\x7f\xf1\xcd\xc1\xf9\x15\x40\x3f\xdb\x6a\x3c\xaa\x53\xdc\x23\xba\x22\xb8\x92\x07\xac\xa1\xb2\xe7\xcd\xe8\x59\x74\xe2\xe9\x4d\x32\xc9\x48\xf4\x82\x41\x2c\xdd\xa0\x1e\x5e\x74\x9b\xf0\x17\xc4\x67\xea\xa8\x6f\x32\x2e\x87\x44\x8f\x33\xb7\x9e\x86\xf0\x41\x84\x26\x02\x36\xe5\xd4\x81\x64\xf6\x67\x1e\x03\x03\x46\xe7\x0b\xed\xbd\xf0\xd5\xae\xb8\x8d\x3c\x87\xc8\x3f\x3b\x19\x52\x08\x1e\xfe\x17\x00\x00\xff\xff\x9b\x3d\xb9\xb6\x89\x28\x00\x00"
 
 func fungibletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -115,7 +115,7 @@ func fungibletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0xe4, 0x49, 0x30, 0x9e, 0xd3, 0xb8, 0xa5, 0x83, 0x72, 0xbc, 0x60, 0x84, 0xa4, 0xfb, 0xa, 0x6e, 0x88, 0xc9, 0xf9, 0x0, 0x1f, 0xc4, 0x40, 0x4e, 0x95, 0xf, 0x75, 0xfd, 0xaa, 0x86, 0x5d}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x51, 0xaa, 0x44, 0xc5, 0x28, 0x30, 0x92, 0x83, 0x68, 0x3a, 0xfb, 0x0, 0x6, 0x8c, 0x53, 0x14, 0x5, 0xb8, 0x85, 0x4c, 0xfc, 0xe8, 0x77, 0xce, 0xb2, 0xf1, 0xc3, 0x90, 0xe7, 0x81, 0xe4, 0xbe}}
 	return a, nil
 }
 

From f0384c47968bc92f3526e0c45290aff38b000c12 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 24 Apr 2024 16:16:34 -0500
Subject: [PATCH 112/115] add forwarding addresses

---
 flow.json | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/flow.json b/flow.json
index 78f2917f..5e9020fd 100644
--- a/flow.json
+++ b/flow.json
@@ -48,6 +48,7 @@
       "source": "./contracts/utility/TokenForwarding.cdc",
       "aliases": {
         "emulator": "0xf8d6e0586b0a20c7",
+        "testnet": "0x51ea0e37c27a1f1a",
         "testing": "0x0000000000000007"
       }
     },
@@ -136,6 +137,11 @@
         "FungibleTokenSwitchboard",
         "TokenForwarding"
       ]
+    },
+    "testnet": {
+      "testnet-forwarding": [
+        "TokenForwarding"
+      ]
     }
   }
 }

From 3ff4c0fe2a1e2beea604f3bb7f75a21a2c0e5090 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 24 Apr 2024 16:18:59 -0500
Subject: [PATCH 113/115] fix capabilities get in switchboard

---
 contracts/FungibleTokenSwitchboard.cdc     | 61 ++++++++++------------
 lib/go/contracts/internal/assets/assets.go |  6 +--
 2 files changed, 32 insertions(+), 35 deletions(-)

diff --git a/contracts/FungibleTokenSwitchboard.cdc b/contracts/FungibleTokenSwitchboard.cdc
index a215b796..158e733e 100644
--- a/contracts/FungibleTokenSwitchboard.cdc
+++ b/contracts/FungibleTokenSwitchboard.cdc
@@ -96,23 +96,22 @@ access(all) contract FungibleTokenSwitchboard {
             // For each path, get the saved capability and store it 
             // into the switchboard's receiver capabilities dictionary
             for path in paths {
-                if let capability = owner.capabilities.get<&{FungibleToken.Receiver}>(path) {
-                    // Borrow a reference to the vault pointed to by the capability
-                    // we want to store inside the switchboard
-                    // If the vault was borrowed successfully...
-                    if let vaultRef = capability.borrow() {
-                        // ...and if there is no previous capability added for that token
-                        if (self.receiverCapabilities[vaultRef!.getType()] == nil) {
-                            // Use the vault reference type as key for storing the
-                            // capability
-                            self.receiverCapabilities[vaultRef!.getType()] = capability
-                            // and emit the event that indicates that a new
-                            // capability has been added
-                            emit VaultCapabilityAdded(type: vaultRef.getType(),
-                                switchboardOwner: self.owner?.address,
-                                capabilityOwner: address,
-                            )
-                        }
+                let capability = owner.capabilities.get<&{FungibleToken.Receiver}>(path)
+                // Borrow a reference to the vault pointed to by the capability
+                // we want to store inside the switchboard
+                // If the vault was borrowed successfully...
+                if let vaultRef = capability.borrow() {
+                    // ...and if there is no previous capability added for that token
+                    if (self.receiverCapabilities[vaultRef!.getType()] == nil) {
+                        // Use the vault reference type as key for storing the
+                        // capability
+                        self.receiverCapabilities[vaultRef!.getType()] = capability
+                        // and emit the event that indicates that a new
+                        // capability has been added
+                        emit VaultCapabilityAdded(type: vaultRef.getType(),
+                            switchboardOwner: self.owner?.address,
+                            capabilityOwner: address,
+                        )
                     }
                 }
             }
@@ -166,20 +165,19 @@ access(all) contract FungibleTokenSwitchboard {
             // For each path, get the saved capability and store it 
             // into the switchboard's receiver capabilities dictionary
             for i, path in paths {
-                if let capability = owner.capabilities.get<&{FungibleToken.Receiver}>(path) {
-                    // Borrow a reference to the vault pointed to by the capability
-                    // we want to store inside the switchboard
-                    // If the vault was borrowed successfully...
-                    if let vaultRef = capability.borrow() {
-                        // Use the vault reference type as key for storing the capability
-                        self.receiverCapabilities[types[i]] = capability
-                        // and emit the event that indicates that a new capability has been added
-                        emit VaultCapabilityAdded(
-                            type: types[i],
-                            switchboardOwner: self.owner?.address,
-                            capabilityOwner: address,
-                        )
-                    }
+                let capability = owner.capabilities.get<&{FungibleToken.Receiver}>(path)
+                // Borrow a reference to the vault pointed to by the capability
+                // we want to store inside the switchboard
+                // If the vault was borrowed successfully...
+                if let vaultRef = capability.borrow() {
+                    // Use the vault reference type as key for storing the capability
+                    self.receiverCapabilities[types[i]] = capability
+                    // and emit the event that indicates that a new capability has been added
+                    emit VaultCapabilityAdded(
+                        type: types[i],
+                        switchboardOwner: self.owner?.address,
+                        capabilityOwner: address,
+                    )
                 }
             }
         }
@@ -359,5 +357,4 @@ access(all) contract FungibleTokenSwitchboard {
         self.PublicPath = /public/fungibleTokenSwitchboardPublic
         self.ReceiverPublicPath = /public/GenericFTReceiver
     }
-
 }
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index 7aa26370..b4c7640c 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -3,7 +3,7 @@
 // ../../../contracts/ExampleToken.cdc (9.619kB)
 // ../../../contracts/FungibleToken.cdc (10.377kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.596kB)
-// ../../../contracts/FungibleTokenSwitchboard.cdc (18.111kB)
+// ../../../contracts/FungibleTokenSwitchboard.cdc (17.944kB)
 // ../../../contracts/utility/Burner.cdc (1.997kB)
 // ../../../contracts/utility/MetadataViews.cdc (25.493kB)
 // ../../../contracts/utility/NonFungibleToken.cdc (10.577kB)
@@ -139,7 +139,7 @@ func fungibletokenmetadataviewsCdc() (*asset, error) {
 	return a, nil
 }
 
-var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\x5f\x73\xdb\xb6\xb2\x7f\xf7\xa7\xd8\xf8\xe1\x46\x9a\x71\xe5\x3e\xdc\xb9\x0f\x9e\xb8\xf9\xd7\x9b\x4e\x5f\x7a\x3b\x89\x7b\xf3\x90\xc9\x8c\x21\x72\x69\xe1\x98\x02\x38\x00\x28\x45\xcd\xf8\xbb\x9f\x59\x00\x24\x01\x12\xa4\x28\xc7\x6d\xcf\x39\x53\x3d\x24\x96\x44\x2c\x76\x17\xbb\xfb\xdb\xc5\x02\xe2\xdb\x4a\x2a\x03\xe7\xef\x6a\x71\xc7\xd7\x25\xde\xc8\x7b\x14\xe7\x67\x67\x97\x97\x97\x70\xb3\x41\xc8\xa4\x30\x8a\x65\x06\xcc\x86\x19\x60\x65\x29\xf7\x1a\x98\x00\x96\x65\xb2\x16\x06\x8c\x04\x85\x19\xf2\x1d\x42\xc5\x0e\x5b\x14\x46\x03\x17\xb0\xad\x4b\xc3\xab\x12\xa1\xf0\x74\x2d\x41\x43\xc4\x35\xd4\x9a\x8b\x3b\x60\x40\xff\x95\x08\xb7\x5f\xa3\xc9\x57\xef\x1d\x3d\xf5\x70\x0b\x19\xab\xd8\x9a\x97\xdc\x1c\x56\x9e\x23\xae\x83\x0f\x41\x6f\x64\x5d\xe6\xc0\x73\x64\x65\x79\x80\x35\x82\x36\x52\x61\x0e\x8c\x18\x46\xb0\x83\x6e\x23\xf2\x1f\xf6\xdc\x64\x9b\xb5\x64\x2a\x6f\x67\xfa\xb5\x5e\x97\x3c\xfb\x95\x99\x0d\x5c\xc3\x65\x65\xdf\x5d\xfe\x84\x02\x15\xcf\xde\xdd\x34\x4f\xdd\x5a\x6a\xeb\xda\x00\x37\x90\x31\x11\x4e\x27\x0e\xfb\x0d\x2a\x74\x5c\x9e\xb1\x2c\x43\xad\x17\xac\x2c\x97\x9d\x02\xc7\xb8\x80\xaf\x67\x00\x67\x00\x00\x97\x97\xf0\xc1\x48\xc5\xee\x10\x98\xc8\xc1\x71\x05\xc4\x96\xb6\xdf\x87\x64\x4b\x34\xcd\xc3\xf4\xc0\x55\xf8\x26\xf9\x70\x27\xe3\x55\xf0\x77\xf2\xd1\xa1\x5a\xa2\x21\x83\x31\x28\x0c\x37\x25\xd2\xe2\xc3\xff\xed\x05\xaa\x33\x2f\x8e\x33\x21\xdc\xd1\x17\xd6\x7e\xb8\x06\xdc\x72\x63\x30\x87\xfd\x06\x05\x30\x10\xb8\x87\x1d\xab\x4b\x13\x2e\x2b\xd7\xc0\xf2\x1c\x73\xb2\x2e\xd6\xd2\xd2\x81\xce\x14\x6a\x59\xab\x0c\x57\xed\xb7\x43\xae\xec\xb4\xff\x4f\xb4\xdf\xb6\xa4\x5f\x13\xd9\x85\x39\x54\x78\x05\x37\x87\x0a\x2f\x42\xaa\x96\xf7\x2b\x78\x9d\xe7\x0a\xb5\x7e\x79\xe1\x68\x1e\x7b\x75\x7c\xf7\xc6\x2f\x4f\x50\x43\x4a\x05\x0a\xb7\x72\x87\x39\x14\x4a\x6e\x81\xc1\x93\xea\xe1\xbd\xa3\x1d\x69\xe2\xdb\x55\xf1\x64\xea\xc8\xb1\x92\xda\x7b\x99\x90\x86\x3c\x2d\x93\xdb\xaa\x44\x83\xf9\x51\x51\x7f\x91\xe6\x6d\xf3\xf0\x8f\x8e\x50\x24\x27\xdb\x52\xe4\xba\x82\xdf\xde\xf1\x2f\xff\xf3\xdf\x33\x45\x1b\xd7\x4d\x4f\x2e\x2e\x0c\xaa\x82\x65\xe8\x64\x43\x51\x48\x95\xa1\xb6\xe1\x68\x8b\x66\x23\x9d\x55\x53\x20\xa5\xb0\x21\x05\xd2\xfb\x6c\x83\xd9\x3d\x48\x41\x8f\xb5\xe4\xd8\x8e\xf1\x92\xad\x4b\xec\x94\xca\x51\x83\x2c\x28\x76\x26\x8c\xc0\x46\x0d\x56\x6a\x09\xf8\xa5\x92\xda\x4f\xda\x92\x6b\x94\xea\xb8\xd0\x34\x6d\xf3\x51\x51\x8b\x5c\xd3\xf4\xdc\x4c\xa8\xb7\x9d\xa7\x93\x31\x88\x63\x3e\x5c\x7d\x6d\xd5\x19\x0e\xdd\x71\xdc\xd3\x2c\x70\x87\xc6\x9a\x22\x2d\x85\xfe\xc8\xcd\xc6\xab\x71\xb1\xbc\x82\xaf\x37\x76\x95\xfc\x27\x0f\x47\x09\x7d\xa8\x2b\x02\x2f\xcc\x3b\x8a\x01\x99\x37\x52\x96\x47\x68\x70\x3d\x24\x11\x98\xca\xd2\x11\x49\xd2\xa0\xe1\x5e\x7b\x0b\x72\xd0\x2b\x78\xd5\x83\x31\x4b\xf1\x61\x39\x3a\x5a\xb3\x02\x7f\x9c\x43\x61\xec\x8b\x97\xd3\xc2\x11\xfd\x37\x52\x29\xb9\x7f\x73\x18\x0a\xf6\x5f\x63\xa0\xeb\xa8\x3e\xc4\x46\xdd\xae\xbc\xb5\x69\x0b\x7a\xde\xa2\xfb\x38\xef\x30\xbe\xc9\x09\x54\x67\x7d\xa1\x09\x5f\x38\xfb\xa7\x2c\x80\x88\x48\x72\x28\xeb\x15\x79\x6e\x6d\xd8\x45\x3e\xfa\x6e\xeb\x6c\xba\xf5\x93\x81\x31\x33\x71\xe8\xcf\xcd\xb6\xd2\x13\xee\x1c\x88\x64\xd7\x73\x4c\x3b\x30\xe8\x2b\x48\xab\xe8\x62\xca\xea\xdb\x35\xa1\x69\x7e\xe4\x99\xe1\x52\x30\x75\x80\x8d\x2c\xf3\x46\xde\x31\x5d\xc5\x2a\x8a\x28\x71\x91\xe3\x17\xcc\x61\x7d\x48\x51\x70\xe8\x41\x32\xae\xa2\x51\x7d\x03\x69\x72\x91\x25\xec\x98\x6a\xe7\x7d\x1b\x4c\xdb\x7a\x4f\x07\x15\x2f\x46\x4d\xe5\x07\x6f\x25\xcd\x74\xaf\xf3\x5c\x7b\x48\x3f\x2a\xe2\x81\x56\x93\x44\x09\x03\x59\x44\x2d\x86\xb6\x81\x48\xf4\xe6\x55\xc5\x14\xdb\x06\x44\xaf\x5c\xce\x1a\x4d\xe2\x62\x21\x30\xc8\x50\x19\xc6\x45\x97\x92\x86\xa4\x42\x45\x06\x51\xd1\xae\x1f\x98\x8d\x92\xf5\xdd\x66\x2a\x53\x25\xc7\x88\x08\xee\x79\x59\x12\x6e\xb5\x89\x4c\x4f\xd8\xe9\x95\xb2\x18\xe3\xe2\x04\xcb\xf3\x5f\x70\x6f\x5d\x7e\x11\x4a\x3a\x6b\x85\x96\x41\x3c\x76\x73\x81\x8b\x09\xc0\x40\x61\x81\x0a\x45\x86\x0d\x77\x4e\xfa\x4a\x52\x78\xb7\x2c\x7b\x6b\x0b\xf4\xb9\x47\xe8\xd3\xdb\x33\x57\x06\xd8\xa8\x00\x5c\x68\x9e\x63\x5f\xd8\x68\x0c\xa5\x98\x76\xaa\xf7\x58\xc0\x75\x98\xe3\xaf\x2d\x6b\x8b\xe5\x38\x24\xbf\x7c\x09\x15\x13\x3c\x83\xc5\xf9\x5b\x26\x6c\x6a\xe0\xc4\x89\x84\x71\x82\xd8\xbc\xa9\xa3\x7e\xbe\xec\x73\xfe\xd6\x82\x2e\x2f\x88\x5b\x62\x9d\x8c\xb7\x52\xb8\xe3\xb2\x8e\xaa\x8c\x42\x2a\x30\x54\x79\x58\x23\xb9\xa0\x11\x42\x9a\x88\x1a\x2f\x60\xa1\xb1\x2c\x56\x29\xa7\xfa\xd4\x48\xbb\xba\x43\x87\x31\xcb\xcf\x70\x7d\x0d\x82\x97\xfd\xf5\xf1\x9c\xd5\x1a\x83\x15\x09\x64\x3b\x54\x08\x4c\xc3\x3d\x3a\xae\x48\xe7\x4d\x54\x49\xd1\x09\x84\xa0\x38\x6a\x36\x28\x06\x8f\x9d\xc8\x76\x40\x33\x35\x23\x25\x72\x96\x9d\x30\xbf\x13\x39\xcf\x98\xb1\x90\x41\x45\xa4\x8d\x10\x01\x6b\x1b\xa6\x61\x8d\x28\x92\x22\x58\xff\x19\x7c\x61\xa7\x99\xc8\xed\x87\xac\x5f\xcc\xce\x60\x1b\xbd\x0c\x32\x3e\xab\x29\x0b\x56\x2f\x57\xcc\x25\x29\x27\x24\xc6\xed\x6b\x90\x21\x07\x1e\xe0\xc9\xc6\xa6\xfa\x00\x58\x6a\x4c\x5b\xca\xcf\x8d\xf5\xee\x99\x06\x56\x2a\x64\xf9\x81\x62\x5d\xdf\x7a\xa9\x20\x76\xd6\x6b\xfd\x67\x40\xca\x7e\xba\x38\xbf\x69\x3d\xa1\x25\xe5\x6c\x90\xdb\xd4\x34\x44\xbe\x9e\x5b\xf4\xdc\xab\xcb\xbc\x46\x40\xa2\xde\xae\x51\x51\x2e\x3b\x0b\x2e\x28\xef\x5d\x1f\xdc\xce\x41\x1c\xb7\x37\x08\x15\x55\xc8\x60\x0b\x70\x7a\x7f\x00\xa6\x9a\xca\x3c\x8e\xb2\x89\x57\x0a\x4f\x2c\x3d\x07\x25\x3d\xd2\xe0\xf6\x06\x62\xbe\xc6\x66\xf3\xd4\xfc\x92\x3a\x7a\xfe\x0d\xc9\xdd\x65\x3e\xfe\x4d\x48\xf4\x31\xe8\xa0\xdf\x1c\xa8\x3e\x5f\x78\xf6\x3f\x75\x25\xfb\xe7\x8b\x8e\x0b\x9f\x5d\x27\x80\xe1\x27\x74\x9e\xdb\x6c\xed\xcc\x95\x7a\x10\xdc\x9d\x54\xd7\x94\xa2\xbf\x76\xb4\x16\x49\xbb\xbe\xbc\x84\x77\x52\x01\xb2\x6c\x63\x15\x7d\x41\x23\x1c\x74\x30\x2a\x7c\x7b\xd1\xcb\x03\x8c\x19\x20\x10\x17\x43\x78\x7d\xae\x47\xac\x28\x6f\x73\xb2\x88\x0c\x19\x33\xf1\x40\x86\xee\x16\x7d\xe8\x6e\xbc\xb0\xe2\x05\x6c\x5d\x3b\x59\x57\xd1\xd2\xdd\xa1\x99\x40\x64\xbb\x3c\xa9\xb0\x0f\xdf\x0e\xcf\x63\x34\xf7\x78\x3a\x4a\x07\xc3\x5d\x8c\xf1\xf3\x53\x9c\x71\x98\x8b\x39\xe8\xda\x1a\x64\x51\x97\xe5\x61\xb5\x5a\x25\x09\x78\xad\x1d\x41\xfc\xb4\x3e\x3c\x03\xab\xd5\x8a\x0c\x20\x44\x6a\x21\x93\x50\xed\xb2\xad\x38\xe4\x8d\x52\x9e\x07\xda\xcf\xe6\xa1\x76\x8f\xe5\xdf\x4e\x47\xf0\x63\x24\x8f\xac\x73\xf3\x3a\x55\xa2\xb9\x74\x09\x8b\x45\x3e\x1b\xe0\xe7\x4b\xd3\xe1\x7f\x1a\xeb\xc3\xd7\x1f\x81\xfb\xf3\x80\xfe\x28\x99\x01\xac\xcf\x1a\xb9\x1c\xfd\xf6\x21\xf9\xcd\xf0\xd3\x87\xd3\x70\xf7\x69\x8b\x33\xd0\x15\x66\xbc\x38\x90\x09\xef\x37\x3c\xdb\xc0\x2d\xa9\xfd\x96\x30\xed\x36\xbd\x6d\x71\xdb\xec\x9d\x47\x04\x7d\xcd\xe5\x02\x1b\x37\x2b\xeb\x40\xdc\x86\x2c\x2e\xb2\xb2\xce\x29\x68\xc1\x41\xd6\x2a\x62\xea\x7c\xaf\x58\x55\xa1\x3a\xef\x71\xe7\x24\xd2\x14\xa0\x36\xe4\x6e\x0c\x6e\x5f\x59\x26\xde\x49\xb5\x67\x8a\x4a\xf1\x95\xff\x13\xd5\xed\x0a\x7e\x76\x7b\x8d\x76\xf3\x6c\x1d\x57\x86\xb5\x76\x4c\xc9\x1d\xaa\xbd\xe2\xc6\xf9\xb5\xf3\x63\x63\x58\xb6\xf1\xfb\xd4\x6d\x7d\x19\x96\x4b\xdc\x6c\x64\x6d\x62\x51\x37\x6c\x67\x3d\x5e\x76\xfb\x1c\x2c\x42\x95\x82\x2b\x6d\xa2\x0c\xe0\x3f\xb3\xea\x4d\x49\xe5\x37\xa9\x1a\x0d\xcb\xa2\x6f\xad\x5e\x59\xd6\x82\x22\xa3\x19\xf0\xd2\x29\xe4\x02\x14\x23\xe4\xa0\x67\x5c\x1e\xeb\xad\xd4\x96\x88\xc6\x6e\x70\x35\x01\xba\xc5\x36\xfa\x2e\xa2\xa7\x19\xcf\x53\xc1\x72\x7e\x86\xf6\xd1\x19\xeb\xe9\x65\xfc\x63\xca\x8c\x91\x57\xb0\x0b\x38\x4c\x01\xc3\x8a\xb8\xd7\x8d\xd8\x4b\x75\x1f\x26\xdf\x56\x58\xad\x51\x85\xbb\x12\x2b\xbb\x8f\xbd\x58\x5e\xc0\x16\xb5\x66\x77\x78\x05\xe7\x2e\x8d\xd6\x3a\x4e\xe8\x2c\x84\x53\x56\x50\xf2\x7c\x58\x99\x37\xe8\x69\x6d\xc0\x1a\x06\x1a\x54\x21\x6e\x4e\x24\x3e\xe3\x00\x48\xe4\x26\x10\xef\x49\xcb\xd7\x64\xe9\x3a\x0e\x5f\x83\xf5\x75\xeb\x44\xff\x0e\x01\xe4\x91\x88\x35\xa3\xf0\x8c\x07\x2d\x27\xc1\xe4\x77\x54\x12\xa4\x82\x2d\x65\x94\xb3\xab\x38\x1f\x13\xe2\x90\x98\xec\x66\x8c\x40\x8b\x9e\xc2\x16\xdd\x23\x9c\x0a\x14\xff\x26\xe8\xa2\x23\x78\x19\x80\x0b\xe9\x72\x2e\xbc\x10\x12\x44\x03\x87\x08\xd3\xb7\x15\xf8\x53\x6a\x63\x2b\x67\x17\xee\xdb\xba\xb8\x1f\xf3\x65\xbc\x88\x52\x74\x45\xe3\x5f\x5b\x73\xfb\x88\x3e\x59\x7a\x7b\x21\x3f\x91\xf5\x7e\x7e\x92\x48\xfe\x77\x31\x7f\xbc\x98\xe7\x17\x7f\xd7\xf3\x23\xc3\xff\xf2\x7a\xfe\x11\xc5\xf1\x9c\x2a\x75\x1a\xf8\xf5\x27\xfe\x79\x66\xb9\x7b\x62\xa9\xfb\x88\x5a\xf6\x84\x44\x20\x7c\x75\x49\x01\x49\x33\x5d\x59\x3e\x41\x59\x7b\x7a\x49\x9b\x2e\x67\x1f\x5d\xb4\xba\x63\x2a\x04\xb0\x33\x6a\xd6\x36\x99\x4f\xb9\xc0\x53\x76\x14\x07\xdc\xf8\xfe\xeb\x00\xdc\xa3\x13\x3c\x8f\xed\xff\x39\x22\xff\xfa\xfd\x3f\x9f\x6d\x4c\xae\x02\xcc\x6a\xff\xfd\x39\xdd\xbf\xd1\x20\x24\xa1\xe0\xae\x59\xd6\x5b\x77\x27\xe1\xbc\x5a\x63\xe5\x1e\x5e\xdc\xe3\x21\xb5\x2b\x35\xe0\xe6\x7f\x9f\xb2\xf0\xf0\x76\x77\xb4\xf4\x68\x4e\x81\x8d\x14\x1f\x73\x36\xd3\xfe\x8a\x52\xa4\xf9\x2b\xf2\xa0\x1b\x76\x9f\x0a\x14\x6e\x75\xed\xa1\x12\x59\x93\x2a\x5d\xd6\x6f\x13\x21\x25\x2b\x54\xdd\x80\xc4\xce\x48\x32\xcc\x48\xd5\xa4\xa2\x84\x4d\xdc\x1c\x0f\x27\xee\x78\x0f\x05\x92\x2e\x87\x4d\xf2\x79\x24\x42\x3d\xea\x00\xd2\x78\x6e\x98\x8a\x9d\x52\xa0\xee\x1d\xa2\x9d\x72\xe4\x56\x9e\x9e\x65\xc1\xf5\x04\x1a\xd3\x64\xc1\x16\xf4\xc0\x38\x02\x37\x8f\x75\xe6\x5b\x91\x6e\xeb\xa0\x3b\xdc\x63\xf7\xaa\xb8\x0e\x19\x3d\x5f\x9e\x8d\xc4\xbd\x78\xb7\xc7\x9b\x42\x8e\x9a\xab\x66\x82\xa9\x68\x35\x26\xef\x78\xec\x8a\x63\x16\x04\x41\x2b\x11\x81\xdb\x78\xd4\xe7\xbf\x75\xc5\x78\xc9\x5f\x7c\x47\xff\x8f\x96\xe9\x47\x7d\xc2\x28\x5f\x92\x5b\xe7\x18\xf8\x46\x44\x6c\x0e\x02\xc7\xae\xe1\x2b\xb9\xbc\x7f\x98\x89\xed\x24\xb7\x87\xa1\xac\x62\xee\xad\x17\x85\x29\x69\x7f\x81\xc7\x0b\xd5\x94\xb3\xed\x9a\x93\x7c\xf1\x36\xa2\x65\xc6\x34\x50\x4d\xf1\x94\x80\x4b\xfb\xda\x32\xbd\x17\x3d\xe5\xd9\x0a\x4d\xad\xc4\x29\x4e\x7d\xd1\xd6\xeb\x61\xb3\xc7\xab\x36\xd7\x8d\x0e\x9a\x7d\x58\x4a\xcc\xbb\x7c\xfc\x02\x6c\x3e\xcc\xcb\xd2\x9e\x28\x67\x5c\x44\x1a\x8e\xc8\x79\x42\x03\xeb\x12\x88\x79\xeb\x45\x44\x9e\xb4\x5c\xc8\x5a\x1c\x49\x46\x9e\xf0\xc8\xe2\x30\x18\xdd\x28\x8b\xad\x4d\xb1\xe8\x83\xf2\xe0\x3c\xf4\xd1\xb4\xa2\xab\x6b\x22\x67\x26\x63\xaa\x14\x6a\x02\x55\x77\xbc\x36\x4a\xc2\x7a\x35\x8e\xaf\x6d\x9e\x22\xaa\xa5\x8f\x6b\x7c\x44\x30\x4e\xe0\xf1\x20\x10\xe4\x2f\x47\x0a\x1f\x27\xf3\x1e\xdd\x36\xd7\x34\xc1\x54\x39\x37\x2c\xe5\x8e\xc6\xb7\xf1\x42\xf7\x63\x67\xba\xad\x59\x92\xca\xed\xb6\xf9\x30\xb0\x36\xaf\xc9\xc8\xb6\x22\x8f\xc9\x15\xdb\x2f\x9a\x43\xdb\xf6\xd3\x35\x2b\x99\xc8\x70\x39\x8c\xb6\x63\x75\x85\xe7\x91\x17\x5d\x9b\x83\xf1\xd2\xb7\x8a\xb5\xdc\x92\xb7\x30\x2d\x45\xdf\x1a\xc2\xe9\xe0\x07\xf8\x7e\xf5\x7d\x42\x01\x36\xb5\x4a\x9d\x3a\x4f\x0a\xec\x72\xab\xd8\x5a\xd2\x05\x55\x4a\xe6\xf4\x93\x8f\xcc\xc2\x86\xfa\xf3\x51\xcd\x69\x7f\x42\x97\x39\x6a\xa3\xa4\x77\xcb\xb3\x04\x05\xc1\xcb\x31\x54\xb2\x4d\x06\x9f\xd3\xf6\x93\x6c\xde\x34\xd3\x6c\xd8\xe6\xda\x35\x08\x8e\x35\x8d\xe6\x84\xfc\x7d\xbc\x0b\x7a\xb0\xd1\xb0\x09\xff\xb6\x6d\x81\x13\xf3\x78\xa9\x18\xac\xa5\x2c\x91\x09\xd8\x32\xdb\x0e\x19\xe4\x51\x52\x35\xcc\x33\xcf\x3c\x05\xee\xf0\xb8\x60\xf2\xb0\xb6\x65\xa0\x29\xdb\x52\xe7\xb5\xdf\x48\x59\xf6\x4c\x8f\x17\xc7\x5b\x1d\xf6\xb8\x42\xc2\x64\xbd\x3c\x05\x2b\x35\xf6\x96\x39\xb5\x9a\x47\xe6\x79\xd6\xf4\x7d\xc6\x96\xfc\x27\x34\xda\x63\x92\xcf\x1a\x98\xd6\xfc\x4e\x34\xab\x5d\x29\xb9\xe3\x1d\x36\x0d\x4f\x32\xdb\x8b\x5f\x94\x17\x20\x29\x8f\xa9\x03\xac\x31\x63\xb5\xc6\x16\x53\xb9\xb9\xa0\xfc\xc5\xe7\x0e\x95\xd4\xda\x03\x31\x94\x52\xde\x43\x2d\x72\x74\x5d\xa3\x8d\x94\xee\x94\xb9\x46\x24\x1d\xb2\xb1\x9e\x1e\x77\x57\x2d\x04\xe0\x97\x0a\x33\x5b\x12\x5b\xc3\xb2\xcb\xb9\x72\x2c\x6d\xb0\xac\x34\xdc\xd5\x4c\xe5\xc0\xee\x18\x17\x9a\xca\xb6\x82\x0b\x6e\xb0\x3c\x40\xb6\x61\x9c\x84\xec\x35\x07\x88\x86\xb4\x0d\x49\x2e\x9c\x8d\x44\x13\x6f\x59\xc9\x33\x7b\xb2\xe5\x9e\xdb\x20\x5a\x40\x5d\xe5\x5d\x21\x98\xd9\x4b\x6f\x95\x72\xa5\x62\xc9\x35\x65\x5b\xda\xf9\xe2\x1a\x89\xfe\x96\xe5\xbe\xad\xcc\x14\x36\x66\x28\x5c\x5e\x5f\x28\x29\x8c\x3e\xda\x88\xfd\xf3\x7c\x4a\x80\xac\xec\x2e\x6e\x39\x9a\x54\x66\x52\xe8\x7a\x8b\xaa\xdd\xc4\x0f\xbb\x34\xcd\xf5\x99\x4b\x2b\x27\x33\xbe\x20\x40\xae\x40\xee\xc5\xb4\xdf\x3d\xf6\x92\xc4\xd0\x15\x9f\x59\x1f\x19\xf7\x63\x93\xe8\xb8\x42\x3a\x5e\x7e\x83\x1f\x0e\xca\x90\x7e\xe3\x8e\x12\x2d\xe3\xaa\x5e\xdf\xe5\x97\x70\x2f\xe4\xde\xb7\xd8\xfc\x0d\xcd\xee\xd8\xc0\xf1\x13\x20\x2e\xc1\xaa\x98\x72\xce\xdc\xdc\x06\x65\xa5\x14\x77\xd6\x3b\x5d\x1f\xc2\x37\x61\x6c\x1f\x22\xae\xb4\xad\x11\xf9\x89\x9b\xf3\x03\xe9\x14\x3c\x69\x3f\xaf\x83\x2e\x00\x6c\x59\x55\x35\x61\x79\xe2\xdc\x42\xcc\x00\x99\xb6\x4f\x95\x5a\x03\xb4\xd0\xf9\x5c\xb7\x7c\x27\xd9\xf8\xd6\x1b\x4e\x3d\x73\xa0\x5c\x0c\x8b\x02\x33\xc3\x77\xd8\x1f\x3e\x1c\x7c\x0d\x5f\x07\x09\x4e\xdb\xc0\xb7\x7d\x98\xb8\xdf\x5e\xf2\xde\xe6\x15\x79\x56\xeb\xe6\xc0\x27\xcc\x6b\x75\x8f\x87\x91\x0e\xca\x91\xe3\x66\x37\x11\x3e\x8c\x67\x8f\xf6\x9a\x8f\xed\x77\x06\x55\x68\x6f\x11\x92\x63\x47\x15\x16\xcc\x3f\x99\xb7\x87\x6c\x8e\x4d\x34\x95\x56\x7a\x33\x1c\xe5\xe3\x04\x57\xa4\x80\xed\xc8\x39\xb4\xf4\xdd\x4f\xdb\x19\xd5\xcd\x4d\x35\xb7\x2b\x6b\xef\x87\xfa\xba\x32\x22\xeb\xfc\x78\xd0\xf7\x76\x77\xae\x89\xe8\x73\xff\xe1\xf3\x76\xe2\xe3\x3e\x16\x5c\x64\x92\x05\xbc\xbb\xf1\x3c\x25\xcf\xe2\xac\x8e\xba\xc7\x8c\x7b\x7b\xf0\x15\x06\xae\xa1\xa3\x61\xba\x37\x60\xe0\x0d\x64\xdd\xcd\x82\xff\x31\x06\x1e\x52\x3f\x6a\xe3\xbc\x88\xb8\x59\x71\xfd\xa1\x5e\x93\x1a\x17\xb2\x70\x80\xf3\x22\x5d\x33\xff\xb0\x58\x4e\xb5\xd3\x7a\x5a\x89\x99\x82\x6b\x30\xaa\x4e\x9f\x2c\x4d\x9f\x2f\x7c\x04\x9b\x41\x2f\x74\x92\x53\x5a\xc3\x86\xb6\xab\x36\x67\xab\xb6\x81\xb5\x67\x93\xc4\x75\xbd\x6e\x78\x69\x4d\xcc\x5a\x17\x5c\x87\x13\xaf\xc6\x4c\x70\x94\xb8\x2d\x12\x3b\xe2\xad\x35\x8d\xcd\xe7\xad\x69\x8c\x1c\x4c\x9f\x01\x20\x9b\x8b\x27\x7b\x32\x63\x69\x5e\x7d\xa3\xe9\xcd\x37\x69\x37\xcd\x2b\x6d\x3f\xe3\xdf\xcc\x6f\x02\x42\x90\xf0\xc4\x8c\x8e\xc5\xd2\xf7\x3e\x68\xee\x37\x68\xd3\x6a\x97\xa3\xdb\x70\x77\xc7\x77\x3e\x86\xda\x6b\x2d\x59\x86\x95\xe9\x2e\x52\x36\x52\xf7\x22\x73\xb0\x4b\x98\xb9\x1f\xbb\xc0\xca\xdd\x35\xb5\x84\xfc\xcf\x4e\xfc\xa3\xd6\x4d\xbc\xb6\xea\x22\xa2\x39\x16\xd1\x56\xc7\x37\xdc\x3b\x4e\x64\x07\x3d\x75\x34\x2e\x34\xcb\xa0\xfd\x66\x4f\x87\x23\xd7\x03\x33\x70\x45\xe3\x68\x8e\xda\x3e\x1e\xaf\x9b\xbf\x9d\x14\xd5\x94\xe9\x96\x2e\x95\x45\x83\x00\x79\x79\x09\x3f\x0b\x6e\x38\x2b\xf9\xef\x38\x38\x94\x33\x76\xc4\x63\x34\x74\xc4\x40\xe0\x27\x0f\xae\x33\xbf\x8b\xd0\xd6\xff\xa0\x09\x95\x10\x0a\xa9\x74\x70\x4d\xb6\x75\xc9\xc4\x7d\xb4\x51\x08\xaf\xa1\xd6\xa8\x60\x4b\x6b\x9e\xb1\xb2\x6c\x09\x5a\x2c\x6e\x31\xbc\x3b\xdb\xe2\xd2\x49\x52\x09\xe6\xe1\xd5\x79\x5f\x9a\x68\xf7\x7b\x1d\xed\x9d\xe4\xb3\xbe\xb5\xd8\x6d\x01\xcb\x54\x70\xe9\x8a\x70\xf2\x55\xff\xc7\x43\xa2\x45\x7a\xf1\x9d\x97\x24\x1a\x15\x6a\x61\xb0\x0a\x56\x97\xc1\xef\x87\xc0\x35\x5c\x7a\xf6\x2e\x8b\x91\x5f\x2d\x89\x07\x27\x7f\x40\x65\x6c\xa8\x7b\x38\x26\x70\xda\x2f\xb1\x34\xd2\x3c\x9c\xfd\x33\x00\x00\xff\xff\xb1\x3c\xb3\x6c\xbf\x46\x00\x00"
+var _fungibletokenswitchboardCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\x5f\x73\xdb\x38\x0e\x7f\xcf\xa7\x40\xf3\x70\xb5\x67\xb2\xce\x3e\xdc\xdc\x43\xa6\xd9\xfe\xdb\xeb\x4e\x5f\xf6\x76\xda\xec\xf5\xa1\xd3\x99\xd0\x12\x14\xf3\x22\x93\x1a\x92\xb2\xeb\xed\xf4\xbb\xdf\x80\xa4\x24\x52\xa2\x64\x39\xcd\xed\xde\xdd\xac\x1f\xda\xd8\x16\x41\x00\x04\xf0\x03\x08\xd2\x7c\x5b\x49\x65\xe0\xfc\x4d\x2d\xee\xf8\xba\xc4\x1b\x79\x8f\xe2\xfc\xec\xec\xf2\xf2\x12\x6e\x36\x08\x99\x14\x46\xb1\xcc\x80\xd9\x30\x03\xac\x2c\xe5\x5e\x03\x13\xc0\xb2\x4c\xd6\xc2\x80\x91\xa0\x30\x43\xbe\x43\xa8\xd8\x61\x8b\xc2\x68\xe0\x02\xb6\x75\x69\x78\x55\x22\x14\x9e\xae\x25\x68\x88\xb8\x86\x5a\x73\x71\x07\x0c\xe8\xbf\x12\xe1\xf6\x4b\x34\xf9\xea\x9d\xa3\xa7\xbe\xde\x42\xc6\x2a\xb6\xe6\x25\x37\x87\x95\xe7\x88\xeb\xe0\x43\xd0\x1b\x59\x97\x39\xf0\x1c\x59\x59\x1e\x60\x8d\xa0\x8d\x54\x98\x03\x23\x86\x11\xec\xa0\xdb\x88\xfc\xfb\x3d\x37\xd9\x66\x2d\x99\xca\xdb\x99\x7e\xa9\xd7\x25\xcf\x7e\x61\x66\x03\xd7\x70\x59\xd9\x77\x97\x3f\xa1\x40\xc5\xb3\x37\x37\xcd\x53\xb7\x96\xda\xba\x36\xc0\x0d\x64\x4c\x84\xd3\x89\xc3\x7e\x83\x0a\x1d\x97\x67\x2c\xcb\x50\xeb\x05\x2b\xcb\x65\xa7\xc0\x31\x2e\xe0\xcb\x19\xc0\x19\x00\xc0\xe5\x25\xbc\x37\x52\xb1\x3b\x04\x26\x72\x70\x5c\x01\xb1\xa5\xed\xf7\x21\xd9\x12\x4d\xf3\x30\x3d\x70\x15\xbe\x49\x3e\xdc\xc9\x78\x15\xfc\x9d\x7c\x74\xa8\x96\x68\xc8\x60\x0c\x0a\xc3\x4d\x89\xb4\xf8\xf0\x8f\xbd\x40\x75\xe6\xc5\x71\x26\x84\x3b\xfa\xc2\xda\x0f\xd7\x80\x5b\x6e\x0c\xe6\xb0\xdf\xa0\x00\x06\x02\xf7\xb0\x63\x75\x69\xc2\x65\xe5\x1a\x58\x9e\x63\x4e\xd6\xc5\x5a\x5a\x3a\xd0\x99\x42\x2d\x6b\x95\xe1\xaa\xfd\x76\xc8\x95\x9d\xf6\x9f\x44\xfb\x75\x4b\xfa\x25\x91\x5d\x98\x43\x85\x57\x70\x73\xa8\xf0\x22\xa4\x6a\x79\xbf\x82\x97\x79\xae\x50\xeb\xe7\x17\x8e\xe6\xb1\x57\xc7\x77\x6f\xfc\xf2\x04\x35\xa4\x54\xa0\x70\x2b\x77\x98\x43\xa1\xe4\x16\x18\x3c\xaa\x1e\xde\x39\xda\x91\x26\xbe\x5d\x15\x8f\xa6\x8e\x1c\x2b\xa9\xbd\x97\x09\x69\xc8\xd3\x32\xb9\xad\x4a\x34\x98\x1f\x15\xf5\x67\x69\x5e\x37\x0f\xff\xe8\x08\x45\x72\xb2\x2d\x45\xae\x2b\xf8\xf5\x0d\xff\xfc\xb7\xbf\xce\x14\x6d\x5c\x37\x3d\xb9\xb8\x30\xa8\x0a\x96\xa1\x93\x0d\x45\x21\x55\x86\xda\x86\xa3\x2d\x9a\x8d\x74\x56\x4d\x81\x94\xc2\x86\x14\x48\xef\xb3\x0d\x66\xf7\x20\x05\x3d\xd6\x92\x63\x3b\xc6\x4b\xb6\x2e\xb1\x53\x2a\x47\x0d\xb2\xa0\xd8\x99\x30\x02\x1b\x35\x58\xa9\x25\xe0\xe7\x4a\x6a\x3f\x69\x4b\xae\x51\xaa\xe3\x42\xd3\xb4\xcd\x47\x45\x2d\x72\x4d\xd3\x73\x33\xa1\xde\x76\x9e\x4e\xc6\x20\x8e\xf9\x70\xf5\xa5\x55\x67\x38\x74\xc7\x71\x4f\xb3\xc0\x1d\x1a\x6b\x8a\xb4\x14\xfa\x03\x37\x1b\xaf\xc6\xc5\xf2\x0a\xbe\xdc\xd8\x55\xf2\x9f\x7c\x3d\x4a\xe8\x7d\x5d\x11\x78\x61\xde\x51\x0c\xc8\xbc\x92\xb2\x3c\x42\x83\xeb\x21\x89\xc0\x54\x96\x8e\x48\x92\x06\x0d\xf7\xda\x5b\x90\x83\x5e\xc1\x8b\x1e\x8c\x59\x8a\x5f\x97\xa3\xa3\x35\x2b\xf0\xc7\x39\x14\xc6\xbe\x78\x3e\x2d\x1c\xd1\x7f\x25\x95\x92\xfb\x57\x87\xa1\x60\x7f\x19\x03\x5d\x47\xf5\x6b\x6c\xd4\xed\xca\x5b\x9b\xb6\xa0\xe7\x2d\xba\x8f\xf3\x0e\xe3\x9b\x9c\x40\x75\xd6\x17\x9a\xf0\x85\xb3\x7f\xca\x02\x88\x88\x24\x87\xb2\x5e\x91\xe7\xd6\x86\x5d\xe4\xa3\xef\xb6\xce\xa6\x5b\x3f\x19\x18\x33\x13\x87\xfe\xdc\x6c\x2b\x3d\xe1\xce\x81\x48\x76\x3d\xc7\xb4\x03\x83\xbe\x82\xb4\x8a\x2e\xa6\xac\xbe\x5d\x13\x9a\xe6\x47\x9e\x19\x2e\x05\x53\x07\xd8\xc8\x32\x6f\xe4\x1d\xd3\x55\xac\xa2\x88\x12\x17\x39\x7e\xc6\x1c\xd6\x87\x14\x05\x87\x1e\x24\xe3\x2a\x1a\xd5\x37\x90\x26\x17\x59\xc2\x8e\xa9\x76\xde\xd7\xc1\xb4\xad\xf7\x74\x50\xf1\x6c\xd4\x54\x7e\xf0\x56\xd2\x4c\xf7\x32\xcf\xb5\x87\xf4\xa3\x22\x1e\x68\x35\x49\x94\x30\x90\x45\xd4\x62\x68\x1b\x88\x44\x6f\x5e\x54\x4c\xb1\x6d\x40\xf4\xca\xe5\xac\xd1\x24\x2e\x16\x02\x83\x0c\x95\x61\x5c\x74\x29\x69\x48\x2a\x54\x64\x10\x15\xed\xfa\x81\xd9\x28\x59\xdf\x6d\xa6\x32\x55\x72\x8c\x88\xe0\x9e\x97\x25\xe1\x56\x9b\xc8\xf4\x84\x9d\x5e\x29\x8b\x31\x2e\x4e\xb0\x3c\xff\x19\xf7\xd6\xe5\x17\xa1\xa4\xb3\x56\x68\x19\xc4\x63\x37\x17\xb8\x98\x00\x0c\x14\x16\xa8\x50\x64\xd8\x70\xe7\xa4\xaf\x24\x85\x77\xcb\xb2\xb7\xb6\x40\x9f\x7b\x84\x3e\xbd\x3d\x73\x65\x80\x8d\x0a\xc0\x85\xe6\x39\xf6\x85\x8d\xc6\x50\x8a\x69\xa7\x7a\x87\x05\x5c\x87\x39\xfe\xda\xb2\xb6\x58\x8e\x43\xf2\xf3\xe7\x50\x31\xc1\x33\x58\x9c\xbf\x66\xc2\xa6\x06\x4e\x9c\x48\x18\x27\x88\xcd\x9b\x3a\xea\xe7\xcb\x3e\xe7\xaf\x2d\xe8\xf2\x82\xb8\x25\xd6\xc9\x78\x2b\x85\x3b\x2e\xeb\xa8\xca\x28\xa4\x02\x43\x95\x87\x35\x92\x0b\x1a\x21\xa4\x89\xa8\xf1\x02\x16\x1a\xcb\x62\x95\x72\xaa\x8f\x8d\xb4\xab\x3b\x74\x18\xb3\xfc\x04\xd7\xd7\x20\x78\xd9\x5f\x1f\xcf\x59\xad\x31\x58\x91\x40\xb6\x43\x85\xc0\x34\xdc\xa3\xe3\x8a\x74\xde\x44\x95\x14\x9d\x40\x08\x8a\xa3\x66\x83\x62\xf0\xd8\x89\x6c\x07\x34\x53\x33\x52\x22\x67\xd9\x09\xf3\x3b\x91\xf3\x8c\x19\x0b\x19\x54\x44\xda\x08\x11\xb0\xb6\x61\x1a\xd6\x88\x22\x29\x82\xf5\x9f\xc1\x17\x76\x9a\x89\xdc\x7e\xc8\xfa\xc5\xec\x0c\xb6\xd1\xcb\x20\xe3\xb3\x9a\xb2\x60\xf5\x7c\xc5\x5c\x92\x72\x42\x62\xdc\xbe\x06\x19\x72\xe0\x01\x9e\x6c\x6c\xaa\x5f\x01\x4b\x8d\x69\x4b\x79\xdb\x58\xef\x9e\x69\x60\xa5\x42\x96\x1f\x28\xd6\xf5\xad\x97\x0a\x62\x67\xbd\xd6\x7f\x06\xa4\xec\xa7\x8b\xf3\x9b\xd6\x13\x5a\x52\xce\x06\xb9\x4d\x4d\x43\xe4\xeb\xb9\x45\xcf\xbd\xba\xcc\x6b\x04\x24\xea\xed\x1a\x15\xe5\xb2\xb3\xe0\x82\xf2\xde\xf5\xc1\xed\x1c\xc4\x71\x7b\x83\x50\x51\x85\x0c\xb6\x00\xa7\xf7\x07\x60\xaa\xa9\xcc\xe3\x28\x9b\x78\xa5\xf0\xc4\xd2\x73\x50\xd2\x23\x0d\x6e\x6f\x20\xe6\x6b\x6c\x36\x4f\xcd\x2f\xa9\xa3\xe7\xdf\x90\xdc\x5d\xe6\xe3\xdf\x84\x44\x1f\x82\x0e\xfa\xd5\x81\xea\xf3\x85\x67\xff\x63\x57\xb2\x7f\xba\xe8\xb8\xf0\xd9\x75\x02\x18\x7e\x42\xe7\xb9\xcd\xd6\xce\x5c\xa9\x07\xc1\xdd\x49\x75\x4d\x29\xfa\x4b\x47\x6b\x91\xb4\xeb\xcb\x4b\x78\x23\x15\x20\xcb\x36\x56\xd1\x17\x34\xc2\x41\x07\xa3\xc2\xb7\x17\xbd\x3c\xc0\x98\x01\x02\x71\x31\x84\xd7\xa7\x7a\xc4\x8a\xf2\x36\x27\x8b\xc8\x90\x31\x13\x0f\x64\xe8\x6e\xd1\x87\xee\x46\xb2\x05\x3c\x5d\x3b\x41\x57\xd1\xba\xdd\xa1\x99\x80\x63\xbb\x36\xcb\x94\x1f\x7f\x0b\x2a\xa7\xe8\xed\xf1\x74\x60\x86\x30\xa4\xf8\x79\x29\xac\x38\x88\xc5\x1c\x74\x6d\xed\xaf\xa8\xcb\xf2\xb0\x5a\xad\x06\x83\x79\x31\x07\xdc\x87\x8a\xf5\x13\xaf\x56\x2b\x5a\xe7\x10\x90\x85\x4c\x22\xb2\x4b\xaa\xe2\xc8\x96\xa4\x3a\x0f\x97\x9f\xcc\x03\xe6\x80\xd5\x5f\x4f\x07\xe8\x29\x72\x13\x6b\xd9\xbc\x4e\x95\x62\x0e\x4d\x82\x57\x91\xcf\xc6\xec\x79\x12\x74\x70\x9e\x86\xee\xe6\xf5\xd8\x10\x3e\x0f\xaf\x27\x49\x0c\x90\xf9\xe8\xa8\xa1\x2f\x43\x04\x7e\xe9\x4f\x8e\x82\xe3\xe3\x56\x50\xa0\x2b\xcc\x78\x71\x20\x43\xdc\x6f\x78\xb6\x81\x5b\x52\xe8\x2d\x01\xcf\x6d\x7a\x6f\xe1\xb6\xd9\xe0\x8e\x08\xfa\xc2\xc8\x85\x21\x6e\x56\xd6\x0d\xb8\x0d\x32\x5c\x64\x65\x9d\x53\x98\x81\x83\xac\x55\xc4\xd4\xf9\x5e\xb1\xaa\x42\x75\xde\xe3\xce\x49\xa4\x29\xac\x6c\xc8\x69\x18\xdc\xbe\xb0\x4c\xbc\x91\x6a\xcf\x14\xd5\xcb\x2b\xff\x27\xaa\xdb\x15\xbc\x75\x1b\x82\x76\x87\x6b\x1d\x97\x6f\xb5\x76\x4c\xc9\x1d\xaa\xbd\xe2\xc6\x79\xa7\xf3\x46\x63\x58\xb6\xf1\x9b\xc9\x6d\x11\x18\xd6\x34\xdc\x6c\x64\x6d\x62\x51\x37\x6c\x67\xfd\x56\x76\x9b\x11\x2c\x8a\xfe\x05\x57\xda\x44\x30\xfd\xff\x59\x9a\xa6\xa4\xf2\x3b\x49\x8d\x86\x65\xd1\xb7\x56\xaf\x2c\x6b\x41\x91\xd1\x0c\x78\xe9\x14\x72\x01\x8a\x51\xdc\xa7\x67\x5c\xb2\xe9\xad\xd4\xd6\x71\xc6\xee\x42\x35\x61\xb6\x45\x24\xfa\x2e\xa2\xa7\x19\xcf\x53\xa1\x6f\x7e\x1a\xf5\xc1\x19\xeb\xe9\xb5\xf6\x43\x6a\x81\x91\x57\xb0\x55\x37\xcc\xd3\xc2\xb2\xb5\xd7\x32\xd8\x4b\x75\x1f\x66\xc8\x56\x58\xad\x51\x85\x5b\x07\x2b\xbb\xd9\xbc\x58\x5e\xc0\x16\xb5\x66\x77\x78\x05\xe7\x2e\xd7\xd5\x3a\xce\xba\x2c\x00\x13\x9e\x97\x3c\x1f\x96\xcf\x0d\x06\x5a\x1b\xb0\x86\x81\x06\x55\x88\x7e\x13\x69\xca\x38\x9c\x11\xb9\x09\xfc\x7a\xd4\x1a\x33\x59\x5f\x8e\x03\xd3\x60\x7d\xdd\x3a\xd1\xbf\x43\x88\x78\x20\x1e\xcd\xa8\x0e\xe3\x41\xcb\x49\x30\xf9\x0d\x95\x04\xa9\x60\x4b\x39\xe0\xec\x52\xcb\xc7\x84\x38\x24\x26\x5b\x0e\x23\xd0\xa2\xa7\xb0\x45\xf7\x08\xa7\x02\xc5\xff\x08\xba\xe8\x08\x5e\x06\xe0\x42\xba\x9c\x0b\x2f\x84\x04\xd1\xc0\x21\xc2\xf4\x6d\x05\x7e\x97\x02\xd6\xca\xd9\x85\xfb\xb6\x78\xed\xc7\x7c\x19\x2f\xa2\x14\x5d\x65\xf7\xc7\x16\xc6\x3e\xa2\x4f\xd6\xc7\x5e\xc8\x8f\x64\xbd\x9f\x1e\x25\x92\xff\x59\x71\x1f\xaf\xb8\xf9\xc5\x9f\x45\xf7\x1f\x5c\x74\x3f\xa0\x92\x3d\x56\x5a\x4e\x63\xbb\xfe\xc8\x3f\xcd\xa8\x4f\x4f\xac\x4d\x4f\x2c\x40\x4f\xc0\xf8\xe6\xd5\x61\x3d\x49\x30\x5e\x12\x7e\x63\x1d\x7a\x5a\x0d\x3a\x34\xeb\x99\x95\xa6\x3b\x00\x42\xa8\x38\xa3\xd0\x6c\x33\xf0\x94\x11\x3f\x66\xaf\x6e\xc0\x8d\xef\x6c\x0e\x10\x39\x3a\x1b\xf3\xd0\xce\x9a\x23\xf2\xdf\xdf\x59\xf3\x29\xc2\xe4\x2a\xc0\xac\xc6\xda\xef\xd3\x57\x1b\x0d\x29\x12\x0a\xee\xda\x50\xbd\x75\x77\x12\xce\x2b\x10\x56\xee\xe1\xc5\x3d\x1e\x52\x9b\x44\x03\x6e\xfe\xfe\x98\xd5\x82\xb7\xbb\xa3\xf5\x42\x73\xbe\x6a\xa4\x62\x98\xb3\xb7\xf5\x47\xd4\x0f\xcd\x5f\x91\x07\xdd\xb0\xfb\x54\xa0\x70\xab\x6b\x8f\x6b\xc8\x9a\x54\xe9\x52\x75\x9b\xbd\x28\x59\xa1\xea\x06\x24\xb6\x33\x92\x61\x46\xaa\x26\x7f\x24\xa4\xe1\xe6\x78\x38\x71\x07\x67\x28\x90\x74\x89\x67\x92\xcf\x23\x11\xea\x41\x47\x7b\xc6\x13\xba\x54\xec\x94\x02\x75\xef\x78\xea\x94\x23\xb7\xf2\xf4\x2c\x0b\xae\x27\xf0\x95\x26\x0b\x76\x81\x07\xc6\x11\xb8\x79\xac\x33\xdf\xe4\x73\xf5\x7e\x77\x6c\xc6\x6e\x30\x71\x1d\x32\x7a\xbe\x3c\x1b\x89\x7b\xf1\x16\x8d\x37\x85\x1c\x35\x57\xcd\x04\x53\xd1\x6a\x4c\xde\xf1\xd8\x15\xc7\x2c\x08\x82\x56\x22\x02\xb7\xf1\xa8\xcf\x7f\xeb\x8a\xf1\x92\x3f\xfb\x8e\xfe\x1f\xad\xad\x8f\xfa\x84\x51\xbe\x8e\xb6\xce\x31\xf0\x8d\x88\xd8\x1c\x04\x8e\x5d\xc3\x97\x5f\x79\xff\x98\x10\xdb\x49\x6e\x8f\x19\x59\xc5\xdc\x5b\x2f\x0a\x13\xcb\xfe\x02\x8f\x57\x97\x29\x67\xdb\x35\x67\xe4\xe2\xbd\x3f\xcb\x8c\x69\xa0\x9a\xe2\x29\x01\x97\xf6\x05\x61\x7a\x03\x79\xca\xb3\x15\x9a\x5a\x89\x53\x9c\xfa\xa2\x2d\xb2\xc3\x3e\x8b\x57\x6d\xae\x1b\x1d\x34\x9b\xa7\x94\x5e\x77\x59\xf5\x05\xd8\xec\x96\x97\xa5\x3d\xab\xcd\xb8\x88\x34\x1c\x91\xf3\x84\x06\xd6\x25\x10\xf3\xd6\x8b\x88\x3c\x69\xb9\x90\xb5\x38\x92\x8c\x3c\xe2\x61\xc0\x61\x30\xba\x51\x16\x5b\x9b\x0a\xcf\x07\xe5\xc1\x49\xe3\xa3\x69\x45\x57\x9d\x44\xce\x4c\xc6\x54\x29\xd4\x04\xaa\xee\xe0\x6a\x94\x84\xf5\x2a\x15\x5f\xa5\x3c\x46\x54\x4b\x1f\x84\xf8\x80\x60\x9c\xc0\xe3\x41\x20\xc8\x5f\x8e\x17\x73\x6f\x0b\xca\xc9\xec\xde\xd4\x34\xc1\x79\x45\xd9\xd1\xf8\x36\x5e\xa2\x7d\xe8\x4c\xb7\x35\x4b\x52\xb9\xdd\xeb\x1e\x06\xd6\xe6\x35\x19\xd9\x56\xe4\x31\xb9\x62\xfb\x45\x73\x1c\xda\x7e\xba\x66\x25\x13\x19\x2e\xe7\xd7\x15\x9e\x47\x5e\x74\xbd\x09\xc6\x4b\xdf\x9d\xd5\x72\x4b\xde\xc2\xb4\x14\x7d\x6b\x08\xa7\x83\x1f\xe0\xfb\xd5\xf7\x09\x05\xd8\xd4\x2a\x75\x9e\x3b\x29\xb0\xcb\xad\x62\x6b\x49\x97\x4d\x29\x99\xd3\x4f\x3e\x30\x0b\x1b\xea\xcf\x47\x35\xa7\xfd\x09\x5d\xe6\xa8\x8d\x92\xde\x2d\xcf\x12\x14\x04\x2f\xc7\x50\xc9\x76\x06\x7c\x4e\xdb\x4f\xb2\x79\xd3\x01\xb3\x61\x9b\x6b\xb7\xab\x7f\xac\xd3\x33\x27\xe4\xef\xe3\xad\xcb\x83\x8d\x86\x4d\xf8\xb7\xbd\x06\x9c\x98\xc7\x4b\xc5\x60\x2d\x65\x89\x4c\xc0\x96\xd9\x1e\xc6\x20\x8f\x92\xaa\x61\x9e\x79\xe6\x29\x70\x87\x07\xf1\x92\xc7\xa0\x2d\x03\x4d\xd9\x96\x3a\x09\xfd\x4a\xca\xb2\x67\x7a\xbc\x38\xde\x9f\xb0\xa7\x04\x12\x26\xeb\xe5\x29\x58\xa9\xb1\xb7\xcc\xa9\xd5\x3c\x32\xcf\x93\xa6\x59\x33\xb6\xe4\x3f\xa1\xd1\x1e\x93\x7c\xd6\xc0\xb4\xe6\x77\xa2\x59\xed\x4a\xc9\x1d\xef\xb0\x69\x78\x46\xd8\x5e\xa9\xa2\xbc\x00\x49\x79\x4c\x1d\x60\x8d\x19\xab\x35\xb6\x98\xca\xcd\x05\xe5\x2f\x3e\x77\xa8\xa4\xd6\x1e\x88\xa1\x94\xf2\x1e\x6a\x91\xa3\x6b\xf5\x6c\xa4\x74\xe7\xb7\x35\x22\xe9\x90\x8d\x35\xe2\xb8\xbb\xc4\x20\x00\x3f\x57\x98\xd9\x92\xd8\x1a\x96\x5d\xce\x95\x63\x69\x83\x65\xa5\xe1\xae\x66\x2a\x07\x76\xc7\xb8\xd0\x54\xb6\x15\x5c\x70\x83\xe5\x01\xb2\x0d\xe3\x24\x64\x6f\x47\x9f\x68\x48\xdb\x45\xe4\xc2\xd9\x48\x34\xf1\x96\x95\x3c\xb3\x87\x49\xee\xb9\x0d\xa2\x05\xd4\x55\xde\x15\x82\x99\xbd\x4e\x56\x29\x57\x2a\x96\x5c\x53\xb6\xa5\x9d\x2f\xae\x91\xe8\x6f\x59\xee\x7b\xc1\x4c\x61\x63\x86\xc2\xe5\xf5\x85\x92\xc2\xe8\xa3\xdd\xd3\xdf\xcf\xa7\x04\xc8\xca\x6e\xbd\x96\xa3\x49\x65\x26\x85\xae\xb7\xa8\xda\x9d\xf7\xb0\xb5\xd2\x5c\x4c\xb9\xb4\x72\x32\xe3\x0b\x02\xe4\x0a\xe4\x5e\x4c\xfb\xdd\x43\xaf\x1f\x0c\x5d\xf1\x89\xf5\x91\x71\x3f\x36\x89\x36\x29\xa4\xe3\xe5\x37\xf8\xe1\xa0\x0c\xe9\x77\xdb\x28\xd1\x32\xae\xea\xf5\xad\x79\x09\xf7\x42\xee\x7d\x5f\xcc\xdf\x7d\xec\x7a\xfd\xc7\x8f\x6d\xb8\x04\xab\x62\xca\x39\x73\x73\xcf\x92\x95\x52\xdc\x59\xef\x74\xcd\x03\xdf\x39\xb1\xcd\x83\xb8\xd2\xb6\x46\xe4\x27\x6e\x9a\xfe\xe9\x14\x3c\x69\x3f\x2f\x83\xad\x7b\xd8\xb2\xaa\x6a\xc2\xf2\xc4\x61\x83\x98\x01\x32\x6d\x9f\x2a\xb5\x06\x68\xa1\xf3\xa9\x6e\xf9\x4e\xb2\xf1\xad\x77\x87\x7a\xe6\x40\xb9\x18\x16\x05\x66\x86\xef\xb0\x3f\x7c\x38\xf8\x1a\xbe\x0c\x12\x9c\xb6\xeb\x6e\x9b\x27\x71\x93\xbc\xe4\xbd\xcd\x2b\xf2\xac\xd6\xcd\x81\x4f\x98\xd7\xea\x1e\x0f\xa9\xb6\xc7\x24\x04\xb5\xa4\x3b\x7c\x18\xcf\x1e\xed\x05\x1a\xdb\xa4\x0c\xaa\xd0\xde\x22\xa4\xf7\xc8\xc7\x14\x16\xcc\x3f\x99\xb7\x87\x6c\x8e\x4d\x34\x95\x56\x7a\x33\x1c\xe5\xe3\x04\x57\xa4\x80\xed\xc8\x39\xb4\xf4\x2d\x4b\xdb\xce\xd4\xcd\x1d\x30\xb7\x2b\x6b\x6f\x5e\xfa\xba\x32\x22\xeb\xfc\x78\xd0\xac\x76\xb7\x99\x89\xe8\x53\xff\xe1\xd3\x76\xe2\xe3\x3e\x16\x5c\x11\x92\x05\xbc\xb9\xf1\x3c\x25\x0f\xd0\xac\x8e\xba\xc7\x8c\x1b\x71\xf0\x05\x06\xae\xa1\xa3\x61\xba\x37\x60\xe0\x0d\x64\xdd\xcd\x82\xff\x67\x0c\x3c\xa4\x7e\xd4\xc6\x79\x11\x71\xb3\xe2\xfa\x7d\xbd\x26\x35\x2e\x64\xe1\x00\xe7\x59\xba\x66\xfe\x61\xb1\x9c\x3a\xe6\xd9\xd3\x4a\xcc\x14\x5c\x83\x51\x75\xfa\x50\xe7\xf0\xf8\xdf\x03\xd9\x0c\x7a\x98\x93\x9c\xd2\x1a\x36\xb4\x5d\xb5\x39\x5b\xb5\x0d\xac\x3d\x99\x24\xae\xeb\x75\xc3\x4b\x6b\x62\xd6\xba\xe0\x3a\x9c\x78\x35\x66\x82\xa3\xc4\x6d\x91\xd8\x11\x6f\xad\x69\x6c\x3e\x6f\x4d\x63\xe4\x60\xba\x71\x4f\x36\x17\x4f\xf6\x68\xc6\xd2\xbc\xfa\x46\xd3\x9b\x6f\xd2\x6e\x9a\x57\xda\x7e\xc6\xbf\x99\x7f\xdc\x14\x82\x84\x27\x66\x74\x2c\x96\xbe\xf3\x41\x73\xbf\x41\x9b\x56\xbb\x1c\xdd\x86\xbb\x3b\xbe\xf3\x31\xd4\x5e\x18\xc9\x32\xac\x4c\x77\x45\xb1\x91\xba\x17\x99\x83\x5d\xc2\xcc\xfd\x8c\x04\x56\xee\x16\xa7\x25\xe4\x7f\xd0\xe1\x5f\xb5\x6e\xe2\xb5\x55\x17\x11\xcd\xb1\x88\xb6\x3a\xbe\xe1\x46\x6f\x22\x3b\xe8\xa9\xa3\x71\xa1\x59\x06\xed\x37\x7b\x3a\x1c\xb9\x1e\x98\x81\x2b\x1a\x47\x73\xd4\xf6\xf1\x78\xdd\xfc\xbd\x9f\xa8\xa6\x4c\xb7\x74\xa9\x2c\x1a\x04\xc8\xcb\x4b\x78\x2b\xb8\xe1\xac\xe4\xbf\xe1\xe0\x24\xcd\xd8\xb9\x8c\xd1\xd0\x11\x03\x81\x9f\x3c\xb8\x28\xfc\x26\x42\x5b\xff\x53\x21\x54\x42\x28\xa4\xd2\xc1\x35\xd9\xd6\x25\x13\xf7\xd1\x46\x21\xbc\x84\x5a\xa3\x82\x2d\xad\x79\xc6\xca\xb2\x25\x68\xb1\xb8\xc5\xf0\xee\x40\x8a\x4b\x27\x49\x25\x98\x87\x97\xd2\x7d\x69\xa2\xdd\x2f\x61\xb4\xb7\x7d\xcf\xfa\xd6\x62\xb7\x05\x2c\x53\xc1\x75\x26\xc2\xc9\x17\xfd\x9f\xe5\x88\x16\xe9\xd9\x77\x5e\x92\x68\x54\xa8\x85\xc1\x2a\x58\x5d\x06\xbf\xcc\x01\xd7\x70\xe9\xd9\xbb\x2c\x46\x7e\x0f\x24\x1e\x9c\xfc\x69\x92\xb1\xa1\xee\xe1\x98\xc0\x69\xbf\x71\xe2\xa5\xf9\x7a\xf6\xef\x00\x00\x00\xff\xff\x0b\x41\x31\xcf\x18\x46\x00\x00"
 
 func fungibletokenswitchboardCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -155,7 +155,7 @@ func fungibletokenswitchboardCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "FungibleTokenSwitchboard.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0x3b, 0x5a, 0xf1, 0x21, 0xd3, 0x19, 0xc8, 0xf7, 0x48, 0xac, 0x35, 0x12, 0x78, 0x5c, 0x36, 0x86, 0x8d, 0xb4, 0xb3, 0xbe, 0x34, 0x86, 0x18, 0x89, 0x4d, 0x66, 0xb1, 0x1, 0xf, 0x6d, 0x17}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x41, 0x6e, 0xba, 0xd8, 0xc5, 0xc5, 0xea, 0x2b, 0x18, 0xd1, 0x2b, 0x1b, 0x4c, 0x66, 0x2a, 0x3e, 0x9a, 0x98, 0x8a, 0x38, 0xe1, 0x41, 0xd7, 0xdf, 0x8c, 0x6, 0x85, 0xf, 0xe3, 0x84, 0xfa, 0x10}}
 	return a, nil
 }
 

From 7e9cd2066560d9e866af83ba82eaf68166c8aab0 Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Wed, 1 May 2024 11:04:34 -0500
Subject: [PATCH 114/115] use contract field and mint event

---
 contracts/ExampleToken.cdc                 | 12 +++++++-----
 lib/go/contracts/internal/assets/assets.go |  6 +++---
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/contracts/ExampleToken.cdc b/contracts/ExampleToken.cdc
index 740e8ddf..9f619abc 100644
--- a/contracts/ExampleToken.cdc
+++ b/contracts/ExampleToken.cdc
@@ -52,9 +52,9 @@ access(all) contract ExampleToken: FungibleToken {
                 )
             case Type<FungibleTokenMetadataViews.FTVaultData>():
                 return FungibleTokenMetadataViews.FTVaultData(
-                    storagePath: /storage/exampleTokenVault,
-                    receiverPath: /public/exampleTokenReceiver,
-                    metadataPath: /public/exampleTokenVault,
+                    storagePath: self.VaultStoragePath,
+                    receiverPath: self.ReceiverPublicPath,
+                    metadataPath: self.VaultPublicPath,
                     receiverLinkedType: Type<&ExampleToken.Vault>(),
                     metadataLinkedType: Type<&ExampleToken.Vault>(),
                     createEmptyVaultFunction: (fun(): @{FungibleToken.Vault} {
@@ -178,8 +178,9 @@ access(all) contract ExampleToken: FungibleToken {
         ///
         access(all) fun mintTokens(amount: UFix64): @ExampleToken.Vault {
             ExampleToken.totalSupply = ExampleToken.totalSupply + amount
-            emit TokensMinted(amount: amount, type: self.getType().identifier)
-            return <-create Vault(balance: amount)
+            let vault <-create Vault(balance: amount)
+            emit TokensMinted(amount: amount, type: vault.getType().identifier)
+            return <-vault
         }
     }
 
@@ -205,6 +206,7 @@ access(all) contract ExampleToken: FungibleToken {
         // Create the Vault with the total supply of tokens and save it in storage
         //
         let vault <- create Vault(balance: self.totalSupply)
+        emit TokensMinted(amount: vault.balance, type: vault.getType().identifier)
 
         // Create a public capability to the stored Vault that exposes
         // the `deposit` method and getAcceptedTypes method through the `Receiver` interface
diff --git a/lib/go/contracts/internal/assets/assets.go b/lib/go/contracts/internal/assets/assets.go
index b4c7640c..45ea51ce 100644
--- a/lib/go/contracts/internal/assets/assets.go
+++ b/lib/go/contracts/internal/assets/assets.go
@@ -1,6 +1,6 @@
 // Code generated by go-bindata. DO NOT EDIT.
 // sources:
-// ../../../contracts/ExampleToken.cdc (9.619kB)
+// ../../../contracts/ExampleToken.cdc (9.718kB)
 // ../../../contracts/FungibleToken.cdc (10.377kB)
 // ../../../contracts/FungibleTokenMetadataViews.cdc (6.596kB)
 // ../../../contracts/FungibleTokenSwitchboard.cdc (17.944kB)
@@ -79,7 +79,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x5a\x6d\x6f\xdb\x38\x12\xfe\x9e\x5f\x31\x9b\x03\xee\x6c\x34\x71\xd2\xdd\xb6\xb7\x6b\x24\xcd\xa6\xdd\x06\x77\xc0\x16\x28\xda\x6c\xf7\x43\x51\x34\xb4\x34\xb6\x78\xa1\x48\x81\xa4\xec\x78\x83\xfe\xf7\xc3\xf0\x45\x16\x65\x29\x71\xd2\x1e\x70\xfe\xd0\xe8\x85\x33\x1c\xce\x3c\x9c\x99\x87\x2a\x2f\x2b\xa5\x2d\xec\x5f\xd4\x72\xc1\x67\x02\x2f\xd5\x35\xca\xfd\xbd\xf8\xf8\x2d\x5a\x96\x33\xcb\x3e\x72\x5c\x99\xcd\xe3\x64\x74\x67\xcc\x1e\xcb\x32\x34\x66\xc4\x84\x18\x43\xa6\xa4\xd5\x2c\xb3\xf0\xe6\x86\x95\x55\x10\x98\x42\x22\x0f\xb7\x7b\x7b\x00\x00\x47\x47\x47\x70\x59\x20\xe0\x12\xa5\x05\x5b\x30\x0b\xdc\x00\x96\xdc\x5a\xcc\x61\x55\xa0\x04\x89\x2b\xb0\x24\x63\x80\x69\x84\x92\x4b\x8b\xb9\x13\x6e\x4f\xea\x15\x38\xdd\xe6\xad\x1b\x32\x62\xa5\xaa\xa5\x9d\xc2\x1f\x17\xfc\xe6\xc5\xb3\x03\xb0\xeb\x0a\xa7\xf0\xc1\x6a\x2e\x17\xe3\xd6\xf4\xca\x32\x01\xa6\xae\x2a\xb1\x06\x35\x4f\xac\x36\xc0\x25\xe0\x0d\x37\x16\x65\x86\x5b\x93\x2e\x99\x06\x4b\xe2\x1f\x9c\x74\x9c\x6a\xa3\xfb\x83\x55\x9a\x2d\x10\x98\xcc\xe1\x5d\x3d\x13\x3c\x83\x77\xcc\x16\x66\x4b\x93\x40\x0b\x1f\x59\x2d\x6c\x90\xa0\x51\x53\x68\xdd\x0c\x4b\x78\xbd\x5e\x60\x73\xdd\x3b\xfe\x3d\x66\xc8\x97\xa8\x1f\x20\x72\x9e\x97\x5c\x0e\x1a\xb5\xed\x11\x8e\x2b\x98\xd7\x12\x16\x68\x5f\x07\x1c\x38\x8c\x8c\x34\x1a\x55\xeb\x0c\x2f\x5d\x14\xe8\xdf\xb3\xf1\x14\x3e\xd1\xc5\x67\xb8\x75\x8a\xe8\xa7\xd1\xd6\x5a\xc2\xa7\xe6\x01\xfd\x68\xd0\xc9\x30\xfe\x26\x17\x97\xf4\xf7\xe5\x68\x7c\xf0\x40\xb1\xdf\xb8\xa9\x04\x5b\x3f\x42\xd2\xb9\xfe\x37\x66\xd9\x83\x65\x2f\x37\x80\x79\x39\x1a\x37\xa2\x9f\xdd\xd5\xd7\x6d\x97\x92\x37\xc9\x79\x62\x89\x6d\x8f\xf6\x39\xf4\xc0\xf9\x7f\xf3\x60\x3c\x85\x73\xb9\xfe\x60\x75\x9d\xd9\xb3\x96\x93\xcd\x8a\xdb\xac\x68\x06\xb7\xde\xd0\x2f\x63\x06\x77\x77\xf9\x34\x91\x6d\x85\xf0\x5e\xe1\xd1\x96\x24\xfd\xe6\x36\x04\x65\x0a\x06\xc5\x7c\x72\xff\xd2\x25\x17\xdd\x85\xef\x1a\xf5\x31\x30\xf3\xc3\xdd\x96\x86\xc1\x67\x07\x03\xd6\x36\x40\xf8\xdf\xd9\xdb\xc6\xda\x0e\x16\x37\xc3\xcf\xb6\x4c\x1e\x3f\x26\xd0\x1b\x77\x6d\xc7\x9a\x52\x44\x89\x39\x67\x70\x0a\xa9\xdc\x5b\x7a\xda\x1f\x62\xe7\x38\x2e\x70\xda\x11\xf9\xd7\xe5\xe5\xbb\x0b\x2e\x70\x58\xaa\xd6\x62\x0a\xfb\x85\xb5\x95\x99\x1e\x1d\x31\x63\xd0\x9a\xc9\x0a\x67\x86\x5b\x3c\x24\x95\x66\x92\xa9\xf2\xe8\xf9\xfc\xc5\x8f\xbf\x3c\xcb\x8e\xb3\x7f\xb2\x9f\xb3\x3c\x7f\xf1\xec\xa7\xd9\xd3\xec\xe7\x1f\x8f\x3b\x2f\xd8\xf3\xe7\xd9\xec\x69\xf6\xcb\x4f\x2f\xbe\x5c\x08\xb5\xfa\xf2\xa7\xd2\x79\xc9\xf4\xf5\xc4\x2c\x17\xfb\xbd\x36\x8c\xfb\x51\xe0\x3c\xe0\xa3\xb9\xcf\x4b\xb6\xc0\x23\xb3\x5c\x3c\xb9\x29\xc5\xb6\x96\xf1\xb0\x0b\x4d\xbf\x0f\xcd\xe8\x93\x7b\xfd\x79\x5b\x74\x97\x9d\x16\xa2\xd7\xef\x53\xc9\x4a\xb2\x39\x94\xbc\x46\x91\xaf\xa3\xfb\xfd\x8b\x35\xeb\x72\xa6\x28\x0c\x6f\x2e\x2e\x07\x86\xe4\x68\x32\xcd\x2b\xcb\x95\x9c\xc2\xfe\x65\xc1\x0d\x65\x31\xaf\xda\x95\x72\x2a\xf2\xb5\xc1\x1c\x98\x01\x46\x15\xd6\xcf\x6f\x15\x14\x28\x2a\x58\xab\x1a\x72\x5c\xa2\x50\xee\x5a\x83\xc4\x1b\x0b\x17\x97\xf0\x37\x25\x29\x52\x93\x81\x79\xf1\xc6\xa2\x96\x4c\xfc\xf1\xfe\xf7\x2e\xb6\xde\x6c\x5e\x8d\x1a\x00\x85\x79\x0f\xe7\x76\xa2\xe4\x9c\x14\x2b\xbd\xd8\x1f\x08\xb2\x50\x0b\x65\xa6\x21\x54\x03\xae\x51\x19\x67\xc2\x4c\x3b\x09\xb5\xfd\xdb\xb7\x2b\xea\x6d\xf4\xfe\x4e\x06\x86\xc1\x0e\xd4\x64\xdf\x97\x99\x50\xd9\x75\x56\x30\x2e\xf7\xb7\xe1\x00\xae\x80\x74\x9f\x3c\x6a\xcf\xb7\x53\xce\x23\x33\x7c\xd4\xd0\x8f\x3c\xd3\x6e\x29\x8e\xc2\x5d\x0c\x88\x53\xe8\x14\xf4\xfb\x59\xc7\x3e\xc6\x4b\x57\xae\x85\x49\x84\x63\xa7\x33\xb4\x5f\xbd\xad\xc3\xf2\x3b\x4c\xfe\x3b\x97\xd7\x98\xb7\x72\xf8\xdf\xdb\x9d\xe3\xc4\x69\xd8\x6a\x0e\xba\x16\x7c\x93\x92\x4c\x23\xb3\xf8\xa6\xac\xec\xda\x0d\xbc\xa8\x65\xe6\xf7\xdc\x68\x5e\xcb\xd1\x78\x0a\xbf\xde\x26\x31\xf2\xfa\xbe\xde\x01\xcf\x10\xd9\x93\xc3\xc4\x8c\xee\x44\xa3\x25\xfd\xdb\xb2\xfa\xd7\x5e\xab\x07\x10\xba\xfd\xf8\x11\x10\x4d\xbb\xa8\xc7\x40\xb4\xa5\xa1\x1f\xa2\x49\x67\x9f\x2c\xb0\xf5\xe6\x8e\xb5\x7c\xed\x36\xb5\x92\x8b\x76\x93\x47\x04\xc1\xb9\x2a\xde\x35\x4f\xdf\xb0\xac\xa0\xfc\xa8\xdd\x36\x41\x97\x23\xb9\x34\x96\xc9\x0c\x89\xa2\x28\x29\xd6\x60\x0b\xf4\xe2\xc4\x51\x6c\x81\x5c\xc7\x4d\x95\x30\xab\x79\x00\x85\x09\xc3\x82\x0c\x31\x92\x85\x5a\xa2\x96\x98\xc3\xcc\x6b\xab\xb4\x67\x2a\x95\x32\x96\x58\x5c\xce\x9d\x60\xa3\x8e\x77\xfc\xe9\xf9\x99\x2d\x70\xed\x98\x59\xc6\x84\xc0\x7c\x92\xcc\x9e\x15\x98\x5d\x1b\x28\x58\x55\xa1\x04\x66\x41\xd7\xd2\xf2\x12\x9d\x28\x2e\x51\x03\x6b\x2c\xa4\xa2\xd0\xd1\xd1\xe8\x7a\x1f\x3a\x28\x1a\x21\xfd\xfa\x67\x18\x36\x40\x1e\x57\x46\xc4\x93\x0a\x85\x9a\x37\xb7\x8e\x87\x3a\x5a\x49\x66\x36\xea\xc8\xdc\x1c\xe7\x5c\x3a\xe1\x03\x30\x8a\xde\x6b\x24\x13\xa4\x82\x15\x5b\xc3\x5c\x91\x6d\x25\x13\x3c\xe3\xaa\x36\x3e\x1c\x56\x85\x39\xbd\x17\x37\xae\x51\x75\x98\x96\x4b\x60\x5c\x4f\xe0\x1c\x4c\x85\x54\x0d\xc0\xb1\x51\x0d\xb1\x07\x04\x89\x98\x1b\xd2\x34\xdb\xd8\x60\x95\xe3\xb5\x8d\xba\x0d\xe7\x4d\x5d\xd1\xe6\x05\x8d\x42\x67\x4a\x87\x5f\xfb\x3d\x18\x59\x76\x3b\x22\x0e\xbb\x30\x63\x22\x82\xc9\x52\x79\x5e\x36\x38\xec\x4e\x43\x1c\x37\x8c\x4e\xf9\xad\x57\x0a\x5c\x72\xcb\x99\xe0\x7f\xa1\x73\x7a\x54\x4c\xa1\x8e\x06\x3a\x97\x51\x80\x29\xf2\x8d\x2c\x09\x8e\x3a\x9a\xc7\x9d\xd4\xe4\x3a\xea\xa8\xf2\x34\x2a\x6f\xed\xb0\x64\x79\xaf\x1d\x78\x3c\x2a\x59\x4f\xc7\x31\xab\x1d\xda\x97\x9c\x39\x53\xaf\x5e\xd1\xbd\x9e\xd0\xe3\xd1\xf8\x8a\x72\x72\xa1\xf2\xae\x13\x22\x8a\x3c\x11\xa3\xb1\x34\xcd\x8c\x65\xd7\xa3\xae\xb5\x7c\x9e\x1a\xfc\x12\x8e\x27\xc7\x3d\xc9\x76\x28\x97\xc0\xe9\xf0\xab\xc3\x44\x75\xa2\xf2\xeb\x5d\x2e\x3b\x9e\x1c\xf7\xb9\x6b\x88\xb3\x7b\xae\xde\x47\xcc\x5b\x79\x2c\x31\xf2\x1e\xa2\x2f\xb9\x18\xdf\x67\x40\x8b\xe1\x3a\xba\xf4\xc5\x99\x74\x37\x85\x1d\x32\xe7\xc1\xf4\x8b\xae\x7a\x2d\x24\x44\x2d\xd0\x92\xff\x95\xb6\x98\x7f\x8c\x35\xcf\x80\x72\xad\x2d\x13\x62\x1d\x6c\x30\xc0\x40\x70\xe3\x72\x80\xdb\x4a\xee\xb0\xc9\xc4\xcc\xc3\x4d\xd3\x35\xb8\x85\x57\x21\x73\xdc\x15\x89\x9e\x79\x29\x2e\xb7\xde\xea\x57\x4a\x89\x6e\x1d\x27\x22\x61\xa2\x94\x13\xe8\x0c\x3f\x85\xdb\x0e\x56\x92\xd1\x9f\x1c\x74\x16\xe8\x26\x1b\x8d\x3f\xc3\x29\x58\x5d\x63\x9f\xcb\x53\xc1\x9d\x01\xc6\xcd\xf6\xaa\x46\xb6\x7d\x5c\x41\x86\xf6\x47\x39\x1a\xd7\xeb\x97\x4f\xd6\xa1\xf5\xec\x0c\xe6\x4c\x98\xc1\x04\x71\x6e\xae\x0d\xed\x52\xda\xfd\xfe\x74\xd0\x95\x93\x19\xc2\x8a\xdb\x22\xd7\x6c\x25\x61\xae\x55\x79\x6f\x4e\xdc\x2c\xe8\x7c\xc9\xb8\x60\x2e\xed\xfe\x19\x74\x74\x0e\x1e\xef\x5c\x55\xb0\xe2\xe4\xb4\x7f\x7b\x77\xec\x8f\x56\xb6\x1f\x26\x03\x62\x07\x18\x80\xc7\xae\x7d\xef\x10\x66\xf1\x64\x8b\xe9\x45\x5d\xa2\xb4\x89\x20\x95\xfd\xa8\x3d\xc0\x36\x08\x05\x7f\x84\x32\x33\x19\x9c\xfa\xdf\x36\x94\x46\xda\x0b\xae\x7e\x61\x59\x29\xcd\xf4\x3a\x74\x1c\xf1\x70\xd7\xf1\x3e\x62\x7a\x4a\xe4\x89\x06\x5b\x60\x3c\xe8\xf5\x06\x68\x84\x19\x72\xb9\x00\xab\x99\x34\x73\xd4\x1a\xf3\x09\x4d\x14\x37\x1d\x49\x48\x5c\xb5\xba\x30\xd2\x13\xbb\x82\x30\xad\x4a\x7a\x03\xa7\xd9\x77\x19\x54\xf5\x79\x83\x80\x1c\x2b\x65\x78\x3c\x5a\x8e\xba\x50\x18\x5c\x51\x67\xd0\xbf\xf0\x00\x8a\xb4\xf4\x46\x1c\xf8\xc4\xb6\x1a\x44\x45\x4f\xd3\x7c\x77\xf9\x4b\x6e\x0f\x43\x80\xfa\x50\x75\x72\xd8\xee\x52\x36\x45\xd6\x4b\x0c\x66\xbb\xe0\x82\x87\xa1\x2b\xb8\x59\xcd\xfe\x83\x59\x17\x62\x0e\x56\x2c\xcf\x4d\xa2\x86\x5b\xd3\xb4\x09\x21\x3a\x49\x3b\x82\xa0\x56\x12\xb5\xd9\x01\x71\xdc\x00\x13\x42\xad\x3c\xa2\x72\x34\x56\x2b\xdf\xcb\x1a\x9a\xde\x9b\x36\xc3\x8c\xd5\x06\x37\x20\x4e\xf7\x14\x99\xdc\x02\x2b\xc1\x12\x75\xb4\x24\x34\x61\xae\x73\x72\xb2\xff\xd8\xd8\x5e\xb0\x74\x5d\x33\x44\x49\x38\x33\x75\x89\xb9\x5b\xba\xeb\x29\xe7\xca\xf5\xc6\x01\x64\xce\xc2\xd8\xe1\x0e\xc0\xa9\x29\x8a\x21\x20\x23\xda\x83\x43\x64\xae\xdb\x84\x50\x15\xf0\x25\xe8\xe4\xd0\x6f\x5e\x66\x7e\xe8\xc3\xda\xce\x48\x7b\xe2\xf5\xf5\xf6\x1e\xc9\x9b\x4e\xbb\x01\xfe\x24\xc8\x85\x24\xcd\xa5\x1d\xdc\x75\xe9\xe5\x8e\x00\x4c\xd3\x8d\x8f\x35\xed\x36\x60\x6d\x3c\xfd\x85\x5a\x6d\xa5\xba\x98\x40\xf8\x26\x3f\x30\x21\x28\xd5\x84\x3c\x41\x0d\xbc\xeb\xf8\xcb\xda\xf8\x7c\xe1\x6b\x42\xe4\x2a\x5b\x1a\x1d\x51\x73\x9a\xbc\xee\x26\xff\x74\xc9\x19\x3d\x50\x3a\xf7\x64\xc2\x81\xd7\xbf\x4f\x35\x66\x99\x4b\xbe\x9e\x25\x30\xdf\xc5\xc6\x1e\x22\xc2\xc2\x34\xdd\xbb\xef\x70\xa9\x06\xee\x86\xab\x2d\x3e\xbf\x53\x36\xba\x27\xb9\x1c\x4f\x8e\xbb\xdc\xb7\x45\x74\x3d\x0b\x1a\xe4\x75\x31\x7f\xf8\xcc\xe2\x96\xc3\xf2\x92\xc8\x94\xf7\x84\xe7\x7d\xb4\x37\x23\x57\x7a\x18\x47\x0a\x24\xec\x36\xf1\x32\xa9\xf1\x9f\xf9\x76\x44\x1c\x09\x98\xd6\xc4\x07\x2e\xb9\x51\xfc\xca\x88\x23\xdb\xfa\x9a\x78\x30\x88\xbb\xb6\x44\x17\x79\x3b\x45\x70\x63\xfa\x63\xea\xca\x63\x08\xc8\x93\xbe\x7a\x83\x25\x1f\xf8\xe8\xea\xff\xc6\x8f\xae\x69\x67\x39\xe1\x39\x4a\xcb\xe7\x1c\xf5\xf8\xdb\xca\x57\x07\x64\xbd\x89\xa4\x0d\xb7\x6f\x4a\x20\xdf\x37\x79\x7c\xdf\xc4\xf1\x1d\x92\x46\xdf\xfe\xe9\x4d\x16\x9d\xc3\xbf\x7b\x11\xd7\x44\x15\xee\x49\x1c\x21\x92\xee\x60\xa0\x5d\xd6\x1c\x7a\x52\x98\x3e\x3d\x3e\xa6\x52\x93\x0e\xe9\x7e\x40\x87\xd3\x3b\x4e\x96\x7b\x44\x37\x9f\xc2\x49\x72\xe8\x54\x38\x15\xdc\xfe\xa4\x3e\x20\x1b\x07\xa6\xe2\xdd\xcf\xeb\x43\x26\xbb\x71\x90\x1c\xbc\xbc\xf6\xce\xdc\x1c\xe9\x39\xe8\x76\x73\x90\x0b\x77\xf8\xdf\x13\x84\x36\xb6\x44\x02\x2e\x97\xc9\x61\xa1\x57\xd9\x5c\x26\x3d\x44\x7f\xd0\xba\x31\x19\xf7\xd9\xc6\xc0\x3b\x02\x32\x56\xb1\x19\x17\xdc\xae\xe3\x96\x71\xb0\xcf\xdb\xd4\x00\x6f\x2a\x65\xb0\x9d\x8a\xfd\x29\x4d\x00\x6e\x3c\x9f\xf1\x27\x97\x68\xcf\x1d\x8f\x0e\x0c\x34\xbe\xb3\x85\x56\xf5\xc2\x7b\xe1\x2a\x7a\xfc\x0a\x5c\xf2\x9f\xb3\xac\xbd\xd8\xd8\xa0\xc1\x55\x58\xd3\x55\xaf\x92\x57\xf1\x65\x9f\x8e\xc4\x61\xed\x70\xbd\x66\x55\xec\xa2\xc2\xae\x9c\x34\x2e\xe0\x68\x26\xc1\xf7\x13\x6e\x4c\x3d\x70\xe6\xdf\x8b\xe8\x71\x8a\x9e\x5e\xdd\xce\xe5\xa6\x18\x75\xec\x39\x00\x66\xa7\xbd\x60\x1f\x27\xcb\x88\x07\x15\xff\x0f\x4b\x68\xd9\xd2\x32\x7f\x7b\xcb\x8d\xf7\xfa\x95\x46\x1b\x09\xf5\xa3\x93\x43\x07\xe9\x03\xb0\xea\xae\x2f\x4e\x2d\x5d\xe4\x0e\xdf\x85\x6c\xb6\x81\x6f\x24\x46\x03\xab\xe8\x4c\xe8\x84\xfd\x84\xbd\xbb\x3d\xa6\xbd\xaf\x7b\xff\x0d\x00\x00\xff\xff\x01\xc2\xd9\x61\x93\x25\x00\x00"
+var _exampletokenCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x5a\x5f\x6f\x1b\x37\x12\x7f\xf7\xa7\x98\xea\x80\x3b\x09\xb5\x65\xa7\x4d\x72\xad\x10\xc7\x75\xd2\x18\x77\x40\x03\x04\x89\x9b\x3e\x04\x41\x4c\xed\x8e\xb4\x3c\x73\xc9\x05\xc9\x95\xac\x1a\xf9\xee\x87\xe1\x9f\xd5\x72\xb5\x6b\xcb\x6e\x0e\x38\x3d\x34\xd6\x2e\x67\x38\x9c\xf9\xcd\x6f\x66\xa8\xf2\xb2\x52\xda\xc2\xe8\xa2\x96\x4b\x3e\x17\x78\xa9\xae\x51\x8e\x0e\xe2\xe3\xb7\x68\x59\xce\x2c\xfb\xc8\x71\x6d\xb6\x8f\x93\xd5\x9d\x35\x07\x2c\xcb\xd0\x98\x31\x13\x62\x02\x99\x92\x56\xb3\xcc\xc2\x9b\x1b\x56\x56\x41\x60\x06\x89\x3c\xdc\x1e\x1c\x00\x00\x1c\x1f\x1f\xc3\x65\x81\x80\x2b\x94\x16\x6c\xc1\x2c\x70\x03\x58\x72\x6b\x31\x87\x75\x81\x12\x24\xae\xc1\x92\x8c\x01\xa6\x11\x4a\x2e\x2d\xe6\x4e\xb8\xbd\xa9\x57\xe0\x74\x9b\xb7\x6e\xc9\x98\x95\xaa\x96\x76\x06\xbf\x5f\xf0\x9b\xe7\x4f\x0f\xc1\x6e\x2a\x9c\xc1\x07\xab\xb9\x5c\x4e\x5a\xdb\x2b\xcb\x04\x98\xba\xaa\xc4\x06\xd4\x22\xb1\xda\x00\x97\x80\x37\xdc\x58\x94\x19\xee\x6c\xba\x62\x1a\x2c\x89\x7f\x70\xd2\x71\xab\xad\xee\x0f\x56\x69\xb6\x44\x60\x32\x87\x77\xf5\x5c\xf0\x0c\xde\x31\x5b\x98\x1d\x4d\x02\x2d\x7c\x64\xb5\xb0\x41\x82\x56\xcd\xa0\xf5\x65\x58\xc2\xeb\xf5\x02\xdb\xbf\x7b\xd7\xbf\xc7\x0c\xf9\x0a\xf5\x03\x44\xce\xf3\x92\xcb\x41\xa3\x76\x3d\xc2\x71\x0d\x8b\x5a\xc2\x12\xed\xeb\x80\x03\x87\x91\xb1\x46\xa3\x6a\x9d\xe1\xa5\x8b\x02\xfd\xf7\x6c\x32\x83\x4f\xf4\xc7\x67\xb8\x75\x8a\xe8\xa3\xd1\xd6\x5a\xc2\xa7\xe6\x01\x7d\x68\xd1\x8b\x61\xfc\x4d\x2f\x2e\xe9\xdf\x97\xe3\xc9\xe1\x03\xc5\x7e\xe5\xa6\x12\x6c\xf3\x08\x49\xe7\xfa\x5f\x99\x65\x0f\x96\xbd\xdc\x02\xe6\xe5\x78\xd2\x88\x7e\x76\x7f\x7d\xdd\x75\x29\x79\x93\x9c\x27\x56\xd8\xf6\x68\x9f\x43\x0f\x9d\xff\xb7\x0f\x26\x33\x38\x97\x9b\x0f\x56\xd7\x99\x3d\x6b\x39\xd9\xac\xb9\xcd\x8a\x66\x71\xeb\x0d\x7d\x32\x66\x70\x7f\x97\xcf\x12\xd9\x56\x08\xef\x15\x1e\xef\x48\xd2\x67\x61\x43\x50\x66\x60\x50\x2c\xa6\xf7\x1f\x5d\x72\xd1\x3d\xf8\xbe\x51\x9f\x00\x33\xdf\xdd\x6d\x69\x58\x7c\x76\x38\x60\x6d\x03\x84\xff\x9d\xbd\x6d\xac\xed\x61\x71\xb3\xfc\x6c\xc7\xe4\xc9\x63\x02\xbd\x75\xd7\x6e\xac\x89\x22\x4a\xcc\x39\x83\x53\x48\xe5\xde\xd2\xd3\xfe\x10\x3b\xc7\x71\x81\xb3\x8e\xc8\xbf\x2e\x2f\xdf\x5d\x70\x81\xc3\x52\xb5\x16\x33\x18\x15\xd6\x56\x66\x76\x7c\xcc\x8c\x41\x6b\xa6\x6b\x9c\x1b\x6e\xf1\x88\x54\x9a\x69\xa6\xca\xe3\x67\x8b\xe7\x3f\xfc\xfc\x34\x3b\xc9\xfe\xc9\x7e\xca\xf2\xfc\xf9\xd3\x1f\xe7\x4f\xb2\x9f\x7e\x38\xe9\xbc\x60\xcf\x9e\x65\xf3\x27\xd9\xcf\x3f\x3e\xff\x72\x21\xd4\xfa\xcb\x1f\x4a\xe7\x25\xd3\xd7\x53\xb3\x5a\x8e\x7a\x6d\x98\xf4\xa3\xc0\x79\xc0\x47\x73\xc4\x4b\xb6\xc4\x63\xb3\x5a\x7e\x7f\x53\x8a\x5d\x2d\x93\x61\x17\x9a\x7e\x1f\x9a\xf1\x27\xf7\xfa\xf3\xae\xe8\x3e\x99\x16\xa2\xd7\xef\x53\xc9\x4a\xb2\x39\x94\xbc\x46\x91\xaf\xa3\xa3\xfe\xc3\x9a\x4d\x39\x57\x14\x86\x37\x17\x97\x03\x4b\x72\x34\x99\xe6\x95\xe5\x4a\xce\x60\x74\x59\x70\x43\x2c\xe6\x55\xbb\x52\x4e\x45\xbe\x36\x98\x03\x33\xc0\xa8\xc2\xfa\xfd\xad\x82\x02\x45\x05\x1b\x55\x43\x8e\x2b\x14\xca\xfd\xad\x41\xe2\x8d\x85\x8b\x4b\xf8\x9b\x92\x14\xa9\xe9\xc0\xbe\x78\x63\x51\x4b\x26\x7e\x7f\xff\x5b\x17\x5b\x6f\xb6\xaf\xc6\x0d\x80\xc2\xbe\x47\x0b\x3b\x55\x72\x41\x8a\x95\x5e\x8e\x06\x82\x2c\xd4\x52\x99\x59\x08\xd5\x80\x6b\x54\xc6\x99\x30\xb3\x0e\xa1\xb6\x3f\x23\xbb\xa6\xde\x46\x8f\xf6\x32\x30\x2c\x76\xa0\x26\xfb\xbe\xcc\x85\xca\xae\xb3\x82\x71\x39\xda\x85\x03\xb8\x02\xd2\x7d\xf2\xa8\x9c\x6f\x53\xce\x23\x19\x3e\x6a\xe8\x47\x9e\x69\xb7\x14\x8e\x38\xbb\xed\x4f\xbf\x8b\x75\x6c\x61\xb6\x82\xbb\x5d\xcd\x50\x96\x7a\x0b\xbb\x7b\xde\x27\x17\xb7\xfc\x8d\xcb\x6b\xcc\x5b\xa4\xfd\xf7\x76\xab\xe8\x75\xed\x74\x03\xdd\xcd\xff\x92\x92\x4c\x23\xb3\xf8\xa6\xac\xec\xc6\x2d\xbc\xa8\x65\xe6\x93\x6c\xbc\xa8\xe5\x78\x32\x83\x5f\x6e\x93\xa0\x78\x7d\x5f\xef\xc0\x63\x08\xe5\x8b\xa3\xc4\x8c\xee\x46\xe3\x15\xfd\xb7\x65\xf5\x2f\xbd\x56\x0f\x40\x72\xf7\xf1\x23\x30\x99\xb6\x4d\x8f\xc1\x64\x4b\x43\x3f\x26\x93\x56\x3e\x39\x60\xeb\xcd\x1d\x67\xf9\xda\xed\x62\x25\x17\xed\xae\x8e\x26\x02\xe7\xaa\xf8\xad\x79\xfa\x86\x65\x05\x11\xa2\x76\x79\x81\x8e\x14\xb9\x34\x96\xc9\x0c\x69\x26\x51\x52\x6c\xc0\x16\xe8\xc5\x69\x28\xb1\x05\x72\x1d\xb3\x28\x19\xa5\x16\x01\x14\x26\x2c\x0b\x32\x34\x82\x2c\xd5\x0a\xb5\xc4\x1c\xe6\x5e\x5b\xa5\xfd\x68\x52\x29\x63\x69\x6c\xcb\xb9\x13\x6c\xd4\xf1\x8e\x3f\xfd\x40\x66\x0b\xdc\xb8\x51\x2c\x63\x42\x60\x3e\x4d\x76\xcf\x0a\xcc\xae\x0d\x14\xac\xaa\x50\x02\xb3\xa0\x6b\x69\x79\x89\x4e\x14\x57\xa8\x81\x35\x16\x52\x15\xe8\xe8\x68\x74\xbd\x0f\x2d\x13\xad\x90\xfe\xfc\x73\x0c\x09\x90\xc7\x93\xd1\xa4\x49\x95\x41\x2d\x9a\xaf\x6e\xf0\x74\x73\x24\x99\xd9\xa8\x23\x73\x73\x5c\x70\xe9\x84\x0f\xc1\x28\x7a\xaf\x91\x4c\x90\x0a\xd6\x6c\x03\x0b\x45\xb6\x95\x4c\xf0\x8c\xab\xda\xf8\x70\x58\x15\xf6\xf4\x5e\xdc\xba\x46\xd5\x61\x5b\x2e\x81\x71\x3d\x85\x73\x30\x15\x12\xfd\x83\x1b\x3f\x35\xc4\xa6\x0f\x24\x62\x6e\x48\xd3\x7c\x6b\x83\x55\x6e\x90\x6d\xd4\x6d\x87\xdc\xd4\x15\xed\x41\xa0\x51\xe8\x4c\xe9\x0c\xd4\x3e\x07\xe3\x58\xdd\x8e\x88\xc3\x2e\xcc\x99\x88\x60\xb2\x54\x8f\x57\x0d\x0e\xbb\xdb\xd0\x50\x1b\x56\xa7\x03\xad\x57\x0a\x5c\x72\xcb\x99\xe0\x7f\xa2\x73\x7a\x54\x4c\xa1\x8e\x06\x3a\x97\x51\x80\x29\xf2\x8d\x2c\x09\x8e\x3b\x9a\x27\x1d\x6a\x72\xac\x1c\x55\x9e\x46\xe5\xad\x0c\x4b\x8e\xf7\xda\x81\xc7\xa3\x92\xf5\xb4\x18\xf3\xda\xa1\x7d\xc5\x99\x33\xf5\xea\x15\x7d\xd7\x53\x7a\x3c\x9e\x5c\x11\x27\x17\x2a\xef\x3a\x21\xa2\xc8\x4f\x5e\xb4\x96\xb6\x99\xb3\xec\x7a\xdc\xb5\x96\x2f\x52\x83\x5f\xc2\xc9\xf4\xa4\x87\x6c\x87\xb8\x04\x4e\x87\x5f\x1d\x25\xaa\x13\x95\x5f\xef\x72\xd9\xc9\xf4\xa4\xcf\x5d\x43\x43\xba\x1f\xce\xfb\x26\xf1\x16\x8f\x25\x46\xde\x33\xd9\x4b\x2e\x26\xf7\x19\xd0\x1a\x69\xdd\x7c\xf4\xc5\x99\x74\xf7\xcc\x3a\x64\xce\x83\xe7\x2d\xfa\xab\xd7\x42\x42\xd4\x12\x2d\xf9\x5f\x69\x8b\xf9\xc7\x58\xf3\x0c\x28\xd7\xcb\x32\x21\x36\xc1\x06\x03\x0c\x04\x37\x8e\x03\x5c\x2a\xb9\xdb\x25\x13\x99\x87\x9b\xa6\x6b\x70\x07\xaf\x02\x73\xdc\x15\x89\x9e\x7d\x29\x2e\xb7\xde\xea\x57\x4a\x89\x6e\x1d\xa7\xc9\xc1\x44\x29\x27\xd0\x59\x7e\x0a\xb7\x1d\xac\x24\xab\x3f\x39\xe8\x2c\xd1\x6d\x36\x9e\x7c\x86\x53\xb0\xba\xc6\x3e\x97\xa7\x82\x7b\x03\x8c\x9b\xdd\x53\x8d\x6d\xfb\x7e\x82\x0c\xed\x8f\x72\x34\xae\xd7\x2f\x9f\xac\x43\xeb\xd9\x19\x2c\x98\x30\x83\x04\x71\x6e\xae\x0d\x65\x29\x65\xbf\xbf\x0e\x74\xe5\x64\x8e\xb0\xe6\xb6\xc8\x35\x5b\x4b\x58\x68\x55\xde\xcb\x89\xdb\x03\x9d\xaf\x18\x17\xcc\xd1\xee\x1f\x41\x47\xe7\xa6\xf1\xce\x53\x05\x2b\x5e\x9c\xf6\xa7\x77\xc7\xfe\x68\x65\xfb\x61\xb2\x20\x76\x80\x01\x78\xec\xda\xf7\x0e\x61\x17\x3f\x5d\x31\xbd\xac\x4b\x94\x36\x11\xa4\xb2\x1f\xb5\x07\xd8\x06\xa1\xe0\x8f\x50\x66\xa6\x83\x5b\xff\xdb\x86\xd2\x48\xb9\xe0\xea\x17\x96\x95\xd2\x4c\x6f\x42\xc7\x11\x6f\x73\xdd\xa0\x47\xa3\x9d\x12\x79\xa2\xc1\x16\x18\x6f\x76\xbd\x01\x1a\x61\x8e\x5c\x2e\xc1\x6a\x26\xcd\x02\xb5\xc6\x7c\x4a\x1b\xc5\xa4\x23\x09\x89\xeb\x56\x17\x46\x7a\x62\x57\x10\xb6\x55\x49\x6f\xe0\x34\xfb\x2e\x83\xaa\x3e\x6f\x10\x90\x63\xa5\x0c\x8f\x77\xc9\x51\x17\x0a\x83\x6b\xea\x0c\xfa\x0f\x1e\x40\x91\x96\xde\x88\x03\x4f\x6c\xeb\x41\x54\xf4\x34\xcd\x77\x97\xbf\xe4\xeb\x51\x08\x50\x1f\xaa\x5e\x1c\xb5\xbb\x94\x6d\x91\xf5\x12\x83\x6c\x17\x5c\xf0\x30\x74\x05\x37\xab\xf9\x7f\x30\xeb\x42\xcc\xc1\x8a\xe5\xb9\x49\xd4\x70\x6b\x9a\x36\x21\x44\x27\x69\x47\x10\xd4\x5a\xa2\x36\x7b\x20\x8e\x1b\x60\x42\xa8\xb5\x47\x54\x8e\xc6\x6a\xe5\x7b\x59\x43\xdb\x7b\xd3\xe6\x98\xb1\xda\xe0\x16\xc4\x69\x4e\x91\xc9\x2d\xb0\x12\x2c\x51\x47\x4b\x42\x13\xe6\x3a\x27\x27\xfb\x8f\xad\xed\x05\x4b\xcf\x35\x47\x94\x84\x33\x53\x97\x98\xbb\xa3\xbb\x9e\x72\xa1\x5c\x6f\x1c\x40\xe6\x2c\x8c\x1d\xee\x00\x9c\x9a\xa2\x18\x02\x32\xa6\x1c\x1c\x1a\xe6\xba\x4d\x08\x55\x01\x5f\x82\x5e\x1c\xf9\xe4\x65\xe6\xbb\x3e\xac\xed\x8d\xb4\xef\xbd\xbe\xde\xde\x23\x79\xd3\x69\x37\xc0\x5f\xfd\xb8\x90\xa4\x5c\xda\xc1\x5d\x77\xbc\xdc\x13\x80\x29\xdd\xf8\x58\x53\xb6\x01\x6b\xe3\xe9\x4f\xd4\x6a\x87\xea\x22\x81\xf0\x2d\x3f\x30\x21\x88\x6a\x02\x4f\x50\x03\xef\x3a\xfe\xb2\x36\x9e\x2f\x7c\x4d\x88\xb3\xca\x8e\x46\x37\xa8\x39\x4d\x5e\x77\xc3\x3f\xdd\xe1\x8c\x1e\x28\x9d\xfb\x61\xc2\x81\xd7\xbf\x4f\x35\x66\x99\x23\x5f\x3f\x25\x30\xdf\xc5\xc6\x1e\x22\xc2\xc2\x34\xdd\xbb\xef\x70\xa9\x06\xee\x87\xab\x9d\x79\x7e\x2f\x36\xba\x87\x5c\x4e\xa6\x27\xdd\xd9\xb7\x35\xe8\xfa\x29\x68\x70\xae\x8b\xfc\xe1\x99\xc5\x1d\x87\xe5\x25\x0d\x53\xde\x13\x7e\xee\xa3\xdc\x8c\xb3\xd2\xc3\x66\xa4\x30\x84\xdd\x26\x5e\x26\x35\xfe\x77\xbd\x3d\x11\x47\x02\xa6\xb5\xf1\xa1\x23\x37\x8a\x5f\x19\x71\x64\x5b\x3f\x1f\x1e\x0e\xe2\xae\x2d\xd1\x45\xde\x5e\x11\xdc\x9a\xfe\x98\xba\xf2\x98\x01\xe4\xfb\xbe\x7a\xd3\x26\x9b\xfd\x4a\x0e\x7d\xb0\xe4\x03\xbf\xcd\xfa\x7f\xe3\x6f\xb3\x9e\x5c\x9a\x86\x74\xca\x73\x94\x96\x2f\x38\xea\x49\x3f\x30\xbb\x2c\xd3\xc1\x60\x2f\xcf\xb4\xd1\xf8\x97\xf8\xe5\xdb\x72\xcb\xb7\xe5\x95\x6f\xc0\x29\x7d\xe9\xd5\xcb\x25\x9d\xbb\xc1\x7b\x01\xd9\x44\x0f\xee\xe1\x95\x10\x49\x77\x6f\xd0\xae\x7a\xae\x58\xa5\x28\x7e\x72\x72\x42\x95\x28\x5d\xd2\xbd\x51\x86\x53\x38\x0e\xce\x8b\x57\xff\xce\xc2\xb4\x06\xf5\x5d\x0c\x93\x64\xe5\xbe\xdd\x27\xb8\x7b\x19\x3d\x20\x1b\x17\xa6\xe2\xdd\x9f\xdb\x87\x4c\x76\xeb\x20\xb9\x97\x79\xed\x9d\xb9\xbd\xf1\x73\xd0\xed\x52\x94\x0b\x77\xf8\xbf\x29\x08\x6d\x6c\x85\x04\x5c\x2e\x93\xbb\x44\xaf\xf2\xa0\x2f\xeb\x07\x82\xd6\x8d\xc9\x36\x61\x87\x93\x3f\xe9\x25\xf6\xe1\x80\x9e\xe3\x32\xf0\xbe\x85\x8c\x55\x6c\xce\x05\xb7\x9b\x98\x85\x2e\x93\xf2\xf6\x30\x82\x37\x95\x32\xd8\x26\x7f\x7f\x2f\x14\x72\x21\xde\x08\xf9\xbb\x52\xb4\xe7\x6e\x72\x0f\x33\x6f\x7c\x67\x0b\xad\xea\xa5\x77\xec\x55\x0c\xe2\x15\xb8\x72\xb3\x60\x59\xdb\x7f\xb1\x25\x84\xab\x70\xc6\xab\x5e\x25\xaf\xe2\xcb\x3e\x1d\x49\x0c\xda\x08\x78\xcd\xaa\xd8\xb7\x85\x44\x9f\x36\x2e\xe0\x68\xa6\x21\x9c\x53\x6e\x4c\x3d\xf0\x2b\x43\x6f\x92\x4c\x52\x40\xf6\xea\x76\x2e\x37\xc5\xb8\x63\xcf\x21\x30\xdb\xff\xc3\xca\x24\x39\x46\xbc\x1a\xf9\x7f\x38\x42\xcb\x96\x96\xf9\xbb\x59\x3c\x39\xe8\x57\x1a\x6d\xa4\x44\x1a\x87\x82\x74\x08\x56\xcd\xee\xa0\x9a\x96\x2e\x72\x87\xef\x7b\xb6\x99\xe5\x5b\x97\xf1\xc0\x29\x3a\x1b\x3a\x61\xbf\x61\x2f\x81\x44\x26\xfd\x7a\xf0\xdf\x00\x00\x00\xff\xff\x9d\x72\xd1\xe7\xf6\x25\x00\x00"
 
 func exampletokenCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -95,7 +95,7 @@ func exampletokenCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "ExampleToken.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x28, 0xee, 0x30, 0xde, 0xd2, 0x6, 0xfc, 0x78, 0x7b, 0xf1, 0x91, 0x61, 0x2d, 0xd7, 0xba, 0x75, 0x17, 0x9d, 0xd8, 0xfe, 0xfb, 0xd5, 0x5d, 0x22, 0xb, 0xd6, 0xd3, 0xad, 0xdc, 0xb9, 0x6d, 0x70}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe0, 0xbe, 0x3b, 0x6f, 0xd2, 0xd0, 0xf5, 0x35, 0x49, 0x8b, 0xda, 0x6b, 0xd4, 0x13, 0x3, 0x5e, 0x67, 0xf0, 0xb9, 0x32, 0x81, 0xc, 0xec, 0xff, 0x14, 0xe8, 0xa6, 0x75, 0x9b, 0x8d, 0xe7, 0x6d}}
 	return a, nil
 }
 

From a5ba8807f201c9dcc40f3d02837e00c8a563a59a Mon Sep 17 00:00:00 2001
From: Josh Hannan <hannanjoshua19@gmail.com>
Date: Mon, 6 May 2024 14:02:11 -0500
Subject: [PATCH 115/115] update CLI and emulator deps and tests

---
 flow.json                                     |  5 --
 lib/go/templates/internal/assets/assets.go    | 53 ++++++++++----
 lib/go/test/go.mod                            | 68 +++++++++---------
 lib/go/test/go.sum                            | 69 +++++++++++++++++++
 tests/example_token_test.cdc                  |  4 +-
 tests/private_receiver_forwarder_test.cdc     |  1 +
 .../setup_and_create_forwarder.cdc            |  2 +-
 transactions/scripts/get_balance_generic.cdc  | 11 +++
 .../switchboard/add_vault_capability.cdc      |  3 +-
 .../add_vault_wrapper_capability.cdc          |  3 +-
 .../switchboard/remove_vault_capability.cdc   |  1 -
 .../tokenForwarder/create_forwarder.cdc       |  1 -
 12 files changed, 160 insertions(+), 61 deletions(-)
 create mode 100644 transactions/scripts/get_balance_generic.cdc

diff --git a/flow.json b/flow.json
index 5e9020fd..79b80a1d 100644
--- a/flow.json
+++ b/flow.json
@@ -137,11 +137,6 @@
         "FungibleTokenSwitchboard",
         "TokenForwarding"
       ]
-    },
-    "testnet": {
-      "testnet-forwarding": [
-        "TokenForwarding"
-      ]
     }
   }
 }
diff --git a/lib/go/templates/internal/assets/assets.go b/lib/go/templates/internal/assets/assets.go
index 6e596244..7f6d2441 100644
--- a/lib/go/templates/internal/assets/assets.go
+++ b/lib/go/templates/internal/assets/assets.go
@@ -14,25 +14,26 @@
 // privateForwarder/create_account_private_forwarder.cdc (1.926kB)
 // privateForwarder/create_private_forwarder.cdc (1.604kB)
 // privateForwarder/deploy_forwarder_contract.cdc (418B)
-// privateForwarder/setup_and_create_forwarder.cdc (2.454kB)
+// privateForwarder/setup_and_create_forwarder.cdc (2.455kB)
 // privateForwarder/transfer_private_many_accounts.cdc (1.444kB)
 // safe_generic_transfer.cdc (1.869kB)
 // scripts/get_balance.cdc (655B)
+// scripts/get_balance_generic.cdc (370B)
 // scripts/get_supply.cdc (177B)
 // scripts/get_supported_vault_types.cdc (903B)
 // setup_account.cdc (1.63kB)
-// switchboard/add_vault_capability.cdc (4.321kB)
-// switchboard/add_vault_wrapper_capability.cdc (1.961kB)
+// switchboard/add_vault_capability.cdc (4.239kB)
+// switchboard/add_vault_wrapper_capability.cdc (1.906kB)
 // switchboard/batch_add_vault_capabilities.cdc (1.636kB)
 // switchboard/batch_add_vault_wrapper_capabilities.cdc (1.878kB)
-// switchboard/remove_vault_capability.cdc (1.248kB)
+// switchboard/remove_vault_capability.cdc (1.169kB)
 // switchboard/safe_transfer_tokens.cdc (2.074kB)
 // switchboard/scripts/get_vault_types_and_address.cdc (627B)
 // switchboard/setup_account.cdc (2.042kB)
 // switchboard/setup_royalty_account.cdc (4.831kB)
 // switchboard/setup_royalty_account_by_paths.cdc (4.942kB)
 // switchboard/transfer_tokens.cdc (1.684kB)
-// tokenForwarder/create_forwarder.cdc (2.768kB)
+// tokenForwarder/create_forwarder.cdc (2.706kB)
 // tokenForwarder/scripts/is_recipient_valid.cdc (278B)
 // transfer_many_accounts.cdc (1.772kB)
 // transfer_tokens.cdc (1.803kB)
@@ -385,7 +386,7 @@ func privateforwarderDeploy_forwarder_contractCdc() (*asset, error) {
 	return a, nil
 }
 
-var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\xcd\x6e\xfa\x38\x10\xbf\xe7\x29\xa6\x1c\x50\x22\xa5\x70\x47\x40\x77\x97\x6d\xa5\x3d\xec\xaa\xda\x22\xee\x83\x33\x80\xd5\x60\x47\xf6\x04\x16\x55\xbc\xfb\xca\x09\x09\x76\x13\xfe\xa5\xf5\xa1\x2a\x8e\x3d\xbf\x8f\xf9\x70\x24\xf7\x85\x36\x0c\x83\x97\x52\x6d\xe5\x3a\xa7\xa5\x7e\x27\x35\x68\xb7\x9f\xff\xc3\x7d\xd1\xd9\x7d\x35\xf2\x80\x4c\xff\x92\x20\x79\x20\xf3\xa2\xcd\x11\x4d\x46\x66\xd0\x1f\xee\x6f\x62\xcc\x90\x71\x25\xe9\x68\x07\x51\x34\x1e\x8f\x61\xb9\x93\x16\xd8\xa0\xb2\x28\x58\x6a\x05\x98\x65\x16\x10\x56\x58\xe6\x9c\x02\x42\x51\x63\x80\xb9\x80\xc0\xa6\x41\xa9\xee\x23\xac\x31\x47\x25\x08\x04\x16\xb8\x96\xb9\xe4\x53\x0a\xa8\x32\x77\xb5\x5c\xe7\x52\x78\x1f\xdc\x5d\xe0\xdd\x35\x58\x14\xf9\xd0\x1f\x51\x04\x00\x50\x18\x2a\xd0\x50\x6c\xe5\x56\x91\x99\x00\x96\xbc\x8b\xff\xb2\xb6\xa4\x37\xd6\x06\xb7\xb4\x68\x03\x2e\xb4\x62\xa3\xf3\x9c\x4c\x0a\xaf\x0e\xcd\xee\x16\x1e\x8d\x37\x3c\xd0\x0a\xf3\x92\x12\x18\xfe\x2e\x84\x2e\x15\x27\xf0\x51\x81\xb8\x95\x13\xc3\xc1\xe9\xfc\x13\x19\x61\x06\xbe\xc9\x23\x43\x56\xe7\x07\xaa\x10\x50\xb0\xf3\x2c\x76\x7b\xa5\x11\xb4\x3c\x15\x34\x01\x25\xf3\x14\x0e\x92\x8e\xf5\x4f\xf7\x77\x7a\xdb\xef\xd1\xcb\x72\xd5\x60\xcd\xe3\x24\x01\xb4\x0f\x70\xdf\xf1\xa7\x96\xb1\x5b\x4f\x4f\x50\xa0\x92\x22\x1e\x2c\x74\x99\x67\xa0\x34\xc3\xb6\x51\x02\x2e\x40\x45\xaa\xf5\x5a\x5c\x14\x0c\x92\xa8\x8d\x23\x37\x50\xbb\x3b\x6a\x93\x23\xc9\x8e\xb6\xc4\xd3\xe1\xad\xa2\x1a\xb5\xff\xcd\xe3\x9b\x67\x3e\x7d\xa8\x72\x22\x5e\x91\x77\x09\x3c\xcc\x9c\x63\x9e\xfd\x6e\x8d\xc7\x6d\x81\xb5\x75\x05\x47\xb4\x80\xb9\x21\xcc\x4e\x60\x89\xa1\x2c\x82\x3b\x86\xb8\x34\xaa\xdd\x3a\xf7\xc9\xb2\x75\xa5\x8c\xc4\x8e\xc4\xfb\x74\x18\x64\xb6\xf2\x75\x1e\x6f\x8c\xde\x4f\xae\xf9\x6f\xae\xd4\x64\x67\x33\xd8\x60\x6e\xa9\x4b\x77\x61\xc8\xb1\x45\x50\x74\x0c\x2a\xa6\x6e\x99\xaa\xf4\x8b\x92\x41\x32\x48\x05\x97\xa0\x41\x90\x4f\x14\x2d\x1e\x28\x0e\x0e\xb8\x35\x7d\x0c\x38\x8b\x0a\xf5\x79\x5f\xf0\xa9\x82\x89\x2b\xde\x5e\xe1\xfd\xd6\x27\x31\x49\xd2\x4e\x60\xd6\x37\x44\x07\x27\x93\x3e\x7b\x7d\xf5\x97\xde\xae\x35\x5f\x7b\xce\xa5\x40\x11\x65\x94\x7d\x55\x6b\x6b\x6d\x8c\x3e\x4e\x87\x1f\x41\x0f\xd4\xcc\xcf\xf3\xf8\x4a\x71\x7f\x69\x8b\x36\x31\xdd\x2a\x6a\x1b\x79\x81\x05\xcc\x7a\xe1\x1a\xb7\xa5\x9b\x23\x1d\xd4\x3f\xea\x19\x96\x42\x3f\x99\x8e\x89\x6e\x7d\x6d\x62\x68\xa4\x97\xfa\x80\x59\x51\xcf\xad\xb8\x11\x90\x02\xb2\x9f\xa2\x40\xff\x8d\xb4\x54\xd3\x11\x10\x9a\xbe\xf3\x33\xc2\x68\xb6\xc4\x2c\xd5\xb6\x1a\x07\xdd\x92\x0d\xe6\x61\x33\x99\xbd\x00\x3f\x31\xb4\x21\xd2\x67\xde\x3d\xd5\x17\x70\xba\x4e\x86\xe9\x23\xdc\x1c\x3d\x75\x8b\xfc\x43\xc7\x76\x2b\x36\x24\x64\x21\x49\xf1\xa4\x47\x97\x07\xd2\xd7\x91\xd3\xc7\x16\x36\xad\x9a\xe6\xde\x99\xf7\xe6\xcd\x91\xde\x24\xf9\xb9\xd1\x55\x4e\xda\x58\xd0\xbc\x30\xfd\xfa\xef\x2e\xef\x7b\x66\x78\x27\x2f\x3f\x10\x78\x63\x66\x8c\xc7\xcd\x6b\x5c\xc9\xfb\x96\xe0\x5f\xb5\x48\x00\xe7\xbb\x12\x8e\x39\xd7\x3f\xdf\x7f\xa1\xa2\x50\xc7\x39\x3a\x47\xff\x07\x00\x00\xff\xff\x81\xac\x56\xd3\x96\x09\x00\x00"
+var _privateforwarderSetup_and_create_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\x4f\x6f\xda\x30\x14\xbf\xe7\x53\xbc\x71\x40\x89\x94\xc2\x1d\x01\xdd\xc6\x5a\x69\x87\x4d\xd5\x8a\xb8\x3f\x9c\x07\x58\x0d\x76\x64\xbf\xc0\x50\xc5\x77\x9f\xec\x90\x10\x97\xb0\xd2\xfa\x50\x15\xc7\x7e\xbf\x3f\xef\x8f\x23\xb9\x2d\xb4\x61\xe8\x3d\x96\x6a\x2d\x97\x39\xcd\xf5\x0b\xa9\x5e\xb3\xfd\xf0\x17\xb7\xc5\xc5\xee\x93\x91\x3b\x64\xfa\x43\x82\xe4\x8e\xcc\xa3\x36\x7b\x34\x19\x99\x5e\x77\xb8\x5f\xc4\x98\x21\xe3\x42\xd2\xde\xf6\xa2\x68\x38\x1c\xc2\x7c\x23\x2d\xb0\x41\x65\x51\xb0\xd4\x0a\x30\xcb\x2c\x20\x2c\xb0\xcc\x39\x05\x84\xa2\xc2\x00\x73\x02\x81\x55\x8d\xe2\xef\x23\x2c\x31\x47\x25\x08\x04\x16\xb8\x94\xb9\xe4\x43\x0a\xa8\x32\x77\xb5\x5c\xe6\x52\xb4\x3e\xb8\xbb\xc0\x9b\x73\xb0\x28\x6a\x43\xbf\x46\x11\x00\x40\x61\xa8\x40\x43\xb1\x95\x6b\x45\x66\x04\x58\xf2\x26\xfe\x69\x6d\x49\xcf\xac\x0d\xae\x69\xd6\x04\x9c\x69\xc5\x46\xe7\x39\x99\x14\x9e\x1c\x9a\xdd\xcc\x5a\x34\x9e\x71\x47\x0b\xcc\x4b\x4a\xa0\xff\x4d\x08\x5d\x2a\x4e\xe0\xd5\x83\xb8\x95\x13\xc3\xce\xe9\xfc\x81\x8c\x30\x81\xb6\xc9\x03\x43\x56\xe7\x3b\xf2\x08\x28\xd8\x79\x16\xbb\xbd\xd2\x08\x9a\x1f\x0a\x1a\x81\x92\x79\x0a\x3b\x49\xfb\xea\xa7\xfb\x3b\xbe\xee\xf7\xe0\x71\xbe\xa8\xb1\xa6\x71\x92\x00\xda\x2f\x70\xdb\xf1\xfb\x86\xb1\x5b\xf7\xf7\x50\xa0\x92\x22\xee\xcd\x74\x99\x67\xa0\x34\xc3\xba\x56\x02\x2e\x80\x27\xd5\x78\x2d\x4e\x0a\x7a\x49\xd4\xc4\x91\x2b\xa8\xdc\x1d\x34\xc9\x91\x64\x07\x6b\xe2\x71\xff\x5a\x51\x0d\x9a\xff\xa6\xf1\xd5\x33\x6f\x3e\xf8\x9c\x88\x27\xe4\x4d\x32\x10\x1b\x12\x2f\x71\xdb\x7f\xb7\x86\xc3\xa6\xc2\x9a\xc2\x82\x3d\x5a\xc0\xdc\x10\x66\x07\xb0\xc4\x50\x16\xc1\x1d\x43\x5c\x1a\xd5\x6c\x1d\xbb\x74\xd9\xaa\x54\x2a\xd4\x71\x3f\x48\xad\x37\x76\x1a\xaf\x8c\xde\x8e\xce\x05\x50\x5f\xf1\x6c\x61\x32\x81\x15\xe6\x96\x2e\xe9\xce\x0c\x39\xb6\x08\x8a\xf6\x41\xc9\x54\x3d\xe3\x6b\xbf\x28\x19\x24\x83\x54\x70\x0a\x1a\x04\x79\x43\xd1\xe2\x8e\xe2\xe0\x80\x5b\xe3\xbb\x80\xb3\xf0\xa8\x0f\xdb\x82\x0f\x1e\x26\xf6\xbc\x5b\x95\xf7\xb5\x4b\x62\x92\xa4\x17\x81\x59\x5f\x11\x1d\x9c\x4c\xba\xec\x6d\xab\x3f\x35\x77\xa5\xf9\xdc\x74\x2e\x05\x8a\x28\xa3\xec\xbd\x62\x5b\x6a\x63\xf4\x7e\xdc\x7f\x0d\x9a\xa0\x62\x7e\x9c\xc6\x67\x8a\xdb\x53\x5f\x34\x89\x51\x32\x7f\x93\x96\xa6\x93\x67\x58\xc0\xa4\x13\xae\x76\x5b\xba\x41\x72\x81\xfa\xbd\x1a\x62\x29\x74\x93\xb9\x30\xd1\xad\xf7\x4d\x0c\x8d\x6c\xa5\x3e\x60\x56\x54\x83\x2b\xae\x05\xa4\x80\xdc\x4e\x51\xa0\xff\x4a\x5a\xfc\x78\x04\x84\xba\xf1\xda\x19\x61\x34\x6b\x62\x96\x6a\xed\xe7\xc1\x65\xc9\x06\x03\xb1\x1e\xcd\xad\x00\x9f\x31\xb4\x26\xd2\x65\xde\x2d\xd5\x17\x70\x3a\x4f\x86\xf1\x1d\x5c\x9d\x3d\x55\x8b\xfc\xa6\x7d\xb3\x15\x1b\x12\xb2\x90\xa4\x78\xd4\xa1\xab\x05\xd2\xd5\x91\xe3\xbb\x06\x36\xf5\x4d\x73\xeb\xd0\x7b\x6e\xcd\x91\xce\x24\xb5\x73\xa3\x7d\x4e\x9a\x58\x50\x3f\x31\xdd\xfa\x6f\x2e\xef\x5b\x86\xf8\x45\x5e\x3e\x21\xf0\xca\xcc\x18\x0e\xeb\xe7\xd8\xcb\xfb\x90\xe0\xff\xb5\x48\x00\xd7\x76\x25\x1c\x73\xae\x7f\x3e\xfe\x44\x45\xa1\x8e\x63\x74\x8c\xfe\x05\x00\x00\xff\xff\x68\x6d\x8c\xbf\x97\x09\x00\x00"
 
 func privateforwarderSetup_and_create_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -401,7 +402,7 @@ func privateforwarderSetup_and_create_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "privateForwarder/setup_and_create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x85, 0x8d, 0x93, 0xdb, 0xc7, 0xd4, 0x6f, 0x9f, 0xe, 0x9f, 0x56, 0x7b, 0xbc, 0x3c, 0x70, 0xb0, 0x4d, 0x81, 0x25, 0xc6, 0xd2, 0xd9, 0x15, 0x92, 0x4c, 0xab, 0x2d, 0x7a, 0x8b, 0x54, 0xd, 0xab}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9f, 0xdc, 0xa7, 0xd7, 0x2c, 0x81, 0x40, 0x8e, 0x48, 0xde, 0xea, 0x9e, 0x9f, 0xb2, 0x76, 0x7, 0xff, 0xe4, 0x77, 0x6d, 0x40, 0x8c, 0x2d, 0x7f, 0x40, 0x9e, 0xd7, 0x2b, 0x8d, 0xb2, 0xba, 0x71}}
 	return a, nil
 }
 
@@ -465,6 +466,26 @@ func scriptsGet_balanceCdc() (*asset, error) {
 	return a, nil
 }
 
+var _scriptsGet_balance_genericCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x90\xc1\x6a\xf3\x30\x10\x84\xef\x7a\x8a\xc1\x87\x1f\x1b\x7e\x9c\x4b\xe9\x21\x94\x86\xb4\x90\x73\x0e\x69\xef\x6b\x79\x13\x2f\x55\x24\xa3\x5d\x25\x85\x90\x77\x2f\x71\xe2\x42\x75\x1a\x2d\xec\xcc\xce\xb7\x58\x2c\xb0\x1b\x44\xa1\x3e\xcb\x68\xc8\x4c\xbd\xc2\x06\x46\x47\x81\xa2\x67\xa4\x3d\x08\x27\x2a\xc1\x40\x86\xf3\x40\xc6\x27\xce\x18\xc9\x06\x77\xdb\x16\xc5\x48\xaa\xdc\x43\x22\x48\x41\x11\x94\x0f\xe5\xc8\xd1\x9c\x93\xe3\x98\xb2\xa1\xda\x94\x78\x90\x2e\xf0\x2e\x7d\x71\xac\x9c\x23\xef\x59\xb5\xa6\x10\x1a\xec\x4b\xc4\x91\x24\xd6\xd4\xf7\x99\x55\x97\x58\xdf\xc5\xff\x29\x64\x89\x6d\xe9\x82\xf8\x2d\xd9\xd0\x2c\xf1\xb1\x91\xef\xe7\x27\x5c\x1c\x00\x64\xb6\x92\x23\x0e\x6c\x6b\xef\x53\x89\x36\x7b\x34\xad\xa7\x91\x3a\x09\x62\xc2\xda\x76\x29\xe7\x74\x7e\xf9\x77\xf9\x73\x47\xfb\x76\xaf\x78\x7d\xad\x27\xb7\xf9\x4d\xd5\xe6\x4f\xb3\x6a\x1f\x24\x7e\x47\xab\x15\x46\x8a\xe2\xeb\xea\x3d\x95\xd0\x23\x26\xc3\x3d\x01\x0f\x47\x64\xde\x73\xe6\x9b\xb2\x34\xd1\xfc\xbc\x01\xac\x1a\x77\x75\x3f\x01\x00\x00\xff\xff\xfd\x31\xef\x2e\x72\x01\x00\x00"
+
+func scriptsGet_balance_genericCdcBytes() ([]byte, error) {
+	return bindataRead(
+		_scriptsGet_balance_genericCdc,
+		"scripts/get_balance_generic.cdc",
+	)
+}
+
+func scriptsGet_balance_genericCdc() (*asset, error) {
+	bytes, err := scriptsGet_balance_genericCdcBytes()
+	if err != nil {
+		return nil, err
+	}
+
+	info := bindataFileInfo{name: "scripts/get_balance_generic.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0xa3, 0x96, 0x52, 0x3b, 0x55, 0x1, 0x52, 0xb1, 0xd3, 0xc5, 0x4e, 0xc, 0x93, 0x75, 0x63, 0x15, 0xb1, 0x7f, 0xf8, 0xe2, 0xcb, 0xbb, 0x4, 0xbb, 0x7, 0xd6, 0xaf, 0x8a, 0x60, 0x76, 0x78}}
+	return a, nil
+}
+
 var _scriptsGet_supplyCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\xce\x3d\x6a\xc3\x40\x10\xc5\xf1\x7e\x4e\xf1\x50\x25\x35\xd9\x26\xa4\x48\x9f\x5c\xc0\xf2\x01\x86\xd5\x08\x2d\xde\x2f\x66\x46\x20\x63\x7c\x77\x83\x2a\xbb\x7e\x8f\x3f\xbf\x10\x30\x6f\xc9\x60\x51\x53\x77\xa8\xf0\x62\xf0\x4d\xe0\xcd\x39\xc3\xf6\xde\xf3\x1d\x6b\x92\xbc\x50\x08\x68\xeb\x39\xfe\x1d\x5c\x7a\x96\xb9\xdd\xa4\xc2\x0a\xab\x23\xb6\xea\xca\xd1\x89\x52\xe9\x4d\x1d\xc3\xfb\x69\x20\xe2\x18\xc5\x6c\xe4\x9c\x27\xac\x7b\x45\xe1\x54\xc7\xe9\x17\xd7\xff\x74\xfc\x7c\xe3\x41\x00\xa0\xe2\xbb\xd6\x8f\xfe\xd7\x29\xb9\x9c\x10\x7a\xd2\x2b\x00\x00\xff\xff\xd2\xfd\xa1\x6d\xb1\x00\x00\x00"
 
 func scriptsGet_supplyCdcBytes() ([]byte, error) {
@@ -525,7 +546,7 @@ func setup_accountCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x73\xe3\x36\x0c\xbd\xfb\x57\xa0\x3e\xb8\x52\xc6\x95\xef\x9e\x7c\x74\xd7\xdd\xed\xf4\xd0\x76\x67\x93\xe6\x0e\x53\xb0\xc5\x59\x99\xd4\x90\x94\x1d\x4f\xc6\xff\xbd\x43\xea\x8b\xb4\x25\xc7\xc9\x66\xa2\x43\x22\x4b\x20\x80\x07\x80\xef\x89\x7c\x53\x48\x65\x60\xfc\xb5\x14\x6b\xbe\xcc\xe9\x41\xfe\x20\x31\x1e\xf5\x3e\xbe\xdf\x71\xc3\xb2\xa5\x44\x95\x76\x16\x5f\x9e\x70\x53\x9c\x5f\xf7\x37\x19\x4c\xd1\xe0\x23\xa7\x9d\x1e\x8f\x46\xb3\xd9\x0c\x1e\x32\xae\xc1\x28\x14\x1a\x99\xe1\x52\x00\xd7\x80\x60\x68\x53\xe4\x68\x08\x56\x52\xd9\x9f\xde\x7b\x93\xa1\x01\x26\xcb\x3c\x85\x25\x41\xa9\x29\x85\xe5\x1e\x50\xec\xa5\x20\x30\x12\x30\x4d\x01\x41\xd0\x0e\x56\x75\x6c\x30\x36\x38\x6c\xb1\xcc\x8d\x8b\xc9\xb0\xc0\x25\xcf\xb9\xd9\xdb\x05\x26\x23\xae\x40\x77\x98\x40\x91\x96\xa5\x62\x64\x8d\x47\x7e\xec\xe7\xd1\x08\x00\x20\x27\x03\xe4\xc1\x7d\xb4\x9e\x17\xad\xd3\x39\x74\xf7\xd7\x93\xe7\xa0\x04\xc9\x77\x62\xc4\xb7\xa4\x0e\xb7\xad\x2b\x2f\xf4\x77\x5a\xcd\x01\xb0\x34\x59\x34\x54\xf1\xe4\xdf\x9d\x20\x15\xc3\x64\xd0\xc0\xbb\xaf\xf2\x2d\x14\x15\xa8\x28\xd2\x7c\x2d\x48\xcd\x2b\xff\x9f\xa5\x52\x72\xf7\x88\x79\x49\x53\xf8\x4b\xeb\x92\xee\x8d\x54\xb8\xa6\x2e\xf9\x85\x14\x46\xc9\x3c\x27\x35\x85\x6f\xe5\x32\xe7\x3a\xeb\x5e\x4e\xe1\x1e\xb7\x54\xaf\xff\x4f\x14\xc7\xef\x63\x98\x7c\x62\x4c\x96\xc2\xc4\x4d\xdd\x1a\xc0\xae\x13\x7f\xa0\x41\xb8\x01\x7f\x6c\x12\x5b\xf8\x7c\x4b\x2e\x2e\x32\x63\xe7\x24\x6a\x9a\xf1\xb0\x2f\x68\x0e\x82\xe7\x53\xd8\x72\xda\x55\x3f\xed\xdf\xeb\xe1\x19\x4b\xbe\x3e\x3c\x36\xb1\x6e\xa3\x38\x06\xd4\xbf\xc0\x65\xe6\x77\x6d\xc6\xf6\xba\xbb\x83\x02\x05\x67\xd1\x78\xe1\x26\x4f\x48\x03\xeb\x06\x09\x58\x07\x2e\x29\x37\xae\x26\x23\x60\x35\x82\x71\xdc\x21\x9f\x5d\x05\x60\xc1\x85\xb2\x96\x2b\xbe\x2e\x15\xba\x01\xbb\x9a\x75\xe6\xfe\x2d\x2c\x6a\x33\x02\x14\x7d\x6e\xf8\x0a\x04\x51\x4a\x69\xbb\x88\xaf\xa0\xea\x77\xa2\xab\xbe\x26\x4b\xd7\xf1\xeb\x49\x50\x72\xb7\xfc\x36\x5a\x29\xb9\x99\x77\x8d\x69\xd6\x7c\x43\x93\xc5\x70\x73\x63\xeb\x0e\xcf\x41\x49\x6c\x52\x8a\xec\x1e\xad\x76\x5b\x4f\x52\x28\x52\xd0\xb8\x25\xe0\x06\xb8\x80\xda\x67\xe0\xe5\x28\x45\x6b\x1d\x5d\xff\x16\x64\xc8\x5c\x94\x2f\x9b\xc2\xec\x9d\xdb\xc8\x65\xe9\xf5\xff\xf7\x3e\x40\x71\x3c\x05\x23\x87\x20\x9d\x20\xc9\x09\x15\xd0\x13\xd7\x86\x8b\x75\xb7\x7f\x39\x69\xb0\x74\x83\x42\x0a\xce\x30\x87\x02\x4d\xa6\xfb\x10\x30\x6f\x49\x52\x36\xdb\x21\xea\xc2\x6f\xea\x49\x3b\x8d\x7f\xa9\x07\x55\x53\x47\x2f\x02\xb7\x83\xeb\xba\x4f\xa0\x61\x99\x00\x49\xb0\xa4\xdd\x87\x0b\x2c\xe0\xa6\x37\x87\xa6\x29\xdc\xba\x3e\x21\xb2\xcf\x98\xa3\x60\x34\x0d\xf7\x53\x55\xfe\xc3\x6d\x74\x41\xdd\x6d\x0a\x0d\xa6\xb7\x66\xd1\xd1\xe9\x25\x11\x67\xb3\x86\xc7\x86\x0b\xd3\x97\x43\xd0\x8b\x05\x16\x53\x40\xe3\x8f\xd6\xeb\x7a\xdb\x78\xf3\xb0\x1f\x3b\xec\x6f\xf5\xa1\xbd\xf3\xa9\xe1\x4f\x32\x8e\x73\x6a\x45\xf2\xd5\xce\x57\x3a\xbb\xc3\x9d\x5d\x95\xd2\xaf\x1a\xb0\xa2\xe7\xd6\x97\xa6\x7c\x95\x9c\xd1\xb5\x81\x06\xad\xc9\x9c\x6b\x4b\x50\x0e\x7b\xf5\xa3\x0c\xcc\x62\x8f\x70\xef\x5d\x48\x48\x25\x69\x47\xbb\x99\x25\x14\x6c\xe8\x06\x2a\xbe\x69\x3c\x79\x80\xc7\x71\x6f\xb5\x16\x19\xb1\x1f\x96\x1c\x6d\x29\x7a\x96\x55\x24\xd0\x8d\x04\x6a\x4d\xca\x84\x28\x5e\x2a\x54\xc2\x6c\x90\x28\x9e\x42\xb0\x6c\x43\x5a\xe3\x9a\xe6\xf0\x76\x4c\xad\xbf\x3e\x70\x57\xe0\x29\x3f\x68\x32\x65\x71\x89\xa0\xf8\xdf\x0b\xaf\xd2\x91\x4b\x3e\x40\x1a\x65\x19\xb6\x7d\xb5\xd0\xf8\xe9\xbe\x59\x61\x06\xf3\xa9\xd4\xc6\x7b\x12\xd5\x42\x72\x11\x82\x0f\xd3\x95\xc1\x6c\x9a\x9d\xe7\x78\x8e\xbd\x56\x6c\x06\xdd\x0e\xb9\x6b\x95\xa7\x55\x9c\x49\xd0\xa0\xb3\xfa\xf3\x8e\xe4\x7f\xc2\x32\xf6\xba\xa4\x65\x27\x0b\x4f\x35\xca\xfb\x3e\xaf\xca\xf0\xc6\x7c\x07\xb6\x48\xe5\xf3\x58\x47\x3f\x00\xdb\xcf\xaa\xe1\x89\x7e\xbd\xeb\x50\x36\x51\xfa\xaa\xff\x42\xb8\xbe\x30\x87\x63\xc9\x44\x50\xb4\x22\x45\x82\x51\x7d\x0a\xac\xd3\xd0\x7e\xc3\x43\x71\x0c\x4f\x6a\xdd\x0c\x1c\x31\xe3\xfb\x9d\xdf\x7a\x9a\x7f\x39\x9f\x0e\x4a\x6a\x77\x86\xa9\x12\x0e\x2b\xe1\x81\xac\x35\x74\x54\x15\xd0\xfd\xa3\x27\x62\xa5\x21\xff\x48\x37\x9b\xc1\xa7\x34\xad\xce\x3d\xc7\x27\xeb\xe0\x5c\x5d\x6a\x4b\x82\x98\xa6\xff\xd0\xae\xfa\x52\xdd\x90\xc9\xe4\xd9\x22\x27\x9e\x79\xc4\xbc\x33\xf6\x4b\x22\x1c\xa6\x7e\x18\xfd\x1f\x00\x00\xff\xff\x3f\xef\x24\x49\xe1\x10\x00\x00"
+var _switchboardAdd_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x4d\x73\x22\x37\x10\xbd\xf3\x2b\x3a\x1c\xc8\x8c\x8b\x0c\x77\xca\x1f\xd9\x25\xbb\xa9\x1c\x92\x6c\xad\x1d\xdf\x1b\x4d\xc3\xa8\x76\x90\xa6\x24\x0d\x98\x72\xf1\xdf\x53\xd2\x7c\x49\x30\x83\xb1\xd7\x65\x0e\xf6\x00\xad\xee\xf7\xba\xa5\xf7\x10\xdf\x14\x52\x19\x18\x7f\x2d\xc5\x9a\x2f\x73\x7a\x90\x3f\x48\x8c\x47\xbd\x1f\xdf\xef\xb8\x61\xd9\x52\xa2\x4a\xbb\x88\x2f\x4f\xb8\x29\xce\xaf\xfb\x9b\x0c\xa6\x68\xf0\x91\xd3\x4e\x8f\x47\xa3\xd9\x6c\x06\x0f\x19\xd7\x60\x14\x0a\x8d\xcc\x70\x29\x80\x6b\x40\x30\xb4\x29\x72\x34\x04\x2b\xa9\xec\x5b\xef\x7b\x93\xa1\x01\x26\xcb\x3c\x85\x25\x41\xa9\x29\x85\xe5\x1e\x50\xec\xa5\x20\x30\x12\x30\x4d\x01\x41\xd0\x0e\x56\x75\x6d\x30\xb6\x38\x6c\xb1\xcc\x8d\xab\xc9\xb0\xc0\x25\xcf\xb9\xd9\xdb\x05\x26\x23\xae\x40\x77\x9c\x40\x91\x96\xa5\x62\x64\x83\x47\x7e\xed\xe7\xd1\x08\x00\x20\x27\x03\xe4\xd1\x7d\xb4\x99\x17\x6d\xd2\x39\x74\xcf\xd7\x93\xe7\xa0\x05\xc9\x77\x62\xc4\xb7\xa4\x0e\xb7\x6d\x2a\xaf\xf4\x77\x5a\xcd\x01\xb0\x34\x59\x34\xd4\xf1\xe4\xdf\x9d\x20\x15\xc3\x64\x30\xc0\x7b\xae\xf0\x16\x8a\x0a\x54\x14\x69\xbe\x16\xa4\xe6\x55\xfe\xcf\x52\x29\xb9\x7b\xc4\xbc\xa4\x29\xfc\xa5\x75\x49\xf7\x46\x2a\x5c\x53\x07\x7e\x21\x85\x51\x32\xcf\x49\x4d\xe1\x5b\xb9\xcc\xb9\xce\xba\x2f\xa7\x70\x8f\x5b\xaa\xd7\xff\x27\x8a\xe3\xef\x63\x98\x7c\x62\x4c\x96\xc2\xc4\x4d\xdf\x1a\xc2\x6e\x12\x7f\xa0\x41\xb8\x01\x7f\xdb\x24\xb6\xf1\xf9\x96\x5c\x5d\x64\xc6\xee\x93\xa8\x19\xc6\xc3\xbe\xa0\x39\x08\x9e\x4f\x61\xcb\x69\x57\xbd\xb5\x7f\xaf\x87\xf7\x58\xf2\xf5\xe1\xb1\xa9\x75\x1b\xc5\x31\xa0\xfe\x05\x2e\x0b\xbf\x6b\x11\xdb\xd7\xdd\x1d\x14\x28\x38\x8b\xc6\x0b\xb7\xf3\x84\x34\xb0\x6e\x98\x80\x4d\xe0\x40\xb9\xed\x6a\x32\x02\x56\x33\x18\xc7\x1d\xf3\xd9\x55\x40\x16\x5c\x29\x1b\xb9\xe2\xeb\x52\xa1\xdb\x60\x57\xb3\x2e\xdc\x7f\x84\x45\x1d\x46\x80\xa2\x2f\x0d\x5f\x81\x20\x4a\x29\x6d\x17\xf1\x15\x54\xf3\x4e\x74\x35\xd7\x64\xe9\x26\x7e\x3d\x09\x5a\xee\x96\xdf\x46\x2b\x25\x37\xf3\x6e\x30\xcd\x9a\x6f\x68\xb2\x18\x6e\x6e\x6c\xdf\xe1\x39\x68\x89\x05\xa5\xc8\x9e\xd1\xea\xb4\xf5\x80\x42\x91\x82\xc6\x2d\x01\x37\xc0\x05\xd4\x39\x83\x2c\x47\x10\x6d\x74\x74\xfd\x5b\x80\x90\xb9\x2a\x5f\x36\x85\xd9\xbb\xb4\x91\x43\xe9\xcd\xff\xf7\x3e\x42\x71\x3c\x05\x23\x87\x28\x9d\x30\xc9\x09\x15\xd0\x13\xd7\x86\x8b\x75\x77\x7e\x39\x69\xb0\x72\x83\x42\x0a\xce\x30\x87\x02\x4d\xa6\xfb\x18\x30\x6f\x49\x52\x36\xc7\x21\xea\xca\x6f\xea\x9d\x76\x5a\xff\xd2\x0c\xaa\x96\x8e\x5e\x06\xee\x04\xd7\x7d\x9f\x40\xa3\x32\x01\x93\x60\x49\x7b\x0e\x17\x58\xc0\x4d\x2f\x86\x66\x28\xdc\xa6\x3e\x11\xb2\xcf\x98\xa3\x60\x34\x0d\xcf\x53\xd5\xfe\xc3\x6d\x74\x41\xdf\x2d\x84\x86\xd3\x5b\x51\x74\x72\x7a\x49\xc5\xd9\xac\xd1\xb1\xe1\xc6\xf4\x61\x08\x66\xb1\xc0\x62\x0a\x68\xfc\xad\xf5\xba\xd9\x36\xd9\x3c\xee\xc7\x09\xfb\x47\x7d\x68\x9f\x7c\x69\xf8\x93\x8c\xd3\x9c\xda\x91\x7c\xb7\xf3\x9d\xce\x9e\x70\x17\x57\x41\xfa\x55\x03\x56\xf2\xdc\xe6\xd2\x94\xaf\x92\x33\xbe\x36\x30\xa0\x35\x99\x73\x63\x09\xda\x61\x5f\x2f\xb1\x0c\x64\x2f\x23\xf6\xc3\x4a\x99\x05\xde\x84\xfb\xac\xdc\x91\xed\x06\x88\x5a\x93\x32\x61\xcd\x97\x68\x25\xcc\x16\x89\xe2\x29\x04\xcb\x36\xa4\x35\xae\x69\x0e\xe3\x7b\x47\x1a\x52\x49\xda\x09\x7f\x66\x25\x0d\x1b\xc1\x83\x4a\xf1\x7a\xc0\x8d\xdb\x7c\x7d\xe4\xae\xc0\xf3\x69\xd0\x64\xca\xe2\x12\xf9\xf7\xdd\xfd\x55\xaa\x7f\xc9\xcf\x85\xc6\x07\x86\x63\x5f\x6d\x0b\x3e\xdc\x37\xfb\xc1\x20\x9e\xca\x1b\xbc\x4f\xa2\x5a\xf6\x2f\x62\xf0\x61\x2e\x30\x88\xa6\x39\x27\x4e\x95\xd8\x6b\xad\x61\x30\xed\x50\xba\xd6\x27\x5a\x7f\x98\x04\x03\x3a\xeb\x16\xef\x28\xd5\x27\x9a\x60\x5f\x97\x8c\xec\x64\xe1\xa9\xa3\x78\xbf\xa6\xab\x36\xbc\x11\xef\xc0\x11\xa9\x72\x1e\xbb\xde\x07\x70\xfb\x59\xef\x3a\x71\x9b\x77\xdd\x94\x4d\x95\xbe\xee\xbf\x50\xae\xaf\xcc\xe1\xd8\xe0\x10\x14\xad\x48\x91\x60\x54\xdf\xd9\x6a\x18\xda\x1f\x78\x68\x65\xe1\xbd\xaa\xdb\x03\x47\xca\xf8\x7e\xb7\xad\x9e\xe1\x5f\xae\xa7\xc1\xd2\xb8\xf7\xc6\x51\x01\x0e\x3b\xe1\x91\x1c\x57\xfd\x1b\x55\x0d\x74\xff\xe8\x89\x58\x69\xc8\xbf\x80\xcd\x66\xf0\x29\x4d\xab\x5b\xca\xf1\x3d\x38\xb8\x05\x97\xda\x8a\x20\xa6\xe9\x3f\xb4\xab\x7e\x57\x6e\xc8\x64\xf2\x6c\x93\x13\x2f\x3c\x62\xde\x8d\xf8\x25\x13\x0e\xa1\x1f\x46\xff\x07\x00\x00\xff\xff\x9a\xb6\x11\x2f\x8f\x10\x00\x00"
 
 func switchboardAdd_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -541,11 +562,11 @@ func switchboardAdd_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe6, 0x1f, 0x2c, 0x4b, 0x19, 0x6a, 0x46, 0xa9, 0x82, 0x28, 0x1, 0x74, 0xff, 0x3b, 0xa, 0xda, 0x8e, 0x30, 0x9c, 0x1, 0xc8, 0x41, 0x8, 0x96, 0x80, 0x22, 0x20, 0x70, 0x89, 0x45, 0x79, 0x1}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb5, 0xcb, 0xd4, 0x4, 0x63, 0x88, 0xd, 0x95, 0x8e, 0xa0, 0xb1, 0x41, 0x92, 0xbc, 0x5, 0xb7, 0x91, 0xb9, 0x40, 0xac, 0xe3, 0xc6, 0x26, 0xe6, 0xae, 0xb, 0x30, 0xcd, 0x6e, 0x1b, 0xe6, 0xa0}}
 	return a, nil
 }
 
-var _switchboardAdd_vault_wrapper_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x55\xcb\x6e\xf2\x46\x14\xde\xfb\x29\xbe\xb2\x48\x6d\xe9\x97\xd9\xa3\xfc\x49\x53\xda\x74\xd5\x8b\x12\x94\xae\x0f\xe3\x83\x3d\x8d\x99\xb1\x66\x8e\x71\x50\xc4\xbb\x57\x1e\xe3\x5b\x12\x50\x17\xf5\x02\x6c\x73\x6e\xdf\xe5\x0c\x7a\x5f\x59\x27\x58\x3c\xd6\x26\xd7\xdb\x92\x37\xf6\x95\xcd\x22\xfa\xf2\xf5\x73\xa3\x45\x15\x5b\x4b\x2e\x1b\x23\x7e\x7d\xa3\x7d\x75\x3d\xef\x77\x16\xca\x48\xe8\x45\x73\xe3\x17\x51\xb4\x5c\x2e\xb1\x29\xb4\x87\x38\x32\x9e\x94\x68\x6b\xa0\x3d\x08\xc2\xfb\xaa\x24\x61\xec\xac\x6b\x1f\x27\xbf\x4b\x41\x02\x65\xeb\x32\xc3\x96\x51\x7b\xce\xb0\x3d\x82\xcc\xd1\x1a\x86\x58\x50\x96\x81\x60\xb8\xc1\x81\xea\x52\xd0\x38\xaa\x2a\x76\x50\x54\xd1\x56\x97\x5a\x8e\xa1\xaf\x58\x48\xc1\xda\xc1\x8f\x60\xe0\xd8\xdb\xda\x29\x3e\x4f\xc6\x47\x34\xa1\xd1\x3f\xb5\x17\x18\xe6\xac\x4d\x53\x05\x99\x9c\xdb\x6c\x28\x6b\xc4\x91\x12\x18\xda\x87\x37\x47\x90\x63\x74\xe0\xb5\xc9\xb1\x73\x76\x3f\x69\x07\x69\x69\x18\xd3\x02\x96\x90\xd6\x90\x91\x36\xc8\xd7\x55\x20\xae\xd1\x52\x7c\x1e\xb0\x2d\x15\x4d\xc9\x78\x8f\x22\x00\x28\x59\xba\xd2\x4f\xac\x58\x1f\xd8\xad\x07\xb0\x2b\x8c\xf7\xb7\x37\xef\x33\x3d\xd2\x3e\xfc\x74\x37\x94\x99\x74\x7b\xe2\xdd\x0a\xa0\x5a\x8a\xf8\x92\xfc\xe9\x9f\x8d\x61\x97\xe0\xe6\x62\xc0\xe4\xbe\x9b\xb5\x72\x5c\x91\xe3\xd8\xeb\xdc\xb0\x5b\x75\xf5\x7f\xb6\xce\xd9\xe6\x85\xca\x9a\x13\xdc\x3c\x28\x65\x6b\x23\x49\x0f\xaf\x9f\x2d\x08\xfa\x0b\x09\xe1\x3b\xa6\x76\x4b\x5b\xdd\xca\x03\xaf\xcf\xbc\xb6\xfe\x8a\x7b\x2d\x37\xc7\x8a\x57\x30\xba\xfc\x86\x83\xe6\xa6\x7b\x6c\x3f\x6f\x2f\x7b\x33\x7d\xdc\xbc\xf4\xbd\xee\xe2\x24\x01\xf9\x1f\xf0\xdf\xc2\xef\x87\x89\xdb\xeb\xfe\x1e\x15\x19\xad\xe2\xc5\x3a\x18\xc9\x58\x41\xde\x23\x41\x5b\x20\x0c\x15\x6c\x3e\x35\xd4\x22\x19\x91\x2f\x97\xf8\x8d\x65\x62\x9f\x9d\x75\x0d\xb9\x6c\xe6\xe9\xe0\xb4\x10\xd3\xf1\xfa\xa3\x07\x75\x2c\x0e\x75\x3c\x97\xbb\xf4\x82\x4b\xf0\xfd\x9c\x97\x0e\x25\x35\xfb\x34\x67\xb9\xe2\x99\x78\x06\x75\x10\x27\x75\xe7\x88\xbf\x48\x8a\x21\x24\xb9\xc8\x45\x1f\x3e\x41\xf3\x01\xfe\xba\x60\xf5\x0a\xbd\x0b\xf8\xbe\x08\x07\xbf\x69\x2f\x7e\x48\x21\xef\xd9\xc9\x7c\xbc\x6b\xe8\x53\xd5\x36\x88\x93\x6f\xb3\x8c\x3d\x7b\x4f\x39\xaf\xb0\x78\x0e\xd4\x20\xb3\xec\xc3\xd4\x05\x1d\x18\x84\xc6\xba\xd7\xb0\xe4\x67\x7e\xce\xf2\x7c\x85\x67\xa4\xe1\x93\xae\x04\xc7\x3b\x76\x6c\x14\xf7\xa7\x44\x27\x85\x9f\x6d\xfe\x0c\xc7\x7c\x49\x47\xf1\xbc\x58\x47\x39\xa7\xdb\xb0\x4e\xb7\xff\xdf\xea\x7e\xd0\xba\xbd\x5a\xc3\xad\x70\x39\xb9\x1b\x65\xe6\x81\xcb\x3e\xe8\x06\x9e\x33\x31\x01\xd9\xfb\xe1\xd4\x7d\xf1\x1b\xab\x5a\x78\x7a\x3c\x2c\x97\x78\xc8\xb2\x6e\x87\x46\x5f\xf4\x7c\x4e\x8e\xf8\xda\xb7\x92\x51\x96\xfd\xc1\x4d\x58\x5a\xec\x59\x0a\x7b\x95\xe0\x74\x12\xfe\x77\xf7\x77\x32\xe7\x43\x4d\x8e\xdb\x6b\x46\x9b\x1b\x4c\xc6\xa3\xe8\xa7\xd9\x71\x16\x1a\xdd\xc5\xc9\x47\xd7\x9c\xa2\xe8\x14\xfd\x1b\x00\x00\xff\xff\xdd\xbe\xc9\x37\xa9\x07\x00\x00"
+var _switchboardAdd_vault_wrapper_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x55\x4b\x6f\xe3\x36\x10\xbe\xeb\x57\x7c\xf5\x21\x95\x80\x85\x7c\x37\xb2\x49\xb7\x69\xb7\xa7\x3e\xb0\x6b\xa4\xe7\x31\x35\x96\xd8\xc8\xa4\x40\x8e\xac\x18\x0b\xff\xf7\x82\x94\xf5\xda\xc4\x46\x0f\xd5\xc1\x96\xe4\x79\x7d\x8f\xa1\xf5\xa1\xb1\x4e\xb0\xfa\xdc\x9a\x52\xef\x6a\xde\xda\x17\x36\xab\xe4\xdd\xd7\x5f\x3b\x2d\xaa\xda\x59\x72\xc5\x14\xf1\xeb\x2b\x1d\x9a\xdb\x79\xbf\xb3\x50\x41\x42\xcf\x9a\x3b\xbf\x4a\x92\xf5\x7a\x8d\x6d\xa5\x3d\xc4\x91\xf1\xa4\x44\x5b\x03\xed\x41\x10\x3e\x34\x35\x09\x63\x6f\x5d\x78\x9c\xfd\x2e\x15\x09\x94\x6d\xeb\x02\x3b\x46\xeb\xb9\xc0\xee\x04\x32\x27\x6b\x18\x62\x41\x45\x01\x82\xe1\x0e\x47\x6a\x6b\x41\xe7\xa8\x69\xd8\x41\x51\x43\x3b\x5d\x6b\x39\xc5\xbe\x62\x21\x15\x6b\x07\x3f\x81\x81\x63\x6f\x5b\xa7\xf8\x32\x19\x9f\xd0\xc5\x46\xff\xb4\x5e\x60\x98\x8b\x90\xa6\x2a\x32\x25\x87\x6c\x28\x6b\xc4\x91\x12\x18\x3a\xc4\x37\x27\x90\x63\xf4\xe0\xb5\x29\xb1\x77\xf6\x30\x6b\x07\x09\x34\x4c\x69\x11\x4b\x4c\xeb\xc8\x48\x08\xf2\x6d\x13\x89\xeb\xb4\x54\x6f\x07\x0c\xa5\x92\x39\x19\xdf\x92\x04\x00\x6a\x96\xbe\xf4\x17\x56\xac\x8f\xec\x9e\x46\xb0\x1b\x4c\xf7\xf7\x77\xdf\x16\x7a\xe4\x43\xf8\xf9\x61\x2c\x33\xeb\xf6\x85\xf7\x1b\x80\x5a\xa9\xd2\x6b\xf2\xe7\x7f\x76\x86\x5d\x86\xbb\xab\x01\xb3\xfb\x7e\xd6\xc6\x71\x43\x8e\x53\xaf\x4b\xc3\x6e\xd3\xd7\xff\xd9\x3a\x67\xbb\x67\xaa\x5b\xce\x70\xf7\x49\x29\xdb\x1a\xc9\x06\x78\xc3\x6c\x51\xd0\x5f\x48\x08\x1f\x31\xb7\x5b\x1e\x74\xab\x8f\xfc\x74\xe1\x35\xf8\x2b\x1d\xb4\xdc\x9e\x1a\xde\xc0\xe8\xfa\x03\x8e\x9a\xbb\xfe\x31\x7c\xde\x5f\xf7\x66\xfe\x79\xfb\x3c\xf4\x7a\x48\xb3\x0c\xe4\x7f\xc0\x7f\x0b\x7f\x1c\x27\x0e\xd7\xe3\x23\x1a\x32\x5a\xa5\xab\xa7\x68\x24\x63\x05\xe5\x80\x04\xa1\x40\x1c\x2a\xda\x7c\x6e\xa8\x55\x36\x21\x5f\xaf\xf1\x1b\xcb\xcc\x3e\x7b\xeb\x3a\x72\xc5\xc2\xd3\xd1\x69\x31\xa6\xe7\xf5\x47\x0f\xea\x59\x1c\xeb\x78\xae\xf7\xf9\x15\x97\xe0\xe3\x25\x2f\x1f\x4b\x6a\xf6\x79\xc9\x72\xc3\x33\xe9\x02\xea\x28\x4e\xee\x2e\x11\x7f\x91\x54\x4b\x1c\x4f\x15\xab\x17\xe8\x7d\x1c\x74\x08\x9b\xa3\xe0\x57\xed\xc5\x8f\x29\xe4\x3d\x3b\x59\xf6\xb9\x05\x23\x57\xa1\x41\x9a\x7d\x58\x64\x1c\xd8\x7b\x2a\x79\x83\xd5\xd7\x88\x11\x85\x65\x1f\xa5\xa8\xe8\xc8\x20\x74\xd6\xbd\xc4\x6d\xbd\x00\xbd\xf0\xfc\xce\x80\xab\xb1\xf0\x5b\x81\x08\x8e\xf7\xec\xd8\x28\x1e\xd6\xbd\xe7\xd4\x2f\x56\x78\x81\x63\xb9\x6d\x93\x0a\x5e\xac\xa3\x92\xf3\x5d\xdc\x8b\xfb\xff\x6f\x07\xbf\x13\x2d\x5c\xc1\x39\x1b\x5c\x4f\xee\x47\x09\x62\x2e\x52\xb3\x77\xcd\xdd\x0f\xbc\x64\x62\x06\x72\xf0\xf5\xb9\xff\xe2\x57\x56\xad\xf0\x7c\xcf\xd7\x6b\x7c\x2a\x8a\x7e\x19\x26\x5f\x0c\x7c\xce\xce\xea\xd6\x07\xc9\xa8\x28\xfe\xe0\x2e\x6e\x1f\x0e\x2c\x95\xbd\x49\x70\x3e\x0b\xff\xbb\xff\x5f\x58\xf2\xa1\x66\xe7\xe6\x2d\xa3\x2d\x0d\x26\xd3\x99\xf2\xd3\xe2\x5c\x8a\x8d\x1e\xd2\xec\x7b\xd7\x9c\x93\xe4\x9c\xfc\x1b\x00\x00\xff\xff\xc1\x6f\x30\xb6\x72\x07\x00\x00"
 
 func switchboardAdd_vault_wrapper_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -561,7 +582,7 @@ func switchboardAdd_vault_wrapper_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/add_vault_wrapper_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x69, 0x6, 0xae, 0x93, 0x30, 0x7b, 0xac, 0xf, 0xce, 0x66, 0x2a, 0x8f, 0x72, 0xb4, 0xf1, 0xab, 0x8, 0x90, 0xbf, 0xb, 0x33, 0x78, 0x4b, 0x6a, 0x7b, 0x64, 0x84, 0x5c, 0xdd, 0x97, 0xa7, 0xab}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x30, 0xd2, 0xdf, 0xb, 0x44, 0x27, 0x54, 0x20, 0x57, 0x1f, 0x45, 0x36, 0x1b, 0x68, 0x11, 0x8, 0x75, 0xac, 0x18, 0xa, 0xa8, 0x0, 0x79, 0xcb, 0x6f, 0xb6, 0x55, 0x99, 0xe6, 0x55, 0x61, 0x23}}
 	return a, nil
 }
 
@@ -605,7 +626,7 @@ func switchboardBatch_add_vault_wrapper_capabilitiesCdc() (*asset, error) {
 	return a, nil
 }
 
-var _switchboardRemove_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\xcf\x6e\x9b\x40\x10\xc6\xef\x3c\xc5\x27\x1f\x52\xb8\xc0\x1d\xa5\x89\x5a\xab\xed\xb1\x91\x13\xe5\x3e\xac\x07\x58\x15\x76\xd1\xee\x60\xc7\x8a\xfc\xee\xd5\x42\xcc\x1f\xd5\x6e\x2f\xdd\x0b\xb0\xcc\xcc\x37\xf3\x9b\x19\xdd\x76\xd6\x09\x36\xdf\x7b\x53\xe9\xa2\xe1\x17\xfb\x8b\xcd\x26\xba\x7a\xfd\x7c\xd4\xa2\xea\xc2\x92\xdb\xcf\x16\xdf\xde\xa8\xed\x26\xbf\x28\xcb\x32\xbc\xd4\xda\x43\x1c\x19\x4f\x4a\xb4\x35\xd0\x1e\x04\xe1\xb6\x6b\x48\x18\xa5\x75\xe1\x73\xf1\x5f\x6a\x12\x28\xdb\x37\x7b\x14\x8c\xde\xf3\x1e\xc5\x09\x64\x4e\xd6\x30\xc4\xc2\x71\x6b\x0f\x8c\xf2\x23\x19\x48\x10\xc3\x81\xfa\x46\x06\x41\x45\x1d\x15\xba\xd1\x72\x42\xe9\x6c\x0b\xa9\x59\x3b\xf8\x39\x5d\x38\xf6\xb6\x77\x8a\x83\x79\xb4\x90\x8e\x3b\x92\x3a\xc7\x53\x5f\x34\x5a\x3d\x91\xd4\x09\xde\xa3\x08\x00\x1a\x16\xf0\xa2\xb6\xd7\xa0\xb6\x1d\x85\xe4\x94\x63\x3b\x69\xde\xdf\xbd\xaf\x30\xa5\x3b\x56\xac\x0f\xec\xce\x0f\x53\xa4\x45\x2e\x3b\x2e\x73\x80\x7a\xa9\xe3\x5b\x74\xd3\x9f\x47\xc3\x2e\xc1\xdd\x4d\x83\xc5\xfb\x98\x6e\xe7\xb8\x23\xc7\xb1\xd7\x95\x61\x97\x8f\xf1\xbf\x5a\xe7\xec\xf1\x95\x9a\x9e\x13\xdc\x7d\x51\xca\xf6\x46\xa6\x0a\xc3\xc9\x32\xfc\x60\x09\xc0\xae\x41\xc4\x18\xed\x93\x07\x8d\xbe\x93\x9f\xe7\xa6\x4c\x6f\xe3\xc1\xe7\x0f\xd7\x74\x8a\xaa\xd9\xa7\x15\xcb\x5f\x60\x0d\xbd\x48\x26\x89\x70\x1e\x1f\xd1\x91\xd1\x2a\xde\x3c\x0f\xe1\xb0\xb7\xec\x61\xac\xa0\xa6\x03\xe3\xe2\xbb\x68\x06\x48\x50\xe9\x03\x1b\x84\x68\x9b\xe4\x8f\x52\x09\x8e\x4b\x76\x6c\xd4\x30\x5a\x73\x95\x7e\xd9\xa4\x75\xa1\xeb\xee\xcd\xc5\x79\xb1\x8e\x2a\x4e\x8b\x81\xf3\xfd\xff\xeb\xe9\x43\xbc\xc2\x10\x4e\xe8\x49\x8e\xdb\xce\x63\x2a\x61\x84\x57\xae\xc9\x82\xe1\x76\xd8\xb0\x40\x6f\x4c\x78\x4d\x62\x51\xe4\x05\xdb\x79\x7c\xf0\x1b\xab\x5e\x78\x9e\x9b\x2c\xc3\x6e\x5c\xc9\x9b\x83\xb3\xd8\xbd\xde\x6b\x53\x0d\xb7\xe9\xb8\xc8\xc3\xac\xc4\x09\x5a\x96\xda\x5e\x50\x5f\x01\xbd\x32\x9f\x55\xf2\x7f\x4d\xdf\x9c\xfd\x39\xfa\x1d\x00\x00\xff\xff\x13\x56\x88\xaa\xe0\x04\x00\x00"
+var _switchboardRemove_vault_capabilityCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x4f\x8f\x9b\x3c\x10\xc6\xef\x7c\x8a\x47\x39\xe4\x85\x0b\xdc\xd1\xbe\xbb\x6a\xa3\xb6\xc7\xae\xd2\xd5\xde\x07\x67\x08\x56\xc1\x46\xf6\x38\xd9\x68\x95\xef\x5e\x01\x59\xfe\xa8\xa1\xbd\xd4\x17\xc0\xcc\xcc\xf3\xf8\x37\x1e\xdd\xb4\xd6\x09\x36\x5f\x83\x39\xea\xa2\xe6\x17\xfb\x93\xcd\x26\xba\xbb\xfd\xe3\xac\x45\x55\x85\x25\x77\x98\x22\xbe\xbc\x51\xd3\x8e\x79\x51\x96\x65\x78\xa9\xb4\x87\x38\x32\x9e\x94\x68\x6b\xa0\x3d\x08\xc2\x4d\x5b\x93\x30\x4a\xeb\xba\xcf\xd9\x7f\xa9\x48\xa0\x6c\xa8\x0f\x28\x18\xc1\xf3\x01\xc5\x05\x64\x2e\xd6\x30\xc4\xc2\x71\x63\x4f\x8c\xf2\x66\x06\xd2\x89\xe1\x44\xa1\x96\x5e\x50\x51\x4b\x85\xae\xb5\x5c\x50\x3a\xdb\x40\x2a\xd6\x0e\x7e\xb2\x0b\xc7\xde\x06\xa7\xb8\x0b\x8f\x66\xd2\x71\x4b\x52\xe5\x78\x0e\x45\xad\xd5\x33\x49\x95\xe0\x3d\x8a\x00\xa0\x66\x01\xcf\xce\xf6\xda\xa9\xed\x06\x21\xb9\xe4\xd8\x8d\x9a\x0f\xdb\xf7\x05\xa6\x74\xcf\x8a\xf5\x89\xdd\xf5\x71\xac\x34\xf3\xb2\xe7\x32\x07\x28\x48\x15\xaf\xd1\x4d\xbf\x9f\x0d\xbb\x04\xdb\xd5\x80\xd9\xfb\x60\xb7\x75\xdc\x92\xe3\xd8\xeb\xa3\x61\x97\x0f\xf5\x3f\x5b\xe7\xec\xf9\x95\xea\xc0\x09\xb6\x9f\x94\xb2\xc1\xc8\x78\xc2\x6e\x65\x19\xbe\xb1\x74\xc0\xee\x41\xc4\x50\xed\x3f\x0f\x1a\x72\xc7\x3c\xcf\x75\x99\xae\xe3\xc1\xff\xb7\xd4\x74\xac\xaa\xd9\xa7\x47\x96\x3f\xc0\xea\x7b\x91\xfc\xe6\x8d\xe0\xb8\x64\xc7\x46\xf5\x77\x61\xb2\xe5\xe7\x54\x97\xce\x96\xb8\x27\x37\x5e\xac\xa3\x23\xa7\x45\x0f\xe6\xe1\xdf\x35\xe1\x31\x1e\x0d\x7c\xac\x0e\x62\x8e\xf5\xe4\xc1\x4a\x77\xe7\x16\xa9\x09\x9e\x9e\xd0\x92\xd1\x2a\xde\xec\xfa\x91\x30\x56\x30\x18\x5e\x92\x98\x1d\x72\x73\xc3\x76\x1d\x1e\xfc\xc6\x2a\x08\x4f\x8d\xce\x32\xec\x87\x19\x5a\xed\xf4\x6c\x58\x82\xd7\xe6\xd8\xef\xa6\xc3\xe4\xf5\xcd\x8d\x13\x34\x2c\x95\xfd\x40\x7d\x07\xf4\x22\x7c\x52\xc9\xff\x76\x5d\x26\xf7\xd7\xe8\x57\x00\x00\x00\xff\xff\x8b\xa6\x9d\xb1\x91\x04\x00\x00"
 
 func switchboardRemove_vault_capabilityCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -621,7 +642,7 @@ func switchboardRemove_vault_capabilityCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "switchboard/remove_vault_capability.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb2, 0xef, 0x4d, 0xbe, 0x77, 0x6b, 0xca, 0xcf, 0xab, 0x7a, 0x4a, 0x30, 0x5b, 0xc3, 0xeb, 0x88, 0xf0, 0x2, 0x26, 0xc4, 0xf4, 0x7b, 0xb6, 0x36, 0x8c, 0xbd, 0xe0, 0x13, 0xe2, 0xb8, 0x97, 0x93}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0xc2, 0xce, 0x7f, 0x72, 0x8a, 0x85, 0x53, 0x9c, 0x9c, 0x10, 0x9e, 0xf2, 0x96, 0x21, 0x5f, 0x4f, 0xfb, 0xd1, 0xad, 0xc5, 0x15, 0x11, 0x1, 0x5b, 0x8a, 0x25, 0xb3, 0x33, 0x2f, 0x8, 0x57}}
 	return a, nil
 }
 
@@ -745,7 +766,7 @@ func switchboardTransfer_tokensCdc() (*asset, error) {
 	return a, nil
 }
 
-var _tokenforwarderCreate_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\x4f\x6f\xe3\xb6\x13\xbd\xf3\x53\xcc\xcf\x87\xfd\xd9\x81\x23\xa3\xff\x2e\x46\xb2\xc1\xd6\xdb\x14\x0b\xb4\xc5\xa2\xf1\xe6\xda\x1d\x53\x63\x93\x5d\x99\x14\xc8\x91\xb5\xc6\x22\xdf\xbd\x20\x29\xd1\x92\xf3\x07\xe9\xa5\x3e\x04\x91\xc8\x99\x79\xef\xcd\x9b\xd1\xe2\xe2\x42\x88\xb5\xd2\x1e\xd8\xa1\xf1\x28\x59\x5b\x03\xda\x03\x02\xd3\xbe\xae\x90\x09\xb6\xd6\x85\xc7\xc1\x39\x2b\x64\x90\xb6\xa9\x4a\xd8\x10\x34\x9e\x4a\xc1\x16\x3c\x31\x34\x35\xa0\x01\x94\xd2\x36\x86\x81\x6d\x08\x6e\xd1\x95\x50\x52\x6d\xbd\x66\x2a\x81\xed\x17\x32\x3e\x9c\xa1\xb1\xac\xc8\x81\x23\x49\xfa\x40\xae\x10\xe2\xc3\x16\xd0\x1c\xad\x21\xf0\x64\x4a\x3f\xbc\x1c\xea\xb8\xff\x7b\xb8\x4d\x19\xc9\xc1\x9f\x5d\xdc\x5c\xb0\xa2\xfc\x04\xad\xae\x2a\xf8\xbb\xf1\x9c\x8b\xb3\xb2\x9e\x06\xb9\xc2\xf5\x7b\x6c\x2a\x4e\x4c\x14\x7a\xd8\x10\x19\x11\x18\xa0\x8f\xc7\x8e\xa4\xae\x35\x19\x06\x34\x25\xd0\x5e\x87\x7f\x80\x0e\xe1\x4d\x0c\xd2\xa6\xd4\x12\x99\xbc\x68\x95\x96\x2a\xa2\xeb\x0b\x06\x96\xaa\x2f\x58\x74\x02\xb7\x78\x9c\x83\x0e\xfc\xc0\x6e\xb7\x97\x52\xa1\x36\xe0\xc9\x1d\xb4\x24\x68\xd1\x70\x84\xb6\xb7\x46\xb3\x75\xd0\x2a\x1b\xda\xd0\x25\xd4\x66\x27\x4e\xf0\x35\xcf\x41\x33\x48\x34\xd0\x22\x4b\x95\x60\xc5\x23\x4f\x04\xad\x22\x47\x03\x00\x20\x71\x4f\xb0\x75\x76\x5f\x08\x71\xc7\x54\x77\x37\x53\xb7\x52\xab\x3c\xb4\x9a\x55\x0a\xc8\x2c\xdc\x52\x88\xef\x0a\x58\x2b\x82\xdb\xc6\xec\xf4\xa6\x22\x58\xc7\x1b\xd2\x1a\x76\x28\x83\x0a\x4c\x6e\x8b\x92\xc0\xab\xe8\x07\xac\x1c\x61\x79\x0c\xbe\x28\xa9\xae\xec\x91\x4a\xf0\x76\x4f\x11\x94\xf8\x3e\x65\xc3\xba\xae\xb4\xc4\x90\x8f\xc7\xf9\xba\x2c\x83\xe8\x42\xfc\x90\x82\x06\x1d\xe9\xec\xd5\x5d\x56\x78\x20\xc0\xae\xa1\xc1\xac\x1c\xfd\x9c\x12\x3b\x42\xa6\x52\x00\x40\x6c\xa4\x67\xeb\xa8\x04\x6d\x40\xb3\x8f\x4f\xb8\xa3\xc4\x1d\xa1\x6e\x36\x95\xf6\x8a\xca\xec\x25\xf1\x63\x01\xef\x23\x90\xa8\xe7\xe7\xc8\xfe\x36\xf7\xa4\x90\xa5\xfc\x7c\x02\x1f\x5d\x5a\xea\xed\x96\xdc\x00\xa6\xf8\xa9\x08\x9e\x05\x04\x43\x2d\xbc\x4b\x2f\x97\xb0\x8a\xc8\x62\xda\x9e\x8f\xb1\x6e\x8f\x55\x75\x9c\x47\xb8\xac\xc8\x80\x6b\x4c\xaa\x9c\x88\xfc\x95\x5b\x93\x4a\x0f\x86\x32\x05\xed\x88\x59\x9b\x1d\x8c\x06\x22\xb4\x7e\x54\x28\x19\xf8\xcc\xe8\x85\xb8\x58\x08\xa1\xf7\xb5\x75\x0c\x93\xbe\xe1\x91\xf1\x24\xbf\xfe\xe5\x2b\xee\xeb\x47\x6f\xcf\x64\x99\x3c\x9d\xe5\x77\x62\x2c\x91\xf1\x5e\x53\xeb\x27\x42\x0c\xc0\x4f\xfb\x15\xb0\x84\x77\x65\xe9\xc8\xfb\x19\x7c\x13\x91\x51\xed\xa8\x46\x47\x53\xaf\x77\x26\x9c\x63\xc3\x6a\xfa\xb3\x75\xce\xb6\xf7\x58\x35\x34\x87\x0f\xde\x37\x74\x97\x5a\xb9\xc2\x1a\x37\xba\xd2\x7c\x5c\x85\xae\xd8\xaa\x22\x37\x87\x8f\xa9\xb1\xa7\xc3\x39\xdc\xe1\x81\xba\xf8\x4f\xa6\x3e\x3f\x9f\xc1\x9b\xae\x51\x19\x47\xf8\x55\xc4\x70\x08\x36\x7b\x8f\x8c\x70\x0d\x43\x35\x0a\x47\xde\x56\x07\x5a\x75\x6e\x08\x2c\xa7\xe1\x5d\xe3\x24\xad\x8f\x35\x2d\xc1\xe8\x6a\x0e\x07\x4d\x6d\x7a\x0c\x7f\xaf\x9e\x57\xa8\xb8\x5d\xdf\xf7\xb5\xde\x4e\x67\x33\x40\xff\x3f\x78\xdd\xf5\x9b\x8c\x38\xfc\x6e\x6e\xa0\x46\xa3\xe5\x74\xb2\x8a\xf3\x62\x2c\x07\x9f\x24\x26\x10\x12\x44\x50\xdd\xe8\x50\xf6\xf3\x64\x76\x62\xbe\x58\xc0\xaf\xc4\xbd\x61\x92\xad\x64\x96\x2b\x87\xf6\x06\xdb\x50\x30\xe1\x60\x1b\xda\x91\x86\xa7\x51\xbe\x0e\x48\x3a\xa9\xb3\x09\x66\x45\x4e\xad\xc9\x17\x3b\xe2\xab\x37\xdf\x46\xcc\x8b\xde\xdb\x0f\x6f\xa7\xb9\x21\x45\x1f\xff\x11\x59\xcd\x5e\x25\xc1\x33\x7c\xce\x98\x0f\x46\x35\xcf\x5f\xda\x26\x61\xf3\x68\xee\x3f\x29\xe7\xe3\x55\xda\x7e\x14\x07\x6b\xfc\x91\x97\xe0\xea\x12\x1e\xed\x95\x58\xf1\x0f\x6a\xf3\xc7\x6e\x9a\x35\x5b\x9e\xe4\x3b\x91\x4c\xd3\x51\x74\x0b\xad\x08\xc0\xa6\x57\x97\x31\xff\x1c\xd8\x2e\x61\xd1\x1d\x2d\x68\xe0\xd9\x9c\x7d\xcc\xf7\x93\xa9\xb4\xf9\x12\x81\xd3\x57\xed\xe3\x42\x39\x89\x73\x5e\x73\xd4\xab\xa6\x9f\xa5\x67\xdb\x32\x2c\xf4\x5b\x5f\xc6\x24\xfb\x75\xf4\x9f\x6a\xc9\x48\xb7\xb8\xdb\x7b\x0b\xac\xb0\x86\xeb\x27\xc1\xf4\x6a\xe8\xb0\x20\x5e\xb2\xd0\xc8\x2b\x11\xdb\x8b\x6a\x8d\xae\x3f\xea\xc1\x08\x42\xaf\xc6\x39\xe2\x39\x20\x2f\xe1\x5f\x6b\x94\x21\xc4\x8d\x26\x5f\xd4\x27\xdf\x7d\xbd\x40\xe7\x36\x3c\x2b\xf7\xdf\x29\x35\xc4\x9e\xa4\x5a\xc4\x73\xf9\x9c\x7d\x43\xd6\x07\xf1\x20\xfe\x09\x00\x00\xff\xff\x8f\x70\x87\x17\xd0\x0a\x00\x00"
+var _tokenforwarderCreate_forwarderCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\xdf\x6f\xdb\x36\x10\x7e\xe7\x5f\x71\xf3\x43\x67\x07\x8e\x8c\xfd\x7a\x31\x92\x06\x9d\xbb\x0c\x05\xb6\xa1\x58\xdc\xbc\xae\x67\xea\x6c\x72\x95\x49\x81\x3c\x59\x35\x8a\xfc\xef\x03\x49\x89\x96\x9c\x34\xc8\x5e\xea\x87\x20\x12\x79\x77\xdf\x7d\xdf\x77\xa7\xc5\xc5\x85\x10\x6b\xa5\x3d\xb0\x43\xe3\x51\xb2\xb6\x06\xb4\x07\x04\xa6\x7d\x5d\x21\x13\x6c\xad\x0b\x8f\x83\x73\x56\xc8\x20\x6d\x53\x95\xb0\x21\x68\x3c\x95\x82\x2d\x78\x62\x68\x6a\x40\x03\x28\xa5\x6d\x0c\x03\xdb\x10\xdc\xa2\x2b\xa1\xa4\xda\x7a\xcd\x54\x02\xdb\x4f\x64\x7c\x38\x43\x63\x59\x91\x03\x47\x92\xf4\x81\x5c\x21\xc4\xbb\x2d\xa0\x39\x5a\x43\xe0\xc9\x94\x7e\x78\x39\xd4\x71\xdf\x7b\xb8\x4d\x19\xc9\xc1\xdf\x5d\xdc\x5c\xb0\xa2\xfc\x04\xad\xae\x2a\xf8\xb7\xf1\x9c\x8b\xb3\xb2\x9e\x06\xb9\xc2\xf5\x7b\x6c\x2a\x4e\x9d\x28\xf4\xb0\x21\x32\x22\x74\x80\x3e\x1e\x3b\x92\xba\xd6\x64\x18\xd0\x94\x40\x7b\x1d\xfe\x01\x3a\x84\x37\x31\x48\x9b\x52\x4b\x64\xf2\xa2\x55\x5a\xaa\x88\xae\x2f\x18\xba\x54\x7d\xc1\xa2\x23\xb8\xc5\xe3\x1c\x74\xe8\x0f\xec\x76\x7b\x29\x15\x6a\x03\x9e\xdc\x41\x4b\x82\x16\x0d\x47\x68\x7b\x6b\x34\x5b\x07\xad\xb2\x41\x86\x2e\xa1\x36\x3b\x71\x82\xaf\x79\x0e\x9a\x41\xa2\x81\x16\x59\xaa\x04\x2b\x1e\x79\x22\x68\x15\x39\x1a\x00\x00\x89\x7b\x82\xad\xb3\xfb\x42\x88\x3b\xa6\xba\xbb\x99\xd4\x4a\x52\x79\x68\x35\xab\x14\x90\xbb\x70\x4b\x21\x7e\x28\x60\xad\x08\x6e\x1b\xb3\xd3\x9b\x8a\x60\x1d\x6f\x48\x6b\xd8\xa1\x0c\x2c\x30\xb9\x2d\x4a\x02\xaf\xa2\x1f\xb0\x72\x84\xe5\x31\xf8\xa2\xa4\xba\xb2\x47\x2a\xc1\xdb\x3d\x45\x50\xe2\xc7\x94\x0d\xeb\xba\xd2\x12\x43\x3e\x1e\xe7\xeb\xb2\x0c\xa2\x0b\xf1\x53\x0a\x1a\x28\xd2\xd9\xab\xbb\xac\xf0\x40\x80\x9d\xa0\xc1\xac\x1c\xfd\x9c\x12\x3b\x42\xa6\x52\x00\x40\x14\xd2\xb3\x75\x54\x82\x36\xa0\xd9\xc7\x27\xdc\x51\xea\x1d\xa1\x6e\x36\x95\xf6\x8a\xca\xec\x25\xf1\x73\x01\x6f\x23\x90\xc8\xe7\xc7\xd8\xfd\x6d\xd6\xa4\x90\xa5\xfc\x78\x02\x1f\x5d\x5a\xea\xed\x96\xdc\x00\xa6\xf8\xa5\x08\x9e\x05\x04\x43\x2d\xbc\x49\x2f\x97\xb0\x8a\xc8\x62\xda\xbe\x1f\x63\xdd\x1e\xab\xea\x38\x8f\x70\x59\x91\x01\xd7\x98\x54\x39\x35\xf2\x4f\x96\x26\x95\x1e\x0c\x65\x0a\xda\x11\xb3\x36\x3b\x18\x0d\x44\x90\x7e\x54\x28\x19\xf8\xcc\xe8\x85\xb8\x58\x08\xa1\xf7\xb5\x75\x0c\x93\x5e\xf0\xd8\xf1\x24\xbf\xfe\xed\x33\xee\xeb\x47\x6f\xcf\x68\x99\x3c\x9d\xe5\x4f\x62\x2c\x91\xf1\x5e\x53\xeb\x27\x42\x0c\xc0\x4f\xfb\x15\xb0\x84\x37\x65\xe9\xc8\xfb\x19\x7c\x11\xb1\xa3\xda\x51\x8d\x8e\xa6\x5e\xef\x4c\x38\xc7\x86\xd5\xf4\x57\xeb\x9c\x6d\xef\xb1\x6a\x68\x0e\xef\xbc\x6f\xe8\x2e\x49\xb9\xc2\x1a\x37\xba\xd2\x7c\x5c\x05\x55\x6c\x55\x91\x9b\xc3\xfb\x24\xec\xe9\x70\x0e\x77\x78\xa0\x2e\xfe\x83\xa9\xcf\xcf\x67\xf0\xaa\x13\x2a\xe3\x08\xbf\x8a\x18\x0e\xc1\x66\x6f\x91\x11\xae\x61\xc8\x46\xe1\xc8\xdb\xea\x40\xab\xce\x0d\xa1\xcb\x69\x78\xd7\x38\x49\xeb\x63\x4d\x4b\x30\xba\x9a\xc3\x41\x53\x9b\x1e\xc3\xdf\xab\xaf\x33\x54\xdc\xae\xef\xfb\x5a\xaf\xa7\xb3\x19\xa0\xff\x0e\x5e\x76\xfd\x26\x23\x0e\xbf\x9b\x1b\xa8\xd1\x68\x39\x9d\xac\xe2\xbc\x18\xcb\xc1\x27\xa9\x13\x08\x09\x22\xa8\x6e\x74\x28\xfb\x79\x32\x3b\x75\xbe\x58\xc0\xef\xc4\xbd\x61\x92\xad\x64\xa6\x2b\x87\xf6\x06\xdb\x50\x30\xe1\x60\x1b\xda\x11\x87\xa7\x51\xbe\x0e\x48\x3a\xaa\xb3\x09\x66\x45\x4e\xad\xc9\x17\x3b\xe2\xab\x57\x5f\x46\x9d\x17\xbd\xb7\x1f\x5e\x4f\xb3\x20\x45\x1f\xff\x1e\x59\x8d\xb1\x0f\x86\x2d\x4f\x50\xda\x07\x61\x77\x68\xee\x3f\x0a\xe7\x03\x52\xda\x7e\x98\x06\x8b\xf8\x91\x1b\xe0\xea\x12\x1e\x6d\x86\x58\xf1\x2f\x6a\xf3\xe7\x6a\x9a\xbb\x5e\x9e\x08\x98\xe5\x6c\xc9\xdf\x45\xb7\x92\x8a\x00\x6c\x7a\x75\x19\xf3\xcf\x81\xed\x12\x16\xdd\xd1\x82\x06\xae\xcb\xd9\xc7\xfd\x7e\x30\x95\x36\x9f\x22\x70\xfa\xac\x7d\x5c\x09\x27\xb9\xce\x6b\x8e\xd8\x6e\xfa\x69\x78\x11\xb1\x7f\xf4\x65\x4c\x32\x50\xd7\xfe\x53\x26\x19\xf1\x16\xb7\x73\x2f\xe2\x0a\x6b\xb8\x7e\x12\x4c\xcf\x86\x0e\x23\xfe\x9c\x09\x46\x86\x8f\xd8\x9e\x65\x6b\x74\xfd\x91\x06\x23\x08\x3d\x1b\xe7\x88\xe7\x80\xbc\x84\xff\xcd\x51\x86\x10\x77\x92\x7c\x96\x9f\x7c\xf7\xe5\x04\x9d\xdb\xf0\xac\xdc\xb7\x63\x6a\x88\x3d\x51\xb5\x88\xe7\xf2\x6b\xf6\x0d\x59\x1f\xc4\x83\xf8\x2f\x00\x00\xff\xff\x82\x60\xcb\xa0\x92\x0a\x00\x00"
 
 func tokenforwarderCreate_forwarderCdcBytes() ([]byte, error) {
 	return bindataRead(
@@ -761,7 +782,7 @@ func tokenforwarderCreate_forwarderCdc() (*asset, error) {
 	}
 
 	info := bindataFileInfo{name: "tokenForwarder/create_forwarder.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
-	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaf, 0x2d, 0x1d, 0x46, 0xca, 0x5c, 0x15, 0x80, 0x87, 0x12, 0xa2, 0x35, 0x4c, 0x8e, 0x22, 0xeb, 0xd2, 0x7c, 0x3b, 0xff, 0x8e, 0xfc, 0x9c, 0x5f, 0x5d, 0xd3, 0xa5, 0x49, 0x96, 0x86, 0x85, 0xc0}}
+	a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0xc0, 0x53, 0x38, 0x82, 0x8a, 0xda, 0x23, 0x35, 0x65, 0x9f, 0x91, 0xef, 0xbd, 0x9c, 0xbf, 0x61, 0x8a, 0xf6, 0xcf, 0x4e, 0x38, 0xf4, 0xa9, 0x4d, 0x78, 0x27, 0xc7, 0xeb, 0x81, 0x49, 0x17}}
 	return a, nil
 }
 
@@ -934,6 +955,7 @@ var _bindata = map[string]func() (*asset, error){
 	"privateForwarder/transfer_private_many_accounts.cdc":   privateforwarderTransfer_private_many_accountsCdc,
 	"safe_generic_transfer.cdc":                             safe_generic_transferCdc,
 	"scripts/get_balance.cdc":                               scriptsGet_balanceCdc,
+	"scripts/get_balance_generic.cdc":                       scriptsGet_balance_genericCdc,
 	"scripts/get_supply.cdc":                                scriptsGet_supplyCdc,
 	"scripts/get_supported_vault_types.cdc":                 scriptsGet_supported_vault_typesCdc,
 	"setup_account.cdc":                                     setup_accountCdc,
@@ -1023,6 +1045,7 @@ var _bintree = &bintree{nil, map[string]*bintree{
 	"safe_generic_transfer.cdc": {safe_generic_transferCdc, map[string]*bintree{}},
 	"scripts": {nil, map[string]*bintree{
 		"get_balance.cdc": {scriptsGet_balanceCdc, map[string]*bintree{}},
+		"get_balance_generic.cdc": {scriptsGet_balance_genericCdc, map[string]*bintree{}},
 		"get_supply.cdc": {scriptsGet_supplyCdc, map[string]*bintree{}},
 		"get_supported_vault_types.cdc": {scriptsGet_supported_vault_typesCdc, map[string]*bintree{}},
 	}},
diff --git a/lib/go/test/go.mod b/lib/go/test/go.mod
index 1afe39e0..9b9c578b 100644
--- a/lib/go/test/go.mod
+++ b/lib/go/test/go.mod
@@ -4,14 +4,14 @@ go 1.18
 
 require (
 	github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2
-	github.com/onflow/cadence v1.0.0-preview.18
-	github.com/onflow/flow-emulator v1.0.0-preview.15
-	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240327162334-bd133114f87a
-	github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240327162334-bd133114f87a
-	github.com/onflow/flow-go-sdk v1.0.0-preview.16
-	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240326155818-c01c72c091c0
+	github.com/onflow/cadence v1.0.0-preview.25
+	github.com/onflow/flow-emulator v1.0.0-preview.22
+	github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240424211859-3ff4c0fe2a1e
+	github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240424211859-3ff4c0fe2a1e
+	github.com/onflow/flow-go-sdk v1.0.0-preview.25
+	github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240429184308-40c3de711140
 	github.com/rs/zerolog v1.29.0
-	github.com/stretchr/testify v1.8.4
+	github.com/stretchr/testify v1.9.0
 )
 
 require (
@@ -21,7 +21,7 @@ require (
 	github.com/StackExchange/wmi v1.2.1 // indirect
 	github.com/VictoriaMetrics/fastcache v1.12.1 // indirect
 	github.com/beorn7/perks v1.0.1 // indirect
-	github.com/bits-and-blooms/bitset v1.7.0 // indirect
+	github.com/bits-and-blooms/bitset v1.10.0 // indirect
 	github.com/btcsuite/btcd/btcec/v2 v2.2.1 // indirect
 	github.com/cenkalti/backoff/v4 v4.2.1 // indirect
 	github.com/cespare/xxhash v1.1.0 // indirect
@@ -45,7 +45,7 @@ require (
 	github.com/dustin/go-humanize v1.0.1 // indirect
 	github.com/ef-ds/deque v1.0.4 // indirect
 	github.com/ethereum/c-kzg-4844 v0.4.0 // indirect
-	github.com/ethereum/go-ethereum v1.13.5 // indirect
+	github.com/ethereum/go-ethereum v1.13.10 // indirect
 	github.com/fsnotify/fsnotify v1.6.0 // indirect
 	github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c // indirect
 	github.com/fxamacker/circlehash v0.3.0 // indirect
@@ -58,11 +58,12 @@ require (
 	github.com/go-stack/stack v1.8.1 // indirect
 	github.com/gofrs/flock v0.8.1 // indirect
 	github.com/gogo/protobuf v1.3.2 // indirect
-	github.com/golang/glog v1.1.2 // indirect
-	github.com/golang/protobuf v1.5.3 // indirect
+	github.com/golang/glog v1.2.0 // indirect
+	github.com/golang/protobuf v1.5.4 // indirect
 	github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
 	github.com/google/uuid v1.6.0 // indirect
 	github.com/gorilla/websocket v1.5.0 // indirect
+	github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 // indirect
 	github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect
 	github.com/hashicorp/errwrap v1.1.0 // indirect
 	github.com/hashicorp/go-multierror v1.1.1 // indirect
@@ -70,9 +71,10 @@ require (
 	github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
 	github.com/hashicorp/hcl v1.0.0 // indirect
 	github.com/holiman/bloomfilter/v2 v2.0.3 // indirect
-	github.com/holiman/uint256 v1.2.3 // indirect
+	github.com/holiman/uint256 v1.2.4 // indirect
 	github.com/inconshreveable/mousetrap v1.1.0 // indirect
 	github.com/ipfs/bbloom v0.0.4 // indirect
+	github.com/ipfs/boxo v0.17.1-0.20240131173518-89bceff34bf1 // indirect
 	github.com/ipfs/go-block-format v0.2.0 // indirect
 	github.com/ipfs/go-cid v0.4.1 // indirect
 	github.com/ipfs/go-datastore v0.6.0 // indirect
@@ -113,13 +115,14 @@ require (
 	github.com/multiformats/go-multistream v0.5.0 // indirect
 	github.com/multiformats/go-varint v0.0.7 // indirect
 	github.com/olekukonko/tablewriter v0.0.5 // indirect
-	github.com/onflow/atree v0.6.1-0.20240308163425-dc825c20b1a2 // indirect
-	github.com/onflow/crypto v0.25.0 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240327170024-10241fffd864 // indirect
-	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240327170024-10241fffd864 // indirect
-	github.com/onflow/flow-go v0.34.0-crescendo-preview.8.0.20240328003708-11040f76d0cd // indirect
-	github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240326155818-c01c72c091c0 // indirect
-	github.com/onflow/flow/protobuf/go/flow v0.3.7 // indirect
+	github.com/onflow/atree v0.7.0-rc.1 // indirect
+	github.com/onflow/crypto v0.25.1 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240429192223-e696a8e439b5 // indirect
+	github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240429192223-e696a8e439b5 // indirect
+	github.com/onflow/flow-go v0.34.0-crescendo-preview.18 // indirect
+	github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240429184308-40c3de711140 // indirect
+	github.com/onflow/flow/protobuf/go/flow v0.4.1-0.20240412170550-911321113030 // indirect
+	github.com/onflow/go-ethereum v1.13.4 // indirect
 	github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba // indirect
 	github.com/opentracing/opentracing-go v1.2.0 // indirect
 	github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
@@ -146,7 +149,7 @@ require (
 	github.com/spf13/jwalterweatherman v1.1.0 // indirect
 	github.com/spf13/pflag v1.0.5 // indirect
 	github.com/spf13/viper v1.15.0 // indirect
-	github.com/stretchr/objx v0.5.0 // indirect
+	github.com/stretchr/objx v0.5.2 // indirect
 	github.com/subosito/gotenv v1.4.2 // indirect
 	github.com/supranational/blst v0.3.11 // indirect
 	github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect
@@ -159,33 +162,34 @@ require (
 	github.com/vmihailenco/tagparser v0.1.1 // indirect
 	github.com/x448/float16 v0.8.4 // indirect
 	github.com/zeebo/blake3 v0.2.3 // indirect
-	go.opentelemetry.io/otel v1.22.0 // indirect
+	go.opentelemetry.io/otel v1.24.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect
 	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 // indirect
-	go.opentelemetry.io/otel/metric v1.22.0 // indirect
-	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/trace v1.22.0 // indirect
+	go.opentelemetry.io/otel/metric v1.24.0 // indirect
+	go.opentelemetry.io/otel/sdk v1.24.0 // indirect
+	go.opentelemetry.io/otel/trace v1.24.0 // indirect
 	go.opentelemetry.io/proto/otlp v1.0.0 // indirect
 	go.uber.org/atomic v1.11.0 // indirect
 	go.uber.org/multierr v1.11.0 // indirect
 	go.uber.org/zap v1.26.0 // indirect
-	golang.org/x/crypto v0.18.0 // indirect
+	golang.org/x/crypto v0.19.0 // indirect
 	golang.org/x/exp v0.0.0-20240119083558-1b970713d09a // indirect
 	golang.org/x/mod v0.14.0 // indirect
-	golang.org/x/net v0.20.0 // indirect
+	golang.org/x/net v0.21.0 // indirect
 	golang.org/x/sync v0.6.0 // indirect
-	golang.org/x/sys v0.16.0 // indirect
+	golang.org/x/sys v0.17.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
+	golang.org/x/time v0.5.0 // indirect
 	golang.org/x/tools v0.17.0 // indirect
 	golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
 	gonum.org/v1/gonum v0.14.0 // indirect
 	google.golang.org/appengine v1.6.8 // indirect
-	google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 // indirect
-	google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 // indirect
-	google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect
-	google.golang.org/grpc v1.60.1 // indirect
-	google.golang.org/protobuf v1.32.0 // indirect
+	google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
+	google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
+	google.golang.org/grpc v1.63.2 // indirect
+	google.golang.org/protobuf v1.33.0 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 	lukechampine.com/blake3 v1.2.1 // indirect
diff --git a/lib/go/test/go.sum b/lib/go/test/go.sum
index 14d68f9a..751aad21 100644
--- a/lib/go/test/go.sum
+++ b/lib/go/test/go.sum
@@ -1040,6 +1040,8 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r
 github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
 github.com/bits-and-blooms/bitset v1.7.0 h1:YjAGVd3XmtK9ktAbX8Zg2g2PwLIMjGREZJHlV4j7NEo=
 github.com/bits-and-blooms/bitset v1.7.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
+github.com/bits-and-blooms/bitset v1.10.0 h1:ePXTeiPEazB5+opbv5fr8umg2R/1NlzgDsyepwsSr88=
+github.com/bits-and-blooms/bitset v1.10.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
 github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c=
 github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
 github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
@@ -1219,6 +1221,8 @@ github.com/ethereum/c-kzg-4844 v0.4.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1
 github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg=
 github.com/ethereum/go-ethereum v1.13.5 h1:U6TCRciCqZRe4FPXmy1sMGxTfuk8P7u2UoinF3VbaFk=
 github.com/ethereum/go-ethereum v1.13.5/go.mod h1:yMTu38GSuyxaYzQMViqNmQ1s3cE84abZexQmTgenWk0=
+github.com/ethereum/go-ethereum v1.13.10 h1:Ppdil79nN+Vc+mXfge0AuUgmKWuVv4eMqzoIVSdqZek=
+github.com/ethereum/go-ethereum v1.13.10/go.mod h1:sc48XYQxCzH3fG9BcrXCOOgQk2JfZzNAmIKnceogzsA=
 github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8=
 github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
@@ -1339,6 +1343,8 @@ github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0L
 github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
 github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=
 github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
+github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68=
+github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
 github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -1373,6 +1379,8 @@ github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx
 github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
 github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
 github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
+github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
 github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
@@ -1486,7 +1494,10 @@ github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad
 github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
 github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
+github.com/grpc-ecosystem/go-grpc-middleware v1.0.0 h1:Iju5GlWwrvL6UBg4zJJt3btmonfrMlCDdsejg4CZE7c=
 github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
+github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 h1:pRhl55Yx1eC7BZ1N+BBWwnKaMyD8uC+34TLdndZMAKk=
+github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI=
 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
 github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
@@ -1525,6 +1536,8 @@ github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iU
 github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw=
 github.com/holiman/uint256 v1.2.3 h1:K8UWO1HUJpRMXBxbmaY1Y8IAMZC/RsKB+ArEnnK4l5o=
 github.com/holiman/uint256 v1.2.3/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw=
+github.com/holiman/uint256 v1.2.4 h1:jUc4Nk8fm9jZabQuqr2JzednajVmBpC+oiTiXZJEApU=
+github.com/holiman/uint256 v1.2.4/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y=
 github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8=
@@ -1554,6 +1567,8 @@ github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:
 github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
 github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0=
 github.com/ipfs/boxo v0.10.0 h1:tdDAxq8jrsbRkYoF+5Rcqyeb91hgWe2hp7iLu7ORZLY=
+github.com/ipfs/boxo v0.17.1-0.20240131173518-89bceff34bf1 h1:5H/HYvdmbxp09+sAvdqJzyrWoyCS6OroeW9Ym06Tb+0=
+github.com/ipfs/boxo v0.17.1-0.20240131173518-89bceff34bf1/go.mod h1:pIZgTWdm3k3pLF9Uq6MB8JEcW07UDwNJjlXW1HELW80=
 github.com/ipfs/go-block-format v0.1.2 h1:GAjkfhVx1f4YTODS6Esrj1wt2HhrtwTnhEr+DyPUaJo=
 github.com/ipfs/go-block-format v0.1.2/go.mod h1:mACVcrxarQKstUU3Yf/RdwbC4DzPV6++rO2a3d+a/KE=
 github.com/ipfs/go-block-format v0.2.0 h1:ZqrkxBA2ICbDRbK8KJs/u0O3dlp6gmAuuXUJNiW1Ycs=
@@ -1842,6 +1857,8 @@ github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTR
 github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
 github.com/onflow/atree v0.6.1-0.20240308163425-dc825c20b1a2 h1:jJLDswfAVB0bHCu1y1FPdKukPcTNmN+jYEX9S9phbv0=
 github.com/onflow/atree v0.6.1-0.20240308163425-dc825c20b1a2/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
+github.com/onflow/atree v0.7.0-rc.1 h1:g2DFhC3JeaA+L7/HZOp4NwE+OfxvfJ8nibymHHw7i3g=
+github.com/onflow/atree v0.7.0-rc.1/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM=
 github.com/onflow/cadence v1.0.0-M3/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
 github.com/onflow/cadence v1.0.0-M4 h1:/nt3j7vpYDxuI0ghIgAJrb2R01ijvJYZLAkKt+zbpTY=
 github.com/onflow/cadence v1.0.0-M4/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8=
@@ -1851,8 +1868,12 @@ github.com/onflow/cadence v1.0.0-M8 h1:ioQ7TyhpsIaImAC7Xn2r8kIgIBdimvyuWeKlGfRxW
 github.com/onflow/cadence v1.0.0-M8/go.mod h1:a4mccDU90hmuxCLUFzs9J/ANG/rYbFa36h4Z0bBAqNU=
 github.com/onflow/cadence v1.0.0-preview.18 h1:1gN+suBexuu1gZz0JjWDC9dcGBI/GIMP8R0Tyou9mzA=
 github.com/onflow/cadence v1.0.0-preview.18/go.mod h1:no8+e5V51B9mgfi4U9xdeH+GxcJdoKKDP9gdxEj9Jdg=
+github.com/onflow/cadence v1.0.0-preview.25 h1:kSmWjxmg9PS+bsk8C3j1NUTkFAl/jNrintVhlh6miM0=
+github.com/onflow/cadence v1.0.0-preview.25/go.mod h1:fGhLBbuEmv5rh48qv0ZS0tUz53gxWsHpB4dPsF09h6E=
 github.com/onflow/crypto v0.25.0 h1:BeWbLsh3ZD13Ej+Uky6kg1PL1ZIVBDVX+2MVBNwqddg=
 github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI=
+github.com/onflow/crypto v0.25.1 h1:0txy2PKPMM873JbpxQNbJmuOJtD56bfs48RQfm0ts5A=
+github.com/onflow/crypto v0.25.1/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d h1:Afcfk/9jAQZ1v5PLGdP68FG/0yPPM60fn9Eq8ChBGS0=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.1-0.20240125214229-b7a95136dd0d/go.mod h1:Ts/HN+N0RaYJ6oPCqR1JPaMVFiVaMdKTSUH4OdSjjs0=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240206003101-928bf99024d7 h1:OI/4F2NK/X/4x3dTUFFDGtuOsSa9pX+jjBeSEcBrY/M=
@@ -1861,6 +1882,8 @@ github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-0e6ce7e3222b/go.mod h1:At+gEXmy13wpvxHYlS8bqjKEBufL+UXMQpJyHQxiXY8=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240327170024-10241fffd864 h1:Tym6HXbuhoTwef+EfHWDaVgFs/gwmJ0yKD+zjJH1O1s=
 github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240327170024-10241fffd864/go.mod h1:Br3AdtgZlvvk2h4YFJcbCHCJHsM8y0LX1CK+2EdkYR4=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240429192223-e696a8e439b5 h1:by3a+8p2kUUjnxfbRYRd78bDEeXAc3PK2LzyBEQqkV4=
+github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240429192223-e696a8e439b5/go.mod h1:+4JWLclBOT+emyBh6NAZSEbqEwzHcWHpIbfsXmRASgY=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d h1:IQJpP3VLLjT4R8ItBpr+Mmp0IOnC/8iBcM0/67JNB9c=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.1-0.20240125214229-b7a95136dd0d/go.mod h1:MZ2j5YVTQiSE0B99zuaYhxvGG5GcvimWpQK1Fw/1QBg=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240206003101-928bf99024d7 h1:WAx8ftVz1BeXiKvQ9gLKEf1J3NBWK26Pbczd0iH4C6I=
@@ -1869,6 +1892,8 @@ github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-0e6ce7e3222b/go.mod h1:cTE5NCp+Zk04yA24gCEjBdQIrzDU/iRICgLSx4LsGX0=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240327170024-10241fffd864 h1:shtPP46wORFIX3XE+gnvwVUtwejAZm3wye7Y1nJD75A=
 github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240327170024-10241fffd864/go.mod h1:v+SKoOBjMd8c8jspqcnyM1iTejCQq8JaGr6B1XW8Vsw=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240429192223-e696a8e439b5 h1:6Cg0h+8Iyy/Nnefk5j0gdeVoMTNpUooAMjyV8sk6zoA=
+github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240429192223-e696a8e439b5/go.mod h1:0oTx6Nkc+LdOXaZe3PRtV1cY+J5z5ig08alR8d+OPHs=
 github.com/onflow/flow-emulator v1.0.0-M1 h1:0hBEmvm73F+5HhN5ugkOP3UyN+Ea9yGWflEmoeGzgdw=
 github.com/onflow/flow-emulator v1.0.0-M1/go.mod h1:JFJCeQVyhCQVD2Tq4QhctIXK6j5U6aU15yoEwMJt5AQ=
 github.com/onflow/flow-emulator v1.0.0-M3 h1:+Rktq6OzQfJCLNVweJqtTUKZrHMc6eVVZn1tYI1PMMg=
@@ -1877,6 +1902,8 @@ github.com/onflow/flow-emulator v1.0.0-M8 h1:FE9OtyXh3tZLjszpznIfMyaTmIoX+maFBYd
 github.com/onflow/flow-emulator v1.0.0-M8/go.mod h1:mSp1JTXt1JGmriiG7Lc2VulQHG1tl6Oj1zGSr/h0ySk=
 github.com/onflow/flow-emulator v1.0.0-preview.15 h1:5qAiMOVdxrFKccvLRiApkGhDWyr+nvFhQGQFxRHBALg=
 github.com/onflow/flow-emulator v1.0.0-preview.15/go.mod h1:pSSLRvjxTecPQgI2ch+VVPKydeDlCg/1lHSLPrOUghw=
+github.com/onflow/flow-emulator v1.0.0-preview.22 h1:l0BPXlDvK0gZDqQhY3Kc7pBm38pE/FbfefiZe7j6Ngg=
+github.com/onflow/flow-emulator v1.0.0-preview.22/go.mod h1:60M4QPVpdpEhEdz6NGOtLule+jcRLLKID1gYv2ehLvw=
 github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61 h1:Xq40zbxw9mDS1+Zz1p6DCzAxDYQwbHWLJ5B9HOp9Fk8=
 github.com/onflow/flow-go v0.33.2-0.20240126002816-f0770a716d61/go.mod h1:xdzERQeTalqsU0rHGSZgqQuE5krMfBQ4BA/4bgrLndY=
 github.com/onflow/flow-go v0.33.2-0.20240206235622-50f8c81f1f43 h1:KB10iF+6HIQ/hKykzBf8n3P8cDDRHL4ytfc0R4ApCZM=
@@ -1885,6 +1912,8 @@ github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25
 github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25122/go.mod h1:HSffipIVOyXvK3/gsYU13EwRMxbuK591hmjqF36nbEI=
 github.com/onflow/flow-go v0.34.0-crescendo-preview.8.0.20240328003708-11040f76d0cd h1:QWLgb4okWnmZHN2ebiGUNR1CNdHICE1CxVx7wQY9Q40=
 github.com/onflow/flow-go v0.34.0-crescendo-preview.8.0.20240328003708-11040f76d0cd/go.mod h1:vaUovXWZxbcxCg+wFAvb5SFouo4Q2OI3fj9XwCpbU6M=
+github.com/onflow/flow-go v0.34.0-crescendo-preview.18 h1:Bre7uU/n1PjOEcIkTtaJDo4T5tngjKcr/cAOvxr3se4=
+github.com/onflow/flow-go v0.34.0-crescendo-preview.18/go.mod h1:bwjzi2kSev1emRVN685FqYfCLYcZ6t2A5z5ztYXfvH8=
 github.com/onflow/flow-go-sdk v1.0.0-M1 h1:mke/ebYwNRRWPZqcwCV56Alx0A8psew43ZbSEUQ4TL8=
 github.com/onflow/flow-go-sdk v1.0.0-M1/go.mod h1:TDW0MNuCs4SvqYRUzkbRnRmHQL1h4X8wURsCw9P9beo=
 github.com/onflow/flow-go-sdk v1.0.0-M2 h1:YWeXTo112RF8s6swiOU5oW8JWbOOz392FCeAbGnm+W4=
@@ -1893,6 +1922,8 @@ github.com/onflow/flow-go-sdk v1.0.0-M7 h1:5EhtgpupjdhJZoHpu8AhA7++AroGL6BFpb8D0
 github.com/onflow/flow-go-sdk v1.0.0-M7/go.mod h1:aXSavLzoRlz5FiMjcI7p5QhihWScGctxydzf4dv/avo=
 github.com/onflow/flow-go-sdk v1.0.0-preview.16 h1:m5Dj5XLUTHIFgjWPDsapaIFKIheBlhFLwZ9aXxwX6hQ=
 github.com/onflow/flow-go-sdk v1.0.0-preview.16/go.mod h1:zQwbb+mHfV7R+xa03xr6RoU13bZOF2uKgdf7dOGELvc=
+github.com/onflow/flow-go-sdk v1.0.0-preview.25 h1:wL/+cK7oxSww31qSqTpt1Yfr26c8hJ8YHh9nIdq6PlI=
+github.com/onflow/flow-go-sdk v1.0.0-preview.25/go.mod h1:Px1fQdB7WFC0yhYsEM3rhKzuE+Zi8GpBjR4qVuDAwMA=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad h1:I6LD9BOsilGbiqhGjP86FIIXJe0YdUz75d/oWdHFzDI=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240125205553-d2b571fb3fad/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240205233530-86ee8c352fa6 h1:/2vvjKkWG/3cKP3IpgiGNqXi0yskn4GmNTjmeCwMoz8=
@@ -1901,15 +1932,23 @@ github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240326155818-c01c72c091c0 h1:xekR2FttJpwtpRfH1BFvf9Kztm9be8grT1GT9bpQK8M=
 github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240326155818-c01c72c091c0/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240429184308-40c3de711140 h1:oTj4RGgfuJSSBE1aDVrlh6avxKBMraucpNtRg0K+yhg=
+github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240429184308-40c3de711140/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE=
 github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a h1:Ark2dPAaSxSr45G5WJjB1P5H0tFtXnHcOIp+dM146yo=
 github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a/go.mod h1:p+2hRvtjLUR3MW1NsoJe5Gqgr2eeH49QB6+s6ze00w0=
 github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240326155818-c01c72c091c0 h1:Qk24unKC2ncZ+U+fd63pC5BdWyMwkKEOsjMdIrj70O0=
 github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240326155818-c01c72c091c0/go.mod h1:p+2hRvtjLUR3MW1NsoJe5Gqgr2eeH49QB6+s6ze00w0=
+github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240429184308-40c3de711140 h1:7NwSIG4SEdm+96gr+Aaqx291jZ/Bqkxk/ghVnens9CU=
+github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240429184308-40c3de711140/go.mod h1:p+2hRvtjLUR3MW1NsoJe5Gqgr2eeH49QB6+s6ze00w0=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231121210617-52ee94b830c2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2 h1:+rT+UsfTR39JZO8ht2+4fkaWfHw74SCj1fyz1lWuX8A=
 github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231213135419-ae911cc351a2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
 github.com/onflow/flow/protobuf/go/flow v0.3.7 h1:+6sBdlE/u4ZMTVB9U1lA6Xn2Bd48lOOX96Bv9dNubsk=
 github.com/onflow/flow/protobuf/go/flow v0.3.7/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
+github.com/onflow/flow/protobuf/go/flow v0.4.1-0.20240412170550-911321113030 h1:I+aosSiJny88O4p3nPbCiUcp/UqN6AepvO6uj82bjH0=
+github.com/onflow/flow/protobuf/go/flow v0.4.1-0.20240412170550-911321113030/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk=
+github.com/onflow/go-ethereum v1.13.4 h1:iNO86fm8RbBbhZ87ZulblInqCdHnAQVY8okBrNsTevc=
+github.com/onflow/go-ethereum v1.13.4/go.mod h1:cE/gEUkAffhwbVmMJYz+t1dAfVNHNwZCgc3BWtZxBGY=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba h1:rIehuhO6bj4FkwE4VzwEjX7MoAlOhUJENBJLqDqVxAo=
 github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU=
 github.com/onflow/wal v0.0.0-20230529184820-bc9f8244608d h1:gAEqYPn3DS83rHIKEpsajnppVD1+zwuYPFyeDVFaQvg=
@@ -2092,6 +2131,8 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
 github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
 github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
 github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
+github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
+github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
 github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
@@ -2107,6 +2148,8 @@ github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o
 github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
 github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
+github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
 github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
 github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
@@ -2192,6 +2235,8 @@ go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s=
 go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4=
 go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y=
 go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI=
+go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo=
+go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo=
 go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0=
 go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0/go.mod h1:vLarbg68dH2Wa77g71zmKQqlQ8+8Rq3GRG31uc0WcWI=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 h1:cbsD4cUcviQGXdw8+bo5x2wazq10SKz8hEbtCRPcU78=
@@ -2206,15 +2251,21 @@ go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26
 go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4=
 go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg=
 go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY=
+go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI=
+go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco=
 go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE=
 go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4=
 go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8=
 go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E=
+go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw=
+go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg=
 go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4=
 go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs=
 go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0=
 go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0=
 go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo=
+go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI=
+go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
 go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
 go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw=
@@ -2281,6 +2332,8 @@ golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
 golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
 golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc=
 golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
+golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
+golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
 golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -2440,6 +2493,8 @@ golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
 golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
 golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo=
 golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
+golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
+golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
 golang.org/x/oauth2 v0.0.0-20170207211851-4464e7848382/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -2626,6 +2681,8 @@ golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
 golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=
 golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
+golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -2674,6 +2731,8 @@ golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxb
 golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
+golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
 golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -3021,6 +3080,8 @@ google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b h1:+YaDE2r2OG8t/z5
 google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI=
 google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 h1:nz5NESFLZbJGPFxDT/HCn+V1mZ8JGNoY4nUpmW/Y2eg=
 google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917/go.mod h1:pZqR+glSb11aJ+JQcczCvgf47+duRuzNSKqE8YAQnV0=
+google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
+google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
 google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
 google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
@@ -3039,6 +3100,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b h1:
 google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870=
 google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 h1:OPXtXn7fNMaXwO3JvOmF1QyTc00jsSFFz1vXXBOdCDo=
 google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:B5xPO//w8qmBDjGReYLpR6UJPnkldGkCSMoH/2vxJeg=
+google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0=
+google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8=
 google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
 google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c=
 google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw=
@@ -3061,6 +3124,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 h1:
 google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 h1:gphdwh0npgs8elJ4T6J+DQJHPVF7RsuJHCfwztUb4J4=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
 google.golang.org/grpc v0.0.0-20170208002647-2a6bf6142e96/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
 google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
@@ -3115,6 +3180,8 @@ google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
 google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
 google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU=
 google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM=
+google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
+google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -3137,6 +3204,8 @@ google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs
 google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
 google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
+google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/tests/example_token_test.cdc b/tests/example_token_test.cdc
index 32c3ddcd..840752ec 100644
--- a/tests/example_token_test.cdc
+++ b/tests/example_token_test.cdc
@@ -75,9 +75,9 @@ fun testMintTokens() {
     // Test that the proper events were emitted
     var typ = Type<ExampleToken.TokensMinted>()
     var events = Test.eventsOfType(typ)
-    Test.assertEqual(1, events.length)
+    Test.assertEqual(2, events.length)
 
-    let tokensMintedEvent = events[0] as! ExampleToken.TokensMinted
+    let tokensMintedEvent = events[1] as! ExampleToken.TokensMinted
     Test.assertEqual(250.0, tokensMintedEvent.amount)
 
     typ = Type<FungibleToken.Deposited>()
diff --git a/tests/private_receiver_forwarder_test.cdc b/tests/private_receiver_forwarder_test.cdc
index 609ebe92..7da9f199 100644
--- a/tests/private_receiver_forwarder_test.cdc
+++ b/tests/private_receiver_forwarder_test.cdc
@@ -53,6 +53,7 @@ access(all) fun testTransferPrivateTokens() {
     let pair = {recipient.address: recipientAmount}
 
     txExecutor("../transactions/privateForwarder/setup_and_create_forwarder.cdc", [recipient], [], nil, nil)
+    
     txExecutor("../transactions/privateForwarder/transfer_private_many_accounts.cdc", [admin], [pair], nil, nil)
 
     let recipientBalance = getExampleTokenBalance(recipient)
diff --git a/transactions/privateForwarder/setup_and_create_forwarder.cdc b/transactions/privateForwarder/setup_and_create_forwarder.cdc
index f5d258c6..c3591750 100644
--- a/transactions/privateForwarder/setup_and_create_forwarder.cdc
+++ b/transactions/privateForwarder/setup_and_create_forwarder.cdc
@@ -13,7 +13,7 @@ transaction {
         let vaultData = ExampleToken.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
             ?? panic("Could not get vault data view for the contract")
 
-        if signer.capabilities.get<&PrivateReceiverForwarder.Forwarder>(PrivateReceiverForwarder.PrivateReceiverPublicPath) != nil {
+        if signer.capabilities.get<&PrivateReceiverForwarder.Forwarder>(PrivateReceiverForwarder.PrivateReceiverPublicPath).check() {
             // private forwarder was already set up
             return
         }
diff --git a/transactions/scripts/get_balance_generic.cdc b/transactions/scripts/get_balance_generic.cdc
new file mode 100644
index 00000000..81d17191
--- /dev/null
+++ b/transactions/scripts/get_balance_generic.cdc
@@ -0,0 +1,11 @@
+/// This script reads the balance of a vault at whatever path
+/// is passed in as an argument
+
+import "FungibleToken"
+
+access(all) fun main(address: Address, path: PublicPath): UFix64 {
+    return getAccount(address).capabilities.borrow<&{FungibleToken.Balance}>(
+            path
+        )?.balance
+        ?? panic("Could not borrow Balance reference to the Vault")
+}
diff --git a/transactions/switchboard/add_vault_capability.cdc b/transactions/switchboard/add_vault_capability.cdc
index 36f27336..e4dd0bd0 100644
--- a/transactions/switchboard/add_vault_capability.cdc
+++ b/transactions/switchboard/add_vault_capability.cdc
@@ -35,8 +35,7 @@ transaction {
         
         // Get the example token vault capability from the signer's account
         self.exampleTokenVaultCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(
-                vaultData.receiverPath
-            ) ?? panic("Signer does not have a Example Token receiver capability")
+                vaultData.receiverPath)
         
         // Check if the receiver capability exists
         assert(
diff --git a/transactions/switchboard/add_vault_wrapper_capability.cdc b/transactions/switchboard/add_vault_wrapper_capability.cdc
index 4cb3146c..7b613fd2 100644
--- a/transactions/switchboard/add_vault_wrapper_capability.cdc
+++ b/transactions/switchboard/add_vault_wrapper_capability.cdc
@@ -20,8 +20,7 @@ transaction {
 
         // Get the token forwarder capability from the signer's account
         self.tokenReceiverCapability = signer.capabilities.get<&{FungibleToken.Receiver}>(
-            vaultData.receiverPath
-        ) ?? panic("Could not get receiver capability")
+            vaultData.receiverPath)
 
         // Check if the receiver capability exists
         assert(
diff --git a/transactions/switchboard/remove_vault_capability.cdc b/transactions/switchboard/remove_vault_capability.cdc
index e308ad43..689afeec 100644
--- a/transactions/switchboard/remove_vault_capability.cdc
+++ b/transactions/switchboard/remove_vault_capability.cdc
@@ -14,7 +14,6 @@ transaction(path: PublicPath) {
 
         // Get the capability from the signer's account
         self.exampleTokenVaultCapabilty = signer.capabilities.get<&{FungibleToken.Receiver}>(path)
-            ?? panic("Signer does not have Receiver Capability at given path")
 
         // Get a reference to the signers switchboard
         self.switchboardRef = signer.storage.borrow<auth(FungibleTokenSwitchboard.Owner) &FungibleTokenSwitchboard.Switchboard>(
diff --git a/transactions/tokenForwarder/create_forwarder.cdc b/transactions/tokenForwarder/create_forwarder.cdc
index df3e5ff8..b01427f2 100644
--- a/transactions/tokenForwarder/create_forwarder.cdc
+++ b/transactions/tokenForwarder/create_forwarder.cdc
@@ -37,7 +37,6 @@ transaction(receiver: Address) {
 
         // Get the receiver capability for the account being forwarded to
         let recipient = getAccount(receiver).capabilities.get<&{FungibleToken.Receiver}>(vaultData.receiverPath)
-            ?? panic("Could not get the receiver capability")
 
         // Create the forwarder and save it to the account that is doing the forwarding
         let vault <- TokenForwarding.createNewForwarder(recipient: recipient)