{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE EmptyDataDeriving #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE UndecidableSuperClasses #-}
{-# LANGUAGE OverloadedLabels #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# OPTIONS_GHC -Wno-dodgy-exports #-}
{-# OPTIONS_GHC -Wno-unused-matches #-}
{-# OPTIONS_GHC -Wno-orphans #-}
{-# OPTIONS_GHC -Wno-unticked-promoted-constructors #-}
{-# OPTIONS_GHC -Wno-name-shadowing #-}
module Capnp.Gen.Capnp.Persistent where
import qualified Capnp.Repr as R
import qualified Capnp.Repr.Parsed as RP
import qualified Capnp.Basics as Basics
import qualified GHC.OverloadedLabels as OL
import qualified Capnp.GenHelpers as GH
import qualified Capnp.Classes as C
import qualified GHC.Generics as Generics
import qualified Capnp.GenHelpers.Rpc as GH
import qualified Prelude as Std_
import qualified Data.Word as Std_
import qualified Data.Int as Std_
import Prelude ((<$>), (<*>), (>>=))
data Persistent sturdyRef owner
type instance (R.ReprFor (Persistent sturdyRef owner)) = (R.Ptr (Std_.Just R.Cap))
instance (C.HasTypeId (Persistent sturdyRef owner)) where
    typeId :: Word64
typeId  = Word64
14468694717054801553
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.Parse (Persistent sturdyRef owner) (GH.Client (Persistent sturdyRef owner))) where
    parse :: forall (m :: * -> *).
ReadCtx m 'Const =>
Raw (Persistent sturdyRef owner) 'Const
-> m (Client (Persistent sturdyRef owner))
parse  = forall a (m :: * -> *).
(IsCap a, ReadCtx m 'Const) =>
Raw a 'Const -> m (Client a)
GH.parseCap
    encode :: forall (m :: * -> *) s.
RWCtx m s =>
Message ('Mut s)
-> Client (Persistent sturdyRef owner)
-> m (Raw (Persistent sturdyRef owner) ('Mut s))
encode  = forall a (m :: * -> *) s.
(IsCap a, RWCtx m s) =>
Message ('Mut s) -> Client a -> m (Raw a ('Mut s))
GH.encodeCap
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (GH.Export (Persistent sturdyRef owner)) where
    type Server (Persistent sturdyRef owner) = (Persistent'server_ sturdyRef owner)
    methodHandlerTree :: forall s.
Server (Persistent sturdyRef owner) s =>
Proxy (Persistent sturdyRef owner) -> s -> MethodHandlerTree
methodHandlerTree Proxy (Persistent sturdyRef owner)
_ s
s_ = (Word64
-> [UntypedMethodHandler]
-> [MethodHandlerTree]
-> MethodHandlerTree
GH.MethodHandlerTree (forall a. HasTypeId a => Word64
C.typeId @((Persistent sturdyRef owner))) [(forall p r.
(IsStruct p, IsStruct r) =>
MethodHandler p r -> UntypedMethodHandler
GH.toUntypedMethodHandler ((forall sturdyRef owner s_.
Persistent'server_ sturdyRef owner s_ =>
s_
-> MethodHandler
     (Persistent'SaveParams sturdyRef owner)
     (Persistent'SaveResults sturdyRef owner)
persistent'save @(sturdyRef) @(owner)) s
s_))] [])
class (Persistent'server_ sturdyRef owner s_) where
    {-# MINIMAL persistent'save #-}
    persistent'save :: s_ -> (GH.MethodHandler (Persistent'SaveParams sturdyRef owner) (Persistent'SaveResults sturdyRef owner))
    persistent'save s_
_ = forall p r. MethodHandler p r
GH.methodUnimplemented
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (GH.HasMethod "save" (Persistent sturdyRef owner) (Persistent'SaveParams sturdyRef owner) (Persistent'SaveResults sturdyRef owner)) where
    methodByLabel :: Method
  (Persistent sturdyRef owner)
  (Persistent'SaveParams sturdyRef owner)
  (Persistent'SaveResults sturdyRef owner)
methodByLabel  = (forall c p r. Word64 -> Word16 -> Method c p r
GH.Method Word64
14468694717054801553 Word16
0)
data Persistent'SaveParams sturdyRef owner
type instance (R.ReprFor (Persistent'SaveParams sturdyRef owner)) = (R.Ptr (Std_.Just R.Struct))
instance (C.HasTypeId (Persistent'SaveParams sturdyRef owner)) where
    typeId :: Word64
typeId  = Word64
17829674341603767205
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.TypedStruct (Persistent'SaveParams sturdyRef owner)) where
    numStructWords :: Word16
numStructWords  = Word16
0
    numStructPtrs :: Word16
numStructPtrs  = Word16
1
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.Allocate (Persistent'SaveParams sturdyRef owner)) where
    type AllocHint (Persistent'SaveParams sturdyRef owner) = ()
    new :: forall (m :: * -> *) s.
RWCtx m s =>
AllocHint (Persistent'SaveParams sturdyRef owner)
-> Message ('Mut s)
-> m (Raw (Persistent'SaveParams sturdyRef owner) ('Mut s))
new AllocHint (Persistent'SaveParams sturdyRef owner)
_ = forall a (m :: * -> *) s.
(TypedStruct a, RWCtx m s) =>
Message ('Mut s) -> m (Raw a ('Mut s))
C.newTypedStruct
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.EstimateAlloc (Persistent'SaveParams sturdyRef owner) (C.Parsed (Persistent'SaveParams sturdyRef owner)))
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.AllocateList (Persistent'SaveParams sturdyRef owner)) where
    type ListAllocHint (Persistent'SaveParams sturdyRef owner) = Std_.Int
    newList :: forall (m :: * -> *) s.
RWCtx m s =>
ListAllocHint (Persistent'SaveParams sturdyRef owner)
-> Message ('Mut s)
-> m (Raw (List (Persistent'SaveParams sturdyRef owner)) ('Mut s))
newList  = forall a (m :: * -> *) s.
(TypedStruct a, RWCtx m s) =>
Int -> Message ('Mut s) -> m (Raw (List a) ('Mut s))
C.newTypedStructList
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.EstimateListAlloc (Persistent'SaveParams sturdyRef owner) (C.Parsed (Persistent'SaveParams sturdyRef owner)))
data instance C.Parsed (Persistent'SaveParams sturdyRef owner)
    = Persistent'SaveParams 
        {forall sturdyRef owner.
Parsed (Persistent'SaveParams sturdyRef owner) -> Parsed owner
sealFor :: (RP.Parsed owner)}
    deriving(forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall sturdyRef owner x.
Rep (Parsed (Persistent'SaveParams sturdyRef owner)) x
-> Parsed (Persistent'SaveParams sturdyRef owner)
forall sturdyRef owner x.
Parsed (Persistent'SaveParams sturdyRef owner)
-> Rep (Parsed (Persistent'SaveParams sturdyRef owner)) x
$cto :: forall sturdyRef owner x.
Rep (Parsed (Persistent'SaveParams sturdyRef owner)) x
-> Parsed (Persistent'SaveParams sturdyRef owner)
$cfrom :: forall sturdyRef owner x.
Parsed (Persistent'SaveParams sturdyRef owner)
-> Rep (Parsed (Persistent'SaveParams sturdyRef owner)) x
Generics.Generic)
deriving instance ((Std_.Show (RP.Parsed sturdyRef))
                  ,(Std_.Show (RP.Parsed owner))) => (Std_.Show (C.Parsed (Persistent'SaveParams sturdyRef owner)))
deriving instance ((Std_.Eq (RP.Parsed sturdyRef))
                  ,(Std_.Eq (RP.Parsed owner))) => (Std_.Eq (C.Parsed (Persistent'SaveParams sturdyRef owner)))
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.Parse (Persistent'SaveParams sturdyRef owner) (C.Parsed (Persistent'SaveParams sturdyRef owner))) where
    parse :: forall (m :: * -> *).
ReadCtx m 'Const =>
Raw (Persistent'SaveParams sturdyRef owner) 'Const
-> m (Parsed (Persistent'SaveParams sturdyRef owner))
parse Raw (Persistent'SaveParams sturdyRef owner) 'Const
raw_ = (forall sturdyRef owner.
Parsed owner -> Parsed (Persistent'SaveParams sturdyRef owner)
Persistent'SaveParams forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (forall a b bp (m :: * -> *) (k :: FieldKind).
(IsStruct a, Parse b bp, ReadCtx m 'Const) =>
Field k a b -> Raw a 'Const -> m bp
GH.parseField forall a. IsLabel "sealFor" a => a
#sealFor Raw (Persistent'SaveParams sturdyRef owner) 'Const
raw_))
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.Marshal (Persistent'SaveParams sturdyRef owner) (C.Parsed (Persistent'SaveParams sturdyRef owner))) where
    marshalInto :: forall (m :: * -> *) s.
RWCtx m s =>
Raw (Persistent'SaveParams sturdyRef owner) ('Mut s)
-> Parsed (Persistent'SaveParams sturdyRef owner) -> m ()
marshalInto Raw (Persistent'SaveParams sturdyRef owner) ('Mut s)
raw_ Persistent'SaveParams{Parsed owner
sealFor :: Parsed owner
$sel:sealFor:Persistent'SaveParams :: forall sturdyRef owner.
Parsed (Persistent'SaveParams sturdyRef owner) -> Parsed owner
..} = (do
        (forall a b (m :: * -> *) s bp.
(IsStruct a, Parse b bp, RWCtx m s) =>
Field 'Slot a b -> bp -> Raw a ('Mut s) -> m ()
GH.encodeField forall a. IsLabel "sealFor" a => a
#sealFor Parsed owner
sealFor Raw (Persistent'SaveParams sturdyRef owner) ('Mut s)
raw_)
        (forall (f :: * -> *) a. Applicative f => a -> f a
Std_.pure ())
        )
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (GH.HasField "sealFor" GH.Slot (Persistent'SaveParams sturdyRef owner) owner) where
    fieldByLabel :: Field 'Slot (Persistent'SaveParams sturdyRef owner) owner
fieldByLabel  = (forall a b. IsPtr b => Word16 -> Field 'Slot a b
GH.ptrField Word16
0)
data Persistent'SaveResults sturdyRef owner
type instance (R.ReprFor (Persistent'SaveResults sturdyRef owner)) = (R.Ptr (Std_.Just R.Struct))
instance (C.HasTypeId (Persistent'SaveResults sturdyRef owner)) where
    typeId :: Word64
typeId  = Word64
13215893102637674431
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.TypedStruct (Persistent'SaveResults sturdyRef owner)) where
    numStructWords :: Word16
numStructWords  = Word16
0
    numStructPtrs :: Word16
numStructPtrs  = Word16
1
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.Allocate (Persistent'SaveResults sturdyRef owner)) where
    type AllocHint (Persistent'SaveResults sturdyRef owner) = ()
    new :: forall (m :: * -> *) s.
RWCtx m s =>
AllocHint (Persistent'SaveResults sturdyRef owner)
-> Message ('Mut s)
-> m (Raw (Persistent'SaveResults sturdyRef owner) ('Mut s))
new AllocHint (Persistent'SaveResults sturdyRef owner)
_ = forall a (m :: * -> *) s.
(TypedStruct a, RWCtx m s) =>
Message ('Mut s) -> m (Raw a ('Mut s))
C.newTypedStruct
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.EstimateAlloc (Persistent'SaveResults sturdyRef owner) (C.Parsed (Persistent'SaveResults sturdyRef owner)))
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.AllocateList (Persistent'SaveResults sturdyRef owner)) where
    type ListAllocHint (Persistent'SaveResults sturdyRef owner) = Std_.Int
    newList :: forall (m :: * -> *) s.
RWCtx m s =>
ListAllocHint (Persistent'SaveResults sturdyRef owner)
-> Message ('Mut s)
-> m (Raw (List (Persistent'SaveResults sturdyRef owner)) ('Mut s))
newList  = forall a (m :: * -> *) s.
(TypedStruct a, RWCtx m s) =>
Int -> Message ('Mut s) -> m (Raw (List a) ('Mut s))
C.newTypedStructList
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.EstimateListAlloc (Persistent'SaveResults sturdyRef owner) (C.Parsed (Persistent'SaveResults sturdyRef owner)))
data instance C.Parsed (Persistent'SaveResults sturdyRef owner)
    = Persistent'SaveResults 
        {forall sturdyRef owner.
Parsed (Persistent'SaveResults sturdyRef owner) -> Parsed sturdyRef
sturdyRef :: (RP.Parsed sturdyRef)}
    deriving(forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall sturdyRef owner x.
Rep (Parsed (Persistent'SaveResults sturdyRef owner)) x
-> Parsed (Persistent'SaveResults sturdyRef owner)
forall sturdyRef owner x.
Parsed (Persistent'SaveResults sturdyRef owner)
-> Rep (Parsed (Persistent'SaveResults sturdyRef owner)) x
$cto :: forall sturdyRef owner x.
Rep (Parsed (Persistent'SaveResults sturdyRef owner)) x
-> Parsed (Persistent'SaveResults sturdyRef owner)
$cfrom :: forall sturdyRef owner x.
Parsed (Persistent'SaveResults sturdyRef owner)
-> Rep (Parsed (Persistent'SaveResults sturdyRef owner)) x
Generics.Generic)
deriving instance ((Std_.Show (RP.Parsed sturdyRef))
                  ,(Std_.Show (RP.Parsed owner))) => (Std_.Show (C.Parsed (Persistent'SaveResults sturdyRef owner)))
deriving instance ((Std_.Eq (RP.Parsed sturdyRef))
                  ,(Std_.Eq (RP.Parsed owner))) => (Std_.Eq (C.Parsed (Persistent'SaveResults sturdyRef owner)))
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.Parse (Persistent'SaveResults sturdyRef owner) (C.Parsed (Persistent'SaveResults sturdyRef owner))) where
    parse :: forall (m :: * -> *).
ReadCtx m 'Const =>
Raw (Persistent'SaveResults sturdyRef owner) 'Const
-> m (Parsed (Persistent'SaveResults sturdyRef owner))
parse Raw (Persistent'SaveResults sturdyRef owner) 'Const
raw_ = (forall sturdyRef owner.
Parsed sturdyRef -> Parsed (Persistent'SaveResults sturdyRef owner)
Persistent'SaveResults forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (forall a b bp (m :: * -> *) (k :: FieldKind).
(IsStruct a, Parse b bp, ReadCtx m 'Const) =>
Field k a b -> Raw a 'Const -> m bp
GH.parseField forall a. IsLabel "sturdyRef" a => a
#sturdyRef Raw (Persistent'SaveResults sturdyRef owner) 'Const
raw_))
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (C.Marshal (Persistent'SaveResults sturdyRef owner) (C.Parsed (Persistent'SaveResults sturdyRef owner))) where
    marshalInto :: forall (m :: * -> *) s.
RWCtx m s =>
Raw (Persistent'SaveResults sturdyRef owner) ('Mut s)
-> Parsed (Persistent'SaveResults sturdyRef owner) -> m ()
marshalInto Raw (Persistent'SaveResults sturdyRef owner) ('Mut s)
raw_ Persistent'SaveResults{Parsed sturdyRef
sturdyRef :: Parsed sturdyRef
$sel:sturdyRef:Persistent'SaveResults :: forall sturdyRef owner.
Parsed (Persistent'SaveResults sturdyRef owner) -> Parsed sturdyRef
..} = (do
        (forall a b (m :: * -> *) s bp.
(IsStruct a, Parse b bp, RWCtx m s) =>
Field 'Slot a b -> bp -> Raw a ('Mut s) -> m ()
GH.encodeField forall a. IsLabel "sturdyRef" a => a
#sturdyRef Parsed sturdyRef
sturdyRef Raw (Persistent'SaveResults sturdyRef owner) ('Mut s)
raw_)
        (forall (f :: * -> *) a. Applicative f => a -> f a
Std_.pure ())
        )
instance ((GH.TypeParam sturdyRef)
         ,(GH.TypeParam owner)) => (GH.HasField "sturdyRef" GH.Slot (Persistent'SaveResults sturdyRef owner) sturdyRef) where
    fieldByLabel :: Field 'Slot (Persistent'SaveResults sturdyRef owner) sturdyRef
fieldByLabel  = (forall a b. IsPtr b => Word16 -> Field 'Slot a b
GH.ptrField Word16
0)
data RealmGateway internalRef externalRef internalOwner externalOwner
type instance (R.ReprFor (RealmGateway internalRef externalRef internalOwner externalOwner)) = (R.Ptr (Std_.Just R.Cap))
instance (C.HasTypeId (RealmGateway internalRef externalRef internalOwner externalOwner)) where
    typeId :: Word64
typeId  = Word64
9583422979879616212
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.Parse (RealmGateway internalRef externalRef internalOwner externalOwner) (GH.Client (RealmGateway internalRef externalRef internalOwner externalOwner))) where
    parse :: forall (m :: * -> *).
ReadCtx m 'Const =>
Raw
  (RealmGateway internalRef externalRef internalOwner externalOwner)
  'Const
-> m (Client
        (RealmGateway internalRef externalRef internalOwner externalOwner))
parse  = forall a (m :: * -> *).
(IsCap a, ReadCtx m 'Const) =>
Raw a 'Const -> m (Client a)
GH.parseCap
    encode :: forall (m :: * -> *) s.
RWCtx m s =>
Message ('Mut s)
-> Client
     (RealmGateway internalRef externalRef internalOwner externalOwner)
-> m (Raw
        (RealmGateway internalRef externalRef internalOwner externalOwner)
        ('Mut s))
encode  = forall a (m :: * -> *) s.
(IsCap a, RWCtx m s) =>
Message ('Mut s) -> Client a -> m (Raw a ('Mut s))
GH.encodeCap
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (GH.Export (RealmGateway internalRef externalRef internalOwner externalOwner)) where
    type Server (RealmGateway internalRef externalRef internalOwner externalOwner) = (RealmGateway'server_ internalRef externalRef internalOwner externalOwner)
    methodHandlerTree :: forall s.
Server
  (RealmGateway internalRef externalRef internalOwner externalOwner)
  s =>
Proxy
  (RealmGateway internalRef externalRef internalOwner externalOwner)
-> s -> MethodHandlerTree
methodHandlerTree Proxy
  (RealmGateway internalRef externalRef internalOwner externalOwner)
_ s
s_ = (Word64
-> [UntypedMethodHandler]
-> [MethodHandlerTree]
-> MethodHandlerTree
GH.MethodHandlerTree (forall a. HasTypeId a => Word64
C.typeId @((RealmGateway internalRef externalRef internalOwner externalOwner))) [(forall p r.
(IsStruct p, IsStruct r) =>
MethodHandler p r -> UntypedMethodHandler
GH.toUntypedMethodHandler ((forall internalRef externalRef internalOwner externalOwner s_.
RealmGateway'server_
  internalRef externalRef internalOwner externalOwner s_ =>
s_
-> MethodHandler
     (RealmGateway'import'params
        internalRef externalRef internalOwner externalOwner)
     (Persistent'SaveResults internalRef internalOwner)
realmGateway'import_ @(internalRef) @(externalRef) @(internalOwner) @(externalOwner)) s
s_))
                                                                                                                                    ,(forall p r.
(IsStruct p, IsStruct r) =>
MethodHandler p r -> UntypedMethodHandler
GH.toUntypedMethodHandler ((forall internalRef externalRef internalOwner externalOwner s_.
RealmGateway'server_
  internalRef externalRef internalOwner externalOwner s_ =>
s_
-> MethodHandler
     (RealmGateway'export'params
        internalRef externalRef internalOwner externalOwner)
     (Persistent'SaveResults externalRef externalOwner)
realmGateway'export @(internalRef) @(externalRef) @(internalOwner) @(externalOwner)) s
s_))] [])
class (RealmGateway'server_ internalRef externalRef internalOwner externalOwner s_) where
    {-# MINIMAL realmGateway'import_,realmGateway'export #-}
    realmGateway'import_ :: s_ -> (GH.MethodHandler (RealmGateway'import'params internalRef externalRef internalOwner externalOwner) (Persistent'SaveResults internalRef internalOwner))
    realmGateway'import_ s_
_ = forall p r. MethodHandler p r
GH.methodUnimplemented
    realmGateway'export :: s_ -> (GH.MethodHandler (RealmGateway'export'params internalRef externalRef internalOwner externalOwner) (Persistent'SaveResults externalRef externalOwner))
    realmGateway'export s_
_ = forall p r. MethodHandler p r
GH.methodUnimplemented
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (GH.HasMethod "import_" (RealmGateway internalRef externalRef internalOwner externalOwner) (RealmGateway'import'params internalRef externalRef internalOwner externalOwner) (Persistent'SaveResults internalRef internalOwner)) where
    methodByLabel :: Method
  (RealmGateway internalRef externalRef internalOwner externalOwner)
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  (Persistent'SaveResults internalRef internalOwner)
methodByLabel  = (forall c p r. Word64 -> Word16 -> Method c p r
GH.Method Word64
9583422979879616212 Word16
0)
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (GH.HasMethod "export" (RealmGateway internalRef externalRef internalOwner externalOwner) (RealmGateway'export'params internalRef externalRef internalOwner externalOwner) (Persistent'SaveResults externalRef externalOwner)) where
    methodByLabel :: Method
  (RealmGateway internalRef externalRef internalOwner externalOwner)
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  (Persistent'SaveResults externalRef externalOwner)
methodByLabel  = (forall c p r. Word64 -> Word16 -> Method c p r
GH.Method Word64
9583422979879616212 Word16
1)
data RealmGateway'import'params internalRef externalRef internalOwner externalOwner
type instance (R.ReprFor (RealmGateway'import'params internalRef externalRef internalOwner externalOwner)) = (R.Ptr (Std_.Just R.Struct))
instance (C.HasTypeId (RealmGateway'import'params internalRef externalRef internalOwner externalOwner)) where
    typeId :: Word64
typeId  = Word64
17348653140467603277
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.TypedStruct (RealmGateway'import'params internalRef externalRef internalOwner externalOwner)) where
    numStructWords :: Word16
numStructWords  = Word16
0
    numStructPtrs :: Word16
numStructPtrs  = Word16
2
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.Allocate (RealmGateway'import'params internalRef externalRef internalOwner externalOwner)) where
    type AllocHint (RealmGateway'import'params internalRef externalRef internalOwner externalOwner) = ()
    new :: forall (m :: * -> *) s.
RWCtx m s =>
AllocHint
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
-> Message ('Mut s)
-> m (Raw
        (RealmGateway'import'params
           internalRef externalRef internalOwner externalOwner)
        ('Mut s))
new AllocHint
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
_ = forall a (m :: * -> *) s.
(TypedStruct a, RWCtx m s) =>
Message ('Mut s) -> m (Raw a ('Mut s))
C.newTypedStruct
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.EstimateAlloc (RealmGateway'import'params internalRef externalRef internalOwner externalOwner) (C.Parsed (RealmGateway'import'params internalRef externalRef internalOwner externalOwner)))
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.AllocateList (RealmGateway'import'params internalRef externalRef internalOwner externalOwner)) where
    type ListAllocHint (RealmGateway'import'params internalRef externalRef internalOwner externalOwner) = Std_.Int
    newList :: forall (m :: * -> *) s.
RWCtx m s =>
ListAllocHint
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
-> Message ('Mut s)
-> m (Raw
        (List
           (RealmGateway'import'params
              internalRef externalRef internalOwner externalOwner))
        ('Mut s))
newList  = forall a (m :: * -> *) s.
(TypedStruct a, RWCtx m s) =>
Int -> Message ('Mut s) -> m (Raw (List a) ('Mut s))
C.newTypedStructList
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.EstimateListAlloc (RealmGateway'import'params internalRef externalRef internalOwner externalOwner) (C.Parsed (RealmGateway'import'params internalRef externalRef internalOwner externalOwner)))
data instance C.Parsed (RealmGateway'import'params internalRef externalRef internalOwner externalOwner)
    = RealmGateway'import'params 
        {forall internalRef externalRef internalOwner externalOwner.
Parsed
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
-> Parsed (Persistent externalRef externalOwner)
cap :: (RP.Parsed (Persistent externalRef externalOwner))
        ,forall internalRef externalRef internalOwner externalOwner.
Parsed
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
-> Parsed (Persistent'SaveParams internalRef internalOwner)
params :: (RP.Parsed (Persistent'SaveParams internalRef internalOwner))}
    deriving(forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall internalRef externalRef internalOwner externalOwner x.
Rep
  (Parsed
     (RealmGateway'import'params
        internalRef externalRef internalOwner externalOwner))
  x
-> Parsed
     (RealmGateway'import'params
        internalRef externalRef internalOwner externalOwner)
forall internalRef externalRef internalOwner externalOwner x.
Parsed
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
-> Rep
     (Parsed
        (RealmGateway'import'params
           internalRef externalRef internalOwner externalOwner))
     x
$cto :: forall internalRef externalRef internalOwner externalOwner x.
Rep
  (Parsed
     (RealmGateway'import'params
        internalRef externalRef internalOwner externalOwner))
  x
-> Parsed
     (RealmGateway'import'params
        internalRef externalRef internalOwner externalOwner)
$cfrom :: forall internalRef externalRef internalOwner externalOwner x.
Parsed
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
-> Rep
     (Parsed
        (RealmGateway'import'params
           internalRef externalRef internalOwner externalOwner))
     x
Generics.Generic)
deriving instance ((Std_.Show (RP.Parsed internalRef))
                  ,(Std_.Show (RP.Parsed externalRef))
                  ,(Std_.Show (RP.Parsed internalOwner))
                  ,(Std_.Show (RP.Parsed externalOwner))) => (Std_.Show (C.Parsed (RealmGateway'import'params internalRef externalRef internalOwner externalOwner)))
deriving instance ((Std_.Eq (RP.Parsed internalRef))
                  ,(Std_.Eq (RP.Parsed externalRef))
                  ,(Std_.Eq (RP.Parsed internalOwner))
                  ,(Std_.Eq (RP.Parsed externalOwner))) => (Std_.Eq (C.Parsed (RealmGateway'import'params internalRef externalRef internalOwner externalOwner)))
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.Parse (RealmGateway'import'params internalRef externalRef internalOwner externalOwner) (C.Parsed (RealmGateway'import'params internalRef externalRef internalOwner externalOwner))) where
    parse :: forall (m :: * -> *).
ReadCtx m 'Const =>
Raw
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  'Const
-> m (Parsed
        (RealmGateway'import'params
           internalRef externalRef internalOwner externalOwner))
parse Raw
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  'Const
raw_ = (forall internalRef externalRef internalOwner externalOwner.
Parsed (Persistent externalRef externalOwner)
-> Parsed (Persistent'SaveParams internalRef internalOwner)
-> Parsed
     (RealmGateway'import'params
        internalRef externalRef internalOwner externalOwner)
RealmGateway'import'params forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (forall a b bp (m :: * -> *) (k :: FieldKind).
(IsStruct a, Parse b bp, ReadCtx m 'Const) =>
Field k a b -> Raw a 'Const -> m bp
GH.parseField forall a. IsLabel "cap" a => a
#cap Raw
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  'Const
raw_)
                                             forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (forall a b bp (m :: * -> *) (k :: FieldKind).
(IsStruct a, Parse b bp, ReadCtx m 'Const) =>
Field k a b -> Raw a 'Const -> m bp
GH.parseField forall a. IsLabel "params" a => a
#params Raw
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  'Const
raw_))
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.Marshal (RealmGateway'import'params internalRef externalRef internalOwner externalOwner) (C.Parsed (RealmGateway'import'params internalRef externalRef internalOwner externalOwner))) where
    marshalInto :: forall (m :: * -> *) s.
RWCtx m s =>
Raw
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  ('Mut s)
-> Parsed
     (RealmGateway'import'params
        internalRef externalRef internalOwner externalOwner)
-> m ()
marshalInto Raw
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  ('Mut s)
raw_ RealmGateway'import'params{Parsed (Persistent'SaveParams internalRef internalOwner)
Parsed (Persistent externalRef externalOwner)
params :: Parsed (Persistent'SaveParams internalRef internalOwner)
cap :: Parsed (Persistent externalRef externalOwner)
$sel:params:RealmGateway'import'params :: forall internalRef externalRef internalOwner externalOwner.
Parsed
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
-> Parsed (Persistent'SaveParams internalRef internalOwner)
$sel:cap:RealmGateway'import'params :: forall internalRef externalRef internalOwner externalOwner.
Parsed
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
-> Parsed (Persistent externalRef externalOwner)
..} = (do
        (forall a b (m :: * -> *) s bp.
(IsStruct a, Parse b bp, RWCtx m s) =>
Field 'Slot a b -> bp -> Raw a ('Mut s) -> m ()
GH.encodeField forall a. IsLabel "cap" a => a
#cap Parsed (Persistent externalRef externalOwner)
cap Raw
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  ('Mut s)
raw_)
        (forall a b (m :: * -> *) s bp.
(IsStruct a, Parse b bp, RWCtx m s) =>
Field 'Slot a b -> bp -> Raw a ('Mut s) -> m ()
GH.encodeField forall a. IsLabel "params" a => a
#params Parsed (Persistent'SaveParams internalRef internalOwner)
params Raw
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  ('Mut s)
raw_)
        (forall (f :: * -> *) a. Applicative f => a -> f a
Std_.pure ())
        )
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (GH.HasField "cap" GH.Slot (RealmGateway'import'params internalRef externalRef internalOwner externalOwner) (Persistent externalRef externalOwner)) where
    fieldByLabel :: Field
  'Slot
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  (Persistent externalRef externalOwner)
fieldByLabel  = (forall a b. IsPtr b => Word16 -> Field 'Slot a b
GH.ptrField Word16
0)
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (GH.HasField "params" GH.Slot (RealmGateway'import'params internalRef externalRef internalOwner externalOwner) (Persistent'SaveParams internalRef internalOwner)) where
    fieldByLabel :: Field
  'Slot
  (RealmGateway'import'params
     internalRef externalRef internalOwner externalOwner)
  (Persistent'SaveParams internalRef internalOwner)
fieldByLabel  = (forall a b. IsPtr b => Word16 -> Field 'Slot a b
GH.ptrField Word16
1)
data RealmGateway'export'params internalRef externalRef internalOwner externalOwner
type instance (R.ReprFor (RealmGateway'export'params internalRef externalRef internalOwner externalOwner)) = (R.Ptr (Std_.Just R.Struct))
instance (C.HasTypeId (RealmGateway'export'params internalRef externalRef internalOwner externalOwner)) where
    typeId :: Word64
typeId  = Word64
17055027933458834346
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.TypedStruct (RealmGateway'export'params internalRef externalRef internalOwner externalOwner)) where
    numStructWords :: Word16
numStructWords  = Word16
0
    numStructPtrs :: Word16
numStructPtrs  = Word16
2
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.Allocate (RealmGateway'export'params internalRef externalRef internalOwner externalOwner)) where
    type AllocHint (RealmGateway'export'params internalRef externalRef internalOwner externalOwner) = ()
    new :: forall (m :: * -> *) s.
RWCtx m s =>
AllocHint
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
-> Message ('Mut s)
-> m (Raw
        (RealmGateway'export'params
           internalRef externalRef internalOwner externalOwner)
        ('Mut s))
new AllocHint
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
_ = forall a (m :: * -> *) s.
(TypedStruct a, RWCtx m s) =>
Message ('Mut s) -> m (Raw a ('Mut s))
C.newTypedStruct
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.EstimateAlloc (RealmGateway'export'params internalRef externalRef internalOwner externalOwner) (C.Parsed (RealmGateway'export'params internalRef externalRef internalOwner externalOwner)))
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.AllocateList (RealmGateway'export'params internalRef externalRef internalOwner externalOwner)) where
    type ListAllocHint (RealmGateway'export'params internalRef externalRef internalOwner externalOwner) = Std_.Int
    newList :: forall (m :: * -> *) s.
RWCtx m s =>
ListAllocHint
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
-> Message ('Mut s)
-> m (Raw
        (List
           (RealmGateway'export'params
              internalRef externalRef internalOwner externalOwner))
        ('Mut s))
newList  = forall a (m :: * -> *) s.
(TypedStruct a, RWCtx m s) =>
Int -> Message ('Mut s) -> m (Raw (List a) ('Mut s))
C.newTypedStructList
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.EstimateListAlloc (RealmGateway'export'params internalRef externalRef internalOwner externalOwner) (C.Parsed (RealmGateway'export'params internalRef externalRef internalOwner externalOwner)))
data instance C.Parsed (RealmGateway'export'params internalRef externalRef internalOwner externalOwner)
    = RealmGateway'export'params 
        {forall internalRef externalRef internalOwner externalOwner.
Parsed
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
-> Parsed (Persistent internalRef internalOwner)
cap :: (RP.Parsed (Persistent internalRef internalOwner))
        ,forall internalRef externalRef internalOwner externalOwner.
Parsed
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
-> Parsed (Persistent'SaveParams externalRef externalOwner)
params :: (RP.Parsed (Persistent'SaveParams externalRef externalOwner))}
    deriving(forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall internalRef externalRef internalOwner externalOwner x.
Rep
  (Parsed
     (RealmGateway'export'params
        internalRef externalRef internalOwner externalOwner))
  x
-> Parsed
     (RealmGateway'export'params
        internalRef externalRef internalOwner externalOwner)
forall internalRef externalRef internalOwner externalOwner x.
Parsed
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
-> Rep
     (Parsed
        (RealmGateway'export'params
           internalRef externalRef internalOwner externalOwner))
     x
$cto :: forall internalRef externalRef internalOwner externalOwner x.
Rep
  (Parsed
     (RealmGateway'export'params
        internalRef externalRef internalOwner externalOwner))
  x
-> Parsed
     (RealmGateway'export'params
        internalRef externalRef internalOwner externalOwner)
$cfrom :: forall internalRef externalRef internalOwner externalOwner x.
Parsed
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
-> Rep
     (Parsed
        (RealmGateway'export'params
           internalRef externalRef internalOwner externalOwner))
     x
Generics.Generic)
deriving instance ((Std_.Show (RP.Parsed internalRef))
                  ,(Std_.Show (RP.Parsed externalRef))
                  ,(Std_.Show (RP.Parsed internalOwner))
                  ,(Std_.Show (RP.Parsed externalOwner))) => (Std_.Show (C.Parsed (RealmGateway'export'params internalRef externalRef internalOwner externalOwner)))
deriving instance ((Std_.Eq (RP.Parsed internalRef))
                  ,(Std_.Eq (RP.Parsed externalRef))
                  ,(Std_.Eq (RP.Parsed internalOwner))
                  ,(Std_.Eq (RP.Parsed externalOwner))) => (Std_.Eq (C.Parsed (RealmGateway'export'params internalRef externalRef internalOwner externalOwner)))
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.Parse (RealmGateway'export'params internalRef externalRef internalOwner externalOwner) (C.Parsed (RealmGateway'export'params internalRef externalRef internalOwner externalOwner))) where
    parse :: forall (m :: * -> *).
ReadCtx m 'Const =>
Raw
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  'Const
-> m (Parsed
        (RealmGateway'export'params
           internalRef externalRef internalOwner externalOwner))
parse Raw
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  'Const
raw_ = (forall internalRef externalRef internalOwner externalOwner.
Parsed (Persistent internalRef internalOwner)
-> Parsed (Persistent'SaveParams externalRef externalOwner)
-> Parsed
     (RealmGateway'export'params
        internalRef externalRef internalOwner externalOwner)
RealmGateway'export'params forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (forall a b bp (m :: * -> *) (k :: FieldKind).
(IsStruct a, Parse b bp, ReadCtx m 'Const) =>
Field k a b -> Raw a 'Const -> m bp
GH.parseField forall a. IsLabel "cap" a => a
#cap Raw
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  'Const
raw_)
                                             forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (forall a b bp (m :: * -> *) (k :: FieldKind).
(IsStruct a, Parse b bp, ReadCtx m 'Const) =>
Field k a b -> Raw a 'Const -> m bp
GH.parseField forall a. IsLabel "params" a => a
#params Raw
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  'Const
raw_))
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (C.Marshal (RealmGateway'export'params internalRef externalRef internalOwner externalOwner) (C.Parsed (RealmGateway'export'params internalRef externalRef internalOwner externalOwner))) where
    marshalInto :: forall (m :: * -> *) s.
RWCtx m s =>
Raw
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  ('Mut s)
-> Parsed
     (RealmGateway'export'params
        internalRef externalRef internalOwner externalOwner)
-> m ()
marshalInto Raw
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  ('Mut s)
raw_ RealmGateway'export'params{Parsed (Persistent'SaveParams externalRef externalOwner)
Parsed (Persistent internalRef internalOwner)
params :: Parsed (Persistent'SaveParams externalRef externalOwner)
cap :: Parsed (Persistent internalRef internalOwner)
$sel:params:RealmGateway'export'params :: forall internalRef externalRef internalOwner externalOwner.
Parsed
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
-> Parsed (Persistent'SaveParams externalRef externalOwner)
$sel:cap:RealmGateway'export'params :: forall internalRef externalRef internalOwner externalOwner.
Parsed
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
-> Parsed (Persistent internalRef internalOwner)
..} = (do
        (forall a b (m :: * -> *) s bp.
(IsStruct a, Parse b bp, RWCtx m s) =>
Field 'Slot a b -> bp -> Raw a ('Mut s) -> m ()
GH.encodeField forall a. IsLabel "cap" a => a
#cap Parsed (Persistent internalRef internalOwner)
cap Raw
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  ('Mut s)
raw_)
        (forall a b (m :: * -> *) s bp.
(IsStruct a, Parse b bp, RWCtx m s) =>
Field 'Slot a b -> bp -> Raw a ('Mut s) -> m ()
GH.encodeField forall a. IsLabel "params" a => a
#params Parsed (Persistent'SaveParams externalRef externalOwner)
params Raw
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  ('Mut s)
raw_)
        (forall (f :: * -> *) a. Applicative f => a -> f a
Std_.pure ())
        )
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (GH.HasField "cap" GH.Slot (RealmGateway'export'params internalRef externalRef internalOwner externalOwner) (Persistent internalRef internalOwner)) where
    fieldByLabel :: Field
  'Slot
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  (Persistent internalRef internalOwner)
fieldByLabel  = (forall a b. IsPtr b => Word16 -> Field 'Slot a b
GH.ptrField Word16
0)
instance ((GH.TypeParam internalRef)
         ,(GH.TypeParam externalRef)
         ,(GH.TypeParam internalOwner)
         ,(GH.TypeParam externalOwner)) => (GH.HasField "params" GH.Slot (RealmGateway'export'params internalRef externalRef internalOwner externalOwner) (Persistent'SaveParams externalRef externalOwner)) where
    fieldByLabel :: Field
  'Slot
  (RealmGateway'export'params
     internalRef externalRef internalOwner externalOwner)
  (Persistent'SaveParams externalRef externalOwner)
fieldByLabel  = (forall a b. IsPtr b => Word16 -> Field 'Slot a b
GH.ptrField Word16
1)